[go: up one dir, main page]

WO2017126105A1 - Download system, communication device, download method, and computer program - Google Patents

Download system, communication device, download method, and computer program Download PDF

Info

Publication number
WO2017126105A1
WO2017126105A1 PCT/JP2016/051853 JP2016051853W WO2017126105A1 WO 2017126105 A1 WO2017126105 A1 WO 2017126105A1 JP 2016051853 W JP2016051853 W JP 2016051853W WO 2017126105 A1 WO2017126105 A1 WO 2017126105A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
data
areas
capacity
storage
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.)
Ceased
Application number
PCT/JP2016/051853
Other languages
French (fr)
Japanese (ja)
Inventor
英起 多田
祥平 糸山
光宏 新田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apcommunications Co Ltd
Original Assignee
Apcommunications Co Ltd
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 Apcommunications Co Ltd filed Critical Apcommunications Co Ltd
Priority to JP2016530264A priority Critical patent/JP5976265B1/en
Priority to PCT/JP2016/051853 priority patent/WO2017126105A1/en
Publication of WO2017126105A1 publication Critical patent/WO2017126105A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Definitions

  • the present invention relates to a download system, a communication device, a download method, and a computer program that can reduce the processing load on the server device side that records a file to be downloaded when the file is divided and downloaded.
  • a file stored in a server device such as a storage server is generally downloaded via a network.
  • the file to be downloaded has a large capacity, etc.
  • the file to be downloaded is generally divided and downloaded. In this case, the file is divided to reduce the time required for downloading.
  • the divided files are also downloaded by parallel processing.
  • Patent Document 1 a file server that stores an original file to be downloaded divides the original file into a plurality of files, and downloads each divided file to a client terminal in parallel through a plurality of data connections.
  • the terminal discloses that when the downloading of a plurality of files is completed, the original files are generated by combining the files.
  • Patent Document 2 discloses that a file stored in a file server is divided into a plurality of areas, and data transfer of the divided areas is performed in parallel.
  • Patent Document 3 discloses that data to be transmitted is divided when a server transfers data to a client.
  • Patent Document 4 discloses that the download server device divides a file to be downloaded into a plurality of sectors and transmits the positions of the files in each sector to a plurality of terminals in pairs with the sectors. Is done.
  • a system in which a plurality of storage servers are linked in a network to store a file has been conventionally used (for example, a system according to HSM (Hierarchical Storage Management) in which a plurality of storages are hierarchically provided)
  • a dummy file (or stub file) may be used.
  • the dummy file is a file with a reduced data capacity that does not include the actual data, and is generally stored in the first storage server (primary storage server) on the side that receives access from the user, and corresponds to the dummy file.
  • the actual file including the actual data is stored in the second storage server (secondary storage server) linked with the first storage server, thereby securing the free capacity of the first storage server.
  • Such a dummy file is often used for an image file having a large capacity.
  • the dummy file appears to the user accessing the primary storage server as if the original file was stored in the primary storage server, and when the primary storage receives a read request from the user, the actual file Therefore, the dummy file usually includes information indicating the storage location of the actual file, information indicating the size capacity of the actual file, and the like.
  • Patent Documents 5 and 6 Examples of processing for downloading an actual file using such a dummy file (stub file) are shown in Patent Documents 5 and 6 below.
  • Patent Document 7 when downloading a stored file, the file storage side divides the file to be downloaded into N pieces, the receiving apparatus generates a dummy file, and the file write area It is disclosed to ensure the above.
  • Japanese Patent Laid-Open No. 11-242640 Japanese Patent Laid-Open No. 11-15720 JP 2001-350683 A Japanese Patent Application Laid-Open No. 2004-287731 JP-A-8-314789 JP 2006-164211 A JP 2000-322309 A
  • Patent Documents 1 to 4 described above when a file to be downloaded is divided and transmitted, it is necessary to perform file division processing on a file transmission source device (such as a file server) that stores the file. In the original apparatus, there is a problem that a processing load is generated according to the file division processing. Further, as shown in Patent Document 7, when a dummy file is used and a file to be downloaded is divided, the file dividing process is also performed on the side of the file transmission source device that stores the file to be downloaded. A corresponding processing burden arises.
  • a file transmission source device such as a file server
  • the present invention has been made in view of such circumstances, and an apparatus on the side of receiving a file specifies a file as a plurality of areas and calls data included in each area, thereby allowing a file such as a file server to be It is an object of the present invention to provide a download system, a communication device, a download method, and a computer program that do not require a transmission source device to perform file division processing.
  • An object is to provide a download method and a computer program.
  • a download system is a download system comprising a server device and a communication device for downloading a file stored in the server device, wherein the communication device has a capacity of a file to be downloaded.
  • the communication device further includes means for specifying a plurality of areas for dividing the file to be downloaded based on the capacity of the file notified by the notification information when receiving the notification information, and a plurality of specified areas.
  • a means for generating a storage file containing a plurality of corresponding storage areas, and a file to be downloaded Means for performing a process of transmitting request information for requesting data to the server device so as to simultaneously download the data included in each of the plurality of areas according to the simultaneously processable number
  • the server device comprising: Further, when the request information is received, the communication device includes means for performing processing for simultaneously transmitting the data included in each of the plurality of areas in the file to be downloaded to the communication device according to the simultaneously processable number, The apparatus further includes means for storing each received data in each storage area of the storage file corresponding to each area in which each received data is received when each data is received. It is characterized by providing.
  • the download system includes a communication device that stores a dummy file and a server device that stores a real file corresponding to the dummy file, and the dummy file has a file capacity compared to the real file.
  • the communication device downloads the actual file from the server device, the communication device includes the actual information indicated by the capacity information included in the dummy file.
  • a means for storing each received data in each storage area of the dummy file corresponding to each included area is provided.
  • the communication apparatus includes a means for performing processing for transmitting confirmation information for confirming a capacity of a file to be downloaded to an external server apparatus in a communication apparatus for downloading a file stored in the external server apparatus, and a confirmation
  • a plurality of areas for dividing the file to be downloaded are specified based on the file size notified by the notification information
  • the process of transmitting the request information for requesting data to an external server device In response to the transmission of the request information, when each data is received from an external server device, each received data is stored in each storage area of the storage file corresponding to each area in which each received data is included. And means for performing processing for storing each of the data.
  • a communication device stores a dummy file and downloads a real file corresponding to the dummy file from an external server device.
  • the dummy file has a file capacity compared to the real file.
  • the communication apparatus includes means for generating the same number of threads that can be processed simultaneously, transmits request information for each generated thread, and receives data for each generated thread. It is characterized by that. Further, the communication device according to the present invention is configured such that a thread for transmitting a plurality of request information is generated when the number of the plurality of specified areas exceeds the simultaneously processable number, and each of the plurality of request information Is characterized by requesting data contained in different areas. Furthermore, in the communication apparatus according to the present invention, when the number of the plurality of specified areas exceeds the number of simultaneously processable threads, a thread for transmitting request information for requesting data included in the plurality of different areas is generated. It is characterized by that.
  • the means for specifying the plurality of areas is configured to specify a plurality of areas based on a file capacity and a division size, and the means for receiving a numerical value related to the division size is received.
  • the communication apparatus according to the present invention is characterized in that the request information includes information for designating a position range related to the specified area.
  • the download method includes a step of performing a process of transmitting confirmation information for confirming a capacity of a file to be downloaded to the external server device in the download method in which the communication device downloads the file from the external server device.
  • confirmation information for confirming a capacity of a file to be downloaded to the external server device in the download method in which the communication device downloads the file from the external server device.
  • notification information for notifying the file size is received from an external server device, a plurality of areas for dividing the file to be downloaded are divided based on the file size notified by the notification information.
  • a step of specifying a step of generating a storage file including a plurality of storage areas corresponding to the plurality of specified areas, and data included in each of the plurality of areas in the file to be downloaded simultaneously according to the number of simultaneously processable Request information requesting data externally to be downloaded to
  • each data is received from the external server device in response to the transmission of the request information and the step of transmitting to the server device, each of the storage file corresponding to each area in which each data was included
  • a step of performing a process of storing each received data in the storage area is performed.
  • the download method is a download method in which a communication device that stores a dummy file downloads an actual file corresponding to the dummy file from an external server device. Specifying a plurality of areas having a small capacity and including capacity information indicating the capacity of the actual file, and dividing the actual file based on the capacity of the actual file indicated by the capacity information included in the dummy file; The step of expanding the capacity of the dummy file so as to include a plurality of storage areas corresponding to a plurality of areas, and simultaneously downloading the data included in each of the plurality of areas in the real file according to the simultaneously processable number Request information to request data from an external server When each data is received from an external server device in response to the transmission of the request information and the step of transmitting to the device, the dummy file corresponding to each area in which each received data is included And a step of storing each received data in each storage area.
  • a computer program is a computer program for causing a computer having a communication function to perform processing of downloading a file from an external server device.
  • the computer program includes confirmation information for confirming a capacity of a file to be downloaded.
  • the notification information for notifying the file size is received from the external server device in response to the transmission of the confirmation information and the step of transmitting to the external server device, the file capacity notified by the notification information
  • a step of identifying a plurality of areas into which the file to be downloaded is divided, a step of generating a storage file including a plurality of storage areas corresponding to the plurality of identified areas, and the plurality of areas in the file to be downloaded
  • Data contained in each can be processed simultaneously
  • a computer program according to the present invention is a computer program for causing a computer having a communication function and storing a dummy file to perform a process of downloading an actual file corresponding to the dummy file from an external server device. Includes capacity information indicating that the capacity of the file is smaller than that of the actual file and indicating the capacity of the actual file, and the actual file is stored in the computer based on the capacity of the actual file indicated by the capacity information included in the dummy file.
  • the number of data that can be processed simultaneously Therefore, the step of transmitting the request information for requesting data to the external server device so as to download simultaneously, and the reception when each data is received from the external server device in response to the transmission of the request information
  • the communication device when the communication device confirms the capacity of the file to be downloaded, a plurality of areas in the file to be downloaded are identified based on the confirmed capacity, and a plurality of areas corresponding to the plurality of identified areas are identified.
  • a storage file including a storage area is generated, and then, for the file to be downloaded, request information is transmitted to the server device in order to simultaneously call (read) data corresponding to the plurality of specified areas.
  • the communication device can obtain the file to be downloaded.
  • the server device that stores the file to be downloaded simply sends data corresponding to the request information to the communication device in response to the request information from the communication device, so the file is not divided.
  • the processing load on the server device side does not increase as compared with the conventional file division processing.
  • the communication device specifies a plurality of areas in the actual file stored in the server device based on the capacity information included in the dummy file, and a plurality of storage areas corresponding to the specified plurality of areas
  • the dummy file is expanded to include The data is downloaded in parallel and stored in each storage area of the dummy file, so that the actual file can be obtained by the communication device.
  • the server device that stores the actual file simply sends the data corresponding to the request information to the communication device in response to the request information from the communication device, so the file is not divided, so the dummy file Even in the case where is used, the processing load on the server device side does not increase as compared with the conventional file division processing.
  • the number of threads corresponding to the number that can be processed simultaneously is generated, and the request information is transmitted and the data is received for each thread. Can be downloaded simultaneously.
  • a thread means an execution unit of program processing corresponding to parallel processing.
  • it is virtually generated as an execution unit for simultaneous processing. Yes.
  • the present invention when the number of the specified plurality of areas exceeds the simultaneously processable number, it is not possible to call all the data corresponding to the plurality of areas in one simultaneous process.
  • a thread that sends request information such a thread can repeat the simultaneous processing and receive all the data, and a large-capacity file (actual file) that exceeds the number that can be processed simultaneously Even so, it can be reliably downloaded using the present invention.
  • the request information is transmitted once, and the data contained in different areas is downloaded sequentially, exceeding the number that can be processed simultaneously without sending the request information multiple times for each thread.
  • a file with a capacity can be downloaded reliably.
  • a numerical value related to the division size is received and the received numerical value is set as the division size.
  • the division size can be set appropriately, and the area range for dividing the file (including the actual file) can be changed accordingly. This ensures a flexible download situation.
  • the server apparatus side since the information specifying the position range of the specified area is included in the request information, the data included in the area in the file to be downloaded (or actual file) can be reliably called, The server apparatus side also reads data from the area in which the position range is designated, so that reliable data reading can be performed.
  • the communication device calls the data corresponding to a plurality of areas in the file to be downloaded from the server device simultaneously, downloads the plurality of data in parallel, and stores each of the generated storage files Since the file is stored in the area, the server device storing the file to be downloaded only reads and transmits the file according to the call from the communication device, and the processing burden associated with the conventional file division processing is reduced. Increase can be avoided.
  • the communication device calls the data corresponding to the plurality of areas in the real file corresponding to the dummy file from the server device, downloads the plurality of data in parallel, and expands the size. Since it is stored in each storage area of the dummy file, the server device side that stores the actual file only performs the file reading and transmission processing in response to the call from the communication device, even when the dummy file is used. Thus, it is possible to avoid an increase in the processing burden associated with the conventional file division process, and to effectively use the dummy file and obtain the original real file with the communication device.
  • the number of threads corresponding to the number that can be processed simultaneously is generated, and request information is transmitted and data is received for each thread. Therefore, it is possible to reliably download a plurality of data in units of threads. Can process. Further, in the present invention, when the number of the specified plurality of areas exceeds the simultaneously processable number, a thread that performs transmission of request information multiple times is generated, so that the simultaneous processing is repeated and all the processes are performed. Data can be received, so even large files (actual files) can be downloaded reliably. Furthermore, in the present invention, when the number of the specified plurality of areas exceeds the simultaneously processable number, a thread for transmitting request information for requesting data included in the plurality of different areas is generated.
  • the request information can be transmitted once, and the data contained in the different areas can be downloaded sequentially, and with the efficient transmission of request information, a large-capacity file exceeding the number that can be processed simultaneously (actual file) ) Can be downloaded reliably.
  • the server device side can cope with the download process by a general read process of reading data included in the area in which the position range is designated.
  • (A) is a schematic diagram showing a state in which data is called in parallel processing
  • (b) is a schematic diagram showing a state in which data is downloaded in parallel processing
  • (c) is a diagram showing each storage area of a storage file for downloaded data. It is the schematic which shows the state stored. It is the schematic which shows the area
  • FIG. 6 is a schematic diagram showing a case where the number of file division areas is increased.
  • A) is a schematic diagram showing a state in which the number of divided areas of a file exceeds the number of generated threads, and
  • (b) is a time chart showing a case where the simultaneous download process is performed twice.
  • FIG. 1 shows an overall outline of a download system 1 according to the first embodiment of the present invention.
  • the download system 1 includes a primary storage server 10 (corresponding to a communication device) and a secondary storage server 20. (Corresponding to a server device).
  • the primary storage server 10 can communicate with the secondary storage server 20 through a network, and uses the secondary storage server 20 as a backup server for storing various files.
  • the primary storage server 10 of the present embodiment includes a primary storage 11 (first storage device) that has a high read / write speed but a small storage capacity as a storage device, while the secondary storage server 20 has a read / write speed compared to the primary storage 11. Is provided with a secondary storage 21 (second storage device) that is slow but has a large storage capacity. In order to store the file stored in the primary storage 11 in the secondary storage 21, it is transmitted to the secondary storage server 20, The primary storage server 10 performs a process for securing the storage capacity of the primary storage 11 by moving the file stored in the storage 11.
  • the primary storage server 10 can receive access from the external user terminal 40 used by a general user or the like via the network, and when a request for a file moved to the secondary storage 21 is received from the user terminal 40.
  • the primary storage server 10 performs processing for downloading the target file from the secondary storage server 20.
  • the file which is a feature of the present invention, is divided into a plurality of data and simultaneously in time division (time At the same time, the download system 1 performs the download process.
  • FIGS. 2A to 2C show an outline of a process for downloading a plurality of data constituting a file, which is a feature of the present invention, and the file 15 stored in the secondary storage 20 is downloaded to the primary storage server 10. It represents the flow of situations.
  • the primary storage server 10 generates the storage file 5 corresponding to the file 15 to be downloaded, and simultaneously (parallelly) the file 15 to be downloaded in a time division manner.
  • the first thread 14a to the fourth thread 14d for downloading are established (generated), and request information for requesting data is transmitted to each of the threads 14a to 14d, thereby the first area of the file 15 to be downloaded.
  • 15a to the fourth area 15d (refer to FIG. 3) are processed to call data simultaneously (simultaneously) in time.
  • the secondary storage server 20 receives the request information corresponding to the data call included in each of the areas 15a to 15d of the file 15, the data 150a to 150d is read from each of the areas 15a to 15d, and the read data 150a to 150d is transmitted to the primary storage server 10 through the threads 14a to 14d used in the call.
  • the process of transmitting the data to be called to the caller apparatus in response to such a data call is a general process for the server apparatus.
  • the primary storage server 10 when the primary storage server 10 receives the data 150a to 150d sent from the secondary storage server 20 for each of the first thread 14a to the fourth thread 14d, The data 150a to 150d are stored in storage areas (first storage area 15a to fourth storage area 15d) corresponding to the respective data 150a to 150d in the storage file 5.
  • the storage file 5 has the same contents as the file 15 to be downloaded, and the storage file 5 having such contents can be used as the file 15.
  • the primary storage server 10 and the like constituting the download system 1 that performs the above processing will be described in detail.
  • FIG. 4 shows the main internal configuration of the primary storage server 10 (communication device).
  • a server computer is applied to the primary storage server 10 of the present embodiment, and various devices and the like are connected to the MPU 10a that performs overall control and various processes by an internal connection line 10h.
  • the communication module 10b is a communication device corresponding to a network connection module and conforms to a required communication standard (for example, a LAN module).
  • the communication module 10b is connected to the network via a required communication device (not shown, for example, a router or the like), enables communication with the secondary storage server 20, and the user terminal 40 outside the system. Communication with is also possible.
  • the RAM 10c temporarily stores contents and files associated with the processing of the MPU 10a
  • the ROM 10d stores programs and the like that define the basic processing contents of the MPU 10a.
  • the input interface 10e is connected to a keyboard 10i, a mouse, and the like for receiving an operation instruction from a system administrator or the like, and transmits the operation instruction received from the system administrator or the like of the primary storage server 10 to the MPU 10a.
  • the output interface 10f is connected to a display 10j (display output device), and outputs contents associated with the processing of the MPU 10a to the display 10j so that a system administrator or the like can check the current processing contents. .
  • the storage unit 10g stores programs and the like. Specifically, the storage unit 10g stores various programs such as a server program P1 and a processing program P2, and also sets a division threshold f1 and a setting value used in a file download process. The division size f2 and the like are also stored. Note that the division threshold f1 and the division size f2 are set to initial values by default, and the division threshold f1 is set to 300 MB (megabyte, the same applies hereinafter), and the division size f2 is set to 100 MB, for example, as default initial values. (Each value is an example).
  • the server program P1 stored in the storage unit 10g defines various processes according to the operating system for the server computer.
  • the MPU 10a performs processes based on the specified contents, whereby the primary storage server 10 Serves as a server computer.
  • the processing program P2 is a computer program that defines that the MPU 10a controls various processes of the download method according to the present invention.
  • the content of control processing performed by the primary storage server 10 is programmed.
  • Such a processing program P2 can be installed in the primary storage server 10 through a storage medium (for example, a storage disk such as a DVD) in which the processing program P2 is stored.
  • the MPU 10a performs various functions as the agent 12 by defining the control processing content of the MPU 10a with the program content of the processing program P2.
  • FIG. 5 shows a block diagram of functions performed by the MPU 10a as the agent 12, and the MPU 10a functions as means for performing the contents (1) to (7) in the figure.
  • Specific functions of the agent 12 include “(1) file capacity confirmation function”, “(2) file division determination function”, “(3) division area specifying function”, and “(4) thread generation function”. , “(5) storage file generation function”, “(6) data request function”, and “(7) data storage function”.
  • the “(1) file capacity confirmation function” is used to confirm the capacity of a file to be downloaded with the secondary storage server 20 when the primary storage server 10 determines to download a file stored in the secondary storage server 20. It is processing. Specifically, the MPU 10a sends confirmation information including an instruction (command or the like) for confirming and inquiring about the capacity of the download target file to the secondary storage server 20 together with information (file name or the like) specifying the download target file. It has a function corresponding to the process of performing transmission control.
  • “(2) File division determination function” receives notification information from the secondary storage server 20 in response to the transmission of the confirmation information, the file notified by the notification information is received.
  • the capacity is compared with the division threshold f1 stored in the storage unit 10g and the file capacity exceeds a set value (for example, 300 MB) of the division threshold f1, the file to be downloaded is divided. It is a function to identify. If the file capacity is equal to or less than the set value of the division threshold f1 (if it does not exceed), the primary storage server 10 will download the file from the secondary storage server 20 without dividing, and there is no such division.
  • the processing is the same as in the prior art, so details are not described.
  • the “(3) division area specifying function” is a process for specifying a plurality of areas into which the file 15 to be downloaded is divided based on the file capacity notified by the notification information.
  • the divided region is specified by the file capacity and the divided size f2.
  • a set value for example, 100 MB
  • the start byte and end byte of the area into which the file 15 to be downloaded is divided are set.
  • a plurality of methods are assumed as a method of specifying the area into which the file is divided. For example, in the file 15 to be downloaded, by dividing the file capacity by the division size f2, first, the file It is also possible to specify the position range of each area by specifying the number to divide all 15 areas and then adding the division size sequentially to the start byte of the file.
  • a lookup table that specifies the position range of the file division area is prepared (a table that specifies the start and end bytes from the first area to the Nth area (N is an integer of 2 or more), and the like. Based on the specified contents, it is also possible to make a specification for specifying a divided area of a file to be downloaded. Thus, when using a lookup table etc., use of division
  • “(4) Thread generation function” generates a thread so that processing corresponding to the number of areas specified for the file to be downloaded can be performed in parallel in a time-sharing manner (time sharing). (Established for parallel processing).
  • the upper limit of the number of threads to be generated is determined by the processing capacity of the CPU 40a, the capacity of the RAM 10c, and the like. In this embodiment, up to four threads can be generated. For this reason, when the number of divided areas of the file to be downloaded falls within the maximum number of threads that can be generated, this “(4) thread generation function” generates the same number of threads as the number of divided areas of the file.
  • the first area 15a to the fourth area 15d when the file 15 to be downloaded is divided into a total of four areas, the first area 15a to the fourth area 15d, the number of threads generated by “(4) thread generation function” is The number is equal to 4 as the number of divided regions (see FIG. 2A, etc.).
  • the first first thread 14a is set for processing with respect to the first area 15a of the file 15 by “(4) Thread generation function”.
  • the second second thread 14b is for processing the second area 15b
  • the third third thread 14c is for processing the third area 15c
  • the fourth fourth thread 14d is for processing the fourth area 15d. Is set.
  • the number of divided areas of the file to be downloaded is three, the number of threads to be generated is three. If the number of divided areas of the file to be downloaded is two, the number of threads to be generated is two. When the number of divided areas of the file to be downloaded exceeds the upper limit of the number of threads that can be generated (4 in the present embodiment), the number of threads to be generated becomes the upper limit of 4 (for example, the file to be downloaded) Even when the number of divided areas is six, the number of threads generated in the present embodiment remains four).
  • the number of threads (number of threads) generated in this way corresponds to the number that can be processed simultaneously in the download system 1, and the number (time that can be processed in parallel by time division between the primary storage server 10 and the secondary storage server 20. Thus, the number that can be processed at the same time) is equal to the number of threads.
  • the upper limit of the number of threads is set to 4 depending on the processing capacity of the CPU 40a and the capacity of the RAM 10c.
  • the upper limit of the number of threads can be generated when using the MPU 10a having a higher processing capacity, the RAM 10c having a larger capacity, It is also possible to increase the upper limit of the number of threads to more than 4 (for example, the number of threads can be 8 or 16, etc.).
  • the processing (downloading processing) of the generated thread 14a and the like is basically performed in the same time zone, but since the processing proceeds independently with each thread, the processing end time may not be the same period. is there.
  • the “(5) storage file generation function” is a function for generating a storage file for storing the downloaded file. With this function, the download target specified by the “(3) divided area specifying function” described above is used.
  • the storage file 5 (see FIG. 2A) having the first storage area 5a to the fourth storage area 5d corresponding to the first area 15a to the fourth area 15d of the file 15 is generated in the primary storage 11.
  • the correspondence relationship between the areas of both files is set by “(5) storage file generation function”. Specifically, the first storage area 5a of the storage file 5 corresponds to the first area 15a of the file 15 to be downloaded.
  • the second storage area 5a of the storage file 5 corresponds to the second area 15b of the file
  • the third storage area 5c of the storage file 5 corresponds to the third area 15c of the file
  • the fourth storage area 5d is set to correspond to the fourth area 15d of the file 15.
  • Such a storage file 5 has only storage areas 5a to 5d having the same size (same capacity) as the areas 15a to 15d of the file 15 to be downloaded. These storage areas 5a The contents of ⁇ 5d are empty at the time of generation.
  • the “(6) data request function” is configured to simultaneously execute data corresponding to each area in the file 15 by parallel processing according to the number of threads 14a to 14d generated by the above “(4) thread generation function”. It is a function to call. Note that performing parallel processing at the same time is because time-sharing processing is performed, strictly speaking, each processing is not simultaneous, and some time deviation is allowed. Therefore, the term “simultaneous” is used in the sense of including a slight time shift due to such time-sharing processing.
  • the specific content of the “(6) data request function” is a data call (so that data included in each of the areas 15a to 15d of the file 15 to be downloaded is downloaded simultaneously according to the simultaneously processable number ( This is a processing function for performing control for the MPU 10 to transmit request information for performing (request) to the secondary storage server 20.
  • request information is transmitted in parallel processing through each of the threads 14a to 14d, so that the number of simultaneous processing is simultaneous (in this case, the number of simultaneous processing is 4 which is the same as the number of threads).
  • Each request information includes information for specifying the position range of the area to be called in the file 15 to be downloaded, and an instruction for calling data included in the area of the specified position range.
  • the information specifying the position range of the area specifies the start byte (start position) and end byte (end position) in the area range specified by the “(3) division area specifying function” above. Thereby, it becomes possible to call up data included in the position range of the designated area.
  • “(7) Data storage function” indicates that data included in the first area 15a to the fourth area 15d is transmitted from the secondary storage server 20 in response to the transmission of the request information by “(6) Data request function” described above.
  • the data is downloaded through the threads 14a to 14d, the data is received, and the received data is stored in the storage areas 5a of the storage file 5 generated by the “(5) storage file generation function”. It becomes a function to store each in 5d.
  • the first data 150a included in the first area 15a is stored in the first storage area 5a corresponding to the first area 15a.
  • the second data 150b is stored in the second area 15a.
  • the third data 150c is stored in the third storage area 5c corresponding to the third area 15c
  • the fourth data 150d is stored in the fourth area 15d. It is stored in the corresponding fourth storage area 5d.
  • the storage status of these data 150a to 150d is as follows from the secondary storage server 20 to the first area 15a to the fourth area 15d of the file 15 to be downloaded through the threads 14a to 14d as shown in FIG.
  • Each of the included data 150a to 150d is downloaded to the primary storage server 10 in a time-sharing manner in parallel, and accordingly, in the storage file 5, the first storage area corresponding to each thread 14a to 14d
  • the storage processing of the data 150a to 150d in 5a to the fourth storage area 5d is also performed in parallel.
  • the secondary storage server 20 in the download system 1 will be described.
  • the communication module 20b to the output interface 20f are the same as the communication module 10b to the output interface 10f of the primary storage server 10 shown in FIG. 4, description thereof is omitted (the keyboard 20i connected to the input interface 20e and the output).
  • the display 20i connected to the interface 20f is the same as that of the primary storage server 10).
  • the storage unit 20g of the secondary storage server 20 stores a server program P5, a storage program P6, and the like.
  • the server program P5 defines various processes in accordance with the operating system for the server computer.
  • the server program P5 defines processes that are basically equivalent to the server program P1 of the primary storage server 10 shown in FIG.
  • the secondary storage server 20 functions as a server computer.
  • the storage program P6 defines the processing contents performed by the MPU 20a of the secondary storage server 20 in response to the various processes performed by the MPU 10a of the primary storage server 10 as the agent 12.
  • the storage program P6 The standard storage server process is specified.
  • the MPU 20a stores the inquiry target file in the secondary storage 21 based on the file name indicated in the confirmation information.
  • the storage program P6 specifies that the file capacity of the specified file (for example, the file 15) is specified as well as specifying from among those specified.
  • the storage program P6 also defines a process in which the MPU 20a generates notification information for notifying the specified file capacity as described above, and transmits the generated notification information to the device that has transmitted the confirmation information. ing.
  • the secondary storage server 20 only performs various processes based on the information from the primary storage server 10, and the process for specifying the areas 15a to 15d of the file 15 is also performed as shown in FIG. Since the processing is only performed by the server 10 and the secondary storage server 20 does not perform the process of specifying the area to divide the file, the processing load on the secondary storage server 20 is reduced as compared with the conventional file division download. .
  • the storage program P6 when the storage program P6 receives the request information corresponding to the data request (call) specifying the area in the file, the MPU 20a stores the data included in the file area specified by the request information in the secondary storage.
  • the process of reading out from 21 and transmitting the request information to the transmission source apparatus is defined.
  • the storage program P2 when a plurality of pieces of request information are received simultaneously (in parallel) in a time-sharing process through a plurality of threads, the storage program P2 reads and transmits the data described above based on each thread. It is stipulated that processing at the same time. Therefore, as shown in FIGS.
  • the primary storage server 10 (the agent 12 by the MPU 10a) sends confirmation information for confirming the file capacity to the secondary storage server 20 storing the file to be downloaded by the above-mentioned “(1) File capacity confirmation function”. Transmit (S1).
  • the secondary storage server 20 (MPU 20a) is initially in a stage of determining whether or not confirmation information has been received (S11). If it has not been received (S11: NO), the secondary storage server 20 (MPU 20a) is in a reception waiting state. When the information is received (S11: YES), the file to be confirmed is identified, the file capacity of the identified file is detected, and notification information for notifying the detected file capacity is generated to generate the primary storage server 10 (S12).
  • the primary storage server 10 is in a stage of determining whether or not the notification information from the secondary storage server 20 has been received in response to the transmission of the confirmation information in the stage of S1 (S2). (S2: NO), a state of waiting for reception, on the other hand, when the notification information is received (S2: YES), the file capacity notified by the received notification information by the “(2) file division determination function” described above,
  • the division threshold f1 stored in the storage unit 10g is compared, and it is determined whether or not the file capacity exceeds the division threshold f1 (S3).
  • the primary storage server 10 When the file capacity does not exceed the division threshold f1 (S3: NO), the primary storage server 10 performs a normal download process without dividing the file (this download process is the same as the conventional one, and will not be described in detail). . Further, when the file capacity exceeds the division threshold f1 (S3: YES), the primary storage server 10 uses the above-mentioned “(3) division area specifying function” to give the areas 15a to 15d (divided areas 15a-15d (divided) to be downloaded). 3) is specified (S4), and the above-described “(4) thread generation function” generates the first thread 14a to the fourth thread 14d (see FIG. 2A, etc.) based on the number of divided areas. (S5).
  • the primary storage server 10 stores the storage file 5 having the storage areas 5a to 5d corresponding to the areas 15a to 15d of the file 15 to be downloaded (see FIG. 2 (FIG. 2). a)) is generated (S6). It should be noted that the processing order of the process of S6 for generating the storage file 5 and the above-described process of S5 for thread generation can be interchanged.
  • the primary storage server 10 uses the above-described “(6) data request function” to store a plurality of data 150a to 150a included in each of the plurality of areas 15a to 15d in the file 15 to be downloaded.
  • Request information for requesting data is transmitted to the secondary storage server 20 via the threads 14a to 14d so as to call 150d simultaneously (S7).
  • the request information is transmitted according to the number of threads 14a to 14d (the number that can be processed simultaneously) (the number of request information transmitted simultaneously is the number of threads 14a to 14d).
  • the number of data called at a time is the same as the number of threads 14a to 14d.
  • the secondary storage server 20 is in a stage of determining whether or not the request information from the primary storage server 10 has been received in response to the transmission of the notification information in the stage of S12 (S13).
  • S13: NO a reception waiting state is entered.
  • the secondary storage server 20 stores the data 150a to 150d included in each of the plurality of areas 15a to 15d in the download target file 15 specified by the received request information.
  • a process of simultaneously transmitting to the primary storage server 10 through the threads 14a to 14d is performed (S14).
  • the number of data 150a to 150d transmitted simultaneously at the same time is the same as the number of threads 14a to 14d (the number depends on the number of threads). Further, when the secondary storage server 20 completes the transmission of the data 150a to 150d, the processing in the download method ends.
  • the primary storage server 10 receives the data 150a to 150d simultaneously through the threads 14a to 14d in response to the transmission of the request information in the step S7, and receives the received data 150a to 150d.
  • the storage processing is performed in the storage areas 5a to 5d of the storage file 5 corresponding to the areas 15a to 15d of the file 15 in which 150a to 150d were included (S8).
  • the first data 150a in the first area 15a is stored in the first storage area 5a
  • the second data 150b in the second area 15b is stored in the second storage.
  • the third data 150c in the third area 15c is stored in the third storage area 5c
  • the fourth data 150d in the fourth area 15d is stored in the fourth storage area 5d.
  • the primary storage server 10 determines whether or not the total data capacity of each data 150a to 150d is stored in comparison with the file capacity notified by the notification information (S9), and the total data capacity is not stored. If this is the case (S9: NO), the process returns to the step S8 to continue the data reception and storage process. If the total data capacity of each data 150a to 150d is stored (S9: YES), the process ends. .
  • the storage file 5 in a state where each data 150a to 150d is stored is configured by the data 150a to 150d.
  • the file 5 to be downloaded also includes the data 150a to 150d. Since the contents of the files are the same, the storage file 5 in which the data 150a to 150d are stored can be used as the download target file 15 (the download target file 15). Will be the same).
  • the processing via the threads 14a to 14d is started at the same time and most of the download processing is performed at the same time, but each thread 14a to 14d Since the processing is executed independently, even if the download target data capacity is the same, the download completion is not possible due to differences in the actual communication status (congestion level) during the download processing and the processing status related to each thread.
  • the timing may not be the same period and may vary from thread to thread (the download completion time may not be synchronized between threads).
  • FIG. 8A shows a menu screen 16 according to a modified example.
  • This menu screen 16 defaults the setting value of the division size f2 stored in the storage unit 10g of the primary storage server 10 shown in FIG. 4 described above. This is for changing the value from one value to another, and is provided as one of the functions of the processing program P2 that makes it possible to accept a numerical value related to the division size to be changed.
  • the menu screen 16 is displayed on the display 10j.
  • the menu screen 16 has a set value input field 16a, a selectable OK button 16b, and a return button 16c.
  • the primary storage server 10 (MPU) 10a has received the numerical value input in the set value input field 16a, and stores and sets the received numerical value as the division size f2 in the storage unit 10g.
  • the numerical value of the division size f2 stored in the storage unit 10g is used.
  • FIGS. 8B and 8C show that the area to be divided and the number of divisions are changed by changing the division size f2 as described above.
  • the file 15 to be downloaded is assumed to have a file capacity of 400 MB.
  • the division size f2 is initially 100 MB as in the above-described embodiment, Although divided into a total of four areas, the first area 15a to the fourth area 15d (see FIG. 3), when the division size f2 is changed to increase to 200 MB through the operation of the menu screen 16 described above,
  • the file 15 is divided into a total of two areas, a first area 15a ′ and a second area 15b ′ (see FIG. 8B).
  • the start address of the first area 15a ′ is 0 MB and the end address 199 MB
  • the start address of the second area 15b ′ is 200 MB and the end address 399 MB.
  • the start address of ′′ is 300 MB, the end address is 349 MB, the start address of the eighth area 15 h ′′ is 350 MB, and the end address is 399 MB.
  • an appropriate division size can be set according to the processing performance of each server 10, 20, communication specifications, changing communication environment, or the like. It can be set as appropriate, and a flexible download environment can be secured.
  • the change of the setting value is not limited to the division size f2, and the numerical value of the division threshold f1 stored in the storage unit 10g of the primary storage server 10 is also determined by a menu screen equivalent to the menu screen 16 described above. It is also possible for the system administrator to make appropriate changes.
  • FIG. 9A shows an outline of the download process when the file 35 to be downloaded is divided into a total of eight first areas 35a to eighth areas 35h, and the total number of threads generated is four.
  • the storage file 25 generated on the primary storage server 10 side has the same number of first storage areas 25a to 8h as the number of divided areas of the file 35 to be downloaded.
  • the download process (download method) is that the number of areas of the file 35 is eight with respect to the number of threads, and therefore, the simultaneous download process is performed twice for each thread. Become.
  • the second simultaneous download processing in the time chart of FIG. 9B includes each of the fifth area 35e to the eighth area 35h of the file 35.
  • the data 140e to 140h are downloaded from the secondary storage server 20 to the primary storage server 10 simultaneously in a time division manner according to the total of four threads 14a to 14d, and the downloaded data 140a to 140d are stored in the fifth storage file 25. It is stored in the storage area 25e to the eighth storage area 25h. As a result, all of the data 140a to 140h included in the areas 35a to 35h of the file 35 are downloaded to the primary storage server 10.
  • the second flowchart of FIG. 10 shows the processing procedure when the number of divisions of the file area to be downloaded exceeds the number of threads to be generated (processing of the download method) as shown in FIGS. 9 (a) and 9 (b). Content).
  • the processes of S21 to S26 of the primary storage server 10 in this second flowchart are basically the same as the processes of S1 to S6 in the first flowchart of FIG. 7, and the secondary storage server 20 in the second flowchart is also the same.
  • the processes of S41 and S42 are basically the same as the processes of S11 and S12 in the first flowchart of FIG.
  • the primary storage server 10 starts with the first area 35a to the fourth area 35d in the file 35 for each thread 14a to 14d.
  • the request information for requesting the data 140a to 140d included in each is transmitted to the secondary storage server 20.
  • the secondary storage server 20 determines whether or not the request information has been received (S43), if the request information has not been received (S43: NO), the secondary storage server 20 is in a reception waiting state, while receiving the request information. If this is the case (S43: YES), the data 140a to 140d included in the first area 35a to the fourth area 35d in the file 35 specified by the received request information are simultaneously transferred to the primary storage server through the threads 14a to 14d. 10 is transmitted (S44).
  • the primary storage server 10 receives the data 140a to 140d simultaneously through the threads 14a to 14d, and receives the received data 140a to 140d in the first file 35 in which the data 140a to 140d was included.
  • a process of storing in the first storage area 25a to the fourth storage area 25d of the storage file 25 corresponding to the area 35a to the fourth area 35d is performed (S28).
  • the primary storage server 10 determines whether or not all the data capacities of the data 140a to 140d called by the request information transmitted in the step S27 are stored, in the storage status of the first storage area 25a to the fourth storage area 25d. (S29), if the entire data capacity is not stored (S29: NO), the process returns to the step S28, and the data reception and storage processes are continued.
  • the primary storage server 10 stores the data in the storage file 25 as to whether or not all the data of the file 35 to be downloaded has been received. A determination is made based on the presence or absence of storage areas that have not been made (S30). At this stage, data is stored in the first storage area 25a to the fourth storage area 25d of the storage file 25, but no data is stored in the fifth storage area 25e to the sixth storage area 25h. The storage area in which no data is stored remains, and as a result, the primary storage server 10 determines that all data of the file has not been received (S30: NO), and returns the process to the stage of S27. .
  • the primary storage server 10 provides the request information for requesting the data 140e to 140h included in the remaining fifth area 35e to eighth area 35h in the file 35 for each thread 14a to 14d. Transmit to the storage server 20.
  • the secondary storage server 20 determines whether or not the request information has been received (S43), if the request information has not been received (S43: NO), the secondary storage server 20 enters a reception waiting state.
  • the information is received (S43: YES)
  • the data 140e to 140h included in the fifth area 35e to the eighth area 35h in the file 35 specified by the received request information are simultaneously transmitted through the threads 14a to 14d.
  • To the primary storage server 10 is performed (S44).
  • the primary storage server 10 When the primary storage server 10 receives the data 140e to 140h simultaneously through the threads 14a to 14d, the primary storage server 10 receives the received data 140e to 140h, and the fifth area of the file 35 in which the data 140e to 140h is included. Processing for storing in the fifth storage area 25e to the eighth storage area 25h of the storage file 25 corresponding to 35e to the eighth area 35h is performed (S28). Then, the primary storage server 10 determines whether or not all the data capacities of the data 140e to 140h for the amount called by the request information transmitted in the latest step S27 are stored in the fifth storage area 25e to the eighth storage area 25h. Judging from the storage status (S29), if the entire data capacity is not stored (S29: NO), the process returns to the step S28, and the data reception and storage processes are continued.
  • the primary storage server 10 determines again whether or not all data of the file 35 has been received (S30). At this stage, since data is stored in all of the first storage area 25a to the eighth storage area 25h of the storage file 25, it is determined that all data of the file 35 has been received (S30: YES).
  • the process from the first S27 to S43, S44, S28, S29, and S30 corresponds to the first simultaneous download process in the time chart of FIG.
  • the process from the second S27 to S43, S44, S28, S29, and S30 corresponds to the second simultaneous download process in the time chart of FIG. 9B.
  • the present invention can be applied even when the number of divisions of the file area to be downloaded exceeds the number of threads to be generated.
  • the download method concerning can be applied.
  • the example in which the number of divisions of the file area to be downloaded exceeds the number of generated threads is not limited to the case shown in FIG. 9A (the number of divided areas is 8 and the number of threads is 4). In other cases (for example, when the number of divided areas is 10 and the number of threads is 4, when the number of divided areas is 5 and the number of threads is 2, etc.), the processing can be similarly performed based on the second flowchart.
  • the number of divided areas to be downloaded is 6 and the number of threads to be generated is 4, two of the four threads send request information twice, and send them to different areas according to each request information. While the two included data are received, the remaining two of the four threads transmit one request information and receive one data according to the request information.
  • a thread that transmits a plurality of request information and a thread that transmits a single request information are generated, and the number of transmissions of request information (and the number of data receptions) between threads. ) May make a difference.
  • the number of simultaneous download processing repetitions may exceed two (for example, the number of divided areas is 10 and the number of threads is 4).
  • the number of divided areas to be downloaded is 8 and the number of threads to be generated is 4, each of the four threads transmits request information twice (see FIG. 9A).
  • the processing of each of the threads 14a to 14d is executed independently, so the completion time of the first simultaneous download process may not be the same period.
  • the second request information is transmitted at the stage of S27 so that the second request information is transmitted at any time as each thread 14a to 14d completes the first download process. Also good.
  • the contents of all data reception and storage in the determination step (S30) for proceeding to the second request information transmission step (S27) are determined for each thread.
  • the second thread 14b when the data 140b is stored in the second storage area 25b (S29: YES), the data is stored in the remaining sixth storage area 25f in S30. It is determined whether 140f is stored. If the data 140f is not stored (S30: NO), the process returns to S27, the second request information is transmitted, and the data 140f is stored (S30: YES). Then, the download process in the second thread 14b ends. Even in the third thread 14c, when the data 140c is stored in the third storage area 25c (S29: YES), it is determined in S30 whether the data 140g is stored in the remaining seventh storage area 25g, and the data 140g is stored in the third thread 14c. If not stored (S30: NO), the process returns to S27, the second request information is transmitted, and when the data 140g is stored (S30: YES), the download process in the third thread 14c is terminated.
  • the fourth thread 14d when the data 140d is stored in the fourth storage area 25d (S29: YES), it is determined in S30 whether the data 140h is stored in the remaining eighth storage area 25h. If 140h is not stored (S30: NO), the process returns to S27 and the second request information is transmitted. If data 140h is stored (S30: YES), the download process in the fourth thread 14c ends. It becomes. In such processing, there may be a difference in the end timing of the download processing in each of the threads 14a to 14d, but it is not necessary to wait for the processing of other threads, so that the processing time for each thread can be shortened. .
  • step S30 in the second flowchart it is determined whether or not a storage area in which data is not stored remains, and the request information is transmitted for the second and subsequent times in S27.
  • the determination in step S30 may be performed by counting the number of transmissions of request information and determining whether to return to step S27 depending on whether the required number of request information has been transmitted. That is, since the number of file divisions is determined by specifying the file division area in step S24 in FIG. 9, the number of transmissions of request information necessary for each thread is determined. Therefore, when request information is transmitted by each thread in the step S27, the number of transmissions is stored for each thread, and in the step S30, the stored number of transmissions of request information reaches the necessary number of transmissions. If not reached, the process returns to S27, and if reached, the download process in the thread may be terminated.
  • the request information transmitted via the first thread 14a requests the data 140a included in the first area 35a in the first simultaneous download and is included in the fifth area 35e in the second simultaneous download.
  • the request information to be transmitted through the second thread 14b including the instruction to request the data 140e is called the data 140b included in the second area 35b in the first simultaneous download and the second simultaneous download.
  • the request information to be transmitted via the third thread 14c includes an instruction to call the data 140f included in the sixth area 35f.
  • the request information to be transmitted via the fourth thread 14d includes an instruction to call the data 140c included in the third area 35c in the second download and the instruction to call the data 140g included in the seventh area 35g in the second simultaneous download.
  • the data 140d included in the fourth area 35d is called in the first simultaneous download
  • the instruction to call the data 140h included in the eighth area 35h is included in the second simultaneous download.
  • step S14 the secondary storage server 20 first performs data transmission by the first simultaneous download.
  • the first thread 14a transmits the data 140a included in the first area 35a, and the second thread.
  • the data 140b included in the second area 35b is transmitted at 14b
  • the data 140c included in the third area 35c is transmitted at the third thread 14c
  • the data 140d included in the fourth area 35d is transmitted at the fourth thread 14d.
  • step S8 the primary storage server 10 stores the data 140a transmitted from the secondary storage server 20 in the first storage area 25a of the storage file 25, and stores the data 140b in the second storage area 25b. 140c is stored in the third storage area 25c, and data 140d is stored in the fourth storage area 25d. Then, at the stage of S9, the primary storage server 10 determines whether or not the entire data capacity of the file 35 to be downloaded has been stored. If all the data has not been stored (S9: NO), the process continues to S8. Data is received and stored in stages.
  • the first thread 14a performs the second simultaneous download in the step S14 based on the instruction content of the request information sent in the step S7.
  • the data 140e included in the fifth area 35e is transmitted
  • the data 140f included in the sixth area 35f is transmitted by the second thread 14b
  • the data 140g included in the seventh area 35g is transmitted by the third thread 14c
  • the data The data 140h included in the eighth area 35h is transmitted by the four threads 14d.
  • the primary storage server 10 stores the transmitted data 140e in the fifth storage area 25e of the storage file 25 and stores the data 140f in the sixth storage area 25f in step S8 in the second simultaneous download. Then, the data 140g is stored in the seventh storage area 25g, the data 140h is stored in the eighth storage area 25h, and then it is determined in step S9 whether or not the entire data capacity of the download target file 35 has been stored. Then, since there is no free storage area of the storage file 25 in the second simultaneous download, it is determined that the entire data capacity has been stored (S9: YES), and the download process ends.
  • the data contained in a plurality of different areas may be changed depending on the relationship between the number of file divisions and the number of threads (the number of simultaneous processes).
  • a difference may occur between threads in the number of data requested by one piece of request information to be transmitted.
  • the processes of the respective threads 14a to 14d are executed independently, so that the first simultaneous download process is completed. Since the timing may not be the same period between threads, in such a case, the download process may be executed sequentially in succession with the completion of the simultaneous download process. Is preferred.
  • the secondary storage server 20 side sequentially transmits the data included in the plurality of areas specified by the received request information to the primary storage server 10, and the data of a certain area specified by the request information When transmission is completed, transmission of data in the next area specified by the request information is started. In this way, the download process is progressed sequentially for each thread, so that the download process may not be completed at the same time between threads, but overall the processing load is reduced and the processing time is shortened. The merit that can be achieved is generated.
  • the file download is performed between the server devices of the primary storage server 10 and the secondary storage server 20 shown in FIG. 1, but the object of the present invention is limited to the download between the server devices.
  • the present invention can be applied to a case where a file stored in the primary storage server 10 in FIG. 1 is downloaded to the user terminal 40.
  • the download system according to the present invention is configured by the primary storage server 10 (corresponding to the server apparatus) and the user terminal 40 (apparatus in the communication apparatus).
  • FIG. 11 is a block diagram showing a main configuration of the user terminal 40.
  • a communication terminal device capable of communicating with the primary storage server 10 and processing files can be applied.
  • a personal computer, a tablet, a smartphone or the like having a communication function can be used as the user terminal 40.
  • FIG. 11 shows a main configuration when a personal computer is used as the user terminal 40, but the basic configuration is the same as that of FIG. 11 even when a tablet, a smartphone, or the like is used as the user terminal 40.
  • the user terminal 40 is configured by connecting various devices and the like to the CPU 40a that performs overall control and various processes through an internal connection line 40h.
  • the various devices and the like include a communication module 40b, a RAM 40c, a ROM 40d, and an input interface. 40e, an output interface 40f, and a storage unit 40g.
  • the communication module 40b is a communication device corresponding to a connection module with a network, and conforms to a required communication standard (for example, a LAN module), and a required communication device (not shown; for example, a router or the like). By connecting to the network via the network, communication with the primary storage server 10 is enabled.
  • a required communication standard for example, a LAN module
  • a required communication device not shown; for example, a router or the like.
  • the RAM 40c temporarily stores contents, files, and the like accompanying the processing of the CPU 40a
  • the ROM 40d stores programs and the like that define the basic processing contents of the CPU 40a.
  • the input interface 40e is connected to a keyboard 40i, a mouse, and the like for receiving an operation instruction from the user, and transmits the operation instruction received from the user to the CPU 40a.
  • the output interface 40f is connected to the display 40j, and outputs the contents accompanying the processing of the CPU 40a to the display 40j so that the user can visually confirm the operation contents, the processing contents of the user terminal 40, and the like. .
  • the storage unit 40g is a storage device configured by an HDD (Hard Disk Drive) or SSD (Solid State Drive), and stores programs such as a basic program P20 and a terminal processing program P21, a division threshold f1, a division size f2, and the like.
  • the basic program P20 defines basic processing performed by the CPU 40a to cause the user terminal 40 to function as a computer.
  • the basic program P20 performs file management (file copy, movement, change, etc.). Functions, browser functions for browsing websites, and the like.
  • the terminal processing program P21 defines the same content as the content defined by the processing program P2 shown in FIG.
  • This terminal processing program P21 can be installed as an application program on the user terminal 40 via a storage medium (such as an optical disk) in addition to being installed on the user terminal 40 through communication download.
  • the contents are programmed to control processing to function as the agent 12 shown in FIG.
  • the storage file 45 generated by the CPU 40a as the agent storage file generation function is stored in the storage unit 40g according to the provisions of the terminal processing program P21 (see FIG. 11).
  • the division threshold f1 and the division size f2 stored in the storage unit 40g are the same as those stored in the primary storage server 10 illustrated in FIG.
  • the primary storage server 10 in the case of configuring the user terminal 40 and the download system has the same hardware configuration as that shown in FIG. 4, but the content stored in the storage unit 10g is the secondary storage server in FIG. Similarly to the server 20, the server program P5 and the storage program P6 are stored, and the primary storage 11 stores a file to be downloaded (for example, the file 15).
  • the file for example, the file 15 stored in the primary storage server 10 is processed by the same processing as that of the download system 1 described above. Can be downloaded to the user terminal 40. Note that the various modifications described above can be applied to the download system including the user terminal 40 and the primary storage server 10 as well.
  • FIG. 12 shows an overall outline of the download system 50 according to the second embodiment of the present invention.
  • the download system 50 according to the second embodiment is characterized by using a dummy file 55, and the download system according to the first embodiment shown in FIG.
  • various processes (such as file area division processing and simultaneous download processing of divided data) are also equivalent to those in the first embodiment. Components equivalent to those in the first embodiment will be described using the same reference numerals as those in the first embodiment.
  • the download system 50 is also configured by a primary storage server 10 (corresponding to a communication device) and a secondary storage server 20 (corresponding to a server device).
  • the primary storage server A dummy file 55 is stored in the primary storage 11 of the ten, and a real file 65 corresponding to the dummy file 55 is stored in the secondary storage 21 of the secondary storage server 20, and this real file 65 becomes a file to be downloaded. .
  • a dummy file is a file also called a stub file, and is presented as an original file to an external client terminal (for example, the user terminal 40 shown in FIG. 1) so as to replace the original file. It includes information that can identify itself as a dummy file, and reference information that is referred to when acquiring (downloading) the original file (corresponding to the real file 65) from the secondary storage 21. .
  • the reference information included in the dummy file includes information indicating the storage destination of the actual file 65 corresponding to the dummy file, information indicating the file capacity of the actual file 65, and the like.
  • the file capacity of the dummy file is smaller than that of the original file (actual file 65), thereby contributing to securing the free capacity of the primary storage 11.
  • Examples of actual files that can be replaced with dummy files include document data files, spreadsheet data files, and image data files generated by various application software. Image data files such as detailed photographs have a general data amount. Therefore, it is significant to replace the dummy file with a small amount of data by archiving.
  • the MPU 10a functions as an agent according to the specified contents of the processing program P2.
  • the dummy file 55 exists in the primary storage 11, Instead of generating the storage file 5 as described above, a pre-existing dummy file 55 is used as a storage file. Further, since the dummy file 55 includes information indicating the file capacity of the actual file 65 to be downloaded, the “(1) file capacity check function” in the agent 12 of the first embodiment is unnecessary.
  • the agent function of the CPU 40a of the second embodiment will be described based on the agent 12 (see FIG. 5) of the first embodiment.
  • the agent of the second embodiment uses the file capacity of the actual file 65 included in the dummy file 55 and the division threshold f1 stored in the storage unit 10g. And a function of determining whether or not the actual file 65 is divided. In addition, the agent of the second embodiment divides the real file 65 based on the file capacity of the real file 65 included in the dummy file 55, as in “(3) Divided area specifying function” of the first embodiment.
  • the agent of the second embodiment like the “(4) thread generation function” of the first embodiment, time-divides each data included in each area specified for the file to be downloaded (time sharing). In order to be able to download in parallel at the same time, it has a function to generate threads. Furthermore, the agent of the second embodiment expands the dummy file 55 to the same capacity as that of the real file 65 as a characteristic function (dummy file extension function) of the second embodiment, and specifies the divided area. By the function, it has a processing function for forming a plurality of storage areas respectively corresponding to the areas into which the real file 65 is divided.
  • the agent of the second embodiment like the “(6) Data request function” of the first embodiment, transmits the data included in each area corresponding to the real file 65 via the generated threads. In order to enable downloading according to the number that can be processed at the same time, it has a function of transmitting request information for requesting data to the secondary storage server 20. Finally, the agent of the second embodiment receives the data when the data of each area is downloaded from the secondary storage server 20 as in “(7) Data storage function” of the first embodiment. Each received data is stored in each storage area of the dummy file 55 corresponding to each area of the actual file 65 in which the data is included.
  • the processing of the secondary storage server 20 is almost the same as that of the first embodiment except that transmission of notification information is omitted. That is, when the secondary storage server 20 receives the request information corresponding to the data call specifying the area in the real file, the MPU 20a converts the data included in the real file area specified by the request information to the secondary storage. 21 and transmits the request information to the transmission source device. Also at this time, when receiving a plurality of request information simultaneously (in parallel) in a time-sharing process through a plurality of threads, the secondary storage server 20 reads and transmits the data described above in a time-sharing manner according to the threads. It will be processed simultaneously.
  • FIG. 13 shows a state obtained by each function of the agent of the second embodiment described above, and the real file 65 stored in the secondary storage server 20 is divided into the first area 65a to the fourth area 65d.
  • the dummy file 65 is expanded to include the first storage area 55a to the fourth storage area 55d.
  • a total of four first threads 74a to fourth threads 74d are generated (established).
  • FIG. 14 is a third flowchart showing a series of processing procedures in the download method of the download system 50 according to the second embodiment, which is based on the first flowchart of the first embodiment of FIG. In the flowchart 3, the process starts from the stage when it is determined to download the actual file 65.
  • the primary storage server 10 (agent by the MPU 10a) compares the file capacity of the real file 65 included in the reference information of the dummy file 55 with the division threshold f1 stored in the storage unit 10g, and the file capacity sets the division threshold f1. It is determined whether or not it exceeds (S50). When the file capacity does not exceed the division threshold f1 (S50: NO), the primary storage server 10 performs a normal download process. On the other hand, when the file capacity exceeds the division threshold f1 (S50: YES), the primary storage server 10 Specifies areas 65a to 65d (see FIG.
  • the primary storage server 10 expands the dummy file 55 according to the file size of the real file 65 of the reference information, and generates storage areas 55a to 55d corresponding to the areas 55a to 55d of the real file 55 (S53). Then, the primary storage server 10 transmits request information for requesting a plurality of data included in each of the plurality of areas 55a to 55d in the real file 55 to the secondary storage server 20 for each of the first thread 74a to the fourth thread 74d. (S54).
  • the secondary storage server 20 is in a stage of determining whether or not the request information from the primary storage server 10 has been received (S60), and if not received (S60: NO), the secondary storage server 20 enters a state of waiting for reception. On the other hand, when the request information is received (S60: YES), the secondary storage server 20 converts each of the data included in each of the plurality of areas 55a to 55d in the real file 55 specified by the received request information. A process of simultaneously transmitting to the primary storage server 10 through the threads 74a to 74d is performed (S61).
  • the primary storage server 10 When the primary storage server 10 receives the data simultaneously through the threads 74a to 74d in response to the transmission of the request information at the stage of S54, the received data is included in the received data.
  • the storage process is performed in the storage areas 65a to 65d of the dummy file 65 corresponding to the areas 65a to 65d of the real file 65 (S55). Then, the primary storage server 10 determines whether or not the total data capacity of each data is stored in comparison with the file capacity of the actual file 55 included in the reference information (S56), and the total data capacity is not stored. In the case (S56: NO), the process returns to the stage of S55 to continue the data reception and storage processing. When the entire data capacity is stored (S56: YES), the processing is terminated.
  • the second embodiment is the same as the first embodiment except as described above.
  • the primary storage server 10 since the already existing dummy file is used, the primary storage server 10 does not have to create a new storage file as in the first embodiment. There is an advantage that the processing load on the server 10 side can be reduced. Also in the second embodiment, various modifications described in the first embodiment can be applied.
  • the present invention is preferably used for the case where the file to be downloaded is divided and downloaded in parallel processing, so that the processing load on the server device storing the file to be downloaded can be reduced as compared with the conventional system. Is possible.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

[Problem] To reduce processing load on a server device which stores a file, when segmenting and downloading the file. [Solution] A primary storage server 10 carries out a call for data via threads 14a - 14d to a secondary storage server 20 which stores a file 15 to be downloaded, said data being included in a first region 15a through a fourth region 15d of the file 15. The secondary storage server 20 reads out data 150a - 150d from each of the regions 15a - 15d based on the call, and transmits said data to the primary storage server 10 via the threads 14a - 14d. The primary storage server 10 stores the each of the received instances of data 150a - 150d in a first storage region 15a through a fourth storage region 15d of a stored file 15.

Description

ダウンロードシステム、通信装置、ダウンロード方法、及びコンピュータプログラムDownload system, communication device, download method, and computer program

 本発明は、ファイルを分割してダウンロードする場合において、ダウンロード対象のファイルを記録するサーバ装置側の処理負担を低減できるようにしたダウンロードシステム、通信装置、ダウンロード方法、及びコンピュータプログラムに関する。 The present invention relates to a download system, a communication device, a download method, and a computer program that can reduce the processing load on the server device side that records a file to be downloaded when the file is divided and downloaded.

 従来、ストレージサーバ等のサーバ装置に記憶されたファイルを、ネットワークを介してダウンロードすることが一般的に行われている。また、ダウンロード対象のファイルが大容量であるときなどは、ダウンロード対象のファイルを分割してダウンロードすることも一般的に行われており、この際、ダウンロードに要する時間短縮のため、ファイルを分割し、分割した各ファイルを並列処理でダウンロードすることも行われている。 Conventionally, a file stored in a server device such as a storage server is generally downloaded via a network. In addition, when the file to be downloaded has a large capacity, etc., the file to be downloaded is generally divided and downloaded. In this case, the file is divided to reduce the time required for downloading. The divided files are also downloaded by parallel processing.

 特許文献1は、ダウンロード対象の元ファイルを記憶するファイルサーバが、元ファイルを複数のファイルに分割し、分割した各ファイルを、複数のデータコネクションを通じて、それぞれ並行的にクライアント端末へダウンロードし、クライアント端末は、複数のファイルのダウンロードが完了すると、それらのファイルを合成して、元ファイルを生成することを開示する。 In Patent Document 1, a file server that stores an original file to be downloaded divides the original file into a plurality of files, and downloads each divided file to a client terminal in parallel through a plurality of data connections. The terminal discloses that when the downloading of a plurality of files is completed, the original files are generated by combining the files.

 また、下記の特許文献2では、ファイルサーバに記憶するファイルを、複数の領域に分割し、分割した領域のデータ転送を並列に行うことが開示される。さらに、下記の特許文献3では、サーバがクライアントに対してデータを転送する際、送信するデータを分割することが開示される。さらにまた、下記の特許文献4では、ダウンロードサーバ装置が、ダウンロード対象のファイルを複数のセクタに分割し、各セクタのファイルにおける位置を、セクタと対にして、複数の端末へ送信することが開示される。 Also, the following Patent Document 2 discloses that a file stored in a file server is divided into a plurality of areas, and data transfer of the divided areas is performed in parallel. Furthermore, Patent Document 3 below discloses that data to be transmitted is divided when a server transfers data to a client. Furthermore, Patent Document 4 below discloses that the download server device divides a file to be downloaded into a plurality of sectors and transmits the positions of the files in each sector to a plurality of terminals in pairs with the sectors. Is done.

 一方、複数のストレージサーバをネットワークで連携してファイルを記憶するようにしたシステムが従来から使用されており(例えば、複数のストレージを階層的に設けたHSM(Hierarchical Storage Management)に応じたシステム等)、このようなシステム等では、ダミーファイル(又はスタブファイル)が用いられることがある。ダミーファイルは、実体となるデータを含まないデータ容量を小さくしたファイルであり、一般に、ユーザからのアクセスを受ける側となる第1ストレージサーバ(プライマリストレージサーバ)に記憶され、一方、ダミーファイルに対応した実体となるデータを含む実ファイルは、第1ストレージサーバと連携する第2ストレージサーバ(セカンダリストレージサーバ)に記憶し、それにより第1ストレージサーバの空き容量の確保する。このようなダミーファイルは、ファイル自体の容量が大きい画像ファイル等に対して使われることが多い。 On the other hand, a system in which a plurality of storage servers are linked in a network to store a file has been conventionally used (for example, a system according to HSM (Hierarchical Storage Management) in which a plurality of storages are hierarchically provided) In such a system, a dummy file (or stub file) may be used. The dummy file is a file with a reduced data capacity that does not include the actual data, and is generally stored in the first storage server (primary storage server) on the side that receives access from the user, and corresponds to the dummy file. The actual file including the actual data is stored in the second storage server (secondary storage server) linked with the first storage server, thereby securing the free capacity of the first storage server. Such a dummy file is often used for an image file having a large capacity.

 ダミーファイルは、プライマリストレージサーバへアクセスするユーザには、元のファイルがプライマリストレージサーバに記憶されているかのように見えており、元のファイルの読み出し要求をプライマリストレージがユーザから受けると、実ファイルをセカンダリストレージサーバからダウンロードする必要があるので、ダミーファイルには通常、実ファイルの記憶箇所を示す情報、及び実ファイルのサイズ容量を示す情報等が含まれている。 The dummy file appears to the user accessing the primary storage server as if the original file was stored in the primary storage server, and when the primary storage receives a read request from the user, the actual file Therefore, the dummy file usually includes information indicating the storage location of the actual file, information indicating the size capacity of the actual file, and the like.

 このようなダミーファイル(スタブファイル)を利用して、実ファイルをダウンロードする処理の例は、下記の特許文献5、6に示される。なお、下記の特許文献7では、記憶されているファイルをダウンロードするに当たり、ファイルの記憶側でダウンロード対象のファイルをN個に分割し、受信側の装置ではダミーファイルを生成し、ファイルの書き込み領域を確保すること等が開示される。 Examples of processing for downloading an actual file using such a dummy file (stub file) are shown in Patent Documents 5 and 6 below. In Patent Document 7 below, when downloading a stored file, the file storage side divides the file to be downloaded into N pieces, the receiving apparatus generates a dummy file, and the file write area It is disclosed to ensure the above.

特開平11-242640号公報Japanese Patent Laid-Open No. 11-242640 特開平11-15720号公報Japanese Patent Laid-Open No. 11-15720 特開2001-350683号公報JP 2001-350683 A 特開2004-287631号公報Japanese Patent Application Laid-Open No. 2004-287731 特開平8-314789号公報JP-A-8-314789 特開2006-164211号公報JP 2006-164211 A 特開2000-322309号公報JP 2000-322309 A

 上述した特許文献1~4では、ダウンロード対象のファイルを分割して送信するにあたり、ファイルの分割処理を、ファイルを記憶するファイル送信元の装置(ファイルサーバ等)で行う必要があるので、ファイル送信元の装置において、ファイルの分割処理に応じた処理負担が生じるという問題がある。また、特許文献7に示すように、ダミーファイルを用いた場合で、ダウンロード対象のファイルを分割するときも同様に、ダウンロード対象のファイルを記憶するファイル送信元の装置側に、ファイルの分割処理に応じた処理負担が生じる。 In Patent Documents 1 to 4 described above, when a file to be downloaded is divided and transmitted, it is necessary to perform file division processing on a file transmission source device (such as a file server) that stores the file. In the original apparatus, there is a problem that a processing load is generated according to the file division processing. Further, as shown in Patent Document 7, when a dummy file is used and a file to be downloaded is divided, the file dividing process is also performed on the side of the file transmission source device that stores the file to be downloaded. A corresponding processing burden arises.

 本発明は、斯かる事情に鑑みてなされたものであり、ファイルを受信する側の装置が、ファイルを複数の領域に特定し、各領域に含まれるデータを呼び出すことにより、ファイルサーバ等のファイル送信元の装置がファイルの分割処理を行わなくても済むようにしたダウンロードシステム、通信装置、ダウンロード方法、及びコンピュータプログラムを提供することを目的とする。 The present invention has been made in view of such circumstances, and an apparatus on the side of receiving a file specifies a file as a plurality of areas and calls data included in each area, thereby allowing a file such as a file server to be It is an object of the present invention to provide a download system, a communication device, a download method, and a computer program that do not require a transmission source device to perform file division processing.

 また、ダミーファイルに応じた実ファイルをダウンロードする場合に、その実ファイルを分割してダウンロードするときにも、実ファイルの提供側の装置が分割処理を行わずに済むようにしたダウンロードシステム、通信装置、ダウンロード方法、及びコンピュータプログラムを提供することを目的とする。 In addition, when downloading a real file corresponding to a dummy file, a download system and a communication device which do not require the device on the side of providing the real file to perform division processing when the real file is divided and downloaded. An object is to provide a download method and a computer program.

 上記課題を解決するために本発明に係るダウンロードシステムは、サーバ装置と、前記サーバ装置に記憶されるファイルをダウンロードする通信装置とを備えるダウンロードシステムにおいて、前記通信装置は、ダウンロード対象のファイルの容量を確認する確認情報を前記サーバ装置へ送信する処理を行う手段を備え、前記サーバ装置は、確認情報を受信した場合、ファイルの容量を通知する通知情報を前記通信装置へ送信する処理を行う手段を備え、前記通信装置は更に、通知情報を受信した場合、通知情報で通知されたファイルの容量に基づき、ダウンロード対象のファイルを分割する複数の領域を特定する手段と、特定した複数の領域に対応した複数の格納領域を含む格納ファイルを生成する手段と、ダウンロード対象のファイルにおける前記複数の領域にそれぞれ含まれるデータを同時的処理可能数に従って同時的にダウンロードするように、データを要求する要求情報を前記サーバ装置に送信する処理を行う手段とを備え、前記サーバ装置は更に、要求情報を受信した場合、ダウンロード対象のファイルにおける前記複数の領域にそれぞれ含まれるデータを、前記同時的処理可能数に従って同時的に前記通信装置へ送信する処理を行う手段を備え、前記通信装置は更に、各データを受信した場合、受信した各データのそれぞれが含まれていた各領域に対応する前記格納ファイルの各格納領域へ、受信した各データのそれぞれを格納する処理を行う手段を備えることを特徴とする。 In order to solve the above problems, a download system according to the present invention is a download system comprising a server device and a communication device for downloading a file stored in the server device, wherein the communication device has a capacity of a file to be downloaded. Means for transmitting confirmation information for confirming to the server device, and when the server device receives the confirmation information, the server device performs processing for transmitting notification information to notify the capacity of the file to the communication device. The communication device further includes means for specifying a plurality of areas for dividing the file to be downloaded based on the capacity of the file notified by the notification information when receiving the notification information, and a plurality of specified areas. A means for generating a storage file containing a plurality of corresponding storage areas, and a file to be downloaded Means for performing a process of transmitting request information for requesting data to the server device so as to simultaneously download the data included in each of the plurality of areas according to the simultaneously processable number, the server device comprising: Further, when the request information is received, the communication device includes means for performing processing for simultaneously transmitting the data included in each of the plurality of areas in the file to be downloaded to the communication device according to the simultaneously processable number, The apparatus further includes means for storing each received data in each storage area of the storage file corresponding to each area in which each received data is received when each data is received. It is characterized by providing.

 また、本発明に係るダウンロードシステムは、ダミーファイルを記憶する通信装置と、前記ダミーファイルに応じた実ファイルを記憶するサーバ装置とを備え、前記ダミーファイルは、前記実ファイルに比べてファイルの容量が小さく且つ前記実ファイルの容量を示す容量情報を含み、前記通信装置が前記サーバ装置から前記実ファイルをダウンロードするダウンロードシステムにおいて、前記通信装置は、前記ダミーファイルに含まれる容量情報が示す前記実ファイルの容量に基づき前記実ファイルを分割する複数の領域を特定する手段と、特定した複数の領域に対応した複数の格納領域を含むように、前記ダミーファイルの容量を拡張する手段と、前記実ファイルにおける前記複数の領域にそれぞれ含まれるデータを同時的処理可能数に従って同時的にダウンロードするように、データを要求する要求情報を前記サーバ装置に送信する処理を行う手段とを備え、前記サーバ装置は、要求情報を受信した場合、前記実ファイルにおける前記複数の領域にそれぞれ含まれるデータを、前記同時的処理可能数に従って同時的に前記通信装置へ送信する処理を行う手段を備え、前記通信装置は更に、各データを受信した場合、受信した各データのそれぞれが含まれていた各領域に対応する前記ダミーファイルの各格納領域へ、受信した各データのそれぞれを格納する処理を行う手段を備えることを特徴とする。 The download system according to the present invention includes a communication device that stores a dummy file and a server device that stores a real file corresponding to the dummy file, and the dummy file has a file capacity compared to the real file. In the download system in which the communication device downloads the actual file from the server device, the communication device includes the actual information indicated by the capacity information included in the dummy file. Means for identifying a plurality of areas into which the actual file is divided based on the capacity of the file; means for expanding the capacity of the dummy file so as to include a plurality of storage areas corresponding to the specified areas; Number of data that can be processed simultaneously in each of the multiple areas in the file Therefore, it comprises means for performing processing for transmitting request information for requesting data to the server device so as to be downloaded simultaneously, and when the server device receives the request information, the plurality of areas in the real file Means for simultaneously transmitting the data included in each of the data to the communication device according to the simultaneously processable number, and the communication device further receives each data when each data is received. A means for storing each received data in each storage area of the dummy file corresponding to each included area is provided.

 本発明に係る通信装置は、外部のサーバ装置が記憶するファイルをダウンロードする通信装置において、ダウンロード対象のファイルの容量を確認する確認情報を、外部のサーバ装置へ送信する処理を行う手段と、確認情報の送信に応じて、ファイルの容量を通知する通知情報を外部のサーバ装置から受信した場合、通知情報で通知されたファイルの容量に基づき、ダウンロード対象のファイルを分割する複数の領域を特定する手段と、特定した複数の領域に対応した複数の格納領域を含む格納ファイルを生成する手段と、ダウンロード対象のファイルにおける前記複数の領域にそれぞれ含まれるデータを同時的処理可能数に従って同時的にダウンロードするように、データを要求する要求情報を外部のサーバ装置に送信する処理を行う手段と、要求情報の送信に応じて、各データを外部のサーバ装置から受信した場合、受信した各データのそれぞれが含まれていた各領域に対応する前記格納ファイルの各格納領域へ、受信した各データのそれぞれを格納する処理を行う手段とを備えることを特徴とする。 The communication apparatus according to the present invention includes a means for performing processing for transmitting confirmation information for confirming a capacity of a file to be downloaded to an external server apparatus in a communication apparatus for downloading a file stored in the external server apparatus, and a confirmation In response to the transmission of information, when notification information for notifying the file size is received from an external server device, a plurality of areas for dividing the file to be downloaded are specified based on the file size notified by the notification information Means for generating a storage file including a plurality of storage areas corresponding to the plurality of specified areas, and simultaneously downloading data included in each of the plurality of areas in the file to be downloaded according to the number that can be processed simultaneously The process of transmitting the request information for requesting data to an external server device In response to the transmission of the request information, when each data is received from an external server device, each received data is stored in each storage area of the storage file corresponding to each area in which each received data is included. And means for performing processing for storing each of the data.

 本発明に係る通信装置は、ダミーファイルを記憶すると共に、前記ダミーファイルに応じた実ファイルを外部のサーバ装置からダウンロードする通信装置において、前記ダミーファイルは、前記実ファイルに比べてファイルの容量が小さく且つ前記実ファイルの容量を示す容量情報を含み、前記ダミーファイルに含まれる容量情報が示す前記実ファイルの容量に基づき前記実ファイルを分割する複数の領域を特定する手段と、特定した複数の領域に対応した複数の格納領域を含むように、前記ダミーファイルの容量を拡張する手段と、前記実ファイルにおける前記複数の領域にそれぞれ含まれるデータを同時的処理可能数に従って同時的にダウンロードするように、データを要求する要求情報を外部のサーバ装置に送信する処理を行う手段と、要求情報の送信に応じて、各データを外部のサーバ装置から受信した場合、受信した各データのそれぞれが含まれていた各領域に対応する前記ダミーファイルの各格納領域へ、受信した各データのそれぞれを格納する処理を行う手段とを備えることを特徴とする。 A communication device according to the present invention stores a dummy file and downloads a real file corresponding to the dummy file from an external server device. The dummy file has a file capacity compared to the real file. Means for specifying a plurality of areas for dividing the actual file based on the capacity of the actual file indicated by the capacity information included in the dummy file, Means for expanding the capacity of the dummy file so as to include a plurality of storage areas corresponding to the area, and simultaneously downloading the data included in the plurality of areas in the real file according to the simultaneously processable number Means for performing processing for transmitting request information for requesting data to an external server device In response to transmission of request information, when each data is received from an external server device, each received data is stored in each storage area of the dummy file corresponding to each area in which each received data is included. And a means for performing processing for storing each of the above.

 本発明に係る通信装置は、前記同時的処理可能数と同数のスレッドを生成する手段を備え、生成したスレッドごとに要求情報を送信すると共に、生成したスレッドごとにデータを受信するようにしてあることを特徴とする。
 また、本発明に係る通信装置は、特定した複数の領域の数が前記同時的処理可能数を上回る場合、複数の要求情報を送信するスレッドが生じるようにしてあり、前記複数の要求情報のそれぞれは、異なる領域に含まれるデータを要求するものにしてあることを特徴とする。
 さらに本発明に係る通信装置は、特定した複数の領域の数が前記同時的処理可能数を上回る場合、異なる複数の領域に含まれるデータを要求する要求情報を送信するスレッドが生じるようにしてあることを特徴とする。
The communication apparatus according to the present invention includes means for generating the same number of threads that can be processed simultaneously, transmits request information for each generated thread, and receives data for each generated thread. It is characterized by that.
Further, the communication device according to the present invention is configured such that a thread for transmitting a plurality of request information is generated when the number of the plurality of specified areas exceeds the simultaneously processable number, and each of the plurality of request information Is characterized by requesting data contained in different areas.
Furthermore, in the communication apparatus according to the present invention, when the number of the plurality of specified areas exceeds the number of simultaneously processable threads, a thread for transmitting request information for requesting data included in the plurality of different areas is generated. It is characterized by that.

 本発明に係る通信装置は、前記複数の領域を特定する手段が、ファイルの容量及び分割サイズに基づき複数の領域を特定するようにしており、前記分割サイズに係る数値を受け付ける手段と、受け付けた数値を、前記分割サイズとして設定する手段とを備えることを特徴とする。
 また、本発明に係る通信装置は、前記要求情報が、特定した領域に係る位置範囲を指定する情報を含むことを特徴とする。
In the communication apparatus according to the present invention, the means for specifying the plurality of areas is configured to specify a plurality of areas based on a file capacity and a division size, and the means for receiving a numerical value related to the division size is received. Means for setting a numerical value as the division size.
The communication apparatus according to the present invention is characterized in that the request information includes information for designating a position range related to the specified area.

 本発明に係るダウンロード方法は、通信装置が、外部のサーバ装置からファイルをダウンロードするダウンロード方法において、ダウンロード対象のファイルの容量を確認する確認情報を、外部のサーバ装置へ送信する処理を行うステップと、確認情報の送信に応じて、ファイルの容量を通知する通知情報を外部のサーバ装置から受信した場合、通知情報で通知されたファイルの容量に基づき、ダウンロード対象のファイルを分割する複数の領域を特定するステップと、特定した複数の領域に対応した複数の格納領域を含む格納ファイルを生成するステップと、ダウンロード対象のファイルにおける前記複数の領域にそれぞれ含まれるデータを同時的処理可能数に従って同時的にダウンロードするように、データを要求する要求情報を外部のサーバ装置に送信する処理を行うステップと、要求情報の送信に応じて、各データを外部のサーバ装置から受信した場合、各データのそれぞれが含まれていた各領域に対応する前記格納ファイルの各格納領域へ、受信した各データのそれぞれを格納する処理を行うステップとを備えることを特徴とする。 The download method according to the present invention includes a step of performing a process of transmitting confirmation information for confirming a capacity of a file to be downloaded to the external server device in the download method in which the communication device downloads the file from the external server device. In response to the transmission of the confirmation information, when notification information for notifying the file size is received from an external server device, a plurality of areas for dividing the file to be downloaded are divided based on the file size notified by the notification information. A step of specifying, a step of generating a storage file including a plurality of storage areas corresponding to the plurality of specified areas, and data included in each of the plurality of areas in the file to be downloaded simultaneously according to the number of simultaneously processable Request information requesting data externally to be downloaded to When each data is received from the external server device in response to the transmission of the request information and the step of transmitting to the server device, each of the storage file corresponding to each area in which each data was included And a step of performing a process of storing each received data in the storage area.

 本発明に係るダウンロード方法は、ダミーファイルを記憶する通信装置が、前記ダミーファイルに応じた実ファイルを外部のサーバ装置からダウンロードするダウンロード方法において、前記ダミーファイルは、前記実ファイルに比べてファイルの容量が小さく且つ前記実ファイルの容量を示す容量情報を含み、前記ダミーファイルに含まれる容量情報が示す前記実ファイルの容量に基づき前記実ファイルを分割する複数の領域を特定するステップと、特定した複数の領域に対応した複数の格納領域を含むように、前記ダミーファイルの容量を拡張するステップと、前記実ファイルにおける前記複数の領域にそれぞれ含まれるデータを同時的処理可能数に従って同時的にダウンロードするように、データを要求する要求情報を外部のサーバ装置に送信する処理を行うステップと、要求情報の送信に応じて、各データを外部のサーバ装置から受信した場合、受信した各データのそれぞれが含まれていた各領域に対応する前記ダミーファイルの各格納領域へ、受信した各データのそれぞれを格納する処理を行うステップとを備えることを特徴とする。 The download method according to the present invention is a download method in which a communication device that stores a dummy file downloads an actual file corresponding to the dummy file from an external server device. Specifying a plurality of areas having a small capacity and including capacity information indicating the capacity of the actual file, and dividing the actual file based on the capacity of the actual file indicated by the capacity information included in the dummy file; The step of expanding the capacity of the dummy file so as to include a plurality of storage areas corresponding to a plurality of areas, and simultaneously downloading the data included in each of the plurality of areas in the real file according to the simultaneously processable number Request information to request data from an external server When each data is received from an external server device in response to the transmission of the request information and the step of transmitting to the device, the dummy file corresponding to each area in which each received data is included And a step of storing each received data in each storage area.

 本発明に係るコンピュータプログラムは、通信機能を有するコンピュータに、外部のサーバ装置からファイルをダウンロードする処理を行わせるためのコンピュータプログラムにおいて、前記コンピュータに、ダウンロード対象のファイルの容量を確認する確認情報を、外部のサーバ装置へ送信する処理を行うステップと、確認情報の送信に応じて、ファイルの容量を通知する通知情報を外部のサーバ装置から受信した場合、通知情報で通知されたファイルの容量に基づき、ダウンロード対象のファイルを分割する複数の領域を特定するステップと、特定した複数の領域に対応した複数の格納領域を含む格納ファイルを生成するステップと、ダウンロード対象のファイルにおける前記複数の領域にそれぞれ含まれるデータを同時的処理可能数に従って同時的にダウンロードするように、データを要求する要求情報を外部のサーバ装置に送信する処理を行うステップと、要求情報の送信に応じて、各データを外部のサーバ装置から受信した場合、受信した各データのそれぞれが含まれていた各領域に対応する前記格納ファイルの各格納領域へ、受信した各データのそれぞれを格納する処理を行うステップとを実行させることを特徴とする。 A computer program according to the present invention is a computer program for causing a computer having a communication function to perform processing of downloading a file from an external server device. The computer program includes confirmation information for confirming a capacity of a file to be downloaded. When the notification information for notifying the file size is received from the external server device in response to the transmission of the confirmation information and the step of transmitting to the external server device, the file capacity notified by the notification information A step of identifying a plurality of areas into which the file to be downloaded is divided, a step of generating a storage file including a plurality of storage areas corresponding to the plurality of identified areas, and the plurality of areas in the file to be downloaded Data contained in each can be processed simultaneously The process of transmitting request information for requesting data to an external server device so that the data is downloaded simultaneously according to the above, and receiving each data from the external server device in response to the transmission of the request information And a step of performing a process of storing each received data in each storage area of the storage file corresponding to each area in which each of the data has been included.

 本発明に係るコンピュータプログラムは、通信機能を有すると共にダミーファイルを記憶するコンピュータに、前記ダミーファイルに応じた実ファイルを外部のサーバ装置からダウンロードする処理を行わせるためのコンピュータプログラムにおいて、前記ダミーファイルは、前記実ファイルに比べてファイルの容量が小さく且つ前記実ファイルの容量を示す容量情報を含み、前記コンピュータに、前記ダミーファイルに含まれる容量情報が示す前記実ファイルの容量に基づき前記実ファイルを分割する複数の領域を特定するステップと、特定した複数の領域に対応した複数の格納領域を含むように、前記ダミーファイルの容量を拡張するステップと、前記実ファイルにおける前記複数の領域にそれぞれ含まれるデータを同時的処理可能数に従って同時的にダウンロードするように、データを要求する要求情報を外部のサーバ装置に送信する処理を行うステップと、要求情報の送信に応じて、各データを外部のサーバ装置から受信した場合、受信した各データのそれぞれが含まれていた各領域に対応する前記ダミーファイルの各格納領域へ、受信した各データのそれぞれを格納する処理を行うステップとを実行させることを特徴とする。 A computer program according to the present invention is a computer program for causing a computer having a communication function and storing a dummy file to perform a process of downloading an actual file corresponding to the dummy file from an external server device. Includes capacity information indicating that the capacity of the file is smaller than that of the actual file and indicating the capacity of the actual file, and the actual file is stored in the computer based on the capacity of the actual file indicated by the capacity information included in the dummy file. Identifying a plurality of areas to be divided, a step of expanding the capacity of the dummy file to include a plurality of storage areas corresponding to the identified plurality of areas, and a plurality of areas in the real file, respectively The number of data that can be processed simultaneously Therefore, the step of transmitting the request information for requesting data to the external server device so as to download simultaneously, and the reception when each data is received from the external server device in response to the transmission of the request information And a step of executing a process of storing each received data in each storage area of the dummy file corresponding to each area in which each of the data has been included.

 本発明にあっては、通信装置が、ダウンロード対象のファイルの容量を確認すると、その確認した容量に基づき、ダウンロード対象のファイルにおける複数の領域を特定すると共に、特定した複数の領域に対応した複数の格納領域を含む格納ファイルを生成しておき、それから、ダウンロード対象のファイルについて、特定した複数の領域に応じたデータを同時的に呼び出す(読み出す)ために、要求情報をサーバ装置に送信することで、複数のデータを並列的にダウンロードして、格納ファイルの各格納領域に格納することにより、通信装置で、ダウンロード対象のファイルが得られるようになる。この際、ダウンロード対象のファイルを記憶するサーバ装置は単に、通信装置からの要求情報に応じて、その要求情報に対するデータを通信装置へ送るだけなので、ファイルの分割処理を行っておらず、そのため、従来のファイルの分割処理を行う場合に比べて特段、サーバ装置側の処理負担は増大しなくなる。 In the present invention, when the communication device confirms the capacity of the file to be downloaded, a plurality of areas in the file to be downloaded are identified based on the confirmed capacity, and a plurality of areas corresponding to the plurality of identified areas are identified. A storage file including a storage area is generated, and then, for the file to be downloaded, request information is transmitted to the server device in order to simultaneously call (read) data corresponding to the plurality of specified areas. Thus, by downloading a plurality of data in parallel and storing them in each storage area of the storage file, the communication device can obtain the file to be downloaded. At this time, the server device that stores the file to be downloaded simply sends data corresponding to the request information to the communication device in response to the request information from the communication device, so the file is not divided. The processing load on the server device side does not increase as compared with the conventional file division processing.

 本発明にあっては、通信装置が、ダミーファイルに含まれる容量情報に基づき、サーバ装置に記憶される実ファイルにおける複数の領域を特定すると共に、特定した複数の領域に対応した複数の格納領域を含むようにダミーファイルを拡張しておき、それから、実ファイルについて、特定した複数の領域に応じたデータを同時的に呼び出す(読み出す)ために、要求情報をサーバ装置に送信することで、複数のデータを平行的にダウンロードして、ダミーファイルの各格納領域に格納することにより、通信装置で、実ファイルが得られるようになる。この際、実ファイルを記憶するサーバ装置は単に、通信装置からの要求情報に応じて、その要求情報に対するデータを通信装置へ送るだけなので、ファイルの分割処理を行っておらず、そのため、ダミーファイルを用いた場合でも、従来のファイルの分割処理を行うときに比べて特段、サーバ装置側の処理負担は増大しなくなる。 In the present invention, the communication device specifies a plurality of areas in the actual file stored in the server device based on the capacity information included in the dummy file, and a plurality of storage areas corresponding to the specified plurality of areas In order to simultaneously call (read) data corresponding to a plurality of specified areas for the real file, the dummy file is expanded to include The data is downloaded in parallel and stored in each storage area of the dummy file, so that the actual file can be obtained by the communication device. At this time, the server device that stores the actual file simply sends the data corresponding to the request information to the communication device in response to the request information from the communication device, so the file is not divided, so the dummy file Even in the case where is used, the processing load on the server device side does not increase as compared with the conventional file division processing.

 本発明にあっては、同時的処理可能数に応じた数のスレッドを生成し、スレッドごとに要求情報の送信及びデータの受信を行うので、スレッドを介して(ベースにして)、確実に複数のデータの同時的ダウンロード処理を行えるようになる。なお、スレッドとは、並列処理に対応したプログラム処理の実行単位を意味し、本発明ではダウンロード処理の時分割処理において、同時的に処理を行う実行単位として仮想的に生成されるものとなっている。 In the present invention, the number of threads corresponding to the number that can be processed simultaneously is generated, and the request information is transmitted and the data is received for each thread. Can be downloaded simultaneously. Note that a thread means an execution unit of program processing corresponding to parallel processing. In the present invention, in a time division process of download processing, it is virtually generated as an execution unit for simultaneous processing. Yes.

 本発明にあっては、特定した複数の領域の数が、同時的処理可能数を上回る場合、一度の同時的処理で、複数の領域に応じた全てのデータを呼び出すことができないので、複数の要求情報の送信を行うスレッドを生じさせることで、そのようなスレッドでは同時的処理が繰り返されて全てのデータを受信できるようになり、同時的処理可能数を超える大容量のファイル(実ファイル)であっても本発明を用いて確実にダウンロードできるようになる。 In the present invention, when the number of the specified plurality of areas exceeds the simultaneously processable number, it is not possible to call all the data corresponding to the plurality of areas in one simultaneous process. By creating a thread that sends request information, such a thread can repeat the simultaneous processing and receive all the data, and a large-capacity file (actual file) that exceeds the number that can be processed simultaneously Even so, it can be reliably downloaded using the present invention.

 本発明にあっては、特定した複数の領域の数が、同時的処理可能数を上回る場合、異なる複数の領域に含まれるデータを要求する要求情報の送信を行うスレッドを生じさせることにより、そのようなスレッドでは一度の要求情報の送信で、異なるは領域に含まれるデータが順次ダウンロードされるようになり、スレッド単位で複数回、要求情報を送信しなくても同時的処理可能数を超える大容量のファイル(実ファイル)を確実にダウンロードできるようになる。 In the present invention, when the number of the specified plurality of areas exceeds the simultaneously processable number, by generating a thread for transmitting request information for requesting data included in the plurality of different areas, In such a thread, the request information is transmitted once, and the data contained in different areas is downloaded sequentially, exceeding the number that can be processed simultaneously without sending the request information multiple times for each thread. A file with a capacity (actual file) can be downloaded reliably.

 本発明にあっては、ファイルの容量及び分割サイズに基づき複数の領域を特定する場合、分割サイズに係る数値を受け付けて、その受け付けた数値を分割サイズとして設定するので、ダウンロード対象のファイル(又は実ファイル)の容量、通信環境、ダウンロード時の通信の混雑度等に応じて、分割サイズを適宜設定して、ファイル(実ファイルも含む)を分割する領域範囲を適宜変更できるようになり、それにより、柔軟なダウンロード状況を確保できる。 In the present invention, when specifying a plurality of areas based on the capacity and division size of a file, a numerical value related to the division size is received and the received numerical value is set as the division size. Depending on the actual file) capacity, communication environment, communication congestion at the time of download, etc., the division size can be set appropriately, and the area range for dividing the file (including the actual file) can be changed accordingly. This ensures a flexible download situation.

 本発明にあっては、特定した領域の位置範囲を指定する情報を要求情報に含ませるので、ダウンロード対象のファイル(又は実ファイル)における領域に含まれるデータを確実に呼び出せるようになり、また、サーバ装置側も、位置範囲が指定された領域に対してデータを読み出すことになり、確実なデータ読み出しを行えるようになる。 In the present invention, since the information specifying the position range of the specified area is included in the request information, the data included in the area in the file to be downloaded (or actual file) can be reliably called, The server apparatus side also reads data from the area in which the position range is designated, so that reliable data reading can be performed.

 本発明にあっては、通信装置がサーバ装置から、ダウンロード対象のファイルにおける複数の領域に応じたデータを同時的に呼び出して、複数のデータを並行的にダウンロードし、生成した格納ファイルの各格納領域に格納するので、ダウンロード対象のファイルを記憶するサーバ装置側は、通信装置からの呼び出しに応じたファイルの読み出し及び送信処理を行うだけとなり、従来のようなファイルの分割処理に伴う処理負担の増大を回避できる。 In the present invention, the communication device calls the data corresponding to a plurality of areas in the file to be downloaded from the server device simultaneously, downloads the plurality of data in parallel, and stores each of the generated storage files Since the file is stored in the area, the server device storing the file to be downloaded only reads and transmits the file according to the call from the communication device, and the processing burden associated with the conventional file division processing is reduced. Increase can be avoided.

 本発明にあっては、通信装置がサーバ装置から、ダミーファイルに対応する実ファイルにおける複数の領域に応じたデータを同時的に呼び出して、複数のデータを並行的にダウンロードし、サイズを拡張したダミーファイルの各格納領域に格納するので、実ファイルを記憶するサーバ装置側は、通信装置からの呼び出しに応じたファイルの読み出し及び送信処理を行うだけとなり、ダミーファイルを用いた場合であっても、従来のようなファイルの分割処理に伴う処理負担の増大を回避できると共に、そのダミーファイルを有効に活用して、元の実ファイルを通信装置で得ることができる。 In the present invention, the communication device calls the data corresponding to the plurality of areas in the real file corresponding to the dummy file from the server device, downloads the plurality of data in parallel, and expands the size. Since it is stored in each storage area of the dummy file, the server device side that stores the actual file only performs the file reading and transmission processing in response to the call from the communication device, even when the dummy file is used. Thus, it is possible to avoid an increase in the processing burden associated with the conventional file division process, and to effectively use the dummy file and obtain the original real file with the communication device.

 本発明にあっては、同時的処理可能数に応じた数のスレッドを生成し、スレッドごとに要求情報の送信及びデータの受信を行うので、スレッド単位で、確実に複数のデータの同時的ダウンロード処理を行える。
 また、本発明にあっては、特定した複数の領域の数が、同時的処理可能数を上回る場合、要求情報の送信を複数回行うスレッドを生じさせることで、同時的処理を繰り返して全てのデータを受信できるので、大容量のファイル(実ファイル)でも確実にダウンロードを行える。
 さらに、本発明にあっては、特定した複数の領域の数が、同時的処理可能数を上回る場合、異なる複数の領域に含まれるデータを要求する要求情報の送信を行うスレッドを生じさせることにより、そのようなスレッドでは一度の要求情報の送信で、異なるは領域に含まれるデータが順次ダウンロードでき、効率的な要求情報の送信に伴い、同時的処理可能数を超える大容量のファイル(実ファイル)を確実にダウンロードできる。
In the present invention, the number of threads corresponding to the number that can be processed simultaneously is generated, and request information is transmitted and data is received for each thread. Therefore, it is possible to reliably download a plurality of data in units of threads. Can process.
Further, in the present invention, when the number of the specified plurality of areas exceeds the simultaneously processable number, a thread that performs transmission of request information multiple times is generated, so that the simultaneous processing is repeated and all the processes are performed. Data can be received, so even large files (actual files) can be downloaded reliably.
Furthermore, in the present invention, when the number of the specified plurality of areas exceeds the simultaneously processable number, a thread for transmitting request information for requesting data included in the plurality of different areas is generated. In such a thread, the request information can be transmitted once, and the data contained in the different areas can be downloaded sequentially, and with the efficient transmission of request information, a large-capacity file exceeding the number that can be processed simultaneously (actual file) ) Can be downloaded reliably.

 本発明にあっては、ファイルの容量及び分割サイズに基づき複数の領域を特定する場合、分割サイズに係る数値を受け付けて、その受け付けた数値を分割サイズとして設定するので、ダウンロード対象のファイル(実ファイル)の分割サイズを適宜設定して、ファイル(実ファイルも含む)を分割する領域範囲を適宜変更でき、それにより、柔軟なダウンロード状況を確保できる。
 また、本発明にあっては、要求情報に、各領域の位置範囲を指定する情報を含ませるので、ダウンロード対象のファイル(実ファイル)における領域に含まれるデータを確実に呼び出すことができ、また、サーバ装置側も、位置範囲が指定された領域に含まれるデータを読み出すという一般的なリード処理でダウンロード処理に対応できる。
In the present invention, when a plurality of areas are specified based on the file capacity and the division size, a numerical value related to the division size is received and the received numerical value is set as the division size. The division range of the file (including the actual file) can be changed as appropriate by appropriately setting the division size of the file, thereby ensuring a flexible download situation.
In the present invention, since the request information includes information specifying the position range of each area, the data included in the area in the file to be downloaded (actual file) can be called reliably, Also, the server device side can cope with the download process by a general read process of reading data included in the area in which the position range is designated.

本発明の第1実施形態に係るダウンロードシステムの全体的な構成を示す概略図である。It is the schematic which shows the whole structure of the download system which concerns on 1st Embodiment of this invention. (a)は並列処理でデータ呼び出しを行う状態を示す概略図、(b)は並列処理でデータをダウンロードする状態を示す概略図、(c)は、ダウンロードしたデータを格納ファイルの各格納領域を格納した状態を示す概略図である。(A) is a schematic diagram showing a state in which data is called in parallel processing, (b) is a schematic diagram showing a state in which data is downloaded in parallel processing, and (c) is a diagram showing each storage area of a storage file for downloaded data. It is the schematic which shows the state stored. ダウンロード対象のファイルを分割した領域を示す概略図である。It is the schematic which shows the area | region which divided | segmented the file of download object. プライマリストレージサーバの主要な内部構成を示すブロック図である。It is a block diagram which shows the main internal structures of a primary storage server. エージェントによる各機能を示す機能ブロック図である。It is a functional block diagram which shows each function by an agent. セカンダリストレージサーバの主要な内部構成を示すブロック図である。It is a block diagram which shows the main internal structures of a secondary storage server. 本発明に係るダウンロード方法の処理手順を示す第1フローチャートである。It is a 1st flowchart which shows the process sequence of the download method which concerns on this invention. (a)は分割サイズの設定用のメニュー画面を示す概略図、(b)は分割サイズを拡大してファイルの分割領域数を減少した場合を示す概略図、(c)は分割サイズを縮小してファイルの分割領域数を増加した場合を示す概略図である。(A) is a schematic diagram showing a menu screen for setting the division size, (b) is a schematic diagram showing a case where the division size is enlarged and the number of division areas of the file is reduced, and (c) is a diagram showing the division size being reduced. FIG. 6 is a schematic diagram showing a case where the number of file division areas is increased. (a)は、ファイルの分割領域数が生成されるスレッド数を上回る状態を示す概略図、(b)は同時的ダウンロード処理を二回行う場合を示すタイムチャートである。(A) is a schematic diagram showing a state in which the number of divided areas of a file exceeds the number of generated threads, and (b) is a time chart showing a case where the simultaneous download process is performed twice. 同時的ダウンロード処理を複数回繰り返す場合のダウンロード方法の処理手順を示す第2フローチャートである。It is a 2nd flowchart which shows the process sequence of the download method in the case of repeating a simultaneous download process in multiple times. ユーザ端末の主要な内部構成を示すブロック図である。It is a block diagram which shows the main internal structures of a user terminal. 本発明の第2実施形態に係るダウンロードシステムの概略的な構成を示す概略図である。It is the schematic which shows the schematic structure of the download system which concerns on 2nd Embodiment of this invention. 第2実施形態の同時的ダウンロードに係る状況を示す概略図である。It is the schematic which shows the condition which concerns on the simultaneous download of 2nd Embodiment. 第2実施形態に係るダウンロード方法の処理手順を示す第3フローチャートである。It is a 3rd flowchart which shows the process sequence of the download method which concerns on 2nd Embodiment.

 図1は、本発明の第1実施形態に係るダウンロードシステム1の全体的な概要を示したものであり、このダウンロードシステム1は、プライマリストレージサーバ10(通信装置に相当)、及びセカンダリストレージサーバ20(サーバ装置に相当)により構成される。プライマリストレージサーバ10は、ネットワークを通じてセカンダリストレージサーバ20と通信可能になっており、セカンダリストレージサーバ20をバックアップサーバとして各種ファイルの記憶等に利用する。 FIG. 1 shows an overall outline of a download system 1 according to the first embodiment of the present invention. The download system 1 includes a primary storage server 10 (corresponding to a communication device) and a secondary storage server 20. (Corresponding to a server device). The primary storage server 10 can communicate with the secondary storage server 20 through a network, and uses the secondary storage server 20 as a backup server for storing various files.

 本実施形態のプライマリストレージサーバ10は記憶デバイスとして、読み書き速度が速いが記憶容量は小さいプライマリストレージ11(第1記憶デバイス)を備え、一方、セカンダリストレージサーバ20は、プライマリストレージ11に比べて読み書き速度は遅いが記憶容量の大きいセカンダリストレージ21(第2記憶デバイス)を備えており、プライマリストレージ11で記憶していたファイルをセカンダリストレージ21で記憶させるために、セカンダリストレージサーバ20へ送信して、プライマリストレージ11に記憶していたファイルの移動により、プライマリストレージ11の記憶容量を確保するような処理をプライマリストレージサーバ10は行う。 The primary storage server 10 of the present embodiment includes a primary storage 11 (first storage device) that has a high read / write speed but a small storage capacity as a storage device, while the secondary storage server 20 has a read / write speed compared to the primary storage 11. Is provided with a secondary storage 21 (second storage device) that is slow but has a large storage capacity. In order to store the file stored in the primary storage 11 in the secondary storage 21, it is transmitted to the secondary storage server 20, The primary storage server 10 performs a process for securing the storage capacity of the primary storage 11 by moving the file stored in the storage 11.

 また、プライマリストレージサーバ10は、一般ユーザ等が用いる外部のユーザ端末40からのアクセスを、ネットワークを介し受信可能にしており、セカンダリストレージ21に移動させたファイルの要求等をユーザ端末40から受け取ると、プライマリストレージサーバ10は、対象となるファイルをセカンダリストレージサーバ20からダウンロードする処理を行う。このようにセカンダリストレージサーバ20からファイルをダウンロードするにあたり、ダウンロード対象のファイル用容量が一定容量より大きい場合、本発明の特徴であるファイルを複数のデータに分割して時分割で同時的に(時間的に同時期に)、ダウンロードする処理を、ダウンロードシステム1は行うことになる。 Further, the primary storage server 10 can receive access from the external user terminal 40 used by a general user or the like via the network, and when a request for a file moved to the secondary storage 21 is received from the user terminal 40. The primary storage server 10 performs processing for downloading the target file from the secondary storage server 20. Thus, when downloading a file from the secondary storage server 20, if the capacity of the file to be downloaded is larger than a certain capacity, the file, which is a feature of the present invention, is divided into a plurality of data and simultaneously in time division (time At the same time, the download system 1 performs the download process.

 図2(a)~(c)が、本発明の特徴であるファイルを構成する複数のデータをダウンロードする処理の概要を示し、セカンダリストレージ20に記憶されるファイル15をプライマリストレージサーバ10へダウンロードするときの状況の流れを表す。まず、図2(a)に示すように、プライマリストレージサーバ10は、ダウンロード対象のファイル15に応じた格納ファイル5を生成すると共に、ダウンロード対象のファイル15を時分割で同時的(並列的)にダウンロードするための第1スレッド14a~第4スレッド14dを確立し(生成し)、これらスレッド14a~14dごとに、データを要求する要求情報を送信することにより、ダウンロード対象のファイル15の第1領域15a~第4領域15d(図3参照)に含まれるデータを時間的に同時期に(同時的に)呼び出す処理を行う。 FIGS. 2A to 2C show an outline of a process for downloading a plurality of data constituting a file, which is a feature of the present invention, and the file 15 stored in the secondary storage 20 is downloaded to the primary storage server 10. It represents the flow of situations. First, as shown in FIG. 2A, the primary storage server 10 generates the storage file 5 corresponding to the file 15 to be downloaded, and simultaneously (parallelly) the file 15 to be downloaded in a time division manner. The first thread 14a to the fourth thread 14d for downloading are established (generated), and request information for requesting data is transmitted to each of the threads 14a to 14d, thereby the first area of the file 15 to be downloaded. 15a to the fourth area 15d (refer to FIG. 3) are processed to call data simultaneously (simultaneously) in time.

 次に、図2(b)に示すように、セカンダリストレージサーバ20は、ファイル15の各領域15a~15dに含まれるデータの呼び出しに応じた要求情報を受信すると、その呼び出しに応じたデータ150a~150dを各領域15a~15dより読み出し、呼び出しで用いられた各スレッド14a~14dを通じて、各読み出したデータ150a~150dをプライマリストレージサーバ10へ送信する。なお、このようなデータの呼び出しに応じて、呼び出し対象のデータを呼び出し元の装置へ送信する処理は、サーバ装置としては一般的な処理となる。 Next, as shown in FIG. 2B, when the secondary storage server 20 receives the request information corresponding to the data call included in each of the areas 15a to 15d of the file 15, the data 150a to 150d is read from each of the areas 15a to 15d, and the read data 150a to 150d is transmitted to the primary storage server 10 through the threads 14a to 14d used in the call. Note that the process of transmitting the data to be called to the caller apparatus in response to such a data call is a general process for the server apparatus.

 そして、図2(c)に示すように、プライマリストレージサーバ10は、セカンダリストレージサーバ20から送られてくる各データ150a~150dを第1スレッド14a~第4スレッド14dごとに受信すると、受信した各データ150a~150dを、格納ファイル5におけるそれぞれのデータ150a~150dに対応する格納領域(第1格納領域15a~第4格納領域15d)に格納する。それにより格納ファイル5が、ダウンロード対象のファイル15と同等な中身になり、このような中身の格納ファイル5が、ファイル15として使用できるようになる。以下、上記のような処理を行うダウンロードシステム1を構成するプライマリストレージサーバ10等について詳説していく。 As shown in FIG. 2C, when the primary storage server 10 receives the data 150a to 150d sent from the secondary storage server 20 for each of the first thread 14a to the fourth thread 14d, The data 150a to 150d are stored in storage areas (first storage area 15a to fourth storage area 15d) corresponding to the respective data 150a to 150d in the storage file 5. As a result, the storage file 5 has the same contents as the file 15 to be downloaded, and the storage file 5 having such contents can be used as the file 15. Hereinafter, the primary storage server 10 and the like constituting the download system 1 that performs the above processing will be described in detail.

 図4は、プライマリストレージサーバ10(通信装置)の主要な内部構成を示す。本実施形態のプライマリストレージサーバ10にはサーバコンピュータを適用しており、全体的な制御及び各種処理を行うMPU10aに、各種デバイス等を内部接続線10hで接続したものになっており、各種デバイス等には、通信モジュール10b、RAM10c、ROM10d、入力インタフェース10e、出力インタフェース10f、記憶部10g、及びプライマリストレージ11等がある。 FIG. 4 shows the main internal configuration of the primary storage server 10 (communication device). A server computer is applied to the primary storage server 10 of the present embodiment, and various devices and the like are connected to the MPU 10a that performs overall control and various processes by an internal connection line 10h. Includes a communication module 10b, a RAM 10c, a ROM 10d, an input interface 10e, an output interface 10f, a storage unit 10g, a primary storage 11, and the like.

 通信モジュール10bは、ネットワークとの接続モジュールに相当する通信デバイスであり、所要の通信規格に応じたものである(例えばLANモジュール)。通信モジュール10bは、所要の通信機器(図示は省略。例えばルータ等が該当)を介してネットワークと接続されており、セカンダリストレージサーバ20との通信を可能にすると共に、システム外部のユーザ端末40等との通信も可能にしている。 The communication module 10b is a communication device corresponding to a network connection module and conforms to a required communication standard (for example, a LAN module). The communication module 10b is connected to the network via a required communication device (not shown, for example, a router or the like), enables communication with the secondary storage server 20, and the user terminal 40 outside the system. Communication with is also possible.

 RAM10cは、MPU10aの処理に伴う内容、ファイル等を一時的に記憶するものであり、ROM10dは、MPU10aの基本的な処理内容を規定したプログラム等を記憶するものである。入力インタフェース10eは、システム管理者等からの操作指示等を受け付けるキーボード10i、マウス等が接続されるものであり、プライマリストレージサーバ10のシステム管理者等から受け付けた操作指示等をMPU10aへ伝える。出力インタフェース10fは、ディスプレイ10j(表示出力装置)が接続されるものであり、MPU10aの処理に伴う内容をディスプレイ10jへ出力し、システム管理者等が現在の処理内容等を確認できるようにしている。 The RAM 10c temporarily stores contents and files associated with the processing of the MPU 10a, and the ROM 10d stores programs and the like that define the basic processing contents of the MPU 10a. The input interface 10e is connected to a keyboard 10i, a mouse, and the like for receiving an operation instruction from a system administrator or the like, and transmits the operation instruction received from the system administrator or the like of the primary storage server 10 to the MPU 10a. The output interface 10f is connected to a display 10j (display output device), and outputs contents associated with the processing of the MPU 10a to the display 10j so that a system administrator or the like can check the current processing contents. .

 記憶部10gは、プログラム等を記憶するものであり、具体的には、サーバプログラムP1、及び処理プログラムP2等の各種プログラムを記憶すると共に、ファイルのダウンロード処理で用いる設定値として、分割閾値f1及び分割サイズf2等も記憶する。なお、分割閾値f1及び分割サイズf2は、デフォルトで初期値が設定されており、分割閾値f1としては例えば300MB(メガバイト。以下同様)、分割サイズf2として例えば100MBが、それぞれデフォルトの初期値として設定されている(各値は一例)。 The storage unit 10g stores programs and the like. Specifically, the storage unit 10g stores various programs such as a server program P1 and a processing program P2, and also sets a division threshold f1 and a setting value used in a file download process. The division size f2 and the like are also stored. Note that the division threshold f1 and the division size f2 are set to initial values by default, and the division threshold f1 is set to 300 MB (megabyte, the same applies hereinafter), and the division size f2 is set to 100 MB, for example, as default initial values. (Each value is an example).

 また、記憶部10gに記憶されるサーバプログラムP1は、サーバコンピュータ用のオペレーティングシステムに応じた各種処理を規定したものであり、この規定内容に基づいた処理をMPU10aが行うことで、プライマリストレージサーバ10はサーバコンピュータとしての機能を果たす。また、処理プログラムP2は、本発明に係るダウンロード方法の各種処理の制御をMPU10aが行うことを規定したコンピュータプログラムであり、上述した図2(a)~図2(c)に示す各処理において、プライマリストレージサーバ10が行う制御処理内容がプログラミングされている。このような処理プログラムP2は、その処理プログラムP2が記憶された記憶媒体(例えば、DVDのような記憶ディスク)等を通じて、プライマリストレージサーバ10へインストールすることが可能である。また、本実施形態では、処理プログラムP2のプログラム内容で、MPU10aの制御処理内容を規定することにより、MPU10aがエージェント12として各種機能を行うようになる。 Further, the server program P1 stored in the storage unit 10g defines various processes according to the operating system for the server computer. The MPU 10a performs processes based on the specified contents, whereby the primary storage server 10 Serves as a server computer. The processing program P2 is a computer program that defines that the MPU 10a controls various processes of the download method according to the present invention. In each of the processes shown in FIGS. 2 (a) to 2 (c), The content of control processing performed by the primary storage server 10 is programmed. Such a processing program P2 can be installed in the primary storage server 10 through a storage medium (for example, a storage disk such as a DVD) in which the processing program P2 is stored. In the present embodiment, the MPU 10a performs various functions as the agent 12 by defining the control processing content of the MPU 10a with the program content of the processing program P2.

 図5は、MPU10aがエージェント12として行う機能のブロック図を示し、MPU10aは、図中の(1)~(7)の各内容を行う手段として機能する。エージェント12の具体的な手段の機能としては、「(1)ファイル容量確認機能」、「(2)ファイル分割判断機能」、「(3)分割領域特定機能」、「(4)スレッド生成機能」、「(5)格納ファイル生成機能」、「(6)データ要求機能」、及び「(7)データ格納機能」等がある。 FIG. 5 shows a block diagram of functions performed by the MPU 10a as the agent 12, and the MPU 10a functions as means for performing the contents (1) to (7) in the figure. Specific functions of the agent 12 include “(1) file capacity confirmation function”, “(2) file division determination function”, “(3) division area specifying function”, and “(4) thread generation function”. , “(5) storage file generation function”, “(6) data request function”, and “(7) data storage function”.

 「(1)ファイル容量確認機能」は、プライマリストレージサーバ10が、セカンダリストレージサーバ20に記憶するファイルをダウンロードすることを決定した場合、ダウンロード対象のファイルの容量をセカンダリストレージサーバ20に確認するための処理である。具体的には、ダウンロード対象のファイルを特定する情報(ファイル名等)と共に、ダウンロード対象のファイル容量を確認して問い合わせる旨の指示(コマンド等)を含む確認情報を、セカンダリストレージサーバ20へMPU10aが送信する制御を行う処理に応じた機能になっている。 The “(1) file capacity confirmation function” is used to confirm the capacity of a file to be downloaded with the secondary storage server 20 when the primary storage server 10 determines to download a file stored in the secondary storage server 20. It is processing. Specifically, the MPU 10a sends confirmation information including an instruction (command or the like) for confirming and inquiring about the capacity of the download target file to the secondary storage server 20 together with information (file name or the like) specifying the download target file. It has a function corresponding to the process of performing transmission control.

 「(2)ファイル分割判断機能」は、上記の確認情報の送信に応じて、セカンダリストレージサーバ20から、ダウンロード対象のファイルの容量を通知する通知情報を受信すると、その通知情報で通知されたファイル容量と、記憶部10gに記憶される分割閾値f1とを対比し、ファイル容量が分割閾値f1の設定値(例えば、300MB)を上回る場合(超過する場合)、ダウンロード対象のファイルを分割することを特定する機能になっている。なお、ファイル容量が分割閾値f1の設定値以下の場合(上回らない場合)、分割を行うことなく、プライマリストレージサーバ10はセカンダリストレージサーバ20からファイルをダウンロードすることになり、このような分割なしのダウンロードを行う場合は、従来と同様の処理になるので詳細は説明しない。 When “(2) File division determination function” receives notification information from the secondary storage server 20 in response to the transmission of the confirmation information, the file notified by the notification information is received. When the capacity is compared with the division threshold f1 stored in the storage unit 10g and the file capacity exceeds a set value (for example, 300 MB) of the division threshold f1, the file to be downloaded is divided. It is a function to identify. If the file capacity is equal to or less than the set value of the division threshold f1 (if it does not exceed), the primary storage server 10 will download the file from the secondary storage server 20 without dividing, and there is no such division. When downloading, the processing is the same as in the prior art, so details are not described.

 「(3)分割領域特定機能」は、通知情報で通知されたファイル容量に基づいて、ダウンロード対象のファイル15を分割する複数の領域を特定する処理であり、本実施形態では、記憶部10gに記憶される分割サイズf2の設定値を分割の領域範囲のサイズとして用いることにより、ファイル容量及び分割サイズf2により分割領域を特定している。具体的には、ダウンロード対象のファイルにおける最初の0MBに、分割サイズf2の設定値(例えば、100MB)を順次加えていくことで、ダウンロード対象のファイル15を分割する領域の開始バイト及び終了バイトを求めており、それにより、ファイルを分割する領域数及び各領域の位置範囲を特定している。 The “(3) division area specifying function” is a process for specifying a plurality of areas into which the file 15 to be downloaded is divided based on the file capacity notified by the notification information. By using the stored setting value of the divided size f2 as the size of the divided region range, the divided region is specified by the file capacity and the divided size f2. Specifically, by sequentially adding a set value (for example, 100 MB) of the division size f2 to the first 0 MB in the file to be downloaded, the start byte and end byte of the area into which the file 15 to be downloaded is divided are set. Thus, the number of areas into which the file is divided and the position range of each area are specified.

 図3に示すように、ダウンロード対象のファイル15のファイル容量が400MBの場合、最初の領域(第1領域15a)の開始バイト(0MB)に、分割サイズf2の設定値(100MB)を加えた99MBを第1領域15aの終了バイトとして特定し、その99MBに続く100MBを第2領域15bの開始バイトにして、以下同様に、その開始バイトに分割サイズf2の設定値を加えた199MBを第2領域15bの終了バイトとして特定し、199MBに続く200MBを第3領域15cの開始バイトにして、分割サイズf2の設定値を加えた299MBを第3領域15cの終了バイトとして特定し、299MBに続く300MBを第4領域15dの開始バイトにして、分割サイズf2の設定値を加えた399MBを第4領域15bの終了バイトとして特定する。このような特定の仕方により、各領域の位置範囲が定まることになる。 As shown in FIG. 3, when the file capacity of the file 15 to be downloaded is 400 MB, 99 MB obtained by adding the set value (100 MB) of the division size f2 to the start byte (0 MB) of the first area (first area 15a) Is determined as the end byte of the first area 15a, the next 100MB is set as the start byte of the second area 15b, and 199MB obtained by adding the set value of the division size f2 to the start byte is also set as the second area 15b. As the end byte of 15b, 200MB following 199MB is set as the start byte of the third area 15c, 299MB added with the set value of the division size f2 is specified as the end byte of the third area 15c, and 300MB following 299MB is specified. 399 MB obtained by adding the set value of the division size f2 as the start byte of the fourth area 15d is set to the fourth area 15 To identify as of the end byte. The position range of each region is determined by such a specific method.

 なお、ファイルを分割する領域の特定の仕方としては、上記以外にも、複数の方式が想定され、例えば、ダウンロード対象のファイル15において、ファイル容量を分割サイズf2で除算することにより、まず、ファイル15の全領域を分割する数を特定し、それから、ファイルの開始バイトに順次、分割サイズを加えることで、各領域の位置範囲を特定することも可能である。また、ファイル分割領域の位置範囲を指定したルックアップテーブル等を準備しておき(第1領域から第N領域(Nは2以上の整数)までの開始及び終了バイトを指定したテーブル等)、その指定された内容に基づき、ダウンロード対象のファイルの分割領域を特定する仕様にすることも可能である。このようにルックアップテーブル等を用いる場合は、分割サイズf2の使用を省略できる。 In addition to the above, a plurality of methods are assumed as a method of specifying the area into which the file is divided. For example, in the file 15 to be downloaded, by dividing the file capacity by the division size f2, first, the file It is also possible to specify the position range of each area by specifying the number to divide all 15 areas and then adding the division size sequentially to the start byte of the file. In addition, a lookup table that specifies the position range of the file division area is prepared (a table that specifies the start and end bytes from the first area to the Nth area (N is an integer of 2 or more), and the like. Based on the specified contents, it is also possible to make a specification for specifying a divided area of a file to be downloaded. Thus, when using a lookup table etc., use of division | segmentation size f2 can be abbreviate | omitted.

 「(4)スレッド生成機能」は、ダウンロード対象のファイルについて特定した各領域の数に応じた処理を、時分割(タイムシェアリング)で同時並行的に行えるようにするために、スレッドを生成するものである(並列処理のために確立される)。生成されるスレッドの数は、CPU40aの処理能力及びRAM10cの容量等により上限が定まり、本実施形態では、最大4つまでスレッドを生成可能にしている。そのため、ダウンロード対象のファイルの分割領域数が、スレッドの最大生成可能数に収まる場合、この「(4)スレッド生成機能」では、ファイルの分割領域数と同数のスレッドを生成する。 “(4) Thread generation function” generates a thread so that processing corresponding to the number of areas specified for the file to be downloaded can be performed in parallel in a time-sharing manner (time sharing). (Established for parallel processing). The upper limit of the number of threads to be generated is determined by the processing capacity of the CPU 40a, the capacity of the RAM 10c, and the like. In this embodiment, up to four threads can be generated. For this reason, when the number of divided areas of the file to be downloaded falls within the maximum number of threads that can be generated, this “(4) thread generation function” generates the same number of threads as the number of divided areas of the file.

 よって、図3に示すように、ダウンロード対象のファイル15が第1領域15a~第4領域15dの計4つの領域に分割される場合、「(4)スレッド生成機能」により生成されるスレッド数は、分割領域数と同数の4になる(図2(a)等参照)。この場合、生成された第1スレッド14a~第4スレッド14dについて、「(4)スレッド生成機能」により、最初の第1スレッド14aは、ファイル15の第1領域15aに対する処理用として設定され、以下、2番目の第2スレッド14bは第2領域15bに対する処理用、3番目の第3スレッド14cは第3領域15cに対する処理用、4番目の第4スレッド14dは第4領域15dに対する処理用としてそれぞれ設定される。 Therefore, as shown in FIG. 3, when the file 15 to be downloaded is divided into a total of four areas, the first area 15a to the fourth area 15d, the number of threads generated by “(4) thread generation function” is The number is equal to 4 as the number of divided regions (see FIG. 2A, etc.). In this case, with respect to the generated first thread 14a to fourth thread 14d, the first first thread 14a is set for processing with respect to the first area 15a of the file 15 by “(4) Thread generation function”. The second second thread 14b is for processing the second area 15b, the third third thread 14c is for processing the third area 15c, and the fourth fourth thread 14d is for processing the fourth area 15d. Is set.

 なお、ダウンロード対象のファイルの分割領域数が計3つの場合、生成されるスレッド数は3となり、ダウンロード対象のファイルの分割領域数が計2つの場合、生成されるスレッド数は2となる。また、ダウンロード対象のファイルの分割領域数が、生成可能なスレッド数の上限(本実施形態では4)を超える場合は、生成されるスレッド数は上限の4になる(例えば、ダウンロード対象のファイルの分割領域数が計6つの場合でも、本実施形態において生成されるスレッド数は4に留まる)。 If the number of divided areas of the file to be downloaded is three, the number of threads to be generated is three. If the number of divided areas of the file to be downloaded is two, the number of threads to be generated is two. When the number of divided areas of the file to be downloaded exceeds the upper limit of the number of threads that can be generated (4 in the present embodiment), the number of threads to be generated becomes the upper limit of 4 (for example, the file to be downloaded) Even when the number of divided areas is six, the number of threads generated in the present embodiment remains four).

 このように生成されるスレッドの数(スレッド数)は、ダウンロードシステム1における同時的処理可能数に該当し、プライマリストレージサーバ10及びセカンダリストレージサーバ20の間で時分割により並列処理を行える数(時間的に同時期に処理できる数)は、スレッド数と同じになる。なお、本実施形態では、CPU40aの処理能力及びRAM10cの容量等によりスレッド数の上限は4にしたが、本実施形態より処理能力の高いMPU10a及び容量の大きいRAM10c等を用いるときは、生成可能なスレッド数の上限を4より多くすることも可能である(例えば、スレッド数を8又は16等にすることも可能)。なお、生成されるスレッド14a等の処理(ダウンロード処理)は、基本的に同じ時間帯で行われるが、スレッドそれそれで独立して処理を進行するので、処理の終了時期は同時期にならないことがある。 The number of threads (number of threads) generated in this way corresponds to the number that can be processed simultaneously in the download system 1, and the number (time that can be processed in parallel by time division between the primary storage server 10 and the secondary storage server 20. Thus, the number that can be processed at the same time) is equal to the number of threads. In this embodiment, the upper limit of the number of threads is set to 4 depending on the processing capacity of the CPU 40a and the capacity of the RAM 10c. However, the upper limit of the number of threads can be generated when using the MPU 10a having a higher processing capacity, the RAM 10c having a larger capacity, It is also possible to increase the upper limit of the number of threads to more than 4 (for example, the number of threads can be 8 or 16, etc.). Note that the processing (downloading processing) of the generated thread 14a and the like is basically performed in the same time zone, but since the processing proceeds independently with each thread, the processing end time may not be the same period. is there.

 また、「(5)格納ファイル生成機能」は、ダウンロードしたファイルを格納するための格納ファイルを生成する機能であり、この機能により、上述した「(3)分割領域特定機能」で特定したダウンロード対象のファイル15の第1領域15a~第4領域15dに対応した第1格納領域5a~第4格納領域5dを有する格納ファイル5(図2(a)参照)がプライマリストレージ11に生成される。「(5)格納ファイル生成機能」で両ファイルの領域の対応関係が設定され、具体的には、格納ファイル5の第1格納領域5aが、ダウンロード対象のファイル15の第1領域15aに対応し、以下、格納ファイル5の第2格納領域5aが、ファイル15の第2領域15bに対応し、格納ファイル5の第3格納領域5cが、ファイル15の第3領域15cに対応し、格納ファイル5の第4格納領域5dが、ファイル15の第4領域15dに対応することが設定される。なお、このような格納ファイル5は、ダウンロード対象のファイル15の各領域15a~15dと同サイズ(同容量)の格納領域5a~5dが確保されただけになっており、これらの各格納領域5a~5dの中身は、生成時点では空になっている。 The “(5) storage file generation function” is a function for generating a storage file for storing the downloaded file. With this function, the download target specified by the “(3) divided area specifying function” described above is used. The storage file 5 (see FIG. 2A) having the first storage area 5a to the fourth storage area 5d corresponding to the first area 15a to the fourth area 15d of the file 15 is generated in the primary storage 11. The correspondence relationship between the areas of both files is set by “(5) storage file generation function”. Specifically, the first storage area 5a of the storage file 5 corresponds to the first area 15a of the file 15 to be downloaded. Hereinafter, the second storage area 5a of the storage file 5 corresponds to the second area 15b of the file 15, the third storage area 5c of the storage file 5 corresponds to the third area 15c of the file 15, and the storage file 5 The fourth storage area 5d is set to correspond to the fourth area 15d of the file 15. Such a storage file 5 has only storage areas 5a to 5d having the same size (same capacity) as the areas 15a to 15d of the file 15 to be downloaded. These storage areas 5a The contents of ˜5d are empty at the time of generation.

 「(6)データ要求機能」は、上述した「(4)スレッド生成機能」により生成されたスレッド14a~14dの数に従って、並列処理によりファイル15の中の各領域に応じたデータを同時的に呼び出す機能である。なお、並列処理で同時期に処理を行うことは、時分割処理が実行されることから、厳密には各処理が同時ではなく、多少の時間的なズレを許容したものとなっており、それゆえ、このような時分割処理による多少の時間的なズレを含むという意味合いで同時的という文言を用いている。 The “(6) data request function” is configured to simultaneously execute data corresponding to each area in the file 15 by parallel processing according to the number of threads 14a to 14d generated by the above “(4) thread generation function”. It is a function to call. Note that performing parallel processing at the same time is because time-sharing processing is performed, strictly speaking, each processing is not simultaneous, and some time deviation is allowed. Therefore, the term “simultaneous” is used in the sense of including a slight time shift due to such time-sharing processing.

 「(6)データ要求機能」の具体的な内容としては、ダウンロード対象のファイル15の各領域15a~15dに含まれるデータを同時的処理可能数に従って同時的にダウンロードするように、データの呼び出し(要求)を行うための要求情報をセカンダリストレージサーバ20へMPU10が送信する制御を行う処理機能になっている。この機能では、各スレッド14a~14dを通じて並列処理で要求情報をそれぞれ送信するので、同時的処理可能数(この場合であれば、同時的処理可能数はスレッド数と同数の4になる)に従って同時的に各データが呼び出されることになる。また、それぞれの要求情報は、ダウンロード対象のファイル15の中の呼び出し対象となる領域の位置範囲を指定する情報、及びその指定された位置範囲の領域に含まれるデータを呼び出す指示を含む。 The specific content of the “(6) data request function” is a data call (so that data included in each of the areas 15a to 15d of the file 15 to be downloaded is downloaded simultaneously according to the simultaneously processable number ( This is a processing function for performing control for the MPU 10 to transmit request information for performing (request) to the secondary storage server 20. In this function, request information is transmitted in parallel processing through each of the threads 14a to 14d, so that the number of simultaneous processing is simultaneous (in this case, the number of simultaneous processing is 4 which is the same as the number of threads). Each data will be called. Each request information includes information for specifying the position range of the area to be called in the file 15 to be downloaded, and an instruction for calling data included in the area of the specified position range.

 領域の位置範囲を指定する情報は、上記の「(3)分割領域特定機能」により特定された領域の範囲における開始バイト(開始位置)及び終了バイト(終了位置)を指定するものとなっており、それにより、指定された領域の位置範囲に含まれるデータを呼び出すことが可能となる。 The information specifying the position range of the area specifies the start byte (start position) and end byte (end position) in the area range specified by the “(3) division area specifying function” above. Thereby, it becomes possible to call up data included in the position range of the designated area.

 「(7)データ格納機能」は、上述した「(6)データ要求機能」による要求情報の送信に応じて、セカンダリストレージサーバ20から、第1領域15a~第4領域15dに含まれるデータが、各スレッド14a~14dを介し、それぞれダウンロードされてくると、それらのデータを受信し、受信した各データを、上記の「(5)格納ファイル生成機能」で生成した格納ファイル5の各格納領域5a~5dにそれぞれ格納する機能になる。このとき、第1領域15aに含まれていた一つ目のデータ150aは、その第1領域15aに対応する第1格納領域5aに格納され、以下、二つ目のデータ150bは、第2領域15bに対応する第2格納領域5bに格納され、三つ目のデータ150cは、第3領域15cに対応する第3格納領域5cに格納され、四つ目のデータ150dは、第4領域15dに対応する第4格納領域5dに格納される。 “(7) Data storage function” indicates that data included in the first area 15a to the fourth area 15d is transmitted from the secondary storage server 20 in response to the transmission of the request information by “(6) Data request function” described above. When the data is downloaded through the threads 14a to 14d, the data is received, and the received data is stored in the storage areas 5a of the storage file 5 generated by the “(5) storage file generation function”. It becomes a function to store each in 5d. At this time, the first data 150a included in the first area 15a is stored in the first storage area 5a corresponding to the first area 15a. Hereinafter, the second data 150b is stored in the second area 15a. Stored in the second storage area 5b corresponding to 15b, the third data 150c is stored in the third storage area 5c corresponding to the third area 15c, and the fourth data 150d is stored in the fourth area 15d. It is stored in the corresponding fourth storage area 5d.

 これらデータ150a~150dの格納状況としては、図2(b)に示すように、各スレッド14a~14dを通じて、セカンダリストレージサーバ20から、ダウンロード対象のファイル15の第1領域15a~第4領域15dに含まれる各データ150a~150dが、時分割で並列的にプライマリストレージサーバ10へダウンロードされる状況になっており、それに伴い、格納ファイル5においても、各スレッド14a~14dに対応する第1格納領域5a~第4格納領域5dへの各データ150a~150dの格納処理も並列的に行われる。次に、ダウンロードシステム1におけるセカンダリストレージサーバ20について説明する。 The storage status of these data 150a to 150d is as follows from the secondary storage server 20 to the first area 15a to the fourth area 15d of the file 15 to be downloaded through the threads 14a to 14d as shown in FIG. Each of the included data 150a to 150d is downloaded to the primary storage server 10 in a time-sharing manner in parallel, and accordingly, in the storage file 5, the first storage area corresponding to each thread 14a to 14d The storage processing of the data 150a to 150d in 5a to the fourth storage area 5d is also performed in parallel. Next, the secondary storage server 20 in the download system 1 will be described.

 図6は、ダウンロードシステム1を構成するセカンダリストレージサーバ20(サーバ装置に相当)の主要な内部構成を示している。本実施形態のセカンダリストレージサーバ20にも、プライマリストレージサーバ10と同様、一般的なサーバコンピュータを適用しており、全体的な制御及び各種処理を行うMPU20aに、各種デバイス等を内部接続線20hで接続したものになっており、各種デバイス等には、通信モジュール20b、RAM20c、ROM20d、入力インタフェース20e、出力インタフェース20f、記憶部20g、及びセカンダリストレージ21等がある。なお、セカンダリストレージ21には、本発明においてダウンロードの対象となるファイル15が記憶される。 FIG. 6 shows a main internal configuration of the secondary storage server 20 (corresponding to the server device) constituting the download system 1. Similarly to the primary storage server 10, a general server computer is applied to the secondary storage server 20 of the present embodiment, and various devices are connected to the MPU 20a that performs overall control and various processing via the internal connection line 20h. Various devices include a communication module 20b, a RAM 20c, a ROM 20d, an input interface 20e, an output interface 20f, a storage unit 20g, a secondary storage 21, and the like. The secondary storage 21 stores a file 15 to be downloaded in the present invention.

 通信モジュール20b~出力インタフェース20fについては、図4に示すプライマリストレージサーバ10の通信モジュール10b~出力インタフェース10fと同等なものであるので、説明は省略する(入力インタフェース20eに接続されるキーボード20i及び出力インタフェース20fに接続されるディスプレイ20iも、プライマリストレージサーバ10のものと同様)。 Since the communication module 20b to the output interface 20f are the same as the communication module 10b to the output interface 10f of the primary storage server 10 shown in FIG. 4, description thereof is omitted (the keyboard 20i connected to the input interface 20e and the output). The display 20i connected to the interface 20f is the same as that of the primary storage server 10).

 また、セカンダリストレージサーバ20の記憶部20gは、サーバプログラムP5、及びストレージプログラムP6等を記憶している。サーバプログラムP5は、サーバコンピュータ用のオペレーティングシステムに応じた各種処理を規定したものであり、図4に示すプライマリストレージサーバ10のサーバプログラムP1と基本的に同等な処理を規定し、この規定内容に基づいた処理をMPU20aが行うことで、セカンダリストレージサーバ20はサーバコンピュータとしての機能を果たす。 Further, the storage unit 20g of the secondary storage server 20 stores a server program P5, a storage program P6, and the like. The server program P5 defines various processes in accordance with the operating system for the server computer. The server program P5 defines processes that are basically equivalent to the server program P1 of the primary storage server 10 shown in FIG. When the MPU 20a performs the processing based on the secondary storage server 20, the secondary storage server 20 functions as a server computer.

 ストレージプログラムP6は、上述したプライマリストレージサーバ10のMPU10aがエージェント12として行う各種処理に対応して、セカンダリストレージサーバ20のMPU20aが行う処理内容を規定したものであるが、このストレージプログラムP6は、一般的なストレージサーバの処理を規定したものになっている。 The storage program P6 defines the processing contents performed by the MPU 20a of the secondary storage server 20 in response to the various processes performed by the MPU 10a of the primary storage server 10 as the agent 12. The storage program P6 The standard storage server process is specified.

 すなわち、セカンダリストレージサーバ20が通信モジュール20bを通じて、ファイル15の容量を問い合わせる旨の確認情報を受信すると、その確認情報に示されるファイル名等に基づき、問い合わせ対象のファイルをMPU20aがセカンダリストレージ21に記憶されている中から特定すると共に、その特定したファイル(例えば、ファイル15)のファイル容量を特定することを、ストレージプログラムP6は規定する。また、ストレージプログラムP6は、上記のように特定したファイル容量を通知する通知情報を、MPU20aが生成し、その生成した通知情報を、上記の確認情報の送信元の装置へ送信する処理も規定している。 That is, when the secondary storage server 20 receives confirmation information for inquiring about the capacity of the file 15 through the communication module 20b, the MPU 20a stores the inquiry target file in the secondary storage 21 based on the file name indicated in the confirmation information. The storage program P6 specifies that the file capacity of the specified file (for example, the file 15) is specified as well as specifying from among those specified. The storage program P6 also defines a process in which the MPU 20a generates notification information for notifying the specified file capacity as described above, and transmits the generated notification information to the device that has transmitted the confirmation information. ing.

 このように、セカンダリストレージサーバ20においては、プライマリストレージサーバ10からの情報に基づき各種処理を行うだけであり、図3に示すように、ファイル15の各領域15a~15dを特定する処理もプライマリストレージサーバ10で行われるだけであり、セカンダリストレージサーバ20ではファイルを分割する領域を特定する処理を行わないので、セカンダリストレージサーバ20の処理負担は、従来のファイル分割によるダウンロードに比べて低減している。 As described above, the secondary storage server 20 only performs various processes based on the information from the primary storage server 10, and the process for specifying the areas 15a to 15d of the file 15 is also performed as shown in FIG. Since the processing is only performed by the server 10 and the secondary storage server 20 does not perform the process of specifying the area to divide the file, the processing load on the secondary storage server 20 is reduced as compared with the conventional file division download. .

 さらに、ストレージプログラムP6は、ファイル中の領域を指定したデータの要求(呼び出し)に応じた要求情報を受信すると、MPU20aが、その要求情報で指定されるファイルの領域に含まれるデータを、セカンダリストレージ21から読み出して、要求情報の送信元の装置へ送信する処理を規定している。この場合、複数のスレッドを通じて、時分割処理で同時的(並列的)に、複数の要求情報を受信すると、ストレージプログラムP2は、上述したデータの読み出し及び送信を、各スレッドに基づいて、時分割で同時的に処理することを規定している。そのため、図2(a)、図2(b)に示すように、計4つのスレッド14a~スレッド14dが用いられる場合、スレッド数に従って、ダウンロード対象のファイル15に含まれる各領域15a~15dに含まれるデータ150a~150dを同時的にプライマリストレージサーバ10へ送信することになる。 Further, when the storage program P6 receives the request information corresponding to the data request (call) specifying the area in the file, the MPU 20a stores the data included in the file area specified by the request information in the secondary storage. The process of reading out from 21 and transmitting the request information to the transmission source apparatus is defined. In this case, when a plurality of pieces of request information are received simultaneously (in parallel) in a time-sharing process through a plurality of threads, the storage program P2 reads and transmits the data described above based on each thread. It is stipulated that processing at the same time. Therefore, as shown in FIGS. 2A and 2B, when a total of four threads 14a to 14d are used, they are included in the respective areas 15a to 15d included in the file 15 to be downloaded according to the number of threads. The data 150a to 150d to be transmitted to the primary storage server 10 simultaneously.

 図7は、上述したような処理を行うプライマリストレージサーバ10及びセカンダリストレージサーバ20によって構成されるダウンローシステム1によるダウンロード方法の一連の処理手順を示した第1フローチャートである(なお、第1フローチャートの中で、プライマリストレージサーバ10の側で行われる各処理は、プライマリストレージサーバ10(通信装置)によるダウンロード方法の処理手順を示したものになる。以下同様)。この第1フローチャートに従って、以下にダウンロード方法を説明する。 FIG. 7 is a first flowchart showing a series of processing procedures of the download method by the download system 1 configured by the primary storage server 10 and the secondary storage server 20 that perform the processing as described above (in the first flowchart). Among them, each processing performed on the primary storage server 10 side shows a processing procedure of a download method by the primary storage server 10 (communication device) (the same applies hereinafter). The download method will be described below according to the first flowchart.

 まず、プライマリストレージサーバ10(MPU10aによるエージェント12)は、上述した「(1)ファイル容量確認機能」により、ダウンロード対象のファイルを記憶するセカンダリストレージサーバ20へ、ファイル容量を確認するための確認情報を送信する(S1)。 First, the primary storage server 10 (the agent 12 by the MPU 10a) sends confirmation information for confirming the file capacity to the secondary storage server 20 storing the file to be downloaded by the above-mentioned “(1) File capacity confirmation function”. Transmit (S1).

 セカンダリストレージサーバ20(MPU20a)は最初、確認情報を受信したか否かを判断する段階になっており(S11)、受信していない場合(S11:NO)、受信待ちの状態となり、一方、確認情報を受信した場合(S11:YES)、確認対象のファイルを特定すると共に、その特定したファイルのファイル容量を検知し、その検知したファイル容量を通知するための通知情報を生成してプライマリストレージサーバ10へ送信する(S12)。 The secondary storage server 20 (MPU 20a) is initially in a stage of determining whether or not confirmation information has been received (S11). If it has not been received (S11: NO), the secondary storage server 20 (MPU 20a) is in a reception waiting state. When the information is received (S11: YES), the file to be confirmed is identified, the file capacity of the identified file is detected, and notification information for notifying the detected file capacity is generated to generate the primary storage server 10 (S12).

 プライマリストレージサーバ10は、S1の段階の確認情報の送信に応じて、セカンダリストレージサーバ20からの通知情報を受信したか否かを判断する段階になっており(S2)、受信していない場合(S2:NO)、受信待ちの状態となり、一方、通知情報を受信した場合(S2:YES)、上述した「(2)ファイル分割判断機能」により、受信した通知情報で通知されたファイル容量を、記憶部10gで記憶する分割閾値f1とを対比し、ファイル容量が分割閾値f1を超過するか否かを判断する(S3)。 The primary storage server 10 is in a stage of determining whether or not the notification information from the secondary storage server 20 has been received in response to the transmission of the confirmation information in the stage of S1 (S2). (S2: NO), a state of waiting for reception, on the other hand, when the notification information is received (S2: YES), the file capacity notified by the received notification information by the “(2) file division determination function” described above, The division threshold f1 stored in the storage unit 10g is compared, and it is determined whether or not the file capacity exceeds the division threshold f1 (S3).

 ファイル容量が分割閾値f1を超過しない場合(S3:NO)、ファイルを分割することなく、プライマリストレージサーバ10は通常のダウンロード処理を行う(このダウンロード処理は、従来と同様であることから詳説しない)。また、ファイル容量が分割閾値f1を超過した場合(S3:YES)、プライマリストレージサーバ10は、上述した「(3)分割領域特定機能」により、ダウンロード対象のファイル15を分割する領域15a~15d(図3参照)を特定すると共に(S4)、上述した「(4)スレッド生成機能」により、分割領域数に基づき第1スレッド14a~第4スレッド14d(図2(a)等参照)を生成する(S5)。 When the file capacity does not exceed the division threshold f1 (S3: NO), the primary storage server 10 performs a normal download process without dividing the file (this download process is the same as the conventional one, and will not be described in detail). . Further, when the file capacity exceeds the division threshold f1 (S3: YES), the primary storage server 10 uses the above-mentioned “(3) division area specifying function” to give the areas 15a to 15d (divided areas 15a-15d (divided) to be downloaded). 3) is specified (S4), and the above-described “(4) thread generation function” generates the first thread 14a to the fourth thread 14d (see FIG. 2A, etc.) based on the number of divided areas. (S5).

 そして、プライマリストレージサーバ10は、上述した「(5)格納ファイル生成機能」により、ダウンロード対象のファイル15の各領域15a~15dに対応した各格納領域5a~5dを有する格納ファイル5(図2(a)等参照)を生成する(S6)。なお、格納ファイル5の生成を行うS6の段階の処理と、上述したスレッド生成のS5の段階は、処理の順序を入れ替えることも可能である。 The primary storage server 10 stores the storage file 5 having the storage areas 5a to 5d corresponding to the areas 15a to 15d of the file 15 to be downloaded (see FIG. 2 (FIG. 2). a)) is generated (S6). It should be noted that the processing order of the process of S6 for generating the storage file 5 and the above-described process of S5 for thread generation can be interchanged.

 それからプライマリストレージサーバ10は図2(a)に示すように、上述した「(6)データ要求機能」により、ダウンロード対象のファイル15における複数の各領域15a~15dにそれぞれ含まれる複数のデータ150a~150dを、同時的に呼び出すように、各スレッド14a~14dを介し、データを要求する要求情報をセカンダリストレージサーバ20へ送信する(S7)。なお、このS7の段階の処理により、要求情報は、スレッド14a~14dの数(同時的処理可能数)に従って送信されることなり(同時的に送信される要求情報の数は、スレッド14a~14dの数と同じ)、また、一度に呼び出されるデータの数もスレッド14a~14dの数と同じになる。 Then, as shown in FIG. 2A, the primary storage server 10 uses the above-described “(6) data request function” to store a plurality of data 150a to 150a included in each of the plurality of areas 15a to 15d in the file 15 to be downloaded. Request information for requesting data is transmitted to the secondary storage server 20 via the threads 14a to 14d so as to call 150d simultaneously (S7). By the processing in step S7, the request information is transmitted according to the number of threads 14a to 14d (the number that can be processed simultaneously) (the number of request information transmitted simultaneously is the number of threads 14a to 14d). And the number of data called at a time is the same as the number of threads 14a to 14d.

 セカンダリストレージサーバ20は、S12の段階の通知情報の送信に応じて、プライマリストレージサーバ10からの要求情報を受信したか否かを判断する段階になっており(S13)、受信していない場合(S13:NO)、受信待ちの状態となる。一方、要求情報を受信した場合(S13:YES)、セカンダリストレージサーバ20は、受信した各要求情報で指定されるダウンロード対象のファイル15における複数の領域15a~15dにそれぞれ含まれる各データ150a~150dを読み出して、図2(b)に示すように各スレッド14a~14dを介し、同時的にプライマリストレージサーバ10へ送信する処理を行う(S14)。なお、一度に同時的に送信されるデータ150a~150dの数は、各スレッド14a~14dの数と同数になる(スレッド数に従った数になる)。また、セカンダリストレージサーバ20は、各データ150a~150dの送信が完了すると、ダウンロード方法における処理は終了することになる。 The secondary storage server 20 is in a stage of determining whether or not the request information from the primary storage server 10 has been received in response to the transmission of the notification information in the stage of S12 (S13). S13: NO), a reception waiting state is entered. On the other hand, when the request information is received (S13: YES), the secondary storage server 20 stores the data 150a to 150d included in each of the plurality of areas 15a to 15d in the download target file 15 specified by the received request information. As shown in FIG. 2B, a process of simultaneously transmitting to the primary storage server 10 through the threads 14a to 14d is performed (S14). Note that the number of data 150a to 150d transmitted simultaneously at the same time is the same as the number of threads 14a to 14d (the number depends on the number of threads). Further, when the secondary storage server 20 completes the transmission of the data 150a to 150d, the processing in the download method ends.

 プライマリストレージサーバ10は、S7の段階の要求情報の送信に応じて、各スレッド14a~14dを通じ、それぞれデータ150a~150dを同時的に受信し、受信した各データ150a~150dを、それらの各データ150a~150dが含まれていたファイル15の各領域15a~15dに対応する格納ファイル5の各格納領域5a~5dに、格納する処理を行う(S8)。この処理により、図2(b)、(c)に示すように、第1領域15aの第1データ150aは第1格納領域5aへ格納され、第2領域15bの第2データ150bは第2格納領域5bへ格納され、第3領域15cの第3データ150cは第3格納領域5cへ格納され、第4領域15dの第4データ150dは第4格納領域5dへ格納されていく。 The primary storage server 10 receives the data 150a to 150d simultaneously through the threads 14a to 14d in response to the transmission of the request information in the step S7, and receives the received data 150a to 150d. The storage processing is performed in the storage areas 5a to 5d of the storage file 5 corresponding to the areas 15a to 15d of the file 15 in which 150a to 150d were included (S8). By this processing, as shown in FIGS. 2B and 2C, the first data 150a in the first area 15a is stored in the first storage area 5a, and the second data 150b in the second area 15b is stored in the second storage. Stored in the area 5b, the third data 150c in the third area 15c is stored in the third storage area 5c, and the fourth data 150d in the fourth area 15d is stored in the fourth storage area 5d.

 それからプライマリストレージサーバ10は、各データ150a~150dの全データ容量が格納されたか否かを、通知情報で通知されたファイル容量と対比して判断し(S9)、全データ容量が格納されていない場合(S9:NO)、S8の段階へ戻り、引き続き、データの受信及び格納の処理を行い、また、各データ150a~150dの全データ容量を格納した場合(S9:YES)、処理を終了する。 Then, the primary storage server 10 determines whether or not the total data capacity of each data 150a to 150d is stored in comparison with the file capacity notified by the notification information (S9), and the total data capacity is not stored. If this is the case (S9: NO), the process returns to the step S8 to continue the data reception and storage process. If the total data capacity of each data 150a to 150d is stored (S9: YES), the process ends. .

 各データ150a~150dが格納された状態の格納ファイル5は、ファイルの中身が各データ150a~150dにより構成されており、一方、ダウンロード対象のファイル5も、そのファイルの中身は各データ150a~150dにより構成されているので、両者がファイルの中身が同じなので、各データ150a~150dが格納された状態の格納ファイル5は、ダウンロード対象のファイル15として用いることが可能となる(ダウンロード対象のファイル15と同じものになる)。 The storage file 5 in a state where each data 150a to 150d is stored is configured by the data 150a to 150d. On the other hand, the file 5 to be downloaded also includes the data 150a to 150d. Since the contents of the files are the same, the storage file 5 in which the data 150a to 150d are stored can be used as the download target file 15 (the download target file 15). Will be the same).

 なお、上述した本発明に係るダウンロードでは、スレッド14a~14dを介した処理は時間的に同時期に開始されて、大部分のダウンロード処理は同時期に行われるが、それぞれのスレッド14a~14dの処理は独立して実行されるので、ダウンロード対象のデータの容量が同じであっても、ダウンロード処理時における実際の通信状況(混雑度)及び各スレッドに係る処理状況等の相違により、ダウンロード完了の時期は同時期にならずに、スレッドごとに異なることも生じることがある(ダウンロード完了の時期は、スレッド間で同期しないことがある)。 In the download according to the present invention described above, the processing via the threads 14a to 14d is started at the same time and most of the download processing is performed at the same time, but each thread 14a to 14d Since the processing is executed independently, even if the download target data capacity is the same, the download completion is not possible due to differences in the actual communication status (congestion level) during the download processing and the processing status related to each thread. The timing may not be the same period and may vary from thread to thread (the download completion time may not be synchronized between threads).

 上述したように、ダウンロード対象のファイルを記憶するセカンダリストレージサーバ20(サーバ装置)側ではプライマリストレージサーバ10からの指示に合わせた処理を行うだけであり、セカンダリストレージサーバ20が主になってダウンロード対象のファイルの分割処理を行う必要が無いので、従来のダウンロード対象のファイルを分割するものに比べて、サーバ装置側の処理負担を低減できるメリットがある。なお、本発明は上述した実施形態に限定されるものではなく、様々な変形例が想定できる。 As described above, the secondary storage server 20 (server device) that stores the download target file only performs processing in accordance with the instruction from the primary storage server 10, and the secondary storage server 20 mainly performs the download target. Therefore, there is an advantage that the processing load on the server device side can be reduced as compared with the conventional method of dividing the file to be downloaded. In addition, this invention is not limited to embodiment mentioned above, Various modifications can be assumed.

 図8(a)は変形例に係るメニュー画面16を示しており、このメニュー画面16は、上述した図4に示すプライマリストレージサーバ10の記憶部10gに記憶される分割サイズf2の設定値をデフォルト値から他の値に変更できるようにするためのものであり、変更する分割サイズに係る数値を受け付け可能にした処理プログラムP2の機能の一つとして具備される。プライマリストレージサーバ10のシステム管理者が、キーボード10i等を用いて所定の操作を行うと、ディスプレイ10jにメニュー画面16が表示されるようになる。 FIG. 8A shows a menu screen 16 according to a modified example. This menu screen 16 defaults the setting value of the division size f2 stored in the storage unit 10g of the primary storage server 10 shown in FIG. 4 described above. This is for changing the value from one value to another, and is provided as one of the functions of the processing program P2 that makes it possible to accept a numerical value related to the division size to be changed. When the system administrator of the primary storage server 10 performs a predetermined operation using the keyboard 10i or the like, the menu screen 16 is displayed on the display 10j.

 メニュー画面16は、設定値入力欄16aと、選択可能なOKボタン16b及び戻りボタン16cを有する。システム管理者がキーボード10i等を操作することで、設定値入力欄16aに所望の数値の入力を行った状態で、マウス等によりOKボタン16bの選択操作を行うと、プライマリストレージサーバ10(MPU)10aは、設定値入力欄16aに入力された数値を受け付けたことになり、この受け付けた数値を記憶部10gに分割サイズf2として記憶して設定し、その後の処理では、新たな設定値として、記憶部10gに記憶されている分割サイズf2の数値が用いられる。 The menu screen 16 has a set value input field 16a, a selectable OK button 16b, and a return button 16c. When the system administrator operates the keyboard 10i, etc., and performs the selection operation of the OK button 16b with a mouse or the like in a state where a desired numerical value is input to the set value input field 16a, the primary storage server 10 (MPU) 10a has received the numerical value input in the set value input field 16a, and stores and sets the received numerical value as the division size f2 in the storage unit 10g. In the subsequent processing, as a new setting value, The numerical value of the division size f2 stored in the storage unit 10g is used.

 図8(b)(c)は、分割サイズf2が上述したように変更されることで、分割される領域及び分割数が変わることを示している。ダウンロード対象のファイル15は、上述した実施形態と同様に、ファイル容量が400MBであるとした場合で、分割サイズf2も最初は、上述した実施形態と同様に100MBであるとしたとき、ファイル15は第1領域15a~第4領域15dの計4つの領域に分割されるが(図3参照)、上記のメニュー画面16の操作を経て、分割サイズf2が200MBに増加するように変更された場合、ファイル15は、第1領域15a′及び第2領域15b′の計2つの領域に分割されることなる(図8(b)参照)。この場合、第1領域15a′の開始アドレスは0MB、終了アドレス199MBとなり、第2領域15b′の開始アドレスは200MB、終了アドレス399MBになる。 FIGS. 8B and 8C show that the area to be divided and the number of divisions are changed by changing the division size f2 as described above. Similarly to the above-described embodiment, the file 15 to be downloaded is assumed to have a file capacity of 400 MB. When the division size f2 is initially 100 MB as in the above-described embodiment, Although divided into a total of four areas, the first area 15a to the fourth area 15d (see FIG. 3), when the division size f2 is changed to increase to 200 MB through the operation of the menu screen 16 described above, The file 15 is divided into a total of two areas, a first area 15a ′ and a second area 15b ′ (see FIG. 8B). In this case, the start address of the first area 15a ′ is 0 MB and the end address 199 MB, and the start address of the second area 15b ′ is 200 MB and the end address 399 MB.

 また、上記のメニュー画面16の操作を経て、分割サイズf2がデフォルト値の100MBから50MBに変更された場合、400MBのファイル容量のファイル15は、図8(c)に示すように、第1領域15a″~第8領域15h″の計8つの領域に分割される。この場合、第1領域15a″の開始アドレスは0MB、終了アドレス49MBとなり、以下、第2領域15b″の開始アドレスは50MB、終了アドレス99MB、第3領域15c″の開始アドレスは100MB、終了アドレス149MB、第4領域15d″の開始アドレスは150MB、終了アドレス199MB、第5領域15e″の開始アドレスは200MB、終了アドレス249MB、第6領域15f″の開始アドレスは250MB、終了アドレス299MB、第7領域15g″の開始アドレスは300MB、終了アドレス349MB、第8領域15h″の開始アドレスは350MB、終了アドレス399MBとなる。 In addition, when the division size f2 is changed from the default value 100 MB to 50 MB through the operation of the menu screen 16 described above, the file 15 having a file capacity of 400 MB is stored in the first area as shown in FIG. The area is divided into a total of 8 areas, 15a ″ to 8th area 15h ″. In this case, the start address of the first area 15a ″ is 0 MB and the end address is 49 MB. Hereinafter, the start address of the second area 15b ″ is 50 MB, the end address is 99 MB, the start address of the third area 15c ″ is 100 MB, and the end address is 149 MB. The start address of the fourth area 15d "is 150 MB, the end address is 199 MB, the start address of the fifth area 15e" is 200 MB, the end address is 249 MB, the start address of the sixth area 15f "is 250 MB, the end address is 299 MB, and the seventh area 15g The start address of ″ is 300 MB, the end address is 349 MB, the start address of the eighth area 15 h ″ is 350 MB, and the end address is 399 MB.

 このようにメニュー画面16で、システム管理者が分割サイズの数値を適宜変更することで、各サーバ10、20の処理性能、通信仕様、又は変化する通信環境等に応じて、適切な分割サイズを適宜設定できるようになり、柔軟なダウンロード環境を確保できるようになる。なお、設定値の変更は、分割サイズf2に限定されるものではなく、プライマリストレージサーバ10の記憶部10gに記憶される分割閾値f1の数値についても、上述したメニュー画面16と同等なメニュー画面により、システム管理者が適宜変更できるようにすることも可能である。 In this way, by appropriately changing the numerical value of the division size on the menu screen 16, an appropriate division size can be set according to the processing performance of each server 10, 20, communication specifications, changing communication environment, or the like. It can be set as appropriate, and a flexible download environment can be secured. Note that the change of the setting value is not limited to the division size f2, and the numerical value of the division threshold f1 stored in the storage unit 10g of the primary storage server 10 is also determined by a menu screen equivalent to the menu screen 16 described above. It is also possible for the system administrator to make appropriate changes.

 また、ファイルの分割領域数と生成可能なスレッド上限数との関係で、ファイルの分割領域数がスレッド上限数(同時的処理可能数)を上回る場合、ダウンロード処理を複数回繰り返すスレッドが生じることになる。 Also, if the number of divided areas of a file exceeds the upper limit number of threads (number of simultaneous processes) due to the relationship between the number of divided areas of the file and the maximum number of threads that can be generated, a thread that repeats the download process multiple times may occur. Become.

 図9(a)は、ダウンロード対象のファイル35が、計八つの第1領域35a~第8領域35hに分割される一方、生成されるスレッド数が計四つの場合のダウンロード処理の概要を示す。なお、この場合、プライマリストレージサーバ10側で生成される格納ファイル25は、ダウンロード対象のファイル35の分割領域数と同数の第1格納領域25a~第8格納領域25hを有するものとなっている。このような場合のダウンロード処理(ダウンロード方法)は、スレッド数が四つに対して、ファイル35の領域数が八つであることから、スレッドごとに計2回の同時的ダウンロード処理を行うことになる。 FIG. 9A shows an outline of the download process when the file 35 to be downloaded is divided into a total of eight first areas 35a to eighth areas 35h, and the total number of threads generated is four. In this case, the storage file 25 generated on the primary storage server 10 side has the same number of first storage areas 25a to 8h as the number of divided areas of the file 35 to be downloaded. In such a case, the download process (download method) is that the number of areas of the file 35 is eight with respect to the number of threads, and therefore, the simultaneous download process is performed twice for each thread. Become.

 すなわち、図9(b)のタイムチャートにおける一回目の同時的ダウンロード処理で、ファイル35の第1領域35a~第4領域35dのそれぞれに含まれるデータ140a~140dが、計四つの各スレッド14a~14dに従って、同時的に時分割でセカンダリストレージサーバ20からプライマリストレージサーバ10へダウンロードされ、ダウンロードされたデータ140a~140dは、格納ファイル25の第1格納領域25a~第4格納領域25dに格納される。 That is, in the first simultaneous download process in the time chart of FIG. 9B, the data 140a to 140d included in each of the first area 35a to the fourth area 35d of the file 35 is changed to a total of four threads 14a to 14a. 14d is downloaded simultaneously from the secondary storage server 20 to the primary storage server 10 in a time-sharing manner, and the downloaded data 140a to 140d are stored in the first storage area 25a to the fourth storage area 25d of the storage file 25. .

 この一回目の同時的ダウンロード処理が終了すると、次に、図9(b)のタイムチャートにおける二回目の同時的ダウンロード処理で、ファイル35の第5領域35e~第8領域35hのそれぞれに含まれるデータ140e~140hが、計四つの各スレッド14a~14dに従って、同時的に時分割でセカンダリストレージサーバ20からプライマリストレージサーバ10へダウンロードされ、ダウンロードされたデータ140a~140dは、格納ファイル25の第5格納領域25e~第8格納領域25hに格納されることになる。これにより、ファイル35の各領域35a~35hに含まれるデータ140a~140hの全てが、プライマリストレージサーバ10へダウンロードされる。 When the first simultaneous download processing is completed, next, the second simultaneous download processing in the time chart of FIG. 9B includes each of the fifth area 35e to the eighth area 35h of the file 35. The data 140e to 140h are downloaded from the secondary storage server 20 to the primary storage server 10 simultaneously in a time division manner according to the total of four threads 14a to 14d, and the downloaded data 140a to 140d are stored in the fifth storage file 25. It is stored in the storage area 25e to the eighth storage area 25h. As a result, all of the data 140a to 140h included in the areas 35a to 35h of the file 35 are downloaded to the primary storage server 10.

 図10の第2フローチャートは、上述した図9(a)(b)に示すように、ダウンロード対象のファイルの領域の分割数が、生成されるスレッド数を上回る場合の処理手順(ダウンロード方法の処理内容)を示している。この第2フローチャートにおけるプライマリストレージサーバ10のS21~S26の処理は、図7の第1フローチャートにおけるS1~S6の処理と基本的に同内容になっており、また、第2フローチャートにおけるセカンダリストレージサーバ20のS41、S42の処理は、図7の第1フローチャートにおけるS11、12の処理と基本的に同内容になっている。図10の第2フローチャートのS27の段階で、プライマリストレージサーバ10は、図9(a)に示すような場合、スレッド14a~14dごとに、先ずはファイル35における第1領域35a~第4領域35dにそれぞれ含まれるデータ140a~140dを要求する要求情報をセカンダリストレージサーバ20へ送信することになる。 The second flowchart of FIG. 10 shows the processing procedure when the number of divisions of the file area to be downloaded exceeds the number of threads to be generated (processing of the download method) as shown in FIGS. 9 (a) and 9 (b). Content). The processes of S21 to S26 of the primary storage server 10 in this second flowchart are basically the same as the processes of S1 to S6 in the first flowchart of FIG. 7, and the secondary storage server 20 in the second flowchart is also the same. The processes of S41 and S42 are basically the same as the processes of S11 and S12 in the first flowchart of FIG. At the stage of S27 in the second flowchart of FIG. 10, in the case shown in FIG. 9A, the primary storage server 10 starts with the first area 35a to the fourth area 35d in the file 35 for each thread 14a to 14d. The request information for requesting the data 140a to 140d included in each is transmitted to the secondary storage server 20.

 セカンダリストレージサーバ20は、要求情報を受信したか否かを判断する段階で(S43)、要求情報を受信していない場合(S43:NO)、受信待ちの状態となり、一方、要求情報を受信した場合(S43:YES)、受信した各要求情報で指定されるファイル35における第1領域35a~第4領域35dにそれぞれ含まれるデータ140a~140dを、スレッド14a~14dを通じて、同時的にプライマリストレージサーバ10へ送信する処理を行う(S44)。 When the secondary storage server 20 determines whether or not the request information has been received (S43), if the request information has not been received (S43: NO), the secondary storage server 20 is in a reception waiting state, while receiving the request information. If this is the case (S43: YES), the data 140a to 140d included in the first area 35a to the fourth area 35d in the file 35 specified by the received request information are simultaneously transferred to the primary storage server through the threads 14a to 14d. 10 is transmitted (S44).

 プライマリストレージサーバ10は、各スレッド14a~14dを通じて、データ140a~140dを同時的に受信し、受信した各データ140a~140dを、それらの各データ140a~140dが含まれていたファイル35の第1領域35a~第4領域35dに対応する格納ファイル25の第1格納領域25a~第4格納領域25dに格納する処理を行う(S28)。それからプライマリストレージサーバ10は、S27の段階で送信した要求情報で呼び出した分のデータ140a~140dの全データ容量が格納されたか否かを、第1格納領域25a~第4格納領域25dの格納状況から判断し(S29)、全データ容量が格納されていない場合(S29:NO)、S28の段階へ戻り、データの受信及び格納の処理を継続する。 The primary storage server 10 receives the data 140a to 140d simultaneously through the threads 14a to 14d, and receives the received data 140a to 140d in the first file 35 in which the data 140a to 140d was included. A process of storing in the first storage area 25a to the fourth storage area 25d of the storage file 25 corresponding to the area 35a to the fourth area 35d is performed (S28). Then, the primary storage server 10 determines whether or not all the data capacities of the data 140a to 140d called by the request information transmitted in the step S27 are stored, in the storage status of the first storage area 25a to the fourth storage area 25d. (S29), if the entire data capacity is not stored (S29: NO), the process returns to the step S28, and the data reception and storage processes are continued.

 また、各データ140a~140dの全データ容量を格納した場合(S29:YES)、プライマリストレージサーバ10は、ダウンロード対象のファイル35の全データを受信したか否かを、格納ファイル25においてデータが格納されていない格納領域の有無に基づき判断する(S30)。この段階では、格納ファイル25の第1格納領域25a~第4格納領域25dにはデータが格納されるが、第5格納領域25e~第6格納領域25hにはデータが格納されていないことから、データの格納されていない格納領域が残る状態となっており、それにより、ファイルの全データが受信されていないと、プライマリストレージサーバ10は判断し(S30:NO)、処理をS27の段階に戻す。 Further, when the total data capacity of each data 140a to 140d is stored (S29: YES), the primary storage server 10 stores the data in the storage file 25 as to whether or not all the data of the file 35 to be downloaded has been received. A determination is made based on the presence or absence of storage areas that have not been made (S30). At this stage, data is stored in the first storage area 25a to the fourth storage area 25d of the storage file 25, but no data is stored in the fifth storage area 25e to the sixth storage area 25h. The storage area in which no data is stored remains, and as a result, the primary storage server 10 determines that all data of the file has not been received (S30: NO), and returns the process to the stage of S27. .

 戻ったS27の段階で、プライマリストレージサーバ10は、各スレッド14a~14dごとに、ファイル35における残りの第5領域35e~第8領域35hにそれぞれ含まれるデータ140e~140hを要求する要求情報をセカンダリストレージサーバ20へ送信する。セカンダリストレージサーバ20は上述した場合と同様に、要求情報を受信したか否かを判断する段階で(S43)、要求情報を受信していない場合(S43:NO)、受信待ちの状態となり、要求情報を受信した場合(S43:YES)、受信した各要求情報で指定されるファイル35における第5領域35e~第8領域35hにそれぞれ含まれるデータ140e~140hを、スレッド14a~14dを通じて、同時的にプライマリストレージサーバ10へ送信する処理を行う(S44)。 In the returned S27 stage, the primary storage server 10 provides the request information for requesting the data 140e to 140h included in the remaining fifth area 35e to eighth area 35h in the file 35 for each thread 14a to 14d. Transmit to the storage server 20. As in the case described above, when the secondary storage server 20 determines whether or not the request information has been received (S43), if the request information has not been received (S43: NO), the secondary storage server 20 enters a reception waiting state. When the information is received (S43: YES), the data 140e to 140h included in the fifth area 35e to the eighth area 35h in the file 35 specified by the received request information are simultaneously transmitted through the threads 14a to 14d. To the primary storage server 10 is performed (S44).

 プライマリストレージサーバ10は、スレッド14a~14dを通じて、データ140e~140hを同時的に受信すると、受信した各データ140e~140hを、それらの各データ140e~140hが含まれていたファイル35の第5領域35e~第8領域35hに対応する格納ファイル25の第5格納領域25e~第8格納領域25hに格納する処理を行う(S28)。それからプライマリストレージサーバ10は、直近のS27の段階で送信した要求情報で呼び出した分のデータ140e~140hの全データ容量が格納されたか否かを、第5格納領域25e~第8格納領域25hの格納状況から判断し(S29)、全データ容量が格納されていない場合(S29:NO)、S28の段階へ戻り、データの受信及び格納の処理を継続する。 When the primary storage server 10 receives the data 140e to 140h simultaneously through the threads 14a to 14d, the primary storage server 10 receives the received data 140e to 140h, and the fifth area of the file 35 in which the data 140e to 140h is included. Processing for storing in the fifth storage area 25e to the eighth storage area 25h of the storage file 25 corresponding to 35e to the eighth area 35h is performed (S28). Then, the primary storage server 10 determines whether or not all the data capacities of the data 140e to 140h for the amount called by the request information transmitted in the latest step S27 are stored in the fifth storage area 25e to the eighth storage area 25h. Judging from the storage status (S29), if the entire data capacity is not stored (S29: NO), the process returns to the step S28, and the data reception and storage processes are continued.

 また、各データ140e~140hの全データ容量を格納した場合(S29:YES)、プライマリストレージサーバ10は、ファイル35の全データを受信したか否かを再度、判断し(S30)。この段階では、格納ファイル25の第1格納領域25a~第8格納領域25hの全てにデータが格納されているので、ファイル35の全データが受信されたと判断する(S30:YES)。なお、上述した第2フローチャートの説明において、1回目のS27からS43、S44、S28、S29、S30へ至る処理が、図9(b)のタイムチャートにおける一回目の同時的ダウンロード処理に該当し、2回目のS27からS43、S44、S28、S29、S30へ至る処理が、図9(b)のタイムチャートにおける二回目の同時的ダウンロード処理に該当する。 Further, when the total data capacity of each data 140e to 140h is stored (S29: YES), the primary storage server 10 determines again whether or not all data of the file 35 has been received (S30). At this stage, since data is stored in all of the first storage area 25a to the eighth storage area 25h of the storage file 25, it is determined that all data of the file 35 has been received (S30: YES). In the description of the second flowchart described above, the process from the first S27 to S43, S44, S28, S29, and S30 corresponds to the first simultaneous download process in the time chart of FIG. The process from the second S27 to S43, S44, S28, S29, and S30 corresponds to the second simultaneous download process in the time chart of FIG. 9B.

 このように第2フローチャートに示すように、要求情報の送信処理を複数回行う(繰り返す)ようにすれば、ダウンロード対象のファイルの領域の分割数が、生成されるスレッド数を上回るときでも本発明に係るダウンロード方法を適用できる。なお、ダウンロード対象のファイルの領域の分割数が、生成されるスレッド数を上回る例は、図9(a)に示す場合(分割領域数が8でスレッド数が4)に限定されるものではなく、他の場合(例えば、分割領域数が10でスレッド数が4の場合、分割領域数が5でスレッド数が2の場合等)でも同様に、第2フローチャートに基づき処理を行える。 Thus, as shown in the second flowchart, if the request information transmission process is performed (repeated) a plurality of times, the present invention can be applied even when the number of divisions of the file area to be downloaded exceeds the number of threads to be generated. The download method concerning can be applied. The example in which the number of divisions of the file area to be downloaded exceeds the number of generated threads is not limited to the case shown in FIG. 9A (the number of divided areas is 8 and the number of threads is 4). In other cases (for example, when the number of divided areas is 10 and the number of threads is 4, when the number of divided areas is 5 and the number of threads is 2, etc.), the processing can be similarly performed based on the second flowchart.

 例えば、ダウンロード対象の分割領域数が6で、生成するスレッド数が4の場合、4つのスレッドの中の2つは、2回の要求情報を送信して、各要求情報に応じた異なる領域に含まれる2つのデータを受信する一方、4つのスレッドの中の残りの2つは、1回の要求情報を送信して、その要求情報に応じた1つのデータを受信することになる。このように、分割領域数とスレッド数の関係によって、複数の要求情報を送信するスレッドと、1回の要求情報を送信するスレッドが生じ、スレッド間で要求情報の送信回数(及びデータの受信回数)に違いが生じることがある。なお、分割領域数とスレッド数の関係によっては、同時的ダウロード処理の繰り返し数が、2回を超えるスレッドが生じることもある(分割領域数が10でスレッド数が4の場合など)。また、ダウンロード対象の分割領域数が8で、生成するスレッド数が4の場合、4つのスレッドのそれぞれは、2回の要求情報を送信することになる(図9(a)参照)。 For example, if the number of divided areas to be downloaded is 6 and the number of threads to be generated is 4, two of the four threads send request information twice, and send them to different areas according to each request information. While the two included data are received, the remaining two of the four threads transmit one request information and receive one data according to the request information. Thus, depending on the relationship between the number of divided areas and the number of threads, a thread that transmits a plurality of request information and a thread that transmits a single request information are generated, and the number of transmissions of request information (and the number of data receptions) between threads. ) May make a difference. Depending on the relationship between the number of divided areas and the number of threads, the number of simultaneous download processing repetitions may exceed two (for example, the number of divided areas is 10 and the number of threads is 4). When the number of divided areas to be downloaded is 8 and the number of threads to be generated is 4, each of the four threads transmits request information twice (see FIG. 9A).

 そして、上述した図10に示す第2フローチャートにおけるダウンロードでも、それぞれの各スレッド14a~14dの処理は独立して実行されるので、1回目の同時的ダウンロード処理の完了時期が同時期にならないこともあることから、S27の段階で2回目の要求情報を送信する時期は、それぞれのスレッド14a~14dで、1回目のダウンロード処理の完了に伴い、随時、2回目の要求情報を送信するようにしてもよい。この場合、2回目の要求情報の送信段階(S27)へ進むための判断段階(S30)における全データ受信格納の内容は、それぞれのスレッド毎に判断することになる。 Even in the download in the second flowchart shown in FIG. 10 described above, the processing of each of the threads 14a to 14d is executed independently, so the completion time of the first simultaneous download process may not be the same period. For this reason, the second request information is transmitted at the stage of S27 so that the second request information is transmitted at any time as each thread 14a to 14d completes the first download process. Also good. In this case, the contents of all data reception and storage in the determination step (S30) for proceeding to the second request information transmission step (S27) are determined for each thread.

 すなわち、それぞれのスレッド14a~14dに対応する各格納領域の中に、データが格納されていない格納領域が残るか否かを判断し、データが格納されていない格納領域が残るときは(S30:NO)、S27へ行き、データが格納されていない格納領域が残らないときは(S30:YES)、そのスレッドにおけるダウンロード処理を終了する。具体的には、第1スレッド14aにおいて、その第1スレッド14aが対応するのは第1格納領域25a及び第5格納領域25eなので、S29の段階で、第1スレッド14aにおいて第1格納領域25aにデータ140aが格納されると(S29:YES)、次に、S30で、残りの第5格納領域25eにデータ140eが格納されているか否かを判断し、データ140eが格納されていなければ(S30:NO)、S27へ戻って、2回目の要求情報を送信することになり、データ140eが格納されると(S30:YES)、第1スレッド14aでのダウンロード処理が終了となる。 That is, it is determined whether or not a storage area in which no data is stored remains in each storage area corresponding to each of the threads 14a to 14d. When a storage area in which no data is stored remains (S30: NO), go to S27, and if there is no storage area where no data is stored (S30: YES), the download process in that thread is terminated. Specifically, in the first thread 14a, the first thread 14a corresponds to the first storage area 25a and the fifth storage area 25e. Therefore, in the stage of S29, the first thread 14a moves to the first storage area 25a. If the data 140a is stored (S29: YES), it is next determined in S30 whether or not the data 140e is stored in the remaining fifth storage area 25e. If the data 140e is not stored (S30). : NO), the process returns to S27 to transmit the second request information, and when the data 140e is stored (S30: YES), the download process in the first thread 14a is terminated.

 上記の処理は他のスレッドでも同様となり、第2スレッド14bでは、第2格納領域25bにデータ140bが格納されると(S29:YES)、次にS30で、残りの第6格納領域25fにデータ140fが格納されているかが判断され、データ140fが格納されていなければ(S30:NO)、S27へ戻って、2回目の要求情報を送信し、データ140fが格納されると(S30:YES)、第2スレッド14bでのダウンロード処理が終了となる。第3スレッド14cでも、第3格納領域25cにデータ140cが格納されると(S29:YES)、S30で、残りの第7格納領域25gにデータ140gが格納されているかが判断され、データ140gが格納されていなければ(S30:NO)、S27へ戻り、2回目の要求情報を送信し、データ140gが格納されると(S30:YES)、第3スレッド14cでのダウンロード処理が終了となる。 The above processing is the same for other threads. In the second thread 14b, when the data 140b is stored in the second storage area 25b (S29: YES), the data is stored in the remaining sixth storage area 25f in S30. It is determined whether 140f is stored. If the data 140f is not stored (S30: NO), the process returns to S27, the second request information is transmitted, and the data 140f is stored (S30: YES). Then, the download process in the second thread 14b ends. Even in the third thread 14c, when the data 140c is stored in the third storage area 25c (S29: YES), it is determined in S30 whether the data 140g is stored in the remaining seventh storage area 25g, and the data 140g is stored in the third thread 14c. If not stored (S30: NO), the process returns to S27, the second request information is transmitted, and when the data 140g is stored (S30: YES), the download process in the third thread 14c is terminated.

 そして、第4スレッド14dでも、第4格納領域25dにデータ140dが格納されると(S29:YES)、S30で、残りの第8格納領域25hにデータ140hが格納されているかが判断され、データ140hが格納されていなければ(S30:NO)、S27へ戻って2回目の要求情報を送信し、データ140hが格納されていれば(S30:YES)、第4スレッド14cでのダウンロード処理が終了となる。このような処理では、各スレッド14a~14dでのダウロード処理の終了時期に違いが生じるかもしれないが、他のスレッドの処理を待つ必要がないので各スレッド単位での処理時間の短縮化を図れる。 In the fourth thread 14d, when the data 140d is stored in the fourth storage area 25d (S29: YES), it is determined in S30 whether the data 140h is stored in the remaining eighth storage area 25h. If 140h is not stored (S30: NO), the process returns to S27 and the second request information is transmitted. If data 140h is stored (S30: YES), the download process in the fourth thread 14c ends. It becomes. In such processing, there may be a difference in the end timing of the download processing in each of the threads 14a to 14d, but it is not necessary to wait for the processing of other threads, so that the processing time for each thread can be shortened. .

 また、上述した説明では、第2フローチャートのS30の段階で、データの格納されていない格納領域が残るか否かを判断して、S27の2回目以降の要求情報の送信を行うようにしていたが、S30の段階の判断は、要求情報の送信回数をカウントしておき、必要回数の要求情報を送信したか否かで、S27の段階へ戻るか否かを決めるようにしてもよい。すなわち、図9のS24の段階でファイルの分割領域の特定により、ファイルの分割数が判明するので、スレッドごとに必要な要求情報の送信回数が判明することになる。そのため、S27の段階で、各スレッドで要求情報を送信すると、その送信回数をスレッドごとに記憶しておき、S30の段階では、記憶している要求情報の送信回数が、必要な送信回数に達しているかを判断し、達していなければ、S27へ戻り、達していれば、そのスレッドにおけるダウンロード処理を終了するようにしてもよい。 In the above description, at step S30 in the second flowchart, it is determined whether or not a storage area in which data is not stored remains, and the request information is transmitted for the second and subsequent times in S27. However, the determination in step S30 may be performed by counting the number of transmissions of request information and determining whether to return to step S27 depending on whether the required number of request information has been transmitted. That is, since the number of file divisions is determined by specifying the file division area in step S24 in FIG. 9, the number of transmissions of request information necessary for each thread is determined. Therefore, when request information is transmitted by each thread in the step S27, the number of transmissions is stored for each thread, and in the step S30, the stored number of transmissions of request information reaches the necessary number of transmissions. If not reached, the process returns to S27, and if reached, the download process in the thread may be terminated.

 さらに、上述した処理では、図9(a)に示すように、ファイルの領域分割数がスレッド数(同時的処理可能数)を上回る場合、スレッドごとに要求情報を複数回、送信するようにしていたが、一回の要求情報の送信で図9(b)のタイムチャートに示す処理状況を指示できる場合は、要求情報の送信処理を複数回行わないで、基本的に図7に示す第1フローチャートの流れで、ダウンロード対象のファイルの分割領域数が、生成可能なスレッド上限数を上回る場合のダウンロード処理にも対応できるようになる。この場合、ダウンロード対象のファイルにおいて、異なる複数の領域に含まれるデータを要求する要求情報を送信するスレッドが生じることになる。 Further, in the above-described processing, as shown in FIG. 9A, when the number of file area divisions exceeds the number of threads (the number that can be processed simultaneously), the request information is transmitted a plurality of times for each thread. However, if the processing status shown in the time chart of FIG. 9B can be instructed by a single transmission of request information, the first process shown in FIG. In the flow of the flowchart, it becomes possible to cope with the download process when the number of divided areas of the file to be downloaded exceeds the upper limit number of threads that can be generated. In this case, a thread for transmitting request information for requesting data included in a plurality of different areas is generated in the file to be downloaded.

 すなわち、図9(a)に示すようにファイル35の分割領域数が8で、スレッド数が4の場合を、図7の第1フローチャートの処理手順で進めるときは、S7の要求情報送信の段階で、第1スレッド14aを介して送信する要求情報は、一回目の同時的ダウンロードで第1領域35aに含まれるデータ140aを要求すると共に、二回目の同時的ダウンロードで第5領域35eに含まれるデータ140eを要求する指示を含み、以下、第2スレッド14bを介して送信する要求情報は、一回目の同時的ダウンロードで第2領域35bに含まれるデータ140bを呼び出すと共に、二回目の同時的ダウンロードで第6領域35fに含まれるデータ140fを呼び出す指示を含み、第3スレッド14cを介して送信する要求情報は、一回目の同時的ダウンロードで第3領域35cに含まれるデータ140cを呼び出すと共に、二回目の同時的ダウンロードで第7領域35gに含まれるデータ140gを呼び出す指示を含み、第4スレッド14dを介して送信する要求情報は、一回目の同時的ダウンロードで第4領域35dに含まれるデータ140dを呼び出すと共に、二回目の同時的ダウンロードで第8領域35hに含まれるデータ140hを呼び出す指示を含むことになる。 That is, when the number of divided areas of the file 35 is 8 and the number of threads is 4, as shown in FIG. 9A, when the processing procedure of the first flowchart of FIG. Thus, the request information transmitted via the first thread 14a requests the data 140a included in the first area 35a in the first simultaneous download and is included in the fifth area 35e in the second simultaneous download. The request information to be transmitted through the second thread 14b including the instruction to request the data 140e is called the data 140b included in the second area 35b in the first simultaneous download and the second simultaneous download. The request information to be transmitted via the third thread 14c includes an instruction to call the data 140f included in the sixth area 35f. The request information to be transmitted via the fourth thread 14d includes an instruction to call the data 140c included in the third area 35c in the second download and the instruction to call the data 140g included in the seventh area 35g in the second simultaneous download. In addition, the data 140d included in the fourth area 35d is called in the first simultaneous download, and the instruction to call the data 140h included in the eighth area 35h is included in the second simultaneous download.

 そして、セカンダリストレージサーバ20はS14の段階で、先ず、一回目の同時的ダウンロードによるデータ送信を行うことになり、第1スレッド14aで第1領域35aに含まれるデータ140aを送信し、第2スレッド14bで第2領域35bに含まれるデータ140bを送信し、第3スレッド14cで第3領域35cに含まれるデータ140cを送信し、第4スレッド14dで第4領域35dに含まれるデータ140dを送信する。 In step S14, the secondary storage server 20 first performs data transmission by the first simultaneous download. The first thread 14a transmits the data 140a included in the first area 35a, and the second thread. The data 140b included in the second area 35b is transmitted at 14b, the data 140c included in the third area 35c is transmitted at the third thread 14c, and the data 140d included in the fourth area 35d is transmitted at the fourth thread 14d. .

 プライマリストレージサーバ10はS8の段階で、セカンダリストレージサーバ20から送信されてくるデータ140aを格納ファイル25の第1格納領域25aに格納し、以下、データ140bを第2格納領域25bに格納し、データ140cを第3格納領域25cに格納し、データ140dを第4格納領域25dに格納する。それから、S9の段階で、プライマリストレージサーバ10は、ダウンロード対象のファイル35の全データ容量が格納されたか否かを判断し、全てのデータが格納されていなければ(S9:NO)、引き続きS8の段階で、データの受信及び格納を行う。 In step S8, the primary storage server 10 stores the data 140a transmitted from the secondary storage server 20 in the first storage area 25a of the storage file 25, and stores the data 140b in the second storage area 25b. 140c is stored in the third storage area 25c, and data 140d is stored in the fourth storage area 25d. Then, at the stage of S9, the primary storage server 10 determines whether or not the entire data capacity of the file 35 to be downloaded has been stored. If all the data has not been stored (S9: NO), the process continues to S8. Data is received and stored in stages.

 セカンダリストレージサーバ20では、一回目の同時的ダウンロードが終了すれば、S7の段階で送られた要求情報の指示内容に基づき、S14の段階で、二回目の同時的ダウンロードとして、第1スレッド14aで第5領域35eに含まれるデータ140eを送信し、第2スレッド14bで第6領域35fに含まれるデータ140fを送信し、第3スレッド14cで第7領域35gに含まれるデータ140gを送信し、第4スレッド14dで第8領域35hに含まれるデータ140hを送信することになる。 In the secondary storage server 20, when the first simultaneous download is completed, the first thread 14a performs the second simultaneous download in the step S14 based on the instruction content of the request information sent in the step S7. The data 140e included in the fifth area 35e is transmitted, the data 140f included in the sixth area 35f is transmitted by the second thread 14b, the data 140g included in the seventh area 35g is transmitted by the third thread 14c, and the data The data 140h included in the eighth area 35h is transmitted by the four threads 14d.

 プライマリストレージサーバ10は、二回目の同時的ダウンロードにおけるS8の段階で、送信されてくるデータ140eを格納ファイル25の第5格納領域25eに格納し、以下、データ140fを第6格納領域25fに格納し、データ140gを第7格納領域25gに格納し、データ140hを第8格納領域25hに格納し、それから、S9の段階で、ダウンロード対象のファイル35の全データ容量が格納されたか否かを判断し、二回目の同時的ダウンロードで格納ファイル25の空きの格納領域が無くなるので、全データ容量が格納されたと判断し(S9:YES)、ダウンロード処理が終了することになる。 The primary storage server 10 stores the transmitted data 140e in the fifth storage area 25e of the storage file 25 and stores the data 140f in the sixth storage area 25f in step S8 in the second simultaneous download. Then, the data 140g is stored in the seventh storage area 25g, the data 140h is stored in the eighth storage area 25h, and then it is determined in step S9 whether or not the entire data capacity of the download target file 35 has been stored. Then, since there is no free storage area of the storage file 25 in the second simultaneous download, it is determined that the entire data capacity has been stored (S9: YES), and the download process ends.

 なお、このように図7の第1フローチャートに従って、同時的ダウンロード処理を繰り返す場合でも、ファイル分割数とスレッド数(同時的処理可能数)との関係によっては、異なる複数の領域に含まれるデータを要求するスレッドと、単一の領域に含まれるデータを要求するスレッドとが生じることもある。例えば、ダウンロード対象の分割領域数が6で、生成するスレッド数が4の場合、4つのスレッドの中の2つは、異なる2つの領域に含まれる要求情報を送信する一方、4つのスレッドの中の残りの2つは、単一の領域に含まれる要求情報を送信するに留まる。このように、分割領域数とスレッド数の関係によって、送信する一つの要求情報で要求するデータの数にスレッド間で違いが生じることがある。 Even when the simultaneous download process is repeated in accordance with the first flowchart of FIG. 7, the data contained in a plurality of different areas may be changed depending on the relationship between the number of file divisions and the number of threads (the number of simultaneous processes). There may be a requesting thread and a thread requesting data contained in a single area. For example, if the number of divided areas to be downloaded is 6 and the number of threads to be generated is 4, two of the four threads transmit request information included in two different areas, while The remaining two only transmit request information contained in a single region. As described above, depending on the relationship between the number of divided areas and the number of threads, a difference may occur between threads in the number of data requested by one piece of request information to be transmitted.

 さらに、このように図7の第1フローチャートに従って、同時的ダウンロード処理を繰り返す場合でも、それぞれの各スレッド14a~14dの処理は独立して実行されることから、1回目の同時的ダウンロード処理の完了時期が各スレッド間で同時期にならないこともあるので、このような場合は、同時的ダウンロード処理の完了に伴い、次のダウンロード処理を実行して、順次連続的にダウンロード処理を進行することが好適である。この場合は、セカンダリストレージサーバ20側が、受信した要求情報で指定された複数の領域に含まれるデータを順次、プライマリストレージサーバ10へ送信することになり、要求情報で指定されたある領域のデータの送信が完了すると、その要求情報で指定される次の領域のデータの送信を開始する。このようにスレッドごとに順次、ダウンロード処理を連続的に進行することで、各スレッド間でダウンロード処理の完了時期が同時期にならないこともあるが、全体としては処理負荷の軽減及び処理時間の短縮化を図れるメリットが生じる。 Furthermore, even when the simultaneous download process is repeated according to the first flowchart of FIG. 7, the processes of the respective threads 14a to 14d are executed independently, so that the first simultaneous download process is completed. Since the timing may not be the same period between threads, in such a case, the download process may be executed sequentially in succession with the completion of the simultaneous download process. Is preferred. In this case, the secondary storage server 20 side sequentially transmits the data included in the plurality of areas specified by the received request information to the primary storage server 10, and the data of a certain area specified by the request information When transmission is completed, transmission of data in the next area specified by the request information is started. In this way, the download process is progressed sequentially for each thread, so that the download process may not be completed at the same time between threads, but overall the processing load is reduced and the processing time is shortened. The merit that can be achieved is generated.

 なお、上述した説明では、ファイルのダウンロードを、図1に示すプライマリストレージサーバ10及びセカンダリストレージサーバ20のサーバ装置間で行うようにしていたが、本発明の対象は、サーバ装置間のダウンロードに限定されるものではなく、例えば、図1におけるプライマリストレージサーバ10で記憶されるファイルを、ユーザ端末40にダウンロードする場合にも本発明を適用することが可能である。この場合、プライマリストレージサーバ10(サーバ装置に相当)及びユーザ端末40(通信装置に装置)で、本発明に係るダウンロードシステムを構成することになる。 In the above description, the file download is performed between the server devices of the primary storage server 10 and the secondary storage server 20 shown in FIG. 1, but the object of the present invention is limited to the download between the server devices. For example, the present invention can be applied to a case where a file stored in the primary storage server 10 in FIG. 1 is downloaded to the user terminal 40. In this case, the download system according to the present invention is configured by the primary storage server 10 (corresponding to the server apparatus) and the user terminal 40 (apparatus in the communication apparatus).

 図11は、ユーザ端末40の主要構成を示したブロック図であるユーザ端末40としては、プライマリストレージサーバ10と通信できる通信機能、及びファイルを扱う処理等が可能な通信端末装置を適用でき、具体的には、通信機能を具備したパーソナルコンピュータ、タブレット、スマートフォン等をユーザ端末40として利用できる。図11は、ユーザ端末40としてパーソナルコンピュータを用いた場合の主要構成を示しているが、ユーザ端末40としてタブレット、スマートフォン等を用いた場合でも基本的な構成は図11と同等になる。 FIG. 11 is a block diagram showing a main configuration of the user terminal 40. As the user terminal 40, a communication terminal device capable of communicating with the primary storage server 10 and processing files can be applied. Specifically, a personal computer, a tablet, a smartphone or the like having a communication function can be used as the user terminal 40. FIG. 11 shows a main configuration when a personal computer is used as the user terminal 40, but the basic configuration is the same as that of FIG. 11 even when a tablet, a smartphone, or the like is used as the user terminal 40.

 ユーザ端末40は、全体的な制御及び各種処理を行うCPU40aに、各種デバイス等を内部接続線40hで接続したものになっており、各種デバイス等には、通信モジュール40b、RAM40c、ROM40d、入力インタフェース40e、出力インタフェース40f、及び記憶部40g等がある。 The user terminal 40 is configured by connecting various devices and the like to the CPU 40a that performs overall control and various processes through an internal connection line 40h. The various devices and the like include a communication module 40b, a RAM 40c, a ROM 40d, and an input interface. 40e, an output interface 40f, and a storage unit 40g.

 通信モジュール40bは、ネットワークとの接続モジュールに相当する通信デバイスであり、所要の通信規格に応じたものであり(例えばLANモジュール)、所要の通信機器(図示は省略。例えばルータ等が該当)を介してネットワークと接続することで、プライマリストレージサーバ10との通信を可能にしている。 The communication module 40b is a communication device corresponding to a connection module with a network, and conforms to a required communication standard (for example, a LAN module), and a required communication device (not shown; for example, a router or the like). By connecting to the network via the network, communication with the primary storage server 10 is enabled.

 RAM40cは、CPU40aの処理に伴う内容、ファイル等を一時的に記憶するものであり、ROM40dは、CPU40aの基本的な処理内容を規定したプログラム等を記憶するものである。入力インタフェース40eは、ユーザからの操作指示等を受け付けるキーボード40i、マウス等が接続されるものであり、ユーザから受け付けた操作指示等をCPU40aへ伝える。出力インタフェース40fは、ディスプレイ40jが接続されるものであり、CPU40aの処理に伴う内容をディスプレイ40jへ出力し、ユーザが操作内容及びユーザ端末40の処理内容等を視覚的に確認できるようにしている。 The RAM 40c temporarily stores contents, files, and the like accompanying the processing of the CPU 40a, and the ROM 40d stores programs and the like that define the basic processing contents of the CPU 40a. The input interface 40e is connected to a keyboard 40i, a mouse, and the like for receiving an operation instruction from the user, and transmits the operation instruction received from the user to the CPU 40a. The output interface 40f is connected to the display 40j, and outputs the contents accompanying the processing of the CPU 40a to the display 40j so that the user can visually confirm the operation contents, the processing contents of the user terminal 40, and the like. .

 記憶部40gは、HDD(Hard Disc Drive)又はSSD(Solid State Drive)等により構成される記憶デバイスであり、基本プログラムP20、端末処理プログラムP21等のプログラムと、分割閾値f1及び分割サイズf2等を記憶する。基本プログラムP20は、ユーザ端末40をコンピュータとして機能させるためにCPU40aが行う基本的な処理を規定したものであり、この基本プログラムP20には、ファイル管理(ファイルのコピー、移動、変更等)を行うための機能、ウェブサイト等を閲覧するためのブラウザ機能等を含んでいるものとする。 The storage unit 40g is a storage device configured by an HDD (Hard Disk Drive) or SSD (Solid State Drive), and stores programs such as a basic program P20 and a terminal processing program P21, a division threshold f1, a division size f2, and the like. Remember. The basic program P20 defines basic processing performed by the CPU 40a to cause the user terminal 40 to function as a computer. The basic program P20 performs file management (file copy, movement, change, etc.). Functions, browser functions for browsing websites, and the like.

 端末処理プログラムP21は、図4に示す処理プログラムP2が規定する内容と同じ内容を規定したものである。この端末処理プログラムP21は、アプリケーションプログラムとして、通信によるダウンロードを通じて、ユーザ端末40にインストールする他に、記憶媒体(光ディスク等)を介して、ユーザ端末40にインストールすることが可能であり、CPU40aを、図5に示すエージェント12として機能させる制御処理をプログラミングした内容になっている。なお、この端末処理プログラムP21の規定により、CPU40aがエージェントの格納ファイル生成機能として生成する格納ファイル45は記憶部40gに記憶されることになる(図11参照)。また、記憶部40gに記憶される分割閾値f1及び分割サイズf2も、図4に示すプライマリストレージサーバ10に記憶されるものと同様になっている。 The terminal processing program P21 defines the same content as the content defined by the processing program P2 shown in FIG. This terminal processing program P21 can be installed as an application program on the user terminal 40 via a storage medium (such as an optical disk) in addition to being installed on the user terminal 40 through communication download. The contents are programmed to control processing to function as the agent 12 shown in FIG. Note that the storage file 45 generated by the CPU 40a as the agent storage file generation function is stored in the storage unit 40g according to the provisions of the terminal processing program P21 (see FIG. 11). Further, the division threshold f1 and the division size f2 stored in the storage unit 40g are the same as those stored in the primary storage server 10 illustrated in FIG.

 一方、ユーザ端末40とダウンロードシステムを構成する場合のプライマリストレージサーバ10は、ハード的な構成は図4に示すものと同様になるが、記憶部10gに記憶する中身は、図6のセカンダリストレージサーバ20と同様にサーバプログラムP5及びストレージプログラムP6を記憶すると共に、プライマリストレージ11には、ダウンロード対象のファイル(例えば、ファイル15)を記憶することになる。 On the other hand, the primary storage server 10 in the case of configuring the user terminal 40 and the download system has the same hardware configuration as that shown in FIG. 4, but the content stored in the storage unit 10g is the secondary storage server in FIG. Similarly to the server 20, the server program P5 and the storage program P6 are stored, and the primary storage 11 stores a file to be downloaded (for example, the file 15).

 上述した構成のユーザ端末40及びプライマリストレージサーバ10でダウンロードシステムを構成することにより、プライマリストレージサーバ10に記憶されるファイル(例えば、ファイル15)を、上述したダウンロードシステム1の場合と同様な処理により、ユーザ端末40へダウンロードできるようになる。なお、ユーザ端末40及びプライマリストレージサーバ10で構成されるダウンロードシステムにおいても、上述した各種変形例を同様に適用することが可能である。 By configuring the download system with the user terminal 40 and the primary storage server 10 configured as described above, the file (for example, the file 15) stored in the primary storage server 10 is processed by the same processing as that of the download system 1 described above. Can be downloaded to the user terminal 40. Note that the various modifications described above can be applied to the download system including the user terminal 40 and the primary storage server 10 as well.

 図12は、本発明の第2実施形態に係るダウンロードシステム50の全体的な概要を示したものである。第2実施形態のダウンロードシステム50は、ダミーファイル55を利用することが特徴になっており、ダミーファイル55が関連する以外のものについては、基本的に図1に示す第1実施形態のダウンロードシステム1おけるハード構成と同等であると共に、各種処理(ファイル領域の分割処理、及び分割したデータの同時的ダウンロード処理等)も第1実施形態と同等であり、そのため、第2実施形態においては、第1実施形態と同等なものについては、第1実施形態と同じ符号を用いて説明を行う。 FIG. 12 shows an overall outline of the download system 50 according to the second embodiment of the present invention. The download system 50 according to the second embodiment is characterized by using a dummy file 55, and the download system according to the first embodiment shown in FIG. In addition to being equivalent to the hardware configuration in FIG. 1, various processes (such as file area division processing and simultaneous download processing of divided data) are also equivalent to those in the first embodiment. Components equivalent to those in the first embodiment will be described using the same reference numerals as those in the first embodiment.

 第2実施形態に係るダウンロードシステム50も、プライマリストレージサーバ10(通信装置に相当)及びセカンダリストレージサーバ20(サーバ装置に相当)で構成されており、第2実施形態の特徴としては、プライマリストレージサーバ10のプライマリストレージ11にダミーファイル55が記憶され、セカンダリストレージサーバ20のセカンダリストレージ21には、ダミーファイル55に対応した実ファイル65が記憶されており、この実ファイル65がダウンロード対象のファイルになる。 The download system 50 according to the second embodiment is also configured by a primary storage server 10 (corresponding to a communication device) and a secondary storage server 20 (corresponding to a server device). As a feature of the second embodiment, the primary storage server A dummy file 55 is stored in the primary storage 11 of the ten, and a real file 65 corresponding to the dummy file 55 is stored in the secondary storage 21 of the secondary storage server 20, and this real file 65 becomes a file to be downloaded. .

 ダミーファイルとは、スタブファイルとも称されるファイルであり、元のファイルの代役を果たすように、外部のクライアント端末(例えば、図1に示すユーザ端末40)に対して元のファイルとして提示されるようになっており、自身がダミーファイルであることを識別できる情報、及び元のファイル(実ファイル65に相当)をセカンダリストレージ21から取得(ダウンロード)するときに参照される参照情報を含んでいる。ダミーファイルに含まれる参照情報は、ダミーファイルに応じた実ファイル65の記憶先を示す情報、その実ファイル65のファイル容量を示す情報等を有したものになっている。 A dummy file is a file also called a stub file, and is presented as an original file to an external client terminal (for example, the user terminal 40 shown in FIG. 1) so as to replace the original file. It includes information that can identify itself as a dummy file, and reference information that is referred to when acquiring (downloading) the original file (corresponding to the real file 65) from the secondary storage 21. . The reference information included in the dummy file includes information indicating the storage destination of the actual file 65 corresponding to the dummy file, information indicating the file capacity of the actual file 65, and the like.

 ダミーファイルのファイル容量は、元のファイル(実ファイル65)に比べて小さくなっており、それにより、プライマリストレージ11の空き容量を確保するのに貢献できる。ダミーファイルに置き換えられる実ファイルの例としては、各種アプリケーションソフトにより生成される文書データファイル、表計算データファイル、画像データファイル等があり、特に詳細な写真等の画像データファイルはデータ量が一般的に大きいので、アーカイブ処理によりデータ量の小さいダミーファイルに置換する意義は大きい。 The file capacity of the dummy file is smaller than that of the original file (actual file 65), thereby contributing to securing the free capacity of the primary storage 11. Examples of actual files that can be replaced with dummy files include document data files, spreadsheet data files, and image data files generated by various application software. Image data files such as detailed photographs have a general data amount. Therefore, it is significant to replace the dummy file with a small amount of data by archiving.

 プライマリストレージサーバ10が、実ファイル65をダウンロードする処理を開始するトリガーとなるものとしては、外部のユーザ端末40から、ダミーファイル55に応じた実ファイル65へのアクセスを受け付けたこと等が挙げられる。第2実施形態においても、処理プログラムP2の規定内容により、MPU10aがエージェントとして機能することになるが、第2実施形態では、プライマリストレージ11にダミーファイル55が存在することから、第1実施形態のように格納ファイル5を生成するのではなく、予め存在するダミーファイル55を格納ファイル的に利用している。また、ダミーファイル55は、ダウンロード対象の実ファイル65のファイル容量を示す情報を含んでいるので、第1実施形態のエージェント12における「(1)ファイル容量確認機能」は不要になっている。以下、第2実施形態のCPU40aのエージェント機能を、第1実施形態のエージェント12(図5参照)に基づき説明する。 As a trigger for the primary storage server 10 to start the process of downloading the actual file 65, it is possible to accept access from the external user terminal 40 to the actual file 65 according to the dummy file 55. . Also in the second embodiment, the MPU 10a functions as an agent according to the specified contents of the processing program P2. In the second embodiment, since the dummy file 55 exists in the primary storage 11, Instead of generating the storage file 5 as described above, a pre-existing dummy file 55 is used as a storage file. Further, since the dummy file 55 includes information indicating the file capacity of the actual file 65 to be downloaded, the “(1) file capacity check function” in the agent 12 of the first embodiment is unnecessary. Hereinafter, the agent function of the CPU 40a of the second embodiment will be described based on the agent 12 (see FIG. 5) of the first embodiment.

 第2実施形態のエージェントは、第1実施形態の「(2)ファイル分割判断機能」と同様に、ダミーファイル55に含まれる実ファイル65のファイル容量と、記憶部10gに記憶される分割閾値f1とを対比して、実ファイル65の分割の有無を判断する機能を有する。また、第2実施形態のエージェントは、第1実施形態の「(3)分割領域特定機能」と同様に、ダミーファイル55に含まれる実ファイル65のファイル容量に基づき、実ファイル65を分割する領域を特定する処理機能を有する。 Similarly to the “(2) File division determination function” of the first embodiment, the agent of the second embodiment uses the file capacity of the actual file 65 included in the dummy file 55 and the division threshold f1 stored in the storage unit 10g. And a function of determining whether or not the actual file 65 is divided. In addition, the agent of the second embodiment divides the real file 65 based on the file capacity of the real file 65 included in the dummy file 55, as in “(3) Divided area specifying function” of the first embodiment. A processing function for specifying

 さらに、第2実施形態のエージェントは、第1実施形態の「(4)スレッド生成機能」と同様に、ダウンロード対象のファイルについて特定した各領域に含まれる各データを、時分割(タイムシェアリング)で同時並行的にダウンロードできるようにするために、スレッドを生成する機能を有する。さらにまた、第2実施形態のエージェントは、第2実施形態の特徴的な機能(ダミーファイル拡張機能)として、ダミーファイル55を、実ファイル65のファイル容量と同じ容量まで拡張すると共に、分割領域特定機能により、実ファイル65を分割した領域にそれぞれ対応した複数の格納領域を形成する処理機能を有する。 Further, the agent of the second embodiment, like the “(4) thread generation function” of the first embodiment, time-divides each data included in each area specified for the file to be downloaded (time sharing). In order to be able to download in parallel at the same time, it has a function to generate threads. Furthermore, the agent of the second embodiment expands the dummy file 55 to the same capacity as that of the real file 65 as a characteristic function (dummy file extension function) of the second embodiment, and specifies the divided area. By the function, it has a processing function for forming a plurality of storage areas respectively corresponding to the areas into which the real file 65 is divided.

 そして、第2実施形態のエージェントは、第1実施形態の「(6)データ要求機能」と同様に、生成された各スレッドを介し、実ファイル65において、それぞれに対応した各領域に含まれるデータの同時的処理可能数に従ってダウンロードできるようにするため、データの要求を行う要求情報をセカンダリストレージサーバ20へ送信する機能を有する。最後に、第2実施形態のエージェントは、第1実施形態の「(7)データ格納機能」と同様に、セカンダリストレージサーバ20から、各領域のデータがダウンロードされてくると、それらのデータを受信し、受信した各データを、それらの各データが含まれていた実ファイル65の各領域に対応するダミーファイル55の各格納領域にそれぞれ格納する機能を有する。 Then, the agent of the second embodiment, like the “(6) Data request function” of the first embodiment, transmits the data included in each area corresponding to the real file 65 via the generated threads. In order to enable downloading according to the number that can be processed at the same time, it has a function of transmitting request information for requesting data to the secondary storage server 20. Finally, the agent of the second embodiment receives the data when the data of each area is downloaded from the secondary storage server 20 as in “(7) Data storage function” of the first embodiment. Each received data is stored in each storage area of the dummy file 55 corresponding to each area of the actual file 65 in which the data is included.

 一方、セカンダリストレージサーバ20の方の処理は、通知情報の送信が省略される以外、ほぼ第1実施形態と同様になる。すなわち、セカンダリストレージサーバ20が、実ファイル中の領域を指定したデータの呼び出しに応じた要求情報を受信すると、MPU20aが、その要求情報で指定される実ファイルの領域に含まれるデータを、セカンダリストレージ21から読み出して、要求情報の送信元の装置へ送信する。このときも、複数のスレッドを通じて、時分割処理で同時的(並列的)に、複数の要求情報を受信すると、セカンダリストレージサーバ20は、上述したデータの読み出し及び送信を、スレッドに従って、時分割で同時的に処理することになる。 On the other hand, the processing of the secondary storage server 20 is almost the same as that of the first embodiment except that transmission of notification information is omitted. That is, when the secondary storage server 20 receives the request information corresponding to the data call specifying the area in the real file, the MPU 20a converts the data included in the real file area specified by the request information to the secondary storage. 21 and transmits the request information to the transmission source device. Also at this time, when receiving a plurality of request information simultaneously (in parallel) in a time-sharing process through a plurality of threads, the secondary storage server 20 reads and transmits the data described above in a time-sharing manner according to the threads. It will be processed simultaneously.

 図13は、上述した第2実施形態のエージェントの各機能により得られた状態を示し、セカンダリストレージサーバ20に記憶される実ファイル65が、第1領域65a~第4領域65dに分割されることになり、また、プライマリストレージサーバ10ではダミーファイル65が、第1格納領域55a~第4格納領域55dを含むように拡張されており、さらに、両サーバ間においては同時的処理可能数に応じた計4つの第1スレッド74a~第4スレッド74dが生成(確立)された状態になっている。 FIG. 13 shows a state obtained by each function of the agent of the second embodiment described above, and the real file 65 stored in the secondary storage server 20 is divided into the first area 65a to the fourth area 65d. In addition, in the primary storage server 10, the dummy file 65 is expanded to include the first storage area 55a to the fourth storage area 55d. A total of four first threads 74a to fourth threads 74d are generated (established).

 図14は、第2実施形態に係るダウンロードシステム50のダウンロード方法における一連の処理手順を示した第3フローチャートであり、図7の第1実施形態の第1フローチャートに準じたものであり、この第3フローチャートでは、実ファイル65のダウンロードを行うことが決定された段階から処理が始まる内容になっている。 FIG. 14 is a third flowchart showing a series of processing procedures in the download method of the download system 50 according to the second embodiment, which is based on the first flowchart of the first embodiment of FIG. In the flowchart 3, the process starts from the stage when it is determined to download the actual file 65.

 まず、プライマリストレージサーバ10(MPU10aによるエージェント)は、ダミーファイル55の参照情報に含まれる実ファイル65のファイル容量を、記憶部10gで記憶する分割閾値f1と対比し、ファイル容量が分割閾値f1を超過するか否かを判断する(S50)。ファイル容量が分割閾値f1を超過しない場合(S50:NO)、プライマリストレージサーバ10は通常のダウンロード処理を行い、一方、ファイル容量が分割閾値f1を超過した場合(S50:YES)、プライマリストレージサーバ10は、実ファイル65を分割する領域65a~65d(図13参照)を特定すると共に(S51)、CPU40aの処理能力及びRAM10cの容量等に応じた同時的処理可能数に従って、計4つの第1スレッド74a~第4スレッド74d(図13参照)を生成する(S52)。 First, the primary storage server 10 (agent by the MPU 10a) compares the file capacity of the real file 65 included in the reference information of the dummy file 55 with the division threshold f1 stored in the storage unit 10g, and the file capacity sets the division threshold f1. It is determined whether or not it exceeds (S50). When the file capacity does not exceed the division threshold f1 (S50: NO), the primary storage server 10 performs a normal download process. On the other hand, when the file capacity exceeds the division threshold f1 (S50: YES), the primary storage server 10 Specifies areas 65a to 65d (see FIG. 13) into which the real file 65 is divided (S51), and a total of four first threads according to the number of simultaneously processable processes according to the processing capacity of the CPU 40a and the capacity of the RAM 10c. 74a to fourth thread 74d (see FIG. 13) are generated (S52).

 そして、プライマリストレージサーバ10は、参照情報の実ファイル65のファイル容量に従ってダミーファイル55を拡張して、実ファイル55の各領域55a~55dに対応した格納領域55a~55dを生成する(S53)。それからプライマリストレージサーバ10は、実ファイル55における複数の各領域55a~55dにそれぞれ含まれる複数のデータを要求する要求情報を、第1スレッド74a~第4スレッド74dごとにセカンダリストレージサーバ20へ送信する(S54)。 Then, the primary storage server 10 expands the dummy file 55 according to the file size of the real file 65 of the reference information, and generates storage areas 55a to 55d corresponding to the areas 55a to 55d of the real file 55 (S53). Then, the primary storage server 10 transmits request information for requesting a plurality of data included in each of the plurality of areas 55a to 55d in the real file 55 to the secondary storage server 20 for each of the first thread 74a to the fourth thread 74d. (S54).

 セカンダリストレージサーバ20は、プライマリストレージサーバ10からの要求情報を受信したか否かを判断する段階になっており(S60)、受信していない場合(S60:NO)、受信待ちの状態となる。一方、要求情報を受信した場合(S60:YES)、セカンダリストレージサーバ20は、受信した各要求情報で指定される実ファイル55における複数の領域55a~55dにそれぞれ含まれる各データのそれぞれを、各スレッド74a~74dを通じて、同時的にプライマリストレージサーバ10へ送信する処理を行う(S61)。 The secondary storage server 20 is in a stage of determining whether or not the request information from the primary storage server 10 has been received (S60), and if not received (S60: NO), the secondary storage server 20 enters a state of waiting for reception. On the other hand, when the request information is received (S60: YES), the secondary storage server 20 converts each of the data included in each of the plurality of areas 55a to 55d in the real file 55 specified by the received request information. A process of simultaneously transmitting to the primary storage server 10 through the threads 74a to 74d is performed (S61).

 プライマリストレージサーバ10は、S54の段階の要求情報の送信に応じて、各スレッド74a~74dを介し、それぞれデータを同時的に受信すると、受信した各データを、それらの各データが含まれていた実ファイル65の領域65a~65dに対応するダミーファイル65の格納領域65a~65dに、格納する処理を行う(S55)。それからプライマリストレージサーバ10は、各データの全データ容量が格納されたか否かを、参照情報に含まれる実ファイル55のファイル容量と対比して判断し(S56)、全データ容量が格納されていない場合(S56:NO)、S55の段階へ戻り、引き続き、データの受信及び格納の処理を行い、また、全データ容量を格納した場合(S56:YES)、処理を終了する。なお、第2実施形態では、上述した以外は、第1実施形態と同様になっている。 When the primary storage server 10 receives the data simultaneously through the threads 74a to 74d in response to the transmission of the request information at the stage of S54, the received data is included in the received data. The storage process is performed in the storage areas 65a to 65d of the dummy file 65 corresponding to the areas 65a to 65d of the real file 65 (S55). Then, the primary storage server 10 determines whether or not the total data capacity of each data is stored in comparison with the file capacity of the actual file 55 included in the reference information (S56), and the total data capacity is not stored. In the case (S56: NO), the process returns to the stage of S55 to continue the data reception and storage processing. When the entire data capacity is stored (S56: YES), the processing is terminated. The second embodiment is the same as the first embodiment except as described above.

 このように第2実施形態のダウンロードシステム50では、既に存在するダミーファイルを利用するので、第1実施形態のように、プライマリストレージサーバ10は格納ファイルを新たに作成しなくてもよく、プライマリストレージサーバ10側の処理負担を低減できるというメリットがある。なお、第2実施形態においても、第1実施形態で説明した各種変形例の適用が可能である。 As described above, in the download system 50 according to the second embodiment, since the already existing dummy file is used, the primary storage server 10 does not have to create a new storage file as in the first embodiment. There is an advantage that the processing load on the server 10 side can be reduced. Also in the second embodiment, various modifications described in the first embodiment can be applied.

 本発明は、ダウンロード対象のファイルを分割して並列処理でダウンロードする場合、ダウンロード対象のファイルを記憶する側のサーバ装置の処理負担を従来のシステムに比べて低減できるということに対して好適に利用可能である。 INDUSTRIAL APPLICABILITY The present invention is preferably used for the case where the file to be downloaded is divided and downloaded in parallel processing, so that the processing load on the server device storing the file to be downloaded can be reduced as compared with the conventional system. Is possible.

 1、50 ダウンロードシステム
 5 格納ファイル
 5a~5d 第1格納領域~第4格納領域
 10 プライマリストレージサーバ
 11 プライマリストレージ
 12 エージェント
 14a~14d スレッド
 15 (ダウンロード対象の)ファイル
 15a~15d 第1領域~第4領域
 20 セカンダリストレージサーバ
 21 セカンダリストレージ
 40 ユーザ端末
 f1 分割閾値
 f2 分割サイズ
 P1 サーバプログラム
 P2 処理プログラム
DESCRIPTION OF SYMBOLS 1,50 Download system 5 Storage file 5a-5d 1st storage area-4th storage area 10 Primary storage server 11 Primary storage 12 Agent 14a-14d Thread 15 (Download object) File 15a-15d 1st area-4th area 20 secondary storage server 21 secondary storage 40 user terminal f1 division threshold f2 division size P1 server program P2 processing program

Claims (13)

 サーバ装置と、前記サーバ装置に記憶されるファイルをダウンロードする通信装置とを備えるダウンロードシステムにおいて、
 前記通信装置は、
 ダウンロード対象のファイルの容量を確認する確認情報を前記サーバ装置へ送信する処理を行う手段を備え、
 前記サーバ装置は、
 確認情報を受信した場合、ファイルの容量を通知する通知情報を前記通信装置へ送信する処理を行う手段を備え、
 前記通信装置は更に、
 通知情報を受信した場合、通知情報で通知されたファイルの容量に基づき、ダウンロード対象のファイルを分割する複数の領域を特定する手段と、
 特定した複数の領域に対応した複数の格納領域を含む格納ファイルを生成する手段と、
 ダウンロード対象のファイルにおける前記複数の領域にそれぞれ含まれるデータを同時的処理可能数に従って同時的にダウンロードするように、データを要求する要求情報を前記サーバ装置に送信する処理を行う手段と
 を備え、
 前記サーバ装置は更に、
 要求情報を受信した場合、ダウンロード対象のファイルにおける前記複数の領域にそれぞれ含まれるデータを、前記同時的処理可能数に従って同時的に前記通信装置へ送信する処理を行う手段を備え、
 前記通信装置は更に、
 各データを受信した場合、受信した各データのそれぞれが含まれていた各領域に対応する前記格納ファイルの各格納領域へ、受信した各データのそれぞれを格納する処理を行う手段を備えることを特徴とするダウンロードシステム。
In a download system comprising a server device and a communication device for downloading a file stored in the server device,
The communication device
Means for performing a process of transmitting confirmation information for confirming the capacity of a file to be downloaded to the server device;
The server device
When the confirmation information is received, the information processing apparatus includes a unit that performs processing for transmitting notification information to notify the file capacity to the communication device,
The communication device further includes:
When receiving notification information, based on the capacity of the file notified in the notification information, a means for identifying a plurality of areas into which the file to be downloaded is divided,
Means for generating a storage file including a plurality of storage areas corresponding to the plurality of specified areas;
Means for performing a process of transmitting request information for requesting data to the server device so as to simultaneously download the data included in each of the plurality of areas in the file to be downloaded according to the simultaneously processable number,
The server device further includes:
When the request information is received, it comprises means for performing processing for simultaneously transmitting data included in each of the plurality of areas in the file to be downloaded to the communication device according to the simultaneously processable number,
The communication device further includes:
When each data is received, there is provided means for performing a process of storing each received data in each storage area of the storage file corresponding to each area in which each received data was included. Download system.
 ダミーファイルを記憶する通信装置と、前記ダミーファイルに応じた実ファイルを記憶するサーバ装置とを備え、前記ダミーファイルは、前記実ファイルに比べてファイルの容量が小さく且つ前記実ファイルの容量を示す容量情報を含み、前記通信装置が前記サーバ装置から前記実ファイルをダウンロードするダウンロードシステムにおいて、
 前記通信装置は、
 前記ダミーファイルに含まれる容量情報が示す前記実ファイルの容量に基づき前記実ファイルを分割する複数の領域を特定する手段と、
 特定した複数の領域に対応した複数の格納領域を含むように、前記ダミーファイルの容量を拡張する手段と、
 前記実ファイルにおける前記複数の領域にそれぞれ含まれるデータを同時的処理可能数に従って同時的にダウンロードするように、データを要求する要求情報を前記サーバ装置に送信する処理を行う手段と
 を備え、
 前記サーバ装置は、
 要求情報を受信した場合、前記実ファイルにおける前記複数の領域にそれぞれ含まれるデータを、前記同時的処理可能数に従って同時的に前記通信装置へ送信する処理を行う手段を備え、
 前記通信装置は更に、
 各データを受信した場合、受信した各データのそれぞれが含まれていた各領域に対応する前記ダミーファイルの各格納領域へ、受信した各データのそれぞれを格納する処理を行う手段を備えることを特徴とするダウンロードシステム。
A communication device that stores a dummy file; and a server device that stores a real file corresponding to the dummy file. The dummy file has a smaller file size than the real file and indicates the capacity of the real file. In a download system that includes capacity information and the communication device downloads the actual file from the server device,
The communication device
Means for identifying a plurality of areas into which the actual file is divided based on the capacity of the actual file indicated by the capacity information included in the dummy file;
Means for expanding the capacity of the dummy file so as to include a plurality of storage areas corresponding to the plurality of specified areas;
Means for performing a process of transmitting request information for requesting data to the server device so as to simultaneously download data included in each of the plurality of areas in the real file according to a simultaneously processable number,
The server device
When request information is received, the apparatus includes means for performing processing for simultaneously transmitting data included in each of the plurality of areas in the real file to the communication device according to the simultaneously processable number,
The communication device further includes:
When each data is received, there is provided means for performing a process of storing each received data in each storage area of the dummy file corresponding to each area in which each received data is included. Download system.
 外部のサーバ装置が記憶するファイルをダウンロードする通信装置において、
 ダウンロード対象のファイルの容量を確認する確認情報を、外部のサーバ装置へ送信する処理を行う手段と、
 確認情報の送信に応じて、ファイルの容量を通知する通知情報を外部のサーバ装置から受信した場合、通知情報で通知されたファイルの容量に基づき、ダウンロード対象のファイルを分割する複数の領域を特定する手段と、
 特定した複数の領域に対応した複数の格納領域を含む格納ファイルを生成する手段と、
 ダウンロード対象のファイルにおける前記複数の領域にそれぞれ含まれるデータを同時的処理可能数に従って同時的にダウンロードするように、データを要求する要求情報を外部のサーバ装置に送信する処理を行う手段と、
 要求情報の送信に応じて、各データを外部のサーバ装置から受信した場合、受信した各データのそれぞれが含まれていた各領域に対応する前記格納ファイルの各格納領域へ、受信した各データのそれぞれを格納する処理を行う手段と
 を備えることを特徴とする通信装置。
In a communication device that downloads a file stored in an external server device,
Means for performing processing for transmitting confirmation information for confirming the capacity of a file to be downloaded to an external server device;
In response to the transmission of confirmation information, when notification information notifying the file size is received from an external server device, multiple areas for dividing the file to be downloaded are identified based on the file size notified by the notification information Means to
Means for generating a storage file including a plurality of storage areas corresponding to the plurality of specified areas;
Means for performing a process of transmitting request information for requesting data to an external server device so as to simultaneously download the data included in each of the plurality of areas in the file to be downloaded according to the simultaneously processable number;
In response to transmission of request information, when each data is received from an external server device, each received data is stored in each storage area of the storage file corresponding to each area in which each received data is included. Means for storing each of the communication devices.
 ダミーファイルを記憶すると共に、前記ダミーファイルに応じた実ファイルを外部のサーバ装置からダウンロードする通信装置において、
 前記ダミーファイルは、前記実ファイルに比べてファイルの容量が小さく且つ前記実ファイルの容量を示す容量情報を含み、
 前記ダミーファイルに含まれる容量情報が示す前記実ファイルの容量に基づき前記実ファイルを分割する複数の領域を特定する手段と、
 特定した複数の領域に対応した複数の格納領域を含むように、前記ダミーファイルの容量を拡張する手段と、
 前記実ファイルにおける前記複数の領域にそれぞれ含まれるデータを同時的処理可能数に従って同時的にダウンロードするように、データを要求する要求情報を外部のサーバ装置に送信する処理を行う手段と、
 要求情報の送信に応じて、各データを外部のサーバ装置から受信した場合、受信した各データのそれぞれが含まれていた各領域に対応する前記ダミーファイルの各格納領域へ、受信した各データのそれぞれを格納する処理を行う手段と
 を備えることを特徴とする通信装置。
In a communication device that stores a dummy file and downloads an actual file corresponding to the dummy file from an external server device,
The dummy file has a capacity smaller than that of the actual file and includes capacity information indicating the capacity of the actual file,
Means for identifying a plurality of areas into which the actual file is divided based on the capacity of the actual file indicated by the capacity information included in the dummy file;
Means for expanding the capacity of the dummy file so as to include a plurality of storage areas corresponding to the plurality of specified areas;
Means for performing a process of transmitting request information for requesting data to an external server device so as to simultaneously download the data included in each of the plurality of areas in the real file according to the simultaneously processable number;
When each data is received from an external server device in response to the transmission of the request information, each received data is stored in each storage area of the dummy file corresponding to each area in which each received data is included. Means for storing each of the communication devices.
 前記同時的処理可能数と同数のスレッドを生成する手段を備え、
 生成したスレッドごとに要求情報を送信すると共に、生成したスレッドごとにデータを受信するようにしてある請求項3又は請求項4に記載の通信装置。
Means for generating the same number of threads that can be processed simultaneously;
5. The communication apparatus according to claim 3, wherein request information is transmitted for each generated thread and data is received for each generated thread.
 特定した複数の領域の数が前記同時的処理可能数を上回る場合、複数の要求情報を送信するスレッドが生じるようにしてあり、
 前記複数の要求情報のそれぞれは、異なる領域に含まれるデータを要求するものにしてある請求項5に記載の通信装置。
If the number of specified areas exceeds the number that can be processed simultaneously, a thread for transmitting a plurality of request information is generated.
The communication apparatus according to claim 5, wherein each of the plurality of pieces of request information requests data included in a different area.
 特定した複数の領域の数が前記同時的処理可能数を上回る場合、異なる複数の領域に含まれるデータを要求する要求情報を送信するスレッドが生じるようにしてある請求項5に記載の通信装置。 6. The communication apparatus according to claim 5, wherein when the number of the specified plurality of areas exceeds the simultaneously processable number, a thread for transmitting request information for requesting data included in the plurality of different areas is generated.  前記複数の領域を特定する手段は、ファイルの容量及び分割サイズに基づき複数の領域を特定するようにしており、
 前記分割サイズに係る数値を受け付ける手段と、
 受け付けた数値を、前記分割サイズとして設定する手段と
 を備える請求項3乃至請求項7のいずれか1項に記載の通信装置。
The means for specifying the plurality of areas is configured to specify a plurality of areas based on a file capacity and a division size.
Means for receiving a numerical value relating to the division size;
The communication apparatus according to any one of claims 3 to 7, further comprising: means for setting an accepted numerical value as the division size.
 前記要求情報は、特定した領域に係る位置範囲を指定する情報を含む請求項3乃至請求項8のいずれか1項に記載の通信装置。 The communication apparatus according to any one of claims 3 to 8, wherein the request information includes information specifying a position range related to the specified area.  通信装置が、外部のサーバ装置からファイルをダウンロードするダウンロード方法において、
 ダウンロード対象のファイルの容量を確認する確認情報を、外部のサーバ装置へ送信する処理を行うステップと、
 確認情報の送信に応じて、ファイルの容量を通知する通知情報を外部のサーバ装置から受信した場合、通知情報で通知されたファイルの容量に基づき、ダウンロード対象のファイルを分割する複数の領域を特定するステップと、
 特定した複数の領域に対応した複数の格納領域を含む格納ファイルを生成するステップと、
 ダウンロード対象のファイルにおける前記複数の領域にそれぞれ含まれるデータを同時的処理可能数に従って同時的にダウンロードするように、データを要求する要求情報を外部のサーバ装置に送信する処理を行うステップと、
 要求情報の送信に応じて、各データを外部のサーバ装置から受信した場合、各データのそれぞれが含まれていた各領域に対応する前記格納ファイルの各格納領域へ、受信した各データのそれぞれを格納する処理を行うステップと
 を備えることを特徴とするダウンロード方法。
In a download method in which a communication device downloads a file from an external server device,
A step of performing a process of transmitting confirmation information for confirming the capacity of a file to be downloaded to an external server device;
In response to the transmission of confirmation information, when notification information notifying the file size is received from an external server device, multiple areas for dividing the file to be downloaded are identified based on the file size notified by the notification information And steps to
Generating a storage file including a plurality of storage areas corresponding to the plurality of specified areas;
Performing a process of transmitting request information for requesting data to an external server device so as to simultaneously download the data included in each of the plurality of areas in the file to be downloaded according to the simultaneously processable number;
When each data is received from an external server device in response to the transmission of the request information, each received data is transferred to each storage area of the storage file corresponding to each area in which each data was included. A download method comprising: a step of performing a storing process.
 ダミーファイルを記憶する通信装置が、前記ダミーファイルに応じた実ファイルを外部のサーバ装置からダウンロードするダウンロード方法において、
 前記ダミーファイルは、前記実ファイルに比べてファイルの容量が小さく且つ前記実ファイルの容量を示す容量情報を含み、
 前記ダミーファイルに含まれる容量情報が示す前記実ファイルの容量に基づき前記実ファイルを分割する複数の領域を特定するステップと、
 特定した複数の領域に対応した複数の格納領域を含むように、前記ダミーファイルの容量を拡張するステップと、
 前記実ファイルにおける前記複数の領域にそれぞれ含まれるデータを同時的処理可能数に従って同時的にダウンロードするように、データを要求する要求情報を外部のサーバ装置に送信する処理を行うステップと、
 要求情報の送信に応じて、各データを外部のサーバ装置から受信した場合、受信した各データのそれぞれが含まれていた各領域に対応する前記ダミーファイルの各格納領域へ、受信した各データのそれぞれを格納する処理を行うステップと
 を備えることを特徴とするダウンロード方法。
In a download method in which a communication device that stores a dummy file downloads an actual file corresponding to the dummy file from an external server device,
The dummy file has a capacity smaller than that of the actual file and includes capacity information indicating the capacity of the actual file,
Identifying a plurality of areas into which the actual file is divided based on the capacity of the actual file indicated by the capacity information included in the dummy file;
Expanding the capacity of the dummy file to include a plurality of storage areas corresponding to the plurality of specified areas;
Performing a process of transmitting request information for requesting data to an external server device so as to simultaneously download data included in each of the plurality of areas in the real file according to a simultaneously processable number;
When each data is received from an external server device in response to the transmission of the request information, each received data is stored in each storage area of the dummy file corresponding to each area in which each received data is included. A download method comprising: performing a process of storing each of them.
 通信機能を有するコンピュータに、外部のサーバ装置からファイルをダウンロードする処理を行わせるためのコンピュータプログラムにおいて、
 前記コンピュータに、
 ダウンロード対象のファイルの容量を確認する確認情報を、外部のサーバ装置へ送信する処理を行うステップと、
 確認情報の送信に応じて、ファイルの容量を通知する通知情報を外部のサーバ装置から受信した場合、通知情報で通知されたファイルの容量に基づき、ダウンロード対象のファイルを分割する複数の領域を特定するステップと、
 特定した複数の領域に対応した複数の格納領域を含む格納ファイルを生成するステップと、
 ダウンロード対象のファイルにおける前記複数の領域にそれぞれ含まれるデータを同時的処理可能数に従って同時的にダウンロードするように、データを要求する要求情報を外部のサーバ装置に送信する処理を行うステップと、
 要求情報の送信に応じて、各データを外部のサーバ装置から受信した場合、受信した各データのそれぞれが含まれていた各領域に対応する前記格納ファイルの各格納領域へ、受信した各データのそれぞれを格納する処理を行うステップと
 を実行させることを特徴とするコンピュータプログラム。
In a computer program for causing a computer having a communication function to perform processing for downloading a file from an external server device,
In the computer,
A step of performing a process of transmitting confirmation information for confirming the capacity of a file to be downloaded to an external server device;
In response to the transmission of confirmation information, when notification information notifying the file size is received from an external server device, multiple areas for dividing the file to be downloaded are identified based on the file size notified by the notification information And steps to
Generating a storage file including a plurality of storage areas corresponding to the plurality of specified areas;
Performing a process of transmitting request information for requesting data to an external server device so as to simultaneously download the data included in each of the plurality of areas in the file to be downloaded according to the simultaneously processable number;
In response to transmission of request information, when each data is received from an external server device, each received data is stored in each storage area of the storage file corresponding to each area in which each received data is included. And a step of executing a process of storing each of them.
 通信機能を有すると共にダミーファイルを記憶するコンピュータに、前記ダミーファイルに応じた実ファイルを外部のサーバ装置からダウンロードする処理を行わせるためのコンピュータプログラムにおいて、前記ダミーファイルは、前記実ファイルに比べてファイルの容量が小さく且つ前記実ファイルの容量を示す容量情報を含み、
 前記コンピュータに、
 前記ダミーファイルに含まれる容量情報が示す前記実ファイルの容量に基づき前記実ファイルを分割する複数の領域を特定するステップと、
 特定した複数の領域に対応した複数の格納領域を含むように、前記ダミーファイルの容量を拡張するステップと、
 前記実ファイルにおける前記複数の領域にそれぞれ含まれるデータを同時的処理可能数に従って同時的にダウンロードするように、データを要求する要求情報を外部のサーバ装置に送信する処理を行うステップと、
 要求情報の送信に応じて、各データを外部のサーバ装置から受信した場合、受信した各データのそれぞれが含まれていた各領域に対応する前記ダミーファイルの各格納領域へ、受信した各データのそれぞれを格納する処理を行うステップと
 を実行させることを特徴とするコンピュータプログラム。
 
 
In a computer program for causing a computer having a communication function and storing a dummy file to perform processing of downloading an actual file corresponding to the dummy file from an external server device, the dummy file is compared with the actual file. The file size is small and includes capacity information indicating the capacity of the actual file,
In the computer,
Identifying a plurality of areas into which the actual file is divided based on the capacity of the actual file indicated by the capacity information included in the dummy file;
Expanding the capacity of the dummy file to include a plurality of storage areas corresponding to the plurality of specified areas;
Performing a process of transmitting request information for requesting data to an external server device so as to simultaneously download data included in each of the plurality of areas in the real file according to a simultaneously processable number;
When each data is received from an external server device in response to the transmission of the request information, each received data is stored in each storage area of the dummy file corresponding to each area in which each received data is included. And a step of executing a process of storing each of them.

PCT/JP2016/051853 2016-01-22 2016-01-22 Download system, communication device, download method, and computer program Ceased WO2017126105A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016530264A JP5976265B1 (en) 2016-01-22 2016-01-22 Download system, communication device, download method, and computer program
PCT/JP2016/051853 WO2017126105A1 (en) 2016-01-22 2016-01-22 Download system, communication device, download method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/051853 WO2017126105A1 (en) 2016-01-22 2016-01-22 Download system, communication device, download method, and computer program

Publications (1)

Publication Number Publication Date
WO2017126105A1 true WO2017126105A1 (en) 2017-07-27

Family

ID=56708848

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/051853 Ceased WO2017126105A1 (en) 2016-01-22 2016-01-22 Download system, communication device, download method, and computer program

Country Status (2)

Country Link
JP (1) JP5976265B1 (en)
WO (1) WO2017126105A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020091870A (en) * 2018-12-06 2020-06-11 北京字節跳働網絡技術有限公司 File download method and device, and computer-readable medium
JP2021018637A (en) * 2019-07-22 2021-02-15 丸紅Itソリューションズ株式会社 Setting information display system, method and program for displaying setting information relating to remote resource

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112631520B (en) * 2020-12-25 2023-09-22 北京百度网讯科技有限公司 Distributed block storage systems, methods, devices, equipment and media

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000322309A (en) * 1999-05-13 2000-11-24 Kdd Corp File transmission device
JP2006164211A (en) * 2004-11-12 2006-06-22 Nec Corp System, method and program for storage management
JP2015125657A (en) * 2013-12-26 2015-07-06 キヤノン株式会社 Information processing device, method of controlling the same, and computer program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011097471A (en) * 2009-10-30 2011-05-12 Toshiba Corp Video reproducing apparatus, video receiving method and video content downloading program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000322309A (en) * 1999-05-13 2000-11-24 Kdd Corp File transmission device
JP2006164211A (en) * 2004-11-12 2006-06-22 Nec Corp System, method and program for storage management
JP2015125657A (en) * 2013-12-26 2015-07-06 キヤノン株式会社 Information processing device, method of controlling the same, and computer program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020091870A (en) * 2018-12-06 2020-06-11 北京字節跳働網絡技術有限公司 File download method and device, and computer-readable medium
US11064012B2 (en) 2018-12-06 2021-07-13 Beijing Bytedance Network Technology Co., Ltd. File downloading method, apparatus, and non-transitory computer-readable storage medium
JP2021018637A (en) * 2019-07-22 2021-02-15 丸紅Itソリューションズ株式会社 Setting information display system, method and program for displaying setting information relating to remote resource
US11188198B2 (en) 2019-07-22 2021-11-30 Marubeni IT Solutions Inc. Settings information display system, method, and program for displaying settings information regarding remote resources

Also Published As

Publication number Publication date
JP5976265B1 (en) 2016-08-23
JPWO2017126105A1 (en) 2018-01-25

Similar Documents

Publication Publication Date Title
US7080219B2 (en) Storage controlling device and control method for a storage controlling device
JP5680961B2 (en) Integrated provision of physical and virtual images
CN112148678B (en) A file access method, system, device and medium
US9525592B2 (en) Client/server network environment setup method and system
JP6475256B2 (en) Computer, control device and data processing method
US11102299B2 (en) Data processing system
US10091126B2 (en) Cloud system, control method thereof, management server and control method thereof
JP4677514B2 (en) Apparatus, method, and program for selecting a physical network interface
CN109922120B (en) Method and terminal for improving DNS availability
JP5976265B1 (en) Download system, communication device, download method, and computer program
CN113268329B (en) Request scheduling method, device and storage medium
JP2014228946A (en) Information processing apparatus, information processing system, control method of information processing apparatus, and control program of information processing apparatus
CN114296953A (en) Multi-cloud heterogeneous system and task processing method
JP2005149283A (en) Information processing system, information processing system control method, and program
CN116069447B (en) A method, device, equipment, and medium for generating NUMA topology of a virtual machine
US7908377B2 (en) Computer system and data sharing method
JP2017130180A (en) Download system, communication device, download method, and computer program
CN113761526A (en) Attack intention analysis method and system based on big data
CN100465881C (en) Method and apparatus for incrementally adapting an application
JP2008282428A (en) Content data providing apparatus and network system
CN113609078A (en) Remote batch file operation method and device
JP6218720B2 (en) Data processing system, server and data processing management program
JP6542721B2 (en) Data management apparatus and data management method
KR102795253B1 (en) Resource ID Format Conversion Method for IoT/M2M Platform
JP2019165381A (en) Image processing device, relay device, and program

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2016530264

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 16886346

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: 16886346

Country of ref document: EP

Kind code of ref document: A1