Sign up to receive free email alerts when patent applications with chosen keywords are publishedSIGN UP

Abstract:

A first acquisition unit acquires each of the resources defined by the
scenario, from locations depending on identifiers of the resources. A
judging unit judge, when a resource having same identifier and structure
as the resource acquired is existent in the cache storage, erases the
resource, the identifier thereof, and the receipt time information from
the cache storage, and when not existent, stores the acquired resource in
association with the identifier thereof and the receipt time information
of the bookmark instruction, in the cache storage. A second acquisition,
when the identifiers of the resources specified by a first scenario are
existent in the cache storage, acquires the resources from the cache
storage according to the receipt time information corresponding to the
first scenario and identifiers of the resources, and when not existent,
acquires the resources from a location depending on the identifiers.

Claims:

1. A content caching device comprising: a reserve instruction receiver
configured to receive a bookmark instruction for a scenario, wherein the
scenario is associated with a plurality of resources each associated with
an identifier; a bookmark history storage configured to store the
scenario and first receipt time information relating to when the bookmark
instruction is received; a first acquisition module configured to acquire
the resources associated with the scenario, from locations depending on
the identifiers associated with the resources; a cache storage configured
to store a plurality of resources, associated identifiers, and second
receipt time information relating to when the plurality of resources are
stored in the cache; an evaluator configured to determine, for one or
more of the acquired resources, whether a previously stored resource
having the same identifier as the acquired resource exists in the cache
storage and when the previously-stored resource exists, to erase from the
cache storage the previously-stored resource, the identifier associated
with the previously-stored resource, and the second receipt time
information associated with the previously-stored resource, and store in
the cache storage the acquired resource and the identifier associated
with the acquired resource, along with the first receipt time information
associated with the acquired resource from the bookmark history storage
as the second receipt time information associated with the acquired
resource, and when the previously-stored resource does not exist, to
store in the cache storage the acquired resource and the identifier
associated with the acquired resource, along with the first receipt time
information associated with the acquired resource from the bookmark
history storage as the second receipt time information associated with
the acquired resource; a reproduction instruction receiver configured to
receive a reproduction instruction for a first scenario, which is one of
the scenarios in the bookmark history storage, wherein the first scenario
is associated with a plurality of resources each associated with an
identifier; a second acquisition module configured to determine, for one
or more of the identifiers associated with the first scenario, whether
the first-scenario identifier(s) exist in the cache storage and if the
first-scenario identifier(s) exist in the cache storage, to acquire the
resource(s) associated with the first-scenario identifier(s) from the
cache storage, and if the first-scenario identifier(s) do not exist in
the cache storage, to acquire the resource(s) associated with the
first-scenario identifiers from a location or locations associated with
the first-scenario identifier(s); a mashup module configured to
synthesize the resources acquired by the second acquisition module based
on the reproduction instruction for the first scenario and thereby
generate a program; and an output module configured to output the
program.

2. The device of claim 1, wherein the evaluator is further configured to
determine whether a time difference between the second receipt time
information corresponding to the previously-stored resource determined to
exist in the cache storage and the first receipt time information
corresponding to the time of receiving the bookmark instruction
associated with the previously-stored resource is smaller than, larger
than, or equal to a threshold value, and when the time difference is
smaller than the threshold value, erase the previously-stored resource
from the cache storage and when the time difference is equal to or larger
than the threshold value, not erase the previously-stored resource.

3. The device of claim 1, wherein the bookmark history storage is further
configured to store reproduction frequency of each scenario for which
reproduction instructions have been given, and to erase one or more of
the scenarios when a storage capacity of the bookmark history storage
reaches a fixed value or when an instruction to erase is received, and
wherein the one or more scenarios to be erased have the lowest
reproduction frequency.

4. The device of claim 1, wherein the bookmark history storage is further
configured to store reproduction frequency of each scenario for which
reproduction instructions have been given, and to erase one or more of
the scenarios depending on the reproduction frequencies when a storage
capacity of the bookmark history storage reaches a fixed value or when an
instruction to erase is received.

5. The device of claim 1, wherein the bookmark history storage is further
configured to erase a scenario based on when a period of time has passed
from the first receipt time information for that scenario.

6. The device of claim 3, wherein the cache storage is further configured
to erase a resource that is associated with the erased scenario and that
is not associated with another scenario in the bookmark history storage.

7. A content caching method comprising: receiving a bookmark instruction
for a scenario, wherein the scenario is associated with a plurality of
resources each associated with an identifier; storing, in a bookmark
history storage, the scenario and first receipt time information relating
to when the bookmark instruction is received; acquiring the resources
associated with the scenario, from locations depending on the identifiers
of the resources; for one or more of the acquired resources, determining
whether another resource having the same identifier as the acquired
resource already exists in a cache storage and when the other resource
exists, erasing the other resource, an identifier associated with the
other resource, and second receipt time information associated with the
other resource relating to when the other resource was stored in the
cache, and storing in the cache storage the acquired resource and the
identifier associated with the acquired resource, along with the first
receipt time information associated with the acquired resource from the
bookmark history storage as second receipt time information associated
with the acquired resource, and when the other resource does not exist,
storing in the cache storage the acquired resource and the identifier
associated with the acquired resource, along with the first receipt time
information associated with the acquired resource from the bookmark
history storage as second receipt time information associated with the
acquired resource; receiving a reproduction instruction for a first
scenario, which is one of the scenarios in the bookmark history storage,
wherein the first scenario is associated with a plurality of resources
each associated with an identifier; determining, for one or more of the
identifiers associated with the first scenario, whether the
first-scenario identifier(s) exist in the cache storage and if the
first-scenario identifier(s) exist in the cache storage, acquiring the
resource(s) associated with the first-scenario identifier(s) from the
cache storage, and if the first-scenario identifier(s) do not exist in
the cache storage, acquiring the resource(s) associated with the
first-scenario identifiers from a location or locations associated with
the first-scenario identifiers; synthesizing the acquired resources based
on the reproduction instruction for the first scenario and thereby
generating a program; and outputting the program.

8. The method of claim 7, further comprising determining whether a time
difference between the second receipt time information corresponding to
the other resource determined to exist in the cache storage and the first
receipt time information corresponding to the time of receiving the
bookmark instruction associated with the other resource is smaller than,
larger than, or equal to a threshold value, and when the time difference
is smaller than the threshold value, erasing the other resource from the
cache storage and when the time difference is equal to or larger than the
threshold value, not erasing the other resource.

9. The method of claim 7, further comprising storing reproduction
frequency of each scenario for which reproduction instructions have been
given, and erasing one or more of the scenarios when a storage capacity
of the bookmark history storage reaches a fixed value or when an
instruction to erase is received, wherein the one or more scenarios to be
erased have the lowest reproduction frequency.

10. The method of claim 7, further comprising storing reproduction
frequency of each scenario for which reproduction instructions have been
given, and erasing one or more of the scenarios depending on the
reproduction frequencies when a storage capacity of the bookmark history
storage reaches a fixed value or when an instruction to erase is
received.

11. The method of claim 7, further comprising erasing a scenario based on
when a period of time has passed from the first receipt time information
for that scenario.

12. The method of claim 9, further comprising erasing a resource that is
associated with the erased scenario and that is not associated with
another scenario in the bookmark history storage.

13. A non-transitory computer readable medium storing a computer program
which, when executed by a computer, causes the computer to perform acts
comprising: receiving a bookmark instruction for a scenario, wherein the
scenario is associated with a plurality of resources each associated with
an identifier; storing, in a bookmark history storage, the scenario and
first receipt time information relating to when the bookmark instruction
is received; acquiring the resources associated with the scenario, from
locations depending on the identifiers of the resources; for one or more
of the acquired resources, determining whether another resource having
the same identifier as the acquired resource already exists in a cache
storage and when the other resource exists, erasing the other resource,
an identifier associated with the other resource, and second receipt time
information associated with the other resource relating to when the other
resource was stored in the cache, and storing in the cache storage the
acquired resource and the identifier associated with the acquired
resource, along with the first receipt time information associated with
the acquired resource from the bookmark history storage as second receipt
time information associated with the acquired resource, and when the
other resource does not exist, storing in the cache storage the acquired
resource and the identifier associated with the acquired resource, along
with the first receipt time information associated with the acquired
resource from the bookmark history storage as second receipt time
information associated with the acquired resource; receiving a
reproduction instruction for a first scenario, which is one of the
scenarios in the bookmark history storage, wherein the first scenario is
associated with a plurality of resources each associated with an
identifier; determining, for one or more of the identifiers associated
with the first scenario, whether the first-scenario identifier(s) exist
in the cache storage and if the first-scenario identifier(s) exist in the
cache storage, acquiring the resource(s) associated with the
first-scenario identifier(s) from the cache storage, and if the
first-scenario identifier(s) do not exist in the cache storage, acquiring
the resource(s) associated with the first-scenario identifiers from a
location or locations associated with the first-scenario identifiers;
synthesizing the acquired resources based on the reproduction instruction
for the first scenario and thereby generating a program; and outputting
the program.

14. The medium of claim 13, wherein the computer program, when executed
by a computer, further causes the computer to perform acts comprising:
determining whether a time difference between the second receipt time
information corresponding to the other resource determined to exist in
the cache storage and the first receipt time information corresponding to
the time of receiving the bookmark instruction associated with the other
resource is smaller than, larger than, or equal to a threshold value, and
when the time difference is smaller than the threshold value, erasing the
other resource from the cache storage and when the time difference is
equal to or larger than the threshold value, not erasing the other
resource.

15. The medium of claim 13, wherein the computer program, when executed
by a computer, further causes the computer to perform acts comprising:
storing reproduction frequency of each scenario for which reproduction
instructions have been given, and erasing one or more of the scenarios
when a storage capacity of the bookmark history storage reaches a fixed
value or when an instruction to erase is received, wherein the one or
more scenarios to be erased have the lowest reproduction frequency.

16. The medium of claim 13, wherein the computer program, when executed
by a computer, further causes the computer to perform acts comprising:
storing reproduction frequency of each scenario for which reproduction
instructions have been given, and erasing one or more of the scenarios
depending on the reproduction frequencies when a storage capacity of the
bookmark history storage reaches a fixed value or when an instruction to
erase is received.

17. The medium of claim 13, wherein the computer program, when executed
by a computer, further causes the computer to perform acts comprising:
erasing a scenario based on when a period of time has passed from the
first receipt time information for that scenario.

18. The medium of claim 15, wherein the computer program, when executed
by a computer, further causes the computer to perform acts comprising:
erasing a resource that is associated with the erased scenario and that
is not associated with another scenario in the bookmark history storage.

Description:

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application is based upon and claims the benefit of priority
from the prior Japanese Patent Application No. 2010-293854, filed on Dec.
28, 2010, the entire contents of which are incorporated herein by
reference.

FIELD

[0002] The embodiment of the present invention relates to a content
caching device, a content caching method, and a computer readable medium.

BACKGROUND

[0003] There is known a content synthesizer which synthesizes content by
combination of a plurality of information items (Web resources) on the
Internet in order to let a user view the synthesized content as a
program. This is based on the assumption that the original content
elements such as image, text, sound, moving image, etc. on the Internet
are synthesized, based on a design, by a terminal of the user. Here, this
design is called a scenario.

[0004] There is a case where the user newly views the content which was
previously viewed by the terminal. When the user wants to view the
program which was previously viewed by the terminal of the user once
again, the information must be reserved somewhere. Generally, the
following three locations can be used to reserve the information.

[0005] (1) a terminal of the user

[0006] (2) another terminal of the user

[0007] (3) a server

[0008] As for (1), a mobile terminal is regarded as a terminal of the
user. In this case, the terminal is supposed to have a small capacity for
reserving information, and thus it is unlikely that the terminal of the
user is used to reserve the information.

[0009] As for (2), television or home server in the home, private server
of the user on the network, etc. are regarded as another terminal of the
user. However, it is hard to consider that every user has these devices.

[0010] As for (3), when a server providing services reserves the
information, the server is required to provide the same service to many
users. Therefore, the amount of information stored by each user is
accumulated, and thus a large amount of information must be reserved. In
a conventional technique suggested to solve this problem, the same data
is shared among different users. However, in this technique, at least one
information item must be reserved in the home or a shared server near the
user.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011] FIG. 1 shows the structure of a Web resource caching device as a
content caching device according to the present embodiment.

[0012]FIG. 2 shows the operation performed by the device of FIG. 1 when
instructed to store a bookmark by a terminal.

[0014]FIG. 4 shows the operation performed by this device when a BM
history is requested.

[0015]FIG. 5 shows the operation performed by this device when instructed
to reproduce a bookmark.

[0016]FIG. 6 shows a data example of the BM history reserved in a BM
history storage.

[0017] FIG. 7 shows an example of the data reserved in a cache storage.

DETAILED DESCRIPTION

[0018] According to an aspect of embodiments, there is provided a content
caching device including: a reserve instruction receiver, a bookmark
history storage, a first acquisition unit, a cache storage, a judging
unit, a reproduction instruction receiver, a second acquisition unit, a
mashup unit and an output unit.

[0019] The reserve instruction receiver receives a bookmark instruction
for a scenario, the scenario defining a method for synthesizing a
plurality of resources each having its identifier.

[0020] The bookmark history storage stores the scenario in association
with receipt time information of the bookmark instruction received at the
reserve instruction receiver.

[0021] The first acquisition unit acquires each of the resources defined
by the scenario, from locations depending on identifiers of the
resources.

[0022] The cache storage stores a plurality of resources, identifiers
thereof and receipt time information.

[0023] The judging unit judges whether a resource having same identifier
and structure as the resource acquired by the first acquisition unit is
existent in the cache storage, erases, if existent, the resource, the
identifier thereof, and the receipt time information from the cache
storage, and stores, if not existent, the acquired resource in
association with the identifier thereof and the receipt time information
of the bookmark instruction, in the cache storage.

[0024] The reproduction instruction receiver receives a reproduction
instruction for a first scenario, which is one of the scenario in the
bookmark history storage.

[0025] The second acquisition unit judges whether the identifiers of the
resources specified by the first scenario are existent in the cache
storage, acquires, if existent, the resources from the cache storage
according to the receipt time information corresponding to the first
scenario and identifiers of the resources, and acquires, if not existent,
the resources from a location depending on the identifiers.

[0026] The mashup unit synthesizes the resources acquired by the second
acquisition unit based on a reproduction instruction for the first
scenario to generate a program.

[0027] The output unit outputs the program.

[0028] Below, the summary of the present embodiment will be explained. The
present embodiment is based on the assumption that a plurality of Web
resources such as image, text, sound, moving image, etc. on the Web are
acquired and processed by a terminal of a user based on a specific design
so that the Web resources are presented to the user as integrated
content. In this case, the operation of acquiring and processing the Web
resources is called "mashup," and a design for instructing the mashup is
called "scenario." Further, the content created by the mashup is called
"program." Similarly to the programs broadcasted through TV, various
content can be assumed: to continuously reproduce text, image, sound,
image, etc.; to reproduce only text, image, or sound; to read text; and
to wait an input by the user while automatically changing images, for
example.

[0029] When using such a terminal, the user sometimes wants to view a
previously viewed program once again. Here, a set including a scenario
and Web resources to be stored for another view is defined as a bookmark
(BM). The BM is formed by combining a scenario and a series of Web
resources such as image, text, sound, moving image, etc. to be used in
the program or to be required in the mashup process. The Web resource is
a single information item identified by URI, and the BM is a combination
of a scenario required to reproduce the program and a single or a
plurality of Web resource(s).

[0030] The present embodiment is based on the premise that Web resources
on the Internet are synthesized and presented by a terminal of the user.
In such a structure, the original Web content is provided on the
Internet. Therefore, when the user wants to view a program again, the
original Web resources may be still provided on the Internet, or may not
be provided any more (disappeared or changed).

[0031] In the present embodiment, the information judged to have strong
possibility of disappearing from the Internet or being changed is cached
in a content caching device (Web resource caching device), and the cached
information is used for another view.

[0032] On the other hand, the information of Web resources judged to have
strong possibility of being continuously provided on the Internet is not
reserved in the content caching device and is acquired from the Internet
again at the time of another view. In other words, the original Web
resources are not required to be reserved by the user, and should be
acquired from the Internet again when the user wants to view the program
again.

[0033] As stated above, the amount of information to be reserved in a
terminal of the user or a server can be reduced, while reducing the
possibility that the BM cannot be reproduced due to the nonexistence of
required Web resources.

[0034] Hereinafter, the present embodiment will be explained in detail.

[0035] FIG. 1 shows the structure of a Web resource caching device 101 as
a content caching device according to the present embodiment.

[0036] The content caching device of FIG. 1 includes: a BM reserve
instruction receiver 102; a scenario storage 103; a BM history storage
104; a mashup unit 105; an acquisition unit (first acquisition unit,
second acquisition unit) 106; a cache storage 107; a judging unit 108;
and a request receiver (reproduction instruction receiver, output unit)
109. Note that the first acquisition unit acquires Web resources when
instructed to store a BM (explained later), and the second acquisition
unit acquires Web resources when reproducing a scenario. The first
acquisition unit and the second acquisition unit may be physically the
same device or separate devices.

[0037] The BM reserve instruction receiver 102 can establish wireless or
wired communication with a terminal A. The request receiver 109 can
establish wireless or wired communication with a terminal B. The
acquisition unit 106 can establish communication with a plurality of
servers 201 through a network 301 such as the Internet. The terminal A is
operated by a user to give an instruction to bookmark a scenario. The
terminal B is operated by the user to give an instruction to reproduce a
scenario. The terminal B may be the same as or different from the
terminal A. This content caching device may be arranged as a server in
the home of the user, or may be arranged on the Internet.

[0038] Hereinafter, the function of each block included in this device and
the entire operation will be explained using the flow charts of FIG. 2 to
FIG. 5.

[0039]FIG. 2 shows the operation performed by this device when instructed
to store a bookmark by the terminal A.

[0040] The BM reserve instruction receiver 102 receives an instruction to
store a BM, transmitted from the terminal A of the user (Step S11). This
BM reserve instruction includes an identifier (scenario identifier) for
identifying a scenario.

[0041] The identifier is formed of character strings and values to
function as URI, for example. The scenario determines a method for
synthesizing a plurality of Web resources (reproduction method) by
specifying the identifier (URI etc.) of each Web resource.

[0042] The terminal A may give the BM reserve instruction for a scenario
which is being reproduced, or for a scenario which is selected from a
list of previously reproduced scenarios. Further, the terminal A may give
the BM reserve instruction for a scenario which is specified by another
method.

[0043] The BM reserve instruction receiver 102 requests the scenario from
the scenario storage 103 based on the scenario identifier stored in the
BM reserve instruction, and acquires the scenario from the scenario
storage 103 (Step S12).

[0044] In the present embodiment, the scenario storage 103 is arranged in
this device, but it may be arranged in a location connected to this
device through wired or wireless communication, or may be on the Internet
301. Further, the BM reserve instruction receiver 102 may previously
reserve a fixed number of scenarios to reduce the time required to
acquire scenarios.

[0045] The BM reserve instruction receiver 102 transmits, to the BM
history storage 104, a BM reserve instruction including the identifier
(user identifier) of the user giving the BM reserve instruction, the
scenario identifier, and the receipt time information of the BM reserve
instruction (Step S13). The receipt time information represents the time
when the BM reserve instruction is given (BM reserve instruction time),
namely, the time when the BM reserve instruction is received. The user
identifier may be simultaneously acquired when the BM reserve instruction
is given, or may be separately acquired in an authentication process if
user authentication etc. is performed.

[0046] The BM history storage 104 receives the BM reserve instruction, and
reserves a BM history including a set of the user identifier, the
scenario identifier, and the BM reserve instruction time.

[0047]FIG. 6 shows a data example of the BM history reserved in the BM
history storage 104.

[0048] The BM history storage 104 can reserve a fixed amount of BM
history. In the example of FIG. 6, the BM history includes reproduction
frequency data. The reproduction frequency is the number of times at
which the scenario is reproduced depending on the reproduction
instruction by the terminal B. The time data shown in FIG. 6 includes
year, date, and time (hour, minute, and second), but all of these items
should not be necessarily included. For example, the "year" item may be
omitted.

[0049] When a certain period of time has passed since receiving the BM
reserve instruction, the BM history storage 104 may erase the data
corresponding to the instruction by the user. Further, when data amount
exceeds a reserve capacity (storage capacity), partial data may be
erased. The data to be erased may be determined based on the reproduction
frequency of each scenario, the ration (e.g., percentage) of the
reproduction frequency of each scenario in the scenarios, or the BM
reserve instruction time, for example. Alternatively, the data to be
erased can be randomly determined. Data instructed by the user to be
stored, or data having reproduction frequency equal to or larger than a
fixed value may be excluded from erasure targets.

[0051] Based on the scenario transmitted from the BM reserve instruction
receiver 102, the mashup unit 105 specifies the Web resources required
for the mashup of the scenario, (Step S15). The mashup unit 105
transmits, to the acquisition unit 106, the Web resources to be required,
namely, acquisition instruction information for instructing to acquire
the Web resources specified by the scenario (Step S16). The acquisition
instruction information includes the identifier (here, URI) of each Web
resource instructed to be acquired, the BM reserve instruction time, etc.

[0052] The acquisition unit 106 tries to acquire, from the Web resource
servers 201 on the Internet 301, the Web resources specified by the
mashup unit 105 based on the identifier of each Web resource (Step S17).

[0053] With respect to the Web resource which cannot be acquired from the
Web resource servers 201, a cache acquisition request is transmitted to
the cache storage 107 (Step S20). The cache storage 107 transmits, to the
acquisition unit 106, a corresponding cached Web resource (e.g., Web
resource having the same identifier, or related to the same or the latest
BM reserve instruction time) (Step S21).

[0054] With respect to the Web resource which cannot be acquired from the
outside and is not cached in the cache storage 107, an acquisition
failure notification is transmitted to the mashup unit 105. In this case,
the mashup unit 105 may present the user that the Web resource cannot be
acquired.

[0055] In Steps S20 and S21, when a Web resource cannot be acquired from
the Web resource servers 201, the cache thereof is attempted to be
acquired from the cache storage 107. However, this process can be omitted
since it is not the essential. In this case, an acquisition failure
notification should be transmitted to the mashup unit 105.

[0056] The acquisition unit 106 transmits, to the judging unit 108, a set
including the Web resource acquired from the Web resource server 201 and
the acquisition instruction information (BM reserve instruction time, Web
resource identifier, etc.) obtained from the mashup unit 105 (Step S19).

[0057] At this time, the acquisition unit 106 may calculate a hash value
of the acquired Web resource to transmit the hash value to the judging
unit 108. By transmitting the hash value of the Web resource, change in
the Web resource having the same identifier can be detected at high
speed, as will be explained later.

[0058] The judging unit 108 determines whether or not to cache the
acquired Web resource, based on the data transmitted from the acquisition
unit 106 (Step S22).

[0059] When the judging unit 108 determines to reserve, the Web resource,
its identifier and the BM reserve instruction time are transmitted to the
cache storage 107 (Step S23), and the cache storage 107 reserves the
transmitted Web resource, Web resource identifier, and BM reserve
instruction time (Step S24). At this time, a hash value may be
transmitted to the cache storage 107 so that the cache storage 107
reserves the hash value.

[0060] FIG. 7 shows an example of the data reserved in the cache storage
107. One line corresponds to one record. In this example, Web resource
identifier, BM reserve instruction time, Web resource data (bits), and
hash value of the Web resource data are reserved. Resources having the
same hash value have the same structure (data). The Web resource reserved
in the cache storage 107 is sometimes called simply "cache." Web
resources having the same identifier but having different BM reserve
instruction time are reserved separately from each other. This makes it
possible to obtain a Web resource at a specific time in the past. Note
that a scenario ID may be added to the cache storage 107 in order to
identify the scenario which uses the Web resource, and to consider the
reproduction frequency etc. depending on the scenario.

[0061] The cache storage 107 may erase data (record) showing that a
certain period of time has passed since reserving it. Further, there is a
method to erase cache with a fixed probability. In this case, this
probability may dynamically vary depending on settings of the user,
content of the program, BM reproduction rate, and BM reproduction
frequency. Further, Web resources which do not affect BM reproduction may
be preferentially erased. When a scenario is erased by the BM history
storage 104, the cache storage 107 may erase resources which are used in
the erased scenario and are not used in the other scenarios reserved in
the BM history storage 104.

[0062] When the judging unit 108 determines not to reserve, the judging
unit 108 instructs the cache storage 107 to erase the cache (Step S25),
and the cache storage 107 erases the cache together with the Web resource
identifier, BM reserve instruction time, hash value, etc. related thereto
(Step S26). The instruction to erase the cache may be given when
determining not to reserve, or may be given later in order to reduce
processing loads.

[0063] Hereinafter, the reserve judgment process performed in Step S22
will be explained in further detail.

[0065] The judging unit 108 receives, from the acquisition unit 106, a Web
resource (or hash value if has been transmitted), the identifier of the
Web resource, and the BM reserve instruction time included in the
acquisition instruction information (Step S31).

[0066] The judging unit 108 judges whether a resource having the same
identifier as the Web resource was requested in the past (S32). This is
realized by confirming whether the same identifier as the Web resource is
reserved in the cache storage.

[0067] When judging that the Web resource was not previously requested,
the judging unit 108 determines to let the cache storage 107 reserve the
Web resource (Step S34). The cache storage 107 reserves the Web resource
together with its identifier, BM reserve instruction time, and hash
value.

[0068] When a resource having the same identifier as the Web resource was
requested in the past, the following check is performed.

[0069] Judgment is made on whether the structure of the acquired Web
resource is different from that of the Web resource (cache) having the
same identifier and reserved in the cache storage 107 (Step S33). That
is, whether the data (bits) of both Web resources are consistent is
judged. When the hash value of the Web resource is transmitted from the
acquisition unit 106, the transmitted hash value is compared with the
hash value of the cache instead of performing data comparison, which
realizes high-speed judgment.

[0070] In the judgment in Step S33, when the structure of the acquired Web
resource is different from that of the stored Web resource (cache), the
acquired Web resource is determined to be reserved in the cache storage
107 (Step S34). The cache storage 107 reserves the Web resource together
with its identifier, BM reserve instruction time, and hash value.

[0071] When the structure of the acquired Web resource is consistent with
that of the stored Web resource (cache), the BM reserve instruction time
of the cache is checked (Step S35).

[0072] If the time when the cache was stored is later than a time point
which is earlier than the target BM reserve instruction time (transmitted
from the acquisition unit 106) by a certain period of time, that is, when
the time difference between the BM reserve instruction time of the target
and the BM reserve instruction time of the cache is smaller than a
threshold value, the cache and the data related thereto are erased, and
the acquired Web resource is determined not to be reserved (Step S36).

[0073] Here, a certain period of time means a relatively long period such
as one month. When a Web resource is instructed to be acquired a
plurality of times and the Web resource obtained from the Web resource
server is not changed during this period, if the interval is short, it
can estimate that the interval until the next acquisition instruction
becomes short and that the Web resource is not changed (namely the same),
which lead to the judgment to erase the cache.

[0074] On the other hand, when the BM reserve instruction time of the
cache is earlier than the point which is earlier than the target BM
reserve instruction time by a certain period of time, that is, when the
time difference between the BM reserve instruction time of the target and
the BM reserve instruction time of the cache is equal to or larger than
the threshold value, it is determined to continuously reserve the cache
and not to reserve the acquired Web resource (Step S34). This is called a
first method. In this case, as an alternative method, the BM reserve
instruction time of the cache may be updated to the BM reserve
instruction time of the target (second method). Further, it is also
possible to store only the BM reserve instruction time of the target and
the identifier of the Web resource in the cache storage 107 in order to
obtain the main body of the Web resource data (bits) by referring to the
cache (third method). In the third method, a field for the ID of the
record to be referred to should be added in the table of the cache
storage.

[0075] The first method and the second method are effective to reduce the
capacity of the cache storage as much as possible. Under the premise that
once the content (structure) of a certain resource on the Internet is
changed, the resource does not have the original content again (or with
extremely low possibility), when reproducing a scenario related to the
cached BM reserve instruction time or the target BM reserve instruction
time, it becomes extremely likely that the content at the time of the
given instruction can be identically reproduced. The third method
slightly increases the capacity of the cache storage 107 compared to the
first and second methods, but this is a technique realizing a more
reliable reproduction.

[0076] The above explanation made using FIG. 2 concerns the operation when
a BM reserve instruction is made. Hereinafter, the operation when
reproducing a BM will be explained. When reproducing a BM, the terminal
(hereinafter, the terminal B) required to reproduce the BM acquires a BM
history (BM list) from this device and specifies the BM to be reproduced
in the BM list.

[0077]FIG. 4 shows the operation performed by this device when a BM
history is requested.

[0078]FIG. 5 shows the operation performed by this device when instructed
to reproduce a bookmark.

[0079] In FIG. 4, first, the terminal required to reproduce a BM
(hereinafter, the terminal B) transmits a request for browsing the BM
history to the request receiver 109 (Step S41). Note that the
reproduction terminal B may be the same as or different from the terminal
A giving BM reserve instructions. In this way, when a user bookmarks the
content viewed through a mobile terminal out of the house, the user after
returning home can successively or newly enjoy the content by a
big-screen TV with finer information.

[0080] The request receiver 109 transmits a request to acquire the BM
history to the BM history storage 104 (Step S42).

[0081] The BM history storage 104 transmits the BM history to the request
receiver 109 (Step S43). The BM history includes a plurality of BMs.

[0082] The request receiver 109 transmits the BM history to the terminal B
(Step S44). The terminal B presents this BM history to the user to let
the user select a BM to be reproduced, namely, a scenario to be
reproduced. The scenario selected to be reproduced corresponds to a first
scenario.

[0083] In FIG. 5, when the BM to be reproduced is specified by the user,
the terminal B transmits a BM reproduction instruction to the request
receiver 109 (Step S51).

[0084] The request receiver 109 receives the reproduction request, and
transmits the receipt time information (BM reserve instruction time) and
scenario of the specified BM to the mashup unit 105 (Step S52).

[0085] The mashup unit 105 performs the mashup of the scenario. First, the
mashup unit 105 specifies the Web resource specified by the scenario and
required for the mashup (Step S53), and transmits a request for acquiring
the specified Web resource to the acquisition unit 106 (Step S54). The
acquisition request includes the BM reserve instruction time and the
identifier of the Web resource required to be acquired.

[0086] Based on the BM reserve instruction time and Web resource
identifier, the acquisition unit 106 transmits a request for acquiring
the cache to the cache storage 107, (Step S55). This cache acquisition
request includes the BM reserve instruction time and the Web resource
identifier.

[0087] The cache storage 107 inspects whether a cache (Web resource)
related to the same identifier as the Web resource identifier and related
to the same time as the BM reserve instruction time is existent (Step
S56). If existent, the cache is transmitted to the acquisition unit 106,
and the acquisition unit 106 further transmits the cache to the mashup
unit 105 (Step S57).

[0088] At this time, when the first method is used in Step S34 of FIG. 3,
if the cache is judged not to be existent in this Step S56, the following
process may be performed. That is, whether a cache related to the same
identifier as the Web resource identifier is existent is inspected, and
if existent, a previous cache related to the time closest to the BM
reserve instruction time is transmitted to the acquisition unit 106. This
corresponds to the first method, in which when two Web resources are
judged to have the same structure in Step S33 of FIG. 3, the original one
existent in the cache storage 107 is kept as it is, and the other one
(Web resource acquired from Web resource servers 201) is erased. As
stated above, this first method is effective in the situation where once
the content (structure) of a certain resource on the Internet is changed,
the resource hardly have the original content again. Note that even when
the original content is restored, no affect is caused in the operation.
When the first method is employed on the premise that the original
content is hardly restored, if a plurality of Web resources (caches)
judged to have the same identifier are existent in the cache storage 107
in Step S33 of FIG. 3, only the Web resource related to the time closest
to the target BM reserve instruction time may be selected to judge
whether it is the same or not.

[0089] When the second method is used in Step S34 of FIG. 3, similar
concept can be applied. When no cache is judged to be existent in Step
S56, if a cache related to the same identifier as the Web resource
identifier is existent, a most recent cache closest to the BM reserve
instruction time may be transmitted to the acquisition unit 106.

[0090] On the other hand, when no corresponding cache is existent, the
cache storage 107 notifies the acquisition unit 106 that effect, and the
acquisition unit 106 tries to acquire the Web resource from the Web
resource servers 201, based on the identifier of the Web resource (S58).
When a BM reserve instruction is given, the Web resource has been
acquired at least once (see Step S17 of FIG. 2). Thus, when no available
cache is existent, the Web resource is judged by the judging unit 108
that it is not necessary to reserve the cache thereof (see Steps S22 and
S25 of FIG. 2).

[0091] When the acquisition unit 106 cannot acquire the Web resource, that
is, when the Web resource is not existent on the Internet 301, the mashup
unit 105 is notified that effect (S58, S59).

[0092] When the Web resource can be acquired, the acquisition unit 106
transmits the acquired Web resource to the mashup unit 105 (S58, S60).

[0093] The mashup unit 105 completes the mashup of the scenario using the
Web resources acquired by the acquisition unit 106, and transmits a
program obtained as a result of the mashup to the request receiver 109
(Step S61). When there is a Web resource which cannot be acquired, a
suitable resource may be arranged in its portion. The suitable resource
may be previously stored in this device, or may be acquired from a server
on the network by an arbitrary method. For example, it is possible to
search and use similar information, or to use alternative content such as
advertisement.

[0094] The request receiver 109 transmits the program provided by the
mashup unit 105 to the terminal B (Step S62).

[0095] The terminal B displays the program received from the request
receiver 109 (Step S63). In this way, the scenario when the BM reserve
instruction is given can be reproduced by the terminal B.

[0096] As stated above, in the present embodiment, in Web resources
specified by the scenario instructed to be bookmarked, the Web resources
judged to be capable of being acquired from the network at the time of
another view in future are not reserved by this device, which makes it
possible to further reduce the amount of information to be reserved
compared to the conventional case.

[0097] In this method, when a Web resource determined not to be reserved
by the judging unit 108 disappears from the Internet or changes, the Web
resource cannot be acquired and it becomes impossible to synthesize a
program same as the scenario for which the BM reserve instruction is
given. However, the present embodiment accepts such a risk to some extent
to reduce the capacity for reserving cache, and thus makes a great
contribution to reduce the reserve capacity of the caching device.

[0098] In the present embodiment, Web resources are reserved in the
servers on the Internet, but those may be reserved in the same terminal,
a home network, or a LAN. Further, the identifier of the Web resource is
assumed to be URI, but it may be file pass, IP address, etc.

[0099] Note that the Web resource cache device can be realized by using a
general computer device as basic hardware, for example. That is, each
element included in the Web resource cache device may be realized by
letting a computer carry out a software (computer program) describing
instructions of each process. In this case, the Web resource cache device
can be realized by previously installing the computer program in the
computer device or by properly installing, in the computer device, the
computer program stored in a non-transitory computer readable medium such
as hard disk, memory device, optical disk, etc. or distributed through
the network. Further, each storage can be realized by properly using a
storage medium such as internal/external memory or hard disk of the above
computer device, CD-R, CD-RW, DVD-RAM, DVD-R, etc.

[0100] The present invention is not limited to the exact embodiments
described above and can be embodied with its components modified in an
implementation phase without departing from the scope of the invention.
Also, arbitrary combinations of the components disclosed in the
above-described embodiments can form various inventions. For example,
some of the all components shown in the embodiments may be omitted.
Furthermore, components from different embodiments may be combined as
appropriate.