(57)【要約】  本願は、インターフェースデータの提示方法及び装置を開示する。この方法は：バーチャルビューノードを取得するために、サーバにより送信される、インターフェーステンプレートの構造化データを構文解析するステップであって、インターフェーステンプレートの構造化データは一般的なプロトコルマークアップ言語で書かれたインターフェーステンプレートデータを構文解析することにより、サーバで生成され、インターフェーステンプレートデータはウィジェットを記述するための共通タグを含む、インターフェーステンプレートの構造化データを構文解析するステップと；前記バーチャルビューノードにサービスデータをバインドするステップと；サービスデータがバインドされたバーチャルビューノードに基づいてウィジェットの位置情報を計算するステップと；ウィジェットの位置情報に基づいてビューをレンダリングするステップと；を含む、インターフェースデータの提示方法である。本願は、クライアントアプリケーションのインターフェースを動的に更新できる。
2019503538.tif 000002
【特許請求の範囲】
【請求項１】
クライアントアプリケーションで実行される、インターフェースデータの提示方法であって：
バーチャルビューノードを取得するために、サーバにより配信される、インターフェーステンプレートの構造化データを構文解析するステップであって、前記インターフェーステンプレートの前記構造化データは、プロトコルマークアップ言語で書かれたインターフェーステンプレートデータを構文解析することによって前記サーバによって生成され、前記インターフェーステンプレートデータは、ウィジェットを記述するための共通タグを含む、バーチャルビューノードを取得するために、サーバにより配信される、インターフェーステンプレートの構造化データを構文解析するステップと；
サービスデータを前記バーチャルビューノードにバインドするステップと；
前記サービスデータがバインドされた前記バーチャルビューノードに基づいて前記ウィジェットの位置情報を計算し、前記ウィジェットの前記位置情報に基づいてビューをレンダリングするステップと；を備える、
クライアントアプリケーションで実行される、インターフェースデータの提示方法。
【請求項２】
前記プロトコルマークアップ言語はＨＴＭＬであり、前記構造化データはＪＳＯＮデータ又はＸＭＬデータである、
請求項１に記載の提示方法。
【請求項３】
前記バーチャルビューノードに格納された情報は、前記共通タグの関連情報、及び／又は前記クライアントアプリケーションのタイプ、及び／又は前記クライアントアプリケーションにおける応答イベントに関する情報を含む、
請求項１に記載の提示方法。
【請求項４】
更新されたインターフェーステンプレートの構造化データを受信した後、前記クライアントアプリケーションによって前記バーチャルビューノードに格納された前記関連情報を更新するステップ；を更に備える、
請求項１に記載の提示方法。
【請求項５】
前記サーバから前記サービスデータを取得した後、前記サービスデータに対応するインターフェーステンプレートの構造化データが特定されていない場合には、前記クライアントアプリケーションによって前記サーバに前記サービスデータに対応する前記インターフェーステンプレートの前記構造化データを要求するステップ；を更に備える、
請求項１に記載の提示方法。
【請求項６】
前記ウィジェットの前記位置情報に基づいてビューをレンダリングする前記ステップは：
各ウィジェットの位置情報を計算した後、前記ウィジェットの前記位置情報を取得し、前記ウィジェットを前記ビューにレンダリングするステップ；を備える、
請求項１に記載の提示方法。
【請求項７】
サーバ上で実行される、インターフェースデータの提示方法であって：
構造化データを得るために、プロトコルマークアップ言語で書かれたインターフェーステンプレートデータを構文解析するステップであって、前記インターフェーステンプレートデータはウィジェットを記述するための共通タグを含む、プロトコルマークアップ言語で書かれたインターフェーステンプレートデータを構文解析するステップと；
クライアントアプリケーションが前記ウィジェットをビューにレンダリングするよう、前記構造化データを前記クライアントアプリケーションへ配信するステップと；を備える、
サーバ上で実行される、インターフェースデータの提示方法。
【請求項８】
前記プロトコルマークアップ言語はＨＴＭＬであり、前記構造化データはＪＳＯＮデータであり、前記共通タグは前記ＪＳＯＮデータのＤＯＭノードに格納される、
請求項７に記載の提示方法。
【請求項９】
クライアントアプリケーションに配置される、インターフェースデータの提示装置であって：
バーチャルビューノードを取得するために、サーバにより配信され、インターフェーステンプレートの構造化データを構文解析するように構成される構文解析エンジンモジュールであって、前記インターフェーステンプレートの前記構造化データは、プロトコルマークアップ言語で書かれたインターフェーステンプレートデータを前記サーバで構文解析することによって生成され、前記インターフェーステンプレートデータは、ウィジェットを記述するための共通タグを含む、バーチャルビューノードを取得するために、サーバにより配信され、インターフェーステンプレートの構造化データを構文解析するように構成された構文解析エンジンモジュールと；
サービスデータをバーチャルビューノードにバインドするように構成されたバインディングモジュールと；
サービスデータがバインドされている前記バーチャルビューノードに基づいて前記ウィジェットの位置情報を計算するように構成されたレイアウトエンジンモジュールと；
前記ウィジェットの前記位置情報に基づいてビューをレンダリングするように構成されたレンダリングエンジンモジュールと；を備える、
クライアントアプリケーションに配置される、インターフェースデータの提示装置。
【請求項１０】
前記プロトコルマークアップ言語はＨＴＭＬであり、前記構造化データはＪＳＯＮデータ又はＸＭＬデータである、
請求項９に記載の提示装置。
【請求項１１】
前記バーチャルビューノードに格納された情報は、前記共通タグの関連情報、及び／又は前記クライアントアプリケーションのタイプ、及び／又は前記クライアントアプリケーション内の応答イベントに関する情報を含む、
請求項９に記載の提示装置。
【請求項１２】
前記構文解析エンジンモジュールは、前記クライアントアプリケーションが更新されたインターフェーステンプレートの構造化データを受信した後に、前記格納された関連情報を更新するように前記バーチャルビューノードに命令するようにさらに構成された、
請求項９に記載の提示装置。
【請求項１３】
前記サーバから配信された前記サービスデータを受信して前記サービスデータを前記構文解析エンジンモジュールへ送信し、前記構文解析エンジンモジュールからの通知に基づいて前記サーバに前記サービスデータを要求するように構成されたサービスデータモジュールを更に備え、
前記構文解析エンジンモジュールは、前記サービスデータに対応するインターフェーステンプレートの構造化データが特定されないとき、前記サービスデータモジュールに通知を送信するように構成される、
請求項９に記載の提示装置。
【請求項１４】
前記レンダリングエンジンモジュールが、前記ウィジェットの前記位置情報に基づいてビューを前記レンダリングすることは：
ウィジェットの位置情報を前記レイアウトエンジンモジュールが計算した後、前記ウィジェットの前記位置情報を取得すること；及び、前記ウィジェットを前記ビューにレンダリングすること；を備える、
請求項９に記載の提示装置。
【請求項１５】
サーバに配置されている、インターフェースデータの提示装置であって：
構造化データを得るために、プロトコルマークアップ言語で書かれたインターフェーステンプレートデータを構文解析するように構成される構文解析エンジンモジュールであって、前記インターフェーステンプレートデータはウィジェットを記述するための共通タグを含む、プロトコルマークアップ言語で書かれたインターフェーステンプレートデータを構文解析するように構成された構文解析エンジンモジュールと；
クライアントアプリケーションが前記ウィジェットをビューにレンダリングするよう、前記構造化データを前記クライアントアプリケーションへ配信するように構成された通信モジュールと；を備える、
サーバに配置されている、インターフェースデータの提示装置。
【請求項１６】
前記プロトコルマークアップ言語はＨＴＭＬであり、前記構造化データはＪＳＯＮデータであり、前記共通タグは前記ＪＳＯＮデータのＤＯＭノードに格納される、
請求項１５に記載の提示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願はデータ提示（表示）技術に関し、特に、インターフェースデータの提示（表示）方法及び装置に関する。
【背景技術】
【０００２】
クライアントアプリケーションのインターフェースのフレームワーク（枠組み）は、ネイティブコードで記述されるのが普通である。インターフェースのフレームワークは、サービスのニーズに基づいて事前に設定された後は変更されないままであってよい。各インターフェースのフレームワーク及びスタイルは、対応するサービスデータ構造に適合させることができる。サービスの変更に基づいてインターフェースのフレームワークを変更する必要がある場合、又は新しいサービスデータを追加するために新しいフレームワークインターフェースを追加する必要がある場合、通常は、クライアントアプリケーションを再コンパイルし、再ダウンロードし、再インストールする必要がある。ユーザがクライアントアプリケーションを更新しない場合、サービスデータの変更又は追加をユーザに提示できない。
【発明の概要】
【０００３】
本願は、クライアントアプリケーションのインターフェースを動的に更新するための、インターフェースデータの提示方法及び装置を提供する。
【０００４】
本願の第１の実施の形態によれば、バーチャルビューノードを取得するために、サーバにより配信される、インターフェーステンプレートの構造化データを構文解析するステップであって、前記インターフェーステンプレートの前記構造化データは、（一般的な）プロトコルマークアップ言語で書かれたインターフェーステンプレートデータを構文解析することによって前記サーバによって生成され、前記インターフェーステンプレートデータは、ウィジェットを記述するための共通タグを含む、バーチャルビューノードを取得するために、サーバにより配信される、インターフェーステンプレートの構造化データを構文解析するステップと；
サービスデータを前記バーチャルビューノードにバインドするステップと；
前記サービスデータがバインドされた前記バーチャルビューノードに基づいて前記ウィジェットの位置情報を計算し、前記ウィジェットの前記位置情報に基づいてビューをレンダリングするステップと；を備える、
クライアントアプリケーションで実行される、インターフェースデータの提示方法が提供される。
【０００５】
本願の第２の実施の形態によれば、構造化データを得るために、（一般的な）プロトコルマークアップ言語で書かれたインターフェーステンプレートデータを構文解析するステップであって、前記インターフェーステンプレートデータはウィジェットを記述するための共通タグを含む、プロトコルマークアップ言語で書かれたインターフェーステンプレートデータを構文解析するステップと；
クライアントアプリケーションが前記ウィジェットをビューにレンダリングするよう、前記構造化データを前記クライアントアプリケーションへ配信するステップと；を備える、
サーバ上で実行される、インターフェースデータの提示方法が提供される。
【０００６】
本願の第３の実施の形態によれば、バーチャルビューノードを取得するために、サーバにより配信され、インターフェーステンプレートの構造化データを構文解析するように構成される構文解析エンジンモジュールであって、前記インターフェーステンプレートの前記構造化データは、（一般的）なプロトコルマークアップ言語で書かれたインターフェーステンプレートデータを前記サーバで構文解析することによって生成され、前記インターフェーステンプレートデータは、ウィジェットを記述するための共通タグを含む、バーチャルビューノードを取得するために、サーバにより配信され、インターフェーステンプレートの構造化データを構文解析するように構成された構文解析エンジンモジュールと；
サービスデータをバーチャルビューノードにバインドするように構成されたバインディングモジュールと；
サービスデータがバインドされている前記バーチャルビューノードに基づいて前記ウィジェットの位置情報を計算するように構成されたレイアウトエンジンモジュールと；
前記ウィジェットの前記位置情報に基づいてビューをレンダリングするように構成されたレンダリングエンジンモジュールと；を備える、
クライアントアプリケーションに配置される、インターフェースデータの提示装置が提供される。
【０００７】
本願の第４の実施の形態によれば、  構造化データを得るために、（一般的な）プロトコルマークアップ言語で書かれたインターフェーステンプレートデータを構文解析するように構成される構文解析エンジンモジュールであって、前記インターフェーステンプレートデータはウィジェットを記述するための共通タグを含む、プロトコルマークアップ言語で書かれたインターフェーステンプレートデータを構文解析するように構成された構文解析エンジンモジュールと；
クライアントアプリケーションが前記ウィジェットをビューにレンダリングするよう、前記構造化データを前記クライアントアプリケーションへ配信するように構成された通信モジュールと；を備える、
サーバに配置されている、インターフェースデータの提示装置が提供される。
【０００８】
本願は、ネイティブコードの代わりにインターフェーステンプレート技術を用いてクライアントアプリケーションのインターフェースのフレームワークを実装し、それに応じてクライアントアプリケーションがインターフェーステンプレートを用いてサービスデータを提示する解決策を提供する。これにより、クライアントアプリケーションを更新せずにインターフェースを更新できるだけでなく、サーバがインターフェーステンプレートデータを構文解析して構造化データを取得できるので、開発者は一般的なマークアップ言語でインターフェーステンプレートを設計できる。したがって、開発者は専有プロトコルを学習する必要がなくなり、本願の解決策はより汎用性のあるものになる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本願の実施に係る、インターフェースデータの提示方法を示すフローチャートである。
【００１０】
【図２】図２は、本願に係る、適用例における情報の相互作用のタイミングシーケンスを示す図である。
【００１１】
【図３】図３は、本願の実施に係る、インターフェースデータの提示装置のハードウェアを示す構造図である。
【００１２】
【図４】図４は、本願の実施に係る、インターフェースデータの提示装置を示すソフトウェアロジックのブロック図である。
【００１３】
【図５】図５は、本願の別の実施に係る、インターフェースデータの提示装置を示すソフトウェアロジックのブロック図である。
【発明を実施するための形態】
【００１４】
実施例を添付図面に提示し、ここにその詳細を記載する。以下の説明で添付図面を参照する場合、特に指定のない限り、異なる図面における同じ番号は、同一又は類似の要素を表す。以下の実施例で説明される実施は、本願に係るすべての実施を代表するものではない。それどころか、それらは添付の特許請求の範囲に詳細に記載され、本願のいくつかの態様に従う装置及び方法の単なる例である。
【００１５】
本願で用いる用語は、単に、実施を説明するためにだけ使用されており、本願を限定するものではない。本願及び付帯する特許請求の範囲で使用される単数形の用語「ある」、「前記」及び「その」は、文脈で特に指定のない限り、複数形を含むことを意図されている。また、ここで用いる用語「及び／又は」は、一の又は複数の関連するリスト化されたアイテムの、任意の又はすべての可能な組み合わせを表し且つ含むことを理解されたい。
【００１６】
さまざまな情報を記述するために、本願では用語「第１の」、「第２の」、「第３の」などを使用するが、それら情報はこれらの用語によって制限されないことを理解されたい。これらの用語は、単に同じタイプの情報を識別するために使用される。例えば、本願の範囲から逸脱することなく、第１の情報を第２の情報と言い及ぶこともでき、同様に第２の情報も第１の情報と言い及ぶこともできる。文脈に応じて、例えば、ここで使用される単語「である場合」は、「である一方」又は「であるとき」又は「判定に応じて」と説明することができる。
【００１７】
本願では、インターフェーステンプレートはクライアントアプリケーションから分離でき、インターフェーステンプレートを動的に更新し、アプリケーション開発者が一般的なプロトコルマークアップ言語に基づいてインターフェーステンプレートを書けるようにする。クライアントアプリケーションは、移動端末、タブレット、又はコンピュータなどのさまざまなスマートデバイス上でロードすることができる。この解決策は、スマートデバイス上の特定の種類のオペレーティングシステムに限定されない。例えば、オペレーティングシステムには、ｉＯＳシステム、Ａｎｄｒｏｉｄ（登録商標）システム、Ｗｉｎｄｏｗｓ（登録商標）システム、ＯＳ  Ｘシステムなどであってもよい。一般的なプロトコルマークアップ言語は、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）言語であってよい。もちろん、インターフェースの作成に適する、標準的で一般的なプロトコルで指定されている他の言語は除外されない。
【００１８】
本願におけるインターフェーステンプレートは、レイアウト関係、表示（提示）スタイル、いくつかの共通要素の操作制御ロジックを含むが、サービスデータを含まないインターフェースのフレームワークとすることができる。インターフェーステンプレートは、ＨＴＭＬ、ＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）、及びＪＳ（Ｊａｖａｓｃｒｉｐｔ（登録商標））を用いて実装できる。共通要素には、ＨＴＭＬソースコード内のインターフェーステンプレートデータ用の共通タグを含むことができる。ウィジェット（ｗｉｄｇｅｔ）は、Ｂｏｄｙタグ、Ｄｉｖタグ、Ｔｉｔｌｅタグ、Ｌａｂｅｌタグ、Ｉｍｇタグなどの共通タグを用いて記述される。共通要素は、表示スタイルを表示する要素を含むこともできる。表示スタイルはＣＳＳを用いて実装できる。レイアウトは、ＨＴＭＬで書かれたインターフェースにＣＳＳを用いて指定する。もちろん、インターフェースレイアウトを指定する他の方法は除外されない。ＪＳを用いて、表示内容、表示エフェクト、共通タグのレイアウト関係調整、及びユーザ操作の処理を制御できる。
【００１９】
アプリケーション開発者が記述したインターフェーステンプレートがサーバ上に設定されると、サーバはインターフェーステンプレートデータをインターフェーステンプレートの構造化データに変換し、インターフェーステンプレートの構造化データをクライアントアプリケーションへ送信する。図１に示すように、クライアントアプリケーションが構造化データを受信した後、ワーク工程は以下のステップを含むことができる：
【００２０】
Ｓ１０１：クライアントアプリケーションは、サーバによって送信されたインターフェーステンプレートの構造化データを構文解析し（パースし）、バーチャルビューノードを取得する。
【００２１】
Ｓ１０２：サービスデータをバーチャルビューノードにバインド（紐付ける、関連付ける）する。
【００２２】
Ｓ１０３：サービスデータがバインドされているバーチャルビューノードに基づいて、ウィジェットの位置情報を計算する。
【００２３】
Ｓ１０４：ウィジェットの位置情報に基づいてビューをレンダリング（ｒｅｎｄｅｒｉｎｇ）する。
【００２４】
サーバのワーク工程は、インターフェーステンプレートデータを変換する処理と、インターフェーステンプレートの構造化データを配信する処理と、クライアントアプリケーションとサービスデータを交換する処理とを含むことができる。
【００２５】
ＨＴＭＬの構文解析パフォーマンスが悪いという課題を解決するために、サーバがインターフェーステンプレートデータをクライアントアプリケーションへ送信する前に、サーバは、まずインターフェーステンプレートデータを構文解析して構造化データを取得し、その後その構造化データをクライアントアプリケーションへ送る。これにより、クライアントアプリケーションによるＨＴＭＬの構文解析処理を回避できる。選択された構造化データは、ＪＳＯＮ形式やＸＭＬ形式などのオブジェクトモードを直接に表現できるコンパクトなデータ構造を持つことができる。ＪＳＯＮ形式が一例として用いられている。ＨＴＭＬは、ＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅ）を取得するために構文解析することができる。ＤＯＭノードは、ＨＴＭＬ共通タグの関連情報を格納する。ＤＯＭノードは、インターフェース内のウィジェットの相対的な位置を記述する。これは、共通タグを用いて記述する。ＪＳＯＮ形式の構文木はＨＴＭＬの構文木よりも簡単なので、クライアントアプリケーションはＨＴＭＬデータよりも効率的にＪＳＯＮ形式のデータを構文解析できる。
【００２６】
各インターフェーステンプレートは、異なるインターフェーステンプレートを区別するために一意のインターフェース識別子を有する。構造化されたデータを取得するためにインターフェーステンプレートデータが構文解析された後、構造化されたデータはサーバによってクライアントアプリケーションへ配信されるので、クライアントアプリケーションはその後、構造化データを用いてサービスデータを提示する。インターフェーステンプレートの構造化データはインターフェース識別子を含む。
【００２７】
更新されたインターフェーステンプレートをクライアントアプリケーションへ配信する工程は、種々のサービスシナリオ毎に異なる場合がある。例えば、インターフェーステンプレートを更新した後、サーバは、インターフェーステンプレートを構文解析して得られた新しい構造化データをクライアントアプリケーションへ積極的に配信したり、構造化データをクライアントアプリケーションへ必要に応じて配信したりすることができる。
【００２８】
クライアントアプリケーションのワーク工程には、インターフェーステンプレートの構造化データを構文解析して保存する工程と、サービスデータをサーバと交換する工程と、サービスデータをインターフェーステンプレートにバインドする工程と、ビューをレンダリングする工程とが含まれる。
【００２９】
インターフェーステンプレートの構造化データが、サーバによってクライアントアプリケーションへ送信された後、クライアントアプリケーションはインターフェーステンプレートの構造化データを構文解析し、ストレージ用にツリー構造のバーチャルビューノードを生成する。各バーチャルビューノードは、共通タグの関連情報などのＨＴＭＬ内のＤＯＭノードの基本情報を格納することができ、対応するクライアントアプリケーション内のタイプ情報や、クライアントアプリケーション内の応答イベントに関する情報などをさらに含むことができる。ＨＴＭＬ共通タグを用いて記述されたウィジェットの位置情報は、バーチャルビューノードを用いて計算できる。
【００３０】
サービスデータ交換手順がトリガされた後、クライアントアプリケーションはサーバからサービスデータを取得し、サーバはサービスデータを配信するときにサービスデータに対応するテンプレート識別子をクライアントアプリケーションへ配信できる。
【００３１】
例として、サービスデータをインターフェーステンプレートにバインドする工程は、ＪＳエンジンで駆動されるインターフェーステンプレートでＪＳスクリプトを用いて実装できる。サービスデータは、ＪＳエンジンによって処理される。ＪＳエンジンはＪＳスクリプトを実行して、対応するバーチャルビューノードにサービスデータを挿入する。例えば、以下の工程を参照できる。すなわち、１．インターフェーステンプレートのＪＳに、デバイスオペレーティングシステム（例えば、ｉＯＳシステムやＡｎｄｒｏｉｄ（登録商標）システムなど）のネイティブコード（以後ネイティブと呼ぶ）の属性及びメソッドが存在しない場合、ＪＳエンジンのインターフェースを拡張して、ネイティブの属性及びメソッドをＪＳエンジンにバインドすることができる。ＪＳエンジンの拡張インターフェースは、例えば、サービスデータを受信して処理するためのＪＳエントリ機能（ファンクション、関数）、又はネイティブを呼び出すためのレンダリングエンジンのインターフェースを含むことができる。２．ＪＳエンジンはＪＳエントリ機能へサービスデータを送信する。３．ＪＳエントリ機能を用いて、サービスデータが、対応するバーチャルビューノードへ挿入される。
【００３２】
例として、レンダリングエンジンは、ＪＳエンジンとレンダリングエンジンのインターフェースを用いてネイティブを呼び出すことによって、ビューをレンダリングする工程をトリガするように命令できる。この工程において、クライアントアプリケーションは、複数の方法を用いてビューをレンダリングすることができる。例えば、各ウィジェットの位置情報が計算された後、ウィジェットはビューの対応する位置にレンダリングすることができる。この場合、インターフェースを提示する効果は、ウィジェットがユーザに一つずつ提示されることである。別の例では、ビュー全体のウィジェットの位置情報がメモリ内で計算された後、ウィジェットの位置情報がメモリから取り出され、ウィジェットがビューに一緒にレンダリングされ、完全なビューがユーザに提示される。その結果、ビューレンダリングの時間を大幅に短縮できる。
【００３３】
クライアントアプリケーションがサーバから取得したインターフェーステンプレートの構造化データを更新する処理があってよい。更新されたインターフェーステンプレートの構造化データをクライアントアプリケーションへ送信するための異なる実装プロシージャは、異なるサービスシナリオに基づいて設計できる。例えば、インターフェーステンプレートを更新した後、サーバは、構造化データを積極的にクライアントアプリケーションにプッシュすることができる。あるいは、サービスプロシージャをトリガした後、クライアントアプリケーションは、新しいインターフェーステンプレートを用いてサービスデータを提示する必要がある場合に、サーバへ要求を送信する。したがって、一例として、サーバから新しいインターフェーステンプレートの構造化データを求める工程は：クライアントアプリケーションが、サーバからサービスデータを取得した後、サービスデータ内のインターフェース識別子に基づいて、サービスデータに対応するインターフェーステンプレートを検索すること；及び、インターフェーステンプレートが特定されない場合、サーバにインターフェース識別子に対応するインターフェーステンプレートの構造化データを要求すること；を含む。
【００３４】
更新された構造化データを受信した後、クライアントアプリケーションは構造化データを構文解析してバーチャルビューノードを取得し、バーチャルビューノードに格納された関連情報を更新する。バーチャルビューノードは、更新された情報に基づいてサービスデータにバインドされ、サービスデータがバインドされるバーチャルビューノードは、レンダリングエンジンのインターフェースを用いてネイティブを呼び出すことによって、レンダリングエンジンに渡され、ビューを再描画する。
【００３５】
以下は、アプリケーションシナリオで解決策を実装する例である。適用例では、異なる機能に基づいて、クライアントアプリケーションをサービスクライアントアプリケーションとインターフェースクライアントアプリケーションとに分類し、サーバをサービスサーバとインターフェースサーバとに分類する。サービスクライアントアプリケーション及びインターフェースクライアントアプリケーションは、移動端末上の同じアプリに統合され、そこにロードされることが可能である。インターフェースサーバは、ＨＴＭＬ構文解析エンジンとインターフェーステンプレート管理モジュールとを含む。インターフェースクライアントアプリケーションは、インターフェーステンプレート構造化データ構文解析エンジン、ＪＳエンジン、レイアウトエンジン、及びレンダリングエンジンを含む。
【００３６】
図２に示すように、ステップ２０１では、サーバがインターフェーステンプレートデータを前処理する。
【００３７】
サーバはＨＴＭＬ構文解析エンジンを用いてインターフェーステンプレートデータを構文解析し、ＪＳＯＮ形式に基づいて構造化データを取得する。インターフェーステンプレートデータのＨＴＭＬ共通タグ、共通タグに関連付けられたＣＳＳ属性、及びＪＳスクリプトが構文解析され、その後ＤＯＭツリーノードの形式でインターフェーステンプレート管理モジュールの同じＪＳＯＮファイルに格納される。インターフェーステンプレート管理モジュールは、これらのＪＳＯＮファイルに対して追加、削除、又は変更を実行する。
【００３８】
ステップ２０２では、インターフェースクライアントアプリケーションがインターフェーステンプレートのＪＳＯＮデータを構文解析する。
【００３９】
インターフェーステンプレートのＪＳＯＮデータを受信した後、インターフェースクライアントアプリケーションはインターフェーステンプレート構造化データの構文解析エンジンを用いてインターフェーステンプレートのＪＳＯＮデータを構文解析し、バーチャルビューノードを取得する。バーチャルビューノードには、インターフェーステンプレートのＤＯＭノードの基本情報、アプリケーション内のタイプ情報、アプリケーション内の応答イベントに関する情報などの情報が格納される。
【００４０】
ステップ２０３では、サービスクライアントアプリケーションが、サービスサーバとサービスデータを交換する。
【００４１】
サービスクライアントアプリケーションは、サービスデータを取得する要求をサービスサーバへ送信する。サービスサーバは、必要なサービスデータを所定のフォーマットでカプセル化し、インターフェーステンプレートのＩＤを追加してサービスデータをＪＳＯＮデータの形式でサービスクライアントアプリケーションへ送信する。
【００４２】
ステップ２０４では、サービスデータが、バーチャルビューノードにバインドされる。
【００４３】
サービスクライアントアプリケーションは、サービスデータを受信すると、そのサービスデータをインターフェースクライアントアプリケーションのＪＳエンジンに転送して処理する。インターフェースクライアントアプリケーションのＪＳエンジンは、インターフェーステンプレートＩＤに基づいて対応するインターフェーステンプレートのＪＳＯＮデータを検索し、インターフェーステンプレートのＪＳエントリ機能にそのサービスデータを送信して処理する。ＪＳエントリ機能は、サービスデータを分割し、対応するバーチャルビューノードへサービスデータを挿入してバインドする。例えば、Ｂｏｄｙタグに関連するサービスデータは、Ｂｏｄｙタグを格納するバーチャルビューノードにバインドされ、Ｄｉｖタグに関連するサービスデータは、Ｄｉｖタグを格納するバーチャルビューノードにバインドされる。
【００４４】
本ステップでは、インターフェーステンプレートＩＤに基づいて対応するインターフェーステンプレートのＪＳＯＮデータが特定されない場合、インターフェースクライアントアプリケーションは、インターフェーステンプレートＩＤに対応するインターフェーステンプレートのＪＳＯＮデータをインターフェースサーバから再度要求する必要がある。
【００４５】
ステップ２０５では、レイアウトエンジンがウィジェットの位置を計算する。
【００４６】
レイアウトエンジンは、各バーチャルビューノードに格納された情報を用いて各ウィジェットの位置を計算し、各ウィジェットの位置情報をメモリに格納する。
【００４７】
ステップ２０６では、ビューがレンダリングされる。
【００４８】
この例では、ウィジェットの位置が計算された後、ビューがレンダリングされる場合は、レンダリングエンジンにＪＳエンジンを用いてビューのレンダリングが命令される。ビューのレンダリングエンジンは、メモリからビュー全体の各ウィジェットの計算位置を取得し、完全なビューを提示する。
【００４９】
インターフェースデータの提示方法の実装に対応して、本願は、インターフェースデータの提示装置の実装をさらに提供する。
【００５０】
本願におけるインターフェースデータの提示装置の実装は、スマート端末及びサーバに適用できる。装置の実装は、ソフトウェアを用いて実装することも、ハードウェア又はソフトウェアとハードウェアの組み合わせを用いて実装することもできる。ソフトウェアの実装を例にとる。論理装置として、装置は、スマート端末のプロセッサ又は装置が配置されているサーバによって不揮発性メモリ内の対応するコンピュータプログラム命令をメモリに読み込むことによって形成される。図３に示すように、ハードウェアの観点から、図３は本願のデータ提示装置が配置されるハードウェアを示す構造図である。図３に示すプロセッサ、メモリ、ネットワークインターフェース、及び不揮発性メモリに加えて、本実施の形態におけるデバイスが位置するスマート端末又はサーバは、スマート端末及びサーバの実際の機能に基づく他のハードウェアを含むことができる。重複を避けるため、ここでは詳細を説明しない。
【００５１】
図４に示すように、インターフェースデータの提示装置４００は、実装においてクライアントアプリケーションに配置でき、構文解析エンジンモジュール４０１、バインディングモジュール４０２、レイアウトエンジンモジュール４０３、及びレンダリングエンジンモジュール４０４を含む。
【００５２】
構文解析エンジンモジュール４０１は、バーチャルビューノードを取得するために、サーバによって送信されたインターフェーステンプレートの構造化データを構文解析するように構成できる。インターフェーステンプレートの構造化データは、一般的なプロトコルマークアップ言語で書かれたインターフェーステンプレートデータをサーバで構文解析することによって生成される。インターフェーステンプレートデータは、ウィジェットを記述するための共通タグを含む。
【００５３】
バインディングモジュール４０２は、サービスデータをバーチャルビューノードにバインドするように構成できる。
【００５４】
レイアウトエンジンモジュール４０３は、サービスデータがバインドされているバーチャルビューノードに基づいてウィジェットの位置情報を計算するように構成できる。
【００５５】
レンダリングエンジンモジュール４０４は、ウィジェットの位置情報に基づいてビューをレンダリングするように構成できる。一般的なプロトコルマークアップ言語はＨＴＭＬであり、構造化データはＪＳＯＮデータ又はＸＭＬデータであってよい。
【００５６】
バーチャルビューノードに格納される情報は、共通タグの関連情報、及び／又はクライアントアプリケーションのタイプ、及び／又はクライアントアプリケーション内の応答イベントに関する情報を含むことができる。
【００５７】
構文解析エンジンモジュール４０１は、クライアントアプリケーションが、更新されたインターフェーステンプレートの構造化データを受信した後に、格納された関連情報を更新するようにバーチャルビューノードに命令するようにさらに構成できる。
【００５８】
加えて、サービスデータモジュール４０５を含むことができ、サービスデータモジュール４０５は、サーバによって配信されたサービスデータを受信し、そのサービスデータを構文解析エンジンモジュール４０１へ送信し、そして構文解析エンジンモジュール４０１からの通知に基づいて、サーバからサービスデータを要求するように構成される。
【００５９】
構文解析エンジンモジュール４０１は、サービスデータに対応するインターフェーステンプレートの構造化データが特定されないとき、サービスデータモジュール４０５へ通知を送るようにさらに構成できる。
【００６０】
レンダリングエンジンモジュール４０４がウィジェットの位置情報に基づいてビューをレンダリングすることは：レイアウトエンジンモジュール４０３がウィジェットの位置情報を計算した後に、ウィジェットの位置情報を取得すること；及びウィジェットをビューにレンダリングすること；を含む。
【００６１】
図５は、インターフェースデータの提示装置５００の実施を示したものである。装置５００はサーバ側に配置され：構造化データを得るために、一般的なプロトコルマークアップ言語で記述されたインターフェーステンプレートデータを構文解析するように構成される構文解析エンジンモジュール５０１であって、インターフェーステンプレートデータはウィジェットを記述するために共通タグを含む、インターフェーステンプレートデータを構文解析するように構成される構文解析エンジンモジュール５０１；及びクライアントアプリケーションがウィジェットをビューにレンダリングするべく、構造化されたデータをクライアントアプリケーションに配信するように構成された通信モジュール５０２；を含む。
【００６２】
一般的なプロトコルマークアップ言語はＨＴＭＬであってよく、構造化データはＪＳＯＮデータであってよく、共通タグはＪＳＯＮデータのＤＯＭノードに格納できる。
【００６３】
装置内の各ユニットの機能及び役割の実装工程については、前述の方法における対応するステップの実装工程を参照できるので、ここでは、説明を簡単にするために詳細は説明しない。
【００６４】
装置の実施は方法の実施に対応するので、簡単化のために手短に説明する。関連する部品については、方法の実施の説明を参照できる。説明された装置の実施は単なる一例に過ぎない。個別部品として記載されたユニットは物理的に分離していてもいなくてもよく、ユニットとして示されている部品は物理ユニットであってもなくてもよく、一箇所に位置していてもよいし、複数のネットワークユニットに分散していてもよい。モジュールの一部又は全部は、本願の解決策の目的を達成するための実際のニーズに基づいて選択できる。当業者は、創造的な努力なしに、本願の実装を理解し、これを実施できる。
【００６５】
上述の説明は、単なる本願の実施例に過ぎず、本願を限定するものではない。本願の主旨及び原理から逸脱することなくなされた任意の修正、均等物の置き換え又は改良は、本願の保護範囲内に入るものとする。
【符号の説明】
【００６６】
４００  インターフェースデータの提示装置（クライアントアプリケーション）
４０１  構文解析エンジンモジュール
４０２  バインディングモジュール
４０３  レイアウトエンジンモジュール
４０４  レンダリングエンジンモジュール
４０５  サービスデータモジュール
５００  インターフェースデータの提示装置（サーバ）
５０１  構文解析エンジンモジュール
５０２  通信モジュール
【図１】
2019503538.tif 000003
【図２】
2019503538.tif 000004
【図３】
2019503538.tif 000005
【図４】
2019503538.tif 000006
【図５】
2019503538.tif 000007
【手続補正書】
【提出日】平成30年8月31日(2018.8.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
インターフェースデータを提示するための方法であって：
バーチャルビューノードを取得するために、サーバにより配信される、インターフェーステンプレートの構造化データを構文解析するステップであって、前記インターフェーステンプレートの前記構造化データは、プロトコルマークアップ言語で書かれたインターフェーステンプレートデータを構文解析することによって前記サーバによって生成され、前記インターフェーステンプレートデータは、ウィジェットを記述するための共通タグを含む、バーチャルビューノードを取得するために、サーバにより配信される、インターフェーステンプレートの構造化データを構文解析するステップ（Ｓ１０１）と；
サービスデータを前記バーチャルビューノードにバインドするステップ（Ｓ１０２）と；
前記サービスデータがバインドされた前記バーチャルビューノードに基づいて前記ウィジェットの位置情報を計算するステップ（Ｓ１０３）と；
前記ウィジェットの前記位置情報に基づいてビューをレンダリングするステップ（Ｓ１０４）と；を備える、
インターフェースデータを提示するための方法。
【請求項２】
前記プロトコルマークアップ言語はＨＴＭＬであり、前記構造化データはＪＳＯＮデータ又はＸＭＬデータである、
請求項１に記載の方法。
【請求項３】
前記バーチャルビューノードは、前記共通タグの関連情報、及び／又は前記クライアントアプリケーションのタイプ、及び／又は前記クライアントアプリケーションにおける応答イベントに関する情報が格納される、
請求項１又は請求項２に記載の方法。
【請求項４】
更新されたインターフェーステンプレートの構造化データを受信した後、前記クライアントアプリケーションによって前記バーチャルビューノードに格納された前記関連情報を更新するステップ；を更に備える、
請求項１乃至請求項３の何れか１項に記載の方法。
【請求項５】
前記サーバから前記サービスデータを取得した後、前記サービスデータに対応するインターフェーステンプレートの構造化データが特定されていない場合には、前記クライアントアプリケーションによって前記サーバに前記サービスデータに対応する前記インターフェーステンプレートの前記構造化データを要求するステップ；を更に備える、
請求項１乃至請求項４の何れか１項に記載の方法。
【請求項６】
前記ウィジェットの前記位置情報に基づいてビューをレンダリングする前記ステップは：
各ウィジェットの位置情報を計算した後、前記ウィジェットの前記位置情報を取得し、前記ウィジェットを前記ビューにレンダリングするステップ；を備える、
請求項１乃至請求項５の何れか１項に記載の方法。
【請求項７】
クライアントアプリケーションが前記ウィジェットをビューにレンダリングするよう、前記構造化データを前記クライアントアプリケーションへ配信するステップと；を更に備える、
請求項１乃至請求項５の何れか１項に記載の方法。
【請求項８】
前記構造化データはＪＳＯＮデータであり、前記共通タグは前記ＪＳＯＮデータのＤＯＭノードに格納される、
請求項１乃至請求項７の何れか１項に記載の方法。
【請求項９】
前記構造化データは、前記インターフェーステンプレートデータの第２の構文木よりも簡単な第１の構文木を備える、
請求項１乃至請求項８の何れか１項に記載の方法。
【請求項１０】
サービスデータを前記バーチャルビューノードにバインドする前記ステップは、エントリ機能を使用することによって前記サービスデータを前記バーチャルビューノードに挿入する、
請求項１乃至請求項９の何れか１項に記載の方法。
【請求項１１】
グラフィカルユーザインタフェースに関連付けられた複数のウィジェットを有する前記ウィジェットをレンダリングすることによって、前記グラフィカルユーザインタフェースの統一されたビューを生成するステップ（Ｓ１０４）；を更に備える、
請求項１乃至請求項１０の何れか１項に記載の方法。
【請求項１２】
請求項１乃至請求項１１の何れか１項に記載の方法を実行するように構成された複数のモジュールを備える、
インターフェースデータを提示するための装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６５
【補正方法】変更
【補正の内容】
【００６５】
上述の説明は、単なる本願の実施例に過ぎず、本願を限定するものではない。本願の主旨及び原理から逸脱することなくなされた任意の修正、均等物の置き換え又は改良は、本願の保護範囲内に入るものとする。
以下、本発明の実施の態様の例を列挙する。
［第１の局面］
クライアントアプリケーションで実行される、インターフェースデータの提示方法であって：
バーチャルビューノードを取得するために、サーバにより配信される、インターフェーステンプレートの構造化データを構文解析するステップであって、前記インターフェーステンプレートの前記構造化データは、プロトコルマークアップ言語で書かれたインターフェーステンプレートデータを構文解析することによって前記サーバによって生成され、前記インターフェーステンプレートデータは、ウィジェットを記述するための共通タグを含む、バーチャルビューノードを取得するために、サーバにより配信される、インターフェーステンプレートの構造化データを構文解析するステップと；
サービスデータを前記バーチャルビューノードにバインドするステップと；
前記サービスデータがバインドされた前記バーチャルビューノードに基づいて前記ウィジェットの位置情報を計算し、前記ウィジェットの前記位置情報に基づいてビューをレンダリングするステップと；を備える、
クライアントアプリケーションで実行される、インターフェースデータの提示方法。
［第２の局面］
前記プロトコルマークアップ言語はＨＴＭＬであり、前記構造化データはＪＳＯＮデータ又はＸＭＬデータである、
第１の局面に記載の提示方法。
［第３の局面］
前記バーチャルビューノードに格納された情報は、前記共通タグの関連情報、及び／又は前記クライアントアプリケーションのタイプ、及び／又は前記クライアントアプリケーションにおける応答イベントに関する情報を含む、
第１の局面に記載の提示方法。
［第４の局面］
更新されたインターフェーステンプレートの構造化データを受信した後、前記クライアントアプリケーションによって前記バーチャルビューノードに格納された前記関連情報を更新するステップ；を更に備える、
第１の局面に記載の提示方法。
［第５の局面］
前記サーバから前記サービスデータを取得した後、前記サービスデータに対応するインターフェーステンプレートの構造化データが特定されていない場合には、前記クライアントアプリケーションによって前記サーバに前記サービスデータに対応する前記インターフェーステンプレートの前記構造化データを要求するステップ；を更に備える、
第１の局面に記載の提示方法。
［第６の局面］
前記ウィジェットの前記位置情報に基づいてビューをレンダリングする前記ステップは：
各ウィジェットの位置情報を計算した後、前記ウィジェットの前記位置情報を取得し、前記ウィジェットを前記ビューにレンダリングするステップ；を備える、
第１の局面に記載の提示方法。
［第７の局面］
サーバ上で実行される、インターフェースデータの提示方法であって：
構造化データを得るために、プロトコルマークアップ言語で書かれたインターフェーステンプレートデータを構文解析するステップであって、前記インターフェーステンプレートデータはウィジェットを記述するための共通タグを含む、プロトコルマークアップ言語で書かれたインターフェーステンプレートデータを構文解析するステップと；
クライアントアプリケーションが前記ウィジェットをビューにレンダリングするよう、前記構造化データを前記クライアントアプリケーションへ配信するステップと；を備える、
サーバ上で実行される、インターフェースデータの提示方法。
［第８の局面］
前記プロトコルマークアップ言語はＨＴＭＬであり、前記構造化データはＪＳＯＮデータであり、前記共通タグは前記ＪＳＯＮデータのＤＯＭノードに格納される、
第７の局面に記載の提示方法。
［第９の局面］
クライアントアプリケーションに配置される、インターフェースデータの提示装置であって：
バーチャルビューノードを取得するために、サーバにより配信され、インターフェーステンプレートの構造化データを構文解析するように構成される構文解析エンジンモジュールであって、前記インターフェーステンプレートの前記構造化データは、プロトコルマークアップ言語で書かれたインターフェーステンプレートデータを前記サーバで構文解析することによって生成され、前記インターフェーステンプレートデータは、ウィジェットを記述するための共通タグを含む、バーチャルビューノードを取得するために、サーバにより配信され、インターフェーステンプレートの構造化データを構文解析するように構成された構文解析エンジンモジュールと；
サービスデータをバーチャルビューノードにバインドするように構成されたバインディングモジュールと；
サービスデータがバインドされている前記バーチャルビューノードに基づいて前記ウィジェットの位置情報を計算するように構成されたレイアウトエンジンモジュールと；
前記ウィジェットの前記位置情報に基づいてビューをレンダリングするように構成されたレンダリングエンジンモジュールと；を備える、
クライアントアプリケーションに配置される、インターフェースデータの提示装置。
［第１０の局面］
前記プロトコルマークアップ言語はＨＴＭＬであり、前記構造化データはＪＳＯＮデータ又はＸＭＬデータである、
第９の局面に記載の提示装置。
［第１１の局面］
前記バーチャルビューノードに格納された情報は、前記共通タグの関連情報、及び／又は前記クライアントアプリケーションのタイプ、及び／又は前記クライアントアプリケーション内の応答イベントに関する情報を含む、
第９の局面に記載の提示装置。
［第１２の局面］
前記構文解析エンジンモジュールは、前記クライアントアプリケーションが更新されたインターフェーステンプレートの構造化データを受信した後に、前記格納された関連情報を更新するように前記バーチャルビューノードに命令するようにさらに構成された、
第９の局面に記載の提示装置。
［第１３の局面］
前記サーバから配信された前記サービスデータを受信して前記サービスデータを前記構文解析エンジンモジュールへ送信し、前記構文解析エンジンモジュールからの通知に基づいて前記サーバに前記サービスデータを要求するように構成されたサービスデータモジュールを更に備え、
前記構文解析エンジンモジュールは、前記サービスデータに対応するインターフェーステンプレートの構造化データが特定されないとき、前記サービスデータモジュールに通知を送信するように構成される、
第９の局面に記載の提示装置。
［第１４の局面］
前記レンダリングエンジンモジュールが、前記ウィジェットの前記位置情報に基づいてビューを前記レンダリングすることは：
ウィジェットの位置情報を前記レイアウトエンジンモジュールが計算した後、前記ウィジェットの前記位置情報を取得すること；及び、前記ウィジェットを前記ビューにレンダリングすること；を備える、
第９の局面に記載の提示装置。
［第１５の局面］
サーバに配置されている、インターフェースデータの提示装置であって：
構造化データを得るために、プロトコルマークアップ言語で書かれたインターフェーステンプレートデータを構文解析するように構成される構文解析エンジンモジュールであって、前記インターフェーステンプレートデータはウィジェットを記述するための共通タグを含む、プロトコルマークアップ言語で書かれたインターフェーステンプレートデータを構文解析するように構成された構文解析エンジンモジュールと；
クライアントアプリケーションが前記ウィジェットをビューにレンダリングするよう、前記構造化データを前記クライアントアプリケーションへ配信するように構成された通信モジュールと；を備える、
サーバに配置されている、インターフェースデータの提示装置。
［第１６の局面］
前記プロトコルマークアップ言語はＨＴＭＬであり、前記構造化データはＪＳＯＮデータであり、前記共通タグは前記ＪＳＯＮデータのＤＯＭノードに格納される、
第１５の局面に記載の提示装置。
【国際調査報告】
2019503538.tif 000008
2019503538.tif 000009
2019503538.tif 000010
2019503538.tif 000011