【事件の表示】
　特願２０１４−５０２８０４「機械挙動の決定」拒絶査定不服審判事件〔平成２４年１０月　４日国際公開、ＷＯ２０１２／１３５５１９、平成２６年　５月　１日国内公表、特表２０１４−５１０９７９、請求項の数（２０）〕について、次のとおり審決する。
【結　論】
　原査定を取り消す。
　本願の発明は、特許すべきものとする。
【理　由】
第１　手続の経緯
　
　本願は，平成２４年３月２９日（パリ条約による優先権主張２０１１年３月３１日（以下，「優先日」という。）；中国）を国際出願日とする出願であって，平成２５年９月１１日付けで特許法第１８４条の５第１項の規定による書面が提出されるとともに特許法第１８４条の４第１項の規定による明細書，請求の範囲，及び，図面（図面の中の説明に限る。）の日本語による翻訳文が提出され，平成２８年３月３日付けで拒絶理由通知（同年同月８日発送）がされ，同年５月２６日付けで意見書が提出されるとともに手続補正がされ，同年６月１６日付けで拒絶査定（同年同月２１日謄本送達，以下，「原査定」という。）がされ，これに対し，同年１０月２０日に拒絶査定不服審判の請求がされると同時に手続補正がされ，同年１１月３０日付けで前置報告がなされ，平成２９年２月３日付けで上申書の提出がされ，同年１１月１５日付けで拒絶理由通知（同年同月２１日発送。以下，「当審拒絶理由」という。）がされ，平成３０年２月６日付けで意見書が提出されるとともに手続補正がされたものである。
　
　
第２　本願発明
　
　本願請求項１−２０に係る発明（以下，それぞれ「本願発明１」−「本願発明２０」という。）は，平成３０年２月６日付けの手続補正で補正された特許請求の範囲の請求項１−２０に記載された事項により特定される発明であり，以下のとおりの発明である。
　
「　　【請求項１】
　コンピュータ実行可能命令を用いて１つ以上のプロセッサによって実行される方法であって，
　ユーザがウェブブラウザを介してウェブページを訪問することをリクエストするとき，前記ウェブページのウェブアドレス情報を含む，前記ウェブページを訪問するリクエストを前記ウェブブラウザから受信することと，
　前記ウェブページ上でのユーザの操作挙動の情報を受信することであって，前記ユーザの操作挙動の情報は，機械挙動識別および分析モデルの確立のために学習され，かつ訓練される，ことと，
　前記確立された機械挙動識別および分析モデルを使用することによって後続のユーザの操作挙動の情報を分析することと，
　前記後続のユーザの操作挙動の前記情報の分析結果に基づいて，前記後続のユーザの操作挙動に対する加重値を計算することと，
　計算された前記加重値が規定の閾値以上である場合，前記後続のユーザの操作挙動が機械挙動であると決定することと，
　を含む，方法。
　　【請求項２】
　前記ウェブページ上での前記ユーザの操作挙動の情報を前記受信することは，
　前記ウェブアドレス情報に基づいて，前記ウェブページに対応するウェブページコードを検索することと，
　挙動収集命令を前記ウェブページコードに挿入することと，
　前記挙動収集命令を含む前記ウェブページコードを前記ウェブブラウザに送信することと，
　前記挙動収集命令に基づいて，前記ウェブブラウザによって収集される前記ウェブページ上での前記ユーザの操作挙動の前記情報を受信することと，
　を含む，請求項１に記載の方法。
　　【請求項３】
　前記ウェブページ上での前記ユーザの操作挙動の情報を前記受信することは，
　前記ウェブアドレス情報に基づいて，前記ウェブページに対応するウェブページコードを検索することと，
　挙動収集命令をウェブサーバから読み出すために，読み出し命令を前記ウェブページコードに挿入することと，
　前記読み出し命令を含む前記ウェブページコードを前記ウェブブラウザに送信することと，
　前記読み出し命令に基づいて，前記挙動収集命令を読み出すために，読み出しリクエストを前記ウェブブラウザから受信した後に，前記挙動収集命令を前記ウェブブラウザに送信することと，
　前記挙動収集命令に基づいて，前記ウェブブラウザによって収集される前記ウェブページ上での前記ユーザの操作挙動の前記情報を受信することと，
　を含む，請求項１に記載の方法。
　　【請求項４】
　前記挙動収集命令を前記ウェブブラウザに前記送信することは，
　予め設定された難読化アルゴリズムに基づいて，前記挙動収集命令の難読化演算を実行することと，
　前記難読化された挙動収集命令を前記ウェブブラウザに送信することと，
　を含む，請求項３に記載の方法。
　　【請求項５】
　前記予め設定された難読化アルゴリズムに基づいて，前記挙動収集命令の前記難読化演算を前記実行することは，
　前記ウェブサーバが，異なる期間と１つ以上の難読化アルゴリズムとの間の対応関係に基づいて前記読み出しリクエストを前記ウェブブラウザから受信する期間に対応する前記１つ以上の難読化アルゴリズムから，前記予め設定された難読化アルゴリズムを検索することと，
　前記予め設定された難読化アルゴリズムに基づいて，前記挙動収集命令の難読化演算を実行することと，
　を含む，請求項４に記載の方法。
　　【請求項６】
　前記操作挙動は，マウス操作情報と，キーボード操作情報と，操作フロー情報と，を含む，請求項１に記載の方法。
　　【請求項７】
　前記後続のユーザの操作挙動に対する前記加重値を前記計算することは，
　前記マウス操作情報に基づいて，マウス操作に対する加重値を決定することと，
　前記キーボード操作情報に基づいて，キーボード操作に対する加重値を決定することと，
　前記操作フロー情報に基づいて，操作フローに対する加重値を決定することと，
　前記マウス操作に対する前記加重値，前記キーボード操作に対する前記加重値，および前記操作フローに対する前記加重値に基づいて，前記後続のユーザの操作挙動に対する前記加重値を決定することと，
　を含む，請求項６に記載の方法。
　　【請求項８】
　前記後続のユーザの操作挙動に対する前記加重値を前記決定することは，以下の式を用いて前記後続のユーザの操作挙動に対する前記加重値を計算することを含み，
Ｗ＝Ｗ1×Ｑ1＋Ｗ2×Ｑ2＋Ｗ3×Ｑ3，
式中，
　Ｗ1は，マウス操作に対する前記加重値を表し，
　Ｑ1は，マウス操作に対する加重係数を表し，
　Ｗ2は，キーボード操作に対する前記加重値を表し，
　Ｑ2は，キーボード操作に対する加重係数を表し，
　Ｗ3は，操作フローに対する前記加重値を表し，
　Ｑ3は，操作フローに対する加重係数を表す，
　請求項７に記載の方法。
　　【請求項９】
　前記後続のユーザの操作挙動が機械挙動であると決定される場合，前記ユーザのユーザ識別情報を悪意のあるユーザリストに追加することをさらに含む，請求項１に記載の方法。
　　【請求項１０】
　前記リクエストは，前記ユーザのユーザ識別情報をさらに含み，前記方法が，
　前記ユーザ識別情報が悪意のあるユーザリストに含まれているかを決定することと，
　前記ユーザ識別情報が前記悪意のあるユーザリストに含まれている場合，前記リクエストを処理することを拒否することと，
　をさらに含む，請求項１に記載の方法。
　　【請求項１１】
　前記リクエストは，前記ユーザのユーザ識別情報をさらに含み，前記方法は，
　前記ユーザ識別情報が悪意のあるユーザリストに含まれているかを決定することと，
　前記ユーザ識別情報が前記悪意のあるユーザリストに含まれていると決定することに応答して，前記ユーザが前記ウェブページを訪問することを禁止することと，
　をさらに含む，請求項１に記載の方法。
　　【請求項１２】
　コンピュータ実行可能命令を用いて１つ以上のプロセッサによって実行される方法であって，
　ウェブページ上でのユーザの操作挙動の情報を取得することと，
　前記ユーザの操作挙動の前記取得された情報をウェブサーバに送信することであって，
前記ユーザの操作挙動の情報は，前記ウェブサーバによって機械挙動識別および分析モデルの確立のために学習され，かつ訓練され，後続のユーザの操作挙動の情報は，前記ウェブサーバによって前記確立された機械挙動識別および分析モデルを使用して分析され，前記後続のユーザの操作挙動の情報の分析結果に基づいて，ウェブページ上での前記後続のユーザの操作挙動に対する加重値が前記ウェブサーバによって決定され，決定された加重値が規定の閾値以上である場合，前記後続のユーザの操作挙動が機械挙動であると前記ウェブサーバによって決定される，ことと，
　前記後続のユーザの操作挙動が機械挙動であると決定した結果を前記ウェブサーバから受信することと，
　を含む，方法。
　　【請求項１３】
　前記ウェブページ上での前記ユーザの操作挙動の情報を前記取得することは，
　前記ユーザが前記ウェブページを訪問することをリクエストするとき，前記ウェブサーバから挙動収集命令を取得することと，
　前記挙動収集命令に基づいて，前記ユーザが前記ウェブページを訪問するとき，前記ウェブページ上での前記ユーザの操作挙動を収集することと，
　を含む，請求項１２に記載の方法。
　　【請求項１４】
　前記ユーザが前記ウェブページを訪問することをリクエストするとき，前記ウェブサーバから前記挙動収集命令を取得することは，
　前記ユーザが前記ウェブページを訪問することをリクエストするとき，前記ウェブページのウェブアドレス情報を含む，訪問リクエストを前記ウェブサーバに送信することと，
　前記ウェブアドレス情報に基づいて，前記ウェブサーバから取得された前記挙動収集命令を含む，前記ウェブサーバによって検出されたウェブページコードを受信することと，
　を含む，請求項１３に記載の方法。
　　【請求項１５】
　前記ユーザが前記ウェブページを訪問することをリクエストするとき，前記ウェブサーバから前記挙動収集命令を取得することは，
　前記ユーザが前記ウェブページを訪問することをリクエストするとき，前記ウェブページのウェブアドレス情報を含む，訪問リクエストを前記ウェブサーバに送信することと，
　前記ウェブアドレス情報に基づいて，前記ウェブサーバから挙動収集命令を読み出すために，前記ウェブサーバによって挿入される読み出し命令を含む，前記ウェブサーバによって検出されるウェブページコードを受信することと，
　前記ユーザが前記ウェブページを訪問するとき，前記読み出し命令に基づいて前記挙動収集命令を読み出すリクエストを送信することと，
　前記ウェブサーバによって送信された前記挙動収集命令を受信することと，
　を含む，請求項１３に記載の方法。
　　【請求項１６】
　前記ユーザが前記ウェブページを訪問することをリクエストするとき，前記ウェブサーバから挙動収集命令を前記取得することは，
　前記ウェブサーバから難読化された挙動収集命令を受信することと，
　予め設定された解読化アルゴリズムに基づいて，前記難読化された挙動収集命令の解読化演算を実行することと，
　前記挙動収集命令を取得することと，
　を含む，請求項１３に記載の方法。
　　【請求項１７】
　予め設定された解読化アルゴリズムに基づいて，前記難読化された挙動収集命令の解読化演算を前記実行することは，
　ウェブブラウザが，異なる期間と１つ以上の解読化アルゴリズムとの間の対応関係に基づいて，読み出しリクエストを前記ウェブサーバに送信する期間に対応する前記１つ以上の解読化アルゴリズムから，前記予め設定された解読化アルゴリズムを検索することと，
　前記予め設定された解読化アルゴリズムに基づいて，前記難読化された挙動収集命令の解読化演算を実行することと，
　を含む，請求項１６に記載の方法。
　　【請求項１８】
　前記ユーザの操作挙動の前記取得された情報を前記ウェブサーバに前記送信することは，予め設定された時点に到達すると，その前の規定の時点から前記予め設定された時点までの範囲の期間中の前記ウェブページ上での操作挙動の前記取得された情報を送信することを含む，請求項１２に記載の方法。
　　【請求項１９】
　前記ウェブページ上での前記ユーザの操作挙動の情報を取得する前に，前記ユーザからの前記ウェブページを訪問するリクエストは，指定操作リクエストであると決定することをさらに含む，請求項１２に記載の方法。
　　【請求項２０】
　１つ以上のプロセッサと，
　前記１つ以上のプロセッサによって実行されると，前記１つ以上のプロセッサに，
　ユーザがウェブブラウザを介してウェブページを訪問することをリクエストするとき，前記ウェブページのウェブアドレス情報を含む，前記ウェブページにアクセスするリクエストを前記ウェブブラウザから受信することと，
　前記ウェブアドレス情報に基づいて，前記ウェブページに対応するウェブページコードを検索することと，
　挙動収集命令を読み出すための読み出し命令を前記ウェブページコードに挿入することと，
　前記読み出し命令を含む前記ウェブページコードを前記ウェブブラウザに送信することと，
　前記読み出し命令に基づいて，前記挙動収集命令を読み出すために，前記ウェブブラウザから読み出しリクエストを受信した後に，前記挙動収集命令を前記ウェブブラウザに送信することであって，
　　予め設定された難読化アルゴリズムに基づいて，前記挙動収集命令の難読化演算を実行することと，
　　前記難読化された挙動収集命令をウェブブラウザに送信することと，を含む，送信することと，
　前記挙動収集命令に基づいて，前記ウェブブラウザによって収集される前記ウェブページ上でのユーザの操作挙動の情報を受信することであって，前記ユーザの操作挙動の情報は，機械挙動識別および分析モデルの確立のために学習され，かつ訓練され，後続のユーザの操作挙動の情報は，確立された機械挙動識別および分析モデルを使用して分析される，ことと，
　前記後続のユーザの操作挙動の前記情報の分析結果に基づいて，前記後続のユーザの操作挙動に対する加重値を計算することと，
　計算された前記加重値が規定の閾値以上である場合，前記後続のユーザの操作挙動が機械挙動であると決定することと，
　を含むアクションを実行させる複数のコンピュータ実行可能命令が記憶された１つ以上のコンピュータ記憶媒体と，
　を備える，システム。」
　
　
第３　引用文献，引用発明等
　
１．引用文献１について
　原査定の拒絶理由に引用された，米国特許出願公開第２０１０／００７０６２０号明細書（以下，これを「引用文献１」という。）には，図面とともに次の事項が記載されている。（下線は当審により付与。以下同じ。）
　
ア．「TECHNICAL FIELD 
［0001］　The present disclosure relates to detecting Internet bots in network communications.
　BACKGROUND 
［0002］　Internet bots are software applications that perform automated tasks over the Internet. They are also known as web robots or bots and have been used in a variety of Internet applications. Web crawlers use bots to automatically fetch and index web pages from various web sites so that search engines can perform queries on the indexed web pages. Bots have been used in online auction sites to discover bargains. In online gaming sites, bots have been used where a response speed faster than that of a human is desirable. In instant messenger applications, bots have been used to answer routine questions such as questions related to weather conditions, sporting event scores, and currency conversions.
［0003］　Bots, however, may be used for malicious purposes. Bots have been used in automated operations to attack networked computers. For example, in a “denial of service” attack, a large number of bots, which may be geographically distributed, may saturate the target server with external communication requests so that the target server cannot respond to legitimate requests. Bots may also be used to influence ranking of search engine results. Search engines may use click data on search results to improve search results ranking. Bots may be used to repeatedly access certain search results from a large number of web sites to influence the ranking of the accessed search results.
［0004］　Malicious bots may also be created in order to repeatedly access advertising-supported links to intentionally create the false appearance of many web site visits by human viewers. Advertising-supported links are generally short segments of text that are linked to an advertiser's web site. When a human viewer clicks on an advertising-supported link, the viewer “clicks through” the text link to visit the advertiser's web site. Many advertising-supported web sites have offered to sell advertising on a pay-per-click basis wherein the advertising-supported web site is only paid when a viewer “clicks through” on an advertising-supported link. When malicious bots are used to repeatedly click on advertising-supported links on a web site, web site advertisers are erroneously charged. Such attempts to create fictitious clicks on advertising-supported links are known as “click fraud”.
［0005］　In these and other contexts, a key factor to combat malicious bots is the ability to detect whether a communication request to a web site comes from an Internet bot or a human viewer. However, since a large number of requests from bots may not be malicious, and the volume of communication requests to a web site may be extremely high, it is a challenging task to find a scalable method to detect malicious bots.
　SUMMARY 
［0006］　The present invention provides apparatuses, 
methods
directed to detecting Internet bots in network communication
present invention allow an agent of a server to periodically record interaction events generated by interactions with an input device attached to a client system; the agent sends the recorded interaction events to the server to validate that the interaction events are a result of human interaction with the input device attached to the client system
（当審訳：「技術分野
［0001］　本開示は，ネットワークコミュニケーションにおけるボットの探索に関する。
　背景
［0002］　インターネットボットは，インターネット上の自動タスクを実行するソフトウェアアプリケーションである。それらはウェブロボットやボットとしても知られており，様々なインターネットアプリケーションで利用されてきている。ウェブクローラは，様々なウェブサイトからウェブページを自動的にフェッチし索引付けするためにボットを利用し，そしてサーチエンジンは索引付けされたウェブページへのクエリーを実行することができる。ボットは，オンラインオークションサイトにおいて，バーゲンを見つけるために利用されてきた。オンラインゲームサイトにおいては，ボットは，応答速度が人間のそれよりも速いことが望まれている状況において利用されてきた。インスタントメッセンジャーアプリケーションにおいては，ボットは，決まった質問，例えば，天気の状況，スポーツイベントの得点結果，通貨の両替，に関する質問に答えるために利用されてきた。
［0003］　ボットは，しかしながら，悪質な目的で利用されるかもしれない。ボットは，ネットワークコンピュータを攻撃するために自動で動作するよう利用されてきた。例えば，“Ｄｏｓ”攻撃では，地理的に分布しているであろう，多くのボットが，永続的なコミニュケーションリクエストによって，ターゲットとなるサーバを飽和させるかもしれず，それにより，ターゲットとなるサーバは，正当なリクエストに応答することができない。ボットはまた，サーチエンジン結果のランキングに影響を与えるよう利用されるかもしれない。サーチエンジンは，サーチ結果におけるクリックデータをサーチ結果のランキングを改善するために利用するだろう。ボットは，アクセスされたサーチ結果のランキングに影響を与えるために，極めて多くのウェブサイトから，所定のサーチ結果に繰り返しアクセスするよう利用されるだろう。
［0004］　悪意のあるボットはまた，人である閲覧者がウェブサイトを多く訪問したという偽の状態を意図的に作り出すために，自動的に広告を表示するリンクに繰り返しアクセスするよう作られるかもしれない。自動的に広告を表示するリンクは，一般的にテキストの短い区切であり，それは，広告主のウェブサイトにリンクされている。人である閲覧者が自動的に広告を表示するリンクをクリックすると，その閲覧者はその広告主のウェブサイトを訪問するためにそのテキストリンクを“クリックスルー”することになる。多くの自動的に広告を表示するリンクは，ペイパークリック基盤の上で広告を販売するよう提供されており，そこでは，自動的に広告を表示するリンクは，閲覧者が自動的に広告を表示するリンクを“クリックスルー”した時だけ支払いがなされる。悪意のあるボットが，ウェブサイト上の自動的に広告を表示するリンクを繰り返しクリックするよう利用されると，ウェブサイトの広告主には誤ったチャージがなされる。そのような自動的に広告を表示するリンク上を架空のクリックを作り出そうとすることは，“クリックフラウド”として知られている。
［0005］　これらの，かつ他の文脈において，悪意のあるボットと戦うキーとなる要因は，ウェブサイトへのコミニュケーションリクエストが，インターネットボットによるものか，あるいは人である閲覧者によるものかを探る能力である。しかしながら，ボットからの多くのリクエストが悪意のあるものではないかもしれず，また，ウェブサイトへのコミニュケーションリクエストの量が極端に高くないかもしれないため，悪意あるボットを見つける拡張性のある方法を見つけることは，大変な作業である。
　概要
［0006］　本発明は，
ネットワークコミニュケーションにおけるインターネットボットの探索に向けられている
方法
クライアントシステムに付加された入力デバイスを用いた相互作用によって生成された相互作用イベントを，サーバのエージェントが定期的に記録することができるものであり；そのエージェントは，その相互作用イベントがクライアントシステムに付加された入力デバイスを用いた人間による相互作用の結果であることを検証するよう，記録された相互作用イベントをサーバに送信する
イ．「［0023］　FIG. 2 
illustrates
a hardware system 200 , which may be used to implement a client system or a server
hardware system 200 comprises a processor 202 , a cache memory 204 , and one or more software applications and drivers directed to the functions described herein
（当審訳：「［0023］　図２は，説明を目的として，
ハードウェアシステム２００を示しており，それは，クライアントシステムや，サーバに実装されるだろう
ハードウェア２００は，プロセッサ２０２，キャッシュメモリ２０４，そして１つまたは複数のソフトウェアアプリケーションや以下に記述する機能に直結するドライバーを含むだろう
　
ウ．「C. Detection of Internet Bots 
［0029］　FIG. 3 illustrates an example 
process used for detecting and recording interaction events on a host
n agent on the host is initialized. In some embodiments, initialization comprises activating an agent downloaded to a client system from a server.
The web page may further include one or more advertisements, such as sponsored hypertext links or banner ads, that a user may click on. When the user clicks on the advertisement, the browser may transmit a request for an advertisement to the server
［0030］　The agent may be a program written in a variety of programming or scripting languages such as C, C++, Java, Visual Basic, Perl, PHP, JavaScript, or ActionScript of Macromedia Flash. The agent may be running as a background process on the client system. For example, the agent may be running as a daemon on a UNIX or a Mac OS X system, or as a service on a Windows system. In some embodiments, the agent may be downloaded from the server and operate within the context of a user agent, such as a browser client. For example, 
the agent may comprise Javascript code embedded in a web page and executable within the context of the user agent that monitors interaction events with one or more input devices attached to the client system
［0031］　The initialization step 300 is typically triggered when one of the running applications on the client system gets focus. The focus indicates the component of the graphical user interface which is currently selected to receive input. Text entered at the keyboard or pasted from a clipboard is sent to the component which currently has the focus. Focus may be moved to an application through a mouse click or by pressing a keyboard combination such as the combination of the ALT and the TAB keys. Typically, an embodiment of the present invention is initialized on at least one running application on the client system. For example, there may be multiple Internet browser applications running on the client system. An embodiment of the present invention may be a JavaScript program embedded in a web page and executed when a browser application gets focus. An embodiment of the present invention may also be a Macromedia Flash component such as an ActionScript which may execute when a browser application gets focus.
［0032］　Upon initialization, the agent registers as a listener for mouse movement or other interaction events. After initialization, the agent waits for a period of time in step 302 before it checks for any interaction events in step 304 . In some embodiments, the waiting period in step 302 is a fixed time interval such as 128 milliseconds or 256 milliseconds. In other embodiments, the waiting period may be a randomly chosen time interval.
［0033］　In step 304 , 
the agent checks for interaction events
［0034］　
If the agent detects an interaction event
the agent records one or more parameters of the interaction event
coordinates of mouse pointers on a display screen may be recorded
letters or symbols entered on a keyboard, a touch screen, a pen input device, or a speech recognition device may be recorded
types of motion such as a swipe or a shaking motion, directions of motion, and length or magnitude of motion may be recorded
［0035］　In step 308 , 
the agent counts the number of recorded interaction events and checks whether the number reaches a threshold.
three mouse movement events are collected before data is transmitted to a remote system.
illustrates an example of three recorded mouse coordinates. Coordinate 400 {P0, T0} 
coordinate 402 {P1, T0+△t}
coordinate 404 {P2, T0+2△t}
The three mouse coordinates may form a triangle
the height of the triangle 406 X may be derived for multiple mouse coordinate sets, and used as a signature to detect bots. When the interaction events are generated by bots, the distribution of 406 X may be different from the distribution when the interaction events are generated by human.
（当審訳：「Ｃ．インターネット・ボットの探索
［0029］　図３は，
ホストにおける相互作用イベントの探索及び記録のために用いられるプロセス
ホスト上のエージェントが初期化される。ある実施例では，初期化は，サーバからクライアントシステムへダウンロードされるエージェントを有効化することを含む
ウェブページは，さらに１つまたは複数の広告を含むであろうし，例えば，ハイパーテキストリンクやバナーアドが提供されており，それらをユーザはクリックするであろう。ユーザが広告をクリックしたとき，ブラウザーはサーバに広告のリクエストを転送するだろう
［0030］　そのエージェントは，C，C++，Java，Visual Basic，Perl，PHP，JavaScript，または，ActionScript of Macromedia Flashのような多くのプログラミングまたはスクリプト言語で記述されたプログラムであるだろう。そのエージェントは，クライアントシステム上のバックグラウンドプロセスとして実行するだろう。例えば，そのエージェントは，UNIXまたはMac OS　Xシステムのデーモン，またはWindowsシステム上のサービスとして，実行するだろう。ある実施例では，そのエージェントは，サーバからダウンロードされ，ブラウザクライアントのように，ユーザエージェントのコンテキストの範囲で動作するだろう。例えば，
そのエージェントは，ウェブページに埋め込まれ，クライアントシステムに付加された１つまたは複数の入力デバイスにおける相互作用イベントを監視するユーザイベントのコンテキストの範囲内で実行可能なＪａｖａスクリプトのコードを含むだろう
［0031］　初期化ステップ３００は，全般的に，クライアントシステムで実行する１つのアプリケーションがフォーカスされたときにトリガーされる。そのフォーカスは，グラフィカルユーザインターフェースのコンポーネントを示し，それは，入力を受信するために選択されている。キーボードによる入力やクリップボードを介してのテキストが，現在フォーカスを有するコンポーネントに送信される。フォーカスは，マウスクリックを通したり，例えばALTとTABキーの組み合わせのようなキーボードの組み合わせを押すことにより，アプリケーションに移動するだろう。一般的には，本発明のある実施例は，クライアントシステム上で実行する少なくとも１つのアプリケーションにおいて初期化される。例えば，クライアントシステム上で実行される複数のインターネットブラウザアプリケーションがあるだろう。本発明のある実施例では，ウェブページに埋め込まれ，ブラウザアプリケーションがフォーカスされたときに実行される，Ｊａｖａスクリプトプログラムであるだろう。本発明のある実施例はまた，ブラウザアプリケーションがフォーカスされたときに実行されるだろうActionScriptのようなMacromedia Flash componentだろう。
［0032］　初期化において，そのエージェントは，マウスムーブメントやその他の相互作用イベントのリスナーとして登録される。初期化の後，そのエージェントは，ステップ３０４でどのような相互作用イベントをチェックする前にも，ステップ３０２の期間の間待ち状態となる。ある実施例では，ステップ３０２の待ち時間は，１２８ミリ秒または２５６ミリ秒のように，固定された時間間隔である。その他の実施例では，待ち期間はランダムに選ばれた時間間隔であろう。
［0033］　ステップ３０４において，
そのエージェントは，相互作用イベントをチェックする
［0034］　
もしそのエージェントが
相互作用イベントを探索すると
エージェントは
相互作用イベントの１つまたは複数のパラメータを記録する
ディスプレイスクリーン上のマウスポインタの座標が記録されるだろう
キーボード，タッチスクリーン，ペン入力デバイス，または，会話認識デバイスから入力される文字やシンボルが記録されるだろう
スワイプやシェイク動作，動作方向，動作の長さや大きさのような動作のタイプが記録されるだろう
［0035］　ステップ３０８において，
そのエージェントは記録した相互作用イベントの数をカウントし，その数が閾値に到達したかを否かをチェックする
３つのマウス動作イベントが，データがリモートシステムに転送される前に，収集される
記録された３つのマウス座標の例を示している。座標４００｛Ｐ０，Ｔ０｝
座標４０２｛Ｐ１，Ｔ０＋△ｔ｝
座標４０４｛Ｐ２，Ｔ０＋２△ｔ｝
３つのマウス座標は
三角形を形成するだろう
三角形４０６の高さＸは，複数のマウス座標セットにより導出され，そして，探索ボットの特徴として用いられるだろう。相互作用イベントがボットによって生成される時には，４０６Ｘの分布は，その相互作用イベントが人間によって生成された場合の分布と異なるだろう
　
エ．「［0040］　FIG. 5 illustrates an example 
process used for validating whether a session related interaction event, such as clicking on a link in a web page, is a result of human interaction with an input device attached to a client system
the process receives one or more interaction events recorded by an agent.
the interaction events entail three mouse coordinates recorded at regular intervals of time
the agent monitors the coordinates and computes a signature value based on the coordinates and transmits the signature value to the server
the signature value is the height of a triangle formed by three mouse coordinates as illustrated by 406 X 
the signature value is derived, the process runs a statistical test
to test the hypothesis that the interaction events are a result of human interaction with an input device attached to the client system
When the mouse movements are generated by bots, the distribution of 406 X may be different from that resulting from mouse movements generated by humans
　・・・（中略）・・・
In step 508 , t
he process checks whether the computed statistic λ(X) is over a threshold value θ. If λ(X) is greater than θ, the process may determine that the interaction events are indeed generated by a human
Otherwise, the process may determine that the interaction events are generated by a bot
［0041］　
The threshold value θ may be determined by historical data, i.e., by analyzing distributions of the height of the triangle when it is known that the mouse coordinates are generated by bots and by human
（当審訳：「［0040］　図５は，
相互作用イベントに関連するセッション，例えば，ウェブページのリンクをクリックするなどが，人間によるクライアントシステムに付加された入力デバイスを用いた相互作用での結果であるのかを検証するために用いられるプロセス
プロセスはエージェントによって記録された１つまたは複数の相互作用イベントを受信する。
相互作用イベントは
規則的な時間間隔で記録された３つのマウス座標を伴う
そのエージェントは，座標を監視し，座標に基づいた特徴値を計算し，サーバに特徴値を転送する
特徴値は
４０６Ｘとして示された３つのマウス座標によって形成された三角形の高さである
特徴値が導き出されると，プロセスは，その相互作用イベントが，クライアントシステムに付加された入力デバイスを用いた人間による相互作用の結果であるとの仮説をテストするための，
統計的テストを実行する
マウス動作がボットによって生成される時には，４０６Ｘの分布は，人間によって生成されたマウス動作からの結果と異なっている
　・・・（中略）・・・
ステップ５０８において，
計算された統計値λ(X)がプロセスは閾値θを超えているか否かをチェックする。もしλ(X)がθより大きい場合は，そのプロセスは
その相互作用イベントが当然に人間によって生成されたものであると判断するだろう。そうでなければ，そのプロセスは
その相互作用イベントがボットによって生成されたものであると判断するだろう
［0041］　
閾値θは履歴データによって，すなわち，マウス座標がボットと人間によって生成されていることが分かっている時に，三角形の高さの分布を分析することによって，決定されるだろう
　
　上記ア．〜エ．の記載から，上記引用文献１には次の発明（以下，「引用発明」という。）が記載されていると認められる。
　
「ネットワークコミニュケーションにおけるインターネットボットの探索に向けられている方法であって，
　クライアントシステムに付加された入力デバイスを用いた相互作用によって生成された相互作用イベントを，サーバのエージェントが定期的に記録することができるものであり，当該エージェントは，その相互作用イベントがクライアントシステムに付加された入力デバイスを用いた人間による相互作用の結果であることを検証するよう，記録された相互作用イベントをサーバに送信するものであって，
　上記クライアントシステムや上記サーバに実装されるハードウェアシステムは，プロセッサ，キャッシュメモリ，１つまたは複数のソフトウェアアプリケーションやドライバーを含むものであり，
　ホストにおける相互作用イベントの探索及び記録のために用いられるプロセスとして，
　　上記ホスト上の上記エージェントが初期化されることであって，当該初期化は，上記サーバから上記クライアントシステムへダウンロードされる上記エージェントを有効化することを含み，ウェブページは，さらに１つまたは複数の広告を含み，例えば，ハイパーテキストリンクやバナーアドが提供されており，それらをユーザはクリックしたとき，ブラウザーはサーバに広告のリクエストを転送するものであり，上記エージェントは，ウェブページに埋め込まれ，クライアントシステムに付加された１つまたは複数の入力デバイスにおける相互作用イベントを監視するユーザイベントのコンテキストの範囲内で実行可能なＪａｖａスクリプトのコードを含む，初期化されることと，
　　上記エージェントが，相互作用イベントをチェックすることと，
　　上記エージェントが相互作用イベントを探索すると，上記エージェントが，相互作用イベントの１つまたは複数のパラメータを記録することであって，ディスプレイスクリーン上のマウスポインタの座標を記録すること，または，キーボード，タッチスクリーン，ペン入力デバイス，会話認識デバイスから入力される文字やシンボルを記録すること，または，スワイプやシェイク動作，動作方向，動作の長さや大きさのような動作のタイプを記録することである，記録することと，
　　上記エージェントが，記録した相互作用イベントの数をカウントし，その数が閾値に到達したかを否かをチェックすることであって，データがリモートシステムに転送される前に，収集され，記録された３つのマウス座標の例としては，座標４００｛Ｐ０，Ｔ０｝，座標４０２｛Ｐ１，Ｔ０＋△ｔ｝，座標４０４｛Ｐ２，Ｔ０＋２△ｔ｝であって，３つのマウス座標が三角形を形成し，三角形の高さＸは複数のマウス座標セットにより導出され探索ボットの特徴として用いられ，相互作用イベントがボットによって生成される時のＸの分布は，相互作用イベントが人間によって生成された場合の分布と異なるものである，チェックすること，
　を含み，
　相互作用イベントに関連するセッション，例えば，ウェブページのリンクをクリックすることなどが，人間によるクライアントシステムに付加された入力デバイスを用いた相互作用であるのか否かを検証するために用いられるプロセスとして，
　　上記エージェントによって記録された１つまたは複数の相互作用イベントを受信することであって，相互作用イベントは，規則的な時間間隔で記録された３つのマウス座標を伴うものである，受信することと，
　　上記エージェントが，座標を監視し，座標に基づいた特徴値を計算し，サーバに特徴値を転送することであって，特徴値はＸとして示された３つのマウス座標によって形成された三角形の高さである，転送することと，
　　特徴値が導き出されると，その相互作用イベントが，クライアントシステムに付加された入力デバイスを用いた人間による相互作用の結果であるとの仮説をテストするため，統計的テストを実行することであって，マウス動作がボットによって生成される時には，Ｘの分布は，人間によって生成されたマウス動作からの結果と異なっている，実行することと，
　　計算された統計値λ(X)が閾値θを超えているか否かをチェックすることであって，λ(X)がθより大きい場合は，その相互作用イベントが人間によって生成されたものであると判断し，そうでない場合には，その相互作用イベントがボットによって生成されたものであると判断する，チェックすること，
　を含むものであり，
　閾値θは履歴データによって，すなわち，マウス座標がボットと人間によって生成されていることが分かっている時に，三角形の高さの分布を分析することによって，決定される，
　方法。」
　
２．引用文献２について
　原査定の拒絶理由に引用された，米国特許出願公開第２００５／０２７８２５３号明細書（以下，これを「引用文献２」という。）には，図面とともに次の事項が記載されている。
オ．「［0026］　In the present invention, a method and architecture are provided to implement a Human Interactive Proof that verifies that a human is involved in a computing transaction, whereby the human is sending an item to a recipient. In the Proof, and in general, the sent item is accompanied by a send attestation stating to the effect that a sufficient human effort was in fact detected in connection with the sent item, and correspondingly that the computer did not simply send the item based on a program or application that does not require any significant human effort on a per send item basis. 
The sufficient human effort detected may for example include a keystroke, a mouse click, a minimum number of keystrokes or mouse clicks, a minimum composition time, a selection of a maximum number of recipients, a maximum number of send items delivered per unit time, etc
（ファミリである特開２００６−５９２１号の対応する記載：「【００２１】
 ・・・（中略）・・・
　本発明では，コンピューティングトランザクションに人間が関与しており，それによって人間が受信者にアイテムを送信していることを検証するＨＩＰ技術を実施するための方法およびアーキテクチャを提供する。一般的に，証明において，送信されるアイテムは，その送信されるアイテムに関連して実際に十分な人間の取組みが検出され，従ってコンピュータは，送信アイテムごとに意味のある人間の取組みをまったく必要としないプログラムやアプリケーションに基づいて単にアイテムを送信したのではないという旨を示す送信証明を伴う。
検出される十分な人間の取組みは，例えば，キーストローク，マウスクリック，最小回数のキーストロークまたはマウスクリック，最小の構成時間，最大数の受信者の選択，単位時間あたりに送達される最大数の送信アイテムなどを含むことができる
カ．「［0045］　Significantly, the constructed send attestation 18 also includes a statement describing the send item 14 , and also relevant information relating to the send item 14 . Notably, such statement may be from the attestation unit 24 or the application 26 . In the latter case, the statement from the attestation unit 24 describing the application 26 at least implicitly states that the application 26 can be trusted to issue the statement describing the send item 14 . Here, 
the relevant information relating to the send item 14 in the statement from the attestation unit 24 or application 26 likely includes monitored data such as a number of keyboard taps and/or a number of mouse clicks in connection with construction of the send item 14 by the user, a length of time to construct, a number of recipients 16 , etc
（「【００４０】
　注目すべきことに，構築された送信証明１８は，送信アイテム１４について記述するステートメントと送信アイテム１４に関する関連情報も含む。とりわけ，そうしたステートメントは，証明ユニット２４またはアプリケーション２６から生じることができる。後者の場合，アプリケーション２６について記述する証明ユニット２４からのステートメントは，送信アイテム１４について記述するステートメントを発行するものとしてアプリケーション２６が信用できることを少なくとも暗に示す。ここで，
証明ユニット２４またはアプリケーション２６からのステートメント内の送信アイテム１４に関する関連情報は，おそらく送信アイテム１４の構築に関連してユーザがキーボードのキーを複数回押したことおよび／またはマウスを複数回クリックしたこと，構築に要した時間，複数の受信者１６などのモニタされたデータを含む
　
３．引用文献３について
　原査定の拒絶理由に引用された，米国特許出願公開第２０１０／０２８１５３９号明細書（以下，これを「引用文献３」という。）には，図面とともに次の事項が記載されている。
　
キ．「［0005］　Malicious users have recently developed network attacks at layer seven (application layer) of the OSI model. As one example, DoS attacks at the application layer may continually issue requests that consume a large amount of a web server's resources. For example, layer seven DoS attacks include repetitive issuing of database queries to the server. Other malicious network sessions at the application layer include “click fraud,” where an automated device or script repeatedly selects a particular ad-based link of a web page. Owners of web pages that display ad-based links receive revenue for each instance that the link is selected, thus automating selection of the link may be fraudulent. Another malicious network session at the application layer relates to e-mailing scripts that send spam e-mails to as many recipients as possible.
［0006］　To implement these attacks, some malicious users write programs (i.e., malicious software agents) that are intended to be executed on one or more other users' computers. Malicious users may write viruses, trojans, worms, or other malicious programs that implement these various attacks and that spread to many different computers. A malicious program may act as a “bot” that executes a script or other automated program to execute a network attack or perform other malicious activity at the application layer. A group of computing devices infected with the same malicious program, referred to as a “bot net,” may coordinate a network attack or malicious action against a common target at the application layer. Conventional IDS devices are not able to detect or react to software agents that implement these application-layer attacks.
　SUMMARY 
［0007］　In general, this disclosure describes techniques for detecting automated software agents that perform malicious attacks or other actions. 
The techniques generally include analyzing protocols utilized within a network session (e.g., layer three through layer seven protocols) to compute metrics for the particular network session and determining whether the session is representative of to a normal user's behavior or a malicious automated software agent
The IDP device may therefore calculate an aggregate score for the metrics and determine that a network session is malicious when the aggregate score exceeds a threshold
（当審訳：「［0005］　悪意のあるユーザは，近年，ＯＳＩモデルのレイヤー７（アプリケーション層）におけるネットワーク攻撃を開発してきている。一例として，アプリケーション層におけるＤｏｓ攻撃は，かなりの量のウェブサーバ資源を消費するリクエストを継続的に発行するだろう。例えば，レイヤー７Ｄｏｓ攻撃は，サーバに対しデータベースクエリーを繰り返し発行することを含む。アプリケーション層での他の悪意のあるネットワークセッションは，“クリックフラウド”を含み，そこでは，自動化されたデバイスやスクリプトが，ウェブページの特別な広告ベースのリンクを繰り返し選択する。広告ベースのリンクを表示したウェブページのオーナーは，そのリンクが選択されたという事項によって収入を得るので，そのリンクの自動的な選択は詐欺行為となる。アプリケーション層における別の悪意のあるネットワークセッションは，可能な限り沢山の受信者にｅメールを送信するｅメールスクリプトに関連する。
［0006］　これらの攻撃を実装するため，悪意あるユーザには，１つまたは複数の他のユーザのコンピュータにおいて実行されることを意図したプログラム（例えば，悪意あるソフトウェアエージェント）を書くものもいる。悪意あるユーザは，ウィルス，トロージャン，ワーム，または他の悪意あるプログラムを書くだろうし，それらは，様々な攻撃を実装し，多くの異なるコンピュータに拡散する。悪意あるプログラムは，“ボット”として活動し，それは，ネットワーク攻撃を実行したり，アプリケーション層において他の悪意ある行動を実行したりする，スクリプトや他の自動プログラムを実行させるものである。ある悪意のあるプログラムに感染したコンピューティングデバイスのグループが，いわゆる“ボットネット”として，ネットワーク攻撃やアプリケーション層での通常のターゲットに対する悪意ある行動を連携して行うかもしれない。従来のＩＤＳデバイスは，このようなアプリケーション層の攻撃を実装するソフトウェアエージェントを探索したり反応したりすることができない。
　概要
［0007］　一般的に，本開示は，悪意ある攻撃や他の行動を実行する自動化されたソフトウェアエージェントを探索するための技術を示している。
その技術は一般に，特定のネットワークセッションのためのメトリックを計算するために，ネットワークセッションで用いられるプロトコル（例えば，レイヤー３からレイヤー７へのプロトコル）を分析したり，そのセッションが普通のユーザの行動によるものか，あるいは，悪意ある自動化されたソフトウェアエージェントによるものか，を判断することを含む
それゆえ，メトリックの集計スコアを計算し，その集計スコアが閾値を超えた場合には，そのネットワークセッションが悪意のあるものであると判断する
ク．「［0055］　FIG. 4 is a block diagram illustrating an example bot detection module 58 . In the example of FIG. 4 , bot detection module 58 includes metric calculators 60 A- 60 N (metric calculators 60 ), weighting modules 62 A- 62 N (weighting modules 62 ), averager 64 , threshold store 66 , and comparator 68 . Each of metric calculators 60 calculates a score for a corresponding metric regarding a network session based on data of received traffic of the network session. The data may include application-layer data, such as transaction data 34 and application-layer elements 36 . The data may also include data from flow table 35 , such as open communication sessions between each server and client, packet flows, connections, transactions for each connection, times for each transaction request, and times for each reply to a transaction request. Metric calculators 60 provide the scores to a corresponding one of weighting modules 62 . Each of metric calculators 60 output a scalable score that indicates whether the network session is more “normal-user-like” or more “bot-like.” For example, each of metric calculators 60 may output a score between 0 and 100, where a score of “0” represents that the network session exhibits properties that are more like that of a normal user for that particular metric, and where a score of “100” represents that the network session exhibits properties that are more like that of a bot for that particular metric.
［0056］　
Weighting modules 62 weight the corresponding score by scaling the score up or down by a particular amount
Each of weighting modules 62 may apply a different weighting factor to output of the respective one of metric calculators 60 .
［0057］　Averager 64 calculates an average score from the weighted scores from output of weighting modules 62 . In examples that do not include weighting modules 62 , averager 64 calculates an average score from the scores calculated by metric calculators 60 . In one example, averager 64 calculates an aggregate score as the average of the weighted scores, e.g., according to the formula:
　Aggregate score =・・・（中略）・・・
where the function weightedMetricScore(i) corresponds to the output of the ith one of weighting modules 62 . Although the example formula represents calculating the score serially on the output of weighting modules 62 , it should be understood that in some examples, each of weighting modules 62 calculates the weighted scores in parallel, e.g., with dedicated hardware or a plurality of different sets of programmable hardware.
［0058］　Threshold store 66 generally stores a threshold value for determining whether the aggregate score calculated by averager 64 represents normal user behavior or bot-like behavior. Comparator 68 compares the aggregate score calculated by averager 64 to the threshold of threshold store 66 and, when the aggregate score exceeds the threshold, comparator 68 determines that the network session being analyzed is being performed by a bot or a bot-like system or program.」
（当審訳：「［0055］　図４は，ボット探索モジュール５８の例を示したブロック図である。図４の例として，ボット探索モジュール５８は，メトリックカリキュレータ６０Ａ−６０Ｎ（メトリックカリキュレータ６０），加重モジュール６２Ａ−６２Ｎ（加重モジュール６２），アベレージャ６４，閾値ストア６６，及び，比較器６８を含む。各メトリックカリキュレータ６０は，ネットワークセッションに関する該当するメトリックのスコアを，受信されたネットワークセッションの通信のデータに基づいて計算する。そのデータはアプリケーションレイヤーデータを含むことがあり，例えば，通信データ３４やアプリケーションエレメント３６である。そのデータはまたフローテーブル３５からのデータを含むことがあり，例えば，各サーバとクライアントとの間のオープンコミニュケーションセッション，パケットフロー，接続，各接続の転送，各転送リクエストのための時間，及び，転送リクエストに対する各応答のための時間，である。メトリックカリキュレータ６０は，加重モジュール６２のうち該当する１つに対してそのスコアを渡す。各メトリックカリキュレータ６０は，そのネットワークセッションがより“普通のユーザらしい”か，あるいは，より“ボットらしい”か，を示す，拡張性のあるスコアを出力する。例えば，各メトリックカリキュレータ６０は，０から１００の間のスコアを出力するであろうし，その際に，スコア“０”は，そのネットワークセッションが，特定のメトリックから，より普通のユーザのものらしい特性を示している，ことを表しており，また，スコア“１００”は，そのネットワークセッションが，特定のメトリックから，よりボットのものらしい特性を示している，ことを表している。
［0056］　
加重モジュール６２は，特定の量によってスコアを上げたり下げたり調整することで該当するスコアを重み付けするものである
各加重モジュール６２Ａは，メトリックカリキュレータ６０のそれぞれの出力に，異なった重み付けファクターを適用するかもしれない
［0057］　アベレージャー６４は，加重モジュール６２の出力から，重み付けされたスコアからの平均スコアを計算する。加重モジュール６２を含まない例として，アベレージャー６４は，メトリックカリキュレータ６０によって計算されたスコアから平均スコアを計算する。ある例では，アベレージャー６４は，例えば，次の式によって重み付けされたスコアの平均スコアを計算する。
　集計スコア＝・・・（中略）・・・
ここで，関数weightedMetricScore(i)は，i番目の加重モジュール６２の出力に該当する。事例の関数は，加重モジュール６２の出力において直列的になるようスコアを計算することを表しているが，ある例では，各加重モジュール６２が，並列に，例えば，特定のハードウェアまたはプログラム可能なハードウェアの複数の異なるセットによって，重み付けされたスコアを計算するものと理解されるべきである。
［0058］　閾値ストア６６は，一般に，アベレージャー６４によって計算された集計スコアが，普通のユーザの行動を表しているか，あるいは，ボットのような行動を表しているか，を判断するための閾値を記憶する。比較器６８は，分析されるネットワークセッションがボットかまたはボットのようなシステムまたはプログラムのよって実行されるものか，を判断する。」）
４．引用文献４について
　原査定の拒絶理由に引用された，特開平１１−３５３１７２号公報（以下，これを「引用文献４」という。）には，図面とともに次の事項が記載されている。
　
ケ．「【００３６】図２は，ＣＤ−ＲＯＭ２に記録されているアプリケーションプログラムのファイル構成を概念的に示す図である。このアプリケーションプログラムは，Ｐｅｒｌに代表されるインタプリタ言語で記述されたテキスト形式のプログラム（以下「スクリプト」という。）に相当する非テキストスクリプトおよびこの非テキストスクリプトを実行するためのバイナリ形式の実行プログラムをそれぞれ別のプログラムとして有するとともに，スクリプトを逐一解釈して実行するためのインタプリタを有している。
【００３７】なお，Ｐｅｒｌなどの汎用的なインタプリタ言語でスクリプトが記述され，かつ，ユーザが汎用インタプリタを既に所有している確率が高い場合，および，有償無償にかかわらず汎用インタプリタを簡単に入手できる環境にある場合には，インタプリタをＣＤ−ＲＯＭ２に記録しておく必要は必ずしもない。ただし，専用のインタプリタでなければ実行できないようなスクリプトであれば，専用インタプリタをＣＤ−ＲＯＭ２に記録しておく必要がある。
【００３８】非テキストスクリプトおよび実行プログラムは，符号化プログラムにより作成される。この作成手順をより詳述すれば，図３に示すように，作成されたスクリプトは，符号化プログラムに入力される。符号化プログラムは，入力されたスクリプトに対して所定の符号化処理を施し，非テキスト形式のプログラムである非テキストスクリプトを作成する。
【００３９】符号化処理は，一種の暗号化処理であり，たとえば図４に示すように，ＡＳＣＩＩ(American standard code for information interchange)コードの最上位ビットの「０」を「１」に反転する処理である。スクリプトは，通常，ＡＳＣＩＩコードで記述される。ＡＳＣＩＩコードは，図４(a) に示すように，最上位ビットを「０」とし，残余の７ビットでアルファベットおよび数字を表現しているものであるから，実質的に，最上位ビットを除く７ビットで情報が表現されている。一方，コンピュータでは，８ビットを１単位として情報を認識するから，図４(b) に示すように，最上位ビットの「０」を「１」に反転するだけで，その１バイトの情報は，もはやＡＳＣＩＩコードとは認識されなくなる。しかも，情報表現に用いていない最上位ビットを反転しているだけであるから，情報破壊のおそれもまったくない。
【００４０】図２および図３に戻って，符号化プログラムは，また，このようにして作成された非テキストスクリプトを実行するための実行プログラムをバイナリ形式で作成する。より具体的には，符号化プログラムは，非テキストスクリプトを復号化するための復号化プログラムおよび復号化プログラムによって復号化された結果復元されたスクリプトをインタプリタに渡すためのスクリプト提供プログラムを作成する。この場合，復号化プログラムおよびスクリプト提供プログラムは，機械語で記述される。
【００４１】復号化プログラムにおける復号化処理としては，上述の符号化方式の反対の処理に相当するものが適用される。具体的には，ＡＳＣＩＩコードの最上位ビットを「１」から「０」に反転する処理である。したがって，この復号化処理が行われた後の１バイトの情報は，ＡＳＣＩＩコードとして認識されることになる。
【００４２】なお，スクリプトの符号化処理としては，たとえばＡＳＣＩＩコードの最上位ビット以外の１または複数のビットを反転させる処理が考えられる。この構成によっても，符号化後の情報をＡＳＣＩＩコードと認識させないようにすることができるから，良好な符号化を達成できる。また，この場合における復号化処理は，反転された１または複数のビットをさらに反転させて元に戻す処理が用いられることは言うまでもない。
【００４３】符号化プログラムは，上述のようにして作成された非テキストスクリプトおよび実行プログラムをそれぞれ別のプログラムとして出力する。
【００４４】次に，このコンピュータによりスクリプトが実行される処理について簡単に説明する。ＣＤ−ＲＯＭ２に記録されているアプリケーションプログラムがハードディスク４にインストールされた後，当該アプリケーションプログラムの実行がキーボードなどから指示されると，バイナリ形式の実行プログラムが起動する。具体的には，
実行プログラムの一部である復号化プログラムが非テキストスクリプトを呼び出し，この非テキストスクリプトに対して復号化処理を施す
【００４５】その後，復号化プログラムは，復元されたスクリプトをスクリプト提供プログラムに渡す。スクリプト提供プログラムは，受け取ったスクリプトをインタプリタに渡す。この場合，スクリプト提供プログラムからインタプリタへのスクリプトの渡し方としては，たとえば，スクリプト提供プログラムが制御部１内に備えられているＲＡＭ６にスクリプトを保持させ，この保持されているスクリプトをスクリプト提供プログラムが読み出してインタプリタに渡すということが考えられる。また，スクリプト提供プログラムとインタプリタとのプログラム間（プロセス間）通信を利用してスクリプトをインタプリタに渡したり，一時ファイルを介してスクリプトをインタプリタに渡したりすることが考えられる。」
　
コ．「【００６４】さらにまた，ハフマン符号化方式を用いて
スクリプトを符号化
【００６５】さらにまた，回転および区分分割方式の処理を施すことによりスクリプトを符号化するようにしてもよい。この構成によっても，スクリプトを良好に符号化することができるから，プログラムの改造や類似ソフトの開発を確実に防ぐことができる。
【００６６】さらに，上記実施形態では，この発明をＣＤ−ＲＯＭ２に適用する場合を例にとって説明しているが，この発明は，ＤＶＤ(Digital video disk)，ＭＯ(Magneto optical) ディスクなどの携帯型記録媒体に対しても容易に適用することができる。また，ハードディスク４などの固定型記録媒体に対しても容易に適用することができる。
【００６７】この発明を固定型記録媒体に適用する場合の代表的な利用例としては，たとえば
インターネットのプロバイダおよび企業が保有しているＷＷＷ（world wide web）サーバおよびＦＴＰ（file transfer protcol ）サーバなどにアプリケーションプログラムを記録しておき，このサーバにアクセスしてきたクライアントとしてのパーソナルコンピュータなどにアプリケーションプログラムを有料でダウンロードできるようにしておく
５．引用文献５について
　原査定の拒絶理由に引用された，特開平１−２１２０４１号公報（以下，これを「引用文献５」という。）には，図面とともに次の事項が記載されている。
サ．「第２図を参照しつつ，第３図のフローチャートにより処理動作を説明する。暗号化処理を行う送信側システムの端末機では，まず，
送信要求が端末側に発生したとき，ステップ５１において，時計機構１１から，その時の時刻である例えば９時３０分の時刻情報（Ｔ＝９：３０）を番地生成テーブル２に送出すると共に，当該時刻情報を受信システムのホスト計算機側に転送する
与えられた時刻情報から番地生成テーブル２で時間帯情報２ａを参照して，当該時刻情報が入る時間帯から暗号化アルゴリズムアドレス２ｂのアルゴリズムアドレス（２）と，暗号鍵アドレス２ｃの鍵アドレス（１）とを読出す
得られたアルゴリズムアドレス（２）を参照キーとして暗号化アルゴリズムテーブル３から，暗号化アルゴリズム３ｂのアルゴリズムｂを読出す
得られた鍵アドレス（１）を参照キーとして暗号鍵テーブル４から，暗号鍵４ｂの鍵Ａを読出す
送信データ保持部１６から送信データを暗号化処理部５に送り，送信データを暗号化して通信回線を介して送信する
　
６．引用文献６について
　原査定の拒絶理由に引用された，国際公開第２０１０／１０５２４９号（以下，これを「引用文献６」という。）には，図面とともに次の事項が記載されている。
　
シ．「[0058] A Use Scenario in Client-Server Architecture
　・・・（中略）・・・
[0063] Step (c): 
Once a sufficient number of samples have been collected, the authentication server 200 processes the user's input event data by training a support vector machine
[0064] Triggering events: The user's malware detection tool (e.g., BotHunter) detects a suspicious bot-like pattern in the network traffic (e.g., scanning machines on the local network for known network exploits). Such suspicious pattern activity may be termed a trigger event. A trigger event can be generated by any applicable, existing botnet detection tools, or it can be caused by simple events that are generated by analyzing the correlation between the user's activities and network traffic (e.g., sending email while being idle, or suspicious HTTP traffic without mouse activities). The trigger event may cause an authentication test to be launched. More detailed description and a list of suspicious events are given in Section 2.3.
[0065] The user-based analyzer 18, 218 challenge: The user-based analyzer 18, 218 prompts the user with a window in which to provide a chosen form of user input, such as by typing a chosen string S 1 . 
Based on this user's input event data (e.g., keystroke timing data) and the classification model built during the training phrase
the user-based analyzer 18, 218 predicts whether the user is the legitimate owner or not
（当審訳：「［0058］ クライアント−サーバアーキテクチャにおける利用シナリオ
　・・・（中略）・・・
［0063］　ステップ（ｃ）：
一旦十分な数のサンプルが収集されたら，認証サーバ２００は，ユーザ入力イベントデータを，サポートベクターマシンを訓練することによって処理
［0064］　トリガーイベント：ユーザのマルウェア探索ツール（例えば，ボットハンター）は，ネットワークトラフィックの中の疑わしいボットのようなパターンを探索する（例えば，既知のネットワークを探索することで，ローカルネットワーク上のマシンをスキャニングして）。そのような疑わしいパターン活動は，トリガーイベントと呼ばれるだろう。トリガーイベントは，どのような応用可能な現在のボットネット探索ツールによっても生成可能であろうし，ユーザアクティビティとネットワークトラフィックの相互関係（例えば，休止中にメールを送信することや，マウスアクティビティを伴わない疑わしいＨＴＴＰトラフィック）を分析することで生成される単純なイベントによって引き起こされるかもしれない。そのトリガーイベントは，実装される認証テストを誘起するかもしれない。より詳細な記述と疑わしいイベントのリストは，セクション２．３に示される。
［0065］　ユーザベース分析器１８，２１８のチャレンジ：ユーザベース分析器１８，２１８は，ウィンドウによってユーザを励起し，そこでは，例えば，選択された文字列Ｓ１のタイピングによって，ユーザ入力の選択されたフォームを提供するものである。
このユーザ入力イベントデータ（例えば，キーストロークのタイミングデータ）とトレーニングフェーズの期間に築かれた分類モデルに基づいて，ユーザベース分析器１８，２１８は，そのユーザが，正当なオーナーなのかそうでないのかを予測する
７．引用文献７について
　原査定の拒絶理由に引用された，米国特許出願公開第２００７／００７３５７９号明細書（以下，これを「引用文献７」という。）には，図面とともに次の事項が記載されている。
　
ス．「［0037］　A variety of proposals for reducing click fraud have surfaced. Most service providers currently approach the problem of click fraud by attempting to automatically recognize fraudulent clicks and discount them. 
Fraudulent clicks are recognized by machine learning algorithms which use information regarding the navigational behavior of users to try and distinguish between human and robot-generated clicks
（当審訳：「［0037］ クリックフラウドを減少させる様々な提案が出てきている。多くのサービスプロバイダーは，現在，不正なクリックを自動的に認識しそれらを信用外に置くという試みによって，クリックフラウドの問題にアプローチしている。
不正なクリックは，機械学習アルゴリズムによって認識され，それは，試行する人間とロボット生成によるクリックを区別する，ユーザの誘導的な行動に関する情報を利用するものである
８．引用文献８について
　原査定の拒絶理由に引用された，Park, K. et al., Securing Web Service by Automatic Robot Detection, 2006 USENIX Annual Technical Conference, [online], 2006年, p.255-260, [retrieved on 2016.06.16]. Retrieved from the Internet URL:https://www.usenix.org/legacy/event/usenix06/tech/park.html（以下，これを「引用文献８」という。）には，図面とともに次の事項が記載されている。
　
セ．「4.2 
Detection by Machine Learnig
From the above discussion, the following question naturally follows:“How effective is a machine learning-based technique, and what is the trade-off?” The main forte of machine learning is that if we can characterize the typical features of human browsing, we can easily detect unwanted traffic by robots. Conceivably, it is very hard to make a bot that behaves exactly like a human. 
　To test the effectiveness of a detection algorithm using machine learning, we collected data by running CAPTCHA tests on CoDeeN for two weeks, and classified 42,975 human sessions and 124,271 robot sessions using 12 attributes shown in Table 2. We then divided each set into a training set and a test set, using equal numbers of sessions drawn at random. We built eight classifiers at multiples of 20 requests, using the training set. For example, the classifier at the request number 20 means that the classifier is built calculating the attributes of the first 20 requests, and the 40-request classifier uses the first 40 requests, etc. We used AdaBoost [5] with 200 rounds.
 Figure 4 shows the accuracy of classification with respect to the number of requests. The result shows the classification accuracy ranges from 91% to 95% with the test set, and it improves as the classifier sees more requests. From our experiment, RESPCODE 3XX%, REFERRER % and UNSEEN REFERRER % turned out to be the most contributing attributes. Basically, robots do not frequently make requests that result in redirection; many bot requests do not have a valid referrer header field; and finally, referrer spam bots frequently trip the unseen referrer trigger. 
　Although this approach is promising, it has a few drawbacks. First, it requires significant amount of computation and memory, which may make the server susceptible to DoS attacks. Second, in order to make accurate decisions, it needs a relatively large number of requests, making it difficult to apply in a real-time scenario (in our experiment, it takes 160 requests to achieve 95% accuracy). Third, the human browsing pattern may change with the introduction of a new browser with novel features. Finally, attribute selection must be done carefully. In theory, the learning algorithm can automatically determine the most effective attributes, but in practice, bad choices can decrease the effectiveness of the classifier. 」
（当審訳：「4.2
機械学習による検出
　上記の議論から，次の質問が自然に続く；“機械学習ベースの技術はどれくらい効果的で，トレードオフは何か？”機械学習の主な特長は，人間の典型的な特徴ロボットによる不要なトラフィックを簡単に検出できることである。おそらく，人間と全く同じように動作するボットを作ることは非常に難しいだろう。
　機械学習による検出アルゴリズムの有効性を検証するために，我々はCoDeeNで２週間のCAPDCHAテストを実行してデータを収集し，表２に示す１２の属性を使用して42,975人のセッションと124,271のロボットセッションを分類した。ランダムに描画された同数のセッションを使用してテストセットを作成する。トレーニングセットを使用して，２０件のリクエストの倍数で８つの分類器を構築した。例えば，要求番号２０の分類器は，分類器が最初の２０個の要求の属性を計算するように構築され，４０個の要求分類器が最初の４０個の要求などを使用することを意味する。我々は２００ラウンドのAdaBoost [5]を使用した。
　図４は，要求数に対する分類の精度を示している。結果は，テストセットで９１％〜９５％の分類精度の範囲を示し，分類器がより多くの要求を見るにつれて改善することを示す。我々の実験から，RESPCODE 3XX％，REFERRER％およびUNSEEN REFERRER％が最も貢献している属性であることが判明した。基本的に，ロボットは頻繁にリダイレクトする要求を出すことはない。多くのボットリクエストには有効なリファラーヘッダーフィールドがない。最後に，参照元のスパムボットは，目に見えない参照元のトリガーを頻繁にトリップする。
　このアプローチは有望であるが，それにはいくつかの欠点がある。第一に，大量の計算とメモリが必要となり，サーバがDoS攻撃を受けやすくなる。第二に，正確な意思決定を行うためには，比較的多くのリクエストが必要であり，リアルタイムシナリオでは適用が困難である（実験では，９５％の精度を達成するために１６０回のリクエストが必要である）。第三に，人間のブラウジングパターンは，新しい機能を備えた新しいブラウザの導入によって変化する可能性がある。最後に，属性の選択は慎重に行う必要がある。理論的には，学習アルゴリズムは自動的に最も効果的な属性を決定することができるが，実際には，悪い選択は分類器の有効性を低下させる可能性がある。」）
　
　
第４　対比・判断
　
１．本願発明１について
（１）対比
　本願発明１と引用発明とを対比する。
ア．引用発明は，「ネットワークコミニュケーションにおけるインターネットボットの探索に向けられている方法」であり，「当該エージェントは，その相互作用イベントがクライアントシステムに付加された入力デバイスを用いた人間による相互作用の結果であることを検証するよう，記録された相互作用イベントをサーバに送信する」ことから，「クライアントシステム」において行われた「相互作用イベント」が，エージェントによって「サーバ」に送信され，「人間による相互作用の結果である」か否かの「検証」が行われることから，「サーバ」において「検証」を実行する方法，が示されているといえる。
　そして，引用発明における「サーバ」は「ハードウェアシステム」として実装され，「プロセッサ」や「１つまたは複数のソフトウェアアプリケーションやドライバー」を含むのであるから，引用発明である方法を，「コンピュータ実行可能命令」を用いて「プロセッサ」によって実行しているものであるといえる。
　そうすると，引用発明は，本願発明１であるところの，「コンピュータ実行可能命令を用いて１つ以上のプロセッサによって実行される方法」であるといえる。
　
イ．引用発明において「初期化」される「ホスト上の上記エージェント」は，「クライアントシステムに付加された１つまたは複数の入力デバイスにおける相互作用イベントを監視するユーザイベントのコンテキストの範囲内で実行可能なＪａｖａスクリプトのコードを含む」ものであり，それによって，「１つまたは複数の広告を含み，例えば，ハイパーテキストリンクやバナーアドが提供されて」いる「ウェブページ」を「ユーザはクリックしたとき，ブラウザーはサーバに広告のリクエストを転送する」ものであり，上記「クリック」は「ウェブページ」中の「広告」へ移動するためのリクエストの転送を当然に含み，また，「ウェブページ」中の「広告」への上記リクエストにはそのためのウェブアドレスを当然に含むといえ，その際に，転送されたリクエストは，「サーバ」に受信されることになる。
　そうすると，引用発明の，「初期化」される「上記エージェント」について，「ウェブページは，さらに１つまたは複数の広告を含み，例えば，ハイパーテキストリンクやバナーアドが提供されており，それらをユーザはクリックしたとき，ブラウザーはサーバに広告のリクエストを転送するものであり」，「エージェントは，ウェブページに埋め込まれ，クライアントシステムに付加された１つまたは複数の入力デバイスにおける相互作用イベントを監視するユーザイベントのコンテキストの範囲内で実行可能なＪａｖａスクリプトのコードを含む」とともに，上記「リクエスト」が「サーバ」に受信されることは，本願発明１の「ユーザがウェブブラウザを介してウェブページを訪問することをリクエストするとき，前記ウェブページのウェブアドレス情報を含む，前記ウェブページを訪問するリクエストを前記ウェブブラウザから受信すること」に相当するといえる。
　
ウ．引用発明において，「エージェント」が記録する「相互作用イベントの１つまたは複数のパラメータ」とは，「ディスプレイスクリーン上のマウスポインタの座標」や，「キーボード，タッチスクリーン，ペン入力デバイス，会話認識デバイスから入力される文字やシンボル」，「スワイプやシェイク動作，動作方向，動作の長さや大きさのような動作のタイプ」であって，いずれもユーザの挙動を示すものであるから，本願発明１の「ユーザの操作挙動の情報」に相当し，また，引用発明における上記「相互作用イベントの１つまたは複数のパラメータ」も，当然に「サーバ」に転送されることになる。
　そうすると，後記する点で相違するものの，本願発明１の「前記ウェブページ上でのユーザの操作挙動の情報を受信することであって，前記ユーザの操作挙動の情報は，機械挙動識別および分析モデルの確立のために学習され，かつ訓練される，こと」と，引用発明の「上記エージェントが相互作用イベントを探索すると，上記エージェントが，相互作用イベントの１つまたは複数のパラメータを記録することであって，ディスプレイスクリーン上のマウスポインタの座標を記録すること，または，キーボード，タッチスクリーン，ペン入力デバイス，会話認識デバイスから入力される文字やシンボルを記録すること，または，スワイプやシェイク動作，動作方向，動作の長さや大きさのような動作のタイプを記録することである，記録する」ことであり，記録された上記「相互作用イベントの１つまたは複数のパラメータ」が，「サーバ」に転送されることは，“前記ウェブページ上でのユーザの操作挙動の情報を受信すること”である点で共通している。
　
エ．引用発明の「相互作用イベントに関連するセッション，例えば，ウェブページのリンクをクリックすることなどが，人間によるクライアントシステムに付加された入力デバイスを用いた相互作用であるのか否かを検証するために用いられるプロセス」における，「計算された統計値λ(X)が閾値θを超えているか否かをチェックすることであって，λ(X)がθより大きい場合は，その相互作用イベントが人間によって生成されたものであると判断し，そうでない場合には，その相互作用イベントがボットによって生成されたものであると判断する，チェックすること」は，「相互作用イベントの探索及び記録」が行われた後の処理であるから，この場合の「人間によるクライアントシステムに付加された入力デバイスを用いた相互作用」は，本願発明１の「後続のユーザの操作挙動」に相当するといえ，また，引用発明でも，上記「人間によるクライアントシステムに付加された入力デバイスを用いた相互作用」が，「ボットによって生成されたものである」か否かの「判断」を，「統計値λ(X)が閾値θを超えているか否かをチェックすること」で行っており，この場合の引用発明の「統計値λ(X)」は，本願発明１の「計算」される「加重値」と，“計算値”である点で共通するといえる。
　そうすると，後記する点で相違するものの，本願発明１の「前記後続のユーザの操作挙動の前記情報の分析結果に基づいて，前記後続のユーザの操作挙動に対する加重値を計算すること」と，引用発明の「計算された統計値λ(X)が閾値θを超えているか否かをチェックする」ことは，“後続のユーザの操作挙動に対する計算値を計算すること”である点で共通している。
　
オ．上記エ．のとおり，引用発明でも，上記「人間によるクライアントシステムに付加された入力デバイスを用いた相互作用」が，「ボットによって生成されたものである」か否かの「判断」を，「統計値λ(X)が閾値θを超えているか否かをチェックすること」で行っており，この場合の引用発明の「閾値θ」，「ボットによって生成され」た「相互作用イベント」が，本願発明１の「規定の閾値」，「機械挙動」にそれぞれ相当する。
　そうすると，後記する点で相違するものの，本願発明１の「計算された前記加重値が規定の閾値以上である場合，前記後続のユーザの操作挙動が機械挙動であると決定すること」と，引用発明の「計算された統計値λ(X)が閾値θを超えているか否かをチェックすることであって，λ(X)がθより大きい場合は，その相互作用イベントが人間によって生成されたものであると判断し，そうでない場合には，その相互作用イベントがボットによって生成されたものであると判断する，チェックする」ことは，“前記計算値が規定の閾値以上である場合，前記後続のユーザの操作挙動が機械挙動であると決定すること”である点で共通している。
　
カ．上記ア．ないしオ．の対比によれば，本願発明１と引用発明とは次の点で一致し，そして相違する。
　
［一致点］
　コンピュータ実行可能命令を用いて１つ以上のプロセッサによって実行される方法であって，
　ユーザがウェブブラウザを介してウェブページを訪問することをリクエストするとき，前記ウェブページのウェブアドレス情報を含む，前記ウェブページを訪問するリクエストを前記ウェブブラウザから受信することと，
　前記ウェブページ上でのユーザの操作挙動の情報を受信することと，
　後続のユーザの操作挙動に対する計算値を計算することと，
　前記計算値が規定の閾値以上である場合，前記後続のユーザの操作挙動が機械挙動であると決定することと，
　を含む，方法。
　
〈相違点１〉
　ウェブページ上でのユーザの操作挙動の情報を受信することに関し，
　本願発明１は，「前記ユーザの操作挙動の情報は，機械挙動識別および分析モデルの確立のために学習され，かつ訓練される」ものであるに対し，
　引用発明では，そのような特定はされていない点。
　
〈相違点２〉
　本願発明１は，「前記確立された機械挙動識別および分析モデルを使用することによって後続のユーザの操作挙動の情報を分析すること」を含むのに対して，
　引用発明では，そのようなステップについて特定されていない点。
　
〈相違点３〉
　後続のユーザの操作挙動に対する計算値を計算することに関し，
　本願発明１では，「前記後続のユーザの操作挙動の前記情報の分析結果に基づいて」，前記後続のユーザの操作挙動に対する「加重値」を計算しているのに対して，
　引用発明では，そのような特定は行われていない点。
　
〈相違点４〉
　計算値が規定の閾値以上である場合，前記後続のユーザの操作挙動が機械挙動であると決定することに関し，
　本願発明１では，「加重値」を規定の閾値との比較対象としているのに対して，
　引用発明では，そのような特定は行われていない点。
　
（２）相違点についての判断
　事案に鑑みて，上記相違点１ないし３について先に検討する。
　
　相違点１ないし３に係る構成によれば，本願発明１は，受信した「ユーザの操作挙動の情報」が，「機械挙動識別および分析モデルの確立のために学習され，かつ訓練され」て，「前記確立された機械挙動識別および分析モデル」を使用して「後続のユーザの操作挙動の情報を分析」し，「前記後続のユーザの操作挙動の前記情報の分析結果」に基づいて，前記後続のユーザの操作挙動に対する「加重値」を計算するものであることから，最初に受信した「ユーザの操作挙動の情報」が「学習」及び「訓練」されることで「確立」された「機械挙動識別および分析モデル」が，「後続のユーザの操作挙動」のための「加重値」の「計算」，すなわち，加算の際に「ユーザの操作挙動」に対応する値を重み付ける各加重計数を決定し「計算」するための，「後続のユーザの操作挙動の情報」の分析に用いられる構成となっている。
　この点に関し，引用発明は，上記第３の１．のとおりであって，後続のユーザのための「複数の相互作用イベント」を受信すると，それにより「特徴値」を計算し，それに基づく「統計値λ(X)」と「閾値θ」との比較判断を行うにとどまり，上記後続のユーザのための「複数の相互作用イベント」に係る計算のために，「機械挙動識別および分析モデル」を「学習」及び「訓練」によって「確立」したり，「加重値」の「計算」のための「分析」に用いることは，開示も示唆もされていない。
　そして，上記相違点１ないし３に係る本願発明１の構成は，上記引用文献２ないし８にも記載されておらず，また，本願優先日前において周知技術であるともいえない。
　そうすると，引用発明に基づいて，相違点１ないし３に係る本願発明１の構成とすることは，当業者が容易になし得ることであるとはいえない。
　
　したがって，本願発明１は，相違点４を検討するまでもなく，当業者であっても引用発明，引用文献２ないし８に記載された技術的事項，及び，周知技術に基づいて容易に発明できたものであるとはいえない。
　
２．本願発明２−２０について
　本願発明２−１１は，本願発明１を更に限定したものであるので，同様に，当業者であっても引用発明，引用文献２ないし８に記載された技術的事項，及び，周知技術に基づいて容易に発明できたものであるとはいえない。
　また，本願発明１２は，上記相違点１ないし３に係る本願発明１の構成と同様の構成を有するものであり，同様に，当業者であっても引用発明，引用文献２ないし８に記載された技術的事項，及び，周知技術に基づいて容易に発明できたものであるとはいえない。
　また，本願発明１３−１９は，本願発明１２を更に限定したものであるので，同様に，当業者であっても引用発明，引用文献２ないし８に記載された技術的事項，及び，周知技術に基づいて容易に発明できたものであるとはいえない。
　また，本願発明２０は，本願発明１を別のカテゴリーで表現するものであり，同様に，当業者であっても引用発明，引用文献２ないし８に記載された技術的事項，及び，周知技術に基づいて容易に発明できたものであるとはいえない。
　　
第５　原査定の概要及び原査定についての判断
　原査定は，請求項１−２０について上記引用文献１に記載された発明並びに引用文献２ないし５に記載の技術及び引用文献６ないし８に記載の周知技術に基づいて，当業者が容易に発明できたものであるから，特許法第２９条第２項の規定により特許を受けることができないというものである。しかしながら，平成３０年２月６日付け手続補正により補正された請求項１，１２，２０は，それぞれ「前記ウェブページ上でのユーザの操作挙動の情報を受信することであって，前記ユーザの操作挙動の情報は，機械挙動識別および分析モデルの確立のために学習され，かつ訓練される，ことと，前記確立された機械挙動識別および分析モデルを使用することによって後続のユーザの操作挙動の情報を分析することと，前記後続のユーザの操作挙動の前記情報の分析結果に基づいて，前記後続のユーザの操作挙動に対する加重値を計算すること」という事項，又は，「前記ウェブページ上でのユーザの操作挙動の情報を受信することであって，前記ユーザの操作挙動の情報は，機械挙動識別および分析モデルの確立のために学習され，かつ訓練される，ことと，前記確立された機械挙動識別および分析モデルを使用することによって後続のユーザの操作挙動の情報を分析することと，前記後続のユーザの操作挙動の前記情報の分析結果に基づいて，前記後続のユーザの操作挙動に対する加重値を計算すること」に対応する構成を有するものとなっており，上記のとおり，本願発明１−２０は，上記引用発明，引用文献２ないし８に記載された技術的事項，及び，周知技術に基づいて，当業者が容易に発明できたものではない。したがって，原査定を維持することはできない。
　
　
第６　当審拒絶理由について
１．特許法第３６条第６項第２号について
　
（１）当審では，請求項１，１２の「コンピュータ実行可能命令を用いて構成される１つ以上のプロセッサによって実行される方法」との記載は，日本語として不明確である，との拒絶の理由を通知しているが，平成３０年２月６日付けの補正において，「コンピュータ実行可能命令を用いて１つ以上のプロセッサによって実行される方法」と補正された結果，この拒絶の理由は解消した。
 
（２）当審では，請求項１の「前記後続のユーザの操作挙動の前記情報の分析結果に基づいて，機械挙動の加重値を計算することと，機械挙動の前記加重値に基づいて，前記後続のユーザの操作挙動が機械挙動であるかを決定することと，機械挙動の前記加重値が規定の閾値以上である場合，前記後続のユーザの操作挙動が機械挙動であると決定すること」との記載は，どのような「加重値」によりどのようにして「後続のユーザの操作挙動が機械挙動であるかを決定する」のか不明確である，との拒絶の理由を通知しているが，上記補正において，「前記後続のユーザの操作挙動の前記情報の分析結果に基づいて，前記後続のユーザの操作挙動に対する加重値を計算することと，計算された前記加重値が規定の閾値以上である場合，前記後続のユーザの操作挙動が機械挙動であると決定すること」と補正された結果，この拒絶の理由は解消した。同様の趣旨の拒絶理由を通知した，請求項７の「前記機械挙動の前記加重値」，請求項８の「前記機械挙動の前記加重値」，請求項１２の「機械挙動の加重値」，及び，請求項２０の「機械挙動の加重値」及び「機械挙動の前記加重値」についても，上記補正において，いずれも，「後続のユーザの操作挙動に対する加重値」，「後続のユーザの操作挙動に対する前記加重値」などと補正された結果，拒絶の理由は解消した。
 
（３）当審では，請求項１２の「前記ユーザの操作挙動の情報は，機械挙動識別および分析モデルの確立のために学習され，かつ訓練され，後続のユーザの操作挙動の情報は，前記確立された機械挙動識別および分析モデルを使用して分析され，前記後続のユーザの操作挙動の情報の分析結果に基づいて，ウェブページ上での前記後続のユーザの操作挙動に対する機械挙動の加重値が決定され，前記機械挙動の加重値が規定の閾値以上である場合，前記後続のユーザの操作挙動が機械挙動であると決定される，こと」が，「ウェブブラウザ」と「ウェブサーバ」のいずれによって実行されるのか規定されておらず，不明確である，との拒絶の理由を通知しているが，上記補正において，「前記ユーザの操作挙動の情報は，前記ウェブサーバによって機械挙動識別および分析モデルの確立のために学習され，かつ訓練され，後続のユーザの操作挙動の情報は，前記ウェブサーバによって前記確立された機械挙動識別および分析モデルを使用して分析され，前記後続のユーザの操作挙動の情報の分析結果に基づいて，ウェブページ上での前記後続のユーザの操作挙動に対する加重値が前記ウェブサーバによって決定され，決定された加重値が規定の閾値以上である場合，前記後続のユーザの操作挙動が機械挙動であると前記ウェブサーバによって決定される，ことと」と補正された結果，この拒絶の理由は解消した。
 
（４）当審では，請求項２０の「１つ以上のプロセッサと，前記１つ以上のプロセッサによって実行されると，前記１つ以上のプロセッサに，・・・を含むアクションを実行させる，その上に記憶された複数のコンピュータ実行可能命令を有する１つ以上のコンピュータ記憶媒体と，を備える，システム。」との記載は，「システム」としての発明の構成が日本語として不明確である，との拒絶の理由を通知しているが，上記補正において，「１つ以上のプロセッサと，前記１つ以上のプロセッサによって実行されると，前記１つ以上のプロセッサに，・・・を含むアクションを実行させる複数のコンピュータ実行可能命令が記憶された１つ以上のコンピュータ記憶媒体と，を備える，システム。」と補正された結果，この拒絶の理由は解消した。
　
２．特許法第３６条第６項第１号について
　
（１）当審では，請求項１における「前記後続のユーザの操作挙動の前記情報の分析結果に基づいて，機械挙動の加重値を計算することと，機械挙動の前記加重値に基づいて，前記後続のユーザの操作挙動が機械挙動であるかを決定することと，機械挙動の前記加重値が規定の閾値以上である場合，前記後続のユーザの操作挙動が機械挙動であると決定することと」との記載が，仮に，「機械挙動の前記加重値に基づいて，前記後続のユーザの操作挙動が機械挙動であるかを決定すること」と，「機械挙動の前記加重値が規定の閾値以上である場合，前記後続のユーザの操作挙動が機械挙動であると決定すること」とが，異なる「決定する」処理を意味する場合，そのような点は，発明の詳細な説明に記載されたものとはいえない，との拒絶の理由を通知しているが，上記１．の(２）における補正により，上記の意味とはならないことが明確となったことから，この拒絶の理由は解消した。
　
（２）当審では，仮に，請求項１２における「前記ユーザの操作挙動の情報は，機械挙動識別および分析モデルの確立のために学習され，かつ訓練され，後続のユーザの操作挙動の情報は，前記確立された機械挙動識別および分析モデルを使用して分析され，前記後続のユーザの操作挙動の情報の分析結果に基づいて，ウェブページ上での前記後続のユーザの操作挙動に対する機械挙動の加重値が決定され，前記機械挙動の加重値が規定の閾値以上である場合，前記後続のユーザの操作挙動が機械挙動であると決定される，こと」が，「ウェブブラウザ」によって実行されるものと解する場合には，そのような点は，発明の詳細な説明に記載されたものとはいえない，との拒絶の理由を通知しているが，上記１．の(３）における補正により，上記の理解とはならないことが明確となったことから，この拒絶の理由は解消した。
第７　むすび
　以上のとおり，本願発明１−２０は，当業者が引用発明，引用文献２ないし８に記載された技術的事項，及び，周知技術に基づいて容易に発明をすることができたものではない。
　したがって，原査定の理由によっては，本願を拒絶することはできない。
　また，他に本願を拒絶すべき理由を発見しない。
　よって，結論のとおり審決する。