WO2014170953A1 - 計算機、計算機システム及びキャッシュ制御方法 - Google Patents

計算機、計算機システム及びキャッシュ制御方法 Download PDF

Info

Publication number
WO2014170953A1
WO2014170953A1 PCT/JP2013/061281 JP2013061281W WO2014170953A1 WO 2014170953 A1 WO2014170953 A1 WO 2014170953A1 JP 2013061281 W JP2013061281 W JP 2013061281W WO 2014170953 A1 WO2014170953 A1 WO 2014170953A1
Authority
WO
WIPO (PCT)
Prior art keywords
content
workflow
cache memory
metadata
definition information
Prior art date
Application number
PCT/JP2013/061281
Other languages
English (en)
French (fr)
Inventor
浦野 明裕
児玉 昇司
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2013/061281 priority Critical patent/WO2014170953A1/ja
Publication of WO2014170953A1 publication Critical patent/WO2014170953A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches

Definitions

  • the present invention relates to a computer, a computer system, and a cache control method, and more particularly, to a computer, a computer system, and a cache control method for controlling a transfer process of content composed of a data body and metadata.
  • a storage device when the storage device receives a write request from the server device, it stores data corresponding to the received write request in a storage area in the storage device.
  • This storage area is provided by a physical storage device such as an HDD (Hard Disk Drive).
  • the CPU Central Processing Unit
  • the storage device accesses the physical storage device and stores data.
  • the physical storage device is accessed and data is acquired.
  • the access performance of this physical storage device is usually low, there is a problem that it takes access time.
  • a cache memory is arranged in the storage device, and the storage device receives data, the data is temporarily stored in this cache memory. It can be read from the cache memory and transferred to the server device. Therefore, it is considered that the processing speed can be increased.
  • Patent Document 1 or 2 discloses a technique for managing data stored in a cache memory.
  • Patent Document 1 discloses algorithms such as LRU (Least Recently Used), LFU (Least Frequency Used), and FIFO (First-In First-Out) as a method for managing data stored in the cache memory.
  • LRU Least Recently Used
  • LFU Least Frequency Used
  • FIFO First-In First-Out
  • the LRU extracts and deletes old data that has passed the most time since the last reference from the data stored in the cache memory, and deletes the new data. It is a management method to store.
  • LFU is a management method in which data that is least frequently used within a certain period of data stored in the cache memory is extracted and deleted, and new data is stored.
  • FIFO is a management method for retrieving data stored in a queue in the order in which they are stored.
  • Patent Document 2 discloses a technique for managing data created in the course of batch processing by storing it in a cache memory as a temporary file.
  • the storage area of the cache memory is finite. Therefore, the data stored in the cache memory cannot be stored as it is, but must be deleted at any timing. However, depending on the timing of deletion, there is a problem in that the use efficiency of the cache memory decreases and the processing speed cannot be increased.
  • the CPU in the storage device needs to access the physical storage device and read the data. There is. In this case, the utilization efficiency of the cache memory decreases.
  • Patent Documents 1 and 2 discloses or suggests a technique for controlling the timing of deletion after determining whether or not to use the corresponding data in the future. Therefore, even if the techniques disclosed in the cited documents 1 and 2 are used, the problem that the use efficiency of the cache memory is lowered cannot be solved.
  • the present invention has been made in consideration of the above points, and proposes a storage apparatus, a storage system, and a cache control method that can improve the use efficiency of a cache memory.
  • the computer includes a workflow execution unit and a cache memory that control content transfer processing.
  • the workflow execution unit acquires workflow definition information created in advance, and acquires the obtained workflow definition.
  • the content stored in the cache memory is transferred while the content stored in the cache memory is no longer read and the content is deleted from the cache memory.
  • the computer system includes a content collection unit that collects content from the outside, a metadata extraction unit that extracts metadata from the collected content, and a metadata in response to an external request.
  • a workflow execution unit that is connected and controls transfer processing of content, a cache memory that is connected to the workflow execution unit, and a content storage unit that is communicably connected to the workflow execution unit and stores content transferred from the workflow execution unit
  • the workflow execution unit has a workflow.
  • Acquires workflow definition information from the management unit acquires content from the content collection unit according to the command statement described in the acquired workflow definition information, stores the acquired content in a cache memory, and stores the stored content as a metadata extraction unit And transferring to the content storage unit and transferring the metadata extracted by the metadata extraction unit to the metadata search unit, while the content is no longer read from the cache memory, The content is deleted.
  • the cache control method includes a first step in which a workflow execution unit connected to a cache memory acquires workflow definition information created in advance, and the acquired workflow definition information. And a second step of deleting the content from the cache memory at the timing when the content is no longer read from the cache memory, while executing the content transfer process according to the command statement described in FIG. .
  • the utilization efficiency of the cache memory can be improved.
  • FIG. 1 is an overall configuration diagram of a storage system in the present embodiment. It is an internal block diagram of a storage system. It is a logical block diagram of a queue.
  • FIG. 3 is a logical configuration diagram of content. It is a conceptual diagram of workflow definition information. It is a screen block diagram of a workflow definition information setting screen. It is a flowchart which shows a content transfer process. It is a flowchart which shows a cache memory control process. It is a conceptual diagram of the workflow definition information in 2nd Embodiment. It is a flowchart which shows a content transfer process. It is a flowchart which shows a cache memory control process.
  • FIG. 1 is a schematic diagram for explaining content transfer processing in the present embodiment.
  • a workflow execution unit 421 and a cache memory 425 are arranged between a content collection unit 321, a metadata extraction unit 322, a metadata search unit 323, and a content storage unit 431, and this workflow execution unit 421 and By adopting a configuration in which content transfer processing is executed using the cache memory 425, the use efficiency of the cache memory 425 is improved.
  • the workflow execution unit 421 executes the content transfer process, but the content stored in the cache memory 425 is deleted at an appropriate timing, so that the use efficiency of the cache memory 425 is improved. Can be made.
  • the content is data composed of a data body and metadata associated with the data body, and is data managed as a file.
  • the data body is unstructured data whose structure is not defined, and specifically includes data such as still images, moving images, sounds, and documents.
  • Metadata is information attached to the data body. Details of the content will be described later (FIG. 5).
  • the server apparatus 30 and the storage apparatus 40 that constitute the storage system 1 execute the following processing.
  • the content collection unit 321 in the server device 30 collects the content input and generated in the data input device 10
  • the content collection unit 321 transfers the collected content to the workflow execution unit 421 (SP1).
  • the workflow execution unit 421 acquires content from the content collection unit 321, the workflow execution unit 421 refers to the workflow definition information 432 and executes the content transfer processing shown in steps SP2 to SP8 below.
  • workflow definition information 432 defines a series of transfer processing flow (workflow) when transferring the data body and metadata according to the type of content (still image, moving image, audio, document, etc.). Information. Details will be described later (FIG. 6).
  • the workflow execution unit 421 refers to the workflow definition information 432 and first stores the content transferred from the content collection unit 321 in the cache memory 425 (SP2). At this time, the workflow definition information 432 manages the content stored in the cache memory 425 by the queue 4251, details of which will be described later (FIGS. 4 and 9).
  • the workflow definition information 432 transfers the data body of the content stored in the cache memory 425 to the content storage unit 431 (SP3).
  • the content storage unit 431 stores the data body in the data body storage area 4311.
  • the workflow execution unit 421 transfers the content to the metadata extraction unit 322 (SP4).
  • the metadata extraction unit 322 acquires content from the workflow execution unit 421, the metadata extraction unit 322 extracts metadata from the acquired content. Then, the metadata extraction unit 322 transfers the extracted metadata to the workflow execution unit 421.
  • the workflow execution unit 421 acquires metadata from the metadata extraction unit 322 (SP5)
  • the workflow execution unit 421 transfers the acquired metadata to the metadata search unit 323 (SP6) and also transfers it to the content storage unit 431 (SP7).
  • the content storage unit 431 stores the metadata in the metadata storage area 4312.
  • the workflow execution unit 421 deletes the content stored in the cache memory 425 (queue 4251) at the timing when all the workflows defined by the workflow definition information 432 are completed (SP8), and the content transfer processing in the present embodiment Exit.
  • the workflow execution unit 421 and the cache memory 425 are arranged, and the workflow execution unit 421 executes content transfer processing, but is not read from the cache memory 425 and used. Since the contents are appropriately deleted, a storage area for storing new contents can be secured in the cache memory 425, and other contents to be read and used are stored in the cache memory 425. Can prevent other contents from being deleted from the cache memory 425. Therefore, the utilization efficiency of the cache memory 425 can be improved.
  • FIG. 2 shows the overall configuration of the storage system 1.
  • the storage system 1 includes a server device 30 and a storage device 40.
  • the storage system 1 is communicably connected to the data input device 10 and the content search device 20 via the communication path N1.
  • the communication path N1 is, for example, a LAN (Local Area Network).
  • the data input device 10 is a general computer including a CPU, a memory, a communication device, an operation unit, and an operation screen (not shown), and is a device for generating content using these components. For example, the content generated by the user operating the data input device 10 is transmitted to the server device 30 via the communication path N1.
  • the content search device 20 is a general computer including a CPU, a memory, a communication device, an operation unit, and an operation screen (not shown), and is a device for searching for desired content using these components. is there. For example, a search request generated by the user operating the content search device 20 is transmitted to the server device 30 via the communication path N1.
  • the server device 30 is a computer for collecting content, extracting metadata from the content, and searching for metadata in response to a search request from the content search device 20.
  • the storage device 40 is a computer for executing content transfer processing and storing content. The internal configurations of the server device 30 and the storage device 40 will be described later (FIG. 3).
  • FIG. 3 shows the internal configuration of the storage system 1.
  • the storage system 1 includes a server device 30 and a storage device 40.
  • the server device 30 includes a CPU 31 that centrally controls the operation of the server device 30, a memory 32, a local storage 33, an input device 34, a management screen 35, and a network control device 36.
  • the memory 32 is a storage medium for storing various programs, and the local storage 33 is also a storage medium for storing various programs.
  • the input device 34 is a device for generating an input signal in response to a user operation, and includes, for example, a keyboard and a mouse.
  • the management screen 35 is a device for displaying various screens according to the operation of the administrator, and includes, for example, an LCD (Liquid Crystal Display).
  • the network control device 36 is an interface for communicating with a device connected to the communication path N1.
  • the memory 32 stores various programs such as a content collection unit 321, a metadata extraction unit 322, and a metadata search unit 323, and the local storage 33 stores other programs 331 and an OS (Operating System) 332. Is done.
  • OS Operating System
  • the content collection unit 321 is a program for acquiring content from the data input device 10 and transferring the acquired content to the workflow execution unit 421.
  • the metadata extraction unit 322 is a program for acquiring content from the workflow execution unit 421, extracting or generating metadata from the acquired content, and transferring the extracted or generated metadata to the workflow execution unit 421.
  • the metadata search unit 323 is a program for acquiring metadata from the workflow execution unit 421 and holding the acquired metadata, and in response to a search request from the content search device 20, the metadata to be searched. It is a program for searching and responding to data.
  • the storage device 40 includes a CPU 41 that controls the overall operation of the storage device 40, a memory 42, a hard disk drive (HDD) 43, and a network control device 44.
  • the memory 42 is a storage medium for storing various programs and securing a cache area
  • the HDD 43 is a storage medium for storing various contents.
  • the network control device 44 is an interface for communicating with a device connected to the communication path N1.
  • the memory 42 stores a workflow execution unit 421, a workflow management unit 422, a workflow definition unit 423, a storage control unit 424, and a cache memory (area) 425.
  • the HDD 43 stores a content storage unit 431 and workflow definition information 432. Is stored.
  • the workflow execution unit 421 acquires content from the content collection unit 321, the workflow execution unit 421 executes content transfer processing, for example, as illustrated in FIG. 1 based on the workflow definition information 432, while content that is no longer used is used. This is a program for deleting from the cache memory 425.
  • the workflow management unit 422 is a program for acquiring and managing the workflow definition information 432 from the workflow definition unit 423. In addition, the workflow management unit 422 sends appropriate workflow definition information 432 to the workflow execution unit 421 in response to a request from the workflow execution unit 421. It is a program for transferring.
  • the workflow definition unit 423 is a program for executing creation, correction, or deletion of the workflow definition information 432 in response to a request from the administrator.
  • the storage control unit 424 is a program for accessing the HDD 43 to control content input / output.
  • the cache memory 425 is a storage area for temporarily storing and managing content from the server device 30, and manages the stored content using the queue 4251.
  • the content storage unit 431 is a storage area for storing content, a data body storage area 4311 for storing a data body of content, and a metadata storage area 4312 for storing metadata of content. Consists of
  • the workflow definition information 432 is information that defines a series of transfer processing flows (workflows) when transferring the data main body and metadata according to the content type (still image, moving image, audio, or document) as described above. It is. Details will be described later (FIG. 6).
  • FIG. 4 shows the logical configuration of the queue 4251.
  • the queue 4251 is a storage area having a queue structure set in the cache memory 425, and stores the content collected by the content collection unit 321 according to the control of the workflow execution unit 421.
  • the queue 4251 includes a plurality of data cache areas 4251A for storing data bodies and a plurality of metadata data cache areas 4251B for storing metadata.
  • the plurality of data cache areas 4251A are composed of a total of N areas # 1 to #N here.
  • the plurality of metadata data cache areas 4251B are composed of a total of N areas # 1 to #N here.
  • the data main body stored in the data cache area 4251A and the metadata stored in the metadata data cache area 4251B are managed in association with each other.
  • the data body of the content C1 is stored in # 1 of the data cache area 4251A according to the control of the workflow execution unit 421, and the metadata of the content C1 is stored in the metadata. It is stored in # 1 of the data data cache area 4251B. These are managed in association with each other in the queue 4251.
  • the data body of the content C1 moves to # 2 of the data cache area 4251A, and the metadata of the content C1 also moves to # 2 of the metadata data cache area 4251B.
  • the data body of the content C2 is stored in # 1 of the data cache area 4251A, and the metadata of the content C2 is stored in # 2 of the metadata data cache area 4251B.
  • the data body of the content C1 moves from # N-1 to #N in the data cache area 4251A, and the metadata of the content C1 also changes to the metadata data cache area 4251B. # N-1 to #N.
  • the content Cn + 1 is further stored in the cache memory 425, the data body and metadata of the content C1 overflow from the queue 4251 and are deleted.
  • the workflow execution unit 421 deletes a data body and metadata that are no longer used in the workflow even if the data body and metadata are located in the middle of the queue 4251. In this case, an area that can be stored in the queue 4251 can be secured. Further, it is possible to prevent the data body and metadata stored in the data cache area #N and the metadata cache area #N from being deleted in the workflow. Therefore, the utilization efficiency of the cache memory 425 can be improved.
  • FIG. 5 shows a logical configuration of the content C1.
  • the content C1 stores information on the data body C11 and the metadata C12.
  • the content C1 is acquired from the content collection unit 321 by the workflow execution unit 421 and stored in the cache memory 425.
  • information such as a still image, a moving image, sound, or a document is stored in the data body C11, and additional information is stored in the metadata C12.
  • FIG. 6 shows a conceptual diagram of the workflow definition information 432.
  • the workflow definition information 432 is information created by an administrator in the server device 30 and stored in the storage device 40. Information indicating the type of content, data body, and metadata are stored in the cache memory 425. Storage instruction statement (input) and a transfer instruction statement (output) read from the cache memory 425 and transferred. These statements are described in the actual processing order.
  • the workflow definition information 432 as a whole stores information indicating a series of processing flow (workflow) of one content.
  • the workflow definition information 432 is used when content is transferred to each unit in the storage system 1 and when the cache memory 425 is controlled at this time.
  • the transfer process and the control process will be described later (FIGS. 8 and 9).
  • the workflow definition information 432 includes a workflow type description area 4321, a transfer source description area 4322, and a transfer destination description area 4323.
  • the type of content to be transferred in the workflow is described.
  • the transfer source description area 4322 a storage command statement for instructing to acquire any storage target of the data body or metadata from any transfer source and store it in the cache memory 425 is described.
  • the transfer destination description area 4323 a transfer command statement for instructing transfer of any transfer target of the data body or metadata to any transfer destination is described.
  • the workflow definition information 432 is information that is defined for a workflow of content whose type is “image file”.
  • the data body is acquired from the content collection unit 321 of the transfer source and stored in the cache memory 425 (“input DATA from content collection unit”). It is described that it is acquired and stored in the cache memory 425 (“input META-DATA from content collection unit”).
  • the data body and metadata are acquired from the content collection unit 321 and stored in the cache memory 425, the data body is transferred to the content storage unit 431 ("output DATA to content storage unit"). It is described that the data is transferred to the extraction unit (“output DATA DATA to metadata extraction unit”) and the metadata is transferred to the metadata extraction unit (“output META-DATA data metadata extraction unit”).
  • FIG. 7 shows a screen configuration of the workflow definition information setting screen 35.
  • the workflow definition information setting screen 35 is a screen that is displayed when the administrator operates the server device 30, and displays information for setting the workflow definition information 432.
  • the workflow definition information setting screen 35 includes a workflow name selection area 351, a target file extension selection area 352, a workflow definition creation area 353, a workflow type selection area 354, and a button area 355.
  • the workflow name selection area 351 displays the name of the workflow definition information 432 in a selectable manner
  • the target file extension selection area 352 displays the content extension in a selectable manner.
  • the workflow definition creation area 353 displays the workflow definition information 432 so that it can be created
  • the workflow type selection area 354 displays the type of workflow so that it can be selected.
  • buttons B1 to be pressed when the workflow definition information 432 is newly created a new button B1 to be pressed when the workflow definition information 432 is newly created, a correction button B2 to be pressed to correct the workflow definition information 432 that has already been created, and a workflow that has already been created.
  • the administrator selects the name of the workflow definition information 432 to be newly created from the workflow name selection area 351 and newly creates the workflow definition information to be created. Based on 432, the extension of the content to be processed can be selected from the target file extension selection area 352. Then, after defining a new workflow in the workflow definition creation area 353, the administrator requests the workflow management unit 422 to newly create and register the workflow definition information 432 by pressing the new button B1. Can do.
  • the administrator selects the type of the workflow definition information 432 to be corrected in the workflow type selection area 354, and the workflow definition corresponding to the selected workflow type.
  • Information 432 can be displayed in the workflow definition creation area 353.
  • the administrator can request the workflow management unit 422 to correct and register the existing workflow definition information 432 by pressing the correction button B2 after correcting the displayed workflow definition information 432. .
  • the administrator selects the type of the workflow definition information 432 to be deleted in the workflow type selection area 354, and the workflow definition corresponding to the selected workflow type.
  • Information 432 can be displayed in the workflow definition creation area 353. Then, after confirming that the displayed workflow definition information 432 is the deletion target workflow definition information 432, the administrator presses the delete button B 3 to delete the existing workflow definition information 432. Can be requested.
  • FIG. 8 shows a processing procedure for content transfer processing.
  • This content transfer processing is triggered by the transfer of the content collected by the content collection unit 321 to the workflow execution unit 421.
  • the content collection unit 321, the workflow execution unit 421, the metadata extraction unit 322, and the metadata search unit 323 The program is executed based on each program in the content storage unit 431 and the CPU 31 and CPU 41 that control each program.
  • the processing entity will be described as each of these programs and devices.
  • the content collection unit 321 transfers the data body of the collected content to the workflow execution unit 421 (SP11).
  • the workflow execution unit 421 stores the data body in the cache memory 425 (SP12).
  • the workflow execution unit 421 manages the stored data body using the queue 4251.
  • the cache memory control process at this time will be described later (FIG. 9).
  • the content collection unit 321 transfers the metadata of the collected content to the workflow execution unit 421 (SP13).
  • the workflow execution unit 421 stores the metadata in the cache memory 425 (SP14).
  • the workflow execution unit 421 manages the stored metadata in the queue 4251 in association with the data body.
  • the workflow execution unit 421 transfers the data body stored in the cache memory 425 to the content storage unit 431 (SP15).
  • the content storage unit 431 stores the data body in the data body storage area 4311 (SP16).
  • the workflow execution unit 421 transfers the data body and metadata to the metadata extraction unit 322 (SP17 and SP18).
  • the metadata extraction unit 322 extracts or generates metadata based on the data main body and the metadata, and transfers the extracted or generated metadata to the workflow execution unit 421 (SP19).
  • the workflow execution unit 421 stores the metadata in the cache memory 425 (SP20).
  • the workflow execution unit 421 transfers this metadata to the content storage unit 431 (SP21).
  • the content storage unit 431 stores the metadata in the metadata storage area 4312 (SP22).
  • the workflow execution unit 421 transfers the metadata to the metadata search unit 323 (SP23).
  • the metadata search unit 323 stores the metadata in the storage area (SP24).
  • the workflow execution unit 421 determines that the data body stored in the cache memory 425 (queue 4251) is not used again, and this workflow Is deleted from the cache memory 425, or the deletion flag corresponding to the data body is set to “1” to permit deletion (SP25).
  • the workflow execution unit 421 determines that the metadata stored in the cache memory 425 (queue 4251) will not be used again, and deletes the metadata in this workflow from the cache memory 425 or converts it to metadata.
  • the corresponding deletion flag is set to “1” to permit deletion (SP26), and this process ends.
  • FIG. 9 shows a processing procedure of cache memory control processing. This cache memory control process is executed based on the workflow execution unit 421 and the CPU 41 when the workflow execution unit 421 acquires the content from the content collection unit 321.
  • the processing subject will be described as the workflow execution unit 421.
  • This cache memory control process is executed for each content. Therefore, for example, when the workflow execution unit 421 acquires a plurality of contents, the workflow execution unit 421 executes the processes described below for each content in parallel.
  • the workflow execution unit 421 acquires content from the content collection unit 321
  • the workflow execution unit 421 refers to the workflow definition information 432 and reads the first line of the command statements described in the workflow definition information 432 (SP31). .
  • the workflow execution unit 421 determines whether or not the read command statement is a storage command statement (input) (SP32). If the workflow execution unit 421 obtains a negative result in the determination at step SP32, it determines whether or not the read command statement is a transfer command statement (output) (SP33). If the workflow execution unit 421 obtains a negative result in the determination at step SP33, the workflow execution unit 421 outputs information indicating that the read command statement is a syntax error, for example, on a display screen (SP34), and proceeds to step SP38.
  • SP32 storage command statement
  • SP33 transfer command statement
  • the workflow execution unit 421 determines that the read command statement is a transfer command, and transfers information to be transferred (data body or metadata) and transfer destination information get. Then, the workflow execution unit 421 transfers the acquired transfer target to the transfer destination (SP35), and proceeds to step SP38.
  • the workflow execution unit 421 obtains a positive result in the determination at step SP32, it determines that the read command statement is a storage command statement, and stores information (data body or metadata) and transfer source information. And get. Then, the workflow execution unit 421 acquires the acquired storage target from the transfer source (SP36).
  • the workflow execution unit 421 stores the data body or metadata acquired from the transfer source in the cache memory 425 and manages it by the queue 4251 (SP37).
  • the workflow execution unit 421 determines whether or not the command statement described in the workflow definition information 432 has been executed to the end (SP38). If the workflow execution unit 421 obtains a negative result in this determination, the workflow execution unit 421 proceeds to step SP31, reads the command statement on the next line, and executes the above-described processing.
  • the workflow execution unit 421 determines that the data body is not read again from the cache memory 425 and used in this workflow, and the data body is stored in the cache memory 425. Delete from. Alternatively, the workflow execution unit 421 sets the deletion flag corresponding to the data body to “1” and permits the deletion (SP39).
  • the workflow execution unit 421 stores the first data body that may be reused in another workflow executed in parallel in the data cache area #N (FIG. 4). If the second data body that is not reused in the workflow is stored in the data cache area # N-1 and a new third data body is about to be stored in the data cache area # 1, it can be reused. A certain first data body is not deleted, and a second data body that is not reused is deleted from the data cache area # N-1.
  • the first data body is data that is large in size and takes time to process
  • the second data body is small in size, such as text data, and takes time to process. It is assumed when the data is not expensive.
  • the first data body that has started processing according to the type of content takes more processing time than the second data body that has started to be processed later.
  • the second data body that is no longer used is deleted from the cache memory 425. I have to.
  • the workflow execution unit 421 determines that the metadata is not reused in this workflow, and deletes the metadata from the cache memory 425. Alternatively, the workflow execution unit 421 sets the deletion flag corresponding to the metadata to “1”, permits deletion (SP40), and ends this processing.
  • the content stored in the cache memory 425 is transferred based on the workflow definition information 432, while Since the contents are deleted from the cache memory 425 at the timing when all the workflows are completed, the use efficiency of the cache memory can be improved.
  • the use efficiency of the cache memory is improved, the probability of a cache hit of the content to be reused is improved, and the number of times of reading and writing with the content storage unit 431 that requires access time can be reduced. Therefore, the processing performance of the entire storage system 1 can be improved.
  • FIG. 10 is a conceptual diagram of workflow definition information 432A in the second embodiment.
  • the workflow definition information 432A is information created by the administrator in the server device 30.
  • the workflow definition information 432A is a storage command statement (input) that stores information indicating the type of content, a data body, and metadata in the cache memory 425.
  • the command includes a delete command (delete) that deletes the data body and metadata.
  • the workflow definition information 432A includes a deletion description area 4324.
  • the deletion description area 4324 a command statement for deleting one of the deletion targets of the data body or the metadata from the cache memory 425 is described.
  • FIG. 11 shows a processing procedure of content transfer processing in the second embodiment.
  • the content transfer process in the second embodiment is the first in that the data body or metadata stored in the cache memory 425 that is no longer used in the workflow is deleted even during the workflow. This is different from the content transfer process (FIG. 8) in the embodiment.
  • steps SP51 to SP57 is the same as the processing in steps SP11 to SP17 of the content transfer processing (FIG. 8) in the first embodiment, description thereof is omitted here.
  • step SP57A the workflow execution unit 421 deletes the data body in the workflow from the cache memory 425, or sets the deletion flag corresponding to the data body to “1” to permit the deletion (SP57A).
  • steps SP58 to SP64 is the same as the processing in steps SP18 to SP24 of the content transfer processing (FIG. 8) in the first embodiment, description thereof is omitted here.
  • step SP64A the workflow execution unit 421 deletes the metadata in the workflow from the cache memory 425 or sets the deletion flag corresponding to the metadata to “1” to permit deletion (SP64A), and ends this processing. To do.
  • FIG. 12 shows a processing procedure of cache memory control processing in the second embodiment.
  • the cache memory control process according to the second embodiment is executed based on the workflow definition information 432A (FIG. 10) and is executed based on the workflow definition information 432A. This is different from the cache memory control process (FIG. 9) in the first embodiment in that the data body or metadata is deleted.
  • steps SP71 to SP73 is the same as the processing in steps SP31 to SP33 of the cache memory control processing (FIG. 9) in the first embodiment, a description thereof is omitted here.
  • step SP73A the workflow execution unit 421 determines whether or not the read command statement is a delete command statement that deletes the deletion target (data body or metadata) from the cache memory 425 (SP73A).
  • workflow execution unit 421 obtains a positive result in this determination, it deletes the deletion target from the cache memory 425 (SP73B).
  • step SP78 the workflow execution unit 421 ends the process when the command statement described in the workflow definition information 432A is executed to the end.
  • the content stored in the cache memory 425 is transferred based on the workflow definition information 432A.
  • the data body or metadata can be deleted from the cache memory 425 at a timing when it is no longer used even in the middle of the workflow. Therefore, the utilization efficiency of the cache memory can be further improved.
  • the storage device 40 includes a read count management table, and the data body and metadata in the command statement described in the workflow definition information. And the cache memory control process is executed based on the read count management table and the workflow definition information, so that the data body and metadata can be stored in the cache memory 425 even during the workflow. This is different from the first embodiment in that it is deleted from the first embodiment.
  • different points will be described in detail with reference to the drawings.
  • FIG. 13 shows the internal configuration of the storage system 1B in the third embodiment.
  • the storage system 1B according to the third embodiment is different from the storage system according to the first embodiment in that the storage device 40 includes a read count management table 426.
  • FIG. 14 shows the logical configuration of the read count management table 426.
  • the read count management table 426 is a table created by setting in advance in the server device 30 by the administrator, and stores the number of times the data body and metadata are scheduled to be read from the cache memory 425 and the current read count. Is done. This read count management table 426 is used in the cache memory control process (FIG. 16).
  • the read count management table 426 includes a content ID column 4261, a data body read scheduled count column 4262, a metadata read scheduled count column 4263, a data body read count column 4264, and a metadata read count column 4265.
  • identification information for specifying content is stored.
  • data body scheduled read number column 4262 the number of times the data body is scheduled to be read from the cache memory 425 is stored when the workflow defined in advance by the workflow definition information 432B (FIG. 15) is executed.
  • the metadata read scheduled number field 4263 stores the number of times metadata is scheduled to be read from the cache memory 425 when a workflow defined in advance by the workflow definition information 432B (FIG. 15) is executed.
  • the data body read count column 4264 stores the number of times the data body has been read from the cache memory 425 at the current time when the workflow is being executed.
  • the metadata read count column 4265 stores the number of times metadata is read from the cache memory 425 at the current time when a workflow is being executed.
  • the content whose content ID is “/data/movie001.avi” has a scheduled read count of the data body when the workflow defined in advance by the workflow definition information 432B (FIG. 15) is executed. It is indicated that the number of times of reading metadata is “3” times and “3” times. This workflow is currently being executed, and it is shown that the number of readings of the data body at the present time is “1” and the number of readings of metadata is “1”.
  • FIG. 15 shows a conceptual diagram of the workflow definition information 432B in the third embodiment.
  • the workflow definition information 432B is information created by the administrator describing in the server device 30, and includes a storage command statement (input) for storing information indicating the type of content, a data body, and metadata in the cache memory 425, and In addition to a transfer command statement (output) to be read from the cache memory 425 and transferred, it includes information indicating the number of times the data body and metadata are scheduled to be used (the number of times of scheduled reading).
  • the workflow definition information 432B includes a scheduled read count description area 4325.
  • the scheduled read count description area 4325 describes the scheduled read count for each of the data body and the metadata. Note that the scheduled number of readings coincides with the scheduled number of readings stored in the data body scheduled reading number column 4262 and the scheduled metadata reading number column 4263 in FIG. 14 described above.
  • the number of times of reading the data body from the cache memory 425 is scheduled to be “2”. Further, it is shown that the number of times of reading metadata from the cache memory 425 is scheduled to be “3” times.
  • FIG. 16 shows a processing procedure of cache memory control processing in the third embodiment.
  • the workflow execution unit 421 receives content from the content collection unit 321
  • the workflow execution unit 421 refers to the workflow definition information 432B and initializes the read count management table 426 (SP81).
  • the workflow execution unit 421 displays the data body and metadata scheduled read times described in the workflow definition information 432B in the data body read scheduled times column 4262 and the metadata read.
  • the data is stored in the scheduled number field 4263, and “0” is stored in the data body read number field 4264 and the metadata read number field 4265.
  • the workflow execution unit 421 refers to the workflow definition information 432, and reads the first line of the statements described in the workflow definition information 432 (SP82).
  • the workflow execution unit 421 determines whether or not the read command statement is a transfer command (output) (SP83). If the workflow execution unit 421 obtains a negative result in the determination at step SP83, it determines whether the read command statement is a stored command statement (input) (SP84). If the workflow execution unit 421 obtains a negative result in the determination at step SP84, the workflow execution unit 421 outputs information indicating that the read command statement is a syntax error, for example, on a display screen (SP85), and proceeds to step SP98.
  • SP83 transfer command
  • SP84 stored command statement
  • the workflow execution unit 421 outputs information indicating that the read command statement is a syntax error, for example, on a display screen (SP85), and proceeds to step SP98.
  • the workflow execution unit 421 determines that the read command statement is a storage command, and sets the storage target (data body or metadata) as a transfer source (for example, a content collection unit). 321) (SP86).
  • the workflow execution unit 421 stores the acquired storage target in the cache memory 425 (SP87), and proceeds to step SP98.
  • the workflow execution unit 421 determines that the read command statement is a transfer command statement, and sets the transfer target (data body or metadata) as the transfer destination (for example, content storage). To the unit 431) (SP89).
  • the workflow execution unit 421 determines whether the transfer target is the data body (SP90). If the workflow execution unit 421 obtains a negative result in the determination at step SP90, it next determines whether the transfer target is metadata (SP91).
  • step SP91 If the workflow execution unit 421 obtains a negative result in the determination at step SP91, it outputs a syntax error (SP85) and proceeds to step SP98. On the other hand, when the workflow execution unit 421 obtains a positive result in the determination at step SP91, it increments the value of the metadata read count field 4265 of the read count management table 426 by +1 (SP92).
  • the workflow execution unit 421 refers to the read count management table 426 to determine whether or not the current metadata read count is equal to or greater than the metadata read scheduled count (SP93). If the workflow execution unit 421 obtains a negative result in the determination at step SP93, the workflow execution unit 421 proceeds to step SP98.
  • the workflow execution unit 421 obtains a positive result in the determination at step SP93, the metadata is deleted from the cache memory 425 or the deletion flag corresponding to the metadata is set to “1” to allow deletion (SP94). ). Thereafter, the workflow execution unit 421 moves to step SP98.
  • step SP90 when the workflow execution unit 421 obtains a positive result, it increments the value in the data body read count column 4264 of the read count management table 426 by +1 (SP95). Next, the workflow execution unit 421 refers to the read count management table 426 and determines whether or not the current data body read count is equal to or greater than the data body read scheduled count (SP96).
  • step SP96 If the workflow execution unit 421 obtains a negative result in the determination at step SP96, the workflow execution unit 421 proceeds to step SP98. On the other hand, if the workflow execution unit 421 obtains a positive result in the determination at step SP96, it deletes the data body from the cache memory 425 or sets the deletion flag corresponding to the data body to “1” to allow the deletion (SP97). ).
  • the workflow execution unit 421 determines whether or not the command statement described in the workflow definition information 432B has been executed to the end (SP98). If the workflow execution unit 421 obtains a negative result in this determination, the workflow execution unit 421 proceeds to step SP82, reads the command statement on the next line, and executes the above-described processing.
  • the storage system according to the third embodiment is configured to include the read count management table 426 and the workflow definition information 432B. Since the content stored in the cache memory 425 is transferred, the content is deleted according to the number of times of reading. Can be deleted from the cache memory 425. Therefore, the utilization efficiency of the cache memory can be further improved.
  • the first embodiment is that the data body and metadata are deleted from the cache memory 425 even during the workflow by executing the cache memory control process based on the flag setting and the final flag. And different.
  • different points will be described in detail with reference to the drawings.
  • FIG. 17 shows a processing procedure of cache memory control processing in the fourth embodiment.
  • the workflow execution unit 421 receives the content from the content collection unit 321
  • the workflow execution unit 421 refers to the workflow definition information 432, reads the command statement backward from the last line, and detects the transfer command statement for transferring the data body ( SP101).
  • the words “read backward” and “read backward” refer to reading the last command sentence first, then reading the previous command sentence, then reading the next previous sentence, Say reading in the order.
  • the workflow execution unit 421 When the workflow execution unit 421 detects the transfer command statement for transferring the data body last when executing this flowchart, the workflow execution unit 421 sets the data body final use flag in the detected transfer command statement line (SP102).
  • the workflow execution unit 421 similarly reads out the command statement from the last line in the same manner, and detects the transfer command statement for transferring the metadata at the end (SP103).
  • the workflow execution unit 421 When the workflow execution unit 421 detects the transfer command statement for transferring the metadata at the end, the workflow execution unit 421 sets a metadata final use flag in the line of the detected transfer command statement (SP104).
  • the workflow execution unit 421 refers to the workflow definition information 432 and reads the first line of the command statement described in the workflow definition information 432 (SP105).
  • the workflow execution unit 421 determines whether the read command statement is a storage command statement (input) (SP106). If the workflow execution unit 421 obtains a negative result in the determination at step SP106, it determines whether or not the read command statement is a transfer command statement (output) (SP107).
  • the workflow execution unit 421 If the workflow execution unit 421 obtains a negative result in the determination at step SP107, the workflow execution unit 421 outputs information indicating that the read command statement is a syntax error, for example, on a display screen (SP108), and proceeds to step SP116.
  • the workflow execution unit 421 determines that the read command statement is a transfer command, and sets the transfer target (data body or metadata) as a transfer destination (for example, a content storage unit). 431) (SP109).
  • the workflow execution unit 421 determines whether or not the data body final use flag is set in the transfer command statement line of step SP109 (SP110). If the workflow execution unit 421 obtains a negative result in the determination at step SP110, it determines whether the metadata final use flag is set in the transfer command statement line at step SP109 (SP111).
  • step SP111 If the workflow execution unit 421 obtains a negative result in the determination at step SP111, the workflow execution unit 421 proceeds to step SP116. On the other hand, when the workflow execution unit 421 obtains a positive result in the determination at step SP111, it deletes the metadata from the cache memory 425 or sets the deletion flag corresponding to the metadata to “1” and permits the deletion (SP112). ). Thereafter, the workflow execution unit 421 moves to step SP116.
  • step SP110 when the workflow execution unit 421 obtains a positive result, the data body is deleted from the cache memory 425 or the deletion flag corresponding to the data body is set to “1” to allow deletion (SP113). Thereafter, the workflow execution unit 421 moves to step SP116.
  • step SP106 when the workflow execution unit 421 obtains a positive result, the workflow execution unit 421 acquires a storage target (data body or metadata) from the transfer source (for example, the content collection unit 321) (SP114). Then, the workflow execution unit 421 stores the acquired storage target in the cache memory 425 (SP115), and proceeds to step SP116.
  • a storage target data body or metadata
  • the transfer source for example, the content collection unit 321)
  • the workflow execution unit 421 determines whether or not the command statement described in the workflow definition information 432 has been executed to the end (SP116). If the workflow execution unit 421 obtains a negative result in this determination, the workflow execution unit 421 moves to step SP105, reads the command statement on the next line, and executes the above-described processing.
  • the workflow execution unit 421 obtains a positive result in the determination at step SP116, it ends this processing.
  • the instruction to read data and metadata is searched by reading the instruction sentence from the reverse, but for example, the workflow is only interpreted from the first instruction sentence, and the data and metadata are read.
  • the last flagged statement is detected as a statement that has read data or metadata at the end (that is, by simulating workflow execution) A method of detecting the last read line) may be used.
  • the data body and meta data are finally included in the command statements described in the workflow definition information 432. Since a final use flag is set in a statement that uses data, and the data body and metadata are deleted from the cache memory 425 based on the final use flag, the timing at which the data is not used even during the workflow Thus, the data body and metadata can be deleted from the cache memory 425. Therefore, the utilization efficiency of the cache memory can be further improved.
  • a configuration in which a data body and metadata are stored in association with each other in one queue 4251 (FIG. 4) is adopted.
  • a queue for metadata a data body may be stored in the data body queue
  • metadata may be stored in the metadata queue.
  • the data body to be deleted may be searched from the queue for the data body, and the search target can be narrowed down. Therefore, when an unnecessary data body is to be deleted from the cache memory, it can be quickly deleted, so that the utilization efficiency of the cache memory can be further improved.
  • the workflow is combined with the FIFO.
  • an algorithm that knows the cache clear timing based on information from the workflow may be combined with a known cache algorithm such as LRU or LFU.
  • the workflow execution unit 421 and the cache memory 425 have been described as being included in the storage apparatus 40. However, the present invention is not limited to this, and any apparatus in the storage system 1 may be included. In addition to the workflow execution unit 421 and the cache memory 425, the content collection unit 321, the metadata extraction unit 322, the metadata search unit 323, the workflow management unit 422, and the content storage unit 431 may be any device in the storage system 1. May be provided.
  • Server device 321 Content collection unit 322 Metadata extraction unit 323 Metadata search unit 40 Storage device 421 Workflow execution unit 425 Cache memory 4251 Queue 431 Content storage unit 432 Workflow definition information

Landscapes

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

Abstract

【課題】キャッシュメモリの利用効率を向上し得る計算機、計算機システム及びキャッシュ制御方法を提案する。 【解決手段】コンテンツの転送処理を制御するワークフロー実行部及びキャッシュメモリを備えた計算機において、ワークフロー実行部は、予め作成されたワークフロー定義情報を取得して、取得したワークフロー定義情報に記述された命令文に従ってコンテンツの転送処理を実行する一方で、キャッシュメモリに格納されているコンテンツを読み出すことがなくなったタイミングで、キャッシュメモリからコンテンツを削除することを特徴とする。

Description

計算機、計算機システム及びキャッシュ制御方法
 本発明は、計算機、計算機システム及びキャッシュ制御方法に関し、特にデータ本体及びメタデータから構成されるコンテンツの転送処理を制御する計算機、計算機システム及びキャッシュ制御方法に関する。
 一般にサーバ装置及びストレージ装置から構成されるストレージシステムにおいて、例えばストレージ装置はサーバ装置からのライト要求を受信すると、受信したライト要求に対応するデータをストレージ装置内の記憶領域に格納する。この記憶領域は、例えばHDD(Hard Disk Drive)のような物理記憶デバイスにより提供される。
 ストレージ装置内のCPU(Central Processing Unit)はライト要求を受信すると、物理記憶デバイスにアクセスしてデータを格納する。次に同じデータに関してリード要求を受け取ると物理記憶デバイスにアクセスしてデータを取得することになるが、通常はこの物理記憶デバイスのアクセス性能は低いため、アクセス時間がかかるという問題がある。
 そこでストレージ装置内にキャッシュメモリを配置し、ストレージ装置がデータを受信した場合にはこのキャッシュメモリにデータを一旦格納しておくようにすれば、そのデータについてサーバ装置からリード要求があったときはキャッシュメモリから読み出してサーバ装置に転送することができる。よって処理の高速化を図ることができると考えられる。
 ここで特許文献1又は2には、キャッシュメモリに格納したデータを管理する技術が開示されている。
 特許文献1には、キャッシュメモリに格納されるデータの管理方法としてLRU(Least Recently Used)、LFU(Least Frequency Used)及びFIFO(First-In First-Out)などのアルゴリズムが開示されている。
 これらのアルゴリズムは一般に広く知られており、例えばLRUは、キャッシュメモリ上に格納されているデータのうち、最後に参照されてから最も時間が経過した古いデータを抽出して削除し、新しいデータを格納する管理方法である。
 またLFUは、キャッシュメモリ上に格納されているデータのうち、一定期間内に最も使用頻度の低いデータを抽出して削除し、新しいデータを格納する管理方法である。またFIFOは、キューに格納したデータを格納した順に取り出す管理方法である。
 また特許文献2には、バッチ処理の過程で作成したデータをテンポラリファイルとしてキャッシュメモリに格納して管理する技術が開示されている。
米国特許第2009/0198899号明細書 米国特許第2004/0049773号明細書
 ところでキャッシュメモリの記憶領域は有限である。従ってキャッシュメモリに格納したデータをそのまま格納しておくわけにはいかず、何れかのタイミングで削除しなければならない。しかし削除するタイミングによっては、キャッシュメモリの利用効率が低下し、処理の高速化を図ることができなくなるという問題が生じる。
 例えばキャッシュメモリに格納されているデータを削除した後、やはりそのデータを再度利用する(キャッシュメモリから読み出す)ことになる場合、ストレージ装置内のCPUは物理記憶デバイスにアクセスしてそのデータを読み出す必要がある。この場合、キャッシュメモリの利用効率が低下する。
 キャッシュメモリの利用効率が低下すると、アクセス時間のかかる物理記憶デバイスとの読出し回数が増加することになるため、データの転送処理が遅くなり、結果としてシステム全体の処理性能が低下するという問題が生じる。
 従ってデータ転送の高速化及びシステム全体の処理性能の向上を実現するためには、キャッシュメモリの利用効率が低下するという問題を解消する必要がある。具体的には近い将来に使用しないデータから順にキャッシュから削除するという手法でデータをキャッシュメモリから削除するタイミングを制御する必要がある。
 しかし特許文献1及び2の何れにおいても、該当データを将来使用するかどうかを判断した上で、削除するタイミングを制御する技術については開示も示唆もされていない。従ってこれら引用文献1及び2に開示された技術を用いても、キャッシュメモリの利用効率が低下するという問題を解消することはできない。
 本発明は以上の点を考慮してなされたもので、キャッシュメモリの利用効率を向上し得るストレージ装置、ストレージシステム及びキャッシュ制御方法を提案するものである。
 かかる課題を解決するために、本発明における計算機は、コンテンツの転送処理を制御するワークフロー実行部及びキャッシュメモリを備え、ワークフロー実行部は、予め作成されたワークフロー定義情報を取得し、取得したワークフロー定義情報に記述された命令文に従って、キャッシュメモリに格納したコンテンツの転送処理を実行する一方で、キャッシュメモリに格納されているコンテンツを読み出すことがなくなったタイミングで、キャッシュメモリからコンテンツを削除することを特徴とする。
 またかかる課題を解決するために、本発明における計算機システムは、外部からコンテンツを収集するコンテンツ収集部と、収集したコンテンツからメタデータを抽出するメタデータ抽出部と、外部からの要求に応じてメタデータを検索するメタデータ検索部と、命令文が記述されたワークフロー定義情報を管理するワークフロー管理部と、コンテンツ収集部、メタデータ抽出部、メタデータ検索部及びワークフロー管理部のそれぞれと通信可能に接続され、コンテンツの転送処理を制御するワークフロー実行部と、ワークフロー実行部に接続されるキャッシュメモリと、ワークフロー実行部と通信可能に接続され、ワークフロー実行部から転送されたコンテンツを格納するコンテンツ格納部とを備え、ワークフロー実行部は、ワークフロー管理部からワークフロー定義情報を取得し、取得したワークフロー定義情報に記述された命令文に従って、コンテンツ収集部からコンテンツを取得し、取得したコンテンツをキャッシュメモリに格納し、格納したコンテンツをメタデータ抽出部及びコンテンツ格納部に転送し、メタデータ抽出部により抽出されたメタデータをメタデータ検索部に転送する転送処理を実行する一方で、キャッシュメモリからコンテンツを読み出すことがなくなったタイミングで、キャッシュメモリからコンテンツを削除することを特徴とする。
 またかかる課題を解決するために、本発明におけるキャッシュ制御方法は、キャッシュメモリに接続されているワークフロー実行部が、予め作成されたワークフロー定義情報を取得する第1のステップと、取得したワークフロー定義情報に記述されている命令文に従ってコンテンツの転送処理を実行する一方で、キャッシュメモリからコンテンツを読み出すことがなくなったタイミングで、キャッシュメモリからコンテンツを削除する第2のステップとを備えることを特徴とする。
 本発明によれば、キャッシュメモリの利用効率を向上させることができる。
本実施の形態におけるコンテンツ転送処理を説明するための概要図である。 本実施の形態におけるストレージシステムの全体構成図である。 ストレージシステムの内部構成図である。 キューの論理構成図である。 コンテンツの論理構成図である。 ワークフロー定義情報の概念図である。 ワークフロー定義情報設定画面の画面構成図である。 コンテンツ転送処理を示すフローチャートである。 キャッシュメモリ制御処理を示すフローチャートである。 第2の実施の形態におけるワークフロー定義情報の概念図である。 コンテンツ転送処理を示すフローチャートである。 キャッシュメモリ制御処理を示すフローチャートである。 第3の実施の形態におけるストレージシステムの内部構成図である。 読出し回数管理テーブルの論理構成図である。 ワークフロー定義情報の概念図である。 キャッシュメモリ制御処理を示すフローチャートである。 第4の実施の形態におけるキャッシュメモリ制御処理を示すフローチャートである。
 以下図面について、本発明の一実施の形態を詳述する。
(1)第1の実施の形態
(1-1)本実施の形態の概要
 図1は、本実施の形態におけるコンテンツ転送処理を説明するための概要図である。本実施の形態は、コンテンツ収集部321、メタデータ抽出部322及びメタデータ検索部323と、コンテンツ格納部431との間にワークフロー実行部421及びキャッシュメモリ425を配置し、このワークフロー実行部421及びキャッシュメモリ425を用いてコンテンツの転送処理を実行する構成を採用することで、キャッシュメモリ425の利用効率を向上させようとするものである。
 特に本実施の形態においては、ワークフロー実行部421がコンテンツの転送処理を実行する一方で、キャッシュメモリ425に格納したコンテンツを適切なタイミングで削除するようにしたので、キャッシュメモリ425の利用効率を向上させることができる。
 キャッシュメモリ425の利用効率を向上させることにより、アクセス時間のかかるコンテンツ格納部431との読書き回数を削減することができるため、転送処理の高速化を図ることができる。また結果としてシステム全体の処理性能を向上させることができる。
 ここでコンテンツとは、データ本体と、データ本体に対応付けられたメタデータとから構成されるデータであり、ファイルとして管理されるデータである。データ本体は、構造定義されていない非構造化データであり、具体的には静止画、動画、音声又は文書などのデータがある。またメタデータは、データ本体に付帯する情報である。コンテンツの詳細については後述する(図5)。
 図1に示すようにストレージシステム1を構成するサーバ装置30及びストレージ装置40は、次の処理を実行する。まずサーバ装置30においてコンテンツ収集部321は、データ入力装置10において入力及び生成されたコンテンツを収集すると、収集したコンテンツをワークフロー実行部421に転送する(SP1)。
 ワークフロー実行部421は、コンテンツ収集部321からコンテンツを取得すると、ワークフロー定義情報432を参照して、以下のステップSP2~SP8に示すコンテンツの転送処理を実行する。
 ここでワークフロー定義情報432とは、コンテンツの種別(静止画、動画、音声又は文書など)に応じてデータ本体及びメタデータを転送処理する際の一連の転送処理の流れ(ワークフロー)が定義された情報である。詳細については後述する(図6)。
 ワークフロー実行部421は、ワークフロー定義情報432を参照して、まずコンテンツ収集部321から転送されたコンテンツをキャッシュメモリ425に格納する(SP2)。なおこのときワークフロー定義情報432は、キャッシュメモリ425に格納したコンテンツをキュー4251により管理するが、詳細については後述する(図4及び図9)。
 次いでワークフロー定義情報432は、キャッシュメモリ425に格納したコンテンツのうち、データ本体をコンテンツ格納部431に転送する(SP3)。コンテンツ格納部431はデータ本体をデータ本体格納領域4311に格納することになる。一方でワークフロー実行部421は、コンテンツをメタデータ抽出部322に転送する(SP4)。
 メタデータ抽出部322は、ワークフロー実行部421からコンテンツを取得すると、取得したコンテンツからメタデータを抽出する。そしてメタデータ抽出部322は、抽出したメタデータをワークフロー実行部421に転送する。
 ワークフロー実行部421は、メタデータ抽出部322からメタデータを取得すると(SP5)、取得したメタデータをメタデータ検索部323に転送し(SP6)、またコンテンツ格納部431に転送する(SP7)。コンテンツ格納部431は、メタデータをメタデータ格納領域4312に格納することになる。
 そしてワークフロー実行部421は、ワークフロー定義情報432により定義されたワークフローを全て完了したタイミングで、キャッシュメモリ425(キュー4251)に格納したコンテンツを削除して(SP8)、本実施の形態におけるコンテンツ転送処理を終了する。
 このように本実施の形態によれば、ワークフロー実行部421及びキャッシュメモリ425を配置し、ワークフロー実行部421がコンテンツの転送処理を実行する一方で、キャッシュメモリ425から読み出して利用することのなくなったコンテンツを適宜削除するようにしたので、新たなコンテンツを格納するための記憶領域をキャッシュメモリ425に確保することができるとともに、読み出して利用する他のコンテンツがキャッシュメモリ425に格納されている場合にはその他のコンテンツをキャッシュメモリ425から削除してしまうことを防止することができる。よってキャッシュメモリ425の利用効率を向上させることができる。
 以下図面を参照して、本実施の形態におけるストレージ装置、ストレージシステム及びキャッシュ制御方法の詳細について説明する。
(1-2)全体構成
 図2は、ストレージシステム1の全体構成を示す。ストレージシステム1は、サーバ装置30及びストレージ装置40から構成される。またストレージシステム1は、通信経路N1を介して、データ入力装置10及びコンテンツ検索装置20と通信可能に接続される。なお通信経路N1は、例えばLAN(Local Area Network)である。
 データ入力装置10は、CPU、メモリ、通信機器、操作部及び操作画面(図示省略)から構成される一般的なコンピュータであり、これらの構成部材を用いてコンテンツを生成するための装置である。例えばユーザがこのデータ入力装置10を操作して生成したコンテンツは、通信経路N1を介して、サーバ装置30に送信される。
 コンテンツ検索装置20は、CPU、メモリ、通信機器、操作部及び操作画面(図示省略)から構成される一般的なコンピュータであり、これらの構成部材を用いて所望のコンテンツを検索するための装置である。例えばユーザがこのコンテンツ検索装置20を操作して生成した検索要求は、通信経路N1を介して、サーバ装置30に送信される。
 サーバ装置30は、コンテンツを収集し、コンテンツからメタデータを抽出し、コンテンツ検索装置20からの検索要求に応じてメタデータを検索するためのコンピュータである。またストレージ装置40は、コンテンツの転送処理を実行し、コンテンツを格納するための計算機である。これらサーバ装置30及びストレージ装置40の内部構成については後述する(図3)。
(1-3)内部構成
 図3は、ストレージシステム1の内部構成を示す。ストレージシステム1は、サーバ装置30及びストレージ装置40から構成される。
 サーバ装置30は、サーバ装置30の動作を統括的に制御するCPU31、メモリ32、ローカルストレージ33、入力装置34、管理画面35及びネットワーク制御装置36から構成される。
 メモリ32は、各種プログラムを格納するための記憶媒体であり、またローカルストレージ33も同様に、各種プログラムを格納するための記憶媒体である。また入力装置34は、ユーザの操作に応じて入力信号を生成するための装置であり、例えばキーボードやマウスを備える。管理画面35は、管理者の操作に応じて各種画面を表示するための装置であり、例えばLCD(Liquid Crystal Display)を備える。ネットワーク制御装置36は、通信経路N1に接続されている機器と通信するためのインタフェースである。
 またメモリ32には、コンテンツ収集部321、メタデータ抽出部322及びメタデータ検索部323などの各種プログラムが格納され、またローカルストレージ33には、その他のプログラム331及びOS(Operating System)332が格納される。
 コンテンツ収集部321は、データ入力装置10からコンテンツを取得し、取得したコンテンツをワークフロー実行部421に転送するためのプログラムである。
 メタデータ抽出部322は、ワークフロー実行部421からコンテンツを取得し、取得したコンテンツからメタデータを抽出又は生成し、抽出又は生成したメタデータをワークフロー実行部421に転送するためのプログラムである。
 メタデータ検索部323は、ワークフロー実行部421からメタデータを取得し、取得したメタデータを保持しておくためのプログラムであり、またコンテンツ検索装置20からの検索要求に応じて、検索対象のメタデータを検索して応答するためのプログラムである。
 ストレージ装置40は、ストレージ装置40の動作を統括的に制御するCPU41、メモリ42、ハードディスクドライブ(HDD)43及びネットワーク制御装置44から構成される。
 メモリ42は、各種プログラムを格納し、またキャッシュ領域を確保するための記憶媒体であり、またHDD43は、各種コンテンツを格納するための記憶媒体である。ネットワーク制御装置44は、通信経路N1に接続されている機器と通信するためのインタフェースである。
 またメモリ42には、ワークフロー実行部421、ワークフロー管理部422、ワークフロー定義部423、ストレージ制御部424及びキャッシュメモリ(領域)425が格納され、またHDD43には、コンテンツ格納部431及びワークフロー定義情報432が格納される。
 ワークフロー実行部421は、コンテンツ収集部321からコンテンツを取得すると、ワークフロー定義情報432に基づいて、例えば図1に示したようにコンテンツの転送処理を実行する一方で、利用することのなくなったコンテンツをキャッシュメモリ425から削除するためのプログラムである。
 ワークフロー管理部422は、ワークフロー定義部423からワークフロー定義情報432を取得して管理するためのプログラムであり、またワークフロー実行部421からの要求に応じて適切なワークフロー定義情報432をワークフロー実行部421に転送するためのプログラムである。
 ワークフロー定義部423は、管理者の要求に応じてワークフロー定義情報432の新規作成、修正又は削除を実行するためのプログラムである。ストレージ制御部424は、HDD43にアクセスして、コンテンツの入出力を制御するためのプログラムである。
 キャッシュメモリ425は、サーバ装置30からのコンテンツを一時的に格納して管理するための記憶領域であり、格納したコンテンツをキュー4251により管理する。
 コンテンツ格納部431は、コンテンツを格納するための記憶領域であり、コンテンツのうちのデータ本体を格納するためのデータ本体格納領域4311及びコンテンツのうちのメタデータを格納するためのメタデータ格納領域4312から構成される。
 ワークフロー定義情報432は、上述したようにコンテンツの種別(静止画、動画、音声又は文書)に応じてデータ本体及びメタデータを転送処理する際の一連の転送処理の流れ(ワークフロー)を定義した情報である。詳細については後述する(図6)。
(1-4)各構成の詳細
 図4は、キュー4251の論理構成を示す。キュー4251は、キャッシュメモリ425において設定されるキュー構造の記憶領域であり、コンテンツ収集部321により収集されたコンテンツをワークフロー実行部421の制御に従って格納する。
 キュー4251は、データ本体を格納するための複数のデータキャッシュ領域4251Aと、メタデータを格納するための複数のメタデータデータキャッシュ領域4251Bとから構成される。
 複数のデータキャッシュ領域4251Aは、ここでは#1~#Nの合計N個の領域から構成される。また複数のメタデータデータキャッシュ領域4251Bについても同様に、ここでは#1~#Nの合計N個の領域から構成される。キュー4251においてこれらデータキャッシュ領域4251Aに格納されるデータ本体と、メタデータデータキャッシュ領域4251Bに格納されるメタデータとは対応付けて管理される。
 例えば図4の場合、コンテンツC1がキャッシュメモリ425に格納されると、ワークフロー実行部421の制御に従って、コンテンツC1のデータ本体はデータキャッシュ領域4251Aの#1に格納され、コンテンツC1のメタデータはメタデータデータキャッシュ領域4251Bの#1に格納される。そしてキュー4251においてこれらは対応付けて管理される。
 次いでコンテンツC2がキャッシュメモリ425に格納されると、コンテンツC1のデータ本体はデータキャッシュ領域4251Aの#2に移動し、コンテンツC1のメタデータもメタデータデータキャッシュ領域4251Bの#2に移動する。そしてコンテンツC2のデータ本体はデータキャッシュ領域4251Aの#1に格納され、コンテンツC2のメタデータはメタデータデータキャッシュ領域4251Bの#2に格納される。
 そしてN番目のコンテンツCnがキャッシュメモリ425に格納されると、コンテンツC1のデータ本体はデータキャッシュ領域4251Aの#N-1から#Nに移動し、コンテンツC1のメタデータもメタデータデータキャッシュ領域4251Bの#N-1から#Nに移動する。さらにコンテンツCn+1がキャッシュメモリ425に格納されると、コンテンツC1のデータ本体及びメタデータはキュー4251から溢れて削除される。
 本実施の形態では、例えばワークフロー実行部421は、ワークフローにおいてもはや利用することのなくなったデータ本体及びメタデータについて、キュー4251の途中に位置するデータ本体及びメタデータであっても削除する。この場合、キュー4251に格納可能な領域を確保することができる。またデータキャッシュ領域#N及びメタデータキャッシュ領域#Nに格納されているデータ本体及びメタデータであって、ワークフローにおいてまだ利用する予定のデータ本体及びメタデータを削除することを防止することができる。よってキャッシュメモリ425の利用効率を向上させることができる。
 図5は、コンテンツC1の論理構成を示す。コンテンツC1は、データ本体C11及びメタデータC12の情報が格納される。このコンテンツC1は、ワークフロー実行部421によりコンテンツ収集部321から取得され、キャッシュメモリ425に格納される。
 具体的にデータ本体C11には、静止画、動画、音声又は文書などの情報が格納され、またメタデータC12には、これらの付帯情報が格納される。
 例えば図5の場合、データ本体C11には「風景画の画像ファイル」、「レコーダからの音声ファイル」及び「文書ファイル」が格納されていることが示されている。またメタデータC12には風景画に含まれる内容が「人物」及び「自動車」であるという情報と、音声ファイルの中に発声されている内容を文字列として表すと「東京」及び「天気」が含まれているという内容と、文書ファイルに関する情報として「概要」が「ABCについての検討結果」、「作成者」が「DEF、及び「キーワード」が「コンテンツ、キャッシュ」であるという情報とが格納されていることが示されている。またデータ本体C11の各情報と、メタデータC12の各付帯情報とは対応付けられて格納されていることが示されている。
 図6は、ワークフロー定義情報432の概念図を示す。ワークフロー定義情報432は、サーバ装置30において管理者が記述することにより作成され、ストレージ装置40において格納される情報であり、コンテンツの種別を示す情報と、データ本体及びメタデータをキャッシュメモリ425に格納する格納命令文(input)及びキャッシュメモリ425から読み出して転送する転送命令文(output)とから構成される。またこれらの命令文は、実際の処理順序に沿って記述される。
 従ってワークフロー定義情報432全体としては、一のコンテンツの一連の処理の流れ(ワークフロー)を示す情報が格納されていることになる。このワークフロー定義情報432は、コンテンツをストレージシステム1内の各部に転送処理する際及びこのときにキャッシュメモリ425を制御する際に用いられる。転送処理及び制御処理については後述する(図8及び図9)。
 具体的にワークフロー定義情報432は、ワークフロー種別記述領域4321、転送元記述領域4322及び転送先記述領域4323から構成される。
 ワークフロー種別記述領域4321には、ワークフローにおいて転送処理するコンテンツの種別が記述される。転送元記述領域4322には、データ本体又はメタデータのうちの何れかの格納対象を何れかの転送元から取得してキャッシュメモリ425に格納することを命令する格納命令文が記述される。また転送先記述領域4323には、データ本体又はメタデータのうちの何れかの転送対象を何れかの転送先に転送することを命令する転送命令文が記述される。
 従って図6の場合、このワークフロー定義情報432は、種別が「画像ファイル」であるコンテンツのワークフローについて定義した情報であることが示されている。
 またこのワークフロー定義情報432には、まずデータ本体を転送元のコンテンツ収集部321から取得してキャッシュメモリ425に格納し(「input DATA from コンテンツ収集部」)、次いでメタデータをコンテンツ収集部321から取得してキャッシュメモリ425に格納する(「input META-DATA from コンテンツ収集部」)ことが記述されている。
 またデータ本体及びメタデータをコンテンツ収集部321から取得してキャッシュメモリ425に格納した後は、データ本体をコンテンツ格納部431に転送し(「output DATA to コンテンツ格納部」)、データ本体をメタデータ抽出部に転送し(「output DATA to メタデータ抽出部」)、メタデータをメタデータ抽出部に転送する(「output META-DATA to メタデータ抽出部」)ことが記述されている。
 なおこの図6に示すワークフロー定義情報432に基づいてコンテンツを転送処理した場合、図1に示した転送処理が実行されることになる。
 図7は、ワークフロー定義情報設定画面35の画面構成を示す。ワークフロー定義情報設定画面35は、サーバ装置30において管理者が操作することにより表示される画面であり、ワークフロー定義情報432を設定するための情報が表示される。
 具体的にはワークフロー定義情報設定画面35は、ワークフロー名選択領域351、対象ファイル拡張子選択領域352、ワークフロー定義作成領域353、ワークフロー種別選択領域354及びボタン領域355から構成される。
 ワークフロー名選択領域351には、ワークフロー定義情報432の名称が選択可能に表示され、対象ファイル拡張子選択領域352には、コンテンツの拡張子が選択可能に表示される。またワークフロー定義作成領域353には、ワークフロー定義情報432が作成可能に表示され、ワークフロー種別選択領域354には、ワークフローの種別が選択可能に表示される。
 またボタン領域355には、ワークフロー定義情報432を新規に作成する際に押下するための新規ボタンB1、既に作成したワークフロー定義情報432を修正する際に押下するための修正ボタンB2及び既に作成したワークフロー定義情報432を削除する際に押下するための削除ボタンB3が押下可能に表示される。
 従って図7においてワークフロー定義情報432を新規に作成しようとする場合、管理者は、新規に作成しようとするワークフロー定義情報432の名称をワークフロー名選択領域351から選択し、新規に作成するワークフロー定義情報432に基づいて処理しようとするコンテンツの拡張子を対象ファイル拡張子選択領域352から選択することができる。そして管理者は、ワークフロー定義作成領域353において新規のワークフローを定義した後、新規ボタンB1を押下することにより、ワークフロー定義情報432を新規に作成して登録することをワークフロー管理部422に要求することができる。
 また図7において既存のワークフロー定義情報432を修正しようとする場合、管理者は、修正しようとするワークフロー定義情報432の種別をワークフロー種別選択領域354において選択し、選択したワークフロー種別に対応するワークフロー定義情報432をワークフロー定義作成領域353に表示させることができる。そして管理者は、表示されたワークフロー定義情報432を修正した後、修正ボタンB2を押下することにより、既存のワークフロー定義情報432を修正して登録することをワークフロー管理部422に要求することができる。
 また図7において既存のワークフロー定義情報432を削除しようとする場合、管理者は、削除しようとするワークフロー定義情報432の種別をワークフロー種別選択領域354において選択し、選択したワークフロー種別に対応するワークフロー定義情報432をワークフロー定義作成領域353に表示させることができる。そして管理者は、表示されたワークフロー定義情報432が削除対象のワークフロー定義情報432であることを確認した後、削除ボタンB3を押下することにより、既存のワークフロー定義情報432の削除をワークフロー管理部422に要求することができる。
(1-5)フローチャート
 図8は、コンテンツ転送処理の処理手順を示す。このコンテンツ転送処理は、コンテンツ収集部321により収集されたコンテンツがワークフロー実行部421に転送されたことを契機として、コンテンツ収集部321、ワークフロー実行部421、メタデータ抽出部322、メタデータ検索部323及びコンテンツ格納部431の各プログラムと、各プログラムを制御するCPU31及びCPU41とに基づいて実行される。説明の便宜上、処理主体をこれら各プログラム及び装置として説明する。
 まずコンテンツ収集部321は、収集したコンテンツのデータ本体をワークフロー実行部421に転送する(SP11)。ワークフロー実行部421は、データ本体をキャッシュメモリ425に格納する(SP12)。なおワークフロー実行部421は、格納したデータ本体をキュー4251により管理することになる。このときのキャッシュメモリ制御処理については後述する(図9)。
 次いでコンテンツ収集部321は、収集したコンテンツのメタデータをワークフロー実行部421に転送する(SP13)。ワークフロー実行部421は、メタデータをキャッシュメモリ425に格納する(SP14)。なおワークフロー実行部421は、格納したメタデータをデータ本体と対応付けてキュー4251により管理する。
 次いでワークフロー実行部421は、キャッシュメモリ425に格納したデータ本体をコンテンツ格納部431に転送する(SP15)。コンテンツ格納部431は、データ本体をデータ本体格納領域4311に格納する(SP16)。
 次いでワークフロー実行部421は、データ本体及びメタデータをメタデータ抽出部322に転送する(SP17及びSP18)。メタデータ抽出部322は、データ本体及びメタデータに基づいて、メタデータを抽出又は生成し、抽出又は生成したメタデータをワークフロー実行部421に転送する(SP19)。
 次いでワークフロー実行部421は、メタデータをキャッシュメモリ425に格納する(SP20)。
 次いでワークフロー実行部421は、このメタデータをコンテンツ格納部431に転送する(SP21)。コンテンツ格納部431は、メタデータをメタデータ格納領域4312に格納する(SP22)。同様にワークフロー実行部421は、メタデータをメタデータ検索部323に転送する(SP23)。メタデータ検索部323は、メタデータを記憶領域に格納する(SP24)。
 次いでワークフロー実行部421は、ワークフロー定義情報432により定義されたワークフローが全て終了した場合、キャッシュメモリ425(キュー4251)に格納しているデータ本体を再度利用することはないと判断して、このワークフローにおけるデータ本体をキャッシュメモリ425から削除する又はデータ本体に対応する削除フラグを「1」に設定して削除を許可する(SP25)。
 同様にワークフロー実行部421は、キャッシュメモリ425(キュー4251)に格納しているメタデータを再度利用することはないと判断して、このワークフローにおけるメタデータをキャッシュメモリ425から削除する又はメタデータに対応する削除フラグを「1」に設定して削除を許可して(SP26)、本処理を終了する。
 図9は、キャッシュメモリ制御処理の処理手順を示す。このキャッシュメモリ制御処理は、コンテンツ収集部321からのコンテンツをワークフロー実行部421が取得したことを契機として、ワークフロー実行部421及びCPU41に基づいて実行される。説明の便宜上、処理主体をワークフロー実行部421として説明する。
 なおこのキャッシュメモリ制御処理は、コンテンツごとに実行される。よって例えば複数のコンテンツをワークフロー実行部421が取得した場合、ワークフロー実行部421は、それぞれのコンテンツについて以下に説明する処理を並列して実行することになる。
 まずワークフロー実行部421は、コンテンツ収集部321からコンテンツを取得すると、ワークフロー定義情報432を参照して、このワークフロー定義情報432に記述されている命令文のうちの最初の1行を読み出す(SP31)。
 次いでワークフロー実行部421は、読み出した命令文が格納命令文(input)であるか否かを判断する(SP32)。ワークフロー実行部421は、ステップSP32の判断で否定結果を得ると、次いで読み出した命令文が転送命令文(output)であるか否かを判断する(SP33)。ワークフロー実行部421は、ステップSP33の判断でも否定結果を得ると、読み出した命令文が構文エラーであることを示す情報を例えば表示画面に出力して(SP34)、ステップSP38に移行する。
 これに対しワークフロー実行部421は、ステップSP33の判断で肯定結果を得ると、読み出した命令文は転送命令であると判断し、転送対象の情報(データ本体又はメタデータ)及び転送先の情報を取得する。そしてワークフロー実行部421は、取得した転送対象を転送先に転送して(SP35)、ステップSP38に移行する。
 これに対しワークフロー実行部421は、ステップSP32の判断で肯定結果を得ると、読み出した命令文は格納命令文であると判断し、格納対象の情報(データ本体又はメタデータ)及び転送元の情報とを取得する。そしてワークフロー実行部421は、取得した格納対象を転送元から取得する(SP36)。
 次いでワークフロー実行部421は、転送元から取得したデータ本体又はメタデータをキャッシュメモリ425に格納し、キュー4251により管理する(SP37)。
 次いでワークフロー実行部421は、ワークフロー定義情報432に記述されている命令文を最後まで実行したか否かを判断する(SP38)。ワークフロー実行部421は、この判断で否定結果を得ると、ステップSP31に移行して次の行の命令文を読み出して、上述してきた処理を実行する。
 これに対しワークフロー実行部421は、ステップSP38の判断で肯定結果を得ると、このワークフローにおいてはデータ本体をキャッシュメモリ425から再度読み出して利用することはないと判断して、データ本体をキャッシュメモリ425から削除する。またはワークフロー実行部421は、データ本体に対応する削除フラグを「1」に設定して削除を許可する(SP39)。
 例えばワークフロー実行部421は、並列して実行している他のワークフローにおいて再利用することのある第1のデータ本体がデータキャッシュ領域#N(図4)に格納されており、一方で本処理におけるワークフローにおいて再利用しない第2のデータ本体がデータキャッシュ領域#N-1に格納されており、新たに第3のデータ本体がデータキャッシュ領域#1に格納されようとしている場合、再利用することのある第1のデータ本体は削除せず、再利用しない第2のデータ本体をデータキャッシュ領域#N-1から削除する。
 なおこのような状況は、例えば第1のデータ本体が画像データのようにサイズが大きく処理に時間がかかるデータであって、第2のデータ本体がテキストデータのようにサイズが小さく処理に時間がかからないデータである場合に想定される。本実施の形態においては、このようにコンテンツの種類によって先に処理し始めた第1のデータ本体の方が後に処理し始めた第2のデータ本体よりも処理時間がかかることで、処理の追い越しがあることを想定しており、この場合にはFIFOのように第1のデータ本体をキャッシュメモリ425から削除するのではなく、利用されなくなった第2のデータ本体をキャッシュメモリ425から削除するようにしている。
 次いでワークフロー実行部421は、メタデータについても本ワークフローにおいて再利用することはないと判断して、メタデータをキャッシュメモリ425から削除する。またはワークフロー実行部421は、メタデータに対応する削除フラグを「1」に設定して削除を許可して(SP40)、本処理を終了する。
(1-6)本実施の形態による効果
 以上のように本実施の形態によるストレージシステムによれば、ワークフロー定義情報432に基づいて、キャッシュメモリ425に格納したコンテンツの転送処理を実行する一方で、ワークフローが全て終了したタイミングで、キャッシュメモリ425からコンテンツを削除するようにしたので、キャッシュメモリの利用効率を向上させることができる。キャッシュメモリの利用効率を向上させると、再利用するコンテンツのキャッシュヒットの確率が向上し、アクセス時間のかかるコンテンツ格納部431との読書き回数を削減することができる。よってストレージシステム1全体の処理性能を向上させることができる。
(2)第2の実施の形態
 第2の実施の形態は、ワークフロー定義情報に記述されている命令文においてデータ本体及びメタデータを削除する削除命令文が記述されている点及びこのワークフロー定義情報に基づいてキャッシュメモリ制御処理を実行することにより、ワークフローの途中であってもデータ本体及びメタデータをキャッシュメモリ425から削除する点で、第1の実施の形態と異なる。以下、異なる点について図面を用いて詳細に説明する。
(2-1)各構成の詳細
 図10は、第2の実施の形態におけるワークフロー定義情報432Aの概念図を示す。ワークフロー定義情報432Aは、サーバ装置30において管理者が記述することにより作成される情報であり、コンテンツの種別を示す情報、データ本体及びメタデータをキャッシュメモリ425に格納する格納命令文(input)及びキャッシュメモリ425から読み出して転送する転送命令文(output)の他、データ本体及びメタデータを削除する削除命令文(delete)から構成される。
 具体的にワークフロー定義情報432Aは、削除記述領域4324を含んで構成される。削除記述領域4324には、データ本体又はメタデータのうちの何れかの削除対象をキャッシュメモリ425から削除する命令文が記述される。
 従って図10の場合、このワークフロー定義情報432Aには、データ本体をメタデータ抽出部322に転送した後(「output DATA to メタデータ抽出部」)、このデータ本体をキャッシュメモリ425から削除する(「delete DATA in cache」)ことが記述されている。
 またこのワークフロー定義情報432Aには、メタデータをメタデータ検索部323に転送した後(「output META-DATA to メタデータ検索部」)、このメタデータをキャッシュメモリ425から削除する(「delete META-DATA in cache」)ことが記述されている。
(2-2)フローチャート
 図11は、第2の実施の形態におけるコンテンツ転送処理の処理手順を示す。この第2の実施の形態におけるコンテンツ転送処理は、ワークフローにおいて利用することのなくなったキャッシュメモリ425に格納されているデータ本体又はメタデータをワークフローの途中であっても削除する点で、第1の実施の形態におけるコンテンツ転送処理(図8)と異なる。
 ステップSP51~SP57における処理は、第1の実施の形態におけるコンテンツ転送処理(図8)のステップSP11~SP17の処理と同様であるため、ここでの説明は省略する。
 ステップSP57Aにおいてワークフロー実行部421は、このワークフローにおけるデータ本体をキャッシュメモリ425から削除する又はデータ本体に対応する削除フラグを「1」に設定して削除を許可する(SP57A)。
 ステップSP58~SP64における処理は、第1の実施の形態におけるコンテンツ転送処理(図8)のステップSP18~SP24の処理と同様であるため、ここでの説明は省略する。
 ステップSP64Aにおいてワークフロー実行部421は、このワークフローにおけるメタデータをキャッシュメモリ425から削除する又はメタデータに対応する削除フラグを「1」に設定して削除を許可して(SP64A)、本処理を終了する。
 図12は、第2の実施の形態におけるキャッシュメモリ制御処理の処理手順を示す。この第2の実施の形態におけるキャッシュメモリ制御処理は、ワークフロー定義情報432A(図10)に基づいて実行される点及びこのワークフロー定義情報432Aに基づいて実行されることにより、ワークフローの途中であってもデータ本体又はメタデータが削除される点で、第1の実施の形態におけるキャッシュメモリ制御処理(図9)と異なる。
 ステップSP71~SP73における処理は、第1の実施の形態におけるキャッシュメモリ制御処理(図9)のステップSP31~SP33の処理と同様であるため、ここでの説明は省略する。
 ステップSP73Aにおいてワークフロー実行部421は、読み出した命令文がキャッシュメモリ425から削除対象(データ本体又はメタデータ)を削除する削除命令文であるか否かを判断する(SP73A)。
 ワークフロー実行部421は、この判断で肯定結果を得ると、削除対象をキャッシュメモリ425から削除する(SP73B)。
 ステップSP74~SP78における処理は、第1の実施の形態におけるキャッシュメモリ制御処理(図9)のステップSP34~SP38の処理と同様であるため、ここでの説明は省略する。なおステップSP78においてワークフロー実行部421は、ワークフロー定義情報432Aに記述されている命令文を最後まで実行すると、本処理を終了する。
(2-3)第2の実施の形態による効果
 以上のように第2の実施の形態によるストレージシステムによれば、ワークフロー定義情報432Aに基づいて、キャッシュメモリ425に格納したコンテンツの転送処理を実行する一方で、削除命令文に従ってコンテンツを削除するようにしたので、ワークフローの途中であっても利用されなくなったタイミングで、データ本体又はメタデータをキャッシュメモリ425から削除することができる。よってキャッシュメモリの利用効率を更に向上させることができる。
(3)第3の実施の形態
 第3の実施の形態は、ストレージ装置40が読出し回数管理テーブルを備えて構成される点と、ワークフロー定義情報に記述されている命令文においてデータ本体及びメタデータを読み出す予定回数が記述されている点と、これら読出し回数管理テーブル及びワークフロー定義情報に基づいてキャッシュメモリ制御処理を実行することにより、ワークフローの途中であってもデータ本体及びメタデータをキャッシュメモリ425から削除する点で、第1の実施の形態と異なる。以下、異なる点について図面を用いて詳細に説明する。
(3-1)内部構成
 図13は、第3の実施の形態におけるストレージシステム1Bの内部構成を示す。第3の実施の形態におけるストレージシステム1Bは、ストレージ装置40が読出し回数管理テーブル426を備えて構成される点で、第1の実施の形態におけるストレージシステムと異なる。
(3-2)各構成の詳細
 図14は、読出し回数管理テーブル426の論理構成を示す。読出し回数管理テーブル426は、サーバ装置30において管理者が予め設定することにより作成されるテーブルであり、キャッシュメモリ425からデータ本体及びメタデータを読み出す予定の回数と、現時点での読出し回数とが格納される。この読出し回数管理テーブル426は、キャッシュメモリ制御処理(図16)の際に用いられる。
 具体的に読出し回数管理テーブル426は、コンテンツID欄4261、データ本体読出し予定回数欄4262、メタデータ読出し予定回数欄4263、データ本体読出し回数欄4264及びメタデータ読出し回数欄4265から構成される。
 コンテンツID欄4261には、コンテンツを特定するための識別情報が格納される。データ本体読出し予定回数欄4262には、ワークフロー定義情報432B(図15)により予め定義されたワークフローが実行される場合、キャッシュメモリ425からデータ本体が読み出される予定の回数が格納される。
 メタデータ読出し予定回数欄4263には、ワークフロー定義情報432B(図15)により予め定義されたワークフローが実行される場合、キャッシュメモリ425からメタデータが読み出される予定の回数が格納される。
 データ本体読出し回数欄4264には、ワークフローが実行されている場合において、現時点でキャッシュメモリ425からデータ本体が読み出された回数が格納される。メタデータ読出し回数欄4265には、ワークフローが実行されている場合において、現時点でキャッシュメモリ425からメタデータが読み出された回数が格納される。
 従って図14の場合、例えばコンテンツIDが「/data/movie001.avi」であるコンテンツは、ワークフロー定義情報432B(図15)により予め定義されたワークフローが実行される場合、データ本体の読出し予定回数が「2」回であって、メタデータの読出し予定回数が「3」回であることが示されている。またこのワークフローは現在実行途中であり、現時点でのデータ本体の読出し回数は「1」回であり、メタデータの読出し回数は「1」回であることが示されている。
 図15は、第3の実施の形態におけるワークフロー定義情報432Bの概念図を示す。ワークフロー定義情報432Bは、サーバ装置30において管理者が記述することにより作成される情報であり、コンテンツの種別を示す情報、データ本体及びメタデータをキャッシュメモリ425に格納する格納命令文(input)及びキャッシュメモリ425から読み出して転送する転送命令文(output)の他、データ本体及びメタデータの使用予定回数(読出し予定回数)を示す情報から構成される。
 具体的にワークフロー定義情報432Bは、読出し予定回数記述領域4325を含んで構成される。読出し予定回数記述領域4325には、データ本体及びメタデータのそれぞれの読出し予定回数が記述される。なおこの読出し予定回数は、上述した図14のデータ本体読出し予定回数欄4262及びメタデータ読出し予定回数欄4263に格納される読出し予定回数と一致する。
 従って図15の場合、このワークフロー定義情報432Bに基づいてワークフローが実行された場合にデータ本体をキャッシュメモリ425から読み出す回数は「2」回が予定されていることが示されている。またメタデータをキャッシュメモリ425から読み出す回数は「3」回が予定されていることが示されている。
(3-3)フローチャート
 図16は、第3の実施の形態におけるキャッシュメモリ制御処理の処理手順を示す。まずワークフロー実行部421は、コンテンツ収集部321からのコンテンツを受信すると、ワークフロー定義情報432Bを参照して、読出し回数管理テーブル426を初期化する(SP81)。
 読出し回数管理テーブル426の初期化に際して具体的には、ワークフロー実行部421は、ワークフロー定義情報432Bに記述されているデータ本体及びメタデータの読出し予定回数をデータ本体読出し予定回数欄4262及びメタデータ読出し予定回数欄4263に格納し、データ本体読出し回数欄4264及びメタデータ読出し回数欄4265に「0」を格納する。
 次いでワークフロー実行部421は、ワークフロー定義情報432を参照して、このワークフロー定義情報432に記述されている命令文のうちの最初の1行を読み出す(SP82)。
 ワークフロー実行部421は、読み出した命令文が転送令文(output)であるか否かを判断する(SP83)。ワークフロー実行部421は、ステップSP83の判断で否定結果を得ると、次いで読み出した命令文が格納命令文(input)であるか否かを判断する(SP84)。ワークフロー実行部421は、ステップSP84の判断でも否定結果を得ると、読み出した命令文が構文エラーであることを示す情報を例えば表示画面に出力して(SP85)、ステップSP98に移行する。
 これに対しワークフロー実行部421は、ステップSP84の判断で肯定結果を得ると、読み出した命令文は格納命令であると判断し、格納対象(データ本体又はメタデータ)を転送元(例えばコンテンツ収集部321)から取得する(SP86)。そしてワークフロー実行部421は、取得した格納対象をキャッシュメモリ425に格納して(SP87)、ステップSP98に移行する。
 これに対しワークフロー実行部421は、ステップSP83の判断で肯定結果を得ると、読み出した命令文は転送命令文であると判断し、転送対象(データ本体又はメタデータ)を転送先(例えばコンテンツ格納部431)に転送する(SP89)。
 次いでワークフロー実行部421は、転送対象がデータ本体であるか否かを判断する(SP90)。ワークフロー実行部421は、ステップSP90の判断で否定結果を得ると、次いで転送対象がメタデータであるか否かを判断する(SP91)。
 ワークフロー実行部421は、ステップSP91の判断で否定結果を得ると、構文エラーを出力して(SP85)、ステップSP98に移行する。これに対しワークフロー実行部421は、ステップSP91の判断で肯定結果を得ると、読出し回数管理テーブル426のメタデータ読出し回数欄4265の値を+1だけインクリメントする(SP92)。
 次いでワークフロー実行部421は、読出し回数管理テーブル426を参照して、現時点でのメタデータ読出し回数がメタデータ読出し予定回数以上であるか否かを判断する(SP93)。ワークフロー実行部421は、ステップSP93の判断で否定結果を得ると、ステップSP98に移行する。
 これに対しワークフロー実行部421は、ステップSP93の判断で肯定結果を得ると、メタデータをキャッシュメモリ425から削除又はメタデータに対応する削除フラグを「1」に設定して削除を許可する(SP94)。その後ワークフロー実行部421は、ステップSP98に移行する。
 ステップSP90に戻り、ワークフロー実行部421は肯定結果を得ると、読出し回数管理テーブル426のデータ本体読出し回数欄4264の値を+1だけインクリメントする(SP95)。次いでワークフロー実行部421は、読出し回数管理テーブル426を参照して、現時点でのデータ本体読出し回数がデータ本体読出し予定回数以上であるか否かを判断する(SP96)。
 ワークフロー実行部421は、ステップSP96の判断で否定結果を得ると、ステップSP98に移行する。これに対しワークフロー実行部421は、ステップSP96の判断で肯定結果を得ると、データ本体をキャッシュメモリ425から削除又はデータ本体に対応する削除フラグを「1」に設定して削除を許可する(SP97)。
 次いでワークフロー実行部421は、ワークフロー定義情報432Bに記述されている命令文を最後まで実行したか否かを判断する(SP98)。ワークフロー実行部421は、この判断で否定結果を得ると、ステップSP82に移行して次の行の命令文を読み出し、上述してきた処理を実行する。
 これに対しワークフロー実行部421は、ステップSP98の判断で肯定結果を得ると、本処理を終了する。
(3-4)第3の実施の形態による効果
 以上のように第3の実施の形態によるストレージシステムによれば、読出し回数管理テーブル426及びワークフロー定義情報432Bを備えて構成され、これらに基づいて、キャッシュメモリ425に格納したコンテンツの転送処理を実行する一方で、読出し回数に応じてコンテンツを削除するようにしたので、ワークフローの途中であっても利用されなくなったタイミングで、データ本体又はメタデータをキャッシュメモリ425から削除することができる。よってキャッシュメモリの利用効率を更に向上させることができる。
(4)第4の実施の形態
 第4の実施の形態は、ワークフロー定義情報に記述されている命令文の何れかにデータ本体又はメタデータを最後に利用する命令文であることを示す最終利用フラグを設定する点及びこの最終フラグに基づいてキャッシュメモリ制御処理を実行することにより、ワークフローの途中であってもデータ本体及びメタデータをキャッシュメモリ425から削除する点で、第1の実施の形態と異なる。以下、異なる点について図面を用いて詳細に説明する。
(4-1)フローチャート
 図17は、第4の実施の形態におけるキャッシュメモリ制御処理の処理手順を示す。まずワークフロー実行部421は、コンテンツ収集部321からのコンテンツを受信すると、ワークフロー定義情報432を参照して、命令文を最後の行から逆に読み出し、データ本体を転送する転送命令文を検出する(SP101)。ここでいう「逆に読み出す」「逆から読み出す」という言葉は、はじめに最後の命令文を読み出し、次にその一つ前の命令文を読み出し、その次にそのさらに一つ前の文を読み出し、という順に読みだすことを言う。
 ワークフロー実行部421は、本フローチャートを実行する際に最後にデータ本体を転送する転送命令文を検出すると、検出した転送命令文の行にデータ本体最終利用フラグを設定する(SP102)。
 次いでワークフロー実行部421は、同様に命令文を最後の行から逆に読み出して、最後にメタデータを転送する転送命令文を検出する(SP103)。
 ワークフロー実行部421は、最後にメタデータを転送する転送命令文を検出すると、検出した転送命令文の行にメタデータ最終利用フラグを設定する(SP104)。
 次いでワークフロー実行部421は、ワークフロー定義情報432を参照して、このワークフロー定義情報432に記述されている命令文の最初の1行を読み出す(SP105)。
 ワークフロー実行部421は、読み出した命令文が格納命令文(input)であるか否かを判断する(SP106)。ワークフロー実行部421は、ステップSP106の判断で否定結果を得ると、次いで読み出した命令文が転送命令文(output)であるか否かを判断する(SP107)。
 ワークフロー実行部421は、ステップSP107の判断でも否定結果を得ると、読み出した命令文が構文エラーであることを示す情報を例えば表示画面に出力して(SP108)、ステップSP116に移行する。
 これに対しワークフロー実行部421は、ステップSP107の判断で肯定結果を得ると、読み出した命令文は転送命令であると判断し、転送対象(データ本体又はメタデータ)を転送先(例えばコンテンツ格納部431)に転送する(SP109)。
 次いでワークフロー実行部421は、ステップSP109の転送命令文の行にデータ本体最終利用フラグが設定されているか否かを判断する(SP110)。ワークフロー実行部421は、ステップSP110の判断で否定結果を得ると、次いでステップSP109の転送命令文の行にメタデータ最終利用フラグが設定されているか否かを判断する(SP111)。
 ワークフロー実行部421は、ステップSP111の判断で否定結果を得ると、ステップSP116に移行する。これに対しワークフロー実行部421は、ステップSP111の判断で肯定結果を得ると、メタデータをキャッシュメモリ425から削除又はメタデータに対応する削除フラグを「1」に設定して削除を許可する(SP112)。その後ワークフロー実行部421は、ステップSP116に移行する。
 ステップSP110に戻り、ワークフロー実行部421は肯定結果を得ると、データ本体をキャッシュメモリ425から削除又はデータ本体に対応する削除フラグを「1」に設定して削除を許可する(SP113)。その後ワークフロー実行部421は、ステップSP116に移行する。
 ステップSP106に戻り、ワークフロー実行部421は肯定結果を得ると、格納対象(データ本体又はメタデータ)を転送元(例えばコンテンツ収集部321)から取得する(SP114)。そしてワークフロー実行部421は、取得した格納対象をキャッシュメモリ425に格納して(SP115)、ステップSP116に移行する。
 ワークフロー実行部421は、ワークフロー定義情報432に記述されている命令文を最後まで実行したか否かを判断する(SP116)。ワークフロー実行部421は、この判断で否定結果を得ると、ステップSP105に移行して次の行の命令文を読み出し、上述してきた処理を実行する。
 これに対しワークフロー実行部421は、ステップSP116の判断で肯定結果を得ると、本処理を終了する。
 なお、本フローチャートでは命令文を逆から読みだしていくことで最後にデータやメタデータを読み出す命令を検索したが、例えばワークフローを最初の命令文から解釈だけ行っていき、データやメタデータを読み出す文がある命令文にフラグを立て、ワークフローの最後まで解釈した時に最後にフラグを立てた文を最後にデータやメタデータを読みだした文として検出する方法(つまりワークフローの実行をシミュレートして最後に読み出す行を検出する方法)をとってもよい。
(4-2)第4の実施の形態による効果
 以上のように第4の実施の形態によるストレージシステムによれば、ワークフロー定義情報432に記述されている命令文のうち、最後にデータ本体及びメタデータを利用する命令文に最終利用フラグを設定し、この最終利用フラグに基づいてデータ本体及びメタデータをキャッシュメモリ425から削除するようにしたので、ワークフローの途中であっても利用されなくなったタイミングで、データ本体及びメタデータをキャッシュメモリ425から削除することができる。よってキャッシュメモリの利用効率を更に向上させることができる。
(5)他の実施の形態
 本実施の形態において1つのキュー4251(図4)にデータ本体とメタデータとを対応付けて格納する構成を採用したが、必ずしもこれに限らず、例えばデータ本体用のキューと、メタデータ用のキューとを設け、データ本体用のキューにはデータ本体を格納し、メタデータ用のキューにはメタデータを格納するようにしてもよい。この場合、例えばデータ本体を削除しようとする場合にはデータ本体用のキューから削除対象のデータ本体を検索すればよく、検索対象を絞ることができる。よって不要なデータ本体をキャッシュメモリから削除しようとする場合、迅速に削除することができるため、キャッシュメモリの利用効率を更に向上させることができる。
 またこれまでの説明ではFIFOにワークフローを組み合わせた説明を行なってきたが、同様にLRUやLFUなど既知のキャッシュアルゴリズムにワークフローからの情報によりキャッシュクリアタイミングを知るアルゴリズムを組み合わせてもよい。
 また本実施の形態においてワークフロー実行部421及びキャッシュメモリ425は、ストレージ装置40が備えるとして説明したが、必ずしもこれに限らず、ストレージシステム1内の何れの装置が備えるとしてもよい。またこれらワークフロー実行部421及びキャッシュメモリ425に限らず、コンテンツ収集部321、メタデータ抽出部322、メタデータ検索部323、ワークフロー管理部422及びコンテンツ格納部431は、ストレージシステム1内の何れの装置が備えるとしてもよい。
30   サーバ装置
321  コンテンツ収集部
322  メタデータ抽出部
323  メタデータ検索部
40   ストレージ装置
421  ワークフロー実行部
425  キャッシュメモリ
4251 キュー
431  コンテンツ格納部
432  ワークフロー定義情報
 

Claims (14)

  1.  コンテンツの転送処理を制御するワークフロー実行部と、
     前記コンテンツを格納するキャッシュメモリとを備え、
     前記ワークフロー実行部は、
     予め作成されたワークフロー定義情報を取得し、取得したワークフロー定義情報に記述されている命令文に従って、前記コンテンツの転送処理を実行する一方で、前記ワークフローの実行に際して前記コンテンツを読み出すことがなくなったタイミングで、前記キャッシュメモリから前記コンテンツを削除する
     ことを特徴とする計算機。
  2.  前記ワークフロー実行部は、
     前記ワークフロー定義情報に記述された命令文の全ての処理が完了したタイミングで、前記キャッシュメモリから前記コンテンツを削除する
     ことを特徴とする請求項1に記載の計算機。
  3.  前記ワークフロー定義情報には、
     前記コンテンツを削除することを命令する削除命令文が記述されており、
     前記ワークフロー実行部は、
     前記ワークフロー定義情報に記述された命令文に従って、前記コンテンツの転送処理を実行する一方で、前記削除命令文を実行するタイミングで、前記キャッシュメモリから前記コンテンツを削除する
     ことを特徴とする請求項1に記載の計算機。
  4.  前記ワークフロー定義情報には、
     前記キャッシュメモリから前記コンテンツを読み出す予定回数が記述されており、
     前記ワークフロー実行部は、
     前記ワークフロー定義情報に記述された命令文に従って、前記コンテンツの転送処理を実行する一方で、前記コンテンツの転送処理実行時において前記キャッシュメモリから前記コンテンツを読み出した読出し回数が前記予定回数以上となったタイミングで、前記キャッシュメモリから前記コンテンツを削除する
     ことを特徴とする請求項1に記載の計算機。
  5.  前記ワークフロー実行部は、
     前記ワークフロー定義情報に記述された命令文を実行に先立ってあらかじめ解釈することにより最後に前記キャッシュメモリから前記コンテンツを読み出して利用する命令文を最終利用命令文として検出した後、前記ワークフロー定義情報に記述された命令文に従って、前記キャッシュメモリに格納した前記コンテンツの転送処理を実行する一方で、前記最終利用命令文を実行したタイミングで、前記キャッシュメモリから前記コンテンツを削除する
     ことを特徴とする請求項1に記載の計算機。
  6.  前記ワークフロー実行部は、
     前記最終利用命令文に最終利用フラグを設定し、前記ワークフロー定義情報に記述された命令文を実行した際に前記最終利用フラグが設定されているか否かを判断し、前記最終利用フラグが設定されている場合、実行した命令文は前記最終利用命令文であるものと判断して、前記最終利用命令文を実行したタイミングで、前記キャッシュメモリから前記コンテンツを削除する
     ことを特徴とする請求項5に記載の計算機。
  7.  外部からコンテンツを収集するコンテンツ収集部と、
     収集した前記コンテンツからメタデータを抽出するメタデータ抽出部と、
     外部からの要求に応じて前記メタデータを検索するメタデータ検索部と、
     命令文が記述されたワークフロー定義情報を管理するワークフロー管理部と、
     前記コンテンツ収集部、前記メタデータ抽出部、前記メタデータ検索部及び前記ワークフロー管理部のそれぞれと通信可能に接続され、前記コンテンツの転送処理を制御するワークフロー実行部と、
     前記ワークフロー実行部と通信可能に接続されるキャッシュメモリと、
     前記キャッシュメモリと通信可能に接続され、前記キャッシュメモリから転送された前記コンテンツを格納するコンテンツ格納部とを備え、
     前記ワークフロー実行部は、
     前記ワークフロー管理部から前記ワークフロー定義情報を取得し、取得した前記ワークフロー定義情報に記述された命令文に従って、前記コンテンツ収集部から前記コンテンツを取得し、取得した前記コンテンツを前記キャッシュメモリに格納し、前記メタデータ抽出部及び前記コンテンツ格納部に転送し、前記メタデータ抽出部により抽出された前記メタデータを前記メタデータ検索部に転送する転送処理を実行する一方で、前記ワークフローの実行に際して前記コンテンツを読み出すことがなくなったタイミングで、前記キャッシュメモリから前記コンテンツを削除する
     ことを特徴とする計算機システム。
  8.  キャッシュメモリ制御方法において、
     キャッシュメモリに接続されたワークフロー実行部が、
     予め作成されたワークフロー定義情報を取得する第1のステップと、
     取得したワークフロー定義情報に記述されている命令文に従って、前記コンテンツの転送処理を実行する一方で、前記ワークフローの実行に際して前記コンテンツを読み出すことがなくなったタイミングで、前記キャッシュメモリから前記コンテンツを削除する第2のステップとを備える
     ことを特徴とするキャッシュメモリ制御方法。
  9.  前記第2のステップにおいて、
     前記ワークフロー実行部が、前記ワークフロー定義情報に記述された命令文の全ての処理が完了したタイミングで、前記キャッシュメモリから前記コンテンツを削除する
     ことを特徴とする請求項8に記載のキャッシュメモリ制御方法。
  10.  前記ワークフロー定義情報には、
     前記コンテンツを削除することを命令する削除命令文が記述されており、
     前記第2のステップにおいて、
     前記ワークフロー実行部が、前記ワークフロー定義情報に記述された命令文に従って、前記コンテンツの転送処理を実行する一方で、前記削除命令文を実行するタイミングで、前記キャッシュメモリから前記コンテンツを削除する
     ことを特徴とする請求項8に記載のキャッシュメモリ制御方法。
  11.  前記ワークフロー定義情報には、
     前記キャッシュメモリから前記コンテンツを読み出す予定回数が記述されており、
     前記第2のステップにおいて、
     前記ワークフロー実行部が、前記ワークフロー定義情報に記述された命令文に従って、前記コンテンツの転送処理を実行する一方で、前記コンテンツの転送処理実行時において前記キャッシュメモリから前記コンテンツを読み出した読出し回数が前記予定回数以上となったタイミングで、前記キャッシュメモリから前記コンテンツを削除する
     ことを特徴とする請求項8に記載のキャッシュメモリ制御方法。
  12.  前記第2のステップにおいて、
     前記ワークフロー実行部が、前記ワークフロー定義情報に記述された命令文を実行に先立ってあらかじめ解釈することにより最後に前記キャッシュメモリから前記コンテンツを読み出して利用する命令文を最終利用命令文として検出した後、前記ワークフロー定義情報に記述された命令文に従って、前記キャッシュメモリに格納した前記コンテンツの転送処理を実行する一方で、前記最終利用命令文を実行したタイミングで、前記キャッシュメモリから前記コンテンツを削除する
     ことを特徴とする請求項8に記載のキャッシュメモリ制御方法。
  13.  前記第2のステップにおいて、
     前記ワークフロー実行部が、前記最終利用命令文に最終利用フラグを設定し、前記ワークフロー定義情報に記述された命令文を実行した際に前記最終利用フラグが設定されているか否かを判断し、前記最終利用フラグが設定されている場合、実行した命令文は前記最終利用命令文であるものと判断して、前記最終利用命令文を実行したタイミングで、前記キャッシュメモリから前記コンテンツを削除する
     ことを特徴とする請求項12に記載のキャッシュメモリ制御方法。
  14.  前記ワークフロー実行部は、
     外部からコンテンツを収集するコンテンツ収集部と、
     収集した前記コンテンツからメタデータを抽出するメタデータ抽出部と、
     外部からの要求に応じて前記メタデータを検索するメタデータ検索部と、
     命令文が記述されたワークフロー定義情報を管理するワークフロー管理部とのそれぞれと通信可能に接続されており、
     前記キャッシュメモリは、
     前記キャッシュメモリから転送された前記コンテンツを格納するコンテンツ格納部と通信可能に接続されており、
     前記第1のステップにおいて、
     前記ワークフロー実行部が、前記ワークフロー管理部から前記ワークフロー定義情報を取得し、
     前記第2のステップにおいて、
     前記ワークフロー実行部が、取得した前記ワークフロー定義情報に記述された命令文に従って、前記コンテンツ収集部から前記コンテンツを取得し、取得した前記コンテンツを前記キャッシュメモリに格納し、前記メタデータ抽出部及び前記コンテンツ格納部に転送し、前記メタデータ抽出部により抽出された前記メタデータを前記メタデータ検索部に転送する転送処理を実行する一方で、前記ワークフローの実行に際して前記コンテンツを読み出すことがなくなったタイミングで、前記キャッシュメモリから前記コンテンツを削除する
     ことを特徴とする請求項8に記載のキャッシュメモリ制御方法。
PCT/JP2013/061281 2013-04-16 2013-04-16 計算機、計算機システム及びキャッシュ制御方法 WO2014170953A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/061281 WO2014170953A1 (ja) 2013-04-16 2013-04-16 計算機、計算機システム及びキャッシュ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/061281 WO2014170953A1 (ja) 2013-04-16 2013-04-16 計算機、計算機システム及びキャッシュ制御方法

Publications (1)

Publication Number Publication Date
WO2014170953A1 true WO2014170953A1 (ja) 2014-10-23

Family

ID=51730926

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/061281 WO2014170953A1 (ja) 2013-04-16 2013-04-16 計算機、計算機システム及びキャッシュ制御方法

Country Status (1)

Country Link
WO (1) WO2014170953A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021533447A (ja) * 2018-07-31 2021-12-02 マーベル ワールド トレード リミテッド メタデータ計算エンジンを備えるストレージエッジコントローラ

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0883204A (ja) * 1994-09-14 1996-03-26 Hitachi Ltd ファイルサーバ
JPH11312203A (ja) * 1998-04-30 1999-11-09 Toshiba Corp ワークフロー管理システムおよび情報先取り制御方法
JP2006185117A (ja) * 2004-12-27 2006-07-13 Canon Software Inc ワークフローシステムおよびワークフローシステムの管理方法およびプログラムおよび記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0883204A (ja) * 1994-09-14 1996-03-26 Hitachi Ltd ファイルサーバ
JPH11312203A (ja) * 1998-04-30 1999-11-09 Toshiba Corp ワークフロー管理システムおよび情報先取り制御方法
JP2006185117A (ja) * 2004-12-27 2006-07-13 Canon Software Inc ワークフローシステムおよびワークフローシステムの管理方法およびプログラムおよび記録媒体

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021533447A (ja) * 2018-07-31 2021-12-02 マーベル ワールド トレード リミテッド メタデータ計算エンジンを備えるストレージエッジコントローラ
US11727064B2 (en) 2018-07-31 2023-08-15 Marvell Asia Pte Ltd Performing computations during idle periods at the storage edge
US11734363B2 (en) 2018-07-31 2023-08-22 Marvell Asia Pte, Ltd. Storage edge controller with a metadata computational engine
US11748418B2 (en) 2018-07-31 2023-09-05 Marvell Asia Pte, Ltd. Storage aggregator controller with metadata computation control

Similar Documents

Publication Publication Date Title
US11119678B2 (en) Transactional operations in multi-master distributed data management systems
US10509739B1 (en) Optimized read IO for mix read/write scenario by chunking write IOs
US9977718B1 (en) System and method for smart throttling mechanisms for virtual backup appliances
CN106164884B (zh) 具有嵌入式软件的数据存储设备
US8762456B1 (en) Generating prefetching profiles for prefetching data in a cloud based file system
US10346076B1 (en) Method and system for data deduplication based on load information associated with different phases in a data deduplication pipeline
US9607004B2 (en) Storage device data migration
US10649852B1 (en) Index metadata for inode based backups
US10719245B1 (en) Transactional IO scheduler for storage systems with multiple storage devices
US11194727B2 (en) Increased parallelization efficiency in tiering environments
US8732355B1 (en) Dynamic data prefetching
US10838944B2 (en) System and method for maintaining a multi-level data structure
US10592123B1 (en) Policy driven IO scheduler to improve write IO performance in hybrid storage systems
US20120109987A1 (en) Remote file sharing based on content filtering
US11003543B2 (en) Generic metadata tags with namespace-specific semantics in a storage appliance
JP2009145967A (ja) バックアップ装置及び方法並びにファイル読出し装置
US10216630B1 (en) Smart namespace SSD cache warmup for storage systems
US10261722B2 (en) Performing caching utilizing dispersed system buffers
WO2014170953A1 (ja) 計算機、計算機システム及びキャッシュ制御方法
US20140258347A1 (en) Grouping files for optimized file operations
US10599340B1 (en) Policy driven IO scheduler to improve read IO performance in hybrid storage systems
US20170286442A1 (en) File system support for file-level ghosting
US11010332B2 (en) Set-based mutual exclusion using object metadata tags in a storage appliance
US11340999B2 (en) Fast restoration method from inode based backup to path based structure
US10585802B1 (en) Method and system for caching directories in a storage system

Legal Events

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

Ref document number: 13882190

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13882190

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP