判例検索β > 平成29年(ワ)第31706号
損害賠償請求事件 特許権 民事訴訟
事件番号平成29(ワ)31706
事件名損害賠償請求事件
裁判年月日平成31年3月27日
法廷名東京地方裁判所
裁判日:西暦2019-03-27
情報公開日2019-04-12 12:00:28
戻る / PDF版
平成31年3月27日判決言渡
平成29年(ワ)第31706号
口頭弁論終結日

同日原本領収

裁判所書記官

損害賠償請求事件

平成31年1月28日

当事者の表示



別紙1当事者目録記載のとおり
文1
原告の請求を棄却する。

2
訴訟費用は原告の負担とする。
事実及び理由

第1

請求

被告は,原告に対し,3億4915万5000円及びこれに対する平成29年10月18日から支払済みまで年5分の割合による金員を支払え。
第2
1
事案の概要
本件は,発明の名称を情報管理方法,情報管理プログラム,及び情報管理装置とする特許第3754438号の特許権(以下本件特許権といい,この特許を本件特許という。また,本件特許の願書に添付した明細書及び図面を本件明細書等という。)を有する原告が,被告に対し,被告においてウェブサイト上で提供しているChoregraphe(コレグラフ)という名称のプログラム(以下被告プログラムという。)は,本件特許の特許請求の範囲の請
求項14記載の発明(以下本件発明という。)の技術的範囲に属し,被告による被告プログラムの提供は本件特許権を侵害する旨を主張して,民法709条の不法行為による損害賠償請求権(対象期間は,平成27年6月1日から平成29年3月31日まで)に基づき,3億4915万5000円及びこれに対する不法行為後の日である平成29年10月18日(訴状送達の日の翌日)から支払済みまでの民
法所定年5分の割合による遅延損害金の支払を求める事案である。2
前提事実(当事者間に争いがない又は後掲の証拠及び弁論の全趣旨により容
易に認められる事実)


当事者

原告は,コンピューターソフトウェアの研究,開発に関する事業等を目的とする株式会社である(甲1)。
被告は,コンピューターソフトウェアの研究,開発,販売及び賃貸等を目的とする株式会社である(甲2)。


本件特許権

原告は,次の内容の本件特許権を有している(甲3,18)。
出日
平成16年8月13日

優先日
平成16年7月28日

登願録日
平成17年12月22日


特許第3754438号

特許番
発明の名称

情報管理方法,情報管理プログラム,及び情報管
理装置



本件発明の特許請求の範囲

本件発明の特許請求の範囲の記載は,別紙2の本件特許に係る特許公報(甲3)の該当欄記載のとおりである。


本件発明の構成要件の分説

本件発明は,次のとおり,構成要件に分説される(以下,頭書の記号に従って,構成要件Aなどという。)。
A
コンピュータが情報を管理する情報管理方法であって,

B
前記コンピュータに複数のノードそれぞれに対応付けて入力された管理すべ
き情報を,前記ノードを識別するノード識別情報に対応付けられた複数のノードデータを含む文書ファイルとして前記コンピュータが記憶する情報記憶ステップと,C
前記情報記憶ステップで記憶された前記文書ファイルの情報を前記コンピュ
ータが表示する情報表示ステップと,

D
前記ノードデータに含まれるスクリプトを前記コンピュータが実行する情報
評価ステップとを備え,
E
前記ノードデータは,ルートノードを除いて,当該ノードの親ノードを特定
する親ノード識別情報を含んでおり,
F
前記スクリプトは,当該ノードデータに含まれる変数データである自ノード
変数データと,当該ノードの直系上位ノードのノードデータに含まれる変数データである上位ノード変数データを利用した演算を行って,前記自ノード変数データの値を求める代入用スクリプトを含んでおり,
G
前記情報表示ステップは,前記親ノード識別情報を利用して,前記ノードの
木構造を表示する木構造表示ステップと,前記表示された木構造のノードのうちの選択されたノードの前記自ノード変数データ,前記上位ノード変数データ及び前記スクリプトを表示するノードデータテーブル表示ステップを含み,H
前記情報評価ステップは,前記代入用スクリプトの実行により,前記自ノー
ド変数データの値を更新するステップを含む情報管理方法
I
における各ステップを,コンピュータに実行させるための情報管理プログラ
ム。


被告プログラム


概要

被告プログラムは,被告が販売するPepper及びNaoという名称のロボット(以下,併せて本件ロボットという。)上で作動するアプリケーション(以下ロボアプリという。)を開発するためのソフトウェアである。ロボアプリにおいては,本件ロボットの動作などの振る舞い(フローともいう。)を規定することになるが,振る舞いを定義する単位がビヘイビアであり,一つのビヘイビアはボックスという名称の機能単位で構成される。例えばこんにちはと話す
という振る舞いについては,言語を設定するボックス,話すという動作を規定するボックスなどで構成される。被告プログラムでは,このようなボックスを接続して
いくことによってロボアプリを作成することができるようになっており,被告プログラムを起動した際に表示される画面上には,振る舞いを図で表すフローダイアグラムを表示するパネルが設けられ,同パネル内にボックスを配置し,ボックス同士を接続してフローダイアグラムを作成していくことによって振る舞いを構築する。このように構築された振る舞いをプログラミング言語及びその他の情報で記述したものが,behavior.xarという名称の文書ファイル(以下,単にbehavior.xarという。)であり,振る舞いを構築すると,上記文書ファイルが作成される(甲6,7)。

被告プログラムを起動させて作成されたbehavior.xar
別紙3-2behavior.xarの内容は,原告において,被告プログラムを起動し,本件ロボットにこんにちはを意味する単語をしゃべらせる振る舞いを構築した際に作成されたbehavior.xarである(甲17)(以下,このbehavior.xarを本件behavior.xarという。)。⑹

被告の行為

被告は,遅くとも平成27年9月から,被告プログラムをウェブサイト上で提供している(甲4~6)。
3


被告プログラムは,本件発明の技術的範囲に属するか(争点1)


争点

被告プログラムは,情報管理方法(構成要件A),ノード,管理すべき情報,ノードデータ,文書ファイル,情報記憶ステップ(構成要件B),構成要件C及びDを充足するか(争点1-1)

被告プログラムは,ノード識別情報(構成要件B),親ノード識別情報(構成要件E,G),ルートノード(構成要件E),木構造,木構造表示ステップ(構成要件G)を充足するか(争点1-2)ウ
被告プログラムは,(直系)上位ノード(構成要件F),上位ノード変数データ(構成要件F,G),代入用スクリプト(構成要件F,H)を充
足するか(争点1-3)

被告プログラムは,自ノード変数データ,前記上位ノード変数データ及び前記スクリプトを表示するノードデータテーブル表示ステップ(構成要件G)を充足するか(争点1-4)

被告プログラムは,更新するステップ(構成要件H)を充足するか(争
点1-5)


本件特許は特許無効審判により無効とされるべきものか(争点2)

本件発明は本件特許出願前に頒布された刊行物である乙9(特開平6-17
5852号公報)に記載された発明(以下乙9発明という。)により新規性又は進歩性を欠くか(争点2-1)

本件発明は本件特許出願前に頒布された刊行物である乙16(特開平10-
69379号公報)に記載された発明(以下乙16発明という。)により新規性又は進歩性を欠くか(争点2-2)

本件特許は特許法36条6項1号及び同条4項1号に違反しているか(争点
2-3)



損害の発生の有無及びその額(争点3)

4
争点に対する当事者の主張


本件特許は特許法36条6項2号に違反しているか(争点2-4)
争点1(被告プログラムは,本件発明の技術的範囲に属するか)について

争点1-1(被告プログラムは,情報管理方法(構成要件A),ノード,管理すべき情報,ノードデータ,文書ファイル,情報記憶ステップ(構成要件B),構成要件C及びDを充足するか)について【原告の主張】
(ア)
構成要件B,DないしFの規定によれば,管理すべき情報は,ノード
を識別するノード識別情報に対応付けられた複数のノードデータを含む文書ファイルとしてコンピュータに記憶されるものであり,このノードデータは,
スクリプト,親ノード識別情報,自ノード変数データ,上位ノード変数データ及び木構造を表示するための情報を含むものを意味する。また,ノードは,木構造を前提とするものであるところ,ノード及び木は,数学の一分野であるグラフ理論における概念であって,木は,閉路を含まないグラフを意味し,グラフ理論におけるグラフは,ノード(頂点)と2つのノードを結ぶエッジ(辺)により構成される。よって,ノードは,ノード(頂点)と2つのノードを結ぶエッジ(辺)により構成される閉路を含まないグラフにおける頂点を意味する。
さらに,本件明細書等(以下,【】は,本件明細書等における発明の詳細な説明
の段落番号を指す。【0009】)の記載に鑑みれば,文書ファイルとは,テキストエディタ等で読むことのできるテキスト形式のファイルであり,1つの文書データを意味する。
(イ)

被告プログラムは,ボックスを接続する形で本件ロボットのソフトウェア
を実装することができる開発環境であり,別紙3-1被告プログラム説明書及び別紙4被告プログラムの構成(原告)記載のとおり,コンピュータによって情報を管理するものであるから,コンピュータが情報を管理する情報管理方法を充足する。
また,被告プログラムにおいて表示されるフローダイアグラムは,閉路を含まず,結合線により結合されたボックスで構成されるから,これらのボックスは,ノードに該当し,被告プログラムにおいてロボットの動作に関する情報がまとめられた文書ファイルであるbehavior.xar内で,ボックスに対応付けて入力されたスクリプトは,管理すべき情報及びノードデータに該当するから,被告プログラムは,ノードデータを含む文書ファイルとしてコンピュータが記憶する情報記憶ステップを有する。

さらに,被告プログラムは,文書ファイルであるbehavior.xarを読み込んで表示し,behavior.xarに含まれるスクリプトを実行するステ
ップを備えているから,構成要件C及び構成要件Dを充足する。
【被告の主張】
(ア)

本件発明の目的及び課題は,情報の更新を簡単かつ効率的に行う手段によ
り,多人数で情報を共有し,再利用することができる情報管理方法を提供することであって(【0007】,【0009】),構成要件Hが自ノード変数データの値を更新するステップと規定していることにも照らせば,管理すべき情報は,変数データの値を意味する。
よって,情報管理方法における情報及び当該情報を含む文書ファイルは,それ自体,多人数で共有し,再利用する価値のある,変数データの値を意味する。
また,複数のノードそれぞれに対応付けて入力された管理すべき情報(構成要件B)という文言によれば,ノードは,管理すべき情報を含むものであり,木構造を前提とした概念である。
(イ)

被告プログラム

被告プログラムは,別紙5被告プログラムの構成(被告)記載のとおりであり,被告プログラムが管理するbehavior.xarに含まれるのはロボットを動作させるためのプログラムコードであって,人間がこの意味を読み取り,多人数で共有して再利用するものではないから,被告プログラムには情報に該当するものが存在せず,情報管理方法,管理すべき情報,ノード及び文書ファイルを充足しない。
また,下記イのとおり,木構造は,階層構造を備えるものであるところ,被告プログラムのフローダイアグラムはプロセスを規定するものであって階層構造を備えていないから,被告プログラムにおけるボックスはノード,ノードデータ及び情報記憶ステップを充足しない。
以上によれば,被告プログラムは,情報記憶ステップ,文書ファイル及
びノードデータを前提とする構成要件C及び構成要件Dも充足しない。イ
争点1-2(被告プログラムは,ノード識別情報(構成要件B),親ノード識別情報(構成要件E,G),ルートノード(構成要件E),木構造,木構造表示ステップ(構成要件G)を充足するか)について【原告の主張】
(ア)
木構造,木構造表示ステップ

本件発明の背景技術である特許文献の記載,ノードの木構造の表示は,ラベルとリードによって行(【0044】)われること及び木はグラフ理論における概念であることに照らせば,木構造は,閉路を持たないグラフであり,ノード(点)とエッジ(線)から構成される図として表示されるものを意味し,表示に関する概念である。

(イ)

ノード識別情報,親ノード識別情報

本件明細書等の記載(【0042】,【0049】,【0054】)によれば,親子のノード間を接続するリードは階層リードと呼ばれ,階層リードは親子関係に基づいて表示されるから,親は,専ら木構造表示におけるノード間のリードの接続に関するものを意味する。
また,構成要件G及び本件明細書等の記載(【0038】,【0060】)によれば,木構造は階層ごとに表示されるから,親ノード識別情報は,階層ごとの木構造表示のために親ノードを識別する機能を有する情報を意味する。(ウ)

被告プログラム

被告プログラムは,別紙3-1被告プログラム説明書及び別紙4被告プログラムの構成(原告)記載のとおり,各ボックスに割り振られたidがフローダイアグラムにおいて木構造を表示するために親ボックスを識別する機能を有するから,ノード識別情報及び親ノード識別情報を有する。また,被告プログラムにおいて,idが-1であるrootボックスは,ルートノードに該当する。
さらに,被告プログラムは,Linkタグ内のinputowner(入力側・子)とoutputowner(出力側・親)により結合情報を認識し,これに従
ってフローダイアグラム上でボックスとボックス間の結合線で表現することによって木構造を表示しているから,親ノード識別情報を利用して木構造を表示しているといえ,木構造及び木構造表示ステップを有する。
【被告の主張】
(ア)

ノード識別情報

本件明細書等の記載(【0029】)によれば,ノード識別情報は,ノードを識別する情報であって,ノード生成時に自動的に一意の番号が付与される情報を意味する。
また,特許請求の範囲の請求項2及び9の記載並びに本件明細書等の記載(【0042】,【0049】)によれば,ノードの結合関係を表す参照リードは,親ノード識別情報に基づく階層リードと区別されているから,ノード識別情報は,ノードの結合関係を表す情報を含まないものを意味する。
(イ)

親ノード識別情報

構成要件Eは,親ノード識別情報は,ノードデータに含まれるものであると規定しているところ,本件明細書等の記載(【0036】,【0038】~【0042】,【図2】~【図4】,【図9】,【図14】)によれば,ノードデータは,ノードを示す特定の開始タグと,そのエンドタグとの間に挟まれた領域内のデータを意味する。よって,親ノード識別情報は,ノードを示す特定の開始タグと,そのエンドタグとの間に挟まれた領域内のデータに含まれるものを意
味する。
また,本件明細書等の記載(【0010】,【0013】,【0049】,【図6】,【図8】)によれば,親ノードは,木構造を前提とした概念であるところ,木構造は,基本となるルートノードから複数の要素に枝分かれをした階層構造を意味するから,親は,1つの基本となる要素から複数の要素に枝分かれ
をした階層構造によって規定される親子関係における親を意味する。(ウ)

被告プログラム

被告プログラムは,別紙5被告プログラムの構成(被告)記載のとおりであり,被告プログラムには,同一のidを有する複数のボックスデータが存在するから,idによってボックスを識別することは不可能である上,idは編集可能であって,ボックス生成時に自動的に一意の番号が付与されるものではないから,被告プログラムは,ノード識別情報を充足しない。
また,原告が親ノード識別情報であると主張するLinkタグ内の情報は,ボックス間の結合関係を表すものである上,各ボックスのBoxタグの開始タグとエンドタグとに挟まれた領域の外にあるからノードデータに当たらない。よって,被告プログラムは,ノード識別情報及び親ノード識別情報を充足しない。
加えて,被告プログラムのフローダイアグラムは,ボックスの実行順序を定めるものであるところ,Rootボックス,Set

Lauguageボックス,Sa

yボックス,Rootボックスという順序の処理の流れを定めており,Rootボックスから出てRootボックスに戻る閉路を構成しているから,階層構造は存在しないのであって,親子及び上下という概念は存在しない。よって,被告プログラムは,親ノード,親ノード識別情報,木構造及び木構造表示ステップを充足せず,これを前提としたルートノードも充足しない。ウ
争点1-3(被告プログラムは,(直系)上位ノード(構成要件F),
上位ノード変数データ(構成要件F,G),代入用スクリプト(構成要件F,H)を充足するか)について
【原告の主張】
(ア)

(直系)上位ノード,上位ノード変数データ

(直系)上位ノードとは,属する順序系列内において,当該ノードに先行するノードを意味し,構成要件F及び本件明細書等の記載(【0031】,【0032】)によれば,上位は,専ら下位ノードによるデータの承継に関するものを意味する。
また,本件明細書等の記載(【0056】,【0066】)によれば,変数データは,変数名及び変数の値の2つの要素からなるものであり,変数名のみによって特定することもできるものである。
さらに,本件明細書等の記載(【0007】)によれば,上位ノード変数データが表示されることによって,選択したノードで用いられている上位ノード変数データを容易に把握することができ,管理すべき情報の更新を,簡単かつ効率的に行うことができるのであるから,上位ノード変数データは,当該ノードの直系上位ノードのノードデータに含まれる変数データを意味する。
(イ)

代入用スクリプト

代入用スクリプトには,単純な代入処理だけでなく,数式を含んだ代入処理を行うスクリプトも含まれる。
(ウ)
a
被告プログラム
被告プログラムにおいて,別紙3-1被告プログラム説明書(図11,2
2)のとおり,Localized
t
Textボックス,Sayボックス及びSe

Languageボックスは,属する順序系列内において,Say
Text

ボックスに先行するボックスであるから,(直系)上位ノードを有し,その変数名又は変数の値は,上位ノード変数データを充足する。
b
被告プログラムが別紙4被告プログラムの構成(原告)記載の構成f(以下
被告プログラムの構成fという。)を有するとすれば,被告プログラムのLocalized
Textボックスは,直系上位ノードであるSet

Langu

ageボックスにおいて入力された,上位ノード変数データである変数langの値であるEnglishやJapaneseを利用して演算を行い,Localized

Textボックスの自ノード変数データであるHelloや

こんにちはを決定しているから,被告プログラムは代入用スクリプトを充足する。
c
また,被告プログラムが,別紙4被告プログラムの構成(原告)記載の構成
f’(以下被告プログラムの構成f’という。)を有する場合においても,被
告プログラムのSay

Textボックスは,親からの変数の取得機能を使用する

場合,直系上位ノードであるSayボックスにおいて入力された上位ノード変数データであるSpeed(%)やVoice利用して演算を行うことにより,Saysentenceに代入し,SayShaping(%)の値を
Textボックスの自ノード変数である

Textボックスの自ノード変数データであ

るsentenceの値を更新しているから,被告プログラムは代入用スクリプトを充足する。(エ)

小括

以上のとおり,被告プログラムは,(直系)上位ノード,上位ノード変数データ及び代入用スクリプトを充足する。【被告の主張】
(ア)

ノードデータ,上位ノード変数データ

構成要件Fの文言によれば,上位ノード変数データは,直系上位ノードのノードデータに含まれるものであるところ,上記イのとおり,ノードデータは,ノードを示す特定の開始タグと,そのエンドタグとの間に挟まれた領域内のデータであるから,上位ノード変数データは,直系上位ノードのノードを示す特定の開始タグと,そのエンドタグとの間に挟まれた領域内のデータに含まれる変数データを意味する。
また,上記アのとおり,本件発明は木構造を前提とするものであるから,直系上位ノードも木構造を前提とした概念であるところ,直系とは,一般に,人と人との間の血統が親子の関係で続いている系統を意味するから,直系上位ノードは,木構造を前提として,自ノードと親子関係にあり,自ノードよりもルートノードに近いノードを意味する。
さらに,構成要件Fは,上位ノード変数データを利用した演算を行って自ノード変数データの値を求めることを規定しているところ,上位ノード変数データの変数名だけでは,変数名を利用した演算を行って,自ノード変数データの
値を求めることは不可能であり,また,本件明細書等の記載(【0031】,【0032】)にも照らせば,上位ノード変数データは,変数名のみならず,変数の値を意味するか,少なくとも変数の値を含むものと解釈される。(イ)
代入用スクリプト

構成要件Dは,前記ノードデータに含まれるスクリプトと規定し,構成要件Fは,この記載を受けて前記スクリプトは…自ノード変数データの値を求める代入用スクリプトを含んでおりと規定しているから,代入用スクリプトは,自ノードのノードデータに含まれるものでなければならない。
また,本件明細書等の実施例(【0072】,【0073】)に照らせば,代入用スクリプトは,親ノード変数データの値を自ノード変数データの値として代入するスクリプトを意味する。
(ウ)
a
被告プログラム
上記イで主張したとおり,被告プログラムのフローダイアグラムにおける処
理の流れは閉路を構成し,親子,上下という概念は存在しないから,被告プログラムは,(直系)上位ノード及び上位ノード変数データを利用した演算を行って自ノード変数データの値を求める代入用スクリプトを充足しない。b
被告プログラムの構成fについてみると,変数langは,Set
Lan

guageボックスに含まれる一時変数であるが,自ノードであるSayボックス内に記載されたスクリプトには利用されておらず,また,langの値はSetLanguageボックスに記憶されていない。さらに,被告プログラムでは,Localized

Textボックスに予め記載された値であるHelloや

こんにちはという値を,Set

Languageボックスの変数データを用

いて選択しているにすぎず,自ボックスの変数に上位ボックスの変数の値を代入していないから,代入用スクリプトを充足しない。
c
被告プログラムの構成f’についてみると,被告プログラムのSayTe
xtボックスにおけるSpeed(%)及びVoiceShaping(%)は,いずれも上位ノード変数ではなく,Sayックス変数である。また,Say

Textボックスの自ボ

Textボックスが親から継承する機能に

よってSpeed(%)及びVoiceShaping(%)の値を継
承する際,Sayボックスはその継承元のボックスであるところ,SayボックスとSay

Textボックスは結合情報で結合されていないから,Sayボックス
はSay

Textボックスの上位ノードに該当しない。さらに,Speed(%)及びVoiceShaping(%)は,直系上位ノードのノード
データに含まれるものではなく,また,上位ノードのノードデータ中に変数の値を含むものではない。
これに加えて,behavior.xarには,親から継承する機能を実行するスクリプトは存在しないから,被告プログラムは,自ノードのノードデータに含まれる代入用スクリプトに利用され,代入用スクリプトが親ノード変数データの値を自ノード変数データの値として代入するスクリプトという構成が存在しない。(エ)

以上によれば,被告プログラムは,(直系)上位ノード,上位ノード変数データ及び代入用スクリプトを充足しない。エ
争点1-4(被告プログラムは,自ノード変数データ,前記上位ノード変数データ及び前記スクリプトを表示するノードデータテーブル表示ステップ(構成要件G)を充足するか)について
【原告の主張】
(ア)

本件明細書等の記載(【0046】)によれば,デザインテーブル20は,ツリービューア10に表示されたノードのうちの選択されたノードが有する情報を表示する領域であるから,テーブル(構成要件G)は情報を表示する領域を意味する。
(イ)
a
被告プログラム
スクリプト

被告プログラムのフローダイアグラム画面上でボックスを選択してダブルクリッ
クすると,別紙3-1被告プログラム説明書(図14)のとおり,当該ボックスに対応して管理されているスクリプトをスクリプトエディタによって表示することができるから,被告プログラムはスクリプトを表示するノードデータテーブル表示ステップを充足する。b
自ノード変数データ

被告プログラムのフローダイアグラム画面上でボックスを選択してクリックすると,別紙3-1被告プログラム説明書(図15,16)のとおり,右下に区分けされたインスペクタという名称のウィンドウ(以下インスペクタという。)に,自ノード変数データである当該ボックスの変数名が表示されるから,被告プログラムは,自ノード変数データを表示するノードデータテーブル表示ステップを充足する。
c
別紙4被告プログラムの構成(原告)記載の構成g(以下被告プログラムの構成gという。)における上位ノード変数データ被告プログラムのインスペクタには,当該ボックスが有している入力コネクタの変数名も表示されるところ,入力コネクタには,アプリケーションを実行した際に直近の親ボックスから引き渡される値が書き込まれる。また,インスペクタ上のアイコンをクリックすると,当該ボックスのコネクタや変数の追加,名称やタイプ等の編集,削除をすることができる。例えば,被告プログラムでは,Saytボックスの変数であるpは,Say

Tex

Textボックスの入力コネクタ”onI

nput_onStart()”という関数の構成要素であり,直系上位ノードであるLocalized

Textボックスの出力コネクタonStopped

(Self,sentences[sDefaultLang])から出力された値を受け取る,コネクタの内部領域である。この入力コネクタの内部領域pには,アプリケーションを実行した際に,Localized
Textボックスから引き

渡される値が書き込まれる。
よって,入力コネクタは,親ボックスから引き渡される値を記憶する内部領域を
保持する変数であるといえるから,入力コネクタの名称は,上位ノード変数データに該当する。したがって,被告プログラムは,上位ノード変数データを表示するノードデータテーブル表示ステップを充足する。d
別紙4被告プログラムの構成(原告)記載の構成g’(以下被告プログラムの構成g’という。)における上位ノード変数データ被告プログラムのSay

Textボックスのスクリプトエディタにおいて親か

らの変数の取得機能を使う場合,上位ノードであるSayボックスの変数から利用可能なものを一覧表示する機能があるから,被告プログラムは,上位ノード変数データを表示するノードデータテーブル表示ステップを充足する。e
なお,本件発明において,インスペクタとスクリプトエディタを同時に表示
する必要はないが,被告プログラムにおいては,スクリプトエディタをインスペクタと同時に表示することも可能であるから,被告プログラムはノードデータテーブル表示ステップを充足する。(ウ)
小括

以上によれば,被告プログラムは,自ノード変数データ,前記上位ノード変数データ及び前記スクリプトを表示するノードデータテーブル表示ステップを充足する。
【被告の主張】
(ア)

テーブルは表を意味することや,本件明細書等の記載(【0065】,
【0066】,【0057】,【図6】,【図9】,【図10】,【図13】)によれば,ノードデータテーブル表示ステップは,変数名と変数の値とを表形式で表示するステップを意味し,また,自ノード変数データ,上位ノード変数データ,並びに当該自ノード変数データ及び上位ノード変数データを用いた代入用スクリプトを,全て同時に表示するものを意味する。

(イ)

被告プログラムの構成g

原告は,インスペクタに表示される入力コネクタの名称が上位ノード変数データに該当すると主張するが,入力コネクタの名称は,コネクタ名であって変数ではない上,変数の値を含まないから,上位ノード変数データに当たらない。また,Say

Textボックスのpは,自ボックス関数の引数であって上位ノード
変数ではなく,一時変数であり,その値はSay
Textボックスに記憶されて

おらず,被告プログラムにおいてpの値を表示することはできないから,上位ノード変数データに当たらない。よって,被告プログラムは,上位ノード変数データを表示するノードデータテーブル表示ステップを充足しない。(ウ)

被告プログラムの構成g’

被告プログラムにおいて,親からの変数を取得機能によって表示されるのは,変数名にとどまり,変数の値は表示されないから,親からの変数を取得機能による表示は上位ノード変数データに当たらない。よって,被告プログラムは,上位ノード変数データを表示するノードデータテーブル表示ステップを充足しない。
(エ)

小括

以上によれば,被告プログラムは,自ノード変数データ,前記上位ノード変数データ及び前記スクリプトを表示するノードデータテーブル表示ステップを充足しない。

争点1-5(被告プログラムは,更新するステップ(構成要件H)を充
足するか)について
【原告の主張】
更新とは,文書ファイルを変更するか否かに関わらず,自ノード変数データの値を更新することを意味し,更新するステップは,このような意味での更新を行うステップを意味する。被告プログラムでは,別紙3-1被告プログラム説明書記載のとおり,Say
Textボックスの自ノード変数であるsentenceの値が,代入用スクリプトの実行によって導かれるところ,sentenceの値は,直系上位ノードであ
るSayボックスのSpeed(%)及びVoice(%)の値の設定や,Setzed

Shaping

Languageで設定した言語,Locali

Textで言語に対応して入力されるあいさつ文に応じて更新されるから,
被告プログラムは,更新するステップを充足する。
以上のとおり,被告プログラムは,構成要件AないしHを充足するから,これを
前提とする構成要件Iを充足し,本件発明の技術的範囲に属する。【被告の主張】
構成要件B,C及びG並びに本件明細書等の記載(【0043】,【0064】,【0067】,【0073】,【図10】)に照らせば,更新ステップにおいては,文書ファイルに含まれる自ノード変数データが変更される必要がある。しかしながら,被告プログラムにおいては,スクリプトの実行によりbehavior.xarの値が変更されることはないから,被告プログラムは,更新するステップを充足しない。以上のとおり,被告プログラムは,構成要件AないしHを充足しないから,これ
を前提とする構成要件Iを充足せず,本件発明の技術的範囲に属しない。⑵

争点2(本件特許は特許無効審判により無効とされるべきものか)について

争点2-1(本件発明は乙9発明により新規性又は進歩性を欠くか)につい

【被告の主張】
本件発明は,以下のとおり,乙9発明と同一であるか,何らかの相違点があるとしても,当業者が出願時の技術常識を用いて容易に想到できたから,新規性又は進歩性を欠き,本件発明に係る本件特許には,特許法29条1項3号又は同条2項に違反する無効理由(同法123条1項2号)がある。
(ア)

a
新規性
相違点

本件発明と乙9発明には,以下の相違点が一応存在し,その余の点において一致
する。
(a)

本件発明では,情報が文書ファイルとしてコンピュータに記憶されるのに
対して,乙9発明では,知識が文書ファイルとしてコンピュータに記憶されるものであるかが明示されていない点(相違点1-1)。
(b)

本件発明では,スクリプトがノードデータに含まれているのに対して,乙
9発明では,スクリプトがノードデータに含まれているかが明示されていない点(相違点1-2)。
(c)

本件発明では,ノードデータテーブル表示ステップがスクリプトを表示す
るものであるのに対して,乙9発明では,属性値表示ステップがスクリプトを表示するものであるかが明示されていない点(相違点1-3)。
b
検討

当業者の技術常識を参酌すれば,乙9発明の公報には相違点1-1ないし1-3に係る構成が記載されているに等しく,相違点1ないし3は実質的相違点ではないから,新規性を欠く。
(イ)

進歩性

仮に相違点1-1ないし1-3が実質的相違点であるとしても,これらに係る構成を採用することは当業者が周知技術(乙10から15)を適用して適宜なし得る設計事項にすぎないから,進歩性を欠く。
【原告の主張】
乙9発明は,本件発明における情報と乙9発明における知識が異なるなどの理由から,構成要件AないしHに相当する構成を備えていないから,本件発明と同一の発明ということはできず,また,本件発明と乙9発明は,利用場面が異なる上,課題が共通しておらず,その構成も全く異なるものであるから,相違点について容易想到ということもできない。よって,本件発明は乙9により新規性及び進
歩性を欠くということはできない。

争点2-2(本件発明は乙16発明により新規性又は進歩性を欠くか)につ
いて
【被告の主張】
本件発明は,充足論における原告の主張を前提とすれば,乙16発明と同一であるか,何らかの相違点があるとしても,当業者が出願時の技術常識を用いて容易に想到できたから,新規性又は進歩性を欠き,本件発明に係る本件特許には,特許法29条1項3号又は同条2項に違反する無効理由(同法123条1項2号)がある。【原告の主張】
乙16発明には,機能ブロックに包含されるプログラムコードに機能ブロックの物理名称が含まれる構成が開示されていないなど,本件発明との間に数多くの相違
点が存在し,その相違点が既存の技術常識又は設計事項であると認めることはできないから,本件発明は乙16により新規性及び進歩性を欠くということはできない。ウ
争点2-3(本件特許は特許法36条6項1号及び同条4項1号に違反して
いるか)について
【被告の主張】
本件発明が,文書ファイルの変更を伴わない態様を含むものであるという原告の主張を前提にすると,多人数で情報を共有し再利用することができる情報管理方法を提供するという本件発明の課題を解決することができない態様を発明の範囲に含むことになる。
また,本件発明は,代入用スクリプトを用いて情報を更新するものであり,代
入用スクリプト自体を更新することはできないものであるところ,管理すべき情報にはスクリプトが含まれるという原告の主張を前提にすると,管理すべき情報の更新を簡単かつ効率的に行うという本件発明の課題を解決することができない態様を含むことになる。
よって,本件特許は,サポート要件(特許法36条6項1号)及び実施可能要
件(特許法36条4項1号)に違反する。
【原告の主張】

争う。
本件発明は,スクリプトを用いて情報を更新することを目的としているが,文書ファイルを書き換えることを目的としていない。また,本件発明においては代入用スクリプトを含む管理すべき情報が更新されるという被告の主張は,その前提自体が誤っている。

争点2-4(本件特許は特許法36条6項2号に違反しているか)について
【被告の主張】
本件発明に規定される文書ファイル及び情報は,その意味が極めて多義的である上,本件明細書等に定義規定が置かれておらず,発明の外縁が著しく不明確であるから,本件特許は,明確性要件(特許法36条6項2号)に違反する。
【原告の主張】
争う。本件明細書等の記載や当業者の技術常識を基礎とすれば,文書ファイル及び情報は,不明確であるということはできない。


争点3(損害の発生の有無及びその額)について

【原告の主張】

被告は,被告プログラム及び被告プログラムによって作成したアプリケーシ
ョンを使用することができる本件ロボットを販売している。

本件ロボットの売上は,被告の売上(平成27年4月1日から平成29年3
月31日までの売上の合計は,77億5900万円)のうちの60%に相当する金額である。
また,被告プログラムは,ロボット購入の強い動機となっているから,本件ロボットの売上に対する本件特許権の寄与度は50%である。
さらに,本件におけるライセンス料率は,被告プログラムの態様が本件発明の実
施例と極めて似ていることや,同分野のプログラムに関するロイヤルティ料率の相場を考慮すれば,15%を下回らない。


以上によれば,被告の不法行為によって平成27年6月1日から平成29年
3月31日までの間に原告に生じた本件特許権のライセンス料(特許法102条3項)に相当する損害額は,77億5900万円×60%×50%×15%=3億4915万5000円である。

よって,原告は,被告に対して,民法709条の不法行為による損害賠償請
求権に基づいて,3億4915万5000円及びこれに対する不法行為後の日である平成29年10月18日(訴状送達の日の翌日)から支払済みまでの民法所定年5分の割合による遅延損害金の支払を求める。
【被告の主張】
争う。なお,被告プログラムは,公開以来,誰でも無償でダウンロード可能である。
第3

当裁判所の判断

1

本件発明の意義について
本件明細書等の発明の詳細な説明の記載

本件明細書等の発明の詳細な説明は,別紙2特許公報(甲3)の該当欄記載のとおりであるが,概要,次のとおりである。

技術分野

【0001】本発明は,コンピュータを用いて情報を管理する情報管理方法,情報管理プログラム,及び情報管理装置に関する。


背景技術

【0002】コンピュータを用いて各種情報の管理を行う場合,それぞれの情報を記憶したファイル(文書ファイル,画像ファイル等)を,所定のフォルダに保管することによって行うのが一般的である。しかし,作成したフォルダの構造及びそれぞれのフォルダに保管するファイルの種類等は,任意であってフォルダの作成者に依存するため,作成者以外の者が必要な情報に適確にアクセスすることは,必ずしも簡単ではない。すなわち,多数の者が情報を共有化し,再利用できるように,情報管理を行うことは容易ではない。【0003】特許文献1には,情報の共有化,再利用を効率よく実現することができる文書情報管理システムが記載されている。この文書情報管理システムは,案件(プロジェクト)毎にツリーを作成して表示し,作成した文書ファイルを,表示されたツリーの任意のノードに付随させて,サーバコンピュータに保管するものである。【0004】また,異なる計算機やアプリケーションで共通に取扱うことができるデータ形式として,XML(ExtensibleMarkupLanguage)等の構造化文書規格があるが,特許文献2には,このような構造化文書を木構造として捉えて処理する構造化文書処理システムが記載されている。ウ
発明が解決しようとする課題

【0005】しかし,管理される各種情報の更新については,上記した管理システムにおいても,効率化が十分図られているとはいえない。すなわち,木構造のノードに含まれる情報は,相互に関連するものが多いが,上記した管理システムにおいては,それぞれの文書の該当する部分を個別に更新する必要があり,十分効率的とはいえない。

【0007】本発明は,上記事情に鑑みなされたもので,管理すべき情報の更新を,簡単かつ効率的に行うことができる情報管理情報を提供することを目的とする。

なお,弁論の全趣旨によれば,情報管理情報は,情報管理方法の誤記と
認められる。

課題を解決するための手段

【0009】本発明によれば,利用者が入力したデータに含まれるスクリプトを利用して,ノードデータを更新することができるので,管理すべき情報の更新を,簡単かつ効率的に行うことができる。また,複数のノードデータを含む1つの文書データを用いて,個々の業務や案件に関する情報を管理しているので,多数の利用者による情報の共有化,再利用を,簡単かつ効率的に行うことができるとともに,文書データに基づいて,簡単にノードの木構造を表示させることができ,業務や案件全体の把握を簡単に行うことができる。さらに,表示された木構造の個々のノードに対応付けられた詳細情報を簡単に表示することができる。

発明の効果

【0024】以上の説明から明らかなように,本発明によれば,管理すべき情報の更新を,簡単かつ効率的に行うことができる。


発明を実施するための最良の形態

【0028】図1に,ノードデータとして記憶される情報の一例を示す。記憶される情報は,ノード番号,ページ番号,親ノード番号,ノードラベル,ノード表示属性情報,変数情報,代入用スクリプト,生成用スクリプト,リンク情報を含む。【0029】ノード番号は,ノードを識別する情報であり,ノード生成時に自動的に一意の番号が付与される。ページ番号は,文書に含まれるノードを複数の木構造として表示するためのもので,そのノードが所属するページを識別する所属ページ番号に,そのノードが別のページを形成する場合にそのページを識別する自己ページ番号を含む。したがって,両方のページ番号が記憶されているノードは,2つのページに属することになる。親ノード番号は,そのノードの親ノードを識別する番号であり,ノード生成時に親ノードを指定することにより,その指定された親ノードのノード番号が自動的に記憶される。【0031】変数情報は,各ノードが保持するデータであって,変数名に対応させて記憶される。記憶される変数は,下位ノードから参照される公開変数と,自ノード内でのみ使用する限定変数を含む。また,変数の値(「変数データと記述する場合もある。)は,固定値が設定されても,スクリプトの実行によって演算された値が設定されてもよい。また,URLが設定されてもよい。どのような値が設定されるかは任意である。
【0032】

代入用スクリプトは,自ノードの変数の値を演算するためのものである。代入用スクリプトは,自ノードの変数の値である自ノード変数データと,そのノードの直系上位ノードの公開変数の値である上位ノード変数データを利用して記述することが可能である。」
【0034】なお,代入用スクリプト及び生成用スクリプトに使用する言語としては,スクリプト言語として使用されている任意の言語を使用することができる。【0035】リンク情報は,各ノードにリンクするファイルに関する情報である。スタンドアローン型のコンピュータで実施する場合,この情報はリンクファイルのインデックス情報である。また,クライアント-サーバ型のコンピュータで実施する場合,リンクファイルをサーバに転送後,インデックス情報を作成し,記憶する。リンク情報を記憶することにより,各ノードをフォルダとして利用することが可能となる。【0036】ノードデータは,例えばタグ付き文書情報として記憶される。図2に,ノードデータの一例を示す。図2のデータは,ルートノードのノードデータの例であり,ノード番号(nodeNo)が「3450,自己ページ番号(ownPageNo)が10,ノード
ラベル(label)がパッセル操作マニュアルである。所属ページ番号を示す(belongPageNo)が0,親ノード番号を示す(parentNodeNo)が0であることで,ルートノードであることを示している。図2のx=”100”からcolor=”0”までは,ノードの表示位置等のノード表示属性情報である。【0037】
この形式では,変数情報が,の間に挿入され,代入用スクリプトが,の間に挿入され,生成用スクリプトが,の間に,リンク情報が,
の間に挿入される。ただし,図2の例では,変数情報,代入用スクリプト,生成用スクリプトは,記憶されていない。
【0038】
図3に,ノードデータの別の例を示す。図3のデータは,ルートノード以外のノ
ードデータの例である。所属ページ番号が3484,親ノード番号が3488となっており,ルートノード以外のノードのノードデータであることが把握できる。また,自己ページ番号が3526となっていることから,別ページの木構造の先頭ノードであることも把握できる。
【0039】

図4に,管理すべきデータを複数のノードデータを含む文書情報として記憶させたものの一例を示す。図4の文書は,ヘッダ部40,ノードデータ部41a~41n,ライン部42,レポート部43を備える。」
【0041】ノードデータ部41aは,ルートノードのノードデータを示し,ノードデータ部41b~41nは,ルートノード以外のノードのノードデータである。【0042】ライン部42は,ノード間を接続するリードを定義する情報が記憶される領域である。ノード間を接続するリードは,親子のノード間を接続する階層リードと,階層関係とは無関係に一時的に変数を参照する参照元ノードと参照先ノード間を接続する参照リードがあるが,ライン部42は,参照リードの存在及び,位置,表示属性等を規定する。【0043】次に,記憶された文書情報の表示について説明する。図5に,文書情報の表示を行う場合の概略動作フローを示し,図4に示す文書の表示を行った場合の表示画面の例を図6に示す。【0044】図6の表示画面は,ツリービューア10とデザインテーブル20を有する。ツリービューア10は,ノードの木構造を表示する領域であり,情報管理時の各種操作を行うためのプルダウンメニュー,及びポップアップメニューを表示する領域も兼ねる。ノードの木構造の表示は,ラベルとリードの表示によって行い,図6の例では,ルートノードのラベル表示11aとルートノード以外のノードのラベル表示11b,11c,11dと,それらの間を接続する階層リード12b,12c,12dが表示されている。【0046】デザインテーブル20は,ツリービューア10に表示されたノードのうちの選択されたノードが有する情報を表示する領域であり,公開変数表示領域21,限定変数表示領域22,代入用スクリプト表示領域23,生成用スクリプト表示領域24,操作ボタン表示領域21a,22a,20aを有する。操作ボタン表示領域21aの各操作ボタンは,公開変数に対する各種操作を行うためのものであり,操作ボタン表示領域22aの各操作ボタンは,限定変数に対する各種操作を行うためのものである。また,操作ボタン表示領域20aの各操作ボタンは,デザインテーブル20に関する各種操作を行うためのものである。
【0049】次いで,ステップS103で認識したノードのラベル表示を行う(ステップS104)。ラベル表示は,そのノードのノードラベル及びノード表示属性情報に基づいて表示する。そして,表示したノードの親子関係に基づいて階層リードを表示し,さらに,文書のライン部42の情報を参考にして,参照リードを表示する(ステップS105)。【0050】この状態では,ツリービューア10に木構造が表示された状態である。ステップS106では,ツリービューア10に表示されたノードが選択されたかどうかを判定し,選択されている場合,デザインテーブル20の表示を行い(ステップS107),そのノードの変数,スクリプト等を表示する(ステップS108)。図6は,ルートノードを選択した場合の例であり,ルートノードには,変数情報等が記憶されていないので,デザインテーブル20に,データの表示はない。この状態で,別のノードを選択すると,そのノードの変数等が表示される。
【0054】図6に示した状態で,表示された木構造及びノードデータの編集が可能であり,編集操作に対応した表示を行う(ステップS109)。ツリービューア10上では,ノードの追加,削除,表示位置移動,表示属性変更,ノードラベル変更等を,プルダウンメニュー,ポップアップメニューの設定により行う。例えば,表示位置の変更は,ラベル表示をドラッグすることによって行い,ノードラベル及び表示属性の変更は,変更用のウィンドウを表示させて行う。また,ノードの削除は,削除したいノードを選択した状態で,メニューを表示させて削除する。ノードの追加は,メニューで追加モードに設定後,追加したいノードの親となるノードを選択し,そのままドラッグすることにより,新規ノードを生成する。また,ノードの繋ぎ換えは,繋ぎ換えたいノードを選択し,メニューを表示させて「ノード繋ぎ換えを選択し,変更したい繋ぎ先のノード(親ノードとしたいノード)を選択することによって行
う。生成されたノードのノードラベル,表示属性情報は,修正用のウィンドウを表示させて設定する。
【0055】
それぞれのノードに関するデータは,ノードデータとして1まとまりになっているので,これらの編集を行った場合でも,編集を行ったノードのノードデータに反映させるだけでよく,軽い処理負担で編集作業を行うことができる。」【0057】代入用スクリプト及び生成用スクリプトは,公開変数領域21および限定変数領域22に表示された変数を利用して作成する。公開変数領域21には,自ノードの公開変数だけでなく,直系上位のすべてのノードの公開変数が表示される。直系上位のノード以外のノードの変数を参照したい場合は,参照リードを生成して,参照先のノードと関連付けておく。代入用スクリプト及び生成用スクリプトは代入用スクリプト領域23及び生成用スクリプト領域24に直接入力してもよいし,別のウィンドウを開いて入力するようにしてもよい。【0058】なお,デザインテーブル20の編集内容は,領域20aの更新ボタンを押すことによって,文書情報に反映される。【0063】続いて,ノードデータに含まれる変数情報,代入用スクリプト,生成用スクリプトについて,部品管理を例に説明する。図8は,部品管理に適用した場合の木構造の一例を示す図である。図8の木構造は,製品番号「990070,品名MW-70の製品の部品管理に適用したもので,製品は,fore,center,bone,backの部分からなり,さらにそれぞれの部分が,複数の部品から構成されることを示している。ただし,図8では,部分foreの部品のみを記載し,
他の部分については,省略してある。
【0064】

図8から明らかなように,部分foreは,3つのMW70巾木(表)と3つのMW70パネル(表)から構成される。図9に,1つの部品MW70巾木(表)に対応するノード(図8では,便宜的に右肩に*を付してある。)のノードデータの一部を示し,図10に,そのノードが選択された場合の公開変数表示領域21の表示例を・・・示す。
【0065】
公開変数表示領域に表示される公開変数は,自ノードの公開変数51と,直系上位ノードの公開変数52を含み,直系上位のノードの公開変数52は,自ノードの公開変数51と異なる色で表示される(図10では,フォントを変えて示してあ
る。)。また,公開変数には,固定値が入力される公開変数と,代入用スクリプトの実行によって計算される公開変数があり,修飾領域になしあるいは要計算を表示することによりに区別される。【0066】
要計算の公開変数の値は,後述するように代入用スクリプトが実行されるまでは
空欄であり,図9及び図10は,代入用スクリプト実行前の状態を示している。なお,直系上位ノードに要計算の公開変数が含まれ,その公開変数の値が代入スクリプトの実行前で定まっていない場合,その公開変数は,下位ノードの公開変数領域21に表示されない。すなわち,他のノードからの参照が一時停止される。【0067】

代入用スクリプト及び生成用スクリプトは,操作ボタン表示領域20aの評価ボタンを押すことにより実行される。」【0072】次に,代入用スクリプト及び生成用スクリプトの具体例を,図8の「*を付したノードをターゲットノードとして説明する。図9に示すように,ターゲットノー
ドは,要計算の公開変数として,スライス数と色を有しており,代入用スクリプトとして,スライス数=同一面数;と色=同一面数を有している。
評価前は,図10に示すように,公開変数スライス数と色の値は空欄となっている。
【0073】
この状態で,このノードを選択し,評価ボタンを押し,評価条件として代入用スクリプトの実行を設定すると,記憶された代入用スクリプトを実行する。したがって,公開変数スライス数の値は,上位ノードの公開変数である同一面数の値1となり,公開変数色の値は,同様に上位ノードの公開変数である巾木色の値F-205となる。代入用スクリプト実行後のデザインテーブルの公開変数表示領域21の表示例を,図13に示す。

【0074】
ターゲットノードは,生成用スクリプトも有しているので,評価ボタンを押し,評価条件として生成用スクリプトの実行を設定すると,条件文によって選択された辞書ノードを参照し,新規ノードを生成する。この例では,辞書コードC07000400000000001の辞書ノードが参照され,ノードラベル巾木(ST)の
ノードが生成される。」
【0076】図14に示す辞書ノードのノードデータは,ノード番号及びノード表示属性情報位置を含んでいるが,ノード番号は,生成後のノードにおいては書き換えられる。また,ノード表示属性情報のうち,表示位置に関する情報は,予め生成元のノードの表示位置に対する相対位置を示すものとして利用してもよいし,生成時に生成元のノードの表示位置に応じて生成するようにしてもよい。⑵

本件発明の概要

以上の本件明細書等の発明の詳細な説明の記載並びに本件特許の請求項1及び14の記載によれば,本件発明の概要は,次のとおりであると認められる。ア
本件発明は,コンピュータを用いて情報を管理する情報管理方法,情報管理
プログラム,及び情報管理装置に関する(【0001】)。


従来,コンピュータを用いて各種情報の管理を行う場合に,多数の者が情報
を効率よく共有化及び再利用できるシステムとして,木構造を用いた情報管理システムが存在した(【0002】~【0004】)が,情報の更新を行う場合には,それぞれの文書の該当箇所を個別に更新する必要があったため,相互に関連する情報の更新を効率的に行うことが課題であった(【0005】)ところ,本件発明は,代入用スクリプトを利用してデータを更新する構成を採用し(【0009】,【0032】),管理すべき情報の更新を,簡単かつ効率的に行うことができる(【0024】)ようにしたものである。
2
争点1(被告プログラムは,本件発明の技術的範囲に属するか)について


争点1-2(被告プログラムは,ノード識別情報(構成要件B),親ノード識別情報(構成要件E,G),ルートノード(構成要件E),木構造,木構造表示ステップ(構成要件G)を充足するか)についてア
木構造及び親ノードの意義

ノード識別情報,親ノード識別情報,ルートノード,木構造及
び木構造表示ステップの各文言のうち,まず,木構造及び親ノード識別情報における親ノードの意義について検討する。木構造,親ノードとの文言は,文言のみから一義的にその意義を明らかにすることができないことから,本件明細書等の発明の詳細な説明の内容を考慮して検討する必要があるところ,まず,木構造についてみると,本件明細書等の
記載(【0042】,【0044】,【図6】,【図8】,【図16】),証拠(甲14)及び弁論の全趣旨によれば,木構造は,ノードを表示するラベルとラベル間を接続する結合線であるリードから構成される図として表現される表示に関する概念であって,基本となる要素,すなわちルートから複数の要素に枝分かれをした階層構造を意味し,閉路を含まないものと解するのが一般的かつ合理的であ
る。また,親ノードについてみると,本件明細書等の親子のノード間を接続する階層リード(【0042】),ノードの親子関係に基づいて階層リードを表示(【0049】)及び繋ぎ先のノード(親ノードとしたいノード)(【0054】)という記載を踏まえれば,親は,木構造の表示におけるノード間のリードの接続に関する概念であり,親ノードは,あるノードに対して,当該ノードが属する階層内において当該ノードに直近して先行するノードを意味すると解するのが自然かつ合理的である。木構造の意義に関して本件明細書等にこれに反する記載は見当たらず,その他,同文言の意義を示す証拠もない。そして,本件明細書等の記載(【0042】)によれば,本件発明では,一時的に変数を参照する参照元ノードと参照先ノードを含み得るものであり,この参照元ノードと参照先ノードの関係は,参照元ノードから出発して参照先ノードを通って
参照元ノードに戻る閉路を示すものと推認されるが,これらは,階層関係とは無関係であることが示されている。このことと,前記の木構造及び親ノードの意義についての検討を踏まえれば,階層リードで接続され,ノードの親子関係が示されている部分は木構造であることが前提とされていると認められる。イ
被告プログラムについての事実認定

前記第2,2(前提事実)⑸,証拠(甲7,17,22)及び弁論の全趣旨によれば,被告プログラムについて,次の事実が認められる。
(ア)

被告プログラムを起動して本件ロボットの振る舞いを構築する際に用いる
ボックスは,ボックスとして囲まれている範囲内にSayなどとしてボックスの名前が表示され,また,左側に,シグナルやデータを受け取るための入力コネクタが設けられ,右側に,ボックスからのデータや終了を示すシグナルを出力するための出力コネクタが設けられており,これらの,ボックスの名前,入力コネクタ又は出力コネクタは,ボックスの構成要素である。入力コネクタ又は出力コネクタには,複数の種類があるが,onStartと呼ばれる入力コネクタは,ここにシグナルが送られると,ボックスが開始状態になることを意味するコネクタであり
(以下,この入力コネクタをonStartコネクタという。),onStoppedと呼ばれる出力コネクタは,ここからシグナルが送られた場合,ボッ
クスが停止したことを意味するコネクタである(以下,この出力コネクタをonStoppedコネクタという。)。(イ)

本件ロボットにこんにちはを意味する単語をしゃべらせる振る舞いを
構築した際に作成されたbehavior.xarが本件behavior.xarであり,この内容をフローダイアグラムとして示したものが別紙6フローダイアグラム目録記載の図1ないし図3(以下,別紙6の図1などという。)である。別紙6の図1及び図2に示された行番号やコネクタの説明は,本件behavior.xarの行番号ないしボックスの名前をSayとするボックス(以下,個々のボックスについて,ボックスの名前を付してSayボックスなどとい
う。)のonStartコネクタ及びonStoppedコネクタを示している。本件behavior.xarで記述されるSayボックスは,別紙6の図1のとおり位置付けられているところ,SayボックスのonStartコネクタより後のフローダイアグラムは,別紙6の図2のとおりであり,リードで接続される順に,①SayボックスのonStartコネクタ,②Localized
tボックス,③Say

Tex

Textボックス,④SayボックスのonStoppe
dコネクタとなっている。

検討

そこで,被告プログラムが木構造を有するか,すなわち,被告プログラムを使用して表示されるフローダイアグラムの親子関係が示されている部分が木構造であるかについて検討する。原告は,前記イ(イ)の①から④までのSayボックスの接続関係について,木構造,すなわち階層リードで接続され,ノードの親子関係が示されている部分であると主張するのでこれをみると,前記イ(イ)のとおり,Sayボックスについて,SayボックスのonStartコネクタから出発して,SayボックスのonSt
oppedコネクタに接続されているのであり,SayボックスのonStartコネクタ及びonStoppedコネクタは,いずれも,Sayボックスの構成要
素である以上,Sayボックスのフローダイアグラムにおけるボックスの接続関係は,Sayボックスから出発してSayボックスに戻る閉路として表示されていることになり,木構造であるとはいえない。
その他,階層リードで接続され,ノードの親子関係が示されている部分が全て木構造であることを認めるに足りる証拠もない。
そうであれば,被告プログラムは,木構造を有しているとはいえず,したがって,木構造表示ステップ(構成要件G)を充足しないというべきである。エ(ア)

この点,原告は,木構造の意義について,ノード(点)とエッジ

(線)から構成される図として表示されるものであって,閉路を含まない概念であるとした上で,前記イ(イ)でみたSayボックスの構成は,閉路ではないと主張する。すなわち,被告プログラムのSayボックスのフローダイアグラムにおいて,③Say

Textボックスの出力コネクタから①Sayボックスの入力コネクタ
に直接リードが接続されている場合には,SayボックスからSayボックスに戻る閉路であるといえるが,③Say
Textボックスの出力コネクタは,④Sa

yボックスの出力コネクタに接続されており,①Sayボックスの入力コネクタと④Sayボックスの出力コネクタは異なるものとして表示されているのであるから閉路ではない旨主張する。
しかしながら,木構造はコネクタの接続関係ではなく,ノード間の接続関係を表示するものであり,被告プログラムにおいて,それはボックス間の接続関係を
表示するものであるところ,別紙6の図2は,別紙6の図1に表示されたフローダイアグラムのうち,Sayボックスの構成要素を表示した図であって,前記認定のとおり,SayボックスのonStartコネクタとSayボックスのonStoppedコネクタはいずれもSayボックスの構成要素であるから,SayボックスのonStartコネクタとSayボックスのonStoppedコネクタの表
示位置が離れているとしても,Sayボックスから出発してSayボックスへ戻る接続関係がないとみることはできない。よって,原告の上記主張はその前提を欠き,
採用することができない。
(イ)

また,原告は,出力コネクタであるonStoppedは,ボックスの動
作が終了したことを示すにすぎず,Say

TextボックスのonStoppe

dコネクタから出力されたデータは,Sayボックスを経由して流れることはないから,Sayボックスのフローダイアグラムは,データの流れの観点からみても閉路ではない旨主張する。しかしながら,証拠(乙30,31)及び弁論の全趣旨によれば,Say

TextボックスのonStoppedコネクタから出力された

データは,Sayボックスを経由していることが認められるから,原告の主張はその前提を欠き,採用できない。

小括

以上のとおり,被告プログラムは,木構造表示ステップ(構成要件G)を充足しない。


争点1-4(被告プログラムは,自ノード変数データ,前記上位ノード変数データ及び前記スクリプトを表示するノードデータテーブル表示ステップ(構成要件G)を充足するか)について

ノードデータテーブル表示ステップ及びノード変数データの意義に
ついて
まず,ノードデータテーブル表示ステップの意義について検討すると,テーブルは,表,一覧表を意味するところ,本件明細書等(【0046】,【0055】,【0057】,【0065】,【0066】,【図6】,【図10】)において,ノードデータテーブルに相当するデザインテーブルは,自ノード変数データ及び全ての直系上位ノード変数データを表示する領域(【図6】における公開変数表示領域)と,代入用スクリプトを表示する領域を含む一覧表になっており,図6に示した状態で,表示された木構造及びノードデータの編集が可能であり
(【0054】),ノードデータとして1まとまりになっている(【0055】)と記載されていることにも照らせば,ノードデータテーブルとは,ノードデータの一覧表であり,上位ノード変数データ,自ノード変数データ及び代入用スクリプトを同時に表示するものと解するのが一般的かつ自然である。次に,ノードデータテーブルが表示するノード変数データの意義について検討すると,本件明細書等には,変数の値(「変数データと記述する場合もある。)」(【0031】),ノードの直系上位ノードの公開変数の値である上位ノード変数データ(【0032】)と記載されており,これと異なる解釈を導くような説明がされていることは認められないから,ノード変数データは,変数の値を意味すると解するのが自然かつ合理的である。

この点,原告は,テーブルの意義について,本件明細書等にデザインテーブル20は,ツリービューア10に表示されたノードのうちの選択されたノードが有する情報を表示する領域であり(【0046】)と記載されているから,テーブル(構成要件G)は,情報を表示する領域を意味すると主張する。しかしながら,この記載はデザインテーブルの性質を説明するものにすぎず,テーブルの意義を一般的意味より広く解釈すべきことを示唆する記載とみることはでき
ないから,原告の同主張は採用することができない。
また,原告は,ノード変数データの意義について,本件特許の請求項1及び請求項9並びに本件明細書等の記載(【0008】【0017】)には,前記自ノード変数データの値という文言があり,変数データは,変数データの値と区別して用いられているから,ノードデータテーブル表示ステップにお
いて,変数の値を表示することは必要ではなく,また,上位ノード変数データと自ノード変数データとを同時に表示することも必要ではないと主張するが,同主張は,前記認定に照らして採用することができない。

(ア)

被告プログラム
被告プログラムの構成g

まず,原告は,被告プログラムのフローダイアグラム画面上のインスペクタに表示された入力コネクタの名称が上位ノード変数データに当たると主張している
ところ,入力コネクタの名称は変数の値ではないから,上位ノード変数データに当たると認めることはできない。よって,被告プログラムは,上位ノード変数データを表示するノードデータテーブル表示ステップを充足しない。(イ)
被告プログラムの構成g’

また,原告は,被告プログラムのSay

Textボックスのスクリプトエディ

タにおいて親からの変数の取得機能を使う場合,上位ノードであるSayボックスの変数のうち利用可能なものを一覧表示させることができる機能があるから,被告プログラムは,上位ノード変数データを表示するノードデータテーブル表示ステップを充足すると主張する。この点,Say

Textボックスにおいて親からの承継を選択した場合,別紙

3-1被告プログラム説明書図19のとおり,インスペクタ上に,Saytボックスの変数Speed(%)の値が表示されるが,これはSay
Tex
Text

ボックスにおいて表示されるものであるから自ノード変数を表示しているものと認められ,上位ノード変数データを表示しているとみることはできない。よって,被告プログラムは,一覧表として自ノード変数データ及び上位ノード変数データを同時に表示しているということはできない。さらに,原告は,別紙6の図3のように,上位ノード変数と代入用スクリプトを同時に表示することができる旨主張するが,同図の表示形態を一覧表とみることはできない上,同図では,上位ノードの名称が表示されているにとどまり,上位ノー
ド変数の値が表示されていると認めることはできないから,ノード変数データを一覧表として表示しているということはできず,原告の同主張は採用することができない。
加えて,本件全証拠によっても,behavior.xar内に,親からの承継の機能に関して,自ノード変数データ及び上位ノード変数データを利用した演算を
行って自ノード変数データの値を求める代入用スクリプトがあると認めるに足りる証拠はないから,被告プログラムは,前記スクリプトを表示するノードデータテーブル表示ステップを充足すると認めることはできない。エ
以上のとおり,被告プログラムは,自ノード変数データ,前記上位ノード変数データ及び前記スクリプトを表示するノードデータテーブル表示ステップ(構成要件G)を充足しない。


小括

したがって,その余の点について判断するまでもなく,被告プログラムは本件発明の技術的範囲に属すると認めることはできない。
3
結論

以上によれば,その余の争点につき検討するまでもなく,原告の請求には理由がないから,これを棄却することとして,主文のとおり判決する。

東京地方裁判所民事第29部

裁判長裁判官
山田真紀伊藤清隆棚橋知子
裁判官
裁判官
別紙一覧

別紙1
別紙2
当事者目録
特許公報

別紙3-1

省略(42~59頁)

被告プログラム説明書
図1~26

別紙3-2

別添(75~104頁)

behavior.xarの内容

別紙4

被告プログラムの構成(原告)

別紙5

被告プログラムの構成(被告)

別紙6

フローダイアグラム目録

別添(105~109頁)

別添(114~116頁)

(別紙1)
当事者目録

原告
株式会社パッセルインテグレーション

同訴訟代理人弁護士

中村隆夫同加藤伸樹同我妻崇明被告
ソフトバンクロボティクス株式会社

同訴訟代理人弁護士

鮫島正洋同和田祐造同森下梓
トップに戻る

saiban.in