(57)【要約】【課題】ソフトウエアを用いて半導体製造装置Ｈ１〜Ｈ４に関する処理を行うコントローラＣ１〜Ｃ４へソフトウエア提供装置２１から通信回線３を介してソフトウエアを簡易に安全に提供するシステムを提供する。【解決手段】ソフトウエア提供装置により提供されるソフトウエア毎に対応するソフトウエア取得用情報Ｋを設ける。コントローラは提供を要求するソフトウエアに対応するソフトウエア取得用情報を通信回線を介してソフトウエア提供装置に対して送信する。ソフトウエア提供装置は受信したソフトウエア取得用情報に対応するソフトウエアを通信回線を介してコントローラに対して送信する。コントローラは、受信したソフトウエアを記憶し、記憶したソフトウエアを用いて処理を実行する。【選択図】      図１
2004259088.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウエアを用いて半導体製造装置に関する処理を行うコントローラへソフトウエア提供装置から通信回線を介してソフトウエアを提供するシステムであって、
ソフトウエア提供装置により提供されるソフトウエア毎に対応するソフトウエア取得用情報が設けられ、
コントローラは、提供を要求するソフトウエアに対応するソフトウエア取得用情報を通信回線を介してソフトウエア提供装置に対して送信するソフトウエア取得用情報送信手段を備え、
ソフトウエア提供装置は、コントローラから通信回線を介して送信されるソフトウエア取得用情報を受信するソフトウエア取得用情報受信手段と、ソフトウエア取得用情報受信手段により受信されるソフトウエア取得用情報に対応するソフトウエアを通信回線を介してコントローラに対して送信するソフトウエア送信手段と、を備え、
更に、コントローラは、ソフトウエア提供装置から通信回線を介して送信されるソフトウエアを受信するソフトウエア受信手段と、ソフトウエア受信手段により受信されるソフトウエアを記憶するソフトウエア記憶手段と、ソフトウエア記憶手段により記憶されるソフトウエアを用いて処理を実行する処理実行手段と、を備えた、
ことを特徴とする半導体製造装置のソフトウエア提供システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体製造装置のコントローラへソフトウエア提供装置から通信回線を介してソフトウエアを提供するシステムに関し、特に、簡易に、安全に、ソフトウエアの提供を行うシステムに関する。
【０００２】
【従来の技術】
半導体製造装置では、半導体デバイス用のシリコン基板や液晶ディスプレイ（ＬＣＤ：Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）用のガラス基板などを製造することが行われる。半導体製造装置の形式としては、多数枚の基板をまとめて処理するバッチ式や、１枚或いは数枚の基板を順次処理する枚様式がある。
また、半導体製造装置には装置制御コントローラが備えられており、装置制御コントローラは制御プログラムを実行することにより半導体製造装置の動作を制御する処理などを行う。
【０００３】
ここで、コントローラのバージョンアップや、制御プログラムのバグ対策などの必要性から、コントローラにより使用される制御プログラムなどのソフトウエアを変更する必要が生じる場合がある。このような必要性は、例えば、新たに工場を立ち上げた際などに比較的頻繁に生じる。
【０００４】
従来では、装置制御コントローラにより使用されるソフトウエアをアップデートする方法として、一般に、フロッピー（登録商標）ディスクやＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの光磁気ディスク或いはフラッシュメモリなどを用いて、作業者が半導体製造装置の操作画面においてソフトウエアをインストールする方法が用いられていた。
【０００５】
このような方法では、半導体製造装置を購入した顧客の作業者がソフトウエアをインストールする際には、予め、当該ソフトウエアを格納したメディアをソフトウエア提供者から当該顧客へ配布することが必要である。また、半導体製造装置の稼動スケジュールに従ってインストールすることが必要であるため、複数の半導体製造装置が工場にあるような場合には、一人の作業者により一度に全ての半導体製造装置に対してインストールすることができなかった。また、作業者の誤操作が発生し易い方法であるため、ＦＳＥなどのエキスパートにより作業を行うことがほとんどであった。
【０００６】
また、装置制御コントローラにより使用されるソフトウエアをアップデートする方法として、ブロックコントローラなどの群管理コントローラなどを用いて、ネットワークを介してインストール作業を行う方法も用いられている。
このような方法においても、ソフトウエアを格納したメディアを工場内に持ち込むことが必要であった。
【０００７】
また、最近では、装置制御コントローラにより使用されるソフトウエアをアップデートする方法として、装置制御コントローラによりインターネットなどに接続してアップデートを行う方法が検討されている。
しかしながら、顧客の工場内におけるネットワークの構成では、ファイアウォールが設置されることが多く、半導体製造装置にプライベートアドレスが割り当てられることが多いため、顧客の工場外からインターネットを経由してソフトウエアを更新することは困難であった。
【０００８】
なお、半導体製造装置やネットワーク通信に関する従来技術の例を示す。
従来では、制御プログラムを実行することにより半導体製造装置の動作を制御するコントローラへ管理サーバから通信回線を介して制御プログラムを提供することが行われており、更に、制御プログラムを切り替えることが可能な時期を判定することや、従前の制御プログラムを実行するために用いたデータを保持することが行われていた（例えば、特許文献１参照。）。
【０００９】
また、従来では、半導体製造装置と通信ネットワークを介して接続される診断装置により当該半導体製造装置をリモートで診断することが行われていた。
また、従来では、オープンネットワークにおいて、端末装置が、ファイルサーバから配信される暗号化されたプログラムなどを、キーサーバから配信される暗号解除鍵によりデコードすることが行われていた。
【００１０】
【特許文献１】
特開２００２−２１７１８２号公報
【００１１】
【発明が解決しようとする課題】
上記従来例で述べたように、従来では、装置制御コントローラにより使用されるソフトウエアをアップデートする場合に、メディアを利用してソフトウエアのコンテンツを配布することが必要であり、エキスパートによる作業が必要であり、また、ネットワークを介してアップデートを行うことに関しては、ファイアウォール内のプライベートネットワークに半導体製造装置が設置されるケースがほとんどであり、外部からのアクセスが困難であった。
【００１２】
本発明は、このような従来の事情に鑑み為されたもので、例えば簡易に安全に、半導体製造装置のコントローラへソフトウエア提供装置から通信回線を介してソフトウエアを提供することができる半導体製造装置のソフトウエア提供システムを提供することを目的とする。
【００１３】
【課題を解決するための手段】
上記目的を達成するため、本発明に係る半導体製造装置のソフトウエア提供システムでは、次のようにして、ソフトウエアを用いて半導体製造装置に関する処理を行うコントローラへ、ソフトウエア提供装置から通信回線を介してソフトウエアを提供する。
すなわち、ソフトウエア提供装置により提供されるソフトウエア毎に対応するソフトウエア取得用情報が設けられる。
【００１４】
まず、コントローラでは、ソフトウエア取得用情報送信手段が提供を要求するソフトウエアに対応するソフトウエア取得用情報を通信回線を介してソフトウエア提供装置に対して送信する。
すると、ソフトウエア提供装置では、ソフトウエア取得用情報受信手段がコントローラから通信回線を介して送信されるソフトウエア取得用情報を受信し、ソフトウエア送信手段がソフトウエア取得用情報受信手段により受信されるソフトウエア取得用情報に対応するソフトウエアを通信回線を介してコントローラに対して送信する。
そして、コントローラでは、ソフトウエア受信手段がソフトウエア提供装置から通信回線を介して送信されるソフトウエアを受信し、ソフトウエア記憶手段がソフトウエア受信手段により受信されるソフトウエアを記憶する。また、コントローラでは、処理実行手段がソフトウエア記憶手段により記憶されるソフトウエアを用いて処理を実行する。
【００１５】
従って、ソフトウエア提供装置から通信回線を介してコントローラへソフトウエアが提供されるため、例えば作業者による作業を簡易化或いは省略することができ、コントローラへのソフトウエアの提供を簡易に行うことができる。また、ソフトウエア毎にソフトウエア取得用情報が設けられて当該ソフトウエアを取得するために（当該ソフトウエアの提供を受けるために）用いられるため、例えばソフトウエア取得用情報を有しない者に対してはソフトウエアが提供されず、コントローラへのソフトウエアの提供を秘密保持上で安全に行うことができる。
【００１６】
ここで、半導体製造装置としては、種々なものが用いられてもよい。
また、コントローラとしては、種々なものが用いられてもよく、例えば、半導体製造装置と一体化されて設けられてもよく、或いは、別体で設けられてもよい。
また、ソフトウエア提供装置としては、例えばコンピュータなどの種々なものが用いられてもよい。
また、通信回線としては、例えばインターネットなどの種々なものが用いられてもよい。
【００１７】
また、ソフトウエアとしては、種々なものが用いられてもよく、例えば、半導体製造に関するものとして、プログラムや、パラメータのデータや、レシピのデータや、マニュアルのデータなどを用いることができ、また、同一のソフトウエアについてバージョンが異なるものを用いることもできる。
【００１８】
一構成例として、ソフトウエア提供装置により提供されるソフトウエアが複数あり、それぞれのソフトウエア毎に対応して異なるソフトウエア取得用情報が設けられる。
従って、ソフトウエア取得用情報により、提供を要求するソフトウエアを特定することが可能であり、例えば、ソフトウエア取得用情報に対応するソフトウエアのみを確実にコントローラへ提供することができる。
【００１９】
ここで、ソフトウエア提供装置により提供されるソフトウエアの数や種類としては、種々なものが用いられてもよい。
また、ソフトウエア取得用情報としては、種々な情報が用いられてもよく、例えば、対応するソフトウエアを特定する情報を含むような情報が用いられる。
【００２０】
また、コントローラにより行われる半導体製造装置に関する処理としては、種々な処理が用いられてもよく、例えば、半導体製造装置の動作を制御する処理や、半導体製造装置に関するレシピやマニュアルを出力する処理などを用いることができる。
また、コントローラによりソフトウエアを用いて処理を行う態様としては、例えば、プログラムを実行して処理を行う態様や、データをパラメータなどとして用いて処理を行う態様や、データ自体を出力する態様などを用いることができる。
【００２１】
また、半導体製造装置の動作としては、例えば、半導体デバイス用のシリコン基板やＬＣＤ用のガラス基板などを製造する処理の動作などが用いられる。
また、半導体製造装置の動作の制御としては、例えば、温度に関する制御や、圧力に関する制御や、ガスに関する制御や、メカに関する制御などが用いられる。
【００２２】
また、コントローラにより送信されるソフトウエア取得用情報としては、例えば、初期状態において予めコントローラに設定されてもよく、或いは、外部の装置や、外部の記憶媒体や、外部の作業者などにより入力されることにより、コントローラに設定されてもよい。
【００２３】
また、ソフトウエア提供装置により送信されるソフトウエアとしては、例えば、ソフトウエア提供装置の内部に備えられる記憶手段により記憶されてもよく、或いは、ソフトウエア提供装置の外部に備えられる記憶手段により記憶されてもよく、また、外部の装置などからソフトウエア提供装置へ入力されてもよい。
【００２４】
また、コントローラにより受信されるソフトウエアを記憶する態様としては、例えば、新規に記憶する態様や、既に記憶されているソフトウエアを書き換える（上書きする）態様や、既に記憶されているソフトウエアの一部を追加或いは削除する態様などを用いることができる。
【００２５】
また、ソフトウエア記憶手段としては、例えば、ハードディスクなどのメモリを用いて構成することができる。
また、処理実行手段としては、例えば、プログラムやデータを用いて処理を実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などのプロセッサを用いて構成することができる。
【００２６】
また、ソフトウエア取得用情報の通信や、ソフトウエアの通信としては、それぞれ、例えば、有線の通信が用いられてもよく、無線の通信が用いられてもよく、或いは、これら両方が用いられてもよい。
また、ソフトウエア取得用情報を通信するために用いられる通信回線や、ソフトウエアを通信するために用いられる通信回線としては、例えば、共通な通信回線が用いられてもよく、或いは、異なる通信回線が用いられてもよい。
【００２７】
以下で、更に、本発明に係る構成例を示す。
本発明では、一構成例として、ソフトウエア取得用情報は、ソフトウエア提供装置などから通信回線を介してコントローラへ提供される。
また、本発明では、一構成例として、ソフトウエア取得用情報は、記憶媒体に記憶されて、コントローラを操作する者（操作者）へ提供される。また、ソフトウエア取得用情報は、操作者によりコントローラへ入力される。
【００２８】
ここで、記憶媒体としては、例えばフロッピー（登録商標）ディスクやＣＤ−ＲＯＭなどの種々なものが用いられてもよい。
また、ソフトウエア取得用情報を操作者によりコントローラへ入力する仕方としては、例えば、記憶媒体を介して入力する仕方や、キーボードなどを用いて入力する仕方などを用いることができる。
【００２９】
また、本発明では、一構成例として、ソフトウエア提供装置は、コントローラに対して認証処理を行い、例えば、ソフトウエア取得用情報やユーザ情報やコントローラ情報或いは半導体製造装置情報などの一部又は全部に基づいて認証処理を行う。
従って、ソフトウエア提供装置からソフトウエアを提供するに際して、コントローラに対する認証処理が行われることにより、秘密保持上で安全性を高めることができる。
【００３０】
ここで、ユーザ情報としては、例えば、半導体製造装置やコントローラを使用する者であってソフトウエアの提供を受ける者に関する情報が用いられる。
また、コントローラ情報としては、例えばコントローラの識別番号などのように、コントローラに関する情報が用いられる。
また、半導体製造装置情報としては、例えば半導体製造装置の識別番号などのように、半導体製造装置に関する情報が用いられる。
【００３１】
また、本発明では、一構成例として、コントローラ或いはソフトウエア提供装置などは、コントローラにより送信処理や受信処理や記憶処理を行うタイミングを制御し、例えば、半導体製造装置の稼働に支障を与えないタイミングで処理が行われるように制御する。
ここで、半導体製造装置の稼働に支障を与えないタイミングとしては、例えば、電源がオンされた直後のように半導体製造装置が稼働していないときや、半導体製造装置は稼働しているがコントローラが制御処理を行っていないときなどのタイミングを用いることができる。
【００３２】
また、本発明では、一構成例として、コントローラは、ソフトウエア記憶手段により記憶されるソフトウエアを書き換える場合に、書き換え前のソフトウエアをソフトウエア記憶手段或いは他の記憶手段により記憶する（バックアップする）。
従って、書き換え前のパラメータなどのソフトウエアを保存することができ、必要に応じて使用することができる。
【００３３】
また、本発明では、一構成例として、コントローラは、ファイアウォールなどを備えたプライベートなネットワークに接続される。また、一構成例として、ソフトウエア提供装置は、ファイアウォールなどを備えたプライベートなネットワークに接続される。また、一構成例として、通信回線は、インターネットなどのようにオープンなネットワークから構成される。
【００３４】
また、本発明では、一構成例として、半導体製造装置を製造するメーカ側がソフトウエアを提供し、半導体製造装置を例えば有償で取得して半導体を製造するメーカ側がソフトウエア取得用情報を例えば有償で取得してソフトウエアの提供を受ける。
従って、提供対象となるソフトウエア毎を単位として対応するソフトウエア取得用情報を販売或いは購入することにより、ソフトウエア毎を単位として、ソフトウエアの提供或いは取得や、ソフトウエアの提供に係る課金を行うことなどができる。
【００３５】
また、本発明では、一構成例として、半導体製造装置を取得して半導体を製造するメーカ側の工場に、複数の半導体製造装置のコントローラが設けられる。
従って、このように複数のコントローラが設けられて、ソフトウエアの提供を受けることが行われるような場合においても、ソフトウエアの提供を簡易に安全に行うことができる。
【００３６】
【発明の実施の形態】
本発明に係る一実施例を図面を参照して説明する。
図１には、本発明に係る半導体製造装置のソフトウエア提供システムの全体的な構成例を示してある。
本例のシステムでは、半導体製造装置Ｈ１〜Ｈ４を購入して使用する顧客となるデバイスメーカの工場１と、半導体製造装置Ｈ１〜Ｈ４を製造して売った装置メーカ側２とに、それぞれ、プライベートなネットワークが構築されており、これらのネットワークがインターネットやＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの広域ネットワークから成る通信回線３を介して接続されている。
【００３７】
具体的には、デバイスメーカ工場１では、例えば４つの半導体製造装置Ｈ１〜Ｈ４が当該デバイスメーカ工場１内に設置されており、それぞれの半導体製造装置Ｈ１〜Ｈ４毎に備えられてそれぞれの半導体製造装置Ｈ１〜Ｈ４の動作を制御する装置制御コントローラＣ１〜Ｃ４がＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）の回線１２と接続されている。また、当該ＬＡＮの回線１２は、ルータ或いはファイアウォールを介して基幹ＬＡＮと接続されており、更に、ファイアウォール１１を通して外部の通信回線３と接続される。
【００３８】
ここで、ＬＡＮ１２の回線に接続される各装置制御コントローラＣ１〜Ｃ４或いは各半導体製造装置Ｈ１〜Ｈ４には、プライベートＩＰ（Ｉｎｔｅｒｎｅｔ  Ａｄｄｒｅｓｓ）アドレスが割り当てられている。
このように本例では、装置制御コントローラＣ１〜Ｃ４或いは半導体製造装置Ｈ１〜Ｈ４はファイアウォール１１の内側に存在しており、装置制御コントローラＣ１〜Ｃ４或いは半導体製造装置Ｈ１〜Ｈ４にはプライベートアドレスが割り当てられているため、外部のネットワークから装置制御コントローラＣ１〜Ｃ４或いは半導体製造装置Ｈ１〜Ｈ４へ直接的にアクセスすることが不可能な構成となっている。
【００３９】
また、本例では、装置メーカからデバイスメーカに対して提供されるそれぞれのソフトウエア毎に対応して、ソフトウエアを取得するために用いられる情報であるキー（ライセンスキー）Ｋが設けられる。
デバイスメーカ（ユーザ）は、装置メーカに対して対価を支払うことにより、提供を希望するソフトウエアに対応するキーＫを装置メーカから取得する。
【００４０】
また、具体的には、装置メーカ側２では、例えば自社のＤＭＺ（ＤｅＭｉｌｉｔａｒｉｚｅｄ  Ｚｏｎｅ）に、ソフトウエアのリポジトリ部２２を備えたアップデートサーバ２１が設置されている。また、アップデートサーバ２１は、ファイアウォール２３を通して外部の通信回線３と接続される。
【００４１】
ここで、アップデートサーバ２１は、一般的な構成として、例えば、ウエブサーバなどを用いて構成される。
また、アップデートサーバ２１は、セキュリティ（機密保護）を考慮して構築されたものであり、例えばＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）やｈｔｔｐｓ（Ｈｙ  ｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  Ｓｅｃｕｒｅ）などのプロトコルを使用して、ユーザ認証や、キー照合や、アクセス制御や、暗号化などを行う機能を有している。
また、リポジトリ部２２では、例えば、デバイスメーカに対して提供するためのソフトウエアをアーカイブなどとして記憶している。
【００４２】
以下では、デバイスメーカ工場１に設置された１つの半導体製造装置Ｈ１の装置制御コントローラＣ１を代表させて、装置制御コントローラＣ１やアップデートサーバ２１の構成例や動作例を示す。
なお、他の半導体製造装置Ｈ２〜Ｈ４の装置制御コントローラＣ２〜Ｃ４の構成や動作についても、装置制御コントローラＣ１と同様である。
【００４３】
図２には、装置制御コントローラＣ１の構成例を示してあり、装置制御コントローラＣ１は例えばコンピュータを用いてプロセッサやメモリやハードディスクを備えた制御機器として構成されている。
具体的には、装置制御コントローラＣ１には、入力部３１と、出力部３２と、ハードディスク３３と、通信制御プログラム部３４と、メモリ４１やプロセッサ４２を有した制御部３５が備えられている。
【００４４】
入力部３１は、画面上で入力を行うためのキーボード或いはマウスや、フラッシュメモリなどの不揮発性記憶メモリから入力を行うための機能部などから成る入力装置を有している。
出力部３２は、出力を行うための画面などから成る出力装置を有している。
ハードディスク３３には、制御プログラムを記述したファイル（プログラムファイル）や、レシピなどの各種のパラメータを記述したファイル（パラメータファイル）や、ヘルプやチュートリアルなどのマニュアル内容を記述したファイル（マニュアルファイル）などが格納される。
【００４５】
通信制御プログラム部３４は、通信制御プログラムを実行することにより、ネットワークを介して外部の制御装置と通信を行う機能を有しており、例えば、ＨＳＭＳやＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）やＨＴＴＰなどの各種のプロトコルを扱う機能を有している。
【００４６】
プロセッサ４２は、メモリ４１に記憶された制御プログラムやデータを用いて、各種の処理を実行する機能を有している。
本例では、メモリ４１に記憶された自己（装置制御コントローラＣ１）制御用のプログラムは、ダウンロードのタイミングを予約することが可能なスケジューラの機能や、ダウロードによって影響を受けるソフトウエアやパラメータファイルをバックアップする機能を有している。
また、ハードディスク３３に格納される情報と、メモリ４１に記憶される情報とは、一方から他方へ移動することや複写（コピー）することが可能である。
【００４７】
図３には、アップデートサーバ２１の構成例を示してあり、アップデートサーバ２１は例えばコンピュータを用いてプロセッサやメモリやハードディスクを備えた制御機器として構成されている。
具体的には、アップデートサーバ２１には、入力部５１と、出力部５２と、ハードディスク５３と、インターネットサーバ部５４と、セキュリティソフトウエア部５５と、制御部５６が備えられている。
【００４８】
入力部５１は、画面上で入力を行うためのキーボード或いはマウスや、フラッシュメモリなどの不揮発性記憶メモリから入力を行うための機能部などから成る入力装置を有している。
出力部５２は、出力を行うための画面などから成る出力装置を有している。
ハードディスク５３には、制御プログラムを記述したファイル（プログラムファイル）や、レシピなどの各種のパラメータを記述したファイル（パラメータファイル）や、ヘルプやチュートリアルなどのマニュアル内容を記述したファイル（マニュアルファイル）などが格納される。
【００４９】
インターネットサーバ部５４は、例えばウエブサーバなどの機能を有しており、セキュリティソフトウエア部５５に格納されたセキュリティソフトウエアを組み込むことにより通信の暗号化や不正アクセスの防御などを行う機能を有している。
プロセッサ６２は、メモリ６１に記憶された制御プログラムやデータを用いて、各種の処理を実行する機能を有している。
【００５０】
本例では、メモリ６１に記憶された自己（アップデートサーバ２１）制御用のプログラムは、ユーザを認証する機能や、キーＫを照合する機能などを有している。
また、ハードディスク５３に格納される情報と、メモリ６１に記憶される情報と、リポジトリ部２２に格納される情報とは、いずれか１つから他の１つ又は２つへ移動することや複写（コピー）することが可能である。
【００５１】
次に、半導体製造装置Ｈ１の装置制御コントローラＣ１によりアップデートサーバ２１からソフトウエアの提供を受ける場合における処理動作の例を示す。
まず、ユーザであるデバイスメーカは、ソフトウエアのダウンロードを行う際には、事前に、各半導体製造装置Ｈ１〜Ｈ４毎に、ソフトウエアのアップデートデータや各種のパラメータファイルを取得するためなどに必要なキーＫを入手する。
【００５２】
ここで、各ソフトウエア毎に設けられるキーＫは、例えば、（１）プログラムの名称の情報或いはパラメータの名称の情報或いはマニュアルの名称の情報や、（２）ディレクトリの位置の情報や、（３）バージョンの情報や、（４）顧客（本例では、ユーザであるデバイスメーカ）の名称の情報や、（５）工場の名称の情報や、（６）対象となる装置の名称の情報や、（７）ライセンス配布数の情報などから構成される。
また、キーＫは、例えば配布されるときに、ＲＳＡやＤＥＳなどの暗号化アルゴリズムを用いて暗号化される。
【００５３】
このようなキーＫは、例えば、メールに添付してユーザへ送られてもよく、或いは、フロッピー（登録商標）ディスクやフラッシュメモリなどに格納されて郵送によりユーザへ送付されてもよく、或いは、他の方法でユーザへ渡されてもよい。
また、ユーザがキーＫを入手する方法の一例として、例えばソフトウエアのバージョンアップやレシピの作成或いは修正などのようなアプリケーションサポートに関するソフトウエアについては、ユーザがソフトウエアを購入することとして、これに応じて装置メーカからユーザへキーＫを配布する。
【００５４】
図４を参照して、ユーザ側のオペレータの手動作業を用いて、半導体製造装置Ｈ１の装置制御コントローラＣ１によりアップデートサーバ２１からソフトウエアを取得するダウンロードの処理の手順の一例を示す。
本例では、装置制御コントローラＣ１の画面上においてオペレータが手動で操作を行うことにより、ダウンロードの時期を決定する。
【００５５】
まず、装置制御コントローラＣ１において、オペレータは、（１）装置の状態がインストール可能な状態であるかをチェックし、インストール可能な状態である場合には、（２）提供を希望するソフトウエアに対応するキーＫを入力し、（３）入力されたキーＫの内容が正当であるかをチェックする。また、ダウンロードを行う際には、オペレータは、（４）入力されたキーＫにより配布される予定であるソフトウエアに対応する従前のファイルがバックアップ済みであるか否かをチェックして、必要に応じて当該ファイルをバックアップして保存する作業を行う。
なお、キーＫは、例えば自動的に、アップデートサーバ２１などから装置制御コントローラＣ１に入力されて設定されてもよい。
【００５６】
次に、このようなバックアップが行われた状態で、装置制御コントローラＣ１において、オペレータは、当該装置制御コントローラＣ１の入力画面を用いて、アップデートサーバ２１に対してログインの要求を行う。本例では、ログインの要求時に、予めユーザ毎に決められた情報を入力する。
すると、装置制御コントローラＣ１は、ログインの要求を行うための情報（ログイン要求情報）をアップデートサーバ２１に宛ててファイアウォール１１を介して通信回線３へ送信する。当該ログイン要求情報は、ファイアウォール２３を介してアップデートサーバ２１により受信される。
【００５７】
アップデートサーバ２１は、装置制御コントローラＣ１から受信したログイン要求情報に基づいて当該装置制御コントローラＣ１に対して認証処理を行い、当該装置制御コントローラＣ１が正当なものであることを認証した場合には、ログインの要求を受け付けて、ログインが成功したことを通知するための応答情報を当該装置制御コントローラＣ１に宛ててファイアウォール２３を介して通信回線３へ送信する。当該応答情報は、ファイアウォール１１を介して装置制御コントローラＣ１により受信される。
【００５８】
次に、上記したログインが成功した後に、装置制御コントローラＣ１は、入力されたキーＫをアップデートサーバ２１に宛ててファイアウォール１１を介して通信回線３へ送信する。当該キーＫは、ファイアウォール２３を介してアップデートサーバ２１により受信される。
【００５９】
アップデートサーバ２１は、装置制御コントローラＣ１から受信したキーＫを指定されたキーＫとみなし、当該指定されたキーＫについての照合処理として、（１）予め記憶された正当なキーの中に指定されたキーＫと一致するキーが存在するかを照合し、（２）指定されたキーＫがログインしているユーザ（本例では、装置制御コントローラＣ１のユーザ）に対して正当に配布されたものであるかを照合し、（３）指定されたキーＫにより指定されるファイルやバージョン情報などが提供を要求している装置（本例では、装置制御コントローラＣ１）に合致したものであるかを照合する。また、アップデートサーバ２１は、（４）指定されたキーＫにより指定されるファイルやバージョンに対応するソフトウエアが当該アップデートサーバ２１に記憶されているかをチェックする。
【００６０】
これにより、指定されたキーＫが正当なものであり正当にユーザに配布されたものであり、キーＫにより指定されるファイルなどが装置制御コントローラＣ１に合致したものであり、キーＫにより指定されるファイルなどに対応するソフトウエアが存在する場合には、アップデートサーバ２１は、装置制御コントローラＣ１から受信したキーＫが正当なものとして照合されたことを確認するための応答情報を当該装置制御コントローラＣ１に宛ててファイアウォール２３を介して通信回線３へ送信する。当該応答情報は、ファイアウォール１１を介して装置制御コントローラＣ１により受信される。
【００６１】
次に、上記のようなキーＫの照合が正しく行われた後に、アップデートサーバ２１は、装置制御コントローラＣ１から受信したキーＫに対応するソフトウエアのファイルを当該装置制御コントローラＣ１に宛ててファイアウォール２３を介して通信回線３へ送信する。当該ファイルは、ファイアウォール１１を介して装置制御コントローラＣ１により受信される。これにより、アップデートサーバ２１から装置制御コントローラＣ１へのファイルの転送（ダウンロード）が実現される。
【００６２】
次に、装置制御コントローラＣ１では、アップデートサーバ２１からファイルを受信した後に、インストール処理として、（１）例えばＭＤ（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ）５などの汎用的なチェックサムやアルゴリズムを利用してファイルの転送が正しく行われたかを照合し、（２）キーＫの内容が正当なものであるかを再びチェックするとともに、（３）キーＫにより配布されるファイルがバックアップ済みであるかをチェックして必要に応じてバックアップを実行し、受信したファイルをインストールする。そして、装置制御コントローラＣ１は、受信したファイルをインストールした状態で、（４）システムを復旧し、必要に応じて半導体製造装置Ｈ１の動作を制御する処理などを行う。
【００６３】
図５を参照して、自動的に、半導体製造装置Ｈ１の装置制御コントローラＣ１によりアップデートサーバ２１からソフトウエアを取得するダウンロードの処理の手順の一例を示す。
本例では、ダウンロードの時期をオペレータが予めスケジューラに設定しておき、このようにして予約された日時或いは所定のプロセス処理後などの時期をスケジューラが管理し、当該時期になったタイミングで装置制御コントローラＣ１が自動的にダウンロードの処理を行う。
【００６４】
まず、装置制御コントローラＣ１において、（１）装置の状態がインストール可能な状態であるかをチェックし、（２）提供を希望するソフトウエアに対応するキーＫを入力し、（３）入力されたキーＫの内容が正当であるかをチェックする。ここで、本例では、例えばダウンロードの時期をオペレータが予約するとき或いはその前に予めキーＫが入力される。
なお、キーＫは、例えば自動的に、アップデートサーバ２１などから装置制御コントローラＣ１に入力されて設定されてもよい。
【００６５】
次に、装置制御コントローラＣ１では、スケジューラの機能により、ダウンロードを行う時期を管理し、ダウンロードを行う時刻に達した際に、バックアップの機能により、入力されたキーＫにより配布される予定であるソフトウエアに対応する従前のファイルをバックアップして保存する。
【００６６】
次に、このようなバックアップが行われた状態で、装置制御コントローラＣ１では、アップデートサーバ２１に対してログインの要求を行う。本例では、ログインの要求時に、予めユーザ毎に決められた情報を用いる。
具体的には、装置制御コントローラＣ１は、ログインの要求を行うための情報（ログイン要求情報）をアップデートサーバ２１に宛ててファイアウォール１１を介して通信回線３へ送信する。当該ログイン要求情報は、ファイアウォール２３を介してアップデートサーバ２１により受信される。
【００６７】
アップデートサーバ２１は、装置制御コントローラＣ１から受信したログイン要求情報に基づいて当該装置制御コントローラＣ１に対して認証処理を行い、当該装置制御コントローラＣ１が正当なものであることを認証した場合には、ログインの要求を受け付けて、ログインが成功したことを通知するための応答情報を当該装置制御コントローラＣ１に宛ててファイアウォール２３を介して通信回線３へ送信する。当該応答情報は、ファイアウォール１１を介して装置制御コントローラＣ１により受信される。
【００６８】
次に、上記したログインが成功した後に、装置制御コントローラＣ１は、入力されたキーＫをアップデートサーバ２１に宛ててファイアウォール１１を介して通信回線３へ送信する。当該キーＫは、ファイアウォール２３を介してアップデートサーバ２１により受信される。
【００６９】
アップデートサーバ２１は、装置制御コントローラＣ１から受信したキーＫを指定されたキーＫとみなし、当該指定されたキーＫについての照合処理として、（１）予め記憶された正当なキーの中に指定されたキーＫと一致するキーが存在するかを照合し、（２）指定されたキーＫがログインしているユーザ（本例では、装置制御コントローラＣ１のユーザ）に対して正当に配布されたものであるかを照合し、（３）指定されたキーＫにより指定されるファイルやバージョン情報などが提供を要求している装置（本例では、装置制御コントローラＣ１）に合致したものであるかを照合する。また、アップデートサーバ２１は、（４）指定されたキーＫにより指定されるファイルやバージョンに対応するソフトウエアが当該アップデートサーバ２１に記憶されているかをチェックする。
【００７０】
これにより、指定されたキーＫが正当なものであり正当にユーザに配布されたものであり、キーＫにより指定されるファイルなどが装置制御コントローラＣ１に合致したものであり、キーＫにより指定されるファイルなどに対応するソフトウエアが存在する場合には、アップデートサーバ２１は、装置制御コントローラＣ１から受信したキーＫが正当なものとして照合されたことを確認するための応答情報を当該装置制御コントローラＣ１に宛ててファイアウォール２３を介して通信回線３へ送信する。当該応答情報は、ファイアウォール１１を介して装置制御コントローラＣ１により受信される。
【００７１】
次に、上記のようなキーＫの照合が正しく行われた後に、アップデートサーバ２１は、装置制御コントローラＣ１から受信したキーＫに対応するソフトウエアのファイルを当該装置制御コントローラＣ１に宛ててファイアウォール２３を介して通信回線３へ送信する。当該ファイルは、ファイアウォール１１を介して装置制御コントローラＣ１により受信される。これにより、アップデートサーバ２１から装置制御コントローラＣ１へのファイルの転送（ダウンロード）が実現される。
【００７２】
次に、装置制御コントローラＣ１では、アップデートサーバ２１からファイルを受信した後に、インストール処理として、（１）例えばＭＤ（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ）５などの汎用的なチェックサムやアルゴリズムを利用してファイルの転送が正しく行われたかを照合し、（２）キーＫの内容が正当なものであるかを再びチェックするとともに、（３）キーＫにより配布されるファイルがバックアップ済みであるかをチェックして必要に応じてバックアップを実行し、受信したファイルをインストールする。そして、装置制御コントローラＣ１は、受信したファイルをインストールした状態で、（４）システムを復旧し、必要に応じて半導体製造装置Ｈ１の動作を制御する処理などを行う。
【００７３】
以上のように、本例では、プログラムやレシピやマニュアルなどのソフトウエアを用いて半導体製造装置Ｈ１〜Ｈ４の動作を制御する処理などを行う装置制御コントローラＣ１〜Ｃ４へアップデートサーバ２１からインターネットなどのネットワークの通信回線３を介してソフトウエアを提供するシステムにおいて、ユーザ（顧客）が必要とする各ソフトウエア毎に所定のキーＫを予め購入して、ソフトウエアのダウンロード時に当該キーＫをユーザ側の半導体製造装置Ｈ１〜Ｈ４の装置制御コントローラＣ１〜Ｃ４から入力することなどにより、装置メーカ側２のアップデートサーバ２１から通信回線３を介して装置制御コントローラＣ１〜Ｃ４へ所定のソフトウエアがダウンロードされる。
【００７４】
例えば、ユーザ側では、インターネットやＷＡＮなどの広域ネットワークに接続された半導体製造装置Ｈ１〜Ｈ４の装置制御コントローラＣ１〜Ｃ４により使用されるソフトウエアの更新を行う際には、予め更新のために必要なキーＫを購入し、ダウンロード希望時などに当該キーＫを装置制御コントローラＣ１〜Ｃ４に入力することなどを行う。これにより、当該装置制御コントローラＣ１〜Ｃ４がネットワーク上で提供される装置メーカ側２のセンターに設置されているアップデートサーバ２１に接続され、そして、目的のソフトウエアが当該装置制御コントローラＣ１〜Ｃ４にダウンロードされて、当該装置制御コントローラＣ１〜Ｃ４により当該ソフトウエアをインストールすることが行われる。
【００７５】
また、本例では、装置メーカ側２により各種のプログラムやレシピテーブルやマニュアルや設定パラメータや各バージョンなど毎にそれぞれ異なるキーＫが用意され、ユーザは、ソフトウエアの入手を希望する場合には、予め希望するソフトウエアに対応したキーＫを購入する。キーＫは、例えば、対応するソフトウエアを指定する情報を含んでいる。
【００７６】
また、本例の装置制御コントローラＣ１〜Ｃ４では、ソフトウエアのダウンロード処理を行うタイミングやソフトウエアのインストール処理を行うタイミングをユーザが予めスケジューラの機能により予約することができ、この場合には、予約されたタイミングになったときに自動的にダウンロード処理やインストール処理が行われる。
また、本例では、ユーザ側のネットワークがファイアウォール１１やルータなどにより外部と分離されているような環境においても、各種のソフトウエアを外部のネットワークを経由して装置制御コントローラＣ１〜Ｃ４へダウンロードすることが可能である。
【００７７】
従って、本例のシステムでは、ユーザであるデバイスメーカの工場１内に設置された半導体製造装置Ｈ１〜Ｈ４の装置制御コントローラＣ１〜Ｃ４により使用される各種のソフトウエアのコンテンツをネットワーク経由で当該装置制御コントローラＣ１〜Ｃ４へ簡易に安全に配布することができ、例えば、制御プログラムや設定パラメータなどをオンラインでアップデートすることなどができる。
【００７８】
また、本例のシステムでは、自動的な処理を利用することにより、例えば、ユーザ側の作業者が工場１のクリーンルーム内の装置制御コントローラＣ１〜Ｃ４のところへ行って装置制御コントローラＣ１〜Ｃ４を操作する作業やメディアを交換するような作業を行う手間を省くことも可能である。
【００７９】
また、本例のシステムでは、ユーザ側ではファイアウォール１１の内側からダウンロードの指示が行われるため、例えば、プライベートアドレスが割り当てられた半導体製造装置Ｈ１〜Ｈ４或いは装置制御コントローラＣ１〜Ｃ４を備えるような場合においてもソフトウエアのアップデートが可能であり、ＦＳＥなどのエキスパートな作業者が現地へ行くようなことを省くことが可能である。
【００８０】
また、本例のシステムでは、装置メーカ側２からユーザであるデバイスメーカ側へライセンスのキーＫを配布することとすることにより、ソフトウエアのバージョンアップなどを有料コンテンツ化することができる。また、本例のように、キーＫを配布して、当該キーＫがないと対応するソフトウエアの提供が受けられないようにすることにより、ソフトウエアの秘密保持上で安全なアップデートを行うことができる。
【００８１】
なお、本例では、半導体製造装置Ｈ１〜Ｈ４の装置制御コントローラＣ１〜Ｃ４の機能により半導体製造装置のコントローラが構成されており、アップデートサーバ２１の機能によりソフトウエア提供装置が構成されている。
また、本例では、各ソフトウエア毎に設けられるキーＫが、各ソフトウエアを取得するために用いられるソフトウエア取得用情報として用いられている。
【００８２】
また、本例の装置制御コントローラＣ１〜Ｃ４では、通信制御プログラム部３４などにより提供を希望するソフトウエアに対応するキーＫを通信回線３を介してアップデートサーバ２１に対して送信する機能によりソフトウエア取得用情報送信手段が構成されており、通信制御プログラム部３４などによりアップデートサーバ２１から通信回線３を介して送信されるソフトウエアを受信する機能によりソフトウエア受信手段が構成されており、ハードディスク３３などによりソフトウエアを記憶する機能によりソフトウエア記憶手段が構成されており、制御部３５によりソフトウエアを用いて処理を実行する機能により処理実行手段が構成されている。
【００８３】
また、本例のアップデートサーバ２１では、インターネットサーバ部５４などにより半導体製造装置Ｈ１〜Ｈ４の装置制御コントローラＣ１〜Ｃ４から通信回線３を介して送信されるキーＫを受信する機能によりソフトウエア取得用情報受信手段が構成されており、インターネットサーバ部５４などにより受信されるキーＫに対応するソフトウエアを通信回線３を介して装置制御コントローラＣ１〜Ｃ４に対して送信する機能によりソフトウエア送信手段が構成されている。
【００８４】
ここで、本発明に係る半導体製造装置のソフトウエア提供システムや当該システムに備えられる各処理部などの構成としては、必ずしも以上に示したものに限られず、種々な構成が用いられてもよい。なお、本発明は、例えば本発明に係る処理を実行する方法或いは方式や、このような方法や方式を実現するためのプログラムなどとして提供することも可能である。
また、本発明の適用分野としては、必ずしも以上に示したものに限られず、本発明は、種々な分野に適用することが可能なものである。
【００８５】
また、本発明に係る半導体製造装置のソフトウエア提供システムや当該システムに備えられる各処理部などにおいて行われる各種の処理としては、例えばプロセッサやメモリ等を備えたハードウエア資源においてプロセッサがＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に格納された制御プログラムを実行することにより制御される構成が用いられてもよく、また、例えば当該処理を実行するための各機能手段が独立したハードウエア回路として構成されてもよい。
また、本発明は上記の制御プログラムを格納したフロッピー（登録商標）ディスクやＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ等のコンピュータにより読み取り可能な記録媒体や当該プログラム（自体）として把握することもでき、当該制御プログラムを記録媒体からコンピュータに入力してプロセッサに実行させることにより、本発明に係る処理を遂行させることができる。
【００８６】
【発明の効果】
以上説明したように、本発明に係る半導体製造装置のソフトウエア提供システムによると、ソフトウエアを用いて半導体製造装置に関する処理を行うコントローラへソフトウエア提供装置から通信回線を介してソフトウエアを提供するに際して、ソフトウエア提供装置により提供されるソフトウエア毎に対応するソフトウエア取得用情報を設けて、まず、コントローラが提供を要求するソフトウエアに対応するソフトウエア取得用情報を通信回線を介してソフトウエア提供装置に対して送信し、次に、ソフトウエア提供装置がコントローラから通信回線を介して送信されるソフトウエア取得用情報を受信して、受信したソフトウエア取得用情報に対応するソフトウエアを通信回線を介してコントローラに対して送信し、次に、コントローラがソフトウエア提供装置から通信回線を介して送信されるソフトウエアを受信して、受信したソフトウエアを記憶し、また、コントローラが記憶したソフトウエアを用いて処理を実行するようにしたため、例えば簡易に安全に、ソフトウエア提供装置からコントローラへソフトウエアを提供することができる。
【図面の簡単な説明】
【図１】本発明の一実施例に係る半導体製造装置のソフトウエア提供システムの構成例を示す図である。
【図２】装置制御コントローラの構成例を示す図である。
【図３】アップデートサーバの構成例を示す図である。
【図４】手動作業を用いてソフトウエアをダウンロードする処理の手順の一例を示す図である。
【図５】自動でソフトウエアをダウンロードする処理の手順の一例を示す図である。
【符号の説明】
１・・デバイスメーカ工場、  ２・・装置メーカ側、  ３・・通信回線、
Ｈ１〜Ｈ４・・半導体製造装置、  Ｃ１〜Ｃ４・・装置制御コントローラ、
Ｋ・・キー、  １１、２３・・ファイアウォール、  １２・・回線、
２１・・アップデートサーバ、  ２２・・リポジトリ部、
３１、５１・・入力部、  ３２、５２・・出力部、
３３、５３・・ハードディスク、  ３４・・通信制御プログラム部、
３５、５６・・制御部、  ４１、６１・・メモリ、
４２、６２・・プロセッサ、  ５４・・インターネットサーバ部、
５５・・セキュリティソフトウエア部、
【図１】
2004259088.tif 000003
【図２】
2004259088.tif 000004
【図３】
2004259088.tif 000005
【図４】
2004259088.tif 000006
【図５】
2004259088.tif 000007
【手続補正書】
【提出日】平成15年2月27日(2003.2.27)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2004259088.tif 000008