「SAM - ディスカバリーモデルとソフトウェアモデルの照合」スケジュール済みジョブの仕組みIssue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 概要 スケジュール済みジョブ「SAM - ディスカバリーモデルからソフトウェアモデルへの照合」は、システム内の各ディスカバリーモデルレコードにソフトウェアモデル参照を割り当てます。並列化されたバックグラウンドプロセスとして実行され、未アサインのディスカバリーモデルを持つすべての公開者と製品の組み合わせを処理し、それぞれを利用可能な最も適切なソフトウェアモデルに関連付けます。 重要:このジョブによってディスカバリーモデルレコードに入力されたソフトウェアモデルフィールドは、コンプライアンスを計算するために SAM 調整エンジンによって使用されません。 Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } すべて Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 自動一致レコードのリセット 一致するロジックが実行される前に、ジョブは以前に自動一致したすべてのディスカバリーモデルレコードのフルリセットを実行します。このジョブの以前の実行によってアサインされたディスカバリーモデル (自動一致フラグが true に設定されていることによって識別される) は、ソフトウェアモデル参照がクリアされ、自動一致フラグが false にリセットされます。 これにより、ジョブは実行のたびに常にソフトウェアモデルカタログの現在の状態を再評価し、新しく作成または変更されたソフトウェアモデルを選択します。SAM アドミニストレーターによって手動で照合されたディスカバリーモデル (自動一致フラグが false に設定されていることで識別されます) は、このリセットの影響を受けることはありません。手動一致は常に保持されます。 実行フロー ステップ 1 — 未アサインのディスカバリーモデルを持つ公開者を特定する ジョブはディスカバリーモデルテーブルにクエリを実行し、正規化済みパブリッシャーフィールドと正規化済み製品フィールドの両方が入力されており、ソフトウェアモデル参照が空であるディスカバリーモデルを少なくとも 1 つ持つ個別のパブリッシャーをすべて検索します。見つかった各パブリッシャーは、独立した並列タスクになります。これにより、ジョブで大きなカタログを効率的に処理できます。 ステップ 2 — パブリッシャーごとに製品を特定 各パブリッシャータスク内で、ジョブはディスカバリーモデルテーブルを再度照会して、ソフトウェアモデル参照がまだ空であるそのパブリッシャーに関連付けられたすべての個別の正規化製品を検索します。その後、ジョブは各パブリッシャーと製品の組み合わせを個別に処理します。 ステップ 3 — 候補ソフトウェアモデルを取得する パブリッシャーと製品の組み合わせごとに、ジョブはソフトウェアモデルテーブルを照会して、そのパブリッシャーと製品に一致するすべてのソフトウェアモデルを取得します。これらは、次の手順で評価される候補です。 ステップ 4 — ソフトウェアモデルツリーを構築する 取得された候補ソフトウェアモデルは、ソフトウェアモデルツリーエンジンに渡されます。このエンジンは、すべての候補間の関係を分析し、バージョン、エディション、プラットフォーム、および言語演算子の定義に基づいて、最も一般的なものから最も具体的なものへと順序付けします。 ソフトウェアモデルは、フィールド演算子がより狭い値セットに制約されている場合、より具体的であると見なされます。たとえば、特定のバージョンとエディションをスコープとするモデルは、任意のバージョンとエディションをスコープとするモデルよりも具体的です。ツリーはこれらの格納関係を表し、ツリーが生成する順序付けにより、最も具体的に適用可能なソフトウェアモデルが、より一般的なソフトウェアモデルの前に常に評価され、適用されます。 ステップ 5 — ディスカバリーモデルの照合とアサイン (最も具体的なものから順に) ジョブは、注文されたソフトウェアモデルを最も具体的なものから順に反復処理します。ソフトウェアモデルごとに、互換性のあるディスカバリーモデルが決定されます。この互換性チェックでは、ソフトウェアモデルのオペレーターベースの定義に照らして、ディスカバリーモデルの正規化済みパブリッシャー、正規化済み製品、バージョン、エディション、プラットフォーム、および言語フィールドを考慮します。 ソフトウェアモデルにソフトウェアインストール条件が含まれている場合、その条件は、互換性のあるディスカバリーモデルを識別する際の追加基準としても含まれます。 互換性のあるディスカバリーモデルが見つかったたびに、そのレコードにソフトウェアモデル参照が既に設定されているかどうかがチェックされます。フィールドが空の場合、ジョブは現在のソフトウェアモデルを割り当て、レコードを自動一致としてマークします。ソフトウェアモデル参照が既に存在する場合 (同じ実行の前の反復からか手動照合からか)、レコードはスキップされます。上書きされることはありません。 この順序付けと保護のメカニズムは、ディスカバリーモデルが特定のソフトウェアモデルと一般的なソフトウェアモデルの両方と互換性がある場合、常に最も具体的なものを受け取ることを意味します。一般的なソフトウェアモデルは、特定のソフトウェアモデルが既に割り当てられているものを上書きすることはできません。 主な動作 自動一致したレコードは、実行するたびに常に再評価されます。各実行の開始時にリセットすると、以前に自動一致したすべてのアサインがクリアされます。ジョブは毎回カタログ全体を再評価するため、ソフトウェアモデルカタログの改善は次回の実行時に自動的に反映されます。手動一致は常に保持されます。SAM アドミニストレーターが明示的に一致させたディスカバリーモデル (自動一致フラグが false の場合、リセットやアサインパスの影響を受けることはありません。より具体的なソフトウェアモデルが常に優先されます。ツリー順序により、ディスカバリーモデルは最も狭い適用可能なソフトウェアモデルを受け取ります。一度割り当てると、同じ実行内のより一般的なモデルで上書きすることはできません。インストール条件は、互換性のあるディスカバリーモデルセットが存在する場合に絞り込みます。ソフトウェアモデルにインストール条件がある場合、互換性のあるディスカバリーモデルを決定するときに、その条件が追加のフィルターとして含まれます。