JP2010033188A - 送信経路選択装置、データ送信システム、コンピュータ装置および送信経路選択方法 - Google Patents

送信経路選択装置、データ送信システム、コンピュータ装置および送信経路選択方法 Download PDF

Info

Publication number
JP2010033188A
JP2010033188A JP2008192636A JP2008192636A JP2010033188A JP 2010033188 A JP2010033188 A JP 2010033188A JP 2008192636 A JP2008192636 A JP 2008192636A JP 2008192636 A JP2008192636 A JP 2008192636A JP 2010033188 A JP2010033188 A JP 2010033188A
Authority
JP
Japan
Prior art keywords
transmission
data
unit
transmission request
request
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.)
Withdrawn
Application number
JP2008192636A
Other languages
English (en)
Inventor
Koji Ebisusaki
浩二 戎崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008192636A priority Critical patent/JP2010033188A/ja
Priority to US12/457,054 priority patent/US20100020817A1/en
Priority to EP09161499A priority patent/EP2151759A3/en
Priority to CN200910150460A priority patent/CN101634973A/zh
Priority to KR1020090055804A priority patent/KR20100011898A/ko
Publication of JP2010033188A publication Critical patent/JP2010033188A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1443Transmit or communication errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Bus Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】複数のバスを利用したデータ送信において、送信側のみで故障バスを回避して経路割り当てを行なうこと。
【解決手段】複数のシリアルバスBs0〜Bs3を持つシステムにおいて、バス選択回路20は、リクエストIDと送信に使用したバスIDとを対応付けてタグレジスタ21cに保持する。そして、バス選択回路20が新規のデータ送信要求を受け付けた場合には、タグレジスタ21cを参照し、同一のリクエストIDに前回割り当てたバスID以外のバスIDを割り当てる。
【選択図】 図1

Description

本発明は、複数の伝送経路からデータ送信に使用する経路を選択する送信経路選択装置、送信経路選択方法およびこれを用いたデータ送信システム、コンピュータ装置に関する。
従来からシリアル転送バスなどにおいて、複数の伝送経路を利用してデータ送信を行なう技術が用いられている。通常、複数のデータ転送バスを持つシステムでは、リクエスト転送ごとに循環式に利用可能なバスをリクエスト転送バスとして使用している。
複数のバスのいずれかに故障が発生すると、故障が発生したバスを避けてバスの割り当て、すなわちリクエスト転送バスの選択を行なう必要がある。そこで、従来は、通信の下流側であるデータ受信側で故障を検知して上流側であるデータ送信側に通知し、上流側が通知を受けて故障したバスを封鎖することで以降のリクエストで故障バスがリクエスト転送バスとして選ばれることを回避していた(例えば、特許文献1参照。)。
特開2008−21153号公報
しかしながら、故障の発生を検知するのはデータ受信側であるので、データ送信側に位置する送信経路選択装置が故障発生を知るためには、データ受信側と通信する必要があった。
また、データ受信側からデータ送信側である送信経路選択装置に送られた故障通知リクエスト自体が通信エラーとなる場合も考えられる。故障通知リクエストが通信エラーになると、送信経路選択装置は、故障発生を知ることができず、故障バスに送信リクエストを割り当ててしまう可能性があった。
すなわち、従来の技術では、送信側のみで故障バスを回避することができないという問題があった。
本発明は、上述した従来技術にかかる問題点を解消し、課題を解決するためになされたものであり、送信側のみで故障バスを回避して経路割り当てを行なうことのできる送信経路選択装置、送信経路選択方法およびこれを用いたデータ送信システム、コンピュータ装置を提供することを目的とする。
上述した課題を解決し、目的を達成するために、開示の装置、システムおよび方法は、データ送信要求とともに、データ送信要求を識別する送信要求識別情報を受け付け、送信要求識別情報に対して過去に割り当てた送信経路を対応付けて保持し、新規のデータ送信要求を受け付けた場合に保持部を検索し、複数の送信経路から検索結果として得られた送信経路を除いて、新規のデータ送信要求に割り当てる送信経路を選択する。
開示の装置、システム、方法によれば、送信側のみで故障バスを回避して経路割り当てを行なうことのできる装置、システム、方法を得ることができるという効果を奏する。
以下に、本発明にかかる送信経路選択装置、データ送信システム、コンピュータ装置および送信経路選択方法の実施例を図面に基づいて詳細に説明する。
図1は、本実施例に係るデータ送信システムの概要構成を示す概要構成図である。図1に示したデータ送信システムは、CPU(Central Processing Unit)からIOへのデータ送信を行なうシステムであり、CPU11、IO13を有してサーバとして機能するコンピュータ装置の一部である。なお、IOは、CPUに対する外部からの入出力を担う外部入出力インターフェースである。
CPU11からIO13へのデータ送信は、複数のシリアルバスBs0〜Bs3を介して行なわれ、送信データのバスへの割り当ては対IO送信制御部12が行なっている。
CPU11がIO13にデータ送信を行なう場合、まず、CPU11は対IO送信制御部12にデータ送信要求を送る。対IO送信制御部12は、データ送信要求に対してバスの割り当てを行ない、割り当てたバスのIDをデータ送信許可とともにCPU11に返す。
CPU11は、データ送信許可を受け、割り当てられたバスIDと送信するデータを対IO送信制御部12に送る。対IO送信制御部12は、CPU11から受けたバスIDが示すバスに、同じくCPUから受けたデータを送信する。
ここで、従来の構成ではCPUは、対IO送信制御部12に対してデータ送信要求を行なう場合に、送信データを識別する情報を提供していなかった。これに対して本実施例のCPU11は、CPU11内で送信データの識別に使用するリクエストIDを送信要求識別情報として対IO送信制御部12に提供する。
具体的には、CPU11から対IO送信制御部12にはデータ送信要求が有効であることを示す1ビットの信号REQ−Vに加え、リクエストIDを示す4ビットの信号REQ−ID、リクエストの種類を示す2ビットの信号REQ−TYPEが送られる。REQ−V,REQ−ID,REQ−TYPEは、それぞれ異なる信号線によって伝送される。
REQ−IDは、CPUがIOに対して要求を発行するごとにそのリクエストに対して指定されるユニークなIDであり、指定されたREQ−IDは、そのリクエストが完了するまで再利用することはできない。REQ−TYPEは、CPUがリクエストの発行を要求する際、発行するリクエストの大きさに応じて指定された値をもつ。
対IO送信制御部12は、その内部にバス選択回路20と、バス制御回路25_0〜25_3を有する。さらに、バス選択回路20は、その内部にタグ処理部21、昇順検索回路22、バス資源管理部23およびルーティング回路24を有する。さらにタグ処理部21は、その内部に信号分離部21a、検索部21b、タグレジスタ21cおよび更新部21dを有する。
タグ処理部21内部の信号分離部21aは、CPU11からデータ送信要求(REQ−V)、送信要求識別情報であるリクエストID(REQ−ID)、リクエストの種別情報(REQ−TYPE)を受け付け、リクエストIDを検索部21bに渡し、種別情報をバス資源管理部23に渡し、データ送信要求を昇順検索回路22に送る。
タグレジスタ21cは、各リクエストIDと、前回のデータ送信に使用したバスを示すバスIDとを対応付けて保持している。検索部21bは、信号分離部21aから渡されたリクエストIDをキーにタグレジスタ21cを検索し、検索結果として得られたバスIDを昇順検索回路22に送る。
バス資源管理部23は、バス制御回路25_0〜25_3におけるデータの送信待機状況を管理する管理部である。バス資源管理部23は、ルーティング回路24が送信データをバス制御部25_0〜25_3のいずれかに送った場合に、送信データのデータ量分だけ該当するバス制御回路の送信待機量を増加させる。そして、バス資源管理部23は、バス制御25_0〜25_3のいずれかデータ送信を実行した場合に、送信したデータ量だけ該当するバス制御回路の送信待機量を減少させる。
各バス制御回路の送信待機量と、各バス制御回路の送信待機バッファの容量とを比較することで、各バス制御回路の空き容量を知ることができる。バス資源管理部23は、タグ処理部21から渡された種別情報が示すリクエストのサイズと各バス制御部の空き容量とを比較し、リクエストサイズよりも空き容量の大きいバス選択回路を空バス状況として昇順検索回路22に提供する。
昇順検索回路22は、信号分離部21aからデータ送信要求を受信した場合に、そのデータ送信要求に対して割り当てるバスを選択する送信経路選択部である。すなわち、昇順検索回路22は、空バス状況からデータ送信要求を割り当て可能なバスを検索し、検索結果として得られたバスをデータ送信要求に割り当てるバスとして選択し、選択したバスIDをデータ送信許可とともにCPU11および更新部21dに送る。する。このとき、昇順検索回路22は、検索部21bが出力したバスID、すなわち前回、同一のリクエストIDに割り当てたバスID以外のバスIDをデータ送信要求に割り当てる。
更新部21dは、昇順検索回路22による検索結果に基づいてタグレジスタ21cを更新する。すなわち、昇順検索回路22の出力したバスIDを、リクエストIDに対応付けてタグレジスタに保持する。このため、更新部21dは、各リクエストIDに対して常に最新のバスIDを保持することとなる。
図2は、タグレジスタ21cについて説明する説明図である。図2に示したタグレジスタ21cは、リクエストID0〜31の各々に対し、バスID0〜3のいずれかを対応付けて保持している。なお、バスID0〜3は、それぞれバスBs0〜Bs3に対して付された識別情報である。
タグレジスタ21cのエントリ数は、CPU11が使用するリクエストIDの数によって決定される。CPU11は、データ送信をリクエストIDの数だけ発行し、待機させることができる。また、CPU11は、各リクエストIDを使用後、他のデータの送信を行なう際に再利用される。すなわち、リクエストIDは、任意の時点においてユニークな値であり、同時に存在するデータ送信要求を一意に決定するが、同一のリクエストIDは異なる時点では異なる内容のデータ送信に対応する。そして、CPU11は各リクエストIDに対応付けられたデータ送信要求の内容を把握しているため、同一のリクエストIDを付してデータ送信要求をする場合であっても、同じデータ送信要求の再リクエストであるのか、データの異なる新たなデータ送信要求であるのかを認識している。これに対し、対IO送信制御部12は、データ送信要求の内容に関知せず、あるリクエストIDを付されたデータ送信要求が再リクエストであるのか新規のリクエストであるのかは識別しない。
図1に戻り、データ送信許可とバスIDを対IO送信制御部12から取得したCPU11は、取得したバスIDとともに送信するデータを対IO送信制御部12に送る。対IO送信制御部12内部のルーティング回路24は、CPU11が指定したバスに対応するバス制御回路に送信データを送る。
バス制御回路25_0〜25_3は、それぞれバスBs0〜Bs3に対応し、ルーティング回路24から送られたデータを一時的にバッファし、順次対応するバスに乗せて送出する。
図3は、CPU11とIO13との送受信にそれぞれ複数のバスを設けたサーバ1の概要構成を示す概要構成図である。サーバ1は、具体的には、その内部にCPU11、IO13、バスインターフェース15,16を備える。
バスインターフェース15はCPU11側、バスインターフェース16はIO13側に設けたインターフェースである。バスインターフェース15はその内部に対IO送信制御部12と受信部15aを有し、バスインターフェース16はその内部に対CPU送信制御部14と、受信部16aを有する。
CPU11からIO13にデータ送信を行なう場合、バスインターフェース15内部の対IO送信制御部12が転送制御を行ない、バスBs0〜Bs3にデータを割り振る。バスインターフェース16内部の受信部16aは、バスBs0〜Bs3からデータを受信してIO13に受信データを渡す。
同様に、IO13からCPU11にデータ送信を行なう場合、バスインターフェース16内部の対CPU送信制御部14が転送制御を行ない、バスBr0〜Br3にデータを割り振る。バスインターフェース15内部の受信部15aは、バスBr0〜Br3からデータを受信してCPU11に受信データを渡す。
なお、IO13は、サーバ1の外部の装置と接続されており、CPU11から受信したデータを外部の装置に送出したり、外部の装置から入力されたデータをCPU11に送信することができる。
つぎに、図4を参照し、バス選択回路20の処理動作について説明する。図4に示したように、まずバス選択回路20は、CPU11からデータ送信要求、リクエストID、種別情報を受信する(S101)。
その後、タグ処理部21内部のタグ部21bがリクエストIDをキーにタグレジスタ21cを検索し(S102)、バス資源管理部23が種別情報に示されたサイズ以上の空き容量を有する空バスを通知する(S103)。そして、昇順検索回路22は、データ送信要求とバスIDに基づいてバス割り当て処理を実行する(S104)。
割り当て処理の実行後、昇順検索回路22は、データ送信許可とバスIDをCPU11に送信する(S105)。また、更新部21dがタグレジスタ21cを更新する(S106)。
その後、ルーティング回路24がCPU11からバスIDとデータを受信し(S107)、受信したバスIDに対応するバス制御回路にデータを送信し(S108)、処理を終了する。
図5は、図4に示したバス割り当て処理(S104)の詳細について説明するフローチャートである。図5に示したように、昇順検索回路22は、まず、タグ処理部21からリクエストIDに対応するタグレジスタの値、つまり前回使用したバスIDを取得する(S201)。また、バス資源管理部23から空バス状況の通知を受ける(S202)。
その後、昇順検索回路22は、タグレジスタの値をインクリメントし、判定対象バスIDとし(S203)、判定対象バスの空バスであるか否かを判定する(S204)。
判定の結果、待機可能量が送信要求されたデータ量以上である場合(S204,Yes)、送信要求に判定対象バスを割り当てて(S205)、処理を終了する。
一方、待機可能量が送信要求されたデータ量よりも小さい場合(S204,No)、対象バスのバスIDをインクリメントして、新たな判定対象バスとする(S206)。そして、新たな判定対象パスのIDがタグレジスタの値、つまり前回使用したバスIDの値と一致しなければ(S207,No)、S204に戻って処理を継続する。
一方、新たな判定対象パスのIDがタグレジスタの値(前回使用したバスIDの値)と一致した場合(S207,Yes)、前回使用したバスID以外の全てのバスに空き容量がなく、判定対象バスが一巡したことを示しているので、所定時間待機(S208)後、S202に戻る。
図6は、通常時の送受信動作について説明する説明図である。図6に示した例では、CPU11は、リクエストIDがそれぞれ0,1,2であるリクエストREQ0,REQ1,REQ2を順に発行している。
対IO送信制御部12は、CPU11が発行したリクエストREQ0,REQ1,REQ2に対し、それぞれバスBs0,Bs1,Bs2を割り当てて、IO13に送信する。
IO13での処理が完了すると、IO13はリクエストREQ0,REQ1,REQ2にそれぞれ対応した応答RES0,RES1,RES2を作成し、CPU11に送信する。応答RES0,RES1,RES2には、対CPU送信制御部14によって利用可能なバスBr0〜Br2が割り当てられてCPU11に送信される。そして、CPU11が応答を受信することで各リクエストの処理が完了する。
図7は、IO13への送信バスBs1が故障した場合の送受信フローを示している。図6の場合と同様に、CPU11からリクエストREQ0,REQ1,REQ2がそれぞれバスBs0,Bs1,Bs2を使って送信された場合、REQ0,REQ2はIO13で正常に受信されるが、REQ1は、バスBs1の故障による転送エラーのために途中で破棄される。
IO13での処理が完了すると、IO13は、リクエストREQ0,REQ2に対応する応答RES0,RES2をCPU11に対して送信する。CPU11は応答RES0,RES2を受信し、リクエストID0,2の処理は完了する。しかし、破棄されたリクエストREQ1については、処理が行なわれず、IO13は応答RES1を送信しない。
CPU11は、リクエストREQ1に対する応答RES1が返ってこないため、REQ1の応答監視時間超過、すなわちタイムアウトによりリクエストREQ1の再送を行なう。リクエストREQ1を再送する際は、前回に使用したバスBs1以外のバスを送信バスとして検索する。図7の例では、Bs1の次のバスBs2が空いているため、Bs2が選択されてRQ1の再送に使用される。
バスBs2は正常であるので、リクエストREQ1のIO13への再送は成功する。IO13での処理が完了すると、IO13はリクエストREQ1に対する応答RES1を作成し、CPU11に対して送信する。CPU11は応答RES1を受信して、リクエストID1の処理を完了する。
このように、対IO送信制御部12は、リクエストIDが同一のリクエストが連続で同じバスを使用することの無いよう転送制御を行なうので、リクエストのタイムアウトによる再送を成功させることができる。また、かかる制御では、故障発生の検知や、下流側からの通知を必要としないため、送信側のみで簡易に故障バスの回避が実現できる。
図8は、故障検知に基づく従来の送受信フローを示している。図6,7の場合と同様に、CPU11からリクエストREQ0,REQ1,REQ2がそれぞれバスBs0,Bs1,Bs2を使って送信されている。そして、リクエストREQ0,REQ2はIO13で正常に受信されるが、リクエストREQ1は、バスBs1の故障による転送エラーのために破棄される。
IO13での処理が完了すると、IO13は、リクエストREQ0,REQ2に対応する応答RES0,RES2をCPU11に対して送信する。CPU11は応答RES0,RES2を受信し、リクエストID0,2の処理を完了する。
また、対CPU送信制御部は、バスBs1における故障を検知し、対IO制御部に対して故障通知を行なう。対IO送信制御部は、故障通知を受けてバスBs1に対して使用不可設定を行ない、以降の送信データを割り振らないように設定変更する。
その後、リクエストREQ1に対する応答RES1が返ってこないため、CPU11はREQ1の応答監視時間超過によりリクエストREQ1の再送を行なう。リクエストREQ1を再送する際は、対IO送信制御部が故障バスBs1を使用不可設定しているので、他のバスを送信バスとして使用する。これにより、リクエストREQ1のIO13への再送は成功する。IO13での処理が完了すると、IO13は、リクエストREQ1に対する応答RES1を作成し、CPU11に対して送信する。CPU11は応答RES1を受信して、リクエストID1の処理を完了する。
このように、従来の転送制御では、下流側から上流側に故障通知を行なうことで、上流側が故障発生を認識し、故障バスを閉鎖する必要があった。これに対し、対IO制御部12による転送制御では、故障発生の認識も、下流側からの通知も必要としない。また、故障通知の未達によって、故障バスに送信リクエストを割り当ててしまうことを回避できる。
さて、ここまでの説明ではCPUからIOに対するデータ送信について説明を行なったが、IOからCPUに対するデータ送信にも同様の転送制御を適用することができる。
図9は、IO13からCPU11へのデータ送信を行なうシステムについて説明するシステム構成図である。IO13からCPU11へのデータ送信は、複数のシリアルバスBr0〜Br3を介して行なわれ、送信データのバスへの割り当ては対CPU送信制御部14が行なっている。
IO13がCPU13にデータ送信を行なう場合、まず、IO13は対CPU送信制御部14にデータ送信要求を送る。対CPU送信制御部12は、データ送信要求に対してバスの割り当てを行ない、割り当てたバスのIDをデータ送信許可とともにIO13に返す。
IO13は、データ送信許可を受け、割り当てられたバスIDと送信するデータを対CPU送信制御部14に送る。対CPU送信制御部14は、IO13から受けたバスIDが示すバスに、同じくIO13から受けたデータを送信する。
対CPU送信制御部14は、その内部にバス選択回路40と、バス制御回路26_0〜26_3を有する。バス制御回路26_0〜26_3は、それぞれバスBr0〜Br3に対応し、バス選択回路40から送られたデータを一時的にバッファし、順次バスに乗せて送出する。
バス選択回路40は、その内部にタグ処理部41、昇順検索回路42、バス資源管理部43およびルーティング回路44を有する。タグ処理部21は、さらにその内部に信号分離部41a、検索部41b、タグレジスタ41cおよび更新部41dを有する。
タグ処理部41内部の信号分離部41aは、IO13からデータ送信要求と送信要求識別情報であるリクエストID、リクエストの種別を示す種別情報とを受け付け、リクエストIDを検索部41bに渡し、種別情報をバス資源管理部43に渡し、データ送信要求を昇順検索回路42に送る。
検索部41bは、信号分離部41aから渡されたリクエストIDをキーにタグレジスタ41cを検索し、検索結果として得られたバスIDを昇順検索回路42に送る。タグレジスタ41cは、各リクエストIDについて、前回のデータ送信に使用したバスを示すバスIDを対応付けて保持している。
バス資源管理部43は、バス制御回路26_0〜26_3におけるデータの送信待機状況を管理する管理部である。バス資源管理部23は、ルーティング回路44が送信データをバス制御回路26_0〜26_3のいずれかに送った場合に、送信データのデータ量分だけ該当するバス制御回路の送信待機量を増加させる。そして、バス資源管理部43は、バス制御26_0〜26_3のいずれかデータ送信を実行した場合に、送信したデータ量だけ該当するバス制御部の送信待機量を減少させる。
各バス制御回路の送信待機量と、各バス制御回路の送信待機バッファの容量とを比較することで、各バス制御回路の空き容量を知ることができる。バス資源管理部43は、タグ処理部41から渡された種別情報が示すリクエストのサイズと各バス制御部の空き容量とを比較し、リクエストサイズよりも空き容量の大きいバス選択回路を空バス状況として昇順検索回路42に提供する。
昇順検索回路42は、信号分離部41aからデータ送信要求を受信した場合に、そのデータ送信要求に対して割り当てるバスを選択する送信経路選択部である。このとき、昇順検索回路42は、空バス状況から検索部41bが出力したバスID、すなわち前回、同一のリクエストIDに割り当てたバスID以外のバスIDを割り当て、割り当てたバスIDをデータ送信許可とともにIO13および更新部41dに送る。
更新部41dは、昇順検索回路42による検索結果に基づいてタグレジスタ41cを更新する。すなわち、昇順検索結果42の出力したバスIDを、リクエストIDに対応付けて保持する。このため、更新部41dは、各リクエストIDに対して常に最新のバスIDを保持することとなる。
データ送信許可とバスIDを対CPU送信制御部14から取得したIO13は、取得したバスIDとともに送信するデータを対CPU送信制御部14に送る。対CPU送信制御部14内部のルーティング回路44は、IO13が指定したバスに対応するバス制御回路に送信データを送る。
以上説明してきたように、本実施例において送信経路選択装置として機能するバス選択回路20は、データ送信装置として機能するCPU11からデータ送信要求とともに送信要求識別情報であるリクエストIDを受け付け、リクエストIDに対して送信経路(バスID)を対応付けてタグレジスタに保持する。
そして、バス選択回路20が新規のデータ送信要求を受け付けた場合には、タグレジスタを参照し、リクエストIDが同一のリクエストが連続で同じバスを使用することの無いよう転送制御を行なう。
そのため、バス故障によってリクエストのタイムアウトが発生した場合に、リクエストの再送を成功させることができる。また、かかる制御では、故障発生の検知や、下流側からの通知を必要としないため、送信側のみで簡易に故障バスの回避が実現できる。
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)データ送信要求とともに、前記データ送信要求を識別する送信要求識別情報を受け付ける受付部と、
前記送信要求識別情報と、前記送信要求識別情報に対して過去に割り当てた送信経路とを対応付けて保持する保持部と、
前記受付部が前記データ送信要求を受け付けた場合に、前記受付部が前記データ送信要求とともに受け付けた送信要求識別情報に基づいて前記保持部を検索する検索部と、
複数の送信経路のうち、前記検索部の検索結果として得られた送信経路以外の送信経路から、前記データ送信要求に割り当てる送信経路を選択する送信経路選択部と、
前記送信経路選択部による選択結果に基づいて前記保持部の保持内容を更新する更新部と、
を備えたことを特徴とする送信経路選択装置。
(付記2)前記送信経路選択部は、前記保持部に保持された送出経路の次の送信経路から順に、前記データ送信要求を割り当て可能であるか否かを判定することを特徴とする付記1に記載の送信経路選択装置。
(付記3)前記複数の送信経路におけるデータの送信待機状況を管理する管理部をさらに備え、前記送信経路選択部は、待機可能なデータ量が送信するデータ量に比して大きい送信経路を前記データ送信要求に割り当てることを特徴とする付記1または2に記載の送信経路選択装置。
(付記4)前記受付部は、前記データ送信要求とともに、送信するデータの種別を示す種別情報をさらに受け付け、前記送信経路選択部は、前記データの種別に基づいて前記送信するデータ量を求めることを特徴とする付記3に記載の送信経路選択装置。
(付記5)前記複数の送信経路の各々は、シリアルバスであることを特徴とする付記1〜4のいずれかひとつに記載の送信経路選択装置。
(付記6)データ送信装置が作成した送信データを送信する際に、送信経路選択装置が複数の送信経路のいずれを前記送信データの送信に使用するかを選択するデータ送信システムであって、
前記データ送信装置は、データ送信要求と、前記データ送信要求を識別する送信要求識別情報と、を前記送信経路選択装置に送り、
前記送信経路選択装置は、
前記データ送信装置から前記データ送信要求と前記送信要求識別情報を受け付ける受付部と、
前記送信要求識別情報と、前記送信要求識別情報に対して過去に割り当てた送信経路とを対応付けて保持する保持部と、
前記受付部が前記データ送信要求を受け付けた場合に、前記受付部がデータ送信要求とともに受け付けた送信要求識別情報に基づいて前記保持部を検索する検索部と、
前記複数の送信経路から前記検索部の検索結果として得られた送信経路を除いて、前記データ送信要求に割り当てる送信経路を選択し、選択した送信経路を前記データ装置に通知する送信経路選択部と、
前記送信経路選択部による選択結果に基づいて前記保持部の保持内容を更新する更新部と、
を備えたことを特徴とするデータ送信システム。
(付記7)前記データ送信装置は、自装置内で前記送信データの識別に使用する情報を前記送信要求識別情報として前記送信選択装置に提供することを特徴とする付記6に記載のデータ送信システム。
(付記8)演算処理部と入出力処理部との間を複数の伝送経路で接続し、前記複数の伝送路におけるデータ送信を送信制御部が制御するコンピュータ装置であって、
演算処理部と入出力処理部の少なくとも一方は、他方へのデータ送信に際し、データ送信要求と、前記データ送信要求を識別する送信要求識別情報と、前記送信制御部に出力し、
前記送信制御部は、
前記データ送信要求と前記送信要求識別情報を受け付ける受付部と、
前記送信要求識別情報と、前記送信要求識別情報に対して過去に割り当てた送信経路とを対応付けて保持する保持部と、
前記受付部が前記データ送信要求を受け付けた場合に、データ送信要求とともに受け付けた送信要求識別情報に基づいて前記保持部を検索する検索部と、
前記複数の送信経路のうち、前記検索部の検索結果として得られた送信経路以外の送信経路から、前記データ送信要求に割り当てる送信経路を選択する送信経路選択部と、
前記送信経路選択部による選択結果に基づいて前記保持部の保持内容を更新する更新部と、
を備えたことを特徴とするコンピュータ装置。
(付記9)データ送信要求とともに、前記データ送信要求を識別する送信要求識別情報を受け付ける受付ステップと、
前記受付ステップが前記データ送信要求を受け付けた場合に、前記受付ステップが前記データ送信要求とともに受け付けた送信要求識別情報に基づいて、前記送信要求識別情報に対して過去に割り当てた送信経路を対応付けて保持する保持部を検索する検索ステップと、
複数の送信経路のうち、から前記検索ステップの検索結果として得られた送信経路以外の送信経路から、前記データ送信要求に割り当てる送信経路を選択する送信経路選択ステップと、
前記送信経路選択ステップによる選択結果に基づいて前記保持部の保持内容を更新する更新ステップと、
を含んだことを特徴とする送信経路選択方法。
図1は、本実施例に係るデータ送信システムの概要構成を示す概要構成図である。 図2は、図1に示したタグレジスタについて説明する説明図である。 図3は、CPUとIOとの送受信にそれぞれ複数のバスを設けたサーバの概要構成を示す概要構成図である。 図4は、バス選択回路20の処理動作について説明するフローチャートである。 図5は、バス割り当て処理について説明するフローチャートである。 図6は、通常時の送受信動作について説明する説明図である。 図7は、送信バスBs1が故障した場合の送受信動作を説明する説明図である。 図8は、故障検知に基づく送受信動作を説明する説明図である。 図9は、IOからCPUへのデータ送信を行なうシステムについて説明するシステム構成図である。
符号の説明
1 サーバ
11 CPU
12 対IO送信制御部
13 IO
14 対CPU送信制御部
15,16 バスインターフェース
15a,16a 受信部
20,40 バス選択回路
21,41 タグ処理部
21a,41a 信号分離部
21b,41b 検索部
21c,41c タグレジスタ
21d,41d 更新部
22,42 昇順検索回路
23,43 バス資源管理部
24,44 ルーティング回路
25_0〜25_3,26_0〜26_3 バス制御回路
Bs0〜Bs3,Br0〜Br3 バス

Claims (9)

  1. データ送信要求とともに、前記データ送信要求を識別する送信要求識別情報を受け付ける受付部と、
    前記送信要求識別情報と、前記送信要求識別情報に対して過去に割り当てた送信経路とを対応付けて保持する保持部と、
    前記受付部が前記データ送信要求を受け付けた場合に、前記受付部が前記データ送信要求とともに受け付けた送信要求識別情報に基づいて前記保持部を検索する検索部と、
    複数の送信経路のうち、前記検索部の検索結果として得られた送信経路以外の送信経路から、前記データ送信要求に割り当てる送信経路を選択する送信経路選択部と、
    前記送信経路選択部による選択結果に基づいて前記保持部の保持内容を更新する更新部と、
    を備えたことを特徴とする送信経路選択装置。
  2. 前記送信経路選択部は、前記保持部に保持された送出経路の次の送信経路から順に、前記データ送信要求を割り当て可能であるか否かを判定することを特徴とする請求項1に記載の送信経路選択装置。
  3. 前記複数の送信経路におけるデータの送信待機状況を管理する管理部をさらに備え、前記送信経路選択部は、待機可能なデータ量が送信するデータ量に比して大きい送信経路を前記データ送信要求に割り当てることを特徴とする請求項1または2に記載の送信経路選択装置。
  4. 前記受付部は、前記データ送信要求とともに、送信するデータの種別を示す種別情報をさらに受け付け、前記送信経路選択部は、前記データの種別に基づいて前記送信するデータ量を求めることを特徴とする請求項3に記載の送信経路選択装置。
  5. 前記複数の送信経路の各々は、シリアルバスであることを特徴とする請求項1〜4のいずれかひとつに記載の送信経路選択装置。
  6. データ送信装置が作成した送信データを送信する際に、送信経路選択装置が複数の送信経路のいずれを前記送信データの送信に使用するかを選択するデータ送信システムであって、
    前記データ送信装置は、データ送信要求と、前記データ送信要求を識別する送信要求識別情報と、を前記送信経路選択装置に送り、
    前記送信経路選択装置は、
    前記データ送信装置から前記データ送信要求と前記送信要求識別情報を受け付ける受付部と、
    前記送信要求識別情報と、前記送信要求識別情報に対して過去に割り当てた送信経路とを対応付けて保持する保持部と、
    前記受付部が前記データ送信要求を受け付けた場合に、前記受付部が前記データ送信要求とともに受け付けた送信要求識別情報に基づいて前記保持部を検索する検索部と、
    前記複数の送信経路のうち、前記検索部の検索結果として得られた送信経路以外の送信経路から前記データ送信要求に割り当てる送信経路を選択し、選択した送信経路を前記データ装置に通知する送信経路選択部と、
    前記送信経路選択部による選択結果に基づいて前記保持部の保持内容を更新する更新部と、
    を備えたことを特徴とするデータ送信システム。
  7. 前記データ送信装置は、自装置内で前記送信データの識別に使用する情報を前記送信要求識別情報として前記送信選択装置に提供することを特徴とする請求項6に記載のデータ送信システム。
  8. 演算処理部と入出力処理部との間を複数の伝送経路で接続し、前記複数の伝送路におけるデータ送信を送信制御部が制御するコンピュータ装置であって、
    演算処理部と入出力処理部の少なくとも一方は、他方へのデータ送信に際し、データ送信要求と、前記データ送信要求を識別する送信要求識別情報と、前記送信制御部に出力し、
    前記送信制御部は、
    前記データ送信要求と前記送信要求識別情報を受け付ける受付部と、
    前記送信要求識別情報と、前記送信要求識別情報に対して過去に割り当てた送信経路とを対応付けて保持する保持部と、
    前記受付部が前記データ送信要求を受け付けた場合に、前記受付部が前記データ送信要求とともに受け付けた送信要求識別情報に基づいて前記保持部を検索する検索部と、
    前記複数の送信経路のうち、前記検索部の検索結果として得られた送信経路以外の送信経路から、前記データ送信要求に割り当てる送信経路を選択する送信経路選択部と、
    前記送信経路選択部による選択結果に基づいて前記保持部の保持内容を更新する更新部と、
    を備えたことを特徴とするコンピュータ装置。
  9. データ送信要求とともに、前記データ送信要求を識別する送信要求識別情報を受け付ける受付ステップと、
    前記受付ステップが前記データ送信要求を受け付けた場合に、前記受付ステップが前記データ送信要求とともに受け付けた送信要求識別情報に基づいて、前記送信要求識別情報に対して過去に割り当てた送信経路を対応付けて保持する保持部を検索する検索ステップと、
    複数の送信経路のうち、前記検索ステップの検索結果として得られた送信経路以外の送信経路から、前記データ送信要求に割り当てる送信経路を選択する送信経路選択ステップと、
    前記送信経路選択ステップによる選択結果に基づいて前記保持部の保持内容を更新する更新ステップと、
    を含んだことを特徴とする送信経路選択方法。
JP2008192636A 2008-07-25 2008-07-25 送信経路選択装置、データ送信システム、コンピュータ装置および送信経路選択方法 Withdrawn JP2010033188A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2008192636A JP2010033188A (ja) 2008-07-25 2008-07-25 送信経路選択装置、データ送信システム、コンピュータ装置および送信経路選択方法
US12/457,054 US20100020817A1 (en) 2008-07-25 2009-05-29 Transmission path selecting apparatus and method
EP09161499A EP2151759A3 (en) 2008-07-25 2009-05-29 Transmission path selecting apparatus and method
CN200910150460A CN101634973A (zh) 2008-07-25 2009-06-23 传送路径选择设备和方法
KR1020090055804A KR20100011898A (ko) 2008-07-25 2009-06-23 송신 경로 선택 장치, 데이터 송신 시스템, 컴퓨터 장치 및 송신 경로 선택 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008192636A JP2010033188A (ja) 2008-07-25 2008-07-25 送信経路選択装置、データ送信システム、コンピュータ装置および送信経路選択方法

Publications (1)

Publication Number Publication Date
JP2010033188A true JP2010033188A (ja) 2010-02-12

Family

ID=41426922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008192636A Withdrawn JP2010033188A (ja) 2008-07-25 2008-07-25 送信経路選択装置、データ送信システム、コンピュータ装置および送信経路選択方法

Country Status (5)

Country Link
US (1) US20100020817A1 (ja)
EP (1) EP2151759A3 (ja)
JP (1) JP2010033188A (ja)
KR (1) KR20100011898A (ja)
CN (1) CN101634973A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105676517A (zh) * 2016-03-22 2016-06-15 成都京东方光电科技有限公司 一种量子点膜及显示装置
US10341247B2 (en) 2016-10-27 2019-07-02 International Business Machines Corporation Handling path issues for storage copy services
CN108696427B (zh) 2017-04-11 2020-05-08 华为技术有限公司 一种数据传输方法及装置
US11314674B2 (en) 2020-02-14 2022-04-26 Google Llc Direct memory access architecture with multi-level multi-striding

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06303282A (ja) * 1993-04-13 1994-10-28 Hitachi Ltd 情報伝送系における情報処理方式
EP0959599A3 (de) * 1998-05-06 1999-12-22 Siemens Aktiengesellschaft Verfahren zum Wechsel von einem ersten in einen zweiten Übertragungsweg und/oder Übertragungsmodus ohne Unterbrechung der Übertragung
US6434637B1 (en) * 1998-12-31 2002-08-13 Emc Corporation Method and apparatus for balancing workloads among paths in a multi-path computer system based on the state of previous I/O operations
US6615221B2 (en) * 2001-03-09 2003-09-02 Hewlett-Packard Development Company, Lp. Scalable transport layer protocol for multiprocessor interconnection networks that tolerates interconnection component failure
US7042877B2 (en) * 2001-04-27 2006-05-09 The Boeing Company Integrated analysis of incoming data transmissions
US7269137B2 (en) * 2001-08-24 2007-09-11 Canon Kabushiki Kaisha Method for setting up an isochronous data stream connection, with the application of a predetermined, total isochronous delay on one or more routing paths
JP2004112586A (ja) * 2002-09-20 2004-04-08 Pioneer Electronic Corp 情報送信装置、情報送信方法及び情報送受信システム
US7307948B2 (en) * 2002-10-21 2007-12-11 Emulex Design & Manufacturing Corporation System with multiple path fail over, fail back and load balancing
US7251743B2 (en) * 2003-11-20 2007-07-31 International Business Machines Corporation Method, system, and program for transmitting input/output requests from a primary controller to a secondary controller
US20060256803A1 (en) * 2004-01-09 2006-11-16 Tsuneo Nakata Communication method
US7774461B2 (en) * 2004-02-18 2010-08-10 Fortinet, Inc. Mechanism for determining a congestion metric for a path in a network
US7930433B2 (en) * 2005-05-25 2011-04-19 Mitsubishi Electric Corporation Stream distribution system
JP4728896B2 (ja) 2006-07-13 2011-07-20 エヌイーシーコンピュータテクノ株式会社 コンピュータシステム
US8379677B2 (en) * 2007-04-30 2013-02-19 Vixs Systems, Inc. System for combining a plurality of video streams and method for use therewith

Also Published As

Publication number Publication date
EP2151759A2 (en) 2010-02-10
EP2151759A3 (en) 2011-03-23
US20100020817A1 (en) 2010-01-28
KR20100011898A (ko) 2010-02-03
CN101634973A (zh) 2010-01-27

Similar Documents

Publication Publication Date Title
CN108681565B (zh) 区块链数据并行处理方法、装置、设备和存储介质
JP5245711B2 (ja) 分散データ処理システム、分散データ処理方法および分散データ処理用プログラム
JP2010033188A (ja) 送信経路選択装置、データ送信システム、コンピュータ装置および送信経路選択方法
WO2012169456A1 (ja) 車両制御装置、車両制御システム
US20170039118A1 (en) Cluster system, server device, cluster system management method, and computer-readable recording medium
JP2013105494A (ja) 高整合性処理を提供する方法
US10599365B2 (en) Storage system
CN104094558A (zh) 多线程化分组处理
US20090248915A1 (en) Communication control apparatus and communication control method
WO2007099584A1 (ja) エラー検出装置
JP5381109B2 (ja) 通信装置及びその制御プログラム
US7418558B2 (en) Information processing system, system control apparatus, and system control method
JP7082884B2 (ja) 通信装置、通信システム、及び通信方法
US20110144771A1 (en) Safety control apparatus
US11177828B2 (en) Data collection apparatus, method, and program
US9838324B2 (en) Information processing system, information management apparatus, and data transfer control method
WO2021082538A1 (zh) 会话控制处理方法、装置、设备及介质
JP2019020864A (ja) 演算装置
CN114489718A (zh) 树状连接***的固件升级方法、装置、设备及存储介质
US10740199B2 (en) Controlling device, controlling method, and fault tolerant apparatus
US8392621B2 (en) Managing dataflow in a temporary memory
US20140281091A1 (en) Method and apparatus for identifying cause of interrupt
JP4284339B2 (ja) 受信装置,受信方法及び通信システム
WO2008097648A1 (en) Fabric generated monotonically increasing identifier
JP5679190B2 (ja) ホスト計算機、分散処理システム、及びi/o制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110418

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110815