JP2015108912A - 制御装置及び情報処理システム - Google Patents
制御装置及び情報処理システム Download PDFInfo
- Publication number
- JP2015108912A JP2015108912A JP2013250773A JP2013250773A JP2015108912A JP 2015108912 A JP2015108912 A JP 2015108912A JP 2013250773 A JP2013250773 A JP 2013250773A JP 2013250773 A JP2013250773 A JP 2013250773A JP 2015108912 A JP2015108912 A JP 2015108912A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- path
- interconnect
- route
- end driver
- 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
Landscapes
- Hardware Redundancy (AREA)
Abstract
【課題】デバイスが内蔵されているユニットに別のユニットが接続された後も、デバイスが内蔵されているユニット内からデバイスにアクセスできるようにする。【解決手段】デバイス107と、デバイス107にアクセスするアプリケーション実行部102と、アプリケーション実行部102からデバイス107に至る第1の経路とが含まれる基本ユニット101に拡張ユニット103が接続された際に、バックエンドドライバ切替え部117とデバイスI/F切替え部115が、アプリケーション実行部102がデバイス107にアクセスする経路を、第1の経路から、アプリケーション実行部102から拡張ユニット103を経由してデバイス107に至る代替経路に切り替える。【選択図】図1
Description
本発明は、デバイスにアクセスするための経路を切り替える技術に関する。
従来のカーナビゲーション装置のような情報処理装置は、当該情報処理装置に内蔵したハードディスクなどの装置内蔵デバイスへ外部装置がアクセスする場合に、装置内蔵デバイスへと通じるインタフェースをスイッチにより外部装置と直接接続するように切り替えることで、外部装置が装置内蔵デバイスへアクセスできるようにしている(例えば、特許文献1)。
しかしながら、従来の方式では、デバイスが内蔵されている基本ユニット(特許文献1の情報処理装置)に別のユニットである拡張ユニット(特許文献1の外部装置)が接続されると、拡張ユニット内からデバイスにアクセスするための経路に切り替わり、基本ユニット内からのデバイスへのアクセスができなくなり、基本ユニットが正常に動作しなくなるという課題がある。
この発明は、上記のような課題を解決することを主な目的としており、デバイスが内蔵されているユニットに別のユニットが接続された後も、デバイスが内蔵されているユニット内からデバイスにアクセスでき、デバイスが内蔵されているユニットが正常に動作できるようにすることを主な目的とする。
本発明に係る制御装置は、
デバイスと、前記デバイスにアクセスする第1のエレメントと、前記第1のエレメントから前記デバイスに至る第1の経路とが含まれる第1のユニットに、第2のユニットが接続された際に、
前記第1のエレメントが前記デバイスにアクセスする経路を、
前記第1の経路から、
前記第1のエレメントから前記第2のユニットを経由して前記デバイスに至る代替経路に切り替える経路切替え部を有することを特徴とする。
デバイスと、前記デバイスにアクセスする第1のエレメントと、前記第1のエレメントから前記デバイスに至る第1の経路とが含まれる第1のユニットに、第2のユニットが接続された際に、
前記第1のエレメントが前記デバイスにアクセスする経路を、
前記第1の経路から、
前記第1のエレメントから前記第2のユニットを経由して前記デバイスに至る代替経路に切り替える経路切替え部を有することを特徴とする。
本発明では、第1のユニットに第2のユニットが接続された際に、第1のエレメントがデバイスにアクセスするための経路を、第2のユニットを経由する代替経路に切り替える。
このため、第1のユニットに第2のユニットが接続された後も、第1のユニット内の第1のエレメントはデバイスにアクセスすることができ、第1のユニットが正常に動作できる。
このため、第1のユニットに第2のユニットが接続された後も、第1のユニット内の第1のエレメントはデバイスにアクセスすることができ、第1のユニットが正常に動作できる。
実施の形態1.
図1は、本実施の形態に係る情報処理システムの構成例を示す。
本実施の形態に係る情報処理システムは、基本ユニット101と拡張ユニット103で構成される。
図1は、本実施の形態に係る情報処理システムの構成例を示す。
本実施の形態に係る情報処理システムは、基本ユニット101と拡張ユニット103で構成される。
図1において、基本ユニット101はアプリケーション実行部102を動作させることで機能を提供する情報処理装置である。
同様に拡張ユニット103はアプリケーション実行部104を動作させることで機能を提供する情報処理装置である。
基本ユニット101にはデバイス107が内蔵されている一方で、拡張ユニット103にはデバイスが内蔵されていない。
拡張ユニット103は基本ユニット101に接続して、デバイス107を利用する。
なお、基本ユニット101は第1のユニットの例に相当し、拡張ユニット103は第2のユニットの例に相当する。
同様に拡張ユニット103はアプリケーション実行部104を動作させることで機能を提供する情報処理装置である。
基本ユニット101にはデバイス107が内蔵されている一方で、拡張ユニット103にはデバイスが内蔵されていない。
拡張ユニット103は基本ユニット101に接続して、デバイス107を利用する。
なお、基本ユニット101は第1のユニットの例に相当し、拡張ユニット103は第2のユニットの例に相当する。
アプリケーション実行部102及びアプリケーション実行部104は、アプリケーションプログラムを実行する。
アプリケーション実行部102及びアプリケーション実行部104は、アプリケーションプログラムの実行に必要なデータやプログラムの読出しや書込みをデバイス107へアクセスして実行する。
デバイス107へアクセスする場合には、アプリケーション実行部102及びアプリケーション実行部104は、デバイス107にそれぞれアクセス要求を送信する。
デバイス107は、例えば、ハードディスク装置である。
アプリケーション実行部102は第1のエレメントの例に相当し、アプリケーション実行部104は第2のエレメントの例に相当する。
アプリケーション実行部102及びアプリケーション実行部104は、アプリケーションプログラムの実行に必要なデータやプログラムの読出しや書込みをデバイス107へアクセスして実行する。
デバイス107へアクセスする場合には、アプリケーション実行部102及びアプリケーション実行部104は、デバイス107にそれぞれアクセス要求を送信する。
デバイス107は、例えば、ハードディスク装置である。
アプリケーション実行部102は第1のエレメントの例に相当し、アプリケーション実行部104は第2のエレメントの例に相当する。
基本ユニット101は、拡張ユニット103が存在しない場合でも単独で動作することが可能である。
基本ユニット101のインターコネクト105へ拡張ユニット103のインターコネクト105を接続することで、拡張ユニット103が動作することが可能となる。
なお、インターコネクト105は第1のインターコネクトの例に相当し、インターコネクト106は第2のインターコネクトの例に相当する。
基本ユニット101のインターコネクト105へ拡張ユニット103のインターコネクト105を接続することで、拡張ユニット103が動作することが可能となる。
なお、インターコネクト105は第1のインターコネクトの例に相当し、インターコネクト106は第2のインターコネクトの例に相当する。
フロントエンドドライバ108は、アプリケーション実行部102に対して、デバイスドライバと同様の動作を模擬する仮想デバイスドライバである。
フロントエンドドライバ108は、アプリケーション実行部102からのアクセス要求を受信する。
フロントエンドドライバ108は、アプリケーション実行部102からのアクセス要求をバックエンドドライバ切替え部117へ転送する。
フロントエンドドライバ108は、アプリケーション実行部102からのアクセス要求を受信する。
フロントエンドドライバ108は、アプリケーション実行部102からのアクセス要求をバックエンドドライバ切替え部117へ転送する。
バックエンドドライバ切替え部117は、アプリケーション実行部102からのアクセス要求の中継先をバックエンドドライバ109とするか、インターコネクト105及びインターコネクト106を経由したバックエンドドライバ110とするかを判断し、アクセス要求を中継する中継経路を確立する。
バックエンドドライバ切替え部117は、後述するように、デバイスI/F切替え部115とともに、基本ユニット101に拡張ユニット103が接続された際に、アプリケーション実行部102がデバイス107にアクセスする経路を、アプリケーション実行部102から拡張ユニット103を経由してデバイス107に至る経路に切り替えており、経路切替え部の例に相当する。
バックエンドドライバ切替え部117は、後述するように、デバイスI/F切替え部115とともに、基本ユニット101に拡張ユニット103が接続された際に、アプリケーション実行部102がデバイス107にアクセスする経路を、アプリケーション実行部102から拡張ユニット103を経由してデバイス107に至る経路に切り替えており、経路切替え部の例に相当する。
バックエンドドライバ109は、アプリケーション実行部102からのアクセス要求をデバイスドライバ111へ転送する。
バックエンドドライバ110は、アプリケーション実行部102からのアクセス要求をデバイスドライバ112へ転送する。
バックエンドドライバ110は、アプリケーション実行部102からのアクセス要求をデバイスドライバ112へ転送する。
デバイスドライバ111は、デバイスI/F113を経由してデバイスI/F切替え部115へアクセス要求を転送する。
デバイスドライバ112は、デバイスI/F114、インターコネクト105及びインターコネクト106を経由してデバイスI/F切替え部115へアクセス要求を転送する。
デバイスドライバ112は、デバイスI/F114、インターコネクト105及びインターコネクト106を経由してデバイスI/F切替え部115へアクセス要求を転送する。
デバイスI/F切替え部115は、デバイスI/F113と、インターコネクト105及びインターコネクト106を経由したデバイスI/F114との間で経路を切り替える。
デバイスI/F切替え部115は、前述のバックエンドドライバ切替え部117とともに、経路切替え部の例に相当する。
デバイスI/F切替え部115は、前述のバックエンドドライバ切替え部117とともに、経路切替え部の例に相当する。
接続検出部116は、インターコネクト105に対するインターコネクト106の接続有無を検出する。
すなわち、接続検出部116は、基本ユニット101に拡張ユニット103が接続されたか否かを検出する。
すなわち、接続検出部116は、基本ユニット101に拡張ユニット103が接続されたか否かを検出する。
なお、デバイスI/F切替え部115、接続検出部116、バックエンドドライバ切替え部117を合わせたものが、制御装置に相当する。
本実施の形態では、アプリケーション実行部102−フロントエンドドライバ108−バックエンドドライバ切替え部117−バックエンドドライバ109−デバイスドライバ111−デバイスI/F113−デバイスI/F切替え部115−デバイス107という経路を、第1の経路と呼ぶ。
また、アプリケーション実行部102−フロントエンドドライバ108−バックエンドドライバ切替え部117−インターコネクト105という経路を、第2の経路と呼ぶ。
また、インターコネクト105−デバイスI/F切替え部115−デバイス107という経路を、第3の経路と呼ぶ。
更に、アプリケーション実行部104−デバイスドライバ112−デバイスI/F114−インターコネクト106という経路を、第4の経路と呼ぶ。
また、インターコネクト106−バックエンドドライバ110という経路を、第5の経路と呼ぶ。
図1の(1)〜(5)は、それぞれ、第1の経路〜第5の経路を示す。
そして、本実施の形態では、基本ユニット101に拡張ユニット103が接続されるまでは、図7に示すように、アプリケーション実行部102からのアクセス要求は第1の経路からデバイス107に到達する。
基本ユニット101に拡張ユニット103が接続された後は、図8に示すように、アプリケーション実行部104からのアクセス要求は、第4の経路と、インターコネクト106からインターコネクト105への経路と、第3の経路とで構成される経路から、デバイス107に到達する。
また、基本ユニット101に拡張ユニット103が接続された後は、図9に示すように、アプリケーション実行部102からのアクセス要求は、第2の経路と、インターコネクト105からインターコネクト106への経路と、第5の経路と、第4の経路(アプリケーション実行部104を除く)と、インターコネクト106からインターコネクト105への経路と、第3の経路とで構成される経路から、デバイス107に到達する。
図9に示す経路を代替経路という。
このように、本実施の形態では、バックエンドドライバ切替え部117とデバイスI/F切替え部115は、基本ユニット101に拡張ユニット103が接続される際に、アプリケーション実行部102がデバイス107にアクセスする経路を、第1の経路(図7)から代替経路(図9)に切り替える。
また、アプリケーション実行部102−フロントエンドドライバ108−バックエンドドライバ切替え部117−インターコネクト105という経路を、第2の経路と呼ぶ。
また、インターコネクト105−デバイスI/F切替え部115−デバイス107という経路を、第3の経路と呼ぶ。
更に、アプリケーション実行部104−デバイスドライバ112−デバイスI/F114−インターコネクト106という経路を、第4の経路と呼ぶ。
また、インターコネクト106−バックエンドドライバ110という経路を、第5の経路と呼ぶ。
図1の(1)〜(5)は、それぞれ、第1の経路〜第5の経路を示す。
そして、本実施の形態では、基本ユニット101に拡張ユニット103が接続されるまでは、図7に示すように、アプリケーション実行部102からのアクセス要求は第1の経路からデバイス107に到達する。
基本ユニット101に拡張ユニット103が接続された後は、図8に示すように、アプリケーション実行部104からのアクセス要求は、第4の経路と、インターコネクト106からインターコネクト105への経路と、第3の経路とで構成される経路から、デバイス107に到達する。
また、基本ユニット101に拡張ユニット103が接続された後は、図9に示すように、アプリケーション実行部102からのアクセス要求は、第2の経路と、インターコネクト105からインターコネクト106への経路と、第5の経路と、第4の経路(アプリケーション実行部104を除く)と、インターコネクト106からインターコネクト105への経路と、第3の経路とで構成される経路から、デバイス107に到達する。
図9に示す経路を代替経路という。
このように、本実施の形態では、バックエンドドライバ切替え部117とデバイスI/F切替え部115は、基本ユニット101に拡張ユニット103が接続される際に、アプリケーション実行部102がデバイス107にアクセスする経路を、第1の経路(図7)から代替経路(図9)に切り替える。
次に動作について説明する。
図2は、バックエンドドライバ切替え部117における、バックエンドドライバ切替え動作を示すフローチャートである。
まず、接続検出部116が、拡張ユニット103が基本ユニット101に接続されているかを検出し(S201)、検出結果をバックエンドドライバ切替え部117に通知する。
拡張ユニット103が基本ユニット101に接続されている場合(S202でYES)は、バックエンドドライバ切替え部117が、フロントエンドドライバ108の通信先を、インターコネクト105およびインターコネクト106を経由したバックエンドドライバ110とする設定を行い、アプリケーション実行部102がデバイス107にアクセスするための経路を代替経路にする(S203)。
つまり、バックエンドドライバ切替え部117は、フロントエンドドライバ108から受信したアクセス要求の転送先としてインターコネクト105を記憶する。
一方、拡張ユニット103が基本ユニット101に接続されていない場合(S202でNO)は、バックエンドドライバ切替え部117は、フロントエンドドライバ108の通信先をバックエンドドライバ109とする設定を行い、アプリケーション実行部102がデバイス107にアクセスするための経路を第1の経路にする(S204)。
つまり、バックエンドドライバ切替え部117は、フロントエンドドライバ108から受信したアクセス要求の転送先としてバックエンドドライバ109を記憶する。
拡張ユニット103が基本ユニット101に接続されている場合(S202でYES)は、バックエンドドライバ切替え部117が、フロントエンドドライバ108の通信先を、インターコネクト105およびインターコネクト106を経由したバックエンドドライバ110とする設定を行い、アプリケーション実行部102がデバイス107にアクセスするための経路を代替経路にする(S203)。
つまり、バックエンドドライバ切替え部117は、フロントエンドドライバ108から受信したアクセス要求の転送先としてインターコネクト105を記憶する。
一方、拡張ユニット103が基本ユニット101に接続されていない場合(S202でNO)は、バックエンドドライバ切替え部117は、フロントエンドドライバ108の通信先をバックエンドドライバ109とする設定を行い、アプリケーション実行部102がデバイス107にアクセスするための経路を第1の経路にする(S204)。
つまり、バックエンドドライバ切替え部117は、フロントエンドドライバ108から受信したアクセス要求の転送先としてバックエンドドライバ109を記憶する。
図3はデバイスI/F切替え部115における、デバイスI/F切替え動作を示すフローチャートである。
まず、接続検出部116が、拡張ユニット103が基本ユニット101に接続されているかを検出し(S301)、検出結果をデバイスI/F切替え部115に通知する。
拡張ユニット103が基本ユニット101に接続されている場合(S302でYES)は、デバイスI/F切替え部115が、デバイス107の通信先を拡張ユニット103側のデバイスI/F114とする設定を行い、アプリケーション実行部102がデバイス107にアクセスするための経路を代替経路にする(S303)。
つまり、デバイスI/F切替え部115は、アクセス要求の受信元としてインターコネクト105を記憶する。
一方、拡張ユニット103が基本ユニット101に接続されていない場合(S302でNO)は、デバイスI/F切替え部115は、デバイス107の通信先を基本ユニット101側のデバイスI/F113とする設定を行い、アプリケーション実行部102がデバイス107にアクセスするための経路を第1の経路にする(S304)。
つまり、デバイスI/F切替え部115は、アクセス要求の受信元としてデバイスI/F113を記憶する。
拡張ユニット103が基本ユニット101に接続されている場合(S302でYES)は、デバイスI/F切替え部115が、デバイス107の通信先を拡張ユニット103側のデバイスI/F114とする設定を行い、アプリケーション実行部102がデバイス107にアクセスするための経路を代替経路にする(S303)。
つまり、デバイスI/F切替え部115は、アクセス要求の受信元としてインターコネクト105を記憶する。
一方、拡張ユニット103が基本ユニット101に接続されていない場合(S302でNO)は、デバイスI/F切替え部115は、デバイス107の通信先を基本ユニット101側のデバイスI/F113とする設定を行い、アプリケーション実行部102がデバイス107にアクセスするための経路を第1の経路にする(S304)。
つまり、デバイスI/F切替え部115は、アクセス要求の受信元としてデバイスI/F113を記憶する。
図4は基本ユニット101側のアプリケーション実行部102からデバイス107へアクセスする動作を示すフローチャートである。
まず、アプリケーション実行部102がフロントエンドドライバ108へデバイス107へのアクセス要求を送信し(S401)、フロントエンドドライバ108が当該アクセス要求をバックエンドドライバ切替え部117に転送する。
拡張ユニット103が基本ユニット101に接続され、図2のS203及び図3のS303によりアプリケーション実行部102からデバイス107へのアクセス経路として代替経路が設定されている場合(S402でYES)は、バックエンドドライバ切替え部117がアクセス要求をインターコネクト105に転送し、更に、インターコネクト105がアクセス要求をインターコネクト105に転送して拡張ユニット103に到達させる(S403)。
更に、インターコネクト106がアクセス要求をバックエンドドライバ110に転送し(S404)、バックエンドドライバ110がアクセス要求をデバイスドライバ112に転送する(S405)。
デバイスドライバ112はアクセス要求をデバイスI/F114に転送し(S406)、デバイスI/F114はアクセス要求をインターコネクト106に転送し、更に、インターコネクト106がアクセス要求をインターコネクト105に転送して基本ユニット101に到達させる(S407)。
基本ユニット101では、インターコネクト105がアクセス要求をデバイスI/F切替え部115に転送し、デバイスI/F切替え部115がアクセス要求をデバイス107に転送してデバイス107に到達させる(S411)。
拡張ユニット103が基本ユニット101に接続され、図2のS203及び図3のS303によりアプリケーション実行部102からデバイス107へのアクセス経路として代替経路が設定されている場合(S402でYES)は、バックエンドドライバ切替え部117がアクセス要求をインターコネクト105に転送し、更に、インターコネクト105がアクセス要求をインターコネクト105に転送して拡張ユニット103に到達させる(S403)。
更に、インターコネクト106がアクセス要求をバックエンドドライバ110に転送し(S404)、バックエンドドライバ110がアクセス要求をデバイスドライバ112に転送する(S405)。
デバイスドライバ112はアクセス要求をデバイスI/F114に転送し(S406)、デバイスI/F114はアクセス要求をインターコネクト106に転送し、更に、インターコネクト106がアクセス要求をインターコネクト105に転送して基本ユニット101に到達させる(S407)。
基本ユニット101では、インターコネクト105がアクセス要求をデバイスI/F切替え部115に転送し、デバイスI/F切替え部115がアクセス要求をデバイス107に転送してデバイス107に到達させる(S411)。
一方、S402において拡張ユニット103が基本ユニット101に接続されていない場合(S402でNO)は、バックエンドドライバ切替え部117がアクセス要求をバックエンドドライバ109に転送し(S408)、バックエンドドライバ109がアクセス要求をデバイスドライバ111に転送し(S409)、更に、デバイスドライバ111がアクセス要求をデバイスI/F113に転送する(S410)。
そして、デバイスI/F113がアクセス要求をデバイスI/F切替え部115に転送し、デバイスI/F切替え部115がアクセス要求をデバイス107に転送してデバイス107に到達させる(S411)。
そして、デバイスI/F113がアクセス要求をデバイスI/F切替え部115に転送し、デバイスI/F切替え部115がアクセス要求をデバイス107に転送してデバイス107に到達させる(S411)。
以上の図4のフローでは、アプリケーション実行部102からデバイス107へのアクセス要求の転送を説明したが、アクセス要求に対するデバイス107からの応答は、図4と同じ経路を逆の順序で転送される。
すなわち、基本ユニット101に拡張ユニット103が接続されている場合は、アクセス要求に対する応答は、デバイス107−デバイスI/F切替え部115−インターコネクト105−インターコネクト106−デバイスI/F114−デバイスドライバ112−バックエンドドライバ110−インターコネクト106−インターコネクト105−バックエンドドライバ切替え部117−フロントエンドドライバ108−アプリケーション実行部102という経路で転送される。
また、基本ユニット101に拡張ユニット103が接続されていない場合は、アクセス要求に対する応答は、デバイス107−デバイスI/F切替え部115−デバイスI/F113−デバイスドライバ111−バックエンドドライバ109−バックエンドドライバ切替え部117−フロントエンドドライバ108−アプリケーション実行部102という経路で転送される。
すなわち、基本ユニット101に拡張ユニット103が接続されている場合は、アクセス要求に対する応答は、デバイス107−デバイスI/F切替え部115−インターコネクト105−インターコネクト106−デバイスI/F114−デバイスドライバ112−バックエンドドライバ110−インターコネクト106−インターコネクト105−バックエンドドライバ切替え部117−フロントエンドドライバ108−アプリケーション実行部102という経路で転送される。
また、基本ユニット101に拡張ユニット103が接続されていない場合は、アクセス要求に対する応答は、デバイス107−デバイスI/F切替え部115−デバイスI/F113−デバイスドライバ111−バックエンドドライバ109−バックエンドドライバ切替え部117−フロントエンドドライバ108−アプリケーション実行部102という経路で転送される。
図5は拡張ユニット103側のアプリケーション実行部104からデバイス107へアクセスする動作を示すフローチャートである。
まず、アプリケーション実行部104がデバイスドライバ112へアクセス要求を送信する(S501)。
デバイスドライバ112はデバイスI/F114へアクセス要求を転送する(S502)。
デバイスI/F114はアクセス要求をインターコネクト106に転送し、更に、インターコネクト106がアクセス要求をインターコネクト105に転送して基本ユニット101に到達させる(S503)。
基本ユニット101では、インターコネクト105がアクセス要求をデバイスI/F切替え部115に転送し、デバイスI/F切替え部115がアクセス要求をデバイス107に転送してデバイス107に到達させる(S504)。
デバイスドライバ112はデバイスI/F114へアクセス要求を転送する(S502)。
デバイスI/F114はアクセス要求をインターコネクト106に転送し、更に、インターコネクト106がアクセス要求をインターコネクト105に転送して基本ユニット101に到達させる(S503)。
基本ユニット101では、インターコネクト105がアクセス要求をデバイスI/F切替え部115に転送し、デバイスI/F切替え部115がアクセス要求をデバイス107に転送してデバイス107に到達させる(S504)。
以上の図5のフローでは、アプリケーション実行部104からデバイス107へのアクセス要求の転送を説明したが、アクセス要求に対するデバイス107からの応答は、図5と同じ経路を逆の順序で転送される。
すなわち、アクセス要求に対する応答は、デバイス107−デバイスI/F切替え部115−インターコネクト105−インターコネクト106−デバイスI/F114−デバイスドライバ112−アプリケーション実行部104という経路で転送される。
すなわち、アクセス要求に対する応答は、デバイス107−デバイスI/F切替え部115−インターコネクト105−インターコネクト106−デバイスI/F114−デバイスドライバ112−アプリケーション実行部104という経路で転送される。
以上のように、基本ユニット101へ拡張ユニット103を接続した場合は、基本ユニット101内のアプリケーション実行部102からデバイス107へのアクセスを、拡張ユニット103を経由したアクセス経路で実行可能としているので、拡張ユニット103を接続した場合でも基本ユニット101が通常動作することができる。
実施の形態2.
以上の実施の形態1では、バックエンドドライバ切替え部117において、第1の経路と代替経路のいずれの経路を使用するかを、接続検出部116からの拡張ユニット103の接続有無の通知を元に判断している。
本実施の形態では、バックエンドドライバ切替え部117が接続検出部116と接続されておらず、バックエンドドライバ切替え部117が接続検出部116からの通知を受けない場合でも、第1の経路と代替経路のいずれの経路を使用するかを判断できるようにする例を説明する。
以上の実施の形態1では、バックエンドドライバ切替え部117において、第1の経路と代替経路のいずれの経路を使用するかを、接続検出部116からの拡張ユニット103の接続有無の通知を元に判断している。
本実施の形態では、バックエンドドライバ切替え部117が接続検出部116と接続されておらず、バックエンドドライバ切替え部117が接続検出部116からの通知を受けない場合でも、第1の経路と代替経路のいずれの経路を使用するかを判断できるようにする例を説明する。
なお、本実施の形態では、基本ユニット101と拡張ユニット103の構成は、基本的に図1に示す通りであるが、本実施の形態の基本ユニット101では、接続検出部116とバックエンドドライバ切替え部117との接続線が存在しない。
また、本実施の形態においても、デバイスI/F切替え部115は接続検出部116から拡張ユニット103の接続有無が通知され、図3に示した手順にて、デバイス107とデバイスI/F114との接続又はデバイス107とデバイスI/F113の接続を行う。
また、本実施の形態においても、デバイスI/F切替え部115は接続検出部116から拡張ユニット103の接続有無が通知され、図3に示した手順にて、デバイス107とデバイスI/F114との接続又はデバイス107とデバイスI/F113の接続を行う。
図6は、バックエンドドライバ切替え部117の動作を示すフローチャートである。
まず、バックエンドドライバ切替え部117は、基本ユニット101側のバックエンドドライバ109へアクセス(S601)し、デバイスドライバ111へアクセス(S602)する。
デバイスドライバ111はデバイスI/F113へのデバイス107の接続有無を確認する(S603、S604)。
S604にてデバイスI/F113へデバイス107が接続されている場合(S604でYES)は、バックエンドドライバ切替え部117は、フロントエンドドライバ108からのアクセス要求の転送先をバックエンドドライバ109とする(S605)。
一方、S604にてデバイスI/F113へデバイス107が接続されていない場合(S604でNO)、すなわち、デバイス107の接続先がデバイスI/F114である場合は、バックエンドドライバ切替え部117は、フロントエンドドライバ108からのアクセス要求の転送先をインターコネクト105及びインターコネクト106を経由したバックエンドドライバ110とする(S606)。
デバイスドライバ111はデバイスI/F113へのデバイス107の接続有無を確認する(S603、S604)。
S604にてデバイスI/F113へデバイス107が接続されている場合(S604でYES)は、バックエンドドライバ切替え部117は、フロントエンドドライバ108からのアクセス要求の転送先をバックエンドドライバ109とする(S605)。
一方、S604にてデバイスI/F113へデバイス107が接続されていない場合(S604でNO)、すなわち、デバイス107の接続先がデバイスI/F114である場合は、バックエンドドライバ切替え部117は、フロントエンドドライバ108からのアクセス要求の転送先をインターコネクト105及びインターコネクト106を経由したバックエンドドライバ110とする(S606)。
なお、本実施の形態においても、アクセス要求の転送は、図4及び図5に示す手順に従って行わる。
以上のように、デバイスI/Fを用いて拡張ユニットの接続有無を判断することで、バックエンドドライバ切替え部が接続検出部と接続されていない場合でも、アクセス経路を判断することができる。
最後に、実施の形態1、2に示した基本ユニット101のハードウェア構成例を図10を参照して説明する。
基本ユニット101はコンピュータであり、基本ユニット101の各要素をプログラムで実現することができる。
基本ユニット101のハードウェア構成としては、バスに、演算装置901、外部記憶装置902、主記憶装置903、通信装置904、入出力装置905、インターコネクト906が接続されている。
インターコネクト906は、図1のインターコネクト105に対応する。
基本ユニット101はコンピュータであり、基本ユニット101の各要素をプログラムで実現することができる。
基本ユニット101のハードウェア構成としては、バスに、演算装置901、外部記憶装置902、主記憶装置903、通信装置904、入出力装置905、インターコネクト906が接続されている。
インターコネクト906は、図1のインターコネクト105に対応する。
演算装置901は、プログラムを実行するCPU(Central Processing Unit)である。
外部記憶装置902は、例えばROM(Read Only Memory)やフラッシュメモリ、ハードディスク装置である。
主記憶装置903は、RAM(Random Access Memory)である。
通信装置904は、例えば、NIC(Network Interface Card)である。
入出力装置905は、例えばマウス、キーボード、ディスプレイ装置等である。
例えば、外部記憶装置902、通信装置904、入出力装置905を図1に示すデバイス107とすることができる。
外部記憶装置902は、例えばROM(Read Only Memory)やフラッシュメモリ、ハードディスク装置である。
主記憶装置903は、RAM(Random Access Memory)である。
通信装置904は、例えば、NIC(Network Interface Card)である。
入出力装置905は、例えばマウス、キーボード、ディスプレイ装置等である。
例えば、外部記憶装置902、通信装置904、入出力装置905を図1に示すデバイス107とすることができる。
プログラムは、通常は外部記憶装置902に記憶されており、主記憶装置903にロードされた状態で、順次演算装置901に読み込まれ、実行される。
プログラムは、図1に示す「〜部」として説明している機能を実現するプログラムである。
更に、外部記憶装置902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置903にロードされ、演算装置901はOSを実行しながら、図1に示す「〜部」の機能を実現するプログラムを実行する。
プログラムは、図1に示す「〜部」として説明している機能を実現するプログラムである。
更に、外部記憶装置902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置903にロードされ、演算装置901はOSを実行しながら、図1に示す「〜部」の機能を実現するプログラムを実行する。
なお、図10の構成は、あくまでも基本ユニット101のハードウェア構成の一例を示すものであり、基本ユニット101のハードウェア構成は図10に記載の構成に限らず、他の構成であってもよい。
また、拡張ユニット103は、例えば、図10の構成から外部記憶装置902、通信装置904、入出力装置905を省略したハードウェア構成をしている。
また、拡張ユニット103は、例えば、図10の構成から外部記憶装置902、通信装置904、入出力装置905を省略したハードウェア構成をしている。
101 基本ユニット、102 アプリケーション実行部、103 拡張ユニット、104 アプリケーション実行部、105 インターコネクト、106 インターコネクト、107 デバイス、108 フロントエンドドライバ、109 バックエンドドライバ、110 バックエンドドライバ、111 デバイスドライバ、112 デバイスドライバ、113 デバイスI/F、114 デバイスI/F、115 デバイスI/F切替え部、116 接続検出部、117 バックエンドドライバ切替え部。
Claims (10)
- デバイスと、前記デバイスにアクセスする第1のエレメントと、前記第1のエレメントから前記デバイスに至る第1の経路とが含まれる第1のユニットに、第2のユニットが接続された際に、
前記第1のエレメントが前記デバイスにアクセスする経路を、
前記第1の経路から、
前記第1のエレメントから前記第2のユニットを経由して前記デバイスに至る代替経路に切り替える経路切替え部を有することを特徴とする制御装置。 - 前記経路切替え部は、
前記第1のユニットに前記第2のユニットが接続される前は、
前記第1のエレメントからの前記デバイスに対するアクセス要求を前記第1の経路から前記デバイスに到達させ、
前記第1のユニットに前記第2のユニットが接続された後は、
前記第1のエレメントからの前記デバイスに対するアクセス要求を前記代替経路から前記デバイスに到達させることを特徴とする請求項1に記載の制御装置。 - 前記経路切替え部は、
前記第1のユニットに前記第2のユニットが接続される前は、
前記第1のエレメントからのアクセス要求に対する前記デバイスからの応答を前記第1の経路から前記第1のエレメントに到達させ、
前記第1のユニットに前記第2のユニットが接続された後は、
前記第1のエレメントからのアクセス要求に対する前記デバイスからの応答を前記代替経路から前記第1のユニットに到達させることを特徴とする請求項2に記載の制御装置。 - 前記経路切替え部は、
前記デバイスと、前記第1のエレメントと、第1のインターコネクトと、前記第1の経路と、前記第1のエレメントから前記第1のインターコネクトに至る第2の経路と、前記第1のインターコネクトから前記デバイスに至る第3の経路とが含まれる第1のユニットの前記第1のインターコネクトに、前記デバイスにアクセスする第2のエレメントと、第2のインターコネクトと、前記第2のエレメントから前記第2のインターコネクトに至る第4の経路と、前記第2のインターコネクトから前記第2の経路に至る第5の経路とが含まれる第2のユニットの前記第2のインターコネクトが接続された際に、
前記第1のエレメントが前記デバイスにアクセスする経路を、
前記第1の経路から、
前記第2の経路と、前記第1のインターコネクトから前記第2のインターコネクトへの経路と、前記第5の経路と、前記第4の経路と、前記第2のインターコネクトから前記第1のインターコネクトへの経路と、前記第3の経路とが用いられた代替経路に切り替えることを特徴とする請求項1に記載の制御装置。 - 前記経路切替え部は、
前記第1のユニットに前記第2のユニットが接続された際に、
前記第4の経路と、前記第2のインターコネクトから前記第1のインターコネクトへの経路と、前記第3の経路とで構成される経路を、前記第2のエレメントが前記デバイスにアクセスする経路として設定することを特徴とする請求項4に記載の制御装置。 - 前記経路切替え部は、
前記第1のユニットに前記第2のユニットが接続された際に、
前記第1のエレメントからアクセス要求を受信するフロントエンドドライバの通信先を、前記第1の経路に含まれるバックエンドドライバから前記第5の経路に含まれるバックエンドドライバに切り替え、前記デバイスの通信先を、前記第1の経路に含まれるデバイスインタフェースから前記第4の経路に含まれるデバイスインタフェースに切り替えて、
前記第1のエレメントが前記デバイスにアクセスする経路を、前記第1の経路から前記代替経路に切り替えることを特徴とする請求項4に記載の制御装置。 - 前記制御装置は、更に、
前記第1のユニットに前記第2のユニットが接続されたことを検出する接続検出部を有し、
前記経路切替え部は、
バックエンドドライバを切り替えるバックエンドドライバ切替え部と、
デバイスインタフェースを切り替えるデバイスインタフェース切替え部とを有し、
前記バックエンドドライバ切替え部は、
前記接続検出部から前記第1のユニットに前記第2のユニットが接続されたことを通知された際に、前記フロントエンドドライバの通信先を前記第5の経路に含まれるバックエンドドライバに切り替え、
前記デバイスインタフェース切替え部は、
前記接続検出部から前記第1のユニットに前記第2のユニットが接続されたことを通知された際に、前記デバイスの通信先を前記第4の経路に含まれるデバイスインタフェースに切り替えることを特徴とする請求項6に記載の制御装置。 - 前記制御装置は、更に、
前記第1のユニットに前記第2のユニットが接続されたことを検出する接続検出部を有し、
前記経路切替え部は
バックエンドドライバを切り替えるバックエンドドライバ切替え部と、
デバイスインタフェースを切り替えるデバイスインタフェース切替え部とを有し、
前記デバイスインタフェース切替え部は、
前記接続検出部から前記第1のユニットに前記第2のユニットが接続されたことを通知された際に、前記デバイスの通信先を前記第4の経路に含まれるデバイスインタフェースに切り替え、
前記バックエンドドライバ切替え部は、
前記デバイスの通信先のデバイスインタフェースが前記第1の経路に含まれるデバイスインタフェースか前記第4の経路に含まれるデバイスインタフェースであるかを判断し、前記デバイスの通信先のデバイスインタフェースが前記第4の経路に含まれるデバイスインタフェースである場合に、前記フロントエンドドライバの通信先を前記第5の経路に含まれるバックエンドドライバに切り替えることを特徴とする請求項6に記載の制御装置。 - デバイスと、前記デバイスにアクセスする第1のエレメントと、前記第1のエレメントから前記デバイスに至る第1の経路とが含まれる第1のユニットと、
第2のユニットとを有し、
前記第1のユニットは、
前記第1のユニットに前記第2のユニットが接続された際に、
前記第1のエレメントが前記デバイスにアクセスする経路を、
前記第1の経路から、
前記第1のエレメントから前記第2のユニットを経由して前記デバイスに至る代替経路に切り替える経路切替え部を有することを特徴とする情報処理システム。 - 前記情報処理システムは、
前記デバイスと、前記第1のエレメントと、第1のインターコネクトと、前記第1の経路と、前記第1のエレメントから前記第1のインターコネクトに至る第2の経路と、前記第1のインターコネクトから前記デバイスに至る第3の経路とが含まれる第1のユニットと、
前記デバイスにアクセスする第2のエレメントと、第2のインターコネクトと、前記第2のエレメントから前記第2のインターコネクトに至る第4の経路と、前記第2のインターコネクトから前記第2の経路に至る第5の経路とが含まれる第2のユニットとを有し、
前記経路切替え部は、
前記第1のインターコネクトに前記第2のインターコネクトが接続された際に、
前記第1のエレメントが前記デバイスにアクセスする経路を、
前記第1の経路から、
前記第2の経路と、前記第1のインターコネクトから前記第2のインターコネクトへの経路と、前記第5の経路と、前記第4の経路と、前記第2のインターコネクトから前記第1のインターコネクトへの経路と、前記第3の経路とが用いられた代替経路に切り替えることを特徴とする請求項9に記載の情報処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013250773A JP2015108912A (ja) | 2013-12-04 | 2013-12-04 | 制御装置及び情報処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013250773A JP2015108912A (ja) | 2013-12-04 | 2013-12-04 | 制御装置及び情報処理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015108912A true JP2015108912A (ja) | 2015-06-11 |
Family
ID=53439227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013250773A Pending JP2015108912A (ja) | 2013-12-04 | 2013-12-04 | 制御装置及び情報処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015108912A (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005135269A (ja) * | 2003-10-31 | 2005-05-26 | Toshiba Corp | 電子機器 |
JP2007183132A (ja) * | 2006-01-05 | 2007-07-19 | Mitsubishi Electric Corp | カーナビゲーション装置、情報更新用pcカード、及びカーナビゲーション装置の情報更新方法 |
JP2008256611A (ja) * | 2007-04-06 | 2008-10-23 | Mitsubishi Electric Corp | 地図データ更新システムおよびアダプタ装置 |
WO2013089772A1 (en) * | 2011-12-16 | 2013-06-20 | Intel Corporation | Method, apparatus, and system for expanding graphical processing via an external display-data i/o port |
-
2013
- 2013-12-04 JP JP2013250773A patent/JP2015108912A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005135269A (ja) * | 2003-10-31 | 2005-05-26 | Toshiba Corp | 電子機器 |
JP2007183132A (ja) * | 2006-01-05 | 2007-07-19 | Mitsubishi Electric Corp | カーナビゲーション装置、情報更新用pcカード、及びカーナビゲーション装置の情報更新方法 |
JP2008256611A (ja) * | 2007-04-06 | 2008-10-23 | Mitsubishi Electric Corp | 地図データ更新システムおよびアダプタ装置 |
WO2013089772A1 (en) * | 2011-12-16 | 2013-06-20 | Intel Corporation | Method, apparatus, and system for expanding graphical processing via an external display-data i/o port |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6020159B2 (ja) | 情報処理装置、及び情報処理方法 | |
KR101558427B1 (ko) | 가상화된 입/출력을 위한 프로세서 로컬 코히어런시를 갖는 컴퓨터 시스템 | |
TWI522816B (zh) | 應用伺服器至非依電性隨機存取記憶體之路徑選取技術 | |
WO2015035887A1 (zh) | 一种数据存储方法、装置及系统 | |
US11863469B2 (en) | Utilizing coherently attached interfaces in a network stack framework | |
US9003077B2 (en) | Sharing IOMMU mappings across devices in a DMA group | |
WO2015180513A1 (zh) | 一种数据传输方法及计算机 | |
JP2015532738A (ja) | 入出力エラー封じ込めイベント後のリカバリ | |
JP2015162091A (ja) | 記憶制御装置、ストレージシステム、記憶制御方法、および記憶制御プログラム | |
KR20190098146A (ko) | 바이트 어드레스 지정 가능한 메모리로서 비-휘발성 메모리에 액세스하는 방법 및 장치 | |
CN114817120A (zh) | 一种跨域数据共享方法、系统级芯片、电子设备及介质 | |
CN117591450B (zh) | 一种数据处理系统、方法、设备及介质 | |
US10241922B2 (en) | Processor and method | |
TWI505183B (zh) | 共享記憶體系統 | |
JP2007179200A (ja) | コンピュータシステムおよびストレージ仮想化装置 | |
US10452134B2 (en) | Automated peripheral device handoff based on eye tracking | |
CN111373384A (zh) | 服务器装置、车载设备和数据通信方法 | |
EP3298736B1 (en) | Forwarding current request based on, at least in part, previous request(s) | |
JP2015108912A (ja) | 制御装置及び情報処理システム | |
CN113434089B (zh) | 数据搬移方法、装置及pcie系统 | |
US20140006763A1 (en) | Initialization of multi-core processing system | |
US10877921B2 (en) | Methods and apparatus to extend USB-C software support to non-USB-C devices | |
CN113609150B (zh) | 基于硬件的原子写方法、设备及系统 | |
US10769041B2 (en) | Information processing system, monitoring apparatus, and network device | |
JP2010128560A (ja) | 仮想記憶システム、仮想記憶の管理方法、仮想記憶のためのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161104 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170824 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170905 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180306 |