WO2006001137A1 - データ通信システム、サーバ装置及びデータ通信方法並びにそのプログラム - Google Patents

データ通信システム、サーバ装置及びデータ通信方法並びにそのプログラム Download PDF

Info

Publication number
WO2006001137A1
WO2006001137A1 PCT/JP2005/009031 JP2005009031W WO2006001137A1 WO 2006001137 A1 WO2006001137 A1 WO 2006001137A1 JP 2005009031 W JP2005009031 W JP 2005009031W WO 2006001137 A1 WO2006001137 A1 WO 2006001137A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
cache
server
client
difference
Prior art date
Application number
PCT/JP2005/009031
Other languages
English (en)
French (fr)
Inventor
Kazuhiro Sakata
Original Assignee
Nec Corporation
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 Nec Corporation filed Critical Nec Corporation
Publication of WO2006001137A1 publication Critical patent/WO2006001137A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC

Definitions

  • the present invention relates to a data communication system, a server device, a data communication method, and a program therefor, and more particularly to a data communication system that reuses data communicated in the past during communication.
  • this type of data communication system includes a server 3, a client 4, and a network 100 that connects the server 3 and the client 4. There is a data communication system.
  • the server 3 includes a communication unit 31 having a function of communicating with the client 4 via the network 100, a data transmission processing unit 32 having a function of transmitting data upon receiving a data request from the client 4, and the server 3 It is composed of a data acquisition unit 33 having a function of acquiring data corresponding to a specified resource ID among data stored inside.
  • the resource ID is an identifier used for designating data required by the client 4 in the data request.
  • the resource ID is associated with specific data. Yes.
  • data associated with resource IDs may change over time, or data associated with resource IDs may be dynamically generated.
  • the data associated with the resource ID is outside the server 3 inside the server 3, and the data acquisition unit 33 acquires the data via the network 100.
  • the client 4 has a communication unit 41 having a function of communicating with the server 3 via the network 100, and a data reception function having a function of requesting the data to the server 3 in response to a user request or the like and acquiring the data.
  • the processing unit 42 is configured to request data from the server 3 and receive data from the server 3 based on a user instruction or the like.
  • the data reception processing unit 42 receives necessary data resources based on a request from a user or the like.
  • a data request message including the source ID is transmitted to the server 3 by the communication unit 41.
  • the data transmission processing unit 32 of the server 3 receives the data request message through the communication unit 31.
  • the data transmission processing unit 32 acquires the data corresponding to the resource ID of the data specified in the data request message from the data acquisition unit 33, and sends a data response message including the data to the request source by the communication unit 31. Send to client 4.
  • the data reception processing unit 42 receives the data response message and acquires data in the data response message. Through the above processing, the client 4 obtains necessary data from the server 3.
  • FIG. 10 As an example of a system that takes this data amount reduction into consideration, as shown in FIG. 10, as shown in FIG. There is a communication system.
  • the server 5 includes a communication unit 51 having a function of communicating with the client 6 via the network 100, a data transmission processing unit 52 having a function of transmitting data upon receiving a data request from the client 6, and the server 5 Two types of data: a data acquisition unit 53 that has a function of acquiring data corresponding to a specified resource ID among data stored inside, and a cache storage unit 54 that has a function of storing data transmitted in the past And a difference information generating unit 55 having a function of generating difference data from.
  • the data acquisition unit 53 identifies the data at the time of data acquisition in addition to the function of acquiring data associated with the resource ID. It has a function to assign a data ID for this purpose.
  • the data ID is unique in the data group associated with the same resource ID, and when multiple data have the same resource ID and the same data ID, it is guaranteed that the contents of these data are the same.
  • the client 6 stores the communication unit 61, the data reception processing unit 62, and the data received in the past.
  • the cache storage unit 63 has a function of storing data
  • the information restoration unit 64 has a function of restoring data used for difference generation from difference data.
  • data transmitted and received in the past is stored together with its resource ID and data ID.
  • An example of data stored in the cache storage unit 54 is shown in FIG. 11, and an example of data stored in the cache storage unit 63 is shown in FIG. In these examples, data is stored as a set of resource ID, data ID, and data content.
  • the data reception processing unit 62 passes a data request message including the resource ID of the required data based on a request from the user or the like! The data is transmitted to the server 5 by the communication unit 61. However, at that time, the data reception processing unit 62 refers to the cache storage unit 63, checks whether there is data corresponding to the requested resource ID, and if there is data corresponding to the resource ID, the data ID of that data Is included in the data request message.
  • the data transmission processing unit 52 of the server 5 receives the data request message through the communication unit 51.
  • the data transmission processing unit 52 acquires the data corresponding to the resource ID of the data specified in the data request message from the data acquisition unit 53, and assigns the data ID. If the data request message contains a data ID! /, The data transmission processing unit 52 generates a data response message including the data and the data ID, and transmits the data response message to the client 6 by the communication unit 51. .
  • the data transmission processing unit 52 uses the differential information generation unit 55 to Then, a difference between the data acquired by the data acquisition unit 53 and the data in the cache storage unit 54 is generated, a data response message including the difference data is generated, and transmitted to the client 6 by the communication unit 51.
  • the data transmission processing unit 52 displays the data and the data ID.
  • a data response message including the message is generated and transmitted to the client 6 by the communication unit 51.
  • the data reception processing unit 62 of the client 6 receives the data response message.
  • the data reception processing unit 62 acquires the data as it is.
  • the data reception processing unit 62 is used by the information restoration unit 64 to generate a difference from the differential data and the data having the data ID specified at the time of the request in the cache storage unit 63. Restore and acquire the original data.
  • the client 6 obtains necessary data from the server 5.
  • the data transmission processing unit 52 and the data reception processing unit 62 store the data in the cache storage unit 54 together with the resource ID and the data ID, respectively, based on arbitrary rules in the course of the above processing. .
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2000-194613
  • Non-patent document 1 "Delta encoding in HTTP", RFC 32 29, January 2002 Disclosure of invention
  • An object of the present invention is to solve the above-described problems and to reduce the amount of communication even when the data request target by the client is not the same, a data communication system, a server device, a data communication method, and its To provide a program.
  • a data communication system is a data communication system for transmitting data from Sano to a client
  • First cache storage means for storing data communicated in the past as cache data
  • means for generating and transmitting differential data between the transmission data and the cache data stored in the first cache storage means when transmitting the transmission data to the client
  • the second cache storage means for storing data communicated in the past as cache data, the means for receiving data from the server, the difference data, and the cache data stored in the second cache storage means A means for restoring the transmission data, provided in the client;
  • the cache data is stored in the same state in the first cache storage means and the second cache storage means.
  • the server device is a server device for transmitting data to a client, and stores first cache storage means for storing data communicated in the past as cache data, and when transmitting transmission data to the client. Means for generating and transmitting differential data between the transmission data and the cache data stored in the first cache storage means,
  • the differential data is for restoring the transmission data from the cache data stored in the second cache storage means of the client that stores the previously communicated data as cache data;
  • the cache data is stored in the same state in the first cache storage means and the second cache storage means.
  • a data communication method is a data communication method for transmitting data from a Sano to a client
  • the server and the client store the previously communicated data in the same state as cache data in the first cache storage means of the server and the second cache storage means of the client, respectively.
  • the server When the server transmits transmission data to the client, the server generates and transmits differential data between the cache data stored in the first cache storage means and the transmission data, and the client Stored in the second cache storage means. The transmission data is restored from the cached data.
  • a program for a data communication method is a program for a data communication method for transmitting data from a Sano to a client.
  • the previously transmitted data is stored in the same state as cache data, and the transmission data is restored from the cache data stored in the second cache storage means of the client.
  • the difference information generation / comparison unit when the server transmits the requested data, the difference information generation / comparison unit generates a difference between the transmission target data and all the cache data in the cache storage unit, The difference data of the minimum size is transmitted together with the cache data identifier, and the cache data in the cache storage unit is updated.
  • the client restores the difference data received from Sano and the cache data and the cache data in the cache storage unit associated with the cache identifier, and the cache data in the cache storage unit is stored in the server Update using the same method.
  • the present invention has the effect of reducing the amount of communication even when the data request target by the client is not the same.
  • FIG. 1 is a block diagram showing a configuration of a data communication system according to an embodiment of the present invention.
  • a data communication system according to an embodiment of the present invention includes a server 1, a client 2, and a network 100 that connects the server 1 and the client 2.
  • the power of client 2 as a single unit
  • Multiple clients 2 connect to server 1 via network 100. It may be continued.
  • the network 100 implements communication between the server 1 and the client 2, such as the Internet.
  • Any communication protocol may be used for communication on the network 100 between the server 1 and the client 2.
  • standardized protocols such as HTTP (Hypertext Transfer Protocol) and SIP (Session Initiation Protocol) may be used, or a proprietary protocol may be used.
  • the client 2 has a function of acquiring from the server 1 via the network 100 the data specified by the user or the external program power.
  • Server 1 has a function of transmitting data designated by client 2 to client 2 via network 100.
  • Server 1 includes communication unit 11, data transmission processing unit 12, data acquisition unit 13, cache processing unit 14, cache storage unit 15, difference information generation / comparison unit 16, and data storage unit 17. And a recording medium 18.
  • the communication unit 11 communicates with the client 2 via the network 100, and the data transmission processing unit 12 transmits data in response to a request from the client 2.
  • the data acquisition unit 13 acquires data based on the designation of the identifier, and the cache processing unit 14 performs processing for adding, deleting, and changing data in the cache storage unit 15.
  • the cache storage unit 15 stores data that has been a communication target in the past. Difference information generation
  • the comparison unit 16 determines whether or not the communication efficiency can be improved by generating difference data of two data forces and transmitting the difference.
  • the data storage unit 17 stores data.
  • the recording medium 18 stores a program (a computer-executable program) for realizing processing of each unit of the server 1.
  • a program a computer-executable program
  • the server 1 includes a CPU (central processing unit) and a RAM (random access memory)
  • the CPU moves the program of the recording medium 18 to the RAM and executes it, so that the entire server 1 is executed. Control and various processing operations.
  • the data acquisition unit 13 has a function of providing data in response to a request accompanied by designation of an identifier.
  • the format of the identifier may be any format as long as the data acquisition unit 13 can recognize it.
  • An example of an identifier format is URI (Uniform Resource Indicator) There is.
  • the data acquisition unit 13 When the data acquisition unit 13 receives a request for data, the data acquisition unit 13 acquires data corresponding to the identifier with reference to the data storage unit 17, and outputs the data. Note that the data acquisition unit 13 uses data stored in an arithmetic device such as a computer connected to the server 1 via the network 100 that includes only the data in the data storage unit 17 in the server 1 as a data acquisition target. May also be included.
  • an arithmetic device such as a computer connected to the server 1 via the network 100 that includes only the data in the data storage unit 17 in the server 1 as a data acquisition target. May also be included.
  • the identifier also includes information for identifying the arithmetic device on the network 100, and the data acquisition unit 13 acquires the specified data from within the arithmetic device specified by the identifier.
  • the association between the identifier and the data may change with time.
  • the data associated with the identifier may be dynamically generated when requested.
  • the client 2 includes a communication unit 21, a data reception processing unit 22, an input / output unit 23, a cache processing unit 24, a cache storage unit 25, an information restoration unit 26, and a recording medium 27. ing.
  • the communication unit 21 communicates with the server 1 via the network 100, and the data reception processing unit 22 acquires data from the server 1 based on a request via the input / output unit 23.
  • the input / output unit 23 performs input / output with a user or an external program.
  • the cache processing unit 24 pursues data in the cache storage unit 25! ], Delete, change.
  • the cache storage unit 25 stores data that has been subject to communication in the past.
  • the information restoration unit 26 restores the original data from the difference data.
  • the recording medium 27 stores a program (program executable by a computer) for realizing the processing of each unit of the client 2.
  • program program executable by a computer
  • the client 2 includes a CPU and RAM
  • the CPU moves the program of the recording medium 27 to the RAM and executes it, thereby executing control of the entire client 2 and various processing operations. Can do.
  • the difference information generation / comparison unit 16 has a function of generating difference data D from data A and B.
  • the result of subtracting the size of differential data D from the size of data A is called the size reduction from data A.
  • the information restoration unit 26 converts the data A from the difference data D and the data B. It has a function to generate.
  • any algorithm can be used as long as the information restoration unit 26 can correctly restore information. Use it!
  • the data transmission processing unit 12 transmits data to the client 2 in the past.
  • the data storage processing unit 25 stores the data received from the server 1 in the past by the data reception processing unit 22, respectively. Is stored as
  • the cache storage unit 15 and the cache storage unit 25 are in a state where no cache data is stored.
  • Data processing such as addition, deletion, and modification of data in the cache storage unit 15 is performed by the cache processing unit 14, and data processing such as addition, deletion, and modification of data in the cache storage unit 25 is performed by the cache processing unit 24. , Respectively.
  • the cache processing unit 14 and the cache processing unit 24 execute various data processing so that the contents of the data stored in the cache storage unit 15 and the cache storage unit 25 are in the same state.
  • the cache storage section 15 has a cache data storage area corresponding to each client 2, and the contents of each are the contents of the cache storage section 25 of the corresponding client 2. Will be in the same state.
  • FIGS. 2A and 2B are diagrams showing examples of data in the cache storage unit 15 of the server 1 in FIG. 2A and 2B, the cache storage unit 15 manages cache data corresponding to a plurality of clients 2 (client identifiers “00001” and “00002”).
  • the cache data is managed in the cache storage unit 15 together with an identifier for identifying the data. This identifier is managed by the cache processing unit 14.
  • Fig. 2 (a) is an example of cache data corresponding to client 2 identified by client identifier "00001”
  • Fig. 2 (b) is cache data corresponding to client 2 identified by client identifier "00002”. It is an example.
  • FIG. 3 is a diagram showing an example of data in the cache storage unit 25 of the client 2 in FIG.
  • the client 2 identified by the client identifier “00001” shown in FIG.
  • An example of corresponding cache data is shown.
  • the contents of the cache data stored in the server 1 and the client 2 are the same.
  • FIG. 4 is a sequence chart showing the operation of the data communication system according to the embodiment of the present invention
  • FIG. 5 is a flowchart showing the data communication processing in the client 2 of FIG. 1
  • FIG. 6 is a flowchart showing data communication processing in the server 1 of FIG.
  • FIG. 7 is a flowchart showing the determination process in the server 1 in FIG. 1
  • FIG. 8 is a flowchart showing the data communication process in the client 2 in FIG.
  • the operation of the data communication system according to the embodiment of the present invention will be described with reference to FIGS.
  • the processes shown in FIGS. 5 to 8 are realized by the CPUs of the server 1 and the client 2 executing the programs of the recording media 18 and 27.
  • each of (1) client process # 1, (2) server process, and (3) client process # 2 processes is performed by server 1. And the power executed by the client 2
  • the operation of the data communication system according to the embodiment of the present invention will be described by dividing it into these three processes.
  • Client process # 1 is executed by the data reception processing unit 22 of client 2 (al, a2 in FIG. 4) G That is, the data reception processing unit 22 is sent from the request source by the input / output unit 23.
  • a request for data is received (step Sl in FIG. 5). This request includes information about the required data.
  • examples of the request source include a user of the client 2 and an external computing device (not shown) connected to the client 2.
  • the data reception processing unit 22 extracts the required data identifier from the request input from the input / output unit 23, generates a data request message including the identifier, and the communication unit 21 uses the server Send to 1 (step S2 in Fig. 5).
  • client 2 sends a data request message to server 1 (a3 in FIG. 4).
  • the server process is executed by the data transmission processing unit 12 of the server 1 (a4 in FIG. 4) o That is, the data transmission processing unit 12 receives the data request message from the client 2 by the communication unit 11. (Step S11 in Fig. 6). The data transmission processing unit 12 extracts an identifier of data required by the client 2 included in the data request message from the client 2, and acquires data associated with the identifier by the data acquisition unit 13 ( Figure 6 Step S12).
  • the acquired data that is, the data requested by the client 2 is referred to as original data.
  • the data transmission processing unit 12 uses the difference information generation / comparison unit 16 to determine whether or not communication efficiency can be improved by performing difference transmission in transmission of original data (step S13 in FIG. 6).
  • the difference information generation / comparison unit 16 generates difference data from the original data for all the cache data stored in the cache storage unit 15 (step S21 in FIG. 7).
  • cache data corresponding to a plurality of clients 2 is stored in the cache storage unit 15, only the cache data corresponding to the client 2 that is the data request source is the target of differential information generation.
  • the difference information generation / comparison unit 16 selects the one having the smallest medium size of the generated difference data. Hereinafter, this difference data is referred to as minimum difference data.
  • the difference information generation / comparison unit 16 calculates the size reduction amount by subtracting the size of the minimum difference data from the size of the original data (step S22 in FIG. 7).
  • the difference information generation / comparison unit 16 checks whether or not the size reduction amount calculated by the above processing is equal to or greater than a predetermined threshold (step S23 in FIG. 7).
  • the predetermined threshold is a unique value determined by server 1.
  • the threshold value shall be set with Sano 1 in advance in consideration of the communication overhead during transmission of differential data.
  • An example of the threshold value is “0”, for example.
  • the difference information generation / comparison unit 16 sets the determination result to "possible", and is used to generate the minimum difference data and the minimum difference data together with the determination result.
  • the identifier in the cache storage unit 15 for cache data is output (step S24 in FIG. 7).
  • the difference information generation / comparison unit 16 sets the determination result to “impossible” and outputs the determination result (step S25 in FIG. 7).
  • the above processing is executed by the difference information generation / comparison unit 16 in step S13.
  • the above procedure is It is an example of a determination method and does not limit the determination method.
  • the data transmission processing unit 12 obtains the determination result from the difference information generation / comparison unit 16 and also acquires the information when there is information accompanying the determination result.
  • the data transmission processing unit 12 checks whether or not the determination result from the difference information generation / comparison unit 16 is “possible” (step S14 in FIG. 6). When the determination result is “possible”, the data transmission processing unit 12 generates a data response message including the following information (step S15 in FIG. 6).
  • the data transmission processing unit 12 obtains a difference flag (flag information that takes a value of “0” or “1”, where the value is set to “1”) and the difference information generation / comparison unit 16.
  • a data response message is generated from the obtained minimum difference data and the cache identifier obtained from the difference information generation / comparison unit 16.
  • the data transmission processing unit 12 If the determination result from the difference information generation / comparison unit 16 is not “possible”, the data transmission processing unit 12 generates a data response message having the following information power (step S 16 in FIG. 6).
  • the data transmission processing unit 12 uses the difference flag (flag information taking a value of “0” or “1”. Here, the value is set to “0”) and the original data acquired by the data acquisition unit 13. Generate a data response message.
  • the data transmission processing unit 12 transmits the data response message generated as described above to the client 2 through the communication unit 11 (step S17 in FIG. 6).
  • the data transmission processing unit 12 updates the data content of the cache storage unit 15 by the cache processing unit 14 (step S18 in FIG. 6). If cache data corresponding to a plurality of clients 2 is stored in the cache storage unit 15, the cache data corresponding to the client 2 of the data request source is subject to update.
  • the cache processing unit 14 adds or deletes cache data based on a predetermined algorithm.
  • the cache processing unit 14 determines which data is added to the cache storage unit 15, which data is deleted from the cache storage unit 15, and how identifiers are assigned to cache data in the cache storage unit 15. Information on the processing performed by is defined.
  • the processing contents of the above algorithm are uniquely determined, and any algorithm may be used as long as the same determination processing is possible on the client 2.
  • the server 1 transmits a data response message to the client 2 and updates the cache data in the cache storage unit 15.
  • Client process # 2 is executed by the data reception processing unit 22 of the client 2. That is, the data reception processing unit 22 receives a data response message from the server 1 through the communication unit 21 (step S31 in FIG. 8).
  • the data reception processing unit 22 extracts the difference flag information from the data response message received from the server 1, and checks whether or not the difference flag has a value “1” (step S32 in FIG. 8). If the difference flag power is “l”, the data reception processing unit 22 restores the original data by the information restoration unit 26 (step S33 in FIG. 8).
  • the information restoration unit 26 includes the difference data included in the data response message and the cache storage unit.
  • the original data is restored from the cache data corresponding to the cache identifier included in the data response message among the cache data within 25.
  • the data reception processing unit 22 acquires the original data included in the data response message (step S 34 in FIG. 8).
  • the data reception processing unit 22 outputs the original data acquired by the above processing to the request source through the input / output unit 23 (step S35 in FIG. 8).
  • the data reception processing unit 22 updates the data contents of the cache storage unit 25 by the cache processing unit 24 (step S36 in FIG. 8).
  • the cache processing unit 24 adds and deletes cache data based on a predetermined algorithm.
  • This algorithm uses the same algorithm used by the cache processing unit 14 of the server 1 for updating cache data in the above-described processing. Therefore, the cache data in the cache storage unit 15 and the cache data in the cache storage unit 25 at the end of updating of each cache data are in the same state.
  • client 2 receives the data response message received from server 1.
  • the cache data in the cache storage unit 25 can be updated and kept in the same state as the cache data in the cache storage unit 15.
  • client 2 acquires necessary data from server 1.
  • the update of the cache data by the cache processing unit 14 in the above step S18 and the update of the cache data by the cache processing unit 24 in the above step S36 are predetermined algorithms. It is assumed that it is executed according to However, let's assume that server 1 specifies the cache data update process.
  • step S17 the data transmission processing unit 12 determines a cache data update method, and adds information on the update method to the data response message. Then, the cache processing unit 14 in the above step S18 executes the update of the cache data in the cache storage unit 15 according to the update method determined in the above step S17.
  • step S36 described above the cache processing unit 24 updates the cache data in the cache storage unit 25 based on the update method information included in the data response message.
  • the method of determining the cache update method by the data transmission processing unit 12 may be any method.
  • the server 1 is provided with an input / output unit having a function of performing input / output with the outside. It is also possible for an operator or the like to control the method for determining the cache update method via the input / output unit. This makes it possible to change the cache update method to the optimum one according to the situation.
  • the server 1 transmits either the original data or the difference data to the client 2 as a data response message.
  • server 1 it is a good idea for server 1 to send other forms of data as data response messages.
  • the communication unit 11 and the communication unit 21 transmit and receive the data request message and the data response message without any modification, but the communication unit 11 When the communication unit 21 and the communication unit 21 communicate with each other, it is possible to execute processing for reducing the amount of communication on the communication target.
  • Examples of processing for reducing the amount of communication include data compression and decompression. Specifically, the amount of data can be reduced by compressing and transmitting data to be communicated by the communication unit on the transmission side and expanding the received data by the communication unit on the reception side. As described above, the communication reduction amount can be increased by executing the processing for reducing the communication amount in the communication unit 11 and the communication unit 21.
  • the difference data is generated using two data force algorithms, ie, the original data and the cache data. It is also possible to use an algorithm that uses three or more data in total with the above cache data.
  • cache data is not stored in the cache storage unit 15 and the cache storage unit 25 in the initial state.
  • specific data may be stored as cache data. This is useful for differential generation It is possible to prepare various data in the cache storage unit 15 and the cache storage unit 25 in advance.
  • whether or not differential transmission is performed is determined only on the server 1 side.
  • whether or not differential transmission is performed can also be controlled from the client 2 side. Is possible. Specifically, for example, when the flag 2 indicating whether differential transmission is performed is added to the data request message by the client 2 and the differential transmission execution flag is “0”, the server 1 generates the differential data. Instead, the original data can always be stored in the data response message and sent to the client 2. This makes it possible to specify whether or not differential transmission is performed on the client 2 side.
  • the server 1 and the client 2 may be provided with a mechanism for confirming in the data reception processing unit 22 that the cache data is the same as the cache data on the server 1
  • the data transmission processing unit 12 when the data transmission processing unit 12 generates a data response message including the difference flag, the minimum difference data, and the cache identifier power in step S15, the hash information of the cache data corresponding to the cache identifier Is stored in the data response message, and when the data reception processing unit 22 uses the cache data in the cache storage unit 25 in step S33, the cache data is stored using the hash information. It is also possible to confirm that it is the same as on server 1.
  • the sano 1 and the client 2 may be provided with a mechanism for confirming that the original data restored by the data reception processing unit 22 by the information restoration unit 26 is the same as that transmitted by the server 1. .
  • the data transmission processing unit 12 when the data transmission processing unit 12 generates a data response message including the difference flag, the minimum difference data, and the cache identifier power in step S15, the hash information of the original data is used as the data response message.
  • the data reception processing unit 22 restores the original data in step S33 above, It is also possible to confirm that the original data is the same as that sent by server 1 using the information.
  • the difference information generation / comparison unit 16 generates the difference data with all the cache data in the above step S21. It is also possible for the generation / comparison unit 16 to generate only difference data from a part of the cache data according to a specific condition.
  • Examples of conditions include "latest 10 cache data”. By using such conditions, it is possible to reduce the calculation processing cost in step S21 described above.
  • the condition may be an arbitrary condition.
  • a condition related to some attribute information of cache data may be used.
  • attribute information include a size, a file name associated with the data, an identifier used to request the data, and the like.
  • a data communication system capable of reducing the amount of communication can be realized. This effect is also effective when the client 2 requests the same data.
  • FIG. 1 is a block diagram showing a configuration of a data communication system according to an embodiment of the present invention.
  • FIG. 3 is a diagram showing an example of data in the cache storage unit of the client in FIG. 1.
  • FIG. 4 is a sequence chart showing the operation of the data communication system according to the embodiment of the present invention.
  • FIG. 5 is a flowchart showing data communication processing in the client of FIG. 1.
  • FIG. 6 is a flowchart showing data communication processing in the server of FIG.
  • FIG. 7 is a flowchart showing determination processing in the server of FIG. 1.
  • FIG. 8 is a flowchart showing a data communication process in the client of FIG.
  • FIG. 9 is a block diagram showing a configuration of a conventional data communication system.
  • FIG. 10 is a block diagram showing another configuration of a conventional data communication system.
  • FIG. 11 is a diagram showing an example of data stored in a cache storage unit of a conventional data communication system.
  • FIG. 12 is a diagram showing another example of data stored in the cache storage unit of the conventional data communication system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 クライアントによるデータの要求対象が同一でない場合にも、通信量を削減可能なデータ通信システムを提供する。 【解決手段】 サーバ1は要求されたデータを送信する際に、差分情報生成比較部16において送信対象データとキャッシュ格納部15内のすべてのキャッシュデータとの差分を生成し、最小サイズの差分データをキャッシュデータの識別子とともに送信し、キャッシュ格納部15のキャッシュデータを更新する。クライアント2は情報復元部26において受信した差分データとキャッシュ識別子に対応付けられたキャッシュ格納部25内のキャッシュデータとから元のデータを復元し、キャッシュ格納部25内のキャッシュデータをサーバ1と同一の方法によって更新する。

Description

明 細 書
データ通信システム、サーバ装置及びデータ通信方法並びにそのプログ ラム
技術分野
[0001] 本発明はデータ通信システム、サーバ装置及びデータ通信方法並びにそのプログ ラムに関し、特に通信時に過去に通信したデータを再利用するデータ通信システム に関する。
背景技術
[0002] 従来、この種のデータ通信システムとしては、図 9に示すように、サーバ 3と、クライア ント 4と、これらサーバ 3とクライアント 4とを接続するネットワーク 100とから構成される 第 1のデータ通信システムがある。
[0003] サーバ 3はネットワーク 100を介してクライアント 4と通信する機能を有する通信部 3 1と、クライアント 4力 のデータ要求を受けてデータを送信する機能を有するデータ 送信処理部 32と、サーバ 3内部に格納されたデータのうち指定された資源 IDに対応 するデータを取得する機能を有するデータ取得部 33とから構成されている。
[0004] ここで、資源 IDとは、クライアント 4がデータ要求において必要とするデータを指定 するために用いられる識別子であり、サーバ 3にお 、ては資源 IDが特定のデータと 対応付けられている。
[0005] 尚、資源 IDに対応付けられるデータが時間的に変化する場合や、資源 IDに対応 付けられるデータが動的に生成される場合もある。また、資源 IDに対応付けられるデ ータがサーバ 3内部ではなぐサーバ 3外部にあり、データ取得部 33がネットワーク 1 00を介して該データを取得する場合もある。
[0006] クライアント 4はネットワーク 100を介してサーバ 3と通信する機能を有する通信部 4 1と、利用者の要求等に応じてサーバ 3にデータを要求してデータを取得する機能を 有するデータ受信処理部 42とから構成され、利用者の指示等に基づいてサーバ 3に データを要求し、サーバ 3からデータを受信する。
[0007] まず、データ受信処理部 42が利用者等の要求に基づ 、て、必要とするデータの資 源 IDを含むデータ要求メッセージを通信部 41によりサーバ 3に送信する。サーバ 3 のデータ送信処理部 32は通信部 31によりデータ要求メッセージを受信する。
[0008] データ送信処理部 32はデータ要求メッセージ内で指定されたデータの資源 IDに 対応するデータをデータ取得部 33から取得し、該データを含むデータ応答メッセ一 ジを通信部 31により要求元のクライアント 4に送信する。データ受信処理部 42はデ ータ応答メッセージを受信し、データ応答メッセージ内のデータを取得する。以上の 処理によって、クライアント 4は必要なデータをサーバ 3から取得する。
[0009] 上記のような第 1のデータ通信システムでは、ネットワーク 100を介してデータを通 信する際に、そのデータ量に応じて時間的、金銭的コストが発生する場合がある。こ のような場合、ネットワーク 100を介するデータ量を削減することが求められ、データ 量削減のための技術が開発されている(例えば、特許文献 1及び非特許文献 1参照)
[0010] このデータ量削減を考慮したシステム例としては、図 10に示すように、サーバ 5と、 クライアント 6と、サーバ 5とクライアント 6とを接続するネットワーク 100とから構成され る第 2のデータ通信システムがある。
[0011] サーバ 5はネットワーク 100を介してクライアント 6と通信する機能を有する通信部 5 1と、クライアント 6からのデータ要求を受けてデータを送信する機能を有するデータ 送信処理部 52と、サーバ 5内部に格納されたデータのうち指定された資源 IDに対応 するデータを取得する機能を有するデータ取得部 53と、過去に送信したデータを格 納する機能を有するキャッシュ格納部 54と、 2つのデータから差分データを生成する 機能を有する差分情報生成部 55とから構成されている。
[0012] ここで、データ取得部 53は、上述した第 1のデータ通信システムと同様に、資源 ID に対応付けられたデータを取得する機能に加えて、データ取得の際に該データを識 別するためのデータ IDを割り当てる機能を有している。データ IDは同一の資源 IDに 対応付けられたデータ群においてユニークであり、複数のデータが同一の資源 IDと 同一のデータ IDを有する場合、これらのデータの内容が同一であることが保証される
[0013] クライアント 6は通信部 61と、データ受信処理部 62と、過去に受信したデータを格 納する機能を有するキャッシュ格納部 63と、差分データから差分生成に用いられた データを復元する機能を有する情報復元部 64とから構成されている。
[0014] キャッシュ格納部 54及びキャッシュ格納部 63には、過去に送受信されたデータが その資源 ID、データ IDとともに格納されている。キャッシュ格納部 54に格納されたデ 一タの例を図 11に示し、キャッシュ格納部 63に格納されたデータの例を図 12に示す 。これらの例では、データが資源 ID、データ ID、データの内容の組として格納されて いる。
[0015] 上記の第 2のデータ通信システムでは、(1)まず、データ受信処理部 62が利用者 等の要求に基づ!、て、必要とするデータの資源 IDを含むデータ要求メッセージを通 信部 61によりサーバ 5に送信する。但し、その際、データ受信処理部 62はキャッシュ 格納部 63を参照し、要求する資源 IDに対応するデータの有無を確認し、資源 ID〖こ 対応するデータが存在する場合、そのデータのデータ IDをデータ要求メッセージに 含める。
[0016] (2)サーバ 5のデータ送信処理部 52は通信部 51によりデータ要求メッセージを受 信する。データ送信処理部 52はデータ要求メッセージ内で指定されたデータの資源 IDに対応するデータをデータ取得部 53から取得し、データ IDを割り当てる。ここで、 データ要求メッセージにデータ IDが含まれて!/、なかった場合、データ送信処理部 52 はデータとデータ IDとを含むデータ応答メッセージを生成し、通信部 51によりクライ アント 6に送信する。
[0017] データ要求メッセージにデータ IDが含まれており、かつ同一の資源 IDとデータ ID とを有するデータがキャッシュ格納部 54に存在した場合、データ送信処理部 52は差 分情報生成部 55によって、データ取得部 53が取得したデータとキャッシュ格納部 54 内の該データとの差分を生成し、その差分データを含むデータ応答メッセージを生 成し、通信部 51によりクライアント 6に送信する。
[0018] データ要求メッセージにデータ IDが含まれている力 同一の資源 IDとデータ IDとを 有するデータがキャッシュ格納部 54に存在しなかった場合、データ送信処理部 52は データとデータ IDとを含むデータ応答メッセージを生成し、通信部 51によりクライア ント 6に送信する。 [0019] (3)クライアント 6のデータ受信処理部 62はデータ応答メッセージを受信する。デー タ受信処理部 62はデータ応答メッセージにデータが含まれる場合、該データをその まま取得する。データ応答メッセージに差分データが含まれる場合、データ受信処理 部 62は情報復元部 64によって、該差分データとキャッシュ格納部 63内の要求時に 指定したデータ IDを有するデータとから、差分生成に用いられた元データを復元し て取得する。
[0020] 以上の処理によって、クライアント 6は必要なデータをサーバ 5から取得する。尚、デ ータ送信処理部 52及びデータ受信処理部 62は上記の処理の過程にお 、て、それ ぞれ任意の規則に基づいてデータを資源 ID、データ IDとともにキャッシュ格納部 54 に格納する。
[0021] 上記の手法によって、差分データのサイズが元のデータより小さい場合、通信量を 削減することが可能となる。
[0022] 特許文献 1:特開 2000 - 194613号公報
非特許文献 1: "Delta encoding in HTTP", RFC 32 29, 2002年 1月 発明の開示
発明が解決しょうとする課題
[0023] 上述した従来の第 1のデータ通信システムの場合、通信データ量を削減するため の処理がなされていないため、データサイズと同等の通信量が発生してしまう。
[0024] また、従来の第 2のデータ通信システムの場合、要求対象が同一であるデータ要求 が繰り返されると、通信量の削減が可能であるが、要求対象が異なる場合には通信 量の削減を行うことができな 、。
[0025] 本発明の目的は上記の問題点を解消し、クライアントによるデータの要求対象が同 一でない場合にも、通信量を削減することができるデータ通信システム、サーバ装置 及びデータ通信方法並びにそのプログラムを提供することにある。
課題を解決するための手段
[0026] 本発明によるデータ通信システムは、サーノ からクライアントへデータを送信するデ ータ通信システムであって、
過去に通信したデータをキャッシュデータとして格納する第 1のキャッシュ格納手段 と、前記クライアントに送信データを送信する際にその送信データと前記第 1のキヤッ シュ格納手段に格納されたキャッシュデータとの差分データを生成して送信する手段 とを前記サーノ に備え、
過去に通信したデータをキャッシュデータとして格納する第 2のキャッシュ格納手段 と、前記サーバからデータを受信する手段と、前記差分データと前記第 2のキヤッシ ュ格納手段に格納されたキャッシュデータとから前記送信データを復元する手段とを 前記クライアントに備え、
前記第 1のキャッシュ格納手段と前記第 2のキャッシュ格納手段とに前記キャッシュ データを同一の状態で格納して 、る。
[0027] 本発明によるサーバ装置は、クライアントへデータを送信するサーバ装置であって 過去に通信したデータをキャッシュデータとして格納する第 1のキャッシュ格納手段 と、前記クライアントに送信データを送信する際にその送信データと前記第 1のキヤッ シュ格納手段に格納されたキャッシュデータとの差分データを生成して送信する手段 とを備え、
前記差分データが、過去に通信したデータをキャッシュデータとして格納する前記 クライアントの第 2のキャッシュ格納手段に格納されたキャッシュデータとから前記送 信データを復元するためのものであり、
前記第 1のキャッシュ格納手段と前記第 2のキャッシュ格納手段とに前記キャッシュ データを同一の状態で格納して 、る。
[0028] 本発明によるデータ通信方法は、サーノからクライアントへデータを送信するデー タ通信方法であって、
前記サーバ及び前記クライアントがそれぞれ前記サーバの第 1のキャッシュ格納手 段及び前記クライアントの第 2のキャッシュ格納手段に過去に通信したデータをキヤッ シュデータとして同一の状態で格納し、
前記サーバが前記クライアントに送信データを送信する際、前記第 1のキャッシュ格 納手段に格納されたキャッシュデータと前記送信データとの差分データを生成して送 信し、 前記クライアントが前記差分データと前記第 2のキャッシュ格納手段に格納さ れたキャッシュデータとから前記送信データを復元している。
[0029] 本発明によるデータ通信方法のプログラムは、サーノからクライアントへデータを送 信するデータ通信方法のプログラムであって、前記サーバ側のコンピュータに、前記 クライアントに送信データを送信する際に、過去に通信したデータをキャッシュデータ として同一の状態で格納する第 1のキャッシュ格納手段に格納されたキャッシュデー タと前記送信データとの差分データを生成して送信する処理を実行させ、前記差分 データにて、過去に通信したデータをキャッシュデータとして同一の状態で格納する 前記クライアントの第 2のキャッシュ格納手段に格納されたキャッシュデータとから前 記送信データを復元させて!/、る。
[0030] すなわち、本発明のデータ通信システムは、サーバが要求されたデータを送信する 際に、差分情報生成比較部において送信対象データとキャッシュ格納部内のすべて のキャッシュデータとの差分を生成し、最小サイズの差分データをキャッシュデータの 識別子とともに送信し、キャッシュ格納部のキャッシュデータを更新する。
[0031] クライアントは情報復元部において、サーノから受信した差分データとキャッシュ識 別子に対応付けられたキャッシュ格納部内のキャッシュデータと力 元のデータを復 元し、キャッシュ格納部内のキャッシュデータをサーバと同一の方法によって更新す る。
[0032] これによつて、本発明のデータ通信システムでは、クライアントによるデータの要求 対象が同一でない場合にも、通信量を削減することが可能となる。
発明の効果
[0033] 本発明は、クライアントによるデータの要求対象が同一でない場合にも、通信量を 削減することができると 、う効果が得られる。
発明を実施するための最良の形態
[0034] 次に、本発明の実施例について図面を参照して説明する。図 1は本発明の一実施 例によるデータ通信システムの構成を示すブロック図である。図 1において、本発明 の一実施例によるデータ通信システムはサーバ 1と、クライアント 2と、サーバ 1とクライ アント 2とを接続するネットワーク 100とから構成されている。尚、図 1ではクライアント 2 が単体となっている力 複数のクライアント 2がネットワーク 100を介してサーバ 1に接 続されていてもよい。
[0035] ネットワーク 100はサーバ 1とクライアント 2との間の通信を実現するものであり、例え ば、インタネット等がある。サーバ 1とクライアント 2との間のネットワーク 100上で通信 に用いられる通信プロトコルとしては、任意のものでよい。例えば、標準化されたプロ トコルとして、 HTTP (Hypertext Transfer Protocol)、 SIP (Session Initiatio n Protocol)等がある力 これらを用いても、あるいは独自のプロトコルを用いてもよ い。
[0036] クライアント 2は利用者または外部プログラム力も指定されたデータをネットワーク 10 0を介してサーバ 1から取得する機能を有する。サーバ 1はクライアント 2から指定され たデータを、ネットワーク 100を介してクライアント 2に送信する機能を有する。
[0037] サーバ 1は通信部 11と、データ送信処理部 12と、データ取得部 13と、キャッシュ処 理部 14と、キャッシュ格納部 15と、差分情報生成比較部 16と、データ格納部 17と、 記録媒体 18とから構成されている。
[0038] 通信部 11はネットワーク 100を介してクライアント 2と通信し、データ送信処理部 12 はクライアント 2からの要求を受けてデータを送信する。データ取得部 13は識別子の 指定に基づ 、てデータを取得し、キャッシュ処理部 14はキャッシュ格納部 15内のデ ータの追加、削除、変更処理を行う。
[0039] キャッシュ格納部 15は過去に通信対象となったデータを格納する。差分情報生成 比較部 16は 2つのデータ力もの差分データの生成及び差分送信による通信効率向 上の可否判定を行う。データ格納部 17はデータを格納する。
[0040] 記録媒体 18はサーバ 1の各部の処理を実現するためのプログラム (コンピュータで 実行可能なプログラム)を格納する。例えば、図示していないが、サーバ 1が CPU (中 央処理装置)と RAM (ランダムアクセスメモリ)とを含む場合、 CPUは記録媒体 18の プログラムを RAMに移して実行することで、サーバ 1全体の制御や各種の処理動作 を実行することができる。
[0041] データ取得部 13は識別子の指定を伴う要求に対して、データを提供する機能を有 する。識別子の書式は、データ取得部 13が認識可能なものであれば、任意の書式 で構わない。識別子の書式の例としては、 URI (Uniform Resource Indicator) がある。
[0042] データ取得部 13はデータの要求を受けると、識別子に対応するデータをデータ格 納部 17を参照して取得し、そのデータを出力する。尚、データ取得部 13はデータの 取得対象に、サーバ 1内部のデータ格納部 17のデータだけでなぐネットワーク 100 を介してサーバ 1に接続された例えばコンピュータなどの演算装置に格納されたデー タをも含めてもよい。
[0043] この場合、識別子には、ネットワーク 100上の演算装置を識別する情報も含まれ、 データ取得部 13は該識別子で指定された演算装置内から指定されたデータを取得 する。尚、識別子とデータとの対応付けは時間的に変化する場合がある。また、識別 子に対応付けられたデータが要求時に動的に生成される場合もある。
[0044] クライアント 2は通信部 21と、データ受信処理部 22と、入出力部 23と、キャッシュ処 理部 24と、キャッシュ格納部 25と、情報復元部 26と、記録媒体 27とから構成されて いる。
[0045] 通信部 21はネットワーク 100を介してサーバ 1と通信し、データ受信処理部 22は入 出力部 23を介した要求に基づいてサーバ 1からデータを取得する。入出力部 23は 利用者または外部プログラムとの入出力を行う。
[0046] キャッシュ処理部 24はキャッシュ格納部 25内のデータの追力!]、削除、変更処理を 行う。キャッシュ格納部 25は過去に通信対象となったデータを格納する。情報復元 部 26は差分データから元のデータを復元する。
[0047] 記録媒体 27はクライアント 2の各部の処理を実現するためのプログラム (コンビユー タで実行可能なプログラム)を格納する。例えば、図示していないが、クライアント 2が CPUと RAMとを含む場合、 CPUは記録媒体 27のプログラムを RAMに移して実行 することで、クライアント 2全体の制御や各種の処理動作を実行することができる。
[0048] ここで、差分情報生成比較部 16による差分データの生成と、情報復元部 26による データの復元とについて説明する。例えば、 2つのデータ A, Bがあるものとする。
[0049] 差分情報生成比較部 16はデータ A, Bから差分データ Dを生成する機能を有する 。ここで、データ Aのサイズから差分データ Dのサイズを引いた結果を、データ Aから のサイズ減少量と呼ぶ。情報復元部 26は差分データ Dとデータ Bとから、データ Aを 生成する機能を有する。
[0050] 差分情報生成比較部 16が用いる差分データ作成アルゴリズムと、情報復元部 26 が用いる情報復元のアルゴリズムとしては、情報復元部 26が正しく情報復元ができる 組み合わせであれば、それぞれ任意のアルゴリズムを用いてよ!、。
[0051] キャッシュ格納部 15にはデータ送信処理部 12が過去にクライアント 2に送信したデ 一タカ キャッシュ格納部 25にはデータ受信処理部 22が過去にサーバ 1から受信し たデータがそれぞれキャッシュデータとして格納されている。
[0052] システムの初期状態においては、キャッシュ格納部 15、キャッシュ格納部 25にはキ ャッシュデータが何も格納されてな 、状態となって 、る。キャッシュ格納部 15内のデ ータの追加、削除、変更等のデータ処理はキャッシュ処理部 14によって、キャッシュ 格納部 25内のデータの追加、削除、変更等のデータ処理はキャッシュ処理部 24に よって、それぞれ実行される。
[0053] キャッシュ処理部 14とキャッシュ処理部 24とは、キャッシュ格納部 15とキャッシュ格 納部 25とに格納されたデータの内容が同一の状態となるように各種データ処理を実 行する。
[0054] クライアント 2が複数存在する場合、キャッシュ格納部 15には各クライアント 2毎に対 応するキャッシュデータの格納領域が用意され、それぞれの内容は対応するクライア ント 2のキャッシュ格納部 25の内容と同一の状態となる。
[0055] 図 2 (a) , (b)は図 1のサーバ 1のキャッシュ格納部 15内のデータ例を示す図である 。図 2 (a) , (b)において、キャッシュ格納部 15では複数のクライアント 2 (クライアント 識別子「00001」,「00002」 )に対応してキャッシュデータが管理されて!、る。
[0056] キャッシュデータはキャッシュ格納部 15内で、データを識別するための識別子ととも に管理される。この識別子はキャッシュ処理部 14によって管理されている。図 2 (a)は クライアント識別子「00001」で識別されるクライアント 2に対応したキャッシュデータの 例であり、図 2 (b)はクライアント識別子「00002」で識別されるクライアント 2に対応し たキャッシュデータの例である。
[0057] 図 3は図 1のクライアント 2のキャッシュ格納部 25内のデータ例を示す図である。図 3 においては、図 2 (a)に示すクライアント識別子「00001」で識別されるクライアント 2に 対応したキャッシュデータの例を示している。これら図 2 (a)及び図 3に示すように、サ ーバ 1とクライアント 2とにそれぞれ格納されているキャッシュデータの内容は同一の 状態となっている。
[0058] 図 4は本発明の一実施例によるデータ通信システムの動作を示すシーケンスチヤ ートであり、図 5は図 1のクライアント 2におけるデータ通信処理を示すフローチャート であり、図 6は図 1のサーバ 1におけるデータ通信処理を示すフローチャートである。
[0059] 図 7は図 1のサーバ 1における判定処理を示すフローチャートであり、図 8は図 1のク ライアント 2におけるデータ通信処理を示すフローチャートである。これら図 1〜図 8を 参照して本発明の一実施例によるデータ通信システムの動作について説明する。尚 、図 5〜図 8に示す処理はサーバ 1及びクライアント 2の CPUが記録媒体 18, 27のプ ログラムを実行することで実現される。
[0060] 本発明の一実施例によるデータ通信システムでは、図 4に示すように、(1)クライア ント処理 # 1、(2)サーバ処理、(3)クライアント処理 # 2の各処理がサーバ 1及びクラ イアント 2で実行されている力 本発明の一実施例によるデータ通信システムの動作 をこれら 3つの処理に分けて説明する。
[0061] (1)クライアント処理 # 1は、クライアント 2のデータ受信処理部 22によって実行され る(図 4の al, a2) Gすなわち、データ受信処理部 22は入出力部 23により要求元から のデータへの要求を受信する(図 5ステップ Sl)。この要求には、必要とされるデータ に関する情報が含まれる。尚、ここで要求元の例としては、クライアント 2の利用者や クライアント 2に接続された外部の演算装置(図示せず)がある。
[0062] 次に、データ受信処理部 22は入出力部 23により入力された要求から、必要とする データの識別子を抽出し、該識別子を含むデータ要求メッセージを生成し、通信部 2 1によりサーバ 1に送信する(図 5ステップ S2)。
[0063] 以上の処理によって、クライアント 2はサーバ 1に対してデータ要求メッセージを送 信する(図 4の a3)。
[0064] (2)サーバ処理は、サーバ 1のデータ送信処理部 12によって実行される(図 4の a4 ) oすなわち、データ送信処理部 12は通信部 11によりクライアント 2からデータ要求メ ッセージを受信する(図 6ステップ S 11)。 [0065] データ送信処理部 12はクライアント 2からのデータ要求メッセージに含まれるクライ アント 2が必要とするデータの識別子を抽出し、データ取得部 13によって該識別子に 対応付けられたデータを取得する(図 6ステップ S12)。以下、その取得されたデータ 、すなわちクライアント 2から要求されたデータを元データとする。
[0066] データ送信処理部 12は差分情報生成比較部 16によって、元データの送信におい て、差分送信を行うことによる通信効率の向上が可能力否かを判定する(図 6ステツ プ S13)。
[0067] 差分情報生成比較部 16はキャッシュ格納部 15に格納されたすベてのキャッシュデ ータについて、元データとの差分データを生成する(図 7ステップ S21)。尚、キヤッシ ュ格納部 15に複数のクライアント 2に対応するキャッシュデータが格納されて 、る場 合、データ要求元のクライアント 2に対応するキャッシュデータのみが差分情報生成 の対象となる。
[0068] 差分情報生成比較部 16は生成された差分データの中力 サイズが最小のものを 選択する。以下、この差分データのことを最小差分データとする。差分情報生成比較 部 16は元データのサイズから、この最小差分データのサイズを引くことによってサイ ズ減少量を算出する(図 7ステップ S 22)。
[0069] 差分情報生成比較部 16は上記の処理で算出したサイズ減少量が、既定の閾値以 上であるか否かを調べる(図 7ステップ S 23)。ここで、既定の閾値とは、サーバ 1で定 められた固有の値である。閾値の値は差分データ送信時の通信オーバヘッド等を考 慮して、事前にサーノ 1で設定されるものとする。この閾値の値の例としては、例えば 「0」がある。
[0070] 差分情報生成比較部 16はサイズ減少量が既定の閾値以上であった場合、判定結 果を「可能」とし、判定結果とともに、最小差分データ及び該最小差分データの生成 に用いられたキャッシュデータのキャッシュ格納部 15内における識別子を出力する( 図 7ステップ S 24)。
[0071] 一方、差分情報生成比較部 16はサイズ減少量が既定の閾値未満であった場合、 判定結果を「不可能」とし、判定結果を出力する(図 7ステップ S25)。以上の処理が、 ステップ S 13において差分情報生成比較部 16にて実行される。尚、上記の手順は 判定方法の一例であり、判定方法を限定するものではな 、。
[0072] データ送信処理部 12は差分情報生成比較部 16から判定結果を得るとともに、判 定結果に付随する情報がある場合には該情報も取得する。データ送信処理部 12は 差分情報生成比較部 16からの判定結果が「可能」か否かを調べる(図 6ステップ S14 )。データ送信処理部 12は判定結果が「可能」であった場合、以下の情報から構成さ れるデータ応答メッセージを生成する(図 6ステップ S15)。
[0073] すなわち、データ送信処理部 12は差分フラグ(「0」または「1」の値をとるフラグ情報 、ここでは値が「1」に設定される)と、差分情報生成比較部 16から得られた最小差分 データと、差分情報生成比較部 16から得られたキャッシュ識別子とからデータ応答メ ッセージを生成する。
[0074] データ送信処理部 12は差分情報生成比較部 16からの判定結果が「可能」でなか つた場合、以下の情報力 構成されるデータ応答メッセージを生成する(図 6ステップ S16)。データ送信処理部 12は差分フラグ(「0」または「1」の値を取るフラグ情報。こ こでは値が「0」に設定される)と、データ取得部 13で取得された元データとからデー タ応答メッセージを生成する。
[0075] データ送信処理部 12は上記のようにして生成したデータ応答メッセージを通信部 1 1によりクライアント 2に送信する(図 6ステップ S17)。データ送信処理部 12はキヤッシ ュ処理部 14によって、キャッシュ格納部 15のデータ内容を更新する(図 6ステップ S1 8)。尚、キャッシュ格納部 15に複数のクライアント 2に対応するキャッシュデータが格 納されて 、る場合、データ要求元のクライアント 2に対応するキャッシュデータが更新 の対象となる。
[0076] キャッシュ処理部 14は既定のアルゴリズムに基づいて、キャッシュデータの追加、 削除等を行う。このアルゴリズムではどのデータをキャッシュ格納部 15に追加するか 、どのデータをキャッシュ格納部 15から削除する力、キャッシュ格納部 15内のキヤッ シュデータにどのように識別子を割り当てる力、といったキャッシュ処理部 14が行う処 理に関する情報が既定される。
[0077] 上記のアルゴリズムは処理内容が一意に決定されるものであり、同様の判断処理が クライアント 2上でも可能なものであれば、任意のもので構わない。アルゴリズムの例と しては、例えば、「元データを新規に追加する。キャッシュデータの総量が既定値を 越えた場合には、最も古いデータ力も順に削除する。キャッシュデータの識別子とし ては未使用の自然数のうち最小のものを割り当てる」というものがある。尚、キャッシュ 格納部 15のデータ内容の更新は、データ応答メッセージをクライアント 2に送信する 直前に実施してもよい。
[0078] 以上の処理によって、サーバ 1はクライアント 2に対してデータ応答メッセージを送 信するとともに、キャッシュ格納部 15内のキャッシュデータの更新を行う。
[0079] (3)クライアント処理 # 2は、クライアント 2のデータ受信処理部 22によって実行され る。すなわち、データ受信処理部 22は通信部 21によりサーバ 1からデータ応答メッセ ージを受信する(図 8ステップ S31)。
[0080] データ受信処理部 22はサーバ 1から受信したデータ応答メッセージより差分フラグ の情報を抽出し、差分フラグの値力 「1」である力否かを調べる(図 8ステップ S32)。 データ受信処理部 22は差分フラグ力 「l」であった場合、情報復元部 26によって元 データを復元する(図 8ステップ S33)。
[0081] 情報復元部 26はデータ応答メッセージに含まれる差分データと、キャッシュ格納部
25内のキャッシュデータのうちのデータ応答メッセージに含まれるキャッシュ識別子 に対応するキャッシュデータとから元データを復元する。
[0082] データ受信処理部 22は差分フラグが「1」でな力つた場合、データ応答メッセージに 含まれる元データを取得する(図 8ステップ S34)。データ受信処理部 22は上記の処 理で取得した元データを入出力部 23により、要求元に出力する(図 8ステップ S35)。
[0083] データ受信処理部 22はキャッシュ処理部 24によってキャッシュ格納部 25のデータ 内容を更新する(図 8ステップ S36)。キャッシュ処理部 24は既定のアルゴリズムに基 づいて、キャッシュデータの追加、削除等を行う。
[0084] このアルゴリズムは、上述した処理において、サーバ 1のキャッシュ処理部 14がキヤ ッシュデータの更新に用いたものと同一のものを用いる。したがって、各々のキヤッシ ュデータの更新終了時におけるキャッシュ格納部 15内のキャッシュデータとキヤッシ ュ格納部 25内のキャッシュデータとは同一の状態となる。
[0085] 以上の処理によって、クライアント 2はサーバ 1から受信したデータ応答メッセージを 用いて要求元にデータを出力するとともに、キャッシュ格納部 25内のキャッシュデー タを更新し、キャッシュ格納部 15内のキャッシュデータと同一の状態に保つことがで きる。
[0086] 以上、(1)クライアント処理 # 1、(2)サーバ処理、(3)クライアント処理 # 2の一連の 処理の結果として、クライアント 2は必要とするデータをサーバ 1から取得する。
[0087] 上述した手順では、サーバ 1からクライアント 2にデータを送信する際に、過去に通 信されたデータとの差分データを用いることによって、通信量を削減することが可能と なる。また、上記の手順では、サーバ 1とクライアント 2とが同一のキャッシュデータを 保持することが可能であるため、サーバ 1はクライアント 2の有するすべてのキャッシュ データを差分データの生成に活用することが可能となる。そのため、クライアント 2によ るデータの要求対象が過去と同一ではない場合であっても、差分データの生成、送 信による通信量削減が可能となる。
[0088] 上述した本発明の一実施例では、上記のステップ S18でのキャッシュ処理部 14に よるキャッシュデータの更新及び上記のステップ S36でのキャッシュ処理部 24による キャッシュデータの更新は、既定のアルゴリズムにしたがって実行されるものとしてい る。し力しながら、キャッシュデータの更新処理内容をサーバ 1が指定するものとして ちょい。
[0089] 具体的には、上記のステップ S17において、データ送信処理部 12がキャッシュデ ータの更新方法を決定し、該更新方法の情報をデータ応答メッセージに追加する。 そして、上記のステップ S18でのキャッシュ処理部 14は上記のステップ S17で決定さ れた更新方法にしたがって、キャッシュ格納部 15のキャッシュデータの更新を実行す る。
[0090] また、上記のステップ S36において、キャッシュ処理部 24はデータ応答メッセージ に含まれる更新方法の情報に基づ 、て、キャッシュ格納部 25のキャッシュデータの 更新を実行する。
[0091] データ送信処理部 12によるキャッシュ更新方法の決定方法は任意の方法で良 、。
これによつて、サーバ 1側でキャッシュ更新方法を指定することが可能となる。
[0092] また、サーバ 1に外部との入出力を行う機能を有する入出力部を設け、サーバ 1の 運用者等が入出力部を介してキャッシュ更新方法の決定方法を制御することも可能 である。これによつて、キャッシュ更新方法を状況に応じて最適なものに変更すること が可能となる。
[0093] さらに、上述した本発明の一実施例では、サーバ 1がクライアント 2にデータ応答メッ セージとして、元データか、差分データかのいずれかを送信するものとしている。しか しながら、サーバ 1がデータ応答メッセージとして、これ以外の形態のデータを送信す るちのとしてちょい。
[0094] 例えば、クライアント 2のキャッシュ格納部 25にキャッシュデータとして追加した!/ヽデ ータと、追加処理方法に関するデータとをデータ応答メッセージに格納して送信する ことも可能である。これによつて、サーバ 1側では、より柔軟にクライアント 2のキヤッシ ュ格納部 25内のデータを制御することが可能となる。
[0095] さらにまた、上述した本発明の一実施例では、通信部 11と通信部 21とがデータ要 求メッセージ及びデータ応答メッセージをカ卩工せずに送受信して 、るが、通信部 11 と通信部 21とが通信時に、通信対象に対して通信量削減のための処理を実行する ことも可能である。
[0096] 通信量削減のための処理の例としては、データの圧縮、伸張がある。具体的には、 送信側の通信部で通信対象データを圧縮して送信し、受信側の通信部で受信デー タを伸張することによって、データ量を削減することができる。このように、通信部 11と 通信部 21とにおいて、通信量削減のための処理を実行することによって、通信削減 量を増加させることが可能となる。
[0097] 上述した本発明の一実施例では、差分データの生成に、元データとキャッシュデー タとの 2つのデータ力 行うアルゴリズムを用いるものとしている力 差分データの生 成を元データと 2つ以上のキャッシュデータとの合計 3つ以上のデータから行うアルゴ リズムを用いることも可能である。
[0098] 上述した本発明の一実施例では、キャッシュ格納部 15、キャッシュ格納部 25には 初期状態において、キャッシュデータが格納されてないものとしている力 キャッシュ 格納部 15、キャッシュ格納部 25の初期状態において、特定のデータをそれぞれキヤ ッシュデータとして格納されているものとしてもよい。これによつて、差分生成に有用 なデータを事前にキャッシュ格納部 15、キャッシュ格納部 25に用意しておくことが可 能となる。
[0099] 上述した本発明の一実施例では、差分送信の実施の有無をサーバ 1側でのみ決 定しているが、差分送信の実施の有無をクライアント 2側からも制御可能とすることも 可能である。具体的には、例えば、クライアント 2がデータ要求メッセージに差分送信 実施の有無を示すフラグ情報を加えることで、差分送信実施のフラグが「0」である場 合、サーバ 1が差分データを生成せずに、常に元データをデータ応答メッセージに 格納してクライアント 2に送信することが可能である。これによつて、クライアント 2側で 差分送信の実施の有無を指定することが可能となる。
[0100] サーバ 1及びクライアント 2には、データ受信処理部 22においてキャッシュデータが サーバ 1上のキャッシュデータと同一であることを確認するための機構を設けてもよい
[0101] 例えば、データ送信処理部 12が上記のステップ S 15において、差分フラグ、最小 差分データ、キャッシュ識別子力も構成されるデータ応答メッセージを生成する際に 、キャッシュ識別子に対応するキャッシュデータのハッシュ情報をデータ応答メッセ一 ジにカ卩えることとし、さらにデータ受信処理部 22が上記のステップ S33において、キ ャッシュ格納部 25内のキャッシュデータを用いる際に、ハッシュ情報を用 、て該キヤ ッシュデータがサーバ 1上のものと同一であることを確認することも可能である。
[0102] これによつて、何らかの原因で、キャッシュ格納部 25内のデータとキャッシュ格納部 15内のデータとが異なる状態になった場合でも、データ受信処理部 22がその異なる 状態を検出することが可能となる。
[0103] サーノ 1及びクライアント 2には、データ受信処理部 22が情報復元部 26で復元した 元データが、サーバ 1が送信したものと同一であることを確認するための機構を設け てもよい。
[0104] 例えば、データ送信処理部 12が上記のステップ S 15において、差分フラグ、最小 差分データ、キャッシュ識別子力も構成されるデータ応答メッセージを生成する際に 、元データのハッシュ情報をデータ応答メッセージにカ卩えることとし、さらにデータ受 信処理部 22が上記のステップ S33において、元データを復元した際に、ノ、ッシュ情 報を用いて元データがサーバ 1が送信したのと同一であることを確認することも可能 である。
[0105] これによつて、何らかの原因で、差分データもしくはキャッシュデータの内容に異常 が発生した場合でも、データ受信処理部 22がその異常を検出することが可能となる。
[0106] 上述した本発明の一実施例では、上記のステップ S21にお 、て、差分情報生成比 較部 16がすべてのキャッシュデータとの差分データを生成するものとして 、るが、差 分情報生成比較部 16が特定の条件にしたがってキャッシュデータの一部との差分 データのみを生成することも可能である。
[0107] 条件の例としては、例えば「最新の 10件のキャッシュデータ」等がある。このような条 件を用いることによって、上記のステップ S21における計算処理コストを削減すること が可能となる。尚、その条件は任意の条件であってよい。
[0108] また、この条件として、キャッシュデータの何らかの属性情報に関わる条件を用いる ものとしてもよい。属性情報の例としては、サイズ、データに対応付けられたファイル 名、該データの要求に用いられた識別子等がある。
[0109] このように、上述したように、本発明では、通信量削減が可能なデータ通信システム を実現することができる。また、この効果はクライアント 2によるデータの要求対象が同 一でな 、場合にも有効である。
図面の簡単な説明
[0110] [図 1]本発明の一実施例によるデータ通信システムの構成を示すブロック図である。
[図 2] (a) , (b)は図 1のサーバのキャッシュ格納部内のデータ例を示す図である。
[図 3]図 1のクライアントのキャッシュ格納部内のデータ例を示す図である。
[図 4]本発明の一実施例によるデータ通信システムの動作を示すシーケンスチャート である。
[図 5]図 1のクライアントにおけるデータ通信処理を示すフローチャートである。
[図 6]図 1のサーバにおけるデータ通信処理を示すフローチャートである。
[図 7]図 1のサーバにおける判定処理を示すフローチャートである。
[図 8]図 1のクライアントにおけるデータ通信処理を示すフローチャートである。
[図 9]従来のデータ通信システムの構成を示すブロック図である。 [図 10]従来のデータ通信システムの他の構成を示すブロック図である。
[図 11]従来のデータ通信システムのキャッシュ格納部に格納されるデータの一例を 示す図である。
[図 12]従来のデータ通信システムのキャッシュ格納部に格納されるデータの他の例を 示す図である。
符号の説明
1 サーノ
2 クライアント
11, , 21 通信部
12 データ送信処理部
13 データ取得部
14, , 24 キャッシュ処理部
15, , 25 キャッシュ格納部
16 差分情報生成比較部
17 データ格納部
18, , 27 記録媒体
22 データ受信処理部
23 入出力部
26 情報復元部
100 ネットワーク

Claims

請求の範囲
[1] サーノくからクライアントへデータを送信するデータ通信システムであって、
過去に通信したデータをキャッシュデータとして格納する第 1のキャッシュ格納手段 と、前記クライアントに送信データを送信する際にその送信データと前記第 1のキヤッ シュ格納手段に格納されたキャッシュデータとの差分データを生成して送信する手段 とを前記サーバに有し、
過去に通信したデータをキャッシュデータとして格納する第 2のキャッシュ格納手段 と、前記サーバからデータを受信する手段と、前記差分データと前記第 2のキヤッシ ュ格納手段に格納されたキャッシュデータとから前記送信データを復元する手段とを 前記クライアントに有し、
前記第 1のキャッシュ格納手段と前記第 2のキャッシュ格納手段とに前記キャッシュ データを同一の状態で格納することを特徴とするデータ通信システム。
[2] 前記クライアントの要求に基づ!/ヽて前記送信データを決定する手段を前記サーバ に含むことを特徴とする請求項 1記載のデータ通信システム。
[3] 前記第 1のキャッシュ格納手段に格納されたキャッシュデータが複数存在する場合 に生成する差分データのサイズが最小となるキャッシュデータとの差分データを生成 して送信する手段を前記サーバに含むことを特徴とする請求項 1記載のデータ通信 システム。
[4] 前記差分データの送信時に前記差分データの生成に用いられた前記キャッシュデ ータの識別情報を前記差分データとともに送信する手段を前記サーバに含むことを 特徴とする請求項 1記載のデータ通信システム。
[5] 前記差分データの送信による通信量削減の可否を既定の判断規則に基づいて判 定しかつ前記通信量削減が可能と判定された場合にのみ前記差分データの送信を 行う手段を前記サーバに含むことを特徴とする請求項 1記載のデータ通信システム。
[6] 前記差分データの送信の際に前記第 1のキャッシュ格納手段に格納されたキヤッシ ュデータの内容及び前記第 2のキャッシュ格納手段に格納されたキャッシュデータの 内容を更新する更新方法を含む情報を前記差分データとともに送信する手段と、前 記更新方法に基づ 、て前記第 1のキャッシュ格納手段に格納されたキャッシュデータ の内容を更新する手段とを前記サーバに含み、
前記サーバから受信した更新方法に基づいて前記第 2のキャッシュ格納手段に格 納されたキャッシュデータの内容を更新する手段を前記クライアントに含むことを特徴 とする請求項 1記載のデータ通信システム。
[7] 前記更新方法を外部から指定するための入出力手段と、前記入出力手段からの指 定に基づいて前記更新方法を設定する手段とを前記サーバに含むことを特徴とする 請求項 6記載のデータ通信システム。
[8] 前記第 1のキャッシュ格納手段及び前記第 2のキャッシュ格納手段は、初期状態に ぉ 、てその内部に共通のデータをキャッシュデータとして格納することを特徴とする 請求項 1記載のデータ通信システム。
[9] 前記差分データの生成に用いたキャッシュデータの内容の同一性を確認するため の確認情報を生成する手段と、前記差分データの送信の際に前記確認情報を前記 差分データとともに送信する手段とを前記サーバに含み、
前記サーバから受信した確認情報に基づいて前記第 2のキャッシュ格納手段に格 納されたキャッシュデータの内容の同一性を確認する手段を前記クライアントに含む ことを特徴とする請求項 4記載のデータ通信システム。
[10] 前記第 1のキャッシュ格納手段に格納されたキャッシュデータが複数存在する場合 に既定の規則に基づいて前記キャッシュデータの一部を選択しかつ選択されたキヤ ッシュデータの中力 生成される差分データのサイズが最小となるキャッシュデータと の差分データを生成して送信する手段を前記サーバに含むことを特徴とする請求項 1記載のデータ通信システム。
[11] クライアントへデータを送信するサーバ装置であって、
過去に通信したデータをキャッシュデータとして格納する第 1のキャッシュ格納手段 と、前記クライアントに送信データを送信する際にその送信データと前記第 1のキヤッ シュ格納手段に格納されたキャッシュデータとの差分データを生成して送信する手段 とを有し、
前記差分データが、過去に通信したデータをキャッシュデータとして格納する前記 クライアントの第 2のキャッシュ格納手段に格納されたキャッシュデータとから前記送 信データを復元するためのものであり、
前記第 1のキャッシュ格納手段と前記第 2のキャッシュ格納手段とに前記キャッシュ データを同一の状態で格納することを特徴とするサーバ装置。
[12] 前記クライアントの要求に基づいて前記送信データを決定する手段を含むことを特 徴とする請求項 11記載のサーバ装置。
[13] 前記第 1のキャッシュ格納手段に格納されたキャッシュデータが複数存在する場合 に生成する差分データのサイズが最小となるキャッシュデータとの差分データを生成 して送信する手段を含むことを特徴とする請求項 11記載のサーバ装置。
[14] 前記差分データの送信時に前記差分データの生成に用いられた前記キャッシュデ ータの識別情報を前記差分データとともに送信する手段を含むことを特徴とする請求 項 11記載のサーバ装置。
[15] 前記差分データの送信による通信量削減の可否を既定の判断規則に基づいて判 定しかつ前記通信量削減が可能と判定された場合にのみ前記差分データの送信を 行う手段を含むことを特徴とする請求項 11記載のサーバ装置。
[16] 前記差分データの送信の際に前記第 1のキャッシュ格納手段に格納されたキヤッシ ュデータの内容及び前記第 2のキャッシュ格納手段に格納されたキャッシュデータの 内容を更新する更新方法を含む情報を前記差分データとともに送信する手段と、前 記更新方法に基づ 、て前記第 1のキャッシュ格納手段に格納されたキャッシュデータ の内容を更新する手段とを含むことを特徴とする請求項 11記載のサーバ装置。
[17] 前記更新方法を外部から指定するための入出力手段と、前記入出力手段からの指 定に基づいて前記更新方法を設定する手段とを含むことを特徴とする請求項 16記 載のサーバ装置。
[18] 前記第 1のキャッシュ格納手段及び前記第 2のキャッシュ格納手段が、初期状態に ぉ 、てその内部に共通のデータをキャッシュデータとして格納することを特徴とする 請求項 11記載のサーバ装置。
[19] 前記クライアント側において前記差分データの生成に用いたキャッシュデータの内 容の同一性を確認するための確認情報を生成する手段と、前記差分データの送信 の際に前記確認情報を前記差分データとともに送信する手段とを含むことを特徴と する請求項 14記載のサーバ装置。
[20] 前記第 1のキャッシュ格納手段に格納されたキャッシュデータが複数存在する場合 に既定の規則に基づいて前記キャッシュデータの一部を選択しかつ選択されたキヤ ッシュデータの中力 生成される差分データのサイズが最小となるキャッシュデータと の差分データを生成して送信する手段を含むことを特徴とする請求項 11記載のサー バ装置。
[21] サーノからクライアントへデータを送信するデータ通信方法であって、
前記サーバ及び前記クライアントがそれぞれ前記サーバの第 1のキャッシュ格納手 段及び前記クライアントの第 2のキャッシュ格納手段に過去に通信したデータをキヤッ シュデータとして同一の状態で格納し、
前記サーバが前記クライアントに送信データを送信する際、前記第 1のキャッシュ格 納手段に格納されたキャッシュデータと前記送信データとの差分データを生成して送 信し、 前記クライアントが前記差分データと前記第 2のキャッシュ格納手段に格納さ れたキャッシュデータとから前記送信データを復元することを特徴とするデータ通信 方法。
[22] 前記サーバが前記送信データを前記クライアントの要求に基づ 、て決定することを 特徴とする請求項 21記載のデータ通信方法。
[23] 前記サーバが、前記差分データの生成の際に、前記第 1のキャッシュ内部に格納さ れた前記キャッシュデータが複数存在する場合、生成される差分データのサイズが 最小となるキャッシュデータとの差分データを生成することを特徴とする請求項 21記 載のデータ通信方法。
[24] 前記サーバが、前記差分データの送信の際に、前記差分データの生成に用いられ た前記キャッシュデータの識別情報を前記差分データとともに送信することを特徴と する請求項 21記載のデータ通信方法。
[25] 前記サーバが、前記差分データの送信の前に、前記差分データの送信による通信 量削減の可否を既定の判断規則に基づいて判定し、前記通信量削減が可能と判定 した場合にのみ前記差分データの送信を行うことを特徴とする請求項 21記載のデー タ通信方法。
[26] 前記サーバが、前記差分データの送信の際に、前記第 1のキャッシュ格納手段に 格納されたキャッシュデータの内容及び前記第 2のキャッシュ格納手段に格納された キャッシュデータの内容を更新する更新方法を含む情報を前記差分データとともに 送信し、前記更新方法に基づ 、て前記第 1のキャッシュ格納手段に格納されたキヤッ シュデータの内容を更新し、
前記クライアントが、前記サーバから受信した前記更新方法に基づいて前記第 2の キャッシュ格納手段に格納されたキャッシュデータの内容を更新することを特徴とす る請求項 21記載のデータ通信方法。
[27] 前記サーバが、前記更新方法の指定を外部から受け、前記指定に基づいて前記 更新方法を設定することを特徴とする請求項 26記載のデータ通信方法。
[28] 前記サーバ及び前記クライアントが、前記第 1のキャッシュ格納手段及び前記第 2 のキャッシュ格納手段の初期状態において、内部に共通のデータをキャッシュデータ として格納することを特徴とする請求項 21記載のデータ通信方法。
[29] 前記サーバが、前記差分データの生成に用いた前記キャッシュデータの内容の同 一性を確認するための確認情報を生成し、前記差分データの送信の際に前記確認 情報を前記差分データとともに送信し、
前記クライアントが、前記サーバから受信した前記確認情報に基づいて前記クライ アント内部に格納されたキャッシュデータの内容の同一性を確認することを特徴とす る請求項 21記載のデータ通信方法。
[30] 前記サーバが、前記差分データの生成の際に、前記第 1のキャッシュ格納手段に 格納されたキャッシュデータが複数存在する場合に既定の規則に基づいて前記キヤ ッシュデータの一部を選択しかつ選択されたキャッシュデータの中力 生成される差 分データのサイズが最小となるキャッシュデータとの差分データを生成して送信する ことを特徴とする請求項 21記載のデータ通信方法。
[31] サーノからクライアントへデータを送信するデータ通信方法のプログラムであって、 前記サーバ側のコンピュータに、前記クライアントに送信データを送信する際に、過 去に通信したデータをキャッシュデータとして同一の状態で格納されたキャッシュデ ータと前記送信データとの差分データを生成して送信する処理を実行させ、前記差 分データにて、過去に通信したデータをキャッシュデータとして同一の状態で格納さ れたキャッシュデータと力 前記送信データを復元させるためのプログラム。
サーノからクライアントへデータを送信する処理を実行させるためのプログラムであ つて、
過去に通信したデータをキャッシュデータとして格納する機能と、前記クライアントに 送信データを送信する際にその送信データと前記格納されたキャッシュデータとの差 分データを生成して送信する機能とを前記サーバに実行させ、
過去に通信したデータをキャッシュデータとして格納する機能と、前記サーバから データを受信する機能と、前記差分データと前記格納されたキャッシュデータとから 前記送信データを復元する機能とを前記クライアントに実行させるデータ通信用プロ グラム。
PCT/JP2005/009031 2004-06-24 2005-05-18 データ通信システム、サーバ装置及びデータ通信方法並びにそのプログラム WO2006001137A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004185759A JP2007299019A (ja) 2004-06-24 2004-06-24 データ通信システム、サーバ装置及びそれに用いるデータ通信方法並びにそのプログラム
JP2004-185759 2004-06-24

Publications (1)

Publication Number Publication Date
WO2006001137A1 true WO2006001137A1 (ja) 2006-01-05

Family

ID=35781668

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/009031 WO2006001137A1 (ja) 2004-06-24 2005-05-18 データ通信システム、サーバ装置及びデータ通信方法並びにそのプログラム

Country Status (2)

Country Link
JP (1) JP2007299019A (ja)
WO (1) WO2006001137A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8270355B2 (en) 2007-12-20 2012-09-18 Nec Corporation Radio communication control device, radio communication control system, radio communication control method, radio communication control program and recording medium
JP2015528165A (ja) * 2013-03-04 2015-09-24 ヴイエムウェア インコーポレイテッドVMware,Inc. ファイル間差分コンテンツ同期
US9355116B2 (en) 2013-03-04 2016-05-31 Vmware, Inc. Cross-file differential content synchronization using cached patches
US9418072B2 (en) 2013-03-04 2016-08-16 Vmware, Inc. Cross-file differential content synchronization
CN112416694A (zh) * 2019-08-20 2021-02-26 中国电信股份有限公司 信息处理方法、系统、客户端和计算机可读存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5787833B2 (ja) * 2012-06-25 2015-09-30 京セラドキュメントソリューションズ株式会社 画像処理装置、画像処理システム、情報処理装置、プログラム
JP6330277B2 (ja) 2013-09-10 2018-05-30 日本電気株式会社 送信装置、送信方法、送信プログラム、及び、中継システム
JP6344520B2 (ja) * 2015-02-19 2018-06-20 富士通株式会社 通信装置、情報処理方法、及び、情報処理プログラム
JP6747303B2 (ja) 2017-01-13 2020-08-26 富士通株式会社 通信装置、通信システム、通信方法、および、通信プログラム
JP7087277B2 (ja) * 2017-05-19 2022-06-21 富士通株式会社 情報処理装置、情報処理システム、情報処理プログラム及び情報処理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10289172A (ja) * 1997-04-11 1998-10-27 Nec Corp データ転送システム
WO2001082267A1 (fr) * 2000-04-20 2001-11-01 Yutaka Yasukura Procédé de demande d'informations électroniques
JP2002055870A (ja) * 2000-08-15 2002-02-20 Fuji Xerox Co Ltd データ提供装置、データ取得装置及びデータ処理システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10289172A (ja) * 1997-04-11 1998-10-27 Nec Corp データ転送システム
WO2001082267A1 (fr) * 2000-04-20 2001-11-01 Yutaka Yasukura Procédé de demande d'informations électroniques
JP2002055870A (ja) * 2000-08-15 2002-02-20 Fuji Xerox Co Ltd データ提供装置、データ取得装置及びデータ処理システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MOGUL J. ET AL.: "Delta encoding in HTTP.", THE INTERNET SOCIETY. PRC3229, January 2002 (2002-01-01), XP002211285 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8270355B2 (en) 2007-12-20 2012-09-18 Nec Corporation Radio communication control device, radio communication control system, radio communication control method, radio communication control program and recording medium
JP2015528165A (ja) * 2013-03-04 2015-09-24 ヴイエムウェア インコーポレイテッドVMware,Inc. ファイル間差分コンテンツ同期
US9355116B2 (en) 2013-03-04 2016-05-31 Vmware, Inc. Cross-file differential content synchronization using cached patches
US9418072B2 (en) 2013-03-04 2016-08-16 Vmware, Inc. Cross-file differential content synchronization
US10447780B2 (en) 2013-03-04 2019-10-15 Vmware, Inc. Cross-file differential content synchronization
CN112416694A (zh) * 2019-08-20 2021-02-26 中国电信股份有限公司 信息处理方法、系统、客户端和计算机可读存储介质

Also Published As

Publication number Publication date
JP2007299019A (ja) 2007-11-15

Similar Documents

Publication Publication Date Title
WO2006001137A1 (ja) データ通信システム、サーバ装置及びデータ通信方法並びにそのプログラム
US7716306B2 (en) Data caching based on data contents
CN109951546B (zh) 基于智能合约的事务请求处理方法、装置、设备和介质
JP5668342B2 (ja) コンテンツ変換プログラム、コンテンツ変換システム及びコンテンツ変換サーバ
WO2019237594A1 (zh) 会话保持方法、装置、计算机设备及存储介质
US7237235B2 (en) Application distribution system, and distribution server and distribution method thereof
JP2017129935A (ja) サーバシステム、サーバシステムを制御する方法およびプログラム。
JP2004310371A (ja) ファイル共有システム及び方法、ファイル共有サーバ、ファイル共有サービスのクライアント端末、ファイル共有プログラム、ファイル共有プログラムを記録した記録媒体
CN110224824B (zh) 数字证书处理方法、装置、计算机设备和存储介质
CN110609746B (zh) 管理网络系统的方法、设备和计算机可读介质
JP6521762B2 (ja) Httpサーバとその制御方法、画像形成装置およびプログラム
CN105281940B (zh) 一种基于netconf协议的hello报文交互的方法、设备和系统
WO2014020742A1 (ja) 負荷分散装置、情報処理システム、方法およびプログラム
WO2023185796A1 (zh) 一种信息推送方法及服务器、客户端、存储介质
KR101554760B1 (ko) 네트워크 메시지 변환 디바이스 및 그 방법들
JP5961471B2 (ja) 複数の情報システムおける出力比較方法
JP6008964B2 (ja) 情報処理システム、方法およびプログラム
JP2016038750A (ja) 情報処理装置およびその方法、並びに、情報処理システム
US11706189B2 (en) Domain management and synchronization system
US10601913B2 (en) Synchronization of user data in a virtual desktop environment
JP2005100007A (ja) データファイル保存システムおよびアロケーション方法
US20140366084A1 (en) Management system, management method, and non-transitory storage medium
CN112559134A (zh) 一种分布式WebSocket集群构建方法、装置、系统及存储介质
JP3943868B2 (ja) サーバ側プロキシ、データ転送方法及びプログラム
CN115361442B (zh) 一种消息推送方法及装置、存储介质及电子设备

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP