(57)【特許請求の範囲】
【請求項１】
複数の計算機コンポーネントで構成される情報処理装置において、
複数の計算機コンポーネント間は割込み信号線を含む通信バスによって結合され、
前記計算機コンポーネントは、外部から情報を受けた場合に該情報が所定の時間的制約を有するかどうかを判定する転送判定手段と、
前記外部からの情報を、前記転送判定手段の判定結果に応じて処理する処理部と、
該処理部の処理に従って前記外部からの情報を、通信バスを介して他の計算機コンポーネントに転送するコンポーネント間通信部を備え、
前記処理部は、前記転送判定手段において前記外部からの情報が所定の時間的制約を有すると判定した場合に直ちに対応する他の計算機コンポーネントへの割込み信号線をアサートして情報を転送させる第１の処理部と、前記外部からの情報が所定の時間的制約を有しないと判定した場合に該情報を割込み信号線をアサートすることなく転送させるように処理する第２の処理部とを有することを特徴とする情報処理装置。
【請求項２】
請求項１記載の情報処理装置において、
前記情報の転送先である他の計算機コンポーネントは、前記割込み信号線をアサートされて前記情報を受けると、優先的に前記情報を処理することを特徴とする情報処理装置。
【請求項３】
複数の計算機コンポーネントで構成される情報処理装置において、
前記計算機コンポーネントは、
データ入力部と、
優先度設定が可能な一つまたは複数のキューを有し、優先度の高いキューに入力されたパケットを優先的に他の計算機コンポーネントへ送信する送信部と、
前記データ入力部から受信したパケットが直ちに他の計算機コンポーネントに転送すべきパケットであるかを判定し、直ちに他の計算機コンポーネントへ転送すべきであると判定した場合は前記送信部の有するキューのうち、優先度の高いキューへとパケットを転送するリアルタイム転送判定部と、
前記リアルタイム転送判定部が、前記データ入力部から受信したパケットが直ちに他の計算機コンポーネントに転送すべきパケットであると判定したことを、パケットの送信先である計算機コンポーネントへ伝達する伝達手段と、
前記データ入力部から受信したパケットが、直ちに他の計算機コンポーネントに転送すべきパケットでないと判定した場合に、前記送信部の優先度の低いキューにパケットを入力する処理部と
を有することを特徴とする情報処理装置。
【請求項４】
請求項３記載の情報処理装置において、前記送信先である計算機コンポーネントは、前記伝達手段によって前記リアルタイム転送判定部の判定結果を伝達されて受信したパケットを優先度の高いキューで受信することを特徴とする情報処理装置。
【請求項５】
請求項４記載の情報処理装置において、
前記リアルタイム転送判定部は、前記データ入力部から受信したパケットが直ちに他の計算機コンポーネントに転送すべきパケットであるかどうかを判定するための判定基準を記憶する判定基準記憶部と、前記判定基準記憶部へ判定基準を設定する判定基準設定部とを有することを特徴とする情報処理装置。
【請求項６】
請求項５記載の情報処理装置において、
計算機コンポーネント上にコネクタを設けて、外部の情報処理装置と接続し、前記判定基準設定部へ前記判定基準を設定することを特徴とする情報処理装置。
【請求項７】
請求項３記載の情報処理装置において、
前記伝達手段が、前記計算機コンポーネント間を接続するバス上の割込み信号線であることを特徴とする情報処理装置。
【請求項８】
請求項３記載の情報処理装置において、
前記計算機コンポーネントは、時間情報を計時できる計時部と、前記計時部の計時機能を利用して、各機能部での事象の発生時刻を記録する処理時間記録部と、を有することを特徴とする情報処理装置。
【請求項９】
請求項８記載の情報処理装置において、
前記処理時間記録部から情報を取得して表示する表示手段を有する情報処理装置。
【請求項１０】
請求項３記載の情報処理装置において、
前記計算機コンポーネントは、前記リアルタイム転送判定部が、前記データ入力部から受信したパケットが直ちに他の計算機コンポーネントに転送すべきパケットであると判定した場合に、前記データ入力部から受信したパケットに関わる情報と転送先の計算機コンポーネントに関わる情報を記録する稼働状況記録部を有することを特徴とする情報処理装置。
【請求項１１】
請求項１０記載の情報処理装置において、
前記稼働状況記録部から情報を取得して表示する表示手段を有する情報処理装置。
【請求項１２】
複数の計算機コンポーネントで構成される情報処理装置の情報処理方法において、
計算機コンポーネント間が割込み信号線を含む通信バスによって結合されていて、
外部から情報を受けた計算機コンポーネントは、該情報が所定の時間的制約を有するかどうかを判定し、所定の時間的制約を有すると判定した場合は直ちに対応する他の計算機コンポーネントへの割込み信号線をアサートして情報を転送し、
前記情報が所定の時間的制約を有しないと判定した場合に、他の計算機コンポーネントへの割込み信号線をアサートすることなく該情報を前記他の計算機コンポーネントへの送信することを特徴とする情報処理方法。
【請求項１３】
請求項１２記載の情報処理方法において、
前記転送先である他の計算機コンポーネントは、前記割込み信号線をアサートされて前記情報を受けると、優先的に前記情報を処理することを特徴とする情報処理方法。
【請求項１４】
複数の計算機コンポーネントで構成される情報処理装置の情報処理方法において、
外部から情報を受けた計算機コンポーネントは、リアルタイム転送判定部と通信部と通信伝達部と処理部を備え、
当該計算機コンポーネントの前記リアルタイム転送判定部において、前記外部から受信した情報が、直ちに他の計算機コンポーネントに転送すべきパケットであるかを判定し、直ちに転送すべきであると判定した場合は、前記通信部が有するキューのうち、優先度の高いキューへと情報を送信し、
前記通信伝達部において、当該優先度の高いキューへ送信された情報が、優先して転送する情報であることを送信先の前記計算機コンポーネントへ通知し、
直ちに他の計算機コンポーネントに転送すべきパケットでないと判定した場合は、前記処理部において前記通信部が有するキューのうち、優先度の低いキューに情報を入力し、送信することを特徴とする情報処理方法。
【請求項１５】
請求項１４記載の情報処理方法において、
前記直ちに転送すべきと判定した情報は処理に制約時間を持つリアルタイム情報であることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数の計算機コンポーネントで構成される情報処理装置に係り、特にリアルタイム情報と非リアルタイム情報が混在する場合の情報処理方式に関する。
【背景技術】
【０００２】
複数の計算機を構成する方式として、バックプレーンで計算機を接続する方法、あるいは個別の計算機に設けられたコネクタ（PC/104-Plusなど）を介して計算機同士を直接接続する方法がある。各計算機間の通信は、所定のプロトコルにしたがった計算機間のバス上の信号によってなされる。
【０００３】
これらの計算機上では、一般にオペレーティングシステム（以下、OSと称す）が稼動し、計算機上の計算機資源を管理する。これらのOSにおいても、その計算機の提供する機能の違いによって、主に２種類の分類が可能である。つまり、リアルタイムOSと非リアルタイムOS（以下、汎用OSと称す）である。前者は主に機器装置の制御を目的とし、OS上のタスクは、そのタスクに固有の時間的制約を保証できるように優先度が設定され、スケジューリングされる。したがって、一般に短い周期で動作する必要のあるタスクは高い優先度が設定される。逆に優先度の低いタスクは長時間に渡ってスケジューリングされない可能性もある。一方、後者では汎用目的のため、タスク間で多少の静的な優先度の違いはあるものの、各タスクは平均的に実行されるように優先度が設定される。
【０００４】
複数の計算機で構成されるシステムにおいては、ある計算機上ではリアルタイムOSが動作し、他の計算機上では汎用OSが動作する場合がある。リアルタイムOSが動作する計算機において、外部の機器装置を制御する場合の制御指令は、同じシステムを構成する他の計算機やネットワークを介して接続された他の計算機から送信される。
【０００５】
【特許文献１】特開2000−132209号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ネットワークに接続された計算機から、ネットワークを介して制御指令のようなリアルタイム性が要求されるパケットが送信され、汎用OSが動作する計算機で、このパケットを受信し、リアルタイムOSが動作する計算機へと転送されることがある。この場合、リアルタイムＯＳ上で動作するタスクへの制御指令の通信遅延は、時間的制約を保証できる長さでなければならない。
【０００７】
しかしながら、汎用OSでのパケットのプロトコル処理や、プロトコル処理タスクの起動タイミングのゆらぎにより、リアルタイムOSが動作する計算機での実際の制御指令において、課せられた時間的制約を保証できないという課題が生じる。
【０００８】
特許文献１においては、ＤＭＡＣ転送中に、先頭コードの判定処理や受信データのサムチェックコード判定データの生成を並列処理することにより、ノイズエラー信号によるＰＬＣのデータ通信に関わる処理時間の削減を図っている。しかしながら、計算機コンポーネントの処理において、リアルタイム処理と非リアルタイム処理が混在していると、リアルタイム処理に必要な制約時間を守れないという課題がある。
【０００９】
本発明の目的は、上記従来技術の問題に鑑み、リアルタイム処理が必要と判断した場合に対応する計算機コンポーネントへの転送が可能な情報処理装置及び情報処理方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明は、複数の計算機コンポーネントで構成される情報処理装置において、複数の計算機コンポーネント間は割込み信号線を含む通信バスによって結合され、前記計算機コンポーネントは、外部から情報を受けた場合に該情報が所定の時間的制約を有するかどうかを判定する判定手段と、所定の時間的制約を有すると判定した場合に直ちに対応する他の計算機コンポーネントへの割込み信号線をアサートして情報を転送する転送手段を有することを特徴とする。
【００１１】
前記判定手段はデータ入力部から受信したパケットが直ちに他の計算機コンポーネントに転送すべきパケットであるかを判定し、直ちに他の計算機コンポーネントへ転送すべきであると判定した場合は前記送信部の有するキューのうち、優先度の高いキューへとパケットを転送するリアルタイム転送判定部である。また、前記転送手段は、優先度の高いキューに入力されたパケットを優先的に他の計算機コンポーネントへ送信する送信部と、前記リアルタイム転送判定部が受信したパケットが直ちに他の計算機コンポーネントに転送すべきパケットであると判定したことを、パケットの送信先である計算機コンポーネントへ伝達する伝達手段（割込み信号線）とからなる。
【００１２】
前記情報の転送先である他の計算機コンポーネントは、前記割込み信号線をアサートされて前記情報を受けると、優先的に前記情報を処理することを特徴とする。
【００１３】
本発明の情報処理方法は、複数の計算機コンポーネントで構成される情報処理装置において、計算機コンポーネント間が割込み信号線を含む通信バスによって結合されていて、外部から情報を受けた計算機コンポーネントは、該受けた情報が所定の時間的制約を有するかどうかを判定し、所定の時間的制約を有すると判定した場合は直ちに対応する他の計算機コンポーネントへの割込み信号線をアサートして情報を転送することを特徴とする。
【００１４】
本発明の作用を説明する。本発明は上記課題を解決するために、パケットを受信した計算機上のハードウェアで、そのパケットがリアルタイムに転送すべきパケットか否かを判定する。もし、リアルタイムに転送する必要がある場合は、プロトコル処理を省略して、直ちに目的の計算機へとパケットを転送し、同時にリアルタイム転送を示す割込み信号を通知する。こうすることで、汎用OSが動作する計算機上でリアルタイム性を要するパケットを受信した場合においても、リアルタイムにパケットを目的の計算機へと転送することが可能である。
【００１５】
また、計算機上に計時機能を持ち、パケットをリアルタイムに転送すべきかを判定した時点と転送した時点の差分を計測することで、本発明の効果を確認することができる。
【００１６】
また、リアルタイムに転送したパケットに関する情報（送信元アドレス、受信時刻、判定時刻、転送時刻、送信先の計算機等）を記録し、それを表示することで、本発明に関する稼動状況を確認することができる。
【発明の効果】
【００１７】
複数の計算機で構成され、汎用OSが動作する計算機で通信パケットを受信した場合でもリアルタイムOSが動作する計算機へとリアルタイムに転送可能な情報処理システムを提供することができ、リアルタイム制約を確実に保証できる効果がある。
【発明を実施するための最良の形態】
【００１８】
本発明の最良の実施形態は、複数の計算機コンポーネントで構成される情報処理装置において、計算機コンポーネント（１０４）は、データ入力部（１１３）と、優先度設定が可能な一つ、または複数のキューを有し、優先度の高いキューに入力されたパケットを優先的に他の計算機コンポーネントに送信する送信部（１１６）と、データ入力部から受信したパケットが直ちに他の計算機コンポーネントに転送すべきパケットであるかを判定し、直ちに他の計算機コンポーネントへ転送すべきであると判定した場合は前記通信部の有するキューのうち、優先度の高いキューへとパケットを送信するリアルタイム転送判定部（１１４）と、前記リアルタイム転送判定部が、前記データ入力部から受信したパケットが直ちに他の計算機コンポーネント（１０４）に転送すべきパケットであると判定したことを、パケットの送信先である計算機コンポーネントへ伝達する伝達手段（１１８、１２６）とを有する。また、前記送信先である計算機コンポーネントは、前記伝達手段によって前記リアルタイム転送判定部の判定を伝達されて受信したパケットを優先度の高い前記キューで受信する。
【００１９】
リアルタイム転送判定部は、前記データ入力部から受信したパケットが直ちに他の計算機コンポーネントに転送すべきパケットであるかどうかを判定するための判定基準を記憶する判定基準記憶部（１２２）と、前記判定基準記憶部へ判定基準を設定する判定基準設定部（１２１）を有する。
【００２０】
以下、複数の実施例について図面を参照しながら詳細に説明する。
【実施例１】
【００２１】
図２は計算機コンポーネントで構成される情報処理装置の一例である。情報処理装置１０２は、ネットワーク１０１を介して、情報処理装置１００と接続し、制御装置１０３とも接続している。情報処理装置１００は、ネットワーク１０１を介して制御装置１０３を制御するための制御指令を情報処理装置１０２へと送信し、制御装置１０３の稼動情報を収集する。
【００２２】
図３は情報処理装置の外観図である。情報処理装置１０２は、複数の計算機コンポーネント１０４ａ〜ｅで構成される。
【００２３】
図１は本発明を適用した計算機コンポーネントの構成図である。ＣＰＵ１１０は、不揮発性記憶媒体１１２からプログラムをＲＡＭ１１１に転送して実行する。実行処理プログラムとしては、ＯＳやネットワーク１０１と通信するためのプログラム、接続する別の計算機コンポーネント１０４ｂ〜ｅと通信するためのプログラムが例示される。ＲＡＭ１１１は、ＣＰＵ１１０が動作するための一時的な記憶領域であり、不揮発性記憶媒体１１２から転送したＯＳ、アプリケーションプログラム、実行タスクの稼動中の情報等が格納される。不揮発性記憶媒体１１２は、情報の記憶媒体で、ＣＰＵ１１０を動作させるためのプログラムの保存、プログラムの実行結果の保存に利用される。
【００２４】
ＬＡＮ１１３は、ネットワークとの通信機能を実装した送受信機ＩＣである。ＬＡＮ１１３の提供する通信規格としてＥｔｈｅｒｎｅｔ（Ｘｅｒｏｘ社の商標）等が例示される。ユーザ論理ＩＣ１１４は、ハードウェア上で任意の機能を提供するＩＣである。ユーザ論理ＩＣ１１４としては、ＦＰＧＡ、ＣＰＬＤ、ゲートアレイ、ＡＳＩＣ等が例示される。バス１１５は、ＣＰＵ１１０、ＲＡＭ１１１、不揮発性記憶媒体１１２、ＬＡＮ１１３、ユーザ論理ＩＣ１１４、通信バッファ１１６をそれぞれ接続する。バス１１５としては、ＰＣＩバス、ＩＳＡバス、ＰＣＩ  Ｅｘｐｒｅｓｓバス等が例示される。
【００２５】
通信バッファ１１６は送信パケット用のバッファＩＣである。通信バッファ１１６とユーザ論理ＩＣ１１４は同じＩＣ上に実装されていても構わない。その場合、ユーザ論理ＩＣ１１４と通信バッファ１１６は、ＩＣ内のバスによって接続される。また、通信バッファ１１６とＬＡＮ１１３は同じＩＣ上に実装されていても構わない。その場合、ＬＡＮ１１３と通信バッファ１１６は、ＩＣ内のバスによって接続される。
【００２６】
コンポーネント間通信ＩＣ１１７は、情報処理装置１０２を構成する他の計算機コンポーネント１０４ｂ〜ｅへと通信するためのＩＣであり、通信バッファ１１６と接続している。具体例としては、ＰＣＩブリッジバス等の各種バスプロトコル用のブリッジＩＣや特定のバスプロトコル用コントローラＩＣが挙げられる。コンポーネント間通信ＩＣは、ＣＰＵ１１０に含まれていても構わず、また通信バッファ１１６とともにユーザ論理ＩＣ１１４に含まれていても構わない。
【００２７】
割込み信号線１２６は、通信バッファ１１６の優先度の高いキューからパケットが送信される場合に、通信バッファ１１６によってアサートされる。割込み信号線１２６がアサートされると、ユーザ論理ＩＣ１１４を介して信号線１１８をアサートする。
【００２８】
割込み信号線１１８は、コンポーネント間通信ＩＣ１１７から送信されるパケットが所定の時間的制約を持つ場合にユーザ論理ＩＣ１１４によって所定のタイミングで、所定の期間アサートされる。アサートされるタイミングはシステム依存であり、パケットがバス上を送信される直前、送信中、送信後などが例示される。
【００２９】
コンポーネント間通信バス１１９は、コンポーネント１０４間で通信するためのバスである。コンポーネント間通信バス１１９のバス通信規格としてはＰＣＩバス，ＰＣＩ−Ｅｘｐｒｅｓｓバス、ＩＳＡバス等が例示され、物理的な接続形態としてはＰＣ１０４コネクタ、カードエッジコネクタ等が例示される。
【００３０】
図１６は計算機コンポーネントにおけるパケットの送信手順を示す。はじめにＬＡＮ１１３は、外部から他のコンポーネントに転送するパケットを受信する（Ｓ００１）。次にユーザ論理ＩＣ１１４は、ＬＡＮからパケットを受信する（Ｓ００２）。ユーザ論理ＩＣ１１４は、そのパケットが所定の時間的制約を持ち、ただちに転送すべきパケットがどうかを判断する（Ｓ００３）。もし、ただちに転送すべきパケットである場合は、ユーザ論理ＩＣ１１４は、通信バッファ１１６の優先度の高いキューへとパケットを送信する。（Ｓ００４）。次に、通信バッファ１１６は、出力インターフェースが送信可能となるまで待つ（Ｓ００５）。送信可能となれば、通信バッファ１１６は、コンポーネント間通信ＩＣ１１７へとパケットを送信し、同時にユーザ論理ＩＣ１１４への割込み信号線１２６をアサートする（Ｓ００６）。割込み信号線１２６のアサートを受けたユーザ論理ＩＣ１１４は、他コンポーネントへの割込み信号線１１８をアサートする（Ｓ００７）。
【００３１】
Ｓ００３において、ただちに転送すべきパケットでない場合は、ユーザ論理ＩＣ１１４は、ＲＡＭ１１１へとパケットを送信する（Ｓ００８）。その後、ＯＳによる転送処理がなされ、パケットは通信バッファ１１６の優先度の低いキューへと送信される（Ｓ００９）。次に、通信バッファ１１６は、出力インターフェースが送信可能となり、且つ、優先度の高いキューのパケットがなくなるまで待つ（Ｓ０１０）。送信可能となれば、通信バッファ１１６は、コンポーネント間通信ＩＣ１１７へとパケットを送信する（Ｓ０１１）。
【００３２】
図４はユーザ論理ＩＣ１１４で提供される機能部のブロック図である。受信部１２０は、ユーザ論理ＩＣ１１４で受信したパケットをリアルタイム転送判定部１２３へと送信する。判定基準設定部１２１は、判定対象であるパケットが直ちに転送すべきパケットであるかを判定するための基準の設定機能を提供する。入力された内容によって、判定基準記憶部１２２の内容を変更する。判定基準記憶部１２２は、判定対象であるパケットが直ちに転送すべきパケットであるかを判定するための基準を記憶する。リアルタイム転送判定部１２３は、判定基準記憶部１２２で提供される判定基準にしたがって、判定対象であるパケットが直ちに他の計算機コンポーネント１０４ｂ〜ｅへと転送すべきパケットであるかどうかを判定する。送信部１２４は、リアルタイム転送判定部１２３の判定結果にしたがい、バス１１５を通じて、パケットをＲＡＭ１１１か通信バッファ１１６のいずれかに送信する。受信部１２０と送信部１２４は、ひとつの機能ブロックであっても構わない。
【００３３】
リアルタイム転送制御部１２５は、リアルタイム転送判定部１２３を制御する。制御の具体例としては、リアルタイム転送判定部１２３による判定の有効、無効の切り替えと、現在の有効、無効の設定の取得等が挙げられる。本発明を利用しない場合は、リアルタイム転送制御部１２５によって、リアルタイム転送判定部１２３による判定を無効にする。
【００３４】
割込み信号線アサート部２３０は、割込み信号線１２６がアサートされると所定のタイミングにしたがって割込み信号線１１８をアサートする。割込み信号線１２６がアサートされるタイミング、アサートされる期間と、受信側の要求する割込み信号線１１８のアサートされるタイミング、アサートされる期間が異なる場合は、割込み信号線アサート部２３０がそれらのタイミング、期間を調整する。
【００３５】
図１３に計算機コンポーネントの変形例を示す。アサートされるタイミング、期間の調整が不要である場合は、図示のように、通信バッファ１１６から割込み信号線１１８を他コンポーネント１０４に直接接続している。
【００３６】
ＬＡＮ１１３において受信された通信パケットは、バス１１５を経由してユーザ論理ＩＣ１１４へと転送される。ユーザ論理ＩＣ１１４は、通信パケットを受信すると、そのパケットが直ちに別の計算機コンポーネントに転送するものであるか否かの判定を開始する。もし、該パケットが直ちに転送すべきパケットであった場合は通信バッファ１１６へと送信する。そうでない場合はＲＡＭ１１１へと送信する。
【００３７】
パケットを直ちに転送するか否かの判定基準は、パケットの内容や計算機コンポーネント１０４ａ上での入力インターフェースの違い、パケットのサイズ等が例示される。具体的には、パケット上のＩＰプロトコルヘッダの送信先ＩＰアドレスや送信元ＩＰアドレスが特定のＩＰアドレスと一致する場合や、Ｅｔｈｅｒｎｅｔヘッダの送信先ＭＡＣアドレスや送信元ＭＡＣアドレスが特定のＭＡＣアドレスと一致する場合等の、各種通信プロトコルにおけるアドレス定義による一致判定や、計算機コンポーネント上で複数の外部インターフェースを有し、そのうちの特定のインターフェースから受信したパケットである場合や、パケットのサイズと特定のサイズの大小により判定する場合が例示される。あるいは、独自のプロトコルを定義し、そのプロトコルに依存する内容によって判定してもよい。
【００３８】
図５に判定基準記憶部のデータ構成の一例を示す。判定基準テーブル１３０の各行は、「判定項目」、「判定値」、「送信先計算機コンポーネント」の組み合わせから構成される。例えば、第１行の判定基準では、判定項目として送信先ＩＰアドレス、判定値としてＩＰアドレスの１９２．１６８．０．４、送信先計算機コンポーネントとして位置０にある計算機コンポーネントを示している。任意のパケットを判定する場合に、パケット上のＩＰヘッダの送信先ＩＰアドレスが１９２．１６８．０．４である場合、この行の判定基準と一致する。
【００３９】
また、システム依存で定義した識別子を判定項目、判定値として定義することも可能である。例えば、パケットの特定の位置に、特定のデータを埋め込む等である。
【００４０】
計算機コンポーネント１０４のアドレスの定義方法として、その計算機コンポーネント１０４ａが配置される情報処理装置１０２内での構成位置で定義する方法や、計算機コンポーネント１０４ａ〜ｅ間での通信バスプロトコルにおけるアドレス定義を用いる方法、計算機コンポーネント１０４ａ〜ｅ間での通信バスプロトコル上に構築した通信プロトコルにおけるアドレス定義を用いる方法が例示される。
【００４１】
例えば、通信バスプロトコル上のネットワーク層のプロトコル層として、ＩＰ層による通信を可能とし、ＩＰアドレスによって定義する方法がある。または、計算機コンポーネント１０４ａ〜ｅ間での通信バスプロトコルにおけるアドレス空間と計算機コンポーネントａ〜ｅの物理的な構成位置をマッピングし、各計算機コンポーネント１０４からの相対的な位置で定義する方法が例示される。
【００４２】
リアルタイム転送判定部１２３は、受信部１２０から送信されたパケットと、判定基準記憶部１２２に記憶された判定基準を照合し、該パケットが直ちに転送すべきかどうかを判定する。判定基準記憶部１２２に記憶された判定基準が複数ある場合は、順番にそれぞれの判定基準を照合するのではなく、並列に判定し、それらの結果の論理和を判定結果とする実装が推奨される。
【００４３】
判定基準設定部１２１への判定基準の設定は、ＣＰＵ１１０上で動作するＯＳ上のアプリケーションによって行ってもよいし、計算機コンポーネント１０４ａ上にコネクタを設けて、特定の入力手段あるいはコンピュータによって行ってもよい。前者のアプリケーションによる設定画面のグラフィックスユーザインターフェース（以下、ＧＵＩと称す）の一例を図６に示す。
【００４４】
また、後者の特定の入力手段による一例を図７に示す。判定基準入力装置１５０は、計算機コンポーネント１０４上にコネクタを設けて接続してもよいし、計算機コンポーネント１０４上に直接設けてもよい。判定項目入力１５１では、入力する判定項目を選択する。判定値入力１５２には、テンキー１５４を利用して、判定項目入力１５１で選択した判定項目の判定値を入力する。送信先コンポーネント１５３は、入力中の判定基準に該当する場合の送信先のコンポーネントを設定する。判定項目、判定値、送信先コンポーネントを入力後、適用ボタン１５５を押すことによって、適用判定基準を判定基準設定部１２１へと入力する。
【００４５】
また、判定値１５２へ特定の入力をすることで、判定基準記憶部１２２の設定内容を取得することも可能である。例えば、「．」で始まる入力をコマンドとして定義し、続いて入力される数字で指定される判定基準記憶部１２２の判定基準エントリを取得するものとする。
【００４６】
図８では、ＲＳ２３２Ｃによる通信やＥｔｈｅｒｎｅｔによる通信で、コンピュータ１６１と計算機コンポーネント１０４ａを接続する例である。コンピュータ１６１上で動作するアプリケーションによって判定基準設定部１２１へ判定基準を設定する。該アプリケーションのＧＵＩ例は図６と同様である。コンピュータ１６１の具体例としては、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）が挙げられる。
【００４７】
図６、図７、図８で例示される方法によって判定基準を入力した場合に、情報処理装置１０２の物理的な構成によって、エラー表示を含む設定入力を支援することが可能である。例えば、自計算機コンポーネント１０４ａを含めて、情報処理装置１０２を構成する計算機コンポーネントの数が２であった場合は、送信先コンポーネントの第一入力候補として、自計算機コンポーネント１０４ａでない計算機コンポーネント１０４ｂを入力する。また、情報処理装置１０２を構成する計算機コンポーネントの数が１であった場合や送信先として設定した計算機コンポーネント１０４が存在しない場合は、入力内容にエラーがあることを表示する。例えば、図６ではダイアログ表示を行い、図７では送信先コンポーネント１５３にエラーである「Ｅ」を表示することが挙げられる。
【００４８】
図９、図１０、図１１に通信バッファの構成を示す。通信バッファ１１６はＦｉｒｓｔ−ｉｎ  Ｆｉｒｓｔ−ｏｕｔ（ＦＩＦＯ）のキュー１７１ａ〜ｃを有している。キューの数は複数であれば、いくつでも構わない。また、キュー１７１中のバッファ１７３の必要数は、情報処理装置１０２が適用されるアプリケーションに応じて変更され、１つ、または複数である。入力インターフェース１７０から入力されたパケット１７４は、キュー１７１中の先頭のバッファ１７３から格納され、出力インターフェース１７２が通信バスプロトコルにしたがって出力可能になると出力される。
【００４９】
図９では、入力インターフェース１７０ａ〜ｃは、キュー１７１ａ〜ｃの数だけ存在する。一方、図１０では、入力インターフェース１７５は一つであり、入力インターフェース１７５で受信したパケット中に含まれるキューＩＤに応じて、パケットを格納するキュー１７１ａ〜ｃを選択する。通信バッファにパケットを送信する周辺ＩＣは、必要に応じてパケットに、キューを指定するＩＤを付加する。図１１では、入力インターフェース１７６は一つであるが、キュー１７１ａ〜ｃを選択するためのキュー選択信号１７７が入力インターフェース１７６に入力されている。キュー選択信号１７７のバス幅は、選択可能なキュー１７１の数によって異なる。例えば、キュー１７１の数が４つであれば、バス幅は２ビットとなる。入力インターフェース１７６は、パケットの受信時にアサートされているキュー選択信号１７７の状態によって、パケットを送信するキュー１７１ａ〜ｃを選択する。
【００５０】
これらのキュー１７１ａ〜ｃでは優先度が異なり、出力インターフェース１７２が送信可能となった場合、優先度の高いキューのパケットから優先的に送信される。同時に、優先度の高いキュー１７１ａからパケットが送信されると割込み信号線１２６がアサートされる。
【００５１】
ユーザ論理ＩＣ１１４が直ちに転送すべきであると判定されたパケットは、通信バッファ１１６の優先度の高いキュー１７１へと送信される。同時に（割込み信号線１２６がアサートされると）、ユーザ論理ＩＣ１１４はコンポーネント間バスの信号線１１８をアサートする。
【００５２】
次に、受信側の計算機コンポーネントの実施例を説明する。図１２は受信側の計算機コンポーネントの構成図を示している。図１と類似の構成ではあるが、制御ＩＣ１８０やユーザ論理ＩＣ１２９を有している。
【００５３】
制御ＩＣ１８０は、ＣＰＵ１１０から制御装置１０３への制御指令や制御装置１０３からＣＰＵ１１０への稼動情報等を通信する。制御装置１０３は、ＣＰＵ１１０からの制御指令を、制御ＩＣ１８０を通して受信し、その制御指令のもとに動作する。動作の結果、制御ＩＣ１８０を通して、稼動情報をＣＰＵ１１０へと送信する。
【００５４】
割込み信号線１２７は、割込み信号線１１８がアサートされている場合に、ユーザ論理ＩＣ１２９によって所定のタイミング、所定の期間アサートされる。割込み信号線１１８がアサートされるタイミング、アサートされる期間と、受信側の要求する割込み信号線１２７のアサートされるタイミング、アサートされる期間が異なる場合は、図１４に示した割込み信号線アサート部２３０がそれらのタイミング、期間を調整する。
【００５５】
図１５はアサートのタイミング、期間の調整が不要である場合の受信側計算機コンポーネントを示している。割込み信号線１１８は通信バッファ１１６へ直接接続している。この場合の受信では、ユーザ論理ＩＣ１１４は省略可能である。
【００５６】
再び図１２に戻って説明する。信号線１２８は、コンポーネント間通信バス１１９の一部であり、アドレスバスや制御バス等を含む。割込み信号線１１８はワイヤードＯＲ、あるいはＯＲ論理素子を用いて実装される。割込み信号線１１８がアサートされると、ユーザ論理ＩＣ１２９は、信号線１２８の情報を用いて、自計算機コンポーネントがパケットを受信しているかを判断する。あるいは、コンポーネント間バスの信号線の数は多くなるが、割込み信号線１１８を各計算機コンポーネント間で１対１となるように用意することも例示される。
【００５７】
図１７に計算機コンポーネント１０４におけるパケットの受信手順を示す。はじめに他コンポーネントからパケットを受信する（Ｓ０２０）。次に、ユーザ論理ＩＣ１２９は、割込み信号線１１８がアサートされているか判断する（Ｓ０２１）。もし、アサートされていれば、ユーザ論理ＩＣ１２９は、通信バッファへのキュー選択信号１２７をアサートし、通信バッファ１１６は優先度の高いキューにパケットを受信する（Ｓ０２２）。次に、通信バッファ１１６は、出力インターフェースが送信可能となるまで待つ（Ｓ０２３）。送信可能となれば、通信バッファ１１６は、ＲＡＭ１１１へとパケットを送信する（Ｓ０２４）。Ｓ０２１において、割込み信号線１１８がアサートされていなければ、通信バッファ１１６は優先度の低いキューにパケットを受信する（Ｓ０２５）。その後、通信バッファ１１６は、出力インターフェースが送信可能となるまで待つ（Ｓ０２６）。送信可能となれば、通信バッファ１１６は、ＲＡＭ１１１へパケットを送信する（Ｓ０２４）。
【００５８】
上述した図１１の通信バッファは、受信側で用いるのに好適な通信バッファの構成を示している。この場合、キュー選択信号１７７は、計算機コンポーネント１０４間のバス上の信号線１１８に接続されている。信号線１１８がアサートされていれば、そのパケットは優先的に処理すべきパケットであるため、パケットは優先度の高いキュー１７１へと送信される。出力インターフェース１７２が送信可能であれば、優先度の高いキュー１７１からＲＡＭ１１１へとパケットは送信される。同時に、ＣＰＵ１１０上で動作するリアルタイムＯＳにはパケット受信を示す割込みが発生する。リアルタイムＯＳ上で動作する制御するプログラムは、このパケットに含まれる情報や指令に従って、制御装置１０３を制御するか稼動情報を取得する。
【００５９】
情報処理装置１０２と外部の接続にはＲＳ２３２Ｃ規格や無線通信等を用いることも例示される。無線通信規格としては、ＩＥＥＥ８０２．１１ａ、ＩＥＥＥ８０２．１１ｂ、ＩＥＥＥ８０２．１１ｇ、ＩＥＥＥ８０２．１１ｎ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ（登録商標）、ＵＷＢ、赤外線通信等が挙げられる。
【００６０】
これらの構成をとることによって、計算機コンポーネント１０４ａ上で動作するＯＳが汎用ＯＳであった場合でも、計算機コンポーネント１０４ｂ〜ｅ上で動作する制御装置１０３の制御タスクへの通信遅延が低減され、かつ、低い通信ジッタで通信することができる。
【実施例２】
【００６１】
図１８は、本発明を適用したユーザ論理ＩＣの他の実施例である。実施例２に使用する符号は、特に断りのない限り、実施例１で説明した機能や要素等と同一である。図１３のユーザ論理ＩＣ１１４は、通信バッファ１１６を含んでいる。通信バッファ１１６の具体例は図９、図１０、図１１に示すものが挙げられる。ここでは、図９に示す通信バッファを記載している。
【００６２】
計時部１９０は、計時手段を有し、処理時間記録部１９１へ時間情報を送信する。処理時間記録部１９１は、ユーザ論理ＩＣ１１４内の各機能ブロックと接続されている。受信部１２０、判定基準設定部１２１、判定基準記憶部１２２、リアルタイム転送判定部１２３、送信部１２４、入力インターフェース１７０、出力インターフェース１７２で所定の処理が実行された場合に、接続された信号がアサートされる（送信経路は図示無し）。処理時間記録部１９１は、その時点での計時部の時間情報を取得し、各機能ブロックの所定の処理とその処理が実行された時点の時間情報を記録する。
【００６３】
また、処理時間記録部１９１は、これらの記録している情報を、バス１１５に接続された各ＩＣからの要求によって、バス１１５に接続された各ＩＣへと送信する。記録容量の制限のため、バス１１５へと送信した記録情報を削除することも例示される。
【００６４】
ＣＰＵ１１０上で動作するＯＳのアプリケーションは、これらの情報を用いて、本発明を適用したユーザ論理ＩＣの任意の処理時間を確認することが可能である。例えば、リアルタイム転送判定部１２３において、「直ちに転送すべきパケットと判定」した時点から、出力インターフェース１７２において、「パケットを送信」するまでの処理時間を取得することができる。また、「直ちに転送すべきパケットではないと判定」した時点から実際に送信されるまでの時間を取得することができる。この二つの処理時間を比較することによって、本発明によって短縮された処理時間を確認することができる。
【００６５】
図１９に、実施例２によるアプリケーションのＧＵＩ例を示す。タブ２０１では、処理時間記録部１９１から取得した情報（事象の発生機能部、発生した事象、事象の発生時刻）と番号（Ｎｏ．）を表示している。タブ２０２では、タブ２０１より任意の２つの番号を選択し、任意のラベルをつけて追加ボタンを押すことで、２つの事象間の処理時間を表示する。
【００６６】
実施例２によって、ユーザは本発明にかかわる任意の処理時間を確認し、パケット転送の短縮時間を知ることができる。例えば、試験的に本発明を運用し、実際のパケット転送の処理時間を知ることで、システムに課せられた所定の時間的制約を守れるかどうかを容易に判断することができる。また、ソフトウェア処理による転送時間との比較により、ソフトウェアによるネットワーク処理の性能を評価することや、コンポーネント上での通信経路のボトルネックの特定に活用することができる。
【実施例３】
【００６７】
図２０は、本発明を適用したユーザ論理ＩＣの他の実施例である。実施例３に使用する符号は、特に断りのない限り、実施例１、実施例２で説明した機能や要素等と同一である。ユーザ論理ＩＣ１１４は、通信バッファ１１６を含んでいる。図２０における通信バッファ１１６の具体例は図９、図１０、図１１に示すものが挙げられるが、ここでは、図９に示す通信バッファを記載している。
【００６８】
稼動状況記録部２１０は、ユーザ論理ＩＣ１１４内の各機能ブロックと接続されている。受信部１２０、判定基準設定部１２１、判定基準記憶部１２２、リアルタイム転送判定部１２３、送信部１２４、入力インターフェース１７０、出力インターフェース１７２で所定の処理が実行された場合に、接続された信号がアサートされ（送信経路は図示無し）、ユーザ論理ＩＣ１１４におけるパケット転送処理の稼動状況を記録する。リアルタイム転送判定部１２３が、直ちに転送すべきパケットと判定した場合に、必要な情報を取得する。稼動状況としての情報の具体例として、パケットから取得したパケットの送信元アドレス、計時部１９０から取得したパケットの判定時点、送信先のコンポーネント、転送にかかった処理時間が挙げられる。
【００６９】
また、稼動状況記録部２１０は、これらの記録している情報を、バス１１５に接続された各ＩＣからの要求によって、バス１１５に接続された各ＩＣへと送信する。記録容量の制限のため、バス１１５へと送信した記録情報を削除することも例示される。
【００７０】
ＣＰＵ１１０上で動作するＯＳのアプリケーションは、これらの情報を用いて、本発明を適用したユーザ論理ＩＣの稼動状況を確認することが可能である。このアプリケーションのＧＵＩ例を図２１に示す。
【００７１】
タブ２２１では、稼動状況記録部２１０から取得した情報（送信元アドレス、送信先コンポーネント、転送時刻）と番号（Ｎｏ．）を表示している。転送に関してエラーが生じた場合、それを所定のエラー原因をしめす番号とともに表示している。エラー原因の例としては、通信プロトコルの規定に反するパケットや転送先コンポーネントが不正であることが例示される。タブ２２２では、タブ２２１の情報をもとに所定の統計情報を表示する。
【００７２】
実施例３によって、ユーザは、パケットのリアルタイム転送処理にかかわる稼動状況を簡単に確認することができる。この稼動状況を利用することで、計算機コンポーネント１０４上でエラーが発生していないかや、情報処理装置１０２の構成に問題がないか等の診断に利用することができる。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施例１による計算機コンポーネントの構成図。
【図２】本発明の一実施形態を適用する情報処理装置の構成図。
【図３】本発明の一実施形態を適用する情報処理装置の外観図。
【図４】実施例１によるユーザ論理ＩＣの機能ブロック図。
【図５】実施例１による判定基準記憶部のデータ構成図。
【図６】実施例１による判定基準設定画面を示したＧＵＩ図。
【図７】他の実施形態による判定基準入力部の構成図。
【図８】判定基準入力部を含む情報処理装置の外観図。
【図９】一実施形態による通信バッファの構成図。
【図１０】他の実施形態による通信バッファの構成図。
【図１１】さらに他の実施形態による通信バッファの構成図。
【図１２】実施例１による受信側の計算機コンポーネントの構成図。
【図１３】実施例１の変形例を示す計算機コンポーネントの構成図。
【図１４】実施例１の受信側ユーザ論理ＩＣの機能ブロック図。
【図１５】実施例１の受信側計算機コンポーネントの変形構成図。
【図１６】本発明の一実施形態によるパケットの送信手順を示したフローチャート。
【図１７】本発明の一実施形態によるパケットの受信手順を示したフローチャート。
【図１８】実施例２によるユーザ論理ＩＣの機能ブロック図。
【図１９】実施例２による表示画面を示したＧＵＩ図。
【図２０】実施例３によるユーザ論理ＩＣの機能ブロック図。
【図２１】実施例３による表示画面を示したＧＵＩ図。
【符号の説明】
【００７４】
１００，１０２，１６０，１６１…情報処理装置、１０１…ネットワーク、１０３…制御装置、１０４…計算機コンポーネント、１１０…ＣＰＵ、１１１…ＲＡＭ、１１２…不揮発性記憶媒体、１１３…ＬＡＮ、１１４，１２９…ユーザ論理ＩＣ、１１５…バス、１１６…通信バッファ、１１７…コンポーネント間通信ＩＣ、１１８，１２６，１２７…割込み信号線、１２８…信号線、１１９…コンポーネント間通信バス、１２０…受信部、１２１…判定基準設定部、１２２…判定基準記憶部、１２３…リアルタイム転送判定部、１２４…送信部、１３０…判定基準テーブル、１３１…判定基準エントリ、１４０…判定基準設定画面、１４１…判定基準項目、１４２…判定基準値、１５０…判定基準入力装置、１７１…通信キュー、１７０，１７５，１７６…入力インターフェース、１７２…出力インターフェース、１７７…キュー選択信号線、１９０…計時部、１９１…処理時間記録部、２１０…稼動状況記録部、２３０…割込み信号線アサート部。
【図１】
0004951486.tif 000002
【図２】
0004951486.tif 000003
【図３】
0004951486.tif 000004
【図４】
0004951486.tif 000005
【図５】
0004951486.tif 000006
【図６】
0004951486.tif 000007
【図７】
0004951486.tif 000008
【図８】
0004951486.tif 000009
【図９】
0004951486.tif 000010
【図１０】
0004951486.tif 000011
【図１１】
0004951486.tif 000012
【図１２】
0004951486.tif 000013
【図１３】
0004951486.tif 000014
【図１４】
0004951486.tif 000015
【図１５】
0004951486.tif 000016
【図１６】
0004951486.tif 000017
【図１７】
0004951486.tif 000018
【図１８】
0004951486.tif 000019
【図１９】
0004951486.tif 000020
【図２０】
0004951486.tif 000021
【図２１】
0004951486.tif 000022