運営:アスタミューゼ株式会社
  • ポートフォリオ機能


追加

この判例には、下記の判例・審決が関連していると思われます。
審判番号(事件番号) データベース 権利
平成29ワ10742 特許権侵害差止等請求事件 判例 特許
平成27ワ8736 特許権侵害行為差止等請求事件 判例 特許
元本PDF 裁判所収録の全文PDFを見る pdf
元本PDF 裁判所収録の別紙1PDFを見る pdf
元本PDF 裁判所収録の別紙2PDFを見る pdf
元本PDF 裁判所収録の別紙3PDFを見る pdf
事件 平成 29年 (ワ) 31706号 損害賠償請求事件
5 当事者の表示別紙1当事者目録記載のとおり
裁判所 東京地方裁判所
判決言渡日 2019/03/27
権利種別 特許権
訴訟類型 民事訴訟
主文 1 原告の請求を棄却する。
2 訴訟費用は原告の負担とする。
事実及び理由
全容
10 第1 請求 被告は,原告に対し,3億4915万5000円及びこれに対する平成29年1 0月18日から支払済みまで年5分の割合による金員を支払え。
第2 事案の概要 1 本件は,発明の名称を「情報管理方法,情報管理プログラム,及び情報管理15 装置」とする特許第3754438号の特許権(以下「本件特許権」といい,この 特許を「本件特許」という。また,本件特許の願書に添付した明細書及び図面を 「本件明細書等」という。)を有する原告が,被告に対し,被告においてウェブサ イト上で提供している「Choregraphe」(コレグラフ)という名称のプ ログラム(以下「被告プログラム」という。)は,本件特許の特許請求の範囲の請20 求項14記載の発明(以下「本件発明」という。)の技術的範囲に属し,被告によ る被告プログラムの提供は本件特許権を侵害する旨を主張して,民法709条の不 法行為による損害賠償請求権(対象期間は,平成27年6月1日から平成29年3 月31日まで)に基づき,3億4915万5000円及びこれに対する不法行為後 の日である平成29年10月18日(訴状送達の日の翌日)から支払済みまでの民25 法所定年5分の割合による遅延損害金の支払を求める事案である。
2 前提事実(当事者間に争いがない又は後掲の証拠及び弁論の全趣旨により容 1 易に認められる事実) ? 当事者 原告は,コンピューターソフトウェアの研究,開発に関する事業等を目的とする 株式会社である(甲1)。
5 被告は,コンピューターソフトウェアの研究,開発,販売及び賃貸等を目的とす る株式会社である(甲2)。
? 本件特許権 原告は,次の内容の本件特許権を有している(甲3,18)。
出 願 日 平成16年8月13日10 優 先 日 平成16年7月28日 登 録 日 平成17年12月22日 特 許 番 号 特許第3754438号 発 明 の 名 称 情報管理方法,情報管理プログラム,及び情報管 理装置15 ? 本件発明の特許請求の範囲 本件発明の特許請求の範囲の記載は,別紙2の本件特許に係る特許公報(甲3) の該当欄記載のとおりである。
? 本件発明の構成要件の分説 本件発明は,次のとおり,構成要件に分説される(以下,頭書の記号に従って,20 「構成要件A」などという。)。
A コンピュータが情報を管理する情報管理方法であって, B 前記コンピュータに複数のノードそれぞれに対応付けて入力された管理すべ き情報を,前記ノードを識別するノード識別情報に対応付けられた複数のノードデ ータを含む文書ファイルとして前記コンピュータが記憶する情報記憶ステップと,25 C 前記情報記憶ステップで記憶された前記文書ファイルの情報を前記コンピュ ータが表示する情報表示ステップと, 2 D 前記ノードデータに含まれるスクリプトを前記コンピュータが実行する情報 評価ステップとを備え, E 前記ノードデータは,ルートノードを除いて,当該ノードの親ノードを特定 する親ノード識別情報を含んでおり, 5 F 前記スクリプトは,当該ノードデータに含まれる変数データである自ノード 変数データと,当該ノードの直系上位ノードのノードデータに含まれる変数データ である上位ノード変数データを利用した演算を行って,前記自ノード変数データの 値を求める代入用スクリプトを含んでおり, G 前記情報表示ステップは,前記親ノード識別情報を利用して,前記ノードの10 木構造を表示する木構造表示ステップと,前記表示された木構造のノードのうちの 選択されたノードの前記自ノード変数データ,前記上位ノード変数データ及び前記 スクリプトを表示するノードデータテーブル表示ステップを含み, H 前記情報評価ステップは,前記代入用スクリプトの実行により,前記自ノー ド変数データの値を更新するステップを含む情報管理方法15 I における各ステップを,コンピュータに実行させるための情報管理プログラ ム。
? 被告プログラム ア 概要 被告プログラムは,被告が販売する「Pepper」及び「Nao」という名称20 のロボット(以下,併せて「本件ロボット」という。)上で作動するアプリケーシ ョン(以下「ロボアプリ」という。)を開発するためのソフトウェアである。ロボ アプリにおいては,本件ロボットの動作などの振る舞い(フローともいう。)を規 定することになるが,振る舞いを定義する単位がビヘイビアであり,一つのビヘイ ビアはボックスという名称の機能単位で構成される。例えば「こんにちは」と話す25 という振る舞いについては,言語を設定するボックス,話すという動作を規定する ボックスなどで構成される。被告プログラムでは,このようなボックスを接続して 3 いくことによってロボアプリを作成することができるようになっており,被告プロ グラムを起動した際に表示される画面上には,振る舞いを図で表すフローダイアグ ラムを表示するパネルが設けられ,同パネル内にボックスを配置し,ボックス同士 を接続してフローダイアグラムを作成していくことによって振る舞いを構築する。
5 このように構築された振る舞いをプログラミング言語及びその他の情報で記述した ものが,「behavior.xar」という名称の文書ファイル(以下,単に 「behavior.xar」という。)であり,振る舞いを構築すると,上記文 書ファイルが作成される(甲6,7)。
イ 被告プログラムを起動させて作成されたbehavior.xar10 別紙3-2behavior.xarの内容は,原告において,被告プログラム を起動し,本件ロボットに「こんにちは」を意味する単語をしゃべらせる振る舞い を構築した際に作成されたbehavior.xarである(甲17)(以下,こ のbehavior.xarを「本件behavior.xar」という。)。
? 被告の行為15 被告は,遅くとも平成27年9月から,被告プログラムをウェブサイト上で提供 している(甲4〜6)。
3 争点 ? 被告プログラムは,本件発明の技術的範囲に属するか(争点1) ア 被告プログラムは,「情報管理方法」(構成要件A),「ノード」,「管理20 すべき情報」,「ノードデータ」,「文書ファイル」,「情報記憶ステップ」(構 成要件B),構成要件C及びDを充足するか(争点1-1) イ 被告プログラムは,「ノード識別情報」(構成要件B),「親ノード識別情 報」(構成要件E,G),「ルートノード」(構成要件E),「木構造」,「木構 造表示ステップ」(構成要件G)を充足するか(争点1-2)25 ウ 被告プログラムは,「(直系)上位ノード」(構成要件F),「上位ノード 変数データ」(構成要件F,G),「代入用スクリプト」(構成要件F,H)を充 4 足するか(争点1-3) エ 被告プログラムは,「自ノード変数データ,前記上位ノード変数データ及び 前記スクリプトを表示するノードデータテーブル表示ステップ」(構成要件G)を 充足するか(争点1-4) 5 オ 被告プログラムは,「更新するステップ」(構成要件H)を充足するか(争 点1-5) ? 本件特許は特許無効審判により無効とされるべきものか(争点2) ア 本件発明は本件特許出願前に頒布された刊行物である乙9(特開平6-17 5852号公報)に記載された発明(以下「乙9発明」という。)により新規性又10 は進歩性を欠くか(争点2-1) イ 本件発明は本件特許出願前に頒布された刊行物である乙16(特開平10- 69379号公報)に記載された発明(以下「乙16発明」という。)により新規 性又は進歩性を欠くか(争点2-2) ウ 本件特許は特許法36条6項1号及び同条4項1号に違反しているか(争点15 2-3) エ 本件特許は特許法36条6項2号に違反しているか(争点2-4) ? 損害の発生の有無及びその額(争点3) 4 争点に対する当事者の主張 ? 争点1(被告プログラムは,本件発明の技術的範囲に属するか)について20 ア 争点1-1(被告プログラムは,「情報管理方法」(構成要件A),「ノー ド」,「管理すべき情報」,「ノードデータ」,「文書ファイル」,「情報記憶ス テップ」(構成要件B),構成要件C及びDを充足するか)について 【原告の主張】 (ア) 構成要件B,DないしFの規定によれば,「管理すべき情報」は,ノード25 を識別するノード識別情報に対応付けられた複数の「ノードデータ」を含む文書フ ァイルとしてコンピュータに記憶されるものであり,この「ノードデータ」は, 5 「スクリプト」,「親ノード識別情報」,「自ノード変数データ」,「上位ノード 変数データ」及び木構造を表示するための情報を含むものを意味する。
また,「ノード」は,木構造を前提とするものであるところ,「ノード」及び 「木」は,数学の一分野であるグラフ理論における概念であって,「木」は,閉路 5 を含まないグラフを意味し,グラフ理論におけるグラフは,ノード(頂点)と2つ のノードを結ぶエッジ(辺)により構成される。よって,「ノード」は,ノード (頂点)と2つのノードを結ぶエッジ(辺)により構成される閉路を含まないグラ フにおける頂点を意味する。
さらに,本件明細書等(以下,【】は,本件明細書等における発明の詳細な説明10 の段落番号を指す。【0009】)の記載に鑑みれば,「文書ファイル」とは,テ キストエディタ等で読むことのできるテキスト形式のファイルであり,1つの文書 データを意味する。
(イ) 被告プログラムは,ボックスを接続する形で本件ロボットのソフトウェア を実装することができる開発環境であり,別紙3-1被告プログラム説明書及び別15 紙4被告プログラムの構成(原告)記載のとおり,コンピュータによって情報を管 理するものであるから,コンピュータが情報を管理する「情報管理方法」を充足す る。
また,被告プログラムにおいて表示されるフローダイアグラムは,閉路を含まず, 結合線により結合されたボックスで構成されるから,これらのボックスは,「ノー20 ド」に該当し,被告プログラムにおいてロボットの動作に関する情報がまとめられ た文書ファイルであるbehavior.xar内で,ボックスに対応付けて入力 されたスクリプトは,「管理すべき情報」及び「ノードデータ」に該当するから, 被告プログラムは,「ノードデータを含む文書ファイル」としてコンピュータが記 憶する「情報記憶ステップ」を有する。
25 さらに,被告プログラムは,文書ファイルであるbehavior.xarを読 み込んで表示し,behavior.xarに含まれるスクリプトを実行するステ 6 ップを備えているから,構成要件C及び構成要件Dを充足する。
【被告の主張】 (ア) 本件発明の目的及び課題は,情報の更新を簡単かつ効率的に行う手段によ り,多人数で情報を共有し,再利用することができる情報管理方法を提供すること 5 であって(【0007】,【0009】),構成要件Hが「自ノード変数データの 値を更新するステップ」と規定していることにも照らせば,「管理すべき情報」は, 変数データの値を意味する。
よって,「情報管理方法」における情報及び当該情報を含む「文書ファイル」は, それ自体,多人数で共有し,再利用する価値のある,変数データの値を意味する。
10 また,「複数のノードそれぞれに対応付けて入力された管理すべき情報」(構成 要件B)という文言によれば,「ノード」は,管理すべき情報を含むものであり, 木構造を前提とした概念である。
(イ) 被告プログラム 被告プログラムは,別紙5被告プログラムの構成(被告)記載のとおりであり,15 被告プログラムが管理するbehavior.xarに含まれるのはロボットを動 作させるためのプログラムコードであって,人間がこの意味を読み取り,多人数で 共有して再利用するものではないから,被告プログラムには「情報」に該当するも のが存在せず,「情報管理方法」,「管理すべき情報」,「ノード」及び「文書フ ァイル」を充足しない。
20 また,下記イのとおり,木構造は,階層構造を備えるものであるところ,被告プ ログラムのフローダイアグラムはプロセスを規定するものであって階層構造を備え ていないから,被告プログラムにおけるボックスは「ノード」,「ノードデータ」 及び「情報記憶ステップ」を充足しない。
以上によれば,被告プログラムは,「情報記憶ステップ」,「文書ファイル」及25 び「ノードデータ」を前提とする構成要件C及び構成要件Dも充足しない。
イ 争点1-2(被告プログラムは,「ノード識別情報」(構成要件B),「親 7 ノード識別情報」(構成要件E,G),「ルートノード」(構成要件E),「木構 造」,「木構造表示ステップ」(構成要件G)を充足するか)について 【原告の主張】 (ア) 木構造,木構造表示ステップ 5 本件発明の背景技術である特許文献の記載,「ノードの木構造の表示は,ラベル とリードによって行」(【0044】)われること及び「木」はグラフ理論におけ る概念であることに照らせば,「木構造」は,閉路を持たないグラフであり,ノー ド(点)とエッジ(線)から構成される図として表示されるものを意味し,表示に 関する概念である。
10 (イ) ノード識別情報,親ノード識別情報 本件明細書等の記載(【0042】,【0049】,【0054】)によれば, 親子のノード間を接続するリードは階層リードと呼ばれ,階層リードは親子関係に 基づいて表示されるから,「親」は,専ら木構造表示におけるノード間のリードの 接続に関するものを意味する。
15 また,構成要件G及び本件明細書等の記載(【0038】,【0060】)によ れば,木構造は階層ごとに表示されるから,「親ノード識別情報」は,階層ごとの 木構造表示のために親ノードを識別する機能を有する情報を意味する。
(ウ) 被告プログラム 被告プログラムは,別紙3-1被告プログラム説明書及び別紙4被告プログラム20 の構成(原告)記載のとおり,各ボックスに割り振られたidがフローダイアグラ ムにおいて木構造を表示するために親ボックスを識別する機能を有するから,「ノ ード識別情報」及び「親ノード識別情報」を有する。
また,被告プログラムにおいて,idが-1であるrootボックスは,「ルー トノード」に該当する。
25 さらに,被告プログラムは,Linkタグ内のinputowner(入力側・ 子)とoutputowner(出力側・親)により結合情報を認識し,これに従 8 ってフローダイアグラム上でボックスとボックス間の結合線で表現することによっ て木構造を表示しているから,親ノード識別情報を利用して木構造を表示している といえ,「木構造」及び「木構造表示ステップ」を有する。
【被告の主張】 5 (ア) ノード識別情報 本件明細書等の記載(【0029】)によれば,「ノード識別情報」は,ノード を識別する情報であって,ノード生成時に自動的に一意の番号が付与される情報を 意味する。
また,特許請求の範囲の請求項2及び9の記載並びに本件明細書等の記載(【010 042】,【0049】)によれば,ノードの結合関係を表す参照リードは,親ノ ード識別情報に基づく階層リードと区別されているから,「ノード識別情報」は, ノードの結合関係を表す情報を含まないものを意味する。
(イ) 親ノード識別情報 構成要件Eは,「親ノード識別情報」は,「ノードデータ」に含まれるものであ15 ると規定しているところ,本件明細書等の記載(【0036】,【0038】〜 【0042】,【図2】〜【図4】,【図9】,【図14】)によれば,「ノード データ」は,ノードを示す特定の開始タグと,そのエンドタグとの間に挟まれた領 域内のデータを意味する。よって,「親ノード識別情報」は,ノードを示す特定の 開始タグと,そのエンドタグとの間に挟まれた領域内のデータに含まれるものを意20 味する。
また,本件明細書等の記載(【0010】,【0013】,【0049】,【図 6】,【図8】)によれば,「親ノード」は,木構造を前提とした概念であるとこ ろ,「木構造」は,基本となるルートノードから複数の要素に枝分かれをした階層 構造を意味するから,「親」は,1つの基本となる要素から複数の要素に枝分かれ25 をした階層構造によって規定される親子関係における親を意味する。
(ウ) 被告プログラム 9 被告プログラムは,別紙5被告プログラムの構成(被告)記載のとおりであり, 被告プログラムには,同一のidを有する複数のボックスデータが存在するから, idによってボックスを識別することは不可能である上,idは編集可能であって, ボックス生成時に自動的に一意の番号が付与されるものではないから,被告プログ 5 ラムは,「ノード識別情報」を充足しない。
また,原告が親ノード識別情報であると主張するLinkタグ内の情報は,ボッ クス間の結合関係を表すものである上,各ボックスのBoxタグの開始タグとエン ドタグとに挟まれた領域の外にあるから「ノードデータ」に当たらない。よって, 被告プログラムは,「ノード識別情報」及び「親ノード識別情報」を充足しない。
10 加えて,被告プログラムのフローダイアグラムは,ボックスの実行順序を定める ものであるところ,Rootボックス,Set Lauguageボックス,Sa yボックス,Rootボックスという順序の処理の流れを定めており,Rootボ ックスから出てRootボックスに戻る閉路を構成しているから,階層構造は存在 しないのであって,親子及び上下という概念は存在しない。よって,被告プログラ15 ムは,「親ノード」,「親ノード識別情報」,「木構造」及び「木構造表示ステッ プ」を充足せず,これを前提とした「ルートノード」も充足しない。
ウ 争点1-3(被告プログラムは,「(直系)上位ノード」(構成要件F), 「上位ノード変数データ」(構成要件F,G),「代入用スクリプト」(構成要件 F,H)を充足するか)について20 【原告の主張】 (ア) (直系)上位ノード,上位ノード変数データ 「(直系)上位ノード」とは,属する順序系列内において,当該ノードに先行す るノードを意味し,構成要件F及び本件明細書等の記載(【0031】,【003 2】)によれば,「上位」は,専ら下位ノードによるデータの承継に関するものを25 意味する。
また,本件明細書等の記載(【0056】,【0066】)によれば,「変数デ 10 ータ」は,変数名及び変数の値の2つの要素からなるものであり,変数名のみによ って特定することもできるものである。
さらに,本件明細書等の記載(【0007】)によれば,上位ノード変数データ が表示されることによって,選択したノードで用いられている上位ノード変数デー 5 タを容易に把握することができ,管理すべき情報の更新を,簡単かつ効率的に行う ことができるのであるから,「上位ノード変数データ」は,当該ノードの直系上位 ノードのノードデータに含まれる変数データを意味する。
(イ) 代入用スクリプト 「代入用スクリプト」には,単純な代入処理だけでなく,数式を含んだ代入処理10 を行うスクリプトも含まれる。
(ウ) 被告プログラム a 被告プログラムにおいて,別紙3-1被告プログラム説明書(図11,2 2)のとおり,Localized Textボックス,Sayボックス及びSe t Languageボックスは,属する順序系列内において,Say Text15 ボックスに先行するボックスであるから,「(直系)上位ノード」を有し,その変 数名又は変数の値は,「上位ノード変数データ」を充足する。
b 被告プログラムが別紙4被告プログラムの構成(原告)記載の構成f(以下 「被告プログラムの構成f」という。)を有するとすれば,被告プログラムのLo calized Textボックスは,直系上位ノードであるSet Langu20 ageボックスにおいて入力された,上位ノード変数データである変数langの 値である「English」や「Japanese」を利用して演算を行い,Lo calized Textボックスの自ノード変数データである「Hello」や 「こんにちは」を決定しているから,被告プログラムは「代入用スクリプト」を充 足する。
25 c また,被告プログラムが,別紙4被告プログラムの構成(原告)記載の構成 f’(以下「被告プログラムの構成f’」という。)を有する場合においても,被 11 告プログラムのSay Textボックスは,親からの変数の取得機能を使用する 場合,直系上位ノードであるSayボックスにおいて入力された上位ノード変数デ ータである「Speed(%)」や「Voice Shaping(%)」の値を 利用して演算を行うことにより,Say Textボックスの自ノード変数である 5 sentenceに代入し,Say Textボックスの自ノード変数データであ るsentenceの値を更新しているから,被告プログラムは「代入用スクリプ ト」を充足する。
(エ) 小括 以上のとおり,被告プログラムは,「(直系)上位ノード」,「上位ノード変数10 データ」及び「代入用スクリプト」を充足する。
【被告の主張】 (ア) ノードデータ,上位ノード変数データ 構成要件Fの文言によれば,上位ノード変数データは,「直系上位ノードのノー ドデータに含まれる」ものであるところ,上記イのとおり,「ノードデータ」は,15 ノードを示す特定の開始タグと,そのエンドタグとの間に挟まれた領域内のデータ であるから,「上位ノード変数データ」は,直系上位ノードのノードを示す特定の 開始タグと,そのエンドタグとの間に挟まれた領域内のデータに含まれる変数デー タを意味する。
また,上記アのとおり,本件発明は木構造を前提とするものであるから,「直系20 上位ノード」も木構造を前提とした概念であるところ,「直系」とは,一般に,人 と人との間の血統が親子の関係で続いている系統を意味するから,「直系上位ノー ド」は,木構造を前提として,自ノードと親子関係にあり,自ノードよりもルート ノードに近いノードを意味する。
さらに,構成要件Fは,「上位ノード変数データを利用した演算」を行って「自25 ノード変数データの値を求める」ことを規定しているところ,「上位ノード変数デ ータ」の変数名だけでは,変数名を利用した演算を行って,自ノード変数データの 12 値を求めることは不可能であり,また,本件明細書等の記載(【0031】,【0 032】)にも照らせば,「上位ノード変数データ」は,変数名のみならず,変数 の値を意味するか,少なくとも変数の値を含むものと解釈される。
(イ) 代入用スクリプト 5 構成要件Dは,「前記ノードデータに含まれるスクリプト」と規定し,構成要件 Fは,この記載を受けて「前記スクリプトは…自ノード変数データの値を求める代 入用スクリプトを含んでおり」と規定しているから,「代入用スクリプト」は,自 ノードのノードデータに含まれるものでなければならない。
また,本件明細書等の実施例(【0072】,【0073】)に照らせば,「代10 入用スクリプト」は,親ノード変数データの値を自ノード変数データの値として代 入するスクリプトを意味する。
(ウ) 被告プログラム a 上記イで主張したとおり,被告プログラムのフローダイアグラムにおける処 理の流れは閉路を構成し,親子,上下という概念は存在しないから,被告プログラ15 ムは,「(直系)上位ノード」及び「上位ノード変数データ」を利用した演算を行 って自ノード変数データの値を求める「代入用スクリプト」を充足しない。
b 被告プログラムの構成fについてみると,変数langは,Set Lan guageボックスに含まれる一時変数であるが,自ノードであるSayボックス 内に記載されたスクリプトには利用されておらず,また,langの値はSet20 Languageボックスに記憶されていない。さらに,被告プログラムでは,L ocalized Textボックスに予め記載された値である「Hello」や 「こんにちは」という値を,Set Languageボックスの変数データを用 いて選択しているにすぎず,自ボックスの変数に上位ボックスの変数の値を代入し ていないから,「代入用スクリプト」を充足しない。
25 c 被告プログラムの構成f’についてみると,被告プログラムのSay Te xtボックスにおける「Speed(%)」及び「Voice Shaping 13 (%)」は,いずれも上位ノード変数ではなく,Say Textボックスの自ボ ックス変数である。また,Say Textボックスが「親から継承する」機能に よって「Speed(%)」及び「Voice Shaping(%)」の値を継 承する際,Sayボックスはその継承元のボックスであるところ,Sayボックス 5 とSay Textボックスは結合情報で結合されていないから,Sayボックス はSay Textボックスの上位ノードに該当しない。さらに,「Speed (%)」及び「Voice Shaping(%)」は,直系上位ノードのノード データに含まれるものではなく,また,上位ノードのノードデータ中に変数の値を 含むものではない。
10 これに加えて,behavior.xarには,「親から継承する」機能を実行 するスクリプトは存在しないから,被告プログラムは,自ノードのノードデータに 含まれる代入用スクリプトに利用され,代入用スクリプトが親ノード変数データの 値を自ノード変数データの値として代入するスクリプトという構成が存在しない。
(エ) 以上によれば,被告プログラムは,「(直系)上位ノード」,「上位ノー15 ド変数データ」及び「代入用スクリプト」を充足しない。
エ 争点1-4(被告プログラムは,「自ノード変数データ,前記上位ノード変 数データ及び前記スクリプトを表示するノードデータテーブル表示ステップ」(構 成要件G)を充足するか)について 【原告の主張】20 (ア) 本件明細書等の記載(【0046】)によれば,「デザインテーブル20 は,ツリービューア10に表示されたノードのうちの選択されたノードが有する情 報を表示する領域であ」るから,「テーブル」(構成要件G)は情報を表示する領 域を意味する。
(イ) 被告プログラム25 a スクリプト 被告プログラムのフローダイアグラム画面上でボックスを選択してダブルクリッ 14 クすると,別紙3-1被告プログラム説明書(図14)のとおり,当該ボックスに 対応して管理されているスクリプトをスクリプトエディタによって表示することが できるから,被告プログラムは「スクリプトを表示するノードデータテーブル表示 ステップ」を充足する。
5 b 自ノード変数データ 被告プログラムのフローダイアグラム画面上でボックスを選択してクリックする と,別紙3-1被告プログラム説明書(図15,16)のとおり,右下に区分けさ れたインスペクタという名称のウィンドウ(以下「インスペクタ」という。)に, 自ノード変数データである当該ボックスの変数名が表示されるから,被告プログラ10 ムは,「自ノード変数データ」「を表示するノードデータテーブル表示ステップ」 を充足する。
c 別紙4被告プログラムの構成(原告)記載の構成g(以下「被告プログラム の構成g」という。)における上位ノード変数データ 被告プログラムのインスペクタには,当該ボックスが有している入力コネクタの15 変数名も表示されるところ,入力コネクタには,アプリケーションを実行した際に 直近の親ボックスから引き渡される値が書き込まれる。また,インスペクタ上のア イコンをクリックすると,当該ボックスのコネクタや変数の追加,名称やタイプ等 の編集,削除をすることができる。例えば,被告プログラムでは,Say Tex tボックスの変数であるpは,Say Textボックスの入力コネクタ”onI20 nput_onStart()”という関数の構成要素であり,直系上位ノードで あるLocalized Textボックスの出力コネクタonStopped (Self,sentences[sDefaultLang])から出力された値 を受け取る,コネクタの内部領域である。この入力コネクタの内部領域pには,ア プリケーションを実行した際に,Localized Textボックスから引き25 渡される値が書き込まれる。
よって,入力コネクタは,親ボックスから引き渡される値を記憶する内部領域を 15 保持する変数であるといえるから,入力コネクタの名称は,「上位ノード変数デー タ」に該当する。したがって,被告プログラムは,「上位ノード変数データ」「を 表示するノードデータテーブル表示ステップ」を充足する。
d 別紙4被告プログラムの構成(原告)記載の構成g’(以下「被告プログラ 5 ムの構成g’」という。)における上位ノード変数データ 被告プログラムのSay Textボックスのスクリプトエディタにおいて親か らの変数の取得機能を使う場合,上位ノードであるSayボックスの変数から利用 可能なものを一覧表示する機能があるから,被告プログラムは,「上位ノード変数 データ」「を表示するノードデータテーブル表示ステップ」を充足する。
10 e なお,本件発明において,インスペクタとスクリプトエディタを同時に表示 する必要はないが,被告プログラムにおいては,スクリプトエディタをインスペク タと同時に表示することも可能であるから,被告プログラムは「ノードデータテー ブル表示ステップ」を充足する。
(ウ) 小括15 以上によれば,被告プログラムは,「自ノード変数データ,前記上位ノード変数 データ及び前記スクリプトを表示するノードデータテーブル表示ステップ」を充足 する。
【被告の主張】 (ア) 「テーブル」は表を意味することや,本件明細書等の記載(【0065】,20 【0066】,【0057】,【図6】,【図9】,【図10】,【図13】) によれば,「ノードデータテーブル表示ステップ」は,変数名と変数の値とを表 形式で表示するステップを意味し,また,自ノード変数データ,上位ノード変数 データ,並びに当該自ノード変数データ及び上位ノード変数データを用いた代入 用スクリプトを,全て同時に表示するものを意味する。
25 (イ) 被告プログラムの構成g 原告は,インスペクタに表示される入力コネクタの名称が「上位ノード変数デー 16 タ」に該当すると主張するが,入力コネクタの名称は,コネクタ名であって変数で はない上,変数の値を含まないから,「上位ノード変数データ」に当たらない。ま た,Say Textボックスのpは,自ボックス関数の引数であって上位ノード 変数ではなく,一時変数であり,その値はSay Textボックスに記憶されて 5 おらず,被告プログラムにおいてpの値を表示することはできないから,「上位ノ ード変数データ」に当たらない。よって,被告プログラムは,「上位ノード変数デ ータ」「を表示するノードデータテーブル表示ステップ」を充足しない。
(ウ) 被告プログラムの構成g’ 被告プログラムにおいて,「親からの変数を取得」機能によって表示されるのは,10 変数名にとどまり,変数の値は表示されないから,「親からの変数を取得」機能に よる表示は「上位ノード変数データ」に当たらない。よって,被告プログラムは, 「上位ノード変数データ」「を表示するノードデータテーブル表示ステップ」を充 足しない。
(エ) 小括15 以上によれば,被告プログラムは,「自ノード変数データ,前記上位ノード変数 データ及び前記スクリプトを表示するノードデータテーブル表示ステップ」を充足 しない。
オ 争点1-5(被告プログラムは,「更新するステップ」(構成要件H)を充 足するか)について20 【原告の主張】 「更新」とは,文書ファイルを変更するか否かに関わらず,自ノード変数データ の値を更新することを意味し,「更新するステップ」は,このような意味での「更 新」を行うステップを意味する。
被告プログラムでは,別紙3-1被告プログラム説明書記載のとおり,Say25 Textボックスの自ノード変数であるsentenceの値が,代入用スクリプ トの実行によって導かれるところ,sentenceの値は,直系上位ノードであ 17 るSayボックスの「Speed(%)」及び「Voice Shaping (%)」の値の設定や,Set Languageで設定した言語,Locali zed Textで言語に対応して入力されるあいさつ文に応じて更新されるから, 被告プログラムは,「更新するステップ」を充足する。
5 以上のとおり,被告プログラムは,構成要件AないしHを充足するから,これを 前提とする構成要件Iを充足し,本件発明の技術的範囲に属する。
【被告の主張】 構成要件B,C及びG並びに本件明細書等の記載(【0043】,【0064】, 【0067】,【0073】,【図10】)に照らせば,「更新ステップ」におい10 ては,文書ファイルに含まれる自ノード変数データが変更される必要がある。
しかしながら,被告プログラムにおいては,スクリプトの実行によりbehav ior.xarの値が変更されることはないから,被告プログラムは,「更新する ステップ」を充足しない。
以上のとおり,被告プログラムは,構成要件AないしHを充足しないから,これ15 を前提とする構成要件Iを充足せず,本件発明の技術的範囲に属しない。
? 争点2(本件特許は特許無効審判により無効とされるべきものか)について ア 争点2-1(本件発明は乙9発明により新規性又は進歩性を欠くか)につい て 【被告の主張】20 本件発明は,以下のとおり,乙9発明と同一であるか,何らかの相違点があると しても,当業者が出願時の技術常識を用いて容易に想到できたから,新規性又は進 歩性を欠き,本件発明に係る本件特許には,特許法29条1項3号又は同条2項に 違反する無効理由(同法123条1項2号)がある。
(ア) 新規性25 a 相違点 本件発明と乙9発明には,以下の相違点が一応存在し,その余の点において一致 18 する。
(a) 本件発明では,情報が文書ファイルとしてコンピュータに記憶されるのに 対して,乙9発明では,知識が文書ファイルとしてコンピュータに記憶されるもの であるかが明示されていない点(相違点1-1)。
5 (b) 本件発明では,スクリプトがノードデータに含まれているのに対して,乙 9発明では,スクリプトがノードデータに含まれているかが明示されていない点 (相違点1-2)。
(c) 本件発明では,ノードデータテーブル表示ステップがスクリプトを表示す るものであるのに対して,乙9発明では,属性値表示ステップがスクリプトを表示10 するものであるかが明示されていない点(相違点1-3)。
b 検討 当業者の技術常識参酌すれば,乙9発明の公報には相違点1-1ないし1-3 に係る構成が記載されているに等しく,相違点1ないし3は実質的相違点ではない から,新規性を欠く。
15 (イ) 進歩性 仮に相違点1-1ないし1-3が実質的相違点であるとしても,これらに係る構 成を採用することは当業者が周知技術(乙10から15)を適用して適宜なし得る 設計事項にすぎないから,進歩性を欠く。
【原告の主張】20 乙9発明は,本件発明における「情報」と乙9発明における「知識」が異なるな どの理由から,構成要件AないしHに相当する構成を備えていないから,本件発明 と同一の発明ということはできず,また,本件発明と乙9発明は,利用場面が異な る上,課題が共通しておらず,その構成も全く異なるものであるから,相違点につ いて容易想到ということもできない。よって,本件発明は乙9により新規性及び進25 歩性を欠くということはできない。
イ 争点2-2(本件発明は乙16発明により新規性又は進歩性を欠くか)につ 19 いて 【被告の主張】 本件発明は,充足論における原告の主張を前提とすれば,乙16発明と同一であ るか,何らかの相違点があるとしても,当業者が出願時の技術常識を用いて容易に 5 想到できたから,新規性又は進歩性を欠き,本件発明に係る本件特許には,特許法 29条1項3号又は同条2項に違反する無効理由(同法123条1項2号)がある。
【原告の主張】 乙16発明には,機能ブロックに包含されるプログラムコードに機能ブロックの 物理名称が含まれる構成が開示されていないなど,本件発明との間に数多くの相違10 点が存在し,その相違点が既存の技術常識又は設計事項であると認めることはでき ないから,本件発明は乙16により新規性及び進歩性を欠くということはできない。
ウ 争点2-3(本件特許は特許法36条6項1号及び同条4項1号に違反して いるか)について 【被告の主張】15 本件発明が,文書ファイルの変更を伴わない態様を含むものであるという原告 の主張を前提にすると,多人数で情報を共有し再利用することができる情報管理 方法を提供するという本件発明の課題を解決することができない態様を発明の範 囲に含むことになる。
また,本件発明は,代入用スクリプトを用いて情報を更新するものであり,代20 入用スクリプト自体を更新することはできないものであるところ,管理すべき情 報にはスクリプトが含まれるという原告の主張を前提にすると,管理すべき情報 の更新を簡単かつ効率的に行うという本件発明の課題を解決することができない 態様を含むことになる。
よって,本件特許は,サポート要件(特許法36条6項1号)及び実施可能要25 件(特許法36条4項1号)に違反する。
【原告の主張】 20 争う。
本件発明は,スクリプトを用いて情報を更新することを目的としているが,文書 ファイルを書き換えることを目的としていない。また,本件発明においては代入用 スクリプトを含む管理すべき情報が更新されるという被告の主張は,その前提自体 5 が誤っている。
エ 争点2-4(本件特許は特許法36条6項2号に違反しているか)について 【被告の主張】 本件発明に規定される「文書ファイル」及び「情報」は,その意味が極めて多 義的である上,本件明細書等に定義規定が置かれておらず,発明の外縁が著しく10 不明確であるから,本件特許は,明確性要件(特許法36条6項2号)に違反す る。
【原告の主張】 争う。本件明細書等の記載や当業者の技術常識を基礎とすれば,「文書ファイ ル」及び「情報」は,不明確であるということはできない。
15 ? 争点3(損害の発生の有無及びその額)について 【原告の主張】 ア 被告は,被告プログラム及び被告プログラムによって作成したアプリケーシ ョンを使用することができる本件ロボットを販売している。
イ 本件ロボットの売上は,被告の売上(平成27年4月1日から平成29年320 月31日までの売上の合計は,77億5900万円)のうちの60%に相当する金 額である。
また,被告プログラムは,ロボット購入の強い動機となっているから,本件ロボ ットの売上に対する本件特許権の寄与度は50%である。
さらに,本件におけるライセンス料率は,被告プログラムの態様が本件発明の実25 施例と極めて似ていることや,同分野のプログラムに関するロイヤルティ料率の相 場を考慮すれば,15%を下回らない。
21 ウ 以上によれば,被告の不法行為によって平成27年6月1日から平成29年 3月31日までの間に原告に生じた本件特許権のライセンス料(特許法102条3 項)に相当する損害額は,77億5900万円×60%×50%×15%=3億4 915万5000円である。
5 エ よって,原告は,被告に対して,民法709条不法行為による損害賠償請 求権に基づいて,3億4915万5000円及びこれに対する不法行為後の日であ る平成29年10月18日(訴状送達の日の翌日)から支払済みまでの民法所定年 5分の割合による遅延損害金の支払を求める。
【被告の主張】10 争う。なお,被告プログラムは,公開以来,誰でも無償でダウンロード可能であ る。
第3 当裁判所の判断 1 本件発明の意義について ? 本件明細書等の発明の詳細な説明の記載15 本件明細書等の発明の詳細な説明は,別紙2特許公報(甲3)の該当欄記載のと おりであるが,概要,次のとおりである。
ア 技術分野 「【0001】 本発明は,コンピュータを用いて情報を管理する情報管理方法,情報管理プログ20 ラム,及び情報管理装置に関する。」 イ 背景技術 「【0002】 コンピュータを用いて各種情報の管理を行う場合,それぞれの情報を記憶したフ ァイル(文書ファイル,画像ファイル等)を,所定のフォルダに保管することによ25 って行うのが一般的である。しかし,作成したフォルダの構造及びそれぞれのフォ ルダに保管するファイルの種類等は,任意であってフォルダの作成者に依存するた 22 め,作成者以外の者が必要な情報に適確にアクセスすることは,必ずしも簡単では ない。すなわち,多数の者が情報を共有化し,再利用できるように,情報管理を行 うことは容易ではない。
【0003】 5 特許文献1には,情報の共有化,再利用を効率よく実現することができる文書情 報管理システムが記載されている。この文書情報管理システムは,案件(プロジェ クト)毎にツリーを作成して表示し,作成した文書ファイルを,表示されたツリー の任意のノードに付随させて,サーバコンピュータに保管するものである。
【0004】10 また,異なる計算機やアプリケーションで共通に取扱うことができるデータ形式 として,XML(Extensible Markup Language)等の構造化文書規格があるが,特 許文献2には,このような構造化文書を木構造として捉えて処理する構造化文書処 理システムが記載されている。」 ウ 発明が解決しようとする課題15 「【0005】 しかし,管理される各種情報の更新については,上記した管理システムにおいて も,効率化が十分図られているとはいえない。すなわち,木構造のノードに含まれ る情報は,相互に関連するものが多いが,上記した管理システムにおいては,それ ぞれの文書の該当する部分を個別に更新する必要があり,十分効率的とはいえな20 い。」 「【0007】 本発明は,上記事情に鑑みなされたもので,管理すべき情報の更新を,簡単かつ 効率的に行うことができる情報管理情報を提供することを目的とする。」 なお,弁論の全趣旨によれば,「情報管理情報」は,「情報管理方法」の誤記と25 認められる。
エ 課題を解決するための手段 23 「【0009】 本発明によれば,利用者が入力したデータに含まれるスクリプトを利用して,ノ ードデータを更新することができるので,管理すべき情報の更新を,簡単かつ効率 的に行うことができる。また,複数のノードデータを含む1つの文書データを用い 5 て,個々の業務や案件に関する情報を管理しているので,多数の利用者による情報 の共有化,再利用を,簡単かつ効率的に行うことができるとともに,文書データに 基づいて,簡単にノードの木構造を表示させることができ,業務や案件全体の把握 を簡単に行うことができる。さらに,表示された木構造の個々のノードに対応付け られた詳細情報を簡単に表示することができる。」10 オ 発明の効果 「【0024】 以上の説明から明らかなように,本発明によれば,管理すべき情報の更新を,簡 単かつ効率的に行うことができる。」 カ 発明を実施するための最良の形態15 「【0028】 図1に,ノードデータとして記憶される情報の一例を示す。記憶される情報は, ノード番号,ページ番号,親ノード番号,ノードラベル,ノード表示属性情報,変 数情報,代入用スクリプト,生成用スクリプト,リンク情報を含む。
【0029】20 ノード番号は,ノードを識別する情報であり,ノード生成時に自動的に一意の番 号が付与される。ページ番号は,文書に含まれるノードを複数の木構造として表示 するためのもので,そのノードが所属するページを識別する所属ページ番号に,そ のノードが別のページを形成する場合にそのページを識別する自己ページ番号を含 む。したがって,両方のページ番号が記憶されているノードは,2つのページに属25 することになる。親ノード番号は,そのノードの親ノードを識別する番号であり, ノード生成時に親ノードを指定することにより,その指定された親ノードのノード 24 番号が自動的に記憶される。」 「【0031】 変数情報は,各ノードが保持するデータであって,変数名に対応させて記憶され る。記憶される変数は,下位ノードから参照される公開変数と,自ノード内でのみ 5 使用する限定変数を含む。また,変数の値(「変数データ」と記述する場合もあ る。)は,固定値が設定されても,スクリプトの実行によって演算された値が設定 されてもよい。また,URLが設定されてもよい。どのような値が設定されるかは 任意である。
【0032】10 代入用スクリプトは,自ノードの変数の値を演算するためのものである。代入用 スクリプトは,自ノードの変数の値である自ノード変数データと,そのノードの直 系上位ノードの公開変数の値である上位ノード変数データを利用して記述すること が可能である。」 「【0034】15 なお,代入用スクリプト及び生成用スクリプトに使用する言語としては,スクリ プト言語として使用されている任意の言語を使用することができる。
【0035】 リンク情報は,各ノードにリンクするファイルに関する情報である。スタンドア ローン型のコンピュータで実施する場合,この情報はリンクファイルのインデック20 ス情報である。また,クライアント-サーバ型のコンピュータで実施する場合,リ ンクファイルをサーバに転送後,インデックス情報を作成し,記憶する。リンク情 報を記憶することにより,各ノードをフォルダとして利用することが可能となる。
【0036】 ノードデータは,例えばタグ付き文書情報として記憶される。図2に,ノードデ25 ータの一例を示す。図2のデータは,ルートノードのノードデータの例であり,ノ ード番号(nodeNo)が「3450」,自己ページ番号(ownPageNo)が「10」,ノード 25 ラ ベ ル(label)が 「 パ ッセ ル操作 マニ ュ アル」 である 。所 属 ページ 番号を 示す (belongPageNo)が「0」,親ノード番号を示す(parentNodeNo)が「0」であるこ と で , ル ー ト ノ ー ド で あ る こ と を 示 し て い る 。 図 2 の 「 x=”100” 」 か ら 「color=”0”」までは,ノードの表示位置等のノード表示属性情報である。
5 【0037】 この形式では,変数情報が,「」と「」の間に 挿 入 さ れ , 代 入 用 ス ク リ プ ト が , 「 」 と 「 」 の 間 に 挿 入 さ れ , 生 成 用 ス ク リ プ ト が , 「 」 と 「 」 の 間 に , リ ン ク 情 報 が ,10 「」と「」の間に挿入される。ただし,図 2の例では,変数情報,代入用スクリプト,生成用スクリプトは,記憶されていな い。
【0038】 図3に,ノードデータの別の例を示す。図3のデータは,ルートノード以外のノ15 ードデータの例である。所属ページ番号が「3484」,親ノード番号が「3488」とな っており,ルートノード以外のノードのノードデータであることが把握できる。ま た,自己ページ番号が「3526」となっていることから,別ページの木構造の先頭ノ ードであることも把握できる。
【0039】20 図4に,管理すべきデータを複数のノードデータを含む文書情報として記憶させ たものの一例を示す。図4の文書は,ヘッダ部40,ノードデータ部41a〜41 n,ライン部42,レポート部43を備える。」 「【0041】 ノードデータ部41aは,ルートノードのノードデータを示し,ノードデータ部25 41b〜41nは,ルートノード以外のノードのノードデータである。
【0042】 26 ライン部42は,ノード間を接続するリードを定義する情報が記憶される領域で ある。ノード間を接続するリードは,親子のノード間を接続する階層リードと,階 層関係とは無関係に一時的に変数を参照する参照元ノードと参照先ノード間を接続 する参照リードがあるが,ライン部42は,参照リードの存在及び,位置,表示属 5 性等を規定する。
【0043】 次に,記憶された文書情報の表示について説明する。図5に,文書情報の表示を 行う場合の概略動作フローを示し,図4に示す文書の表示を行った場合の表示画面 の例を図6に示す。
10 【0044】 図6の表示画面は,ツリービューア10とデザインテーブル20を有する。ツリ ービューア10は,ノードの木構造を表示する領域であり,情報管理時の各種操作 を行うためのプルダウンメニュー,及びポップアップメニューを表示する領域も兼 ねる。ノードの木構造の表示は,ラベルとリードの表示によって行い,図6の例で15 は,ルートノードのラベル表示11aとルートノード以外のノードのラベル表示1 1b,11c,11dと,それらの間を接続する階層リード12b,12c,12 dが表示されている。」 「【0046】 デザインテーブル20は,ツリービューア10に表示されたノードのうちの選択20 されたノードが有する情報を表示する領域であり,公開変数表示領域21,限定変 数表示領域22,代入用スクリプト表示領域23,生成用スクリプト表示領域24, 操作ボタン表示領域21a,22a,20aを有する。操作ボタン表示領域21a の各操作ボタンは,公開変数に対する各種操作を行うためのものであり,操作ボタ ン表示領域22aの各操作ボタンは,限定変数に対する各種操作を行うためのもの25 である。また,操作ボタン表示領域20aの各操作ボタンは,デザインテーブル2 0に関する各種操作を行うためのものである。」 27 「【0049】 次いで,ステップS103で認識したノードのラベル表示を行う(ステップS1 04)。ラベル表示は,そのノードのノードラベル及びノード表示属性情報に基づ いて表示する。そして,表示したノードの親子関係に基づいて階層リードを表示し, 5 さらに,文書のライン部42の情報を参考にして,参照リードを表示する(ステッ プS105)。
【0050】 この状態では,ツリービューア10に木構造が表示された状態である。ステップ S106では,ツリービューア10に表示されたノードが選択されたかどうかを判10 定し,選択されている場合,デザインテーブル20の表示を行い(ステップS10 7),そのノードの変数,スクリプト等を表示する(ステップS108)。図6は, ルートノードを選択した場合の例であり,ルートノードには,変数情報等が記憶さ れていないので,デザインテーブル20に,データの表示はない。この状態で,別 のノードを選択すると,そのノードの変数等が表示される。」15 「【0054】 図6に示した状態で,表示された木構造及びノードデータの編集が可能であり, 編集操作に対応した表示を行う(ステップS109)。ツリービューア10上では, ノードの追加,削除,表示位置移動,表示属性変更,ノードラベル変更等を,プル ダウンメニュー,ポップアップメニューの設定により行う。例えば,表示位置の変20 更は,ラベル表示をドラッグすることによって行い,ノードラベル及び表示属性の 変更は,変更用のウィンドウを表示させて行う。また,ノードの削除は,削除した いノードを選択した状態で,メニューを表示させて削除する。ノードの追加は,メ ニューで追加モードに設定後,追加したいノードの親となるノードを選択し,その ままドラッグすることにより,新規ノードを生成する。また,ノードの繋ぎ換えは,25 繋ぎ換えたいノードを選択し,メニューを表示させて「ノード繋ぎ換え」を選択し, 変更したい繋ぎ先のノード(親ノードとしたいノード)を選択することによって行 28 う。生成されたノードのノードラベル,表示属性情報は,修正用のウィンドウを表 示させて設定する。
【0055】 それぞれのノードに関するデータは,ノードデータとして1まとまりになってい 5 るので,これらの編集を行った場合でも,編集を行ったノードのノードデータに反 映させるだけでよく,軽い処理負担で編集作業を行うことができる。」 「【0057】 代入用スクリプト及び生成用スクリプトは,公開変数領域21および限定変数領 域22に表示された変数を利用して作成する。公開変数領域21には,自ノードの10 公開変数だけでなく,直系上位のすべてのノードの公開変数が表示される。直系上 位のノード以外のノードの変数を参照したい場合は,参照リードを生成して,参照 先のノードと関連付けておく。代入用スクリプト及び生成用スクリプトは代入用ス クリプト領域23及び生成用スクリプト領域24に直接入力してもよいし,別のウ ィンドウを開いて入力するようにしてもよい。
15 【0058】 なお,デザインテーブル20の編集内容は,領域20aの更新ボタンを押すこと によって,文書情報に反映される。」 「【0063】 続いて,ノードデータに含まれる変数情報,代入用スクリプト,生成用スクリプ20 トについて,部品管理を例に説明する。図8は,部品管理に適用した場合の木構造 の一例を示す図である。図8の木構造は,製品番号「990070」,品名「MW-7 0 」 の 製 品 の 部 品 管 理 に 適 用 し た も の で , 製 品 は , 「 fore 」 , 「 center 」 , 「bone」,「back」の部分からなり,さらにそれぞれの部分が,複数の部品から構 成されることを示している。ただし,図8では,部分「fore」の部品のみを記載し,25 他の部分については,省略してある。
【0064】 29 図8から明らかなように,部分「fore」は,3つの「MW70巾木(表)」と3つの 「MW70パネル(表)」から構成される。図9に,1つの部品「MW70巾木(表)」に 対応するノード(図8では,便宜的に右肩に「*」を付してある。)のノードデー タの一部を示し,図10に,そのノードが選択された場合の公開変数表示領域21 5 の表示例を・・・示す。
【0065】 公開変数表示領域に表示される公開変数は,自ノードの公開変数51と,直系上 位ノードの公開変数52を含み,直系上位のノードの公開変数52は,自ノードの 公開変数51と異なる色で表示される(図10では,フォントを変えて示してあ10 る。)。また,公開変数には,固定値が入力される公開変数と,代入用スクリプト の実行によって計算される公開変数があり,修飾領域に「なし」あるいは「要計 算」を表示することによりに区別される。
【0066】 要計算の公開変数の値は,後述するように代入用スクリプトが実行されるまでは15 空欄であり,図9及び図10は,代入用スクリプト実行前の状態を示している。な お,直系上位ノードに要計算の公開変数が含まれ,その公開変数の値が代入スクリ プトの実行前で定まっていない場合,その公開変数は,下位ノードの公開変数領域 21に表示されない。すなわち,他のノードからの参照が一時停止される。
【0067】20 代入用スクリプト及び生成用スクリプトは,操作ボタン表示領域20aの「評 価」ボタンを押すことにより実行される。」 「【0072】 次に,代入用スクリプト及び生成用スクリプトの具体例を,図8の「*」を付し たノードをターゲットノードとして説明する。図9に示すように,ターゲットノー25 ドは,要計算の公開変数として,「スライス数」と「色」を有しており,代入用ス クリプトとして,「スライス数=同一面数;」と「色=同一面数」を有している。
30 評価前は,図10に示すように,公開変数「スライス数」と「色」の値は空欄とな っている。
【0073】 この状態で,このノードを選択し,「評価ボタン」を押し,評価条件として代入 5 用スクリプトの実行を設定すると,記憶された代入用スクリプトを実行する。した がって,公開変数「スライス数」の値は,上位ノードの公開変数である「同一面 数」の値「1」となり,公開変数「色」の値は,同様に上位ノードの公開変数であ る「巾木色」の値「F-205」となる。代入用スクリプト実行後のデザインテー ブルの公開変数表示領域21の表示例を,図13に示す。
10 【0074】 ターゲットノードは,生成用スクリプトも有しているので,評価ボタンを押し, 評価条件として生成用スクリプトの実行を設定すると,条件文によって選択された 辞書ノードを参照し,新規ノードを生成する。この例では,辞書コード 「C07000400000000001」の辞書ノードが参照され,ノードラベル「巾木(ST)」の15 ノードが生成される。」 「【0076】 図14に示す辞書ノードのノードデータは,ノード番号及びノード表示属性情報 位置を含んでいるが,ノード番号は,生成後のノードにおいては書き換えられる。
また,ノード表示属性情報のうち,表示位置に関する情報は,予め生成元のノード20 の表示位置に対する相対位置を示すものとして利用してもよいし,生成時に生成元 のノードの表示位置に応じて生成するようにしてもよい。」 ? 本件発明の概要 以上の本件明細書等の発明の詳細な説明の記載並びに本件特許の請求項1及び1 4の記載によれば,本件発明の概要は,次のとおりであると認められる。
25 ア 本件発明は,コンピュータを用いて情報を管理する情報管理方法,情報管理 プログラム,及び情報管理装置に関する(【0001】)。
31 イ 従来,コンピュータを用いて各種情報の管理を行う場合に,多数の者が情報 を効率よく共有化及び再利用できるシステムとして,木構造を用いた情報管理シス テムが存在した(【0002】〜【0004】)が,情報の更新を行う場合には, それぞれの文書の該当箇所を個別に更新する必要があったため,相互に関連する情 5 報の更新を効率的に行うことが課題であった(【0005】)ところ,本件発明は, 代入用スクリプトを利用してデータを更新する構成を採用し(【0009】,【0 032】),管理すべき情報の更新を,簡単かつ効率的に行うことができる(【0 024】)ようにしたものである。
2 争点1(被告プログラムは,本件発明の技術的範囲に属するか)について10 ? 争点1-2(被告プログラムは,「ノード識別情報」(構成要件B),「親 ノード識別情報」(構成要件E,G),「ルートノード」(構成要件E),「木構 造」,「木構造表示ステップ」(構成要件G)を充足するか)について ア 「木構造」及び「親ノード」の意義 「ノード識別情報」,「親ノード識別情報」,「ルートノード」,「木構造」及15 び「木構造表示ステップ」の各文言のうち,まず,「木構造」及び「親ノード識別 情報」における「親ノード」の意義について検討する。
「木構造」,「親ノード」との文言は,文言のみから一義的にその意義を明らか にすることができないことから,本件明細書等の発明の詳細な説明の内容を考慮し て検討する必要があるところ,まず,「木構造」についてみると,本件明細書等の20 記載(【0042】,【0044】,【図6】,【図8】,【図16】),証拠 (甲14)及び弁論の全趣旨によれば,「木構造」は,ノードを表示するラベルと ラベル間を接続する結合線であるリードから構成される図として表現される表示に 関する概念であって,基本となる要素,すなわちルートから複数の要素に枝分かれ をした階層構造を意味し,閉路を含まないものと解するのが一般的かつ合理的であ25 る。また,「親ノード」についてみると,本件明細書等の「親子のノード間を接続 する階層リード」(【0042】),「ノードの親子関係に基づいて階層リードを 32 表示」(【0049】)及び「繋ぎ先のノード(親ノードとしたいノード)」 (【0054】)という記載を踏まえれば,「親」は,木構造の表示におけるノー ド間のリードの接続に関する概念であり,「親ノード」は,あるノードに対して, 当該ノードが属する階層内において当該ノードに直近して先行するノードを意味す 5 ると解するのが自然かつ合理的である。「木構造」の意義に関して本件明細書等に これに反する記載は見当たらず,その他,同文言の意義を示す証拠もない。
そして,本件明細書等の記載(【0042】)によれば,本件発明では,一時的 に変数を参照する参照元ノードと参照先ノードを含み得るものであり,この参照元 ノードと参照先ノードの関係は,参照元ノードから出発して参照先ノードを通って10 参照元ノードに戻る閉路を示すものと推認されるが,これらは,階層関係とは無関 係であることが示されている。このことと,前記の「木構造」及び「親ノード」の 意義についての検討を踏まえれば,階層リードで接続され,ノードの親子関係が示 されている部分は木構造であることが前提とされていると認められる。
イ 被告プログラムについての事実認定15 前記第2,2(前提事実)?,証拠(甲7,17,22)及び弁論の全趣旨によ れば,被告プログラムについて,次の事実が認められる。
(ア) 被告プログラムを起動して本件ロボットの振る舞いを構築する際に用いる ボックスは,ボックスとして囲まれている範囲内に「Say」などとしてボックス の名前が表示され,また,左側に,シグナルやデータを受け取るための入力コネク20 タが設けられ,右側に,ボックスからのデータや終了を示すシグナルを出力するた めの出力コネクタが設けられており,これらの,ボックスの名前,入力コネクタ又 は出力コネクタは,ボックスの構成要素である。入力コネクタ又は出力コネクタに は,複数の種類があるが,「onStart」と呼ばれる入力コネクタは,ここに シグナルが送られると,ボックスが開始状態になることを意味するコネクタであり25 (以下,この入力コネクタを「onStartコネクタ」という。),「onSt opped」と呼ばれる出力コネクタは,ここからシグナルが送られた場合,ボッ 33 クスが停止したことを意味するコネクタである(以下,この出力コネクタを「on Stoppedコネクタ」という。)。
(イ) 本件ロボットに「こんにちは」を意味する単語をしゃべらせる振る舞いを 構築した際に作成されたbehavior.xarが本件behavior.xa 5 rであり,この内容をフローダイアグラムとして示したものが別紙6フローダイア グラム目録記載の図1ないし図3(以下,「別紙6の図1」などという。)である。
別紙6の図1及び図2に示された行番号やコネクタの説明は,本件behavio r.xarの行番号ないしボックスの名前を「Say」とするボックス(以下, 個々のボックスについて,ボックスの名前を付して「Sayボックス」などとい10 う。)のonStartコネクタ及びonStoppedコネクタを示している。
本件behavior.xarで記述されるSayボックスは,別紙6の図1の とおり位置付けられているところ,SayボックスのonStartコネクタより 後のフローダイアグラムは,別紙6の図2のとおりであり,リードで接続される順 に,@SayボックスのonStartコネクタ,ALocalized Tex15 tボックス,BSay Textボックス,CSayボックスのonStoppe dコネクタとなっている。
ウ 検討 そこで,被告プログラムが「木構造」を有するか,すなわち,被告プログラムを 使用して表示されるフローダイアグラムの親子関係が示されている部分が「木構20 造」であるかについて検討する。
原告は,前記イ(イ)の@からCまでのSayボックスの接続関係について,木構 造,すなわち階層リードで接続され,ノードの親子関係が示されている部分である と主張するのでこれをみると,前記イ(イ)のとおり,Sayボックスについて,S ayボックスのonStartコネクタから出発して,SayボックスのonSt25 oppedコネクタに接続されているのであり,SayボックスのonStart コネクタ及びonStoppedコネクタは,いずれも,Sayボックスの構成要 34 素である以上,Sayボックスのフローダイアグラムにおけるボックスの接続関係 は,Sayボックスから出発してSayボックスに戻る閉路として表示されている ことになり,木構造であるとはいえない。
その他,階層リードで接続され,ノードの親子関係が示されている部分が全て木 5 構造であることを認めるに足りる証拠もない。
そうであれば,被告プログラムは,「木構造」を有しているとはいえず,したが って,「木構造表示ステップ」(構成要件G)を充足しないというべきである。
エ(ア) この点,原告は,「木構造」の意義について,ノード(点)とエッジ (線)から構成される図として表示されるものであって,閉路を含まない概念であ10 るとした上で,前記イ(イ)でみたSayボックスの構成は,閉路ではないと主張す る。すなわち,被告プログラムのSayボックスのフローダイアグラムにおいて, BSay Textボックスの出力コネクタから@Sayボックスの入力コネクタ に直接リードが接続されている場合には,SayボックスからSayボックスに戻 る閉路であるといえるが,BSay Textボックスの出力コネクタは,CSa15 yボックスの出力コネクタに接続されており,@Sayボックスの入力コネクタと CSayボックスの出力コネクタは異なるものとして表示されているのであるから 閉路ではない旨主張する。
しかしながら,「木構造」はコネクタの接続関係ではなく,ノード間の接続関係 を表示するものであり,被告プログラムにおいて,それはボックス間の接続関係を20 表示するものであるところ,別紙6の図2は,別紙6の図1に表示されたフローダ イアグラムのうち,Sayボックスの構成要素を表示した図であって,前記認定の とおり,SayボックスのonStartコネクタとSayボックスのonSto ppedコネクタはいずれもSayボックスの構成要素であるから,Sayボック スのonStartコネクタとSayボックスのonStoppedコネクタの表25 示位置が離れているとしても,Sayボックスから出発してSayボックスへ戻る 接続関係がないとみることはできない。よって,原告の上記主張はその前提を欠き, 35 採用することができない。
(イ) また,原告は,出力コネクタであるonStoppedは,ボックスの動 作が終了したことを示すにすぎず,Say TextボックスのonStoppe dコネクタから出力されたデータは,Sayボックスを経由して流れることはない 5 から,Sayボックスのフローダイアグラムは,データの流れの観点からみても閉 路ではない旨主張する。しかしながら,証拠(乙30,31)及び弁論の全趣旨に よれば,Say TextボックスのonStoppedコネクタから出力された データは,Sayボックスを経由していることが認められるから,原告の主張はそ の前提を欠き,採用できない。
10 オ 小括 以上のとおり,被告プログラムは,「木構造表示ステップ」(構成要件G)を充 足しない。
? 争点1-4(被告プログラムは,「自ノード変数データ,前記上位ノード変 数データ及び前記スクリプトを表示するノードデータテーブル表示ステップ」(構15 成要件G)を充足するか)について ア 「ノードデータテーブル表示ステップ」及び「ノード変数データ」の意義に ついて まず,「ノードデータテーブル表示ステップ」の意義について検討すると,「テ ーブル」は,表,一覧表を意味するところ,本件明細書等(【0046】,【0020 55】,【0057】,【0065】,【0066】,【図6】,【図10】)に おいて,「ノードデータテーブル」に相当するデザインテーブルは,自ノード変数 データ及び全ての直系上位ノード変数データを表示する領域(【図6】における公 開変数表示領域)と,代入用スクリプトを表示する領域を含む一覧表になっており, 「図6に示した状態で,表示された木構造及びノードデータの編集が可能であり」25 (【0054】),「ノードデータとして1まとまりになっている」(【005 5】)と記載されていることにも照らせば,「ノードデータテーブル」とは,「ノ 36 ードデータ」の一覧表であり,上位ノード変数データ,自ノード変数データ及び代 入用スクリプトを同時に表示するものと解するのが一般的かつ自然である。
次に,ノードデータテーブルが表示する「ノード変数データ」の意義について検 討すると,本件明細書等には,「変数の値(「変数データ」と記述する場合もあ 5 る。)」(【0031】),「ノードの直系上位ノードの公開変数の値である上位 ノード変数データ」(【0032】)と記載されており,これと異なる解釈を導く ような説明がされていることは認められないから,「ノード変数データ」は,変数 の値を意味すると解するのが自然かつ合理的である。
イ この点,原告は,「テーブル」の意義について,本件明細書等に「デザイン10 テーブル20は,ツリービューア10に表示されたノードのうちの選択されたノー ドが有する情報を表示する領域であり」(【0046】)と記載されているから, 「テーブル」(構成要件G)は,情報を表示する領域を意味すると主張する。しか しながら,この記載はデザインテーブルの性質を説明するものにすぎず,「テーブ ル」の意義を一般的意味より広く解釈すべきことを示唆する記載とみることはでき15 ないから,原告の同主張は採用することができない。
また,原告は,「ノード変数データ」の意義について,本件特許の請求項1及び 請求項9並びに本件明細書等の記載(【0008】【0017】)には,「前記自 ノード変数データの値」という文言があり,「変数データ」は,「変数データの 値」と区別して用いられているから,「ノードデータテーブル表示ステップ」にお20 いて,変数の値を表示することは必要ではなく,また,上位ノード変数データと自 ノード変数データとを同時に表示することも必要ではないと主張するが,同主張は, 前記認定に照らして採用することができない。
ウ 被告プログラム (ア) 被告プログラムの構成g25 まず,原告は,被告プログラムのフローダイアグラム画面上のインスペクタに表 示された入力コネクタの名称が「上位ノード変数データ」に当たると主張している 37 ところ,入力コネクタの名称は変数の値ではないから,「上位ノード変数データ」 に当たると認めることはできない。よって,被告プログラムは,「上位ノード変数 データ」「を表示するノードデータテーブル表示ステップ」を充足しない。
(イ) 被告プログラムの構成g’ 5 また,原告は,被告プログラムのSay Textボックスのスクリプトエディ タにおいて親からの変数の取得機能を使う場合,上位ノードであるSayボックス の変数のうち利用可能なものを一覧表示させることができる機能があるから,被告 プログラムは,「上位ノード変数データ」「を表示するノードデータテーブル表示 ステップ」を充足すると主張する。
10 この点,Say Textボックスにおいて親からの承継を選択した場合,別紙 3-1被告プログラム説明書図19のとおり,インスペクタ上に,Say Tex tボックスの変数Speed(%)の値が表示されるが,これはSay Text ボックスにおいて表示されるものであるから自ノード変数を表示しているものと認 められ,「上位ノード変数データ」を表示しているとみることはできない。よって,15 被告プログラムは,一覧表として「自ノード変数データ」及び「上位ノード変数デ ータ」を同時に表示しているということはできない。
さらに,原告は,別紙6の図3のように,上位ノード変数と代入用スクリプトを 同時に表示することができる旨主張するが,同図の表示形態を一覧表とみることは できない上,同図では,上位ノードの名称が表示されているにとどまり,上位ノー20 ド変数の値が表示されていると認めることはできないから,「ノード変数データ」 を一覧表として表示しているということはできず,原告の同主張は採用することが できない。
加えて,本件全証拠によっても,behavior.xar内に,親からの承継 の機能に関して,自ノード変数データ及び上位ノード変数データを利用した演算を25 行って自ノード変数データの値を求める「代入用スクリプト」があると認めるに足 りる証拠はないから,被告プログラムは,「前記スクリプトを表示するノードデー 38 タテーブル表示ステップ」を充足すると認めることはできない。
エ 以上のとおり,被告プログラムは,「自ノード変数データ,前記上位ノード 変数データ及び前記スクリプトを表示するノードデータテーブル表示ステップ」 (構成要件G)を充足しない。
5 ? 小括 したがって,その余の点について判断するまでもなく,被告プログラムは本件発 明の技術的範囲に属すると認めることはできない。
3 結論 以上によれば,その余の争点につき検討するまでもなく,原告の請求には理由が10 ないから,これを棄却することとして,主文のとおり判決する。
追加
山田真紀裁判官20伊藤清隆裁判官25棚橋知子39 別紙一覧別紙1当事者目録別紙2特許公報省略(42〜59頁)5別紙3-1被告プログラム説明書図1〜26別添(75〜104頁)別紙3-2behavior.xarの内容別添(105〜109頁)別紙4被告プログラムの構成(原告)別紙5被告プログラムの構成(被告)10別紙6フローダイアグラム目録別添(114〜116頁)40 (別紙1)当事者目録原告株式会社パッセルインテグレーション5同訴訟代理人弁護士中村隆夫同加藤伸樹同我妻崇明被告ソフトバンクロボティクス株式会社10同訴訟代理人弁護士鮫島正洋同和田祐造同森下梓41
裁判長裁判官 15