(57)【要約】搬送予約が開始する前に材料搬送のための運搬具が運搬待機状態にされるように、自動化されたプロセスフローにおいてスケジューリングする際に使用する方法および装置が開示されている。該方法は、プロセスフローにおいて材料搬送をスケジューリングするステップと、材料搬送の前に所定の期間、材料搬送用の運搬具を運搬待機状態にするリクエストをするステップとを含む。装置は、様々な態様において、自動化されたプロセスフローにおいて方法を実行するようにプログラムされたコンピュータおよびコンピュータシステムの他に、実行されるときにそのような方法を実行する命令で符号化されたコンピュータ可読プログラム記録媒体を含む。
2008521129.tif 000002
【特許請求の範囲】
【請求項１】
自動化したプロセスフロー（１００）でスケジューリングの際に使用するための方法であって、
前記プロセスフロー（１００）において材料搬送（Ｍ１‐Ｍ６）をスケジューリング（２０３）するステップと、
前記材料搬送（Ｍ１‐Ｍ６）の前に所定の時間、前記材料搬送（Ｍ１‐Ｍ６）用の運搬具（１６０）を運搬待機状態にするようリクエストするステップとを含む、方法。
【請求項２】
前記材料搬送（Ｍ１‐Ｍ６）をスケジューリングするステップは、前記材料搬送（Ｍ１‐Ｍ６）の予約を前もってスケジューリングするステップを含む、請求項１に記載の方法。
【請求項３】
前記運搬待機状態をリクエストするステップは、前記材料搬送（Ｍ１‐Ｍ６）の開始時間を自動化した材料取扱いシステム（１３８）に通知するステップを含む、請求項１に記載の方法。
【請求項４】
前記材料搬送（Ｍ１‐Ｍ６）をスケジューリングするステップ（２０３）は、前記プロセスフロー（１００）の状況に応じて前記材料搬送（Ｍ１‐Ｍ６）の予約を変更するステップを含む、請求項１に記載の方法。
【請求項５】
前記材料搬送（Ｍ１‐Ｍ６）の前に所定の期間、前記材料搬送（Ｍ１‐Ｍ６）用の運搬具（１６０）を運搬待機状態にするステップは、前記材料搬送（Ｍ１‐Ｍ６）にちょうど間に合って前記材料搬送（Ｍ１‐Ｍ６）用の運搬具（１６０）が到着するように運搬待機状態にするステップを含む、請求項１に記載の方法。
【請求項６】
前記材料搬送（Ｍ１‐Ｍ６）の前に所定の期間前記材料搬送（Ｍ１‐Ｍ６）用の運搬具（１６０）を運搬待機状態にするステップは、前記材料搬送（Ｍ１‐Ｍ６）用の運搬具（１６０）が搬送前に到着して待機状態となるように運搬待機状態にするステップを含む、請求項１に記載の方法。
【請求項７】
前記運搬待機状態をリクエストするステップ（２０６）は、暗示的に運搬待機状態をリクエストするステップを含む、請求項１に記載の方法。
【請求項８】
前記運搬待機状態をリクエストするステップ（２０６）は、明示的に運搬待機状態をリクエストするステップを含む、請求項１に記載の方法。
【請求項９】
第２材料（１３０）がポート（１４５）に向けて搬送する前に、第１材料が前記ポート（１４５）から離れて搬送されるように、前記材料搬送（Ｍ１‐Ｍ６）の順序を追跡するステップを更に含む、請求項１に記載の方法。
【請求項１０】
前記材料搬送（Ｍ１‐Ｍ６）をスケジューリングするステップ（２０３）は、プロセスツール１１５によって割当てられた前記プロセスツール（１１５）のポート（１４５）へのデリバリをスケジューリングするステップを含む、請求項１に記載の方法。
【請求項１１】
前記材料搬送（Ｍ１‐Ｍ６）をスケジューリングするステップ（２０３）は、前記プロセスツール（１１５）によって割当てられた時間に前記ポート（１４５）へのデリバリをスケジューリングするステップを含む、請求項１に記載の方法。
【請求項１２】
前記材料搬送（Ｍ１‐Ｍ６）をスケジューリングするステップ（２０３）は、前記搬送の宛先によって影響を受ける、請求項１に記載の方法。
【請求項１３】
自動化したプロセスフロー（１１０）でスケジューリングの際に使用するための方法であって、
複数の製造ドメインエンティティ（１３０）の第１の部分に代わって、前記製造ドメインエンティティ（１１５、１５９、１６５）の第２の部分によって提供される処理サービスを消費するためにスケジューリングするステップ、および、
前記製造ドメインエンティティ（１１５、１５９、１６５）の第２の部分の管理を通じて、スケジューリングに影響を及ぼすステップを含む、方法。
【請求項１４】
前記第１の部分（１３０）に代わってスケジューリングするステップは、材料搬送（Ｍ１‐Ｍ６）のスケジューリングおよびプロセス動作のスケジューリングの少なくとも１つを含む、請求項１３に記載の方法。
【請求項１５】
処理サービスを消費するためにスケジューリングするステップは、前記プロセスフロー（１００）の状況に応じて消費のための予約（ＡＰＴ１−ＡＰＴ４）を修正するステップを含む、請求項１３に記載の方法。
【請求項１６】
前記スケジューリングに影響を及ぼすステップは、
提案された材料搬送（Ｍ１−Ｍ６）のポートの割当てとポートの使用可能時間とを判断するステップ、および、
スケジューリングで用いるポートの割当てとポートの使用可能時間とを判断するステップとを含む、請求項１３に記載の方法。
【請求項１７】
前記スケジューリングに影響を及ぼすステップは、第２材料（１３０）をポート（１４５）に向けて搬送する前に第１材料（１３０）が前記ポート（１４５）から離れて搬送されるように、材料搬送（Ｍ１−Ｍ６）の順序を追跡するステップを含む、請求項１３に記載の方法。
【請求項１８】
前記スケジューリングに影響を及ぼすステップは、遷移状態にある材料搬送（Ｍ１−Ｍ６）のポートの割当てを動的にリアロケートするステップを含む、請求項１３に記載の方法。
【請求項１９】
自動化されたプロセスフローでスケジューリングの際に使用するための方法であって、
前記プロセスフロー（１００）において材料搬送（Ｍ１−Ｍ６）をスケジューリングするステップ、
前記スケジューリングされた材料搬送（Ｍ１−Ｍ６）を実行するステップ、および、
前記スケジューリングされた材料搬送を実行する間に、ポートの割当てを動的にリアロケートするステップ、を含む、方法。
【請求項２０】
前記材料搬送（Ｍ１−Ｍ６）をスケジューリングするステップ（２０３）は、前記スケジューリングされた材料搬送（Ｍ１−Ｍ６）の予約を修正するステップを含む、請求項１９に記載の方法。
【請求項２１】
前記スケジューリングされた材料搬送（Ｍ１−Ｍ６）を実行するステップは、材料搬送（Ｍ１−Ｍ６）の前に所定の時間、前記所定の材料搬送（Ｍ１−Ｍ６）のために運搬具（１６０）を運搬待機状態にするリクエストをするステップを含む、請求項１９に記載の方法。
【請求項２２】
前記スケジューリングされた材料搬送（Ｍ１−Ｍ６）を実行するステップは、第２材料（１３０）をポート（１４５）に向けて搬送する前に第１材料（１３０）が前記ポート（１４５）から離れて搬送されるように、材料搬送（Ｍ１−Ｍ６）の順序を追跡するステップを含む、請求項１９に記載の方法。
【請求項２３】
提案された材料搬送（Ｍ１−Ｍ６）のポートの割当てとポートの使用可能時間とを判断するステップ、および、
前記スケジューリングで用いる前記ポートの割当てとポートの使用可能時間とを供給するステップを更に含む、請求項１９に記載の方法。
【請求項２４】
第２材料（１３０）をポート（１４５）に向けて搬送する前に第１材料（１３０）が前記ポート（１４５）から離れて搬送されるように、材料搬送（Ｍ１−Ｍ６）の順序を追跡するステップを含む、請求項１９に記載の方法。
【請求項２５】
自動化されたプロセスフロー（１００）でスケジューリングの際に使用するための方法であって、
提案された材料搬送（Ｍ１−Ｍ６）のポートの割当てとポートの使用可能時間とを判断するステップ、および、
材料搬送（Ｍ１−Ｍ６）をスケジューリングする際に使用するための前記ポートの割当ておよび前記ポートの使用可能時間とを供給するステップ、および、
前記ポートの使用可能時間に前記割当てられたポート（１４５）へのデリバリのために、前記プロセスフロー（１００）において前記材料搬送（Ｍ１−Ｍ６）をスケジューリングするステップ、を含む、方法。
【請求項２６】
前記材料搬送（Ｍ１−Ｍ６）をスケジューリングするステップは、前記（Ｍ１−Ｍ６）材料搬送の予約を前もってスケジューリングするステップを含む、請求項２５に記載の方法。
【請求項２７】
前記材料搬送（Ｍ１−Ｍ６）をスケジューリングするステップは、前記プロセスフロー（１００）の状況に応じて、前記材料搬送（Ｍ１−Ｍ６）の予約を修正するステップを含む、請求項２５に記載の方法。
【請求項２８】
第２材料（１３０）をポート（１４５）に向けて搬送する前に第１材料（１３０）が前記ポート（１４５）から離れて搬送されるように、前記材料搬送（Ｍ１−Ｍ６）の順序を追跡するステップをさらに含む、請求項２５に記載の方法。
【請求項２９】
遷移状態にある材料搬送（Ｍ１−Ｍ６）のポートの割当てを動的にリアロケートするステップを更に含む、請求項２５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動製造環境に関し、より詳細には、自動製造環境のスケジューリングに関する。
【背景技術】
【０００２】
高まる技術的要求と高度な電子デバイスの世界的規模での受け入れにより、大規模で複雑な集積回路に対する要求が、これまでにないほど高いものとなってい。半導体業界における競争で要求されていることは、可能な限り最も効率的な方法で、製品が設計、製造、および市販されることである。これには、エレクトロニクス業界における急速な改良に対応するように、製造技術の改良が要求される。これらの要求を満たすことで、材料および処理機器が多様に技術的に進歩し、集積回路デザイン数が著しく増大する。また、これらの改良には、デザインや製造だけでなく、製造プロセスのスケジューリング、制御、および自動化を支援するために、コンピューティングリソースおよび他の非常に高度な機器を効率的に利用することも要求される。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
まず、製造に関して、集積回路、いわゆるマイクロチップは、典型的に、数マイクロメートルのサイズの多数の構造または特徴を含む最新の半導体デバイスから製造される。特徴は、半導体基板の局所化された領域に配置され、導電性、非導電性、または半導電性（すなわち、ドーパントで画定された領域において導電性になる）のものである。一般的に、製造プロセスでは、一連の製造ツールを介して多くのウェハが処理される。各製造ツールは、以下にさらに詳細に記載する４つの基本動作のうちの１つ以上を実行する。この４つの基本動作が全体のプロセスに従って実行されて、完成した半導体デバイスが最終的に生産される。
【０００４】
集積回路は、半導体基板材料のウェハから製造される。デバイスを構成する集積された電気回路を生成するための製造中に、材料層が付加、除去、および／または処理される。製造は、原則的に、以下の４つの基本動作を含む。
・積層化、いわゆる、半導体が作られるウェハにさまざまな材料の薄層を付加する動作、
・パターニング、いわゆる、付加した層の選択部分を除去する動作、
・ドーピング、いわゆる、付加した層にある開口を介して、ウェハの選択部分に一定量のドーパントを配置する動作、
および、
・加熱処理、いわゆる、処理されたウェハに所望の効果を生じさせるように、材料を加熱および冷却する動作。
基本動作は４つしかないが、特定の製造プロセスに応じて、数百の異なる方法で組み合わせることができる。例えば、Peter Van Zantによる「Microchip Fabrication A Practical Guide to Semiconductor Processing」(3d Ed,1997 McGraw-Hill Companies,Inc.)(ISBN 0-07-067250-4)を参照されたい。
【０００５】
半導体チップなどの製品を製造する施設を効率的に管理するには、製造プロセスのさまざまな態様を監視する必要がある。例えば、典型的に、手元にある原材料の量、未完成品（work-in-process）の状態、およびプロセス中のあらゆるステップでの機械およびツールの状態および利用可能性を追跡することが望ましい。１つの最も重要な決定は、任意の所与の時間に各機械を進行すべきロットを選択することである。また、製造プロセスにおけるほとんどの機械は、プロシージャの性能が製造プロセス自体の妨げにならないように、定期的な予防メンテナンス（「ＰＭ」：preventative maintenance）および機器認定（「Ｑｕａｌ」：equipment qualification）プロシージャとともに、定期的な実行が必須の他の診断および再調整プロシージャをスケジューリングすることが必要である。
【０００６】
この問題に対する１つのアプローチは、自動「製造実行システム」（「ＭＥＳ」：Manufacturing Execution System）を構築することである。商業的に入手可能なＭＥＳシステムとしては、例えば、Applied Materials,Inc.社製のWORKSTREAM（登録商標）、および、International Business Machines,Inc.社製のSIVIEW（登録商標）が挙げられる。自動ＭＥＳにより、ユーザは、制限された範囲で、製造環境にある機械およびツールの状態、いわゆる「エンティティ」を見て操作することができる。
【０００７】
さらに、ＭＥＳにより、ロットや未完成品を発送および追跡することができ、最も効率的な方法でリソースを管理することができるようになる。さらに詳しく言えば、ユーザはＭＥＳプロンプトに応答して、未完成品およびエンティティの状態に関する要求された情報を入力する。例えば、ユーザが特定のエンティティでＰＭを実行すると、オペレータがＰＭ（「イベント」）の性能をＭＥＳスクリーンに記録して、そのエンティティの状態に関してデータベースに格納された情報を更新する。他の形態では、修理やメンテナンスのために、エンティティが停止されれば、オペレータはこの情報をＭＥＳデータベースに記録し、この情報がバックアップされるまでエンティティの使用が防止される。
【０００８】
ＭＥＳシステムは、ロットおよび機械を追跡するには十分なものであるが、このようなシステムには、いくつかの欠陥があり、そのうち最も明らかなものとして、それらの受動的な性質、事前スケジューリングの欠如、高度に自動化された施設動作をサポート不能なことが挙げられる。現行のＭＥＳシステムは、施設の状態を監視し、正確な時間に活動を開始するために、製造の人員に依存するところが大きい。例えば、ウェハ製造技術者（「ＷＦＴ」：wafer fabrication technician）が適切なＭＥＳコマンドを発するまで、ロットの処理が始まらない。さらに、処理前に、ＷＦＴは、機械が使用可能な状態になると、ロットが機械で使用可能であるという十分な事前計画で、自動材料取扱いシステム（「ＡＭＨＳ」：automated material handling system）からロットを引き出すためのＭＥＳコマンドを発しなければならない。ＷＦＴがロットを十分に迅速に引き出さなければ、または最も早期に使用可能な時間での処理の始動を怠れば、機械がアイドリング状態になり、生産に悪影響を与える。
【０００９】
管理を容易にする別の手法として、通常、ＭＥＳとともに上記に簡単に説明したＡＭＨＳが採用される。ＡＭＨＳはプロセスフローにおいて材料を１つのポイントから別のポイントへと搬送する。例えば、半導体製造施設（「ｆａｂ」：fabrication facility）では、ウェハのロットが特定のプロセス装置での処理を終えると、通常、プロセスツールのポートからできるだけ早くロットを取り除くことが望ましい。ロットが処理を終えて待機中であるという知らせをＷＦＴが受け取るとすぐに、ＷＦＴは、ロットを次の目的地に運ぶための空の運搬具を送るよう、ＡＭＨＳへコマンドを発する。通知を送受信し、ＷＦＴが命令を発行し、運搬具が到着するまでには数分が経過する。これは大したことではないように思えるが、この遅延は全体としては急速に加算されていく。例えば、７５０のプロセス動作からなるプロセスフローでは、１動作につき３分遅延すれば、累積遅延は３７．５時間となる。
【００１０】
本発明は、上述した問題の１つまたはすべてを解消し、または少なくとも軽減するためのものである。
【課題を解決するための手段】
【００１１】
本発明は、その様々な態様および実施形態において、材料搬送用の運搬具が、搬送予約が開始する前に初期配されるよう、自動化されたプロセスフローでスケジューリングの際に用いる方法および装置である。該方法は、プロセスフローで材料搬送をスケジューリングするステップ、および、材料搬送の前の所定の期間に材料搬送用の運搬具を運搬待機状態にするようリクエストをするステップを含む。様々な形態において、該装置は、自動化されたプロセスフローにおいて方法を実行するようにプログラムされたコンピュータおよびコンピューティングシステムに加えて、実行時にそのような方法を実行する命令で符号化された、コンピュータ可読プログラムストレージを含む。
【００１２】
本発明は、さまざまな修正および別の形態が可能なものであるが、その具体的な実施形態が、例示的に図面に示され、本願明細書に記載される。しかしながら、本願明細書における具体的な実施形態の記載は、本発明を開示された特定の形態に限定することを意図したものではなく、むしろ、添付の特許請求の範囲内にあるすべての修正、均等物、および代替物に及ぶことが想定されていることを理解されたい。
【発明を実施するための最良の形態】
【００１３】
本発明は、添付の図面と組み合わせた以下の記載を参照することによって理解されてよく、図面において、参照番号が同様の要素は、それぞれ同様の要素を示す。
以下、本発明の例示的な実施形態について記載する。明確にするために、本願明細書において、実際の実施例のすべての特徴が記載されているわけではない。言うまでもなく、このような実際の実施形態を開発するにあたって、システム関連の制約やビジネス関連の制約を踏まえるなど、実施例ごとにさまざまな判断を下して開発者らの意図する目的を達成していく必要があり、これは実施例によって異なることは認識されよう。さらに、このような開発作業は、複雑かつ時間を要するものであっても、本願の開示内容を利用できる当業者らにとっては日常業務の一環であることも認識されよう。
【００１４】
図１は、本発明に従って構築され動作されるプロセスフロー１００の１つの特定の実施形態の一部分を概念的に示す。プロセスフロー１００は、半導体装置を製造する。しかし、本発明を、他のタイプの製造プロセスに適用してもよい。したがって、上述のプロセスフロー１００では、ウェハ１３５のロット１３０をより一般的に、「マテリアル」と呼ぶことがある。プロセスツール１１５およびそこで実行される任意のプロセス動作は、すべての実施形態において、半導体装置の製造に必ずしも関連するものである必要はない。しかしながら、明確にするために、さらに、本発明をさらに理解するために、例示した実施形態の文脈において本発明を開示する際に、半導体製造に関する用語を用いることにする。
【００１５】
プロセスフロー１００の例示した部分は、２つのステーション１０５を含み、各ステーション１０５は、プロセスツール１１５と通信するコンピューティング装置１１０を含む。ステーション１０５は、通信リンク１２０上で相互に通信する。例示した実施形態において、コンピューティング装置１１０および通信リンク１２０は、より大型のコンピューティングシステムの一部分、例えば、ネットワーク１２５を含む。図１にプロセスツール１１５を示す。これは、最終的に集積回路デバイスとなるウェハ１３５のロット１３０を処理するものである。プロセスツール１１５は、ウェハ１３５の何らかの部分を製造するため、すなわち、ウェハ１３５を層状化、パターニング、ドープ、または加熱処理するために使用されるプロセスツールであってよい。または、プロセスツール１１５は、プロセスフロー１００の各種部分の性能を評価するために使用される測定ツールであってもよい。
【００１６】
プロセスフロー１００はまた、ＭＥＳ１３７、自動材料取扱いシステム（「ＡＭＨＳ」）１３８、プロセスリソース（例えば、ＷＩＰストッカー）１５０の部分、および、その他の一体化した設備制御を含む。例示のために、２つのプロセスリソース１５５ａ、１５５ｂも示す。ＭＥＳ１３７およびＡＭＨＳ１３８はともに、ソフトウェアコンポーネント１４１、１４２をそれぞれ含む。ＡＭＨＳ１３８はロット１３０を「処理（handle）」し、ロット１３０を１つのステーション１０５から別のステーションに、および、プロセスフロー１００の別ロケーションに搬送し易くする。ＭＥＳ１３７およびプロセスリソース１５０、１５５ａ、１５５ｂは従来のやり方で動作するとともに使用される。プロセスリソース１５０はＷＩＰストッカーである。プロセスリソース１５０は、プロセスツール１１５でのプロセス動作とプロセス動作との間でロット１３０を格納するために使用される。他の実施形態では、プロセスリソース１５０は、例えば未完成品ストッカー、未完成品ラック、あるいはアンダートラックストレージであってもよいことに留意されたい。
【００１７】
例えば、ロット１３０などの材料を、プロセスフローの１つのポイントから別のポイントに搬送することを、「ムーブ」と呼ぶこともある。例示の実施形態は、１つのポイント、つまりソースから、第２ポイント、つまり宛先までの「ムーブ」という状況において示されている。例えば、ロット１３０は、ソースのポート１４０、つまり、ポート１４０のプロセスツール１１５からプロセスリソース１５０などの宛先に「ムーブ」する。このような状況では、ロット１３０は通常、ロット１３０の次のプロセス動作が行われることになるプロセスツール１１５に最も近いプロセスリソースに移動することになる。概して、ムーブには４つのタイプがある。それらは、第１プロセスツール１１５から第１プロセスリソース１５０まで、第１プロセスリソース１５０から第２プロセスツール１１５まで、第１プロセスリソース１１５ａから第２プロセスリソース１１５ｂまで、第２プロセスリソース１１５ｂから第２プロセスツール１１５まで、および、第１プロセスツール１１５から第２プロセスツール１１５まで、である。
【００１８】
より正確には、半導体製造施設において、材料搬送には２つのタイプがあり、それらは、ベイ間の(interbay)およびベイ内(intrabay)の材料搬送である。ベイ間の材料搬送では、ロットを製造設備のベイとベイ（図示せず）の間に搬送する。ベイ内の材料搬送では、ロット１３０を同一ベイ内の別の場所に搬送する。よって、通常、別のベイにおいて、１つのプロセスツール１１５から別のプロセスツール１１５へのロット１３０の材料搬送は、少なくとも３つの材料搬送を必要とする。それらは、第１プロセスツール１１５のポートからそのツールのベイのストッカー（図示せず）までのベイ内の材料搬送、そのストッカーから、第２プロセスツール１１５と同じベイにある別のストッカー（図示せず）までのベイ間の材料搬送、および、そのストッカーから第２プロセスツール１１５のポートまでの最終のベイ内の材料搬送、である。これらの実施形態では、２つのプロセスツール１１５間の材料搬送は、実際に少なくとも２つの要素となる材料搬送を構成しており、それらは、プロセスツール１１５から、例えばストッカー１５０まで、あるいはあるその他のプロセスリソースまでの材料搬送、および、ＷＩＰリソースから次のプロセスツール１１５までの材料搬送である。
【００１９】
しかし、本発明はプロセスリソース１５０とプロセスツール１１５との間の材料搬送に限定されるものではない。ある実施形態は、「一体化したＡＭＨＳ」として周知のものを採用してもよい。一体化したＡＭＨＳにより、ある中間のＷＩＰリソースで停止せずに、プロセスツール１１５間に材料を直接的に搬送することが可能になる。よって、ある実施形態では、異なるプロセスツール１１５でのプロセス動作間には、１つの材料搬送しか存在しなくてもよい。その結果、他の形態では、プロセスフロー１００のプロセスツール１１５間にはプロセスリソース１５０が存在しなくてもよい。概して、プロセスフロー１００などのプロセスフローには、以下のタイプの材料搬送があることが分かる。それらは、    第１プロセスツール１１５から第２プロセスツール１１５まで、
第１プロセスツール１１５からプロセスリソース１５０まで、および、プロセスリソース１５０から第２プロセスツール１１５まで、
および、
第１プロセスツール１１５から第１プロセスリソース１１５まで、
第１プロセスリソース１１５ａから第２プロセスリソース１１５ｂまで、および、
第２プロセスリソース１１５ｂから第２プロセスツール１１５までの材料搬送である。  後者の場合、２つ以上のプロセスリソースを含んだ材料搬送に拡張できる点に留意されたい。しかし、例示の実施形態では、材料搬送は要素となるムーブによってスケジュールされる。よって、例示の実施形態では、材料搬送は、
・第１プロセスツール１１５からプロセスリソース１５０、
・第１プロセスリソース１５５ａから第２プロセスリソース１５５ｂ、
・プロセスリソース１５０から第２プロセスツール１１５、
・第２プロセスリソース１５５ｂから第２プロセスツール１１５、
・および、第１プロセスツール１１５から第２プロセスツール１１５、であってよい。しかし、このリストは例示的なものであり、排他的なものでも包括的なものでもない。
【００２０】
図２は、本発明に係る方法２００を示す。概して、方法２００はプロセスフロー（例えば、図１のプロセスフロー）で材料搬送（例えば、図１のロット１３０のムーブ）をスケジューリングする（２０３）ことにより開始する。さらに詳しく言えば、例示の実施形態では、以下により詳細を説明しているように、方法２００において、将来のある時点における材料搬送の予約（アポイントメント）を前もってスケジューリングする。次に方法２００は、材料搬送の前に所定の期間、材料を搬送するための運搬具１６０を運搬待機状態（つまり、ムーブ開始時間にムーブするよう、空の運搬具をソースロケーションに持ってくる）にするようリクエストする（２０６）。運搬具のタイプや種類は実装に依存するものであり、ＡＭＨＳ１３８の実行などの多くの要因や搬送される材料に応じて変わる。
【００２１】
例えば、例示の実施形態では、材料はウェハ１３５のロット１３０（両方とも図１に示す）であり、フロントオープニングユニファイドポッド（「ｆｏｕｐ：front-opening unified pod」）キャリアに配置される。よって、運搬具１６０は、軌道上を動く吊下げ式の運搬具である。しかし、ある実施形態では、材料は例えばレチクルであってよい。このような実施形態では、運搬具１６０は、従来技術で周知のようなレチクル取扱いシステムの一部であってよい。さらに別の実施形態では、材料をさらに別の方法で実装することもでき、これに応じて運搬具１６０の実行も変わる。十分に自動化されていない設備では、技術者１６５が、代わりに材料の搬送を行う。この場合、技術者１６５が運搬具であると考えられる。
【００２２】
本発明をさらによく理解するために、例示の実施形態の選択された技術的詳細を説明することにする。図１に戻ると、すでに述べたように、コンピューティング装置１１０は通信リンク１２０を介して接続することで、より大きなコンピューティングシステム１２５の一部であり得る。そのような実施例における例示的なコンピュータシステムは、ローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）、システムエリアネットワーク（「ＳＡＮ」）、イントラネット、またはインターネットを含むものであってよい。コンピューティングシステム１２５は、ネットワーク化されたクライアント／サーバアーキテクチャを採用し、そのためにサーバ１４５を含むが、別の実施形態がピア−ツー−ピアのアーキテクチャを採用してもよい。このように、ある別の実施形態において、コンピューティング装置１１０は互いに直接通信してよい。
【００２３】
通信リンク１２０は、ワイヤレス、同軸ケーブル、光ファイバ、あるいはツイストペアワイヤリンクなどであってもよい。コンピューティングシステム１２５を用いる実施形態の場合、このシステムと通信リンク１２０とは実装固有のものとなり、当業者に周知の適切な方法で実装されてよい。コンピューティングシステム１２５は、当業者に公知の任意の適切な通信プロトコル、例えば、伝送制御プロトコル／インターネットプロトコル（「ＴＣＰ／ＩＰ」）を用いてもよい。
【００２４】
図３は、本発明に従いプログラミングされ動作するコンピューティング装置１１０のハードウェアおよびソフトウェアアーキテクチャの選択部分をそれぞれ示す。図１に示すコンピューティングシステム１２５は、分散型コンピューティングシステムであり、個々のソフトウェアの構成要素の位置を非常にフレキシブルに配置できる。例示を簡略化するために、図３に、単一のコンピューティング装置１１０に存在するプロセスフロー１００の多数のソフトウェア構成要素を示す。これらは通常、所与の実装品の別々のコンピューティング装置１１０に存在するものである。これとは反対に、ハードウェアおよびソフトウェアアーキテクチャ（例えば、個々のカード、基本入出力システム（「ＢＩＯＳ」）、入出力ドライバなど）は図示していない。これらの態様は、明確にするために、および、本発明を不明瞭にしないために省略される。しかし、本願の開示内容を利用できる当業者らであれば、コンピューティング装置１１０のソフトウェアおよびハードウェアアーキテクチャは、このような多数の通常の特徴を含むであろうことが理解されよう。
【００２５】
例示する実施形態では、コンピューティング装置１１０は、ＵＮＩＸ系オペレーティングシステムを用いたワークステーションであるが、本発明は、そのように制限されるものではない。コンピューティング装置１１０は、ラップトップコンピュータ、デスクトップコンピュータ、小型コンピュータ、メインフレームコンピュータ、あるいはスーパーコンピュータなど、実質的に任意のタイプの電子コンピューティングデバイスで実装されてよい。コンピューティング装置１１０は、いくつかの別の実施形態において、プロセスツール１１５に組み込まれたプロセッサまたはコントローラであってもよい。本発明はまた、ＵＮＩＸ系オペレーションシステムに限定されるものではない。別のオペレーションシステム（例えば、ＷｉｎｄｏｗＴＭ系、あるいは、ディスクオペレーションシステム（「ＤＯＳ」系）が用いられてもよい。本発明はコンピューティング装置１１０の特定の実装品に制限されるものではない。
【００２６】
また、コンピューティング装置１１０は、バスシステム３１５上でストレージ３１０と通信するプロセッサ３０５を含む。ストレージ３１０は、典型的に、少なくとも１つのハードディスク（図示せず）およびランダムアクセスメモリ（「ＲＡＭ」）（図示せず）を含む。また、コンピューティング装置１１０は、いくつかの実施形態において、光学ディスク３３０やフロッピー電磁ディスク３３５などの取り外し可能なストレージや、磁気テープ（図示せず）やジップディスク（図示せず)などの何らかの他の形態を含んでもよい。コンピューティング装置１１０は、モニタ３４０とキーボード３４５とマウス３５０とを含み、これらすべてが、それらに関連付けられたユーザインターフェースソフトウェア３５５とともに、ユーザインターフェース３６０を構成する。ユーザインターフェース３６０は、例示した実施形態において、グラフィカルユーザインターフェース（「ＧＵＩ」）であるが、これは本発明の実施に必須なものではない。
【００２７】
各コンピューティング装置１１０は、例示した実施形態において、ストレージ３１０にソフトウェアエージェント３６５を含む。また、図３に示す特定のコンピューティング装置１１０は、ストレージ３１０に「ムーブ予約スケジューラ」（「ＭＡＳ」）３７５と、「ポートマネージャ」３７７とを含む。これらの機能については以下に詳細を開示する。ソフトウェアエージェント３６５とＭＡＳ３７５とポートマネージャ３７７とは、コンピューティング装置１１０ではなく、プロセスフロー１００の適所に存在してもよいことに留意されたい。ソフトウェアエージェント３６５、ＭＡＳ３７５、および、ポートマネージャ３７７のがどこにあるかは本発明の実施に重要なものではない。これらがどこにあるかが重要なものではないことから、コンピューティング装置１１０に存在するソフトウェアエージェント３６５、ＭＡＳ３７５、およびポートマネージャ３７７が複数あるものもあれば、全くないコンピューティングデバイス１１０もあってよいことに留意されたい。少なくとも１つのコンピューティング装置１１０に、自動化したＭＥＳ１３７およびＡＭＨＳ１３８（図１の初めに示す）の制御システムのソフトウェア構成要素１４１、１４２がそれぞれ存在する。ソフトウェアエージェント３６５、ＭＡＳ３７５、およびポートマネージャ３７７と同様に、ソフトウェアコンポーネント１４１、１４２はプロセスフロー１００内のどこにでも存在してもよい。
【００２８】
図１〜図３を参照すると、ソフトウェアエージェント３６５はそれぞれ、ロット１３０、プロセスツール１１５、あるいはプロセスリソース１５０などの、ある「製造ドメインエンティティ」である。ソフトウェアエージェント３６５が代わりにアクティビティをスケジューリングし、製造プロセスを介してウェハ１３５のロット１３０の進行を制御する。これらの目的を達成しやすいようにするため、ソフトウェアエージェント３６５は、ＭＥＳ１３７およびＡＭＨＳ１３８のソフトウェア構成要素１４１、１４２、およびプロセスツール１１５と連携する。このようなインターフェース及びインテグレーションの手法は、ＭＥＳ１３７、ＡＭＨＳ１３８、およびその他の設備制御システムの構成や構造により、実装に応じて個々に定まるものである。
【００２９】
全体として、ソフトウェアエージェント３６５は特に、各ロット１３０に対して、搬送および要求されたサービスを含む、特定の能力を備えたプロセスツール１１５で１つ以上の処理動作を予めスケジューリングする。これには、接近するロット１３０を待機することとは対照的に、未完成のバッチを走行させること、および仕様に対応するように、便宜的な予防メンテナンス（「ＰＭ）」または認定テスト（「Ｑｕａｌｓ」）をスケジューリングすることなど、最適な決定を行うことを含む。ソフトウェアエージェント３６５は、活動をスケジューリングし、スケジューリングした活動（ロットの搬送や処理など）の実行を始動し、設備状態、予約状態、およびスケジューリングした活動に関連する設備のアラーム状態を監視し、スケジューリングした活動あるいはスケジューリングしていない活動から生じる状態の変化に対応する。
【００３０】
ソフトウェアエージェント３６５は、ロット１３０をプロセスツール１１５で処理するために、および、処理に間に合うように要求された材料を搬送するためにスケジューリングする。したがって、スケジューリングされる予約には少なくとも２つのタイプがある。それらは、処理予約およびムーブ予約であるが、ほとんどの実施形態では、その他のタイプの予約を用いている。ソフトウェアエージェント３６５による材料搬送のスケジューリングは、この特定の実施形態では、「プロセスフローの材料搬送をスケジューリングする」（図２の２０３）ことである。
【００３１】
ソフトウェアエージェント３６５は、１つ以上の処理動作を予めスケジューリングする。つまり、ソフトウェアエージェント３６５は、現行の処理動作または材料搬送が完了するのを待たずに、次の材料搬送または処理動作をスケジューリングする。通常、ソフトウェアエージェント３６５は、いくつかの処理動作を予めスケジューリングし、材料搬送は、スケジューリングした処理動作の要求に対応するようにスケジューリングされる。しかし、予めスケジューリングされた処理動作の正確な数は、処理されるロット１３０の優先順位、先行するプロセス制御に関しての考慮事項、および、バッチ処理を予め生成しておくこと、等の要因によって変わる。
【００３２】
「予約（appointment）」とは、あるアクティビティが発生するようにスケジューリングされたある特定の時間間隔のことであり、予約開始時間（「ＴＳ」）と予約終了時間（「ＴＥ」）によって決定される。予約は典型的に「コミットメントウインドウ」（「ＣＷ」）内で定義される。コミットメントウインドウとはタイムウインドウのことであり、このコミットメントウインドウにおいて、プロセスツール１１５は、最も早い処理開始時間（「ＥＳＴ」）と最も遅いデリバリ時間（「ＬＤＴ」）によって決定される「予約」に対応する。以下に更に説明しているように、全種類の予約がコミットメントウインドウを備えているわけではない。しかし、各予約に対して、カレンダー６７０は、適用できる場合は予約［ＴＳ，ＴＥ］およびそのコミットメントウインドウ［ＥＳＴ，ＬＤＴ］の両方を格納する。例示の実施形態では、この格納された情報はビッドを形成する際に用いられる。
【００３３】
図４は、複数のプロセスツール１１５でのロット１３０の処理予約に関連した情報を格納するカレンダーを概念的に示す。図４において、ロット１３０は、プロセスツールＴ１−Ｔ４に対してブッキングされた処理予約ＡＰＰ１−ＡＰＰ４をそれぞれ有する。したがって、ロット１３０に対するカレンダリング情報は以下のとおりである。
T1:APT1[t4,t5],CW1[t1,t8]
T2:APT2[t6,t9],CW2[t3,t13]
T3:APT3[t11,t12],CW3[t7,t15]
T42:APT4[t14,t16],CW4[t10,t19]
重複しているコミットメントウインドウはいくつがあるが、予約はどれも重複していない点に留意されたい。
【００３４】
これまでに説明したように、全ての種類の予約が「コミットメントウインドウ」を備えているわけではない。例えば、例示の実施形態では、処理予約を行き来する材料搬送のためのムーブ予約は、コミットメントウインドウではなく、処理時間（duration）だけを備えている。しかし、別の実施形態では、ムーブ予約を実行できるコミットメントウインドウを用いてもよい点に留意されたい。また、カレンダー４００は、予約ＡＰＴ１−ＡＰＴ４を行き来する、材料搬送のためのムーブ予約Ｍ１−Ｍ６を含む。ムーブ予約は、処理時間および搬送開始時間、搬送デリバリ時間、あるいはその両方によって決定される。典型的に、ムーブ予約（例えば、ムーブ予約Ｍ１）のために運搬具を運搬待機状態にする所定の時間は、予約終了時間に対して決定される。これとは反対に、ロット１３０をプロセスツール１１５のポート１４０から取り除くムーブ予約（ムーブ予約Ｍ２）は、予約開始時間に対して決定される。
【００３５】
以下に詳述しているように、ある処理予約の直前のムーブ予約の予定搬送終了時間と、この処理予約の予定開始時間とは同じである。バッファツールの場合は例外である。バッファツールは、処理予約の前にプロセスツール１１５をロードする前処理つまりキャリアインオペレーション（carrier-in operation)を必要とするものである。この場合は、ムーブ予約の予定搬送終了時間と、このキャリアイン予約の予定開始時間とが同じである。つまり、ムーブ予約Ｍ１−Ｍ４の終了予定時間に、それぞれ次の処理予約ＡＰＴ１−ＡＰＴ４（あるいは、ある場合では（複数の）キャリアイン予約）が開始するよう予定されている。
【００３６】
同様に、ある処理予約の直後のムーブ予約は、この処理予約の終了予定時間に開始する予定になっている。この場合も、バッファツールの場合は例外である。バッファツールは、処理予約の後にプロセスツール１１５をアンロードする後処理つまりキャリアアウトオペレーション（carrier-out operation)を必要とするものである。この場合は、ムーブ予約の予定搬送開始時間と、キャリアアウト予約の予定終了時間とが同じである。つまり、ムーブ予約Ｍ２−Ｍ５の開始予定時間に、処理予約ＡＰＴ１−ＡＰＴ４（あるいは、ある場合では（複数の）キャリアアウト予約）が終了するよう予定されている。しかし、ある実施形態では、処理予約の前に到着時間の設定ができ、この処理予約では、材料が処理のために所与のプロセスツール１１５に運ばれる時間を決定する。
【００３７】
予約をスケジューリングする多くの技術は当業者に周知であり、任意のそのような技術を用いることができる。しかし、１つの特定の実施形態では、予約は、フローティングマーケットモデルアプローチ(floating market model approach)のコントラクトネットネゴシエーションプロトコル(contract net negotiation protocol)用いてスケジューリングされる。コントラクトネットネゴシエーションプロトコルのフローティングマーケットモデルでは、ソフトウェアエージェント３６５によって始動される活動のスケジューリングは、コントラクトネットネゴシエーションプロトコルの処理に関連するバジェット（予算）、コスト、比率（ratio）を中心に展開する。リソースを割り当てるためのコントラクトネットネゴシエーションプロトコルの実行を促進させるためには、フローティングマーケットモデルアプローチをとるように、予算、コスト、比率の組合せが用いられる。
【００３８】
予算、コスト、および比率の組合せは、「望ましい」挙動、例えば、期日に間に合うこと、機械を効率的に利用することなどを助長するように構造化される。より具体的には、ソフトウェアエージェント３６５が処理サービスを得るために使用する「バジェット（予算）」がロット１３０に割り当てられる。同様に、プロセスツール１１５は、対応付けられた処理サービス、例えば、処理時間に対して、消費者に請求する。ロット１３０が支払う意志のあるバジェットの量は、どのくらいの程度著しくロットがスケジュールを続行させる必要があるかに応じ、プロセスツール１１５によって請求される量は、どのくらいの程度著しくプロセスツールがスケジュールを満たすことを必要とするかに応じる。ロット１３０は、優先順位や遅れなどの選択された要因に応じて、ある程度積極的にサービスを獲得する。プロセスツール１１５は、カレンダーにおける混雑レベルなどの多数の要因に応じて、ある程度積極的にこのようなサービスを提供する。協力して、処理サービスの消費者および提供者のためのソフトウェアエージェント３６５は協働し、適時に効率的な方法でプロセスフロー１３０を介してロット１３０を進行する。
【００３９】
図６は、プロセスフロー１００の処理予約の交渉およびスケジューリングを示しており、また、処理予約に対応するムーブをスケジューリングすることを含む。例示の実施形態では、プロセスフロー１００は少なくとも２種類のソフトウェアエージェント３６５を含み、それらは、
・スケジューリング目的でロット１３０に対応付けられたロットスケジューリングエージェント（「ＬＳＡ」：lot scheduling agent）６０５と、
・スケジューリング目的でプロセスツール１１５に対応付けられた機械スケジューリングエージェント（「ＭＳＡ」）６１０である。図示していないが、例示の実施形態はまた、その他の種類のエージェントを含む。
【００４０】
例えば、例示の実施形態は、あるプロセスリソース（例えば、レチクル、ダミーウェハ、キャリア、ＷＦＴ、メンテナンス技術者）に対応付けられたリソーススケジューリングエージェント（「ＲＳＡ」、図示せず）を含む。例示の実施形態はまた、それぞれのプロセスツール１１５でのスケジューリング目的でツールＰＭおよびＱｕａｌ（いずれも図示せず）に対応付けられたＰＭスケジューリングエージェント（「ＰＭＳＡPM （scheduling agents）」、図示せず）を含む。ＰＭＳＡは、定期的に行われるメンテナンスと、必要であれば、認定プロシージャとをスケジューリングし、プロセスツール１１５を正常に運転できる状態にしておく。ロット１３０、プロセスツール１１５、リソース、およびＰＭとＱｕａｌはすべて、スケジューリングされた活動の始動時間になったときに制御を渡す対応する「処理」エージェントを有する。ロット処理エージェント（「ＬＰＡ」）６９５以外の処理エージェントは図示していない。
【００４１】
プロセスフローのあるエンティティに代わってスケジューリングする各ソフトウェアエージェント３６５は、例示の実施形態の予約のカレンダー、例えば、図４のカレンダーを維持する。例えば、ＬＳＡ６０５はカレンダー６８５を維持し、ＭＳＡ６１０はカレンダー６７０を維持する。同様に、ＰＭおよびＱｕａｌもまた、ＰＭおよびＱｕａｌカレンダー（図示せず）でのプロセスフロー１００のプロセスツール１１５のＰＭおよびＱｕａｌをスケジューリングするスケジューリングエージェント（図示せず）を有する。任意の所与のカレンダーにスケジューリングされる予約のタイプは、対応付けられたカレンダーを維持しているソフトウェアエージェント３６５のエンティティの性質に依存するところが大きい。したがって、ＬＳＡ６０５はカレンダー６８５を維持し、各ロット１３０に対する処理予約、例えば、図４の処理予約ＡＰＰ１−ＡＰＰ４だけではなく、ムーブ予約、例えば、同じく図４のムーブ予約Ｍ１−Ｍ６などもそのカレンダー内に記録する。しかし、ＰＭ、Ｑｕａｌ、およびプロセスツール１１５のカレンダー上に示されるＰＭおよびＱｕａｌ（図示せず）の予約は、ＬＳＡ６０５によって維持されるカレンダー６８５上には示されない。
【００４２】
より詳細には、ＬＳＡ６０５は、プロセスフロー１００の特定のロット１３０の代わりに現在と将来のタスクをスケジューリングする役割を果たす。これらのタスクとしては、生のシリコンから特定の半導体製品にロット１３０を変形するために求められる材料取扱いおよび製造処理が挙げられる。ＬＳＡ６０５はスケジューリングされたタスクを追跡するためにカレンダー６８５を利用する。カレンダー６８５は、予約６７５などの順序付けられた予約の集まりを含む。これらの予約は、タスクが求める処理サービスを提供することになるＬＳＡ６０５によってスケジューリングされたアクティブなタスクと将来のタスクとに対応付けられる。ＬＳＡ６０５のカレンダー６８５は各種の予約を含んでもよい。それらは、ロット処理予約、キャリアイン予約、キャリアアウト予約、ムーブ予約、フィーダー予約、およびマキシマムムーブ予約である。ＬＳＡ６０５によってスケジューリングされる予約のタイプおよびその簡単な説明を表１（ＬＳＡによりブッキングされる予約）にまとめる。これらの各種予約タイプには異なる属性が含まれるが、共通している属性もある。それらは、予約開始時間、予約終了時間、タスクがどのくらいの時間を必要とするかに関しての予測処理時間、および予約状態、である。
【表１】
2008521129.tif 000003
【００４３】
ＭＳＡ６１０もまたプロセスツール１１５のコミットメントに対応づけられた予約、例えば予約６７６を維持し、処理サービス、つまり、処理時間を提供する。カレンダー６７０でＭＳＡ６１０によってスケジューリングされた予約のタイプを表２（ＭＳＡによりブッキングされる予約）に説明する。ムーブ予約はない点に留意されたい。材料搬送のためのムーブ予約はＬＳＡ６０５のスケジューリングを明示的に制約している。これは暗示的に、つまり、間接的にＭＳＡ６１０によるスケジューリングを制約しているだけである。しかし、カレンダー６７０でＭＳＡ６１０によってスケジューリングされたロット処理予約は、カレンダー６８５でＬＳＡ６０５によってスケジューリングされが処理予約６７５に対応する点に留意されたい。
【表２】
2008521129.tif 000004
【００４４】
図１のポート１４５あるいはプロセスリソース１５０、１５５などから、機械ポート（例えば、図１のポート１４５）までのＬＳＡ６０５のムーブ予約のスケジューリングは、このムーブ予約後に処理予約を実行するようにスケジューリングされたＭＳＡ６１０によって実質的に影響を受ける。ＭＳＡ６１０はカレンダー上に対応の処理予約６７６を有する。ＭＳＡ６１０は以下に更に詳述するやり方でポートリザベーションをスケジューリングする。ＭＳＡ６１０がＬＳＡ６０５のためにポートをスケジューリングすると、ＭＳＡ６１０は処理予約の２つの属性をアップデートする。ポート割当て属性およびポート使用可能時間属性は、ポートがスケジューリングされるとアップデートされる。まず、ポートは、処理予約がスケジューリングされたときに予約されるが、後でＭＳＡ６１０によって修正され得る。ムーブ予約は、ポートが使用可能なときにロット１３０をポートに運ぶようにスケジューリングされる。よって、ＭＳＡ６１０は、プロセスツール１１５のポートの管理を通じてムーブ予約のスケジューリングに影響を及ぼす。
【００４５】
ＭＳＡ６１０によるポートのスケジューリングは、ＭＳＡ６１０が対応付けられた機械の機械タイプによって影響を受ける。機械タイプによって設定できるプロパティは、ロット１３０がその処理予約の前にポートに到着できる最短時間を特定する。ロットを非常に早く処理する機械タイプに対しては、この値はより大きな値に設定され、このタイプの機械をフィードし続ける。よりゆっくりと処理を行うマシンタイプに対しては、この値がより小さな値に設定され、スケジューリングの柔軟性を高めるとともに、機械ポートを不要に利用しないようにする。実際、ポートの使用可能時間は、処理予約に「ジャストインタイム」、即ちちょうどその時間に使用可能となるようにも、また、処理予約よりもかなり前の時間から使用可能とするようにも設定可能である。これらの属性およびこれらの属性に対するその後の修正を受けて、ＬＳＡ６０５はムーブ予約開始時間と宛先ロケーションとをスケジューリング／リスケジューリングする。
【００４６】
例示の実施形態では、ＬＳＡ６０５は、異なるタイプの予約をスケジューリングし操作するために、「ヘルパー」スケジューリングクラスオブジェクトを生成し利用する。このようなヘルパークラスオブジェクトの一例としては、図３に示すＭＡＳ３７５が挙げられる。さらに詳しく言えば、ＭＡＳ３７５は、ムーブ予約およびマキシマムムーブ予約をスケジューリングし操作する。ムーブ予約は、特定の「ソース」ロケーションから特定の「宛先」ロケーションまで、ロット１３０あるいはロット１３０を含む運搬具１６０をムーブあるいは搬送するタスクである。ソースあるいは宛先であってよいロケーションの例としては、特定の機械ポート、ＷＩＰスタッカー、ＷＩＰラック、ウェハソータ、アンダートラックストレージ（「ＵＴＳ」：under-track storage、「ゼロフットプリントストレージ」と呼ぶこともある）が挙げられる。
【００４７】
ＭＡＳ３７５の実装は、ＡＭＨＳ１３８の実装とデータストア６９０においての対応付け（representation）に依存してその実装ががなされる。例えば、ＡＭＨＳ１３８は、インターベイ即ちベイ間で行われても良く、あるいはイントラベイ即ちベイ内で行われてもよい。これにより、上述したように、異なるタイプのシステムによって、ＭＡＳ３７５の材料搬送セットも違ってくる。プロセスフロー１００とＡＭＨＳ１３８の実行に対するＭＡＳ３７５の固有の実装は、本発明の恩恵を有する当業者には明らかであろう。例えば、材料搬送をスタッカーからスタッカーへの「ベイ間」として、あるいは、スタッカーからスタッカー以外である「ベイ内」として分類することができる。よって、ベイ間とベイ内の材料搬送は別々の方法で実行され得る。しかし、自動化のレベルに応じて、ＡＭＨＳ１３８の全ての実行がベイ間およびベイ内の材料搬送を両方とも含んでいるわけではない。よって、ＭＡＳ３７５の実行もまたＡＭＨＳ１３８の実行に依存する。
【００４８】
ムーブ予約は、例示の実施形態においては、ソフトウェアエージェント３６５の観点から比較的細かくなされているが、他の実施形態では粗くてもよい。例えば、ロットをポイントＡからポイントＣに搬送する必要があれば、（ポイントＡからポイントＣまでの１つの予約ではなく）ポイントＡからポイントＢまでに１つの予約があり、ポイントＢからポイントＣまでに別の予約がある。ムーブ予約は、ソースロケーションおよび宛先ロケーションの値に応じて、ベイ間の材料搬送あるいはベイ内の材料搬送であってよい。両方のロケーションがＷＩＰスタッカーであれば、材料搬送はベイ間とされ、そうでなければ、材料搬送はベイ内とされる。
【００４９】
例示の実施形態では、ＬＳＡ６０５は少なくとも３タイプの文脈においてＭＡＳ３７５を用いる。まずは、ムーブ予約および処理予約のスケジューリングが定常状態条件のもとで発生する「一般的スケジューリング」である。２つ目は、スケジューリングがプロセスフロー１００の初期化中に発生する「初期スケジューリング」である。３つ目は、スケジューリングがプロセスフロー１００のあるイベントに対応して発生する「リアクティブ（対応型）スケジューリング」である。
【００５０】
より詳細には、ＬＳＡ６０５がロット処理予約をスケジューリングするときに、ＬＳＡ６０５は、ロット１３０を現在のロケーション（あるいは現在のロケーションがトランジット状態であれば、宛先（分かっていれば））から、ロット処理予約がすでにスケジューリングされているプロセスツール１１５まで搬送するためのムーブ予約をスケジューリングするために、ＭＡＳ３７５を利用する。本文中では、これを「一般的スケジューリング」と呼ぶ。つまり、設備の状態が周知であり、その知識に基づいてスケジューリングが行われる。
【００５１】
また、ＬＳＡ６０５および様々なヘルパースケジューリングクラスは、ロットに影響を及ぼす設備状態の変化に対応し、サービスプロバイダーエージェントによって始動される予約の変化に対応し、また、アラームイベント（予約がその予定終了時間を越えていることを示すアラームイベントなど）に対応する。ＭＡＳ３７５は、これらの状態に対応して、ムーブ予約を操作するために利用される。本文中では、これを「リアクティブ」スケジューリングと呼ぶ。
【００５２】
プロセスフロー１００の全てあるいは一部が何らかの理由で停止すると、プロセスフロー１００はバックアップ初期化される。この初期化の一環として、各種のロット１３０がどこにあるか、プロセスツール１１５は現在何をしているか、などの設備状態が判断される。１つ以上のロット１３０の搬送と適切なムーブ予約のスケジューリングが求められ得る。本文中では、これを「初期スケジューリング」と呼ぶ。
【００５３】
例示の実施形態では、ＬＳＡ６０５は、ＭＳＡ６１０にビッドリクエスト６２５を発行することによって、一般的スケジューリングセッションで交渉を開始する。各認証されたプロセスツール(qualified process tool)１１５のＭＳＡ６１０は、ロット１３０を処理するためにＬＳＡ６０５に１つ以上のビッド６６０をサブミットする。ＬＳＡ６０５はビッド６６０の１つを受け取る。次に、ＬＳＡ６０５は、ＭＳＡ６１０へのメッセージ６６５で選択ビッド６６０を確認する。ＭＳＡ６１０は選択ビッド６６０をカレンダー６７０で有効にする。つまり、選択されたビッドが未だに実行可能であることを保証する。ＭＳＡ６１０は、選択ビッド６６０のスロットがまだクリアであるかを確認し、予約６７５をスケジューリングし、ビッド確認メッセージ６８０をＬＳＡ６０５に送る。次にＬＳＡ６０５は、自身のカレンダー６８５に予約６７５をスケジューリングする。スケジューリングされた処理予約の開始時間になったときに、スケジューリングエージェント６０５、６１０は、それぞれの処理エージェント、ＬＰＡ６９５に制御を渡す。１つの予約が完了すると、ＬＳＡ６０５およびＭＳＡ６１０は、次の予約を開始する時間であればそれぞれ次の予約を開始する。次の予約を開始する時間でなければ、ＬＳＡ６０５、ＭＳＡ６１０はアラームを設定し、アラームが発するのを待つ。このようにして、次の予約の開始時間が示される。
【００５４】
このようにして、処理予約、例えば、処理予約６７５、６７６がカレンダー（例えば、カレンダー６８５、６７０）に予約され、各スケジューリングエージェント（例えば、スケジューリングエージェント６０５、６１０）によって維持される。処理予約６７５が予約されるときはいつでも、ＬＳＡ６０５はロット１３０を新たに予約された処理予約６７５に関連づけられたプロセスツール１１５のロケーションにムーブするためのムーブ予約をスケジューリングする。例えば、図１および図６の両方を参照して、第１プロセスツール１１５で処理中のロット１３０がポート１４０から出て、スケジューリングされた処理予約６７５のために第２プロセスツール１１５のポート１４５に置かれなければならないとする。各ＬＳＡ６０５は、この目的に必要なそれぞれのＭＡＳ３７５を有する。ＭＡＳ３７５は、ロット１３０をソースロケーションと宛先ロケーション間（例えば、ポート１４０からポート１４５までの第１および第２プロセスツール間）に搬送する予約をスケジューリングする。
【００５５】
本願の開示内容を利用できる当業者らによって認識されるように、プロセスフロー１００は多数の処理コンポーネントを含む。多数の処理コンポーネントのうち、ストッカー、ウェハソータ、アンダートラックストレージ、および、未完成品（「ＷＩＰ」）ラックを図示する。例えば、図１は３つのプロセスリソース１５０、１５５ａ、１５５ｂを示す。ＭＡＳ３７５は、ロット１３０を確認された処理予約６７５に間に合わせるために、あるいは、必要に応じて、処理予約６７５に関連付けられた先行するキャリアイン予約に間に合わせるために求められる適切な材料搬送を判断する。
【００５６】
これを行うために、ＭＡＳ３７５はデータストア６９０からロット１３０の現在のロケーション（処理予約が次の予約の場合）あるいは予測されるロケーション（処理予約が１つ以上のプロセス動作の前の場合）を獲得する。これは図１のコンピューティングシステム１２５の一部である。データストア６９０は周知の任意の適切な構造であってもよい。また、実際には複数のデータ構造（図示せず）を含み得る。データストア６９０は、設備の自動制御において利用される多種多様な情報を格納するために用いられ、
・各種の機器間の関連性、例えば、プロセスツールに対する最も近いストッカーの関連性、
・ｆａｂにおけるある特定のイベントの処理時間、例えば、スケジューリングされたプロセス動作の処理時間、あるいは１つのロケーションから別のロケーションへの材料搬送の処理時間、
・ある特定の製造ドメインエンティティのロケーション、例えば、ロットあるいは可動性リソースのロケーション、
および、
設備の状態などの情報を含む。
したがって、データストア６９０は、ＡＭＨＳ１３８の定義と状態、および、設備全体の状態を示すデータを含む。
【００５７】
その結果、データストア６９０は、ロット１３０を含むキャリア（図示せず）の現在のロケーションなどの情報を含む。また、データストア６９０は、ＡＭＨＳ１３８を通じて様々な処理ステーション１０５の関係を示すデータを含む。これは、別のポイントからプロセスフロー１００の１つのポイントに到達するために必要な材料搬送を判断できるようにするためである。ソースロケーション、宛先ロケーション、および予約の開始時間に基づいて、ＭＡＳ３７５は適切な材料搬送を判断し、ＬＳＡ６０５のカレンダー６８５にムーブ予約をスケジューリングする。
【００５８】
例示した実施形態では、ＭＡＳ３７５は「ジャストインタイム」にムーブ予約をスケジューリングする。現在の処理予約が完了に近づくと、ＬＳＡ６０５は典型的にＭＡＳ３７５を呼び出す。すでに説明したように、ＬＳＡ６０５は、「次の」処理予約６７５を予めスケジューリングする。ＭＡＳ３７５はこの次の処理予約６７５（あるいは、必要に応じて、次の処理予約６７５に関連づけられたキャリアイン予約）のために必要とされる材料搬送をスケジューリングする。
【００５９】
ＭＡＳ３７５は、現在の処理予約が処理したロット１３０をポート１４０から出し終えた直後に、あるいは少なくともできる限り早く開始するよう、材料搬送をスケジューリングする。処理が完了するとすぐに、ロット１３０をプロセスツール１１５のポート１４０から出し、別のロット１３０がプロセスツール１１５のポート１４０を遅延することなく利用できるようにすることが望ましい。アンローディングが必要なバッファプロセスツール１１５の場合は、ＭＡＳ３７５は、処理予約ではなくてキャリアアウト予約が完了後に開始するように材料搬送をスケジューリングする。
【００６０】
しかし、ある場合では、次のイベントによって無効にされるおそれのある偽の搬送を回避すべく、宛先ロケーションへの残りの材料搬送を遅延させてもよい。例えば、ムーブ予約に関連付けられた処理予約がキャンセルされる場合もあり、この場合はできるだけ早い時期に材料搬送を開始するのは望ましくない。また、ポートの割当てにおいて、例えば、より優先順位の高いロットがポートをすぐに必要とする場合において柔軟性を保つためにも、遅延は望ましい。さらに、ポートが込み合っていることもあり、ポートがクリアになるのを待つための遅延もまた望ましい。
【００６１】
上記に示しているように、プロセスツール１１５には、「ローディング」および「アンローディング」を必要とするタイプがある。これらのプロセスは「キャリアイン」および「キャリアアウト」とも呼ばれる。つまり、ロット１３０は、到着時および処理の前にプロセスツール１１５にロードされなければならない。また、典型的に、ロット１３０は処理の完了後にアンロードされなければならない。従って、この場合、ＭＡＳ３７５は、ロット１３０が処理前にロードされるようよう、「ジャストインタイム」にプロセスツール１１５に到達できるように材料搬送をスケジューリングする。キャリアインおよびキャリアアウト予約は、ＭＳＡ６１０からＬＳＡ６０５へのビッド確認メッセージ６６５で処理予約とともに戻される。ＭＳＡ６１０がこれらの予約を戻す前に、ＭＳＡ６１０はツールロードリソースに対応付けられたＲＳＡ（図示せず）と交渉する必要がある。これらの交渉は、図６で説明した上記のＬＳＡ６０５とＭＳＡ６１０間と同じ方法で実行される。
【００６２】
従って、ＬＳＡ６０５とＭＳＡ６１０間の交渉では、ＭＳＡ６１０は処理予約６７５の他に、必要とされ得る任意の関連付けられたキャリアイン／キャリアアウト予約を含む。実際に、ＬＳＡ６０５およびＲＳＡはそれぞれのカレンダー上で、ロット１３０およびツールロードリソース（図示せず）のキャリアイン／キャリアアウト予約（図示せず）をそれぞれスケジューリングする。よって、プロセスツール１１５がローディングを必要とすれば、ＭＡＳ３７５は処理ではなくローディングに間に合うよう、ロット１３０のムーブ予約をスケジューリングする。
【００６３】
この特定の実施形態におけるムーブ予約は比較的細かく段階的に分けられており、いわゆるグラニュラリティ（粒度）が細かくなっている。例えば、実装に依存して、図１の第１プロセスツール１１５から第２プロセスツール１１６までの材料搬送は、ポート１４０から第１プロセスツール１１５に最も近いソーススタッカー１５５ａ、ソーススタッカー１１５ａから宛先スタッカー１５５ｂ、および、宛先スタッカー１５５ｂから第２プロセスツール１１５のポート１４５、を含み得る。データストア６９０の情報によって判断されるように、ソーススタッカー１５５ａおよび宛先スタッカー１５５ｂは典型的に、ソースロケーションおよび宛先ロケーションにそれぞれ最も近い使用可能なスタッカーである点に留意されたい。しかし、例示の実施形態では、ムーブ予約はソースロケーション（例えば、ポート１４０）から宛先ロケーション（例えば、ポート１４５）あるいは宛先ロケーションに最も近いプロセスリソース（例えば、アンダートラックストレージ）までスケジューリングされる。ムーブ予約が直接的に宛先ロケーションに向かうか、あるいは宛先に最も近いプロセスリソースに向かうかどうかは、時間（例えば、現在の時間、次の処理予約の開始時間など）、搬送処理時間、およびポートの使用可能性などの多数の実装固有要因に応じる。
【００６４】
この文脈において、ポート１４０は「ソースロケーション」、ポート１４５は「宛先ロケーション」と考えられる。ロット１３０は、予約した処理予約に間に合うように、これらのロケーション間に搬送される必要がある。ソースロケーションおよび宛先ロケーションは、ＡＭＨＳ１３８あるいはプロセスフロー１００の任意の構成要素であってよい。したがって、プロセスツールポート１４０、１４５ではなく、図示していないが、スタッカー、ウェハソーター、アンダートラックストレージ、および未完成品（「ＷＩＰ」）ラックなど、任意の数の処理コンポーネントが存在してもよい。このレベルで段階的に分けることで、データストア６９０のＡＭＨＳ１３８の記載に基づいて、ＭＡＳ３７５の任意の所与の実行ができる。
【００６５】
材料搬送がスケジューリングされると（図２、２０３）ＬＳＡ６０５は運搬具（例えば、図１の運搬具１６０）を運搬待機状態にするようリクエストし（図２、２０６）、材料搬送の前に所定の期間材料を搬送する。図５に示すカレンダー５００の予約Ａｐｐ１が、図１に示すプロセスツール１１５で現在のところ活動的に処理を行っているものとする。予約Ａｐｐ１には予定終了時間があり、これにより、対応付けられたプロセス動作がいつ終了するかについて、幾分かの正確性が与えられる。図１および図５に示しているように、次のムーブ予約Ｍ２は、予約Ａｐｐ１が処理したロット１３０をポート１４０から出し終わる予定の時間と同時に開始する予定となっている。
【００６６】
予約Ａｐｐ１が予約されると、ＬＳＡ６０５は処理予約Ａｐｐ１が終了する前に所定の期間アラーム６９７を設定する。
【００６７】
処理予約Ａｐｐ１の終了時間とムーブ予約Ｍ２の開始時間とは同じである点に留意されたい。例示の実施形態では、所定期間は、従来の時間の単位、つまり、分や秒で決定される。所定期間はデータストア６９０に存在する工場の数的指標(factory metrics)から算出される、あるいは取り出される。ある実施形態では、データストア６９０に存在する１つの数的指標は、運搬具１６０をプロセスフロー１１０の複数の所与のポイントの各々に運搬待機状態にするために要する予測時間である。
【００６８】
ストレージ６９０に存在する数的指標は、所定の時間の実際の単位でなくてもよい。例えば、数的指標が、運搬具１６０をプロセスフロー１００の特定の宛先プロセスツール１１５に運搬待機状態にするために要する時間の単位であるとする。ある所与の実施形態が、予定した材料搬送にちょうど間に合うように到着するように運搬具１６０を運搬待機状態にする場合、所与の時間は取り出された数的指標設定される。しかし、材料搬送の開始時間よりも前に到着するように運搬具１６０を運搬待機状態にする実施形態もあり得る。ある実施形態は、材料搬送の開始に対して運搬具１６０を３５秒間待たせるとする。そのため、所定の時間は取り出された数的指標プラス３５秒に設定される。
【００６９】
ある実施形態は、従来とは異なる基準で所定の期間を決定する点に留意されたい。例えば、例示の実施形態は予約に様々な「状態」を割り当てる。予約Ａｐｐ１などの処理予約は、「活動」状態から「ほぼ完了」状態までの遷移を含む。例えば、１５分のプロセス動作では、動作開始時に「活動」状態に遷移し、動作開始から１３分が経過した時点で「ほぼ完了」状態に遷移し得る。この遷移ポイントは、プロセス動作の関数となる。しかし、この目的のために、所定期間はプロセス動作「活動」状態から「ほぼ完了」状態に遷移する時間として決定される。
【００７０】
アラーム６９７が発すると、ＬＳＡ６０５にムーブ予約Ｍ２の始動を促進する。ＬＳＡ６０５はＡＭＨＳ１３８にメッセージ６９９を送信し、ＡＭＨＳ１３８にムーブ予約Ｍ２の開始時間を知らせる。ムーブをリクエストするメッセージ６９９は、ムーブ予約の開始時間に加えて、ムーブされる材料、搬送のソースロケーション、および、搬送の宛先ロケーションの確認を含む。ＡＭＨＳ１３８はメッセージ６９９を受信すると、運搬具１６０を運搬待機状態にする。
【００７１】
よって、上述の所定期間に送信されたメッセージ６９９は、運搬具１６０を運搬待機状態にするリクエストとしても機能し得る。換言すれば、ＡＭＨＳ１３８はメッセージ６９９から運搬待機状態のリクエストを推測し、メッセージ６９９は、運搬具１６０を運搬待機状態にするという暗示的なリクエストとなる。よって、本実施形態では、ＬＳＡ６０５はメッセージ６９９を通じてＡＭＨＳ１３８に通知することで運搬具の運搬待機状態をリクエストし、（図２、２０６）材料搬送が開始される。従って、この特定の実施形態は、運搬具の運搬待機状態（図２、２０６）は材料搬送の一部であると見なされる。しかし、本発明はこのように限定されるものではないことに留意されたい。他の形態では、ＬＳＡ６０５は例えば、運搬具を運搬待機状態にするために（図２、２０６）エクスプレスリクエスト（express request)を送信する目的だけでアラームを設定してもよい。このことは、言い換えれば、材料搬送を始動するための通知であるとＡＭＨＳ１３８によって理解され得る。あるいは、他の形態では、ＬＳＡ６０５は運搬待機状態のリクエストをＡＭＨＳ１３８に通知するメッセージ６００を送信し、また、別個のリクエスト（図示せず）を送信して材料搬送が始動される。あとの２つの形態（シナリオ）のいずれにおいても、運搬具を運搬待機状態にする（図２、２０６）時間は、アラーム６９７が発せられる時間に一致し得る点に留意されたい。つまり、ＬＳＡ６０５は、材料搬送の発生予定前に所定の期間アラーム６０７を発するように設定され得る。
【００７２】
上述したように、ロット１３０が実際に搬送できる状態になったときに運搬具が待機していることができるよう、例示の実施形態は運搬具を「ジャストインタイム」に到着するように運搬待機状態にし（図２、２０６）材料搬送を行う。他の実施形態は、運搬具が実搬送のために到着し、ロット１３０を待つことができるよう、タイミングに特別のマージンを与えてもよい。このようなマージンは、運搬待機状態にする間に発生する予期しない遅延をオフセットするのが望ましい。また、ロット１３０が次のプロセス動作のために最大の待ち時間にさらされる場所では、この特別のマージンは、最大の待ち時間を越えた違反とならないように望ましいものとされる。次に、材料搬送が従来のやり方で実行され得る。
【００７３】
例示の実施形態では、スケジューリング予約にはブッキングされた予約の管理を含む。また、すでに述べたように、ＬＳＡ６０５は「リアクティブスケジューリング」のためにＭＡＳ３７５を呼び出す。ブッキングされた予約は、新たな予約のスケジューリングに対応するよう、また、予期しない展開に対応するように修正されることがあり、ＭＡＳ３７５は適宜これらのイベントに対応する。ブッキングされた処理予約は、シフト、取消し、キャンセル、および再スケジュールが可能である。これらのこと引き起こす原因となっているイベントには予期しないものもある。例えば、ウェハをベースとした機械は、停止するように予定されていなくても停止することがある。このプロセスツール１１５は、複数のウェハ１３０を処理している途中に停止することがある。その結果、一部のウェハは処理され、一部のウェハは未処理であり、それら全てのウェハがプロセスツール１１５に残る。ロット１３０のＭＡＳ３７５は、それぞれのＬＳＡ６０５が起動すると適切な材料搬送をスケジューリングできなければならない。
【００７４】
別の例として、ブッキングされた処理予約はシフト可能である。これにより、ブッキングされたムーブ予約がシフト可能である。上述したように、各処理予約は「コミットメントウィンドウ」を含む。コミットメントウィンドウは、ＭＳＡ６１０が設備の状態の変更や様々な予約の変更に対応してスケジュールの「最適化」を可能にする柔軟性をＭＳＡ６１０に与える。処理予約は、「糸に通したビーズ」(beads on a string)のように移動するとみることができる。既存の処理予約は、より効率的なスケジュールを生成するために、必要に応じて、それぞれのコミットメントウィンドウ内の時間内で後か前にスライド可能である。例示の実施形態では、論理を簡素化するために、予約は次の予約を越してどちらの方向にもシフトすることができない。
【００７５】
例えば、先の処理予約が早期に完了すれば、処理予約はそのコミットメントウィンドウ内の時間内で前にシフトできる。同様に、先の処理予約の走行が長すぎれば、処理予約は時間内で後にシフトできる。いずれの場合でも、影響を受けたロット１３０のＬＳＡ６０５は、ブッキングされた処理予約が変更されたことをＭＳＡ６１０によって通知される。ブッキングされた処理予約の開始時間と終了時間との差は、スケジューリングされた材料搬送の適切性を変更し得る。例えば、ブッキングされた処理予約がより早期の開始時間に移動されれば、ロット１３０は、現在スケジューリングされている材料搬送によって与えられる時間よりも早く到着しなければならない。これとは反対に、開始時間が遅くなると、ロット１３０をより遅く搬送する必要がある。いずれの場合でも、ロット１３０を正確な時間に到着させるためには、材料を別々に搬送することが適している。このような状況では、ムーブ予約は、関連する処理予約のシフトに応じてシフト可能である。ロット１３０がその宛先ロケーションに到達するように複数のムーブ予約がスケジューシングされてよい点に留意されたい。その結果、ある状況においてシフトすべきいくつかのムーブ予約が存在し得る。
【００７６】
ＬＳＡ６０５は、特に、予約状態の変更を受けるとＭＡＳ３７５を呼び出し、変更された処理予約に関する新たな情報をＭＡＳ３７５に渡す。変更される処理予約が次の処理予約であれば、ＭＡＳ３７５はデータストア６９０からロット１３０の現在のロケーションを検索する。変更される処理予約が将来の１つ以上のプロセス動作であれば、ＭＡＳ３７５は先のムーブ予約の前に、予測されるロット１３０のロケーションを検索する。この検索においては、任意のアクティブムーブ予約の宛先および到着時間などが検索される。ＭＡＳ３７５は、どんなムーブ予約が入れられているのか、また、ブッキングされたもののうち、どの予約が動作中であるのかを判断するために、ＬＳＡ６０５のカレンダー６８５をレビューする。次に、ＭＡＳ３７５は、ムーブ予約が動作しているかどうかに応じて、また、いずれかが動作中であれば、ムーブがすでに開始しているかどうかに応じて作動する。
【００７７】
変更が必要であるとして、ブッキングされたムーブ予約が動作していなければ、ＭＡＳ３７５はその予約をシフトするかキャンセルして別の予約をスケジューリングできる。ブッキングされたムーブ予約は動作中であるが、材料搬送自体は未だ開始していなければ、ブッキングされたムーブ予約をキャンセルし、新しい、より多くのムーブ予約をスケジューリングできる。ブッキングされたムーブ予約が動作中であり、材料搬送自体が実際にすでに開始していれば、ＬＳＡ６０５は複数のアプローチのうちの１つをとることができる。ＬＳＡ６０５は、動作中のムーブ予約での材料搬送が終了するのを待ち、次いで、新たな処理予約開始時間で新たな宛先への新たなムーブ予約の予約を入れる。あるいは、ＬＳＡ６０５は、ＡＭＨＳ１３８に新たな宛先と新たな到着時間とを通知することによって、現在のムーブ予約を変更できる。あるいは、ＬＳＡ６０５は、ＡＭＨＳ１３８に現在のムーブ予約を中途で中止するように通知し、次いで、新たな処理予約開始時間により新たな宛先に新たな予約を予約できる。これらの種類のオプションの選択は、ある程度は、ＡＭＨＳ１３８の特定の実行の能力に応じる。
【００７８】
予約は、それらの処理時間、あるいはそれらの予約の直前の予約の処理時間が予定よりも長いときには、一般的に予約も変更される。ＬＳＡ６０５およびＭＳＡ６１０によってされた予約がアクティブになると、ＬＳＡ６０５およびＭＳＡ６１０は「アラーム」（図示せず）を設定し、それぞれに予約がいつ完了予定であるかを通知する。そのタスクが完了すると、スケジューリングエージェント６０５、６１０は通知を受け、これらのアラームは止められる。アラームが止まれば、スケジューリングエージェント６０５、６１０は、予約がタイムリーに完了しなかったこととスケジュールを調整しなければならないことを知る。図５に１つのこのような状況を示す。さらに詳しく言えば、図５では、ムーブ予約Ｍ１の処理時間は、予定していた処理時間よりも長く、よって、ムーブ予約Ｍ２と予約ＡＰＰ１とは、この長期処理時間に対応するために時間内で後にシフトされた。いずれの場合にも、予定の処理時間よりも処理が長ければ、ムーブ予約Ｍ１を延長するために、ＬＳＡ６０５はＭＡＳ３７５を呼び出す。次に、必要であればＭＡＳ３７５は、シフト、キャンセルおよびその他の予約をリスケジューリングし始める。
【００７９】
直前に示したように、ブッキングされた予約を完全にキャンセルしてもよい。ＬＳＡ６０５は、状態変更のメッセージをＭＳＡ６１０から受信してもよい。このメッセージは、例えば、プロセスツール１１５がスケジューリングされたコミットメントウィンドウ内でブッキングされた予約に間に合うことができなければ、処理予約はすでにキャンセルされていることを示す。ＬＳＡ６０５がこの状態変更メッセージを受信すると、ＬＳＡ６０５はカレンダー６８５からキャンセルされた予約を取り除き、再スケジューリングを始める。また、ＭＡＳ３７５は、関連するムーブ予約を取り除き、キャンセルされた処理予約の再スケジューリングを始める。
【００８０】
ブッキングされた予約がシフト、キャンセル、および再スケジューリングされると、これらの変更がプロセスフロー、特にカレンダーに影響を及ぼし得る点に留意されたい。単一のソフトウェアエージェント３６５によって変更が始められるが、予約のタイプに応じて複数のカレンダーに変更された予約が予約される。例えば、例示の実施形態では、処理予約６７５は、ＬＳＡ６０５によって維持されているカレンダー６８５、および、ＭＳＡ６１０によって維持されているカレンダー６７０の両方に予約される。しかし、ムーブ予約は、ＬＳＡ６０５によって維持されているカレンダー６８５だけに表示される。よって、複数のカレンダーにブッキングされた予約については、変更がその他のソフトウェアエージェントに知らせられる必要があり、そうすることで各予約は各カレンダーをアップデートできる。これは、プロセスフローのその他のタイプのイベントにも当てはまる。
【００８１】
このために、ソフトウェアエージェントは「通知者」(notifier)、「リスナ」として周知の更なるソフトウェア構成要素（図示せず）を用いる。ソフトウェアエージェントは、それらのスケジューリングに影響を及ぼし得るプロセスフローのイベントを追跡するためにリスナを採用する。リスナは設備のイベントやトピックを「サブスクライブ」する。通知者は設備内で変更が生じたときにイベントを「発行」する。次に、リスナは、通知者によって対象とするイベントが発行されたときに、各サブスクライビングソフトウェアエージェント３６５に通知する。選択されたイベントのアイデンティティは実装に依存するが、予約変更３６５は、ほとんどの実施形態で用いられることになる１つの明らかな例である。各種のソフトウェアエージェント３６５は、変更がその他のソフトウェアエージェント３６５によって始められると、各カレンダーをアップデートし続けることができる。また、データストア６９０は、設備の状態を変更する設備内のイベントについての情報を知らせ続けるために多くのリスナを用いる。よって、搬送の必要があるロット１３０の適切な材料搬送とロケーションとを判断するためにＭＡＳ３７５がデータストア６９０にアクセスするときに、設備および設備制御システムの状態を正確に反映することができるように、通知者およびリスナはデータストア６９０のアップデートも行う。
【００８２】
「リアクティブスケジューリング」での通知者とリスナの有用性に加えて、通知者およびリスナを介して設備の状態を維持しアップデートするデータストア６９０の能力は、「初期スケジューリング」で特に有益である。プロセスフロー１００がダウン後に復帰するとき、ソフトウェアエージェント３６５はそれぞれの位置を確認し、それぞれの製造ドメインエンティティがどこにあるか（適用できる場合）、それぞれのドメインエンティティの状態、および、スケジューリングのためにソフトウェアエージェントが何を必要としているかを判断しなければならない。この情報は全てデータストア６９０に保持され、直前に説明した通知者およびリスナのネットワークによって最新の情報が保持される。例えば、ＬＳＡ６０５は、そのロット１３０がプロセスフローのどこのあるのかを判断するためにデータストア６９０にアクセスできる。初期スケジューリングの間、ＬＳＡ６０５は、ある活動が進行中であったことを発見し、その活動の完了に必要な予約をスケジューリングする。ロット１３０を搬送する必要があれば、ＬＳＡ６０５は一般的スケジューリングに関して上述したように、所望の材料搬送をスケジューリングするためにＭＡＳ３７５を呼び出してもよい。初期化する間、ロット１３０が遷移状態にあったなら、ＭＡＳ３７５は搬送を完了できるように進行中のムーブをスケジューリングできる。
【００８３】
上記の記載はソフトウェアエージェント３６５のスケジューリング能力に関連する。また、ソフトウェアエージェント３６５は、スケジューリングに加えて、スケジューリングされた活動の実行を始動する。例えば、スケジューリングされたタスクが実行されると、スケジューリングエージェント、例えば、ＬＳＡ６０５および／またはＭＳＡ６１０は、設備状態変更イベントをサブスクライブし監視する。加えて、スケジューリングエージェントは、対応する予約を備えたエージェントが実際に予約状態変更を初期化する役割を果たし得るということに起因して、予約状態変更イベントを監視する。この監視は、スケジューリングにも利用される上述の通知者およびリスナのウェブを通じて実行される。以下に、予約がどのように活動するか、進行がどのように監視されるか、予約状態がどのように遷移するか、および、スケジューリングされたタスクに対して処理がどのように始動するかについて示した一例を示す。
【００８４】
例えば、処理予約が実行される場合、ＬＳＡ６０５はＭＳＡ６１０によって始動される予約状態の変更を受信することによって予約状態を遷移する。ＭＳＡ６１０は、予約状態を遷移するために、設備状態変更イベント（つまり、処理がすでに開始している、あるいは完了していることを示すイベント）を監視する。スケジューリングされたタスクがすでに完了していることをスケジューリングエージェントが検知すると、スケジューリングエージェントはそのエージェントのカレンダーに関連づけられた予約の状態をアップデートし、かつ、その他の機能を実行することになる。目下の例では、ＬＳＡ６０５は、処理予約がすでに完了していることを示す予約状態変更イベントを受信し、対応する処理予約の状態を「完了」状態にアップデートする。
【００８５】
次に、スケジューリングエージェントは、そのカレンダーにスケジューリングされた次の予約を確認する。例えば、ＬＳＡ６０５は処理予約の直後にスケジューリングされたムーブ予約を有する必要がある。この例では、ムーブ予約は、次の処理予約のために、ロット１３０で処理を実行しているプロセスツール１１５のツールポート１４０のソースロケーションと、処理ツール１１５のポート１４５に最も近いプロセスリソース１５０の宛先ロケーションとを有しているものとする。処理リソース１５０の第２処理ツール１１５に対する関連性はデータストア６９０に記録されているので、ＬＳＡ６０５などによって容易に確認され得る点に留意されたい。
【００８６】
スケジューリングエージェントは次の予約の開始時間を取得することになる。次の予約の開始時間になると、スケジューリングエージェントは、予約の始動を含む多数の機能（以下に記載する）を実行することになる。例では、すでに次のムーブ予約の時間である。よって、ＭＡＳ３７５は、ムーブ予約の状態を「動作中」に変更し、それに対応するロット処理エージェント（「ＬＰＡ」）６９４に通知して、ムーブ予約に関連付けられたタスクの処理を始動する。また、上述したように、ＭＡＳ３７５はＬＳＡ６０５に代わりに、ムーブ予約の開始時間前に、本発明に従うムーブ予約のために運搬具の運搬待機状態をリクエストする（図２、２０６）。この例では、ＬＰＡ６９５は、適切な搬送を始動するために、適切なコマンドを備えたＡＭＨＳ１３８を呼び出す。
【００８７】
次に、ＬＳＡ６０５はムーブ予約の予定終了時間に発せられるアラーム（「終了時間アラーム」）を構築する。このアラームは、材料搬送を完了すべきときを示すためにシステムのアラームクロック（図示せず）に追加される。ＬＳＡ６０５は、上述した設備状態変更イベントを監視するためにサブスクライバを利用する。ムーブ予約を監視する場合は、ロットのロケーションが変更するということは、スケジューリング済みの材料搬送タスクが進行していることを示す。ます、ＬＳＡ６０５は、ロットのロケーションがツールポート１４０から遷移状態にあるロケーションにすでに変更されていることを示す設備変更イベントを受信しなけらばならない。この変更は、ツールポート１４０からロット１３０を含むキャリア（図示せず）を取り除くＡＭＨＳ１３８（あるいは、ＷＦＴ１６５）によって始動される。この点で、ＬＳＡ６０５は、ムーブ予約を動作中の状態から材料搬送が進行中であることを示す「処理」状態に遷移するためにＭＡＳ３７５を呼び出す。対応するＬＰＡ６９５は、この状態変更に関連するタスクが、始動すべきアクションを求める場合に、通知を受ける。
【００８８】
続いて、ＬＳＡ６０５は、ロットのロケーションが遷移状態にあるロケーションからロット１３０を処理したプロセスツール１１５に最も近いプロセスリソース１５０のロケーションにすでに変更されていることを示す設備変更イベントを受信しなければならない。ＡＭＨＳ１３８が、ＷＩＰストッカーの入力ポート（図示せず）にキャリアがすでに到達していることを検知したときに、ＡＭＨＳ１３８からこの変更イベントが始動する。この点で、ＭＡＳ３７５は、ロット１３５はその宛先ロケーションにすでに到達しているので、ムーブ予約を「処理」状態から「完了」状態に遷移する。加えて、ＬＰＡ６９５は、このイベントの結果として処理を実行しなければならない場合、および、予定よりも材料搬送が早期に完了すると（早期に設定された）終了時間アラームを取り除かなければならない場合に、通知を受ける。
【００８９】
ムーブ予約が完了すると、ＬＳＡ６０５はカレンダー６８５で次の予約を見つけようとする。あるムーブ予約が次の予約であるとする。この予約のソースロケーションはプロセスリソース１５０のロケーションであり、宛先ロケーションは、次の処理予約を実行することになるプロセスツール１１５に最も近いＷＩＰスタッカー１５５である。この例では、このムーブ予約の開始時間は未来である。よって、ＬＳＡ６０５は、ムーブ予約を始動させる時間に発せされるようにアラーム（開始時間アラーム）を構築する。このアラームは、実際にはスケジューリングされたムーブ予約の開始時間よりも前の時間に設定される点に留意されたい。このアラームはシステムのアラームクロックに追加される。
【００９０】
アラームが発すると、アラームはＬＳＡ６０５をコールバックすることになる。ＬＳＡ６０５は特に、ムーブ予約の状態を「動作中」に変更するためにＭＡＳ３７５を呼び出す。加えて、ＬＳＡ６０５は、予約の処理を始動するようそれぞれのＬＰＡ６９５に通知する。ＬＰＡ６９５は、ウェハ１３０が処理されるキャリアの移動を始動すべく、本発明に従い、図２の方法２００の用法を含む適切なコマンドをＡＭＨＳ１３８に送信する。また、ＬＳＡ６０５は終了時間アラームを構築することになる。続いて、ＬＳＡ６０５はロットのロケーションがソースプロセスリソース１５０から遷移状態にあるロケーションにすでに変更していることを示す設備変更イベントを受信する。このイベントは、プロセスリソース１５０を出るロットのキャリアを検出するＡＭＨＳ１３８によって生じる。
【００９１】
ＬＳＡ６０５はムーブ予約を「動作中」の状態から「処理状態」に変更するためにＭＡＳ３７５を呼び出すとともに、この段階で処理が求められる場合にはＬＰＡ６９５を呼び出すことになる。ＬＳＡ６０５が次のロットロケーション変更イベントを受信する前に終了時間アラームが発するとする。これは、図５に類似した状況で、ムーブ予約が予定よりも処理時間を超過していることを示す。ＭＡＳ３７５はこの予約のために新たな終了時間を算出し、必要であれば次の予約を時間内の後にシフトし、ムーブ予約の終了時間を変更し、延長されたムーブ予約を反映するように新たな終了時間アラームを設定する。
【００９２】
次に、ＬＳＡ６０５は、ロットのロケーションが遷移状態から宛先ＷＩＰスタッカー１５５にすでに変更していることを示す設備変更イベントを受信する。このイベントは、宛先ＷＩＰスタッカー１５５の入力ポート（図示せず）に到着するキャリアを検出するＡＭＨＳ１３８によって生じる。ＭＡＳ３７５はこのムーブ予約を「完了」状態に遷移し、起こり得る処理のためにＬＰＡ６９５を始動する。このサイクルは設備状態変更、アラームの発射、および次のスケジューリングされた予約の予約状態の変更に応じて繰り返される。
【００９３】
これまでに述べてこなかった本発明の１つの態様は、ポート管理である。上記に示したように、図１を参照すると、ロット１３０はポート１４０、１４５などのポートを通じてプロセスツール１１５を出入りする。図６に示すように、ＭＳＡ６１０は「ポートマネージャ」（「ＰｔＭ」）３７７と呼ばれる、図３および図６に示すヘルパークラスオブジェクトを呼び出し、ポートの管理を支援する。ＰｔＭ３７７は、とりわけ、それぞれのプロセスツール１１５のポートの使用状態と、ポートが使用可能な状態であるかどうかを追跡する。また、ＰｔＭは、上述したスケジューリングプロセスの間に、ＭＳＡ６１０に情報を送る。このようにして、ＭＳＡは一般的に宛先としてのポートと、ＬＳＡ６０５が対応するポートの使用可能時間とを設定する。よって、ムーブ予約（例えば、図４に示すムーブ予約Ｍ１−Ｍ６）は、図１に示す個々のポート１４０、１４５を行き来するようにロット１３０をスケジューリングできる。
【００９４】
このポート管理を通じて、ＭＳＡ６１０はＬＳＡ６０５のスケジューリングに影響を及ぼす。さらに詳しく言えば、ＰｔＭは特定のポートがいつ使用できるのかを判断する。ＭＳＡはこの情報をＰｔＭ３７７から入手し、この情報をビッド６６０に組み込む。図６に関連する上述のビッドプロセスの間に、ビッド６６０は(it)ＬＳＡ６０５にサブミットする。よって、各ビッド６６０は、ＰｔＭ３７７が判断したポートの割り当てとポート使用可能時間についての情報を含む。ＫＳＡ６０５がビッド６６０を受け入れると、ＬＳＡ６０５は、使用可能な時間に、あるいは使用可能時間にできるだけ近い時間に割当てられたポートにロット１３０を到着させるために必要なムーブ予約をＭＡＳ３７５を介してスケジューリングする。この結果、ＭＡＳ３７５はロット１３０に代わってのスケジューリングはしないものの、ＭＡＳ３７５はＰｔＭ３７７の動作を通じて、ロット１３０の代わりのスケジューリングに強い影響を与える。
【００９５】
スケジューリングされたムーブ予約は、図３と図6とに示したマテリアルコントロールシステム（「ＭＣＳ」）３８０として周知のＡＭＨＳ１３８の一部によって始動され実行される。従来においては、ＭＣＳ３８０は他にどのようなムーブが予約されているか、あるいは他のどのようなムーブが進行中であるかに関係なく、ポートに関係する１つのムーブを一度に実行する。したがって、ある場合では、ポートが占有状態にあるため、あるいはそうでなければ、ポートへのムーブが実行されているときにポートが使用可能でないために、問題が発生する。
【００９６】
例えば、問題が発生するのは、ＭＣＳ３８０が、あるポートから別のポートにロット１３０をムーブする前にロット１３０を移動した場合であり、それは、ポートがまだ占有状態であるからである。ＭＣＳ３８０はこの２つのムーブが実行される順序を考慮しない。ＭＣＳ３８０は、一方がもう一方を干渉するかどうかに関係なく、次のアポイントメントを実行するに過ぎない。このことが発生すると、ＭＣＳ３８０は、例えば、一度状態チェックを行い、ポートが使用できるかどうかを確認するように、あるいは、ロットをＵＴＳへ搬送するように指示されることもある。どちらにしても、関連づけられた処理予約は遅延するかキャンセルされ、これによりその他のスケジューリングされた予約にも影響を及ぼし、また、ロット１３０の処理に求められるスケジューリング動作のレベルを高める。
【００９７】
これらのことは、ある特定のポートに関係するスケジューリングされたムーブ間にいくらかの最小遅延を課すことでその発生を減らすことができる。この遅延は上述したムーブ予約のスケジューリングの間に課せられてよい。その理由は、ムーブ予約、処理予約、および処理予約のビッドはポートとポート使用可能時間属性を含むからである。この遅延は、ポート出るムーブ(move off the port)が、ポートに入るムーブ(move onto the port)のためにポートを空けることができるほどの時間でなくてはならない。このような遅延は、任意の所与の例にとっては相対的に小さなものであるが、プロセスフローに累積される遅延はかなりのものになる。
【００９８】
例示の実施形態は、これらの状況を処理するために１つあるいは複数の機構を用いてもよい。まず、ＭＣＳ３８０は、ポートに向かうムーブの前にポートから離れるムーブを実行することができるように、所与のポートのムーブの「順序」を追跡し得る。次に、ポートが一杯であり、使用できるポートがある場合には、動的なリアロケート（再配置）がなされてよい。このような動的なリアロケートはポートマネージャ３７７によってなされ、ＡＭＨＳ１３８に知らせられる。あるいは、割当てられたポートが一杯であることを認識すると、ＡＭＨＳ１３８は、ＭＳＡ６１０を介してポートマネージャ３７７を呼び出し、使用可能なポートを識別し、ポートマネージャ３７７にリアロケートを知らせる。ＡＭＨＳ１３８は、図６に示す、設備の状態を含むデータストア６９０にアクセスすることによって、ポートが使用可能であるかどうかを判断することができる。あるいは、ＡＭＨＳ１３８とポートマネージャ３７７とは、使用可能ポートにポートの割当ての動的なリアロケートを行うために、他の方法でインタラクションを行うことができる。使用可能なポートがないために動的なリアロケートが失敗するようなことがあれば、ＭＣＳ３８０は、例えば、一度状態チェックを行い、ポートが使用可能になったかどうかを確認するよう、あるいは、ロットをＵＴＳに搬送するように指示されることもある。
【００９９】
例示の実施形態では、本発明はオブジェクト指向プログラミング（「ＯＯＰ」：Object Oriented Programming）技術を用いて実行される。しかし、本発明はオブジェクト指向ではない技術を用いて実行されてもよい。ソフトウェアエージェント３６５は、オブジェクトとして実装され、また、インテリジェント、状態感知のものであり、自動的に挙動を始動させるための特別な目的が組み込まれている。
それらの挙動は、スクリプトベースあるいはルールベースであってよい。この挙動は、指定されたロットの期日の達成、再定義されたレベルの品質の達成、機械の利用性の最大化、および便宜的な予防メンテナンスのスケジューリングなどの選択された目的を達成するように意図される。また、ＭＡＳ３７５はオブジェクトとして実装されるが、「ヘルパー」クラスと呼ばれる別のクラスである。ヘルパークラスはオブジェクトのクラスであり、ソフトウェアエージェント３６５である様々なオブジェクトが様々な役割を負い、または、プロセスフロー１００である有益なサービスを提供する。上述した通知者とリスナとが、ヘルパークラスオブジェクトでもある。
【０１００】
例示の実施形態はＯＰＰ環境で実行されるので、ＭＡＳ３７５は各種の「方法」に対しての呼び出しを通じてスケジューリングされた機能を実行する。ＭＡＳ３７５は、一般的スケジューリング、リアクティブスケジューリング、あるいは初期スケジューリングを要求されているかどうかに応じて、異なる方法を呼び出す。しかし、本発明はこの実行に限定されない。他の実施形態では、ヘルパーオブジェクトに委託するのではなく、ＭＡＳ３７５に帰する機能をＬＳＡ６０５に組込んでもよい。実際に、機能は、ＯＰＰに代わる技術を用いて実行されてよい。本発明は、この実行の態様に限定されない。
【０１０１】
従って、上記の記載から明らかなように、本願明細書の詳細な記載のいくつかの部分は、コンピューティングシステムまたはコンピューティングデバイスのメモリ内のデータビットでの動作の記号表記を伴うソフトウェア実行プロセスの点で与えられる。これらの記載および表記は、当業者らにそれらの働きの実体を最も効果的に伝えるために、当業者らによって用いられる手段である。プロセスおよび動作は、物理量の物理的な操作を必要とする。一般に、必要不可欠なことではないが、これらの量は、格納、転送、組合せ、比較、および操作可能な電気、磁気、または光信号の形をとる。主に共通して使用するために、これらの信号を、ビット、値、要素、記号、文字、用語、数などとして参照すると利便性が良い場合がある。
【０１０２】
しかしながら、これらの同様の用語のすべてが、適切な物理量に関連付けられ、これらの量に適用された利便性の良いラベルにすぎないことに留意されたい。本願の開示内容全体を通して、特段の記載の有無に拘わらず、これらの記載は、電子デバイスのアクションおよびプロセスを参照し、このデバイスは、何らかの電子デバイスのストレージ内の物理（電子、磁気、または光）量として表されるデータを操作して、格納内または伝送またはディスプレイデバイスにおいて物理量として同様に表される他のデータに変形する。このような記載を表す用語の例は、限定するものではないが、「処理」、「コンピューティング」、「計算」、「決定」、「表示」などの用語である。
【０１０３】
しかし、本願の開示内容を利用できる当業者にとって明らかなように、上述したシステムのソフトウェア構成要素が全て、互いに直接通信できる必要はない。例えば、ソフトウェアエージェント３６５、設備制御システム（例えば、ＡＭＨＳ１３８）、およびプロセスツール１１５は、互いに直接通信できなくてもよい。これは、このようなタイプのシステムにはよくあることである。したがって、本発明の各種実施形態はこのような通信を容易にするために、従来の手法に従って典型的にインタープリタ、アダプタ、およびインターフェースを用いる。
例えば、例示の実施形態では、ＡＭＨＳとの通信はＡＭＨＳアダプタを介して行われ、プロセスツールとの通信は「機器インターフェース」を介して行われる。これらはソフトウェア実行であり、また、１つのソフトウェア構成要素の言語から別の言語への「変換機」として実行する。
【０１０４】
また、本発明のソフトウェア実行の態様は、典型的に、プログラム格納媒体の何らかの形態でコード化されるか、または、何らかのタイプの伝送媒体で実行されることにも留意されたい。プログラム記録媒体は、磁気（例えば、フロッピーディスクまたはハードドライブ）または光（例えば、コンパクトディスク読取り専用メモリ、いわゆる「ＣＤＲＯＭ」）であってよく、読取専用またはランダムアクセスであってよい。同様に、伝送媒体は、ツイストペア線、同軸ケーブル、光ファイバ、または当業者に公知の何らかの他の適切な伝送媒体であってよい。本発明は、任意の所与の実施例のこれらの態様によって制限されるものではない。
【０１０５】
本願の開示内容を利用できる当業者らによって明らかにされるように、本発明は、その様々な態様および実施形態において、最新技術に優る多数の利点を提供する。例えば、ある実施形態では、宛先が現在のところ占有されていても、所望の開始時間にムーブが始動される。その理由は、ムーブが完了する時点でポートが使用可能であるからである。従来のシステムでは、宛先がクリアにされるのを待ってからムーブが始動されたり、運搬具が運搬待機状態にされたりする。ＯＰＰが実装された実施形態では、ムーブの前に運搬待機状態のリクエストが送信される所定の時間を機械のタイプなどによって外部から設定できる。さらに、処理予約に関するポートの可用性を外部から設定できる。例えば、ロット１３０を非常に早く処理するプロセスツール１１５のポートの可用性は、ポートの可用性と処理予約の開始との間にわずかな時間だけが存在するように外部から設定できる。これとは反対に、ロット１３０を遅く処理するプロセスツール１１５は、ポートの可用性と処理予約の開始時間との間に相対的に長い期間を持つことができる。また、本発明のいくつかの実施形態は、ポートの割り当てにおいて大いに柔軟性を与える。一般的に、このようなタイプの利点と恩恵とは、本発明が実行される処理の遅延を全体的に減らす。
【０１０６】
本発明は、実行においてだけではなく、用途においても広範囲におよぶバリエーションを認める。例えば、材料は、ロット以外のもの、例えば、レチクルなどのプロセスリソースであってもよお。通常、ウェハの製造プロセスは、いくつかのプロセスツールによって同時に共有されるレチクルを用いるプロセスツールを含む。レチクル管理システムは、レチクルの用法、ロケーション、および管理を制御し、そのようにする際に本発明を用いる。しかし、ＡＭＨＳは、ダミーウェハ、キャリアなどの多くのタイプのプロセスリソースを管理する。それらの搬送には本発明を用いてもよい。実際に、上記に示しているように、本発明は半導体ウェハ以外のものを生産するプロセスグローで用いてもよい。
【０１０７】
以上で、詳細な記載の結論とする。上記に開示された特定の実施形態は、例示的なものにすぎず、本発明は、異なるように修正および実施されてよいが、同等の方法は、本願明細書の開示内容を利用できる当業者らに明らかである。さらに別の実施形態では、記載していない更なるバリエーションを用いてもよいことに留意されたい。さらに、特許請求の範囲に記載するもの以外、本願明細書に示された構成またはデザインの詳細には何ら制限が意図されていない。したがって、上記に開示された特定の実施形態は、変更または修正されてよく、すべてのこのような変形例は、特許請求の範囲内であると見なされることは明らかである。したがって、本願明細書において求められる保護は、特許請求の範囲において示される。
【図面の簡単な説明】
【０１０８】
【図１】本発明に従い構成され動作される処理の１つの特定の実施形態の一部を示した説明図。
【図２】本発明に従い実施される方法の１つの特定の実施形態の説明図。
【図３】図１のコンピューティングデバイスの部分的なブロック図、ハードウェハおよびソフトウェアアーキテクチャの選択した部分をそれぞれ示した説明図。
【図４】予約された予約のカレンダーを示した説明図。
【図５】先行する予約された予約の予想外に長い処理時間に対応するために、予約された予約が変更される状況を概念的に示した説明図。
【図６】図１の装置の１つの特定の実装品、つまり、半導体製造施設からのプロセスフローの一部を示した説明図。
【図１】
2008521129.tif 000005
【図２】
2008521129.tif 000006
【図３】
2008521129.tif 000007
【図４】
2008521129.tif 000008
【図５】
2008521129.tif 000009
【図６】
2008521129.tif 000010
【国際調査報告】
2008521129.tif 000011
2008521129.tif 000012
2008521129.tif 000013
2008521129.tif 000014
2008521129.tif 000015