JP2004252776A - Control method of multi-operating system, program making computer execute same method, and control device of multi-operating system - Google Patents
Control method of multi-operating system, program making computer execute same method, and control device of multi-operating system Download PDFInfo
- Publication number
- JP2004252776A JP2004252776A JP2003043312A JP2003043312A JP2004252776A JP 2004252776 A JP2004252776 A JP 2004252776A JP 2003043312 A JP2003043312 A JP 2003043312A JP 2003043312 A JP2003043312 A JP 2003043312A JP 2004252776 A JP2004252776 A JP 2004252776A
- Authority
- JP
- Japan
- Prior art keywords
- operating system
- processing unit
- nic
- reception
- transmission
- 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
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、一台の計算機上で複数のオペレーティングシステムを稼動させるためのマルチオペレーティングシステム制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにマルチオペレーティングシステム制御装置に関するものであり、特に、セキュリティ、信頼性を向上させることができるマルチオペレーティングシステム制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにオペレーティングシステム制御装置に関するものである。
【0002】
【従来の技術】
通常の計算機では、1つのオペレーティングシステムが動作し、それが計算機のプロセッサ、メモリ、二次記憶装置等の計算機資源を管理し、計算機が効率良く動作できるように資源スケジュールを実施している。オペレーティングシステムには、様々な種類がある。バッチ処理に優れるものや、TSS(Time Sharing System)に優れるもの、GUI(Graphical User Interface)に優れているものなど様々である。
【0003】
一方で、これら複数あるオペレーティングシステムを1台の計算機で同時に実行したいというニーズがある。例えば、大型計算機においては、実際の業務に伴うオンライン処理を実行するオペレーティングシステムと、開発用のオペレーティングシステムとを一台の計算機で動作させたいという要求がある。あるいは、GUIの整っているオペレーティングシステムと、実時間性に優れているオペレーティングシステムとを同時に稼働させたい等という要求もある。
【0004】
しかしながら、個々のオペレーティングシステムは、単独で計算機資源の管理を実施することを前提として設計されている。従って、複数のオペレーティングシステムの共存は、何らかの機構なしには不可能である。
【0005】
一台の計算機上で複数のオペレーティングシステムを動作させる機構としては、大型計算機で実現されている仮想計算機方式がある。図70は、上記仮想計算機方式による従来のマルチオペレーティングシステムの構成例1を示すブロック図である。
【0006】
同図に示したマルチオペレーティングシステムは、ハードウェア1、基盤OS2、VM(Virtual Machine)モニタ3、仮想OS(オペレーティングシステム)41 、仮想OS42 および仮想OS43 から構成されている。
【0007】
ハードウェア1は、CPU(Central Processing Unit)、物理メモリ、入出力機器等である。基盤OS2およびVMモニタ3は、ハードウェア1の全てを制御している。VMモニタ3は、仮想OS41 〜43 のそれぞれのハードウェア1に対するインタフェースをエミュレートする。仮想OS41 〜43 は、基盤OS2の上で走行する。すなわち、基盤OS2と仮想OS41 〜43 とは、主従関係にある。
【0008】
同図に示したマルチオペレーティングシステムにおいて、例えば、仮想OS間でパケット等の通信を行う場合、基盤OS2や、仮想OS41 〜43 から同時に参照可能な共有メモリ(図示略)を経由する方法が採られる。
【0009】
例えば、仮想OS41 から仮想OS42 へパケットを送信する場合には、仮想OS41 がパケットを共有メモリに格納した後、仮想OS42 が共有メモリからパケットを取得する。なお、仮想OS間以外に、仮想OSと他装置との間においても、共有メモリや基盤OS2を経由して通信が行われる。
【0010】
また、一台の計算機で複数のオペレーティングシステムのインタフェースを提供する技術として、マイクロカーネル方式がある。図71は、上記マイクロカーネル方式による従来のマルチオペレーティングシステムの構成例2を示すブロック図である。
【0011】
同図に示したマルチオペレーティングシステムは、ハードウェア5、マイクロカーネル(制御プログラム)6、OS71 、OS72 およびOS73 から構成されている。
【0012】
マイクロカーネル方式では、マイクロカーネル6の上に、ユーザに見せるオペレーティングシステム機能を提供するOS71 〜73 が構築されている。ユーザはOS71 〜73 を経由してハードウェア5(計算機資源)を利用する。マイクロカーネル6は、OS71 〜73 を制御する。
【0013】
同図に示したマルチオペレーティングシステムにおいて、例えば、OS間でパケット等の通信を行う場合にも、マイクロカーネルや、OS71 〜73 から同時に参照可能な共有メモリ(図示略)を経由する方法が採られる。
【0014】
例えば、OS71 からOS72 へパケットを送信する場合には、OS71 がパケットを共有メモリに格納した後、OS72 が共有メモリからパケットを取得する。なお、OS間以外に、OSと他装置との間においても、共有メモリやマイクロカーネル6を経由して通信が行われる。
【0015】
【特許文献1】
特開平11−149385号公報
【特許文献2】
特開2001−216172号公報
【特許文献3】
特開2000−207232号公報
【特許文献4】
特開平8−212089号公報
【特許文献5】
特開平2001−290661号公報
【特許文献6】
特開平11−85546号公報
【特許文献7】
特開2001−282558号公報
【特許文献8】
特開平11−85546号公報
【0016】
【発明が解決しようとする課題】
ところで、前述したように、図70に示した従来のマルチオペレーティングシステムにおいては、仮想OS間や仮想OSと他装置との間で共用メモリを経由して通信を行っているため、セキュリティが低いという問題があった。
【0017】
すなわち、上記共用メモリが複数の仮想OS41〜43 のそれぞれから同時に参照可能であるため、通信時に共用メモリに外部から不正アクセスされた場合には、仮想OS41〜43 が同時に攻撃される。
【0018】
また、従来のマルチオペレーティングシステムにおいては、ハードウェア1を一つの基盤OS2が制御しているため、基盤OS2の停止により、システムダウンが生じ、信頼性が低いという問題があった。
【0019】
また、図71に示した従来のマルチオペレーティングシステムにおいても、共用メモリが複数のOS71〜73 のそれぞれから同時に参照可能であるため、通信時に共用メモリに外部から不正アクセスされた場合に、OS71〜73 が同時に攻撃され、セキュリティ上問題がある。
【0020】
本発明は、上記に鑑みてなされたもので、マルチオペレーティングシステムのセキュリティ、信頼性を向上させることができるマルチオペレーティングシステム制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにマルチオペレーティングシステム制御装置を提供することを目的とする。
【0021】
【課題を解決するための手段】
上記目的を達成するために、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定し、また、前記通信対象のデータが前記第1のオペレーティングシステムに関連する場合、前記データを一時格納する格納手段の接続先を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定工程、を含むことを特徴とする。
【0022】
この発明によれば、通信対象のデータを一時格納する格納手段における通常の接続先を第2のオペレーティングシステムに設定し、また、通信対象のデータが第1のオペレーティングシステムに関連する場合、データを一時格納する格納手段の接続先を、第2のオペレーティングシステムを中継して第1のオペレーティングシステムに設定することとしたので、通信時に第1のオペレーティングシステムおよび第2のオペレーティングシステムが同時に外部から攻撃される可能性を回避することができ、マルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0023】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、前記第2のオペレーティングシステムが実行中に、前記第1のオペレーティングシステム宛のデータが格納手段に格納された場合、前記格納手段の接続を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定工程、を含むことを特徴とする。
【0024】
この発明によれば、第2のオペレーティングシステムが実行中に、第1のオペレーティングシステム宛のデータが格納手段に格納された場合、格納手段の接続を、第2のオペレーティングシステムを中継して第1のオペレーティングシステムに設定することとしたので、第1のオペレーティングシステム宛のデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0025】
また、本発明は、請求項1または2に記載のマルチオペレーティングシステム制御方法において、前記設定工程では、前記データの信頼度が、予め登録された値以上である場合、前記第2のオペレーティングシステムを中継させずに、前記格納手段に格納されたデータを前記第1のオペレーティングシステムに直接渡すこと、を特徴とする。
【0026】
この発明によれば、データの信頼度が、予め登録された値以上である場合、第2のオペレーティングシステムを中継させずに、格納手段に格納されたデータを第1のオペレーティングシステムに直接渡すこととしたので、通信処理を高速化することができる。
【0027】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定する設定工程と、前記第1のオペレーティングシステムが実行中に、前記第2のオペレーティングシステム宛のデータが前記格納手段に格納された場合、第1のオペレーティングシステムから第2のオペレーティングシステムに切り替える切り替え工程と、を含むことを特徴とする。
【0028】
この発明によれば、第1のオペレーティングシステムが実行中に、第2のオペレーティングシステム宛のデータが格納手段に格納された場合、第1のオペレーティングシステムから第2のオペレーティングシステムに切り替えることとしたので、第2のオペレーティングシステム宛のデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0029】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、前記第1のオペレーティングシステムが実行中に、前記第1のオペレーティングシステム宛のデータが格納手段に格納された場合、前記格納手段の接続先を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定工程、を含むことを特徴とする。
【0030】
この発明によれば、第1のオペレーティングシステムが実行中に、第1のオペレーティングシステム宛のデータが格納手段に格納された場合、格納手段の接続先を、第2のオペレーティングシステムを中継して第1のオペレーティングシステムに設定することとしたので、第1のオペレーティングシステム宛のデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0031】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムへの通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する第1の設定変更工程と、前記第1のオペレーティングシステムからのデータを前記格納手段に格納する格納工程と、前記格納手段の接続先を、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムに設定変更する第2の設定変更工程と、を含むことを特徴とする。
【0032】
この発明によれば、第1のオペレーティングシステムから第2のオペレーティングシステムへの通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから第1のオペレーティングシステムに設定変更し、第1のオペレーティングシステムからのデータを格納手段に格納した後、格納手段の接続先を、第1のオペレーティングシステムから第2のオペレーティングシステムに設定変更することとしたので、第1のオペレーティングシステムから第2のオペレーティングシステムへのデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0033】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、前記第1のオペレーティングシステムから他装置への通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する第1の設定変更工程と、前記第1のオペレーティングシステムからのデータを前記格納手段に格納する格納工程と、前記格納手段の接続先を、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムに設定変更する第2の設定変更工程と、前記第2のオペレーティングシステムを中継して、前記格納手段に格納されたデータを前記他装置へ送信する送信工程と、を含むことを特徴とする。
【0034】
この発明によれば、第1のオペレーティングシステムから他装置への通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから第1のオペレーティングシステムに設定変更した後、第1のオペレーティングシステムからのデータを格納手段に格納し、格納手段の接続先を、第1のオペレーティングシステムから第2のオペレーティングシステムに設定変更することとしたので、第1のオペレーティングシステムから他装置へのデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0035】
また、本発明は、請求項7に記載のマルチオペレーティングシステム制御方法において、前記データの信頼度が、予め登録された値以上である場合、前記第2の設定変更工程では、前記設定変更を行わず、また、前記送信工程では、前記第2のオペレーティングシステムを中継させずに、前記格納手段に格納されたデータを前記他装置へ直接送信すること、を特徴とする。
【0036】
この発明によれば、データの信頼度が、予め登録された値以上である場合、設定変更を行わず、また、第2のオペレーティングシステムを中継させずに、格納手段に格納されたデータを他装置へ直接送信することとしたので、通信処理を高速化することができる。
【0037】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御方法であって、通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定する設定工程と、前記第2のオペレーティングシステムから前記第1のオペレーティングシステムへの通信を行う場合、前記第2のオペレーティングシステムからのデータを前記格納手段に格納する格納工程と、前記格納手段の接続先を前記第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する設定変更工程と、を含むことを特徴とする。
【0038】
この発明によれば、第2のオペレーティングシステムから第1のオペレーティングシステムへの通信を行う場合、第2のオペレーティングシステムからのデータを格納手段に格納し、格納手段の接続先を第2のオペレーティングシステムから第1のオペレーティングシステムに設定変更することとしたので、第2のオペレーティングシステムから第1のオペレーティングシステムへのデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0039】
また、本発明は、請求項1〜9のいずれか一つに記載のマルチオペレーティングシステム制御方法において、前記データの正常性をチェックし、正常である場合にのみ通信処理を継続させるデータチェック工程、を含むことを特徴とする。
【0040】
この発明によれば、データの正常性をチェックし、正常である場合にのみ通信処理を継続させることとしたので、マルチオペレーティングシステムのセキュリティ、信頼性をさらに向上させることができる。
【0041】
また、本発明は、請求項1〜10のいずれか一つに記載のマルチオペレーティングシステム制御方法において、前記格納手段の接続先の設定に関しては、前記第2のオペレーティングシステム側のみに権限が付与されていることを特徴とする。
【0042】
この発明によれば、格納手段の接続先の設定に関して、第2のオペレーティングシステム側のみに権限を付与することとしたので、権限を有しない第1のオペレーティングシステム側が外部から攻撃される可能性が極めて低くなり、さらにマルチオペレーティングシステムのセキュリティ、信頼性を格段に向上させることができる。
【0043】
また、本発明は、請求項1〜11のいずれか一つに記載されたマルチオペレーティングシステム制御方法をコンピュータに実行させるプログラムであり、そのプログラムがコンピュータ読み取り可能となり、これによって、請求項1〜11のいずれか一つに記載された発明の動作をコンピュータによって実行することができる。
【0044】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定し、また、前記通信対象のデータが前記第1のオペレーティングシステムに関連する場合、前記データを一時格納する格納手段の接続先を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定手段、を備えたことを特徴とする。
【0045】
この発明によれば、通信対象のデータを一時格納する格納手段における通常の接続先を第2のオペレーティングシステムに設定し、また、通信対象のデータが第1のオペレーティングシステムに関連する場合、データを一時格納する格納手段の接続先を、第2のオペレーティングシステムを中継して第1のオペレーティングシステムに設定することとしたので、通信時に第1のオペレーティングシステムおよび第2のオペレーティングシステムが同時に外部から攻撃される可能性を回避することができ、マルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0046】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、前記第2のオペレーティングシステムが実行中に、前記第1のオペレーティングシステム宛のデータが格納手段に格納された場合、前記格納手段の接続を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定手段、を備えたことを特徴とする。
【0047】
この発明によれば、第2のオペレーティングシステムが実行中に、第1のオペレーティングシステム宛のデータが格納手段に格納された場合、格納手段の接続を、第2のオペレーティングシステムを中継して第1のオペレーティングシステムに設定することとしたので、第1のオペレーティングシステム宛のデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0048】
また、本発明は、請求項13または14に記載のマルチオペレーティングシステム制御装置において、前記設定手段では、前記データの信頼度が、予め登録された値以上である場合、前記第2のオペレーティングシステムを中継させずに、前記格納手段に格納されたデータを前記第1のオペレーティングシステムに直接渡すこと、を特徴とする。
【0049】
この発明によれば、データの信頼度が、予め登録された値以上である場合、第2のオペレーティングシステムを中継させずに、格納手段に格納されたデータを第1のオペレーティングシステムに直接渡すこととしたので、通信処理を高速化することができる。
【0050】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定する設定手段と、前記第1のオペレーティングシステムが実行中に、前記第2のオペレーティングシステム宛のデータが前記格納手段に格納された場合、第1のオペレーティングシステムから第2のオペレーティングシステムに切り替える切り替え手段と、を備えたことを特徴とする。
【0051】
この発明によれば、第1のオペレーティングシステムが実行中に、第2のオペレーティングシステム宛のデータが格納手段に格納された場合、第1のオペレーティングシステムから第2のオペレーティングシステムに切り替えることとしたので、第2のオペレーティングシステム宛のデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0052】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、前記第1のオペレーティングシステムが実行中に、前記第1のオペレーティングシステム宛のデータが格納手段に格納された場合、前記格納手段の接続先を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定手段、を備えたことを特徴とする。
【0053】
この発明によれば、第1のオペレーティングシステムが実行中に、第1のオペレーティングシステム宛のデータが格納手段に格納された場合、格納手段の接続先を、第2のオペレーティングシステムを中継して第1のオペレーティングシステムに設定することとしたので、第1のオペレーティングシステム宛のデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0054】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムへの通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する第1の設定変更手段と、前記第1のオペレーティングシステムからのデータを前記格納手段に格納する格納制御手段と、前記格納手段の接続先を、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムに設定変更する第2の設定変更手段と、を備えたことを特徴とする。
【0055】
この発明によれば、第1のオペレーティングシステムから第2のオペレーティングシステムへの通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから第1のオペレーティングシステムに設定変更し、第1のオペレーティングシステムからのデータを格納手段に格納した後、格納手段の接続先を、第1のオペレーティングシステムから第2のオペレーティングシステムに設定変更することとしたので、第1のオペレーティングシステムから第2のオペレーティングシステムへのデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0056】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、前記第1のオペレーティングシステムから他装置への通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する第1の設定変更手段と、前記第1のオペレーティングシステムからのデータを前記格納手段に格納する格納制御手段と、前記格納手段の接続先を、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムに設定変更する第2の設定変更手段と、前記第2のオペレーティングシステムを中継して、前記格納手段に格納されたデータを前記他装置へ送信する送信手段と、を備えたことを特徴とする。
【0057】
この発明によれば、第1のオペレーティングシステムから他装置への通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから第1のオペレーティングシステムに設定変更した後、第1のオペレーティングシステムからのデータを格納手段に格納し、格納手段の接続先を、第1のオペレーティングシステムから第2のオペレーティングシステムに設定変更することとしたので、第1のオペレーティングシステムから他装置へのデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0058】
また、本発明は、請求項19に記載のマルチオペレーティングシステム制御装置において、前記データの信頼度が、予め登録された値以上である場合、前記第2の設定変更手段では、前記設定変更を行わず、また、前記送信手段では、前記第2のオペレーティングシステムを中継させずに、前記格納手段に格納されたデータを前記他装置へ直接送信すること、を特徴とする。
【0059】
この発明によれば、データの信頼度が、予め登録された値以上である場合、設定変更を行わず、また、第2のオペレーティングシステムを中継させずに、格納手段に格納されたデータを他装置へ直接送信することとしたので、通信処理を高速化することができる。
【0060】
また、本発明は、一つの計算機で稼動する第1のオペレーティングシステムおよび第2のオペレーティングシステムを制御するマルチオペレーティングシステム制御装置であって、通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定する設定手段と、前記第2のオペレーティングシステムから前記第1のオペレーティングシステムへの通信を行う場合、前記第2のオペレーティングシステムからのデータを前記格納手段に格納する格納制御手段と、前記格納手段の接続先を前記第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する設定変更手段と、を備えたことを特徴とする。
【0061】
この発明によれば、第2のオペレーティングシステムから第1のオペレーティングシステムへの通信を行う場合、第2のオペレーティングシステムからのデータを格納手段に格納し、格納手段の接続先を第2のオペレーティングシステムから第1のオペレーティングシステムに設定変更することとしたので、第2のオペレーティングシステムから第1のオペレーティングシステムへのデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0062】
また、本発明は、請求項13〜21のいずれか一つに記載のマルチオペレーティングシステム制御装置において、前記データの正常性をチェックし、正常である場合にのみ通信処理を継続させるデータチェック手段、を備えたことを特徴とする。
【0063】
この発明によれば、データの正常性をチェックし、正常である場合にのみ通信処理を継続させることとしたので、マルチオペレーティングシステムのセキュリティ、信頼性をさらに向上させることができる。
【0064】
また、本発明は、請求項13〜22のいずれか一つに記載のマルチオペレーティングシステム制御装置において、前記格納手段の接続先の設定に関しては、前記第2のオペレーティングシステム側のみに権限が付与されていることを特徴とする。
【0065】
この発明によれば、格納手段の接続先の設定に関して、第2のオペレーティングシステム側のみに権限を付与することとしたので、権限を有しない第1のオペレーティングシステム側が外部から攻撃される可能性が極めて低くなり、さらにマルチオペレーティングシステムのセキュリティ、信頼性を格段に向上させることができる。
【0066】
【発明の実施の形態】
以下、図面を参照して本発明にかかるマルチオペレーティングシステム制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにマルチオペレーティングシステム制御装置の実施の形態1〜3について詳細に説明する。
【0067】
(実施の形態1)
図1は、本発明にかかる実施の形態1の構成を示すブロック図である。この図に示したマルチオペレーティングシステムは、NIC(Network Inerface Card)10、NICデバイスドライバ201 、NICデバイスドライバ202 、OS301 、OS302 、AP(アプリケーションプログラム)401 〜404 およびネットワーク50から構成されている。
【0068】
同マルチオペレーティングシステムでは、OS301 からOS302 へ、またはOS302 からOS301 への切り替えが割り込み処理ルーチンの中で実行される。割り込みの発生要因としては、NIC10を介しての通信要求、タイマ(図示略)による定期的な切り替え要求等が挙げられる。
【0069】
また、同マルチオペレーティングシステムは、従来のように共通の制御プログラムや、共用メモリ等を介さずに、NIC10を用いて、高いセキュリティを保持した状態でOS301 とOS302 との間でデータ(パケット等)の受け渡しを実現する点に特徴がある。
【0070】
以下、各構成要素について詳述する。NIC10は、例えば、LAN(Local Area Network)カードであり、通信インタフェース機能を備えている。このNIC10は、後述するNICデバイスドライバ201 およびNICデバイスドライバ202 により制御される。
【0071】
NIC10において、NIC送信処理部11は、パケットを送信する機能を備えている。送信バッファ12は、NIC送信処理部11から送信されるパケットを一時的に格納する。NIC受信処理部13は、ネットワーク50よりパケットを受信する機能を備えている。受信バッファ14は、NIC受信処理部13により受信されたパケットを一時的に格納する。
【0072】
送信バッファレジスタ15は、後述する送信バッファ231 または送信バッファ232のいずれかに対応する値(アドレス)を格納するレジスタである。受信バッファレジスタ16は、後述する受信バッファ251 または受信バッファ252 のいずれかに対応する値(アドレス)を格納するレジスタである。
【0073】
NICデバイスドライバ201 は、OS301 の一部の機能を実現するものであり、通信時にNIC10を制御する機能、送信バッファレジスタ15や受信バッファレジスタ16の値を書き換える機能、OSをOS301 からOS302 へ切り替える機能等を備えている。
【0074】
NICデバイスドライバ201 において、送信処理部221 は、OS301 からのパケットを送信する機能を備えている。送信バッファ231 は、OS301 からのパケットを一時的に格納する。受信処理部241 は、OS301 宛のパケットを受信する機能を備えている。受信バッファ251 は、OS301 宛のパケットを一時的に格納する。OS切替え処理部211 は、OSをOS301 からOS302 へ切り替える機能等を備えている。
【0075】
一方、NICデバイスドライバ202 は、OS302 の一部の機能を実現するものであり、通信時にNIC10を制御する機能、送信バッファレジスタ15や受信バッファレジスタ16の値を書き換える機能、OSをOS302 からOS301 へ切り替える機能等を備えている。
【0076】
また、NICデバイスドライバ202 において、送信処理部222 は、OS302 からのパケットを送信する機能を備えている。送信バッファ232 は、OS302 からのパケットを一時的に格納する。受信処理部242 は、OS302 宛のパケットを受信する機能を備えている。受信バッファ252 は、OS302 宛のパケットを一時的に格納する。OS切替え処理部212 は、OSをOS302 からOS301 へ切り替える機能等を備えている。データチェック処理部262 は、パケットについて、ウイルス感染や、ネットワーク攻撃の可能性等についてのチェックを実行する。
【0077】
ここで、OS301 には、IPアドレスとして、例えば、192.168.1.3が付与されている。一方、OS302 には、別のIPアドレスとして、例えば、192.168.1.4が付与されている。なお、実施の形態1〜3においては、OSを識別する情報として、上記IPアドレスに代えて、MAC(Media Access Control)アドレスを用いてもよい。
【0078】
つぎに、実施の形態1の動作概要1〜4について、図2〜図5を参照しつつ説明する。
【0079】
(実施の形態1の動作概要1)
はじめに、実施の形態1の動作概要1について、図2に示したブロック図を参照して説明する。この動作概要1では、NIC10を介して、OS302 からOS301 へ通信する場合について説明する。
【0080】
同図においては、OS302 が実行中であって、送信バッファレジスタ15に送信バッファ232 に対応する値が格納されており、かつ受信バッファレジスタ16に受信バッファ252 に対応する値が格納されている状態にあるものとする。
【0081】
この状態で、(1)では、NICデバイスドライバ202 の送信処理部222 は、OS302 からのパケット(以下、データ、コマンド等も含む)を送信バッファ232 に格納する。このパケットは、OS302 からOS301 へ送信される。従って、当該パケットの送信先IPアドレスは、OS301 に付与された192.168.1.3である。
【0082】
(2)では、送信処理部222 は、NIC10の受信バッファレジスタ16の値を受信バッファ252 から受信バッファ251 に書き換える。(3)では、NIC送信処理部11は、送信バッファレジスタ15を参照して、送信バッファ232 にアクセスした後、送信バッファ232 から送信バッファ12へパケットをコピーする。
【0083】
(4)では、NIC送信処理部11は、送信バッファ12からパケットを読み出し、これをネットワーク50へ送信する。そして、当該パケットは、NIC受信処理部13に受信された後、受信バッファ14に格納される。
【0084】
(5)では、NIC受信処理部13は、受信バッファレジスタ16を参照して、受信バッファ251 にアクセスした後、受信バッファ14から受信バッファ251 へパケットをコピーする。
【0085】
(6)では、OS切替え処理部212 は、OSをOS302 からOS301 へ切り替える。(7)では、受信処理部241 は、受信バッファ251 からパケットを読み出し、このパケットを切り替え後のOS301 へ渡す。
【0086】
このように、実施の形態1の動作概要1では、NIC10を介しての通信と、OS切り替えとの連携により、高いセキュリティを保持した状態で、OS間通信が実現される。
【0087】
(実施の形態1の動作概要2)
つぎに、実施の形態1の動作概要2について、図3に示したブロック図を参照して説明する。この動作概要2では、NIC10を介して、OS301 からOS302 へ通信する場合について説明する。
【0088】
同図においては、OS301 が実行中であって、送信バッファレジスタ15に送信バッファ232 に対応する値が格納されており、かつ受信バッファレジスタ16に受信バッファ252 に対応する値が格納されている状態にあるものとする。
【0089】
この状態で、(1)では、NICデバイスドライバ201 の送信処理部221 は、OS301 からのパケットを送信バッファ231 に格納する。このパケットは、OS301 からOS302 宛に送信される。従って、当該パケットの送信先IPアドレスは、OS302 に付与された192.168.1.4である。
【0090】
(2)では、送信処理部221 は、NIC10の送信バッファレジスタ15の値を送信バッファ232 から送信バッファ231 に書き換える。(3)では、NIC送信処理部11は、送信バッファレジスタ15を参照して、送信バッファ231 にアクセスした後、送信バッファ231 から送信バッファ12へパケットをコピーする。
【0091】
(4)では、NIC送信処理部11は、送信バッファ12からパケットを読み出し、これをネットワーク50へ送信する。そして、当該パケットは、NIC受信処理部13に受信された後、受信バッファ14に格納される。
【0092】
(5)では、NIC受信処理部13は、受信バッファレジスタ16を参照して、受信バッファ252 にアクセスした後、受信バッファ14から受信バッファ252 へパケットをコピーする。
【0093】
(6)では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替える。(7)では、受信処理部242 は、受信バッファ252 からパケットを読み出し、このパケットを切り替え後のOS302 へ渡す。
【0094】
(実施の形態1の動作概要3)
つぎに、実施の形態1の動作概要3について、図4に示したブロック図を参照して説明する。この動作概要3では、ネットワーク50に接続された他装置(図示略)からOS301 宛のパケットをNIC10を介してOS302 が中継し、データチェック(ウイルスチェック等)を行う場合について説明する。
【0095】
同図においては、OS302 が実行中であって、送信バッファレジスタ15に送信バッファ232 に対応する値が格納されており、かつ受信バッファレジスタ16に受信バッファ252 に対応する値が格納されている状態にあるものとする。
【0096】
この状態で、(1)では、NIC10のNIC受信処理部13は、他装置(図示略)からOS301 宛に送信されたパケットを、ネットワーク50を介して、受信した後、これを受信バッファ14に格納する。ここで、当該パケットの送信先IPアドレスは、OS301 に付与された192.168.1.3である。
【0097】
(2)では、NIC受信処理部13は、受信バッファレジスタ16を参照して、受信バッファ252 にアクセスした後、受信バッファ14から受信バッファ252 へパケットをコピーする。
【0098】
(3)では、受信処理部242 は、データチェック処理部262 を呼び出す。(4)では、データチェック処理部262 は、受信バッファ252 に格納されたパケットについて、ウイルス感染や、ネットワーク攻撃の可能性等についてのチェックを実行する。このチェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0099】
この場合、チェック結果が正常であるとすると、(5)では、受信処理部242 (またはデータチェック処理部262 )は、受信バッファ252 から送信バッファ232 へ当該パケットをコピーする。
【0100】
(6)では、送信処理部222 は、受信バッファレジスタ16の値を受信バッファ252 から受信バッファ251 へ書き換える。(7)では、NIC10のNIC送信処理部11は、送信バッファレジスタ15を参照して、送信バッファ232 から送信バッファ12へパケットをコピーする。
【0101】
(8)では、NIC送信処理部11は、送信バッファ12からパケットを読み出し、これをネットワーク50へ送信する。そして、当該パケットは、NIC受信処理部13に受信された後、受信バッファ14に格納される。
【0102】
(9)では、NIC受信処理部13は、受信バッファレジスタ16を参照して、受信バッファ251 にアクセスした後、受信バッファ14から受信バッファ251 へパケットをコピーする。
【0103】
(10)では、OS切替え処理部212 は、OSをOS302 からOS301 へ切り替える。(11)では、受信処理部241 は、受信バッファ251 からパケットを読み出し、このパケットを切り替え後のOS301 へ渡す。
【0104】
(実施の形態1の動作概要4)
つぎに、実施の形態1の動作概要4について、図5に示したブロック図を参照して説明する。この動作概要4では、OS301 からネットワーク50に接続された他装置(図示略)宛のパケットを、NIC10を介してOS302 が中継し、データチェック(ウイルスチェック等)を行う場合について説明する。
【0105】
同図においては、OS301 が実行中であって、送信バッファレジスタ15に送信バッファ232 に対応する値が格納されており、かつ受信バッファレジスタ16に受信バッファ252 に対応する値が格納されている状態にあるものとする。
【0106】
この状態で、(1)では、NICデバイスドライバ201 の送信処理部221 は、OS301 からのパケットを送信バッファ231 に格納する。このパケットは、OS301 から他装置(図示略)宛に送信される。従って、当該パケットの送信先IPアドレスは、他装置に付与されたIPアドレスである。
【0107】
(2)では、送信処理部221 は、NIC10の送信バッファレジスタ15の値を送信バッファ232 から送信バッファ231 に書き換える。(3)では、NIC送信処理部11は、送信バッファレジスタ15を参照して、送信バッファ231 にアクセスした後、送信バッファ231 から送信バッファ12へパケットをコピーする。
【0108】
(4)では、NIC送信処理部11は、送信バッファ12からパケットを読み出し、このパケットの送信先IPアドレスを、他装置のIPアドレスからOS302 のIPアドレス(192.168.1.4)に変更する。つぎに、NIC送信処理部11は、変更後のパケットをネットワーク50へ送信する。つぎに、パケットは、NIC受信処理部13に受信された後、受信バッファ14に格納される。
【0109】
(5)では、NIC受信処理部13は、受信バッファレジスタ16を参照して、受信バッファ252 にアクセスした後、受信バッファ14から受信バッファ252 へパケットをコピーする。
【0110】
(6)では、送信処理部221 は、送信バッファレジスタ15の値を送信バッファ231 から送信バッファ232 に書き換える。(7)では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替える。
【0111】
(8)では、受信処理部242 は、データチェック処理部262 を呼び出す。(9)では、データチェック処理部262 は、受信バッファ252 に格納されたパケットについて、ウイルス感染や、ネットワーク攻撃の可能性等についてのチェックを実行する。このチェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0112】
この場合、チェック結果が正常であるとすると、(10)では、受信処理部242 (またはデータチェック処理部262 )は、受信バッファ252 から送信バッファ232 へ当該パケットをコピーする。
【0113】
(11)では、NIC10のNIC送信処理部11は、送信バッファレジスタ15を参照して、送信バッファ232 から送信バッファ12へパケットをコピーする。
【0114】
(12)では、NIC送信処理部11は、送信バッファ12からパケットを読み出し、これをネットワーク50へ送信する。そして、当該パケットは、ネットワーク50を介して他装置(図示略)に受信される。
【0115】
(実施の形態1の動作例1)
つぎに、実施の形態1の動作例1について、図6および図7を参照して、説明する。この動作例1は、図6に示したOS302 が実行中に、OS302 宛のパケットをNIC10が受信した場合の動作である。
【0116】
図7に示したステップSA1では、NIC受信処理が実行される。具体的には、図23に示したステップSJ1では、図6に示したNIC10のNIC受信処理部13は、ネットワーク50からパケットが到着したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0117】
そして、ネットワーク50を介してOS302 宛のパケットが到着すると、NIC受信処理部13は、ステップSJ1の判断結果を「Yes」とする。ステップSJ2では、NIC受信処理部13は、受信禁止状態にあるか否かを判断し、この場合、判断結果を「No」とする。
【0118】
ステップSJ3では、NIC受信処理部13は、上記パケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ252 にコピーする。
【0119】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS302 )に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0120】
これにより、OS302 側では、図7に示したステップSA2で第2受信処理が実行される。具体的には、図24に示したステップSK1では、NICデバイスドライバ202 の受信処理部242 は、受信バッファ252 に格納されているパケットの送信元IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0121】
ステップSK2では、受信処理部242 は、同パケットの送信先IPアドレスがOS302 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。ステップSK6では、受信処理部242 は、受信バッファ252 からOS302 へパケットをコピーする。
【0122】
(実施の形態1の動作例2)
つぎに、実施の形態1の動作例2について、図8および図9を参照して、説明する。この動作例2は、図8に示したOS302 が実行中に、OS301 宛のパケットをNIC10が受信した場合の動作である。
【0123】
図9に示したステップSB1では、動作例1と同様にして、NIC受信処理(図23参照)が実行される。このNIC受信処理では、図8に示したNIC10のNIC受信処理部13により、ネットワーク50を介してOS301 宛のパケットが受信された後、受信バッファ14に格納される。つぎに、パケットは、NIC受信処理部13により、受信バッファ252 に格納される。
【0124】
図9に示したステップSB2では、OS302 側で第2受信処理が実行される。具体的には、図24に示したステップSK1では、NICデバイスドライバ202 の受信処理部242 は、受信バッファ252 に格納されているパケットの送信元IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0125】
ステップSK2では、受信処理部242 は、同パケットの送信先IPアドレスがOS302 に対応しているか否かを判断し、この場合、判断結果を「No」とする。ステップSK3では、受信処理部242 は、同パケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0126】
ステップSK7では、受信処理部242 は、NIC10に対して受信禁止コマンドを発行する。これにより、ステップSK8では、NIC受信割り込みが禁止され、NIC10が前述した受信禁止状態とされる。従って、NIC10では、パケットの受信が禁止される。
【0127】
ステップSK9では、受信処理部242 は、データチェック処理部262 を呼び出し、受信バッファ252 に格納されたパケットについて、ウイルス感染や、ネットワーク攻撃の可能性等についてのチェックを実行させる。なお、このチェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0128】
この場合、チェック結果が正常であるとすると、ステップSK10では、受信処理部242 は、受信バッファ252 から送信バッファ232 へ当該パケットをコピーする。ステップSK11では、受信処理部242 は、送信処理部222 を呼び出す。
【0129】
これにより、図9に示したステップSB3では、第2送信処理が実行される。具体的には、図25に示したステップSL1では、送信処理部222 は、送信バッファ232 に格納されているパケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0130】
ステップSL4では、送信処理部222 は、受信バッファレジスタ16の値を受信バッファ252 から受信バッファ251 に書き換える。ステップSL5では、送信処理部222 は、NIC受信割り込み禁止を解除する。
【0131】
ステップSL6では、送信処理部222 は、NIC10に受信禁止解除コマンドを発行する。これにより、NIC10における受信禁止が解除される。ステップSL7では、送信処理部222 は、NIC送信処理部11を呼び出す。ステップSL8では、送信処理部222 は、送信コマンドをNIC送信処理部11へ渡し、NIC送信割り込みを発生させる。
【0132】
これにより、図9に示したステップSB4では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部221 または送信処理部222 から送信コマンドを受けたか否かを判断する。
【0133】
この場合、ステップSL8(図25参照)で送信処理部222 から送信コマンドを受けているため、NIC送信処理部11は、ステップSI1の判断結果を「Yes」とする。なお、送信コマンドを受けていない場合、NIC送信処理部11は、判断結果を「No」として、ステップSI1の判断を繰り返す。
【0134】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ232 から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(OS301 宛)をネットワーク50へ送信する。
【0135】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS302 )に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0136】
また、図25に示したステップSL9では、送信処理部222 は、OS切替え処理部212 を呼び出す。これにより、図9に示したステップSB5では、OS切替え処理部212 は、OSをOS302 からOS301 へ切り替えるという第2OS切替え処理を実行する。
【0137】
そして、切り替え後、ステップSB6では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、NIC受信処理部13は、図23に示したステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0138】
ステップSJ3では、NIC受信処理部13は、ネットワーク50を介してOS301 宛のパケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ251 にコピーする。
【0139】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS301 )に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0140】
これにより、OS301 側では、図9に示したステップSB7で第1受信処理が実行される。具体的には、図26に示したステップSM1では、NICデバイスドライバ201 の受信処理部241 は、受信バッファ251 に格納されているパケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0141】
ステップSM3では、受信処理部241 はNIC10に対して受信禁止コマンドを発行する。ステップSM4では、NIC受信割り込みが禁止される。ステップSM5では、受信処理部241 は、受信バッファ251 からOS301 にパケットをコピーする。
【0142】
ステップSM6では、受信処理部241 は、受信バッファレジスタ16の値を受信バッファ251 から受信バッファ252 に書き換える。ステップSM7では、受信処理部241 は、NIC受信割り込み禁止を解除する。ステップSM8では、受信処理部241 は、NIC10に対して受信禁止解除コマンドを発行する。
【0143】
(実施の形態1の動作例3)
つぎに、実施の形態1の動作例3について、図10および図11を参照して、説明する。この動作例3は、図10に示したOS301 が実行中に、OS302 宛のパケットをNIC10が受信した場合の動作である。
【0144】
図11に示したステップSC1では、NIC受信処理が実行される。具体的には、図23に示したステップSJ1では、図10に示したNIC10のNIC受信処理部13は、ネットワーク50からパケットが到着したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0145】
そして、ネットワーク50を介してOS302 宛のパケットが到着すると、NIC受信処理部13は、ステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0146】
ステップSJ3では、NIC受信処理部13は、上記パケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ252 にコピーする。
【0147】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS301 )に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0148】
これにより、図11に示したステップSC2で第1受信処理が実行される。具体的には、図26に示したステップSM1では、NICデバイスドライバ201 の受信処理部241 は、受信バッファ251 に格納されているパケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、いずれのパケットも格納されていないため、判断結果を「No」とする。
【0149】
ステップSM2では、受信処理部241 は、OS切替え処理部211 を呼び出す。これにより、図11に示したステップSC3では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替えるという第1OS切り替え処理を実行する。
【0150】
ステップSC4では、第2受信処理が実行される。具体的には、図24に示したステップSK1では、NICデバイスドライバ202 の受信処理部242 は、受信バッファ252 に格納されているパケットの送信元IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0151】
ステップSK2では、受信処理部242 は、同パケットの送信先IPアドレスがOS302 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。ステップSK6では、受信処理部242 は、受信バッファ252 からOS302 へパケットをコピーする。
【0152】
(実施の形態1の動作例4)
つぎに、実施の形態1の動作例4について、図12および図13を参照して、説明する。この動作例4は、図12に示したOS301 が実行中に、OS301 宛のパケットをNIC10が受信した場合の動作である。
【0153】
図13に示したステップSD1では、NIC受信処理が実行される。具体的には、図23に示したステップSJ1では、図12に示したNIC10のNIC受信処理部13は、ネットワーク50からパケットが到着したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0154】
そして、ネットワーク50を介してOS301 宛のパケットが到着すると、NIC受信処理部13は、ステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0155】
ステップSJ3では、NIC受信処理部13は、上記パケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ252 にコピーする。
【0156】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS301 )に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0157】
これにより、図13に示したステップSD2で第1受信処理が実行される。具体的には、図26に示したステップSM1では、NICデバイスドライバ201 の受信処理部241 は、受信バッファ251 に格納されているパケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、いずれのパケットも格納されていないため、判断結果を「No」とする。
【0158】
ステップSM2では、受信処理部241 は、OS切替え処理部211 を呼び出す。これにより、図13に示したステップSD3では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替えるという第1OS切り替え処理を実行する。
【0159】
ステップSD4では、第2受信処理が実行される。具体的には、図24に示したステップSK1では、NICデバイスドライバ202 の受信処理部242 は、受信バッファ252 に格納されているパケットの送信元IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0160】
ステップSK2では、受信処理部242 は、同パケットの送信先IPアドレスがOS302 に対応しているか否かを判断し、この場合、判断結果を「No」とする。ステップSK3では、受信処理部242 は、同パケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0161】
ステップSK7では、受信処理部242 は、NIC10に対して受信禁止コマンドを発行する。これにより、ステップSK8では、NIC受信割り込みが禁止され、NIC10が前述した受信禁止状態とされる。従って、NIC10では、パケットの受信が禁止される。
【0162】
ステップSK9では、受信処理部242 は、データチェック処理部262 を呼び出し、受信バッファ252 に格納されたパケットについて、ウイルス感染や、ネットワーク攻撃の可能性等についてのチェックを実行させる。なお、このチェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0163】
この場合、チェック結果が正常であるとすると、ステップSK10では、受信処理部242 は、受信バッファ252 から送信バッファ232 へ当該パケットをコピーする。ステップSK11では、受信処理部242 は、送信処理部222 を呼び出す。
【0164】
これにより、図13に示したステップSD5では、第2送信処理が実行される。具体的には、図25に示したステップSL1では、送信処理部222 は、送信バッファ232 に格納されているパケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0165】
ステップSL4では、送信処理部222 は、受信バッファレジスタ16の値を受信バッファ252 から受信バッファ251 に書き換える。ステップSL5では、送信処理部222 は、NIC受信割り込み禁止を解除する。
【0166】
ステップSL6では、送信処理部222 は、NIC10に受信禁止解除コマンドを発行する。これにより、NIC10における受信禁止が解除される。ステップSL7では、送信処理部222 は、NIC送信処理部11を呼び出す。ステップSL8では、送信処理部222 は、送信コマンドをNIC送信処理部11へ渡し、NIC送信割り込みを発生させる。
【0167】
これにより、図13に示したステップSD6では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部221 または送信処理部222 から送信コマンドを受けたか否かを判断する。
【0168】
この場合、ステップSL8(図25参照)で送信処理部222 から送信コマンドを受けているため、NIC送信処理部11は、ステップSI1の判断結果を「Yes」とする。
【0169】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ232 から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(OS301 宛)をネットワーク50へ送信する。
【0170】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS302 )に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0171】
また、図25に示したステップSL9では、送信処理部222 は、OS切替え処理部212 を呼び出す。これにより、図13に示したステップSD7では、OS切替え処理部212 は、OSをOS302 からOS301 へ切り替えるという第2OS切替え処理を実行する。
【0172】
そして、切り替え後、ステップSD8では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、NIC受信処理部13は、図23に示したステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0173】
ステップSJ3では、NIC受信処理部13は、上記パケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ251 にコピーする。
【0174】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS301 )に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0175】
これにより、ステップSD9で第1受信処理が実行される。具体的には、図26に示したステップSM1では、NICデバイスドライバ201 の受信処理部241 は、受信バッファ251 に格納されているパケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0176】
ステップSM3では、受信処理部241 はNIC10に対して受信禁止コマンドを発行する。ステップSM4では、NIC受信割り込みが禁止される。ステップSM5では、受信処理部241 は、受信バッファ251 からOS301 にパケットをコピーする。
【0177】
ステップSM6では、受信処理部241 は、受信バッファレジスタ16の値を受信バッファ251 から受信バッファ252 に書き換える。ステップSM7では、受信処理部241 は、NIC割込禁止を解除する。ステップSM8では、受信処理部241 は、NIC10に対して受信禁止解除コマンドを発行する。
【0178】
(実施の形態1の動作例5)
つぎに、実施の形態1の動作例5について、図14および図15を参照して、説明する。この動作例5は、図14に示したOS301 からOS302 へパケットを送信する場合の動作である。
【0179】
図15に示したステップSE1では、第1送信処理が実行される。具体的には、図27に示したステップSN1では、送信処理部221 は、OS301 から渡された送信すべきパケットの送信先IPアドレスを、OS302 のIPアドレスに置換した後、送信バッファ231 に格納する。
【0180】
ステップSN2では、送信処理部221 は、送信バッファレジスタ15の値を送信バッファ232 から送信バッファ231 に書き換える。ステップSN3では、送信処理部221 は、NIC送信処理部11を呼び出し、送信コマンドを発行する。ステップSN4では、送信処理部221 は、NIC10でNIC送信完了割り込みが発生したか否かを判断し、この場合、判断結果を「No」とする。
【0181】
また、ステップSN3でNIC送信処理部11が呼び出されると、図15に示したステップSE2では、NIC送信処理が実行される。具体的には、図23に示したステップSI1では、NIC送信処理部11は、送信処理部221 または送信処理部222 から送信コマンドを受けたか否かを判断し、この場合、判断結果を「Yes」とする。
【0182】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ231 から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(OS302 宛)をネットワーク50へ送信する。
【0183】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS301 )に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0184】
これにより、送信処理部221 は、図27に示したステップSN4の判断結果を「Yes」とする。ステップSN5では、送信処理部221 は、送信バッファレジスタ15の値を送信バッファ231 から送信バッファ232 に書き換える。ステップSN6では、送信処理部221 は、OS切替え処理部211 を呼び出す。
【0185】
これにより、図15に示したステップSE3では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替えるという第1OS切り替え処理を実行する。
【0186】
ステップSE4では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、図14に示したNIC10のNIC受信処理部13により、ネットワーク50を介してOS302 宛のパケットが受信された後、受信バッファ14に格納される。つぎに、パケットは、NIC受信処理部13により、受信バッファ252 に格納される。
【0187】
ステップSE5では、OS302 側で第2受信処理が実行される。具体的には、図24に示したステップSK1では、NICデバイスドライバ202 の受信処理部242 は、受信バッファ252 に格納されているパケットの送信元IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0188】
ステップSK5では、受信処理部242 は、データチェック処理部262 を呼び出し、受信バッファ252 に格納されているパケットについてデータチェックを行わせる。なお、チェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0189】
この場合、チェック結果が正常であるものとし、ステップSK2では、受信処理部242 は、同パケットの送信先IPアドレスがOS302 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。ステップSK6では、受信処理部242 は、受信バッファ252 からOS302 へパケットをコピーする。
【0190】
(実施の形態1の動作例6)
つぎに、実施の形態1の動作例6について、図16および図17を参照して、説明する。この動作例6は、図16に示したOS301 からネットワーク50に接続された他装置へパケットを送信する場合の動作である。
【0191】
図17に示したステップSF1では、第1送信処理が実行される。具体的には、図27に示したステップSN1では、送信処理部221 は、OS301 から渡された送信すべきパケットの送信先IPアドレス(この場合、他装置のIPアドレス)を、OS302 のIPアドレスに置換した後、送信バッファ231 に格納する。なお、置換前の他装置のIPアドレスは、当該パケットのデータ領域に格納される。
【0192】
ステップSN2では、送信処理部221 は、送信バッファレジスタ15の値を送信バッファ232 から送信バッファ231 に書き換える。ステップSN3では、送信処理部221 は、NIC送信処理部11を呼び出し、送信コマンドを発行する。ステップSN4では、送信処理部221 は、NIC10でNIC送信完了割り込みが発生したか否かを判断し、この場合、判断結果を「No」とする。
【0193】
また、ステップSN3でNIC送信処理部11が呼び出されると、図17に示したステップSF2では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部221 または送信処理部222 から送信コマンドを受けたか否かを判断し、この場合、判断結果を「Yes」とする。
【0194】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ231 から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(OS302 宛)をネットワーク50へ送信する。
【0195】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS301 )に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0196】
これにより、送信処理部221 は、図27に示したステップSN4の判断結果を「Yes」とする。ステップSN5では、送信処理部221 は、送信バッファレジスタ15の値を送信バッファ231 から送信バッファ232 に書き換える。ステップSN6では、送信処理部221 は、OS切替え処理部211 を呼び出す。
【0197】
これにより、図17に示したステップSF3では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替えるという第1OS切り替え処理を実行する。
【0198】
ステップSF4では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、図16に示したNIC10のNIC受信処理部13により、ネットワーク50を介してOS302 宛のパケットが受信された後、受信バッファ14に格納される。つぎに、NIC受信処理部13は、当該パケットの送信先IPアドレスを他装置のIPアドレスに置換した後、当該パケットを受信バッファ252 に格納する。
【0199】
ステップSF5では、OS302 側で第2受信処理が実行される。具体的には、図24に示したステップSK1では、NICデバイスドライバ202 の受信処理部242 は、受信バッファ252 に格納されているパケットの送信元IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0200】
ステップSK5では、受信処理部242 は、データチェック処理部262 を呼び出し、受信バッファ252 に格納されているパケットについてデータチェックを行わせる。なお、チェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0201】
この場合、チェック結果が正常であるものとし、ステップSK2では、受信処理部242 は、同パケットの送信先IPアドレスがOS302 に対応しているか否かを判断し、この場合、判断結果を「No」とする。ステップSK3では、受信処理部242 は、同パケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「No」とする。ステップSK4では、受信処理部242 は、同パケットの送信先IPアドレスが他装置に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0202】
ステップSK12では、受信処理部242 は、受信バッファ252 から送信バッファ232 へパケットをコピーする。ステップSK13では、受信処理部242 は、送信処理部222 を呼び出す。
【0203】
これにより、図17に示したステップSF6では、第2送信処理が実行される。具体的には、図25に示したステップSL1では、送信処理部222 は、送信バッファ232 に格納されているパケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0204】
ステップSL2では、送信処理部222 は、NIC10のNIC送信処理部11を呼び出す。ステップSL3では、送信処理部222 は、送信コマンドをNIC送信処理部11へ渡し、NIC送信割り込みを発生させる。
【0205】
これにより、図17に示したステップSF7では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部222 から送信コマンドを受けているため、判断結果を「Yes」とする。
【0206】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ232 から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(他装置宛)をネットワーク50へ送信する。これにより、パケットは、ネットワーク50を介して、他装置に受信される。
【0207】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS302 )に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0208】
(実施の形態1の動作例7)
つぎに、実施の形態1の動作例7について、図18および図19を参照して、説明する。この動作例7は、図18に示したOS302 からネットワーク50に接続された他装置へパケットを送信する場合の動作である。
【0209】
図19に示したステップSG1では、第2送信処理が実行される。具体的には、図25に示したステップSL1では、送信処理部222 は、OS302 から渡されたパケットの送信先IPアドレスがOS301 に対応しているか否かを判断する。この場合、当該パケットの送信先IPアドレスが他装置に対応しているものとし、送信処理部222 は、ステップSL1の判断結果を「No」とする。
【0210】
ステップSL2では、送信処理部222 は、NIC送信処理部11を呼び出す。ステップSL3では、送信処理部222 は、送信コマンドをNIC送信処理部11へ渡し、NIC送信割り込みを発生させる。
【0211】
これにより、図19に示したステップSG2では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部222 から送信コマンドを受けているため、判断結果を「Yes」とする。
【0212】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ232 から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(他装置宛)をネットワーク50へ送信する。これにより、当該パケットは、ネットワーク50を介して、他装置に受信される。
【0213】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS302 )に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0214】
(実施の形態1の動作例8)
つぎに、実施の形態1の動作例8について、図20および図21を参照して、説明する。この動作例8は、図20に示したOS302 からOS301 へパケットを送信する場合の動作である。
【0215】
図21に示したステップSH1では、データチェック処理部262 は、OS302 から渡されたOS301 宛のパケットに対して、ウイルスチェック等のデータチェックを行う。チェック結果が正常である場合、ステップSH2では、第2送信処理が実行される。
【0216】
具体的には、図25に示したステップSL1では、送信処理部222 は、OS302 から渡されたパケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0217】
ステップSL4では、送信処理部222 は、受信バッファレジスタ16の値を受信バッファ252 から受信バッファ251 に書き換える。ステップSL5では、送信処理部222 は、NIC受信割り込み禁止を解除する。
【0218】
ステップSL6では、送信処理部222 は、NIC10に受信禁止解除コマンドを発行する。これにより、NIC10における受信禁止が解除される。ステップSL7では、送信処理部222 は、NIC送信処理部11を呼び出す。ステップSL8では、送信処理部222 は、送信コマンドをNIC送信処理部11へ渡し、NIC送信割り込みを発生させる。
【0219】
これにより、図21に示したステップSH3では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部222 から送信コマンドを受けているため、判断結果を「Yes」とする。
【0220】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ232 から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(OS301 宛)をネットワーク50へ送信する。
【0221】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS302 )に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0222】
また、図25に示したステップSL9では、送信処理部222 は、OS切替え処理部212 を呼び出す。これにより、図21に示したステップSH4では、OS切替え処理部212 は、OSをOS302 からOS301 へ切り替えるという第2OS切替え処理を実行する。
【0223】
そして、切り替え後、ステップSH5では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、NIC受信処理部13は、図23に示したステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0224】
ステップSJ3では、NIC受信処理部13は、ネットワーク50を介してOS301 宛のパケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ251 にコピーする。
【0225】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS301 )に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0226】
これにより、OS301 側では、図21に示したステップSH6で第1受信処理が実行される。具体的には、図26に示したステップSM1では、NICデバイスドライバ201 の受信処理部241 は、受信バッファ251 に格納されているパケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0227】
ステップSM3では、受信処理部241 はNIC10に対して受信禁止コマンドを発行する。ステップSM4では、NIC受信割り込みが禁止される。ステップSM5では、受信処理部241 は、受信バッファ251 からOS301 にパケットをコピーする。
【0228】
ステップSM6では、受信処理部241 は、受信バッファレジスタ16の値を受信バッファ251 から受信バッファ252 に書き換える。ステップSM7では、受信処理部241 は、NIC割り込み禁止を解除する。ステップSM8では、受信処理部241 は、NIC10に対して受信禁止解除コマンドを発行する。
【0229】
以上説明したように、実施の形態1によれば、通信対象のパケット等のデータを一時格納する、NIC10の送信バッファ12および送信バッファレジスタ15(格納手段)における通常の接続先をOS302 に設定し、また、通信対象のデータがOS301 に関連する場合、データを一時格納する送信バッファ12および送信バッファレジスタ15(格納手段)の接続先を、OS302 を中継してOS301 に設定することとしたので、通信時にOS301 およびOS302 が同時に外部から攻撃される可能性を回避することができ、マルチオペレーティングシステムのセキュリティ、信頼性を向上させることができる。
【0230】
また、実施の形態1によれば、通信対象のパケット(データ)の正常性をデータチェック処理部262 でチェックし、正常である場合にのみ通信処理を継続させることとしたので、マルチオペレーティングシステムのセキュリティ、信頼性をさらに向上させることができる。
【0231】
(実施の形態2)
さて、前述した実施の形態1では、図1に示したNIC10を介して、OS301 の通信(パケットの送信および受信)をOS302 で中継し、また、データチェック処理部262 でデータチェックをかける構成例について説明したが、信頼性が確認されたパケットについて中継やデータチェックを行わない構成としてもよい。以下では、この構成例を実施の形態2として説明する。
【0232】
ここで、実施の形態2では、図24に代えて図34に示した第2受信処理が実行され、また、図27に代えて図35に示した第1送信処理が実行される。
【0233】
(実施の形態2の動作例1)
はじめに、実施の形態2の動作例1について、図28および図29を参照して、説明する。この動作例1は、図28に示したOS302 が実行中に、OS301 宛のパケット(但し、信頼度が高いパケット)をNIC10が受信した場合の動作である。
【0234】
図29に示したステップSO1では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、図28に示したNIC10のNIC受信処理部13により、ネットワーク50を介してOS301 宛のパケットが受信された後、受信バッファ14に格納される。つぎに、パケットは、NIC受信処理部13に受信された後、受信バッファ252 に格納される。上記パケットは、ネットワーク50に接続された他装置から送信されたものである。
【0235】
図29に示したステップSO2では、OS302 側で第2受信処理が実行される。具体的には、図34に示したステップSR1では、NICデバイスドライバ202 の受信処理部242 は、受信バッファ252 に格納されているパケットの送信元IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0236】
ステップSR2では、受信処理部242 は、同パケットの送信先IPアドレスがOS302 に対応しているか否かを判断し、この場合、判断結果を「No」とする。ステップSR3では、受信処理部242 は、同パケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0237】
ステップSR14では、受信処理部242 は、当該パケットの送信元IPアドレスが、予め登録された信頼度が高いIPアドレスであるか否かを判断し、この場合、判断結果を「Yes」とする。
【0238】
ステップSR15では、受信処理部242 は、データチェックを行わずに、かつNIC10を介さずに、受信バッファ252 から受信バッファ251 へパケットをコピーする。この場合には、当該パケットの信頼性が確認されているため、共有メモリ(図示略)を経由して、コピーしてもよい。
【0239】
ステップSR16では、受信処理部242 は、OS切替え処理部212 を呼び出す。これにより、図29に示したステップSO3では、OS切替え処理部212 は、OSをOS302 からOS301 へ切り替えるという第2OS切替え処理を実行する。また、切り替え後、受信処理部242 は、NICデバイスドライバ201 の受信処理部241 を呼び出す。
【0240】
図29に示したステップSO4では、受信処理部241 は、受信バッファ251 からOS301 へパケットをコピーし、OS301 でパケットを受信するための第1受信処理を実行する。
【0241】
なお、図34において、ステップSR1〜ステップSR13は、図24に示したステップSK1〜ステップSK13に対応している。
【0242】
(実施の形態2の動作例2)
つぎに、実施の形態2の動作例2について、図30および図31を参照して、説明する。この動作例2は、図30に示したOS301 が実行中に、OS301 宛のパケット(但し、信頼度が高いパケット)をNIC10が受信した場合の動作である。
【0243】
図31に示したステップSP1では、NIC受信処理が実行される。具体的には、図23に示したステップSJ1では、図30に示したNIC10のNIC受信処理部13は、ネットワーク50からパケットが到着したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0244】
そして、ネットワーク50を介して、他装置からOS301 宛のパケットが到着すると、NIC受信処理部13は、ステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0245】
ステップSJ3では、NIC受信処理部13は、上記パケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ252 にコピーする。
【0246】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS301 )に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0247】
これにより、図31に示したステップSP2で第1受信処理が実行される。具体的には、図26に示したステップSM1では、NICデバイスドライバ201 の受信処理部241 は、受信バッファ251 に格納されているパケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、いずれのパケットも格納されていないため、判断結果を「No」とする。
【0248】
ステップSM2では、受信処理部241 は、OS切替え処理部211 を呼び出す。これにより、図31に示したステップSP3では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替えるという第1OS切り替え処理を実行する。
【0249】
ステップSP4では、第2受信処理が実行される。具体的には、図34に示したステップSR1では、NICデバイスドライバ202 の受信処理部242 は、受信バッファ252 に格納されているパケットの送信元IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0250】
ステップSR2では、受信処理部242 は、同パケットの送信先IPアドレスがOS302 に対応しているか否かを判断し、判断結果を「No」とする。ステップSR3では、受信処理部242 は、同パケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0251】
ステップSR14では、受信処理部242 は、当該パケットの送信元IPアドレスが、予め登録された信頼度が高いIPアドレスであるか否かを判断し、この場合、判断結果を「Yes」とする。
【0252】
ステップSR15では、受信処理部242 は、データチェックを行わずに、かつNIC10を介さずに、受信バッファ252 から受信バッファ251 へパケットをコピーする。この場合には、当該パケットの信頼性が確認されているため、共有メモリ(図示略)を経由して、コピーしてもよい。
【0253】
ステップSR16では、受信処理部242 は、OS切替え処理部212 を呼び出す。これにより、図31に示したステップSP5では、OS切替え処理部212 は、OSをOS302 からOS301 へ切り替えるという第2OS切替え処理を実行する。また、切り替え後、受信処理部242 は、NICデバイスドライバ201 の受信処理部241 を呼び出す。
【0254】
ステップSP6では、受信処理部241 は、受信バッファ251 からOS301 へパケットをコピーし、OS301 でパケットを受信するための第1受信処理を実行する。
【0255】
(実施の形態2の動作例3)
つぎに、実施の形態2の動作例3について、図32および図33を参照して、説明する。この動作例3は、図32に示したOS301 からネットワーク50に接続された他装置へパケット(但し、信頼度が高いパケット)を送信する場合の動作である。
【0256】
図33に示したステップSQ1では、送信処理部221 は、OS301 から渡された送信すべきパケットの信頼度が、予め登録された信頼度より高い場合、図35に示した第1送信処理を実行する。なお、当該パケットの信頼度が、予め登録された信頼度より低い場合には、図27に示した第1送信処理が実行される。
【0257】
具体的には、図35に示したステップSS1では、送信処理部221 は、送信バッファレジスタ15の値を送信バッファ232 から送信バッファ231 に書き換える。ステップSS2では、送信処理部221 は、NIC送信処理部11を呼び出し、送信コマンドを発行する。ステップSS3では、送信処理部221 は、NIC10でNIC送信完了割り込みが発生したか否かを判断し、この場合、判断結果を「No」とする。
【0258】
また、ステップSS2でNIC送信処理部11が呼び出されると、図33に示したステップSQ2では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部221 から送信コマンドを受けているため、判断結果を「Yes」とする。
【0259】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ231 から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(他装置宛)をネットワーク50へ送信する。これにより、当該パケットは、ネットワーク50を介して、他装置(図示略)に受信される。
【0260】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS301 )に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0261】
これにより、送信処理部221 は、図35に示したステップSS3の判断結果を「Yes」とする。ステップSS4では、送信処理部221 は、送信バッファレジスタ15の値を送信バッファ231 から送信バッファ232 に書き換える。
【0262】
以上説明したように、実施の形態2によれば、データの信頼度が、予め登録された値以上である場合、OS302 を中継させずに、データをOS301 に直接渡すこととしたので、通信処理を高速化することができる。
【0263】
(実施の形態3)
さて、前述した実施の形態1においては、図1に示したNIC10の送信バッファレジスタ15および受信バッファレジスタ16のそれぞれの値をNICデバイスドライバ201 およびNICデバイスドライバ202 の双方で書き換えることが可能な構成例について説明したが、セキュリティをさらに高めることを目的として、書き換えの権限をNICデバイスドライバ202 のみに持たせるように構成してもよい。以下では、この構成例を実施の形態3として説明する。
【0264】
図36は、本発明にかかる実施の形態3の構成を示すブロック図である。この図において、図1の各部に対応する部分には同一の符号を付ける。同図においては、NICデバイスドライバ202 に送信バッファレジスタ書き換え処理部272 および受信バッファレジスタ書き換え処理部282 が新たに設けられている。
【0265】
ここで、実施の形態3では、NICデバイスドライバ202 は、NIC10の送信バッファレジスタ15および受信バッファレジスタ16の値を書き換える権限を有している。一方、NICデバイスドライバ201 は、NIC10の送信バッファレジスタ15および受信バッファレジスタ16の値を書き換える権限を有していない。そこで、NICデバイスドライバ201 は、上記書き換えの要求が発生した場合、NICデバイスドライバ202 に書き換えを代理してもらう。
【0266】
送信バッファレジスタ書き換え処理部272 は、NICデバイスドライバ201 からの書き換え要求に応じて、送信バッファレジスタ15の値を代理で書き換える機能を備えている。また、受信バッファレジスタ書き換え処理部282 は、NICデバイスドライバ201 からの書き換え要求に応じて、受信バッファレジスタ16の値を代理で書き換える機能を備えている。
【0267】
つぎに、実施の形態3の動作概要1〜4について、図37〜図40を参照しつつ説明する。
【0268】
(実施の形態3の動作概要1)
はじめに、実施の形態3の動作概要1について、図37に示したブロック図を参照して説明する。この動作概要1では、NIC10を介して、OS302 からOS301 へ通信する場合について説明する。
【0269】
同図においては、OS302 が実行中であって、送信バッファレジスタ15に送信バッファ232 に対応する値が格納されており、かつ受信バッファレジスタ16に受信バッファ252 に対応する値が格納されている状態にあるものとする。
【0270】
この状態で、(1)では、NICデバイスドライバ202 の送信処理部222 は、OS302 からのパケットを送信バッファ232 に格納する。このパケットは、OS302 からOS301 へ送信される。従って、当該パケットの送信先IPアドレスは、OS301 に付与された192.168.1.3である。
【0271】
(2)では、送信処理部222 は、NIC10の受信バッファレジスタ16の値を受信バッファ252 から受信バッファ251 に書き換える。(3)では、NIC送信処理部11は、送信バッファレジスタ15を参照して、送信バッファ232 にアクセスした後、送信バッファ232 から送信バッファ12へパケットをコピーする。
【0272】
(4)では、NIC送信処理部11は、送信バッファ12からパケットを読み出し、これをネットワーク50へ送信する。そして、当該パケットは、NIC受信処理部13に受信された後、受信バッファ14に格納される。
【0273】
(5)では、NIC受信処理部13は、受信バッファレジスタ16を参照して、受信バッファ251 にアクセスした後、受信バッファ14から受信バッファ251 へパケットをコピーする。
【0274】
(6)では、OS切替え処理部212 は、OSをOS302 からOS301 へ切り替える。(7)では、受信処理部241 は、受信バッファ251 からパケットを読み出し、このパケットを切り替え後のOS301 へ渡す。
【0275】
(8)では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替える。(9)では、受信バッファレジスタ書き換え処理部282 は、OS301 からOS302 への切り替えをトリガとして、NICデバイスドライバ201 に代わって、受信バッファレジスタ16の値を受信バッファ251 から受信バッファ252 に書き換える。(10)では、データチェック処理部262 は、OSをOS301 からOS302 へ切り替える。
【0276】
(実施の形態3の動作概要2)
つぎに、実施の形態3の動作概要2について、図38に示したブロック図を参照して説明する。この動作概要2では、NIC10を介して、OS301 からOS302 へ通信する場合について説明する。
【0277】
同図においては、OS301 が実行中であって、送信バッファレジスタ15に送信バッファ232 に対応する値が格納されており、かつ受信バッファレジスタ16に受信バッファ252 に対応する値が格納されている状態にあるものとする。
【0278】
この状態で、(1)では、NICデバイスドライバ201 の送信処理部221 は、OS301 からのパケットを送信バッファ231 に格納する。このパケットは、OS301 からOS302 宛に送信される。従って、当該パケットの送信先IPアドレスは、OS302 に付与された192.168.1.4である。
【0279】
(2)では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替える。(3)では、送信バッファレジスタ書き換え処理部272 は、OS301 からOS302 への切り替えをトリガとして、NICデバイスドライバ201 に代わって、NIC10の送信バッファレジスタ15の値を送信バッファ232 から送信バッファ231 に書き換える。
【0280】
(4)では、OS切替え処理部212 は、OSをOS302 からOS301 へ切り替える。(5)では、NIC送信処理部11は、送信バッファレジスタ15を参照して、送信バッファ231 にアクセスした後、送信バッファ231 から送信バッファ12へパケットをコピーする。
【0281】
(6)では、NIC送信処理部11は、送信バッファ12からパケットを読み出し、これをネットワーク50へ送信する。そして、当該パケットは、NIC受信処理部13に受信された後、受信バッファ14に格納される。
【0282】
(7)では、NIC受信処理部13は、受信バッファレジスタ16を参照して、受信バッファ252 にアクセスした後、受信バッファ14から受信バッファ252 へパケットをコピーする。
【0283】
(8)では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替える。(9)では、受信処理部242 は、送信バッファレジスタ15の値を送信バッファ231 から送信バッファ232 へ書き換える。(10)では、受信処理部242 は、受信バッファ251 からパケットを読み出し、このパケットを切り替え後のOS302 へ渡す。
【0284】
(実施の形態3の動作概要3)
はじめに、実施の形態3の動作概要3について、図39に示したブロック図を参照して説明する。この動作概要3では、ネットワーク50に接続された他装置(図示略)からOS301 宛のパケットをNIC10を介してOS302 が中継し、データチェック(ウイルスチェック等)を行う場合について説明する。
【0285】
同図においては、OS302 が実行中であって、送信バッファレジスタ15に送信バッファ232 に対応する値が格納されており、かつ受信バッファレジスタ16に受信バッファ252 に対応する値が格納されている状態にあるものとする。
【0286】
この状態で、(1)では、NIC10のNIC受信処理部13は、他装置(図示略)からOS301 宛に送信されたパケットを、ネットワーク50を介して、受信した後、これを受信バッファ14に格納する。ここで、当該パケットの送信先IPアドレスは、OS301 に付与された192.168.1.3である。
【0287】
(2)では、NIC受信処理部13は、受信バッファレジスタ16を参照して、受信バッファ252 にアクセスした後、受信バッファ14から受信バッファ252 へパケットをコピーする。
【0288】
(3)では、受信処理部242 は、データチェック処理部262 を呼び出す。(4)では、データチェック処理部262 は、受信バッファ252 に格納されたパケットについて、ウイルス感染や、ネットワーク攻撃の可能性等についてのチェックを実行する。このチェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0289】
この場合、チェック結果が正常であるとすると、(5)では、受信処理部242 (またはデータチェック処理部262 )は、受信バッファ252 から送信バッファ232 へ当該パケットをコピーする。
【0290】
(6)では、送信処理部222 は、受信バッファレジスタ16の値を受信バッファ252 から受信バッファ251 へ書き換える。(7)では、NIC10のNIC送信処理部11は、送信バッファレジスタ15を参照して、送信バッファ232 から送信バッファ12へパケットをコピーする。
【0291】
(8)では、NIC送信処理部11は、送信バッファ12からパケットを読み出し、これをネットワーク50へ送信する。そして、当該パケットは、NIC受信処理部13に受信された後、受信バッファ14に格納される。
【0292】
(9)では、NIC受信処理部13は、受信バッファレジスタ16を参照して、受信バッファ251 にアクセスした後、受信バッファ14から受信バッファ251 へパケットをコピーする。
【0293】
(10)では、OS切替え処理部212 は、OSをOS302 からOS301 へ切り替える。(11)では、受信処理部241 は、受信バッファ251 からパケットを読み出し、このパケットを切り替え後のOS301 へ渡す。
【0294】
(12)では、OS切替え処理部211 は、OSをOS301 からOS302へ切り替える。(13)では、受信バッファレジスタ書き換え処理部282 は、OS301 からOS302 への切り替えをトリガとして、NICデバイスドライバ201 に代わって、受信バッファレジスタ16の値を受信バッファ251 から受信バッファ252 に書き換える。(14)では、データチェック処理部262 は、OSをOS301 からOS302 へ切り替える。
【0295】
(実施の形態3の動作概要4)
つぎに、実施の形態3の動作概要4について、図40に示したブロック図を参照して説明する。この動作概要4では、OS301 からネットワーク50に接続された他装置(図示略)宛のパケットを、NIC10を介してOS302 が中継し、データチェック(ウイルスチェック等)を行う場合について説明する。
【0296】
同図においては、OS301 が実行中であって、送信バッファレジスタ15に送信バッファ232 に対応する値が格納されており、かつ受信バッファレジスタ16に受信バッファ252 に対応する値が格納されている状態にあるものとする。
【0297】
この状態で、(1)では、NICデバイスドライバ201 の送信処理部221 は、OS301 からのパケットを送信バッファ231 に格納する。このパケットは、OS301 から他装置(図示略)宛に送信される。従って、当該パケットの送信先IPアドレスは、他装置に付与されたIPアドレスである。
【0298】
(2)では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替える。(3)では、送信バッファレジスタ書き換え処理部272 は、OS301 からOS302 への切り替えをトリガとして、NICデバイスドライバ201 に代わって、送信バッファレジスタ15の値を送信バッファ232 から送信バッファ231 に書き換える。
【0299】
(4)では、OS切替え処理部212 は、OSをOS302 からOS301 へ切り替える。(5)では、NIC送信処理部11は、送信バッファレジスタ15を参照して、送信バッファ231 にアクセスした後、送信バッファ231 から送信バッファ12へパケットをコピーする。
【0300】
(6)では、NIC送信処理部11は、送信バッファ12からパケットを読み出し、このパケットの送信先IPアドレスを、他装置のIPアドレスからOS302 のIPアドレス(192.168.1.4)に変更する。つぎに、NIC送信処理部11は、変更後のパケットをネットワーク50へ送信する。つぎに、パケットは、NIC受信処理部13に受信された後、受信バッファ252 に格納される。
【0301】
(7)では、NIC受信処理部13は、受信バッファレジスタ16を参照して、受信バッファ252 にアクセスした後、受信バッファ14から受信バッファ252 へパケットをコピーする。
【0302】
(8)では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替える。(9)では、送信バッファレジスタ書き換え処理部272 は、OS301 からOS302 への切り替えをトリガとして、NICデバイスドライバ201 に代わって、送信バッファレジスタ15の値を送信バッファ231 から送信バッファ232 に書き換える。
【0303】
(10)では、受信処理部242 は、データチェック処理部262 を呼び出す。(11)では、データチェック処理部262 は、受信バッファ252 に格納されたパケットについて、ウイルス感染や、ネットワーク攻撃の可能性等についてのチェックを実行する。このチェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0304】
この場合、チェック結果が正常であるとすると、(12)では、受信処理部242 (またはデータチェック処理部262 )は、受信バッファ252 から送信バッファ232 へ当該パケットをコピーする。
【0305】
(13)では、NIC10のNIC送信処理部11は、送信バッファレジスタ15を参照して、送信バッファ232 から送信バッファ12へパケットをコピーする。
【0306】
(14)では、NIC送信処理部11は、送信バッファ12からパケットを読み出し、これをネットワーク50へ送信する。そして、当該パケットは、ネットワーク50を介して他装置(図示略)に受信される。
【0307】
(実施の形態3の動作例1)
つぎに、実施の形態3の動作例1について、図41および図42を参照して、説明する。この動作例1は、図41に示したOS302 が実行中に、OS302 宛のパケットをNIC10が受信した場合の動作である。
【0308】
ここで、実施の形態3では、図24に代えて図59に示した第2受信処理が、図26に代えて図60に示した第1受信処理が、図27に代えて図61に示した第1送信処理がそれぞれ実行される。
【0309】
図42に示したステップST1では、NIC受信処理が実行される。具体的には、図23に示したステップSJ1では、図41に示したNIC10のNIC受信処理部13は、ネットワーク50からパケットが到着したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0310】
そして、ネットワーク50を介してOS302 宛のパケットが到着すると、NIC受信処理部13は、ステップSJ1の判断結果を「Yes」とする。ステップSJ2では、NIC受信処理部13は、受信禁止状態にあるか否かを判断し、この場合、判断結果を「No」とする。
【0311】
ステップSJ3では、NIC受信処理部13は、上記パケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ252 にコピーする。
【0312】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS302 )に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0313】
これにより、OS302 側では、図42に示したステップST2で第2受信処理が実行される。具体的には、図59に示したステップSSD1では、NICデバイスドライバ202 の受信処理部242 は、受信バッファ252 に格納されているパケットの送信元IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0314】
ステップSSD2では、受信処理部242 は、同パケットの送信先IPアドレスがOS302 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。ステップSSD7では、受信処理部242 は、受信バッファ252 からOS302 へパケットをコピーする。
【0315】
(実施の形態3の動作例2)
つぎに、実施の形態3の動作例2について、図43および図44を参照して、説明する。この動作例2は、図43に示したOS302 が実行中に、OS301 宛のパケットをNIC10が受信した場合の動作である。
【0316】
図44に示したステップSU1では、動作例1と同様にして、NIC受信処理(図23参照)が実行される。このNIC受信処理では、図43に示したNIC10のNIC受信処理部13により、ネットワーク50を介してOS301 宛のパケットが受信された後、受信バッファ14に格納される。つぎに、パケットは、NIC受信処理部13により、受信バッファ252 に格納される。
【0317】
図44に示したステップSU2では、OS302 側で第2受信処理が実行される。具体的には、図59に示したステップSSD1では、NICデバイスドライバ202 の受信処理部242 は、受信バッファ252 に格納されているパケットの送信元IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0318】
ステップSSD2では、受信処理部242 は、同パケットの送信先IPアドレスがOS302 に対応しているか否かを判断し、この場合、判断結果を「No」とする。ステップSSD3では、受信処理部242 は、同パケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0319】
ステップSSD8では、受信処理部242 は、NIC10に対して受信禁止コマンドを発行する。これにより、ステップSSD9では、NIC受信割り込みが禁止され、NIC10が前述した受信禁止状態とされる。従って、NIC10では、パケットの受信が禁止される。
【0320】
ステップSSD10では、受信処理部242 は、データチェック処理部262 を呼び出し、受信バッファ252 に格納されたパケットについて、ウイルス感染や、ネットワーク攻撃の可能性等についてのチェックを実行させる。なお、このチェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0321】
この場合、チェック結果が正常であるとすると、ステップSSD11では、受信処理部242 は、受信バッファ252 から送信バッファ232 へ当該パケットをコピーする。ステップSSD12では、受信処理部242 は、送信処理部222 を呼び出す。
【0322】
これにより、図44に示したステップSU3では、第2送信処理が実行される。具体的には、図25に示したステップSL1では、送信処理部222 は、送信バッファ232 に格納されているパケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0323】
ステップSL4では、送信処理部222 は、受信バッファレジスタ16の値を受信バッファ252 から受信バッファ251 に書き換える。ステップSL5では、送信処理部222 は、NIC受信割り込み禁止を解除する。
【0324】
ステップSL6では、送信処理部222 は、NIC10に受信禁止解除コマンドを発行する。これにより、NIC10における受信禁止が解除される。ステップSL7では、送信処理部222 は、NIC送信処理部11を呼び出す。ステップSL8では、送信処理部222 は、送信コマンドをNIC送信処理部11へ渡し、NIC送信割り込みを発生させる。
【0325】
これにより、図44に示したステップSU4では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部221 または送信処理部222 から送信コマンドを受けたか否かを判断する。
【0326】
この場合、ステップSL8(図25参照)で送信処理部222 から送信コマンドを受けているため、NIC送信処理部11は、ステップSI1の判断結果を「Yes」とする。なお、送信コマンドを受けていない場合、NIC送信処理部11は、ステップSI1の判断を繰り返す。
【0327】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ232 から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(OS301 宛)をネットワーク50へ送信する。
【0328】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS302 )に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0329】
また、図25に示したステップSL9では、送信処理部222 は、OS切替え処理部212 を呼び出す。これにより、図44に示したステップSU5では、OS切替え処理部212 は、OSをOS302 からOS301 へ切り替えるという第2OS切替え処理を実行する。
【0330】
そして、切り替え後、ステップSU6では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、NIC受信処理部13は、図23に示したステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0331】
ステップSJ3では、NIC受信処理部13は、ネットワーク50を介してOS301 宛のパケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ251 にコピーする。
【0332】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS301 )に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0333】
これにより、OS301 側では、図44に示したステップSU7で第1受信処理が実行される。具体的には、図60に示したステップSSE1では、NICデバイスドライバ201 の受信処理部241 は、受信バッファ251 に格納されているパケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0334】
ステップSSE3では、受信処理部241 はNIC10に対して受信禁止コマンドを発行する。ステップSSE4では、NIC受信割り込みが禁止される。ステップSSE5では、受信処理部241 は、受信バッファ251 からOS301 にパケットをコピーする。
【0335】
ステップSSE6では、受信処理部241 は、OS切替え処理部211 を呼び出す。ステップSSE7では、受信処理部241 はNIC受信割り込み禁止を解除する。ステップSSE8では、受信処理部241 は、NIC10に受信禁止解除コマンドを発行する。
【0336】
図44に示したステップSU8では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替えるという第1OS切り替え処理を実行する。ステップSU9では、受信バッファレジスタ書き換え処理部282 は、OS301 からOS302 への切り替えをトリガとして、受信バッファレジスタ書き換え処理を実行する。
【0337】
具体的には、図57に示したステップSSB1では、受信バッファレジスタ書き換え処理部282 は、OS301 からOS302 への切り替えがあるか否かを判断し、この判断結果が「No」である場合、同判断を繰り返す。この場合、切り替えが行われているため、受信バッファレジスタ書き換え処理部282 は、ステップSSB1の判断結果を「Yes」とする。
【0338】
ステップSSB2では、受信バッファレジスタ書き換え処理部282 は、受信バッファレジスタ16の値を受信バッファ251 から受信バッファ252 に書き換える。
【0339】
図44に示したステップSU10では、OS切替え処理部212 が呼び出される。これにより、OS切替え処理部212 は、OSをOS302 からOS301 へ切り替えるという第2OS切り替え処理を実行する。
【0340】
(実施の形態3の動作例3)
つぎに、実施の形態3の動作例3について、図45および図46を参照して、説明する。この動作例3は、図45に示したOS301 が実行中に、OS302 宛のパケットをNIC10が受信した場合の動作である。
【0341】
図46に示したステップSV1では、NIC受信処理が実行される。具体的には、図23に示したステップSJ1では、図45に示したNIC10のNIC受信処理部13は、ネットワーク50からパケットが到着したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0342】
そして、ネットワーク50を介してOS302 宛のパケットが到着すると、NIC受信処理部13は、ステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0343】
ステップSJ3では、NIC受信処理部13は、上記パケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ252 にコピーする。
【0344】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS301 )に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0345】
これにより、図46に示したステップSV2で第1受信処理が実行される。具体的には、図60に示したステップSSE1では、NICデバイスドライバ201 の受信処理部241 は、受信バッファ251 に格納されているパケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、いずれのパケットも格納されていないため、判断結果を「No」とする。
【0346】
ステップSSE2では、受信処理部241 は、OS切替え処理部211 を呼び出す。これにより、図46に示したステップSV3では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替えるという第1OS切り替え処理を実行する。
【0347】
ステップSV4では、第2受信処理が実行される。具体的には、図59に示したステップSSD1では、NICデバイスドライバ202 の受信処理部242 は、受信バッファ252 に格納されているパケットの送信元IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0348】
ステップSSD2では、受信処理部242 は、同パケットの送信先IPアドレスがOS302 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。ステップSSD7では、受信処理部242 は、受信バッファ252 からOS302 へパケットをコピーする。
【0349】
(実施の形態3の動作例4)
つぎに、実施の形態3の動作例4について、図47および図48を参照して、説明する。この動作例4は、図47に示したOS301 が実行中に、OS301 宛のパケットをNIC10が受信した場合の動作である。
【0350】
図48に示したステップSW1では、NIC受信処理が実行される。具体的には、図23に示したステップSJ1では、図47に示したNIC10のNIC受信処理部13は、ネットワーク50からパケットが到着したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0351】
そして、ネットワーク50を介してOS301 宛のパケットが到着すると、NIC受信処理部13は、ステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0352】
ステップSJ3では、NIC受信処理部13は、上記パケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ252 にコピーする。
【0353】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS301 )に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0354】
これにより、図48に示したステップSW2で第1受信処理が実行される。具体的には、図60に示したステップSSE1では、NICデバイスドライバ201 の受信処理部241 は、受信バッファ251 に格納されているパケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、いずれのパケットも格納されていないため、判断結果を「No」とする。
【0355】
ステップSSE2では、受信処理部241 は、OS切替え処理部211 を呼び出す。これにより、図48に示したステップSW3では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替えるという第1OS切り替え処理を実行する。
【0356】
ステップSW4では、第2受信処理が実行される。具体的には、図59に示したステップSSD1では、NICデバイスドライバ202 の受信処理部242 は、受信バッファ252 に格納されているパケットの送信元IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0357】
ステップSSD2では、受信処理部242 は、同パケットの送信先IPアドレスがOS302 に対応しているか否かを判断し、この場合、判断結果を「No」とする。ステップSSD3では、受信処理部242 は、同パケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0358】
ステップSSD8では、受信処理部242 は、NIC10に対して受信禁止コマンドを発行する。これにより、ステップSSD9では、NIC受信割り込みが禁止され、NIC10が前述した受信禁止状態とされる。従って、NIC10では、パケットの受信が禁止される。
【0359】
ステップSSD10では、受信処理部242 は、データチェック処理部262 を呼び出し、受信バッファ252 に格納されたパケットについて、ウイルス感染や、ネットワーク攻撃の可能性等についてのチェックを実行させる。なお、このチェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0360】
この場合、チェック結果が正常であるとすると、ステップSSD11では、受信処理部242 は、受信バッファ252 から送信バッファ232 へ当該パケットをコピーする。ステップSSD12では、受信処理部242 は、送信処理部222 を呼び出す。
【0361】
これにより、図48に示したステップSW5では、第2送信処理が実行される。具体的には、図25に示したステップSL1では、送信処理部222 は、送信バッファ232 に格納されているパケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0362】
ステップSL4では、送信処理部222 は、受信バッファレジスタ16の値を受信バッファ252 から受信バッファ251 に書き換える。ステップSL5では、送信処理部222 は、NIC受信割り込み禁止を解除する。
【0363】
ステップSL6では、送信処理部222 は、NIC10に受信禁止解除コマンドを発行する。これにより、NIC10における受信禁止が解除される。ステップSL7では、送信処理部222 は、NIC送信処理部11を呼び出す。ステップSL8では、送信処理部222 は、送信コマンドをNIC送信処理部11へ渡し、NIC送信割り込みを発生させる。
【0364】
これにより、図48に示したステップSW6では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部221 または送信処理部222 から送信コマンドを受けたか否かを判断する。
【0365】
この場合、ステップSL8(図25参照)で送信処理部222 から送信コマンドを受けているため、NIC送信処理部11は、ステップSI1の判断結果を「Yes」とする。
【0366】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ232 から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(OS301 宛)をネットワーク50へ送信する。
【0367】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS302 )に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0368】
また、図25に示したステップSL9では、送信処理部222 は、OS切替え処理部212 を呼び出す。これにより、図48に示したステップSW7では、OS切替え処理部212 は、OSをOS302 からOS301 へ切り替えるという第2OS切替え処理を実行する。
【0369】
そして、切り替え後、ステップSW8では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、NIC受信処理部13は、図23に示したステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0370】
ステップSJ3では、NIC受信処理部13は、上記パケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ251 にコピーする。
【0371】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS302 )に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0372】
これにより、図48に示したステップSW9で第1受信処理が実行される。具体的には、図60に示したステップSSE1では、NICデバイスドライバ201 の受信処理部241 は、受信バッファ251 に格納されているパケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0373】
ステップSSE3では、受信処理部241 はNIC10に対して受信禁止コマンドを発行する。ステップSSE4では、NIC受信割り込みが禁止される。ステップSSE5では、受信処理部241 は、受信バッファ251 からOS301 にパケットをコピーする。
【0374】
ステップSSE6では、受信処理部241 は、OS切替え処理部211 を呼び出す。ステップSSE7では、受信処理部241 はNIC受信割り込み禁止を解除する。ステップSSE8では、受信処理部241 は、NIC10に受信禁止解除コマンドを発行する。
【0375】
図48に示したステップSW10では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替えるという第1OS切り替え処理を実行する。ステップSW11では、受信バッファレジスタ書き換え処理部282 は、OS301 からOS302 への切り替えをトリガとして、受信バッファレジスタ書き換え処理を実行する。
【0376】
具体的には、図57に示したステップSSB1では、受信バッファレジスタ書き換え処理部282 は、OS301 からOS302 への切り替えがあるか否かを判断し、この場合、判断結果を「Yes」とする。
【0377】
ステップSSB2では、受信バッファレジスタ書き換え処理部282 は、受信バッファレジスタ16の値を受信バッファ251から受信バッファ252 に書き換える。
【0378】
図48に示したステップSW12では、OS切替え処理部212 が呼び出される。これにより、OS切替え処理部212 は、OSをOS301 からOS302 へ切り替えるという第2OS切り替え処理を実行する。
【0379】
(実施の形態3の動作例5)
つぎに、実施の形態3の動作例5について、図49および図50を参照して、説明する。この動作例5は、図49に示したOS301 からOS302 へパケットを送信する場合の動作である。
【0380】
図50に示したステップSX1では、第1送信処理が実行される。具体的には、図61に示したステップSSF1では、送信処理部221 は、OS301 から渡された送信すべきパケットの送信先IPアドレスを、OS302 のIPアドレスに置換した後、送信バッファ231 に格納する。
【0381】
ステップSSF2では、送信処理部221 は、OS切替え処理部211 を呼び出す。これにより、図50に示したステップSX2では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替えるという、第1OS切替え処理を実行する。
【0382】
ステップSX3では、送信バッファレジスタ書き換え処理部272 は、OS301 からOS302 への切り替えをトリガとして、送信バッファレジスタ書き換え処理を実行する。
【0383】
具体的には、図58に示したステップSSC1では、送信バッファレジスタ書き換え処理部272 は、OS301 からOS302 への切り替えがあるか否かを判断し、この判断結果が「No」である場合、同判断を繰り返す。この場合、切り替えが行われているため、送信バッファレジスタ書き換え処理部272 は、ステップSSC1の判断結果を「Yes」とする。
【0384】
ステップSSC2では、送信バッファレジスタ書き換え処理部272 は、送信バッファレジスタ15の値を送信バッファ231 から送信バッファ232 に書き換える。
【0385】
図50に示したステップSX4では、OS切替え処理部212 が呼び出される。これにより、OS切替え処理部212 は、OSをOS302 からOS301 へ切り替えるという第2OS切り替え処理を実行する。
【0386】
ステップSX5では、送信処理部221 は、第1送信処理を継続する。すなわち、図61に示したステップSSF3では、送信処理部221 は、NIC送信処理部11を呼び出し、送信コマンドを発行する。ステップSSF4では、送信処理部221 は、NIC10でNIC送信完了割り込みが発生したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0387】
また、ステップSSF3(図61参照)でNIC送信処理部11が呼び出されると、OS302 からOS301 への切り替え後、図50に示したステップSX6では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部221 または送信処理部222 から送信コマンドを受けたか否かを判断し、この場合、判断結果を「Yes」とする。
【0388】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ231 から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(OS302 宛)をネットワーク50へ送信する。
【0389】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS301 )に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0390】
これにより、送信処理部221 は、図61に示したステップSSF4の判断結果を「Yes」とする。ステップSSF5では、送信処理部221 は、送信バッファレジスタ書き換え処理部272 に、送信バッファレジスタ15の値を送信バッファ231 から送信バッファ232 に書き換えさせる。ステップSSF6では、送信処理部221 は、OS切替え処理部211 を呼び出す。
【0391】
これにより、図50に示したステップSX7では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替えるという第1OS切り替え処理を実行する。
【0392】
ステップSX8では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、図49に示したNIC10のNIC受信処理部13により、ネットワーク50を介してOS302 宛のパケットが受信された後、受信バッファ14に格納される。つぎに、パケットは、NIC受信処理部13により、受信バッファ252 に格納される。
【0393】
ステップSX9では、OS302 側で第2受信処理が実行される。具体的には、図59に示したステップSSD1では、NICデバイスドライバ202 の受信処理部242 は、受信バッファ252 に格納されているパケットの送信元IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0394】
ステップSSD5では、受信処理部242 は、送信バッファレジスタ15の値を送信バッファ231 から送信バッファ232 に書き換える。ステップSSD6では、受信処理部242 は、データチェック処理部262 を呼び出し、受信バッファ252 に格納されているパケットについてデータチェックを行わせる。なお、チェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0395】
この場合、チェック結果が正常であるものとし、ステップSSD2では、受信処理部242 は、同パケットの送信先IPアドレスがOS302 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。ステップSSD7では、受信処理部242 は、受信バッファ252 からOS302 へパケットをコピーする。
【0396】
(実施の形態3の動作例6)
つぎに、実施の形態3の動作例6について、図51および図52を参照して、説明する。この動作例6は、図51に示したOS301 からネットワーク50に接続された他装置へパケットを送信する場合の動作である。
【0397】
図52に示したステップSY1では、第1送信処理が実行される。具体的には、図61に示したステップSSF1では、送信処理部221 は、OS301 から渡された送信すべきパケットの送信先IPアドレス(この場合、他装置のIPアドレス)を、OS302 のIPアドレスに置換した後、送信バッファ231 に格納する。なお、置換前の他装置のIPアドレスは、当該パケットのデータ領域に格納される。
【0398】
ステップSSF2では、送信処理部221 は、OS切替え処理部211 を呼び出す。これにより、図52に示したステップSY2では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替えるという、第1OS切替え処理を実行する。
【0399】
ステップSY3では、送信バッファレジスタ書き換え処理部272 は、OS301 からOS302 への切り替えをトリガとして、送信バッファレジスタ書き換え処理を実行する。
【0400】
具体的には、図58に示したステップSSC1では、送信バッファレジスタ書き換え処理部272 は、OS301 からOS302 への切り替えがあるか否かを判断し、この判断結果が「No」である場合、同判断を繰り返す。この場合、切り替えが行われているため、送信バッファレジスタ書き換え処理部272 は、ステップSSC1の判断結果を「Yes」とする。
【0401】
ステップSSC2では、送信バッファレジスタ書き換え処理部272 は、送信バッファレジスタ15の値を送信バッファ231 から送信バッファ232 に書き換える。
【0402】
図52に示したステップSY4では、OS切替え処理部212 が呼び出される。これにより、OS切替え処理部212 は、OSをOS302 からOS301 へ切り替えるという第2OS切り替え処理を実行する。
【0403】
ステップSY5では、送信処理部221 は、第1送信処理を継続する。すなわち、図61に示したステップSSF3では、送信処理部221 は、NIC送信処理部11を呼び出し、送信コマンドを発行する。ステップSSF4では、送信処理部221 は、NIC10でNIC送信完了割り込みが発生したか否かを判断し、この場合、判断結果を「No」とする。
【0404】
また、ステップSSF3でNIC送信処理部11が呼び出されると、図52に示したステップSY6では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部221 または送信処理部222 から送信コマンドを受けたか否かを判断し、この場合、判断結果を「Yes」とする。
【0405】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ232 から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(OS302 宛)をネットワーク50へ送信する。
【0406】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS301 )に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0407】
これにより、送信処理部221 は、図61に示したステップSSF4の判断結果を「Yes」とする。ステップSSF5では、送信処理部221 は、送信バッファレジスタ書き換え処理部272 に、送信バッファレジスタ15の値を送信バッファ231 から送信バッファ232 に書き換えさせる。ステップSSF6では、送信処理部221 は、OS切替え処理部211 を呼び出す。
【0408】
これにより、図52に示したステップSY7では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替えるという第1OS切り替え処理を実行する。
【0409】
ステップSY8では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、図51に示したNIC10のNIC受信処理部13により、ネットワーク50を介してOS302 宛のパケットが受信された後、受信バッファ14に格納される。つぎに、NIC受信処理部13は、当該パケットの送信先IPアドレスを他装置のIPアドレスに置換した後、当該パケットを受信バッファ252 に格納する。
【0410】
ステップSY9では、OS302 側で第2受信処理が実行される。具体的には、図59に示したステップSSD1では、NICデバイスドライバ202 の受信処理部242 は、受信バッファ252 に格納されているパケットの送信元IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。ステップSSD5では、受信処理部242 は、送信バッファレジスタ15の値を送信バッファ231 から送信バッファ232 へ書き換える。
【0411】
ステップSSD6では、受信処理部242 は、データチェック処理部262 を呼び出し、受信バッファ252 に格納されているパケットについてデータチェックを行わせる。なお、チェック結果が異常である場合には、アラームがあがり、一連の処理が中断される。
【0412】
この場合、チェック結果が正常であるものとし、ステップSSD2では、受信処理部242 は、同パケットの送信先IPアドレスがOS302 に対応しているか否かを判断し、この場合、判断結果を「No」とする。ステップSSD3では、受信処理部242 は、同パケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「No」とする。ステップSSD4では、受信処理部242 は、同パケットの送信先IPアドレスが他装置に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0413】
ステップSSD13では、受信処理部242 は、受信バッファ252 から送信バッファ232 へパケットをコピーする。ステップSSD14では、受信処理部242 は、送信処理部222 を呼び出す。
【0414】
これにより、図52に示したステップSY10では、第2送信処理が実行される。具体的には、図25に示したステップSL1では、送信処理部222 は、送信バッファ232 に格納されているパケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「No」とする。
【0415】
ステップSL2では、送信処理部222 は、NIC10のNIC送信処理部11を呼び出す。ステップSL3では、送信処理部222 は、送信コマンドをNIC送信処理部11へ渡し、NIC送信割り込みを発生させる。
【0416】
これにより、図52に示したステップSY11では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部222 から送信コマンドを受けているため、判断結果を「Yes」とする。
【0417】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ232 から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(他装置宛)をネットワーク50へ送信する。これにより、パケットは、ネットワーク50を介して、他装置に受信される。
【0418】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS302 )に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0419】
(実施の形態3の動作例7)
つぎに、実施の形態3の動作例7について、図53および図54を参照して、説明する。この動作例7は、図53に示したOS302 からネットワーク50に接続された他装置へパケットを送信する場合の動作である。
【0420】
図54に示したステップSZ1では、第2送信処理が実行される。具体的には、図25に示したステップSL1では、送信処理部222 は、OS302 から渡されたパケットの送信先IPアドレスがOS301 に対応しているか否かを判断する。この場合、この場合、当該パケットの送信先IPアドレスが他装置に対応しているものとし、送信処理部222 は、ステップSL1の判断結果を「No」とする。
【0421】
ステップSL2では、送信処理部222 は、NIC送信処理部11を呼び出す。ステップSL3では、送信処理部222 は、送信コマンドをNIC送信処理部11へ渡し、NIC送信割り込みを発生させる。
【0422】
これにより、図54に示したステップSZ2では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部222 から送信コマンドを受けているため、判断結果を「Yes」とする。
【0423】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ232 から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(他装置宛)をネットワーク50へ送信する。これにより、当該パケットは、ネットワーク50を介して、他装置に受信される。
【0424】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS302 )に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0425】
(実施の形態3の動作例8)
つぎに、実施の形態3の動作例8について、図55および図56を参照して、説明する。この動作例8は、図55に示したOS302 からOS301 へパケットを送信する場合の動作である。
【0426】
図56に示したステップSSA1では、データチェック処理部262 は、OS302 から渡されたOS301 宛のパケットに対して、ウイルスチェック等のデータチェックを行う。チェック結果が正常である場合、ステップSSA2では、第2送信処理が実行される。
【0427】
具体的には、図25に示したステップSL1では、送信処理部222 は、OS302 から渡されたパケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0428】
ステップSL4では、送信処理部222 は、受信バッファレジスタ16の値を受信バッファ252 から受信バッファ251 に書き換える。ステップSL5では、送信処理部222 は、NIC受信割り込み禁止を解除する。
【0429】
ステップSL6では、送信処理部222 は、NIC10に受信禁止解除コマンドを発行する。これにより、NIC10における受信禁止が解除される。ステップSL7では、送信処理部222 は、NIC送信処理部11を呼び出す。ステップSL8では、送信処理部222 は、送信コマンドをNIC送信処理部11へ渡し、NIC送信割り込みを発生させる。
【0430】
これにより、図56に示したステップSSA3では、NIC送信処理が実行される。具体的には、図22に示したステップSI1では、NIC送信処理部11は、送信処理部222 から送信コマンドを受けているため、判断結果を「Yes」とする。
【0431】
ステップSI2では、NIC送信処理部11は、送信バッファレジスタ15に対応する送信バッファ232 から送信バッファ12へパケットをコピーする。ステップSI3では、NIC送信処理部11は、送信バッファ12のパケット(OS301 宛)をネットワーク50へ送信する。
【0432】
ステップSI4では、NIC送信処理部11は、実行中のOS(この場合、OS302 )に対して、NIC10でパケットの送信完了を表すNIC送信完了割り込みを発生させる。
【0433】
また、図25に示したステップSL9では、送信処理部222 は、OS切替え処理部212 を呼び出す。これにより、図56に示したステップSSA4では、OS切替え処理部212 は、OSをOS302 からOS301 へ切り替えるという第2OS切替え処理を実行する。
【0434】
そして、切り替え後、ステップSSA5では、NIC受信処理(図23参照)が実行される。このNIC受信処理では、NIC受信処理部13は、図23に示したステップSJ1の判断結果を「Yes」とした後、ステップSJ2の判断結果を「No」とする。
【0435】
ステップSJ3では、NIC受信処理部13は、ネットワーク50を介してOS301 宛のパケットを受信した後、受信バッファ14に格納する。ステップSJ4では、NIC受信処理部13は、受信バッファ14のパケットを、受信バッファレジスタ16に対応する受信バッファ251 にコピーする。
【0436】
ステップSJ5では、NIC受信処理部13は、実行中のOS(この場合、OS301 )に対して、NIC10でパケットの受信完了を表すNIC受信完了割り込みを発生させる。
【0437】
これにより、OS301 側では、図56に示したステップSSA6で第1受信処理が実行される。具体的には、図60に示したステップSSE1では、NICデバイスドライバ201 の受信処理部241 は、受信バッファ251 に格納されているパケットの送信先IPアドレスがOS301 に対応しているか否かを判断し、この場合、判断結果を「Yes」とする。
【0438】
ステップSSE3では、受信処理部241 はNIC10に対して受信禁止コマンドを発行する。ステップSSE4では、NIC受信割り込みが禁止される。ステップSSE5では、受信処理部241 は、受信バッファ251 からOS301 にパケットをコピーする。
【0439】
ステップSSE6では、受信処理部241 は、OS切替え処理部211 を呼び出す。ステップSSE7では、受信処理部241 はNIC受信割り込み禁止を解除する。ステップSSE8では、受信処理部241 は、NIC10に受信禁止解除コマンドを発行する。
【0440】
図56に示したステップSSA7では、OS切替え処理部211 は、OSをOS301 からOS302 へ切り替えるという第1OS切り替え処理を実行する。ステップSSA8では、受信バッファレジスタ書き換え処理部282 は、OS301 からOS302 への切り替えをトリガとして、受信バッファレジスタ書き換え処理を実行する。
【0441】
具体的には、図57に示したステップSSB1では、受信バッファレジスタ書き換え処理部282 は、OS301 からOS302 への切り替えがあるか否かを判断し、この場合、判断結果を「Yes」とする。
【0442】
ステップSSB2では、受信バッファレジスタ書き換え処理部282 は、受信バッファレジスタ16の値を受信バッファ251 から受信バッファ252 に書き換える。
【0443】
図56に示したステップSSA9では、OS切替え処理部212 が呼び出される。これにより、OS切替え処理部212 は、OSをOS301 からOS302 へ切り替えるという第2OS切り替え処理を実行する。
【0444】
以上説明したように、実施の形態3によれば、送信バッファ12、受信バッファ14の接続先の設定に関して、OS302 側のみに権限を付与することとしたので、権限を有しないOS301 側が外部から攻撃される可能性が極めて低くなり、さらにマルチオペレーティングシステムのセキュリティ、信頼性を格段に向上させることができる。
【0445】
図62(a)〜図62(d)は、前述した実施の形態1〜3の応用例1〜4を説明する図である。図62(a)に示した応用例1は、新旧OSを共存させ、システム更改時に利用する例である。新OSは、例えば、OS301 に対応している。一方、旧OSは、OS302 に対応している。
【0446】
図62(b)に示した応用例2は、ソース公開OSを活用し、ソース非公開OSのリリースを待たずに、ソース公開OS側で新機能をスピード開発する例である。ソース非公開OSは、ソースコードが公開されていないオペレーティングシステムであり、例えば、OS301 に対応している。一方、ソース公開OSは、ソースコードが公開されているオペレーティングシステムであり、OS302 に対応している。
【0447】
図62(c)に示した応用例3は、専用OSと汎用OSとを共存させる例である。専用OSは、リアルタイム性等に特化する機能を分担し、例えば、OS301 に対応している。一方、汎用OSは、マイクロソフト社のWindows(登録商標)等であり、GUI機能を分担し、OS302 に対応している。
【0448】
図62(d)に示した応用例4は、資源を分割する例であり、OS1とOS2の使用目的により使用方法が異なる例である。OS1は、例えば、OS301 に対応している。一方、OS2は、OS302 に対応している。
【0449】
図63は、実施の形態1〜3をシステム移行に適用した場合を説明する図である。同図において、従来の移行作業では、一度に、旧端末に実装されている旧OSの全モジュールを新端末の新OSに移行させる必要があり、安全面で不安が残る。
【0450】
これに対して、マルチオペレーティングシステムがあると、旧端末に実装されている旧OSの各モジュールを中間端末の旧OSに安全を確認しながら移行させる。つぎに、中間端末において、旧OSの各モジュールを新OSに安全を確認しながら移行させる。
【0451】
つぎに、中間端末の新OSの全モジュールを、新端末の新OSに一度に移行させる。この場合、新OS間での移行であるため、問題が発生しない。マルチOSによる移行は、ある特定のモジュールに急いで新機能をつける場合に有効である。
【0452】
図64は、実施の形態1〜3を高セキュリティゲートウェイに適用した場合を説明する図である。同図において、ハードウェアは、マルチオペレーティングシステム(OS1およびOS2)を備えており、NIC(ネットワークインタフェースカード)を経由してインターネットに接続されている。このハードウェアは、高セキュリティゲートウェイとして機能する。
【0453】
OS1は、ユーザが使用するAP(アプリケーションプログラム)1を管理するとともに、通信ログをDK(ディスク)1に蓄積する。一方、OS2は、インターネットからの通信パケットを監視し、監視ログをDK2に蓄積する。
【0454】
また、OS2では、NICを直接制御し、通信を行う。このため、OS2は、OS1の通信を支援するため、NICの対ソフトウェア提供インタフェースを疑似した疑似NIC−I/FをOS1に提供している。AP2は、パケット監視ログ収集用のアプリケーションプログラムであり、OS2上で動作する。
【0455】
また、AP2は、通信パケットを外から見るだけで、通信パケットに含まれる実行コードを処理しないため、ウイルスに感染しない。DK2に蓄積される監視ログは、悪意の第三者による改竄がなされないようになっている。従って、攻撃の痕跡を残すことが可能となる。
【0456】
ここで、ユーザの環境(OS1等)に対して、セキュリティの攻撃が行われた場合、OS1の通信ログが改竄されることが考えられる。しかしながら、実施の形態1〜3では、マルチオペレーティングシステムにより、OS1とOS2の監視ログが別々に管理されるため、攻撃者の追跡を行うことが可能となる。これにより、当該セキュリティゲートウェイへの攻撃を抑止する効果が期待できる。
【0457】
図65は、実施の形態1〜3をデスクトップGrid端末に適用した場合を説明する図である。同図において、ハードウェアは、マルチオペレーティングシステム(OS1およびOS2)を備えており、NICを経由してインターネットに接続されている。インターネットには、Gridサーバが接続されている。ハードウェアは、デスクトップGrid端末として機能する。
【0458】
デスクトップGrid端末は、ユーザが計算機を利用しない間に、大きな計算の一部を割り当てて計算を実現しようとするデスクトップGrid計算を行うための端末である。ここで、ユーザ側から見ると、内容が不明な上記計算が自身の計算機環境に及ぼす悪影響が心配となる。
【0459】
そこで、同図では、自身の計算機環境をOS1で管理し、Grid計算の処理環境をOS2で管理することにより、上記悪影響を排除できる。つまり、Grid計算で利用されるデータやプログラムは、全てOS2の制御下のみで管理され実行される。一方、OS1の制御下にあるDK1やMEM(メモリ)1という計算機資源には、アクセスが許可されない。従って、Grid計算のプログラムからの悪影響が排除される。
【0460】
図66は、実施の形態1〜3を遠隔管理端末に適用した場合を説明する図である。同図において、ハードウェアは、マルチオペレーティングシステム(OS1およびOS2)を備えており、NICを経由してネットワークに接続されている。ネットワークには、システム管理者マシンや他のマシンが接続されている。ハードウェアは、遠隔管理端末として機能する。
【0461】
同図において、ユーザが管理できる範疇をOS1に制限し、OS2の管理をネットワークを介してシステム管理者マシンで行うように構成されている。これにより、オフィス環境などで利用するパーソナルコンピュータのデフォルト環境を、システム管理者がOS2の管理下で構築し、一方、ユーザ個人の好みや状況に応じて利用する環境を、ユーザがOS1の管理下で構築することができる。
【0462】
したがって、ユーザ個人の環境設定により、システム側で用意した環境が動作不具合になることが防止される。OS2は、システム管理者マシンでシステム管理者により管理され、システム側で設計された環境を提供する。ユーザは、該環境を利用する場合、OS2のファイル情報をOS1に読み込んで起動するか、または、OS2に起動を依頼してクライアント/サーバの形態で実行する。
【0463】
図67は、実施の形態1〜3を高効率ネットサービス提供端末に適用した場合を説明する図である。同図において、ハードウェアは、マルチオペレーティングシステム(OS1およびOS2)を備えており、NICを経由してネットワークに接続されている。ネットワークには、コンテンツプロバイダサーバや他のマシンが接続されている。ハードウェアは、高効率ネットサービス提供端末として機能する。
【0464】
同図においては、高効率ネットサービス提供端末は、遠隔管理端末(図66参照)と同様にして、一方のOS1をユーザの管理下、他方のOS2をネットサービスの管理下として、例えば、封切り前のコンテンツを事前にOS2の管理下(DK2)に配信しておき、封切り時刻にOS1の管理下のDK1からのコンテンツの即時利用を実現する端末である。
【0465】
コンテンツは、ネットワークを介して、コンテンツプロバイダサーバからOS2の管理下のDK2に配信された後、ユーザの希望により、DK2からOS1の管理下のDK1へ当該コンテンツが提供され、即時利用が可能となる。このように、コンテンツプロバイダサーバでは、事前配信により、ダウンロードアクセスの集中が防止される。
【0466】
図68は、実施の形態1〜3を高セキュリティWebサービス提供サーバに適用した場合を説明する図である。同図において、ハードウェアは、マルチオペレーティングシステム(OS1およびOS2)を備えており、NICを経由してネットワークに接続されている。ネットワークには、Web閲覧端末が接続されている。ハードウェアは、高セキュリティWebサービス提供サーバとして機能する。
【0467】
同図の高セキュリティWebサービス提供サーバにおいては、外部からアクセスできる環境がOS2で、ローカルユーザだけがアクセスできる環境がOS1で構築される。
【0468】
例えば、Web公開コンテンツや利用ログは、OS2の管理下のDK2に格納される。一方、公開したくないデータ等は、OS1の管理下のDK1に格納される。この場合、設定ミス等により、公開したくない情報を誤ってWeb上で公開してしまうという事態が回避される。また、外部から悪意の第三者による攻撃をOS2側が受けた場合であっても、OS1では、ネットワーク機能を除き、動作することが可能となる。
【0469】
以上本発明にかかる実施の形態1〜3について図面を参照して詳述してきたが、具体的な構成例はこれらの実施の形態1〜3に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
【0470】
例えば、前述した実施の形態1〜3においては、前述したマルチオペレーティングシステム制御方法を実現するためのプログラムを図69に示したコンピュータ読み取り可能な記録媒体200に記録して、この記録媒体200に記録されたプログラムを同図に示したコンピュータ100に読み込ませ、実行することにより各機能を実現してもよい。
【0471】
同図に示したコンピュータ100は、上記プログラムを実行するCPU110と、キーボード、マウス等の入力装置120と、各種データを記憶するROM(Read Only Memory)130と、演算パラメータ等を記憶するRAM(Random Access Memory)140と、記録媒体200からプログラムを読み取る読取装置150と、ディスプレイ、プリンタ等の出力装置160と、装置各部を接続するバス170とから構成されている。
【0472】
CPU110は、読取装置150を経由して記録媒体200に記録されているプログラムを読み込んだ後、プログラムを実行することにより、前述した機能を実現する。なお、記録媒体200としては、光ディスク、フレキシブルディスク、ハードディスク等が挙げられる。
【0473】
また、実施の形態1および2においては、マルチオペレーティングシステムとして、図1に示した二つのOS301 、OS302 を有する構成例について説明したが、三つ以上のOSを有する構成例も本発明に含まれる。
【0474】
例えば、OS1、OS2、OS3、・・・、OSnというn個のOSを有する構成の場合には、OS1走行中に割り込み(1)が発生した場合にOS1からOS2に切り替え、OS1走行中に割り込み(2)が発生した場合にOS1からOS3に切り替え、以下同様にして、OS1走行中に割り込み(n−1)が発生した場合にOS1からOSnに切り替えるように制御すればよい。
【0475】
【発明の効果】
以上説明したように、本発明によれば、通信対象のデータを一時格納する格納手段における通常の接続先を第2のオペレーティングシステムに設定し、また、通信対象のデータが第1のオペレーティングシステムに関連する場合、データを一時格納する格納手段の接続先を、第2のオペレーティングシステムを中継して第1のオペレーティングシステムに設定することとしたので、通信時に第1のオペレーティングシステムおよび第2のオペレーティングシステムが同時に外部から攻撃される可能性を回避することができ、マルチオペレーティングシステムのセキュリティ、信頼性を向上させることができるという効果を奏する。
【0476】
また、本発明によれば、第2のオペレーティングシステムが実行中に、第1のオペレーティングシステム宛のデータが格納手段に格納された場合、格納手段の接続を、第2のオペレーティングシステムを中継して第1のオペレーティングシステムに設定することとしたので、第1のオペレーティングシステム宛のデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができるという効果を奏する。
【0477】
また、本発明によれば、データの信頼度が、予め登録された値以上である場合、第2のオペレーティングシステムを中継させずに、格納手段に格納されたデータを第1のオペレーティングシステムに直接渡すこととしたので、通信処理を高速化することができるという効果を奏する。
【0478】
また、本発明によれば、第1のオペレーティングシステムが実行中に、第2のオペレーティングシステム宛のデータが格納手段に格納された場合、第1のオペレーティングシステムから第2のオペレーティングシステムに切り替えることとしたので、第2のオペレーティングシステム宛のデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができるという効果を奏する。
【0479】
また、本発明によれば、第1のオペレーティングシステムが実行中に、第1のオペレーティングシステム宛のデータが格納手段に格納された場合、格納手段の接続先を、第2のオペレーティングシステムを中継して第1のオペレーティングシステムに設定することとしたので、第1のオペレーティングシステム宛のデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができるという効果を奏する。
【0480】
また、本発明によれば、第1のオペレーティングシステムから第2のオペレーティングシステムへの通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから第1のオペレーティングシステムに設定変更し、第1のオペレーティングシステムからのデータを格納手段に格納した後、格納手段の接続先を、第1のオペレーティングシステムから第2のオペレーティングシステムに設定変更することとしたので、第1のオペレーティングシステムから第2のオペレーティングシステムへのデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができるという効果を奏する。
【0481】
また、本発明によれば、第1のオペレーティングシステムから他装置への通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから第1のオペレーティングシステムに設定変更した後、第1のオペレーティングシステムからのデータを格納手段に格納し、格納手段の接続先を、第1のオペレーティングシステムから第2のオペレーティングシステムに設定変更することとしたので、第1のオペレーティングシステムから他装置へのデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができるという効果を奏する。
【0482】
また、本発明によれば、データの信頼度が、予め登録された値以上である場合、設定変更を行わず、また、第2のオペレーティングシステムを中継させずに、格納手段に格納されたデータを他装置へ直接送信することとしたので、通信処理を高速化することができるという効果を奏する。
【0483】
また、本発明によれば、第2のオペレーティングシステムから第1のオペレーティングシステムへの通信を行う場合、第2のオペレーティングシステムからのデータを格納手段に格納し、格納手段の接続先を第2のオペレーティングシステムから第1のオペレーティングシステムに設定変更することとしたので、第2のオペレーティングシステムから第1のオペレーティングシステムへのデータ通信におけるマルチオペレーティングシステムのセキュリティ、信頼性を向上させることができるという効果を奏する。
【0484】
また、本発明によれば、データの正常性をチェックし、正常である場合にのみ通信処理を継続させることとしたので、マルチオペレーティングシステムのセキュリティ、信頼性をさらに向上させることができるという効果を奏する。
【0485】
また、本発明によれば、格納手段の接続先の設定に関して、第2のオペレーティングシステム側のみに権限を付与することとしたので、権限を有しない第1のオペレーティングシステム側が外部から攻撃される可能性が極めて低くなり、さらにマルチオペレーティングシステムのセキュリティ、信頼性を格段に向上させることができるという効果を奏する。
【0486】
また、本発明は、請求項1〜11のいずれか一つに記載されたマルチオペレーティングシステム制御方法をコンピュータに実行させることとしたので、そのプログラムがコンピュータ読み取り可能となり、これによって、請求項1〜11のいずれか一つに記載された発明の動作をコンピュータによって実行することができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明にかかる実施の形態1の構成を示すブロック図である。
【図2】同実施の形態1における動作概要1を説明するブロック図である。
【図3】同実施の形態1における動作概要2を説明するブロック図である。
【図4】同実施の形態1における動作概要3を説明するブロック図である。
【図5】同実施の形態1における動作概要4を説明するブロック図である。
【図6】同実施の形態1における動作例1を説明するブロック図である。
【図7】同実施の形態1における動作例1を説明するフローチャートである。
【図8】同実施の形態1における動作例2を説明するブロック図である。
【図9】同実施の形態1における動作例2を説明するフローチャートである。
【図10】同実施の形態1における動作例3を説明するブロック図である。
【図11】同実施の形態1における動作例3を説明するフローチャートである。
【図12】同実施の形態1における動作例4を説明するブロック図である。
【図13】同実施の形態1における動作例4を説明するフローチャートである。
【図14】同実施の形態1における動作例5を説明するブロック図である。
【図15】同実施の形態1における動作例5を説明するフローチャートである。
【図16】同実施の形態1における動作例6を説明するブロック図である。
【図17】同実施の形態1における動作例6を説明するフローチャートである。
【図18】同実施の形態1における動作例7を説明するブロック図である。
【図19】同実施の形態1における動作例7を説明するフローチャートである。
【図20】同実施の形態1における動作例8を説明するブロック図である。
【図21】同実施の形態1における動作例8を説明するフローチャートである。
【図22】NIC送信処理を説明するフローチャートである。
【図23】NIC受信処理を説明するフローチャートである。
【図24】第2受信処理を説明するフローチャートである。
【図25】第2送信処理を説明するフローチャートである。
【図26】第1受信処理を説明するフローチャートである。
【図27】第1送信処理を説明するフローチャートである。
【図28】本発明にかかる実施の形態2の動作例1を説明するブロック図である。
【図29】同実施の形態2の動作例1を説明するフローチャートである。
【図30】同実施の形態2の動作例2を説明するブロック図である。
【図31】同実施の形態2の動作例2を説明するフローチャートである。
【図32】同実施の形態2の動作例3を説明するブロック図である。
【図33】同実施の形態2の動作例3を説明するフローチャートである。
【図34】第2受信処理を説明するフローチャートである。
【図35】第1送信処理を説明するフローチャートである。
【図36】本発明にかかる実施の形態3の構成を示すブロック図である。
【図37】同実施の形態3における動作概要1を説明するブロック図である。
【図38】同実施の形態3における動作概要2を説明するブロック図である。
【図39】同実施の形態3における動作概要3を説明するブロック図である。
【図40】同実施の形態3における動作概要4を説明するブロック図である。
【図41】同実施の形態3の動作例1を説明するブロック図である。
【図42】同実施の形態3の動作例1を説明するフローチャートである。
【図43】同実施の形態3の動作例2を説明するブロック図である。
【図44】同実施の形態3の動作例2を説明するフローチャートである。
【図45】同実施の形態3の動作例3を説明するブロック図である。
【図46】同実施の形態3の動作例3を説明するフローチャートである。
【図47】同実施の形態3の動作例4を説明するブロック図である。
【図48】同実施の形態3の動作例4を説明するフローチャートである。
【図49】同実施の形態3の動作例5を説明するブロック図である。
【図50】同実施の形態3の動作例5を説明するフローチャートである。
【図51】同実施の形態3の動作例6を説明するブロック図である。
【図52】同実施の形態3の動作例6を説明するフローチャートである。
【図53】同実施の形態3の動作例7を説明するブロック図である。
【図54】同実施の形態3の動作例7を説明するフローチャートである。
【図55】同実施の形態3の動作例8を説明するブロック図である。
【図56】同実施の形態3の動作例8を説明するフローチャートである。
【図57】受信バッファレジスタ書き換え処理を説明するフローチャートである。
【図58】送信バッファレジスタ書き換え処理を説明するフローチャートである。
【図59】第2受信処理を説明するフローチャートである。
【図60】第1受信処理を説明するフローチャートである。
【図61】第1送信処理を説明するフローチャートである。
【図62】本発明にかかる実施の形態1〜3の応用例1〜4を説明する図である。
【図63】同実施の形態1〜3をシステム移行に適用した場合を説明する図である。
【図64】同実施の形態1〜3を高セキュリティゲートウェイに適用した場合を説明する図である。
【図65】同実施の形態1〜3をデスクトップGrid端末に適用した場合を説明する図である。
【図66】同実施の形態1〜3を遠隔管理端末に適用した場合を説明する図である。
【図67】同実施の形態1〜3を高効率ネットサービス提供端末に適用した場合を説明する図である。
【図68】同実施の形態1〜3を高セキュリティWebサービス提供サーバに適用した場合を説明する図である。
【図69】同実施の形態1〜3の変形例の構成を示すブロック図である。
【図70】従来のマルチオペレーティングシステムの構成例1を示すブロック図である。
【図71】従来のマルチオペレーティングシステムの構成例2を示すブロック図である。
【符号の説明】
10 NIC
11 NIC送信処理部
12 送信バッファ
13 NIC受信処理部
14 受信バッファ
15 送信バッファレジスタ
16 受信バッファレジスタ
201 NICデバイスドライバ
211 OS切替え処理部
221 送信処理部
231 送信バッファ
241 受信処理部
251 受信バッファ
202 NICデバイスドライバ
212 OS切替え処理部
222 送信処理部
232 送信バッファ
242 受信処理部
252 受信バッファ
262 データチェック処理部
272 送信バッファレジスタ書き換え処理部
282 受信バッファレジスタ書き換え処理部
301 OS
302 OS
100 コンピュータ
140 RAM[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a multi-operating system control method for operating a plurality of operating systems on one computer, a program for causing a computer to execute the method, and a multi-operating system control device. The present invention relates to a multi-operating system control method capable of improving reliability, a program for causing a computer to execute the method, and an operating system control device.
[0002]
[Prior art]
In an ordinary computer, one operating system operates, which manages computer resources such as a processor, a memory, and a secondary storage device of the computer, and implements a resource schedule so that the computer can operate efficiently. There are various types of operating systems. There are various types such as those that are excellent in batch processing, those that are excellent in TSS (Time Sharing System), those that are excellent in GUI (Graphical User Interface).
[0003]
On the other hand, there is a need to simultaneously execute these plural operating systems on one computer. For example, in a large-scale computer, there is a demand to operate an operating system for executing online processing associated with actual work and an operating system for development on one computer. Alternatively, there is a demand that an operating system having a GUI and an operating system having an excellent real-time property be operated at the same time.
[0004]
However, each operating system is designed on the assumption that computer resources are managed independently. Therefore, coexistence of a plurality of operating systems is not possible without some mechanism.
[0005]
As a mechanism for operating a plurality of operating systems on one computer, there is a virtual computer system implemented by a large computer. FIG. 70 is a block diagram showing a configuration example 1 of a conventional multi-operating system based on the virtual computer system.
[0006]
The multi-operating system shown in FIG. 1 includes
[0007]
The
[0008]
In the multi-operating system shown in the figure, for example, when communication such as packets is performed between virtual OSs, the
[0009]
For example, virtual OS4 1 From virtual OS4 2 To send a packet to the
[0010]
As a technique for providing an interface of a plurality of operating systems with one computer, there is a microkernel method. FIG. 71 is a block diagram showing a configuration example 2 of a conventional multi-operating system based on the microkernel system.
[0011]
The multi-operating system shown in FIG. 1 includes a
[0012]
In the microkernel system, on the
[0013]
In the multi-operating system shown in the figure, for example, when communication of packets or the like is performed between OSs, the microkernel or the
[0014]
For example, OS7 1 From OS7 2 When sending a packet to OS7 1 After storing the packet in the shared memory, the OS 7 2 Gets a packet from shared memory. Communication between the OS and another device is performed via the shared memory and the
[0015]
[Patent Document 1]
JP-A-11-149385
[Patent Document 2]
JP 2001-216172 A
[Patent Document 3]
JP 2000-207232 A
[Patent Document 4]
JP-A-8-212089
[Patent Document 5]
JP 2001-290661 A
[Patent Document 6]
JP-A-11-85546
[Patent Document 7]
JP 2001-282558 A
[Patent Document 8]
JP-A-11-85546
[0016]
[Problems to be solved by the invention]
By the way, as described above, in the conventional multi-operating system shown in FIG. 70, security is low because communication is performed via the shared memory between the virtual OSs or between the virtual OS and other devices. There was a problem.
[0017]
That is, if the shared memory is a
[0018]
In addition, in the conventional multi-operating system, since the
[0019]
Also, in the conventional multi-operating system shown in FIG. 1 ~ 7 3 Can be referred to simultaneously from each other, so that if the shared memory is illegally accessed from outside during communication, the
[0020]
The present invention has been made in view of the above, and provides a multi-operating system control method capable of improving security and reliability of a multi-operating system, a program for causing a computer to execute the method, and a multi-operating system control device. The purpose is to provide.
[0021]
[Means for Solving the Problems]
In order to achieve the above object, the present invention relates to a multi-operating system control method for controlling a first operating system and a second operating system running on a single computer, wherein the storing method temporarily stores data to be communicated. The normal connection destination in the means is set to the second operating system, and when the data to be communicated is related to the first operating system, the connection destination of the storage means for temporarily storing the data is A setting step of setting the first operating system by relaying the second operating system.
[0022]
According to the present invention, the normal connection destination in the storage unit for temporarily storing data to be communicated is set to the second operating system, and when the data to be communicated is related to the first operating system, the data is transferred to the second operating system. Since the connection destination of the storage means for temporarily storing is set to the first operating system via the second operating system, the first operating system and the second operating system simultaneously attack from the outside during communication. It is possible to avoid the possibility of being performed and improve the security and reliability of the multi-operating system.
[0023]
The present invention also relates to a multi-operating system control method for controlling a first operating system and a second operating system running on one computer, wherein the first operating system and the second operating system are operated while the second operating system is running. When data destined for the operating system is stored in the storage means, a setting step of setting the connection of the storage means to the first operating system via the second operating system is included. .
[0024]
According to the present invention, when data addressed to the first operating system is stored in the storage unit during execution of the second operating system, the connection of the storage unit is switched to the first operating system via the second operating system. , The security and reliability of the multi-operating system in data communication addressed to the first operating system can be improved.
[0025]
Further, according to the present invention, in the multi-operating system control method according to
[0026]
According to this invention, when the reliability of the data is equal to or more than the value registered in advance, the data stored in the storage unit is directly passed to the first operating system without relaying the second operating system. Therefore, the communication processing can be speeded up.
[0027]
The present invention also relates to a multi-operating system control method for controlling a first operating system and a second operating system running on a single computer, the method comprising controlling a normal connection destination in storage means for temporarily storing data to be communicated. Setting the second operating system to the second operating system, and when data addressed to the second operating system is stored in the storage unit during execution of the first operating system, Switching to a second operating system.
[0028]
According to the present invention, when data destined for the second operating system is stored in the storage unit during execution of the first operating system, the first operating system is switched to the second operating system. , The security and reliability of the multi-operating system in data communication addressed to the second operating system can be improved.
[0029]
The present invention also relates to a multi-operating system control method for controlling a first operating system and a second operating system running on one computer, wherein the first operating system executes the first operating system while the first operating system is running. And setting a connection destination of the storage unit to the first operating system via the second operating system when data addressed to the operating system is stored in the storage unit. I do.
[0030]
According to the present invention, when data addressed to the first operating system is stored in the storage unit while the first operating system is running, the connection destination of the storage unit is set to the second operating system via the second operating system. Since the first operating system is set, security and reliability of the multi-operating system in data communication addressed to the first operating system can be improved.
[0031]
The present invention also relates to a multi-operating system control method for controlling a first operating system and a second operating system running on one computer, wherein a method for controlling a multi-operating system from the first operating system to the second operating system is provided. When performing communication, a first setting change step of changing the connection destination of the storage unit for temporarily storing data to be communicated from the second operating system as a normal connection destination to the first operating system; A storage step of storing data from the first operating system in the storage means, and a second setting change for changing a connection destination of the storage means from the first operating system to the second operating system And a step.
[0032]
According to the present invention, when communication is performed from the first operating system to the second operating system, the connection destination of the storage unit that temporarily stores data to be communicated is set to the second operating system as a normal connection destination From the first operating system to the first operating system, and after storing data from the first operating system in the storage means, the connection destination of the storage means is changed from the first operating system to the second operating system. Therefore, security and reliability of the multi-operating system in data communication from the first operating system to the second operating system can be improved.
[0033]
The present invention also relates to a multi-operating system control method for controlling a first operating system and a second operating system running on one computer, wherein a communication is performed from the first operating system to another device. A first setting change step of changing a connection destination of a storage unit for temporarily storing data to be communicated from a second operating system as a normal connection destination to the first operating system; A storage step of storing data from an operating system in the storage unit, a second setting change step of changing a connection destination of the storage unit from the first operating system to the second operating system, Relaying the second operating system, the case Characterized in that it comprises a transmission step of transmitting the stored data to the means to the other device.
[0034]
According to the present invention, when communication is performed from the first operating system to another device, the connection destination of the storage unit that temporarily stores data to be communicated is changed from the second operating system as a normal connection destination to the first operating system. After changing the setting to the operating system, the data from the first operating system is stored in the storage means, and the connection destination of the storage means is changed from the first operating system to the second operating system. The security and reliability of the multi-operating system in data communication from the first operating system to another device can be improved.
[0035]
Further, according to the multi-operating system control method of the present invention, when the reliability of the data is equal to or more than a previously registered value, the setting change is performed in the second setting change step. In the transmitting step, the data stored in the storage unit is directly transmitted to the other device without relaying the second operating system.
[0036]
According to the present invention, when the reliability of the data is equal to or more than the value registered in advance, the data stored in the storage means is not changed without changing the setting and without relaying the second operating system. Since the data is transmitted directly to the device, the communication processing can be speeded up.
[0037]
The present invention also relates to a multi-operating system control method for controlling a first operating system and a second operating system running on a single computer, the method comprising controlling a normal connection destination in storage means for temporarily storing data to be communicated. Setting in the second operating system, and when performing communication from the second operating system to the first operating system, storing data from the second operating system in the storage unit. A storage step and a setting change step of changing a setting of a connection destination of the storage unit from the second operating system to the first operating system are included.
[0038]
According to the present invention, when communication is performed from the second operating system to the first operating system, data from the second operating system is stored in the storage unit, and the connection destination of the storage unit is set to the second operating system. Since the setting is changed from the first operating system to the first operating system, security and reliability of the multi-operating system in data communication from the second operating system to the first operating system can be improved.
[0039]
The present invention also provides a multi-operating system control method according to any one of
[0040]
According to the present invention, the normality of the data is checked, and the communication processing is continued only when the data is normal, so that the security and reliability of the multi-operating system can be further improved.
[0041]
Further, according to the present invention, in the multi-operating system control method according to any one of
[0042]
According to the present invention, only the second operating system is authorized to set the connection destination of the storage means. Therefore, there is a possibility that the first operating system having no authority is attacked from the outside. It is extremely low, and the security and reliability of the multi-operating system can be significantly improved.
[0043]
Further, the present invention is a program for causing a computer to execute the multi-operating system control method according to any one of
[0044]
The present invention also relates to a multi-operating system control device for controlling a first operating system and a second operating system running on a single computer, wherein the multi-operating system control device includes a normal connection destination in storage means for temporarily storing data to be communicated. Is set to the second operating system, and when the data to be communicated is related to the first operating system, the connection destination of the storage unit for temporarily storing the data is set to the second operating system. Setting means for relaying and setting the first operating system.
[0045]
According to the present invention, the normal connection destination in the storage unit for temporarily storing data to be communicated is set to the second operating system, and when the data to be communicated is related to the first operating system, the data is transferred to the second operating system. Since the connection destination of the storage means for temporarily storing is set to the first operating system via the second operating system, the first operating system and the second operating system simultaneously attack from the outside during communication. It is possible to avoid the possibility of being performed and improve the security and reliability of the multi-operating system.
[0046]
Further, the present invention is a multi-operating system control device for controlling a first operating system and a second operating system running on one computer, wherein the first operating system is controlled by the first operating system while the second operating system is running. Setting means for setting connection of the storage means to the first operating system via the second operating system when data destined for the operating system is stored in the storage means; I do.
[0047]
According to the present invention, when data addressed to the first operating system is stored in the storage unit during execution of the second operating system, the connection of the storage unit is switched to the first operating system via the second operating system. , The security and reliability of the multi-operating system in data communication addressed to the first operating system can be improved.
[0048]
Further, according to the present invention, in the multi-operating system control device according to claim 13 or 14, when the reliability of the data is equal to or more than a value registered in advance, the setting means sets the second operating system. The data stored in the storage means is directly passed to the first operating system without relaying.
[0049]
According to this invention, when the reliability of the data is equal to or more than the value registered in advance, the data stored in the storage unit is directly passed to the first operating system without relaying the second operating system. Therefore, the communication processing can be speeded up.
[0050]
The present invention also relates to a multi-operating system control device for controlling a first operating system and a second operating system running on a single computer, wherein the multi-operating system control device includes a normal connection destination in storage means for temporarily storing data to be communicated. Setting means for setting the second operating system to the second operating system; and when data addressed to the second operating system is stored in the storage means during execution of the first operating system, Switching means for switching to the second operating system.
[0051]
According to the present invention, when data destined for the second operating system is stored in the storage unit during execution of the first operating system, the first operating system is switched to the second operating system. , The security and reliability of the multi-operating system in data communication addressed to the second operating system can be improved.
[0052]
Further, the present invention is a multi-operating system control device for controlling a first operating system and a second operating system running on one computer, wherein the first operating system executes the first operating system while the first operating system is running. Setting means for setting a connection destination of the storage means to the first operating system via the second operating system when data addressed to the operating system is stored in the storage means; And
[0053]
According to the present invention, when data addressed to the first operating system is stored in the storage unit while the first operating system is running, the connection destination of the storage unit is set to the second operating system via the second operating system. Since the first operating system is set, security and reliability of the multi-operating system in data communication addressed to the first operating system can be improved.
[0054]
Further, the present invention is a multi-operating system control device which controls a first operating system and a second operating system which are operated by one computer, wherein the multi-operating system control device controls the first operating system and the second operating system from the first operating system. When performing communication, first setting change means for changing the connection destination of the storage means for temporarily storing data to be communicated from the second operating system as a normal connection destination to the first operating system; Storage control means for storing data from the first operating system in the storage means; and second setting for changing a connection destination of the storage means from the first operating system to the second operating system. And changing means. That.
[0055]
According to the present invention, when communication is performed from the first operating system to the second operating system, the connection destination of the storage unit that temporarily stores data to be communicated is set to the second operating system as a normal connection destination From the first operating system to the first operating system, and after storing data from the first operating system in the storage means, the connection destination of the storage means is changed from the first operating system to the second operating system. Therefore, security and reliability of the multi-operating system in data communication from the first operating system to the second operating system can be improved.
[0056]
Further, the present invention is a multi-operating system control device for controlling a first operating system and a second operating system running on one computer, wherein communication is performed from the first operating system to another device. A first setting change means for changing a connection destination of a storage means for temporarily storing data to be communicated from a second operating system as a normal connection destination to the first operating system; and Storage control means for storing data from an operating system in the storage means; second setting change means for changing the connection destination of the storage means from the first operating system to the second operating system; Relaying the second operating system, The data stored in the storage means data characterized by comprising a transmitting means for transmitting to the other device.
[0057]
According to the present invention, when communication is performed from the first operating system to another device, the connection destination of the storage unit that temporarily stores data to be communicated is changed from the second operating system as a normal connection destination to the first operating system. After changing the setting to the operating system, the data from the first operating system is stored in the storage means, and the connection destination of the storage means is changed from the first operating system to the second operating system. The security and reliability of the multi-operating system in data communication from the first operating system to another device can be improved.
[0058]
Further, in the multi-operating system control device according to claim 19, when the reliability of the data is equal to or more than a value registered in advance, the second setting change unit performs the setting change. In addition, the transmitting means transmits the data stored in the storing means directly to the other device without relaying the second operating system.
[0059]
According to the present invention, when the reliability of the data is equal to or more than the value registered in advance, the data stored in the storage means is not changed without changing the setting and without relaying the second operating system. Since the data is transmitted directly to the device, the communication processing can be speeded up.
[0060]
The present invention also relates to a multi-operating system control device for controlling a first operating system and a second operating system running on a single computer, wherein the multi-operating system control device includes a normal connection destination in storage means for temporarily storing data to be communicated. Setting means for setting the second operating system to the second operating system, and when communication is performed from the second operating system to the first operating system, data from the second operating system is stored in the storage means. It is characterized by comprising storage control means, and setting change means for changing the connection destination of the storage means from the second operating system to the first operating system.
[0061]
According to the present invention, when communication is performed from the second operating system to the first operating system, data from the second operating system is stored in the storage unit, and the connection destination of the storage unit is set to the second operating system. Since the setting is changed from the first operating system to the first operating system, security and reliability of the multi-operating system in data communication from the second operating system to the first operating system can be improved.
[0062]
Further, according to the present invention, in the multi-operating system control device according to any one of
[0063]
According to the present invention, the normality of the data is checked, and the communication processing is continued only when the data is normal, so that the security and reliability of the multi-operating system can be further improved.
[0064]
Further, according to the present invention, in the multi-operating system control device according to any one of
[0065]
According to the present invention, only the second operating system is authorized to set the connection destination of the storage means. Therefore, there is a possibility that the first operating system having no authority is attacked from the outside. It is extremely low, and the security and reliability of the multi-operating system can be significantly improved.
[0066]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a first embodiment of a multi-operating system control method according to the present invention, a program for causing a computer to execute the method, and a multi-operating system control device will be described in detail with reference to the drawings.
[0067]
(Embodiment 1)
FIG. 1 is a block diagram showing a configuration of the first exemplary embodiment according to the present invention. The multi-operating system shown in FIG. 1 includes a NIC (Network Interface Card) 10 and a
[0068]
In the multi-operating system, the
[0069]
In addition, the multi-operating system uses the
[0070]
Hereinafter, each component will be described in detail. The
[0071]
In the
[0072]
The
[0073]
[0074]
[0075]
On the other hand, the
[0076]
Also, the
[0077]
Here, OS30 1 , For example, 192.168.1.3 is assigned as an IP address. On the other hand, OS30 2 Is assigned another IP address, for example, 192.168.1.4. In the first to third embodiments, a MAC (Media Access Control) address may be used instead of the IP address as the information for identifying the OS.
[0078]
Next, operation outlines 1 to 4 of the first embodiment will be described with reference to FIGS.
[0079]
(
First, the
[0080]
In FIG. 2 Is being executed, and the
[0081]
In this state, in (1), the
[0082]
In (2), the
[0083]
In (4), the NIC
[0084]
In (5), the NIC
[0085]
In (6), the OS
[0086]
As described above, in the
[0087]
(
Next, an
[0088]
In FIG. 1 Is being executed, and the
[0089]
In this state, in (1), the
[0090]
In (2), the
[0091]
In (4), the NIC
[0092]
In (5), the NIC
[0093]
In (6), the OS
[0094]
(
Next, the
[0095]
In FIG. 2 Is being executed, and the
[0096]
In this state, in (1), the NIC
[0097]
In (2), the NIC
[0098]
In (3), the
[0099]
In this case, assuming that the check result is normal, in (5), the reception processing unit 24 2 (Or data check processing unit 26 2 ) Indicates the
[0100]
In (6), the
[0101]
In (8), the NIC
[0102]
In (9), the NIC
[0103]
In (10), the OS
[0104]
(
Next, the
[0105]
In FIG. 1 Is being executed, and the
[0106]
In this state, in (1), the
[0107]
In (2), the
[0108]
In (4), the NIC
[0109]
In (5), the NIC
[0110]
In (6), the
[0111]
In (8), the
[0112]
In this case, assuming that the check result is normal, in (10), the reception processing unit 24 2 (Or data check processing unit 26 2 ) Indicates the
[0113]
In (11), the NIC
[0114]
In (12), the NIC
[0115]
(Operation Example 1 of First Embodiment)
Next, an operation example 1 of the first embodiment will be described with reference to FIGS. This operation example 1 corresponds to the
[0116]
In step SA1 shown in FIG. 7, the NIC reception processing is executed. Specifically, in step SJ1 shown in FIG. 23, the NIC
[0117]
Then, the
[0118]
In step SJ3, the NIC
[0119]
In step SJ5, the NIC
[0120]
Thereby, the
[0121]
In step SK2, the
[0122]
(Operation Example 2 of Embodiment 1)
Next, an operation example 2 of the first embodiment will be described with reference to FIGS. This operation example 2 corresponds to the
[0123]
In step SB1 shown in FIG. 9, the NIC reception process (see FIG. 23) is executed in the same manner as in the operation example 1. In this NIC reception processing, the NIC
[0124]
In step SB2 shown in FIG. 2 The second side performs the second receiving process. Specifically, in step SK1 shown in FIG. 2
[0125]
In step SK2, the
[0126]
In step SK7, the
[0127]
In step SK9, the
[0128]
In this case, assuming that the check result is normal, in step SK10, the
[0129]
Thereby, the second transmission process is executed in step SB3 shown in FIG. Specifically, in step SL1 shown in FIG. 2 Is the
[0130]
In step SL4, the
[0131]
In step SL6, the
[0132]
Thereby, the NIC transmission process is executed in step SB4 shown in FIG. Specifically, in step SI1 shown in FIG. 22, the NIC
[0133]
In this case, in step SL8 (see FIG. 25), the
[0134]
In step SI2, the NIC
[0135]
In step SI4, the NIC
[0136]
Further, in step SL9 shown in FIG. 2 Is the OS
[0137]
Then, after the switching, in step SB6, the NIC receiving process (see FIG. 23) is executed. In this NIC reception process, the NIC
[0138]
In step SJ3, the NIC
[0139]
In step SJ5, the NIC
[0140]
Thereby, the
[0141]
In step SM3, the
[0142]
In step SM6, the
[0143]
(Operation Example 3 of First Embodiment)
Next, a third operation example of the first embodiment will be described with reference to FIGS. This operation example 3 corresponds to the
[0144]
In step SC1 shown in FIG. 11, an NIC reception process is executed. Specifically, in step SJ1 shown in FIG. 23, the NIC
[0145]
Then, the
[0146]
In step SJ3, the NIC
[0147]
In step SJ5, the NIC
[0148]
As a result, the first reception processing is executed in step SC2 shown in FIG. Specifically, in step SM1 shown in FIG. 26, the
[0149]
In step SM2, the
[0150]
In step SC4, a second reception process is performed. Specifically, in step SK1 shown in FIG. 2
[0151]
In step SK2, the
[0152]
(Operation Example 4 of First Embodiment)
Next, an operation example 4 of the first embodiment will be described with reference to FIGS. This operation example 4 corresponds to the
[0153]
In step SD1 shown in FIG. 13, the NIC reception processing is executed. Specifically, in step SJ1 shown in FIG. 23, the NIC
[0154]
Then, the
[0155]
In step SJ3, the NIC
[0156]
In step SJ5, the NIC
[0157]
As a result, the first reception processing is executed in step SD2 shown in FIG. Specifically, in step SM1 shown in FIG. 26, the
[0158]
In step SM2, the
[0159]
In step SD4, a second reception process is executed. Specifically, in step SK1 shown in FIG. 2
[0160]
In step SK2, the
[0161]
In step SK7, the
[0162]
In step SK9, the
[0163]
In this case, assuming that the check result is normal, in step SK10, the
[0164]
Thereby, the second transmission process is executed in step SD5 shown in FIG. Specifically, in step SL1 shown in FIG. 2 Is the
[0165]
In step SL4, the
[0166]
In step SL6, the
[0167]
Thus, in step SD6 shown in FIG. 13, the NIC transmission processing is executed. Specifically, in step SI1 shown in FIG. 22, the NIC
[0168]
In this case, in step SL8 (see FIG. 25), the
[0169]
In step SI2, the NIC
[0170]
In step SI4, the NIC
[0171]
Further, in step SL9 shown in FIG. 2 Is the OS
[0172]
After the switching, in step SD8, the NIC receiving process (see FIG. 23) is executed. In this NIC reception process, the NIC
[0173]
In step SJ3, the NIC
[0174]
In step SJ5, the NIC
[0175]
Thereby, the first reception processing is executed in step SD9. Specifically, in step SM1 shown in FIG. 26, the
[0176]
In step SM3, the
[0177]
In step SM6, the
[0178]
(Operation Example 5 of First Embodiment)
Next, an operation example 5 of the first embodiment will be described with reference to FIG. 14 and FIG. This operation example 5 corresponds to the
[0179]
In step SE1 shown in FIG. 15, a first transmission process is performed. Specifically, in step SN1 shown in FIG. 1 Is OS30 1 The destination IP address of the packet to be transmitted passed from the
[0180]
In step SN2, the
[0181]
Further, when the NIC
[0182]
In step SI2, the NIC
[0183]
In step SI4, the NIC
[0184]
Thereby, the
[0185]
As a result, in step SE3 shown in FIG. 1 Changes the OS to OS30 1 From OS30 2 The first OS switching process of switching to the first OS is executed.
[0186]
In step SE4, NIC reception processing (see FIG. 23) is executed. In this NIC reception process, the NIC
[0187]
In step SE5, the
[0188]
In step SK5, the
[0189]
In this case, it is assumed that the check result is normal, and in step SK2, the
[0190]
(Operation Example 6 of First Embodiment)
Next, an operation example 6 of the first embodiment will be described with reference to FIGS. This operation example 6 corresponds to the
[0191]
In step SF1 shown in FIG. 17, a first transmission process is performed. Specifically, in step SN1 shown in FIG. 1 Is OS30 1 The destination IP address (in this case, the IP address of the other device) of the packet to be transmitted passed from the 2 After replacing with the IP address of the 1 To be stored. The IP address of the other device before replacement is stored in the data area of the packet.
[0192]
In step SN2, the
[0193]
Further, when the NIC
[0194]
In step SI2, the NIC
[0195]
In step SI4, the NIC
[0196]
Thereby, the
[0197]
Accordingly, in step SF3 shown in FIG. 1 Changes the OS to OS30 1 From OS30 2 The first OS switching process of switching to the first OS is executed.
[0198]
In step SF4, NIC reception processing (see FIG. 23) is executed. In this NIC reception processing, the NIC
[0199]
In step SF5, the
[0200]
In step SK5, the
[0201]
In this case, it is assumed that the check result is normal, and in step SK2, the
[0202]
In step SK12, the
[0203]
Thus, the second transmission process is performed in step SF6 shown in FIG. Specifically, in step SL1 shown in FIG. 2 Is the
[0204]
In step SL2, the
[0205]
Thus, the NIC transmission process is executed in step SF7 shown in FIG. Specifically, in step SI1 shown in FIG. 22, the NIC
[0206]
In step SI2, the NIC
[0207]
In step SI4, the NIC
[0208]
(Operation Example 7 of First Embodiment)
Next, an operation example 7 of the first embodiment will be described with reference to FIGS. This operation example 7 corresponds to the
[0209]
In step SG1 shown in FIG. 19, a second transmission process is performed. Specifically, in step SL1 shown in FIG. 2 Is OS30 2 Destination IP address of the packet passed from
[0210]
In step SL2, the
[0211]
Thus, the NIC transmission processing is executed in step SG2 shown in FIG. Specifically, in step SI1 shown in FIG. 22, the NIC
[0212]
In step SI2, the NIC
[0213]
In step SI4, the NIC
[0214]
(Operation Example 8 of First Embodiment)
Next, an operation example 8 of the first embodiment will be described with reference to FIGS. This operation example 8 corresponds to the
[0215]
In step SH1 shown in FIG. 2 Is OS30 2 OS 30 passed by 1 Data check such as virus check is performed on the packet addressed to. If the check result is normal, a second transmission process is executed in step SH2.
[0216]
Specifically, in step SL1 shown in FIG. 2 Is OS30 2 Destination IP address of the packet passed from
[0219]
In step SL4, the
[0218]
In step SL6, the
[0219]
Thereby, the NIC transmission process is executed in step SH3 shown in FIG. Specifically, in step SI1 shown in FIG. 22, the NIC
[0220]
In step SI2, the NIC
[0221]
In step SI4, the NIC
[0222]
Further, in step SL9 shown in FIG. 2 Is the OS
[0223]
Then, after the switching, in step SH5, the NIC receiving process (see FIG. 23) is executed. In this NIC reception process, the NIC
[0224]
In step SJ3, the NIC
[0225]
In step SJ5, the NIC
[0226]
Thereby, the
[0227]
In step SM3, the
[0228]
In step SM6, the
[0229]
As described above, according to the first embodiment, the normal connection destination in the
[0230]
According to the first embodiment, the normality of the packet (data) to be communicated is checked by the data check processing unit 26. 2 The communication processing is continued only when the operation is normal, so that the security and reliability of the multi-operating system can be further improved.
[0231]
(Embodiment 2)
In the first embodiment, the
[0232]
Here, in the second embodiment, the second reception processing shown in FIG. 34 is executed instead of FIG. 24, and the first transmission processing shown in FIG. 35 is executed instead of FIG.
[0233]
(Operation Example 1 of Second Embodiment)
First, an operation example 1 of the second embodiment will be described with reference to FIGS. This operation example 1 corresponds to the
[0234]
In step SO1 shown in FIG. 29, NIC reception processing (see FIG. 23) is executed. In this NIC reception processing, the NIC
[0235]
In step SO2 shown in FIG. 2 The second side performs the second receiving process. Specifically, in step SR1 shown in FIG. 34, the
[0236]
In step SR2, the
[0237]
In step SR14, the
[0238]
In step SR15, the
[0239]
In step SR16, the
[0240]
In step SO4 shown in FIG. 1 Is the
[0241]
In FIG. 34, steps SR1 to SR13 correspond to steps SK1 to SK13 shown in FIG.
[0242]
(Operation Example 2 of Embodiment 2)
Next, an operation example 2 of the second embodiment will be described with reference to FIGS. This operation example 2 corresponds to the
[0243]
In step SP1 shown in FIG. 31, the NIC reception processing is executed. Specifically, in step SJ1 shown in FIG. 23, the NIC
[0244]
Then, the
[0245]
In step SJ3, the NIC
[0246]
In step SJ5, the NIC
[0247]
As a result, the first reception processing is executed in step SP2 shown in FIG. Specifically, in step SM1 shown in FIG. 26, the
[0248]
In step SM2, the
[0249]
In step SP4, a second reception process is performed. Specifically, in step SR1 shown in FIG. 34, the
[0250]
In step SR2, the
[0251]
In step SR14, the
[0252]
In step SR15, the
[0253]
In step SR16, the
[0254]
In step SP6, the
[0255]
(Operation Example 3 of Second Embodiment)
Next, an operation example 3 of the second embodiment will be described with reference to FIG. 32 and FIG. This operation example 3 corresponds to the
[0256]
In step SQ1 shown in FIG. 1 Is OS30 1 If the reliability of the packet to be transmitted passed from is higher than the reliability registered in advance, the first transmission process shown in FIG. 35 is executed. When the reliability of the packet is lower than the reliability registered in advance, the first transmission processing shown in FIG. 27 is executed.
[0257]
Specifically, in step SS1 shown in FIG. 1 Stores the value of the transmission buffer register 15 in the
[0258]
Further, when the NIC
[0259]
In step SI2, the NIC
[0260]
In step SI4, the NIC
[0261]
Thereby, the
[0262]
As described above, according to the second embodiment, when the reliability of data is equal to or more than the value registered in advance, the
[0263]
(Embodiment 3)
In the first embodiment, the values of the
[0264]
FIG. 36 is a block diagram showing a configuration of the third embodiment according to the present invention. In this figure, parts corresponding to respective parts in FIG. 1 are denoted by the same reference numerals. In the figure, the
[0265]
Here, in the third embodiment, the
[0266]
Transmission buffer register
[0267]
Next, operation outlines 1 to 4 of the third embodiment will be described with reference to FIGS.
[0268]
(
First, the
[0269]
In FIG. 2 Is being executed, and the
[0270]
In this state, in (1), the
[0271]
In (2), the
[0272]
In (4), the NIC
[0273]
In (5), the NIC
[0274]
In (6), the OS
[0275]
In (8), the OS
[0276]
(
Next, an
[0277]
In FIG. 1 Is being executed, and the
[0278]
In this state, in (1), the
[0279]
In (2), the OS
[0280]
In (4), the OS
[0281]
In (6), the NIC
[0282]
In (7), the NIC
[0283]
In (8), the OS
[0284]
(
First, an
[0285]
In FIG. 2 Is being executed, and the
[0286]
In this state, in (1), the NIC
[0287]
In (2), the NIC
[0288]
In (3), the
[0289]
In this case, assuming that the check result is normal, in (5), the reception processing unit 24 2 (Or data check processing unit 26 2 ) Indicates the
[0290]
In (6), the
[0291]
In (8), the NIC
[0292]
In (9), the NIC
[0293]
In (10), the OS
[0294]
In (12), the OS
[0295]
(
Next, an
[0296]
In FIG. 1 Is being executed, and the
[0297]
In this state, in (1), the
[0298]
In (2), the OS
[0299]
In (4), the OS
[0300]
In (6), the NIC
[0301]
In (7), the NIC
[0302]
In (8), the OS
[0303]
In (10), the
[0304]
In this case, assuming that the check result is normal, in (12), the reception processing unit 24 2 (Or data check processing unit 26 2 ) Indicates the
[0305]
In (13), the NIC
[0306]
In (14), the NIC
[0307]
(Operation Example 1 of Third Embodiment)
Next, an operation example 1 of the third embodiment will be described with reference to FIG. 41 and FIG. This operation example 1 corresponds to the
[0308]
Here, in the third embodiment, the second reception processing shown in FIG. 59 instead of FIG. 24, the first reception processing shown in FIG. 60 instead of FIG. 26, and the first reception processing shown in FIG. 61 instead of FIG. Respectively performed first transmission processing.
[0309]
In step ST1 shown in FIG. 42, NIC reception processing is executed. Specifically, in step SJ1 shown in FIG. 23, the NIC
[0310]
Then, the
[0311]
In step SJ3, the NIC
[0312]
In step SJ5, the NIC
[0313]
Thereby, the
[0314]
In step SSD2, the
[0315]
(Operation Example 2 of Third Embodiment)
Next, an operation example 2 of the third embodiment will be described with reference to FIG. 43 and FIG. This operation example 2 corresponds to the
[0316]
In step SU1 shown in FIG. 44, the NIC reception process (see FIG. 23) is executed as in the first operation example. In this NIC reception processing, the NIC
[0317]
In step SU2 shown in FIG. 2 The second side performs the second receiving process. Specifically, in step SSD1 shown in FIG. 59, the
[0318]
In step SSD2, the
[0319]
In step SSD8, the
[0320]
In step SSD10, the
[0321]
In this case, assuming that the check result is normal, in step SSD11, the
[0322]
Thereby, the second transmission process is executed in step SU3 shown in FIG. Specifically, in step SL1 shown in FIG. 2 Is the
[0323]
In step SL4, the
[0324]
In step SL6, the
[0325]
Thus, in step SU4 shown in FIG. 44, the NIC transmission processing is executed. Specifically, in step SI1 shown in FIG. 22, the NIC
[0326]
In this case, in step SL8 (see FIG. 25), the
[0327]
In step SI2, the NIC
[0328]
In step SI4, the NIC
[0329]
Further, in step SL9 shown in FIG. 2 Is the OS
[0330]
Then, after the switching, in step SU6, the NIC receiving process (see FIG. 23) is executed. In this NIC reception process, the NIC
[0331]
In step SJ3, the NIC
[0332]
In step SJ5, the NIC
[0333]
Thereby, the
[0334]
In step SSE3, the
[0335]
In step SSE6, the
[0336]
In step SU8 shown in FIG. 1 Changes the OS to OS30 1 From OS30 2 The first OS switching process of switching to the first OS is executed. In step SU9, the reception buffer register rewriting processing unit 28 2 Is OS30 1 From OS30 2 The rewriting process is executed by using the switch to the trigger as a trigger.
[0337]
Specifically, in step SSB1 shown in FIG. 2 Is OS30 1 From OS30 2 It is determined whether or not there is a switch to. If this determination result is "No," the same determination is repeated. In this case, since the switching has been performed, the reception buffer register rewriting processing unit 28 2 Sets the determination result of step SSB1 to "Yes".
[0338]
In step SSB2, the reception buffer register rewriting processing unit 28 2 Stores the value of the
[0339]
In step SU10 shown in FIG. 2 Is called. Thereby, the OS
[0340]
(Operation Example 3 of Third Embodiment)
Next, a third operation example of the third embodiment will be described with reference to FIG. 45 and FIG. This operation example 3 corresponds to the
[0341]
In step SV1 shown in FIG. 46, NIC reception processing is executed. More specifically, in step SJ1 shown in FIG. 23, the NIC
[0342]
Then, the
[0343]
In step SJ3, the NIC
[0344]
In step SJ5, the NIC
[0345]
Thus, the first reception process is executed in step SV2 shown in FIG. Specifically, in step SSE1 shown in FIG. 1
[0346]
In step SSE2, the
[0347]
In step SV4, a second reception process is performed. Specifically, in step SSD1 shown in FIG. 59, the
[0348]
In step SSD2, the
[0349]
(Operation Example 4 of Third Embodiment)
Next, an operation example 4 of the third embodiment will be described with reference to FIG. 47 and FIG. This operation example 4 corresponds to the
[0350]
In step SW1 shown in FIG. 48, an NIC reception process is performed. More specifically, in step SJ1 shown in FIG. 23, the NIC
[0351]
Then, the
[0352]
In step SJ3, the NIC
[0353]
In step SJ5, the NIC
[0354]
As a result, the first reception processing is executed in step SW2 shown in FIG. Specifically, in step SSE1 shown in FIG. 1
[0355]
In step SSE2, the
[0356]
In step SW4, a second reception process is performed. Specifically, in step SSD1 shown in FIG. 59, the
[0357]
In step SSD2, the
[0358]
In step SSD8, the
[0359]
In step SSD10, the
[0360]
In this case, assuming that the check result is normal, in step SSD11, the
[0361]
Thus, the second transmission process is performed in step SW5 shown in FIG. Specifically, in step SL1 shown in FIG. 2 Is the
[0362]
In step SL4, the
[0363]
In step SL6, the
[0364]
Thus, the NIC transmission processing is executed in step SW6 shown in FIG. Specifically, in step SI1 shown in FIG. 22, the NIC
[0365]
In this case, in step SL8 (see FIG. 25), the
[0366]
In step SI2, the NIC
[0367]
In step SI4, the NIC
[0368]
Further, in step SL9 shown in FIG. 2 Is the OS
[0369]
After the switching, in step SW8, the NIC receiving process (see FIG. 23) is executed. In this NIC reception process, the NIC
[0370]
In step SJ3, the NIC
[0371]
In step SJ5, the NIC
[0372]
As a result, the first reception processing is executed in step SW9 shown in FIG. Specifically, in step SSE1 shown in FIG. 1
[0373]
In step SSE3, the
[0374]
In step SSE6, the
[0375]
In step SW10 shown in FIG. 48, the OS
[0376]
Specifically, in step SSB1 shown in FIG. 2 Is OS30 1 From OS30 2 It is determined whether or not there is a switch to. In this case, the determination result is “Yes”.
[0377]
In step SSB2, the reception buffer register rewriting processing unit 28 2 Changes the value of the reception buffer register 16 from the
[0378]
In step SW12 shown in FIG. 48, the OS
[0379]
(Operation Example 5 of Third Embodiment)
Next, an operation example 5 of the third embodiment will be described with reference to FIGS. 49 and 50. This operation example 5 corresponds to the
[0380]
In step SX1 shown in FIG. 50, a first transmission process is executed. Specifically, in step SSF1 shown in FIG. 1 Is OS30 1 The destination IP address of the packet to be transmitted passed from the
[0381]
In step SSF2, the
[0382]
In step SX3, the transmission buffer
[0383]
More specifically, in step SSC1 shown in FIG. 2 Is OS30 1 From OS30 2 It is determined whether or not there is a switch to. If this determination result is "No," the same determination is repeated. In this case, since the switching has been performed, the transmission buffer
[0384]
In step SSC2, the transmission buffer
[0385]
In step SX4 shown in FIG. 2 Is called. Thereby, the OS
[0386]
In step SX5, the
[0387]
When the NIC
[0388]
In step SI2, the NIC
[0389]
In step SI4, the NIC
[0390]
Thereby, the
[0391]
As a result, in step SX7 shown in FIG. 1 Changes the OS to OS30 1 From OS30 2 The first OS switching process of switching to the first OS is executed.
[0392]
In step SX8, NIC reception processing (see FIG. 23) is executed. In this NIC reception process, the NIC
[0393]
In step SX9, the
[0394]
In step SSD5, the
[0395]
In this case, it is assumed that the check result is normal, and in step SSD2, the
[0396]
(Operation Example 6 of Third Embodiment)
Next, an operation example 6 of the third embodiment will be described with reference to FIG. 51 and FIG. This operation example 6 corresponds to the
[0397]
In step SY1 shown in FIG. 52, a first transmission process is executed. Specifically, in step SSF1 shown in FIG. 1 Is OS30 1 The destination IP address (in this case, the IP address of the other device) of the packet to be transmitted passed from the 2 After replacing with the IP address of the 1 To be stored. The IP address of the other device before replacement is stored in the data area of the packet.
[0398]
In step SSF2, the
[0399]
In step SY3, the transmission buffer register rewriting
[0400]
More specifically, in step SSC1 shown in FIG. 2 Is OS30 1 From OS30 2 It is determined whether or not there is a switch to. If this determination result is "No," the same determination is repeated. In this case, since the switching has been performed, the transmission buffer
[0401]
In step SSC2, the transmission buffer
[0402]
In step SY4 shown in FIG. 2 Is called. Thereby, the OS
[0403]
In step SY5, the
[0404]
Further, when the NIC
[0405]
In step SI2, the NIC
[0406]
In step SI4, the NIC
[0407]
Thereby, the
[0408]
Accordingly, in step SY7 shown in FIG. 1 Changes the OS to OS30 1 From OS30 2 The first OS switching process of switching to the first OS is executed.
[0409]
In step SY8, NIC reception processing (see FIG. 23) is executed. In this NIC reception processing, the NIC
[0410]
In step SY9, the
[0411]
In step SSD6, the
[0412]
In this case, it is assumed that the check result is normal, and in step SSD2, the
[0413]
In step SSD13, the
[0414]
Thereby, the second transmission process is executed in step SY10 shown in FIG. Specifically, in step SL1 shown in FIG. 2 Is the
[0415]
In step SL2, the
[0416]
Thus, in step SY11 shown in FIG. 52, the NIC transmission processing is executed. Specifically, in step SI1 shown in FIG. 22, the NIC
[0417]
In step SI2, the NIC
[0418]
In step SI4, the NIC
[0419]
(Operation Example 7 of Third Embodiment)
Next, an operation example 7 of the third embodiment will be described with reference to FIGS. This operation example 7 corresponds to the
[0420]
In step SZ1 shown in FIG. 54, a second transmission process is performed. Specifically, in step SL1 shown in FIG. 2 Is OS30 2 Destination IP address of the packet passed from
[0421]
In step SL2, the
[0422]
Thus, in step SZ2 shown in FIG. 54, the NIC transmission processing is executed. Specifically, in step SI1 shown in FIG. 22, the NIC
[0423]
In step SI2, the NIC
[0424]
In step SI4, the NIC
[0425]
(Operation Example 8 of Embodiment 3)
Next, an operation example 8 of the third embodiment will be described with reference to FIGS. This operation example 8 corresponds to the
[0426]
In step SSA1 shown in FIG. 2 Is OS30 2 OS 30 passed by 1 Data check such as virus check is performed on the packet addressed to. If the check result is normal, a second transmission process is executed in step SSA2.
[0427]
Specifically, in step SL1 shown in FIG. 2 Is OS30 2 Destination IP address of the packet passed from
[0428]
In step SL4, the
[0429]
In step SL6, the
[0430]
Thus, in step SSA3 shown in FIG. 56, the NIC transmission processing is executed. Specifically, in step SI1 shown in FIG. 22, the NIC
[0431]
In step SI2, the NIC
[0432]
In step SI4, the NIC
[0433]
Further, in step SL9 shown in FIG. 2 Is the OS
[0434]
Then, after the switching, in step SSA5, NIC reception processing (see FIG. 23) is executed. In this NIC reception process, the NIC
[0435]
In step SJ3, the NIC
[0436]
In step SJ5, the NIC
[0437]
Thereby, the
[0438]
In step SSE3, the
[0439]
In step SSE6, the
[0440]
In step SSA7 shown in FIG. 56, the OS
[0441]
Specifically, in step SSB1 shown in FIG. 2 Is OS30 1 From OS30 2 It is determined whether or not there is a switch to. In this case, the determination result is “Yes”.
[0442]
In step SSB2, the reception buffer register rewriting processing unit 28 2 Stores the value of the
[0443]
In step SSA9 shown in FIG. 56, the OS
[0444]
As described above, according to the third embodiment, regarding the setting of the connection destination of the
[0445]
FIGS. 62A to 62D are diagrams for explaining application examples 1 to 4 of the above-described first to third embodiments. Application example 1 shown in FIG. 62A is an example in which new and old OSs coexist and are used at the time of system renewal. The new OS is, for example,
[0446]
The application example 2 shown in FIG. 62B is an example in which a new function is speed-developed on the source-public OS without utilizing the source-public OS and waiting for the release of the source non-public OS. The source non-public OS is an operating system whose source code is not disclosed. 1 It corresponds to. On the other hand, the source open OS is an operating system whose source code is open, and the
[0447]
Application example 3 shown in FIG. 62C is an example in which a dedicated OS and a general-purpose OS coexist. The dedicated OS shares functions specializing in real-time properties and the like. 1 It corresponds to. On the other hand, the general-purpose OS is Windows (registered trademark) of Microsoft Corporation or the like, which shares GUI functions, 2 It corresponds to.
[0448]
Application example 4 shown in FIG. 62D is an example in which resources are divided, and uses different methods depending on the purpose of use of OS1 and OS2. OS1 is, for example, OS30 1 It corresponds to. On the other hand, OS2 is 2 It corresponds to.
[0449]
FIG. 63 is a diagram illustrating a case where the first to third embodiments are applied to system migration. In the figure, in the conventional migration work, it is necessary to migrate all the modules of the old OS mounted on the old terminal to the new OS of the new terminal at a time, and there is a concern about safety.
[0450]
On the other hand, if there is a multi-operating system, each module of the old OS installed in the old terminal is transferred to the old OS of the intermediate terminal while confirming safety. Next, in the intermediate terminal, each module of the old OS is transferred to the new OS while confirming the security.
[0451]
Next, all the modules of the new OS of the intermediate terminal are transferred at once to the new OS of the new terminal. In this case, no problem occurs because the transition is between new OSs. The transition by the multi-OS is effective when a new function is quickly added to a specific module.
[0452]
FIG. 64 is a diagram illustrating a case where the first to third embodiments are applied to a high security gateway. In the figure, the hardware includes a multi-operating system (OS1 and OS2) and is connected to the Internet via a NIC (network interface card). This hardware functions as a high security gateway.
[0453]
The
[0454]
In the
[0455]
The
[0456]
Here, when a security attack is performed on the environment of the user (such as the OS1), the communication log of the OS1 may be falsified. However, in the first to third embodiments, since the monitoring logs of the OS1 and the OS2 are separately managed by the multi-operating system, it is possible to track an attacker. Thereby, an effect of suppressing an attack on the security gateway can be expected.
[0457]
FIG. 65 is a diagram illustrating a case where
[0458]
The desktop grid terminal is a terminal for performing a desktop grid calculation for realizing the calculation by allocating a part of a large calculation while the user does not use the computer. Here, from the user's point of view, there is a concern that the above-mentioned calculation whose contents are unknown will adversely affect its own computer environment.
[0459]
Therefore, in the same figure, the above adverse effect can be eliminated by managing its own computer environment by OS1 and managing the grid calculation processing environment by OS2. That is, all data and programs used in the Grid calculation are managed and executed only under the control of the
[0460]
FIG. 66 is a diagram illustrating a case where
[0461]
In the figure, a category that can be managed by a user is limited to OS1, and management of OS2 is performed by a system administrator machine via a network. This allows the system administrator to construct a default environment for a personal computer used in an office environment or the like under the control of the
[0462]
Therefore, it is possible to prevent the environment prepared by the system from causing an operation failure due to the user's personal environment setting. The
[0463]
FIG. 67 is a diagram illustrating a case where
[0464]
In the figure, the high-efficiency network service providing terminal is similar to the remote management terminal (see FIG. 66), in which one OS1 is under the management of the user and the other OS2 is under the management of the net service. Is a terminal that distributes in advance the content under the management of OS2 (DK2) and realizes the immediate use of the content from the DK1 managed by OS1 at the release time.
[0465]
After the content is distributed from the content provider server to the DK2 under the management of the OS2 via the network, the content is provided from the DK2 to the DK1 under the management of the OS1 at the request of the user, and the content can be used immediately. . In this way, in the content provider server, concentration of download access is prevented by pre-delivery.
[0466]
FIG. 68 is a diagram illustrating a case where the first to third embodiments are applied to a high-security Web service providing server. In FIG. 1, the hardware includes a multi-operating system (OS1 and OS2) and is connected to a network via an NIC. A web browsing terminal is connected to the network. The hardware functions as a high security Web service providing server.
[0467]
In the high security Web service providing server shown in FIG. 1, an environment accessible from outside is OS2, and an environment accessible only by local users is OS1.
[0468]
For example, Web published contents and usage logs are stored in the DK2 managed by the OS2. On the other hand, data that is not desired to be disclosed is stored in the DK1 under the management of the OS1. In this case, it is possible to avoid a situation in which information that is not desired to be disclosed is erroneously disclosed on the Web due to a setting error or the like. Further, even when the OS2 side is attacked by a malicious third party from the outside, the OS1 can operate except for the network function.
[0469]
Although the first to third embodiments according to the present invention have been described in detail with reference to the drawings, specific examples of the configuration are not limited to the first to third embodiments and depart from the gist of the present invention. Even if there is a design change within the range not to be included, it is included in the present invention.
[0470]
For example, in the above-described first to third embodiments, a program for realizing the above-described multi-operating system control method is recorded on the computer-
[0471]
The
[0472]
After reading the program recorded on the
[0473]
In the first and second embodiments, the two
[0474]
For example, in the case of a configuration having n OSs of OS1, OS2, OS3,..., OSn, when an interrupt (1) occurs during the running of the OS1, the system switches from the OS1 to the OS2 and interrupts the running of the OS1 When (2) occurs, switching from OS1 to OS3 is performed, and similarly, control is performed so as to switch from OS1 to OSn when an interruption (n-1) occurs during the running of OS1.
[0475]
【The invention's effect】
As described above, according to the present invention, the normal connection destination in the storage means for temporarily storing data to be communicated is set to the second operating system, and the data to be communicated is stored in the first operating system. In the related case, the connection destination of the storage unit for temporarily storing data is set to the first operating system via the second operating system, so that the first operating system and the second operating system can be connected during communication. It is possible to avoid the possibility that the system is simultaneously attacked from the outside, and it is possible to improve the security and reliability of the multi-operating system.
[0476]
Further, according to the present invention, when data addressed to the first operating system is stored in the storage unit during execution of the second operating system, the connection of the storage unit is established via the second operating system. Since the first operating system is set, it is possible to improve the security and reliability of the multi-operating system in data communication addressed to the first operating system.
[0477]
Further, according to the present invention, when the reliability of the data is equal to or more than the value registered in advance, the data stored in the storage means is directly transmitted to the first operating system without relaying the second operating system. Since the transfer is performed, the communication processing can be speeded up.
[0478]
According to the present invention, when data addressed to the second operating system is stored in the storage unit while the first operating system is being executed, switching from the first operating system to the second operating system is performed. Therefore, the effect is obtained that the security and reliability of the multi-operating system in data communication addressed to the second operating system can be improved.
[0479]
Further, according to the present invention, when data addressed to the first operating system is stored in the storage unit during execution of the first operating system, the connection destination of the storage unit is relayed to the second operating system. Therefore, the security and reliability of the multi-operating system in data communication addressed to the first operating system can be improved.
[0480]
According to the present invention, when communication is performed from the first operating system to the second operating system, the connection destination of the storage unit that temporarily stores data to be communicated is set to the second connection destination as a normal connection destination. After the setting is changed from the operating system to the first operating system and the data from the first operating system is stored in the storage, the connection destination of the storage is changed from the first operating system to the second operating system. Therefore, there is an effect that security and reliability of the multi-operating system in data communication from the first operating system to the second operating system can be improved.
[0481]
Further, according to the present invention, when communication from the first operating system to another device is performed, the connection destination of the storage unit for temporarily storing data to be communicated is changed from the second operating system as a normal connection destination. After changing the setting to the first operating system, storing data from the first operating system in the storage means, and changing the connection destination of the storage means from the first operating system to the second operating system. Therefore, there is an effect that security and reliability of the multi-operating system in data communication from the first operating system to another device can be improved.
[0482]
Further, according to the present invention, when the reliability of the data is equal to or more than a pre-registered value, the data stored in the storage unit is not changed without changing the setting, and without relaying the second operating system. Is transmitted directly to another device, so that the communication processing can be speeded up.
[0483]
According to the present invention, when communication is performed from the second operating system to the first operating system, data from the second operating system is stored in the storage unit, and the connection destination of the storage unit is set to the second operating system. Since the setting is changed from the operating system to the first operating system, it is possible to improve the security and reliability of the multi-operating system in data communication from the second operating system to the first operating system. Play.
[0484]
Further, according to the present invention, the normality of the data is checked and the communication processing is continued only when the data is normal, so that the security and reliability of the multi-operating system can be further improved. Play.
[0485]
Further, according to the present invention, since only the second operating system is authorized to set the connection destination of the storage unit, the first operating system having no authority can be attacked from outside. And the security and reliability of the multi-operating system can be significantly improved.
[0486]
Further, according to the present invention, since the multi-operating system control method according to any one of
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a first exemplary embodiment according to the present invention.
FIG. 2 is a block diagram illustrating an
FIG. 3 is a block diagram illustrating an
FIG. 4 is a block diagram illustrating an
FIG. 5 is a block diagram illustrating an
FIG. 6 is a block diagram illustrating an operation example 1 according to the first embodiment.
FIG. 7 is a flowchart illustrating an operation example 1 according to the first embodiment.
FIG. 8 is a block diagram illustrating an operation example 2 according to the first embodiment.
FIG. 9 is a flowchart illustrating an operation example 2 in the first embodiment.
FIG. 10 is a block diagram illustrating an operation example 3 in the first embodiment.
FIG. 11 is a flowchart illustrating an operation example 3 in the first embodiment.
FIG. 12 is a block diagram illustrating an operation example 4 in the first embodiment.
FIG. 13 is a flowchart illustrating an operation example 4 in the first embodiment.
FIG. 14 is a block diagram illustrating an operation example 5 in the first embodiment.
FIG. 15 is a flowchart illustrating an operation example 5 in the first embodiment.
FIG. 16 is a block diagram illustrating an operation example 6 in the first embodiment.
FIG. 17 is a flowchart illustrating an operation example 6 in the first embodiment.
FIG. 18 is a block diagram illustrating an operation example 7 in the first embodiment.
FIG. 19 is a flowchart illustrating an operation example 7 in the first embodiment.
FIG. 20 is a block diagram illustrating an operation example 8 in the first embodiment.
FIG. 21 is a flowchart illustrating an operation example 8 in the first embodiment.
FIG. 22 is a flowchart illustrating NIC transmission processing.
FIG. 23 is a flowchart illustrating NIC reception processing.
FIG. 24 is a flowchart illustrating a second reception process.
FIG. 25 is a flowchart illustrating a second transmission process.
FIG. 26 is a flowchart illustrating a first reception process.
FIG. 27 is a flowchart illustrating a first transmission process.
FIG. 28 is a block diagram illustrating an operation example 1 of the second embodiment according to the present invention;
FIG. 29 is a flowchart illustrating an operation example 1 of the second embodiment.
FIG. 30 is a block diagram illustrating an operation example 2 of the second embodiment.
FIG. 31 is a flowchart illustrating an operation example 2 of the second embodiment.
FIG. 32 is a block diagram illustrating an operation example 3 of the second embodiment.
FIG. 33 is a flowchart illustrating an operation example 3 of the second embodiment.
FIG. 34 is a flowchart illustrating a second reception process.
FIG. 35 is a flowchart illustrating a first transmission process.
FIG. 36 is a block diagram showing a configuration of a third exemplary embodiment of the present invention.
FIG. 37 is a block diagram illustrating an
FIG. 38 is a block diagram illustrating an outline of
FIG. 39 is a block diagram illustrating an outline of
FIG. 40 is a block diagram illustrating an outline of
FIG. 41 is a block diagram illustrating an operation example 1 of the third embodiment.
FIG. 42 is a flowchart illustrating an operation example 1 of the third embodiment.
FIG. 43 is a block diagram illustrating an operation example 2 of the third embodiment.
FIG. 44 is a flowchart illustrating an operation example 2 of the third embodiment.
FIG. 45 is a block diagram illustrating an operation example 3 of the third embodiment.
FIG. 46 is a flowchart illustrating an operation example 3 of the third embodiment.
FIG. 47 is a block diagram illustrating an operation example 4 of the third embodiment.
FIG. 48 is a flowchart illustrating an operation example 4 of the third embodiment.
FIG. 49 is a block diagram illustrating an operation example 5 of the third embodiment.
FIG. 50 is a flowchart illustrating an operation example 5 of the third embodiment.
FIG. 51 is a block diagram illustrating an operation example 6 of the third embodiment.
FIG. 52 is a flowchart illustrating an operation example 6 of the third embodiment.
FIG. 53 is a block diagram illustrating an operation example 7 of the third embodiment.
FIG. 54 is a flowchart illustrating an operation example 7 of the third embodiment.
FIG. 55 is a block diagram illustrating an operation example 8 of the third embodiment.
FIG. 56 is a flowchart illustrating an operation example 8 of the third embodiment.
FIG. 57 is a flowchart illustrating a reception buffer register rewriting process.
FIG. 58 is a flowchart illustrating a transmission buffer register rewriting process.
FIG. 59 is a flowchart illustrating a second reception process.
FIG. 60 is a flowchart illustrating a first reception process.
FIG. 61 is a flowchart illustrating a first transmission process.
FIG. 62 is a diagram illustrating applied examples 1 to 4 of the first to third embodiments according to the present invention.
FIG. 63 is a diagram illustrating a case where the first to third embodiments are applied to system migration;
FIG. 64 is a diagram illustrating a case where the first to third embodiments are applied to a high security gateway.
FIG. 65 is a diagram illustrating a case where
FIG. 66 is a diagram illustrating a case where
FIG. 67 is a diagram illustrating a case where
FIG. 68 is a diagram illustrating a case where the first to third embodiments are applied to a high security Web service providing server.
FIG. 69 is a block diagram showing a configuration of a modification of the first to third embodiments.
FIG. 70 is a block diagram illustrating a configuration example 1 of a conventional multi-operating system.
FIG. 71 is a block diagram illustrating a configuration example 2 of a conventional multi-operating system.
[Explanation of symbols]
10 NIC
11 NIC transmission processing unit
12 Transmission buffer
13 NIC reception processing unit
14 Receive buffer
15 Transmit buffer register
16 Receive buffer register
20 1 NIC device driver
21 1 OS switching processing unit
22 1 Transmission processing unit
23 1 Transmit buffer
24 1 Reception processing unit
25 1 Receive buffer
20 2 NIC device driver
21 2 OS switching processing unit
22 2 Transmission processing unit
23 2 Transmit buffer
24 2 Reception processing unit
25 2 Receive buffer
26 2 Data check processing unit
27 2 Transmission buffer register rewrite processing unit
28 2 Reception buffer register rewrite processing unit
30 1 OS
30 2 OS
100 computer
140 RAM
Claims (23)
通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定し、また、前記通信対象のデータが前記第1のオペレーティングシステムに関連する場合、前記データを一時格納する格納手段の接続先を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定工程、
を含むことを特徴とするマルチオペレーティングシステム制御方法。A multi-operating system control method for controlling a first operating system and a second operating system running on one computer,
A normal connection destination in the storage unit for temporarily storing data to be communicated is set to the second operating system, and when the data to be communicated is related to the first operating system, the data is temporarily stored. Setting a connection destination of the storage means to be set to the first operating system via the second operating system;
A method for controlling a multi-operating system, comprising:
前記第2のオペレーティングシステムが実行中に、前記第1のオペレーティングシステム宛のデータが格納手段に格納された場合、前記格納手段の接続を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定工程、
を含むことを特徴とするマルチオペレーティングシステム制御方法。A multi-operating system control method for controlling a first operating system and a second operating system running on one computer,
When the data addressed to the first operating system is stored in the storage unit while the second operating system is running, the connection of the storage unit is changed to the first operation system via the second operating system. Setting process to set in the operating system,
A method for controlling a multi-operating system, comprising:
通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定する設定工程と、
前記第1のオペレーティングシステムが実行中に、前記第2のオペレーティングシステム宛のデータが前記格納手段に格納された場合、第1のオペレーティングシステムから第2のオペレーティングシステムに切り替える切り替え工程と、
を含むことを特徴とするマルチオペレーティングシステム制御方法。A multi-operating system control method for controlling a first operating system and a second operating system running on one computer,
Setting a normal connection destination in the storage means for temporarily storing data to be communicated in the second operating system;
A step of switching from the first operating system to the second operating system when data addressed to the second operating system is stored in the storage unit during execution of the first operating system;
A method for controlling a multi-operating system, comprising:
前記第1のオペレーティングシステムが実行中に、前記第1のオペレーティングシステム宛のデータが格納手段に格納された場合、前記格納手段の接続先を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定工程、
を含むことを特徴とするマルチオペレーティングシステム制御方法。A multi-operating system control method for controlling a first operating system and a second operating system running on one computer,
When data addressed to the first operating system is stored in a storage unit during execution of the first operating system, the connection destination of the storage unit is set to the first operating system via the second operating system. Configuration process to configure the operating system of the
A method for controlling a multi-operating system, comprising:
前記第1のオペレーティングシステムから前記第2のオペレーティングシステムへの通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する第1の設定変更工程と、
前記第1のオペレーティングシステムからのデータを前記格納手段に格納する格納工程と、
前記格納手段の接続先を、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムに設定変更する第2の設定変更工程と、
を含むことを特徴とするマルチオペレーティングシステム制御方法。A multi-operating system control method for controlling a first operating system and a second operating system running on one computer,
When performing communication from the first operating system to the second operating system, the connection destination of the storage unit for temporarily storing data to be communicated is changed from the second operating system as a normal connection destination to the first operating system. A first setting change step of changing settings to the operating system of
A storing step of storing data from the first operating system in the storing means;
A second setting change step of changing the connection destination of the storage means from the first operating system to the second operating system;
A method for controlling a multi-operating system, comprising:
前記第1のオペレーティングシステムから他装置への通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する第1の設定変更工程と、
前記第1のオペレーティングシステムからのデータを前記格納手段に格納する格納工程と、
前記格納手段の接続先を、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムに設定変更する第2の設定変更工程と、
前記第2のオペレーティングシステムを中継して、前記格納手段に格納されたデータを前記他装置へ送信する送信工程と、
を含むことを特徴とするマルチオペレーティングシステム制御方法。A multi-operating system control method for controlling a first operating system and a second operating system running on one computer,
When performing communication from the first operating system to another device, the connection destination of the storage unit for temporarily storing data to be communicated is changed from the second operating system as a normal connection destination to the first operating system. A first setting change step of changing a setting;
A storing step of storing data from the first operating system in the storing means;
A second setting change step of changing the connection destination of the storage means from the first operating system to the second operating system;
A transmission step of transmitting the data stored in the storage means to the other device via the second operating system,
A method for controlling a multi-operating system, comprising:
通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定する設定工程と、
前記第2のオペレーティングシステムから前記第1のオペレーティングシステムへの通信を行う場合、前記第2のオペレーティングシステムからのデータを前記格納手段に格納する格納工程と、
前記格納手段の接続先を前記第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する設定変更工程と、
を含むことを特徴とするマルチオペレーティングシステム制御方法。A multi-operating system control method for controlling a first operating system and a second operating system running on one computer,
Setting a normal connection destination in the storage means for temporarily storing data to be communicated in the second operating system;
When performing communication from the second operating system to the first operating system, a storing step of storing data from the second operating system in the storing unit;
A setting change step of changing the connection destination of the storage means from the second operating system to the first operating system;
A method for controlling a multi-operating system, comprising:
通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定し、また、前記通信対象のデータが前記第1のオペレーティングシステムに関連する場合、前記データを一時格納する格納手段の接続先を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定手段、
を備えたことを特徴とするマルチオペレーティングシステム制御装置。A multi-operating system control device for controlling a first operating system and a second operating system running on one computer,
A normal connection destination in the storage unit for temporarily storing data to be communicated is set to the second operating system, and when the data to be communicated is related to the first operating system, the data is temporarily stored. Setting means for setting the connection destination of the storage means to be set to the first operating system via the second operating system;
A multi-operating system control device characterized by comprising:
前記第2のオペレーティングシステムが実行中に、前記第1のオペレーティングシステム宛のデータが格納手段に格納された場合、前記格納手段の接続を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定手段、
を備えたことを特徴とするマルチオペレーティングシステム制御装置。A multi-operating system control device for controlling a first operating system and a second operating system running on one computer,
When the data addressed to the first operating system is stored in the storage unit while the second operating system is running, the connection of the storage unit is changed to the first operation system via the second operating system. Setting means for setting in the operating system,
A multi-operating system control device characterized by comprising:
通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定する設定手段と、
前記第1のオペレーティングシステムが実行中に、前記第2のオペレーティングシステム宛のデータが前記格納手段に格納された場合、第1のオペレーティングシステムから第2のオペレーティングシステムに切り替える切り替え手段と、
を備えたことを特徴とするマルチオペレーティングシステム制御装置。A multi-operating system control device for controlling a first operating system and a second operating system running on one computer,
Setting means for setting a normal connection destination in the storage means for temporarily storing data to be communicated in the second operating system;
Switching means for switching from the first operating system to the second operating system when data addressed to the second operating system is stored in the storage means during execution of the first operating system;
A multi-operating system control device characterized by comprising:
前記第1のオペレーティングシステムが実行中に、前記第1のオペレーティングシステム宛のデータが格納手段に格納された場合、前記格納手段の接続先を、前記第2のオペレーティングシステムを中継して前記第1のオペレーティングシステムに設定する設定手段、
を備えたことを特徴とするマルチオペレーティングシステム制御装置。A multi-operating system control device for controlling a first operating system and a second operating system running on one computer,
When data addressed to the first operating system is stored in a storage unit during execution of the first operating system, the connection destination of the storage unit is set to the first operating system via the second operating system. Setting means for setting the operating system of the
A multi-operating system control device characterized by comprising:
前記第1のオペレーティングシステムから前記第2のオペレーティングシステムへの通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する第1の設定変更手段と、
前記第1のオペレーティングシステムからのデータを前記格納手段に格納する格納制御手段と、
前記格納手段の接続先を、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムに設定変更する第2の設定変更手段と、
を備えたことを特徴とするマルチオペレーティングシステム制御装置。A multi-operating system control device for controlling a first operating system and a second operating system running on one computer,
When performing communication from the first operating system to the second operating system, the connection destination of the storage unit for temporarily storing data to be communicated is changed from the second operating system as a normal connection destination to the first operating system. First setting change means for changing the setting to the operating system of
Storage control means for storing data from the first operating system in the storage means;
Second setting change means for changing the connection destination of the storage means from the first operating system to the second operating system;
A multi-operating system control device characterized by comprising:
前記第1のオペレーティングシステムから他装置への通信を行う場合、通信対象のデータを一時格納する格納手段の接続先を、通常の接続先としての第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する第1の設定変更手段と、
前記第1のオペレーティングシステムからのデータを前記格納手段に格納する格納制御手段と、
前記格納手段の接続先を、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムに設定変更する第2の設定変更手段と、
前記第2のオペレーティングシステムを中継して、前記格納手段に格納されたデータを前記他装置へ送信する送信手段と、
を備えたことを特徴とするマルチオペレーティングシステム制御装置。A multi-operating system control device for controlling a first operating system and a second operating system running on one computer,
When performing communication from the first operating system to another device, the connection destination of the storage unit for temporarily storing data to be communicated is changed from the second operating system as a normal connection destination to the first operating system. First setting change means for changing the setting;
Storage control means for storing data from the first operating system in the storage means;
Second setting change means for changing the connection destination of the storage means from the first operating system to the second operating system;
A transmission unit that relays the data stored in the storage unit to the other device by relaying the second operating system;
A multi-operating system control device characterized by comprising:
通信対象のデータを一時格納する格納手段における通常の接続先を前記第2のオペレーティングシステムに設定する設定手段と、
前記第2のオペレーティングシステムから前記第1のオペレーティングシステムへの通信を行う場合、前記第2のオペレーティングシステムからのデータを前記格納手段に格納する格納制御手段と、
前記格納手段の接続先を前記第2のオペレーティングシステムから前記第1のオペレーティングシステムに設定変更する設定変更手段と、
を備えたことを特徴とするマルチオペレーティングシステム制御装置。A multi-operating system control device for controlling a first operating system and a second operating system running on one computer,
Setting means for setting a normal connection destination in the storage means for temporarily storing data to be communicated in the second operating system;
A storage control unit configured to store data from the second operating system in the storage unit when performing communication from the second operating system to the first operating system;
Setting change means for changing the connection destination of the storage means from the second operating system to the first operating system;
A multi-operating system control device characterized by comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003043312A JP2004252776A (en) | 2003-02-20 | 2003-02-20 | Control method of multi-operating system, program making computer execute same method, and control device of multi-operating system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003043312A JP2004252776A (en) | 2003-02-20 | 2003-02-20 | Control method of multi-operating system, program making computer execute same method, and control device of multi-operating system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004252776A true JP2004252776A (en) | 2004-09-09 |
Family
ID=33026346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003043312A Pending JP2004252776A (en) | 2003-02-20 | 2003-02-20 | Control method of multi-operating system, program making computer execute same method, and control device of multi-operating system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004252776A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7783810B2 (en) | 2006-02-01 | 2010-08-24 | Sony Corporation | Apparatus and method of processing information |
US8718629B2 (en) | 2006-07-18 | 2014-05-06 | Nec Corporation | Information communication processing device, information communication terminal, information communication system, function switching method and function switching program |
-
2003
- 2003-02-20 JP JP2003043312A patent/JP2004252776A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7783810B2 (en) | 2006-02-01 | 2010-08-24 | Sony Corporation | Apparatus and method of processing information |
US8718629B2 (en) | 2006-07-18 | 2014-05-06 | Nec Corporation | Information communication processing device, information communication terminal, information communication system, function switching method and function switching program |
JP5621191B2 (en) * | 2006-07-18 | 2014-11-05 | 日本電気株式会社 | Information communication processing device, information communication terminal, information communication system, function switching method, and function switching program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11792307B2 (en) | Methods and apparatus for single entity buffer pool management | |
CN1924863B (en) | Method and system for operating software configured for internet access on a remote computer | |
US6253334B1 (en) | Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses | |
US6314525B1 (en) | Means for allowing two or more network interface controller cards to appear as one card to an operating system | |
US20180039507A1 (en) | System and method for management of a virtual machine environment | |
US6629157B1 (en) | System and method for virtualizing the configuration space of PCI devices in a processing system | |
KR100938521B1 (en) | Method, apparatus and system for enabling a secure location-aware platform | |
JP2010514028A (en) | A system that enables multiple execution environments to share a single data process | |
CN114363170B (en) | Container service network configuration method and related products | |
JP2006107500A (en) | Updating software during its execution | |
Nakao et al. | CoreLab: An emerging network testbed employing hosted virtual machine monitor | |
US20170255482A9 (en) | Using virtual local area networks in a virtual computer system | |
KR20070032734A (en) | Physical device sharing between multiple clients | |
CN113312141B (en) | Computer system, storage medium and method for offloading serial port simulation | |
US9325666B2 (en) | Securely virtualizating network services | |
CN113127077A (en) | Server-based microkernel operating system deployment method and operating system | |
US8862714B2 (en) | Apparatus and method for virtualizing of network device | |
JP2014195178A (en) | Information processing device, transmission control method, and transmission control program | |
JP2007221364A (en) | Expansion method of controller, control system, and control device | |
JP2004252776A (en) | Control method of multi-operating system, program making computer execute same method, and control device of multi-operating system | |
Ribiere | Emulation of obsolete hardware in open source virtualization software | |
Richardson et al. | Maverick: Providing web applications with safe and flexible access to local devices | |
JP3863117B2 (en) | Multi-operating system control method, program for causing computer to execute the method, and multi-operating system control device | |
Briegel et al. | The Fermilab ACNET upgrade | |
JP6787475B2 (en) | Communication equipment, systems, rollback methods and programs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051028 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060105 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060502 |