Yoko MURAKAMI <yoko@sfc.wide.ad.jp>
Keiko OKAWA <keiko@sfc.wide.ad.jp>
Jun MURAI <jun@wide.ad.jp>
Keio University
Japan
This paper proposes an architecture of a copyright information management system on the Internet. The system consists of a new protocol and a description language to describe copyright information for a copyrighted object on the Internet. This system enables an author of an object to attach copyright information to the object and make it properly referred whenever it is accessed. In addition, the system provides a mechanism to process the terms by interpreting the described language; the mechanism is included in the copyright information on the client side.
This system is proposed for the achievement of an effective mechanism to handle the copyright issues on the Internet to satisfy the major portion of the issues that have been globally discussed.
Design, implementation, and evaluation of the prototype system are described.
In this section, we describe the overview of copyright information management architecture. Design details of each component are discussed in the following sections.
The goal of this architecture is to provide an environment where
We propose the following two components to archive the new architecture:
In order to evaluate the above description language and protocol, we implemented a prototype composed of
We evaluate this description language, protocol, and whole architecture of copyright information management by using this prototype on the "School of Internet" system [1], which is an experimental project to provide a higher education environment on the Internet.
In this section, we design description language, protocol, and the prototype implementation of our new architecture. First, we define the elements that appear in this design. Second, we define the generic requirements to achieve the goals listed in section 1.1. After this, we discuss the design details of language, protocol, and prototype.
Elements that appear in this design are objects, copyright holders, copyright information, and users.
Requirements to achieve the goal listed in section 1.1 are the following:
In order to attach copyright information to every object on the Internet, anyone has to be able to create copyright information. This copyright information should be translated into various languages because it is accessed from all over the world. It is also necessary that programs can understand this information and provide appropriate access control.
According to these requirements, we propose CIDL to keep copyright information not in natural language but in abstracted form so that programs can interpret it.
In order to attach copyright information to countless objects on the Internet, copyright information should be widely distributed and managed in a scalable manner. Therefore, copyright information should be managed and operated by the organization that provides access service to the objects.
In this paper, we call the server managing copyright information copyright information server. This server returns responses when it accepts access via the Internet. We propose Copyright Information Transfer Protocol (CITP)as the interface of this copyright information server. It includes a protocol to identify copyright information servers corresponding to the objects.
Figure 1. Architecture
In this section, the process to achieve mechanism of registration and reference is described. See figure 1.
Given the URI of the object, the location of copyright information corresponding to the object can be identified by CTP. Details are described in the following section. Copyright information can be obtained from the identified server also by CTP.
This function could be implemented on both object servers (a server distributing objects, such as hypertext transfer protocol [HTTP] server, file transfer protocol [FTP] server) and object clients such as Web browsers. It depends on where copyright information should be interpreted and which level of access control should be implemented.
In this section, we describe a design of CIDL. In this paper, we assume that the copyright information is to be described in accordance with the representative international consensus about copyright from the Berne Convention, Universal Copyright Convention, and World Intellectual Property Organization Copyright Treaty. Objects on the Internet are shared over countries, and we cannot describe copyright information in accordance with law established in one particular country.
Requirements for this description language are as follows: Anyone can create copyright information easily; copyright information can be translated into various languages; and programs can interpret the copyright information.
We define basic functions of description language as the following.
All copyright information is described as a set of lines composed of item names and values combined with "=". US-ASCII characters except special characters for control can be used in the item names and CR, LF, or CRLF must be used at the end of lines. Values are in ISO-2022.
Items are a set of keywords describing copyright information. In this paper, we define the items in accordance with international conventions, but it is possible to change and add items when global consensus is established. In order to control this change, version information of this description language must be included in every copyright information.
The following is a list of these items.
Category | Items | Explanation |
---|---|---|
version information | version | version information of description language |
authors & copyright holders | author | author's name |
author_e-mail | author's e-mail | |
copyright_holder | copyright holder's name | |
copyright_holder_e-mail | copyright holder's e-mail | |
registrant | registrant's name | |
registrant_e-mail | registrant's e-mail | |
other_author | name of author whose work is utilized in this work | |
other_author_e-mail | e-mail of author whose work is utilized in this work | |
year | year | year of making works |
form of works | form | form of works |
status of copyright | copyright_status | status of copyright |
terms of authorizing | authorizing to print works | |
download | authorizing to download works | |
copy | authorizing to make a copy of works | |
translate | authorizing to translate works | |
perform | authorizing to perform works except works of music | |
perform_music | authorizing to perform works of music | |
broadcast | authorizing to broadcast works | |
recite | authorizing to recite works to the public | |
adapt | authorizing to adapt works except works of music | |
adapt_music | authorizing to adapt works of music | |
dis_compile | authorizing to discompile works of program | |
cinmatographic | authorizing to change works to cinematographic | |
communicate | authorizing to communicate to the public | |
distribute | authorizing to distribute works | |
rental | authorizing to rent works | |
moral right | prejudicial_use | way to object to distortion, mutilation, or other modification prejudicial to author's honor or reputation. |
authorship | way to claim authorship | |
way of notification | notification | way to notify the copyright information |
conditions of consent | term | term of authorization to use |
royalty | royalty for authorization | |
pay | way to pay royalty | |
guarantee | guarantee | terms of guarantee |
legal proceedings | law | law applied in case of dispute |
court | court having jurisdiction of dispute |
Values are number or text. By specifying predefined numbers of text to the items above, terms can be clearly defined, including the preferred copyright information notification method.
In this section, we describe design of CITP.
Requirements for this protocol are twofold: Copyright information should be widely distributed and managed scalably, and all copyright information on the Internet should be referred to in the same way.
The basic functions to achieve the requirements above are the following:
In this section, we describe CITP. All the transactions to the copyright information server are defined in this protocol. This protocol provides a connection of streaming type. We assign TCP (transmission control protocol) Port 8150 for this protocol.
This protocol requires an authentication process defined in simple authentication and security layer (SASL) [2]. All the communication between server and client are encrypted using TLS [3].
Commands and status responses
This protocol uses command and status responses. They are composed of characters from the ASCII character set.
Commands consist of a command word, which in some cases may be followed by a subcommand word and parameter. The following is a list of commands and their functions.
HELLO | Command to check that a connected server is copyright information server or not. |
VERSION | Command to check the version of copyright information server. |
REGISTER | Command to register the copyright information. This has six subcommands of reg, get, ver, stat, mod, and del. |
RETRIEVE | Command to retrieve the copyright information. |
SERVER | Command to get a list of object servers that are supported by copyright information server. |
Status responses indicate the response to the last command received from the client. Status response lines begin with a three-digit numeric code. The first digit of the response broadly indicates the success, failure, or progress of the previous command. They are described as follows.
1xx | Informative message |
2xx | Command ok |
3xx | Command was correct, but couldn't be performed for some reason. |
4xx | Command unimplemented or incorrect, or a serious program error occurred. |
The next digit in the code indicates the function. See table 4.
x0x | Connection, version, and miscellaneous messages |
x1x | Registration of copyright information |
x2x | Reference of copyright information |
x3x | Check of list of object servers |
x8x | Private implementation |
x9x | Debugging output |
In this section, we describe the design and implementation of the prototype systems of CIDL and CTP, consisting of the following:
Copyright information builder -- an assistant system to write copyright information in CIDL.
Copyright information server -- a server to communicate with CTP
Object server -- a server to interpret the copyright information of the object and perform the appropriate access control
Copyright information builder is a system to assist copyright holders to create copyright information in CIDL. This system makes it possible for anyone, even if he or she has no legal expertise, to create copyright information easily and consistently.
In this prototype, copyright information builder is implemented as a CGI (common gateway interface) program. A copyright holder goes through a sequence of questionnaires on the Web page to specify how to handle the object. At the end, all the answers are converted to copyright information in CIDL and returned to the copyright holder in text format that the holder can download for their future use.
Copyright information server sends and receives data using CITP and provide clients access to the copyright information database. In this database, all the versions of copyright information of the object in the past are stored as well as its attribute information such as date, URI, copyright holder's e-mail address, and status of registered copyright information.
This server implements the full functionality of the copyright transfer protocol except security and authentication. In this prototype, HTTPS (hypertext transfer protocol secure) is used together with this server to complement those missing parts.
On registration part, this server authenticates client with certificate and signature and encrypts communication channel. After receiving URI and copyright information, it sends URI to object server and receives an e-mail address of the copyright holder of the object. If this e-mail matches the e-mail shown in client's certificate, this server register copyright information to the copyright information database.
On retrieval part, this server receives URI from a requester such as a user or an object server, and returns its copyright information.
The copyright information server can serve the copyright information for either only one object server or a group of object servers depending on the management policy. In this prototype, one copyright server covers some object servers.
There are two kinds of models to utilize the copyright information depending on where to implement the interpretation component of the copyright information. One is to implement it in the object server side such as HTTPD (hypertext transfer protocol daemon) or FTPD (file transfer protocol daemon). Another model is to implement it in the object client side such as Web browser.
In the former case, the object server can verify the request with the copyright server before providing the object to the requester. In the latter case, the client can implement more precise access control such as disabling printing function.
In this prototype, a sample object server is implemented which is sitting in front of the HTTPD as wrapper in order to verify all the requests to the Web server and perform access control and copyright information notification to the client appropriately. See table 5.
In the architecture we propose, all the object servers should be able to identify the copyright holders of all the objects they serve as the copyright information server consults with the object server to obtain the copyright holder to the object in e-mail address format. However, in the current environment, it is difficult to identify the real copyright holder of the object. In the prototype, file owner of the UNIX file system is assumed to be a copyright holder. This sample object server gets the file owner and converts it to the e-mail address by consulting with the LDAP (lightweight directory access protocol) server running in the domain.
client | disable client to use function of "Print" | |
download | server | transfer objects in such format that client cannot save objects |
client | disable client to use function "Save as" | |
copy | client | disable client to use function "Copy" |
translate | - | - |
perform | client | disable client to perform the video |
perform_music | client | disable client to perform the music |
broadcast | - | - |
recite | - | - |
adapt | - | - |
adapt_music | - | - |
dis_compile | client | disable client to discompile the program |
cinematograph | - | - |
communicate | server | server inserts watermark to objects on server |
distribute | server | server inserts watermark to objects on server |
rental | server | server inserts watermark to objects on server |
notification | server | server receives copyright information and disables client to access without consent to terms of use, for example |
client | client receives copyright information and functions as the above | |
term | server | server authenticates client and does not permit access if term of authorization is exceeded. |
royalty | server | server charges client for royalty in some way and does not permit access if it is not paid. |
In this section, we describe a sample scenario of how those three prototype components work together.
See figure 2.
See figure 3.
Figure 2: State Diagram of Registration
Figure 3: State Diagram of Retrieval
In this section, we evaluate CIDL and CITP based on implementation of the prototype in section 5. The criteria are the requirements defined in design.
We select one course on the School of Internet (SOI) as a sample and evaluate the prototype on the assumption that we apply this prototype to the course and register the copyright information for all the video and materials of the course.
We create two kinds of copyright information, one for materials and one for video. This copyright information is shown both in English and in Japanese.
In order to distinguish our architecture, we compare this prototype with a system that embeds copyright information into objects such as Superdistribution [4].
The following is the result of the evaluation.
We showed that the object server interprets copyright information and shows it according to the copyright holder's selection. On the other hand, Superdistribution also interprets terms by interpreting it in "label reader" on client. Therefore, it is proved that both achieve the interpretation of terms included in the copyright information.
On our system, any type of objects can be registered in the same way because of independence of the copyright information from the objects. On the Superdistribution system, it can embed the copyright information only into certain types of files.
Independence of copyright information also makes modification very easy. It is the same way with registration. In addition, as CTP allows directly level registration, transactions for registration and modification are simpler. On the Superdistribution system, it is necessary to embed copyright information into every object in the tree, instead.
By describing the copyright information in CIDL, the object server can translate it to various languages just by adding modules. On the other hand, in Superdistribution system, it is necessary to insert copyright in each language.
On our system, the data amount stored in the copyright information server is only 754 bytes. As our system supports the directly level registration, only two kinds of copyright information data described in CIDL cover all the video and materials of one course. Also only one kind of copyright information is needed to display in Japanese and English. On Superdistribution system, data amount is 892.5 KB, two kinds of copyright information for each file. This is 1,183 times that on our system.
In order to achieve an environment which enables information sharing all over the world, it is also necessary to achieve an environment where copyright is managed appropriately regarding all digital contents published on the Internet. In this paper, we proposed a new architecture for copyright information management and developed a new description language and protocol that compose the architecture.
As a result, we proved that copyright holders can attach copyright information to every object on the Internet easily and make it referred from anywhere in the world, that terms set by copyright holders in copyright information can be interpreted by the program and the program can perform the appropriate access control to the object, and that copyright information can be widely distributed and managed scalably.
In addition, through the design and implementation of the copyright information builder, copyright information server ,and a sample object server as a prototype, we evaluated the architecture and concluded that the architecture and new protocol solve many of the copyright information management problems on the Internet effectively.
However, there are some issues to be resolved.
By solving these issues and improving this architecture, we will be able to achieve an environment where copyright can be handled appropriately on the Internet.
The School of Internet project is supported by WIDE Project. A number of colleagues at KEIO Univ. SOI research group have contributed to the work we describe here. Thanks to members including Yuri Ijuin, Ken Sakaguchi, Keiichi Kawai, Tomohiro Muroi, Yasuharu Toyabe, and Shoko Mikawa, and special thanks to Koji Ogawa for his help in writing this paper.