JP2005259126A - コードのメータリングされた実行 - Google Patents

コードのメータリングされた実行 Download PDF

Info

Publication number
JP2005259126A
JP2005259126A JP2005045646A JP2005045646A JP2005259126A JP 2005259126 A JP2005259126 A JP 2005259126A JP 2005045646 A JP2005045646 A JP 2005045646A JP 2005045646 A JP2005045646 A JP 2005045646A JP 2005259126 A JP2005259126 A JP 2005259126A
Authority
JP
Japan
Prior art keywords
metering
code
protected service
service
protected
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.)
Pending
Application number
JP2005045646A
Other languages
English (en)
Other versions
JP2005259126A5 (ja
Inventor
Bruce E Johnson
イー.ジョンソン ブルース
Seth M Demsey
エム.ディムゼイ セス
William M Zintel
マイケル ジンテル ウィリアム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005259126A publication Critical patent/JP2005259126A/ja
Publication of JP2005259126A5 publication Critical patent/JP2005259126A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16LPIPES; JOINTS OR FITTINGS FOR PIPES; SUPPORTS FOR PIPES, CABLES OR PROTECTIVE TUBING; MEANS FOR THERMAL INSULATION IN GENERAL
    • F16L55/00Devices or appurtenances for use in, or in connection with, pipes or pipe systems
    • F16L55/26Pigs or moles, i.e. devices movable in a pipe or conduit with or without self-contained propulsion means
    • F16L55/28Constructional aspects
    • F16L55/30Constructional aspects of the propulsion means, e.g. towed by cables
    • F16L55/32Constructional aspects of the propulsion means, e.g. towed by cables being self-contained
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16LPIPES; JOINTS OR FITTINGS FOR PIPES; SUPPORTS FOR PIPES, CABLES OR PROTECTIVE TUBING; MEANS FOR THERMAL INSULATION IN GENERAL
    • F16L2101/00Uses or applications of pigs or moles
    • F16L2101/30Inspecting, measuring or testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Robotics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】消費者が、実行することを所望するコードだけのライセンス契約を行えるようにする。
【解決手段】アプリケーション102は、1つまたは複数の保護されたサービス106(1〜J)に対してコールを行う。保護されたサービス106(1〜J)はアプリケーション102によって呼び出されると、メータリングエンジン108を呼び出す。メータリングエンジン108は、アプリケーション102、または直接の呼び出し元が、保護されたサービス106を実行する許可を有するかどうかの判定を行う。実施エンジン114は、メータリングデータの安全なストア116、及び1つまたは複数のサービス契約118(1〜K)と通信する。
【選択図】図1

Description

本開示は、一般に、コードのメータリングされた実行に関する。
デジタル権利管理は、音楽、映画、およびその他の著作権で保護されたデータをベースとするマテリアルなど、「コンテンツ」の保護に焦点をあて、広範囲にわたって扱ってきた。具体的には、そのようなマテリアルを、コピー、ならびにコンテンツプロバイダとコンテンツ消費者の間のライセンス契約に違反する他の使用から保護するために使用することができる様々な暗号化戦略(strategy)の研究が行われてきた。
実行可能ソフトウェアコードは、従来、消費者がソフトウェア購入(「シュリンク包装された」、またはダウンロードされた)を行い、コンピュータシステム上にそのソフトウェアをインストールし、ライセンス契約に同意するという異なるモデルに従ってきた。上記の時点で、従来のシステムおよび方法は、(通常、ソフトウェアをインストールすることができるマシンの数を規定するライセンス契約に合うように)消費者が、ソフトウェア購入に含まれるコードの任意の部分を所望される任意の度合いで実行することを許す。
前述した実行可能ソフトウェアに関する現行のライセンスモデルは、ソフトウェア購入決定を行う際、「全か無か(all or nothing)」の選択、すなわち、すべての費用を被り、すべての恩恵を受けるか、またはすべての費用とすべての恩恵をなしで済ますかの選択を消費者に与える。このため、購入分析には、通常、消費者が、使用の閾値レベルを超えることを予想しているかどうかについての判定を必要とする。超えると予想する場合、購入が行われ、超えると予想しない場合、購入は行われない。一部の状況では、このモデルは、ソフトウェア製作者として満足できるものではない可能性がある。というのは、消費者が、自身のソフトウェア製品の使用が少ないと予想して購入を行うことを断った場合、売れ行きが低下するからである。このモデルは、消費者にも同様に満足のいくものではない。というのは、消費者は、ソフトウェア製品の必要性を不正確に見積る可能性があるからである。そのような見込み違いにより、購入品がほとんど使用されないこと、または予想したよりも大きかったニーズが満たされないことになる可能性がある。さらに、消費者が、使用が少ないと正しく見積り、購入をなしで済ませた場合でも、消費者のソフトウェア製品の必要性が満たされていないため、不満が存在する。
したがって、ソフトウェアコードの動作のライセンス契約を行う代替の技術の必要性が存在する。
ランタイムにコードの実行をメータリング(metering)するためのシステムおよび方法を説明する。一実装では、保護されたサービスの実行を要求するコールが受け取られる。これに応答して、実行の許可が要求される。許可を求める要求が分析される。許可の付与は、この分析に基づく。
添付の図面を参照して詳細な説明を述べる。図では、符号の左端の数字により、その符号が最初に出現する図が特定される。異なる図における同一の符号の使用は、類似するアイテム、または同一のアイテムを示す。
概要
以下の説明は、コードの実行をメータリングするシステムおよび方法を対象とする。そのようなシステムおよび方法は、コンピュータシステム、携帯電話、その他多数などのあらゆるコード実行デバイスに適合可能である。一実装では、アプリケーション、またはライブラリとして編成された複数のアプリケーションが、やはりライブラリとして構成されることが可能な1つまたは複数の保護されたサービスの動作を呼び出すコールを行う。保護されたサービスは、料金請求、ソフトウェアライセンス契約、セキュリティ、児童保護、または他の諸目的に関連する理由などで、動作および機能が管理されることが所望される実行可能コードであることが可能である。それぞれの保護されたサービスの実行は、別々に管理されることが可能であるため、実行可能コードのライセンス契約は、「粒状(granular)」にすることができ、すなわち、実行可能コードの小さい機能ブロックのライセンス契約を行い、それにより、より大きいコードブロックのライセンス契約を行うことの代替を提供することができる。これは、ベンダが利用するための貴重な販売ツールを提供することができる。というのは、そのようなツールにより、消費者が、実行することを所望するコードだけのライセンス契約を行うことが可能になるからである。
アプリケーションによって呼び出されると、保護されたサービスは、保護されたサービスを呼び出したアプリケーションが、そうする許可を有するかどうかを判定する分析を実行するようにメータリングエンジンに求める。許可は、通常、メータリングデータに鑑みて評価されるサービス契約で定められる。例えば、サービス契約は、保護されたサービスに対するアプリケーションによるある回数のコールを、場合により、時間に応じて、許すことが可能である。この場合、保護されたサービスに対する以前のコールの履歴、および、場合により、以前のコールの回数が、メータリングデータに含まれる。メータリングエンジンによるサービス契約およびメータリングデータの分析により、保護されたサービスの実行を求めるアプリケーションの要求の許可または拒否の決定がもたらされる。次に、許可される場合、保護されたサービスが実行され、結果をアプリケーションに返す。
典型的な装置
図1は、コンピュータシステム、携帯電話、PDA,エンターテイメントデバイス(例えば、セットトップボックス、ケーブルボックス、デジタルオーディオプレーヤー、DVDなど)、あるいはソフトウェアを実行することができる他のデバイスであることが可能なコード実行デバイス100の例を示す。アプリケーション102、またはアプリケーションのライブラリ102(1)ないし102(N)が、デバイス100上で実行されるように構成される。アプリケーションは、任意のタイプのソフトウェアであることが可能である。可能なアプリケーションの例には、ワークステーション上で実行されるように構成されたオフィス生産性ソフトウェア、または携帯電話上で実行されるように構成されたテキストメッセージングアプリケーションが含まれる。例示的なアプリケーションライブラリ102(1)ないし102(N)は、例えば、オフィス生産性スイート(suite)などのより大型のプログラムに関連する複数の機能ブロックを含むことが可能である。
アプリケーション102は、1つまたは複数の保護されたサービス106(1)ないし106(J)に対してコールを行うように構成される。保護されたサービスは、以下により完全に明らかにするとおり、メータリングされたコード実行の対象となるという点で、「保護されている」。保護されたサービスは、ほとんどあらゆる目的で構成されることが可能な実行可能ソフトウェアルーチンである。例えば、コード実行デバイス100が、携帯電話である場合、保護されたサービスは、動作がメータリングされるべき機能をサポートすることができる。そのような環境では、保護されたサービスは、テキストメッセージを送信すること、自動転送(call−forwarding)セットアップを円滑にすること、あるいはメータリングされた実行が所望される他の機能などの諸機能をサポートすることができる。コード実行デバイス100がワークステーションである代替の実施例では、保護されたサービスは、動作がメータリングされるべきオフィス生産性スイートの拡張された諸機能をサポートすることができる。そのような環境では、保護されたサービスは、頻繁に使用されることも、そうでないことも可能な諸機能をサポートすることができる。例えば、保護されたサービスは、pdfファイルの作成、外国語スペルチェッカ(foreign spell−checker)の動作、あるいはメータリングされた実行が所望される他の機能などの諸機能をサポートすることができる。
それぞれの保護されたサービス106は、アプリケーション102によって呼び出されると、メータリングエンジン108を呼び出すように構成される。メータリングエンジン108は、アプリケーション102、または直接の呼び出し元(例えば、スタック内に位置することが可能な)が、保護されたサービス106を実行する許可を有するかどうかの判定を行う。メータリングエンジン108に対する保護されたサービス106からのコールは、通常、安全な伝送レイヤ110を使用して行われる。安全な伝送レイヤは、強固な暗号法、安全なソケット、あるいは安全な通信のための任意の従来の、または新たに開発された戦略を利用することができる。
一実装では、アプリケーション102および保護されたサービス106は、単一のランタイムエリア内に配置されることが可能であることに留意されたい。代替として、アプリケーション102と保護されたサービス106は、それぞれ、各ランタイムエリア内に配置されたメモリが104を境界とする別々のランタイムエリア103、105において実行されてもよい。同様に、メータリングエンジン108は、112を境界とするメモリ内の別個のランタイムエリア107内で、または別個のマシンまたはデバイスにおいて実行されることが可能であるが、一部の実装では、メータリングエンジン108は、アプリケーション102および/または保護されたサービス106と同一のランタイムエリア内で実行されることが可能である。
典型的なメータリングエンジン108内の構造を図1に示す。実施(enforcement)エンジン114が、実行する許可を要求する際、アプリケーション102によって呼び出された保護されたサービス106と安全な形で通信するように構成される。実施エンジン114は、メータリングデータの安全なストア116、および1つまたは複数のサービス契約118(1)〜118(K)と通信するようにさらに構成される。
メータリングデータの安全なストア116は、1つまたは複数の保護されたサービスの使用量に関係のあるデータを含むように構成される。例えば、メータリングデータ116は、アプリケーションが各コールを行って、任意の保護されたサービスが呼び出された合計回数、およびコールの時刻に関する情報を含むことが可能である。そのようなデータは、例えば、コード実行デバイス100が携帯電話であり、問題の保護されたサービス106が、テキストメッセージングサービスを提供するために構成されていることが可能である場合に役立つ。この例では、メータリングデータ116は、過去のテキストメッセージの数および時刻に関する情報を含むことが可能である。この情報は、保護されたサービス106のさらなる実行が許されるかどうかを判定するのに、多くの状況において役立つであろう。
1つまたは複数のサービス契約118(1)〜118(K)が、メータリングエンジン108内部に含まれることが可能である。サービス契約118は、1つまたは複数の保護されたサービス106の使用を規定する規則を含む。例えば、サービス契約118内の規則は、保護されたサービス106が実行されることが可能な最大回数、またはそのようなサービスがある期間内に実行されることが可能な最大回数を示すことが可能である。代替として、サービス契約118内の規則は、ある日付を課し、その日付を過ぎると、保護されたサービスの実行がもはや許されないことも可能である。読者には容易に理解されるとおり、任意の数、および任意のタイプの規則が、サービス契約内に含まれることが可能である。
実装に応じて、1つまたは複数のサービス契約118が存在することが可能である。メータリングエンジン108が携帯電話内に構成された実装では、1つまたは複数の保護されたサービスを規定する単一のサービス契約118が存在することが可能である。メータリングエンジン108が、コンピュータで使用されるように構成された別の実装では、より複雑なセットの保護されたサービス106(1)〜106(J)の実行を規定する規則を提供する複数のサービス契約118(1)〜118(K)が存在することが可能である。
図1は、104、112を境界とする別々のランタイムエリア103、105、107の1つまたは複数を伴って解釈されることも、伴わずに解釈されることも可能である。一実施形態では、アプリケーション102、保護されたサービス106、およびメータリングエンジン108の1つまたは複数は、保護されたメモリエリア103、105、107を使用することなどにより、別々のランタイム環境において動作することができる。代替の実施形態では、1つまたは複数の保護されたランタイム環境103、105、107は、結合されてもよい。さらに、ソフトウェア102、106、および108のいくつか、またはすべては、被管理コード(managed code)環境の一部であること、またはその環境内に含まれることが可能である。被管理コード環境の一例が、マイクロソフトコーポレーション(会社名)からの.NETソフトウェア技術である。
図1のコード実行デバイス100は、図示するとおり、モノリシックであることが可能であり、したがって、メータリングエンジン108を含むことが可能である。代替として、コード実行デバイスは、図2に示すとおり、複合型(compound)であってもよい。図2の実装では、コード実行デバイス200は、メータリングエンジン108を含む遠隔に配置されたデバイス202と通信する。この例では、コード実行デバイス200とメータリングエンジン108との間の通信は、所望に応じて、インターネットを介して、または他のシステムおよび方法によって行われることが可能である。
例示的な方法
図3は、保護されたサービスの実行をメータリングするための例示的なプロセス300を表す流れ図である。表されたプロセスの要素は、例えば、ASIC上のハードウェア論理ブロックを含む任意の適切な手段によって、またはプロセッサ可読媒体上に定義されたプロセッサ可読命令の実行によって実行されることが可能である。
本明細書で使用する「プロセッサ可読媒体」は、プロセッサによって使用される、または実行される命令を含む、格納する、通信する、伝搬する、またはトランスポートすることができる任意の手段であることが可能である。プロセッサ可読媒体は、限定としてではなく、電子、磁気、光学、電磁、赤外線、または半導体のシステム、装置、デバイス、または伝搬媒体であることが可能である。プロセッサ可読媒体のより具体的な例には、とりわけ、1つまたは複数の線を有する電気接続、ポータブルコンピュータディスケット、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能なプログラマブル読み取り専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、再書き込み可能CD(CD−RW)、ポータブルCD−ROM(compact disc read−only memory)が含まれる。
図3を再び参照すると、プロセス300は、多くの異なるコンピューティング環境において実施することができるが、説明のため、図1のコード実行デバイス100に関連して説明する。ブロック302で、アプリケーション102が、1つまたは複数の保護されたサービス106に含まれる機能の必要性があると判定する。これに応じて、アプリケーションは、保護されたサービスの実行を要求するコールを行い、このコールが、保護されたサービス106によって受け取られる。
ブロック304で、安全な接続チャネルまたは通信チャネルが、保護されたサービス106とメータリングエンジン108の間で、通常、開かれる。前述したとおり、メータリングエンジン108は、保護されたサービス106と同一のコード実行デバイス100上に含まれることが可能である。代替として、メータリングエンジンは、遠隔に配置されてもよい。これが該当する場合、安全な通信チャネルは、インターネット、またはその他のネットワークを介して作成されることが可能である。
ブロック306で、メッセージが、保護されたサービスからメータリングエンジンに送られる。ブロック304で安全な接続またはチャネルが開かれている場合、暗号化は、通常、要求されない。しかし、安全な接続またはチャネルが利用できない場合、メッセージは、Pretty Good Privacy(登録商標)暗号法、またはその他の暗号法の適用などにより、通常、暗号化される。ブロック308で、保護されたサービスを実行する許可を要求するメッセージが、メータリングエンジンによって受け取られる。
ブロック310で、保護されたサービスを使用する許可が、サービス契約118、ならびにメータリングデータの安全なストア116から獲得されたデータの分析に基づき、メータリングエンジン108によって判定される。サービス契約は、保護されたサービス106の動作を規定する1つまたは複数の規則を含む。規則の例には、所定の回数を超える保護されたサービスの使用、またはある日付を過ぎた保護されたサービスの使用に対する制限が含まれる。同様に、多種多様な規則も構想することができる。
保護されたサービスの使用を許可する、または拒否する決定を行う際、メータリングエンジン108は、通常、メータリングデータの安全なストア116にアクセスし、ストア116は、サービス契約118内に含まれる規則が適用されることが可能な情報を提供する。ブロック312で、メータリングデータ116が、保護されたサービスによって行われたコールを反映するように更新される。例えば、サービス契約118内の規則が、保護されたサービスの許される実行回数を明示している場合、メータリングデータ116は、保護されたサービスの追加の実行を反映するように更新される。
ブロック314で、メータリングエンジンによる分析により、保護されたサービスを実行する許可が適切に付与されることが示された場合、許可コードが、メータリングエンジンによって発行され、代替として、拒否コードが発行されることが可能である。これに応じて、保護されたサービス106が実行される(ブロック316)。ブロック318で、保護されたサービスは、動作の結果を呼び出し側アプリケーション102に返すことができる。
代替として、メータリングエンジンによる分析が、保護されたサービスの使用の拒否をもたらした場合、保護されたサービスは、実行できなかったという通知を呼び出し側アプリケーション102に返すように指示される(ブロック320)。
流れ図、ならびに流れ図のブロックに関連する本文で1つまたは複数の方法を開示したが、ブロックは、必ずしもブロックが提示された順序で実行される必要はなく、代替の順序も、同様の利点をもたらすことが可能であることを理解されたい。さらに、方法は、排他的ではなく、単独でも、互いに組み合わせても実行することができる。
例示的なコード実行デバイス
図4は、コードのメータリングされた実行が実施されることが可能なコード実行システム100を示す。任意のタイプのコード実行デバイスが、コードのメータリングされた実行を利用することができるが、図4の実施例では、コード実行システム100は、コード実行がメータリングされることが可能なコンピュータワークステーションとして構成されている。
コード実行システム100は、コンピュータ402の形態の汎用コンピューティングシステムを含む。コンピュータ402のコンポーネントには、1つまたは複数のプロセッサまたは処理装置404、システムメモリ406、ならびにプロセッサ404からシステムメモリ406までを含む様々なシステムコンポーネントを結合するシステムバス408が含まれることが可能であるが、以上には限定されない。システムバス408は、様々なバスアーキテクチャのいずれかを使用する、メモリバスまたはメモリコントローラ、周辺バス、PCI(Peripheral Component Interconnect)バス、グラフィック専用高速バス(accelerated graphics port)、およびプロセッサバスまたはローカルバスを含むいくつかのタイプのバス構造の1つまたは複数を代表する。
コンピュータ402は、通常、様々なコンピュータ可読媒体を含む。そのような媒体は、コンピュータ402がアクセスすることができる任意の利用可能な媒体であることが可能であり、揮発性媒体と不揮発性媒体、リムーバブルな媒体と固定の媒体がともに含まれる。システムメモリ406は、ランダムアクセスメモリ(RAM)410のような不揮発性メモリの形態、および/または読み取り専用メモリ(ROM)412のような不揮発性メモリの形態でコンピュータ可読媒体を含む。始動時などに、コンピュータ402内部の要素間で情報を転送するのを助ける基本ルーチンを含む基本入出力システム(BIOS)414が、ROM412の中に格納される。RAM410は、通常、処理装置404が即時にアクセスすることができ、かつ/または現在、処理しているデータおよび/またはプログラムモジュール群を含む。
コンピュータ402は、他のリムーバブルな/固定の、揮発性/不揮発性のコンピュータ記憶媒体も含むことが可能である。例として、図4は、固定の不揮発性磁気媒体(図示せず)に対して読み取りおよび書き込みを行うためのハードディスクドライブ416、リムーバブルな不揮発性の磁気ディスク420(例えば、「フロッピー(登録商標)ディスク」)に対して読み取りおよび書き込みを行うための磁気ディスクドライブ418、およびCD−ROM、DVD−ROM、または他の光媒体などの、リムーバブルな不揮発性の光ディスク424に対して読み取りおよび/または書き込みを行うための光ディスクドライブ422を示す。ハードディスクドライブ416、磁気ディスクドライブ418、および光ディスクドライブ422はそれぞれ、1つまたは複数のデータ媒体インタフェース425でシステムバス408に接続される。代替として、ハードディスクドライブ416、磁気ディスクドライブ418、および光ディスクドライブ422は、SCSIインタフェース(図示せず)でシステムバス408に接続することもできる。
ディスクドライブ群、および関連するコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータの不揮発性ストレージをコンピュータ402に提供する。この実施例は、ハードディスク416、リムーバブルな磁気ディスク420、およびリムーバブルな光ディスク424を示しているが、磁気カセットまたは他の磁気記憶装置、フラッシュメモリカード、CD−ROM、デジタルバーサタイルディスク(DVD)または他の光ストレージ、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的に消去可能なプログラマブル読み取り専用メモリ(EEPROM)などの、コンピュータがアクセス可能なデータを格納することができる他のタイプのコンピュータ可読媒体も、例示的なコンピューティングシステムおよびコンピューティング環境を実施するのに利用できることを理解されたい。
例として、オペレーティングシステム426、1つまたは複数のアプリケーションプログラム428、他のプログラムモジュール群430、およびプログラムデータ432を含め、任意の数のプログラムモジュールが、ハードディスク416、磁気ディスク420、光ディスク424、ROM412、および/またはRAM410に格納されることが可能である。そのようなオペレーティングシステム426、1つまたは複数のアプリケーションプログラム428、他のプログラムモジュール群430、およびプログラムデータ432のそれぞれ(または以上の何らかの組み合わせ)が、ユーザネットワークアクセス情報のキャッシュスキーム(caching scheme)の実施形態を含むことが可能である。
コンピュータ402は、通信媒体として特定される様々なコンピュータ/プロセッサ可読媒体を含むことが可能である。通信媒体は、通常、搬送波などの変調されたデータ信号、またはその他のトランスポート機構でコンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを実体化し、あらゆる情報配信媒体が含まれる。「変調されたデータ信号」という用語は、信号に情報を符号化するような形で特性の1つまたは複数が設定または変更された信号を意味する。限定としてではなく例として、通信媒体には、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響媒体、RF媒体、赤外線媒体、およびその他の無線媒体などの無線媒体が含まれる。以上の媒体のいずれかの組み合わせも、コンピュータ可読媒体の範囲内に含まれる。
ユーザは、キーボード434やポインティングデバイス436(例えば、「マウス」)などの入力デバイス群を介して、コマンドおよび情報をコンピュータシステム402に入力することができる。その他の入力デバイス群438(特に図示せず)には、マイク、ジョイスティック、ゲームパッド、サテライトディッシュ、シリアルポート、スキャナ、および/または同様のデバイスが含まれることが可能である。以上の入力デバイス群、およびその他の入力デバイス群は、システムバス408に結合された入出力インタフェース群440を介して処理装置404に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)などの他のインタフェースおよびバス構造で接続してもよい。
モニタ442、または他のタイプのディスプレイデバイスも、ビデオアダプタ444のようなインタフェースを介してシステムバス408に接続することができる。モニタ442に加え、その他の出力周辺デバイス群には、入出力インタフェース群440を介してコンピュータ402に接続することができるスピーカ(図示せず)やプリンタ446などのコンポーネントが含まれることが可能である。
コンピュータ402は、リモートコンピューティングデバイス448のような、1つまたは複数のリモートコンピュータに対する論理接続を使用するネットワーク化された環境において動作することができる。例として、リモートコンピューティングデバイス448は、パーソナルコンピュータ、ポータブルコンピュータ、サーバ、ルータ、ネットワークコンピュータ、ピアデバイス、またはその他の一般的なネットワークノードであることが可能である。リモートコンピューティングデバイス448は、コンピュータシステム402に関連して本明細書で説明した要素および機能の多く、またはすべてを含むことが可能なポータブルコンピュータとして例示されている。
コンピュータ402とリモートコンピュータ448との間の論理接続が、ローカルエリアネットワーク(LAN)450および一般的なワイドエリアネットワーク(WAN)452として表されている。そのようなネットワーキング環境は、オフィス、企業全体のコンピュータ網、イントラネット、およびインターネットで一般的である。LANネットワーキング環境において実装される場合、コンピュータ402は、ネットワークインタフェースまたはネットワークアダプタ454を介してローカルネットワーク450に接続される。WANネットワーキング環境において実装される場合、コンピュータ402は、通常、モデム456、または広域ネットワーク452を介して通信を確立するための他の手段を含む。コンピュータ402の内蔵または外付けとすることが可能なモデム456は、入出力インタフェース群440、または他の適切な機構を介して、システムバス408に接続することができる。図示したネットワーク接続は例示であり、コンピュータ402および448の間で通信リンクを確立する他の手段も使用することができることを理解されたい。
コンピューティング環境400で例示したようなネットワーク化された環境では、コンピュータ402に関連して示したプログラムモジュール群、またはプログラムモジュール群の諸部分は、リモートメモリ記憶装置の中に格納することができる。例として、リモートアプリケーションプログラム群458が、リモートコンピュータ448のメモリデバイス上に存在する。例示のため、オペレーティングシステムなどのアプリケーションプログラム群、およびその他の実行可能プログラムコンポーネントは、本明細書では、個別のブロックとして示しているが、そのようなプログラム群およびコンポーネントは、様々な時点で、コンピュータシステム402の異なる記憶コンポーネントに常駐し、コンピュータのデータプロセッサによって実行されることが認識されよう。
結論
本発明を構造上の特徴および/または方法上の動作に特有の言葉遣いで説明してきたが、添付の特許請求の範囲で定義される本発明は、説明した特定の特徴または動作に必ずしも限定されないことを理解されたい。むしろ、特定の特徴および動作は、請求する発明を実施するための例示的形態として開示している。
典型的なアプリケーションまたはアプリケーションライブラリ、複数の保護されたサービス、およびメータリングエンジンが内部に示されたコード実行デバイスの実施例を示す図である。 複合構造が、メータリングエンジンからコード実行デバイスを分離するコード実行デバイスの第2の実施例を示す図である。 保護されたサービスの実行をメータリングするための方法を特に示す、メータリングされたコード実行の例示的な実装を表す流れ図である。 コードのメータリングされた実行が実施されることが可能な例示的なコード実行デバイスを示す図である。
符号の説明
100、200 コード実行デバイス
102(1) アプリケーション
106(1) 保護されたサービス
108 メータリングエンジン
110 安全な伝送レイヤ
114 実施エンジン
116 メータリングデータの安全なストア
118(1) サービス契約
202 リモートデバイス

Claims (36)

  1. コードの実行をメータリングする方法であって、
    ランタイムエリア内の保護されたサービスの実行を要求するコールを受け取るステップと、
    前記実行の許可を要求するステップと、
    許可を求める前記要求を分析するステップと、
    前記分析を前記許可のステータスの基礎にするステップとを備えることを特徴とする方法。
  2. 前記分析は、前記第1のランタイムエリアとは別個の第2のランタイムエリア内で行われることを特徴とする請求項1に記載の方法。
  3. 前記第1のランタイムエリアおよび前記第2のランタイムエリアは、メモリの異なるパーティション内に存在することを特徴とする請求項2に記載の方法。
  4. 前記第1のランタイムエリアは、第1のコンピューティングデバイスに配置され、前記第2のランタイムエリアは、第2のコンピューティングデバイスに配置されることを特徴とする請求項2に記載の方法。
  5. 前記要求を分析するステップは、契約およびメータリングデータを入力として使用するステップを含むことを特徴とする請求項1に記載の方法。
  6. 前記分析を反映するように前記メータリングデータを更新するステップをさらに備えることを特徴とする請求項5に記載の方法。
  7. 許可を要求するステップは、前記保護されたサービスと、前記分析を実行するように構成されたメータリングエンジンとの間で安全な接続を開くステップを含むことを特徴とする請求項1に記載の方法。
  8. 許可を要求するステップは、前記第1のランタイムエリア内の前記保護されたサービスから前記第2のランタイムエリア内のメータリングエンジンに暗号化されたメッセージを送るステップを含むことを特徴とする請求項1に記載の方法。
  9. 前記許可が与えられ、前記保護されたサービスを実行するステップと、
    前記実行の結果を前記コールを開始したアプリケーションに返すステップとをさらに備えることを特徴とする請求項1に記載の方法。
  10. 前記許可が与えられず、前記保護されたサービスを実行できなかったという通知を前記コールを開始したアプリケーションに返すステップをさらに備えることを特徴とする請求項1に記載の方法。
  11. コードの実行をメータリングするためのプロセッサ実行可能命令を含むプロセッサ可読媒体であって、前記プロセッサ実行可能命令は、
    保護されたサービスの実行を求める要求を受け取るための命令と、
    前記保護されたサービスを実行する許可を要求するための命令であって、前記許可要求は、前記保護されたサービスからメータリングエンジンに対して行われる命令と、
    前記メータリングエンジンを使用して、メータリングデータに鑑みて契約を分析して、アプリケーションにより前記保護されたサービスを使用する前記許可要求が許されるべきかどうかを判定するための命令とを備えることを特徴とする媒体。
  12. 前記メータリングエンジンは、前記保護されたサービスが内部で動作するランタイムエリアとは別個のランタイムエリア内で動作することを特徴とする請求項11に記載のプロセッサ可読媒体。
  13. 前記分析するための命令は、
    前記メータリングデータおよび前記保護されたサービスのIDを分析に対する入力として使用して、前記契約を分析するための命令と、
    前記分析を反映するように前記メータリングデータを更新するための命令とを含むことを特徴とする請求項11に記載のプロセッサ可読媒体。
  14. 許可を要求するための命令は、前記保護されたサービスと前記メータリングエンジンとの間で安全な接続を開くための命令を含むことを特徴とする請求項11に記載のプロセッサ可読媒体。
  15. コード実行の前記メータリングは、被管理コード環境において実行されることを特徴とする請求項11に記載のプロセッサ可読媒体。
  16. 前記許可要求が許可された場合、前記保護されたサービスを実行するための命令と、
    前記実行の結果を前記アプリケーションに返すための命令とをさらに含むことを特徴とする請求項11に記載のプロセッサ可読媒体。
  17. 前記許可要求が許可されなかった場合、実行できなかったという通知を前記アプリケーションに返すための命令をさらに含むことを特徴とする請求項11に記載のプロセッサ可読媒体。
  18. 前記保護されたサービスと前記メータリングエンジンの間の通信を暗号法を使用して保護するための命令をさらに含むことを特徴とする請求項11に記載のプロセッサ可読媒体。
  19. 安全な通信チャネルを間に有する第1のランタイムエリアおよび第2のランタイムエリアと、
    保護されたサービスであって、前記第1のランタイムエリア内の該保護されたサービスの実行を求める要求をアプリケーションから受け取るように構成されたものと、
    前記要求を受け取り、前記第2のランタイムエリア内で動作して、メータリングデータに規則を適用することにより、前記要求に応答して許可コードまたは拒否コードを返すように構成されたメータリングエンジンとを備えることを特徴とするコード実行デバイス。
  20. 前記メータリングエンジンは、
    前記保護されたサービスとの安全な通信のために構成された実施エンジンと、
    前記保護されたサービスの動作を規定する前記規則を前記実施エンジンに供給するように構成されたサービス契約と、
    前記メータリングデータが内部に含まれ、前記保護されたサービスの過去の動作を反映する履歴データを前記実施エンジンに供給するように構成された安全なストアとを含むことを特徴とする請求項19に記載のコード実行デバイス。
  21. 前記メータリングエンジンは、
    前記保護されたサービスのID、およびメータリングデータの安全なストアからのデータを前記許可コードまたは前記拒否コードのリターンを提供する分析に対する入力として使用し、
    前記分析を反映するようにメータリングデータの前記安全なストアを更新するように構成されることを特徴とする請求項19に記載のコード実行デバイス。
  22. 携帯電話であることを特徴とする請求項19に記載のコード実行デバイス。
  23. 被管理コード環境内で使用されるように構成されることを特徴とする請求項19に記載のコード実行デバイス。
  24. 複合デバイスであり、前記保護されたサービスは、前記複合デバイスの第1の部分に含まれ、前記メータリングエンジンは、前記複合デバイスの第2の部分に含まれ、前記複合デバイスの前記第1の部分は、前記複合デバイスの前記第2の部分から遠隔に配置されることを特徴とする請求項19に記載のコード実行デバイス。
  25. 保護されたサービスが内部に含まれる該保護されたサービスのライブラリをさらに備えることを特徴とする請求項19に記載のコード実行デバイス。
  26. アプリケーションが内部に含まれる該アプリケーションのライブラリをさらに備えることを特徴とする請求項19に記載のコード実行デバイス。
  27. 保護されたサービスのライブラリからサービスを消費するように構成されたアプリケーションと、
    前記アプリケーションから実行を求める要求を受け取るように構成された、保護されたサービスの前記ライブラリ内の保護されたサービスと、
    前記保護されたサービスの動作を規定する規則に基づき、前記要求に許可コードまたは拒否コードを返すように構成されたメータリングエンジンとを備えることを特徴とする被管理コード環境。
  28. 前記保護されたサービスおよび前記メータリングエンジンは、異なるランタイムエリア内で動作することを特徴とする請求項27に記載の被管理コード環境。
  29. 前記メータリングエンジンは、
    前記保護されたサービスとの安全な通信のために構成された実施エンジンと、
    前記保護されたサービスの動作を規定する前記規則を前記実施エンジンに供給するように構成されたサービス契約と、
    前記保護されたサービスおよび前記アプリケーションの過去の動作を反映する履歴データを前記実施エンジンに供給するように構成されたメータリングデータの安全なストアとを含むことを特徴とする請求項27に記載の被管理コード環境。
  30. 前記メータリングエンジンは、
    前記保護されたサービスの動作を規定する前記規則を含むサービス契約と、
    メータリングデータの安全なストアと、
    前記アプリケーションのID、前記保護されたサービスのID、およびメータリングデータの前記安全なストアからのデータを前記分析に対する入力として使用して前記サービス契約を分析すること、および
    前記分析を反映するようにメータリングデータの前記安全なストアを更新することにより、前記許可コードまたは前記拒否コードを返すように構成された実施エンジンとを含むことを特徴とする請求項27に記載の被管理コード環境。
  31. コードの実行をメータリングするためのコード実行デバイスであって、
    アプリケーションから保護されたサービスを呼び出すための手段と、
    前記保護されたサービスからメータリングエンジンを呼び出すための手段と、
    契約を分析して、前記アプリケーションによる前記保護されたサービスの使用を許可するか、または禁止するかを判定するための手段とを備えることを特徴とするデバイス。
  32. 許可が適切であると判定された場合、
    前記保護サービスにおいて定義された、前記アプリケーションによって要求された機能を実行するための手段と、
    前記実行の結果を前記アプリケーションに返すための手段とをさらに備えることを特徴とする請求項31に記載のコード実行デバイス。
  33. 拒否が適切であると判定された場合、前記拒否の通知を前記アプリケーションに返すための手段をさらに含むことを特徴とする請求項31に記載のコード実行デバイス。
  34. 前記契約を分析するための前記手段は、
    前記アプリケーションのID、前記保護されたサービスのID、前記契約内の規則、およびメータリングデータの安全なストアからのデータを前記分析に対する入力として使用して前記契約を分析するための手段と、
    前記分析を反映するようにメータリングデータの前記安全なストアを更新するための手段とを含むことを特徴とする請求項31に記載のコード実行デバイス。
  35. 前記メータリングエンジンを呼び出すための前記手段は、
    前記保護されたサービスと前記メータリングエンジンとの間で安全な接続を開くための手段と、
    前記保護されたサービスと前記メータリングエンジンとを異なるランタイムエリア内で動作させるための手段とを含むことを特徴とする請求項31に記載のコード実行デバイス。
  36. 前記メータリングは、被管理コード環境内で実行されることを特徴とする請求項31に記載のコード実行デバイス。
JP2005045646A 2004-03-01 2005-02-22 コードのメータリングされた実行 Pending JP2005259126A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/791,208 US7500108B2 (en) 2004-03-01 2004-03-01 Metered execution of code

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012062454A Division JP2012150829A (ja) 2004-03-01 2012-03-19 コードのメータリングされた実行

Publications (2)

Publication Number Publication Date
JP2005259126A true JP2005259126A (ja) 2005-09-22
JP2005259126A5 JP2005259126A5 (ja) 2008-05-15

Family

ID=34750583

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2005045646A Pending JP2005259126A (ja) 2004-03-01 2005-02-22 コードのメータリングされた実行
JP2012062454A Pending JP2012150829A (ja) 2004-03-01 2012-03-19 コードのメータリングされた実行

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2012062454A Pending JP2012150829A (ja) 2004-03-01 2012-03-19 コードのメータリングされた実行

Country Status (6)

Country Link
US (1) US7500108B2 (ja)
EP (1) EP1571526A1 (ja)
JP (2) JP2005259126A (ja)
KR (1) KR20060043336A (ja)
CN (1) CN1664742B (ja)
ES (1) ES2326398B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012207456A (ja) * 2011-03-30 2012-10-25 Toto Ltd 衛生洗浄装置

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7487495B2 (en) * 2004-04-19 2009-02-03 Lumension Security, Inc. Generic framework for runtime interception and execution control of interpreted languages
JP4440825B2 (ja) * 2005-05-17 2010-03-24 株式会社バンダイナムコゲームス ゲームプログラム記録媒体
US8214296B2 (en) * 2006-02-14 2012-07-03 Microsoft Corporation Disaggregated secure execution environment
EP1901190A1 (en) 2006-09-15 2008-03-19 Sony DADC Austria AG Method and system for managing access to add-on data files
EP2078273A1 (en) * 2006-11-02 2009-07-15 International Business Machines Corporation A method, system and computer program for metering usage of software products with a dynamically optimised license use
US20080194234A1 (en) * 2007-02-08 2008-08-14 Dlb Finance & Consultancy B.V. System and method of establishing a telephone connection
US20080250250A1 (en) * 2007-04-04 2008-10-09 Microsoft Corporation Method and Apparatus for Using USB Flash Devices and Other Portable Storage as a Means to Access Prepaid Computing
US20090158403A1 (en) * 2007-12-14 2009-06-18 Dirk Leonard Benschop Method and system for permitting or denying service
US8239921B2 (en) 2008-01-03 2012-08-07 Dlb Finance & Consultancy B.V. System and method of retrieving a service contact identifier
US8463921B2 (en) * 2008-01-17 2013-06-11 Scipioo Holding B.V. Method and system for controlling a computer application program
US8374968B2 (en) * 2008-02-22 2013-02-12 Uniloc Luxembourg S.A. License auditing for distributed applications
US9355224B1 (en) * 2008-05-16 2016-05-31 Kaspersky Lab, Zao System and method for dynamic adjustment of expiration date for authorization key for antivirus products
US8190673B2 (en) * 2008-07-30 2012-05-29 Microsoft Corporation Enforcement of object permissions in enterprise resource planning software
EP2338244B1 (en) * 2008-09-12 2021-06-16 Assa Abloy Ab Use of a secure element for writing to and reading from machine readable credentials
US9032058B2 (en) * 2009-03-13 2015-05-12 Assa Abloy Ab Use of SNMP for management of small footprint devices
EP2406749B1 (en) * 2009-03-13 2018-06-13 Assa Abloy Ab Transfer device for sensitive material such as a cryptographic key
US20100235900A1 (en) * 2009-03-13 2010-09-16 Assa Abloy Ab Efficient two-factor authentication
US8474026B2 (en) * 2009-03-13 2013-06-25 Assa Abloy Ab Realization of access control conditions as boolean expressions in credential authentications
US8806190B1 (en) 2010-04-19 2014-08-12 Amaani Munshi Method of transmission of encrypted documents from an email application
KR101624606B1 (ko) * 2015-08-19 2016-05-27 숭실대학교 산학협력단 원격 코드 실행을 이용한 실행 무결성 검증 시스템 및 그 방법
US11630137B2 (en) * 2020-06-29 2023-04-18 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Reliable hardware metering

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993011480A1 (en) * 1991-11-27 1993-06-10 Intergraph Corporation System and method for network license administration
EP0715246A1 (en) * 1994-11-23 1996-06-05 Xerox Corporation System for controlling the distribution and use of composite digital works
JP2002189590A (ja) * 1998-12-28 2002-07-05 Hiroyuki Ueno ソフトウェアライセンス発行制御装置
US20020144124A1 (en) * 2001-03-12 2002-10-03 Remer Eric B. Method and apparatus to monitor use of a program
WO2003038570A2 (en) * 2001-10-30 2003-05-08 International Business Machines Corporation A computer-implemented method and system for controlling use of digitally encoded products

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4953209A (en) 1988-10-31 1990-08-28 International Business Machines Corp. Self-verifying receipt and acceptance system for electronically delivered data objects
US4941175A (en) 1989-02-24 1990-07-10 International Business Machines Corporation Tamper-resistant method for authorizing access to data between a host and a predetermined number of attached workstations
JPH0799497B2 (ja) 1990-12-14 1995-10-25 インターナショナル・ビジネス・マシーンズ・コーポレイション ソフトウェアの使用を管理するための装置及び方法
US5940504A (en) * 1991-07-01 1999-08-17 Infologic Software, Inc. Licensing management system and method in which datagrams including an address of a licensee and indicative of use of a licensed product are sent from the licensee's site
US5319705A (en) 1992-10-21 1994-06-07 International Business Machines Corporation Method and system for multimedia access control enablement
US5450593A (en) 1992-12-18 1995-09-12 International Business Machines Corp. Method and system for controlling access to objects in a data processing system based on temporal constraints
JPH07230380A (ja) 1994-02-15 1995-08-29 Internatl Business Mach Corp <Ibm> 適用業務プログラムの利用管理方法およびシステム
US5598470A (en) 1994-04-25 1997-01-28 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: Method and apparatus for utilizing a decryption block
US5564038A (en) 1994-05-20 1996-10-08 International Business Machines Corporation Method and apparatus for providing a trial period for a software license product using a date stamp and designated test period
US5652868A (en) 1994-09-27 1997-07-29 International Business Machines Corporation Data processor having BIOS decryption of emulated media images
EP0717337B1 (en) 1994-12-13 2001-08-01 International Business Machines Corporation Method and system for the secured distribution of programs
US5673317A (en) 1995-03-22 1997-09-30 Ora Electronics, Inc. System and method for preventing unauthorized programming of wireless network access devices
US5758068A (en) 1995-09-19 1998-05-26 International Business Machines Corporation Method and apparatus for software license management
US5757914A (en) * 1995-10-26 1998-05-26 Sun Microsystems, Inc. System and method for protecting use of dynamically linked executable modules
US5692047A (en) 1995-12-08 1997-11-25 Sun Microsystems, Inc. System and method for executing verifiable programs with facility for using non-verifiable programs from trusted sources
US5752041A (en) 1995-12-15 1998-05-12 International Business Machines Corporation Method and system for licensing program management within a distributed data processing system
EP0880840A4 (en) * 1996-01-11 2002-10-23 Mrj Inc DEVICE FOR CONTROLLING ACCESS AND DISTRIBUTION OF DIGITAL PROPERTY
US5790664A (en) * 1996-02-26 1998-08-04 Network Engineering Software, Inc. Automated system for management of licensed software
JP3617882B2 (ja) 1996-03-08 2005-02-09 株式会社東芝 セキュリティ装置及びセキュリティ実現方法
US6138238A (en) * 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
JP3937475B2 (ja) 1996-06-14 2007-06-27 キヤノン株式会社 アクセス制御システムおよびその方法
US5754763A (en) 1996-10-01 1998-05-19 International Business Machines Corporation Software auditing mechanism for a distributed computer enterprise environment
US5925127A (en) * 1997-04-09 1999-07-20 Microsoft Corporation Method and system for monitoring the use of rented software
US6112192A (en) 1997-05-09 2000-08-29 International Business Machines Corp. Method for providing individually customized content in a network
US6078909A (en) 1997-11-19 2000-06-20 International Business Machines Corporation Method and apparatus for licensing computer programs using a DSA signature
US6141754A (en) 1997-11-28 2000-10-31 International Business Machines Corporation Integrated method and system for controlling information access and distribution
US6253370B1 (en) 1997-12-01 2001-06-26 Compaq Computer Corporation Method and apparatus for annotating a computer program to facilitate subsequent processing of the program
US6134659A (en) 1998-01-07 2000-10-17 Sprong; Katherine A. Controlled usage software
US6202207B1 (en) 1998-01-28 2001-03-13 International Business Machines Corporation Method and a mechanism for synchronized updating of interoperating software
GB2333864B (en) 1998-01-28 2003-05-07 Ibm Distribution of software updates via a computer network
US6289461B1 (en) 1998-06-09 2001-09-11 Placeware, Inc. Bi-directional process-to-process byte stream protocol
US6611812B2 (en) 1998-08-13 2003-08-26 International Business Machines Corporation Secure electronic content distribution on CDS and DVDs
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6463538B1 (en) 1998-12-30 2002-10-08 Rainbow Technologies, Inc. Method of software protection using a random code generator
GB2346989A (en) 1999-02-19 2000-08-23 Ibm Software licence management system uses clustered licence servers
US6587947B1 (en) 1999-04-01 2003-07-01 Intel Corporation System and method for verification of off-chip processor code
US6594761B1 (en) * 1999-06-09 2003-07-15 Cloakware Corporation Tamper resistant software encoding
EP1109099A1 (en) 1999-12-17 2001-06-20 Alcatel Using secured calls in object-oriented software applications
US20010034839A1 (en) 1999-12-24 2001-10-25 Guenter Karjoth Method and apparatus for secure transmission of data and applications
DE10002203B4 (de) 2000-01-19 2009-12-10 Robert Bosch Gmbh Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung des Mikrorechner-Systems gespeicherten Daten
JP2001229123A (ja) * 2000-02-17 2001-08-24 Fujitsu Ltd サービス提供装置および記録媒体
WO2001071523A1 (en) 2000-03-20 2001-09-27 Hotlens.Com Inc. Transparent user and session management for web applications
JP4186381B2 (ja) 2000-05-10 2008-11-26 日本電気株式会社 プログラムを格納する記録媒体及びその実行方法
WO2001086372A2 (en) 2000-05-12 2001-11-15 Xtreamlok Pty. Ltd. Information security method and system
AU2001270814A1 (en) 2000-07-18 2002-01-30 Bitarts Limited Digital data protection arrangement
JP2002132818A (ja) 2000-10-26 2002-05-10 Seiko Epson Corp サービス提供システム、サービス提供端末、クライアント端末及び記憶媒体
US7010698B2 (en) 2001-02-14 2006-03-07 Invicta Networks, Inc. Systems and methods for creating a code inspection system
DE10108107A1 (de) 2001-02-21 2002-08-29 Philips Corp Intellectual Pty Schaltungsanordnung sowie Verfahren zum Erkennen einer Zugriffsverletzung bei einer Mikrokontrolleranordnung
US8387111B2 (en) 2001-11-01 2013-02-26 International Business Machines Corporation Type independent permission based access control
US20030084325A1 (en) 2001-11-01 2003-05-01 International Business Machines Corporation Method and apparatus for implementing permission based access control through permission type inheritance
US20030135741A1 (en) * 2001-12-04 2003-07-17 Applied Logical Systems, Llc Almost independent logically integrated license enforcement framework
US20030200267A1 (en) 2002-04-22 2003-10-23 Garrigues James F. Email management system
US7086088B2 (en) 2002-05-15 2006-08-01 Nokia, Inc. Preventing stack buffer overflow attacks
US7203833B1 (en) * 2002-12-23 2007-04-10 Microsoft Corporation History based rights computation for managed code

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993011480A1 (en) * 1991-11-27 1993-06-10 Intergraph Corporation System and method for network license administration
EP0715246A1 (en) * 1994-11-23 1996-06-05 Xerox Corporation System for controlling the distribution and use of composite digital works
JP2002189590A (ja) * 1998-12-28 2002-07-05 Hiroyuki Ueno ソフトウェアライセンス発行制御装置
US20020144124A1 (en) * 2001-03-12 2002-10-03 Remer Eric B. Method and apparatus to monitor use of a program
WO2003038570A2 (en) * 2001-10-30 2003-05-08 International Business Machines Corporation A computer-implemented method and system for controlling use of digitally encoded products
JP2005507519A (ja) * 2001-10-30 2005-03-17 インターナショナル・ビジネス・マシーンズ・コーポレーション ディジタル・エンコードされた製品の使用を制御する方法およびシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012207456A (ja) * 2011-03-30 2012-10-25 Toto Ltd 衛生洗浄装置

Also Published As

Publication number Publication date
US20050193213A1 (en) 2005-09-01
KR20060043336A (ko) 2006-05-15
EP1571526A1 (en) 2005-09-07
CN1664742B (zh) 2012-02-01
ES2326398B1 (es) 2010-07-14
US7500108B2 (en) 2009-03-03
ES2326398A1 (es) 2009-10-08
CN1664742A (zh) 2005-09-07
JP2012150829A (ja) 2012-08-09

Similar Documents

Publication Publication Date Title
JP2005259126A (ja) コードのメータリングされた実行
US9787697B2 (en) Providing security services within a cloud computing environment
US8620817B2 (en) Method and system for creating license management in software applications
US7096491B2 (en) Mobile code security architecture in an application service provider environment
JP5185820B2 (ja) 安全なマシンカウント
AU2021293965B2 (en) Preventing unauthorized package deployment in clusters
TWI465935B (zh) 用於軟體授權的系統、方法及電腦可讀取媒體
JP7388803B2 (ja) セキュア・ゲストのセキュア鍵をハードウェア・セキュリティ・モジュールに結びつけること
US11687655B2 (en) Secure execution guest owner environmental controls
CN102411693A (zh) 虚拟机的继承产品激活
US20090089881A1 (en) Methods of licensing software programs and protecting them from unauthorized use
KR20080037048A (ko) 라이센스에 따른 생산 작용 변경
US8776258B2 (en) Providing access rights to portions of a software application
AU2020233906B2 (en) Secure execution guest owner controls for secure interface control
CN111062028B (zh) 权限管理方法及装置、存储介质、电子设备
JP5091925B2 (ja) ライセンスファイルのインストール方法
CN114969832A (zh) 一种基于无服务器架构的隐私数据管理方法和系统
US11954007B2 (en) Tracking usage of common libraries by means of digitally signed digests thereof
Kaisler et al. Cloud Computing: Security Issues for Dynamic Service Migration

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110222

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110520

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111031

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120319