【事件の表示】
　平成　４年特許願第２５６３３０号「排他制御装置」拒絶査定不服審判事件〔平成　６年　４月２２日出願公開、特開平　６−１１０８４６〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
１．手続の経緯・本願発明の要旨
　本願は、平成４年９月２５日の出願であって、その請求項１に係る発明は、特許請求の範囲の請求項１に記載されたとおりのものと認める。（以下、「本願発明」という）
「資源の排他制御を行う排他制御装置において、
　クラスロックを獲得したＣＰＵに対応するビットとノンクラスロックを獲得したＣＰＵ識別子あるいはＣＰＵに対応するビットを設定するロック制御情報（ＣＰＵ）と、
　クラス化した資源を獲得したＣＰＵ識別子あるいはＣＰＵに対応するビットを設定するロック制御情報（資源）と、
　他のＣＰＵと排他がかけられた状態で、上記ロック制御情報（ＣＰＵ）のクラスロックにＣＰＵに対応するビットが設定されていなく、さらにノンクラスロックにＣＰＵ識別子あるいはＣＰＵに対応するビットが設定されていないと判明したときに、ノンクラスロックにＣＰＵ識別子あるいはＣＰＵに対応するビットを設定して全体の資源の排他を獲得する手段と、
　他のＣＰＵと排他がかけられた状態で、上記ロック制御情報（ＣＰＵ）のノンクラスロックにＣＰＵ識別子あるいはＣＰＵに対応するビットが設定されていないと判明したときに、クラスロックにＣＰＵに対応するビットを設定した後、獲得しようとするクラス化されている当該資源の上記ロック制御情報（資源）にＣＰＵ識別子あるいはＣＰＵに対応するビットが設定されていないときに、ＣＰＵ識別子あるいはＣＰＵに対応するビットを設定して当該クラス化されている資源の排他を獲得する手段と
を備えたことを特徴とする排他制御装置」
　
２．引用例
　これに対して、原査定の拒絶の理由に引用された、本願出願日前である１９８３年１１月に頒布された、「『FACOM OS IV/F4 MSP システムプログラムの手引 タスク管理編』マニュアル型番 78SP-1031-1 (1983-11) p.1-2」（以下、「引用例１」という。）には、次の事項が記載されている。
ｉ）「システム資源の微視的な意味での逐次化にもいくつかの方法が考えられる．例えばＣＰＵが一台しかないことを前提にしているシステムでは，ＣＰＵを割り込み禁止状態にし，他のプログラムが絶対に同時に動き得ないようにして，資源の逐次化を行うこともできる．しかしこのような方法ではシステムの速応性を落とすし，マルチプロセッサを前提とするシステムでは採用できない手段である．
　ロック機能はシステム資源に対し，ロックワードを定義し，このロックワードに使用中である旨の表示を設定することにより，資源の逐次化手段を提供している．
　論理的に別の資源であれば並行処理が可能であるから，資源ごとにロックワードを設ければ，資源の逐次化によるシステムパフォーマンスの低下は最小限にできる．」（第１頁左欄１７〜２９行目）
ii）「ロック機能は，資源を１６のタイプに分類し，グループごとに並行処理が可能になるようにしている．」（第１頁右欄第６〜７行目）、
iii)「ＳＶＣルーチンを作成する場合，資源とロックワードの結び付きや確保，返却の時期に注意し，ロックの競合をできるだけ小さくするように努めなければならない．」（第１頁右欄第１０〜１２行目）
iv）「クロスロックは一つのロックのタイプに対し複数のロックワードが対応するものである．
　ノンクラスロックは一つのロックのタイプに対し一つのロックワードが対応するものである．」（第２頁右欄６〜９行目）（なお、先頭の「クロスロック」は「クラスロック」とすべき誤記であることは、同頁同欄３行目「ｃ．クラスロックとノンクラスロック」の記載からも明らかである。）
　したがってこれら記載事項によると、引用例１には、「複数のタイプに分類したシステム資源ごとにロックワードを定義し、このロックワードに使用中である旨の表示を設定することにより資源の逐次化手段を提供するもので、一つのロックのタイプに対し複数のロックワードが対応するクラスロックと、一つのロックのタイプに対し一つのロックワードが対応するノンクラスロックとを備えた逐次制御装置」の発明（以下「引用例１に記載の発明」という。）が記載されていると認められる。
　また、同じく原査定の拒絶の理由に引用された、本願出願日前である１９９０年４月に頒布された、「『OS IV/MSP タスク管理解説書 AF II V10用 初版』マニュアル型番 79SG-3100-1 (1990-4-30) p.47-49」（以下、「引用例２」という。）には、次の事項が記載されている。
ｖ）「ＳＥＴＬＯＣＫマクロ命令はロック機能を提供している．ロック機能とは，システム資源に対しロックワードを定義し，このロックワードに使用中である旨の表示を設定することにより，資源を逐次化するものである．」（第４８頁２３〜２５行目）
vi）「クラスロックは一つのロックのタイプに対し複数のロックワードが対応するものである．ノンクラスロックは一つのロックのタイプに対し一つのロックワードが対応するものである．」（第４９頁４〜７行目）
vii)「またクラスロックのように同一レベルのロックで複数ロックワードを持つ場合（ＴＣＢロックを除き）二つ以上要求してはいけないというルールがある．」（第４９頁２３〜２４行目）
　
３．対比
　そこで、本願発明（以下、「前者」という）と引用例１に記載の発明（以下、「後者」という）を対比すると、前者の、「ロック制御情報」、「クラス化した資源」及び「排他制御装置」が、後者の、「ロックワード」、「複数のタイプに分類したシステム資源」及び「逐次制御装置」に、それぞれ相当する。
　したがって、両者は、「資源の排他制御を行う排他制御装置において、クラスロックとノンクラスロックを獲得したこと、及び、クラス化した資源を獲得したこと、を設定するロック制御情報を備えた排他制御装置」である点で一致し、次の点で相違する。
ａ）「ロック制御情報」として、前者は、「ロック制御情報（ＣＰＵ）」と「ロック制御情報（資源）」の２種類を定義しているのに対し、後者では、そのような種類分けは示されておらず「システム資源ごと」に定義させていることのみ示されている点。
ｂ）前者は、「ロック制御情報（ＣＰＵ）」に「クラスロックを獲得したＣＰＵに対応するビットとノンクラスロックを獲得したＣＰＵ識別子あるいはＣＰＵに対応するビットを設定」し、また、「ロック制御情報（資源）」に「クラス化した資源を獲得したＣＰＵ識別子あるいはＣＰＵに対応するビットを設定」して、「資源の排他を獲得する」際に該設定した「ＣＰＵ識別子あるいはＣＰＵに対応するビット」を参照するのに対し、後者では、「ロック制御情報」に「システム資源ごとに使用中である旨の表示を設定」して、「資源の排他を獲得する」際に該設定した「使用中である旨の表示」を参照することのみ示されている点。
ｃ）前者は、「他のＣＰＵと排他がかけられた状態で、上記ロック制御情報（ＣＰＵ）のクラスロックにＣＰＵに対応するビットが設定されていなく、さらにノンクラスロックにＣＰＵ識別子あるいはＣＰＵに対応するビットが設定されていないと判明したときに、ノンクラスロックにＣＰＵ識別子あるいはＣＰＵに対応するビットを設定して全体の資源の排他を獲得する手段」を設けたのに対し、後者では、「ノンクラスロックは同一レベルのロックで一つのロックワードが対応するもの」とした機能を有するのみである点。
ｄ）前者は、「他のＣＰＵと排他がかけられた状態で、上記ロック制御情報（ＣＰＵ）のノンクラスロックにＣＰＵ識別子あるいはＣＰＵに対応するビットが設定されていないと判明したときに、クラスロックにＣＰＵに対応するビットを設定した後、獲得しようとするクラス化されている当該資源の上記ロック制御情報（資源）にＣＰＵ識別子あるいはＣＰＵに対応するビットが設定されていないときに、ＣＰＵ識別子あるいはＣＰＵに対応するビットを設定して当該クラス化されている資源の排他を獲得する手段」を設けたのに対し、後者では、「クラスロックは一つのロックのタイプに対し複数のロックワードが対応するもの」とした機能を有するのみである点。
　
４．相違点に対する判断
　次に、これら相違点について以下に検討する。
４-1.　相違点ａ）について
　当該「ノンクラスロック」又は「クラスロック」は、ＣＰＵが資源に対して獲得するものであって、主体がＣＰＵで、客体が資源であるところ、
(イ)後者においても、定義された「システム資源ごとの」「ロック制御情報」を参照して、資源に対して「ノンクラスロック」又は「クラスロック」がかかっていることを判断しているものである、
(ロ)後者においても、「ノンクラスロック」又は「クラスロック」がＣＰＵ単位でかけられることは、上記２．のｉ）で示した「システム資源の微視的な意味での逐次化にもいくつかの方法が考えられる．例えばＣＰＵが一台しかないことを前提にしているシステムでは，ＣＰＵを割り込み禁止状態にし，他のプログラムが絶対に同時に動き得ないようにして，資源の逐次化を行うこともできる．しかしこのような方法ではシステムの速応性を落とすし，マルチプロセッサを前提とするシステムでは採用できない手段である．ロック機能はシステム資源に対し，ロックワードを定義し，このロックワードに使用中である旨の表示を設定することにより，資源の逐次化手段を提供している．」の記載からも明らかである、
　以上のことから、前者のように「ロック制御情報（ＣＰＵ）」と「ロック制御情報（資源）」の２種類を定義することは、当業者が適宜に採用し得る設計的事項であって、格別の創意工夫を必要とするものとは認められない。
　
４-2.　相違点ｂ）について
　上記４-1. で示したように、ＣＰＵが主体となって、当該「ノンクラスロック」又は「クラスロック」を資源に対してかけることから、後者における、「ロック制御情報」に「システム資源ごとに使用中である旨の表示を設定」するに際し、前者のような「ＣＰＵ識別子あるいはＣＰＵに対応するビット」を採用することは、当該「ノンクラスロック」又は「クラスロック」という排他制御の目的を鑑みれば、当業者ならば容易に想到し得ることと認められる。
　なお、当該相違点の判断の裏付けとして、例えば、「千田正彦『大型オペレーティングシステム　ＭＶＳの機能と構造』（1986-6-5）近代科学社 p.109-111　4.4.4 ロック(lock)」には、
(イ)ロック機能の目的として、
　「ＭＶＳにおけるロック機能は，もともと複数のＣＰのもとでの資源の逐次化のために作られている。単一ＣＰのもとである作業単位が資源を独占して使いたい場合は，ＣＰを割り込み禁止にすれば他の作業単位に制御が渡ることを防ぐことができる。しかし，記憶域を共有する複数ＣＰすなわち緊密結合多重プロセッサー(TCMP：Tightly Coupled Multi Processor)のもとでは，１つのＣＰを割り込み禁止にして資源を使っていたところで，他のＣＰはそれとは全く無関係にその資源をアクセスできる。したがって割り込み禁止とは別に，複数ＣＰに共通の逐次化機能が考え出された。」（p.109 6-12行目　なお、当該記載は、２．のｉ）で示した引用例１の記載事項と同様の技術事項を述べているものである。）
(ロ)「ロック・ワード」（ロック制御情報に相当）にＣＰＩＤ（「ＣＰＵ識別子」）をセットして資源獲得を行うことについて、
　「ＣＰ０内の仕事から共通資源に対する確保要求がＳＥＴＬＯＣＫというマクロ命令で出されると，これを受けたロック管理ルーチンが，この資源に固有のロック・ワードにＣＰ０のＣＰＩＤ(識別子；Identification)をセットする。ロック・ワードは内容が０の場合，どのＣＰも使用していないということ，すなわち資源の利用可能状態を示し，ＣＰＩＤが入っている状態では，そのＩＤをもつＣＰがその資源を使用中であることを示すことになっている。」（p.109 13-18行目）
　がそれぞれ記載されているように、大型オペレーティングシステム（引用例１及び２等の前提となっているオペレーティングシステム「FACOM OS IV」も同様）においては、ロック制御情報にＣＰＵ識別子を設定（セット）することは周知の技術事項である。
　
４-3.　相違点ｃ）について
　後者における、「ノンクラスロックは同一レベルのロックで一つのロックワードが対応するもの」とした機能は、「システム資源に対し、システム資源ごとにロックワードを定義し、このロックワードに使用中である旨の表示を設定することにより資源の逐次化手段を提供する」という目的のもとで設けられたもので、その達成しようとする技術内容は、前者も後者も実質的に同等と認められる。なぜならば、後者でいうところの「ノンクラスロックは同一レベルのロックで一つのロックワードが対応する」ことが、換言すれば、ＣＰＵがロック（排他）を獲得する際に、「ノンクラスロック」は唯一であり、あるＣＰＵが「ノンクラスロック」を獲得すれば、他のＣＰＵは更なるロック（「ノンクラスロック」又は「クラスロック」）を獲得することはできず、また、あるＣＰＵが一つでもロック（「ノンクラスロック」又は「クラスロック」）を獲得していれば、他のＣＰＵは「ノンクラスロック」を獲得することはできないこと、を技術的に意味することは、引用例１のような技術マニュアルを当業者が見れば容易に首肯し得る事項に他ならないからである。
　なお補足するに、引用例１と同種で公知のマニュアルである、「『FACOM OS IV/X8 システムプログラマの手引 E40系用』 マニュアル型番 65SP-1042-1 (1980-6) p.99-100」には、「ノンクラスロックとは，システム共通に唯一つのロック語が存在するもので，マルチＣＰＵシステムにおいても，そのレベルのロックは常に一つしか確保できない．」（p.100 左欄13-15行目）と記載されており、前述した内容を裏付けるものである。
　よって、前者のように「他のＣＰＵと排他がかけられた状態で、上記ロック制御情報（ＣＰＵ）のクラスロックにＣＰＵに対応するビットが設定されていなく、さらにノンクラスロックにＣＰＵ識別子あるいはＣＰＵに対応するビットが設定されていないと判明したときに、ノンクラスロックにＣＰＵ識別子あるいはＣＰＵに対応するビットを設定して全体の資源の排他を獲得する手段」を設けることは、当業者ならば容易に想到し得ることと認められる。
　
４-4.　相違点ｄ）について
　後者における、「クラスロックは一つのロックのタイプに対し複数のロックワードが対応するもの」とした機能は、「システム資源に対し、システム資源ごとにロックワードを定義し、このロックワードに使用中である旨の表示を設定することにより資源の逐次化手段を提供する」という目的のもとで設けられたものであり、その達成しようとする技術内容においては、前者も後者も実質的に同等と認められる。なぜならば、後者でいうところの「クラスロックは一つのロックのタイプに対し複数のロックワードが対応するものである」ことが、換言すれば、ＣＰＵがロック（排他）を獲得する際に、「クラスロック」は「ノンクラスロック」がかかっていない状態でのみ獲得可能であって（上記の４-3. で示唆される事項）、「クラスロック」は資源ごとに使用中の設定をし、同一資源に対し複数の「クラスロック」をかけることはできないことを技術的に意味することは、引用例１のような技術マニュアル、及び同種の技術マニュアルである引用例２に記載された上記２．のvii)の内容から、当業者であれば容易に首肯し得る事項に他ならないからである。
　なお補足するに、上記４-3. で示した公知のマニュアル、「『FACOM OS IV/X8システムプログラマの手引 E40系用』 マニュアル型番 65SP-1042-1 (1980-6) p.99-100及びp.104」には、「クラスロックでは，…（中略）…複数のＣＰＵで，同時に同一レベルのロックを確保することができる．ただし，一つのＣＰＵに限ってみれば，同一レベルのロックは唯一つしか確保できない．」（p.100 左欄8-13行目）、「クラスロックのようにロックワードを複数個有するようなロックに対して，一つのＣＰＵでは同じクラスのロックは同時に一つしか持てない（デッドロックを避けるため）．」（p.104 左欄1-4行目）と記載されており、前述した内容を裏付けるものである。
　よって、前者のように「他のＣＰＵと排他がかけられた状態で、上記ロック制御情報（ＣＰＵ）のノンクラスロックにＣＰＵ識別子あるいはＣＰＵに対応するビットが設定されていないと判明したときに、クラスロックにＣＰＵに対応するビットを設定した後、獲得しようとするクラス化されている当該資源の上記ロック制御情報（資源）にＣＰＵ識別子あるいはＣＰＵに対応するビットが設定されていないときに、ＣＰＵ識別子あるいはＣＰＵに対応するビットを設定して当該クラス化されている資源の排他を獲得する手段」を設けることは、当業者ならば容易に想到し得ることと認められる。
　
　してみれば、これら各相違点は、格別のものとは認められない。
　そして、本願発明の要旨とする構成によってもたらされる効果も、引用例１及び２に記載の発明から当業者ならば予測し得る程度のものであって、格別のものとは認められない。
　
５．むすび
　したがって、本願発明は、引用例１及び２に記載された発明、並びに上述した周知の技術に基づいて、当業者が容易に発明することができたものであるので、特許法第２９条第２項の規定により特許を受けることができない。
　よって、結論のとおり審決する。