【事件の表示】
　特願２０１０−５３７０３１「ロックインジケータを有するマルチスレッドプロセッサ」拒絶査定不服審判事件〔平成２１年　６月１１日国際公開、ＷＯ２００９／０７３７２２、平成２３年　２月２４日国内公表、特表２０１１−５０５６４７〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
第１．手続の経緯
　本件審判請求に係る出願（以下，「本願」という。）は，２００８年１２月３日（パリ条約による優先権主張外国庁受理，２００７年１２月３日（以下，「優先日」という。），アメリカ合衆国）を国際出願日とする出願であって，平成２２年６月３日付けで特許法第１８４条の５第１項の規定による書面が提出され，平成２２年７月５日付けで特許法第１８４条の４第１項の規定による翻訳文が提出されると共に，同日付けで審査請求がなされ，平成２４年３月１３日付けで拒絶理由通知（平成２４年３月２１日発送）がなされ，これに対して，平成２４年８月２１日付け意見書が提出されると共に，同日付けで手続補正及び誤訳訂正がなされ，平成２４年１０月１９日付けで拒絶査定（平成２４年１０月２３日謄本送達）がなされた。
　これに対して，「原査定を取り消す。本願は特許をすべきものである，との審決を求める。」ことを請求の趣旨として，平成２５年２月２５日付けで審判請求がなされると共に，同日付けで手続補正がなされ，平成２５年４月１０日付けで審査官により特許法第１６４条第３項に定める報告がなされ，平成２５年６月１２日付けで当審により特許法第１３４条第４項の規定に基づく審尋（平成２５年６月１８日発送）がなされ，平成２５年９月１８日付けで回答書の提出があったものである。
　
　
第２．平成２５年２月２５日付けの手続補正についての補正却下の決定
　
［補正却下の決定の結論］
　
　平成２５年２月２５日付けの手続補正を却下する。
　
［理由］
　
１．本件補正の内容
　
　平成２５年２月２５日付け手続補正（以下，「本件補正」という。）の内容は，平成２４年８月２１日付け手続補正により補正された特許請求の範囲の請求項１〜２３の記載
「　【請求項１】
　マルチスレッドプロセッサによって実行される方法であって，
　前記マルチスレッドプロセッサのスレッドに関連する変換索引バッファ（ＴＬＢ）ミス事象を受信することと；
　ＴＬＢロックインジケータをチェックすることと；
　前記ＴＬＢロックインジケータがアンロック状態を指示するとき，前記スレッドによるＴＬＢに関連する例外ハンドラへのアクセスを許可し，前記ＴＬＢロックインジケータをロック状態に設定することと；
　前記ＴＬＢロックインジケータがロック状態を指示するとき，前記スレッドをスリープ状態にすることと；
　を備える方法。
　　【請求項２】
　前記ＴＬＢロックインジケータを，ロック状態を指示することからアンロック状態を指示することに移行することをさらに備える，請求項１の方法。
　　【請求項３】
　前記ＴＬＢロックインジケータが前記ロック状態から前記アンロック状態に移行した後に，前記ＴＬＢミス事象を引き起こすパケットの実行を再現することをさらに備える，請求項２の方法。
　　【請求項４】
　前記ＴＬＢがソフトウェア管理ＴＬＢを備える，請求項１の方法。
　　【請求項５】
　前記ＴＬＢミス事象に関する結果を計算することと；
　前記結果を前記ＴＬＢにプログラムすることと；
　前記ＴＬＢロックインジケータを，アンロック状態を指示するように設定することと；
　前記例外ハンドラから戻ることと；
　をさらに備える，請求項１の方法。
　　【請求項６】
　前記ＴＬＢロックインジケータをアンロック状態を指示するように設定することは，前記例外ハンドラから戻り次第，前記ＴＬＢロックインジケータを自動的にアンロックすることを備える，請求項５の方法。
　　【請求項７】
　前記例外ハンドラは，前記ＴＬＢロックインジケータを前記ロック状態を指示するように設定する，請求項１の方法。
　　【請求項８】
　マルチスレッドプロセッサのスレッドに関連する変換索引バッファ（ＴＬＢ）ミス事象を受信することと，なお，前記スレッドは，ＴＬＢロックインジケータがアンロック状態を指示するとき，共有変換索引バッファ（ＴＬＢ）へのアクセスを有する；
　前記ＴＬＢロックインジケータを読み取ること，および前記ＴＬＢロックインジケータがロック状態を指示する時，前記スレッドをスリープ状態にすることと；
　命令を受け取り次第，前記スレッドを起こすことと；
　を備える方法。
　　【請求項９】
　前記ＴＬＢは，第１の時間の間，第１のスレッドのために確保され，前記ＴＬＢは，第２の時間の間，第２のスレッドのために確保され，第３のスレッドは，前記第１の時間帯と前記第２の時間の間スリープ状態にされる，請求項８の方法。
　　【請求項１０】
　前記第３のスレッドは，第３の時間の間，覚醒される，請求項９の方法。
　　【請求項１１】
　前記第３のスレッドを覚醒した後，前記第３のスレッドがスリープ状態にされる前に，前記第３のスレッドによって実行される命令パケットの実行を再現することをさらに備える，請求項１０の方法。
　　【請求項１２】
　マルチスレッドプロセッサの複数の処理スレッドによって共有された変換索引バッファ（ＴＬＢ）と；
　前記マルチスレッドプロセッサのレジスタ内のＴＬＢロックビットと，なお，前記ＴＬＢロックビットはロック構成又はアンロック構成のいずれかを指示する；
　特定のスレッドに関連するＴＬＢミス事象が検出されたときに，前記ロック構成を有する前記ＴＬＢロックビットに応答して，前記複数の処理スレッドの前記特定のスレッドをスリープ状態にするように構成された制御論理回路と；
　を備えるシステム。
　　【請求項１３】
　前記ＴＬＢミス事象は前記特定のスレッドの実行パケットに関連し，前記制御論理回路は，前記実行パケットを記憶するように，および，前記特定のスレッドがスリープ状態におかれる時に前記特定のスレッドに関連したプログラムカウンタを増やさないように，さらに構成される，請求項１２のシステム。
　　【請求項１４】
　前記特定のスレッドは，前記ＴＬＢミス事象に応答して，例外ハンドラを起動することなく，スリープ状態にされる，請求項１２のシステム。
　　【請求項１５】
　前記制御論理回路は，前記ＴＬＢロックビットを前記ロック構成に設定し，かつ，前記アンロック構成を有する前記ＴＬＢロックビットに応答して前記ＴＬＢミス事象に関連する例外ハンドラを同時に開始するようにさらに構成される，請求項１２のシステム。
　　【請求項１６】
　前記ＴＬＢロックビットは，前記制御論理回路によってロックされ，前記例外ハンドラの命令によってアンロックされるように構成される，請求項１５のシステム。
　　【請求項１７】
　前記制御論理回路は，別のＴＬＢミス事象に応答して，前記複数の処理スレッドの別のスレッドもスリープ状態におかれるときに，前記特定のスレッドを覚醒するための順序を示すデータを記憶するように構成される，請求項１２のシステム。
　　【請求項１８】
　前記特定のスレッドを覚醒するために，前記順序を示す前記データは，先入れ先出し（ＦＩＦＯ）バッファに記憶される，請求項１７のシステム。
　　【請求項１９】
　プロセッサ実行命令を有するコンピュータ読み取り可能媒体であって，プロセッサ実行命令はプロセッサに：
　ハードウェアロックがロック状態を指示する間，マルチスレッドプロセッサの複数のスレッドによって共有されたリソースに関連する例外を処理させ；
　前記例外が処理された後に，前記リソースに関連するハードウェアロックをアンロック状態に設定させ；
　前記ハードウェアロックが前記ロック状態を指示したことに応じて，前記複数のスレッドのうちの特定のスレッドに起因する前記リソースに関連する例外事象が検出されると，前記特定のスレッドスリープ状態にさせる；
　コンピュータ読み取り可能媒体。
　　【請求項２０】
　前記共有リソースは，前記マルチスレッドプロセッサのコアメモリリソースである，請求項１９のコンピュータ読み取り可能媒体。
　　【請求項２１】
　前記コアメモリリソースは変換索引バッファ（ＴＬＢ）であり，前記例外はＴＬＢミスによって引き起こされる，請求項２０のコンピュータ読み取り可能媒体。
　　【請求項２２】
　前記ハードウェアロックは，グローバルレジスタの少なくとも１つのビットを含み，前記ハードウェアロックは，前記例外が処理される前に，前記プロセッサの制御論理回路によってロックされるように構成される，請求項１９のコンピュータ読み取り可能媒体。
　　【請求項２３】
　マルチスレッドプロセッサの共有リソースのロック状態を指示する手段と；
　前記ロック状態を指示する手段が前記共有リソースへのアクセスを許可するとき，前記共有リソースに関連する例外処理命令を処理する前に，前記共有リソースを自動的にロックする手段と；
　前記共有リソースがロックされている間に起こる例外事象に応答して，スレッドの状態を保存する手段と；
　前記状態が保存された後に，前記スレッドをスリープ状態にする手段と；
　前記共有リソースをアンロックする手段と；
　を備えるシステム。」
（以下，この特許請求の範囲に記載された請求項を「補正前の請求項」という。）
を，
　
「　【請求項１】
　変換索引バッファ（ＴＬＢ）とＴＬＢロックインジケータとに結合された制御論理回路を備えるマルチスレッドプロセッサが実行する方法であって，
　前記マルチスレッドプロセッサの特定のスレッドに関連する変換索引バッファ（ＴＬＢ）ミス事象を受信することと；
　前記ＴＬＢロックインジケータをチェックすることと，なお，前記ＴＬＢロックインジケータはグローバル状態レジスタの１以上のビットを備えており，前記ＴＬＢロックインジケータは前記制御論理回路によって設定される；
　前記ＴＬＢロックインジケータがアンロック状態を指示するとき，前記特定のスレッドによる前記ＴＬＢに関連する例外ハンドラへのアクセスを可能にし，前記ＴＬＢロックインジケータをロック状態に設定することと；
　前記ＴＬＢロックインジケータがロック状態を指示するとき，前記制御論理回路からのスリープ命令の受信に応答して前記特定のスレッドをスリープ状態にすることと；
　前記ＴＬＢロックインジケータを，ロック状態を指示することからアンロック状態を指示することに移行することと；
　前記ＴＬＢロックインジケータが前記ロック状態から前記アンロック状態に移行した後に，前記ＴＬＢミス事象を引き起こしたパケットの実行を再現することと；
　を備える方法。
　　【請求項２】
　前記ＴＬＢがソフトウェア管理ＴＬＢを備える，請求項１の方法。
　　【請求項３】
　前記ＴＬＢミス事象に関する結果を計算することと；
　前記結果を前記ＴＬＢにプログラムすることと；
　前記ＴＬＢロックインジケータを，アンロック状態を指示するように設定することと；
　前記例外ハンドラから戻ることと；
　をさらに備える，請求項１の方法。
　　【請求項４】
　前記ＴＬＢロックインジケータをアンロック状態を指示するように設定することは，前記例外ハンドラから戻り次第，前記ＴＬＢロックインジケータを自動的にアンロックすることを備える，請求項３の方法。
　　【請求項５】
　前記例外ハンドラは，前記ＴＬＢロックインジケータを前記ロック状態を指示するように設定する，請求項１の方法。
　　【請求項６】
　変換索引バッファ（ＴＬＢ）とＴＬＢロックインジケータとに結合された制御論理回路を備えるマルチスレッドプロセッサが実行する方法であって，
　前記マルチスレッドプロセッサの特定のスレッドに関連する変換索引バッファ（ＴＬＢ）ミス事象を受信することと，なお，前記特定のスレッドは，前記ＴＬＢロックインジケータがアンロック状態を指示するとき前記ＴＬＢに関連する例外ハンドラにアクセスし，前記ＴＬＢロックインジケータはグローバル状態レジスタの１以上のビットを備え，また，前記ＴＬＢロックインジケータは前記制御論理回路によって設定される；
　前記ＴＬＢロックインジケータを読み取り，前記ＴＬＢロックインジケータがロック状態を指示するとき，前記制御論理回路からのスリープ命令の受信に応答して前記特定のスレッドをスリープ状態にすることと；
　前記ＴＬＢロックインジケータを，ロック状態を指示することからアンロック状態を指示することに移行することと；
　前記ＴＬＢロックインジケータが前記ロック状態から前記アンロック状態に移行した後に命令を受け取って前記スレッドを覚醒し，前記ＴＬＢミス事象を引き起こしたパケットの実行を再現することと；
　を備える方法。
　　【請求項７】
　前記ＴＬＢは，第１の時間の間，第１のスレッドのために確保され，前記ＴＬＢは，第２の時間の間，第２のスレッドのために確保され，第３のスレッドは，前記第１の時間帯と前記第２の時間の間スリープ状態にされる，請求項６の方法。
　　【請求項８】
　前記第３のスレッドは，第３の時間の間，覚醒される，請求項７の方法。
　　【請求項９】
　前記第３のスレッドを覚醒した後，前記第３のスレッドがスリープ状態にされる前に，前記第３のスレッドによって実行される命令パケットの実行を再現することをさらに備える，請求項８の方法。
　　【請求項１０】
　マルチスレッドプロセッサの複数の処理スレッドによって共有された変換索引バッファ（ＴＬＢ）と；
　グローバル状態レジスタ内にＴＬＢロックビットを備えるＴＬＢロックインジケータと，なお，前記ＴＬＢロックビットはロック構成又はアンロック構成のいずれかを指示する；
　前記変換索引バッファ（ＴＬＢ）及び前記ＴＬＢロックインジケータに結合された制御論理回路と；
　を備え，
　前記制御論理回路は，
　　前記ＴＬＢロックビットを設定し；
　　前記特定のスレッドに関連するＴＬＢミス事象が検出されたときに，
　　　前記アンロック構成を指示する前記ＴＬＢロックビットに応答して，前記複数の処理スレッドのうちの前記特定のスレッドによる前記ＴＬＢに関連する例外ハンドラへのアクセスを可能にし；
　　　前記ロック構成を指示する前記ＴＬＢロックビットに応答して，前記複数の処理スレッドのうちの前記特定のスレッドをスリープ状態にするように構成されたスリープ命令を発し；
　　前記ＴＬＢロックインジケータを，ロック状態を指示することからアンロック状態を指示することに移行し；
　前記ＴＬＢロックインジケータが前記ロック状態から前記アンロック状態に移行した後に，前記スレッドを覚醒して前記ＴＬＢミス事象を引き起こしたパケットの実行を再現する；
　ように構成された，
　システム。
　　【請求項１１】
　前記ＴＬＢミス事象は前記特定のスレッドの実行パケットに関連し，前記制御論理回路は，前記実行パケットを記憶するように，および，前記特定のスレッドがスリープ状態におかれる時に前記特定のスレッドに関連したプログラムカウンタを増やさないように，さらに構成される，請求項１０のシステム。
　　【請求項１２】
　前記特定のスレッドは，前記ＴＬＢミス事象に応答して，例外ハンドラを起動することなく，スリープ状態にされる，請求項１０のシステム。
　　【請求項１３】
　前記制御論理回路は，前記ＴＬＢロックビットを前記ロック構成を指示するように設定し，かつ，前記アンロック構成を指示する前記ＴＬＢロックビットに応答して前記ＴＬＢミス事象に関連する例外ハンドラを同時に開始するようにさらに構成される，請求項１０のシステム。
　　【請求項１４】
　前記ＴＬＢロックビットは，前記制御論理回路によってロックされ，前記例外ハンドラの命令によってアンロックされるように構成される，請求項１３のシステム。
　　【請求項１５】
　前記制御論理回路は，別のＴＬＢミス事象に応答して，前記複数の処理スレッドの別のスレッドもスリープ状態におかれるときに，前記特定のスレッドを覚醒するための順序を示すデータを記憶するように構成される，請求項１０のシステム。
　　【請求項１６】
　前記特定のスレッドを覚醒するために，前記順序を示す前記データは，先入れ先出し（ＦＩＦＯ）バッファに記憶される，請求項１５のシステム。
　　【請求項１７】
　プロセッサ実行命令を有するコンピュータ可読記憶媒体であって，プロセッサ実行命令はプロセッサに：
　マルチスレッドプロセッサの特定のスレッドに関連する変換索引バッファ（ＴＬＢ）ミス事象を受信させ，
　ＴＬＢロックインジケータをチェックさせ，なお，前記ＴＬＢロックインジケータはグローバル状態レジスタの１以上のビットを備えており，前記ＴＬＢロックインジケータは制御論理回路によって設定される；
　前記ＴＬＢロックインジケータがアンロック状態を指示するとき，前記特定のスレッドによる前記ＴＬＢに関連する例外ハンドラへのアクセスを可能にさせ，かつ，前記ＴＬＢロックインジケータをロック状態に設定させ；
　前記ＴＬＢロックインジケータがロック状態を指示するとき，前記制御論理回路からのスリープ命令の受信に応答して前記特定のスレッドをスリープ状態にさせ；
　前記ＴＬＢロックインジケータを，ロック状態を指示することからアンロック状態を指示することに移行させ；
　前記ＴＬＢロックインジケータが前記ロック状態から前記アンロック状態に移行した後に，前記ＴＬＢミス事象を引き起こしたパケットの実行を再現させる；
　コンピュータ可読記憶媒体。
　　【請求項１８】
　マルチスレッドプロセッサの特定のスレッドに関連する変換索引バッファ（ＴＬＢ）ミス事象を受信するために手段と；
　ＴＬＢロックインジケータをチェックするための手段と，なお，前記ＴＬＢロックインジケータはグローバル状態レジスタの１以上のビットを備えており，前記ＴＬＢロックインジケータは前記マルチスレッドプロセッサの制御論理回路によって設定され，前記制御論理回路は，
　　前記ＴＬＢロックインジケータがアンロック状態を指示するとき，前記特定のスレッドによる前記ＴＬＢに関連する例外ハンドラへのアクセスを可能にし，かつ，前記ＴＬＢロックインジケータをロック状態に設定し；
　前記ＴＬＢロックインジケータがロック状態を指示するとき，前記特定のスレッドをスリープ状態にするためのスリープ命令を発し；
　前記ＴＬＢロックインジケータを，ロック状態を指示することからアンロック状態を指示することに移行し；
　前記ＴＬＢロックインジケータが前記ロック状態から前記アンロック状態に移行した後に，前記ＴＬＢミス事象を引き起こしたパケットの実行を再現する；
　ように構成された，
　システム。」
（以下，この特許請求の範囲に記載された請求項を「補正後の請求項」という。）
に補正するものである。
　
　
２．目的要件
（１）　本件補正は，平成２２年７月５日付け翻訳文における明細書の段落【００１５】，【００１６】，及び【００２１】，並びに特許請求の範囲の請求項３及び４の記載に基づくものといえるから，特許法第１７条の２第３項の規定に適合しているといえる。
　そして，本件補正は，本件審判の請求と同時にする補正であり，上記「１．本件補正の内容」のとおり，特許請求の範囲についてする補正であるので，本件補正の目的を検討する。
　
（２）　補正前の請求項１における「マルチスレッドプロセッサ」との記載を，「変換索引バッファ（ＴＬＢ）とＴＬＢロックインジケータとに結合された制御論理回路を備えるマルチスレッドプロセッサ」と補正することは，補正前の「マルチスレッドプロセッサ」を，「変換索引バッファ（ＴＬＢ）とＴＬＢロックインジケータとに結合された制御論理回路を備える」ものに限定するものであって，産業上の利用分野及び解決しようとする課題を変更するものではない。
　さらに，補正前の請求項１に記載された「ＴＬＢロックインジケータ」に関して，補正後の請求項１において，「なお，前記ＴＬＢロックインジケータはグローバル状態レジスタの１以上のビットを備えており，前記ＴＬＢロックインジケータは前記制御論理回路によって設定される」との記載を追加することは，補正前の「ＴＬＢロックインジケータ」を，「グローバル状態レジスタの１以上のビットを備え」たものであって，「前記制御論理回路によって設定される」ものにするものであって，産業上の利用分野及び解決しようとする課題を変更するものではない。
　してみると，本件補正は，特許請求の範囲の減縮（特許法第３６条第５項の規定により請求項に記載した発明を特定するために必要な事項を限定するものであって，その補正前の当該請求項に記載された発明とその補正後の当該請求項に記載される発明の産業上の利用分野及び解決しようとする課題が同一であるものに限る。）に該当する。
　
　
３．独立特許要件
　本件補正は，上記「２．目的要件」において示したように特許請求の範囲の減縮に該当するから，本件補正後の各請求項に係る発明が特許出願の際独立して特許を受けることができるものであるか否かについて検討する。
　
（１）　本件補正発明
　本願の請求項１に係る発明（以下，「本件補正発明」という。）は，補正後の請求項１に記載された事項により特定される，以下のとおりのものである。（再掲する。）
　
「変換索引バッファ（ＴＬＢ）とＴＬＢロックインジケータとに結合された制御論理回路を備えるマルチスレッドプロセッサが実行する方法であって，
　前記マルチスレッドプロセッサの特定のスレッドに関連する変換索引バッファ（ＴＬＢ）ミス事象を受信することと；
　前記ＴＬＢロックインジケータをチェックすることと，なお，前記ＴＬＢロックインジケータはグローバル状態レジスタの１以上のビットを備えており，前記ＴＬＢロックインジケータは前記制御論理回路によって設定される；
　前記ＴＬＢロックインジケータがアンロック状態を指示するとき，前記特定のスレッドによる前記ＴＬＢに関連する例外ハンドラへのアクセスを可能にし，前記ＴＬＢロックインジケータをロック状態に設定することと；
　前記ＴＬＢロックインジケータがロック状態を指示するとき，前記制御論理回路からのスリープ命令の受信に応答して前記特定のスレッドをスリープ状態にすることと；
　前記ＴＬＢロックインジケータを，ロック状態を指示することからアンロック状態を指示することに移行することと；
　前記ＴＬＢロックインジケータが前記ロック状態から前記アンロック状態に移行した後に，前記ＴＬＢミス事象を引き起こしたパケットの実行を再現することと；
　を備える方法。」
　
（２）　先行技術文献
ア．引用文献１
　本願の優先日前に頒布又は電気通信回線を通じて公衆に利用可能となり，原査定の拒絶の理由で引用された文献である，米国特許出願公開第２００７／００５０５９５号明細書（平成１９年３月１日公開。以下，「引用文献１」という。）には，関連する図とともに，次の記載がある。（当審注：下線は，参考のために当審で付与したものである。以下，同じ。）
　
Ａ．「1 . 
A method for synchronizing access to a translation lookaside buffer in a multithread processor, wherein the method comprises:　finding a first translation lookaside buffer exception with a first thread processor;　indicating that the first translation lookaside buffer exception is being processed;　finding a second translation lookaside buffer exception with a second thread processor; and　handling the second translation lookaside buffer exception after the first translation lookaside buffer exception has been processed
2 . The method of  claim 1 , wherein the first thread processor and the second thread processor search the translation lookaside buffer at the same time.
3 . 
The method of  claim 1 , wherein a serialization bit is set to indicate that the first translation lookaside buffer exception is being processed
4 . 
The method of  claim 3 , wherein the serialization bit is reset to indicate that the first translation lookaside buffer exception has been processed
　
（当審仮訳：
１．
マルチスレッドプロセッサ内の変換索引バッファへのアクセスを同期するための方法であって，　第１のスレッドプロセッサの第１の変換索引バッファ例外を発見することと，　第１の変換索引バッファ例外が処理中であることを示すことと，　第２のスレッドプロセッサの第２の変換索引バッファ例外を発見することと，　第１の変換索引バッファ例外が処理された後に第２の変換索引バッファ例外の処理を行うこと，を含む方法
２．第１のスレッドプロセッサと第２のスレッドプロセッサが同時に変換索引バッファを検索することを特徴とする請求項１に記載の方法。
３．
第１の変換索引バッファ例外が処理中であることを示すために，シリアライゼーション・ビットがセットされることを特徴とする請求項１に記載の方法
４．
第１の変換索引バッファ例外の処理が終了したことを示すために，シリアライゼーション・ビットがリセットされることを特徴とする請求項３に記載の方法
　
Ｂ．「[0013] The CMT processor  101  contains a set of execution elements, called the thread processors (TP)  103 ,  105 , and  107 . Each TP  103 ,  105 , and  107  can execute a program independently and receive external interrupts. TPs  103 ,  105 , and  107  can share system resources such as a system interface  109 , a translation lookaside buffer (TLB)  111 , an instruction cache  113 , and a data cache  115 .
・・・（中略）・・・
[0015] The TLB  111  can be shared by multiple TPs in a CMT processor  101 . When one TLB exception is handled, the resource requirements may preclude another TLB exception from being handled. Therefore, 
the CMT processor allows one TLB exception at a time
　
（当審仮訳：
［００１３］　ＣＭＴプロセッサ１０１は，スレッドプロセッサ（ＴＰ）１０３，１０５，及び１０７と呼ばれる実行要素の組を含んでいる。各ＴＰ１０３，１０５，及び１０７は，プログラムを独立に実行し，外部割り込みを受け取ることができる。ＴＰ１０３，１０５，及び１０７は，システムインターフェース１０９，変換索引バッファ（ＴＬＢ）１１１，命令キャッシュ１１３，及びデータキャッシュ１１５のようなシステムリソースを共有することができる。
・・・（中略）・・・
［００１５］　ＴＬＢ１１１は，ＣＭＴプロセッサ１０１内の複数のＴＰで共有することができる。１つのＴＬＢ例外が処理される際，他のＴＬＢ例外の処理は排除され得る。したがって，
ＣＭＴプロセッサは，一度に１つのＴＬＢ例外を許可する
　
Ｃ．「[0017] Each entry in the table  201  may contain a virtual page ID, a physical page ID, and a page size. A memory access can manage a search of the TLB  111 . For example, the mth TP  107  may read  117  from the TLB  111  and perform a normal memory access when a virtual page match is found. 
When a TLB search cannot match a virtual page in the TLB  111 , a TLB miss exception is generated and the exception handler  207  can use control registers  205  and instructions  203  to refill  119  a missing page translation in the table  201  of the TLB  111
　
（当審仮訳：
［００１７］　テーブル２０１の各エントリは，仮想ページＩＤ，物理ページＩＤ，及びページサイズを含み得る。メモリアクセスは，ＴＬＢ１１１の検索を管理することができる。例えば，ｍ番目のＴＰ１０７は，ＴＬＢ１１１から１１７を読み取り，仮想ページの一致が検出された際に，通常のメモリアクセスを実行することができる。
ＴＬＢ１１１内で仮想ページの一致が検出できない際には，ＴＬＢミス例外が生成され，ＴＬＢ１１１のテーブル２０１内に不足しているページ変換をリフィル１１９するために，例外ハンドラ２０７は，コントロールレジスタ２０５と命令２０３を使用できる
　
Ｄ．「[0020]　FIG. 3  is a flowchart  300  illustrating an exemplary method for synchronizing Translation Lookaside Buffer (TLB) access in a concurrent multithread processor in accordance with a representative embodiment of the present invention.
[0021]　A first thread processor searches a translation look-aside buffer at  301 . The first thread processor finds a first TLB exception at  303 . 
The exception can be caused by having a particular page missing from the plurality of virtual pages in the TLB
[0022]When a serialization bit is set, the TLB can be continuously searched by the second TP or searching can be stopped until the first TLB exception has been completed. A second thread processor searches the TLB at  305 . If searching continues, the second thread processor may find a second TLB exception at  309 . At  311 , 
a handling of the second TLB exception is delayed until after the first TLB exception has been processed
[0023]　An exception handler can replace the missing page in the first TLB exception by using the instructions and control registers in the TLB. The serialization bit can be reset to 'zero' to indicate 
when the first TLB exception has been completed
Upon completion, the exception handler can execute
to return the first thread processor to the program that searched the TLB
　
（当審仮訳：
［００２０］　図３は，本発明の代表的な実施形態による，マルチスレッドプロセッサ内の変換索引バッファ（ＴＬＢ）へのアクセスを同期するための例示的な方法を示すフローチャート３００である。
［００２１］　第１のスレッドプロセッサは３０１で変換索引バッファを検索する。第１のスレッドプロセッサは，３０３で第１のＴＬＢ例外を検出する。
第１のＴＬＢ例外は，ＴＬＢにおいて，所定の仮想ページに所望のページが含まれていないことによって引き起こされ得る
［００２２］　シリアライゼーション・ビットがセットされると，ＴＬＢは，第２のスレッドプロセッサによって，連続的に検索され得るか，第１のＴＬＢ例外が完了するまで，検索を停止させられ得る。第２のスレッドプロセッサは３０５で，ＴＬＢを検索する。検索が続けば，第２のスレッドプロセッサは，３０９で第２のＴＬＢ例外を検出し得る。３１１において，
第２のＴＬＢ例外の処理は，第１のＴＬＢ例外の処理が終わるまで遅延される
［００２３］　例外ハンドラは，ＴＬＢ内の命令レジスタや制御レジスタを用いて，第１のＴＬＢ例外で含まれていないページを置き換えることができる。
第１のＴＬＢ例外が完了したことを示すために
完了すると，例外ハンドラは，第１のスレッドプロセッサをＴＬＢを検索したプログラムに戻すために，特別な命令である“return from exception”を実行する
　
Ｅ．「[0025]　Accordingly, 
the present invention may be realized in hardware, software, or a combination of hardware and software
　
（当審仮訳：
［００２５］　したがって，
本発明は，ハードウェア，ソフトウェア，又はハードウェアとソフトウェアの組合せで実現されてもよい
　
Ｆ．
　
イ．参考文献１
　本願の優先日前に頒布又は電気通信回線を通じて公衆に利用可能となった文献である，特開２００４−０２１９８５号公報（平成１６年１月２２日公開。以下，「参考文献１」という。）には，次の記載がある。
　
Ｇ．「【０００２】
【従来の技術】
マルチスレッドプログラムでは
ロック機構を用いる一手法では，
スレッドは，保護部分にアクセスする際にロックを取得するため，そのスレッドがロックを保持している間，他のスレッドは同じ部分にアクセスすることができない
スレッドがロックを解除すると，別のスレッドがロックを取得して保護部分にアクセスし，他のスレッドが同じ部分にアクセスできないようにする。
【０００３】
ロックを待っているスレッドは，スリープ待ち行列に入り
　
ウ．参考文献２
　本願の優先日前に頒布又は電気通信回線を通じて公衆に利用可能となった文献である，特表２００７−５２０７６９号公報（平成１９年７月２６日公表。以下，「参考文献２」という。）には，関連する図とともに，次の記載がある。
　
Ｈ．「【０００３】
  ロックがプロセッサに利用可能になるなど，モニタイベントが発生するまで他のプロセッサと競合するロックを取得するため，プロセッサをスリープ状態にするシステム，装置及び方法が提供される。すなわち，
プロセッサはロックが利用可能となるのを待機しているが，キューへの待機中にはスリープ状態となるようにしてもよい
ロックを求めるプロセッサは，ハイパースレッドプロセッサの論理プロセッサであってもよい
　
（３）　引用発明の認定
ア．引用文献１には，次の技術的事項が記載されている。
（ア）　上記Ａ．には，請求項１として，「A method for synchronizing access to a translation lookaside buffer in a multithread processor, wherein the method comprises:　finding a first translation lookaside buffer exception with a first thread processor;　indicating that the first translation lookaside buffer exception is being processed;　finding a second translation lookaside buffer exception with a second thread processor; and　handling the second translation lookaside buffer exception after the first translation lookaside buffer exception has been processed. （マルチスレッドプロセッサ内の変換索引バッファへのアクセスを同期するための方法であって，第１のスレッドプロセッサの第１の変換索引バッファ例外を発見することと，第１の変換索引バッファ例外が処理中であることを示すことと，第２のスレッドプロセッサの第２の変換索引バッファ例外を発見することと，第１の変換索引バッファ例外が処理された後に第２の変換索引バッファ例外の処理を行うこと，を含む方法）」が記載され，請求項３として，「The method of  claim 1 , wherein a serialization bit is set to indicate that the first translation lookaside buffer exception is being processed.（第１の変換索引バッファ例外が処理中であることを示すために，シリアライゼーション・ビットがセットされることを特徴とする請求項１に記載の方法）」が記載され，請求項４として「The method of  claim 3 , wherein the serialization bit is reset to indicate that the first translation lookaside buffer exception has been processed.（第１の変換索引バッファ例外の処理が終了したことを示すために，シリアライゼーション・ビットがリセットされることを特徴とする請求項３に記載の方法）」が記載されている。
　そして，上記「第１のスレッドプロセッサの第１の変換索引バッファ例外」及び上記「第２のスレッドプロセッサの第２の変換索引バッファ例外」が，それぞれ「第１のスレッドに関する第１の変換索引バッファ例外」及び「第２のスレッドに関する第２の変換索引バッファ例外」といえることは，当業者にとって自明であるから，上記Ａ．には，「マルチスレッドプロセッサ内の変換索引バッファへのアクセスを同期するための方法であって，第１のスレッドに関する第１の変換索引バッファ例外を発見することと，第１の変換索引バッファ例外が処理中であることを示すことと，第２のスレッドに関する第２の変換索引バッファ例外を発見することと，第１の変換索引バッファ例外が処理された後に第２の変換索引バッファ例外の処理を行うこと，第１の変換索引バッファ例外が処理中であることを示すために，シリアライゼーション・ビットがセットされることと，第１の変換索引バッファ例外の処理が終了したことを示すために，シリアライゼーション・ビットがリセットされること，を含む方法」が記載されているといえる。
　
（イ）　上記Ｄ．には，段落［００２２］に「a handling of the second TLB exception is delayed until after the first TLB exception has been processed.（第２のＴＬＢ例外の処理は，第１のＴＬＢ例外の処理が終わるまで遅延される）」ことが記載され，「ＴＬＢ」が「変換索引バッファ」であることは，上記Ｄ．の段落［００２０］に示されるとおりであるから，上記Ａ．に記載された「第１の変換索引バッファ例外が処理された後に第２の変換索引バッファ例外の処理を行うこと」の具体的態様として，「第２の変換索引バッファ例外の処理は，第１の変換索引バッファ例外の処理が終わるまで遅延される」ことが記載されているといえる。
　
（ウ）　上記Ｃ．には，「When a TLB search cannot match a virtual page in the TLB  111 , a TLB miss exception is generated and the exception handler  207  can use control registers  205  and instructions  203  to refill  119  a missing page translation in the table  201  of the TLB  111 .（ＴＬＢ１１１内で仮想ページの一致が検出できない際には，ＴＬＢミス例外が生成され，ＴＬＢ１１１のテーブル２０１内に不足しているページ変換をリフィル１１９するために，例外ハンドラ２０７は，コントロールレジスタ２０５と命令２０３を使用できる）」ことが記載され，「ＴＬＢ１１１内で仮想ページの一致が検出できない際には，ＴＬＢミス例外が生成」されるとは「ＴＬＢ例外」が発見されることであることは，当業者にとって自明であるから，上記Ｃ．には，変換索引バッファ例外が発見されると，例外ハンドラが実行されることが記載されているといえる。
　そして，上記Ｄ．の段落［００２３］の「when the first TLB exception has been completed. Upon completion, the exception handler can execute ・・・（中略）・・・ to return the first thread processor to the program that searched the TLB.（第１のＴＬＢ例外が完了したことを示すために，・・・（中略）・・・完了すると，例外ハンドラは，第１のスレッドプロセッサをＴＬＢを検索したプログラムに戻す）」との記載からは，「ＴＬＢを検索したプログラム」に戻される「第１のスレッドプロセッサ」で「例外ハンドラ」が実行されていたことが読み取れるから，「ＴＬＢを検索したプログラム」が実行されるスレッド，すなわちＴＬＢ例外を発見したスレッドと，「例外ハンドラ」が実行されるスレッドは，共に「第１のスレッド」ということができる旨が，上記Ｄ．から読み取れる。
　してみれば，上記Ｃ．及びＤ．からは，第１のスレッドに関する変換索引バッファ例外が発見されると，「第１のスレッドで例外ハンドラを実行する」ことが読み取れる。
　
（エ）　上記Ｄ．には，段落［００２３］に「when the first TLB exception has been completed. Upon completion, the exception handler can execute a special 'return from exception' instruction to return the first thread processor to the program that searched the TLB. （第１のＴＬＢ例外が完了したことを示すために，・・・（中略）・・・完了すると，例外ハンドラは，第１のスレッドプロセッサをＴＬＢを検索したプログラムに戻すために，特別な命令である“return from exception”を実行する）」ことが記載されているから，上記Ｄ．には，「第１の変換索引バッファ例外の処理が完了すると，例外ハンドラは，第１のスレッドプロセッサを変換索引バッファを検索したプログラムに戻す命令を実行する」ことが記載されているといえる。
　
イ．これらのことから，引用文献１には，次の発明（以下，「引用発明」という。）が記載されていると認められる。
　
「マルチスレッドプロセッサ内の変換索引バッファへのアクセスを同期するための方法であって，
　第１のスレッドに関する第１の変換索引バッファ例外を発見することと，
　第１のスレッドで例外ハンドラを実行することと，
　第１の変換索引バッファ例外が処理中であることを示すことと，
　第２のスレッドに関する第２の変換索引バッファ例外を発見することと，
　第１の変換索引バッファ例外が処理された後に第２の変換索引バッファ例外の処理を行うこと，を含み，
　第１の変換索引バッファ例外が処理中であることを示すために，シリアライゼーション・ビットをセットすることと，
　第１の変換索引バッファ例外の処理が終了したことを示すために，シリアライゼーション・ビットをリセットすることと，
　第２の変換索引バッファ例外の処理を，第１の変換索引バッファ例外の処理が終わるまで遅延することと，
　第１の変換索引バッファ例外の処理が完了すると，例外ハンドラは，第１のスレッドプロセッサを変換索引バッファを検索したプログラムに戻す命令を実行すること，
を含む方法。」
　
　
（４）　対比
ア．引用発明における，「マルチスレッドプロセッサ内の変換索引バッファへのアクセスを同期するための方法」は，上記Ｂ．の「ＣＭＴプロセッサは，一度に１つのＴＬＢ例外を許可する」旨の記載を参酌すれば，「ＣＭＴプロセッサ」，すなわち「マルチスレッドプロセッサ」が実行する方法であることは明らかであるから，引用発明と本件補正発明は，「マルチスレッドプロセッサが実行する方法」である点で共通する。
　
イ．上記Ｄ．の段落［００２１］には，「The exception can be caused by having a particular page missing from the plurality of virtual pages in the TLB. （第１のＴＬＢ例外は，ＴＬＢにおいて，所定の仮想ページに所望のページが含まれていないことによって引き起こされ得る）」ことが記載されているから，引用発明の「変換索引バッファ例外」は，変換索引バッファにおいて，所定の仮想ページに所望のページが含まれていないことによって引き起こされるものであるといえる。一方，本願明細書の段落【００１４】には，「ＴＬＢ １０８は，要求された仮想アドレスがＴＬＢ １０８で見つからなかった時に，制御論理回路１０６にＴＬＢミス事象を信号で送るように構成される」と記載されているから，本件補正発明の「変換索引バッファ（ＴＬＢ）ミス事象」は，要求された仮想アドレスが変換索引バッファで見つからない際に起きるものであるといえる。
　そして，変換索引バッファにおいて所定の仮想ページに所望のページが含まれていないことと，要求された仮想アドレスが変換索引バッファで見つからないことが，同義であることは，コンピュータアーキテクチャの技術分野における当業者にとっては自明であるから，引用発明の「変換索引バッファ例外」と，本件補正発明の「変換索引バッファ（ＴＬＢ）ミス事象」は同じ事象によって引き起こされるもの，すなわち，相当するものであるといえる。
　よって，引用発明の「第１のスレッドプロセッサの第１の変換索引バッファ例外を発見すること」は本件補正発明の「前記マルチスレッドプロセッサの特定のスレッドに関連する変換索引バッファ（ＴＬＢ）ミス事象を受信すること」に相当する。
　
ウ．
（ア）　引用発明における「シリアライゼーション・ビット」とは，変換索引バッファ例外が処理中であることを示すためにセットされ，変換索引バッファ例外の処理が終了するとリセットされるものであることは，上記Ａ．の請求項３及び４，並びに上記Ｄ．の段落［００２１］及び［００２３］の記載から明らかである。
　一方，本件補正発明における「ＴＬＢロックインジケータ」とは，一般的な技術用語とはいえないから，その意味を解釈するために，本願明細書及び図面を参酌すると，段落【００２２】に「ＴＬＢミス事象によりＴＬＢ １０８がロックされる時，制御論理回路１０６は，
ＴＬＢミス事象に応答する例外ハンドラ
例外ハンドラへのスレッドによるアクセスが
許可され
ＴＬＢロックインジケータは，アクセスが許可された時
ロックされる
ＴＬＢロックインジケータは，例外ハンドラから戻り次第，自動的にアンロックされる
　してみると，引用発明の「シリアライゼーション・ビット」は，本件補正発明の「ＴＬＢロックインジケータ」に相当するといえる。
　
（イ）　上記Ｄ．において「The first thread processor finds a first TLB exception at  303 .（第１のスレッドプロセッサは，３０３で第１のＴＬＢ例外を検出する）」ことと，「the second thread processor may find a second TLB exception at  309 .（第２のスレッドプロセッサは，３０９で第２のＴＬＢ例外を検出し得る）」ことが記載されると共に，上記Ｆ．において，「３０３」の処理が，「３０９」の処理より先に行われることが記載されているから，引用発明において，「第１のスレッドプロセッサの第１の変換索引バッファ例外を発見する」との処理が，「第２のスレッドプロセッサの第２の変換索引バッファ例外を発見する」との処理より前に行われることは明らかである。
　そして，第１の変換索引バッファ例外を発見すると，第１の変換索引バッファ例外が処理中であることを示すために，シリアライゼーション・ビットがセットされるのであるから，第２の変換索引バッファ例外を発見するとの処理が行われる際には，シリアライゼーション・ビットは既にセットされているといえる。
　また，ビットがセットされるとの処理は，リセット状態にあるビットをセットすることを意味することは，当業者にとって自明であるし，「第１のスレッドプロセッサの第１の変換索引バッファ例外を発見する」処理より前に変換索引バッファ例外が起きていること，又はシリアライゼーション・ビットがセットされていることが，引用文献１のいずれの箇所にも記載も示唆もされていないことなどから見て，引用発明において，シリアライゼーション・ビットがセットされる前には，シリアライゼーション・ビットはリセット状態にあるといえる。
　
（ウ）　「ハンドラ」とは，コンピュータアーキテクチャの技術分野においては，何らかの処理要求が発生したときに起動されるプログラムなどであって，通常のプログラムの流れには組み込まれず，普段は待機しているが，対応すべき処理要求が発生すると通常のプログラムの流れを中断して呼び出され，要求された処理を実行するものを指す技術用語であると解するのが通常である。また，「ハンドラ」には，対応すべき処理要求の種類に応じて，「イベントハンドラ」や「割り込みハンドラ」などがあることも，当業者に広く知られたことである。
　そして，本願明細書の段落【００１８】の「一般的に，第１のスレッド１１２の例外ハンドラ１２２は，スレッド１１２と１１４によって共有されたリソースに関連する例外を処理するため，および，例外が処理された後に，リソースのためにハードウェアロックをアンロックするために，命令を取り込み，実行する。」との記載を参酌すると，本件補正発明における「例外ハンドラ」とは，スレッドによって共有されたリソースに関する例外を処理するためのものであるといえる。してみると，本件補正発明において，「前記特定のスレッドによる前記ＴＬＢに関連する例外ハンドラへのアクセスを可能に」するとは，「前記特定のスレッド」から変換索引バッファに関連する例外処理を行うハンドラへのアクセスを可能にすること，すなわち，「前記特定のスレッド」から変換索引バッファに関連する例外処理の要求を可能にすることであると解される。
　一方，上記Ｃ．の記載によると，引用発明の「例外ハンドラ」は「ＴＬＢ１１１内で仮想ページの一致が検出できない際には，ＴＬＢミス例外が生成され，ＴＬＢ１１１のテーブル２０１内に不足しているページ変換をリフィル１１９するため」のものといえるから，引用発明の「例外ハンドラ」は，変換索引バッファに関連する例外処理を行うハンドラであるといえる。そして，スレッドで例外ハンドラを実行する際に，スレッドから例外処理の要求を行うことは，当業者にとって自明であり，例外処理の要求を行う際には，例外処理の要求を行うことが少なくとも可能とされることも，当業者にとって自明である。よって，引用発明において「第１のスレッドで例外ハンドラを実行する」際には，少なくとも，「第１スレッド」から変換索引バッファに関連する例外処理の要求を行うことを可能にしているといえる。
　してみれば，引用発明の「第１スレッドで例外ハンドラを実行する」ことは，本件補正発明の「前記特定のスレッドによる前記ＴＬＢに関連する例外ハンドラへのアクセスを可能に」することに相当する。
　
（エ）　よって，引用発明において「第１のスレッドプロセッサの第１の変換索引バッファ例外を発見する」処理に続いて，「第１のスレッドで例外ハンドラを実行する」処理と，「第１の変換索引バッファ例外が処理中であることを示す」処理，すなわち，「第１の変換索引バッファ例外が処理中であることを示すために，シリアライゼーション・ビットがセットされる」との処理を行うことは，本件補正発明の「前記ＴＬＢロックインジケータがアンロック状態を指示するとき，前記特定のスレッドによる前記ＴＬＢに関連する例外ハンドラへのアクセスを可能にし，前記ＴＬＢロックインジケータをロック状態に設定すること」に相当する。
　また，引用発明において，「第２のスレッドプロセッサの第２の変換索引バッファ例外を発見する」との処理に続いて，「第１の変換索引バッファ例外が処理された後に第２の変換索引バッファ例外の処理を行うこと」，すなわち，「第２の変換索引バッファ例外の処理は，第１の変換索引バッファ例外の処理が終わるまで遅延する」との処理を行うことと，本件補正発明の「前記ＴＬＢロックインジケータがロック状態を指示するとき，前記制御論理回路からのスリープ命令の受信に応答して前記特定のスレッドをスリープ状態にすること」は，「前記ＴＬＢロックインジケータがロック状態を指示するとき，特定のスレッドプロセッサの処理を遅延させること」である点で共通する。
　
（オ）　なお，請求人は，平成２５年９月１８日付け回答書にて，「本願請求項１の「前記ＴＬＢロックインジケータがロック状態を維持するとき，前記制御論理回路からのスリープ命令の受信に応答して前記特定のスレッドをスリープ状態にすること」における「前記特定のスレッド」はＴＬＢミス事象を起こしたスレッドであり，本願請求項１は，このＴＬＢミス事象を起こした特定のスレッドを，当該特定のスレッドにおけるＴＬＢミス事象の処理が終了するまでスリープ状態にすることを要件とする」と主張すると共に，「すなわち，本願発明は，ＴＬＢロックインジケータがアンロック構成のとき，ＴＬＢミス事象が発生した第１のスレッド１（本願請求項における「特定のスレッド」）がＴＬＢミス事象を処理するために例外ハンドラを起動し，かつ，ＴＬＢロックインジケータをロック構成にして他のスレッドがＴＬＢを変更することを阻止するためにＴＬＢへのアクセスを制限し，ＴＬＢロックインジケータがロック構成になると，ＴＬＢミス事象が発生した前記第１のスレッドをスリープ状態にして例外ハンドラによる例外処理を実行し，例外処理が終了したらＴＬＢロックインジケータをアンロック構成に戻すようにしたものであり，このことは本願明細書の段落［００１０］，［００１５］−［００１８］，［００３１］−［００３３］，［００３９］などに記載されており，段落［００１６］には，上述したように，ＴＬＢロックインジケータのロック構成は，ミス事象が発生したスレッドがＴＬＢに書き込み動作を行う一方で他のスレッドによるＴＬＢへのアクセスを制限することを示すことが記載されている。」と主張している。
　しかしながら，本願の図３においては，「制御論理回路を使用してＴＬＢをロック」する３０２以降であって，「ＴＬＢロックインジケータをアンロック状態に設定」する３２６又は「例外ハンドラから戻る」３２８より前にスレッドをスリープ状態にすることは記載されておらず，本願の図４においては，「スレッド０」のＴＬＢミス事象４０２に応答して「ＴＬＢロックインジケータ」をロック状態４１０とした以降に「スレッド０」をスリープ状態とすることは記載されていない。また，本願明細書及び図面の全体を参酌しても，「ＴＬＢミス事象を起こした特定のスレッドを，当該特定のスレッドにおけるＴＬＢミス事象の処理が終了するまでスリープ状態にする」ことについては記載されていない。
　一方，本願明細書の段落【００３３】に「
制御論理回路２７０は
別のスレッドによる例外処理の間など，に起きるＴＬＢミス事象に応答するように構成される
制御論理回路２７０は，最近のＴＬＢミス事象に関連するスレッドに，最近のＴＬＢミス事象と関連のある例外ハンドラを開始することなく
スリープ状態にする
　してみれば，本願の明細書及び図面を参酌すれば，本件補正発明の「前記ＴＬＢロックインジケータがロック状態を指示するとき，前記制御論理回路からのスリープ命令の受信に応答して前記特定のスレッドをスリープ状態にすること」は，「例外ハンドラへのアクセスを可能」とされたスレッドをスリープ状態にすることではなく，「例外ハンドラへのアクセスを可能」とされたスレッドとは異なるスレッドをスリープ状態にすることを意味していると解するのが妥当である。
　
エ． 上記ウ．で検討したことから，引用発明の「第１の変換索引バッファ例外の処理が終了したことを示すために，シリアライゼーション・ビットがリセットされること」は，本件補正発明の「前記ＴＬＢロックインジケータを，ロック状態を指示することからアンロック状態を指示することに移行すること」に相当する。
　
オ．　引用発明は，「第１の変換索引バッファ例外の処理が終了したことを示すために，シリアライゼーション・ビットがリセットされる」のであるから，「第１の変換索引バッファ例外の処理が完了する」と，「第１の変換索引バッファ例外の処理が終了したことを示すために，シリアライゼーション・ビットがリセットされる」といえる。さらに，引用発明は「第１の変換索引バッファ例外の処理が完了すると，例外ハンドラは，第１のスレッドプロセッサを変換索引バッファを検索したプログラムに戻す命令を実行する」との処理を行うのであるから，引用発明は，「第１の変換索引バッファ例外の処理が終了したことを示すために，シリアライゼーション・ビットがリセット」された後に，「例外ハンドラは，第１のスレッドプロセッサを変換索引バッファを検索したプログラムに戻す命令を実行する」といえる。
　また，本願明細書の段落【００４７】には「制御ユニットは，スレッド１がウェーク動作を行い，命令パケット動作の実行を再現すること（４３４）に応答して，スレッド１を覚醒するために信号４３３を送る。」と記載され，段落【００４８】には「パケット動作のウェークや再現４３４の実行は，スレッド１がスリープ状態４２０に置かれる前に保存されたスレッド１の前回の状態を再ロードし，ＴＬＢミス事象４１４を生成するパケットの実行を再現する。」と記載されていることから，本件補正発明において，「前記ＴＬＢミス事象を引き起こしたパケットの実行を再現すること」は，スレッドを覚醒するために行うことは明らかである。
　してみれば，引用発明の「第１の変換索引バッファ例外の処理が完了すると，例外ハンドラは，第１のスレッドプロセッサを変換索引バッファを検索したプログラムに戻す命令を実行すること」と，本件補正発明「前記ＴＬＢロックインジケータが前記ロック状態から前記アンロック状態に移行した後に，前記ＴＬＢミス事象を引き起こしたパケットの実行を再現すること」は，「前記ＴＬＢロックインジケータが前記ロック状態から前記アンロック状態に移行した後に，前記ＴＬＢミス事象を引き起こしたプログラムに戻すこと」である点で共通する。
　
カ．上記ア．ないしオ．に示したことから，本件補正発明と引用発明の一致点及び相違点は，以下のとおりである。
　
［一致点］
　マルチスレッドプロセッサが実行する方法であって，
　前記マルチスレッドプロセッサの特定のスレッドに関連する変換索引バッファ（ＴＬＢ）ミス事象を受信することと，
　前記ＴＬＢロックインジケータがアンロック状態を指示するとき，前記特定のスレッドによる前記ＴＬＢに関連する例外ハンドラへのアクセスを可能にし，前記ＴＬＢロックインジケータをロック状態に設定することと，
　前記ＴＬＢロックインジケータがロック状態を指示するとき，特定のスレッドプロセッサの処理を遅延させることと，
　前記ＴＬＢロックインジケータを，ロック状態を指示することからアンロック状態を指示することに移行することと，
　前記ＴＬＢロックインジケータが前記ロック状態から前記アンロック状態に移行した後に，前記ＴＬＢミス事象を引き起こしたプログラムに戻すこと，
　を備える方法。
　
［相違点１］
　本件補正発明においては，マルチスレッドプロセッサが「変換索引バッファ（ＴＬＢ）とＴＬＢロックインジケータとに結合された制御論理回路を備える」ものであるのに対して，引用発明では，そのような限定がなされていない点。
　
［相違点２］
　本件補正発明においては，「前記ＴＬＢロックインジケータはグローバル状態レジスタの１以上のビットを備えており，前記ＴＬＢロックインジケータは前記制御論理回路によって設定される」ものであるのに対して，引用発明では，そのような限定がなされていない点。
　
［相違点３］
　本件補正発明は，「前記ＴＬＢロックインジケータをチェックする」構成を備えているのに対して，引用発明では「チェックする」構成に言及されていない点。
　
［相違点４］
　本件補正発明は，「前記ＴＬＢロックインジケータがロック状態を指示するとき，前記制御論理回路からのスリープ命令の受信に応答して前記特定のスレッドをスリープ状態にする」構成を備えているのに対して，引用発明は「スリープ状態にする」構成に言及されていない点。
　
［相違点５］
　本件補正発明は，「前記ＴＬＢロックインジケータが前記ロック状態から前記アンロック状態に移行した後に，前記ＴＬＢミス事象を引き起こしたパケットの実行を再現する」構成を備えているのに対して，引用発明は「パケットの実行を再現する」構成に言及されていない点。
　
（５）　判断
　上記相違点１ないし相違点５についての判断を示す。
　
ア．相違点１及び相違点２について
（ア）　引用発明においては，「第１の変換索引バッファ例外が処理中であることを示すために，シリアライゼーション・ビットをセットする」，「第１の変換索引バッファ例外の処理が終了したことを示すために，シリアライゼーション・ビットをリセットする」，及び「第２の変換索引バッファ例外の処理を，第１の変換索引バッファ例外の処理が終わるまで遅延する」との処理が行われるのであるから，引用発明が，当該処理を行う機構を備えていることは，当業者にとって自明である。
　さらに，上記Ｅ．には，「the present invention may be realized in hardware, software, or a combination of hardware and software.（本発明は，ハードウェア，ソフトウェア，又はハードウェアとソフトウェアの組合せで実現されてもよい）」ことが記載されているし，所望の処理を行う機構を「ハードウェア」で形成する際に，「制御論理回路」からなる「ハードウェア」を用いることは，当業者が通常選択する常とう手段であるといえる。してみれば，引用発明において，上記した処理を行う機構を「制御論理回路」で実現することは，当業者が当然に想到し得ることである。また，引用発明において，「変換索引バッファ例外が処理中であることを示すために，シリアライゼーション・ビットをセットする」との処理を行う機構である「制御論理回路」が，変換索引バッファとシリアライゼーション・ビットに結合されることは，当業者にとって自明である。
　
（イ）　「グローバル」との用語は，本願特許請求の範囲又は明細書において，その意味が定義されるものではなく，マルチスレッドの技術分野においては，複数のスレッドによって共用されるとの意味で用いられることが当業者における技術常識であるから，本件補正発明の「グローバル状態レジスタ」をその字句のとおりに解釈すれば，複数のスレッドから共用されるレジスタであって，何らかの「状態」を示す情報を格納するレジスタの意味であると解される。
　そして，引用発明における「シリアライゼーション・ビット」は，少なくとも第１及び第２のスレッドから参照され得る情報であって，変換索引バッファ例外が処理中であることを示す情報であるから，「グローバル」な性質を有し，何らかの「状態」を示す情報であるといえる。また，ビットで表現される情報をレジスタに格納することは，コンピュータアーキテクチャの技術分野において当業者が通常選択する慣用技術にすぎないから，引用発明における「シリアライゼーション・ビット」をレジスタに格納することは，当業者が通常選択することにすぎない。
　してみれば，引用発明において，「シリアライゼーション・ビット」が，複数のスレッドから共用されるレジスタであって，何らかの「状態」を示す情報を格納するレジスタ，すなわち「グローバル状態レジスタ」の１以上のビットを備えることは，当業者が当然に想到し得ることである。
　
（ウ）　上記（ア）及び（イ）に示したことから，引用発明を，マルチスレッドプロセッサが「変換索引バッファ（ＴＬＢ）とＴＬＢロックインジケータとに結合された制御論理回路を備える」ものとして，「前記ＴＬＢロックインジケータはグローバル状態レジスタの１以上のビットを備えており，前記ＴＬＢロックインジケータは前記制御論理回路によって設定される」ものとすること，すなわち，相違点１及び２に係る構成とすることは，当業者が容易に想到し得ることである。
　
イ．相違点３について
　引用発明において，「第２の変換索引バッファ例外の処理は，第１の変換索引バッファ例外の処理が終わるまで遅延する」との処理を行うためには，第１の変換索引バッファ例外が処理中であることを示すための「シリアライゼーション・ビット」がセットされているか否かをチェックする必要があることは，当業者にとって自明である。
　してみれば，引用発明において，「シリアライゼーション・ビット」がセットされているか否かをチェックすることは，当業者が必然的に想到し得ることである。
　
ウ．相違点４について
　参考文献１（上記Ｇ．）に「マルチスレッドプログラムでは，・・・（中略）・・・スレッドは，保護部分にアクセスする際にロックを取得するため，そのスレッドがロックを保持している間，他のスレッドは同じ部分にアクセスすることができない。・・・（中略）・・・ロックを待っているスレッドは，スリープ待ち行列に入り」と記載され，参考文献２（上記Ｈ．）に「プロセッサはロックが利用可能となるのを待機しているが，キューへの待機中にはスリープ状態となるようにしてもよい。・・・（中略）・・・ロックを求めるプロセッサは，ハイパースレッドプロセッサの論理プロセッサであってもよい。」と記載されているように，マルチスレッドの技術分野において，他のスレッドによってロックされている部分が利用可能となるのを待機する間，当該待機するスレッドをスリープ状態にすることは，当業者が通常なし得る周知技術である。
　そして，引用発明と上記周知技術は，マルチスレッドの技術分野において，他のスレッドによってロックされている部分が利用可能となるのを待機する点で共通である。
　してみれば，引用発明において「第２の変換索引バッファ例外の処理を，第１の変換索引バッファ例外の処理が終わるまで遅延する」際に，「第２の変換索引バッファ例外の処理」を行うスレッドをスリープ状態にすることは，他のスレッドによってロックされている部分が利用可能となるのを待機する際の構成を具現化するために，引用発明と共通するマルチスレッドの技術分野における周知技術を適用することにすぎないのであるから，当業者が適宜選択し得る設計事項といえる。
　
エ．相違点５について
　本件補正発明においては，「パケットの実行を再現する」旨の言及がなされているが，「パケット」との用語は，データ通信ネットワークを流れるデータの単位の意味で用いられることが一般的であるから，「パケット」との用語を一般的な意味で解した場合には，「パケット」は，必ずしも「実行」され得るものではないといえる。そこで，本願明細書の記載を参酌して，「パケットの実行を再現する」との構成を解する。
　本願明細書の段落【００２４】には，「制御論理回路１０６はＴＬＢロックインジケータ１１０をアンロックし，・・・（中略）・・・１つ以上のスリープ状態のスレッド，・・・（中略）・・・を覚醒（awaken）する。」と記載され，段落【００２５】には，「第２のスレッド１１４は覚醒される，そして，・・・（中略）・・・ＴＬＢミス事象を起こす命令パケットを再現する。再現された命令パケットは，ＴＬＢ １０８で仮想アドレスの変換のために要求を繰り返す。」と記載されている。当該記載を参酌すれば，本件補正発明の「前記ＴＬＢミス事象を引き起こしたパケットの実行を再現する」構成は，仮想アドレスの変換のための要求を行い，その結果として変換索引バッファミス事象を起こした「命令パケット」の実行を再現する態様といえる。
　そして，プログラムを実行する際に，当該プログラムを各「命令パケット」に分割してプロセッサに実行させることは，コンピュータアーキテクチャの技術分野における技術常識であるから，引用発明において，所望の「プログラムに戻す命令を実行する」ことを，所望の「命令パケット」の実行を再現することとすることは，当業者が当然になし得ることといえる。
　してみれば，引用発明において，「例外ハンドラは，第１のスレッドプロセッサを変換索引バッファを検索したプログラムに戻す命令を実行する」ことを，「前記ＴＬＢミス事象を引き起こしたパケットの実行を再現する」こととすることは，当業者が当然に想到し得ることである。
　
オ．上記で検討したごとく，各相違点はいずれも格別なものではなく，また，各相違点を総合的に勘案しても，本件補正発明の奏する作用効果は，上記引用発明，並びに参考文献１及び２にみられる周知技術の奏する作用効果から予測される範囲内のものにすぎず，格別顕著なものということはできない。
　したがって，本件補正発明は，上記引用発明，並びに参考文献１及び２にみられる周知技術に基づいて，当業者が容易に発明をすることができたものである。
　
（６）　小括
　以上のとおり，補正後の請求項１に係る発明は，その出願前に日本国内において頒布された刊行物に記載された発明又は電気通信回線を通じて公衆に利用可能となった発明に基づいて，当業者が容易に発明することができたものである。
　
　
４．補正却下の決定についてのむすび
　したがって，本件補正は，特許法第１７条の２第６項において準用する同法第１２６条第７項の規定に違反するので，同法第１５９条第１項の規定において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。
　
　
第３．本願発明について
１．本願発明
　平成２５年２月２５日付けの手続補正は，上記のとおり却下されたので，本願の請求項に係る発明は，平成２４年８月２１日付け手続補正書の請求の範囲の請求項１〜請求項２３に記載された事項により特定されるものである。そして，その請求項１に係る発明（以下，「本願発明」という。）は，明細書及び図面の記載からみて，その請求項１に記載された事項により特定される，上記「第２．平成２５年２月２５日付けの手続補正についての補正却下の決定」の［理由］「１．本件補正の内容」に記載のとおりのものである。再掲すれば次のとおりである。
　
「マルチスレッドプロセッサによって実行される方法であって，
　前記マルチスレッドプロセッサのスレッドに関連する変換索引バッファ（ＴＬＢ）ミス事象を受信することと；
　ＴＬＢロックインジケータをチェックすることと；
　前記ＴＬＢロックインジケータがアンロック状態を指示するとき，前記スレッドによるＴＬＢに関連する例外ハンドラへのアクセスを許可し，前記ＴＬＢロックインジケータをロック状態に設定することと；
　前記ＴＬＢロックインジケータがロック状態を指示するとき，前記スレッドをスリープ状態にすることと；
　を備える方法。」
　
２．先行技術文献
　原査定の拒絶の理由で引用された引用文献１，並びに参考文献１及び参考文献２の記載事項は，
上記「第２．平成２５年２月２５日付けの手続補正についての補正却下の決定」の［理由］「３．独立特許要件」「（２）　先行技術文献」に記載したとおりである。
　
３．対比・判断
（１）　本願発明は，上記「第２．平成２５年２月２５日付けの手続補正についての補正却下の決定」の［理由］「３．独立特許要件」「（１）　本件補正発明」に記載した本件補正発明から，「マルチスレッドプロセッサ」に関する「変換索引バッファ（ＴＬＢ）とＴＬＢロックインジケータとに結合された制御論理回路を備える」との限定事項と，「スレッド」に関する「特定の」との限定事項と，「ＴＬＢロックインジケータ」に関する「なお，前記ＴＬＢロックインジケータはグローバル状態レジスタの１以上のビットを備えており，前記ＴＬＢロックインジケータは前記制御論理回路によって設定される」との限定事項と，「前記特定のスレッドをスリープ状態にすること」に関する「前記制御論理回路からのスリープ命令の受信に応答して」との特定事項と，「前記ＴＬＢロックインジケータを，ロック状態を指示することからアンロック状態を指示することに移行すること」及び「前記ＴＬＢロックインジケータが前記ロック状態から前記アンロック状態に移行した後に，前記ＴＬＢミス事象を引き起こしたパケットの実行を再現すること」との限定事項を削除し，さらに，「マルチスレッドプロセッサが実行する方法」を「マルチスレッドプロセッサによって実行される方法」とし，「例外ハンドラへのアクセスを可能にし」を「例外ハンドラへのアクセスを許可し」としたものである。
　
（２）　上記（１）に示した各限定事項を，本件補正発明から削除することで，上記「第２．平成２５年２月２５日付けの手続補正についての補正却下の決定」の［理由］「３．独立特許要件」「（４）　対比」「カ．」に記載した相違点１ないし５以外の相違点が生じるものではない。
　
（３）　上記「第２．平成２５年２月２５日付けの手続補正についての補正却下の決定」の［理由］「３．独立特許要件」「（３）　引用発明の認定」「イ．」に記載した引用発明における，「マルチスレッドプロセッサ内の変換索引バッファへのアクセスを同期するための方法」は，上記Ｂ．の「ＣＭＴプロセッサは，一度に１つのＴＬＢ例外を許可する」旨の記載を参酌すれば，「ＣＭＴプロセッサ」，すなわち「マルチスレッドプロセッサ」によって実行される方法であることは明らかである。してみれば，本件補正発明における「マルチスレッドプロセッサが実行する方法」を「マルチスレッドプロセッサによって実行される方法」とすることで，上記「第２．平成２５年２月２５日付けの手続補正についての補正却下の決定」の［理由］「３．独立特許要件」「（４）　対比」「カ．」に記載した相違点１ないし５以外の相違点が生じるものではない。
　
（４）　上記「第２．平成２５年２月２５日付けの手続補正についての補正却下の決定」の［理由］「３．独立特許要件」「（４）　対比」「ウ．」「（ウ）」で示したように，引用発明の「例外ハンドラ」は，変換索引バッファに関連する例外処理を行うハンドラであるといえ，スレッドで例外ハンドラを実行する際に，スレッドから例外処理の要求を行うことは，当業者にとって自明である。そして，例外処理の要求を行う際には，例外処理の要求を行うことが少なくとも許可されることも，当業者にとって自明である。よって，引用発明において「第１のスレッドで例外ハンドラを実行する」際には，少なくとも，「第１スレッド」から変換索引バッファに関連する例外処理の要求を行うことを許可しているといえる。してみると，本件補正発明における「例外ハンドラへのアクセスを可能にし」を「例外ハンドラへのアクセスを許可し」とすることで，上記「第２．平成２５年２月２５日付けの手続補正についての補正却下の決定」の［理由］「３．独立特許要件」「（４）　対比」「カ．」に記載した相違点１ないし５以外の相違点が生じるものではない。
　
（５）　上記（２）ないし（４）に示したことから，本件補正発明を本願発明とすることで，引用発明との間に新たな相違点が生じるとはいえないから，本願発明は，上記「第２．平成２５年２月２５日付けの手続補正についての補正却下の決定」の［理由］「３．独立特許要件」「（５）　判断」に示したのと同様の理由により，引用発明，並びに参考文献１及び参考文献２にみられる周知技術に基づいて当業者が容易に発明することができたものである。
　
　
４．むすび
　以上のとおり，本願発明は，特許法第２９条第２項の規定により特許を受けることができないから，他の請求項に係る発明について検討するまでもなく，本願は拒絶されるべきものである。
　よって，結論のとおり審決する。