(57)【要約】【課題】順序依存性を持つキュー群を正しい順序でコンシューマシステムごとに統合できるキュー統合システム及び方法を提供する。【解決手段】キューアダプタ２１の各々は、対応するキュー１１からキューアイテムを取得するキューアイテム獲得部２１１と、取得したキューアイテムを保持するキューアイテム保持部２１３と、統合キュー２２のいずれにキューアイテムを受け渡すかを、統合リスト２３に格納されている情報に基づいて特定し、保持したキューアイテムの順序を示すキューアイテム情報を通知するキューアイテム情報提供部２１４とを有し、統合キュー２２の各々は、通知されたキューアイテム情報に応じた順序で各キューアダプタ２１からキューアイテムを取得するキューアイテム獲得部２２１と、獲得したキューアイテムを対応するコンシューマシステム３へ受け渡すキューアイテム提供部２２２とを有する。【選択図】図２
2007266724.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンシューマシステムと接続され、ルーティングシステムから入力された順序依存性のあるキューを前記コンシューマシステムごとに正しい順序で統合するキュー統合システムであって、
前記ルーティングシステムの各キューと１対１で対応するキューアダプタと、前記各コンシューマシステムと１対１で対応する統合キューと、前記キューの統合に関するルールが予め格納された統合ルール格納手段とを有し、
前記キューアダプタのそれぞれは、
前記ルーティングシステムの対応するキューから、その実体であるキューアイテムを取得する手段と、
取得した前記キューアイテムを保持するキューアイテム保持手段と、
前記キューアイテム保持手段に保持したキューアイテムを前記統合キューのいずれに受け渡すかを、前記統合ルール格納手段に格納されている情報に基づいて特定する手段と、
前記キューアイテム保持手段に保持したキューアイテムの順序を示すキューアイテム情報を前記特定した統合キューへ通知する手段とを有し、
前記統合キューのそれぞれは、
前記キューアダプタから通知された前記キューアイテム情報に応じた順序で前記各キューアダプタから前記キューアイテムを取得する手段と、
獲得したキューアイテムを対応する前記コンシューマシステムへ受け渡す手段とを有することを特徴とするキュー統合システム。
【請求項２】
前記キューアイテム情報は、キューアイテムが入っていたキューアダプタの識別子とキューアイテムの順序を特定する順序情報とからなることを特徴とする請求項１記載のキュー統合システム。
【請求項３】
前記順序情報は、前記キューが前記ルーティングシステムに入力された順番を表す情報であることを特徴とする請求項２記載のキュー統合システム。
【請求項４】
ルーティングシステムから入力された順序依存性のあるキューを複数のコンシューマシステムごとに正しい順序で統合するキュー統合方法であって、
前記ルーティングシステムの各キューと１対１で対応するキューアダプタのそれぞれは、
前記ルーティングシステムの対応するキューから、その実体であるキューアイテムを取得する工程と、
取得した前記キューアイテムを保持するキューアイテム保持工程と、
前記キューアイテム保持工程において保持したキューアイテムを前記統合キューのいずれに受け渡すかを、予め設定されている前記キューの統合に関するルールに基づいて特定する工程と、
前記キューアイテム保持工程において保持したキューアイテムの順序を示すキューアイテム情報を前記特定した統合キューへ通知する工程とを実行し、
前記各コンシューマシステムと１対１で対応する統合キューのそれぞれは、
前記キューアダプタから通知された前記キューアイテム情報に応じた順序で前記各キューアダプタから前記キューアイテムを取得する工程と、
獲得したキューアイテムを対応する前記コンシューマシステムへ受け渡す工程とを実行することを特徴とするキュー統合方法。
【請求項５】
前記キューアイテム情報は、キューアイテムが入っていたキューアダプタの識別子とキューアイテムの順序を特定する順序情報とからなることを特徴とする請求項４記載のキュー統合方法。
【請求項６】
前記順序情報は、前記キューが前記ルーティングシステムに入力された順番を表す情報であることを特徴とする請求項５記載のキュー統合方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多対多で接続されたクライアントシステムからコンシューマシステムとの間で授受されるキューを、各コンシューマシステムごとに時系列に応じて統合するキュー統合システム及びキュー統合方法に関する。
【背景技術】
【０００２】
構成を容易に変更できる情報処理システムを構築するための一つの方法として、あるシステムが何かしらの処理を別のシステムに要求する際に、要求をメッセージの形で送付し、さらにそのメッセージを要求先のシステムに直接送信するのではなく、ルーティングシステムを介して送信するようにする手法がある。
この手法では、図７に示すように、要求先システムに対応したキューをルーティングシステムに用意することで、要求元（プロバイダシステム）と供給先（コンシューマシステム）とを分離でき、システム構成の変更を容易に行える。
【０００３】
しかし、図８に示すように、実際の情報処理システムにおいては、一つのコンシューマシステムが複数のキューの要求を処理する場合がある。
【０００４】
このような場合、メッセージが順序依存性を持っているとすると、メッセージが配送（ルーティング）システムの入力点に到達した（ルーティングシステムに入力された）順序そのままに、コンシューマシステムがメッセージを獲得する順序とする必要がある。
【０００５】
このためには、図９に示すように、複数のキューを統合して一つのキューとしてコンシューマシステムへ配送するシステムが不可欠である。
【０００６】
メッセージを正規の順序に整列させることに関する従来技術としては、特許文献１に開示される「受信装置のバッファ管理方法」がある。
【０００７】
特許文献１に開示される発明は、順不同で到着したメッセージを整列させることを目的とするものであり、そのためのバッファ（メモリ）管理方法に関する発明である。したがって、メッセージの入来点は単一である。
また、あるメッセージが整列後のメッセージ列のどの位置に置かれるべきものかを、メッセージに付加された順序情報のみでシステムが判別可能であることを前提としており、入来したメッセージはその置かれるべき位置に応じた受信バッファに保存される。
【特許文献１】特開平５−５６０７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、ルーティングシステムの入力点での通過時刻を順序情報として採用した場合、あるメッセージと別のメッセージとのどちらが先かは判別できるが、二つのメッセージの間に別のメッセージが存在するか否かは判断できない。
【０００９】
さらに、メッセージが複数の異なるコンシューマシステムに取得される可能性も無いわけではない。
【００１０】
例えば、入力点においてカウンタなどを利用して通過メッセージに連続した番号を付加しても、あるコンシューマシステムが獲得する番号が離れた二つのメッセージに対して、それらをそのコンシューマシステムが連続して獲得すべきものか、間に別のメッセージを獲得すべきものかであるかは特定できない。
【００１１】
このように、順序依存性を持つメッセージ群を、メッセージが配送（ルーティング）システムの入力点に到達した（ルーティングシステムに入力された）順序そのままに、コンシューマシステムがメッセージを獲得する順序とするルーティングシステムは提供されていなかった。
【００１２】
本発明はかかる問題に鑑みてなされたものであり、順序依存性を持つキュー群を正しい順序でコンシューマシステムごとに統合できるキュー統合システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明は、第１の態様として、複数のコンシューマシステムと接続され、ルーティングシステムから入力された順序依存性のあるキューをコンシューマシステムごとに正しい順序で統合するキュー統合システムであって、ルーティングシステムの各キューと１対１で対応するキューアダプタと、各コンシューマシステムと１対１で対応する統合キューと、キューの統合に関するルールが予め格納された統合ルール格納手段とを有し、キューアダプタのそれぞれは、ルーティングシステムの対応するキューから、その実体であるキューアイテムを取得する手段と、取得したキューアイテムを保持するキューアイテム保持手段と、キューアイテム保持手段に保持したキューアイテムを統合キューのいずれに受け渡すかを、統合ルール格納手段に格納されている情報に基づいて特定する手段と、キューアイテム保持手段に保持したキューアイテムの順序を示すキューアイテム情報を特定した統合キューへ通知する手段とを有し、統合キューのそれぞれは、キューアダプタから通知されたキューアイテム情報に応じた順序で各キューアダプタからキューアイテムを取得する手段と、獲得したキューアイテムを対応するコンシューマシステムへ受け渡す手段とを有することを特徴とするキュー統合システムを提供するものである。
【００１４】
本発明の第１の態様においては、キューアイテム情報は、キューアイテムが入っていたキューアダプタの識別子とキューアイテムの順序を特定する順序情報とからなることが好ましく、これに加えて、順序情報は、キューがルーティングシステムに入力された順番を表す情報であることがより好ましい。
【００１５】
また、上記目的を達成するため、本発明は、第２の態様として、ルーティングシステムから入力された順序依存性のあるキューを複数のコンシューマシステムごとに正しい順序で統合するキュー統合方法であって、ルーティングシステムの各キューと１対１で対応するキューアダプタのそれぞれは、ルーティングシステムの対応するキューから、その実体であるキューアイテムを取得する工程と、取得したキューアイテムを保持するキューアイテム保持工程と、キューアイテム保持工程において保持したキューアイテムを統合キューのいずれに受け渡すかを、予め設定されているキューの統合に関するルールに基づいて特定する工程と、キューアイテム保持工程において保持したキューアイテムの順序を示すキューアイテム情報を特定した統合キューへ通知する工程とを実行し、各コンシューマシステムと１対１で対応する統合キューのそれぞれは、キューアダプタから通知されたキューアイテム情報に応じた順序で各キューアダプタからキューアイテムを取得する工程と、獲得したキューアイテムを対応するコンシューマシステムへ受け渡す工程とを実行することを特徴とするキュー統合方法を提供するものである。
【００１６】
本発明の第２の態様においては、キューアイテム情報は、キューアイテムが入っていたキューアダプタの識別子とキューアイテムの順序を特定する順序情報とからなることが好ましく、これに加えて、順序情報は、キューがルーティングシステムに入力された順番を表す情報であることがより好ましい。
【発明の効果】
【００１７】
本発明によれば、順序依存性を持つキュー群を正しい順序でコンシューマシステムごとに統合できるキュー統合システム及び方法を提供できる。
【発明を実施するための最良の形態】
【００１８】
本発明の好適な実施の形態について説明する。
図１に、本実施形態にかかるキュー統合システムを用いた情報処理システムの構成を示す。キュー統合システム２は、ルーティングシステム１の各キューに対して１対１で対応してキューを獲得するキューアダプタ２１（２１ａ〜２１ｅ）と、コンシューマシステムからの要求に応じてキューアイテムを獲得する統合キュー２２（２２ａ、２２ｂ）とを有する。
【００１９】
コンシューマシステム３ａは、ルーティングシステム１のキュー１１ａ、１１ｂ及び１１ｃのキューアイテムを獲得し、コンシューマシステム３ｂは、ルーティングシステム１のキュー２１ｄ及び２１ｅのキューアイテムを獲得する。
【００２０】
図２に、キュー統合システム２の詳細な構成を示す。キュー統合システム２は、複数のキューアダプタ２１ａ、２１ｂ・・・、２１ｅと、統合キュー２２ａ、２２ｂと、統合キュー２２ａ及び２２ｂがどのキューアダプタからキューアイテムを獲得するのかをマッピング保持する統合リスト２３とを有する。図３（ａ）に示すように、統合リスト２３は、キュー統合システム２における設定情報に該当し、システム利用時に生成されているべきものである。
【００２１】
キューアダプタ２１ａは、ルーティングシステム１のキュー１１ａからキューアイテムを獲得するキューアイテム獲得部２１１と、キューアイテムを統合キュー２２ａに提供するキューアイテム提供部２１２と、獲得したキューアイテムを一つ保持することができるキューアイテム保持部２１３と、キューアイテム保持部２１３で保持しているキューアイテムのキューアイテム情報を、統合キュー２２のキューアイテム情報リスト２２３に提供するアイテム情報提供部２１４とを有する。
【００２２】
図３（ｂ）に示すように、キューアイテム情報は、対応するキューアイテムが入っていたキューアダプタの識別子と順序情報とからなる情報である。順序情報は、例えば入力点においてキューアイテムに順番かつ一意に付与された番号や、キューアイテムが入力点を通過した時刻などである。
【００２３】
統合キュー２２ａは、キューアダプタ２１からキューアイテムを獲得するキューアイテム獲得部２２１と、外部のコンシューマシステム３からの要求を受け付けてキューアイテムを提供するキューアイテム提供部２２２と、キューアダプタ２１ａから提供されたキューアイテム情報を、順序情報に基づいて保持するキューアイテム情報リスト２２３とを有する。なお、キューアイテム情報のデータ構造の一例は図３（ｃ）に示す。
【００２４】
キューアイテム情報リスト２２３は、順序情報によりキューアイテム情報を適切な位置に挿入するため、実装方法としてリンクリストやバイナリ木などが考えられる。
【００２５】
キューアダプタ２１ａのキューアイテム獲得部２１１、キューアイテム提供部２１２及びキューアイテム情報提供部２１４と統合キュー２２ａのキューアイテム獲得部２２１及びキューアイテム提供部２２２とは、計算機上の処理ルーチンとして実装される。また、キューアダプタ２１ａのキューアイテム保持部２１３と、統合キュー２２ａのキューアイテム情報リスト２２３とは、計算機の記憶領域上に確保される。
【００２６】
なお、キューアダプタ２１ｂ〜２１ｅの構成は、キューアダプタ２１ａと同様である。また、統合キュー２２ｂの構成は統合キュー２２ａと同様である。
【００２７】
キュー統合システム２の動作について説明する。
図４に、キューアダプタ２１ａの動作の流れを示す。まず、キューアイテム獲得部２１１がキューアダプタ２１ａと対応するルーティングシステム１のキュー１１ａからキューアイテムを獲得する（ステップＳ１０１）。ここで、キュー１１ａにキューアイテムが無かった場合には獲得がブロックされ、獲得可能になるまで停止する。
【００２８】
キューアイテムが獲得できたら、キューアダプタ２１ａは、キューアイテムをキューアイテム保持部２１３に格納する（ステップＳ１０２）。
【００２９】
次に、キューアダプタ２１ａは、自分がキューアイテムを提供する統合キューを統合リスト２３を参照して特定する（ステップＳ１０３）。ここでは、統合キュー２２ａが特定される。
【００３０】
さらに、キューアダプタ２１ａは、ステップＳ１０１において獲得したキューアイテムを基にキューアイテム情報を生成する（ステップＳ１０４）。
【００３１】
そして、キューアダプタ２１ａは、生成したキューアイテム情報を、ステップＳ１０３において特定した統合キュー２２ａへ、キューアイテム提供部２１４を用いて提供する（ステップＳ１０５）。
【００３２】
その後、キューアダプタ２１ａは、キューアイテム保持部２１３に格納されているキューアイテムが統合キュー２２ａによって獲得されるのを待機し、キューアイテム保持部２１３が空になったら（キューアイテムが統合キュー２２ａに獲得されたら）ステップＳ１０１へ進み、上記の処理を繰り返す。
【００３３】
次に、統合キュー２２ａがキューアダプタ２１ａからキューアイテム情報を提供された際の動作について説明する。図５に、この際の統合キュー２２ａの動作の流れを示す。
統合キュー２２ａは、キューアダプタ２１ａからキューアイテム情報が提供されると、提供されたキューアイテム情報を、その順序情報に従ってキューアイテム情報リスト２２３の適切な位置へ挿入する（ステップＳ２０１）。
【００３４】
次に、統合キュー２２ａは、キューアイテム情報をキューアダプタ２１ａから受け取ったことをキューアイテム提供部２２２へ通知する（ステップＳ２０２）。
【００３５】
次に、統合キュー２２ａが、コンシューマシステム３ａからキューアイテムを要求された時の動作について説明する。図６に、この際の統合キュー２２ａの動作の流れを示す。
統合キュー２２ａは、コンシューマシステム３ａからキューアイテムを要求された場合、キューアイテム情報リスト２２３にキューアイテム情報が存在するか否かを確認する（ステップＳ３０１）。存在しない場合（ステップＳ３０１／Ｎｏ）、統合キュー２２ａはキューアイテム情報リスト２２３にキューアイテム情報が登録されるのを待機する。キューアイテム情報リストにキューアイテム情報が登録されると、ステップＳ２０２の動作によってキューアイテム提供部２２２に通知されるため、これをトリガとして処理を再開する。なお、統合キュー２２ａがアイテム情報リスト２２３にキューアイテム情報が登録されるのを待機していない場合、ステップＳ２０２での通知は無視される。
【００３６】
キューアイテム情報リスト２２３にキューアイテム情報が存在した場合（ステップＳ３０１／Ｙｅｓ）、統合キュー２２ａは、キューアイテム情報リスト２２３の先頭にあるキューアイテム情報をキューアイテム情報リスト２２３から取り出す（ステップＳ３０３）。この際、取り出したキューアイテムに関するキューアイテム情報は、キューアイテム情報リスト２２３から消去される。
【００３７】
次に、統合キュー２２ａは、キューアイテム情報に含まれているキューアダプタ識別子が示すキューアダプタ２１ａから、キューアイテム獲得部２２１を用いてキューアイテムを獲得する（ステップＳ３０４）。
【００３８】
さらに、統合キュー２２ａは、獲得したキューアイテムを、キューアイテム提供部２２２を用いてコンシューマシステム３ａへ提供する（ステップＳ３０５）。
【００３９】
上記の動作により、コンシューマシステムでは、統合されたルーティングシステムの入力点に到達した順番と同じ順序でキューアイテムが獲得される。
【００４０】
なお、キューアダプタ２１ｂ〜２１ｅや統合キュー２２ｂの動作は上記同様であるため説明は省略する。
【００４１】
このように、本実施形態にかかるキュー統合システムによれば、複数のキューにキューアイテムを要求するコンシューマシステムに対して、複数のキューを統合し単一のキューとして提供できる。よって、コンシューマシステムのキューアイテム獲得処理を単純化できる。
また、コンシューマシステムのキューアイテム獲得順序は、ルーティングシステムの入力点における順序と一致することが保証される。
【００４２】
なお、上記実施形態は本発明の好適な実施の一例であり、本発明はこれに限定されることなく様々な変形が可能である。
例えば、上記実施形態においては、キューアダプタが五つ、統合キューが二つのキュー統合システムを例に説明を行ったが、キューアダプタ及び統合キューの数は２以上であればそれぞれ任意である。
このように、本発明は様々な変形が可能である。
【図面の簡単な説明】
【００４３】
【図１】本発明を好適に実施したキュー統合システムを用いた情報処理システムの構成を示す図である。
【図２】キュー統合システムの構成を示す図である。
【図３】キュー統合システムにおいて処理される情報のデータ構造の一例を示す図である。
【図４】キューアダプタの動作の流れを示すフローチャートである。
【図５】キューアダプタからキューアイテム情報を提供された際の統合キューの動作の流れを示すフローチャートである。
【図６】コンシューマシステムからキューアイテムを要求された際の統合キューの動作の流れを示すフローチャートである。
【図７】一つのコンシューマシステムが一つのキューの要求を処理する従来の情報処理システムの構成を示す図である。
【図８】一つのコンシューマシステムが複数のキューの要求を処理する従来の情報処理システムの構成を示す図である。
【図９】複数のキューを統合して一つのキューとしてコンシューマシステムへ配送するシステムの構成を示す図である。
【符号の説明】
【００４４】
１    ルーティングシステム
２    キュー統合システム
３ａ、３ｂ    コンシューマシステム
１０    ルータ
１１ａ、１１ｂ、１１ｃ、１１ｄ、１１ｅ    キュー
２１ａ、２１ｂ、２１ｃ、２１ｄ、２１ｅ    キューアダプタ
２２ａ、２２ｂ    統合キュー
２３    統合リスト
２１１、２２１    キューアイテム獲得部
２１２、２２２    キューアイテム提供部
２１３    キューアイテム保持部
２１４    キューアイテム情報提供部
２２３    キューアイテム情報リスト
【図１】
2007266724.tif 000003
【図２】
2007266724.tif 000004
【図３】
2007266724.tif 000005
【図４】
2007266724.tif 000006
【図５】
2007266724.tif 000007
【図６】
2007266724.tif 000008
【図７】
2007266724.tif 000009
【図８】
2007266724.tif 000010
【図９】
2007266724.tif 000011