(57)【特許請求の範囲】
【請求項１】
コンピュータ支援設計（ＣＡＤ）オブジェクトまたはモデルの同時設計を管理する方法であって、前記方法は、
複数の異なるＣＡＤアプリケーションをコンピュータデバイスのプロセッサに提供することであって、前記複数の異なるＣＡＤアプリケーションは、（ａ）前記ＣＡＤモデルの幾何学的特徴を編集するように構成されたモデリングアプリケーションと、（ｂ）前記ＣＡＤモデルに工学的分析を行うように構成された工学的分析アプリケーションと、（ｃ）別個の明確に異なる物理オブジェクトにそれぞれが対応している異なるＣＡＤモデルをどのように一緒にアセンブリするかを修正するように構成されたアセンブリアプリケーションとを含み、前記複数の異なるＣＡＤアプリケーションの各々は、アクティブ状態と非アクティブ状態とを有する、ことと、
前記複数の異なるＣＡＤアプリケーションから選択される第１のＣＡＤアプリケーションがアクティブ状態にあると同時に、前記複数のＣＡＤアプリケーションの第２のＣＡＤアプリケーションが非アクティブ状態にあるように、前記プロセッサを使用して前記第１のＣＡＤアプリケーションを実行することと、
コンピュータデバイスのプロセッサによって実行される第１のＣＡＤアプリケーションによって、ＣＡＤモデルの開始状態を記憶することと、
ユーザからのコマンドに応答して前記プロセッサによって実行される前記第１のＣＡＤアプリケーションを介して、前記ＣＡＤモデルを修正することと、
前記第２のＣＡＤアプリケーションに対して前記修正を表す第１の１つ以上の変更命令を送信することであって、前記第２のＣＡＤアプリケーションは、前記非アクティブ状態にある、ことと、
前記ユーザによる前記第２のＣＡＤアプリケーションの選択に応答して、前記プロセッサによって、自動的に、（ａ）前記第１のＣＡＤアプリケーションを前記アクティブ状態から前記非アクティブ状態に変更し、（ｂ）前記第２のＣＡＤアプリケーションを前記非アクティブ状態から前記アクティブ状態に変更することと、
前記非アクティブ状態から前記アクティブ状態への前記第２のＣＡＤアプリケーションの変更に応答して、前記第２のＣＡＤアプリケーションの前記プロセッサによって、前記ＣＡＤモデルの前記記憶された開始状態を自動的にロードし、前記第２のＣＡＤアプリケーションの前記ＣＡＤモデルに対する前記修正を再現するために、前記１つ以上の変更命令を自動的に実行することと
を含む、方法。
【請求項２】
前記ＣＡＤモデルの前記開始状態を記憶することは、前記第１のＣＡＤアプリケーションによって前記ＣＡＤモデルをロードすることに応答して、前記ＣＡＤモデルの前記開始状態を記憶することを含む、請求項１に記載の方法。
【請求項３】
前記ＣＡＤモデルを修正することは、前記ＣＡＤモデルの第１の１つ以上のオブジェクトを修正することと、前記第１のＣＡＤアプリケーションによって、前記第１の１つ以上のオブジェクトに従属している、前記ＣＡＤモデルの第２の１つ以上のオブジェクトを再生することとを含む、請求項１に記載の方法。
【請求項４】
前記第１の１つ以上の変更命令を作成することは、前記１つ以上の変更命令の実行が、ＣＡＤアプリケーションに、前記第１の１つ以上のオブジェクトに従属している前記第２の１つ以上のオブジェクトを再生させるように、前記第１の１つ以上のオブジェクトに対する前記修正を表す第１の１つ以上の変更命令を作成することを含む、請求項３に記載の方法。
【請求項５】
前記第２のＣＡＤアプリケーションを介して、前記ＣＡＤモデルを修正することと、
前記第２のＣＡＤアプリケーションによって、前記第２のＣＡＤアプリケーションを介した修正に応答して、前記ＣＡＤモデルに対する前記第２のＣＡＤアプリケーションを介した修正を表す第２の１つ以上の変更命令を作成することと、
前記第１のＣＡＤアプリケーションによって、前記第２の１つ以上の変更命令をロードすることと、
前記第１のＣＡＤアプリケーションによって、前記ＣＡＤモデルに対する前記第２のＣＡＤアプリケーションを介した修正を再現するために、前記第２の１つ以上の変更命令を実行することと
をさらに含む、請求項１に記載の方法。
【請求項６】
前記第２の１つ以上の変更命令は、前記第１の１つ以上の変更命令の実行後の前記ＣＡＤモデルに対する前記第２のＣＡＤアプリケーションを介した修正を表す、請求項５に記載の方法。
【請求項７】
前記第１のＣＡＤアプリケーションを介して、前記第１の１つ以上の変更命令を取り消すように要求することと、
前記第１のＣＡＤアプリケーションによって、前記ＣＡＤモデルの前記開始状態をロードすることと
をさらに含む、請求項５に記載の方法。
【請求項８】
前記第１のＣＡＤアプリケーションによって、前記第２の１つ以上の変更命令を実行することをさらに含み、前記第２の１つ以上の変更命令は、前記第１の１つ以上の変更命令によって修正されるチャプタとは無関係の前記ＣＡＤモデルのチャプタを修正する、請求項７に記載の方法。
【請求項９】
請求項１〜８に記載のプロセスを実行するようにプログラムされたシステム。
【請求項１０】
コンピュータ支援設計（ＣＡＤ）モデルの同時設計を管理するためのシステムであって、前記システムは、プロセッサを備えているコンピュータデバイスを備え、前記プロセッサは、
複数の異なるＣＡＤアプリケーションを提供することであって、前記複数の異なるＣＡＤアプリケーションは、（ａ）前記ＣＡＤモデルの幾何学的特徴を編集するように構成されたモデリングアプリケーションと、（ｂ）前記ＣＡＤモデルに工学的分析を行うように構成された工学的分析アプリケーションと、（ｃ）別個の明確に異なる物理オブジェクトにそれぞれが対応している異なるＣＡＤモデルをどのように一緒にアセンブリするかを修正するように構成されたアセンブリアプリケーションとを含み、前記複数の異なるＣＡＤアプリケーションの各々は、アクティブ状態と非アクティブ状態とを有する、ことと、
前記複数の異なるＣＡＤアプリケーションから選択される第１のＣＡＤアプリケーションがアクティブ状態にあると同時に、前記複数のＣＡＤアプリケーションの第２の同時実行ＣＡＤアプリケーションがアクティブ状態にあるように、前記第１のＣＡＤアプリケーションを実行することと、
第１のＣＡＤアプリケーションによって、ＣＡＤモデルの開始状態を記憶することと、
ユーザからのコマンドに応答して前記第１のＣＡＤアプリケーションを介して、前記ＣＡＤモデルを修正することと、
前記第２のＣＡＤアプリケーションに対して前記修正を表す第１の１つ以上の変更命令を送信することであって、前記第２のＣＡＤアプリケーションは、前記アクティブ状態にある、ことと、
前記第１の１つ以上の変更命令の送信に応答して、前記ユーザからの要求を必要とせずに、前記第２のＣＡＤアプリケーションの前記ＣＡＤモデルに対する前記修正を再現するために、前記１つ以上の変更命令を実行することと
を実行するようにプログラムされている、システム。
【請求項１１】
前記第２の同時実行ＣＡＤアプリケーションは、前記ユーザが前記第１の修正を保存することを要求することなく、前記ＣＡＤモデルに対する前記第１の修正を表示するように構成されている、請求項１０に記載のシステム。
【請求項１２】
前記第２の同時実行ＣＡＤアプリケーションは、前記ユーザからの第２の要求に応答して、前記第１のＣＡＤアプリケーションによって行われる、前記ＣＡＤモデルに対する前記第１の修正を取り消すように構成されている、請求項１０に記載のシステム。
【請求項１３】
前記第２の同時実行ＣＡＤアプリケーションは、前記ユーザからの第２の要求に応答して、前記第１のＣＡＤアプリケーションによって行われる、前記ＣＡＤモデルに対する前記第１の修正を保存するように構成されている、請求項１０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）
本願は、米国出願第１２／９１４，００４号（２０１０年１０月２８日出願、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｍａｎａｇｉｎｇ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  ｏｆ  ａ  Ｐｌｕｒａｌｉｔｙ  ｏｆ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｉｔｅｍｓ  ｏｆ  ａ  Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ  Ｄａｔａ  Ｍｏｄｅｌ」）に基づく優先権を主張する。該出願は、その全体が参照により援用される。
【０００２】
本願は、米国出願第１２／９１４，００５号（２０１０年１０月２８日出願、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｍａｎａｇｉｎｇ  Ｃｏｎｃｕｒｒｅｎｔ  Ｄｅｓｉｇｎ  ｏｆ  Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ  Ｏｂｊｅｃｔｓ」）に基づく優先権を主張する。該出願は、その全体が参照により援用される。
【０００３】
本願は、米国出願第１２／９１４，０１１号（２０１０年１０月２８日出願、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｃｏｎｓｉｓｔｅｎｔ  Ｃｏｎｃｕｒｒｅｎｔ  Ｏｐｅｒａｔｉｏｎ  ｏｆ  ａ  Ｐｌｕｒａｌｉｔｙ  ｏｆ  Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ  Ａｐｐｌｉｃａｔｉｏｎｓ」）に基づく優先権を主張する。該出願は、その全体が参照により援用される。
【０００４】
（技術分野）
本開示は、コンピュータ支援設計（ＣＡＤ）のための方法およびシステムに関する。
【背景技術】
【０００５】
工業製品設計から３Ｄアニメーションまで多くの業界で、コンピュータ支援設計（ＣＡＤ）アプリケーション、コンピュータ支援エンジニアリング（ＣＡＥ）アプリケーション、コンピュータ支援製造（ＣＡＭ）アプリケーション、またはその他が、オブジェクトの２次元または３次元モデルを作成、操作、表示、または分析するために使用される。概してＣＡＤアプリケーションと呼ばれる、これらのアプリケーションは、ユーザが、オブジェクトの形態で特定の構造に対する設計を入力して視認することを可能にする。ユーザはしばしば、オブジェクトの表示を任意の角度まで回転させ、また、異なる表示および視点のためにズームインまたはズームアウトすることもできる。強調表示、陰影付け、クロスハッチング、着色、テクスチャリング、およびその他等の追加の視覚的特徴は、ユーザがコンピュータデバイスを用いてオブジェクトを設計することを可能にする。パラメトリックまたは履歴ベースのＣＡＤとして知られている、ＣＡＤアプリケーションのいくつかのバージョンでは、アプリケーションはまた、設計従属性に加えて、オブジェクトへの設計変更を追跡して監視することもできる。したがって、ユーザがオブジェクト内の要素を追加または変更する時に、その変更に従属する他の値が、設計のエンジニアリングコンセプトおよびルールに従って自動的に更新され得る。例えば、第１のオブジェクトの長さが、変数として第２のオブジェクトの長さを含む式によって、定義され得る。したがって、第２のオブジェクトの長さを修正することは、ＣＡＤアプリケーションに第１のオブジェクトの長さを再計算させ、モデルを再生させ得る。
【０００６】
多くの異なるアプリケーションが、頻繁に、製造または設計グループの異なるユーザによって、異なる機能に使用される。例えば、製品設計者は、モデルを作成または編集するためにパラメトリックモデリングＣＡＤアプリケーションを使用し得、標準認証エンジニアは、モデルから構築された製品が、重量または強度等の工学的要件に従うかどうかを決定するために、工学分析アプリケーションを使用し得、販売員は、顧客に対する製品オプションを特定するために、構成構築アプリケーションを使用し得、プロジェクトマネージャは、モデルを視認して注釈を付けるために、可視化アプリケーションを使用し得る。しかしながら、これらのアプリケーションは、典型的には、異なるデータモデルを有し、モデルがユーザからユーザへ伝えられるにつれて、時間がかかるインポートおよびエクスポートを必要とする。加えて、１つのデータモデルから別のデータモデルへの変換中に、情報が失われる場合がある。
【発明の概要】
【課題を解決するための手段】
【０００７】
一側面では、本開示は、１つ以上のコンピュータデバイスにわたる、１人以上のユーザによって使用される複数の同種または異種アプリケーションにわたるＣＡＤモデルの整合性を維持するためのシステムおよび方法を対象とする。システムは、ＣＡＤモデルの種々の側面を表す異なる情報項目のチャプタを備えている、共通データモデルと、ユーザによってＣＡＤモデルのチャプタに行われる修正を表す、軽量変更命令とを含む。共通データモデルおよび差異ベースの変更命令を利用することによって、複数のユーザが、同時にＣＡＤモデルの設計を共同で行ってもよく、または単一のユーザが、効率的に、かつ強化されたユーザ体験とともに、ＣＡＤアプリケーション一式の複数のアプリケーションを利用し得る。
【０００８】
一側面では、本開示は、オブジェクトライフサイクルにおける複数の状態のうちの１つにおいて、コンピュータ支援設計（ＣＡＤ）データモデルの複数の情報項目の同期化を管理する方法を対象とし、情報項目は、少なくとも幾何学形状と、グラフィックスとを含む。方法は、第１のコンピュータデバイスのプロセッサによって実行される第１のアプリケーションの第１のユーザによって、共有ＣＡＤデータモデルの第１の情報項目を第１の状態から第２の状態に更新することを含み、第１の状態は、オブジェクトライフサイクルにおける第１の状態に対応する。方法はまた、第１のユーザによって、第１の情報項目を第２の状態から第３の状態に更新することも含み、第３の状態は、オブジェクトライフサイクルにおける第２の状態に対応する。方法はさらに、第２のコンピュータデバイスのプロセッサによって実行される第２のアプリケーションの第２のユーザによって、共有ＣＡＤデータモデルの第２の情報項目を、第１の状態に対応する第４の状態から、第３の状態に対応する第５の状態に更新することを含む。
【０００９】
方法の一実施形態では、共有ＣＡＤデータモデルの第１の情報項目を第１の状態から第２の状態に更新することは、ユーザによって、第１のアプリケーションを使用して第１の情報項目を修正することを含む。方法の別の実施形態では、オブジェクトライフサイクルにおける第１の状態およびオブジェクトライフサイクルにおける第２の状態の各々は、所定の状態に対応し、所定の状態は、設計、プロトタイピング、製造、または試験のうちの少なくとも１つを含む。
【００１０】
いくつかの実施形態では、方法は、第１のユーザから第２のユーザによって、第１の情報項目を第１の状態から第２の状態に更新することに応答して生成される第１の変更命令を受信することを含み、第１の変更命令は、更新を表す命令を備え、変更命令が共有ＣＡＤデータモデルの非整合状態に更新することを示すように、第１の所定の値に設定されたフラグを含む。さらなる実施形態では、方法は、第１の所定の値に設定されたフラグを有する第１の変更命令を受信することに応答して、第２のユーザによって、第２の情報項目を更新しないことを含む。
【００１１】
他の実施形態では、方法は、第１のユーザから第２のユーザによって、第１の情報項目を第２の状態から第３の状態に更新することに応答して生成される第２の変更命令を受信することを含み、第２の変更命令は、更新を表す命令を備え、変更命令が共有ＣＡＤデータモデルの整合状態に更新することを示すように、第２の所定の値に設定されたフラグを含む。さらなる実施形態では、第２のユーザによって、第２の情報項目を更新することは、第２の所定の値に設定されたフラグを有する第２の変更命令を受信することに応答して、第２の情報項目を更新することを含む。
【００１２】
別の側面では、本開示は、オブジェクトライフサイクルにおける複数の状態のうちの１つにおいて、コンピュータ支援設計（ＣＡＤ）データモデルの複数の情報項目の同期化を管理するシステムを対象とし、情報項目は、少なくとも幾何学形状と、グラフィックスとを含む。システムは、第１のプロセッサを備えている第１のコンピュータデバイスを含み、第１のプロセッサは、第１のユーザによって、共有ＣＡＤデータモデルの第１の情報項目を、第１の状態であって、オブジェクトライフサイクルにおける第１の状態に対応する第１の状態から第２の状態に更新し、第１のユーザによって、第１の情報項目を第２の状態から第３の状態であって、オブジェクトライフサイクルにおける第２の状態に対応する第３の状態に更新するための第１のアプリケーションを実行するように構成される。システムはまた、第２のプロセッサを備えている、第２のコンピュータデバイスも含み、第２のプロセッサは、第２のユーザによって、共有ＣＡＤモデルの第２の情報項目を、第１の状態に対応する第４の状態から、第３の状態に対応する第５の状態に更新するための第２のアプリケーションを実行するように構成される。
【００１３】
一実施形態では、第１のアプリケーションは、ユーザによって、第１のアプリケーションを使用して第１の情報項目を修正するために構成される。別の実施形態では、オブジェクトライフサイクルにおける第１の状態およびオブジェクトライフサイクルにおける第２の状態の各々は、所定の状態に対応し、所定の状態は、設計、プロトタイピング、製造、または試験のうちの少なくとも１つを含む。さらに別の実施形態では、第２のアプリケーションは、第１のアプリケーションから、第１の情報項目を第１の状態から第２の状態に更新することに応答して生成される第１の変更命令を受信するために構成され、第１の変更命令は、更新を表す命令を備え、変更命令が共有ＣＡＤデータモデルの非整合状態に更新することを示すように、第１の所定の値に設定されたフラグを含む。さらなる実施形態では、第２のアプリケーションは、第１の所定の値に設定されたフラグを有する第１の変更命令を受信することに応答して、第２の情報項目を更新しないように構成される。
【００１４】
いくつかの実施形態では、第２のアプリケーションは、第１のアプリケーションから、第１の情報項目を第２の状態から第３の状態に更新することに応答して生成される第２の変更命令を受信するために構成され、第２の変更命令は、更新を表す命令を備え、変更命令が共有ＣＡＤデータモデルの整合状態に更新することを示すように、第２の所定の値に設定されたフラグを含む。さらなる実施形態では、第２のアプリケーションは、第２の所定の値に設定されたフラグを有する第２の変更命令を受信することに応答して、第２の情報項目を更新するために構成される。
【００１５】
別の側面では、本開示は、ユーザによって、コンピュータ支援設計（ＣＡＤ）オブジェクトまたはモデルの複数の設計ステップを管理する方法を対象とする。方法は、第１のコンピュータデバイスのプロセッサによって実行されるＣＡＤアプリケーションのユーザによって、ＣＡＤモデルの複数の相関ＣＡＤオブジェクトのうちの第１のＣＡＤオブジェクトを修正することを含む。方法はまた、ＣＡＤアプリケーションによって、修正に応答して、修正前のＣＡＤモデルの複数の相関ＣＡＤオブジェクトの第１の状態、および第１のＣＡＤオブジェクトに対する修正を表す第１の変更命令を記憶することも含む。
【００１６】
一実施形態では、方法は、ＣＡＤアプリケーションによって、第１のＣＡＤオブジェクトに対する修正に応答して、複数の相関ＣＡＤオブジェクトのうちの第２のＣＡＤオブジェクトのデータを再生することを含み、第２のＣＡＤオブジェクトは、第１のＣＡＤオブジェクトに従属している。別の実施形態では、方法は、ＣＡＤアプリケーションによって、記憶された第１の状態における第１のＣＡＤオブジェクトに対するユーザの修正を行うための命令を備えている、第１の変更命令を含む。さらに別の実施形態では、方法は、ユーザによって、ＣＡＤモデルの複数の相関ＣＡＤオブジェクトのうちの第２のＣＡＤオブジェクトを修正することと、ＣＡＤアプリケーションによって、第２のＣＡＤオブジェクトに対する修正に応答して、第２のＣＡＤオブジェクトに対する修正を表す第２の変更命令を記憶することとを含む。さらなる実施形態では、第２の変更命令は、ＣＡＤアプリケーションによって、第１のＣＡＤオブジェクトの修正後のＣＡＤモデルの状態から第２のＣＡＤオブジェクトに対するユーザの修正を行うための命令を備えている。
【００１７】
いくつかの実施形態では、方法は、ＣＡＤアプリケーションによって、第２のＣＡＤオブジェクトに対する修正に応答して、第２のＣＡＤオブジェクトに従属している、複数の相関ＣＡＤオブジェクトのうちの第３のＣＡＤオブジェクトのデータを再生することを含む。他の実施形態では、方法は、ユーザによって、ＣＡＤモデルを、第１のＣＡＤオブジェクトの修正後かつ第２のＣＡＤオブジェクトの修正前のＣＡＤモデルの状態に戻すように要求することと、ＣＡＤアプリケーションによって、ＣＡＤモデルの複数の相関ＣＡＤオブジェクトの記憶された第１の状態についての第１の変更命令を実行することとを含む。さらなる実施形態では、方法は、ＣＡＤアプリケーションによって、第１のＣＡＤオブジェクトの修正に応答して、第１のＣＡＤオブジェクトに従属している、複数の相関ＣＡＤオブジェクトのうちの第２のＣＡＤオブジェクトのデータを再生することを含む。
【００１８】
一実施形態では、方法は、ユーザによって、ＣＡＤモデルに対する少なくとも１つの修正を仕上げるように要求することと、ＣＡＤアプリケーションによって、対応する少なくとも１つの変更命令を少なくとも１つの追加のＣＡＤアプリケーションに伝送することとを含み、少なくとも１つの追加のＣＡＤアプリケーションは、第１のコンピュータデバイスのプロセッサまたは第２のコンピュータデバイスのプロセッサのうちの１つによって実行される。
【００１９】
さらに別の側面では、本開示は、ユーザによって、コンピュータ支援設計（ＣＡＤ）オブジェクトまたはモデルの複数の設計ステップを管理するためのシステムを対象とする。システムは、ＣＡＤアプリケーションを実行するように構成される第１のプロセッサを備えている第１のコンピュータデバイスを含み、ＣＡＤアプリケーションは、第１のコンピュータデバイスのユーザからの要求に応答して、ＣＡＤモデルの複数の相関ＣＡＤオブジェクトのうちの第１のＣＡＤオブジェクトを修正し、修正に応答して、修正前のＣＡＤモデルの複数の相関ＣＡＤオブジェクトの第１の状態、および第１のＣＡＤオブジェクトに対する修正を表す第１の変更命令を記憶するように構成される。
【００２０】
システムの一実施形態では、ＣＡＤアプリケーションはさらに、第１のＣＡＤオブジェクトに対する修正に応答して、複数の相関ＣＡＤオブジェクトのうちの第２のＣＡＤオブジェクトのデータを再生するように構成され、第２のＣＡＤオブジェクトは、第１のＣＡＤオブジェクトに従属している。システムの別の実施形態では、第１の変更命令は、ＣＡＤアプリケーションによって、記憶された第１の状態における第１のＣＡＤオブジェクトに対するユーザの修正を行うための命令を備えている。システムのなおも別の実施形態では、ＣＡＤアプリケーションはさらに、ユーザによる要求に応答して、ＣＡＤモデルの複数の相関ＣＡＤオブジェクトのうちの第２のＣＡＤオブジェクトを修正し、第２のＣＡＤオブジェクトに対する修正に応答して、第２のＣＡＤオブジェクトに対する修正を表す第２の変更命令を記憶するように構成される。さらなる実施形態では、第２の変更命令は、ＣＡＤアプリケーションによって、第１のＣＡＤオブジェクトの修正後のＣＡＤモデルの状態から第２のＣＡＤオブジェクトに対するユーザの修正を行うための命令を備えている。別のさらなる実施形態では、ＣＡＤアプリケーションはさらに、第２のＣＡＤオブジェクトの修正に応答して、第２のＣＡＤオブジェクトに従属している、複数の相関ＣＡＤオブジェクトのうちの第３のＣＡＤオブジェクトのデータを再生するように構成される。なおも別のさらなる実施形態では、ＣＡＤアプリケーションはさらに、ＣＡＤモデルを第１のＣＡＤオブジェクトの修正後かつ第２のＣＡＤオブジェクトの修正前のＣＡＤモデルの状態に戻すためのユーザによる要求に応答して、ＣＡＤモデルの複数の相関ＣＡＤオブジェクトの記憶された第１の状態についての第１の変更命令を実行するように構成される。なおもさらなる実施形態では、ＣＡＤアプリケーションはさらに、第１のＣＡＤオブジェクトの修正に応答して、第１のＣＡＤオブジェクトに従属している、複数の相関ＣＡＤオブジェクトのうちの第２のＣＡＤオブジェクトのデータを再生するように構成される。
【００２１】
システムのいくつかの実施形態では、ＣＡＤアプリケーションはさらに、ＣＡＤモデルに対する少なくとも１つの修正を仕上げるためのユーザによる要求に応答して、対応する少なくとも１つの変更命令を少なくとも１つの追加のＣＡＤアプリケーションに伝送するように構成され、少なくとも１つの追加のＣＡＤアプリケーションは、第１のコンピュータデバイスのプロセッサまたは第２のコンピュータデバイスのプロセッサのうちの１つによって実行される。
【００２２】
本開示は、コンピュータ支援設計（ＣＡＤ）オブジェクトまたはモデルの同時設計を管理するためのシステムおよび方法を対象とする。システムは、ＣＡＤモデルの種々の側面を表す異なる情報項目のチャプタを備えている、共通データモデルと、ユーザによってＣＡＤモデルのチャプタに行われる修正を表す、軽量変更命令とを含む。共通データモデルおよび差異ベースの変更命令を利用することによって、複数のユーザが、同時にＣＡＤモデルの設計を共同で行い得るか、または単一のユーザが、効率的に、かつ強化されたユーザ体験とともに、ＣＡＤアプリケーション一式の複数のアプリケーションを利用し得る。
【００２３】
一側面では、本開示は、対応する複数のコンピュータデバイス上の複数のユーザによるコンピュータ支援設計（ＣＡＤ）オブジェクトまたはモデルの同時設計を管理する方法を対象とする。方法は、第１のコンピュータデバイスのプロセッサ上で実行する第１のＣＡＤアプリケーションの第１のユーザによって、共有ＣＡＤオブジェクトの第１の部分を修正することを含む。方法はまた、第２のコンピュータデバイスのプロセッサ上で実行する第２のＣＡＤアプリケーションの第２のユーザによって、共有ＣＡＤオブジェクトの第２の部分を修正することも含む。方法はさらに、第１のコンピュータデバイスから第２のコンピュータデバイスによって、共有ＣＡＤオブジェクトの第１の部分に対する修正を表す変更命令を受信することを含む。
【００２４】
一実施形態では、方法は、第１の部分に対する修正が第２の部分に影響を及ぼさないという第２のＣＡＤアプリケーションによる決定に応答して、第２のコンピュータデバイスによって、第２のユーザに表示された共有ＣＡＤオブジェクトを修正することなく変更命令を記憶することを含む。別の実施形態では、共有ＣＡＤオブジェクトは、複数の相関モデルを備えている。
【００２５】
いくつかの実施形態では、方法は、共有ＣＡＤオブジェクトの第１の組の１つ以上のモデルを修正することを含む。さらなる実施形態では、方法は、共有オブジェクトの第２の組の１つ以上のモデルを修正することを含み、第２の組の１つ以上のモデルは、第１の組の１つ以上のモデルと一致していない。
【００２６】
一実施形態では、方法は、第１のコンピュータデバイスおよび第２のコンピュータデバイスが変更命令を伝送するために同時にオンラインになる必要がないように、媒介物の役割を果たす第３のコンピュータデバイスを介して、第１のコンピュータデバイスから第２のコンピュータデバイスによって変更命令を受信することを含む。さらなる実施形態では、方法は、第１のＣＡＤアプリケーションによって、共有ＣＡＤオブジェクトの第１の部分の第１のユーザによる修正に応答して、変更命令を媒介物の役割を果たす第３のコンピュータデバイスに伝送することを含む。方法はまた、第３のコンピュータデバイスのプロセッサ上で実行する通知サービスから第２のコンピュータデバイスによって、新しい変更命令の通知を受信することも含み、通知は、第１のコンピュータデバイスから伝送された変更命令を受信することに応答して伝送される。方法はまた、通知を受信することに応答して、第３のコンピュータデバイスから第２のＣＡＤアプリケーションによって、変更命令を要求することも含む。
【００２７】
別の実施形態では、方法は、第２のＣＡＤアプリケーションによって、第２のユーザによる要求に応答して、共有ＣＡＤオブジェクトの第１の部分を修正するために変更命令を実行することを含む。さらなる実施形態では、方法は、第２のＣＡＤアプリケーションによって、変更命令において表される共有ＣＡＤオブジェクトの第１の部分に対する修正を、共有ＣＡＤオブジェクトの第２の部分に対する修正と組み合わせることを含む。別のさらなる実施形態では、方法は、第２のユーザによって、変更命令における第１の１つ以上の命令を無効にすることを含み、共有ＣＡＤオブジェクトの第１の部分を修正するために変更命令を実行することは、変更命令における第２の１つ以上の無効にされていない命令を実行することを含む。
【００２８】
別の側面では、本開示は、対応する複数のコンピュータデバイス上の複数のユーザによるコンピュータ支援設計（ＣＡＤ）オブジェクトまたはモデルの同時設計を管理するためのシステムを対象とする。システムは、第１のユーザによって、共有ＣＡＤオブジェクトの第１の部分を修正するために構成される第１のＣＡＤアプリケーションを実行するプロセッサを備えている、第１のコンピュータデバイスを含む。システムはまた、第２のユーザによって、共有ＣＡＤオブジェクトの第２の部分を修正するため、および第１のコンピュータデバイスから、共有ＣＡＤオブジェクトの第１の部分に対する修正を表す変更命令を受信するために構成されている、第２のＣＡＤアプリケーションを実行するプロセッサを備えている、第２のコンピュータデバイスも含む。
【００２９】
システムの一実施形態では、第２のＣＡＤアプリケーションはさらに、第１の部分に対する修正が第２の部分に影響を及ぼさないという第２のＣＡＤアプリケーションによる決定に応答して、第２のユーザに表示された共有ＣＡＤオブジェクトを修正することなく変更命令を記憶するために構成される。システムの別の実施形態では、共有ＣＡＤオブジェクトは、複数の相関モデルを備えている。
【００３０】
いくつかの実施形態では、共有ＣＡＤオブジェクトの第１の部分を修正することは、共有ＣＡＤオブジェクトの第１の組の１つ以上のモデルを修正することを含む。さらなる実施形態では、共有オブジェクトの第２の部分を修正することは、共有オブジェクトの第２の組の１つ以上のモデルを修正することを含み、第２の組の１つ以上のモデルは、第１の組の１つ以上のモデルと一致していない。
【００３１】
一実施形態では、システムは、第１のコンピュータデバイスと第２のコンピュータデバイスとの間の媒介物の役割を果たす第３のコンピュータデバイスを含み、第３のコンピュータデバイスは、第１のコンピュータデバイスおよび第２のコンピュータデバイスが変更命令を伝送するために同時にオンラインになる必要がないように、第１のコンピュータデバイスから変更命令を受信し、第２のコンピュータデバイスに変更命令を伝送する。さらなる実施形態では、第１のＣＡＤアプリケーションはさらに、共有ＣＡＤオブジェクトの第１の部分の第１のユーザによる修正に応答して、変更命令を、媒介物の役割を果たす第３のコンピュータデバイスに伝送するために構成され、第３のコンピュータデバイスはさらに、通知サービスを実行するプロセッサを備え、第２のＣＡＤアプリケーションは、通知サービスから、新しい変更命令の通知を受信することであって、通知は、第１のコンピュータデバイスから伝送された変更命令を受信することに応答して伝送される、ことと、通知を受信することに応答して、第３のコンピュータデバイスから変更命令を要求することとを行うために構成される。
【００３２】
いくつかの実施形態では、第２のＣＡＤアプリケーションはさらに、第２のユーザによる要求に応答して、共有ＣＡＤオブジェクトの第１の部分を修正するための変更命令を実行するために構成される。さらなる実施形態では、第２のＣＡＤアプリケーションはさらに、変更命令において表される共有ＣＡＤオブジェクトの第１の部分に対する修正を、共有ＣＡＤオブジェクトの第２の部分に対する修正と組み合わせるために構成される。別のさらなる実施形態では、第２のＣＡＤアプリケーションはさらに、第２のユーザによる要求に応答して、変更命令における第１の１つ以上の命令のために構成され、共有ＣＡＤオブジェクトの第１の部分を修正するために変更命令を実行することは、変更命令における第２の１つ以上の無効にされていない命令を実行することを含む。
【００３３】
本開示は、コンピュータ支援設計オブジェクトまたはモデルの同時設計を管理するためのシステムおよび方法を対象とする。システムは、ＣＡＤモデルの種々の側面を表す異なる情報項目のチャプタを備えている、共通データモデルと、ユーザによってＣＡＤモデルのチャプタに行われる修正を表す、軽量変更命令とを含む。共通データモデルおよび差異ベースの変更命令を利用することによって、複数のユーザが、同時にＣＡＤモデルの設計を共同で行ってもよく、または単一のユーザが、効率的に、かつ強化されたユーザ体験とともに、ＣＡＤアプリケーション一式の複数のアプリケーションを利用し得る。さらに、システムは、ユーザが複数のアプリケーションのシームレスな動作を体験するように、同じ共有ＣＡＤモデル上で同時に動作する複数のアプリケーションにわたって取り消しスタックを管理し得る。
【００３４】
一側面では、本開示は、コンピュータ支援設計（ＣＡＤ）オブジェクトまたはモデルの同時設計を管理する方法を対象とする。方法は、コンピュータデバイスのプロセッサによって実行される第１のＣＡＤアプリケーションによって、ＣＡＤモデルの開始状態を記憶することを含む。方法はまた、第１のＣＡＤアプリケーションのユーザによって、ＣＡＤモデルを修正することも含む。方法はさらに、第１のＣＡＤアプリケーションによって、修正に応答して、ＣＡＤモデルへのユーザの修正を表す第１の１つ以上の変更命令を作成することを含む。方法はまた、コンピュータデバイスのプロセッサによって実行される第２のＣＡＤアプリケーションによって、ＣＡＤモデルの記憶された開始状態および第１の１つ以上の変更命令をロードすることも含む。方法はまた、第２のＣＡＤアプリケーションによって、ＣＡＤモデルへのユーザの修正を再現するように、第１の１つ以上の変更命令を実行することも含む。
【００３５】
一実施形態では、方法は、第１のＣＡＤアプリケーションによってＣＡＤモデルをロードすることに応答して、ＣＡＤモデルの開始状態を記憶することを含む。別の実施形態では、方法は、ユーザによって、ＣＡＤモデルの第１の１つ以上のオブジェクトを修正することと、第１のＣＡＤアプリケーションによって、第１の１つ以上のオブジェクトに従属している、ＣＡＤモデルの第２の１つ以上のオブジェクトを再生することとを含む。さらなる実施形態では、方法は、１つ以上の変更命令の実行が、ＣＡＤアプリケーションに、第１の１つ以上のオブジェクトに従属している第２の１つ以上のオブジェクトを再生させるように、第１の１つ以上のオブジェクトに対するユーザの修正を表す第１の１つ以上の変更命令を作成することを含む。
【００３６】
いくつかの実施形態では、方法は、ユーザが第２のＣＡＤアプリケーションをアクティブにすることに応答して、記憶された開始状態および第１の１つ以上の変更命令をロードすることを含む。さらなる実施形態では、方法は、ユーザが第２のＣＡＤアプリケーションをアクティブにすることに応答して、第１の１つ以上の変更命令を実行することを含む。
【００３７】
他の実施形態では、方法は、第２のＣＡＤアプリケーションを介して、ユーザによって、ＣＡＤモデルを修正することを含む。方法はまた、第２のＣＡＤアプリケーションによって、修正に応答して、ＣＡＤモデルへのユーザの修正を表す第２の１つ以上の変更命令を作成することも含む。方法はさらに、第１のＣＡＤアプリケーションによって、第２の１つ以上の変更命令をロードすることを含む。方法はまた、第１のＣＡＤアプリケーションによって、ＣＡＤモデルへのユーザの修正を再現するように、第２の１つ以上の変更命令を実行することも含む。さらなる実施形態では、第２の１つ以上の変更命令は、第１の１つ以上の変更命令の実行後に、第２のＣＡＤアプリケーションにおいてＣＡＤモデルへのユーザの修正を表す。別のさらなる実施形態では、方法は、第１のＣＡＤアプリケーションを介して、ユーザによって、第１の１つ以上の変更命令を取り消すように要求することと、第１のＣＡＤアプリケーションによって、ＣＡＤモデルの開始状態をロードすることとを含む。なおもさらなる実施形態では、方法は、第１のＣＡＤアプリケーションによって、第２の１つ以上の変更命令を実行することを含み、第２の１つ以上の変更命令は、第１の１つ以上の変更命令によって修正されるチャプタとは無関係のＣＡＤモデルのチャプタを修正する。
【００３８】
別の側面では、本開示は、コンピュータ支援設計（ＣＡＤ）オブジェクトまたはモデルの同時設計を管理するためのシステムを特徴とする。システムは、第１のＣＡＤアプリケーションおよび第２のＣＡＤアプリケーションを実行するプロセッサを備えている、コンピュータデバイスを含む。第１のＣＡＤアプリケーションは、ＣＡＤモデルの開始状態を記憶し、第１のＣＡＤアプリケーションのユーザによる要求に応答して、ＣＡＤモデルを修正し、修正に応答して、ＣＡＤモデルへのユーザの修正を表す第１の１つ以上の変更命令を作成するように構成される。第２のＣＡＤアプリケーションは、ＣＡＤモデルの記憶された開始状態および第１の１つ以上の変更命令をロードし、ＣＡＤモデルへのユーザの修正を再現するよう第１の１つ以上の変更命令を実行するように構成される。
【００３９】
一実施形態では、第１のＣＡＤアプリケーションは、第１のＣＡＤアプリケーションによってＣＡＤモデルをロードすることに応答して、ＣＡＤモデルの開始状態を記憶するように構成される。別の実施形態では、第１のＣＡＤアプリケーションは、ユーザによる要求に応答して、ＣＡＤモデルの第１の１つ以上のオブジェクトを修正し、第１の１つ以上のオブジェクトに従属している、ＣＡＤモデルの第２の１つ以上のオブジェクトを再生するように構成される。さらなる実施形態では、第１のＣＡＤアプリケーションは、１つ以上の変更命令の実行が、ＣＡＤアプリケーションに、第１の１つ以上のオブジェクトに従属している第２の１つ以上のオブジェクトを再生させるように、第１の１つ以上のオブジェクトに対するユーザの修正を表す第１の１つ以上の変更命令を作成するように構成される。
【００４０】
いくつかの実施形態では、第２のＣＡＤアプリケーションは、ユーザが第２のＣＡＤアプリケーションをアクティブにすることに応答して、記憶された開始状態および第１の１つ以上の変更命令をロードするように構成される。さらなる実施形態では、第２のＣＡＤアプリケーションは、ユーザが第２のＣＡＤアプリケーションをアクティブにすることに応答して、第１の１つ以上の変更命令を実行するように構成される。
【００４１】
一実施形態では、第２のＣＡＤアプリケーションは、ユーザからの要求に応答して、ＣＡＤモデルを修正し、修正に応答して、ＣＡＤモデルへのユーザの修正を表す第２の１つ以上の変更命令を作成するように構成され、第１のＣＡＤアプリケーションは、第２の１つ以上の変更命令をロードし、ＣＡＤモデルへのユーザの修正を再現するよう第２の１つ以上の変更命令を実行するように構成される。さらなる実施形態では、第２の１つ以上の変更命令は、第１の１つ以上の変更命令の実行後の第２のＣＡＤアプリケーションにおけるＣＡＤモデルに対するユーザの修正を表す。別のさらなる実施形態では、第１の１つ以上の変更命令を取り消すためのユーザによる要求に応答して、第１のＣＡＤアプリケーションは、ＣＡＤモデルの開始状態をロードするように構成される。なおも別のさらなる実施形態では、第１のＣＡＤアプリケーションは、第２の１つ以上の変更命令を実行するように構成され、第２の１つ以上の変更命令は、第１の１つ以上の変更命令によって修正されるチャプタとは無関係のＣＡＤモデルのチャプタを修正する。
【００４２】
別の側面では、本開示は、コンピュータ支援設計（ＣＡＤ）モデルの同時設計を管理するためのシステムを対象とする。システムは、プロセッサを備えている、コンピュータデバイスを含む。プロセッサは、ユーザからの第１の要求に応答して、共有ＣＡＤモデルに対する第１の修正を行うための第１のＣＡＤアプリケーションと、第１の修正を行う第１のＣＡＤアプリケーションに応答して、第１の修正を共有ＣＡＤモデルに表示するための第２の同時実行ＣＡＤアプリケーションとを実行するように構成される。
【００４３】
一実施形態では、システムは、ユーザからの後続の要求なしで、共有ＣＡＤモデルに対する第１の修正を表示するように構成されている、第２の同時実行ＣＡＤアプリケーションを含む。別の実施形態では、システムは、ユーザが第１の修正を保存するように要求することなく、共有ＣＡＤモデルに対する第１の修正を表示するように構成されている、第２の同時実行ＣＡＤアプリケーションを含む。
【００４４】
いくつかの実施形態では、システムは、ユーザからの第２の要求に応答して、第１のＣＡＤアプリケーションによって行われる、共有ＣＡＤモデルに対する第１の修正を取り消すように構成されている、第２の同時実行ＣＡＤアプリケーションを含む。他の実施形態では、システムは、ユーザからの第２の要求に応答して、第１のＣＡＤアプリケーションによって行われる、共有ＣＡＤモデルに対する第１の修正を保存するように構成されている、第２の同時実行ＣＡＤアプリケーションを含む。
【００４５】
本開示の種々の実施形態の詳細は、添付図面および以下の説明で記載される。
本願明細書は、例えば、以下の項目も提供する。
（項目１）
オブジェクトライフサイクルにおける複数の状態のうちの１つにおいて、コンピュータ支援設計（ＣＡＤ）データモデルの複数の情報項目の同期化を管理する方法であって、前記情報項目は、少なくとも幾何学形状と、グラフィックスとを含み、前記方法は、
第１のコンピュータデバイスのプロセッサによって実行される第１のアプリケーションの第１のユーザによって、共有ＣＡＤデータモデルの第１の情報項目を第１の状態から第２の状態に更新することであって、前記第１の状態は、オブジェクトライフサイクルにおける第１の状態に対応する、ことと、
前記第１のユーザによって、前記第１の情報項目を前記第２の状態から第３の状態に更新することであって、前記第３の状態は、前記オブジェクトライフサイクルにおける第２の状態に対応する、ことと、
第２のコンピュータデバイスのプロセッサによって実行される第２のアプリケーションの第２のユーザによって、前記共有ＣＡＤデータモデルの第２の情報項目を、前記第１の状態に対応する第４の状態から、前記第３の状態に対応する第５の状態に更新することと
を含む、方法。
（項目２）
前記共有ＣＡＤデータモデルの第１の情報項目を第１の状態から第２の状態に更新することは、前記ユーザによって、前記第１のアプリケーションを使用して前記第１の情報項目を修正することを含む、項目１に記載の方法。
（項目３）
前記オブジェクトライフサイクルにおける前記第１の状態および前記オブジェクトライフサイクルにおける前記第２の状態の各々は、所定の状態に対応し、前記所定の状態は、設計、プロトタイピング、製造、または試験のうちの少なくとも1つを含む、項目１に
記載の方法。
（項目４）
前記第１のユーザから前記第２のユーザによって、前記第１の情報項目を前記第１の状態から前記第２の状態に更新することに応答して生成される第１の変更命令を受信することをさらに含み、前記第１の変更命令は、前記更新を表す命令を備え、前記変更命令は、前記共有ＣＡＤデータモデルの非整合状態に更新することを示すための第１の所定の値に設定されたフラグを含む、項目１に記載の方法。
（項目５）
前記第１の所定の値に設定された前記フラグを有する前記第１の変更命令を受信することに応答して、前記第２のユーザによって、前記第２の情報項目を更新しないことをさらに含む、項目４に記載の方法。
（項目６）
前記第１のユーザから前記第２のユーザによって、前記第１の情報項目を前記第２の状態から前記第３の状態に更新することに応答して生成される第２の変更命令を受信することをさらに含み、前記第２の変更命令は、前記更新を表す命令を備え、前記第２の変更命令は、前記共有ＣＡＤデータモデルの整合状態に更新することを示すための第２の所定の値に設定されたフラグを含む、項目１に記載の方法。
（項目７）
前記第２のユーザによって、前記第２の情報項目を更新することは、前記第２の所定の値に設定された前記フラグを有する前記第２の変更命令を受信することに応答して、前記第２の情報項目を更新することを含む、項目６に記載の方法。
（項目８）
オブジェクトライフサイクルにおける複数の状態のうちの１つにおいて、コンピュータ支援設計（ＣＡＤ）データモデルの複数の情報項目の同期化を管理するシステムであって、前記情報項目は、少なくとも幾何学形状と、グラフィックスとを含み、前記システムは、
第１のプロセッサを備えている第１のコンピュータデバイスであって、前記第１のプロセッサは、
第１のユーザによって、共有ＣＡＤデータモデルの第１の情報項目を、第１の状態から第２の状態に更新することであって、前記第１の状態は、オブジェクトライフサイクルにおける第１の状態に対応する、ことと、
前記第１のユーザによって、前記第１の情報項目を前記第２の状態から第３の状態に更新することであって、前記第３の状態は、前記オブジェクトライフサイクルにおける第２の状態に対応する、ことと
のために第１のアプリケーションを実行するように構成されている、第１のコンピュータデバイスと、
第２のプロセッサを備えている第２のコンピュータデバイスであって、前記第２のプロセッサは、第２のユーザによって、前記共有ＣＡＤモデルの第２の情報項目を、前記第１の状態に対応する第４の状態から、前記第３の状態に対応する第５の状態に更新するために第２のアプリケーションを実行するように構成されている、第２のコンピュータデバイスと
を備えている、システム。
（項目９）
前記第１のアプリケーションは、前記ユーザによって、前記第１のアプリケーションを使用して前記第１の情報項目を修正するために構成されている、項目８に記載のシステム。
（項目１０）
前記オブジェクトライフサイクルにおける前記第１の状態および前記オブジェクトライフサイクルにおける前記第２の状態の各々は、所定の状態に対応し、前記所定の状態は、設計、プロトタイピング、製造、または試験のうちの少なくとも1つを含む、項目８に
記載のシステム。
（項目１１）
前記第２のアプリケーションは、前記第１のアプリケーションから、前記第１の情報項目を前記第１の状態から前記第２の状態に更新することに応答して生成される第１の変更命令を受信するために構成され、前記第１の変更命令は、前記更新を表す命令を備え、前記第１の変更命令は、前記共有ＣＡＤデータモデルの非整合状態に更新することを示すための第１の所定の値に設定されたフラグを含む、項目８に記載のシステム。
（項目１２）
前記第２のアプリケーションは、前記第１の所定の値に設定された前記フラグを有する前記第１の変更命令を受信することに応答して、前記第２の情報項目を更新しないように構成されている、項目１１に記載のシステム。
（項目１３）
前記第２のアプリケーションは、前記第１のアプリケーションから、前記第１の情報項目を前記第２の状態から前記第３の状態に更新することに応答して生成される第２の変更命令を受信するために構成され、前記第２の変更命令は、前記更新を表す命令を備え、前記第２の変更命令は、前記共有ＣＡＤデータモデルの整合状態に更新することを示すための第２の所定の値に設定されたフラグを含む、項目８に記載のシステム。
（項目１４）
前記第２のアプリケーションは、前記第２の所定の値に設定された前記フラグを有する前記第２の変更命令を受信することに応答して、前記第２の情報項目を更新するために構成されている、項目１３に記載のシステム。
（項目１５）
ユーザによって、コンピュータ支援設計（ＣＡＤ）オブジェクトまたはモデルの複数の設計ステップを管理する方法であって、
第１のコンピュータデバイスのプロセッサによって実行されるＣＡＤアプリケーションのユーザによって、ＣＡＤモデルの複数の相関ＣＡＤオブジェクトのうちの第１のＣＡＤオブジェクトを修正することと、
前記ＣＡＤアプリケーションによって、前記修正に応答して、前記修正前の前記ＣＡＤモデルの前記複数の相関ＣＡＤオブジェクトの第１の状態、および、前記第１のＣＡＤオブジェクトに対する前記修正を表す第１の変更命令を記憶することと
を含む、方法。
（項目１６）
前記ＣＡＤアプリケーションによって、前記第１のＣＡＤオブジェクトに対する前記修正に応答して、前記複数の相関ＣＡＤオブジェクトのうちの第２のＣＡＤオブジェクトのデータを再生することをさらに含み、前記第２のＣＡＤオブジェクトは、前記第１のＣＡＤオブジェクトに従属している、項目１５に記載の方法。
（項目１７）
前記第１の変更命令は、前記ＣＡＤアプリケーションによって、前記記憶された第１の状態における前記第１のＣＡＤオブジェクトに対する前記ユーザの修正を行うための命令を備えている、項目１５に記載の方法。
（項目１８）
前記ユーザによって、前記ＣＡＤモデルの前記複数の相関ＣＡＤオブジェクトのうちの第２のＣＡＤオブジェクトを修正することと、
前記ＣＡＤアプリケーションによって、前記第２のＣＡＤオブジェクトに対する前記修正に応答して、前記第２のＣＡＤオブジェクトに対する前記修正を表す第２の変更命令を記憶することと
をさらに含む、項目１５に記載の方法。
（項目１９）
前記第２の変更命令は、前記ＣＡＤアプリケーションによって、前記第１のＣＡＤオブジェクトの前記修正後の前記ＣＡＤモデルの状態から前記第２のＣＡＤオブジェクトに対する前記ユーザの修正を行うための命令を備えている、項目１８に記載の方法。
（項目２０）
前記ＣＡＤアプリケーションによって、前記第２のＣＡＤオブジェクトに対する前記修正に応答して、前記第２のＣＡＤオブジェクトに従属している、前記複数の相関ＣＡＤオブジェクトのうちの第３のＣＡＤオブジェクトのデータを再生することをさらに含む、項目１８に記載の方法。
（項目２１）
前記ユーザによって、前記ＣＡＤモデルを、前記第１のＣＡＤオブジェクトの前記修正後、かつ、前記第２のＣＡＤオブジェクトの前記修正前の前記ＣＡＤモデルの状態に戻すように要求することと、
前記ＣＡＤアプリケーションによって、前記ＣＡＤモデルの前記複数の相関ＣＡＤオブジェクトの前記記憶された第１の状態に対して前記第１の変更命令を実行することと
をさらに含む、項目１８に記載の方法。
（項目２２）
前記ＣＡＤアプリケーションによって、前記第１のＣＡＤオブジェクトの前記修正に応答して、前記第１のＣＡＤオブジェクトに従属している、前記複数の相関ＣＡＤオブジェクトのうちの第２のＣＡＤオブジェクトのデータを再生することをさらに含む、項目２１に記載の方法。
（項目２３）
前記ユーザによって、前記ＣＡＤモデルに対する少なくとも１つの修正を仕上げるように要求することと、
前記ＣＡＤアプリケーションによって、対応する少なくとも１つの変更命令を少なくとも１つの追加のＣＡＤアプリケーションに伝送することと、前記少なくとも１つの追加のＣＡＤアプリケーションは、前記第１のコンピュータデバイスの前記プロセッサまたは第２のコンピュータデバイスのプロセッサのうちの１つによって実行される、ことと
をさらに含む、項目１５に記載の方法。
（項目２４）
ユーザによって、コンピュータ支援設計（ＣＡＤ）オブジェクトまたはモデルの複数の設計ステップを管理するためのシステムであって、
ＣＡＤアプリケーションを実行するように構成される第１のプロセッサを備えている第１のコンピュータデバイスを備え、前記ＣＡＤアプリケーションは、
前記第１のコンピュータデバイスのユーザからの要求に応答して、ＣＡＤモデルの複数の相関ＣＡＤオブジェクトのうちの第１のＣＡＤオブジェクトを修正することと、
前記修正に応答して、前記修正前の前記ＣＡＤモデルの前記複数の相関ＣＡＤオブジェクトの第１の状態、および、前記第１のＣＡＤオブジェクトに対する前記修正を表す第１の変更命令を記憶することと
を行うように構成されている、システム。
（項目２５）
前記ＣＡＤアプリケーションは、前記第１のＣＡＤオブジェクトに対する前記修正に応答して、前記複数の相関ＣＡＤオブジェクトのうちの第２のＣＡＤオブジェクトのデータを再生するようにさらに構成され、前記第２のＣＡＤオブジェクトは、前記第１のＣＡＤオブジェクトに従属している、項目２４に記載のシステム。
（項目２６）
前記第１の変更命令は、前記ＣＡＤアプリケーションによって、前記記憶された第１の状態における前記第１のＣＡＤオブジェクトに対する前記ユーザの修正を行うための命令を備えている、項目２４に記載のシステム。
（項目２７）
前記ＣＡＤアプリケーションは、前記ユーザによる要求に応答して、前記ＣＡＤモデルの前記複数の相関ＣＡＤオブジェクトのうちの第２のＣＡＤオブジェクトを修正することと、
前記第２のＣＡＤオブジェクトに対する前記修正に応答して、前記第２のＣＡＤオブジェクトに対する前記修正を表す第２の変更命令を記憶することと
を行うようにさらに構成されている、項目２４に記載のシステム。
（項目２８）
前記第２の変更命令は、前記ＣＡＤアプリケーションによって、前記第１のＣＡＤオブジェクトの前記修正後の前記ＣＡＤモデルの状態から前記第２のＣＡＤオブジェクトに対する前記ユーザの修正を行うための命令を備えている、項目２７に記載のシステム。
（項目２９）
前記ＣＡＤアプリケーションは、前記第２のＣＡＤオブジェクトの前記修正に応答して、前記第２のＣＡＤオブジェクトに従属している、前記複数の相関ＣＡＤオブジェクトのうちの第３のＣＡＤオブジェクトのデータを再生するようにさらに構成されている、項目２７に記載のシステム。
（項目３０）
前記ＣＡＤアプリケーションは、前記ＣＡＤモデルを前記第１のＣＡＤオブジェクトの前記修正後、かつ、前記第２のＣＡＤオブジェクトの前記修正前の前記ＣＡＤモデルの状態に戻すための前記ユーザによる要求に応答して、前記ＣＡＤモデルの前記複数の相関ＣＡＤオブジェクトの前記記憶された第１の状態に対して前記第１の変更命令を実行するようにさらに構成されている、項目２７に記載のシステム。
（項目３１）
前記ＣＡＤアプリケーションは、前記第１のＣＡＤオブジェクトの前記修正に応答して、前記第１のＣＡＤオブジェクトに従属している、前記複数の相関ＣＡＤオブジェクトのうちの第２のＣＡＤオブジェクトのデータを再生するようにさらに構成されている、項目３０に記載のシステム。
（項目３２）
前記ＣＡＤアプリケーションは、前記ＣＡＤモデルに対する少なくとも１つの修正を仕上げるための前記ユーザによる要求に応答して、対応する少なくとも１つの変更命令を少なくとも１つの追加のＣＡＤアプリケーションに伝送するようにさらに構成され、前記少なくとも１つの追加のＣＡＤアプリケーションは、前記第１のコンピュータデバイスの前記プロセッサまたは第２のコンピュータデバイスのプロセッサのうちの１つによって実行される、項目２４に記載のシステム。
（項目３３）
対応する複数のコンピュータデバイス上の複数のユーザによるコンピュータ支援設計（ＣＡＤ）オブジェクトまたはモデルの同時設計を管理する方法であって、
第１のコンピュータデバイスのプロセッサ上で実行する第１のＣＡＤアプリケーションの第１のユーザによって、共有ＣＡＤオブジェクトの第１の部分を修正することと、
第２のコンピュータデバイスのプロセッサ上で実行する第２のＣＡＤアプリケーションの第２のユーザによって、前記共有ＣＡＤオブジェクトの第２の部分を修正することと、
前記第１のコンピュータデバイスから前記第２のコンピュータデバイスによって、前記共有ＣＡＤオブジェクトの前記第１の部分に対する前記修正を表す変更命令を受信することと
を含む、方法。
（項目３４）
前記第１の部分に対する前記修正が前記第２の部分に影響を及ぼさないという前記第２のＣＡＤアプリケーションによる決定に応答して、前記第２のコンピュータデバイスによって、前記第２のユーザに表示された前記共有ＣＡＤオブジェクトを修正することなく前記変更命令を記憶することをさらに含む、項目３３に記載の方法。
（項目３５）
前記共有ＣＡＤオブジェクトは、複数の相関モデルを備えている、項目３３に記載の方法。
（項目３６）
前記共有ＣＡＤオブジェクトの前記第１の部分を修正することは、前記共有ＣＡＤオブジェクトの第１の組の１つ以上のモデルを修正することを含む、項目３３に記載の方法。
（項目３７）
前記共有オブジェクトの前記第２の部分を修正することは、前記共有オブジェクトの第２の組の１つ以上のモデルを修正することを含み、前記第２の組の１つ以上のモデルは、前記第１の組の１つ以上のモデルと一致していない、項目３６に記載の方法。
（項目３８）
前記変更命令を受信することは、前記第１のコンピュータデバイスおよび第２のコンピュータデバイスが前記変更命令を伝送するために同時にオンラインになる必要がないように、媒介物の役割を果たす第３のコンピュータデバイスを介して、前記第１のコンピュータデバイスから前記第２のコンピュータデバイスによって前記変更命令を受信することを含む、項目３３に記載の方法。
（項目３９）
前記第１のＣＡＤアプリケーションによって、前記共有ＣＡＤオブジェクトの前記第１の部分の前記第１のユーザによる前記修正に応答して、前記変更命令を媒介物の役割を果たす前記第３のコンピュータデバイスに伝送することと、
前記第３のコンピュータデバイスのプロセッサ上で実行する通知サービスから前記第２のコンピュータデバイスによって、新しい変更命令の通知を受信することであって、前記通知は、前記第１のコンピュータデバイスから前記伝送された変更命令を受信することに応答して伝送される、ことと、
前記通知を受信することに応答して、前記第３のコンピュータデバイスから前記第２のＣＡＤアプリケーションによって、前記変更命令を要求することと
をさらに含む、項目３８に記載の方法。
（項目４０）
前記第２のＣＡＤアプリケーションによって、前記第２のユーザによる要求に応答して、前記共有ＣＡＤオブジェクトの前記第１の部分を修正するために前記変更命令を実行することをさらに含む、項目３３に記載の方法。
（項目４１）
前記第２のＣＡＤアプリケーションによって、前記変更命令において表される前記共有ＣＡＤオブジェクトの前記第１の部分に対する前記修正を、前記共有ＣＡＤオブジェクトの前記第２の部分に対する前記修正と組み合わせることをさらに含む、項目４０に記載の方法。
（項目４２）
前記第２のユーザによって、前記変更命令における第１の１つ以上の命令を無効にすることをさらに含み、前記共有ＣＡＤオブジェクトの前記第１の部分を修正するために前記変更命令を実行することは、前記変更命令における第２の１つ以上の無効にされていない命令を実行することを含む、項目４０に記載の方法。
（項目４３）
対応する複数のコンピュータデバイス上の複数のユーザによるコンピュータ支援設計（ＣＡＤ）オブジェクトまたはモデルの同時設計を管理するためのシステムであって、
第１のＣＡＤアプリケーションを実行するプロセッサを備えている第１のコンピュータデバイスであって、前記第１のＣＡＤアプリケーションは、第１のユーザによって、共有ＣＡＤオブジェクトの第１の部分を修正するために構成されている、第１のコンピュータデバイスと、
第２のＣＡＤアプリケーションを実行するプロセッサを備えている第２のコンピュータデバイスであって、前記第２のＣＡＤアプリケーションは、第２のユーザによって、前記共有ＣＡＤオブジェクトの第２の部分を修正することと、前記第１のコンピュータデバイスから、前記共有ＣＡＤオブジェクトの前記第１の部分に対する前記修正を表す変更命令を受信することとを行うために構成されている、第２のコンピュータデバイスと
を備えている、システム。
（項目４４）
前記第２のＣＡＤアプリケーションは、前記第１の部分に対する前記修正が前記第２の部分に影響を及ぼさないという前記第２のＣＡＤアプリケーションによる決定に応答して、前記第２のユーザに表示された前記共有ＣＡＤオブジェクトを修正することなく前記変更命令を記憶するためにさらに構成されている、項目４３に記載のシステム。
（項目４５）
前記共有ＣＡＤオブジェクトは、複数の相関モデルを備えている、項目４３に記載のシステム。
（項目４６）
前記共有ＣＡＤオブジェクトの前記第１の部分を修正することは、前記共有ＣＡＤオブジェクトの第１の組の１つ以上のモデルを修正することを含む、項目４３に記載のシステム。
（項目４７）
前記共有オブジェクトの前記第２の部分を修正することは、前記共有オブジェクトの第２の組の１つ以上のモデルを修正することを含み、前記第２の組の１つ以上のモデルは、前記第１の組の１つ以上のモデルと一致していない、項目４６に記載のシステム。
（項目４８）
前記第１のコンピュータデバイスと前記第２のコンピュータデバイスとの間の媒介物の役割を果たす第３のコンピュータデバイスをさらに備え、前記第３のコンピュータデバイスは、前記第１のコンピュータデバイスおよび第２のコンピュータデバイスが前記変更命令を伝送するために同時にオンラインになる必要がないように、前記第１のコンピュータデバイスから前記変更命令を受信し、前記第２のコンピュータデバイスに前記変更命令を伝送する、項目４３に記載のシステム。
（項目４９）
前記第１のＣＡＤアプリケーションは、前記共有ＣＡＤオブジェクトの前記第１の部分の前記第１のユーザによる前記修正に応答して、前記変更命令を、前記媒介物の役割を果たす前記第３のコンピュータデバイスに伝送するためにさらに構成され、
前記第３のコンピュータデバイスは、通知サービスを実行するプロセッサをさらに備え、
前記第２のＣＡＤアプリケーションは、
前記通知サービスから、新しい変更命令の通知を受信することであって、前記通知は、前記第１のコンピュータデバイスから前記伝送された変更命令を受信することに応答して伝送される、ことと、
前記通知を受信することに応答して、前記第３のコンピュータデバイスから、前記変更命令を要求することと
を行うために構成されている、項目４８に記載のシステム。
（項目５０）
前記第２のＣＡＤアプリケーションは、前記第２のユーザによる要求に応答して、前記共有ＣＡＤオブジェクトの前記第１の部分を修正するための前記変更命令を実行するためにさらに構成されている、項目４３に記載のシステム。
（項目５１）
前記第２のＣＡＤアプリケーションは、前記変更命令において表される前記共有ＣＡＤオブジェクトの前記第１の部分に対する前記修正を、前記共有ＣＡＤオブジェクトの前記第２の部分に対する前記修正と組み合わせるためにさらに構成されている、項目５０に記載のシステム。
（項目５２）
前記第２のＣＡＤアプリケーションは、前記第２のユーザによる要求に応答して、前記変更命令における第１の１つ以上の命令のためにさらに構成され、前記共有ＣＡＤオブジェクトの前記第１の部分を修正するために前記変更命令を実行することは、前記変更命令における第２の１つ以上の無効にされていない命令を実行することを含む、項目５０に記載のシステム。
（項目５３）
コンピュータ支援設計（ＣＡＤ）オブジェクトまたはモデルの同時設計を管理する方法であって、
コンピュータデバイスのプロセッサによって実行される第１のＣＡＤアプリケーションによって、ＣＡＤモデルの開始状態を記憶することと、
前記第１のＣＡＤアプリケーションのユーザによって、前記ＣＡＤモデルを修正することと、
前記第１のＣＡＤアプリケーションによって、前記修正に応答して、前記ＣＡＤモデルに対する前記ユーザの修正を表す第１の１つ以上の変更命令を作成することと、
前記コンピュータデバイスの前記プロセッサによって実行される第２のＣＡＤアプリケーションによって、前記ＣＡＤモデルの前記記憶された開始状態および前記第１の１つ以上の変更命令をロードすることと、
前記第２のＣＡＤアプリケーションによって、前記ＣＡＤモデルに対する前記ユーザの修正を再現するために、前記第１の１つ以上の変更命令を実行することと
を含む、方法。
（項目５４）
前記ＣＡＤモデルの前記開始状態を記憶することは、前記第１のＣＡＤアプリケーションによって前記ＣＡＤモデルをロードすることに応答して、前記ＣＡＤモデルの前記開始状態を記憶することを含む、項目５３に記載の方法。
（項目５５）
前記ＣＡＤモデルを修正することは、前記ユーザによって、前記ＣＡＤモデルの第１の１つ以上のオブジェクトを修正することと、前記第１のＣＡＤアプリケーションによって、前記第１の１つ以上のオブジェクトに従属している、前記ＣＡＤモデルの第２の１つ以上のオブジェクトを再生することとを含む、項目５３に記載の方法。
（項目５６）
前記第１の１つ以上の変更命令を作成することは、１つ以上の変更命令の実行が、ＣＡＤアプリケーションに、前記第１の１つ以上のオブジェクトに従属している前記第２の１つ以上のオブジェクトを再生させるように、前記第１の１つ以上のオブジェクトに対する前記ユーザの修正を表す第１の１つ以上の変更命令を作成することを含む、項目５５に記載の方法。
（項目５７）
前記第２のＣＡＤアプリケーションによって、前記記憶された開始状態および前記第１の１つ以上の変更命令をロードすることは、前記ユーザが前記第２のＣＡＤアプリケーションをアクティブにすることに応答して、前記記憶された開始状態および前記第１の１つ以上の変更命令をロードすることを含む、項目５３に記載の方法。
（項目５８）
前記第１の１つ以上の変更命令を実行することは、前記ユーザが前記第２のＣＡＤアプリケーションをアクティブにすることに応答して、前記第１の１つ以上の変更命令を実行することを含む、項目５７に記載の方法。
（項目５９）
前記第２のＣＡＤアプリケーションを介して、前記ユーザによって、前記ＣＡＤモデルを修正することと、
前記第２のＣＡＤアプリケーションによって、前記修正に応答して、前記ＣＡＤモデルに対する前記ユーザの修正を表す第２の１つ以上の変更命令を作成することと、
前記第１のＣＡＤアプリケーションによって、前記第２の１つ以上の変更命令をロードすることと、
前記第１のＣＡＤアプリケーションによって、前記ＣＡＤモデルに対する前記ユーザの修正を再現するために、前記第２の１つ以上の変更命令を実行することと
をさらに含む、項目５３に記載の方法。
（項目６０）
前記第２の１つ以上の変更命令は、前記第１の１つ以上の変更命令の実行後の前記第２のＣＡＤアプリケーションにおける前記ＣＡＤモデルに対する前記ユーザの修正を表す、項目５９に記載の方法。
（項目６１）
前記第１のＣＡＤアプリケーションを介して、前記ユーザによって、前記第１の１つ以上の変更命令を取り消すように要求することと、
前記第１のＣＡＤアプリケーションによって、前記ＣＡＤモデルの前記開始状態をロードすることと
をさらに含む、項目５９に記載の方法。
（項目６２）
前記第１のＣＡＤアプリケーションによって、前記第２の１つ以上の変更命令を実行することをさらに含み、前記第２の１つ以上の変更命令は、前記第１の１つ以上の変更命令によって修正されるチャプタとは無関係の前記ＣＡＤモデルのチャプタを修正する、項目６１に記載の方法。
（項目６３）
コンピュータ支援設計（ＣＡＤ）オブジェクトまたはモデルの同時設計を管理するためのシステムであって、前記システムは、プロセッサを備えているコンピュータデバイスを備え、前記プロセッサは、
ＣＡＤモデルの開始状態を記憶することと、前記第１のＣＡＤアプリケーションのユーザによる要求に応答して、前記ＣＡＤモデルを修正することと、前記修正に応答して、前記ＣＡＤモデルに対する前記ユーザの修正を表す第１の１つ以上の変更命令を作成することとを行うように構成されている、第１のＣＡＤアプリケーションと、
前記ＣＡＤモデルの前記記憶された開始状態および前記第１の１つ以上の変更命令をロードすることと、前記ＣＡＤモデルに対する前記ユーザの修正を再現するために、前記第１の１つ以上の変更命令を実行することとを行うように構成されている、第２のＣＡＤアプリケーションと
を実行する、システム。
（項目６４）
前記第１のＣＡＤアプリケーションは、前記第１のＣＡＤアプリケーションによって前記ＣＡＤモデルをロードすることに応答して、前記ＣＡＤモデルの前記開始状態を記憶するように構成されている、項目６３に記載のシステム。
（項目６５）
前記第１のＣＡＤアプリケーションは、前記ユーザによる要求に応答して、前記ＣＡＤモデルの第１の１つ以上のオブジェクトを修正することと、前記第１の１つ以上のオブジェクトに従属している、前記ＣＡＤモデルの第２の１つ以上のオブジェクトを再生することとを行うように構成されている、項目６３に記載のシステム。
（項目６６）
前記第１のＣＡＤアプリケーションは、１つ以上の変更命令の実行が、ＣＡＤアプリケーションに、前記第１の１つ以上のオブジェクトに従属している前記第２の１つ以上のオブジェクトを再生させるように、前記第１の１つ以上のオブジェクトに対する前記ユーザの修正を表す第１の１つ以上の変更命令を作成するように構成されている、項目６５に記載のシステム。
（項目６７）
前記第２のＣＡＤアプリケーションは、前記ユーザが前記第２のＣＡＤアプリケーションをアクティブにすることに応答して、前記記憶された開始状態および前記第１の１つ以上の変更命令をロードするように構成されている、項目６３に記載のシステム。
（項目６８）
前記第２のＣＡＤアプリケーションは、前記ユーザが前記第２のＣＡＤアプリケーションをアクティブにすることに応答して、前記第１の１つ以上の変更命令を実行するように構成されている、項目６７に記載のシステム。
（項目６９）
前記第２のＣＡＤアプリケーションは、前記ユーザからの要求に応答して、前記ＣＡＤモデルを修正することと、前記修正に応答して、前記ＣＡＤモデルに対する前記ユーザの修正を表す第２の１つ以上の変更命令を作成することとを行うように構成され、
前記第１のＣＡＤアプリケーションは、前記第２の１つ以上の変更命令をロードすることと、前記ＣＡＤモデルに対する前記ユーザの修正を再現するために、前記第２の１つ以上の変更命令を実行することとを行うように構成されている、項目６３に記載のシステム。
（項目７０）
前記第２の１つ以上の変更命令は、前記第１の１つ以上の変更命令の実行後の前記第２のＣＡＤアプリケーションにおける前記ＣＡＤモデルに対する前記ユーザの修正を表す、項目６９に記載のシステム。
（項目７１）
前記第１の１つ以上の変更命令を取り消すための前記ユーザによる要求に応答して、前記第１のＣＡＤアプリケーションは、前記ＣＡＤモデルの前記開始状態をロードするように構成されている、項目６９に記載のシステム。
（項目７２）
前記第１のＣＡＤアプリケーションは、前記第２の１つ以上の変更命令を実行するように構成され、前記第２の１つ以上の変更命令は、前記第１の１つ以上の変更命令によって修正されるチャプタとは無関係の前記ＣＡＤモデルのチャプタを修正する、項目７１に記載のシステム。
（項目７３）
コンピュータ支援設計（ＣＡＤ）モデルの同時設計を管理するためのシステムであって、前記システムは、プロセッサを備えているコンピュータデバイスを備え、前記プロセッサは、
ユーザからの第１の要求に応答して、共有ＣＡＤモデルに対する第１の修正を行うための第１のＣＡＤアプリケーションと、
前記第１のＣＡＤアプリケーションが前記第１の修正を行うことに応答して、前記第１の修正を前記共有ＣＡＤモデルに表示するための第２の同時実行ＣＡＤアプリケーションと
を実行する、システム。
（項目７４）
前記第２の同時実行ＣＡＤアプリケーションは、前記ユーザからの後続の要求なしで、前記共有ＣＡＤモデルに対する前記第１の修正を表示するように構成されている、項目７３に記載のシステム。
（項目７５）
前記第２の同時実行ＣＡＤアプリケーションは、前記ユーザが前記第１の修正を保存することを要求することなく、前記共有ＣＡＤモデルに対する前記第１の修正を表示するように構成されている、項目７３に記載のシステム。
（項目７６）
前記第２の同時実行ＣＡＤアプリケーションは、前記ユーザからの第２の要求に応答して、前記第１のＣＡＤアプリケーションによって行われる、前記共有ＣＡＤモデルに対する前記第１の修正を取り消すように構成されている、項目７３に記載のシステム。
（項目７７）
前記第２の同時実行ＣＡＤアプリケーションは、前記ユーザからの第２の要求に応答して、前記第１のＣＡＤアプリケーションによって行われる、前記共有ＣＡＤモデルに対する前記第１の修正を保存するように構成されている、項目７３に記載のシステム。
【図面の簡単な説明】
【００４６】
本開示の先述および他の目的、側面、特徴、および利点は、添付図面と併せて解釈される以下の説明を参照することによって、より明白となり、より理解されるであろう。
【図１Ａ】図１Ａは、遠隔マシンと通信しているローカルマシンを備えている、ネットワーク環境の実施形態を描写するブロック図である。
【図１Ｂ】図１Ｂ−１Ｅは、本明細書で説明される方法およびシステムと関連して有用なコンピュータの実施形態を描写するブロック図である。
【図１Ｃ】図１Ｂ−１Ｅは、本明細書で説明される方法およびシステムと関連して有用なコンピュータの実施形態を描写するブロック図である。
【図１Ｄ】図１Ｂ−１Ｅは、本明細書で説明される方法およびシステムと関連して有用なコンピュータの実施形態を描写するブロック図である。
【図１Ｅ】図１Ｂ−１Ｅは、本明細書で説明される方法およびシステムと関連して有用なコンピュータの実施形態を描写するブロック図である。
【図２Ａ】図２Ａは、２つの概念エンドポイント間の設計フローの実施形態のブロック図である。
【図２Ｂ】図２Ｂは、共通データモデルのサブパーツへの設計変更の実施形態のブロック図である。
【図２Ｃ】図２Ｃは、共通データモデルに対する変更を識別することの実施形態のブロック図である。
【図２Ｄ】図２Ｄは、共通データモデルを使用した、アプリケーション一式の実施形態のブロック図である。
【図２Ｅ】図２Ｅは、共通データモデルの中の複数の情報項目の同期化を管理することの実施形態のシーケンス図である。
【図２Ｆ】図２Ｆは、共通データモデルにおける複数の情報項目の同期化を管理することの実施形態の実施例のシーケンス図である。
【図２Ｇ】図２Ｇは、共通データモデルの使用および同期化を管理するためのフレームワークのブロック図である。
【図３Ａ】図３Ａは、複数のアプリケーションによる共通データモデルの異なるチャプタの利用の比較図である。
【図３Ｂ】図３Ｂ−３Ｅは、複数のアプリケーションによる共通データモデルの異なるチャプタとの相互作用の実施例の実施形態のコンテキスト図である。
【図３Ｃ】図３Ｂ−３Ｅは、複数のアプリケーションによる共通データモデルの異なるチャプタとの相互作用の実施例の実施形態のコンテキスト図である。
【図３Ｄ】図３Ｂ−３Ｅは、複数のアプリケーションによる共通データモデルの異なるチャプタとの相互作用の実施例の実施形態のコンテキスト図である。
【図３Ｅ】図３Ｂ−３Ｅは、複数のアプリケーションによる共通データモデルの異なるチャプタとの相互作用の実施例の実施形態のコンテキスト図である。
【図４】図４は、共通データモデルに対する変更命令のブロック図である。
【図５Ａ】図５Ａは、オブジェクトライフサイクルにおける複数の所定の状態のうちの１つで、コンピュータ支援設計データモデルの複数の情報項目の同期化を管理する方法の実施形態のフローチャートである。
【図５Ｂ】図５Ｂは、ユーザによってコンピュータ支援設計オブジェクトまたはモデルの複数の設計ステップを管理する方法の実施形態のフローチャートである。
【図５Ｃ】図５Ｃは、対応する複数のコンピュータデバイス上の複数のユーザによるコンピュータ支援設計オブジェクトまたはモデルの同時設計を管理する方法の実施形態のフローチャートである。
【図６Ａ】図６Ａは、共通データモデルを使用して、複数のアプリケーションによって使用されるモデルの整合性を管理する方法の実施形態のフローチャートである。
【図６Ｂ】図６Ｂは、共通データモデルを使用して、複数のアクティブなアプリケーションにわたってモデルの整合性を管理する方法の実施形態の別のフローチャートである。
【図６Ｃ】図６Ｃは、共通データモデルを使用して、複数のアプリケーションにわたって取り消しスタックを管理する方法の実施形態の活動チャートである。
【図７Ａ】図７Ａは、複数のアプリケーションとともに共通データモデルを使用する第１の例示的実施形態のフローチャートである。
【図７Ｂ】図７Ｂは、複数のアプリケーションとともに共通データモデルを使用する第２の例示的実施形態のフローチャートである。
【図８Ａ】図８Ａ−８Ｃは、複数のアプリケーションとともに共通データモデルを使用するためのシステムの実施形態のスクリーンショットである。
【図８Ｂ】図８Ａ−８Ｃは、複数のアプリケーションとともに共通データモデルを使用するためのシステムの実施形態のスクリーンショットである。
【図８Ｃ】図８Ａ−８Ｃは、複数のアプリケーションとともに共通データモデルを使用するためのシステムの実施形態のスクリーンショットである。
【発明を実施するための形態】
【００４７】
本開示の特徴および利点は、類似参照記号が全体を通して対応する要素を識別する、図面と併せて解釈された時に、以下に記載される発明を実施するための形態から、より明白となるであろう。図面では、類似参照数字は、概して、同一の、機能的に同様の、および／または構造的に同様の要素を示す。
【００４８】
本開示は、とりわけ、コンピュータ支援設計データモデルの複数の情報項目の同期化を管理するため、コンピュータ支援設計オブジェクトの同時設計を管理するため、および複数のコンピュータ支援設計アプリケーションの整合した同時動作のための方法およびシステムを対象とする。
【００４９】
以下の種々の実施形態の説明を読む目的で、本明細書の項およびそれぞれの内容の以下の説明が役立ち得る。
−Ａ項は、本明細書で説明される実施形態を実践するために有用であり得る、ネットワーク環境およびコンピュータ環境を説明する。
−Ｂ項は、複数の製品設計アプリケーションとともに共通データモデルを使用し、管理するためのシステムおよび方法の実施形態を説明する。
【００５０】
（Ａ．ネットワークおよびコンピュータ環境）
コンピュータ支援設計の方法およびシステムの実施形態の詳細を論議する前に、本明細書を実践するために有用であり得る、ネットワーク環境およびコンピュータ環境を簡潔に説明することが有用であり得る。ここで図１Ａを参照すると、ネットワーク環境の実施形態が描写されている。概観すると、ネットワーク環境は、１つ以上のネットワーク１０４を介して１つ以上の遠隔マシン１０６ａ−１０６ｎ（概して、サーバ１０６または遠隔マシン１０６とも呼ばれる）と通信している、１つ以上のローカルマシン１０２ａ−１０２ｎ（ローカルマシン１０２、クライアント１０２、クライアントノード１０２、クライアントマシン１０２、クライアントコンピュータ１０２、クライアントデバイス１０２、エンドポイント１０２、またはエンドポイントノード１０２とも呼ばれる）とを備えている。いくつかの実施形態では、ローカルマシン１０２は、サーバによって提供されるリソースへのアクセスを求めるクライアントノード、および他のクライアント１０２ａ−１０２ｎのためのホスト型リソースへのアクセスを提供するサーバの両方として機能する能力を有する。
【００５１】
図１Ａは、ローカルマシン１０２と遠隔マシン１０６との間のネットワーク１０４を示すが、ローカルマシン１０２および遠隔マシン１０６は、同じネットワーク１０４上にあり得る。ネットワーク１０４は、企業イントラネット、メトロポリタンエリアネットワーク（ＭＡＮ）等のローカルエリアネットワーク（ＬＡＮ）、またはインターネットあるいはワールドワイドウェブ等の広域ネットワーク（ＷＡＮ）であり得る。いくつかの実施形態では、ローカルマシン１０２と遠隔マシン１０６との間に複数のネットワーク１０４がある。これらの実施形態のうちの１つでは、ネットワーク１０４’（図示せず）は、私的ネットワークであり得、ネットワーク１０４は、公衆ネットワークであり得る。これらの実施形態のうちの別の１つでは、ネットワーク１０４は、私的ネットワークであり得、ネットワーク１０４’は、公衆ネットワークであり得る。なおも別の実施形態では、ネットワーク１０４および１０４’は、私的ネットワークであり得る。さらに別の実施形態では、ネットワーク１０４および１０４’は、公衆ネットワークであり得る。
【００５２】
ネットワーク１０４は、任意の種類および／または形態のネットワークであり得、２点間ネットワーク、放送ネットワーク、広域ネットワーク、ローカルエリアネットワーク、電気通信ネットワーク、データ通信ネットワーク、コンピュータネットワーク、ＡＴＭ（非同期転送モード）ネットワーク、ＳＯＮＥＴ（同期光ネットワーク）ネットワーク、ＳＤＨ（同期デジタル階層）ネットワーク、無線ネットワーク、および有線ネットワークのうちのいずれかであり得る。いくつかの実施形態では、ネットワーク１０４は、赤外線チャネルまたは衛星帯等の無線リンクを備え得る。ネットワーク１０４のトポロジーは、バス、スター、またはリングネットワークトポロジーであり得る。ネットワーク１０４は、本明細書で説明される動作をサポートすることが可能である、当業者に公知であるもの等の任意のネットワークトポロジーであり得る。ネットワークは、ＡＭＰＳ、ＴＤＭＡ、ＣＤＭＡ、ＧＳＭ（登録商標）、ＧＰＲＳ、またはＵＭＴＳを含む、モバイルデバイス間で通信するために使用される任意の１つまたは複数のプロトコルを利用する、携帯電話ネットワークを備え得る。いくつかの実施形態では、異なる種類のデータが、異なるプロトコルを介して伝送され得る。他の実施形態では、同じ種類のデータが、異なるプロトコルを介して伝送され得る。
【００５３】
いくつかの実施形態では、システムは、複数の論理的にグループ化された遠隔マシン１０６を含み得る。これらの実施形態のうちの１つでは、遠隔マシンの論理グループは、サーバファーム３８と呼ばれ得る。これらの実施形態のうちの別の１つでは、遠隔マシン１０６は、地理的に分散され得る。他の実施形態では、サーバファーム３８は、単一のエンティティとして運営され得る。なおも他の実施形態では、サーバファーム３８は、複数のサーバファーム３８を備えている。各サーバファーム３８内の遠隔マシン１０６は、異種であり得、遠隔マシン１０６のうちの１つ以上は、一種類のオペレーティングシステムプラットフォーム（例えば、ＷＩＮＤＯＷＳ（登録商標）  ＮＴ、ＷＩＮＤＯＷＳ（登録商標）  ２００３、ＷＩＮＤＯＷＳ（登録商標）  ２００８、ＷＩＮＤＯＷＳ（登録商標）  ７、およびＷＩＮＤＯＷＳ（登録商標）  Ｓｅｒｖｅｒ  ２００８  Ｒ２、その全ては、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐ．（Ｒｅｄｍｏｎｄ，Ｗａｓｈｉｎｇｔｏｎ）によって製造されている）に従って動作することができる一方で、他の遠隔マシン１０６のうちの１つ以上は、別の種類のオペレーティングシステムプラットフォーム（例えば、Ｕｎｉｘ（登録商標）またはＬｉｎｕｘ（登録商標））に従って動作することができる。
【００５４】
各サーバファーム３８の遠隔マシン１０６は、同じサーバファーム３８の中の別の遠隔マシン１０６に物理的に近接する必要はない。したがって、サーバファーム３８として論理的にグループ化された遠隔マシン１０６のグループは、広域ネットワーク（ＷＡＮ）接続またはメトロポリタンエリアネットワーク（ＭＡＮ）接続を使用して、相互接続され得る。例えば、サーバファーム３８は、異なる大陸、または大陸、国、州、都市、キャンパス、あるいは部屋の異なる領域の中に物理的に位置する、遠隔マシン１０６を含み得る。サーバファーム３８の中の遠隔マシン１０６の間のデータ伝送速度は、ローカルネットワーク（ＬＡＮ）接続または何らかの形態の直接接続を使用して遠隔マシン１０６が接続された場合に、増加させることができる。
【００５５】
遠隔マシン１０６は、ファイルサーバ、アプリケーションサーバ、ウェブサーバ、プロキシサーバ、アプライアンス、ネットワークアプライアンス、ゲートウェイ、アプリケーションゲートウェイ、ゲートウェイサーバ、仮想化サーバ、展開サーバ、ＳＳＬ  ＶＰＮサーバ、またはファイアウォールであり得る。いくつかの実施形態では、遠隔マシン１０６は、遠隔認証ダイヤルインユーザサービスを提供し、ＲＡＤＩＵＳサーバと呼ばれる。他の実施形態では、遠隔マシン１０６は、アプリケーションサーバとして、またはマスタアプリケーションサーバとして機能する能力を有し得る。なおも他の実施形態では、遠隔マシン１０６は、ブレードサーバである。さらに他の実施形態では、遠隔マシン１０６は、ユーザまたはクライアントコンピュータ１０２にコンピュータ環境へのアクセスを提供する、仮想マシンを実行する。
【００５６】
一実施形態では、遠隔マシン１０６は、アクティブディレクトリを含み得る。遠隔マシン１０６は、アプリケーション加速アプライアンスであり得る。遠隔マシン１０６がアプリケーション加速アプライアンスである実施形態について、遠隔マシン１０６は、ファイアウォール機能性、アプリケーションファイアウォール機能性、またはロードバランシング機能性を含む、機能性を提供し得る。いくつかの実施形態では、遠隔マシン１０６は、Ｃｉｔｒｉｘ  Ａｐｐｌｉｃａｔｉｏｎ  Ｎｅｔｗｏｒｋｉｎｇ  Ｇｒｏｕｐ（Ｓａｎ  Ｊｏｓｅ，ＣＡ）、またはＳｉｌｖｅｒ  Ｐｅａｋ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．（Ｍｏｕｎｔａｉｎ  Ｖｉｅｗ，ＣＡ）、またはＲｉｖｅｒｂｅｄ  Ｔｅｃｈｎｏｌｏｇｙ，Ｉｎｃ．（Ｓａｎ  Ｆｒａｎｃｉｓｃｏ，ＣＡ）、またはＦ５  Ｎｅｔｗｏｒｋｓ，Ｉｎｃ．（Ｓｅａｔｔｌｅ，ＷＡ）、またはＪｕｎｉｐｅｒ  Ｎｅｔｗｏｒｋｓ，Ｉｎｃ．（Ｓｕｎｎｙｖａｌｅ，ＣＡ）によって製造される、一連のアプライアンスのうちの１つ等のアプライアンスを備えている。
【００５７】
いくつかの実施形態では、遠隔マシン１０６は、ローカルマシン１０２のユーザの代わりにアプリケーションを実行する。他の実施形態では、遠隔マシン１０６は、その内側でローカルマシン１０２のユーザの代わりにアプリケーションが実行される、実行セッションを提供する、仮想マシンを実行する。これらの実施形態のうちの１つでは、実行セッションは、ホスト型デスクトップセッションである。これらの実施形態のうちの別の１つでは、実行セッションは、アプリケーション、複数のアプリケーション、デスクトップアプリケーション、および１つ以上のアプリケーションが実行され得るデスクトップセッションのうちの１つ以上を含み得る、コンピュータ環境へのアクセスを提供する。
【００５８】
いくつかの実施形態では、ローカルマシン１０２は、遠隔マシン１０６と通信する。一実施形態では、ローカルマシン１０２は、サーバファーム３８の中の遠隔マシン１０６のうちの１つと直接通信する。別の実施形態では、ローカルマシン１０２は、サーバファーム３８の中の遠隔マシン１０６と通信するように、プログラム隣接アプリケーションを実行する。なおも別の実施形態では、遠隔マシン１０６は、マスタノードの機能性を提供する。いくつかの実施形態では、ローカルマシン１０２は、ネットワーク１０４を通して、サーバファーム３８の中の遠隔マシン１０６と通信する。ネットワーク１０４上で、ローカルマシン１０２は、例えば、サーバファーム３８の中の遠隔マシン１０６ａ−１０６ｎによってホストされる種々のアプリケーションの実行を要求し、表示するためのアプリケーション実行の結果の出力を受信することができる。いくつかの実施形態では、マスタノードのみが、要求されたアプリケーションをホストする遠隔マシン１０６ｂに関連付けられるアドレス情報を識別して提供するために必要とされる、機能性を提供する。
【００５９】
一実施形態では、遠隔マシン１０６は、ウェブサーバの機能性を提供する。別の実施形態では、遠隔マシン１０６ａは、ローカルマシン１０２から要求を受信し、要求を第２の遠隔マシン１０６ｂに転送し、遠隔マシン１０６ｂからの要求への応答とともに、ローカルマシン１０２による要求に応答する。なおも別の実施形態では、遠隔マシン１０６ａは、ローカルマシン１０２に利用可能なアプリケーションの列挙、およびアプリケーションの列挙によって識別されるアプリケーションをホストする遠隔マシン１０６ｂに関連付けられるアドレス情報を取得する。さらに別の実施形態では、遠隔マシン１０６は、ウェブインターフェースを使用して、ローカルマシン１０２への要求への応答を提示する。一実施形態では、ローカルマシン１０２は、識別されたアプリケーションにアクセスするように、遠隔マシン１０６と直接通信する。別の実施形態では、ローカルマシン１０２は、遠隔マシン１０６上の識別されたアプリケーションの実行によって生成される、表示データ等の出力データを受信する。
【００６０】
いくつかの実施形態では、遠隔マシン１０６またはサーバファーム３８は、シンクライアントコンピューティングを提供するアプリケーション、または遠隔ディスプレイプレゼンテーションアプリケーション等の１つ以上のアプリケーションを実行し得る。一実施形態では、遠隔マシン１０６またはサーバファーム３８は、ＭＥＴＡフレームまたはＣＩＴＲＩＸ  ＰＲＥＳＥＮＴＡＴＩＯＮ  ＳＥＲＶＥＲ製品等のＣｉｔｒｉｘ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．によるＣＩＴＲＩＸ  ＡＣＣＥＳＳ  ＳＵＩＴＥの任意の部分、ＣＩＴＲＩＸ  ＸＥＮＡＰＰ、ＣＩＴＲＩＸ  ＸＥＮＤＥＳＫＴＯＰ、ＣＩＴＲＩＸ  ＡＣＣＥＳＳ  ＧＡＴＥＷＡＹといったＣｉｔｒｉｘ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．によって製造される製品のうちのいずれか、および／またはＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎによって製造されるＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）ターミナルサービスのうちのいずれかを、アプリケーションとして実行する。別の実施形態では、アプリケーションは、Ｃｉｔｒｉｘ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．（Ｆｏｒｔ  Ｌａｕｄｅｒｄａｌｅ，Ｆｌｏｒｉｄａ）によって開発されたＩＣＡクライアントである。なおも別の実施形態では、遠隔マシン１０６は、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｒｅｄｍｏｎｄ，Ｗａｓｈｉｎｇｔｏｎ）によって製造されているＭＩＣＲＯＳＯＦＴ  ＥＸＣＨＡＮＧＥ等のＥメールサービスを提供するアプリケーションサーバ、ウェブまたはインターネットサーバ、あるいはデスクトップ共有サーバ、あるいは協調サーバであり得る、アプリケーションを実行し得る。さらに別の実施形態では、アプリケーションのうちのいずれかは、Ｃｉｔｒｉｘ  Ｏｎｌｉｎｅ  Ｄｉｖｉｓｉｏｎ，Ｉｎｃ．（Ｓａｎｔａ  Ｂａｒｂａｒａ，Ｃａｌｉｆｏｒｎｉａ）によって提供されるＧＯＴＯＭＥＥＴＩＮＧ、ＷｅｂＥｘ，Ｉｎｃ．（Ｓａｎｔａ  Ｃｌａｒａ，Ｃａｌｉｆｏｒｎｉａ）によって提供されるＷＥＢＥＸ、またはＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｒｅｄｍｏｎｄ，Ｗａｓｈｉｎｇｔｏｎ）によって提供されるＭｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅ  ＬＩＶＥ  ＭＥＥＴＩＮＧ等の任意の種類のホスト型サービスまたは製品を備え得る。
【００６１】
ローカルマシン１０２は、任意の種類および／または形態のウェブブラウザ、ウェブベースのクライアント、クライアント・サーバアプリケーション、シンクライアントコンピューティングクライアント、ＡｃｔｉｖｅＸコントロール、またはＪａｖａ（登録商標）アプレット等の任意の種類および／または形態のソフトウェア、プログラム、または実行可能命令、あるいはローカルマシン１０２上で実行することが可能な任意の種類および／または形態の実行可能命令であり得る、アプリケーションを実行し、操作し、または別様に提供し得る。いくつかの実施形態では、アプリケーションは、遠隔マシン１０６上のローカルマシン１０２の代わりに実行される、サーバベースまたは遠隔ベースのアプリケーションであり得る。他の実施形態では、遠隔マシン１０６は、Ｃｉｔｒｉｘ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．（Ｆｔ．Ｌａｕｄｅｒｄａｌｅ，Ｆｌｏｒｉｄａ）によって製造されるＩｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｕｔｉｎｇ  Ａｒｃｈｉｔｅｃｔｕｒｅ  （ＩＣＡ）プロトコル、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｒｅｄｍｏｎｄ，Ｗａｓｈｉｎｇｔｏｎ）によって製造されるＲｅｍｏｔｅ  Ｄｅｓｋｔｏｐ  Ｐｒｏｔｏｃｏｌ（ＲＤＰ）、Ｘ１１プロトコル、ＡＴ＆Ｔ  Ｂｅｌｌ  Ｌａｂｓによって製造されるＶｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｃｏｍｐｕｔｉｎｇ（ＶＮＣ）プロトコル、Ｑｕｍｒａｎｅｔ，Ｉｎｃ．（Ｓｕｎｎｙｖａｌｅ，ＣＡ，ＵＳＡおよびＲａａｎａｎａ，Ｉｓｒａｅｌ）によって製造されるＳＰＩＣＥプロトコル、ＶＥＳＡ（Ｍｉｌｐｉｔａｓ，ＣＡ）によって製造されるＮｅｔ２Ｄｉｓｐｌａｙプロトコル、Ｔｅｒａｄｉｃｉ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｂｕｒｎａｂｙ，Ｂ．Ｃ．）によって製造されるＰＣ−ｏｖｅｒ−ＩＰプロトコル、Ｗｙｓｅ  Ｔｅｃｈｎｏｌｏｇｙ，Ｉｎｃ．（Ｓａｎ  Ｊｏｓｅ，ＣＡ）によって製造されるＴＣＸプロトコル、Ｃｉｔｙ  ｏｆ  Ｎｅｗ  ＹｏｒｋのＣｏｌｕｍｂｉａ  Ｕｎｉｖｅｒｓｉｔｙ（Ｎｅｗ  Ｙｏｒｋ，ＮＹ）によって開発されたＴＨＩＮＣプロトコル、またはＤｅｓｋｔｏｎｅ，Ｉｎｃ．（Ｃｈｅｌｍｓｆｏｒｄ，ＭＡ）によって製造されるＶｉｒｔｕａｌ−Ｄプロトコル等の、任意のシンクライアントプロトコル、プレゼンテーション層プロトコル、または遠隔表示プロトコルを使用して、ローカルマシン１０２への出力を表示し得る。アプリケーションは、任意の種類のプロトコルを使用することができ、それは、例えば、ＨＴＴＰクライアント、ＦＴＰクライアント、Ｏｓｃａｒクライアント、またはＴｅｌｎｅｔクライアントであり得る。なおも他の実施形態では、アプリケーションは、ソフトＩＰ電話等のボイスオーバーインターネットプロトコル（ＶｏＩＰ）通信に関係する任意の種類のソフトウェアを備えている。さらなる実施形態では、アプリケーションは、ビデオおよび／またはオーディオをストリーミング配信するためのアプリケーション等のリアルタイムデータ通信に関係する任意のアプリケーションを備えている。他の実施形態では、アプリケーションは、コンピュータ支援設計（ＣＡＤ）、コンピュータ支援製造（ＣＡＭ）、コンピュータ支援エンジニアリング（ＣＡＥ）、製品ライフサイクル管理（ＰＬＭ）、���ロジェクト管理、リソース管理、顧客関係管理（ＣＲＭ）、あるいはデータの生成、修正、モデリング、および／または分析のための任意の他のアプリケーションに関係する任意のアプリケーションを備えている。
【００６２】
ローカルマシン１０２および遠隔マシン１０６は、任意の種類および形態のネットワーク上で通信し、本明細書で説明される動作を行うことが可能なコンピュータ、ネットワークデバイス、またはアプライアンス等の任意の種類および形態のコンピュータデバイスとして展開され、および／またはその上で実行され得る。図１Ｂおよび１Ｃは、ローカルマシン１０２または遠隔マシン１０６の実施形態を実践するために有用なコンピュータデバイス１００のブロック図を描写する。図１Ｂおよび１Ｃに示されるように、各コンピュータデバイス１００は、中央処理ユニット１２１と、主要メモリユニット１２２とを含む。図１Ｂに示されるように、コンピュータデバイス１００は、記憶デバイス１２８と、インストールデバイス１１６と、ネットワークインターフェース１１８と、Ｉ／Ｏコントローラ１２３と、表示デバイス１２４ａ−ｎと、キーボード１２６と、マウス等のポインティングデバイス１２７とを含み得る。記憶デバイス１２８は、限定するものではないが、オペレーティングシステムと、ソフトウェアと、クライアントエージェント１２０とを含み得る。図１Ｃに示されるように、各コンピュータデバイス１００はまた、メモリポート１０３、ブリッジ１７０、１つ以上の入力／出力デバイス１３０ａ−１３０ｎ（概して、参照数字１３０を使用して参照される）、および中央処理ユニット１２１と通信しているキャッシュメモリ１４０等の追加のオプションの要素を含み得る。
【００６３】
中央処理ユニット１２１は、主要メモリユニット１２２から取り出された命令に応答し、それらを処理する、任意の論理回路である。多くの実施形態では、中央処理ユニット１２１は、Ｉｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｍｏｕｎｔａｉｎ  Ｖｉｅｗ，Ｃａｌｉｆｏｒｎｉａ）によって製造されるもの、Ｍｏｔｏｒｏｌａ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｓｃｈａｕｍｂｕｒｇ，Ｉｌｌｉｎｏｉｓ）によって製造されるもの、Ｔｒａｎｓｍｅｔａ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｓａｎｔａ  Ｃｌａｒａ，Ｃａｌｉｆｏｒｎｉａ）によって製造されるもの、ＲＳ／６０００プロセッサ、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ（Ｗｈｉｔｅ  Ｐｌａｉｎｓ，Ｎｅｗ  Ｙｏｒｋ）によって製造されるもの、またはＡｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ（Ｓｕｎｎｙｖａｌｅ，Ｃａｌｉｆｏｒｎｉａ）によって製造されるもの等のマイクロプロセッサユニットによって提供される。コンピュータデバイス１００は、これらのプロセッサのうちのいずれか、または本明細書で説明されるように動作することが可能な任意の他のプロセッサに基づき得る。
【００６４】
主要メモリユニット１２２は、スタティックランダムアクセスメモリ（ＳＲＡＭ）、バーストＳＲＡＭまたは同期バーストＳＲＡＭ（ＢＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、高速ページモードＤＲＡＭ（ＦＰＭＤＲＡＭ）、強化ＤＲＡＭ（ＥＤＲＡＭ）、拡張データ出力ＲＡＭ（ＥＤＯＲＡＭ）、拡張データ出力ＤＲＡＭ（ＥＤＯ  ＤＲＡＭ）、バースト拡張データ出力ＤＲＡＭ（ＢＥＤＯ  ＤＲＡＭ）、強化ＤＲＡＭ（ＥＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、ＪＥＤＥＣ  ＳＲＡＭ、ＰＣ１００  ＳＤＲＡＭ、ダブルデータレートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、強化ＳＤＲＡＭ（ＥＳＤＲＡＭ）、ＳｙｎｃＬｉｎｋ  ＤＲＡＭ（ＳＬＤＲＡＭ）、Ｄｉｒｅｃｔ  Ｒａｍｂｕｓ  ＤＲＡＭ（ＤＲＤＲＡＭ）、または強誘電体ＲＡＭ（ＦＲＡＭ（登録商標））等のデータを記憶することが可能であり、任意の記憶場所がマイクロプロセッサ１２１によって直接アクセスすることを可能にする、１つ以上のメモリチップであり得る。主要メモリ１２２は、上記のメモリチップのうちのいずれか、または本明細書で説明されるように動作することが可能である任意の他の利用可能なメモリチップに基づき得る。図１Ｂに示される実施形態では、プロセッサ１２１は、システムバス１５０を介して主要メモリ１２２と通信する（以下でさらに詳細に説明される）。図１Ｃは、プロセッサがメモリポート１０３を介して主要メモリ１２２と直接通信する、コンピュータデバイス１００の実施形態を描写する。例えば、図１Ｃでは、主要メモリ１２２は、ＤＲＤＲＡＭであり得る。
【００６５】
図１Ｃは、主要プロセッサ１２１が、バックサイドバスと呼ばれることもある二次バスを介して、キャッシュメモリ１４０と直接通信する、実施形態を描写する。他の実施形態では、主要プロセッサ１２１は、システムバス１５０を使用してキャッシュメモリ１４０と通信する。キャッシュメモリ１４０は、典型的には、主要メモリ１２２よりも速い応答時間を有し、典型的には、ＳＲＡＭ、ＢＳＲＡＭ、またはＥＤＲＡＭによって提供される。図１Ｂに示される実施形態では、プロセッサ１２１は、ローカルシステムバス１５０を介して種々のＩ／Ｏデバイス１３０と通信する。中央処理ユニット１２１をＩ／Ｏデバイス１３０のうちのいずれかに接続するために、ＶＥＳＡ  ＶＬバス、ＩＳＡバス、ＥＩＳＡバス、ＭｉｃｒｏＣｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＭＣＡ）バス、ＰＣＩバス、ＰＣＩ−Ｘバス、ＰＣＩ−Ｅｘｐｒｅｓｓバス、またはＮｕＢｕｓを含む、種々のバスが使用され得る。Ｉ／Ｏデバイスがビデオディスプレイ１２４である実施形態については、プロセッサ１２１は、ディスプレイ１２４と通信するためにＡｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ（ＡＧＰ）を使用し得る。図１Ｃは、主要プロセッサ１２１が、ＨＹＰＥＲＴＲＡＮＳＰＯＲＴ、ＲＡＰＩＤＩＯ、またはＩＮＦＩＮＩＢＡＮＤ通信技術を介してＩ／Ｏデバイス１３０ｂと直接通信する、コンピュータ１００の実施形態を描写する。図１Ｃはまた、ローカルバスおよび直接通信が混合される、実施形態も描写し、プロセッサ１２１は、Ｉ／Ｏデバイス１３０ｂと直接通信しながら、ローカル相互接続バスを使用してＩ／Ｏデバイス１３０ａと通信する。
【００６６】
多種多様のＩ／Ｏデバイス１３０ａ−１３０ｎが、コンピュータデバイス１００の中に存在し得る。入力デバイスは、キーボード、マウス、トラックパッド、トラックボール、マイクロホン、およびドローイングタブレットを含む。出力デバイスは、ビデオディスプレイ、スピーカ、インクジェットプリンタ、レーザプリンタ、および昇華型プリンタを含む。図１Ｂに示されるようなＩ／Ｏコントローラ１２３は、Ｉ／Ｏデバイスを制御し得る。Ｉ／Ｏコントローラは、キーボード１２６およびポインティングデバイス１２７、例えば、マウスまたは光学ペン等の１つ以上のＩ／Ｏデバイスを制御し得る。さらに、Ｉ／Ｏデバイスは、コンピュータデバイス１００用の記憶および／またはインストール媒体１１６を提供し得る。なおも他の実施形態では、コンピュータデバイス１００は、Ｔｗｉｎｔｅｃｈ  Ｉｎｄｕｓｔｒｙ，Ｉｎｃ．（Ｌｏｓ  Ａｌａｍｉｔｏｓ，Ｃａｌｉｆｏｒｎｉａ）によって製造されるＵＳＢ  Ｆｌａｓｈ  Ｄｒｉｖｅ系列のデバイス等の手持ち式ＵＳＢ記憶デバイスを受け取るために、ＵＳＢ接続（図示せず）を提供し得る。
【００６７】
図１Ｂを再び参照すると、コンピュータデバイス１００は、３．５インチ、５．２５インチディスク、またはＺＩＰディスク等のフロッピー（登録商標）ディスクを受け取るためのフロッピー（登録商標）ディスクドライブ、ＣＤ−ＲＯＭドライブ、ＣＤ−Ｒ／ＲＷドライブ、ＤＶＤ−ＲＯＭドライブ、種々の形式のテープドライブ、ＵＳＢデバイス、ハードドライブ、またはソフトウェアおよびプログラムをインストールするために好適な任意の他のデバイス等の任意の好適なインストールデバイス１１６をサポートし得る。コンピュータデバイス１００はさらに、オペレーティングシステムおよび他の関連ソフトウェアを記憶するため、およびクライアントエージェント１２０に関係する任意のプログラム等のアプリケーションソフトウェアプログラムを記憶するために、１つ以上のハードディスクドライブまたは独立ディスク冗長アレイ等の記憶デバイスを備え得る。随意で、インストールデバイス１１６のうちのいずれかはまた、記憶デバイスとして使用することもできる。加えて、オペレーティングシステムおよびソフトウェアは、ブート可能媒体、例えば、ｋｎｏｐｐｉｘ．ｎｅｔからのＧＮＵ／Ｌｉｎｕｘ（登録商標）配布として入手可能であるＧＮＵ／Ｌｉｎｕｘ（登録商標）用のブート可能ＣＤである、ＫＮＯＰＰＩＸ等のブート可能ＣＤから実行することができる。
【００６８】
さらに、コンピュータデバイス１００は、標準電話回線、ＬＡＮまたはＷＡＮリンク（例えば、８０２．１１、Ｔ１、Ｔ３、５６ｋｂ、Ｘ．２５、ＳＮＡ、ＤＥＣＮＥＴ）、ブロードバンド接続（例えば、ＩＳＤＮ、フレームリレー、ＡＴＭ、ギガビットイーサネット（登録商標）、イーサネット（登録商標）オーバーＳＯＮＥＴ）、無線接続、または上記のうちのいずれかまたは全ての何らかの組み合わせを含むが、それらに限定されない、種々の接続を通して、ネットワーク１０４にインターフェース接続するように、ネットワークインターフェース１１８を含み得る。接続は、種々の通信プロトコル（例えば、ＴＣＰ／ＩＰ、ＩＰＸ、ＳＰＸ、ＮｅｔＢＩＯＳ、イーサネット（登録商標）、ＡＲＣＮＥＴ、ＳＯＮＥＴ、ＳＤＨ、光ファイバ分散データインターフェース（ＦＤＤＩ）、ＲＳ２３２、ＩＥＥＥ  ８０２．１１、ＩＥＥＥ  ８０２．１１ａ、ＩＥＥＥ  ８０２．１１ｂ、ＩＥＥＥ  ８０２．１１ｇ、ＣＤＭＡ、ＧＳＭ（登録商標）、ＷｉＭａｘ、および直接非同期接続）を使用して、確立することができる。一実施形態では、コンピュータデバイス１００は、Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ（ＳＳＬ）またはＴｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ（ＴＬＳ）、あるいはＣｉｔｒｉｘ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．（Ｆｔ．Ｌａｕｄｅｒｄａｌｅ，Ｆｌｏｒｉｄａ）によって製造されるＣｉｔｒｉｘ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ等の任意の種類および／または形態のゲートウェイまたはトンネリングプロトコルを介して、他のコンピュータデバイス１００’と通信する。ネットワークインターフェース１１８は、内蔵ネットワークアダプタ、ネットワークインターフェースカード、ＰＣＭＣＩＡネットワークカード、カードバスネットワークアダプタ、無線ネットワークアダプタ、ＵＳＢネットワークアダプタ、モデム、または通信が可能であり、本明細書で説明される動作を行う、任意の種類のネットワークにコンピュータデバイス１００をインターフェース接続するために好適な任意の他のデバイスを備え得る。
【００６９】
いくつかの実施形態では、コンピュータデバイス１００は、それぞれ、同じまたは異なる種類および／または形態であり得る、複数の表示デバイス１２４ａ−１２４ｎを備え得るか、またはそれらに接続され得る。そのようなものとして、Ｉ／Ｏデバイス１３０ａ−１３０ｎおよび／またはＩ／Ｏコントローラ１２３のうちのいずれかは、コンピュータデバイス１００による複数の表示デバイス１２４ａ−１２４ｎの接続および使用をサポートし、有効にし、または提供するように、任意の種類および／または形態の好適なハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせを備え得る。例えば、コンピュータデバイス１００は、表示デバイス１２４ａ−１２４ｎをインターフェース接続し、通信し、接続し、または別様に使用するように、任意の種類および／または形態のビデオアダプタ、ビデオカード、ドライバ、および／またはライブラリを含み得る。一実施形態では、ビデオアダプタは、複数の表示デバイス１２４ａ−１２４ｎにインターフェース接続するように、複数のコネクタを備え得る。他の実施形態では、コンピュータデバイス１００は、複数のビデオアダプタを含み得、各ビデオアダプタは、表示デバイス１２４ａ−１２４ｎのうちの１つ以上に接続される。いくつかの実施形態では、コンピュータデバイス１００のオペレーティングシステムの任意の部分が、複数の表示デバイス１２４ａ−１２４ｎを使用するために構成され得る。他の実施形態では、表示デバイス１２４ａ−１２４ｎのうちの１つ以上は、例えば、ネットワークを介して、コンピュータデバイス１００に接続されるコンピュータデバイス１００ａおよび１００ｂ等の１つ以上の他のコンピュータデバイスによって提供され得る。これらの実施形態は、コンピュータデバイス１００用の第２の表示デバイス１２４ａとして別のコンピュータの表示デバイスを使用するように設計および構築される、任意の種類のソフトウェアを含み得る。当業者であれば、コンピュータデバイス１００が複数の表示デバイス１２４ａ−１２４ｎを有するように構成され得る、種々の方法および実施形態を認識および理解するであろう。
【００７０】
さらなる実施形態では、Ｉ／Ｏデバイス１３０は、ＵＳＢバス、Ａｐｐｌｅ  Ｄｅｓｋｔｏｐバス、ＲＳ−２３２シリアル接続、ＳＣＳＩバス、ＦｉｒｅＷｉｒｅバス、ＦｉｒｅＷｉｒｅ  ８００バス、イーサネット（登録商標）バス、ＡｐｐｌｅＴａｌｋバス、ギガビットイーサネット（登録商標）バス、非同期転送モードバス、ＨＩＰＰＩバス、スーパーＨＩＰＰＩバス、ＳｅｒｉａｌＰｌｕｓバス、ＳＣＩ／ＬＡＭＰバス、ＦｉｂｒｅＣｈａｎｎｅｌバス、またはシリアルアタッチド小型コンピュータシステムインターフェースバス等の、システムバス１５０と外部通信バスとの間のブリッジであり得る。
【００７１】
図１Ｂおよび１Ｃで描写される種類のコンピュータデバイス１００は、典型的には、タスクのスケジューリングおよびシステムリソースへのアクセスを制御する、オペレーティングシステムの制御下で動作する。コンピュータデバイス１００は、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムのバージョンのうちのいずれか、Ｕｎｉｘ（登録商標）およびＬｉｎｕｘ（登録商標）オペレーティングシステムの異なるリリース、Ｍａｃｉｎｔｏｓｈコンピュータ用のＭＡＣ  ＯＳの任意のバージョン、任意の組み込みオペレーティングシステム、任意のリアルタイムオペレーティングシステム、任意のオープンソースオペレーティングシステム、任意の専有オペレーティングシステム、移動型コンピュータデバイス用の任意のオペレーティングシステム、またはコンピュータデバイス上で実行し、本明細書で説明される動作を行うことが可能な任意の他のオペレーティングシステム等の任意のオペレーティングシステムを実行することができる。典型的なオペレーティングシステムは、とりわけ、その全てがＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｒｅｄｍｏｎｄ，Ｗａｓｈｉｎｇｔｏｎ）によって製造されている、ＷＩＮＤＯＷＳ（登録商標）  ３．ｘ、ＷＩＮＤＯＷＳ（登録商標）  ９５、ＷＩＮＤＯＷＳ（登録商標）  ９８、  ＷＩＮＤＯＷＳ（登録商標）  ２０００、ＷＩＮＤＯＷＳ（登録商標）  ＮＴ  ３．５１、ＷＩＮＤＯＷＳ（登録商標）  ＮＴ  ４．０、ＷＩＮＤＯＷＳ（登録商標）  ７、ＷＩＮＤＯＷＳ（登録商標）  ＣＥ、ＷＩＮＤＯＷＳ（登録商標）  ＸＰ、およびＷＩＮＤＯＷＳ（登録商標）  ＶＩＳＴＡ、Ａｐｐｌｅ  Ｉｎｃ．（Ｃｕｐｅｒｔｉｎｏ，Ｃａｌｉｆｏｒｎｉａ）によって製造されるＭＡＣ  ＯＳ、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ（Ａｒｍｏｎｋ，Ｎｅｗ  Ｙｏｒｋ）によって製造されるＯＳ／２、Ｃａｌｄｅｒａ  Ｃｏｒｐ．（Ｓａｌｔ  Ｌａｋｅ  Ｃｉｔｙ，Ｕｔａｈ）によって配布される自由に利用可能なオペレーティングシステムであるＬｉｎｕｘ（登録商標）、あるいは任意の種類および／または形態のＵｎｉｘ（登録商標）オペレーティングシステムを含むが、それらに限定されない。
【００７２】
コンピュータデバイス１００は、任意のワークステーション、デスクトップコンピュータ、ラップトップまたはノートブックコンピュータ、サーバ、手持ち式コンピュータ、携帯電話または他の携帯用電気通信デバイス、メディア再生デバイス、ゲームシステム、移動型コンピュータデバイス、あるいは通信が可能であり、本明細書で説明される動作を行うのに十分なプロセッサ能力およびメモリ容量を有する、任意の他の種類および／または形態のコンピュータ、電気通信、またはメディアデバイスであり得る。例えば、コンピュータデバイス１００は、Ａｐｐｌｅ  Ｉｎｃ．（Ｃｕｐｅｒｔｉｎｏ，Ｃａｌｉｆｏｒｎｉａ）によって製造されるＩＰＯＤ群のデバイス、Ｓｏｎｙ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｔｏｋｙｏ，Ｊａｐａｎ）によって製造されるＰＬＡＹＳＴＡＴＩＯＮ  ２、ＰＬＡＹＳＴＡＴＩＯＮ  ３、またはＰＥＲＳＯＮＡＬ  ＰＬＡＹＳＴＡＴＩＯＮ  ＰＯＲＴＡＢＬＥ（ＰＳＰ）デバイス、Ｎｉｎｔｅｎｄｏ  Ｃｏ．，Ｌｔｄ．（Ｋｙｏｔｏ，Ｊａｐａｎ）によって製造されるＮＩＮＴＥＮＤＯ  ＤＳ、ＮＩＮＴＥＮＤＯ  ＧＡＭＥＢＯＹ、ＮＩＮＴＥＮＤＯ  ＧＡＭＥＢＯＹ  ＡＤＶＡＮＣＥＤ、またはＮＩＮＴＥＮＤＯ  ＲＥＶＯＬＵＴＩＯＮデバイス、あるいはＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｒｅｄｍｏｎｄ，Ｗａｓｈｉｎｇｔｏｎ）によって製造されるＸＢＯＸまたはＸＢＯＸ  ３６０デバイスを備え得る。
【００７３】
いくつかの実施形態では、コンピュータデバイス１００は、デバイスと整列する、異なるプロセッサ、オペレーティングシステム、および入力デバイスを有し得る。例えば、一実施形態では、コンピュータデバイス１００は、Ｐａｌｍ，Ｉｎｃ．によって製造されるＴＲＥＯ  １８０、２７０、６００、６５０、６８０、７００ｐ、７００ｗ／ｗｘ、７５０、７５５ｐ、８００ｗ、Ｃｅｎｔｒｏ、またはＰｒｏスマートフォンである。これらの実施形態のうちのいくつかでは、ＴＲＥＯスマートフォンは、ＰａｌｍＯＳオペレーティングシステムの制御下で操作され、スタイラス入力デバイスならびに方向ナビゲータデバイスを含む。
【００７４】
他の実施形態では、コンピュータデバイス１００は、その全てがＭｏｔｏｒｏｌａ  Ｃｏｒｐ．（Ｓｃｈａｕｍｂｕｒｇ，Ｉｌｌｉｎｏｉｓ）によって製造されている、ｉ５５ｓｒ、ｉ５８ｓｒ、ｉ８５ｓ、ｉ８８ｓ、ｉ９０ｃ、ｉ９５ｃｌ、ｉ３３５、ｉ３６５、ｉ５７０、Ｉ５７６、ｉ５８０、ｉ６１５、ｉ７６０、ｉ８３６、ｉ８５０、ｉ８７０、ｉ８８０、ｉ９２０、ｉ９３０、ｉｃ５０２、ｉｃ６０２、ｉｃ９０２、ｉ７７６、またはｉｍ１１００、Ｋｙｏｃｅｒａ（Ｋｙｏｔｏ，Ｊａｐａｎ）によって製造される６０３５または７１３５、あるいはＳａｍｓｕｎｇ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｃｏ．，Ｌｔｄ．（Ｓｅｏｕｌ，Ｋｏｒｅａ）によって製造されるｉ３００またはｉ３３０等の、ＪＡＶＡ（登録商標）使用可能携帯電話または携帯情報端末（ＰＤＡ）等のモバイルデバイスである。いくつかの実施形態では、コンピュータデバイス１００は、Ｎｏｋｉａ（Ｆｉｎｌａｎｄ）によって、またはＳｏｎｙ  Ｅｒｉｃｓｓｏｎ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ＡＢ（Ｌｕｎｄ，Ｓｗｅｄｅｎ）によって製造されるモバイルデバイスである。
【００７５】
なおもさらなる実施形態では、コンピュータデバイス１００は、Ｂｌａｃｋｂｅｒｒｙ  ７１００系、８７００系、７７００系、７２００系、Ｂｌａｃｋｂｅｒｒｙ  ７５２０、Ｂｌａｃｋｂｅｒｒｙ  ＰＥＡＲＬ  ８１００、８７００系、８８００系、Ｂｌａｃｋｂｅｒｒｙ  Ｓｔｏｒｍ、Ｂｌａｃｋｂｅｒｒｙ  Ｂｏｌｄ、Ｂｌａｃｋｂｅｒｒｙ  Ｃｕｒｖｅ  ８９００、およびＢｌａｃｋｂｅｒｒｙ  Ｐｅａｒｌ  Ｆｌｉｐを含む、Ｒｅｓｅａｒｃｈ  Ｉｎ  Ｍｏｔｉｏｎ  Ｌｉｍｉｔｅｄによって製造されるデバイス等のＢｌａｃｋｂｅｒｒｙ手持ち式またはスマートフォンである。さらに他の実施形態では、コンピュータデバイス１００は、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）  Ｍｏｂｉｌｅ  Ｓｏｆｔｗａｒｅをサポートする、スマートフォン、ポケットＰＣ、ポケットＰＣフォン、または他の手持ち式モバイルデバイスである。また、コンピュータデバイス１００は、任意のワークステーション、デスクトップコンピュータ、ラップトップまたはノートブックコンピュータ、サーバ、手持ち式コンピュータ、携帯電話、任意の他のコンピュータ、あるいは通信が可能であり、本明細書で説明される動作を行うのに十分なプロセッサ能力およびメモリ容量を有する、他の形態のコンピュータまたは電気通信デバイスであり得る。
【００７６】
いくつかの実施形態では、コンピュータデバイス１００は、デジタルオーディオプレーヤである。これらの実施形態のうちの１つでは、コンピュータデバイス１００は、Ａｐｐｌｅ  Ｉｎｃ．（Ｃｕｐｅｒｔｉｎｏ，Ｃａｌｉｆｏｒｎｉａ）によって製造される、Ａｐｐｌｅ  ＩＰＯＤ、ＩＰＯＤ  Ｔｏｕｃｈ、ＩＰＯＤ  ＮＡＮＯ、およびＩＰＯＤ  ＳＨＵＦＦＬＥ系列のデバイス等のデジタルオーディオプレーヤである。これらの実施形態のうちの別の１つでは、デジタルオーディオプレーヤは、携帯用メディアプレーヤおよび大容量記憶デバイスの両方として機能し得る。他の実施形態では、コンピュータデバイス１００は、Ｓａｍｓｕｎｇ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ａｍｅｒｉｃａ（Ｒｉｄｇｅｆｉｅｌｄ  Ｐａｒｋ，ＮＪ）によって製造されるＤｉｇｉｔａｌＡｕｄｉｏＰｌａｙｅｒ  Ｓｅｌｅｃｔ  ＭＰ３プレーヤ、あるいはＭｏｔｏｒｏｌａ  Ｉｎｃ．（Ｓｃｈａｕｍｂｕｒｇ，ＩＬ）によって製造されるＭｏｔｏｒｏｌａ  ｍ５００またはｍ２５  Ｄｉｇｉｔａｌ  Ａｕｄｉｏ  Ｐｌａｙｅｒ等のデジタルオーディオプレーヤである。なおも他の実施形態では、コンピュータデバイス１００は、Ｃｒｅａｔｉｖｅ  Ｔｅｃｈｎｏｌｏｇｉｅｓ  Ｌｔｄ．によって製造されるＺｅｎ  Ｖｉｓｉｏｎ  Ｗ、Ｚｅｎ  Ｖｉｓｉｏｎ系、Ｚｅｎ  Ｐｏｒｔａｂｌｅ  Ｍｅｄｉａ  Ｃｅｎｔｅｒデバイス、またはＤｉｇｉｔａｌ  ＭＰ３系列のＭＰ３プレーヤ等の携帯用メディアプレーヤである。さらに他の実施形態では、コンピュータデバイス１００は、ＭＰ３、ＷＡＶ、Ｍ４Ａ／ＡＡＣ、ＷＭＡ保護付きＡＡＣ、ＡＩＦＦ、Ａｕｄｉｂｌｅオーディオブック、Ａｐｐｌｅ  Ｌｏｓｓｌｅｓｓオーディオファイル形式、ならびに．ｍｏｖ、．ｍ４ｖ、および．ｍｐ４  ＭＰＥＧ−４（Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ）ビデオファイル形式を含む、それらに限定されない、ファイル形式をサポートする携帯用メディアプレーヤまたはデジタルオーディオプレーヤである。
【００７７】
いくつかの実施形態では、コンピュータデバイス１００は、デジタルオーディオプレーヤまたは携帯用メディアプレーヤと組み合わせたスマートフォン等のデバイスの組み合わせを備えている。これらの実施形態のうちの１つでは、コンピュータデバイス１００は、Ｍｏｔｏｒｏｌａ  ＲＡＺＲまたはＭｏｔｏｒｏｌａ  ＲＯＫＲ系列の複合デジタルオーディオプレーヤおよびスマートフォンである。これらの実施形態のうちの別の１つでは、コンピュータデバイス１００は、Ａｐｐｌｅ  Ｉｎｃ．（Ｃｕｐｅｒｔｉｎｏ，Ｃａｌｉｆｏｒｎｉａ）によって製造されるｉＰｈｏｎｅ系列のスマートフォンの中のデバイスである。
【００７８】
一実施形態では、コンピュータデバイス１０２ａは、遠隔マシン１０６の機能性をクライアント１０２ｂに提供しながら、遠隔マシン１０６からリソースを要求し得る。そのような実施形態では、コンピュータデバイス１０２ａは、（サーバと呼ばれ得る）遠隔マシン１０６から受信されたデータに対してクライアントと呼ばれ得、コンピュータデバイス１０２ａは、第２のクライアント１０２ｂに対してサーバと呼ばれ得る。別の実施形態では、クライアント１０２は、クライアント１０２のユーザの代わりに遠隔マシン１０６からリソースを要求し得る。
【００７９】
図１Ｄに示されるように、コンピュータデバイス１００は、複数のプロセッサを備え得、命令の同時実行のため、または１つよりも多くのデータについての１つの命令の同時実行のための機能性を提供し得る。いくつかの実施形態では、コンピュータデバイス１００は、１つ以上のコアを伴う並列プロセッサを備え得る。これらの実施形態のうちの１つでは、コンピュータデバイス１００は、単一のグローバルアドレス空間としての全ての利用可能なメモリにアクセスする、複数のプロセッサおよび／またはプロセッサコアを伴う共有メモリ並列デバイスである。これらの実施形態のうちの別の１つでは、コンピュータデバイス１００は、それぞれローカルメモリのみにアクセスする、複数のプロセッサを伴う分散型メモリ並列デバイスである。これらの実施形態のうちのなおも別の１つでは、コンピュータデバイス１００は、共有されるいくらかのメモリ、および特定のプロセッサまたは一部のプロセッサのみによってアクセスすることができるいくらかのメモリの両方を有する。これらの実施形態のうちのなおもさらに別の１つでは、マルチコアマイクロプロセッサ等のコンピュータデバイス１００は、２つ以上の独立プロセッサを、しばしば単一の集積回路（ＩＣ）である、単一のパッケージに組み込む。これらの実施形態のうちのさらに別の１つでは、コンピュータデバイス１００は、ＣＥＬＬ  ＢＲＯＡＤＢＡＮＤ  ＥＮＧＩＮＥアーキテクチャを有し、Ｐｏｗｅｒプロセッサ要素と、複数の相乗的処理要素とを含む、チップを含み、Ｐｏｗｅｒプロセッサ要素および複数の相乗的処理要素は、要素相互接続バスと呼ばれ得る、内部高速バスによってともに連結される。
【００８０】
いくつかの実施形態では、プロセッサは、複数のデータについての単一の命令を同時に実行するための機能性（ＳＩＭＤ）を提供する。他の実施形態では、プロセッサは、複数のデータについての複数の命令を同時に実行するための機能性（ＭＩＭＤ）を提供する。なおも他の実施形態では、プロセッサは、単一のデバイスでＳＩＭＤおよびＭＩＭＤコアの任意の組み合わせを使用し得る。
【００８１】
いくつかの実施形態では、コンピュータデバイス１００は、グラフィックス処理ユニットを備え得る。図１Ｅで描写される、これらの実施形態のうちの１つでは、コンピュータデバイス１００は、少なくとも１つの中央処理ユニット１２１と、少なくとも１つのグラフィックス処理ユニットとを含む。これらの実施形態のうちの別の１つでは、コンピュータデバイス１００は、少なくとも１つの並列処理ユニットと、少なくとも１つのグラフィックス処理ユニットとを含む。これらの実施形態のうちのなおも別の１つでは、コンピュータデバイス１００は、任意の種類の複数の処理ユニットを含み、複数の処理ユニットのうちの１つは、グラフィックス処理ユニットを備えている。
【００８２】
一実施形態では、リソースは、プログラム、アプリケーション、ドキュメント、ファイル、複数のアプリケーション、複数のファイル、実行可能プログラムファイル、デスクトップ環境、コンピュータ環境、またはローカルコンピュータデバイス１０２のユーザに利用可能にされる他のリソースであり得る。リソースは、直接的にローカルコンピュータデバイス１０２上での従来のインストール、アプリケーションストリーミングのための方法を介したローカルコンピュータデバイス１０２への配信、第３のコンピュータデバイス１０６ｂ上でのリソースの実行によって生成され、プレゼンテーション層プロトコルを介してローカルコンピュータデバイス１０２に伝達される出力データのローカルコンピュータデバイス１０２への配信、遠隔コンピュータデバイス１０６上で実行する仮想マシンを介したリソースの実行によって生成される、出力データのローカルコンピュータデバイス１０２への配信、あるいはＵＳＢデバイス等のローカルコンピュータデバイス１０２に接続される可撤性記憶デバイスからの実行、またはローカルコンピュータデバイス１０２上で実行し、出力データを生成する仮想マシンを介した実行を含むが、それらに限定されない、複数のアクセス方法を介して、ローカルコンピュータデバイス１０２に配信され得る。いくつかの実施形態では、ローカルコンピュータデバイス１０２は、リソースの実行によって生成された出力データを別のクライアントコンピュータデバイス１０２ｂに伝送する。
【００８３】
いくつかの実施形態では、ローカルコンピュータデバイス１０２のユーザは、遠隔コンピュータデバイス１０６に接続し、遠隔コンピュータデバイス１０６上で生成される、複数のデータオブジェクトを含む、遠隔デスクトップ環境のローカルバージョンの表示をローカルコンピュータデバイス１０２上で視認する。これらの実施形態のうちの１つでは、少なくとも１つのリソースは、遠隔コンピュータデバイス１０６によって（または第２の遠隔コンピュータデバイス１０６ｂによって）ユーザに提供され、遠隔デスクトップで表示される。しかしながら、選択によって、あるいは方針または技術的要件により、ユーザがローカルコンピュータデバイス１０２上で実行するリソースがあり得る。これらの実施形態のうちの別の１つでは、ローカルコンピュータデバイス１０２のユーザは、別個のマシンによって提供されるリソースの別個のデスクトップ環境の代わりに、ユーザに利用可能なリソースの全てへのアクセスを提供する、統合デスクトップ環境を好む。例えば、ユーザは、複数のグラフィック表示間をナビゲートすることが、紛らわしく、生産的に使用しにくいと感じる場合がある。または、ユーザは、異なるマシンによって提供される別のリソースと併せて、１つのマシンによって提供される１つのアプリケーションによって生成されるデータを使用することを希望し得る。これらの実施形態のうちのなおも別の１つでは、遠隔リソースおよびローカルリソースの表示を統合する遠隔デスクトップ環境と相互作用することによって、リソースの実行、ウィンドウウィング移動、アプリケーション最小化／最大化、ウィンドウのサイズ変更、リソース実行の終了に対する要求が制御され得る。これらの実施形態のうちのさらに別の１つでは、アプリケーション、またはローカルコンピュータデバイス１０２上で実行されるリソース、および遠隔コンピュータデバイス１０６上で実行されるリソースを含む、統合デスクトップ環境を介してアクセス可能である他のリソースが、単一のデスクトップ環境内に示される。
【００８４】
一実施形態では、遠隔コンピュータデバイス１０６からのデータオブジェクトは、ローカルコンピュータデバイス１０２によって生成されるデスクトップ環境に組み込まれる。別の実施形態では、遠隔コンピュータデバイス１０６は、統合デスクトップを維持する。なおも別の実施形態では、ローカルコンピュータデバイス１０２は、統合デスクトップを維持する。
【００８５】
いくつかの実施形態では、単一の遠隔デスクトップ環境２０４が表示される。これらの実施形態のうちの１つでは、遠隔デスクトップ環境２０４は、フルスクリーンデスクトップとして表示される。他の実施形態では、複数の遠隔デスクトップ環境２０４が表示される。これらの実施形態のうちの１つでは、遠隔デスクトップ環境のうちの１つ以上は、１つ以上の表示デバイス１２４上に非フルスクリーンモードで表示される。これらの実施形態のうちの別の１つでは、遠隔デスクトップ環境は、個々の表示デバイス上にフルスクリーンモードで表示される。これらの実施形態のうちのなおも別の１つでは、遠隔デスクトップ環境のうちの１つ以上は、１つ以上の表示デバイス１２４上にフルスクリーンモードで表示される。
【００８６】
（Ｂ．複数の製品設計アプリケーションとともに共通データモデルを使用し、管理するためのシステムおよび方法）
製品設計は、典型的には、設計概念から完成した製品への開発の間に、多くの異なるアプリケーションを使用する、多くのユーザおよび設計者を伴う。図２Ａを簡潔に参照すると、２つの概念エンドポイント間の設計フローの実施形態のブロック図が示されている。エンタープライズリソースプラニング（ＥＲＰ）アプリケーション、製品ライフサイクル管理（ＰＬＭ）アプリケーション、幾何学形状を編集する直接モデリングコンピュータ支援設計（ＣＡＤ）アプリケーションまたはパラメトリックモデリングＣＡＤアプリケーション、あるいは製品アセンブリアプリケーション等の異なるアプリケーションが、設計から製品へと移動する際に種々の点で使用され得る。異なるアプリケーションは、所望の機能性に応じて使用され、使用しやすさ、能力、複雑性、学習曲線、および種々の形式で情報を表示する能力においてトレードオフを有する。
【００８７】
依然として図２Ａを参照すると、種々のステップがアプリケーションのユーザによって講じられ得、修正されるにつれて、設計が種々のバージョン（ａ１−ａ３、ｐ１−ｐ３、ｅ１−ｅ３、ｇ１−ｇ３）を通過するように、修正が設計に行われ得る。設計の経過中に使用される設計および製品の２つの概念エンドポイント間の経路のセットは、製品またはモデルのデータのサブセットであり得る「情報項目」を表し得る。例えば、図２Ｂを簡潔に参照すると、パラメトリックモデリングＣＡＤアプリケーション２０２（以下でさらに詳細に論議される）のユーザは、１つ以上の変化例（ｇ１−ｇ３）を通過する、モデルの幾何学形状データを修正し得る。同様に、可視化アプリケーション２１６（同様に以下でさらに詳細に論議される）のユーザは、１つ以上の変化例（ｇｒ１−ｇｒ３）を通過する、モデルのグラフィックスデータを修正し得る。
【００８８】
インポートされ、エクスポートされ、各アプリケーション間で変換される、別個のデータモデルおよびオブジェクトを使用する時に、設計履歴および意図に関する情報が失われる場合がある。加えて、複数のユーザがモデルに対して作業するにつれて、どのデータのサブセットのどのバージョンが最新であるか、または設計プロセスの中の同等の段階にあるかという指示を伴わずに、多くの異なるバージョンが作成され得る。例えば、設計者は、モデルの幾何学形状を生成し、分析のためにエンジニアに、および潜在顧客のフィードバックを得るために販売員にモデルを伝えて、モデルの３つの異なるバージョンを作成し得る（ＣＡＤモデラによって使用可能な形式の１つのバージョン、工学的分析プログラムによって使用可能な形式の１つのバージョン、ならびに可視化および注釈アプリケーションによって使用可能な形式の１つのバージョン）。販売員は、モデルに注釈を付けて、第４のバージョンを作成し、注釈付きのモデルを設計者によって使用可能な形式に再びエクスポートして、第５のバージョンを作成し得る。エンジニアは、工学的標準に従うようにモデルに種々の修正を行って、第６のバージョンを作成し得る。次いで、エンジニアが、この標準準拠バージョンを視認および注釈のために販売員によって使用可能な形式にエクスポートする場合、モデルの多くの異なるバージョンが迅速に存在することができ、取り組まれ、渡されているモデルが「最新」であることを確実にするために、組織の中で慎重な管理作業を必要とする。
【００８９】
整合性管理のための１つの解決策は、オブジェクトが変換される必要がないように、アプリケーション間で共通データモデルを使用することである。さらなる解決策は、幾何学形状データおよびグラフィックス等の製品モデルの種々の側面を対象とした複数のオブジェクトのサブパーツまたは「チャプタ」を含むことである。以下でさらに詳細に論議される、この解決策の実施形態では、アプリケーションが同じ製品モデルのサブパーツに対して作業することができるため、共通データモデルを使用する製品モデルは、複数のアプリケーションの間で渡され、同期化される必要がない。図２Ｃには、共通データモデルのサブパーツに対する変更を識別し、記憶することの実施形態のブロック図が示されている。概観すると、幾何学形状またはアセンブリ情報等の製品モデルの各情報項目または側面は、識別子またはＩＤのセットを含む。ＩＤは、１つ以上のアプリケーションによって行われる情報項目に対する変更の経路またはセットを表す。いくつかの実施形態では、ＩＤは、多くのアプリケーションによって共有または修正することができる。アプリケーションは、ＩＤを挿入または削除することによって、情報項目を修正し得る。いくつかの実施形態では、各ＩＤまたはＩＤのサブパーツは、情報項目のバージョンに対応し、完全なデータのセット、あるいは以前のバージョンからの差分または異なるセットを含み得る、バージョンを表すデータに対応し得、またはそれに関連付けられ得る。
【００９０】
上述のように、図２Ｂを再び簡潔に参照すると、ＩＤは、複数のアプリケーションによって共有され得る。例えば、一実施形態では、パラメトリックモデリングＣＡＤアプリケーション２０２は、可視化アプリケーション２１６とＩＤを共有し得る。これは、例えば、モデルのグラフィックスと幾何学形状データとの間の関係、または幾何学形状データへのグラフィックスデータの従属性により、行われ得る。
【００９１】
図２Ｄは、共通データモデル２２０を使用した、アプリケーション一式の実施形態のブロック図である。概観すると、アプリケーション一式は、全て共通データモデル２２０を使用し得る、直接モデリングＣＡＤアプリケーション２００、パラメトリックモデリングＣＡＤアプリケーション２０２、工学的分析アプリケーション２０４、構成構築アプリケーション２０６、構成モデリングアプリケーション２０８、アセンブリモデリングアプリケーション２１０、２次元または２Ｄ概念アプリケーション２１２、および可視化アプリケーション２１４のうちのいくつか、または全てを含み得る。
【００９２】
依然として図２Ｄをさらに詳細に参照すると、いくつかの実施形態では、アプリケーション一式は、直接モデリングＣＡＤアプリケーション２００を含み得る。一実施形態では、直接モデリングＣＡＤアプリケーション２００は、モデルの幾何学的データの直接操作のためのプログラム、アプリケーション、サービス、または実行可能コードを備え得る。したがって、エンジニアは、設計意図および要素の連合を考慮する必要がない。これは、カスタムまたは１個限りの製品の急速開発サイクルおよび迅速な作成、ならびに非常に大型の高度に詳細なアセンブリの構築を可能にし得る。本明細書では直接モデリングと呼ばれているが、この技法は、明示的モデリングと呼ばれることもある。当業者であれば、使用される用語にかかわらず、直接または明示的モデリングは、設計意図、履歴、および連合関係にとらわれない、またはそれらを知らない、幾何学形状の直接操作のための幾何学形状ベースのパラダイムであると理解できるであろう。直接モデリングは、間接設計操作と呼ばれることもある、幾何学的形状を編集するためにダイアログボックスにデータを入力することとは対照的に、幾何学的形状を手動で押す、引く、または修正することを指す、直接設計操作と混同されるべきではない。したがって、直接設計操作および間接またはダイアログボックス設計操作が、ユーザインターフェースにデータを入力する方法を指す一方で、したがって、直接または明示的モデリングおよびパラメトリックモデリングは、モデリングパラダイムを指す。
【００９３】
いくつかの実施形態では、アプリケーション一式は、パラメトリックモデリングＣＡＤアプリケーション２０２を含み得る。一実施形態では、直接モデリングＣＡＤアプリケーション２００は、モデルの幾何学的データの特徴ベースの操作のためのプログラム、アプリケーション、サービス、または実行可能コードを備え得る。連合パラメトリックモデリング、特徴ベースのモデリング、または履歴ベースのモデリングと呼ばれることもある、パラメトリックモデリングでは、幾何学形状が、２ステッププロセスを通して作成される。ユーザは、押出し、穴、切断、隅肉、面取り、丸、およびその他を含む、特徴構築の使用を通して、幾何学形状構築レシピを定義する。パラメトリック幾何学形状エンジンは、これらのレシピを解釈し、モデリングおよび／または表示エンジンによる表示のためにモデルの幾何学形状を作成する。これらのレシピは、時には特徴履歴と呼ばれ得、モデル化オブジェクトが設計されるにつれて、最終モデル化オブジェクトをモデル化する際に利用される特徴の一連の異なる組み合わせを備え得る。
【００９４】
直接モデリングと違って、パラメトリックモデリングが動作の順序または履歴を記憶するため、特徴間の関係が定義され得る。したがって、レシピの中の特徴の順序を変更することは、要素作成の順序が無関係である直接モデリングと違って、モデルに劇的な影響を及ぼす場合がある。しかしながら、このアプローチは、ユーザが命令リストの中の初期の特徴を編集することを可能にし、幾何学形状エンジンは、モデルを通して影響を再計算する。例えば、パラメトリックＣＡＤモデラでは、ユーザが押出しプレートを作成し、プレートの軸の中間点上に中心を置くように穴を定義し、後にプレートの寸法を変更する場合、幾何学形状エンジンは、中間点上に中心を置いたままとなるように穴を移動させ得る。しかしながら、直接ＣＡＤモデラでは、穴を配置した後にプレートの面を伸張することにより、穴を移動させず、中心から外れて位置させる場合がある。
【００９５】
いくつかの実施形態では、アプリケーション一式は、工学的分析アプリケーション２０４を含み得る。一実施形態では、工学的分析アプリケーション２００は、基礎的ＣＡＤ幾何学形状にマップされた、線形静的、モード、座屈、接触、および定常状態熱分析を含む、分析をモデルに行うためのプログラム、アプリケーション、サービス、または実行可能コードを備え得る。例えば、一実施形態では、工学的分析アプリケーション２００のユーザが、３次元モデルの質量または重心を決定し得る。
【００９６】
いくつかの実施形態では、アプリケーション一式は、構成構築アプリケーション２０６を含み得る。一実施形態では、構成構築アプリケーション２０６は、プロジェクト提案、概念および市場要件、部品表（ＢＯＭ）変更、設計フィードバック、カスタマイズオプション、バリアント選択、または他の製品構成情報を作成、解釈、および／または修正するためのプログラム、アプリケーション、サービス、または実行可能コードを備え得る。いくつかの実施形態では、構成構築アプリケーション２０６は、構成要素オブジェクトが、最終製品を生産するための単純または精巧な構造に組み込まれることを可能にし得る。一実施形態では、構成構築アプリケーション２０６は、製品開発システム（ＰＤＳ）の一部を備え得る。
【００９７】
いくつかの実施形態では、アプリケーション一式は、構成モデリングアプリケーション２０８を含み得る。一実施形態では、構成モデリングアプリケーション２０８は、製品設計のカスタム構成の可視化およびモックアップを行うためのプログラム、アプリケーション、サービス、または実行可能コードを備え得る。いくつかの実施形態では、構成モデリングアプリケーション２０８は、部品表、費用提案、文書化、または製品の選択された構成に関する他の情報を出力するための機能性を備え得る。
【００９８】
いくつかの実施形態では、アプリケーション一式は、アセンブリモデリングアプリケーション２０８を含み得る。一実施形態では、アセンブリモデリングアプリケーション２０８は、製品の複数のモデル化オブジェクトの仮想アセンブリを可視化し、分析するためのプログラム、アプリケーション、サービス、または実行可能コードを備え得る。例えば、一実施形態では、ユーザは、携帯電話の裏板、面板、キーパッド、画面、アンテナ、バッテリ、および内部回路基板等の製品の種々の部品が、どのようにして一緒に嵌め合うかを調査するために、アセンブリモデリングアプリケーション２０８を使用し得る。いくつかの実施形態では、ユーザは、製品内の個々の構成要素を表す複数のＣＡＤファイルとともに、アセンブリモデリングアプリケーションを使用し得る。一実施形態では、アセンブリモデリングアプリケーションは、モデルのシェルまたは外面等の処理の速度および効率のために、ＣＡＤモデルの削減された一部のデータをユーザに提示し得る。いくつかの実施形態では、アセンブリモデリングアプリケーションは、製品モデルの部品の絶対または相対的位置付け情報を利用し得、あるいは制約に応答して構成要素を位置付け得る。例えば、１つのそのような実施形態では、面板上のネジ穴は、裏板上の対応するネジ穴に隣接し、かつそれと軸方向に整列させられるように制約され得る。
【００９９】
いくつかの実施形態では、アプリケーション一式は、２次元（２−Ｄまたは２Ｄと様々に呼ばれる）概念アプリケーション２１２を含み得る。一実施形態では、２次元概念アプリケーション２１２は、２次元設計またはスケッチの作成、分析、および修正のためのプログラム、アプリケーション、サービス、または実行可能コードを備え得る。いくつかの実施形態では、ユーザは、製品の平面を設計するために、２次元概念アプリケーション２１２を使用し得る。次いで、結果として生じる２次元モデルは、直接モデリングＣＡＤアプリケーション２００またはパラメトリックモデリングＣＡＤアプリケーション２０２等の３次元モデラに組み込まれ、３次元に押し出され、または引き出され得る。
【０１００】
いくつかの実施形態では、アプリケーション一式は、可視化アプリケーション２１４を含み得る。一実施形態では、可視化アプリケーション２１４は、ＣＡＤモデルを可視化し、注釈を付け、操作するためのプログラム、アプリケーション、サービス、または実行可能コードを備え得る。多くの実施形態では、可視化アプリケーション２１４は、マネージャが、電気ＣＡＤ（ＥＣＡＤ）アプリケーションにおいて電気技師によって作成されるモデルの部品、および機械ＣＡＤ（ＭＣＡＤ）アプリケーションにおいて機械技師によって作成されるものを、これらのアプリケーションの異なる能力にかかわらず、視認することを可能にし得る。可視化アプリケーションは、大型の複雑なアセンブリおよびモデルを視認するための機能性を提供し得る。可視化アプリケーションがパラメトリック再生を行っていないため、必要処理が削減され、したがって、より大型かつ複雑なモデルが表示され、操作され得る。多くの実施形態では、可視化アプリケーション２１４は、動的または動画モデルを表示するための機能性を備え得る。
【０１０１】
いくつかの実施形態では、アプリケーション一式の中の各アプリケーション２００−２１４は、共通データモデル２２０を利用し得る。以下でさらに詳細に論議される、一実施形態では、共通データモデル２２０は、２Ｄおよび３Ｄ幾何学形状データ、分析データ、材料選択、テクスチャ、および塗料オプションを含む外観データ、および構成要素配置データを含む、上記で論議されるような１つ以上の情報項目を含み得る。いくつかの実施形態では、これらの１つ以上の情報項目は、チャプタと呼ばれ得、チャプタ基準で異なるアプリケーションに提示され、または異なるアプリケーションによって修正され得る。
【０１０２】
異なるアプリケーションにおいて複数のユーザによって同時に修正されるにつれて、共通データモデルオブジェクトに対する修正を同期させることは、製品設計の開発を管理することにとって重要であり得る。上記で論議されるように、典型的には、ユーザが現在のモデルに対して作業することを確実にするために、詳細な管理作業が必要とされる。これは不十分であり、エラーがバージョンの見落としをもたらす場合がある。しかしながら、開発中に、製品設計が、概念的設計から最終製品までのいくつかの明確に異なる段階を通過することが観察され得る。これらの段階は、設計、プロトタイピング、分析、再設計、アルファまたはベータ試験、構成要素製造、および組立を含み得る。各段階中に、複数のユーザが、異なる変動をモデルに行い得る。しかしながら、典型的には、各段階は、次の段階が始まり得る前に完了しなければならない。例えば、少なくとも設計という第１の段階が完了するまで、プロトタイプを構築することはできない。したがって、各段階の開始時に、共通データモデルオブジェクトの異なるチャプタは、同期化されている、または同等であるといわれ得る。さらに、各段階とともに、異なる副段階が同じモデルで認識され得る。したがって、共通データモデルの異なるチャプタは、全ての変動が製品開発の同等段階にある場合に同期化されているといわれ得る。
【０１０３】
図２Ｅを参照すると、共通データモデルの中の複数の情報項目の同期化を管理することの実施形態のシーケンス図が示されている。概観すると、モデルは、複数の情報項目（ＡおよびＢ）を含み得る。モデルが設計から最終製品へと進むにつれて、種々のアプリケーションにおいて設計の中のチャプタおよび情報項目に対する修正が行われる。これらの修正におけるある段階で、情報項目Ａは、ｉおよびｊ、ｋおよびｌ、ならびにｍおよびｎ等、情報項目Ｂと整合し得る。これらは、情報項目バージョンの互換性のあるセットを表す、同等線と呼ばれ得る。
【０１０４】
ここで図２Ｆを参照すると、共通データモデルの中の複数の情報項目の同期化を管理することの実施形態の実施例のシーケンス図が示されている。示される実施例では、モデルは、最初に、第１の同等線上の幾何学形状ｉおよびグラフィックスｊと整合状態にある。ユーザは、幾何学形状データに修正を行い、グラフィックスｊともはや整合していない、または互換性がない、幾何学形状ｋへと移動する。ユーザは、幾何学形状データに別の修正を行い、幾何学形状ｌへと移動する。幾何学形状データに対する修正、または幾何学形状が第２の同等線に合致する所定の段階に達したというユーザからの指示のいずれか一方に応答して、システム、ユーザ、または別のユーザのいずれか一方が、幾何学形状ｌと整合した新しいグラフィックスデータｍを更新または生成する。モデルは再度、第２の同等線上で整合状態にある。
【０１０５】
いくつかの実施形態では、アプリケーション一式の１つ以上のアプリケーションが、同等線を作成し得る。例えば、１つのそのような実施形態では、直接またはパラメトリックモデリングＣＡＤアプリケーションが、幾何学形状データを修正し、新しい同等線を作成し得る。新しい同等線に応答して、製品可視化アプリケーションまたは工学的分析アプリケーション等の他のアプリケーションが、モデルの中で整合状態に達するように、新しい同等線における幾何学形状データに従って、グラフィックスまたは分析データを更新または再生し得る。いくつかの実施形態では、ベータ試験またはプロトタイピング等の所定の状態にモデルが達することによって、あるいは共通データモデルオブジェクトのチャプタを同期化するコマンド等のユーザからのコマンドに応答して、同等線が作成され得る。他の実施形態では、周期的に、あるいはプログラムを保存または仕上げることに応答して、あるいはモデルへの実質的な変更に応答して、同等線が作成され得る。
【０１０６】
図２Ｇは、共通データモデルの使用および同期化を管理するためのフレームワークのブロック図である。概観すると、いくつかの実施形態では、フレームワークは、データサービス２３０、ＩＤサービス２３２、辞書サービス２３４、同期化および通知サービス２３６、データチャプタ２３８、および辞書２４０のうちの１つ以上を備え、製品開発アプリケーション一式のうちの１つ以上の製品開発アプリケーション２００−２１４と通信し得る。
【０１０７】
依然として図２Ｇをさらに詳細に参照すると、いくつかの実施形態では、データサービス２３０は、１つ以上のアプリケーションまたは他のサービスによって、共通データモデルオブジェクトの１つ以上のチャプタ２３８へのアクセスを変換および管理するためのライブラリ、アプリケーションプログラミングインターフェース（ＡＰＩ）、サービス、論理、または実行可能コードを備え得る。いくつかの実施形態では、データサービスは、オブジェクトに関連付けられる共通データモデルのヘッダまたはデータを管理、作成、または修正し得る。一実施形態では、各チャプタは、チャプタおよびオブジェクトの整合性を維持するための関係型データベース、ファイル、ＸＭＬファイル、レジストリ、ライブラリ、またはＩＤのリストを備え得る、ヘッダまたは「目次」を含み得る。別の実施形態では、各チャプタは、幾何学形状データまたはグラフィックスデータ等のオブジェクトのチャプタ特定のデータを有する本体を含み得る。
【０１０８】
いくつかの実施形態では、ＩＤサービス２３２は、ＩＤを作成および管理するためのライブラリ、ＡＰＩ、サービス、論理、または実行可能コードを備え得る。上記で論議されるように、いくつかの実施形態では、アプリケーションは、オブジェクトのＩＤセットの中のＩＤを作成または修正することによって、チャプタまたはオブジェクトに対する修正について他のアプリケーションに知らせ得る。一実施形態では、ＩＤサービス２３２は、これらのＩＤを作成および修正するためのＡＰＩを備えている。
【０１０９】
いくつかの実施形態では、辞書サービス２３４は、辞書２４０、ならびに情報項目および同等線を管理するためのライブラリ、ＡＰＩ、サービス、論理、または実行可能コードを備え得る。一実施形態では、辞書サービス２３４は、拡張可能な共通辞書用のＡＰＩを備え得、グラフィックスおよび幾何学形状等の情報項目の種類の定義、および同等線を作成するアプリケーションの定義を管理し得る。例えば、上記で論議されるように、パラメトリックＣＡＤモデリングアプリケーションは、オブジェクトの特徴を修正し、オブジェクトを新しい状態またはバージョンに変え得る。これは、新しい同等線を作成し得、他の情報項目に対して対応および整合するデータまたは同等のデータを生成するように、他のアプリケーションに命令または指図し得る。
【０１１０】
いくつかの実施形態では、チャプタ２３８および辞書２４０は、ラ集中共通記憶装置、クラウドベースの記憶装置、または他のネットワーク記憶装置等のコンピュータデバイス上にある、またはコンピュータデバイスによってアクセス可能な記憶デバイスの中に記憶されたイブラリ、データベース、フラットファイル、レジストリ、あるいは任意の他の種類および形態のデータを備え得る。上記で論議されるように、１つ以上のチャプタ２３８が、オブジェクトを構成し得、それら自体が、識別子のヘッダまたは目次、および情報項目またはデータの本体を含み得る。辞書２４０は、拡張可能な共通辞書を備え得、グラフィックスおよび幾何学形状等の情報項目の種類の定義、および同等線を作成するアプリケーションの定義を備え得る。
【０１１１】
図３Ａは、複数のアプリケーションによる共通データモデルの異なるチャプタの利用の比較図である。概観すると、一実施形態では、部品、アセンブリ、図面、２Ｄ概念図、および可視化モデル等の異なる共通データモデルオブジェクト３００は、異なる共通データモデルチャプタ３０２を含み得る。当業者であれば、いくつかのオブジェクトが全てのチャプタ３０２を必要としないことを容易に理解し得る。例えば、単純な２次元スケッチとして、２Ｄ概念図は、幾何学形状データおよび注釈データの両方を利用し得るが、分析データは、平面よりもむしろ固体を表すための第３次元がないと無意味であり得る。
【０１１２】
図３Ａに示される実施形態では、ＣＤＭ部品オブジェクトは、幾何学形状、分析、外観、および注釈チャプタを含み得る。ＣＤＭアセンブリオブジェクトはさらに、構成要素配置チャプタを含み得る。５つだけの異なるチャプタ３０２が実施例で示されているが、多くの実施形態では、上記で論議される拡張可能な辞書の利点として、情報項目のさらなるチャプタが任意のオブジェクトに含まれ得る。
【０１１３】
示されるように、多くの実施形態では、異なるアプリケーション２００−２１４は、異なるオブジェクト３００の異なるチャプタ３０２を読み出し得る。例えば、上記で論議されるように、工学的分析アプリケーション２０４が２次元表面の工学データを分析することは無意味であり得る。同様に、２Ｄ概念アプリケーション２１２は、３次元モデル、アセンブリ、図面、および部品と適正に相互作用するのに十分なツールを欠く場合がある。
【０１１４】
図３Ａは、オブジェクトごとの基準で、代替的な図で表示され得る。例えば、図３Ｂ−３Ｅは、複数のアプリケーションによる共通データモデルの異なるチャプタとの相互作用の実施例の実施形態のコンテキスト図である。概観すると、図３Ｂ−３Ｅのうちのそれぞれは、同じＣＤＭオブジェクト３００に作用する、異なるアプリケーションを図示する。例えば、図３Ｂは、全て共通データモデルアセンブリオブジェクトと相互作用する、直接モデリングアプリケーション２００、パラメトリックモデリングアプリケーション２０２、工学的分析アプリケーション２０４、構成構築アプリケーション２０６、構成モデリングアプリケーション２０８、アセンブリモデリングアプリケーション２１０、および製品可視化アプリケーション２１４を描写する。同様に、図３Ｃは、共通データモデル部品オブジェクトと相互作用するアプリケーションを描写し、図３Ｄは、共通データモデル図面オブジェクトと相互作用するアプリケーションを描写し、図３Ｅは、共通データモデル概念図オブジェクトと相互作用するアプリケーションを描写する。
【０１１５】
ここで図４を参照すると、本明細書では変更命令と呼ばれることもある、共通データモデルチャプタの情報項目に対する変更の経路またはセットを表す、ＩＤの実施形態のブロック図が示されている。いくつかの実施形態では、変更命令は、コンテナ４００、ネームスペース４０２、生産情報４０４、分岐４０６、製品項目バージョン４０８、トランザクション４１０、範囲４１２、および整合性フラグ４１４のうちの１つ以上の識別子を含み得る。上記で論議されるように、幾何学形状またはセンブリ情報等の製品モデルの各情報項目または側面は、識別子またはＩＤのセットを含み得る。ＩＤは、１つ以上のアプリケーションによって行われる情報項目に対する変更の経路またはセットを表す。いくつかの実施形態では、変更命令またはＩＤは、多くのアプリケーションによって共有または修正することができる。アプリケーションは、ＩＤを挿入または削除することによって情報項目を修正し得る。
【０１１６】
依然として図４をさらに詳細に参照すると、一実施形態では、変更命令は、コンテナＩＤ４００を含み得る。コンテナＩＤ４００は、フォルダまたは記憶場所等の情報項目の物理的コンテナを識別する、識別子、アドレス、ポインタ、または同様の表現を備え得る。
【０１１７】
いくつかの実施形態では、変更命令は、ネームスペース４０２を含み得る。ネームスペース４０２は、その下で情報項目が一意的と見なされる、ドメインの識別子、文字列、または他の同様の表現を備え得る。
【０１１８】
一実施形態では、変更命令は、製品情報（ＰＩ）４０４の識別子を含み得る。製品情報４０４は、商号または情報項目の意図の文字列、識別子、または他のデータ表現を備え得る。
【０１１９】
いくつかの実施形態では、変更命令は、分岐４０６の識別子を含み得る。分岐４０６は、文字列、識別子、インデックス、ポインタ、アドレス、親子関係識別子、または情報項目のバリアントの記述子の他のデータ形式を備え得る。
【０１２０】
一実施形態では、変更命令は、製品項目バージョン（ＰＩＶ）識別子４０８を備え得る。ＰＩＶ識別子４０８は、上記で論議されるように、情報項目の特定のバージョンを識別する、文字列、識別子、または他のデータ表現を備え得る。
【０１２１】
一実施形態では、変更命令は、トランザクション識別子４１０を備え得る。トランザクション識別子４１０は、変更命令を作成させた１つ以上のアクションを識別し得る。いくつかの実施形態では、トランザクション識別子４１０は、文字列、インデックス、リスト、ベクトル、またはデータファイルを備え得、トランザクションが発生した時間、トランザクションを行った、または変更命令を作成したアプリケーション、およびトランザクションを行う際のユーザの設計意図のうちの１つ以上を含み得る。そのような設計意図は、ユーザによって明示的に設定され得、またはユーザによって作成される１つ以上の制約を参照する等して、暗示的に決定され得る。
【０１２２】
一実施形態では、変更命令は、範囲識別子４１２を備え得る。範囲識別子４１２は、変更命令が内部、共有、または外部であるかどうかを示すように、指標、文字列、フラグ、ビットマスク、または他のデータ表現を備え得る。一実施形態では、変更命令は、他のコンピュータデバイスおよび／または同じ他のコンピュータデバイス上の他のＣＡＤアプリケーションと共有され得る。例えば、媒介物、サーバ、または中央レポジトリとしての機能を果たす、別のコンピュータデバイスが、情報項目に対する変更を同期化するために使用され得る。変更命令の作成を通した変更の通知が、この媒介物に伝送され得、他のＣＡＤアプリケーションおよび／またはコンピュータデバイスが、変更に関する情報を要求し得る。一実施形態では、サーバ上で実行する通知サービスから他のＣＡＤアプリケーションに伝送される通知に応答して、そのような要求が行われ得る。
【０１２３】
別の実施形態では、範囲識別子４１２は、元の設計を回復する能力を保持しながら、ユーザが異なる設計変更を試すことを可能にするように内部に設定され得る。例えば、一実施形態では、１つのＣＡＤオブジェクトに行われた修正が、システムに他の従属オブジェクトを再生または再計算させるように、ユーザは、モデルの中の複数の相関ＣＡＤオブジェクトの１つまたは多くのＣＡＤオブジェクトを修正させ得る。従来の取り消しサポートは、典型的には、再生または再計算により、そのような実施形態では利用可能ではなく、取り消しは、再生をトリガした初期修正よりもむしろ、そのような再生の最後のステップのみを取り消し得る。本明細書では相関ＣＡＤオブジェクトと呼ばれるが、多くの実施形態では、これらのオブジェクトは、１つのＣＡＤオブジェクトに行われた修正が、システムに他の従属オブジェクトを再生または再計算させることを示すように、限定するものではないが、相互従属、連合、再生的連合、関係、従属、または種々の他の用語で呼ばれ得る。
【０１２４】
結果として、一実施形態では、モデルに対する修正を他のＣＡＤアプリケーションに通知するための同じシステムが、アプリケーションの中で内部に変更の履歴を保持するために使用され得る。各修正とともに、ＣＡＤアプリケーションは、修正を表す内部変更命令を記録し得る。加えて、一実施形態では、ＣＡＤアプリケーションは、最初に、モデルの開始状態の一時的コピーを作り得る。したがって、各内部変更命令は、以前の修正からの差分または差異を表し得、内部変更命令の全ての合計は、第１の同等線上のモデルの第１の整合状態（例えば、一時的コピー）から第２の同等線上のモデルの第２の状態への修正を表し得る。変更命令が内部である間に、ユーザは、それらを前後に進めて、設計の任意の中間であるが整合した状態に戻すように中間修正のうちの１つ以上を非適用または適用し得る。いったんユーザが設計変更を最終として容認すると、一実施形態では、ＣＡＤアプリケーションは、変更命令を単一の共有または外部変更命令に合併し得る。他の実施形態では、ＣＡＤアプリケーションは、共有または外部変更命令になるように単に変更命令を修正し得る。次いで、ＣＡＤアプリケーションは、変更命令を中央サーバまたは媒介物、あるいは他のコンピュータデバイスおよび／またはＣＡＤアプリケーションに伝送し得る。一実施形態では、ＣＡＤアプリケーションは、モデルの開始状態の一時的コピーを破棄し得る。
【０１２５】
いくつかの実施形態では、変更命令は、整合性フラグ４１４を備え得る。整合性フラグ４１４は、チャプタまたはオブジェクトの共有ＩＤが整合状態または非整合状態にあるかどうかを示すことを表す、フラグ、文字列、ビットマスク、値、所定のビット、または他のデータを備え得る。例えば、一実施形態では、アプリケーションは、新しい同等線が作成されたことを示すように変更命令を作成し得、変更命令は、オブジェクトまたはモデルが非整合状態にあることを示すフラグを含み得る。いったん全ての他の情報項目が整合状態に更新されると、いくつかの実施形態では、フラグは、オブジェクトまたはモデルが整合状態にあることを示すように設定され得る。なおも他の実施形態では、図２Ｆを簡潔に再び参照すると、アプリケーションは、幾何学形状項目ｋ等の同等線上にない非整合状態を示すように設定された整合性フラグを伴って変更命令を作成し得る。他のアプリケーションは、この変更命令に応答して、他の情報項目を更新または再生する必要がない。アプリケーションが、幾何学形状項目ｍ等の整合状態を示すように設定された整合性フラグを伴って別の変更命令を作成する時に、次いで、他のアプリケーションは、新しい同等線に達するように、グラフィックス項目ｎ等の他の情報項目を再生し得る。
【０１２６】
ここで図５Ａを参照すると、オブジェクトライフサイクルの中の複数の所定の状態のうちの１つで、コンピュータ支援設計データモデルの複数の情報項目の同期化を管理する方法の実施形態のフローチャートが示されている。概観すると、ステップ５００で、ユーザが、第１の情報項目を第１の状態から第２の状態に更新し得る。ステップ５０２で、ユーザが、第１の情報項目を第２の状態から第３の状態に更新し得る。ステップ５０４で、第２のユーザが、第２の情報項目を、第１の状態に対応する、または同等である第４の状態から、第３の状態に対応する、または同等である第５の状態に更新し得る。
【０１２７】
依然として図５Ａを詳細に参照すると、一実施形態では、ステップ５００で、第１のコンピュータデバイスのプロセッサによって実行される第１のアプリケーションの第１のユーザが、共有ＣＡＤデータモデルの第１の情報項目を第１の状態から第２の状態に更新し得る。一実施形態では、第１の状態は、オブジェクトライフサイクルにおける第１の状態に対応し得る。例えば、１つのそのような実施形態では、第１の状態は、設計、プロトタイピング、試験、または製造という初期段階、あるいは製品開発の任意の他の段階に対応し得、あるいはこれらの段階のうちの１つの一部、または製品開発の任意の他の段階に対応し得る。いくつかの実施形態では、情報項目を更新することは、共有ＣＡＤデータモデルの幾何学形状データまたはグラフィックスデータを修正すること等の情報項目の側面を修正することを含み得る。他の実施形態では、情報項目を更新することは、モデルの新しい部分を作成することを含み得る。一実施形態では、第１の情報項目を更新することは、上記で論議されるように、変更命令またはＩＤの作成を開始する。該変更命令は、ＣＡＤアプリケーションまたは他のアプリケーションが、情報項目を更新された第１の情報項目に対する同等または対応状態に更新することを可能にする命令を含み得る。いくつかの実施形態では、変更命令が、第２のＣＡＤアプリケーションを伴う第２のユーザによって使用される第２のコンピュータデバイス等の別のコンピュータデバイスに伝送され得る一方で、他の実施形態では、変更命令は、概して媒介物と呼ばれる、サーバ、媒介物、または中央レポジトリに伝送され得る。該媒介物は、第１のユーザのアクションが変更命令を作成したことを１つ以上の他のコンピュータデバイスの１人以上の他のユーザに伝えるための通知サービスを含み得る。さらなる実施形態では、該通知の受信時に、第２のユーザまたは第２のコンピュータデバイスは、媒介物から変更命令を要求し得る。一実施形態では、変更命令は、上記で論議されるように、情報項目が現在非整合状態にある、または同等線に対応しない状態にあることを示すように、所定の値に設定されたフラグを備え得る。さらなる実施形態では、情報項目が非整合状態にあることを示すように設定されたフラグを伴う変更命令の受信は、他のコンピュータデバイスまたはユーザに他の情報項目を更新させなくてもよい。
【０１２８】
ステップ５０２で、いくつかの実施形態では、第１のユーザが、第１の情報項目を第２の状態から第３の状態に更新し得る。一実施形態では、第３の状態は、設計、プロトタイピング、試験、または製造という初期段階、あるいは製品開発の任意の他の段階等のオブジェクトライフサイクルにおける第２の状態に対応し得、あるいはこれらの段階のうちの１つの一部、または製品開発の任意の他の段階に対応し得る。いくつかの実施形態では、第１の情報項目を第３の状態に更新することは、上記で論議されるように、第２の変更命令またはＩＤの作成を開始する。上記で論議されるように、いくつかの実施形態では、第２の変更命令は、コンピュータデバイスに、または変更命令について他のコンピュータデバイスに通知し、第２の変更命令を該他のコンピュータデバイスに提供し得る媒介物に伝送され得る。一実施形態では、第２の変更命令は、上記で論議されるように、情報項目が現在整合状態にある、または新しい同等線に対応する状態にあることを示すように、第２の所定の値に設定されたフラグを備え得る。さらなる実施形態では、情報項目が整合状態にあることを示すように設定されたフラグを伴う第２の変更命令の受信は、他のコンピュータデバイスまたはユーザに他の情報項目を更新させ得る。
【０１２９】
ステップ５０４で、いくつかの実施形態では、第２のコンピュータデバイスの第２のＣＡＤアプリケーションの第２のユーザが、共有ＣＡＤデータモデルの第２の情報項目を、第１の状態に対応する第４の状態から、第３の状態に対応する第５の状態に更新し得る。一実施形態では、このようにして第２の情報項目を更新することは、第２の情報項目が、第２の状態に対応する状態を迂回することを可能にし得る。いくつかの実施形態では、第２のユーザは、上記で論議されるように、第１の情報項目が整合状態にあることを示すにように設定されたフラグを伴う変更命令の受信に応答して、および変更命令の中の命令に応答して、第２の情報項目を更新し得る。
【０１３０】
ここで図５Ｂを参照すると、ユーザによってコンピュータ支援設計オブジェクトまたはモデルの複数の設計ステップを管理する方法の実施形態のフローチャートが示されている。一実施形態では、この方法は、ユーザが、特徴の従属再生を含むＣＡＤモデルに対する変更を追跡し、ＣＡＤアプリケーションによって再生される従属特徴の数にかかわらず複数のユーザコマンドを通して取り消すことを可能にし得る。これはまた、ユーザが「仮定の」シナリオを試行することを可能にし得、モデルに異なる修正を試し、各修正前にモデルのコピーを保存する必要なく、該修正における任意のステップに戻ることができる。上述のように、ユーザからの単一のコマンドに応じて、ＣＡＤアプリケーションが数十もの従属特徴を再生または再計算し得るため、変更を取り消す通常の方法が機能しない場合がある。単一の取り消しは、最後の再計算を取り消すことのみ可能であり得る。複数の取り消しを記憶するシステムでさえも、ＣＡＤアプリケーションによる再計算された修正よりもむしろ、ユーザが行った修正に達するように何度も取り消さなければならないことがユーザには不明確であり得る。
【０１３１】
概観すると、ステップ５１０で、ユーザが、ＣＡＤアプリケーションを使用して、ＣＡＤオブジェクトを修正し得る。これが、以前の終了以降のＣＡＤオブジェクトに対する第１の修正である場合、ステップ５１２で、ＣＡＤアプリケーションが、ＣＡＤオブジェクトまたはモデルの開始状態を記憶し得る。ステップ５１４で、ＣＡＤアプリケーションが、修正を表す変更命令を作成し、記憶し得る。ステップ５１０−５１４は、反復して繰り返され得る。一実施形態では、ステップ５１６で、ユーザが、ＣＡＤモデルの中間状態に戻るようにＣＡＤアプリケーションに要求し得る。そのような要求に応答して、ステップ５１８で、ＣＡＤアプリケーションが、記憶された開始状態をロードし、ＣＡＤモデルを要求された中間状態にするように１つ以上の変更命令を実行し得る。次いで、ステップ５１０−５１８は、ＣＡＤモデルに対する修正の異なる分岐を探索するように繰り返され得る。いくつかの実施形態では、ステップ５２０で、ユーザが、ＣＡＤオブジェクトの現在の状態を保ち、修正を仕上げるようにＣＡＤアプリケーションに要求を発行することを決定し得る。要求に応答して、ＣＡＤアプリケーションが、ステップ５２２で、変更命令を他のシステムに通信し得、ステップ５２４で、ＣＡＤアプリケーションが、ＣＡＤモデルの記憶された開始状態を破棄し得る。
【０１３２】
依然として図５Ｂをさらに詳細に参照すると、ステップ５１０で、第１のコンピュータデバイス上で実行するＣＡＤアプリケーションのユーザは、ＣＡＤモデルの複数の相関ＣＡＤオブジェクトのうちの第１のＣＡＤオブジェクトを修正し得る。一実施形態では、ＣＡＤモデルのＣＡＤオブジェクトは、１つのオブジェクトに対する修正が、ＣＡＤアプリケーションにＣＡＤモデルの中の１つ以上の他のＣＡＤオブジェクトを再計算または再生させる場合に相関している。１つのそのような実施形態では、ユーザが第１のＣＡＤオブジェクトを修正することに応答して、ＣＡＤアプリケーションは、複数の相関オブジェクトの第２のＣＡＤオブジェクトのデータを再生し得、第２のＣＡＤオブジェクトは、第１のＣＡＤオブジェクトに従属している。いくつかの実施形態では、ユーザは、幾何学形状データ、注釈データ、アセンブリデータ、概念データ、材料データ、分析データ、外観データ、あるいはＣＡＤオブジェクトまたはモデルの任意の他の種類および形態のデータを含む、ＣＡＤオブジェクトの１つ以上の情報項目を修正し得る。
【０１３３】
ステップ５１０での修正が、ＣＡＤオブジェクトに対する第１の修正、または修正の以前の終了以降の第１の修正である場合には、ステップ５１２で、ＣＡＤアプリケーションがモデルの開始状態または第１の状態を記憶し得る。モデルの開始状態は、ユーザによる修正前のＣＡＤモデルの複数の相関ＣＡＤオブジェクトのデータを備え得る。開始状態または第１の状態と呼ばれるが、当業者であれば、開始状態または第１の状態が、単純に、モデルへの１つ以上の修正を実行する前の状態を指し得ることを理解し得る。
【０１３４】
ステップ５１４で、ＣＡＤアプリケーションが、ユーザによる第１のＣＡＤオブジェクトに対する修正を表す変更命令を記憶し得る。一実施形態では、変更命令は、第１のＣＡＤオブジェクトに従属し、ＣＡＤアプリケーションによって再生または再計算される他のオブジェクトの数にかかわらず、ユーザによる第１のＣＡＤオブジェクトに対する修正のみを表し得る。これは、追加の情報が必要とされないことがあるので、行われ得、ＣＡＤアプリケーションは、変更命令を実行する場合、他の従属オブジェクトのデータを自動的に再生または再計算し得る。したがって、第１のオブジェクトを変更する命令は、モデルをユーザの修正後の再生状態に修正するために必要な全ての状態を含む。一実施形態では、変更命令は、変更命令が内部変更命令であることを示すように設定されたフラグ、文字列、またはビットマスクを含み得る。さらなる実施形態では、変更命令が内部変更命令として識別されることに応答して、ＣＡＤアプリケーションは、変更命令を中間または別のコンピュータデバイスまたはＣＡＤアプリケーションに通信しないことがある。これは、修正のための他のＣＡＤアプリケーションによる不必要な再計算および再生、ならびにユーザが破棄することを決定する「仮定の」分岐を防止し得る。
【０１３５】
ステップ５１０−５１４は、１回以上繰り返され得、追加の変更命令を生成し、同じＣＡＤオブジェクトまたは異なるＣＡＤオブジェクトを修正する。いくつかの実施形態では、各変更命令は、ＣＡＤモデルまたはオブジェクトの以前の状態からの差異または差分を表す。例えば、第１の変更命令は、ユーザによって行われる面の押出しを表し得る。次いで、第２の変更命令は、押出し面の面取りを表し得る。第３の変更命令は、押出し面の面取り表面への切り欠きまたは切り込みを表し得る。したがって、各命令は、以前の変更命令の結果に基づき得る。当業者であれば、ＣＡＤモデルを開始状態から現在の状態にするようにユーザによって行われるステップ後に、順序通りの各変更命令の実行がどのようにして生じ得るかを容易に理解し得る。ステップ５１６で、いくつかの実施形態では、ユーザが、ＣＡＤモデルの中間状態に戻るように要求し得る。これは、例えば、ユーザがＣＡＤオブジェクトに対する１つ以上の最近の修正を保存しないことを決定するため、行われ得る。一実施形態では、ユーザは、ユーザインターフェースを通して、中間状態に戻ることを選択し得る。さらなる実施形態では、ユーザインターフェースは、種々の変更命令の連鎖、ツリー、または分岐連鎖、または他の描写を表し得、ユーザが戻るＣＡＤモデルの任意の中間状態を選択することを可能にする。
【０１３６】
ステップ５１８で、中間状態に戻るユーザからの要求に応答して、ＣＡＤアプリケーションは、記憶された開始状態をロードし、連鎖またはツリーの中の開始状態から要求された中間状態に至る、１つ以上の変更命令を実行し得る。各変更命令を実行することは、ＣＡＤアプリケーションによって、ユーザによってＣＡＤオブジェクトに対して行われる修正を行い、モデルの複数の相関ＣＡＤオブジェクトの従属ＣＡＤオブジェクトを再生または再計算することを含み得る。
【０１３７】
ステップ５１０−５１８は、多くの実施形態では、反復して繰り返され得る。ステップ５１４またはステップ５１８のいずれか一方の後に、いくつかの実施形態では、ユーザは、ステップ５２０で、ＣＡＤモデルに対する修正を仕上げるように要求し得る。本明細書で使用されるように、仕上げと呼ばれるが、この用語は、開始状態を記憶して以降、モデルに行われる修正を仕上げることを意味し得る。当業者であれば、ユーザがモデルに戻って将来にさらなる修正を行ってもよく、その時点で新しい「開始状態」が記憶され得ることを理解し得る。
【０１３８】
要求に応答して、ステップ５２２で、ＣＡＤアプリケーションが、連鎖またはツリーの中の開始状態からＣＡＤモデルの現在の状態に至る、１つ以上の変更命令を、１つ以上の他のＣＡＤアプリケーション、コンピュータデバイス、またはサーバ、媒介物、または変更命令の中央レポジトリに伝送し得る。一実施形態では、１つ以上の変更命令を通信することは、変更命令を共有または外部として識別するように、変更命令を内部変更命令として識別する、各変更命令のフラグ、ビットマスク、または文字列を修正することを含み得る。上記で論議されるように、いくつかの実施形態では、１つ以上の通信された変更命令を受信することに応答して、１つ以上の他のＣＡＤアプリケーションまたはコンピュータデバイスは、変更命令を実行し、共有ＣＡＤモデルの情報項目を整合状態に修正するようにデータを再生または再計算し得る。例えば、共有ＣＡＤモデルの幾何学形状に複数の修正を行った後、第１のユーザが修正を仕上げ得る。変更命令は、変更命令を実行し、質量中心の場所等のモデルの工学データを再計算し得る、工学的分析アプリケーション等の別のアプリケーションに通信され得る。上記で論議されるように、いくつかの実施形態では、変更命令を通信することは、新しい変更命令が存在するという通知を他のシステムに送信し、他のシステムによる要求に応じて変更命令を提供または伝送することを含み得る。そのような通知および伝送は、上記で論議されるように、中間または中央レポジトリによって行われ得る。
【０１３９】
ステップ５２４で、いくつかの実施形態では、ＣＡＤアプリケーションが、モデルの記憶された開始状態を破棄し得る。別の実施形態では、ＣＡＤアプリケーションは、最終中間状態を過ぎた代替的分岐または設計状態の変更命令等の１つ以上の変更命令を破棄し得る。
【０１４０】
変更命令はまた、連携を可能にするために、同時にモデルに対して作業する複数のユーザの間で使用され得る。さらに、いくつかの実施形態では、それらは、モデルの設計中に必要とされる再生の量を削減するために使用され得る。例えば、１つのそのような実施形態では、第１のユーザは、トラック用のエンジンモデル等の設計の第１の部分に対して作業し得る。第２のユーザは、客室レイアウト等の設計の第２の部分に対して作業し得る。一定の同期化を必要とするシステムでは、ユーザが現在の更新に関連しない場合があるという事実にもかかわらず、２人のユーザのＣＡＤアプリケーションの間に多くの更新が送信される。そのような実施形態では、上記で説明される軽量通知サービス、およびＣＡＤモデルの開始整合状態からの変更命令をいつでも要求して実行する能力により、ユーザは、モデルを新しい整合状態に更新する準備ができるまで、変更命令を無視し得る。
【０１４１】
ここで図５Ｃを参照すると、対応する複数のコンピュータデバイス上で、複数のユーザによってコンピュータ支援設計オブジェクトまたはモデルの同時設計を管理する方法の実施形態のフローチャートが示されている。概観すると、ステップ５３０で、第１のコンピュータデバイスのプロセッサによって実行される第１のＣＡＤアプリケーションの第１のユーザが、共有ＣＡＤオブジェクトの第１の部分を修正し得る。ステップ５３２で、そのコンピュータデバイスがアプリケーションサーバである実施形態における同じコンピュータデバイスによって実行されるか、または第２のコンピュータデバイスのプロセッサによって実行される、第２のＣＡＤアプリケーションの第２のユーザが、共有ＣＡＤオブジェクトの第２の部分を修正し得る。ステップ５３４で、第２のユーザが、共有ＣＡＤオブジェクトの第１の部分に対する第１のユーザの修正を表す、変更命令または変更命令の通知を受信し得る。一実施形態では、ステップ５３６で、第２のユーザが、変更命令を実行することなく、あるいは第２のユーザが作業している共有ＣＡＤオブジェクトのローカルコピーまたは一部分を修正することなく、変更命令または通知を記憶し得る。別の実施形態では、ステップ５３８で、第２のユーザが、第２のユーザが作業している共有ＣＡＤオブジェクトのローカルコピーまたは一部分を修正するように、変更命令を実行し得る。
【０１４２】
依然として図５Ｃをさらに詳細に参照すると、ステップ５３０で、第１のユーザが、共有ＣＡＤオブジェクトの第１の部分を修正し得る。いくつかの実施形態では、第１の部分は、上記で論議される客室の幾何学形状データ等のＣＡＤオブジェクトの第１のセクションまたは第１のエンティティあるいは複数のエンティティを指し得る。他の実施形態では、第１の部分は、幾何学形状データまたはアセンブリデータ等のＣＡＤオブジェクトのチャプタまたは情報項目を指し得る。いくつかの実施形態では、共有ＣＡＤオブジェクトは、上記で論議されるように、複数の相関モデルを備え得る。別の実施形態では、共有ＣＡＤオブジェクトの第１の部分を修正することは、共有ＣＡＤオブジェクトの第１のセットの１つ以上のモデルを修正することを含み得る。別の実施形態では、共有ＣＡＤオブジェクトは、複数のチャプタまたは情報項目を備え得る。さらなる実施形態では、共有ＣＡＤオブジェクトの第１の部分を修正することは、複数のチャプタまたは情報項目のうちの第１のチャプタまたは情報項目を修正することを含み得る。
【０１４３】
ステップ５３２で、第２のユーザが、共有ＣＡＤオブジェクトの第２の部分を修正し得る。ステップ５３０と同様に、いくつかの実施形態では、第２の部分は、第１のユーザが修正したのと同じＣＡＤオブジェクトの情報項目の異なるセクションを指し得る一方で、他の実施形態では、第２の部分は、ＣＡＤオブジェクトの第２のチャプタまたは情報項目を指し得る。別の実施形態では、共有ＣＡＤオブジェクトの第２の部分を修正することは、共有ＣＡＤオブジェクトの第２のセットの１つ以上のモデルを修正することを含み得る。別の実施形態では、共有ＣＡＤオブジェクトの第２の部分を修正することは、共有ＣＡＤオブジェクトの複数のチャプタまたは情報項のうちの第２のチャプタまたは情報項目を修正することを含み得る。
【０１４４】
ステップ５３４で、第２のユーザが、第１のユーザの修正を表す、変更命令または変更命令の通知を受信し得る。上記で論議されるように、通知サービスを使用する実施形態では、第２のユーザは、変更命令の通知を受信し得、変更命令が第２のユーザによって使用される第２のＣＡＤアプリケーションに伝送されることを要求し得る。媒介物またはサーバが通知を提供し、変更命令を記憶する、いくつかの実施形態では、第１のコンピュータデバイスおよび第２のコンピュータデバイスは、第１のコンピュータデバイスから第２のコンピュータデバイスへ変更命令を通信するために同時にオンラインになる必要がある。むしろ、第１のコンピュータデバイスは、変更命令をサーバに送信し得、サーバは、変更命令を通知し、要求に応じて、変更命令を第２のコンピュータデバイスに提供し得る。
【０１４５】
一実施形態では、ステップ５３６では、第２のユーザが、第２のユーザに表示される、共有ＣＡＤオブジェクト、共有ＣＡＤオブジェクトの第２の情報項目またはチャプタ、あるいは共有ＣＡＤオブジェクトのローカルコピーを修正することなく、変更命令を記憶し得る。これは、いくつかの実施形態では、ＣＡＤオブジェクトの第１の部分に対する修正がＣＡＤオブジェクトの第２の部分に影響を及ぼさないという第２のＣＡＤアプリケーションによる決定に応答して、行われ得る。例えば、１つのそのような実施形態では、ＣＡＤオブジェクトの第２の部分は、ＣＡＤオブジェクトの第１の部分への従属性がないことがある。別の実施形態では、第２のユーザは、後に実行するために変更命令を記憶し得る。これは、例えば、第２のユーザが設計修正を行っている場合、または図５Ｂに関して上記で論議されるような「仮定の」分岐を試行している場合に行われ得る。
【０１４６】
別の実施形態では、ステップ５３８で、第２のユーザが、第２のユーザに表示される、共有ＣＡＤオブジェクト、共有ＣＡＤオブジェクトの第２のチャプタまたは情報項目、あるいは共有ＣＡＤオブジェクトのローカルコピーを修正するように、変更命令を実行し得る。さらなる実施形態では、第２のユーザは、変更命令において表される共有ＣＡＤオブジェクトの第１の部分に対する修正を、共有ＣＡＤオブジェクトの第２の部分に対する修正と組み合わせ得る。別のさらなる実施形態では、第２のユーザは、変更命令における第１の１つ以上の命令を無効にし、または拒絶して、変更命令の中の残りの無効にされていない命令を実行し得る。これは、第２のユーザによる、第１のユーザの作業の精査プロセス可能にするように行われ得る。
【０１４７】
異なる修正を試行し、「仮定の」設計を探索するために、単一のアプリケーションの中で内部的に変更命令を使用するとともに、変更命令はまた、設計の異なる修正を試行し、探索するために、複数のアプリケーションにわたる単一のユーザによって、または同時に作業する複数のユーザによって使用され得る。例えば、ユーザは、ＣＡＤモデリングプログラムにおいてモデルに対して作業し、工学的分析プログラムに切り替えて測定を行い、次いで、これらの測定の結果に基づいて、ＣＡＤアセンブリプログラムにおいて修正を行い得る。典型的には、これらのシステムのユーザは、各ステップでモデルを保存し、モデルをそれぞれの新しいアプリケーションのための異なる形式にエクスポートまたはインポートする必要がある。ユーザが決して考えを変えない、またはより前の状態に戻る必要がない場合、これは、その非効率にもかかわらず機能することができる。したがって、本開示の一側面は、複数の実行アプリケーションにおける共通データモデルオブジェクトの同時使用を管理する方法およびシステムを含む。ユーザが情報項目に対する修正および編集を行うにつれて、変更命令を他のコンピュータデバイスに伝える方法と同様に、変更命令は、同じコンピュータデバイス上の非アクティブアプリケーションに伝えられる。一実施形態では、非アクティブアプリケーションは、バックグラウンドで変更命令を自動的に実行する。別の実施形態では、非アクティブアプリケーションは、アクティブになると、１つ以上の以前にアクティブなアプリケーションによって生成された１つ以上の変更命令を実行する。例えば、ユーザは、第１のアプリケーションにおいて修正を行い、変更命令は、バッファまたは記憶装置の中に配置され得る。ユーザは、第２のアプリケーションがアクティブなアプリケーションであるように、第２のアプリケーションに切り替え得る。次いで、第２のアクティブなアプリケーションは、それがアクティブであった最後の時以降、バッファの中に配置された変更命令を実行し得る。ユーザは、モデルにさらなる修正を行って、追加の変更命令を生成するために、第２のアクティブなアプリケーションを使用し得る。次いで、ユーザは、第３のアプリケーションがアクティブなアプリケーションであるように、第３のアプリケーションに切り替え得る。次いで、第３のアクティブなアプリケーションは、第１のアプリケーションからの変更命令および第２のアプリケーションからの変更命令の両方、ならびに第３のアプリケーションがアクティブなアプリケーションであった最後の時以降、モデルに対して生成された任意の他の変更命令を実行し得る。これは、アプリケーションが任意の時点で非整合または旧式モデルを使用していたことをユーザが認識しないように、アプリケーションの起動時に行われ得る。
【０１４８】
ここで図６Ａを参照すると、共通データモデルを使用して、複数のアプリケーションによって使用されるモデルの整合性を管理する方法の実施形態のフローチャートが図示されている。概観すると、ステップ６００で、ユーザが、第１のＣＡＤアプリケーションを立ち上げ、モデルを開き得る。ステップ６０２で、第１のＣＡＤアプリケーションが、図５Ｂに関連して上記で論議されるように、モデルの開始状態を記憶し得る。ステップ６０４で、ユーザが、モデルを修正し、第１のＣＡＤアプリケーションに第１の１つ以上の変更命令を作成させ得る。ステップ６０６で、ユーザが、第２のＣＡＤアプリケーションを立ち上げ、モデルを開き得る。ステップ６０８で、第２のＣＡＤアプリケーションが、モデルの記憶された開始状態および第１の１つ以上の変更命令をロードし、第１の１つ以上の変更命令を実行し得る。ステップ６１０で、ユーザが、モデルを修正し、第２のＣＡＤアプリケーションに第２の１つ以上の変更命令を作成させ得る。ステップ６１２で、ユーザが、第３のＣＡＤアプリケーションを立ち上げ、モデルを開き得る。ステップ６１４で、第３のＣＡＤアプリケーションが、モデルの記憶された開始状態、第１の１つ以上の変更命令、第２の１つ以上の変更命令をロードし、第１の１つ以上の変更命令および第２の１つ以上の変更命令を実行し得る。
【０１４９】
依然として図６Ａをさらに詳細に参照すると、ステップ６００で、ユーザが、第１のＣＡＤアプリケーションを立ち上げ、モデルを開き得る。いくつかの実施形態では、第１のＣＡＤアプリケーションを立ち上げることは、デスクトップ、スタートメニュー、または他のユーザインターフェースからＣＡＤアプリケーションを立ち上げることを含み得る一方で、他の実施形態では、第１のＣＡＤアプリケーションを立ち上げることは、第１のＣＡＤアプリケーションに対するファイル種類連合（ＦＴＡ）を有するＣＡＤモデルを開くことを含み得る。なおも他の実施形態では、第１のＣＡＤアプリケーションを立ち上げることは、図８Ａ−８Ｃに関連して以下でさらに詳細に論議される、アプリケーションランチャを立ち上げることを含み得る。１つのそのような実施形態では、ＣＡＤモデルは、オペレーティングシステムにアプリケーションランチャを立ち上げさせる、ファイル種類連合を含み得る。
【０１５０】
ステップ６０２で、いくつかの実施形態では、第１のＣＡＤアプリケーションが、モデルの開始状態を記憶し得る。第１のＣＡＤアプリケーションを立ち上げる前にアプリケーションランチャが立ち上げられている、一実施形態では、アプリケーションランチャは、モデルの開始状態を記憶し得る。一実施形態では、モデルの記憶された開始状態は、タイムスタンプまたは他の識別子、あるいはモデルの同等線または整合状態の指示を含み得る。
【０１５１】
ステップ６０４で、いくつかの実施形態では、ユーザがモデルを修正し得る。一実施形態では、ユーザは、モデルの１つ以上のチャプタまたは情報項目を修正し得る。いくつかの実施形態では、モデル、チャプタ、または情報項目を修正することは、第１のＣＡＤアプリケーションに、修正または動作を表す第１の１つ以上の変更命令を作成させ得る。一実施形態では、第１のＣＡＤアプリケーションは、１つ以上の変更命令を、モデルに関連付けられる一次フォルダの中に、中央記憶レポジトリの中に、モデルの一部として、モデルの記憶された開始状態の一部として、またはモデルを開く第２のＣＡＤアプリケーションが、モデル、記憶された開始状態、および１つ以上の変更命令の両方の場所を特定することが可能であり得るように、任意の他の形式あるいは場所で記憶し得る。
【０１５２】
ステップ６０６で、いくつかの実施形態では、ユーザが、第２のＣＡＤアプリケーションを立ち上げ、モデルを開き得る。多くの実施形態では、ユーザは、第１のＣＡＤアプリケーションの実行を中止または停止することなく、第２のＣＡＤアプリケーションを立ち上げ得る。
【０１５３】
ステップ６０８で、いくつかの実施形態では、第２のＣＡＤアプリケーションが、モデルの記憶された開始状態、および第１の１つ以上の変更命令をロードし得る。第２のＣＡＤアプリケーションは、いくつかの実施形態では、第１のＣＡＤアプリケーションにおけるユーザによるモデルに対する修正と整合する状態を達成するように、モデルの記憶された開始状態に基づいて１つ以上の変更命令を実行し得る。第２のＣＡＤアプリケーションが、第１の１つ以上の変更命令による影響を受けていないモデルのチャプタを読み出す場合等の他の実施形態では、第２のＣＡＤアプリケーションは、第１の１つ以上の変更命令を実行しなくてもよい。例えば、１つのそのような実施形態では、ユーザは、工学的分析アプリケーションにおいてモデルを開き、種々の動作を行って、モデルの分析チャプタへの変更命令を作成し得る。次いで、ユーザは、直接モデリングＣＡＤアプリケーションにおいてモデルを開き得る。多くの実施形態では、直接モデリングＣＡＤアプリケーションが、モデルの分析チャプタを読み出すことができない場合があるため、直接モデリングＣＡＤアプリケーションは、１つ以上の変更命令を実行しなくてもよい。
【０１５４】
ステップ６１０では、いくつかの実施形態では、ユーザが、第２のＣＡＤアプリケーションを用いてモデルを修正し得る。一実施形態では、ユーザは、モデルの１つ以上のチャプタまたは情報項目を修正し得る。いくつかの実施形態では、モデル、チャプタ、または情報項目を修正することは、第２のＣＡＤアプリケーションに、修正または動作を表す第２の１つ以上の変更命令を作成させ得る。第１の１つ以上の変更命令と同様に、第２の１つ以上の変更命令は、モデルとともに、一時的な場所に、あるいは他のアプリケーションが変更命令の場所を容易に特定し得るように、種々の場所または形式で記憶され得る。
【０１５５】
ステップ６１２で、いくつかの実施形態では、ユーザが、第３のＣＡＤアプリケーションを立ち上げ、モデルを開き得る。多くの実施形態では、ユーザは、第１のＣＡＤアプリケーションまたは第２のＣＡＤアプリケーションの実行を中止または停止することなく、第３のＣＡＤアプリケーションを立ち上げ得る。他の実施形態では、ユーザは、いずれか一方の他のアプリケーションの実行を中止または停止し得る。
【０１５６】
ステップ６１４で、いくつかの実施形態では、第３のＣＡＤアプリケーションが、モデルの記憶された開始状態、第１の１つ以上の変更命令、および第２の１つ以上の変更命令をロードし得る。第３のＣＡＤアプリケーションは、いくつかの実施形態では、第１および／または第２のＣＡＤアプリケーションにおけるユーザによるモデルに対する修正と整合する状態を達成するように、モデルの記憶された開始状態に対して第１の１つ以上の変更命令および第２の１つ以上の変更命令のいずれか一方または両方を実行し得る。上記で論議されるように、第３のＣＡＤアプリケーションが、第１および／または第２の１つ以上の変更命令による影響を受けていないモデルのチャプタを読み出す場合等の他の実施形態では、第３のＣＡＤアプリケーションは、第１および／または第２の１つ以上の変更命令を実行しなくてもよい。
【０１５７】
図６Ｂには、共通データモデルを使用する複数のアクティブなアプリケーションにわたってモデルの整合性を管理する方法の実施形態の別のフローチャートが示されている。概観すると、ステップ６２０で、共通データモデルとともに複数のＣＡＤアプリケーションを同時または一斉に使用するユーザが、第１のＣＡＤアプリケーションを非アクティブにし、または逆に別のＣＡＤアプリケーションをアクティブにし得る。非アクティブになることに応答して、一実施形態では、ステップ６２２で、ＣＡＤアプリケーションが、現在の整合状態を識別し得る。いくつかの実施形態では、ステップ６２２は、省略され得る。一実施形態では、ステップ６２４で、ユーザが、１つ以上の追加のアプリケーションにおいてモデルを修正し、１つ以上の追加のアプリケーションに１つ以上の変更命令を作成させ得る。ステップ６２６で、ユーザが、第１のＣＡＤアプリケーションをアクティブにし得る。ステップ６２２が省略されなかった場合、ステップ６２８で、アクティブになることに応答して、第１のＣＡＤアプリケーションは、識別された第１の整合状態以降作成された、１つ以上の変更命令を実行し得る。ステップ６２２が省略された場合、次いで、ステップ６３０で、アクティブになることに応答して、第１のＣＡＤアプリケーションが、ＣＡＤオブジェクトに関連付けられる１つ以上の変更命令を実行し得る。
【０１５８】
依然として図６Ｂをさらに詳細に参照すると、ステップ６２０で、コンピュータデバイスのプロセッサによって実行され、共通データモデルの中のＣＡＤモデルを視認または編集する第１のＣＡＤアプリケーションのユーザが、第１のＣＡＤアプリケーションを非アクティブにし得る。いくつかの実施形態では、ユーザは、第２のＣＡＤアプリケーションを起動し、第１のＣＡＤアプリケーションを非アクティブにし得る一方で、他の実施形態では、ユーザは、実行しているが非アクティブなＣＡＤアプリケーションに切り替え得る。多くの実施形態では、第２のＣＡＤアプリケーションまたは他のＣＡＤアプリケーション（概して、第２のＣＡＤアプリケーションと呼ばれる）はまた、共通データモデルの中の同じＣＡＤモデルを視認または編集し得る。一実施形態では、第２のＣＡＤアプリケーションは、ＣＡＤモデルの同じチャプタを読み出し、編集し、またはそれに作用し得る一方で、他の実施形態では、第２のＣＡＤアプリケーションは、ＣＡＤモデルの異なるチャプタを読み出し、編集し、またはそれに作用し得る。
【０１５９】
ステップ６２２で、いくつかの実施形態では、非アクティブになることに応答して、第１のＣＡＤアプリケーションが、ＣＡＤモデルの現在の整合状態を識別し得る。これは、後に実行される変更命令の数を削減するために行われ得る。例えば、図６Ａの方法において上記で論議されるように、編集セッションが開始された時に、モデルの開始状態が記憶され得、１つ以上のＣＡＤアプリケーションにおける各修正に対して、変更命令が作成され得る。多くの命令が、セッションの経過中に作成され得る。したがって、非アクティブおよびアクティブアプリケーションを単純に切り替える時、いくつかの実施形態では、非アクティブになる時に、全変更命令を再実行する必要性を低減するために、アプリケーションは、モデルの整合状態、またはアプリケーションのメモリの中のモデルが更新されている変更命令のリストの中の点を覚えておくことがある。例えば、ＣＡＤアプリケーションがモデルをロードし、３つの変更命令を適用した場合、非アクティブになる時に、ＣＡＤアプリケーションは、アプリケーションがこれらの３つの変更命令を実行したという識別を記憶し得る。再びアクティブになる時に、次いで、ＣＡＤアプリケーションは、任意のさらなる変更命令を適用することのみ必要とする。しかしながら、いくつかの実施形態では、ステップ６２２は、省略され得、アクティブになる時に、アプリケーションは、モデルの開始状態をリロードし、１つ以上の変更命令を実行し得る。これがさらなる処理を必要とし得る一方で、アプリケーションのプログラミングは、さらに単純であり得る。加えて、この実施形態は、以下でさらに詳細に論議されるように、複数のアプリケーションにわたる代替的な設計分岐および取り消しスタックを可能にし得る。
【０１６０】
ステップ６２４で、いくつかの実施形態では、ユーザが、１つ以上の追加のＣＡＤアプリケーションにおいてモデルを修正し得る。これは、上記で論議されるように、１つ以上の追加のＣＡＤアプリケーションに１つ以上の変更命令を生成させ得る。
【０１６１】
ステップ６２６で、ユーザが、第１のＣＡＤアプリケーションをアクティブにし得る。これは、いくつかの実施形態では、以下でさらに詳細に論議されるように、スイッチャまたはランチャからＣＡＤアプリケーションを選択することによって、オペレーティングシステムによって提供されるタスクバーまたはユーザインターフェースからＣＡＤアプリケーションを選択することによって、または第１のＣＡＤアプリケーションを終了することなく１つ以上の追加のＣＡＤアプリケーションを終了することによって行われ得る。
【０１６２】
ステップ６２８で、一実施形態では、ＣＡＤアプリケーションがステップ６２２で第１の整合状態またはすでに適用された変更命令の数を識別した場合、ＣＡＤアプリケーションは、第１の整合状態後に作成された１つ以上の変更命令、またはアプリケーションが非アクティブになって以降作成された追加の命令をロードし、実行し得る。
【０１６３】
別の実施形態では、ステップ６３０で、アクティブになることに応答して、第１のＣＡＤアプリケーションは、モデルの開始状態および１つ以上の変更命令をロードし、該１つ以上の変更命令を実行し得る。これは、図６Ａで図示される方法と同様であり得る。
【０１６４】
複数のアプリケーションの同時使用においてモデルの整合性を管理するための変更命令の使用は、さらなる便益を提供し得る。ＣＡＤアセンブリプログラム等の第２のアプリケーションにおいて修正を行った後に、ＣＡＤモデリングプログラムにおける第１の修正が不適切であったとユーザが決定した場合、典型的には、ユーザは、第１のモデルをリロードする必要があり、工学的分析の便益を失う場合がある。しかしながら、本システムの一実施形態では、変更命令は、オブジェクトまたはモデルの以前の状態に戻るために使用され得、したがって、共通データモデルを使用して、複数のアプリケーションにわたる取り消しスタックを管理するために使用され得る。一実施形態では、アクティブな共通データモデルアプリケーションにおいて動作を取り消すことにより、非アクティブな共通データモデルアプリケーションにおいて後に自動的に行われる関連動作の全てを取り消すことを引き起こし得る。
【０１６５】
例えば、図６Ｃには、共通データモデルを使用して、複数のアプリケーションにわたって取り消しスタックを管理する方法の実施形態の活動チャートが示されている。ステップ６４０で、ユーザが、パラメトリックモデリングＣＡＤアプリケーションにおいてモデルを開き、面の押出し等の第１の動作（１）をモデルに行い得る。図５Ｂを参照して上記で論議されるように、これは、ＣＡＤアプリケーションに、モデルの第１の状態を記憶させ、変更命令を生成させ得る。該変更命令は、他のＣＡＤアプリケーションに伝えられ得る。したがって、一実施形態では、ユーザが工学的分析プログラムに切り替える時に、変更命令が実行され得、モデルの種々の部品が、ＣＡＤモデルの工学的分析チャプタまたは情報項目の整合状態を作成するように再生され得る。次いで、ユーザは、幾何学形状と無関係であり得るモデルに分析（２）を行い得る。分析に応答して、ユーザは、押出しの面を移動させること、および押出しの第２の面を移動させること等のさらなる動作（３）および（４）を行うために、直接モデリングＣＡＤアプリケーションを使用し得る。各動作は、他のＣＡＤアプリケーションあるいは示されていない他のＣＡＤアプリケーションの一方または両方に送信されている変更命令をトリガし得る。
【０１６６】
ステップ６４２で、ユーザが、直接モデリングＣＡＤアプリケーションにおいて最後のステップを取り消し得、ステップ６４４で、ユーザが、最後のステップをやり直し得る。多くの実施形態では、これは、アプリケーション内の取り消しスタックの通常の使用と同様であり得る。しかしながら、上記で論議されるように、ステップを取り消すこと、およびやり直すことにより、他のアプリケーションに送信される変更命令をトリガし、その結果、ユーザがいずれかのアプリケーションに切り替えた場合、第４の動作を伴わないモデルに遭遇することも、第４の動作を伴うモデルに遭遇することもあり得る。
【０１６７】
ステップ６４４で、ユーザが、第１のパラメトリックモデリングＣＡＤアプリケーションに切り替え、第１の動作（１）を取り消し得る。一実施形態では、第１の動作を取り消すことにより、他のアプリケーションに送信されている変更命令をトリガし得る。動作（３）および（４）が、動作（１）の押出しに依存している幾何学形状に対する修正であったため、それらはまた、第１の動作を取り消すことによって取り消され得る。上記で論議されるように、多くの実施形態では、アクティブな共通データモデルアプリケーションにおいて動作を取り消すことにより、非アクティブな共通データモデルアプリケーションにおいて後に行われる任意の関連動作を取り消す。動作は、同じチャプタまたは情報項目に作用する場合に関係がある。したがって、幾何学形状チャプタを修正した動作（１）を取り消すことにより、同様に幾何学形状チャプタを修正する動作（３）および（４）を取り消すが、分析チャプタを修正した動作（２）は取り消さないことを引き起こし得る。多くの実施形態では、第１の動作を取り消すことにより、他のＣＡＤアプリケーションに伝送されている変更命令をトリガし得る。
【０１６８】
ステップ６４６で、いくつかの実施形態では、ユーザが、第１または第３のアプリケーションのいずれかにおいて第１の動作（１）をやり直し得る。図５Ｂに関連して上記で論議されるように、アプリケーションは、モデルの第１の記憶された状態からの変更命令の連鎖または分岐ツリーを含み得る。したがって、たとえユーザが、連鎖またはツリー上の中間状態に後退したとしても、ユーザは、連鎖上またはツリーの異なる分岐上の以前または後続の状態を含む、任意の他の状態に容易に戻ることができ、共通データモデルアプリケーショは、必要に応じて、自動的に変更命令を実行し、再計算し得る。したがって、いずれかのアプリケーションにおいては、ユーザは、第１の動作（１）をやり直し、動作（３）および（４）の自動実行ならびに幾何学形状チャプタの特徴およびエンティティの再生を引き起こし得る。
【０１６９】
したがって、多くの実施形態では、ユーザは、アプリケーションの全てが単一のアプリケーションの異なる側面であるかのように、共通データモデルを伴う単一のオブジェクトに対してアプリケーション一式の複数のアプリケーションを使用し得る。ユーザ体験は、アプリケーション一式の関連部品の相互運用性により、大きく強化される。図７Ａは、複数のアプリケーションとともに共通データモデルを使用する第１の例示的実施形態のフローチャートである。概観すると、ユーザの一日は、パラメトリックモデルを構築するための要件を受信することから開始し得る。ユーザは、パラメトリックモデリングＣＡＤアプリケーションを立ち上げ得る。パラメトリックモデリングアプリケーションでは、ユーザは、新しいモデルを開き、幾何学形状を作成し、修正し得る。いずれの分析も必要とされない場合、ユーザは、モデルを保存し、自分のタスクを完了し得る。
【０１７０】
代替として、分析が必要とされる場合には、ユーザは、工学的分析プログラムに切り替え得る。プログラムは、同じ共通データモデルを利用し、異なる形式でモデルを保存し、エクスポートし、開く必要性を排除し得る。代わりに、工学的分析プログラムは、同じモデルに作用し、例えば、幾何学形状チャプタを読み出し、分析チャプタを修正し得る。工学的分析アプリケーションでは、ユーザは、構造分析をモデルに行い得る。分析が満足できる場合、ユーザは、モデルを保存し、自分のタスクを完了し得る。
【０１７１】
代替として、分析が満足できない場合、ユーザは、パラメトリックモデラに戻って切り替え、モデルのさらなる幾何学形状を修正または作成し得る。次いで、ユーザは、モデルまたは分析が満足できるまで、さらなる分析および修正を反復して行い得る。
【０１７２】
ここで図７Ｂを参照すると、複数のアプリケーションとともに共通データモデルを使用する第２の例示的実施形態のフローチャートが図示されている。この実施例では、ユーザの一日は、ユーザが工学設計者からモデルを受信することから開始し得る。ユーザは、工学的分析アプリケーションを立ち上げ、モデルを開き得る。いくつかの実施形態では、ユーザは、後続分析をモデルに対して直接行い、分析が満足できる場合、モデルを保存し、モデルを工学設計者に返信し得る。
【０１７３】
代替として、特に非常に複雑なモデルを用いた、多くの実施形態では、ユーザは、構造分析を行う前にモデルを単純化することを希望し得る。例えば、ユーザが、主に周辺部品との嵌まりおよび配置に関心を持っている場合、ユーザは、全体サイズに影響を及ぼさないため、モデルの内部オブジェクトまたは構成要素を除去するか、または無効にすることを希望し得る。したがって、そのような実施形態では、ユーザは、直接モデリングＣＡＤアプリケーションに切り替え、モデルの幾何学形状を修正し得る。次いで、ユーザは、指図モデリングＣＡＤアプリケーションから送信された変更命令を介してモデルが自動的に更新され得る工学的分析アプリケーションに戻って切り替え得る。次いで、ユーザは、さらなる構造分析をモデルに行い得る。
【０１７４】
さらに、構造分析が満足できない場合、ユーザは、直接モデリングＣＡＤアプリケーションに戻って切り替え、幾何学形状を修正し、満足できる結果が達成されるまで、さらなる分析および修正を行い得る。
【０１７５】
図８Ａ−８Ｃは、複数のアプリケーションとともに共通データモデルを使用するためのシステムによって提供される、スイッチャの実施形態のスクリーンショットである。概観すると、図８Ａに示されるように、いくつかの実施形態では、スイッチャ８００は、アプリケーション一式の複数のＣＡＤアプリケーションのうちの１つ以上にモデルを立ち上げるための別個のアプリケーション、ダッシュボード、またはランチャを備え得る。いくつかの実施形態では、スイッチャは、サムネイル画像を含み得る、１つ以上のモデルのリストまたはインデックス８０２を示し得る。一実施形態では、リストまたはインデックス８０２からモデルを選択することにより、スイッチャ８００に、スイッチャウィンドウの中央部分８０４の中でモデルの大きい画像を表示させ得る。
【０１７６】
ここで図８Ｂを参照すると、いくつかの実施形態では、スイッチャは、示されるようなアナライザアプリケーション、直接モデラアプリケーション、およびビジュアライザアプリケーション等の複数の実行アプリケーション８０８を切り替えるためのダッシュボード８０６を備え得る。いくつかの実施形態では、直接モデラアプリケーション等のアクティブまたは最も重要なアプリケーションが拡大された状態で、複数の実行アプリケーション８０８が示され得る。一実施形態では、ダッシュボード８０６は、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐ．によって製造されるＷｉｎｄｏｗｓ（登録商標）  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍで表示されるａｌｔ−ｔａｂアプリケーションスイッチャと同様に、メニューまたはキーコマンドを介して立ち上げられ得る。いくつかの実施形態では、図８Ｂのダッシュボード８０６は、現在実行しているアプリケーションの上のオーバーレイとして出現し得る。さらなる実施形態では、図８Ｂのダッシュボード８０６は、現在アクティブなアプリケーションがダッシュボード８０６を通して可視的であるように、半透明または半透過バックグラウンドを備え得る。いくつかの実施形態では、示されるように、ダッシュボード８０６は、追加のアプリケーション８１０を立ち上げるための１つ以上のボタンを含み得る。他の実施形態では、ダッシュボード８０６は、オプションボタン８１２を含む、１つ以上のボタンを備え得る。ダッシュボード８０６はさらに、ＣＡＤアプリケーション製造業者からインターネット等のネットワークを介してダウンロードされるメッセージまたは広告を表示し得る、メッセージボックス８１４を備え得る。メッセージボックスと呼ばれるが、多くの実施形態では、メッセージボックス８１４は、ボックスの中のメッセージをクリックすることにより、ウェブブラウザ、アプリケーションストア、あるいは他の構成要素またはアプリケーションを開くように、ボタンまたはリンクを備え得る。一実施形態では、ダッシュボード８０６は、ＣＡＤ開発アプリケーション一式のアップグレードまたは新しいアプリケーションを視認して購入するためのウェブブラウザ、アプレット、アプリケーション、または他のインターフェースを介したアプリケーションストア８１６への接続を開始するためのボタンを含み得る。
【０１７７】
図８Ｃを簡潔に参照すると、いくつかの実施形態では、図８Ａのランチャおよび図８Ｂのアクティブアプリケーションスイッチャが組み合わせられ得る。例えば、ユーザは、１つ以上のアプリケーションにおいて新しいモデルを開くためにランチャを使用し得、アクティブなアプリケーションを切り替えるためにアプリケーションスイッチャを使用し得る。
【０１７８】
（結論）
上記で説明されるシステムは、これらの構成要素のうちのいずれかまたはそれぞれの複数を提供し得、これらの構成要素は、独立型マシン上で、またはいくつかの実施形態では、分散型システム内の複数のマシン上で提供され得ることを理解されたい。上記で説明されるシステムおよび方法は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組み合わせを生産するためにプログラミングおよび／または工学技術を使用して、方法、装置、または製造品として実装され得る。加えて、上記で説明されるシステムおよび方法は、１つ以上の製造品の上または中で具現化される、１つ以上のコンピュータ可読プログラムとして提供され得る。本明細書で使用されるような「製造品」という用語は、１つ以上のコンピュータ可読デバイス、ファームウェア、プログラマブル論理、メモリデバイス（例えば、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＳＲＡＭ等）、ハードウェア（例えば、集積回路チップ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）等）、電子デバイス、コンピュータ可読不揮発性記憶ユニット（例えば、ＣＤ−ＲＯＭ、フロッピー（登録商標）ディスク、ハードディスクドライブ等）からアクセス可能である、またはそれらに組み込まれる、コードまたは論理を包含することを目的としている。製造品は、ネットワーク伝送線、無線伝送媒体、空間を通って伝搬する信号、電波、赤外線信号等を介して、コンピュータ可読プログラムへのアクセスを提供する、ファイルサーバからアクセス可能であり得る。製造品は、フラッシュメモリカードまたは磁気テープであり得る。製造品は、ハードウェア論理、ならびにプロセッサによって実行されるコンピュータ可読媒体に埋め込まれたソフトウェアまたはプログラマブルコードを含む。一般的に、コンピュータ可読媒体は、ＬＩＳＰ、ＰＥＲＬ、Ｃ、Ｃ＋＋、Ｃ＃、ＰＲＯＬＯＧ等の任意のプログラミング言語で、またはＪＡＶＡ（登録商標）等の任意のバイトコード言語で実装され得る。ソフトウェアプログラムは、オブジェクトコードとして、１つ以上の製造品の上または中に記憶され得る。
【０１７９】
ホスト型アプリケーション用のシームレスなサムネイルを提供する方法およびシステムのある実施形態を説明してきたが、本開示の概念を組み込む他の実施形態が使用され得ることが、当業者に明白となるであろう。
【図１Ａ】
0005971812.tif 000002
【図１Ｂ】
0005971812.tif 000003
【図１Ｃ】
0005971812.tif 000004
【図１Ｄ】
0005971812.tif 000005
【図１Ｅ】
0005971812.tif 000006
【図２Ａ】
0005971812.tif 000007
【図２Ｂ】
0005971812.tif 000008
【図２Ｃ】
0005971812.tif 000009
【図２Ｄ】
0005971812.tif 000010
【図２Ｅ】
0005971812.tif 000011
【図２Ｆ】
0005971812.tif 000012
【図２Ｇ】
0005971812.tif 000013
【図３Ａ】
0005971812.tif 000014
【図３Ｂ】
0005971812.tif 000015
【図３Ｃ】
0005971812.tif 000016
【図３Ｄ】
0005971812.tif 000017
【図３Ｅ】
0005971812.tif 000018
【図４】
0005971812.tif 000019
【図５Ａ】
0005971812.tif 000020
【図５Ｂ】
0005971812.tif 000021
【図５Ｃ】
0005971812.tif 000022
【図６Ａ】
0005971812.tif 000023
【図６Ｂ】
0005971812.tif 000024
【図６Ｃ】
0005971812.tif 000025
【図７Ａ】
0005971812.tif 000026
【図７Ｂ】
0005971812.tif 000027
【図８Ａ】
0005971812.tif 000028
【図８Ｂ】
0005971812.tif 000029
【図８Ｃ】
0005971812.tif 000030