(57)【要約】【課題】プリント板上の配線処理をする際、互いに交差しない並列実行可能な配線ブロックに対する自動配線処理を並列に実行することができ、ＴＡＴの削減に寄与できるプリント板配線処理装置を提供する。【解決手段】  プリント板配線処理装置であって、プリンタ板の配線層上に特定の領域を有する配線ブロックを複数有するプリンタ板データから、領域が他の配線ブロックの領域と交差している数が最多の第１配線ブロックを取得する第１取得部１０１と、第１配線ブロックと領域が交差していない第２配線ブロックを取得する第２取得部１０２と、第１配線ブロックと第２配線ブロックに対する自動配線処理を並列に実行する並列処理部と、を備えた。【選択図】図１４
2010102486.tif 000002
【特許請求の範囲】
【請求項１】
プリンタ板の配線層上に特定の領域を有する配線ブロックを複数有するプリンタ板データから、領域が他の配線ブロックの領域と交差している数が最多の第１配線ブロックを取得する第１取得部と、
前記第１配線ブロックと領域が交差していない第２配線ブロックを取得する第２取得部と、
前記第１配線ブロックと前記第２配線ブロックに対する自動配線処理を並列に実行する並列処理部と、
を備えるプリント板配線処理装置。
【請求項２】
請求項１に記載のプリント板配線処理装置において、さらに、
前記第１配線ブロックと前記第２配線ブロックとを一つのグループにグループ化するグループ化部を備え、
前記第１取得部、前記第２取得部、および前記グループ化部が繰り返し稼動するよう制御することで、複数のグループを生成するグループ生成部を備えることを特徴とするプリント板配線処理装置。
【請求項３】
請求項２に記載のプリント板配線処理装置において、さらに、
前記グループ生成部によって生成されたグループ内の配線ブロックに対する配線処理が並列実行されるよう、グループ単位で順次前記並列処理部に依頼する配線実行依頼部を備えることを特徴とするプリント板配線処理装置。
【請求項４】
請求項３に記載のプリント板配線処理装置において、
前記配線実行依頼部は、依頼した配線処理が終了した場合、次のグループ内の配線ブロックの配線処理が並列実行されるよう前記並列処理部に依頼するとともに、前記次のグループ内の配線ブロックに既に配線処理が終了している領域がある場合、該領域は配線処理しないよう依頼することを特徴とするプリント板配線処理装置。
【請求項５】
請求項２に記載のプリント板配線処理装置において、さらに、
配線ブロックと、該配線ブロックと領域が交差する少なくとも一つの配線ブロックと、領域の交差数とを対応付けたリストを配線ブロックごとに作成することでテーブルを作成するテーブル作成部と、
前記テーブル内のリストを、交差数の多い順にソートするソート部と、
を備え、
前記グループ生成部は、前記第１取得部、前記第２取得部、および前記グループ化部が前記ソート部によってソートされた順の配線ブロックに対し繰り返し稼動するよう制御することを特徴とするプリント板配線処理装置。
【請求項６】
請求項２に記載のプリント板配線処理装置において、
前記グループ化部は、さらに、
前記第２取得部によって取得された第２配線ブロックが複数である場合、
該複数の第２配線ブロックを配線ブロック群とし、該配線ブロック群内における、配線ブロックと該配線ブロックと領域が交差する少なくとも一つの配線ブロックと前記配線ブロックの領域の交差数とを対応付けたリストを配線ブロックごとに作成することでテーブルを作成するテーブル作成部と、
作成されたテーブル内のリストのうち、交差数が単数である配線ブロックを同列グループとしてグループ化する同列グループ化部と、
作成されたテーブル内のリストの交差数が全て単数になるまで、前記同列グループ化部によってグループ化されていない複数の配線ブロックを前記配線ブロック群として、前記テーブル作成部と前記同列グループ化部とが再帰的に稼動するよう制御することで、少なくとも一つの同列グループを生成する同列グループ生成部と、を備え、
前記同列グループ生成部によって生成された同列グループのうちで最多の配線ブロックを有する同列グループの配線ブロックを第２配線ブロックとし、前記第１配線ブロックと前記第２配線ブロックとを一つのグループにグループ化することを特徴とするプリント板配線処理装置。
【請求項７】
プリンタ板の配線層上に特定の領域を有する配線ブロックを複数有するプリンタ板データから、領域が他の配線ブロックの領域と交差している数が最多の第１配線ブロックを取得する第１取得ステップと、
前記第１配線ブロックと領域が交差していない第２配線ブロックを取得する第２取得ステップと、
前記第１配線ブロックと前記第２配線ブロックに対する自動配線処理を並列に実行する並列処理ステップと、
をコンピュータに実行させることを特徴とするプリント板配線処理プログラム。
【請求項８】
請求項７に記載のプリント板配線処理プログラムにおいて、さらに、
前記第１配線ブロックと前記第２配線ブロックとを一つのグループにグループ化するグループ化ステップをコンピュータに実行させ、
前記第１取得ステップ、前記第２取得ステップ、および前記グループ化ステップを繰り返しコンピュータに実行させることで、複数のグループを生成するグループ生成ステップをコンピュータに実行させることを特徴とするプリント板配線処理プログラム。
【請求項９】
請求項８に記載のプリント板配線処理プログラムにおいて、さらに、
前記グループ生成ステップによって生成されたグループ内の配線ブロックに対する配線処理が並列実行されるよう、グループ単位で順次前記並列処理ステップに依頼する配線実行依頼ステップをコンピュータに実行させるプリント板配線処理プログラム。
【請求項１０】
プリンタ板の配線層上に特定の領域を有する配線ブロックを複数有するプリンタ板データから、領域が他の配線ブロックの領域と交差している数が最多の第１配線ブロックを取得する第１取得ステップと、
前記第１配線ブロックと領域が交差していない第２配線ブロックを取得する第２取得ステップと、
前記第１配線ブロックと前記第２配線ブロックに対する自動配線処理を並列に実行する並列処理ステップと、
を実行することを特徴とするプリント板配線処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリント板の自動配線を並列実行するプリント板配線処理装置、プリント板配線処理プログラム、プリント板配線処理方法に関する。
【背景技術】
【０００２】
近年、回路機器で取り扱う情報量は増加の一途をたどり、それに同期してプリント回路板も大規模化している。プリント回路板が大規模化することで部品ピン間の配線量も増大し、設計作業量も膨大となっている。
【０００３】
プリント板の配線を自動配線する手法は多く提案されているが、それを並列実行するのは分割されたタスク間の干渉を考慮すると困難であったため、これまではシーケンスな直列処理に依存していた。
【０００４】
なお、本発明の関連ある従来技術として、処理の収束性を低下させることなくしかも配線長の不本意な増大を招くことなく、複数のプロセッサによる並列配線設計処理を高速かつ効率良く行いうる自動並列配線設計システムが開示されている。また、複数のコンピュータを使用して配線処理をおこなうためにそのパターンの配線処理を並列にかつ高速に行うことができる並列配線方式、および配線処理を高速にし、かつ配線の性能を向上する自動配線処理方法が開示されている。さらに、設計作業の進捗や、設計ツールによる処理の進捗に応じ、設計ツールを起動、終了し、設計者の該設計支援処理完了待ちや、設計ツールを起動するための手間を削減し、同時に設計ツールのリソース利用条件を改善してその動作速度の向上などを図ることができるＣＡＤ装置が開示されている。
【特許文献１】特開平０６−２６６８０４号公報
【特許文献２】特開昭６２−１１５５７４号公報
【特許文献３】特開平０５−０６７１７８号公報
【特許文献４】特開２０００−２５９６８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
プリント板の自動配線処理をシーケンスな直列処理で行うことは、各自動配線処理の処理時間の合算値がＴＡＴ(Turn Around Time)となるため、可能な限り並列実行する方が望ましい。
【０００６】
本発明は上述した問題点を解決するためになされたものであり、プリント板の配線を局所的な問題（タスク）に落とし込み、タスク間で干渉しない手法を採用することで並列に自動配線処理を実現するプリント板配線処理装置、プリント板配線処理プログラム、プリント板配線処理方法を提供することを目的とする。
【０００７】
これにより、並列可能な作業単位に該当する数のコンピュータを用意することで、一つの作業の最大値が全体の処理時間となり、プリント板設計の配線に関するＴＡＴを大幅に短縮し、設計期間の効率化が期待される。
【課題を解決するための手段】
【０００８】
プリント板配線処理装置は、プリンタ板の配線層上に特定の領域を有する配線ブロックを複数有するプリンタ板データから、領域が他の配線ブロックの領域と交差している数が最多の第１配線ブロックを取得する第１取得部と、前記第１配線ブロックと領域が交差していない第２配線ブロックを取得する第２取得部と、前記第１の配線ブロックと前記第２の配線ブロックに対する自動配線処理を並列に実行する並列処理部と、を備える。
【０００９】
プリント板配線処理プログラムは、プリンタ板の配線層上に特定の領域を有する配線ブロックを複数有するプリンタ板データから、領域が他の配線ブロックの領域と交差している数が最多の第１配線ブロックを取得する第１取得ステップと、前記第１配線ブロックと領域が交差していない第２配線ブロックを取得する第２取得ステップと、前記第１の配線ブロックと前記第２の配線ブロックに対する自動配線処理を並列に実行する並列処理ステップと、をコンピュータに実行させることを特徴とする。
【００１０】
プリント板配線処理方法は、プリンタ板の配線層上に特定の領域を有する配線ブロックを複数有するプリンタ板データから、領域が他の配線ブロックの領域と交差している数が最多の第１配線ブロックを取得する第１取得ステップと、前記第１配線ブロックと領域が交差していない第２配線ブロックを取得する第２取得ステップと、前記第１の配線ブロックと前記第２の配線ブロックに対する自動配線処理を並列に実行する並列処理ステップと、を実行することを特徴とする。
【発明の効果】
【００１１】
プリント板上の配線処理をする際、互いに交差しない並列実行可能な配線ブロックに対する自動配線処理を並列に実行することができ、ＴＡＴの削減に寄与できる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を、図を参照しつつ説明する。本実施の形態では、並列処理について基本的な並列処理手法と、それをベースにすべてのタスクを自動的に最適に並列化して実行する自動手法の２つを主内容とする。
【００１３】
（実施の形態１）
まず、シーケンス処理と、実施の形態１における並列処理との対比を示した概要図を図１に示す。図１の概要図は、横軸を処理時間をとして示している。シーケンス処理では、各ＪＯＢの処理時間の合算値がＴＡＴとなる（図１(ａ)参照）。一方、実施の形態１においては、並列実行可能なＪＯＢをグループ化する。グループ内のＪＯＢは並列処理として実行され、各グループ間ではシーケンス処理として実行される（図１（ｂ）参照）。このような並列処理がなされることで、各グループ内で最も処理時間のかかるＪＯＢの実行時間の総和がＴＡＴとなる。
【００１４】
実施の形態１におけるＪＯＢは、配線処理の対象である基板内を論理的に区分けした配線ブロックそれぞれに対する処理のことを指す。
【００１５】
配線ブロックとは、座標情報として示されるプリント板上の領域であってプリント板上に配線される端子間の配線情報を少なくとも一つ包含した領域として定義されたものであり、配線対象ネット、配線層、配線エリアから定義されるものである。配線対象ネットは配線ブロックの領域内で配線しなければならない。実施の形態１では、配線ブロックの単位を自動配線実行のＪＯＢの単位とし、並列実行を可能にする。また、実施の形態１では、自動配線を並列実行するため、配線ブロック間の干渉を抑えることで、各配線ブロックの配線処理を独立したＪＯＢとして実行することが可能となり、つまり並列実行が実現可能となる。
【００１６】
図２、図３、図４は、配線対象のプリント板における配線ブロックの概念図を示すものである。図２の例においては、配線対象基板のＬ１層ではブロック１１からブロック１６までが定義され、Ｌｎ層ではブロック６２からブロック６６までが定義されている。このように、自動配線対象の基板の各層ごとに配線ブロックが定義される。
【００１７】
配線ブロックの属性情報について図３の配線ブロック概念図、および図４の配線ブロックのデータ構造例を参照しつつ説明する。
【００１８】
配線ブロックは、配線ブロック名、層番号、ブロック形状、包含ネットの４つの属性情報によって構成される。この配線ブロックの属性情報について説明すると、配線ブロック名は、配線ブロックを一意に決定する識別名であり、層番号は、配線ブロックがいずれの層にあるのかを示すものである。
【００１９】
また、ブロック形状は、配線ブロックの領域を基板上の座標値で示すものであり、各座標値で囲まれた閉区間が配線ブロックの領域である。包含ネットは、いずれのネットが配線ブロックに包含されているかを示すものであり、端子間の配線情報であるネットを一意に識別できる識別情報が配線ブロックのデータ構造の中に保持されている。
【００２０】
この配線ブロックの配線ブロック名、層番号、ブロック形状の各属性情報は、プリント基板データベース内の配線戦略情報テーブル内に保持されており、配線トポロジ名（包含ネット）を介してネット情報の情報が参照される。
【００２１】
次に、自動配線の並列処理を実現する自動配線処理システムの概要を図５に示す。
【００２２】
自動配線処理システム９００は、実行指示環境１、および並列実行環境２を備える。実行指示環境１は、並列実行環境２に対し自動配線の並列実行指示、依頼ＪＯＢの取り消し、強制終了指示を行う。また実行指示環境１は、自動配線処理の結果（ルータ結果）や処理状況のステータス、メッセージを並列実行環境２から取得する。
【００２３】
実行指示環境１は、作成すべきＬＳＩに関する情報を保持したプリント基板データベース５０を保持している。プリント基板データベース５０には、図４で示したように、部品情報、基板情報、層情報、ネット情報、配線制約情報、配線戦略情報の各種情報が保持されている。
【００２４】
並列実行環境２は、実行指示環境１からの自動配線の並列実行指示を取得し、複数の自動配線処理マシンから成る自動配線エンジン２２によって自動配線の並列処理を行う。また、並列実行環境２は、処理中のメッセージやステータス、および自動配線処理結果を実行指示環境１に送信する。さらに、並列実行環境２は、実行指示環境１からＪＯＢの取り消し、強制終了の指示を取得した場合、当該ＪＯＢを取り消し、または強制終了する。
【００２５】
次に、実行指示環境１と並列実行環境２との間で送受信を行うインタフェースファイルに着目した自動配線処理システム９００の概要を図６に示す。自動配線処理システム９００は、実行指示環境１と並列実行環境２とでネットワークを介してファイルで連携し、並列実行環境を活用した自動配線の並列稼動を実現する。尚、ファイルに関する詳細は後述する。
【００２６】
実行指示環境１によってＪＯＢ実行手順ファイルが並列実行環境２に送信されることで、並列実行環境２は、当該ＪＯＢ実行手順ファイルの実行をＪＯＢエントリ制御部２１のジョブキューに登録する。また、実行指示環境１は、ＪＯＢ実行手順ファイルとともに配線処理に使用される自動配線手順ファイル、および部分基板ＤＢを並列実行環境２に送信し、並列実行環境２は、送信されたこれらファイルを自己の共有フォルダに保存する。
【００２７】
並列実行環境２は、登録されたジョブキューを順次自動配線エンジン２２に対し実行指示を行う。自動配線エンジン２２は、現在の処理の進捗状況をステータスファイルに逐次出力する。また、自動配線エンジン２２は、処理が完了次第、ルータ結果ファイル、およびメッセージファイルを共有フォルダに出力する。実行指示環境１は、必要に応じ、ルータ結果ファイル、ステータスファイル、およびメッセージファイルを並列実行環境２から取得する。
【００２８】
尚、並列実行環境２では、ジョブキュー単位に独立したＪＯＢとして処理するため、自動配線ジョブの依頼元、基板が異なって混載された状態であっても問題ない。
【００２９】
ここで、自動配線の並列実行環境２で実行に必要なファイルについて説明する。尚、使用ファイルを一意に決定するため、本実施の形態では以下の命名規則に則りファイル名が決定される。
ファイル識別子.ユーザ名＠ＩＰアドレス−プロセスＩＤ−固有ＩＤ−リクエストＩＤ−モデル名−モデル版数
【００３０】
部分基板ＤＢは、自動配線プログラム用のプリント回路板データファイルであり、プリント基板データベース５０内の情報から、当該配線処理を行う配線ブロックに関する情報のみを切り出したものである。上述命名規則におけるファイル識別子は「ｒＰＴＤＢ」と定義される。
【００３１】
ＪＯＢ実行手順ファイルは、並列実行マシンで動作可能なバッチファイル、シェルファイルであり、上述命名規則におけるファイル識別子は「ｒＥｘｅｃｕｔｅ」と定義される。
【００３２】
自動配線手順ファイルは、自動配線をどのように制御して実行するかが記述されたファイルであり、上述命名規則におけるファイル識別子は「ｒＣｆ」と定義される。
【００３３】
ルータ結果ファイルは、自動配線実行による配線結果が格納されたファイルであり、実行指示環境１で復元可能な（表示可能な）ログ形式に準ずるファイルである。ルータ結果ファイルの上述命名規則におけるファイル識別子は「ｒＲｅｓｕｌｔ」と定義される。
【００３４】
メッセージファイルは、自動配線処理を行った結果のレポートをファイルとして格納したものであり、上述命名規則におけるファイル識別子は「ｒＭｅｓｓａｇｅ」と定義される。
【００３５】
ステータスファイルは、並列実行環境２上で動作している自動配線の稼動状況を反映するファイルであり、上述命名規則におけるファイル識別子は「ｒＳｔａｔｕｓ」と定義される。
【００３６】
尚、部分基板ＤＢ、ＪＯＢ実行手順ファイル、および自動配線手順ファイルは、ＪＯＢのリクエスト時に実行指示環境１から並列実行環境２に送信され、またルータ結果ファイル、メッセージファイル、ステータスファイルは並列実行環境２が処理を終えた場合、または実行指示環境１から終了確認依頼があった場合に実行指示環境１へ送信される。尚、ステータスファイルはさらに、実行指示環境１からＪＯＢ状況の確認依頼があった場合に並列実行環境２から実行指示環境１へ送信される。
【００３７】
次に、自動配線処理システム９００の機能ブロックおよび処理の動作を図７に示しつつ、自動配線処理システム９００の動作について説明する。
【００３８】
上述のとおり、自動配線処理システム９００は実行指示環境１および並列実行環境２を備えるが、実行指示環境１は、処理依頼部１１、結果取得部１２、コントロール部１３を備える。他方、並列実行環境２は、ＪＯＢエントリ制御部２１、自動配線エンジン２２を備える。
【００３９】
自動配線処理システム９００の動作について説明する。動作の前提として、ユーザまたは他のシステムによって処理対象であるプリント基板内の配線ブロックが予め定義されるものとする（ステップＳ１）。処理依頼部１１は、自動配線の対象となる配線ブロックをプリント基板データベース５０から選択し（以下、選択された配線ブロックを指定配線ブロックと称す）（Ｓ２）、指定配線ブロック間の干渉度をチェックし、干渉度が一定以上の場合は処理を中止する（Ｓ３）。次に、処理依頼部１１は、並列実行環境２に対し、指定配線ブロックの配線処理の実行を依頼する（Ｓ４）。
【００４０】
並列実行環境２のＪＯＢエントリ制御部２１は、実行依頼をジョブキューに登録し、順次自動配線エンジン２２にジョブを実行させる。
【００４１】
自動配線エンジン２２は、ジョブ実行中はステータスファイルにジョブの進捗状況を出力し、ジョブが終了した場合はジョブの自動配線結果（ルータ結果）、ステータスファイル、メッセージを出力する。
【００４２】
結果取得部１２は、並列実行環境２から自動配線処理のステータスファイル、メッセージファイルを取得し、これら取得したファイルに基づきユーザにステータスおよびメッセージを表示する（Ｓ５）。
【００４３】
また、結果取得部１２は、依頼した自動配線処理が完了している場合、並列実行環境２から自動配線結果を取得し、プリント基板データベース５０に登録する（Ｓ６）。尚、ユーザから自動配線結果のプレビュー指示がある場合は、プリント基板データベース５０に登録する前にプレビューし、ユーザの登録指示を待つ。
【００４４】
コントロール部１３は、ユーザから処理の取り消し、または強制終了指示を受けた場合（Ｓ７）、並列実行環境２のＪＯＢエントリ制御部２１に対し当該指示を発行する（Ｓ８）。尚、指示を受けたＪＯＢエントリ制御部２１は、当該ジョブがキュー内に有る場合はキューの登録を抹消し、また既に自動配線エンジン２２が当該ジョブの処理を実行している場合、強制終了指示を自動配線エンジン２２に出力することで、強制終了がなされる。
【００４５】
次に、上述のステップＳ３についての詳細内容を図８に示す。処理依頼部１１は、指定配線ブロック間で、層番号が一致するものについて、形状が重なり合い、干渉しているかを全てのブロック間の組み合わせを対象にチェックし、干渉しているブロック間の組み合わせを抽出する（Ｓ１１）。
【００４６】
ここで、干渉している指定配線ブロックの組み合わせが存在する場合（Ｓ１２、ＹＥＳ）、処理依頼部１１は、当該配線ブロック間の干渉度が一定値以上であるかを判定する（Ｓ１３）。尚、干渉度とは、配線ブロック間の形状全体の領域の面積と、重なり合う部分の領域の面積との比率である。
【００４７】
当該配線ブロック間の干渉度が一定値以上である場合（Ｓ１３、ＹＥＳ）、処理は中止され、一定値未満である場合（Ｓ１３、ＮＯ）、処理依頼部１１は、Ｓ１２に処理を戻し、干渉している指定配線ブロックの組み合わせが無くなるまでＳ１２、Ｓ１３の処理を繰り返す。尚、Ｓ１２で干渉している配線ブロックの組み合わせが存在しない場合（Ｓ１２、ＮＯ）、処理は次のフェーズへ進む。
【００４８】
次に、上述のステップＳ４の詳細内容を図９のフローチャートに基づき説明する。
【００４９】
処理依頼部１１は、プリント基板データベース５０から処理対象となる情報を部分基板ＤＢとして切り出し、部分基板ＤＢを別名で保存し、並列実行環境２への依頼対象情報として自己の送付用フォルダに格納する（Ｓ２１）。次に、処理依頼部１１は、ＪＯＢ実行手順ファイルを生成し、並列実行環境２への依頼情報として送付用フォルダに格納する（Ｓ２２）。
【００５０】
処理依頼部１１は、自動配線手順ファイルを生成し、並列実行環境２への依頼情報として送付用フォルダに格納する（Ｓ２３）。また、処理依頼部１１は、並列実行環境２でのライセンス認証に必要なアカウント、パスワードを所定ルールで暗号化したファイルを、並列実行環境２へ依頼情報として送付用フォルダに格納する（Ｓ２４）。
【００５１】
処理依頼部１１は、上述のステップＳ２１からＳ２４の処理で送付用フォルダにそれぞれ格納したファイル群をネットワークで接続されている並列実行環境２の所定のフォルダに一括で送付し、一つの配線ブロックの処理依頼とする（Ｓ２５）。尚、処理依頼部１１は、配線ブロック間の排他性を保つため、送付フォルダ名は配線ブロックごとにユニークな名称となるようランダムに生成する。
【００５２】
次に、並列実行環境２内のＪＯＢエントリ制御部２１の動作を図１０のフローチャートに基づき説明する。
【００５３】
ＪＯＢエントリ制御部２１は、送付されたライセンス認証用のアカウント、パスワード情報のファイルを開き、暗号化を復号し、並列実行環境２に予め備えられたアカウントリストと照らし合わせることで認証可能かを判定する（ステップＳ３１）。
【００５４】
認証が成功した場合（Ｓ３１、認証成功）、ＪＯＢエントリ制御部２１は、認証されたアカウントが優先順位の高いハイランクアカウントの場合、当該ＪＯＢの実行優先度を最上位のアカウントレベル（レベル１）に設定する（Ｓ３２）。
【００５５】
ＪＯＢエントリ制御部２１は、自動配線エンジン２２の処理マシンの台数と、ＪＯＢキューにあるＪＯＢの数を比較判定する（Ｓ３３）。ここで、処理マシンの台数がＪＯＢキュー内のＪＯＢ数に対し著しく下回らない場合（Ｓ３３、！（リソース＜＜ＪＯＢキュー数））、ＪＯＢエントリ制御部２１は実行指示環境１からの依頼を受付け、順次配線ブロックに対する配線処理単位でＪＯＢキューに登録する（Ｓ３４）。
【００５６】
ＪＯＢエントリ制御部２１は、現在処理対象としているＪＯＢのアカウントレベルを判定する（Ｓ３５）。アカウントレベルがレベル１である場合（Ｓ３５、ＹＥＳ）、ＪＯＢエントリ制御部２１は、ＪＯＢキューの待ち行列の最上位に当該ＪＯＢを高め（Ｓ３６）、ＪＯＢエントリ制御部２１の処理は終了する。
【００５７】
尚、Ｓ３１で認証が失敗した場合（Ｓ３１、認証失敗）、またＳ３３で処理マシンの台数がＪＯＢキュー内のＪＯＢ数に対し著しく下回っている場合（Ｓ３３、リソース＜＜ＪＯＢキュー数）、共に処理は中止され、アカウントレベルがレベル１でない場合（Ｓ３５、ＮＯ）、ＪＯＢエントリ制御部２１の処理は終了する。
【００５８】
尚、ＪＯＢエントリ制御部２１は、自動配線エンジン２２の各処理マシンのプロセス稼動状態を常に監視しており、リソースに空きのある処理マシンがある場合は随時ジョブキューに登録されているＪＯＢを投入する。
【００５９】
次に、図７におけるステップＳ６の詳細内容を図１１のフローチャートに基づき説明する。
【００６０】
結果取得部１２は、依頼した配線ブロックのステータスを並列実行環境２から取得し、配線完了している場合はその配線ブロックの配線結果ログ（ステータスファイル、メッセージファイル、ルータ結果ファイル）を取得する（Ｓ４１）。
【００６１】
ここで、ステータスの確認画面を図１２に示す。結果取得部１２は、依頼した配線ブロック（図１２においては配線ルート名）に関するリクエスト情報、ジョブの「完了」、「実行中」、ジョブキューに待機状態の「実行待ちキュー」等のステータス、および処理マシン（図１２においては実行マシン）、および付加情報（図１２においてはその他情報）をユーザに対し表示するとともに、実行済みのジョブ数である実行ジョブ数も表示する。尚、ジョブのステータスが「完了」である場合、結果取得部１２はユーザがルータ結果を取得したか否かの情報を表示する。またジョブのステータスが「実行中」である場合、結果取得部１２は処理経過時間を表示する。さらに、ステータスが「実行待ちキュー」である場合、結果取得部１２は待ちキューの待機順番を表示する。
【００６２】
さらに、結果取得部１２は、画面上の「最新の情報に更新」ボタンが押下されることでステータスファイルを並列実行環境２から取得し、表示情報を更新する。また、結果取得部１２は、ステータスが「完了」でルータ結果が「未取得」であるジョブがユーザによって選択された後（選択されたリストは反転表示される）、「選択行の配線結果を取得」ボタンが押下された場合、配線結果が取得される。尚、配線結果の取得時の動作は後述する。
【００６３】
図１１のフローチャートに説明を戻す。ここで、ユーザから配線結果のプレビュー指示がある場合（Ｓ４２、ＹＥＳ）、結果取得部１２は、配線結果ログをもとに画面上に重ね合わせるように配線結果をプレビューする（Ｓ４３）。次に、ユーザによって配線結果のプレビューが確認された後、結果取得部１２は所定のダイアログを表示することで、配線結果をプリント基板データベース５０に取り込むか否かをユーザに促す（Ｓ４４）。ここで、ユーザがプリント基板データベース５０に取り込むと判断し、ダイアログ上の所定ボタンが押下された場合（Ｓ４４、取込みする）、結果取得部１２は、自動配線結果のログをプリント基板データベース５０に仮登録する（Ｓ４５）。
【００６４】
ここで、Ｓ４２からＳ４４までの処理における画面イメージを図１３に示す。結果取得部１２は、上述図１２で示した画面イメージ上の「選択行の配線結果を取得」ボタンが押下された場合、図１３（ａ）にて示すダイアログを表示する。結果取得部１２は、本ダイアログ上で「プレビューを見てから取り込み有無を判断する」ボタンが押下された場合、図１３（ｂ）で示すプレビューを表示する。その後、結果取得部１２は、取得した配線結果をプリント基板データベース５０に取り込むか否かをユーザに問うダイアログを表示する（図１３（ｃ）参照）。
【００６５】
ユーザによって「プリント基板ＤＢに取得する」ボタンが押下された場合、配線結果がプリント基板データベース５０に反映される。他方、「この自動配線結果は破棄する」ボタンが押下された場合、配線結果はそのまま破棄される。
【００６６】
図１１のフローチャートに説明を戻す。結果取得部１２は、当該配線ブロックの配線結果が他の配線ブロック（既に配線結果がプリント基板データベース５０に反映された配線ブロック）の配線結果と衝突しているか否かを判定する（Ｓ４６）。ここで、衝突している場合（Ｓ４６、衝突している）、ユーザにその旨通知し、ユーザは衝突している配線ブロック間の重複部を解消した後、新たな配線ブロックで再度並列実行環境２に処理依頼を行う（Ｓ２からの処理が再度実行される）（Ｓ４７）。他方、Ｓ４６で結果取得部１２が衝突していないと判定した場合（Ｓ４６、衝突していない）、結果取得部１２は、仮登録した配線結果をプリント基板データベース５０に本登録する（Ｓ４８）。
【００６７】
尚、Ｓ４２で配線結果のプレビュー指示がない場合（Ｓ４２、ＮＯ）、処理はＳ４５へ進み、Ｓ４４でユーザがプリント基板データベース５０に取り込まないと判断し、所定ボタンが押下された場合（Ｓ４４、取込みしない）、処理は中止する。
【００６８】
（実施の形態２）
配線ブロック間で交差している領域（干渉度、重複部）がある場合、交差領域は複数回配線処理が実行され、配線処理後のＬＳＩはショート箇所を伴うものとなってしまう。実施の形態１の実行指示環境１においては、配線ブロック間が交差している領域（干渉度）が一定以上である場合は処理を中止し（図７のＳ３参照）、また重複部がある場合、ユーザまたは他のシステムによって重複部が解消された後に再度処理を行った（図１１のＳ４６、Ｓ４７参照）。実施の形態２では、交差している領域（重複部）があっても停止させることなく処理可能な実行指示環境を提供する。
【００６９】
実施の形態２における実行指示環境の構成を図１４に示す。実行指示環境１００（プリント板配線処理装置）は、第１取得部１０１、第２取得部１０２、グループ化部１０３、グループ生成部１０４、配線実行依頼部１０５、テーブル作成部１０６、ソート部１０７を備える。
【００７０】
ここで、実行指示環境１００内の各ユニットについて説明する。第１取得部１０１は、プリント基板データベース５０内で保持されておりかつグループ化部１０３によってグループ化されていない複数の配線ブロックのうちから、領域が他の配線ブロックの領域と交差している数が最多の配線ブロック（第１配線ブロック）をプリント基板データベース５０から取得する。
【００７１】
第２取得部１０２は、グループ化されていない配線ブロックであって、第１取得部１０１によって取得された第１配線ブロックと領域が交差していない配線ブロック（第２配線ブロック）を一つまたは複数プリント基板データベース５０から取得する。
【００７２】
グループ化部１０３は、第１取得部１０１、第２取得部１０２によって取得された配線ブロックを一つの並列実行グループとしてグループ化する。
【００７３】
グループ生成部１０４は、第１取得部１０１、第２取得部１０２、およびグループ化部１０３が繰り返し稼動するよう制御することで、複数の並列実行グループを生成する。
【００７４】
配線実行依頼部１０５は、グループ生成部１０４によって生成された並列実行グループ内の配線ブロックに対する配線処理が、並列実行環境２によって並列実行されるよう、並列実行グループ単位で順次並列実行環境２（配線実行処理部）に依頼する。また配線実行依頼部１０５は、依頼した配線処理が終了した場合、次の並列実行グループ内の配線ブロックの配線処理が並列実行されるよう並列実行環境２に依頼するとともに、次の並列実行グループ内の配線ブロックに、既に配線処理が終了している領域がある場合（次に配線処理される配線ブロックに交差している領域があり、かかる交差領域が既に処理済みである場合）、その領域は配線処理しないよう並列実行環境２に依頼する。
【００７５】
テーブル作成部１０６は、配線ブロックと、その配線ブロックと領域が交差する少なくとも一つの配線ブロックと、領域の交差数とを対応付けたリストを配線ブロックごとに作成し、これらをまとめることで交差ブロックテーブルを作成する。ソート部１０７は、交差ブロックテーブル内のリストを、交差数の多い順にソートする。グループ生成部１０４は、第１取得部１０１、第２取得部１０２、およびグループ化部１０３がソート部１０７によってソートされた順の配線ブロックに対し処理するよう、ソート順で繰り返し稼動するよう制御する。
【００７６】
尚、実施の形態２の配線ブロックも実施の形態１と同様の定義である。すなわち、配線ブロックは、座標情報として示されるプリント基板上の領域であって、プリント基板上に配線される端子間の配線情報を少なくとも一つ包含した領域として定義される。
【００７７】
配線ブロックの交差が発生する事例を図１５に示す。図１５で示したように、例えばＢＧＡ（Ball Grid Array）のように多ピン素子を配線ブロックｎ、配線ブロックｍそれぞれが使用するものとして配線ブロックが定義されている場合、配線ブロックの分断が困難となる。このように、配線ブロック間が交差する事例は定常的に発生する。
【００７８】
ここで、実施の形態２における並列実行グループの概念および並列実行環境２に対する処理依頼の方法について、図１６に基づき説明する。図１６において、１−Ａ、２−Ａ、・・・、ｎ−Ａ、１−Ｂ、２−Ｂ、・・・、ｎ−Ｂ等で表記されているものが配線ブロックであり、これらが第１取得部１０１、第２取得部１０２、グループ化部１０３、グループ生成部１０４によってＡグループ、Ｂグループ、・・ｘグループまで並列実行グループとしてグループ化される（グループ化の方法については後述）。このように配線ブロックの交差や配線層をキーに、グループごとのマトリックスが作成される。配線実行依頼部１０５は、マトリックスに基づき、並列実行環境２に対し、並列実行グループ内の配線ブロックが並列実行で配線処理がなされるよう依頼するとともに、Ａグループ、Ｂグループの順に、並列実行グループに関してはシーケンスに実行依頼を行う。尚、配線層間でビアが使用されている配線ブロックは、当該グループをさらにサブグループに分割して処理される。
【００７９】
次に、並列実行グループ内の配線ブロックに対する配線処理が終了した場合の動作について図１７を参照しつつ説明する。
【００８０】
例えば並列実行グループＡ内の配線ブロックに対する配線処理が終了した場合、その配線処理結果がプリント基板データベース５０に反映される。配線実行依頼部１０５は、並列実行グループＡの配線ブロックの配線処理結果が反映されたプリント基板データベース５０から次に処理依頼する並列実行グループＢの配線ブロックに関するデータを取得し、処理依頼を行う。このように、配線実行依頼部１０５は、並列実行グループＢ内の配線ブロックと並列実行グループＡ内の配線ブロックとで交差している領域がある場合、並列実行グループＡの配線結果がプリント基板データベース５０に反映された後、かかる交差領域は障害物とみなすフラグを設ける等を行うことで今後配線処理しないようにし、次の並列実行グループＢに対する処理依頼を行う。並列実行グループが３つ以上ある場合でも同様である。
【００８１】
次に、並列実行グループの生成方法について図１８から図２０を参照しつつ説明する。
【００８２】
まず、プリント基板上に、配線ブロックＡ〜Ｇが図１８に示すように定義されているとする。尚、図１８では、印ｘの箇所が交差箇所に該当する。
【００８３】
図１８で示した配線ブロックの定義における配線ブロック間の交差関係を示すグラフを図１９（ａ）に示す。図１８の配線ブロック間の交差関係は、図１９（ａ）では実線として示されている。すなわち、配線ブロックＡは配線ブロックＢと交差し、配線ブロックＢは配線ブロックＡ、Ｄと交差し、配線ブロックＣは配線ブロックＤと交差している。さらに配線ブロックＤは配線ブロックＢ、Ｃ、Ｅと交差し、配線ブロックＥは配線ブロックＤと交差している。また、配線ブロックＧ、Ｆはいずれの配線ブロックとも交差していない。
【００８４】
このように定義された配線ブロックに対し、テーブル作成部１０６は図１９（ｂ）に示す交差ブロックテーブルを作成する。交差ブロックテーブルは、配線ブロックごとに、当該配線ブロックと交差している配線ブロック（以下、交差ブロックと表記）と、その交差している数（以下、交差数と表記）との対応関係のリストが配線ブロックごとに保持されたテーブルである。尚、図１９（ｂ）では配線ブロックのアルファベット順であるが、以降の処理を容易にするため、ソート部１０７によって交差数が昇順にソートされたテーブルが保持されてもよい。
【００８５】
次に、図１９（ａ）、図１９（ｂ）で示した例に則した具体的な並列実行グループの生成方法について、図１９（ｃ）に示す。
【００８６】
まず、第１取得部１０１は、交差ブロックテーブルの交差数のソート順で、並列実行グループ化されていない配線ブロックであって、交差数が最多の配線ブロックをプリント基板データベース５０から取得する。すなわち、処理の初回はいずれの配線ブロックも並列実行グループ化されていないため、交差数３である配線ブロックＤが取得される。
【００８７】
次に、第２取得部１０２は、配線ブロックＤと領域が交差していない配線ブロックを交差ブロックテーブルから一つまたは複数検索し、取得する。すなわち、配線ブロックＤと交差していない配線ブロックＡが取得される。尚、ここで配線ブロックＧ、Ｆが取得されてもよいが、配線ブロックＧ、Ｆに関しては後ほど言及する。
【００８８】
次に、グループ化部１０３は、取得された配線ブロックを一つの並列実行グループにグループ化する（本例ではＡグループ）（ステップＳ１０１）。
【００８９】
グループ生成部１０４は、以降、交差ブロックテーブルで交差数の大きい順にＳ１０１と同様処理を第１取得部１０１、第２取得部１０２、グループ化部１０３に行わせ、並列実行グループを生成する（Ｓ１０２）。
【００９０】
すなわち、現在グループ化されていない配線ブロックのうちで、交差数が最多のものは交差数２の配線ブロックＢとなるため配線ブロックＢが取得され、配線ブロックＢと交差していない配線ブロックであり、かつグループ化されていない配線ブロックであるＣ、Ｅが取得される。これら配線ブロックＢ、Ｃ、Ｅがグループ化部１０３によって並列実行グループＢとしてグループ化される。
【００９１】
最後に、交差数が０である配線ブロックＦ、Ｇが、生成された並列実行グループＡ，Ｂのいずれかに追加されることで（Ｓ１０３）、グループ化の処理は終了する。
【００９２】
次に、交差ブロックテーブルの作成処理を図２０のフローチャートを参照しつつ説明する。
【００９３】
テーブル作成部１０６は、配線ブロックをプリント基板データベース５０から一つ選定する（ステップＳ１１１）。テーブル作成部１０６は、選定した配線ブロックと交差する全ての配線ブロックをプリント基板データベース５０から検索し、選定された配線ブロック、交差する配線ブロック、および交差数の対応を一つのリストとして作成する（Ｓ１１２）。テーブル作成部１０６は、Ｓ１１１、Ｓ１１２の処理を繰り返し実行することで、交差ブロックテーブルを作成する。
【００９４】
最後に、ソート部１０７は、交差数の多い順にリストをソートする（Ｓ１１３）。
【００９５】
次に、配線実行依頼部１０５による依頼処理について、図２１のフローチャートを参照しつつ説明する。
【００９６】
上述の各処理にて、配線ブロックの並列実行グループが構築された後（ステップＳ１３１）、配線実行依頼部１０５は、並列実行環境２に対し一つの並列実行グループの処理を依頼する（Ｓ１３２）。配線実行依頼部１０５は、所定時間待機後（Ｓ１３３）、依頼した並列実行グループの依頼結果を確認する（Ｓ１３４）。ここで、依頼結果が未完了である場合（Ｓ１３４、未完了）、処理はステップＳ１３３に戻り再度待機処理がなされる。依頼結果が完了または第１回目の処理である場合（Ｓ１３４、完了）、配線実行依頼部１０５は並列実行環境２から配線結果を取得し（Ｓ１３５）、プリント基板データベース５０に依頼結果を反映する（Ｓ１３６）。依頼結果の反映後、配線実行依頼部１０５は、次の並列実行グループの処理依頼を行う（Ｓ１３６からＳ１３２へのループ）。
【００９７】
配線実行依頼部１０５は、上述Ｓ１３２からＳ１３６までの処理を全ての並列実行グループに対して行う。
【００９８】
尚、配線実行依頼部１０５の処理中に「中断」指示があった場合には処理を中断するため、図２１で示したフローチャート中に中断判定のステップを入れてもよい。また、配線実行依頼部１０５は、並列実行グループの実行状況をプログレスバーとしてユーザに表示してもよい。
【００９９】
実施の形態２によって、並列に配線処理が可能な単位である並列実行グループを作成することができる。
【０１００】
（実施の形態３）
図２２に、実施の形態２の実行指示環境１００では対応できない配線ブロックの交差関係を示したグラフ（図２２（ａ））および交差ブロックテーブル（図２２（ｂ））を示す。本例の配線ブロックの交差関係は、実施の形態２でも示した配線ブロックＡにさらに配線ブロックＩが交差し、配線ブロックＩにはさらに配線ブロックＨが交差しているものとする（比較対照として図１９も参照）。
【０１０１】
かかる交差関係において、実施の形態２で示した実行指示環境１００の場合、まず第１取得部１０１は交差数が最多である配線ブロックＤを取得し、第２取得部１０２は配線ブロックＤと交差していない配線ブロックＡ、Ｈ、Ｉを取得する。その後、グループ化部１０３がこれら配線ブロックＤ、Ａ、Ｈ、Ｉを一つの並列実行グループにグループ化する。しかし、配線ブロックＡ、Ｈ、Ｉは互いに交差しているブロックであるため、同一の並列実行グループであるとこれら配線ブロックに対し同時に並列に配線処理がなされてしまい、その配線結果は交差領域の配線箇所でショートするものとなってしまう。
【０１０２】
実施の形態３では、上述の問題も対処可能な実行指示環境を提示する。
【０１０３】
まず、実施の形態３における実行指示環境の構成を図２３に示す。実行指示環境２００は、実施の形態２のグループ化部１０３に替え、さらに同列テーブル作成部１１０、同列グループ化部１１１、同列グループ生成部１１２を備えるグループ化部１０３Ａを採用する。尚、グループ化部１０３Ａ内の同列テーブル作成部１１０、同列グループ化部１１１、同列グループ生成部１１２以外は実施の形態２と同様であるためここでの説明を割愛する。
【０１０４】
同列テーブル作成部１１０は、第２取得部１０２によって取得された配線ブロックが複数である場合、これら配線ブロックを配線ブロック群とし、配線ブロック群内における、配線ブロックと、配線ブロックと領域が交差する少なくとも一つの配線ブロックと、配線ブロックの領域の交差数とを対応付けたリストを配線ブロックごとに作成することでテーブル（以下、同列内交差ブロックテーブルと称す）を作成する。すなわち、テーブル作成部１０６によって作成される交差ブロックテーブルは配線ブロック全体に対するものであるが、同列テーブル作成部１１０が作成する同列内交差ブロックテーブルは、第２取得部１０２で取得された配置ブロックのみを対象範囲としたテーブルである。
【０１０５】
同列グループ化部１１１は、同列テーブル作成部１１０によって作成された同列内交差ブロックテーブル内のリストのうち、交差数が単数である配線ブロックを同列グループとしてグループ化する。
【０１０６】
同列グループ生成部１１２は、作成された同列内交差ブロックテーブル内のリストの交差数が全て単数になるまで、同列グループ化部１１１によってグループ化されていない複数の配線ブロックを配線ブロック群として、同列テーブル作成部１１０、同列グループ化部１１１が再帰的に稼動するよう制御することで、少なくとも一つの同列グループを生成する。
【０１０７】
グループ化部１０３Ａは、同列グループ生成部１１２によって生成された同列グループのうちで最多の配線ブロックを有する同列グループの配線ブロックと、第１取得部１０１によって取得された配線ブロックとを一つの並列実行グループとしてグループ化する。
【０１０８】
次に、尚、図２２にて示した交差関係に対する実行指示環境２００の並列実行グループの生成方法について、図２４を参照しつつ説明する。
【０１０９】
まず、図２４（ａ）で初回時の説明をする。第１取得部１０１によって、交差数が最多である配線ブロックＤ（交差数３）が取得され、その後第２取得部１０２によって配線ブロックＡ、Ｈ、Ｉが取得される。
【０１１０】
その後、同列テーブル作成部１１０は、配線ブロックＡ、Ｉ、Ｈを対象とした同列内交差ブロックテーブルを作成する（図２４(ａ‐1)参照）。ここで、同列グループ化部１１１は、交差数が単数（１）である配線ブロックを同列グループとしてグループ化する。すなわち、ここでは交差数が１である配線ブロックＡ、Ｈが同列グループとしてグループ化される。
【０１１１】
次に、同列グループ生成部１１２の制御に基づき、同列テーブル作成部１１０は交差数が２の配線ブロックＩに関する同列内交差ブロックテーブルを作成する（図２４(ａ‐２)参照）。同列グループ化部１１１は、交差数が単数（１）となるため配線ブロックＩを同列グループとしてグループ化する。このように、同列グループ生成部１１２は、同列内交差ブロックテーブル内のリストの交差数が全て単数になるまで、同列テーブル作成部１１０、同列グループ生成部１１２を制御する。
【０１１２】
グループ化部１０３Ａは、このように生成された同列グループのうちで最多の配線ブロックを有する同列グループの配線ブロック（すなわち、２つ配線ブロックが登録されている同列グループの配線ブロックＡ、Ｈ）と、第１取得部１０１にて取得された配線ブロックＤとを並列実行グループＡとしてグループ化する。
【０１１３】
次の段階である並列実行グループＢの生成方法を図２４（ｂ）にて示す。第１取得部１０１によって、並列実行グループ化されていない配線ブロックのうちで、最多の交差数を有する配線ブロックＢ（交差数２）が取得され、第２取得部１０２によって、配線ブロックＢと交差しない配線ブロックＣ、Ｅ、Ｉが取得される。
【０１１４】
同列テーブル作成部１１０は、上述同様配線ブロックＣ、Ｅ、Ｉを範囲として同列内交差ブロックテーブルを作成する。配線ブロックＣ、Ｅ、Ｉは互いに交差せず、全て独立した配線ブロックであるため、同列グループ化部１１１は、配線ブロックＣ、Ｅ、Ｉを一つの同列グループとしてまとめる。よって、配線ブロックＢ、Ｃ、Ｅ、Ｉが並列実行グループＢとなる。
【０１１５】
最後に、交差数が０である配線ブロックＦ、Ｇが生成された並列実行グループのいずれかに追加されることで（Ｓ１０３）、グループ化の処理は終了する。
【０１１６】
実施の形態３における並列実行グループの生成方法を図２５のフローチャートに示す。
【０１１７】
第１取得部１０１は、交差数が最多の配線ブロックを取得し、その後、第２取得部１０２が当該配線ブロックと交差していない非交差ブロックを取得する（ステップＳ１２１）。同列テーブル作成部１１０は、取得された非交差ブロック群を対象とした同列内交差ブロックテーブルを作成する（Ｓ１２２）。
【０１１８】
同列グループ化部１１１は、作成された同列内交差ブロックテーブルで、交差数が単数（１）になっている配線ブロックを同列グループとしてグループ化する（Ｓ１２３）。ここで、同列グループ生成部１１２は、作成された同列内交差ブロックテーブルで交差数が全て単数（１）になっているかを判定する（Ｓ１２４）。
【０１１９】
交差数が全て単数（１）になっていない場合（Ｓ１２４、ＮＯ）、同列グループ生成部１１２は、処理をステップＳ１２２に戻す。同列テーブル作成部１１０は、同列グループ化部１１１によって同列グループ化されていない複数の配線ブロックを非交差ブロック群として同列内交差ブロックテーブルを作成する（Ｓ１２２）。同列グループ化部１１１は、作成された同列内交差ブロックテーブルで、交差数が単数（１）になっている配線ブロックを同列グループとしてグループ化する（Ｓ１２３）。このように、同列グループ生成部１１２は、同列内交差ブロックテーブル内のリストの交差数が全て単数になるまで、ステップＳ１２２、Ｓ１２３の処理を再帰的に実行させることで、同列グループを生成する。
【０１２０】
他方、交差数が全て単数（１）である場合（Ｓ１２４、ＹＥＳ）、グループ化部１０３Ａは、同列グループ生成部１１２によって生成された同列グループのうちで最多の配線ブロックを有する同列グループの配線ブロックと、第１取得部１０１によって取得された配線ブロックとを一つの並列実行グループとしてグループ化する。
【０１２１】
グループ生成部１０４の制御により、ステップＳ１２１からＳ１２５までの処理が交差ブロックテーブル内の配線ブロック全てに実施されるまで繰り返される。
【０１２２】
なお、本発明は以下に示すようなコンピュータシステムにおいて適用可能である。図２６は、本発明が適用されるコンピュータシステムの一例を示す図である。図２６に示すコンピュータシステム９２０は、ＣＰＵやディスクドライブ等を内蔵した本体部９０１、本体部９０１からの指示により画像を表示するディスプレイ９０２、コンピュータシステム９２０に種々の情報を入力するためのキーボード９０３、ディスプレイ９０２の表示画面９０２ａ上の任意の位置を指定するマウス９０４及び外部のデータベース等にアクセスして他のコンピュータシステムに記憶されているプログラム等をダウンロードする通信装置９０５を有する。通信装置９０５は、ネットワーク通信カード、モデムなどが考えられる。
【０１２３】
上述したような、プリント板配線処理装置を構成するコンピュータシステムにおいて上述した各ステップを実行させるプログラムを、プリント板配線処理プログラムとして提供することができる。このプログラムは、コンピュータシステムにより読取り可能な記録媒体に記憶させることによって、プリント板配線処理装置を構成するコンピュータシステムに実行させることが可能となる。上述した各ステップを実行するプログラムは、ディスク９１０等の可搬型記録媒体に格納されるか、通信装置９０５により他のコンピュータシステムの記録媒体９０６からダウンロードされる。また、コンピュータシステム９２０に少なくともプリント板配線処理機能を持たせるプリント板配線処理プログラム（プリント板配線処理ソフトウェア）は、コンピュータシステム９２０に入力されてコンパイルされる。このプログラムは、コンピュータシステム９２０をプリント板配線処理機能を有するプリント板配線処理システムとして動作させる。また、このプログラムは、例えばディスク９１０等のコンピュータ読み取り可能な記録媒体に格納されていても良い。ここで、コンピュータシステム９２０により読取り可能な記録媒体としては、ＲＯＭやＲＡＭ等のコンピュータに内部実装される内部記憶装置、ディスク１１０やフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータシステム並びにそのデータベースや、通信装置１０５のような通信手段を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。
【０１２４】
図２７は、コンピュータシステム９２０における本体部９０１のハードウェア構成の一例を示す図である。本体部９０１は、ＣＰＵ（Central Processing Unit）９５１、メモリ９５２、ディスク９１０等の可搬型記録媒体からデータを読み書きするディスクドライブ９５３、および不揮発性な記憶手段であるＨＤＤ（Hard disk drive）９５４を備える。上述の各ユニットは、例えばＨＤＤ９５４やディスク９１０等の不揮発性な記憶手段内に予め保持されたプログラムが、ＣＰＵ９５１、メモリ９５２等のハードウェア資源と協働することで実現される。
【０１２５】
尚、実施の形態における実行指示環境１、１００、２００および並列実行環境２内の各機能を一つのコンピュータに備えさせ、プリント板配線処理装置として提供することも可能である。
【０１２６】
以上、本実施の形態によれば、以下の付記で示す技術的思想が開示されている。
（付記１）  プリンタ板の配線層上に特定の領域を有する配線ブロックを複数有するプリンタ板データから、領域が他の配線ブロックの領域と交差している数が最多の第１配線ブロックを取得する第１取得部と、
前記第１配線ブロックと領域が交差していない第２配線ブロックを取得する第２取得部と、
前記第１配線ブロックと前記第２配線ブロックに対する自動配線処理を並列に実行する並列処理部と、
を備えるプリント板配線処理装置。
（付記２）  付記１に記載のプリント板配線処理装置において、さらに、
前記第１配線ブロックと前記第２配線ブロックとを一つのグループにグループ化するグループ化部を備え、
前記第１取得部、前記第２取得部、および前記グループ化部が繰り返し稼動するよう制御することで、複数のグループを生成するグループ生成部を備えることを特徴とするプリント板配線処理装置。
（付記３）  付記２に記載のプリント板配線処理装置において、さらに、
前記グループ生成部によって生成されたグループ内の配線ブロックに対する配線処理が並列実行されるよう、グループ単位で順次前記並列処理部に依頼する配線実行依頼部を備えることを特徴とするプリント板配線処理装置。
（付記４）  付記３に記載のプリント板配線処理装置において、
前記配線実行依頼部は、依頼した配線処理が終了した場合、次のグループ内の配線ブロックの配線処理が並列実行されるよう前記並列処理部に依頼するとともに、前記次のグループ内の配線ブロックに既に配線処理が終了している領域がある場合、該領域は配線処理しないよう依頼することを特徴とするプリント板配線処理装置。
（付記５）  付記２に記載のプリント板配線処理装置において、さらに、
配線ブロックと、該配線ブロックと領域が交差する少なくとも一つの配線ブロックと、領域の交差数とを対応付けたリストを配線ブロックごとに作成することでテーブルを作成するテーブル作成部と、
前記テーブル内のリストを、交差数の多い順にソートするソート部と、
を備え、
前記グループ生成部は、前記第１取得部、前記第２取得部、および前記グループ化部が前記ソート部によってソートされた順の配線ブロックに対し繰り返し稼動するよう制御することを特徴とするプリント板配線処理装置。
（付記６）  付記２に記載のプリント板配線処理装置において、
前記グループ化部は、さらに、
前記第２取得部によって取得された第２配線ブロックが複数である場合、
該複数の第２配線ブロックを配線ブロック群とし、該配線ブロック群内における、配線ブロックと該配線ブロックと領域が交差する少なくとも一つの配線ブロックと前記配線ブロックの領域の交差数とを対応付けたリストを配線ブロックごとに作成することでテーブルを作成するテーブル作成部と、
作成されたテーブル内のリストのうち、交差数が単数である配線ブロックを同列グループとしてグループ化する同列グループ化部と、
作成されたテーブル内のリストの交差数が全て単数になるまで、前記同列グループ化部によってグループ化されていない複数の配線ブロックを前記配線ブロック群として、前記テーブル作成部と前記同列グループ化部とが再帰的に稼動するよう制御することで、少なくとも一つの同列グループを生成する同列グループ生成部と、を備え、
前記同列グループ生成部によって生成された同列グループのうちで最多の配線ブロックを有する同列グループの配線ブロックを第２配線ブロックとし、前記第１配線ブロックと前記第２配線ブロックとを一つのグループにグループ化することを特徴とするプリント板配線処理装置。
（付記７）  プリンタ板の配線層上に特定の領域を有する配線ブロックを複数有するプリンタ板データから、領域が他の配線ブロックの領域と交差している数が最多の第１配線ブロックを取得する第１取得ステップと、
前記第１配線ブロックと領域が交差していない第２配線ブロックを取得する第２取得ステップと、
前記第１の配線ブロックと前記第２の配線ブロックに対する自動配線処理を並列に実行する並列処理ステップと、
をコンピュータに実行させることを特徴とするプリント板配線処理プログラム。
（付記８）  付記７に記載のプリント板配線処理プログラムにおいて、さらに、
前記第１配線ブロックと前記第２配線ブロックとを一つのグループにグループ化するグループ化ステップをコンピュータに実行させ、
前記第１取得ステップ、前記第２取得ステップ、および前記グループ化ステップを繰り返しコンピュータに実行させることで、複数のグループを生成するグループ生成ステップをコンピュータに実行させることを特徴とするプリント板配線処理プログラム。
（付記９）  付記８に記載のプリント板配線処理プログラムにおいて、さらに、
前記グループ生成ステップによって生成されたグループ内の配線ブロックに対する配線処理が並列実行されるよう、グループ単位で順次前記並列処理ステップに依頼する配線実行依頼ステップをコンピュータに実行させるプリント板配線処理プログラム。
（付記１０）  付記９に記載のプリント板配線処理プログラムにおいて、
前記配線実行依頼ステップは、依頼した配線処理が終了した場合、次のグループ内の配線ブロックの配線処理が並列実行されるよう前記並列処理ステップに依頼するとともに、前記次のグループ内の配線ブロックに既に配線処理が終了している領域がある場合、該領域は配線処理しないよう依頼することを特徴とするプリント板配線処理プログラム。
（付記１１）  付記８に記載のプリント板配線処理プログラムにおいて、さらに、
配線ブロックと、該配線ブロックと領域が交差する少なくとも一つの配線ブロックと、領域の交差数とを対応付けたリストを配線ブロックごとに作成することでテーブルを作成するテーブル作成ステップと、
前記テーブル内のリストを、交差数の多い順にソートするソートステップと、
を備え、
前記グループ生成ステップは、前記第１取得ステップ、前記第２取得ステップ、および前記グループ化ステップが前記ソートステップによってソートされた順の配線ブロックに対し繰り返しコンピュータに実行させることを特徴とするプリント板配線処理プログラム。
（付記１２）  付記８に記載のプリント板配線処理プログラムにおいて、
前記グループ化ステップは、さらに、
前記第２取得ステップによって取得された第２配線ブロックが複数である場合、
該複数の第２配線ブロックを配線ブロック群とし、該配線ブロック群内における、配線ブロックと該配線ブロックと領域が交差する少なくとも一つの配線ブロックと前記配線ブロックの領域の交差数とを対応付けたリストを配線ブロックごとに作成することでテーブルを作成するテーブル作成ステップと、
作成されたテーブル内のリストのうち、交差数が単数である配線ブロックを同列グループとしてグループ化する同列グループ化ステップと、
作成されたテーブル内のリストの交差数が全て単数になるまで、前記同列グループ化ステップによってグループ化されていない複数の配線ブロックを前記配線ブロック群として、前記テーブル作成ステップと前記同列グループ化とを繰り返しコンピュータに実行させることで、少なくとも一つの同列グループを生成する同列グループ生成ステップと、をコンピュータに実行させ、
前記同列グループ生成ステップによって生成された同列グループのうちで最多の配線ブロックを有する同列グループの配線ブロックを第２配線ブロックとし、前記第１配線ブロックと前記第２配線ブロックとを一つのグループにグループ化することを特徴とするプリント板配線処理プログラム。
（付記１３）  プリンタ板の配線層上に特定の領域を有する配線ブロックを複数有するプリンタ板データから、領域が他の配線ブロックの領域と交差している数が最多の第１配線ブロックを取得する第１取得ステップと、
前記第１配線ブロックと領域が交差していない第２配線ブロックを取得する第２取得ステップと、
前記第１の配線ブロックと前記第２の配線ブロックに対する自動配線処理を並列に実行する並列処理ステップと、
を実行することを特徴とするプリント板配線処理方法。
（付記１４）  付記１３に記載のプリント板配線処理方法において、さらに、
前記第１配線ブロックと前記第２配線ブロックとを一つのグループにグループ化するグループ化ステップを実行し、
前記第１取得ステップ、前記第２取得ステップ、および前記グループ化ステップを繰り返し実行することで、複数のグループを生成するグループ生成ステップを実行することを特徴とするプリント板配線処理方法。
（付記１５）  付記１４に記載のプリント板配線処理方法において、さらに、
前記グループ生成ステップによって生成されたグループ内の配線ブロックに対する配線処理が並列実行されるよう、グループ単位で順次前記並列処理ステップに依頼する配線実行依頼ステップを実行するプリント板配線処理方法。
（付記１６）  付記１５に記載のプリント板配線処理方法において、
前記配線実行依頼ステップは、依頼した配線処理が終了した場合、次のグループ内の配線ブロックの配線処理が並列実行されるよう前記並列処理ステップに依頼するとともに、前記次のグループ内の配線ブロックに既に配線処理が終了している領域がある場合、該領域は配線処理しないよう依頼することを特徴とするプリント板配線処理方法。
（付記１７）  付記１４に記載のプリント板配線処理方法において、さらに、
配線ブロックと、該配線ブロックと領域が交差する少なくとも一つの配線ブロックと、領域の交差数とを対応付けたリストを配線ブロックごとに作成することでテーブルを作成するテーブル作成ステップと、
前記テーブル内のリストを、交差数の多い順にソートするソートステップと、
を備え、
前記グループ生成ステップは、前記第１取得ステップ、前記第２取得ステップ、および前記グループ化ステップが前記ソートステップによってソートされた順の配線ブロックに対し繰り返し実行することを特徴とするプリント板配線処理方法。
（付記１８）  付記１４に記載のプリント板配線処理プログラムにおいて、
前記グループ化ステップは、さらに、
前記第２取得ステップによって取得された第２配線ブロックが複数である場合、
該複数の第２配線ブロックを配線ブロック群とし、該配線ブロック群内における、配線ブロックと該配線ブロックと領域が交差する少なくとも一つの配線ブロックと前記配線ブロックの領域の交差数とを対応付けたリストを配線ブロックごとに作成することでテーブルを作成するテーブル作成ステップと、
作成されたテーブル内のリストのうち、交差数が単数である配線ブロックを同列グループとしてグループ化する同列グループ化ステップと、
作成されたテーブル内のリストの交差数が全て単数になるまで、前記同列グループ化ステップによってグループ化されていない複数の配線ブロックを前記配線ブロック群として、前記テーブル作成ステップと前記同列グループ化とを繰り返し実行することで、少なくとも一つの同列グループを生成する同列グループ生成ステップと、を実行し、
前記同列グループ生成ステップによって生成された同列グループのうちで最多の配線ブロックを有する同列グループの配線ブロックを第２配線ブロックとし、前記第１配線ブロックと前記第２配線ブロックとを一つのグループにグループ化することを特徴とするプリント板配線処理方法。
【図面の簡単な説明】
【０１２７】
【図１】従来のシーケンス処理と、実施の形態１における並列処理との対比を示した概要図である。
【図２】実施の形態１における配線対象のプリント板における配線ブロックの概念の一例を示す図である。
【図３】実施の形態１における配線ブロックの属性情報の一例について示す図である。
【図４】実施の形態１における配線ブロックのデータ構造の一例を示す図である。
【図５】実施の形態１における自動配線処理システムの構成の概要の一例を示す図である。
【図６】実施の形態１のインタフェースファイルに着目した自動配線処理システムの概要の一例を示す図である。
【図７】実施の形態１に係る自動配線処理システムの機能ブロックおよび処理の動作の一例を示す図である。
【図８】実施の形態１に係るステップＳ３の詳細内容の一例を示すフローチャートである。
【図９】実施の形態１に係るステップＳ４の詳細内容の一例を示すフローチャートである。
【図１０】ＪＯＢエントリ制御部の動作の一例を示すフローチャートである。
【図１１】実施の形態１に係るステップＳ６の詳細内容の一例を示すフローチャートである。
【図１２】実施の形態１に係るステータスの確認画面の一例を示す図である。
【図１３】実施の形態１に係るステップＳ４２からＳ４４までの処理における画面イメージの一例を示す図である。
【図１４】実施の形態２における実行指示環境の構成の一例を示す図である。
【図１５】配線ブロックの交差が発生する事例を示す図である。
【図１６】実施の形態２における並列実行グループの概念の一例および並列実行環境に対する処理依頼の方法の一例について示す図である。
【図１７】実施の形態２における並列実行グループ内の配線ブロックに対する配線処理が終了した場合の動作の一例について示す図である。
【図１８】実施の形態２におけるプリント板上の配線ブロックの配置例を示す図である。
【図１９】実施の形態２における配線ブロック間の交差関係を示すグラフの一例、交差ブロックテーブルの一例、および並列実行グループの生成方法の一例を示す図である。
【図２０】実施の形態２における交差ブロックテーブルの作成処理の一例を示すフローチャートである。
【図２１】実施の形態２における配線実行依頼部による依頼処理の一例について示すフローチャートである。
【図２２】実施の形態３における配線ブロックの交差関係を示したグラフの一例および交差ブロックテーブルの一例を示す図である。
【図２３】実施の形態３における実行指示環境の構成の一例を示す図である。
【図２４】実施の形態３における並列実行グループの生成方法の一例について示す図である。
【図２５】実施の形態３における並列実行グループの生成方法の一例を示すフローチャートである。
【図２６】本実施の形態に適用されるコンピュータシステムの一例を示す図である。
【図２７】本実施の形態に適用されるコンピュータシステムにおける本体部のハードウェア構成の一例を示す図である。
【符号の説明】
【０１２８】
１、１００、２００  実行指示環境、２  並列実行環境、１１  処理依頼部、１２  結果取得部、１３  コントロール部、２１  ＪＯＢエントリ制御部、２２  自動配線エンジン、５０  プリント基板データベース、１０１  第１取得部、１０２  第２取得部、１０３、１０３Ａ  グループ化部、１０４  グループ生成部、１０５  配線実行依頼部、１０６  テーブル作成部、１０７  ソート部、１１０  同列テーブル作成部、１１１  同列グループ化部、１１２  同列グループ生成部、７００  ＣＰＵ、７０１  メモリ、９００  自動配線処理システム。
【図１】
2010102486.tif 000003
【図２】
2010102486.tif 000004
【図３】
2010102486.tif 000005
【図４】
2010102486.tif 000006
【図５】
2010102486.tif 000007
【図６】
2010102486.tif 000008
【図７】
2010102486.tif 000009
【図８】
2010102486.tif 000010
【図９】
2010102486.tif 000011
【図１０】
2010102486.tif 000012
【図１１】
2010102486.tif 000013
【図１２】
2010102486.tif 000014
【図１３】
2010102486.tif 000015
【図１４】
2010102486.tif 000016
【図１５】
2010102486.tif 000017
【図１６】
2010102486.tif 000018
【図１７】
2010102486.tif 000019
【図１８】
2010102486.tif 000020
【図１９】
2010102486.tif 000021
【図２０】
2010102486.tif 000022
【図２１】
2010102486.tif 000023
【図２２】
2010102486.tif 000024
【図２３】
2010102486.tif 000025
【図２４】
2010102486.tif 000026
【図２５】
2010102486.tif 000027
【図２６】
2010102486.tif 000028
【図２７】
2010102486.tif 000029