(57)【要約】【課題】ＭＣＳのリソースの浪費を軽減し、かつ、プログラムの保守性を改善することが可能な通信制御システムを提供する。【解決手段】通信制御装置は、複数のコントローラと、各々が複数の通信プロセスを実行する複数の端末装置と、仮想アドレスを有し、前記複数のコントローラと前記複数の端末装置とを接続するロードバランサと、を備え、前記通信プロセスの各々は複数の通信スレッドにより構成され、前記通信スレッド毎に前記端末装置のポートが割り当てられ、前記ロードバランサは、前記コントローラから前記仮想アドレスへのアクセスを、前記スレッド毎に割り当てられたポートに転送する。【選択図】図１
2009003646.tif 000002
【特許請求の範囲】
【請求項１】
複数のコントローラと、
各々が複数の通信プロセスを実行する複数の端末装置と、
仮想アドレスを有し、前記複数のコントローラと前記複数の端末装置とを接続するロードバランサと、を備え、
前記通信プロセスの各々は複数の通信スレッドにより構成され、
前記通信スレッド毎に前記端末装置のポートが割り当てられ、
前記ロードバランサは、前記コントローラから前記仮想アドレスへのアクセスを、前記スレッド毎に割り当てられたポートに転送することを特徴とする通信制御装置。
【請求項２】
前記通信スレッドの各々は、通信スレッドと制御スレッドとを含むことを特徴とする請求項１に記載の通信制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコントローラと、複数の端末装置上で実行されるプロセスとの間の通信制御に関する。
【背景技術】
【０００２】
半導体製造工程において、ウェハを収納したキャリアを搬送する搬送装置が知られている。このような搬送装置としては、ＯＨＳ（Ｏｖｅｒ  Ｈｅａｄ  Ｓｈｕｔｔｌｅ）、ＯＨＴ（Ｏｖｅｒ  Ｈｅａｄ  Ｈｏｉｓｔ  Ｔｒａｎｓｐｏｒｔ）などが知られており、ＡＭＨＳ（Ａｕｔｏｍａｔｉｃ  Ｍａｔｅｒｉａｌ  Ｈａｎｄｌｉｎｇ  Ｓｙｓｔｅｍ）からの無線通信による指示に基づいて移動する。複数のＡＭＨＳはネットワークを通じてＭＣＳ（Ｍａｔｅｒａｌ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ）と接続されている。ＭＣＳは、ホストマシン又はオペレータの指令に従って搬送経路を決定し、各ＡＭＨＳに対して搬送指令を送る。
【０００３】
上記のような従来の搬送制御システムの構成の一例を図２に示す。図示のように、複数のＡＭＨＳコントローラが１つのＭＣＳに接続されている。ＭＣＳ内では、複数のＡＭＨＳ通信プロセスと、複数のＡＭＨＳ制御プロセスと、ＡＭＨＳ−ＤＢアクセスプロセスと、ＡＭＨＳ制御管理プロセスとが動作している。ＡＭＨＳ通信プロセスとＡＭＨＳ制御プロセスとは対になっている。また、ＡＭＨＳ−ＤＢアクセスプロセスはデータベースに接続されている。
【０００４】
ＡＭＨＳ通信プロセスは、ＡＭＨＳコントローラ毎に予め決められたＴＣＰポートを開き、ＡＭＨＳコントローラからの接続を待つ。ＡＭＨＳコントローラは、予め決められたＭＣＳのＩＰアドレスとＴＣＰポート番号でＭＣＳのＡＭＨＳ通信プロセスに接続し、メッセージの送受信を行う。
【０００５】
ＡＭＨＳ通信プロセスは、ＡＭＨＳ制御プロセスと内部メッセージで通信する。ＡＭＨＳ通信プロセスとＡＭＨＳ制御プロセスは、各ＡＭＨＳコントローラに一対存在する。データベースへの通信負荷を軽減するため、ＡＭＨＳ制御プロセスは、ＡＭＨＳ−ＤＢアクセスプロセスを介してデータベースへの問い合わせを行う。ＡＭＨＳ制御プロセス及びＡＭＨＳ−ＤＢアクセスプロセスは、ＡＭＨＳ制御管理プロセスにより管理されている。
【０００６】
なお、複数の基地局に通信可能に接続されたサーバが、複数のＤＢを有し、それらＤＢに基づいてコンテンツの配信サービスを集約管理する手法が特許文献１に記載されている。
【０００７】
【特許文献１】特開２００２−３５４５２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
図２に示す搬送制御システムでは、ＡＭＨＳコントローラに対して一対のＡＭＨＳ通信プロセスとＡＭＨＳ制御プロセスが必要であるため、ＡＭＨＳコントローラが増えるとＭＣＳ内部のプロセス数が増大し、ＭＣＳを構成する計算機のリソースを消費してしまう。
【０００９】
また、ＡＭＨＳ制御プロセス上でデータベースアクセスに問題が発生した場合、データベースアクセスのどの部分に問題があるのかを特定することが困難となる。このため、ＡＭＨＳ−ＤＢアクセスプロセスがプログラムの保守性を低下させる。
【００１０】
本発明は、以上の点に鑑みてなされたものであり、ＭＣＳのリソースの浪費を軽減し、かつ、プログラムの保守性を改善することが可能な通信制御システムを提供することを課題とする。
【課題を解決するための手段】
【００１１】
本発明の１つの観点では、通信制御装置は、複数のコントローラと、各々が複数の通信プロセスを実行する複数の端末装置と、仮想アドレスを有し、前記複数のコントローラと前記複数の端末装置とを接続するロードバランサと、を備え、前記通信プロセスの各々は複数の通信スレッドにより構成され、前記通信スレッド毎に前記端末装置のポートが割り当てられ、前記ロードバランサは、前記コントローラから前記仮想アドレスへのアクセスを、前記スレッド毎に割り当てられたポートに転送する。
【００１２】
上記の通信制御装置では、複数の端末装置において、複数の通信プロセスが実行される。各通信プロセスは複数の通信スレッドにより構成され、各通信スレッドには端末装置のポートが割り当てられる。コントローラからの接続要求はロードバランサの仮想アドレスに対して送信され、ロードバランサは、その接続要求を、特定の端末装置のポートに転送する。こうして、当該ポートに割り当てられた通信スレッドとコントローラとの接続が確立する。好適な例では、前記通信スレッドの各々は、通信スレッドと制御スレッドとを含む。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明を実施するための最良の形態について説明する。
【００１４】
［基本構成］
なお、以下の説明において、ＭＣＳなどはコンピュータ端末装置（計算機）により構成される。「プロセス」とは、予め用意され、そのような端末装置において実行されるプログラムに相当する。即ち、端末装置のＣＰＵなどがプログラムを実行することにより、各プロセスが実行されることになる。また、「スレッド」とは、プログラムの実行におけるプロセスよりも細かい並行処理の実行単位をいう。
【００１５】
図１に本発明を適用した搬送制御システムの構成を示す。図示のように、本システムは、複数のＡＭＨＳコントローラ２と、Ｌ４スイッチ３と、データベース４と、複数のＭＣＳ５と、を備える。複数のＡＭＨＳコントローラ２、Ｌ４スイッチ３及び複数のＭＣＳ５はＬＡＮなどのネットワークにより接続されている。
【００１６】
ＡＭＨＳコントローラは、半導体製造においての工程間搬送設備、工程内搬送設備、ストッカーなどの設備毎に設けられているコントローラである。なお、ＡＭＨＳとは、搬送設備、保管設備、搬送管理設備などを組み合わせた自動化システムの総称である。また、ＡＭＨＳコントローラ２は、ＭＣＳとＴＣＰ／ＩＰを使ったネットワーク通信を行う。ＡＭＨＳ通信とは、そのときのネットワーク通信の総称である。
【００１７】
ＭＣＳは、ＡＭＨＳに準拠した搬送設備と接続し、各搬送設備に対する搬送指令を統括して制御する。本システムでは、複数のＭＣＳのうち、ＭＣＳ＃２及び＃３が搬送のためにＡＭＨＳコントローラ２と通信するＡＭＨＳ通信プロセスを実行し、ＭＣＳ＃１はこれらＭＣＳ＃２及び＃３を統括制御する役割を有する。なお、図１の例では説明の便宜上３つのＭＣＳを示しているが、実際にはより多数のＭＣＳ５を設けてもよい。本システムでは、複数のＭＣＳ（ノード）を備える構成としているため、１つのノードがダウンしても、そのノードの制御を他のノードが引き継ぐことができ、ＭＣＳ全体としてのダウンタイムを軽減することができるように構成されている。
【００１８】
具体的に、ＭＣＳ＃２及び＃３では、それぞれ複数のＡＭＨＳ通信プロセス６が実行されている。各ＡＭＨＳ通信プロセス６は、複数のスレッドからなるマルチスレッド構造となっている。具体的には、ＡＭＨＳ通信スレッド７とＡＭＨＳ制御スレッド８とが対（ペア）になっており、複数のＡＭＨＳ通信スレッド７とＡＭＨＳ制御スレッド８とのペアがＡＭＨＳ通信プロセスを構成している。なお、ＡＭＨＳ通信スレッド７とＡＭＨＳ制御スレッド８のペアは、１つのＡＭＨＳコントローラ２に対応する処理を実行する。
【００１９】
ＡＭＨＳ通信プロセス６中のＡＭＨＳ制御スレッド８は、必要に応じてデータベース４にアクセスし、例えば搬送指令情報、搬送先装置情報などＡＭＨＳコントローラ２の制御に必要なデータを取得する。
【００２０】
ＭＣＳ＃１上では、ＡＭＨＳ制御管理プロセス９が実行されている。ＡＭＨＳ制御管理プロセス９は、ＭＣＳ＃２及び＃３において実行されている複数のＡＭＨＳ通信プロセス６の管理を実行する。
【００２１】
Ｌ４スイッチは、ネットワーク通信で使用されるロードバランサ（負荷分散装置）であり、ＯＳＩ７層モデルの階層でトランスポート層に対して負荷分散処理を実行する。Ｌ４スイッチは仮想ＩＰアドレス（ＶＩＰ）を有しており、クライアントからそのＶＩＰに接続要求が来ると、そのＶＩＰに紐付けされたサーバに接続要求を転送し、あたかもそのＶＩＰがサーバのＩＰアドレスであるかのような挙動を行う。
【００２２】
本システムでは、Ｌ４スイッチ３は、複数のＡＭＨＳコントローラ２から複数のＭＣＳ５へのアクセスを負荷分散する。図示のように、Ｌ４スイッチは、ＶＩＰアドレス［１９２．１６８．０．１］を有している。各ＡＭＨＳコントローラ２は、このＶＩＰアドレスの各ＴＣＰポート（以下、単に「ポート」という。）１０００１〜１０００５にアクセスする。例えば図中右端のＡＭＨＳコントローラ２がＶＩＰアドレス［１９２．１６８．０．１］のポート１０００１に接続要求を行うと、Ｌ４スイッチは、これをＭＣＳ＃２のポート１０００１に転送する。この場合、転送先のＩＰアドレスは、ＭＣＳ＃２のＩＰアドレス［１９２．１６８．０．２］となる。同様に、Ｌ４スイッチ３は、他のＡＭＨＳコントローラ２からＶＩＰアドレス宛の接続要求を受信し、それらをＭＣＳ＃２及び＃３に転送する。
【００２３】
ＭＣＳ＃２及び＃３は複数のポートを有し、ＡＭＨＳ通信スレッド７には、Ｌ４スイッチに３により通信相手のＡＭＨＳコントローラ２に対応する１つのポートが割り当てられる。よって、各ＡＭＨＳ通信スレッド７は、制御対象となるＡＭＨＳコントローラ２に対応するＭＣＳ５のポート及びＬ４スイッチ３を通じて、対応するＡＭＨＳコントローラ２と通信する。
【００２４】
以下、本システムの特徴について説明する。
【００２５】
まず、１つのＡＭＨＳコントローラ２に対して、ＡＭＨＳ通信スレッド７とＡＭＨＳ制御スレッド８の１つのペアが動作するので、搬送装置などのＡＭＨＳを増設したときには、ＡＭＨＳ通信スレッド７とＡＭＨＳ制御スレッド８の１つのペアを設ければよい。よって、ＡＭＨＳを増設したときに、対応する数のプロセスを増加させる必要が無いので、メモリなどＭＣＳ内のリソースの浪費を低減することができる。
【００２６】
また、図２に示す従来システムの構成と比較すると、ＡＭＨＳ−ＤＢアクセスプロセスが無いので、プログラムのソースコード量が減り、その結果ＡＭＨＳモジュールが単純化できる。よって、プログラムのバグ発生率を減少させることができ、問題部分を特定するために要する時間を短縮することができる。
【００２７】
また、本システムでは、ＡＭＨＳ通信プロセスが複数のＭＣＳ（ノード）で起動する。ＡＭＨＳコントローラは予め決められたＭＣＳのＩＰアドレスとＴＣＰポート番号で通信接続を行うので、単純に複数ノード化した構成とすると、どの複数のＭＣＳ（ノード）に接続すべきかが不明となる。この点、本システムでは、ロードバランサとしてのＬ４スイッチがオープン済みのＴＣＰ通信ポートの振り分けを自動的に行うので、ノードフェイルオーバー時、アプリケーションフェイルオーバー時にも自動的に再接続を行うことができる。
【００２８】
なお、本システムでは、ＭＣＳ内部の通信を内部メッセージではなくＴＣＰ／ＩＰ通信としている。このためＴＣＰ／ＩＰ通信の特性上、プロセス通信間にリンクテストが必要となるため、プロセス数に応じてリンクテストが増加し、計算機に負荷かかる恐れがある。しかし、本システムでは、ＡＭＨＳ通信プロセスをマルチスレッド化することによりＡＭＨＳ制御プロセスの数を減らすことができるので、リンク回数が増加を抑制することができ、計算機の負荷増大を回避することができる。
【図面の簡単な説明】
【００２９】
【図１】本発明を適用した搬送制御システムの構成を示す。
【図２】従来の搬送制御システムの構成例を示す。
【符号の説明】
【００３０】
２  ＡＭＨＳコントローラ
３  Ｌ４スイッチ
４  データベース
５  ＭＣＳ
６  ＡＭＨＳ通信プロセス
７  ＡＭＨＳ通信スレッド
８  ＡＭＨＳ制御スレッド
【図１】
2009003646.tif 000003
【図２】
2009003646.tif 000004