[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6012409B2 - Image management apparatus, image management method, and program - Google Patents

Image management apparatus, image management method, and program Download PDF

Info

Publication number
JP6012409B2
JP6012409B2 JP2012242781A JP2012242781A JP6012409B2 JP 6012409 B2 JP6012409 B2 JP 6012409B2 JP 2012242781 A JP2012242781 A JP 2012242781A JP 2012242781 A JP2012242781 A JP 2012242781A JP 6012409 B2 JP6012409 B2 JP 6012409B2
Authority
JP
Japan
Prior art keywords
file
request
image
image file
storage device
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.)
Expired - Fee Related
Application number
JP2012242781A
Other languages
Japanese (ja)
Other versions
JP2014092912A (en
Inventor
淳一 児玉
淳一 児玉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2012242781A priority Critical patent/JP6012409B2/en
Publication of JP2014092912A publication Critical patent/JP2014092912A/en
Application granted granted Critical
Publication of JP6012409B2 publication Critical patent/JP6012409B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、画像ファイルを格納する複数の格納装置を有する画像管理装置、画像管理方法及びプログラムに関する。   The present invention relates to an image management apparatus, an image management method, and a program having a plurality of storage devices that store image files.

近年、デジタルカメラ等で生成された画像ファイルをサーバに送信し、サーバ上で画像ファイルを管理する画像管理サービスが提供されている。多くの画像管理サービスは、インデックス表示用や携帯端末への配信用として、複数サイズのサムネイルをあらかじめ作成している。また、画像編集機能を有する画像管理サービスにおいては、ユーザからの指示に基づいて編集された画像ファイルを作成する。このように、画像管理サービスにおいては、オリジナルの画像ファイルだけでなく、サムネイルや編集された画像ファイル(以下、関連画像ファイルと呼ぶ)を作成し、保管している場合が多い。   In recent years, there has been provided an image management service for transmitting an image file generated by a digital camera or the like to a server and managing the image file on the server. Many image management services create thumbnails of multiple sizes in advance for index display and distribution to mobile terminals. An image management service having an image editing function creates an edited image file based on an instruction from the user. As described above, in image management services, not only original image files but also thumbnails and edited image files (hereinafter referred to as related image files) are often created and stored.

画像管理サービスのシステムは、画像ファイルを格納するコンテンツサーバ群から構成される。コンテンツサーバは多数の画像ファイルをデータ記憶装置に記憶し、クライアント上のアプリケーションから要求された画像ファイルの読み込み処理や書き込み処理を行う。このようなシステムにおいては、一部の画像ファイルへのクライアントからのアクセスが頻発し、その画像ファイルを格納しているコンテンツサーバに負荷が集中することがある。また、データアクセスの傾向として、読み込み要求の割合が、書き込み要求の割合よりも極めて大きくなることがある。そのため、特に読み込み要求による負荷を分散することが、システム全体の性能向上に大きく影響する。   The image management service system includes a group of content servers that store image files. The content server stores a large number of image files in the data storage device, and performs reading processing and writing processing of the image file requested by the application on the client. In such a system, access from a client to some image files frequently occurs, and the load may be concentrated on a content server storing the image files. Further, as a tendency of data access, the ratio of read requests may be much larger than the ratio of write requests. For this reason, the distribution of the load due to the read request in particular greatly affects the performance improvement of the entire system.

一部のコンテンツサーバへの負荷集中を軽減するための方法として、アクセスが頻発するファイルの複製を他のコンテンツサーバに作成し、アクセスを分散させる技術がある。   As a method for reducing the load concentration on some content servers, there is a technique of creating a copy of a file that is frequently accessed in other content servers and distributing the access.

例えば、特許文献1では、複数のコンテンツサーバの負荷状況を計測し、クライアントからアクセス要求を受け付けた際に、負荷の低いサーバをアクセス対象として選定する。より具体的には、読み込み要求を受けた際には、ファイルの複製が格納されているサーバの中で負荷の最も低いサーバを読み込み対象として選定する。また、書き込み要求を受けた際には、負荷の最も低いサーバを書き込み対象として選定する。これによって、負荷状況に応じたアクセス要求の分散を可能にしている。   For example, in Patent Document 1, the load status of a plurality of content servers is measured, and when an access request is received from a client, a server with a low load is selected as an access target. More specifically, when a read request is received, the server with the lowest load among the servers storing the copy of the file is selected as the read target. When a write request is received, the server with the lowest load is selected as a write target. This makes it possible to distribute access requests according to load conditions.

また、特許文献2では、クライアントからの読み込み要求に従ってデータを転送した回数を記録し、その回数が所定数を超えたファイルを他のコンテンツサーバに複製する。これによって、頻繁に読み込み要求が行われるファイルに対して複数のコンテンツサーバへの負荷分散を可能にしている。   In Patent Document 2, the number of times data is transferred according to a read request from a client is recorded, and a file whose number exceeds a predetermined number is copied to another content server. This enables load distribution to a plurality of content servers for files that are frequently requested to be read.

特開平6−332782号公報JP-A-6-332882 特開2002−73651号公報Japanese Patent Laid-Open No. 2002-73651

しかしながら、コンテンツサーバに格納されているデータが画像ファイルであり、それを読み込む場合の負荷分散制御としては、最適な効率化が実現できない場合がある。   However, the data stored in the content server is an image file, and optimal efficiency may not be realized as load distribution control when the file is read.

先行技術ではファイルの複製を作成することで負荷を分散しているが、アクセス頻度が高いファイルが広範囲にわたる場合には、複製対象が増加してコンテンツサーバの記憶領域を圧迫する。また、アクセス頻度が高いファイルが時々刻々と変化するような場合には、複製の作成および削除が頻発し、ネットワーク負荷や処理負荷が高まる。そのため、負荷分散を効率的に行い、複製を最小限に留めることが望ましい。   In the prior art, the load is distributed by creating a copy of the file. However, if a file with a high access frequency is wide, a copy target increases and the storage area of the content server is compressed. Further, when a file with high access frequency changes from moment to moment, the creation and deletion of replicas frequently occurs, increasing the network load and processing load. Therefore, it is desirable to perform load balancing efficiently and keep duplication to a minimum.

一方、上述のように、コンテンツサーバには、オリジナルの画像ファイルだけでなく関連画像ファイルも格納されていることが想定される。関連画像ファイルは、オリジナルの画像ファイルや他の関連画像ファイルを編集することによって生成可能である。また、関連画像ファイルに施した編集内容によっては、関連画像ファイルからオリジナルの画像ファイルと同一の画像ファイルを生成可能である。つまり、それらの画像ファイルは代替可能な関係にある。   On the other hand, as described above, it is assumed that the content server stores not only the original image file but also the related image file. The related image file can be generated by editing the original image file or another related image file. Further, depending on the editing contents applied to the related image file, the same image file as the original image file can be generated from the related image file. That is, these image files have a replaceable relationship.

コンテンツサーバ群において、読み込み要求が集中している画像ファイルを格納しているコンテンツサーバの負荷が高まっていても、その画像ファイルと代替可能な画像ファイルを格納しているコンテンツサーバの負荷は低い可能性がある。すなわち、画像ファイルをコンテンツサーバから読み込む際に、オリジナルの画像ファイルおよび各関連画像ファイルの代替可能性を考慮して割り振りを制御することによって、より効率的に負荷を分散することが行われていなかった。   In a content server group, even if the load on the content server storing image files where read requests are concentrated increases, the load on the content server storing the image file that can replace the image file can be low. There is sex. In other words, when the image file is read from the content server, the load is not distributed more efficiently by controlling the allocation in consideration of the possibility of substitution of the original image file and each related image file. It was.

上述の先行技術によれば、アクセス要求の割り振り対象としているのは複製ファイルを格納しているコンテンツサーバであり、代替可能なファイルを考慮した負荷分散は行われていない。   According to the above-described prior art, an access request is allocated to a content server that stores a duplicate file, and load distribution is not performed in consideration of an alternative file.

本発明は上記の課題に鑑みてなされたものであり、コンテンツサーバに格納されているデータが例えば画像ファイルである場合に、ファイル間の代替可能性を考慮することで、効率的に負荷を分散する画像管理装置を提供することを目的とする。また、その方法及びプログラムを提供することを目的とする。   The present invention has been made in view of the above problems, and when the data stored in the content server is, for example, an image file, the load can be efficiently distributed by considering the possibility of substitution between files. An object of the present invention is to provide an image management apparatus. Moreover, it aims at providing the method and program.

本発明に係る画像管理装置は、以下の構成を備える。即ち、画像ファイルを格納する接続可能な複数の格納装置からクライアントの要求に応じて前記画像ファイルを読み込む仲介をする画像管理装置であって、前記画像ファイルを格納している格納装置および編集履歴を管理する管理手段と、前記複数の格納装置の負荷状況を取得する取得手段と、前記画像ファイルを取得する要求を受信した際に、要求された対象ファイルを読み込むために、前記負荷状況に応じて前記複数の格納装置に前記要求を割り振る要求割り振り手段と、を備え、前記要求割り振り手段は、前記編集履歴を参照した結果、前記対象ファイルを生成可能な代替ファイルが存在する場合、前記代替ファイルを格納する格納装置を含めて前記要求を割り振ることを特徴とする。   An image management apparatus according to the present invention has the following configuration. That is, an image management device that mediates reading of the image file in response to a client request from a plurality of connectable storage devices that store the image file, the storage device storing the image file and the editing history When receiving a request for acquiring the image file, a management unit for managing, an acquisition unit for acquiring the load status of the plurality of storage devices, and a request for acquiring the image file, according to the load status Request allocation means for allocating the request to the plurality of storage devices, and the request allocation means refers to the editing history, and as a result, if there is an alternative file that can generate the target file, the request allocation means The request is allocated including a storage device for storage.

本発明によれば、コンテンツサーバから画像ファイルを読み込む際に、画像ファイルの代替可能性を考慮して要求を割り振るので、コンテンツサーバの負荷を効率的に分散することができる。   According to the present invention, when an image file is read from the content server, a request is allocated in consideration of the possibility of substitution of the image file, so that the load on the content server can be efficiently distributed.

実施形態のシステムの構成例を示すブロック図。The block diagram which shows the structural example of the system of embodiment. コンテンツサーバ、仲介サーバ、クライアントの機能構成例を示すブロック図。The block diagram which shows the function structural example of a content server, a mediation server, and a client. コンテンツサーバに格納されている画像ファイルの一例。An example of the image file stored in the content server. 格納情報管理部が管理する格納情報の一例。An example of the storage information which a storage information management part manages. クライアントが画像ファイルを取得するためにコンテンツサーバに対して行う要求のメッセージ例。A message example of a request that a client makes to a content server to acquire an image file. 仲介サーバが行う処理の流れを示すフローチャート。The flowchart which shows the flow of the process which a mediation server performs. コンテンツサーバが行う処理の流れを示すフローチャート。The flowchart which shows the flow of the process which a content server performs. 読込タスクをXML形式で表した一例。An example of a read task expressed in XML format. 格納情報管理部が管理するアクセス履歴情報の一例。An example of the access history information which a stored information management part manages. 画像ファイルの複製処理の流れを示すフローチャート。6 is a flowchart showing a flow of image file duplication processing. 仲介サーバが行う処理の流れを示すフローチャート。The flowchart which shows the flow of the process which a mediation server performs. コンテンツサーバ、仲介サーバ、クライアントの機能構成例を示すブロック図。The block diagram which shows the function structural example of a content server, a mediation server, and a client.

以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。   Hereinafter, the present invention will be described in detail based on preferred embodiments with reference to the accompanying drawings. The configurations shown in the following embodiments are merely examples, and the present invention is not limited to the illustrated configurations.

<実施形態1>
本実施形態に係るシステムの構成例について、図1のブロック図を用いて説明する。
<Embodiment 1>
A configuration example of a system according to the present embodiment will be described with reference to the block diagram of FIG.

システムは、複数のコンテンツサーバ100、101、102、仲介サーバ103、クライアント104、ネットワーク122から構成されている。ここで、コンテンツサーバ100〜102は共に同様の構成を有するものである。そのため、以下では、コンテンツサーバ100としてシステムの構成例を説明する。   The system includes a plurality of content servers 100, 101, 102, an intermediary server 103, a client 104, and a network 122. Here, both the content servers 100 to 102 have the same configuration. Therefore, hereinafter, a configuration example of the system as the content server 100 will be described.

コンテンツサーバ100、仲介サーバ103、クライアント104は、ネットワーク122を介して接続可能でお互いに通信することが可能である。図1では、コンテンツサーバの台数は3台、仲介サーバおよびクライアントの台数はそれぞれ1台としているが、この台数に限るものではない。   The content server 100, the mediation server 103, and the client 104 can be connected via the network 122 and can communicate with each other. In FIG. 1, the number of content servers is three and the number of mediation servers and clients is one, but the number is not limited to this.

コンテンツサーバ100は、画像ファイルを格納し、クライアント104に配信するための機能を提供する。コンテンツサーバ100は、CPU(Central Processing Unit)105、RAM(Random Access Memory)106、ROM(Read Only Memory)107、ネットワークインタフェース108、外部記憶装置109を少なくとも備えている。   The content server 100 provides a function for storing an image file and distributing it to the client 104. The content server 100 includes at least a CPU (Central Processing Unit) 105, a RAM (Random Access Memory) 106, a ROM (Read Only Memory) 107, a network interface 108, and an external storage device 109.

CPU105は、コンテンツサーバ100を構成する各部の動作制御を行うと共に、コンテンツサーバ100が行うものとして後述する各種の処理を実行する主体となる。   The CPU 105 controls the operation of each unit constituting the content server 100 and performs various processes described later as what the content server 100 performs.

RAM106は、データや制御情報を一時的に格納するメモリであり、CPU105が各種の処理を実行する際に用いるワークエリアとなる。   The RAM 106 is a memory that temporarily stores data and control information, and serves as a work area used when the CPU 105 executes various processes.

ROM107には、コンテンツサーバ100の固定の動作パラメータや動作プログラム等が格納される。   The ROM 107 stores fixed operation parameters and operation programs for the content server 100.

ネットワークインタフェース108は、ネットワーク122に接続して通信するための機能を提供するものである。コンテンツサーバ100は、このネットワークインタフェース108によって、仲介サーバ103、クライアント104とデータの送受信を行うことができる。   The network interface 108 provides a function for connecting to and communicating with the network 122. The content server 100 can transmit / receive data to / from the mediation server 103 and the client 104 via the network interface 108.

外部記憶装置109は、データを記憶する装置であり、データの読み書きを行うためのI/Oコマンドを受け付けるインタフェースを持つ。外部記憶装置109は、ハードディスクドライブ(HDD)、光ディスクドライブ、半導体記憶装置またはその他の記憶装置であってもよい。外部記憶装置109は、コンテンツサーバ100が行うものとして後述する各処理をCPU105に実行させるためのコンピュータプログラムやデータが格納されている。   The external storage device 109 is a device that stores data, and has an interface that accepts an I / O command for reading and writing data. The external storage device 109 may be a hard disk drive (HDD), an optical disk drive, a semiconductor storage device, or other storage devices. The external storage device 109 stores computer programs and data for causing the CPU 105 to execute each process described later as what the content server 100 performs.

仲介サーバ103は、クライアント104からコンテンツサーバ100への要求を仲介するための機能を提供する。仲介サーバ103は、CPU110、RAM111、ROM112、ネットワークインタフェース113、外部記憶装置114を少なくとも備えている。   The mediation server 103 provides a function for mediating a request from the client 104 to the content server 100. The mediation server 103 includes at least a CPU 110, a RAM 111, a ROM 112, a network interface 113, and an external storage device 114.

CPU110は、仲介サーバ103を構成する各部の動作制御を行うと共に、仲介サーバ103が行うものとして後述する各種の処理を実行する主体となる。   The CPU 110 controls the operation of each unit constituting the mediation server 103 and performs various processes described later as what the mediation server 103 performs.

RAM111は、データや制御情報を一時的に格納するメモリであり、CPU110が各種の処理を実行する際に用いるワークエリアとなる。   The RAM 111 is a memory that temporarily stores data and control information, and serves as a work area used when the CPU 110 executes various processes.

ROM112には、仲介サーバ103の固定の動作パラメータや動作プログラム等が格納される。   The ROM 112 stores fixed operation parameters, operation programs, and the like of the mediation server 103.

ネットワークインタフェース113は、ネットワーク122に接続して通信するための機能を提供するものである。仲介サーバ103は、このネットワークインタフェース113によって、コンテンツサーバ100、クライアント104とデータの送受信を行うことができる。   The network interface 113 provides a function for connecting to and communicating with the network 122. The mediation server 103 can transmit / receive data to / from the content server 100 and the client 104 through the network interface 113.

外部記憶装置114は、データを記憶する装置であり、データの読み書きを行うためのI/Oコマンドを受け付けるインタフェースを持つ。外部記憶装置114は、ハードディスクドライブ(HDD)、光ディスクドライブ、半導体記憶装置またはその他の記憶装置であってもよい。外部記憶装置114は、仲介サーバ103が行うものとして後述する各処理をCPU110に実行させるためのコンピュータプログラムやデータが格納されている。   The external storage device 114 is a device that stores data, and has an interface that accepts an I / O command for reading and writing data. The external storage device 114 may be a hard disk drive (HDD), an optical disk drive, a semiconductor storage device, or other storage devices. The external storage device 114 stores computer programs and data for causing the CPU 110 to execute each process described later as what the mediation server 103 performs.

クライアント104では、画像ファイルを処理するアプリケーションが動作しており、アプリケーションが必要とする画像ファイルをコンテンツサーバ100に要求する。クライアント104は、CPU115、RAM116、ROM117、ネットワークインタフェース118、外部記憶装置119を少なくとも備えている。また、クライアント104の形態によっては、入力装置120、出力装置121を備えている。   In the client 104, an application for processing an image file is running, and requests the content server 100 for an image file required by the application. The client 104 includes at least a CPU 115, a RAM 116, a ROM 117, a network interface 118, and an external storage device 119. Further, depending on the form of the client 104, an input device 120 and an output device 121 are provided.

CPU115は、クライアント104を構成する各部の動作制御を行うと共に、クライアント104が行うものとして後述する各種の処理を実行する主体となる。   The CPU 115 controls the operation of each unit constituting the client 104 and performs various processes described later as what the client 104 performs.

RAM116は、データや制御情報を一時的に格納するメモリであり、CPU115が各種の処理を実行する際に用いるワークエリアとなる。   The RAM 116 is a memory that temporarily stores data and control information, and serves as a work area used when the CPU 115 executes various processes.

ROM117には、クライアント104の固定の動作パラメータや動作プログラム等が格納される。   The ROM 117 stores fixed operation parameters and operation programs of the client 104.

ネットワークインタフェース118は、ネットワーク122に接続して通信するための機能を提供するものである。クライアント104は、このネットワークインタフェース118によって、コンテンツサーバ100、仲介サーバ103とデータの送受信を行うことができる。   The network interface 118 provides a function for connecting to and communicating with the network 122. The client 104 can send and receive data to and from the content server 100 and the mediation server 103 through the network interface 118.

外部記憶装置119は、データを記憶する装置であり、データの読み書きを行うためのI/Oコマンドを受け付けるインタフェースを持つ。外部記憶装置119は、ハードディスクドライブ(HDD)、光ディスクドライブ、半導体記憶装置またはその他の記憶装置であってもよい。外部記憶装置119は、クライアント104が行うものとして後述する各処理をCPU115に実行させるためのコンピュータプログラムやデータが格納されている。   The external storage device 119 is a device that stores data, and has an interface that accepts an I / O command for reading and writing data. The external storage device 119 may be a hard disk drive (HDD), an optical disk drive, a semiconductor storage device, or other storage devices. The external storage device 119 stores computer programs and data for causing the CPU 115 to execute each process described later as what the client 104 performs.

入力装置120は、例えば、キーボードやマウス、タッチパネルである。出力装置121は、例えば、ディスプレイである。   The input device 120 is, for example, a keyboard, a mouse, or a touch panel. The output device 121 is, for example, a display.

次に、コンテンツサーバ100、仲介サーバ103およびクライアント104の機能構成例について、図2のブロック図を用いて説明する。上述のように、コンテンツサーバ100〜102は共に同様の機能を有するものであるため、図2ではそれらをコンテンツサーバ100として示している。   Next, functional configuration examples of the content server 100, the mediation server 103, and the client 104 will be described with reference to the block diagram of FIG. As described above, since the content servers 100 to 102 have the same functions, they are shown as the content server 100 in FIG.

コンテンツサーバ100は、要求処理部201、読込制御部202、データ入出力部203を備える。   The content server 100 includes a request processing unit 201, a read control unit 202, and a data input / output unit 203.

要求処理部201は、クライアント104が生成した、画像ファイルを取得するための要求を受け付ける。要求処理部201には、クライアント104から要求を受信するための要求受信部204と、要求に対応した画像ファイルをクライアント104に送信するための画像送信部205が含まれる。   The request processing unit 201 receives a request generated by the client 104 for acquiring an image file. The request processing unit 201 includes a request receiving unit 204 for receiving a request from the client 104 and an image transmitting unit 205 for transmitting an image file corresponding to the request to the client 104.

読込制御部202は、要求処理部201が受け付けたクライアント104からの要求の実行制御を行う。読込制御部202には、待機キュー206、負荷計測部207、画像編集部208が含まれる。待機キュー206は、要求処理部201が受け付けた要求に対応した画像ファイルの読込タスクを蓄積しておくために用いられる。負荷計測部207は、待機キュー206中に蓄積されている読込タスクから、コンテンツサーバ100の負荷状況を計測する。例えば、蓄積されている読込待ちタスク数を負荷として計測する。または、読込待ちタスクが読み込み対象としているファイルのデータサイズを負荷として計測してもよい。画像編集部208は、必要に応じて、データ入出力部203から読み込まれた画像ファイルの編集処理を行う。   The read control unit 202 performs execution control of a request from the client 104 received by the request processing unit 201. The read control unit 202 includes a standby queue 206, a load measurement unit 207, and an image editing unit 208. The standby queue 206 is used to store image file reading tasks corresponding to requests received by the request processing unit 201. The load measurement unit 207 measures the load status of the content server 100 from the read task accumulated in the standby queue 206. For example, the number of tasks waiting to be read is measured as a load. Alternatively, the data size of a file to be read by a read waiting task may be measured as a load. The image editing unit 208 performs an editing process on the image file read from the data input / output unit 203 as necessary.

データ入出力部203は、読込制御部202から指示された読込タスクを、外部記憶装置109が解釈可能なI/Oコマンドに変換して実行する。これにより外部記憶装置109から、画像ファイルを構成するデータが読み込まれる。   The data input / output unit 203 converts the read task instructed by the read control unit 202 into an I / O command that can be interpreted by the external storage device 109 and executes it. As a result, data constituting the image file is read from the external storage device 109.

コンテンツサーバ100〜102に格納されている画像ファイルの一例を図3に示す。画像ファイル301は、オリジナル画像であり、例えば、ユーザ等から受け取った画像である。画像ファイル302は、オリジナル画像を半分のサイズに縮小した画像であり、例えば、サムネイル表示等に用いられる。画像ファイル303は、オリジナル画像を90度回転させた画像であり、例えば、ユーザからの編集指示によって生成されたものである。本実施形態においては、オリジナルの画像ファイルだけでなく、サムネイルや編集画像等の複数の関連画像ファイルが別々のコンテンツサーバ100〜102に格納されている。   An example of the image file stored in the content servers 100 to 102 is shown in FIG. The image file 301 is an original image, for example, an image received from a user or the like. The image file 302 is an image obtained by reducing the original image to a half size, and is used, for example, for thumbnail display. The image file 303 is an image obtained by rotating the original image by 90 degrees, and is generated by, for example, an editing instruction from the user. In the present embodiment, not only the original image file but also a plurality of related image files such as thumbnails and edited images are stored in different content servers 100 to 102.

画像ファイル302は、画像ファイル301を縮小することで生成できる。そのため、コンテンツサーバ101に格納されている画像ファイル302を読み込みたい場合、コンテンツサーバ100に格納さている画像ファイル301は代替ファイルとなりうる。また、画像ファイル303は、−90度回転することでオリジナルの画像ファイル301に戻すことができる。そのため、コンテンツサーバ100から画像ファイル301を読み込みたい場合、コンテンツサーバ102に格納されている画像ファイル303は代替ファイルとなりうる。   The image file 302 can be generated by reducing the image file 301. Therefore, when it is desired to read the image file 302 stored in the content server 101, the image file 301 stored in the content server 100 can be a substitute file. The image file 303 can be returned to the original image file 301 by rotating by -90 degrees. Therefore, when it is desired to read the image file 301 from the content server 100, the image file 303 stored in the content server 102 can be an alternative file.

仲介サーバ103は、要求仲介部209、割り振り制御部210を備える。   The mediation server 103 includes a request mediation unit 209 and an allocation control unit 210.

要求仲介部209には、クライアント104からの要求を受け付ける要求受付部211、要求をコンテンツサーバ100〜102に転送する要求転送部212が含まれる。   The request mediation unit 209 includes a request reception unit 211 that receives a request from the client 104 and a request transfer unit 212 that transfers the request to the content servers 100 to 102.

割り振り制御部210には、格納情報管理部213、要求割り振り部214が含まれる。格納情報管理部213は、コンテンツサーバ100〜102や、コンテンツサーバ100〜102に格納されている画像ファイルに関する格納情報を管理する。格納情報は、画像ファイルを新たにコンテンツサーバ100〜102に格納する際、およびコンテンツサーバ100〜102から画像ファイルを削除する際に更新される。格納情報については、図4を用いて後述する。要求割り振り部214は、クライアント104からの要求を割り振るコンテンツサーバを決定する。具体的には、まず、要求で指定されている対象ファイルおよび代替ファイルを格納しているコンテンツサーバを、格納情報管理部213が管理している格納情報に基づいて検索する。次に、その中から負荷の低いものを選出して、負荷の低いコンテンツサーバに優先して要求の割り振りを行う。例えば、コンテンツサーバ101が要求の対象ファイルを、コンテンツサーバ100が代替ファイルを格納しているとする。そして、コンテンツサーバ101よりコンテンツサーバ100の負荷が低い場合、要求割り振り部214はコンテンツサーバ100に要求を割り振る。この際、コンテンツサーバ100では、読み込んだ代替ファイルを編集して対象ファイルを生成する必要がある。これは画像編集部208によって行われる。   The allocation control unit 210 includes a storage information management unit 213 and a request allocation unit 214. The storage information management unit 213 manages storage information regarding the content servers 100 to 102 and the image files stored in the content servers 100 to 102. The storage information is updated when the image file is newly stored in the content servers 100 to 102 and when the image file is deleted from the content servers 100 to 102. The stored information will be described later with reference to FIG. The request allocation unit 214 determines a content server to which a request from the client 104 is allocated. Specifically, first, the content server storing the target file and alternative file specified in the request is searched based on the storage information managed by the storage information management unit 213. Next, a server with a low load is selected from among them, and a request is allocated with priority over a content server with a low load. For example, it is assumed that the content server 101 stores a request target file and the content server 100 stores a substitute file. When the load on the content server 100 is lower than that on the content server 101, the request allocation unit 214 allocates a request to the content server 100. At this time, the content server 100 needs to edit the read alternative file to generate the target file. This is performed by the image editing unit 208.

クライアント104上では、画像ファイルを処理する様々なアプリケーション215が動作している。クライアント104は、アプリケーション215が必要とする画像ファイルをコンテンツサーバ100〜102に要求するための要求生成部216を備える。要求生成部216は、コンテンツサーバに要求を送信するための要求送信部217と、要求した画像ファイルを受信するための画像受信部218を含む。   Various applications 215 for processing image files are running on the client 104. The client 104 includes a request generation unit 216 for requesting the content servers 100 to 102 for an image file required by the application 215. The request generation unit 216 includes a request transmission unit 217 for transmitting a request to the content server, and an image reception unit 218 for receiving the requested image file.

図4は、格納情報管理部213が管理する格納情報の一例を示している。格納情報は、画像ファイルID401、サイズ情報402、編集履歴情報403、格納サーバ情報404を含んでいる。画像ファイルID401は、コンテンツサーバ100に格納されている画像ファイルを一意に特定するための識別子である。サイズ情報402は、各画像ファイルのデータサイズを表す。編集履歴情報403は、各画像ファイルに施された編集処理の履歴であり、オリジナル画像ファイルID405、画像処理内容406、その処理の可逆性情報407が含まれる。オリジナル画像ファイルID405は、編集処理される前のオリジナルの画像ファイルを示す画像ファイルIDである。可逆性情報407は、その処理と逆の処理によって、オリジナル画像に戻すことが可能であるか否かを表す。   FIG. 4 shows an example of storage information managed by the storage information management unit 213. The storage information includes an image file ID 401, size information 402, editing history information 403, and storage server information 404. The image file ID 401 is an identifier for uniquely specifying an image file stored in the content server 100. The size information 402 represents the data size of each image file. The editing history information 403 is a history of editing processing applied to each image file, and includes an original image file ID 405, image processing content 406, and reversibility information 407 of the processing. The original image file ID 405 is an image file ID indicating the original image file before the editing process. The reversibility information 407 indicates whether or not it is possible to return to the original image by a process reverse to the process.

編集履歴情報403に基づいて、ある画像ファイルの代わりとなる代替ファイルを判定できる。例えば、画像ファイルID401が示すある画像ファイルは、オリジナル画像ファイルID405が示す画像ファイルに画像処理内容406を施すことで生成できる。すなわち、オリジナル画像ファイルID405が示す画像ファイルは、画像ファイルID401が示す画像ファイルにとっての代替ファイルとなる。また、可逆性情報407が可逆を示す場合には、画像ファイルID401が示す画像ファイルに画像処理内容406と逆の処理を施すことでオリジナル画像ファイルID405が示す画像ファイルを生成できる。すなわち、画像ファイルID401が示す画像ファイルは、オリジナル画像ファイルID405が示す画像ファイルにとっての代替ファイルとなる。編集履歴情報403を参照した結果、例えば、以上の代替画像ファイルの情報が存在することが分かる。   Based on the editing history information 403, an alternative file that can be substituted for a certain image file can be determined. For example, an image file indicated by the image file ID 401 can be generated by applying the image processing content 406 to the image file indicated by the original image file ID 405. That is, the image file indicated by the original image file ID 405 is a substitute file for the image file indicated by the image file ID 401. Further, when the reversibility information 407 indicates reversibility, the image file indicated by the original image file ID 405 can be generated by performing a process reverse to the image processing content 406 on the image file indicated by the image file ID 401. In other words, the image file indicated by the image file ID 401 is a substitute file for the image file indicated by the original image file ID 405. As a result of referring to the editing history information 403, for example, it can be seen that there is information on the above-described alternative image file.

格納サーバ情報404は、各画像ファイルが格納されているコンテンツサーバを表す情報である。格納サーバ情報404には、各コンテンツサーバを一意に特定するための識別子であるサーバID408と、アドレス情報409が含まれる。   The storage server information 404 is information indicating a content server in which each image file is stored. The storage server information 404 includes a server ID 408 that is an identifier for uniquely identifying each content server, and address information 409.

図5は、クライアント104が画像ファイルを取得するためにコンテンツサーバに対して行う要求のメッセージ例を示す図である。リクエストメッセージ501はクライアント104が送信するメッセージ、レスポンスメッセージ504はクライアント104が受信するメッセージである。要求のメッセージは、HTTP(Hypertext Transfer Protocol)のプロトコルに従った構文によって構成される。リクエストメッセージ501において、取得対象の画像ファイルはHTTPのパス部502によって指定される。また、リクエストに関するメタ情報はヘッダ部503に付加される。レスポンスメッセージ504では、ヘッダ部506に付加されたメタ情報とともに、要求した画像ファイル507が添付されている。   FIG. 5 is a diagram illustrating a message example of a request that the client 104 makes to the content server in order to acquire an image file. A request message 501 is a message transmitted by the client 104, and a response message 504 is a message received by the client 104. The request message is composed of a syntax according to the HTTP (Hypertext Transfer Protocol) protocol. In the request message 501, the image file to be acquired is specified by the HTTP path unit 502. Further, meta information related to the request is added to the header portion 503. In the response message 504, the requested image file 507 is attached together with the meta information added to the header portion 506.

次に、仲介サーバ103が行う処理について、同処理のフローチャートを示す図6を用いて説明する。フローチャートは、CPUが制御プログラムを実行することにより実現される。   Next, processing performed by the mediation server 103 will be described with reference to FIG. 6 showing a flowchart of the processing. The flowchart is realized by the CPU executing the control program.

まず、ステップS601で、要求受付部211が、コンテンツサーバ100〜102に格納されている画像ファイルを取得するための要求を、クライアント104から受信する。   First, in step S <b> 601, the request reception unit 211 receives a request for acquiring an image file stored in the content servers 100 to 102 from the client 104.

次に、ステップS602で、要求割り振り部214が、要求の対象ファイルを格納しているコンテンツサーバを検索し、負荷状況を取得する。コンテンツサーバの検索は、格納情報管理部213が管理する格納情報に基づいて行われる。負荷状況は要求の受信の度にコンテンツサーバから取得してもよいし、あらかじめ一定間隔でコンテンツサーバから取得しておいてもよい。負荷状況は、コンテンツサーバの負荷計測部207が管理している。   Next, in step S602, the request allocation unit 214 searches for a content server that stores the requested target file, and acquires the load status. The search for the content server is performed based on the storage information managed by the storage information management unit 213. The load status may be acquired from the content server every time a request is received, or may be acquired from the content server in advance at regular intervals. The load status is managed by the load measuring unit 207 of the content server.

続いて、ステップS603で、要求の対象ファイルの代わりとなる代替ファイルが存在するか否かを判定する。判定は、上述のように、格納情報管理部213が保持する編集履歴情報403に基づいて行われる。代替ファイルが存在しない場合は、ステップS604に進み、存在する場合はステップS605に進む。ステップS604では、対象ファイルを格納しているコンテンツサーバの中から最も負荷の低いサーバを選出する。   Subsequently, in step S603, it is determined whether there is an alternative file that can replace the requested file. The determination is made based on the editing history information 403 held by the storage information management unit 213 as described above. If no alternative file exists, the process proceeds to step S604, and if present, the process proceeds to step S605. In step S604, the server with the lowest load is selected from the content servers storing the target file.

ステップS605では、ステップS602と同様の方法により、代替ファイルを格納しているコンテンツサーバの負荷状況を取得する。そして、ステップS606で、代替ファイルを格納しているコンテンツサーバのうち、対象ファイルを格納しているコンテンツサーバよりも負荷の低いものが存在するか否かを判定する。存在する場合には、ステップS606に進み、存在しない場合にはステップS604に進む。ステップS607では、代替ファイルを格納しているコンテンツサーバの中から最も負荷の低いサーバを選出する。   In step S605, the load status of the content server storing the substitute file is acquired by the same method as in step S602. In step S606, it is determined whether there is a content server that stores the substitute file that has a lower load than the content server that stores the target file. When it exists, it progresses to step S606, and when it does not exist, it progresses to step S604. In step S607, the server with the lowest load is selected from the content servers storing the substitute file.

続いて、ステップS608では、対象ファイルの代わりに代替ファイルを読み込むように、要求を変換する。変換は、例えば、要求のパス部502を、代替ファイルを示す情報に書き換え、ヘッダ部503に代替ファイルから対象ファイルを生成するために必要な編集処理内容を追記することによって行われる。要求のリクエストメッセージ501を変換した例をリクエストメッセージ508に示す。変換されたリクエストメッセージでは、パス部509が、対象ファイルの「002.jpg」から代替ファイルの「001.jpg」に書き換えられている。また、ヘッダ部510に、代替ファイルから対象ファイルを生成するのに必要な編集処理内容「Size=1/2」が追記されている。   In step S608, the request is converted so that an alternative file is read instead of the target file. The conversion is performed, for example, by rewriting the request path portion 502 with information indicating an alternative file, and additionally adding the editing processing contents necessary for generating the target file from the alternative file in the header portion 503. An example of the request message 501 converted is shown in the request message 508. In the converted request message, the path portion 509 is rewritten from “002.jpg” of the target file to “001.jpg” of the alternative file. Further, the editing process content “Size = 1/2” necessary for generating the target file from the alternative file is added to the header portion 510.

最後に、ステップS609で、ステップS604またはステップS607で選出されたコンテンツサーバに対して、要求転送部212が要求を転送する。なお、要求の転送は、仲介サーバ103が直接コンテンツサーバに要求を転送してもよいし、割り振り先をクライアント104に通知し、クライアント104がコンテンツサーバにリダイレクトしてもよい。   Finally, in step S609, the request transfer unit 212 transfers the request to the content server selected in step S604 or step S607. The transfer of the request may be performed by the mediation server 103 directly transferring the request to the content server, or by notifying the client 104 of the allocation destination and redirecting the client 104 to the content server.

次に、コンテンツサーバ100〜102が行う処理について、同処理のフローチャートを示す図7を用いて説明する。フローチャートは、CPUが制御プログラムを実行することにより実現される。   Next, processing performed by the content servers 100 to 102 will be described with reference to FIG. 7 showing a flowchart of the processing. The flowchart is realized by the CPU executing the control program.

まず、ステップS701で、要求受信部204が割り振られた要求を受信する。そして、要求に対応した読込タスクを生成し、待機キュー206に蓄積する。   First, in step S701, the request receiving unit 204 receives an allocated request. Then, a read task corresponding to the request is generated and stored in the standby queue 206.

読込タスクをXML形式で表した一例を図8に示す。読込タスクは、タスクID801、対象ファイル802、生成日時803、関連要求情報804を含む。タスクID801は、読込タスクを一意に特定するための識別子である。対象ファイル802は、読込タスクが読み込む対象としている画像ファイルを表す。生成日時803は、読込タスクが生成された日時を表す。関連要求情報804は、その読込タスクによって読み込まれる画像ファイルを要求している、クライアント104からのリクエスト情報である。関連要求情報804は、要求ID805と、編集処理情報806を含む。要求ID805は、ステップS603で受信した要求を一意に特定するための識別子である。編集処理情報806は、読み込んだ画像ファイルに対して施す必要がある編集処理を示している。これは、要求された対象ファイルの代わりに代替ファイルが読み込まれた場合に、対象ファイルを生成するのに必要な処理であり、要求のヘッダ部510で指定されている。   An example in which the read task is expressed in XML format is shown in FIG. The read task includes a task ID 801, a target file 802, a generation date / time 803, and related request information 804. The task ID 801 is an identifier for uniquely identifying the read task. A target file 802 represents an image file to be read by a reading task. The generation date and time 803 represents the date and time when the reading task was generated. The related request information 804 is request information from the client 104 that requests an image file read by the reading task. The related request information 804 includes a request ID 805 and edit processing information 806. The request ID 805 is an identifier for uniquely specifying the request received in step S603. The edit processing information 806 indicates edit processing that needs to be performed on the read image file. This is a process necessary for generating a target file when an alternative file is read instead of the requested target file, and is specified in the header section 510 of the request.

次に、ステップS702で、待機キュー206から、先頭に位置している読込タスクを取り出す。そして、データ入出力部203が、取り出された読込タスクが対象とする画像ファイルのデータを読み込むため、外部記憶装置109にアクセスしてI/Oコマンドを実行する。   Next, in step S702, the reading task located at the head is taken out from the waiting queue 206. Then, the data input / output unit 203 accesses the external storage device 109 and executes an I / O command in order to read the image file data targeted by the read task that has been taken out.

続いて、ステップS703で、画像編集部208が、読み込まれた画像ファイルに対して画像編集が必要か否かを判定する。判定は、読込タスクに編集処理情報806が指定されているか否かによって行われる。画像編集が必要な場合には、ステップS704で、編集処理を行うことによって、対象ファイルを生成する。   In step S703, the image editing unit 208 determines whether image editing is necessary for the read image file. The determination is made based on whether or not the editing process information 806 is specified for the reading task. If image editing is necessary, the target file is generated by performing editing processing in step S704.

最後に、ステップS705で、画像送信部205が、ステップS702で外部記憶装置109から読み込まれた画像ファイル、もしくはステップS704で生成された画像ファイルをクライアント104に送信する。   Finally, in step S705, the image transmission unit 205 transmits the image file read from the external storage device 109 in step S702 or the image file generated in step S704 to the client 104.

以上のように、本実施形態のシステムによれば、コンテンツサーバ群の中から、要求の対象ファイルを格納しているサーバだけでなく、代替ファイルを格納しているサーバも含めて、負荷の低いサーバを割り振り先として選ぶことができる。そのため、コンテンツサーバ群に対して効率的に負荷の分散を行うことが可能となる。   As described above, according to the system of this embodiment, the load is low, including not only the server storing the requested file but also the server storing the substitute file from the content server group. You can choose a server as an allocation destination. Therefore, it is possible to efficiently distribute the load to the content server group.

<実施形態2>
実施形態1では、要求の対象ファイルだけでなく、代替ファイルを格納しているコンテンツサーバ間で要求を割り振ることで、負荷の分散を行った。本実施形態では、実施形態1の方法だけでは負荷が十分に分散できない場合に、さらに画像ファイルの複製を作成する例を説明する。ファイルの複製を作成することによって負荷を分散する方法については上述の先行技術等にも開示されているが、本実施形態においては、画像ファイルの代替可能性を考慮して複製を作成する点が異なる。なお、本実施形態は、基本的には実施形態1を前提としているため、以下では、実施形態1との差分について説明する。なお、本実施形態に係るシステム構成は、図1、2に示す構成と同じである。
<Embodiment 2>
In the first embodiment, the load is distributed by allocating the request among the content servers storing the substitute file as well as the request target file. In the present embodiment, an example in which a copy of an image file is further created when the load cannot be sufficiently distributed only by the method of the first embodiment will be described. The method of distributing the load by creating a copy of the file is also disclosed in the above-described prior art and the like. However, in the present embodiment, the copy is created in consideration of the possibility of substitution of the image file. Different. Since the present embodiment is basically based on the first embodiment, differences from the first embodiment will be described below. The system configuration according to this embodiment is the same as the configuration shown in FIGS.

本実施形態においては、画像ファイルの複製処理は、仲介サーバ103が、ステップS609で割り振り先のコンテンツサーバに要求の転送を行った後に行うものとして説明する。しかし、複製処理を行うタイミングはこれに限るものではなく、例えば、ある一定の時間が経過するごとに定期的に行なってもよい。   In the present embodiment, the image file duplication process is described as being performed after the mediation server 103 transfers the request to the allocation destination content server in step S609. However, the timing for performing the duplication processing is not limited to this, and for example, the duplication processing may be performed periodically whenever a certain period of time elapses.

本実施形態の格納情報管理部213は、図4に示した格納情報だけでなく、図9に示すアクセス履歴情報を管理している。アクセス履歴情報は、要求ID901、要求日時902、対象ファイル情報903、アクセスしたコンテンツサーバ情報904を含む。   The storage information management unit 213 of this embodiment manages not only the storage information shown in FIG. 4 but also the access history information shown in FIG. The access history information includes a request ID 901, a request date and time 902, target file information 903, and accessed content server information 904.

画像ファイルの複製処理について、同処理のフローチャートを示す図10を用いて説明する。フローチャートは、CPUが制御プログラムを実行することにより実現される。   The image file duplication processing will be described with reference to FIG. 10 showing a flowchart of the processing. The flowchart is realized by the CPU executing the control program.

まず、ステップS1001で、格納情報管理部213が管理しているアクセス履歴情報を参照し、対象ファイルの一定期間内のアクセス数を算出する。次に、ステップS1002で、一定期間内のアクセス数が所定値以上か否かを判定する。所定値以上のアクセスがある場合にはステップS1003に進み、ない場合には処理を終了する。   First, in step S1001, the access history information managed by the stored information management unit 213 is referred to, and the number of accesses within a certain period of the target file is calculated. Next, in step S1002, it is determined whether the number of accesses within a certain period is greater than or equal to a predetermined value. If there is an access exceeding the predetermined value, the process proceeds to step S1003, and if not, the process ends.

続いて、ステップS1003で、対象ファイルの代わりとなる代替ファイルが存在するか否かを判定する。代替ファイルが存在する場合はステップS1004に進み、代替ファイルが存在しない場合はステップS1006に進む。ステップS1004では、ステップS1001と同様の方法により、代替ファイルの一定期間内のアクセス数を算出する。そして、ステップS1005で、一定期間内のアクセス数が所定値以上か否かを判定する。所定値以上のアクセスがある場合にはステップS1006に進み、ない場合には処理を終了する。   Subsequently, in step S1003, it is determined whether there is an alternative file that can replace the target file. If an alternative file exists, the process proceeds to step S1004. If no alternative file exists, the process proceeds to step S1006. In step S1004, the number of accesses within a certain period of the substitute file is calculated by the same method as in step S1001. In step S1005, it is determined whether the number of accesses within a certain period is equal to or greater than a predetermined value. If there is an access exceeding the predetermined value, the process proceeds to step S1006, and if not, the process ends.

最後に、ステップS1006で、対象ファイルの複製を作成する。複製は、例えば、対象ファイルおよび代替ファイルが格納されていないコンテンツサーバの中で、一定期間内のアクセス数が最も少ないサーバに対して行う。   Finally, in step S1006, a copy of the target file is created. Duplication is performed, for example, on a server with the smallest number of accesses within a certain period of time among content servers that do not store the target file and substitute file.

以上、画像ファイルの複製処理の一例として、対象ファイルへのアクセスが頻発している場合に、代替ファイルが存在しない、もしくは代替ファイルへもアクセスが頻発しているなら複製を作成する、という方法を示した。なお、画像ファイルの複製処理に関しては様々な方法が考えられるため、上述の方法に限るものではなく、他の方法を用いて実現してもよい。   As described above, as an example of image file duplication processing, when access to the target file occurs frequently, if the alternative file does not exist or access to the alternative file occurs frequently, a method of creating a copy Indicated. Since various methods can be considered for the image file duplication processing, the method is not limited to the above-described method, and may be realized by using other methods.

<実施形態3>
本実施形態では、仲介サーバ103が要求を受信して割り振りを行う際に、要求のマージも考慮する例を説明する。要求のマージとは、複数の要求を一つにまとめることを指す。これによって、コンテンツサーバ100〜102において画像ファイルを読み込むための処理負荷を減らすことができる。本実施形態は、基本的には実施形態1を前提としているため、以下では、実施形態1との差分について説明する。
<Embodiment 3>
In the present embodiment, an example will be described in which merging of requests is considered when the mediation server 103 receives and allocates a request. Request merging refers to combining multiple requests into one. Thereby, the processing load for reading the image file in the content servers 100 to 102 can be reduced. Since this embodiment is basically based on the first embodiment, the difference from the first embodiment will be described below.

本実施形態の仲介サーバ103が行う処理について、同処理のフローチャートを示す図11を用いて説明する。フローチャートは、CPUが制御プログラムを実行することにより実現される。   Processing performed by the mediation server 103 according to the present embodiment will be described with reference to FIG. 11 showing a flowchart of the processing. The flowchart is realized by the CPU executing the control program.

まず、ステップS1101で、要求受付部211が、コンテンツサーバ100〜102に格納されている画像ファイルを取得するための要求を、クライアント104から受信する。   First, in step S <b> 1101, the request reception unit 211 receives a request for acquiring an image file stored in the content servers 100 to 102 from the client 104.

次に、ステップS1102で、要求割り振り部214が、要求の対象ファイルを格納しているコンテンツサーバを検索し、同一の画像ファイルを対象にしている実行待ち要求が存在するか否かを問い合わせる。コンテンツサーバの検索は、格納情報管理部213が管理する格納情報に基づいて行われる。実行待ち要求とは、コンテンツサーバにおいて、その要求によって生成された読込タスクが待機キュー206に蓄積されている状態の要求であり未処理要求である。そして、実行待ち要求が存在する場合にはステップS1104に進み、存在しない場合にはステップS1105に進む(ステップS1103)。   Next, in step S1102, the request allocation unit 214 searches for a content server that stores the requested file, and inquires whether there is an execution waiting request that targets the same image file. The search for the content server is performed based on the storage information managed by the storage information management unit 213. The execution waiting request is a request in a state where the reading task generated by the request is accumulated in the waiting queue 206 in the content server, and is an unprocessed request. If there is an execution waiting request, the process proceeds to step S1104. If not, the process proceeds to step S1105 (step S1103).

ステップS1104では、該当する実行待ち要求が存在するコンテンツサーバに要求を転送する。   In step S1104, the request is transferred to the content server having the corresponding execution waiting request.

ステップS1105では、要求の対象ファイルの代わりとなる代替ファイルが存在するか否かを判定する。判定は、格納情報管理部213が保持する編集履歴情報403に基づいて行われる。代替ファイルが存在しない場合はステップS1106(すなわち、ステップS602)に進み、存在する場合はステップS1107に進む。   In step S1105, it is determined whether there is an alternative file that can replace the requested file. The determination is made based on the edit history information 403 held by the storage information management unit 213. If there is no alternative file, the process proceeds to step S1106 (ie, step S602), and if it exists, the process proceeds to step S1107.

ステップS1107では、ステップS1102と同様の方法により、代替ファイルを格納しているコンテンツサーバを検索し、同一の画像ファイルを対象にしている実行待ち要求が存在するか否かを問い合わせる。そして、実行待ち要求が存在する場合にはステップS1109に進み、存在しない場合にはステップS1106に進む(ステップS1108)。   In step S1107, the content server storing the substitute file is searched by the same method as in step S1102, and an inquiry is made as to whether or not there is an execution waiting request for the same image file. If there is an execution waiting request, the process proceeds to step S1109, and if not, the process proceeds to step S1106 (step S1108).

ステップS1109では、対象ファイルの代わりに代替ファイルを読み込むように、要求を変換する。変換は、ステップS608と同様の方法により行われる。そして、ステップS1104で、該当する実行待ち要求が存在するコンテンツサーバに要求を転送する。   In step S1109, the request is converted so that an alternative file is read instead of the target file. The conversion is performed by the same method as in step S608. In step S1104, the request is transferred to the content server having the corresponding execution waiting request.

要求を受信したコンテンツサーバでは、ステップS701において、新規要求の対象ファイルと同一の画像ファイルを読み込むための読込タスクが待機キュー206に存在する場合には、新たに読込タスクを生成しない。その代わりに、待機キュー206内の既存の読込タスクの関連要求情報804に、新規要求の情報を追加する。これによって、複数の要求が一つの読込タスクにマージされたことになる。読み込んだ画像ファイルに対しては、ステップS703〜705を、関連要求情報804に登録されている要求の分だけ繰り返す。すなわち、一回の画像ファイル読み込みで、その画像ファイルを対象としている複数の要求に対応することができる。   In step S701, the content server that has received the request does not generate a new read task when there is a read task for reading the same image file as the target file of the new request in the standby queue 206. Instead, new request information is added to the related request information 804 of the existing read task in the waiting queue 206. As a result, a plurality of requests are merged into one reading task. For the read image file, steps S703 to 705 are repeated for the number of requests registered in the related request information 804. That is, it is possible to respond to a plurality of requests for the image file by reading the image file once.

このように本実施形態では、仲介サーバ103が、要求のマージも考慮して割り振りを行う。そのため、コンテンツサーバの負荷を軽減することが可能になる。   Thus, in this embodiment, the mediation server 103 performs allocation in consideration of request merging. As a result, the load on the content server can be reduced.

<実施形態4>
実施形態1では、コンテンツサーバ100〜102で代替ファイルが読み込まれた場合に、対象ファイルを生成するための画像編集処理がコンテンツサーバにおいて実行されていた。本実施形態では、画像編集処理をクライアント104において実行する例を説明する。
<Embodiment 4>
In the first embodiment, when an alternative file is read by the content servers 100 to 102, an image editing process for generating a target file is executed in the content server. In this embodiment, an example in which image editing processing is executed in the client 104 will be described.

本実施形態における、コンテンツサーバ100、仲介サーバ103およびクライアント104の機能構成例を図12に示す。画像編集処理を行う画像編集部1201がクライアント104に備わっている。   An example of functional configurations of the content server 100, the mediation server 103, and the client 104 in this embodiment is shown in FIG. The client 104 includes an image editing unit 1201 that performs image editing processing.

コンテンツサーバ100の画像送信部205がクライアント104に送信するメッセージは、レスポンスメッセージ511のようになる。ヘッダ部513に、添付された代替ファイル514に対して実行すべき編集処理の内容が含まれている。クライアント104の画像編集部1201でこの編集処理を行うことによって、アプリケーション215が要求した画像ファイルが生成される。   A message transmitted from the image transmission unit 205 of the content server 100 to the client 104 is a response message 511. The header part 513 includes the contents of the editing process to be executed on the attached substitute file 514. By performing this editing process in the image editing unit 1201 of the client 104, an image file requested by the application 215 is generated.

このように本実施形態では、代替ファイルが読み込まれた際に必要となる画像編集処理がクライアント104で実施される。そのため、コンテンツサーバ100においてCPU使用率が高い場合など、コンテンツサーバ100において画像編集処理を実行するのが適切でない場合に有効となる。   As described above, in the present embodiment, the image editing process required when the alternative file is read is performed by the client 104. Therefore, this is effective when it is not appropriate to execute the image editing process in the content server 100, such as when the CPU usage rate is high in the content server 100.

<その他の実施形態>
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体(記憶媒体)等としての実施態様をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インタフェース機器、撮像装置、Webアプリケーション等)から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
<Other embodiments>
Although the embodiment has been described in detail above, the present invention can take an embodiment as a system, apparatus, method, program, recording medium (storage medium), or the like. Specifically, the present invention may be applied to a system composed of a plurality of devices (for example, a host computer, an interface device, an imaging device, a Web application, etc.), or may be applied to a device composed of a single device. good.

また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコード(コンピュータプログラム)を記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。   Needless to say, the object of the present invention can be achieved as follows. That is, a recording medium (or storage medium) that records a program code (computer program) of software that implements the functions of the above-described embodiments is supplied to the system or apparatus. Needless to say, such a storage medium is a computer-readable storage medium. Then, the computer (or CPU or MPU) of the system or apparatus reads and executes the program code stored in the recording medium. In this case, the program code itself read from the recording medium realizes the functions of the above-described embodiment, and the recording medium on which the program code is recorded constitutes the present invention.

Claims (13)

画像ファイルを格納する接続可能な複数の格納装置からクライアントの要求に応じて前記画像ファイルを読み込む仲介をする画像管理装置であって、
前記画像ファイルを格納している格納装置および編集履歴を管理する管理手段と、
前記複数の格納装置の負荷状況を取得する取得手段と、
前記画像ファイルを取得する要求を受信した際に、要求された対象ファイルを読み込むために、前記負荷状況に応じて前記複数の格納装置に前記要求を割り振る要求割り振り手段と、
を備え、
前記要求割り振り手段は、前記編集履歴を参照した結果、前記対象ファイルを生成可能な代替ファイルが存在する場合、前記代替ファイルを格納する格納装置を含めて前記要求を割り振る
ことを特徴とする画像管理装置。
An image management device that mediates reading of the image file in response to a client request from a plurality of connectable storage devices that store the image file,
A storage device storing the image file and a management means for managing an editing history;
Obtaining means for obtaining a load status of the plurality of storage devices;
A request allocating means for allocating the request to the plurality of storage devices according to the load status in order to read the requested target file upon receiving the request to acquire the image file;
With
The request allocating means allocates the request including a storage device for storing the alternative file when there is an alternative file capable of generating the target file as a result of referring to the editing history. apparatus.
前記要求割り振り手段は、前記対象ファイルを格納する格納装置と前記代替ファイルを格納する格納装置のうち、負荷が低い格納装置を優先して前記要求を割り振ることを特徴とする請求項1記載の画像管理装置。   2. The image according to claim 1, wherein the request allocation unit preferentially allocates the request to a storage device having a low load among a storage device that stores the target file and a storage device that stores the substitute file. Management device. 前記要求割り振り手段は、前記要求をする格納装置が予め指定されている場合、前記代替ファイルを格納する格納装置に要求を変換することを特徴とする請求項1記載の画像管理装置。   2. The image management apparatus according to claim 1, wherein the request allocating unit converts the request to a storage device that stores the substitute file when a storage device that makes the request is designated in advance. 前記管理手段は、前記格納装置に格納されている各画像ファイルが、前記格納装置に格納されている他の画像ファイルに画像編集を施すことで生成できるか否かについての情報を編集履歴として管理し、
前記要求割り振り手段は、画像編集を施すことで前記対象ファイルを生成できる画像ファイルを、その対象ファイルの代替ファイルとして判定する
ことを特徴とする請求項1に記載の画像管理装置。
The management unit manages, as an editing history, information about whether each image file stored in the storage device can be generated by performing image editing on another image file stored in the storage device. And
The image management apparatus according to claim 1, wherein the request allocation unit determines an image file that can generate the target file by performing image editing as an alternative file of the target file.
前記管理手段では、前記格納装置に格納されている画像ファイルのオリジナル画像ファイルを示す情報を前記編集履歴と対応させて管理していることを特徴とする請求項1記載の画像管理装置。   2. The image management apparatus according to claim 1, wherein the management unit manages information indicating an original image file of an image file stored in the storage apparatus in association with the editing history. 前記管理手段では、前記格納装置に格納されている画像ファイルをオリジナル画像ファイルに戻すことが可能か可逆性を示す情報を管理していることを特徴とする請求項1記載の画像管理装置。   The image management apparatus according to claim 1, wherein the management unit manages information indicating whether the image file stored in the storage apparatus can be returned to the original image file or not. 前記対象ファイルがオリジナル画像ファイルであり、前記編集履歴を参照して、前記格納装置に格納されている画像ファイルをオリジナル画像ファイルに戻すことが可能な場合に、前記格納されている画像ファイルを前記対象ファイルの代替画像であるとすることを特徴とする請求項6記載の画像管理装置。   When the target file is an original image file and the image file stored in the storage device can be returned to the original image file with reference to the editing history, the stored image file is The image management apparatus according to claim 6, wherein the image management apparatus is an alternative image of the target file. 前記代替ファイルは、前記対象ファイルのオリジナル画像ファイルであることを特徴とする請求項1記載の画像管理装置。   The image management apparatus according to claim 1, wherein the substitute file is an original image file of the target file. 前記対象ファイルの代わりに前記代替ファイルを前記格納装置から読み込んだ際に、その代替ファイルに画像編集を施すことによって前記対象ファイルを生成することを前記格納装置に指示する指示手段を更に備える
ことを特徴とする請求項1に記載の画像管理装置。
When the substitute file is read from the storage device instead of the target file, the storage device further comprises an instruction means for instructing the storage device to generate the target file by performing image editing on the substitute file. The image management apparatus according to claim 1, wherein:
前記要求割り振り手段は、前記画像ファイルおよびその代わりとなる代替ファイルへの前記要求を受信した回数が所定値を超えた場合には、その画像ファイルを格納していない他の前記格納装置に、その画像ファイルの複製を作成する作成手段を更に備える
ことを特徴とする請求項1に記載の画像管理装置。
When the number of times the request allocating means receives the request for the image file and the alternative file serving as a substitute for the image file exceeds a predetermined value, the request allocating means The image management apparatus according to claim 1, further comprising creation means for creating a copy of the image file.
前記要求割り振り手段は、前記格納装置に割り振り済みでまだ読み込み処理されていない未処理要求の中に、前記要求の対象ファイルと同一の画像ファイル、もしくはその代替ファイルと同一の画像ファイルを読み込むための前記未処理要求が存在する場合には、その未処理要求が割り振られている格納装置に前記要求を割り振る
ことを特徴とする請求項1に記載の画像管理装置。
The request allocating means is for reading the same image file as the target file of the request or the same image file as the alternative file in an unprocessed request that has been allocated to the storage device but not yet read. The image management apparatus according to claim 1, wherein when the unprocessed request exists, the request is allocated to a storage device to which the unprocessed request is allocated.
画像ファイルを格納する接続可能な複数の格納装置からクライアントの要求に応じて前記画像ファイルを読み込む仲介をする画像管理方法であって、
前記画像ファイルを格納している格納装置および編集履歴を管理する管理工程と、
前記格納装置の負荷状況を取得する取得工程と、
前記画像ファイルを取得する要求を受信した際に、要求された対象ファイルを読み込むために、前記負荷状況に応じて前記複数の格納装置に前記要求を割り振る要求割り振り工程と、
を備え、
前記要求割り振り工程は、前記編集履歴を参照した結果、前記対象ファイルを生成可能な代替ファイルが存在する場合、前記代替ファイルを格納する格納装置を含めて前記要求を割り振る
ことを特徴とする画像管理方法。
An image management method that mediates reading of an image file in response to a client request from a plurality of connectable storage devices that store the image file,
A storage device storing the image file and a management process for managing the editing history;
An acquisition step of acquiring a load status of the storage device;
A request allocating step of allocating the request to the plurality of storage devices according to the load status in order to read the requested target file when receiving the request to acquire the image file;
With
The request allocating step allocates the request including a storage device for storing the alternative file when there is an alternative file capable of generating the target file as a result of referring to the editing history. Method.
コンピュータを請求項1から11のいずれか1項に記載の画像管理装置の各手段として機能させるためのコンピュータプログラム。   The computer program for functioning a computer as each means of the image management apparatus of any one of Claim 1 to 11.
JP2012242781A 2012-11-02 2012-11-02 Image management apparatus, image management method, and program Expired - Fee Related JP6012409B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012242781A JP6012409B2 (en) 2012-11-02 2012-11-02 Image management apparatus, image management method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012242781A JP6012409B2 (en) 2012-11-02 2012-11-02 Image management apparatus, image management method, and program

Publications (2)

Publication Number Publication Date
JP2014092912A JP2014092912A (en) 2014-05-19
JP6012409B2 true JP6012409B2 (en) 2016-10-25

Family

ID=50936948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012242781A Expired - Fee Related JP6012409B2 (en) 2012-11-02 2012-11-02 Image management apparatus, image management method, and program

Country Status (1)

Country Link
JP (1) JP6012409B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332782A (en) * 1993-03-22 1994-12-02 Hitachi Ltd File server system and file access controlling method therefor
JP3745820B2 (en) * 1996-02-23 2006-02-15 三菱電機株式会社 Autonomous cooperative information processing apparatus and autonomous cooperative information processing method
JPH1032694A (en) * 1996-07-17 1998-02-03 Ricoh Co Ltd Electronic filing device
JP2002073651A (en) * 2000-06-13 2002-03-12 Canon Inc Data management system, server and data management method
JP2005352536A (en) * 2004-06-08 2005-12-22 Nippon Telegr & Teleph Corp <Ntt> Alternative file acquiring method, system, program, and recording medium

Also Published As

Publication number Publication date
JP2014092912A (en) 2014-05-19

Similar Documents

Publication Publication Date Title
JP4975882B2 (en) Partial movement of objects to another storage location in a computer system
JP4931660B2 (en) Data migration processing device
JP4265245B2 (en) Computer system
JP4856966B2 (en) Backup system, file server, and backup method
JP2011034164A (en) Remote copy system and remote copy control method
US8131783B2 (en) Storage system, volume management method, and management computer
KR101236477B1 (en) Method of processing data in asymetric cluster filesystem
JP2000207370A (en) Distributed file management device and distributed file management system
JP2007073004A (en) Data maintenance information apparatus, dispersion storage system, and its method
JP2012174042A (en) Document management device, method for control of document management device, and program
KR101386161B1 (en) Apparatus and method for managing compressed image file in cloud computing system
JP2005196725A (en) File migration method based on access history
KR101531564B1 (en) Method and System for load balancing of iSCSI storage system used network distributed file system and method
JP4713257B2 (en) Data storage device and version management program
JP6039345B2 (en) Image management apparatus, image management method, and program
JP6012409B2 (en) Image management apparatus, image management method, and program
KR101470857B1 (en) Network distributed file system and method using iSCSI storage system
JP2014021854A (en) Load distribution system, load distribution control method, and computer program
JP2004302564A (en) Name service providing method, execution device of the same, and processing program of the same
WO2021187194A1 (en) Distributed processing system, control method for distributed processing system, and control device for distributed processing system
JP2007293433A (en) Document management system
JP2004139200A (en) File management program and file management system
JP6235973B2 (en) server
WO2024082773A1 (en) Method for migrating file system, and related device
JP2014203329A (en) Storage system, node device, and data management method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160729

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160823

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160920

R151 Written notification of patent or utility model registration

Ref document number: 6012409

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees