JP6505849B2 - 要素識別子の生成 - Google Patents

要素識別子の生成 Download PDF

Info

Publication number
JP6505849B2
JP6505849B2 JP2017536780A JP2017536780A JP6505849B2 JP 6505849 B2 JP6505849 B2 JP 6505849B2 JP 2017536780 A JP2017536780 A JP 2017536780A JP 2017536780 A JP2017536780 A JP 2017536780A JP 6505849 B2 JP6505849 B2 JP 6505849B2
Authority
JP
Japan
Prior art keywords
action
engine
attribute
generating
instructions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017536780A
Other languages
English (en)
Other versions
JP2018506783A (ja
Inventor
シャシェヴスキー,オルガ
イスラエリ,アヴィアド
ガジト,オデド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micro Focus LLC
Original Assignee
EntIT Software LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EntIT Software LLC filed Critical EntIT Software LLC
Publication of JP2018506783A publication Critical patent/JP2018506783A/ja
Application granted granted Critical
Publication of JP6505849B2 publication Critical patent/JP6505849B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Description

いくつかのウェブベースのアプリケーションまたはモバイルアプリケーションは、ユーザーと相互作用するための複数の手段を提供する。たとえば、ユーザーは、検索ボックス、リスト項目、リンク、画像などの種々の要素をウェブページ上で選択することができる。いくつかの場合には、アプリケーションの作成者は、(所与のアクションを完了するのに要する時間を決定することなどによって)ユーザーのアクションに応答してアプリケーションの性能を測定することを望む。該アプリケーション内の複数の要素は、検索結果のリスト中の各項目またはメニュー内の各項目などの、機能的には類似するが視覚的には異なる要素を表している場合がある。そのような類似の要素に関するアクション性能は、性能分析を簡単なものにするために、個々にではなくグループとして追跡されるのが望ましい場合がある。
(補充可能性あり)
添付の図面において、同じ参照番号は、同様の構成要素もしくはブロックを参照している。下記の詳細な説明は添付の図面を参照している。
開示されている実施例と整合する要素識別子生成システムの1実施例のブロック図である。 開示されている実施例と整合する例示的な要素識別子生成装置のブロック図である。 開示されている実施例と整合する例示的なコンピューティング装置のブロック図である。 開示されている実施例と整合するアプリケーションの1実施例である。 開示されている実施例と整合するウェブアプリケーション用の例示的な文書オブジェクトモデル構造である。 開示されている実施例と整合するメトリックを測定して記録するための方法の1実施例のフローチャートである。 開示されている実施例と整合する要素識別子を生成するための方法の1実施例のフローチャートである。
上記のように、ウェブアプリケーションの典型的なインターフェースは、画像、リンク、メニュー、テキスト記述(説明)などの多くの要素を含んでいる。これらの要素を、ページのロード、及び/又はスクリプト実行、及び/又はユーザーアクションなどのイベントに応答してアプリケーションによって実行することができるコマンドに関連付けることができる。したがって、詳細に後述するように、種々の例示的な実施例は、それらの種々の要素の識別子(識別情報)を生成すること、それらの要素に対して実行されるコマンドに関連付けられたメトリック(性能等の評価の基準や尺度など。メトリクスともいう)を評価すること、及び、性能の評価及び分析用のメトリックを記録することに関連する。
以下の説明では、「機械可読記憶媒体」という用語が使用されている。本明細書で使用されている「機械可読記憶媒体」という用語は、実行可能命令またはその他のデータを格納する(たとえば、ハードディスクドライブ、ランダムアクセスメモリ、フラッシュメモリなどの)任意の電子装置、磁気装置、光学装置、またはその他の物理的な記憶装置を意味する。
図1は、開示されている実施例と整合する要素識別子生成用のシステム100の1実施例のブロック図である。システム100は、たとえばアプリケーションサーバー110及びクライアント140を含むことができる。アプリケーションサーバー110及びクライアント140は、直接接続及び/又はネットワークを介して互いに通信することができる。ネットワークを、離れた構成要素間の通信を容易にする任意のタイプのネットワークとすることができる。たとえば、該ネットワークは、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、仮想プライベートネットワーク、専用イントラネット、インターネット、セルラーネットワーク、ラジオネットワーク、及び/又は無線ネットワークを含むことができる。
アプリケーションサーバー110及びクライアント140の各々は、本明細書に記載されている実施例を提供することに整合するコンピューティング能力を提供することができる、汎用コンピューター及び/もしくは専用コンピューター、サーバー、メインフレーム、デスクトップ、ラップトップ、タブレット、スマートフォン、ゲーム機、及び/又はその他の任意のシステムを含むことができる。
図1には、1つのアプリケーションサーバー110及び1つのクライアント140が示されているが、システム100のいくつかの実施例は、2以上のアプリケーションサーバー110及び/又はクライアント140を含むことができる。それらのサーバーのうちの少なくとも1つのサーバーを、たとえば、少なくとも1つサーバーバンク、コンピューターバンク、データセンター、及び/又は他の構成中に配置して利用することができる。たとえば、それらのサーバーコンピューターは全体として、1つのクラウドコンピューティングリソース、グリッドコンピューティングリソース、及び/又はその他の任意の分散コンピューティング構成を備えることができる。そのようなサーバーコンピューターを、1つの設備内に配置することができ、及び/又は、多くの異なる地理的な位置に分散させることができる。
クライアント140は、陰極線管(CRT)モニター、液晶ディスプレイ(LCD)画面、または、別の表示技術を用いて実施された画面などの表示装置(ディスプレイ)を備えることができる。しかしながら、任意の適切な表示装置を使用することができる。該表示装置を、システム100の構成に応じて、クライアント140の内部または外部に配置することができる。
いくつかの実施例では、システム100は、アプリケーションサーバー110で実行される1以上のアプリケーション115のユーザー体験を監視し、及び、クライアント140を介してユーザーが取ったアクションに対する性能及び安定性の測定値を提供することができる。
(1以上の)アプリケーション115におけるユーザーアクションを、ASP、Java(ジャバ)、Objective-C、及びその他の種々のプログラミング言語などのコード及び/又はスクリプトを用いて処理することができるイベントに変換することができる。ユーザーが該ユーザークライアントにおいて(タッチやスワイプなどの)アクションを開始するたびに、(1以上の)アプリケーション115が該アクションを処理することができるように、(たとえば、touchstart(タッチスタート)、クリック、touchend(タッチエンド)などの)一連のイベントを起動することができる。
システム100は、ユーザーアクションを識別(特定)し、分類し、及びメトリックを測定することができる。ユーザーアクションを分類することは、該アクションの識別子(ID)を生成することを含むことができる。あるユーザーアクションを、該ユーザーによって使用された(たとえば、タップやスワイプなどの)ジェスチャー、及び、該ジェスチャーによって影響を受けた(1以上の)アプリケーション115の(たとえば、ボタンやリスト項目などの)要素によって分類することができる。ユーザーアクションに対する性能メトリック(たとえば、「該アクションを完了するのに要した平均時間」)を測定し及び/又は表示するために、該ユーザーアクションを分類することができる。
システム100は、ユーザーアクションを分類することを試みるときに、受け取ったユーザーアクション用のアクションハンドラに関連付けられた要素の代わりにそのジェスチャーの実際のターゲット要素を分類することができる。(1以上の)アプリケーション115の各要素を、touchstart、クリック、touchendなどのユーザーアクションによって起動された種々のイベント用の複数のイベントハンドラに関連付けることができる。いくつかのイベントハンドラは、(1以上の)アプリケーション115用の機能を実行するためにイベントが起動されたときに、対応するイベントリスナー(event listener)が呼び出すことができるアクションハンドラを含むことができる。
たとえば、ユーザーが、(1以上の)アプリケーション115の異なるオプションのメニュー(中のオプション)をタップすると、システム100は、それぞれのオプションを異なるユーザーアクションとして分類することができる。いくつかの実施例では、システム100は、(1以上の)アプリケーション115によって表示されたカタログ項目のリストなどの複数の要素を、1つの包括的な要素として分類することができる。システム100は、要素の文書(ドキュメント)オブジェクトモデル(DOM)構造を分析及び処理して、異なる機能を有する要素に対しては固有のID及び名前を生成し、同じ機能を有する要素に対しては(ユーザーには、これらの要素が(互いに)異なる要素として見えるかもしれない場合であっても)同じID及び名前を生成することができる。
図2は、開示されている実施例と整合する、プロセッサ210及び非一時的な機械可読記憶媒体220を備える例示的な要素識別子生成装置200のブロック図である。要素識別子生成装置200は、デスクトップコンピューターやラップトップコンピューターや携帯型コンピューティング装置や携帯電話機などのコンピューティング装置を含むことができる。プロセッサ210を、機械可読記憶媒体220に格納されている命令の取り出し及び実行に適した、中央処理装置(CPU)、半導体ベースのマイクロプロセッサ、またはその他の任意のハードウェア装置とすることができる。具体的には、プロセッサ210は、複数のアクション検出命令230、要素識別命令232、変更されたコピー(複製物)生成命令234、固有識別子生成命令236、メトリック測定命令238、及びログ(記録)生成命令240をフェッチし、デコードし、及び実行して、詳細に後述する機能を実行することができる。
アクション検出命令230、要素識別命令232、変更されたコピー生成命令234、固有識別子生成命令236、メトリック測定命令238、及びログ生成命令240などの実行可能命令を、機械可読記憶媒体220の任意の部分及び/又は構成要素に格納することができる。機械可読記憶媒体220は、揮発性メモリ及び/もしくは不揮発性メモリとデータ記憶要素の両方を含むことができる。揮発性要素は、電力が供給されていないときにデータ値を保持しない記憶要素である。不揮発性要素は、電力が供給されていないときでもデータを保持する記憶要素である。
機械可読記憶媒体220は、たとえば、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、ハードディスクドライブ、ソリッドステートドライブ、USBフラッシュドライブ、メモリカードリーダでアクセスされるメモリカード、関連するフロッピーディスクドライブでアクセスされるフロッピーディスク、光ディスクドライブでアクセスされる光ディスク、適切なテープドライブでアクセスされる磁気テープ、及び/又は、その他のメモリ(記憶)要素、及び/又は、これらのメモリ要素のうちの任意の2つ及び/又は3つ以上の組み合わせを含むことができる。さらに、RAMは、たとえば、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、及び/又は、磁気ランダムアクセスメモリ(MRAM)、及びその他のそのようなデバイスを含むことができる。ROMは、たとえば、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、及び/又は、その他の同様のメモリデバイスを含むことができる。
機械可読記憶媒体220を、たとえば、要素識別子生成装置200のオペレーティングシステム(OS)の少なくとも一部を構成する、または、ユーザーインターフェースを提示するために該OS上で動作する個別のアプリケーションを構成する実行可能命令で符号化することができる(該実行可能命令を符号化して機械可読記憶媒体220に格納することができる)。別の例では、それらの実行可能命令をウェブブラウザに含めて、該ウェブブラウザが、本明細書で詳細に説明されているインターフェースを実施するようにすることができる。いくつかの実施例では、それらの実行可能命令を、ウェブブラウザが解釈できるJavaScript(ジャバスクリプト)などのウェブベースのスクリプトで実施することができる。他の適切な形式の実行可能命令を使用することもできる。
より具体的には、機械可読記憶媒体220を、構造化文書に関連付けられたアクションを検出して受け取るためのアクション検出命令230で符号化することができる(アクション検出命令230を符号化して機械可読記憶媒体220に格納することができる)。たとえば、DOMベースの構造化ウェブ(web)文書を含むアプリケーション115をクライアント140に表示することができる。クライアント140のユーザーは、アプリケーション115の要素をタップして、アプリケーション115に、その要素に対するアクションハンドラを起動させることができる。アクション検出命令230は、該ユーザーが該要素をタップしたことに応答して実行されることができるコードを該アクションハンドラに導入することができる。
たとえば、構造化文書に関連付けられたウェブアプリケーションは、JavaScript組込み関数「addEventListener」を含むことができる。さらなる処理のために、該アクションを起動した該要素をターゲット(目標)とされた要素(以下、ターゲットとされた要素を「ターゲット要素」という)として保存するために、該アプリケーションのロード中に、ある機能でこの組込み関数を無効にすることができる(または、さらなる処理のために、該アプリケーションのロード中に、該アクションを起動した該要素をターゲット要素として保存するための機能でこの組込み関数を無効にすることができる)。
機械可読記憶媒体220を、検出されたアクションに関連付けられた構造化文書の要素を識別するための要素識別命令232で符号化することができる(要素識別命令232を符号化して機械可読記憶媒体220に格納することができる)。要素識別命令232は、該アクションに関連付けられた選択された要素を識別(特定)するための命令、及び該選択された要素がターゲット要素を含んでいるか否かを判定するための命令を含むことができる。
いくつかの実施例では、ユーザーによって選択された要素は、「addEventListener」に以前に登録されたターゲット要素を含んでいないが、その子要素(child element)のうちの1つを含むことができる。たとえば、アクションハンドラをテキスト及び画像を含む表(テーブル)の行に登録することができる。ユーザーが選択した要素は、該テキスト要素及び/又は該画像要素を含むことができ、一方、該表の行は、該ターゲット要素を含む。
選択された要素がターゲット要素を含んでいるか否かを決定することによって、装置200は、(該ユーザーのアクションが異なる要素及び/又は関連する要素に対するものであっても)アプリケーション開発者が興味を持っている要素を識別することが可能になる。たとえば、要素識別命令232は、該選択された要素が、スタイル(style)要素を含んでいるか否か、及び/又は、該選択された要素が複数の子要素を有する親要素を含んでいるか否か、及び/又は、該選択された要素によって占有された表示スペース(表示空間)の大きさ(量)がある閾値を超えているか否かを判定することができる。
いくつかの実施例では、スタイル要素などのいくつかの要素タイプは、それらの要素が選択されたときに、要素識別命令232にターゲット要素を探させることができる。ユーザーによってスタイル要素が選択されると、ターゲット要素として識別される、スタイル要素の親要素及び/又は子要素を得ることができる。
いくつかの実施例では、子要素はユーザーによって選択されることができ、親要素はターゲット要素を含むことができる。この場合、同じ親html要素(たとえば表の行)内の異なるそれらの子要素に対するタップ動作を、該ターゲット要素の同じIDに分類することができる。
いくつかの実施例では、選択された要素が、無効にされたイベントリスナーを有していない場合には、要素識別命令232は、親要素を見つけるために文書構造を走査(スキャン)することができる。該文書のルートに到達したか、または、選択された要素の親要素が表示スペースのある閾値よりも大きい(たとえば画面の70%よりも大きい)スペースを占める場合には、該選択された要素をターゲット要素として指定することができ、そうでない場合には、該親要素をターゲット要素として指定することができる。
機械可読記憶媒体220を、該識別された要素の変更されたコピー(複製物)を生成するための変更されたコピー生成命令234で符号化することができる(変更されたコピー生成命令234を符号化して機械可読記憶媒体220に格納することができる)。たとえば、ターゲット要素に関連付けられた「この」構造のコピーを生成するために、JavaScriptをアクションハンドラにおいて使用することができる。該要素構造のコピーを、アプリケーションの他の機能に影響を与えることなく処理(ないし操作)することができる。
機械可読記憶媒体220を、該識別された要素の該変更されたコピーに関連付けられた固有の識別子(一意の識別子)を生成するための固有識別子生成命令236で符号化することができる(固有子識別子生成命令236を符号化して機械可読記憶媒体220に格納することができる)。たとえば、固有識別子生成命令236は、該識別された要素に関連付けられたデータ構造のコピーを生成し、該データ構造の該コピーに変更ルールを適用し、該識別された要素の名前を生成し、及び、該データ構造の該コピーをハッシュコードに変換することができる。いくつかの実施例では、該データ構造に適用される変更ルールは、該データ構造のコピーからある属性を除去することができる。
該固有の識別子を生成することは、該要素の変更されたDOMベースの構造を生成し、それを、IDを表す文字列に変換することができる。アプリケーションのいくつかの要素が、異なる内容を含んでいるが、同じDOM構造及びベースユニフォームリソースロケータ(URL)を有している場合には、それらの要素の各々に適用される変更ルールは、それらの要素のメトリック及び性能を集約(ないし統合)することを可能にする同じIDを生じることができる。
いくつかの実施例では、IDを生成することは、要素を構成する複数のノードについて繰り返すことによっていくつかの変更ルールを適用することができる。たとえば、変更ルールは、要素からテキストノードを除去することができ、及び/又は、「スタイル(style)」属性、「alt(オルト)」属性、及び/又は「ソース(src)」属性などのいくつかの(または所定の)属性をノードから除去することができる。いくつかの実施例では、パラメータをURLから除去し、及び/又は数値を除去することなどによって、それらの属性を変更することができる。
いくつかの実施例では、上記の変更ルールなどの変更ルールの標準的な集合をアプリケーションに対して使用することができる。いくつかの実施例では、アプリケーションの管理者及び/又は開発者は、自身のアプリケーションに適合するように、変更ルールを、追加、変更、及び/又は除去することができる。たとえば、アプリケーション開発者は、要素のノードに適用される、該特定のアプリケーションのコーディングスタイル(coding style)を考慮した正規表現(regex)を提供することができる。
固有識別子生成命令236は、結果として生じた変更された要素構造からハッシュコードを生成することができる。ハッシュコードの生成は、文字列を整数に変換する。たとえば、JavaScriptは、文字列を入力変数として受け取って、該文字列内の文字の文字コード値に基づいて整数値を返す「hashCode」関数を使用することができる。そのようなhashCode(ハッシュコード)関数の1例が下記の表1に記載されている。Cによるdjb2やmd5アルゴリズムなどの他の多くのハッシュ関数が利用可能である。
機械可読記憶媒体220を、該アクションに関連付けられたメトリックを測定するためのメトリック測定命令238で符号化することができる(メトリック測定命令238を符号化して機械可読記憶媒体220に格納することができる)。たとえば、該アクションに関連付けられたメトリックは、該アクションを完了するのに要した時間、及び/又は、該アクションを実行することによって消費されたリソース(たとえば、メモリ、記憶装置、処理能力など)の量を含むことができる。
機械可読記憶媒体220を、該固有の識別子、及び該アクションに関連付けられた該測定されたメトリックを含むログレコードを生成するためのログ生成命令240で符号化することができる(ログ生成命令240を符号化して機械可読記憶媒体220に格納することができる)。たとえば、ログレコードを、他の測定されたメトリックと集約(ないし統合)するためにログデータベースに渡すことができる。この場合、アプリケーションに関する性能分析報告を生成して、アプリケーション開発者が評価できるようにすることができる。
図3は、開示されている実施例と整合する例示的な装置300のブロック図である。図示されているように、コンピューティング装置300は、アクションエンジン330、要素エンジン340、及びログエンジン350を備えることができる。アクションエンジン330、要素エンジン340、及びログエンジン350の各々は、たとえば、プロセッサ、論理回路、及び/又は、その他のハードウェア及び/もしくはソフトウェアによる手段によって実行可能な、機械可読媒体に格納されている命令を含むことができる。
アクションエンジン330は、構造化文書の要素に関連付けられたアクションを受け取ることができる。たとえば、アクションエンジン330は、アプリケーションに関するアクションハンドラを含むことができる。ユーザーが、該アプリケーションに対して(ある要素をクリックするなどの)あるアクションを実行すると、そのアクションを処理するために、「mouseDown」(マウスダウン)などのアクションハンドラを呼び出すことができる。
アクションエンジン330はまた、伝送されたデータの量、及び/又は、該アクションを完了するのに要した時間、及び/又は、該アクションを実行することによって消費されたリソースの量などの、該アクションに関連付けられた性能メトリックを測定することができる。
いくつかの実施例では、要素エンジン340は、該アクションに関連付けられた要素がターゲット要素を含んでいるか否かを判定し、及び、該要素が該ターゲット要素を含んでいると判定したことに応答して、該要素の変更された属性にしたがって固有の識別子を生成することができる。該要素が該ターゲット要素を含んでいないと判定したことに応答して、要素エンジン340は、第2の要素を該ターゲット要素として識別することができる。
該アクションに関連付けられた要素がターゲット要素を含んでいるか否かを判定することは、(該ユーザーのアクションが異なる要素及び/又は関連する要素に対するものである場合でも)アプリケーション開発者が興味を持っている要素を要素エンジン340が識別することを可能にすることができる。たとえば、要素識別命令232と同様に、要素エンジン340は、選択された要素がスタイル要素を含んでいるか否か、及び/又は、選択された要素が、複数の子要素を有する親要素を含んでいるか否か、及び/又は、選択された要素によって占有された表示スペースの量がある閾値を超えているか否かを判定することができる。
要素エンジン340は、ターゲット要素の一部を変更することができる。たとえば、ターゲット要素は、複数のノードを含むDOMベースのデータ構造を有することができる。各ノードは、複数の属性を有することができる。要素エンジン340は、識別子生成命令236に関して上記した変更ルールなどの変更ルールを適用することができる。いくつかの実施例では、変更ルールは、属性から文字種(文字タイプ)を除去することができ、及び/又は、スタイル属性やalt属性やリンク属性やソース属性などの属性を該データ構造から除去することができる。
いくつかの実施例では、要素の識別子(ID)を要素エンジン340によって生成することができる。たとえば、要素エンジン340は、該変更ルールを適用した後に、該DOMベースのデータ構造中に結果として生成されたテキストのハッシュコードを生成することができる。
いくつかの実施例では、要素エンジン340は、ラベル(label)属性及び/又はタイトル(title)属性及び/又はalt属性及び/又は名前(name)属性にしたがって、要素の名前を生成することができる。たとえば、HTML フォーム要素は、該フォームに対する入力に関連付けられたラベル属性を有することができる。このラベルを、該要素の名前として使用することができる。別の例では、「入力(input)」、「a」、「フォーム(form)」、「ボタン(button)」、「インラインフレーム(iframe)」などの多くのhtml要素が、該要素の名前として使用することができる名前属性及び/又はID属性をサポートする。同様に、「alt」または「タイトル」属性の値を、該属性をサポートするそれらの要素の要素名として使用することもできる。
いくつかの実施例では、要素の名前を、要素のタイプに基づいて生成することができる。たとえば、「HTML」要素については、文書タイトル属性を要素の名前として使用することができる。選択要素については、選択されたオプションのテキストを、該要素の名前として使用することができる。
ログエンジン350は、該固有の識別子、及び受け取ったアクションに関連付けられたメトリックを含むログレコードを生成することができる。ログエンジン350はさらに、要素エンジン340によって生成された要素の名前をさらに含むログレコードを生成することができる。
いくつかの実施例では、アクションエンジン330、要素エンジン340、及びログエンジン350は、互いに相互作用をする(たとえば情報のやりとりを行う)ことができ、及び/又は、アプリケーションプログラミングインターフェース(API)を使用して他のアプリケーションと相互作用をすることができる。具体的には、アプリケーションのAPIは(それが局所的に実行されようと、またウェブベースのものであろうと)、他のアプリケーションに複数の関数(または機能)を公開することができる。同様に、オペレーティングシステムのAPIは、該OSの機能を制御するために使用される複数の関数(または機能)を公開することができる。
図4は、開示されている実施例と整合するアプリケーション400の1実施例である。アプリケーション400は、リスト表示領域420、複数のリスト項目画像430(A)〜(D)、及び複数のリスト項目説明440(A)〜(D)を含むことができる。たとえば、画像430(A)〜(D)及びそれらのそれぞれの説明(記述)440(A)〜(D)は、ユーザーによって検索ボックスに入力された検索から得られた結果を含むことができる。
画像430(A)〜(D)及び説明440(A)〜(D)は、構造化文書の要素を含むことができる。いくつかの実施例では、アプリケーションによって受け取られたアクションは、それらの要素のうちの1つ(画像430(A)など)の選択を含むことができる。ターゲット要素は、画像430(A)と説明440(A)の両方を子要素として含む親要素(表の行など)を含むことができる。
図5は、開示されている実施例と整合するウェブアプリケーション用の例示的な文書オブジェクトモデル(DOM)構造500である。DOM構造500は、複数の構造化要素を含むことができ、各々の構造化要素は複数のノードを含む。DOM構造500は、例示のために提示されたものであり、説明を明瞭かつ簡単にするために、プロダクションアプリケーション(production application)で使用されたいくつかの要素を省くことができる。
第1の要素510は、文書のタイプ(この例ではHTML文書)を識別することができる。第2の要素520は、タイトル(title)ノード及びスクリプトリンク(script link)ノードなどの情報ノードを含むことができる。第3の要素530は、アプリケーションに検索入力を提供することに関連付けられた複数のノードを含むことができる。
親要素535は、複数の子要素540(A)〜(B)を含むことができる。たとえば、親要素535をリスト表示領域420に対応付けることができ、及び子要素540(A)〜(B)をリスト項目画像430(A)〜(B)及びリスト項目説明440(A)〜(B)に対応付けることができる。
図6は、開示されている実施例と整合するメトリックを測定して記録するための方法の1実施例のフローチャートである。方法600の実行をシステム100の構成要素に関連して説明するが、当業者には、方法600を実行するための他の適切な構成要素が明らかであろう。方法600を、装置200の機械可読記憶媒体220などの機械可読記憶媒体に格納されている実行可能命令の形態で実装ないし実施することができる。
方法600は、ブロック610から開始してブロック620に進み、そこで、システム100は、要素に対するアクションを受け取ることができる。たとえば、クライアント140のユーザーが、リスト項目画像430(A)をクリックしたのに応答して、アクション検出命令230のアクションハンドラ、及び/又は子要素540(A)に関連付けられたアクションエンジン330のアクションハンドラを呼び出すことができる。アクションハンドラを、「touchStart」及び/又は「mouseDown」などのイベントリスナーに関連付けることができる。
次に、方法600はステージ630に進み、そこで、システム100は、該アクションに関連付けられた要素がターゲット要素を含んでいるか否かを判定することができる。ターゲット要素は、(アプリケーションの)開発者が性能を測定することに関心を持っている該アプリケーションの機能要素を含むことができる。いくつかの実施例では、デフォルトのアクションハンドラがアプリケーションの機能によって無効にされているところの要素として、ターゲット要素を識別することができる。選択された要素がターゲット要素を含んでいるか否かを判定することは、システム100が、(ユーザーのアクションが異なる要素及び/又は関連する要素に対するものである場合であっても)要素識別命令232及び/又は要素エンジン340を用いて、該アプリケーションの開発者が興味を持っている要素を識別することを可能にすることができる。
たとえば、クライアント140のユーザーは、アプリケーションの機能が、画像及び説明を含んでいる表の行に関するアクションハンドラから呼び出されたときに、リスト中の画像をタップすることができる。システム100は、該画像要素と該説明要素の各々が、表の行の要素の子要素であると決定(ないし判定)することによって、該画像と該説明の相互関係(ないし対応関係)を識別(特定)することができる。
ステージ630において、該選択された要素がターゲット要素を含んでいないと判定された場合には、方法600はステージ640に進み、そこで、システム100は、該ターゲット要素を識別することができる。上記の例では、要素識別命令232及び/又は要素エンジン340は、該画像が該選択された要素であった場合でも、該表の行の要素を該ターゲット要素として認識することができる。
ステージ630及び/又はステージ640において該ターゲット要素が識別されると、方法600はステージ650に進み、そこで、システム100は、該ターゲット要素の識別子(ID)を生成することができる。たとえば、アプリケーションサーバー110は、変更されたコピー生成命令234及び/又は要素エンジン340を用いて、該要素のデータ構造のコピーを生成し、及び、該コピーされた構造に変更ルールを適用して該識別子を生成することができる。IDの生成については、図7に関連してより詳しく説明する。
次に、方法600はステージ660に進み、そこで、システム100はログレコードを生成することができる。たとえば、アプリケーションサーバー110は、メトリック測定命令238及び/又はアクションエンジン330を用いて、該アクションに関連付けられたメトリック(該アクションが完了するのに要した時間など)を測定することができる。次に、アプリケーションサーバー110は、該ターゲット要素の名前、該生成された識別子、及び、該測定されたメトリックを含むログレコードを生成して、該ログレコードをログデータベースに渡す(送る)ことができる。その後、方法600は、ブロック670で終了することができる。
図7は、開示されている実施例と整合する要素識別子を生成するための方法の1実施例のフローチャートである。方法700の実行をシステム100の構成要素に関連して説明するが、当業者には、方法700を実行するための他の適切な構成要素が明らかであろう。方法700を、装置200の機械可読記憶媒体220などの機械可読記憶媒体に格納されている実行可能命令の形態で実装ないし実施することができる。
方法700は、ブロック705から開始してブロック710に進み、そこで、システム100は、要素のデータ構造のコピーを生成することができる。アプリケーション115は、変更されたコピー生成命令234及び/又は要素エンジン340を用いて、該ターゲット要素と同じデータを含む新たな要素データ構造を生成することができる。たとえば、該ターゲット要素は、DOM構造500の子要素540(A)を含むことができる。アプリケーション115は、元のデータ構造に影響を与えることなく、処理(ないし操作)のために、子要素540(A)のコピーを生成することができる。したがって、子要素540(A)のコピーは、以下のノードを含むことができる。
次に、方法700はステージ720に進み、そこで、システム100は、該要素の属性から文字種を除去することができる。たとえば、アプリケーション115は、変更されたコピー生成命令234及び/又は要素エンジン340を用いて、該要素のコピーに対して、該要素の各ノードについて繰り返して、それらの属性の各々の末尾から文字列中のアンダースコア及び/又は数字などの文字種を除去する変更ルールを適用することができる。たとえば、ノード「<li id="categoryProductItem_710406042_1016948" class="brand2productCatItem">」は、ノード「<liid="categoryProductItem" class="brand2 productCatItem">」に変更されることになる。
別の例では、該変更ルールは、属性からテキストを除去することができる。たとえば、ノード「"<a class="productItemName"href="/browse/product.do?cid=1016948 "> Black Shirt</a>」は、ノード「<a class="productItemName"href="/browse/product.do?cid=1016948 "></a>」に変更されることになる。
別の例では、該変更ルールは、URL属性からパラメータを除去することができる。たとえば、ノード「a href="/browse/product.do?cid=1016948 ">」は、ノード「<a href="/browse/product.do">」に変更されることになる。
これらの変更ルールの各々が適用されると、子要素540(A)のコピーは、以下のノードを含むことができる。
次に、方法700はステージ730に進み、そこで、システム100は、該要素から属性を部分的にまたは完全に除去することができる。たとえば、変更されたコピー生成命令234及び/又は要素エンジン340によって適用された変更ルールは、「alt」属性(オルト属性)を完全に除去することができ、及び、「src」属性(ソース属性)の値の部分を除去することができる。たとえば、変更されたノード「<img id="cimg" class="gridProdImg"alt="Black Shirt"src=http://a.b.c/abc/710406/quick/br7106-04qlv01.jpg name="cimg">」は、ノード「<img id="cimg" class="gridProdImg"src="" name="cimg">」に変更されることになる。これらの変更ルールの各々が適用されると、子要素540(A)のコピーは、以下のノードを含むことができる。
いくつかの実施例では、子要素540(B)に上記の変更ルールを適用することによって、子要素540(A)に関して上記したノードと同じノードを含む変更されたデータ構造を得ることができる。
次に、方法700はステージ740に進み、そこで、システム100は、該要素の名前を生成することができる。たとえば、要素エンジン340は、ラベル(label)属性、タイトル(title)属性、alt(オルト)属性、クラス(class)属性、及び/又は名前(name)属性にしたがって該要素の名前を生成することができる。いくつかの実施例では、該要素の名前を、要素のタイプに基づいて生成することができる。たとえば、子要素540(A)の場合は、第1のノードの「クラス(class)」属性、すなわち、「brand2 productCatItem」を、該要素の名前として使用することができる。
次に、方法700はステージ750に進み、そこで、システム100は、該要素のハッシュコードから識別子を生成することができる。たとえば、固有識別子生成命令236及び/又は要素エンジン340は、javascriptハッシュコード関数(機能)を含むことができる。上記の変更されたデータ構造に対してかかる関数を作用させると、−211083241という値を得ることができる。その後、方法700は、ステージ760で終了することができる。
別個のブロックを含むものとして説明したが、特定のインターフェース領域の表示が(説明した)順番に行われる必要はないことは明らかである。いくつかの実施例では、該インターフェース領域を表示のために同時に処理することができ、これによって、特定のインターフェース領域のいくつかの部分が、別のインターフェース領域の部分よりも(時間的に)前に表示装置に出力されるようにすることができる。
開示されている例は、革新的なバッファ生成(buffer generation)のためのシステム、装置、コンピューター可読記憶媒体、及び方法を含むことができる。説明のために、図1、図2、及び図3に示されている構成要素を参照していくつかの例が説明されている。図示されている構成要素の機能は、重複していてもよいが、より少ない数のもしくはより多くの数の要素及び構成要素に存在することができる。さらに、説明されている要素の機能の全てまたは一部は、いくつかの地理的に分散した位置に同時に存在するかまたは分散して存在することができる。さらに、開示されている例は、種々の環境において実施できるものであり、説明されている例には限定されない。
さらに、本明細書及び特許請求の範囲で使用されている「1つの」、「ある」、及び「該」ないし「前記」という単数形は、文脈上別段の意味であることが示されていない限り、複数形も含むことが意図されている。さらに、種々の要素を記述するために「第1」や「第2」などの用語が本明細書において使用されている場合があるが、それらの要素はかかる用語によって限定されるものではない。それらの用語は、ある1つの要素を別の要素と区別するために使用されているにすぎない。
さらに、図1〜図8に関連して説明されている動作の順番は、例示であって、限定することは意図されていない。開示されている例の範囲から逸脱することなく、追加の処理またはより少ない処理、または処理の組み合わせを使用することができ、またはそれらの処理を変更することができる。したがって、本開示は、単に、可能性のある実施例を説明したものであり、説明されている例に対して多くの変形及び修正を行うことができる。そのような全ての修正及び変形は、本開示の範囲内に含まれること及び特許請求の範囲によって保護されることが意図されている。
詳細に上述した実施例によれば、要素識別子を生成し、及びアプリケーション用の測定されたメトリックを記録するためのシステム及び方法が開示されている。

Claims (15)

  1. 要素識別子を生成するためのシステムであって、
    アプリケーションの構造化文書の要素に関連付けられたアクションを受け取り、及び、前記受け取ったアクションに関連付けられたメトリックを測定するためのアクションエンジンと、
    前記要素がターゲット要素を含んでいるか否かを判定し、及び、前記要素が該ターゲット要素を含んでいると判定したことに応答して、固有の識別子を生成するために前記要素の属性を変更し、該要素の該変更された属性にしたがって固有の識別子を生成するための要素エンジンと、
    前記固有の識別子と前記受け取ったアクションに関連付けられた前記メトリックとを含むログレコードを生成するためのログエンジン
    を備えるシステム。
  2. 前記要素エンジンは、前記要素の名前を生成し、前記ログレコードは、前記生成された名前をさらに含むことからなる、請求項1のシステム。
  3. 前記要素エンジンは、前記属性から特定の文字種に該当する文字を除去することによって、前記要素の前記変更された属性にしたがって前記固有の識別子を生成することからなる、請求項1または2のシステム。
  4. 前記要素エンジンは、前記要素の第2の属性を除去することによって、前記要素の前記変更された属性にしたがって前記固有の識別子を生成することからなる、請求項1〜3のいずれかのシステム。
  5. 前記第2の属性は、スタイル属性、alt属性、リンク属性、及びソース属性のうちの少なくとも1つを含む、請求項4のシステム。
  6. 前記要素エンジンは、前記要素にしたがってハッシュコードを生成することによって、前記要素の前記変更された属性にしたがって前記固有の識別子を生成することからなる、請求項1〜5のいずれかのシステム。
  7. 前記要素エンジンは、前記要素が前記ターゲット要素を含んでいないと判定したことに応答して、第2の要素を前記ターゲット要素として識別する、請求項1〜6のいずれかのシステム。
  8. 要素識別子を生成するための命令を含む非一時的な機械可読記憶媒体であって、
    前記命令は、プロセッサによって実行されると、該プロセッサに、
    構造化文書に関連付けられたアクションを検出することと、
    前記アクションに関連付けられた前記構造化文書の要素を識別することと、
    前記識別された要素のコピーを生成して、該コピーを変更することと、
    前記識別された要素の前記変更されたコピーに関連付けられた固有の識別子を生成することと、
    前記アクションに関連付けられたメトリックを測定することと、
    前記固有の識別子と前記アクションに関連付けられた前記測定されたメトリックとを含むログレコードを生成すること
    を実行させることからなる、機械可読記憶媒体。
  9. 前記アクションに関連付けられた前記測定されたメトリックは、該アクションに応答して実行される処理を完了するのに要した時間を含む、請求項8の機械可読記憶媒体。
  10. 前記アクションに関連付けられた前記構造化文書の要素を識別するための前記命令が、
    前記アクションに関連付けられた選択された要素を識別するための命令と、
    前記選択された要素がターゲット要素を含んでいるか否かを判定するための命令
    を含むことからなる、請求項8または9の機械可読記憶媒体。
  11. 前記選択された要素がターゲット要素を含んでいるか否かを判定するための前記命令が、
    前記選択された要素がスタイル要素を含んでいるか否かを判定するための命令と、
    前記選択された要素が複数の子要素を含んでいるか否かを判定するための命令と、
    前記選択された要素によって占有された表示スペースの大きさがある閾値を超えているか否かを判定するための命令
    を含むことからなる、請求項10の機械可読記憶媒体。
  12. 前記識別された要素の前記変更されたコピーに関連付けられた固有の識別子を生成するための前記命令が、
    前記識別された要素に関連付けられたデータ構造のコピーを生成するための命令と、
    変更ルールを前記データ構造の前記コピーに適用するための命令と、
    前記識別された要素の名前を生成するための命令と、
    前記データ構造の前記コピーをハッシュコードに変換するための命令
    を含むことからなる、請求項8〜11のいずれかの機械可読記憶媒体。
  13. 前記変更ルールが、前記データ構造の前記コピーから少なくとも1つの属性を除去することを含む、請求項12の機械可読記憶媒体。
  14. 要素識別子を生成するためのコンピューターによって実施される方法であって、
    アクションエンジンによって、アプリケーションの構造化文書の複数の要素に関連付けられたアクションハンドラを無効にすることと、
    前記アクションエンジンによって、前記アクションハンドラを介して前記複数の要素のうちの1つの要素に関連付けられたアクションを受け取ることと、
    要素エンジンによって、前記受け取ったアクションに対するターゲット要素を識別することと、
    前記要素エンジンによって、前記ターゲット要素のデータ構造のコピーを生成することと、
    前記要素エンジンによって、変更ルールにしたがって、前記コピーされたデータ構造の複数の属性を変更することと、
    前記要素エンジンによって、前記ターゲット要素の名前を生成することと、
    前記要素エンジンによって、前記コピーされたデータ構造の前記変更された複数の属性のハッシュコードにしたがって、前記ターゲット要素の固有の識別子を生成することと、
    前記アクションエンジンによって、前記ターゲット要素に対する前記受け取ったアクションに応答して実行される処理を完了するのに必要な時間を測定することと、
    ログエンジンによって、前記生成された名前、前記固有の識別子、及び前記ターゲット要素に対する前記受け取ったアクションに応答して実行される処理を完了するのに必要な前記測定された時間を含むログレコードを生成すること
    を含む方法。
  15. 前記変更ルールは、
    前記複数の属性からある属性を除去することと、
    前記複数の属性のうちのある属性から特定の文字種に該当する文字を除去することと、
    前記複数の属性のうちのある属性からフィールド値文字列を除去すること
    とのうちの少なくとも1つを含むことからなる、請求項14の方法。
JP2017536780A 2015-02-24 2015-02-24 要素識別子の生成 Active JP6505849B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/017185 WO2016137435A1 (en) 2015-02-24 2015-02-24 Element identifier generation

Publications (2)

Publication Number Publication Date
JP2018506783A JP2018506783A (ja) 2018-03-08
JP6505849B2 true JP6505849B2 (ja) 2019-04-24

Family

ID=56789076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017536780A Active JP6505849B2 (ja) 2015-02-24 2015-02-24 要素識別子の生成

Country Status (5)

Country Link
US (1) US10289613B2 (ja)
EP (1) EP3262531A1 (ja)
JP (1) JP6505849B2 (ja)
CN (1) CN107533544B (ja)
WO (1) WO2016137435A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10114857B1 (en) * 2017-11-13 2018-10-30 Lendingclub Corporation Techniques for performing multi-system computer operations
US11341380B2 (en) * 2018-08-03 2022-05-24 Hewlett-Packard Development Company, L.P. Consumable characteristic identification
US11290541B2 (en) 2019-03-19 2022-03-29 International Business Machines Corporation Synchronous client-side log service
US11157680B1 (en) * 2021-02-23 2021-10-26 Adobe Inc. Systems for suggesting content components

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523191B1 (en) * 2000-06-02 2009-04-21 Yahoo! Inc. System and method for monitoring user interaction with web pages
US20020184363A1 (en) * 2001-04-20 2002-12-05 Steven Viavant Techniques for server-controlled measurement of client-side performance
US7330887B1 (en) 2003-01-06 2008-02-12 Cisco Technology, Inc. Method and system for testing web-based applications
US7441195B2 (en) 2003-03-04 2008-10-21 Omniture, Inc. Associating website clicks with links on a web page
US8079037B2 (en) 2005-10-11 2011-12-13 Knoa Software, Inc. Generic, multi-instance method and GUI detection system for tracking and monitoring computer applications
US8504913B2 (en) 2007-06-08 2013-08-06 Apple Inc. Client-side components
JP5063258B2 (ja) * 2007-08-23 2012-10-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 操作ログを記録するためのシステム、方法およびコンピュータ・プログラム
US8631116B2 (en) * 2007-11-28 2014-01-14 Ccip Corp. System and method for active business configured website monitoring
US7953850B2 (en) * 2008-10-03 2011-05-31 Computer Associates Think, Inc. Monitoring related content requests
US8407321B2 (en) * 2010-04-21 2013-03-26 Microsoft Corporation Capturing web-based scenarios
CN103460174B (zh) * 2011-03-31 2017-12-12 惠普发展公司,有限责任合伙企业 增加用户界面元素
US8655907B2 (en) * 2011-07-18 2014-02-18 Google Inc. Multi-channel conversion path position reporting
JP5764255B2 (ja) * 2012-03-02 2015-08-19 株式会社日立製作所 ユーザ操作検出システムおよびユーザ操作検出方法
US20130332813A1 (en) 2012-06-06 2013-12-12 Sap Ag Generic Workspace Awareness Support for Collaborative Web Applications
US9356842B2 (en) 2012-11-09 2016-05-31 Dynatrace Llc Method and system for browser based, non-intrusive measuring of end-user perceived performance of individual third party resource requests
GB2508190A (en) * 2012-11-22 2014-05-28 Wonga Technology Ltd Monitoring user interaction with webpages using unique identifiers for page components
US20150254219A1 (en) * 2014-03-05 2015-09-10 Adincon Networks LTD Method and system for injecting content into existing computerized data

Also Published As

Publication number Publication date
WO2016137435A1 (en) 2016-09-01
US20170286473A1 (en) 2017-10-05
EP3262531A1 (en) 2018-01-03
CN107533544B (zh) 2021-01-08
CN107533544A (zh) 2018-01-02
JP2018506783A (ja) 2018-03-08
US10289613B2 (en) 2019-05-14

Similar Documents

Publication Publication Date Title
US8914496B1 (en) Tracking user behavior relative to a network page
WO2021184725A1 (zh) 用户界面测试方法、装置、存储介质及计算机设备
US9507480B1 (en) Interface optimization application
US10353721B2 (en) Systems and methods for guided live help
US9910992B2 (en) Presentation of user interface elements based on rules
CN111428177A (zh) 用于web内容生成的方法和***
US10175954B2 (en) Method of processing big data, including arranging icons in a workflow GUI by a user, checking process availability and syntax, converting the workflow into execution code, monitoring the workflow, and displaying associated information
US20180131779A1 (en) Recording And Triggering Web And Native Mobile Application Events With Mapped Data Fields
US9740668B1 (en) Plotting webpage loading speeds and altering webpages and a service based on latency and pixel density
US11580294B2 (en) Techniques for web framework detection
JP6505849B2 (ja) 要素識別子の生成
CN110968314B (zh) 一种页面生成方法及装置
US9294538B1 (en) Dynamic content injection
CN112817817B (zh) 埋点信息查询方法、装置、计算机设备和存储介质
US20200097262A1 (en) Providing a reuse capability for visual programming logic within a building tool
US20160292067A1 (en) System and method for keyword based testing of custom components
CN110708270B (zh) 异常链接检测方法以及装置
CN113515715B (zh) 埋点事件编码的生成方法、处理方法及相关设备
WO2016107457A1 (zh) 一种信息展示方法及装置
WO2016029705A1 (zh) 一种网页工具条的***方法、装置及存储介质
US10229095B2 (en) Expanded icon navigation
US11907320B2 (en) Digital content operation testing
US11960560B1 (en) Methods for analyzing recurring accessibility issues with dynamic web site behavior and devices thereof
US11907310B2 (en) Data correlation system and method
US20230095711A1 (en) Data Extraction Approach For Retail Crawling Engine

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180912

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190327

R150 Certificate of patent or registration of utility model

Ref document number: 6505849

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250