(57)【特許請求の範囲】
【請求項１】
各作業主体が実行可能な複数の機能の情報を含む作業主体情報を取得する作業主体情報取得手段と、
前記作業主体情報取得手段によって取得された作業主体情報に含まれる機能の内、一又は複数の機能を対応付けた仮想的な装置である仮想装置に関する仮想装置情報を格納する仮想装置情報格納手段と、
製品を製造する一連の工程を示す情報である工程情報を取得する工程情報取得手段と、
前記工程情報取得手段で取得された工程情報に示される前記一連の工程に含まれる各工程に対応する機能を少なくとも包含する１台以上の前記仮想装置の組み合わせを前記仮想装置情報に基づいて特定する仮想装置特定手段と、
前記作業主体情報取得手段により取得された作業主体情報を用いて、前記仮想装置特定手段により前記各工程毎に特定された前記仮想装置の組み合わせに対応付く全ての機能を、実行可能な機能として包含する作業主体の組み合わせを特定し、当該特定した作業主体の組み合わせの中から前記各工程で実行する作業主体の組み合わせを決定し、前記各工程のスケジュールを決定する決定手段と、
を備える情報処理装置。
【請求項２】
前記各作業主体の稼働状況を示す状況情報を取得する状況情報取得手段をさらに備え、
前記決定手段は、前記状況情報取得手段により取得された状況情報に基づいて各工程で実行する作業主体を決定する、請求項１に記載の情報処理装置。
【請求項３】
前記工程情報取得手段により取得された工程情報に示される各工程に対応する機能を示す情報を取得する対応機能情報取得手段をさらに備え、
前記仮想装置特定手段は、前記対応機能情報取得手段により取得された各工程に対応する機能を示す情報を用いて前記仮想装置を特定する、請求項１又は２に記載の情報処理装置。
【請求項４】
前記作業主体情報取得手段は、前記作業主体を実行させるためのコストである実行コストをさらに含む作業主体情報を取得し、
前記決定手段は、前記作業主体情報取得手段により取得された作業主体情報を用いて各工程において実行する候補の作業主体を特定し、前記候補の作業主体の実行コストに基づいて各工程で実行する作業主体を決定する、請求項１〜３の何れか一項に記載の情報処理装置。
【請求項５】
前記作業主体情報取得手段は、作業主体として人を含む作業主体情報を取得する、請求項１〜４の何れか一項に記載の情報処理装置。
【請求項６】
前記各工程に対応する検査工程の情報である検査工程情報を取得する検査工程情報取得手段をさらに備え、
前記仮想装置特定手段は、前記検査工程情報取得手段によって取得された検査工程情報の各検査工程に対応する機能に対応する前記仮想装置をさらに特定する、請求項１〜５の何れか一項に記載の情報処理装置。
【請求項７】
前記作業主体情報取得手段は、前記作業主体の作業場所の情報をさらに含む作業主体情報を取得し、
前記決定手段は、前記作業主体情報取得手段により取得された作業主体情報を用いて各工程において実行する候補の作業主体の場所を特定し、２つの工程間における前記候補の作業主体間の移動によるコストを前記作業主体の場所の間の距離に基づいて算出し、当該コストに基づいて各工程で実行する作業主体を決定する、請求項１〜６の何れか一項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、製品を製造する工程をスケジューリングする情報処理装置に関するものである。
【背景技術】
【０００２】
従来から、サーバがインターネットを介して発注元装置から注文と設計情報とを受信し、当該設計情報に基づいて遠隔地の複数の製造装置に作業させる技術がある。これにより、注文に係る製品を製造させることができる。例えば、特許文献１には、複数のターミナルと通信可能なサーバが、クライアントからの情報を受け取り、プロセス時間を最適化するために各現実の工場のキャパシティに従って各現実の工場にスケジュールをアレンジして、製品を製造することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３４７７１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術は、単にプロセスを実行できる工場を特定しているに過ぎず、それぞれの工場が備える様々な製造装置の機能を考慮したものではない。特に、製造装置が複数の機能を有する場合、効率的に各製造装置を稼働させるためには、製造装置が有する複数の機能を考慮して工程のスケジューリングをする必要がある。
【０００５】
そこで、本発明は、かかる課題に鑑みて為されたものであり、各工場の装置等の実際に工程を処理する主体が複数の機能を有する場合に、効率的に工程をスケジューリングする情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の一側面に係る情報処理装置は、各作業主体が実行可能な複数の機能の情報を含む作業主体情報を取得する作業主体情報取得手段と、作業主体情報取得手段によって取得された作業主体情報に含まれる機能の内、一又は複数の機能を対応付けた仮想的な装置に関する仮想装置情報を格納する仮想装置情報格納手段と、製品を製造する一連の工程を示す情報である工程情報を取得する工程情報取得手段と、工程情報取得手段で取得された工程情報に示される一連の工程に含まれる各工程に対応する機能に対応付けられた仮想装置を仮想装置情報に基づいて特定する仮想装置特定手段と、作業主体情報取得手段により取得された作業主体情報を用いて、仮想装置特定手段により各工程毎に特定された仮想装置に対応付く機能を実行可能な作業主体を特定し、当該特定した作業主体の中から各工程で実行する作業主体を決定し、各工程のスケジュールを決定する決定手段と、を含む。
【０００７】
かかる構成の情報処理装置によれば、仮想装置に対応付けられる機能に基づいて、各工程に対応する仮想装置を特定し、当該仮想装置に対応付く機能を実行可能な作業主体の中から各工程で実行させる作業主体を決定し、各工程のスケジュールを決定する。このように、機能に基づいて、統一的に管理された仮想装置の機能単位で各工程に割り当て、その仮想装置の機能に対応する作業主体を各工程で実行させる作業主体として決定することができるので、各工場の装置等の実際に工程を処理する主体が複数の機能を有する場合に、効率的に工程をスケジューリングすることができる。
【０００８】
また、情報処理装置において、各作業主体の稼働状況を示す状況情報を取得する状況情報取得手段をさらに備え、決定手段は、状況情報取得手段により取得された状況情報に基づいて各工程で実行する作業主体を決定してもよい。
【０００９】
かかる構成を採れば、各作業主体の稼働状況を示す状況情報に基づいて各工程で実行する作業主体を決定するので、適切に稼働している作業主体を各工程で実行する作業主体に決定することができる。
【００１０】
また、情報処理装置において、工程情報取得手段により取得された工程情報に示される各工程に対応する機能を示す情報を取得する対応機能情報取得手段をさらに備え、仮想装置特定手段は、対応機能情報取得手段により取得された各工程に対応する機能を示す情報を用いて仮想装置を特定してもよい。
【００１１】
この場合、工程情報と機能とを対応付けた情報を取得して、当該情報を用いて工程に対応する仮想装置を特定するので、適切に工程に対応する仮想装置を決定できる。
【００１２】
また、情報処理装置において、作業主体情報取得手段は、作業主体を実行させるためのコストである実行コストをさらに含む作業主体情報を取得し、決定手段は、作業主体情報取得手段により取得された作業主体情報を用いて各工程において実行する候補の作業主体を特定し、候補の作業主体の実行コストに基づいて各工程で実行する作業主体を決定してもよい。
【００１３】
この場合、各作業主体の実行コストに基づいて各工程で実行する作業主体を決定するので、例えば、実行コストが相対的に高い作業主体を、各工程で実行する作業主体に決定してしまうことを回避することができる。すなわち、効率的に工程をスケジューリングすることができる。
【００１４】
また、情報処理装置において、作業主体情報取得手段は、作業主体として人を含む作業主体情報を取得してもよい。この場合、作業主体として作業員などの人も考慮して、工程をスケジューリングすることができる。
【００１５】
また、情報処理装置において、各工程に対応する検査工程の情報である検査工程情報を取得する検査工程情報取得手段をさらに備え、仮想装置特定手段は、検査工程情報取得手段によって取得された検査工程情報の各検査工程に対応する機能に対応する仮想装置をさらに特定してもよい。
【００１６】
この場合、情報処理装置において、各工程に対応する検査工程を特定し、当該検査工程に対応する機能に対応する仮想装置を特定するので、検査工程も考慮して効率的に工程をスケジュールすることができる。
【００１７】
また、情報処理装置において、作業主体情報取得手段は、作業主体の作業場所の情報をさらに含む作業主体情報を取得し、決定手段は、作業主体情報取得手段により取得された作業主体情報を用いて各工程において実行する候補の作業主体の場所を特定し、２つの工程間における前記候補の作業主体間の運搬によるコストである運搬コストを作業主体の場所の間の距離に基づいて算出し、当該運搬コストに基づいて各工程で実行する作業主体を決定してもよい。
【００１８】
この場合、各工程に対応する運搬コストに基づいて各工程で実行する作業主体を決定するので、例えば、運搬コストが相対的に高くなってしまう作業主体を、各工程で実行する作業主体に決定してしまうことを回避することができる。すなわち、効率的に工程をスケジューリングすることができる。
【発明の効果】
【００１９】
本発明によれば、各工場の装置等の実際に工程を処理する主体が複数の機能を有する場合に、効率的に工程をスケジューリングすることができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の好適な一実施形態に係る情報処理システムの構成概略図である。
【図２】図１のスケジュールサーバ１０の機能構成を示すブロック図である。
【図３】作業主体属性テーブルに格納されたデータの構成の一例を示す図である。
【図４】作業主体機能テーブルに格納されたデータの構成の一例を示す図である。
【図５】状況情報ＤＢ１４に記憶されているデータのデータ構成の一例を示す図である。
【図６】仮想装置情報ＤＢ１６に記憶されているデータのデータ構成の一例を示す図である。
【図７】工程決定部１７で記憶されているデータのデータ構成の一例を示す図である。
【図８】対応機能情報ＤＢ１９に記憶されているデータのデータ構成の一例を示す図である。
【図９】工程と仮想機能との対応関係の一例を示す図である。
【図１０】工程と仮想装置との対応関係の一例を示す図である。
【図１１】工程と仮想装置との対応関係を示す情報出力例を示す図である。
【図１２】工程間情報ＤＢ２２に記憶されているデータのデータ構成の一例を示す図である。
【図１３】工程を更新する処理イメージの例を示す図である。
【図１４】プラン情報の一例を示す図である。
【図１５】作業主体情報を登録する処理を示すフローチャートである。
【図１６】端末装置３０による製造実行要求に関する処理を示すフローチャートである。
【図１７】スケジュールサーバ１０によるスケジュール決定処理を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、添付図面を参照して本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は相当要素には同一の符号を付し、重複する説明を省略する。
【００２２】
図１は、本発明の一実施形態に係る情報処理システム１の構成概略図である。同図に示される情報処理システム１は、ある製品（例えば、電子機器）を製造するための一連の工程を実行する作業主体を決定するシステムである。ここで、作業主体とは、製品を製造するための工程において作業を行う主体であって、具体的には、各種製造装置（３Ｄプリンタ、加工機器、検査機器、運搬機械等）及び人である作業員が含まれる。情報処理システム１には、上記一連の工程を実行する作業主体を決定するスケジュールサーバ１０と、製品の製造要求を行う複数の端末装置３０（端末装置３０Ａ〜端末装置３０Ｃ）と、上記一連の工程の各工程に係る作業を実行する装置の情報を管理（記憶、編集）する複数の工場サーバ４０（工場サーバ４０Ａ〜工場サーバ４０Ｃ）とを含んで構成される。これらの端末装置３０とスケジュールサーバ１０と工場サーバ４０とは、イーサネット（登録商標）に準拠したＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）等の通信ネットワークを介して互いに通信可能に接続されている。
【００２３】
端末装置３０は、パーソナルコンピュータ、携帯電話機等の情報処理端末である。スケジュールサーバ１０及び工場サーバ４０は、サーバ装置等に代表される情報処理装置である。スケジュールサーバ１０、端末装置３０、及び工場サーバ４０は、物理的には、１又は複数のＣＰＵと、ＲＡＭ及びＲＯＭ等の主記憶装置と、外部とパケットデータ及び制御信号を含む信号を送受信するデータ送受信デバイスである通信モジュールと、半導体メモリ及びハードディスク装置等の補助記憶装置と、マウス、タッチパネル及びキーボード等の入力デバイスと、ディスプレイ及びスピーカ等の出力デバイスとを含むコンピュータシステムとして構成されている。スケジュールサーバ１０、端末装置３０、及び工場サーバ４０の各機能は、ＣＰＵ、ＲＡＭ等のハードウェア上に１又は複数の所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵの制御のもとで通信モジュール、入力デバイス、及び出力デバイスを動作させるとともに、ＲＡＭや補助記憶装置におけるデータの読み出し及び書き込みを行うことで実現される。
【００２４】
端末装置３０は、製品の設計図等の製品の情報をスケジュールサーバ１０へ送ると共に、当該スケジュールサーバ１０へ製品の製造要求を送る。スケジュールサーバ１０は、当該製品の設計図の情報に基づいて製造するための一連の工程を決定し、その後に当該一連の工程の各工程を実行させるための費用（コスト）等を決定する。スケジュールサーバ１０は、各工程で作業する作業主体に動作させるための費用の見積もりのデータを端末装置３０へ送信する。端末装置３０は、当該見積もりのデータを受信し、当該見積もりに問題が無いことが端末装置３０のユーザによって入力された場合又は複数見積もりのデータがある場合であって、何れかの見積もりデータが端末装置３０のユーザによって選択入力された場合、その旨をスケジュールサーバ１０へ送信する。スケジュールサーバ１０は、端末装置３０から見積もりに問題無い旨又は何れかの見積もりのデータが端末装置３０のユーザによって選択入力された旨を受信すると、各工程で作業させる作業主体を管理する工場サーバ４０へ作業実行要求をする。作業主体は、工場サーバ４０が受信した作業実行要求に基づいて各工程を実行する。これにより、一連の工程の実行により製品が製造される。
【００２５】
工場サーバ４０は、当該工場サーバ４０が属する工場内に配置されている作業主体の情報を管理するサーバ装置である。工場サーバ４０は、作業主体に関する情報（作業主体の属性情報、作業主体の状況を示す情報）をスケジュールサーバ１０へ送信したり、スケジュールサーバ１０からの作業実行要求に応じて、当該作業実行要求対象の作業主体の作業に関する予約管理をしたりする。
【００２６】
次に、スケジュールサーバ１０の機能構成について説明する。図２は、スケジュールサーバ１０の機能構成を示すブロック図である。スケジュールサーバ１０は、機能的には、作業主体情報取得部１１（作業主体情報取得手段）、作業主体情報ＤＢ１２、状況情報取得部１３（状況情報取得手段）、状況情報ＤＢ１４、仮想装置情報登録部１５（仮想装置情報格納手段）、仮想装置情報ＤＢ１６、工程決定部１７（工程情報取得手段、検査工程情報取得手段）、対応機能情報取得部１８（対応機能情報取得手段）、対応機能情報ＤＢ１９、仮想装置特定部２０（仮想装置特定手段）、工程間情報ＤＢ２２、スケジュール決定部２１（決定手段）、及び実行要求部２３を備えている。以下、スケジュールサーバ１０の各機能部の機能について詳細に説明する。
【００２７】
作業主体情報取得部１１は、作業主体情報を工場サーバ４０から取得する。ここで作業主体情報とは、作業主体に関する情報であり、各作業主体が実行可能な複数の機能の情報も含み得る。例えば、工場において、新たな装置が導入されたり、新たな作業員が配置されたりすると、当該工場に属する工場サーバ４０が、新たな作業主体を示す作業主体情報をスケジュールサーバ１０へ送信する。作業主体情報取得部１１は、工場サーバ４０から作業主体情報を取得し、当該作業主体情報を作業主体情報ＤＢ１２へ格納する。なお、作業主体情報取得部１１は、取得した作業主体情報に機能を示す情報が含まれていない場合、当該作業主体の機能を含む情報（例えば、仕様表）を別途取得し、当該作業主体の機能を別途抽出し、作業主体情報ＤＢ１２へ格納する。
【００２８】
作業主体情報ＤＢ１２は、作業主体情報取得部１１によって取得された作業主体情報を記憶するデータベースである。作業主体情報ＤＢ１２は、作業主体自体の属性を示す作業主体属性情報を記憶する作業主体属性テーブルと、作業主体の機能を示す作業主体機能情報を記憶する作業主体機能テーブルとを記憶する。
【００２９】
ここで、作業主体情報ＤＢ１２が記憶する作業主体属性テーブルのデータ構造を図３を用いて説明する。作業主体属性テーブルにおいては、作業主体を一意に特定する項目“装置ＩＤ”毎に、工場を一意に特定する項目“工場ＩＤ”と、作業主体の種類を説明する項目“装置説明”と、作業主体の所有者を特定する項目“所有者”と、作業主体の位置（作業場所）を特定する項目“位置”と、作業主体の型式を特定する項目“型式”と、作業主体を利用可能な期間を特定する項目“利用可能期間”と、他の作業主体との接続可否を示す項目“接続情報”とが対応付けて記憶されている。例えば、“装置ＩＤ”が“３ＤＰ−００−０００２−００”に対応する作業主体“３次元プリンタ”は、“工場ＩＤ”が“ＦＩＤ−００−０１２０”の工場に位置していることを意味する。なお、上記“位置”には、工場の位置として住所又は緯度経度（例えば、ＧＰＳにより測定された緯度経度）が入力される。また、上記作業主体“３次元プリンタ”は、“利用可能期間”の項目に基づき、２０１５年１月１日から２０１５年１２月２０日まで利用できることを意味する。また、“装置ＩＤ”が“ＭＣＨ−０１−１３４−０１”に対応する作業主体は、“装置説明”が“通常作業員×３名”であることを意味する。このように、作業主体として作業員（人）も含まれている。すなわち、作業主体情報取得部１１は、作業主体として人を含む作業主体情報を取得する。
【００３０】
続いて、作業主体機能テーブルのデータ構造を図４を用いて説明する。作業主体機能テーブルにおいては、作業主体を一意に特定する項目“装置ＩＤ”、及び同一作業主体における機能を一意に特定する項目“機能番号”毎に、工場を一意に特定する項目“工場ＩＤ”と、機能を一意に特定する項目“機能名称”と、作業主体における機能の性能を特定する項目“性能”と、作業主体の機能を実行させるためのコスト（実行コスト）を特定する項目“コスト”と、同時に動作可能な機能を特定する項目“同時動作可能な機能”と、機能を実行させるための条件を特定する項目“機能を発する条件”とが対応付けて記憶されている。図４に示した例では、“装置ＩＤ”が“ＲＢＡ−００−００２３−０１”に対応する作業主体は、“機能名称”が“機能−００”、“機能−０１”、“機能−０２”で特定される機能を有することを示している。すなわち、“装置ＩＤ”が“ＲＢＡ−００−００２３−０１”である装置は、“機能−００”、“機能−０１”、及び“機能−０２”の機能を有していることを示している。また、“装置ＩＤ”が“ＭＰＭ−００−２３１−００”で特定される作業主体は、“機能を発する条件”が“Ｘモードで起動”の場合、“機能名称”が“機能−００”、“機能−０１”、及び“機能−０２”の何れかで特定される機能を有し、当該“機能を発する条件”が“Ｙモードで起動”の場合、“機能名称”が“機能−０３”又は“機能−０４”で特定される機能を有する。これは、“装置ＩＤ”が“ＭＰＭ−００−２３１−００”の装置には、ＸモードとＹモードとの複数のモードがあり、Ｘモードの場合、“機能−００”、“機能−０１”、及び“機能−０２”の機能を同時に実行でき、Ｙモードの場合、“機能−０３”及び“機能−０４”を同時に実行できることを示している。また、“コスト”の項目には、初期作業時（装置のセットアップや初期化）、作業完了時（装置のクリーンアップや状態復元）、及び運用時のそれぞれの作業主体の実行に関するコスト（例えば、価格）の情報が入力される。
【００３１】
状況情報取得部１３は、各作業主体の稼働状況を示す状況情報を取得する。状況情報取得部１３は、所定のタイミング（例えば、１日）毎に、各工場サーバ４０へ作業主体の状況確認要求を送信する。各工場サーバ４０は、この状況確認要求に応じて、各作業主体の状況情報をスケジュールサーバ１０へ送信する。状況情報取得部１３は、各工場サーバ４０から作業主体の状況情報を取得すると、当該状況情報を状況情報ＤＢ１４へ格納する。
【００３２】
状況情報ＤＢ１４は、状況情報取得部１３によって取得された状況情報を記憶するデータベースである。図５に、状況情報ＤＢ１４に記憶された状況情報のデータ構成の一例を示す。同図に示すように、状況情報ＤＢ１４においては、作業主体を一意に特定する項目“装置ＩＤ”毎に、当該作業主体の状態を示す“状態”と、現在の状態になった時刻を示す項目“現在の状態になった時刻”と、作業主体の直近のメンテナンス予定を特定する項目“予定メンテ１”と、作業主体の直近の次のメンテナンス予定を特定する項目“予定メンテ２”と、性能変化を特定する項目“性能変化”と、装置の実行予約状況を特定する項目“予約済時間”とを対応付けて記憶している。例えば、“装置ＩＤ”が“３ＤＰ−００−０００２−００”に対応する作業主体は、“状態”が“重故障”であることを意味する。また、“装置ＩＤ”が“３ＤＰ−００−０００２−００”に対応する作業主体は、“予定メンテ１”が“２０１６／１／３  ０：００〜２３：５９”であり、“予定メンテ２”が“２０１６／４／１  ０：００〜２３：５９”であることを意味している。すなわち、２０１６年１月３日の０時から２３時５９分までの間と、２０１６年４月１日の０時から２３時５９分までの間、上記作業主体のメンテナンスのため、上記作業主体を実行できないことを意味している。
【００３３】
また、“装置ＩＤ”が“ＲＢＡ−００−００２３−０１”に対応する作業主体は、“予約済時間”が“２０１６／３／１  １０：００〜１２：００”であることを意味する。すなわち、２０１６年３月１日の１０時〜１２時の間、当該作業主体の実行の予約があるため、再スケジュールをしないかぎりは、新たに上記期間中に当該作業主体の実行の予約をすることができないことを意味している。
【００３４】
仮想装置情報登録部１５は、仮想装置を示す情報（仮想装置情報）を登録する部分である。ここで、仮想装置とは、一又は複数の機能を対応付けた仮想的な装置である。仮想装置情報とは、仮想装置を示す識別情報と、当該仮想装置に対応付けられる機能とを対応付けた情報である。仮想装置情報登録部１５は、仮想装置情報の入力を受け付け、当該仮想装置情報を仮想装置情報ＤＢ１６へ登録（格納）する。なお、仮想装置を機能だけでなく性能も考慮した状態で管理してもよい。その場合は、性能と機能の組み合わせを「性能を制約条件として付け加えた機能」として管理する。たとえば「対象物〇〇を□□の精度（性能）で加工する機能」を機能Ａとして管理し、当該性能を満たさない加工機能を機能Ｂとして管理する。このようにすれば、本明細書に示した仕組みで、性能も合わせて管理することができる。よって、以後は内容の理解を容易にするため、加工速度などのスケジュールに関する性能以外については省略する。
【００３５】
仮想装置情報ＤＢ１６は、仮想装置情報登録部１５によって入力が受け付けられた仮想装置情報を記憶するデータベースである。図６に、仮想装置情報ＤＢ１６に記憶された仮想装置情報のデータ構成の一例を示す。同図に示すように、仮想装置情報ＤＢ１６においては、仮想装置を一意に特定する項目“仮想装置ＩＤ”毎に、当該仮想装置に対応付く機能を特定する一又は複数の機能を特定する項目“機能１”〜“機能１０”を対応付けて記憶している。 説明のために、同図では機能の列数を１０としたが、必ずしも１０に限定するものではない。“機能１”〜“機能１０”は、機能名称等の機能を識別する情報を示し、作業主体機能テーブルの“機能名称”に対応する。例えば、“仮想装置ＩＤ”が“仮想装置−００”に対応する仮想装置は、“機能１”が“機能−００”である機能を有することを意味する。また、“仮想装置ＩＤ”が“仮想装置−０１”である仮想装置には、“機能−００”、“機能−０１”、及び“機能−０４”を含む機能を識別する情報に対応付けられている一方で、当該“機能−０４”を３つ含む機能を識別する情報にも対応付けられている。これは、当該“仮想装置−０１”が示す仮想装置に、複数のモードがあり、モードによって実行可能な機能が異なることを意味している。
【００３６】
工程決定部１７は、端末装置３０から製品の製造要求を受け付けると共に、当該製品の情報及び工程情報を取得する。製品の情報としては、製品の設計図の情報及び製品の製造数の情報が含まれる。また、工程情報とは、製品を製造する一連の工程を示す情報である。例えば、各工程の内容（塗装工程、研磨工程等）を示す情報（例えば、工程を識別する工程ＩＤ）及び工程間の順序を示す情報が含まれる。なお、工程決定部１７は、端末装置３０から工程生成の要求を受け付けた場合に、上記の製品の設計図に基づいて、製品を製造する一連の工程（提案工程）を公知技術により自動生成するようにしてもよい。この場合、工程決定部１７は、端末装置３０に対して生成した工程を示す情報を送信し、端末装置３０から当該生成した工程を示す情報の確認要求を受信するようにしてもよい。
【００３７】
また、工程決定部１７は、上記の一連の工程のそれぞれに検査工程を必要とするか否かを判断する。工程決定部１７は、工程と、当該工程に対応する検査工程とを対応付けた検査工程情報を記憶しており、当該検査工程情報を参照して、上記一連の工程のそれぞれに対応する検査工程があるか否かを判断する。ここで、図７に、検査工程情報のデータ構成の一例を示す。同図に示すように、各工程を一意に特定する項目“検査必要工程ＩＤ”毎に、当該工程に対応付く一又は複数の検査工程を特定する項目“追加検査工程１”〜“追加検査工程１０”を対応付けて記憶している。例えば、“検査必要工程ＩＤ”が“工程−１０”である工程は、“追加検査工程１”が“工程−９９００”である検査工程を必要とすることを意味する。
【００３８】
工程決定部１７は、検査工程情報の中に、上記一連の工程のそれぞれの工程を示すＩＤと同一の“検査必要工程ＩＤ”があるか否かを判断し、それぞれの工程を示すＩＤと同一の“検査必要工程ＩＤ”が無い場合、当該工程には、検査工程が不要であると判断し、検査工程を追加しない。一方、工程決定部１７は、それぞれの工程を示すＩＤと同一の“検査必要工程ＩＤ”が有る場合、当該工程には、検査工程が必要であると判断し、“検査必要工程ＩＤ”に対応する追加検査工程を、当該工程の後の工程に追加する。このように、工程決定部１７は、各工程に対応する検査工程の情報である検査工程情報を取得して、当該検査工程情報に含まれる検査工程を追加する。具体的に、工程決定部１７は、上記工程情報に、検査工程を示す工程ＩＤを追加し、当該検査工程も含めた一連の工程の順序を編集することにより、検査工程を追加する。
【００３９】
工程決定部１７は、上記のように検査工程の必要の有無を判断した後に、全ての工程の間に運搬工程を追加する。具体的に、工程決定部１７は、工程情報に、運搬工程を示す工程ＩＤを追加し、当該運搬工程も含めた一連の工程の順序を編集することにより、運搬工程を追加する。このように、工程決定部１７は、製品を製造するための一連の工程（検査工程、運搬工程を含む）を決定する。工程決定部１７は、決定した工程の情報を対応機能情報取得部１８へ送出する。
【００４０】
対応機能情報取得部１８は、工程決定部１７によって決定された各工程に対応する機能を示す情報を取得する。対応機能情報取得部１８は、工程決定部１７から工程の情報を取得すると、対応機能情報ＤＢ１９に記憶されている対応機能情報を参照し、各工程に対応する機能を示す情報を取得する。
【００４１】
対応機能情報ＤＢ１９は、対応機能情報を記憶するデータベースである。図８に、対応機能情報ＤＢ１９に記憶された対応機能情報のデータ構成の一例を示す。同図に示すように、対応機能情報ＤＢ１９においては、工程を一意に特定する項目“工程ＩＤ”毎に、当該工程に対応付く機能を特定する一又は複数の機能を特定する項目“機能１”〜“機能１０”を対応付けて記憶している。例えば、“工程ＩＤ”が“工程−００”である工程は、“機能１”が“機能−００”である機能が対応付けられていることを意味する。また、“工程ＩＤ”が“工程−０５”の工程には、“機能−０４”、“機能−０４”、“機能−０４”、及び“機能−０３”が対応付けられている。これは、“工程−０５”の工程では、“機能−０４”の機能を３つと、“機能−０３”の機能とを同時に実行する必要があることを示す。
【００４２】
対応機能情報取得部１８は、工程決定部１７によって決定された各工程の工程ＩＤと同一の“工程ＩＤ”に対応する機能を特定する情報（“機能１”〜“機能１０”に記憶されている情報）を対応機能情報ＤＢ１９から取得する。対応機能情報取得部１８は、工程決定部１７から取得した工程情報に含まれる各工程に当該工程に対応する機能の情報を対応付けた情報（実行工程対応機能情報）を付加した情報を、仮想装置特定部２０へ送出する。
【００４３】
例えば、対応機能情報取得部１８は、一連の工程における各工程の工程ＩＤが“工程−００”、“工程−０１”、“工程−０２”、及び“工程−０５”である工程情報を工程決定部１７から取得したものとする。そうすると、対応機能情報取得部１８は、対応機能情報を参照して、それぞれの工程ＩＤに対応する機能ＩＤを取得する。具体的に、対応機能情報取得部１８は、“工程−００”に対応する機能である“機能−００”を取得する。同様に、対応機能情報取得部１８は、“工程−０１”に対応する機能である“機能−０１”及び“機能−０３”を取得し、“工程−０２”に対応する機能である“機能−０３”及び“機能−０４”を取得し、“工程−０５”に対応する機能である“機能−０４”、“機能−０４”、“機能−０４”、及び“機能−０３”を取得する。
【００４４】
そして、対応機能情報取得部１８は、図９に示すような、上記の各工程と、当該各工程に対応する機能（仮想機能）とを対応付けた実行工程対応機能情報を生成し、当該実行工程対応機能情報を仮想装置特定部２０へ送出する。図９に示す例では、“工程−００”、“工程−０１”、“工程−０２”、“工程−０５”の順に工程を実行することを示している。また、“工程−００”では、“機能−００”を実行し、“工程−０１”では、“機能−０１”及び“機能−０３”を実行し、“工程−０２”では、“機能−０３”及び“機能−０４”を同時実行し、“工程−０５”では、“機能−０４”、“機能−０４”、“機能−０４”、及び“機能−０３”を同時実行することを示している。
【００４５】
仮想装置特定部２０は、工程情報に示される一連の工程に含まれる各工程に対応する機能に対応付けられた仮想装置を仮想装置情報に基づいて特定する。具体的に、仮想装置特定部２０は、対応機能情報取得部１８から実行工程対応機能情報を取得し、当該実行工程対応機能情報を用いて仮想装置を特定する。すなわち、仮想装置特定部２０は、対応機能情報取得部１８により取得された各工程に対応する機能を示す情報を用いて仮想装置を特定する。
【００４６】
また、仮想装置特定部２０は、上記の実行工程対応機能情報が示す工程には、検査工程も含まれているので、検査工程情報の示す各検査工程に対応する機能に対応する仮想装置も特定することになる。
【００４７】
具体的には、仮想装置特定部２０は、対応機能情報取得部１８から取得した実行工程対応機能情報に含まれる各工程毎に、当該工程に対応する仮想装置を決定する。例えば、仮想装置特定部２０が、図９に示したような実行工程対応機能情報を対応機能情報取得部１８から取得したものとする。仮想装置特定部２０は、対応機能情報取得部１８から取得した実行工程対応機能情報の内、第一工程である“工程−００”に対応する機能（“機能−００”）を有する仮想装置を特定する。仮想装置特定部２０は、仮想装置情報ＤＢ１６を参照し、当該“機能−００”を有する仮想装置を特定する。仮想装置特定部２０は、図６に示した仮想装置情報を参照して、“機能−００”を機能（“機能１”〜“機能１０”）として有する“仮想装置ＩＤ”を特定する。その結果、仮想装置特定部２０は、“機能−００”を有する“仮想装置−００”を特定する。仮想装置特定部２０は、第二工程及び第三工程の工程についても同様に、仮想装置（“仮想装置―０１”）を特定する。
【００４８】
また、仮想装置特定部２０は、第四工程である“工程−０５”に対応する機能（“機能−０４”、“機能−０４”、“機能−０４”、及び“機能−０３”）を有する仮想装置を特定する。図６に示した仮想装置情報の各仮想装置は、上記“工程−０５”に対応する機能を有しない。そこで、仮想装置特定部２０は、“機能−０１”、“機能−０３”、及び“機能−０４”を機能として有する“仮想装置−０１”と、“機能−０４”、“機能−０４”、及び“機能−０４”を機能として有する“仮想装置−０１”とを第四工程の仮想装置の候補として特定する。また、仮想装置特定部２０は、“機能−０４”、“機能−０４”、及び“機能−０４”を機能として有する“仮想装置−０１”と、“機能−０３”を機能として有する“仮想装置−０２”とを第四工程の仮想装置の候補として特定する。このように、仮想装置特定部２０は、第四工程の工程について、異なる“仮想装置―０１”を複数モードで起動するパターンと、“仮想装置―０１”及び“仮想装置―０２”を同時に使うパターンの２パターンを特定する。
【００４９】
仮想装置特定部２０は、上記のように各工程に対して仮想装置を特定した結果に基づいて、各工程に仮想装置を対応付けた仮想装置構成を示す情報（仮想装置特定結果情報）を生成する。この仮想装置特定結果情報の例を図１０に示す。図１０に示すように、第一工程（工程−００）には、仮想装置−００を対応付けて、第二工程（工程−０１）及び第三工程（工程−０２）には、仮想装置−０１を対応付ける。第四工程（工程−０５）に対しては、上述のように２パターン（仮想装置−０１を複数利用するパターン、仮想装置−０１及び仮想装置−０２を利用するパターン）の仮想装置を対応付ける。仮想装置特定部２０は、当該仮想装置特定結果情報に基づいた視覚的な情報（仮想装置確認情報）を端末装置３０へ送信する。この視覚的な情報の例を図１１に示す。図１１は、工程１〜工程５の５つの工程を示す工程情報のそれぞれに対応する仮想装置を視覚的に紐づけた工程グラフの例である。同図では、工程グラフの説明を分かりやすくするため、図１０に示した工程とは異なる例をあげている。また、簡易化のため、一つの工程に一つの仮想装置が対応する例にしてある。図１１に示すように、仮想装置特定部２０は、当該視覚的な情報として、工程１〜工程５の工程順を示す工程グラフと、各工程に対応する仮想装置を示す情報を送信する。なお、図１０に示したように２パターンの仮想装置構成がある場合、それぞれのパターンの仮想装置確認情報を、仮想装置構成の確認又は選択要求とともに端末装置３０へ送信する。
【００５０】
仮想装置特定部２０は、端末装置３０から仮想装置構成の確認又は選択した旨の通知が受信されると、確認又は選択された仮想装置確認情報に対応する仮想装置特定結果情報をスケジュール決定部２１へ送出する。
【００５１】
スケジュール決定部２１は、作業主体情報を用いて、仮想装置特定部２０により特定された仮想装置に対応付く機能を、同機能を利用する際のモードを考慮した状態で、実行可能な作業主体を特定し、当該特定した作業主体の中から各工程で実行する作業主体を決定し、各工程のスケジュールを決定する。スケジュール決定部２１は、特定した作業主体の中から各工程で実行する作業主体を決定する際に、状況情報取得部１３により取得された状況情報（状況情報ＤＢ１４に格納されている状況情報）に基づいて各工程で実行する作業主体を決定する。また、スケジュール決定部２１は、特定した作業主体（各工程で実行する作業主体の候補）の実行コストに基づいて各工程で実行する作業主体を決定する。また、スケジュール決定部２１は、作業主体情報を用いて各工程において実行する候補の作業主体の場所を特定し、２つの工程間における候補の作業主体間の移動によるコストを作業主体間の場所の距離に基づいて算出し、当該コストに基づいて各工程で実行する作業主体を決定する。なお、スケジュール決定部２１は、距離だけでなく、運搬方法（例えば、トラック、無人搬送車等）の情報にさらに基づいて移動によるコストを算出するようにしてもよい。
【００５２】
まず、スケジュール決定部２１は、仮想装置特定部２０から仮想装置特定結果情報を受信する。スケジュール決定部２１は、当該仮想装置特定結果情報に基づき、工程の結合又は工程の順序変更を実行する。スケジュール決定部２１は、工程間情報ＤＢ２２に記憶されている情報を用いて、工程の結合又は工程の順序変更を実行する。
【００５３】
工程間情報ＤＢ２２は、工程間の関係を示す情報を記憶するデータベースである。工程間情報ＤＢ２２は、結合可能な工程を示す結合可能テーブルと、工程順を変換できる工程を示す工程可変テーブルとを記憶する。
【００５４】
ここで、結合可能テーブルのデータ構造を図１２（Ａ）を用いて説明する。結合可能テーブルにおいては、結合後の工程を一意に特定する項目“結合後工程”毎に、互いに結合可能な工程である一又は複数の工程を特定する項目“要素工程Ａ”〜“要素工程Ｃ”と補足情報を特定する項目“補足”を対応付けて記憶している。例えば、 “工程６”に対応する結合後の工程は、“要素工程Ａ”が“工程２”である工程と、“要素工程Ｂ”が“工程４”である工程とが結合されうる工程であることを意味する。例えば、工程２は、電子基板上のＲＯＭへのソフトウェアの書き込み、工程４がＲＯＭへの設定データの書き込みであり、同一機能を使う工程である。これらはともにデータ書込み機能のため、書き込みデータをまとめれば工程を統合することができる。このように統合してもよい工程は、結合可能である旨、予め結合可能テーブルで定義されている。
【００５５】
続いて、工程可変テーブルのデータ構造を図１２（Ｂ）を用いて説明する。工程可変テーブルにおいては、工程を一意に特性する項目“要素工程Ａ”と、当該工程と順序可変である工程を一意に特定する項目“要素工程Ｂ”とが対応付けて記憶されている。例えば、“要素工程Ａ”が“工程１”である工程は、“要素工程Ｂ”が“工程６”である工程と順序が入れ替え可能であることを意味する。すなわち、工程１と工程６との順序を変更することができることを意味する。
【００５６】
スケジュール決定部２１が工程を結合したり、順序変更したりする例を図１３を用いて説明する。まず、図１３（Ａ）に示すように、工程１〜工程５の工程グラフを示す情報が入力されているものとする。この場合に、図１３（Ｂ）に示すように、工程決定部１７によって、検査工程及び運搬工程が挿入される。この後に、図１３（Ｂ）に示すような工程に基づいて、仮想装置特定部２０が仮想装置を特定した後に、スケジュール決定部２１が仮想装置特定結果情報を取得する。スケジュール決定部２１は、まず工程間を結合できるか否かを図１２（Ａ）に示した結合可能テーブルを参照して判断する。図１３（Ｂ）の例の場合、結合可能テーブルにより、工程２と工程４とが結合可能であると判断する。そこで、スケジュール決定部２１は、工程２及び工程４を結合し、これらの工程を工程６に変更し、図１３（Ｃ）のように工程を更新する。また、工程３と検査工程４とが同一の機能であった場合、工程３と検査工程４との間にある運搬工程５を削除する。この結果、図１３（Ｄ）に示すように工程を更新する。
【００５７】
続いて、スケジュール決定部２１は、工程の順番の入れ替えが可能か否かを判断する。スケジュール決定部２１は、工程可変テーブルを参照し、工程１が、工程６、工程３、及び工程５と順番入れ替え可能であるので、工程１を工程５の前又は後に変更する。この結果、図１３（Ｅ）に示すような結果となる。
【００５８】
続いて、スケジュール決定部２１は、作業主体情報ＤＢ１２を参照し、各工程に対応する仮想装置が有する機能を包含する機能を有する作業主体を全て取得する。このとき、必ずしも作業主体単体の機能で仮想装置の機能を包含する必要はなく、作業主体の組み合わせで仮想装置の機能を包含するようにしても構わない。具体的には、スケジュール決定部２１は、仮想装置情報ＤＢ１６を参照して、対象となる仮想装置（各工程に特定された仮想装置）の仮想装置ＩＤに対応する機能（“機能１”〜“機能１０”）を取得する。そして、スケジュール決定部２１は、作業主体機能テーブルを参照し、当該機能全てを包含しうる作業主体又はその組み合わせを特定する（例えば、特定した作業主体における“装置ＩＤ”を取得する）。さらに、スケジュール決定部２１は、取得した作業主体に対応する予約状況を示す情報を状況情報ＤＢ１４から取得する。具体的には、スケジュール決定部２１は、状況情報ＤＢ１４を参照し、当該“装置ＩＤ”に対応する“状態”、“予定メンテ１”、“予定メンテ２”、及び“予約済時間”を取得し、取得した情報と“装置ＩＤ”とを対応付けてメモリ上で記憶しておく。
【００５９】
続いて、スケジュール決定部２１は、工程決定部１７によって受信された製品の数量が、予め製品毎に定められているロット数の何倍か算出する。続いて、スケジュール決定部２１は、ロットの単位毎に以下に示す処理を実施する。すなわち、スケジュール決定部２１は、更新後の各工程に紐づけられた作業主体の空き時間を予約状況を示す情報（“予約済時間”、“予定メンテ１”、“予定メンテ２”）を用いて特定する。続いて、第一工程から最後の工程までの順に以下の（１）〜（５）の処理を実施する。まず、（１）第一工程に紐づく作業主体の空き時間を取得する（第１時間）。 続いて、（２）各作業主体の性能情報とロット数から１ロット処理するのに必要な時間を算出する（第２時間）。（３）第１時間＞第２時間である場合、スケジュール決定部２１は、当該作業主体を実施可能であると判断し、その旨をメモリに記憶する。（４）スケジュール決定部２１は、工程ＩＤ及びロット番号を含むユニークな名称をつけて作業主体の仮予約をメモリに記憶しておく。（５）スケジュール決定部２１は、実施可能となった作業主体の完了時間を次の工程の開始時間として、（１）〜（４）の処理と同じ処理を実施し、最終工程まで実施する。なお、最終工程まで仮予約できたものはそのロットが成立したとする。これを全てのロットについて実施する。スケジュール決定部２１は、最終工程まで仮予約が成立したスケジュール候補の情報（工程ＩＤ、ロット番号、作業主体のＩＤ、利用時間）をプラン情報としてメモリに記憶する。最終工程まで成立しなかった場合は、仮予約を解除する。なお、説明を簡単にするために、全ての工程でロット数が同じとしたが、必ずしも同じである必要はない。工程毎にロット数が異なる場合もある。そのような場合は、工程間にロット数の差を補うための仮保管領域を用意すれば対応できる。また、製品によっては同じ形状の商品が複数個組み付けられる場合もある。そのような場合は、全ての工程が同じ回数だけロット処理をするわけではない。工程によっては他よりも多いロット処理が行われることもある。言い換えると、他に比べて少ないロット処理の回数しかない工程が存在する。回数の少ない工程については、スケジュール割当ての回数を減らすなどして対応する。
【００６０】
続いて、スケジュール決定部２１は、上記のプラン情報毎に、各作業主体を何時間使用するか計算し、作業主体情報ＤＢ１２の作業主体機能テーブルのコスト情報（“コスト”）に基づいて実行コストを算出する。また、スケジュール決定部２１は、プラン毎に全工程の実行コストを合算することで費用（プランを実行するための価格）を算出する。なお、運搬工程については、工程間の場所情報に基づいた移動距離に基づいて運搬コストを算出して、運搬工程で実行する作業主体の実行コストに当該運搬コストを付加して上記費用を算出してもよい。スケジュール決定部２１は、プラン毎にプラン情報に基づいて最終完了日も特定する。スケジュール決定部２１は、当該プラン毎に算出した費用、納期、工程、及び使用する仮想装置を示す情報（見積もりデータ）を生成し、端末装置３０へ送信する。この情報例を図１４（Ａ）に示す。図１４（Ａ）に示すように、当該見積もりデータは、プランを一意に特定する項目“プラン番号”毎に、当該プランを実行するための価格を示す項目“価格”と、納期を示す項目“納期”と、当該プランの工程を示す項目“工程”と、工程で使用する仮想装置を示す項目“使用する仮想装置”とを対応付けた情報である。例えば、“プラン番号”が“０”に対応するプランは、“価格”が“１０３９１３円”で、“工程”が“工程Ａ→工程Ｂ→工程Ｃ”で、“使用する仮想装置”が“仮想装置Ａ×２台、仮想装置Ｃ×１台”であることを示している。上記“プラン番号”は、プラン毎に一意となるように付された番号である。“納期”は、端末装置３０へ見積もりデータを送信してから納品するまでの納期を示し、具体的には、端末装置３０へ見積もりデータを送信する日から上記最終完了日までの期間である。“工程”は、プランに対応する工程の内、検査工程及び運搬工程を除いた工程である。スケジュール決定部２１は、仮想装置特定部２０から受信した仮想装置特定結果情報が示す工程の内、検査工程及び運搬工程を除いた工程を上記“工程”とする。“使用する仮想装置”は、仮想装置特定部２０から受信した仮想装置特定結果情報が示す仮想装置である。
【００６１】
なお、スケジュール決定部２１は、図１４（Ｂ）に示すように、使用する作業主体及び当該作業主体が実行する時間を示す項目“使用する実装置（予定）”と、実際の工程情報を示す項目“実際の工程情報（予定）”と、製造製品が最終的に出荷される場所を特定する“最終出荷場所”とを示すスケジュール補足情報も生成している。“使用する実装置（予定）”は、使用する作業主体を示す情報であり、スケジュール決定部２１が特定したプラン情報に含まれる作業主体のＩＤ及び利用時間から導かれる期間を示す。“実際の工程情報（予定）”は、仮想装置特定部２０から受信した仮想装置特定結果情報の工程情報である。“最終出荷場所”は、実際の工程の最終工程の機能を実行する作業主体の工場の場所を示す。端末装置３０から上記見積もりデータの内、選択された見積もりデータを受信すると、当該見積もりデータ及びスケジュール補足情報を実行要求部２３へ送信する。
【００６２】
実行要求部２３は、上記のように選択された見積もりデータに対応する作業主体の作業実行要求を工場サーバ４０へ通知する。具体的に、実行要求部２３は、上記のように選択された見積もりデータ及びスケジュール補足情報をスケジュール決定部２１から取得すると、当該スケジュール補足情報の“使用する実装置（予定）”の項目内の各作業主体の状況情報に対して、予約情報（予約時間等）を登録する。具体的に、実行要求部２３は、状況情報ＤＢ１４を参照し、対象となる作業主体の“装置ＩＤ”に対応する“予約済時間”に上記見積もりデータに基づく時間を加算するように更新する。続いて、実行要求部２３は、当該プランに対応する各作業主体が属する工場の工場サーバ４０へ作業主体のＩＤ及び作業時間を通知すると共に、作業実行要求を送信する。
【００６３】
以下、情報処理システム１の各種処理の動作手順について説明する。まず、図１５を参照しながら、作業主体情報取得部１１が作業主体情報を作業主体情報ＤＢ１２へ登録する手順について説明する。作業主体情報取得部１１は、各工場サーバ４０から作業主体情報の登録要求を受信すると共に、作業主体情報を取得する（ステップＳ１）。作業主体情報取得部１１は、当該作業主体情報に機能を示す情報が含まれている場合、当該機能を示す情報（例えば、仕様表）から機能を特定する（ステップＳ２）。作業主体情報取得部１１は、取得した作業主体情報の内、作業主体の属性に関する情報を作業主体属性テーブルへ登録し、作業主体の機能を示す作業主体機能情報を作業主体機能テーブルへ登録する（ステップＳ３）。
【００６４】
続いて、図１６を参照しながら、端末装置３０が製品の製造要求を送信してから、作業割当依頼（製造実行要求）を送信するまでの処理手順を説明する。まず、端末装置３０は、製品の製造要求を送信すると共に、製品の設計図等の製品の情報をスケジュールサーバ１０へ送信する（ステップＳ１１）。端末装置３０は、上記製造要求の受信時に工程情報を送信する場合（ステップＳ１２：ＹＥＳ）、工程情報をスケジュールサーバ１０へ送信し（ステップＳ１３）、ステップＳ１６へ進む。また、端末装置３０は、上記製造要求時に工程情報を送信しない場合（ステップＳ１２：ＮＯ）、スケジュールサーバ１０へ工程提案依頼（工程情報の送信要求）を送信する（ステップＳ１４）。端末装置３０は、提案工程を受信し（ステップＳ１５）、当該端末装置３０のユーザの入力により当該提案工程の了承がなされると、その旨をスケジュールサーバ１０へ送信する。その後、スケジュールサーバ１０から工程に対応する仮想装置の情報（仮想装置確認情報）を受信する（ステップＳ１６）。ユーザの入力によりこの情報の了承がなされると、端末装置３０は、製作量、納期、及び価格の見積もり要求をスケジュールサーバ１０へ送信する（ステップＳ１７）。その後、スケジュールサーバ１０から見積もり及び利用する仮想装置の情報（プラン情報）を受信する（ステップＳ１８）。当該見積もり及び利用する仮想装置の情報について、修正希望を示す入力がユーザによってなされると、端末装置３０は、工程修正結果を送信する（ステップＳ２０）。ここで工程修正結果の例として、工程の修正等が該当する。一方、見積もり及び利用する仮想装置の情報について、了承する旨の入力がなされると、（ステップＳ１９：ＹＥＳ）、端末装置３０は、その旨の情報をスケジュールサーバ１０へ送信すると共に、作業割当依頼をする。
【００６５】
次に、図１７を参照しながら、スケジュールサーバ１０が製品を製造するためのスケジュールを決定する処理の動作手順を説明する。図１７は、スケジュールサーバ１０が製品を製造するスケジュールを決定する動作を示すフローチャートである。
【００６６】
まず、工程決定部１７は、端末装置３０から製品の設計図等の製品の情報を受信すると共に製品の製造要求を受け付ける（ステップＳ３１）。当該製造要求を受信した際に、端末装置３０から工程情報の送信要求も受け付けていた場合（ステップＳ３２：ＹＥＳ）、提案工程を作成し（ステップＳ３３）、提案工程を送信する（ステップＳ３４）。一方、端末装置３０から工程情報の送信要求を受け付けていない場合（ステップＳ３２：ＮＯ）、端末装置３０から工程情報を受信する（ステップＳ３５）。続いて、対応機能情報取得部１８が工程に対応する機能を取得し、仮想装置特定部２０が、工程と機能との対応関係と、仮想装置と機能との対応関係に基づいて、候補になりうる１又は複数の仮想装置を特定する（ステップＳ３６）。続いて、スケジュール決定部２１は、各工程の更新を行い（ステップＳ３７）、状況情報ＤＢ１４から状況情報を取得する（ステップＳ３８）。スケジュール決定部２１は、当該状況情報、運搬コスト、及び実行コストに基づいて工程のスケジューリングを行う（ステップＳ３９）。スケジュール決定部２１は、スケジューリング結果を端末装置３０へ送信する（ステップＳ４０）。端末装置３０から修正要求を受信した場合（ステップＳ４１：ＮＯ）、ステップＳ３５へ進む。また、端末装置３０から修正要求が無い場合（ステップＳ４１：ＹＥＳ）は作業割当て依頼を受け取り、実行要求部２３は、スケジューリングした作業主体についての予約情報を登録すると共に、各工場サーバ４０へ対象の作業主体に対する作業実行要求を送信して（ステップＳ４２）、処理を終了する。
【００６７】
以上説明した情報処理システム１のスケジュールサーバ１０によれば、仮想装置特定部２０が仮想装置に対応付けられる機能に基づいて、各工程に対応する仮想装置を特定し、スケジュール決定部２１が当該仮想装置に対応付く機能を実行可能な作業主体の中から各工程で実行する作業主体を決定し、各工程のスケジュールを決定する。このように、スケジュールサーバ１０は、機能に基づいて、統一的に管理された仮想装置の機能単位で各工程に割り当て、その仮想装置の機能に対応する作業主体を各工程で実行させる作業主体として決定することができるので、各工場の装置等の実際に工程を処理する主体が複数の機能を有する場合に、効率的に工程をスケジューリングすることができる。
【００６８】
また、状況情報取得部１３は、各作業主体の稼働状況を示す状況情報を取得し、スケジュール決定部２１は、状況情報取得手段により取得された状況情報及び予約状況に基づいて各工程で実行する作業主体を決定する。かかる構成を採れば、各作業主体の稼働状況を示す状況情報に基づいて各工程で実行する作業主体を決定するので、適切に稼働している作業主体を各工程で実行する作業主体に決定することができる。
【００６９】
また、対応機能情報取得部１８は、工程情報に示される各工程に対応する機能を示す情報を取得し、仮想装置特定部２０は、各工程に対応する機能を示す情報を用いて仮想装置を特定する。この場合、工程情報と機能とを対応付けた情報を取得して、当該情報を用いて工程に対応する仮想装置を特定するので、適切に工程に対応する仮想装置を決定できる。
【００７０】
また、作業主体情報取得部１１は、作業主体を実行させるためのコストである実行コストをさらに含む作業主体情報を取得し、スケジュール決定部２１は、作業主体情報取得部１１により取得された作業主体情報を用いて各工程において実行する候補の作業主体を特定し、候補の作業主体の実行コストに基づいて各工程で実行する作業主体を決定する。この場合、各作業主体の実行コストに基づいて各工程で実行する作業主体を決定するので、例えば、実行コストが相対的に高い作業主体を、各工程で実行する作業主体に決定してしまうことを回避することができる。すなわち、効率的に工程をスケジューリングすることができる。
【００７１】
作業主体情報取得部１１は、作業主体として人を含む作業主体情報を取得する。この場合、スケジュールサーバ１０は、作業主体として作業員などの人も考慮して、工程をスケジューリングすることができる。
【００７２】
工程決定部１７は、各工程に対応する検査工程の情報である検査工程情報を取得し、仮想装置特定部２０は、検査工程情報の各検査工程に対応する機能に対応する仮想装置を特定する。
【００７３】
この場合、スケジュールサーバ１０において、各工程に対応する検査工程を特定し、当該検査工程に対応する機能に対応する仮想装置を特定するので、検査工程も考慮して効率的に工程をスケジュールすることができる。
【００７４】
作業主体情報取得部１１は、作業主体の作業場所の情報をさらに含む作業主体情報を取得し、スケジュール決定部２１は、作業主体情報取得部１１により取得された作業主体情報を用いて各工程において実行する候補の作業主体の場所を特定し、２つの工程間における候補の作業主体間の運搬によるコストである運搬コストを作業主体間の場所の距離に基づいて算出し、当該運搬コストに基づいて各工程で実行する作業主体を決定する。
【００７５】
この場合、スケジュールサーバ１０は、各工程に対応する運搬コストに基づいて各工程で実行する作業主体を決定するので、例えば、運搬コストが相対的に高くなってしまう作業主体を、各工程で実行する作業主体に決定してしまうことを回避することができる。すなわち、効率的に工程をスケジューリングすることができる。
【００７６】
上述の実施形態では、製造する一連の工程の各工程に対応する機能を特定し、当該機能に対応する仮想装置を特定することにより、工程に対応する仮想装置を特定する場合について述べた。しかし、製造分野によっては、各工程に対し、“標準装置”とよばれる装置のように使用する装置の型式が既に決まっている場合がある。すなわち、工程と装置の対応情報を容易に作成できる製造分野もある。そのような場合は、装置が有する全機能を抽出して工程に紐づければ、これまで述べた方法を同様に利用することができる。
【符号の説明】
【００７７】
１  情報処理システム
１０  スケジュールサーバ
１１  作業主体情報取得部
１２  作業主体情報ＤＢ
１３  状況情報取得部
１４  状況情報ＤＢ
１５  仮想装置情報登録部
１６  仮想装置情報ＤＢ
１７  工程決定部
１８  対応機能情報取得部
１９  対応機能情報ＤＢ
２０  仮想装置特定部
２１  スケジュール決定部
２２  工程間情報ＤＢ
２３  実行要求部
３０  端末装置
４０  工場サーバ
【図１】
0006772514.tif 000002
【図２】
0006772514.tif 000003
【図３】
0006772514.tif 000004
【図４】
0006772514.tif 000005
【図５】
0006772514.tif 000006
【図６】
0006772514.tif 000007
【図７】
0006772514.tif 000008
【図８】
0006772514.tif 000009
【図９】
0006772514.tif 000010
【図１０】
0006772514.tif 000011
【図１１】
0006772514.tif 000012
【図１２】
0006772514.tif 000013
【図１３】
0006772514.tif 000014
【図１４】
0006772514.tif 000015
【図１５】
0006772514.tif 000016
【図１６】
0006772514.tif 000017
【図１７】
0006772514.tif 000018