WO2018225315A1 - Database management device, database management system, and database management method - Google Patents

Database management device, database management system, and database management method Download PDF

Info

Publication number
WO2018225315A1
WO2018225315A1 PCT/JP2018/008548 JP2018008548W WO2018225315A1 WO 2018225315 A1 WO2018225315 A1 WO 2018225315A1 JP 2018008548 W JP2018008548 W JP 2018008548W WO 2018225315 A1 WO2018225315 A1 WO 2018225315A1
Authority
WO
WIPO (PCT)
Prior art keywords
query
management unit
buffer
application
unit
Prior art date
Application number
PCT/JP2018/008548
Other languages
French (fr)
Japanese (ja)
Inventor
誠 嶋村
基孝 金松
Original Assignee
株式会社東芝
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 株式会社東芝 filed Critical 株式会社東芝
Publication of WO2018225315A1 publication Critical patent/WO2018225315A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Abstract

A database management device of an embodiment includes a transmission and reception management unit, a query execution unit, and a buffer management unit. The transmission and reception management unit receives a query from an application terminal and reads, from a buffer memory, a query result that is search target data of the query to transmit the read query result to the application terminal. The query execution unit acquires the query result by executing a process based on the query. The buffer management unit determines, on the basis of an evaluation value for communication with the application terminal, whether to store the query result acquired by the query execution unit in the buffer memory, when the communication with the application terminal is cut off.

Description

データベース管理装置、データベース管理システム、およびデータベース管理方法Database management apparatus, database management system, and database management method
 本発明の実施形態は、データベース管理装置、データベース管理システム、およびデータベース管理方法に関する。 Embodiments described herein relate generally to a database management device, a database management system, and a database management method.
 フィールドIoT(Internet of Things)の分野においては、データベース管理装置とアプリケーション端末とが接続されたデータベース管理システムが知られている。データベース管理システムにおいて、アプリケーション端末は、アプリケーションを実行し、データを要求するためのクエリをデータベース管理装置に送信する。一方、データベース管理装置は、アプリケーション端末から受信したクエリに基づく処理を実行してデータ(クエリ結果)を取得し、取得したデータをアプリケーション端末に送信する。 In the field of field IoT (Internet of Things), a database management system in which a database management device and an application terminal are connected is known. In the database management system, the application terminal executes the application and transmits a query for requesting data to the database management apparatus. On the other hand, the database management apparatus executes processing based on the query received from the application terminal to acquire data (query result), and transmits the acquired data to the application terminal.
 データベース管理システムのネットワーク接続環境が不安定な場合、データベース管理装置とアプリケーション端末との間の通信が突然切断される場合がある。この場合、データベース管理装置は、アプリケーション端末に送信できなかったクエリ結果を、カーネルのネットワーク層におけるバッファメモリに一時的に蓄積し、データベース管理装置とアプリケーション端末との間の通信が復旧した後で、クエリ結果をアプリケーション端末に再送信していた。 If the network connection environment of the database management system is unstable, communication between the database management device and the application terminal may be suddenly disconnected. In this case, the database management device temporarily stores the query result that could not be sent to the application terminal in the buffer memory in the kernel network layer, and after the communication between the database management device and the application terminal is restored, The query result was resent to the application terminal.
 しかしながら、データベース管理装置は、クエリ結果が取得された順にバッファメモリにクエリ結果を蓄積し、バッファメモリに蓄積されたクエリ結果のデータ量が所定量を超えると、データベース管理装置はバッファフルエラーとしてクエリに基づく処理を停止していた。このため、アプリケーションの都合に応じてクエリ結果を再送信できない場合があった。 However, the database management apparatus accumulates the query results in the buffer memory in the order in which the query results are acquired, and if the data amount of the query results stored in the buffer memory exceeds a predetermined amount, the database management apparatus performs a query as a buffer full error. The processing based on was stopped. For this reason, there are cases where the query result cannot be retransmitted depending on the convenience of the application.
特開2014-146291号公報JP 2014-146291 A
 本発明が解決しようとする課題は、データベース管理システムのネットワーク接続環境が不安定な場合であっても、アプリケーションの都合に応じてクエリ結果のデータを再送信することができるデータベース管理装置、データベース管理システム、およびデータベース管理方法を提供することである。 A problem to be solved by the present invention is a database management apparatus and database management capable of retransmitting query result data according to the convenience of an application even when the network connection environment of the database management system is unstable A system and a database management method are provided.
 実施形態のデータベース管理装置は、送受信管理部と、クエリ実行部と、バッファ管理部とを持つ。前記送受信管理部は、アプリケーションを実行するアプリケーション端末からクエリを受信するとともに、前記クエリの検索対象のデータであるクエリ結果をバッファメモリから読み出して前記アプリケーション端末に送信する。前記クエリ実行部は、前記送受信管理部によって受信された前記クエリに基づく処理を実行することにより、前記クエリ結果を取得する。前記バッファ管理部は、前記アプリケーション端末との通信が切断された場合に、前記クエリ実行部によって取得された前記クエリ結果を前記バッファメモリに記憶させるか否かを、前記アプリケーションとの通信に関する評価値に基づいて判定する。 The database management apparatus according to the embodiment includes a transmission / reception management unit, a query execution unit, and a buffer management unit. The transmission / reception management unit receives a query from an application terminal that executes an application, and reads a query result that is data to be searched for the query from a buffer memory and transmits the query result to the application terminal. The query execution unit acquires the query result by executing a process based on the query received by the transmission / reception management unit. The buffer management unit determines whether or not to store the query result acquired by the query execution unit in the buffer memory when communication with the application terminal is disconnected. Determine based on.
第1実施形態に係るデータベース管理システム10の全体構成を示すブロック図。1 is a block diagram showing the overall configuration of a database management system 10 according to a first embodiment. 第1実施形態に係るアプリケーション端末100とデータベース管理装置200の動作を説明するためのブロック図。The block diagram for demonstrating operation | movement of the application terminal 100 and database management apparatus 200 which concern on 1st Embodiment. 第1実施形態に係るテーブルT1の一例を示す図。The figure which shows an example of table T1 which concerns on 1st Embodiment. 第1実施形態に係るパケットの送信処理の一例を示す図。The figure which shows an example of the transmission process of the packet which concerns on 1st Embodiment. 第1実施形態に係るパケットの送信処理の一例を示す図。The figure which shows an example of the transmission process of the packet which concerns on 1st Embodiment. 第1実施形態に係るパケットの送信処理の一例を示す図。The figure which shows an example of the transmission process of the packet which concerns on 1st Embodiment. 第1実施形態に係るパケットの送信処理の一例を示す図。The figure which shows an example of the transmission process of the packet which concerns on 1st Embodiment. 第1実施形態に係るパケットの送信処理の一例を示す図。The figure which shows an example of the transmission process of the packet which concerns on 1st Embodiment. 第1実施形態に係る状態監視処理の詳細を示すフローチャート。The flowchart which shows the detail of the state monitoring process which concerns on 1st Embodiment. 第1実施形態に係る正常切断処理の詳細を示すフローチャート。The flowchart which shows the detail of the normal cutting process which concerns on 1st Embodiment. 第1実施形態に係るクエリ結果エントリ受取処理の詳細を示すフローチャート。6 is a flowchart showing details of query result entry reception processing according to the first embodiment. 第1実施形態に係るパケット作成処理の詳細を示すフローチャート。6 is a flowchart showing details of packet creation processing according to the first embodiment. 第1実施形態に係るエラー処理の詳細を示すフローチャート。6 is a flowchart showing details of error processing according to the first embodiment. 第1実施形態に係る送信継続処理の詳細を示すフローチャート。The flowchart which shows the detail of the transmission continuation process which concerns on 1st Embodiment. 第1実施形態に係るクエリ処理の詳細を示すフローチャート。The flowchart which shows the detail of the query process which concerns on 1st Embodiment. 第3実施形態に係るテーブルT2の一例を示す図。The figure which shows an example of table T2 which concerns on 3rd Embodiment. 第3実施形態に係るクエリ結果エントリ受取処理の詳細を示すフローチャート。14 is a flowchart showing details of query result entry reception processing according to the third embodiment. 第3実施形態に係るクエリ処理の詳細を示すフローチャート。The flowchart which shows the detail of the query process which concerns on 3rd Embodiment.
 以下、実施形態のデータベース管理装置、データベース管理システム、およびデータベース管理方法を、図面を参照して説明する。 Hereinafter, a database management device, a database management system, and a database management method of an embodiment will be described with reference to the drawings.
 (第1実施形態)
 図1は、第1実施形態に係るデータベース管理システム10の全体構成を示すブロック図である。データベース管理システム10は、データベース管理装置200と、複数のアプリケーション端末100-1、100-2、および100-3とを備える。図1において、3つのアプリケーション端末100-1、100-2、および100-3が示されているが、アプリケーション端末の数はこれに限られない。例えば、4つ以上のアプリケーション端末100がデータベース管理装置200に接続されてもよい。
(First embodiment)
FIG. 1 is a block diagram showing an overall configuration of a database management system 10 according to the first embodiment. The database management system 10 includes a database management apparatus 200 and a plurality of application terminals 100-1, 100-2, and 100-3. In FIG. 1, three application terminals 100-1, 100-2, and 100-3 are shown, but the number of application terminals is not limited to this. For example, four or more application terminals 100 may be connected to the database management apparatus 200.
 アプリケーション端末100-1、100-2、および100-3は、アプリケーションを実行し、データを要求するためのクエリをデータベース管理装置200に送信する端末である。アプリケーション端末100-1、100-2、および100-3は、デスクトップ型のコンピュータであるが、これに限られない。例えば、アプリケーション端末100は、ノート型のコンピュータ、タブレット端末、またはPDA(Personal Digital Assistant)であってもよい。 Application terminals 100-1, 100-2, and 100-3 are terminals that execute an application and transmit a query for requesting data to the database management apparatus 200. The application terminals 100-1, 100-2, and 100-3 are desktop computers, but are not limited thereto. For example, the application terminal 100 may be a notebook computer, a tablet terminal, or a PDA (Personal Digital Assistant).
 データベース管理装置200は、アプリケーション端末100-1、100-2、および100-3からクエリを受信するとともに、クエリの検索対象のデータであるクエリ結果を、アプリケーション端末100-1、100-2、および100-3に送信する装置である。例えば、データベース管理装置200は、日々の消費電力データを蓄積するスマートメータであるが、これに限られない。データベース管理装置200は、ネットワークNWを介して複数のアプリケーション端末100-1、100-2、および100-3に接続されている。ネットワークNWは、例えば、WAN(Wide Area Network)やLAN(Local Area Network)、インターネット、プロバイダ装置、無線基地局、専用回線などのうち一部または全部を含む。 The database management apparatus 200 receives queries from the application terminals 100-1, 100-2, and 100-3, and sends query results that are data to be searched for the queries to the application terminals 100-1, 100-2, and This is a device that transmits to 100-3. For example, the database management apparatus 200 is a smart meter that accumulates daily power consumption data, but is not limited thereto. The database management apparatus 200 is connected to a plurality of application terminals 100-1, 100-2, and 100-3 via a network NW. The network NW includes, for example, a part or all of a WAN (Wide Area Network), a LAN (Local Area Network), the Internet, a provider device, a wireless base station, a dedicated line, and the like.
 図2は、第1実施形態に係るアプリケーション端末100とデータベース管理装置200の動作を説明するためのブロック図である。アプリケーション端末100-1、100-2、および100-3は同様の動作を行うため、図2においては、これらをまとめてアプリケーション端末100として説明する。 FIG. 2 is a block diagram for explaining operations of the application terminal 100 and the database management apparatus 200 according to the first embodiment. Since application terminals 100-1, 100-2, and 100-3 perform the same operation, they will be collectively described as application terminal 100 in FIG.
 アプリケーション端末100は、アプリケーション実行部110と、パケットサイズ決定部120とを備える。アプリケーション実行部110およびパケットサイズ決定部120は、CPU(Central Processing Unit)等のプロセッサが、プログラムメモリに記憶されたプログラムを実行することで実現される。なお、アプリケーション実行部110およびパケットサイズ決定部120は、プロセッサがプログラムを実行するのと同様の機能を有するLSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、およびFPGA(Field-Programmable Gate Array)等のハードウェアにより実現されてもよい。 The application terminal 100 includes an application execution unit 110 and a packet size determination unit 120. The application execution unit 110 and the packet size determination unit 120 are realized by a processor such as a CPU (Central Processing Unit) executing a program stored in a program memory. Note that the application execution unit 110 and the packet size determination unit 120 include an LSI (Large Scale Integration), an ASIC (Application Specific Integrated Circuit), and an FPGA (Field-Programmable Gate Array) that have the same functions as a processor executing a program. ) Or the like.
 データベース管理装置200は、送受信管理部210と、接続管理部230と、クエリ実行部240と、バッファ管理部250と、通信品質判定部260と、バッファメモリ270と、記憶部280とを備える。送受信管理部210、接続管理部230、クエリ実行部240、バッファ管理部250、および通信品質判定部260は、CPU等のプロセッサが、プログラムメモリに記憶されたプログラムを実行することで実現される。なお、送受信管理部210、接続管理部230、クエリ実行部240、バッファ管理部250、および通信品質判定部260は、プロセッサがプログラムを実行するのと同様の機能を有するLSI、ASIC、およびFPGA等のハードウェアにより実現されてもよい。 The database management apparatus 200 includes a transmission / reception management unit 210, a connection management unit 230, a query execution unit 240, a buffer management unit 250, a communication quality determination unit 260, a buffer memory 270, and a storage unit 280. The transmission / reception management unit 210, the connection management unit 230, the query execution unit 240, the buffer management unit 250, and the communication quality determination unit 260 are realized by a processor such as a CPU executing a program stored in a program memory. The transmission / reception management unit 210, the connection management unit 230, the query execution unit 240, the buffer management unit 250, and the communication quality determination unit 260 are an LSI, an ASIC, an FPGA, or the like that has the same function as a processor that executes a program. It may be realized by hardware.
 バッファメモリ270および記憶部280は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。また、バッファメモリ270および記憶部280の一部または全部は、NAS(NetworkAttached Storage)や外部のストレージサーバなど、データベース管理装置200がアクセス可能な外部装置であってもよい。 The buffer memory 270 and the storage unit 280 are, for example, a RAM (Random Access Memory), a ROM (Read Only Memory), an HDD (Hard Disk Drive), a flash memory, or a hybrid storage device in which a plurality of these are combined. Realized. Further, some or all of the buffer memory 270 and the storage unit 280 may be external devices accessible by the database management apparatus 200, such as NAS (Network Attached Storage) or an external storage server.
 記憶部280には、様々なデータが蓄積される。例えば、スマートメータの場合、日々の消費電力データが記憶部280に蓄積される。記憶部280に記憶されるデータは、消費電力データに限られず、どのようなデータであってもよい。なお、記憶部280には、テーブル形式でデータが記憶されている。 The storage unit 280 stores various data. For example, in the case of a smart meter, daily power consumption data is accumulated in the storage unit 280. The data stored in the storage unit 280 is not limited to the power consumption data, and any data may be used. The storage unit 280 stores data in a table format.
 接続管理部230は、アプリケーション端末100とデータベース管理装置200との間の接続を管理する。接続管理部230は、パケットサイズ決定部231を備える。パケットサイズ決定部231は、アプリケーション端末100のパケットサイズ決定部120とネゴシエーションを行って、データベース管理装置200とアプリケーション端末100との間で使用可能な最大パケットサイズを決定する。例えば、最大パケットサイズは、Path MTU Discovery等の技術を利用して求められてもよいし、予め決定されてもよい。 The connection management unit 230 manages the connection between the application terminal 100 and the database management apparatus 200. The connection management unit 230 includes a packet size determination unit 231. The packet size determination unit 231 negotiates with the packet size determination unit 120 of the application terminal 100 to determine the maximum packet size that can be used between the database management apparatus 200 and the application terminal 100. For example, the maximum packet size may be obtained using a technique such as Path MTU Discovery or may be determined in advance.
 アプリケーション端末100のアプリケーション実行部110は、アプリケーションを実行し、データを要求するためのクエリをデータベース管理装置200に送信する。データベース管理装置200の送受信管理部210は、アプリケーション端末100から受信したクエリを、接続管理部230に出力する。接続管理部230は、送受信管理部210から入力されたクエリを、クエリ実行部240に出力する。 The application execution unit 110 of the application terminal 100 executes the application and transmits a query for requesting data to the database management apparatus 200. The transmission / reception management unit 210 of the database management apparatus 200 outputs the query received from the application terminal 100 to the connection management unit 230. The connection management unit 230 outputs the query input from the transmission / reception management unit 210 to the query execution unit 240.
 クエリ実行部240は、接続管理部230から入力されたクエリに基づく処理を実行することにより、記憶部280からクエリ結果を取得する。クエリ実行部240が、取得したクエリ結果をバッファ管理部250に出力する。 The query execution unit 240 acquires a query result from the storage unit 280 by executing a process based on the query input from the connection management unit 230. The query execution unit 240 outputs the acquired query result to the buffer management unit 250.
 一方、送受信管理部210は、クエリ結果をアプリケーション端末100に送信するために必要なヘッダ情報を、バッファ管理部250に出力する。例えば、ヘッダ情報は、クエリ結果の送信先のアドレス情報である。バッファ管理部250は、クエリ実行部240から入力されたクエリ結果に対して、送受信管理部210から入力されたヘッダ情報を付加してパケットを生成する。 On the other hand, the transmission / reception management unit 210 outputs the header information necessary for transmitting the query result to the application terminal 100 to the buffer management unit 250. For example, the header information is address information of the transmission destination of the query result. The buffer management unit 250 adds the header information input from the transmission / reception management unit 210 to the query result input from the query execution unit 240 to generate a packet.
 具体的に、バッファ管理部250は、パケットサイズ決定部231によって決定された最大パケットサイズに収まる範囲内で、クエリ結果の1以上のレコードにヘッダ情報が付加されたパケットを生成する。バッファ管理部250は、生成したパケットをバッファメモリ270に記憶する。また、バッファ管理部250は、パケットの送信要求を送受信管理部210に出力する。 Specifically, the buffer management unit 250 generates a packet in which header information is added to one or more records of the query result within a range that fits within the maximum packet size determined by the packet size determination unit 231. The buffer management unit 250 stores the generated packet in the buffer memory 270. Further, the buffer management unit 250 outputs a packet transmission request to the transmission / reception management unit 210.
 送受信管理部210は、バッファ管理部250から入力されたパケットの送信要求に基づき、送信要求によって指定されるパケットを、バッファメモリ270から読み出す。その後、送受信管理部210は、バッファメモリ270から読み出したパケットをアプリケーション端末に送信する。 The transmission / reception management unit 210 reads the packet specified by the transmission request from the buffer memory 270 based on the packet transmission request input from the buffer management unit 250. Thereafter, the transmission / reception management unit 210 transmits the packet read from the buffer memory 270 to the application terminal.
 なお、アプリケーション端末100とデータベース管理装置200との間の通信が異常切断された場合、クエリ結果のパケットがアプリケーション端末100に送信されず、バッファメモリ270に蓄積されることになる。このため、バッファ管理部250は、テーブルT1を用いてバッファメモリ270に記憶されるデータを管理する。 Note that, when communication between the application terminal 100 and the database management apparatus 200 is abnormally disconnected, the query result packet is not transmitted to the application terminal 100 but is stored in the buffer memory 270. Therefore, the buffer management unit 250 manages the data stored in the buffer memory 270 using the table T1.
 図3は、第1実施形態に係るテーブルT1の一例を示す図である。テーブルT1は、接続元IDと、通信品質と、接続状態と、蓄積許可割合と、バッファ使用量と、カウント値とが対応付けられたテーブルである。 FIG. 3 is a diagram illustrating an example of the table T1 according to the first embodiment. The table T1 is a table in which the connection source ID, communication quality, connection state, accumulation permission ratio, buffer usage amount, and count value are associated with each other.
 接続元IDは、データベース管理装置200に接続されたアプリケーション端末100の識別情報である。例えば、接続元IDは、IPアドレスとポート番号とを含む情報である。通信品質は、データベース管理装置200とアプリケーション端末100との間の通信回線の品質を示す情報である。通信品質は、「0」から「3」のいずれかの値であり、値が小さいほど通信回線の品質が良いことを表す。例えば、「0」は、通信品質が最も良く、異常切断が発生し難いことを示す。一方、「3」は、通信品質が最も悪く、異常切断が発生し易いことを示す。詳細は後述するが、通信品質は、通信品質判定部260によって判定される。 The connection source ID is identification information of the application terminal 100 connected to the database management apparatus 200. For example, the connection source ID is information including an IP address and a port number. The communication quality is information indicating the quality of the communication line between the database management apparatus 200 and the application terminal 100. The communication quality is any value from “0” to “3”, and the smaller the value, the better the quality of the communication line. For example, “0” indicates that the communication quality is the best and abnormal disconnection hardly occurs. On the other hand, “3” indicates that the communication quality is the worst and abnormal disconnection is likely to occur. Although details will be described later, the communication quality is determined by the communication quality determination unit 260.
 接続状態は、データベース管理装置200とアプリケーション端末100との間の通信が、「接続中」であるのか、または「異常切断中」であるのかを示す情報である。蓄積許可割合は、バッファメモリ270への蓄積を許可されたデータ量の割合を示す情報である。なお、蓄積許可割合が「0%」であっても、パケットを送信するために、最低1パケット分のデータをバッファメモリ270に蓄積することは許可されている。 The connection state is information indicating whether the communication between the database management apparatus 200 and the application terminal 100 is “connected” or “abnormally disconnected”. The accumulation permission ratio is information indicating the ratio of the amount of data permitted to be accumulated in the buffer memory 270. Even when the accumulation permission ratio is “0%”, it is permitted to accumulate at least one packet of data in the buffer memory 270 in order to transmit a packet.
 バッファ使用量は、実際に使用しているバッファメモリ270におけるデータ量を示す情報である。カウント値は、通信品質を算出するために用いられる値であり、詳細は後述する。 The buffer usage amount is information indicating the data amount in the buffer memory 270 that is actually used. The count value is a value used for calculating the communication quality, and details will be described later.
 接続元IDは6バイトであり、通信品質は2ビットであり、接続状態は1ビットであり、蓄積許可割合は6ビット(上限値:100)であり、バッファ使用量は6ビット(上限値:100)であり、カウント値は2バイトである。このため、テーブルT1における1つのエントリは、合計10バイトで構成される。 The connection source ID is 6 bytes, the communication quality is 2 bits, the connection state is 1 bit, the storage permission ratio is 6 bits (upper limit: 100), and the buffer usage is 6 bits (upper limit: 100) and the count value is 2 bytes. For this reason, one entry in the table T1 is composed of a total of 10 bytes.
 データベース管理装置200とアプリケーション端末100と間の通信が切断された場合、バッファ管理部250は、クエリ実行部240によって取得されたクエリ結果のパケットをバッファメモリ270に記憶させるか否かを、テーブルT1を用いて判定する。以下、具体的な処理について説明する。 When the communication between the database management device 200 and the application terminal 100 is disconnected, the buffer management unit 250 determines whether or not to store the query result packet acquired by the query execution unit 240 in the buffer memory 270, in the table T1. Determine using. Specific processing will be described below.
 図4から図8は、第1実施形態に係るパケットの送信処理の一例を示す図である。図4から図8においては、一例として、データベース管理装置200が3つのアプリケーションA1、A2、およびA3にパケットを送信する場合が示されている。 4 to 8 are diagrams illustrating an example of packet transmission processing according to the first embodiment. 4 to 8 show, as an example, a case where the database management apparatus 200 transmits a packet to three applications A1, A2, and A3.
 図4から図8に示される例において、アプリケーションA1の通信品質は「1」であり、蓄積許可割合は「0%」である。アプリケーションA2の通信品質は「0」であり、蓄積許可割合は「0%」である。アプリケーションA3の通信品質は「2」であり、蓄積許可割合は「0%」である。 4 to 8, the communication quality of the application A1 is “1”, and the accumulation permission ratio is “0%”. The communication quality of the application A2 is “0”, and the accumulation permission ratio is “0%”. The communication quality of the application A3 is “2”, and the accumulation permission ratio is “0%”.
 まず、図4において、データベース管理装置200とアプリケーションA1、A2、およびA3は、正常に接続されている。このため、バッファ管理部250によってバッファメモリ270に格納されたパケットは、直ちに送受信管理部210によってアプリケーションA1、A2、およびA3の何れかに送信され、送信されたパケットはバッファメモリ270から消去される。前述したように、蓄積許可割合は「0%」となっているが、最低1パケット分はバッファメモリ270の使用が許可されている。したがって、バッファメモリ270にパケットが蓄積され続けることはない。 First, in FIG. 4, the database management apparatus 200 and the applications A1, A2, and A3 are normally connected. Therefore, the packet stored in the buffer memory 270 by the buffer management unit 250 is immediately transmitted to any of the applications A1, A2, and A3 by the transmission / reception management unit 210, and the transmitted packet is deleted from the buffer memory 270. . As described above, the accumulation permission ratio is “0%”, but the use of the buffer memory 270 is permitted for at least one packet. Therefore, packets are not continuously stored in the buffer memory 270.
 図5は、データベース管理装置200とアプリケーションA2との間の通信が異常切断された場合を示す。この場合、送受信管理部210は、アプリケーションA2にパケットを送信することができない。 FIG. 5 shows a case where communication between the database management apparatus 200 and the application A2 is abnormally disconnected. In this case, the transmission / reception management unit 210 cannot transmit a packet to the application A2.
 このため、バッファ管理部250は、B1に示されるように、テーブルT1におけるアプリケーションA2についての蓄積許可割合を「0%」から「100%」に変更する。これによって、データベース管理装置200とアプリケーションA2との間の通信が復旧するまで、アプリケーションA2についてのパケットがバッファメモリ270に蓄積され続ける。 Therefore, as shown in B1, the buffer management unit 250 changes the accumulation permission ratio for the application A2 in the table T1 from “0%” to “100%”. Thus, packets for the application A2 continue to be accumulated in the buffer memory 270 until communication between the database management apparatus 200 and the application A2 is restored.
 図6は、図5に示される状態から更に、データベース管理装置200とアプリケーションA3との間の通信が異常切断された場合を示す。この場合、送受信管理部210は、アプリケーションA2だけでなく、アプリケーションA3にもパケットを送信することができない。 FIG. 6 shows a case where communication between the database management apparatus 200 and the application A3 is abnormally disconnected from the state shown in FIG. In this case, the transmission / reception management unit 210 cannot transmit a packet not only to the application A2 but also to the application A3.
 このため、バッファ管理部250は、テーブルT1における蓄積許可割合を更新する。具体的には、バッファ管理部250は、各アプリケーションの通信品質を、通信が切断されているアプリケーションの通信品質の合計値で除算することによって、蓄積許可割合を算出する。 Therefore, the buffer management unit 250 updates the accumulation permission ratio in the table T1. Specifically, the buffer management unit 250 calculates the accumulation permission ratio by dividing the communication quality of each application by the total value of the communication quality of the applications for which communication is disconnected.
 図6に示される例においては、アプリケーションA2の通信品質が「0」であり、アプリケーションA3の通信品質が「2」である。このため、バッファ管理部250は、B2に示されるように、テーブルT1におけるアプリケーションA2についての蓄積許可割合を「100%」から「0%」に変更する。また、バッファ管理部250は、B3に示されるように、テーブルT1におけるアプリケーションA3についての蓄積許可割合を「0%」から「100%」に変更する。 6, the communication quality of the application A2 is “0”, and the communication quality of the application A3 is “2”. Therefore, the buffer management unit 250 changes the accumulation permission ratio for the application A2 in the table T1 from “100%” to “0%” as shown in B2. Further, as shown in B3, the buffer management unit 250 changes the accumulation permission ratio for the application A3 in the table T1 from “0%” to “100%”.
 アプリケーションA2についての蓄積許可割合が「0%」に変更されたため、バッファ管理部250は、アプリケーションA2についてのパケットをバッファメモリ270に格納しない。また、アプリケーションA3についての蓄積許可割合が「100%」に変更されたため、バッファ管理部250は、アプリケーションA3についてのパケットをバッファメモリ270に蓄積していく。 Since the accumulation permission ratio for the application A2 is changed to “0%”, the buffer management unit 250 does not store the packet for the application A2 in the buffer memory 270. Further, since the accumulation permission ratio for the application A3 is changed to “100%”, the buffer management unit 250 accumulates the packets for the application A3 in the buffer memory 270.
 バッファメモリ270がフル状態になると、バッファ管理部250は、バッファメモリ270に格納されたアプリケーションA2についてのパケットを、アプリケーションA3についてのパケットで上書きする。 When the buffer memory 270 becomes full, the buffer management unit 250 overwrites the packet for the application A2 stored in the buffer memory 270 with the packet for the application A3.
 アプリケーションA2およびA3の何れの通信も復旧しない場合、バッファメモリ270に格納されたアプリケーションA2についてのパケットは、アプリケーションA3についてのパケットで上書きされていく。最終的には、バッファメモリ270に格納されたアプリケーションA2についての全てのパケットは、アプリケーションA3についてのパケットで上書きされることとなる。 When neither communication of the applications A2 and A3 is restored, the packet for the application A2 stored in the buffer memory 270 is overwritten with the packet for the application A3. Eventually, all packets for application A2 stored in buffer memory 270 will be overwritten with packets for application A3.
 図7は、図6に示される状態から更に、データベース管理装置200とアプリケーションA1との間の通信が異常切断された場合を示す。この場合、送受信管理部210は、全てのアプリケーションA1からA3に対してパケットを送信することができない。 FIG. 7 shows a case where communication between the database management apparatus 200 and the application A1 is further abnormally disconnected from the state shown in FIG. In this case, the transmission / reception management unit 210 cannot transmit packets to all the applications A1 to A3.
 このため、バッファ管理部250は、テーブルT1における蓄積許可割合を更新する。ここでも、バッファ管理部250は、各アプリケーションの通信品質を、通信が切断されているアプリケーションの通信品質の合計値で除算することによって、蓄積許可割合を算出する。 Therefore, the buffer management unit 250 updates the accumulation permission ratio in the table T1. Here again, the buffer management unit 250 calculates the accumulation permission ratio by dividing the communication quality of each application by the total value of the communication quality of the applications for which communication is disconnected.
 図7に示される例においては、アプリケーションA1の通信品質が「1」であり、アプリケーションA2の通信品質が「0」であり、アプリケーションA3の通信品質が「2」である。このため、バッファ管理部250は、B4に示されるように、テーブルT1におけるアプリケーションA1についての蓄積許可割合を「0%」から「33%」に変更する。また、バッファ管理部250は、B5に示されるように、テーブルT1におけるアプリケーションA3についての蓄積許可割合を「100%」から「66%」に変更する。 In the example shown in FIG. 7, the communication quality of application A1 is “1”, the communication quality of application A2 is “0”, and the communication quality of application A3 is “2”. Therefore, the buffer management unit 250 changes the accumulation permission ratio for the application A1 in the table T1 from “0%” to “33%” as indicated by B4. Further, as shown in B5, the buffer management unit 250 changes the accumulation permission ratio for the application A3 in the table T1 from “100%” to “66%”.
 アプリケーションA1についての蓄積許可割合が「33%」に変更されたため、バッファ管理部250は、アプリケーションA1についてのパケットをバッファメモリ270に蓄積していく。バッファ管理部250は、バッファメモリ270に格納されたアプリケーションA3についてのパケットを、アプリケーションA1についてのパケットで上書きする。最終的には、バッファメモリ270の記憶容量の33%まで、アプリケーションA1についてのパケットがバッファメモリ270に蓄積される。 Since the accumulation permission ratio for the application A1 is changed to “33%”, the buffer management unit 250 accumulates the packets for the application A1 in the buffer memory 270. The buffer management unit 250 overwrites the packet for the application A3 stored in the buffer memory 270 with the packet for the application A1. Eventually, packets for the application A1 are accumulated in the buffer memory 270 to 33% of the storage capacity of the buffer memory 270.
 図8は、図7に示される状態から更に、データベース管理装置200とアプリケーションA3との間の通信が復旧した場合を示す。この場合、送受信管理部210は、アプリケーションA1およびA2に対してパケットを送信することができないが、アプリケーションA3に対してパケットを送信することができる。 FIG. 8 shows a case where communication between the database management apparatus 200 and the application A3 is further restored from the state shown in FIG. In this case, the transmission / reception management unit 210 cannot transmit packets to the applications A1 and A2, but can transmit packets to the application A3.
 このため、バッファメモリ270に格納されたアプリケーションA3についてのパケットは、送受信管理部210によってアプリケーションA3に送信され、送信されたパケットはバッファメモリ270から消去される。 Therefore, the packet for the application A3 stored in the buffer memory 270 is transmitted to the application A3 by the transmission / reception management unit 210, and the transmitted packet is deleted from the buffer memory 270.
 また、バッファ管理部250は、テーブルT1における蓄積許可割合を更新する。ここでも、バッファ管理部250は、各アプリケーションの通信品質を、通信が切断されているアプリケーションの通信品質の合計値で除算することによって、蓄積許可割合を算出する。 Further, the buffer management unit 250 updates the accumulation permission ratio in the table T1. Here again, the buffer management unit 250 calculates the accumulation permission ratio by dividing the communication quality of each application by the total value of the communication quality of the applications for which communication is disconnected.
 図8に示される例において、バッファ管理部250は、B6に示されるように、テーブルT1におけるアプリケーションA1についての蓄積許可割合を「33%」から「100%」に変更する。また、バッファ管理部250は、B7に示されるように、テーブルT1におけるアプリケーションA3についての蓄積許可割合を「66%」から「0%」に変更する。 In the example illustrated in FIG. 8, the buffer management unit 250 changes the accumulation permission ratio for the application A1 in the table T1 from “33%” to “100%” as illustrated in B6. Further, as indicated by B7, the buffer management unit 250 changes the accumulation permission ratio for the application A3 in the table T1 from “66%” to “0%”.
 アプリケーションA3についてのパケットがアプリケーションA3に送信されることで、バッファメモリ270内のメモリ領域が解放される。このため、バッファ管理部250は、アプリケーションA1についてのパケットをバッファメモリ270に蓄積していく。これによって、データベース管理装置200とアプリケーションA1との間の通信が復旧するまで、アプリケーションA1についてのパケットがバッファメモリ270に蓄積され続ける。 When the packet for the application A3 is transmitted to the application A3, the memory area in the buffer memory 270 is released. Therefore, the buffer management unit 250 accumulates packets for the application A1 in the buffer memory 270. Thus, packets for the application A1 continue to be accumulated in the buffer memory 270 until communication between the database management apparatus 200 and the application A1 is restored.
 以上説明したように、1つのアプリケーションとの通信のみが切断された場合、バッファ管理部250は、通信が切断されたアプリケーションに関するクエリ結果をバッファメモリ270に蓄積する。また、2つ以上のアプリケーションとの通信が切断された場合、バッファ管理部250は、バッファメモリ270におけるアプリケーションごとの蓄積許可割合を調整する。具体的には、バッファ管理部250は、通信品質が悪いほど、蓄積許可割合を大きくする。これによって、送信の再試行が多くなるクエリ結果を多くバッファメモリ270に蓄積できるため、システム全体の可用性を向上することができる。 As described above, when only communication with one application is disconnected, the buffer management unit 250 stores the query result regarding the application whose communication is disconnected in the buffer memory 270. Further, when communication with two or more applications is disconnected, the buffer management unit 250 adjusts the accumulation permission ratio for each application in the buffer memory 270. Specifically, the buffer management unit 250 increases the storage permission ratio as the communication quality is lower. As a result, a large number of query results with many transmission retries can be stored in the buffer memory 270, so that the availability of the entire system can be improved.
 図9は、第1実施形態に係る状態監視処理の詳細を示すフローチャートである。図9に示される状態監視処理は、通信品質判定部260およびバッファ管理部250によって定期的に実行される。 FIG. 9 is a flowchart showing details of the state monitoring process according to the first embodiment. The state monitoring process shown in FIG. 9 is periodically executed by the communication quality determination unit 260 and the buffer management unit 250.
 まず、通信品質判定部260は、アプリケーション端末100と通信可能か否かを判定する(S10)。通信品質判定部260は、アプリケーション端末100と通信可能であると判定した場合、テーブルT1(図3)における、このアプリケーション端末100の接続元IDに対応するカウント値から1を減算する(S11)。 First, the communication quality determination unit 260 determines whether or not communication with the application terminal 100 is possible (S10). When determining that communication with the application terminal 100 is possible, the communication quality determination unit 260 subtracts 1 from the count value corresponding to the connection source ID of the application terminal 100 in the table T1 (FIG. 3) (S11).
 次に、通信品質判定部260は、カウント値が0であるか否かを判定する(S12)。通信品質判定部260は、カウント値が0ではないと判定した場合、後述するS15に処理を進める。一方、通信品質判定部260は、カウント値が0であると判定した場合、テーブルT1における通信品質から1を減算し(S13)、テーブルT1におけるカウント値を最大値にする(S14)。 Next, the communication quality determination unit 260 determines whether or not the count value is 0 (S12). If the communication quality determination unit 260 determines that the count value is not 0, the process proceeds to S15 described later. On the other hand, when determining that the count value is 0, the communication quality determination unit 260 subtracts 1 from the communication quality in the table T1 (S13), and sets the count value in the table T1 to the maximum value (S14).
 その後、バッファ管理部250は、テーブルT1に示される通信品質に基づいて、蓄積許可割合を算出する(S15)。前述したように、バッファ管理部250は、アプリケーションとの通信が切断されている場合、このアプリケーションの接続元IDに対応する通信品質を、通信が切断されている全てのアプリケーションの通信品質の合計値で除算することによって、蓄積許可割合を算出する。バッファ管理部250は、算出した蓄積許可割合をテーブルT1に書き込み、本フローチャートによる処理を終了する。 Thereafter, the buffer management unit 250 calculates the accumulation permission ratio based on the communication quality shown in the table T1 (S15). As described above, when the communication with the application is disconnected, the buffer management unit 250 sets the communication quality corresponding to the connection source ID of the application to the total value of the communication quality of all the applications that are disconnected. The accumulation permission ratio is calculated by dividing by. The buffer management unit 250 writes the calculated accumulation permission ratio in the table T1, and ends the processing according to this flowchart.
 一方、S10において、通信品質判定部260は、アプリケーション端末100と通信可能でないと判定した場合、テーブルT1(図3)における、このアプリケーション端末100の接続元IDに対応するカウント値に1を加算する(S16)。 On the other hand, if the communication quality determination unit 260 determines in S10 that communication with the application terminal 100 is not possible, 1 is added to the count value corresponding to the connection source ID of the application terminal 100 in the table T1 (FIG. 3). (S16).
 次に、通信品質判定部260は、カウント値が最大値であるか否かを判定する(S17)。通信品質判定部260は、カウント値が最大値ではないと判定した場合、前述したS15に処理を進める。一方、通信品質判定部260は、カウント値が最大値であると判定した場合、テーブルT1における通信品質に1を加算し(S18)、テーブルT1におけるカウント値を0にする(S19)。その後、通信品質判定部260は、前述したS15に処理を進める。 Next, the communication quality determination unit 260 determines whether or not the count value is the maximum value (S17). If the communication quality determination unit 260 determines that the count value is not the maximum value, the communication quality determination unit 260 advances the process to S15 described above. On the other hand, when the communication quality determination unit 260 determines that the count value is the maximum value, 1 is added to the communication quality in the table T1 (S18), and the count value in the table T1 is set to 0 (S19). Thereafter, the communication quality determination unit 260 advances the process to S15 described above.
 以上の処理によって、通信品質判定部260は、アプリケーションごとの通信品質を判定することができる。なお、通信品質判定部260による通信品質の判定処理は、図9に示されるフローチャートに限定されない。例えば、通信品質判定部260は、アプリケーションとの通信の平均切断間隔または平均再接続間隔に基づいて、通信品質を判定してもよい。平均切断間隔は、アプリケーションとの通信が切断されてから、次にアプリケーションとの通信が切断されるまでの平均時間であるが、これに限られない。例えば、平均切断間隔は、単位時間におけるアプリケーションとの通信が切断される平均頻度であってもよい。また、平均再接続間隔は、アプリケーションとの通信が復旧してから、次にアプリケーションとの通信が復旧するまでの平均時間であるが、これに限られない。例えば、平均再接続間隔は、単位時間におけるアプリケーションとの通信が復旧した平均頻度であってもよい。 Through the above processing, the communication quality determination unit 260 can determine the communication quality for each application. Note that the communication quality determination processing by the communication quality determination unit 260 is not limited to the flowchart shown in FIG. For example, the communication quality determination unit 260 may determine the communication quality based on an average disconnection interval or an average reconnection interval of communication with the application. The average disconnection interval is an average time from when the communication with the application is disconnected until the next disconnection with the application, but is not limited thereto. For example, the average disconnection interval may be an average frequency at which communication with an application in a unit time is disconnected. The average reconnection interval is an average time from when the communication with the application is restored until the next communication with the application is restored, but is not limited thereto. For example, the average reconnection interval may be an average frequency at which communication with an application in a unit time is restored.
 図10は、第1実施形態に係る正常切断処理の詳細を示すフローチャートである。図10に示される正常切断処理は、アプリケーション端末100がアプリケーションを終了する場合に、バッファ管理部250および送受信管理部210によって実行される。 FIG. 10 is a flowchart showing details of the normal cutting process according to the first embodiment. The normal disconnection process shown in FIG. 10 is executed by the buffer management unit 250 and the transmission / reception management unit 210 when the application terminal 100 terminates the application.
 まず、バッファ管理部250は、終了するアプリケーションに対応するエントリを、バッファメモリ270から消去する(S20)。このとき、バッファ管理部250は、テーブルT1からも、終了するアプリケーションに対応するエントリを消去する。次に、送受信管理部210は、アプリケーション端末100との通信を切断し(S21)、本フローチャートによる処理を終了する。 First, the buffer management unit 250 deletes the entry corresponding to the application to be terminated from the buffer memory 270 (S20). At this time, the buffer management unit 250 also deletes the entry corresponding to the application to be ended from the table T1. Next, the transmission / reception management unit 210 disconnects communication with the application terminal 100 (S21), and ends the processing according to this flowchart.
 図11は、第1実施形態に係るクエリ結果エントリ受取処理の詳細を示すフローチャートである。図11に示されるクエリ結果エントリ受取処理は、クエリ結果エントリがクエリ実行部240からバッファ管理部250に入力されたときに実行される。クエリ結果エントリは、(x,e,r)で表される。xは、クエリを識別するためのクエリ識別情報である。eは、レコード番号である。rは、クエリ結果のレコードである。 FIG. 11 is a flowchart showing details of the query result entry receiving process according to the first embodiment. The query result entry receiving process shown in FIG. 11 is executed when a query result entry is input from the query execution unit 240 to the buffer management unit 250. The query result entry is represented by (x, e, r). x is query identification information for identifying a query. e is a record number. r is a query result record.
 まず、バッファ管理部250は、テーブルT1の「接続状態」を参照し、クエリ実行部240から入力されたクエリ結果エントリに関するアプリケーション端末100が「接続中」であるか否かを判定する(S30)。バッファ管理部250は、クエリ実行部240から入力されたクエリ結果エントリに関するアプリケーション端末100が「接続中」であると判定した場合、クエリ結果エントリを用いてパケットを作成し、作成したパケットをバッファメモリ270に記憶する(S31)。なお、パケットの作成処理の詳細については後述する。その後、バッファ管理部250は、本フローチャートによる処理を終了する。 First, the buffer management unit 250 refers to the “connection state” in the table T1, and determines whether or not the application terminal 100 related to the query result entry input from the query execution unit 240 is “connected” (S30). . If the buffer management unit 250 determines that the application terminal 100 related to the query result entry input from the query execution unit 240 is “connected”, the buffer management unit 250 creates a packet using the query result entry, and the created packet is stored in the buffer memory. It memorize | stores in 270 (S31). Details of the packet creation process will be described later. Thereafter, the buffer management unit 250 ends the processing according to this flowchart.
 一方、S30において、バッファ管理部250は、クエリ実行部240から入力されたクエリ結果エントリに関するアプリケーション端末100が「接続中」でないと判定した場合、テーブルT1において「異常切断中」となっているエントリが複数あるか否かを判定する(S32)。 On the other hand, in S30, when the buffer management unit 250 determines that the application terminal 100 related to the query result entry input from the query execution unit 240 is not “connected”, the entry indicating “abnormal disconnection” in the table T1. It is determined whether or not there is a plurality (S32).
 バッファ管理部250は、テーブルT1において「異常切断中」となっているエントリが複数あると判定した場合、テーブルT1の「通信品質」を参照し、クエリ実行部240から入力されたクエリ結果エントリに関する「通信品質」が「2」以上であるか否かを判定する(S33)。バッファ管理部250は、クエリ実行部240から入力されたクエリ結果エントリに関する「通信品質」が「2」以上であると判定した場合、クエリ結果エントリを保持できないことを示す結果保持不可エラーをクエリ実行部240に出力し(S34)、本フローチャートによる処理を終了する。 When the buffer management unit 250 determines that there are a plurality of entries that are “being abnormally disconnected” in the table T1, the buffer management unit 250 refers to the “communication quality” in the table T1 and relates to the query result entry input from the query execution unit 240. It is determined whether “communication quality” is “2” or more (S33). When the buffer management unit 250 determines that the “communication quality” related to the query result entry input from the query execution unit 240 is “2” or higher, the buffer management unit 250 executes a query result error indicating that the query result entry cannot be held. Is output to the unit 240 (S34), and the processing according to this flowchart is terminated.
 一方、S32において、バッファ管理部250は、テーブルT1において「異常切断中」となっているエントリが複数あると判定しなかった場合、後述するS35に処理を進める。また、S33において、バッファ管理部250は、クエリ実行部240から入力されたクエリ結果エントリに関する「通信品質」が「2」未満であると判定した場合も、後述するS35に処理を進める。 On the other hand, in S32, when the buffer management unit 250 does not determine that there are a plurality of entries that are “being abnormally disconnected” in the table T1, the process proceeds to S35 described later. In S33, when the buffer management unit 250 determines that the “communication quality” related to the query result entry input from the query execution unit 240 is less than “2”, the process proceeds to S35 described later.
 S35において、バッファ管理部250は、テーブルT1を参照し、クエリ実行部240から入力されたクエリ結果エントリに関する「バッファ使用量」が「蓄積許可割合」に到達しているか否かを判定する(S35)。バッファ管理部250は、クエリ実行部240から入力されたクエリ結果エントリに関する「バッファ使用量」が「蓄積許可割合」に到達していると判定した場合、バッファメモリ270がフル状態であることを示すバッファフルエラーをクエリ実行部240に出力し(S36)、本フローチャートによる処理を終了する。 In S35, the buffer management unit 250 refers to the table T1, and determines whether or not the “buffer usage” related to the query result entry input from the query execution unit 240 has reached the “accumulation permission ratio” (S35). ). If the buffer management unit 250 determines that the “buffer usage” related to the query result entry input from the query execution unit 240 has reached the “accumulation permission ratio”, the buffer management unit 250 indicates that the buffer memory 270 is full. A buffer full error is output to the query execution unit 240 (S36), and the processing according to this flowchart ends.
 一方、S35において、バッファ管理部250は、クエリ実行部240から入力されたクエリ結果エントリに関する「バッファ使用量」が「蓄積許可割合」に到達していないと判定した場合、バッファメモリ270に空きがあるか否かを判定する(S37)。バッファ管理部250は、バッファメモリ270に空きがあると判定した場合、クエリ結果エントリを用いてパケットを作成し、作成したパケットをバッファメモリ270に記憶する(S38)。その後、バッファ管理部250は、テーブルT1における「バッファ使用量」を更新し(S39)、本フローチャートによる処理を終了する。 On the other hand, if the buffer management unit 250 determines in S35 that the “buffer usage” related to the query result entry input from the query execution unit 240 has not reached the “accumulation permission ratio”, the buffer memory 270 has an empty space. It is determined whether or not there is (S37). When the buffer management unit 250 determines that the buffer memory 270 is free, the buffer management unit 250 creates a packet using the query result entry, and stores the created packet in the buffer memory 270 (S38). Thereafter, the buffer management unit 250 updates the “buffer usage” in the table T1 (S39), and ends the processing according to this flowchart.
 一方、S37において、バッファ管理部250は、バッファメモリ270に空きがないと判定した場合、クエリ結果エントリを用いてパケットを作成し、作成したパケットをバッファメモリ270に記憶された他のエントリに上書きする(S40)。ただし、前述したように、テーブルT1に示される蓄積許可割合が「0%」の場合など、上書きできない場合もある。その後、バッファ管理部250は、テーブルT1における「バッファ使用量」を更新し(S39)、本フローチャートによる処理を終了する。 On the other hand, if the buffer management unit 250 determines in S37 that there is no free space in the buffer memory 270, it creates a packet using the query result entry, and overwrites the created packet with other entries stored in the buffer memory 270. (S40). However, as described above, there are cases where overwriting cannot be performed, for example, when the accumulation permission ratio shown in the table T1 is “0%”. Thereafter, the buffer management unit 250 updates the “buffer usage” in the table T1 (S39), and ends the processing according to this flowchart.
 図12は、第1実施形態に係るパケット作成処理の詳細を示すフローチャートである。図12に示されるパケット作成処理は、例えば、図11のS31、S38、およびS40において、バッファ管理部250によって実行される。 FIG. 12 is a flowchart showing details of the packet creation processing according to the first embodiment. The packet creation process illustrated in FIG. 12 is executed by the buffer management unit 250 in, for example, S31, S38, and S40 in FIG.
 まず、バッファ管理部250は、クエリ実行部240から受け取ったクエリ結果エントリが、クエリの最後のエントリか否かを判定する(S50)。バッファ管理部250は、クエリ実行部240から受け取ったクエリ結果エントリがクエリの最後のエントリであると判定した場合、クエリ実行部240から受け取ったクエリ結果エントリと、クエリ結果エントリ集合とに基づき、パケットを生成する(S51)。クエリ結果エントリ集合は、クエリ実行部240から受け取ったクエリ結果エントリの集合である。なお、前述したように、バッファ管理部250によって生成されたパケットには、送受信管理部210から入力されたヘッダ情報が付加されている。その後、バッファ管理部250は、本フローチャートによる処理を終了する。 First, the buffer management unit 250 determines whether or not the query result entry received from the query execution unit 240 is the last entry of the query (S50). When the buffer management unit 250 determines that the query result entry received from the query execution unit 240 is the last entry of the query, the buffer management unit 250 determines that the packet is based on the query result entry received from the query execution unit 240 and the query result entry set. Is generated (S51). The query result entry set is a set of query result entries received from the query execution unit 240. As described above, the header information input from the transmission / reception management unit 210 is added to the packet generated by the buffer management unit 250. Thereafter, the buffer management unit 250 ends the processing according to this flowchart.
 一方、S50において、バッファ管理部250は、クエリ実行部240から受け取ったクエリ結果エントリがクエリの最後のエントリでないと判定した場合、生成するパケットのサイズが、パケットサイズ決定部231によって決定された最大パケットサイズを超えるか否かを判定する(S52)。ここで、生成するパケットのサイズは、クエリ実行部240から受け取ったクエリ結果エントリのサイズと、クエリ結果エントリ集合のサイズと、ヘッダ情報のサイズの合計である。バッファ管理部250は、生成するパケットのサイズが最大パケットサイズを超えると判定した場合、クエリ結果エントリ集合に基づきパケットを生成する(S53)。その後、バッファ管理部250は、本フローチャートによる処理を終了する。 On the other hand, in S50, when the buffer management unit 250 determines that the query result entry received from the query execution unit 240 is not the last entry of the query, the size of the packet to be generated is the maximum determined by the packet size determination unit 231. It is determined whether or not the packet size is exceeded (S52). Here, the size of the packet to be generated is the sum of the size of the query result entry received from the query execution unit 240, the size of the query result entry set, and the size of the header information. If it is determined that the size of the packet to be generated exceeds the maximum packet size, the buffer management unit 250 generates a packet based on the query result entry set (S53). Thereafter, the buffer management unit 250 ends the processing according to this flowchart.
 一方、S52において、バッファ管理部250は、生成するパケットのサイズが最大パケットサイズを超えないと判定した場合、クエリ実行部240から受け取ったクエリ結果エントリを、クエリ結果エントリ集合に追加し(S54)、本フローチャートによる処理を終了する。 On the other hand, if the buffer management unit 250 determines in S52 that the size of the packet to be generated does not exceed the maximum packet size, it adds the query result entry received from the query execution unit 240 to the query result entry set (S54). Then, the process according to this flowchart is terminated.
 図13は、第1実施形態に係るエラー処理の詳細を示すフローチャートである。図13に示されるエラー処理は、バッファ消去要求がクエリ実行部240からバッファ管理部250に入力された場合に、バッファ管理部250および送受信管理部210によって実行される。バッファ消去要求は、クエリ実行部240でエラーが発生した場合に、クエリ実行部240からバッファ管理部250に入力される。バッファ消去要求は、(x,z)で表される。xは、クエリを識別するためのクエリ識別情報である。zは、エラー内容である。 FIG. 13 is a flowchart showing details of error processing according to the first embodiment. The error processing shown in FIG. 13 is executed by the buffer management unit 250 and the transmission / reception management unit 210 when a buffer erasure request is input from the query execution unit 240 to the buffer management unit 250. The buffer erasure request is input from the query execution unit 240 to the buffer management unit 250 when an error occurs in the query execution unit 240. The buffer erase request is represented by (x, z). x is query identification information for identifying a query. z is the error content.
 まず、バッファ管理部250は、バッファ消去要求(x,z)からクエリ識別情報xを取得する(S61)。次に、バッファ管理部250は、取得したクエリ識別情報xに関連する全てのエントリを、バッファメモリ270から消去する(S62)。 First, the buffer management unit 250 acquires the query identification information x from the buffer erasure request (x, z) (S61). Next, the buffer management unit 250 deletes all entries related to the acquired query identification information x from the buffer memory 270 (S62).
 その後、バッファ管理部250は、テーブルT1を参照し、エントリが消去されたクエリの接続元の接続状態が「接続中」であるか否かを判定する(S63)。バッファ管理部250が、エントリが消去されたクエリの接続元の接続状態が「接続中」であると判定した場合、送受信管理部210は、エントリが消去されたクエリに関連するアプリケーション端末100にエラー情報(x,z)を送信し(S64)、本フローチャートによる処理を終了する。 Thereafter, the buffer management unit 250 refers to the table T1 and determines whether or not the connection state of the connection source of the query whose entry has been deleted is “connected” (S63). When the buffer management unit 250 determines that the connection state of the connection source of the query from which the entry has been deleted is “connected”, the transmission / reception management unit 210 causes an error in the application terminal 100 related to the query from which the entry has been deleted. Information (x, z) is transmitted (S64), and the processing according to this flowchart is terminated.
 一方、S63において、バッファ管理部250は、エントリが消去されたクエリの接続元の接続状態が「接続中」ではないと判定した場合、エラー情報(x,z)をバッファメモリ270に格納し(S65)、本フローチャートによる処理を終了する。 On the other hand, in S63, when the buffer management unit 250 determines that the connection state of the connection source of the query whose entry has been deleted is not “connected”, the buffer management unit 250 stores the error information (x, z) in the buffer memory 270 ( S65), the process according to this flowchart is terminated.
 図14は、第1実施形態に係る送信継続処理の詳細を示すフローチャートである。図14に示される送信継続処理は、データベース管理装置200が送信継続要求をアプリケーション端末100から受信した場合に実行される。アプリケーション端末100は、アプリケーション端末100とデータベース管理装置200との間の通信が復旧した場合に、送信を中断されたクエリ結果の再送信を要求するために、送信継続要求をデータベース管理装置200に送信する。送信継続要求は、(x,E)で表される。xは、クエリを識別するためのクエリ識別情報である。Eは、レコード番号である。 FIG. 14 is a flowchart showing details of the transmission continuation processing according to the first embodiment. The transmission continuation process shown in FIG. 14 is executed when the database management apparatus 200 receives a transmission continuation request from the application terminal 100. When the communication between the application terminal 100 and the database management apparatus 200 is restored, the application terminal 100 transmits a transmission continuation request to the database management apparatus 200 in order to request retransmission of the query result whose transmission has been interrupted. To do. The transmission continuation request is represented by (x, E). x is query identification information for identifying a query. E is a record number.
 まず、バッファ管理部250は、送信継続要求(x,E)に含まれるレコード番号Eより大きいエントリが、バッファメモリ270に格納されているか否かを判定する(S70)。バッファ管理部250が、レコード番号Eより大きいエントリが、バッファメモリ270に格納されていると判定した場合、送受信管理部210は、レコード番号Eより大きいレコード番号の全てのエントリをバッファメモリ270から読み出し、アプリケーション端末100に送信する(S71)。その後、送受信管理部210は、送信されたエントリをバッファメモリ270から消去し、本フローチャートによる処理を終了する。 First, the buffer management unit 250 determines whether an entry larger than the record number E included in the transmission continuation request (x, E) is stored in the buffer memory 270 (S70). When the buffer management unit 250 determines that an entry larger than the record number E is stored in the buffer memory 270, the transmission / reception management unit 210 reads all entries having a record number larger than the record number E from the buffer memory 270. And transmitted to the application terminal 100 (S71). Thereafter, the transmission / reception management unit 210 deletes the transmitted entry from the buffer memory 270 and ends the processing according to this flowchart.
 一方、S70において、バッファ管理部250は、レコード番号Eより大きいエントリが、バッファメモリ270に格納されていないと判定した場合、クエリ識別情報xについてのエラー情報(x,z)がバッファメモリ270に格納されているか否かを判定する(S72)。バッファ管理部250が、クエリ識別情報xについてのエラー情報(x,z)がバッファメモリ270に格納されていると判定した場合、送受信管理部210は、バッファメモリ270からエラー情報(x,z)を読み出して、アプリケーション端末100に送信する(S73)。その後、送受信管理部210は、送信されたエラー情報(x,z)をバッファメモリ270から消去し、本フローチャートによる処理を終了する。 On the other hand, when the buffer management unit 250 determines in S70 that the entry larger than the record number E is not stored in the buffer memory 270, error information (x, z) regarding the query identification information x is stored in the buffer memory 270. It is determined whether it is stored (S72). When the buffer management unit 250 determines that the error information (x, z) for the query identification information x is stored in the buffer memory 270, the transmission / reception management unit 210 receives the error information (x, z) from the buffer memory 270. Is transmitted to the application terminal 100 (S73). Thereafter, the transmission / reception management unit 210 deletes the transmitted error information (x, z) from the buffer memory 270, and ends the processing according to this flowchart.
 一方、S72において、バッファ管理部250が、クエリ識別情報xについてのエラー情報(x,z)がバッファメモリ270に格納されていないと判定した場合、送受信管理部210は、送信継続要求が受け付けられた旨をアプリケーション端末100に通知し(S74)、本フローチャートによる処理を終了する。 On the other hand, when the buffer management unit 250 determines in S72 that the error information (x, z) for the query identification information x is not stored in the buffer memory 270, the transmission / reception management unit 210 accepts the transmission continuation request. Is notified to the application terminal 100 (S74), and the processing according to this flowchart is terminated.
 図15は、第1実施形態に係るクエリ処理の詳細を示すフローチャートである。図15に示されるクエリ処理は、データベース管理装置200がアプリケーション端末100からクエリを受信した場合に、クエリ実行部240によって実行される。クエリは、(x,q)で表される。xは、クエリを識別するためのクエリ識別情報である。qは、クエリ内容である。 FIG. 15 is a flowchart showing details of the query processing according to the first embodiment. The query processing illustrated in FIG. 15 is executed by the query execution unit 240 when the database management apparatus 200 receives a query from the application terminal 100. The query is represented by (x, q). x is query identification information for identifying a query. q is a query content.
 まず、クエリ実行部240は、レコード番号eに0を設定する(S81)。次に、クエリ実行部240は、クエリ内容qに基づき、クエリ結果の内容を示すレコードrを生成し(S82)、レコード番号eに1を加算する(S83)。 First, the query execution unit 240 sets 0 to the record number e (S81). Next, the query execution unit 240 generates a record r indicating the content of the query result based on the query content q (S82), and adds 1 to the record number e (S83).
 その後、クエリ実行部240は、レコードrが正常に生成されたか否かを判定する(S84)。クエリ実行部240は、レコードrが正常に生成されなかったと判定した場合、内部エラーによるバッファ消去要求を、バッファ管理部250に出力し(S85)、本フローチャートによる処理を終了する。 Thereafter, the query execution unit 240 determines whether or not the record r is normally generated (S84). When the query execution unit 240 determines that the record r has not been generated normally, the query execution unit 240 outputs a buffer deletion request due to an internal error to the buffer management unit 250 (S85), and ends the processing according to this flowchart.
 一方、S84において、クエリ実行部240は、レコードrが正常に生成されたと判定した場合、クエリ結果エントリ(x,e,r)をバッファ管理部250に出力する(S86)。その後、クエリ実行部240は、バッファ管理部250からクエリ実行部240にエラーが出力された否かを判定する(S87)。例えば、バッファ管理部250は、前述したように、図11に示されるS34およびS36において、クエリ実行部240にエラーを出力する。 On the other hand, in S84, when the query execution unit 240 determines that the record r is normally generated, the query execution unit 240 outputs the query result entry (x, e, r) to the buffer management unit 250 (S86). Thereafter, the query execution unit 240 determines whether or not an error is output from the buffer management unit 250 to the query execution unit 240 (S87). For example, as described above, the buffer management unit 250 outputs an error to the query execution unit 240 in S34 and S36 illustrated in FIG.
 S87において、クエリ実行部240は、バッファ管理部250からクエリ実行部240にエラーが出力されたと判定しなかった場合、クエリ内容qに基づく処理は完了したか否かを判定する(S88)。クエリ実行部240は、クエリ内容qに基づく処理は完了したと判定した場合、本フローチャートによる処理を終了する。逆に、クエリ実行部240は、クエリ内容qに基づく処理は完了していないと判定した場合、前述のS82に処理を戻す。 In S87, if the query execution unit 240 does not determine that an error has been output from the buffer management unit 250 to the query execution unit 240, the query execution unit 240 determines whether or not the processing based on the query content q has been completed (S88). When the query execution unit 240 determines that the process based on the query content q is completed, the query execution unit 240 ends the process according to this flowchart. Conversely, if the query execution unit 240 determines that the process based on the query content q has not been completed, it returns the process to S82 described above.
 一方、S87において、クエリ実行部240は、バッファ管理部250からクエリ実行部240にエラーが出力されたと判定した場合、エラーが出力されてから所定時間が経過したか否かを判定する(S89)。クエリ実行部240は、エラーが出力されてから所定時間が経過したと判定した場合、タイムアウトエラーによるバッファ消去要求を、バッファ管理部250に出力し(S90)、本フローチャートによる処理を終了する。 On the other hand, if the query execution unit 240 determines in S87 that an error has been output from the buffer management unit 250 to the query execution unit 240, the query execution unit 240 determines whether or not a predetermined time has elapsed since the error was output (S89). . If the query execution unit 240 determines that a predetermined time has elapsed since the error was output, the query execution unit 240 outputs a buffer erase request due to a timeout error to the buffer management unit 250 (S90), and ends the processing according to this flowchart.
 一方、S89において、クエリ実行部240は、エラーが出力されてから所定時間が経過していないと判定した場合、バッファメモリ270において、クエリ識別情報xについてのエントリが他のクエリ結果のエントリによって上書きされたか否かを判定する(S91)。クエリ実行部240は、クエリ識別情報xについてのエントリが他のクエリ結果のエントリによって上書きされたと判定した場合、上書きされていない点までレコード番号eを戻し(S92)、前述のS82に処理を戻す。 On the other hand, if the query execution unit 240 determines in S89 that the predetermined time has not elapsed since the error was output, the entry for the query identification information x is overwritten with another query result entry in the buffer memory 270. It is determined whether or not (S91). When the query execution unit 240 determines that the entry for the query identification information x has been overwritten by another query result entry, the query execution unit 240 returns the record number e to the point where it has not been overwritten (S92), and returns the process to S82 described above. .
 一方、S91において、クエリ実行部240は、クエリ識別情報xについてのエントリが他のクエリ結果のエントリによって上書きされていないと判定した場合、前述のS86に処理を戻す。 On the other hand, in S91, when the query execution unit 240 determines that the entry for the query identification information x is not overwritten by another query result entry, the process returns to S86 described above.
 以上説明したように、第1実施形態に係るデータベース管理システム10は、送受信管理部210と、クエリ実行部240と、バッファ管理部250と、通信品質判定部260とを持つ。送受信管理部210は、アプリケーションを実行するアプリケーション端末100からクエリを受信するとともに、クエリの検索対象のデータであるクエリ結果をバッファメモリ270から読み出してアプリケーション端末100に送信する。クエリ実行部240は、送受信管理部210によって受信されたクエリに基づく処理を実行することにより、クエリ結果を取得する。通信品質判定部260は、アプリケーションごとの通信品質(図3参照)を判定する。バッファ管理部250は、アプリケーション端末100との通信が切断された場合に、クエリ実行部240によって取得されたクエリ結果をバッファメモリ270に記憶させるか否かを、通信品質判定部260によって判定された通信品質に基づいて判定する。これによって、データベース管理システム10は、データベース管理システム10のネットワーク接続環境が不安定な場合であっても、アプリケーションの都合に応じてクエリ結果のデータを再送信することができる。 As described above, the database management system 10 according to the first embodiment includes the transmission / reception management unit 210, the query execution unit 240, the buffer management unit 250, and the communication quality determination unit 260. The transmission / reception management unit 210 receives a query from the application terminal 100 that executes the application, reads a query result that is data to be searched for the query from the buffer memory 270, and transmits the query result to the application terminal 100. The query execution unit 240 acquires a query result by executing a process based on the query received by the transmission / reception management unit 210. The communication quality determination unit 260 determines the communication quality (see FIG. 3) for each application. When the communication with the application terminal 100 is disconnected, the buffer management unit 250 determines whether or not the query result acquired by the query execution unit 240 is stored in the buffer memory 270 by the communication quality determination unit 260. Determine based on communication quality. Accordingly, the database management system 10 can retransmit the query result data according to the convenience of the application even when the network connection environment of the database management system 10 is unstable.
 なお、バッファメモリ270は、バッファ管理部250および送受信管理部210が同時にアクセス可能なメモリである。このため、データベース管理装置200のカーネル空間に、送受信管理部210専用の送信バッファを別途設ける必要が無い。これによって、メモリを節約することができるとともに、バッファメモリ270におけるアプリケーションごとの蓄積許可割合を、柔軟に設定することができる。 The buffer memory 270 is a memory that can be accessed simultaneously by the buffer management unit 250 and the transmission / reception management unit 210. Therefore, it is not necessary to separately provide a transmission buffer dedicated to the transmission / reception management unit 210 in the kernel space of the database management apparatus 200. As a result, the memory can be saved, and the accumulation permission ratio for each application in the buffer memory 270 can be set flexibly.
 また、バッファ管理部250は、クエリ実行部240によって取得されたクエリ結果に対して通信に必要なヘッダ情報を付加し、ヘッダ情報が付加されたクエリ結果のパケットをバッファメモリ270に記憶する。送受信管理部210は、バッファメモリ270からクエリ結果のパケットを読み出し、読み出したクエリ結果のパケットをアプリケーション端末100に送信する。これによって、送受信管理部210は、クエリ結果のパケットを加工することなく、アプリケーション端末100に送信することができる。 Further, the buffer management unit 250 adds header information necessary for communication to the query result acquired by the query execution unit 240, and stores the query result packet to which the header information is added in the buffer memory 270. The transmission / reception management unit 210 reads the query result packet from the buffer memory 270 and transmits the read query result packet to the application terminal 100. Accordingly, the transmission / reception management unit 210 can transmit the query result packet to the application terminal 100 without processing the packet.
 (第2実施形態)
 次に、第2実施形態について説明する。第1実施形態において、バッファ管理部250は、通信品質が悪いほど蓄積許可割合を大きくすることとした。これに対し、第2実施形態において、バッファ管理部250は、通信品質が悪いほど蓄積許可割合を小さくする。これによって、不安定な通信回線のクエリ結果によって、バッファメモリ270が専有されることを防止することができる。以下、第2実施形態の詳細を説明する。
(Second Embodiment)
Next, a second embodiment will be described. In the first embodiment, the buffer management unit 250 increases the accumulation permission ratio as the communication quality is worse. In contrast, in the second embodiment, the buffer management unit 250 decreases the accumulation permission ratio as the communication quality is lower. As a result, it is possible to prevent the buffer memory 270 from being occupied exclusively by an unstable communication line query result. Details of the second embodiment will be described below.
 第2実施形態においては、1つのアプリケーションとの通信のみが切断された場合、バッファ管理部250は、通信が切断されたアプリケーションに関するクエリ結果をバッファメモリ270に蓄積する。一方、2つ以上のアプリケーションとの通信が切断された場合、バッファ管理部250は、バッファメモリ270におけるアプリケーションごとの蓄積許可割合を調整する。具体的には、バッファ管理部250は、通信品質が悪いほど、蓄積許可割合を小さくする。 In the second embodiment, when only communication with one application is disconnected, the buffer management unit 250 stores a query result related to the application whose communication is disconnected in the buffer memory 270. On the other hand, when communication with two or more applications is disconnected, the buffer management unit 250 adjusts the accumulation permission ratio for each application in the buffer memory 270. Specifically, the buffer management unit 250 decreases the accumulation permission ratio as the communication quality is lower.
 通信品質は、「0」から「3」のいずれかの値であるが、第1実施形態とは異なり、値が大きいほど通信回線の品質が良いことを表す。例えば、「3」は、通信品質が最も良く、異常切断が発生し難いことを示す。一方、「0」は、通信品質が最も悪く、異常切断が発生し易いことを示す。通信品質は、通信品質判定部260によって判定される。 The communication quality is any value from “0” to “3”, but unlike the first embodiment, the larger the value, the better the quality of the communication line. For example, “3” indicates that the communication quality is the best and abnormal disconnection hardly occurs. On the other hand, “0” indicates that the communication quality is the worst and abnormal disconnection is likely to occur. The communication quality is determined by the communication quality determination unit 260.
 バッファ管理部250は、通信品質が「1」以上である接続元に対して、バッファメモリ270の蓄積許可割合を設定する。バッファ管理部250は、各アプリケーションの通信品質を、通信が切断されているアプリケーションの通信品質の合計値で除算することによって、蓄積許可割合を算出する。バッファ管理部250は、算出した蓄積許可割合を、テーブルT1に書き込む。 The buffer management unit 250 sets a storage permission ratio of the buffer memory 270 for a connection source whose communication quality is “1” or higher. The buffer management unit 250 calculates the accumulation permission ratio by dividing the communication quality of each application by the total value of the communication quality of the applications that have been disconnected. The buffer management unit 250 writes the calculated accumulation permission ratio in the table T1.
 以上説明したように、第2実施形態において、バッファ管理部250は、通信品質が悪いほど蓄積許可割合を小さくする。これによって、不安定な通信回線のクエリ結果によって、バッファメモリ270が専有されることを防止することができる。 As described above, in the second embodiment, the buffer management unit 250 decreases the accumulation permission ratio as the communication quality is worse. As a result, it is possible to prevent the buffer memory 270 from being occupied exclusively by an unstable communication line query result.
 (第3実施形態)
 次に、第3実施形態について説明する。第1実施形態および第2実施形態において、バッファ管理部250は、アプリケーションごとの通信品質に基づいて蓄積許可割合を算出することとした。これに対し、第3実施形態において、クエリ実行部240は、クエリ結果を表すデータのデータ量を予測し、予測されたデータ量に基づいて蓄積許可割合を算出する。具体的に、クエリ実行部240は、予測されたデータ量が大きいほど蓄積許可割合を小さくする。これによって、バッファメモリ270の平均消費量を削減することができる。以下、第3実施形態の詳細を説明する。
(Third embodiment)
Next, a third embodiment will be described. In the first embodiment and the second embodiment, the buffer management unit 250 calculates the accumulation permission ratio based on the communication quality for each application. On the other hand, in the third embodiment, the query execution unit 240 predicts the data amount of the data representing the query result, and calculates the accumulation permission ratio based on the predicted data amount. Specifically, the query execution unit 240 decreases the accumulation permission ratio as the predicted data amount increases. As a result, the average consumption of the buffer memory 270 can be reduced. Details of the third embodiment will be described below.
 図16は、第3実施形態に係るテーブルT2の一例を示す図である。第3実施形態において、バッファ管理部250は、図3に示されるテーブルT1に代えて、図16に示されるテーブルT2を用いて蓄積許可割合を判定する。テーブルT2は、接続元IDと、予測データ量と、接続状態と、蓄積許可割合と、バッファ使用量と、カウント値とが対応付けられたテーブルである。 FIG. 16 is a diagram illustrating an example of a table T2 according to the third embodiment. In the third embodiment, the buffer management unit 250 determines the accumulation permission ratio using a table T2 shown in FIG. 16 instead of the table T1 shown in FIG. The table T2 is a table in which the connection source ID, the predicted data amount, the connection state, the accumulation permission ratio, the buffer usage amount, and the count value are associated with each other.
 予測データ量は、クエリ結果を表すデータのデータ量の予測値を示す情報である。予測データ量は、「0」から「3」のいずれかの値であり、値が小さいほど予測データ量が大きいことを表す。例えば、集約関数または分析関数のみのクエリの場合、予測データ量は「3」である。集約関数または分析関数に“GROUP BY”が付いているクエリの場合、予測データ量は「2」である。“WHERE”句が多いクエリの場合、予測データ量は「1」である。その他のクエリ(例えば、スキャン)の場合、予測データ量は「0」である。テーブルT2における予測データ量以外の項目は、テーブルT1と同様であるので、説明を省略する。 The predicted data amount is information indicating a predicted value of the data amount of data representing the query result. The predicted data amount is any value from “0” to “3”, and the smaller the value, the larger the predicted data amount. For example, in the case of a query with only an aggregate function or an analysis function, the predicted data amount is “3”. In the case of a query with “GROUP BY” attached to an aggregate function or analytic function, the predicted data amount is “2”. In the case of a query with many “WHERE” phrases, the predicted data amount is “1”. In the case of other queries (for example, scan), the predicted data amount is “0”. Since the items other than the predicted data amount in the table T2 are the same as those in the table T1, the description thereof is omitted.
 接続元IDは6バイトであり、予測データ量は2ビットであり、接続状態は1ビットであり、蓄積許可割合は6ビット(上限値:100)であり、バッファ使用量は6ビット(上限値:100)であり、カウント値は2バイトである。このため、テーブルT2における1つのエントリは、合計10バイトで構成される。 The connection source ID is 6 bytes, the predicted data amount is 2 bits, the connection state is 1 bit, the storage permission ratio is 6 bits (upper limit: 100), and the buffer usage is 6 bits (upper limit) : 100) and the count value is 2 bytes. Therefore, one entry in the table T2 is composed of a total of 10 bytes.
 図17は、第3実施形態に係るクエリ結果エントリ受取処理の詳細を示すフローチャートである。図17に示されるクエリ結果エントリ受取処理は、クエリ結果エントリがクエリ実行部240からバッファ管理部250に入力されたときに実行される。クエリ結果エントリは、(x,e,r)で表される。xは、クエリを識別するためのクエリ識別情報である。eは、レコード番号である。rは、クエリ結果のレコードである。 FIG. 17 is a flowchart showing details of the query result entry receiving process according to the third embodiment. The query result entry receiving process shown in FIG. 17 is executed when a query result entry is input from the query execution unit 240 to the buffer management unit 250. The query result entry is represented by (x, e, r). x is query identification information for identifying a query. e is a record number. r is a query result record.
 まず、バッファ管理部250は、テーブルT2の「接続状態」を参照し、クエリ実行部240から入力されたクエリ結果エントリに関するアプリケーション端末100が「接続中」であるか否かを判定する(S100)。バッファ管理部250は、クエリ実行部240から入力されたクエリ結果エントリに関するアプリケーション端末100が「接続中」であると判定した場合、クエリ結果エントリを用いてパケットを作成し、作成したパケットをバッファメモリ270に記憶する(S101)。その後、バッファ管理部250は、本フローチャートによる処理を終了する。 First, the buffer management unit 250 refers to the “connection state” in the table T2, and determines whether or not the application terminal 100 related to the query result entry input from the query execution unit 240 is “connected” (S100). . If the buffer management unit 250 determines that the application terminal 100 related to the query result entry input from the query execution unit 240 is “connected”, the buffer management unit 250 creates a packet using the query result entry, and the created packet is stored in the buffer memory. The data is stored in 270 (S101). Thereafter, the buffer management unit 250 ends the processing according to this flowchart.
 一方、S100において、バッファ管理部250は、クエリ実行部240から入力されたクエリ結果エントリに関するアプリケーション端末100が「接続中」でないと判定した場合、テーブルT2において「異常切断中」となっているエントリが複数あるか否かを判定する(S102)。 On the other hand, in S100, if the buffer management unit 250 determines that the application terminal 100 related to the query result entry input from the query execution unit 240 is not “connected”, the entry indicating “abnormal disconnection” in the table T2 It is determined whether or not there is a plurality (S102).
 バッファ管理部250は、テーブルT2において「異常切断中」となっているエントリが複数あると判定した場合、テーブルT2の「予測データ量」を参照し、クエリ実行部240から入力されたクエリ結果エントリに関する「予測データ量」が「0」であるか否かを判定する(S103)。バッファ管理部250は、クエリ実行部240から入力されたクエリ結果エントリに関する「予測データ量」が「0」であると判定した場合、クエリ結果エントリを保持できないことを示す結果保持不可エラーをクエリ実行部240に出力し(S104)、本フローチャートによる処理を終了する。 When the buffer management unit 250 determines that there are a plurality of entries that are “being abnormally disconnected” in the table T2, the query result entry input from the query execution unit 240 with reference to the “predicted data amount” in the table T2 It is determined whether or not the “predicted data amount” relating to “0” is “0” (S103). When the buffer management unit 250 determines that the “predicted data amount” related to the query result entry input from the query execution unit 240 is “0”, a query execution error indicating that the query result entry cannot be held is executed. The data is output to the unit 240 (S104), and the processing according to this flowchart is terminated.
 一方、S102において、バッファ管理部250は、テーブルT2において「異常切断中」となっているエントリが複数あると判定しなかった場合、後述するS105に処理を進める。また、S103において、バッファ管理部250は、クエリ実行部240から入力されたクエリ結果エントリに関する「予測データ量」が「0」でないと判定した場合も、後述するS105に処理を進める。 On the other hand, in S102, if the buffer management unit 250 does not determine that there are a plurality of entries that are “being abnormally disconnected” in the table T2, the process proceeds to S105 described later. In S103, when the buffer management unit 250 determines that the “predicted data amount” related to the query result entry input from the query execution unit 240 is not “0”, the buffer management unit 250 proceeds to S105 described later.
 S105において、バッファ管理部250は、テーブルT2を参照し、クエリ実行部240から入力されたクエリ結果エントリに関する「バッファ使用量」が「蓄積許可割合」に到達しているか否かを判定する(S105)。バッファ管理部250は、クエリ実行部240から入力されたクエリ結果エントリに関する「バッファ使用量」が「蓄積許可割合」に到達していると判定した場合、バッファメモリ270がフル状態であることを示すバッファフルエラーをクエリ実行部240に出力し(S106)、本フローチャートによる処理を終了する。 In S105, the buffer management unit 250 refers to the table T2, and determines whether or not the “buffer usage” related to the query result entry input from the query execution unit 240 has reached the “accumulation permission ratio” (S105). ). If the buffer management unit 250 determines that the “buffer usage” related to the query result entry input from the query execution unit 240 has reached the “accumulation permission ratio”, the buffer management unit 250 indicates that the buffer memory 270 is full. A buffer full error is output to the query execution unit 240 (S106), and the processing according to this flowchart ends.
 一方、S105において、バッファ管理部250は、「バッファ使用量」が「蓄積許可割合」に到達していないと判定した場合、バッファメモリ270に空きがあるか否かを判定する(S107)。バッファ管理部250は、バッファメモリ270に空きがあると判定した場合、クエリ結果エントリを用いてパケットを作成し、作成したパケットをバッファメモリ270に記憶する(S108)。その後、バッファ管理部250は、テーブルT2における「バッファ使用量」を更新し(S109)、本フローチャートによる処理を終了する。 On the other hand, in S105, when the buffer management unit 250 determines that the “buffer usage amount” has not reached the “accumulation permission ratio”, the buffer management unit 250 determines whether or not the buffer memory 270 has an empty space (S107). When the buffer management unit 250 determines that the buffer memory 270 is free, the buffer management unit 250 creates a packet using the query result entry, and stores the created packet in the buffer memory 270 (S108). Thereafter, the buffer management unit 250 updates the “buffer usage” in the table T2 (S109), and ends the processing according to this flowchart.
 一方、S107において、バッファ管理部250は、バッファメモリ270に空きがないと判定した場合、クエリ結果エントリを用いてパケットを作成し、作成したパケットをバッファメモリ270に記憶された他のエントリに上書きする(S110)。ただし、前述したように、テーブルT2に示される蓄積許可割合が「0%」の場合など、上書きできない場合もある。その後、バッファ管理部250は、テーブルT2における「バッファ使用量」を更新し(S109)、本フローチャートによる処理を終了する。 On the other hand, if the buffer management unit 250 determines in S107 that the buffer memory 270 has no free space, it creates a packet using the query result entry, and overwrites the created packet with another entry stored in the buffer memory 270. (S110). However, as described above, there are cases where overwriting cannot be performed, for example, when the accumulation permission ratio shown in the table T2 is “0%”. Thereafter, the buffer management unit 250 updates the “buffer usage” in the table T2 (S109), and ends the processing according to this flowchart.
 図18は、第3実施形態に係るクエリ処理の詳細を示すフローチャートである。図18に示されるクエリ処理は、データベース管理装置200がアプリケーション端末100からクエリを受信した場合に、クエリ実行部240によって実行される。クエリは、(x,q)で表される。xは、クエリを識別するためのクエリ識別情報である。qは、クエリ内容である。 FIG. 18 is a flowchart showing details of query processing according to the third embodiment. The query processing shown in FIG. 18 is executed by the query execution unit 240 when the database management apparatus 200 receives a query from the application terminal 100. The query is represented by (x, q). x is query identification information for identifying a query. q is a query content.
 まず、クエリ実行部240は、クエリの種類およびクエリの検索条件に基づいて、蓄積許可割合を算出する(S120)。具体的に、クエリ実行部240は、クエリ結果の予測データ量が「0」から「3」の何れであるかを判定する。前述したように、集約関数または分析関数のみのクエリの場合、予測データ量は「3」である。集約関数または分析関数に“GROUP BY”が付いているクエリの場合、予測データ量は「2」である。“WHERE”句が多いクエリの場合、予測データ量は「1」である。その他のクエリ(例えば、スキャン)の場合、予測データ量は「0」である。 First, the query execution unit 240 calculates a storage permission ratio based on the type of query and the query search condition (S120). Specifically, the query execution unit 240 determines whether the predicted data amount of the query result is “0” to “3”. As described above, in the case of a query with only an aggregate function or an analysis function, the predicted data amount is “3”. In the case of a query with “GROUP BY” attached to an aggregate function or analytic function, the predicted data amount is “2”. In the case of a query with many “WHERE” phrases, the predicted data amount is “1”. In the case of other queries (for example, scan), the predicted data amount is “0”.
 また、クエリ実行部240は、予測データ量を、通信が切断されているアプリケーションの予測データ量の合計値で除算することによって、蓄積許可割合を算出する。クエリ実行部240は、算出した蓄積許可割合をテーブルT2に書き込む。 Further, the query execution unit 240 calculates the accumulation permission ratio by dividing the predicted data amount by the total value of the predicted data amounts of the applications for which communication is disconnected. The query execution unit 240 writes the calculated accumulation permission ratio in the table T2.
 図18におけるS121からS132の処理は、図15におけるS81からS92の処理と同様である。このため、S121からS132の処理の詳細については、説明を省略する。 The processing from S121 to S132 in FIG. 18 is the same as the processing from S81 to S92 in FIG. For this reason, the details of the processing from S121 to S132 are omitted.
 以上説明したように、第3実施形態において、クエリ実行部240は、クエリ結果を表すデータのデータ量を予測する。バッファ管理部250は、クエリ実行部240によって予測されたデータ量に基づいて、クエリ実行部240によって取得されたクエリ結果をバッファメモリ270に記憶させるか否かを判定する。これによって、バッファメモリ270の平均消費量を削減することができる。 As described above, in the third embodiment, the query execution unit 240 predicts the data amount of data representing the query result. The buffer management unit 250 determines whether or not to store the query result acquired by the query execution unit 240 in the buffer memory 270 based on the data amount predicted by the query execution unit 240. As a result, the average consumption of the buffer memory 270 can be reduced.
 以上説明した少なくともひとつの実施形態によれば、データベース管理システム10は、送受信管理部210と、クエリ実行部240と、バッファ管理部250とを持つ。送受信管理部210は、アプリケーションを実行するアプリケーション端末100からクエリを受信するとともに、クエリの検索対象のデータであるクエリ結果をバッファメモリ270から読み出してアプリケーション端末100に送信する。クエリ実行部240は、送受信管理部210によって受信されたクエリに基づく処理を実行することにより、クエリ結果を取得する。バッファ管理部250は、アプリケーション端末100との通信が切断された場合に、クエリ実行部240によって取得されたクエリ結果をバッファメモリ270に記憶させるか否かを、アプリケーションとの通信に関する評価値に基づいて判定する。これによって、データベース管理システム10は、データベース管理システム10のネットワーク接続環境が不安定な場合であっても、アプリケーションの都合に応じてクエリ結果のデータを再送信することができる。 According to at least one embodiment described above, the database management system 10 includes the transmission / reception management unit 210, the query execution unit 240, and the buffer management unit 250. The transmission / reception management unit 210 receives a query from the application terminal 100 that executes the application, reads a query result that is data to be searched for the query from the buffer memory 270, and transmits the query result to the application terminal 100. The query execution unit 240 acquires a query result by executing a process based on the query received by the transmission / reception management unit 210. The buffer management unit 250 determines whether or not to store the query result acquired by the query execution unit 240 in the buffer memory 270 when communication with the application terminal 100 is disconnected, based on an evaluation value related to communication with the application. Judgment. Accordingly, the database management system 10 can retransmit the query result data according to the convenience of the application even when the network connection environment of the database management system 10 is unstable.
 本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。 Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and gist of the invention, and are also included in the invention described in the claims and the equivalents thereof.
 10…データベース管理システム、100…アプリケーション端末、110…アプリケーション実行部、120…パケットサイズ決定部、200…データベース管理装置、210…送受信管理部、230…接続管理部、231…パケットサイズ決定部、240…クエリ実行部、250…バッファ管理部、260…通信品質判定部、270…バッファメモリ、280…記憶部 DESCRIPTION OF SYMBOLS 10 ... Database management system, 100 ... Application terminal, 110 ... Application execution part, 120 ... Packet size determination part, 200 ... Database management apparatus, 210 ... Transmission / reception management part, 230 ... Connection management part, 231 ... Packet size determination part, 240 ... Query execution unit, 250 ... Buffer management unit, 260 ... Communication quality determination unit, 270 ... Buffer memory, 280 ... Storage unit

Claims (9)

  1.  アプリケーションを実行するアプリケーション端末からクエリを受信するとともに、前記クエリの検索対象のデータであるクエリ結果をバッファメモリから読み出して前記アプリケーション端末に送信する送受信管理部と、
     前記送受信管理部によって受信された前記クエリに基づく処理を実行することにより、前記クエリ結果を取得するクエリ実行部と、
     前記アプリケーション端末との通信が切断された場合に、前記クエリ実行部によって取得された前記クエリ結果を前記バッファメモリに記憶させるか否かを、前記アプリケーションとの通信に関する評価値に基づいて判定するバッファ管理部と、
     を備えるデータベース管理装置。
    A transmission / reception management unit that receives a query from an application terminal that executes an application, reads a query result that is data to be searched for the query from a buffer memory, and transmits the query result to the application terminal;
    A query execution unit that acquires the query result by executing processing based on the query received by the transmission / reception management unit;
    A buffer for determining whether to store the query result acquired by the query execution unit in the buffer memory based on an evaluation value related to communication with the application when communication with the application terminal is disconnected The management department,
    A database management device comprising:
  2.  前記評価値として、前記アプリケーションごとの通信品質を判定する通信品質判定部を更に備え、
     前記バッファ管理部は、前記通信品質判定部によって判定された前記通信品質に基づいて、前記クエリ実行部によって取得された前記クエリ結果を前記バッファメモリに記憶させるか否かを判定する
     請求項1記載のデータベース管理装置。
    The evaluation value further includes a communication quality determination unit that determines communication quality for each application,
    The buffer management unit determines whether to store the query result acquired by the query execution unit in the buffer memory based on the communication quality determined by the communication quality determination unit. Database management device.
  3.  前記通信品質判定部は、前記アプリケーションとの通信の平均切断間隔または平均再接続間隔に基づいて、前記通信品質を判定する
     請求項2記載のデータベース管理装置。
    The database management device according to claim 2, wherein the communication quality determination unit determines the communication quality based on an average disconnection interval or an average reconnection interval of communication with the application.
  4.  前記クエリ実行部は、前記評価値として、前記クエリ結果を表すデータのデータ量を予測し、
     前記バッファ管理部は、前記クエリ実行部によって予測された前記データ量に基づいて、前記クエリ実行部によって取得された前記クエリ結果を前記バッファメモリに記憶させるか否かを判定する
     請求項1記載のデータベース管理装置。
    The query execution unit predicts a data amount of data representing the query result as the evaluation value,
    The said buffer management part determines whether the said query result acquired by the said query execution part is memorize | stored in the said buffer memory based on the said data amount estimated by the said query execution part. Database management device.
  5.  前記クエリ実行部は、前記クエリの種類および前記クエリの検索条件に基づいて、前記データ量を予測する
     請求項4記載のデータベース管理装置。
    The database management device according to claim 4, wherein the query execution unit predicts the data amount based on a type of the query and a search condition of the query.
  6.  前記バッファメモリは、前記バッファ管理部および前記送受信管理部が同時にアクセス可能なメモリであり、
     前記バッファ管理部は、前記クエリ実行部によって取得された前記クエリ結果に対して通信に必要なヘッダ情報を付加し、前記ヘッダ情報が付加された前記クエリ結果を前記バッファメモリに記憶し、
     前記送受信管理部は、前記バッファメモリから前記クエリ結果を読み出し、読み出した前記クエリ結果を前記アプリケーション端末に送信する
     請求項1から5のいずれか一項に記載のデータベース管理装置。
    The buffer memory is a memory that the buffer management unit and the transmission / reception management unit can access simultaneously,
    The buffer management unit adds header information necessary for communication to the query result acquired by the query execution unit, and stores the query result to which the header information is added in the buffer memory,
    The database management apparatus according to any one of claims 1 to 5, wherein the transmission / reception management unit reads the query result from the buffer memory and transmits the read query result to the application terminal.
  7.  前記アプリケーション端末とネゴシエーションを行って、前記データベース管理装置と前記アプリケーション端末との間で使用可能な最大パケットサイズを決定するパケットサイズ決定部を更に備え、
     前記バッファ管理部は、前記パケットサイズ決定部によって決定された前記最大パケットサイズに収まる範囲内で、前記クエリ結果の1以上のレコードに前記ヘッダ情報が付加されたパケットを生成し、生成した前記パケットを前記バッファメモリに記憶する
     請求項6記載のデータベース管理装置。
    A packet size determining unit that performs negotiation with the application terminal and determines a maximum packet size that can be used between the database management device and the application terminal;
    The buffer management unit generates a packet in which the header information is added to one or more records of the query result within a range that fits the maximum packet size determined by the packet size determination unit, and the generated packet The database management device according to claim 6, wherein: is stored in the buffer memory.
  8.  アプリケーションを実行するアプリケーション端末と、
     前記アプリケーション端末に接続されたデータベース管理装置と、を備え、
     前記データベース管理装置は、
     前記アプリケーション端末からクエリを受信するとともに、前記クエリの検索対象のデータであるクエリ結果をバッファメモリから読み出して前記アプリケーション端末に送信する送受信管理部と、
     前記送受信管理部によって受信された前記クエリに基づく処理を実行することにより、前記クエリ結果を取得するクエリ実行部と、
     前記アプリケーション端末との通信が切断された場合に、前記クエリ実行部によって取得された前記クエリ結果を前記バッファメモリに記憶させるか否かを、前記アプリケーションとの通信に関する評価値に基づいて判定するバッファ管理部と、
     を備えるデータベース管理システム。
    An application terminal that executes the application;
    A database management device connected to the application terminal,
    The database management device includes:
    A transmission / reception management unit that receives a query from the application terminal, and reads a query result that is data to be searched for the query from a buffer memory,
    A query execution unit that acquires the query result by executing processing based on the query received by the transmission / reception management unit;
    A buffer for determining whether to store the query result acquired by the query execution unit in the buffer memory based on an evaluation value related to communication with the application when communication with the application terminal is disconnected The management department,
    A database management system comprising:
  9.  送受信管理部が、アプリケーションを実行するアプリケーション端末からクエリを受信するとともに、前記クエリの検索対象のデータであるクエリ結果をバッファメモリから読み出して前記アプリケーション端末に送信し、
     クエリ実行部が、前記送受信管理部によって受信された前記クエリに基づく処理を実行することにより、前記クエリ結果を取得し、
     バッファ管理部が、前記アプリケーション端末との通信が切断された場合に、前記クエリ実行部によって取得された前記クエリ結果を前記バッファメモリに記憶させるか否かを、前記アプリケーションとの通信に関する評価値に基づいて判定する
     データベース管理方法。
    The transmission / reception management unit receives a query from an application terminal that executes an application, reads a query result that is data to be searched for the query from a buffer memory, and transmits the query result to the application terminal.
    The query execution unit acquires the query result by executing a process based on the query received by the transmission / reception management unit,
    Whether or not the buffer management unit stores the query result acquired by the query execution unit in the buffer memory when communication with the application terminal is disconnected, as an evaluation value related to communication with the application Judgment based on database management method.
PCT/JP2018/008548 2017-06-07 2018-03-06 Database management device, database management system, and database management method WO2018225315A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017112850A JP2018206206A (en) 2017-06-07 2017-06-07 Database management device, database management system, and database management method
JP2017-112850 2017-06-07

Publications (1)

Publication Number Publication Date
WO2018225315A1 true WO2018225315A1 (en) 2018-12-13

Family

ID=64565837

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/008548 WO2018225315A1 (en) 2017-06-07 2018-03-06 Database management device, database management system, and database management method

Country Status (2)

Country Link
JP (1) JP2018206206A (en)
WO (1) WO2018225315A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020136790A1 (en) * 2018-12-27 2020-07-02 三菱電機株式会社 Edge system, information processing method, and information processing program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MATSUO, TAKAHIRO ET AL.: "Scalable Automatic Buffer Tuning to Provide High Performable and Fair Service for TCP Connections", IEICE TECHNICAL REPORT, vol. 99, no. 674, 9 March 2000 (2000-03-09), pages 37 - 42 *

Also Published As

Publication number Publication date
JP2018206206A (en) 2018-12-27

Similar Documents

Publication Publication Date Title
US10083177B2 (en) Data caching among interconnected devices
JP6282293B2 (en) Method, computer system and computer program for performing integrity check and selective deduplication based on network parameters
US7877517B2 (en) Determining whether to compress data transmitted over a network
RU2438162C2 (en) Enabling network devices to run multiple congestion control algorithms
KR20160019361A (en) Probabilistic Lazy-Forwarding Technique Without Validation In A Content Centric Network
US9094483B2 (en) System and method for collecting and evaluating statistics to establish network connections
US9356780B2 (en) Device, method, and system for encrypted communication by using encryption key
US9832125B2 (en) Congestion notification system
CN110677684B (en) Video processing method, video access method, distributed storage method and distributed video access system
US20210392200A1 (en) Systems and methods for remote network topology discovery
CN111753223A (en) Access control method and device
US8502710B2 (en) Methods and computer program products for providing a compressed circular buffer for efficient storage of network performance data
US9781023B2 (en) Information processing device, information processing method, and recording medium
US10154079B2 (en) Pre-boot file transfer system
CN101278274A (en) Peer name resolution protocol simple application program interface
WO2018225315A1 (en) Database management device, database management system, and database management method
US9923794B2 (en) Method, apparatus, and system for identifying abnormal IP data stream
US9372500B2 (en) Generating a timeout signal based on a clock counter associated with a data request
CN110677683B (en) Video storage and video access method and distributed storage and video access system
US11334487B2 (en) Cache sharing in virtual clusters
JP2021039802A (en) Data processing system and data processing method
US20140025630A1 (en) Data-store management apparatus, data providing system, and data providing method
JP4365381B2 (en) Communication control method and communication control apparatus
JP6886874B2 (en) Edge devices, data processing systems, data transmission methods, and programs
US20140136647A1 (en) Router and operating method thereof

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18814352

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18814352

Country of ref document: EP

Kind code of ref document: A1