WO2013047207A1 - Système, procédé et serveur de cache - Google Patents

Système, procédé et serveur de cache Download PDF

Info

Publication number
WO2013047207A1
WO2013047207A1 PCT/JP2012/073345 JP2012073345W WO2013047207A1 WO 2013047207 A1 WO2013047207 A1 WO 2013047207A1 JP 2012073345 W JP2012073345 W JP 2012073345W WO 2013047207 A1 WO2013047207 A1 WO 2013047207A1
Authority
WO
WIPO (PCT)
Prior art keywords
content
cache
cache server
server
requested
Prior art date
Application number
PCT/JP2012/073345
Other languages
English (en)
Japanese (ja)
Inventor
潤 粟野
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Publication of WO2013047207A1 publication Critical patent/WO2013047207A1/fr

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Definitions

  • the present invention relates to a cache system, a cache method, and a cache server.
  • the present invention relates to a cache system, a cache method, and a cache server that deliver content requested from a terminal to a terminal from a cache server instead of an origin server.
  • FIG. 14 shows an example of a cache system.
  • the cache system in this example includes a network 1, a network 2, a terminal 100, an origin server 200, and a cache server 300.
  • the cache server 300 is communicatively connected to the origin server 200 via the network 1. Further, the cache server 300 is communicatively connected to the terminal 100 via the network 2.
  • the origin server 200 distributes the content requested from the terminal 100 to the terminal 100.
  • the cache server 300 mediates content distribution from the origin server 200 to the terminal 100. More specifically, the cache server 300 delivers the requested content instead of the origin server 200 when the content is requested by the terminal 100 by caching the content. Thereby, the load of the origin server 200 and the network 1 can be reduced. As a result, the cache server 300 is generally disposed at a location closer to the terminal 100 than the origin server 200, so that the delay in content distribution can also be shortened.
  • the cache server 300 may hold the content to be distributed in advance in accordance with the business agreement with the owner of the origin server 200 or the content owner held in the origin server 200.
  • Fig. 15 shows a sequence diagram of the content distribution system.
  • the terminal 100 requests content from the origin server 200.
  • various protocols can be considered as a protocol for making a content request.
  • the content request corresponds to HTTP GET.
  • the method using the DNS server is a method in which when the terminal 100 acquires the address of the origin server 200 using the DNS server, the DNS server responds with the address of the cache server 300 instead of the origin server 200.
  • the cache server 300 When the cache server 300 receives the content request, the cache server 300 identifies the requested content based on information such as a URL (Uniform Resource Locator) included in the content request. Then, the cache server 300 checks whether or not the requested content is held, and if not, transfers the requested content request to the origin server 200 (this step holds the targeted content in this step). Not).
  • the content request from the terminal 100 may be transferred without being changed, or may be transferred after changing the address or the like.
  • the origin server 200 Upon receiving the content request transferred from the cache server 300, the origin server 200 starts a process of distributing the requested content to the cache server 300 (S101).
  • the cache server 300 When the cache server 300 receives the content started to be distributed from the origin server 200, in step S102, the cache server 300 distributes the content to the terminal 100 and stores the cache of the content (hereinafter also referred to as caching).
  • the terminal 100 receives the content distributed via the cache server 300.
  • the terminal 100 requests the same content.
  • the terminal 100 here does not have to be the same terminal as the terminal 100 that requested the content for the first time.
  • the cache server 300 holds a cache of the content. Therefore, the content requested from the cache server 300 is distributed to the terminal 100 without transferring the content request to the origin server 200 (S103).
  • FIG. 16 shows an example in which a plurality of cache servers shown in FIG. 14 are deployed in a distributed manner. That is, FIG. 16 is an example of a non-cooperative cache system in which the cache does not exchange caches between cache servers.
  • the cache servers 300a, 300b, and 300c, terminals 100a, 100b, and 100c, and networks 2a, 2b, and 2c in FIG. 16 indicate a situation where there are a plurality of cache servers 300, terminals 100, and networks 2 described in FIG.
  • the networks 2a, 2b and 2c may be networks of different ISPs or network operators, or may be networks of the same ISP and network operators.
  • the cache server 300a does not cache the content requested from the terminal 100a, the content is acquired from the origin server 200 even if there is a cache in another cache server.
  • inter-cache server cooperation a cache system that can be linked between each cache server. Specifically, if the content requested from the terminal is not cached in a certain cache server, does not immediately acquire the content from the origin server, but does the other cache server hold the requested content? Confirm whether or not. As a result, if there is a cache server holding the content, the cache is acquired from the cache server and distributed to the terminal.
  • this cooperation is referred to as inter-cache server cooperation.
  • FIG. 17 shows a cache system that can be linked between cache servers.
  • the cache servers 300'a, 300'b, and 300'c are cache servers each having a cooperation function.
  • the management server 400 provides content information held by other cache servers to each cache server 300 ′, and controls content to be held by each cache server.
  • FIG. 18 shows a graph showing the effect of cooperation between cache servers.
  • FIG. 18 shows the difference between the hit rate of a single cache server and the hit rate when cooperation between cache servers is applied, assuming that the content request trend of the terminal 100 follows the Zipf distribution.
  • the Zipf distribution is a distribution in which access concentrates on content with high popularity, and the access probability to the kth most popular content can be expressed by the following formula (1).
  • the horizontal axis represents the number of cache servers that can be linked
  • the vertical axis represents the hit rate of the entire system, that is, the hit rate obtained as a result of linkage.
  • Each line assumes a different cache server size.
  • the size of the cache server is expressed as a percentage of the origin server.
  • FIG. 18 shows that the cache hit rate can be improved by inter-cache server cooperation regardless of the size of the cache server.
  • the content allocation to each cache server is not controlled in consideration of cooperation, and the requested content is only cached at the judgment of each cache server.
  • the cache hit rate improvement effect by the cooperation is more than the value shown in FIG. For example, if some cache servers cache content that is popular to some extent, control can be performed so that other cache servers do not cache the same content. On the other hand, for very popular contents, it may be better to place them on a plurality of cache servers in terms of load distribution.
  • Non-Patent Document 1 describes a technology related to CRISP (Caching and Replication for Internet Service Performance) in which a plurality of cache servers cooperate.
  • the management server 400 When trying to realize a content arrangement that allows the cache servers 300 ′ shown in FIG. 17 to be efficiently linked, the management server 400 stores information on the contents held by each cache server 300 ′, Access information must be collected from each cache server 300 'and each cache server 300' must be controlled to achieve an optimal placement.
  • the management server 400 controls the arrangement of contents in an integrated manner
  • the amount of information to be exchanged with the cache server and the optimum arrangement are calculated when the type of contents and the number of cache servers increase.
  • the amount of calculation for this becomes large. For this reason, there is a problem that the management server 400 cannot complete the processing. When such a state is reached, there is a concern that each cache server has more processing depending on the management server 400 and cannot continue normal operation and fails as a system.
  • An object of the present invention is to provide a cache system, a cache method, and a cache server that solve the above-described problems.
  • the cache system includes an origin server and a plurality of cache servers that distribute the content requested from the terminal instead of the origin server.
  • the server does not hold the content requested from the terminal, it indicates the load caused by transmitting / receiving the content to / from the other cache server when acquiring the content from the other cache server holding the content and distributing it to the terminal Based on the index, content duplication is controlled.
  • a caching method in a cache system comprising an origin server and a plurality of cache servers that deliver content requested from a terminal instead of the origin server,
  • the server does not hold the content requested from the terminal, it indicates the load caused by transmitting / receiving the content to / from the other cache server when acquiring the content from the other cache server holding the content and distributing it to the terminal Based on the index, content duplication is controlled.
  • the cache server when the content requested from the terminal is distributed instead of the origin server, the content requested from the terminal is not held.
  • content replication is controlled based on an index indicating the load caused by transmitting / receiving the content to / from another cache server.
  • the cache system according to the present invention it is possible to provide a distributed cache system capable of obtaining a good cache hit rate.
  • FIG. 1 is a diagram illustrating an example of a distributed cache system according to a first embodiment of the present invention. It is a figure which shows an example of the block configuration of the cache server which concerns on 1st Embodiment of this invention. It is a flowchart which shows the flow of the process which the cache server which concerns on 1st Embodiment of this invention performs replication determination and replication instruction
  • FIG. 1 shows an example of a distributed cache system according to the first embodiment.
  • the distributed cache system of the first embodiment includes a network 1, a plurality of networks 2a, b, c,... (Hereinafter collectively referred to as network 2), and a plurality of terminals 100a, b, c,. , Terminal server 100), origin server 200, and a plurality of cache servers 301a, b, c,... (Hereinafter collectively referred to as cache server 301).
  • the cache server 301 is communicatively connected to the origin server 200 and other cache servers 301 via the network 1. Further, the cache server 301 is communicatively connected to the terminal 100 via the network 2.
  • FIG. 2 shows an example of a block configuration of the cache server 301.
  • the cache server 301 includes a distribution unit 310, a cooperation unit 311, a replication determination unit 312, and a storage device 320.
  • a distribution unit 310 receives a packet data packet from the main memory 301.
  • a cooperation unit 311 receives a packet data packet from the main memory 301.
  • a replication determination unit 312 receives a packet data from the cache server 301.
  • the distribution unit 310 When receiving the content request from the terminal 100, the distribution unit 310 checks whether the requested content is recorded as a cache in the storage device 320. If the requested content is recorded in the storage device 320, the distribution unit 310 distributes the content to the terminal 100. On the other hand, when the requested content is not recorded in the storage device 320, the cooperation unit 311 is requested to acquire the content from the other cache server 301 by cooperation between the cache servers. As a result, when the target content is obtained from another cache server 301, it is delivered to the terminal 100. When the target content cannot be obtained from the other cache server 301, the target content is requested to the origin server 200 and the responded content is distributed to the terminal 100. The distribution unit 310 further holds the content obtained from the origin server as a cache in the storage device 320 on the condition that the origin server 200 has requested the same content a predetermined number of times.
  • the distribution unit 310 also records content information including information such as the number of accesses to the content from the terminal 100 in the storage device 320.
  • the content information also includes a content identifier (URL or an identifier assigned by the system), and the content information can be referred to using the content identifier as key information.
  • the content information may include other information such as size and media type.
  • the cooperation unit 311 searches for another cache server 301 that holds the content requested from the terminal 100.
  • the cache server 301 requests the target content from the cache server group that is a candidate for cooperation, in close order or randomly. As a result, if there is a cache server 301 that holds the target content, the target content is acquired from the cache server 301 and distributed to the terminal 100 via the distribution unit 310.
  • the cooperation candidate cache servers are sequentially inquired, but other methods may be adopted.
  • a cache server as a cooperation candidate is arranged in the same station.
  • the target content is obtained from the cache server that has returned the response indicating that the target content is held by inquiring about the target content by means of broadcasting or multicasting means capable of broadcasting to a plurality of cache servers. You may do it.
  • the sequential inquiry method requires a long time to find the target content. Therefore, the cache servers that are candidates for cooperation may be limited to some cache servers in the system.
  • the cooperation unit 311 When an arbitrary content is requested from another cache server 301 and the requested content is held in the storage device 320, the cooperation unit 311 responds to the request-source cache server 301 with the requested content. . At this time, the cooperation unit 311 records the number of accesses from other cache servers in the storage device 320 as one piece of content information.
  • the cooperation unit 311 is notified of the copy of the content together with the content identifier from the copy determination unit 312.
  • the information instructing the copy of the content in the response of the content Is stored.
  • the content requesting cache server is instructed to copy the content.
  • the content response is stored with information for instructing content duplication, but content duplication may be instructed by another signal.
  • the cooperation unit 311 also saves the received content in the storage device 320 as a cache if the content response stores information instructing content replication. Even when the content response is instructed to copy the content by another signal, when the content to be copied is received, the content is stored in the storage device 320 as a cache.
  • the free space of the storage device 320 of the cache server 301 and information indicating the load may be stored in the request.
  • the information indicating the load is, for example, information such as a CPU usage rate, a communication interface usage rate, a traffic amount related to content transmission / reception with another cache server, and the number of simultaneous connections.
  • the linkage unit 311 of the cache server 301 on the content instructing cache server 301 selects the cache to be instructed to copy the content based on information indicating the free capacity and load of the storage device 320 of the cache server on the content requesting side.
  • a server may be selected.
  • the replication determination unit 312 monitors information related to the communication interface of the cache server. Then, if any of the number of contents transmitted and received at the same time by the inter-cache server cooperation or the total bandwidth by the inter-cache server cooperation exceeds a threshold value, it is considered that the inter-cache server cooperation is being used too much. Then, the content information recorded in the storage device 320 is referred to, and one or a plurality of contents contributing to the load between the cache servers is determined.
  • Threshold value is a value that depends on the CPU performance of the cache server and the performance of the communication interface, and can be set in advance. Furthermore, the threshold value may be corrected based on dynamically changing information such as the number of simultaneous contents transmitted / received in the entire cache server, the total distribution bandwidth, the CPU load factor, and the like. *
  • the number of accesses from other cache servers can be used as an index for determining that it contributes to the load of cooperation between cache servers.
  • the content size may be an index that takes into account the size of the content, such as a value obtained by multiplying the number of accesses. Furthermore, it is good also as an parameter
  • the copy determination unit 312 means that the other cache server is determined to perform the copy together with the corresponding one or more content identifiers. Information to be notified to the cooperation unit 311.
  • cached content and content information are recorded.
  • Content information includes the content identifier, the number of accesses from the terminal, and the number of accesses from other cache servers. In addition, information regarding content such as content size and media type may be included.
  • the distribution unit 310, the linkage unit 311, and the replication determination unit 312 described above can be implemented by installing all of them in software and operating on the CPU. Alternatively, some or all of them can be configured by hardware.
  • the storage device 320 can be configured by a device capable of recording and reading information, such as a semiconductor memory and a hard disk drive.
  • step S200 the duplication determination process in the duplication determination unit 312 starts at a regular opportunity or when the cooperation unit 311 receives a content request from another cache server.
  • step S201 as described above with respect to the function of the replication determination unit 312, the content replication is performed by referring to the number of contents simultaneously transmitted / received by the inter-cache server cooperation, the bandwidth by the inter-cache server cooperation, Decide whether or not to do.
  • step S202 the copy determination result is evaluated, and if the copy is made, step S203 is processed (Y in S202), and if not copied, the process is ended (N in S202).
  • step S203 the replication determination unit 312 determines one or more contents to be replicated using the number of accesses from other cache servers as an evaluation index.
  • the duplication determination unit 312 notifies the cooperating unit 311 of the duplication along with the identifier of the content to be duplicated (S204).
  • the linkage unit 311 stores information instructing to copy the content in the response of the content, and the cache server that becomes the response destination of the content Is instructed to copy the content, and the process ends.
  • the distribution unit 310 searches the storage device 320 and determines whether the requested content is already held as a cache (S301).
  • the distribution unit 310 reads the target content from the storage device 320, distributes it to the terminal 100 (S310), and ends the processing.
  • the cooperation unit 311 requests the content from the cache server 301 that holds the content, and sends the responded content via the distribution unit 310. Distribute to the terminal 100 (S304). At this time, if the content response stores information instructing to copy the content, the process proceeds to Y in step S305, and the content is held in the storage device 320 as a cache in step S306. Thereafter, in step S307, information such as the number of accesses in the content information of the storage device 320 is updated, and the process is terminated.
  • step S305 if there is no content duplication instruction (N in S305), the content is not retained, the content information is updated in step S307, and the process ends.
  • step S308 the distribution unit 310 requests the target content from the origin server, and distributes the content returned from the origin server to the terminal 100. At this time, based on information such as the number of accesses to the content, it is determined whether to store the content in the storage device 320 as a cache.
  • the processing after step S306 already described is processed.
  • the content information update of step S307 is implemented and a process is complete
  • FIG. 5 shows an example of an operation sequence of the terminal 100a and the cache servers 301a to 301c.
  • the cache server 301c instructs the cache server 301a to copy the content, and the flow of processing until the cache server 301a holds the content as a cache according to the instruction, using a more specific example. explain.
  • the terminal 100a is a terminal accommodated under the cache server 301a, and that the terminal requests content.
  • the requested content is assumed to be held in the cache server 301c.
  • the cache server 301a receives a content request from the terminal 100a. Since the cache server 301a holds the requested content as a cache, the cache server 301a requests the content from the cache server 301b among the cooperation candidate cache servers. However, since the cache server 301b does not hold the requested content, it responds “no content” to the cache server 301a (S401).
  • the cache server 301a requests the content from the next candidate cache server 301c again (S402).
  • the cache server 301a When the cache server 301a receives content storing information instructing content replication, the cache server 301a distributes the content to the terminal 100a (S405) and holds it as a cache in the storage device 320 (S406).
  • the distributed cache system can use inter-cache server cooperation without excess or deficiency even when there is no management server.
  • a good cache hit rate by cooperation between cache servers can be obtained without communication load and processing load for calculating an appropriate content arrangement.
  • the cache server 302 of the second embodiment is substantially the same as the cache server 301 of the first embodiment, but the functions of the linkage unit 313 and the replication determination unit 314 are the same as those of the linkage unit 311 of the first embodiment. This is different from the replication determination unit 312. Therefore, here, an explanation will be given focusing on the functions of the cooperation unit 313 and the replication determination unit 314.
  • the duplication determination unit 314 has substantially the same function as the duplication determination unit 312 of the first embodiment, but when the duplication of content is decided, the duplication target content and the number of duplications are also decided. More specifically, when notifying the cooperation unit 313 to instruct the copying of content, information on the number of copies is included in addition to the content identifier.
  • the replication determining unit 314 refers to the number of accesses and the number of simultaneous connections by cooperation between cache servers when determining the number of replicas. When it becomes necessary to increase the number of copies of content in the system immediately, such as when these values greatly exceed the threshold, the number of copies can be increased according to the degree of urgency.
  • the cooperation unit 313 has substantially the same function as the cooperation unit 311 of the first embodiment. Further, the linkage unit 313 receives either the number of copies notified from the copy determination unit 314 or the number of copies stored together with information indicating a content copy instruction as a content response from another cache server. Then, based on the received number of copies, when another cache server requests content to be copied, it instructs to copy the content. Further, by storing the number-of-replications information as required, it requests the other cache server 302 to instruct to copy the contents.
  • the cooperation unit 313 and the replication determination unit 314 described above can be implemented by installing all of them in software and operating on the CPU. Alternatively, some or all of them can be configured by hardware.
  • the processing flow of the cache server 302 of the second embodiment is almost the same as the processing flow of the cache server 301 of the first embodiment shown in FIGS.
  • the cache server 302 is different from the process shown in FIG. 3 in that the copy number is determined at the same time when determining the copy instruction.
  • the cache server 302 returns the copy number information together with information for responding the content and instructing the copy of the content. It is also different in that it is stored as necessary.
  • the processing of the cache server 302 also confirms the existence of the number of copies information when determining whether or not the content responded from the other cache servers by the cooperation between the cache servers includes information instructing the copy. Is different from the process shown in FIG. If the copy number information is stored, it is acquired and recorded together with the content identifier. As described above, the copy number information recorded here is referred to when instructing another cache server to copy the content based on the copy number information.
  • step S500 it is assumed that the communication amount due to the cooperation between cache servers is excessive in step S500.
  • the determination as to whether or not the number is excessive may be, for example, the case where the number of simultaneous content distributions and the communication bandwidth by cooperation between cache servers greatly exceed a predetermined threshold. However, it may be determined that it is excessive or likely to be excessive based on other indicators such as the number of simultaneous distributions and the speed of increase in bandwidth.
  • the terminal 100 makes a content request to the cache server 302a (S501).
  • the cache server 302a When the cache server 302a receives the content response, it delivers it to the terminal 100 (S503). At the same time, according to the copy instruction, the cache server 302a holds the received content as a cache (S504).
  • step S505 when content to be copied is requested from the cache server 302c, information indicating a copy instruction and a content response storing the number of copies are transmitted to the cache server 302c.
  • the cache server 302a has set 2 as the number of copies.
  • the number of replicas is determined, and according to the determined number of replicas, another cache server is also requested for a replication instruction. In this way, the number of content copies can be increased at a high speed even when the cache server cooperation is excessively used or when excessive use is predicted, reducing the risk of system failure. .
  • the cache server 303 of the third embodiment is almost the same as the cache server 301 of the first embodiment, but the function of the linkage unit 315 is different from the linkage unit 311 of the first embodiment. Therefore, here, an explanation will be given focusing on the function of the cooperation unit 315.
  • the cooperation unit 315 requests content from other cache servers by cooperation between the cache servers.
  • the response is made, if the copy of the content is required by the function of the copy determination unit 312 and the responded content is a copy target, the content is held in the storage device 320 as a cache.
  • This is different from the cooperation unit 311 of the first embodiment. Other than that, it has the same function as the cooperation part 311 of 1st Embodiment.
  • the linkage unit 311 of the first embodiment instructs the requested cache server to copy the content to the requested cache server.
  • the cooperation unit 315 of the third embodiment is different in that the content requesting side determines the necessity of copying the content and the content to be copied.
  • the cooperation unit 315 described above can be implemented by installing all of them in software and operating on the CPU. Alternatively, some or all of them can be configured by hardware.
  • step S600 when the cooperation unit 315 receives content from another cache server, the copy determination unit 312 starts the copy determination process.
  • step S601 as described in the description of the function of the replication determination unit 312, the number of contents simultaneously transmitted / received by inter-cache server cooperation, the bandwidth by inter-cache server cooperation, and the like are referred to. Decide whether or not to replicate.
  • step S602 the copy determination result is evaluated, and if copying is performed, step S603 is processed (Y in S602), and if not copied, the process is terminated (N in S602).
  • step S603 the copy determination unit 312 determines one or more contents to be copied using the number of accesses from other cache servers as an evaluation index.
  • the cooperation unit 315 determines whether or not the content received from another cache server is included in the content to be copied determined in step S603 (S604). If it is included, the process proceeds to Y, and the content is held as a cache in the storage device 320 in step S605. On the other hand, if it is determined in step S604 that the received content is not included in the content to be copied, the process proceeds to N and is not held as a cache, and the process ends.
  • the processing flow when the cache server 303 receives a content request from the terminal 100 is obtained by replacing the processing from step S305 to step S306 shown in FIG. 4 with the processing from step S600 to step S605 shown in FIG. Become.
  • the terminal 100a is a terminal accommodated under the cache server 303a, and the terminal requests content. Assume that the requested content is not held by the cache server 303a but is held by the cache server 301c.
  • step S700 the cache server 303a receives a content request from the terminal 100a. Since the cache server 303a holds the requested content as a cache, the cache server 303a requests the content from the cache server 303b selected from the cooperation candidate cache servers. However, since the cache server 303b does not hold the requested content, “no content” is returned to the cache server 303a (S701).
  • the cache server 303a requests content from the next candidate cache server 303c (S702).
  • the cache server 303c When the cache server 303c receives the content request in step S702, the cache server 303c holds the requested content, and therefore responds to the cache server 303a with the content (S703).
  • the cache server 303a Upon receiving the content response, the cache server 303a responds to the terminal 100a (S704), and determines whether the received content should be cached according to the flowchart shown in FIG. If it is determined that the content should be cached, the content is held as a cache (S704).
  • the cache server that receives the content determines whether or not to cache. .
  • the cache server on the content response side does not need to store information instructing copying in the content response.
  • the existing protocol such as HTTP is reused as a protocol for exchanging contents between the cache servers, it is not necessary to change the existing protocol, so that the cache system according to the present invention can be easily applied.
  • FIG. 1 An overall view of the distributed cache system of the fourth embodiment is shown in FIG.
  • the devices and networks having the same names and numbers are the same as in the overall view (FIG. 1) of the distributed cache system of the first embodiment, and thus the description thereof is omitted here.
  • the cache server 304 and the management server 401 are different from the distributed cache system according to the first embodiment of the present invention.
  • the cache server 304 according to the fourth embodiment further includes an information exchange unit 316 in addition to the cache server 301 according to the first embodiment. Moreover, the function of the cooperation part 317 is a little different from the cooperation part 311 of 1st Embodiment.
  • the other functional blocks are the same as the configuration of the cache server 301 of the first embodiment, and a description thereof will be omitted.
  • the information exchanging unit 316 has a function of notifying the management server 401 of a list of contents held in the storage device 320, acquires a list of contents held by another cache server 304 from the management server 401, and stores this list Record in device 320. At this time, the storage device 320 records the identifier of the cache server 304 in association with the list of contents held by the cache server.
  • the timing at which the information exchange unit 316 notifies the management server of the content list and the opportunity to acquire the content list of another cache server for example, a part or all of the content list is periodically notified and acquired. It doesn't matter. Further, it may be held at the timing when the cache is deleted because the content is held in the storage device 320 as a cache, or because the capacity of the storage device 320 is low. Alternatively, the management server 401 may be notified of deleted content information. Furthermore, when the content is requested from the terminal 100, the holding status of another requested cache server of the requested content may be acquired from the management server 401.
  • the cooperation unit 317 has substantially the same function as the cooperation unit 311 according to the first embodiment of the present invention. Further, when determining the content requesting cache server, the linkage unit 317 refers to the content list of another cache server recorded in the storage device 320. Then, after specifying a cache server that holds the requested content, one of the specified cache servers is determined as a content request destination. This eliminates the need to find a cache server that holds the requested content in a sequential manner, thus enabling more efficient cooperation between cache servers.
  • the management server 401 holds the content list notified from the cache server 304.
  • a content list of the cache server 304 in the cache system is returned.
  • the responding content list may be limited to a part of the information to be responded, such as limiting the content list to the content list for the cache servers around the cache server 304 that has requested the content list. .
  • the content list is shared via the management server 401, thereby enabling smooth cooperation between the cache servers.
  • the management server 401 is necessary. Communication between the management server 401 and the cache server 304 occurs.
  • the calculation load and communication load of the management server which are listed as problems in the background art, are not a big problem here.
  • the functions of the management server 401 of the fourth embodiment are limited to functions that mediate limited information. More specifically, the information to be exchanged is limited to the content list, and the management server 401 calculates the content allocation to each cache server and uses the cache server for the calculated content allocation. This is because there is no need to control.
  • the information exchange unit 316 and linkage unit 317 described above can be implemented by installing all of them in software and operating on the CPU. Alternatively, some or all of them can be configured by hardware.
  • the management server 401 can be implemented on a server equipped with a CPU or storage device with the above-described functions implemented by software.
  • the operation flow of the cache server 304 according to the fourth embodiment of the present invention is almost the same as the processing when the cache server 301 of the first embodiment receives a content request from the terminal 100, as already shown in FIG. Become.
  • the only difference is that the content list acquired from the management server 401 is referred to when the cache server as the content request destination is found in step S302.
  • the distributed cache system according to the fourth embodiment further includes a management server 401 compared to the distributed cache system of the first embodiment.
  • the cache server 304 includes an information exchange unit 316 for exchanging content lists with the management server 401.
  • the cooperation unit 317 uses the content list of another cache server obtained from the management server 401 by the information exchange unit 316 to determine a cache server as a content request destination.
  • the elements that are the differences between the first embodiment and the fourth embodiment can be similarly applied to the configurations of the second embodiment and the third embodiment in the same manner as in the first embodiment.
  • the cache server when acquiring content from another cache server, uses the content list obtained by the management server to determine the content request destination. Efficient linkage between cache servers can be realized.
  • the cache server 305 shares the functions of the management server 401 of the fourth embodiment. Therefore, the management server 401 is not necessary in the distributed cache system of the fifth embodiment. For this reason, the configuration of the distributed cache system of the fifth embodiment is the same as that of the first embodiment, and thus the figure is omitted.
  • the cache server 305 of the fifth embodiment further includes a management server function 318 in addition to the cache server 304 of the fourth embodiment.
  • the management server function 318 exchanges content list information with the information exchange unit 316 of the other cache server 305 in the same manner as the function of the management server 401 in the fourth embodiment. However, it is different from the management server 401 in the fourth embodiment in that a part of content is managed instead of managing a list of all content. A method for determining content to be managed by the management server function 318 of each cache server 305 will be described later.
  • the information exchange unit 316 ′ basically has the same function as the information exchange unit 316 of the fourth embodiment.
  • the information exchanging unit 316 ′ is different in that the notification destination and acquisition destination of the content list are not the management server 401 but the management server function 318 of another cache server 305. Another difference is that a cache server as a content notification destination / acquisition destination is determined for each content.
  • a cache server index (CacheServerIndex) that is a continuous value from 0 is assigned to each cache server. Assume that the cache server index and the number of cache servers (NumOfCacheServer) in the distributed cache system are shared by the cache servers.
  • the information exchanging unit 316 ′ determines a cache server that notifies the holding state of the content when the content identifier whose content identifier is ContentID is held as a cache, when the content is deleted, or when the content is periodically deleted.
  • the cache server index is obtained by the calculation shown in Expression (2). Then, the cache server to which the obtained cache server index is assigned is determined as the content list notification destination of the content.
  • Hash (x) indicates a process of calculating a hash value of x by a hash function such as MD5 or SHA1.
  • X% y means a remainder when x is divided by y.
  • Formula 2 is also used when determining the cache server that manages the content list of content in order to acquire information on the cache server that holds a certain content. That is, the cache server to which the cache server index obtained by Expression 2 is assigned is set as the content list acquisition destination.
  • the cache list sharing method shown above is merely an example, and the content list may be shared and managed by other methods.
  • the information exchange unit 316 'and the management server function 318 described above can be implemented by installing all of them in software and operating on the CPU. Alternatively, some or all of them can be configured by hardware.
  • efficient management between cache servers can be realized even if there is no management server by managing the functions of the management server by each cache server.
  • the cache system uses information obtained internally by each cache server to determine that the load due to cooperation between cache servers has become excessive, and the load due to cooperation between cache servers has become excessive. Identify content that is the main factor that you have, and increase duplication of that content. Thereby, even when there is no management server, inter-cache server cooperation can be used without excess or deficiency. In addition, it is possible to provide a distributed cache system that can obtain a good cache hit rate by cooperation between cache servers without communication load and processing load for calculating an appropriate content arrangement.
  • the cache system according to the second embodiment is configured to determine the number of replicas in addition to the determination of the execution of replication, and to request replication instructions from other cache servers according to the determined number of replicas. In this way, the number of content copies can be increased at a high speed even when the cache server cooperation is excessively used or when excessive use is predicted, reducing the risk of system failure. .
  • the cache server side that receives the content determines whether or not to cache. .
  • the cache server on the content response side does not need to store information instructing copying in the content response. For this reason, when an existing protocol such as HTTP is reused as a protocol for exchanging contents between cache servers, it is not necessary to change the existing protocol, so that the present invention can be easily applied.
  • the cache server obtained by the management server is used to determine the content request destination. More efficient linkage between cache servers can be realized.
  • the distributed cache system according to the present invention By applying the distributed cache system according to the present invention to a fixed ISP network or a mobile network, it is possible to obtain a high cache hit rate utilizing the cooperation between cache servers in the distributed cache system. Thereby, the traffic on an interconnection point (POI: Point Of Interface) can be reduced effectively, and the operator of the network can reduce OPEX (Operation Expense). In addition, high scalability and high availability can be realized by enabling distributed processing such as content copying.
  • POI Point Of Interface
  • a cache system According to the cache system according to the present invention, there is provided a cache system, a cache method, and a cache server that do not require a management server and can realize an effective cooperation between cache servers based on information that each cache server can have. be able to.

Landscapes

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

Abstract

L'invention porte sur un système de cache qui est pourvu d'un serveur d'origine et d'une pluralité de serveurs de cache qui fournit du contenu demandé par un terminal à la place du serveur d'origine. Quand le serveur de cache ne contient pas le contenu demandé par le terminal, et distribue le contenu au terminal par acquisition du contenu auprès d'un autre serveur de cache contenant le contenu, le serveur de cache commande une duplication du contenu sur la base de l'indice indiquant une charge causée par la transmission/la réception du contenu à destination de l'autre serveur de cache ou provenant de celui-ci.
PCT/JP2012/073345 2011-09-30 2012-09-12 Système, procédé et serveur de cache WO2013047207A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011215850 2011-09-30
JP2011-215850 2011-09-30

Publications (1)

Publication Number Publication Date
WO2013047207A1 true WO2013047207A1 (fr) 2013-04-04

Family

ID=47995241

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/073345 WO2013047207A1 (fr) 2011-09-30 2012-09-12 Système, procédé et serveur de cache

Country Status (2)

Country Link
JP (1) JPWO2013047207A1 (fr)
WO (1) WO2013047207A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017509053A (ja) * 2014-02-19 2017-03-30 レベル スリー コミュニケーションズ,エルエルシー エッジプロキシを持つコンテンツデリバリネットワークアーキテクチャ
WO2019188695A1 (fr) * 2018-03-28 2019-10-03 日本電信電話株式会社 Dispositif d'évaluation d'impact de performance et procédé d'évaluation d'impact de performance
US10567493B2 (en) * 2015-08-20 2020-02-18 Verizon Digital Media Services Inc. Intelligent predictive stream caching

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155712A (ja) * 1998-11-19 2000-06-06 Nippon Telegr & Teleph Corp <Ntt> 分散キャッシュ配送方法及び分散キャッシュ配送プログラムを記憶した媒体
JP2005312064A (ja) * 2005-04-28 2005-11-04 Nec Corp ネットワークシステム、キャッシュサーバ、キャッシュサーバ制御方法及び記録媒体
JP2006235736A (ja) * 2005-02-22 2006-09-07 Ricoh Co Ltd クラスタシステムのキャッシュ同期制御方法
JP2010009448A (ja) * 2008-06-30 2010-01-14 Nec Corp 分散情報配置システム
JP2010113402A (ja) * 2008-11-04 2010-05-20 Nippon Telegr & Teleph Corp <Ntt> キャッシュサーバへのコンテンツ配信方法とシステムおよびプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4291284B2 (ja) * 2005-03-03 2009-07-08 株式会社日立製作所 キャッシュシステム及びキャッシュサーバ

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155712A (ja) * 1998-11-19 2000-06-06 Nippon Telegr & Teleph Corp <Ntt> 分散キャッシュ配送方法及び分散キャッシュ配送プログラムを記憶した媒体
JP2006235736A (ja) * 2005-02-22 2006-09-07 Ricoh Co Ltd クラスタシステムのキャッシュ同期制御方法
JP2005312064A (ja) * 2005-04-28 2005-11-04 Nec Corp ネットワークシステム、キャッシュサーバ、キャッシュサーバ制御方法及び記録媒体
JP2010009448A (ja) * 2008-06-30 2010-01-14 Nec Corp 分散情報配置システム
JP2010113402A (ja) * 2008-11-04 2010-05-20 Nippon Telegr & Teleph Corp <Ntt> キャッシュサーバへのコンテンツ配信方法とシステムおよびプログラム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017509053A (ja) * 2014-02-19 2017-03-30 レベル スリー コミュニケーションズ,エルエルシー エッジプロキシを持つコンテンツデリバリネットワークアーキテクチャ
US10264091B2 (en) 2014-02-19 2019-04-16 Level 3 Communications, Llc Proxy server failover and load clustering
US10367907B2 (en) 2014-02-19 2019-07-30 Level 3 Communications, Llc Content delivery network architecture with edge proxy
US10778801B2 (en) 2014-02-19 2020-09-15 Level 3 Communications, Llc Content delivery network architecture with edge proxy
US10938941B2 (en) 2014-02-19 2021-03-02 Level 3 Communications, Llc Proxy server failover and load clustering using hash value ranges and hash value calculations based on IP addresses
US11165879B2 (en) 2014-02-19 2021-11-02 Level 3 Communications, Llc Proxy server failover protection in a content delivery network
US10567493B2 (en) * 2015-08-20 2020-02-18 Verizon Digital Media Services Inc. Intelligent predictive stream caching
WO2019188695A1 (fr) * 2018-03-28 2019-10-03 日本電信電話株式会社 Dispositif d'évaluation d'impact de performance et procédé d'évaluation d'impact de performance
JP2019175067A (ja) * 2018-03-28 2019-10-10 日本電信電話株式会社 性能影響評価装置及び性能影響評価方法
US11526416B2 (en) 2018-03-28 2022-12-13 Nippon Telegraph And Telephone Corporation Performance impact evaluation device and performance impact evaluation method

Also Published As

Publication number Publication date
JPWO2013047207A1 (ja) 2015-03-26

Similar Documents

Publication Publication Date Title
JP5050095B2 (ja) P2pコンテンツ共有のための方法、システム、及びノード
CN102523256B (zh) 内容的管理方法的方法、装置和系统
CN103581245B (zh) 一种内容分发网络内容分发的方法及系统
US8924460B2 (en) Method and system of administrating a peer-to-peer file sharing network
CN100588172C (zh) 一种实现网络预订存储的系统和方法
JP2004246632A (ja) データ分配サーバ、プログラム及びネットワークシステム
JP5526137B2 (ja) 選択的データ転送ストレージ
JP2010504668A (ja) リソース配信の方法、システム、およびエッジサーバ
JP2015172954A (ja) プル・モード及びプッシュ・モードを組み合わせるシステム及び方法
JP6601784B2 (ja) 情報指向ネットワークにおいてコンテキスト認識型コンテンツ要求をサポートするための方法、ネットワークコンポーネント、およびプログラム
WO2009152754A1 (fr) Procédé, système et dispositif de fourniture de contenus basés sur un réseau poste à poste
JP5847185B2 (ja) コンテンツ中心のネットワーク環境でグループ変更に関する情報を用いるコンテンツ共有方法及び装置
JP2007066161A (ja) キャッシュシステム
WO2010105505A1 (fr) Procédé, noeud utilisateur et serveur permettant de demander des informations de position sur un réseau
KR20090097034A (ko) 피어 투 피어 통신에서의 피어 선정 방법 및 그 시스템
KR101573197B1 (ko) 피투피 기반 파일 전송 제어 방법 및 이를 위한 피투피 통신 제어 장치
US20110307564A1 (en) Data node apparatus, peer information acquisition method and system
US9781033B2 (en) Providing requested content in an overlay information centric networking (O-ICN) architecture
WO2013047207A1 (fr) Système, procédé et serveur de cache
CN109644160B (zh) 通过分类在icn中进行名称解析和制作者选择的混合方法
JP2011118593A (ja) データ転送サーバ、データ転送システム、データ転送方法およびプログラム
CN109788075B (zh) 专网网络系统、数据的获取方法及边缘服务器
JP5399276B2 (ja) コンテンツ配信システムと方法およびプログラム
KR20130033252A (ko) 서비스 오버레이 네트워크에서 종단간 QoS 보장형 콘텐츠 전달 방법 및 그 시스템
CN101662494A (zh) 一种实现内容提供的方法、系统和装置

Legal Events

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

Ref document number: 12835768

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013536154

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12835768

Country of ref document: EP

Kind code of ref document: A1