JP2010061253A - Memory management server and method, and program - Google Patents

Memory management server and method, and program Download PDF

Info

Publication number
JP2010061253A
JP2010061253A JP2008224320A JP2008224320A JP2010061253A JP 2010061253 A JP2010061253 A JP 2010061253A JP 2008224320 A JP2008224320 A JP 2008224320A JP 2008224320 A JP2008224320 A JP 2008224320A JP 2010061253 A JP2010061253 A JP 2010061253A
Authority
JP
Japan
Prior art keywords
memory
data
image file
storage device
application program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008224320A
Other languages
Japanese (ja)
Other versions
JP5520462B2 (en
Inventor
Michitaka Ono
道誉 大野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
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 Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2008224320A priority Critical patent/JP5520462B2/en
Publication of JP2010061253A publication Critical patent/JP2010061253A/en
Application granted granted Critical
Publication of JP5520462B2 publication Critical patent/JP5520462B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To provide a memory management server and method, and a program, allowing high-speed retrieval by constructing, in a storage device of an application server, a shared memory area (a memory image file) holding a memory structure used by an application program. <P>SOLUTION: The memory management method has processes: for calculating size of data used in the application program; for securing the data used in the application program in a continuous internal memory area; for writing the data used in the application program into the continuous internal memory area; for performing memory mapping processing of the data written in the continuous internal memory area to an auxiliary storage device as the memory image file; and for synchronizing the data of the memory image file and the data of the memory image file. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、メモリ管理サーバ、方法及びプログラムに関する。さらに、詳細には、WEBアプリケーションプログラム毎にアプリケーションサーバでメモリを共有するサーバ、方法及びプログラムに関する。   The present invention relates to a memory management server, a method, and a program. More specifically, the present invention relates to a server, a method, and a program for sharing a memory among application servers for each WEB application program.

一般的に、WEBアプリケーションプログラムにおいてリクエスト毎に同じデータを参照したい場合にはデータベースサーバを使用している。   Generally, a database server is used when it is desired to refer to the same data for each request in a WEB application program.

しかし、さらに早いスピードを求められるWEBアプリケーションプログラムの場合には、データをWEBサーバの共有メモリ上に格納(記憶)し、メモリアクセスのみでデータを検索することによってデータベースサーバによるオーバヘッドを回避することがある(例えば特許文献1参照)。   However, in the case of a WEB application program that requires higher speed, it is possible to avoid the overhead caused by the database server by storing (storing) the data on the shared memory of the WEB server and retrieving the data only by memory access. Yes (see, for example, Patent Document 1).

特開平6−67954号公報JP-A-6-67954

WEBサーバ上の半導体素子による共有メモリを使用するとデータへのアクセスを高速に実行することが可能となるが、WEBアプリケーションプログラムがリクエスト毎に新たなプロセスを生成するようなものである場合には、共有メモリを使用することができない。   If a shared memory by a semiconductor element on the WEB server is used, data can be accessed at a high speed. However, if the WEB application program generates a new process for each request, The shared memory cannot be used.

また、共有メモリを使用する場合にはアプリケーションサーバのメモリリソースを消費することになるために、あまり大量のデータを共有メモリに格納(記憶)することができない。   Further, when the shared memory is used, the memory resources of the application server are consumed, so that a large amount of data cannot be stored (stored) in the shared memory.

本発明は、このような状況に鑑みてなされたものであり、HDD(Hard Disc Drive)等のアプリケーションサーバの記憶装置にアプリケーションプログラムが利用するメモリ構造を保持した共有メモリ領域(メモリイメージファイル)を構築し、この領域をWEBアプリケーションプログラムから参照することによって上記問題を解決するとともに、データベースサーバの代替としての機能を担うことによって高速検索を可能とするメモリ管理サーバ及び方法及びプログラムを提供することを目的とする。   The present invention has been made in view of such a situation, and a shared memory area (memory image file) holding a memory structure used by an application program in a storage device of an application server such as an HDD (Hard Disc Drive) is provided. To provide a memory management server, a method, and a program capable of solving the above problem by constructing and referring to this area from a WEB application program, and enabling high-speed search by assuming a function as an alternative to a database server Objective.

(1)補助記憶装置を共有メモリとして、複数のアプリケーションから利用することを可能にするための方法であって、アプリケーションプログラムにおいて使用される前記データを連続した内部メモリ領域を確保する工程と、前記連続した内部メモリ領域に前記アプリケーションプログラムにおいて使用される前記データを書き込む工程と、前記連続した内部メモリ領域に書き込まれた前記データを補助記憶装置にメモリイメージファイルとしてメモリマッピング処理する工程と、前記内部メモリのデータと前記メモリイメージファイルのデータの同期をとる工程と、を含み,前記メモリイメージファイルの前記データは前記メモリ領域のメモリ構造を保持し、複数の前記アプリケーションプログラムが、前記記憶装置の前記メモリイメージファイルを共有することを特徴とするメモリ管理方法。   (1) A method for making it possible to use an auxiliary storage device as a shared memory from a plurality of applications, the step of securing a continuous internal memory area for the data used in an application program, A step of writing the data used in the application program in a continuous internal memory area; a step of performing a memory mapping process as a memory image file in the auxiliary storage device with the data written in the continuous internal memory area; Synchronizing the data of the memory and the data of the memory image file, wherein the data of the memory image file retains a memory structure of the memory area, and a plurality of the application programs are stored in the storage device. Memory image Memory management method is characterized by the sharing the file.

(1)に係る発明によれば、補助記憶装置を共有メモリとして、複数のアプリケーションから利用することを可能にするために、アプリケーションプログラムに使用されるデータを連続したメモリ領域に書き込み、連続した内部メモリ領域に書き込まれたデータを内部メモリ領域のメモリ構造を保持したままで、メモリマッピング処理し、メモリマッピング処理されたメモリイメージファイル(メモリマップファイルとも呼ぶ)を物理的に格納する補助記憶装置に同期を取る(データを書き込む)動作を実行する。ここで、「補助記憶装置」とは、典型的には、コンピュータ装置に備えられたハードディスク等の書き込み可能な記憶装置または記憶媒体を指すが、「内部メモリ」(主記憶)との対比のために使用しており、必ずしも物理的にコンピュータ装置筐体の内部、外部に位置することを意味するものではない。   According to the invention according to (1), in order to make it possible to use the auxiliary storage device as a shared memory from a plurality of applications, data used for the application program is written in a continuous memory area, and a continuous internal memory is used. A memory mapping process is performed on the data written in the memory area while maintaining the memory structure of the internal memory area, and a memory image file (also referred to as a memory map file) subjected to the memory mapping process is physically stored in an auxiliary storage device Performs synchronization (writes data) operation. Here, “auxiliary storage device” typically refers to a writable storage device or storage medium such as a hard disk provided in a computer device, but for comparison with “internal memory” (main memory). It does not necessarily mean that it is physically located inside or outside the computer apparatus housing.

このようにして、(1)に係る発明によれば、アプリケーションプログラムに使用されるデータがネットワークを介して接続されたデータベースサーバに記憶されている場合に比較すると通信回線を介した送受信がないのでデータ検索の高速化が容易に達成される。   Thus, according to the invention according to (1), there is no transmission / reception via the communication line as compared with the case where the data used for the application program is stored in the database server connected via the network. High speed data retrieval is easily achieved.

また、アプリケーションサーバのローカルな記憶部にマッピング処理をしていない状態でデータが記憶されている場合に比較すると、本発明ではフォーマット変換が不要となるのでデータ検索の高速化が容易に達成される。   Compared to the case where the data is stored in the local storage unit of the application server in a state where no mapping process is performed, format conversion is not required in the present invention, so that the speed of data retrieval can be easily achieved. .

また、アプリケーションサーバのメインメモリにデータを記憶する場合には、アプリケーションサーバの起動時にアプリケーションサーバのローカルな記憶部に記憶されているデータを一旦メインメモリに読み込む必要があるのでメモリ読み込み時間がかかるが、本発明ではそのような待ち時間がなくなる。   Further, when data is stored in the main memory of the application server, it takes time to read the memory because the data stored in the local storage unit of the application server needs to be once read into the main memory when starting the application server. In the present invention, such waiting time is eliminated.

さらに、メインメモリは一般的に価格および実装面積の制限から大きな容量を保持することが困難であるために、データ領域に多くの容量を使用すると他のプログラムの実行速度が遅くなるなどの弊害が発生するが、本発明ではデータへの検索速度の高速化を維持しつつそのような弊害も発生しない。   Furthermore, since it is difficult to maintain a large capacity of the main memory because of the limitation of the price and mounting area in general, the use of a large amount of data in the data area may cause other programs to run slower. Although this occurs, the present invention does not cause such an adverse effect while maintaining a high search speed for data.

また、本発明によれば、OS(Operating System)や開発言語に対応したメモリイメージファイルを作成することにより環境に依存しない構成とすることが可能になる。   Furthermore, according to the present invention, it is possible to create a configuration that does not depend on the environment by creating a memory image file corresponding to an OS (Operating System) or a development language.

共有メモリ領域(メモリイメージファイル)をHDD(Hard Disc Drive)等のアプリケーションサーバの記憶装置に記憶しているので、WEBサーバがダウンしてもデータが失われることがない。   Since the shared memory area (memory image file) is stored in the storage device of the application server such as an HDD (Hard Disc Drive), data is not lost even if the WEB server goes down.

また、WEBアプリケーションプログラムがリクエスト毎に新たなプロセスを生成するようなものである場合であっても、メモリイメージファイルとしてデータが保持されているので検索(アクセス)が可能となる。
(2)前記内部メモリ領域の前記データの並び順と前記補助記憶装置の前記メモリイメージファイルの前記データの並び順とが同じであることを特徴とする(1)に記載のメモリ管理方法。
Even if the WEB application program generates a new process for each request, the data is stored as a memory image file, so that retrieval (access) is possible.
(2) The memory management method according to (1), wherein an arrangement order of the data in the internal memory area is the same as an arrangement order of the data in the memory image file of the auxiliary storage device.

(2)に係る発明によれば、(1)において作成するメモリイメージファイルの前記データは前記内部メモリ領域の前記データの並び順と同じであるので複数のアプリケーションプログラムで一つのファイルとして扱われることが可能となる。   According to the invention according to (2), since the data of the memory image file created in (1) is the same as the order of the data in the internal memory area, it is handled as a single file by a plurality of application programs. Is possible.

このようにして、(2)に係る発明によれば、一つのアプリケーションプログラムに使用されるデータをまとめて一つのメモリイメージファイルにすることができるので、データを効率よく管理することが可能となった。   In this way, according to the invention according to (2), data used in one application program can be combined into one memory image file, so that data can be managed efficiently. It was.

また、WEBアプリケーションプログラムがリクエスト毎に新たなプロセスを生成するようなものである場合であっても、メモリイメージファイルとしてデータが保持されているのでWEBアプリケーションプログラム毎にデータの検索(アクセス)が可能となる。   Even if the WEB application program generates a new process for each request, data can be retrieved (accessed) for each WEB application program because the data is stored as a memory image file. It becomes.

(3)前記アプリケーションプログラムはWEBアプリケーションプログラムであり、前記補助記憶装置は前記WEBアプリケーションプログラムが動作するWEBアプリケーションサーバ内にある記憶装置であることを特徴とする(1)または(2)に記載のメモリ管理方法。   (3) The application program is a WEB application program, and the auxiliary storage device is a storage device in a WEB application server on which the WEB application program operates. (1) or (2) Memory management method.

(3)に係る発明によれば、WEBアプリケーションで使用したいデータを、メモリに格納する場合と同じイメージでファイル化し、HDD等の記憶装置に保存する。   According to the invention according to (3), data desired to be used in the WEB application is filed with the same image as that stored in the memory and stored in a storage device such as an HDD.

このようにして、(3)に係る発明によれば、共有メモリ領域であるメモリイメージファイルがHDD等の記憶装置に存在するので、WEBサーバがダウンしてもデータが失われることがない。   Thus, according to the invention according to (3), since the memory image file that is the shared memory area exists in the storage device such as the HDD, data is not lost even if the WEB server goes down.

(4)前記メモリイメージファイルは読み出し専用とし、前記メモリイメージファイルのデータの内容を変更する場合には前記メモリイメージファイル全体を差し替えることを特徴とする請求項(1)乃至(3)の何れか一項に記載のメモリ管理方法。   (4) The memory image file is read-only, and when the data content of the memory image file is changed, the entire memory image file is replaced. The memory management method according to one item.

このようにして、(4)に係る発明によれば、メモリイメージファイルの内容を変更する場合には、メモリイメージファイルの差し替えのみでデータの更新が可能となる。   Thus, according to the invention according to (4), when the contents of the memory image file are changed, the data can be updated only by replacing the memory image file.

(5)補助記憶装置を共有メモリとして、複数のアプリケーションから利用することを可能にするためのメモリ管理サーバ装置であって、アプリケーションプログラムにおいて使用される前記データを連続した内部メモリ領域を確保する記憶領域確保手段と、前記連続した内部メモリ領域に前記アプリケーションプログラムにおいて使用される前記データを書き込むデータ書込手段と、前記連続した領域に書き込まれた前記データを補助記憶装置にメモリイメージファイルとしてメモリマッピング処理するメモリマッピング手段と、前記内部メモリのデータと前記メモリイメージファイルのデータを同期をとる同期手段と、を備え、前記メモリイメージファイルの前記データは前記内部メモリ領域のメモリ構造を保持し、複数のアプリケーションプログラムが、前記補助記憶装置の前記メモリイメージファイルを共有することを特徴とするメモリ管理サーバ装置。   (5) A memory management server device for enabling an auxiliary storage device to be used as a shared memory from a plurality of applications, and for storing a continuous internal memory area for the data used in the application program Area allocation means, data writing means for writing the data used in the application program in the continuous internal memory area, and memory mapping as a memory image file for the data written in the continuous area in an auxiliary storage device Memory mapping means for processing; and synchronization means for synchronizing the data of the internal memory and the data of the memory image file, wherein the data of the memory image file holds a memory structure of the internal memory area, Application Down program, memory management server apparatus characterized by sharing the memory image file of the auxiliary storage device.

(5)に係る発明によれば、補助記憶装置を共有メモリとして、複数のアプリケーションから利用することを可能にするために、アプリケーションプログラムに使用されるデータを連続した内部メモリ領域に書き込み、連続した内部メモリ領域に書き込まれたデータをメモリマッピング処理し、メモリマッピング処理されたメモリイメージファイルを物理的に存在する記憶装置に同期を取る(データを書き込む)動作を実行する。なお、「補助記憶装置」の定義は、(1)で説明したものと同様である。   According to the invention according to (5), in order to make it possible to use the auxiliary storage device as a shared memory from a plurality of applications, the data used for the application program is written to the continuous internal memory area and continuously The memory mapping process is performed on the data written in the internal memory area, and the memory image file subjected to the memory mapping process is synchronized with the storage device that physically exists (data is written). The definition of “auxiliary storage device” is the same as that described in (1).

このようにして、(5)に係る発明によれば、アプリケーションプログラムに使用されるデータがデータベースサーバに記憶されている場合に比較すると通信回線を介した送受信がないのでデータ検索の高速化が容易に達成される。   In this way, according to the invention according to (5), since data used for the application program is stored in the database server, there is no transmission / reception via the communication line, so the data search can be speeded up easily. To be achieved.

また、アプリケーションサーバのローカルな記憶部にマッピング処理をしていない状態でデータが記憶されている場合に比較すると本発明ではフォーマット変換が不要となるのでデータ検索の高速化が容易に達成される。   Further, compared to the case where data is stored in the local storage unit of the application server in a state where mapping processing is not performed, in the present invention, format conversion is not required, so that data search can be easily speeded up.

また、アプリケーションサーバのメインメモリにデータを記憶する場合には、アプリケーションサーバの起動時にアプリケーションサーバのローカルな記憶部に記憶されているデータを一旦メインメモリに読み込む必要があるのでメモリ読み込み時間がかかるが、本発明ではそのような待ち時間がなくなった。   Further, when data is stored in the main memory of the application server, it takes time to read the memory because the data stored in the local storage unit of the application server needs to be once read into the main memory when starting the application server. In the present invention, such a waiting time is eliminated.

さらに、メインメモリは一般的に価格および実装面積の制限から大きな容量を保持することが困難であるために、データ領域に多くの容量を使用すると他のプログラムの実行速度が遅くなるなどの弊害が発生するが本発明では、データへの検索速度の高速化を維持しつつそのような弊害も発生しない。   Furthermore, since it is difficult to maintain a large capacity of the main memory because of the limitation of the price and mounting area in general, the use of a large amount of data in the data area may cause other programs to run slower. Although it occurs, the present invention does not cause such an adverse effect while maintaining a high search speed for data.

また、本発明によれば、OSや開発言語に対応したメモリイメージファイルを作成することにより環境に依存しない構成とすることが可能になる。   Further, according to the present invention, it is possible to make a configuration independent of the environment by creating a memory image file corresponding to the OS or the development language.

共有メモリ領域(メモリイメージファイル)をHDD等のアプリケーションサーバの記憶装置に記憶しているので、WEBサーバがダウンしてもデータが失われることがない。   Since the shared memory area (memory image file) is stored in the storage device of the application server such as the HDD, data is not lost even if the WEB server goes down.

また、WEBアプリケーションプログラムがリクエスト毎に新たなプロセスを生成するようなものである場合であっても、メモリイメージファイルとしてデータが保持されているので検索(アクセス)が可能となる。   Even if the WEB application program generates a new process for each request, the data is stored as a memory image file, so that retrieval (access) is possible.

(6)(1)乃至(4)何れか一項に記載の方法をコンピュータに実行させることを特徴とするプログラム。   (6) A program that causes a computer to execute the method according to any one of (1) to (4).

このような構成によれば、当該プログラムをコンピュータに実行させることにより、(5)と同様の効果が期待できる。   According to such a configuration, the same effect as in (5) can be expected by causing the computer to execute the program.

本発明によれば、アプリケーションプログラムに使用されるデータがデータベースサーバに記憶されている場合に比較すると通信回線を介した送受信がないのでデータ検索の高速化が容易に達成される。   According to the present invention, as compared with the case where data used for an application program is stored in the database server, there is no transmission / reception via the communication line, so that the speed of data retrieval can be easily achieved.

また、アプリケーションサーバのローカルな記憶部にマッピング処理をしていない状態でデータが記憶されている場合に比較すると本発明ではフォーマット変換が不要となるのでデータ検索の高速化が容易に達成される。   Further, compared to the case where data is stored in the local storage unit of the application server in a state where mapping processing is not performed, in the present invention, format conversion is not required, so that data search can be easily speeded up.

また、アプリケーションサーバのメインメモリにデータを記憶する場合には、アプリケーションサーバの起動時にアプリケーションサーバのローカルな記憶部に記憶されているデータを一旦メインメモリに読み込む必要があるのでメモリ読み込み時間がかかるが、本発明ではそのような待ち時間がなくなった。   Further, when data is stored in the main memory of the application server, it takes time to read the memory because the data stored in the local storage unit of the application server needs to be once read into the main memory when starting the application server. In the present invention, such a waiting time is eliminated.

さらに、メインメモリは一般的に価格および実装面積の制限から大きな容量を保持することが困難であるために、データ領域に多くの容量を使用すると他のプログラムの実行速度が遅くなるなどの弊害が発生するが、本発明ではデータへの検索速度の高速化を維持しつつそのような弊害も発生しない。   Furthermore, since it is difficult to maintain a large capacity of the main memory because of the limitation of the price and mounting area in general, the use of a large amount of data in the data area may cause other programs to run slower. Although this occurs, the present invention does not cause such an adverse effect while maintaining a high search speed for data.

また、本発明によれば、OS(Operating System)や開発言語に対応したメモリイメージファイルを作成することにより環境に依存しない構成とすることが可能になる。   Furthermore, according to the present invention, it is possible to create a configuration that does not depend on the environment by creating a memory image file corresponding to an OS (Operating System) or a development language.

共有メモリ領域(メモリイメージファイル)をHDD(Hard Disc Drive)等のアプリケーションサーバの記憶装置に記憶しているので、WEBサーバがダウンしてもデータが失われることがない。   Since the shared memory area (memory image file) is stored in the storage device of the application server such as an HDD (Hard Disc Drive), data is not lost even if the WEB server goes down.

また、データの内容が変更になった場合であっても、メモリイメージファイルの差し替えで容易に対応することが可能である。   Further, even when the data content is changed, it is possible to easily cope with the replacement of the memory image file.

また、WEBアプリケーションプログラムがリクエスト毎に新たなプロセスを生成するようなものである場合であっても、メモリイメージファイルとしてデータが保持されているので検索(アクセス)が可能となる。   Even if the WEB application program generates a new process for each request, the data is stored as a memory image file, so that retrieval (access) is possible.

以下、本発明の実施形態について図を参照しながら説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

[システム全体構成]
図1には、本実施形態に係るメモリ管理サーバ(アプリケーションサーバ)10と、ユーザ端末30とから構成される情報処理システム1を示す。なお、図1においては、情報処理システム1は、メモリ管理サーバ10と、ユーザ端末30とがそれぞれ一つずつで示されているが、これに限られず、それぞれ複数台で構成されても良い。
[Entire system configuration]
FIG. 1 shows an information processing system 1 including a memory management server (application server) 10 and a user terminal 30 according to the present embodiment. In FIG. 1, the information processing system 1 is shown with one memory management server 10 and one user terminal 30. However, the information processing system 1 is not limited to this, and may be configured with a plurality of each.

メモリ管理サーバ10は、図2に示すように、制御部300を構成するCPU(Central Processing Unit)310(マルチプロセッサ構成ではCPU320等複数のCPUが追加されても良い)、バスライン200、通信I/F(I/F:インタフェース)330、メインメモリ340、BIOS(Basic Input Output System)350、I/Oコントローラ360、ハードディスク370、光ディスクドライブ380、並びに半導体メモリ390を備える。なお、ハードディスク370、光ディスクドライブ380、並びに、半導体メモリ390はまとめて記憶装置410と呼ばれる。   As shown in FIG. 2, the memory management server 10 includes a CPU (Central Processing Unit) 310 (a plurality of CPUs such as a CPU 320 may be added in a multiprocessor configuration), a bus line 200, and a communication I. / F (I / F: interface) 330, main memory 340, BIOS (Basic Input Output System) 350, I / O controller 360, hard disk 370, optical disk drive 380, and semiconductor memory 390. The hard disk 370, the optical disk drive 380, and the semiconductor memory 390 are collectively referred to as a storage device 410.

制御部300は、メモリ管理サーバ10を統括的に制御する部分であり、ハードディスク370に記憶された各種プログラムを適宜読み出して実行することにより、上述したハードウェアと協働し、本発明に係る各種機能を実現している。   The control unit 300 is a part that controls the memory management server 10 in an integrated manner. By appropriately reading and executing various programs stored in the hard disk 370, the control unit 300 cooperates with the hardware described above, and performs various types according to the present invention. The function is realized.

通信I/F330は、メモリ管理サーバ10が、ネットワークを介してユーザ端末30等の他の装置と情報を送受信する場合のネットワーク・アダプタである。   The communication I / F 330 is a network adapter when the memory management server 10 transmits / receives information to / from other devices such as the user terminal 30 via the network.

BIOS350は、メモリ管理サーバ10の起動時にCPU310が実行するブートプログラムや、メモリ管理サーバ10のハードウェアに依存するプログラム等を記録する。   The BIOS 350 records a boot program executed by the CPU 310 when the memory management server 10 is started, a program depending on the hardware of the memory management server 10, and the like.

I/Oコントローラ360には、ハードディスク370、光ディスクドライブ380、及び半導体メモリ390等の記憶装置410を接続することができる。   A storage device 410 such as a hard disk 370, an optical disk drive 380, and a semiconductor memory 390 can be connected to the I / O controller 360.

ハードディスク370は、本ハードウェアをメモリ管理サーバ10として機能させるための各種プログラム、本発明の機能を実行するプログラム及び後述するテーブル等を記憶する。なお、メモリ管理サーバ10は、外部に別途設けたハードディスク(図示せず)を補助記憶装置として利用することもできる。   The hard disk 370 stores various programs for causing the hardware to function as the memory management server 10, a program for executing the functions of the present invention, a table to be described later, and the like. Note that the memory management server 10 can also use an external hard disk (not shown) as an auxiliary storage device.

光ディスクドライブ380としては、例えば、DVD−ROMドライブ、CD−ROMドライブ、DVD−RAMドライブ、CD−RAMドライブを使用することができる。この場合は各ドライブに対応した光ディスク400を使用する。光ディスク400から光ディスクドライブ380によりプログラム又はデータを読み取り、I/Oコントローラ360を介してメインメモリ340又はハードディスク370に提供することもできる。   As the optical disk drive 380, for example, a DVD-ROM drive, a CD-ROM drive, a DVD-RAM drive, or a CD-RAM drive can be used. In this case, the optical disk 400 corresponding to each drive is used. A program or data can be read from the optical disk 400 by the optical disk drive 380 and provided to the main memory 340 or the hard disk 370 via the I / O controller 360.

なお、本発明でいうコンピュータとは、記憶装置、制御部等を備えた情報処理装置をいい、メモリ管理サーバ10は、記憶装置410、制御部300等を備えた情報処理装置により構成される。   Note that the computer in the present invention refers to an information processing apparatus including a storage device, a control unit, and the like, and the memory management server 10 includes an information processing device including a storage device 410, a control unit 300, and the like.

また、本発明に係るメモリ管理サーバ10は、上述のような構成を有することにより、アプリケーションプログラムにおいて使用されるデータをメモリイメージファイルとしてメモリマッピング処理をし、メモリイメージファイルをメモリ管理サーバ10の記憶装置410にメモリイメージファイルとして書き込み、同期をとり、メモリイメージファイルのデータはメインメモリ340のメモリ構造を保持したままで、複数のアプリケーションプログラムが記憶装置410のメモリイメージファイルを共有する機能を有している。   In addition, the memory management server 10 according to the present invention has the above-described configuration, and performs memory mapping processing using data used in the application program as a memory image file, and stores the memory image file in the memory management server 10. Writes and synchronizes as a memory image file to the device 410, and the memory image file data has the function of sharing the memory image file of the storage device 410 while maintaining the memory structure of the main memory 340. ing.

ここで、当該機能を発揮するための構成について、図3に示す機能ブロック図を用いて説明する。メモリ管理サーバ10は、データ演算手段としてのデータ演算部11と、記憶領域確保手段としての記憶領域確保部12と、データ書込手段としてのデータ書込部13と、メモリマッピング処理手段としてのメモリマッピング部14と、同期手段としての同期部15と、メモリイメージファイルを記憶するメモリイメージファイル記憶部16と、メモリマッピング処理前後のデータが読み書きされる内部メモリ17、とを備える。   Here, a configuration for exhibiting the function will be described with reference to a functional block diagram shown in FIG. The memory management server 10 includes a data operation unit 11 as a data operation unit, a storage area reservation unit 12 as a storage area reservation unit, a data write unit 13 as a data write unit, and a memory as a memory mapping processing unit. The mapping unit 14 includes a synchronization unit 15 as a synchronization unit, a memory image file storage unit 16 that stores a memory image file, and an internal memory 17 that reads and writes data before and after the memory mapping process.

データ演算部11は、アプリケーションプログラムにおいて使用されるデータの大きさを演算する機能を有する。   The data calculation unit 11 has a function of calculating the size of data used in the application program.

メモリイメージファイルに必要な領域を確保するためにはデータの大きさを演算することが必要となる。   In order to secure the necessary area in the memory image file, it is necessary to calculate the size of the data.

複数の異なるアプリケーションプログラムがメモリ管理サーバ10で動作している場合があり、その場合にはアプリケーションプログラム毎に使用されるデータの大きさが演算される。そして、アプリケーションプログラム毎にメモリイメージファイルが形成されるので、複数のアプリケーションプログラムで共有されるメモリイメージファイル(またはメモリマップファイルとも呼ぶ)が複数存在する場合もある。   There are cases where a plurality of different application programs are operating on the memory management server 10, and in this case, the size of data used for each application program is calculated. Since a memory image file is formed for each application program, there may be a plurality of memory image files (also referred to as memory map files) shared by a plurality of application programs.

アプリケーションプログラムにおいて使用されるデータの大きさは、一例としてC言語の場合にはsizeof()関数を用いることによって演算することが可能である。また、通常のファイルIOでは、書き込みを行うと自動的に領域が確保されるため、あらかじめ領域を確保しておく必要はない場合もあるが、例えば、mmapを使用したIOでは読み書きする大きさをあらかじめ設定しておく必要があり、その大きさはmmap関数の引数として渡す必要がある。   For example, in the case of C language, the size of data used in the application program can be calculated by using a sizeof () function. In addition, in a normal file IO, an area is automatically secured when writing is performed, so it may not be necessary to secure an area in advance. For example, an IO using mmap has a read / write size. It is necessary to set in advance, and the size needs to be passed as an argument of the mmap function.

記憶領域確保部12は、アプリケーションプログラムにおいて使用される前記データを連続した記憶領域で確保する機能を有する。   The storage area securing unit 12 has a function of securing the data used in the application program in a continuous storage area.

連続した領域を確保するのは、マップさせたいファイルの必要サイズ(大きさ)を実際にデータとして使用しているサイズに合わせる為である。   The reason why the continuous area is secured is to match the required size (size) of the file to be mapped with the size actually used as data.

連続した領域を確保することは、内部メモリ17を一時的に使用することで実現できる。   Ensuring a continuous area can be realized by temporarily using the internal memory 17.

データ書込部13は連続した内部メモリ領域にアプリケーションプログラムにおいて使用されるデータを書き込む機能を有する。   The data writing unit 13 has a function of writing data used in the application program in a continuous internal memory area.

これは、マッピング処理をする前にマップファイルにデータを書き込む必要があるからである。   This is because it is necessary to write data to the map file before performing the mapping process.

一例としてC言語の場合にはread(fd,&c,sizeof(char))関数で,sizeof(char)のバイト数のデータをアドレス&cから読み込み、write(fd,&c,sizeof(char))関数で、sizeof(char)のバイト数のデータをアドレス&cから書き込むことが可能になる。   As an example, in the case of C language, read (fd, & c, size of (char)) function reads the number of bytes of size of (char) from address & c, and write (fd, & c, size of (char)) function , Sizeof (char) byte data can be written from the address & c.

メモリマッピング部14は、連続した内部メモリ領域に書き込まれたデータをメモリイメージファイルとしてメモリマッピング処理する機能を有する。   The memory mapping unit 14 has a function of performing memory mapping processing on the data written in the continuous internal memory area as a memory image file.

一例としてC言語の場合には、mmap(0,size,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0)でメモリマッピング処理を実行できる。   As an example, in the case of C language, the memory mapping process can be executed with mmap (0, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0).

式中、第1引数が“0”であるので、新しいマッピングの開始アドレスはカーネルが選択する。この方法は最も移植性のある新しいマッピングの方法である。   In the formula, since the first argument is “0”, the kernel selects the start address of the new mapping. This method is the most portable new mapping method.

また、PROT_READはページが読み込み可能であることを許可し、PROT_WRITEはページが書き込み可能であることを許可し、MAP_SHAREDはマッピングが共有されることを許可する   PROT_READ allows the page to be readable, PROT_WRITE allows the page to be writable, and MAP_SHARED allows the mapping to be shared.

但し、書き込みはファイル全体での書き換え(ファイルの差し替え)を許可し、ファイルの一部だけの書き込みは許可されない。   However, writing permits rewriting of the entire file (replacement of the file), and writing of only a part of the file is not permitted.

同期部15はメモリイメージファイルを記憶装置(メモリイメージファイル記憶部16)にメモリイメージファイルとして同期をとる機能を有する。   The synchronization unit 15 has a function of synchronizing the memory image file as a memory image file with the storage device (memory image file storage unit 16).

内部メモリのデータをハードディスク上のような物理記憶領域上にあるメモリイメージファイル記憶部16との同期を取る。   The data in the internal memory is synchronized with the memory image file storage unit 16 on the physical storage area such as on the hard disk.

すなわち、内部メモリ17に展開されたメモリイメージファイルの(データ)構造(メモリ構造)をそのまま維持した状態で、メモリイメージファイル記憶部16にそのメモリ構造を書き込むので、複数のアプリケーションが内部メモリ17のメモリ構造を保持したままで、メモリイメージファイル記憶部16のメモリイメージファイルを共有することが可能となる。   That is, since the memory structure is written in the memory image file storage unit 16 while maintaining the (data) structure (memory structure) of the memory image file expanded in the internal memory 17, a plurality of applications can be stored in the internal memory 17. The memory image file in the memory image file storage unit 16 can be shared while maintaining the memory structure.

また、この場合には内部メモリ17のデータとメモリイメージファイルのデータの並び順が同じとなる。   In this case, the arrangement order of the data in the internal memory 17 and the data in the memory image file is the same.

一例としてC言語の場合に、実際にメモリイメージファイルに書き込み同期を取るには、msync(ptr,size,0)関数を用いることができる。この場合、ptrから始まり長さ“size”のメモリ領域に対応するデータがHDD等の記憶装置410に記憶される。そして、最後にファイルがクローズされる(close(fd))。   As an example, in the case of the C language, the mssync (ptr, size, 0) function can be used to actually write and synchronize with the memory image file. In this case, data corresponding to the memory area of length “size” starting from ptr is stored in the storage device 410 such as an HDD. Finally, the file is closed (close (fd)).

このような構成によれば、アプリケーションプログラムに使用されるデータの大きさを演算し、アプリケーションプログラムに使用されるデータを連続した内部メモリ領域に書き込み、連続した内部メモリ領域に書き込まれたデータをメモリマッピング処理し、メモリマッピング処理されたメモリイメージファイルを物理的に存在する記憶装置に同期を取る(データを書き込む)動作を実行するので、メモリイメージファイルのデータはメインメモリ340のメモリ構造を保持し、複数のアプリケーションプログラムが記憶装置410のメモリイメージファイルを共有することが可能となる。   According to such a configuration, the size of data used for the application program is calculated, the data used for the application program is written to the continuous internal memory area, and the data written to the continuous internal memory area is stored in the memory. Since the mapping process is performed and the memory image file subjected to the memory mapping process is synchronized (written) with a storage device that physically exists, the data of the memory image file retains the memory structure of the main memory 340. A plurality of application programs can share the memory image file in the storage device 410.

したがって、アプリケーションサーバの記憶装置において、アプリケーションプログラムが利用するデータの記憶されているメモリ領域をあたかも一つのファイル(メモリ構造を保持したまま保存されたデータ)として扱うことが可能となったので、大量のデータを共有することが可能になるとともに、この領域をWEBアプリケーションプログラムから参照することによって、データベースサーバの代替としての機能を担うことによって高速検索を可能とすることが可能になった。   Therefore, in the storage device of the application server, the memory area in which the data used by the application program is stored can be handled as a single file (data saved while retaining the memory structure). It is possible to share these data, and by referring to this area from the WEB application program, it is possible to perform high-speed search by assuming a function as an alternative to the database server.

[処理手順]
ここで、本発明を適用した場合において実現され得る具体的な処理手順について、図4に示すフローチャート(C言語を使用した場合)を参照して説明する。なお、以下に示す処理手順は、一例であってこれ以外にも実現され得る処理手順は無数に存在する。
[Processing procedure]
Here, a specific processing procedure that can be realized when the present invention is applied will be described with reference to a flowchart (when C language is used) shown in FIG. The processing procedure shown below is an example, and there are innumerable processing procedures that can be realized in addition to this.

ステップS1において、メモリ管理サーバ10はマップ用のファイルをオープンする。例えば、マップ用のファイルの名称を“MapFile”とした場合には、open(“MapFile”,O_RDWR|O_CREATE,0666)でマップ用のファイルをオープンすることができる。   In step S1, the memory management server 10 opens a map file. For example, when the map file name is “MapFile”, the map file can be opened with open (“MapFile”, O_RDWR | O_CREATE, 0666).

ステップS2において、メモリ管理サーバ10のデータ演算部11は、アプリケーションプログラム毎にアプリケーションプログラムに使用されるデータの大きさを演算し、その大きさをマップファイルの領域の大きさとする。   In step S2, the data calculation unit 11 of the memory management server 10 calculates the size of data used for the application program for each application program, and sets the size as the size of the map file area.

ステップS3において、メモリ管理サーバ10の記憶領域確保部12は、ステップS2において演算されたデータの大きさに対応して、内部メモリ17上にメモリ領域を確保する。   In step S3, the storage area securing unit 12 of the memory management server 10 secures a memory area on the internal memory 17 corresponding to the data size calculated in step S2.

ステップS4において、メモリ管理サーバ10のデータ書込部13はステップS3において確保されたマップファイルに、アプリケーションプログラムにおいて使用されるデータを書き込む。   In step S4, the data writing unit 13 of the memory management server 10 writes data used in the application program in the map file secured in step S3.

一例としてC言語の場合にはread(fd,&c,sizeof(char))関数で,sizeof(char)のバイト数のデータをアドレス&cから読み込み(アプリケーションで使用されるデータを読み込み)、write(fd,&c,sizeof(char))関数で、sizeof(char)のバイト数のデータをアドレス&cから書き込むことが可能になる。   For example, in the case of C language, read (fd, & c, sizeof (char)) function is used to read the number of bytes of sizeof (char) from address & c (read data used in the application), and write (fd , & C, sizeof (char)) function, it is possible to write the data of the number of bytes of sizeof (char) from the address & c.

ステップS5において、メモリ管理サーバ10のメモリマッピング部14は、ステップS4において連続した内部メモリ領域に書き込まれたデータをメモリイメージファイルとしてメモリマッピング処理をする。   In step S5, the memory mapping unit 14 of the memory management server 10 performs memory mapping processing using the data written in the continuous internal memory area in step S4 as a memory image file.

一例としてC言語の場合には、mmap(0,size,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0)でメモリマッピング処理を実行できる。   As an example, in the case of C language, the memory mapping process can be executed with mmap (0, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0).

ステップS6において、メモリ管理サーバ10の同期部15は、メモリイメージファイルを記憶装置(メモリイメージファイル記憶部16)に書き込み同期をとる。   In step S6, the synchronization unit 15 of the memory management server 10 writes and synchronizes the memory image file to the storage device (memory image file storage unit 16).

すなわち、内部メモリ17に展開されたメモリイメージファイルの(データ)構造(メモリ構造)をそのまま維持した状態で、メモリイメージファイル記憶部16にそのメモリ構造を書き込み、同期を取る。   That is, while maintaining the (data) structure (memory structure) of the memory image file developed in the internal memory 17, the memory structure is written into the memory image file storage unit 16 and synchronized.

一例としてC言語の場合に、msync(ptr,size,0)関数を用いて書き込み同期を取ることができる。そして、ファイルがクローズされる(close(fd))。   As an example, in the case of C language, write synchronization can be achieved by using an mssync (ptr, size, 0) function. Then, the file is closed (close (fd)).

ステップS7において、ユーザがユーザ端末30を利用してメモリ管理サーバ10に存在するアプリケーションプログラムを呼び出し、アプリケーションを実行している場合に、そのアプリケーションプログラムに使用されるデータにリクエスト要求が発生する。   In step S <b> 7, when a user calls an application program existing in the memory management server 10 using the user terminal 30 and executes an application, a request request is generated for data used for the application program.

ステップS8において、メモリ管理サーバ10の制御部300は、ステップS7においてデータが要求されたアプリケーションプログラム毎に用意された、メモリ管理サーバ10内のメモリイメージファイル記憶部16に記憶されたメモリイメージファイルからデータを読み出す。   In step S8, the control unit 300 of the memory management server 10 starts from the memory image file stored in the memory image file storage unit 16 in the memory management server 10 prepared for each application program whose data is requested in step S7. Read data.

このような構成によれば、アプリケーションプログラムに使用されるデータの大きさを演算し、アプリケーションプログラムに使用されるデータを連続した内部メモリ領域に書き込み、連続した内部メモリ領域に書き込まれたデータをメモリマッピング処理し、メモリマッピング処理されたメモリイメージファイルを物理的に存在する記憶装置に同期を取る(データを書き込む)動作を実行するので、メモリイメージファイルのデータはメインメモリ340のメモリ構造を保持したままで、複数のアプリケーションプログラムが記憶装置410のメモリイメージファイルを共有することが可能となる。   According to such a configuration, the size of data used for the application program is calculated, the data used for the application program is written to the continuous internal memory area, and the data written to the continuous internal memory area is stored in the memory. Since the mapping process is performed and the memory image file subjected to the memory mapping process is synchronized with the storage device that physically exists (data is written), the memory image file data retains the memory structure of the main memory 340. Thus, a plurality of application programs can share the memory image file in the storage device 410.

したがって、アプリケーションサーバの記憶装置において、アプリケーションプログラムが利用するデータの記憶されているメモリ領域をあたかも一つのファイル(メモリ構造を保持したまま保存されたデータ)として扱うことが可能となったので、大量のデータを共有することが可能になるとともに、この領域をWEBアプリケーションプログラムから参照することによって、データベースサーバの代替としての機能を担うことによって高速検索を可能とすることが可能になった。   Therefore, in the storage device of the application server, the memory area in which the data used by the application program is stored can be handled as a single file (data saved while retaining the memory structure). It is possible to share these data, and by referring to this area from the WEB application program, it is possible to perform high-speed search by assuming a function as an alternative to the database server.

[全体構成の概念]
全体構成の概念図を図5に示す。
メモリ管理サーバ10にアプリケーション(プログラム)1、アプリケーション(プログラム)2およびアプリケーション(プログラム)3が実装されている場合に、アプリケーション(プログラム)1、アプリケーション(プログラム)2およびアプリケーション(プログラム)3に使用されているデータ18がメインメモリ340の記憶部分に記憶されている。
[Overall configuration concept]
A conceptual diagram of the overall configuration is shown in FIG.
When application (program) 1, application (program) 2 and application (program) 3 are mounted on memory management server 10, they are used for application (program) 1, application (program) 2 and application (program) 3. The stored data 18 is stored in the storage portion of the main memory 340.

本実施形態においては、制御部300のデータ演算部11、記憶領域確保部12、データ書込部13、メモリマッピング部14および同期部15がメモリマッピング処理プロセス19を実行する。   In the present embodiment, the data calculation unit 11, the storage area securing unit 12, the data writing unit 13, the memory mapping unit 14, and the synchronization unit 15 of the control unit 300 execute the memory mapping process 19.

メモリマッピング処理プロセス19によってデータ18は、それぞれのアプリケーション(プログラム)が使用するデータ毎に分割して処理される。   Data 18 is divided and processed for each data used by each application (program) by the memory mapping process 19.

すなわち、アプリケーション1用のデータは、アプリケーション1用メモリイメージファイル16aとして一つのファイルがメモリ領域のように取り扱われる形態でメモリイメージファイル記憶部16に記憶される。   That is, the data for application 1 is stored in the memory image file storage unit 16 in a form in which one file is handled as a memory area as the memory image file 16a for application 1.

同様に、アプリケーション2用のデータは、アプリケーション2用メモリイメージファイル16bとして一つのファイルがメモリ領域のように取り扱われる形態でメモリイメージファイル記憶部16に記憶される。   Similarly, the data for the application 2 is stored in the memory image file storage unit 16 in a form in which one file is handled as a memory area as the memory image file 16b for the application 2.

また、同様に、アプリケーション3用のデータは、アプリケーション3用メモリイメージファイル16cとして一つのファイルがメモリ領域のように取り扱われる形態でメモリイメージファイル記憶部16に記憶される。   Similarly, the data for the application 3 is stored in the memory image file storage unit 16 in a form in which one file is handled as a memory area as the memory image file 16c for the application 3.

ユーザ端末30aを使用しているユーザがメモリ管理サーバ10に実装されているアプリケーション1を実行している場合に、アプリケーション1がアプリケーション1用のデータを使用する場合には、メモリイメージファイル記憶部16に記憶されているアプリケーション1用メモリイメージファイル16aを検索し、データを取得し、アプリケーション1の実行を続ける。   When the user using the user terminal 30a is executing the application 1 installed in the memory management server 10, when the application 1 uses data for the application 1, the memory image file storage unit 16 The memory image file for application 1 16a stored in is retrieved, data is acquired, and execution of the application 1 is continued.

また、ユーザ端末30aを使用しているユーザがメモリ管理サーバ10に実装されているアプリケーション2を実行している場合に、アプリケーション2がアプリケーション2用のデータを使用する場合には、メモリイメージファイル記憶部16に記憶されているアプリケーション2用メモリイメージファイル16bを検索し、データを取得し、アプリケーション1の実行を続ける。   Further, when the user using the user terminal 30a is executing the application 2 installed in the memory management server 10, when the application 2 uses the data for the application 2, the memory image file storage is performed. The memory image file 16b for application 2 stored in the unit 16 is searched, data is acquired, and execution of the application 1 is continued.

同様にユーザ端末30cを使用しているユーザがメモリ管理サーバ10に実装されているアプリケーション1を実行している場合に、アプリケーション1がアプリケーション1用のデータを使用する場合には、メモリイメージファイル記憶部16に記憶されているアプリケーション1用メモリイメージファイル16aを検索し、データを取得し、アプリケーション1の実行を続ける。   Similarly, when the user using the user terminal 30c is executing the application 1 installed in the memory management server 10, if the application 1 uses the data for the application 1, the memory image file is stored. The memory image file for application 1 16a stored in the unit 16 is searched, data is acquired, and the execution of the application 1 is continued.

また、同様に、ユーザ端末30cを使用しているユーザがメモリ管理サーバ10に実装されているアプリケーション2を実行している場合に、アプリケーション2がアプリケーション2用のデータを使用する場合には、メモリイメージファイル記憶部16に記憶されているアプリケーション2用メモリイメージファイル16bを検索し、データを取得し、アプリケーション1の実行を続ける。   Similarly, when the user using the user terminal 30c is executing the application 2 installed in the memory management server 10, when the application 2 uses the data for the application 2, the memory The application 2 memory image file 16b stored in the image file storage unit 16 is searched, data is acquired, and execution of the application 1 is continued.

以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施例に記載されたものに限定されるものではない。   As mentioned above, although embodiment of this invention was described, this invention is not restricted to embodiment mentioned above. The effects described in the embodiments of the present invention are only the most preferable effects resulting from the present invention, and the effects of the present invention are limited to those described in the embodiments of the present invention. is not.

なお、本実施形態においては、メモリ管理サーバ10は、ハードディスク370及び光ディスクドライブ380を有する構成として説明したが、これに限られず、これらの駆動系を有さない構成、いわゆるゼロスピンドルによる構成であっても良い。このような構成の場合には、ハードディスク370に記憶される内容は、大容量の半導体メモリ390に記憶される。   In the present embodiment, the memory management server 10 has been described as having a hard disk 370 and an optical disk drive 380. However, the present invention is not limited to this, and a configuration without these drive systems, a so-called zero spindle configuration. May be. In the case of such a configuration, the contents stored in the hard disk 370 are stored in the large-capacity semiconductor memory 390.

本実施形態に係るサーバと、ユーザ端末とから構成される情報処理システムを示す図である。It is a figure which shows the information processing system comprised from the server which concerns on this embodiment, and a user terminal. 本発明に係るサーバの構成を示すブロック図である。It is a block diagram which shows the structure of the server which concerns on this invention. 本実施形態に係るサーバの機能的な構成を示す機能ブロック図である。It is a functional block diagram which shows the functional structure of the server which concerns on this embodiment. 本実施形態に係るサーバによる処理手順についての説明に供するフローチャートである。It is a flowchart with which it uses for description about the process sequence by the server which concerns on this embodiment. 本実施形態に係る全体構成の概念を示す図である。It is a figure which shows the concept of the whole structure which concerns on this embodiment.

符号の説明Explanation of symbols

1 情報処理システム
10 メモリ管理サーバ
11 データ演算部
12 記憶領域確保部
13 データ書込部
14 メモリマッピング部
15 同期部
16 メモリイメージファイル記憶部
17 内部メモリ
30 ユーザ端末
DESCRIPTION OF SYMBOLS 1 Information processing system 10 Memory management server 11 Data operation part 12 Storage area reservation part 13 Data writing part 14 Memory mapping part 15 Synchronization part 16 Memory image file storage part 17 Internal memory 30 User terminal

Claims (6)

補助記憶装置を共有メモリとして、複数のアプリケーションから利用することを可能にするための方法であって、
アプリケーションプログラムにおいて使用されるデータを連続した内部メモリ領域に確保する工程と、
前記連続した内部メモリ領域に前記アプリケーションプログラムにおいて使用される前記データを書き込む工程と、
前記連続した内部メモリ領域に書き込まれた前記データを補助記憶装置にメモリイメージファイルとしてメモリマッピング処理する工程と、
前記内部メモリ領域のデータと前記補助記憶装置のメモリイメージファイルのデータを同期をとる工程と、
を含み、
前記メモリイメージファイルの前記データは前記内部メモリ領域のメモリ構造を保持し、複数のアプリケーションプログラムが、前記補助記憶装置の前記メモリイメージファイルを共有することを特徴とするメモリ管理方法。
A method for enabling an auxiliary storage device to be used as a shared memory from a plurality of applications,
Securing the data used in the application program in a continuous internal memory area;
Writing the data used in the application program in the continuous internal memory area;
A memory mapping process as a memory image file for the data written in the continuous internal memory area in an auxiliary storage device;
Synchronizing the data of the internal memory area and the data of the memory image file of the auxiliary storage device;
Including
The memory management method, wherein the data of the memory image file retains a memory structure of the internal memory area, and a plurality of application programs share the memory image file of the auxiliary storage device.
前記内部メモリ領域のデータの並び順と前記補助記憶装置の前記メモリイメージファイルのデータの並び順とが同じであることを特徴とする請求項1に記載のメモリ管理方法。   2. The memory management method according to claim 1, wherein the order of data in the internal memory area is the same as the order of data in the memory image file in the auxiliary storage device. 前記アプリケーションプログラムはWEBアプリケーションプログラムであり、前記補助記憶装置は前記WEBアプリケーションプログラムが動作するWEBアプリケーションサーバ内にある記憶装置であることを特徴とする請求項1または2に記載のメモリ管理方法。   3. The memory management method according to claim 1, wherein the application program is a WEB application program, and the auxiliary storage device is a storage device in a WEB application server on which the WEB application program operates. 前記メモリイメージファイルは読み出し専用とし、前記メモリイメージファイルのデータの内容を変更する場合には前記メモリイメージファイルの全体を差し替えることを特徴とする請求項1乃至3の何れか一項に記載のメモリ管理方法。   4. The memory according to claim 1, wherein the memory image file is read-only, and when the data content of the memory image file is changed, the entire memory image file is replaced. 5. Management method. 補助記憶装置を共有メモリとして、複数のアプリケーションから利用することを可能にするためのメモリ管理サーバ装置であって、
アプリケーションプログラムにおいて使用されるデータを連続した内部メモリ領域に確保する記憶領域確保手段と、
前記連続した内部メモリ領域に前記アプリケーションプログラムにおいて使用される前記データを書き込むデータ書込手段と、
前記連続した内部メモリ領域に書き込まれた前記データをメモリイメージファイルとして補助記憶装置にメモリマッピング処理するメモリマッピング手段と、
前記内部メモリ領域のデータと前記補助記憶装置のメモリイメージファイルのデータを同期をとる同期手段と、
を備え、
前記メモリイメージファイルの前記データは前記内部メモリ領域のメモリ構造を保持し、複数のアプリケーションプログラムが、前記補助記憶装置の前記メモリイメージファイルを共有することを特徴とするメモリ管理サーバ装置。
A memory management server device that enables an auxiliary storage device to be used as a shared memory from a plurality of applications,
Storage area securing means for securing data used in the application program in a continuous internal memory area;
Data writing means for writing the data used in the application program to the continuous internal memory area;
Memory mapping means for performing memory mapping processing on the auxiliary storage device as a memory image file for the data written in the continuous internal memory area;
Synchronization means for synchronizing the data of the internal memory area and the data of the memory image file of the auxiliary storage device;
With
The memory management server device, wherein the data of the memory image file retains a memory structure of the internal memory area, and a plurality of application programs share the memory image file of the auxiliary storage device.
請求項1乃至4何れか一項に記載の方法をコンピュータに実行させることを特徴とするプログラム。   A program for causing a computer to execute the method according to any one of claims 1 to 4.
JP2008224320A 2008-09-02 2008-09-02 Memory management server, method and program Expired - Fee Related JP5520462B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008224320A JP5520462B2 (en) 2008-09-02 2008-09-02 Memory management server, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008224320A JP5520462B2 (en) 2008-09-02 2008-09-02 Memory management server, method and program

Publications (2)

Publication Number Publication Date
JP2010061253A true JP2010061253A (en) 2010-03-18
JP5520462B2 JP5520462B2 (en) 2014-06-11

Family

ID=42188001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008224320A Expired - Fee Related JP5520462B2 (en) 2008-09-02 2008-09-02 Memory management server, method and program

Country Status (1)

Country Link
JP (1) JP5520462B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014241136A (en) * 2014-06-18 2014-12-25 株式会社三菱東京Ufj銀行 Information processing apparatus

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233402A (en) * 1992-02-21 1993-09-10 Toshiba Corp Memory mapped file access system
JP2002288058A (en) * 2001-01-25 2002-10-04 Yahoo Inc High performance client server communication system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233402A (en) * 1992-02-21 1993-09-10 Toshiba Corp Memory mapped file access system
JP2002288058A (en) * 2001-01-25 2002-10-04 Yahoo Inc High performance client server communication system

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNB200200370001; スティーヴンス W・リチャード: UNIXネットワークプログラミング 第2版 Vol.2 , 20000815, p. 293〜312, 株式会社ピアソン・エデュケーション *
CSND200500404009; 平田 豊: '目指せ!C言語プログラマー' I/O 第29巻 第10号, 20041001, p. 140〜141, 株式会社工学社 *
JPN6012016211; 平田 豊: '目指せ!C言語プログラマー' I/O 第29巻 第10号, 20041001, p. 140〜141, 株式会社工学社 *
JPN6012016212; スティーヴンス W・リチャード: UNIXネットワークプログラミング 第2版 Vol.2 , 20000815, p. 293〜312, 株式会社ピアソン・エデュケーション *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014241136A (en) * 2014-06-18 2014-12-25 株式会社三菱東京Ufj銀行 Information processing apparatus

Also Published As

Publication number Publication date
JP5520462B2 (en) 2014-06-11

Similar Documents

Publication Publication Date Title
JP4702962B2 (en) MEMORY CONTROL DEVICE, PROGRAM, AND METHOD
JP5255348B2 (en) Memory allocation for crash dump
US9092426B1 (en) Zero-copy direct memory access (DMA) network-attached storage (NAS) file system block writing
US8095772B2 (en) Large memory pages for shared libraries
US10282427B2 (en) Metadata storing technique
JP2003528391A (en) Method and apparatus for storing changes to file attributes without having to store additional copies of file contents
JP5778296B2 (en) Virtual computer system, virtualization mechanism, and data management method
JP5426576B2 (en) Data input / output method and apparatus using virtualization technology
JP5773493B2 (en) Information processing device
US20190324868A1 (en) Backup portion of persistent memory
US20060277221A1 (en) Transactional file system with client partitioning
JP5556025B2 (en) Storage system
US7913059B2 (en) Information processing device, data transfer method, and information storage medium
US9588884B2 (en) Systems and methods for in-place reorganization of device storage
CN109983452A (en) System and method for continuously available Network File System (NFS) status data
JP5520462B2 (en) Memory management server, method and program
CN106775501A (en) Elimination of Data Redundancy method and system based on nonvolatile memory equipment
WO2023235040A1 (en) File system improvements for zoned storage device operations
US10430287B2 (en) Computer
JP2001134486A (en) Microprocessor and storage device
CN113204520A (en) Remote sensing data rapid concurrent read-write method based on distributed file system
KR20090131142A (en) Apparatus and method for memory management
US10706012B2 (en) File creation
WO2015194027A1 (en) Computer system, data update method, and virtualization server
KR101236478B1 (en) Method for Providing Software Computing Environment for Low-Speed Portable Storage

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091208

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120312

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120403

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20120418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120604

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140407

R150 Certificate of patent or registration of utility model

Ref document number: 5520462

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371