2020-011316
ソフトウェアの計測に基づいたリアルタイム報告
- 審判番号
- 2020-011316
- 法域
- 特許
- 審判種別
- 拒絶査定不服審判(拒絶査定不服の審決)
- 出願番号
- 特願2017-538572外部サイト(J-PlatPat)へ移動します
- 請求日
- 2020年08月14日
- 審決日
- 2021年12月20日
- 公報発行日
- 2022年01月28日
- 結論
- 原査定取消(特許/登録すべき)
- 当事者
- 【請求人】スプランク インコーポレイテッド
- 【請求人代理人】特許業務法人 谷・阿部特許事務所
- 分類
- P18 .121-WY (G06F)
- 条文(本文から自動抽出・参考)
- 特許法第29条第2項
- データ出所
- 審決公報(XML)
事件の表示
結論
理由
目次 ▾ 15項目
第1 手続の経緯
折りたたみ中(クリックで表示)
本願は、2015年(平成27年)9月22日(パリ条約による優先権主張外国庁受理 2014年10月8日 米国、2015年7月15日 米国、2015年7月15日 米国)を国際出願日とする出願であって、その手続の経緯は以下のとおりである。
第2 原査定の理由の概要
原査定(令和2年4月10日付け拒絶査定)の概要は以下のとおりである。
この出願の請求項1-18、21-23に係る発明は、以下の引用文献1-3に基づいて、その発明の技術の分野における通常の知識を有する者(以下「当業者」という。)が容易に発明をすることができたものであるから、特許法第29条第2項の規定により特許を受けることができない。
引用文献等一覧
1.国際公開第2014/113273号
2.国際公開第2012/046316号
3.特開2012-164369号公報(周知技術を示す文献)
第3 本願発明
本願の請求項1-23に係る発明(以下、それぞれ「本願発明1」-「本願発明23」という。)は、令和2年8月14日にされた手続補正により補正された特許請求の範囲の請求項1-23に記載された事項により特定される発明であり、そのうち「本願発明1」は、以下のとおりのものである。
【請求項1】
計測用ソフトウェアによって生成されるデータをコンピュータによって処理するための方法であって、前記コンピュータによって実行される以下のステップは、
1または複数の外部システムから、複数のデータストリームを識別する情報を受け取るステップであって、各データストリームは前記1または複数の外部システム上で動作する計測用ソフトウェアのインスタンスによって生成され、各データストリームはタプルを含み、各タプルは前記データストリームの属性の第1のセットの値を含む、該ステップと、
前記複数のデータストリームの各々を記述するメタデータを受け取るステップであって、データストリームについての前記メタデータは、属性の第2のセットを含み、前記第2のセットの各属性は、前記第1のセットとは異なる、該ステップと、
式の仕様を受け取るステップであって、前記式は前記複数のデータストリームにわたってデータを集約し、前記式は少なくとも前記第1のセットの属性および前記第2のセットの属性に基づく、該ステップと、
出力データストリームを生成するために、複数の時間間隔上で前記データストリームを使用して前記式を評価するステップであって、前記受け取られた式を分析して、該式に適用可能なデータストリームを決定し、前記データストリームは、可変の時間間隔で生成され、前記式は、前記データストリームと共に受け取られる前記第1のセットの属性と、前記メタデータの一部として指定される前記第2のセットの属性とに基づいて評価される、該ステップと
を含むことを特徴とする方法。
なお、本願発明2-23の概要は、以下のとおりである。
本願発明2-20は、本願発明1を減縮した発明である。
本願発明21は、本願発明1の方法の発明に対応するシステムの発明であり、本願発明1とはカテゴリ表現が異なるのみの発明である。
本願発明22は、コンピュータに本願発明1ないし20のいずれか1つに記載の方法を実行させることが可能な命令を有するコンピュータプログラムの発明である。
本願発明23は、本願発明22のコンピュータプログラムを記録した非一過性コンピュータ可読媒体の発明である。
第4 引用文献、引用発明等
1 引用文献1について
(1)引用文献1の記載事項
折りたたみ中(クリックで表示)
原査定の拒絶理由で引用された引用文献1には、図面とともに以下の事項が記載されている。(下線は強調のため当審で付した。引用文献2、3についても同様。)なお、当審訳は、引用文献1のファミリである特表2016-513300号公報を参考とした。
ア 「[0002] The disclosed embodiments relate generally to data processing systems,and more specifically to techniques for processing continuous event streams using variable duration windows.(当審訳:開示されている実施形態は、概してデータ処理システムに関し、より具体的には継続時間可変ウィンドウを用いて連続イベントストリームを処理するための技術に関する。(【0002】))」
イ 「[0004] A number of modern applications and systems however generate data in the form of continuous data or event streams instead of a finite data set. Examples of such applications include but are not limited to sensor data applications, financial tickers, network performance measuring tools (e.g. network monitoring and traffic management applications), clickstream analysis tools, automobile traffic monitoring, and the like. For example, a temperature sensor may be configured to send out temperature readings. Such applications have given rise to a need for a new breed of applications that can process the data streams.(当審訳:しかしながら、数多くの現代のアプリケーションおよびシステムは、データを、有限のデータ集合ではなく連続データまたはイベントストリームの形態で生成する。このようなアプリケーションの例は、センサデータアプリケーション、財務表示機、ネットワークパフォーマンス測定ツール(たとえば、ネットワークモニタリングおよびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通モニタリング等を含むが、これらに限定されない。たとえば、温度センサを、温度測定値を発信するように構成することができる。このようなアプリケーションから、データストリームを処理することが可能な新たな種類のアプリケーションの必要性が生じた。(【0004】))」
ウ 「[0039] An event stream has an associated schema "S", the schema comprising time information and a set of one or more named attributes. All events that belong to a particular event stream conform to the schema associated with that particular event stream. Accordingly, for an event stream (s, T), the event stream may have a schema 'S' as (<time_stamp>, <attribute(s)>), where <attributes> represents the data portion of the schema and can comprise one or more attributes. For example, the schema for a stock ticker event stream may comprise attributes <stock symbol>, and <stock price>. Each event received via such a stream will have a time stamp and the two attributes.(以下省略)(当審訳:イベントストリームには、関連付けられたスキーマ「S」があり、スキーマは、時間情報と、名前付きの1つ以上の属性からなる一組の属性とを含む。特定のイベントストリームに属するすべてのイベントは、この特定のイベントストリームに関連付けられたスキーマに従う。したがって、イベントストリーム(s,T)の場合、このイベントストリームは、スキーマ「S」を、(<time_stamp>,<attribute(s)>)として有し得る。<attributes>は、スキーマのデータ部分を表わし1つ以上の属性を含み得る。たとえば、株式相場表示機のイベントストリームについてのスキーマは、<株式銘柄>および<株価>という属性を含み得る。このようなストリームを介して受ける各イベントは、1つのタイムスタンプと上記2つの属性とを有する。(【0031】))」
エ 「[0040] Fig. 1 depicts a simplified high level diagram of an event processing system 100 that may incorporate an embodiment of the present invention. Event processing system 100 may comprise one or more event sources (104, 106, 108), an event processing server (EPS) 102 that is configured to provide an environment for processing event streams, and one or more event sinks (110, 112). The event sources generate event streams that are received by EPS 102. EPS 102 may receive one or more event streams from one or more event sources. For example, as shown in Fig.1, EPS 102 receives an input event stream 114 from event source 104, a second input event stream 116 from event source 106, and a third event stream 118 from event source 108. One or more event processing applications (120, 122, and 124) may be deployed on and be executed by EPS 102. An event processing application executed by EPS 102 may be configured to listen to one or more input event streams, process the events received via the one or more event streams based upon processing logic that selects one or more events from the input event streams as notable events. The notable events may then be sent to one or more event sinks (110, 112) in the form of one or more output event streams. For example, in Fig. 1, EPS 102 outputs an output event stream 126 to event sink 110, and a second output event stream 128 to event sink 112. In certain embodiments, event sources, event processing applications, and event sinks are decoupled from each other such that one can add or remove any of these components without causing changes to the other components.(当審訳:図1は、本発明の実施形態を組込み得るイベント処理システム100の簡略化された高レベルの図を示す。イベント処理システム100は、1つ以上のイベントソース(104,106,108)と、イベントストリームを処理するための環境を提供するように構成されたイベント処理サーバ(event processing server)(EPS)102と、1つ以上のイベントシンク(110,112)とを含み得る。イベントソースは、EPS102が受信するイベントストリームを生成する。EPS102は、1つ以上のイベントストリームを1つ以上のイベントソースから受信し得る。たとえば、図1に示されるように、EPS102は、入力イベントストリーム114をイベントソース104から受信し、第2の入力イベントストリーム116をイベントソース106から受信し、第3のイベントストリーム118をイベントソース108から受信する。1つ以上のイベント処理アプリケーション(120,122,および124)をEPS102に導入しEPS102によって実行してもよい。EPS102によって実行されるイベント処理アプリケーションは、1つ以上の入力イベントストリームをリッスンし、1つ以上のイベントストリームを介して受信したイベントを、入力イベントストリームから1つ以上のイベントを注目すべきイベントとして選択する処理ロジックに基づいて処理するように構成されてもよい。注目すべきイベントは次に、1つ以上の出力イベントストリームの形態で1つ以上のイベントシンク(110,112)に送信してもよい。たとえば、図1において、EPS102は、出力イベントストリーム126をイベントシンク110に出力し、第2の出力イベントストリーム128をイベントシンク112に出力する。ある実施形態において、イベントソース、イベント処理アプリケーション、およびイベントシンクは、これら構成要素のうちのいずれも、他の構成要素の変更を生じさせることなく追加または除去できるよう、互いに分離されている。(【0033】))」
オ 「[0042] An event processing application is configured to listen to one or more input event streams, execute logic (e.g., a query) for selecting one or more notable events from the one or more input event streams, and output the selected notable events to one or more event sources via one or more output event streams. Fig.1 provides a drilldown for one such event processing application 120. As shown in Fig.1, event processing application 120 is configured to listen to input event stream 118, execute a query 130 comprising logic for selecting one or more notable events from input event stream 118, and output the selected notable events via output event stream 128 to event sink 112. Examples of event sources include, without limitation, an adapter (e.g., JMS, HTTP, and file), a channel, a processor, a table, a cache, and the like. Examples of event sinks include, without limitation, an adapter (e.g., JMS, HTTP, and file), a channel, a processor, a cache, and the like.(当審訳:イベント処理アプリケーションは、1つ以上の入力イベントストリームをリッスンし、この1つ以上の入力イベントストリームから注目すべき1つ以上のイベントを選択するためにロジック(たとえばクエリ)を実行し、選択した注目すべきイベントを1つ以上の出力イベントストリームを介して1つ以上のイベントソースに出力するように構成される。図1は、1つのこのようなイベント処理アプリケーション120についてのドリルダウンを提供する。図1に示されるように、イベント処理アプリケーション120は、入力イベントストリーム118をリッスンし、入力イベントストリーム118から注目すべき1つ以上のイベントを選択するためにロジックを含むクエリ130を実行し、選択した注目すべきイベントを出力イベントストリーム128を介してイベントシンク112に出力するように構成される。イベントソースの例は、アダプタ(たとえばJMS、HTTP、およびファイル)、チャネル、プロセッサ、テーブル、キャッシュ等を含むがこれらに限定されない。イベントシンクの例は、アダプタ(たとえばJMS、HTTP、およびファイル)、チャネル、プロセッサ、キャッシュなどを含むがこれらに限定されない。(【0035】))」
カ 「[0043] Although event processing application 120 in Fig.1 is shown as listening to one input stream and outputting selected events via one output stream, this is not intended to be limiting. In alternative embodiments, an event processing application may be configured to listen to multiple input streams received from one or more event sources, select events from the monitored streams, and output the selected events via one or more output event streams to one or more event sinks. The same query can be associated with more than one event sink and with different types of event sinks.(当審訳:図1のイベント処理アプリケーション120は、1つの入力ストリームをリッスンし選択したイベントを1つの出力ストリームを介して出力するものとして示されているが、これは限定を意図したものでない。これに代わる実施形態では、イベント処理アプリケーションは、1つ以上のイベントソースから受信した複数の入力ストリームをリッスンし、モニタリングされたストリームからイベントを選択し、選択したイベントを1つ以上の出力イベントストリームを介して1つ以上のイベントシンクに出力するように構成されてもよい。同一のクエリを2つ以上のイベントシンクに関連付け異なる種類のイベントシンクに関連付けてもよい。(【0036】))」
キ 「[0045] Event-driven applications are rule-driven and these rules may be expressed in the form of continuous queries that are used to process input streams. A continuous query may comprise instructions (e.g., business logic) that identify the processing to be performed for received events including what events are to be selected as notable events and output as results of the query processing. Continuous queries may be persisted to a data store and used for processing input streams of events and generating output streams of events. Continuous queries may specify filtering and aggregation functions to discover and extract notable events from the input event streams. As a result, the number of outbound events in an output event stream is generally much lower than the number of events in the input event stream from which the events are selected.(当審訳:イベント駆動型のアプリケーションはルール駆動型であり、これらルールは、入力ストリームを処理するのに使用される連続クエリの形態で表わしてもよい。連続クエリは、クエリ処理の結果としてどのイベントを注目すべきイベントとして選択し出力すべきかということを含む、受信したイベントに対して実行すべき処理を特定する命令(たとえばビジネスロジック)を含み得る。連続クエリは、データ記憶装置まで持続させて、イベントの入力ストリームの処理およびイベントの出力ストリームの生成のために使用してもよい。連続クエリは、発見すべきフィルタリングおよび集約関数を指定し入力イベントストリームから注目すべきイベントを抽出してもよい。結果として、出力イベントストリームにおけるアウトバウンドのイベントの数は通常、イベントを選択する元になる入力イベントストリームにおけるイベントの数よりも遥かに少ない。(【0038】))」
ク 「[0046] Unlike a SQL query that is run once on a finite data set, a continuous query that has been registered by an application with EPS 102 for a particular event stream may be executed each time that an event is received in that event stream. As part of the continuous query execution, EPS 102 evaluates the received event based upon instructions specified by the continuous query to determine whether one or more events are to be selected as notable events, and output as a result of the continuous query execution.(当審訳:有限データ集合に対して一度実行されるSQLクエリと異なり、特定のイベントストリームに対してアプリケーションによりEPS102に登録された連続クエリは、このイベントストリーム内のイベントが受信される度に実行されてもよい。連続クエリ実行の一部として、EPS102は、受信したイベントを、連続クエリが指定する命令に基づいて評価することにより、1つ以上のイベントを注目すべきイベントとして選択すべきか否か決定し、連続クエリ実行の結果として出力する。(【0039】))」
ケ 「WINDOW-BASED PROCESSING[0057] As another example, an event processing application may be configured to collate and process data or events for a certain time range. For example, EPS 102 may receive a temperature event stream of events comprising a "temp" attribute and an associated time. The "temp" data may indicate the temperature at the associated time. A CQL query may be formulated for such an event stream to obtain the average temperature for the previous ten seconds. The query may be specified as follows:Select avg (temp) from temp [range 10]The above query finds the average of the "temp" data over a range of "10", where, in this example, a range of "10" indicates 10 seconds. In other embodiments, the range may be specified using other time units such as minutes, days, or any other specified time unit. The CQL query, when executed by EPS 102, evaluates tuples received in the previous ten seconds and finds the average temperature. "Expired" tuples, or those tuples that are received previous to the indicated range (i.e., outside the 10 second window) are disregarded by the query. The CQL query thus does not need to account for and store all the received events but only process events within the last 10 second window.(当審訳:ウィンドウベースの処理別の例として、イベント処理アプリケーションは、ある時間範囲のデータまたはイベントを照合し処理するように構成されてもよい。たとえば、EPS102は、「温度(temp)」属性および関連付けられた時間を含むイベントからなる温度イベントストリームを受信してもよい。「温度」データは、関連付けられた時間における温度を示してもよい。前の10秒の平均温度を得るために、CQLクエリをこのようなイベントストリーム用に構築してもよい。クエリは次のように指定してもよい。Select avg (temp) from temp [range 10]上記クエリは、「10」という範囲(range)における「温度(temp)」の平均(avg)を発見する。この例における範囲「10」は10秒を表わす。他の実施形態において、この範囲を、分、日、またはそれ以外の指定された時間単位等、他の時間単位を用いて指定してもよい。このCQLクエリは、EPS102によって実行されると、前の10秒で受信したタプルを評価し平均温度を見出す。「満了」タプル、すなわち示されている範囲よりも前に(すなわち10秒ウィンドウ外で)受信したタプルは、クエリによって無視される。したがって、CQLクエリは、受信したイベントすべてを捕えて格納する必要はなく、最新の10秒ウィンドウ内のイベントを処理するだけでよい。(【0054】、【0055】))」
(2)引用発明
(1)の上記ア、イの記載からみて、引用文献1には、アプリケーションが生成したイベントストリームを処理するための技術について記載されているところ、その実施形態としてイベントソースが生成したイベントストリームをイベント処理サーバによって処理するための方法(上記エ)に関し、次の発明(以下「引用発明」という。)が記載されているといえる。
なお、「イベント処理サーバ」とその略語である「EPS」の表記は、「イベント処理サーバ」に統一し、同じ意味の「連続クエリ」、「CQLクエリ」及び「クエリ」の表記を「連続クエリ」に統一した。
(引用発明)
イベントソースが生成したイベントストリームをイベント処理サーバによって処理するための方法(上記エ)であって、
1以上のイベントソースから、1以上のイベントストリームを受信すること(上記エ)であって、イベントストリームには、関連づけられたスキーマ「S」があり、スキーマは、時間情報と、名前付きの1つ以上の属性からなる1組の属性とを含み(上記ウ)、
特定のイベントストリームに対してアプリケーションによりイベント処理サーバに連続クエリを登録すること(上記ク)であって、連続クエリは、クエリ処理の結果としてどのイベントを注目すべきイベントとして選択し出力すべきかということを含む、受信したイベントに対して実行すべき処理を特定する命令(たとえばビジネスロジック)を含み(上記キ)、
イベントストリーム内のイベントが受信される度に連続クエリを実行すること(上記ク)であって、イベント処理アプリケーションは、連続クエリを実行し、1つ以上のイベントソースから受信した複数の入力ストリームをリッスンし、モニタリングされたストリームからイベントを選択し、選択したイベントを1つ以上の出力イベントストリームを介して1つ以上のイベントシンクに出力するように構成され(上記オ、カ)、
イベント処理サーバは「温度」属性および関連づけられた時間を含むイベントからなる温度イベントストリームを受信し、「温度データ」は、関連づけられた時間における温度を示し、前の10秒の平均温度を得るために連続クエリをこのようなイベントストリーム用に構築したものであり、連続クエリは
Select avg (temp) from temp [range 10]
と指定され、上記連続クエリは、10秒を表す「10」という範囲における「温度」の平均を見出すものであり、この連続クエリは、イベント処理サーバによって実行されると、前の10秒で受信したタプルを評価し平均温度を見出すものである(上記ケ)、
方法。
2 引用文献2の記載事項
折りたたみ中(クリックで表示)
原査定の拒絶理由で引用された引用文献2には、以下の事項が記載されている。
ア 「[0001] 本発明は、ストリームデータの処理方法及び装置に関する。」
イ 「[0017] <第一実施形態>図1は本発明の第一の実施形態における計算機システムの一構成を示すブロック図である。送信サーバ101~103はネットワーク104を介して、ストリームデータ処理システムを実行するストリームデータ処理サーバ108に接続されている。登録サーバ105はネットワーク107を介して、ストリームデータ処理サーバ108に接続されている。受信サーバ117はネットワーク116を介して、ストリームデータ処理サーバ108に接続されている。ネットワーク104、107、116は、イーサネット(登録商標)、光ファイバなどで接続されるローカルエリアネットワーク(LAN)、もしくはLANよりも低速なインターネットを含んだワイドエリアネットワーク(WAN)でも差し支えない。また、ストリームデータ処理サーバ108、送信サーバ101~103、登録サーバ105、受信サーバ117はパーソナルコンピュータ(PC)や、ブレード型の計算機システムなどの任意のコンピュータシステムで構成することができる。」
ウ 「[0022] まずユーザ204によって記述された、ストリーム及びクエリ定義206及び、データセットキー205を含む設定データは、登録サーバ105に格納され、登録サーバ105から、ストリームデータ処理サーバ108に送信される。そして、ストリームデータ処理サーバ108では、上記設定データを受信した後、クエリ登録部111のデータセットキー読込み部211において、データセットキー205からデータセット変換テーブル210及び、実行領域名参照テーブル215を生成する。またコンパイル部212において、ストリーム及びクエリ定義206をコンパイルし、実行木228を生成する。」
エ 「[0029] 図3A~図3Cは、ストリーム及びクエリ定義206に含まれるストリーム定義301、クエリ定義302と、データセットキー205の一例を示す。図3Aに示す301は、電力の「メータ」、「使用電力」、メータの「設置場所」をカラム(またはデータ項目)とする電気メータストリームの定義である。このストリーム定義301は、ストリームデータを構成する入力データ201~203に含まれる複数の項目を、ストリームデータ処理サーバ108で識別するための定義である。なお、入力データ201~203には時刻(またはタイムスタンプ)が含まれるが、本実施形態では、入力データ201~203に時刻情報が付与されていることが前提であるため、ストリーム定義301では定義を省略した。」
オ 「[図:0001380409000001.jpg]」(図2A)
カ 「[図:0001380409000002.jpg]」(図3A)
3 引用文献3の記載事項
折りたたみ中(クリックで表示)
原査定の拒絶理由で引用された引用文献3には、以下の事項が記載されている。
「【0069】(更新後の抽象化温度)={直前の抽象化温度×(総数-1)/総数+入力センサ値/総数}…(1)また、データ変換部103は、センサデータDB105に格納される抽象化センサデータを用いて、別の抽象化ルールの抽象化センサデータを求めるようにしてもよい。例えば、「○県」の抽象化センサデータを求めるようにしてもよい。この場合の計算は、例えば、「○県」内の市町村単位の抽象化センサデータを計算するというように、階層的に広範囲の抽象化センサ値を計算するようにしてもよい。これは、例えば、市町村単位、県単位のセンサデータが欲しい等の統計的なアプリケーションがある場合に特に有効である。」
第5 対比・判断
1 本願発明1について
(1)対比
本願発明1と引用発明とを対比すると、次のことがいえる。
ア 引用発明の「イベントストリーム」及び「イベント」は、それぞれ本願発明1の「データストリーム」及び「データ」に相当し、引用発明の「イベント処理サーバ」は、「イベントストリーム」、すなわちデータを処理する点で、本願発明1の「コンピュータ」に相当する。
また、第4の1(1)ア、イより、「イベントストリーム」は「アプリケーション」が生成するものといえるから、引用発明の「イベントソースが生成したイベントストリーム」は、イベントソースがアプリケーションを実行することで生成したイベントストリームであると理解できる。
したがって、引用発明の「イベントソースが生成したイベントストリームをイベント処理サーバによって処理するための方法」と、本願発明1の「計測用ソフトウェアによって生成されるデータをコンピュータによって処理するための方法」とは、「ソフトウェアによって生成されるデータをコンピュータによって処理するための方法」である点で共通し、さらに、後述の事項が「前記コンピュータによって実行される」点で共通する。
イ 引用発明の「1以上のイベントソース」は、本願発明1の「1または複数の外部のシステム」に相当する。
また、本願発明1は、「出力データストリームを生成するために、複数の時間間隔上で前記データストリームを使用して前記式を評価するステップ」を備えるから、本願発明1の「1または複数の外部システムから、複数のデータストリームを識別する情報を受け取るステップ」は、「1または複数の外部システムから、複数のデータストリームと共に複数のデータストリームを識別する情報を受け取るステップ」であると理解できる。
したがって、上記アも考慮すると、引用発明の「1以上のイベントソースから、1以上のイベントストリームを受信すること」と、本願発明1の「1または複数の外部システムから、複数のデータストリームを識別する情報を受け取るステップ」とは、引用発明の「イベントストリーム」、本願発明1の「データストリームを識別する情報」のいずれも、「データストリームの情報」といえるから、「1または複数の外部システムから、複数のデータストリームの情報を受け取るステップ」である点で共通する。
ここで、引用発明は、上記アより、イベントソースがアプリケーションを実行することでイベントストリームを生成するものであるところ、イベントストリームは、イベントソースにおいてアプリケーションを実行する主体であるインスタンスが生成したものであるということができる。したがって、引用発明は、本願発明1の「各データストリームは前記1または複数の外部システム上で動作する」「ソフトウェアのインスタンスによって生成され」る構成を有するといえる。
また、引用発明の「スキーマ「S」」及び「名前付きの1つ以上の属性からなる1組の属性」は、それぞれ本願発明1の「タプル」及び「前記データストリームの属性の第1のセットの値」に相当するから、引用発明の「イベントストリームには、関連づけられたスキーマ「S」があり、スキーマは、時間情報と、名前付きの1つ以上の属性からなる1組の属性とを含」むことは、本願発明1の「各データストリームはタプルを含み、各タプルは前記データストリームの属性の第1のセットの値を含む」ことに相当する。
ウ 引用発明は、本願発明1の「前記複数のデータストリームの各々を記述するメタデータを受け取るステップであって、データストリームについての前記メタデータは、属性の第2のセットを含み、前記第2のセットの各属性は、前記第1のセットとは異なる、該ステップ」を備えていない。
エ 引用発明の「連続クエリ」は本願発明1の「式」に相当し、引用発明の「連続クエリ」の例である「Select avg (temp) from temp [range 10]」は、本願発明1の「式の仕様」に相当する。そうすると、引用発明の「特定のイベントストリームに対してアプリケーションによりイベント処理サーバに連続クエリを登録すること」は、本願発明1の「式の仕様を受け取るステップ」に相当する。
そして、引用発明の「連続クエリ」は、「クエリ処理の結果としてどのイベントを注目すべきイベントとして選択し出力すべきかということを含む、受信したイベントに対して実行すべき処理を特定する命令(たとえばビジネスロジック)を含」むところ、引用発明の「連続クエリを実行し、1つ以上のイベントソースから受信した複数の入力ストリームをリッスンし、モニタリングされたストリームからイベントを選択し、選択したイベントを1つ以上の出力イベントストリームを介して1つ以上のイベントシンクに出力する」ことからみて、引用発明の「連続クエリ」は、本願発明1の「前記複数のデータストリームにわたってデータを集約」するものといえる。
また、引用発明の連続クエリの例である「Select avg (temp) from temp [range 10]」は、「温度」属性のイベントストリームを受信し、[range 10]は10秒を表す「10」という範囲のイベントを選択するものであるところ、「温度」属性は、イベントに含まれるから、本願発明1の「第1のセットの属性」に相当し、10秒を表す「10」という範囲は、イベントに含まれず、かつ、「温度」属性とは異なるから、本願発明1の「第1のセットの属性」とは異なる「第2のセットの属性」といえる。そうすると、引用発明の「連続クエリ」は、本願発明1の「前記式は少なくとも前記第1のセットの属性および前記第2のセットの属性に基づく」ものといえる。
オ 本願発明1で「式を評価する」ことは、本願明細書の段落【0045】の「式の値を決定すること」と理解できるから、引用発明の連続クエリの例である「Select avg (temp) from temp [range 10]」を実行し、前の10秒の平均温度を見出すことは、本願発明1の「式を評価するステップ」に相当する。
また、引用発明1の「出力イベントストリーム」は、本願発明1の「出力データストリーム」に相当する。
そうすると、引用発明の「イベントストリーム内のイベントが受信される度に連続クエリを実行することであって、イベント処理アプリケーションは、連続クエリを実行し、1つ以上のイベントソースから受信した複数の入力ストリームをリッスンし、モニタリングされたストリームからイベントを選択し、選択したイベントを1つ以上の出力イベントストリームを介して1つ以上のイベントシンクに出力するように構成」することは、本願発明1の「出力データストリームを生成するために、」「前記データストリームを使用して前記式を評価するステップ」に相当する。
ここで、引用発明が「連続クエリを実行し、1つ以上のイベントソースから受信した複数の入力ストリームをリッスンし、モニタリングされたストリームからイベントを選択」することは、例えば、「「温度」属性および関連づけられた時間を含むイベントからなる温度イベントストリームを受信」するものであって、「温度イベントストリーム」を選択することといえるから、本願発明1の「前記受け取られた式を分析して、該式に適用可能なデータストリームを決定」することに相当する。
さらに、引用発明が、連続クエリの例である「Select avg (temp) from temp [range 10]」を実行することで、「温度」属性(第1のセットの属性)のイベントのうち「[range 10]」(第2のセットの属性)、すなわち、前の10秒間のイベントを選択し、前の10秒の平均温度を見出すことは、本願発明1の「前記式は、前記データストリームと共に受け取られる前記第1のセットの属性と、」「前記第2のセットの属性とに基づいて評価される」ことに相当する。
カ 上記アないしオより、本願発明1と引用発明とは、以下の点で一致点及び相違点を有する。
<一致点>
ソフトウェアによって生成されるデータをコンピュータによって処理するための方法であって、前記コンピュータによって実行される以下のステップは、
1または複数の外部システムから、複数のデータストリームの情報を受け取るステップであって、各データストリームは前記1または複数の外部システム上で動作するソフトウェアのインスタンスによって生成され、各データストリームはタプルを含み、各タプルは前記データストリームの属性の第1のセットの値を含む、該ステップと、
式の仕様を受け取るステップであって、前記式は前記複数のデータストリームにわたってデータを集約し、前記式は少なくとも前記第1のセットの属性および前記第2のセットの属性に基づく、該ステップと、
出力データストリームを生成するために、前記データストリームを使用して前記式を評価するステップであって、前記受け取られた式を分析して、該式に適用可能なデータストリームを決定し、前記式は、前記データストリームと共に受け取られる前記第1のセットの属性と、前記第2のセットの属性とに基づいて評価される、該ステップと
を含むことを特徴とする方法。
<相違点1>
コンピュータによって処理されるデータが、本願発明1では、「計測用ソフトウェア」によって生成されたものであるのに対し、引用発明では、この点が特定されていない点。
<相違点2>
1または複数の外部システムから、受け取る「複数のデータストリームの情報」について、本願発明1では、「複数のデータストリームを識別する情報」であるのに対し、引用発明では、「複数のデータストリーム」であり、「識別する情報」とは特定されていない点。
<相違点3>
本願発明1では、「記複数のデータストリームの各々を記述するメタデータを受け取るステップであって、データストリームについての前記メタデータは、属性の第2のセットを含み、前記第2のセットの各属性は、前記第1のセットとは異なる、該ステップ」を含むのに対し、引用発明では、当該ステップは特定されておらず、第2のセットの属性に対応する「10秒を表す「10」という範囲」は、連続クエリに含まれる点。
<相違点4>
出力データストリームを生成するために、本願発明1では、「複数の時間間隔上で前記データストリームを使用」するのに対し、引用発明では、「イベントストリーム内のイベントが受信される度に連続クエリを実行する」点。
<相違点5>
本願発明1では、「前記データストリームは、可変の時間間隔で生成され」るのに対し、引用発明では、この点が特定されていない点。
<相違点6>
式を評価するステップについて、本願発明1では、「前記式は、前記データストリームと共に受け取られる前記第1のセットの属性と、前記メタデータの一部として指定される前記第2のセットの属性とに基づいて評価される」のに対し、引用発明では、連続クエリは、「前記データストリームと共に受け取られる前記第1のセットの属性」に基づいて評価されるといえるものの、「メタデータの一部として指定される前記第2のセットの属性とに基づいて評価される」ことが特定されていない点。
(2)判断
事案に鑑み、まず、関連する相違点3及び相違点6をまとめて検討する。
引用文献2には、上記第4の2の記載からみて、「登録サーバに格納され、登録サーバから、ストリームデータ処理サーバに送信されるストリーム定義は、ストリームデータを構成する入力データに含まれる複数の項目を、ストリームデータ処理サーバで識別するための定義であること。」(以下「引用文献2記載事項」という。)が記載されており、登録サーバからストリームデータ処理サーバに送信される「ストリーム定義」が本願発明1の「メタデータ」ということができるものの、ストリーム定義は、ストリームデータを構成する入力データに含まれる複数の項目を、ストリームデータ処理サーバで識別するための定義であるから、ストリームデータを構成する入力データ(属性)と異なる属性を含むものではない。
したがって、引用発明に引用文献2記載事項を適用しても、連続クエリに含まれ、連続クエリの実行に用いる「10秒を表す「10」という範囲」という属性を、メタデータに含めるものとすることまでは導出できない。
また、引用文献3の記載から、相違点3及び相違点6に係る構成を導出することができないことは、明らかである。
そして、本願発明1は、相違点3及び相違点6に係る構成を有することにより、「開発者ではないデータ分析に関する専門家は、開発プロセスに関与させられることなく、データストリームについてのメタデータを定義し、報告を生成することができる。」(段落【0030】)という効果を奏するものである。
したがって、他の相違点について検討するまでもなく、本願発明1は、引用発明と、引用文献2記載事項及び引用文献3に基づいて、当業者が容易に発明をすることができたものであるとはいえない。
2 本願発明2-20,22-23について
本願発明2-20は、本願発明1を減縮した発明であり、本願発明22は、コンピュータに本願発明1ないし20のいずれか1つに記載の方法を実行させることが可能な命令を有するコンピュータプログラムの発明であり、本願発明23は、本願発明22のコンピュータプログラムを記録した非一過性コンピュータ可読媒体の発明であって、いずれも、本願発明1の「記複数のデータストリームの各々を記述するメタデータを受け取るステップであって、データストリームについての前記メタデータは、属性の第2のセットを含み、前記第2のセットの各属性は、前記第1のセットとは異なる、該ステップ」、及び、「前記式は、前記データストリームと共に受け取られる前記第1のセットの属性と、前記メタデータの一部として指定される前記第2のセットの属性とに基づいて評価される」という構成を有するから、本願発明1と同様の理由により、引用発明、引用文献2記載事項及び引用文献3に基づいて当業者が容易に発明をすることができたものであるとはいえない。
3 本願発明21について
本願発明21は、本願発明1に対応する「システム」の発明であって、本願発明1の「記複数のデータストリームの各々を記述するメタデータを受け取るステップであって、データストリームについての前記メタデータは、属性の第2のセットを含み、前記第2のセットの各属性は、前記第1のセットとは異なる、該ステップ」、及び、「前記式は、前記データストリームと共に受け取られる前記第1のセットの属性と、前記メタデータの一部として指定される前記第2のセットの属性とに基づいて評価される」という構成に対応する構成を有するから、本願発明1と同様の理由により、引用発明、引用文献2記載事項及び引用文献3に基づいて当業者が容易に発明をすることができたものであるとはいえない。
第6 まとめ
以上のとおり、本願発明1-23は、引用発明、引用文献2記載事項及び引用文献3に基づいて当業者が容易に発明をすることができたものであるとはいえないから、原査定の理由によって本願を拒絶することはできない。
また、他に本願を拒絶すべき理由を発見しない。
よって、結論のとおり審決する。
審決本文(J-PlatPat)
J-PlatPatの審決検索トップを開きます。番号入力で「審判番号」を選び、下の番号を貼り付けて検索してください。
2020-011316