[INET'99] [ Up ][Prev][Next]

Copyright Information Management: Design and Implementation of a New Protocol Architecture

Yoko MURAKAMI <yoko@sfc.wide.ad.jp>
Keiko OKAWA <keiko@sfc.wide.ad.jp>
Jun MURAI <jun@wide.ad.jp>
Keio University


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.


1. Introduction

In this section, we describe the overview of copyright information management architecture. Design details of each component are discussed in the following sections.

1.1 Goal

The goal of this architecture is to provide an environment where

1.2 Main components

We propose the following two components to archive the new architecture:

1.3 Prototype and evaluation

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.

2. Fundamental design

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.

2.1 Elements

Elements that appear in this design are objects, copyright holders, copyright information, and users.

  1. objects: Identified by URI on the Internet. They are works that have copyrights.
  2. copyright holders: Identified by e-mail address on the Internet. They hold copyright of objects.
  3. copyright information: Identified by the correspondence to URI of the object. This information is defined by copyright holders.

2.2 Requirements

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

2.3 Architecture overview

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.

3. Design of copyright information description language (CIDL)

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.

3.1 Requirement

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.

3.2 Basic functions

We define basic functions of description language as the following.

3.3 Syntax

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.

3.4 Item

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.

Table 1. List of 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 print 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

3.5 Values

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.

4. Design of Copyright Transfer Protocol (CTP)

In this section, we describe design of CITP.

4.1 Requirement

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.

4.2 Basic function

The basic functions to achieve the requirements above are the following:

4.3. Specification

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.

Table 2: List of commands
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.

Table 3: List of first digit of status responses
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.

Table 4: List of second digit of status responses
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

5. Prototype design and implementation

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

5.1 Copyright information builder

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.

5.2 Copyright information server

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.

5.3 A sample object server

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.

Table 5: Example of Interpretation
print 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.

5.4 Process

In this section, we describe a sample scenario of how those three prototype components work together.


See figure 2.

  1. Copyright holder puts data into copyright information builder.
  2. Copyright information builder creates copyright information and returns it to a copyright holder.
  3. Copyright holder requests to connect copyright information server and sends certificate and signature for authentication and encryption of routes.
  4. If authentication succeeds, copyright holder sends URI and copyright information to copyright information server.
  5. Copyright information server sends URI to object server and receives e-mail address of the object owner.
  6. Copyright holder verifies the e-mail address shown in the certificate sent from copyright holder.
  7. If it matches, copyright information server registers URI, copyright information, e-mail address, and date to the copyright information database.


See figure 3.

  1. User sends URI to object server.
  2. Object server sends URI to HTTP server and receives an object.
  3. Object server sends URI to copyright information server and receives copyright information.
  4. Object server interprets and translates copyright information and sends the object and copyright information in the way defined by copyright information.

Figure 2: State Diagram of Registration

Figure 3: State Diagram of Retrieval

6. Evaluation

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.

6.1 Sample

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.

Course Name: Information Processing System
Faculty: Jun Murai
Performed at: KEIO University, Japan
Number of Lectures: 14
Total: 21 hours
Materials: 511 HTML files
Video: 14 rm file (RealVideo)
Copyright Information
Japanese: about 800 bytes
English: about 900 bytes
CIDL: 377bytes

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].

6.2 Result

The following is the result of the evaluation.

Access control

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.

Coverage of objects

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.

Modification of copyright information

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.

Translation to various languages

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.

Data amount

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.

7. Conclusion

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.

  1. Reuse of works. The coverage of this prototype is a part of transference from copyright holders to users. The use of works, however, also continues after transference and it is important to control this reuse. By using watermark together, for example, we will find a solution.
  2. Effectiveness of description language. It is necessary to check the effectiveness of description language by applying it to diverse copyright information. We are evaluating it through experiments on SOI in 1999 spring term.
  3. Popularization. In order to achieve widespread implementation of this architecture, it is necessary to establish a consensus among the entire Internet community. We have to pave the way to establish a consensus not only technically but also legally in the future.

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.

8. Acknowledgments

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.

9. References

  1. Keiko Okawa and Jun Murai, "School of Internet - A university on the Internet," INET'98, 1998.
  2. Myers, J., "Simple Authentication and Security Layer (SASL)," RFC 2222, Netscape Communications, October 1997.
  3. Dierks, T., and C. Allen, "The TLS Protocol Version 1.0," work in progress.
  4. Ryoichi Mori, Masaji Kawahara, and Yasuhiro Ohtaki, "Superdistribution: Electronic Technology for Copyright Management," http://sda.k.tsukuba-tech.ac.jp/SdA/reports/A-59/draft.html
  5. Yoko Murakami, "New Architecture of Copyright Information Management on the Internet" graduation thesis, KEIO Univ. SFC, February 1998.

[INET'99] [ Up ][Prev][Next]