Technical Field
[0001] This invention relates to a communication system for information communication between
computers, a server device, a client device, a portable telephone set, a communication
method, a concerted processing providing method, a concerted processing method, a
billing surrogating method, a content validating method, a program and a recording
medium. More particularly, it relates to a communication system for performing concerted
processing among plural devices, interconnected over a network, a server device, a
client device, a portable telephone set, a communication method, a concerted processing
providing method, a concerted processing method, a billing surrogating method, a content
validating method, a program and a recording medium.
Background Art
[0002] In keeping pace with the development of information processing apparatus, including
computers, first of all, it has become possible to handle digital contents, such as
music or pictures, referred to below as contents, by the information processing apparatus,
including the computers. Moreover, in keeping pace with the development of the information
communication technology, the services which permit variable contents to be purchased
over the communication network, using the information processing apparatus, such as
computers, are being offered in increasing numbers.
[0003] For example, if a user finds a content he/she desires on a shop on the network (server
device), he/she is able to download the encrypted contents to a client device. At
this time point, the contents are as yet in the encrypted state, such that the contents
are not adequately reproducible, that is, the contents are not validated.
[0004] The user transmits the information necessary for payment of cost for purchase of
contents to the server device. The server device then returns the information for
validating the contents, for example, decoding key data, to the client device. Using
the information, thus sent from the server device, the client device is able to validate
the contents.
[0005] When validated, the contents become usable in the client device. For example, if
the contents are music data, the music can be reproduced.
[0006] Meanwhile, in a system providing these services, contents validation and payment
of costs for purchase must necessarily occur in synchronization with each other. That
is, if the processing of validating the contents is performed, the processing of payment
of the cost for purchase must necessarily be performed. In a similar manner, when
the processing for payment of the costs for purchase is performed, the processing
of validating the contents must necessarily be performed.
[0007] In data communication over a wide network, such as Internet, there are occasions
where transactions cannot be terminated due to e.g., network malfunctions. For example,
if malfunctions occur on the network as the ID (identification) and the password are
being transmitted from the server device to the client device, there arises a situation
in which, even though the user has made payment, the user cannot validate the contents.
If the user information necessary for payment is re-transmitted from the client to
the server, the costs are collected in duplicates.
[0008] Thus, there is a demand for a system which guarantees that, if network malfunction
has occurred but if one of the processing of validating the contents and the processing
of payment of the cost for purchase is completed, the other processing can necessarily
be completed.
Disclosure of the Invention
[0009] In view of the above-described status of the art, it is an object of the present
invention to provide a communication system, a server device, a client device, a portable
telephone set, a communication method, a concerted processing providing method, a
concerted processing method, a billing surrogating method, a content validating method,
a program and a recording medium, in which one each of two processing operations,
which are correlated with each other and which are executed on different devices,
is guaranteed.
[0010] For accomplishing the above object, the present invention provides a communication
system for performing concerted processing among a plurality of devices interconnected
over a network. The communication system includes a server device including first
processing executing means which, on receipt of a processing request for a first processing,
afforded with the identification information, executes the first processing once for
one item of the identification information, and completion notice transmitting means
which, on completion of the first processing by the first processing executing means,
or on re-receipt of the processing request for the first processing, afforded with
the same identification information as that of the completed first processing, transmits
a completion notice of the first processing to the source of transmission of the processing
request, and a client device including processing request transmission means for transmitting
the processing request for the first processing, afforded with the identification
information, to the server device, second processing executing means which, on receipt
ofthe completion notice from the server device, executes second processing correlated
in advance with the first processing, and re-transmitting means which, on detection
of a communication error before receipt of the completion notice responsive to the
processing request transmitted by the processing request transmission means, re-transmits
the processing request to the server device.
[0011] In the communication system according to the present invention, the processing request
transmitting means of the client device transmits a processing request for the first
processing, afforded with the identification information, to the server device. If
the processing request is a first one, the first processing is executed by the first
processing executing means of the server device. On completion of the first processing,
a completion notice is transmitted to the client device by the completion notice transmitting
means. When the completion notice reaches the client device, the second processing
is executed by the second processing executing means. If a communication error is
detected before the completion notice reaches the client device, the processing request
is re-transmittedby the re-transmitting means. Since the first processing has already
been finished, the server device does not execute the first processing, but a completion
notice is transmitted to the client device by the completion notice transmitting means.
[0012] The present invention also provides an alternative communication system for executing
a sequence of processing operations for validating invalidated contents by a plurality
of devices interconnected over a network. The communication system includes a server
device, in turn including billing processing executing means which, on receipt of
a processing request for billing processing for the cost of the contents, afforded
with the identification information, executes the billing processing only once for
one item of the identification information, and completion notice transmitting means
which, on completion of the billing processing by the billing processing executing
means, or on re-receipt of the processing request for the billing processing, afforded
with the same identification information as that of the completed billing processing,
transmits a completion notice of the billing processing to the source of transmission
of the processing request, and a client device including processing request transmission
means for transmitting the processing request for the billing processing for the contents,
afforded with the identification information, to the server device, validation processing
executing means which, on receipt of the completion notice from the server device,
executes the processing of validating the invalidated contents, and re-transmitting
means which, on detection of a communication error before receipt of the completion
notice for the processing request transmitted by the processing request transmission
means, re-transmits the processing request to the server device.
[0013] In this communication system, the processing request transmitting means of the client
device transmits the processing request for the first processing, afforded with the
identification information, to the server device. If the processing request is a first
one, the processing of billing the cost of the contents is executed by the first processing
executing means. When the billing processing is completed, a completion notice is
transmitted to the client device by the completion notice transmitting means. When
the completion notice reaches the client device, the processing of validating the
contents is executed by the second processing executing means. If a communication
error is detected before the completion notice reaches the client device, the processing
request is re-transmitted by the re-transmitting means. Since the billing processing
has already been completed in the server device, the billing processing is not executed,
but the completion notice is transmitted to the client device by the completion notice
transmitting means.
[0014] The present invention also provides a server device for performing concerted processing
with another device interconnected over a network. The server device includes first
processing executing means which, on receipt of a processing request for first processing,
afforded with the identification information, executes the first processing only once
for one item of the identification information, and completion notice transmitting
means which, on completion of the first processing by the first processing executing
means, or on re-receipt of the processing request for the first processing, afforded
with the same identification information as that of the completed first processing,
transmits a completion notice of the first processing to the source of transmission
of the processing request.
[0015] This server device is used as a server device for the communication system according
to the present invention.
[0016] The present invention also provides a server device for surrogating billing of the
cost for payable contents. The server device includes billing processing executing
means which, on receipt of a processing request for billing processing for the cost
of the contents, afforded with the identification information, executes the billing
processing only once for one item of the identification information, and completion
notice transmitting means which, on completion of the billing processing by the billing
processing executing means, or on re-receipt of the processing request for the billing
processing, afforded with the same identification information as that of the completed
billing processing, transmits a completion notice of the billing processing to the
source of transmission of the processing request.
[0017] This server device is used as a server device for the alternative communication system
according to the present invention described above.
[0018] The present invention also provides a client device for performing concerted processing
with a server device connected thereto over a network. The client device includes
processing request transmitting means for transmitting a processing request for first
processing, afforded with the identification information, to the server device, second
processing executing means which, on receipt of a completion notice of the first processing
from the server device, executes second processing, correlated in advance with the
first processing, and re-transmitting means which, if a communication error has been
detected before receipt of a completion notice for the processing request transmitted
by the processing request transmitting means, re-transmits the processing request
to the server device.
[0019] This client device is used as a client device for the communication system according
to the present invention.
[0020] The present invention provides a client device for validating invalidated contents
by concerted processing with the processing by a server device. The client device
includes processing request transmitting means for transmitting a processing request
for billing processing, afforded with the identification information, to the server
device, validation processing executing means which, on receipt of a completion notice
of the billing processing from the server device, validates the invalidated contents,
and re-transmitting means which, if a communication error has been detected before
receipt of a completion notice for the processing request transmitted by the processing
request transmitting means, re-transmits the processing request to the server device.
[0021] This client device is used as a client device for the alternative communication system
of the present invention described above.
[0022] The present invention also provides a portable telephone set for validating invalidated
contents by concerted processing with the processing by a server device. The portable
telephone set includes processing request transmitting means for transmitting a processing
request for billing processing, afforded with the identification information, to the
server device, validation processing executing means which, on receipt of a completion
notice of the billing processing from the server device, validates the invalidated
contents, and re-transmitting means which, if a communication error has been detected
before receipt of a completion notice for the processing request transmitted by the
processing request transmitting means, re-transmits the processing request to the
server device.
[0023] The portable telephone set is used as a client device of the communication system
according to the present invention.
[0024] The present invention also provides a communication method for performing concerted
processing between a server device and a client device interconnected over a network.
The communication method includes a step ofthe client device transmitting a processing
request for a first processing, afforded with the identification information, to the
server device, a step of the server device executing the first processing only once
for one item of the identification information, on receipt of the processing request,
and of the server device transmitting a completion notice of the first processing
to the client device, on completion of the first processing or on re-receipt of the
processing request for the first processing, afforded with the same identification
information as that of the completed first processing, and a step of the client device
executing the second processing, correlated in advance with the first processing,
on receipt of the completion notice from the server device, and of the client device
re-transmitting the processing request to the server device on detection of a communication
error before receipt of the completion notice.
[0025] With the communication method of the present invention, the processing similar to
that executed in the communication system of the present invention is achieved.
[0026] The present invention also provides an alternative communication method for performing
a sequence of processing operations for validating invalidated contents between a
server device and a client device interconnected over a network. The alternative communication
method includes a step of the client device transmitting a processing request for
billing processing for the cost of the contents, afforded with the identification
information, to the server device, a step of the server device executing the billing
processing only once for one item of the identification information, on receipt of
the processing request, and of the server device transmitting a completion notice
of the billing processing to the client device, on completion of the billing processing
or on re-receipt ofthe processing request for the billing processing afforded with
the same identification information as that of the billing processing completed, and
a step of the client device validating the invalidated contents, on receipt of the
completion notice from the server device, and of the client device re-transmitting
the processing request to the server device on detection of a communication error
before receipt of the completion notice.
[0027] With this communication method, the processing similar to that executed on the alternative
communication system of the present invention is achieved.
[0028] The present invention also provides a method for providing concerted processing in
a server device, adapted for performing concerted processing with another device interconnected
to the server device over a network. The concerted processing providing method includes
the steps of executing first processing, on receipt of a processingrequest for the
first processing, afforded with the identification information, only once for one
item of the identification information, and transmitting a completion notice of the
first processing to the source of transmission of the processing request, on completion
of the first processing, or on re-receipt of the processing request for the first
processing, afforded with the same identification information as that of the completed
first processing.
[0029] With the present concerted processing providing method, the processing similar to
that executed by the server device of the present invention is achieved.
[0030] The present invention provides a billing surrogating method in a server device for
surrogating the billing of the cost of payable contents. The billing surrogating method
includes the steps of executing the billing processing only once for one item of the
identification information, on receipt of a processing request for billing processing
for the cost of the contents, afforded with the identification information, and of
transmitting a completion notice of the billing processing to the source of transmission
of the processing request, on completion of the billing processing or on re-receipt
of the processing request for the billing processing afforded with the same identification
information as that of the completed billing processing.
[0031] With this billing surrogating method, the processing similar to that executed by
the alternative server device of the present invention is achieved.
[0032] The present invention provides a concerted processing method in a client device executing
concerted processing with processing by a server device connected to the client device
over a network. The concerted processing method includes the steps of transmitting
a processing request for the first processing, afforded with the identification information,
to the server device, executing second processing, correlated in advance with the
first processing, on receipt of a completion notice ofthe first processing from the
server device, and re-transmitting the processing request to the server device if
a communication error is detected before receipt ofthe completion notice.
[0033] With this concerted processing method, the processing similar to that executed by
the client device of the present invention is achieved.
[0034] The present invention also provides a content validating method in a client device,
adapted for performing the processing of validating invalidated contents, in a concerted
operation with a server device. The content validating method includes the steps of
transmitting a processing request for billing processing, afforded with the identification
information, to the server device, validating the invalidated contents on receipt
of a completion notice of the billing processing from the server device, and re-transmitting
the processing request to the server device on detection of a communication error
before receipt of the completion notice.
[0035] With this content validating method, the processing similar to that executed by the
alternative client device of the present invention is achieved.
[0036] The present invention also provides a program for allowing to perform a concerted
processing between a first computer and a second computer, interconnected over a network.
The program is such a one in which the first computer transmits a processing request
for a first processing, afforded with the identification information, to the second
computer, the second computer on receipt of the processing request executing the first
processing only once for one item of the identification information, the second computer
transmitting a completion notice of the first processing to the first computer on
completion of the first processing or on re-receipt of the processing request for
the first processing afforded with the same identification information as that conferred
to the completed first processing, and in which, on receipt of the completion notice
from the second computer, the first computer executes the second processing correlated
in advance with the first processing, the first computer re-transmitting the processing
request to the second computer on detection of a communication error before receipt
of the completion notice.
[0037] This program is read out and executed by the computer to realize the processing executed
by the communication system according to the present invention.
[0038] The present invention also provides a program for a first computer and a second computer,
interconnected over a network, to execute a sequence of processing operations for
validating invalidated contents. The program is such a one in which the first computer
transmits a processing request for billing processing for the cost of the contents,
afforded with the identification information, to the second computer, the second computer
on receipt of the processing request executes the billing processing only once for
one item of the identification information, the second computer transmitting a completion
notice of the billing processing to the first computer on completion of the billing
processing or on re-receipt of the processing request for the billing processing afforded
with the same identification information as that conferred to the completed billing
processing, and in which, on receipt of the completion notice from the second computer,
the first computer validates invalidated contents, the first computer re-transmitting
the processing request to the second computer on detection of a communication error
before receipt of the completion notice.
[0039] This program is read out and executed by the computer to realize the processing executed
by the alternative communication system according to the present invention.
[0040] The present invention provides a program for allowing to perform concerted processing
by a computer with another device connected thereto through a network. The program
is such a one in which the computer on receipt of a processing request for a first
processing, afforded with the identification information, executes the first processing
only once for one item of the identification information, and in which the computer
on completion of the first processing or on re-receipt of the processing request for
the first processing, afforded with the same identification information as that conferred
to the completed first processing, transmits a completion notice of the first processing
to the source of transmission of the processing request.
[0041] This program is read out and executed by the computer to realize the processing executed
by the server device according to the present invention.
[0042] The present invention provides a program for surrogating the billing of the cost
of a payable content, by a computer. The program is such a one in which the computer
on receipt of a processing request for billing processing for the cost of the contents,
afforded with the identification information, executes the billing processing only
once for one item of the identification information, and in which the computer on
completion of the billing processing or on re-receipt of the processing request for
the billing processing, afforded with the same identification information as that
conferred to the completed billing processing, transmits a completion notice of the
billing processing to the source of transmission of the processing request.
[0043] This program is read out and executed by a computer to realize the processing executed
by the alternative server device according to the present invention.
[0044] The present invention also provides a program for allowing to perform concerted processing
by a computer with a server device connected thereto over a network. The program is
such a one in which the computer transmits to the server device a processing request
for the first processing, afforded with the identification information, and in which,
on receipt of a completion notice of the first processing from the server device,
the computer executes second processing correlated in advance with the first processing,
the computer re-transmitting the processing request to the server device if a communication
error is detected before receipt of the completion notice.
[0045] This program is read out and executed by the computer to realize the processing executed
by the client device according to the present invention.
[0046] The present invention also provides a program for allowing to perform the processing
by a computer of validating invalidated contents in a concerted fashion with processing
by a server device. The program is such a one in which the computer transmits a processing
request for billing processing, afforded with the identification information, to the
server device, and in which, on receipt of a completion notice of the billing processing
from the server device, the computer executes the processing of validating the invalidated
contents; the computer re-transmitting the processing request to the server device
if a communication error is detected before receipt of the completion notice.
[0047] This program is read out and executed by the computer to realize the processing executed
by the alternative client device according to the present invention.
[0048] The present invention also provides a computer-readable recording medium, having
recorded thereon a program for allowing to perform concerted processing between a
first computer and a second computer, interconnected over a network, the program being
such a one in which the first computer transmits a processing request for a first
processing, afforded with the identification information, to the second computer,
the second computer on receipt of the processing request executes the first processing
only once for one item of the identification information, the second computer transmitting
a completion notice of the first processing to the first computer on completion of
the first processing or on re-receipt of the processing request for the first processing
afforded with the same identification information as that conferred to the completed
first processing, the first computer on receipt of the completion notice from the
second computer executing the second processing, correlated in advance with the first
processing; the first computer re-transmitting the processing request to the second
computer if a communication error is detected before receipt ofthe completion notice.
[0049] This program is read out and executed by the computer to realize the processing executed
by a communication system according to the present invention.
[0050] The present invention also provides a computer-readable recording medium having recorded
thereon a program for having a first computer and a second computer, interconnected
over a network, execute a sequence of processing operations for validating invalidated
contents, the first and second computers being interconnected over a network, the
program being such a one in which the first computer transmits a processing request
for a billing processing for the cost of the contents, afforded with the identification
information, to the second computer, the second computer on receipt of the processing
request executing the billing processing only once for one item of the identification
information, the second computer transmitting a completion notice of the billing processing
to the first computer on completion of the billing processing or on re-receipt of
the processing request for the billing processing afforded with the same identification
information as that conferred to the completed billing processing, the first computer
on receipt of the completion notice from the second computer executing the processing
of validating invalidated contents, the first computer re-transmitting the processing
request to the second computer if a communication error is detected before receipt
of the completion notice.
[0051] This program is read out and executed by a computer to realize the processing executed
by another communication system according to the present invention.
[0052] The present invention provides a computer-readable recording medium having recorded
thereon a program for allowing to perform concerted processing by a computer with
another device interconnected thereto over a network. The program is such a one in
which the computer on receipt of a processing request for a first processing, afforded
with the identification information, executes the first processing only once for one
item of the identification information, and in which the computer on completion of
the first processing or on re-receipt of the processing request for the first processing,
afforded with the same identification information as that conferred to the completed
first processing, transmits a completion notice of the first processing to the source
of transmission of the processing request.
[0053] This program is read out and executed by a computer to realize the processing executed
by the server device according to the present invention.
[0054] The present invention provides a computer-readable recording medium having recorded
thereon a program for surrogating the billing of the cost of a payable content by
a computer, the program being such a one in which the computer on receipt of a processing
request for billing processing for the cost of the payable content, afforded with
the identification information, executes the billing processing only once for one
item of the identification information, and in which the computer on completion of
the billing processing or on re-receipt of the processing request for the billing
processing, afforded with the same identification information as that conferred to
the completed billing processing, transmits a completion notice of the billing processing
to the source of transmission of the processing request.
[0055] This program is read out and executed by a computer to realize the processing executed
by the alternative server device according to the present invention.
[0056] The present invention also provides a computer-readable recording medium, having
recorded thereon a program for having a computer perform concerted processing with
a server device connected to the computer over a network. The program is such a one
in which the computer transmits a processing request for a first processing, afforded
with the identification information, to the server device, and in which, on receipt
of a completion notice of the first processing from the server device, the computer
executes second processing correlated in advance with the first processing, the computer
re-transmitting the processing request to the server device on the condition that
a communication error is detected before receipt of the completion notice.
[0057] This program is read out and executed by the computer to realize the processing executed
by a client device according to the present invention.
[0058] The present invention also provides a computer-readable recording medium, having
recorded thereon a program for having a computer perform concerted processing of validating
invalidated contents with a server device connected thereto over a network, the program
being such a one in which the computer transmits a processing request for billing
processing, afforded with the identification information, to the server device, and
in which, on receipt of a completion notice of the billing processing from the server
device, the computer executes the processing of validating invalidated contents, and
the computer re-transmitting the processing request to the server device on the condition
that a communication error is detected before receipt of the completion notice.
[0059] This program is read out and executed by a computer to realize the processing executed
by the alternative client device according to the present invention.
[0060] Other objects, features and advantages of the present invention will become more
apparent from reading the embodiments of the present invention as shown in the drawings.
Brief Description of the Drawings
[0061]
FIG. 1 is a schematic block diagram showing a communication system according to the
present invention.
FIG.2 is a sequence diagram showing an instance ofprocessing according to the present
invention.
FIG.3 shows an illustrative structure of a network system according to the present
invention.
FIG.4 is a block diagram showing an illustrative structure of the hardware of an application
server.
FIG.5 is a block diagram showing an illustrative structure of the hardware of a portable
telephone set.
FIG.6 is a block diagram showing an illustrative structure of the hardware of a terminal
device.
FIG.7 is a functional block diagram showing an instance of a processing function of
a contents server.
FIG.8 shows an instance of a data structure of a contents information storage unit.
FIG.9 is a functional block diagram showing an instance of the processing function
of a billing server.
FIG.10 shows an instance of a data structure of a user information storage unit.
FIG.11 is a block diagram showing an instance of the processing function of an application
server.
FIG.12 shows an instance of a data structure of a server side data storage unit.
FIG.13 is a functional block diagram showing an instance of the processing function
of a portable telephone set.
FIG.14 shows an instance of a data structure of the contents storage unit.
FIG.15 shows an example of a data structure of a validation information storage unit.
FIG.16 is a sequence diagram for transactions at the time of validating the contents
by a portable telephone set.
FIG.17 is a flowchart showing the processing sequence of an application server.
FIGs.18 and 19 are flowcharts showing the processing sequence of a portable telephone
set.
FIG.20 is a sequence diagram for transactions at the time of validating the contents
by a terminal device.
FIG.21 is a sequence diagram for transactions at the time of validating the contents
in a second embodiment of the present invention.
FIG.22 is a block diagram showing the processing function of an application server
in a third embodiment of the present invention.
FIG.23 is a block diagram showing the processing function of a portable telephone
set in the third embodiment of the present invention.
FIG.24 is a sequence diagram for transactions at the time of validating the contents
in the third embodiment of the present invention.
Best Mode for Carrying out the Invention
[0062] Referring to the drawings, certain preferred embodiments of the present invention
will be explained in detail.
[0063] In a communication system according to the present invention, information processing
is executed between a server device 1 and a client device 2, interconnected over a
network 6, in a concerted fashion.
[0064] The server device 1 includes first processing executing means 1a, a completion notice
transmitting means 1b and a storage means 1c. On receipt of a processing request 4
for the first processing, having the identification information 3 conferred thereto,
the first processing executing means 1a executes the first processing only once for
one identification information. Meanwhile, the first processing executing means 1a
verifies whether or not the first processing for the identification information 3
was completed in the past depending on whether or not the processing request 4 received
has been stored in the storage means 1c.
[0065] When the first processing in the first processing executing means 1a is finished,
or when a processing request 4 for the first processing, afforded with the same identification
information 3 as that conferred to the completed first processing, is re-received,
the completion notice transmitting means 1b transmits a completion notice 5 of the
first processing to the client device 2. Meanwhile, the completion notice transmitting
means 1b verifies whether or not the first processing for the identification information
3 was completed in the past, depending on whether or not the processing request 4
received has been stored in the storage means 1c.
[0066] On completion of the first processing in the first processing executing means 1a,
the storage means 1c stores the processing request 4 for the first processing, having
the identification information 3 conferred thereto, as the processing completion information.
[0067] The client device 2 includes a processing request transmitting means 2a, a second
processing executing means 2b and a re-transmitting means 2c.
[0068] The processing request transmitting means 2a transmits the processing request 4 for
the first processing, having the identification information 3 conferred thereto, to
the server device 1.
[0069] On receipt of the completion notice 5 of the first processing from the server device
1, the second processing executing means 2b executes the second processing, correlated
in advance with the first processing. If a communication error has been detected before
receipt of the completion notice 5 for the processing request 4 transmitted by the
processing request transmitting means 2a, the re-transmitting means 2c re-transmits
to the server device 1 the processing request 4 afforded with the identification information
3. It is when an error has been accepted by a lower network layer or a reply awaiting
state has continued for longer than a predetermined time period that the communication
error is detected.
[0070] This above-described communication system executes the following processing:
[0071] FIG.2 is a sequence diagram showing typical processing in accordance with the present
invention. The illustrative processing, shown in FIG.2, shows an embodiment in which
transient communication malfunctions have occurred after execution of the first processing
by the server device 1.
[0072] First, the processing request transmitting means 2a of the client device 2 transmits
a processing request 4 for the first processing having the identification information
3 conferred thereto, to the server device 1(step S1). The first processing executing
means 1a and the completion notice transmitting means 1b of the server device 1 then
verify at step S2 whether or not the processing complying with the processing request
4 for the first processing, having the same identification information 3 conferred
thereto, has already been completed (completion or non-completion). The completion
or non-completion may be verified by whether or not the processing completion information,
comprised of a set of the identification information 3 and the processing request
4, has been stored in the storage means 1c. Since the processing request is the first
processing request 4 at this time, no processing completion information of the same
content has been stored in the storage means 1c. Thus, it is verified that the relevant
processing has not been completed, and the first processing is executed by the first
processing executing means 1a (step S3).
[0073] When the first processing has been executed, the processing completion information,
comprised of the processing request 4 having the identification information 3 conferred
thereto (set of the identification information 3 and the processing request 4) is
stored in the storage means 1c (step S4). The completion notice transmitting means
1b transmits a completion notice 5 to the client device 2 (step S5).
[0074] In the present embodiment, the completion notice 5, transmitted at step S5, is not
delivered to the client device 2, due to communication malfunction. Thus, an error
is detected by the re-transmitting means 2c of the client device 2 (step S6). If an
error is detected, the processing request 4, having the identification information
3 conferred thereto, is re-transmitted by the re-transmitting means 2c to the server
device 1 (step S7).
[0075] On receipt of the processing request 4, having the identification information 3 conferred
thereto, the server device 1 at step S8 references the stored contents of the storage
means 1c, by the first processing executing means 1a and the completion notice transmitting
means 1b, to verify whether or not the processing responsive to the processing request
4, having the same identification information 3 conferred thereto, has already been
completed (completion or non-completion). Since the processing completion information
of the same contents has been stored at this time point in the storage means 1c, the
processing responsive to the processing request 4, having the identification information
3 conferred thereto, is deemed to have come to a close. If the processing is deemed
to have come to a close, the completion notice 5 is transmitted to the client device
2 by the completion notice transmitting means 1b (step S9).
[0076] On receipt of the completion notice 5, the client device 2 executes a second processing,
relevant to the first processing, by the second processing executing means 2b (step
S10).
[0077] Thus, if the communication has been interrupted due to network malfunction, execution
of one first processing and one second processing is guaranteed. If this processing
is applied to the content validation, execution of one billing processing of the content
cost by the server device 1 and one processing of content validation by the client
device 2 is guaranteed. This prevents unforeseen disadvantages otherwise incurred
to the content provider or to the user who purchased the content. That is, there is
no risk of the content not being validated despite payment of the cost or of the content
being validated without cost payment. Additionally, application to the locker service
or grouping service of the content is possible.
[0078] Meanwhile, the identification information 3 added to the processing request 4 is
the unique information in the server device 1.Thus, in the following embodiment, a
transaction ID (TID) may be issued as the identification information 3 from the server
device 1 to the client device 2.
[0079] It is also possible for the client device 2 to store the TID and the processing request
4, transmitted to the server device 1, and to erase the stored TID and processing
request 4 on termination of the second processing. This prohibits the TID from being
used illicitly for other objects after a transaction has regularly come to a close,
that is after the termination of the first processing and the second processing. Additionally,
the storage area of the client device 2 is used effectively.
[0080] As the client device 2, terminal devices, such as personal computers, portable information
terminal devices or mobile communication devices, such as portable telephone sets,
may be used.
[0081] In the following, certain preferred embodiments of the present invention, in which
the present invention is applied to the sale of contents, such as music data, over
the Internet, are explained.
[First Embodiment]
[0082] A first embodiment of the present invention is now explained.
[0083] The network system, embodying the present invention, is configured as shown in FIG.3.
In the network system, shown in FIG.3, an application server 100, a content server
310, a billing server 320, an accessing server 330 and a terminal device 400 are connected
to the Internet 21. To a public network 22, a portable telephone set 200, the billing
server 320 and the accessing server 330 are connected over a base station 23.
[0084] The base station 23 transmits/receives speech or data, over a radio route, with the
portable telephone set 200 and with other portable telephone sets within a preset
area, not shown.
[0085] The application server 100 performs the processing of validating the payable contents
provided from the content server 310 to general public, such as music data, picture
data or application programs for computers, in cooperation with portable telephone
sets 200 or terminal devices 400.
[0086] The portable telephone set 200 is able to have communication with other portable
telephone sets, not shown, via the base station 23. The portable telephone set 200
is able to access various servers on the Internet 21, such as application server 100
or content server 310, to perform concerted processing, browse the information or
to download the contents.
[0087] The content server 310 has stored therein payable contents provided to users of the
terminal device 400 or the portable telephone set 200. The content server 310 is responsive
to requests from the terminal device 400 or the portable telephone set 200 to transmit
the contents to the terminal device 400 or the portable telephone set 200.
[0088] The billing server 320 supervises the information, such as call time duration of
the portable telephone set 200, and performs the processing of collecting the fee,
such as charges for a call for the portable telephone set 200. The billing server
320 is responsive to the request from the application server 100 to collect the fee
for the contents downloaded to the portable telephone set 200.
[0089] The accessing server 330 performs the processing of connecting the portable telephone
set 200 as being a device on the Internet 21. For example, the accessing server 330
performs the processing of allocating the IP (Internet Protocol) addresses to the
portable telephone set 200.
[0090] The terminal device 400 accesses various servers, such as the application server
100 or the content server 310, over the Internet 21, to perform concerted processing,
browse the information or to download the contents.
[0091] In the above-described network system, the contents supervised by the content server
310 may be downloaded to the portable telephone set 200 or to the terminal device
400 to validate the contents.
[0092] Referring to FIGs.4 to 6, the hardware structure of various devices is explained.
[0093] FIG.4 is a block diagram showing an illustrative hardware structure of the application
server. The application server 100 in its entirety is controlled by a CPU (Central
Processing Unit) 101. To the CPU 101 are connected a RAM (Random Access Memory) 102,
a HDD (Hard Disc Drive) 103, a graphics processing device 104, an input interface
105 and a communication interface 106, over a bus 107.
[0094] In the RAM 102, at least a portion of the OS (Operating System) program or a portion
of the application program run by the CPU 101 is transiently stored. In the RAM 102,
various data necessary for processing by the CPU 101 is stored. In the HDD 103 is
stored the OS or the application program.
[0095] To the graphics processing device 104 is connected a monitor 11. The graphics processing
device 104 causes a picture to be displayed on a screen of a monitor 11 under instructions
from the CPU 101.
[0096] To the input interface 105 are connected a keyboard 12 and a mouse 13.The input interface
105 transmits signals sent from the keyboard 12 or the mouse 13 over bus 107 to the
CPU 101.
[0097] The communication interface 106 is connected to the Internet 21.The communication
interface 106 transmits/receives data with other computers over the Internet 21.
[0098] The processing functions of the present embodiment may be implemented by the above-described
hardware structure.
[0099] Although the hardware structure of the application server 100 has been described
and shown in FIG.4, the content server 310, billing server 320 and the accessing server
330 may be implemented by a structure similar to the hardware structure shown in FIG.4.
[0100] FIG.5 is a block diagram showing an illustrative structure of the hardware of a portable
telephone set. A portable telephone set 200 includes a main controller 201 controlling
the overall functions of the portable telephone set 200. To this main controller 201,
there are connected a power supply circuit 202, an operating input controller 203,
a display controller 204, a demultiplexer 205, a recording and/or reproducing unit
206, a modem 207, a speech codec 208, an image decoder 209 and a tamper resistant
module 220, over a bus 210.
[0101] The main controller 201 includes the CPU, RAM etc., mounted thereon, and operates
itself as a computer.
[0102] When an operating input for power up is entered by a user, the power supply circuit
202 sends the power from a battery pack, not shown, to respective circuits. By the
power being supplied from the battery pack to the respective circuits of the portable
telephone set 200, the functions of various elements shown in FIG.5 may be achieved.
[0103] To the operating input controller 203 are connected an operating key 211 and a dial
212. The operating input controller 203 transmits the operating contents of the operating
key 211 and the dial 212 over bus 210 to the main controller 201.
[0104] To the display controller 204 is connected a liquid crystal display 213.This display
controller 204 generates a display picture in accordance with the information or commands,
sent from the main controller 201, to demonstrate the generated display picture on
the display 213.
[0105] On receipt of the speech data and the picture data, the demultiplexer 205 demultiplexes
data received in accordance with a preset system to send the resulting data to the
modem 207. When supplied with the multiplexed data from the modem 207, the demultiplexer
205 separates the multiplexed data. For example, the demultiplexer 205 separates the
multiplexed data into coded picture data and into speech data. The demultiplexer 205
delivers the so separated picture data to the recording and/or reproducing unit 206
or to the image decoder 209. The demultiplexer 205 also delivers the separated speech
data to the speech codec 208.
[0106] To the recording and/or reproducing unit 206 can be connected a semiconductor memory
214. The recording and/or reproducing unit 206 records data on the semiconductor memory
214 or reads out data recorded on the semiconductor memory 214 under instructions
from the main controller 201.
[0107] To the modem 207 is connected a transmission/reception circuit 215.The modem 207
performs spread spectrum processing on the multiplexed data sent from the demultiplexer
205 to send the so processed data to the transmission/reception circuit 215. On receipt
ofreception signals from the transmission/reception circuit 215, the modem 207 performs
spread spectrum processing on the received signal and sends the so processed signal
to the demultiplexer 205.
[0108] To the transmission/reception circuit 215 is connected an antenna 216. The transmission/reception
circuit 215 transmits the signals, sent thereto from the modem 207, over antenna 216
to the base station 23.The transmission/reception circuit 215 receives signals transmitted
from the base station 23 over antenna 216 to send the received signals to the modem
207.
[0109] To the speech codec 208 are connected a microphone 217 and a loudspeaker 218. On
receipt of the speech data from the demultiplexer 205, the speech codec 208 converts
the speech data into analog signals, which are supplied to the loudspeaker 218. When
supplied with analog speech signals from the microphone 217, the speech codec 208
converts the speech signals into digital speech data, which is then delivered to the
demultiplexer 205.
[0110] On receipt of the encoded picture data, the image decoder 209 decodes the picture
data in accordance with a decoding system associated with the preset encoding system.
The image decoder 209 sends the decoded picture data to the display controller 204.
[0111] The tamper resistant module 220 has an illicitness combating function. The illicitness
combating function may, for example, be the function of erasing inner data in case
it is attempted to illicitly read out data in the tamper resistant module 220.
[0112] The tamper resistant module 220 uniquely has the function as a computer, such as
a CPU or as a RAM, and executes various data processing operations in accordance with
commands from the main controller 201. For example, the tamper resistant module 220
stores data to be concealed from the user of the portable telephone set 200 (such
as transaction ID: TID) in its inner RAM. The tamper resistant module 220 also proceeds
to validate contents stored in the semiconductor memory 214. By the tamper resistant
module 220 performing the validating processing, the algorithm for content validating
processing may be kept in the state concealed from the user of the portable telephone
set 200.
[0113] FIG.6 is a block diagram showing an illustrative structure of the hardware of a terminal
device. The terminal device 400 is controlled in its entirety by a CPU 401. To this
CPU 401 are connected, over bus 410, a RAM 402, a hard disc drive (HDD) 403, a graphics
processing device 404, an input interface 405, a communication interface 406, a memory
recording and/or reproducing unit 407, a disc drive 408 and a tamper resistant module
409.
[0114] To the graphics processing device 404 is connected a monitor 11a. To the input interface
405 are connected a keyboard 12a and a mouse 13a.
[0115] Since the functions of the RAM 402, hard disc drive (HDD) 403, graphics processing
device 404, input interface 405, communication interface 406, monitor 11a, keyboard
12a and the mouse 13a are the same as those of the components of the application server
100 shown in FIG.4, bearing the same appellations, these components are not explained
here specifically.
[0116] A semiconductor memory 14 may be connected to the memory recording and/or reproducing
unit 407. The memory recording and/or reproducing unit 407 is able to write data in
the semiconductor memory 14 or read out data recorded thereon in accordance with commands
from the CPU 401.
[0117] The disc drive 408, on or from which the optical disc 15 can be mounted or dismounted,
is able to record data on the optical disc 15 or read out data recorded thereon.,
in accordance with commands from the CPU 401. The optical disc 15 may, for example,
be a DVD (Digital Versatile Disc), a DVD-RAM (Digital Versatile Disc-Random Access
Memory), a CD-ROM (Compact Disc- Read Only Memory) or a CD-R (Compact Disc-Recordable)/RW
(Rewritable).
[0118] The tamper resistant module 409 uniquely has the function as a computer, such as
a CPU or as a RAM, and executes various data processing operations in accordance with
commands from the CPU 401. For example, the tamper resistant module 409 stores data
to be concealed from the user of the terminal device 400 (such as transaction ID:
TID) in its inner RAM. The tamper resistant module 409 also proceeds to validate contents.
By the tamper resistant module 409 performing the validating processing, the algorithm
for content validating processing may be kept in the state concealed from the user
of the terminal device 400.The tamper resistant module 409 may also be implemented
as the software on the RAM 402 or on the HDD 403.
[0119] Referring to FIGs.7 to 15, the processing functions and the data structure in the
content server 310, billing server 320, application server 100 and the portable telephone
set 200, as required for realizing the present embodiment, are explained.
[0120] FIG.7 is a functional block diagram showing an illustrative structure showing an
instance of the processing functions of the content server. The content server 310
includes a content information storage unit 311, a communication processing unit 312,
a content providing unit 313 and a price notification unit 314.
[0121] The content information storage unit 311 has stored therein the payable contents
supplied over the Internet 21, the identification information for the content (content
ID) etc. The data structure of the content information storage unit 311 will be explained
subsequently.
[0122] The communication processing unit 312 exchanges data with other devices over the
Internet 21.
[0123] The content providing unit 313 is responsive to the request from the portable telephone
set 200 or the terminal device 400 to transmit data, such as content or content decoding
keys thereof.
[0124] The price notification unit 314 is also responsive to the request from the application
server 100 to notify the price of the content.
[0125] FIG.8 shows an instance of a data structure of the content information storage unit.
In the instance of FIG.8, the content information storage unit 311 has columns of
the content ID, content data, decoding keys and price. The information of each item
lying in the same row (the horizontally arrayed information in the drawing) are correlated
with each other.
[0126] In the item of the content ID, there are registered unique identifiers (content IDs)
by which can be identified the content stored in the content server 310.
[0127] In the item of the content data are registered the contents. The contents registered
in the item of the content data are encrypted.
[0128] In the item of the decoding keys, there are registered decoding keys of the contents
registered in the item of the content data.
[0129] In the item of the price, there are registered the prices of the contents registered
in the item of the content data.
[0130] FIG.9 shows a functional block diagram showing an example of the processing function
of the billing server. The billing server 320 includes a user information storage
unit 321, a communication processing unit 322, an IP address acquisition unit 323
and a billing processing unit 324.
[0131] The user information storage unit 321 has stored therein the information on the user
who is under a use contract of a portable telephone set. The contents of the user
information storage unit 321 will be explained subsequently.
[0132] The communication processing unit 322 has data communication over the Internet 21
or the public network 22.
[0133] The IP address acquisition unit 323 periodically transmits a request for acquisition
of the IP address information to the accessing server 330, and acquires the IP address,
allocated to each portable telephone set, from the accessing server 330. The IP address
acquisition unit 323 registers the acquired IP address of each portable telephone
set in the user information storage unit 321.
[0134] The billing processing unit 324 is responsive to the request from the application
server 100 to bill the user's account for the cost of the contents.
[0135] FIG.10 shows an instance of a data structure of the user information storage unit.
In the instance of FIG.10, there are provided items of the user ID, telephone numbers,
user names, account numbers and IP addresses to the user information storage unit
321. The information of each column lying in the same row of each item in the user
information storage unit 321 (the horizontally arrayed information in the drawing)
are correlated with each other.
[0136] In the item of the user ID, there is stored the identification information by which
the user who is under a use contract of a portable telephone set can be identified.
[0137] In the item of the user telephone number, there is registered the telephone number
of the portable telephone set which the user is using.
[0138] In the item of the user name, there is registered the name of the user.
[0139] In the item of the account number, there are registered the information on the account
for automatic direct debit of the usage rate for the portable telephone set. For example,
the name of a bank or its branch office where there is the account for direct debit,
sort of account (savings account or current account) or the account number, are registered.
[0140] In the item of the IP address, there is registered the IP address allocated to the
user's portable telephone set. The IP address is incidentally updated by an IP address
acquisition unit 323.
[0141] FIG.11 is a block diagram showing a typical processing function of the application
server. The application server 100 includes a server side data storage unit 111, a
communication processing unit 112, a server management unit 113, a TID issuing unit
114, and a server processing unit 115.
[0142] The server side data storage unit 111 has stored therein the management information
for each issued transaction ID. The server side data storage unit 111 will be explained
in detail subsequently.
[0143] The communication processing unit 112 performs communication over the Internet 21.
For example, the communication processing unit 112 receives a message from the portable
telephone set 200 or from the terminal device 400 to deliver the message to the server
management unit 113. The communication processing unit 112 transmits the message received
from the server management unit 113 to the portable telephone set 200 or to the terminal
device 400.
[0144] Through the communication processing unit 112, the server management unit 113 exchanges
messages with the portable telephone set 200 or with the terminal device 400, to execute
the processing corresponding to the message. For example, on receipt from the portable
telephone set 200 of the message including the request for issuance of the TID, the
server management unit 113 requests TID issuance to the TID issuing unit 114. On issuance
of a new TID by the TID issuing unit 114, the server management unit 113 transmits
the issued TID to the portable telephone set 200. The server management unit 113 also
supervises data of the server side data storage unit 111.
[0145] The TID issuing unit 114 is responsive to the request from the server management
unit 113 to issue a unique TID (for example, a sequential number). The TID issuing
unit 114 delivers the issued TID to the server management unit 113.
[0146] The server processing unit 115 executes the processing in accordance with a request
from the server management unit 113 to return the processing result to the server
management unit 113. For example, on receipt of a request for billing a particular
user for purchase of certain contents from the server management unit 113, the server
processing unit 115 transmits a message for a request for billing to the billing server
320 through the communication processing unit 112. On receipt of the results of the
processing for billing from the billing server 320, the server processing unit 115
advises the server management unit 113 of the contents of the processing results.
[0147] FIG.12 shows a typical structure of a data structure of the server side data storage
unit. In the instance of FIG.12, the server side data storage unit 111 includes items
of the TID, processing requests, and unprocessed billing flags. It is noted that data
of the same rows of the respective items of the server side data storage unit 111
(data arrayed horizontally in the drawing) are correlated with one another.
[0148] In the items of the TID, there are arrayed TIDs, conferred to the processing request
and sent in this state to the application server 100.
[0149] In the item of the processing request, there is arrayed the processing request sent
with the TID.
[0150] In the item of the unprocessed billing flag, there is set a flag indicating whether
or not the processing of billing has come to a close (unprocessed billing flags).
If for example the unprocessed billing flag is 1, it indicates that the processing
of billing has not come to a close. If the unprocessed billing flag is 0, it indicates
that the processing of billing has come to a close. That is, when the unprocessed
billing flag is set to 0, the set of the TID and the processing request has the meaning
as the processing completion information, that is the information that the processing
pertinent to the processing request has come to a close.
[0151] FIG.13 shows a functional block diagram showing an illustrative example of the processing
function of a portable telephone set. The portable telephone set 200 includes a content
storage unit 231, a validation information storage unit 232, a communication processing
unit 233, a user request inputting unit 234, a validation management unit 235 and
a validation processing unit 236. Meanwhile, the functions of the validation information
storage unit 232, validation management unit 23 5 and the validation processing unit
236 are those implemented within the tamper resistant module 220.
[0152] The content storage unit 231 is, for example, at least a portion of the storage area
of the semiconductor memory 214. The content storage unit 231 stores the contents
downloaded from the content server 310.
[0153] The validation information storage unit 232 stores sets of the TIDs and the processing
requests.
[0154] The communication processing unit 233 has communication with devices on the Internet
21 via the accessing server 330.
[0155] The user request inputting unit 234 accepts operating inputs from the operating key
211 or dial 212 and delivers a request corresponding to the operating input to the
validation management unit 235.
[0156] The validation management unit 235 exchanges messages with the application server
100 through the communication processing unit 233 to perform the processing corresponding
to the messages. The validation management unit 235 is also responsive to the request
from the user request inputting unit 234 to generate processing requests. The generated
processing requests may, for example, be a content downloading request, a TID acquisition
request or a billing processing request. The validation management unit 235 transmits
the message including the generated processing requests over the communication processing
unit 233 to the application server 100 and to the content server 310. Meanwhile, the
TID is added to the message requesting the processing of billing.
[0157] On the other hand, the validation management unit 235 prosecutes preset processing
based on data or the information sent from the application server 100 and from the
content server 310. For example, the validation management unit 235 stores data, such
as contents downloaded from the content server 310, in the content storage unit. When
the message for a processing request for billing added by TID is sent to the application
server 100, the validation management unit 235 holds the set of the TID and the processing
request message in the validation information storage unit 232. On receipt of the
completion notice of the billing processing from the application server 100, the validation
management unit 235 deletes the corresponding information from the validation information
storage unit 232, while instructing the validation processing unit 236 to execute
the processing for validation.
[0158] The validation processing unit 236 validates the content stored in the content storage
unit 231 under the instructions from the validation management unit 235. For example,
the validation processing unit 236 decodes the encrypted contents. On the other hand,
a terminal having a copyright protecting function prosecutes the processing of validating
the content key in the system.
[0159] FIG.14 shows an illustrative data structure of a content storage unit. In the structure
of FIG.14, the content storage unit 231 includes items of the content ID, content
data and decoding keys. The information in the same row of each item of the content
storage unit 231 (horizontally arrayed information in the drawing) are correlated
with one another.
[0160] In the content ID item, the content ID of the contents downloaded to the portable
telephone set 200 is stored.
[0161] In the content data item, the main data of the contents downloaded to the portable
telephone set 200 is stored.
[0162] In the item of the decoding key, decoding key of the contents downloaded to the portable
telephone set 200 are stored.
[0163] FIG. 15 shows an illustrative data structure of the validation information storage
unit. In the structure of FIG.15, the validation information storage unit 232 is provided
with items of the TID and the processing requests. The information of the same row
of each item of the validation information storage unit 232 (the horizontally arrayed
information in the drawing) are correlated with one another.
[0164] In the TID item, there are stored the TIDs issued from the application server 100
to the portable telephone set 200.
[0165] In the item of the processing requests, the processing requests, added by the TIDs
and transmitted in this form to the application server 100, are stored in association
with the TIDs thus added thereto.
[0166] Meanwhile, the structure of the processing function of the terminal device 400 is
the same as that of the portable telephone set 200 shown in FIG.13.
[0167] Taking an example of validating the content in the portable telephone set 200, the
processing in a preferred embodiment of the present invention is explained.
[0168] FIG. 16 shows a sequence diagram of a transaction in validating the content by a
portable telephone set. FIG.16 shows a transaction for a normal system where no malfunction
is occurring. Meanwhile, content server 310, billing server 320 and the application
server 100 are operating at all times. The specified processing in the application
server 100 and in the portable telephone set 200 will be explained with reference
to the flowcharts of FIGs.17 to 19.
[0169] First, on power up, the portable telephone set 200 is responsive to the user's operating
input to transmit the content acquisition request to the content server 310 (step
S11).
[0170] The content server 310 is responsive to the message of the content acquisition request
from the portable telephone set 200 to download the specified content to the portable
telephone set 200 (step S12). In the downloaded contents, there are contained the
content ID and the decoding key for the content.
[0171] Specifically, the content providing unit 313 of the content server 310 acquires the
content specified by the content acquisition request, the content ID of the content
and the decoding key from the content information storage unit 311. The content providing
unit 313 transmits a set of the contents, the content ID and the decoding key to the
portable telephone set 200. The validation management unit 235 of the portable telephone
set 200 receives the set of the contents, the content ID and the decoding key to store
these information in the content storage unit 231.
[0172] On acquisition of the content, the portable telephone set 200 is responsive to the
user's operating input to transmit the TID request to the application server 100 (step
S13). Meanwhile, the users' operation input may be eliminated, so that the TID request
may be transmitted after content acquisition. On receipt of the TID request message
from the portable telephone set 200, the application server 100 generates the TID
(step S14). The application server 100 returns the TID to the portable telephone set
200 (step S15). The portable telephone set 200 saves the TID sent from the application
server 100 (step S16).
[0173] The portable telephone set 200 is responsive to the user's operating input to generate
and save a processing request message (step S17). The users' operation input may be
eliminated, so that the processing request message may immediately be generated and
saved after step S16. The portable telephone set 200 sends the processing request
message, added by the TID, to the application server 100 (step S18).
[0174] On receipt of the processing request message, added by the TID, the server application
100 checks whether or not the processing request in which the same TID has been set
has already been saved (step S19). If the relevant processing request has not been
saved, the application server 100 saves the TID and the processing request message
(step S20). For the set of the TID and the processing request message, thus saved,
the application server 100 sets the unbilled flag to 1 (step S21).
[0175] The application server 100 specifies the content ID and inquires of the content server
310 as to the price of the content (step S22). On receipt of the inquiry from the
application server 100, the content server 310 returns the price of the content (step
S23). Specifically, the content providing unit 313 references the content information
storage unit 311 to acquire the price associated with the content ID specified in
the price inquiry. The content providing unit 313 transmits the acquired price to
the application server 100.
[0176] The application server 100 specifies the IP address of the portable telephone set
200 to transmit the billing processing request for the price sent from the content
server 310 to the billing server 320 (step S24).
[0177] The billing server 320 executes the processing of billing, responsive to the request
for billing processing from the application server 100, to transmit the processing
results to the application server 100 (step S25). Specifically, the billing processing
unit 324 references the user information storage unit 321 to determine the user to
be billed, from the IP address specified in the request for billing processing from
the application server 100. Based on the account number of the user to be billed,
the billing processing unit 324 accesses the server of a financial organization supervising
the account (not shown) to request the server to directly debit the amount equivalent
to the price of the content from the account of the user to be billed. It is also
possible that the cost of the content directly debited be automatically transferred
to the account of the supervisor of the content server 310.
[0178] It is also possible to add the cost of the contents to the usage rate of the portable
telephone set to directly debit the cost of the contents at the time of direct debiting
of the usage rate for the portable telephone set, without immediately proceeding to
direct debiting from the account. In this case, the billing processing is deemed to
be completed when the processing of summing the cost of the contents to the usage
rate of the portable telephone set is completed.
[0179] The results of processing of direct debiting are notified from the server of the
financial organization to the billing server 320. For example, a completion notice
of direct debiting or a failure notice in direct debiting is sent to the billing server
320. The billing processing unit 324 of the billing server 320 notifies the results
of the processing of direct debiting as being the result of the billing processing
to the application server 100 (step S25).
[0180] On receipt of the notice indicating the completion of the direct debiting, the application
server 100 resets the unbilled flag, that is, sets the unbilled flag to zero (step
S26). The application server 100 transmits the processing completion notice to the
portable telephone set 200 (step S27).
[0181] On receipt of the completion notice of the processing, the portable telephone set
200 executes the processing of validating the content, for example, decoding (step
S28). The validated content is now usable freely in the portable telephone set 200.
For example, if the contents are contents of music data, the music data can be reproduced
using the portable telephone set 200. The portable telephone set 200 erases the set
of the TID and the processing request message (step S29). Finally, the set of the
TID and the processing request message is erased to provide for effective utilization
of the storage area as well as to prevent illicit use of the TID.
[0182] The contents concealed by e.g., encryption may be downloaded to the portable telephone
set 200 and, subject to payment of the cost of the contents, the contents may be validated,
in the manner as described above. Moreover, in the present embodiment, the TID is
conferred to the processing request for billing the cost of the contents, with the
TID being then saved in the application server 100. Thus, even if the processing for
billing has been executed but the completion notice has not been sent to the portable
telephone set 200 due to the network malfunction, etc., the complection notice can
be positively received by re-transmitting the processing request message afforded
with the TID to the application server 100.
[0183] By referring to the flowchart, the processing by the application server 100 and the
portable telephone set 200, which takes account ofpossible occurrence ofnetwork malfunctions,
is now explained.
[0184] FIG. 17 is a flowchart showing the processing sequence of the application server.
The processing shown in FIG.17 is explained in the order of the increasing step numbers.
[step S111] The server management unit 113 receives a TID request from the portable
telephone set 200.
[step S112] The server management unit 113, which has received the TID request, issues
a request to the TID issuing unit 114 for sending a TID. The TID issuing unit 114
generates a unique TID in the application server 100 to deliver the so generated unique
TID to the server management unit 113.
[step S113] The server management unit 113 returns the TID, received from the TID
issuing unit 114, as reply data to the portable telephone set 200.
[step S114] The server management unit 113 receives a processing request message,
added by the TID, from the portable telephone set 200.
[0185] It is noted that the content ID and the IP address of the source of transmission
are contained in the processing request message. Consequently, the server management
unit 113 is able to specify the portable telephone set 200 as the source of transmission
by the IP address.
[step S115] The server management unit 113 checks whether or not the processing request
message associated with the TID which is the same as that of the TID conferred to
the processing request message received at step S114 has been stored in the server
side data storage unit 111. When the processing request message of the same TID is
stored in the server side data storage unit 111, it indicates that the same processing
request was received in the past. So, the processing transfers to step S126. When
the processing request message of the same TID is not stored in the server side data
storage unit 111, it indicates that the processing request is a first one. Thus, processing
transfers to step S116.
[step S116] The server management unit 113 stores the set of the TID and the processing
request message in the server side data storage unit 111.
[step S117] The server management unit 113 sets an unbilled flag, corresponding to
the set of the TID and the processing request message, stored at step S116. For example,
the server management unit 113 sets the unbilled flag to 1.
[step S118] The server management unit 113 specifies the content ID, contained in
the processing request message, and inquires the price ofthe contents ofthe content
server 310.
[step S119] The server management unit 113 receives the price from the content server
310.
[step S120] The server management unit 113 requests the server processing unit 115
to execute the billing processing. The server processing unit 115 is responsive to
the request from the server management unit 113 to return the request of billing processing
to the billing server 320. Meanwhile, the cost of the content and the IP address of
the portable telephone set 200 are contained in the request for billing processing.
[step S121] The server management unit 113 receives the results of billing processing
from the billing server 320.
[step S122] The server management unit 113 checks whether or not the billing has been
finished with success. If the completion notice of direct debiting has been received
from the billing server 320, the server management unit 113 verifies that the billing
has been finished with success, whereas, if the failure notice in direct debiting
has been received from the billing server 320, the server management unit 113 verifies
that the billing has not been finished with success. If the billing has been finished
with success, processing transfers to step S124, whereas, if the billing has not been
finished with success, processing transfers to step S123.
[step S123] The server management unit 113 sends the notice of processing completion
for non-allowance to the portable telephone set 200 to terminate the processing.
[step S124] The server management unit 113 resets the unbilled flag, corresponding
to the TID received at step S114. For example, the server management unit 113 sets
the value of the unbilled flag to zero.
[step S125] The server management unit 113 returns the notice of processing completion
for allowance of content validation to the portable telephone set 200 to terminate
the processing.
[step S126] On receipt of the set of the processing request message and the TID, already
stored, the server management unit 113 verifies whether or not the billing for the
set of the TID and the processing request message has been finished. This can be verified
by referring to the unbilled flag. If the unbilled flag has been set (the value of
the unbilled flag being 1), the billing has not been finished, whereas, if the unbilled
flag has not been set (the value of the unbilled flag being 0), the billing has been
finished.
[0186] If the billing has been finished, processing transfers to step S125 and the completion
notice of the processing with allowance of the content validation is transmitted to
the portable telephone set 200 (step S124). Thus, if once the billing has been finished,
the completion notice of processing is transmitted without repetitive execution of
the billing processing. If the billing has not been finished, processing transfers
to step S127.
[step S127] The server management unit 113 verifies whether or not the billing processing
is progressing. That is, the server management unit 113 verifies whether or not the
results of billing processing for the billing processing request corresponding to
the processing request indicated by the TID has been received from the billing server
320. If the billing processing is underway, there is no necessity of outputting billing
processing requests repeatedly so that processing is terminated. If the billing has
not been made, with the processing for billing being not underway, processing transfers
to step S118 to execute the processing pertinent to the request for billing processing.
[0187] By so doing, there is no risk of duplex billing even if billing processing responsive
to the processing request message has been time-consuming such that the processing
request message of the same TID is re-transmitted before completion of the billing
processing.
[0188] FIG.18 shows a former half of the flowchart showing the processing sequence of a
portable telephone set. The following is the explanation of the processing shown in
FIG.18, in the order of the step numbers.
[step S131] When the power supply of the portable telephone set 200 is turned on by
a user, the user request inputting unit 234 accepts an operating input for instructing
the content downloading from the user. When an operating input instructing the downloading
is made, the user request inputting unit 234 delivers the content downloading request
to the validation management unit 235.
[step S132] The validation management unit 235 is responsive to the request from the
user request inputting unit 234 to transmit a request for content acquisition to the
content server 310. It is noted that the request for content acquisition may be transmitted
after step S131.
[S133] The validation management unit 235 downloads the content from the content server
310 for storage in the content storage unit 231.
[S134] The validation management unit 235 verifies whether or not the downloading
of the content (set of the content, content ID and the decoding key) has come to a
close. Whether or not the downloading has come to a close can be verified based on
whether or not the content capacity as informed in advance from the content server
310 coincides with the capacity of the data stored in the content storage unit 231.
[0189] When the downloading has come to a close, processing transfers to step S135. When
the downloading has not come to a close, processing of step S134 is repeated to set
a standby state until completion of the downloading. It is also possible to omit the
processing of step S 135 to transmit the TID request of step S 136.
[step S135] The user request inputting unit 234 accepts the operating input of instructions
for content purchase from the user. If the operating input for purchase is made, the
user request inputting unit 234 delivers the content purchase request to the validation
management unit 235.
[step S136] The validation management unit 235 is responsive to the request from the
user request inputting unit 234 to send the TID request to the application server
100.
[step S137] The validation management unit 235 verifies whether or not a communication
error has occurred before receipt of the reply from the TID request. For example,
if no reply to the TID request is returned within a preset time, the validation management
unit 235 verifies the situation to be ascribable to a communication error. If the
communication error has occurred, processing transfers to step S138 and, if otherwise,
processing transfers to step S139.
[step S138] The validation management unit 235 verifies whether or not a preset retry
limit number of times for the TID request has been exceeded. If the retry limit number
of times for the TID request has been exceeded, processing is terminated, whereas,
if the retry limit number of times for the TID request has not been exceeded, processing
transfers to step S136 to re-transmit the TID request.
[step S139] The validation management unit 235 verifies whether or not the TID reply
has been received. If the TID reply has not been received, processing transfers to
step S137. The validation management unit 235 then is in a standby state for the TID
reply until a communication error occurs. If the TID reply has been received, processing
transfers to a step S140 shown in FIG.19.
[0190] FIG.19 shows a latter half of the flowchart showing the processing sequence of the
portable telephone set. The following is the explanation of the processing shown in
FIG.19, in the order of the step numbers.
[step S140] The validation management unit 235 stores the TID sent from the application
server 100 in the validation information storage unit 232.
[step S141] The validation management unit 235 generates a processing request message
for billing processing for the content purchase cost to store the generated message
in the validation information storage unit 232 in association with the TID stored
at step S140.
[step S142] The validation management unit 235 transmits a set of the TID and the
processing request message to the application server 100.
[step S143] The validation management unit 235 verifies whether or not a communication
error has occurred. For example, if a completion notice is not returned after lapse
of a preset time as from the transmission of the set of the TID and the processing
request message, the validation management unit 235 verifies this situation as being
due to a communication error. If such communication error has occurred, processing
transfers to step S144. Ifno communication error has occurred, processing transfers
to step S145.
[step S144] The validation management unit 235 verifies whether or not the limitation
on the retry number of times for the billing processing is exceeded. If the limitation
on the retry number of times is exceeded, processing is terminated without deleting
the TID and processing request message. This enables a processing request message
for billing processing to be re-transmitted, using the TID and the processing request
message, stored as described above, on restoration of the network's communication
environment. If the limitation on the retry number of times is not exceeded, processing
transfers to step S142 to re-transmit the processing request message for billing processing.
[step S145] The validation management unit 235 verifies whether or not the completion
notice of billing processing has been received from the application server 100. On
receipt of the completion notice, processing transfers to step S146. If the completion
notice has not been received, processing transfers to step S143 to await the transmission
of the completion notice.
[step S146] The validation management unit 235 verifies whether or not the completion
notice of the billing processing is the completion notice indicating the allowance
of content validation. If the completion notice is that indicating the allowance of
content validation, processing transfers to step S147 and, if otherwise, that is the
completion notice is that indicating the non-allowance of content validation, processing
transfers to step S148.
[step S147] The validation management unit 235 requests the validation processing
unit 236 to proceed to processing of content validation. The validation processing
unit 236 is responsive to the request from the validation management unit 235 to validate
the content. Specifically, the validation processing unit 236 decodes the content
by a preset algorithm, using the decoding key associated with the content. Meanwhile,
the terminal having the function of protecting the copyright protection performs the
processing of validating the content key within its system.
[step S148] The validation management unit 235 deletes the set of the TID and the
processing request message, corresponding to the validated content, from the validation
information storage unit 232. The processing then comes to a close.
[0191] This guarantees that the processing of billing the purchase cost of the content and
the processing of validating the content be carried out as a set no matter at which
timing the network error occurs. That is, the content validation processing is not
performed unless the billing processing for the content purchase cost is performed.
On the other hand, once the billing processing for the content purchase cost is carried
out, the content validation processing is performed.
[0192] For example, if the TID request or the TID reply is discarded, the application server
100 operates similarly to the ordinary system (processing shown in FIG.16). When the
portable telephone set 200 accepts an error from the lower network layer at the validation
management unit 235, or when the reply awaiting state is sustained for longer than
a preset time period, the portable telephone set re-sends the TID request.
[0193] When the set of the TID and the processing request message has been discarded, the
application server 100 operates similarly to the normal system. When the validation
management unit 235 accepts an error from the lower network layer or when the reply
awaiting state continues for longer than a preset time, the validation management
unit 235 of the portable telephone set 200 re-transmits a processing request message,
which has the same content as that of the discarded message and to which has been
added the TID.
[0194] If the completion notice of the processing is discarded, the set of the TID and the
processing request message has already been saved in the server side data storage
unit 111 of the application server 100. On receipt of the processing request message,
added by the same TID, from the portable telephone set 200, the application server
100 confirms whether or not the set of the TID and the processing request message
which is the same as the received set has been stored in the server side data storage
unit 111. If such set has been stored, the application server 100 re-transmits the
notice of processing completion without performing the requested processing. If the
validation management unit 235 accepts the error from the lower network layer or if
the reply awaiting state exceeds a preset time, the validation management unit 235
of the portable telephone set 200 re-transmits the processing requesting message which
has the same content as the discarded message and to which has been added the TID.
[0195] By the above-described rule, it is guaranteed that a certain processing on the TID
is carried out necessarily only once for both the application server 100 and the portable
telephone set 200.
[0196] Meanwhile, the above explanation has been made for the case of validating the content
in the portable telephone set 200. However, the content can be validated by a substantially
similar processing in the terminal device 400. However, if the terminal device 400
is used, the content cost cannot be collected using a portable telephone usage fee
collecting system, and hence a separate fee collection system becomes necessary.
[0197] For example, the user of the terminal device 400 makes in advance user registration
in the application server 100. The account number of a financial organization for
direct debiting, etc., are pre-registered in the information on the registered user.
Before placing a request for billing processing for cost of the content, user authentication
processing is carried out between the application server 100 and the terminal device
400.
[0198] FIG.20 is a sequence diagram of a transaction in validating the content in the terminal
device. In FIG.20, the same processing steps as those in FIG.16 are depicted by the
same step numbers and the explanation therefor is omitted for simplicity. The processing
downstream of the billing processing (step S24a) is similar to that shown in FIG.16
and hence is nor shown in FIG.20.
[0199] In the following, only the points different from the case of using the portable telephone
set in FIG.16 are explained.
[0200] When the content is downloaded in the terminal device 400, the authentication information
is transmitted from the terminal device 400 to the application server 100 (step S12a).
The authentication information is, for example, a set of a password and a user ID,
registered in advance in the application server 100.
[0201] On receipt of the authentication information, the application server 100 references
the pre-registered user information to effect user authentication. That is, if the
user information matched to the set of the user ID and the password has been registered,
the user is specified. The authentication is then terminated as regularly. The application
server 100 returns to the terminal device 400 a reply of confirmation indicating that
the authentication has been prosecuted as regularly.
[0202] If, in prosecuting user authentication, a cookie (the scheme of exchanging the information
such as the user information or the access hysteresis between the Web browser and
the Web server) is delivered from the application server 100 to the terminal device
400, it becomes subsequently unnecessary to prosecute user authentication each time
the application server 100 is accessed from the terminal device 400.
[0203] The processing from step S 13 to step S23, following the user authentication, is
similar to that in FIG.16.
[0204] In the case of FIG.20, billing processing is carried out in the application server
100 after inquiring the price of the content server 310 (step S24a). In the billing
processing, the application server 100 accesses a server (not shown) of a financial
organization supervising the account based on the pre-registered user's account number.
The application server 100 makes a request for direct debiting of the amount equivalent
to the content price from the account of the user to be billed. The processing downstream
of the billing processing (step S24a) is similar to that shown in FIG.16.
[0205] This allows the terminal device 400 to download the contents and to execute the processing
of payment of the content fee and the processing for content validating as integrated
processing.
[0206] In the above-described embodiment, the information on the account for billing the
content cost is registered in advance in the application server 100 and in the billing
server 320. Alternatively, the user information (such as credit number) may be transmitted
from the portable telephone set 200 or the terminal device 400 to the application
server 100 at the time of purchasing the content.
[0207] In the case of a device, such as the terminal device 400, in which data of the optical
disc 15 can be read out, the content may be acquired from the optical disc 15, without
accessing the content server 310.
[Second Embodiment]
[0208] A second embodiment of the present invention is now explained. In the present second
embodiment, when the processing for content validation in the portable telephone set
200 or in the terminal device 400 has come to a close, the TID associated with the
processing is deleted in the application server 100. This enables the hardware resources
(such as HDD storage area) of the application server 100 to be utilized effectively.
[0209] FIG.21 is a sequence diagram of a transaction in validating the content in the second
embodiment of the present invention. FIG.21 shows an instance of content validation
using the portable telephone set 200. In FIG.21, the processing similar to the processing
shown in FIG. 16 is depicted by the same step numbers and the corresponding explanation
is omitted for simplicity. Moreover, the processing by the content server 310 and
the billing server 320 is the same as the processing of the first embodiment and hence
the content server 310 and the billing server 320 are disregarded in FIG.21.
[0210] When a completion notice of processing is issued from the application server (step
S27), and the portable telephone set 200 receives a completion notice of processing
to perform the processing of content validation (step S28), a processing end reply
containing the TID is transmitted from the portable telephone set 200 to the application
server 100 (step S30). After transmission of the processing end reply, the portable
telephone set 200 erases the set of the TID and the processing request message (step
S29a). On receipt of the processing end reply, the application server 100 erases the
TID item from the server side data storage unit 111 (step S31).
[0211] This enables the server side data storage unit 111 of the application server 100
to be utilized effectively.
[Third Embodiment]
[0212] A third embodiment of the present invention is now explained. In the third embodiment
of the present invention, there is provided a defensive function against a person
with malignant intention. That is, even if data or messages transmitted on the network
are intercepted, the content cannot be validated except by a device used by a person
who paid the cost for the content.
[0213] FIG.22 shows a block diagram illustrating the processing functions of an application
server in the third embodiment of the present invention. In FIG.22, parts or components
having the same functions as those of the first embodiment are depicted by the same
reference numerals as those used in the first embodiment shown in FIG.11, and the
corresponding description is omitted for simplicity.
[0214] An application server 100a of the present third embodiment corresponds to the application
server 100 ofthe first embodiment shown in FIG.11 except that it includes an encryption
unit 116. Additionally, the function of the server management unit 113 is changed
to give a server management unit 113a.
[0215] The encryption unit 116 encrypts or decodes the message, using a secret key, co-owned
with the client device, such as the portable telephone set.
[0216] The server management unit 113a includes the functions of requesting the encryption
unit 116 to encrypt part of the information to be transmitted and to decode the encrypted
information, in addition to the function owned by the server management unit 113 shown
in FIG.11. The server management unit 113a also has the function of generating the
encrypted message or of decoding and analyzing the encrypted message.
[0217] FIG.23 is a block diagram showing the processing functions of the portable telephone
set according to the third embodiment of the present invention. In FIG.23, parts or
components having the same functions as those of the first embodiment are indicated
by the same reference numerals as those used in FIG.13 and the corresponding explanation
is omitted for simplicity.
[0218] A portable telephone set 200a of the second embodiment of the present invention corresponds
to the portable telephone set 200 of the first embodiment shown in FIG.13 except that
it includes random number generator 237 and an encryption unit 238. Additionally,
the functions of the validation information storage unit 232 and the validation management
unit 235 are changed to give a validation information storage unit 232a and a validation
management unit 235a.
[0219] The random number generator 237 is responsive to a request from the validation management
unit 235a to generate a random number. The random number generator 237 delivers the
generated random number to the validation management unit 235a.
[0220] The encryption unit 238 encrypts or decodes the message using the secret key co-owned
with the application server 100a.
[0221] The validation management unit 235a has the function of requesting the random number
generator 237 to generate random numbers, and the function of requesting the encryption
unit 238 to encrypt a portion of the information transmitted or to decode the encrypted
information, in addition to the function owned by the validation management unit 235
shown in FIG.13. The validation management unit 235a also has the function of generating
the encrypted message, decoding and analyzing the encrypted message and of having
the random number built into the message.
[0222] The validation information storage unit 232a is able to store, in addition to the
information that can be stored in the validation information storage unit 232 shown
in FIG. 13, the random number, generated in the random number generator 237, in association
with e.g., the TID.
[0223] FIG.24 is a sequence diagram of a transaction in validating the content in the third
embodiment of the present invention. FIG.24 shows a case of validating the content
using the portable telephone set 200a. In FIG.24, the same step numbers are used to
denote the steps similar to those shown in FIG.16, and the corresponding explanation
is omitted for simplicity. Since the processing in the content server 310 and in the
billing server 320 is similar to that in the first embodiment, these servers 310,
320 are disregarded in FIG.24.
[0224] After downloading the content by the portable telephone set 200a at steps S11 and
S12, the application server 100a and the portable telephone set 200a execute the processing
of key exchange (AKE: Authentication and Key Exchange), using the public key allocated
to both, to co-own the secret key. It is also possible to distribute the secret key
in advance, without executing the AKE processing.
[0225] When the portable telephone set 200a starts its operation, the validation management
unit 235a requests the random number generator 237 to generate random numbers. The
random number generator 237 generates random numbers [NONCE#1] (step S42). The random
number generator 237 delivers the generated random numbers [NONCE# 1] to the validation
management unit 235a. The validation management unit 235a causes the random numbers
[NONCE#1] to be saved in the validation information storage unit 232a (step S43).
The validation management unit 235a generates a TID request, added by the random numbers
[NONCE#1], and sends the so generated TID request to the application server 100a (step
S 13b).
[0226] On receipt of the TID request, the server management unit 113a of the application
server 100a issues a TID by the TID issuing unit 114 (step S14).The server management
unit 113a then requests the encryption unit 116 to encrypt the random numbers [NONCE#1]
in association with the TID. The encryption unit 116 is responsive at step S44 to
the request to encrypt the random numbers [NONCE#1], in association with the TID,
using the secret key acquired at step S41.
[0227] The server management unit 113a receives the encrypted random numbers [NONCE#1] and
the TID from the encryption unit 116 to transmit the so received random numbers and
the TID as TID reply to the portable telephone set 200a (step S15b). The encryption
algorithm may, for example, be DES (Data Encryption Standard) - CBC (Cipher Block
Chaining) encryption algorithm.
[0228] On receipt of the TID reply, the validation management unit 235a of the portable
telephone set 200a delivers the TID reply to the encryption unit 238 to request decoding.
The encryption unit 238 at step S45 is responsive to the request from the validation
management unit 235a to decode the TID reply, using the secret key acquired at step
S41. Thus, the TID and the random numbers [NONCE#1] are taken out from the TID reply
and delivered to the validation management unit 235a.
[0229] The validation management unit 235a checks whether or not the random numbers [NONCE#1]
taken out are the same as those saved in the validation information storage unit 232a
(step S46). If the random numbers taken out are not the same as those saved, this
transaction is terminated as being a failure. If the random numbers taken out are
the same as those saved, the TID is saved (step S16) and the processing request message
is saved (step S17).
[0230] The validation management unit 235a then requests the random number generator 237
to generate random numbers. The random number generator 237 generates new random numbers
[NONCE#2] (step S47). The random number generator 237 delivers the generated random
numbers [NONCE#2] to the validation management unit 235a.
[0231] The validation management unit 235a saves the random numbers [NONCE#2] in the validation
information storage unit 232a (step S48). The validation management unit 235a adds
the random numbers [NONCE#2] to the TID and to the processing request message and
requests encryption by the encryption unit 238. The encryption unit 238 is responsive
at step S49 to the request from the validation management unit 235a to collectively
encrypt the TID, processing request message and the random numbers [NONCE#2], using
the secret key acquired at step S41. The encrypted data is delivered to the validation
management unit 235a.
[0232] The validation management unit 235a transmits the data, encrypted by the encryption
unit 238, to the application server 100a, as being the processing request message,
to which has been conferred the TID (step S 18b).
[0233] The server management unit 113a of the application server 100a delivers the processing
request message, to which has been conferred the TID, to the encryption unit 116,
to request decoding. The encryption unit 116 decodes the processing request message,
to which has been conferred the TID, using the secret key, acquired at step S41, to
take out the TID, processing request message and the random numbers [NONCE#2] (step
S50). The decoded data is delivered to the server management unit 113a.
[0234] Subsequently, the saving of the processing request is confirmed (step S19), the saving
of TID and the processing request message (step S20), setting the unbilled flag (step
S21) and billing processing (steps S22 to S25) are carried out and the unbilled flag
is reset (step S26). The server management unit 113a adds the random numbers [NONCE#2]
as random numbers for inspection and transmits the notice of processing completion
to the portable telephone set 200a.
[0235] The validation management unit 235a of the portable telephone set 200a at step S51
checks whether or not the random numbers [NONCE#2] contained in the notice of processing
completion are the same as the random numbers [NONCE#2] saved in the validation information
storage unit 232a in the processing at step S48. If the random numbers are different,
the transaction is terminated as being a failure. If the random numbers are the same,
the contents are validated (step S28), while the TID and the processing request message
are erased (step S29).
[0236] This effectively prevents the content from being illicitly used.
[0237] For example, by encrypting the TID reply and the processing request message, it is
possible to prevent interception by those with malignant intention on the network,
based on the strength of the encryption used.
[0238] The information exchange by malignant users may be coped with by burying the random
numbers [NONCE#1] and [NONCE#2]. In the absence of these random numbers, the encrypted
messages are the same at all times, provided that the key and the message are the
same. In this case, illicit use becomes possible by the following sequence.
[0239] First, when a processing request is made, a transaction (from TID acquisition to
content validation) is once completed with success. At this time, the TID reply and
the processing completion message are captured from the network and saved. The portable
telephone set then generates a new processing request, which then is discarded without
being transmitted to the application server. In place of the TID reply and the notice
of processing completion, which should be returned from the application server, the
TID reply and the notice of processing completion, which have been saved, are returned.
[0240] This enables the portable telephone set to execute the validation processing. In
this case, no billing processing is carried out in the application server. Specifically,
this means that the content is validated on the portable telephone set without the
billing processing being performed.
[0241] In the third embodiment of the present invention, in which the random numbers [NONCE#1]
and [NONCE#2] are conferred to the TID request and to the set of the TID and the processing
request message, respectively, whereby the portable telephone set 200a is able to
recognize that the reply is that from the application server 100a to the own request.
This means that information exchange is not possible.
[0242] Thus, with the third embodiment, the transaction of effective use of the server storage
area is able to strongly prevent the attack, such as interception.
[0243] The above-described processing functions may be implemented by the server computer
and the client computer. In this case, a server program, stating the processing contents
of the functions to be owned by the server device (content server, billing server,
access server and the application server) and a client program stating the processing
contents of the functions to be owned by the client device, such as a portable telephone
set, are provided. By executing the server program on a server computer, the processing
functions of the server device can be realized on the server computer. On the other
hand, by executing the client program on a client computer, the processing functions
of the client device can be realized on the client computer.
[0244] The server and client programs, stating the processing contents, may be recorded
on a computer-readable recording medium. The computer-readable recording medium may
be enumerated by a magnetic recording device, an optical disc, a magneto-optical recording
medium and a semiconductor memory. The magnetic recording device may, for example,
be a hard disc device (HDD), a flexible disc (FD) or a magnetic tape. The optical
disc may, for example, be a DVD, a DVD-RAM, a CD-ROM or a CD-R/RW, while the magneto-optical
recording medium may, for example, be a MO (Magneto-Optical Disc).
[0245] For circulating a server program or a client program, a portable recording medium,
such as DVD or CD-ROM, each having recorded thereon a program(s), is commercialized.
It is also possible to get the client program stored in a storage device of a server
device to transfer the client program from the server device to the client device
over a network.
[0246] The server computer, executing the server program, causes the server program, recorded
on e.g., a portable recording medium, to be stored in the own storage device. The
server computer directly reads out the server program from the own storage device
to execute the processing in accordance with the server program. The server computer
may also read out the server program directly from the portable recording medium to
execute the processing stated in the server program.
[0247] The client computer, executing the client program, stores the client program, recorded
on e.g., a portable recording medium, or the client program, transferred from the
server computer, in the own storage device. The client computer reads out the client
program from the own storage device to execute the processing in accordance with the
client program. Meanwhile, the client computer is also able to read out the client
program directly from the portable recording medium to execute the processing in accordance
with the so read out client program. Moreover, the client computer is also able to
execute the processing in accordance with the client programs sequentially transferred
from the server computer.
Industrial Applicability
[0248] According to the present invention, in which, if a communication error is detected
by a client device, a processing request of the same identification information as
that of the previous identification information is re-transmitted to the server device,
and in which, if a processing request for the same identification information as that
of the completed first processing is re-received by the server device, a completion
notice for the first processing is transmitted from the server device to the client
device, without executing the first processing. Thus, even if the completion notice
has not been received due to such as network malfunctioning, the client device is
able to receive the completion notice to execute the second processing, without executing
the first processing twice, subject to re-transmission of the processing request.
As a consequence, it is guaranteed that the first processing be carried out once and
the second processing be similarly carried out once.
1. A communication system for performing concerted processing among a plurality of devices
interconnected over a network, comprising:
a server device including first processing executing means which, on receipt of a
processing request for a first processing, afforded with the identification information,
executes said first processing only once for one item of said identification information,
and completion notice transmitting means which, on completion of said first processing
by said first processing executing means, or on re-receipt of said processing request
for said first processing, afforded with the same identification information as that
of the completed first processing, transmits a completion notice of said first processing
to the source of transmission of said processing request; and
a client device including processing request transmission means for transmitting said
processing request for said first processing, having said identification information
conferred thereto, to said server device, second processing executing means which,
on receipt of said completion notice from said server device, executes second processing
correlated in advance with said first processing, and re-transmitting means which,
on detection of a communication error before receipt of said completion notice responsive
to said processing request transmitted by said processing request transmission means,
re-transmits said processing request to said server device.
2. The communication system as recited in claim 1 wherein said server device further
includes storage means which, on completion of said first processing, stores said
processing request for said first processing, afforded with said identification information,
said first processing executing means and the completion notice transmitting means
verifying whether or not said first processing for said identification information
was completed in the past depending on whether or not the processing request as received
has been stored in said storage means.
3. The communication system as recited in claim 2 wherein said server device further
includes erasure means which, after transmitting the completion notice of said first
processing, on receipt of a reply for the completion of said second processing, correlated
in advance with said first processing, erases said processing request for said first
processing, having said identification information conferred thereto, from said storage
means;
said client device further including processing completion reply transmitting means
for transmitting a reply for completion of said second processing to said server device
on completion of said second processing.
4. The communication system as recited in claim 1 wherein said server device further
includes identification information transmitting means for generating unique identification
information on receipt of an identification information request and for transmitting
the generated identification information to the source of transmission of said identification
information request;
said client device further including identification information request transmitting
means for transmitting said identification information request to said server device;
said processing request transmitting means conferring said identification information,
transmitted from said server device responsive to said identification information
request, to said processing request of said first processing.
5. The communication system as recited in claim 4 wherein said identification information
transmitting means of said server device collectively encrypts random numbers and
the identification information, delivered from the source oftransmission of said identification
information request, to send the encrypted identification information to said source
of transmission;
said client device further including inspection means for taking out said random
numbers on decoding said encrypted identification information, and checking matching
between said random numbers thus taken out and the random numbers previously delivered
to said server device.
6. The communication system as recited in claim 1 wherein said processing request transmitting
means of said client device collectively encrypts said processing request for said
first processing, afforded with said identification information, and the random numbers,
to transmit the encrypted processing request to said server device;
said server device further includes decoding means for decoding said encrypted
processing request to take out said random numbers and the processing request; said
completion notice transmitting means transmitting said completion notice, afforded
with said random numbers as random numbers for inspection, to the source of transmission
of said processing request;
said client device further including inspection means for checking matching between
said random numbers for inspection, conferred to said completion notice sent from
said server device, and said random numbers collected into said processing request.
7. A communication system for executing a sequence of processing operations for validating
invalidated contents by a plurality of devices interconnected over a network, comprising:
a server device including billing processing executing means which, on receipt of
a processing request for billing processing for the cost of said contents, afforded
with the identification information, executes said billing processing only once for
one item of said identification information, and completion notice transmitting means
which, on completion of said billing processing by said billing processing executing
means, or on re-receipt of said processing request for said billing processing, afforded
with the same identification information as that of the completed billing processing,
transmits a completion notice of said billing processing to the source of transmission
of said processing request; and
a client device including processing request transmission means for transmitting said
processing request for said billing processing for said contents, having said identification
information conferred thereto, to said server device, validation processing executing
means which, on receipt of said completion notice from said server device, executes
the processing of validating the invalidated contents, and re-transmitting means which,
on detection of a communication error before receipt of said completion notice for
said processing request transmitted by said processing request transmission means,
re-transmits said processing request to said server device.
8. A server device for performing concerted processing with another device connected
thereto over a network, comprising:
first processing executing means which, on receipt of a processing request for first
processing, afforded with the identification information, executes said first processing
only once for one item of said identification information, and
completion notice transmitting means which, on completion of said first processing
by said first processing executing means, or on re-receipt of said processing request
for said first processing, afforded with the same identification information as that
of the completed first processing, transmits a completion notice of said first processing
to the source of transmission of said processing request.
9. The server device as recited in claim 8 further comprising:
storage means for storing said processing request for said first processing, having
said identification information conferred thereto, on completion of said first processing;
said first processing executing means and said completion notice transmission means
verifying whether or not said first processing for said identification information
was completed in the past, depending on whether or not the received processing request
has been stored in said storage means.
10. The server device as recited in claim 9 further comprising erasing means for erasing
said processing request for said first processing, having said identification information
conferred thereto, from said storage means, on receipt of a response for completion
of second processing, correlated in advance with said first processing, after transmission
of the completion notice of said first processing.
11. The server device as recited in claim 8 further comprising identification information
transmitting means for generating the unique identification information on receipt
of a request for the identification information and for transmitting the so generated
identification information to the source of transmission of the request for the identification
information.
12. The server device as recited in claim 11 wherein said identification information transmitting
means collectively encrypts the identification information and the random numbers
delivered from the source of transmission of said identification information request
and transmits the encrypted identification information to said source of transmission.
13. The server device as recited in claim 8 further comprising decoding means which, on
receipt of the encrypted processing request comprised of the processing request for
the first processing, afforded with said identification information, and random numbers,
encrypted together, decodes said encrypted processing request to take out said random
numbers and the processing request;
said completion notice transmitting means transmitting said completion notice,
having said random numbers conferred thereto as random numbers for inspection, to
the source of transmission of said processing request.
14. A server device for surrogating billing of the cost for payable contents, comprising:
billing processing executing means which, on receipt of a processing request for billing
processing for the cost of said contents, afforded with the identification information,
executes said billing processing only once for one item of said identification information,
and
completion notice transmitting means which, on completion of said billing processing
by said billing processing executing means, or on re-receipt of said processing request
for said billing processing, afforded with the same identification information as
that of the completed billing processing, transmits a completion notice of said billing
processing to the source of transmission of said processing request.
15. A client device for performing concerted processing with a server device connected
thereto over a network, comprising:
processing request transmitting means for transmitting a processing request for first
processing, afforded with the identification information, to said server device;
second processing executing means which, on receipt of a completion notice of said
first processing from said server device, executes second processing, correlated in
advance with said first processing; and
re-transmitting means which, if a communication error has been detected before receipt
of said completion notice to said processing request transmitted by said processing
request transmitting means, re-transmits said processing request to said server device.
16. The client device as recited in claim 15 further comprising processing completion
reply transmitting means which, on completion of said second processing, transmits
a processing completion reply for said second processing to said server device.
17. The client device as recited in claim 15 further comprising identification information
request transmitting means for transmitting a request for identification information
to said server device;
said processing request transmitting means conferring the identification information,
transmitted from said server device responsive to said request for identification
information, to said processing request for said first processing.
18. The client device as recited in claim 17 further comprising inspection means which,
on receipt of the encrypted identification information, obtained on collectively encrypting
the random numbers and the identification information, from said server device, decodes
said encrypted identification information to take out said random numbers to check
for matching between the random numbers thus taken out and the random numbers previously
delivered to said server device.
19. The client device as recited in claim 15 wherein said processing request transmitting
means collectively encrypts the processing request for said first processing, having
said identification information conferred thereto, and random numbers, and transmits
the encrypted processing request to said server device; there being further provided
inspection means for inspecting matching between random numbers for inspection conferred
to said completion notice sent from said server device and the random numbers collected
to said processing request.
20. A client device for validating invalidated contents by concerted processing with the
processing by a server device, comprising:
processing request transmitting means for transmitting a processing request for billing
processing, afforded with the identification information, to said server device;
validation processing executing means which, on receipt of a completion notice of
said billing processing from said server device, validates the invalidated contents;
and
re-transmitting means which, if a communication error has been detected before receipt
of a completion notice for said processing request transmitted by said processing
request transmitting means, re-transmits said processing request to said server device.
21. A portable telephone set for validating invalidated contents by concerted processing
with the processing by a server device, comprising:
processing request transmitting means for transmitting a processing request for billing
processing, afforded with the identification information, to said server device;
validation processing executing means which, on receipt of a completion notice of
said billing processing from said server device, validates the invalidated contents;
and
re-transmitting means which, if a communication error has been detected before receipt
of a completion notice for said processing request transmitted by said processing
request transmitting means, re-transmits said processing request to said server device.
22. A communication method for performing concerted processing between a server device
and a client device interconnected over a network, comprising the steps of:
said client device transmitting a processing request for a first processing, afforded
with the identification information, to said server device;
said server device executing said first processing only once for one item of said
identification information, on receipt of said processing request, and transmitting
a completion notice of said first processing to said client device, on completion
of said first processing or on re-receipt of said processing request for said first
processing, afforded with the same identification information as that of the completed
first processing; and
said client device executing the second processing, correlated in advance with said
first processing, on receipt of said completion notice from said server device, and
re-transmitting said processing request to said server device on detection of a communication
error before receipt of said completion notice.
23. A communication method for performing a sequence of processing operations for validating
invalidated contents between a server device and a client device interconnected over
a network, comprising the steps of:
said client device transmitting a processing request for billing processing for the
cost of said contents, afforded with the identification information, to said server
device;
said server device executing said billing processing only once for one item of said
identification information, on receipt of said processing request, and transmitting
a completion notice of said billing processing to said client device, on completion
of said billing processing or on re-receipt of said processing request for said billing
processing afforded with the same identification information as that of the completed
billing processing; and
said client device validating the invalidated contents, on receipt of said completion
notice from said server device, and re-transmitting said processing request to said
server device on detection of a communication error before receipt of said completion
notice.
24. A method for providing concerted processing in a server device, adapted for performing
concerted processing with another device connected to the server device over a network,
comprising the steps of:
executing first processing, on receipt of a processing request for said first processing,
afforded with the identification information, only once for one item of said identification
information, and
transmitting a completion notice of said first processing to the source of transmission
of said processing request, on completion of said first processing, or on re-receipt
of said processing request for said first processing, afforded with the same identification
information as that of the completed first processing.
25. A billing surrogating method in a server device for surrogating the billing of the
cost of payable contents, comprising the steps of:
executing said billing processing only once for one item of the identification information,
on receipt of a processing request for billing processing for the cost of said contents,
afforded with the identification information; and
transmitting a completion notice of said billing processing to the source of transmission
of said processing request, on completion of said billing processing or on re-receipt
of said processing request for said billing processing afforded with the same identification
information as that of the completed billing processing.
26. A concerted processing method in a client device adapted for executing concerted processing
with processing by a server device connected to the client device over a network,
comprising the steps of
transmitting a processing request for said first processing, afforded with the
identification information, to said server device; and
executing second processing, correlated in advance with said first processing,
on receipt of a completion notice of said first processing from said server device,
and re-transmitting said processing request to said server device if a communication
error has been detected before receipt of said completion notice.
27. A content validating method in a client device adapted for performing the processing
of validating invalidated contents, in a concerted operation with the processing by
a server device, comprising the steps of:
transmitting a processing request for billing processing, afforded with the identification
information, to said server device, validating the invalidated contents on receipt
of the completion notice of said billing processing from said server device, and re-transmitting
said processing request to said server device on detection of a communication error
before receipt of said completion notice.
28. A program for allowing to perform a concerted processing between a first computer
and a second computer interconnected over a network, said program being such a one
in which
said first computer transmits a processing request for a first processing, afforded
with the identification information, to said second computer;
said second computer on receipt of said processing request executes said first
processing only once for one item of the identification information, said second computer
transmitting a completion notice of said first processing to said first computer on
completion of said first processing or on re-receipt of said processing request for
said first processing afforded with the same identification information as that conferred
to the completed first processing; and
on receipt of said completion notice from said second computer, said first computer
executes the second processing correlated in advance with said first processing; said
first computer re-transmitting said processing request to said second computer on
detection of a communication error before receipt of said completion notice.
29. A program for having a first computer and a second computer, interconnected over a
network, execute a sequence of processing operations for validating invalidated contents,
said program being such a one in which
said first computer transmits a processing request for billing processing for the
cost of said contents, afforded with the identification information, to said second
computer;
said second computer, on receipt of said processing request, executes said billing
processing only once for one item of the identification information, said second computer
transmitting a completion notice of said billing processing to said first computer
on completion of said billing processing or on re-receipt of said processing request
for said billing processing afforded with the same identification information as that
conferred to the completed billing processing; and
on receipt of said completion notice from said second computer, said first computer
validates invalidated contents; said first computer re-transmitting said processing
request to said second computer on detection of a communication error before receipt
of said completion notice.
30. A program for allowing to perform concerted processing by a computer with another
device connected thereto over a network, said program being such a one in which
said computer on receipt of a processing request for a first processing, afforded
with the identification information, executes said first processing only once for
one item of said identification information, and in which
said computer on completion of said first processing or on re-receipt of said processing
request for said first processing, afforded with the same identification information
as that conferred to the completed first processing, transmits a completion notice
of said first processing to the source of transmission of said processing request.
31. A program for surrogating the billing of the cost of a payable content by a computer,
said program being such a one in which
said computer on receipt of a processing request for billing processing for the
cost of said contents, afforded with the identification information, executes said
billing processing only once for one item of said identification information, and
in which
said computer on completion of said billing processing or on re-receipt of said
processing request for said billing processing, afforded with the same identification
information as that conferred to the completed billing processing, transmits a completion
notice of said billing processing to said source of transmission of said processing
request.
32. A program for allowing to perform concerted processing by a computer with a server
device connected thereto over a network, said program being such a one in which
said computer transmits to said server device a processing request for said first
processing, afforded with the identification information, and in which
on receipt of a completion notice of said first processing from said server device,
said computer executes second processing correlated in advance with said first processing,
said computer re-transmitting said processing request to said server device if a communication
error is detected before receipt of said completion notice.
33. A program for allowing to perform the processing by a computer of validating invalidated
contents in a concerted fashion with processing by a server device, said program being
such a one in which
said computer transmits a processing request for billing processing, afforded with
the identification information, to said server device; and in which
on receipt of a completion notice of said billing processing from said server device,
said computer executes the processing of validating the invalidated contents; said
computer re-transmitting said processing request to said server device if a communication
error is detected before receipt of said completion notice.
34. A computer-readable recording medium, having recorded thereon a program for allowing
to perform concerted processing between a first computer and a second computer, interconnected
over a network, said program being such a one in which
said first computer transmits a processing request for a first processing, afforded
with the identification information, to said second computer;
said second computer on receipt of said processing request executes said first
processing only once for one item of said identification information, said second
computer transmitting a completion notice of said first processing to said first computer
on completion of said first processing or on re-receipt of said processing request
for said first processing afforded with the same identification information as that
conferred to the completed first processing;
said first computer, on receipt of said completion notice from said second computer,
executing the second processing, correlated in advance with said first processing;
said first computer re-transmitting said processing request to said second computer
if a communication error is detected before receipt of said completion notice.
35. A computer-readable recording medium having recorded thereon a program for having
a first computer and a second computer execute a sequence of processing operations
for validating invalidated contents, said first and second computers being interconnected
over a network; said program being such a one in which
said first computer transmits a processing request for a billing processing for
the cost of said contents, afforded with the identification information, to said second
computer;
said second computer on receipt of said processing request executes said billing
processing only once for one item of said identification information, said second
computer transmitting a completion notice of said billing processing to said first
computer on completion of said billing processing or on re-receipt of said processing
request for said billing processing afforded with the same identification information
as that conferred to the completed billing processing;
said first computer on receipt of said completion notice from said second computer
executing the processing of validating invalidated contents; said first computer re-transmitting
said processing request to said second computer if a communication error is detected
before receipt of said completion notice.
36. A computer-readable recording medium having recorded thereon a program for allowing
to perform concerted processing by said computer with another device connected thereto
over a network, said program being such a one in which
said computer on receipt of a processing request for a first processing, afforded
with the identification information, executes said first processing only once for
one item of said identification information, and in which
said computer on completion of said first processing or on re-receipt of said processing
request for said first processing, afforded with the same identification information
as that conferred to the completed first processing, transmits a completion notice
of said first processing to the source of transmission of said processing request.
37. A computer-readable recording medium having recorded thereon a program for surrogating
the billing of the cost of a payable content by said computer, said program being
such a one in which
said computer on receipt of a processing request for billing processing for the
cost of the payable content, afforded with the identification information, executes
said billing processing only once for one item of said identification information,
and in which
said computer on completion of said billing processing or on re-receipt of said
processing request for said billing processing, afforded with the same identification
information as that conferred to the completed billing processing, transmits a completion
notice of said billing processing to the source of transmission of said processing
request.
38. A computer-readable recording medium, having recorded thereon a program for having
said computer perform concerted processing with a server device connected to said
computer over a network; said program being such a one in which
said computer transmits a processing request for a first processing, afforded with
the identification information, to said server device; and in which,
on receipt of a completion notice of said first processing from said server device,
said computer executes second processing correlated in advance with said first processing;
said computer re-transmitting said processing request to said server device if a communication
error is detected before receipt of said completion notice.
39. A computer-readable recording medium, having recorded thereon a program for having
said computer perform concerted processing of validating invalidated contents with
a server device; said program being such a one in which
said computer transmits a processing request for billing processing, afforded with
the identification information, to said server device; and in which, on receipt of
a completion notice of said billing processing from said server device, said computer
executes the processing of validating invalidated contents; said computer re-transmitting
said processing request to said server device if a communication error is detected
before receipt of said completion notice.