JP2004103009A - 保護メモリ領域への無許可アクセスを禁止するためのシステム、方法、およびプログラム - Google Patents

保護メモリ領域への無許可アクセスを禁止するためのシステム、方法、およびプログラム Download PDF

Info

Publication number
JP2004103009A
JP2004103009A JP2003300452A JP2003300452A JP2004103009A JP 2004103009 A JP2004103009 A JP 2004103009A JP 2003300452 A JP2003300452 A JP 2003300452A JP 2003300452 A JP2003300452 A JP 2003300452A JP 2004103009 A JP2004103009 A JP 2004103009A
Authority
JP
Japan
Prior art keywords
call
location
memory
area
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
JP2003300452A
Other languages
English (en)
Inventor
Bradley Ryan Harrington
ブラッドリー・ライアン・ハリントン
Kevin Brian Locke
ケヴィン・ブライアン・ロック
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2004103009A publication Critical patent/JP2004103009A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights

Abstract

【課題】 保護メモリ領域への無許可アクセスを禁止するためのシステム、方法、およびコンピュータ・プログラムを提供する。
【解決手段】 保護メモリ領域と信頼メモリ領域の両方を指定する。保護メモリ領域内のある位置にアクセスするための呼出しを受け取る。次に、その呼出しの発信位置を決定する。発信位置が信頼領域内にあるという決定に応答して、その呼出しは保護メモリ領域にアクセスすることが許可される。発信位置が信頼領域外にあるという決定に応答して、その呼出しは保護メモリ領域にアクセスすることが禁止される。
【選択図】 図6

Description

 本発明は、一般に、コンピュータ・システムの分野に関し、より具体的には、本発明は、保護メモリ領域への無許可(unauthorized)アクセスを禁止するためのシステム、方法、およびプログラムに関する。
 データ処理システム(プラットフォーム)内のロジカル・パーティショニング・オプション(LPAR)によれば、シングル・オペレーティング・システム(OS)の複数のコピーまたは複数の異種オペレーティング・システムを単一のデータ処理システム・ハードウェア・プラットフォーム上で同時に稼働することができる。オペレーティング・システム・イメージが稼働するパーティションには、プラットフォームのハードウェア・リソースのオーバラップしていないサブセットを割り当てることができる。ある実装においては、システム・リソースが本質的にパーティション間にタイム・スライスされるように、システム・リソースの何パーセントかが割り当てられる。このようなプラットフォーム割当て可能リソースには、それぞれの割込み管理領域、システム・メモリ領域、入出力(I/O)アダプタ・バス・スロットを備えた1または複数のアーキテクチャ上の個別のプロセッサが含まれる。このパーティションのリソースは、一般にシステムの基礎となる(underlying)ファームウェアによって作成され、維持され、OSイメージにとって使用可能なそれ自体のリソース・リストによって表現される。
 1のロジカル・パーティション上でのソフトウェア・エラーが他のいずれかのパーティションの正しい動作に影響しないように、そのプラットフォーム内で稼働中の各個別OSまたはOSのイメージは互いに保護されている。これは、任意の時点で、各OSイメージが直接管理すべきフラットフォーム・リソースの独立セットを割り当て、それに割り当てられていないリソースを様々なイメージが管理できないようにするためのメカニズムを提供することによって実現される。さらに、オペレーティング・システムの割当てリソースを制御する際のソフトウェア・エラーが他のイメージのリソースに影響することが防止される。従って、そのOSの各イメージまたはそれぞれの各OSは、任意の時点で、そのプラットフォーム内の割当て可能リソースの独立セットを直接制御する。
 多くのロジカル・パーティション化されたシステムはハイパーバイザを利用する。ハイパーバイザとは、ハードウェアとロジカル・パーティションとの間の特権ソフトウェアのレイヤー(layer、層)であり、パーティション保護境界(partition protection boundary)を管理し、実施するものである。ハイパーバイザは、パーティション管理ファームウェアとも言う。ハイパーバイザは、同じ物理ハードウェア上の複数の論理システムの構成、保守、稼働を担当する。ハイパーバイザは、通常、あるパーティションへの複数リソースの割当て、あるパーティションでのオペレーティング・システムのインストール、あるパーティションでのオペレーティング・システムの始動および停止、あるパーティションの主記憶域のダンプ、パーティション間の通信、その他の機能の提供を担当する。これらの機能を実現するために、ハイパーバイザは、主記憶域管理、同期プリミティブ、I/O機構、ヒープ管理、その他の機能など、自分自身の低レベル動作も実現しなければならない。
 ハイパーバイザ・コードに含まれるハイパーバイザ機能にアクセスすることで、ハイパーバイザ・コードの機能性(functionality)が変更される可能性がある。その結果、ハイパーバイザの機能性の変更は、ハイパーバイザはすべてのパーティションをサポートするので、システム全体の安定性に影響することになる。
 したがって、保護領域に記憶されたソフトウェア・ルーチンを保護するために、ハイパーバイザが記憶されている領域などの保護メモリ領域への無許可アクセスを禁止するための方法、システム、およびコンピュータ・プログラムが必要になっている。
 保護メモリ領域への無許可アクセスを禁止するためのシステム、方法、およびコンピュータ・プログラムが開示される。保護メモリ領域(protected region of memory)と信頼メモリ領域(trusted region of memory)の両方を指定する。保護メモリ領域内のある位置にアクセスするための呼出しを受け取る。次に、その呼出しの発信位置を決定する。発信位置が信頼領域内にあるという決定に応答して、その呼出しは保護メモリ領域にアクセスすることが許可される。発信位置が信頼領域外にあるという決定に応答して、その呼出しは保護メモリ領域にアクセスすることが禁止される。
 本発明の上記ならびに追加の目的、特徴、および利点は、以下に示す詳細な説明で明らかになるだろう。
 本発明に特有と思われる新規の特徴は特許請求の範囲に示されている。しかし、本発明そのものならびにその好ましい使用形態、追加の目的および利点は、添付図面に関連して読んだときに以下に示す例証となる実施形態の詳細な説明を参照することにより、最もよく理解できるだろう。
 本発明の好ましい実施形態およびその利点は、添付図面を参照することにより、より十分に理解される。添付図面の同様の部分および対応する部分については同様の番号を使用する。
 本発明は、保護メモリ領域への無許可アクセスを禁止するための方法、システム、およびプログラムである。保護メモリ領域と信頼メモリ領域の両方を指定する。信頼領域から保護領域に対して行われる呼出しを許可し、実行することになる。ローグ呼出し(rogue call)、すなわち、信頼領域以外の領域から保護領域への呼出しは実行されない。このような呼出しは、保護領域にアクセスすることが許可されずに返されることになる。
 保護領域に対して行われた呼出しの発信アドレスを決定するために、リンク・レジスタの現行値(current value)を決定することになる。リンク・レジスタの現行値が信頼領域内にある場合、その呼出しは実行され、保護領域にアクセスすることが許可されることになる。しかし、リンク・レジスタの現行値が信頼領域内にない場合、その呼出しは実行されず、保護領域にアクセスすることが許可されないことになる。
 ローグ呼出しから保護する必要があるソフトウェアは、保護領域に記憶することができる。保護ソフトウェアにアクセスすることが許可される可能性のあるソフトウェア・ルーチンは、保護ソフトウェアにアクセスするために信頼領域に記憶しておかなければならない。例えば、ハイパーバイザ・コードは保護領域に記憶することができる。信頼領域に記憶されたソフトウェア・コードのみが、ハイパーバイザ・コードにアクセスすることができる。このようにして、ハイパーバイザ・コードが保護されることになる。
 図1は、本発明を実現可能なデータ処理システムのネットワークの図示したものである。ネットワーク・データ処理システム10は、本発明を実現可能なコンピュータのネットワークである。ネットワーク・データ処理システム10は、ネットワーク・データ処理システム10内でまとめて接続される様々な装置およびコンピュータ間の通信リンクを提供するために使用する媒体であるネットワーク12を含む。ネットワーク12は、ワイヤ、ワイヤレス通信リンク、または光ファイバ・ケーブルなどの接続を含むこともできる。
 図示の例のサーバ14は、記憶装置16とともにネットワーク12に接続されている。加えて、クライアント18、20、22もネットワーク12に接続されている。ネットワーク12は、ワイヤまたは光ファイバ・ケーブルなどの常時接続あるいは電話接続によって行われる一時接続を含み得る。また、通信ネットワーク12は、他の公衆および/または専用広域ネットワーク、ローカル・エリア・ネットワーク、ワイヤレス・ネットワーク、データ通信ネットワークまたは接続、イントラネット、ルータ、衛星リンク、マイクロ波中継装置、セルラーまたは電話網、無線リンク、光ファイバ伝送回線、ISDN回線、T1回線、DSLなどを含み得る。ある実施形態では、本発明の範囲を逸脱することなく、ユーザ装置をサーバ14に直接接続することができる。その上、本明細書で使用するように、通信は、有線または無線技術によって可能になるものも含まれる。
 クライアント18、20、22は、たとえば、パーソナル・コンピュータ、ポータブル・コンピュータ、移動または固定ユーザ・ステーション、ワークステーション、ネットワーク端末またはサーバ、セルラー電話、キオスク、ダム端末、携帯情報端末、双方向ページャ、スマート・ホン、情報家電、あるいはネットワーク・コンピュータにすることができる。本出願では、ネットワーク・コンピュータは、ネットワークに結合され、そのネットワークに結合された他のコンピュータからプログラムまたは他のアプリケーションを受信する任意のコンピュータである。
 図示の例のサーバ14は、ブート・ファイル、オペレーティング・システム・イメージ、アプリケーションなどのデータをクライアント18〜22に提供する。クライアント18、20、22はサーバ14に対するクライアントである。ネットワーク・データ処理システム10は、図示していない追加のサーバ、クライアント、その他の装置を含むこともできる。図示の例のネットワーク・データ処理システム10は、互いに通信するためにTCP/IPプロトコル・セットを使用するネットワークおよびゲートウェイの世界的集合を表すネットワーク12を備えたインターネットである。インターネットの中心には、データおよびメッセージを経路指定する数千台の商用、行政用、教育用、その他のコンピュータ・システムから構成される、大ノード間またはホスト・コンピュータ間の高速データ通信回線のバックボーンがある。当然のことながら、ネットワーク・データ処理システム10は、たとえば、イントラネット、ローカル・エリア・ネットワーク(LAN)、または広域ネットワーク(WAN)など、いくつかの異なるタイプのネットワークとして実現することもできる。図1は、一例として示すものであり、本発明のアーキテクチャ上の制限として示すものではない。
 図2は、本発明を実現可能なデータ処理システムのより詳細なブロック図である。データ処理システム100はロジカル・パーティション化システムである。データ処理システム100は、ロジカル・パーティション化ハードウェアを含む中央電子複合体101を含む。CEC101は、システム・バス106に接続された複数のプロセッサ101、102、103、104を含む。また、システム・バス106には、複数のローカル・メモリ160〜163へのインタフェースを提供するメモリ・コントローラ/キャッシュ108も接続されている。リモート入出力(RIO)ハブ110は、システム・バス106に接続され、RIOバス112へのインタフェースを提供する。メモリ・コントローラ/キャッシュ108とRIOハブ110は、図示の通り、一体化することもできる。
 データ処理システム100はロジカル・パーティション化されたデータ処理システムである。したがって、データ処理システム100は、同時に稼働する複数の異種オペレーティング・システム(または単一オペレーティング・システムの複数のインスタンス)を有することができる。このような複数のオペレーティング・システムのそれぞれは、その内部で実行される任意の数のソフトウェア・プログラムを有することができる。データ処理システム100は、異なるI/Oアダプタ120〜121、128〜129、136、148〜149を異なるロジカル・パーティションに割り当てることができるように、ロジカル・パーティション化されている。
 その結果、例えば、データ処理システム100が3つのロジカル・パーティションP1、P2、P3に分割されていると想定する。I/Oアダプタ120〜121、128〜129、136、148〜149のそれぞれと、プロセッサ101〜104のそれぞれと、ローカル・メモリ160〜163のそれぞれが3つのパーティションの1つに割り当てられる。たとえば、プロセッサ101とメモリ160とI/Oアダプタ120、128、129はロジカル・パーティションP1に割り当てることができ、プロセッサ102〜103とメモリ161とI/Oアダプタ121および136はパーティションP2に割り当てることができ、プロセッサ104とメモリ162〜163とI/Oアダプタ148〜149はロジカル・パーティションP3に割り当てることができる。
 データ処理システム100内で実行される各オペレーティング・システムは異なるロジカル・パーティションに割り当てられる。従って、データ処理システム100内で実行される各オペレーティング・システムは、そのロジカル・パーティション内にあるI/Oユニットのみにアクセスすることができる。
 RIOバス112に接続されたRIO−周辺装置相互接続(PCI)ホスト・ブリッジ114は、PCIローカル・バス115へのインタフェースを提供する。PCI−PCIブリッジ116の使用により、いくつかの入出力アダプタ120〜121をPCIバス115に接続することができる。典型的なPCI−PCIブリッジ実現例は、4〜8個のI/Oアダプタ間をサポートすることになる(すなわち、アドイン・コネクタ用の拡張スロット)。それぞれのI/Oアダプタ120〜121はデータ処理システム100と入出力装置とのインタフェースを提供する。I/O装置120aはI/Oアダプタ120に結合され、I/O装置121aはI/Oアダプタ121に結合される。
 追加のRIO−PCIホスト・ブリッジ122は、追加のPCIバス123用のインタフェースを提供する。PCI−PCIブリッジ124の使用によるPCIバス123は、PCIバス126〜127によって複数のPCI I/Oアダプタ128〜129に接続される。I/O装置128aはI/Oアダプタ128に結合され、I/O装置129aはI/Oアダプタ129に結合される。
 メモリ・マップ・グラフィック・アダプタ148は、図示の通り、PCIバス144および145を介してRIO−PCIホスト・ブリッジ140とPCI−PCIブリッジ142によりRIOバス112に接続することができる。また、ハード・ディスク150も、図示の通り、PCIバス141および145を介してRIO−PCIホスト・ブリッジ140とPCI−PCIブリッジ142によりRIOバス112に接続することができる。
 RIO−PCIホスト・ブリッジ130は、RIOバス112に接続するためにPCIバス131用のインタフェースを提供する。PCIバス131は、RIO−PCIホスト・ブリッジ130をサービス・プロセッサ・メールボックス・インタフェースおよびISAバス・アクセス・パススルー論理回路194とPCI−PCIブリッジ132に接続する。ISAバス・アクセス・パススルー論理回路194は、PCI/ISAブリッジ193向けのPCIアクセスを転送する。NVRAM記憶域はISAバス196に接続される。サービス・プロセッサ135は、そのローカルPCIバス195によりサービス・プロセッサ・メールボックス・インタフェース194に結合される。また、サービス・プロセッサ135は、複数のJTAG/ICバス134を介してプロセッサ101〜104にも接続される。JTAG/ICバス134は、JTAG/スキャン・バス(IEEE1149.1を参照)とフィリップスICバスの組合せである。しかし、別法として、JTAG/ICバス134は、フィリップスICバスのみまたはJTAG/スキャン・バスのみによって置き換えることもできる。ホスト・プロセッサ101、102、103、104のすべてのSP−ATTN信号は、サービス・プロセッサの割込み入力信号にまとめて接続される。サービス・プロセッサ135はそれ自体のローカル・メモリ191を有し、ハードウェアの操作パネル190にアクセスすることができる。
 データ処理システム100に最初に電源を投入すると、サービス・プロセッサ135はJTAG/ICバス134を使用してシステム(ホスト)プロセッサ101〜104、メモリ・コントローラ108、RIOハブ110に問い合わせる。このステップの完了時に、サービス・プロセッサ135は、データ処理システム100のインベントリおよびトポロジを理解している。また、サービス・プロセッサ135は、システム・プロセッサ101〜104、メモリ・コントローラ108、RIOハブ110に問い合わせることによって検出したすべての要素について組込み型自己診断(BIST)、基本確認テスト(BAT)、メモリ・テストも実行する。BIST、BAT、メモリ・テスト中に検出した障害に関するエラー情報は、サービス・プロセッサ135によって収集され、報告される。
 BIST、BAT、メモリ・テスト中に欠陥があると分かった要素を取り出した後でもシステム・リソースの意味のある/有効な構成が可能である場合、データ処理システム100は、ローカル(ホスト)メモリ160〜163への実行可能コードのロードに移行することができる。次にサービス・プロセッサ135は、ホスト・メモリ160〜163にロードしたコードの実行のためにホスト・プロセッサ101〜104を解放する。ホスト・プロセッサ101〜104がデータ処理システム100内のそれぞれのオペレーティング・システムからコードを実行している間に、サービス・プロセッサ135はエラーをモニターし報告するモードに入る。サービス・プロセッサがモニターする項目のタイプとしては、たとえば、冷却ファンの速度と動作、温度センサ、電源レギュレータ、プロセッサ101〜104が報告する回復可能エラーと回復不能エラー、メモリ160〜163、RIOハブ110を含む。
 サービス・プロセッサ135は、データ処理システム100内のすべてのモニター項目に関連するエラー情報の保管と報告を担当する。また、サービス・プロセッサ135は、エラーのタイプおよび定義したしきい値に基づくアクションを講ずる。たとえば、サービス・プロセッサ135は、プロセッサのキャッシュ・メモリ上の過剰な回復可能エラーに注目し、これが困難な障害の前兆であると決定することができる。この決定に基づいて、サービス・プロセッサ135は、現行の実行セッションおよび今後の初期プログラム・ロード(IPL)中に再構成するためにそのリソースにマークを付けることができる。
 当業者であれば、図2に示すハードウェアが変化しうることが分かるだろう。たとえば、図示のハードウェアに加えまたはその代わりに、光学ディスク・ドライブなどの他の周辺装置も使用することができる。図示の例は、本発明に関連するアーキテクチャ上の制限を意図するものではないことに留意されたい。
 図3は、本発明を実現可能な例示的なロジカル・パーティション化プラットフォームのブロック図である。ロジカル・パーティション化プラットフォーム200は、パーティション化ハードウェア230と、ハイパーバイザとも呼ばれるパーティション管理ファームウェア210と、パーティション201〜204とを含む。オペレーティング・システム201a〜204aはパーティション201〜204内に存在する。オペレーティング・システム201a〜204aは、プラットフォーム200上で同時に稼働する単一オペレーティング・システムの複数コピーまたは複数の異種オペレーティング・システムにすることができる。
 パーティション化ハードウェア230は、複数のプロセッサ232〜238と、複数のシステム・メモリ・ユニット240〜246と、複数の入出力(I/O)アダプタ248〜262と、記憶装置270とを含む。プロセッサ242〜248、メモリ・ユニット240〜246、NVRAM記憶域298、I/Oアダプタ248〜262のそれぞれは、複数のパーティション201〜204の1つに割り当てることができる。
 パーティション管理ファームウェア(ハイパーバイザ)210は、ロジカル・パーティション化プラットフォーム200のパーティション化を作成し、実現するためにパーティション201〜204に関するいくつかの機能およびサービスを実行する。ハイパーバイザ210は、基礎ハードウェアと同一のファームウェア実現仮想計算機である。ファームウェアは、たとえば、読取専用メモリ(ROM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、不揮発性ランダム・アクセス・メモリ(不揮発性RAM)など、電力なしでその内容を保持するメモリ・チップに記憶された「ソフトウェア」である。したがって、ハイパーバイザ210は、ハードウェア・リソースの仮想化によるかまたはロジカル・パーティション化プラットフォーム200の共用システム・リソースのアトミック・アクセスを可能にすることにより、独立したOSイメージ201a〜204aの同時実行を可能にするものである。ハイパーバイザ210は、OSイメージ201a〜204aの1つによって使用するためにI/Oアダプタ248〜262を介して排他モードの単一仮想計算機にI/O装置を接続することができる。
 図4は、メモリのマップのブロック図であり、本発明により信頼領域外にある領域からメモリの保護領域内のアドレスへの呼出しを示している。マップ400は、メモリ240、242、244、または246などのメモリで描写されている。メモリの一領域は信頼領域402として指定されている。信頼領域はリンク時に定義され、変更することができない。信頼領域は、その信頼領域用の開始メモリ位置と終了メモリ位置とを定義することによって定義される。
 加えて、メモリの一領域は保護され、保護領域404として指定される。保護領域404内にあるアドレスに対して呼出しが行われると、テスト位置406に記憶されているテスト・ルーチンがその呼出しをインターセプトし、その呼出しの発信アドレスを決定することになる。テスト位置406は保護領域404内に位置する。その呼出しが領域408からなどのように信頼領域402外にある位置から発信された場合、その呼出しは、実行されずにテスト・ルーチンによって返されることになる。
 無許可アクセスから保護すべきソフトウェア・ルーチンは、保護領域404などの保護領域内に記憶される。このため、保護されたソフトウェア・ルーチンに対する許可呼出しだけが実行される。例えば、ハイパーバイザ・コードは、許可コード以外のものによってアクセスまたは変更できてはならない。従って、ハイパーバイザ・コードが保護メモリ領域に記憶されている場合、ハイパーバイザ・コードは、信頼メモリ領域外からローグ呼出しによってアクセスまたは変更できなくなる。ローグ呼出しは、本出願では、信頼領域外にある位置から発信された呼出しと定義される。
 図5は、メモリ・マップのブロック図であり、本発明により信頼領域内から保護領域内にあるアドレスへの呼出しを示している。メモリ・マップ500は信頼領域502と保護領域504とを含む。テスト・ルーチンはテスト領域506に記憶されている。テスト領域506は保護領域504内に含まれている。保護領域504内に含まれるアドレスに対して呼出しが行われると、テスト・ルーチンはその呼出しをインターセプトし、その呼出しの発信アドレスを決定することになる。その呼出しが信頼領域502内にある位置から発信された場合、その呼出しは、テスト・ルーチンによって実行され、保護領域504内のアドレスに転送されることになる。
 図6は、本発明によりソフトウェア・ルーチンがメモリ内の保護領域にアクセスすることが許可されたときに信頼領域にソフトウェア・ルーチンを記憶することを示す高レベル流れ図を示している。このプロセスは、ブロック600によって示されるように開始され、その後、メモリの特定の領域を信頼領域として指定することを示すブロック602に移行する。信頼領域は、その信頼領域用の開始メモリ位置と終了メモリ位置を指定することによって指定される。したがって、信頼領域は、開始メモリ位置と終了メモリ位置とを含む両者の間にあるすべてのメモリ位置を含む。次に、ブロック604は、そのメモリの特定の領域を保護領域として指定することを示す。保護領域は、その保護領域用の開始メモリ位置と終了メモリ位置を指定することによって指定される。したがって、保護領域は、開始メモリ位置と終了メモリ位置とを含む両者の間にあるすべてのメモリ位置を含む。次にプロセスは、ソフトウェア・ルーチンの作成を示すブロック606に移行する。その後、ブロック608は、ソフトウェア・ルーチンを信頼領域に記憶しようという試みを示す。
 ブロック610は、ソフトウェア・ルーチンがメモリの保護領域のアドレスにアクセスすることが許可されているかどうかの判定を示す。ソフトウェア・ルーチンが保護領域内のアドレスにアクセスすることが許可されていると判定された場合、ブロック612は、ソフトウェア・ルーチンが信頼領域内に記憶されることを示す。その後、プロセスはブロック614が示すように終了する。
 もう一度、ブロック610を参照すると、ソフトウェア・ルーチンが保護領域内のどのアドレスにアクセスすることも許可されていないと判定された場合、ソフトウェア・ルーチンは信頼領域内に記憶することが禁止される。その後、プロセスはブロック614が示すように終了する。
 図7は、本発明により信頼領域から呼出しが発信された場合のみ保護領域への呼出しを実行することを示す高レベル流れ図を示している。このプロセスは、ブロック700によって示されるように開始され、その後、保護領域内のアドレスに対して行われた呼出しをテスト・ルーチンがインターセプトすることを示すブロック702に移行する。次に、ブロック704は、リンク・レジスタの現行値をテスト・ルーチンがチェックすることを示す。リンク・レジスタは、最後の命令を発生したアドレスを記憶するために使用する。したがって、リンク・レジスタは、その呼出しを発生したアドレスを含むことになる。テスト・ルーチンは、リンク・レジスタの現行値を使用して、呼出しを行った発信メモリ・アドレスを決定する。
 次にプロセスは、その発信アドレスが信頼領域内に位置するかどうかの判定を示すブロック706に移行する。この判定はテスト・ルーチンによって行われる。テスト・ルーチンはリンク・レジスタの現行値を決定する。リンク・レジスタの現行値が信頼領域の開始メモリ位置と終了メモリ位置との間にあるかまたはそれらを含む場合、発信アドレスが信頼領域内に位置するという判定がテスト・ルーチンによって行われる。
 もう一度、ブロック706を参照すると、発信アドレスが信頼領域内に位置するという判定が行われた場合、プロセスは、その呼出しを保護領域内のアドレスに転送することによってその呼出しが実行されることを示すブロック708に移行する。次にプロセスはブロック702に戻る。もう一度、ブロック706を参照すると、発信アドレスが信頼領域内に位置していないという判定が行われた場合、プロセスは、その呼出しを実行せずに発信メモリ・アドレスに制御を返すことを示すブロック710に移行する。次にプロセスはブロック702に戻る。
 完全に機能するデータ処理システムに関連して本発明を説明してきたが、当業者であれば、本発明のプロセスが複数命令からなるプログラムとして実現され、コンピュータ可読媒体の形式その他の様々な形式で配布可能であり、その配布を実施するために実際に使用される特定タイプの信号伝達媒体にかかわらず、本発明が同様に適用されることを容易に理解し得ることは、留意すべき重要なことである。コンピュータ可読媒体の例としては、フレキシブル・ディスク、ハード・ディスク・ドライブ、RAM、CD−ROM、DVD−ROMなどの記録可能タイプの媒体と、ディジタルおよびアナログ通信リンク、例えば、無線周波伝送および光波伝送などの伝送形式を使用する有線または無線通信リンクなどの伝送タイプの媒体が含まれる。コンピュータ可読媒体は、特定のデータ処理システムで実際に使用するためにデコードされるコード化フォーマットの形式を取ることができる。
 本発明の説明は、例証および説明のために提示したものであり、網羅的にするかまたは開示した形式の本発明に限定するためのものではない。多くの変更形態および変形形態は当業者にとって明らかであろう。本発明の原理、実際の応用例を最もよく説明し、企図した特定の使用に適した様々な変更形態とともに様々な実施形態に関し、当業者が本発明を理解できるようにするために、実施形態を選択し、説明した。
 まとめとして、本発明の構成に関して以下の事項を開示する。
(1)保護メモリ領域への無許可アクセスを禁止するための方法であって、
 保護メモリ領域を指定するステップと、
 信頼メモリ領域を指定するステップと、
 前記保護メモリ領域にアクセスするための呼出しを受け取るステップと、
 前記呼出しの発信位置を決定するステップと、
 前記発信位置が前記信頼領域内にあるという決定に応答して、前記呼出しが前記保護メモリ領域にアクセスすることを許可するステップと、
 を含む方法。
(2)前記発信位置が前記信頼領域外にあることに応答して、前記呼出しが前記保護メモリ領域にアクセスすることを禁止するステップをさらに含む、上記(1)に記載の方法。
(3)ソフトウェア・ルーチンを作成するステップと、
 前記ソフトウェア・ルーチンが前記保護メモリ領域にアクセスすることを許可されているかどうかを判定するステップと、
 前記ソフトウェア・ルーチンが前記保護メモリ領域にアクセスすることを許可されているという決定に応答して、前記ソフトウェア・ルーチンを前記信頼メモリ領域内に記憶するステップと、
 をさらに含む、上記(1)に記載の方法。
(4)前記ソフトウェア・ルーチンが前記保護メモリ領域にアクセスすることを許可されていないという決定に応答して、前記ソフトウェア・ルーチンを前記信頼メモリ領域外に記憶するステップをさらに含む、上記(3)に記載の方法。
(5)ソフトウェア・ルーチンを作成するステップと、
 前記ソフトウェア・ルーチンがローグ呼出しによるアクセスから保護すべきかどうかを判定するステップであって、前記ローグ呼出しが前記信頼領域外にあるメモリ位置からの呼出しであるステップと、
 前記ソフトウェア・ルーチンがローグ呼出しによるアクセスから保護すべきであるという決定に応答して、前記ソフトウェア・ルーチンを前記保護領域内に記憶するステップと、
 をさらに含む、上記(1)に記載の方法。
(6)テスト・ルーチンを確立するステップと、
 前記保護領域内の任意の位置にアクセスしようと試みるすべての呼出しを前記テスト・ルーチンによりインターセプトするステップと、
 前記呼出しのそれぞれの発信位置を前記テスト・ルーチンにより決定するステップと、
 前記保護領域内の第1の位置にアクセスしようと試みる第1の呼出しの発信位置が前記信頼領域内にあるという前記テスト・ルーチンによる決定に応答して、前記保護メモリ領域内の前記第1の位置に前記第1の呼出しを前記テスト・ルーチンにより転送するステップと、
 をさらに含む、上記(1)に記載の方法。
(7)前記保護領域内の第1の位置にアクセスしようと試みる第1の呼出しの発信位置が前記信頼領域外にあるという前記テスト・ルーチンによる決定に応答して、前記保護メモリ領域内の前記第1の位置にアクセスせずに、前記テスト・ルーチンにより前記第1の呼出しを前記発信位置に返すステップをさらに含む、上記(6)に記載の方法。
(8)ハイパーバイザ機能を実行するためのハイパーバイザ・コードを作成するステップと、
 前記ハイパーバイザ・コードを前記保護領域内に記憶するステップと、
 をさらに含む、上記(1)に記載の方法。
(9)リンク・レジスタの現行値を決定することにより前記呼出しの発信位置を決定するステップであって、前記リンク・レジスタの前記現行値が前記呼出しが発信されたメモリ位置であるステップをさらに含む、上記(1)に記載の方法。
(10)開始メモリ位置と終了メモリ位置を指定することにより信頼メモリ領域を指定するステップであって、前記信頼領域が前記開始メモリ位置を含む前記開始メモリ位置から前記終了メモリ位置を含む前記終了メモリ位置までのすべてのメモリ位置を含むステップをさらに含む、上記(1)に記載の方法。
(11)開始メモリ位置と終了メモリ位置を指定することにより保護メモリ領域を指定するステップであって、前記保護領域が前記開始メモリ位置を含む前記開始メモリ位置から前記終了メモリ位置を含む前記終了メモリ位置までのすべてのメモリ位置を含むステップをさらに含む、上記(1)に記載の方法。
(12)開始メモリ位置と終了メモリ位置を指定することにより信頼メモリ領域を指定するステップであって、前記信頼領域が前記開始メモリ位置を含む前記開始メモリ位置から前記終了メモリ位置を含む前記終了メモリ位置までのすべてのメモリ位置を含むステップと、
 リンク・レジスタの現行値を決定することにより前記呼出しの発信位置を決定するステップであって、前記リンク・レジスタの前記現行値が前記呼出しが発信されたメモリ位置であるステップと、
 前記呼出しが発信された前記メモリ位置が前記開始メモリ位置と前記終了メモリ位置とを含む両者の間にあるかどうかを判定するステップと、
 前記呼出しが発信された前記メモリ位置が前記開始メモリ位置と前記終了メモリ位置とを含む両者の間にあるという決定に応答して、前記呼出しが発信された前記メモリ位置が前記信頼メモリ領域内にあると決定し、前記呼出しが前記保護メモリ領域にアクセスすることを許可するステップと、
 前記呼出しが発信された前記メモリ位置が前記開始メモリ位置と前記終了メモリ位置とを含む両者の間にないという決定に応答して、前記呼出しが発信された前記メモリ位置が前記信頼メモリ領域外にあると決定し、前記呼出しが前記保護メモリ領域にアクセスすることを禁止するステップと、
 をさらに含む、上記(1)に記載の方法。
(13)保護メモリ領域への無許可アクセスを禁止するためのデータ処理システムであって、
 保護メモリ領域と、
 信頼メモリ領域と、
 前記保護メモリ領域にアクセスするために受け取る呼出しと、
 前記システムが、前記呼出しの発信位置を決定するためのCPU実行コードを含むことと、
 前記発信位置が前記信頼領域内にあるという決定に応答して、前記CPU実行コードが、前記呼出しが前記保護メモリ領域にアクセスすることを許可すること、
 を具備するデータ処理システム。
(14)前記発信位置が前記信頼領域外にあることに応答して、前記CPU実行コードが、前記呼出しが前記保護メモリ領域にアクセスすることを禁止することをさらに具備する、上記(13)に記載のシステム。
(15)ソフトウェア・ルーチンと、
 前記CPU実行コードが、前記ソフトウェア・ルーチンが前記保護メモリ領域にアクセスすることを許可されているかどうかを判定することと、
 前記ソフトウェア・ルーチンが前記保護メモリ領域にアクセスすることを許可されているという決定に応答して、前記ソフトウェア・ルーチンが前記信頼メモリ領域内に記憶されることをさらに具備する、上記(13)に記載のシステム。
(16)前記ソフトウェア・ルーチンが前記保護メモリ領域にアクセスすることを許可されていないという決定に応答して、前記ソフトウェア・ルーチンが前記信頼メモリ領域外に記憶されることをさらに具備する、上記(15)に記載のシステム。
(17)ソフトウェア・ルーチンと、
 前記CPU実行コードが、前記ソフトウェア・ルーチンがローグ呼出しによるアクセスから保護すべきかどうかを判定し、前記ローグ呼出しが前記信頼領域外にあるメモリ位置からの呼出しであることと、
 前記ソフトウェア・ルーチンがローグ呼出しによるアクセスから保護すべきであるという決定に応答して、前記ソフトウェア・ルーチンが前記保護領域内に記憶されることをさらに具備する、上記(13)に記載のシステム。
(18)テスト・ルーチンと、
 前記テスト・ルーチンが、前記保護領域内の任意の位置にアクセスしようと試みるすべての呼出しをインターセプトすることと、
 前記テスト・ルーチンが、前記呼出しのそれぞれの発信位置を決定することと、
 前記保護領域内の第1の位置にアクセスしようと試みる第1の呼出しの発信位置が前記信頼領域内にあるという前記テスト・ルーチンによる決定に応答して、前記テスト・ルーチンが、前記保護メモリ領域内の前記第1の位置に前記第1の呼出しを転送することをさらに具備する、上記(13)に記載のシステム。
(19)前記保護領域内の第1の位置にアクセスしようと試みる第1の呼出しの発信位置が前記信頼領域外にあるという前記テスト・ルーチンによる決定に応答して、前記保護メモリ領域内の前記第1の位置にアクセスせずに、前記テスト・ルーチンが、前記第1の呼出しを前記発信位置に返すことをさらに具備する、上記(18)に記載のシステム。
(20)ハイパーバイザ機能を実行するためのハイパーバイザ・コードと、
 前記ハイパーバイザ・コードが前記保護領域内に記憶されることをさらに具備する、上記(13)に記載のシステム。
(21)リンク・レジスタの現行値を決定することにより前記呼出しの発信位置を決定し、前記リンク・レジスタの前記現行値が前記呼出しが発信されたメモリ位置であることをさらに具備する、上記(13)に記載のシステム。
(22)信頼メモリ領域であって、開始メモリ位置と終了メモリ位置を指定することにより指定され、前記開始メモリ位置を含む前記開始メモリ位置から前記終了メモリ位置を含む前記終了メモリ位置までのすべてのメモリ位置を含む信頼メモリ領域をさらに具備する、上記(13)に記載のシステム。
(23)保護メモリ領域であって、開始メモリ位置と終了メモリ位置を指定することにより指定され、前記開始メモリ位置を含む前記開始メモリ位置から前記終了メモリ位置を含む前記終了メモリ位置までのすべてのメモリ位置を含む保護メモリ領域をさらに具備する、上記(13)に記載のシステム。
(24)信頼メモリ領域であって、開始メモリ位置と終了メモリ位置を指定することにより指定され、前記開始メモリ位置を含む前記開始メモリ位置から前記終了メモリ位置を含む前記終了メモリ位置までのすべてのメモリ位置を含む信頼メモリ領域と、
 前記CPU実行コードが、リンク・レジスタの現行値を決定することにより前記呼出しの発信位置を決定し、前記リンク・レジスタの前記現行値が前記呼出しが発信されたメモリ位置であることと、
 前記CPU実行コードが、前記呼出しが発信された前記メモリ位置が前記開始メモリ位置と前記終了メモリ位置とを含む両者の間にあるかどうかを判定することと、
 前記呼出しが発信された前記メモリ位置が前記開始メモリ位置と前記終了メモリ位置とを含む両者の間にあるという決定に応答して、前記CPU実行コードが、前記呼出しが発信された前記メモリ位置が前記信頼メモリ領域内にあると決定し、前記呼出しが前記保護メモリ領域にアクセスすることを許可することと、
 前記呼出しが発信された前記メモリ位置が前記開始メモリ位置と前記終了メモリ位置とを含む両者の間にないという決定に応答して、前記CPU実行コードが、前記呼出しが発信された前記メモリ位置が前記信頼メモリ領域外にあると決定し、前記呼出しが前記保護メモリ領域にアクセスすることを禁止することをさらに具備する、上記(13)に記載のシステム。
(25)保護メモリ領域への無許可アクセスを禁止するためのプログラムであって、データ処理システムを、
 保護メモリ領域を指定するための手段、
 信頼メモリ領域を指定するための手段、
 前記保護メモリ領域にアクセスするための呼出しを受け取るための手段、
 前記呼出しの発信位置を決定するための手段、
 前記発信位置が前記信頼領域内にあるという決定に応答して、前記呼出しが前記保護メモリ領域にアクセスすることを許可するための手段、
 として機能させるプログラム。
(26)データ処理システムを、前記発信位置が前記信頼領域外にあることに応答して、前記呼出しが前記保護メモリ領域にアクセスすることを禁止するための手段として機能させる上記(25)に記載のプログラム。
(27)データ処理システムを、
 ソフトウェア・ルーチンを作成するための手段、
 前記ソフトウェア・ルーチンが前記保護メモリ領域にアクセスすることを許可されているかどうかを判定するための手段、
 前記ソフトウェア・ルーチンが前記保護メモリ領域にアクセスすることを許可されているという決定に応答して、前記ソフトウェア・ルーチンを前記信頼メモリ領域内に記憶するための手段、
 として機能させる上記(25)に記載のプログラム。
(28)データ処理システムを、前記ソフトウェア・ルーチンが前記保護メモリ領域にアクセスすることを許可されていないという決定に応答して、前記ソフトウェア・ルーチンを前記信頼メモリ領域外に記憶するための手段として機能させる上記(27)に記載のプログラム。
(29)データ処理システムを、
 ソフトウェア・ルーチンを作成するための手段、
 前記ソフトウェア・ルーチンがローグ呼出しによるアクセスから保護すべきかどうかを判定するための手段であって、前記ローグ呼出しが前記信頼領域外にあるメモリ位置からの呼出しである手段、
 前記ソフトウェア・ルーチンがローグ呼出しによるアクセスから保護すべきであるという決定に応答して、前記ソフトウェア・ルーチンを前記保護領域内に記憶するための手段、
 として機能させる上記(25)に記載のプログラム。
(30)データ処理システムを、
 テスト・ルーチンを確立するための手段、
 前記保護領域内の任意の位置にアクセスしようと試みるすべての呼出しを前記テスト・ルーチンによりインターセプトするための手段、
 前記呼出しのそれぞれの発信位置を前記テスト・ルーチンにより決定するための手段、
 前記保護領域内の第1の位置にアクセスしようと試みる第1の呼出しの発信位置が前記信頼領域内にあるという前記テスト・ルーチンによる決定に応答して、前記保護メモリ領域内の前記第1の位置に前記第1の呼出しを前記テスト・ルーチンにより転送するための手段、
 として機能させる上記(25)に記載のプログラム。
(31)データ処理システムを、前記保護領域内の第1の位置にアクセスしようと試みる第1の呼出しの発信位置が前記信頼領域外にあるという前記テスト・ルーチンによる決定に応答して、前記保護メモリ領域内の前記第1の位置にアクセスせずに、前記テスト・ルーチンにより前記第1の呼出しを前記発信位置に返すための手段として機能させる上記(30)に記載のプログラム。
(32)データ処理システムを、
 ハイパーバイザ機能を実行するためのハイパーバイザ・コードを作成するための手段、
 前記ハイパーバイザ・コードを前記保護領域内に記憶するための手段、
 として機能させる上記(25)に記載のプログラム。
(33)データ処理システムを、リンク・レジスタの現行値を決定することにより前記呼出しの発信位置を決定するための手段であって、前記リンク・レジスタの前記現行値が前記呼出しが発信されたメモリ位置である手段として機能させる上記(25)に記載のプログラム。
(34)データ処理システムを、開始メモリ位置と終了メモリ位置を指定することにより信頼メモリ領域を指定するための手段であって、前記信頼領域が前記開始メモリ位置を含む前記開始メモリ位置から前記終了メモリ位置を含む前記終了メモリ位置までのすべてのメモリ位置を含む手段として機能させる上記(25)に記載のプログラム。
(35)データ処理システムを、開始メモリ位置と終了メモリ位置を指定することにより保護メモリ領域を指定するための手段であって、前記保護領域が前記開始メモリ位置を含む前記開始メモリ位置から前記終了メモリ位置を含む前記終了メモリ位置までのすべてのメモリ位置を含む手段として機能させる上記(25)に記載のプログラム。
(36)データ処理システムを、
 開始メモリ位置と終了メモリ位置を指定することにより信頼メモリ領域を指定するための手段であって、前記信頼領域が前記開始メモリ位置を含む前記開始メモリ位置から前記終了メモリ位置を含む前記終了メモリ位置までのすべてのメモリ位置を含む手段、
 リンク・レジスタの現行値を決定することにより前記呼出しの発信位置を決定するための手段であって、前記リンク・レジスタの前記現行値が前記呼出しが発信されたメモリ位置である手段、
 前記呼出しが発信された前記メモリ位置が前記開始メモリ位置と前記終了メモリ位置とを含む両者の間にあるかどうかを判定するための手段と、
 前記呼出しが発信された前記メモリ位置が前記開始メモリ位置と前記終了メモリ位置とを含む両者の間にあるという決定に応答して、前記呼出しが発信された前記メモリ位置が前記信頼メモリ領域内にあると決定し、前記呼出しが前記保護メモリ領域にアクセスすることを許可するための手段、
 前記呼出しが発信された前記メモリ位置が前記開始メモリ位置と前記終了メモリ位置とを含む両者の間にないという決定に応答して、前記呼出しが発信された前記メモリ位置が前記信頼メモリ領域外にあると決定し、前記呼出しが前記保護メモリ領域にアクセスすることを禁止するための手段、
 として機能させる上記(25)に記載のプログラム。
本発明の好ましい実施形態により本発明を実現可能なデータ処理システムを描写する絵画表現である。 本発明により本発明を実現可能なデータ処理システムのより詳細なブロック図である。 本発明を実現可能な例示的なロジカル・パーティション化プラットフォームのブロック図である。 メモリ・マップのブロック図であり、本発明による信頼領域外にある領域からメモリ内の保護領域内にあるアドレスへの呼出しを示す図である。 メモリ・マップのブロック図であり、本発明による信頼領域内から保護領域内にあるアドレスへの呼出しを示す図である。 本発明によりソフトウェア・ルーチンがメモリ内の保護領域にアクセスすることが許可されたときに信頼領域にソフトウェア・ルーチンを記憶することを示す高レベル流れ図である。 本発明により信頼領域から呼出しが発信された場合のみ保護領域への呼出しを実行することを示す高レベル流れ図である。
符号の説明
10 ネットワーク・データ処理システム
12 ネットワーク
14 サーバ
16 記憶装置
18 クライアント
20 クライアント
22 クライアント
100 データ処理システム
101 プロセッサ
102 プロセッサ
103 プロセッサ
104 プロセッサ
106 システム・バス
108 メモリ・コントローラ/キャッシュ
110 RIOハブ
112 RIOバス
114 RIO−PCIブリッジ
115 PCIバス
118 PCIバス
119 PCIバス
120 PCI I/Oアダプタ
120a I/O装置
121 PCI I/Oアダプタ
121a I/O装置
122 RIO−PCIブリッジ
123 PCIバス
126 PCIバス
127 PCIバス
128 PCI I/Oアダプタ
128a I/O装置
129 PCI I/Oアダプタ
129a I/O装置
130 RIO−PCIブリッジ
131 PCIバス
133 PCIバス
134 JTAG/ICバス
135 サービス・プロセッサ
136 PCI I/Oアダプタ
140 RIO−PCIブリッジ
141 PCIバス
144 PCIバス
145 PCIバス
148 グラフィック・アダプタ
149 ハード・ディスク・アダプタ
150 ハード・ディスク
160 ローカル・メモリ
161 ローカル・メモリ
162 ローカル・メモリ
163 ローカル・メモリ
190 操作パネル
191 メモリ
193 PCI/ISAブリッジ
194 サービス・プロセッサ・メールボックス・インタフェースおよびISAバス・アクセス・パススルー
195 PCIバス
196 ISAバス
200 ロジカル・パーティション化プラットフォーム
201 パーティション
202 パーティション
203 パーティション
204 パーティション
210 パーティション管理ファームウェア(ハイパーバイザ)
230 パーティション化ハードウェア
232 プロセッサ
234 プロセッサ
236 プロセッサ
238 プロセッサ
240 メモリ
242 メモリ
244 メモリ
246 メモリ
248 I/Oアダプタ
250 I/Oアダプタ
252 I/Oアダプタ
254 I/Oアダプタ
256 I/Oアダプタ
258 I/Oアダプタ
260 I/Oアダプタ
262 I/Oアダプタ
270 記憶装置
290 サービス・プロセッサ
400 メモリ・マップ
402 信頼領域
404 保護領域
406 テスト
500 メモリ・マップ
502 信頼領域
504 保護領域
506 テスト

Claims (36)

  1.  保護メモリ領域への無許可アクセスを禁止するための方法であって、
     保護メモリ領域を指定するステップと、
     信頼メモリ領域を指定するステップと、
     前記保護メモリ領域にアクセスするための呼出しを受け取るステップと、
     前記呼出しの発信位置を決定するステップと、
     前記発信位置が前記信頼領域内にあるという決定に応答して、前記呼出しが前記保護メモリ領域にアクセスすることを許可するステップと、
     を含む方法。
  2.  前記発信位置が前記信頼領域外にあることに応答して、前記呼出しが前記保護メモリ領域にアクセスすることを禁止するステップをさらに含む、請求項1に記載の方法。
  3.  ソフトウェア・ルーチンを作成するステップと、
     前記ソフトウェア・ルーチンが前記保護メモリ領域にアクセスすることを許可されているかどうかを判定するステップと、
     前記ソフトウェア・ルーチンが前記保護メモリ領域にアクセスすることを許可されているという決定に応答して、前記ソフトウェア・ルーチンを前記信頼メモリ領域内に記憶するステップと、
     をさらに含む、請求項1に記載の方法。
  4.  前記ソフトウェア・ルーチンが前記保護メモリ領域にアクセスすることを許可されていないという決定に応答して、前記ソフトウェア・ルーチンを前記信頼メモリ領域外に記憶するステップをさらに含む、請求項3に記載の方法。
  5.  ソフトウェア・ルーチンを作成するステップと、
     前記ソフトウェア・ルーチンがローグ呼出しによるアクセスから保護すべきかどうかを判定するステップであって、前記ローグ呼出しが前記信頼領域外にあるメモリ位置からの呼出しであるステップと、
     前記ソフトウェア・ルーチンがローグ呼出しによるアクセスから保護すべきであるという決定に応答して、前記ソフトウェア・ルーチンを前記保護領域内に記憶するステップと、
     をさらに含む、請求項1に記載の方法。
  6.  テスト・ルーチンを確立するステップと、
     前記保護領域内の任意の位置にアクセスしようと試みるすべての呼出しを前記テスト・ルーチンによりインターセプトするステップと、
     前記呼出しのそれぞれの発信位置を前記テスト・ルーチンにより決定するステップと、
     前記保護領域内の第1の位置にアクセスしようと試みる第1の呼出しの発信位置が前記信頼領域内にあるという前記テスト・ルーチンによる決定に応答して、前記保護メモリ領域内の前記第1の位置に前記第1の呼出しを前記テスト・ルーチンにより転送するステップと、
     をさらに含む、請求項1に記載の方法。
  7.  前記保護領域内の第1の位置にアクセスしようと試みる第1の呼出しの発信位置が前記信頼領域外にあるという前記テスト・ルーチンによる決定に応答して、前記保護メモリ領域内の前記第1の位置にアクセスせずに、前記テスト・ルーチンにより前記第1の呼出しを前記発信位置に返すステップをさらに含む、請求項6に記載の方法。
  8.  ハイパーバイザ機能を実行するためのハイパーバイザ・コードを作成するステップと、
     前記ハイパーバイザ・コードを前記保護領域内に記憶するステップと、
     をさらに含む、請求項1に記載の方法。
  9.  リンク・レジスタの現行値を決定することにより前記呼出しの発信位置を決定するステップであって、前記リンク・レジスタの前記現行値が前記呼出しが発信されたメモリ位置であるステップをさらに含む、請求項1に記載の方法。
  10.  開始メモリ位置と終了メモリ位置を指定することにより信頼メモリ領域を指定するステップであって、前記信頼領域が前記開始メモリ位置を含む前記開始メモリ位置から前記終了メモリ位置を含む前記終了メモリ位置までのすべてのメモリ位置を含むステップをさらに含む、請求項1に記載の方法。
  11.  開始メモリ位置と終了メモリ位置を指定することにより保護メモリ領域を指定するステップであって、前記保護領域が前記開始メモリ位置を含む前記開始メモリ位置から前記終了メモリ位置を含む前記終了メモリ位置までのすべてのメモリ位置を含むステップをさらに含む、請求項1に記載の方法。
  12.  開始メモリ位置と終了メモリ位置を指定することにより信頼メモリ領域を指定するステップであって、前記信頼領域が前記開始メモリ位置を含む前記開始メモリ位置から前記終了メモリ位置を含む前記終了メモリ位置までのすべてのメモリ位置を含むステップと、
     リンク・レジスタの現行値を決定することにより前記呼出しの発信位置を決定するステップであって、前記リンク・レジスタの前記現行値が前記呼出しが発信されたメモリ位置であるステップと、
     前記呼出しが発信された前記メモリ位置が前記開始メモリ位置と前記終了メモリ位置とを含む両者の間にあるかどうかを判定するステップと、
     前記呼出しが発信された前記メモリ位置が前記開始メモリ位置と前記終了メモリ位置とを含む両者の間にあるという決定に応答して、前記呼出しが発信された前記メモリ位置が前記信頼メモリ領域内にあると決定し、前記呼出しが前記保護メモリ領域にアクセスすることを許可するステップと、
     前記呼出しが発信された前記メモリ位置が前記開始メモリ位置と前記終了メモリ位置とを含む両者の間にないという決定に応答して、前記呼出しが発信された前記メモリ位置が前記信頼メモリ領域外にあると決定し、前記呼出しが前記保護メモリ領域にアクセスすることを禁止するステップと、
     をさらに含む、請求項1に記載の方法。
  13.  保護メモリ領域への無許可アクセスを禁止するためのデータ処理システムであって、
     保護メモリ領域と、
     信頼メモリ領域と、
     前記保護メモリ領域にアクセスするために受け取る呼出しと、
     前記システムが、前記呼出しの発信位置を決定するためのCPU実行コードを含むことと、
     前記発信位置が前記信頼領域内にあるという決定に応答して、前記CPU実行コードが、前記呼出しが前記保護メモリ領域にアクセスすることを許可すること、
     を具備するデータ処理システム。
  14.  前記発信位置が前記信頼領域外にあることに応答して、前記CPU実行コードが、前記呼出しが前記保護メモリ領域にアクセスすることを禁止することをさらに具備する、請求項13に記載のシステム。
  15.  ソフトウェア・ルーチンと、
     前記CPU実行コードが、前記ソフトウェア・ルーチンが前記保護メモリ領域にアクセスすることを許可されているかどうかを判定することと、
     前記ソフトウェア・ルーチンが前記保護メモリ領域にアクセスすることを許可されているという決定に応答して、前記ソフトウェア・ルーチンが前記信頼メモリ領域内に記憶されることをさらに具備する、請求項13に記載のシステム。
  16.  前記ソフトウェア・ルーチンが前記保護メモリ領域にアクセスすることを許可されていないという決定に応答して、前記ソフトウェア・ルーチンが前記信頼メモリ領域外に記憶されることをさらに具備する、請求項15に記載のシステム。
  17.  ソフトウェア・ルーチンと、
     前記CPU実行コードが、前記ソフトウェア・ルーチンがローグ呼出しによるアクセスから保護すべきかどうかを判定し、前記ローグ呼出しが前記信頼領域外にあるメモリ位置からの呼出しであることと、
     前記ソフトウェア・ルーチンがローグ呼出しによるアクセスから保護すべきであるという決定に応答して、前記ソフトウェア・ルーチンが前記保護領域内に記憶されることをさらに具備する、請求項13に記載のシステム。
  18.  テスト・ルーチンと、
     前記テスト・ルーチンが、前記保護領域内の任意の位置にアクセスしようと試みるすべての呼出しをインターセプトすることと、
     前記テスト・ルーチンが、前記呼出しのそれぞれの発信位置を決定することと、
     前記保護領域内の第1の位置にアクセスしようと試みる第1の呼出しの発信位置が前記信頼領域内にあるという前記テスト・ルーチンによる決定に応答して、前記テスト・ルーチンが、前記保護メモリ領域内の前記第1の位置に前記第1の呼出しを転送することをさらに具備する、請求項13に記載のシステム。
  19.  前記保護領域内の第1の位置にアクセスしようと試みる第1の呼出しの発信位置が前記信頼領域外にあるという前記テスト・ルーチンによる決定に応答して、前記保護メモリ領域内の前記第1の位置にアクセスせずに、前記テスト・ルーチンが、前記第1の呼出しを前記発信位置に返すことをさらに具備する、請求項18に記載のシステム。
  20.  ハイパーバイザ機能を実行するためのハイパーバイザ・コードと、
     前記ハイパーバイザ・コードが前記保護領域内に記憶されることをさらに具備する、請求項13に記載のシステム。
  21.  リンク・レジスタの現行値を決定することにより前記呼出しの発信位置を決定し、前記リンク・レジスタの前記現行値が前記呼出しが発信されたメモリ位置であることをさらに具備する、請求項13に記載のシステム。
  22.  信頼メモリ領域であって、開始メモリ位置と終了メモリ位置を指定することにより指定され、前記開始メモリ位置を含む前記開始メモリ位置から前記終了メモリ位置を含む前記終了メモリ位置までのすべてのメモリ位置を含む信頼メモリ領域をさらに具備する、請求項13に記載のシステム。
  23.  保護メモリ領域であって、開始メモリ位置と終了メモリ位置を指定することにより指定され、前記開始メモリ位置を含む前記開始メモリ位置から前記終了メモリ位置を含む前記終了メモリ位置までのすべてのメモリ位置を含む保護メモリ領域をさらに具備する、請求項13に記載のシステム。
  24.  信頼メモリ領域であって、開始メモリ位置と終了メモリ位置を指定することにより指定され、前記開始メモリ位置を含む前記開始メモリ位置から前記終了メモリ位置を含む前記終了メモリ位置までのすべてのメモリ位置を含む信頼メモリ領域と、
     前記CPU実行コードが、リンク・レジスタの現行値を決定することにより前記呼出しの発信位置を決定し、前記リンク・レジスタの前記現行値が前記呼出しが発信されたメモリ位置であることと、
     前記CPU実行コードが、前記呼出しが発信された前記メモリ位置が前記開始メモリ位置と前記終了メモリ位置とを含む両者の間にあるかどうかを判定することと、
     前記呼出しが発信された前記メモリ位置が前記開始メモリ位置と前記終了メモリ位置とを含む両者の間にあるという決定に応答して、前記CPU実行コードが、前記呼出しが発信された前記メモリ位置が前記信頼メモリ領域内にあると決定し、前記呼出しが前記保護メモリ領域にアクセスすることを許可することと、
     前記呼出しが発信された前記メモリ位置が前記開始メモリ位置と前記終了メモリ位置とを含む両者の間にないという決定に応答して、前記CPU実行コードが、前記呼出しが発信された前記メモリ位置が前記信頼メモリ領域外にあると決定し、前記呼出しが前記保護メモリ領域にアクセスすることを禁止することをさらに具備する、請求項13に記載のシステム。
  25.  保護メモリ領域への無許可アクセスを禁止するためのプログラムであって、データ処理システムを、
     保護メモリ領域を指定するための手段、
     信頼メモリ領域を指定するための手段、
     前記保護メモリ領域にアクセスするための呼出しを受け取るための手段、
     前記呼出しの発信位置を決定するための手段、
     前記発信位置が前記信頼領域内にあるという決定に応答して、前記呼出しが前記保護メモリ領域にアクセスすることを許可するための手段、
     として機能させるプログラム。
  26.  データ処理システムを、前記発信位置が前記信頼領域外にあることに応答して、前記呼出しが前記保護メモリ領域にアクセスすることを禁止するための手段として機能させる請求項25に記載のプログラム。
  27.  データ処理システムを、
     ソフトウェア・ルーチンを作成するための手段、
     前記ソフトウェア・ルーチンが前記保護メモリ領域にアクセスすることを許可されているかどうかを判定するための手段、
     前記ソフトウェア・ルーチンが前記保護メモリ領域にアクセスすることを許可されているという決定に応答して、前記ソフトウェア・ルーチンを前記信頼メモリ領域内に記憶するための手段、
     として機能させる請求項25に記載のプログラム。
  28.  データ処理システムを、前記ソフトウェア・ルーチンが前記保護メモリ領域にアクセスすることを許可されていないという決定に応答して、前記ソフトウェア・ルーチンを前記信頼メモリ領域外に記憶するための手段として機能させる請求項27に記載のプログラム。
  29.  データ処理システムを、
     ソフトウェア・ルーチンを作成するための手段、
     前記ソフトウェア・ルーチンがローグ呼出しによるアクセスから保護すべきかどうかを判定するための手段であって、前記ローグ呼出しが前記信頼領域外にあるメモリ位置からの呼出しである手段、
     前記ソフトウェア・ルーチンがローグ呼出しによるアクセスから保護すべきであるという決定に応答して、前記ソフトウェア・ルーチンを前記保護領域内に記憶するための手段、
     として機能させる請求項25に記載のプログラム。
  30.  データ処理システムを、
     テスト・ルーチンを確立するための手段、
     前記保護領域内の任意の位置にアクセスしようと試みるすべての呼出しを前記テスト・ルーチンによりインターセプトするための手段、
     前記呼出しのそれぞれの発信位置を前記テスト・ルーチンにより決定するための手段、
     前記保護領域内の第1の位置にアクセスしようと試みる第1の呼出しの発信位置が前記信頼領域内にあるという前記テスト・ルーチンによる決定に応答して、前記保護メモリ領域内の前記第1の位置に前記第1の呼出しを前記テスト・ルーチンにより転送するための手段、
     として機能させる請求項25に記載のプログラム。
  31.  データ処理システムを、前記保護領域内の第1の位置にアクセスしようと試みる第1の呼出しの発信位置が前記信頼領域外にあるという前記テスト・ルーチンによる決定に応答して、前記保護メモリ領域内の前記第1の位置にアクセスせずに、前記テスト・ルーチンにより前記第1の呼出しを前記発信位置に返すための手段として機能させる請求項30に記載のプログラム。
  32.  データ処理システムを、
     ハイパーバイザ機能を実行するためのハイパーバイザ・コードを作成するための手段、
     前記ハイパーバイザ・コードを前記保護領域内に記憶するための手段、
     として機能させる請求項25に記載のプログラム。
  33.  データ処理システムを、リンク・レジスタの現行値を決定することにより前記呼出しの発信位置を決定するための手段であって、前記リンク・レジスタの前記現行値が前記呼出しが発信されたメモリ位置である手段として機能させる請求項25に記載のプログラム。
  34.  データ処理システムを、開始メモリ位置と終了メモリ位置を指定することにより信頼メモリ領域を指定するための手段であって、前記信頼領域が前記開始メモリ位置を含む前記開始メモリ位置から前記終了メモリ位置を含む前記終了メモリ位置までのすべてのメモリ位置を含む手段として機能させる請求項25に記載のプログラム。
  35.  データ処理システムを、開始メモリ位置と終了メモリ位置を指定することにより保護メモリ領域を指定するための手段であって、前記保護領域が前記開始メモリ位置を含む前記開始メモリ位置から前記終了メモリ位置を含む前記終了メモリ位置までのすべてのメモリ位置を含む手段として機能させる請求項25に記載のプログラム。
  36.  データ処理システムを、
     開始メモリ位置と終了メモリ位置を指定することにより信頼メモリ領域を指定するための手段であって、前記信頼領域が前記開始メモリ位置を含む前記開始メモリ位置から前記終了メモリ位置を含む前記終了メモリ位置までのすべてのメモリ位置を含む手段、
     リンク・レジスタの現行値を決定することにより前記呼出しの発信位置を決定するための手段であって、前記リンク・レジスタの前記現行値が前記呼出しが発信されたメモリ位置である手段、
     前記呼出しが発信された前記メモリ位置が前記開始メモリ位置と前記終了メモリ位置とを含む両者の間にあるかどうかを判定するための手段と、
     前記呼出しが発信された前記メモリ位置が前記開始メモリ位置と前記終了メモリ位置とを含む両者の間にあるという決定に応答して、前記呼出しが発信された前記メモリ位置が前記信頼メモリ領域内にあると決定し、前記呼出しが前記保護メモリ領域にアクセスすることを許可するための手段、
     前記呼出しが発信された前記メモリ位置が前記開始メモリ位置と前記終了メモリ位置とを含む両者の間にないという決定に応答して、前記呼出しが発信された前記メモリ位置が前記信頼メモリ領域外にあると決定し、前記呼出しが前記保護メモリ領域にアクセスすることを禁止するための手段、
     として機能させる請求項25に記載のプログラム。
JP2003300452A 2002-09-12 2003-08-25 保護メモリ領域への無許可アクセスを禁止するためのシステム、方法、およびプログラム Pending JP2004103009A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/242,746 US7266658B2 (en) 2002-09-12 2002-09-12 System, method, and computer program product for prohibiting unauthorized access to protected memory regions

Publications (1)

Publication Number Publication Date
JP2004103009A true JP2004103009A (ja) 2004-04-02

Family

ID=32028917

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003300452A Pending JP2004103009A (ja) 2002-09-12 2003-08-25 保護メモリ領域への無許可アクセスを禁止するためのシステム、方法、およびプログラム

Country Status (3)

Country Link
US (1) US7266658B2 (ja)
JP (1) JP2004103009A (ja)
CN (1) CN1297909C (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011526714A (ja) * 2008-07-02 2011-10-13 ヒューレット・パッカード・カンパニー ハイパーバイザ・ローディングのためのメモリ管理
US8843742B2 (en) 2008-08-26 2014-09-23 Hewlett-Packard Company Hypervisor security using SMM
JP2016031659A (ja) * 2014-07-29 2016-03-07 株式会社デンソー 電子制御装置
JP2017522637A (ja) * 2014-06-27 2017-08-10 マカフィー, インコーポレイテッド 悪意呼を軽減するシステムおよび方法

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7730318B2 (en) * 2003-10-24 2010-06-01 Microsoft Corporation Integration of high-assurance features into an application through application factoring
US7530071B2 (en) * 2004-04-22 2009-05-05 International Business Machines Corporation Facilitating access to input/output resources via an I/O partition shared by multiple consumer partitions
JP2006004280A (ja) * 2004-06-18 2006-01-05 Toshiba Kyaria Kk マイクロコンピュータおよび電気機器
US7971255B1 (en) * 2004-07-15 2011-06-28 The Trustees Of Columbia University In The City Of New York Detecting and preventing malcode execution
US20060026418A1 (en) * 2004-07-29 2006-02-02 International Business Machines Corporation Method, apparatus, and product for providing a multi-tiered trust architecture
US8898246B2 (en) * 2004-07-29 2014-11-25 Hewlett-Packard Development Company, L.P. Communication among partitioned devices
CN100371915C (zh) * 2004-09-29 2008-02-27 安国国际科技股份有限公司 可携式储存装置及其数据存取方法
US7529864B2 (en) 2004-11-09 2009-05-05 International Business Machines Corporation Method and system for testing remote I/O functionality
KR100641191B1 (ko) * 2005-03-30 2006-11-06 엘지전자 주식회사 이동 통신 단말기의 보안 기능을 개선하는 방법
US7380049B2 (en) * 2005-09-06 2008-05-27 Intel Corporation Memory protection within a virtual partition
US20070056039A1 (en) * 2005-09-07 2007-03-08 Hormuzd Khosravi Memory filters to aid system remediation
US7661016B2 (en) * 2006-02-23 2010-02-09 Librato, Inc. Method for a checkpoint library to detect corruption by an application
JP2008077144A (ja) * 2006-09-19 2008-04-03 Ricoh Co Ltd 仮想化システム、メモリ管理方法及び制御プログラム
GB2448151B (en) * 2007-04-03 2011-05-04 Advanced Risc Mach Ltd Memory domain based security control within data processing systems
US20090196417A1 (en) * 2008-02-01 2009-08-06 Seagate Technology Llc Secure disposal of storage data
US20100031057A1 (en) * 2008-02-01 2010-02-04 Seagate Technology Llc Traffic analysis resistant storage encryption using implicit and explicit data
US8103844B2 (en) 2008-02-01 2012-01-24 Donald Rozinak Beaver Secure direct platter access
US8006055B2 (en) * 2008-03-04 2011-08-23 Microsoft Corporation Fine granularity hierarchiacal memory protection
JP5582971B2 (ja) * 2009-12-15 2014-09-03 キヤノン株式会社 メモリ保護方法および情報処理装置
US9489534B2 (en) 2014-10-23 2016-11-08 Northrop Grumman Systems Corporation Multi-level security system for enabling secure file sharing across multiple security levels and method thereof
CN112703490A (zh) * 2018-09-18 2021-04-23 华为技术有限公司 用于存储器保护的装置和方法
US10534730B1 (en) * 2018-12-20 2020-01-14 Ati Technologies Ulc Storing microcode for a virtual function in a trusted memory region
US11169717B2 (en) * 2018-12-28 2021-11-09 Micron Technology, Inc. Unauthorized access command logging using a key for a protected region of memory

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4621321A (en) 1984-02-16 1986-11-04 Honeywell Inc. Secure data processing system architecture
US4918653A (en) 1988-01-28 1990-04-17 International Business Machines Corporation Trusted path mechanism for an operating system
CN1183841A (zh) 1995-02-13 1998-06-03 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
US6006328A (en) 1995-07-14 1999-12-21 Christopher N. Drake Computer software authentication, protection, and security system
JPH09160831A (ja) 1995-12-08 1997-06-20 Hitachi Ltd 情報処理装置
JP3638714B2 (ja) 1996-05-23 2005-04-13 三菱電機株式会社 記憶データ保護装置
JPH10228421A (ja) 1997-02-14 1998-08-25 Nec Ic Microcomput Syst Ltd メモリアクセス制御回路
US6360244B1 (en) * 1997-04-11 2002-03-19 Fujitsu Limited System and method for multi-level memory domain protection
US6385727B1 (en) * 1998-09-25 2002-05-07 Hughes Electronics Corporation Apparatus for providing a secure processing environment
US6330670B1 (en) 1998-10-26 2001-12-11 Microsoft Corporation Digital rights management operating system
US6272533B1 (en) 1999-02-16 2001-08-07 Hendrik A. Browne Secure computer system and method of providing secure access to a computer system including a stand alone switch operable to inhibit data corruption on a storage device
US6449699B2 (en) 1999-03-29 2002-09-10 International Business Machines Corporation Apparatus and method for partitioned memory protection in cache coherent symmetric multiprocessor systems
US6289455B1 (en) 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
US6594780B1 (en) * 1999-10-19 2003-07-15 Inasoft, Inc. Operating system and data protection
US6986052B1 (en) * 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
US6820164B2 (en) * 2001-04-17 2004-11-16 International Business Machines Corporation Peripheral component interconnect bus detection in logically partitioned computer system involving authorizing guest operating system to conduct configuration input-output operation with functions of pci devices
US7024555B2 (en) * 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011526714A (ja) * 2008-07-02 2011-10-13 ヒューレット・パッカード・カンパニー ハイパーバイザ・ローディングのためのメモリ管理
US9286080B2 (en) 2008-07-02 2016-03-15 Hewlett-Packard Development Company, L.P. Memory management for hypervisor loading
US8843742B2 (en) 2008-08-26 2014-09-23 Hewlett-Packard Company Hypervisor security using SMM
JP2017522637A (ja) * 2014-06-27 2017-08-10 マカフィー, インコーポレイテッド 悪意呼を軽減するシステムおよび方法
JP2016031659A (ja) * 2014-07-29 2016-03-07 株式会社デンソー 電子制御装置

Also Published As

Publication number Publication date
US7266658B2 (en) 2007-09-04
CN1487424A (zh) 2004-04-07
US20040064718A1 (en) 2004-04-01
CN1297909C (zh) 2007-01-31

Similar Documents

Publication Publication Date Title
JP2004103009A (ja) 保護メモリ領域への無許可アクセスを禁止するためのシステム、方法、およびプログラム
US6839892B2 (en) Operating system debugger extensions for hypervisor debugging
US7430630B2 (en) Routing mechanism in PCI multi-host topologies using destination ID field
CN111651778B (zh) 基于risc-v指令架构的物理内存隔离方法
US9210576B1 (en) Extended trusted security zone radio modem
US8448165B1 (en) System and method for logging operations of virtual machines
US6971002B2 (en) Method, system, and product for booting a partition using one of multiple, different firmware images without rebooting other partitions
JP4676744B2 (ja) セキュリティ関連プログラミング・インターフェース
JP3954088B2 (ja) 論理分割された(lpar)計算機でシステム・ファームウェア更新を安全に実行する機構
KR100938521B1 (ko) 보안 위치 인식 플랫폼을 가능하게 해주는 방법, 장치, 및시스템
US6910160B2 (en) System, method, and computer program product for preserving trace data after partition crash in logically partitioned systems
JP4270394B2 (ja) 論理パーティション・データ処理システムにおける不正なオペレーティング・システムのローディング及び実行を防ぐための方法及びシステム
JP3815569B2 (ja) ロジカル・パーティション・データ処理システムにおいてパーティション・ファームウェアを同時更新及び活動化するための方法及び装置
JP2001521236A (ja) インターネット装置用の遠隔記憶装置を提供するための方法及びシステム
CN101202764A (zh) 确定虚拟以太网适配器的链路状态的方法和系统
TWI396092B (zh) 用於架構一遠端資料處理系統之電腦程式產品、資料處理系統、電腦實施方法及一種用於為一客戶架構一客戶端資料處理系統之服務處理方法
JP4366336B2 (ja) 論理パーティション・データ処理システムにおいてトレース・データを管理するための方法、トレース・データを管理するための論理パーティション・データ処理システム、コンピュータにトレース・データを管理させるためのコンピュータ・プログラム、論理パーティション・データ処理システム
US7003771B1 (en) Logically partitioned processing system having hypervisor for creating a new translation table in response to OS request to directly access the non-assignable resource
CN113391881B (zh) 中断的管理方法、装置、电子设备及计算机存储介质
US8695102B2 (en) Controlling execution of executables between partitions in a multi-partitioned data processing system
US20230353593A1 (en) Systems and methods for protecting pod deployment
US7565424B2 (en) Data processing system, method, and product for reporting loss of service application
US7788725B2 (en) Method and system for probing FCode in problem state memory
US20210019264A1 (en) Memory tagging for sensitive data redaction in memory dump
CN114662103A (zh) 一种文件处理方法、装置及存储介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051213

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060308

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070316

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070326

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070803

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080304