JP2705635B2 - 有償化方式 - Google Patents
有償化方式Info
- Publication number
- JP2705635B2 JP2705635B2 JP7120528A JP12052895A JP2705635B2 JP 2705635 B2 JP2705635 B2 JP 2705635B2 JP 7120528 A JP7120528 A JP 7120528A JP 12052895 A JP12052895 A JP 12052895A JP 2705635 B2 JP2705635 B2 JP 2705635B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- flag
- paid
- added
- source unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Description
【0001】
【産業上の利用分野】本発明は或る計算機システムに有
償で提供したソフトウェアのコピーが他の計算機システ
ムで使用できないようにする有償化方式に関する。
償で提供したソフトウェアのコピーが他の計算機システ
ムで使用できないようにする有償化方式に関する。
【0002】
【従来の技術】或る計算機システムに有償で提供したソ
フトウェアがコピーされ、それが他の計算機で不正に使
用されるというケースが近年非常に多くなってきてい
る。このようなことを防止するため、計算機システムに
有償で提供するロードモジュールのヘッダ部に、その計
算機システムのシステム固有番号によって決まる値の有
償フラグを書き込んでおき、ロードモジュールの実行に
際してはヘッダ部に書き込まれている有償フラグと計算
機システムのシステム固有番号から求まる有償フラグと
を比較し、両者が等しい場合のみロードモジュールを起
動するということが従来から行われている(例えば、特
開平3−19026号公報)。
フトウェアがコピーされ、それが他の計算機で不正に使
用されるというケースが近年非常に多くなってきてい
る。このようなことを防止するため、計算機システムに
有償で提供するロードモジュールのヘッダ部に、その計
算機システムのシステム固有番号によって決まる値の有
償フラグを書き込んでおき、ロードモジュールの実行に
際してはヘッダ部に書き込まれている有償フラグと計算
機システムのシステム固有番号から求まる有償フラグと
を比較し、両者が等しい場合のみロードモジュールを起
動するということが従来から行われている(例えば、特
開平3−19026号公報)。
【0003】
【発明が解決しようとする課題】上述したように、従来
は、ロードモジュールのヘッダ部に有償フラグを書き込
んでおくだけであり、ソースユニット,コンパイルユニ
ットについては何ら不正使用に対する対策を行っていな
いため、或る計算機システムに有償で提供したソースユ
ニット,コンパイルユニットのコピーが他の計算機シス
テムで不正に使用されてしまうという問題があった。つ
まり、上述した従来の技術に於いては、有償で提供した
ソフトウェアのコピーが他の計算機システムで不正に実
行されないようにするためには、必ずロードモジュール
の形式でソフトウェアを提供しなければならなかった。
は、ロードモジュールのヘッダ部に有償フラグを書き込
んでおくだけであり、ソースユニット,コンパイルユニ
ットについては何ら不正使用に対する対策を行っていな
いため、或る計算機システムに有償で提供したソースユ
ニット,コンパイルユニットのコピーが他の計算機シス
テムで不正に使用されてしまうという問題があった。つ
まり、上述した従来の技術に於いては、有償で提供した
ソフトウェアのコピーが他の計算機システムで不正に実
行されないようにするためには、必ずロードモジュール
の形式でソフトウェアを提供しなければならなかった。
【0004】そこで、本発明の目的は、有償のソフトウ
ェアをソースユニット,コンパイルユニット,ロードモ
ジュールの何れの形式で提供した場合でも、そのコピー
が他の計算機システムで不正に使用されないようにする
ことができる有償化方式を提供することにある。
ェアをソースユニット,コンパイルユニット,ロードモ
ジュールの何れの形式で提供した場合でも、そのコピー
が他の計算機システムで不正に使用されないようにする
ことができる有償化方式を提供することにある。
【0005】
【課題を解決するための手段】本発明は上記目的を達成
すると共に、或る計算機システムに有償で提供したソー
スユニットがコピーされ、それが他の計算機システムで
不正に編集されるということを防止するため、計算機シ
ステムに有償で提供するソースユニット,コンパイルユ
ニット及びロードモジュールに、前記計算機システムの
システム固有番号及びユーザ固有番号に関連する値の有
償フラグを付加する有償化処置手段と、前記有償フラグ
が登録される記憶手段と、コンパイル対象とするソース
ユニットに有償フラグが付加されているときは、付加さ
れている有償フラグが前記記憶手段に登録されている有
償フラグと一致している場合に限って前記ソースユニッ
トをコンパイルするコンパイラと、リンク対象とするコ
ンパイルユニットに有償フラグが付加されているとき
は、付加されている有償フラグが前記記憶手段に登録さ
れている有償フラグと一致している場合に限って前記コ
ンパイルユニットをリンクするリンカと、ロード対象と
するロードモジュールに有償フラグが付加されていると
きは、付加されている有償フラグが前記記憶手段に登録
されている有償フラグと一致している場合に限って前記
ロードモジュールをロードするローダと、 編集対象とす
るソースユニットに有償フラグが付加されているとき
は、付加されている有償フラグが前記記憶手段に登録さ
れている有償フラグと一致している場合に限って前記ソ
ースユニットを編集するエディタとを備えている。
すると共に、或る計算機システムに有償で提供したソー
スユニットがコピーされ、それが他の計算機システムで
不正に編集されるということを防止するため、計算機シ
ステムに有償で提供するソースユニット,コンパイルユ
ニット及びロードモジュールに、前記計算機システムの
システム固有番号及びユーザ固有番号に関連する値の有
償フラグを付加する有償化処置手段と、前記有償フラグ
が登録される記憶手段と、コンパイル対象とするソース
ユニットに有償フラグが付加されているときは、付加さ
れている有償フラグが前記記憶手段に登録されている有
償フラグと一致している場合に限って前記ソースユニッ
トをコンパイルするコンパイラと、リンク対象とするコ
ンパイルユニットに有償フラグが付加されているとき
は、付加されている有償フラグが前記記憶手段に登録さ
れている有償フラグと一致している場合に限って前記コ
ンパイルユニットをリンクするリンカと、ロード対象と
するロードモジュールに有償フラグが付加されていると
きは、付加されている有償フラグが前記記憶手段に登録
されている有償フラグと一致している場合に限って前記
ロードモジュールをロードするローダと、 編集対象とす
るソースユニットに有償フラグが付加されているとき
は、付加されている有償フラグが前記記憶手段に登録さ
れている有償フラグと一致している場合に限って前記ソ
ースユニットを編集するエディタとを備えている。
【0006】
【0007】
【作用】計算機システムに有償で提供されるソースユニ
ット,コンパイルユニット,ロードモジュールには、有
償化処置手段によってその計算機システムの固有番号及
びユーザ固有番号に関連する値を有する有償フラグが付
加される。また、有償化処置手段によってソースユニッ
ト,コンパイルユニット,ロードモジュールに付加され
た有償フラグは、記憶手段に登録される。
ット,コンパイルユニット,ロードモジュールには、有
償化処置手段によってその計算機システムの固有番号及
びユーザ固有番号に関連する値を有する有償フラグが付
加される。また、有償化処置手段によってソースユニッ
ト,コンパイルユニット,ロードモジュールに付加され
た有償フラグは、記憶手段に登録される。
【0008】そして、コンパイラは、コンパイル対象と
するソースユニットに有償フラグが付加されているとき
は、付加されている有償フラグと記憶手段に登録されて
いる有償フラグとが一致した場合に限ってソースユニッ
トをコンパイルする。また、リンカは、リンク対象とす
るコンパイルユニットに有償フラグが付加されていると
きは、付加されている有償フラグと記憶手段に登録され
ている有償フラグとが一致した場合に限ってコンパイル
ユニットをリンクする。また、ローダは、ロード対象と
するロードモジュールに有償フラグが付加されていると
きは、付加されている有償フラグが記憶手段に登録され
ている有償フラグと一致している場合に限ってロードモ
ジュールをロードする。また、エディタは、編集対象と
するソースユニットに有償フラグが付加されているとき
は、付加されている有償フラグが記憶手段に登録されて
いる有償フラグと一致している場合に限ってソースユニ
ットを編集する。
するソースユニットに有償フラグが付加されているとき
は、付加されている有償フラグと記憶手段に登録されて
いる有償フラグとが一致した場合に限ってソースユニッ
トをコンパイルする。また、リンカは、リンク対象とす
るコンパイルユニットに有償フラグが付加されていると
きは、付加されている有償フラグと記憶手段に登録され
ている有償フラグとが一致した場合に限ってコンパイル
ユニットをリンクする。また、ローダは、ロード対象と
するロードモジュールに有償フラグが付加されていると
きは、付加されている有償フラグが記憶手段に登録され
ている有償フラグと一致している場合に限ってロードモ
ジュールをロードする。また、エディタは、編集対象と
するソースユニットに有償フラグが付加されているとき
は、付加されている有償フラグが記憶手段に登録されて
いる有償フラグと一致している場合に限ってソースユニ
ットを編集する。
【0009】
【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
詳細に説明する。
【0010】図1は本発明の実施例のブロック図であ
り、計算機システム1と、磁気ディスク装置2,3と、
ワークステーション4とから構成されている。
り、計算機システム1と、磁気ディスク装置2,3と、
ワークステーション4とから構成されている。
【0011】計算機システム1は、システム生成手段1
1と、ハッシュ値計算手段12と、ハッシュ値登録手段
13と、バッテリーバックアップメモリ14と、ハッシ
ュ値入力手段15と、有償化処置手段16と、エディタ
17と、コンパイラ18と、リンカ19と、ローダ20
とを備えている。
1と、ハッシュ値計算手段12と、ハッシュ値登録手段
13と、バッテリーバックアップメモリ14と、ハッシ
ュ値入力手段15と、有償化処置手段16と、エディタ
17と、コンパイラ18と、リンカ19と、ローダ20
とを備えている。
【0012】磁気ディスク装置2は、ソースユニットが
格納されるシステムソースユニットライブラリ21と、
コンパイルユニットが格納されるシステムコンパイルユ
ニットライブラリ22と、ロードモジュールが格納され
るシステムロードモジュールライブラリ23とを備えて
いる。
格納されるシステムソースユニットライブラリ21と、
コンパイルユニットが格納されるシステムコンパイルユ
ニットライブラリ22と、ロードモジュールが格納され
るシステムロードモジュールライブラリ23とを備えて
いる。
【0013】磁気ディスク装置3は、コンパイルユニッ
トが格納されるユーザコンパイルユニットライブラリ3
1と、ロードモジュールが格納されるユーザロードモジ
ュールライブラリ32とを備えている。
トが格納されるユーザコンパイルユニットライブラリ3
1と、ロードモジュールが格納されるユーザロードモジ
ュールライブラリ32とを備えている。
【0014】計算機システム1内のシステム生成手段1
1は、通常のシステム生成機能を有すると共に、システ
ム生成時にワークステーション4から計算機システム1
のシステム固有番号及びユーザ固有番号が入力されるこ
とによりそれらをハッシュ値計算手段12に渡す機能
や、ハッシュ値計算手段12で算出されたハッシュ値を
ハッシュ値登録手段13に渡す機能を有する。
1は、通常のシステム生成機能を有すると共に、システ
ム生成時にワークステーション4から計算機システム1
のシステム固有番号及びユーザ固有番号が入力されるこ
とによりそれらをハッシュ値計算手段12に渡す機能
や、ハッシュ値計算手段12で算出されたハッシュ値を
ハッシュ値登録手段13に渡す機能を有する。
【0015】ハッシュ値計算手段12は、システム生成
手段11から渡されたシステム固有番号及びユーザ固有
番号に関連する値(例えば、両者の合計値)に対するハ
ッシュ値を計算する機能を有する。
手段11から渡されたシステム固有番号及びユーザ固有
番号に関連する値(例えば、両者の合計値)に対するハ
ッシュ値を計算する機能を有する。
【0016】ハッシュ値登録手段13は、システム生成
手段11から渡されたハッシュ値をバッテリーバックア
ップメモリ14に登録する機能を有する。
手段11から渡されたハッシュ値をバッテリーバックア
ップメモリ14に登録する機能を有する。
【0017】ハッシュ値入力手段15は、バッテリーバ
ックアップメモリ14に登録されているハッシュ値を入
力する機能を有する。
ックアップメモリ14に登録されているハッシュ値を入
力する機能を有する。
【0018】有償化処置手段16は、システムソースユ
ニットライブラリ21,システムコンパイルユニットラ
イブラリ22,システムロードモジュールライブラリ2
3に格納されているソースユニット,コンパイルユニッ
ト,ロードモジュールの内のワークステーション4から
指示されたものに、バッテリーバックアップメモリ14
に登録されているハッシュ値を有償フラグとして付加す
る機能を有する。
ニットライブラリ21,システムコンパイルユニットラ
イブラリ22,システムロードモジュールライブラリ2
3に格納されているソースユニット,コンパイルユニッ
ト,ロードモジュールの内のワークステーション4から
指示されたものに、バッテリーバックアップメモリ14
に登録されているハッシュ値を有償フラグとして付加す
る機能を有する。
【0019】エディタ17は、ソースユニット入力手段
171とソースユニットハッシュ値チェック手段172
とを備え、コンパイラ18は、ソースユニット入力手段
181とソースユニットハッシュ値チェック手段182
とを備えている。また、リンカ19は、コンパイルユニ
ット入力手段191とコンパイルユニットハッシュ値チ
ェック手段192とを備え、ローダ20は、ロードモジ
ュール入力手段201とロードモジュールハッシュ値チ
ェック手段202とを備えている。
171とソースユニットハッシュ値チェック手段172
とを備え、コンパイラ18は、ソースユニット入力手段
181とソースユニットハッシュ値チェック手段182
とを備えている。また、リンカ19は、コンパイルユニ
ット入力手段191とコンパイルユニットハッシュ値チ
ェック手段192とを備え、ローダ20は、ロードモジ
ュール入力手段201とロードモジュールハッシュ値チ
ェック手段202とを備えている。
【0020】図2はエディタ17の処理例を示す流れ
図、図3はコンパイラ18の処理例を示す流れ図、図4
はリンカ19の処理例を示す流れ図、図5はローダ20
の処理例を示す流れ図であり、以下各図を参照して本実
施例の動作を説明する。
図、図3はコンパイラ18の処理例を示す流れ図、図4
はリンカ19の処理例を示す流れ図、図5はローダ20
の処理例を示す流れ図であり、以下各図を参照して本実
施例の動作を説明する。
【0021】システム生成時、操作員がワークステーシ
ョン4から計算機システム1のシステム固有番号及びユ
ーザ固有番号を入力すると、システム生成手段11は、
それらをハッシュ値計算手段12に渡す。
ョン4から計算機システム1のシステム固有番号及びユ
ーザ固有番号を入力すると、システム生成手段11は、
それらをハッシュ値計算手段12に渡す。
【0022】ハッシュ値計算手段12では、システム固
有番号とユーザ固有番号の合計値に対するハッシュ値を
算出する。
有番号とユーザ固有番号の合計値に対するハッシュ値を
算出する。
【0023】ハッシュ値計算手段12でハッシュ値が算
出されると、システム生成手段11は、ハッシュ値登録
手段13を用いてハッシュ値をバッテリーバックアップ
メモリ14に登録する。
出されると、システム生成手段11は、ハッシュ値登録
手段13を用いてハッシュ値をバッテリーバックアップ
メモリ14に登録する。
【0024】その後、操作員は、システムソースユニッ
トライブラリ21,システムコンパイルユニットライブ
ラリ22,システムロードモジュールライブラリ23に
格納されているソースユニット,コンパイルユニット,
ロードモジュールの内、有償にするものをワークステー
ション4から指示する。
トライブラリ21,システムコンパイルユニットライブ
ラリ22,システムロードモジュールライブラリ23に
格納されているソースユニット,コンパイルユニット,
ロードモジュールの内、有償にするものをワークステー
ション4から指示する。
【0025】これにより、有償化処置手段16は、ハッ
シュ値入力手段15を用いてバッテリーバックアップメ
モリ14からハッシュ値を入力し、更に、指示されたソ
ースユニット,コンパイルユニット,ロードモジュール
に、バッテリーバックアップメモリ14から入力したハ
ッシュ値を有償フラグとして付加する。
シュ値入力手段15を用いてバッテリーバックアップメ
モリ14からハッシュ値を入力し、更に、指示されたソ
ースユニット,コンパイルユニット,ロードモジュール
に、バッテリーバックアップメモリ14から入力したハ
ッシュ値を有償フラグとして付加する。
【0026】以上の処理は、システムソースユニットラ
イブラリ21,システムコンパイルユニットライブラリ
22,システムロードモジュールライブラリ23に格納
されているソースユニット,コンパイルユニット,ロー
ドモジュールの内、有償とするもの全てに対して行われ
る。
イブラリ21,システムコンパイルユニットライブラリ
22,システムロードモジュールライブラリ23に格納
されているソースユニット,コンパイルユニット,ロー
ドモジュールの内、有償とするもの全てに対して行われ
る。
【0027】次に、計算機システム1の利用者が磁気デ
ィスク装置2上の各ライブラリ21,22,23を利用
する場合の動作を説明する。
ィスク装置2上の各ライブラリ21,22,23を利用
する場合の動作を説明する。
【0028】先ず、利用者がシステムソースユニットラ
イブラリ21のサブファイルに格納されているソースユ
ニットをエディタ17を利用して編集する場合の動作
を、図2を参照して説明する。
イブラリ21のサブファイルに格納されているソースユ
ニットをエディタ17を利用して編集する場合の動作
を、図2を参照して説明する。
【0029】利用者はシステムソースユニットライブラ
リ21のサブファイルに格納されているソースユニット
に対する編集を行う場合、ワークステーション4から編
集対象とするソースユニットを指示する。
リ21のサブファイルに格納されているソースユニット
に対する編集を行う場合、ワークステーション4から編
集対象とするソースユニットを指示する。
【0030】編集対象とするソースユニットが指示され
ると、エディタ17内のソースユニット入力手段171
が、指示されたソースユニットをシステムソースユニッ
トライブラリ21から入力し(ステップS21)、ソー
スユニットハッシュ値チェック手段172が、入力され
たソースユニットに有償フラグが付加されているか否か
を判断する(ステップS22)。ソースユニットハッシ
ュ値チェック手段172は、ステップS22で有償フラ
グが付加されていると判断した場合は、更に、ハッシュ
値入力手段15を用いてバッテリーバックアップメモリ
14に登録されているハッシュ値を入力し、それとソー
スユニットに有償フラグとして付加されているハッシュ
値とが一致するか否かを判断する(ステップS23)。
ると、エディタ17内のソースユニット入力手段171
が、指示されたソースユニットをシステムソースユニッ
トライブラリ21から入力し(ステップS21)、ソー
スユニットハッシュ値チェック手段172が、入力され
たソースユニットに有償フラグが付加されているか否か
を判断する(ステップS22)。ソースユニットハッシ
ュ値チェック手段172は、ステップS22で有償フラ
グが付加されていると判断した場合は、更に、ハッシュ
値入力手段15を用いてバッテリーバックアップメモリ
14に登録されているハッシュ値を入力し、それとソー
スユニットに有償フラグとして付加されているハッシュ
値とが一致するか否かを判断する(ステップS23)。
【0031】エディタ17は、ソースユニットハッシュ
値チェック手段172で有償フラグが付加されていない
と判断された場合及びハッシュ値が一致すると判断され
た場合は、ワークステーション4からの指示に従った編
集処理を行い(ステップS24)、ハッシュ値が一致し
ないと判断された場合は、ワークステーション4に対し
てエラーメッセージを出力し、利用者に対して指示した
ソースユニットが使用できないことを通知する(ステッ
プS25)。ここで、他の計算機システムに提供され
た、有償フラグの付加されたソースユニットのコピーを
システムソースユニットライブラリ21に格納した場合
を考えてみると、ステップS23の判断結果がNOとな
るので、ソースユニットの不正使用を防ぐことができ
る。
値チェック手段172で有償フラグが付加されていない
と判断された場合及びハッシュ値が一致すると判断され
た場合は、ワークステーション4からの指示に従った編
集処理を行い(ステップS24)、ハッシュ値が一致し
ないと判断された場合は、ワークステーション4に対し
てエラーメッセージを出力し、利用者に対して指示した
ソースユニットが使用できないことを通知する(ステッ
プS25)。ここで、他の計算機システムに提供され
た、有償フラグの付加されたソースユニットのコピーを
システムソースユニットライブラリ21に格納した場合
を考えてみると、ステップS23の判断結果がNOとな
るので、ソースユニットの不正使用を防ぐことができ
る。
【0032】次に、利用者がシステムソースユニットラ
イブラリ21に格納されているソースユニットを、コン
パイラ18を利用してコンパイルする場合の動作を、図
3を参照して説明する。
イブラリ21に格納されているソースユニットを、コン
パイラ18を利用してコンパイルする場合の動作を、図
3を参照して説明する。
【0033】利用者はシステムソースユニットライブラ
リ21のサブファイルに格納されているソースユニット
をコンパイルする場合、ワークステーション4からコン
パイルの対象とするソースユニットを指示する。
リ21のサブファイルに格納されているソースユニット
をコンパイルする場合、ワークステーション4からコン
パイルの対象とするソースユニットを指示する。
【0034】コンパイル対象とするソースユニットが指
示されると、コンパイラ18内のソースユニット入力手
段181が、指示されたソースユニットをシステムソー
スユニットライブラリ21から入力し(ステップS3
1)、ソースユニットハッシュ値チェック手段182
が、入力されたソースユニットに有償フラグが付加され
ているか否かを判断する(ステップS32)。ソースユ
ニットハッシュ値チェック手段182は、ステップS3
2で有償フラグが付加されていると判断した場合は、更
に、バッテリーバックアップメモリ14に登録されてい
るハッシュ値とソースユニットに有償フラグとして付加
されているハッシュ値とが一致するか否かを判断する
(ステップS33)。
示されると、コンパイラ18内のソースユニット入力手
段181が、指示されたソースユニットをシステムソー
スユニットライブラリ21から入力し(ステップS3
1)、ソースユニットハッシュ値チェック手段182
が、入力されたソースユニットに有償フラグが付加され
ているか否かを判断する(ステップS32)。ソースユ
ニットハッシュ値チェック手段182は、ステップS3
2で有償フラグが付加されていると判断した場合は、更
に、バッテリーバックアップメモリ14に登録されてい
るハッシュ値とソースユニットに有償フラグとして付加
されているハッシュ値とが一致するか否かを判断する
(ステップS33)。
【0035】コンパイラ18は、ソースユニットハッシ
ュ値チェック手段182で有償フラグが付加されていな
いと判断された場合及びハッシュ値が一致すると判断さ
れた場合は、ソースユニット入力手段181が入力した
ソースユニットをコンパイルして磁気ディスク装置3上
のユーザコンパイルユニットライブラリ31に出力し
(ステップS34)、ハッシュ値が一致しないと判断さ
れた場合は、ワークステーション4に対してエラーメッ
セージを出力する(ステップS35)。尚、コンパイラ
18は、コンパイル対象としたソースユニットに有償フ
ラグが付加されている場合は、有償フラグはコンパイル
の対象とせずにコンパイルするものであり、従って、ユ
ーザコンパイルユニットライブラリ31に出力されるコ
ンパイルユニットは、有償フラグが付加されていないも
のになる。
ュ値チェック手段182で有償フラグが付加されていな
いと判断された場合及びハッシュ値が一致すると判断さ
れた場合は、ソースユニット入力手段181が入力した
ソースユニットをコンパイルして磁気ディスク装置3上
のユーザコンパイルユニットライブラリ31に出力し
(ステップS34)、ハッシュ値が一致しないと判断さ
れた場合は、ワークステーション4に対してエラーメッ
セージを出力する(ステップS35)。尚、コンパイラ
18は、コンパイル対象としたソースユニットに有償フ
ラグが付加されている場合は、有償フラグはコンパイル
の対象とせずにコンパイルするものであり、従って、ユ
ーザコンパイルユニットライブラリ31に出力されるコ
ンパイルユニットは、有償フラグが付加されていないも
のになる。
【0036】次に、利用者がシステムコンパイルユニッ
トライブラリ22或いはユーザコンパイルユニットライ
ブラリ31に格納されているコンパイルユニットを、リ
ンカ19を利用してリンクする場合の動作を図4を参照
して説明する。
トライブラリ22或いはユーザコンパイルユニットライ
ブラリ31に格納されているコンパイルユニットを、リ
ンカ19を利用してリンクする場合の動作を図4を参照
して説明する。
【0037】利用者はシステムコンパイルユニットライ
ブラリ22或いはユーザコンパイルユニットライブラリ
31のサブファイルに格納されているソースユニットを
リンクする場合、ワークステーション4からリンクの対
象とするコンパイルユニットを全て指示する。
ブラリ22或いはユーザコンパイルユニットライブラリ
31のサブファイルに格納されているソースユニットを
リンクする場合、ワークステーション4からリンクの対
象とするコンパイルユニットを全て指示する。
【0038】リンクの対象とするコンパイルユニットが
指示されると、リンカ19内のコンパイルユニット入力
手段191が、指示された全てのコンパイルユニットを
システムコンパイルユニットライブラリ22或いはユー
ザコンパイルユニットライブラリ31から入力し(ステ
ップS41)、コンパイルユニットハッシュ値チェック
手段192が、入力されたコンパイルユニットの中に有
償フラグが付加されているものがあるか否かを判断する
(ステップS42)。コンパイルユニットハッシュ値チ
ェック手段192は、ステップS42で有償フラグが付
加されているものがあると判断した場合は、更に、有償
フラグとして付加されている全てのハッシュ値がバッテ
リーバックアップメモリ14に登録されているハッシュ
値と一致するか否かを判断する(ステップS43)。
指示されると、リンカ19内のコンパイルユニット入力
手段191が、指示された全てのコンパイルユニットを
システムコンパイルユニットライブラリ22或いはユー
ザコンパイルユニットライブラリ31から入力し(ステ
ップS41)、コンパイルユニットハッシュ値チェック
手段192が、入力されたコンパイルユニットの中に有
償フラグが付加されているものがあるか否かを判断する
(ステップS42)。コンパイルユニットハッシュ値チ
ェック手段192は、ステップS42で有償フラグが付
加されているものがあると判断した場合は、更に、有償
フラグとして付加されている全てのハッシュ値がバッテ
リーバックアップメモリ14に登録されているハッシュ
値と一致するか否かを判断する(ステップS43)。
【0039】リンカ19は、コンパイルユニットハッシ
ュ値チェック手段192で有償フラグが付加されている
コンパイルユニットがないと判断された場合及び有償フ
ラグとして付加されている全てのハッシュ値がバッテリ
ーバックアップメモリ14に登録されているハッシュ値
と一致すると判断された場合は、コンパイルユニット入
力手段191が入力したコンパイルユニットをリンクし
て磁気ディスク装置3上のユーザロードモジュールライ
ブラリ32に出力し(ステップS44)、ハッシュ値が
一致しないと判断された場合は、ワークステーション4
に対してエラーメッセージを出力する(ステップS4
5)。尚、リンカ19は、リンク対象としたコンパイル
ユニットに有償フラグが付加されている場合は、有償フ
ラグはリンクの対象とせずにリンクするものであり、従
って、ユーザロードモジュールライブラリ32に出力さ
れるロードモジュールは有償フラグが付加されていない
ものになる。
ュ値チェック手段192で有償フラグが付加されている
コンパイルユニットがないと判断された場合及び有償フ
ラグとして付加されている全てのハッシュ値がバッテリ
ーバックアップメモリ14に登録されているハッシュ値
と一致すると判断された場合は、コンパイルユニット入
力手段191が入力したコンパイルユニットをリンクし
て磁気ディスク装置3上のユーザロードモジュールライ
ブラリ32に出力し(ステップS44)、ハッシュ値が
一致しないと判断された場合は、ワークステーション4
に対してエラーメッセージを出力する(ステップS4
5)。尚、リンカ19は、リンク対象としたコンパイル
ユニットに有償フラグが付加されている場合は、有償フ
ラグはリンクの対象とせずにリンクするものであり、従
って、ユーザロードモジュールライブラリ32に出力さ
れるロードモジュールは有償フラグが付加されていない
ものになる。
【0040】次に計算機システム1の利用者がシステム
ロードモジュールライブラリ23或いはユーザロードモ
ジュールライブラリ32に格納されているロードモジュ
ールを、ローダ20を用いてロードする場合の動作を図
5を参照して説明する。
ロードモジュールライブラリ23或いはユーザロードモ
ジュールライブラリ32に格納されているロードモジュ
ールを、ローダ20を用いてロードする場合の動作を図
5を参照して説明する。
【0041】利用者はシステムロードモジュールライブ
ラリ23或いはユーザロードモジュールライブラリ32
に格納されているロードモジュールをロードする場合、
ワークステーション4からロード対象のロードモジュー
ルを指示する。
ラリ23或いはユーザロードモジュールライブラリ32
に格納されているロードモジュールをロードする場合、
ワークステーション4からロード対象のロードモジュー
ルを指示する。
【0042】ロード対象とするロードモジュールが指示
されると、ローダ20内のロードモジュール入力手段2
01が、指示されたロードモジュールをシステムロード
モジュールライブラリ23或いはユーザロードモジュー
ルライブラリ32から入力し(ステップS51)、ロー
ドモジュールハッシュ値チェック手段202が、入力さ
れたロードモジュールに有償フラグが付加されているか
否かを判断する(ステップS52)。ロードモジュール
ハッシュ値チェック手段202は、ステップS52で有
償フラグが付加されていると判断した場合は、更に、ロ
ードモジュールに有償フラグとして付加されているハッ
シュ値とバッテリーバックアップメモリ14に登録され
ているハッシュ値とが一致するか否かを判断する(ステ
ップS53)。
されると、ローダ20内のロードモジュール入力手段2
01が、指示されたロードモジュールをシステムロード
モジュールライブラリ23或いはユーザロードモジュー
ルライブラリ32から入力し(ステップS51)、ロー
ドモジュールハッシュ値チェック手段202が、入力さ
れたロードモジュールに有償フラグが付加されているか
否かを判断する(ステップS52)。ロードモジュール
ハッシュ値チェック手段202は、ステップS52で有
償フラグが付加されていると判断した場合は、更に、ロ
ードモジュールに有償フラグとして付加されているハッ
シュ値とバッテリーバックアップメモリ14に登録され
ているハッシュ値とが一致するか否かを判断する(ステ
ップS53)。
【0043】ローダ20は、ロードモジュールハッシュ
値チェック手段202で有償フラグが付加されていない
と判断された場合及びハッシュ値が一致すると判断され
た場合は、ロードモジュール入力手段201が入力した
ロードモジュールを主記憶装置(図示せず)にロードし
(ステップS54)、ハッシュ値が一致しないと判断さ
れた場合は、ワークステーション4に対してエラーメッ
セージを出力する(ステップS55)。
値チェック手段202で有償フラグが付加されていない
と判断された場合及びハッシュ値が一致すると判断され
た場合は、ロードモジュール入力手段201が入力した
ロードモジュールを主記憶装置(図示せず)にロードし
(ステップS54)、ハッシュ値が一致しないと判断さ
れた場合は、ワークステーション4に対してエラーメッ
セージを出力する(ステップS55)。
【0044】
【発明の効果】以上説明したように本発明は、計算機シ
ステムに有償で提供するソースユニット,コンパイルユ
ニット,ロードモジュールに計算機システムのシステム
固有番号,ユーザ固有番号に関連する値の有償フラグを
付加する有償化処置手段と、有償化処置手段が付加した
有償フラグが登録されるバッテリーバックアップメモリ
等の記憶手段とを備え、ソースユニットについてはそれ
に付加されている有償フラグと記憶手段に登録されてい
る有償フラグとが一致した場合に限ってコンパイルを行
い、コンパイルユニットについてはそれに付加されてい
る有償フラグと記憶手段に登録されている有償フラグと
が一致した場合に限ってリンクを行い、ロードモジュー
ルについてはそれに付加されている有償フラグと記憶手
段に登録されている有償フラグとが一致した場合に限っ
てロードを行うようにしたので、有償のソフトウェアを
ソースユニット,コンパイルユニット,ロードモジュー
ルの何れの形式で提供しても、そのコピーが他の計算機
システムで不正に使用されることを防止できる効果があ
る。
ステムに有償で提供するソースユニット,コンパイルユ
ニット,ロードモジュールに計算機システムのシステム
固有番号,ユーザ固有番号に関連する値の有償フラグを
付加する有償化処置手段と、有償化処置手段が付加した
有償フラグが登録されるバッテリーバックアップメモリ
等の記憶手段とを備え、ソースユニットについてはそれ
に付加されている有償フラグと記憶手段に登録されてい
る有償フラグとが一致した場合に限ってコンパイルを行
い、コンパイルユニットについてはそれに付加されてい
る有償フラグと記憶手段に登録されている有償フラグと
が一致した場合に限ってリンクを行い、ロードモジュー
ルについてはそれに付加されている有償フラグと記憶手
段に登録されている有償フラグとが一致した場合に限っ
てロードを行うようにしたので、有償のソフトウェアを
ソースユニット,コンパイルユニット,ロードモジュー
ルの何れの形式で提供しても、そのコピーが他の計算機
システムで不正に使用されることを防止できる効果があ
る。
【0045】また、本発明は、ソースユニットについて
はそれに付加されている有償フラグと記憶手段に登録さ
れている有償フラグとが一致した場合に限って編集を行
えるようにしたので、或る計算機システムに有償で提供
したソースユニットがコピーされ、それが他の計算機シ
ステムで不正に編集されることを防止できる効果があ
る。
はそれに付加されている有償フラグと記憶手段に登録さ
れている有償フラグとが一致した場合に限って編集を行
えるようにしたので、或る計算機システムに有償で提供
したソースユニットがコピーされ、それが他の計算機シ
ステムで不正に編集されることを防止できる効果があ
る。
【図1】本発明の実施例のブロック図である。
【図2】エディタ17の処理例を示す流れ図である。
【図3】コンパイラ18の処理例を示す流れ図である。
【図4】リンカ19の処理例を示す流れ図である。
【図5】ローダ20の処理例を示す流れ図である。
1…計算機システム 11…システム生成手段 12…ハッシュ値計算手段 13…ハッシュ値登録手段 14…バッテリーバックアップメモリ 15…ハッシュ値入力手段 16…有償化処置手段 17…エディタ 171…ソースユニット入力手段 172…ソースユニットハッシュ値チェック手段 18…コンパイラ 181…ソースユニット入力手段 182…ソースユニットハッシュ値チェック手段 19…リンカ 191…コンパイルユニット入力手段 192…コンパイルユニットハッシュ値チェック手段 20…ローダ 201…ロードモジュール入力手段 202…ロードモジュールハッシュ値チェック手段 2…磁気ディスク装置 21…システムソースユニットライブラリ 22…システムコンパイルユニットライブラリ 23…システムロードモジュールライブラリ 3…磁気ディスク装置 31…ユーザコンパイルユニットライブラリ 32…ユーザロードモジュールライブラリ 4…ワークステーション
Claims (2)
- 【請求項1】 計算機システムに有償で提供するソース
ユニット,コンパイルユニット及びロードモジュール
に、前記計算機システムのシステム固有番号及びユーザ
固有番号に関連する値の有償フラグを付加する有償化処
置手段と、 前記有償フラグが登録される記憶手段と、 コンパイル対象とするソースユニットに有償フラグが付
加されているときは、付加されている有償フラグが前記
記憶手段に登録されている有償フラグと一致している場
合に限って前記ソースユニットをコンパイルするコンパ
イラと、 リンク対象とするコンパイルユニットに有償フラグが付
加されているときは、付加されている有償フラグが前記
記憶手段に登録されている有償フラグと一致している場
合に限って前記コンパイルユニットをリンクするリンカ
と、 ロード対象とするロードモジュールに有償フラグが付加
されているときは、付加されている有償フラグが前記記
憶手段に登録されている有償フラグと一致している場合
に限って前記ロードモジュールをロードするローダと、 編集対象とするソースユニットに有償フラグが付加され
ているときは、付加されている有償フラグが前記記憶手
段に登録されている有償フラグと一致している場合に限
って前記ソースユニットを編集するエディタ とを備えた
ことを特徴とする有償化方式。 - 【請求項2】 前記有償フラグは、前記システム固有番
号及び前記ユーザ固有番号に関連する値に対するハッシ
ュ値であることを特徴とする請求項1記載の有償化方
式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7120528A JP2705635B2 (ja) | 1995-04-21 | 1995-04-21 | 有償化方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7120528A JP2705635B2 (ja) | 1995-04-21 | 1995-04-21 | 有償化方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08292885A JPH08292885A (ja) | 1996-11-05 |
JP2705635B2 true JP2705635B2 (ja) | 1998-01-28 |
Family
ID=14788508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7120528A Expired - Lifetime JP2705635B2 (ja) | 1995-04-21 | 1995-04-21 | 有償化方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2705635B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102279190B1 (ko) * | 2020-09-28 | 2021-07-19 | (주)한드림넷 | 단말의 동작 방법, 관리 서버의 동작 방법 및 이동식 저장장치 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0283622A (ja) * | 1988-09-20 | 1990-03-23 | Fujitsu Ltd | 単一媒体による複数計算機への有償ソフトウエアのインストール方式 |
JPH02165334A (ja) * | 1988-12-20 | 1990-06-26 | Nec Corp | プログラム保護方式 |
JPH0319026A (ja) * | 1989-06-16 | 1991-01-28 | Nec Corp | 有償ソフトウェアチェック方式 |
JPH04350744A (ja) * | 1991-05-29 | 1992-12-04 | Nec Corp | 有償ソフトチェック方式 |
-
1995
- 1995-04-21 JP JP7120528A patent/JP2705635B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH08292885A (ja) | 1996-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Felleisen et al. | A programmable programming language | |
US7870396B2 (en) | Storage medium, method, and apparatus for creating a protected executable program | |
US5542045A (en) | Method for interposing a security function in a computer program | |
JP4928677B2 (ja) | デジタルコンテンツの使用を制限する方法 | |
CN115617687B (zh) | 程序插桩方法、装置、设备和存储介质 | |
JP2006318464A (ja) | 実行可能コードのコピーについての固有の識別を生成する方法及びその管理 | |
JPH10507016A (ja) | ソフトウェア・コンパイル・ユニットを条件付きでコンパイルするシステム、方法およびコンパイラ・プリプロセッサ | |
JP2705635B2 (ja) | 有償化方式 | |
JP2006318465A (ja) | 実行可能コードのコピーについての固有の識別を生成する方法及びその管理 | |
US5617564A (en) | Program source file preprocessing method and apparatus to detect modifications and generate a class of files | |
JP2886969B2 (ja) | プログラム変換方法 | |
CA2240584C (en) | Compile-time data dependency verification | |
US7458100B2 (en) | Adding copy protection to a computer program | |
US7290137B2 (en) | Information processing apparatus, executable module generating method, and storage medium | |
US6728951B1 (en) | System and method for performing automated incremental compilation of computer programs | |
KR0125605B1 (ko) | 프로그램의 아키덱쳐 변환방법 및 장치와 그 방법 및 장치를 사용하여 프로그램의 동작을 검증하는 방법 및 장치 | |
US20050125783A1 (en) | Program optimization with intermediate code | |
US8423974B2 (en) | System and method for call replacement | |
JP3439353B2 (ja) | ソフトウェア・シミュレータシステム及びプログラムを記録した記録媒体 | |
KR100348027B1 (ko) | 운영체제와 컴파일러가 연계된 프로그램 변경방지 시스템및 그 방법 | |
WO1999063431A2 (en) | Preprocessor for encapsulating software source scripts | |
JP3527265B2 (ja) | 原始ソース管理方式 | |
JPH0981371A (ja) | ソースコード自動バージョンアップ方法及び装置 | |
JPH11194933A (ja) | ファイル検証方法 | |
US7062400B2 (en) | Apparatus and program for designing system LSI, and method for verifying integrity of the program for designing system LSI |