河原 正治
(Masaji KAWAHARA)
オブジェクト指向に基づくソフトウェア再利用技術は, ソフトウェア開発コストを大幅に削減すると考えられてきたが, 期待ほどの効果を上げていないのが現状である. これは,再利用を促進するための技術的基盤が欠如しているため, 再利用の対象が主としてソースコードになり, 小規模なグループでしか共有できなかったことによる[1, 2]. 本論文では, オブジェクト単位の課金を実現するための機能を 既存のオブジェクト指向言語環境に付加することにより, 電子オブジェクトが広く流通されるような技術基盤を検討する.
筆者らのグループは,ディジタル情報の流通基盤として超流通に関する 研究開発を行なってきた[3, 4]. 超流通では, ディジタル情報の「所有」にではなく,「利用」に対して対価を徴収する. つまり,利用するたびに使用記録が管理され, それを回収することによって料金を徴収し収入を再分配するシステムである.
本論文では,電子オブジェクトの課金と再利用に関する「超流通モデル」を提案する. また,既存のオブジェクト指向言語に超流通機能を付加することによって, オブジェクトの課金および収益の適切な回収の可能性を 実証する試作システムについても解説する.
図1 超流通オブジェクトの実行結果
超流通を実現するためには,流通させるディジタル情報に, 使用条件を電子的に添付する必要がある. この使用条件を「超流通ラベル」と呼ぶ. 電子オブジェクトを組み合わせて, ソフトウェア部品やマルチメディア素材として流通させる場合に, 超流通ラベルが利用料金を課金するための基本となる. また,ネットワーク上に分散されたオブジェクト間のハイパーリンクを 適切に処理することを可能とする.
電子オブジェクトの超流通は以下のような性質を満たすものとする.
以下では,主要な構成要素について解説する.
SDLR(Superdistribution Label Reader)は, 超流通ラベルの適切な処理が行なわれない(使用の記録がとれない)場合に 超流通コンテンツの利用を禁止する機能を持つ. たとえば,本体中の暗号化された命令列を復号・実行し結果を返すことで, 本体のチェックルーチンに応じるなどの手法が考えられる.
SDLRは,ユニークなSDLR IDを持つ. また,ユーザ認証の機能により,所有者以外が勝手に超流通コンテンツを そのマシンで利用することを防ぐ.
超流通コンテンツを利用するための機械である. 既存の情報処理機器にSDLRを付加したものと考えればよい. 既存のコンテンツはそのまま利用可能である.
超流通コンテンツは, アプリケーションプログラム, ソフトウェア部品などの実行型コンテンツと, テキスト,静止画・動画,音声などの参照型コンテンツとに大別できる. 超流通コンテンツは,単独のコンテンツであることもあるし, それらがハイパーリンクした構造の場合もある.
超流通コンテンツは,超流通ラベルとコンテンツ本体から構成される. 超流通ラベルとコンテンツ本体は,論理的に不可分であり, 暗号技術などを用いて,改変,除去から保護される. 超流通ラベルとコンテンツ本体が 同じパッケージで流通される必要はない.
超流通ラベルには, コンテンツID, コンテンツ提供者(一般に著作権者), コンテンツの利用条件, コンテンツの説明, コンテンツ本体と超流通ラベルを論理的に不可分にするための情報などが 含まれる.
超流通コンテンツの利用条件としては, 料金,利用報告義務の有無, 利用者の条件, 部品を入れ換えてもよいかどうか(複合コンテンツの場合) などを含む. 利用者の条件についてはSDLR IDから判断することが可能である.
超流通コンテンツを 世界中で一意に特定できるIDである. 書籍で使用されているISBNなどに相当し,標準化される必要がある. コンテンツIDから, そのコンテンツを開発したマシンのSDLR IDを一意に 特定できることが望ましい.
SDLRが管理する使用記録を回収する機関である. 使用記録回収ステーション用のソフトウェアを提供することによって, 既存の販売店網とクレジットカード会社を利用する方法が提案されている. ディジタルキャッシュなどの技術も利用できる. 使用記録回収ステーションは,回収する使用記録に応じてマージンを得る.
SCDK(Superdistributable Contents Developer's Kit)は, 超流通コンテンツの開発, 部品の入れ換えを可能とするツール群である.
SDLRにオブジェクトの生成を管理し記録する機能を実装することができれば, 2で述べたようなモデルを実現することができる. さらに,オブジェクトの実行制御機能により, コンテンツ提供者が,より自由な価格設定を行なうことが可能となる.
図1に現在稼働しているプロトタイプの実行結果を示した. SDLRをソフトウェアでエミュレートしているものであり, 課金機能と実行制御機能を提供する. Java言語にSDLRとの通信機能を付加することによって, オブジェクト単位での使用記録の管理が可能となっている.
本論文では,ソフトウェア再利用を促進するための超流通モデルを提示し, 試作システムの現状について報告した. このシステムにより, オブジェクト単位の課金が実現可能であること, また, オブジェクトが他のオブジェクトを継承している場合にも 課金が適切に行なえることが示された.
現在,超流通モデルを実現するための, 超流通コンパイラ・インタプリタを含めた開発環境の整備を 検討中である.