US20050246347A1 - Technique for enhancing effectiveness of cache server - Google Patents
Technique for enhancing effectiveness of cache server Download PDFInfo
- Publication number
- US20050246347A1 US20050246347A1 US11/165,492 US16549205A US2005246347A1 US 20050246347 A1 US20050246347 A1 US 20050246347A1 US 16549205 A US16549205 A US 16549205A US 2005246347 A1 US2005246347 A1 US 2005246347A1
- Authority
- US
- United States
- Prior art keywords
- priority
- section
- cache
- path
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5681—Pre-fetching or pre-delivering data based on network characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
Definitions
- the present invention relates to a cache server and a network system having cache servers.
- the invention particularly relates to a technique of performing prefetching of linked information (link prefetching) and the like with enhanced effectiveness of a cache server in high probabilities without deteriorating a congestion status of the network.
- a conventional network system having cache servers will be described with reference to FIG. 36 and FIG. 37 .
- FIG. 36 is a block diagram showing an example of the configuration of a conventional network system having cache servers.
- Web servers S 1 and S 2 are the servers that exist within sub-nets N 2 and N 3 , respectively, and hold various Web (Worldwide Web) contents.
- Terminals T 1 , T 2 and T 3 for accessing the Web servers S 1 and S 2 exist within sub-nets N 1 and N 4 .
- Cache servers C 1 , C 2 and C 3 are also disposed on the network.
- Routers R 0 , R 1 , R 2 , R 3 and R 4 connect the sub-nets N 1 , N 2 and N 3 using links L 0 to L 5 to form the network.
- the cache servers C 1 , C 2 and C 3 hold copies of various contents on the Web servers (here, S 1 and S 2 ).
- a terminal obtains the content from a Web server (assumed as S 1 in this case)
- a certain cache server (assumed as C 1 in this case) intermediates this operation.
- the cache server C 1 checks whether the cache server C 1 itself is holding the content information of the Web server S 1 or not.
- the cache server C 1 inquires other cache servers such as the cache servers C 2 and C 3 about whether these cache servers hold the content or not.
- the cache server C 1 obtains the content information from the cache server that holds the same, or obtains the same from the Web server that has originally held the content (such a Web server is called an original Webserver) before forwarding the obtained content to the terminal T 1 .
- the same content may also be held in a storage within the cache server C 1 .
- the cache server C 1 passes the content information to the terminal T 1 .
- the cache server C 1 When the cache server C 1 holds the content, the content is passed to the terminal T 1 .
- the cache server C 1 inquires the original Web server S 1 about the last update date and time of the content.
- the cache server C 1 may obtain the content from the original Web server S 1 again. This operation is hereafter called an update checking operation.
- the cache server (C 1 , C 2 or C 3 ) is also inquired from another cache server, not only from a terminal, about whether the cache server hold the content information or not.
- the operation in this case is similar to that of the intermediation in the access from the terminal to the Web server.
- this cache server checks whether the own cache server is holding the content information of the Web server or not.
- this cache server inquires other cache servers about whether these cache servers hold the content or not.
- the cache server obtains the content from the cache server that holds the content, or obtains the content information from the original Web server that has originally held the content.
- the cache server passes the content information to the cache server that has made the original inquiry.
- the same content may also be held in a storage at the same time.
- the cache server is holding the content, the content is passed to the cache server issuing the original inquiry.
- the update checking operation may be carried out.
- Each of the cache servers carries out the above operation. If the update checking operation is not carried out, then the cache server may be holding the content information older than that of the Web server (the content information that does not reflect the updating of the content carried out at the Web server), even when the cache server is holding the content information of the Web server for which there has been an access request. In this case, the old contents are sent to the terminal. When the cache server is holding the old content at the time of carrying out the update checking, it takes time for the terminal to obtain the updated content, because the cache server obtains the updated content from the original Web server again.
- the conventional cache server has carried out: 1) an automatic cache updating operation; 2) a link prefetching operation; and 3) a cache server cooperating operation.
- the automatic cache updating operation is the operation of obtaining the latest version of the Web content held by the cache server from the original Web server by making access to this original Web server.
- the link prefetching operation is the operation of previously obtaining the content information associated with links described in the Web content that is held by the cache server.
- the cache server cooperating operation is the operation of carrying out redistribution, sharing and comparison of freshness of caches held by cache servers, among the cache servers.
- the cache redistribution is the operation that a cache server that does not have a certain content obtains the content from another cache server that has the content.
- the cache sharing is the operation that when a cache server that does not have a certain content has received a request for making access to the content from a terminal, this cache server transfers this access request to a cache server that has the content.
- the cache freshness comparison is the operation that a cache server that has a certain content checks whether another cache server has the latest version of the that reflect the latest updating by the Web server, and obtains the latest version when necessary.
- the conventional cache servers have exchanged with each other a list of contents held by respective cache servers and information showing cache validity of contents held by each of the cache servers (called content summary).
- content summary information showing cache validity of contents held by each of the cache servers.
- FIG. 37 is a diagram showing an internal structure of the conventional cache server. Each circuit block will be described hereinafter.
- a communication interface section 1 provides a transmission/reception interface between a network and each of a cache operating section 3 , a congestion information obtaining section 2 , a link prefetching control section 4 , an automatic cache updating section 5 , and a cache server cooperating section 7 .
- the congestion information obtaining section 2 investigates congestion information on a path determined based on the content of a routing table to a destination on the network specified by the link prefetching control section 4 , the automatic cache updating section 5 , and the cache server cooperating section 7 , based on test communication to a specified destination through the communication interface section 1 .
- the congestion information obtaining section 2 passes the result of the investigation to the link prefetching control section 4 , the automatic cache updating section 5 , and the cache server cooperating section 7 .
- the cache operating section 3 receives a request for making access to the Web content from a terminal via the communication interface section 1 , and searches a storage 6 for the content. When the content does not exist, the cache operating section 3 makes access to a corresponding Web server, and obtains the content. The cache operating section 3 stores the obtained content in the storage 6 , and at the same time, transmits the content to the request-originating terminal. When the content exist, the cache operating section 3 transmits the content to the request-originating terminal. In the case of carrying out the update checking operation when the content exist, the cache operating section 3 checks whether the last update date and time of the held content is older than the last update date and time of the content held by the Web server. When the last update date and time of the held content is older, the cache operating section 3 obtains the content of the Web server, holds the obtained content in the storage 6 , and at the same time, passes the content to the terminal.
- the link prefetching control section 4 extracts links to content information which are now not stored in the storage 6 but have a possibility of making access thereto from now on, from the links to relevant information described in the Web content stored in the storage 6 .
- the link prefetching control section 4 extracts a first predetermined number of links to content information which are now not stored in the storage 6 from a plurality of links described in the content.
- the link prefetching control section 4 checks the load statuses of the network on paths to the Web servers that hold the contents indicated by the extracted links, by utilizing the congestion information obtaining section 2 . Then, the link prefetching control section 4 decides whether the contents indicated by the extracted links are obtainable, depending on the obtained load statues.
- the link prefetching control section 4 makes access to the corresponding web server, and obtains the content.
- the link prefetching control section 4 stores the obtained content in the storage 6 . Preset information may also be used for making this decision.
- the automatic cache updating section 5 investigates the intervals of updating of the content on the Web server where the content originally exist, for the Web content held in the storage 6 . Then, the automatic cache updating section 5 determines the date and time of updating the cached content. On the determined date and time, the automatic cache updating section 5 investigates the congestion status of the network on the path to the corresponding Web server that holds the content, by utilizing the congestion information obtaining section 2 . Then, the automatic cache updating section 5 decides based on the obtained congestion information whether the content is obtainable. When it has been decided that the content are obtainable, the automatic cache updating section 5 makes access to the corresponding Web server, and obtains the content. The obtained content is stored in the storage 6 . Preset information may also be used for making this decision.
- the storage 6 stores various Web contents and content summaries.
- the cache server cooperating section 7 exchanges with one another lists of contents held by the respective cache servers and validity information showing the validity of cache of the content held by each cache server, which are used to carry out redistribution, sharing and comparison of freshness.
- the cache server cooperating section 7 investigates the congestion status of the network on the path to an opposite cache server by using the congestion information obtaining section 2 .
- the cache server cooperating section 7 decides whether the information exchange is to be carried out,based on the obtained congestion information. As a result of the information exchange, the cache server cooperating section 7 finds out the content that should be obtained in advance from another cache server.
- the cache server cooperating section 7 investigates the congestion status of the network on the path to the cache server that holds the target content, by using the congestion information obtaining section 2 .
- the cache server cooperating section 7 decides whether the content is obtainable or not, based on the obtained information.
- the cache server cooperating section 7 obtains the content from the corresponding cache server.
- 1) the automatic cache updating operation, 2) the link prefetching operation, and 3) the cache server cooperating operation are performed to predict the Web content that is required by the terminal, and makes access to the Web server prior to the time when the terminal actually requires the content so as to increase the effectiveness of a cache server.
- these operations are not effective. Only the resources of the network are wasted. Therefore, in many cases, the traffic generated by these three operations is desired not to interrupt other traffics that are generated based on the actual needs of the Web servers by the terminals.
- Japanese Patent Application Unexamined Publication No. 11-24981 describes a technique of obtaining a relatively low traffic time zone in the wide-area network by using a wide-area network monitoring apparatus, and fetching the content in advance during the obtained time zone.
- the conventional techniques shown in FIG. 36 and FIG. 37 have the following disadvantages. Assume the following case.
- the content or the content summary that the cache server C 1 on the sub-net N 1 is going to obtain for the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation exist in the Web server S 1 on the sub-net N 2 .
- the path from the sub-net N 1 to the sub-net N 2 determined by routing tables (not shown) within the routers R 0 to R 4 is N 1 .R 0 .L 0 .R 1 .L 1 .R 2 .N 2 .
- the links L 0 to L 5 only the load of the link L 1 is high.
- N 1 .R 0 .L 0 .R 1 .L 2 .R 3 .L 3 .R 2 .N 2 there is also another low-load path such as N 1 .R 0 .L 0 .R 1 .L 2 .R 3 .L 3 .R 2 .N 2 , in addition to the above path of N 1 .R 0 .L 0 .R 1 .L 1 .R 2 .N 2 .
- the congestion information obtaining section 2 decides the congestion by flowing a test packet on the path currently set (on the path determined by the contents of the routing table). Therefore, the congestion information obtaining section 2 decides that the network is in the high-load status. As a result, the information that the network is under the high load is transmitted to the link prefetching control section 4 , the automatic cache updating section 5 , and the cache server cooperating section 7 . Consequently, there has been a problem that the operations of (1), (2) and (3) are not carried out.
- an object of the present invention to provide techniques for increasing the efficiency of a cache server by performing a link prefetching operation, an automatic cache updating operation, and a cache server cooperating operation in higher probabilities than those of the prior art, without deteriorating a congestion status of the network.
- the object of the present invention can be achieved by making the cache server know the network topology of routers and links within a network and the load status of each link and thereby to take a path by bypassing high-load links, lowering the traffic priority of the high-load link, or relaying data using low-load links.
- a network system including a cache server in which a path calculating section obtains a path suitable for carrying out an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, based on QoS path information that includes network path information and path load information obtained by a QoS path information obtaining section.
- An automatic cache updating section, a link prefetching control section, and a cache server cooperating section carry out respective ones of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, by utilizing the path.
- the path calculating section obtains a maximum remaining band path, for example, as the above path.
- a path determination method such as a source route option or a path-settable router can be used. Whether the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation should be carried out maybe controlled based on the value of a minimum remaining bandwidth (a minimum one among remaining bandwidths of links that constitute a path) in the path obtained by the path calculating section.
- a network system including a cache server in which a relay control section selects a relay server that is necessary for setting a path suitable for carrying out an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, based on QoS path information that includes network path information and path load information obtained by a QoS path information obtaining section.
- the relay control section instructs the selected relay server about data to be relayed.
- the relay control section selects a relay server that is necessary for setting a relay path that does not include a congestion portion.
- a relay path including no congestion portion when a relay path including no congestion portion is not found, only a relay server that locates upstream from (preferably nearest to) the congestion portion is notified of data to be relayed, and the data is stored in that location of the relay path until the congestion status has disappeared.
- the relay control section issues a relay instruction to relay servers downstream from the location where the congestion had occurred.
- a path setting section maybe provided in the cache server, and a path-settable router maybe used that can set a path according to an instruction of the path setting section, as a router.
- a network system that includes a priority controllable router for controlling the priority of sending a packet to a link based on priority information given to the packet, and a cache server for carrying out at least one of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, and for giving priority information to a packet to be used for communications generated by the above three operations.
- a priority controllable router for controlling the priority of sending a packet to a link based on priority information given to the packet
- a cache server for carrying out at least one of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, and for giving priority information to a packet to be used for communications generated by the above three operations.
- a network system that includes a priority controllable router designed to give priority information to a packet relating to a specific communication flow by discriminating this communication flow, and to control the priority of transmitting a packet to a link based on the priority information given to the packet.
- the network system further includes a cache server for obtaining priority, that can be changed for each link of the network, suitable for executing the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, based on QoS path information.
- the cache server further requests the priority controllable router to set and cancel the priority to a specific communication flow.
- FIG. 1 is a block diagram showing an example of a structure according to a first embodiment of the present invention.
- FIG. 2 is a block diagram showing an example of a structure of a QoS path reference cache server C 101 .
- FIG. 3 is a flowchart showing an example of the operation according to the first embodiment of the present invention.
- FIG. 4 is a diagram showing one example of QoS path information.
- FIG. 5 is a diagram showing a graph of the QoS path information shown in FIG. 4 .
- FIG. 6 is a block diagram showing an example of a structure according to a second embodiment of the present invention.
- FIG. 7 is a block diagram showing an example of a structure of a QoS path reference cache server C 201 .
- FIG. 8 is a flowchart showing an example of the operation according to the second embodiment of the present invention.
- FIG. 9 is a block diagram showing an example of a structure according to a third embodiment of the present invention.
- FIG. 10 is a block diagram showing an example of a structure of a QoS path reference relay control cache server C 301 .
- FIG. 11 is a flow chart showing an example of the operation according to the third embodiment of the present invention.
- FIG. 12 is a diagram showing one example of QoS path information according to the third embodiment of the present invention.
- FIG. 13 is a diagram showing one example of QoS path information according to the third embodiment of the present invention.
- FIG. 14 is a block diagram showing an example of a structure according to a fourth embodiment of the present invention.
- FIG. 15 is a block diagram showing an example of a structure of a QoS path reference relay control cache server C 401 .
- FIG. 16 is a flow chart showing an example of the operation according to the fourth embodiment of the present invention.
- FIG. 17 is a diagram showing one example of QoS path information according to the fourth embodiment of the present invention.
- FIG. 18 is a diagram showing one example of QoS path information according to the fourth embodiment of the present invention.
- FIG. 19 is a block diagram showing an example of a structure according to a fifth embodiment of the present invention.
- FIG. 20 is a block diagram showing an example of a structure of a cache server with priority function C 501 .
- FIG. 21 is a flow chart showing an example of the operation according to the fifth embodiment of the present invention.
- FIG. 22 is a block diagram showing an example of a structure according to a sixth embodiment of the present invention.
- FIG. 23 is a block diagram showing an example of a structure of a cache server with priority function C 601 .
- FIG. 24 is a flow chart showing an example of the operation according to the sixth embodiment of the present invention.
- FIG. 25 is a block diagram showing an example of a structure according to a seventh embodiment of the present invention.
- FIG. 26 is a block diagram showing an example of a structure of a QoS path reference relay priority control cache server C 701 .
- FIG. 27 is a flow chart showing an example of the operation according to the seventh embodiment of the present invention.
- FIG. 28 is a diagram showing one example of QoS path information according to the seventh embodiment of the present invention.
- FIG. 29 is a block diagram showing an example of a structure of a QoS path reference cache server C 101 a that is used in an eighth embodiment of the present invention.
- FIG. 30 is a block diagram showing an example of a structure of a QoS path reference cache server C 101 b that is used in a ninth embodiment of the present invention.
- FIG. 31 is a block diagram showing an example of a structure of a QoS path reference cache server C 201 a that is used in a tenth embodiment of the present invention.
- FIG. 32 is a block diagram showing an example of a structure of a QoS path reference cache server C 201 b that is used in an eleventh embodiment of the present invention.
- FIG. 33 is a block diagram showing an example of a structure of a QoS path reference relay control cache server C 301 a that is used in a twelfth embodiment of the present invention.
- FIG. 34 is a block diagram showing an example of a structure of a QoS path reference relay control cache server C 301 b that is used in a thirteenth embodiment of the present invention.
- FIG. 35 is a block diagram showing an example of a structure of a QoS path reference relay control cache server C 401 a that is used in a fourteenth embodiment of the present invention.
- FIG. 36 is a block diagram showing an example of a structure of a conventional network system.
- FIG. 37 is a block diagram showing an example of a structure of a conventional cache server C 1 .
- FIG. 1 shows the configuration of a network system according to a first embodiment of the present invention.
- Web servers S 1 and S 2 exist within sub-nets N 2 and N 3 respectively, and hold various Web content information.
- Terminals T 1 , T 2 and T 3 for accessing the Web servers S 1 and S 2 exist within sub-nets N 1 and N 4 .
- QoS (Quality of Service) path reference cache servers C 101 to C 103 are also disposed on the network.
- the QoS path reference cache servers C 101 to C 103 hold copies of various content on the Web servers S 1 and S 2 that have been accessed from the terminals T 1 to T 3 and other cache servers (QoS path cache servers or conventional cache servers are not shown).
- the QoS path reference cache servers C 101 to C 103 are designed to obtain QoS path information that includes pairs of names of links and routers that are connected with each other, bandwidth of each link, and remaining bandwidth of each link.
- the QoS path information maybe obtained by communicating with each router operating a process of collecting information such as the predetermined bandwidth and currently available bandwidth of each line on routers R 100 to R 104 .
- the QoS path information may be collected from the network by operating a path control protocol such as QSSPF for exchanging QoS path information on each of the routers R 100 to R 104 , and the cache servers may obtain the QoS path information from an adjacent router.
- the routers R 100 to R 104 constitute a network for connecting the sub-nets N 1 , N 2 , N 3 and N 4 using links L 0 to L 5 .
- Each of the routers R 100 to R 104 performs routing based on its own routing table.
- a certain QoS path reference cache server (assumed as C 101 in this case) intermediates this operation. This operation is similar to that of the conventional cache server.
- the QoS path reference cache server C 101 checks whether the QoS path reference cache server C 101 itself is holding the content information of the Web server S 1 .
- the QoS path reference cache server C 101 inquires other QoS path reference cache servers (here, the QoS path reference cache servers C 102 and the C 103 ) about whether these QoS path reference cache servers hold the content.
- the QoS path reference cache server C 101 obtains the content from the QoS path reference cache server that holds the content, or obtains the content information from the original Web server that has originally held the content. Then, the QoS path reference cache server C 101 passes the content information to the terminal T 1 . In this case, the same content may also be held in a storage within the cache server C 101 at the same time.
- the QoS path reference cache server C 101 When the QoS path reference cache server C 101 holds the content, the content is passed to the terminal T 1 .
- the QoS path reference cache server C 101 may inquire the original Web server S 1 about the last update date and time of the content.
- the QoS path reference cache server C 101 may obtain the content from the original Web server S 1 again, which is an update checking operation.
- the QoS path reference cache servers (C 101 , C 102 and C 103 ) are also inquired from other QoS path reference cache servers, not only from the terminals T 1 to T 3 , about whether the target content information is held.
- the operation in this case is also similar to that of the conventional cache server.
- this QoS path reference cache server checks whether the own QoS path reference cache server is holding the content information of the Web server.
- this QoS path reference cache server inquires other QoS path reference cache servers about whether these QoS path reference cache servers hold the content.
- the QoS path reference cache server obtains the content from the QoS path reference cache server that holds the content, or obtains the content information from the original Web server that has originally held the content. Then, the QoS path reference cache server passes the content information to the QoS path reference cache server that made the original inquiry. In this case, the same content may also be held in a storage at the same time.
- the cache server When the QoS path reference cache server holds the content, the content is passed to the QoS path reference cache server of the original inquiry. In this case, the update checking operation may be carried out. Further, in order to increase the effectiveness of the cache server, the cache server carries out (1) the automatic cache updating operation, (2) the link prefetching operation, and (3) the cache server cooperating operation, in a similar manner to that of the conventional cache server.
- a path bypassing operation is carried out by utilizing QoS path information.
- FIG. 2 is a block diagram showing an example of an internal structure of the QoS path reference cache server C 101 as shown in FIG. 1 . Each element will be described hereafter. Other QoS path reference cache servers also have a similar structure.
- a communication interface section 101 provides a transmission/reception interface between a network and each of a cache operating section 103 , a link prefetching control section 104 , an automatic cache updating section 105 , and a cache server cooperating section 107 .
- a QoS path information obtaining section 102 obtains QoS path information.
- the cache operating section 103 receives a request for making access to a Web content from a terminal via the communication interface section 101 , and searches a storage 106 for the desired content. When the desired content is not found in the storage 106 , the cache operating section 103 makes access to the corresponding Web server or other cache servers to obtain the desired content and stores the obtained content in the storage 106 , and at the same time, transmits the content to the request-originating terminal. When the content is found in the storage 106 , the cache operating section 103 transmits the content to the terminal. In the case of carrying out the update checking operation when the content exist, the cache operating section 103 checks whether the last update date and time of the stored content is older than the last update date and time of the content held by the Web server. When the last update date and time of the stored content is older, the cache operating section 103 obtains the content from the Web server, stores the obtained content in the storage 106 , and at the same time, passes the obtained content to the terminal.
- the link prefetching control section 104 extracts links to content information which are now not stored in the storage 106 but have a possibility of making access thereto from now on, from the links to relevant information described in the Web content stored in the storage 106 . Thereafter, the link prefetching control section 104 notifies a path calculating section 108 of the location information of the Web servers holding the contents indicated by the extracted links to obtain information of a maximum remaining bandwidth path and a minimum remaining bandwidth of the maximum remaining bandwidth path.
- the maximum remaining bandwidth path is defined as a path having a maximum remaining bandwidth.
- the minimum remaining bandwidth is defined as a minimum one among remaining bandwidths of respective ones of the links included in the maximum remaining band width path.
- the link prefetching control section 104 decides whether the contents indicated by the links are obtained, based on the obtained information. For example, when the minimum remaining bandwidth is equal to or greater than a predetermined value, a decision is made that the contents are obtainable. Alternatively, when the minimum remaining bandwidth is equal to or greater than the predetermined value, and also when the number of hops in the maximum remaining bandwidth path is equal to or smaller than a predetermined value, a decision is made that the contents are obtainable. When it has been decided that the contents are obtainable, the link prefetching control section 104 makes access to the corresponding Web servers, using a path designating method such as a source route option for including the path information into the packet. When the contents are obtained, the obtained contents are stored in the storage 106 .
- a path designating method such as a source route option for including the path information into the packet.
- the automatic cache updating section 105 investigates the intervals of updating of the content on the Web server originally holding the content, for the Web content held within the storage 106 . Then, the automatic cache updating section 105 determines the date and time of updating the cache content. On the determined date and time, the automatic cache updating section 105 passes the location information (network address) of the Web server holding the content to the path calculating section 108 . The automatic cache updating section 105 obtains information on the maximum remaining bandwidth path and information on the minimum remaining bandwidth from the path calculating section 108 . Then, the automatic cache updating section 105 decides whether the content is obtainable. For example, when the minimum remaining bandwidth is equal to or greater than the predetermined value, a decision is made that the content is obtained.
- the automatic cache updating section 105 makes access to the corresponding Web server, using a path designating method such as a source route option, and obtains the content.
- the obtained content is stored in the storage 106 .
- the storage 106 stores various Web contents and content summaries.
- the cache server cooperating section 107 exchanges with each other lists of contents held by the respective cache servers and information (content summary) showing the validity of the cache of content held by each cache server, for carrying out redistribution, sharing and comparison of freshness among the cache servers. Based on such information, the cache server cooperating section 107 performs content exchanging as necessary. When exchanging contents and content summaries, the cache server cooperating section 107 passes the network address of the cache server of the other party to the path calculating section 108 . The cache server cooperating section 107 obtains information on the maximum remaining bandwidth path and information on the minimum remaining bandwidth from the path calculating section 108 . Then, the cache server cooperating section 107 decides whether the content or content summary is obtained or not. When it has been decided that the content or content summary is obtained, the cache server cooperating section 107 obtains the content or content summary, using a path designating method like a source route option. The obtained content or content summary is stored in the storage 106 .
- the path calculating section 108 obtains from the QoS path information obtaining section 102 information on the link connected to each router, and the name of the router connected to the link, and available bandwidth information of each link (QoS path information).
- the path calculating section 108 calculates the maximum remaining bandwidth path to the Web server and the minimum remaining bandwidth to the Web server, which are designated by the link prefetching control section 104 , the automatic cache updating section 105 , or the cache server cooperating section 107 .
- An algorithm of Dijkstra is used for this path calculation.
- the path information to the Web server and the minimum remaining bandwidth information are returned to the link prefetching control section 104 , the automatic cache updating section 105 , or the cache server cooperating section 107 that made the request.
- the QoS path reference cache server C 101 is implemented by a computer.
- a recording medium K 1 such a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference cache server. This program runs on the computer and thereby the operation of the computer is controlled to realize the communication interface section 101 , the QoS path information obtaining section 102 , the cache operating section 103 , the link prefetching control section 104 , the automatic cache updating section 105 , the cache server cooperating section 107 , and the path calculating section 108 .
- FIG. 3 is a flow chart showing the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation according to the first embodiment of the present invention.
- the operation of determining the content to be automatically updated in the automatic cache updating section 105 , the operation of determining the content for link prefetching in the link prefetching control section 104 , and the operation of determining the necessary content or the content summary in the cache server cooperating section 107 , are the same as those of the conventional cache server. Therefore, these operations will not be explained here.
- the operation after the necessary content or content summary has been decided will be described below.
- the automatic cache updating section 105 , the link prefetching control section 104 , and the cache server cooperating section 107 pass to the path calculating section 108 the network addresses of the Web servers or the QoS path reference cache servers to which they want to make connection to obtain the content or the content summary in order to carry out the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation.
- these sections request the path calculating section 108 to carry out the path calculation (F 101 ).
- the automatic cache updating section 105 passes the network address used for obtaining the content to the path calculating section 108 .
- the link prefetching control section 104 When the link prefetching control section 104 has found links to content information which are now not stored in the storage 106 but have a possibility of making access thereto from now on, from the links to relevant information described in the Web content stored in the storage 106 , the link prefetching control section 104 passes the network addresses of the Web servers that hold the contents indicated by the found links, to the path calculating section 108 .
- the cache server cooperating section 107 passes the addresses of the Web servers that hold the contents to be obtained, to the path calculating section 108 at intervals of a predetermined time period.
- the path calculating section 108 obtains the maximum remaining bandwidth path to the network of a received network address and the minimum remaining bandwidth on the maximum remaining bandwidth path, based on the QoS path information obtained from the QoS path information obtaining section 102 that includes pairs of names of links and routers that are connected with each other, the preset bandwidth and the currently available bandwidth of each link. Then, the path calculating section 108 passes the obtained information to the source of request (the automatic cache updating section 105 , the link prefetching control section 104 , or the cache server cooperating section 107 ) (F 102 ).
- the source of request the automatic cache updating section 105 , the link prefetching control section 104 , or the cache server cooperating section 107
- the QoS path information shown in FIG. 4 can be expressed in a graph as shown in FIG. 5 .
- SPF Shortest Path First
- the path capable of obtaining the maximum remaining bandwidth is R 100 .L 0 .R 101 .L 2 .R 103 .L 3 .R 102 .
- the minimum remaining bandwidth becomes 4 Mbps which is determined depending on the minimum remaining bandwidth among the links on the path.
- An item “router address” in the path information shown in FIG. 4 shows network addresses of routers.
- An item “link” shows links to next hop routers.
- An item “next hop router address” shows network addresses of next hop routers.
- An item “connection sub-net address” shows network addresses of devices such as terminals, Web servers, and QoS path reference cache servers that exist within sub-nets connected to the routers.
- the source of request (the automatic cache updating section 105 , the link prefetching control section 104 , or the cache server cooperating section 107 ) that has obtained the maximum remaining bandwidth path and the minimum remaining bandwidth on this path determines whether the content should be obtained or not, based on the maximum remaining bandwidth path and the minimum remaining bandwidth (F 103 ). For example, when the minimum remaining bandwidth is equal to or greater than a predetermined value, it is determined that the content should be obtained. When it is determined that the content should be obtained, the content is obtained based on an access method that designates the path, such as the source route option, depending on the path information obtained from the path calculating section 108 (F 104 ). When it is determined that the content is not obtained (F 105 ), the processing is terminated immediately. When the content have not been obtained, the old content remains in the storage 106 . However, when a terminal has made a request for making access to the content, the old content is replaced with the latest one depending on the update checking operation of the cache operating section 103 .
- FIG. 6 is a block diagram showing an example of a network system according to a second embodiment of the present invention.
- the second embodiment shown in FIG. 6 is different from the first embodiment shown in FIG. 1 in that the routers R 100 to R 104 are replaced with path-settable routers R 200 to R 204 , and that the QoS path reference cache servers C 101 to C 103 are replaced with QoS path reference cache servers C 201 to C 203 .
- the path-settable routers R 200 to R 204 have functions that are achieved by operating an MPLS protocol in addition to the functions of the routers R 100 to R 104 .
- the path-settable routers R 200 to R 204 have functions for setting a path specified by the path information on the network, according to the path information received from the QoS path reference cache servers C 201 to C 203 .
- the path information is composed of network addresses of two servers that communicate with each other, identifiers (port numbers and the like in a TCP/IP network) for identifying communications, and a string of router names of routers that constitute a cache path.
- the QoS path reference cache servers C 201 to C 203 have a path-setting cancellation function in addition to the functions of the QoS path reference cache servers C 101 to C 103 .
- Other structures are similar to those of the first embodiment. Therefore, the differences from the first embodiment will be mainly described hereinafter.
- FIG. 7 is a block diagram showing an internal structure of the QoS path reference cache server C 201 .
- a path setting section 109 is added to the structure of the first embodiment.
- a link prefetching control section 104 , an automatic cache updating section 105 , or a cache server cooperating section 107 determines whether the content or content summary is obtained by using a path obtained by a path calculating section 108 .
- the link prefetching control section 104 , the automatic cache updating section 105 , and the cache server cooperating section 107 have a function of instructing the path setting section 109 to set up the path.
- the path setting section 109 is instructed to set up the path.
- the link prefetching control section 104 After the path-settable router has set a path, the link prefetching control section 104 , the automatic cache updating section 105 , or the cache server cooperating section 107 obtains the content or the content summary, and instructs the path setting section 109 to cancel the path.
- the path setting section 109 When receiving a path instruction from the link prefetching control section 104 , the automatic cache updating section 105 , or the cache server cooperating section 107 , the path setting section 109 transmits path information showing this instructed path to the protocol such as MPLS (MultiProtocol Label Switching) in the nearest path-settable router R 200 , and requests the protocol to set up the path. Further, the path setting section 109 requests the near path-settable router R 200 to cancel the path according to a path cancellation instruction from the link prefetching control section 104 , the automatic cache updating section 105 , or the cache server cooperating section 107 .
- MPLS MultiProtocol Label Switching
- the QoS path reference cache server C 201 is realized by a computer.
- a recording medium K 2 such as a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference cache server. This program runs on the computer to control the operation of the computer, and thereby the communication interface section 101 , the QoS path information obtaining section 102 , the cache operating section 103 , the link prefetching control section 104 , the automatic cache updating section 105 , the cache server cooperating section 107 , the path calculating section 108 , and the path setting section 109 are realized on the computer.
- FIG. 8 is a flow chart showing the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation according to the second embodiment of the present invention.
- the operation that the automatic cache updating section 105 carries out for determining the content to be automatically updated, the operation that the link prefetching control section 104 carries out for determining the content for link prefetching, and the operation that the cache server cooperating section 107 carries out for determining the necessary content or the content summary, are the same as those of the conventional cache server. Therefore, these operations will not be explained here.
- the operation after the necessary content or content summary has been decided will be explained below.
- the automatic cache updating section 105 , the link prefetching control section 104 , and the cache server cooperating section 107 pass to the path calculating section 108 the location information (the network addresses) of the cache server to which they want to make connection to obtain the content or the content summary in order to carry out the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation.
- these sections request the path calculating section 108 to carry out the path calculation (F 201 ).
- the path calculating section 108 obtains the maximum remaining bandwidth path to the received network address, and the minimum remaining bandwidth on the maximum remaining bandwidth path, based on the QoS path information obtained from the QoS path information obtaining section 102 .
- the path calculating section 108 passes the obtained information to the source of request (the automatic cache updating section 105 , the link prefetching control section 104 , or the cache server cooperating section 107 ) (F 202 ).
- the source of request that has obtained the maximum remaining bandwidth path and the minimum remaining bandwidth on this path determines whether the content should be obtained or not based on the maximum remaining bandwidth path and the minimum remaining bandwidth (F 203 ). For example, when the maximum remaining bandwidth is equal to or greater than a predetermined value, it is determined that the content or the content summary should be obtained.
- the source of request passes the maximum remaining bandwidth path obtained from the path calculating section 108 , to the path setting section 109 .
- the path setting section 109 transmits the path information showing the maximum remaining bandwidth path to the nearest path-settable router R 200 . Then, path-settable routers on the path including the path-settable router R 200 cooperate to set the path on the network (F 204 ).
- the source of request obtains the content or the content summary by utilizing the set path, and stores the obtained result in the storage 106 (F 205 ). Then, the source of request instructs the path setting section 109 to cancel the set path (F 206 ). When the content or content summary are not obtained (F 207 ), the processing finishes immediately.
- FIG. 9 is a block diagram showing an example of a network system according to a third embodiment of the present invention.
- the network system of the third embodiment shown in FIG. 9 is the same as the conventional network system (see FIG. 36 ) except the followings.
- the cache servers C 1 to C 3 are replaced with QoS path reference relay control cache servers C 301 to C 303 .
- Relay servers M 301 and M 302 are provided in the third embodiment.
- the routers R 0 to R 4 are replaced with routers R 100 to R 104 , which have the same functions as those of the routers R 0 to R 4 . It may be so structured that the QoS path reference relay control cache servers take the role of the relay servers at the same time.
- the relay servers M 301 and M 302 have a function of relaying the Web contents or the content summaries, and distributing them to the QoS path reference relay control cache servers C 301 to C 303 , according to instructions of these cache servers C 301 to C 303 . Based on the instructions of the cache servers C 301 to C 303 , the relay servers M 301 and M 302 obtain the Web contents or the content summaries from the Web servers, the QoS path reference relay control cache servers, or the relay servers, on behalf of the cache servers C 301 to C 303 . The relay servers M 301 and M 302 store the obtained Web contents or the content summaries until the QoS path reference relay control cache servers C 301 to C 303 or other relay servers that have issued the instruction retrieve these information. The QoS path reference relay control cache servers C 301 to C 303 that have issued the instruction designates the relay timing.
- Each of the QoS path reference relay control cache servers C 301 to C 303 is a cache server that receives the QoS path information, and obtains data (Web content and the content summary) for carrying out an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, based on the obtained QoS path information, by utilizing the relay servers.
- FIG. 10 is a block diagram showing an example of a structure of a QoS path reference relay control cache server C 301 .
- a QoS path information obtaining section 102 , a link prefetching control section 104 , an automatic cache updating section 105 , a cache server cooperating section 107 , and a relay control section 110 that are different from the internal structure of the conventional cache server (see FIG. 37 ) will be described.
- the QoS path information obtaining section 102 has similar functions to those of the QoS path information obtaining section of the first embodiment as shown in FIG. 2 .
- the QoS path information obtaining section 102 receives QoS path control protocol information.
- the relay control section 110 receives information for specifying Web contents and content summaries to be obtained, from the link prefetching control section 104 , the automatic cache updating section 105 , and the cache server cooperating section 107 .
- the relay control section 110 determines whether the Web contents and content summaries should be received or not, and determines which one of relay servers these are obtained through, based on the load status of the network received from the QoS path information obtaining section 102 . There is also a case where relay servers are not used at all.
- the relay control section 110 issues relay instructions to all the relay servers that carry out the relay. Then, the relay control section 110 obtains Web contents and content summaries actually through these relay servers.
- the link prefetching control section 104 finds links to content information which are now not stored in the storage 106 but have a possibility of making access thereto from now on, from the links to relevant information described in the Web content stored in the storage 106 .
- the link prefetching control section 104 instructs the relay control section 110 to obtain the content and, when the content has been obtained, the obtained content is stored in the storage 106 .
- the automatic cache updating section 105 investigates the intervals of updating of the content on the Web server where the content originally exist, for the Web content held within the storage 106 . Then, the automatic cache updating section 105 determines the time of updating the cache content. At the determined time instant, the automatic cache updating section 105 instructs the relay control section 110 to send the content thereto and, when the content has been obtained, the obtained content is stored in the storage 106 .
- the cache server cooperating section 107 exchanges with each other lists of contents held by the respective cache servers and information (content summary) that shows the validity of the cache of the content held by each cache server, for carrying out redistribution, sharing and comparison of freshness among the cache servers. Based on this information, the cache server cooperating section 107 exchanges contents as necessary. At the time of exchanging contents and content summaries, the cache server cooperating section 107 instructs the relay control section 110 to obtain the contents or the content summaries and, when the content has been obtained, the obtained content is stored in the storage 106 .
- the QoS path reference relay control cache servers C 301 is implemented by a computer.
- a recording medium K 3 like a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference relay control cache server. This program runs on the computer to control the operation of the computer, and thereby the communication interface section 101 , the QoS path information obtaining section 102 , the cache operating section 103 , the link prefetching control section 104 , the automatic cache updating section 105 , the cache server cooperating section 107 , and the relay control section 110 are realized on the computer.
- FIG. 11 is a flow chart showing the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation according to the third embodiment of the present invention.
- the operation that the automatic cache updating section 105 carries out for determining the content to be automatically updated, the operation that the link prefetching control section 104 carries out for determining the content for link prefetching, and the operation that the cache server cooperating section 107 carries out for determining the necessary content or the content summary, are the same as those of the conventional cache server. Therefore, these operations will not be explained here.
- the operation after the necessary content or content summary has been decided will be explained below.
- the automatic cache updating section 105 , the link prefetching control section 104 , and the cache server cooperating section 107 pass to the relay control section 110 network addresses of the cache servers or the Web servers to which they want to make connection to obtain contents or content summaries in order to carry out the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation (F 401 ). Then, the relay control section 110 determines whether the contents should be obtained from the received network addresses or not, based on the location information of the relay servers recognized in advance and the QoS path information obtained from the QoS path information obtaining section 102 . When it is determined that content is to be obtained, the relay control section 110 determines a path and relay servers to be used (F 402 ).
- the relay control section 110 controls the relay server to obtain the content, and passes the content to the source of request (the automatic cache updating section 105 , the link prefetching control section 104 , or the cache server cooperating section 107 ) (F 404 ).
- the processing is terminated.
- a path (determined based on the content of a routing table within each router) from the Web server S 1 to the QoS path reference relay control cache server C 301 is S 1 .R 102 .L 1 .R 101 .L 0 .R 100 .C 301 , and that the QoS path information obtained from the QoS path information obtaining section is as shown in FIG. 12 .
- the relay control section 110 uses the relay servers M 301 and M 302 existing on the network, to check whether it is possible or not to set a path from the Web server S 1 to the QoS path reference relay control cache server C 301 without passing through the congestion section.
- the relay servers M 301 and M 302 can be used to set a path that does not pass through a congestion section (the link L 1 ) as follows: S 1 .R 102 .L 3 .R 103 .M 301 .R 103 .L 2 .R 101 .M 302 .R 101 .L 0 .R 100 .C 301 .
- the relay control section 110 issues the instructions to the relay servers M 301 and M 302 to relay the content on the path that uses only the links, each of which has a link bandwidth use rate that is lower than 90%, as follows: S 1 .R 102 .L 3 .R 103 .M 301 (relay) M 301 .R 103 .L 2 .R 101 .M 302 (relay) M 302 .R 101 .L 0 .R 100 .C 301 . More specifically, the QoS path reference relay control cache server C 301 first instructs the relay server M 301 to obtain the content . from the Web server S 1 . Based on this instruction, the relay server M 301 obtains the content .
- the QoS path reference relay control cache server C 301 instructs the relay server M 302 to obtain the content . from the relay server M 301 . Based on this instruction, the relay server M 302 obtains the content held by the relay server M 301 on the path of M 301 .R 103 .L 2 .R 101 .M 302 . Thereafter, the QoS path reference relay control cache server C 301 obtains the content held by the relay server M 302 on the path of M 302 .R 101 .L 0 .R 100 .C 301 .
- the relay control section 110 obtains a path from the Web server S 1 to the QoS path reference relay control cache server C 301 that does not pass through the congestion portion, based on the QoS path information.
- the relay control section 110 obtains this path by disregarding a path determined based on the content of the routing table.
- a path of S 1 .R 102 .L 5 .R 104 .L 4 .R 103 .L 2 .R 101 .L 0 .R 100 .C 301 is obtained as the path that does not pass through a congestion portion.
- the relay control section 110 selects all or a part of the relay servers existing on the path as the relay servers to be used.
- the relay control section 110 selects the relay servers M 301 and M 302 .
- the relay control section 110 instructs the relay server M 301 that is located at the most upstream of the path to obtain the content . on the path of S 1 .R 102 .L 5 .R 104 .L 4 .R 103 , based on a route specifying method such as the source route option.
- the relay server M 301 obtains the content .
- the relay control section 110 instructs the relay server M 302 to obtain the content . from the relay server M 301 .
- the relay server M 302 obtains the content . from the relay server M 301 .
- the QoS path reference relay control cache server C 301 obtains the content . from the relay server M 302 .
- the relay control section 110 transfers the content from the Web server to a relay server which is one end of a path having no congestion portion among relay servers that exist on the path of S 1 .R 102 .L 1 .R 101 .L 0 .R 100 .C 301 that is determined based on the content of the routing table.
- the relay server which is one end of a path having no congestion portion may not be a relay server nearest to the congestion portion, but it is most effective to transfer the content to the relay server nearest to the congestion portion.
- an instruction is issued to the relay server M 302 to have the content transferred to the relay server M 302 on the path from S 1 .R 102 .L 1 .R 101 .M 302 .
- the relay control section 110 obtains the content from the relay server M 302 on the path from M 302 .R 101 .L 1 .R 100 .C 301 after waiting for a recovery from the congestion status of the link L 0 (the information about whether the traffic has been recovered from the congestion status or not can also be obtained from the QoS path information obtaining section 102 ).
- the available bandwidths on the network can be effectively utilized. Therefore, according to the network system of the present invention, there increases the possibility of achieving the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, even in the situation where the conventional cache server has not been able to achieve these operations.
- FIG. 14 is a block diagram showing an example of a structure of a network system according to a fourth embodiment of the present invention.
- the fourth embodiment is similar to the third embodiment, but is different in the following points.
- the routers are replaced with the path-settable routers R 200 to R 204 that have been explained in the second embodiment.
- Each of the path-settable routers R 200 to R 204 operates in the MPLS protocol and has path setting functions such that a necessary path can be set up based on the path information (consisting of network addresses of two cache servers that carry out communications, identifiers like port numbers for identifying communications, and a string of router names of routers that constitute a cache path).
- Such path information is designated by QoS path reference relay control cache server (C 401 to C 403 ).
- Each of the QoS path reference relay control cache servers C 401 to C 403 has a function of setting paths to the path-settable routers R 200 to R 204 , in addition to the function of the QoS path reference relay control cache server explained in the third embodiment. It may be so designed that the QoS path reference relay control cache server take the role of the relay server at the same time. In other words, it may be so designed that the functional portions of the QoS path reference relay control cache servers and the functional portions of the relay servers are built into one casing.
- the functional portions of the path-settable routers, the functional portions of the QoS path reference relay control cache servers, and the functional portions of the relay servers are built into one casing, where the routers play both the roles of the QoS path reference relay control cache servers and the relay servers.
- FIG. 15 is a block diagram showing an example of a structure of the QoS path reference relay control cache server C 401 .
- the operations of a relay control section 110 and a path setting section 109 that are different from those of the third embodiment will be explained.
- the path setting section 109 requests the protocol such as the MPLS of the path-settable router to specify a path according to path information received from the relay control section 110 . Further the path setting section 109 cancels the path at the request of the relay control section 110 .
- the relay control section 110 operates in the substantially same manner as that of the relay control section 110 in the third embodiment, provided the relay control section 110 carries out the relay control by taking into account the QoS path information and the path detour information of the path setting section 109 .
- the QoS path reference relay control cache servers C 401 is implemented by a computer.
- a recording medium K 4 like a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference relay control cache server. This program runs on the computer to control the operation of the computer, and thereby the communication interface section 101 , the QoS path information obtaining section 102 , the cache operating section 103 , the link prefetching control section 104 , the automatic cache updating section 105 , the cache server cooperating section 107 , the relay control section 110 , and the path setting section 109 are realized on the computer.
- FIG. 16 is a flow chart showing the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation according to the fourth embodiment of the present invention.
- the operation that the automatic cache updating section 105 carries out for determining the content to be automatically updated, the operation that the link prefetching control section 104 carries out for determining the content for link prefetching, and the operation that the cache server cooperating section 107 carries out for determining the necessary content or the content summary, are the same as those of the conventional cache server. Therefore, these operations will not be explained here.
- the operation after the necessary content or content summary has been decided will be explained below.
- the automatic cache updating section 105 , the link prefetching control section 104 , or the cache server cooperating section 107 pass to the relay control section 110 network addresses of the cache servers such as the QoS path reference relay control cache servers or the Web servers to which they want to make connection to obtain contents or content summaries in order to carry out the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation (F 501 ).
- the cache servers such as the QoS path reference relay control cache servers or the Web servers to which they want to make connection to obtain contents or content summaries in order to carry out the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation (F 501 ).
- the relay control section 110 determines whether the content should be obtained from the received network address or not, based on the location information of the relay servers recognized in advance and the QoS path information obtained from the QoS path information obtaining section 102 .
- the relay control section 110 determines a path and the relay server to be used (F 502 ).
- the relay control section 110 instructs the path setting section 109 to set a path based on the determined path.
- the relay control section 110 controls the relay server to obtain the content or the content summary, and passes the content to the source of request (the automatic cache updating section 105 , the link prefetching control section 104 , or the cache server cooperating section 107 ) (F 505 ).
- the relay control section 110 instructs the path setting section 109 to cancel the set path (F 506 ), and finishes the processing.
- the processing is terminated immediately.
- the QoS path information obtained from the QoS path information obtaining section 102 is as shown in FIG. 17 .
- the relay control section 110 first checks whether there exists a congestion portion on the path that is determined based on the content of the routing table. When no congestion portion exist, the content is transferred using this path. However, in this case, a congestion portion (the link L 1 ) exists on the path.
- the relay control section 110 uses the relay servers M 301 and M 302 and the path-settable routers R 200 to R 204 existing on the network, to check whether it is possible to set up a path from the Web server S 1 to the QoS path reference relay control cache server C 401 without passing through congestion portions (here, links L 1 and L 3 ).
- the path setting section 109 instructs the nearest path-settable router R 200 to set up the above path.
- the relay control section 110 instructs the relay servers M 301 and M 302 to relay the content on the path that uses only the links, each of which has a link bandwidth use rate lower than 90%, as follows: S 1 .R 102 .L 5 .R 104 .L 4 .R 103 .M 301 (relay) M 301 .R 103 .L 2 .R 101 .M 302 (relay) M 302 .R 101 .L 0 .R 100 .C 401 .
- the QoS path information obtained from the QoS path information obtaining section 102 is as shown in FIG. 18 . In this case, it is not possible to set a path that does not include the congestion portion (link L 0 ) even when the relay servers M 301 and M 302 existing on the network are used.
- the relay control section 110 transfers the content from the Web server to a relay server through a path on which there exists no congestion portion (this may not be a relay server nearest to the congestion portion, but it is most effective to transfer the content to a relay server nearest to the congestion portion) among relay servers that exist on the path of S 1 .R 202 .L 1 .R 201 .L 0 .R 200 .C 401 , that is determined based on the content of the routing table.
- an instruction is issued to the relay server M 302 to have the content transferred to the relay server M 302 on the path from S 1 .R 202 .L 1 .R 201 .M 302 .
- the relay control section 110 obtains the content from the relay server M 302 on the path from M 302 .R 201 .L 1 .R 200 .C 401 after waiting for a recovery from the congestion status of the link L 0 (the information about whether the traffic has been recovered from the congestion status or not can also be obtained from the QoS path information obtaining section 102 ).
- the path that is set in the above operation cannot be set in the third embodiment that has no path-setting function, without using the path assigning method like the source route option. Based on the above operation, the empty bandwidth on the network is effectively utilized. Therefore, according to the network system of the present invention, there increases the possibility of achieving the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, even in the situation where the conventional cache server has not been able to achieve these operations.
- FIG. 19 is a block diagram showing an example of a structure of a network system according to a fifth embodiment of the present invention.
- the cache servers C 1 to C 3 of the network system (see FIG. 36 ) described in the conventional technique are replaced with cache servers C 501 to C 503 each having priority functions, and the routers R 0 to R 4 are replaced with priority controllable routers R 300 to R 304 .
- the priority controllable routers R 300 to R 304 can control the priority of transmitting a packet to a link, based on the priority information given to the packet.
- FIG. 20 is a block diagram showing an example of a structure of a cache server with priority function taking the cache server C 501 as an example.
- the communication interface section 501 passes data (a packet) from a network to a cache operating section 503 , a link prefetching control section 504 , a automatic cache updating section 505 , and a cache server cooperating section 507 .
- the communication interface section 501 receives a packet having priority information added thereto from a priority information adding section 508 , and passes this packet to the network.
- the communication interface section 501 also transmits/receives the data to/from a priority providing section 509 .
- the cache operating section 503 receives a request for making access to the Web content from a terminal via the communication interface section 501 , and searches a storage 506 for the content. When the content does not exist, the cache operating section 503 makes access to the corresponding Web server or other cache servers to obtain the content. The cache operating section 503 stores the obtained content in the storage 506 , and at the same time, transmits the content to the request-originating terminal. When the content exists, the cache operating section 503 transmits the content to the terminal.
- the cache operating section 503 checks whether the last update date and time of the held content is older than the last update date and time of the content held by the Web server. When the last update date and time of the held content is older, the cache operating section 503 obtains the content from the Web server, holds the obtained content in the storage 506 , and at the same time, passes the content to the terminal. In relation to the above communications, the cache operating section 503 passes to the priority providing section 509 a request for providing a priority including a network address of the other party of communication, prior to the communication. Then, the cache operating section 503 passes the priority and a transmission packet provided from the priority providing section 509 , to the priority information adding section 508 . The priority information adding section 508 then transmits to the network the transmission packet having priority information added thereto.
- the link prefetching control section 504 extracts links to content information which are now not stored in the storage 506 but have a possibility of making access thereto from now on, from the links to relevant information described in the Web content stored in the storage 506 .
- the link prefetching control section 504 obtains the content, and stores them in the storage 506 .
- the link prefetching control section 504 passes to the priority providing section 509 a request for providing a priority including a network address of the other party of communications, prior to the communications.
- the link prefetching control section 504 passes the priority and a transmission packet provided from the priority providing section 509 , to the priority information adding section 508 .
- the priority information adding section 508 then transmits to the network the transmission packet having priority information added thereto.
- the automatic cache updating section 505 investigates the intervals of updating of content on the Web server where the content originally exist, for the Web content held within the storage 506 . Then, the automatic cache updating section 505 determines the date and time of updating the cache content, obtains the content, and stores them in the storage 506 . In relation to the above communication, the automatic cache updating section 505 passes to the priority providing section 509 a request for providing a priority including a network address of the other party of communications, prior to the communications. Then, the automatic cache updating section 505 passes the priority and a transmission packet provided from the priority providing section 509 , to the priority information adding section 508 . The priority information adding section 508 then transmits to the network the transmission packet having priority information showing the priority added thereto.
- the storage 506 stores various Web contents and content summaries.
- the cache server cooperating section 507 exchanges with each other lists of contents held by the respective cache servers and information (content summary) that shows the validity of the cache of the content held by each cache server, for carrying out redistribution, sharing and comparison of freshness among the cache servers. Based on this information, the cache server cooperating section 507 exchanges the contents with other cache servers as necessary. In relation to the above communication, the cache server cooperating section 507 passes to the priority providing section 509 a request for providing a priority including a network address of the other party of communications, prior to the communications. Then, the cache server cooperating section 507 passes the priority and a transmission packet provided from the priority providing section 509 , to the priority information adding section 508 . The priority information adding section 508 then transmits to the network the transmission packet having priority information showing the priority added thereto.
- the priority information adding section 508 receives a transmission packet and priority information from the cache operating section 503 , the link prefetching control section 504 , the automatic cache updating section 505 , or the cache server cooperating section 507 .
- the priority information adding section 508 adds priority information showing the priority to the received transmission packet, and passes it to the communication interface section 501 .
- the priority providing section 509 receives a request for providing a priority, from the cache operating section 503 , the link prefetching control section 504 , the automatic cache updating section 505 , or the cache server cooperating section 507 . Then, the priority providing section 509 provides the priority to the source of request. There are various methods of determining the priority to be provided. For example, it is possible to employ the following methods a) to c).
- a priority to be given to each source of request is determined in advance. When there has occurred a request for provision of a priority, the predetermined priority is given to this source of request. More specifically, the priorities to be given to the link prefetching control section 504 , the automatic cache updating section 505 , and the cache server cooperating section 507 are set lower than the priority to be given to the cache operating section 503 or other communication units (not shown).
- a priority to be given to each source of request is determined depending on the load on the path to the other communication party.
- the priorities to be given to the cache operating section 503 , the automatic cache updating section 505 , and the cache server cooperating section 507 are set lower than the priority to be given to the link prefetching control section 504 or other communication units.
- the priority when the load on the path to the other communication party is high, the priority is set low, and when the load on the path to the other communication party is low, the priority is set high.
- the source of request passes a request for providing a priority including a network address of the other communication party, to the priority providing section 509 .
- a priority is provided depending on the type and attribute of content (e.g. moving picture, text, size, etc.) to be communicated. Specifically, when the type of content is a moving picture, a high priority is given, and when the type of content is a text, a low priority is given.
- a source of request passes a request for providing the priority including the type of the content to the priority providing section 509 . Further, the source of request judges the type of content based on an extension added to the content stored in the storage 506 .
- the other communication party when the other communication party is a host such as the cache server with priority function allowing the priority control, which has a function equivalent to that of the priority providing section 509 , it is possible to determine a priority based on mutual communications. Further, it is also possible that the other communication party designates the priority of a packet to be received.
- the QoS path information obtaining section 502 has similar functions to those of the QoS path information obtaining section 102 as shown in FIG. 2 .
- the cache server with priority function C 501 is implemented by a computer.
- a recording medium K 5 like a disk or a semiconductor memory stores a program for making the computer function as the cache server with priority function. This program runs on the computer to control the operation of the computer, and thereby the communication interface section 501 , the QoS path information obtaining section 502 , the cache operating section 503 , the link prefetching control section 504 , the automatic cache updating section 505 , the cache server cooperating section 507 , the priority information adding section 508 , and the priority providing section 509 are realized on the computer.
- FIG. 21 is a flow chart showing the cache operation, the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation according to the fifth embodiment of the present invention.
- the process of determination of the other communication party in each operation is similar to that of the conventional cache server. Therefore, the flow chart of FIG. 21 shows the operation after the other communication party has been determined.
- a source of request that wants to obtain content or content summary passes to the priority providing section 509 a request for providing a priority including the network address of a Web server or cache server such as a cache server with priority function that holds the content or the content summary (F 301 ).
- the priority providing section 509 determines the priority to be provided, depending on the network address included in the priority provision request and which one of the cache operating section 503 , the link prefetching control section 504 , the automatic cache updating section 505 , and the cache server cooperating section 507 is the source of request.
- the priority may be determined through communications with this communication party. Alternatively, the priority may be determined depending on what is designated by the other communication party as priority to be given to the packet. After the priority has been determined, the priority providing section 509 notifies the source of request of this determined priority (F 302 ).
- the source of request passes the received priority and the transmission packet (that includes the information showing the content to be obtained) to the priority information adding section 508 .
- the priority information adding section 508 adds the priority to this transmission packet, and passes it to the communication interface section 501 .
- communication with the other party can be performed according to the priority specified by the priority information, obtaining the Web content or content summary (F 303 ).
- the network system of the present invention it is possible to carry out communications by setting a low priority to communications relating to the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, even under congestion in a part of the network where the conventional cache server has not been able to achieve these operations. As a result, it is possible to achieve the communications without aggravating the congestion status of the network.
- FIG. 22 is a block diagram showing an example of a structure of a network system according to a sixth embodiment of the present invention.
- the cache servers C 1 to C 3 of the network system (see FIG. 36 ) described in the conventional technique are replaced with cache servers with priority function C 601 to C 603
- the routers R 0 to R 4 are replaced with priority controllable routers R 600 to R 604 .
- the priority controllable routers R 600 to R 604 have a function of providing priority information showing a priority to a packet relating to a communication flow indicated in the packet that flows through the network, where the communication flow and the priority are indicated by the cache server with priority functions C 601 to C 603 , and a function of controlling the priority of transmitting the packet to a link based on the priority information given to the packet.
- a specific communication flow is defined depending on a set of network address information of hosts at both ends (a cache server and a Web server) on the communication, port number information for identifying the communication, and protocol information, for example, that are included in a packet header.
- the specific communication flow can be identified by making a decision about whether the set of the information matches a set of information given from the cache server with priority function for each packet in advance. For a communication flow without designation, this flow is handled in a certain predetermined priority (called a default priority PD).
- FIG. 23 is a block diagram showing an example of a structure of the cache server with priority function C 601 . Constituent elements of the cache server with priority function C 601 will be described below. The other cache server with priority functions C 602 and C 603 also have similar structures.
- the communication interface section 601 passes data (a packet) from a network to a cache operating section 603 , a link prefetching control section 604 , a automatic cache updating section 605 , and a cache server cooperating section 607 .
- the QoS path information obtaining section 602 has similar functions to those of the QoS path information obtaining section 102 as shown in FIG. 2 .
- the cache operating section 603 receives a request for making access to the Web content from a terminal via the communication interface section 601 , and searches a storage 606 for the content. When the content is not found, the cache operating section 603 makes access to the corresponding Web server or other cache servers to obtain the content. The cache operating section 603 stores the obtained content in the storage 606 , and at the same time, transmits the content to the request-originating terminal. When the content is found, the cache operating section 603 transmits the content to the request-originating terminal. In the case of carrying out the update checking operation when the content is found, the cache operating section 603 checks whether the last update date and time of the held content is older than the last update date and time of the content held by the Web server.
- the cache operating section 603 obtains the content of the Web server, holds the obtained content in the storage 606 , and at the same time, passes the content to the terminal. In relation to the above communications for obtaining the content, the cache operating section 603 carries out the following “priority setting operation”.
- the cache operating section 603 Prior to communication, the cache operating section 603 passes a request for providing a priority including a network address of the other communication party, to the priority providing section 609 .
- the cache operating section 603 receives information indicating one or more set of address of router to which priority is to be set, next hop router address, and priority, from the priority providing section 609 .
- the cache operating section 603 notifies each of routers shown in the priority-setting router addresses included in the above information of flow identification information, the next hop router address and the priority included in the above information, by utilizing a router priority setting section 610 to set the priority. After finishing the communication, the above priority setting is canceled.
- the link prefetching control section 604 extracts links to content information which are now not stored in the storage 606 but have a possibility of making access thereto from now on, from the links to relevant information described in the Web content stored in the storage 606 .
- the link prefetching control section 604 obtains the content, and stores them in the storage 606 .
- the link prefetching control section 604 also carries out the priority-setting operation defined above.
- the automatic cache updating section 605 investigates the intervals of updating of the content on the Web server where the content originally exists, for the Web content held within the storage 606 . Then, the automatic cache updating section 605 determines the time of updating the cache content to obtain the content, and stores them in the storage 606 . In relation to the above communications for obtaining the content, the automatic cache updating section 605 also carries out the priority-setting operation defined above.
- the storage 606 stores various Web contents and content summaries.
- the cache server cooperating section 607 exchanges with each other lists of contents held by the respective cache servers and information (content summary) that shows the validity of the cache of the content held by each cache server, for carrying out redistribution, sharing and comparison of freshness among the cache servers. Based on this information, the cache server cooperating section 607 exchanges the content as necessary. In relation to the communications for the content summary and for exchanging contents, the cache server cooperating section 607 also carries out the priority-setting operation defined above.
- the priority providing section 609 receives a request for providing a priority, from the cache operating section 603 , the link prefetching control section 604 , the automatic cache updating section 605 , and the cache server cooperating section 607 .
- the priority providing section 609 notifies the source of request of what priority is to be set to which router.
- This information includes one or more set of router address of router to which a priority is to be set, a next hop-router address, and a priority.
- a threshold value with respect to a load on the path to the other communication party, and a priority to be set when the load exceeds the threshold value, are determined for each source of request in advance.
- a threshold value for the link prefetching control section 604 , the automatic cache updating section 605 , and the cache server cooperating section 607 is set lower than that for the cache operating section 603 or other communication unit (not shown).
- the priority to be applied when the load threshold value is exceeded is set lower than that to be applied when the load threshold value is not exceeded.
- the priority to be applied when the threshold value is not exceeded can be set as a default priority PD, for example.
- the priority to be applied when the threshold value is exceeded can be set as P (P ⁇ PD) for all the source of requests.
- the priority to be applied when the threshold value is exceeded can also be set different for each source of request.
- the priority to the link prefetching control section 604 , the automatic cache updating section 605 , and the cache server cooperating section 607 is set lower than the priority to the cache operating section 603 or other communication unit (not shown).
- the path in this case is C 601 ..R 600 .(L 0 ).R 601 ..R 603 ..R 604 .(L 5 ).R 602 ..S 1 , in which the load on the link (L 5 ) between the R 602 and R 604 and the load on the link (L 0 ) between the R 601 and R 600 both exceed the threshold value determined in advance for the link prefetching operation, and further that the priority when the load exceeds the threshold value is P.
- the priority providing section 609 wants to set a priority to the communication flow from the Web server S 1 to the cache server with priority function C 601 . Therefore, the priority providing section 609 decides as follows:
- the priority providing section 609 sends back to the link prefetching control section 604 , a set of the network address of the R 602 , the address of the next hop router R 604 , and the priority P, a set of the network address of the R 604 , the address of the next hop router R 603 , and the priority PD: PD>P, and a set of the network address of the R 601 , the address of the next hop router R 600 , and the priority P.
- the priority providing section 609 may carry out only the processing of 1. out of the processing from 1. to 3., to return only the set of the network address of the R 602 , the address of the next hop router R 604 , and the priority P to the link prefetching control section 604 .
- the path is C 601 ..R 600 .(L 0 ).R 601 .R 603 ..R 604 .(L 5 ).R 602 .S 1 . Further, it is assumed that, on the path, the load on the link (L 5 ) between the R 602 and R 604 , and the load on the link (L 0 ) between the R 601 and R 600 exceed threshold values determined in advance for the link prefetching operation, respectively and that the priorities when the respective loads exceeds the threshold values are P 1 and P 2 (P 1 ⁇ PD, P 2 ⁇ PD).
- the priority providing section 609 wants to set a priority to the communication flow from the Web server S 1 to the cache server with priority function C 601 . Therefore, the priority providing section 609 decides as follows.
- the priority providing section 609 returns to the link prefetching control section 604 , a set of the network address of the R 602 , the address of the next hop router R 604 , and the priority P 1 , a set of the network address of the R 604 , the address of the next hop router R 603 , and the priority PD, and a set of the network address of the R 601 , the address of the next hop router R 600 , and the priority P 2 .
- the priority is changed for each link depending on the characteristic of content (a moving picture, a text, a frequency of updating the content, a size, etc.) or the degree of congestion at the link. For example, in the case of a moving picture, a priority is provided (a lower priority than the default priority is provided) even when the degree of congestion at the link is lower than that in the case of a text. Further, a higher priority is provided to a moving picture, than the priority of a text.
- the other communication party is a priority-controllable host such as the cache server with priority function and has a function equivalent to the function of the priority providing section 609 , it is possible to determine a priority through mutual communications.
- the router priority setting section 610 receives (sets of information including addresses of routers to which priority is to be set, a next hop router address, and a priority), and flow identification information, from the link prefetching control section 604 , the automatic cache updating section 605 , and the cache server cooperating section 607 .
- the router priority setting section 610 instructs the router indicated by the priority-setting router address to set the flow identification information and the priority to the path to the next hop router address, for each of the above set.
- the router priority setting section 610 cancels the setting.
- the cache server with priority function C 601 is implemented by a computer.
- a recording medium K 6 like a disk or a semiconductor memory stores a program for making the computer function as the cache server with priority function. This program runs on the computer to control the operation of the computer, and thereby the communication interface section 601 , the QoS path information obtaining section 602 , the cache operating section 603 , the link prefetching control section 604 , the automatic cache updating section 605 , the cache server cooperating section 607 , the priority providing section 609 , and the router priority setting section 610 are realized on the computer.
- FIG. 24 is a flow chart showing the cache operation, the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation according to the sixth embodiment of the present invention.
- the determination of the other communication party in each operation is similar to that of the conventional cache server. Therefore, the flow chart shows the operation after the other communication party has been determined.
- a source of request that wants to obtain content or content summary passes to the priority providing section 609 a request for providing a priority including network addresses of Web servers or cache server such as cache servers with priority functions, that hold the content or the content summary (F 601 ).
- the priority providing section 609 determines the network address included in the request for priority provision, the source of request which is one of the cache operating section 503 , the link prefetching control section 504 , the automatic cache updating section 505 , and the cache server cooperating section 507 , the priority to be provided depending on the content and the QoS path information of the network, and the next hop router to which the priority is to be set, and then notifies the source of request of the determination (F 602 ).
- the source of request passes the received one or more set of router to which the priority is to be set, next hop router, and priority, and identification information on the communication flow to which the priority is to be set, to the router priority setting section 310 .
- the router priority setting section 310 sets the priority to the router based on the received information.
- the source of request obtains the Web content or content summary from the other communication party (F 603 ). Then, the source of request instructs the router priority setting section 310 to cancel the priority setting, which causes the priority setting to be canceled.
- the network system of the present invention it is possible to carry out communications by setting a low priority to communications relating to the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, even under a congestion in a part of the network where the conventional cache server has not be enable to achieve these operations. As a result, it is possible to achieve the communications without aggravating the congestion status of the network. Therefore, it is possible to increase the efficiency of the cache server.
- FIG. 25 is a block diagram showing an example of a structure according to a seventh embodiment of the present invention.
- the seventh embodiment is similar to the fourth embodiment, but is different in the following points.
- the path-settable routers R 200 to R 204 are replaced with path-setting priority controllable routers R 700 to R 704 that have the priority control function explained in the routers of the sixth embodiment in addition to the functions of the path-settable routers.
- the QoS path reference relay control cache servers C 401 to C 403 are replaced with QoS path reference relay priority control cache servers C 701 to C 703 .
- the routers R 700 to R 704 are designed to operate an MPLS protocol similarly to the routers R 200 to R 204 of the fourth embodiment, in addition to the ordinary routers.
- each of the routers R 700 to R 704 has a function of setting a necessary path based on the designated information (network addresses of two cache servers that communicate with each other, identifiers such as port numbers for identifying communications, and a string of router names of routers that constitute a cache path).
- each of the routers R 700 to R 704 has the function similar to that of the priority controllable router (R 600 to R 604 ) described in the sixth embodiment.
- each of the routers R 700 to R 704 has a function of identifying a specific communication flow, and providing priority information to a packet, according to the request from the cache servers C 701 to C 703 , and a function of controlling the priority of transmitting a packet to a link, based on the priority information provided to the packet.
- the specific communication flow is defined by a set of network address information of hosts at both ends (a cache server and a Web server) that communicate with each other, port number information for identifying the communications, and protocol information, for example, that are included in the header of the packet.
- the specific communication flow can be identified by making a decision about whether the set of the information matches a set of information given from the cache server with priority function for each packet in advance.
- a communication flow having no designation is handled in a certain predetermined priority (called a default priority PD).
- the QoS path reference relay priority control cache servers C 701 to C 703 have the function of setting a priority to a router as described in the sixth embodiment, in addition to the functions of the QoS path reference relay control cache servers described in the fourth embodiment.
- FIG. 26 is a block diagram showing an example of a structure of the QoS path reference relay priority control cache server C 701 .
- the other QoS path reference relay priority control cache servers C 702 and C 703 also have similar structures.
- a relay communication interface section 701 a QoS path information obtaining section 702 , a cache operating section 703 , a link prefetching control section 704 , an automatic cache updating section 705 , a cache server cooperating section 707 , and a path setting section 709 have functions similar to those of the relay communication interface section 101 , the QoS path information obtaining section 102 , the cache operating section 103 , the link prefetching control section 104 , the automatic cache updating section 105 , the cache server cooperating section 107 , and the path setting section 109 shown in FIG. 15 , respectively.
- the router priority setting section 710 has a function similar to that of the router priority setting section 610 shown in FIG. 23 . Accordingly, a relay control section 708 that is a different point from the other embodiments will be described hereafter.
- the relay control section 708 receives information for specifying the Web content or content summary to be obtained, from the link prefetching control section 704 , the automatic cache updating section 705 , and the cache server cooperating section 707 . Based on the load status of the network received from the QoS path information obtaining section 702 , the relay control section 708 determines which relay server is to be used, which path is to be used for obtaining the Web content or content summary, and whether it is necessary to set a priority to the path or not. In the case where it is necessary to obtain the content or content summary by setting a path, the relay control section 708 issues a request for setting a path and canceling the setting of the path, to the path setting section 709 .
- the relay control section 708 issues a relay instruction to all the relay servers that are used for the relay. Then, the relay control section 708 obtains the Web content or content summary through these relay servers. When it is necessary to set a priority, the relay control section 708 passes a set of information of router to which the priority is to be set, the address of the next hop router, and the priority, and the flow identification information, to the router priority setting section 710 , which sets the priority and cancels the setting of the priority.
- the QoS path reference relay priority control cache server C 701 is implemented by a computer.
- a recording medium K 7 like a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference relay priority control cache server. This program runs on the computer to control the operation of the computer, and thereby the communication interface section 701 , the QoS path information obtaining section 702 , the cache operating section 703 , the link prefetching control section 704 , the automatic cache updating section 705 , the cache server cooperating section 707 , the relay control section 708 , the path setting section 709 , and the router priority setting section 710 are realized on the computer.
- FIG. 27 is a flow chart showing the cache operation, the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation according to the seventh embodiment of the present invention.
- the operation that the automatic cache updating section 705 carries out for determining the content to be automatically updated, the operation that the link prefetching control section 704 carries out for determining the content for link prefetching, and the operation that the cache server cooperating section 707 carries out for determining the necessary content or the content summary, are the same as those of the conventional cache server. Therefore, these operations will not be explained here.
- the operation after the necessary content or content summary has been determined will be described hereafter.
- the automatic cache updating section 705 , the link prefetching control section 704 , and the cache server cooperating section 707 pass to the relay control section 708 network addresses of cache servers such as the QoS path reference relay priority control cache servers or the Web servers to which they want to make connection to obtain the contents or the content summaries in order to carry out the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation (F 701 ).
- cache servers such as the QoS path reference relay priority control cache servers or the Web servers to which they want to make connection to obtain the contents or the content summaries in order to carry out the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation (F 701 ).
- the relay control section 708 determines whether the content should be obtained from the received network address or not, based on the location information of the relay servers recognized in advance and the QoS path information obtained from the QoS path information obtaining section 702 .
- the relay control section 708 determines a path and relay servers to be used, and also determines to which path the priority is to be set (F 702 ).
- the relay control section 708 instructs the path setting section 709 to set the determined path.
- the relay control section 708 instructs the router priority setting section 710 to set the priority (F 704 ).
- the relay control section 708 controls the relay server to obtain the content or the content summary, and passes the obtained content or content summary to the source of request (the automatic cache updating section 705 , the link prefetching control section 704 , or the cache server cooperating section 707 ) (F 705 ).
- the relay control section 708 instructs the path setting section 709 to cancel the set path (F 706 ), and terminates the processing.
- the processing is terminated immediately.
- the QoS path information obtained from the QoS path information obtaining section 702 is as shown in FIG. 28 , that when 90% or more of the link bandwidth is being used, a congestion status exists.
- a priority P 1 is set, and the influence on other traffics is substantially negligible.
- the relay control section 708 checks, based on the QoS path information, whether there exists or not a congestion portion on the path that is determined based on the content of the routing table. When a congestion portion does not exist on the path, the relay control section 708 determines a priority based on the load on each link that constitutes the path, and a threshold value that is set to the source of request. The relay control section 708 makes the routing priority setting section 710 set the priority and the communication flow to the router.
- the relay control section 708 uses the relay servers M 401 and M 402 and the path-settable routers R 700 to R 704 existing on the network, to check whether it is possible or not to set a path from the Web server S 1 to the QoS path reference relay priority control cache server C 701 without passing through congestion portions (the links L 0 , L 1 and L 3 ).
- the QoS path reference relay priority control cache server C 701 obtains the data from the M 402 according to one of the following methods (4-1) and (4-2).
- the above operation cannot be achieved in the fourth embodiment that does not have the priority setting function.
- the operation can be achieved in the seventh embodiment. Based on the above operation, the available bandwidths on the network re effectively utilized. Accordingly, there increases the possibility of achieving the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, even in the situation where the conventional cache server has not been able to achieve these operations.
- FIG. 29 is a block diagram showing an example of a structure of a QoS path reference cache server C 101 a that is used in an eighth embodiment of the present invention.
- the eighth embodiment is realized as follows.
- each of the QoS path reference cache servers C 101 to C 103 is replaced with a QoS path reference cache server (C 101 a ) as shown in FIG. 29 .
- the routers R 100 to R 104 are replaced with the priority controllable routers R 300 to R 304 as shown in FIG. 19 .
- the QoS path reference cache server C 101 a shown in FIG. 29 is different from the QoS path reference cache server C 101 of the first embodiment shown in FIG. 2 in that the priority information adding section 508 of FIG. 20 (the fifth embodiment) is added, that the path calculating section 108 is replaced with a path calculating section 108 a, and that the recording medium K 1 is replaced with a recording medium K 1 a.
- the QoS path reference cache server C 101 a is implemented by a computer.
- the recording medium K 1 a like a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference cache server. This program runs on the computer to control the operation of the computer, and thereby the communication interface section 101 , the QoS path information obtaining section 102 , the cache operating section 103 , the link prefetching control section 104 , the automatic cache updating section 105 , the cache server cooperating section 107 , the path calculating section 108 a, and the priority information adding section 508 are realized on the computer.
- the path calculating section 108 a has a function of obtaining a maximum remaining bandwidth path to a Web server or the like based on a network address (indicating the Web server or the like) received from a source of request (the cache operating section 103 , the link prefetching control section 104 , the automatic cache updating section 105 , or the cache server cooperating section 107 ) and QoS path information obtained from the QoS path information obtaining section 102 .
- the path calculating section 108 a further has a function of providing a priority to the source of request based on the above-described priority-determining methods (a) to (c) (see the description of the priority providing section 509 shown in FIG. 20 ).
- the path calculating section 108 a obtains a maximum remaining bandwidth path to a Web server or the like indicated by the network address. At the same time, the path calculating section 108 a determines a priority based on the above priority-determining methods (a) to (c).
- the source of request passes the determined priority and a transmission packet (including the information showing the content to be obtained) having a path set as the maximum remaining bandwidth path based on the source route option, to the priority information adding section 508 .
- the priority information adding section 508 adds the priority information showing the priority, to the transmission packet, and passes it to the communication interface section 101 .
- the source of request can carry out transmission/reception of the packet having the priority using the maximum remaining bandwidth path, to/from the other communication party, and an obtain the Web content or content summary.
- FIG. 30 is a block diagram showing an example of a structure of a QoS path reference cache server C 101 b that is used in a ninth embodiment of the present invention.
- the ninth embodiment is realized as follows.
- the QoS path reference cache servers C 101 to C 103 are replaced with the QoS path reference cache server C 101 b shown in FIG. 30 .
- the routers R 100 to R 104 are replaced with the priority controllable routers R 600 to R 604 shown in FIG. 22 .
- the QoS path reference cache server C 101 b shown in FIG. 30 is different from the QoS path reference cache server C 101 of the first embodiment shown in FIG.
- the QoS path reference cache server C 101 b is implemented by a computer.
- the recording medium K 1 b like a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference cache server. This program runs on the computer to control the operation of the computer, and thereby the communication interface section 101 , the QoS path information obtaining section 102 , the cache operating section 103 , the link prefetching control section 104 , the automatic cache updating section 105 , the cache server cooperating section 107 , the path calculating section 108 b, and the router priority setting section 710 are realized on the computer.
- the path calculating section 108 b has a function of obtaining a maximum remaining bandwidth path to a Web server indicated by a network address, based on the network address (indicating the Web server) received from a source of request (the link prefetching control section 104 , the automatic cache updating section 105 , or the cache server cooperating section 107 ), and the QoS path information obtained from the QoS path information obtaining section 102 .
- the path calculating section 108 b also has a function of determining one or more set of router to which priority is to be set, a next hop router, and a priority, based on the above-described methods (d) and (f) (see the description of the priority providing section 609 shown in FIG. 23 ).
- the path calculating section 108 b obtains a maximum remaining bandwidth path to the other communication party shown in the network address.
- the path calculating section 108 a determines one or more set of router to which priority is to be set, a next hop router, and a priority, according to the above-described methods (d) and (f).
- the source of request passes the determined one or more set of router to which priority is to be set, a next hop router, and a priority, and flow identification information of communication to which the priority is to be set, to the router priority setting section 710 .
- the router priority setting section 710 sets the priority to the router based on the received information.
- the source of request obtains the Web content an the like from the other communication party using the maximum remaining bandwidth path, according to a method such as the source route option. Then, the source of request instructs the router priority setting section 710 to cancel the setting. The router priority setting section 710 cancels the setting.
- FIG. 31 is a block diagram showing an example of a structure of a QoS path reference cache server C 201 a that is used in a tenth embodiment of the present invention.
- the tenth embodiment is realized as follows.
- the routers R 200 to R 204 are replaced with routers that can set a path and a priority.
- the QoS path reference cache servers C 201 to C 203 are replaced with the QoS path reference cache server C 201 a shown in FIG. 31 .
- the QoS path reference cache server C 201 a shown in FIG. 31 is different from the QoS path reference cache server C 201 shown in FIG. 7 in that a priority information adding section 508 is added, that the path calculating section 108 is replaced with a path calculating section 108 a, and that the recording medium K 2 is replaced with a recording medium K 2 a.
- the QoS path reference cache server C 201 a is implemented by a computer.
- the recording medium K 2 a like a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference cache server. This program runs on the computer to control the operation of the computer, and thereby the communication interface section 101 , the QoS path information obtaining section 102 , the cache operating section 103 , the link prefetching control section 104 , the automatic cache updating section 105 , the cache server cooperating section 107 , the path calculating section 108 a, the path setting section 109 , and the priority information adding section 508 are realized on the computer.
- the path calculating section 108 a has a function of obtaining a maximum remaining bandwidth path to a Web server indicated by a network address, based on the network address (indicating the Web server) received from a source of request (the cache operating section 103 , the link prefetching control section 104 , the automatic cache updating section 105 , or the cache server cooperating section 107 ), and the QoS path information obtained from the QoS path information obtaining section 102 .
- the path calculating section 108 a also has a function of providing a priority to the source of request based on the above-described priority-determining methods (a) to (c) (see the description of the priority providing section 509 shown in FIG. 20 ).
- the path calculating section 108 a obtains a maximum remaining bandwidth path to a Web server indicated by the network address. At the same time, the path calculating section 108 a determines a priority based on the above priority-determining methods (a) to (c). Thereafter, the path setting section 109 instructs the router to set the maximum remaining bandwidth path on the network.
- the source of request passes a transmission packet and the determined priority to the priority information adding section 508 .
- the priority information adding section 508 adds the priority to the transmission packet, and passes it to the communication interface section 101 .
- the source of request can carry out transmission/reception of the packet having the priority using the maximum remaining bandwidth path, to/from the other communication party, and can obtain the Web content and the like.
- FIG. 32 is a block diagram showing an example of a structure of a QoS path reference cache server C 201 b that is used in an eleventh embodiment of the present invention.
- the eleventh embodiment is realized as follows.
- the routers R 200 to R 204 are replaced with the routers R 700 to R 704 shown in FIG. 26 .
- the QoS path reference cache servers C 201 to C 203 are replaced with the QoS path reference cache server C 201 b shown in FIG. 32 .
- the QoS path reference cache server C 201 b shown in FIG. 32 is different from the QoS path reference cache server C 201 shown in FIG. 7 in that a router priority setting section 710 is added, and that the recording medium K 2 is replaced with a recording medium K 2 b.
- the QoS path reference cache server C 201 b is implemented by a computer.
- the recording medium K 2 b like a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference cache server. This program runs on the computer to control the operation of the computer, and thereby the communication interface section 101 , the QoS path information obtaining section 102 , the cache operating section 103 , the link prefetching control section 104 , the automatic cache updating section 105 , the cache server cooperating section 107 , the path calculating section 108 b, the path setting section 109 , and the router priority setting section 710 are realized on the computer.
- the path calculating section 108 b has a function of obtaining a maximum remaining bandwidth path to a Web server indicated by a network address, based on the network address (indicating the Web server) received from a source of request (the link prefetching control section 104 , the automatic cache updating section 105 , or the cache server cooperating section 107 ), and the QoS path information obtained from the QoS path information obtaining section 102 .
- the path calculating section 108 b also has a function of determining one or more set of router to which priority is to be set, a next hop router, and a priority, based on the above-described methods (d) and (f) (see the description of the priority providing section 609 shown in FIG. 23 ).
- the path calculating section 108 b obtains a maximum remaining bandwidth path to the other communication party indicated by the network address.
- the path calculating section 108 a determines one or more set of router to which priority is to be set, a next hop router, and a priority, according to the methods (d) and (f).
- the path setting section 109 instructs the router to set the maximum remaining bandwidth path on the network.
- the source of request passes the determined one or more set of routers to which priority is to be set, a next hop router, and a priority, and flow identification information of communications to which the priority is to be set, to the router priority setting section 710 .
- the router priority setting section 710 sets the priority to the router based on the received information. After this has been completed, the source of request obtains the Web content or content summary from the other communication party using the maximum remaining bandwidth path. Then, the source of request instructs the router priority setting section 710 to cancel the setting. The router priority setting section 710 cancels the setting.
- FIG. 33 is a block diagram showing an example of a structure of a QoS path reference relay control cache server C 301 a that is used in a twelfth embodiment of the present invention.
- the twelfth embodiment is realized as follows.
- each of the QoS path reference relay control cache servers C 301 to C 303 is replaced with the QoS path reference relay control cache server C 301 a as shown in FIG. 33 .
- the routers R 100 to R 104 are replaced with the priority controllable routers R 300 to R 304 as shown in FIG. 19 , respectively.
- the QoS path reference relay control cache server C 301 a shown in FIG. 33 is different from the QoS path reference relay control cache server C 301 shown in FIG. 10 in that a priority information adding section 508 is added, the relay control section 110 is replaced with a relay control section 110 a, and that the recording medium K 3 is replaced with a recording medium K 3 a.
- the QoS path reference relay control cache server C 301 a is implemented by a computer.
- the recording medium K 3 a like a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference relay control cache server. This program runs on the computer to control the operation of the computer, and thereby the communication interface section 101 , the QoS path information obtaining section 102 , the cache operating section 103 , the link prefetching control section 104 , the automatic cache updating section 105 , the cache server cooperating section 107 , the relay control section 110 a, and the priority information adding section 508 are realized on the computer.
- the relay control section 110 a receives information for specifying the web content or content summary to be obtained, from a source of request (the link prefetching control section 104 , the automatic cache updating section 105 , or the cache server cooperating section 107 ). Then, the relay control section 110 a determines a priority to be given to the source of request, according the methods (a) to (c). At the same time, the relay control section 110 a checks whether or not there exists a congestion portion on the path to the other communication party to be determined based on the content of a routing table, based on the load status of the network held in the QoS path information obtaining section 102 . When there exists no congestion portion, the relay control section 110 a transfers the priority to the source of request.
- the source of request passes the priority and a transmission packet to the priority information adding section 508 .
- the priority information adding section 508 adds the priority to this transmission packet, and passes it to the communication interface section 101 .
- the source of request can carry out transmission/reception of the packet of this priority to/from the other communication party, and can obtain the Web content and the like.
- the relay control section 110 a decides whether it is possible or not to set a path that does not pass through the congestion portion by using relay servers.
- the relay control section 110 a sequentially instructs relay servers, starting from the upstream relay server, to actually relay the Web content and the like. In this case, the relay control section 110 a instructs the relay servers to relay the data according to the determined priorities.
- the content is relayed to a relay server that exists at the upstream of the congestion portion (this may not be a relay server nearest to the congestion portion, but it is most effective to transfer the content to the relay server nearest to the congestion portion) After the traffic has been recovered from the congestion status, the content is transferred to the downstream.
- the above-determined priority is set to the relay servers for relaying the content.
- the relay control section 110 a obtains a path to the other communication party on which no congestion portion exists, based on the QoS path information. In this case, the path is determined by disregarding the content of the routing table. Then, the relay control section 110 a selects all the relay servers or a part of the relay servers existing on the path, as the relay servers to be used.
- the relay control section 110 a instructs a relay server that is located at the most upstream among the relay servers to be used, the content to be obtained, a path for obtaining the content (by using a path designating method such as the source route option), and the priority.
- the relay server obtains the instructed content through the instructed path in the instructed priority.
- Each relay server up to the relay server located at the most downstream of the path sequentially repeats a similar processing. However, when the path between the relay servers is the same as that determined based on the content of the routing table, only the data to be relayed is designated, and the relay path is not designated.
- the QoS path reference relay control cache server C 301 a obtains the content from this most downstream relay server.
- FIG. 34 is a block diagram showing an example of a structure of a QoS path reference relay control cache server C 301 b that is used in a thirteenth embodiment of the present invention.
- the thirteenth embodiment is realized as follows.
- each of the QoS path reference relay control cache servers C 301 to C 303 is replaced with the QoS path reference relay control cache server C 301 b shown in FIG. 34 .
- the routers R 100 to R 104 are replaced with the priority controllable routers R 600 to R 604 shown in FIG. 25 , respectively.
- the QoS path reference relay control cache server C 301 b shown in FIG. 34 is different from the QoS path reference relay control cache server C 301 shown in FIG. 10 in that a router priority setting section 710 is added, that the relay control section 110 is replaced with a relay control section 110 b, and that the recording medium K 3 is replaced with a recording medium K 3 b.
- the QoS path reference relay control cache server C 301 b is implemented by a computer.
- the recording medium K 3 b like a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference relay control cache server. This program runs on the computer to control the operation of the computer, and thereby the communication interface section 101 , the QoS path information obtaining section 102 , the cache operating section 103 , the link prefetching control section 104 , the automatic cache updating section 105 , the cache server cooperating section 107 , the relay control section 110 b, and the router priority setting section 710 are realized on the computer.
- the path calculating section 108 b checks whether or not there exists a congestion portion on the path to the other communication party to be determined based on the content of a routing table. When there exists no congestion portion, the path calculating section 108 b determines one or more set of router to which priority is to be set, a next hop router, and a priority, for the path, according to the methods (d) and (f).
- the source of request passes the determined one or more set of the router to which priority is to be set, the next hop router, and the priority, and flow identification information of communication to which the priority is to be set, to the router priority setting section 710 .
- the router priority setting section 710 sets the priority to the router based on the received information. After this has been completed, the source of request obtains the Web content and the like from the other communication party.
- the path calculating section 108 b checks whether it is possible or not to set a path on which there exists no congestion portion by using relay servers.
- the path calculating section 108 b determines one or more set of router to which priority is to beset, a next hop router, and a priority, for the path, according to the methods (d) and (f).
- the source of request passes the determined set of the router to which priority is to be set, the next hop router, and the priority, and flow identification information of communications to which the priority is to be set, to the router priority setting section 710 .
- the router priority setting section 710 sets the priority to the router based on the received information.
- the source of request sequentially instructs relay servers, starting from the upstream relay server, to actually relay the Web content or the like, and obtains the Web content and the like.
- the content are relayed to a relay server that exists at the upstream of the congestion portion (this may not be a relay server nearest to the congestion portion, but it is most effective to transfer the content to the relay server nearest to the congestion portion). After the traffic has been recovered from the congestion status, the content are transferred to the downstream.
- the relay control section 110 b obtains a path to the other communication party on which no congestion portion exists, based on the QoS path information. In this case, the path is determined by disregarding the content of the routing table. Then, the relay control section 110 b selects all the relay servers or a part of the relay servers existing on the path, as the relay servers to be used.
- the relay control section 110 b instructs a relay server that is located at the most upstream among the relay servers to be used, the content to be obtained, a path for obtaining the content (by using a path assigning method like the source route option). In response to this instruction, the relay server obtains the instructed content through the instructed path.
- Each relay server up to the relay server located at the most downstream of the path sequentially repeats similar processing. However, when the path between the relay servers is the same as that determined based on the content of the routing table, only the data to be relayed is designated, and the relay path is not designated.
- the QoS path reference relay control cache server C 301 b obtains the content from this most downstream relay server.
- FIG. 35 is a block diagram showing an example of a structure of a QoS path reference relay control cache server C 401 a that is used in a fourteenth embodiment of the present invention.
- the fourteenth embodiment is realized as follows.
- each of the QoS path reference relay control cache servers C 401 to C 403 is replaced with the QoS path reference relay control cache server C 401 b shown in FIG. 35 .
- the routers R 200 to R 204 are replaced respectively with routers each of which can set a priority and a path.
- the QoS path reference relay control cache server C 401 a shown in FIG. 35 is different from the QoS path reference relay control cache server C 401 shown in FIG. 15 in that a priority information adding section 508 is added, that the relay control section 110 is replaced with a relay control section 110 a, and that the recording medium K 4 is replaced with a recording medium K 4 a.
- the QoS path reference relay control cache server C 401 a is implemented by a computer.
- the recording medium K 4 a like a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference relay control cache server. This program runs on the computer to control the operation of the computer, and thereby the communication interface section 101 , the QoS path information obtaining section 102 , the cache operating section 103 , the link prefetching control section 104 , the automatic cache updating section 105 , the cache server cooperating section 107 , the relay control section 110 a, and the priority information adding section 508 are realized on the computer.
- the relay control section 110 a receives information for specifying the Web content and content summaries to be obtained, from a source of request (the link prefetching control section 104 , the automatic cache updating section 105 , or the cache server cooperating section 107 ). Then, the relay control section 110 a determines a priority to be given to the source of request, according the methods (a) to (c). At the same time, the relay control section 110 a checks whether or not there exists a congestion portion on the path to the other communication party to be determined based on the content of a routing table, based on the load status of the network held in the QoS path information obtaining section 102 . When there exists no congestion portion, the relay control section 110 a notifies the source of request of the priority.
- the source of request passes the received priority and a transmission packet to the priority information adding section 508 .
- the priority information adding section 508 adds the priority to this transmission packet, and passes it to the communication interface section 101 .
- the source of request can carry out transmission/reception of the packet of this priority to/from the other communication party, and can obtain the Web content and the like.
- the relay control section 110 a decides whether it is possible or not to set a path on which there exists no congestion portion by using relay servers and path-settable routers.
- the relay control section 110 a uses the path setting section 109 to instruct the router to set the path on the network. Thereafter, the relay control section 110 a sequentially instructs relay servers, starting from the upstream relay server, to actually relay the Web content and the like. In this case, the relay control section 110 a instructs the relay servers to relay according to determined priorities.
- the content is relayed to a relay server that exists at the upstream of the congestion portion (this may not be a relay server nearest to the congestion portion, but it is most effective to transfer the content to the relay server nearest to the congestion portion). After the traffic has been recovered from the congestion status, the content is further transferred to the downstream.
- a first advantage such that it is possible to execute an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation in higher probabilities than those of the conventional practice, without deteriorating a congestion status of the network.
- a path suitable for carrying out the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation is obtained based on QoS path information.
- a relay server suitable for carrying out the above three operations is selected, or the priority of communication for carrying out the above three operations is set lower.
- a second advantage such that it is possible to obtain desired content in a shorter time than the case of obtaining the content after the congestion status has been canceled.
- Such a second advantage can be achieved by using relay servers.
- a third advantage such that, in the case of using relay servers, it is possible to execute a link prefetching operation, an automatic cache updating operation, and a cache server cooperating operation in higher probabilities, without deteriorating a congestion status of the network.
- This can be achieved by providing a cache server with a path setting function, and using a path-settable router as a router.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
A path calculating section obtains a path suitable for carrying out an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, based on QoS path information that includes network path information and path load information obtained by a QoS path information obtaining section. An automatic cache updating section, a link prefetching control section, and a cache server cooperating section carry out respective ones of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, by utilizing the path obtained. For example, the path calculating section obtains a maximum remaining bandwidth path as the path.
Description
- This is a continuation of U.S. patent application Ser. No. 09/915,056, filed Jul. 25, 2001, in the name of Masayoshi Kobayashi, and entitled TECHNIQUE FOR ENHANCING EFFECTIVENESS OF CACHE SERVER.
- 1. Field of the Invention
- The present invention relates to a cache server and a network system having cache servers. The invention particularly relates to a technique of performing prefetching of linked information (link prefetching) and the like with enhanced effectiveness of a cache server in high probabilities without deteriorating a congestion status of the network.
- 2. Description of the Related Art
- A conventional network system having cache servers will be described with reference to
FIG. 36 andFIG. 37 . -
FIG. 36 is a block diagram showing an example of the configuration of a conventional network system having cache servers. Web servers S1 and S2 are the servers that exist within sub-nets N2 and N3, respectively, and hold various Web (Worldwide Web) contents. Terminals T1, T2 and T3 for accessing the Web servers S1 and S2 exist within sub-nets N1 and N4. Cache servers C1, C2 and C3 are also disposed on the network. Routers R0, R1, R2, R3 and R4 connect the sub-nets N1, N2 and N3 using links L0 to L5 to form the network. The cache servers C1, C2 and C3 hold copies of various contents on the Web servers (here, S1 and S2). - When a terminal (assumed as T1 in this case) obtains the content from a Web server (assumed as S1 in this case) a certain cache server (assumed as C1 in this case) intermediates this operation. When there has occurred a request for making access to the content information of the Web server S1, first, the cache server C1 checks whether the cache server C1 itself is holding the content information of the Web server S1 or not. When the cache server C1 is not holding the content, the cache server C1 inquires other cache servers such as the cache servers C2 and C3 about whether these cache servers hold the content or not. The cache server C1 obtains the content information from the cache server that holds the same, or obtains the same from the Web server that has originally held the content (such a Web server is called an original Webserver) before forwarding the obtained content to the terminal T1. At the same time, the same content may also be held in a storage within the cache server C1. In this case, the cache server C1 passes the content information to the terminal T1.
- When the cache server C1 holds the content, the content is passed to the terminal T1. The cache server C1 inquires the original Web server S1 about the last update date and time of the content. When the content held in the cache server C1 is older than that of the original Web server S1, the cache server C1 may obtain the content from the original Web server S1 again. This operation is hereafter called an update checking operation.
- The cache server (C1, C2 or C3) is also inquired from another cache server, not only from a terminal, about whether the cache server hold the content information or not. The operation in this case is similar to that of the intermediation in the access from the terminal to the Web server. In other words, when there has occurred a request for making access to the content information of the Webserver, this cache server checks whether the own cache server is holding the content information of the Web server or not. When the cache server is not holding the content, this cache server inquires other cache servers about whether these cache servers hold the content or not. The cache server obtains the content from the cache server that holds the content, or obtains the content information from the original Web server that has originally held the content. Then, the cache server passes the content information to the cache server that has made the original inquiry. In this case, the same content may also be held in a storage at the same time. When the cache server is holding the content, the content is passed to the cache server issuing the original inquiry. In this case, the update checking operation may be carried out.
- Each of the cache servers carries out the above operation. If the update checking operation is not carried out, then the cache server may be holding the content information older than that of the Web server (the content information that does not reflect the updating of the content carried out at the Web server), even when the cache server is holding the content information of the Web server for which there has been an access request. In this case, the old contents are sent to the terminal. When the cache server is holding the old content at the time of carrying out the update checking, it takes time for the terminal to obtain the updated content, because the cache server obtains the updated content from the original Web server again.
- For the above reason, it is important for each cache server to hold Web content information which has a high possibility of receiving an access request from terminals and is not older than that on the Web server.
- In order to meet this requirement, the conventional cache server has carried out: 1) an automatic cache updating operation; 2) a link prefetching operation; and 3) a cache server cooperating operation.
- The automatic cache updating operation is the operation of obtaining the latest version of the Web content held by the cache server from the original Web server by making access to this original Web server.
- The link prefetching operation is the operation of previously obtaining the content information associated with links described in the Web content that is held by the cache server.
- The cache server cooperating operation is the operation of carrying out redistribution, sharing and comparison of freshness of caches held by cache servers, among the cache servers. The cache redistribution is the operation that a cache server that does not have a certain content obtains the content from another cache server that has the content. The cache sharing is the operation that when a cache server that does not have a certain content has received a request for making access to the content from a terminal, this cache server transfers this access request to a cache server that has the content. The cache freshness comparison is the operation that a cache server that has a certain content checks whether another cache server has the latest version of the that reflect the latest updating by the Web server, and obtains the latest version when necessary.
- For the cache server cooperating operation, the conventional cache servers have exchanged with each other a list of contents held by respective cache servers and information showing cache validity of contents held by each of the cache servers (called content summary). As the information showing the validity of a cache, an effective period of the cache indicated by the content-originating server, and the last updating time and date of the content have been used.
-
FIG. 37 is a diagram showing an internal structure of the conventional cache server. Each circuit block will be described hereinafter. - A
communication interface section 1 provides a transmission/reception interface between a network and each of acache operating section 3, a congestioninformation obtaining section 2, a linkprefetching control section 4, an automaticcache updating section 5, and a cacheserver cooperating section 7. - The congestion
information obtaining section 2 investigates congestion information on a path determined based on the content of a routing table to a destination on the network specified by the linkprefetching control section 4, the automaticcache updating section 5, and the cacheserver cooperating section 7, based on test communication to a specified destination through thecommunication interface section 1. The congestioninformation obtaining section 2 passes the result of the investigation to the linkprefetching control section 4, the automaticcache updating section 5, and the cacheserver cooperating section 7. - The
cache operating section 3 receives a request for making access to the Web content from a terminal via thecommunication interface section 1, and searches a storage 6 for the content. When the content does not exist, thecache operating section 3 makes access to a corresponding Web server, and obtains the content. Thecache operating section 3 stores the obtained content in the storage 6, and at the same time, transmits the content to the request-originating terminal. When the content exist, thecache operating section 3 transmits the content to the request-originating terminal. In the case of carrying out the update checking operation when the content exist, thecache operating section 3 checks whether the last update date and time of the held content is older than the last update date and time of the content held by the Web server. When the last update date and time of the held content is older, thecache operating section 3 obtains the content of the Web server, holds the obtained content in the storage 6, and at the same time, passes the content to the terminal. - The link
prefetching control section 4 extracts links to content information which are now not stored in the storage 6 but have a possibility of making access thereto from now on, from the links to relevant information described in the Web content stored in the storage 6. For example, the linkprefetching control section 4 extracts a first predetermined number of links to content information which are now not stored in the storage 6 from a plurality of links described in the content. The linkprefetching control section 4 checks the load statuses of the network on paths to the Web servers that hold the contents indicated by the extracted links, by utilizing the congestioninformation obtaining section 2. Then, the linkprefetching control section 4 decides whether the contents indicated by the extracted links are obtainable, depending on the obtained load statues. When it has been decided that the content are obtainable, the linkprefetching control section 4 makes access to the corresponding web server, and obtains the content. The linkprefetching control section 4 stores the obtained content in the storage 6. Preset information may also be used for making this decision. - The automatic
cache updating section 5 investigates the intervals of updating of the content on the Web server where the content originally exist, for the Web content held in the storage 6. Then, the automaticcache updating section 5 determines the date and time of updating the cached content. On the determined date and time, the automaticcache updating section 5 investigates the congestion status of the network on the path to the corresponding Web server that holds the content, by utilizing the congestioninformation obtaining section 2. Then, the automaticcache updating section 5 decides based on the obtained congestion information whether the content is obtainable. When it has been decided that the content are obtainable, the automaticcache updating section 5 makes access to the corresponding Web server, and obtains the content. The obtained content is stored in the storage 6. Preset information may also be used for making this decision. - The storage 6 stores various Web contents and content summaries.
- The cache
server cooperating section 7 exchanges with one another lists of contents held by the respective cache servers and validity information showing the validity of cache of the content held by each cache server, which are used to carry out redistribution, sharing and comparison of freshness. At the time of exchanging the content list and validity information, the cacheserver cooperating section 7 investigates the congestion status of the network on the path to an opposite cache server by using the congestioninformation obtaining section 2. The cacheserver cooperating section 7 decides whether the information exchange is to be carried out,based on the obtained congestion information. As a result of the information exchange, the cacheserver cooperating section 7 finds out the content that should be obtained in advance from another cache server. For the content that have been decided to be obtained in advance, the cacheserver cooperating section 7 investigates the congestion status of the network on the path to the cache server that holds the target content, by using the congestioninformation obtaining section 2. The cacheserver cooperating section 7 decides whether the content is obtainable or not, based on the obtained information. When it has been decided to obtain the content, the cacheserver cooperating section 7 obtains the content from the corresponding cache server. - Basically, 1) the automatic cache updating operation, 2) the link prefetching operation, and 3) the cache server cooperating operation are performed to predict the Web content that is required by the terminal, and makes access to the Web server prior to the time when the terminal actually requires the content so as to increase the effectiveness of a cache server. When the predicted content are not actually required, or when the content is updated more frequently at the Web server than the automatic cache updating operation, these operations are not effective. Only the resources of the network are wasted. Therefore, in many cases, the traffic generated by these three operations is desired not to interrupt other traffics that are generated based on the actual needs of the Web servers by the terminals.
- For this reason, conventionally, in the case of obtaining the Web content or the content summary corresponding to the above operations of (1), (2) and (3) by using the congestion
information obtaining section 2, the load of the network path currently set is checked. In the conventional network system, the operations of (1), (2) and (3) is performed only when the network load is low. - Japanese Patent Application Unexamined Publication No. 11-24981 describes a technique of obtaining a relatively low traffic time zone in the wide-area network by using a wide-area network monitoring apparatus, and fetching the content in advance during the obtained time zone.
- The conventional techniques shown in
FIG. 36 and FIG. 37 have the following disadvantages. Assume the following case. In the network configuration as shown inFIG. 36 , the content or the content summary that the cache server C1 on the sub-net N1 is going to obtain for the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation exist in the Web server S1 on the sub-net N2. The path from the sub-net N1 to the sub-net N2 determined by routing tables (not shown) within the routers R0 to R4 is N1.R0.L0.R1.L1.R2.N2. Among the links L0 to L5, only the load of the link L1 is high. - In this case, as a path from the sub-net N1 to the sub-net N2 having the Web server S1 included therein, there is also another low-load path such as N1.R0.L0.R1.L2.R3.L3.R2.N2, in addition to the above path of N1.R0.L0.R1.L1.R2.N2.
- However, according to the conventional cache server, the congestion
information obtaining section 2 decides the congestion by flowing a test packet on the path currently set (on the path determined by the contents of the routing table). Therefore, the congestioninformation obtaining section 2 decides that the network is in the high-load status. As a result, the information that the network is under the high load is transmitted to the linkprefetching control section 4, the automaticcache updating section 5, and the cacheserver cooperating section 7. Consequently, there has been a problem that the operations of (1), (2) and (3) are not carried out. - Further, the technique described in Japanese Patent Application Unexamined Publication No. 11-24981 has had the following disadvantage. There is a case where the load of the path used for the prefetching of the content is high even in the time zone in which the wide-area network monitoring apparatus has decided that the wide-area network is in relatively low traffic. As a result, the prefetching of the content may further deteriorate the congestion status of the network.
- It is, therefore, an object of the present invention to provide techniques for increasing the efficiency of a cache server by performing a link prefetching operation, an automatic cache updating operation, and a cache server cooperating operation in higher probabilities than those of the prior art, without deteriorating a congestion status of the network.
- The object of the present invention can be achieved by making the cache server know the network topology of routers and links within a network and the load status of each link and thereby to take a path by bypassing high-load links, lowering the traffic priority of the high-load link, or relaying data using low-load links.
- According to one aspect of the present invention, there is provided a network system including a cache server in which a path calculating section obtains a path suitable for carrying out an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, based on QoS path information that includes network path information and path load information obtained by a QoS path information obtaining section. An automatic cache updating section, a link prefetching control section, and a cache server cooperating section carry out respective ones of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, by utilizing the path.
- The path calculating section obtains a maximum remaining band path, for example, as the above path. In order to carry out communications using the above path, a path determination method such as a source route option or a path-settable router can be used. Whether the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation should be carried out maybe controlled based on the value of a minimum remaining bandwidth (a minimum one among remaining bandwidths of links that constitute a path) in the path obtained by the path calculating section.
- Based on provision of the above structure, it becomes possible to make a cache server perform the link prefetching operation, the automatic cache updating operation, and/or the cache server cooperating operation in higher probabilities than those of the prior art. This causes the efficiency of the cache server to be increased without deteriorating a congestion status of the network.
- Further, in order to achieve the above object, according to another aspect of the present invention, there is provided a network system including a cache server in which a relay control section selects a relay server that is necessary for setting a path suitable for carrying out an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, based on QoS path information that includes network path information and path load information obtained by a QoS path information obtaining section. The relay control section instructs the selected relay server about data to be relayed. The relay control section selects a relay server that is necessary for setting a relay path that does not include a congestion portion. According to this structure, it is possible to obtain the above-described advantages. Further, when a relay path including no congestion portion is not found, only a relay server that locates upstream from (preferably nearest to) the congestion portion is notified of data to be relayed, and the data is stored in that location of the relay path until the congestion status has disappeared. When the congestion status has disappeared, the relay control section issues a relay instruction to relay servers downstream from the location where the congestion had occurred. With this arrangement, it becomes possible to shorten the time taken for obtaining the data as compared with the case of obtaining the data from the original Web server after the congestion status has been released.
- In addition to the above arrangement, a path setting section maybe provided in the cache server, and a path-settable router maybe used that can set a path according to an instruction of the path setting section, as a router. With this arrangement, it becomes possible to make a cache server carry out the link prefetching operation, the automatic cache updating operation, and the cache server cooperating operation in higher probabilities without deteriorating a congestion status of the network.
- Further, in order to achieve the above object, according to still another aspect of the present invention, there is provided a network system that includes a priority controllable router for controlling the priority of sending a packet to a link based on priority information given to the packet, and a cache server for carrying out at least one of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, and for giving priority information to a packet to be used for communications generated by the above three operations. According to this arrangement, it becomes possible to lower the priority of communications for the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation. Therefore, it becomes possible to execute the link prefetching operation, the automatic cache updating operation, and the cache server cooperating operation in higher probabilities, without deteriorating a congestion status of the network.
- Further, in order to achieve the above object, according to still further aspect of the present invention, there is provided a network system that includes a priority controllable router designed to give priority information to a packet relating to a specific communication flow by discriminating this communication flow, and to control the priority of transmitting a packet to a link based on the priority information given to the packet. The network system further includes a cache server for obtaining priority, that can be changed for each link of the network, suitable for executing the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, based on QoS path information. The cache server further requests the priority controllable router to set and cancel the priority to a specific communication flow. According to this arrangement, it becomes possible to lower the priority of communications for the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation. Therefore, it becomes possible to execute the link prefetching operation, the automatic cache updating operation,and the cache server cooperating operation in higher probabilities, without deteriorating a congestion status of the network.
-
FIG. 1 is a block diagram showing an example of a structure according to a first embodiment of the present invention. -
FIG. 2 is a block diagram showing an example of a structure of a QoS path reference cache server C101. -
FIG. 3 is a flowchart showing an example of the operation according to the first embodiment of the present invention. -
FIG. 4 is a diagram showing one example of QoS path information. -
FIG. 5 is a diagram showing a graph of the QoS path information shown inFIG. 4 . -
FIG. 6 is a block diagram showing an example of a structure according to a second embodiment of the present invention. -
FIG. 7 is a block diagram showing an example of a structure of a QoS path reference cache server C201. -
FIG. 8 is a flowchart showing an example of the operation according to the second embodiment of the present invention. -
FIG. 9 is a block diagram showing an example of a structure according to a third embodiment of the present invention. -
FIG. 10 is a block diagram showing an example of a structure of a QoS path reference relay control cache server C301. -
FIG. 11 is a flow chart showing an example of the operation according to the third embodiment of the present invention. -
FIG. 12 is a diagram showing one example of QoS path information according to the third embodiment of the present invention. -
FIG. 13 is a diagram showing one example of QoS path information according to the third embodiment of the present invention. -
FIG. 14 is a block diagram showing an example of a structure according to a fourth embodiment of the present invention. -
FIG. 15 is a block diagram showing an example of a structure of a QoS path reference relay control cache server C401. -
FIG. 16 is a flow chart showing an example of the operation according to the fourth embodiment of the present invention. -
FIG. 17 is a diagram showing one example of QoS path information according to the fourth embodiment of the present invention. -
FIG. 18 is a diagram showing one example of QoS path information according to the fourth embodiment of the present invention. -
FIG. 19 is a block diagram showing an example of a structure according to a fifth embodiment of the present invention. -
FIG. 20 is a block diagram showing an example of a structure of a cache server with priority function C501. -
FIG. 21 is a flow chart showing an example of the operation according to the fifth embodiment of the present invention. -
FIG. 22 is a block diagram showing an example of a structure according to a sixth embodiment of the present invention. -
FIG. 23 is a block diagram showing an example of a structure of a cache server with priority function C601. -
FIG. 24 is a flow chart showing an example of the operation according to the sixth embodiment of the present invention. -
FIG. 25 is a block diagram showing an example of a structure according to a seventh embodiment of the present invention. -
FIG. 26 is a block diagram showing an example of a structure of a QoS path reference relay priority control cache server C701. -
FIG. 27 is a flow chart showing an example of the operation according to the seventh embodiment of the present invention. -
FIG. 28 is a diagram showing one example of QoS path information according to the seventh embodiment of the present invention. -
FIG. 29 is a block diagram showing an example of a structure of a QoS path reference cache server C101 a that is used in an eighth embodiment of the present invention. -
FIG. 30 is a block diagram showing an example of a structure of a QoS path reference cache server C101 b that is used in a ninth embodiment of the present invention. -
FIG. 31 is a block diagram showing an example of a structure of a QoS path reference cache server C201 a that is used in a tenth embodiment of the present invention. -
FIG. 32 is a block diagram showing an example of a structure of a QoS path reference cache server C201 b that is used in an eleventh embodiment of the present invention. -
FIG. 33 is a block diagram showing an example of a structure of a QoS path reference relay control cache server C301 a that is used in a twelfth embodiment of the present invention. -
FIG. 34 is a block diagram showing an example of a structure of a QoS path reference relay control cache server C301 b that is used in a thirteenth embodiment of the present invention. -
FIG. 35 is a block diagram showing an example of a structure of a QoS path reference relay control cache server C401 a that is used in a fourteenth embodiment of the present invention. -
FIG. 36 is a block diagram showing an example of a structure of a conventional network system. -
FIG. 37 is a block diagram showing an example of a structure of a conventional cache server C1. - Embodiments of the present invention will be described in detail with reference to the drawings.
-
FIG. 1 shows the configuration of a network system according to a first embodiment of the present invention. Web servers S1 and S2 exist within sub-nets N2 and N3 respectively, and hold various Web content information. Terminals T1, T2 and T3 for accessing the Web servers S1 and S2 exist within sub-nets N1 and N4. QoS (Quality of Service) path reference cache servers C101 to C103 are also disposed on the network. The QoS path reference cache servers C101 to C103 hold copies of various content on the Web servers S1 and S2 that have been accessed from the terminals T1 to T3 and other cache servers (QoS path cache servers or conventional cache servers are not shown). In addition, the QoS path reference cache servers C101 to C103 are designed to obtain QoS path information that includes pairs of names of links and routers that are connected with each other, bandwidth of each link, and remaining bandwidth of each link. - The QoS path information maybe obtained by communicating with each router operating a process of collecting information such as the predetermined bandwidth and currently available bandwidth of each line on routers R100 to R104. Alternatively, the QoS path information may be collected from the network by operating a path control protocol such as QSSPF for exchanging QoS path information on each of the routers R100 to R104, and the cache servers may obtain the QoS path information from an adjacent router. The routers R100 to R104 constitute a network for connecting the sub-nets N1, N2, N3 and N4 using links L0 to L5. Each of the routers R100 to R104 performs routing based on its own routing table.
- When a terminal (assumed as T1 in this case) obtains the content within the Web server (assumed as S1 in this case), a certain QoS path reference cache server (assumed as C101 in this case) intermediates this operation. This operation is similar to that of the conventional cache server. When there has occurred a request for making access to the content information of the Web server S1, first, the QoS path reference cache server C101 checks whether the QoS path reference cache server C101 itself is holding the content information of the Web server S1.
- When the QoS path reference cache server C101 is not holding the content, the QoS path reference cache server C101 inquires other QoS path reference cache servers (here, the QoS path reference cache servers C102 and the C103) about whether these QoS path reference cache servers hold the content. The QoS path reference cache server C101 obtains the content from the QoS path reference cache server that holds the content, or obtains the content information from the original Web server that has originally held the content. Then, the QoS path reference cache server C101 passes the content information to the terminal T1. In this case, the same content may also be held in a storage within the cache server C101 at the same time.
- When the QoS path reference cache server C101 holds the content, the content is passed to the terminal T1. When the QoS path reference cache server C101 passes the content to the terminal T1, the QoS path reference cache server C101 may inquire the original Web server S1 about the last update date and time of the content. When the content held in the QoS path reference cache server C101 is older than that of the original Web server S1, the QoS path reference cache server C101 may obtain the content from the original Web server S1 again, which is an update checking operation.
- The QoS path reference cache servers (C101, C102 and C103) are also inquired from other QoS path reference cache servers, not only from the terminals T1 to T3, about whether the target content information is held. The operation in this case is also similar to that of the conventional cache server. In other words, when there has occurred a request for making access to the content information of the Web server, this QoS path reference cache server checks whether the own QoS path reference cache server is holding the content information of the Web server. When the QoS path reference cache server is not holding the content, this QoS path reference cache server inquires other QoS path reference cache servers about whether these QoS path reference cache servers hold the content. The QoS path reference cache server obtains the content from the QoS path reference cache server that holds the content, or obtains the content information from the original Web server that has originally held the content. Then, the QoS path reference cache server passes the content information to the QoS path reference cache server that made the original inquiry. In this case, the same content may also be held in a storage at the same time.
- When the QoS path reference cache server holds the content, the content is passed to the QoS path reference cache server of the original inquiry. In this case, the update checking operation may be carried out. Further, in order to increase the effectiveness of the cache server, the cache server carries out (1) the automatic cache updating operation, (2) the link prefetching operation, and (3) the cache server cooperating operation, in a similar manner to that of the conventional cache server.
- However, regarding the communication necessary for carrying out these operations, a decision has been conventionally made about whether these operations should be carried out, based on a congestion status of the network on the path set at this point of time with the other communication party.
- On the other hand, according to the present embodiment, a path bypassing operation is carried out by utilizing QoS path information.
-
FIG. 2 is a block diagram showing an example of an internal structure of the QoS path reference cache server C101 as shown inFIG. 1 . Each element will be described hereafter. Other QoS path reference cache servers also have a similar structure. - A
communication interface section 101 provides a transmission/reception interface between a network and each of acache operating section 103, a linkprefetching control section 104, an automaticcache updating section 105, and a cacheserver cooperating section 107. - A QoS path
information obtaining section 102 obtains QoS path information. - The
cache operating section 103 receives a request for making access to a Web content from a terminal via thecommunication interface section 101, and searches astorage 106 for the desired content. When the desired content is not found in thestorage 106, thecache operating section 103 makes access to the corresponding Web server or other cache servers to obtain the desired content and stores the obtained content in thestorage 106, and at the same time, transmits the content to the request-originating terminal. When the content is found in thestorage 106, thecache operating section 103 transmits the content to the terminal. In the case of carrying out the update checking operation when the content exist, thecache operating section 103 checks whether the last update date and time of the stored content is older than the last update date and time of the content held by the Web server. When the last update date and time of the stored content is older, thecache operating section 103 obtains the content from the Web server, stores the obtained content in thestorage 106, and at the same time, passes the obtained content to the terminal. - The link
prefetching control section 104 extracts links to content information which are now not stored in thestorage 106 but have a possibility of making access thereto from now on, from the links to relevant information described in the Web content stored in thestorage 106. Thereafter, the linkprefetching control section 104 notifies apath calculating section 108 of the location information of the Web servers holding the contents indicated by the extracted links to obtain information of a maximum remaining bandwidth path and a minimum remaining bandwidth of the maximum remaining bandwidth path. The maximum remaining bandwidth path is defined as a path having a maximum remaining bandwidth. The minimum remaining bandwidth is defined as a minimum one among remaining bandwidths of respective ones of the links included in the maximum remaining band width path. Then, the linkprefetching control section 104 decides whether the contents indicated by the links are obtained, based on the obtained information. For example, when the minimum remaining bandwidth is equal to or greater than a predetermined value, a decision is made that the contents are obtainable. Alternatively, when the minimum remaining bandwidth is equal to or greater than the predetermined value, and also when the number of hops in the maximum remaining bandwidth path is equal to or smaller than a predetermined value, a decision is made that the contents are obtainable. When it has been decided that the contents are obtainable, the linkprefetching control section 104 makes access to the corresponding Web servers, using a path designating method such as a source route option for including the path information into the packet. When the contents are obtained, the obtained contents are stored in thestorage 106. - The automatic
cache updating section 105 investigates the intervals of updating of the content on the Web server originally holding the content, for the Web content held within thestorage 106. Then, the automaticcache updating section 105 determines the date and time of updating the cache content. On the determined date and time, the automaticcache updating section 105 passes the location information (network address) of the Web server holding the content to thepath calculating section 108. The automaticcache updating section 105 obtains information on the maximum remaining bandwidth path and information on the minimum remaining bandwidth from thepath calculating section 108. Then, the automaticcache updating section 105 decides whether the content is obtainable. For example, when the minimum remaining bandwidth is equal to or greater than the predetermined value, a decision is made that the content is obtained. Alternatively, when the minimum remaining bandwidth is equal to or greater than the predetermined value, and also when the number of hops in the maximum remaining bandwidth path is equal to or smaller than a predetermined value, a decision is made that the content is obtained. When it has been decided that the content is obtained, the automaticcache updating section 105 makes access to the corresponding Web server, using a path designating method such as a source route option, and obtains the content. The obtained content is stored in thestorage 106. - The
storage 106 stores various Web contents and content summaries. - The cache
server cooperating section 107 exchanges with each other lists of contents held by the respective cache servers and information (content summary) showing the validity of the cache of content held by each cache server, for carrying out redistribution, sharing and comparison of freshness among the cache servers. Based on such information, the cacheserver cooperating section 107 performs content exchanging as necessary. When exchanging contents and content summaries, the cacheserver cooperating section 107 passes the network address of the cache server of the other party to thepath calculating section 108. The cacheserver cooperating section 107 obtains information on the maximum remaining bandwidth path and information on the minimum remaining bandwidth from thepath calculating section 108. Then, the cacheserver cooperating section 107 decides whether the content or content summary is obtained or not. When it has been decided that the content or content summary is obtained, the cacheserver cooperating section 107 obtains the content or content summary, using a path designating method like a source route option. The obtained content or content summary is stored in thestorage 106. - The
path calculating section 108 obtains from the QoS pathinformation obtaining section 102 information on the link connected to each router, and the name of the router connected to the link, and available bandwidth information of each link (QoS path information). Thepath calculating section 108 calculates the maximum remaining bandwidth path to the Web server and the minimum remaining bandwidth to the Web server, which are designated by the linkprefetching control section 104, the automaticcache updating section 105, or the cacheserver cooperating section 107. An algorithm of Dijkstra is used for this path calculation. As a result of the calculation, the path information to the Web server and the minimum remaining bandwidth information are returned to the linkprefetching control section 104, the automaticcache updating section 105, or the cacheserver cooperating section 107 that made the request. - The QoS path reference cache server C101 is implemented by a computer. A recording medium K1 such a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference cache server. This program runs on the computer and thereby the operation of the computer is controlled to realize the
communication interface section 101, the QoS pathinformation obtaining section 102, thecache operating section 103, the linkprefetching control section 104, the automaticcache updating section 105, the cacheserver cooperating section 107, and thepath calculating section 108. -
FIG. 3 is a flow chart showing the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation according to the first embodiment of the present invention. - The operation of determining the content to be automatically updated in the automatic
cache updating section 105, the operation of determining the content for link prefetching in the linkprefetching control section 104, and the operation of determining the necessary content or the content summary in the cacheserver cooperating section 107, are the same as those of the conventional cache server. Therefore, these operations will not be explained here. The operation after the necessary content or content summary has been decided will be described below. - The automatic
cache updating section 105, the linkprefetching control section 104, and the cacheserver cooperating section 107 pass to thepath calculating section 108 the network addresses of the Web servers or the QoS path reference cache servers to which they want to make connection to obtain the content or the content summary in order to carry out the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation. Thus, these sections request thepath calculating section 108 to carry out the path calculation (F101). When the cache update date and time determined as a result of the content updating interval investigation has come, the automaticcache updating section 105 passes the network address used for obtaining the content to thepath calculating section 108. - When the link
prefetching control section 104 has found links to content information which are now not stored in thestorage 106 but have a possibility of making access thereto from now on, from the links to relevant information described in the Web content stored in thestorage 106, the linkprefetching control section 104 passes the network addresses of the Web servers that hold the contents indicated by the found links, to thepath calculating section 108. The cacheserver cooperating section 107 passes the addresses of the Web servers that hold the contents to be obtained, to thepath calculating section 108 at intervals of a predetermined time period. - The
path calculating section 108 obtains the maximum remaining bandwidth path to the network of a received network address and the minimum remaining bandwidth on the maximum remaining bandwidth path, based on the QoS path information obtained from the QoS pathinformation obtaining section 102 that includes pairs of names of links and routers that are connected with each other, the preset bandwidth and the currently available bandwidth of each link. Then, thepath calculating section 108 passes the obtained information to the source of request (the automaticcache updating section 105, the linkprefetching control section 104, or the cache server cooperating section 107) (F102). - For instance, in the case where the
path calculating section 108 has obtained the QoS path information as shown inFIG. 4 from the QoS pathinformation obtaining section 102, and also has received the network address of the Web server S1 from a request originator, the QoS path information shown inFIG. 4 can be expressed in a graph as shown inFIG. 5 . If the SPF (Shortest Path First) algorithm of Dijkstra is used, it can be understood that the path capable of obtaining the maximum remaining bandwidth is R100.L0.R101.L2.R103.L3.R102. As a result, the minimum remaining bandwidth becomes 4 Mbps which is determined depending on the minimum remaining bandwidth among the links on the path. - An item “router address” in the path information shown in
FIG. 4 shows network addresses of routers. An item “link” shows links to next hop routers. An item “next hop router address” shows network addresses of next hop routers. An item “connection sub-net address” shows network addresses of devices such as terminals, Web servers, and QoS path reference cache servers that exist within sub-nets connected to the routers. When the QoS pathinformation obtaining section 102 is notified of added routers and links by the path control protocol that operates on the nearest router R100 or of changed links in remaining bandwidths or remaining bandwidths of links after the changes, the QoS pathinformation obtaining section 102 updates the held QoS path information depending on the content of information received from the path control protocol. - The source of request (the automatic
cache updating section 105, the linkprefetching control section 104, or the cache server cooperating section 107) that has obtained the maximum remaining bandwidth path and the minimum remaining bandwidth on this path determines whether the content should be obtained or not, based on the maximum remaining bandwidth path and the minimum remaining bandwidth (F103). For example, when the minimum remaining bandwidth is equal to or greater than a predetermined value, it is determined that the content should be obtained. When it is determined that the content should be obtained, the content is obtained based on an access method that designates the path, such as the source route option, depending on the path information obtained from the path calculating section 108 (F104). When it is determined that the content is not obtained (F105), the processing is terminated immediately. When the content have not been obtained, the old content remains in thestorage 106. However, when a terminal has made a request for making access to the content, the old content is replaced with the latest one depending on the update checking operation of thecache operating section 103. - The above operations cause unused bandwidths on the network to be effectively utilized. Therefore, according to the network system of the present invention, there increases the possibility of achieving the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, even in the situation where the conventional cache server has not been able to achieve these operations.
-
FIG. 6 is a block diagram showing an example of a network system according to a second embodiment of the present invention. The second embodiment shown inFIG. 6 is different from the first embodiment shown inFIG. 1 in that the routers R100 to R104 are replaced with path-settable routers R200 to R204, and that the QoS path reference cache servers C101 to C103 are replaced with QoS path reference cache servers C201 to C203. - The path-settable routers R200 to R204 have functions that are achieved by operating an MPLS protocol in addition to the functions of the routers R100 to R104. The path-settable routers R200 to R204 have functions for setting a path specified by the path information on the network, according to the path information received from the QoS path reference cache servers C201 to C203. The path information is composed of network addresses of two servers that communicate with each other, identifiers (port numbers and the like in a TCP/IP network) for identifying communications, and a string of router names of routers that constitute a cache path. The QoS path reference cache servers C201 to C203 have a path-setting cancellation function in addition to the functions of the QoS path reference cache servers C101 to C103. Other structures are similar to those of the first embodiment. Therefore, the differences from the first embodiment will be mainly described hereinafter.
-
FIG. 7 is a block diagram showing an internal structure of the QoS path reference cache server C201. Apath setting section 109 is added to the structure of the first embodiment. - A link
prefetching control section 104, an automaticcache updating section 105, or a cacheserver cooperating section 107 determines whether the content or content summary is obtained by using a path obtained by apath calculating section 108. The linkprefetching control section 104, the automaticcache updating section 105, and the cacheserver cooperating section 107 have a function of instructing thepath setting section 109 to set up the path. When it is determined that the content or content summary is obtained, thepath setting section 109 is instructed to set up the path. After the path-settable router has set a path, the linkprefetching control section 104, the automaticcache updating section 105, or the cacheserver cooperating section 107 obtains the content or the content summary, and instructs thepath setting section 109 to cancel the path. - When receiving a path instruction from the link
prefetching control section 104, the automaticcache updating section 105, or the cacheserver cooperating section 107, thepath setting section 109 transmits path information showing this instructed path to the protocol such as MPLS (MultiProtocol Label Switching) in the nearest path-settable router R200, and requests the protocol to set up the path. Further, thepath setting section 109 requests the near path-settable router R200 to cancel the path according to a path cancellation instruction from the linkprefetching control section 104, the automaticcache updating section 105, or the cacheserver cooperating section 107. - The QoS path reference cache server C201 is realized by a computer. A recording medium K2 such as a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference cache server. This program runs on the computer to control the operation of the computer, and thereby the
communication interface section 101, the QoS pathinformation obtaining section 102, thecache operating section 103, the linkprefetching control section 104, the automaticcache updating section 105, the cacheserver cooperating section 107, thepath calculating section 108, and thepath setting section 109 are realized on the computer. -
FIG. 8 is a flow chart showing the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation according to the second embodiment of the present invention. - The operation that the automatic
cache updating section 105 carries out for determining the content to be automatically updated, the operation that the linkprefetching control section 104 carries out for determining the content for link prefetching, and the operation that the cacheserver cooperating section 107 carries out for determining the necessary content or the content summary, are the same as those of the conventional cache server. Therefore, these operations will not be explained here. The operation after the necessary content or content summary has been decided will be explained below. - The automatic
cache updating section 105, the linkprefetching control section 104, and the cacheserver cooperating section 107 pass to thepath calculating section 108 the location information (the network addresses) of the cache server to which they want to make connection to obtain the content or the content summary in order to carry out the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation. Thus, these sections request thepath calculating section 108 to carry out the path calculation (F201). Thepath calculating section 108 obtains the maximum remaining bandwidth path to the received network address, and the minimum remaining bandwidth on the maximum remaining bandwidth path, based on the QoS path information obtained from the QoS pathinformation obtaining section 102. Then, thepath calculating section 108 passes the obtained information to the source of request (the automaticcache updating section 105, the linkprefetching control section 104, or the cache server cooperating section 107) (F202). The source of request that has obtained the maximum remaining bandwidth path and the minimum remaining bandwidth on this path determines whether the content should be obtained or not based on the maximum remaining bandwidth path and the minimum remaining bandwidth (F203). For example, when the maximum remaining bandwidth is equal to or greater than a predetermined value, it is determined that the content or the content summary should be obtained. Alternatively, when the minimum remaining bandwidth is equal to or greater than the predetermined value, and also when the number of hops of the maximum remaining bandwidth path is equal to or smaller than a predetermined value, it is determined that the content or the content summary should be obtained. For obtaining the content or the content summary, the source of request passes the maximum remaining bandwidth path obtained from thepath calculating section 108, to thepath setting section 109. Thepath setting section 109 transmits the path information showing the maximum remaining bandwidth path to the nearest path-settable router R200. Then, path-settable routers on the path including the path-settable router R200 cooperate to set the path on the network (F204). Thereafter, the source of request obtains the content or the content summary by utilizing the set path, and stores the obtained result in the storage 106 (F205). Then, the source of request instructs thepath setting section 109 to cancel the set path (F206). When the content or content summary are not obtained (F207), the processing finishes immediately. - Based on the above operation, available bandwidths on the network are effectively utilized. Therefore, according to the network system of the present invention, there increases the possibility of achieving the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, even in the situation where the conventional cache server has not been able to achieve these operations.
-
FIG. 9 is a block diagram showing an example of a network system according to a third embodiment of the present invention. The network system of the third embodiment shown inFIG. 9 is the same as the conventional network system (seeFIG. 36 ) except the followings. Namely, the cache servers C1 to C3 are replaced with QoS path reference relay control cache servers C301 to C303. Relay servers M301 and M302 are provided in the third embodiment. Further, the routers R0 to R4 are replaced with routers R100 to R104, which have the same functions as those of the routers R0 to R4. It may be so structured that the QoS path reference relay control cache servers take the role of the relay servers at the same time. In other words, it may be so designed that the functions of QoS path reference relay control cache server and relay server are built into one casing. Further, it may also be so designed that the functions of router, QoS path reference relay control cache server, and relay server are built into one casing, where a router play the role of the QoS path reference relay control cache server and the relay server at the same time. - The relay servers M301 and M302 have a function of relaying the Web contents or the content summaries, and distributing them to the QoS path reference relay control cache servers C301 to C303, according to instructions of these cache servers C301 to C303. Based on the instructions of the cache servers C301 to C303, the relay servers M301 and M302 obtain the Web contents or the content summaries from the Web servers, the QoS path reference relay control cache servers, or the relay servers, on behalf of the cache servers C301 to C303. The relay servers M301 and M302 store the obtained Web contents or the content summaries until the QoS path reference relay control cache servers C301 to C303 or other relay servers that have issued the instruction retrieve these information. The QoS path reference relay control cache servers C301 to C303 that have issued the instruction designates the relay timing.
- Each of the QoS path reference relay control cache servers C301 to C303 is a cache server that receives the QoS path information, and obtains data (Web content and the content summary) for carrying out an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, based on the obtained QoS path information, by utilizing the relay servers.
-
FIG. 10 is a block diagram showing an example of a structure of a QoS path reference relay control cache server C301. A QoS pathinformation obtaining section 102, a linkprefetching control section 104, an automaticcache updating section 105, a cacheserver cooperating section 107, and arelay control section 110 that are different from the internal structure of the conventional cache server (seeFIG. 37 ) will be described. - The QoS path
information obtaining section 102 has similar functions to those of the QoS path information obtaining section of the first embodiment as shown inFIG. 2 . The QoS pathinformation obtaining section 102 receives QoS path control protocol information. - The
relay control section 110 receives information for specifying Web contents and content summaries to be obtained, from the linkprefetching control section 104, the automaticcache updating section 105, and the cacheserver cooperating section 107. Therelay control section 110 determines whether the Web contents and content summaries should be received or not, and determines which one of relay servers these are obtained through, based on the load status of the network received from the QoS pathinformation obtaining section 102. There is also a case where relay servers are not used at all. When the Web contents and content summaries are to be obtained, therelay control section 110 issues relay instructions to all the relay servers that carry out the relay. Then, therelay control section 110 obtains Web contents and content summaries actually through these relay servers. - The link
prefetching control section 104 finds links to content information which are now not stored in thestorage 106 but have a possibility of making access thereto from now on, from the links to relevant information described in the Web content stored in thestorage 106. The linkprefetching control section 104 instructs therelay control section 110 to obtain the content and, when the content has been obtained, the obtained content is stored in thestorage 106. - The automatic
cache updating section 105 investigates the intervals of updating of the content on the Web server where the content originally exist, for the Web content held within thestorage 106. Then, the automaticcache updating section 105 determines the time of updating the cache content. At the determined time instant, the automaticcache updating section 105 instructs therelay control section 110 to send the content thereto and, when the content has been obtained, the obtained content is stored in thestorage 106. - The cache
server cooperating section 107 exchanges with each other lists of contents held by the respective cache servers and information (content summary) that shows the validity of the cache of the content held by each cache server, for carrying out redistribution, sharing and comparison of freshness among the cache servers. Based on this information, the cacheserver cooperating section 107 exchanges contents as necessary. At the time of exchanging contents and content summaries, the cacheserver cooperating section 107 instructs therelay control section 110 to obtain the contents or the content summaries and, when the content has been obtained, the obtained content is stored in thestorage 106. - The QoS path reference relay control cache servers C301 is implemented by a computer. A recording medium K3 like a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference relay control cache server. This program runs on the computer to control the operation of the computer, and thereby the
communication interface section 101, the QoS pathinformation obtaining section 102, thecache operating section 103, the linkprefetching control section 104, the automaticcache updating section 105, the cacheserver cooperating section 107, and therelay control section 110 are realized on the computer. -
FIG. 11 is a flow chart showing the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation according to the third embodiment of the present invention. The operation that the automaticcache updating section 105 carries out for determining the content to be automatically updated, the operation that the linkprefetching control section 104 carries out for determining the content for link prefetching, and the operation that the cacheserver cooperating section 107 carries out for determining the necessary content or the content summary, are the same as those of the conventional cache server. Therefore, these operations will not be explained here. The operation after the necessary content or content summary has been decided will be explained below. - The automatic
cache updating section 105, the linkprefetching control section 104, and the cacheserver cooperating section 107 pass to therelay control section 110 network addresses of the cache servers or the Web servers to which they want to make connection to obtain contents or content summaries in order to carry out the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation (F401). Then, therelay control section 110 determines whether the contents should be obtained from the received network addresses or not, based on the location information of the relay servers recognized in advance and the QoS path information obtained from the QoS pathinformation obtaining section 102. When it is determined that content is to be obtained, therelay control section 110 determines a path and relay servers to be used (F402). In the case of obtaining the content (F403), therelay control section 110 controls the relay server to obtain the content, and passes the content to the source of request (the automaticcache updating section 105, the linkprefetching control section 104, or the cache server cooperating section 107) (F404). When it is determined that the content is not obtained (F405), the processing is terminated. - An operation of the present embodiment will be described in detail, taking as an example the case where the QoS path reference relay control cache server C301 obtains certain content from the Web server S1 in the network system as shown in
FIG. 9 . - It is assumed that a path (determined based on the content of a routing table within each router) from the Web server S1 to the QoS path reference relay control cache server C301 is S1.R102.L1.R101.L0.R100.C301, and that the QoS path information obtained from the QoS path information obtaining section is as shown in
FIG. 12 . - Further, assuming that congestion occurs when 90% or more of the link bandwidth is being used, it is considered that a congestion status exists in the link L1 that is on the path from the Web server S1 to the QoS path reference relay control cache server C301. When a congestion section (the link L1) exists on the path, the
relay control section 110 uses the relay servers M301 and M302 existing on the network, to check whether it is possible or not to set a path from the Web server S1 to the QoS path reference relay control cache server C301 without passing through the congestion section. In the case where a path from the Web server Si to the relay server M301 determined based on the content of the routing table is S1.R102.L3.R103.M301, and a path from the relay server M301 to the relay server M302 is M301.R103.L2.R101.M101, the relay servers M301 and M302 can be used to set a path that does not pass through a congestion section (the link L1) as follows: S1.R102.L3.R103.M301.R103.L2.R101.M302.R101.L0.R100.C301. - Therefore, the
relay control section 110 issues the instructions to the relay servers M301 and M302 to relay the content on the path that uses only the links, each of which has a link bandwidth use rate that is lower than 90%, as follows: S1.R102.L3.R103.M301 (relay) M301.R103.L2.R101.M302 (relay) M302.R101.L0.R100.C301. More specifically, the QoS path reference relay control cache server C301 first instructs the relay server M301 to obtain the content . from the Web server S1. Based on this instruction, the relay server M301 obtains the content . from the Web server S1 on the path of S1.R102.L3.R103.M301, and holds the content. Thereafter, the QoS path reference relay control cache server C301 instructs the relay server M302 to obtain the content . from the relay server M301. Based on this instruction, the relay server M302 obtains the content held by the relay server M301 on the path of M301.R103.L2.R101.M302. Thereafter, the QoS path reference relay control cache server C301 obtains the content held by the relay server M302 on the path of M302.R101.L0.R100.C301. - If the link load of the link L3 becomes 90% or above among the links as shown in
FIG. 12 , it is not possible to transfer the content through the path that is determined based on the content of the routing table. In this case, the following processing is carried out, for example. Therelay control section 110 obtains a path from the Web server S1 to the QoS path reference relay control cache server C301 that does not pass through the congestion portion, based on the QoS path information. Therelay control section 110 obtains this path by disregarding a path determined based on the content of the routing table. In this case, a path of S1.R102.L5.R104.L4.R103.L2.R101.L0.R100.C301 is obtained as the path that does not pass through a congestion portion. - Then, the
relay control section 110 selects all or a part of the relay servers existing on the path as the relay servers to be used. When it is assumed that all the relay servers existing on the path are used, for example, therelay control section 110 selects the relay servers M301 and M302. Then, therelay control section 110 instructs the relay server M301 that is located at the most upstream of the path to obtain the content . on the path of S1.R102.L5.R104.L4.R103, based on a route specifying method such as the source route option. In response to this instruction, the relay server M301 obtains the content . from the Web server S1 through the path of S1.R102.L5.R104.L4.R103. Then, therelay control section 110 instructs the relay server M302 to obtain the content . from the relay server M301. In response to this instruction, the relay server M302 obtains the content . from the relay server M301. Finally, the QoS path reference relay control cache server C301 obtains the content . from the relay server M302. - In the case where the QoS path information obtained from the QoS path
information obtaining section 102 is as shown inFIG. 13 , it is not possible to set a path that does not include a congestion portion (link L0) even when the relay servers M301 and M302 existing on the network are used. In this case, therelay control section 110 transfers the content from the Web server to a relay server which is one end of a path having no congestion portion among relay servers that exist on the path of S1.R102.L1.R101.L0.R100.C301 that is determined based on the content of the routing table. The relay server which is one end of a path having no congestion portion may not be a relay server nearest to the congestion portion, but it is most effective to transfer the content to the relay server nearest to the congestion portion. - In the case as shown in
FIG. 13 , an instruction is issued to the relay server M302 to have the content transferred to the relay server M302 on the path from S1.R102.L1.R101.M302. Thereafter, therelay control section 110 obtains the content from the relay server M302 on the path from M302.R101.L1.R100.C301 after waiting for a recovery from the congestion status of the link L0 (the information about whether the traffic has been recovered from the congestion status or not can also be obtained from the QoS path information obtaining section 102). - Based on the above operation, the available bandwidths on the network can be effectively utilized. Therefore, according to the network system of the present invention, there increases the possibility of achieving the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, even in the situation where the conventional cache server has not been able to achieve these operations.
- Further, it is possible to transfer the content to a relay server that exists in some midpoint in the path, and then obtain the content from this relay server after waiting for a recovery from the congestion status. Therefore, it is possible to obtain the content in a shorter time than the time required for obtaining the content from the Web server after waiting for a recovery from the congestion status.
-
FIG. 14 is a block diagram showing an example of a structure of a network system according to a fourth embodiment of the present invention. The fourth embodiment is similar to the third embodiment, but is different in the following points. In the fourth embodiment, the routers are replaced with the path-settable routers R200 to R204 that have been explained in the second embodiment. Each of the path-settable routers R200 to R204 operates in the MPLS protocol and has path setting functions such that a necessary path can be set up based on the path information (consisting of network addresses of two cache servers that carry out communications, identifiers like port numbers for identifying communications, and a string of router names of routers that constitute a cache path). Such path information is designated by QoS path reference relay control cache server (C401 to C403). Each of the QoS path reference relay control cache servers C401 to C403 has a function of setting paths to the path-settable routers R200 to R204, in addition to the function of the QoS path reference relay control cache server explained in the third embodiment. It may be so designed that the QoS path reference relay control cache server take the role of the relay server at the same time. In other words, it may be so designed that the functional portions of the QoS path reference relay control cache servers and the functional portions of the relay servers are built into one casing. Further, it may also be so designed that the functional portions of the path-settable routers, the functional portions of the QoS path reference relay control cache servers, and the functional portions of the relay servers are built into one casing, where the routers play both the roles of the QoS path reference relay control cache servers and the relay servers. -
FIG. 15 is a block diagram showing an example of a structure of the QoS path reference relay control cache server C401. The operations of arelay control section 110 and apath setting section 109 that are different from those of the third embodiment will be explained. - The
path setting section 109 requests the protocol such as the MPLS of the path-settable router to specify a path according to path information received from therelay control section 110. Further thepath setting section 109 cancels the path at the request of therelay control section 110. - The
relay control section 110 operates in the substantially same manner as that of therelay control section 110 in the third embodiment, provided therelay control section 110 carries out the relay control by taking into account the QoS path information and the path detour information of thepath setting section 109. - The QoS path reference relay control cache servers C401 is implemented by a computer. A recording medium K4 like a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference relay control cache server. This program runs on the computer to control the operation of the computer, and thereby the
communication interface section 101, the QoS pathinformation obtaining section 102, thecache operating section 103, the linkprefetching control section 104, the automaticcache updating section 105, the cacheserver cooperating section 107, therelay control section 110, and thepath setting section 109 are realized on the computer. -
FIG. 16 is a flow chart showing the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation according to the fourth embodiment of the present invention. The operation that the automaticcache updating section 105 carries out for determining the content to be automatically updated, the operation that the linkprefetching control section 104 carries out for determining the content for link prefetching, and the operation that the cacheserver cooperating section 107 carries out for determining the necessary content or the content summary, are the same as those of the conventional cache server. Therefore, these operations will not be explained here. The operation after the necessary content or content summary has been decided will be explained below. - The automatic
cache updating section 105, the linkprefetching control section 104, or the cacheserver cooperating section 107 pass to therelay control section 110 network addresses of the cache servers such as the QoS path reference relay control cache servers or the Web servers to which they want to make connection to obtain contents or content summaries in order to carry out the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation (F501). - Then, the
relay control section 110 determines whether the content should be obtained from the received network address or not, based on the location information of the relay servers recognized in advance and the QoS path information obtained from the QoS pathinformation obtaining section 102. When the content is to be obtained, therelay control section 110 determines a path and the relay server to be used (F502). - In the case of obtaining the content (F503), the
relay control section 110 instructs thepath setting section 109 to set a path based on the determined path. After thepath setting section 109 has completed the setting of the path (F504), therelay control section 110 controls the relay server to obtain the content or the content summary, and passes the content to the source of request (the automaticcache updating section 105, the linkprefetching control section 104, or the cache server cooperating section 107) (F505). Thereafter, therelay control section 110 instructs thepath setting section 109 to cancel the set path (F506), and finishes the processing. When the content is not obtained (F507), the processing is terminated immediately. - The operation of the present embodiment will be explained based on an example. Description will be made of a case where the QoS path reference relay control cache server C401 obtains certain content . from the Web server S1 in the network system shown in
FIG. 14 . It is assumed that paths determined based on the content of a routing table are as follows: -
- path from S1 to C401: S1.R202.L1.R201.L0.R200.C401;
- path from S1 to M302: S1.R202.L1.R201.M302;
- path from S1 to M301: S1.R202.L3.R203.M301; and
- path from M301 to M302: M301.R203.L2.R201.M302.
- It is further assumed that the QoS path information obtained from the QoS path
information obtaining section 102 is as shown inFIG. 17 . Here, when 90% or more of the link bandwidth is being used, it is determined that a congestion status exists. It is considered that a congestion status exists in the link L1 that is on the path from the QoS path reference relay control cache server C401 to the Web server S1. In this case, therelay control section 110 first checks whether there exists a congestion portion on the path that is determined based on the content of the routing table. When no congestion portion exist, the content is transferred using this path. However, in this case, a congestion portion (the link L1) exists on the path. Accordingly, therelay control section 110 uses the relay servers M301 and M302 and the path-settable routers R200 to R204 existing on the network, to check whether it is possible to set up a path from the Web server S1 to the QoS path reference relay control cache server C401 without passing through congestion portions (here, links L1 and L3). In this example, it is possible to set up a path that does not pass through any congestion portion, by using the relay servers M301 and M302 and the path-settable routers R200 to R204, as follows: S1.R202.L5.R204.L4.R203.M301.R203.L2.R201.M302.R201.L0.R200.C401. Therefore, therelay control section 110 notifies thepath setting section 109 of this path. - Then, the
path setting section 109 instructs the nearest path-settable router R200 to set up the above path. Thereafter, therelay control section 110 instructs the relay servers M301 and M302 to relay the content on the path that uses only the links, each of which has a link bandwidth use rate lower than 90%, as follows: S1.R102.L5.R104.L4.R103.M301 (relay) M301.R103.L2.R101.M302 (relay) M302.R101.L0.R100.C401. - It is assumed that the QoS path information obtained from the QoS path
information obtaining section 102 is as shown inFIG. 18 . In this case, it is not possible to set a path that does not include the congestion portion (link L0) even when the relay servers M301 and M302 existing on the network are used. Therefore, therelay control section 110 transfers the content from the Web server to a relay server through a path on which there exists no congestion portion (this may not be a relay server nearest to the congestion portion, but it is most effective to transfer the content to a relay server nearest to the congestion portion) among relay servers that exist on the path of S1.R202.L1.R201.L0.R200.C401, that is determined based on the content of the routing table. - In the example as shown in
FIG. 18 , an instruction is issued to the relay server M302 to have the content transferred to the relay server M302 on the path from S1.R202.L1.R201.M302. Thereafter, therelay control section 110 obtains the content from the relay server M302 on the path from M302.R201.L1.R200.C401 after waiting for a recovery from the congestion status of the link L0 (the information about whether the traffic has been recovered from the congestion status or not can also be obtained from the QoS path information obtaining section 102). - The path that is set in the above operation cannot be set in the third embodiment that has no path-setting function, without using the path assigning method like the source route option. Based on the above operation, the empty bandwidth on the network is effectively utilized. Therefore, according to the network system of the present invention, there increases the possibility of achieving the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, even in the situation where the conventional cache server has not been able to achieve these operations.
-
FIG. 19 is a block diagram showing an example of a structure of a network system according to a fifth embodiment of the present invention. In the fifth embodiment, the cache servers C1 to C3 of the network system (seeFIG. 36 ) described in the conventional technique are replaced with cache servers C501 to C503 each having priority functions, and the routers R0 to R4 are replaced with priority controllable routers R300 to R304. The priority controllable routers R300 to R304 can control the priority of transmitting a packet to a link, based on the priority information given to the packet. -
FIG. 20 is a block diagram showing an example of a structure of a cache server with priority function taking the cache server C501 as an example. - The
communication interface section 501 passes data (a packet) from a network to acache operating section 503, a linkprefetching control section 504, a automaticcache updating section 505, and a cacheserver cooperating section 507. Thecommunication interface section 501 receives a packet having priority information added thereto from a priorityinformation adding section 508, and passes this packet to the network. Thecommunication interface section 501 also transmits/receives the data to/from apriority providing section 509. - The
cache operating section 503 receives a request for making access to the Web content from a terminal via thecommunication interface section 501, and searches astorage 506 for the content. When the content does not exist, thecache operating section 503 makes access to the corresponding Web server or other cache servers to obtain the content. Thecache operating section 503 stores the obtained content in thestorage 506, and at the same time, transmits the content to the request-originating terminal. When the content exists, thecache operating section 503 transmits the content to the terminal. - In the case of carrying out the update checking operation when the content exists, the
cache operating section 503 checks whether the last update date and time of the held content is older than the last update date and time of the content held by the Web server. When the last update date and time of the held content is older, thecache operating section 503 obtains the content from the Web server, holds the obtained content in thestorage 506, and at the same time, passes the content to the terminal. In relation to the above communications, thecache operating section 503 passes to the priority providing section 509 a request for providing a priority including a network address of the other party of communication, prior to the communication. Then, thecache operating section 503 passes the priority and a transmission packet provided from thepriority providing section 509, to the priorityinformation adding section 508. The priorityinformation adding section 508 then transmits to the network the transmission packet having priority information added thereto. - The link
prefetching control section 504 extracts links to content information which are now not stored in thestorage 506 but have a possibility of making access thereto from now on, from the links to relevant information described in the Web content stored in thestorage 506. The linkprefetching control section 504 obtains the content, and stores them in thestorage 506. In relation to the above communications, the linkprefetching control section 504 passes to the priority providing section 509 a request for providing a priority including a network address of the other party of communications, prior to the communications. Then, the linkprefetching control section 504 passes the priority and a transmission packet provided from thepriority providing section 509, to the priorityinformation adding section 508. The priorityinformation adding section 508 then transmits to the network the transmission packet having priority information added thereto. - The automatic
cache updating section 505 investigates the intervals of updating of content on the Web server where the content originally exist, for the Web content held within thestorage 506. Then, the automaticcache updating section 505 determines the date and time of updating the cache content, obtains the content, and stores them in thestorage 506. In relation to the above communication, the automaticcache updating section 505 passes to the priority providing section 509 a request for providing a priority including a network address of the other party of communications, prior to the communications. Then, the automaticcache updating section 505 passes the priority and a transmission packet provided from thepriority providing section 509, to the priorityinformation adding section 508. The priorityinformation adding section 508 then transmits to the network the transmission packet having priority information showing the priority added thereto. - The
storage 506 stores various Web contents and content summaries. - The cache
server cooperating section 507 exchanges with each other lists of contents held by the respective cache servers and information (content summary) that shows the validity of the cache of the content held by each cache server, for carrying out redistribution, sharing and comparison of freshness among the cache servers. Based on this information, the cacheserver cooperating section 507 exchanges the contents with other cache servers as necessary. In relation to the above communication, the cacheserver cooperating section 507 passes to the priority providing section 509 a request for providing a priority including a network address of the other party of communications, prior to the communications. Then, the cacheserver cooperating section 507 passes the priority and a transmission packet provided from thepriority providing section 509, to the priorityinformation adding section 508. The priorityinformation adding section 508 then transmits to the network the transmission packet having priority information showing the priority added thereto. - The priority
information adding section 508 receives a transmission packet and priority information from thecache operating section 503, the linkprefetching control section 504, the automaticcache updating section 505, or the cacheserver cooperating section 507. The priorityinformation adding section 508 adds priority information showing the priority to the received transmission packet, and passes it to thecommunication interface section 501. - The
priority providing section 509 receives a request for providing a priority, from thecache operating section 503, the linkprefetching control section 504, the automaticcache updating section 505, or the cacheserver cooperating section 507. Then, thepriority providing section 509 provides the priority to the source of request. There are various methods of determining the priority to be provided. For example, it is possible to employ the following methods a) to c). - a) A priority to be given to each source of request is determined in advance. When there has occurred a request for provision of a priority, the predetermined priority is given to this source of request. More specifically, the priorities to be given to the link
prefetching control section 504, the automaticcache updating section 505, and the cacheserver cooperating section 507 are set lower than the priority to be given to thecache operating section 503 or other communication units (not shown). - b) A priority to be given to each source of request is determined depending on the load on the path to the other communication party. (In the case of the same load, the priorities to be given to the
cache operating section 503, the automaticcache updating section 505, and the cacheserver cooperating section 507 are set lower than the priority to be given to the linkprefetching control section 504 or other communication units.) When there has occurred a request for provision of a priority, a load on the path is obtained. Then, a priority corresponding to this obtained load is selected from the priorities determined in advance for various source of requests and the selected priority is provided to this source of request. Specifically, when the load on the path to the other communication party is high, the priority is set low, and when the load on the path to the other communication party is low, the priority is set high. In the case of this method, it is necessary that the function of obtaining the load on the path to the other communication party based on the QoS path information obtained by the QoS pathinformation obtaining section 502 is added to thepriority providing section 509. The source of request passes a request for providing a priority including a network address of the other communication party, to thepriority providing section 509. - c) A priority is provided depending on the type and attribute of content (e.g. moving picture, text, size, etc.) to be communicated. Specifically, when the type of content is a moving picture, a high priority is given, and when the type of content is a text, a low priority is given. In this case, a source of request passes a request for providing the priority including the type of the content to the
priority providing section 509. Further, the source of request judges the type of content based on an extension added to the content stored in thestorage 506. - In addition to the above-described methods (a) to (c), when the other communication party is a host such as the cache server with priority function allowing the priority control, which has a function equivalent to that of the
priority providing section 509, it is possible to determine a priority based on mutual communications. Further, it is also possible that the other communication party designates the priority of a packet to be received. - The QoS path
information obtaining section 502 has similar functions to those of the QoS pathinformation obtaining section 102 as shown inFIG. 2 . - The cache server with priority function C501 is implemented by a computer. A recording medium K5 like a disk or a semiconductor memory stores a program for making the computer function as the cache server with priority function. This program runs on the computer to control the operation of the computer, and thereby the
communication interface section 501, the QoS pathinformation obtaining section 502, thecache operating section 503, the linkprefetching control section 504, the automaticcache updating section 505, the cacheserver cooperating section 507, the priorityinformation adding section 508, and thepriority providing section 509 are realized on the computer. -
FIG. 21 is a flow chart showing the cache operation, the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation according to the fifth embodiment of the present invention. The process of determination of the other communication party in each operation is similar to that of the conventional cache server. Therefore, the flow chart ofFIG. 21 shows the operation after the other communication party has been determined. - First, among the
cache operating section 503, the linkprefetching control section 504, the automaticcache updating section 505, and the cacheserver cooperating section 507, a source of request that wants to obtain content or content summary passes to the priority providing section 509 a request for providing a priority including the network address of a Web server or cache server such as a cache server with priority function that holds the content or the content summary (F301). - The
priority providing section 509 determines the priority to be provided, depending on the network address included in the priority provision request and which one of thecache operating section 503, the linkprefetching control section 504, the automaticcache updating section 505, and the cacheserver cooperating section 507 is the source of request. When the other communication party has a function equivalent to the function of the priority control, the priority may be determined through communications with this communication party. Alternatively, the priority may be determined depending on what is designated by the other communication party as priority to be given to the packet. After the priority has been determined, thepriority providing section 509 notifies the source of request of this determined priority (F302). - The source of request passes the received priority and the transmission packet (that includes the information showing the content to be obtained) to the priority
information adding section 508. The priorityinformation adding section 508 adds the priority to this transmission packet, and passes it to thecommunication interface section 501. As a result, communication with the other party can be performed according to the priority specified by the priority information, obtaining the Web content or content summary (F303). - Based on the above operation, according to the network system of the present invention, it is possible to carry out communications by setting a low priority to communications relating to the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, even under congestion in a part of the network where the conventional cache server has not been able to achieve these operations. As a result, it is possible to achieve the communications without aggravating the congestion status of the network.
-
FIG. 22 is a block diagram showing an example of a structure of a network system according to a sixth embodiment of the present invention. In the sixth embodiment, the cache servers C1 to C3 of the network system (seeFIG. 36 ) described in the conventional technique are replaced with cache servers with priority function C601 to C603, and the routers R0 to R4 are replaced with priority controllable routers R600 to R604. - The priority controllable routers R600 to R604 have a function of providing priority information showing a priority to a packet relating to a communication flow indicated in the packet that flows through the network, where the communication flow and the priority are indicated by the cache server with priority functions C601 to C603, and a function of controlling the priority of transmitting the packet to a link based on the priority information given to the packet. A specific communication flow is defined depending on a set of network address information of hosts at both ends (a cache server and a Web server) on the communication, port number information for identifying the communication, and protocol information, for example, that are included in a packet header. The specific communication flow can be identified by making a decision about whether the set of the information matches a set of information given from the cache server with priority function for each packet in advance. For a communication flow without designation, this flow is handled in a certain predetermined priority (called a default priority PD).
-
FIG. 23 is a block diagram showing an example of a structure of the cache server with priority function C601. Constituent elements of the cache server with priority function C601 will be described below. The other cache server with priority functions C602 and C603 also have similar structures. - The
communication interface section 601 passes data (a packet) from a network to acache operating section 603, a linkprefetching control section 604, a automaticcache updating section 605, and a cacheserver cooperating section 607. - The QoS path
information obtaining section 602 has similar functions to those of the QoS pathinformation obtaining section 102 as shown inFIG. 2 . - The
cache operating section 603 receives a request for making access to the Web content from a terminal via thecommunication interface section 601, and searches astorage 606 for the content. When the content is not found, thecache operating section 603 makes access to the corresponding Web server or other cache servers to obtain the content. Thecache operating section 603 stores the obtained content in thestorage 606, and at the same time, transmits the content to the request-originating terminal. When the content is found, thecache operating section 603 transmits the content to the request-originating terminal. In the case of carrying out the update checking operation when the content is found, thecache operating section 603 checks whether the last update date and time of the held content is older than the last update date and time of the content held by the Web server. When the last update date and time of the held content is older, thecache operating section 603 obtains the content of the Web server, holds the obtained content in thestorage 606, and at the same time, passes the content to the terminal. In relation to the above communications for obtaining the content, thecache operating section 603 carries out the following “priority setting operation”. - Priority Setting Operation
- Prior to communication, the
cache operating section 603 passes a request for providing a priority including a network address of the other communication party, to thepriority providing section 609. Thecache operating section 603 receives information indicating one or more set of address of router to which priority is to be set, next hop router address, and priority, from thepriority providing section 609. Thecache operating section 603 notifies each of routers shown in the priority-setting router addresses included in the above information of flow identification information, the next hop router address and the priority included in the above information, by utilizing a routerpriority setting section 610 to set the priority. After finishing the communication, the above priority setting is canceled. - The link
prefetching control section 604 extracts links to content information which are now not stored in thestorage 606 but have a possibility of making access thereto from now on, from the links to relevant information described in the Web content stored in thestorage 606. The linkprefetching control section 604 obtains the content, and stores them in thestorage 606. In relation to the above communications for obtaining the content, the linkprefetching control section 604 also carries out the priority-setting operation defined above. - The automatic
cache updating section 605 investigates the intervals of updating of the content on the Web server where the content originally exists, for the Web content held within thestorage 606. Then, the automaticcache updating section 605 determines the time of updating the cache content to obtain the content, and stores them in thestorage 606. In relation to the above communications for obtaining the content, the automaticcache updating section 605 also carries out the priority-setting operation defined above. - The
storage 606 stores various Web contents and content summaries. - The cache
server cooperating section 607 exchanges with each other lists of contents held by the respective cache servers and information (content summary) that shows the validity of the cache of the content held by each cache server, for carrying out redistribution, sharing and comparison of freshness among the cache servers. Based on this information, the cacheserver cooperating section 607 exchanges the content as necessary. In relation to the communications for the content summary and for exchanging contents, the cacheserver cooperating section 607 also carries out the priority-setting operation defined above. - The
priority providing section 609 receives a request for providing a priority, from thecache operating section 603, the linkprefetching control section 604, the automaticcache updating section 605, and the cacheserver cooperating section 607. When receiving such a request, thepriority providing section 609 notifies the source of request of what priority is to be set to which router. This information includes one or more set of router address of router to which a priority is to be set, a next hop-router address, and a priority. There are various methods of determining the priority to be provided. For example, it is possible to employ the following methods (d) to (f). - Priority Determination
- d) A threshold value with respect to a load on the path to the other communication party, and a priority to be set when the load exceeds the threshold value, are determined for each source of request in advance. A threshold value for the link
prefetching control section 604, the automaticcache updating section 605, and the cacheserver cooperating section 607 is set lower than that for thecache operating section 603 or other communication unit (not shown). The priority to be applied when the load threshold value is exceeded is set lower than that to be applied when the load threshold value is not exceeded. The priority to be applied when the threshold value is not exceeded can be set as a default priority PD, for example. The priority to be applied when the threshold value is exceeded can be set as P (P<PD) for all the source of requests. The priority to be applied when the threshold value is exceeded can also be set different for each source of request. In this case, the priority to the linkprefetching control section 604, the automaticcache updating section 605, and the cacheserver cooperating section 607 is set lower than the priority to thecache operating section 603 or other communication unit (not shown). When there has been a request for providing a priority, the load of each link on the path is obtained. For the link of which load exceeds the threshold value determined in advance for each source of request, a corresponding priority is provided. - Consider the case where the cache server with priority function C601 carries out a link prefetching operation from the Web server S1, taking the network system as shown in
FIG. 22 as an example. - It is here assumed that the path in this case is C601..R600.(L0).R601..R603..R604.(L5).R602..S1, in which the load on the link (L5) between the R602 and R604 and the load on the link (L0) between the R601 and R600 both exceed the threshold value determined in advance for the link prefetching operation, and further that the priority when the load exceeds the threshold value is P.
- The
priority providing section 609 wants to set a priority to the communication flow from the Web server S1 to the cache server with priority function C601. Therefore, thepriority providing section 609 decides as follows: -
- 1. The
priority providing section 609 sets the priority P to the flow to the direction of R604 at the first router R602 of the Web server S1; - 2. The
priority providing section 609 sets the default priority PD to the flow to the direction of R603 at the R604; and - 3. The
priority providing section 609 sets the priority P to the flow to the direction of R600 at the R601.
- 1. The
- Thereafter, the
priority providing section 609 sends back to the linkprefetching control section 604, a set of the network address of the R602, the address of the next hop router R604, and the priority P, a set of the network address of the R604, the address of the next hop router R603, and the priority PD: PD>P, and a set of the network address of the R601, the address of the next hop router R600, and the priority P. - Alternatively, the
priority providing section 609 may carry out only the processing of 1. out of the processing from 1. to 3., to return only the set of the network address of the R602, the address of the next hop router R604, and the priority P to the linkprefetching control section 604. However, in this case, it takes a longer time for the source of request to obtain the content than the case when thepriority providing section 609 carries out all the processing from 1. to 3. above. -
- e) In the above (d), the threshold value of the load on the path and the priority to be set when the threshold value is exceeded, may be changed for each link. Consider the case where the cache server with priority function C601 carries out a link prefetching operation from the Web server S1 in
FIG. 22 , for example.
- e) In the above (d), the threshold value of the load on the path and the priority to be set when the threshold value is exceeded, may be changed for each link. Consider the case where the cache server with priority function C601 carries out a link prefetching operation from the Web server S1 in
- In this case, it is assumed that the path is C601..R600.(L0).R601.R603..R604.(L5).R602.S1. Further, it is assumed that, on the path, the load on the link (L5) between the R602 and R604, and the load on the link (L0) between the R601 and R600 exceed threshold values determined in advance for the link prefetching operation, respectively and that the priorities when the respective loads exceeds the threshold values are P1 and P2 (P1<PD, P2<PD).
- The
priority providing section 609 wants to set a priority to the communication flow from the Web server S1 to the cache server with priority function C601. Therefore, thepriority providing section 609 decides as follows. -
- 1. The
priority providing section 609 sets the priority P1 to the flow to the direction of R604 at the first router R602 of the Web server S1; - 2. The
priority providing section 609 sets the default priority PD to the flow to the direction of R603 at the router R604; - 3. The
priority providing section 609 sets the priority P2 to the flow to the direction of R600 at the router R601.
- 1. The
- Thereafter, the
priority providing section 609 returns to the linkprefetching control section 604, a set of the network address of the R602, the address of the next hop router R604, and the priority P1, a set of the network address of the R604, the address of the next hop router R603, and the priority PD, and a set of the network address of the R601, the address of the next hop router R600, and the priority P2. - f) The priority is changed for each link depending on the characteristic of content (a moving picture, a text, a frequency of updating the content, a size, etc.) or the degree of congestion at the link. For example, in the case of a moving picture, a priority is provided (a lower priority than the default priority is provided) even when the degree of congestion at the link is lower than that in the case of a text. Further, a higher priority is provided to a moving picture, than the priority of a text.
- In addition to the methods (d) to (f) described above, when the other communication party is a priority-controllable host such as the cache server with priority function and has a function equivalent to the function of the
priority providing section 609, it is possible to determine a priority through mutual communications. - The router
priority setting section 610 receives (sets of information including addresses of routers to which priority is to be set, a next hop router address, and a priority), and flow identification information, from the linkprefetching control section 604, the automaticcache updating section 605, and the cacheserver cooperating section 607. The routerpriority setting section 610 instructs the router indicated by the priority-setting router address to set the flow identification information and the priority to the path to the next hop router address, for each of the above set. - When the link
prefetching control section 604, the automaticcache updating section 605, or the cacheserver cooperating section 607 has issued a setting-cancellation instruction, the routerpriority setting section 610 cancels the setting. - The cache server with priority function C601 is implemented by a computer. A recording medium K6 like a disk or a semiconductor memory stores a program for making the computer function as the cache server with priority function. This program runs on the computer to control the operation of the computer, and thereby the
communication interface section 601, the QoS pathinformation obtaining section 602, thecache operating section 603, the linkprefetching control section 604, the automaticcache updating section 605, the cacheserver cooperating section 607, thepriority providing section 609, and the routerpriority setting section 610 are realized on the computer. -
FIG. 24 is a flow chart showing the cache operation, the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation according to the sixth embodiment of the present invention. The determination of the other communication party in each operation is similar to that of the conventional cache server. Therefore, the flow chart shows the operation after the other communication party has been determined. - First, among the
cache operating section 603, the linkprefetching control section 604, the automaticcache updating section 605, and the cacheserver cooperating section 607, a source of request that wants to obtain content or content summary passes to the priority providing section 609 a request for providing a priority including network addresses of Web servers or cache server such as cache servers with priority functions, that hold the content or the content summary (F601). - The
priority providing section 609 determines the network address included in the request for priority provision, the source of request which is one of thecache operating section 503, the linkprefetching control section 504, the automaticcache updating section 505, and the cacheserver cooperating section 507, the priority to be provided depending on the content and the QoS path information of the network, and the next hop router to which the priority is to be set, and then notifies the source of request of the determination (F602). - The source of request passes the received one or more set of router to which the priority is to be set, next hop router, and priority, and identification information on the communication flow to which the priority is to be set, to the router priority setting section 310. The router priority setting section 310 sets the priority to the router based on the received information. After this has been completed, the source of request obtains the Web content or content summary from the other communication party (F603). Then, the source of request instructs the router priority setting section 310 to cancel the priority setting, which causes the priority setting to be canceled.
- Based on the above operation, according to the network system of the present invention, it is possible to carry out communications by setting a low priority to communications relating to the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, even under a congestion in a part of the network where the conventional cache server has not be enable to achieve these operations. As a result, it is possible to achieve the communications without aggravating the congestion status of the network. Therefore, it is possible to increase the efficiency of the cache server.
-
FIG. 25 is a block diagram showing an example of a structure according to a seventh embodiment of the present invention. The seventh embodiment is similar to the fourth embodiment, but is different in the following points. The path-settable routers R200 to R204 are replaced with path-setting priority controllable routers R700 to R704 that have the priority control function explained in the routers of the sixth embodiment in addition to the functions of the path-settable routers. Further, the QoS path reference relay control cache servers C401 to C403 are replaced with QoS path reference relay priority control cache servers C701 to C703. - The routers R700 to R704 according to the present embodiment are designed to operate an MPLS protocol similarly to the routers R200 to R204 of the fourth embodiment, in addition to the ordinary routers. In other words, each of the routers R700 to R704 has a function of setting a necessary path based on the designated information (network addresses of two cache servers that communicate with each other, identifiers such as port numbers for identifying communications, and a string of router names of routers that constitute a cache path). In addition, each of the routers R700 to R704 has the function similar to that of the priority controllable router (R600 to R604) described in the sixth embodiment. In other words, each of the routers R700 to R704 has a function of identifying a specific communication flow, and providing priority information to a packet, according to the request from the cache servers C701 to C703, and a function of controlling the priority of transmitting a packet to a link, based on the priority information provided to the packet. The specific communication flow is defined by a set of network address information of hosts at both ends (a cache server and a Web server) that communicate with each other, port number information for identifying the communications, and protocol information, for example, that are included in the header of the packet. The specific communication flow can be identified by making a decision about whether the set of the information matches a set of information given from the cache server with priority function for each packet in advance. A communication flow having no designation is handled in a certain predetermined priority (called a default priority PD). Further, the QoS path reference relay priority control cache servers C701 to C703 have the function of setting a priority to a router as described in the sixth embodiment, in addition to the functions of the QoS path reference relay control cache servers described in the fourth embodiment.
-
FIG. 26 is a block diagram showing an example of a structure of the QoS path reference relay priority control cache server C701. The other QoS path reference relay priority control cache servers C702 and C703 also have similar structures. - Among the constituent elements of the QoS path reference relay priority control cache server C701, a relay
communication interface section 701, a QoS pathinformation obtaining section 702, acache operating section 703, a linkprefetching control section 704, an automaticcache updating section 705, a cacheserver cooperating section 707, and apath setting section 709 have functions similar to those of the relaycommunication interface section 101, the QoS pathinformation obtaining section 102, thecache operating section 103, the linkprefetching control section 104, the automaticcache updating section 105, the cacheserver cooperating section 107, and thepath setting section 109 shown inFIG. 15 , respectively. The routerpriority setting section 710 has a function similar to that of the routerpriority setting section 610 shown inFIG. 23 . Accordingly, arelay control section 708 that is a different point from the other embodiments will be described hereafter. - The
relay control section 708 receives information for specifying the Web content or content summary to be obtained, from the linkprefetching control section 704, the automaticcache updating section 705, and the cacheserver cooperating section 707. Based on the load status of the network received from the QoS pathinformation obtaining section 702, therelay control section 708 determines which relay server is to be used, which path is to be used for obtaining the Web content or content summary, and whether it is necessary to set a priority to the path or not. In the case where it is necessary to obtain the content or content summary by setting a path, therelay control section 708 issues a request for setting a path and canceling the setting of the path, to thepath setting section 709. In the case of using relay servers, therelay control section 708 issues a relay instruction to all the relay servers that are used for the relay. Then, therelay control section 708 obtains the Web content or content summary through these relay servers. When it is necessary to set a priority, therelay control section 708 passes a set of information of router to which the priority is to be set, the address of the next hop router, and the priority, and the flow identification information, to the routerpriority setting section 710, which sets the priority and cancels the setting of the priority. - The QoS path reference relay priority control cache server C701 is implemented by a computer. A recording medium K7 like a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference relay priority control cache server. This program runs on the computer to control the operation of the computer, and thereby the
communication interface section 701, the QoS pathinformation obtaining section 702, thecache operating section 703, the linkprefetching control section 704, the automaticcache updating section 705, the cacheserver cooperating section 707, therelay control section 708, thepath setting section 709, and the routerpriority setting section 710 are realized on the computer. -
FIG. 27 is a flow chart showing the cache operation, the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation according to the seventh embodiment of the present invention. The operation that the automaticcache updating section 705 carries out for determining the content to be automatically updated, the operation that the linkprefetching control section 704 carries out for determining the content for link prefetching, and the operation that the cacheserver cooperating section 707 carries out for determining the necessary content or the content summary, are the same as those of the conventional cache server. Therefore, these operations will not be explained here. The operation after the necessary content or content summary has been determined will be described hereafter. - The automatic
cache updating section 705, the linkprefetching control section 704, and the cacheserver cooperating section 707 pass to therelay control section 708 network addresses of cache servers such as the QoS path reference relay priority control cache servers or the Web servers to which they want to make connection to obtain the contents or the content summaries in order to carry out the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation (F701). - Then, the
relay control section 708 determines whether the content should be obtained from the received network address or not, based on the location information of the relay servers recognized in advance and the QoS path information obtained from the QoS pathinformation obtaining section 702. When the content are to be obtained, therelay control section 708 determines a path and relay servers to be used, and also determines to which path the priority is to be set (F702). - In the case of obtaining the content (F703), the
relay control section 708 instructs thepath setting section 709 to set the determined path. In the case of setting a priority, therelay control section 708 instructs the routerpriority setting section 710 to set the priority (F704). After that, therelay control section 708 controls the relay server to obtain the content or the content summary, and passes the obtained content or content summary to the source of request (the automaticcache updating section 705, the linkprefetching control section 704, or the cache server cooperating section 707) (F705). Thereafter, therelay control section 708 instructs thepath setting section 709 to cancel the set path (F706), and terminates the processing. When the content are not obtained (F707), the processing is terminated immediately. - The operation of the present embodiment will be described. Description will be made of a case where the QoS path reference relay priority control cache server C701 obtains certain content from the Web server S1 in the network system as shown in
FIG. 28 . It is assumed that paths determined based on the content of a routing table are as follows: -
- A path from S1 to C601: S.R702.L1.R701.L0.R700.C701;
- A path from S1 to M402: S1.R702.L1.R701.M402;
- A path from S1 to M401: S1.R702.L3.R703.M401; and
- A path from M401 to M402: M401.R703.L2.R701.M402.
- It is further assumed that the QoS path information obtained from the QoS path
information obtaining section 702 is as shown inFIG. 28 , that when 90% or more of the link bandwidth is being used, a congestion status exists. When the using rate ranges from 60% to 80%, a priority P1 is set, and the influence on other traffics is substantially negligible. In this case, it is considered that a congestion status exists in the link L1 that is on the path from the QoS path reference relay priority control cache server C701 to the Web server S1. - First, the
relay control section 708 checks, based on the QoS path information, whether there exists or not a congestion portion on the path that is determined based on the content of the routing table. When a congestion portion does not exist on the path, therelay control section 708 determines a priority based on the load on each link that constitutes the path, and a threshold value that is set to the source of request. Therelay control section 708 makes the routingpriority setting section 710 set the priority and the communication flow to the router. - However, in this case, a congestion portion (the link L1) exists on the path that is determined based on the content of the routing table. Therefore, the
relay control section 708 uses the relay servers M401 and M402 and the path-settable routers R700 to R704 existing on the network, to check whether it is possible or not to set a path from the Web server S1 to the QoS path reference relay priority control cache server C701 without passing through congestion portions (the links L0, L1 and L3). In this example, it is possible to set a path that does not pass through a congestion portion, by using the relay servers M401 and M402, the path-settable routers R400 to R404, and the priority control, without affecting the other traffics and thereby the data is obtained through the path that does not pass through the congestion portion. - In this example, it is possible to set a path as follows.
-
- 1) A path is set from the S1 to the M401: S1.R702.L5.R704.L4.R703.M401.
- 2) The priority P1 is set to the portion of R702.L5.R704 on the flow for obtaining the data in the above (1), and also the priority PD is set to the portion of R704.L4.R703.
- 3) The data is relayed from the M401 to the M402.
- Finally, the QoS path reference relay priority control cache server C701 obtains the data from the M402 according to one of the following methods (4-1) and (4-2).
-
- 4-1) After the load on the link L0 has become 80% or lower, the priority P1 is set to the flow at the R701 in the direction from the M402 to the C701 through the R700, and the data is obtained.
- (4-2) After the load on the link L0 has become 60% or lower, the data is obtained from the M402.
- The above operation cannot be achieved in the fourth embodiment that does not have the priority setting function. The operation can be achieved in the seventh embodiment. Based on the above operation, the available bandwidths on the network re effectively utilized. Accordingly, there increases the possibility of achieving the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, even in the situation where the conventional cache server has not been able to achieve these operations.
-
FIG. 29 is a block diagram showing an example of a structure of a QoS path reference cache server C101 a that is used in an eighth embodiment of the present invention. The eighth embodiment is realized as follows. In the network system of the first embodiment as shown inFIG. 1 , each of the QoS path reference cache servers C101 to C103 is replaced with a QoS path reference cache server (C101 a) as shown inFIG. 29 . Further, the routers R100 to R104 are replaced with the priority controllable routers R300 to R304 as shown inFIG. 19 . - The QoS path reference cache server C101 a shown in
FIG. 29 is different from the QoS path reference cache server C101 of the first embodiment shown inFIG. 2 in that the priorityinformation adding section 508 ofFIG. 20 (the fifth embodiment) is added, that thepath calculating section 108 is replaced with apath calculating section 108 a, and that the recording medium K1 is replaced with a recording medium K1 a. - The QoS path reference cache server C101 a is implemented by a computer. The recording medium K1 a like a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference cache server. This program runs on the computer to control the operation of the computer, and thereby the
communication interface section 101, the QoS pathinformation obtaining section 102, thecache operating section 103, the linkprefetching control section 104, the automaticcache updating section 105, the cacheserver cooperating section 107, thepath calculating section 108 a, and the priorityinformation adding section 508 are realized on the computer. - The
path calculating section 108 a has a function of obtaining a maximum remaining bandwidth path to a Web server or the like based on a network address (indicating the Web server or the like) received from a source of request (thecache operating section 103, the linkprefetching control section 104, the automaticcache updating section 105, or the cache server cooperating section 107) and QoS path information obtained from the QoS pathinformation obtaining section 102. Thepath calculating section 108 a further has a function of providing a priority to the source of request based on the above-described priority-determining methods (a) to (c) (see the description of thepriority providing section 509 shown inFIG. 20 ). - When the network address has been received from the source of request, the
path calculating section 108 a obtains a maximum remaining bandwidth path to a Web server or the like indicated by the network address. At the same time, thepath calculating section 108 a determines a priority based on the above priority-determining methods (a) to (c). The source of request passes the determined priority and a transmission packet (including the information showing the content to be obtained) having a path set as the maximum remaining bandwidth path based on the source route option, to the priorityinformation adding section 508. The priorityinformation adding section 508 adds the priority information showing the priority, to the transmission packet, and passes it to thecommunication interface section 101. As a result, the source of request can carry out transmission/reception of the packet having the priority using the maximum remaining bandwidth path, to/from the other communication party, and an obtain the Web content or content summary. -
FIG. 30 is a block diagram showing an example of a structure of a QoS path reference cache server C101 b that is used in a ninth embodiment of the present invention. The ninth embodiment is realized as follows. In the network system of the first embodiment shown inFIG. 1 , the QoS path reference cache servers C101 to C103 are replaced with the QoS path reference cache server C101 b shown inFIG. 30 . Further, the routers R100 to R104 are replaced with the priority controllable routers R600 to R604 shown inFIG. 22 . The QoS path reference cache server C101 b shown inFIG. 30 is different from the QoS path reference cache server C101 of the first embodiment shown inFIG. 2 in that the routerpriority setting section 710 that is the routerpriority setting section 610 as shown inFIG. 23 (the sixth embodiment) is added, that thepath calculating section 108 is replaced with apath calculating section 108 b, and that the recording medium K1 is replaced with a recording medium K1 b. - The QoS path reference cache server C101 b is implemented by a computer. The recording medium K1 b like a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference cache server. This program runs on the computer to control the operation of the computer, and thereby the
communication interface section 101, the QoS pathinformation obtaining section 102, thecache operating section 103, the linkprefetching control section 104, the automaticcache updating section 105, the cacheserver cooperating section 107, thepath calculating section 108 b, and the routerpriority setting section 710 are realized on the computer. - The
path calculating section 108 b has a function of obtaining a maximum remaining bandwidth path to a Web server indicated by a network address, based on the network address (indicating the Web server) received from a source of request (the linkprefetching control section 104, the automaticcache updating section 105, or the cache server cooperating section 107), and the QoS path information obtained from the QoS pathinformation obtaining section 102. Thepath calculating section 108 b also has a function of determining one or more set of router to which priority is to be set, a next hop router, and a priority, based on the above-described methods (d) and (f) (see the description of thepriority providing section 609 shown inFIG. 23 ). - When a network address of the other communication party has been passed from the source of request, the
path calculating section 108 b obtains a maximum remaining bandwidth path to the other communication party shown in the network address. At the same time, thepath calculating section 108 a determines one or more set of router to which priority is to be set, a next hop router, and a priority, according to the above-described methods (d) and (f). The source of request passes the determined one or more set of router to which priority is to be set, a next hop router, and a priority, and flow identification information of communication to which the priority is to be set, to the routerpriority setting section 710. The routerpriority setting section 710 sets the priority to the router based on the received information. After this has been completed, the source of request obtains the Web content an the like from the other communication party using the maximum remaining bandwidth path, according to a method such as the source route option. Then, the source of request instructs the routerpriority setting section 710 to cancel the setting. The routerpriority setting section 710 cancels the setting. -
FIG. 31 is a block diagram showing an example of a structure of a QoS path reference cache server C201 a that is used in a tenth embodiment of the present invention. The tenth embodiment is realized as follows. In the network system of the second embodiment shown inFIG. 6 , the routers R200 to R204 are replaced with routers that can set a path and a priority. Further, the QoS path reference cache servers C201 to C203 are replaced with the QoS path reference cache server C201 a shown inFIG. 31 . - The QoS path reference cache server C201 a shown in
FIG. 31 is different from the QoS path reference cache server C201 shown inFIG. 7 in that a priorityinformation adding section 508 is added, that thepath calculating section 108 is replaced with apath calculating section 108 a, and that the recording medium K2 is replaced with a recording medium K2 a. - The QoS path reference cache server C201 a is implemented by a computer. The recording medium K2 a like a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference cache server. This program runs on the computer to control the operation of the computer, and thereby the
communication interface section 101, the QoS pathinformation obtaining section 102, thecache operating section 103, the linkprefetching control section 104, the automaticcache updating section 105, the cacheserver cooperating section 107, thepath calculating section 108 a, thepath setting section 109, and the priorityinformation adding section 508 are realized on the computer. - The
path calculating section 108 a has a function of obtaining a maximum remaining bandwidth path to a Web server indicated by a network address, based on the network address (indicating the Web server) received from a source of request (thecache operating section 103, the linkprefetching control section 104, the automaticcache updating section 105, or the cache server cooperating section 107), and the QoS path information obtained from the QoS pathinformation obtaining section 102. Thepath calculating section 108 a also has a function of providing a priority to the source of request based on the above-described priority-determining methods (a) to (c) (see the description of thepriority providing section 509 shown inFIG. 20 ). - When a network address of the other communication party has been received from the source of request, the
path calculating section 108 a obtains a maximum remaining bandwidth path to a Web server indicated by the network address. At the same time, thepath calculating section 108 a determines a priority based on the above priority-determining methods (a) to (c). Thereafter, thepath setting section 109 instructs the router to set the maximum remaining bandwidth path on the network. The source of request passes a transmission packet and the determined priority to the priorityinformation adding section 508. The priorityinformation adding section 508 adds the priority to the transmission packet, and passes it to thecommunication interface section 101. As a result, the source of request can carry out transmission/reception of the packet having the priority using the maximum remaining bandwidth path, to/from the other communication party, and can obtain the Web content and the like. -
FIG. 32 is a block diagram showing an example of a structure of a QoS path reference cache server C201 b that is used in an eleventh embodiment of the present invention. The eleventh embodiment is realized as follows. In the network system of the second embodiment shown inFIG. 6 , the routers R200 to R204 are replaced with the routers R700 to R704 shown inFIG. 26 . Further, the QoS path reference cache servers C201 to C203 are replaced with the QoS path reference cache server C201 b shown inFIG. 32 . - The QoS path reference cache server C201 b shown in
FIG. 32 is different from the QoS path reference cache server C201 shown inFIG. 7 in that a routerpriority setting section 710 is added, and that the recording medium K2 is replaced with a recording medium K2 b. - The QoS path reference cache server C201 b is implemented by a computer. The recording medium K2 b like a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference cache server. This program runs on the computer to control the operation of the computer, and thereby the
communication interface section 101, the QoS pathinformation obtaining section 102, thecache operating section 103, the linkprefetching control section 104, the automaticcache updating section 105, the cacheserver cooperating section 107, thepath calculating section 108 b, thepath setting section 109, and the routerpriority setting section 710 are realized on the computer. - The
path calculating section 108 b has a function of obtaining a maximum remaining bandwidth path to a Web server indicated by a network address, based on the network address (indicating the Web server) received from a source of request (the linkprefetching control section 104, the automaticcache updating section 105, or the cache server cooperating section 107), and the QoS path information obtained from the QoS pathinformation obtaining section 102. Thepath calculating section 108 b also has a function of determining one or more set of router to which priority is to be set, a next hop router, and a priority, based on the above-described methods (d) and (f) (see the description of thepriority providing section 609 shown inFIG. 23 ). - When a network address of the other communication party has been received from the source of request, the
path calculating section 108 b obtains a maximum remaining bandwidth path to the other communication party indicated by the network address. At the same time, thepath calculating section 108 a determines one or more set of router to which priority is to be set, a next hop router, and a priority, according to the methods (d) and (f). Thereafter, thepath setting section 109 instructs the router to set the maximum remaining bandwidth path on the network. The source of request passes the determined one or more set of routers to which priority is to be set, a next hop router, and a priority, and flow identification information of communications to which the priority is to be set, to the routerpriority setting section 710. The routerpriority setting section 710 sets the priority to the router based on the received information. After this has been completed, the source of request obtains the Web content or content summary from the other communication party using the maximum remaining bandwidth path. Then, the source of request instructs the routerpriority setting section 710 to cancel the setting. The routerpriority setting section 710 cancels the setting. -
FIG. 33 is a block diagram showing an example of a structure of a QoS path reference relay control cache server C301 a that is used in a twelfth embodiment of the present invention. The twelfth embodiment is realized as follows. In the network system of the third embodiment shown inFIG. 9 , each of the QoS path reference relay control cache servers C301 to C303 is replaced with the QoS path reference relay control cache server C301 a as shown inFIG. 33 . Further, the routers R100 to R104 are replaced with the priority controllable routers R300 to R304 as shown inFIG. 19 , respectively. - The QoS path reference relay control cache server C301 a shown in
FIG. 33 is different from the QoS path reference relay control cache server C301 shown inFIG. 10 in that a priorityinformation adding section 508 is added, therelay control section 110 is replaced with arelay control section 110 a, and that the recording medium K3 is replaced with a recording medium K3 a. - The QoS path reference relay control cache server C301 a is implemented by a computer. The recording medium K3 a like a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference relay control cache server. This program runs on the computer to control the operation of the computer, and thereby the
communication interface section 101, the QoS pathinformation obtaining section 102, thecache operating section 103, the linkprefetching control section 104, the automaticcache updating section 105, the cacheserver cooperating section 107, therelay control section 110 a, and the priorityinformation adding section 508 are realized on the computer. - The
relay control section 110 a receives information for specifying the web content or content summary to be obtained, from a source of request (the linkprefetching control section 104, the automaticcache updating section 105, or the cache server cooperating section 107). Then, therelay control section 110 a determines a priority to be given to the source of request, according the methods (a) to (c). At the same time, therelay control section 110 a checks whether or not there exists a congestion portion on the path to the other communication party to be determined based on the content of a routing table, based on the load status of the network held in the QoS pathinformation obtaining section 102. When there exists no congestion portion, therelay control section 110 a transfers the priority to the source of request. Then, the source of request passes the priority and a transmission packet to the priorityinformation adding section 508. The priorityinformation adding section 508 adds the priority to this transmission packet, and passes it to thecommunication interface section 101. As a result, the source of request can carry out transmission/reception of the packet of this priority to/from the other communication party, and can obtain the Web content and the like. - Contrarily, when a congestion portion exists on the path determined based on the content of the routing table, the
relay control section 110 a decides whether it is possible or not to set a path that does not pass through the congestion portion by using relay servers. When it has been decided that it is possible to set such a path, therelay control section 110 a sequentially instructs relay servers, starting from the upstream relay server, to actually relay the Web content and the like. In this case, therelay control section 110 a instructs the relay servers to relay the data according to the determined priorities. - When it is not possible to set a path (determined based on the content of the routing table) that does not pass through a congestion portion even when relay servers are used, the content is relayed to a relay server that exists at the upstream of the congestion portion (this may not be a relay server nearest to the congestion portion, but it is most effective to transfer the content to the relay server nearest to the congestion portion) After the traffic has been recovered from the congestion status, the content is transferred to the downstream. In this case, the above-determined priority is set to the relay servers for relaying the content.
- Alternatively, when it is not possible to set a path (determined based on the content of the routing table) that does not pass through a congestion portion even when relay servers are used, it is also possible to perform setting as follows. The
relay control section 110 a obtains a path to the other communication party on which no congestion portion exists, based on the QoS path information. In this case, the path is determined by disregarding the content of the routing table. Then, therelay control section 110 a selects all the relay servers or a part of the relay servers existing on the path, as the relay servers to be used. Therelay control section 110 a instructs a relay server that is located at the most upstream among the relay servers to be used, the content to be obtained, a path for obtaining the content (by using a path designating method such as the source route option), and the priority. In response to this instruction, the relay server obtains the instructed content through the instructed path in the instructed priority. Each relay server up to the relay server located at the most downstream of the path sequentially repeats a similar processing. However, when the path between the relay servers is the same as that determined based on the content of the routing table, only the data to be relayed is designated, and the relay path is not designated. After the content have been relayed to the most downstream relay server, the QoS path reference relay control cache server C301 a obtains the content from this most downstream relay server. -
FIG. 34 is a block diagram showing an example of a structure of a QoS path reference relay control cache server C301 b that is used in a thirteenth embodiment of the present invention. The thirteenth embodiment is realized as follows. In the network system of the third embodiment shown inFIG. 9 , each of the QoS path reference relay control cache servers C301 to C303 is replaced with the QoS path reference relay control cache server C301 b shown inFIG. 34 . Further, the routers R100 to R104 are replaced with the priority controllable routers R600 to R604 shown inFIG. 25 , respectively. - The QoS path reference relay control cache server C301 b shown in
FIG. 34 is different from the QoS path reference relay control cache server C301 shown inFIG. 10 in that a routerpriority setting section 710 is added, that therelay control section 110 is replaced with arelay control section 110 b, and that the recording medium K3 is replaced with a recording medium K3 b. - The QoS path reference relay control cache server C301 b is implemented by a computer. The recording medium K3 b like a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference relay control cache server. This program runs on the computer to control the operation of the computer, and thereby the
communication interface section 101, the QoS pathinformation obtaining section 102, thecache operating section 103, the linkprefetching control section 104, the automaticcache updating section 105, the cacheserver cooperating section 107, therelay control section 110 b, and the routerpriority setting section 710 are realized on the computer. - When a network address of the other communication party has been received from a source of request (the link
prefetching control section 104, the automaticcache updating section 105, or the cache server cooperating section 107), thepath calculating section 108 b checks whether or not there exists a congestion portion on the path to the other communication party to be determined based on the content of a routing table. When there exists no congestion portion, thepath calculating section 108 b determines one or more set of router to which priority is to be set, a next hop router, and a priority, for the path, according to the methods (d) and (f). The source of request passes the determined one or more set of the router to which priority is to be set, the next hop router, and the priority, and flow identification information of communication to which the priority is to be set, to the routerpriority setting section 710. The routerpriority setting section 710 sets the priority to the router based on the received information. After this has been completed, the source of request obtains the Web content and the like from the other communication party. - Contrarily, when a congestion portion exists on the path determined based on the content of the routing table, the
path calculating section 108 b checks whether it is possible or not to set a path on which there exists no congestion portion by using relay servers. - When it is possible to set such a path, the
path calculating section 108 b determines one or more set of router to which priority is to beset, a next hop router, and a priority, for the path, according to the methods (d) and (f). The source of request passes the determined set of the router to which priority is to be set, the next hop router, and the priority, and flow identification information of communications to which the priority is to be set, to the routerpriority setting section 710. The routerpriority setting section 710 sets the priority to the router based on the received information. After this has been completed, the source of request sequentially instructs relay servers, starting from the upstream relay server, to actually relay the Web content or the like, and obtains the Web content and the like. - When it is not possible to set a path (determined based on the content of the routing table) that does not pass through a congestion portion even when relay servers are used, the content are relayed to a relay server that exists at the upstream of the congestion portion (this may not be a relay server nearest to the congestion portion, but it is most effective to transfer the content to the relay server nearest to the congestion portion). After the traffic has been recovered from the congestion status, the content are transferred to the downstream.
- Alternatively, when it is not possible to set a path (determined based on the content of the routing table) that does not pass through a congestion portion even when relay servers are used, it is also possible to perform setting as follows. The
relay control section 110 b obtains a path to the other communication party on which no congestion portion exists, based on the QoS path information. In this case, the path is determined by disregarding the content of the routing table. Then, therelay control section 110 b selects all the relay servers or a part of the relay servers existing on the path, as the relay servers to be used. Therelay control section 110 b instructs a relay server that is located at the most upstream among the relay servers to be used, the content to be obtained, a path for obtaining the content (by using a path assigning method like the source route option). In response to this instruction, the relay server obtains the instructed content through the instructed path. Each relay server up to the relay server located at the most downstream of the path sequentially repeats similar processing. However, when the path between the relay servers is the same as that determined based on the content of the routing table, only the data to be relayed is designated, and the relay path is not designated. After the content have been relayed to the most downstream relay server, the QoS path reference relay control cache server C301 b obtains the content from this most downstream relay server. -
FIG. 35 is a block diagram showing an example of a structure of a QoS path reference relay control cache server C401 a that is used in a fourteenth embodiment of the present invention. The fourteenth embodiment is realized as follows. In the network system of the fourth embodiment shown inFIG. 14 , each of the QoS path reference relay control cache servers C401 to C403 is replaced with the QoS path reference relay control cache server C401 b shown inFIG. 35 . Further, the routers R200 to R204 are replaced respectively with routers each of which can set a priority and a path. - The QoS path reference relay control cache server C401 a shown in
FIG. 35 is different from the QoS path reference relay control cache server C401 shown inFIG. 15 in that a priorityinformation adding section 508 is added, that therelay control section 110 is replaced with arelay control section 110 a, and that the recording medium K4 is replaced with a recording medium K4 a. - The QoS path reference relay control cache server C401 a is implemented by a computer. The recording medium K4 a like a disk or a semiconductor memory stores a program for making the computer function as the QoS path reference relay control cache server. This program runs on the computer to control the operation of the computer, and thereby the
communication interface section 101, the QoS pathinformation obtaining section 102, thecache operating section 103, the linkprefetching control section 104, the automaticcache updating section 105, the cacheserver cooperating section 107, therelay control section 110 a, and the priorityinformation adding section 508 are realized on the computer. - The
relay control section 110 a receives information for specifying the Web content and content summaries to be obtained, from a source of request (the linkprefetching control section 104, the automaticcache updating section 105, or the cache server cooperating section 107). Then, therelay control section 110 a determines a priority to be given to the source of request, according the methods (a) to (c). At the same time, therelay control section 110 a checks whether or not there exists a congestion portion on the path to the other communication party to be determined based on the content of a routing table, based on the load status of the network held in the QoS pathinformation obtaining section 102. When there exists no congestion portion, therelay control section 110 a notifies the source of request of the priority. Then, the source of request passes the received priority and a transmission packet to the priorityinformation adding section 508. The priorityinformation adding section 508 adds the priority to this transmission packet, and passes it to thecommunication interface section 101. As a result, the source of request can carry out transmission/reception of the packet of this priority to/from the other communication party, and can obtain the Web content and the like. - Contrarily, when a congestion portion exists on the path determined based on the content of the routing table, the
relay control section 110 a decides whether it is possible or not to set a path on which there exists no congestion portion by using relay servers and path-settable routers. When a decision has been made that it is possible to set a path, therelay control section 110 a uses thepath setting section 109 to instruct the router to set the path on the network. Thereafter, therelay control section 110 a sequentially instructs relay servers, starting from the upstream relay server, to actually relay the Web content and the like. In this case, therelay control section 110 a instructs the relay servers to relay according to determined priorities. When it is not possible to set a path that does not pass through a congestion portion even when relay servers are used, the content is relayed to a relay server that exists at the upstream of the congestion portion (this may not be a relay server nearest to the congestion portion, but it is most effective to transfer the content to the relay server nearest to the congestion portion). After the traffic has been recovered from the congestion status, the content is further transferred to the downstream. - According to the present invention, there is a first advantage such that it is possible to execute an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation in higher probabilities than those of the conventional practice, without deteriorating a congestion status of the network.
- Such a first advantage resides in the following arrangements. A path suitable for carrying out the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation is obtained based on QoS path information. A relay server suitable for carrying out the above three operations is selected, or the priority of communication for carrying out the above three operations is set lower.
- According to the present invention, there is a second advantage such that it is possible to obtain desired content in a shorter time than the case of obtaining the content after the congestion status has been canceled. Such a second advantage can be achieved by using relay servers.
- Further, according to the present invention, there is a third advantage such that, in the case of using relay servers, it is possible to execute a link prefetching operation, an automatic cache updating operation, and a cache server cooperating operation in higher probabilities, without deteriorating a congestion status of the network. This can be achieved by providing a cache server with a path setting function, and using a path-settable router as a router.
Claims (20)
1. A network system comprising:
at least one priority controllable router capable of controlling a priority of transmitting a packet to a link, based on priority information added to the packet; and
at least one cache server for carrying out at least one of an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, wherein a priority given to a packet, to be used for communications generated by at least one of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, is lower than a priority given to a packet to be used for communications generated by a cache operation.
2. The network system according to claim 1 , wherein
said at least one cache server comprises:
a priority providing section for providing a priority request source with a priority predetermined for each priority-request source, when a request for providing a priority occurs;
a priority information adding section for adding priority information showing a priority to a packet, when the priority and the packet to be transmitted to the network have been received; and
a cache operating section, a link prefetching control section, an automatic cache updating section, and a cache server cooperating section, which request the priority providing section to provide a priority when a transmission packet has occurred, and pass the transmission packet and the priority provided by the priority providing section to the priority information adding section.
3. The network system according to claim 2 , further comprising:
a QoS path information obtaining section for obtaining QoS path information including network path information and path load information,
wherein the priority providing section determines a priority based on a priority-request source and QoS path information obtained by the QoS path information obtaining section, when a request for providing a priority has occurred.
4. A network system comprising:
at least one priority controllable router, wherein said at least one priority controllable router provides priority information to a packet associated with a specific communication flow by identifying this communication flow, and controls a priority of transmitting a packet to a link based on the priority information provided to the packet; and
at least one cache server comprising:
a QoS path information obtaining section for obtaining QoS path information including network path information and path load information,
a priority providing section for obtaining a priority variable for each link of the network suitable for carrying out an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, based on the QoS path information obtained by the QoS path information obtaining section,
a router priority setting section for requesting the priority controllable router to set a priority to a specific communication flow, based on a result obtained by the priority providing section, wherein a priority set for a packet generated by at least one of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation is set lower than a priority for a packet to be used for communications generated by a cache operation, and
at least one of an automatic cache updating section, a link prefetching control section, and a cache server cooperating section, which carry out respective ones of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation by using the path obtained by the priority controllable router.
5. A network system comprising:
at least one priority controllable router, wherein said at least one priority controllable router controls a priority of transmitting a packet to a link based on priority information provided to the packet; and
at least one cache server comprising:
a QoS path information obtaining section for obtaining QoS path information that includes network path information and path load information,
a path calculating section for obtaining a path suitable for carrying out at least one of an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, based on the QoS path information obtained by the QoS path information obtaining section, and for providing priority information lower than priority information of a packet to be used for communications generated by a cache operation, to a packet to be used for communications generated by the automatic cache updating operation, the link prefetching operation, or the cache server cooperating operation, and
at least one of an automatic cache updating section, a link prefetching control section, and a cache server cooperating section, which carry out respective ones of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, using the path by the path calculating section and using the packet of the priority provided by the path calculating section.
6. A network system comprising:
at least one priority controllable router, wherein said at least one priority controllable router provides priority information to a packet associated with a specific communication flow by identifying this communication flow, and controls a priority of transmitting a packet to a link based on the priority information provided to the packet; and
at least one cache server comprising:
a QoS path information obtaining section for obtaining QoS path information that includes network path information and path load information, a path calculating section for obtaining a path suitable for carrying out an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, based on the QoS path information obtained by the QoS path information obtaining section, and for obtaining a priority variable for each link of the network suitable for carrying out the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation,
a router priority setting section for requesting the priority controllable router to set a priority to a specific communication flow, based on a result obtained by the path calculating section, wherein a priority set for a packet generated by at least one of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation is set lower than a priority for a packet to be used for communications generated by a cache operation, and
at least one of an automatic cache updating section, a link prefetching control section, and a cache server cooperating section, which carry out respective ones of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation.
7. A network system comprising:
at least one router, wherein said at least one router is allowed to control a priority of transmitting a packet to a link, based on priority information provided to the packet, and to set a requested path on the network; and
at least one cache server comprising:
a QoS path information obtaining section for obtaining QoS path information that includes network path information and path load information,
a path calculating section for obtaining a path suitable for carrying out at least one of an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, based on the QoS path information obtained by the QoS path information obtaining section, and for providing priority information lower than priority information of a packet to be used for communications generated by a cache operation, to a packet to be used for communications generated by the automatic cache updating operation, the link prefetching operation, or the cache server cooperating operation,
a path setting section for requesting the router to set the path obtained by the path calculating section, and
at least one of an automatic cache updating section, a link prefetching control section, and a cache server cooperating section, which carry out respective ones of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, by using the packet of the priority provided by the path calculating section.
8. A network system comprising:
at least one router, wherein said at least one router provides priority information to a packet associated with a specific communication flow by identifying this communication flow, controls a priority of transmitting a packet to a link based on the priority information provided to the packet, and sets a requested path on the network; and
at least one cache server comprising:
a QoS path information obtaining section for obtaining QoS path information that includes network path information and path load information,
a path calculating section for obtaining a path suitable for carrying out an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, based on the QoS path information obtained by the QoS path information obtaining section, for obtaining a priority variable for each link of the network suitable for carrying out the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, and for providing priority information lower than priority information of a packet to be used for communications generated by a cache operation,
a router priority setting section for requesting a router to set a priority to a specific communication flow, based on a result obtained by the path calculating section,
a path setting section for requesting the router to set a the path obtained by the path calculating section, and
at least one of an automatic cache updating section, a link prefetching control section, and a cache server cooperating section, which carry out respective ones of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, by using the path set by the router.
9. A network system comprising:
at least one router, wherein said at least one router controls a priority of transmitting a packet to a link, based on priority information provided to the packet;
at least one relay server; and
at least one cache server comprising:
a QoS path information obtaining section for obtaining QoS path information that includes network path information and path load information,
a relay control section for selecting one of said at least one a relay servers suitable for carrying out at least one of an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, based on the QoS path information obtained by the QoS path information obtaining section, instructing the selected relay server about data to be relayed, and providing priority information lower than priority information of a packet to be used for communications generated by a cache operation, to a packet to be used for communications generated by the automatic cache updating operation, the link prefetching operation, or the cache server cooperating operation,
at least one of an automatic cache updating section, a link prefetching control section, and a cache server cooperating section, which carry out respective ones of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, by using the packet of the priority provided by the relay control section, and
wherein the relay server relays the data according to an instruction received from the relay control section.
10. A network system comprising:
at least one router, wherein said at least one router provides priority information to a packet associated with a specific communication flow by identifying this communication flow, and controls a priority of transmitting a packet to a link based on the priority information provided to the packet;
at least one relay server; and
at least one cache server comprising:
a QoS path information obtaining section for obtaining QoS path information that includes network path information and path load information;
a relay control section for selecting one of said at least one a relay servers suitable for carrying out at least one of an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, based on the QoS path information obtained by the QoS path information obtaining section, for instructing the selected relay server about data to be relayed, for obtaining a priority variable for each link of the network suitable for carrying out an automatic cache updating operation, a link prefetching operation, or a cache server cooperating operation, and for providing priority information lower than priority information of a packet to be used for communications generated by a cache operation,
a router priority setting section for requesting one of said at least one a routers to set a priority of a specific communication flow, based on a result obtained by the relay control section, and
at least one of an automatic cache updating section, a link prefetching control section, and a cache server cooperating section, which carry out respective ones of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation respectively, by using the packet of the priority provided by the relay control section, wherein said at least one relay server relays the data according to an instruction received from the relay control section.
11. A network system comprising:
at least one router, wherein said at least one router controls a priority of transmitting a packet to a link, based on priority information provided to the packet;
at least one relay server; and
at least one cache server comprising:
a QoS path information obtaining section for obtaining QoS path information that includes network path information and path load information,
a relay control section for selecting a path and one of said at least one a relay servers, which are suitable for carrying out at least one of an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, based on the QoS path information obtained by the QoS path information obtaining section, for instructing the selected relay server about data to be relayed, for instructing the selected relay server to relay the data using the selected path, and for providing priority information lower than priority information of a packet to be used for communications generated by a cache operation, to a packet to be used for communications generated by the automatic cache updating operation, the link prefetching operation, or the cache server cooperating operation, and
at least one of an automatic cache updating section, a link prefetching control section, and a cache server cooperating section, which carry out respective ones of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation respectively, by using the packet of the priority provided by the relay control section, and wherein said at least one relay server relays the data according to an instruction received from the relay control section.
12. A network system comprising:
at least one router, wherein said at least one router provides priority information to a packet associated with a specific communication flow by identifying this communication flow, and controls a priority of transmitting a packet to a link based on the priority information provided to the packet;
at least one relay server; and
at least one cache server comprising:
a QoS path information obtaining section for obtaining QoS path information that includes network path information and path load information,
a relay control section for selecting a path and one of said at least one a relay servers suitable for carrying out at least one of an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, based on the QoS path information obtained by the QoS path information obtaining section, for instructing the selected relay server about data to be relayed, instructing the selected relay server to relay the data using the selected path, for obtaining a priority variable for each link of the network suitable for carrying out an automatic cache updating operation, a link prefetching operation, or a cache server cooperating operation, and for providing priority information lower than priority information of a packet to be used for communications generated by a cache operation,
a router priority setting section for requesting the router to set a priority of a specific communication flow, based on a result obtained by the relay control section, and
at least one of an automatic cache updating section, a link prefetching control section, and a cache server cooperating section, which carry out respective ones of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation respectively, by using the packet of the priority provided by the relay control section, wherein said at least one relay server relays the data according to an instruction received from the relay control section.
13. A network system comprising:
at least one router, wherein said at least one router controls a priority of transmitting a packet to a link, based on priority information provided to the packet, and sets a requested path on the network;
at least one relay server; and
at least one cache server comprising:
a QoS path information obtaining section for obtaining QoS path information that includes network path information and path load information,
a relay control section for selecting a path and one of said at least one a relay servers suitable for carrying out at least one of an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, based on the QoS path information obtained by the QoS path information obtaining section, instructing the selected relay server about data to be relayed, and providing priority information lower than priority information of a packet to be used for communications generated by a cache operation, to a packet to be used for communications generated by the automatic cache updating operation, the link prefetching operation, or the cache server cooperating operation,
a path setting section for requesting a router to set the path obtained by the relay control section, and
at least one of an automatic cache updating section, a link prefetching control section, and a cache server cooperating section, which carry out respective ones of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation respectively, by using the packet of the priority provided by the relay control section, wherein said at least one relay server relays the data according to an instruction received from the relay control section.
14. A network system comprising
at least one router, wherein said at least one router provides priority information to a packet relating to a specific communication flow by identifying this communication flow, controls a priority of transmitting a packet to a link based on the priority information provided to the packet, and sets a requested path on the network;
at least one relay server; and
at least one cache server comprising:
a QoS path information obtaining section for obtaining QoS path information that includes network path information and path load information,
a relay control section for selecting a path and a relay server suitable for carrying out at least one of an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, based on the QoS path information obtained by the QoS path information obtaining section, for instructing the selected relay server about data to be relayed, and for obtaining a priority variable for each link of the network suitable for carrying out an automatic cache updating operation, a link prefetching operation, or a cache server cooperating operation,
a router priority setting section for requesting the router to set a priority of a specific communication flow, based on a result obtained by the relay control section, and for providing priority information lower than priority information of a packet to be used for communications generated by a cache operation,
a path setting section for requesting the router to set the candidate path selected by the relay control section, and
at least one of an automatic cache updating section, a link prefetching control section, and a cache server cooperating section, which carry out respective ones of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation respectively, by using the packet of the priority provided by the relay control section, wherein said at least one relay server relays the data according to an instruction of the relay control section.
15. A cache server provided in a network system having a priority controllable router for controlling a priority of transmitting a packet to a link based on priority information provided to the packet, wherein
the cache server carries out at least one of an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, and provides priority information to a packet to be used for communications generated by the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, wherein the priority information is lower than priority information of a packet to be used for communications generated by a cache operation.
16. The cache server according to claim 15 , further comprising:
a priority providing section for providing a priority request source with a priority predetermined for each request source, when there has been a request for providing a priority;
a priority information adding section for adding priority information showing the priority to a packet, when the packet to be transmitted to the network and the priority have been received; and
a cache operating section, a link prefetching control section, an automatic cache updating section, and a cache server cooperating section, each of which requests the priority providing section to provide a priority when a transmission packet has been generated, and passes the priority provided by the priority providing section and the transmission packet to the priority information adding section.
17. A cache server on a network provided with at least one priority controllable router that provides priority information to a packet associated with a specific communication flow by identifying this communication flow, and controls a priority of transmitting a packet to a link based on the priority information provided to the packet, the cache server comprising:
a QoS path information obtaining section for obtaining QoS path information that includes network path information and path load information;
a priority providing section for obtaining a priority variable for each link of the network suitable for carrying out an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, based on the QoS path information obtained by the QoS path information obtaining section;
a router priority setting section for requesting at least one priority controllable router to set a priority to a specific communication flow, based on a result obtained by the priority providing section wherein the priority set is lower than a priority of a packet to be used for communications generated by a cache operation; and
at least one of an automatic cache updating section, a link prefetching control section, and a cache server cooperating section, which carry out respective ones of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation respectively, by utilizing a path set by the priority controllable router.
18. A method for controlling a cache server provided on a network system having at least one priority controllable router capable of controlling a priority of transmitting a packet to a link based on priority information provided to the packet, the method comprising:
a) carrying out at least one of an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation; and
b) providing priority information to a packet to be used for communications generated by the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, wherein the priority information is lower than priority information of a packet to be used for communications generated by a cache operation.
19. A method for controlling a cache server provided on a network system including at least one priority controllable router which provides priority information to a packet associated with a specific communication flow by identifying this communication flow and controls a priority of transmitting a packet to a link based on the priority information provided to the packet, the method comprising:
a) obtaining QoS path information that includes network path information and path load information;
b) obtaining a priority variable for each link of the network suitable for carrying out an automatic cache updating operation, a link prefetching operation, and a cache server cooperating operation, based on the QoS path information obtained at the step (a);
c) requesting at least one priority controllable router to set a priority, based on a result obtained at the step (b), wherein the at least one priority set is lower than a priority of a packet to be used for communications generated by a cache operation; and
d) providing at least one of an automatic cache updating step, a link prefetching control step, and a cache server cooperating step, which carry out respective ones of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation, by utilizing a path set by the priority controllable router.
20. A recording medium storing a program for use in a computer of a cache server provided on a network system having at least one priority controllable router that controls a priority of transmitting a packet to a link based on priority information provided to the packet, the program instructing the computer to function as:
a priority providing section for providing a priority request source with a priority predetermined for each request source, when there has been a request for providing a priority;
a priority information adding section for adding priority information showing a priority to a packet, when the packet to be transmitted to the network and the priority have been received; and
a cache operating section, a link prefetching control section, an automatic cache updating section, and a cache server cooperating section, which request the priority providing section to provide a priority when a transmission packet has been generated, and pass the priority provided by the priority providing section and the transmission packet to the priority information adding section, where in a priority given to a packet to be used for communications generated by at least one of the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation is lower than a priority given to a packet to be used for communications generated by a cache operation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/165,492 US20050246347A1 (en) | 2000-07-25 | 2005-06-24 | Technique for enhancing effectiveness of cache server |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000-224448 | 2000-07-25 | ||
JP2000224448A JP2002044138A (en) | 2000-07-25 | 2000-07-25 | Network system, cache server, relay server, router, cache server control method and recording medium |
US09/915,056 US7146430B2 (en) | 2000-07-25 | 2001-07-25 | Technique for enhancing effectiveness of cache server |
US11/165,492 US20050246347A1 (en) | 2000-07-25 | 2005-06-24 | Technique for enhancing effectiveness of cache server |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/915,056 Continuation US7146430B2 (en) | 2000-07-25 | 2001-07-25 | Technique for enhancing effectiveness of cache server |
Publications (1)
Publication Number | Publication Date |
---|---|
US20050246347A1 true US20050246347A1 (en) | 2005-11-03 |
Family
ID=18718411
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/915,056 Expired - Fee Related US7146430B2 (en) | 2000-07-25 | 2001-07-25 | Technique for enhancing effectiveness of cache server |
US11/165,492 Abandoned US20050246347A1 (en) | 2000-07-25 | 2005-06-24 | Technique for enhancing effectiveness of cache server |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/915,056 Expired - Fee Related US7146430B2 (en) | 2000-07-25 | 2001-07-25 | Technique for enhancing effectiveness of cache server |
Country Status (2)
Country | Link |
---|---|
US (2) | US7146430B2 (en) |
JP (1) | JP2002044138A (en) |
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050089034A1 (en) * | 2003-08-07 | 2005-04-28 | Canon Kabushiki Kaisha | Network switching apparatus, route management server, network interface apparatus, control method therefor, computer program for route management server, and computer-readable storage medium |
US20060149851A1 (en) * | 2003-02-19 | 2006-07-06 | Taisuke Matsumoto | Inter-router adjustment method, router priority calculation device, and router device |
US20070058559A1 (en) * | 2005-09-15 | 2007-03-15 | Sharp Laboratories Of America, Inc. | Method and system of assigning priority to detection messages |
US20070214320A1 (en) * | 2006-03-08 | 2007-09-13 | Microsoft Corporation | Multi-cache cooperation for response output caching |
US20070244905A1 (en) * | 2006-04-14 | 2007-10-18 | Fujitsu Limited | Computer-readable recording medium containing application management program, and method and apparatus for application management |
US7382731B1 (en) * | 2003-03-05 | 2008-06-03 | Cisco Technology, Inc. | Method and apparatus for updating probabilistic network routing information |
US20080181375A1 (en) * | 2003-10-15 | 2008-07-31 | Vonage Holdings Corp. | Method and apparatus for enhanced internet telephony |
US20080209120A1 (en) * | 2007-02-26 | 2008-08-28 | Microsoft Corporation | Accelerating cache performance by active cache validation |
US20080259813A1 (en) * | 2004-03-09 | 2008-10-23 | Johnny Mikhael Matta | Method and apparatus for quality of service determination |
US20090182941A1 (en) * | 2008-01-15 | 2009-07-16 | Mladen Turk | Web Server Cache Pre-Fetching |
US20110096675A1 (en) * | 2009-10-27 | 2011-04-28 | Microsoft Corporation | Quality of service (qos) based systems, networks, and advisors |
US8065275B2 (en) | 2007-02-15 | 2011-11-22 | Google Inc. | Systems and methods for cache optimization |
US8224964B1 (en) | 2004-06-30 | 2012-07-17 | Google Inc. | System and method of accessing a document efficiently through multi-tier web caching |
US20120215957A1 (en) * | 2011-02-17 | 2012-08-23 | Byungcheol Cho | Semiconductor storage device-based cache storage system |
US8275790B2 (en) | 2004-06-30 | 2012-09-25 | Google Inc. | System and method of accessing a document efficiently through multi-tier web caching |
US20130135993A1 (en) * | 2006-08-22 | 2013-05-30 | Centurylink Intellectual Property Llc | System and method for routing data on a packet network |
US20140032648A1 (en) * | 2012-07-24 | 2014-01-30 | Fujitsu Limited | Information processing apparatus, data provision method, and storage medium |
US8676922B1 (en) | 2004-06-30 | 2014-03-18 | Google Inc. | Automatic proxy setting modification |
US8812651B1 (en) | 2007-02-15 | 2014-08-19 | Google Inc. | Systems and methods for client cache awareness |
US8879391B2 (en) | 2008-04-09 | 2014-11-04 | Centurylink Intellectual Property Llc | System and method for using network derivations to determine path states |
US8976665B2 (en) | 2006-06-30 | 2015-03-10 | Centurylink Intellectual Property Llc | System and method for re-routing calls |
US9014204B2 (en) | 2006-08-22 | 2015-04-21 | Centurylink Intellectual Property Llc | System and method for managing network communications |
US9042234B1 (en) * | 2012-10-31 | 2015-05-26 | Big Switch Networks, Inc. | Systems and methods for efficient network traffic forwarding |
US9042370B2 (en) | 2006-08-22 | 2015-05-26 | Centurylink Intellectual Property Llc | System and method for establishing calls over a call path having best path metrics |
US9054986B2 (en) | 2006-08-22 | 2015-06-09 | Centurylink Intellectual Property Llc | System and method for enabling communications over a number of packet networks |
US9054915B2 (en) | 2006-06-30 | 2015-06-09 | Centurylink Intellectual Property Llc | System and method for adjusting CODEC speed in a transmission path during call set-up due to reduced transmission performance |
US9094257B2 (en) | 2006-06-30 | 2015-07-28 | Centurylink Intellectual Property Llc | System and method for selecting a content delivery network |
US9094261B2 (en) | 2006-08-22 | 2015-07-28 | Centurylink Intellectual Property Llc | System and method for establishing a call being received by a trunk on a packet network |
US9112734B2 (en) | 2006-08-22 | 2015-08-18 | Centurylink Intellectual Property Llc | System and method for generating a graphical user interface representative of network performance |
US9225646B2 (en) | 2006-08-22 | 2015-12-29 | Centurylink Intellectual Property Llc | System and method for improving network performance using a connection admission control engine |
US9225609B2 (en) | 2006-08-22 | 2015-12-29 | Centurylink Intellectual Property Llc | System and method for remotely controlling network operators |
US9241277B2 (en) | 2006-08-22 | 2016-01-19 | Centurylink Intellectual Property Llc | System and method for monitoring and optimizing network performance to a wireless device |
US9253661B2 (en) | 2006-08-22 | 2016-02-02 | Centurylink Intellectual Property Llc | System and method for modifying connectivity fault management packets |
US9479341B2 (en) | 2006-08-22 | 2016-10-25 | Centurylink Intellectual Property Llc | System and method for initiating diagnostics on a packet network node |
US9521150B2 (en) | 2006-10-25 | 2016-12-13 | Centurylink Intellectual Property Llc | System and method for automatically regulating messages between networks |
US9602265B2 (en) | 2006-08-22 | 2017-03-21 | Centurylink Intellectual Property Llc | System and method for handling communications requests |
US9621361B2 (en) | 2006-08-22 | 2017-04-11 | Centurylink Intellectual Property Llc | Pin-hole firewall for communicating data packets on a packet network |
US9660761B2 (en) | 2006-10-19 | 2017-05-23 | Centurylink Intellectual Property Llc | System and method for monitoring a connection of an end-user device to a network |
US9661514B2 (en) | 2006-08-22 | 2017-05-23 | Centurylink Intellectual Property Llc | System and method for adjusting communication parameters |
US9832090B2 (en) | 2006-08-22 | 2017-11-28 | Centurylink Intellectual Property Llc | System, method for compiling network performancing information for communications with customer premise equipment |
US10075351B2 (en) | 2006-08-22 | 2018-09-11 | Centurylink Intellectual Property Llc | System and method for improving network performance |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9603582D0 (en) | 1996-02-20 | 1996-04-17 | Hewlett Packard Co | Method of accessing service resource items that are for use in a telecommunications system |
JP2002108567A (en) * | 2000-09-28 | 2002-04-12 | Hitachi Ltd | Storage control apparatus |
JP2003069639A (en) * | 2001-08-27 | 2003-03-07 | Nec Corp | xDSL STORAGE DEVICE, MULTICAST DELIVERY SYSTEM, AND DATA DELIVERY METHOD |
GB2379355B (en) * | 2001-08-31 | 2003-07-16 | Roke Manor Research | A method of deriving a metric for link in a network |
US8635305B1 (en) * | 2001-12-19 | 2014-01-21 | Cisco Technology, Inc. | Mechanisms for providing differentiated services within a web cache |
JP2003319009A (en) * | 2002-04-24 | 2003-11-07 | Communication Research Laboratory | Data communication control method, data communication control system, data sending mechanism, data communication control program, and data communication control program recording medium |
JP3800527B2 (en) | 2002-05-30 | 2006-07-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Data backup technology using network |
US8174970B2 (en) | 2003-05-15 | 2012-05-08 | At&T Intellectual Property I, L.P. | Methods of implementing dynamic QoS and/or bandwidth provisioning and related data networks, data service providers, routing gateways, and computer program products |
US8018953B1 (en) | 2003-08-20 | 2011-09-13 | Cisco Technology, Inc. | Adaptive, deterministic ant routing approach for updating network routing information |
US7631081B2 (en) * | 2004-02-27 | 2009-12-08 | International Business Machines Corporation | Method and apparatus for hierarchical selective personalization |
US7370326B2 (en) * | 2004-04-02 | 2008-05-06 | Emulex Design & Manufacturing Corporation | Prerequisite-based scheduler |
JP4530707B2 (en) * | 2004-04-16 | 2010-08-25 | 株式会社クラウド・スコープ・テクノロジーズ | Network information presentation apparatus and method |
US7624160B2 (en) * | 2004-05-04 | 2009-11-24 | International Business Machines Corporation | Methods, systems, and computer program products for client side prefetching and caching of portlets |
JP2006031219A (en) * | 2004-07-14 | 2006-02-02 | Sony Corp | Contents using system, contents using terminal, preference server, contents using program and reference program |
US8799206B2 (en) | 2005-02-07 | 2014-08-05 | Mimosa Systems, Inc. | Dynamic bulk-to-brick transformation of data |
US8812433B2 (en) | 2005-02-07 | 2014-08-19 | Mimosa Systems, Inc. | Dynamic bulk-to-brick transformation of data |
US8275749B2 (en) * | 2005-02-07 | 2012-09-25 | Mimosa Systems, Inc. | Enterprise server version migration through identity preservation |
US8918366B2 (en) | 2005-02-07 | 2014-12-23 | Mimosa Systems, Inc. | Synthetic full copies of data and dynamic bulk-to-brick transformation |
WO2006087817A1 (en) * | 2005-02-21 | 2006-08-24 | Fujitsu Limited | Communication control system |
US8001456B2 (en) * | 2005-02-28 | 2011-08-16 | International Business Machines Corporation | Methods for maintaining separation between markup and data at a client |
JP4786255B2 (en) * | 2005-08-29 | 2011-10-05 | 株式会社日立製作所 | Storage system and storage control method |
JP2007066161A (en) * | 2005-09-01 | 2007-03-15 | Hitachi Ltd | Cache system |
JP2007124487A (en) * | 2005-10-31 | 2007-05-17 | Toshiba Corp | Communication control method |
US9686183B2 (en) | 2005-12-06 | 2017-06-20 | Zarbaña Digital Fund Llc | Digital object routing based on a service request |
US8054830B2 (en) * | 2005-12-07 | 2011-11-08 | Alcatel Lucent | Managing the distribution of control protocol information in a network node |
JP4681507B2 (en) * | 2006-06-01 | 2011-05-11 | 日本電信電話株式会社 | Request interpretation method and request interpretation device |
WO2008021863A2 (en) * | 2006-08-08 | 2008-02-21 | Wayport, Inc. | Automated acquisition and maintenance of web-servable content via enhanced '404: not found' handler |
US8869304B1 (en) * | 2007-10-10 | 2014-10-21 | Sprint Communications Company L.P. | Digital rights management based content access mediation |
US8565218B2 (en) * | 2008-06-05 | 2013-10-22 | Hewlett-Packard Development Company, L.P. | Flow path discovery in network to guarantee multiple metric QoS constraints |
US9208104B2 (en) * | 2008-08-28 | 2015-12-08 | Citrix Systems, Inc. | Content replacement and refresh policy implementation for a content distribution network |
US8271610B2 (en) | 2008-08-28 | 2012-09-18 | Sycamore Networks, Inc. | Distributed content caching solution for a mobile wireless network |
US8819260B2 (en) * | 2008-10-15 | 2014-08-26 | Aster Risk Management Llc | Random server selection for retrieving fragments under changing network conditions |
US20100094958A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Systems and methods for aggregating erasure-coded fragments |
US8238538B2 (en) | 2009-05-28 | 2012-08-07 | Comcast Cable Communications, Llc | Stateful home phone service |
JP5208884B2 (en) * | 2009-08-17 | 2013-06-12 | 日本電信電話株式会社 | WEB information acquisition method and apparatus |
US8490107B2 (en) | 2011-08-08 | 2013-07-16 | Arm Limited | Processing resource allocation within an integrated circuit supporting transaction requests of different priority levels |
JP2014044677A (en) * | 2012-08-28 | 2014-03-13 | Fujitsu Ltd | Transmission control program, communication node, and transmission control method |
WO2014054691A1 (en) * | 2012-10-03 | 2014-04-10 | 日本電気株式会社 | Communication system, control apparatus, control method, and program |
US9906618B2 (en) * | 2013-12-06 | 2018-02-27 | Fastly Inc. | Return path selection for content delivery |
US11038922B2 (en) | 2013-12-06 | 2021-06-15 | Fastly, Inc. | Secure traffic optimization in an edge network |
US9584617B2 (en) | 2013-12-31 | 2017-02-28 | Successfactors, Inc. | Allocating cache request in distributed cache system based upon cache object and marker identifying mission critical data |
US10361962B2 (en) * | 2015-11-09 | 2019-07-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Packet processing technique for a communication network |
US20170171349A1 (en) * | 2015-12-14 | 2017-06-15 | Le Holdings (Beijing) Co., Ltd. | Method, Device and System for Transmitting Data |
US11064019B2 (en) * | 2016-09-14 | 2021-07-13 | Advanced Micro Devices, Inc. | Dynamic configuration of inter-chip and on-chip networks in cloud computing system |
US11573900B2 (en) * | 2019-09-11 | 2023-02-07 | Intel Corporation | Proactive data prefetch with applied quality of service |
CN115209166A (en) * | 2021-04-12 | 2022-10-18 | 北京字节跳动网络技术有限公司 | Message sending method, device, equipment and storage medium |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5956339A (en) * | 1996-10-17 | 1999-09-21 | Fujitsu Limited | Apparatus for selecting a route in a packet-switched communications network |
US6167438A (en) * | 1997-05-22 | 2000-12-26 | Trustees Of Boston University | Method and system for distributed caching, prefetching and replication |
US6201794B1 (en) * | 1997-03-07 | 2001-03-13 | Advanced Micro Devices, Inc. | Network with efficient message routing |
US6292489B1 (en) * | 1996-06-11 | 2001-09-18 | Hitachi, Ltd. | Router device and network system using the same |
US6546422B1 (en) * | 1998-07-02 | 2003-04-08 | Nec Corporation | Caching of network contents by packet relays that determine cache priority utilizing contents access frequency and metrics in their routing tables representing relaying path lengths |
US6606303B1 (en) * | 1997-12-19 | 2003-08-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and device in a packet switched network |
US6658485B1 (en) * | 1998-10-19 | 2003-12-02 | International Business Machines Corporation | Dynamic priority-based scheduling in a message queuing system |
US6697333B1 (en) * | 1998-03-04 | 2004-02-24 | Alcatel Canada Inc. | Bandwidth load consideration in network route selection |
US7454457B1 (en) * | 2000-02-07 | 2008-11-18 | Parallel Networks, Llc | Method and apparatus for dynamic data flow control using prioritization of data requests |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3355530B2 (en) * | 1992-02-28 | 2002-12-09 | 日本電信電話株式会社 | Self-propagating network system |
JPH0758748A (en) | 1993-08-10 | 1995-03-03 | Nippon Telegr & Teleph Corp <Ntt> | Congestion solving atm exchange and congestion solving control method of atm exchange |
US5485455A (en) * | 1994-01-28 | 1996-01-16 | Cabletron Systems, Inc. | Network having secure fast packet switching and guaranteed quality of service |
JP2929993B2 (en) | 1996-02-02 | 1999-08-03 | 日本電気株式会社 | Routing method |
JP2960365B2 (en) | 1997-02-26 | 1999-10-06 | 株式会社ワイ・アール・ピー移動通信基盤技術研究所 | Handoff method and mobile communication network with handoff function |
JPH11224239A (en) | 1998-02-09 | 1999-08-17 | Ntt Data Corp | Data amount count system, information providing system, and measuring method |
US6507563B1 (en) * | 1998-12-24 | 2003-01-14 | Cisco Technology, Inc. | Methods and apparatus for controlling congestion within diverse protocol stacks |
US6502175B1 (en) * | 1999-03-31 | 2002-12-31 | Lucent Technologies Inc. | Method and apparatus for locating caches in a network to optimize performance |
US6678244B1 (en) * | 2000-01-06 | 2004-01-13 | Cisco Technology, Inc. | Congestion management system and method |
US7075927B2 (en) * | 2000-05-05 | 2006-07-11 | Fujitsu Limited | Method and system for quality of service (QoS) support in a packet-switched network |
-
2000
- 2000-07-25 JP JP2000224448A patent/JP2002044138A/en not_active Withdrawn
-
2001
- 2001-07-25 US US09/915,056 patent/US7146430B2/en not_active Expired - Fee Related
-
2005
- 2005-06-24 US US11/165,492 patent/US20050246347A1/en not_active Abandoned
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6292489B1 (en) * | 1996-06-11 | 2001-09-18 | Hitachi, Ltd. | Router device and network system using the same |
US5956339A (en) * | 1996-10-17 | 1999-09-21 | Fujitsu Limited | Apparatus for selecting a route in a packet-switched communications network |
US6201794B1 (en) * | 1997-03-07 | 2001-03-13 | Advanced Micro Devices, Inc. | Network with efficient message routing |
US6167438A (en) * | 1997-05-22 | 2000-12-26 | Trustees Of Boston University | Method and system for distributed caching, prefetching and replication |
US6606303B1 (en) * | 1997-12-19 | 2003-08-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and device in a packet switched network |
US6697333B1 (en) * | 1998-03-04 | 2004-02-24 | Alcatel Canada Inc. | Bandwidth load consideration in network route selection |
US6546422B1 (en) * | 1998-07-02 | 2003-04-08 | Nec Corporation | Caching of network contents by packet relays that determine cache priority utilizing contents access frequency and metrics in their routing tables representing relaying path lengths |
US6658485B1 (en) * | 1998-10-19 | 2003-12-02 | International Business Machines Corporation | Dynamic priority-based scheduling in a message queuing system |
US7454457B1 (en) * | 2000-02-07 | 2008-11-18 | Parallel Networks, Llc | Method and apparatus for dynamic data flow control using prioritization of data requests |
Cited By (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060149851A1 (en) * | 2003-02-19 | 2006-07-06 | Taisuke Matsumoto | Inter-router adjustment method, router priority calculation device, and router device |
US7382731B1 (en) * | 2003-03-05 | 2008-06-03 | Cisco Technology, Inc. | Method and apparatus for updating probabilistic network routing information |
US7903650B2 (en) | 2003-03-05 | 2011-03-08 | Cisco Technology, Inc. | Method and apparatus for updating probabilistic network routing information |
US20080162723A1 (en) * | 2003-03-05 | 2008-07-03 | Fuyong Zhao | Method and apparatus for updating probabilistic network routing information |
US20050089034A1 (en) * | 2003-08-07 | 2005-04-28 | Canon Kabushiki Kaisha | Network switching apparatus, route management server, network interface apparatus, control method therefor, computer program for route management server, and computer-readable storage medium |
US7782854B2 (en) * | 2003-08-07 | 2010-08-24 | Canon Kabushiki Kaisha | Network switching apparatus, route management server, network interface apparatus, control method therefor, computer program for route management server, and computer-readable storage medium |
US20080181375A1 (en) * | 2003-10-15 | 2008-07-31 | Vonage Holdings Corp. | Method and apparatus for enhanced internet telephony |
US20080259813A1 (en) * | 2004-03-09 | 2008-10-23 | Johnny Mikhael Matta | Method and apparatus for quality of service determination |
US8788475B2 (en) | 2004-06-30 | 2014-07-22 | Google Inc. | System and method of accessing a document efficiently through multi-tier web caching |
US8825754B2 (en) | 2004-06-30 | 2014-09-02 | Google Inc. | Prioritized preloading of documents to client |
US9485140B2 (en) | 2004-06-30 | 2016-11-01 | Google Inc. | Automatic proxy setting modification |
US8676922B1 (en) | 2004-06-30 | 2014-03-18 | Google Inc. | Automatic proxy setting modification |
US8224964B1 (en) | 2004-06-30 | 2012-07-17 | Google Inc. | System and method of accessing a document efficiently through multi-tier web caching |
US8639742B2 (en) | 2004-06-30 | 2014-01-28 | Google Inc. | Refreshing cached documents and storing differential document content |
US8275790B2 (en) | 2004-06-30 | 2012-09-25 | Google Inc. | System and method of accessing a document efficiently through multi-tier web caching |
US20070058559A1 (en) * | 2005-09-15 | 2007-03-15 | Sharp Laboratories Of America, Inc. | Method and system of assigning priority to detection messages |
US7685367B2 (en) | 2006-03-08 | 2010-03-23 | Microsoft Corporation | Multi-cache cooperation for response output caching |
US20070214320A1 (en) * | 2006-03-08 | 2007-09-13 | Microsoft Corporation | Multi-cache cooperation for response output caching |
US20070244905A1 (en) * | 2006-04-14 | 2007-10-18 | Fujitsu Limited | Computer-readable recording medium containing application management program, and method and apparatus for application management |
US8146074B2 (en) * | 2006-04-14 | 2012-03-27 | Fujitsu Limited | Computer-readable recording medium containing application management program, and method and apparatus for application management |
US9838440B2 (en) | 2006-06-30 | 2017-12-05 | Centurylink Intellectual Property Llc | Managing voice over internet protocol (VoIP) communications |
US9154634B2 (en) | 2006-06-30 | 2015-10-06 | Centurylink Intellectual Property Llc | System and method for managing network communications |
US9549004B2 (en) | 2006-06-30 | 2017-01-17 | Centurylink Intellectual Property Llc | System and method for re-routing calls |
US9118583B2 (en) | 2006-06-30 | 2015-08-25 | Centurylink Intellectual Property Llc | System and method for re-routing calls |
US9749399B2 (en) | 2006-06-30 | 2017-08-29 | Centurylink Intellectual Property Llc | System and method for selecting a content delivery network |
US9094257B2 (en) | 2006-06-30 | 2015-07-28 | Centurylink Intellectual Property Llc | System and method for selecting a content delivery network |
US8976665B2 (en) | 2006-06-30 | 2015-03-10 | Centurylink Intellectual Property Llc | System and method for re-routing calls |
US9054915B2 (en) | 2006-06-30 | 2015-06-09 | Centurylink Intellectual Property Llc | System and method for adjusting CODEC speed in a transmission path during call set-up due to reduced transmission performance |
US10230788B2 (en) | 2006-06-30 | 2019-03-12 | Centurylink Intellectual Property Llc | System and method for selecting a content delivery network |
US10560494B2 (en) | 2006-06-30 | 2020-02-11 | Centurylink Intellectual Property Llc | Managing voice over internet protocol (VoIP) communications |
US9042370B2 (en) | 2006-08-22 | 2015-05-26 | Centurylink Intellectual Property Llc | System and method for establishing calls over a call path having best path metrics |
US9225646B2 (en) | 2006-08-22 | 2015-12-29 | Centurylink Intellectual Property Llc | System and method for improving network performance using a connection admission control engine |
US10469385B2 (en) | 2006-08-22 | 2019-11-05 | Centurylink Intellectual Property Llc | System and method for improving network performance using a connection admission control engine |
US9014204B2 (en) | 2006-08-22 | 2015-04-21 | Centurylink Intellectual Property Llc | System and method for managing network communications |
US10348594B2 (en) | 2006-08-22 | 2019-07-09 | Centurylink Intellectual Property Llc | Monitoring performance of voice over internet protocol (VoIP) networks |
US8811160B2 (en) * | 2006-08-22 | 2014-08-19 | Centurylink Intellectual Property Llc | System and method for routing data on a packet network |
US9054986B2 (en) | 2006-08-22 | 2015-06-09 | Centurylink Intellectual Property Llc | System and method for enabling communications over a number of packet networks |
US10075351B2 (en) | 2006-08-22 | 2018-09-11 | Centurylink Intellectual Property Llc | System and method for improving network performance |
US9992348B2 (en) | 2006-08-22 | 2018-06-05 | Century Link Intellectual Property LLC | System and method for establishing a call on a packet network |
US9094261B2 (en) | 2006-08-22 | 2015-07-28 | Centurylink Intellectual Property Llc | System and method for establishing a call being received by a trunk on a packet network |
US9112734B2 (en) | 2006-08-22 | 2015-08-18 | Centurylink Intellectual Property Llc | System and method for generating a graphical user interface representative of network performance |
US9832090B2 (en) | 2006-08-22 | 2017-11-28 | Centurylink Intellectual Property Llc | System, method for compiling network performancing information for communications with customer premise equipment |
US20130135993A1 (en) * | 2006-08-22 | 2013-05-30 | Centurylink Intellectual Property Llc | System and method for routing data on a packet network |
US9712445B2 (en) | 2006-08-22 | 2017-07-18 | Centurylink Intellectual Property Llc | System and method for routing data on a packet network |
US9225609B2 (en) | 2006-08-22 | 2015-12-29 | Centurylink Intellectual Property Llc | System and method for remotely controlling network operators |
US9240906B2 (en) | 2006-08-22 | 2016-01-19 | Centurylink Intellectual Property Llc | System and method for monitoring and altering performance of a packet network |
US9241277B2 (en) | 2006-08-22 | 2016-01-19 | Centurylink Intellectual Property Llc | System and method for monitoring and optimizing network performance to a wireless device |
US9253661B2 (en) | 2006-08-22 | 2016-02-02 | Centurylink Intellectual Property Llc | System and method for modifying connectivity fault management packets |
US9479341B2 (en) | 2006-08-22 | 2016-10-25 | Centurylink Intellectual Property Llc | System and method for initiating diagnostics on a packet network node |
US9813320B2 (en) | 2006-08-22 | 2017-11-07 | Centurylink Intellectual Property Llc | System and method for generating a graphical user interface representative of network performance |
US9660917B2 (en) | 2006-08-22 | 2017-05-23 | Centurylink Intellectual Property Llc | System and method for remotely controlling network operators |
US9806972B2 (en) | 2006-08-22 | 2017-10-31 | Centurylink Intellectual Property Llc | System and method for monitoring and altering performance of a packet network |
US9602265B2 (en) | 2006-08-22 | 2017-03-21 | Centurylink Intellectual Property Llc | System and method for handling communications requests |
US9621361B2 (en) | 2006-08-22 | 2017-04-11 | Centurylink Intellectual Property Llc | Pin-hole firewall for communicating data packets on a packet network |
US9661514B2 (en) | 2006-08-22 | 2017-05-23 | Centurylink Intellectual Property Llc | System and method for adjusting communication parameters |
US9660761B2 (en) | 2006-10-19 | 2017-05-23 | Centurylink Intellectual Property Llc | System and method for monitoring a connection of an end-user device to a network |
US9521150B2 (en) | 2006-10-25 | 2016-12-13 | Centurylink Intellectual Property Llc | System and method for automatically regulating messages between networks |
US8065275B2 (en) | 2007-02-15 | 2011-11-22 | Google Inc. | Systems and methods for cache optimization |
US8812651B1 (en) | 2007-02-15 | 2014-08-19 | Google Inc. | Systems and methods for client cache awareness |
US8996653B1 (en) | 2007-02-15 | 2015-03-31 | Google Inc. | Systems and methods for client authentication |
US20080209120A1 (en) * | 2007-02-26 | 2008-08-28 | Microsoft Corporation | Accelerating cache performance by active cache validation |
US8745341B2 (en) * | 2008-01-15 | 2014-06-03 | Red Hat, Inc. | Web server cache pre-fetching |
US20090182941A1 (en) * | 2008-01-15 | 2009-07-16 | Mladen Turk | Web Server Cache Pre-Fetching |
US8879391B2 (en) | 2008-04-09 | 2014-11-04 | Centurylink Intellectual Property Llc | System and method for using network derivations to determine path states |
US8335163B2 (en) * | 2009-10-27 | 2012-12-18 | Microsoft Corporation | Quality of service (QOS) based systems, networks, and advisors |
US20110096675A1 (en) * | 2009-10-27 | 2011-04-28 | Microsoft Corporation | Quality of service (qos) based systems, networks, and advisors |
US20120215957A1 (en) * | 2011-02-17 | 2012-08-23 | Byungcheol Cho | Semiconductor storage device-based cache storage system |
US9807199B2 (en) * | 2012-07-24 | 2017-10-31 | Fujitsu Limited | Information processing apparatus, data provision method, and storage medium |
US20140032648A1 (en) * | 2012-07-24 | 2014-01-30 | Fujitsu Limited | Information processing apparatus, data provision method, and storage medium |
US9042234B1 (en) * | 2012-10-31 | 2015-05-26 | Big Switch Networks, Inc. | Systems and methods for efficient network traffic forwarding |
Also Published As
Publication number | Publication date |
---|---|
JP2002044138A (en) | 2002-02-08 |
US20020065932A1 (en) | 2002-05-30 |
US7146430B2 (en) | 2006-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7146430B2 (en) | Technique for enhancing effectiveness of cache server | |
US7222186B2 (en) | Content transferring technique | |
US7826461B2 (en) | Packet switching system, packet switching method, routing apparatus, structure of packet, and packet generating method | |
JP3624222B2 (en) | Method and system for routing packets in a packet communication network using locally configured routing tables | |
US7801070B2 (en) | Mobile communication system, mobile terminal transfer device, and mobile communication method | |
US20150092783A1 (en) | Apparatus and method for establishing tunnels between nodes in a communication network | |
JP4556592B2 (en) | Router selection method and router device | |
EP2619953B1 (en) | A control apparatus, a communication system, a communication method and a recording medium having recorded thereon a communication program | |
JP2014502794A (en) | Communication path control system, path control device, communication path control method, and path control program | |
US8135005B2 (en) | Communication control system, communication control method, routing controller and router suitably used for the same | |
JP4182974B2 (en) | Route calculation system, network system, cache server, route calculation method, cache server control method, and recording medium | |
JP2002305541A (en) | Load balancing method in mesh net | |
JP5001966B2 (en) | Route information management method and management system thereof | |
JP4623317B2 (en) | Communication apparatus, routing method and program | |
US5905712A (en) | Data communication network | |
JP3591492B2 (en) | Packet distribution device and packet distribution program | |
JP4286710B2 (en) | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, COMMUNICATION CONTROL METHOD, AND COMPUTER PROGRAM | |
JP2006115362A (en) | Packet repeating device | |
JP3676354B2 (en) | Packet communication system, node, relay node, relay node capable of deleting used address, and packet communication method | |
JP3931910B2 (en) | Network system, cache server, cache server control method, and recording medium | |
JP2001094606A (en) | Path calculation method and path control system | |
JP5532818B2 (en) | ID / locator association apparatus, ID / locator association method and program | |
JP3593549B2 (en) | IP packet transfer control system and method and recording medium on which processing program is recorded | |
JP7230729B2 (en) | Route control device, route control method, and program | |
JPH0779249A (en) | Packet repeating method and device therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |