令和3年2月4日判決言渡
令和元年(行ケ)第10106号審決取消請求事件
口頭弁論終結日令和2年11月25日
判決
原告ソフトバンクロボティクス株式会社
同訴訟代理人弁護士鮫島正洋
和田祐造
森下梓10
被告株式会社パッセルインテグレーション
同訴訟代理人弁護士中村隆夫
加藤伸樹15
我妻崇明
主文
1原告の請求を棄却する。
2訴訟費用は原告の負担とする。
事実及び理由20
第1請求
特許庁が無効2018-800104事件について令和元年6月25日に
した審決を取り消す。
第2事案の概要
1特許庁における手続の経緯等25
(1)被告は,平成16年8月13日,発明の名称を「情報管理方法,情報管理
プログラム,及び情報管理装置」とする発明について特許出願(特願200
4-235768号〔以下「本件特許出願」という。〕,優先日・平成16
年7月28日。甲18)をし,平成17年12月22日,特許権の設定登録
(特許第3754438号。請求項の数15。)を受けた(以下,この特許
を「本件特許」という。甲29)。5
(2)原告は,平成30年8月20日,本件特許の請求項1及び14について特
許無効審判を請求した(甲29)。
特許庁は,上記請求を無効2018-800104号事件として審理を行
い,令和元年6月25日,「本件審判の請求は,成り立たない。」,との審
決(以下「本件審決」という。)をし,その謄本は,同年7月4日,原告に10
送達された。
⑶原告は,令和元年8月1日,本件審決の取消しを求める本件訴訟を提起し
た。
2特許請求の範囲の記載
請求項1項及び14項の特許請求の範囲の記載は,次のとおりである(甲115
8)。なお,請求項1は,「A」ないし「H」なる記号により分説されている
わけではないが,本件審決において便宜のためこれらの記号が付されたもので
ある。
【特許請求の範囲】
【請求項1】20
Aコンピュータが情報を管理する情報管理方法であって,
B前記コンピュータに複数のノードそれぞれに対応付けて入力された管理す
べき情報を,前記ノードを識別するノード識別情報に対応付けられた複数の
ノードデータを含む文書ファイルとして前記コンピュータが記憶する情報記
憶ステップと,25
C前記情報記憶ステップで記憶された前記文書ファイルの情報を前記コンピ
ュータが表示する情報表示ステップと,
D前記ノードデータに含まれるスクリプトを前記コンピュータが実行する情
報評価ステップとを備え,
E前記ノードデータは,ルートノードを除いて,当該ノードの親ノードを特
定する親ノード識別情報を含んでおり,5
F前記スクリプトは,当該ノードデータに含まれる変数データである自ノー
ド変数データと,当該ノードの直系上位ノードのノードデータに含まれる変
数データである上位ノード変数データを利用した演算を行って,前記自ノー
ド変数データの値を求める代入用スクリプトを含んでおり,
G前記情報表示ステップは,前記親ノード識別情報を利用して,前記ノード10
の木構造を表示する木構造表示ステップと,前記表示された木構造のノード
のうちの選択されたノードの前記自ノード変数データ,前記上位ノード変数
データ及び前記スクリプトを表示するノードデータテーブル表示ステップを
含み,
H前記情報評価ステップは,前記代入用スクリプトの実行により,前記自ノ15
ード変数データの値を更新するステップを含む情報管理方法。
【請求項14】
請求項1ないし13のいずれか1項記載の情報管理方法における各ステッ
プを,コンピュータに実行させるための情報管理プログラム。
3本件審決の理由の要旨20
(1)本件審決の理由の要旨は,①本件特許の請求項1に係る発明(以下「本件
発明1」という。)及び本件特許の請求項14に係る発明(以下「本件発明
14」という。)は,本件特許出願の優先日前に頒布された刊行物である甲
第1号証(特開平6-175852号公報。以下,単に「甲1」という。そ
の他の刊行物についても同様に単に「甲2」等という。)に記載された発明25
ではないから,原告主張の新規性欠如(特許法29条1項3号)の無効理由
は理由がない,②本件発明1及び本件発明14は,甲1に記載された発明に
おいて,相違点に係る構成を想起することは,当業者が容易になし得たもの
でないから,原告主張の進歩性欠如(同条2項違反)の無効理由は理由がな
い,③本件発明1及び本件発明14に係る本件明細書(甲18)の発明の詳
細な説明は,当業者に実施可能なように記載されており,同法36条4項15
号に規定する要件(以下「実施可能要件」という。)に適合するから,原告
主張の実施可能要件違反の無効理由は理由がない,④本件発明1及び本件発
明14は,本件明細書の発明の詳細な説明に記載されたものであり,発明の
詳細な説明の記載により当業者が当該発明の課題を解決できる範囲のもので,
同条6項1号に規定する要件(以下「サポート要件」という。)に適合する10
から,原告主張のサポート要件違反の無効理由は理由がないというものであ
る。
(2)本件審決が認定した甲1に記載された発明(以下「甲1発明」という。),
並びに本件発明1と甲1発明の一致点及び相違点は,次のとおりである。
ア甲1発明15
甲1-aコンピュータが知識ベースを構築する知識ベース構築方法で
あって,
甲1-b前記コンピュータに複数のノードそれぞれに対応付けて入力
された知識を,前記ノードを定義するノード名称に対応付けら
れた複数のノードデータを含むデータベースに前記コンピュー20
タが記憶し,更に前記知識を知識記述言語に変換して知識ベー
スとして記述する記憶ステップと,
甲1-c前記記憶ステップで記憶された知識を前記コンピュータが表
示する表示ステップと,
甲1-d前記ノードデータに含まれる属性値の数式の計算を前記コン25
ピュータが実行する実行ステップとを備え,
甲1-e前記ノードデータは,最上位のノードを除いて,当該ノード
の親ノードを特定する親ノードの名称を含み,前記ノードデー
タには前記数式のほか条件分岐も含み得,
甲1-f前記数式は,当該ノードの親ノードのノードデータに含まれ
る属性値である親ノード属性値(『内箱の本体の高さ』)を当5
該ノードデータに含まれる属性値である自ノード属性値(『高
さ』)として代入する数式を含んでおり,
甲1-g前記表示ステップは,前記親ノードの名称を利用して,前記
ノードのツリーを表示するツリー表示ステップと,前記表示さ
れたツリーのノードのうちの選択されたノードの前記自ノード10
属性値,前記親ノード属性値を表示する属性値表示ステップを
含み,
甲1-h前記実行ステップは,前記数式の計算により,親ノード属性
値を自ノード属性値として代入して,自ノード属性値を求める
ステップを含む知識ベース構築方法。15
イ本件発明1と甲1発明の一致点及び相違点
(一致点)
「コンピュータが情報を管理する情報管理方法であって,
前記コンピュータに複数のノードそれぞれに対応付けて入力された管
理すべき情報を,前記ノードを識別するノード識別情報に対応付けられ20
た複数のノードデータを含む情報として前記コンピュータが記憶する情
報記憶ステップと,
前記情報記憶ステップで記憶された前記情報を前記コンピュータが
表示する情報表示ステップと,
前記ノードデータに含まれる値に係る演算をコンピュータが実行す25
る実行ステップとを備え,
前記ノードデータは,ルートノードを除いて,当該ノードの親ノード
を特定する親ノード識別情報を含んでおり,
前記情報表示ステップは,前記親ノード識別情報を利用して,前記ノ
ードの木構造を表示する木構造表示ステップと,前記表示された木構造
のノードのうちの選択されたノードの前記自ノード変数データ,前記上5
位ノード変数データを表示するノードデータテーブル表示ステップを
含み,
前記実行ステップは,前記自ノード変数データの値を更新するための
演算を実行する情報管理方法。」である点。
(相違点1)10
本件発明1が,「管理すべき情報」を「文書ファイル」として記憶し,
当該「文書ファイルの情報」をコンピュータが表示するものであるのに
対し,甲1発明は,「知識」を「データベース」に記憶し,「更に前記
知識を知識記述言語に変換して知識ベースとして記述」し,当該「知識」
をコンピュータが表示するものである点。15
(相違点2)
本件発明1が,「ノードデータ」に「スクリプト」を含み,当該スク
リプトは「当該ノードデータに含まれる変数データである自ノード変数
データと,当該ノードの直系上位ノードのノードデータに含まれる変数
データである上位ノード変数データを利用した演算を行って,前記自ノ20
ード変数データの値を求める代入用スクリプト」を含むものであり,情
報表示ステップでは,前記「スクリプト」も表示されるのに対し,甲1
発明では,ノードデータにスクリプトが含まれることは特定されておら
ず,更に当該スクリプトを表示することも特定されていない点。
(相違点3)25
本件発明1が,「情報評価ステップ」で「前記代入用スクリプトの実
行により,前記自ノード変数データの値を更新する」ものであるのに対
し,甲1発明は,「実行ステップ」において「ノードデータに含まれる
属性値の数式の計算」が行われ,計算されたノードデータに基づき「知
識ベース」の更新が行われるものの,「情報評価ステップ」で「代入用
スクリプト」の実行によって「自ノード変数データの値を更新」を行う5
ものではない点。
第3当事者の主張
1取消事由1(新規性の判断の誤り)
⑴原告の主張
ア相違点2の認定に誤りがあることについて10
(ア)a甲1発明にはスクリプトが存在するから,本件審決の相違点2の
認定は誤りである。
b本件明細書では,「次に,代入用スクリプト及び生成用スクリプト
の具体例を,図8の「*」を付したノードをターゲットノードとして
説明する。図9に示すように,ターゲットノードは,要計算の公開変15
数として,「スライス数」と「色」を有しており,代入用スクリプト
として,「スライス数=同一面数;」と「色=同一面数」を有してい
る。評価前は,図10に示すように,公開変数「スライス数」と「色」
の値は空欄となっている。」とし(【0072】),スクリプトの具
体的実施態様として,「スライス数=同一面数;」及び「色=巾木色;」20
という2つの数式を開示する。本件発明1において,スクリプトとは,
単なる代入表現をその範囲に含むものである。
一方,甲1発明では,「“内箱”のノードでは,“内箱本体”に入
力すべき3つの属性(“高さ”“幅”“長さ”)を自己の大きさから
決定する。又,“内箱”自身の大きさは,親ノードである“引き出し”25
にその決定を委ねる。」(【0030】),「この様にして全てのデ
ータ入力作業が終了すれば,データベース内には,図6に示す如きイ
メージでデータ構造が登録され,最上位のノードである“引き出し”
の“高さ”“幅”“長さ”が,知識ベースに対する入力データとな
る。」(【0031】)として,例えばコンピュータが,「内箱本体
の高さ」(自ノードである「内箱本体」の入力属性である「高さ」を5
意味する属性値の名称である。)に対し,内箱の「自己の高さ」(親
ノードである「内箱」の入力属性である「高さ」を意味する属性値の
名称である。)の値を代入する態様が記載されている。具体的には,
甲1の【図6】の
内箱本体の高さ自己の高さ
との記載がそれに該当する。これは,「自己の高さ」という名称を持10
つ属性の値を,「内箱本体の高さ」という名称を持つ属性の値に代入
することを示す表記であるから,単なる代入表現をスクリプトの範囲
に含む本件発明1との関係では,このような記載もまたスクリプトを
開示するものということができ,プログラム言語で表現すると,実質
的に,15
内箱本体の高さ=自己の高さ;
という代入式が記載されているに等しいと考えることができる。
さらに,甲1には,「属性値の定義(S6)では,決定属性に分類
された属性に対して属性値(“黒”,“スチール”)の入力が行なわ
れる。ここで,属性値としては,数値に限らず,数式や条件分岐が入20
力可能である。」(【0022】)との記載もあり,属性値として,
数式だけでなく,条件分岐も記載することができ,これがスクリプト
であることに疑いはない。
(イ)さらに,甲1に,本件発明1の構成要件Fの「当該ノードデータに
含まれる変数データである自ノード変数データと,当該ノードの直系上25
位ノードのノードデータに含まれる変数データである上位ノード変数デ
ータを利用した演算を行って,前記自ノード変数データの値を求める代
入用スクリプト」が開示されていることは,以下のとおりである。
甲1発明では,自ノードを「内箱本体」とした場合,この直系上位ノ
ード「内箱」の変数データ「高さ」の値を,自ノード「内箱本体」の変5
数データ「高さ」に代入する甲1の【図6】の
内箱本体の高さ自己の高さ
との表記が,上位ノード変数データ「自己の高さ」(=直系上位ノード
「内箱」の入力属性「高さ」)を,自ノード変数データ「内箱本体の高
さ」(=自ノード「内箱本体」の入力属性「高さ」)に代入して,その
値を求める代入用スクリプトである。仮に,「内箱本体の高さ」,「内10
箱本体の幅」及び「内箱本体の長さ」は上位ノード変数データに該当し,
自ノード「内箱本体」の入力属性である「高さ」,「幅」及び「長さ」
は自ノード変数データに該当すると解したとしても,上位ノード変数デ
ータ「内箱本体の高さ」を,自ノード「内箱本体」の自ノード変数デー
タ「高さ」に代入して,その値を求めていることになる。15
ところで,この代入用スクリプトは,自ノード変数データ「高さ」が
含まれている自ノード「内箱本体」ではなく,直系上位ノード「内箱」
に記載されている。しかし,本件発明1において,代入用スクリプトと
自ノード変数データとが,同一のノードデータに含まれることは要件と
されていないから,この点が,本件発明1と甲1発明との相違点となる20
ことはない。すなわち,本件発明1では,構成要件Bで「複数のノード
データを含む文書ファイル」が規定されていることから,本件発明1は,
文書ファイル中に,1つではなく,2つ以上のノードデータを具備する
ものであり,これを受けた構成要件Dの「前記ノードデータ」,構成要
件Fの「当該ノードデータ」は,いずれも構成要件Bの「複数のノード25
データ」を意味する。構成要件Dは,①「複数のノードデータのいずれ
かがスクリプトを含む」ことを規定し,構成要件Fは,②「代入用スク
リプトが,複数のノードデータのいずれかに含まれる自ノード変数デー
タと,その上位ノード変数データとを利用した演算により自ノード変数
データを求める」ことと,③「スクリプトが代入用スクリプトを含む」5
こととを規定している。代入用スクリプトも,自ノード変数データも,
共に複数のノードデータのいずれかに含まれていれば足りるものであり,
両者が同じノードに含まれていることは,一切規定されていない。
仮に甲1発明において,代入用スクリプトと自ノード変数データとが
同じノードに含まれることが要件であるとしても,甲1には代入用スク10
リプトの開示がある。すなわち,甲1の【図6】の自ノード「内箱本体」
における,
入力属性高さ
…
…
との記載は,自ノード「内箱本体」の変数「高さ」に対し,上位ノード
変数の値を入力するスクリプトを意味する。そして,その際に入力に用
いられるのは,15
内箱本体の高さ自己の高さ
との代入用スクリプトである。そうすると,甲1の【図6】における自
ノード「内箱本体」には,結局のところ,
「高さ」=(「内箱本体の高さ」=「自己の高さ」);
という,親ノード変数データの値「内箱本体の高さ」を,自ノード変数
データ「高さ」に代入するための,代入用スクリプトが含まれている。20
(ウ)このように,甲1には,代入用スクリプトの開示があることを前提
とすれば,甲1発明は,正しくは以下のとおり認定されるべきである。
甲1-aコンピュータが知識ベースを構築する知識ベース構築方法
であって,
甲1-b前記コンピュータに複数のノードそれぞれに対応付けて入
力された知識を,前記ノードを定義するノード名称に対応付
けられた複数のノードデータを含むデータベースに前記コ5
ンピュータが記憶し,更に前記知識を知識記述言語に変換し
て知識ベースとして記述する記憶ステップと,
甲1-c前記記憶ステップで記憶された知識を前記コンピュータが
表示する表示ステップと,
甲1-d前記ノードデータに含まれる属性値のスクリプトを前記コ10
ンピュータが実行する実行ステップとを備え,
甲1-e前記ノードデータは,最上位のノードを除いて,当該ノー
ドの親ノードを特定する親ノードの名称を含み,前記ノード
データには前記スクリプトを含み,
甲1-f前記スクリプトは,当該ノードの親ノードのノードデータ15
に含まれる属性値である親ノード属性値(『内箱の本体の高
さ』)を当該ノードデータに含まれる属性値である自ノード
属性値(『高さ』)として代入するスクリプトを含んでおり,
甲1-g前記表示ステップは,前記親ノードの名称を利用して,前
記ノードのツリーを表示するツリー表示ステップと,前記表20
示されたツリーのノードのうちの選択されたノードの前記
自ノード属性値,前記親ノード属性値を表示する属性値表示
ステップを含み,
甲1-h前記実行ステップは,前記スクリプトにより,親ノード属
性値を自ノード属性値として代入して,自ノード属性値を求25
めるステップを含む
知識ベース構築方法。
(エ)本件審決が,相違点2を本件発明1と甲1発明の実質的相違点とし
た根拠は,専ら甲1の「数式や条件分岐」が「スクリプト」とは異なる
という点に依拠したものであるから,甲1の数式や条件分岐がスクリプ
トに該当するものである以上,本件審決の相違点2の判断には誤りがあ5
る。
この点は,本件発明14についても同様である。
イ相違点3の認定に誤りがあることについて
(ア)本件審決が,相違点3を本件発明1と甲1発明の実質的な相違点と
した理由の1つは,甲1にスクリプトが開示されていないというもので10
あり,これが誤りであることは,前記アで主張したとおりである。
(イ)本件審決は,本件発明1の構成要件Hについて,「シミュレーショ
ン動作のために具体的には,図6の「操作ボタン表示領域20a」にあ
る,「「評価」ボタン」を押下し,その結果として「自ノード変数デー
タの値」の値が更新されることを意味するものと解される。」とし,こ15
の点が甲1発明に記載されていないことも,実質的な相違点と認定して
いる。
a本件発明1の記載を正しく解釈すれば,構成要件Hの「更新」ステ
ップは,文書ファイルに含まれている自ノード変数データの値を変更
するものであれば足りる。本件審決が,本件発明1の更新ステップが20
「操作ボタン表示領域20aにある評価ボタンを押下する」との態様
に限定される根拠とする本件明細書の記載は,いずれも実施例にすぎ
ない。
b甲1発明では,構成要件1-hは「前記実行ステップは,前記スク
リプトにより,親ノード属性値を自ノード属性値として代入して,自25
ノード属性値を求めるステップを含む」というものであるが,ここで
スクリプトにより代入された自ノード属性値は,甲1の「…最上位の
ノードに入力属性として定義されている属性名が,知識ベース運用の
際にデータを入力すべき項目であり,該データ入力によって知識ベー
スが動作を開始することになる。」(【0023】),「…あるノー
ドの知識を変更する場合は,詳細知識定義装置(6)を用いてデータベ5
ース(4)の該当箇所を書き換えるだけで,これが知識ベース(1)の知
識に反映される。」(【0026】)との記載から明らかなように,
知識ベースの知識に反映されることとなる。
そして,知識ベースが文書ファイルであることについては,審決に
おいて,相違点1が実質的相違点でないとして適切に認定されたとお10
りであるから,甲1には,文書ファイルに記載された自ノード属性値
をスクリプトにより変更することが開示されている。
ウ新規性の判断に誤りがあることについて
前記ア及びイのとおり,正しく認定された甲1発明を前提とすれば,本
件発明1と甲1発明の相違点2及び相違点3は存在しない。15
同様に,本件発明14と甲1発明の相違点2及び相違点3も存在しない。
したがって,本件審決の判断は誤りである。
エ小括
以上のとおり,本件発明1と甲1発明に相違点は存在しないから,本件
発明1は,本件特許出願の優先日前に頒布された刊行物である甲1に記載20
された発明ではないとした本件審決の判断は誤りである。また,同様に,
本件発明1の発明特定事項を全て含む本件発明14について,本件特許出
願の優先日前に頒布された刊行物である甲1に記載された発明ではない
とした本件審決の判断は誤りである。
⑵被告の主張25
ア相違点2の認定に誤りがないことについて
(ア)本件発明1における「スクリプト」の意義
aスクリプトとは「コンピューターで,一連の処理手順を記述した簡
易プログラム」(甲14),「プログラムやマクロを記述したテキス
トファイル」,「コンピュータに処理を自動的に実行させるための命
令を記述したファイル」(乙1)を意味し,このようなスクリプトを5
記述する言語を「スクリプト言語」という(乙2)。
b本件発明1において,「スクリプト」は,スクリプト言語として使
用されている任意の言語を使用して作成されるものである(本件明細
書【0016】,【0019】,【0034】,【0057】)。
c本件発明1の構成要件Gの「…スクリプトを表示するノードデータ10
テーブル表示ステップ」の記載及び本件明細書【0046】の記載か
ら明らかなとおり,スクリプトは画面に表示される。
d本件明細書【0057】の記載から,「スクリプト」は,本件発明
を利用する者がスクリプト領域又は別のウィンドウを通して直接入力
できるものである。15
e本件明細書【0067】以下及び【図12】のとおり,「スクリプ
ト」はそのまま実行される。
f以上によれば,本件発明における「スクリプト」は,①任意のスク
リプト言語を使用して作成される簡易なプログラムであって,②作業
者が,スクリプトの画面表示を通じて,直接入力し,実行できるプロ20
グラムをいう。
(イ)本件発明1における「代入用スクリプト」の意義
本件明細書【0032】の記載から,本件発明1における「代入用ス
クリプト」は,(ア)のとおりの性質を有する簡易なプログラムであって,
かつ,自ノードの変数の値を演算するために,自ノードの変数の値であ25
る自ノード変数データと,そのノードの直系上位ノードの公開変数の値
である上位ノード変数データを利用して記述されるものをいう。
(ウ)甲1発明における「スクリプト」ないし「代入用スクリプト」の不
存在
a甲1発明において,「知識ベース」は「知識記述言語」で記述され
るところ,この「知識ベース」は,所定の「知識記述言語」で記述さ5
れた一種のコンピュータプログラムであり,「知識記述言語」はプロ
グラミング言語である。
甲1発明において,データベース内のデータは,「データ変換装置」
により「知識記述言語」に変換されるから,データベース内のデータ
は,「知識記述言語」すなわちプログラミング言語,スクリプト言語10
で記載されたものではなく,「スクリプト」に当たらない。
b原告は,甲1の【図6】がスクリプトであると主張するが,そこか
ら読み取れるのは,「内箱」ノードの「内箱本体の高さ」と「自己の
高さ」が同じ値となるという限度であり,「内箱」ノードの「高さ」
を「内箱本体」ノードの「高さ」に代入しているとはいえない。15
また,甲1には,原告の指摘する記載(内箱本体の高さ・自己の高
さ)が,知識記述言語,すなわちプログラミング言語,スクリプト言
語であるとの記載も示唆もない。
甲1発明は,「知識ベースを構築する際には,知識記述言語につい
ての知識や経験が必要である」(【0002】)という従来技術の課20
題に対し,「知識記述言語(すなわちプログラミング言語,スクリプ
ト言語)についての知識や経験を有しない知識所有者であっても,階
層構造定義装置(5),詳細知識定義装置(6)及び知識参照装置(7)を
操作することによって,容易に知識ベース(1)を構築することが出来
る」ことを作用効果とするものであり(【0032】),データベー25
ス内に知識記述言語(すなわち,プログラミング言語,スクリプト言
語)の記載を求めることは,上記作用効果を阻害するものであって,
甲1発明の【図6】に「スクリプト」が開示されているとはいえない。
イ相違点3の認定に誤りがないことについて
本件審決において,相違点3は,「情報評価ステップ」で「代入用スク
リプト」の実行によって「自ノード変数データの値を更新」する点に求め5
られており,ボタンの押下についてのみ指摘する原告の主張は失当である。
ウ新規性の判断に誤りがないことについて
原告主張の甲1発明を認定することはできないから,本件発明1と甲1
発明の間には,本件審決認定のとおり相違点2及び相違点3が存在し,こ
れらは実質的なものである。10
同様に,本件発明14と甲1発明の間には相違点2及び相違点3が存在
し,これらは実質的なものである。
エ小括
以上のとおり,本件発明1と甲1発明には相違点が存在し,それは実質
的なものであるから,本件発明1は,本件出願の優先日前に頒布された刊15
行物である甲1に記載された発明ではないとした本件審決の判断には誤
りがない。また,同様に,本件発明1の発明特定事項を全て含む本件発明
14について,本件出願の優先日前に頒布された刊行物である甲1に記載
された発明ではないとした本件審決の判断には誤りがない。
したがって,原告主張の取消事由1は理由がない。20
2取消事由2(甲1発明を主引用例とする進歩性判断の誤り)
⑴原告の主張
ア相違点2及び相違点3に係る容易想到性判断に誤りがあることについて
甲1発明は,正しくは前記1(1)ア(ウ)のとおり認定されるべきである
ところ,この場合,本件発明において,代入用スクリプトと自ノード変数25
データとが,同一のノードデータに含まれるのに対し,甲1発明ではそう
ではないことが,本件発明1と甲1発明の相違点に当たることになり,甲
1発明において,直系上位ノード「内箱」に含まれている代入用スクリプ
トを,直系上位ノードではなく,自ノードに含ませることとすることの容
易想到性が問題となる。
(ア)甲3には,代入用スクリプトを,当該スクリプトによって値が代入5
されることになる変数データを含んだ自ノードに記載することが開示さ
れ,甲7には,階層構造を有するデータにおいて,スクリプトを,当該
スクリプトによって値が演算されることになるノード変数データを含ん
だ自ノードに記載することが開示されている。さらに,甲2には,ノー
ドデータにおいて,代入用スクリプトを,当該代入用スクリプトによっ10
て値が代入されることになる変数データを含んだ自ノードに記載するこ
とが示唆されている。
したがって,当業者において,甲1発明について,本件発明1との相
違点に係る構成である「代入用スクリプトが自ノードに含まれる」もの
とすることは,設計事項にすぎないものであり,容易に想到できる。15
(イ)被告は,甲1発明では下位から上位への順に定義する旨が記載され
ており,これを上位から下位という順に変更することについて動機付け
がなければ構成の変更は容易とはいえないと主張するが,被告の指摘す
る「下位ノードから上位ノードに向かって,必要な属性値の定義等を行
っていく」という態様は,甲1発明の一実施例にすぎないものである。20
イ本件審決認定に係る相違点2の容易想到性判断に誤りがあることについ
て
相違点2を本件審決のとおりに認定したとしても,本件審決の相違点2
の容易想到性の判断には誤りがある。
本件審決は,知識記述言語についての知識や経験を持たない知識所有者25
自身によって操作されるデータベースを介して操作することにより,知識
ベース構築者自身が知識ベースを容易に構築することが出来るようにす
るという甲1発明の課題や目的に照らせば,「ノードデータ」に「スクリ
プト」を含ませ,さらに当該スクリプトに「代入用スクリプト」を含むよ
う構成することは,その動機付けを欠き阻害要因を有するとか,数式や条
件分岐を「スクリプト」に変換して表示させる必要性はないと判断した。5
しかし,甲1発明によって達成されるのは,システム開発者が間に立つ
ことなく,知識をデータベース経由で知識ベースに入力可能となる点及び
知識の体系化が自動的に行われる点に限られるのであり(【0012】),
甲1発明において,ノードデータに記載される数式や条件分岐をスクリプ
トで記載し,表示することができることとしても,①知識を知識所有者が10
自らデータベースに入力可能である,②知識の体系化が自動的に行われる,
という甲1発明の効果が阻害されることはない。
また,本件発明1の「スクリプト」は,単なる代入表現をその範囲に含
むものであり,かかる表現であれば,知識記述言語についての知識や経験
を有することのない知識所有者であっても,容易に記述することができる。15
仮に,甲1発明が,プログラムの知識や経験がない知識所有者が直接知
識を追加・修正することができるよう,データベースに記載する数式や条
件分岐をスクリプトで記述することを認めないものであるとしても,知識
記述言語についての知識や経験を有するシステム開発者が,知識ベースの
知識を直接見ることができることとするため,知識ベースにスクリプトと20
して反映された数式や条件分岐等の属性値を表示するための機能を付加
することは,上記甲1発明の課題や目的に反するものではない。
したがって,本件審決における相違点2に関する容易想到性の判断は誤
りである。
ウ本件審決認定に係る相違点3の容易想到性判断に誤りがあることについ25
て
甲1発明において,ノードデータにスクリプトを記載し,表示すること,
及び「評価」ボタンにより「自ノード変数データの値を更新」することは,
いずれも当業者の設計事項であり,阻害要因はない。
したがって,本件審決の相違点3の容易想到性の判断は誤りである。
エ小括5
以上によれば,本件発明1は,甲1発明及び甲2ないし10に記載され
た発明に基づいて,当業者が容易に発明をすることができたものであるか
ら,これを否定した本件審決の判断は誤りである。また,同様に,本件発
明1の発明特定事項を全て含む本件発明14についても,甲1発明及び甲
2ないし10に記載された発明に基づいて,当業者が容易に発明をするこ10
とができたものであるから,これを否定した本件審決の判断は誤りである。
⑵被告の主張
ア原告主張のとおりに甲1発明を認定したとしても,本件審決の容易想到
性判断に誤りがないことについて
仮に,甲1発明が前記1(1)ア(ウ)のとおり認定されるべきであるとし15
ても,甲3には,本件発明1における意義の「ノード」,すなわち「ノー
ドの木構造」を「表示」できる態様のノードの記載はないし,甲2及び甲
7には「スクリプト」は開示されていない。
したがって,当業者において,甲1発明について,本件発明1との相違
点に係る構成である「代入用スクリプトが自ノードに含まれる」ものとす20
ることが設計事項にすぎないとはいえない。
また,甲1発明では下位から上位への順に定義する旨が記載されており,
これを上位から下位という順に変更することについて動機付けがなけれ
ば,原告のいうような構成の変更は容易とはいえないし,甲1【0029】
及び【0030】が,自ノードの属性を「親ノード…にその決定を委ねる」25
旨記述し,【図6】で「親ノード…にその決定を委ねる」態様として,親
ノード側に代入関係を記載していること,甲1【0028】のとおり,当
初のデータ作成において下位から上位にデータを入力していく態様が取
られていることからすれば,甲1発明において上位ノードから下位ノード
に数値を引き継ぐ場合の代入関係は上位ノードに記述されることが予定
され,下位ノードに記述することは想定していないと考えるのが自然であ5
り,当業者がソフトウェアの効率性を犠牲にしてまで代入関係を上位ノー
ドに記述する態様に加えて下位ノードに記述できる態様を加える技術的
意義はない。
イ本件審決認定に係る相違点2の容易想到性判断に誤りがないことについ
て10
ノードデータにスクリプトを記載させるということは,甲1発明の利用
者がスクリプトを記載できることを意味するところ,甲1発明は,プログ
ラミング言語を扱えない知識所有者による利用を想定した技術なのであ
るから,甲1発明の数式や条件分岐をスクリプトとして記載することはむ
しろ甲1発明の目的に反する。15
ウ本件審決認定に係る相違点3の容易想到性判断に誤りがないことについ
て
相違点3に関する事項は,当業者の設計事項であり,阻害要因はない旨
の原告の主張は,その前提を誤り,かつ理由がないものであり,本件審決
における相違点3に関する容易想到性の判断に誤りはない。20
エ小括
以上によれば,本件発明1及び本件発明14は,甲1発明及び甲2ない
し10に記載された発明に基づいて,当業者が容易に発明をすることがで
きたものではないから,本件審決の判断に誤りはない。
したがって,原告主張の取消事由2は理由がない。25
3取消事由3(実施可能要件違反)
⑴原告の主張
ア本件発明1は,被告の主張によれば,文書ファイルの内容を変更しない
態様を含むものであるが,この態様は,明細書に一切記載がない。
したがって,本件明細書は,当業者が過度の試行錯誤を行う必要なく,
本件発明を実施することができる程度に記載されたものとはいえず,本件5
審決の判断には誤りがある。
イなお,原告は,審判手続において,被請求人(被告)の主張によれば,
本件発明は,文書ファイルに含まれる自ノード変数データの値を書き換え
ない態様を含むものであるから,実施可能要件違反であるとの内容を主張
したが,本件審決は,上記原告の主張が「専ら本件無効審判事件と関連す10
る侵害訴訟においてなされる,被請求人の主張に基づくものであり,当該
訴訟は,本件無効審判事件と関連するものであることは推察されるものの,
本件無効審判事件の,とりわけ無効理由3について検討するにあたっては
考慮されない」と判断している。しかし,本来,本件審決は,本件発明が
文書ファイルに含まれる自ノード変数データの値を書き換えない態様を15
含むものであるか,それとも含まないものであるかについて判断した上で,
無効理由3についての結論を示すべきであったものであり,不当である。
ウ本件発明1は実施可能要件に適合しないから,本件発明14も実施可能
要件に適合しない。
したがって,これと異なる本件審決の判断は誤りである。20
⑵被告の主張
ア本件明細書には,自ノード変数データの値を書き換えない実施例が開示
されており,原告の主張には理由がない。
すなわち,実施例では,表示画面(【図6】)がツリービューアとデザ
インテーブルから構成される(【0044】)。デザインテーブルは,ツ25
リービューアに表示されたノードのうち選択されたノードが有する情報
を表示する領域であり,このうち操作ボタン表示領域20aには,デザイ
ンテーブルに関する各種操作を行うための操作ボタンが表示されている
(【0046】)。表示ボタンには,「更新」ボタンと「評価」ボタンが
含まれている。
「評価」ボタンは,代入用スクリプトを実行するものである(【0065
7】)。「評価」ボタンを押下することにより,代入用スクリプトが実行
される。これにより,公開変数「スライス数」の値に,上位ノードの公開
変数である「同一面数」の値「1」が代入される(「色」「巾木色」も同
様)(【0073】)。そして,その結果はデザインテーブルに表示され
る(【図13】)。10
このようにして変更されたデザインテーブルの編集内容は,「更新」ボ
タンを押すことによって,文書情報に反映される(【0058】)。
構成要件Hの文言は「前記情報評価ステップは,前記代入用スクリプト
の実行により,前記自ノード変数データの値を更新するステップを含む」
であり,特許請求の範囲としてクレームされているのは代入用スクリプト15
の実行による情報評価ステップである。これは,上記実施例でいえば,「評
価」ボタンの機能を指すものであり,「更新」ボタンの機能を含むもので
はない。すなわち,情報を表示画面(実施例ではデザインテーブル)に表
示するところまでをクレームしているのであり,その後の文書情報に反映
する機能はクレームには含んでいない。20
この点は,本件審決も「評価」ボタンの押下が,「代入用スクリプト」
の実行に該当することを適切に認定しているところである。
本件審決は,構成要件Hの「更新」が,「評価」ボタンの押下により実
行されるものであり,文書ファイルの書換えを伴うものではないことを前
提に実施可能性要件を判断したものであり,本件発明1が実施可能要件に25
適合するとした本件審決の判断に誤りはない。
イ本件発明1は,実施可能要件に適合するから,本件発明1が実施可能要
件に適合することを前提に,本件発明14が実施可能要件に適合するとし
た本件審決の判断に誤りがあるとの原告の主張も理由がない。
したがって,原告主張の取消事由3は理由がない。
4取消事由4(サポート要件違反)5
⑴原告の主張
ア本件発明1は,被告の主張によれば,文書ファイルの内容を変更しない
態様を含むものである。ところが,本件明細書を参酌しても,文書ファイ
ルに含まれる自ノード変数データの値を書き換えることなく,どのように
して情報の更新を行うのか,どのように多数の利用者間で更新した情報を10
共有し,再利用することができるのか全く明らかでない。
イ本件審決は,被請求人(被告)の主張によれば,本件発明が文書ファイ
ルに含まれる自ノード変数データの値を書き換えない態様を含むもので
あるにもかかわらず,サポート要件違反であるとの原告の主張について判
断を示しておらず,不当である。15
ウ本件明細書は,当業者が本件発明1により,その課題を解決できるもの
と認識できる程度に記載されたものとはいえず,本件発明1はサポート要
件に適合しない。
本件発明1はサポート要件に適合しないから,本件発明14もサポート
要件に適合しない。20
したがって,これと異なる本件審決の判断は誤りである。
⑵被告の主張
ア原告の主張は,本件明細書において,文書ファイルに含まれる自ノード
変数データの値を書き換えることなく,どのようにして情報の更新を行う
のかが明らかでないというものであるが,前記3⑵で主張したとおり,「評25
価」ボタンの押下による更新が文書ファイルの書換えを含まないことは,
本件明細書の記載から明らかであるから,原告の主張は前提を欠く。
イ以上のとおり,本件発明1は,サポート要件に適合するから,本件発明
1がサポート要件に適合することを前提に,本件発明14がサポート要件
に適合するとした本件審決の判断に誤りがあるとの原告の主張も理由が
ない。5
したがって,原告主張の取消事由4は理由がない。
第4当裁判所の判断
1明細書の記載事項について
⑴本件明細書(甲18)の発明の詳細な説明には,別紙1の記載がある。
(2)前記(1)の記載事項によれば,本件明細書には,本件発明に関し,次のよ10
うな開示があることが認められる。
アコンピュータを用いて各種情報の管理を行う場合,それぞれの情報を記
憶したファイルを,所定のフォルダに保管することによって行うのが一般
的であるが,作成したフォルダの構造及びそれぞれのフォルダに保管する
ファイルの種類等は,任意であってフォルダの作成者に依存するため,作15
成者以外の者が必要な情報に適確にアクセスすることは,必ずしも簡単で
はない(【0002】)。このような問題に対処するため,案件(プロジ
ェクト)毎にツリーを作成して表示し,作成した文書ファイルを,表示さ
れたツリーの任意のノードに付随させて,サーバコンピュータに保管する
文書情報管理システムや,異なる計算機やアプリケーションで共通に取扱20
うことができるXMLのような構造化文書規格を用いた構造化文書を木
構造として捉えて処理する構造化文書処理システムも存在したが,木構造
のノードに含まれる情報は,相互に関連するものが多いにもかかわらず,
これらの管理システムにおいては,それぞれの文書の該当する部分を個別
に更新する必要があり,十分効率的とはいえなかった(【0003】ない25
し【0005】)。
イ「本発明」は,上記事情に鑑み,管理すべき情報の更新を,簡単かつ効
率的に行うことができる情報管理方法を提供することを目的とし,その課
題を解決する手段として,コンピュータが情報を管理する情報管理方法で
あって,前記コンピュータに複数のノードそれぞれに対応付けて入力され
た管理すべき情報を,前記ノードを識別するノード識別情報に対応付けら5
れた複数のノードデータを含む文書ファイルとして前記コンピュータが
記憶する情報記憶ステップと,前記情報記憶ステップで記憶された前記文
書ファイルの情報を前記コンピュータが表示する情報表示ステップと,前
記ノードデータに含まれるスクリプトを前記コンピュータが実行する情
報評価ステップとを備え,前記ノードデータは,ルートノードを除いて,10
当該ノードの親ノードを特定する親ノード識別情報を含んでおり,前記ス
クリプトは,当該ノードデータに含まれる変数データである自ノード変数
データと,当該ノードの直系上位ノードのノードデータに含まれる変数デ
ータである上位ノード変数データを利用した演算を行って,前記自ノード
変数データの値を求める代入用スクリプトを含んでおり,前記情報表示ス15
テップは,前記親ノード識別情報を利用して,前記ノードの木構造を表示
する木構造表示ステップと,前記表示された木構造のノードのうちの選択
されたノードの前記自ノード変数データ,前記上位ノード変数データ及び
前記スクリプトを表示するノードデータテーブル表示ステップを含み,前
記情報評価ステップは,前記代入用スクリプトの実行により,前記自ノー20
ド変数データの値を更新するステップを含むという構成を採用した(【0
007】,【0008】)。
ウ「本発明」においては,利用者が入力したデータに含まれるスクリプト
を利用して,ノードデータを更新することができるので,管理すべき情報
の更新を,簡単かつ効率的に行うことができ,複数のノードデータを含む25
1つの文書データを用いて,個々の業務や案件に関する情報を管理してい
るので,多数の利用者による情報の共有化,再利用を,簡単かつ効率的に
行うことができるとともに,文書データに基づいて,簡単にノードの木構
造を表示させることができるため,業務や案件全体の把握を簡単に行うこ
とができ,さらに,表示された木構造の個々のノードに対応付けられた詳
細情報を簡単に表示することができる(【0009】)ため,「本発明」5
によれば,管理すべき情報の更新を,簡単かつ効率的に行うことができる
という効果を奏する(【0024】)。
2取消事由1(新規性の判断の誤り)について
(1)甲1の記載事項について
ア甲1には,別紙2の記載がある。10
イ前記アの記載事項によれば,甲1には,次のような開示があることが認
められる。
(ア)知識ベースを構築する際には,知識記述言語についての知識や経験
が必要であり,従来は,知識ベース(1)に接続した知識ベース構築装置
(13)は,知識記述言語についての知識や経験を有するシステム開発者15
(14)が操作する運用形態を採っていた。システム開発者(14)は,知識ベ
ース構築に際して知識所有者(15)との口頭でのインタビューを行なっ
て,知識所有者(15)から知識を獲得し,これに基づいて資料を作成し,
知識を体系化した上,該資料に基づいて,知識ベース構築装置(13)を操
作し,知識ベース(1)を構築していた。しかし,インタビューが口頭で20
行われるため,知識ベース(1)を一旦構築した後も,知識の追加や修正
が必要となり,また,資料作成のために多大な労力と時間を要し,その
上,知識所有者(15)の知識が知識体系化の際に作成された資料と知識ベ
ース(1)内に記述された知識とによって保存され,管理されているから,
知識を追加し,或いは修正する必要が生じた場合には,システム開発者25
(14)が再度,知識所有者(15)とのインタビューを行なって,知識の獲得,
体系化,及び知識ベース構築のプロセスを繰り返さねばならず,一連の
処理が極めて煩雑となる問題があった(【0002】ないし【0006】)。
(イ)「本発明」は,知識ベースと知識ベース構築者の間に,知識所有者
自身が操作可能なユーザインターフェースを設けることによって,知識
ベース構築者自身が知識ベースを容易に構築することが出来る知識ベ5
ース構築システムを提供することを目的とし,課題を解決するための手
段として,複数のノードを互いに関係づけてなる階層構造を有して各ノ
ードには詳細な知識が定義されるデータ構造のデータベース(4)と,該
データベース(4)内のデータを前記知識記述言語に変換して知識ベー
ス(1)に記述するデータ変換装置(3)と,データベース(4)内に知識の10
階層構造を定義するための階層構造定義装置(5)と,データベース(4)
内に定義された階層構造の各ノードに対して詳細な知識を定義するた
めの詳細知識定義装置(6)とを具えた構成を採り,これにより,知識所
有者自身が知識ベース構築者となって操作することができ,従来の知識
ベース構築者による知識獲得プロセスは不要となり,知識の体系化は自15
動的に行なわれ,その結果が全てデータベースに登録されるため,知識
の統一的な保存,管理が可能となり,さらに,知識ベースの知識を変更
する必要が生じた場合にも,データベースを修正する処理だけで済むと
いう効果を奏する(【0007】,【0008】,【0012】)。
⑵相違点2の認定の誤りについて20
ア原告は,甲1発明にはスクリプトが含まれているとして,本件審決が相
違点2を実質的なものと認定したのを誤りと主張する。
(ア)甲1発明の実施例では,製品設計に関する知識ベースを作成する場
合,先ず階層構造定義装置(5)の操作によって,製品を構成する複数の
部品のそれぞれにノード名称を付し,これをツリー上に連結して親子関25
係を定義する(【0015】ないし【0017】)。
次に,部品構成ツリー上の各ノード,すなわち部品や部位についての
知識が詳細知識定義装置(6)によって定義される。この作業は階層構造
の下位から上位へ向かってノード毎に行われ,各ノード毎に図3に示す
処理が実行される。まず,1つのノードが選択され(S3),選択され
たノードについて,必要な属性の定義(S4。例えば部品の高さ,幅,長5
さ,色,材質等の属性名の定義),属性の分類(S5。自己の親ノードか
らその属性値を入力すべき属性である入力属性(部品の高さ,幅,長さ)
と,自己のノードで属性値を決定すべき決定属性(色,材質等)への分
類)及び属性値の定義(S6。決定属性への属性値(黒,スチール等)の
入力)が行われる(【0019】ないし【0022】)。この属性値の10
入力について,「数値に限らず,数式や条件分岐が入力可能である。」
と明記されている(【0022】)ところ,ここでいう数式や条件分岐
は,記述に基づいてコンピュータが処理を実行するためのものであり,
スクリプトの定義である「コンピューターで,一連の処理手順を記述し
た簡易プログラム」(甲14)に当てはまり得る。15
(イ)しかしながら,本件発明1の構成要件Fは,「前記スクリプトは,
当該ノードデータに含まれる変数データである自ノード変数データと,
当該ノードの直系上位ノードのノードデータに含まれる変数データであ
る上位ノード変数データを利用した演算を行って,前記自ノード変数デ
ータの値を求める代入用スクリプトを含んでおり,」というものである20
ところ,甲1発明に「スクリプト」が開示されているとしても,これに
「代入用スクリプト」が含まれているかが問題となる。
a甲1発明では,数式や条件分岐が含まれると明示されているのは,
自己のノードで属性値を決定すべき「決定属性」に分類された属性に
対する属性値の入力である「属性値の定義」のみである(【0022】)。25
甲1の【図6】の「引き出し」ノードの「決定属性」中の「内箱の高
さ」欄の「自己の高さ-外箱の肉厚×2」との表記がこれに当たるが,
これは自ノード変数データと上位ノードの変数データを利用した演算
ではない。
甲1発明では,入力属性は,自己の親ノードからその属性値をその
まま入力すべき属性であり,例えば甲1の【図6】では,「内箱本体」5
ノードの入力属性欄の変数「高さ」に対し,上位ノード「内箱」の変
数「内箱本体の高さ」の値を入力しているが,これは入力がされてい
るだけで,これに加えて,自ノード変数データと上位ノードの変数デ
ータを利用した演算を行っているものではない。
そして,これ以外に,甲1において,自ノード変数データと,当該10
ノードの直系上位ノードのノードデータに含まれる変数データである
上位ノード変数データを利用した演算を行っていることの開示はない。
b次に,原告は,甲1には,例えばコンピュータが,自ノードである
「内箱本体」の入力属性である「高さ」を意味する属性値の名称であ
る「内箱本体の高さ」に対し,親ノードである「内箱」の入力属性で15
ある「高さ」を意味する属性値の名称である内箱の「自己の高さ」の
値を代入する態様が記載されているとし,具体的には,甲1の【図6】
の「内箱」にある
内箱本体の高さ自己の高さ
との記載がそれに該当すると主張する。しかし,甲1発明については,
部品構成ツリー上の各ノードを定義する作業は階層構造の下位から上20
位へ向かってノード毎に行われるとされているのであり(【0019】),
上記記載の自ノードは「内箱本体」でなく「内箱」であり,内箱ノー
ドについての自ノード変数データである「「自己の高さ」の値」を,
同じく内箱ノードについての自ノード変数である「内箱本体の高さ」
に代入しているというべきである。上記記載が,自己のノードにて属25
性値を決定すべき(【0021】)「決定属性」の欄にあることもこ
れを裏付ける。換言すれば,同記載は,「内箱」ノードに対する「引
き出し」ノードのような親(上位)ノードで定義された属性の属性値,
すなわち上位ノード変数データを利用しておらず,「当該ノードデー
タに含まれる変数データである自ノード変数データと,当該ノードの5
直系上位ノードのノードデータに含まれる変数データである上位ノー
ド変数データを利用した演算を行って,前記自ノード変数データの値
を求める代入用スクリプトを含んでおり」という本件発明の構成要件
Fと一致するとはいえない。
cさらに,原告は,本件発明1では,代入用スクリプトも自ノード変10
数データも,共に複数のノードデータのいずれかに含まれていれば足
りるものであり,両者が同じノードに含まれていることは,一切規定
されていないので,甲1発明で,本件記載が,自ノード変数データ「高
さ」が含まれている自ノード「内箱本体」ではなく,直系上位ノード
「内箱」に記載されていることは,本件発明と甲1発明との相違点と15
なることはないと主張する。
しかしながら,構成要件Fに記載された「当該ノードデータ」を,
原告が主張するように文書ファイルに含まれる「複数のノードデータ」
と解釈した場合,「複数のノードデータ」に対する「当該ノードの直
系上位ノードのノードデータ」がどのノードデータを意味するのか特20
定できなくなり,「当該ノードデータに含まれる変数データである自
ノード変数データ」及び「当該ノードの直系上位ノードのノードデー
タに含まれる変数データである直系上位ノード変数データ」が特定で
きなくなることによって構成要件F「代入用スクリプト」が特定でき
なくなるから,原告が主張するように解釈する余地はない。また,特25
許請求の範囲の記載を素直に読めば,本件発明1の構成要件Fの「当
該ノードデータ」とは,ある代入用スクリプトが値を求める変数デー
タ(自ノード変数データ)を含むノードデータであって,特定の一つ
のノードデータを意味することは明らかというべきである。さらに,
本件明細書の【図9】でも,「MW70巾木(表)」とのラベルが付いた
ノードのノードデータとして,「スライス数=同一面数;」との代入5
用スクリプト,及び上記代入用スクリプトが値を求める変数である「ス
ライス数」が記載されている。そうすると,上記代入用スクリプトが
値を求める「スライス数」を含む「当該ノードデータ」が,「MW70巾
木(表)」とのラベルが付いたノードのノードデータに該当すること
は明らかであるから,本件明細書及び図面に基づいても,特定の一つ10
のノードデータを意味する構成要件Fの「当該ノードデータ」を,原
告が主張する「複数のノードデータ」と解釈することはできない。
なお,原告は,仮に,甲1発明において,代入用スクリプトと自ノ
ード変数データとが同じノードに含まれることが要件であるとしても,
甲1には代入用スクリプトの開示があるとし,甲1の【図6】におけ15
る自ノード「内箱本体」には,結局のところ,
「高さ」=(「内箱本体の高さ」=「自己の高さ」);
という,親ノード変数データの値「内箱本体の高さ」を,自ノード変
数データ「高さ」に代入するための,代入用スクリプトが含まれてい
ると主張する。20
しかし,そもそも甲1の【図6】においては,「内箱本体」ノード
における「高さ」は「入力属性」とされており,「決定属性」とはさ
れていないのであるから,代入用スクリプトが含まれているものとは
解し難いものであるし,「内箱」ノードと「内箱本体」ノードが実質
的には同位で一体性の高いものであることを前提にその中に代入用ス25
クリプトが含まれていると解する場合には,前記bで示したとおり,
上記代入用スクリプトが上位ノード変数データを利用するものではな
いことが一段と明確になるものというべきであるから,いずれにして
も原告の上記主張は結論を左右し得ない。
d以上によれば,いずれの点からみても,原告の主張は採用し得ない。
(ウ)まとめ5
そうすると,「甲1発明では,ノードデータに当該ノードデータに含
まれる変数データである自ノード変数データと,当該ノードの直系上位
ノードのノードデータに含まれる変数データである上位ノード変数デー
タを利用した演算を行って,前記自ノード変数データの値を求める代入
用スクリプトが含まれることは特定されておらず,更に当該スクリプト10
を表示することも特定されていない点。」が,本件発明1と甲1発明の
相違点となり,これは実質的なものであるから,結局本件発明1と甲1
発明は,相違点2に対応する相違点を有することになる。
そして,本件発明14は,本件発明1を引用し,プログラムの発明と
して特定したものであり,本件発明1と実質的に同じ構成を有するから,15
本件発明1と同様,甲1発明と実質的な相違点を有することになる。
(3)相違点3の認定の誤りについて
ア原告は,甲1には,スクリプトの開示があり,また,文書ファイルに記
載された自ノード属性値をスクリプトにより変更することも開示されて
いるから,相違点3を実質的な相違点と認定した本件審決の判断は誤りで20
あると主張する。
イしかし,甲1発明には代入用スクリプトの開示がないことは上記(2)の
とおりであるし,甲1発明は,「「実行ステップ」において「ノードデー
タに含まれる属性値の数式の計算」が行われ,計算されたノードデータに
基づき「知識ベース」の更新が行われるものの,「情報評価ステップ」で25
「代入用スクリプト」の実行によって「自ノード変数データの更新」を行
うものではない」から,いずれにしても原告の主張は採用し得ず,本件審
決の相違点3の認定に誤りはなく,かつ,相違点3は実質的なものである。
そして,本件発明14は,本件発明1を引用し,プログラムの発明とし
て特定したものであり,本件発明1と実質的に同じ構成を有するから,本
件発明1と同様,甲1発明と実質的な相違点を有することになる。5
(4)小括
そうすると,本件発明1と甲1発明には相違点2及び相違点3に相当する
相違点があり,かつ,これらは実質的なものである。
したがって,本件発明1は甲1に記載された発明ではなく,本件発明1が
新規性を欠くということはできない。10
同様に,本件発明1の発明特定事項を全て含む本件発明14は,甲1に記
載された発明ではなく,本件発明14が新規性を欠くということもできない。
よって,本件審決の判断に誤りはない。
3取消事由2(甲1発明を主引用例とする進歩性判断の誤り)について
⑴原告は,本件発明1において,代入用スクリプトと自ノード変数データと15
が,同一のノードデータに含まれるのに対し,甲1発明ではそうではないこ
とが相違点に当たるとした場合であっても,甲1発明において,直系上位ノ
ードに含まれている代入用スクリプトを,直系上位ノードではなく,自ノー
ドに含ませることとすることは,当業者の技術常識ないし周知技術に基づく
設計事項であるから,当業者は,相違点2及び相違点3に係る構成を容易に20
想到することができると主張する。
しかし,前記2において判示したとおり,甲1には,本件発明1の構成要
件Fの代入用スクリプトに相当する事項自体が開示されていないから,原告
が主張するように,単に代入用スクリプトを自ノードに含むか含まないかと
いう点のみが相違点となるのではない。25
そして,甲1には,ノードデータに当該ノードデータに含まれる変数デー
タである自ノード変数データと,当該ノードの直系上位ノードのノードデー
タに含まれる変数データである上位ノード変数データを利用した演算を行っ
て,前記自ノード変数データの値を求める代入用スクリプトが含まれるよう
にする方法について記載も示唆もない。
したがって,その他の点について判断するまでもなく,当業者が,甲1発5
明において,「スクリプトは「当該ノードデータに含まれる変数データであ
る自ノード変数データと,当該ノードの直系上位ノードのノードデータに含
まれる変数データである上位ノード変数データを利用した演算を行って,前
記自ノード変数データの値を求める代入用スクリプト」を含む」という相違
点2に係る本件発明1の構成及び「前記代入用スクリプトの実行により,前10
記自ノード変数データの値を更新する」という相違点3に係る本件発明1の
構成を容易に想到することができたとはいえない。
同様に,当業者が,甲1発明において,本件発明1の発明特定事項を全て
含む本件発明14について,前記相違点2に係る本件発明14の構成及び前
記相違点3に係る本件発明14の構成を容易に想到することができたとはい15
えない。
(2)小括
以上によれば,相違点2及び相違点3についての容易想到性を否定した本
件審決の判断に誤りはないから,原告主張の取消事由2は理由がない。
4取消事由3(実施可能要件違反)について20
⑴原告は,本件発明1(構成要件H)に,文書ファイルに含まれる自ノード
変数データの値を書き換えない態様が含まれることを前提に,本件明細書に,
自ノード変数データの値を書き換えない態様の開示がないとして,実施可能
要件違反を主張する。
ア本件発明1の実施例では,表示画面(【図6】)がツリービューアとデ25
ザインテーブルから構成される(【0044】)。デザインテーブルは,
ツリービューアに表示されたノードのうち選択されたノードが有する情報
を表示する領域であり,このうち操作ボタン表示領域20aには,デザイ
ンテーブルに関する各種操作を行うための操作ボタンが表示されている
(【0046】)。本件明細書の【図6】をみると,表示ボタンには,「更
新」ボタンと「評価」ボタンが含まれ,20aに示された10個の長方形5
のうち,左上が「更新」ボタンであり,上段の右から2つ目が「評価」ボ
タンである。
本件明細書の【0058】には,「デザインテーブル20の編集内容は,
領域20aの更新ボタンを押すことによって,文書情報に反映される。」
と記載されている。このように更新ボタンを押すのが,自ノード変数デー10
タを書き換える態様に当たると解される。
イ一方,代入用スクリプト及び生成用スクリプトは,操作ボタン表示領域
20aの「評価」ボタンを押すことにより実行される(【0067】)。
代入用スクリプト及び生成用スクリプトの具体例をみると,本件明細書
の【図9】に示すように,ターゲットノードは,要計算の公開変数として,15
「スライス数」と「色」を有しており,代入用スクリプトとして,「スラ
イス数=同一面数;」と「色=同一面数」を有している。評価前は,同【図
10】に示すように,公開変数「スライス数」と「色」の値は空欄となっ
ている(【0072】)。
この状態で,このノードを選択し,評価ボタンを押し,評価条件として20
代入用スクリプトの実行を設定すると,記憶された代入用スクリプトを実
行する。したがって,公開変数「スライス数」の値は,上位ノードの公開
変数である「同一面数」の値「1」となり,公開変数「色」の値は,同様
に上位ノードの公開変数である「巾木色」の値「F-205」となる。代
入用スクリプト実行後のデザインテーブルの公開変数表示領域21の表示25
例が,同【図13】である(【0073】)。
すなわち,本件明細書には,ノードを選択し,評価ボタンを押すことに
より代入用スクリプトが実行され,デザインエリア20の公開変数表示領
域21の表示が【図10】から【図13】に変化することが開示されてい
るが,これは,更新ボタンを押さないと文書情報に反映されないので(【0
058】),これが,自ノード変数データの値を書き換えない態様に当た5
ると解される。
ウ本件明細書には,文書情報に反映せずに代入用スクリプトを実行し,公
開変数表示領域の表示を【図10】から【図13】のように変更する態様
が明確に記載されており,当業者がこれを実装することに特に困難性はな
いから,本件明細書の発明の詳細な説明の記載は実施可能要件に適合する10
ものと解される。
(2)原告は,審判合議体は,本件発明が文書ファイルに含まれる自ノード変数
データの値を書き換えない態様を含むものであるか,それとも含まないもの
であるかについて判断した上で,無効理由3についての結論を示すべきであ
ったと主張するが,本件審決は,本件発明1及び14の構成要件AからHの15
全てについて,その方法を実施するための具体的な記載が発明の詳細な説明
にあるか,そのような記載がない場合には,本件明細書及び図面の記載及び
出願時の技術常識に基づき,当業者が過度の試行錯誤や複雑高度な実験等を
行う必要なく,その方法を実施することができる程度にその発明が記載され
ているかを検討しており,別個の手続である侵害訴訟において被告が主張し20
た具体的な態様が本件発明1及び14に属することを前提とする判断を示さ
なかったからといって不当とはいえないし,原告主張の前提において本件明
細書を検討しても,実施可能要件に適合することは前記(1)のとおりである。
⑶小括
以上によれば,本件発明1は実施可能要件に適合するものと認められ,本25
件発明14も同様であるから,原告主張の取消事由3は理由がない。
5取消事由4(サポート要件違反)
(1)原告は,本件発明1は,被告の主張によれば,文書ファイルの内容を変更
しない態様を含むものであるところ,本件明細書を参酌しても,文書ファイ
ルに含まれる自ノード変数データの値を書き換えることなく,どのようにし
て情報の更新を行うのか,どのように多数の利用者間で更新した情報を共有5
し,再利用することができるのか全く明らかでないとしてサポート要件違反
を主張する。
しかし,前記4(1)のとおり,本件明細書には,文書情報に反映せずに代入
用スクリプトを実行し,公開変数表示領域の表示を【図10】から【図13】
のように変更する態様が明確に記載されており,当業者が本件発明1により,10
その課題を解決できるものと認識できるから,本件発明1はサポート要件に
適合する。この点に関するその他の原告の主張については,原告は,別個の
手続である侵害訴訟において被告が主張した具体的な態様が本件発明1及び
14に属することを前提とする判断を示さなかった点が不当である旨主張す
るが,この主張が理由がないことは,前記4(2)において説示したところから15
も明らかである。
(2)小括
以上によれば,本件発明1は,サポート要件に適合するものと認められ,
本件発明14も,これと同様であるから,原告主張の取消事由4は理由がな
い。20
6結論
以上のとおり,原告主張の取消事由はいずれも理由がないから,本件審決を
取り消すべき違法は認められない。
したがって,原告の請求を棄却することとして,主文のとおり判決する。
知的財産高等裁判所第4部
裁判長裁判官5
菅野雅之
裁判官
本吉弘行
裁判官
岡山忠広
(別紙1)
1【技術分野】
【0001】
本発明は,コンピュータを用いて情報を管理する情報管理方法,情報管理プロ
グラム,及び情報管理装置に関する。5
2【背景技術】
【0002】
コンピュータを用いて各種情報の管理を行う場合,それぞれの情報を記憶した
ファイル(文書ファイル,画像ファイル等)を,所定のフォルダに保管すること
によって行うのが一般的である。しかし,作成したフォルダの構造及びそれぞれ10
のフォルダに保管するファイルの種類等は,任意であってフォルダの作成者に依
存するため,作成者以外の者が必要な情報に適確にアクセスすることは,必ずし
も簡単ではない。すなわち,多数の者が情報を共有化し,再利用できるように,
情報管理を行うことは容易ではない。
【0003】15
特許文献1には,情報の共有化,再利用を効率よく実現することができる文書
情報管理システムが記載されている。この文書情報管理システムは,案件(プロ
ジェクト)毎にツリーを作成して表示し,作成した文書ファイルを,表示された
ツリーの任意のノードに付随させて,サーバコンピュータに保管するものである。
【0004】20
また,異なる計算機やアプリケーションで共通に取扱うことができるデータ形
式として,XML(ExtensibleMarkupLanguage)等の構造化文書規格があるが,
特許文献2には,このような構造化文書を木構造として捉えて処理する構造化文
書処理システムが記載されている。
【0005】25
しかし,管理される各種情報の更新については,上記した管理システムにおい
ても,効率化が十分図られているとはいえない。すなわち,木構造のノードに含
まれる情報は,相互に関連するものが多いが,上記した管理システムにおいては,
それぞれの文書の該当する部分を個別に更新する必要があり,十分効率的とはい
えない。
【0006】5
【特許文献1】特開2002-207772号公報
【特許文献2】特開2003-178049号公報
【発明の開示】
3【発明が解決しようとする課題】
【0007】10
本発明は,上記事情に鑑みなされたもので,管理すべき情報の更新を,簡単か
つ効率的に行うことができる情報管理情報を提供することを目的とする。
4【課題を解決するための手段】
【0008】
本発明の情報管理方法は,コンピュータが情報を管理する情報管理方法であっ15
て,前記コンピュータに複数のノードそれぞれに対応付けて入力された管理すべ
き情報を,前記ノードを識別するノード識別情報に対応付けられた複数のノード
データを含む文書ファイルとして前記コンピュータが記憶する情報記憶ステッ
プと,前記情報記憶ステップで記憶された前記文書ファイルの情報を前記コンピ
ュータが表示する情報表示ステップと,前記ノードデータに含まれるスクリプト20
を前記コンピュータが実行する情報評価ステップとを備え,前記ノードデータは,
ルートノードを除いて,当該ノードの親ノードを特定する親ノード識別情報を含
んでおり,前記スクリプトは,当該ノードデータに含まれる変数データである自
ノード変数データと,当該ノードの直系上位ノードのノードデータに含まれる変
数データである上位ノード変数データを利用した演算を行って,前記自ノード変25
数データの値を求める代入用スクリプトを含んでおり,前記情報表示ステップは,
前記親ノード識別情報を利用して,前記ノードの木構造を表示する木構造表示ス
テップと,前記表示された木構造のノードのうちの選択されたノードの前記自ノ
ード変数データ,前記上位ノード変数データ及び前記スクリプトを表示するノー
ドデータテーブル表示ステップを含み,前記情報評価ステップは,前記代入用ス
クリプトの実行により,前記自ノード変数データの値を更新するステップを含む5
ものである。
【0009】
本発明によれば,利用者が入力したデータに含まれるスクリプトを利用して,
ノードデータを更新することができるので,管理すべき情報の更新を,簡単かつ
効率的に行うことができる。また,複数のノードデータを含む1つの文書データ10
を用いて,個々の業務や案件に関する情報を管理しているので,多数の利用者に
よる情報の共有化,再利用を,簡単かつ効率的に行うことができるとともに,文
書データに基づいて,簡単にノードの木構造を表示させることができ,業務や案
件全体の把握を簡単に行うことができる。さらに,表示された木構造の個々のノ
ードに対応付けられた詳細情報を簡単に表示することができる。15
【0010】
本発明の情報管理方法は,前記木構造表示ステップが,前記ノードを示すノー
ドラベルと,前記親ノードの前記ノードラベルとの間を接続する階層リードとの
表示を含むものを含む。本発明によれば,ノードの階層関係を容易に識別するこ
とができる。20
【0011】
本発明の情報管理方法は,前記情報評価ステップが,前記表示された木構造の
ノードのうちの選択されたノードの前記代入用スクリプトを実行するに際して,
前記選択されたノードの直系下位ノードの前記代入用スクリプトを合わせて実
行するものを含む。本発明によれば,関連するノードの評価を同時に行うことが25
できる。また,上位ノードの変数値を変更した時の,下位ノードの変数値を簡単
に出力することができるので,シミュレーション動作を簡単に行うことができる。
【0015】
本発明の情報管理方法は,前記ノードデータテーブル表示ステップが,当該ノ
ードの直系下位ノードの前記スクリプトでも利用される公開変数と,当該ノード
の前記スクリプトでのみ利用される限定変数を含むものを含む。本発明によれば,5
必要な変数データのみを下位ノードに継承させることができる。
【0016】
本発明の情報管理方法は,前記ノードデータテーブル表示ステップが,前記公
開変数の表示に際して,前記自ノード変数データと前記上位ノード変数データと
を区別して認識可能な態様で表示するものを含む。本発明によれば,自ノードの10
変数の入力及び確認,スクリプトの作成を容易に行うことができる。
【0017】
本発明の情報管理方法は,前記情報記憶ステップで記憶される文書が,前記コ
ンピュータに入力された参照元ノードと参照先ノードとの関連を示す参照情報
を含んでおり,前記参照元ノードの前記代入用スクリプトは,前記自ノード変数15
データと前記上位ノード変数データに加えて,前記参照情報によって特定される
前記参照先ノードの変数データを利用した演算を行って,前記自ノード変数デー
タの値を求めるものであるものを含む。本発明によれば,参照先ノードの変数デ
ータを一次的な変数として利用することができ,代入用スクリプトの演算機能を
拡張することができる。20
【0018】
本発明の情報管理方法は,前記木構造表示ステップが,前記参照元ノードと前
記参照先ノードとを接続するリードを選択的に表示するものであるものを含む。
本発明によれば,参照先の有無,及び参照先ノードを簡単に確認することができ
る。25
【0019】
本発明の情報管理方法は,前記ノードデータテーブル表示ステップが,前記参
照先ノードの変数データを合わせて表示するものであるものを含む。本発明によ
れば,代入用スクリプトに利用される変数データの確認を確実に行うことができ,
代入スクリプトの作成及び確認が容易になる。
【0022】5
本発明の情報管理プログラムは,上記した情報管理方法における各ステップを,
コンピュータに実行させるための情報管理プログラムである。
【0023】
本発明の情報管理装置は,上記した情報管理プログラムをインストールしたコ
ンピュータを含むものである。10
5【発明の効果】
【0024】
以上の説明から明らかなように,本発明によれば,管理すべき情報の更新を,
簡単かつ効率的に行うことができる。
6【発明を実施するための最良の形態】15
【0025】
以下,本発明の実施の形態について,図面を用いて説明する。
【0026】
本発明の情報管理方法及び情報管理装置は,所定の情報管理プログラムをイン
ストールしたコンピュータを用いて実施する。ここで利用されるコンピュータは,20
スタンドアローン型のものでもよいし,クライアント-サーバ型のものでもよい。
【0027】
コンピュータにインストールする情報管理プログラムは,管理すべき情報をノ
ードに対応付けて入力する情報入力ステップ,情報入力ステップで入力されたデ
ータを,各ノードを識別するノード識別情報に対応付けられた複数のノードデー25
タを含む文書として記憶する情報記憶ステップ,情報記憶ステップで記憶された
文書の情報を表示する情報表示ステップ,及びノードデータに含まれるスクリプ
トを実行する情報評価ステップを実行するためのプログラムを含んでいる。
【0028】
図1に,ノードデータとして記憶される情報の一例を示す。記憶される情報は,
ノード番号,ページ番号,親ノード番号,ノードラベル,ノード表示属性情報,5
変数情報,代入用スクリプト,生成用スクリプト,リンク情報を含む。
【0029】
ノード番号は,ノードを識別する情報であり,ノード生成時に自動的に一意の
番号が付与される。ページ番号は,文書に含まれるノードを複数の木構造として
表示するためのもので,そのノードが所属するページを識別する所属ページ番号10
に,そのノードが別のページを形成する場合にそのページを識別する自己ページ
番号を含む。したがって,両方のページ番号が記憶されているノードは,2つの
ページに属することになる。親ノード番号は,そのノードの親ノードを識別する
番号であり,ノード生成時に親ノードを指定することにより,その指定された親
ノードのノード番号が自動的に記憶される。15
【0030】
ノードラベルは,木構造表示時にそのノードを示す情報であり,ノード名称等
任意の情報を記憶することができる。ノード表示属性情報は,ノード表示時の背
景,文字の色,フォント等の文字属性,枠の形状,大きさ等の枠属性等を指定す
る情報である。ここで,JPG画像等をノードに表示したい場合は,その画像フ20
ァイルの場所を指定するURL等が記憶される。
【0031】
変数情報は,各ノードが保持するデータであって,変数名に対応させて記憶さ
れる。記憶される変数は,下位ノードから参照される公開変数と,自ノード内で
のみ使用する限定変数を含む。また,変数の値(「変数データ」と記述する場合25
もある。)は,固定値が設定されても,スクリプトの実行によって演算された値
が設定されてもよい。また,URLが設定されてもよい。どのような値が設定さ
れるかは任意である。
【0032】
代入用スクリプトは,自ノードの変数の値を演算するためのものである。代入
用スクリプトは,自ノードの変数の値である自ノード変数データと,そのノード5
の直系上位ノードの公開変数の値である上位ノード変数データを利用して記述
することが可能である。
【0033】
生成用スクリプトは,辞書に登録してある別のノードやノード群(木構造の複
数ノード)を利用して,新規にそのノードの下位のノードを生成するものである。10
生成用スクリプトを条件文と併用することにより,代入用スクリプトの実行によ
り求められた変数データの結果によって,子ノードや孫ノードを生成することが
できる。生成用スクリプトを利用することにより,例えば,部品管理を行う場合,
親部品のサイズによって子部品が変わるケースの子部品のデータを簡単に生成
することができる。15
【0034】
なお,代入用スクリプト及び生成用スクリプトに使用する言語としては,スク
リプト言語として使用されている任意の言語を使用することができる。
【0035】
リンク情報は,各ノードにリンクするファイルに関する情報である。スタンド20
アローン型のコンピュータで実施する場合,この情報はリンクファイルのインデ
ックス情報である。また,クライアント-サーバ型のコンピュータで実施する場
合,リンクファイルをサーバに転送後,インデックス情報を作成し,記憶する。
リンク情報を記憶することにより,各ノードをフォルダとして利用することが可
能となる。25
【0036】
ノードデータは,例えばタグ付き文書情報として記憶される。図2に,ノード
データの一例を示す。図2のデータは,ルートノードのノードデータの例であり,
ノード番号(nodeNo)が「3450」,自己ページ番号(ownPageNo)が「10」,ノー
ドラベル(label)が「パッセル操作マニュアル」である。所属ページ番号を示す
(belongPageNo)が「0」,親ノード番号を示す(parentNodeNo)が「0」である5
ことで,ルートノードであることを示している。図2の「x=”100”」から「color
=”0”」までは,ノードの表示位置等のノード表示属性情報である。
【0037】
この形式では,変数情報が,「
」と「」の間に
挿入され,代入用スクリプトが,「
」と「
Division>」の間に挿入され,生成用スクリプトが,「」と「
GenerateDivision>」の間に,リンク情報が,「」と「
Division>」の間に挿入される。ただし,図2の例では,変数情報,代入用スクリ
プト,生成用スクリプトは,記憶されていない。
【0038】15
図3に,ノードデータの別の例を示す。図3のデータは,ルートノード以外の
ノードデータの例である。所属ページ番号が「3484」,親ノード番号が「3488」
となっており,ルートノード以外のノードのノードデータであることが把握でき
る。また,自己ページ番号が「3526」となっていることから,別ページの木構造
の先頭ノードであることも把握できる。20
【0039】
図4に,管理すべきデータを複数のノードデータを含む文書情報として記憶さ
せたものの一例を示す。図4の文書は,ヘッダ部40,ノードデータ部41a~
41n,ライン部42,レポート部43を備える。
【0040】25
ヘッダ部40は,管理される案件等を指すプロジェクトのプロジェクト番号,
名称(プロジェクト名)等を示す情報を含んでいる。図4の例では,プロジェク
ト名が「Manualver2」,プロジェクト番号が「10」であることを示している。
【0041】
ノードデータ部41aは,ルートノードのノードデータを示し,ノードデータ
部41b~41nは,ルートノード以外のノードのノードデータである。5
【0042】
ライン部42は,ノード間を接続するリードを定義する情報が記憶される領域
である。ノード間を接続するリードは,親子のノード間を接続する階層リードと,
階層関係とは無関係に一時的に変数を参照する参照元ノードと参照先ノード間
を接続する参照リードがあるが,ライン部42は,参照リードの存在及び,位置,10
表示属性等を規定する。
【0043】
次に,記憶された文書情報の表示について説明する。図5に,文書情報の表示
を行う場合の概略動作フローを示し,図4に示す文書の表示を行った場合の表示
画面の例を図6に示す。15
【0044】
図6の表示画面は,ツリービューア10とデザインテーブル20を有する。ツ
リービューア10は,ノードの木構造を表示する領域であり,情報管理時の各種
操作を行うためのプルダウンメニュー,及びポップアップメニューを表示する領
域も兼ねる。ノードの木構造の表示は,ラベルとリードの表示によって行い,図20
6の例では,ルートノードのラベル表示11aとルートノード以外のノードのラ
ベル表示11b,11c,11dと,それらの間を接続する階層リード12b,
12c,12dが表示されている。
【0045】
ラベル表示11a~11dは,ノード表示属性情報に基づいて表示されるが,25
ルートノードのラベル表示11aには,ルートノードであることを示すマーク1
3aが付加される。また,ルートノード以外のノードで自己ページ番号を有する
ノードは,その旨を示すマーク14b,14dが付加される。マーク14b,1
4dが付加されていることで,別ページの木構造が存在することを簡単に認識す
ることができる。
【0046】5
デザインテーブル20は,ツリービューア10に表示されたノードのうちの選
択されたノードが有する情報を表示する領域であり,公開変数表示領域21,限
定変数表示領域22,代入用スクリプト表示領域23,生成用スクリプト表示領
域24,操作ボタン表示領域21a,22a,20aを有する。操作ボタン表示
領域21aの各操作ボタンは,公開変数に対する各種操作を行うためのものであ10
り,操作ボタン表示領域22aの各操作ボタンは,限定変数に対する各種操作を
行うためのものである。また,操作ボタン表示領域20aの各操作ボタンは,デ
ザインテーブル20に関する各種操作を行うためのものである。
【0047】
プロジェクト毎に作成された文書ファイルを選択し,開くと,図5に示す手順15
で表示処理が行われる。ステップS101では,文書データからルートノードを
認識する。既述のように,ルートノードのノードデータは,所属ページ番号及び
親ページ番号が「0」であるので,そのようなノードを探すことにより,ルート
ノードを認識することができる。なお,文書番号を一義的に割り当て,ルートノ
ードの自己ページ番号を文書番号と一致させておくと,ルートノードの認識がさ20
らに簡単になる。
【0048】
ステップS102では,認識したルートノードの自己ノード番号を認識し,ス
テップS103では,認識したページ番号のページに属するノードを認識する。
すなわち,ルートノードの自己ページ番号を所属ページ番号として有するノード25
を認識する。
【0049】
次いで,ステップS103で認識したノードのラベル表示を行う(ステップS
104)。ラベル表示は,そのノードのノードラベル及びノード表示属性情報に
基づいて表示する。そして,表示したノードの親子関係に基づいて階層リードを
表示し,さらに,文書のライン部42の情報を参考にして,参照リードを表示す5
る(ステップS105)。
【0050】
この状態では,ツリービューア10に木構造が表示された状態である。ステッ
プS106では,ツリービューア10に表示されたノードが選択されたかどうか
を判定し,選択されている場合,デザインテーブル20の表示を行い(ステップ10
S107),そのノードの変数,スクリプト等を表示する(ステップS108)。
図6は,ルートノードを選択した場合の例であり,ルートノードには,変数情報
等が記憶されていないので,デザインテーブル20に,データの表示はない。こ
の状態で,別のノードを選択すると,そのノードの変数等が表示される。
【0051】15
記憶された変数の値が,URL又はファイルパスである場合は,その変数を選
択した状態で領域21a,22aの「実行」ボタンをおすことにより,そのUR
L又はファイルパスの内容を表示する。
【0052】
デザインテーブル20は,ノードを選択することで表示されるが,各ノードの20
リンク情報,及びノードレポートの表示は,ノード選択後メニューを表示させて
行う。リンク情報表示が指示されると,そのノードのノードデータのリンク情報
のリストを別ウィンドウで表示する。リンク情報が記憶されていない場合は,リ
ストが空欄である。表示されたリストの中のファイルが選択されると,そのファ
イルの内容に応じた情報の表示を行う。ノードレポート表示が指示されると,別25
ウィンドウに表示するとともに,レポート領域43を参照し,該当ノードの情報
が記憶されている場合には,その情報を表示した別のウィンドウに表示する。
【0053】
ノードのリンク情報,及びノードレポートは,リンク情報のリスト,あるいは
レポート表示ウィンドウを表示した状態で,追加,削除を行うことができる。
【0054】5
図6に示した状態で,表示された木構造及びノードデータの編集が可能であり,
編集操作に対応した表示を行う(ステップS109)。ツリービューア10上で
は,ノードの追加,削除,表示位置移動,表示属性変更,ノードラベル変更等を,
プルダウンメニュー,ポップアップメニューの設定により行う。例えば,表示位
置の変更は,ラベル表示をドラッグすることによって行い,ノードラベル及び表10
示属性の変更は,変更用のウィンドウを表示させて行う。また,ノードの削除は,
削除したいノードを選択した状態で,メニューを表示させて削除する。ノードの
追加は,メニューで追加モードに設定後,追加したいノードの親となるノードを
選択し,そのままドラッグすることにより,新規ノードを生成する。また,ノー
ドの繋ぎ換えは,繋ぎ換えたいノードを選択し,メニューを表示させて「ノード15
繋ぎ換え」を選択し,変更したい繋ぎ先のノード(親ノードとしたいノード)を
選択することによって行う。生成されたノードのノードラベル,表示属性情報は,
修正用のウィンドウを表示させて設定する。
【0055】
それぞれのノードに関するデータは,ノードデータとして1まとまりになって20
いるので,これらの編集を行った場合でも,編集を行ったノードのノードデータ
に反映させるだけでよく,軽い処理負担で編集作業を行うことができる。
【0056】
デザインテーブルの情報を追加,修正する場合は,領域21a,22a,2
0aの該当するボタンを押すことによって行う。変数の追加は,領域21a又は25
22a「追加」ボタンを押して,新規の変数を生成し,変数名,値,修飾情報を
入力する。変数の入力は,別ウィンドウで入力フォームを表示させて行ってもよ
い。
【0057】
代入用スクリプト及び生成用スクリプトは,公開変数領域21および限定変数
領域22に表示された変数を利用して作成する。公開変数領域21には,自ノー5
ドの公開変数だけでなく,直系上位のすべてのノードの公開変数が表示される。
直系上位のノード以外のノードの変数を参照したい場合は,参照リードを生成し
て,参照先のノードと関連付けておく。代入用スクリプト及び生成用スクリプト
は代入用スクリプト領域23及び生成用スクリプト領域24に直接入力しても
よいし,別のウィンドウを開いて入力するようにしてもよい。10
【0058】
なお,デザインテーブル20の編集内容は,領域20aの更新ボタンを押すこ
とによって,文書情報に反映される。
【0059】
続いて,ステップS110では,表示終了,すなわち文書クローズが指示され15
たかどうかを判定し,表示終了が支持されていない場合は,階層移動指示がされ
ているか否かを判定する(ステップS111)。階層移動は,マーク14b,1
4d等別の木構造の先頭ノードとなるノードを選択した状態で,ポップアップメ
ニューから指示する。
【0060】20
階層移動が指示されていると判定した場合,ステップS112で別ページの木
構造を表示する。木構造の表示は,表示すべきページ番号を認識後,ステップS
103~ステップS105の処理と同様の処理を行う。木構造の先頭でないノー
ドに対して階層移動が指示される(階層を降りる旨の指示)と,そのノードを先
頭とするノードを表示する。その時のページ番号は,そのノードの自己ページ番25
号である。木構造の先頭ノードを選択して階層移動を指示すると,そのノードの
所属ページ番号が示すページの木構造を表示する。
【0061】
別ページの木構造についても,ノードの追加,削除は同様に行うことができる。
また,特定のノードを先頭ノードとする新規の木構造を作成する場合は,先頭と
なるノードを選択し,メニューから別ページ生成を指示する。そして,別ページ5
に表示された先頭ノードに,下位ノードを追加して,木構造とする。
【0062】
次に,新規プロジェクトの作成について,図7を用いて説明する。図示しない
プロジェクトツリーを表示させ,新規プロジェクトの作成が指示されると,新規
プロジェクト作成用のダイアログボックスを表示する(ステップS201)。10
次いで,ダイアログボックスを介して少なくとも新規プロジェクトのプロジェク
ト名が入力されると(ステップS202),ツリービューア10にルートノード
のラベル表示を行う(ステップS203)。次いで,ルートノードのノードデー
タを入力する(ステップS204)。そして,ルートノードに下位ノードを順次
追加し,ノードデータを入力する(ステップS205)。ノードデータの入力,15
及びノードの追加は,図6で説明した編集処理と同様の手順で行う。
【0063】
続いて,ノードデータに含まれる変数情報,代入用スクリプト,生成用スクリ
プトについて,部品管理を例に説明する。図8は,部品管理に適用した場合の木
構造の一例を示す図である。図8の木構造は,製品番号「990070」,品名「MW20
-70」の製品の部品管理に適用したもので,製品は,「fore」,「center」,
「bone」,「back」の部分からなり,さらにそれぞれの部分が,複数の部品から
構成されることを示している。ただし,図8では,部分「fore」の部品のみを記
載し,他の部分については,省略してある。
【0064】25
図8から明らかなように,部分「fore」は,3つの「MW70巾木(表)」と3つ
の「MW70パネル(表)」から構成される。図9に,1つの部品「MW7巾木(表)」
に対応するノード(図8では,便宜的に右肩に「*」を付してある。)のノード
データの一部を示し,図10に,そのノードが選択された場合の公開変数表示領
域21の表示例を,図11に,限定変数表示領域の表示例を示す。
【0065】5
公開変数表示領域に表示される公開変数は,自ノードの公開変数51と,直系
上位ノードの公開変数52を含み,直系上位のノードの公開変数52は,自ノー
ドの公開変数51と異なる色で表示される(図10では,フォントを変えて示し
てある。)。また,公開変数には,固定値が入力される公開変数と,代入用スク
リプトの実行によって計算される公開変数があり,修飾領域に「なし」あるいは10
「要計算」を表示することによりに区別される。
【0066】
要計算の公開変数の値は,後述するように代入用スクリプトが実行されるまで
は空欄であり,図9及び図10は,代入用スクリプト実行前の状態を示している。
なお,直系上位ノードに要計算の公開変数が含まれ,その公開変数の値が代入ス15
クリプトの実行前で定まっていない場合,その公開変数は,下位ノードの公開変
数領域21に表示されない。すなわち,他のノードからの参照が一時停止される。
【0067】
代入用スクリプト及び生成用スクリプトは,操作ボタン表示領域20aの「評
価」ボタンを押すことにより実行される。図12に,スクリプト実行時の概略動20
作フローを示す。スクリプトを実行したいターゲットのノード選択し,「評価」
ボタンが押されると,評価条件設定用のダイアログボックスを表示する(ステッ
プS301)。このダイアログボックスでは,評価対象スクリプトの種類と,評
価階層が少なくとも可能となっている。すなわち,代入用スクリプトのみの実行,
生成用スクリプトの実行,両スクリプトの実行の設定と,自ノードのみを評価す25
るか直系下位ノードの指定階層まで評価するかを設定する。
【0068】
ステップS302では,ダイアログボックスの設定内容にしたがって,評価条
件を認識する。そして,代入用スクリプトの実行が設定されているかどうかを判
断し(ステップS303),設定されている場合は,代入用スクリプトを実行す
る(ステップS304)。5
【0069】
代入用スクリプトの実行が終了した後,及び代入用スクリプトの実行が設定さ
れていない場合は,生成用スクリプトの実行が設定されているかどうかを判断す
る(ステップS306)。そして,生成スクリプトの実行が設定されている場合
は,その生成用スクリプトを実行する。10
【0070】
生成用スクリプトの実行が終了した後,及び生成用スクリプトの実行が設定さ
れていない場合は,ノードデータを参照して,直系下位のノードに評価対象ノー
ドがあるかどうかを判断する(ステップS307)。ここで,判断対象となるノ
ードには,生成用スクリプトの実行によって生成されたノードも含まれる。15
【0071】
ステップS307で,スクリプトを実行すべきノードが残っていると判断され
た場合は,ステップS303に戻り,下位のノードについて同様の判断を行い,
スクリプトの実行を行う。
【0072】20
次に,代入用スクリプト及び生成用スクリプトの具体例を,図8の「*」を付
したノードをターゲットノードとして説明する。図9に示すように,ターゲット
ノードは,要計算の公開変数として,「スライス数」と「色」を有しており,代
入用スクリプトとして,「スライス数=同一面数;」と「色=同一面数」を有し
ている。評価前は,図10に示すように,公開変数「スライス数」と「色」の値25
は空欄となっている。
【0073】
この状態で,このノードを選択し,「評価ボタン」を押し,評価条件として代
入用スクリプトの実行を設定すると,記憶された代入用スクリプトを実行する。
したがって,公開変数「スライス数」の値は,上位ノードの公開変数である「同
一面数」の値「1」となり,公開変数「色」の値は,同様に上位ノードの公開変5
数である「巾木色」の値「F-205」となる。代入用スクリプト実行後のデザ
インテーブルの公開変数表示領域21の表示例を,図13に示す。
【図1】
【図2】
【図3】
【図4】5
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
(別紙2)
1【0001】
【産業上の利用分野】本発明は,知識所有者自身が知識ベース構築者となって操
作することが可能な知識ベース構築システムに関するものである。
2【0002】5
【従来の技術】知識ベースは,所定の知識記述言語で記述された一種のコンピュ
ータプログラムであって,知識ベースを構築する際には,知識記述言語について
の知識や経験が必要である。そこで,従来は図7に示す如く,知識ベース(1)に
接続した知識ベース構築装置(13)は,知識記述言語についての知識や経験を有す
るシステム開発者(14)が操作する運用形態を採っている。10
【0003】システム開発者(14)は,知識ベース構築に際して知識所有者(15)と
の口頭でのインタビューを行なって,知識所有者(15)から知識を獲得する。更に
システム開発者(14)は,獲得した知識に基づいて資料を作成し,知識を体系化す
る。そして,該資料に基づいて,知識ベース構築装置(13)を操作し,知識ベース
(1)を構築するのである。15
3【0004】
【発明が解決しようとする課題】ところが,従来の知識ベース構築方法では,イ
ンタビューは口頭で行なわれるから,一度のインタビューでの完全な知識獲得は
困難であり,特に大規模なシステムの構築においては,口頭のインタビューでは
完全な知識獲得は不可能に近い。この結果,知識ベース(1)を一旦構築した後も,20
知識の追加や修正が必要となる。
【0005】又,知識を体系化するプロセスでは,資料作成のために多大な労力
と時間を要する問題がある。
【0006】更に,知識所有者(15)の知識は,知識体系化の際に作成された資料
と知識ベース(1)内に記述された知識とによって保存され,管理されているから,25
知識を追加し,或いは修正する必要が生じた場合には,システム開発者(14)が再
度,知識所有者(15)とのインタビューを行なって,知識の獲得,体系化,及び知
識ベース構築のプロセスを繰り返さねばならず,一連の処理が極めて煩雑となる
問題がある。
【0007】本発明の目的は,知識ベースと知識ベース構築者の間に,知識所有
者自身が操作可能なユーザインターフェースを設けることによって,知識ベース5
構築者自身が知識ベースを容易に構築することが出来る知識ベース構築システ
ムを提供することである。
4【0008】
【課題を解決する為の手段】本発明に係る知識ベース構築システムは,複数のノ
ードを互いに関係づけてなる階層構造を有して各ノードには詳細な知識が定義10
されるデータ構造のデータベース(4)と,該データベース(4)内のデータを前記
知識記述言語に変換して知識ベース(1)に記述するデータ変換装置(3)と,デー
タベース(4)内に知識の階層構造を定義するための階層構造定義装置(5)と,デ
ータベース(4)内に定義された階層構造の各ノードに対して詳細な知識を定義
するための詳細知識定義装置(6)とを具えている。15
5【0009】
【作用】階層構造定義装置(5)及び詳細知識定義装置(6)は,例えばキーボード,
マウス等の入力操作によってデータ入力が可能であり,階層構造定義装置(5)の
データ入力操作によって,データベース(4)内に知識の階層構造のみが定義され,
階層構造定義装置(5)のデータ入力操作によって,データベース(4)内に定義さ20
れた階層構造の各ノードに対して詳細な知識が定義される。
【0010】この際,データベース(4)のデータ構造は,知識ベース(1)の知識
記述言語に比べて,人間の言語に近い形で表現することが可能であるため,知識
所有者自身が階層構造定義装置(5)及び詳細知識定義装置(6)を操作して,自己
の知識をデータベース(4)に容易に登録することが出来る。25
【0011】データベース(4)内に階層構造にて登録された知識は,データ変換
装置(3)により知識ベース(1)の知識記述言語に変換され,知識ベース(1)に記
述される。
【0012】
【発明の効果】本発明に係る知識ベース構築システムは,知識所有者自身が知識
ベース構築者となって操作することが出来るから,従来の知識ベース構築者によ5
る知識獲得プロセスは不要となる。又,知識の体系化は自動的に行なわれ,その
結果が全てデータベースに登録されるから,知識の統一的な保存,管理が可能で
ある。従って,知識ベースの知識を変更する必要が生じた場合にも,データベー
スを修正する処理だけで済む。
6【0013】10
【実施例】以下,本発明の一実施例につき,図面に沿って詳述する。図1に示す
如く知識ベース構築システム(2)は,知識ベース(1)と知識ベース構築者(8)の
間に介在して,ユーザインターフェースの役割を果すものである。
【0014】知識ベース構築システム(2)は,複数のノードを互いに関係づけて
なる階層構造を有して各ノードには詳細な知識が定義されるデータ構造のデー15
タベース(4)と,該データベース(4)内のデータと前記知識記述言語の間の双方
向の変換を行なうデータ変換装置(3)と,データベース(4)内に知識の階層構造
を定義するための階層構造定義装置(5)と,データベース(4)内に定義された階
層構造の各ノードに対して詳細な知識を定義するための詳細知識定義装置(6)
と,詳細知識の定義の際に他のノード或いは他の知識ベースの知識を参照するた20
めの知識参照装置(7)とから構成され,階層構造定義装置(5),詳細知識定義装
置(6)及び知識参照装置(7)は夫々,知識ベース構築者(8)によるデータ入力操
作が容易な構成となっている。
【0015】例えば,ある製品設計に関する知識ベースを作成する場合,先ず階
層構造定義装置(5)の操作によって,その製品の部品構成ツリーが作成される。25
ここで,階層構造定義装置(5)による処理は,図2に示す如くノード名称の定義
(S1)と階層構造の定義(S2)から構成される。
【0016】即ち,ノード名称の定義においては,図示の如く製品を構成する複
数の部品の夫々にノード名称(A~G)が付与される(S1)。この段階では,各ノ
ードは相互に関連なく独立しており,例えば図示するイメージにて画面表示され
る。5
【0017】その後,階層構造の定義においては,例えば画面に表示された各ノ
ードをマウスの操作等によってツリー状に連結することにより,図示の如く相互
の親子関係が定義されることになる(S2)。
【0018】この結果,図1のデータベース(4)内には,各ノードの親子関係,
即ち自己の名称,自己の親ノードの名称及び子ノードの名称が記述される。10
【0019】次に,部品構成ツリー上の各ノード,即ち部品や部位についての知
識が詳細知識定義装置(6)によって定義される。この作業は階層構造の下位から
上位へ向かってノード毎に行なわれ,各ノード毎に図3に示す処理が実行される。
【0020】先ず,1つのノードが選択され(S3),選択されたノードについて,
必要な属性の定義(S4),属性の分類(S5),及び属性値の定義(S6)が行なわ15
れる。必要な属性の定義(S4)の際には,部品の“高さ”,“幅”,“長さ”,
“色”,“材質”等の属性名のみが定義され,これらの属性名が図示の如く各ノ
ードに付加される。
【0021】属性の分類(S5)においては,定義された属性の性質に応じて,入
力属性と決定属性に分類される。ここで,入力属性は,自己の親ノードからその20
属性値を入力すべき属性(例えば“高さ”,“幅”,“長さ”)であり,決定属性
は,自己のノードにて属性値を決定すべき属性(例えば“色”,“材質”)である。
これによって,データベースには図示のイメージのデータ構造が形成される。
【0022】属性値の定義(S6)では,決定属性に分類された属性に対して属性
値(“黒”,“スチール”)の入力が行なわれる。ここで,属性値としては,数値25
に限らず,数式や条件分岐が入力可能である。
【0023】上記の処理(S3~S6)が最上位のノードに至るまで繰り返される。
この結果,全てのノードについて,図3のステップS6に示す如きイメージのデ
ータ構造が形成される。ここで,最上位のノードに入力属性として定義されてい
る属性名が,知識ベース運用の際にデータを入力すべき項目であり,該データ入
力によって知識ベースが動作を開始することになる。5
【0024】上記の詳細知識定義装置(6)の操作の過程で,他の部品或いは他の
製品の知識を参照する必要が生じたときは,知識参照装置(7)を用いて,他のノ
ード或いは他の知識ベースを参照することが可能である。詳細知識定義装置(6)
は,他のノードの知識を検索してその結果を報知する処理と,他のノードの知識
を提示し或いはその知識の流用を許可する処理の2つの機能を有している。10
【0025】上記の処理によってデータベース(4)の登録が終了した後,その旨
を知識ベース構築システム(2)にデータ入力すれば,データ変換装置(3)がデー
タベース(4)内のデータを自動的に所定の知識記述言語に変換して,知識ベース
(1)に記述する。
【0026】その後,知識の変更に際しては,例えば,知識の階層構造を変更す15
る場合には,階層構造定義装置(5)を用いてデータベース(4)の該当箇所を書き
換えるだけで,知識ベース(1)の階層構造が変更されることになる。又,あるノ
ードの知識を変更する場合は,詳細知識定義装置(6)を用いてデータベース(4)
の該当箇所を書き換えるだけで,これが知識ベース(1)の知識に反映される。
【0027】例えば,図4に示す如く取っ手(12)を具えた内箱(11)と外箱(10)か20
らなる引き出し(9)を設計する場合,階層構造定義装置(5)の操作によって,図
5に示す5つのノード名称(“引き出し”“内箱”“外箱”“取っ手”“内箱本
体”)が定義され,これらのノードに図示の如き階層構造が定義される。
【0028】その後,詳細知識定義装置(6)の操作によって,図6に示す如く各
ノードに詳細知識が定義される。この作業は,下位のノードから上位のノードへ25
向かって進められる。例えば,“取っ手”は,予め規定された形状のものを用い
るので,全ての属性値を自己のノードにて決めることが出来る。従って,属性は
決定属性のみから構成される。
【0029】一方,“内箱本体”は,その大きさが上位の部品の大きさから決定
されるべきものであるから,“高さ”“幅”“長さ”は親ノードである“内箱”
に委ねられる。“外箱”についても同様である。5
【0030】“内箱”のノードでは,“内箱本体”に入力すべき3つの属性(“高
さ”“幅”“長さ”)を自己の大きさから決定する。又,“内箱”自身の大きさは,
親ノードである“引き出し”にその決定を委ねる。
【0031】この様にして全てのデータ入力作業が終了すれば,データベース内
には,図6に示す如きイメージでデータ構造が登録され,最上位のノードである10
“引き出し”の“高さ”“幅”“長さ”が,知識ベースに対する入力データとな
る。
【0032】上記知識ベース構築システムは,データベース(4)のデータ構造が
知識ベースに比べて簡単であるため,知識記述言語についての知識や経験を有し
ない知識所有者であっても,階層構造定義装置(5),詳細知識定義装置(6)及び15
知識参照装置(7)を操作することによって,容易に知識ベース(1)を構築するこ
とが出来る。又,従来の如き知識獲得の作業が不要であるから,知識ベース構築
のための処理が簡略化される。更に,知識の体系化と知識の記述の両プロセスが
共に共通のデータベースを用いて行なわれるため,知識の追加や修正が従来に比
べて遥かに容易となる。20
【0033】上記実施例の説明は,本発明を説明するためのものであって,特許
請求の範囲に記載の発明を限定し,或は範囲を減縮する様に解すべきではない。
又,本発明の各部構成は上記実施例に限らず,特許請求の範囲に記載の技術的範
囲内で種々の変形が可能であることは勿論である。
【図1】
【図2】5
【図3】
【図4】
【図5】
【図6】
【図7】