(57)【要約】本発明は、ノンリアルタイムデータの受信とリアルタイムデータの受信によって作動する、リアルタイムデータと非リアルタイムデータを表わす各イメージの同時表示のための方法および装置に関している。ウィンドウ処理オペレーティングシステムは、ノンリアルタイムデータに反応するアプリケーションプログラムの動作の制御と、ノンリアルタイムデータを表わす各イメージを表示するディスプレイデバイスの調整を実行する。リアルタイム表示処理も同時に実行されるが、但しウインドウ処理オペレーティングシステムの実行とは無関係に行われ、ノンリアルタイムデータの表示と同時に、リアルタイムデータを表わす各イメージを表示するためにディスプレイデバイスが調整される。
2004513588.tif 000002
【特許請求の範囲】
【請求項１】
リアルタイムデータを表わすイメージとノンリアルタイムデータを表わすイメージの各々を同時に表示するためのシステムにおいて、
リアルタイムデータを表わす信号のソースと、
ノンリアルタイムデータを表わす信号のソースと、
イメージを表示するためのディスプレイデバイスと、
前記リアルタイムデータソースおよびノンリアルタイムデータソース並びにディスプレイデバイスに接続されているプロセッサとを有しており、
前記プロセッサにより、
ウィンドウィングオペレーティングシステムが実行され、
前記ウィンドウィングオペレーティングシステムは、ノンリアルタイムデータ受信のためのアプリケーションプログラムの動作を制御し、さらにノンリアルタイムデータを表わすイメージを表示するディスプレイデバイスを調整し、
前記オペレーティングシステムの実行とは無関係に、リアルタイムデータ受信のためのリアルタイム表示プロセスが実行され、
ノンリアルタイムデータの表示と同時に、リアルタイムデータを表わすイメージを表示するためにディスプレイデバイスが調整されるように構成されていることを特徴とするシステム。
【請求項２】
前記リアルタイムデータソースは、所定の待ち時間リミットを伴うネットワークであり、前記リアルタイム表示プロセスは、リアルタイムデータを受取り、所定の待ち時間リミット内でリアルタイムデータを表わすイメージを表示する、請求項１記載のシステム。
【請求項３】
前記リアルタイム表示プロセスは、シングルスレッドとして実行される、請求項１記載のシステム。
【請求項４】
前記リアルタイム表示プロセススレッドは、アプリケーションプログラムよりも高い優先度を割当てられる、請求項２記載のシステム。
【請求項５】
前記ウィンドウィングオペレーティングシステムは、所定のイメージを表示するディスプレイデバイスの調整のためのグラフィックスディスプレイインターフェースを提供し、リアルタイムディスプレイプロセススレッドは、リアルタイムイメージを表示するためのグラフィックスディスプレイインターフェースに対する命令を提供する、請求項２記載のシステム。
【請求項６】
アプリケーションプログラムが誤動作すると、ノンリアルタイムデータを表わすイメージがリアルタイムデータを表わすイメージを覆い、当該システムは、さらにユーザー入力信号のソースを含み、プロセッサは、ユーザー入力信号に応じて、リアルタイムデータを表わすイメージを見せる、請求項１記載のシステム。
【請求項７】
前記ユーザー入力信号ソースは、キーボードからなり、ユーザー入力信号は、キーコンビネーションからなっている、請求項５記載のシステム。
【請求項８】
前記ユーザー入力信号ソースは、マウスからなり、ユーザー入力信号は、マウスクリック動作情報からなっている、請求項５記載のシステム。
【請求項９】
ウィンドウ処理オペレーティングシステムは、リソースの使用率に関する情報を管理し、さらに前記プロセッサは、リソース情報を監視し、リソース使用率が所定レベル以下であることをリソース情報が指示した場合に修正アクションを行うモニタプロセスを実行する、請求項１記載のシステム。
【請求項１０】
前記リソース情報は、ウィンドウィングオペレーティングシステムによって管理され、この場合メモリリソースとシステムリソースとコンピュータリソースとプロセスリソースに関する情報が管理される、請求項８記載のシステム。
【請求項１１】
前記プロセッサによって行われる修正アクションには、アプリケーションプログラムの実行パラメータ変更することと、アプリケーションプログラムを終了させることと、ユーザーに通知を送信することが含まれている、請求項８記載のシステム。
【請求項１２】
リアルタイムデータを表わすイメージとノンリアルタイムデータを表わすイメージの各々を同時に表示するための方法において、
ノンリアルタイムデータを受取るステップと、
リアルタイムデータを受取るステップと、
ノンリアルタイムデータ受信のためのアプリケーションプログラムの動作制御と、ノンリアルタイムデータを表わすイメージを表示するディスプレイデバイスの調整のために、ウィンドウィングオペレーティングシステムを実行するステップと、
ノンリアルタイムデータの表示と同時に、リアルタイムデータを表わすイメージを表示するディスプレイデバイスの調整のために、ウィンドウィングオペレーティングシステムとは無関係にリアルタイム表示プロセスを実行するステップとを有していることを特徴とする方法。
【請求項１３】
リアルタイム表示プロセスを信号スレッドとして実行するステップが含まれる、請求項１１記載の方法。
【請求項１４】
前記リアルタイム表示プロセスにアプリケーションプログラムよりも高い優先度が割当てられるステップが含まれる、請求項１２記載の方法。
【請求項１５】
前記ウィンドウィングオペレーティングシステムの実行ステップに、イメージ生成のための命令を受信するグラフィックスディスプレイインターフェースの実行ステップが含まれ、リアルタイムディスプレイプロセス実行ステップには、リアルタイムデータを表わす各イメージを表示するためのグラフィックスディスプレイインターフェースに対する命令を提供するステップが含まれている、請求項１２記載の方法。
【請求項１６】
アプリケーションプログラムが誤動作した場合に、ノンリアルタイムデータを表わすイメージによってリアルタイムデータを表わすイメージが覆われるステップが含まれ、さらにユーザー入力データを受取るステップと、ユーザー入力データに応じて、リアルタイムデータを見せるステップが含まれる、請求項１１記載の方法。
【請求項１７】
キーボードからのキーコンビネーションを受取るステップからなる、ユーザー入力データを受取るステップが含まれている、請求項１５記載の方法。
【請求項１８】
マウスからのマウスクリック動作情報を受取るステップからなる、ユーザー入力データを受取るステップが含まれている、請求項１５記載の方法。
【請求項１９】
は、リソースの使用率に関する情報を管理するステップからなる、ウィンドウィングオペレーティングシステムの実行ステップと、リソース情報の監視と、リソース使用率が所定レベル以下であることをリソース情報が指示した場合に修正アクションを行うためのモニタプロセスを実行するステップが含まれている、請求項１１記載の方法。
【請求項２０】
前記リソース情報を監視するステップに、メモリリソースを監視するステップとシステムリソースを監視するステップとコンピュータリソースを監視するステップとプロセスリソースを監視するステップが含まれている、請求項１８記載の方法。
【請求項２１】
前記修正アクションを行うステップに、アプリケーションプログラムの実行パラメータ変更するステップと、アプリケーションプログラムを終了させるステップと、ユーザーに対する通知を送信するステップが含まれている、請求項１８記載の方法。
【発明の詳細な説明】
【０００１】
この発明は、“Ｏｒｔｌａｍ”らによる２０００年１１月１３日付けで提出された暫定的出願通し番号６０／２４８，１０１の出願のものである。
【０００２】
発明の分野
本発明は、ノンリアルタイムデータを表わすイメージと同時に、リアルタイムデータを表わすイメーを表示するための表示システムに関している。
【０００３】
発明の背景
リアルタイムデータを表わすイメージを表示するためのシステムは既に長い歴史を有している。例えば心電図（ＥＣＧ）などの生理学的リアルタイムデータを表わす波形図を表示するためのシステムが既に以前から存在する。さらに詳述すれば、これらのシステムは、それぞれの各リアルタイムデータを表わすイメージをマルチ的に同時表示するために既に開発されてきている。例えば現下のＥＣＧシステムは、１２のｌｅａｄ ＥＣＧからの１２の全ての波形を同時に表示することができる。米国特許出願ＵＳ ６，１０４，９４８ （ｉｓｓｕｅｄ Ａｕｇ． １５． ２０００， Ｂｏｇａｒｔ ｅｔ ａｌ．） 明細書には、異なるソース、例えば心電図（ＥＣＧ）、脳波図（ＥＥＧ）などからの複数の生理学的なリアルタイムデータ、皮膚伝導度情報、眼球運動記録情報、皮膚温度情報などの受信のためのシステムが開示されている。このシステムは、ｃａｒｄｉａｃ ｃｉｎｅ−ｌｏｏｐ Ｖｉｄｅｏなどの他のリアルタイムデータを受信している。このシステムは、受信したリアルタイムデータの全てを表わす各イメージを含んだ合成画像を同時にかつ同期的に表示する。この合成画像は、さらなる学習のために、ビデオテープレコーダー上でスキャンコンバータを用いて記録され得る。
【０００４】
それぞれのノンリアルタイムデータを表わすイメージを同時に表示するためのシステムも存在している。例えばコンピュータウインドウ処理オペレーティングシステムでは、ＵＮＩＸ のＸウインドウズ、アップル社のマッキントッシュ、マイクロソフト社のウインドウズなどが、各ノンリアルタイムデータを表わすマルチイメージの表示のために書かれたプログラムを許容している。例えば米国特許 ＵＳ ５，９５６，０１３ （ｉｓｓｕｅｄ Ｓｅｐ．２１， １９９１ ｔｏ Ｒａｊ ｅｔ ａｌ．） 明細書には、例えばホルター心電図モニタからの事前記録されたＥＣＧデータを受信し、ＥＣＧデータの数秒分を表わす波形の第１イメージを表示すると同時に、それらのＲ波形上に相互に配列される心拍波形の選択された数（例えば１〜５）の第２イメージを表示するための、マイクロソフト社ウインドウズをベースにしたシステムが開示されている。
【０００５】
さらに、リアルタイムデータを表わすイメージとノンリアルタイムデータを表わすイメージを同時に表示するためのシステムも存在している。例えば前述のウインドウ処理オペレーティングシステムの制御下で動作するコンピュータシステムは、リアルタイムデータを収集するデバイスを含むように設計されており、収集されたリアルタイムデータを表わすイメージは、ノンリアルタイムデータを表わすイメージと同時に表示される。米国特許 ＵＳ ４，８４５，６５３ （ｉｓｓｕｅｄ Ｊｕｌ．４， １９８９ ｔｏ Ｃｏｎｒａｄ ｅｔ ａｌ．） 明細書には、２つのパラメータデータフィールドの多数が、同じマルチパラメータデータのそれぞれのビュー（視点）を表わすものと同時に表示されるシステムが開示されている。ここでのデータは、リアルタイムで受信データとして表示されている。ユーザーは、データフィールドの中の１つの領域を取囲むアウトラインを定め、その領域内の対応するデータポイントを他のデータフィールド内で強調表示する。さらにノンリアルタイムデータ（取囲まれたデータポイントから得られる）も表示され得る。
【０００６】
当業者にとっては、コンピュータウインドウ処理オペレーティングシステムが前述のように、リアルタイムデータとノンリアルタイムデータの同時表示のためのプログラムの設計と実行を比較的容易にできることがわかっている。従って多くのプログラムがそれらのオペレーティングシステムのための非常に望ましいタスクの幅広い多様性を実行すべき書き出されている。但し当業者にとってはそのようなオペレーティングシステムは信頼性に問題があり、多種多様なタスクやスレッドを含んだマルチプログラムの実行の際には頻繁に再起動や再設定ないし再入力が要求されることもわかっている。しかしながらシステムに対しては常に高い信頼性を伴う動作が望まれる。特に医療用監視装置などの適用分野では、最大限の信頼性で動作するシステムが絶対に必要とされる。例えばＥＣＧモニタにおいては、ＥＣＧデータを表わす波形イメージの表示が決して中断されてはならず、さらにリアルタイムＥＣＧデータの受取りとそれを表示する間の待ち時間も最小でなければならない。
【０００７】
また当業者にとっては、リアルタイムデータ（例えばＥＣＧデータ）の表示と同時にノンリアルタイムデータを表示することも有益であることがわかっている。例えば患者のリアルタイムのＥＣＧデータを分析している医者にとっては、患者の試験結果のテキスト情報やＸ線画像、患者カルテからのデータ、あるいは薬品会社のウエブサイトからの情報の同時表示は有益である。特にベテランの開業医にとっては、システム的に使用を熟知した、プログラミングが容易で、幅広い多様性に富んだプログラムを入手しやすいウインドウ処理オペレーティングシステムが使用できることの有り難さや利点はよくわかっている。さらにベテランの医師には、ノンリアルタイム情報が重要で望ましいものである一方で、ノンリアルタイムデータ表示プログラムにおける誤動作が（そのようなウインドウ処理オペレーティングシステムの使用中の起こり得る）、リアルタイムＥＣＧデータ表示の中断を引き起こすようなことがいかなる状況下においても許されるべきことではないこともわかっている。従って、既存のウィンドウ処理オペレーティングシステムを使用したリアルタイムデータとノンリアルタイムデータの同時表示が可能でかつ、ノンリアルタイムデータの表示による誤動作がリアルタイムデータの表示中断を引き起こすことのないシステムが望まれる。
【０００８】
発明の概要
本発明の原理によれば、リアルタイムデータとノンリアルタイムデータを表わす各イメージの同時表示のための方法および装置は、最初にノンリアルタイムデータの受取りとリアルタイムデータの受取りによって動作する。ウインドウ処理オペレーティングシステムは、ノンリアルタイムデータに応答するアプリケーションプログラムの制御と、ノンリアルタイムデータを表わす各イメージの表示デバイスによる表示の調整を実行する。リアルタイム表示プロセスもそれと同時に実施されるが、但しそれとは無関係に行われ、当該ウィンドウ処理オペレーティングシステムは、ノンリアルタイムデータの表示と同時に、リアルタイムデータを表わす各イメージの表示のためのデバイスの調整も行う。
【０００９】
図面の詳細な説明
図１は、本発明の原理によるコンピュータシステムを表わしたブロック図であり、
図２は、システムを制御するプロセッサ上で実行される、本発明の原理構造を表わしたソフトウエアアーキテクチャを示した図であり、
図３および図４、図５は、本発明のシステムによって表示されたイメージを説明するためのスクリーン図である。
【００１０】
発明の詳細な説明
図１は、本発明の原理に従ったコンピュータシステム１０のブロック図である。図１中では、プロセッサ１０２が、データ記憶デバイス１０４に接続される第１の双方向端子を有し、さらにネットワークインターフェース回路（ＮＩＣ）１０６に対応すべく接続される１つまたは複数のさらなる双方向端子を有している。前記各ネットワークインターフェース回路１０６は、対応するネットワーク１０４に接続されている。前記ネットワーク１１４は、例えば患者センサからディスプレイまでの所要待ち時間が２００ｍｓ以下の患者エリアネットワークや待ち時間が秒レベルのオーダーにあるワードエリアネットワーク（ｗａｒｄ ａｒｅａ ｎｅｔｗｏｒｋ）などのリアルタイムネットワークを含み、および／またはリアルタイムでの待ち時間要求をもたないホスピタルネットワークを含み得る。１つまたは複数のネットワーク１０４、ホスピタルネットワークの殆どは、インターネットなどのようなワイドエリアネットワークに対するブリッジ（図示せず）を含んでいる。ユーザー入力信号のソース１０８は、プロセッサ１０２の第１の入力端子に接続され、リアルタイム入力信号のソース１１０は、プロセッサ１０２の第２の入力端子に接続されている。プロセッサ１０２の出力端子は、ディスプレイデバイス１１２の入力端子に接続されている。
【００１１】
作動中にプロセッサ１０２は、データ記憶デバイス１０４からプログラムコードとデータを受取る。このプロセッサ１０２は、受信したプログラムコードの方向性のもとでシステム１０の動作を制御する。このプログラムコードのアーキテクチャの詳細は以下で説明する。基本的にはプロセッサ１０２は、リアルタイムデータをリアルタイムデータソース１１０および／またはリアルタイムネットワーク１１４から受取り、リアルタイムデータを表わすイメージの表示のためにディスプレイデバイス１１２を調整する。例えばリアルタイム信号ソース１１０および／またはリアルタイムネットワーク１１４は、患者に接続させる目的の電極を有するＥＣＧモジュールを含み得る。この電極からの信号は、プロセッサ１０２によって処理され、またプロセッサ１０２はリアルタイムの１２リードＥＣＧを表わすイメージの表示のためにディスプレイデバイス１１２を調整する。医療用監視システムでの要求によれば、このリアルタイムの表示は、ＥＣＧモジュールからのデータの受取りからそのデータのディスプレイデバイス１１２上への表示までの待ち時間が最大でも２００ｍｓであり、実質上最大限の信頼性を有していなければならない。
【００１２】
プロセッサ１０２は、さらにユーザー入力信号ソース１０８からのユーザー入力信号を監視する。このユーザー入力信号は、例えばキーボードやマウス（図示せず）あるいはその他の入力デバイスから供給される。プロセッサ１０２は、このユーザー入力信号に応じてシステム１０を制御する。このユーザー入力信号は、リアルタイムイメージの表示のサイズなどの比やロケーション（例えば１２のリードＥＣＧイメージ）および／またはノンリアルタイムデータの選択や表示を制御できる。例えばユーザー入力信号ソース１０８を介してユーザーから受取った識別情報に応じて、ノンリアルタイムアプリケーションプログラムを実行し、それによってノンリアルタイムデータがデータ記憶デバイス１０４の特定のファイルから検索されたり、ネットワーク１１４上の特定の場所、例えば院内ＬＡＮサーバーから患者カルテデータ、検査結果、Ｘ線画像などが検索されたり、ＮＩＣ（Ｎｅｔｗｏｒｋ ｉｎｔｅｒｆａｃｅ ｃｉｒｃｕｉｔｓ）１０６を介したインターネットからのその他のデータが検索される。コントローラ１０２は、検索したノンリアルタイムデータおよび／またはユーザー入力信号ソース１０８から受取ったその他のデータを表わすイメージを、リアルタイムデータソース１１０および／またはリアルタイムネットワーク１１４からのリアルタイムデータを表わすイメージと同時に、ディスプレイデバイス１１２上に表示させるために、ディスプレイデバイス１１２を調整する。このプロセッサ１０２は、全体として、以下でも詳細に説明するように、ユーザー入力信号ソース１０８からのユーザー入力信号に応じてシステム１０の動作を制御している。
【００１３】
有利な実施例によれば、プロセッサ１０２は、ウィンドウィングオペレーティングシステムの制御下で動作しており、さらに図示の実施例においては、このウィンドウィングオペレーティングシステムがマイクロソフト社のＮＴオペレーティングシステムである。図２には、システム１０を制御すべくプロセッサ１０２によって実行されるプログラムコードのアーキテクチャが示されている。オペレーティングシステム（以下では単に“ＯＳ”とも称する）２０２は、システム２０上で実行される他のソフトウエアモジュールの全てに共通する機能およびデータからなる、ソフトウエアシステム２０の残りに対するサービスを提供している。例えば、マルチプロセッシングに必要なメッセージ転送システムやグラフィックディスプレイインターフェースは、ＯＳ２０２において管理されている。さらにプロセスおよびスレッドが開始／終了され、メモリは、プロセスおよび／またはスレッドに割当てられ、プロセスおよび／またはスレッドから解除される。
【００１４】
つまりソフトウエアシステム２０の動作に関するパラメータは、オペレーションシステム２０２において管理されている。例えば特にプロセッサの総体的使用に関するデータ、各プロセスおよびスレッド毎のメッセージ待ち行列の長さ、入手可能なメモリ、仮想メモリページアクセスフォルト、ワーキングセットサイズやページングレート、プロセス／スレッドに割当てられたハンドルカウント、各プロセス／スレッドによて使用されるプロセッサタイムの割合、ネットワーク１１４上のデータ転送レート、ユーザー入力信号に対する各プロセッサ／スレッドの応答性等が定められ、ＯＳ２０２に記憶される。つまりハードウエアシステム１０の物理的パラメータをＯＳ２０２の制御の下で回路構成によって受取らせ、それらのパラメータのデータがＯＳ２０２に記憶される。例えばＣＰＵチップ温度や電源電圧、ハードディスクの使用経過時間、ハードディスク記憶領域の空きスペースなどのデータがＯＳ２０２内で管理される。
【００１５】
基本的に、プログラム２０は、３層構造のアーキテクチャである。第１の層は、共通のソフトウエアアーキテクチャ２０４であり、これはアプリケーションパッケージ（２０６および２０８）とＯＳ２０２との間のソフトウエアインターフェースを提供している。この共通のソフトウエアアーキテクチャ２０４は、アプリケーションプログラムのためのアプリケーションプログラムインターフェース（ＡＰＩｓ）を提供する。このアプリケーションプログラムインターフェースの提供によってオペレーティングシステムは、プログラミングアプリケーションのタスクを簡単にする。メモリのスレッドやアロケーションの開始の要求などの機能は、周知のようなシンプルファンクションコールを通じてアプリケーションプログラムに提供される。
【００１６】
共通のアプリケーションパッケージ２０６と特定のアプリケーションパッケージ２０８は、第２の層を形成している。共通のアプリケーションパッケージ２０６は、オペレーティングシステムのプロバイダによって提供されるアプリケーションに関するものである。それらは当該オペレーティングシステムの大半のユーザーないしは全てのユーザーによって使用される基本アプリケーションである。この共通のアプリケーションパッケージ２０６には、テキストエディッタやイメージビュアー、ＨＴＭＬビュアー（ウエブブラウザ）などが含まれる。さらにこの共通のアプリケーションパッケージの部分は、特定のアプリケーションパッケージ２０８によって使用され得る。特定のアプリケーションパッケージ２０８は、システムによって要求される特定機能を提供する。基本的に単独の特定パッケージ２０８は、所期の特定処理を提供する。共通のアプリケーションパッケージ２０６と特定のアプリケーションパッケージ２０８は、共通のソフトウエアアーキテクチャ２０４においてアプリケーションプログラムインターフェースＡＰＩｓを介してオペレーティングシステムサービスを受取り、共通のヒューマンインターフェース２１０と通じてディスプレイデバイス１１２上に表示すべきイメージを生成する。このヒューマンインターフェース２１０は、第３の層を形成している。このヒューマンインターフェース２１０は、オペレーティングシステムのパートとして提供され、周知のようにデ、ィスプレイデバイス１１２上にイメージを生成するために、共通のアプリケーションプログラム２０６と特定のアプリケーションプログラム２０８を可能にするための他のアプリケーションプログラムインターフェースＡＰＩを提供する。
【００１７】
ソフトウエアアーキテクチャ２０の部分は、ウィンドウズＮＴオペレーティングシステム上で実行されるノンリアルタイムプログラムのための標準アーキテクチャである。このソフトウエアアーキテクチャの部分は、単独で実行可能なものとして実行される。これらは前述した種々のＡＰＩｓによる機能とも呼ばれ、スパーニング（ｓｐａｗｎｉｎｇ）タスクやスレッド、要求されたメモリ要求や復帰などである。
【００１８】
図示の実施例では、付加的なプロセス２１２が、リアルタイムＥＣＧ信号をリアルタイム信号ソース１１０および／またはリアルタイムＬＡＮ１１４から受取り、受取ったリアルタイムＥＣＧを以下でさらに詳述するように、受信信号に対応する１２のリードＥＣＧを表わす、ディスプレイデバイス１１２用のイメージを生成するために処理する。このリアルタイム表示プロセス２１２は、オペレーティングシステムサービスをＯＳ２０２のみから受取る。それには共通のソフトウエアアーキテクチャ２０４や共通のヒューマンインターフェース２１０のサービスは使用されない。このプロセスは第２の実行可能な独立したプロセスとして実施されるが、但しノンリアルタイムで実行可能な前述した手法でコーディネートされる。さらにまた、このリアルタイムプロセス２１２は、最小の待ち時間を保証するディスプレイイメージの生成のために、データソースからの受信データを処理するシングルスレッドとして実行される。
【００１９】
以下の操作パラメータの全ては、ウインドウズＮＴ環境に関するものである。その他のウィンドウィングオペレーティングシステムは、類似のパラメータを有している。図示の実施例では、全てのノンリアルタイムアプリケーション、および当該アプリケーションに因る全てのプロセスおよびスレッドは、１３よりも少ない優先度を割当てられ、リアルタイムプロセス２１２は、ノンリアルタイムプロセスのプロセスやスレッドよりも高い優先度（＞１３）を割当てられ、これはより高い優先度のリアルタイムアプリケーションから与えられる。それ故に、リアルタイムディスプレイプロセス２１２は、所定のレートでＯＳ２０２からのメッセージを処理する。当業者にとっては、リアルタイムディスプレイプロセス２１２に送られる全てのメッセージが適切に処理されることが保証されることは理解される。なぜならリアルタイムプロセスは、より高い優先度を有しており、ノンリアルタイムスレッドによって中断されることがないからである。
【００２０】
さらにノンリアルタイムのプロセスとスレッドに対する“アプリケーションブースト”パラメータが“Ｎｏｎｅ”にセットされる。リアルタイムネットワーク１１４は、ハブの目的でＬＡＮスイッチを使用しなければならない。ルータはこのネットワーク１１４内では許容されない。このコンピュータ環境はさらに割込サービスルーチンと据置き手続き呼出しの呼出しを最小限に抑えるべく制御される。リアルタイムプロセス２１２のためのワーキングセット（仮想メモリ環境のメモリページを含ませるのに用いられるページフレーム）は、ＯＳ２０２のデバイスドライバを用いてロックダウンされ、それによってこのワーキングセットは、仮想メモリスワップ中に記憶デバイス１０４にスワップアウトされることはない。最終的にＯＳ２０２内のプローブは、グラフィックスデバイスインターフェース（ＧＤＩ）エンジンの例と、それに割当てられているリアルタイムプロセス２１２によって排他的に使用されるリソースをロックダウンする。
【００２１】
図２に示されているアーキテクチャ２０は、実行可能な２つのアーキテクチャを含んでおり、１つはノンリアルタイムデータのハンドリングのためのものであり、もう１つはリアルタイムデータのハンドリングのためのものである。これらのアーキテクチャは、次のような利点を提供する。すなわちまず第１に、提供される実行可能な頑強性が分離される。つまりＯＳ２０２によって管理される２つの別個のメッセージ待ち行列が存在する。１つの待ち行列がブロックされると、他が動作する。第２にディスプレイデバイス１１２が２つの別個の独立したグラフィカルディスプレイインターフェースによって駆動される。共通のヒューマンインターフェース２１０は、シングルウインドウディスプレイインターフェースのみを提供し、その中で異なるウインドウが、子から親へそしてもう一度親から子へ戻されるメッセージおよび／またはイベントの伝播が要求される親子関係の中でアレンジされる。リアルタイムディスプレイプロセスのための別個のグラフィカルインターフェースの提供によって、メッセージおよび／またはイベント伝播を低減し信頼性を向上させる、他のウィンドウを有する親子関係は何も存在しない。このことは、リアルタイム信号ソース１１０からのリアルタイムデータの受取りからそれらのデータを表わすイメージのディスプレイデバイス１１２上での表示までの待ち時間を順次低減する。
【００２２】
当業者にとっては、ユーザーによる読取り性と制御性を向上させるために、次のことが望まれることが理解できる。すなわち共通のヒューマンインターフェース２１０の制御下で生成されるノンリアルタイムの“ルック（ｌｏｏｋ）”と同じかもしくは類似のように、リアルタイムディスプレイプロセス２１２のグラフィカル“ルック（ｌｏｏｋ）”の作成が望まれる。図示の実施例では、リアルタイムディスプレイプロセス２１２によって生成されるグラフィカルインターフェースが、共通のヒューマンインターフェース２１０によって生成されるグラフィカルインターフェースと、グラフィックに統合化させるべく設計されている。より特定的には、図示の実施例では、リアルタイムディスプレイプロセス２１２と共通のヒューマンインターフェース２１０の両方のグラフィカルインターフェースがタブカードパラダイムを使用する。組合わされたディスプレイを生成するためのプロセスは、以下で詳細に説明する。この分野の当業者には、前記“ルック”の詳細が本願発明なのではなく、単にそれらがノンリアルタイム／リアルタイム処理と同じか類似のものであることが容易に理解できる。
【００２３】
リアルタイムプロセス２１２によって生成されたイメージは、オペレーティングシステム２０２に組込まれているグラフィックスデバイスインターフェース（以下では単にＧＤＩとも称する）エンジンを用いることにより、ノンリアルタイムプロセス２０４，２０６，２０８，２１０によって生成されたイメージと結合される。当業者には、このＧＤＩエンジンがアプリケーションからイメージ描写命令を受取ることは容易に理解される。この命令に応じて、ＧＤＩは、アプリケーションプログラムの結合イメージを描写するために、ハードウエアビデオアダプタ（図示せず）のビデオメモリに記憶されている値をアップデートする。ビデオアダプタは、ビデオメモリの内容に応じてディスプレイデバイス１１２のためにビデオ信号を順次生成する。
【００２４】
リアルタイムプロセス２１２は、慣用的な手法で、ＯＳ２０２から識別用グラフィックスハンドルを要求し受取る。シングルスレッドリアルタイムプロセス２１２は、リアルタイム信号をリアルタイム信号ソース１１０から受取り、割当てられたグラフィクスハンドルによって識別し、所期のリアルタイムイメージを表示するためにＧＤＩエンジンのための命令を生成する。ＧＤＩエンジンは、リアルタイムプロセス２１２と同じ高さの優先度を割当てられているので、ノンリアルタイムアプリケーションによって中断されることはない。ＧＤＩエンジンは、ディスプレイデバイスドライバを介して、リアルタイムイメージとノンリアルタイムイメージの結合的表示を行うためにディスプレイデバイス１１２を順次調整する。
【００２５】
より詳細には、図示の実施例では、リアルタイムシングがＥＣＧ信号であり、リアルタイムディスプレイプロセススレッドは、ＥＣＧ電極信号をリアルタイム信号ソース１１０またはリアルタイムＬＡＮ１１４から受取り、１２のＥＣＧリード信号の瞬時の波形イメージを表わすビットマップを生成する。リアルタイムプロセススレッド２１２は、ＯＳ２０２のＧＤＩを直接呼出し、それに対して、ディスプレイデバイス１１２のビデオメモリへビットマップを転送するための命令を与える（ｂｉｔ ｂｌｏｃｋ ｔｒａｎｓｆｅｒ ｉｎｓｔｒｕｃｔｉｏｎ）。ＧＤＩエンジンは、ビデオアダプタのビデオメモリの対応する場所にビットマップを転送する。
【００２６】
この技法を使用することにより、リアルタイムイメージは、ＯＳ２０２のＧＤＩによって提供されるのと同じ“ルック”の使用下でノンリアルタイムイメージに統合される。当業者にとっては、ディスプレイデバイスアダプタとの直接のインターフェースが可能なことは容易に理解される。つまりこのことは多くのセキュリティと信頼性の問題を存在させる。さらに当業者には、“ｄｉｒｅｃｔＸ”などの他のインターフェース手法が、ビデオアダプタへの信号を表わすイメージの提供のために使用できることも容易に理解され得る。
【００２７】
図３は、本発明によるリアルタイムディスプレイプロセスの制御下でシステムによって表示されるリアルタイムイメージを表わしたスクリーンダイヤグラムである。この図３では、典型的な１２のリードＥＣＧイメージが描写されている。図３では、ディスプレイデバイス１１２がＣＲＴの画面のようなディスプレイスクリーン１１３を含んでおり、これが１２のリアルタイム波形の各イメージ３０２（Ｉ，ＩＩ，ＩＩＩ，ａＶＲ， ａＶＬ， ａＶＦ， Ｖ１， Ｖ２， Ｖ３， Ｖ４， Ｖ５， Ｖ６）を表示している。これらの波形は、前述したように待ち時間リミット（２００ｍｓ）内でリアルタイムにアップデートされる。これらの波形は、割当てタブ３０６を備えたタブページ３０４に含まれるような形態で表示されていて、当該割当てタブ３０６はその対応するページ内容を特定する表示（“患者ビュー”）を含んでいる。付加的なタブ３１２は、以下で詳細に説明する。
【００２８】
図４のディスプレイスクリーン１１３には、タブページ３１０に表示されている胸部Ｘ線のノンリアルタイムディスプレイイメージ３０８が示されている。このタブページ３１０には、対応するページ内容を特定する表示（“カスタムビュー”）を含んだ対応タブ３１２が含まれている。このタブページ３１０は、タブ３０６に対応するリアルタイムデータタブページを完全に覆うように重ね合わされている。当業者にとっては、図４に示されているイメージは単独のタブページのみを表わしているが、同時に入手可能な２以上のそれぞれ異なったノンリアルタイムデータを表わすタブページも表わすことができるものであることは容易に理解される。さらに各タブページは２以上のウインドウでも同時に表示でき、各表示部にはそれぞれのノンリアルタイムデータを表わすイメージが表示される。例えば前述したように、テキスト形式の検査結果（ｔｅｘｔｕａｌ ｌａｂ ｒｅｓｕｌｔ）やウエブページが、異なるタブページ上で表示されてもよいし、ウインドウズＮＴオペレーティングシステムに制御されるやり方で、単独のタブページにウインドウが重ねられる形式で表示されてもよい。
【００２９】
前述した、当該分野の当業者には既に周知のように、ノンリアルタイム処理ソフトウエアの誤動作の可能性もある。そのような出来事が起きた場合には、リアルタイム（ＥＣＧ）情報に対して、ディスプレイデバイス２１２上に表示されるノンリアルタイム情報のイメージによる観測からブロックすることも可能である。例えば、プログラムアーキテクチャ２０のノンリアルタイム部分（２０４，２０６，２０８，２１０）に誤動作が生じた時には、図４に示されているイメージの表示に対して、リアルタイムＥＣＧデータ３０２を表わすイメージを、隠すことも可能である。この問題に対する解決手段の提供のために、ＯＳ２０２は、ユーザー入力信号ソース１０８からのデータに応答すべく、図３に示されているようなリアルタイム信号ソース１１０からのリアルタイム情報を表わすイメージ３０２を表示するタブページ３０４を立上げるように調整する。例えば、キーボード上の特定のキーやキーの組合せ（例えばＣｏｎｔｏｒ＋Ｒなど）操作がＯＳ２０２によって認識され、そしてそれらが認識された場合に、リアルタイムディスプレイプロセス２１２によって生成されるリアルタイム表示３０２が、フリーズされたノンリアルタイムイメージ３０８の一番上に表示される。この特定のキーまたはキーの組合せは、“ホットキー”と呼ばれ、これを実行するために必要な機能はウインドウズＮＴオペレーティングシステムの一部である。
【００３０】
別の状況においては、リアルタイム情報を表わすイメージは、ノンリアルタイム情報を表わすイメージによって部分的に覆い隠される。図５は、リアルタイムイメージ３０２の描写されたスクリーンダイヤグラムであり、その上にはテキスト形式の検査結果を含んだウインドウ３１４が表示されている。このウインドウ３１４は、ソフトウエアアーキテクチャ２０のノンリアルタイム部分（２０４，２０６，２０８，２１０）によって生成されたものであり、リアルタイムイメージ３０２を部分的に覆い隠している。可視的に残存するリアルタイムイメージ３０２の部分は、リアルタイム信号ソース１１０から受取ったリアルタイムデータの表示のために継続される。しかしながらウインドウ３１４下に隠れているリアルタイム部分は見えない。プログラムアーキテクチャ２０のノンリアルタイム部分（２０４，２０６，２０８，２１０）が誤動作した場合には、図５に示されているイメージの表示に対して、ウインドウ３１４によって覆われたリアルタイムＥＣＧデータ３０２を表わすイメージ部分が隠されてしまう。このようなケースでは、ウインドウ３１４外側のディスプレイスクリーン１１３領域におけるマウスクリックを表わす、ユーザー入力信号ソース１０８からの信号によってオペレーティングシステム２０２がそのことを認識し、それに応じて全体が見られるように操作される。それとは代替的に、前述したようなホットキーコンビネーションを、リアルタイムイメージ３０２が見えるようにするための活動化に利用してもよい。
【００３１】
つまり、ノンリアルタイム部分が誤動作しているか誤動作の危険性を示す徴候の識別のために、ソフトウエア（２０）のノンリアルタイム部分の動作を監視することも実現可能である。そうすれば、そのような表示や指示に応じて、誤動作を自動的に補正したり取除くなどの手法でノンリアルタイム部分を制御することが可能となる。
【００３２】
当業者にとっては、ノンリアルタイムプロセスがリアルタイムプロセス動作とのインターフェースを許可すべきでないことも容易に理解できる。つまり上述したように、アプリケーションプログラムの動作やオペレーティングシステム／コンピュータシステムに関する情報は、基本的にはＯＳ２０２が管理する。但し、標準動作の間は、オペレーティングシステムは、この情報を監視したり、この情報の値に基づいた何らかの機能を実行することはない。
【００３３】
図２に示されているアーキテクチャ２０は、さらにソフトウエアおよびハードウエアモニタ２１４を含んでいてもよい。このモニタ２１４は、ＯＳ２０２において管理されている情報（前述したような）を監視する。それによってこのモニタ２１４は、ＯＳ２０２における情報の値に基づいたアクションを起こすことができる。ここでのモニタ処理２１４は、最大限の信頼性を保証するために、非常にシンプルに構成され、それがいつでも実行可能となるようにするために、最も高い優先度か非常に高い優先度が割当てられる。
【００３４】
基本的にＯＳ２０２は、種々のリソースの使用状態を表示することも管理している。モニタ処理２１４は、ＯＳ２０２からの使用値を検索し、使用可能なリソースの量を監視する。この使用可能なリソース量が、非常に危険な低レベルまで減少した場合には、修正アクションが起動される。例えば有利には、ノンリアルタイムプロセスが終了され、それらのプロセスによって使用されているリソースを、リアルタイム処理に使用できるように開放する。このことは、ノンリアルタイムプロセスの１つが誤動作している場合にも当てはまり、その時には当該プロセスが終了される。終了されたプロセスは、その後で自動的に適宜再スタートされる。また代替的に、問題が発生していることをユーザーに警告する通知を送信してもよい。この場合にはユーザーは、そのような警告に応じて修正アクションを起こすことが可能となる。
【００３５】
また有利には、リソースの複数のグループがプロセスモニタ２１４によって監視されてもよい。例えば基本リソースの使用可能性、システムリソースの使用可能性、コンピュータリソースの使用可能性、ノンリアルタイムプロセスの動作、タスク、スレッドなどである。以下の４つのテーブルは、それぞれモニタプロセス２１４によって監視されるリソースグループを表わしたものである。各テーブル内では、第１列が監視されるリソースを表わしている。第２列は、チェックの説明が述べられている（例えばなぜそれが重要なのか、どのような作用を有するか、どのように監視されるかなど）。第３列は、そのリソースの故障／障害を指示するパラメータが述べられている。それ以外の指示がない限りは、それらのパラメータは可変であり、いずれかの閾値は、いつでもユーザーによって変更され得る。さらに当業者にとっては、特定の数によって表わされているそれらのパラメータが図示の実施例に関するだけのものであって、許容し得る数の範囲でそれらのパラメータが使用できることも容易に理解できる。第４列は、故障が指示された時になされるアクションを述べている。具体的には、テーブル１は、メモリリソースのチェックを表わしたものであり、テーブル２は、システムリソースのチェックを表わしたものであり、テーブル３は、コンピュータリソースのチェックを表わしたものであり、テーブル４は、プロセスチェックを表わしたものである。
【００３６】
【表１】
2004513588.tif 000003
【００３７】
【表２】
2004513588.tif 000004
【００３８】
【表３】
2004513588.tif 000005
【００３９】
【表４】
2004513588.tif 000006
【００４０】
前述したような形のシステム動作は、ハイレベルの信頼性と最小の待ち時間で、ノンリアルタイムデータを表わすイメージと同時にリアルタイムデータを表わすイメージの表示を可能にする。
【図面の簡単な説明】
【図１】
図１は、本発明の原理によるコンピュータシステムを表わしたブロック図である。
【図２】
システムを制御するプロセッサ上で実行される、本発明の原理構造を表わしたソフトウエアアーキテクチャを示した図である。
【図３】
本発明のシステムによって表示されたイメージを説明するためのスクリーン図である。
【図４】
本発明のシステムによって表示されたイメージを説明するためのスクリーン図である。
【図５】
本発明のシステムによって表示されたイメージを説明するためのスクリーン図である。
【図１】
2004513588.tif 000007
【図２】
2004513588.tif 000008
【図３】
2004513588.tif 000009
【図４】
2004513588.tif 000010
【図５】
2004513588.tif 000011
【国際公開パンフレット】
2004513588.tif 000012
2004513588.tif 000013
2004513588.tif 000014
2004513588.tif 000015
2004513588.tif 000016
2004513588.tif 000017
2004513588.tif 000018
2004513588.tif 000019
2004513588.tif 000020
2004513588.tif 000021
2004513588.tif 000022
2004513588.tif 000023
2004513588.tif 000024
2004513588.tif 000025
2004513588.tif 000026
2004513588.tif 000027
2004513588.tif 000028
2004513588.tif 000029
2004513588.tif 000030
2004513588.tif 000031
2004513588.tif 000032
2004513588.tif 000033
2004513588.tif 000034
2004513588.tif 000035
2004513588.tif 000036
2004513588.tif 000037
2004513588.tif 000038
2004513588.tif 000039
2004513588.tif 000040
2004513588.tif 000041
2004513588.tif 000042
2004513588.tif 000043
2004513588.tif 000044
2004513588.tif 000045
2004513588.tif 000046
【国際公開パンフレット（コレクトバージョン）】
2004513588.tif 000047
2004513588.tif 000048
【手続補正書】
【提出日】平成14年11月12日(2002.11.12)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
リアルタイムデータを表わすイメージとノンリアルタイムデータを表わすイメージの各々を同時に表示するためのシステムにおいて、
リアルタイムデータを表わす信号のソースと、
ノンリアルタイムデータを表わす信号のソースと、
イメージを表示するためのディスプレイデバイスと、
前記リアルタイムデータソースおよびノンリアルタイムデータソース並びにディスプレイデバイスに直接的に接続されているプロセッサとを有しており、
前記プロセッサは、以下のように構成されている、すなわち、
ウィンドウィングオペレーティングシステムが実行され、
前記ウィンドウィングオペレーティングシステムは、ノンリアルタイムデータ受信のためのアプリケーションプログラムの動作を制御し、さらにノンリアルタイムデータを表わすイメージを表示するディスプレイデバイスを調整し、
前記オペレーティングシステムの実行とは無関係に、リアルタイムデータ受信のためのリアルタイム表示プロセスが実行され、
ノンリアルタイムデータの表示と同時に、リアルタイムデータを表わすイメージを表示するためにディスプレイデバイスが調整されるように構成されていることを特徴とするシステム。
【請求項２】
前記リアルタイムデータソースは、所定の待ち時間リミットを伴うネットワークであり、前記リアルタイム表示プロセスは、リアルタイムデータを受取り、所定の待ち時間リミット内でリアルタイムデータを表わすイメージを表示する、請求項１記載のシステム。
【請求項３】
前記リアルタイム表示プロセスは、シングルスレッドとして実行される、請求項１記載のシステム。
【請求項４】
前記リアルタイム表示プロセススレッドは、アプリケーションプログラムよりも高い優先度を割当てられる、請求項３記載のシステム。
【請求項５】
前記ウィンドウィングオペレーティングシステムは、所定のイメージを表示するディスプレイデバイスの調整のためのグラフィックスディスプレイインターフェースを提供するように構成され、リアルタイムディスプレイプロセススレッドは、リアルタイムイメージを表示するためのグラフィックスディスプレイインターフェースに対する命令を提供する、請求項３記載のシステム。
【請求項６】
アプリケーションプログラムが誤動作すると、ノンリアルタイムデータを表わすイメージがリアルタイムデータを表わすイメージを覆い、当該システムは、さらにユーザー入力信号のソースを含み、前記プロセッサは、ユーザー入力信号に応じて、リアルタイムデータを表わすイメージを見せるように構成されている、請求項１記載のシステム。
【請求項７】
前記ユーザー入力信号ソースは、キーボードからなり、ユーザー入力信号は、キーコンビネーションからなっている、請求項６記載のシステム。
【請求項８】
前記ユーザー入力信号ソースは、マウスからなり、ユーザー入力信号は、マウスクリック動作情報からなっている、請求項６記載のシステム。
【請求項９】
ウィンドウ処理オペレーティングシステムは、リソースの使用率に関する情報を管理し、さらに前記プロセッサは、リソース情報を監視し、リソース使用率が所定レベル以下であることをリソース情報が指示した場合に修正アクションを行うモニタプロセスを実行するように構成されている、請求項１記載のシステム。
【請求項１０】
前記リソース情報は、ウィンドウィングオペレーティングシステムによって管理され、この場合メモリリソースとシステムリソースとコンピュータリソースとプロセスリソースに関する情報が管理される、請求項９記載のシステム。
【請求項１１】
前記プロセッサは、アプリケーションプログラムの実行パラメータ変更することと、アプリケーションプログラムを終了させることと、ユーザーに通知を送信することからなるアクションを行うように構成されている、請求項９記載のシステム。
【請求項１２】
リアルタイムデータを表わすイメージとノンリアルタイムデータを表わすイメージの各々を同時に表示するための方法において、
プロセッサが、リアルタイムデータソースおよびノンリアルタイムデータソース並びにディスプレイデバイスに直接的に接続され、以下のステップを実行する、すなわち、
ノンリアルタイムデータを受取るステップと、
リアルタイムデータを受取るステップと、
ノンリアルタイムデータ受信のためのアプリケーションプログラムの動作制御と、ノンリアルタイムデータを表わすイメージを表示するディスプレイデバイスの調整のために、ウィンドウィングオペレーティングシステムを実行するステップと、
ノンリアルタイムデータの表示と同時に、リアルタイムデータを表わすイメージを表示するディスプレイデバイスの調整のために、ウィンドウィングオペレーティングシステムとは無関係にリアルタイム表示プロセスを実行するようにしたことを特徴とする方法。
【請求項１３】
リアルタイム表示プロセスを信号スレッドとして実行するステップが含まれる、請求項１２記載の方法。
【請求項１４】
前記リアルタイム表示プロセスにアプリケーションプログラムよりも高い優先度が割当てられるステップが含まれる、請求項１３記載の方法。
【請求項１５】
前記ウィンドウィングオペレーティングシステムの実行ステップに、イメージ生成のための命令を受信するグラフィックスディスプレイインターフェースの実行ステップが含まれ、リアルタイムディスプレイプロセス実行ステップには、リアルタイムデータを表わす各イメージを表示するためのグラフィックスディスプレイインターフェースに対する命令を提供するステップが含まれている、請求項１２記載の方法。
【請求項１６】
アプリケーションプログラムが誤動作した場合に、ノンリアルタイムデータを表わすイメージによってリアルタイムデータを表わすイメージが覆われるステップが含まれ、さらにユーザー入力データを受取るステップと、ユーザー入力データに応じて、リアルタイムデータを見せるステップが含まれる、請求項１２記載の方法。
【請求項１７】
キーボードからのキーコンビネーションを受取るステップからなる、ユーザー入力データを受取るステップが含まれている、請求項１６記載の方法。
【請求項１８】
マウスからのマウスクリック動作情報を受取るステップからなる、ユーザー入力データを受取るステップが含まれている、請求項１６記載の方法。
【請求項１９】
リソースの使用率に関する情報を管理するステップからなる、ウィンドウィングオペレーティングシステムの実行ステップと、リソース情報の監視と、リソース使用率が所定レベル以下であることをリソース情報が指示した場合に修正アクションを行うためのモニタプロセスを実行するステップが含まれている、請求項１２記載の方法。
【請求項２０】
前記リソース情報を監視するステップに、メモリリソースを監視するステップとシステムリソースを監視するステップとコンピュータリソースを監視するステップとプロセスリソースを監視するステップが含まれている、請求項１９記載の方法。
【請求項２１】
前記修正アクションを行うステップに、アプリケーションプログラムの実行パラメータ変更するステップと、アプリケーションプログラムを終了させるステップと、ユーザーに対する通知を送信するステップが含まれている、請求項１９記載の方法。
【国際調査報告】
2004513588.tif 000049
2004513588.tif 000050
2004513588.tif 000051