Program, storage medium, terminal device, server processing method, and server device
By modifying requests to utilize cache servers based on acquired setting information, the program enhances communication efficiency without altering network configurations, addressing the complexity of existing network adjustment requirements.
Patent Information
- Application Number
- JP2022189205
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-11-28
- Publication Date
- 2026-01-20
- Estimated Expiration
- 2042-11-28
AI Technical Summary
Existing technologies require changing the network configuration to improve communication efficiency, which can be cumbersome and complex, involving settings adjustments on server devices, routers, and switches.
A program that modifies requests from terminal devices to cache servers by acquiring and applying setting information, allowing terminal devices to access cache servers instead of origin servers, thereby reducing the load on origin servers and enhancing communication efficiency without altering network configurations.
This approach improves communication efficiency by allowing terminal devices to access cache servers efficiently, reducing the processing load on origin servers and optimizing network communication without requiring network configuration changes.
Smart Images

Figure 0007802285000001 
Figure 0007802285000002 
Figure 0007802285000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a program, a storage medium, a terminal device, a server processing method, and a server device. [Background technology]
[0002] Conventionally, there are known inventions that improve communication efficiency by caching content in devices on a network. Patent Document 1 describes a technology that preferentially assigns a node device to a group that is different from other adjacent node devices on the network topology, thereby avoiding concentration of access to original files, suppressing the overall communication volume, and efficiently utilizing the cache area. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent Publication No. 2019-20994 Summary of the Invention [Problem to be solved by the invention]
[0004] In order to improve the efficiency with which terminal devices access content, it is effective to use a cache server device. However, with the technology described in Patent Document 1, in order to improve communication efficiency, it is necessary to change the configuration of the network to which the terminal devices are connected. Changing the network configuration generally requires changing the settings of the server device, router, switch, etc., which may not be easy.
[0005] In view of the above, an object of the present invention is to improve the efficiency of communication. [Means for solving the problem]
[0006] A program according to one embodiment of the present invention causes a computer to function as an acquisition means for acquiring setting information associated with a specific element included in a file containing information regarding display content, and a modification means for modifying, based on the setting information, a first request to a first device into a second request to a second device that replicates and stores at least a portion of the information stored in the first device.
[0007] A storage medium according to another aspect of the present invention stores the above program.
[0008] A terminal device according to another aspect of the present invention includes a storage unit that stores the program, and a control unit that executes the program.
[0009] A server processing method according to another aspect of the present invention causes a computer to perform the steps of receiving from a terminal device a third request regarding configuration information for changing a first request to a first device into a second request to a second device that replicates and stores at least a portion of the information stored in the first device, and transmitting the configuration information in response to the third request.
[0010] A server device according to another aspect of the present invention includes a memory unit that stores setting information for changing a first request to a first device into a second request to a second device that stores a copy of at least a portion of the information stored in the first device, a receiving unit that receives a third request from a terminal device, and a transmitting unit that transmits the setting information in response to the third request. [Effects of the Invention]
[0011] According to the present invention, communication can be made more efficient. [Brief explanation of the drawings]
[0012] [Figure 1] FIG. 1 is a functional block diagram of a system according to an embodiment of the present invention. [Figure 2] FIG. 2 is a diagram illustrating an example of the operation of the system according to the present embodiment. [Figure 3] FIG. 10 is a diagram illustrating an example of the operation of the terminal device according to the present embodiment. [Figure 4] FIG. 10 is a diagram illustrating an example of the operation of the terminal device according to the present embodiment. [Figure 5] FIG. 10 is a diagram illustrating an example of the operation of the terminal device according to the present embodiment. [Figure 6] FIG. 10 is a diagram illustrating an example of the operation of the terminal device according to the present embodiment. [Figure 7] FIG. 10 is a diagram illustrating an example of the operation of the terminal device according to the present embodiment. [Figure 8] FIG. 10 is a diagram illustrating an example of the operation of the terminal device according to the present embodiment. [Figure 9] FIG. 10 is a diagram illustrating an example of an operation of the cache server device according to the embodiment. [Figure 10] FIG. 10 is a diagram illustrating an example of an operation of the cache server device according to the embodiment. [Figure 11] FIG. 10 is a diagram illustrating an example of an operation of the cache server device according to the embodiment. [Figure 12] FIG. 10 is a diagram for explaining the effect of the system according to the present embodiment. [Figure 13] FIG. 10 is a diagram for explaining the effect of the system according to the present embodiment. [Figure 14] FIG. 10 is a diagram for explaining the effect of the system according to the present embodiment. [Figure 15] FIG. 2 is a diagram illustrating an example of a hardware configuration according to the present embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0013] A preferred embodiment of the present invention (hereinafter referred to as the present embodiment) will be described with reference to the accompanying drawings. In each drawing, components with the same reference numerals have the same or similar configurations.
[0014] In this invention, the terms "unit," "means," "device," and "system" do not simply mean physical means, but also include cases where the functions of the "unit," "means," "device," or "system" are realized by software. Furthermore, the functions of one "unit," "means," "device," or "system" may be realized by two or more physical means, devices, or software, or the functions of two or more "units," "means," "device," or "system" may be realized by one physical means, device, or software.
[0015] <1. Overview of System 1> An overview of a system 1 according to this embodiment will be described with reference to Fig. 1. Fig. 1 is a functional block diagram of a system 1 according to this embodiment (hereinafter simply referred to as system 1). The system 1 includes a terminal device 2, a distribution server device 3, an origin server device 4, a cache server device 5, and a communication network 6.
[0016] A destination is associated with each device included in the system 1. The destination may be, for example, a URL (Uniform Resource Locator), a host name, a domain, an IP (Internet Protocol) address, or a MAC (Media Access Control) address. Each device can communicate with another device by specifying the destination of the other device.
[0017] The terminal device 2 is an electronic device that can communicate with other devices via a communication network 6. The terminal device 2 is, for example, a smartphone, a personal computer, a tablet terminal, a game console, or the like.
[0018] The origin server device 4 is a device that stores content and transmits a response (e.g., an HTTP response) including the content in response to a request (e.g., an HTTP (Hypertext Transfer Protocol) request) received from another device. The origin server device 4 can also be called a first device, a web server device, or a content server device. A response typically includes the content in the body portion (e.g., an HTTP response body). In this embodiment, the origin server device 4 is assumed to be a web server. That is, the terminal device 2 can receive web services by accessing the origin server device 4. In the following description, the request and response are assumed to be an HTTP request and an HTTP response, respectively.
[0019] The origin server device 4 may also distribute a program that changes information included in a request to the terminal device 2. The program that changes information included in a request is, for example, a service worker. The program that changes information included in a request may be one that executes the request change according to this embodiment based on setting information 510, which will be described later.
[0020] The cache server device 5 is a device that copies and stores at least a portion of the content stored in the origin server device 4. The cache server device 5 can also be called a second device or an edge server device. Like the origin server device 4, the cache server device 5 also transmits a response including content in response to a request received from another device. Note that if the cache server device 5 does not store the content corresponding to the request, it obtains the content from the origin server device 4 and then transmits the response.
[0021] The distribution server device 3 is a device that distributes information relating to the setting information 510 that is referenced by the change means 210 in response to a request from the terminal device 2. Distribution can also be called distribution.
[0022] The cache server device 5 and the distribution server device 3 are typically server devices installed by a different entity than the origin server device 4. For example, the origin server device 4 is installed by a web service provider, while the cache server device 5 and the distribution server device 3 are installed by a party that supports the provision of web services.
[0023] In this embodiment, the terminal device 2 receives from the distribution server device 3 setting information 510 for changing a request to the origin server device 4 to a request to the cache server device 5. As a result, the terminal device 2 accesses the cache server device 5 instead of the origin server device 4, reducing the processing load on the origin server device 4 and improving communication efficiency.
[0024] 2. Configuration of Terminal Device 2 and Distribution Server Device 3 The functions of each device included in the system 1 will be described in detail with reference to FIG.
[0025] [Terminal device 2] The terminal device 2 includes a control unit 20, a storage unit 22, and a network interface unit 24, which are electrically connected to each other via a bus .
[0026] The storage unit 22 includes various programs executed by the control unit 20, as well as a content information DB 220 and a setting information DB 222.
[0027] The content information DB 220 stores information about content included in the response received by the receiving means 204. The content is, for example, text information (including HTML (Hyper Text Markup Language) files, CSS (Cascading Style Sheet) files, JavaScript files, etc.), video information (including video information and image information), audio information, etc.
[0028] The setting information DB 222 stores setting information 510 that is referenced by the changing means 210. The setting information 510 includes information relating to the correspondence between the destination of the origin server device 4 and the destination of the cache server device 5.
[0029] The control unit 20 functions as a generating means 200, a transmitting means 202, a receiving means 204, a displaying means 206, an acquiring means 208, a changing means 210, an input / output means 212, and a communicating means 214 by executing various programs stored in the memory unit 22.
[0030] The generating means 200 generates a request. The request includes a start line (including an HTTP method, destination, and HTTP version), a request header, and a request body. The request is generated, for example, when the terminal device 2 attempts to access a specific website using web browser software.
[0031] The transmitting means 202 transmits the request generated by the generating means 200 to another device.
[0032] The receiving means 204 receives a response from another device, the response including content corresponding to the request sent by the sending means 202. The response includes a status line, a response header, and a response body. The response body typically includes an HTML file.
[0033] The display means 206 generates image information based on the response received by the receiving means 204, and displays the information on the display device 710 (see FIG. 15). The display means 206 can also be called a renderer or a rendering engine.
[0034] The acquiring unit 208 acquires the setting information 510 from the information included in the response received by the receiving unit 204. The information included in the response is, for example, information associated with a tag in an HTML file. The acquiring unit 208 acquires the setting information 510 from the distribution server device 3 associated with the tag, for example, by expanding the tag included in the HTML file.
[0035] The change means 210 changes at least a part of the information included in the request based on the setting information 510 acquired by the acquisition means 208. The change means 210 changes, for example, the destination included in the request. A specific example of the operation of the change means 210 will be described later using FIG. 4 etc.
[0036] The input / output means 212 causes the input device and output device included in the terminal device 2 to function. The input device is a device or element that can convert a physical stimulus given by a user into an electrical signal. Examples of the input device include a touch panel, a button, a keyboard, a mouse, a microphone, a camera, and a sensor (e.g., an acceleration sensor, a gyro sensor, and a vibration sensor). The output device is a device or element that can convert an electrical signal into a physical phenomenon that can be perceived by humans. Examples of the output device include a display, a speaker, and an actuator (including a vibration unit).
[0037] The communication means 214 communicates with other devices via the network interface unit 24 .
[0038] The network interface unit 24 communicates with other devices via the communication network 6 .
[0039] [Origin server device 4] The origin server device 4 includes a control unit, a storage unit, and a network interface unit, all of which are electrically connected via a bus (none of which are shown).
[0040] The storage unit of the origin server device 4 stores various information (executable files, image information, video information, HTML files, CSS files, JavaScript files, etc.) for providing web services.
[0041] The control unit of the origin server device 4 functions as a receiving means and a transmitting means by executing various programs stored in the storage unit. The receiving means of the origin server device 4 receives a request from the terminal device 2 or the cache server device 5, and the transmitting means transmits a response in response to the request.
[0042] [Cache server device 5] The cache server device 5 includes a control unit, a storage unit, and a network interface unit, which are electrically connected to each other via a bus (none of which are shown).
[0043] The storage unit of the cache server device 5 replicates and stores at least a portion of the information stored in the storage unit of the origin server device 4.
[0044] The control unit of the cache server device 5 executes various programs stored in the storage unit, thereby functioning as a receiving means, a control means, and a transmitting means. The receiving means of the cache server device 5 receives a request from the terminal device 2, and the transmitting means transmits a response in response to the request. Furthermore, when there is a request for content that the cache server device 5 does not store, the transmitting means of the cache server device 5 transmits a request to receive the content to the origin server device 4. Furthermore, the control means of the cache server device 5 controls the process of storing information based on cache server control information 524 received from the terminal device 2.
[0045] [Distribution server device 3] The distribution server device 3 includes a control unit 30, a storage unit 32, and a network interface unit , which are electrically connected to each other via a bus .
[0046] The storage unit 32 includes various programs executed by the control unit 30 as well as a setting information DB 320 .
[0047] The setting information DB 320 stores setting information 510 to be transmitted to the terminal device 2. When multiple origin server devices 4 exist in the system 1, the setting information DB 320 typically stores setting information 510 corresponding to each of the multiple origin server devices 4. For example, the setting information DB 320 separately stores setting information 510 corresponding to an origin server device 4 managed by website operator A and setting information 510 corresponding to an origin server device 4 managed by website operator B.
[0048] The control unit 30 executes various programs stored in the storage unit 32 to function as a receiving unit 300 , a transmitting unit 302 , and a communicating unit 304 .
[0049] The receiving means 300 receives a request for transmitting the setting information 510 from the terminal device 2 .
[0050] In response to the request received by the receiving means 300, the transmitting means 302 transmits information relating to the setting information 510 to the terminal device 2. The transmitting means 302 transmits information relating to the setting information 510 read from the setting information DB 320.
[0051] The information related to the setting information 510 may be the setting information 510 or a predetermined program for acquiring the setting information 510. The predetermined program is a program that can generate a request for acquiring the setting information 510 by executing it.
[0052] The communication means 304 communicates with other devices via the network interface unit 34 .
[0053] The network interface unit 34 communicates with other devices via the communication network 6 .
[0054] <3. System 1 Operation> An example of the operation of various devices included in the system 1 will be described with reference to Figures 2-11. Figure 2 is a sequence diagram for explaining the operation of the terminal device 2, distribution server device 3, origin server device 4, and cache server device 5. Figure 3 is a diagram for explaining the operation of acquiring setting information 510 based on the tag of the HTML file 400. Figure 4-8 is a diagram for explaining the operation of the change means 210. Figures 9-11 are diagrams for explaining the operation of the cache server device 5 that has received a request.
[0055] [Operation in which the terminal device 2 acquires the setting information 510 (S1-10)] FIG. 2 is a diagram for explaining an example of the operation of various devices included in the system 1.
[0056] First, the terminal device 2 generates a request to the origin server device 4 by the generating means 200 (S1). In this example, it is assumed that the generating means 200 generates a request including a destination "https: / / origin_example.com / toppage".
[0057] After S1, the terminal device 2 transmits the request using the transmitting means 202 (S2). In this example, the terminal device 2 transmits a request including the destination "https: / / origin_example.com / toppage". That is, the request is for obtaining information about the top page (corresponding to "toppage") of a website from the origin server device 4 associated with the domain "origin_example.com". In S2, the origin server device 4 receives the request using the receiving means 300.
[0058] After S2, the origin server device 4 transmits a response including content corresponding to the request (S4). In this example, the content is an HTML file 400. The HTML file 400 corresponds to the request transmitted in S2 (i.e., is for displaying the top page of the website). In S4, the terminal device 2 receives the response via the receiving means 204.
[0059] 3 is a diagram showing an example of an HTML file 400 received by the terminal device 2. The HTML file 400 includes an html tag 402, a head tag 404, a title tag 406, a script tag 408, and a body tag 410. The format of the HTML file 400 may comply with web standards.
[0060] After S4, the terminal device 2 displays the contents of the HTML file 400 included in the response on the display device 710 using the display means 206 (S6).
[0061] After S6, the terminal device 2 acquires the setting information 510 by the acquiring means 208, as in S8-10 shown below. In this example, the acquiring means 208 acquires the setting information 510 from the distribution server device 3 associated with the destination described in the script tag 408 included in the HTML file 400. In this way, the setting information 510 is typically information associated with specific elements (e.g., the script tag 408, head tag, body tag, title tag, br tag, p tag, div tag, other HTML tags, etc.) included in a file (e.g., the HTML file 400, etc.) that includes information related to the display content.
[0062] Note that information associated with a specific element includes information uniquely determined from the specific element. Specifically, the fact that the setting information 510 is associated with a specific element means that the terminal device 2 can acquire the setting information 510 corresponding to the specific element based on the specific element. The setting information 510 is said to be associated with the specific element even if the terminal device 2, for example, continuously queries one or more server devices (including a web server device) based on the specific element and acquires the setting information 510 as a result. The setting information 510 is also said to be associated with the specific element even if the terminal device 2, for example, downloads a specific program based on the specific element and executes the program to acquire the setting information 510. The setting information 510 is also said to be associated with the specific element even if the terminal device 2, for example, acquires the setting information 510 included in a file containing information about the display content (for example, written in an arbitrary tag in the HTML file 400) based on the specific element. In other words, the setting information 510 may be included in a file containing information about the display content.
[0063] The terminal device 2 generates and transmits a request including the destination "https: / / distribution_example.com" written in the script tag 408 (S8). In S8, the receiving means 300 of the distribution server device 3 receives the request.
[0064] After S8, the distribution server device 3 transmits a response including content corresponding to the request via the transmission means 302 (S10). In this example, the content is the setting information 510. In S10, the terminal device 2 receives the response including the setting information 510.
[0065] In the present embodiment, the terminal device 2 has been described as acquiring the setting information 510 through the processing of S1-10, but this is not limiting. The setting information 510 may be stored in the setting information DB 222 at the time of shipping the terminal device 2 from the factory. Alternatively, the setting information 510 may be broadcast from the distribution server device 3 to a plurality of terminal devices 2, without being based on a request from the terminal device 2 (see S8).
[0066] Furthermore, in the present embodiment, the terminal device 2 has been described as receiving a response including the configuration information 510 in S10, but this is not limiting. The terminal device 2 may acquire the configuration information 510 by, for example, executing a predetermined program included in the response received in S10. The predetermined program may be a program that generates a request for acquiring the configuration information 510 from a server device (for example, the distribution server device 3, the cache server device 5, the origin server device 4, or a server device that distributes the configuration information 510). Alternatively, if the origin server device 4 sends the configuration information 510 instead of the distribution server device 3, the configuration information 510 may be included in the HTML file 400 received by the terminal device 2 in S4. In this case, the processes of S8-S10 for acquiring the configuration information 510 may not be executed.
[0067] [Operation in which the terminal device 2 changes the request based on the setting information (S12-16)] After S10, the terminal device 2 generates the first request 500 by the generating means 200 (S12). In this example, it is assumed that the generating means 200 generates a request including a destination "https: / / origin_example.com / product".
[0068] After S12, the terminal device 2 changes the first request 500 to the second request 520 by the change means 210 (S14). In this example, it is assumed that the terminal device 2 has stored in the storage unit 22 a program for changing the request by S14.
[0069] Figures 4-8 are diagrams for explaining the details of S14. Figure 4 is a conceptual diagram of the relationship between the first request 500, setting information 510, and second request 520 in S14. Figure 5 is a flowchart for explaining the details of S14. Figures 6-7 are diagrams for explaining an example of information that the change means 210 refers to when changing the destination of a request. Figure 8 is a diagram for explaining an example of information that the change means 210 adds to a request.
[0070] FIG. 4 is a diagram for explaining an outline of the operation of the change means 210 in S14.
[0071] The first request 500 includes a first destination 502 of "https: / / origin_example.com / product." That is, the first request 500 is for acquiring a list of product information (corresponding to product) from the origin server device 4 associated with the domain "origin_example.com."
[0072] The setting information 510 includes destination change rules 512 (including a destination list to be changed 512a, a destination list after change 512b, and a destination list excluding change 512c) and information 514 to be added to the first request 500.
[0073] The change means 210 changes the first request 500 to a second request 520 based on the setting information 510. Specifically, the change means 210 changes the first destination 502 of the first request 500 to a second destination 522 (corresponding to "https: / / cache_example.com / product") of the second request 520 based on the destination change rule 512. That is, the second request 520 is for acquiring a list of product information (corresponding to product) from the cache server device 5 associated with the domain "cache_example.com".
[0074] Furthermore, the change means 210 adds cache server control information 524 based on the information 514 to be added to the first request 500. The cache server control information 524 is information related to the operation of the cache server device 5. A specific example of the cache server control information 524 will be described later with reference to FIG. 8.
[0075] 5 is a flowchart for explaining a specific method for realizing the operation of the change means 210 in S14. That is, S140-146 in FIG. 5 are included in S14 in FIG.
[0076] First, the terminal device 2 determines whether the first destination 502 is included in the change-target destination list 512a (S140).
[0077] 6 shows an example of the change-target destination list 512a and the changed destination list 512b. As described above, the setting information 510 includes information associating the first destination 502 with the second destination 522. In this example, if at least a portion of the first destination 502 matches any of the destinations listed in the change-target destination list 512a, the first destination 502 is determined to be included in the change-target destination list 512a. The changed destination list 512b will be described later in S144.
[0078] 6, the list of destinations to be changed 512a includes "origin_example.com" and "origin2_example.com." In contrast, "https: / / origin_example.com / product" at least partially matches "origin_example.com." Therefore, it is determined that the first destination 502 is included in the list of destinations to be changed 512a (YES in S140). Note that if it is determined that the first destination 502 is not included in the list of destinations to be changed, the change means 210 does not change the first request (NO in S140).
[0079] If it is determined that the first destination 502 is included in the change-target destination list 512a (YES at S140), the terminal device 2 determines whether the first destination 502 is included in the change-exclusion destination list 512c (S142).
[0080] 7 is a diagram showing an example of the change exclusion destination list 512c. In this example, if at least a part of the first destination 502 matches any of the destinations listed in the change exclusion destination list 512c, the first destination 502 is determined to be included in the change exclusion destination list 512c.
[0081] 7, the change exclusion destination list 512c includes "origin_example.com / mypage" and "origin_example.com / payment." In contrast, "https: / / origin_example.com / product" does not have any parts that match "origin_example.com / mypage" or "origin_example.com / payment." Therefore, it is determined that the first destination 502 is not included in the change exclusion destination list 512c (S142 NO). Note that if it is determined that the first destination 502 is included in the change exclusion destination list, the change means 210 does not change the first request (S142 YES).
[0082] Personal user information such as membership information and payment information should be kept secret from anyone other than legitimate users, and such information is typically not stored in the cache server device 5. Therefore, it is desirable for the modification means 210 to leave requests that satisfy predetermined rules as they are intended for the origin server device 4, rather than modifying them to those intended for the cache server device 5. This allows the terminal device 2 to flexibly use the cache server device 5 and the origin server device 4 depending on the nature and attributes of the information required.
[0083] If it is determined that the first destination 502 of the first request 500 is not included in the change exclusion destination list 512c (S142 NO), the terminal device 2 changes the first destination 502 of the first request 500 based on the changed destination list 512b (S144).
[0084] 6 shows the correspondence relationship between the change-target destination list 512a and the change-target destination list 512b. Specifically, the change-target destination list 512a shows destinations before the change, and the change-target destination list 512b shows destinations after the change corresponding to each row. In this example, the first destination 502 matches the row "origin_example.com" (see S140), so "cache_example.com" becomes the change-target destination. That is, the terminal device 2 changes "https: / / origin_example.com / product" to "https: / / cache_example.com / product."
[0085] After S144, the terminal device 2 adds cache server control information 524 to the first request 500 based on the information 514 to be added to the first request 500 (S146). The cache server control information 524 is added to the HTTP request body of the first request 500, for example.
[0086] The cache server control information 524 may be different for each request, or may be different for each user of the terminal device 2. In other words, the change means 210 may add different cache server control information 524 depending on the type of request.
[0087] FIG. 8 is a diagram illustrating an example of the cache server control information 524. In this example, the cache server control information 524 includes items such as "Number of seconds for the content deletion timer," "Type of content to be cached," and "Compression format when caching content," and these items are associated with the setting values of "120 seconds," "Video, Image," and "Low quality mode for video, Medium quality mode for image." That is, the second request 520 is set based on the setting information 510 and includes information related to the operation of the cache server device 5 (corresponding to the cache server control information 524). The information related to the operation of the cache server device 5 may also include information related to at least one of the length of time for which content is to be retained in the storage unit, the type of content to be stored, and the compression format for storing the content. An example of the operation of the cache server device 5 that has received the cache server control information 524 in this example will be described later with reference to FIGS. 9 and 10.
[0088] After S146 (i.e., after S14), the terminal device 2 transmits a second request 520 via the transmitting means 202 (S16). In this example, the second request 520 includes a destination of "https: / / cache_example.com / product". That is, the request is for obtaining information about product information (corresponding to product) from a cache server device 5 associated with the domain "cache_example.com". In S16, the cache server device 5 receives the second request 520.
[0089] The setting information 510 may be different for each user. Specifically, the distribution server device 3 can improve communication efficiency by transmitting the setting information 510 including a different changed destination list 512b for each user. For example, if the setting information 510 in which "cache_example.com" is associated with "origin_example.com" is transmitted to the terminal device 2 of user A and the setting information 510 in which "cache_example.net" is associated with "origin_example.com" is transmitted to the terminal device 2 of user B, the terminal device 2 of user A transmits the second request 520 to the cache server device 5 corresponding to "cache_example.com," and the terminal device 2 of user B transmits the second request 520 to another cache server device 5 corresponding to "cache_example.net." In other words, the distribution server device 3 transmits the setting information 510 including a different changed destination list 512b for each user, thereby allowing each of the multiple terminal devices 2 to access a different cache server device 5. This makes it possible to distribute the processing load of the cache server device 5 without introducing a network device such as a load balancer.
[0090] [Operation of the cache server device 5 sending a response (S18-22)] After S16, the cache server device 5 executes a process related to the response (S18). The process related to the response includes transmitting the response (see S186 and S192 described later).
[0091] 9 is a diagram illustrating an example of the operation of the cache server device 5 that executes the process related to the response (S18). That is, S182-194 in FIG. 9 are included in S18 in FIG.
[0092] First, the cache server device 5 reads the cache server control information 524 from the second request 520 (S182). The cache server device 5 performs processing related to caching of content based on the information included in the cache server control information 524. A specific example of processing related to caching of content will be described later in S194. Note that caching is one form of storage.
[0093] After S182, the cache server device 5 determines whether the content corresponding to the second request 520 exists in the storage unit (S184).
[0094] If the content corresponding to the second request 520 does not exist in the storage unit (S184 NO), the cache server device 5 acquires the content from the origin server device 4 (S190). Specifically, the cache server device 5 transmits a request for the content corresponding to the second request 520 to the origin server device 4, and receives a response corresponding to the request from the origin server device 4. In this way, when the cache server device 5 receives the second request 520 but does not store the content corresponding to the request, the cache server device 5 may acquire the content from the origin server device 4.
[0095] After S190, the cache server device 5 transmits a response including the content to the terminal device 2 (S192). In this example, the response includes an HTML file and image information. In S192, the terminal device 2 receives the response. In this way, the response received by the terminal device 2 may include the content that the cache server device 5 obtained from the origin server device 4 in response to the second request 520.
[0096] Generally, the larger the storage capacity of a storage unit, the slower the read / write speed (e.g., a hard disk drive), and the smaller the storage capacity, the faster the read / write speed (e.g., a memory, cache memory, etc.). That is, in order for the cache server device 5 to read and write content at high speed, a storage unit with a relatively small storage capacity is desirable. On the other hand, if the storage capacity is small, only a portion of the content stored in the origin server device 4 can be stored. Therefore, by configuring the cache server device 5 to appropriately obtain content from the origin server device 4, the cache server device 5 can respond quickly to the terminal device 2 and respond to requests for various types of content at the same time.
[0097] After S192, the cache server device 5 executes processing related to content caching (S194). The processing related to content caching is processing for determining whether or not to cache the content acquired in S190 and, if cached, how to store the content. The processing related to content caching is controlled based on the cache server control information 524.
[0098] 10 is a diagram illustrating an example of the operation of the cache server device 5 in the process related to caching of content (S194). That is, S196-204 in FIG. 10 are included in S194 in FIG.
[0099] First, the cache server device 5 determines the type of content (S196). The value "video, image" is set for the item "type of content to cache" in the cache server control information 524. Therefore, the cache server device 5 determines to cache video information and image information (S196 video, S196 image), but not to cache other information (e.g., text information) (S196 other). In this example, since the response received in S192 includes an HTML file and image information, it determines to cache the image information and not to cache the HTML file.
[0100] By including information about the types of content to be cached in the cache server control information 524, the cache server device 5 can effectively utilize the storage capacity of its own device. For example, if the content of a web service includes text information and image information, and the image information is the main content with the text information playing only a supporting role, by limiting the type of content to be cached to image information only, it is possible to cache content that is important to the web service preferentially.
[0101] After S196, the cache server device 5 compresses the content (S198 or S200). The cache server control information 524 has a setting for the “Compression format when caching content”: “Low quality mode for video, Medium quality mode for image.” Therefore, if the content is video information (S196: Video), the cache server device 5 compresses the content in low quality mode (S198). Furthermore, if the content is image information (S196: Image), the cache server device 5 compresses the content in medium quality mode (S200). The low quality mode and medium quality mode are setting values related to the image quality maintained after compression. When the compression format is low quality mode, the size of the data file of the compressed content is significantly smaller. When the compression format is medium quality mode, the size of the data file of the compressed content is larger than when the compression format is low quality mode. For example, when a data file of a 1 GB video is compressed in low quality mode, the size becomes approximately 0.1 GB, whereas when compressed in medium quality mode, the size becomes approximately 0.5 GB. The compression format may be expressed by parameters including a Q factor.
[0102] The cache server control information 524 includes information about the compression format for caching content, which enables the cache server device 5 to efficiently transmit responses to the terminal device 2. For example, when the value of the "Type of content to cache" item is "Image," if the image associated with the image information to be cached is of low image quality, a large amount of image information can be cached even if the compressed data file size is large. Furthermore, a compression format with a relatively large compressed data file size requires fewer calculations for decompression, so a response can be efficiently transmitted to the terminal device 2 even if the compressed data file size is relatively large. On the other hand, if the image associated with the image information to be cached is of high image quality, a compression format with a small compressed data file size can cache more image information, which eliminates the need to obtain content from the origin server device 4. Therefore, a compression format with a small compressed data file size can efficiently transmit responses to the terminal device 2. In this way, the change means 210 sets the compression format for caching content according to the nature and attributes of the content, thereby enabling efficient transmission of responses to the terminal device 2.
[0103] After S198 or S200, the cache server device 5 caches the compressed content (S202).
[0104] After S202, the cache server device 5 sets a content deletion timer (S204). A value of "120 seconds" is set in the item "Number of seconds for content deletion timer" of the cache server control information 524. Therefore, the cache server device 5 sets the content deletion timer to 120 seconds.
[0105] 11 is a diagram illustrating an example of the operation of the content deletion timer. The cache server device 5 periodically (for example, every second) executes the processes of S206-208 in FIG. 11 for each of the multiple pieces of content stored in the storage unit to determine whether to delete the content.
[0106] First, the cache server device 5 determines whether the content deletion timer set for the content has reached zero (S206). If the content deletion timer has reached zero at that point (S206 YES), the cache server device 5 deletes the content (S208). On the other hand, if the content deletion timer has not reached zero (S206 NO), the cache server device 5 waits until the next cycle without deleting the content.
[0107] The cache server device 5 sets the content deletion timer to 120 seconds in S204, so that the content is deleted, in principle, when 120 seconds have elapsed since it was cached.
[0108] The above is an example of the operation of the cache server device 5 in the process related to the caching of content (S194).
[0109] As in S194, by the cache server device 5 performing processing related to content caching based on the cache server control information 524, a web service provider (or a person assisting in the provision of such a service) can control the operation in accordance with the requirements of the web service. For example, if the web service provided by the origin server device 4 places more importance on displaying text information as quickly as possible rather than video information and image information, the web service provider (or a person assisting in the provision of such a service) can configure the distribution server device 3 to send the configuration information 510 such that the item "Type of content to cache" in the cache server control information 524 is set to "text."
[0110] The cache server control information 524 may be transmitted from the distribution server device 3 to the cache server device 5, for example. However, as in this embodiment, by configuring the terminal device 2 that has received the setting information 510 from the distribution server device 3 to transmit the cache server control information 524 to the cache server device 5, it is possible to control the cache server device 5 in more detail. Specifically, the cache server control information 524 may be different for each user of the terminal device 2, or may be different for each request even for the same user, so that the cache server device 5 can be controlled in detail according to the attributes of the user and the content related to the request.
[0111] By including information regarding the number of seconds for the content deletion timer in the cache server control information 524, the cache server device 5 can effectively utilize its own storage capacity. For example, if a website selling a certain product has a product list page and a page with details about each product, the modification means 210, which references the cache server control information 524, may set the content deletion timer to 120 seconds for a request to display the product list page and to 10 seconds for a request to display the product detail page. Generally, when a user of a terminal device 2 browses a website about a certain product, each user will access a page such as a product list multiple times, so it is desirable to set a relatively long content deletion timer. On the other hand, for each product detail page, each user tends to access it only once or not at all, so it is desirable to set a relatively short content deletion timer. In this way, the modification means 210 can effectively utilize the storage capacity of the cache server device 5 by setting the content deletion timer based on the user's tendency to access each content. The cache server control information 524 may also include information regarding the setting rules for such content deletion timers.
[0112] So far, we have explained the case where the content corresponding to the second request 520 does not exist in the storage unit (S184 NO). On the other hand, if the content corresponding to the second request 520 exists in the storage unit (S184 YES), the cache server device 5 transmits a response including the content (S186). In this example, the response includes an HTML file and image information.
[0113] In this way, if the cache server device 5 stores the content, the origin server device 4 does not need to send a response. This reduces the processing load on the origin server device 4 and improves communication efficiency. That is, the modifying means 210 modifies the first request 500 to the second request 520 (see FIG. 4), thereby reducing access to the origin server device 4 and improving communication efficiency.
[0114] If the system 1 includes a plurality of terminal devices 2 that store the setting information 510, the cache server device 5 may transmit the content cached in response to a request from one of the terminal devices 2 (see S190-194) to the other terminal device 2 that sent the request for the content. By sharing the cached content among a plurality of terminal devices 2 in this manner, even when the cache server device 5 receives multiple requests for the same content, the origin server device 4 is only accessed once, thereby further reducing the processing load on the origin server device 4.
[0115] After S186, the cache server device 5 initializes a content deletion timer for the content included in the response (S188). In this example, the initial value of the content deletion timer is 120 seconds, so the cache server device 5 sets the content deletion timer to 120 seconds. In other words, if there is no request for the content for 120 consecutive seconds or more, the cache server device 5 deletes the content. In this way, the cache server device 5 may store the content for a predetermined period and delete the content after the predetermined period has elapsed.
[0116] As described above, it is desirable for the cache server device 5 to store content in a storage unit with a relatively small storage capacity and high read / write speed. Therefore, the cache server device 5 determines that content that has not been requested for a predetermined period of time since it was stored has a low priority for being retained in the storage unit, and deletes such content as appropriate. By configuring the cache server device 5 in this way, it becomes possible to store a large amount of content that has a high priority for retention (i.e., content that is frequently requested). This makes it possible to send responses to the terminal device 2 more efficiently.
[0117] After S188 or S194 (that is, after S18), the terminal device 2 displays information on the screen using the display means 206 based on the content included in the response (S22).
[0118] To summarize the above, a program according to one embodiment of the present invention causes a computer to function as an acquisition means 208 that acquires setting information 510 associated with a specific element contained in a file containing information related to display content (see S6-10 in particular), and as a modification means 210 that, based on the setting information, modifies a first request 500 to a first device (corresponding to an origin server device 4) into a second request 520 to a second device (corresponding to a cache server device 5) that replicates and stores at least a portion of the information stored in the first device (see S12-14 in particular).
[0119] In addition, a distribution server device 3 according to another aspect of the present invention includes a memory unit 32 that stores configuration information 510 for changing a first request 500 to a first device (corresponding to an origin server device 4) into a second request 520 to a second device (corresponding to a cache server device 5) that stores a copy of at least a portion of the information stored in the first device, a receiving unit 300 that receives a third request from the terminal device 2, and a transmitting unit 302 that transmits the configuration information 510 in response to the third request (see S8-10 in particular).
[0120] <4. Effect of the Invention> According to one embodiment of the present invention, it is possible to easily and efficiently provide web services to terminal device 2. Specifically, according to one embodiment of the present invention, it is possible to have terminal device 2 access cache server device 5 instead of origin server device 4, with almost no change to the configuration of the server device and network on the web service provider side. This makes it possible to distribute the processing load related to responses to terminal device 2 between origin server device 4 and cache server device 5, making it possible to respond to multiple requests efficiently. Below, typical effects of one embodiment of the present invention will be described with reference to Figures 12-14.
[0121] 12 is a diagram showing a system 1a including a terminal device 2 and an origin server device 4. In the system 1a, the terminal device 2 transmits requests to the origin server device 4 and receives responses to the requests. In the system 1a, the origin server device 4 must transmit responses to all requests from the terminal device 2. In other words, the processing load on the origin server device 4 is heavy in the system 1a, making efficient communication impossible.
[0122] 13 is a diagram showing a system 1b including a terminal device 2, an origin server device 4, and a reverse proxy server device 7. Typically, the origin server device 4 and the reverse proxy server device 7 are managed by a web service provider. In order to reduce the processing load on the origin server device 4, it is effective to install a new reverse proxy server device 7 between the communication network 6 and the origin server device 4 and use the cache function of the reverse proxy server device 7, as shown in FIG.
[0123] However, in order to change from system 1a to system 1b, the web service provider needs to make significant changes to the configuration of the server devices and network that it manages. Changing the configuration of the server devices and network involves, for example, disconnecting the cache server device 5 from the communication network 6, or connecting the reverse proxy server device 7 to the communication network 6 and the cache server device 5. Making such configuration changes is particularly difficult when the configuration of the network that the web service provider manages is complex.
[0124] On the other hand, one embodiment of the present invention aims to improve communication efficiency by controlling the settings of the terminal device 2, which is the source of the access, rather than changing the network configuration, etc. of the destination of the access from the terminal device 2 (i.e., the object managed by the web service provider) as in system 1b.
[0125] Figure 14 is a schematic diagram of the system 1 according to one embodiment of the present invention described with reference to Figure 1. In this example, the origin server device 4 is managed by a web service provider, and the distribution server device 3 and cache server device 5 are managed by a person who supports the provision of web services. According to one embodiment of the present invention, the web service provider can allow the terminal device 2 to access the cache server device 5 without making any significant changes to the configuration of the network under their management.
[0126] Specifically, in this embodiment, the terminal device 2 obtains the setting information 510 from the distribution server device 3 using the HTML file 400 received when the terminal device 2 first accesses the origin server device 4 (see S1-4) (see S6-10), and based on this, changes the first request 500 to the second request 520 (see FIG. 4). Therefore, according to this method, a web service provider can have the terminal device 2 access the cache server device 5 and provide web services efficiently by simply editing the HTML file of their own website or the like (for example, by adding one line of a script tag including the URL of the distribution server device 3).
[0127] The application of the present invention is not limited to web services, and similar effects can be obtained for any service in which a server device sends response information (including an HTTP response) in response to some request information (including an HTTP request) sent by a terminal device 2.
[0128] In the above description, it has been assumed that the origin server device 4 is managed by a web service provider, and the distribution server device 3 and the cache server device 5 are managed by a party that supports the provision of the web service, but at least one of the distribution server device 3 and the cache server device 5 may be managed by the web service provider. In other words, the present invention is effective regardless of the management entity of each device.
[0129] As described above, according to one embodiment of the present invention, communication efficiency can be easily improved even when each device in system 1 is managed by a web service provider. For example, when a web service provider introduces a reverse proxy server device 7 into a system like system 1b (see FIG. 13), it is necessary to temporarily disconnect the origin server device 4 from the communication network 6, and the functions of the origin server device 4 must be temporarily stopped. If the network managed by the web service provider has a complex configuration, stopping the origin server device 4 may have a significant impact on system 1b. On the other hand, the distribution server device 3 and the cache server device 5 can be managed in an environment independent of the environment that includes the origin server device 4, and can be introduced into the system without affecting the operation of the origin server device 4. Therefore, according to one embodiment of the present invention, communication efficiency can be easily improved.
[0130] <5. Hardware Configuration> 15, an example of a hardware configuration in which the above-described terminal device 2 and distribution server device 3 are realized by a computer 70 will be described. Note that the functions of each device can also be realized by dividing them into multiple devices.
[0131] As shown in FIG. 15, a computer 70 includes a processor 700 , a storage device 702 , an input I / F 704 , a data I / F 706 , a communication I / F 708 , and a display device 710 .
[0132] The processor 700 controls various processes in the computer 70 by executing programs stored in the storage device 702. For example, each functional unit included in the control unit 20 of the terminal device 2 can be realized by the processor 700 executing the programs stored in the storage device 702.
[0133] The storage device 702 is a storage medium such as a RAM (Random Access Memory), etc. The RAM temporarily stores the program code of the program executed by the processor 700 and data required when the program is executed.
[0134] The storage device 702 may also be a non-volatile storage medium such as a hard disk drive (HDD) or flash memory. The storage device 702 stores an operating system and various programs for implementing the above-described configurations. The storage medium storing the various programs may be a non-transitory computer-readable medium. The storage device 702 may also store a table for registering various information such as business information, and a DB for managing the table. Such programs and data are loaded into the storage device 702 as needed and referenced by the processor 700.
[0135] The input I / F 704 is a device for receiving input from a user. Specific examples of the input I / F 704 include a camera, a button, a microphone, a keyboard, a mouse, a touch panel, various sensors, and a wearable device. The input I / F 704 may be connected to the computer 70 via an interface such as a USB (Universal Serial Bus).
[0136] The data I / F 706 is a device for inputting data from outside the computer 70. A specific example of the data I / F 706 is a drive device for reading data stored in various storage media. The data I / F 706 may be provided outside the computer 70. In this case, the data I / F 706 is connected to the computer 70 via an interface such as a USB.
[0137] The communication I / F 708 is a device for performing data communication with devices external to the computer 70 via the communication network 6, either wired or wirelessly. The communication I / F 708 may be provided external to the computer 70. In this case, the communication I / F 708 is connected to the computer 70 via an interface such as a USB.
[0138] The display device 710 is a device for displaying various types of information. Specific examples of the display device 710 include a liquid crystal display, an organic EL (Electro-Luminescence) display, and a display of a wearable device. The display device 710 may be provided outside the computer 70. In this case, the display device 710 is connected to the computer 70 via, for example, a display cable. Furthermore, when a touch panel is adopted as the input I / F 704, the display device 710 can be configured as an integral part of the input I / F 704.
[0139] Furthermore, the components of the terminal device 2 and distribution server device 3 described in the above embodiment are assumed to realize predetermined processing in cooperation with other hardware by the processor 700 executing a program stored in the storage device 702. In other words, these components are considered to be software or firmware, as well as corresponding hardware, and in both of these concepts, they are also referred to as "functions," "means," "parts," "processing circuits," "units," or "modules," and can be interpreted as such.
[0140] 6. EMBODIMENTS OF THE INVENTION The above-described embodiments are merely examples for explaining the present invention, and are not intended to limit the present invention to these embodiments. Furthermore, various modifications of the present invention are possible without departing from the spirit of the present invention. Furthermore, those skilled in the art can adopt embodiments in which the elements described below are replaced with equivalents, and such embodiments are also within the scope of the present invention. For example, in addition to the above-described embodiments, the following embodiments are also within the scope of the present invention.
[0141] [Appendix 1] A program according to one embodiment of the present invention causes a computer to function as an acquisition means 208 that acquires setting information 510 associated with a specific element contained in a file containing information regarding display content, and a modification means 210 that, based on the setting information, modifies a first request 500 to a first device (corresponding to an origin server device 4) into a second request 520 to a second device (corresponding to a cache server device 5) that replicates and stores at least a portion of the information stored in the first device.
[0142] [Appendix 2] In the above Supplementary Note 1, the configuration information 510 may include information associating a first destination 502 included in the first request 500 and associated with a first device, and a second destination 522 included in the second request 520 and associated with a second device.
[0143] [Appendix 3] The program described in Supplementary Note 1 or 2 above may further cause the computer to function as a sending means 202 that sends the second request 520, and a receiving means 204 that receives a response from the second device including content corresponding to the second request 520.
[0144] [Appendix 4] In Supplementary Note 3 above, the response may include content that the second device obtained from the first device in response to the second request 520.
[0145] [Appendix 5] In the above Supplementary Note 3 or 4, when the second device receives the second request 520 and does not store the content, the second device may obtain the content from the first device.
[0146] [Appendix 6] In any of Supplementary Notes 3 to 5 above, the second device may store the content for a predetermined period of time and delete the content after the predetermined period has elapsed.
[0147] [Appendix 7] In any of the above Supplementary Notes 1 to 6, the second request 520 may be set based on the setting information 510 and may also include information relating to the operation of the second device (corresponding to the cache server control information 524).
[0148] [Appendix 8] In the above Appendix 7, which is based on the above Appendix 6, the information regarding the operation of the second device (corresponding to cache server control information 524) may include information regarding at least one of the length of the specified period for storing the content, the type of content to be stored, and the compression method for storing the content.
[0149] [Appendix 9] In any of the above Supplements 1 to 8, the file may be obtained from the first device.
[0150] [Appendix 10] In any of the above Supplementary Notes 1 to 8, the file may be an HTML file 400, and the specific element may be a specific tag.
[0151] [Appendix 11] A storage medium according to another aspect of the present invention stores a program according to any one of Supplementary Notes 1 to 10 above.
[0152] [Appendix 12] A terminal device 2 according to another aspect of the present invention includes a storage unit 22 that stores a program according to any one of Supplementary Notes 1 to 10 above, and a control unit 20 that executes the program.
[0153] [Appendix 13] A server processing method according to another aspect of the present invention causes a computer to execute the steps of (S8) receiving from a terminal device a third request regarding configuration information 510 for changing a first request 500 to a first device (corresponding to an origin server device 4) to a second request 520 to a second device (corresponding to a cache server device 5) that replicates and stores at least a portion of the information stored in the first device, and (S10) transmitting the configuration information 510 in response to the third request.
[0154] [Appendix 14] A server device according to another embodiment of the present invention includes a memory unit that stores configuration information 510 for changing a first request 500 to a first device (corresponding to an origin server device 4) into a second request 520 to a second device (corresponding to a cache server device 5) that replicates and stores at least a portion of the information stored in the first device, a receiving unit 300 that receives a third request from a terminal device, and a transmitting unit 302 that transmits the configuration information 510 in response to the third request.
[0155] Furthermore, the configuration of system 1 is an example, and other configurations are also possible. Specifically, the functions of multiple devices may be realized by one device, or the functions of one device may be realized by a combination of multiple devices. For example, the functions of distribution server device 3 may be realized by origin server device 4. Alternatively, the functions of distribution server device 3 may be realized by cache server device 5. Alternatively, the functions of distribution server device 3 may be realized by a combination of multiple devices (for example, a combination of a database device corresponding to storage unit 32 and a control device corresponding to control unit 30). [Explanation of symbols]
[0156] 1...system, 2...terminal device, 3...distribution server device, 4...origin server device, 5...cache server device, 20, 30...control unit, 22, 32...storage unit, 200...generation means, 202, 302...transmission means, 204, 300...reception means, 206...display means, 208...acquisition means, 210...modification means, 400...HTML file, 500...first request, 510...setting information, 520...second request, 524...cache server control information
Claims
1. Computer, an acquisition means for acquiring setting information associated with a specific element included in a file containing information about display content; a changer for changing a first request to a first device into a second request to a second device that stores a copy of at least a portion of information stored in the first device, based on the setting information; A program that functions as a
2. The program according to claim 1 , wherein the setting information includes information associating a first destination included in the first request and associated with the first device with a second destination included in the second request and associated with the second device.
3. The computer a transmitting means for transmitting the second request; The program according to claim 1 , further functioning as a receiving means for receiving, from the second device, a response including content in response to the second request.
4. The program according to claim 3 , wherein the response includes content acquired by the second device from the first device in response to the second request.
5. The program according to claim 4 , wherein the second device acquires the content from the first device when the second request is received and the second device does not store the content.
6. The program according to claim 5 , wherein the second device stores the content for a predetermined period of time and deletes the content after the predetermined period has elapsed.
7. The program according to claim 6 , wherein the second request is set based on the setting information and includes information regarding an operation of the second device.
8. 8. The program according to claim 7, wherein the information relating to the operation of the second device includes information relating to at least one of the length of the predetermined period, the type of content to be stored, and a compression method for storing the content.
9. The program according to claim 1 , wherein the file is obtained from the first device.
10. the file is an HTML file, The program according to claim 1 , wherein the specific element is a specific tag.
11. A storage medium storing the program according to any one of claims 1 to 8.
12. a storage unit that stores the program according to any one of claims 1 to 8; a control unit that executes the program; A terminal device comprising:
13. On the computer, receiving, from a terminal device, a third request for setting information for changing a first request to a first device into a second request to a second device that copies and stores at least a portion of information stored in the first device; transmitting the setting information in response to the third request; A server processing method that executes the above.
14. a storage unit that stores setting information for changing a first request to a first device into a second request to a second device that copies and stores at least a portion of information stored in the first device; a receiving unit that receives a third request from the terminal device; a transmitting unit that transmits the setting information in response to the third request; A server device comprising:
Citation Information
Patent Citations
Optimized network resource location
JP2002503001A
Apparatus and method for processing data in a network
JP2005539314A
Information processing system, data transmission method and information processing apparatus
JP2018101184A
Network system, node device, cache method, and program
JP2019020994A
Redirection technique based control method for internet contents providing services and control system for the same
US20040187076A1