(57)【要約】      （修正有）【課題】局内放送において全クライアント装置を強制的に起動して緊急放送を流すことや、特定のクライアント装置や特定のグループ属するクライアント装置に対してメッセージを送信するなど任意のタイミングで、全てないし、特定のクライアント装置、特定のグループに属するクライアント装置に対して制御を行う。【解決手段】スイッチ装置とクライアント装置群の間にルータを介し制御命令を入力する箇所を設ける。【選択図】図１
2009124657.tif 000002
【特許請求の範囲】
【請求項１】
複数の映像ソースを取得する映像ソース取得部と、
取得した映像ソースをスイッチングして配信装置に対して送信するスイッチング部と、
を有するスイッチ装置と、
スイッチ装置が取得する映像ソースを所定のクライアントに送信するための配信先制御命令を受信する配信先制御命令受信部と、
受信した配信先制御命令に従ってスイッチ装置のスイッチング部を制御する制御部と、
を有するスイッチ管理装置と、
スイッチ装置からの映像ソースを取得して配下のクライアントであってスイッチ管理装置の制御で定められた配信先に対して各映像ソースを配信する配信部と、
各クライアントを物理的に制御するための物理制御命令を受信する物理制御命令受信部と、
受信した物理制御命令に従って目的のクライアントに物理制御命令を送信する物理制御命令送信部と、を有する配信装置と、
映像ソースをどのクライアントに配信するかを制御するための配信先制御命令をクライアントから受信した配信先制御情報に従ってスイッチ管理装置に送信する配信先制御命令送信部と、
クライアントの物理制御命令を配信装置を介して各クライアントに送信するための物理制御命令送信部と、を有するクライアント制御装置と、
映像ソース又は／およびメッセージを受信して再生する映像ソース受信再生部と、
配信先制御命令を生成するための配信先制御情報を送信する配信先制御情報送信部と、
物理制御命令を受信して自身の機器制御を実行するための物理制御部と、を有する
クライアント装置と、
からなる映像配信システム。
【請求項２】
クライアント制御装置は、
クライアントに送信すべきメッセージを取得するメッセージ取得部と、
取得したメッセージを配信装置を介してクライアントに送信するために送信するメッセージ送信部と、
をさらに有する請求項１に記載の映像配信システム。
【請求項３】
複数の映像ソースを取得する映像ソース取得ステップと、
取得した映像ソースをスイッチングして配信装置に対して送信するスイッチイングステップと、
を有するスイッチ装置の動作方法と、
スイッチ装置が取得する映像ソースを所定のクライアントに送信するための配信先制御命令を受信する配信先制御命令受信ステップと、
受信した配信先制御命令に従ってスイッチ装置のスイッチング部を制御する制御ステップと、
を有するスイッチ管理装置の動作方法と、
スイッチ装置からの映像ソースを取得して配下のクライアントであってスイッチ管理装置の制御で定められた配信先に対して各映像ソースを配信する配信ステップと、
各クライアントを物理的に制御するための物理制御命令を受信する物理制御命令受信ステップと、
受信した物理制御命令に従って目的のクライアントに物理制御命令を送信する物理制御命令送信ステップと、を有する配信装置の動作方法と、
映像ソースをどのクライアントに配信するかを制御するための配信先制御命令をクライアントから受信した配信先制御情報に従ってスイッチ管理装置に送信する配信先制御命令送信ステップと、
クライアントの物理制御命令を配信装置を介して各クライアントに送信するための物理制御命令送信ステップと、を有するクライアント制御装置の動作方法と、
映像ソース又は／およびメッセージを受信して再生する映像ソース受信再生ステップと、
配信先制御命令を生成するための配信先制御情報を送信する配信先制御情報送信ステップと、
物理制御命令を受信して自身の機器制御を実行するための物理制御ステップと、を有する
クライアント装置の動作方法と、
からなる映像配信システムの動作方法。
【請求項４】
クライアント制御装置の動作方法は、
クライアントに送信すべきメッセージを取得するメッセージ取得ステップと、
取得したメッセージを配信装置を介してクライアントに送信するために送信するメッセージ送信ステップと、
をさらに有する請求項３に記載の映像配信システムの動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、放送局等が有する放送システムにおいて、大容量のストリームが流れるスイッチのノンブロッキングを保証しつつ、配下のクライアント装置の制御を行う技術に関する。
【背景技術】
【０００２】
従来放送局等が有する局内放送は、局内にある主に主調整室に配置されるスイッチャ（スイッチ装置）が受信する映像を局内に張り巡らされた放送用の専用線やＬＡＮなどを通じて、局内に設置された各クライアント装置（たとえば、スタジオに設置されたパーソナルコンピュータや出演者控室に設置されたテレビなど）に対して配信を行っている。
【０００３】
また、スイッチャ（スイッチ装置）は局内放送を配信するほかに受信したチャンネルなどの録画を行うストレージシステムなど大容量のデータを取り扱うシステムとも常時接続されている。ここで、具体的にスイッチャ（スイッチ装置）が受信する映像とは、他放送局が配信している複数のチャンネルや、局内・外にてカメラ等から得られる映像などである。
【０００４】
スイッチャ（スイッチ装置）は上記に記述のように極めて大容量の映像やデータを大量に取り扱うにもかかわらず、パケットの遅延やロストを許されない。つまり、パケットのロストや遅延は映像の途切れとなるためである。したがって、スイッチャ（スイッチ装置）はノンブロッキングを保証される必要があり、ノンブロッキングはスイッチャ（スイッチ装置）を管理するサーバと連携しルーティング（ここでは、送信元から目的の受信先までパケットを送信するとき、最適な経路を選択して送信することを指す）の管理をすることによって保証されている。
【特許文献１】なし
【非特許文献１】なし
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、局内放送において全クライアント装置を強制的に起動して緊急放送を流すことや、特定のクライアント装置や特定のグループ属するクライアント装置に対してメッセージを送信するなど任意のタイミングで、全てないし、特定のクライアント装置、特定のグループに属するクライアント装置に対して制御を行いたいといった場合がある。具体的には、局内にて緊急事態が発生したとき局内のすべてのクライアント装置を起動して緊急放送を流すことや、スケジューラと連動して、指定のタイミングで特定のクライアント装置や、特定のグループに属するクライアント装置に対してメッセージを流すといった具合である。
【０００６】
しかし、スイッチャ（スイッチ装置）はノンブロッキングを保証するためにルーティング管理されていることから、スイッチャ（スイッチ装置）を介して任意のタイミングで、特定のクライアント装置及び特定のグループに属するクライアント装置を制御することは難しい。なぜなら、強引に制御することはスイッチャ（スイッチ装置）のノンブロッキングを保証できなくなる可能性があるからである。
【課題を解決するための手段】
【０００７】
そこで、本発明は以下のような特徴をもつシステムを提供する。具体的には、複数の映像ソースを取得する「映像ソース取得部」と、取得した映像ソースをスイッチングして配信装置に対して送信する「スイッチング部」と、を有する「スイッチ装置」と、スイッチ装置が取得する映像ソースを所定のクライアントに送信するための配信先制御命令を受信する「配信先制御命令受信部」と、受信した配信先制御命令に従ってスイッチ装置のスイッチング部を制御する「制御部」と、  を有する「スイッチ管理装置」と、スイッチ装置からの映像ソースを取得して配下のクライアントであってスイッチ管理装置の制御で定められた配信先に対して各映像ソースを配信する「配信部」と、各クライアントを物理的に制御するための物理制御命令を受信する「物理制御命令受信部」と、受信した物理制御命令に従って目的のクライアントに物理制御命令を送信する「物理制御命令送信部」と、を有する「配信装置」と、映像ソースをどのクライアントに配信するかを制御するための配信先制御命令をクライアントから受信した配信先制御情報に従ってスイッチ管理装置に送信する「配信先制御命令送信部」と、クライアントの物理制御命令を配信装置を介して各クライアントに送信するための「物理制御命令送信部」と、を有する「クライアント制御装置」と、映像ソース又は／およびメッセージを受信して再生する「映像ソース受信再生部」と、配信先制御命令を生成するための配信先制御情報を送信する「配信先制御情報送信部」と、物理制御命令を受信して自身の機器制御を実行するための「物理制御部」とを有する「クライアント装置」とからなる映像配信システムである。
【発明の効果】
【０００８】
以上のような構成を採る本発明によって、スイッチャ（スイッチ装置）とクライアント装置群の間にルータを介し制御命令を入力する箇所を設けることにより、スイッチャ（スイッチ装置）のノンブロッキングを保証しつつ、またスイッチャ（スイッチ装置）に対して負荷を増やすことなく各クライアント装置もしくはグループ単位にクライアント装置の制御が可能となる。
【０００９】
また、本発明はクライアント装置より発信される情報（例えば、チャンネルを変更する要求など）をすべてクライアント制御装置に一度集約し、クライアント制御装置よりスイッチ管理装置に対して発信するというデータの流れに特徴をもつシステムである。これにより、万が一スイッチ装置に被害が発生した場合において、チャンネルの配信は止まってしまうが、クライアント制御装置より各クライアント装置を制御することが可能となる。具体的には、スイッチ装置に被害があった場合において、クライアント制御装置よりクライアント装置を起動し、メッセージの送信することが可能になるということである。
【発明を実施するための最良の形態】
【００１０】
以下に、図を用いて本発明の実施の形態を説明する。なお、本発明はこれらの実施の形態に何ら限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施しうる。
なお、実施例１は、請求項１、３など、実施例２は請求項２、４などについて説明する。
【００１１】
≪実施例１≫
【００１２】
＜概要＞
【００１３】
図１は、本実施例における映像配信システムの一例を表す概念図である。この図にあるように本実施例は、主に二つのデータの流れを併せ持つ映像配信システムである。
【００１４】
一つ目の流れは映像ソースを配信させるための映像データを取り扱う流れである。具体的には、チャンネルを集約して映像ソースを受信している「スイッチ装置」から「配信装置」を通して「クライアント装置」に映像の配信を行うという具合である。
【００１５】
二つ目の流れは、クライアントを物理的に制御するための物理制御命令を取り扱う流れである。具体的には「クライアント制御装置」において作成された物理制御命令を「配信装置」を通して「クライアント装置」に送信する。そして、「クライアント装置」は、物理制御命令を受信すると物理制御命令を実行するといった具合である。
【００１６】
本実施例は、以上のような主に二つのデータの流れをもつことを特徴とする映像配信システムである。
【００１７】
＜機能的構成＞
【００１８】
図２は、本実施例の映像配信システムにおける機能ブロックの一例を示す図である。この図にあるように、本実施例の「映像配信システム」は、「スイッチ装置」（０２０５）と、「スイッチ管理装置」（０２０２）と、「配信装置」（０２１１）と、「クライアント制御装置」（０２０８）と、「クライアント装置」（０２１５）とからなる。
【００１９】
「スイッチ装置」（０２０５）とは受信した映像をノンブロッキングで配信するだけの機能を有するスイッチャを指す。ここで、ノンブロッキングとは装置のすべてのポートに最大速度でパケットが送られてきた時に、この装置がすべてのパケットを欠落することなく配信先に配信できる事をいう。「スイッチ装置」（０２０５）は、映像ソースを取得する複数のチャンネルを有している。取得した映像ソースは、「配信装置」（０２１１）を介してクライアントに送信される。「配信装置」（０２１１）に対しては複数チャンネルから構成されるデータ転送用回線を利用して映像ソースが配信される。どのチャンネルの映像ソースをどのクライアントに対して配信するかは、どのチャンネルの映像ソースを「配信装置」（０２１１）のどのチャンネルに出力するかによって定まることとなる。どの映像ソースを「配信装置」（０２１１）のどのチャンネルに対して出力するかは、「スイッチ管理装置」（０２０２）からの命令に基づいて決定される。したがって、「スイッチ装置」（０２０５）は、「スイッチ管理装置」（０２０２）からの命令を取得するための回線に接続されている。この回線は１回線でもよいが好ましくは複数回線がよい。なお、本スイッチ装置に関しては明細書の最後の部分により詳細な説明をする。
【００２０】
「スイッチ管理装置」（０２０２）とは、「スイッチ装置」（０２０５）に接続し、配信する映像のルーティングの管理をする機能を有する装置を指す。例えば、図３にあるように「スイッチ管理装置」（０３１５）が「クライアントＡ」（０３１８）よりチャンネル１の映像ソースを配信する命令を受けとったとする。すると「スイッチ管理装置」（０３１５）は「スイッチ装置」（０３１４）に対して「クライアントＡ」（０３１８）に対してチャンネル１の映像ソースを配信するようスイッチングの命令を送信するという具合である。ここで「クライアントＡ」（０３１８）と「スイッチ装置」（０３１５）は直接的に接続されていないので「配信装置」（０３１６）のどのチャンネルが「クライアントＡ」（０３１８）に接続されているかの情報を「スイッチ管理装置」（０３１５）が保持しているのが好ましい。ただし、必ずしも「スイッチ管理装置」（０３１５）がこの情報を保持している必要はなく、「スイッチ装置」（０３１４）がこの情報を保持していて、「スイッチ管理装置」（０３１５）は単に配信先となるクライアントの識別情報を「スイッチ装置」（０３１４）に送信するだけでもよい。「スイッチ管理装置」（０３１５）は「クライアントＡ」（０３１８）からの命令を「クライアント制御装置」（０３１７）を介して取得するように構成されている。「クライアント制御装置」（０３１７）から「スイッチ管理装置」（０３１５）に対する命令の送信は「クライアント制御装置」（０３１７）から配信装置（０３１６）、配信装置（０３１６）から「スイッチ装置」（０３１４）、「スイッチ装置」（０３１４）から「スイッチ管理装置」（０３１５）という順番で伝送される。ただしこのほかにクライアント装置から直接的に命令を受信する経路を備える形式や、「クライアント装置」（０３１９）から「配信装置」（０３１６）を介して取得した命令を「クライアント制御装置」（０３１７）から「スイッチ装置」（０３１４）を介さずに直接的に取得する経路を備えることも考えられる。「クライアント制御装置」（０３１７）から直接的に取得する場合には「スイッチ装置」（０３１４）を介さずに命令の伝送が可能となるので、「スイッチ装置」（０３１４）に対する負荷を減らすことができ、ノンブロッキング条件を満たすことが比較的容易となるメリットがある。なお「スイッチ管理装置」（０３１５）が命令を取得する経路は平常時と緊急時（たとえば伝送路の一部に故障が生じた場合など）、伝送ルートの非混雑時と混雑時などで切り替え可能に構成してもよい。
【００２１】
「配信装置」（０３１６）とは、配信装置に接続された「クライアント装置」（０３１９）に対して受信した映像等を配信するルータなどを指す。「配信装置」（０３１６）は、「スイッチ装置」（０３１４）より配信される映像ソースを受信する複数のチャンネルを有している。受信した映像ソースは、「クライアント装置」（０３１９）へ配信される。配信先の「クライアント装置」（０３１９）は、「配信装置」（０３１６）の受信したポートに基づき配信する。したがって、「配信装置」（０３１６）は、「クライアント装置」（０３１９）に映像ソースを配信するために常時回線で接続されている。すなわち「配信装置」（０３１６）は、配信先へのルーティングを行わない点で「スイッチ装置」（０３１４）とは機能が異なる。ここで、回線は１本でもよいが、複数回線であることが好ましい。
【００２２】
また、「配信装置」（０３１６）は「クライアント装置」（０３１９）が送信する配信先制御情報を受信するチャンネルと受信した配信先制御情報を「クライアント制御装置」（０３１７）へ配信するのに必要なチャンネルも有している。これは、「クライアント装置」（０３１９）より送信された配信先制御情報を、「クライアント制御装置」（０３１７）へ送信するためである。具体的には、「クライアント装置」（０３１９）が送信する配信先制御情報を受信するチャンネルと、「配信装置」（０３１６）が「クライアント制御装置」（０３１７）へ配信先制御情報を送信するためのチャンネルである。
【００２３】
さらに、「配信装置」（０３１６）は「クライアント制御装置」（０３１７）が送信する配信先制御命令を受信するチャンネルと受信した配信先制御命令を「スイッチ管理装置」（０３１５）へ送信するために必要なチャンネルも有する。これは、「クライアント制御装置」（０３１７）が「スイッチ管理装置」（０３１５）へ配信先制御命令を送信するためのものである。具体的には、「クライアント制御装置」（０３１７）が送信する配信先制御命令を受信するチャンネルと受信した配信先制御命令を「スイッチ装置」（０３１４）へ送信するためのチャンネルである。ここで、上記配信先制御情報を受送信するチャンネルと配信先制御命令を受送信するチャンネルは同一のチャンネルを用いてもよい。
【００２４】
最後に、「配信装置」（０３１６）は、「クライアント制御装置」（０３１７）が送信する物理制御命令受信するチャンネルと受信した物理制御命令を「クライアント装置」（０３１９）へ送信するために必要なチャンネルも有する。具体的には、「クライアント制御装置」（０３１７）が送信する物理制御命令を受信するためのチャンネルと、受信した物理制御命令を「クライアント装置」（０３１９）へ送信するためのチャンネルである。
【００２５】
「クライアント制御装置」（０３１７）とは、主に「配信装置」（０３１６）に接続された「クライアント装置」（０３１９）を管理する機能を有する装置である。「クライアント制御装置」（０３１７）は、「クライアント装置」（０３１９）から送信されてくる配信先制御情報を受信するチャンネルを有している。具体的には、「配信装置」（０３１６）が送信する配信先制御情報を受信するチャンネルである。ここで、「クライアント制御装置」（０３１７）と「クライアント装置」（０３１９）の間で別途回線を設ける構成としてもよい。また「クライアント制御装置」（０３１７）は、物理制御命令を「クライアント装置」（０３１９）へ送信するためのチャンネルを有している。具体的には、「クライアント制御装置」（０３１７）が「配信装置」（０３１６）を介してクライアント装置へ物理制御命令を送信するためのチャンネルである。
【００２６】
「クライアント装置」（０３１９）とは、「配信装置」（０３１６）より受信した映像を出力し、またチャンネルの切替命令等を発信する機能を有する。ここで、「クライアント装置」（０３１９）は「配信装置」（０３１６）より配信される映像ソースを受信するためのチャンネルを有している。これは、１本のチャンネルに限ることなく複数のチャンネルを受信する形としてもよい。また、「クライアント装置」（０３１９）は、リモコン等の操作によって作成される配信先制御情報を「クライアント制御装置」（０３１７）へ送信するためのチャンネルも有している。具体的には「クライアント装置」（０３１９）が「配信装置」（０３１６）へ配信先制御情報を送信するためのチャンネルである。ここで、配信先制御情報を送信するために「クライアント装置」（０３１９）と「クライアント制御装置」（０３１７）との間で別途回線を設ける構成としてもよい。さらに「クライアント装置」（０３１９）は、「クライアント制御装置」（０３１７）より送信される物理制御命令を受信するチャンネルも有する。具体的には、「配信装置」（０３１６）より送信される物理制御命令を受信するチャンネルである。たとえば「クライアント装置」（０３１９）の例として地上波デジタル放送対応テレビ等をあげることができる。
【００２７】
図３は、本実施例において実際に実施するにあたり具体的な構成例の一つである。まず、「スイッチ装置」（０３１５）が受信している総チャンネル数をＮＮ（０３０１）、「スイッチ装置」（０３１４）と「スイッチ管理装置」（０３１５）とを結ぶ回線数をＳｃ（０３０２）、「スイッチ装置」（０３１４）と「配信装置」（０３１６）を結ぶ回線数をＤ（０３０３）、「配信装置」（０３１６）と「クライアント制御装置」（０３１７）を結ぶ回線数をＣｃ（０３０４）とする。
【００２８】
さらに、「配信装置」（０３１６）と接続されている「クライアント装置」（０３１９）の数をＺ（０３０５）、「配信装置」（０３１６）から「クライアント装置」（０３１９）に対して「クライアント装置」（０３１９）を制御する命令を送信する回線数をＭｃ（０３０６）、「配信装置」（０３１６）から「クライアント装置」（０３１９）に対して映像ソースを配信する回線数をＥ（０３０７）、「クライアント装置」（０３１９）から「配信装置」（０３１６）に対して送信される情報を送信する回線数をＭｓ（０３０８）とする。
【００２９】
以上の定義から、各装置に最低限必要な回線数は以下のようになる。スイッチ装置に必要な回線数はＳｃ（０３０９）、クライアント制御装置に必要な回線数はＣｃ（０３１０）、スイッチ装置に必要な回線数はＮＮ＋Ｓｃ＋Ｄ（０３１１）、配信装置に必要な回線数は、Ｄ＋Ｃｃ＋Ｍｓ＋Ｅ＋Ｍｃ（０３１２）、クライアント装置に必要な回線数はＣｃ＋Ｍｓ＋Ｅ＋Ｍｃ（０３１３）となる。
【００３０】
以下に記載する映像配信システムの機能ブロックは、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの両方として実現され得る。具体的には、コンピュータを利用するものであれば、ＣＰＵや主メモリ、バスあるいは二次記憶装置（ハードディスクや不揮発性メモリ、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶メディアとそれらのメディアの読み取りドライブなど）、印刷機器や表示装置、その他の外部周辺装置などのハードウェア構成部やその外部周辺機器用のＩ／Ｏポート、それらのハードウェアを制御するためのドライバプログラムやその他アプリケーションプログラム、情報入力に利用されるユーザインターフェースなどがあげられる。
【００３１】
またこれらのハードウェアやソフトウェアは、主メモリ上に展開したプログラムをＣＰＵで演算処理したり、メモリやハードディスク上に保持されているデータや、インターフェースを介して入力されたデータなどを加工、蓄積、出力処理したり、あるいは各ハードウェア構成部の制御を行ったりするために利用される。また、この発明は装置として実現できるのみでなく、方法としても実現可能である。また、このような発明の一部をソフトウェアとして構成することができる。さらに、そのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品、及び同製品を記録媒体に固定した記録媒体も、当然この発明の技術的な範囲に含まれる。（本明細書の全体を通じて同様である）
【００３２】
ここで、まず本実施例の映像配信システムを構成するひとつである「スイッチ装置」（０２０５）の機能的構成について以下説明する。図２にあるように「スイッチ装置」（０２０５）は、「映像ソース取得部」（０２０７）と、「スイッチング部」（０２０６）とを有する。
【００３３】
「映像ソース取得部」（０２０７）は、複数の映像ソースを取得する機能を有する。具体的には、他放送局が配信している複数のチャンネルや、局内・外にてカメラ等から得られる自局が発信する映像などを取得するということである。ここで、映像ソースを取得する手段は電波を受信するだけとは限らない。具体的には、外部より引き込まれている専用線より取得してもよい。また、取得される映像は「スイッチ装置」（０２０５）に接続されている他システムから取得する構成としてもよい。
【００３４】
「スイッチング部」（０２０６）は、取得した映像ソースをスイッチングして配信装置に対して送信する機能を有する。具体的には、まず「映像ソース取得部」（０２０７）より映像を取得する。そして、「スイッチング部」（０２０６）は、後述する「スイッチ管理装置」（０２０２）の指示に従い、取得した映像を後述の「配信装置」（０２１１）に対して送信するという具合である。
【００３５】
続いて、本実施例の映像配信システムを構成するひとつである、「スイッチ管理装置」（０２０２）の機能的構成について以下説明する。「スイッチ管理装置」（０２０２）は、「配信先制御命令受信部」（０２０３）と「制御部」（０２０４）とを有する。
【００３６】
「配信先制御命令受信部」（０２０３）は、スイッチ装置が取得する映像ソースを所定のクライアント装置に送信するための配信先制御命令を受信する機能を有する。具体的には、後述する「クライアント制御装置」（０２０８）より、配信先制御命令を受信するということである。ここで、配信先制御命令とは、指定のクライアント装置に対して指定のチャンネルで受信した映像ソースを配信させる命令である。
【００３７】
「制御部」（０２０４）は、受信した配信先制御命令に従ってスイッチ装置のスイッチング部を制御する機能を有する。具体的にはまず、「制御部」（０２０４）は、「配信先制御命令受信部」（０２０３）にて受信した命令に従って、ノンブロッキングを確保できるようにルーティングを行う。そして、「制御部」（０２０４）は、「スイッチング部」（０２０６）に対してルーティングの内容に従って配信命令を送信するといった具合である。
【００３８】
続いて、本実施例の映像配信システムを構成するひとつである、「配信装置」（０２１１）の機能的構成について以下説明する。「配信装置」（０２１１）は、「配信部」（０２１２）と「物理制御命令受信部」（０２１４）と「物理制御命令送信部」（０２１３）とを有する。
【００３９】
「配信部」（０２１２）は、スイッチ装置からの映像ソースを取得して配下のクライアント装置であってスイッチ管理装置の制御で定められた配信先に対して各映像ソースを配信する機能を有する。具体的には、「スイッチ装置」（０２０５）から配信される映像ソースを「配信装置」（０２１１）に接続されている「スイッチ管理装置」（０２０２）で定められた「クライアント装置」（０２１５）に送信するということである。ここで、「クライアント装置」（０２１５）とは「クライアント制御装置」（０２０８）が管理している「配信装置」（０２１１）に接続された「クライアント装置」（０２１５）のことを指す。ここで、配信先の情報は、後述する「クライアント制御部」（０２０８）から取得する構成としてもよい。
【００４０】
「物理制御命令受信部」（０２１４）は、各クライアント装置を物理的に制御するための物理制御命令を受信する機能を有する。具体的には、後述の「クライアント制御装置」（０２０８）より受信した、クライアント装置を起動させる命令などを受信する。そして、「物理制御命令受信部」（０２１４）は、後述の「物理制御命令送信部」（０２１３）に対して引き渡すという具合である。
【００４１】
「物理制御命令送信部」（０２１３）は、受信した物理制御命令に従って目的のクライアント装置（０２１５）に物理制御命令を送信する機能を有する。具体的には、「物理制御命令受信部」（０２１４）を介して受信した、「クライアント制御装置」（０２０８）から送信された命令（たとえば、特定のクライアント装置の電源をＯＮにする命令など）を指定のクライアント装置（０２０８）に対して送信するということである。
【００４２】
続いて、本実施例の映像配信システムを構成するひとつである、「クライアント制御装置」（０２０８）の機能的構成について以下説明する。「クライアント制御装置」（０２０８）は、「配信先制御命令送信部」（０２１０）と、「物理制御命令指示部」（０２０９）とを有する。
【００４３】
「配信先制御命令送信部」（０２１０）は、映像ソースをどのクライアント装置に配信するかを制御するための配信先制御命令をクライアント装置から受信した配信先制御情報に従ってスイッチ管理装置に送信する機能を有する。具体的には、クライアント装置より受信した配信先制御情報を「スイッチ管理装置」（０２０２）に対して送信するということである。さらに、「クライアント制御装置」（０２０８）にて作成された、チャンネル切替要求を「スイッチ管理装置」（０２０２）に対して送信するという処理も行う。ここで、物理制御命令の作成は、クライアント制御装置（０２０８）を操作して作成してもよい、またスケジューラなど他アプリケーションと連動させて作成してもよい。
【００４４】
「物理制御命令指示部」（０２０９）は、クライアント装置の物理制御命令を配信装置を介して各クライアント装置に送信する機能を有する。具体的には、まずクライアント制御装置（０２０８）を操作して物理制御命令を作成する。そして、「物理制御命令指示部」（０２０９）は、クライアント装置（０２１５）のＯＮ／ＯＦＦ命令などを「配信装置」（０２１１）の「物理制御命令受信部」（０２１４）に対して送信するということである。ここで、「クライアント装置」（０２１５）へ送信する物理制御命令はスケジューラなど他アプリケーションと連動させて作成してもよい。これにより、あらかじめ指定されたタイミングで任意のクライアント装置を制御可能となる。また、制御命令を他クライアント装置から受信してもよい。これにより、遠隔地から他クライアント装置の制御が可能になるためである。
【００４５】
続いて、本実施例の映像配信システムを構成するひとつである、「クライアント装置」（０２１５）の機能的構成について以下説明する。「クライアント装置」（０２１５）は、「映像ソース受信再生部」（０２１７）と、「配信先制御情報送信部」（０２１８）と、「物理制御部」（０２１６）とを有する。
【００４６】
「映像ソース受信再生部」（０２１７）は、映像ソース又は／およびメッセージ等を受信して再生する機能を有する。具体的には、配信装置（０２１１）より受信した映像ソースを出力する。また、後述する「クライアント制御装置」（０２０８）より受信するメッセージ等の出力も行う。ここで、映像ソース及びメッセージは他クライアント装置が受信しているものを転送し受信してもよい。これにより、一つの命令で複数のクライアント装置を連動させて制御することが可能になるからである。
【００４７】
「配信先制御情報送信部」（０２１８）は、配信先制御命令を生成するための配信先制御情報を送信する機能を有する。具体的には、リモコン等が発信するチャンネル切替要求などを「クライアント制御装置」（０２０８）へ送信するという具合である。
【００４８】
「物理制御部」（０２１６）は、物理制御命令を受信して自身の機器制御を実行する機能を有する。具体的にはまず、「クライアント制御装置」（０２０８）より送信されてきた物理制御命令（例えば、クライアント装置の電源ＯＦＦ命令）を受信する。そして、「物理制御部」（０２１６）は、物理制御命令に従いクライアント装置（０２１５）を制御するということである（たとえば、クライアント装置自体をＯＦＦにする）。
【００４９】
＜ハードウェア的構成＞
【００５０】
以下、図を用いて、本実施例の映像配信システムを構成する上記「スイッチ装置」、「スイッチ管理装置」、「配信装置」、「クライアント制御装置」、「クライアント装置」のそれぞれの機能的な構成要件を、ハードウェアとして実現した際の構成の一例について説明する。
【００５１】
（スイッチ管理装置、スイッチ装置）
【００５２】
図４は、映像配信システムを構成する「スイッチ管理装置」と「スイッチ装置」のハードウェア構成の一例を表す概念図である。この図を利用して映像配信におけるそれぞれのハードウェア構成部の働きについて説明する。
【００５３】
まず、「スイッチ管理装置」について説明する。この図にあるように「スイッチ管理装置」は、各種演算を行う「ＣＰＵ」（０４０１）と「主メモリ」（０４０２）とを備えている。また、「Ｉ／Ｏ」（０４０３）や「記憶装置」（０４０４）も備えている。そしてそれらが「システムバス」などのデータ通信経路によって相互接続され、情報の送受信や処理を行う。
【００５４】
また、「主メモリ」（は、各種処理を行うプログラムをＣＰＵに実行させるために読みだすと同時にそのプログラムの作業領域でもあるワーク領域を提供する。また、この「主メモリ」や「記憶装置」にはそれぞれ複数のアドレスが割り当てられており、「ＣＰＵ」で実行されるプログラムは、そのアドレスを特定しアクセスすることで相互にデータのやり取りを行い、処理を行うことが可能になっている。
【００５５】
ここで、「Ｉ／Ｏ」（０４０３）は、スイッチ管理装置に接続されているスイッチ装置より配信先制御命令を受信したとする。
【００５６】
配信先制御命令を受信すると、「ＣＰＵ」（０４０１）はワーク領域に展開されている「ルーティング管理プログラム」（０４０５）を呼び出す。「ルーティング管理プログラム」（０４０５）に従い「ＣＰＵ」（０４０１）は、「記憶装置」（０４０４）に記憶されているルーティング管理情報参照し、「Ｉ／Ｏ」（０４０３）が受信した配信先制御命令の内容に従いルーティング管理情報の変更を行う。そして、「ルーティング管理プログラム」（０４０５）は「Ｉ／Ｏ」（０４０３）を介して、後述する「スイッチ装置」に対して配信先制御命令を送信する。    
【００５７】
次に、「スイッチ装置」について説明する。「スイッチ装置」は、スイッチングを制御するための「ＣＰＵ」（０４０６）と入出力データの管理やルーティングを管理する「主メモリ」（０４０７）とを備えている。また、データの入出力を実際に行う「Ｉ／Ｏ」（０４０８）を備えている。
【００５８】
ここで、「Ｉ／Ｏ」（０４０８）が後述する「クライアント制御装置」より「配信装置」を介して配信先制御命令を受信したとする。配信先制御命令を受信すると「ＣＰＵ」（０４０６）は、「主メモリ」（０４０７）に展開されている「入出力管理プログラム」（０４０９）と「スイッチング制御プログラム」（０４１０）を呼び出し、前記「スイッチ管理装置」に対して配信先制御命令を送信する。
【００５９】
さらに、「Ｉ／Ｏ」（０４０８）が前記「スイッチ管理装置」から配信先制御命令を受信したとする。配信先制御命令を受信すると「ＣＰＵ」（０４０６）は、「主メモリ」（０４０７）に展開されている「入出力管理プログラム」（０４０９）と「スイッチング制御プログラム」（０４１０）を呼び出し、スイッチングを行い配信装置に対して配信先制御命令の示す「スイッチ装置」が受信しているチャンネルの映像ソースの配信を行う。
【００６０】
このように「スイッチ管理装置」と「スイッチ装置」は、「スイッチ管理装置」が受信した配信先制御命令に従い「スイッチ管理装置」は、「スイッチ装置」に対して映像ソースの配信を指示する。そして、指示を受けた「スイッチ装置」はスイッチングを行い「スイッチ装置」が受信しているチャンネルの映像ソースの配信を行うという具合に動作する。
【００６１】
（クライアント制御装置、配信装置）
【００６２】
図５は、映像配信システムを構成する「クライアント制御装置」と「配信装置」のハードウェア構成の一例を表す概念図である。この図を利用して映像配信におけるそれぞれのハードウェア構成部の働きについて説明する。
【００６３】
まず、「クライアント制御装置」について説明する。この図にあるように「クライアント制御装置」は、各種演算を行う「ＣＰＵ」（０５０１）と「主メモリ」（０５０２）とを備えている。また、「Ｉ／Ｏ」（０５０３）や「記憶装置」（０５０４）も備えている。そしてそれらが「システムバス」などのデータ通信経路によって相互接続され、情報の送受信や処理を行う。
【００６４】
また、「主メモリ」は、各種処理を行うプログラムをＣＰＵに実行させるために読みだすと同時にそのプログラムの作業領域でもあるワーク領域を提供する。また、この「主メモリ」や「記憶装置」にはそれぞれ複数のアドレスが割り当てられており、「ＣＰＵ」で実行されるプログラムは、そのアドレスを特定しアクセスすることで相互にデータのやり取りを行い、処理を行うことが可能になっている。
【００６５】
ここで、「Ｉ／Ｏ」（０５０３）が、後述する「クライアント装置」が送信した配信先制御情報を受信したとする。
【００６６】
配信先制御情報を受信すると、「ＣＰＵ」（０５０１）は、ワーク領域に展開されている「配信先制御命令送信プログラム」（０５０６）を呼び出す。「配信先制御命令送信プログラム」（０５０６）は、「記憶装置」（０５０４）に記憶されているクライアント管理情報を参照し、「Ｉ／Ｏ」（０５０３）が受信した配信先制御情報を元にクライアント管理情報の更新を行う。そして、「配信先制御命令送信プログラム」（０５０６）は、配信先制御情報に基づく配信先制御命令を「Ｉ／Ｏ」（０５０３）を介して前記「スイッチ管理装置」に対して送信を行う。
【００６７】
さらには、ユーザが「クライアント制御装置」を操作するなどをして、ワーク領域に展開されている「物理制御指示命令プログラム」（０５０５）により、クライアント自体を制御する命令である物理制御命令指示がされたとする。
【００６８】
「物理制御命令指示プログラム」（０５０５）が作成した物理制御命令指示に基づき、同プログラムは「記憶装置」（０５０４）に記憶されているクライアント管理情報を参照し、必要に応じて更新も行う。そして、物理制御命令を「Ｉ／Ｏ」（０５０３）を介して、後述する「クライアント装置」に対して送信を行う。
【００６９】
次に「配信装置」について説明する。「配信装置」は、分配を制御するための「ＣＰＵ」（０５０７）と入出力データや接続先に対して映像ソースや物理制御命令などの分配を管理する「主メモリ」（０５０８）とを備えている。また、また、データの入出力を実際に行う「Ｉ／Ｏ」（０５０９）を備えている。
【００７０】
ここで、「Ｉ／Ｏ」（０５０９）が後述する「クライアント装置」より配信先制御情報を受信したとする。配信先制御情報を取得すると「ＣＰＵ」（０５０７）は「主メモリ」（０５０８）に展開されている「入出力管理プログラム」（０５１０）と「分配制御プログラム」（００５１１）を呼び出し、前記「クライアント制御装置」に対して配信先制御情報をそのまま送信する。
【００７１】
また、「Ｉ／Ｏ」（０５０９）が前記「スイッチ装置」から配信先が指定されている、映像ソースを受信したとする。映像ソースを受信すると、「ＣＰＵ」（０５０７）は、「主メモリ」（０５０８）に展開されている「入出力管理プログラム」（０５１０）と「スイッチング制御プログラム」（０５１１）を呼び出し、受信した映像ソースを指定のクライアントに対して配信を行う。
【００７２】
さらには、「クライアント制御装置」より、物理制御命令を受信したとする。物理制御命令を受信すると、「ＣＰＵ」（０５０７）は、「主メモリ」（０５０８）に展開されている「入出力管理プログラム」（０５１０）と「スイッチング制御プログラム」（０５１１）を呼び出し、「クライアント制御装置」が指定するクライアント装置に対して、物理制御命令の送信を行う。
【００７３】
このように、「クライアント制御装置」と「配信装置」は、スイッチ装置よりクライアント装置が指定されて送信される、映像ソースを指定のクライアント装置に送信する。また、クライアント装置より送信されてくる配信先制御情報を、配信先制御命令として上記「スイッチ管理装置」に対して送信する。さらには、「クライアント制御装置」により作成された、物理制御命令をクライアント装置に対して送信するという具合に様々の動作を行う。
【００７４】
（クライアント装置）
【００７５】
図６は、映像配信システムを構成する「クライアント装置」のハードウェア構成の一例を表す概念図である。この図を利用して映像配信におけるそれぞれのハードウェア構成部の働きについて説明する。
【００７６】
「クライアント装置」は、この図にあるように、各種演算を行う「ＣＰＵ」（０６０１）と「主メモリ」（０６０２）とを備えている。また、「Ｉ／Ｏ」（０６０３）や「記憶装置」（０６０４）も備えている。そしてそれらが「システムバス」などのデータ通信経路によって相互接続され、情報の送受信や処理を行う。
【００７７】
また、「主メモリ」は、各種処理を行うプログラムをＣＰＵに実行させるために読みだすと同時にそのプログラムの作業領域でもあるワーク領域を提供する。また、この「主メモリ」や「記憶装置」にはそれぞれ複数のアドレスが割り当てられており、「ＣＰＵ」で実行されるプログラムは、そのアドレスを特定しアクセスすることで相互にデータのやり取りを行い、処理を行うことが可能になっている。
【００７８】
ここで、前記「配信装置」より、「Ｉ／Ｏ」（０６０３）を介して映像ソースを受信したとする。映像ソースを受信すると「ＣＰＵ」（０６０１）は、「主メモリ」（０６０２）のワーク領域に展開されている「映像再生プログラム」（０６０５）を呼び出し、クライアント装置に映像の再生を行う。
【００７９】
続いて、前記「配信装置」より物、「Ｉ／Ｏ」（０６０３）を介して物理制御命令を受信したとする。物理制御命令を受信すると「ＣＰＵ」（０６０１）は、「主メモリ」（０６０２）のワーク領域に展開されている「制御プログラム」（０６０６）を呼び出す。そして、「制御プログラム」（０６０６）は受信した物理制御命令の内容に従い、クライアント装置自体の制御を行う。
【００８０】
次に、ユーザが「クライアント装置」を操作するなどをして、ワーク領域に展開されている「配信先制御情報送信プログラム」（０６０７）により、配信先の変更要求である配信先制御情報が作成されたとする。
【００８１】
配信先制御情報が作成されると、「配信先制御情報送信プログラム」（０６０７）は、「クライアント制御装置」に対して、「Ｉ／Ｏ」（０６０３）を介して送信を行う。
【００８２】
＜処理の流れ＞
【００８３】
図７、図８は、本実施例の映像配信システムにおける、処理の流れの一例を表すフローチャートである。なお、図７はクライアント装置よりチャンネルの変更要求発信からチャンネル変更までの流れを示している。図８は、クライアント制御装置からクライアント装置自体を制御する流れを示している。
【００８４】
まず、図７を利用してチャンネルの変更要求から、チャンネルの変更までの一連の流れを説明する。まず、任意のクライアント装置に配信されているチャンネルの変更を行う（Ｓ０７０１）。チャンネルの変更を行うと、配信先制御情報が作成される（Ｓ０７０２）。すると、クライアント装置は、クライアント制御装置に対して配信先制御情報を送信する（Ｓ０７０３）
【００８５】
クライアント制御装置は、クライアント装置から配信先制御情報を受信すると（Ｓ０７０４）クライアント制御装置は、配信先制御命令を作成する（Ｓ０７０５）。クライアント制御装置は、配信先制御命令が作成されるとスイッチ管理装置に対して、配信先制御命令を送信する（Ｓ０７０６）。
【００８６】
スイッチ管理装置は、クライアント制御装置より配信先制御命令を受信すると（Ｓ０７０７）、配信先制御命令に基づきスイッチ装置に対して、スイッチングの命令である配信命令を送信する（Ｓ０７０８）
【００８７】
スイッチ装置は、配信命令の受信有無に限らず、あらかじめ映像ソースを取得している（Ｓ０７０９）。そして、スイッチ装置は映像ソースを取得している状態で、スイッチ管理装置より配信命令を受信すると、受信した配信命令に従って配信装置に対して映像ソースの配信を行う。（Ｓ０７１０）
【００８８】
配信装置は、スイッチ措置より映像ソースを受信すると（Ｓ０７１１）、指定されているクライアント装置に対して映像ソースの配信を行う（Ｓ０７１２）
【００８９】
クライアント装置は、映像ソースを受信すると（Ｓ０７１３）、受信した映像ソースの再生を行う（Ｓ０７１４）
【００９０】
次に、図８を利用して、クライアント制御装置からクライアント装置自体を制御する一連の流れを説明する。
【００９１】
まず、クライアント制御装置を操作し、クライアント装置の制御命令の作成を行う（Ｓ０８０１）。制御命令が作成されると、物理制御命令として配信装置に送信される（Ｓ０８０２）
【００９２】
配信装置は、クライアント制御装置より物理制御命令を受信する（Ｓ０８０３）と、クライアント制御装置によって指定された目的のクライアント装置に対して物理制御命令の送信を行う（Ｓ０８０４）。
【００９３】
クライアント装置は、配信装置より物理制御命令を受信する（Ｓ０８０５）と、受信した物理制御命令に従い命令の実行を行う（Ｓ０８０６）。
【００９４】
＜効果の簡単な説明＞
【００９５】
以上のように、本実施例の映像配信システムによって、スイッチ装置とそれを管理するスイッチ管理装置に対して影響を与えることなく配信装置に接続されているクライアント装置に対して特定もしくは特定のグループさらにはすべてのクライアント装置のチャンネル変更をすることや、クライアント装置自体の電源のＯＮ／ＯＦＦなど制御をすることが可能となる。
【００９６】
≪実施例２≫
【００９７】
＜概要＞
【００９８】
本実施例は、上記実施例１を基本としてクライアント制御装置にて作成されたメッセージを配信装置を介して、指定のクライアントに送信する機能をさらに備えた映像配信システムである。
【００９９】
図９は、本実施例の映像配信システムによるクライアント制御装置にて作成したメッセージを配信する一例を表す概念図である。この図にあるようにまず、クライアント制御装置にて、配信先の指定及びメッセージの作成を行う。クライアント制御装置にてメッセージの作成が終わり、送信ボタン等を選択するなどメッセージの送信指示を与えると、指定のクライアントに対して作成したメッセージの送信を行う。そして、メッセージを受信したクライアントはメッセージの表示を行うという具合である。
【０１００】
図１０は、本実施例の映像配信システムにおける機能ブロックの一例を表す図である。この図にあるように、本実施例の映像配信システムは実施例１を基本として、その「クライアント制御装置」（１００１）が、「メッセージ取得部」（１００２）と「メッセージ送信部」（１００３）とを新たに有することを特徴としている。
【０１０１】
なお、ここでは本実施例において新たに追加された特徴的な個所についてのみ説明する。
【０１０２】
「メッセージ取得部」（１００２）は、クライアント装置に送信すべきメッセージ及び送信先を取得する機能を有する。具体的には、クライアント制御装置のコンソールからユーザがメッセージ及び送信先を入力して送信するメッセージの作成を行う。そして、後述の「メッセージ送信部」（１００３）に引き渡すということである。ここで、メッセージの取得は、あらかじめ固定文言として登録しておいてもよい。また、スケジューラと連動して設定したタイミングで固定文言を送信してもよい。さらには、メーラーと連動してメールをメッセージとして送信してもよい。
【０１０３】
「メッセージ送信部」（１００２）は、取得したメッセージを配信装置を介してクライアントに送信するために送信する機能を有する。具体的には、上記「メッセージ取得部」（１００３）において取得／作成されたメッセージを指定のクライアント装置に対して送信するということである。ここで、メッセージはノンブロッキングで送信できることが好ましい。
【０１０４】
＜ハードウェア的構成＞
【０１０５】
以下、図を用いて本実施例における映像配信システムの特徴的な処理について説明する。なお、「スイッチ装置」、「スイッチ管理装置」、「配信装置」、「クライアント装置」のハードウェア構成については実施例１と同様のためここでは説明を省略する。
【０１０６】
図１１は、本実施例における「クライアント制御装置」のハードウェア構成の一例を表す図である。「クライアント制御装置」は実施例１と同様に「ＣＰＵ」（１１０１）、「主メモリ」（１１０２）、「記憶装置」（１１０３）、「Ｉ／Ｏ」（１１０６）とを備えている。
【０１０７】
ここで、「クライアント制御装置」をユーザが操作するなどをしてメッセージの作成がおこなわれるものとする。
【０１０８】
ユーザが「クライアント制御装置」で送信しようとするメッセージを作成しようとする。すると「クライアント制御装置」は、「主メモリ」（１１０２）のワーク領域に展開されている「メッセージ取得・作成プログラム」（１１０４）の呼び出しを行う。ユーザは呼び出された「メッセージ取得・作成プログラム」（１１０４）を操作することにより、メッセージの作成を行う。
【０１０９】
次に、メッセージの作成が終了すると「主メモリ」（１１０２）のワーク領域より「メッセージ送信プログラム」（１１０５）が呼び出される。呼び出された「メッセージ送信プログラム」（１１０５）は先に作成したメッセージを「配信装置」に送信する。
【０１１０】
「配信装置」は、「クライアント制御装置」より受信したメッセージを指定の「クライアント装置」に対して送信する。そして、「クライアント装置」はメッセージを受信すると、メッセージを出力するという具合である。
【０１１１】
＜処理の流れ＞
【０１１２】
図１２は、本実施例の映像配信システムにおける処理の流れの一例を表すフローチャートである。ここでは、本実施例の特徴である「クライアント制御装置」において作成されたメッセージを「クライアント装置」に対して送信する処理について説明する。
【０１１３】
まず、ユーザは「クライアント制御装置」を操作して送信するメッセージの作成を行う（Ｓ１２０１）。メッセージの作成が完了すると、クライアント装置に送信するメッセージの取得が行われる（Ｓ１２０２）。メッセージの取得が行われると「クライアント装置」に対して送信を行う（Ｓ１２０３）。
【０１１４】
「クライアント装置」は、「クライアント制御装置」より送信されたメッセージの受信を行う（Ｓ１２０４）。「クライアント装置」は、受信したメッセージの出力を行う（Ｓ１２０５）。
【０１１５】
＜効果の簡単な説明＞
【０１１６】
以上のように、本実施例の映像配信システムによって、「クライアント制御装置」で作成したメッセージを指定の「クライアント装置」に対して送信することが可能となる。さらには、本実施例は、メッセージの送信にあたって「スイッチ装置」と「スイッチ管理装置」の影響を受けないことも特徴とする。
【０１１７】
≪スイッチ装置の参考例≫
【０１１８】
実施例１などで説明しているスイッチ装置は下記のような構成を有している。
【０１１９】
≪参考例１≫
【０１２０】
マルチキャスト能力を有する複数のスイッチをそれぞれ備えたインプット、ミドル、アウトプットの３ステージからなり、
インプットステージの各スイッチは、最低ｎ１個のラインの入力ポートを有し、アウトプットステージのスイッチは、最低ｎ２個のラインの出力ポートを有するとともに、
インプットステージの各スイッチは、全てのミドルステージスイッチのそれぞれに対して最低１ライン接続され、ミドルステージの各スイッチは、全てのアウトプットステージのそれぞれのスイッチに対して最低１ライン接続され、
さらに最低保証される各ラインは最大でもｋ（ｋ≧１）重の信号の多重化がされているマルチキャストスイッチングシステムであって、
アウトプットステージのスイッチ数はｒ２個であり、ミドルステージスイッチの数ｍ個が下記数式（Ａ１）を満たすマルチキャストスイッチングシステム。
【数Ａ１】
2009124657.tif 000003
【０１２１】
≪参考例２≫
【０１２２】
マルチキャスト能力を有する複数のスイッチをそれぞれ備えたインプット、ミドル、アウトプットの３ステージからなり、
インプットステージの各スイッチは、ｎ１個のラインの入力ポートを有し、アウトプットステージのスイッチは、ｎ２個のラインの出力ポートを有するとともに、
インプットステージの各スイッチは、全てのミドルステージスイッチのそれぞれに対して最低１ライン接続され、ミドルステージの各スイッチは、全てのアウトプットステージのそれぞれのスイッチに対して最低１ライン接続され、
さらに各ラインは最大でもｋ（ｋ≧１）重の信号の多重化（即ち各ラインは最大でもｋチャネルを有する）がされているマルチキャストスイッチングシステムであって、
アウトプットステージのスイッチ数はｒ２個であり、ミドルステージスイッチの数ｍ個が下記数式（Ａ１）を満たすマルチキャストスイッチングシステム。
【数Ａ１】
2009124657.tif 000004
【０１２３】
≪参考例３≫
【０１２４】
マルチキャスト能力を有する複数のスイッチをそれぞれ備えたインプット、ミドル、アウトプットの３ステージからなり、
インプットステージの各スイッチは、最低ｎ１個のラインの入力ポートを有し、アウトプットステージのスイッチは、最低ｎ２個のラインの出力ポートを有するとともに、
インプットステージの各スイッチは、全てのミドルステージスイッチのそれぞれに対して最低１ライン接続され、ミドルステージの各スイッチは、全てのアウトプットステージのそれぞれのスイッチに対して最低１ライン接続され、
さらに最低保証される各ラインは最大でもｋ（ｋ≧１）重の信号の多重化がされているマルチキャストスイッチングシステムの設計方法であって、
アウトプットステージのスイッチ数はｒ２個と、ミドルステージスイッチの数ｍ個を下記数式（Ａ１）を満たすように定めるマルチキャストスイッチングシステムの設計方法。
【数Ａ１】
2009124657.tif 000005
【０１２５】
≪参考例４≫
【０１２６】
マルチキャスト能力を有する複数のスイッチをそれぞれ備えたインプット、ミドル、アウトプットの３ステージからなり、
インプットステージの各スイッチは、ｎ１個のラインの入力ポートを有し、アウトプットステージのスイッチは、ｎ２個のラインの出力ポートを有するとともに、
インプットステージの各スイッチは、全てのミドルステージスイッチのそれぞれに対して最低１ライン接続され、ミドルステージの各スイッチは、全てのアウトプットステージのそれぞれのスイッチに対して最低１ライン接続され、
さらに各ラインは最大でもｋ（ｋ≧１）重の信号の多重化がされているマルチキャストスイッチングシステムの設計方法であって、
アウトプットステージのスイッチ数はｒ２個と、ミドルステージスイッチの数ｍ個を下記数式（Ａ１）を満たすように定めるマルチキャストスイッチングシステムの設計方法。
【数Ａ１】
2009124657.tif 000006
【０１２７】
≪参考例５≫
【０１２８】
マルチキャスト能力を有する複数のスイッチをそれぞれ備えたインプット、ミドル、アウトプットの３ステージからなり、
インプットステージの各スイッチは、最低ｎ１個のラインの入力ポートを有し、アウトプットステージのスイッチは、最低ｎ２個のラインの出力ポートを有するとともに、
インプットステージの各スイッチは、全てのミドルステージスイッチのそれぞれに対して最低１ライン接続され、ミドルステージの各スイッチは、全てのアウトプットステージのそれぞれのスイッチに対して最低１ライン接続され、
さらに最低保証される各ラインは最大でもｋ（ｋ≧１）重の信号の多重化がされているマルチキャストスイッチングシステムであって、
ｘは数式（Ａ１）を満たす値であり、アウトプットステージのスイッチ数はｒ２個、ミドルステージスイッチとアウトプットステージの間で全てのチャネルがふさがっているライン数の最大値 はＮ´（ただし、Ｎ´は「（ｎ２−１）×ｒ２」を意味する。）であり、ミドルステージスイッチの数ｍ´ｒｅｆｉｎｅが下記の表１に示されるＲｅｆｉｎｉｎｇ  Ａｌｇｏｒｉｔｈｍに従って求められるマルチキャストスイッチングシステム。
【表１】
2009124657.tif 000007
【０１２９】
≪参考例６≫
【０１３０】
マルチキャスト能力を有する複数のスイッチをそれぞれ備えたインプット、ミドル、アウトプットの３ステージからなり、
インプットステージの各スイッチは、ｎ１個のラインの入力ポートを有し、アウトプットステージのスイッチは、ｎ２個のラインの出力ポートを有するとともに、
インプットステージの各スイッチは、全てのミドルステージスイッチのそれぞれに対して最低１ライン接続され、ミドルステージの各スイッチは、全てのアウトプットステージのそれぞれのスイッチに対して最低１ライン接続され、
さらに各ラインは最大でもｋ（ｋ≧１）重の信号の多重化がされているマルチキャストスイッチングシステムであって、
ｘは数式（Ａ１）を満たす値であり、アウトプットステージのスイッチ数はｒ２個、ミドルステージスイッチとアウトプットステージの間で全てのチャネルがふさがっているライン数の最大値 はＮ´（ただし、Ｎ´は「（ｎ２−１）×ｒ２」を意味する。）であり、ミドルステージスイッチの数ｍ´ｒｅｆｉｎｅが下記の表１に示されるＲｅｆｉｎｉｎｇ  Ａｌｇｏｒｉｔｈｍに従って求められるマルチキャストスイッチングシステム。
【表２】
2009124657.tif 000008
【０１３１】
≪参考例７≫
【０１３２】
マルチキャスト能力を有する複数のスイッチをそれぞれ備えたインプット、ミドル、アウトプットの３ステージからなり、
インプットステージの各スイッチは、最低ｎ１個のラインの入力ポートを有し、アウトプットステージのスイッチは、最低ｎ２個のラインの出力ポートを有するとともに、
インプットステージの各スイッチは、全てのミドルステージスイッチのそれぞれに対して最低１ライン接続され、ミドルステージの各スイッチは、全てのアウトプットステージのそれぞれのスイッチに対して最低１ライン接続され、
さらに最低保証される各ラインは最大でもｋ（ｋ≧１）重の信号の多重化がされているマルチキャストスイッチングシステムの設計方法であって、
ｘは数式（Ａ１）を満たす値であり、アウトプットステージのスイッチ数はｒ２個、ミドルステージスイッチとアウトプットステージの間で全てのチャネルがふさがっているライン数の最大値 はＮ´（ただし、Ｎ´は「（ｎ２−１）×ｒ２」を意味する。）であり、ミドルステージスイッチの数ｍ´ｒｅｆｉｎｅが下記の表１に示されるＲｅｆｉｎｉｎｇ  Ａｌｇｏｒｉｔｈｍに従って求められるマルチキャストスイッチングシステムの設計方法。
【表３】
2009124657.tif 000009
【０１３３】
≪参考例８≫
【０１３４】
マルチキャスト能力を有する複数のスイッチをそれぞれ備えたインプット、ミドル、アウトプットの３ステージからなり、
インプットステージの各スイッチは、ｎ１個のラインの入力ポートを有し、アウトプットステージのスイッチは、ｎ２個のラインの出力ポートを有するとともに、
インプットステージの各スイッチは、全てのミドルステージスイッチのそれぞれに対して最低１ライン接続され、ミドルステージの各スイッチは、全てのアウトプットステージのそれぞれのスイッチに対して最低１ライン接続され、
さらに各ラインは最大でもｋ（ｋ≧１）重の信号の多重化がされているマルチキャストスイッチングシステムの設計方法であって、
ｘは数式（Ａ１）を満たす値であり、アウトプットステージのスイッチ数はｒ２個、ミドルステージスイッチとアウトプットステージの間で全てのチャネルがふさがっているライン数の最大値 はＮ´（ただし、Ｎ´は「（ｎ２−１）×ｒ２」を意味する。）であり、ミドルステージスイッチの数ｍ´ｒｅｆｉｎｅが下記の表１に示されるＲｅｆｉｎｉｎｇ  Ａｌｇｏｒｉｔｈｍに従って求められるマルチキャストスイッチングシステムの設計方法。
【表４】
2009124657.tif 000010
【０１３５】
≪参考例９≫
【０１３６】
参考例１、２、５、６、のいずれか一に記載のマルチキャストスイッチングシステムであって、次の順序でそのケースを扱うことによりスイッチを制御する制御部を有するマルチキャストスイッチングシステム。
Ｃａｓｅ１：新しいアウトプットチャネルが、既にツリーを形成しているアウトプットステージのスイッチのアウトプットチャネルであるのならば、そのアウトプットステージのスイッチ内で接続を作成する。
Ｃａｓｅ２：Ｃａｓｅ１でなく、かつ、新しいアウトプットチャネルを含むアウトプットステージのスイッチが既存のミドルステージのスイッチのアウトプットポートで空いているチャネルから接続できるのならば、そのミドルステージスイッチ内で接続を作成し、上記空いているチャネルからの接続を行う。
Ｃａｓｅ３：Ｃａｓｅ１でもＣａｓｅ２でもなく、かつ、既存のマルチキャストツリーがｘ（システム上の制限により１ソースがつながり得るミドルステージスイッチの数の上限値）未満のミドルステージのスイッチしか使っていない場合は、（ステージ間リンクを介し）目的のアウトプットステージのスイッチに到達するような、空いたアウトプットポートチャネルと空いたインプットポートチャネルをもつマルチキャストツリーに含まれないミドルステージスイッチを選び、接続を行う。
【０１３７】
≪参考例１０≫
【０１３８】
参考例１、２、５、６のいずれか一に記載のマルチキャストスイッチングシステムであって、インプットステージのソースを出力するスイッチと、下記の表２に示されるＲｏｕｔｉｎｇ  Ａｌｇｏｒｉｔｈｍで選択されるミドルステージのスイッチと、を接続するための制御を行う制御部を有するマルチキャストスイッチングシステム。
【表５】
2009124657.tif 000011
このスイッチシステムに関して以下に説明してゆく。本スイッチ装置は、多重化されたソースをマルチキャストにノンブロッキングで伝送するネットワークシステムに関する。
≪参考例の背景技術≫
【０１３９】
伝統的に、Ｎ１×Ｎ２のＣｌｏｓ（Ｃｌｏｓは人の名前；以下同様）型マルチキャストネットワークは３ステージのスイッチモジュールから構成される。インプットステージにはｒ１個のｎ１×ｍスイッチモジュールが存在し、ミドルステージにはｍ個のｒ１×ｒ２スイッチモジュールが存在し、そしてアウトプットステージにはｒ２個のｍ×ｎ２スイッチモジュールが存在する。ここで、図１３に示されるように、総入力ライン数Ｎ１はｎ１×ｒ１であり、総出力ライン数Ｎ２はｎ２×ｒ２である。このようなネットワークにおいて、となりあったステージの任意の２つのスイッチモジュール間にはただ一つのリンクのみが存在し、各スイッチモジュールはマルチキャスト可能であると仮定する。従来技術では、ｍが特定の値をとる場合にその３ステージＣｌｏｓ型ネットワークがノンブロッキングな意味でのマルチキャスト能力を持っているということが示されている。
≪特許文献２≫  特表２００７−５０４７７２
【０１４０】
≪参考例の開示≫
≪参考例が解決しようとする課題≫
【０１４１】
近年、新しい技術が開発されるに従って、より強力なスイッチングエレメントが商業的に利用可能となってきた。このようなスイッチでは、スイッチの各ポートが、独立したソースからの複数のデータストリームを同時にサポートすることができる。このタイプのスイッチを「マルチソーススイッチ」と呼ぶことにする。一般的に、ｓ×ｓのマルチソースマルチキャストスイッチは、ｓ個の入力ポートとｓ個の出力ポートを持ち、各ポートはｋ個の独立したリンクを持っていて、任意の入力リンクを任意の出力リンクに接続することができる。このようなスイッチを単純にｓ×ｓのｋソーススイッチと呼ぶ。このスイッチは、通常のｓｋ×ｓｋマルチキャストスイッチとして機能する。実際には、このようなスイッチの内部の実装は、パケットスイッチングである。たとえば、ｋ＝５として、各ポートが１０Ｇの帯域幅を持つｓ×ｓマルチソーススイッチは、各リンクが２Ｇの通常のｓｋ×ｓｋマルチキャストスイッチと等価である。
【０１４２】
しかし、従来技術では、マルチソースでマルチキャスト可能なＣｌｏｓ型のネットワークのノンブロッキング条件下でのミドルステージスイッチ数を最小化する技術が示されておらず、高コストなシステムとなっていた。更に、既存のマルチキャストツリーに接続を追加したり削除したりするアルゴリズムが示されておらず、データの損失なしでは接続の追加や削除が行えなかった。
【０１４３】
≪参考例が課題を解決するための手段≫
【０１４４】
本発明におけるネットワークは、上記のようなマルチソーススイッチングエレメントを３ステージＣｌｏｓ型ネットワークにおいて使用した、ノンブロッキングマルチキャストスイッチングネットワークである。本発明のＮ１×Ｎ２マルチキャストネットワークはＮ１個の入力ポートとＮ２個の出力ポートを持ち、各ポートはｋ個のリンクを持っている。これをＮ１×Ｎ２のｋソースマルチステージネットワークと呼ぶ。従来のＣｌｏｓ型ネットワークと比してのもっとも大きな違いは、図１４に示すように、ｋソースマルチステージネットワークにはステージ間の各スイッチ間にはｋ本のリンクがあるということである。
【０１４５】
本発明では、本ネットワークを用いた場合の、ノンブロッキング条件下でのミドルステージスイッチの数（伝統的なコストメトリックであるクロスポイント数ではない）を最小化する技術を提供する。更に、データの損失なしに既存のマルチキャストツリーに接続を追加したり削除したりする技術を提供する。
【０１４６】
≪参考例の効果≫
【０１４７】
マルチソースかつマルチキャスト可能なＣｌｏｓ型ネットワークにおける、ノンブロッキング条件下でのミドルステージスイッチの数を最小化する技術により、左記ネットワークを、低コストで提供できる効果を奏する。更に、データの損失なしに既存のマルチキャストツリーに接続を追加したり削除したりするアルゴリズムにより、データの損失なしで上記ネットワークを運用できるという効果を奏する。
【０１４８】
≪参考例を実施するための最良の形態≫
【０１４９】
以下、本件発明の実施の形態について、添付図面を用いて説明する。なお、本件発明は、これら実施形態に何ら限定されるべきものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施し得る。
【０１５０】
なお、以下の参考実施形態と参考例の関係は次の通りである。参考実施形態１は、主に参考例１、２、３、４について説明する。参考実施形態２は、主に参考例５、６、７、８について説明する。参考実施形態３は、主に参考例９について説明する。参考実施形態４は、主に参考例１０について説明する。
＜＜参考実施形態１＞＞
【０１５１】
＜参考実施形態１の概要＞
【０１５２】
本参考実施形態の概要は、マルチキャスト可能なＣｌｏｓ型のネットワークのノンブロッキング条件下でのミドルステージのスイッチを極力減らしたシステムおよびその設計方法を提供することである。
【０１５３】
ここで「ノンブロッキング」とは、任意の接続要求に対して、ネットワークを通る接続パスを提供して、他の既存の接続を妨害することなく要求を満たすことが常に可能な状態を指す。上記「任意の接続要求」とは、出力可能なアウトプットステージスイッチの存在を前提として、インプットステージの空きポートへの新たな入力又は既存の入力に対して、アウトプットステージスイッチからの新たな出力を任意に行うための要求である。別の言い方をすれば、アウトプットステージの任意のスイッチから新たな出力を行うための要求である。
【０１５４】
＜参考実施形態１の構成＞
【０１５５】
本参考実施形態は、マルチキャスト能力を有する複数のスイッチをそれぞれ備えたインプット、ミドル、アウトプットの３ステージからなり、インプットステージの各スイッチは、最低ｎ１個のラインの入力ポートを有し、アウトプットステージのスイッチは、最低ｎ２個のラインの出力ポートを有するとともに、インプットステージの各スイッチは、全てのミドルステージスイッチのそれぞれに対して最低１ライン接続され、ミドルステージの各スイッチは、全てのアウトプットステージのそれぞれのスイッチに対して最低１ライン接続され、さらに最低保証される各ラインは最大でもｋ（ｋ≧１）重の信号の多重化がされているマルチキャストスイッチングシステムであって、アウトプットステージのスイッチ数はｒ２個であり、ミドルステージスイッチの数ｍ個が下記数式（Ａ１）を満たすマルチキャストスイッチングシステム、または、その設計方法である。
【数Ａ１】
2009124657.tif 000012
【０１５６】
本参考実施形態のマルチキャストスイッチングシステムは、例えば図１４のネットワーク構成図に示すような複数のスイッチをそれぞれ備えたインプット、ミドル、アウトプットの３ステージからなる、Ｃｌｏｓ型ネットワークを構成する。
【０１５７】
ここで「ステージ」とは、スイッチを複数個備えた１層以上からなるスイッチの集合体である。１ステージが複数層で実現される場合は、複数層が１層に等価的に集約できる場合である。また、１層に複数ステージを含めた場合（例えば１層で、インプットステージとアウトプットステージを実現する場合など）もＣｌｏｓ型ネットワークに該当する。上記「スイッチ」とは、例えば図１５に示すような、スイッチの内部をマトリクス構造とすることで、任意の入力ポートからの信号を任意の出力ポートへの信号とすることができるスイッチを指す。
【０１５８】
また「Ｃｌｏｓ型ネットワーク」とは、論理的に３層以上にネットワークスイッチを接続することで大規模ネットワークを構成する方法であり、ミドルステージのポート数を、インプットステージやアウトプットステージのポート数より大きくすることで任意の入力から任意の出力に、決して他の通信を邪魔する（または他の通信に邪魔される）ことなく通信できる(ノンブロッキングで通信できる)という理想的な性質をもたせることができるネットワークを指す。
【０１５９】
本マルチキャストスイッチングシステムは、マルチキャスト能力を有する複数のスイッチをそれぞれ備えたインプット、ミドル、アウトプットの３ステージからなる。
【０１６０】
ここで「マルチキャスト」とは、ネットワーク上で複数の相手を指定してデータを送信することを指す。すなわち１対多（１入力に対して複数の出力）のデータ送信を行うことを指す。
【０１６１】
本マルチキャストスイッチングシステムのインプットステージの各スイッチは、最低ｎ１個のラインの入力ポートを有し、アウトプットステージのスイッチは、最低ｎ２個のラインの出力ポートを有する。
【０１６２】
すなわち、図１４に示すように、システム全体で考えた場合にはインプットステージの各スイッチの各入力ポートがシステムの入力であり、１つのインプットステージのスイッチには最低ｎ１個のラインの入力ポートを有する。又、アウトプットステージの各スイッチの各出力ポートがシステムの出力であり、１つのアウトプットステージのスイッチには最低ｎ２個のラインの出力ポートを有する。
【０１６３】
ここで「ライン」とは、各ステージ間のスイッチどうしをつなぐ伝送路であり、出力ポート、入力ポート間に接続される物理的媒体をいう。１ポートには１ラインがつながり得るものとする。１ラインには同時に複数ソース分の信号を流すことができる。即ち、１ラインは複数チャネルから構成され得る。またラインとしては例えば光ファイバーのようなものや、金属導線のようなものや、無線の接続線（光、電磁波、音）のようなものが該当する。さらに、１ラインに含まれるチャンネルは必ずしも物理的に１本の光ファイバーなどで構成されなくともよく、複数のチャンネルを複数の光ファイバーなどで分担して構成してもよい。
【０１６４】
本マルチキャストスイッチングシステムのインプットステージの各スイッチは、全てのミドルステージスイッチのそれぞれに対して最低１ライン接続され、ミドルステージの各スイッチは、全てのアウトプットステージのそれぞれのスイッチに対して最低１ライン接続される。
【０１６５】
すなわち、インプットステージの任意の１スイッチは、全てのミドルステージのスイッチと、出力ポート−入力ポート間で、最低１ラインで接続されている。ミドルステージの任意の１スイッチは、全てのアウトプットステージのスイッチと、出力ポート−入力ポート間で、最低１ラインで接続されている。
【０１６６】
本マルチキャストスイッチングシステムの最低保証される各ラインは最大でもｋ（ｋ≧１）重の信号の多重化がされている。
【０１６７】
すなわち、図１４に示すように、各ステージの入出力ポートの１ライン上では、最大でｋ重の多重化された情報（ソース又はチャネル）が伝送され得る。例えば、異なった複数のコンテンツの映像ソースが多重化されて伝送され得る。本参考実施形態における各スイッチは、多重化されたソース（チャネル）を入力ポートから入力でき、かつ、スイッチ内部で多重化を解いたりｋの多重化の範囲内で任意に新たな多重化を作成して出力ポートから出力できるものである。
【０１６８】
ここで「多重化」とは、１ラインで同時に複数の情報を送るために分離可能に信号を重ねることである。１ライン上の多重化は１本の伝送路により行われても良いし、複数本の伝送路により行われても良い。
【０１６９】
多重化の方式については一般的に用いられている、波長分割多重方式（ＷＤＭ：  Ｗａｖｅｌｅｎｇｔｈ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅｘｉｎｇ）を利用しても良い。「波長分割多重方式」は、一例として、光ファイバーを使った通信に応用される。波長分割多重方式においては、波長の違う複数の光信号を光ファイバー上において同時に多重化して利用することができるので、光ファイバー上の情報伝送量を飛躍的に増大させることができる。ＷＤＭをより高密度化したものをＤＷＤＭ（Ｄｅｎｓｅ  ＷＤＭ）という。本参考実施形態ではＤＷＤＭを利用したものであっても良い。ＷＤＭやＤＷＤＭは従来技術であるため、詳細説明は省略する。但し、本参考実施形態においては、多重化の方式はＷＤＭやＤＷＤＭに限定されるものではなく、間欠送信多重化（ＰＡＭ）、時分割多重化（ＴＤＭ）、周波数分割多重化（ＦＤＭ）、符号分割多重化（ＣＤＭ）、偏波分割多重化（ＰＤＭ）などの多重化方式であっても良い。
【０１７０】
本マルチキャストスイッチングシステムのアウトプットステージのスイッチ数はｒ２個であり、ミドルステージスイッチの数ｍは、数式（Ａ１）を満たす個数である。
【０１７１】
すなわち本マルチキャストスイッチングシステムにおいて、インプットステージの各スイッチの入力ポート数の最低値ｎ１、アウトプットステージの各スイッチの出力ポート数の最低値ｎ２、アウトプットステージのスイッチ数ｒ２、１ラインの最大多重度ｋ（１ラインで多重化されうる最大値）、から、本システムでノンブロッキングを達成するためのミドルステージスイッチ数ｍ、が数式（Ａ１）により求まる、ということである。ここで数式（Ａ１）におけるｘは、システム上の制限により１ソースがつながり得るミドルステージスイッチの数の上限値を示し、数式（Ａ１）によりｍと共に求められる値である。数式（Ａ１）における└  ┘は床関数であり└  ┘内の値を超えない最大の整数を示す。数式（Ａ１）の右辺第一項は、既に接続されていて新たな接続を行えないミドルステージのスイッチ数を示し、第二項は、ノンブロッキングを達成するために必要とする接続可能なミドルステージのスイッチ数を示す。
【０１７２】
以下に数式（Ａ１）を導き出すための詳細説明を行う。
【０１７３】
＜数式（Ａ１）を導き出すための詳細説明＞
【０１７４】
簡単のためＮ１＝Ｎ２＝Ｎ、ｎ１＝ｎ２＝ｎ、ｒ１＝ｒ２＝ｒの対称型のネットワークを考える。その後、非対称型に一般化する。
【０１７５】
従来のＣｌｏｓ型マルチキャストネットワークでは、あるミドルステージスイッチのデスティネーション集合を、そのミドルステージスイッチから接続されているアウトプットステージスイッチのラベル（識別子）の集合として定義している。しかしながら、ｋソースＣｌｏｓ型マルチキャストネットワークにおいては、ミドルステージスイッチは、ある１つのアウトプットステージスイッチに対してｋ本までの接続を持つことができる。したがって、以下のような記法で定義されるような、要素が１より大きい多重度を持つデスティネーション多重集合で考える。Ｏ＝｛１，２，...，ｒ｝を、１からｒまで番号を振られたすべてのアウトプットステージスイッチのラベル（識別子）の集合とする。あるミドルステージスイッチｊ∈｛１，２，...，ｍ｝からあるアウトプットステージスイッチｐ∈Ｏへのマルチキャスト接続はｋ本まで可能なので、デスティネーション多重集合（その基集合はＯ）を表現するためにＭｊを使う。ここでｊからｐへのマルチキャスト接続が１つより多い場合、ｐは一度以上現れ得る。Ｍｊ中にｐが現れる回数、もしくはｊからｐへのマルチキャスト接続の数を、多重集合Ｍｊにおけるｐの多重度と呼ぶことにする。
【０１７６】
より厳密には、多重集合を以下のように表記する。
【数１】
2009124657.tif 000013
ここで、０≦ｉｊ１，ｉｊ２，...，ｉｊｒ≦ｋはそれぞれ要素１，２，...，ｒの多重度である。ここで、各多重度がｋ未満なら、すなわち０≦ｉｊ１，ｉｊ２，...，ｉｊｒ≦ｋ−１なら、既存のいかなる接続も妨害せずにミドルステージスイッチｊを経由して実現することのできる最大限のマルチキャスト接続は、｛１，２，...，ｒ｝である（ミドルステージスイッチｊから到達可能なアウトプットステージスイッチの集合という面で）。一般的に、ミドルステージスイッチｊを経由して実現することのできる最大限のマルチキャスト接続は｛ｐ｜０≦ｉｊｐ＜ｋ，ｆｏｒ１≦ｐ≦ｒ｝である。なお、数式（１）の意味がわかりにくいので平たく説明すると以下のとおりとなる。つまり数式（１）は、ミドルステージのｊ番目のスイッチからアウトプットステージに向かって既に利用されているチャンネルを集合のかたちで表したものである。右辺のカッコ内の各要素は、それぞれアウトプットとステージの各スイッチに向かって利用されているこのミドルステージスイッチからのチャンネルの数を示すもので、例えば、一番目の要素に関しては、アウトプットステージの１番目のスイッチに向けて既にｉｊ１チャンネルが利用されていることを示す。また例えば二番目の要素に関しては、アウトプットステージの２番目のスイッチに向けて既にｉｊ２  チャンネルが利用されていることを示す。これらはｊ番目のミドルステージスイッチに関するもので、同じように１番目のミドルステージのスイッチ、２番目のミドルステージスイッチ、という具合に各ミドルステージスイッチに対してこれと同様の集合を定義できる。２つのミドルステージスイッチｊおよびｈを経由して実現可能な最大限のマルチキャスト接続を求めるために、まず、多重集合の共通集合をとる操作を以下のように定義する。
【数２】
2009124657.tif 000014
したがって、２つのミドルステージスイッチｊおよびｈを経由して実現できる最大限のマルチキャスト接続は、多重集合Ｍｊ∩Ｍｈと等しいデスティネーション多重集合を持つある１つのミドルステージスイッチを経由して実現できる最大限のマルチキャスト接続である。
【０１７７】
マルチキャスト接続の実現という観点から、Ｍｊのうち多重度がｋに達している要素は使用不可とみなし、通常の集合で特徴づける。したがって、Ｍｊの要素数を以下のように定義する。
すなわち「要素数」とは
【数３】
2009124657.tif 000015
であり、「選択されたミドルステージスイッチｊから到達不可能なアウトプットステージスイッチの数」を意味する。
又、Ｍｊが空であるとは、以下の状態であると定義する。
【数４】
2009124657.tif 000016
【０１７８】
ここで、ファンアウトｒを持つ新規マルチキャスト接続リクエストを満たすには、使用可能なミドルステージスイッチの中から高々ｘ（ｘ≧１）個のミドルステージスイッチｉ１，...，ｉｘを使用すればよく、このときの必要十分条件はｘ個のミドルステージスイッチのデスティネーション集合の共通集合が空であることである。すなわち、∩ｘｊ＝１Ｍｊｉ＝φであることである。
【０１７９】
従来のマルチキャストネットワークのためのノンブロッキング条件の結果をｋソースマルチキャストネットワークに拡張する。すなわち、デスティネーション集合を、数式（１）で定義されたようなｋを超えない多重度を持ち数式（２）から（４）で定義されたような演算を持つ多重集合に置き換える。
【０１８０】
すると、以下のような定理１が得られる。
【０１８１】
＜定理１＞
【０１８２】
任意のｘ，１≦ｘ≦ｍｉｎ｛ｎ−１，ｒ｝に対して、ｍ´を以下の条件を満たすようなミドルステージスイッチの個数の最小値、すなわち、ノンブロッキングを達成するために必要とする接続可能なミドルステージスイッチの個数と置く。デスティネーション多重集合のどの多重度もｋを超えず、高々（ｎｋ−１）個の１、（ｎｋ−１）個の２、...、（ｎｋ−１）個のｒが、ｍ´個のデスティネーション多重集合の中に分布している。そしてそれらのデスティネーション多重集合の任意のｘ個の共通集合がどれも空でない。そうであるならば、下記数式が得られる、というものである。
2009124657.tif 000017
【０１８３】
上記定理１を以下に証明する。
【０１８４】
＜定理１の証明＞
【０１８５】
これらｍ´個のミドルステージスイッチ１，２，...，ｍ´がデスティネーション多重集合Ｍ１，Ｍ２，...，Ｍｍを持つと仮定すると、仮定よりこれらの多重集合は空でない。明らかに、数式（３）、（４）を用いて
2009124657.tif 000018
が得られる。
【０１８６】
高々（ｎｋ−１）個の１、（ｎｋ−１）個の２、...、（ｎｋ−１）個のｒが、ｍ´個のデスティネーション多重集合の中に分布している。また、数式（３）より、Ｍｉ中に同じ要素がｋ個あると、｜Ｍｉ｜の値は１となる。したがって、任意のｊ（１≦ｊ≦ｒ）について、要素ｊの多重度が（ｎｋ−１）であるならばΣｍ´ｉ＝１｜Ｍｉ｜の値は└（ｋ−１）／ｋ┘を超えることはない。したがって
2009124657.tif 000019
を得る。Ｍｊ１を
2009124657.tif 000020
を満たすような多重集合とする。すると
2009124657.tif 000021
を得る。したがって、｜Ｍｊ１｜＞０であるため、
【数５】
2009124657.tif 000022
である。多重集合Ｍｊ１において、多重度がｋである｜Ｍｊ１｜個の要素を１，２，...，｜Ｍｊ１｜と定義する。いま、ｍ´個の新しい多重集合Ｍｊ１∩Ｍｉｆｏｒ１≦ｉ≦ｍ´を与えると、数式（２）、（３）および、任意の２つの多重集合の共通集合は空ではないという定義から、
2009124657.tif 000023
である。そして、多重集合Ｍｊ１∩Ｍｉの要素１，２，...，｜Ｍｊ１｜だけが多重度ｋを持っているので｜Ｍｊ１∩Ｍｉ｜の値へ寄与することができる。高々（ｎｋ−１）個の１、（ｎｋ−１）個の２，...，（ｎｋ−１）個の｜Ｍｊ１｜はｍ´多重集合Ｍｊ１∩Ｍｉｆｏｒ１≦ｉ≦ｍ´に分配される。上記同様の解析を用いて、次式
【数６】
2009124657.tif 000024
を得る。Ｍｊ２を多重集合とし、
2009124657.tif 000025
とする。その結果，同様に｜Ｍｊ１∩Ｍｊ２｜＞０であるため、
【数７】
2009124657.tif 000026
を得ることができる。一般的に、２≦ｙ≦ｘのとき、以下となる。
【数８】
2009124657.tif 000027
そして高々ｘのオリジナルの多重集合の共通集合が空ではないという仮定に基づき、｜∩ｙｌ＝１Ｍｊｌ｜＞０である。他方では、このｍ´多重集合（∩ｘ−１ｌ＝１Ｍｊｌ）∩Ｍｉ（１≦ｉ≦ｍ´）も仮定に基づいて全て空ではない。これは｜（∩ｘ−１ｌ＝１Ｍｊｌ）∩Ｍｉ｜≧１ｆｏｒ１≦ｉ≦ｍ´および
2009124657.tif 000028
という意味である。その結果、数式（６）の導出と同様の根拠を用いて、以下が導出される。
【数９】
2009124657.tif 000029
ｍ´は数式（５），（８）及び（９）の右辺の幾何学的平均より大きくならないため、
2009124657.tif 000030
を得る。
【０１８７】
定理１の直接的推論１は以下の通りである。
【０１８８】
Ｃｌｏｓ型ｋソースマルチキャストネットワークにおいて、ファンアウトｒ'，１≦ｒ'≦ｒの新しいマルチキャスト接続要求に対して、この接続要求のために利用可能なミドルステージスイッチが（ｎ−１）ｒ'１／ｘ，１≦ｘ≦ｍｉｎ｛ｎ−１，ｒ'｝より多く存在したならば、そのときいつでもこの新たな接続要求を満たすｘ個のミドルステージスイッチが存在する。
【０１８９】
したがって、k-ソースマルチキャストネットワークのためのノンブロッキング条件を以下のように構築できる。
【０１９０】
＜定理２＞
【０１９１】
すなわち定理２とは、Ｃｌｏｓ型ｋソースＮ×Ｎマルチキャストネットワークは以下の関係式を満たせば、どんなマルチキャストの割り当てでもノンブロッキングとなる、というものである。
【数１０】
2009124657.tif 000031
【０１９２】
上記定理２は、以下のように証明される。
【０１９３】
＜定理２の証明＞
【０１９４】
マルチキャスト接続を実現するルーティング方法は高々ｘのミドルステージスイッチを用いるので、上記直接的推論１によって、新たなマルチキャスト接続要求に利用可能なミドルステージスイッチが（ｎ−１）ｒ１／ｘより多くあるならば、いつでもこの新たなマルチキャスト接続要求を実現するx個のミドルステージスイッチを選ぶことができる。
【０１９５】
ここで、「ルーティング」とは本参考実施形態のマルチキャストスイッチングシステムにおける、マルチキャスト接続の経路制御のことを指す。
【０１９６】
ここで、他のマルチキャスト接続のために使用される入力リンクは最大で nk-1 個存在しうる。ルーティング方法によって、それらの各々は、このインプットステージスイッチにおける異なったアウトプットのときに高々ｘ本のリンクに接続されて、そして、高々ｘ個のミドルステージスイッチに接続される。伝統的なネットワークとは異なり、マルチソースのマルチキャストネットワークにおいては、異なった入力ポートの２つのリンクはインプットステージスイッチの同じ出力の２個のリンクに接続して、そして、同じミドルステージスイッチに接続することができる。ここで、最悪の場合に新たなマルチキャスト接続に利用できないミドルステージスイッチの数はいくつかを求める。各々のポートはｋリンクを持っており、現在のインプットステージスイッチからミドルステージスイッチへつながっているポートのすべてのｋリンクはｋの既存のマルチキャスト接続に使用されているなら、このミドルステージスイッチは利用することができない。したがって、高々
2009124657.tif 000032
のミドルステージスイッチは新しいマルチキャスト接続要求に利用できない。故に、ミドルステージスイッチの必要とする総数、ｍは、最悪のケースの利用できないミドルステージスイッチの数とマルチキャスト接続の実現に必要だった利用可能なミドルステージスイッチの最大の数を足した数より大きい。ｍの最小値は（１０）から右辺の式のｘのとり得るすべての値の最小化によって得られる。
【０１９７】
より一般的なネットワークに関しての結果は、以下の定理３により与えられる。
【０１９８】
すなわち定理３とは、Ｃｌｏｓ型ｋソースＮ１×Ｎ２マルチキャストネットワークは以下の関係式を満たせば、どんなマルチキャストの割り当てでもノンブロッキングとなる、というものである。
【数１１】
2009124657.tif 000033
【０１９９】
＜参考実施形態１の効果＞
【０２００】
本参考実施形態により、本ネットワークのノンブロッキング条件下でのミドルステージのスイッチを極力減らすことができ、同ネットワークを、低コストで提供できる効果というを奏する。
＜＜参考実施形態２＞＞
【０２０１】
＜参考実施形態２の概要＞
【０２０２】
本参考実施形態の概要は、上記参考実施形態で得たネットワークに対し、ミドルステージのスイッチを最小化したシステムおよびその設計方法を提供することである。
【０２０３】
＜参考実施形態２の構成＞
【０２０４】
本参考実施形態は、マルチキャスト能力を有する複数のスイッチをそれぞれ備えたインプット、ミドル、アウトプットの３ステージからなり、インプットステージの各スイッチは、最低ｎ１個のラインの入力ポートを有し、アウトプットステージのスイッチは、最低ｎ２個のラインの出力ポートを有するとともに、インプットステージの各スイッチは、全てのミドルステージスイッチのそれぞれに対して最低１ライン接続され、ミドルステージの各スイッチは、全てのアウトプットステージのそれぞれのスイッチに対して最低１ライン接続され、さらに最低保証される各ラインは最大でもｋ（ｋ≧１）重の信号の多重化がされているマルチキャストスイッチングシステムであって、ｘは数式（Ａ１）を満たす値であり、アウトプットステージのスイッチ数はｒ２個、ミドルステージスイッチとアウトプットステージの間で全てのチャネルがふさがっているライン数の最大値 はＮ´（ただし、Ｎ´は「（ｎ２−１）×ｒ２」を意味する。）であり、ミドルステージスイッチの数ｍ´ｒｅｆｉｎｅが下記の表１に示されるＲｅｆｉｎｉｎｇ  Ａｌｇｏｒｉｔｈｍに従って求められるマルチキャストスイッチングシステム、または、その設計方法である。
【表６】
2009124657.tif 000034
【０２０５】
本マルチキャストスイッチングシステムは、マルチキャスト能力を有する複数のスイッチをそれぞれ備えたインプット、ミドル、アウトプットの３ステージからなる。これらについては既に参考実施形態１で説明済みであるため、説明を省略する。
【０２０６】
本マルチキャストスイッチングシステムのインプットステージの各スイッチは、最低ｎ１個のラインの入力ポートを有し、アウトプットステージのスイッチは、最低ｎ２個のラインの出力ポートを有する。これらについては既に参考実施形態１で説明済みであるため、説明を省略する。
【０２０７】
本マルチキャストスイッチングシステムのインプットステージの各スイッチは、全てのミドルステージスイッチのそれぞれに対して最低１ライン接続され、ミドルステージの各スイッチは、全てのアウトプットステージのそれぞれのスイッチに対して最低１ライン接続されている。これらについては既に参考実施形態１で説明済みであるため、説明を省略する。
【０２０８】
本マルチキャストスイッチングシステムの最低保証される各ラインは、最大でもｋ（ｋ≧１）重の信号の多重化がされている。これらについては既に参考実施形態１で説明済みであるため、説明を省略する。
【０２０９】
本マルチキャストスイッチングにおいて、ｘは数式（Ａ１）を満たす値であり、アウトプットステージのスイッチ数はｒ２個、ミドルステージスイッチとアウトプットステージの間で全てのチャネルがふさがっているライン数の最大値 はＮ´（ただし、Ｎ´は「（ｎ２−１）×ｒ２」を意味する。）であり、ミドルステージスイッチの数ｍ´ｒｅｆｉｎｅは、表１に示されるＲｅｆｉｎｉｎｇ  Ａｌｇｏｒｉｔｈｍに従って求められる。
【０２１０】
すなわち本マルチキャストスイッチングシステムにおいて、アウトプットステージの各スイッチの出力ポート数の最低値ｎ２、アウトプットステージのスイッチ数ｒ２、数式（Ａ１）を満たす値ｘ（すなわち、システム上の制限により１ソースがつながり得るミドルステージスイッチの数）、参考実施形態１で求められたノンブロッキングを達成するために必要とする接続可能なミドルステージスイッチの個数ｍ´、ミドルステージスイッチとアウトプットステージの間で全てのチャネルがふさがっているライン数の最大値 Ｎ´から、ノンブロッキングを達成するために必要とする接続可能なミドルステージスイッチの個数の最小値ｍ´ｒｅｆｉｎｅが表１に示されるＲｅｆｉｎｉｎｇ  Ａｌｇｏｒｉｔｈｍに従って求められる、ということである。
【０２１１】
ここで、「ミドルステージスイッチとアウトプットステージの間で全てのチャネルがふさがっているライン数の最大値 Ｎ´」とは、ミドルステージとアウトプットステージ間のラインのうち最悪の条件下でフルになっているラインの数、のことである。すなわち、アウトプットステージ全体では、ｎ２×ｒ２本ある出力ラインのうち（ｎ２−１）×ｒ２本の出力ラインが最悪の状態でフルになっている可能性があり、ミドルステージとアウトプットステージの間のラインも（ｎ２−１）×ｒ２本がフルになっている状態が最悪の状態であると言え、結局（ｎ２−１）×ｒ２が、ミドルステージとアウトプットステージ間のラインのうち最悪の条件下でフルになっているラインの数となる。ｎ２×ｒ２本すべてがフルになっている状態は新しい接続要求リクエストに応える必要がないので最悪の状態ではない。同様に、出力ステージのスイッチがどれか一つでもｎ２本フルになっている状態も最悪状態ではない。
【０２１２】
以下に表１に示されるＲｅｆｉｎｉｎｇ  Ａｌｇｏｒｉｔｈｍを説明する。
【０２１３】
行０１、０２は初期化部分である。すなわち、ｍｍ´はｍ´ｒｅｆｉｎｅの候補を示す変数であり、行０１において、ｍ´（施形態１で求められた値）を代入し初期化している。また、ｃｃｊ（ｊ＝１，...，ｘ）はミドルステージスイッチをｊ個選択した場合の共通集合の要素数（すなわち、選択されたｊ個のミドルステージスイッチから到達不可能なアウトプットステージスイッチの数；参考実施形態１の数式（８）参照）であり、行０２にて全て０に初期化している。
【０２１４】
行０３から行１３はＲｅｆｉｎｉｎｇ  Ａｌｇｏｒｉｔｈｍの本体部分でありｃｃｘが０である限りは、ｍｍ´（ｍ´ｒｅｆｉｎｅの候補）を減らすことができることを示している。ｃｃｘが０であるとは、ｘ個のミドルステージスイッチを選択すれば（１ソースに対してｘ個のミドルステージスイッチまで選択可能である）、ミドルステージスイッチから到達不可能なアウトプットステージスイッチは無くなる（すなわちノンブロッキングが達成される）ことを示している。
【０２１５】
行０４は、１つのミドルステージスイッチを選んだ場合の要素数を計算する箇所である。すなわち、参考実施形態１の数式（５）で示される要素数（数式（５）の右辺分母）を計算している。
【０２１６】
行０５から行０７は、ｃｃｊ（ｊ＝２，...，ｘ）を計算する部分であり、参考実施形態１の数式（８）で示される共通集合の要素数（数式（８）の右辺分母）の計算に相当する。
【０２１７】
行０８から行１１は、ｃｃｘが０（すなわちノンブロッキングが達成される）ならば、ｍ´ｒｅｆｉｎｅの候補としてｍｍ´を代入し、保存しておく。また、システムパラメータｃｊ（ｊ＝１，...，ｘ）の候補としてｃｃｊ（ｊ＝１，...，ｘ）を代入し、保存しておく。ｍｍ´＝ｍ´の場合は、参考実施形態１の定理３によりｃｃｘは０（すなわちノンブロッキングが達成される）であるため、必ず保存される。
【０２１８】
行１２では、ｍｍ´がデクリメントされ、行０３から行１１が繰り返される。すなわち、ｍｍ´を減らしてもｃｃｘが０である（すなわちノンブロッキングが達成される）限り、ｍ´ｒｅｆｉｎｅと、システムパラメータｃｊの候補が保存される。行１２でｍｍ´を減らした後、行０８にてｃｃｘが０で無くなったと判断されたとき（すなわちノンブロッキングが達成されない場合）は、ｍ´ｒｅｆｉｎｅと、システムパラメータｃｊの候補は保存されず、更に行０３にてｗｈｉｌｅループを抜けて終了する。終了時には、ノンブロッキングが達成される最小のｍ´ｒｅｆｉｎｅとそのときのシステムパラメータｃｊ（ｊ＝１，...，ｘ）が得られる。
【０２１９】
以下に、具体例をあげつつ、Ｒｅｆｉｎｉｎｇ  Ａｌｇｏｒｉｔｈｍを説明する。
【０２２０】
＜Ｒｅｆｉｎｉｎｇ  Ａｌｇｏｒｉｔｈｍの具体例による説明＞
【０２２１】
参考実施形態１で、初期の解析を行い、マルチソースのノンブロッキングマルチキャストスイッチングネットワークの第一のデザインを得た。定理１，２，３の論理的限界は、最適化が実数の関数であること、に起因している。前記実数の関数は、使用可能なミドルステージスイッチを決める近似線を与える。デスティネーション多重集合の要素数は、整数であるという事実を考慮すれば、以下のような最小化を得て、コストを下げられる。
【０２２２】
以下に、あるｋソースマルチキャストネットワーク（Ｎ＝１６０；ｎ＝８；ｒ＝２０；ｋ＝５）を取り上げ、ミドルステージスイッチ数を最小化する一例を具体的に示す。
ここで再び各数値について記すと、「Ｎ」は入力ステージの全ポート数であり出力ステージの全ポート数でもある。「ｎ」は、入力ステージと、出力ステージの各スイッチが有するポート数である。「ｒ」は、入力ステージのスイッチ数であり、出力ステージのスイッチ数でもある。また、次に出てくる「ｋ」は各ライン（各ポートにつながれている信号線）に許される多重度、言い換えれば各ラインに許されるチャンネル数である。
【０２２３】
ｋソースマルチキャストネットワークに以下のパラメータを当てはめ、
Ｎ＝１６０；ｎ＝８；ｒ＝２０；ｋ＝５；
定理２を用いてｘおよびｍを以下のように計算できる。
ｘ＝３，ｍ＝４３
使用可能なミドルステージスイッチの数の限界（ｍ´）は以下で示される。
2009124657.tif 000035
上式で┌  ┐は天井関数であり、┌  ┐内の値を下回らない最小の整数を示す。
新しいマルチキャスト接続のリクエストは、使用可能なミドルステージのスイッチのｍ´＝２０から選ばれた、ｘ＝３のミドルステージのスイッチを用いることで、実現されうることをまず証明する。数式（５）によると最初に選ぶミドルステージスイッチｊ１は以下を満足するものである。
2009124657.tif 000036
数式（７）によると次に選ぶミドルステージスイッチｊ２は以下を満足するものである。
2009124657.tif 000037
そして最後に、３回目に選ぶミドルステージスイッチｊ３は以下を満足するものである。
2009124657.tif 000038
よってＭｊ１∩Ｍｊ２∩Ｍｊ３＝φを得られた。ということは、どんなマルチキャストリクエストであっても、ｍ´＝２０の使用可能なミドルステージスイッチから選ばれた３つのミドルステージスイッチｊ１，ｊ２とｊ３により実現されうる。参考実施形態１で、ｍ´は実数の関数ベースで計算されたので、実際のｍ´は僅かにもうすこし小さい。この固有のケースでは、ｍ´＝２０でなくｍ´＝１８がｘ＝３を実現する新しいマルチキャスト接続リクエストの条件を保障する最も小さいｍ´である、ということを以下のように証明しうる。最初に選ぶミドルステージスイッチｊ１は
2009124657.tif 000039
２番目に選ぶミドルステージスイッチｊ２は
2009124657.tif 000040
３番目に選ぶミドルステージスイッチｊ３は
2009124657.tif 000041
である。よって、ｘ（＝３）のミドルステージスイッチは、ｍ´＝１８でマルチキャスト接続を実現するのに十分である。一方、ｍ´＝１８が最も小さいことが判るが、ｍ´＝１７ではどんなマルチキャスト接続も実現することができないことを示す。最初に選ぶミドルステージスイッチｊ１は
2009124657.tif 000042
２番目に選ぶミドルステージスイッチｊ２は
2009124657.tif 000043
３番目に選ぶミドルステージスイッチｊ３は
2009124657.tif 000044
である。Ｍｊ１∩Ｍｊ２∩Ｍｊ３≠φということが判る。すなわち、ｘ（＝３）のミドルステージスイッチでは、すべてのマルチキャスト接続を可能とするわけではない（実現できないマルチキャスト接続があるかもしれない）。よって、ｍ´＝１８が最も小さいことが証明された。したがって、このネットワーク構造は以下のように最小化されうる。
ｎ＝８，ｒ＝２０，Ｎ＝１６０，ｋ＝５、ｘ＝３、ｍ＝４１
【０２２４】
デスティネーション多重集合の共通集合化の際の（最小のｍ´＝１８を求める）ｘ（＝３）ステップの中で得られた、最小要素数は以下である。
ｃ１＝７、ｃ２＝２、ｃ３＝０
一般には、デスティネーション多重集合の共通集合化の際の（最小のｍ´を求める）ｘステップの中で得られた、最小要素数は以下である。
（数１２）
ｃ１、ｃ２，...，ｃｘ
【０２２５】
以下に、Ｎ１×Ｎ２ネットワークの最小化アルゴリズムを提供する。
【０２２６】
表（１）に示すように、ネットワークパラメータｎ１，ｒ１，ｎ２，ｒ２、選ばれたｘ、初期値ｍ´値（例えば（ｎ２−１）ｒ２１／ｘから選べる）、ミドルステージスイッチで配分された最大のエレメント数であるＮ´（例えば（ｎ２−１）ｒ２）を入力する。このアルゴリズムの出力は、最小化されたｍ´ｒｅｆｉｎｅと数式（１２）のシステムパラメータである。
【０２２７】
最終的には、最小化されたｍは定理３に従うと、このようになる。
2009124657.tif 000045
この最小化アプローチは、ｋソース３ステージマルチキャストネットワークであれば、任意のｋ≧１に適用できるので、ｋ＝１の従来のマルチキャストネットワークにも適用できる。
【０２２８】
＜参考実施形態２の効果＞
【０２２９】
本参考実施形態により、本ネットワークのノンブロッキング条件下でのミドルステージのスイッチ数を最小化することができ、同ネットワークを、低コストで提供できるという効果を奏する。
＜＜参考実施形態３＞＞
【０２３０】
＜参考実施形態３の概要＞
【０２３１】
本参考実施形態の概要は、上記参考実施形態に加え、更に、データの損失なしに既存のマルチキャストツリーに接続を追加したり削除したりするアルゴリズムを提供することである。ここで「マルチキャストツリー」とは目的のソースが利用中のシステム内のツリー部分を言う。
【０２３２】
＜参考実施形態３の構成＞
【０２３３】
本参考実施形態のマルチキャストスイッチングシステムは、参考実施形態１又は２に記載のマルチキャストスイッチングシステムであって、例えば図１６で示されるような場合に、次の順序でそのケースを扱うことによりスイッチを制御する制御部を有するマルチキャストスイッチングシステムである。すなわちその順序とは、Ｃａｓｅ１：新しいアウトプットチャネルが、既にツリーを形成しているアウトプットステージのスイッチのアウトプットチャネルであるのならば、そのアウトプットステージのスイッチ内で接続を作成する。Ｃａｓｅ２：Ｃａｓｅ１でなく、かつ、新しいアウトプットチャネルを含むアウトプットステージのスイッチが既存のミドルステージのスイッチのアウトプットポートで空いているチャネルから接続できるのならば、そのミドルステージスイッチ内で接続を作成し、上記空いているチャネルからの接続を行う。Ｃａｓｅ３：Ｃａｓｅ１でもＣａｓｅ２でもなく、かつ、既存のマルチキャストツリーがｘ（システム上の制限により１ソースがつながり得るミドルステージスイッチの数の上限値）未満のミドルステージのスイッチしか使っていない場合は、（ステージ間リンクを介し）目的のアウトプットステージのスイッチに到達するような、空いたアウトプットポートチャネルと空いたインプットポートチャネルをもつマルチキャストツリーに含まれないミドルステージスイッチを選び、接続を行う、というものである。
【０２３４】
制御部は、本マルチキャストスイッチングシステムは、次の順序でそのケースを扱うことによりスイッチを制御する（図１６（ａ）、（ｂ）、（ｃ））。
【０２３５】
制御部の制御順序を以下に示す。ここで、制御部による各スイッチへの制御方法としては、アドレス制御であっても良いし、パケット制御であっても良い。
【０２３６】
Ｃａｓｅ１としては、新しいアウトプットチャネルが、既にツリーを形成しているアウトプットステージのスイッチのアウトプットチャネルであるのならば、そのアウトプットステージのスイッチ内で接続を作成する（図１６（ａ））。
【０２３７】
すなわち、アウトプットステージスイッチから新しい出力チャネルを作りたいときに、そのスイッチ内からチャネルを供給できる場合はスイッチ内で接続を作成するだけで足りる。
【０２３８】
Ｃａｓｅ２としては、Ｃａｓｅ１でなく、かつ、新しいアウトプットチャネルを含むアウトプットステージのスイッチが既存のミドルステージのスイッチのアウトプットポートで空いているチャネルから接続できるのならば、そのミドルステージスイッチ内で接続を作成し、上記空いているチャネルからの接続を行う（図１６（ｂ））。
【０２３９】
すなわち、アウトプットステージスイッチから新しい出力チャネルを作りたいときに、そのスイッチ内からチャネルは供給できないが、あるミドルステージスイッチから供給できる（そのミドルステージスイッチの空き出力ポートも存在する）場合は、そのミドルステージスイッチ内でミドルステージスイッチの空き出力ポートへ接続を作成し、その出力ポートから目的のアウトプットステージスイッチへ接続を作成すれば良い、ということである。
【０２４０】
Ｃａｓｅ３としては、Ｃａｓｅ１でもＣａｓｅ２でもなく、かつ、既存のマルチキャストツリーがｘ（システム上の制限により１ソースがつながり得るミドルステージスイッチの数の上限値）未満のミドルステージのスイッチしか使っていない場合は、（ステージ間リンクを介し）目的のアウトプットステージのスイッチに到達するような、空いたアウトプットポートチャネルと空いたインプットポートチャネルをもつマルチキャストツリーに含まれないミドルステージスイッチを選び、接続を行う（図１６（ｃ））。
【０２４１】
すなわち、アウトプットステージスイッチから新しい出力チャネルを作りたいときに、そのスイッチ内やミドルステージからチャネルは供給できないが、あるインプットステージスイッチから供給できる場合（そのスイッチのマルチキャストツリーがｘ未満のミドルステージのスイッチしか使っていない場合）は、ノンブロッキングが達成されることは既に保障済みなので適正なミドルステージスイッチを選べば、目的のアウトプットステージスイッチへ接続できる、ということである。ここで適正なミドルステージスイッチとは、空いたアウトプットポートチャネルと空いたインプットポートチャネルをもつマルチキャストツリーに含まれないミドルステージスイッチであり、かつ、目的のアウトプットステージスイッチに達し得るミドルステージスイッチのことである。
【０２４２】
＜マルチキャスト接続を追加・削除するアルゴリズムの詳細＞
【０２４３】
本参考実施形態では、マルチソースノンブロッキングマルチキャストネットワークのためのルーティングアルゴリズムを提示する。シングルソースマルチキャストルーティングアルゴリズムに比して、主な差異は以下である。
【０２４４】
すなわち、既存のマルチキャストツリーにブランチを追加したり削除したりすること、二つのステージ間のスイッチの接続は複数のリンクを持っているという状況を扱う、ということである。
【０２４５】
＜ルーティングアルゴリズムのための用語の定義＞
【０２４６】
ルーティングアルゴリズムを提供する前に、以下に用語の定義を行う。次に述べられるものは、すべて、スイッチングネットワークの論理的レイアウトの記述であり、物理的レイアウトの記述ではない。よって、単純にスイッチモジュールをスイッチとして言及する。
【０２４７】
３ステージマルチソースのマルチキャストスイッチングネットワークのあるチャネル（若しくはリンク）は５要素で記述される。
【数１２】
2009124657.tif 000046
ここで、Ｓｔａｇｅは集合｛ＩＮ，ＭＩＤ，ＯＵＴ｝の１つの値をとり、どのステージに属するか表現する。ＩｎＯｕｔは集合｛ＩＮ，ＯＵＴ｝の１つの値をとり、チャネルのスイッチサイド（インプット側かアウトプット側か）を表現する。Ｓｗｉｔｃｈ＃はそのステージのスイッチの番号、Ｐｏｒｔ＃はそのスイッチのポートの番号、Ｃｈａｎｎｅｌ＃はそのポートのチャネル番号（０からｋ−１）である。ネットワークのインプットチャネルを、実際には＜ＩＮ，ＩＮ，Ｓｗｉｔｃｈ＃，Ｐｏｒｔ＃，Ｃｈａｎｎｅｌ＃＞だが＜Ｓｗｉｔｃｈ＃，Ｐｏｒｔ＃，Ｃｈａｎｎｅｌ＃＞と記述する。また、同様にアウトプットチャネルを、実際には＜ＯＵＴ，ＯＵＴ，Ｓｗｉｔｃｈ＃，Ｐｏｒｔ＃，Ｃｈａｎｎｅｌ＃＞を意味するが＜Ｓｗｉｔｃｈ＃，Ｐｏｒｔ＃，Ｃｈａｎｎｅｌ＃＞と記述する。あるマルチキャストアドレスはアウトプットチャネルの１集合として定義する。
【数１３】
2009124657.tif 000047
しかしながら、アウトプットステージのスイッチにのみ着目すれば良いので（アウトプットステージのスイッチに達してしまえばどのポート／チャネルからも出力できるので）、あるマルチキャストアドレスはアウトプットステージスイッチラベル（識別子）で表現し得る。
【数１４】
2009124657.tif 000048
マルチキャスト接続リクエストはインプットチャネルとマルチキャストアドレスのペアで定義する。
【数１５】
2009124657.tif 000049
与えられたマルチキャスト接続リクエストのマルチキャストルーティングは、いくつかの選ばれたスイッチ上で接続の設定をしていくことによりマルチキャストツリーを構築することである。その選ばれるスイッチとはインプットステージではそのインプットチャネルが入ってきているスイッチであり、それからいくつかのミドルステージのスイッチが選ばれ、それからマルチキャストアドレスに関連しているアウトプットステージのスイッチがすべて選ばれる。通常、あるスイッチの内部の設定は、あるインプットポートのチャネルから、このスイッチの異なるアウトプットポートのチャネルへの、１対多接続となる。アウトプットステージのスイッチでは、同じアウトプットポートに対して１つ以上のチャネルを使うこともある。あるスイッチの中で見たときの１対多の接続に対し、このスイッチのインプットチャネルを「ローカルインプットチャネル」、このスイッチのアウトプットチャネルの集合を「ローカルマルチキャストアドレス」という。あるスイッチのなかの１対多の接続は、あるマルチキャストツリーの一部分であり、以下のように表現する。
【数１６】
2009124657.tif 000050
加えて、あるマルチソースＣｌｏｓ型マルチステージネットワークのステージ間の接続は固定化されており、接続される隣り合ったステージのスイッチ間で、いくつかのチャネルを強制的な接続とする。すると、以下の式を得る。
【数１７】
2009124657.tif 000051
そのため、マルチキャスト接続リクエストは、数式（１７）に示す１対多接続集合により構築されたマルチキャストツリーによるスイッチングネットワークで実現し得る。選ばれたスイッチのなかで数式（１７）と数式（１８）に示すステージ間の固定化されたリンクを使って表現できる。明らかに、あるマルチキャストツリーにおいて、選択されたミドルステージスイッチ間で、２つのスイッチから、同一のアウトプットスイッチに繋がることはない。マルチキャストツリーのどの接続も、あるスイッチにおいて、他のマルチキャストツリーとチャネルを共有しないので、異なるマルチキャストツリー間では衝突はない。今後の便利化のため、あるインプットステージスイッチの１対多接続（数式（１７））のローカルマルチキャストアドレスは、ミドルステージスイッチラベル（識別子）の１集合として表現し得る。
2009124657.tif 000052
あるミドルステージスイッチのローカルマルチキャストアドレスは、アウトプットステージスイッチラベル（識別子）の１集合として表現し得る。
【数１８】
2009124657.tif 000053
参考実施形態２で定義したミドルステージのデスティネーション多重集合は、ルーティングアルゴリズムを記述する際にも使用し得る。
【数１９】
2009124657.tif 000054
また、あるミドルステージスイッチの接続を追加／削除するのを記述するために、次のような集合をベースとして多重集合Ｍｊと集合｛０，１，...，ｒ−１｝をベースとした通常集合Ｖの＋と−の演算を定義する。
【数２０】
2009124657.tif 000055
もしも、０未満、又は、ｋを超える多重度があれば、数式（２１）の結果の多重集合は、成り立たない。
【０２４８】
＜マルチソースネットワークの追加／削除の具体例＞
【０２４９】
一般的に、インプットベースのマルチキャストルーティングとアウトプットベースのマルチキャストルーティングの２タイプのマルチキャスト接続リクエストがある。インプットベースのマルチキャストルーティングは、ネットワークのインプットリンクから新しいマルチキャストツリーを作ることである。マルチキャスト接続を（丸ごと）削除するリクエストがあったとき、そのインプットリンクを根とするツリー全体を消してしまう。文献４のルーティングアルゴリズムを用いてこの目的のため使える。
【０２５０】
アウトプットベースのマルチキャストルーティングにおいて、追加のリクエストがあったとき、アウトプットリンクから既存のマルチキャストツリーへブランチを加える。削除要求があったときは、マルチキャストツリーからネットワークのアウトプットリンクにくっついたブランチを除去する。
【０２５１】
明らかに、削除作業はノンブロッキングが達成し得る。なぜならマルチキャストツリーのミドルステージスイッチの数が増えないからである。したがって、マルチソースネットワークにおける削除作業に対しては、他のアウトプットチャネルに向けた他のブランチ（使用中のブランチ）を持つツリーの接合部に達するまで、ネットワークのインプットサイドへ向けたアウトプットチャネルからのツリーのブランチを削除することが、簡単にできる。
【０２５２】
残りの文章では、追加作業に的を絞る。次のルーティングアルゴリズムのスケッチで見られるように、１度に１つのブランチを加えれば、ノンブロッキング条件に反せずにできる。また多くのケースで接続をつくるのが簡単になる。
【０２５３】
次の順序でそのケースを扱うことにより、ルーティングアルゴリズムをアウトライン化できる。
Ｃａｓｅ１：もし、新しいアウトプットチャネルが既存のアウトプットステージスイッチのなかにあるとき、そのマルチキャストツリースイッチのインプットポートのチャネルからアウトプットチャネルへ、アウトプットステージスイッチの接続を簡単に作れる。（図１６（ａ）参照）
Ｃａｓｅ２：新しいアウトプットチャネルがあるアウトプットステージスイッチが、既存のミドルステージスイッチのアウトプットポートであいているチャネルから接続できるのならば、マルチキャストツリーがあいているチャネルへ伸ばすように、ミドルステージスイッチ上で接続を作成する。そのツリーを、ミドルステージスイッチのチャネルから、アウトプットステージスイッチへのステージ間リンクを介して伸ばしたので、最終的に、ｃａｓｅ１と同様、アウトプットステージスイッチの接続を作成できる。例えば図１６（ｂ）のようにできる。
Ｃａｓｅ３：既存のマルチキャストツリーがｘ（予め定義された値）以下のミドルステージスイッチを使うのなら、（ステージ間リンクを介し）このアウトプットステージスイッチへ導く、あいたアウトプットポートチャネルをもつ使用可能なミドルステージスイッチを選べる。（そのようなミドルステージスイッチはノンブロッキングが保障されているため必ず存在する）
＜参考実施形態３の効果＞
本参考実施形態では、上記参考実施形態の効果に加え、更に、データの損失なしに既存のマルチキャストツリーに接続を追加したり削除したりするアルゴリズムにより、データの損失なし、かつ、ノンブロッキング状態で本ネットワークを運用できるという効果を奏する。
＜＜参考実施形態４＞＞
＜参考実施形態４の概要＞
【０２５４】
本参考実施形態の概要は、上記参考実施形態に加え、更に、既存のマルチキャストツリーのミドルステージスイッチ選択がｘに達している場合にも、データの損失なしに既存のマルチキャストツリーに接続を追加したり削除したりできるアルゴリズムを提供することである。
＜参考実施形態４の構成＞
【０２５５】
本参考実施形態は、参考実施形態１又は２に記載のマルチキャストスイッチングシステムであって、インプットステージのソースを出力するスイッチと、下記の表２に示されるＲｏｕｔｉｎｇ  Ａｌｇｏｒｉｔｈｍで選択されるミドルステージのスイッチと、を接続するための制御を行う制御部を有するマルチキャストスイッチングシステム、である。
【表７】
2009124657.tif 000056
【０２５６】
制御部は、インプットステージのソースを出力するスイッチと、（表２）に示されるＲｏｕｔｉｎｇ  Ａｌｇｏｒｉｔｈｍで選択されるミドルステージのスイッチと、を接続するための制御を行う。
【０２５７】
本ルーティングアルゴリズムは、同じ根をもつ既存マルチキャストツリーをベースとした新しいマルチキャストツリーを作るものであり、既存のマルチキャストツリーのミドルステージスイッチ選択がｘに達している場合（図１６（ｄ））に利用するものである。
【０２５８】
制御部で実現される本ルーティングアルゴリズムの詳細を以下に示す。ここで、制御部による各スイッチへの制御方法は、アドレス制御であっても良いし、パケット制御であっても良い。
【０２５９】
このアルゴリズムへの入力は、アウトプットステージスイッチの集合である"ＭｃａｓｔＡｄｄｒｎｅｗ"をもった新しいマルチキャスト接続リクエスト、新しい接続リクエストのための接続可能なミドルステージスイッチの集合（それは同じ根をもつ既存マルチキャストツリーのミドルステージスイッチを含む）、デスティネーション多重集合、既存マルチキャストツリーのミドルステージスイッチの集合、既存マルチキャストツリーのミドルステージスイッチの１対多接続のローカルマルチキャストアドレスである。アルゴリズムの出力は、新しいマルチキャストツリーのための選ばれたミドルステージの集合、新しいマルチキャストツリーの選ばれたミドルステージスイッチの１対多接続のローカルマルチキャストアドレス、である。
【０２６０】
本ルーティングアルゴリズムは、既存のマルチキャストツリーのミドルステージスイッチ選択がｘに達している場合に利用するものなので、同じ根を持つ既存マルチキャストツリーのためのミドルステージスイッチの数は既にｘに達しているはずなので、集合Ｆｅｘｉｓｔは｛ｉ１，ｉ２，...，ｉｘ｝と表現できる。初期化では、Ｗｑは（数式２１を使い）ｑ∈Ｆｅｘｉｓｔに対し、多重集合Ｍｑ−ＬＭｑ、または単にＭｑと定義される。そしてＶｑは、ミドルステージスイッチｑから、空いているリンクのないアウトプットステージスイッチの集合として定義される。
【０２６１】
アルゴリズムの main 関数において、集合 MASK は初期値として McastAddrnew が代入される。事前に与えられたシステムパラメータc1, c2, . . . , cx をベースに、高々x 回の繰り返しが行われる。各繰り返しの中で、新しいマルチキャストツリーのための中間ステージスイッチp を選択するためにselect(cj ,MASK)を呼び（そしてp をFnew に格納して）、それから新しいツリーのミドルステージスイッチp における1 対多接続のローカルマルチキャストアドレスLMnew,p （アウトプットステージスイッチの集合）を生成し、最後に変数MASK などを更新する。
【０２６２】
関数select(cj ,MASK) では、まず既存のマルチキャストツリーにおいて|Vq ∩ MASK| ≦ cj を満たすような任意のミドルステージスイッチq が存在するかどうかをチェックする。そのようなスイッチが複数存在する場合、数式(22) の値が最少となるようなものを返す。そのようなスイッチが存在しない場合、|Vp ∩ MASK| ≦ cjを満たすような任意のスイッチp を返す。
【０２６３】
以下に、本ルーティングアルゴリズムの説明および証明を行う。
【０２６４】
＜本ルーティングアルゴリズムの説明と証明＞
【０２６５】
参考実施形態５では達成できなかった、既存マルチキャストツリーがすでにｘのミドルステージスイッチを使っているワーストケースで、たかだかｘのミドルステージスイッチが使われるのを保障できるように、既存マルチキャストツリーを変更する。以下の方法により、どのデータとも衝突せず、どのパケットも失わないように、中断のない変更を行う。
【０２６６】
＜オーバーラップしたマルチソースマルチキャストツリーの特性＞
【０２６７】
同じインプットチャネルをその根に持ち、少なくとも部分的に（新旧のツリーで）オーバーラップしたマルチキャストアドレスを持つ、２つのマルチキャストツリーを考える。まるで１番目の（旧）ツリーが開放された（消された）かのように、２番目の（新）ツリーが独立して決定される。しかしながら、その２つのツリーが同時にネットワーク上で存在しているかのように仮定する。したがって、オーバーラップしたブランチにおいて、あるチャネルでは２つのツリーの衝突がある。より正確には、2 つのタイプのチャネルマージ（衝突）が起こり得る。あるスイッチの同じインプットポート上の 2 つのチャネル（2 つのツリーの2 つのブランチとして）がこのスイッチのアウトプットポートのひとつのチャネルにマージされるとき、これをチャネルレベルのブランチマージと呼ぶ。あるスイッチの異なるインプットポートの 2 つのチャネル（2 つのツリーの2 つのブランチとして）が
そのスイッチのひとつのアウトプットポートのひとつのチャネルとしてマージされるとき、これをスイッチレベルのブランチマージと呼ぶ。以下の定理は、これらの同じ根を持つ 2 つの独立して決められたマルチキャストツリーのためのすべての可能なオーバーラップの
ケースを記述したものである。
【０２６８】
＜定理４＞
【０２６９】
定理２，３のノンブロッキング状態を満足する、Ｃｌｏｓ型の３ステージマルチソースマルチキャストネットワークにおいて、同じインプットチャネルから、２つのオーバーラップしたマルチキャストアドレスへの、２つの独立的に決定されたマルチキャストツリーは、そのスイッチの他のインプットチャネルを根とするマルチキャストツリーとはオーバーラップしない。一方で、2 つのツリーはいくつかのブランチ（すなわち、スイッチ内での接続）をインプットステージスイッチ、ミドルステージスイッチ、もしくはアウトプットステージスイッチにおいて共有することがある。2 つのツリーはチャネルレベルのブランチマージをミドルステージスイッチもしくはアウトプットステージスイッチで持つことがあり、スイッチレベルのブランチマージをアウトプットステージスイッチで持つことがある。
【０２７０】
＜定理４の証明＞
【０２７１】
同じインプットチャネルを根とする２つのマルチキャストツリーの各々は、  ｍ´＝ｍ−［（ｎ１−１／ｋ）ｘ］の接続可能なミドルステージスイッチから選ばれた高々ｘのミドルステージスイッチを使って決定されるので、定理２又は３により、それらの各々は、そのスイッチの他の異なるインプットチャネルを根とする他の（高々）ｎ１ｋ−１のマルチキャストツリーとはいかなる衝突もない。
【０２７２】
一方で、2 つのツリーにおいて同じ入力チャネルから始まる共通な出力チャネルへのパスを考慮する。2 つのツリーはツリーのブランチ（すなわちスイッチ内の接続）をインプットステージスイッチ、ミドルステージスイッチそしてアウトプットステージスイッチ内で共有することができる。インプットステージスイッチ内の接続において、2 つのツリーに対してはただ一つのインプットチャネルしかないので、このインプットポートの2 つのチャネル（2 つのツリーの2 つのブランチ）がこのインプットステージスイッチのアウトプットポートのアウトプットチャネルにマージすることは不可能である。しかしながら、そのようなチャネルレベルのブランチマージは双方のマルチキャストツリーで共有される
ミドルステージスイッチやアウトプットステージスイッチでは起こっても良い。また、ミドルステージスイッチ内の接続において、2 つのツリーのツリーブランチは同じインプットステージスイッチから来るので、このミドルステージスイッチの異なる2 つのインプットポートの2 つのチャネル（2 つのツリーの2つのブランチとして）は、2 つのインプットステージスイッチからきてこのミドルステージスイッチのチャネルへマージすることは不可能である。そのようなスイッチレベルのブランチマージはインプットステージのスイッチにおいても不可能である。しかしながら、アウトプットステージのスイッチにおいては可能なこともある。いくつかのケースの例を図 5 に示す。
【０２７３】
図１７は、＜ｉｃ１，｛ｏｃ１，ｏｃ２，ｏｃ３，ｏｃ４｝＞のマルチキャスト接続リクエストに対する、２つのオーバーラップしたマルチキャストツリーのイラストを示す。実線は、最初のマルチキャストツリーのみに対するツリーのブランチであり、破線は、２個目（組み換え後）のマルチキャストツリーのみに対するツリーのブランチである。太線は、シェアーされている（旧・新で使っている）ツリーのブランチ（例えばｉｃ１からｏｃ１）である。また、ＡとＢは、それぞれミドルステージスイッチのアウトプットステージスイッチのチャネルレベルのブランチのマージの（同じポートだがチャネルが異なる状態で入り同一のポートからでる）ポイントである。"Ｃ"はスイッチレベルのブランチのマージの（異なるポートから入り同一のポートからでる）ポイントである。
【０２７４】
ネットワークにおけるマルチキャスト接続 <InChannel,McastAddr1> のための既存のマルチキャストツリーが与えられ、出力チャネル ocnew を持つ新規マルチキャスト接続ブランチを加えて、結果として新しいマルチキャスト接続が McastAddr2 = McastAddr1 ∪ {ocnew} となるようなケースに、定理 4 を適用する。明らかに、定理 2,3 のノンブロッキング条件により、その新規マルチキャストツリーは同じ入力チャネルを根とする既存のマルチキャストツリーを無視して構築することができる。すなわち、新規マルチキャストツリーは、異なるチャネルを根とする既存のマルチキャストツリーとはコンフリクトすることがない。新しく作られたツリーは同じ根を持つ既存のツリーとはコンフリクトするかもしれない。これは定理 4 で詳らかにされている。このタイプのコンフリクトは、既存のツリーと新しいツリーが同じデータを送信しているので、本質的にデータロスや混信を起こさない。
【０２７５】
（従来技術の）回路的スイッチングにおいては、マージ能力を持った回路が与えられる時、中断なしのデータ伝送を提供するために、まず一瞬のうちに新しい接続パスを追加し（定理 2, 3 より、m' 個の使用可能な中間ステージスイッチは、2 つのマルチキャストツリーのための 2 セットの x 個の中間ステージスイッチ（そのうちのいくつかはオーバラップするかもしれない）を持つことができる）、それから古いマルチキャストツリーを解放する。最終的に、新しいマルチキャスト接続リクエストを実現する新しいマルチキャストツリーは高々x 個の中間ステージスイッチを使用するにとどまるので、そのネットワークにおける将来のマルチキャストリクエストに対してのノンブロッキング条件を保証することができる。
【０２７６】
この参考実施形態のようなパケットスイッチングにおいて、各々のスイッチのルーディグテーブルに対して適切なセッティングを行うと、効率的に同じようなことができる。
【０２７７】
論理上、参考実施形態１又は２の基本的なルーティングアルゴリズム（すなわち全てのマルチキャストツリーを作成し直す方法）を使うことができる。しかし、既存マルチキャストツリーへマルチキャストブランチを加える操作として、変更していないオリジナル接続を残したほうがよい。この目的を達せられるか見るために、定理４で述べられた異なるケースのすべてを解析する。明らかに、２つのツリーがいくつかのブランチをシェアしている時には、これらのブランチの既存ツリーのオリジナルセッティングを残すことができる。「チャネルレベルのブランチのマージ」のケースにおいても、オリジナルセッティングを用いることができる（図１７のｉｃ１からＡへのパスや、ｉｃ１からＢへのパスで示されるように）。なぜなら、オリジナルセッティングと新しいセッティングは、次のステージの同じスイッチへつながるためである。しかし、スイッチレベルのブランチのマージのケースでは、既存ツリーと新しいツリーの間でブランチを交換する必要がある。
【０２７８】
マルチキャストルーティングのキーとなるステップは、x 個までの中間ステージスイッチを選択することである。入力チャネルはそのスイッチを経由して、マルチキャストアドレスで示される出力ステージのスイッチへと接続される。以下で、新しいマルチキャストツリーを生成するルーティングアルゴリズムを示す。このアルゴリズムは既存のマルチキャストツリーのブランチを可能な限り使用し、スイッチレベルのブランチマージを可能な限り少なく保つ。まず、これらのゴールを達成するために有用ないくつかの特性を示す。
【０２７９】
与えられたネットワークに対して、高々 x 回の各選択ステップにおけるデスティネーション多重集合の共通集合の濃度の上限として、システムパラメータ c1, c2, . . . , cx がある。そのような上限の例は数式 (12) に見られる。参考実施形態 2 における議論に基づいて、i 番目のステップにおいて、直前の i - 1 番目までのステップで選択されたミドルステージスイッチとの共通集合の濃度が ci を超えないような任意のミドルステージスイッチが選択される。最小の濃度となるミドルステージスイッチを選ぶ必要はないということに注意すること。これにより、従来のアルゴリズムよりも選択肢が多くなった。このケースでは、そのようなミドルステージスイッチの濃度の中で同じ根の既存のツリーにすでにあるようなミドルステージスイッチを選択したい。それによってそのスイッチの既存の設定を利用できるので一つめのゴールが達成される。
【０２８０】
既存のツリーと共有されるミドルステージスイッチを選択することのもうひとつの利点は、スイッチレベルのブランチマージを削減できることである。これは 2 つめのゴールである。図 5 の例では、もし最初にミドルステージスイッチ MW1 を選択したら、既存のブランチはアウトプットステージスイッチ OW1 において oc1 と oc2 の両方をカバーできるので、ミドルステージスイッチ MW3 をあとから選択したときに OW1 をもうカバーする必要がないので、C 点におけるスイッチレベルのブランチマージも発生しなくなる。
【０２８１】
一方で、そのような中間ステージスイッチを選択することの潜在的な欠点を調査してみよう。図 5 の他の例で見られるように、中間ステージスイッチ MW2 （ローカルマルチキャストアドレス LM2 = {OW3,OW4}という既存の接続を持っている）を選択したならば、新しい接続が新しいローカルマルチキャストアドレスLMnew,2 = {OW2,OW3,OW4} を実現するときに出力ステージスイッチ OW2 の oc2 および oc3 においてスイッチレベルのブランチマージが起こってしまうことになる。したがって、同じ根をもつ既存のマルチキャストツリー中に複数の中間ステージスイッチの候補がある場合、選択の優先度は、以下のような条件を満たす中間ステージスイッチを選ぶということになる：
【数２１】
2009124657.tif 000057
これによってスイッチレベルのブランチマージの回数を削減できる。もちろん、上記の例では MW2 だけがそのような中間スイッチなので、それを選ぶ必要がある。
【０２８２】
図 6 は 2 つのオーバラップしたマルチキャストツリーのもうひとつの例である。細い実線は 1 つめの接続リクエスト <ic1, ｛oc1, oc2, . . . , oc6}> に対するマルチキャストツリーにのみ存在するブランチ、破線は 2 つめの接続リクエスト <ic1, {oc1, oc2, . . . , oc6, oc7}> に対するマルチキャストツリーにのみ存在するブランチ、太い実線は両方のマルチキャストツリーで共有されているブランチを表している。
【０２８３】
＜本ルーティングアルゴリズムのチャネルレベルでの実装＞
【０２８４】
前記のルーティングアルゴリズムは、新マルチキャストツリーのスイッチの集合および、各スイッチでのポートレベルでの１対多接続を生成するものである。ここでは、チャネルレベルでの実装を記述する。すなわち、既存のツリーと新しいツリーの間でチャネルレベルで共有されたブランチを識別して保持する方法や、既存のツリーだけに属するブランチ識別して削除する方法や、新しいツリーだけに属するブランチを識別して追加する（さらに、チャネルを割り当てる）方法や、既存のツリーおよび新しいツリー両方に含まれるスイッチ上で、コネクションを変更する（削除と追加を同時に行う）方法について議論する。追加と削除のルーティングアルゴリズムの実装とは、実際には既存のツリーが新しいツリーに換わるようにスイッチのルーティングテーブルを新しいツリーのコネクションをアップデートすることである。ここで、スイッチモジュールのルーティングテーブルは数式 (17) の形の 1 対多接続の集合である。
【０２８５】
数式（１７）で示される１対多接続は、具体的には数式（２３）のように表すことができる。
【数２２】
2009124657.tif 000058
ここでｉｐ１とｏｐｉはスイッチの入力ポートおよびスイッチの出力ポートをそれぞれ表し、ｉｃ１とｏｃｉはポートの入力チャネルおよび出力チャネルをそれぞれ表す。既存のツリーの接続についてはチャネルは既知であるが、新しいツリーについては、入力チャネルおよび新しいマルチキャスト接続要求で指定されている出力チャネル以外は決められるものである。
【０２８６】
＜アルゴリズムの対象となるスイッチの特定と操作＞
【０２８７】
ＳＷｅｘｉｓｔとＳＷｎｅｗはそれぞれ既存のツリーと新しいツリーのスイッチの集合とする。明らかに、ＳＷｅｘｉｓｔ−ＳＷｎｅｗに含まれる任意のスイッチに対しては、削除操作のみを行う必要がある。また、ＳＷｎｅｗ−ＳＷｅｘｉｓｔに含まれる任意のスイッチに対しては、追加操作のみを行う必要がある。しかしながら、ＳＷｎｅｗ∩ＳＷｅｘｉｓｔに含まれる任意のスイッチに対しては、このスイッチにおける既存のツリーと新しいツリーのためのコネクションに依存して操作が行われることが必要である。このタイプの操作を混合操作と呼ぶ。
【０２８８】
＜削除操作単独の場合＞
【０２８９】
削除操作のみを行う必要のあるスイッチについては、既存のツリーにおいてただ１つのみの１対多接続（数式（２３）の形式）を持っている。我々はこのスイッチのルーティングテーブルから単純にそれを取り除くことが出来る。このケースの例は図６のＭＷ１である。
【０２９０】
＜追加操作単独の場合＞
【０２９１】
追加操作のみの実行が必要なスイッチに関しては、それは実際には新しいツリーの一部である。したがって、ポートレベルでの1 対多接続は既知である。しかし、対応するチャンネルはここで新たに決める必要がある。すなわち、数式（２３）は次のように書き表すことが出来る。
2009124657.tif 000059
ここで、"(?)" の意味は、そのチャンネル番号を決める必要があるということである。そのスイッチがアウトプットステージにある場合、明らかにチャンネル oci は新しいマルチキャスト接続リクエストのマルチキャストアドレスの詳細によって決められる。そうでなければ、そのスイッチの、対応する出力ポートのチャンネル oci をこのポートの上の任意のアイドルなチャンネルに割り当てることができる（アイドルなチャンネルは前記ルーティングアルゴリズムに基づいて、必ず存在する)。残りは、チャネルｉｃ１を決定することである。そのスイッチがインプットステージにある場合、ic1 は接続リクエストのインプットチャンネルでなければならない。そうでなければ、新しいツリーにおける1 つ前のステージから突き止められる。実際、数式 (18) を用いて、1 つ前のステージのスイッチ番号とアウトプットポート番号を見つけることができ、それは新しいマルチキャストツリー内でユニークであり、チャネルはすでに決められている。したがって、再び数式 (18) を用いて、1 つ前のステージのそのチャネルを ic1 とすることができる。このケースの例は図６のＭＷ３とＯＷ５である。
【０２９２】
＜混合操作＞
【０２９３】
スイッチが既存のツリーにも新しいツリーにも含まれいている場合、二つのツリーの上で、このスイッチにおける１対多接続の差分を見つけなければならない。定理４によって示されるように、一般に、既存のツリーと新しいツリーのポートレベルでの１対多接続は、スイッチのインプットポートを共有するので、新しいツリーのチャンネル ic1 を既存のツリーのそれと同じであるとすることができる（チャネルレベルでブランチのマージを避けるため）；アウトプットステージスイッチにおいてのみ、二つの１対多接続はこのスイッチで異なった入力ポートを持つかもしれない。そのスイッチにおける新しいサブツリーと既存のサブツリーの間の関係に依存して、異なったケースがある。以下の混合操作１から４は、既存のツリーと新しいツリーの１対多接続がスイッチ上の同じ入力ポートを共有している場合であり、混合操作５は、１対多接続がスイッチ上の二つの異なった入力ポートを使用している場合である。
【０２９４】
＜混合操作１：新サブツリー＝既存サブツリーの場合＞
【０２９５】
このケースでは、既存のツリーと新しいツリーでの 1 対多接続が、そのスイッチ上で同じである（インプットステージかミドルステージのスイッチではポートレベルで、アウトプットステージ上のスイッチではアウトプットチャンネルレベルで）。既存のツリーでのこのスイッチの 1 対多接続（チャンネルレベルで）は新しいツリーによってそのまま使用することができる。したがって、することは何もない。このケースの例は図６のＯＷ３とＯＷ４である。
【０２９６】
＜混合操作２：新サブツリー⊂既存サブツリーの場合＞
【０２９７】
このケースでは、既存のツリーと新しいツリーのポートレベルの１対多接続はスイッチの入力ポートを共有する。しかし、新しいツリーのローカルマルチキャストアドレスは既存のツリーのローカルマルチキャストのサブセットだけになる。それ故に、実際は新しいツリーで必要ないローカルマルチキャストアドレスを削除することによって、既存のツリーのルーティングテーブルの数式（２３）の１対多接続を変更する。例として、もし＜ｏｐ１，ｏｃ１＞，＜ｏｐ２，ｏｃ２＞が新しいツリーに存在しないなら、数式（２３）の接続は、ルーティングテーブル内で以下のように修正される。
2009124657.tif 000060
【０２９８】
＜混合操作３：新サブツリー⊃既存サブツリーの場合＞
【０２９９】
このケースでは、既存のツリーと新しいツリーのポートレベルの１対多接続はスイッチの入力ポートを共有する。しかし、新しいツリーのローカルマルチキャストアドレスは既存のツリーのローカルマルチキャストのスーパーセットになる。単にいくつかのローカルマルチキャストアドレスを数式（２３）へ追加する。それは前記＜追加動作単独の場合＞と同様であるが、ここでは ic1 をすでに使っているので決める必要がない。それが既に使用中なので。このケースの例は図６のＭＷ２である。
【０３００】
＜混合操作４：新サブツリー≠既存ツリーの上記以外の場合＞
【０３０１】
このケースでは、再び既存のツリーと新しいツリーのポートレベルの１対多接続はスイッチの入力ポートを共有する。しかし、新しいツリーのいくつかの＜ｏｐｉ，ｏｃｉ（？）＞は既存のツリーにはなく、そして、既存のツリーのいくつかの＜ｏｐｊ，ｏｃｊ＞は新しいツリーにはない。数式（２３）のローカルマルチキャストアドレスを、新しいツリーのためのそれへと修正することができる。このケースの例は図６のＩＷ１である。２本のツリーでのブランチの共有がないような特別なケースもあるかもしれない。
【０３０２】
＜混合操作５：新サブツリーと既存サブツリーでスイッチの入力ポートの共有なしの場合＞
【０３０３】
このケースでは、既存のツリーと新しいツリーの１対多接続がスイッチの異なった入力ポートを使う。それはスイッチレベルでのブランチのマージであり、定理４に述べられているようにアウトプットステージでのみ起こる。ルーティングテーブル内では、＜削除操作単独の場合＞のように既存のツリーへの１対多接続を削除すること、そして同時に＜追加操作単独の場合＞のように新しいツリーへ１対多接続を追加すること、が必要である。このケースの例は図６のＯＷ１とＯＷ２である。
【０３０４】
出力ベースのルーティングアルゴリズムはｋソース３ステージマルチキャストネットワークに対して、任意のｋ≧１で適用可能であり、特にｋ＝１の場合の従来のマルチキャストネットワークも含んでいることになる。
【０３０５】
＜参考実施形態４の効果＞
本参考実施形態では、上記参考実施形態の効果に加え、更に、既存のマルチキャストツリーのミドルステージスイッチ選択がｘに達している場合にも、データの損失なしに既存のマルチキャストツリーに接続を追加したり削除したりするアルゴリズムを提供することができ、データの損失なし、かつ、ノンブロッキング状態で本ネットワークを運用できるという効果を奏する。
【図面の簡単な説明】
【０３０６】
【図１】実施例１の映像配信システムの一例を表す概念図
【図２】実施例１の映像配信システムにおける機能ブロックの一例を表す図
【図３】実施例１の映像配信システムにおける具体的な構成の一例を表す図
【図４】実施例１の映像配信システムにおけるスイッチ管理装置及びスイッチ装置のハードウェア構成の一例を表す図
【図５】実施例１の映像配信システムにおけるクライアント制御装置及び配信装置のハードウェア構成の一例を表す図
【図６】実施例１の映像配信システムにおけるクライアント装置のハードウェア構成の一例を表す図
【図７】実施例１の映像配信システムにおけるチャンネル変更処理の流れの一例を表す図
【図８】実施例１の映像配信システムにおけるクライアントの物理的制御の流れの一例を表す図
【図９】実施例２の映像配信システムの一例を表す概念図
【図１０】実施例２の映像配信システムにおける機能ブロックの一例を表す図
【図１１】実施例２の映像配信システムにおけるクライアント制御装置及び配信装置のハードウェア構成の一例を表す図
【図１２】実施例２の映像配信システムにおけるクライアントへメッセージ出力処理の流れの一例を表す図
【図１３】従来技術のマルチキャストスイッチングシステムの概要を表す図
【図１４】本参考例のマルチキャストスイッチングシステムの概要を表す図
【図１５】本参考例のマルチキャストスイッチングシステムの構成要素であるスイッチの概要を表す図
【図１６】参考実施形態３と参考実施形態４を説明するための概念図
【図１７】参考実施形態４を説明するための概念図１
【図１８】参考実施形態５を説明するための概念図２
【図１】
2009124657.tif 000061
【図２】
2009124657.tif 000062
【図３】
2009124657.tif 000063
【図４】
2009124657.tif 000064
【図５】
2009124657.tif 000065
【図６】
2009124657.tif 000066
【図７】
2009124657.tif 000067
【図８】
2009124657.tif 000068
【図９】
2009124657.tif 000069
【図１０】
2009124657.tif 000070
【図１１】
2009124657.tif 000071
【図１２】
2009124657.tif 000072
【図１３】
2009124657.tif 000073
【図１４】
2009124657.tif 000074
【図１５】
2009124657.tif 000075
【図１６】
2009124657.tif 000076
【図１７】
2009124657.tif 000077
【図１８】
2009124657.tif 000078