The present invention relates to an information processing system, an information processing apparatus, and an information processing method, and to a program and a recording medium. In particular, the present invention relates to an information processing system, an information processing apparatus, and an information processing method, and to a program and a recording medium for preventing duplicated purchase of a license required to use content.
Recently, a system has been realized that enables a plurality of users to exchange music data for free such that a user sends his/her own music data to other users and receives unowned music data from other users via the Internet.
In such a system, theoretically, if one piece of content such as music exists, all other users can share the content, and hence many users do not purchase the content. As a result, content, as a copyrighted work, does not sell, and accordingly the copyright holder of the content is not paid a royalty (license fee) that should be paid for the use of copyrighted work along with the sale of the copyrighted work.
For this reason, it is socially demanded to prevent illegal use of content without preventing the distribution of the content.
The applicant of the present invention disclosed a method for providing content and a license and a method for using content while preventing illegal use of the content by employing a license server that provides a license for the content and a client that requests the license server to issue a license for use of the content based on the license (see, for example, Japanese Unexamined Patent Application Publication No. 2002-359616).
There are many types of license according to the usage of content. For example, a license may restrict the number of playbacks or playback period of content.
Thus, if a user of a client using content purchases a license which restricts, for example, the number of playbacks of the content, the user needs to purchase a new license to play back the content after the user has played back the content the number of playbacks allowed by the license.
Hence, the user of the client may mistakenly purchase a duplicate license. For example, if the user of the client having a license L1 allowing a piece of content C to be played back a predetermined number of times misunderstands that the number of playbacks allowed by the license L1 has run out, despite the fact that the number of playbacks is in fact available, the user may purchase a new license L2 that allows the content C to be played back a predetermined number of times.
In this case, the user purchases the license L2 in addition to the license L1, although a number of playbacks allowed by the license L1 is still available, i.e., the content C can be played back as allowed by the license L1. In short, the user pays for an unnecessary license.
The present invention is based on these circumstances and prevents duplicate purchase of a license.
In an information processing system according to the present invention, one of a license server and a terminal includes duplicate-license determination means for determining whether or not a license requested by the terminal from the license server duplicates a license already held by the terminal, and the terminal includes license-duplication reporting means for reporting license duplication indicating that the license requested by the terminal from the license server duplicates a license already held by the terminal according to the determination result by the duplicate-license determination means.
A first information processing apparatus according to the present invention includes duplicate-license determination means for determining whether or not a license requested from a license server duplicates an already available license and license-duplication reporting means for reporting license duplication indicating that the license requested from the license server duplicates an already available license according to the determination result by the duplicate-license determination means.
A first method for processing information according to the present invention includes a duplicate-license determination step of determining whether or not a license requested from a license server duplicates an already available license and a license-duplication reporting step of reporting license duplication indicating that the license requested from the license server duplicates an already available license according to the determination result in the duplicate-license determination step.
A first program according to the present invention includes a duplicate-license determination step of determining whether or not a license requested from a license server duplicates an already available license and a license-duplication reporting step of reporting license duplication indicating that the license requested from the license server duplicates an already available license according to the determination result in the duplicate-license determination step.
In a first recording medium recording a program according to the present invention, the program includes a duplicate-license determination step of determining whether or not a license requested from a license server duplicates an already available license and a license-duplication reporting step of reporting license duplication indicating that the license requested from the license server duplicates an already available license according to the determination result in the duplicate-license determination step.
A second information processing apparatus according to the present invention includes determination-result receiving means for receiving from a license server a result of determination as to whether or not a license requested from the license server duplicates an already available license and license-duplication reporting means for reporting license duplication indicating that the license requested from the license server duplicates an already available license according to the result of determination as to license duplication received by the determination-result receiving means.
A second method for processing information according to the present invention includes a determination-result receiving step of receiving from a license server a result of determination as to whether or not a license requested from the license server duplicates an already available license and a license-duplication reporting step of reporting license duplication indicating that the license requested from the license server duplicates an already available license according to the result of determination as to license duplication received in the determination-result receiving step.
A second program according to the present invention includes a determination-result receiving step of receiving from a license server a result of determination as to whether or not a license requested from the license server duplicates an already available license and a license-duplication reporting step of reporting license duplication indicating that the license requested from the license server duplicates an already available license according to the result of determination as to license duplication received in the determination-result receiving step.
In a second recording medium recording a program according to the present invention, the program includes a determination-result receiving step of receiving from a license server a result of determination as to whether or not a license requested from the license server duplicates an already available license and a license-duplication reporting step of reporting license duplication indicating that the license requested from the license server duplicates an already available license according to the result of determination as to license duplication received in the determination-result receiving step.
A third information processing apparatus according to the present invention includes query means for making an inquiry about licenses already held by a terminal, duplicate-license determination means for determining whether or not a license requested by the terminal duplicates a license already held by the terminal, and determination-result sending means for sending the determination result by the duplicate-license determination means to the terminal.
A third method for processing information according to the present invention includes a query step of making an inquiry about licenses already held by a terminal, a duplicate-license determination step of determining whether or not a license requested by the terminal duplicates a license already held by the terminal, and a determination-result sending step of sending the determination result in the duplicate-license determination step to the terminal.
A third program according to the present invention includes a query step of making an inquiry about licenses already held by a terminal, a duplicate-license determination step of determining whether or not a license requested by the terminal duplicates a license already held by the terminal, and a determination-result sending step of sending the determination result in the duplicate-license determination step to the terminal.
In a third recording medium recording a program according to the present invention, the program includes a query step of making an inquiry about licenses already held by a terminal, a duplicate-license determination step of determining whether or not a license requested by the terminal duplicates a license already held by the terminal, and the determination-result sending step of sending the determination result in the duplicate-license determination step to the terminal.
In the information processing system according to the present invention, a determination is made in one of the license server and the terminal as to whether or not the license requested by the terminal from the license server duplicates a license already held by the terminal, and according to the determination result, license duplication indicating that the license requested by the terminal from the license server duplicates a license already held by the terminal is reported in the terminal.
In the first information processing apparatus, information processing method, program, and recording medium, a determination is made as to whether or not the license requested from the license server duplicates an already available license, and according to the determination result, license duplication indicating that the license requested from the license server duplicates an already available license is reported.
In the second information processing apparatus, information processing method, program, and recording medium, a result of determination as to whether or not the license requested from the license server duplicates an already available license is obtained from the license server, and according to the result of determination as to license duplication, license duplication indicating that the license requested from the license server duplicates an already available license is reported.
In the third information processing apparatus, information processing method, program, and recording medium, an inquiry is made about the licenses already held by the terminal and a determination is made as to whether or not the license requested by the terminal duplicates a license already held by the terminal. Then, the determination result is sent to the terminal.
Clients 1-1 and 1-2 (hereinafter, referred to just as a client 1 if it is not necessary to discriminate these clients individually) are connected to the Internet 2. In this example, only two clients are shown. In fact, any number of clients can be connected to the Internet 2.
Furthermore, a content server 3 providing content to the client 1, a license server 4 providing (selling) the client 1 with licenses necessary to use content provided by the content server 3, and a billing server 5 for billing the client 1 when the client 1 receives (purchases) a license are connected to the Internet 2.
Any number of these content server 3, license server 4, and billing server 5 are connected to the Internet 2.
The client 1 can be realized by a personal-computer, as well as by consumer electronic (CE) devices such as a mobile phone, a personal digital assistant (PDA) device, an audio visual (AV) device, and a household appliance. In short, any type of device that can perform communication via, for example, the Internet 2 can be used as the client 1.
A central processing unit (CPU) 21 carries out various types of processing according to a program stored in a read only memory (ROM) 22 or a program loaded from a storage section 28 into a random access memory (RAM) 23. A timer 20 performs clocking to supply the CPU 21 with time information. The RAM 23 also stores, if necessary, data required for the CPU 21 to perform various types of processing.
An encryption and decryption section 24 encrypts content data and decrypts encrypted content data. A Codec section 25 encodes content data by, for example, the adaptive transform acoustic coding (ATRAC) 3 method, and supplies the content data to a semiconductor memory 44 connected to a drive 30 through an input/output interface 32. The Codec section 25 also decodes encoded data read from the semiconductor memory 44 through the drive 30.
The semiconductor memory 44 is defined by, for example, a Memory Stick (TM).
The CPU 21, ROM 22, RAM 23, encryption and decryption section 24, and Codec section 25 are interconnected via a bus 31. The input/output interface 32 is also connected to the bus 31.
An input section 26 including, for example, a keyboard and a mouse; an output section 27 including, for example, a display such as a liquid crystal display (LCD) and a cathode ray tube (CRT) and a speaker; a storage section 28 including, for example, a hard disk; and a communication section 29 including, for example, a modem and a terminal adaptor are connected to the input/output interface 32. The communication-section 29 performs communication processing via the Internet 2. The communication section 29 also performs communication processing of an analog signal or a digital signal with other clients.
The drive 30 is connected to the input/output interface 32 as required. A magnetic disk 41, an optical disk 42, a magneto-optical disk 43, or a semiconductor memory 44 is mounted on the input/output interface 32 as required. A computer program read from these components is installed in the storage section 28 as required.
Although not shown in the figure, the content server 3, license server 4, and billing server 5 are also realized by a computer with a structure basically the same as that of the client 1 shown in
Here, the computer in
In this case, a program can be prerecorded in the ROM 22 or in the storage section 28 as a recording medium incorporated in the computer in
Alternatively, a program can be stored (recorded) temporarily or permanently in a removable recording medium such as the magnetic disk 41, optical disk 42, magneto- optical disk 43, or semiconductor memory 44 so that it can be supplied as packaged software.
In addition to the installation from the removable recording media described above in the computer in
Next, downloading performed by the client 1 which is to be provided with content from the content server 3 will now be described with reference to the flowchart in
When access to the content server 3 is specified by the user operating the input section 26, the CPU 21, in step S1, controls the communication section 29 to enable the user to access the content server 3 through the Internet 2, and proceeds to step S2. When the user, in step S2, operates the input section 26 to specify the content to be supplied, the CPU 21 receives this specification information, informs the content server 3 of the specified content from the communication section 29 through the Internet 2, and proceeds to step S3. As described below with reference to the flowchart in
Content provided by the content server 3 includes any data such as an image (moving image, static image), audio, computer graphics, computer program, text, metadata, and other additional information.
Content provision performed by the content server 3 in response to downloading by the client 1 in
The CPU 21 of the content server 3 waits until accessed by the client 1 from the Internet 2 via the communication section 29. Once the CPU 21 is accessed, it starts providing content.
More specifically, for content provision, in step S21, the CPU 21 of the content server 3 starts by acquiring (receiving) specification information indicating content from the client 1, and proceeds to step S22. This specification information is reported by the client 1 to the content server 3 in step S2 in
In step S22, the CPU 21 of the content server 3 reads from among the content data stored in the storage section 28 the content specified with the specification information acquired in the processing at step S21, and proceeds to step S23. In step S23, the CPU 21 supplies the encryption and decryption section 24 with the content data read from the storage section 28, and encrypts the content data using a predetermined content key KC.
The content data stored in the storage section 28 has been encoded by the Codec section 25 by means of the ATRAC 3 method, and thus this encoded content data is encrypted.
Of course, it is possible to store content data as pre-encrypted into the storage section 28. In this case, the processing in step S23 can be omitted.
Next, the flow proceeds from step S23 to step S24, and the CPU 21 of the content server 3 adds header information to the encrypted content data, constructs content data with header information, and proceeds to step S25. In step S25, the CPU 21 of the content server 3 sends the content data with header information constructed in step S24 to the client 1 that has accessed from the communication section 29 via the Internet 2, and ends content provision.
Header information is contained in the header section, and encrypted content is contained in the data section.
The header information includes content information, digital rights management (DRM) information, and an encryption key KK (KC).
Information such as a content ID (CID) functioning as identification information for identifying the content (data) contained in the data section and the Codec method of the content are included in the content information.
A usage status of content and a Uniform Resource Locator (URL) are contained in the digital rights management information. For example, the number of playbacks of the content and the number of copies are described as usage statuses of the content in the digital rights management information. Therefore, the number of playbacks as a usage status is, for example, 0 immediately after the content is downloaded into the client 1, and it is incremented thereafter each time the content is played back in the client 1. The URL in the digital rights management information is address information accessed to obtain a license required to use the content contained in the data section, and includes, for example, the host name of the license server 4 in
The encryption key KK (KC) is an encrypted content key KC for decrypting content contained in the data section. Hence, an encryption key KK (KC) can be decrypted to obtain a content key KC, and furthermore the content can be viewed by decrypting content contained in the data section using the content key KC.
In the content provision system in
Playback processing performed when the client 1 plays back content will now be described with reference to the flowchart in
Playback is initiated, for example, when the user operates the input section 26 to specify the content to be viewed from among the content stored in the storage section 28 as a result of downloading in
For playback, in step S41, the CPU 21 of the client 1 acquires a content ID of the content specified by the user operating the input section 26. Here, the content ID includes, for example, the title of the content and a number assigned to each piece of content. Here, the content ID must be unique.
Furthermore, in step S41, the CPU 21 searches, for example, the storage section 28 for (the data of) a license required to use the content specified by the user, and then proceeds to step S42. In other words, as described below, when the CPU 21 of the client 1 obtains (purchases) a license from the license server 4, it stores (the data of) the license in the storage section 28. Thus, in step S41, the CPU 21 searches the storage section 28 for a license required to use the content specified by the user. As described below, the license includes a content ID of the content that can be used with the license, and therefore the CPU 21, in step S41, searches the storage section 28 for a license including a content ID identical to the content ID of the content specified by the user.
Then, in step S42, the CPU 21 determines whether or not a license required to use the content specified by the user has been obtained, that is, whether or not a license required to use the content specified by the user has been detected as a result of searching in step S41. In step S42, when a determination is made that a license required to use the content specified by the user has not been obtained, that is, a license including the content ID of the content specified by the user is not stored in the storage section 28, the flow proceeds to step S43, where the CPU 21 displays on the display of the output section 27, for example, a message indicating that a license required to use the content is not available and then ends the playback processing.
As a result, in this case, the content is not played back, and accordingly the user of the client 1 cannot view the content.
On the other hand, in step S42, when a determination is made that a license has been obtained, that is, a license including the content ID of the content specified by the user is stored in the storage section 28, the flow proceeds to step S44, where the CPU 21 of the client 1 determines whether or not the license is valid.
In step S44, when a determination is made that the license stored in the storage section 28 is not valid, for example, when the license stored in the storage section 28 allows playback of the content for a limited period of time, and the current date and time indicated by the timer 20 is not within the period of time specified by the license, the flow proceeds to step S45, where the CPU 21 displays, for example, a message indicating that the license is not valid on the display of the output section 27, and ends the playback processing.
As a result, in this case also, the content is not played back, and accordingly the user of the client 1 cannot view the content.
On the other hand, in step S44, when a determination is made that the license stored in the storage section 28 is valid, the flow proceeds to step S46, where the CPU 21 reads the content specified by the user from the storage section 28, stores it in the RAM 23, and proceeds to step S47. In step S47, the CPU 21 decrypts the encryption key KK (KC) in the header section of the content stored in the RAM 23 to a content key Kc in a so-called plain text form based on the license of the content. Furthermore, in step S47, the CPU 21 supplies the encryption and decryption section 24 with the decrypted content key Kc and the content stored in the RAM 23 to decrypt the content using the content key KC.
Then, the flow proceeds from step S47 to step S48, where the CPU 21 supplies the content data decrypted by the encryption and decryption section 24 to the output section 27 via the input/output interface 32 to display the content on the display or output the content from the speaker, and ends the playback processing.
According to the playback processing in
For this purpose, the client 1 carries out license acquisition where a license is obtained (purchased) from the license server 4 according to, for example, the specification (operation) by the user.
A first embodiment for license acquisition by the client 1 will now be described with reference to the flowchart in
Here, it is presumed that the client 1 has already acquired a user ID, a client ID, and a password by pre-registration in the license server 4. The user ID is used to identify the user of the client 1. The user ID may be unique, for example, for each user or may be any name specified by the user, such as a handle name. The client ID is used to identify the client 1, and should be, for example, unique here. As a unique client ID, for example, the serial number of the apparatus as the client 1 or the media access control (MAC) address can be employed. In addition, for example, a unique string (including numeric letters and symbols) may be issued as a client ID in the license server 4. If the client 1 is a personal computer, the user ID and client ID can be stored, for example, in the registry of the personal computer.
In the license acquisition, when the user attempts to select content for which a license should be obtained from among the content stored, for example, in the storage section 28, the CPU 21 of the client 1, in step S61, obtains the URL in the header section (
As described above, the CPU 21 waits for the user to enter a user ID, a client ID, and a password, proceeds from step S62 to step S63, obtains the content ID of the content selected by the user upon the start of the license acquisition, and proceeds to step S64. In step S64, the CPU 21 obtains the user ID, client ID, and password entered by the user on the license-purchase initial screen, and proceeds to step S65. In step S65, the CPU 21 controls the communication section 29 to put the content ID acquired at step S63 and the user ID, client ID, and password acquired at step S64 into the message requesting the license selection screen for selecting a license to be purchased, and sends the message to the license server 4 via the Internet 2.
As described below, the license server 4 that has received the message requesting the license selection screen sends the license selection screen to the client 1 via the Internet 2, and then the CPU 21 of the client 1 waits for the license selection screen to be sent from the license server 4, proceeds from step S65 to step S66, and receives and displays the license selection screen.
Then, the flow proceeds from step S66 to step S67, where the CPU 21 waits for the user to select the license to be purchased on the license selection screen by operating the input section 26 and to request the purchase of the license, puts the content ID of the content to be used by purchasing the license (content ID of the content selected by the user upon the start of license acquisition) into the message requesting the purchase of the license, and sends the message to the license server 4 via the Internet 2.
Thereafter, the flow proceeds from step S67 to step S68, where the CPU 21 performs duplicate-purchase prevention to prevent the user from purchasing a duplicate license. Details of duplicate-purchase prevention in step S68 are described below.
When the license server 4 receives the message requesting the purchase of the license sent by the client 1 in step S67, the license server 4 sends the license to the client 1 via the Internet 2, unless there is, for example, a problem with the user of the client 1. Here, the CPU 21 of the client 1 proceeds from step S68 to step S69, and determines whether or not the license has been sent from the license server 4. In step S69, when a determination is made that the license has been sent, the flow proceeds to step S70, where the client 1 receives the license, supplies the license to the storage section 28 to store the license, and ends license acquisition. In this case, the license was obtained in the client 1, and therefore the content requiring the license can be used within the restrictions specified by the license.
On the other hand, in step S69, when a determination is made that the license has not been sent from the license server 4, the flow proceeds to step S71, where the CPU 21 performs error handling; more specifically, the CPU 21 displays a message indicating that, for example, a license was not obtained, and ends license acquisition. In this case, the client 1 was not able to obtain a license, and therefore the content requiring the license cannot be used.
In the client 1, it is possible to acquire a license for content from the license server 4 before the content is acquired from the content server 3.
In
Here, the license includes at least one content ID. In short, one license is given for one piece of content, one license is given for two or more pieces of content, or two or more licenses are given for one piece of content. If one license is given for one piece of content, the license contains the content ID of the corresponding one piece of content. When a plurality of licenses are given for one piece of content, that is, a plurality of licenses are required to use one piece of content, each of the licenses contains the content ID of the corresponding one piece of content. Furthermore, when one license is given for two or more pieces of content, that is, one license is sufficient to use two or more pieces of content, the one license contains the content ID for each of the corresponding two or more pieces of content.
Various restrictions on the use of content with a license are described in the usage rule. In the license shown in
The playback period/number of times item specifies the period of time for which the content can be used. (may be a period of time specified by an absolute date/time or may be a period of time relative to a reference date/time such as the date/time when the license was obtained) and the number of times the content can be used.
The playback range specifies an available portion (range) of content by, for example, time codes accompanying the content. In a license restricting the playback range to a range of time codes, only the portion of the content specified by the playback range can be used. Consequently, in this case, to use the entire content requires obtaining a plurality of licenses so that the viewable range covers the entire content. This is a case where a plurality of licenses is required to use one piece of content.
The copy restriction specifies a restriction as to copying of the content (checkout). Restrictions regarding copying include restrictions on, for example, the copy destination, a number of copies, and copy quality. The copy destination specifies a copy destination device to which copying of the content is allowed or prohibited. The number of copies specifies the number of times copying is allowed. When the copy destination has a number of copies of 0, the content cannot be copied. The copy quality specifies the quality with which content is copied. As the content quality, the quality with which content is copied by, for example, either analog output or digital output can be employed.
Here, the copy destination device includes, for example, an internal hard disk (HDD), a portable device, a portable medium, an iLink (Institute of Electrical and Electronics Engineers, i.e., IEEE 1394) device, a home network, an analog output, a digital output, and a universal serial bus (USB). An internal HDD, an analog output, and a USB are nonsecured. A portable device, a portable medium, an iLink device, a home network, and a digital output may be nonsecured or secured. As a secured portable device, for example, a net-MD (Mini Disc)(™) player is available. As a nonsecured portable device, for example, an MP3 (Moving Picture Experts Group, i.e., MPEG-1 Audio Layer 3) player is available. As a secured portable media, for example, a net-MD is available, while as a nonsecured portable medium, for example, a compact disc recordable (CD-R) is available. Furthermore, as a secured iLink device, for example, digital transmission content protection (DTCP) is available. As a digital output, for example, a digital visual interface (DVI) is available, and as a nonsecured DVI, for example, an optical audio output is available.
The playback region specifies a region such as a country where the content can be used.
The additional restrictions specify other restrictions on the use of the content. For the additional restrictions, for example, the number of viewers allowed to view the content simultaneously (e.g., only one viewer is allowed, or a predetermined number of viewers are allowed to view the content simultaneously) and the time slot during which the content can be used (e.g., the content can be used only during a certain time slot in the day) can be specified.
In the license shown in
As described above, since the usage rule can describe various restrictions on the use of content depending on licenses, various duplicates may occur among licenses.
In the first place, license duplication may occur among licenses containing the same content ID. In other words, when the content ID contained in a license differs from the content ID contained in another license, the two licenses are required to use different content, and therefore license duplication does not occur. Therefore, license duplication occurs only when two licenses contain the same content ID.
Furthermore, license duplication comes in various forms.
More specifically, license duplication is broadly classified into a case where licenses are completely duplicated and a case where licenses are partially duplicated.
Two licenses are completely duplicated when the two licenses have the same usage rules.
Two licenses are partially duplicated when the two licenses share a usage rule item or share a portion of a usage rule item.
More specifically, two licenses sharing a usage rule item are represented by an example where two licenses L1 and L2 are not duplicated completely but, for example, the item “playback period/number of times” of the usage rule for the license L1 specifies the period of time for which the content can be played back as “lone year from Jan. 1, 2003”, while the item “playback period/number of times” of the usage rule for the license L2 also specifies the period of time for which the content can be played back as “one year from Jan. 1, 2003”.
Two licenses sharing a portion of a usage rule item are represented by an example where two licenses L1 and L2 are not duplicated completely but, for example, the item “playback period/number of times” of the usage rule for the license L1 specifies the period of time for which the content can be played back as “one year from Jan. 1, 2003”, while the item “playback period/number of times” of the usage rule for the license L2 specifies the period of time for which the content can be played back as “one year from Jul. 1, 2003”. In this case, the licenses L1 and L2 are duplicated in that they both allow the content to be played back for the period of time from Jul. 1, 2003 to Dec. 31, 2003.
Furthermore, a case where, for example, the region in which the content can be played back is specified as “Japan” in the item “playback region” of the usage rule for the license L1 and the region in which the content can be played back is specified as “Asia” in the item “playback region” of the usage rule for the license L2 is also regarded as the licenses L1 and L2 being duplicated as to a portion of a usage rule item. More specifically, in this case, the licenses L1 and L2 are duplicated in that they both allow the content to be played back in the region of Japan. In this case, however, the period of time for which the content is played back is presumed to be free from restriction for convenience of explanation.
When license acquisition described with reference to
Duplicate-purchase prevention carried out at step S68 in
In duplicate-purchase prevention in
More specifically, when the client 1 purchases a license, as described above, in step S67 in
Thereafter, the flow proceeds from step S81 to step S82, where the client 1 determines whether or not there is a license which duplicates the license with the license ID contained in the license-ID query request message according to the license-ID query request message.
In short, when the client 1 purchases a license, as described above, in step S70 in
Here, as described above, the license ID includes a content ID of the content used with the license and a usage rule functioning as restrictions on the use of the content. Therefore, a determination as to whether or not there is a license which duplicates the license with the license I-D contained in the license-ID query request message is made as follows. That is, a search is made from among the licenses stored in the storage section 28 for a license having the license ID including the content ID identical to the content ID constituting the license ID contained in the license-ID query request message, and if such a license is found, the usage rule of the found license is compared with the usage rule constituting the license ID contained in the license-ID query request message.
In step S82, if a determination is made that there is a license which duplicates the license with the license ID contained in the license-ID query request message, that is, if a license which duplicates the license with the license ID contained in the license-ID query request message is stored in the storage section 28, the flow proceeds to step S83, where the client 1 sends a message indicating that the license to be purchased duplicates a license already available (hereinafter, referred to as a duplicated message as required) to the license server 4 via the Internet 2, and the flow proceeds to step S85.
Also, in step S82, if a determination is made that there is not a license which duplicates the license with the license ID contained in the license-ID query request message, that is, if a license which duplicates the license with the license ID contained in the license-ID query request message is not stored in the storage section 28, the flow proceeds to step S84, where the client 1 sends a message indicating that the license to be purchased does not duplicate a license already available (hereinafter, referred to as a non-duplicated message as required) to the license server 4 via the Internet 2, and the flow proceeds to step S85.
In step S85, the client 1 waits for a purchase response message to be sent from the license server 4 via the Internet 2, receives the purchase response message, and then proceeds to step S86.
Here, as described below, when the license server 4 receives from the client 1 a license-purchase request message, it returns a purchase response message, as a response to the license-purchase request message, indicating refusal or permission to sell the license to the client 1 that has sent the license-purchase request message. In step S85, the purchase response message sent from the license server 4 in this manner is received.
In step S86, the client 1 determines whether or not the purchase response message received in step S85 indicates refusal to sell the license. In step S86, if a determination is made that the purchase response message does not indicate refusal to sell the license, that is, if the purchase response message indicates permission to sell the license, the flow skips step S87 and step S88 to step S89, where the client 1 sends a license-purchase confirmation message confirming the purchase of the license requested with the license-purchase request message in step S67 in
The license server 4 that has received the license-purchase confirmation message sends the license requested by the client 1 with the license-purchase request message in step S67 in
On the other hand, in step S86, if a determination is made that the purchase response message from the license server 4 received by the client 1 in step S85 indicates refusal to sell the license, the flow proceeds to step S87, where the client 1 displays a duplication message indicating that the license to be purchased duplicates a license already available on the display of the output section 27 (
More specifically, as described above, if the client 1 holds a license which duplicates the license having the license ID contained in the license-ID query request message, the client 1, in step S83, sends a duplicated message to the license server 4, and if the client 1 does not hold a license which duplicates the license having the license ID contained in the license-ID query request message, the client 1, in step S84, sends a non-duplicated message to the license server 4. Then, if the license server 4, as described below, receives a duplicated message from the client 1, the license server 4 sends a purchase response message indicating refusal to sell the license to the client 1, and if the license server 4 receives a non-duplicated message from the client 1, it sends a purchase response message indicating permission to sell the license to the client 1.
Therefore, if the purchase response message indicates refusal to sell the license, it means that the license to be purchased by the client 1 duplicates a license already available, and therefore the client 1, in step S87, displays a duplication message indicating that the license is duplicated, and thereby, informs the user of the client 1 that he or she is attempting to purchase a duplicate license.
After the client 1 displays a duplication message in step S87, the flow proceeds to step S88, where a determination is made as to whether or not the user has performed an operation to purchase the license requested with the license-purchase request message (hereinafter, referred to as a purchase operation as required).
In step S88, if a determination is made that the purchase operation has not been performed, that is, in step S87, if the user informed that he or she is attempting to purchase a duplicate license cancels the purchase of the license requested with the license-purchase request message, duplicate-purchase prevention in
Therefore, in this case, the purchase of the license requested first by the user with the license-purchase request message is not performed, and therefore the user is prevented from purchasing a duplicate license.
On the other hand, in step S88, when a determination is made that the purchase operation has been performed, that is, in step s87, despite the fact that the user was informed of his/her attempt to purchase a duplicate license, the user has performed the purchase operation to purchase a duplicate license, and thereby it is confirmed that the user wishes to purchase a duplicate license, the flow proceeds to step S89, where, as described above, the client 1 sends a license- purchase confirmation message confirming the purchase of the license requested with the license-purchase request message to the license server 4 via the Internet 2, and returns.
In this case, the license server 4 that has received the license-purchase confirmation message sends the license requested by the client 1 with the license-purchase request message as described below, and the client 1 receives the license in step S70 in
The license list which lists licenses is stored in the storage section 28 of the client 1, and the licenses purchased in the client 1 are registered in the license list.
In step S82 of
More specifically, if a license having the license ID including the content ID identical to the content ID constituting the license ID contained in the license-ID query request message could not be found from among the license list, the client 1 is determined not to hold a duplicate license. In addition, even if a license having the license ID including the content ID identical to the content ID constituting the license ID contained in the license-ID query request message is found from among the license list, if the usage rule of the found license and the usage rule constituting the license ID contained in the license-ID query request message do not share any item or any portion of an item, the client 1 is determined not to hold a duplicate license.
On the other hand, if a license having the license ID including the content ID identical to the content ID constituting the license ID contained in the license-ID query request message is found from among the license list and if the usage rule of the found license and the usage rule constituting the license ID contained in the license-ID query request message share any item or any portion of an item, the client 1 is determined to hold a duplicate license.
On the license selection screen, for example, the title of the content is displayed as information representing the content that can be used by a license, as shown in
Here, on the license selection screen in
Here, although three types of licenses A to C are presumed to exist for certain content, the number of types of license for one piece of content is not limited to three, but may be one or two, or four or more.
In the client 1, in step S66 in
Thereafter, in the client 1, duplicate-purchase prevention is performed in step S68 in
A purchase continue button 53 and a purchase cancel button 54 are provided on the dialog 52. When the user operates the purchase continue button 53, a determination is made that the purchase operation has been performed in step S88 in
License granting carried out by the license server 4 in response to the license acquisition in
The CPU 21 of the license server 4 waits until accessed by the client 1 in step S101. When the CPU 21 is accessed, it proceeds to step S102, sends the license-purchase initial screen to the client 1 that has made an access, and receives (acquires), via the communication section 29, a message requesting the license selection screen (hereinafter, referred to as a license-selection-screen request message as required), the message containing the user ID, client ID, password, and content ID sent by the client 1 in step S65 of
Then, the CPU 21 of the license server 4 proceeds from step S102 to step S103, accesses the billing server 5 from the communication section 29, requests credit-checking of the user corresponding to the user ID, client ID, and password received in step S102, and proceeds to step S104. Here, when the billing server 5 receives a request by the license server 4 for credit-checking via the Internet 2, it checks the history of payment by the user corresponding to the user ID, client ID, and password as to whether or not the user has a history of unpaid license fees. If the user does not have such a history, the billing server 5 sends a credit-checking result allowing license granting. If the user has such a history, the billing server 5 sends a credit-checking result denying license granting.
In step S104, the CPU 21 of the license server 4 determines whether or not the credit-checking result from the billing server 5 is to allow license granting. When license granting is allowed, the CPU 21 proceeds to step S105 to construct a license selection screen (
As described above, the client 1 that has received the license selection screen sends a license-purchase request message requesting the purchase of the license selected by the user in step S67 of
In step S107, the CPU 21 of the license server 4 performs duplicate-sale prevention for preventing the sale of a duplicate license in response to the client 1 performing duplicate-purchase prevention in step S68 of
After the processing in step S107 has been completed, the flow proceeds to step S108, where the CPU 21 of the license server 4 selects, from among the licenses stored in the storage section 28, a license requested with the license-purchase request message received in step S106, and proceeds to step S109.
More specifically, (data of) the licenses for the content provided by the content server 3 are stored in the storage section 28 in the license server 4, and the license server 4, in step S108, selects from among the licenses stored in the storage section 28 the license requested with the license-purchase request message sent from the client 1, and proceeds to step S109.
In step S109, the CPU 21 of the license server 4 sends the license (
In step S110, the CPU 21 of the license server 4 associates the license ID of the license sent in step S109 with the user ID, client ID, and password contained in the license-selection-screen request message received in step S102, and supplies the data to the storage section 28 to store it. Thus, in the storage section 28, the user ID, client ID, and password identifying the user who has purchased the license are associated with the license ID identifying the license purchased by the user.
Thereafter, the flow proceeds from step S110 to step S111, where the CPU 21 of the license server 4 carries out billing and quits license granting.
Here in step S111, the CPU 21 of the license server 4 requests, from the communication section 29, the billing server 5 to bill the user corresponding to the user ID, client ID, and password contained in the license-selection-screen request message sent from the client 1. In this case, the billing server 5 bills the user according to the billing request from the license server 4. As described above, if the user does not pay in response to this billing, for example, the user will not be able to receive license granting despite requesting a license.
In other words, in this case, a credit-checking result denying license granting is sent from the billing server 5 to the license server 4 and the flow proceeds from step S104 to step S112, where the CPU 21 carries out error handling. More specifically, the CPU 21 of the license server 4 outputs a message indicating that a license cannot be granted to the client 1 that has accessed by controlling the communication section 29, and quits license granting.
In this case, as described above, the client 1 is not capable of obtaining a license, and therefore cannot use (decrypt) the content.
Duplicate-sale prevention carried out by the license server 4 in step S107 of
In duplicate-sale prevention, the license server 4, first of all in step S121, searches for the license ID of the license requested with the license-purchase request message sent by the client 1 in step S67 of
In step S122, the license server 4 sends to the client 1 via the Internet 2 a license-ID query request message requesting the query of the license ID found in step S121, and proceeds to step S123.
In step S123, the license server 4 waits for the client 1 to send a duplicated message or a non-duplicated message in step S83 or step S84 of
In step S124, the license server 4 sends a purchase response message for permitting or refusing the sale of the license according to the duplicated/non-duplicated message received in step S123. More specifically, if the duplicated/non-duplicated message received in step S123 is a duplicated message, the license server 4 sends a purchase response message indicating refusal to sell the license. On the other hand, if the duplicated/non-duplicated message received in step S123 is a non-duplicated message, the license server 4 sends a purchase response message indicating permission to sell the license.
After the purchase response message has been sent in step S124, the flow proceeds to step S125, where the license server 4 determines whether or not a license-purchase confirmation message has been sent from the client 1.
In step S125, when a determination is made that the license-purchase confirmation message has not been sent from the client 1, the license server 4 quits duplicate-sale prevention in
Therefore, in this case, the license requested by the client 1 is not sold by the license server 4 to the client 1.
On the other hand, in step S125, when a determination is made that the license-purchase confirmation message has been sent from the client 1, the license server 4 returns to step S108 in
Thus, in this case, the license requested by the client 1 is sold by the license server 4 to the client 1.
As described above, a determination is made in the client 1 as to whether or not the license requested from the license server 4 duplicates a license already available in the client 1, and, according to the determination result, the user of the client 1 is informed that a license requested from the license server 4 duplicates a license already available in the client 1. Thus, the user of the client 1 is prevented from purchasing a duplicate license.
A second embodiment for the client 1 to carry out license acquisition will now be described with reference to the flowchart in
In the license acquisition in
From step S161 to step S166 in license acquisition of
More specifically, in license acquisition in
Thereafter, the client 1 waits for the user to enter a user ID, a client ID, and a password on the license-purchase initial screen, proceeds from step S162 to step S163, acquires the content ID of the content that was selected by the user when license acquisition was started, and proceeds to step S164. In step S164, the client 1 acquires the user ID, client ID, and password entered by the user on the license-purchase initial screen, and proceeds to step S165. In step S165, the client 1 puts into the license-selection-screen request message the content ID obtained in step S163 and the user ID, client ID, and password that were obtained in step S164, and then sends the message to the license server 4 via the Internet 2. Thereafter, the client 1 waits for the license selection screen to be sent from the license server 4, proceeds from step S165 to step S166, receives and displays the license selection screen, and proceeds to step S167.
In step S167, the client 1 carries out duplicate-purchase prevention for preventing the user from purchasing a duplicate license. When the client 1 returns from the duplicate-purchase prevention, it proceeds to step S168. Details of duplicate-purchase prevention in step S167 will be described later.
Then, in step S168, the client 1 waits for the user to select the license to be purchased on the license selection screen by operating the input section 26 and to request the purchase of the license, puts the content ID of the content to be used based on the license to be purchased (the content ID of the content selected by the user when license acquisition was started) into the license-purchase request message requesting the purchase of the license, and sends the message to the license server 4 via the Internet 2.
When the license server 4 receives the license-purchase request message sent by the client 1 in step S168, it starts a transaction for selling the license, and sends the license to the client 1 via the Internet 2 if, for example, there is no problem with the user of the client 1. Then, the client 1 proceeds from step S168 to step S169, and thereinafter in step S169 to S171, the same processing as in step S69 to step S71 of
More specifically, in step S169, the client 1 determines whether or not the license has been sent from the license server 4, and when a determination is made that the license has been sent, the flow proceeds to step S170, where the client 1 receives the license, supplies the license to the storage section 28 to store it, and quits license acquisition. In this case, the license has been obtained in the client 1, and therefore the content requiring the license can be used within the restrictions specified by the license.
On the other hand, when a determination is made that a license has not been sent from the license server 4 in step S169, the flow proceeds to step S71, where the client 1 carries out error handling in the same manner as in step S71 in
Duplicate-purchase prevention carried out in step S167 of
In duplicate-purchase prevention in
More specifically, the client 1, as described above, in step S165 in
Here, there may be two or more licenses required to use content with a certain content ID. In this case, the license server 4 sends to the client 1 a license-ID query request message requesting the query of the license ID of each of the licenses.
Thereafter, the flow proceeds from step S181 to step S182, where the client 1, as in step S82 in
As described above, the license-ID query request message sent to the client 1 from the license server 4 may request the query of a plurality of license IDs. In this case, in step S182, a determination is made as to whether or not the client 1 holds a license which duplicates the license with each of the license IDs.
In step S182, when a determination is made that there is no license which duplicates the license with the license ID contained in the license-ID query request message, the flow skips steps S183 and step S184 and returns to step S168 of
In this case, processing in and after step S168 of
On the other hand, in step S182, when a determination is made that there is a license which duplicates the license with the license ID contained in the license-ID query request message, the flow proceeds to step S183, where the client 1, as in step S87 of
In step S184, the client 1 determines whether or not the user has performed the purchase operation to purchase the license.
In step S184, when a determination is made that the purchase operation has not been performed, that is, the user informed that he or she is attempting to purchase a duplicate license cancels the purchase of the license in step S183, duplicate-purchase prevention in
As a result, in this case, a license is not purchased, and therefore the user is prevented from purchasing a duplicate license.
On the other hand, when a determination is made in step S184 that-the purchase operation has been performed, that is, the user has performed the purchase operation to express his/her wish to purchase a duplicate license although the user was informed in step S183 that he or she was attempting to purchase a duplicate license, the flow returns to step S168 in
In this case, processing in and after step S168 of
License granting carried out by the license server 4 in response to license acquisition in
In the license server 4, the same processing as in step S101 to step S105 of
More specifically, the license server 4 waits until accessed by the client 1 in step S201. When the license server 4 is accessed, it proceeds to step S202, sends the license-purchase initial screen to the client 1 that has made an access, and receives a license-selection-screen request message containing the user ID, client ID, password, and content ID sent by the client 1 in step S165 of
Then, the license server 4 proceeds from step S202 to step S203, accesses the billing server 5, requests credit-checking of the user corresponding to the user ID, client ID, and password, and proceeds to step S204.
In step S204, the license server 4 waits for the credit-checking result to be sent from the billing server 5, receives the credit-checking result, and determines whether or not the credit-checking result is to allow license granting. When a determination is made in step S204, from the credit-checking result, that license granting should not be permitted, the flow proceeds to step S213, where error handling is carried out as in step S112 of
On the other hand, in step S204, when a determination is made, from the credit-checking result, that license granting should be permitted, the flow proceeds to step S205, where the license server 4 waits for the client 1 to send the license-selection-screen request message in step S165 of
Thereafter, the flow proceeds to step S206, where the license server 4 carries out duplicate-sale prevention in response to the duplicate-purchase prevention carried out by the client 1 in step S167 of
In step S207, the license server 4 determines whether or not the license-purchase request message sent by the client 1 in step S168 of
Also in step S207, when a determination is made that a license-purchase request message has been sent from the client 1, the flow proceeds to step S208, where the license server 4 receives the license-purchase request message, and proceeds to step S209.
In steps S209 to S212, the same processing as in step S108 to step S111 of
More specifically, in step S209, the license server 4 selects, from among the licenses stored in the storage section 28, the license requested with the license-purchase request message received in step S208, and proceeds to step S210. In step S210, the license server 4 sends to the client 1 the license selected from among the licenses stored in the storage section 28, and proceeds to step S211. In step S211, the license server 4 associates the license ID of the license sent in step S210 with the user ID, client ID, and password contained in the license-selection-screen request message received in step S202, supplies the data to the storage section 28 to store it, and proceeds to step S212. In step S212, the license server 4 carries out billing and ends license granting.
Duplicate-sale prevention carried out by the license server 4 in step S206 of
In duplicate-sale prevention, first of all in step S231, the license server 4 searches for the license ID of the license required to use the content with the content ID contained in the license-selection-screen request message received from the client 1 in step S202 of
In step S232, the license server 4 sends to the client 1 the license-ID query request message requesting the query of the license ID searched for in step S231, and returns.
As described above with reference to FIGS. 14 to 17, the user of the client 1 is also prevented from purchasing a duplicate license by performing duplicate-purchase prevention and duplicate-sale prevention before a transaction for sales and purchase of the license is started in each of the client 1 and the license server 4.
In the case described above, a determination is made in the client 1 as to whether or not the license requested by the client 1 from the license server 4 duplicates a license already held by the client 1. It is also possible that the license server 4 determines whether or not the license requested by the client 1 from the license server 4 duplicates a license already held by the client 1 and that the client 1 is informed of the fact that the license requested by the client 1 from the license server 4 duplicates a license already held by the client 1 according to the determination result by the license server 4.
In license acquisition in
Duplicate-purchase prevention in step S268 of
In step S281 as the first step of duplicate-purchase prevention in
More specifically, in this embodiment, when the license server 4 receives a license-purchase request message from the client 1, a determination is made as to whether or not the license to be purchased by the user of the client 1 duplicates a license already held by the client 1, and a purchase response message indicating permission or refusal to sell the license is returned to the client 1 as a response to the license-purchase request message according to the determination result, as described later in the duplicate-sale prevention carried out in step S307 of
The client 1 receives the purchase response message in step S281, proceeds to step S282, and determines whether or not the purchase response message indicates refusal to sell the license. When a determination is made in step S282 that the purchase response message does not indicate refusal to sell the license, that is, when the purchase response message indicates permission to sell the license, the flow skips steps S283 and S284 to step S285, where the client 1, in step S267 of
The license server 4 that has received the license-purchase confirmation message sends, as described below, the license requested by the client 1 with the license-purchase request message in step S267 of
On the other hand, when a determination is made in step S282 that the purchase response message from the license server 4 received by the client 1 in step S281 indicates refusal to sell the license, the flow proceeds to step S283, where the client 1 displays on the display of the output section 27 (
More specifically, the license server 4, as described below, determines whether or not the license requested by the client 1 with the license-purchase request message duplicates a license already held by the client 1. In the case where the license is duplicated, the license server 4 sends to the client 1 a purchase response message indicating refusal to sell the license. In the case where the license is not duplicated, the license server 4 sends to the client 1 a purchase response message indicating permission to sell the license.
Therefore, if the purchase response message indicates refusal to sell the license, it means that the license to be purchased by the client 1 duplicates a license already available, and therefore the client 1, in step S283, displays a duplication message indicating that the license is duplicated in the same manner as in step S87 of
The client 1 displays a duplication message in step S283, proceeds to step S284, and determines whether or not the user has performed the purchase operation to purchase the license requested with the license-purchase request message.
When a determination is made in step S284 that the purchase operation has not been performed, that is, when the user informed of his/her attempt to purchase a duplicate license in step S283 cancels the purchase of the license requested with the license-purchase request message, duplicate-purchase prevention in
In this case, therefore, the purchase of the license requested first by the user with the license-purchase request message is not performed, and hence the user is prevented from purchasing a duplicate license.
On the other hand, when a determination is made in step S284 that the purchase operation has been performed, that is, despite the fact that the user was informed of his/her attempt to purchase a duplicate license in step S283, the user performed the purchase operation to express his/her wish to purchase a duplicate license, the flow proceeds to step S285, where, as described above, the client 1 sends a license-purchase confirmation message confirming the purchase of the license requested with the license-purchase request message to the license server 4 via the Internet 2, and returns to step S269 of
In this case, as described above, the license server 4 that has received the license-purchase confirmation message sends the license requested by the client 1 with the license-purchase request message, and the client 1 receives the license in step S270 in
License granting carried out by the license server 4 in response to the license acquisition in
In license granting in
More specifically, in step S307 of
For this purpose, in this case, the license server 4 needs a list of the licenses purchased by the client 1 in order to determine whether or not the license the client 1 has requested to purchase duplicates a license already held by the client 1.
In step S310 of
In
Thus, the license IDs of the licenses purchased so far by the user of the client 1 identified by the user ID, client ID, and password are registered in the user management table. Hence, by referring to the user management table in the license server 4, it is possible to determine whether or not the license the client 1 has requested to purchase duplicates a license already held (purchased) by the client 1.
Duplicate-sale prevention carried out in step S307 of
The license server 4, in step S331 as the first step, obtains the license ID of the license requested with the license-purchase request message from the client 1, and proceeds to step S332. In step S332, the license server 4 makes an inquiry about the license IDs of the licenses purchased so far by the user of the client 1. More specifically, in step S332, the license server 4 searches the user management table shown in
Thereafter, the flow proceeds from step S332 to step S333, where the license server 4 determines whether or not the license with the license ID obtained in step S331 duplicates the license with the license ID obtained in step S332, that is, whether or not the license requested with the license request message from the client 1 duplicates a license purchased so far by the user of the client 1. The determination in step S333 can be made in the same manner as in step S82 of
When a determination is made in step S333 that the license requested with the license request message from the client 1 does not duplicate a license purchased so far by the user of the client 1, the flow proceeds to step S334, where the license server 4 sends a purchase response message indicating permission to sell the license to the client 1, and then proceeds to step S336.
When a determination is made in step S333 that the license requested with the license request message from the client 1 duplicates a license purchased so far by the user of the client 1, the flow proceeds to step S335, where the license server 4 sends a purchase response message indicating refusal to sell the license to the client 1, and then proceeds to step S336.
In step S336, the license server 4 determines whether or not a license-purchase confirmation message has been sent from the client 1.
In step S336, when a determination is made that a license-purchase confirmation message has not been sent from the client 1, the license server 4 ends the duplicate-sale prevention in
Therefore, in this case, the license requested by the client 1 is not sold from the license server 4 to the client 1.
On the other hand, in step S336, when a determination is made that a license-purchase confirmation message has been sent from the client 1, the license server 4 returns to the step S308 in
Thus, in this case, the license requested by the client 1 is sold by the license server 4 to the client 1.
As described above, a determination is made in the license server 4 as to whether or not the license requested by the client 1 duplicates a license already held by the client 1, and, according to the determination result, the user of the client 1 is informed that the license requested by the client 1 duplicates a license already held by the client 1. Thus, the user of the client 1 is prevented from purchasing a duplicate license.
In the case described above, the user management table shown in
In the content provision system in
Also in this case, the user is prevented from purchasing a duplicate license.
In this embodiment, if the license the user is attempting to purchase duplicates an already purchased license, a message indicating that the license is duplicated is displayed. In this case, a message indicating, for example, what types of duplication (for example, the period of time for which the content can be played back) exist can also be displayed.
In the present invention, the steps of programs for making the CPU 21 perform various types of processing may or may not be followed time-sequentially in order of the steps described in the flowcharts. Instead, the steps may be followed in parallel or independently from one another (including, for example, parallel processing or processing based on objects).
In addition, the program may be processed by a single apparatus or may be subjected to distributed processing by a plurality of apparatuses. Furthermore, the program may be transferred to an apparatus located far away and executed in the apparatus.
Industrial Applicability
As described so far, according to the present invention, the purchase of a duplicate license can be prevented.
Number | Date | Country | Kind |
---|---|---|---|
2003-21285 | Jan 2003 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP03/15759 | 12/10/2003 | WO |