(57)【要約】【課題】ローカル端末上で動作するツールとサーバ上で動作するツールを連携させることができる連携システム、連携プログラムおよび連携方法を提供する。【解決手段】クライアント１２は、回路設計ＣＡＤツールを操作する操作情報を受け付ける。クライアント１２は、受け付けられた操作情報をアプリサーバ２１に送信する。アプリサーバ２１は、送信された操作情報を受信する。アプリサーバ２１は、受信された操作情報に基づいて実装設計ＣＡＤツールを操作した操作結果を示す結果画面を生成する。アプリサーバ２１は、生成された結果画面をクライアント１２に送信する。【選択図】図１
2016139273.tif 000002
【特許請求の範囲】
【請求項１】
第１アプリケーションが動作する端末装置と、該第１アプリケーションと連携可能な第２アプリケーションが動作するサーバとを有するシステムであって、
前記端末装置は、
前記第１アプリケーションを操作する操作情報を受け付ける受付部と、
前記受付部によって受け付けられた操作情報を前記サーバに送信する第１送信部と、
を有し、
前記サーバは、
前記第１送信部によって送信された操作情報を受信する受信部と、
前記受信部によって受信された操作情報に基づいて前記第２アプリケーションを操作した操作結果を示す結果画面を生成する生成部と、
前記生成部によって生成された結果画面を前記端末装置に送信する第２送信部と、
を有することを特徴とする連携システム。
【請求項２】
前記端末装置は、前記第２送信部によって送信された結果画面を第２アプリケーション用の画面に表示する表示制御部をさらに有することを特徴とする請求項１に記載の連携システム。
【請求項３】
前記連携システムは、前記端末装置と前記サーバとの間の通信を中継する中継装置をさらに有し、
前記中継装置は、
前記端末装置から当該端末装置に関する端末情報を受信する第２受信部と、
前記第２受信部によって受信された端末情報に基づいて、前記第１アプリケーションと連携可能な第２アプリケーションに関する連携情報を前記端末装置に送信する第３送信部と、
前記第３送信部によって送信された連携情報に基づいて前記端末装置を使用する使用者によって選択された第２アプリケーションが動作するサーバを当該端末装置と通信を行うサーバとして設定する設定部と、
を有することを特徴とする請求項１または２に記載の連携システム。
【請求項４】
前記端末装置の前記第１送信部は、前記中継装置を介して、前記設定部によって設定されたサーバに前記操作情報を送信し、
前記サーバの前記受信部は、前記中継装置を介して、前記操作情報を前記端末装置から受信し、
前記サーバの前記第２送信部は、前記中継装置を介して、前記結果画面を前記端末装置に送信する
ことを特徴とする請求項３に記載の連携システム。
【請求項５】
前記端末装置の前記受付部は、前記操作情報として、前記第２アプリケーションを操作する操作情報を受け付け、
前記端末装置の前記第１送信部は、前記操作情報を前記サーバに送信し、
前記サーバの前記受信部は、前記操作情報を前記端末装置から受信し、
前記サーバの前記生成部は、前記結果画面として、前記受信部によって受信された操作情報に基づいて前記第２アプリケーションを操作した操作結果を示す結果画面を生成し、
前記サーバの前記第２送信部は、前記生成部によって生成された結果画面と、前記操作情報に対応する操作を前記第１アプリケーションに指示する指示情報とを前記端末装置に送信する
ことを特徴とする請求項１〜４の何れか１つに記載の連携システム。
【請求項６】
前記サーバの前記第２送信部は、前記端末装置を使用する使用者の属性を示す属性情報に基づいて、前記結果画面を他の端末装置に送信する
ことを特徴とする請求項１〜５の何れか１つに記載の連携システム。
【請求項７】
第１アプリケーションが動作する端末装置に、
前記第１アプリケーションを操作する操作情報を受け付け、
受け付けられた操作情報をサーバに送信する、処理を実行させ、
前記第１アプリケーションと連携可能な第２アプリケーションが動作する前記サーバに、
送信された操作情報を受信し、
受信された操作情報に基づいて前記第２アプリケーションを操作した操作結果を示す結果画面を生成し、
生成された結果画面を前記端末装置に送信する、
処理を実行させることを特徴とする連携プログラム。
【請求項８】
前記端末装置と前記サーバとの間の通信を中継する中継装置に、
前記端末装置から当該端末装置に関する端末情報を受信し、
受信された端末情報に基づいて、前記第１アプリケーションと連携可能な第２アプリケーションに関する連携情報を前記端末装置に送信し、
送信された連携情報に基づいて前記端末装置を使用する使用者によって選択された第２アプリケーションが動作するサーバを当該端末装置と通信を行うサーバとして設定する、
処理を実行させることを特徴とする請求項７に記載の連携プログラム。
【請求項９】
第１アプリケーションが動作する端末装置が、
前記第１アプリケーションを操作する操作情報を受け付け、
受け付けられた操作情報をサーバに送信し、
前記第１アプリケーションと連携可能な第２アプリケーションが動作する前記サーバが、
送信された操作情報を受信し、
受信された操作情報に基づいて前記第２アプリケーションを操作した操作結果を示す結果画面を生成し、
生成された結果画面を前記端末装置に送信する、
処理を実行することを特徴とする連携方法。
【請求項１０】
前記端末装置と前記サーバとの間の通信を中継する中継装置が、
前記端末装置から当該端末装置に関する端末情報を受信し、
受信された端末情報に基づいて、前記第１アプリケーションと連携可能な第２アプリケーションに関する連携情報を前記端末装置に送信し、
送信された連携情報に基づいて前記端末装置を使用する使用者によって選択された第２アプリケーションが動作するサーバを当該端末装置と通信を行うサーバとして設定する、
処理を実行することを特徴とする請求項９に記載の連携方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連携システム、連携プログラムおよび連携方法に関する。
【背景技術】
【０００２】
近年、回路設計では、複数のＣＡＤ（Computer  Aided  Design）ツールを用いて設計が行われている。例えば、回路設計では、設計者は、プリント板の論理の設計を行う論理設計と、基板上での部品の配置や部品間の配線などの実装の設計を行う実装設計とを行う。このような論理設計と実装設計とを支援する設計支援機能として、端末装置上で複数のＣＡＤツールを連携して動作させる機能が提供されている。例えば、このような設計支援機能は、まず、端末装置上で、論理設計を行う回路設計ＣＡＤツールと実装設計を行う実装設計ＣＡＤツールとを動作させる。そして、設計者は、回路設計ＣＡＤツールにおける操作に基づいて実装設計ＣＡＤツールを操作する。一例としては、設計者によって回路設計ＣＡＤツールの部品が選択された場合に、設計支援機能は、かかる部品を実装設計ＣＡＤツールにおいても選択する。これにより、上記の設計支援機能は、回路設計ＣＡＤツールの操作結果と、実装設計ＣＡＤツールの操作結果とを連携して端末装置上に表示させることができる。このため、例えば、設計者は、回路設計ＣＡＤツールの操作結果と実装設計ＣＡＤツールの操作結果とを見比べながら設計作業を行うことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２００５／０３８６７５号
【特許文献２】特表２００３−５２１０６１号公報
【特許文献３】特開２０１１−１５４６２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、設計支援機能によって複数のＣＡＤツールを連携して動作させることが困難な場合がある。実装設計ＣＡＤツールは、プリント板の高機能化や３次元での設計によって回路設計に用いるデータのサイズが大きく処理負荷も高いので、回路設計ＣＡＤツールと比較して高性能な端末装置において動作させることが望まれる。一方、回路設計ＣＡＤツールを用いて論理設計を行う設計者は、費用を抑えるために、回路設計ＣＡＤツールに見合った性能の端末装置を使用する場合がある。このため、設計者が使用する端末装置の性能が実装設計ＣＡＤツールの動作に十分な性能を満たさない場合がある。この場合、設計支援機能によって回路設計ＣＡＤツールを実装設計ＣＡＤツールと連携して動作させることが困難な場合がある。
【０００５】
ところで、近年、クラウドコンピューティングにより回路設計を支援する設計支援サービスが提供されている。この設計支援サービスでは、例えば、高性能なサーバ上で実装設計ＣＡＤツールを動作させる。そして、設計支援サービスは、ネットワークを介して端末装置から設計者による操作を受け付ける。その後、設計支援サービスは、受け付けた操作に応じてサーバ上で生成した画像情報を端末装置へ送信して端末装置に画像を表示させる。これにより、設計支援サービスは、端末装置の性能が低くてもあたかも端末装置上で実装設計ＣＡＤツールを実行する場合と同等の設計環境を設計者に提供できる。
【０００６】
しかしながら、このような設計支援サービスを利用した場合、回路設計ＣＡＤツールがローカル端末上で動作し、実装設計ＣＡＤツールがサーバ上で動作しているので、ツールを連携して動作させることが困難である。
【０００７】
一側面では、ローカル端末上で動作するツールとサーバ上で動作するツールを連携させることができる連携システム、連携プログラムおよび連携方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一側面によれば、連携システムは、第１アプリケーションが動作する端末装置と、第１アプリケーションと連携可能な第２アプリケーションが動作するサーバとを有する。端末装置は、第１アプリケーションを操作する操作情報を受け付ける。端末装置は、受け付けられた操作情報をサーバに送信する。サーバは、送信された操作情報を受信する。サーバは、受信された操作情報に基づいて第２アプリケーションを操作した操作結果を示す結果画面を生成する。サーバは、生成された結果画面を端末装置に送信する。
【発明の効果】
【０００９】
本発明の一側面によれば、ローカル端末上で動作するツールとサーバ上で動作するツールを連携させることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、連携システム全体の概略構成の一例を示す図である。
【図２】図２は、クライアントの機能的な構成の一例を示す図である。
【図３】図３は、ポータルの機能的な構成の一例を示す図である。
【図４】図４は、アプリサーバ情報のデータ構成の一例を示す図である。
【図５】図５は、ファイルサーバ情報のデータ構成の一例を示す図である。
【図６】図６は、使用者情報のデータ構成の一例を示す図である。
【図７】図７は、ＣＡＤ管理情報のデータ構成の一例を示す図である。
【図８】図８は、連携リスト情報のデータ構成の一例を示す図である。
【図９】図９は、アプリサーバの機能的な構成の一例を示す図である。
【図１０】図１０は、連携システムの連携確立処理の一例を示したシーケンス図である。
【図１１】図１１は、格納処理を説明するための説明図である。
【図１２】図１２は、格納処理を説明するための説明図である。
【図１３】図１３は、連携システムの連携操作処理の一例を示したシーケンス図である。
【図１４】図１４は、選択画面の一例を示す図である。
【図１５】図１５は、リンク処理を説明するための説明図である。
【図１６】図１６は、連携リストを読み込む処理を説明するための説明図である。
【図１７】図１７は、操作情報を送信する処理を説明するための説明図である。
【図１８】図１８は、クライアント側の連携処理の手順の一例を示すフローチャートである。
【図１９】図１９は、クライアント側の連携確立処理の手順の一例を示すフローチャートである。
【図２０】図２０は、クライアント側の連携操作処理の手順の一例を示すフローチャートである。
【図２１】図２１は、ポータル側の連携処理の手順の一例を示すフローチャートである。
【図２２】図２２は、ポータル側の連携確立処理の手順の一例を示すフローチャートである。
【図２３】図２３は、ポータル側の連携操作処理の手順の一例を示すフローチャートである。
【図２４】図２４は、表示部の一例を示す図である。
【図２５】図２５は、連携システムの効果を説明するための説明図である。
【図２６】図２６は、変形例に係る連携システムの動作の一例を示したシーケンス図である。
【図２７】図２７は、変形例に係る連携システムの動作の一例を示したシーケンス図である。
【図２８】図２８は、変形例に係る連携リストを説明するための説明図である。
【図２９】図２９は、連携プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１１】
以下に、本発明に係る連携システム、連携プログラムおよび連携方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１２】
［システムの構成］
実施例１に係る連携システムについて説明する。図１は、連携システム全体の概略構成の一例を示す図である。連携システム１は、クラウドコンピューティングによりサービスを提供する。なお、以下では、連携システム１が、サービスとして設計支援サービスを提供する場合を例に説明する。図１に示すように、連携システム１は、クライアント１２と、クラウドシステム１０とを有する。なお、本実施例では、クライアント１２が端末装置の一例に相当する。
【００１３】
クライアント１２は、設計者が回路設計に用いるコンピュータである。例えば、クライアント１２は、デスクトップ型ＰＣ（パーソナルコンピュータ）、ノート型ＰＣなどである。設計者は、クライアント１２を使用して、プリント板の論理設計や基板上での部品の配置や部品間の配線の設計を行う。例えば、設計者は、クライアント１２にインストールされ動作する回路設計ＣＡＤツールを用いて論理設計を行う。なお、本実施例では、回路設計ＣＡＤツールが第１アプリケーションの一例に相当する。また、設計者は、クライアント１２を介してクラウドシステム１０において動作する実装設計ＣＡＤツールを利用することで実装設計を行う。なお、本実施例では、実装設計ＣＡＤツールが第１アプリケーションと連携可能な第２アプリケーションの一例に相当する。すなわち、実装設計ＣＡＤツールは、回路設計ＣＡＤツールと連携可能なツールである。例えば、設計者は、クライアント１２を使用してクラウドシステム１０に対して実装設計に関する各種の情報等を送信し、クラウドシステム１０が提供する設計環境を用いて実装設計を行う。なお、図１の例では、クライアント１２を１台とした場合を例示したが、これに限定されず、クライアント１２を任意の数とすることができる。
【００１４】
クラウドシステム１０は、回路設計を行うための設計環境を提供する。クラウドシステム１０は、図１に示すように、ポータル２０と、アプリサーバ２１と、ファイルサーバ２２とを有する。なお、本実施例では、ポータル２０が中継装置の一例に相当する。また、アプリサーバ２１がサーバの一例に相当する。ここで、クラウドシステム１０は、ネットワーク１１を介してクライアント１２と通信可能に接続され、クライアント１２と各種の情報を交換することが可能とされている。かかるネットワーク１１の一態様としては、有線または無線を問わず、インターネット（Internet）、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの任意の通信網が挙げられる。
【００１５】
クラウドシステム１０は、ネットワーク１１を介してクライアント１２から回路設計に関する各種の情報等を受け付ける。そして、クラウドシステム１０は、各種の情報を受け付けると、受け付けた情報に応じて処理を実行する。その後、クラウドシステム１０は、受け付けた情報に基づいて処理を実行した実行結果を示す画像情報をクライアント１２へ送信してクライアント１２で画像を表示させる。例えば、クラウドシステム１０は、回路設計ＣＡＤツールを操作する操作情報をクライアント１２から受け付け、受け付けた操作情報に基づいて実装設計ＣＡＤツールを操作した操作結果を示す結果画像をクライアント１２へ送信する。
【００１６】
ポータル２０とアプリサーバ２１とファイルサーバ２２は、ネットワーク１１を介して通信可能に接続され、各種の情報を交換することが可能とされている。かかるネットワークの一態様としては、有線または無線を問わず、ＬＡＮやＶＰＮなどの通信網が挙げられる。なお、図１の例では、アプリサーバ２１を３台とした場合を例示したが、これに限定されず、アプリサーバ２１を任意の数とすることができる。また、図１の例では、ポータル２０およびファイルサーバ２２をそれぞれ１台とした場合を例示したが、これに限定されず、ポータル２０およびファイルサーバ２２をそれぞれ複数のサーバコンピュータによって構成してもよい。
【００１７】
ポータル２０は、クライアント１２とアプリサーバ２１との間の通信を中継する。例えば、ポータル２０は、データセンタや各企業に設けられたサーバコンピュータである。ポータル２０は、クライアント１２から受け付けた情報等をアプリサーバ２１に中継する。また、ポータル２０は、アプリサーバ２１による処理結果の情報をクライアント１２へ中継する。
【００１８】
アプリサーバ２１は、設計環境を提供するコンピュータである。例えば、アプリサーバ２１は、データセンタや各企業に設けられたサーバコンピュータである。アプリサーバ２１は、各種のＣＡＤプログラムを動作させる。例えば、アプリサーバ２１は、回路設計ＣＡＤツールと連携可能な実装設計ＣＡＤツールを動作させる。そして、アプリサーバ２１は、ポータル２０を介してクライアント１２から受信される情報に応じて処理を実行する。そして、アプリサーバ２１は、処理を実行した結果を示す結果画像を生成し、生成した結果画像を要求元のクライアントへ送信する。
【００１９】
ファイルサーバ２２は、回路設計に用いる各種のデータを記憶するコンピュータである。例えば、ファイルサーバ２２は、データセンタや各企業に設けられたサーバコンピュータである。一例としては、ファイルサーバ２２は、設計データや各種の設定情報などといった各種のデータであるＤＢ情報を記憶し、アプリサーバ２１からの要求に応じて各種のデータを提供する。
【００２０】
［クライアントの構成］
次に、実施例１に係るクライアント１２について説明する。図２は、クライアントの機能的な構成の一例を示す図である。図２に示すように、クライアント１２は、通信Ｉ／Ｆ部３０と、記憶部３１と、制御部３２とを有する。
【００２１】
通信Ｉ／Ｆ部３０は、他の装置との間で通信制御を行うインタフェースである。通信Ｉ／Ｆ部３０は、ネットワーク１１を介して他の装置と各種情報を送受信する。例えば、通信Ｉ／Ｆ部３０は、各種の情報をポータル２０やアプリサーバ２１に送信する。また、通信Ｉ／Ｆ部３０は、ポータル２０やアプリサーバ２１からＣＡＤに関する各種の情報や通知を受信する。通信Ｉ／Ｆ部３０としては、ＬＡＮカードなどのネットワークインタフェースカードを採用できる。
【００２２】
記憶部３１は、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部３１は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）などのデータを書き換え可能な半導体メモリであってもよい。
【００２３】
記憶部３１は、制御部３２で実行されるＯＳ（Operating  System）や受信される要求を処理する各種プログラムを記憶する。さらに、記憶部３１は、制御部３２で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部３１は、回路ＤＢ情報４０と、実装ＤＢ情報４１とを記憶する。
【００２４】
回路ＤＢ情報４０は、回路設計ＣＡＤツールに関するデータである。例えば、回路ＤＢ情報４０には、回路設計ＣＡＤツールの設定情報や設計データなどの情報である回路設計ＣＡＤツール用のＣＡＤ  ＤＢが記憶されている。
【００２５】
実装ＤＢ情報４１は、実装設計ＣＡＤツールに関するデータである。例えば、実装ＤＢ情報４１には、実装設計ＣＡＤツールの設定情報や設計データなどの情報である実装設計ＣＡＤツール用のＣＡＤ  ＤＢが記憶されている。
【００２６】
表示部３３は、各種の情報を表示する液晶ディスプレイなどのデバイスである。具体的には、表示部３３は、後述の表示制御部５３の指示に従って各種の情報を表示する。例えば、表示部３３は、回路設計ＣＡＤツールや実装設計ＣＡＤツールに関する情報を表示する。
【００２７】
入力部３４は、各種の情報を入力する入力デバイスである。入力部３４としては、マウスやキーボードなどの操作の入力を受け付ける入力デバイスが挙げられる。例えば、入力部３４は、回路設計ＣＡＤツールや実装設計ＣＡＤツールに関する各種の操作を受け付ける。一例としては、入力部３４は、部品に対する検索や選択、強調表示、表示画面のズームなどの操作を受け付ける。入力部３４は、ユーザからの操作を受け付け、受け付けた操作内容を示す操作情報を制御部３２に出力する。
【００２８】
制御部３２は、クライアント１２を制御するデバイスである。制御部３２としては、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路を採用できる。制御部３２は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部３２は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部３２は、受付部５０と、送信部５１と、受信部５２と、表示制御部５３とを有する。
【００２９】
受付部５０は、各種の情報を受け付ける処理部である。具体的には、受付部５０は、クライアント１２にインストールされた回路設計ＣＡＤツールを操作する操作情報などを受け付ける。例えば、受付部５０は、実装設計ＣＡＤツールなどの他のＣＡＤツールと連携可能な操作情報を受け付ける。一例としては、受付部５０は、操作情報として、部品などに対する検索や選択、強調表示、画面の拡大等を指示する情報を受け付ける。
【００３０】
送信部５１は、各種の情報を送信する処理部である。例えば、送信部５１は、受付部５０によって受け付けられた操作情報をアプリサーバ２１に送信する。また、送信部５１は、ポータル２０やアプリサーバ２１への接続を要求する接続要求を送信する。また、送信部５１は、クライアント１２に関する端末情報を送信する。例えば、送信部５１は、端末情報として、クライアント１２のマシン名やＩＰアドレスなどであるクライアントマシン情報と、クライアント１２上で動作する回路設計ＣＡＤツールのツール名、プロセスＩＤ、ＣＡＤ  ＤＢ名などであるＣＡＤ情報とを送信する。また、送信部５１は、実装ＤＢ情報４１に記憶された実装設計ＣＡＤツールのＣＡＤ  ＤＢをファイルサーバ２２に送信する。また、送信部５１は、回路設計ＣＡＤツールと連携可能な連携可能ＣＡＤツールやＣＡＤ  ＤＢを要求する情報を送信する。また、送信部５１は、使用者によって選択された連携可能ＣＡＤツールやＣＡＤ  ＤＢの情報を送信する。
【００３１】
なお、送信部５１は、ポータル２０を介して各種の情報をアプリサーバ２１やファイルサーバ２２に送信してもよい。一例としては、送信部５１は、ポータル２０を介して、アプリサーバ２１に操作情報を送信してもよい。
【００３２】
受信部５２は、各種の情報を受信する処理部である。例えば、受信部５２は、ポータル２０やアプリサーバ２１への接続要求に対する認証許可を受信する。また、受信部５２は、連携準備が完了した旨の通知を受信する。また、受信部５２は、連携可能ＣＡＤツールやＣＡＤ  ＤＢに関する情報を受信する。また、受信部５２は、連携を開始した旨の通知を受信する。また、受信部５２は、回路設計ＣＡＤツールの操作情報に基づいて実装設計ＣＡＤツールを操作した操作結果を示す結果画面を受信する。
【００３３】
表示制御部５３は、表示部３３に表示させる各種の情報を表示制御する。具体的には、表示制御部５３は、アプリサーバ２１から送信された結果画面を実装設計ＣＡＤツール用の画面であるＷｅｂブラウザ等に表示する。例えば、表示制御部５３は、回路設計ＣＡＤツール用の画面に回路設計ＣＡＤツールの結果画面を表示させる。また、表示制御部５３は、実装設計ＣＡＤツール用の画面に実装設計ＣＡＤツールの結果画面を表示させる。
【００３４】
［ポータルの構成］
次に、実施例１に係るポータル２０について説明する。図３は、ポータルの機能的な構成の一例を示す図である。図３に示すように、ポータル２０は、通信Ｉ／Ｆ部１３０と、記憶部１３１と、制御部１３２とを有する。
【００３５】
通信Ｉ／Ｆ部１３０は、他の装置との間で通信制御を行うインタフェースである。通信Ｉ／Ｆ部１３０は、ネットワーク１１を介して他の装置と各種の情報を送受信する。例えば、通信Ｉ／Ｆ部１３０は、クライアント１２からＣＡＤに関する各種の情報を受信する。また、通信Ｉ／Ｆ部１３０は、アプリサーバ２１からＣＡＤに関する各種の情報や通知を受信する。通信Ｉ／Ｆ部１３０としては、ＬＡＮカードなどのネットワークインタフェースカードを採用できる。
【００３６】
記憶部１３１は、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部１３１は、ＲＡＭ、フラッシュメモリ、ＮＶＳＲＡＭなどのデータを書き換え可能な半導体メモリであってもよい。
【００３７】
記憶部１３１は、制御部１３２で実行されるＯＳや受信される要求を処理する各種プログラムを記憶する。さらに、記憶部１３１は、制御部１３２で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部１３１は、アプリサーバ情報１４０と、ファイルサーバ情報１４１と、使用者情報１４２と、ＣＡＤ管理情報１４３と、連携リスト情報１４４とを記憶する。
【００３８】
アプリサーバ情報１４０は、アプリサーバ２１に関する情報である。例えば、アプリサーバ情報１４０には、アプリサーバ２１毎に、アプリサーバ２１を識別するアプリサーバ名がＩＰアドレスと対応付けて記憶されている。
【００３９】
図４は、アプリサーバ情報のデータ構成の一例を示す図である。アプリサーバ情報１４０は、アプリサーバ名、ＩＰアドレスなどの項目が対応付けられたテーブルを採用できる。アプリサーバ名の項目は、アプリサーバ２１を識別する名称を記憶する領域である。ＩＰアドレスの項目は、アプリサーバ２１に割り当てられたアドレスを記憶する領域である。
【００４０】
図４の例では、アプリサーバ名「アプリサーバＡ」のアプリサーバ２１は、ＩＰアドレス「ＸＸＸ.ＸＸＸ.ＸＸＸ.１１」が割り当てられていることを示す。また、アプリサーバ名「アプリサーバＢ」のアプリサーバ２１は、ＩＰアドレス「ＸＸＸ.ＸＸＸ.ＸＸＸ.１２」が割り当てられていることを示す。
【００４１】
図３に戻り、ファイルサーバ情報１４１は、ファイルサーバ２２に関する情報である。例えば、ファイルサーバ情報１４１には、ファイルサーバ２２毎に、ファイルサーバ２２を識別するファイルサーバ名がＩＰアドレスと対応付けて記憶されている。
【００４２】
図５は、ファイルサーバ情報のデータ構成の一例を示す図である。ファイルサーバ情報１４１は、ファイルサーバ名、ＩＰアドレスなどの項目が対応付けられたテーブルを採用できる。ファイルサーバ名の項目は、ファイルサーバ２２を識別する名称を記憶する領域である。ＩＰアドレスの項目は、ファイルサーバ２２に割り当てられたアドレスを記憶する領域である。
【００４３】
図５の例では、ファイルサーバ名「ファイルサーバＡ」のファイルサーバ２２は、ＩＰアドレス「ＸＸＸ.ＸＸＸ.ＸＸＸ.２１」が割り当てられていることを示す。また、ファイルサーバ名「ファイルサーバＢ」のファイルサーバ２２は、ＩＰアドレス「ＸＸＸ.ＸＸＸ.ＸＸＸ.２２」が割り当てられていることを示す。
【００４４】
図３に戻り、使用者情報１４２は、クライアント１２を使用する使用者に関する情報である。具体的には、使用者情報１４２は、使用者を認証するためのユニークなアカウントである使用者名が記憶されている。また、使用者情報１４２には、使用者毎に、使用者の属性を示す属性情報が記憶されている。
【００４５】
図６は、使用者情報のデータ構成の一例を示す図である。使用者情報１４２は、使用者名、所属グループなどの項目が対応付けられたテーブルを採用できる。使用者名の項目は、使用者を識別する氏名等を記憶する領域である。所属グループの項目は、使用者が属するグループ名を記憶する領域である。図６の例では、使用者名「ユーザＡ」の使用者は、所属グループが「第１グループ」であることを示す。
【００４６】
図３に戻り、ＣＡＤ管理情報１４３は、ＣＡＤツールに関する情報である。例えば、ＣＡＤ管理情報１４３には、使用者のアカウント毎に、使用者情報１４２と関連付けてＣＡＤツールに関する情報が記憶されている。
【００４７】
図７は、ＣＡＤ管理情報のデータ構成の一例を示す図である。ＣＡＤ管理情報１４３は、実行マシン名、マシンＩＰアドレス、プロセスＩＤ、ツール名、ＣＡＤ  ＤＢ名、連携リストへのリンクなどの項目が対応付けられたテーブルを採用できる。実行マシン名の項目は、装置を識別する名称を記憶する領域である。マシンＩＰアドレスの項目は、装置に割り当てられたアドレスを記憶する領域である。プロセスＩＤの項目は、装置上で実行されているプロセスに付された固有の識別子を記憶する領域である。ツール名は、プロセスＩＤに対応するツールの名称を記憶する領域である。ＣＡＤ  ＤＢ名は、プロセスＩＤに対応するＣＡＤ  ＤＢの名称を記憶する領域である。連携リストへのリンクは、連携可能なツールを示す連携リストのアドレスを記憶する領域である。
【００４８】
図７の例では、実行マシン名「アプリサーバＡ」の装置は、マシンＩＰアドレス「ＸＸＸ.ＸＸＸ.ＸＸＸ.１１」が割り当てられていることを示す。また、実行マシン名「アプリサーバＡ」の装置上のプロセスＩＤ「プロセスＢ」は、ツール名が「実装ＣＡＤ」であることを示す。また、実行マシン名「アプリサーバＡ」の装置上のプロセスＩＤ「プロセスＢ」は、ＣＡＤ  ＤＢ名が「データＢ」であることを示す。また、実行マシン名「クライアントＡ」の装置は、連携リストのアドレスが「アドレスＡ」であることを示す。
【００４９】
図３に戻り、連携リスト情報１４４は、ＣＡＤツール間の連携に関する情報である。例えば、連携リスト情報１４４には、連携可能なＣＡＤツールを示すＣＡＤ管理情報へのリンクが記憶されている。
【００５０】
図８は、連携リスト情報のデータ構成の一例を示す図である。連携リスト情報１４４は、ＣＡＤ管理情報へのリンクなどの項目が対応付けられたテーブルを採用できる。図８では、連携リスト情報１４４のアドレスが図７に示す「アドレスＡ」の例である。ＣＡＤ管理情報へのリンクの項目は、連携可能な装置を識別する名称などを記憶する領域である。図８の例では、「クライアントＡ」と「アプリサーバＢ」の装置が連携可能であることを示す。
【００５１】
図３に戻り、制御部１３２は、ポータル２０を制御するデバイスである。制御部１３２としては、ＣＰＵ、ＭＰＵ等の電子回路や、ＡＳＩＣ、ＦＰＧＡ等の集積回路を採用できる。制御部１３２は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部１３２は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部１３２は、受信部１５０と、格納部１５１と、割当部１５２と、送信部１５３と、設定部１５４とを有する。
【００５２】
受信部１５０は、各種の情報を受信する処理部である。例えば、受信部１５０は、クライアント１２からクライアント１２に関する端末情報を受信する。一例としては、端末情報は、クライアントマシン情報およびＣＡＤ情報である。クライアントマシン情報は、クライアント１２のマシン名、クライアントマシンのＩＰアドレスなどである。ＣＡＤ情報は、ツール名、プロセスＩＤ、ＣＡＤ  ＤＢ名などである。また、受信部１５０は、クライアント１２から接続要求を受信する。また、受信部１５０は、クライアント１２から実装設計ＣＡＤツールのＣＡＤ  ＤＢを受信する。また、受信部１５０は、クライアント１２からＣＡＤ  ＤＢを受信する。また、受信部１５０は、回路設計ＣＡＤツールと連携可能な連携可能ＣＡＤツールやＣＡＤ  ＤＢを要求する情報をクライアント１２から受信する。また、受信部１５０は、使用者によって選択された連携可能ＣＡＤツールやＣＡＤ  ＤＢの情報をクライアント１２から受信する。また、受信部１５０は、操作情報をクライアント１２から受信する。
【００５３】
格納部１５１は、各種の情報を記憶部１３１に格納する処理部である。例えば、格納部１５１は、クライアント１２から受信したクライアントマシン情報やＣＡＤ情報などをＣＡＤ管理情報１４３に格納する。一例としては、格納部１５１は、クライアントマシン情報およびＣＡＤ情報を、認証許可されているユーザのアカウントに対応するＣＡＤ管理情報１４３に格納する。また、格納部１５１は、アプリサーバに関する情報をアプリサーバ情報１４０に格納する。また、格納部１５１は、ファイルサーバに関する情報をファイルサーバ情報１４１に格納する。また、格納部１５１は、クライアント１２から受信した連携するＣＡＤツールに関する情報を連携リスト情報１４４に格納する。
【００５４】
割当部１５２は、サーバの割り当てを行う処理部である。具体的には、割当部１５２は、受信部１５０よってＣＡＤ  ＤＢが受信された場合に、かかるＣＡＤ  ＤＢに対応するツールを起動するアプリサーバ２１の割り当てを行う。例えば、割当部１５２は、実装設計ＣＡＤツールのＣＡＤ  ＤＢが受信された場合に、実装設計ＣＡＤツールを起動するアプリサーバ２１の割り当てを行う。一例としては、割当部１５２は、ＣＡＤツールの動作負荷に応じた性能のアプリサーバを割り当てる。
【００５５】
送信部１５３は、各種の情報を送信する処理部である。例えば、送信部１５３は、受信部１５０によって受信された端末情報に基づいて、回路設計ＣＡＤツールと連携可能な実装設計ＣＡＤツールに関する連携情報をクライアント１２に送信する。一例としては、送信部１５３は、連携情報として、連携可能なツールを使用者に選択させる表を送信する。また、送信部１５３は、クライアント１２からの接続要求に対して認証許可を送信する。また、送信部１５３は、クライアント１２に対して端末情報を保存して準備が完了した旨を通知する。また、送信部１５３は、クライアント１２から受信したＣＡＤ  ＤＢをファイルサーバ２２に送信する。また、送信部１５３は、ＣＡＤツールの起動の準備が完了した旨を通知する。また、送信部１５３は、ＣＡＤツールの連携を開始した旨を通知する。また、送信部１５３は、操作情報をアプリサーバ２１に送信する。また、送信部１５３は、アプリサーバ２１から受信した結果画面をクライアント１２に送信する。
【００５６】
設定部１５４は、連携するＣＡＤツールの設定を行う処理部である。具体的には、設定部１５４は、送信部１５３によって送信された連携情報に基づいてクライアント１２を使用する使用者によって選択された実装設計ＣＡＤツールが動作するアプリサーバ２１をクライアント１２と通信を行うサーバとして設定する。例えば、設定部１５４は、表に示された連携可能なツールのうち設計者に選択されたツールが動作するアプリサーバ２１を設定する。
【００５７】
［アプリサーバの構成］
次に、実施例１に係るアプリサーバ２１について説明する。図９は、アプリサーバの機能的な構成の一例を示す図である。図９に示すように、アプリサーバ２１は、通信Ｉ／Ｆ部２３０と、記憶部２３１と、制御部２３２とを有する。
【００５８】
通信Ｉ／Ｆ部２３０は、他の装置との間で通信制御を行うインタフェースである。通信Ｉ／Ｆ部２３０は、ネットワーク１１を介して他の装置と各種情報を送受信する。例えば、通信Ｉ／Ｆ部２３０は、クライアント１２やポータル２０、ファイルサーバ２２からＣＡＤに関する各種の情報を受信する。通信Ｉ／Ｆ部２３０としては、ＬＡＮカードなどのネットワークインタフェースカードを採用できる。
【００５９】
記憶部２３１は、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部２３１は、ＲＡＭ、フラッシュメモリ、ＮＶＳＲＡＭなどのデータを書き換え可能な半導体メモリであってもよい。
【００６０】
記憶部２３１は、制御部２３２で実行されるＯＳや受信される要求を処理する各種プログラムを記憶する。さらに、記憶部２３１は、制御部２３２で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部２３１は、実装ＤＢ情報２４０を記憶する。
【００６１】
実装ＤＢ情報２４０は、設計データや各種の設定情報などといった各種のデータである。例えば、実装ＤＢ情報２４０には、ポータル２０を介してクライアント１２から受信したＣＡＤ  ＤＢが記憶される。
【００６２】
制御部２３２は、アプリサーバ２１を制御するデバイスである。制御部２３２としては、ＣＰＵ、ＭＰＵ等の電子回路や、ＡＳＩＣ、ＦＰＧＡ等の集積回路を採用できる。制御部２３２は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部２３２は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部２３２は、受信部２５０と、読込部２５１と、実行部２５２と、生成部２５３と、送信部２５４とを有する。
【００６３】
受信部２５０は、各種の情報を受信する処理部である。例えば、受信部２５０は、クライアント１２の送信部５１によって送信された操作情報を受信する。また、受信部２５０は、ポータル２０からファイルサーバ２２の割り当てに関する情報、ＣＡＤツールの起動指示、ＣＡＤ  ＤＢの読込指示等を受信する。また、受信部２５０は、ファイルサーバ２２からＣＡＤ  ＤＢを受信する。なお、受信部２５０は、ポータル２０を介して、各種の情報を受信してもよい。例えば、受信部２５０は、ポータル２０を介して、操作情報をクライアント１２から受信する。
【００６４】
読込部２５１は、各種の情報の読み込みを行う処理部である。例えば、読込部２５１は、ポータル２０からＣＡＤ  ＤＢの読込指示を受信した場合に、起動するＣＡＤツールに対応するＣＡＤ  ＤＢをファイルサーバ２２から読み込む。
【００６５】
実行部２５２は、各種の処理を実行する処理部である。例えば、実行部２５２は、受信部２５０によって受信された操作情報に対応する実装設計ＣＡＤツールの操作を実行する。一例としては、実行部２５２は、部品などに対する検索や選択、強調表示、画面の拡大等といった実装設計ＣＡＤツールにおける各種の操作を実行する。
【００６６】
生成部２５３は、各種の情報を生成する処理部である。例えば、生成部２５３は、受信部２５０によって受信された操作情報に基づいて実装設計ＣＡＤツールを操作した操作結果を示す結果画面を生成する。一例としては、生成部２５３は、部品などに対する検索や選択、強調表示、画面の拡大等といった実装設計ＣＡＤツールにおける各種の操作を実行した操作結果を示す結果画面を生成する。
【００６７】
送信部２５４は、各種の情報を送信する処理部である。例えば、送信部２５４は、生成部２５３によって生成された結果画面をクライアント１２に送信する。一例としては、送信部２５４は、回路設計ＣＡＤツールの操作情報に基づいて実装設計ＣＡＤツールを操作した結果画面を送信する。なお、送信部２５４は、ポータル２０を介して、各種の情報をクライアント１２に送信してもよい。例えば、送信部２５４は、ポータル２０を介して、結果画面をクライアント１２に送信する。また、送信部２５４は、ＣＡＤツールの起動が完了した旨をポータル２０に通知する。
【００６８】
［システムの動作］
次に、本実施例に係る連携システム１により、クライアント１２上にインストールされた回路設計ＣＡＤツールＣＴ１とＷｅｂブラウザを通して使用するアプリサーバ２１上にインストールされた実装設計ＣＡＤツールＣＴ２とを連携する処理動作について説明する。最初に、本実施例に係る連携システム１により、回路設計ＣＡＤツールＣＴ１と、実装設計ＣＡＤツールＣＴ２との連携を確立する際の動作について説明する。図１０は、連携システムの連携確立処理の一例を示したシーケンス図である。
【００６９】
まず、クライアント１２に関する情報を送信するマシン情報送信処理（Ｓ１０〜Ｓ１４）について説明する。設計者は、クライアント１２の回路設計ＣＡＤツールＣＴ１を使用してポータル２０にアクセスし、接続を要求する（Ｓ１０）。ポータル２０は、例えば、ログイン画面を表示させてユーザＩＤやパスワードなどを入力させ、ユーザの認証を行う。ポータル２０は、ユーザを認証できた場合、認証が許可された旨を通知し（Ｓ１１）、設計支援サービスを利用可能とする。
【００７０】
続いて、設計者は、クライアント１２を使用して、端末情報であるクライアントマシン情報およびＣＡＤ情報をポータル２０へ送信する（Ｓ１２）。そして、ポータル２０は、受信したクライアントマシン情報およびＣＡＤ情報を、使用者のアカウントに対応するＣＡＤ管理情報１４３に格納する（Ｓ１３）。図１１は、ＣＡＤ管理情報に格納する処理を説明するための説明図である。図１１に示すように、例えば、ポータル２０は、クライアント１２から受信したクライアントマシン情報として、実行マシン名「クライアントＡ」、マシンＩＰアドレス「ＸＸＸ.ＸＸＸ.ＸＸＸ.０１」をＣＡＤ管理情報１４３に格納する。また、ポータル２０は、クライアント１２から受信したＣＡＤ情報として、プロセスＩＤ「プロセスＡ」、ツール名「回路ＣＡＤ」、ＣＡＤ  ＤＢ名「データＡ」をＣＡＤ管理情報１４３に格納する。
【００７１】
図１０に戻り、その後、ポータル２０は、クライアントマシン情報およびＣＡＤ情報を保存して準備が完了した旨をクライアント１２上にインストールされた回路設計ＣＡＤツールへ通知する（Ｓ１４）。これにより、マシン情報送信処理は、終了する。
【００７２】
次に、ＤＢ情報送信処理（Ｓ１５〜Ｓ２４）について説明する。設計者は、クライアント１２のＷｅｂブラウザを使用してポータル２０にアクセスし、接続を要求する（Ｓ１５）。ポータル２０は、ユーザの認証を行い、ユーザを認証できた場合、認証が許可された旨を通知し（Ｓ１６）、設計支援サービスを利用可能とする。
【００７３】
そして、クライアント１２は、Ｗｅｂブラウザからアプリサーバ２１の実装設計ＣＡＤツールＣＴ２を起動する。続いて、クライアント１２は、実装設計ＣＡＤツールＣＴ２のＣＡＤ  ＤＢをポータル２０へ送信する（Ｓ１７）。そして、ポータル２０は、Ｗｅｂブラウザを通してクライアント１２から受信したＣＡＤ  ＤＢをファイルサーバ２２へ送信する。これにより、ファイルサーバ２２は、ＣＡＤ  ＤＢを実装ＤＢ情報２４０に格納する（Ｓ１８）。
【００７４】
また、ポータル２０は、アプリサーバ２１の割り当て、ＣＡＤツールの起動、ＣＡＤ  ＤＢの読み込みをアプリサーバ２１に指示する（Ｓ１９）。例えば、ポータル２０は、ファイルサーバ２２に格納されたＣＡＤ  ＤＢを用いてＣＡＤツールを起動するアプリサーバ２１の割り当てを行う。
【００７５】
そして、割り当てられたアプリサーバ２１は、ＣＡＤツールを起動し、ＣＡＤ  ＤＢをファイルサーバ２２に要求する（Ｓ２０）。その後、アプリサーバ２１は、ファイルサーバ２２からＣＡＤ  ＤＢを受信し、ＣＡＤ  ＤＢを読み込む（Ｓ２１）。これにより、アプリサーバ２１には、設計者が回路設計を行うための設計環境が構築される。
【００７６】
そして、アプリサーバ２１は、ＣＡＤ  ＤＢの読み込みが完了して設計環境が構築され、起動が完了すると、ＣＡＤ情報（ツール名、プロセスＩＤ、ＣＡＤ  ＤＢ名）をポータル２０に送信し、起動完了を通知する（Ｓ２２）。
【００７７】
その後、ポータル２０は、アプリサーバ２１から起動完了の通知を受信した場合に、アプリサーバ情報およびＣＡＤ情報を保存する（Ｓ２３）。具体的には、ポータル２０は、割り当てたアプリサーバ２１の情報、アプリサーバ２１から送られたＣＡＤ情報を認証許可されている使用者と対応付けられたＣＡＤ管理情報１４３へ保存する。図１２は、ＣＡＤ管理情報に格納する処理を説明するための説明図である。例えば、ポータル２０は、図１２に示すように、割り当てたアプリサーバ２１の実行マシン名「アプリサーバＢ」、マシンＩＰアドレス「ＸＸＸ.ＸＸＸ.ＸＸＸ.１２」をＣＡＤ管理情報１４３に格納する。また、ポータル２０は、クライアント１２から受信したＣＡＤ情報として、プロセスＩＤ「プロセスＣ」、ツール名「実装ＣＡＤ」、ＣＡＤ  ＤＢ名「データＣ」をＣＡＤ管理情報１４３に格納する。
【００７８】
図１０に戻り、ポータル２０は、ＤＢ情報送信処理が完了して準備が完了した旨をクライアント１２に通知する（Ｓ２４）。これにより、ＤＢ情報送信処理は、終了する。なお、図１０の例では、マシン情報送信処理、ＤＢ情報送信処理の順に処理を行う例を示したが、ＤＢ情報送信処理、マシン情報送信処理の順に処理を行ってもよい。
【００７９】
次に、本実施例に係る連携システム１により、回路設計ＣＡＤツールＣＴ１の操作と、実装設計ＣＡＤツールＣＴ２の操作とを連携する際の動作について説明する。図１３は、連携システムの連携操作処理の一例を示したシーケンス図である。
【００８０】
まず、連携するＣＡＤツールの選択を行う連携選択処理（Ｓ２５〜Ｓ２９）について説明する。設計者は、クライアント１２の回路設計ＣＡＤツールＣＴ１を使用してポータル２０に連携可能ＣＡＤツールとＣＡＤ  ＤＢに関する情報を要求する（Ｓ２５）。例えば、設計者は、クライアント１２にインストールされた回路設計ＣＡＤツールＣＴ１のＣＡＤツール間連携機能コマンドを起動することで、連携可能ＣＡＤツールとＣＡＤ  ＤＢに関する情報を要求する。
【００８１】
そして、ポータル２０は、クライアント１２からの要求に応じて連携可能ＣＡＤツールとＣＡＤ  ＤＢに関する情報を送信する（Ｓ２６）。具体的には、ポータル２０は、まだ連携していないＣＡＤツールのツール名とＣＡＤ  ＤＢ名を送信する。例えば、ポータル２０は、クライアント１２から要求を受信した場合に、ＣＡＤ管理情報１４３を参照して連携リストへのリンクがないツール名とＣＡＤ  ＤＢ名をクライアント１２へ送信する。
【００８２】
その後、設計者は、連携可能ＣＡＤツールとＣＡＤ  ＤＢに関する情報を参照して連携するＣＡＤツールを選択する。図１４は、選択画面の一例を示す図である。例えば、回路設計ＣＡＤツールＣＴ１は、連携可能ＣＡＤツールとＣＡＤ  ＤＢに関する情報に基づいて、図１４に示す表Ｔａ１を生成する。表Ｔａ１は、連携可能なＣＡＤツールの「アカウント」と、「ツール名」と、「ＣＡＤ  ＤＢ名」とを対応付けて示す。また、表Ｔａ１は、連携するツールを選択する「連携」欄にチェックボックスが設けられる。そして、回路設計ＣＡＤツールＣＴ１は、表Ｔａ１が表示された選択画面Ｗｉ１を生成して表示部３３に表示する。その後、設計者は、表Ｔａ１の「連携」欄のチェックボックスにチェックを入れることで連携するＣＡＤツールを選択する。図１４の例では、連携するツールとして、ツール名「回路ＣＡＤ」と「実装ＣＡＤ」のツールが選択されていることを示す。また、図１４の例では、アカウント欄に記載された「−」は、クライアント１２にインストールされたＣＡＤツールの使用者と同一のアカウントであることを示す。そして、クライアント１２は、設計者によって選択されたＣＡＤツールとＣＡＤ  ＤＢに関する情報をポータル２０へ送信する（Ｓ２７）。
【００８３】
その後、ポータル２０は、選択されたＣＡＤツール、ＣＡＤ  ＤＢ間を連携するように設定する（Ｓ２８）。図１５は、ツールをリンクする処理を説明するための説明図である。例えば、ポータル２０は、図１５に示すように、選択されたＣＡＤツール、ＣＡＤ  ＤＢからＣＡＤ管理情報１４３の該当行へリンクする連携リストを作成し、ＣＡＤ管理情報１４３の該当行から連携リストへリンクをはる。一例としては、図１５に示す「クライアントＡ」と「アプリサーバＢ」の「連携リストへのリンク」に連携リスト情報１４４のアドレスである「アドレスＡ」を格納することでリンクをはる。
【００８４】
そして、ポータル２０は、選択されたＣＡＤツール、ＣＡＤ  ＤＢ間を連携するように設定した後に、選択されたツール間の連携を開始したことを示す通知をクライアント１２に送信する（Ｓ２９）。例えば、ポータル２０は、かかる通知をクライアント１２にインストールされた回路設計ＣＡＤツールへ通知する。これにより、連携選択処理は、終了する。
【００８５】
次に、回路設計ＣＡＤツールＣＴ１の操作を実装設計ＣＡＤツールＣＴ２の操作と連携する連携操作処理（Ｓ３０〜Ｓ３４）について説明する。設計者は、クライアント１２を使用して、回路設計ＣＡＤツールＣＴ１に関する各種の操作を行う。そして、クライアント１２は、回路設計ＣＡＤツールＣＴ１を操作する操作情報を受け付ける。その後、クライアント１２は、操作情報をポータル２０へ送信する（Ｓ３０）。例えば、クライアント１２は、回路設計ＣＡＤツールＣＴ１において部品などに対する検索や選択、強調表示、表示画面のズームなどＣＡＤツール間の連携可能な機能（クロスプローブ）の操作情報を送信する。一例としては、クライアント１２は、操作情報として、操作内容「選択」、対象要素「部品」、要素名「ＸＸＸＸＸＸ」といったデータ項目を送信する。
【００８６】
そして、ポータル２０は、クライアント１２から操作情報を受信する。その後、ポータル２０は、受信した操作情報をアプリサーバ２１へ送信する（Ｓ３１）。具体的には、ポータル２０は、連携選択処理によって選択されたＣＡＤツールがインストールされたアプリサーバ２１へ操作情報を送信する。例えば、ポータル２０は、まず、操作情報を送信したクライアント１２に対応するマシンのＣＡＤツール、ＣＡＤ  ＤＢの行の連携リストを読み込む。図１６は、連携リストを読み込む処理を説明するための説明図である。図１６の例では、ポータル２０は、操作情報を送信した「クライアントＡ」に対応する連携リストへのリンクを読み込む。すなわち、ポータル２０は、連携リスト情報１４４のアドレスを読み込む。そして、ポータル２０は、連携リスト情報１４４を参照し、操作情報を送信したマシン以外のマシンに操作情報を送信する。図１７は、操作情報を送信する処理を説明するための説明図である。図１７の例では、ポータル２０は、まず、連携リスト情報１４４を参照し、連携リスト情報１４４のうち操作情報を送信したマシンである「クライアントＡ」以外のマシンとして「アプリサーバＢ」を抽出する。そして、ポータル２０は、抽出した「アプリサーバＢ」に対応するアプリサーバ２１に操作情報を送信する。
【００８７】
そして、アプリサーバ２１は、ポータル２０から操作情報を受信する。すなわち、アプリサーバ２１は、ポータル２０を介して、操作情報をクライアント１２から受信する。その後、アプリサーバ２１は、受信した操作情報に基づいて実装設計ＣＡＤツールＣＴ２の操作を実行する（Ｓ３２）。
【００８８】
そして、アプリサーバ２１は、受信した操作情報に基づいて実装設計ＣＡＤツールＣＴ２を操作した操作結果を示す結果画面を生成する。その後、アプリサーバ２１は、生成した結果画面をポータル２０に送信する（Ｓ３３）。そして、ポータル２０は、アプリサーバ２１から結果画面を受信する。その後、ポータル２０は、受信した結果画面をクライアント１２に送信する（Ｓ３４）。すなわち、アプリサーバ２１は、ポータル２０を介して、結果画面をクライアント１２に送信する。そして、クライアント１２は、ポータル２０から結果画面を受信する。これにより、クライアント１２は、受信した結果画面を表示部３３に表示する。例えば、クライアント１２は、実装設計ＣＡＤツールＣＴ２用の画面に結果画面を表示する。
【００８９】
［処理の流れ］
次に、本実施例に係る連携システム１における連携処理の流れについて説明する。初めに、クライアント１２による連携処理の流れについて説明する。図１８は、クライアント側の連携処理の手順の一例を示すフローチャートである。この連携処理は、所定のタイミング、例えば、クライアント１２の起動後、最初に要求を受信したタイミング等で実行される。
【００９０】
図１８に示すように、クライアント１２は、後述するクライアント１２側の連携確立処理を実行する（Ｓ１００）。その後、クライアント１２は、連携確立処理が完了したか否かを判定する（Ｓ１０１）。連携確立処理を完了していない場合（Ｓ１０１否定）、クライアント１２は、処理を終了する。一方、連携確立処理を完了している場合（Ｓ１０１肯定）、クライアント１２は、連携操作処理を実行する（Ｓ１０２）。その後、クライアント１２は、処理を終了する。
【００９１】
続いて、クライアント側の連携確立処理について詳細に説明する。図１９は、クライアント側の連携確立処理の手順の一例を示すフローチャートである。図１９に示すように、クライアント１２は、連携可能ＣＡＤツールとＣＡＤ  ＤＢに関する情報をポータル２０へ要求する（Ｓ２００）。その後、クライアント１２は、ポータル２０から要求に対する応答があったか否かを判定する（Ｓ２０１）。応答がない場合（Ｓ２０１否定）、クライアント１２は、一定時間経過したか否かを判定する（Ｓ２０２）。一定時間経過していない場合（Ｓ２０２否定）、クライアント１２は、ポータル２０から応答があるまで待機する。一定時間経過した場合（Ｓ２０２肯定）、クライアント１２は、連携失敗した旨を表示し（Ｓ２１０）、処理を終了する。
【００９２】
一方、応答があった場合（Ｓ２０１肯定）、クライアント１２は、連携可能なＣＡＤツール、ＣＡＤ  ＤＢがあるか否かを判定する（Ｓ２０３）。連携可能なＣＡＤツール、ＣＡＤ  ＤＢがないと判定した場合（Ｓ２０３否定）、クライアント１２は、連携失敗した旨を表示し（Ｓ２１０）、処理を終了する。一方、連携可能なＣＡＤツール、ＣＡＤ  ＤＢがあると判定した場合（Ｓ２０３肯定）、クライアント１２は、連携可能ＣＡＤツール、ＣＡＤ  ＤＢの選択画面を表示する（Ｓ２０４）。
【００９３】
その後、クライアント１２は、連携するＣＡＤツール、ＣＡＤ  ＤＢの選択を受け付けたか否かを判定する（Ｓ２０５）。選択を受け付けていない場合（Ｓ２０５否定）、クライアント１２は、連携失敗した旨を表示し（Ｓ２１０）、処理を終了する。一方、選択を受け付けた場合（Ｓ２０５肯定）、クライアント１２は、連携するＣＡＤツール、ＣＡＤ  ＤＢに関する情報をポータル２０へ送信する（Ｓ２０６）。
【００９４】
その後、クライアント１２は、ポータル２０から連携開始の応答があったか否かを判定する（Ｓ２０７）。応答があった場合（Ｓ２０７肯定）、クライアント１２は、連携確立を完了し（Ｓ２０９）、処理を終了する。一方、応答がない場合（Ｓ２０７否定）、一定時間経過したか否かを判定する（Ｓ２０８）。一定時間経過していない場合（Ｓ２０８否定）、クライアント１２は、ポータル２０から応答があるまで待機する。一定時間経過した場合（Ｓ２０８肯定）、クライアント１２は、連携失敗した旨を表示し（Ｓ２１０）、処理を終了する。
【００９５】
続いて、クライアント側の連携操作処理について詳細に説明する。図２０は、クライアント側の連携操作処理の手順の一例を示すフローチャートである。図２０に示すように、クライアント１２は、クライアント１２上にインストールされた回路設計ＣＡＤツールで操作があったか否かを判定する（Ｓ３００）。操作がない場合（Ｓ３００否定）、クライアント１２は、次の操作があるまで待機する。操作があった場合（Ｓ３００肯定）、クライアント１２は、かかる操作が終了操作であるか否かを判定する（Ｓ３０１）。終了操作である場合（Ｓ３０１肯定）、クライアント１２は、回路設計ＣＡＤツールの起動を終了する（Ｓ３０８）。
【００９６】
一方、終了操作でない場合（Ｓ３０１否定）、クライアント１２は、連携可能な操作か否かを判定する（Ｓ３０２）。連携可能な操作でない場合（Ｓ３０２否定）、クライアント１２は、次の操作があるまで待機する。一方、連携可能な操作である場合（Ｓ３０２肯定）、クライアント１２は、かかる操作の操作情報をポータル２０へ送信する（Ｓ３０３）。
【００９７】
その後、クライアント１２は、ポータル２０から応答があったか否かを判定する（Ｓ３０４）。応答がなかった場合（Ｓ３０４否定）、クライアント１２は、一定時間経過したか否かを判定する（Ｓ３０５）。一定時間経過していない場合（Ｓ３０５否定）、クライアント１２は、ポータル２０から応答があるまで待機する。一定時間経過した場合（Ｓ３０５肯定）、クライアント１２は、連携操作に失敗したことを画面に通知し（Ｓ３０６）、次の操作があるまで待機する。
【００９８】
一方、応答があった場合（Ｓ３０４肯定）、クライアント１２は、実装設計ＣＡＤツール用の画面であるＷｅｂブラウザ画面を更新し（Ｓ３０７）、次の操作があるまで待機する。
【００９９】
次に、ポータル２０による連携処理の流れについて説明する。図２１は、ポータルによる連携処理の手順の一例を示すフローチャートである。この連携処理は、所定のタイミング、例えば、クライアント１２から要求を受信したタイミング等で実行される。
【０１００】
図２１に示すように、ポータル２０は、後述するポータル２０側の連携確立処理を実行する（Ｓ４００）。その後、ポータル２０は、連携確立処理が完了したか否かを判定する（Ｓ４０１）。連携確立処理を完了していない場合（Ｓ４０１否定）、ポータル２０は、処理を終了する。一方、連携確立処理を完了している場合（Ｓ４０１肯定）、ポータル２０は、連携操作処理を実行する（Ｓ４０２）。その後、ポータル２０は、処理を終了する。
【０１０１】
続いて、ポータル側の連携確立処理について詳細に説明する。図２２は、ポータル側の連携確立処理の手順の一例を示すフローチャートである。図２２に示すように、ポータル２０は、連携可能ＣＡＤツールとＣＡＤ  ＤＢに関する情報についてクライアント１２から要求があったか否かを判定する（Ｓ５００）。要求がない場合（Ｓ５００否定）、ポータル２０は、要求があるまで待機する。要求があった場合（Ｓ５００肯定）、ポータル２０は、連携可能なＣＡＤツールとＣＡＤ  ＤＢがあるか否かを判定する（Ｓ５０１）。連携可能なＣＡＤツールとＣＡＤ  ＤＢがある場合（Ｓ５０１肯定）、ポータル２０は、連携可能ＣＡＤツールとＣＡＤ  ＤＢに関する情報をクライアント１２に送信し（Ｓ５０２）、処理を終了する。連携可能なＣＡＤツールとＣＡＤ  ＤＢがない場合（Ｓ５０１否定）、ポータル２０は、連携可能ＣＡＤツールとＣＡＤ  ＤＢがない旨をクライアント１２に送信し（Ｓ５０３）、処理を送信する。
【０１０２】
続いて、ポータル側の連携操作処理について詳細に説明する。図２３は、ポータル側の連携操作処理の手順の一例を示すフローチャートである。図２３に示すように、ポータル２０は、クライアント１２から連携可能な操作情報を受信したか否かを判定する（Ｓ６００）。受信していない場合（Ｓ６００否定）、ポータル２０は、操作情報を受信するまで待機する。操作情報を受信した場合（Ｓ６００肯定）、ポータル２０は、操作情報を送信したマシンのＣＡＤツール、ＣＡＤ  ＤＢの行の連携リストを読み込む（Ｓ６０１）。
【０１０３】
その後、ポータル２０は、読込完了したか否かを判定する（Ｓ６０２）。読み込みができなかった場合（Ｓ６０２否定）、ポータル２０は、クライアント１２に連携操作が失敗したことを通知し（Ｓ６０９）、処理を終了する。一方、読込完了した場合（Ｓ６０２肯定）、ポータル２０は、連携リストを参照し、連携先のアプリサーバ２１のＣＡＤツールとＣＡＤ  ＤＢを特定する（Ｓ６０３）。
【０１０４】
その後、ポータル２０は、連携先のアプリサーバ２１のＣＡＤツールとＣＡＤ  ＤＢを特定したか否かを判定する（Ｓ６０４）。ＣＡＤツールとＣＡＤ  ＤＢを特定できた場合（Ｓ６０４肯定）、ポータル２０は、特定したアプリサーバ２１に対して、操作情報に基づいた操作の実行を指示する（Ｓ６０５）。
【０１０５】
その後、ポータル２０は、アプリサーバ２１から応答があったか否かを判定する（Ｓ６０６）。応答がない場合（Ｓ６０６否定）、ポータル２０は、一定時間経過したか否かを判定する（Ｓ６０８）。一定時間経過していない場合（Ｓ６０８否定）、ポータル２０は、アプリサーバ２１から応答があるまで待機する。一定時間経過した場合（Ｓ６０８肯定）、ポータル２０は、クライアント１２に連携操作が失敗したことを通知し（Ｓ６０９）、処理を終了する。
【０１０６】
一方、応答があった場合（Ｓ６０６肯定）、ポータル２０は、クライアント１２に連携操作が完了したことを通知し（Ｓ６０７）、処理を終了する。
【０１０７】
［効果］
上述してきたように、本実施例に係る連携システム１は、回路設計ＣＡＤツールが動作するクライアント１２と、回路設計ＣＡＤツールと連携可能な実装設計ＣＡＤツールが動作するアプリサーバ２１とを有する。クライアント１２は、回路設計ＣＡＤツールを操作する操作情報を受け付ける。クライアント１２は、受け付けられた操作情報をアプリサーバ２１に送信する。アプリサーバ２１は、送信された操作情報を受信する。アプリサーバ２１は、受信された操作情報に基づいて実装設計ＣＡＤツールを操作した操作結果を示す結果画面を生成する。アプリサーバ２１は、生成された結果画面をクライアント１２に送信する。これにより、連携ステム１は、ローカル端末上で動作するツールとサーバ上で動作するツールを連携することができる。例えば、連携システム１は、回路設計ＣＡＤツールの操作を実行すれば実装設計ＣＡＤツールの操作が行われるので、それぞれのツールで操作を行う作業量を減らすことができる。
【０１０８】
また、本実施例に係るクライアント１２は、アプリサーバ２１によって送信された結果画面を実装設計ＣＡＤツール用の画面に表示する。これにより、連携システム１は、ローカル端末上で動作するツールとサーバ上で動作するツールを連携して並べて表示することができる。この点について図２４を用いて説明する。図２４は、表示部の一例を示す図である。例えば、設計者は、図２４に示すように、クライアント１２上で動作する回路設計ＣＡＤツール用の画面Ｗ１と、クラウドシステム１０で提供される実装設計ＣＡＤツール用の画面Ｗ２とを並べて表示部３３に表示させる。このため、設計者は、回路設計ＣＡＤツールの操作結果を示す画面Ｗ１と、実装設計ＣＡＤツールの操作結果を示す画面Ｗ２とを同時に確認することができる。
【０１０９】
この点について、図２５を用いて詳細に説明する。図２５は、連携システム１の効果を説明するための説明図である。図２５（１）に示すように、クライアント１２は、回路設計ＣＡＤツール用の画面Ｗ１に回路設計ＣＡＤツールを操作した結果画面Ｒｅ１１を表示する。また、クライアント１２は、Ｗｅｂブラウザなどの実装設計ＣＡＤツール用の画面Ｗ２に実装設計ＣＡＤツールを操作した結果画面Ｒｅ２１を表示する。
【０１１０】
ここで、設計者は、回路設計ＣＡＤツール用の画面Ｗ１に表示された部品Ｐａ１を選択したものとする。この場合、クライアント１２は、図２５（２）に示すように、結果画面Ｒｅ１１を、回路設計ＣＡＤツール用の画面Ｗ１に部品Ｐａ１が選択された結果画面Ｒｅ１２に更新して表示する。
【０１１１】
また、クライアント１２は、実装設計ＣＡＤツールにおいて部品Ｐａ１を選択する操作を実行した結果画面Ｒｅ２２をアプリサーバ２１から受信する。そして、クライアント１２は、図２５（３）に示すように、結果画面Ｒｅ２１を、実装設計ＣＡＤツール用の画面Ｗ２に部品Ｐａ１が選択された結果画面Ｒｅ２２に更新して表示する。
【０１１２】
これにより、連携システム１は、設計者が回路設計ＣＡＤツールに見合った性能の端末装置を使用していても、端末装置上で動作する回路設計ＣＡＤツールとサーバ上で動作する実装設計ＣＡＤツールを連携することができる。また、連携システム１は、例えば、ローカル端末上で動作するツールとサーバ上で動作するツールを連携して並べて表示することができるので、設計者による論理設計と実装設計の検図などの確認作業を容易にすることができる。また、連携システム１は、例えば、論理設計と実装設計が異なる会社で行われている場合でも、回路設計データ自体のやり取りを行うことなく各ツールの操作を連携することができるので、データ漏洩のリスクを軽減することができる。
【０１１３】
また、本実施例に係る連携システム１は、クライアント１２とアプリサーバ２１との間の通信を中継するポータル２０をさらに有する。ポータル２０は、クライアント１２からクライアント１２に関する端末情報を受信する。ポータル２０は、受信された端末情報に基づいて、回路設計ＣＡＤツールと連携可能な実装設計ＣＡＤツールに関する連携情報をクライアント１２に送信する。ポータル２０は、送信された連携情報に基づいてクライアント１２を使用する使用者によって選択された実装設計ＣＡＤツールが動作するアプリサーバ２１をクライアント２１と通信を行うサーバとして設定する。これにより、連携システム１は、ポータル２０を介した連携環境を構築することができる。
【０１１４】
また、本実施例に係るクライアント１２の送信部５１は、ポータル２０を介して、設定されたアプリサーバ２１に操作情報を送信する。アプリサーバ２１の受信部２５０は、ポータル２０を介して、操作情報をクライアント１２から受信する。アプリサーバ２１の送信部２５４は、ポータル２０を介して、結果画面をクライアント１２に送信する。これにより、連携システム１は、ポータル２０を介して回路設計ＣＡＤツールの操作と実装設計ＣＡＤツールの操作を連携することができる。
【実施例２】
【０１１５】
さて、これまで開示のシステムに関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【０１１６】
［実装設計ＣＡＤツールの操作を回路設計ＣＡＤツールと連携］
例えば、上記の実施例では、回路設計ＣＡＤツールを操作する操作情報に基づいて実装設計ＣＡＤツールを操作した操作結果を表示する場合について説明したが、開示のシステムはこれに限定されない。例えば、連携システム１は、実装設計ＣＡＤツールを操作する操作情報に基づいて回路設計ＣＡＤツールを操作した操作結果を表示してもよい。この点について、図２６を用いて説明する。
【０１１７】
図２６は、変形例に係る連携システムの動作の一例を示したシーケンス図である。図２６に示すように、設計者は、Ｗｅｂブラウザを通して実装設計ＣＡＤツールＣＴ２を操作する。これにより、クライアント１２は、操作情報を受け付ける。そして、クライアント１２は、受け付けた操作情報をポータル２０に送信する（Ｓ４０）。
【０１１８】
そして、ポータル２０は、クライアント１２から操作情報を受信する。その後、ポータル２０は、実装設計ＣＡＤツールＣＴ２がインストールされたアプリサーバ２１に操作情報を送信する（Ｓ４１）。そして、アプリサーバ２１は、ポータル２０から操作情報を受信する。そして、アプリサーバ２１は、受信した操作情報に基づいて実装設計ＣＡＤツールＣＴ２の操作を実行する（Ｓ４２）。
【０１１９】
その後、アプリサーバ２１は、実装設計ＣＡＤツールＣＴ２の操作を実行した実装設計ＣＡＤツールＣＴ２の結果画面を生成する。そして、アプリサーバ２１は、生成した実装設計ＣＡＤツールＣＴ２の結果画面をポータル２０に送信する（Ｓ４３）。これにより、ポータル２０は、アプリサーバ２１から実装設計ＣＡＤツールＣＴ２の結果画面を受信する。そして、ポータル２０は、受信した実装設計ＣＡＤツールＣＴ２の結果画面をクライアント１２に送信する（Ｓ４４）。これにより、クライアント１２は、ポータル２０から実装設計ＣＡＤツールＣＴ２の結果画面を受信する。そして、クライアント１２は、実装設計ＣＡＤツールＣＴ２の結果画面を実装設計ＣＡＤツールＣＴ２用の画面に表示する。
【０１２０】
また、アプリサーバ２１は、受信した実装設計ＣＡＤツールＣＴ２の操作情報に基づいて、回路設計ＣＡＤツールＣＴ１の操作情報に対応する操作を回路設計ＣＡＤツールＣＴ１に指示する指示情報をポータル２０に送信する（Ｓ４５）。これにより、ポータル２０は、回路設計ＣＡＤツールＣＴ１の指示情報を受信する。そして、ポータル２０は、受信した回路設計ＣＡＤツールＣＴ１の指示情報をクライアント１２に送信する（Ｓ４６）。これにより、クライアント１２は、ポータル２０から回路設計ＣＡＤツールＣＴ１の指示情報を受信する。そして、クライアント１２は、受信した回路設計ＣＡＤツールＣＴ１の指示情報に基づいて回路設計ＣＡＤツールＣＴ１の操作を実行する。その後、クライアント１２は、回路設計ＣＡＤツールＣＴ１の操作を実行した結果画面を実装設計ＣＡＤツールＣＴ２用の画面に表示する。
【０１２１】
このように、変形例に係る連携システム１では、クライアント１２の受付部５０は、操作情報として実装設計ＣＡＤツールＣＴ２を操作する操作情報を受け付ける。クライアント１２の送信部５１は、操作情報をアプリサーバ２１に送信する。アプリサーバ２１の受信部２５０は、操作情報をクライアント１２から受信する。アプリサーバ２１の生成部２５３は、結果画面として、受信された操作情報に基づいて実装設計ＣＡＤツールＣＴ２を操作した操作結果を示す結果画面を生成する。アプリサーバ２１の送信部２５４は、生成された結果画面と、回路設計ＣＡＤツールＣＴ１の操作情報に対応する操作を回路設計ＣＡＤツールＣＴ１に指示する指示情報とをクライアント１２に送信する。
【０１２２】
これにより、変形例に係る連携システム１は、ローカル端末上で動作するツールとサーバ上で動作するツールを連携することができる。このため、例えば、変形例に係る連携システム１は、実装設計を行いながら論理設計を確認する検図などの作業を容易にすることができるので、設計者の作業効率を高めることができる。
【０１２３】
なお、上記の変形例では、連携システム１は、実装設計ＣＡＤツールＣＴ２の結果画面をクライアント１２に送信する処理（Ｓ４３、Ｓ４４）を、回路設計ＣＡＤツールＣＴ１の指示情報を送信する処理（Ｓ４５、Ｓ４６）より先に行う場合について説明した。ここで、連携システム１は、回路設計ＣＡＤツールＣＴ１の指示情報を送信する処理（Ｓ４５、Ｓ４６）を、実装設計ＣＡＤツールＣＴ２の結果画面をクライアント１２に送信する処理（Ｓ４３、Ｓ４４）より先に行ってもよい。
【０１２４】
［同一グループに属する使用者の端末装置に結果画面を送信］
また、連携システム１は、クライアント１２を使用する使用者の属性を示す属性情報に基づいて、結果画面を他の端末装置に送信してもよい。この点について、図２７を用いて説明する。図２７は、変形例に係る連携システムの動作の一例を示したシーケンス図である。図２７の例では、ユーザＡが使用するクライアントＡ１２の回路設計ＣＡＤツールＣＴ１と、ユーザＡと同一グループに属するユーザＢが使用するクライアントＢ１２の実装設計ＣＡＤツールＣＴ４とを連携する。なお、図２７の例では、ユーザＡは、ユーザＡと所属グループが一致する全アカウントの連携可能ＣＡＤツールのうち、ユーザＢの実装設計ＣＡＤツールＣＴ４を連携するＣＡＤツールとして選択したものとする。
【０１２５】
図２７に示すように、ユーザＡは、クライアントＡ１２の回路設計ＣＡＤツールＣＴ１を操作する。これにより、クライアントＡ１２は、回路設計ＣＡＤツールＣＴ１の操作情報を受け付ける。そして、クライアントＡ１２は、受け付けた操作情報をポータル２０に送信する（Ｓ５０）。
【０１２６】
そして、ポータル２０は、クライアント１２から操作情報を受信する。その後、ポータル２０は、実装設計ＣＡＤツールＣＴ４がインストールされたアプリサーバ２１に操作情報を送信する（Ｓ５１）。そして、アプリサーバ２１は、ポータル２０から操作情報を受信する。そして、アプリサーバ２１は、受信した操作情報に基づいて実装設計ＣＡＤツールＣＴ４の操作を実行する（Ｓ５２）。
【０１２７】
その後、アプリサーバ２１は、実装設計ＣＡＤツールＣＴ４の操作を実行した実装設計ＣＡＤツールＣＴ４の結果画面を生成する。そして、アプリサーバ２１は、生成した実装設計ＣＡＤツールＣＴ４の結果画面をポータル２０に送信する（Ｓ５３）。これにより、ポータル２０は、アプリサーバ２１から実装設計ＣＡＤツールＣＴ４の結果画面を受信する。
【０１２８】
そして、ポータル２０は、受信した実装設計ＣＡＤツールＣＴ４の結果画面を送信する（Ｓ５４）。ここで、ポータル２０は、クライアントＡ１２を使用するユーザＡの属性を示す属性情報に基づいて、結果画面を他のクライアントに送信する。この点について図２８を用いて詳細に説明する。
【０１２９】
図２８は、変形例に係る連携リストを説明するための説明図である。図２８の例では、使用者情報Ａ１４２は、ユーザＡの所属グループが第１グループであることを示す。使用者情報Ｂ１４２は、ユーザＢの所属グループが第１グループであることを示す。すなわち、図２８の例では、ユーザＢは、ユーザＡと同一のグループに属することを示す。また、ＣＡＤ管理情報Ａ１４３とＣＡＤ管理情報Ｂ１４３は、ユーザＡの使用する実行マシン名「クライアントＡ」のクライアントＡ１２は、ユーザＢがＷｅｂを通して使用する実装設計ＣＡＤツールＣＴ４の「アプリサーバＢ」と連携することを示す。この場合、ポータル２０は、ユーザＡと同一のグループに属するユーザＢが使用するクライアントＢ１２に結果画面を送信する。
【０１３０】
これにより、クライアントＢ１２は、ポータル２０から実装設計ＣＡＤツールＣＴ４の結果画面を受信する。そして、クライアントＢ１２は、実装設計ＣＡＤツールＣＴ４の結果画面を実装設計ＣＡＤツールＣＴ４用の画面に表示する。
【０１３１】
このように、変形例に係る連携システム１では、アプリサーバ２１の送信部２５４は、クライアントＡ１２を使用する使用者の属性を示す属性情報に基づいて、結果画面をクライアントＢ１２に送信する。これにより、変形例に係る連携システム１は、同じグループに属する使用者が使用する端末装置の回路設計ＣＡＤツールと実装設計ＣＡＤツールを連携することができる。このため、変形例に係る連携システム１は、例えば、実装設計の設計者は、論理設計の設計者による操作を確認しながら実装設計を行うことができるので、設計者の作業効率を高めることができる。
【０１３２】
［仮想マシン］
また、上記の実施例では、実装設計ＣＡＤツールがアプリサーバ２１にインストールされる場合について説明したが、開示のシステムはこれに限定されない。例えば、連携システム１は、クラウド上に構築された複数の仮想マシンであるＶＭサーバに実装設計ＣＡＤツールがインストールされてもよい。この場合、設計者は、例えば、Ｗｅｂブラウザを通してＶＭサーバの実装設計ＣＡＤツールを操作したり、操作結果を確認したりする。これにより、設計者が使用するマシンは、実装設計ＣＡＤツールを動作させる性能がなくても実装設計を行うことができるので、費用を抑えることができる。また、連携システム１は、回路設計ＣＡＤツールもＶＭサーバにインストールされてもよい。この場合、設計者は、Ｗｅｂブラウザを通して回路設計ＣＡＤツールを操作する。これにより、設計者が使用するマシンは、操作や入力が行えるだけの性能があれば回路設計を行うことができるので、費用を抑えることができる。
【０１３３】
［複数のＣＡＤツール］
また、上記の実施例では、回路設計ＣＡＤツールと実装設計ＣＡＤツールとを連携する場合について説明したが、開示のシステムはこれに限定されない。例えば、連携システム１は、３つ以上のツールを連携してもよい。また、連携システム１は、アプリサーバ２１にインストールされた回路設計ＣＡＤツールおよび実装設計ＣＡＤツールをクラウド上で連携してもよい。
【０１３４】
［データの送受信］
また、上記の実施例では、クライアント１２とアプリサーバ２１は、ポータル２０を介してデータを送受信する場合について説明したが、開示のシステムはこれに限定されない。例えば、連携システム１では、クライアント１２とアプリサーバ２１は、ポータル２０を介さずにデータを送受信してもよい。例えば、クライアント１２は、操作情報をアプリサーバ２１に直接送信する。また、アプリサーバ２１は、操作情報をクライアント１２から直接受信する。また、アプリサーバ２１は、結果画面をクライアント１２に直接送信する。
【０１３５】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、クライアント１２の受付部５０、送信部５１、受信部５２および表示制御部５３の各処理部が適宜統合されてもよい。また、各処理部の処理が適宜複数の処理部の処理に分離されてもよい。さらに、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１３６】
［連携プログラム］
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図２９は、連携プログラムを実行するコンピュータを示す図である。
【０１３７】
図２９に示すように、コンピュータ１３００は、ＣＰＵ（Central  Processing  Unit）１３１０、ＨＤＤ（Hard  Disk  Drive）１３２０、ＲＡＭ（Random  Access  Memory）１３４０を有する。これら１３１０〜１３４０の各部は、バス１４００を介して接続される。
【０１３８】
ＨＤＤ１３２０には上記のクライアント１２の受付部５０、送信部５１、受信５２および表示制御部５３と、アプリサーバ２１の受信部２５０と、読込部２５１と、実行部２５２と、生成部２５３および送信部２５４と同様の機能を発揮する連携プログラム１３２０ａが予め記憶される。すなわち、連携プログラム１３２０ａは、クライアント１２と同様の機能を発揮するプログラムと、アプリサーバ２１と同様の機能を発揮するプログラムとを有する。なお、連携プログラム１３２０ａについては、適宜分離しても良い。また、連携プログラム１３２０ａは、ポータル２０の受信部１５０と、格納部１５１と、割当部１５２と、送信部１５３および設定部１５４と同様の機能を発揮するプログラムをさらに有してもよい。
【０１３９】
また、ＨＤＤ１３２０は、各種情報を記憶する。例えば、ＨＤＤ１３２０は、ＯＳや範囲選択の要求分散に用いる各種データを記憶する。
【０１４０】
そして、ＣＰＵ１３１０が、連携プログラム１３２０ａをＨＤＤ１３２０から読み出して実行することで、実施例の各処理部と同様の動作を実行する。すなわち、連携プログラム１３２０ａは、クライアント１２の受付部５０、送信部５１、受信部５２および表示制御部５３と同様の動作を実行する。
【０１４１】
なお、上記した連携プログラム１３２０ａについては、必ずしも最初からＨＤＤ１３２０に記憶させることを要しない。
【０１４２】
例えば、コンピュータ１３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ１３００がこれらからプログラムを読み出して実行するようにしてもよい。
【０１４３】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ１３００がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【０１４４】
１    連携システム
１０  クラウドシステム
１２  クライアント
２０  ポータル
２１  アプリサーバ
２２  ファイルサーバ
３１  記憶部
３２  制御部
４０  回路ＤＢ情報
４１  実装ＤＢ情報
５０  受付部
５１  送信部
５２  受信部
５３  表示制御部
２３１  記憶部
２３２  制御部
２４０  実装ＤＢ情報
２５０  受信部
２５１  読込部
２５２  実行部
２５３  生成部
２５４  送信部
【図１】
2016139273.tif 000003
【図２】
2016139273.tif 000004
【図３】
2016139273.tif 000005
【図４】
2016139273.tif 000006
【図５】
2016139273.tif 000007
【図６】
2016139273.tif 000008
【図７】
2016139273.tif 000009
【図８】
2016139273.tif 000010
【図９】
2016139273.tif 000011
【図１０】
2016139273.tif 000012
【図１１】
2016139273.tif 000013
【図１２】
2016139273.tif 000014
【図１３】
2016139273.tif 000015
【図１４】
2016139273.tif 000016
【図１５】
2016139273.tif 000017
【図１６】
2016139273.tif 000018
【図１７】
2016139273.tif 000019
【図１８】
2016139273.tif 000020
【図１９】
2016139273.tif 000021
【図２０】
2016139273.tif 000022
【図２１】
2016139273.tif 000023
【図２２】
2016139273.tif 000024
【図２３】
2016139273.tif 000025
【図２４】
2016139273.tif 000026
【図２５】
2016139273.tif 000027
【図２６】
2016139273.tif 000028
【図２７】
2016139273.tif 000029
【図２８】
2016139273.tif 000030
【図２９】
2016139273.tif 000031