U.S. patent application number 11/165492 was filed with the patent office on 2005-11-03 for technique for enhancing effectiveness of cache server.
This patent application is currently assigned to NEC Corporation. Invention is credited to Kobayashi, Masayoshi.
Application Number | 20050246347 11/165492 |
Document ID | / |
Family ID | 18718411 |
Filed Date | 2005-11-03 |
United States Patent
Application |
20050246347 |
Kind Code |
A1 |
Kobayashi, Masayoshi |
November 3, 2005 |
Technique for enhancing effectiveness of cache server
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.
Inventors: |
Kobayashi, Masayoshi;
(Tokyo, JP) |
Correspondence
Address: |
DICKSTEIN SHAPIRO MORIN & OSHINSKY, LLP
1177 Avenue of the Americas
New York
NY
10036
US
|
Assignee: |
NEC Corporation
|
Family ID: |
18718411 |
Appl. No.: |
11/165492 |
Filed: |
June 24, 2005 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11165492 |
Jun 24, 2005 |
|
|
|
09915056 |
Jul 25, 2001 |
|
|
|
Current U.S.
Class: |
1/1 ; 707/999.01;
707/E17.12 |
Current CPC
Class: |
G06F 16/9574 20190101;
H04L 67/2847 20130101; H04L 67/2804 20130101; H04L 67/2852
20130101; H04L 67/322 20130101 |
Class at
Publication: |
707/010 |
International
Class: |
G06F 007/00 |
Foreign Application Data
Date |
Code |
Application Number |
Jul 25, 2000 |
JP |
2000-224448 |
Claims
What is claimed is:
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.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] 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.
BACKGROUND OF THE INVENTION
[0002] 1. Field of the Invention
[0003] 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.
[0004] 2. Description of the Related Art
[0005] A conventional network system having cache servers will be
described with reference to FIG. 36 and FIG. 37.
[0006] 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).
[0007] 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.
[0008] 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.
[0009] 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.
[0010] 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.
[0011] 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.
[0012] 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.
[0013] 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.
[0014] 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.
[0015] 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.
[0016] 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.
[0017] FIG. 37 is a diagram showing an internal structure of the
conventional cache server. Each circuit block will be described
hereinafter.
[0018] 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.
[0019] 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.
[0020] 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.
[0021] 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 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. When it has
been decided that the content are obtainable, 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.
[0022] 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.
[0023] The storage 6 stores various Web contents and content
summaries.
[0024] 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 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. For the content that have been decided
to be obtained in advance, 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. When it has been decided to
obtain the content, the cache server cooperating section 7 obtains
the content from the corresponding cache server.
[0025] 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.
[0026] 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.
[0027] 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.
[0028] The conventional techniques shown in FIG. 36 and FIG. 37
have the following disadvantages. Assume the following case. In the
network configuration as shown in FIG. 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.
[0029] 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.
[0030] 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
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.
[0031] 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.
SUMMARY OF THE INVENTION
[0032] 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.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] 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.
[0040] 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.
BRIEF DESCRIPTION OF THE DRAWINGS
[0041] FIG. 1 is a block diagram showing an example of a structure
according to a first embodiment of the present invention.
[0042] FIG. 2 is a block diagram showing an example of a structure
of a QoS path reference cache server C101.
[0043] FIG. 3 is a flowchart showing an example of the operation
according to the first embodiment of the present invention.
[0044] FIG. 4 is a diagram showing one example of QoS path
information.
[0045] FIG. 5 is a diagram showing a graph of the QoS path
information shown in FIG. 4.
[0046] FIG. 6 is a block diagram showing an example of a structure
according to a second embodiment of the present invention.
[0047] FIG. 7 is a block diagram showing an example of a structure
of a QoS path reference cache server C201.
[0048] FIG. 8 is a flowchart showing an example of the operation
according to the second embodiment of the present invention.
[0049] FIG. 9 is a block diagram showing an example of a structure
according to a third embodiment of the present invention.
[0050] FIG. 10 is a block diagram showing an example of a structure
of a QoS path reference relay control cache server C301.
[0051] FIG. 11 is a flow chart showing an example of the operation
according to the third embodiment of the present invention.
[0052] FIG. 12 is a diagram showing one example of QoS path
information according to the third embodiment of the present
invention.
[0053] FIG. 13 is a diagram showing one example of QoS path
information according to the third embodiment of the present
invention.
[0054] FIG. 14 is a block diagram showing an example of a structure
according to a fourth embodiment of the present invention.
[0055] FIG. 15 is a block diagram showing an example of a structure
of a QoS path reference relay control cache server C401.
[0056] FIG. 16 is a flow chart showing an example of the operation
according to the fourth embodiment of the present invention.
[0057] FIG. 17 is a diagram showing one example of QoS path
information according to the fourth embodiment of the present
invention.
[0058] FIG. 18 is a diagram showing one example of QoS path
information according to the fourth embodiment of the present
invention.
[0059] FIG. 19 is a block diagram showing an example of a structure
according to a fifth embodiment of the present invention.
[0060] FIG. 20 is a block diagram showing an example of a structure
of a cache server with priority function C501.
[0061] FIG. 21 is a flow chart showing an example of the operation
according to the fifth embodiment of the present invention.
[0062] FIG. 22 is a block diagram showing an example of a structure
according to a sixth embodiment of the present invention.
[0063] FIG. 23 is a block diagram showing an example of a structure
of a cache server with priority function C601.
[0064] FIG. 24 is a flow chart showing an example of the operation
according to the sixth embodiment of the present invention.
[0065] FIG. 25 is a block diagram showing an example of a structure
according to a seventh embodiment of the present invention.
[0066] FIG. 26 is a block diagram showing an example of a structure
of a QoS path reference relay priority control cache server
C701.
[0067] FIG. 27 is a flow chart showing an example of the operation
according to the seventh embodiment of the present invention.
[0068] FIG. 28 is a diagram showing one example of QoS path
information according to the seventh embodiment of the present
invention.
[0069] FIG. 29 is a block diagram showing an example of a structure
of a QoS path reference cache server C101a that is used in an
eighth embodiment of the present invention.
[0070] FIG. 30 is a block diagram showing an example of a structure
of a QoS path reference cache server C101b that is used in a ninth
embodiment of the present invention.
[0071] FIG. 31 is a block diagram showing an example of a structure
of a QoS path reference cache server C201a that is used in a tenth
embodiment of the present invention.
[0072] FIG. 32 is a block diagram showing an example of a structure
of a QoS path reference cache server C201b that is used in an
eleventh embodiment of the present invention.
[0073] FIG. 33 is a block diagram showing an example of a structure
of a QoS path reference relay control cache server C301a that is
used in a twelfth embodiment of the present invention.
[0074] FIG. 34 is a block diagram showing an example of a structure
of a QoS path reference relay control cache server C301b that is
used in a thirteenth embodiment of the present invention.
[0075] FIG. 35 is a block diagram showing an example of a structure
of a QoS path reference relay control cache server C401a that is
used in a fourteenth embodiment of the present invention.
[0076] FIG. 36 is a block diagram showing an example of a structure
of a conventional network system.
[0077] FIG. 37 is a block diagram showing an example of a structure
of a conventional cache server C1.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0078] Embodiments of the present invention will be described in
detail with reference to the drawings.
First Embodiment
[0079] 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.
[0080] 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.
[0081] 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.
[0082] 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.
[0083] 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.
[0084] 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.
[0085] 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.
[0086] 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.
[0087] On the other hand, according to the present embodiment, a
path bypassing operation is carried out by utilizing QoS path
information.
[0088] FIG. 2 is a block diagram showing an example of an internal
structure of the QoS path reference cache server C101 as shown in
FIG. 1. Each element will be described hereafter. Other QoS path
reference cache servers also have a similar structure.
[0089] 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.
[0090] A QoS path information obtaining section 102 obtains QoS
path information.
[0091] 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.
[0092] 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. Then, 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.
[0093] 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. 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 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.
[0094] The storage 106 stores various Web contents and content
summaries.
[0095] 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.
[0096] 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. As a
result of the 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.
[0097] 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 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.
[0098] 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.
[0099] 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.
[0100] 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. Thus, these sections request the path
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 automatic
cache updating section 105 passes the network address used for
obtaining the content to the path calculating section 108.
[0101] 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.
[0102] 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)
(F102).
[0103] For instance, in the case where the path calculating section
108 has obtained the QoS path information as shown in FIG. 4 from
the QoS path information obtaining section 102, and also has
received the network address of the Web server S1 from a request
originator, the QoS path information shown in FIG. 4 can be
expressed in a graph as shown in FIG. 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.
[0104] 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 path information
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 path information obtaining section
102 updates the held QoS path information depending on the content
of information received from the path control protocol.
[0105] 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 (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 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.
[0106] 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.
Second Embodiment
[0107] 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 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.
[0108] 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.
[0109] FIG. 7 is a block diagram showing an internal structure of
the QoS path reference cache server C201. A path setting section
109 is added to the structure of the first embodiment.
[0110] 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. When it is determined that the content or content summary is
obtained, the path setting section 109 is instructed to set up the
path. 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.
[0111] 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 R200, and requests the protocol to set
up the path. Further, the path setting section 109 requests the
near path-settable router R200 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.
[0112] 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 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.
[0113] 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.
[0114] 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.
[0115] 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. Thus, these sections request the path
calculating section 108 to carry out the path calculation (F201).
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. 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) (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 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 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 the path setting section 109 to cancel the set path
(F206). When the content or content summary are not obtained
(F207), the processing finishes immediately.
[0116] 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.
Third Embodiment
[0117] 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. 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.
[0118] 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.
[0119] 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.
[0120] FIG. 10 is a block diagram showing an example of a structure
of a QoS path reference relay control cache server C301. 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.
[0121] 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.
[0122] 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. When the Web contents and content summaries are to
be obtained, 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.
[0123] 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.
[0124] 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.
[0125] 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.
[0126] 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 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.
[0127] 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.
[0128] 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
(F401). 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 (F402).
In the case of obtaining the content (F403), 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) (F404). When it is
determined that the content is not obtained (F405), the processing
is terminated.
[0129] 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.
[0130] 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.
[0131] 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.
[0132] 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.
[0133] 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. The relay 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. The relay 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.
[0134] 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, the relay control section 110 selects
the relay servers M301 and M302. Then, the relay 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, the relay 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.
[0135] In the case where the QoS path information obtained from the
QoS path information obtaining section 102 is as shown in FIG. 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, 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
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.
[0136] 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, the
relay 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).
[0137] 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.
[0138] 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.
Fourth Embodiment
[0139] 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.
[0140] 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 a relay control section 110 and a path setting
section 109 that are different from those of the third embodiment
will be explained.
[0141] 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.
[0142] 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.
[0143] 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 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.
[0144] 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.
[0145] 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
(F501).
[0146] 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 path information obtaining section 102. When the content is
to be obtained, the relay control section 110 determines a path and
the relay server to be used (F502).
[0147] In the case of obtaining the content (F503), the relay
control section 110 instructs the path setting section 109 to set a
path based on the determined path. After the path setting section
109 has completed the setting of the path (F504), 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)
(F505). Thereafter, the relay control section 110 instructs the
path 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.
[0148] 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:
[0149] path from S1 to C401: S1.R202.L1.R201.L0.R200.C401;
[0150] path from S1 to M302: S1.R202.L1.R201.M302;
[0151] path from S1 to M301: S1.R202.L3.R203.M301; and
[0152] path from M301 to M302: M301.R203.L2.R201.M302.
[0153] It is further assumed that the QoS path information obtained
from the QoS path information obtaining section 102 is as shown in
FIG. 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, 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
L1) exists on the path. Accordingly, the relay 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.R2- 01.M302.R201.L0.R200.C401.
Therefore, the relay control section 110 notifies the path setting
section 109 of this path.
[0154] Then, the path setting section 109 instructs the nearest
path-settable router R200 to set up the above path. Thereafter, the
relay 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.
[0155] It is assumed that 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 L0) even when the relay
servers M301 and M302 existing on the network are used. Therefore,
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
S1.R202.L1.R201.L0.R200.C40- 1, that is determined based on the
content of the routing table.
[0156] 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, the relay 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).
[0157] 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.
Fifth Embodiment
[0158] 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 (see FIG. 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.
[0159] 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.
[0160] 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.
[0161] 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.
[0162] 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, 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.
[0163] 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. In
relation to the above communications, 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. Then, 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.
[0164] 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.
[0165] The storage 506 stores various Web contents and content
summaries.
[0166] 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.
[0167] 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.
[0168] 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).
[0169] 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 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).
[0170] 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 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.) 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 path information obtaining section 502 is added
to the priority providing section 509. 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.
[0171] 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 the storage 506.
[0172] 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.
[0173] 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.
[0174] 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 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.
[0175] 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.
[0176] First, among the cache operating section 503, the link
prefetching control section 504, the automatic cache updating
section 505, and the cache server 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).
[0177] 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. 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, the priority providing
section 509 notifies the source of request of this determined
priority (F302).
[0178] 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. 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).
[0179] 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.
Sixth Embodiment
[0180] 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 (see FIG. 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.
[0181] 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).
[0182] 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.
[0183] 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.
[0184] 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.
[0185] 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. When
the last update date and time of the held content is older, 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".
[0186] Priority Setting Operation
[0187] 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.
[0188] 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. In
relation to the above communications for obtaining the content, the
link prefetching control section 604 also carries out the
priority-setting operation defined above.
[0189] 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.
[0190] The storage 606 stores various Web contents and content
summaries.
[0191] 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.
[0192] 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. When
receiving such a request, 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. There are various methods of
determining the priority to be provided. For example, it is
possible to employ the following methods (d) to (f).
[0193] Priority Determination
[0194] 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 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. In this case, 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). 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.
[0195] 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.
[0196] 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.
[0197] 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, the priority
providing section 609 decides as follows:
[0198] 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;
[0199] 2. The priority providing section 609 sets the default
priority PD to the flow to the direction of R603 at the R604;
and
[0200] 3. The priority providing section 609 sets the priority P to
the flow to the direction of R600 at the R601.
[0201] Thereafter, the priority providing section 609 sends back to
the link prefetching 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.
[0202] 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 link
prefetching 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 the priority providing section 609 carries out all
the processing from 1. to 3. above.
[0203] 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.
[0204] 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).
[0205] 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, the priority
providing section 609 decides as follows.
[0206] 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;
[0207] 2. The priority providing section 609 sets the default
priority PD to the flow to the direction of R603 at the router
R604;
[0208] 3. The priority providing section 609 sets the priority P2
to the flow to the direction of R600 at the router R601.
[0209] Thereafter, the priority providing section 609 returns to
the link prefetching 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.
[0210] 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.
[0211] 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.
[0212] 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.
[0213] When the link prefetching control section 604, the automatic
cache updating section 605, or the cache server cooperating section
607 has issued a setting-cancellation instruction, the router
priority setting section 610 cancels the setting.
[0214] 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 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.
[0215] 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.
[0216] First, among the cache operating section 603, the link
prefetching control section 604, the automatic cache updating
section 605, and the cache server 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).
[0217] 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 (F602).
[0218] 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.
[0219] 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.
Seventh Embodiment
[0220] 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.
[0221] 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.
[0222] 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.
[0223] Among the constituent elements of the QoS path reference
relay priority control cache server C701, 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.
[0224] 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. In the case of using relay servers, 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.
[0225] 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 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.
[0226] 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.
[0227] 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
(F701).
[0228] 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 path information obtaining section 702. When the content
are to be obtained, 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 (F702).
[0229] In the case of obtaining the content (F703), the relay
control section 708 instructs the path setting section 709 to set
the determined path. In the case of setting a priority, the relay
control section 708 instructs the router priority setting section
710 to set the priority (F704). After that, 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) (F705). Thereafter, the relay control
section 708 instructs the path 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.
[0230] 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:
[0231] A path from S1 to C601: S.R702.L1.R701.L0.R700.C701;
[0232] A path from S1 to M402: S1.R702.L1.R701.M402;
[0233] A path from S1 to M401: S1.R702.L3.R703.M401; and
[0234] A path from M401 to M402: M401.R703.L2.R701.M402.
[0235] It is further assumed that 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. 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.
[0236] 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, 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.
[0237] 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.
[0238] In this example, it is possible to set a path as
follows.
[0239] 1) A path is set from the S1 to the M401:
S1.R702.L5.R704.L4.R703.M- 401.
[0240] 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.
[0241] 3) The data is relayed from the M401 to the M402.
[0242] 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).
[0243] 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.
[0244] (4-2) After the load on the link L0 has become 60% or lower,
the data is obtained from the M402.
[0245] 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.
Eighth Embodiment
[0246] FIG. 29 is a block diagram showing an example of a structure
of a QoS path reference cache server C101a 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 in FIG. 1, each of the QoS path reference cache
servers C101 to C103 is replaced with a QoS path reference cache
server (C101a) as shown in FIG. 29. Further, the routers R100 to
R104 are replaced with the priority controllable routers R300 to
R304 as shown in FIG. 19.
[0247] The QoS path reference cache server C101a shown in FIG. 29
is different from the QoS path reference cache server C101 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 108a, and that the recording medium K1 is
replaced with a recording medium K1a.
[0248] The QoS path reference cache server C101a is implemented by
a computer. The recording medium K1a 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 108a, and the priority information adding
section 508 are realized on the computer.
[0249] The path calculating section 108a 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 108a 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).
[0250] When the network address has been received from the source
of request, the path calculating section 108a 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
108a 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. 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.
Ninth Embodiment
[0251] FIG. 30 is a block diagram showing an example of a structure
of a QoS path reference cache server C101b 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 in FIG. 1, the QoS path reference cache servers C101 to C103
are replaced with the QoS path reference cache server C101b shown
in FIG. 30. Further, the routers R100 to R104 are replaced with the
priority controllable routers R600 to R604 shown in FIG. 22. The
QoS path reference cache server C101b shown in FIG. 30 is different
from the QoS path reference cache server C101 of the first
embodiment shown in FIG. 2 in that the router priority setting
section 710 that is the router priority setting section 610 as
shown in FIG. 23 (the sixth embodiment) is added, that the path
calculating section 108 is replaced with a path calculating section
108b, and that the recording medium K1 is replaced with a recording
medium K1b.
[0252] The QoS path reference cache server C101b is implemented by
a computer. The recording medium K1b 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 108b, and the router priority setting section
710 are realized on the computer.
[0253] The path calculating section 108b 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 108b 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).
[0254] When a network address of the other communication party has
been passed from the source of request, the path calculating
section 108b obtains a maximum remaining bandwidth path to the
other communication party shown in the network address. At the same
time, the path calculating section 108a 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. 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 router priority
setting section 710 to cancel the setting. The router priority
setting section 710 cancels the setting.
Tenth Embodiment
[0255] FIG. 31 is a block diagram showing an example of a structure
of a QoS path reference cache server C201a 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 in FIG. 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 C201a shown in FIG. 31.
[0256] The QoS path reference cache server C201a shown in FIG. 31
is different from the QoS path reference cache server C201 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 108a, and that the recording medium K2 is
replaced with a recording medium K2a.
[0257] The QoS path reference cache server C201a is implemented by
a computer. The recording medium K2a 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 108a, the path setting section 109, and the
priority information adding section 508 are realized on the
computer.
[0258] The path calculating section 108a 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 108a 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).
[0259] When a network address of the other communication party has
been received from the source of request, the path calculating
section 108a obtains a maximum remaining bandwidth path to a Web
server indicated by the network address. At the same time, the path
calculating section 108a 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. 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.
Eleventh Embodiment
[0260] FIG. 32 is a block diagram showing an example of a structure
of a QoS path reference cache server C201b 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 in FIG. 6, the routers R200 to R204 are
replaced with the routers R700 to R704 shown in FIG. 26. Further,
the QoS path reference cache servers C201 to C203 are replaced with
the QoS path reference cache server C201b shown in FIG. 32.
[0261] The QoS path reference cache server C201b shown in FIG. 32
is different from the QoS path reference cache server C201 shown in
FIG. 7 in that a router priority setting section 710 is added, and
that the recording medium K2 is replaced with a recording medium
K2b.
[0262] The QoS path reference cache server C201b is implemented by
a computer. The recording medium K2b 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 108b, the path setting section 109, and the
router priority setting section 710 are realized on the
computer.
[0263] The path calculating section 108b 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 108b 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).
[0264] When a network address of the other communication party has
been received from the source of request, the path calculating
section 108b obtains a maximum remaining bandwidth path to the
other communication party indicated by the network address. At the
same time, the path calculating section 108a 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,
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.
Twelfth Embodiment
[0265] FIG. 33 is a block diagram showing an example of a structure
of a QoS path reference relay control cache server C301a 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 in FIG. 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 C301a as shown in FIG.
33. Further, the routers R100 to R104 are replaced with the
priority controllable routers R300 to R304 as shown in FIG. 19,
respectively.
[0266] The QoS path reference relay control cache server C301a
shown in FIG. 33 is different from the QoS path reference relay
control cache server C301 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 110a, and that the
recording medium K3 is replaced with a recording medium K3a.
[0267] The QoS path reference relay control cache server C301a is
implemented by a computer. The recording medium K3a 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 110a, and the priority
information adding section 508 are realized on the computer.
[0268] The relay control section 110a 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 110a
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 110a 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 110a transfers the priority to the source of
request. Then, 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. 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.
[0269] Contrarily, when a congestion portion exists on the path
determined based on the content of the routing table, the relay
control section 110a 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, the relay control section 110a 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 110a instructs the relay servers to relay the data
according to the determined priorities.
[0270] 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.
[0271] 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 110a 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
110a 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 110a 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 C301a obtains the content from this most
downstream relay server.
Thirteenth Embodiment
[0272] FIG. 34 is a block diagram showing an example of a structure
of a QoS path reference relay control cache server C301b 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 in FIG. 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 C301b shown in
FIG. 34. Further, the routers R100 to R104 are replaced with the
priority controllable routers R600 to R604 shown in FIG. 25,
respectively.
[0273] The QoS path reference relay control cache server C301b
shown in FIG. 34 is different from the QoS path reference relay
control cache server C301 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 110b, and that
the recording medium K3 is replaced with a recording medium
K3b.
[0274] The QoS path reference relay control cache server C301b is
implemented by a computer. The recording medium K3b 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 110b, and the router
priority setting section 710 are realized on the computer.
[0275] When a network address of the other communication party has
been 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), the path calculating
section 108b 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 108b
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.
[0276] Contrarily, when a congestion portion exists on the path
determined based on the content of the routing table, the path
calculating section 108b checks whether it is possible or not to
set a path on which there exists no congestion portion by using
relay servers.
[0277] When it is possible to set such a path, the path calculating
section 108b 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. 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.
[0278] 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.
[0279] 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 110b 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
110b 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 110b 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 C301b obtains the content from this most
downstream relay server.
Fourteenth Embodiment
[0280] FIG. 35 is a block diagram showing an example of a structure
of a QoS path reference relay control cache server C401a 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 in FIG. 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 C401b shown in
FIG. 35. Further, the routers R200 to R204 are replaced
respectively with routers each of which can set a priority and a
path.
[0281] The QoS path reference relay control cache server C401a
shown in FIG. 35 is different from the QoS path reference relay
control cache server C401 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 110a, and that
the recording medium K4 is replaced with a recording medium
K4a.
[0282] The QoS path reference relay control cache server C401a is
implemented by a computer. The recording medium K4a 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 110a, and the priority
information adding section 508 are realized on the computer.
[0283] The relay control section 110a 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 110a
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 110a 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 110a notifies the source of request of the
priority. Then, 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. 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.
[0284] Contrarily, when a congestion portion exists on the path
determined based on the content of the routing table, the relay
control section 110a 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, the relay control section 110a
uses the path setting section 109 to instruct the router to set the
path on the network. Thereafter, the relay control section 110a
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 110a 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.
[0285] 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.
[0286] 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.
[0287] 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.
[0288] 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.
* * * * *