IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

<>
  • -ウェブコンテンツの自動表示制御方法 図1
  • -ウェブコンテンツの自動表示制御方法 図2
  • -ウェブコンテンツの自動表示制御方法 図3
  • -ウェブコンテンツの自動表示制御方法 図4
  • -ウェブコンテンツの自動表示制御方法 図5
  • -ウェブコンテンツの自動表示制御方法 図6
  • -ウェブコンテンツの自動表示制御方法 図7
  • -ウェブコンテンツの自動表示制御方法 図8
  • -ウェブコンテンツの自動表示制御方法 図9
  • -ウェブコンテンツの自動表示制御方法 図10
  • -ウェブコンテンツの自動表示制御方法 図11
  • -ウェブコンテンツの自動表示制御方法 図12
  • -ウェブコンテンツの自動表示制御方法 図13
  • -ウェブコンテンツの自動表示制御方法 図14
  • -ウェブコンテンツの自動表示制御方法 図15
  • -ウェブコンテンツの自動表示制御方法 図16
  • -ウェブコンテンツの自動表示制御方法 図17
  • -ウェブコンテンツの自動表示制御方法 図18
  • -ウェブコンテンツの自動表示制御方法 図19
  • -ウェブコンテンツの自動表示制御方法 図20
  • -ウェブコンテンツの自動表示制御方法 図21
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-30
(45)【発行日】2024-08-07
(54)【発明の名称】ウェブコンテンツの自動表示制御方法
(51)【国際特許分類】
   H04L 67/02 20220101AFI20240731BHJP
   G06F 16/9535 20190101ALI20240731BHJP
   G06Q 30/015 20230101ALI20240731BHJP
【FI】
H04L67/02
G06F16/9535
G06Q30/015
【請求項の数】 4
(21)【出願番号】P 2021563591
(86)(22)【出願日】2020-05-20
(86)【国際出願番号】 JP2020020024
(87)【国際公開番号】W WO2021117268
(87)【国際公開日】2021-06-17
【審査請求日】2023-05-15
(31)【優先権主張番号】P 2019225945
(32)【優先日】2019-12-13
(33)【優先権主張国・地域又は機関】JP
【新規性喪失の例外の表示】特許法第30条第2項適用 説明資料番号・方法・開示日・開示者(会社、住所)・開示URLを記載した表の通り、添付の説明資料に基づき公開した。
【新規性喪失の例外の表示】特許法第30条第2項適用 説明資料番号・配布方法・配布日・配布場所(会社名、住所)を記載した表の通り、発明の実行環境を提供した。
【新規性喪失の例外の表示】特許法第30条第2項適用 説明資料番号・配布方法・開催日・主催・開催場所を記載した表の通り、添付の説明資料に基づき発表した。
【新規性喪失の例外の表示】特許法第30条第2項適用 説明資料番号・配布方法・配布日・配布先(会社名)・配布先(住所)を記載した表の通り、添付の説明資料に基づき配布した。
【新規性喪失の例外の表示】特許法第30条第2項適用 説明資料番号・配布方法・配布日・配布先(会社名)・配布先(住所)を記載した表の通り、添付の説明資料に基づき配布した。
【新規性喪失の例外の表示】特許法第30条第2項適用 説明資料番号・方法・開示日・開示者(会社、住所)・開示URLを記載した表の通り、添付の説明資料に基づき公開した。
【新規性喪失の例外の表示】特許法第30条第2項適用 既に提出した援用の表示に係る、発明の新規性の喪失の例外の規定の適用を受けるための証明書の記載の通り、それぞれの証明書の記載内容で発明を公開した。
(73)【特許権者】
【識別番号】507262992
【氏名又は名称】プライム・ストラテジー株式会社
(74)【代理人】
【識別番号】100127579
【弁理士】
【氏名又は名称】平野 泰弘
(72)【発明者】
【氏名】中村 けん牛
【審査官】岩田 玲彦
(56)【参考文献】
【文献】米国特許出願公開第2017/0213225(US,A1)
【文献】特開2004-159212(JP,A)
【文献】特開2003-281030(JP,A)
【文献】特開2001-154983(JP,A)
【文献】特開2015-022532(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/02
G06F 16/9535
G06Q 30/015
(57)【特許請求の範囲】
【請求項2】
ウェブサーバが利用できる記憶領域に保存されたデータが、ネットワークを通じて利用者端末に表示される方法であって、
ウェブサーバが利用者端末からリクエストを受信する前まで、およびウェブサーバが利用者端末からリクエストを受信した直後までの少なくとも一方までの間に、
ウェブサーバが利用できる記憶領域に保存されたオリジナルデータが加工されて、複数の加工済みデータが生成されるステップと、
ウェブコンテンツを閲覧するユーザのユーザ体験に基づいて、ユーザとウェブコンテンツとのエンゲージメントのスコアが算出されるステップと、
前記エンゲージメントのスコアに応じて、前記オリジナルデータおよび複数の加工済みデータからなる群より選ばれる少なくとも一つのリソースの中から、利用者端末毎に表示できる最適データが選択されるステップ、
が実施され、
生成された最適データにより表示されるウェブコンテンツが、利用者端末からウェブサーバにリクエストが送信される初回から、利用者端末毎に表示されるステップと、
を含み、
前記オリジナルデータおよび複数の加工済みデータからなる群より選ばれる少なくとも一つのリソースが、プログラムデータおよびバイナリデータの少なくとも一つを含み、
プログラムデータが、マークアップ言語、プログラミング言語、スタイルシートおよびスクリプト言語からなる群より選ばれる少なくとも一つを有するプログラムを含み、
バイナリデータが、画像ファイル、音ファイルおよび動画ファイルからなる群より選ばれる少なくとも一つのファイルを含み、
ウェブサーバが利用できる記憶領域に保存されたオリジナルデータが加工されて、複数の加工済みデータが生成されるステップが、
マークアップ言語、プログラミング言語、スタイルシートおよびスクリプト言語からなる群より選ばれる少なくとも一つを有するプログラムの中から、
実行させるプログラムのコード部分および実行させないプログラムの部分がそれぞれ特定され、複数の特定された実行させるプログラムのコード部分が抽出されるステップと、
複数の特定された実行させるプログラムのコード部分のうち、優先して実行させるプログラムのコード部分と遅延して実行させるプログラムのコード部分の実行順序を決定するステップと、
複数の特定された実行させるプログラムのコード部分のうち、優先して実行させるプログラムのコード部分と遅延して実行させるプログラムのコード部分の実行タイミングを決定するステップと、
画像ファイル、音ファイルおよび動画ファイルの少なくとも一つのファイルのうち、単位面積当たりの表示画素数、単位時間当たりの録画録音密度、容量および保存形式からなる群より選ばれる一つが変更されるステップと、を含む、ウェブコンテンツの自動表示制御方法。
【請求項4】
前記エンゲージメントのスコアに応じて、前記オリジナルデータおよび複数の加工済みデータからなる群より選ばれる少なくとも一つのリソースの中から、利用者端末毎に表示できる最適データが選択されるステップが、
前記エンゲージメントのスコアに応じて、前記オリジナルデータおよび複数の加工済みデータからなる群より選ばれるリソースの中から、利用者端末毎に表示できる二以上のデータが選択されるステップと、
前記二以上のデータのうち、利用者端末毎の表示完了時間を基準に、比較順位付けされるステップと、
を含む、請求項2に記載のウェブコンテンツの自動表示制御方法。
【請求項10】
ウェブコンテンツが利用者端末毎に表示されるステップが、
ウェブコンテンツのうち、利用者端末の画面に最初に表示される部分に対応する最適データが利用者端末に送信されるステップを含み、
ウェブコンテンツのうち、利用者端末の画面に最初に表示される部分に対応する最適データが利用者端末に送信された後に、利用者端末が入力受付可能になる処理を優先させる時間が、エンゲージメントのスコアに応じて変化する、請求項2に記載のウェブコンテンツの自動表示制御方法。
【請求項13】
前記エンゲージメントのスコアに応じて、前記オリジナルデータおよび複数の加工済みデータからなる群より選ばれる少なくとも一つのリソースの中から、利用者端末毎に表示できる最適データが選択されるステップが、
利用者端末に対する表示完了時間の異なる複数のウェブコンテンツを表示するためのデータの中から、利用者端末毎に選択されたウェブコンテンツを表示するためのデータを、一定期間毎に、
ウェブコンテンツのうち利用者端末の画面に最初に表示されるデータ部分、
ウェブコンテンツのうち利用者端末の画面に最初に表示される部分が入力受付可能になるまでの時間、
および、ウェブコンテンツのうち利用者端末の画面に最初に表示される以外のデータ部分、
にそれぞれ対応するプログラムの実行順序を変化させ、
ならびに
ウェブコンテンツのうち利用者端末の画面に最初に表示されるデータ部分、
ウェブコンテンツのうち利用者端末の画面に最初に表示される部分が入力受付可能になるまでの時間、
および、ウェブコンテンツのうち利用者端末の画面に最初に表示される以外のデータ部分、
にそれぞれ対応するプログラムの実行タイミングを変化させて、
エンゲージメントのスコアの変化を記録するステップと、
利用者端末に対する表示完了時間の異なる複数のウェブコンテンツの中から、全てのユーザのウェブコンテンツ閲覧時間および全てのユーザのウェブコンテンツに対する行動回数が最大化するウェブコンテンツを構成するオリジナルデータと複数の加工済みデータとの組み合わせを学習するステップと、
を含む、請求項2に記載のウェブコンテンツの自動表示制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ウェブコンテンツの自動表示制御方法に関し、より詳細には、ユーザ体験を最大化するエンゲージメントに基づくウェブコンテンツの自動表示制御方法に関する。
【背景技術】
【0002】
パーソナルコンピュータ(PC)、スマートフォン、タブレットなどの利用者端末を使って、ユーザは知りたい情報を好きな時に検索し、検索結果として利用者端末に表示されたウェブコンテンツをユーザは閲覧することができる。
【0003】
しかしユーザが知りたい情報は、通常ユーザ毎に異なる。このためウェブサイトの運営者は、ウェブサイトを閲覧する各ユーザに、どのようにウェブコンテンツを届けるかが問題となる。
【0004】
この問題に対応するために、例えば、インターネットの広告表示技術に関連して、ユーザ属性などから推定される再訪確率を用いて広告の表示の頻度や回数を制御する方法に関する技術が提案されている(特許文献1)。この先行技術によれば、各ユーザの属性などを利用して、各ユーザに適切な回数の広告を配信できるとされる。
【0005】
また、ユーザ嗜好を示すスコアを、ウェブコンテンツに対する操作ログにユーザ属性毎に異なる重みを付けて算出すること可能な、スコア算出方法に関する技術が提案されている(特許文献2)。ユーザ嗜好を示すスコアが入手できれば、このスコアに基づいてユーザごとにコンテンツの配信が可能になる。
【0006】
また、ウェブサイトで実施される商取引において、ユーザにメイン商品と組み合わせて購入される適切なついで買い商品をレコメンドするためのレコメンドリストを作成する方法に関する技術も提案されている(特許文献3)。この先行技術によれば、ユーザの購入履歴に関連付けられたレコメンドリストに掲載された商品名を使ってウェブで検索し、検索結果数が一定割合以下の商品名をレコメンドリストから削除して、ユーザに推奨する商品を絞り込むことができるとされる。
【0007】
またユーザの利用者端末のスクロール速度を検出し、ユーザが一定以上の速度で画面をスクロールしている時には、データをダウンロードせず、データの画面表示の遅延を防止する方法も提案されている(特許文献4)。ユーザが表示を希望しないコンテンツのダウンロードを防止すれば、利用者端末が重くて動き難くなることを防止できる。
【0008】
また、特定の状態に対応するクラスタに属する利用者端末の運動量と、非注視状態に属する利用者端末の運動量とに基づいて、利用者端末の操作者の関心度を評価する方法に関する技術も提案されている(特許文献5)。この先行技術によれば、利用者端末の運動量を測定することにより、利用者端末操作者がウェブコンテンツの内容に興味を持っているかどうかが分かるとされる。
【0009】
一方、アカマイ社が提供するAkamai Image Managerの技術によれば、ウェブサイトに表示される個々の画像について、ブラウザ、利用者端末に最適なサイズ、品質、ファイル形式の組み合わせを自動的に提供できるとされる。
【0010】
またウェブサーバに保存されているデータをユーザの利用者端末に表示させる方法としてCDN(Content Delivery Network)と呼ばれる方法が一般的に知られている。
ウェブサイトの運営者は、CDNを提供する企業と契約して、企業が提供するCDNの方法を使うことができる。この場合、管理者が公開するウェブサイトのドメインは、CDNを提供する企業のドメインではなく、ウェブサイトの運営者が指定するドメインを使うことができる。これにより、ウェブサイトの運営者は自己のドメインを維持したまま、ユーザに対して強力なCDNの方法を提供することができる。
【0011】
CDNの場合は、複数のウェブサーバ群が準備され、それぞれのウェブサーバに同じデータが保存されている。そしてユーザがCDNの方法を使うと、ユーザの利用者端末に最も近いウェブサーバからデータがユーザの利用者端末に送信される。
【0012】
一つのウェブサーバに対して一度に多数の利用者端末からのアクセスがあれば、ウェブサーバの処理対応の負荷が大きくなる。ウェブサーバの単位時間当たりの処理能力には限度があるから、一定以上のアクセスが一つのウェブサーバに集中すれば、そのウェブサーバの処理時間は遅延する傾向がある。
CDNの方法によれば、一つのウェブサーバに対して一度に多数の利用者端末からのアクセスが集中した場合でも、複数のウェブサーバ群同士で形成された通信網を通じて余力のあるウェブサーバを活用できるから、ユーザの利用者端末からの多くのデータ要求に対応できる。
【先行技術文献】
【特許文献】
【0013】
【文献】特表2007-508641号公報
【文献】特開2015-141530号公報
【文献】特開2012-203454号公報
【文献】特許第5244911号公報
【文献】特開2019-128872号公報
【発明の概要】
【発明が解決しようとする課題】
【0014】
一般的に、ウェブサイトに含まれる個々のウェブページを閲覧するユーザは、自分の探している情報を最短の時間で閲覧することを希望する。
一方、ウェブサイトの運営者は、ユーザが探している情報を最短の時間で提供することを通常希望する。
【0015】
ウェブサイトの運営者が、ユーザが探している情報を最短の時間で提供できなければ、ユーザは自分が探している情報が現在閲覧しているウェブサイトに掲載されていないと判断する可能性が高い。
【0016】
そして自分が探している情報が掲載されていないと判断したユーザは検索画面に戻り再度検索を実施する、ユーザがウェブサイトを閲覧するためのブラウザを閉じる、などの、いわゆる「離脱」と呼ばれる行動をユーザは起こす。
ユーザの離脱する確率が大きくなれば、ウェブサイトの運営者は、ユーザに提供したいものをユーザに見てもらう機会が減少するから、ウェブサイトの運営者はこの機会の減少を防ぐ必要がある。
【0017】
またウェブサイトの運営者にはウェブサイトを閲覧するユーザに見てもらいたいウェブコンテンツがあり、ウェブサイトを閲覧するユーザに、採ってもらいたい行動がある。
具体的には、例えば、ウェブサイトに掲載している商品をユーザが購入する、ウェブサイトに掲載している役務の提供をユーザが申し込む、ウェブサイトに掲載している広告ボタンをユーザがクリックする、等の行為が、ウェブサイトの運営者がウェブサイトを閲覧するユーザに採ってもらいたい行為の代表例である。
【0018】
しかしながら、ウェブサイトの運営者は、何がユーザの求めている情報かを事前に正確に把握することが難しい。一つの対応策として、ウェブサイトの運営者が、ユーザが閲覧する可能性のあるものをすべてウェブコンテンツに含めることも考えられる。
【0019】
ただ、ウェブサイトの運営者が最適化されたウェブコンテンツをすべてのユーザごとに用意することは技術的にもコスト的にも困難である。
さらに、ウェブサイトの運営者にはユーザに取ってもらいたい行動があるので、その行動の実現に必要なリソースもすべて個々のウェブページを表示するシステムの中に含めざるを得ない。
【0020】
上記のリソースには、ウェブページを構成するHTMLなどのマークアップ言語等の記載、その記載の中に含まれるCSSやJavaScript(登録商標)等のプログラム、エンコードされた画像などのほか、HTMLなどのマークアップ言語の記載の中から呼び出される画像、動画、JavaScript(登録商標)、CSS、ウェブフォント等の外部リソースおよびさらにそれらの中から再帰的に呼び出される各種リソースが含まれる。
【0021】
このため、一般に個々のウェブページには最適されていないリソース、ユーザの行動の可能性を考慮したウェブコンテンツ、サイト管理者がユーザに取ってもらいたい行動に対する多量のリソース等が含まれており、そのリソースの中には、画像、動画等だけではなく、JavaScript(登録商標)に代表されるユーザが使用する利用者端末側で実行される多数のプログラムが含まれることが多い。
個々のウェブページをユーザが使用する利用者端末に表示させるために、ユーザが使用する利用者端末に対して、大きな容量のリソースのダウンロードが必要となるため、多くの時間がかかる。
【0022】
また、特にプログラムの実行については、プログラムのダウンロード、構文の解析、中間コードの生成、実行と他のリソースの描画等にくらべても多くの時間がかかる。
このため、結果としてユーザが使用する利用者端末に対する個々のウェブページの表示に多くの時間が必要とされる。また個々のウェブページが操作可能になるまでに多くの時間が必要とされる。これらの必要とされる多くの時間により、ウェブサイトに対するユーザ体験が最適化されていない状態が生じている。
【0023】
先に説明した先行技術に従って、ウェブサイトの運営者が、ユーザの行動履歴やユーザ属性を個別に把握することができたとしても、それらの情報は通常過去のものである。ユーザ嗜好を示すスコアについても、ユーザの過去の行動に基づいて得られた情報である。
【0024】
ウェブサイトの運営者が、ユーザの過去の行動履歴を、従来技術の方法に従い、統計学等の手法を用いて解析した場合、ある程度のユーザの行動傾向は把握できる。
しかしウェブサイトの運営者の立場からみれば、ユーザの過去の行動履歴から、ユーザの嗜好に沿うと予測される情報の提示はある程度は可能になったとしても、その情報量は経時的に膨大なものになる。
【0025】
また、膨大な量の情報は予測に過ぎず、ユーザに対して膨大な量の情報の全てが有用なものかどうかを正確に把握することは難しい。
【0026】
蓄積された膨大な量の情報のうち、どの情報の部分がユーザに対して有用なものか明確には判別できないため、結局、膨大な量の情報をユーザに提示せざるをえない。これでは時間が経つに従って、膨大な量の情報をユーザの情報端末に表示するのに時間がかかるという堂々巡りの問題が生じる。経時的に膨大な量の情報が蓄積されていく中で、ユーザの過去の行動履歴から、どのように具体的に、個々のユーザが、ウェブサイトから離脱していくこを防ぐことができるかについては、先の先行技術を参照したとしても不明である。
【0027】
またユーザの利用者端末のスクロール速度を検出し、ユーザが一定以上の速度で画面をスクロールしている時には、データをダウンロードせず、データの画面表示の遅延を防止する方法については、ユーザが利用者端末に表示されるコンテンツに目的とする情報があることを知っている場合、すなわち、スクロールすると目的の情報に到達できることをユーザが知っていることが前提である。
ユーザの初回閲覧時に利用者端末にデータがダウンロードされず表示されないデータがあれば、ユーザは自ら閲覧しているウェブサイトに閲覧を希望するコンテンツが含まれるかどうか判断に迷う問題が残る。
【0028】
またユーザが使用する利用者端末に搭載された各種センサを用いて利用者端末の動き、傾き等を追跡することにより、ユーザが利用者端末に表示されているウェブコンテンツに興味を持っているかどうかをウェブサイトの運営者がある程度知ることは可能である。
【0029】
しかし、例えば、利用者端末が机の上に置いてあるだけで移動しない場合には利用者端末の運動量から意味のあるデータを計測することができない。
また例えば、ユーザが利用者端末を持ち歩いている等の場合には、余分な利用者端末の運動量を計測することになるのでユーザが利用者端末に表示されているウェブコンテンツに興味があるかどうかを正確に把握することが難しい。
【0030】
またアカマイ社等の企業が提供する、ユーザのブラウザ、利用者端末ごとに最適された個々の画像を使用すれば、ユーザごとに高速に画像を表示させることができる。
この技術によれば、ウェブサイトの運営者は、ユーザに対して多量のデータを高速表示することができる。
【0031】
企業はユーザから企業のサーバに対してリクエストがあって初めてどの画像をユーザが要求しているのかを知ることはできる。しかし、これまで企業のサーバにリクエストを送信したことがないユーザがどのような画像をこれから要求するのか事前に知ることは困難である。
【0032】
このためユーザのブラウザ、利用者端末ごとに最適された企業による個々の画像の提供は、ユーザからの企業のサーバへの二回目以降のリクエスト時には対応できるが、初回のリクエスト時には対応できない問題が残る。
【0033】
さらに、先に説明したCDNの技術と上記に説明した先行技術とユーザごとに高速に画像を表示させる技術とを仮に組み合わせたとすれば、ユーザごとに高速に画像を表示させることができる(想定技術)。
【0034】
しかしこの場合も、ユーザのブラウザ、利用者端末ごとに最適化された個々の画像の提供は、ユーザからのCDNウェブサーバ群への二回目以降のリクエスト時には対応できるが、初回のリクエスト時には対応できない問題が残ったままである。
【0035】
加えて一部のユーザのブラウザ、利用者端末で画像が正常に表示されない不具合が生じた場合、CDNウェブサーバ群側からではなく、ウェブサーバの運営者が扱うウェブサーバ側からオリジナルデータを利用者端末に対して送信する必要が生じる。
【0036】
この場合、CDNウェブサーバ群側からウェブサーバ側へDNSを切り替えたとしても、その切り替えの効果が実際にインターネット上で反映されるのは数時間以上、場合によっては24時間以上かかることもある。
【0037】
本発明の目的は、ウェブサイトに表示されたウェブコンテンツを閲覧するユーザと、ウェブサイトの運営者との意図の相反を解消し、両者の共通の利益を増進させるウェブコンテンツの自動表示制御方法を提供することにある。
【課題を解決するための手段】
【0038】
上記課題を解決するため、本発明者が鋭意検討した結果、
ウェブサーバが利用者端末からリクエストを受信する前まで、およびウェブサーバが利用者端末からリクエストを受信した直後までの少なくとも一方までの間に、ウェブコンテンツを利用者端末に表示できるオリジナルデータを加工して、複数の加工済みデータが生成されるステップと、
ウェブコンテンツを閲覧するユーザのユーザ体験に基づいて、ユーザとウェブコンテンツとのエンゲージメントのスコアが算出されるステップと、
前記エンゲージメントのスコアに応じて、前記オリジナルデータおよび複数の加工済みデータからなる群より選ばれる少なくとも一つの中から、利用者端末毎に表示できるデータが選択されるステップと、が実施され、
前記ステップにより選択されたデータを含むウェブコンテンツが、初回から、利用者端末毎に表示されるステップと、
を含むウェブコンテンツの自動表示制御方法が、本発明の目的に適うことを見出し、本発明を完成するに至った。
【0039】
すなわち、本発明は、
[1]ウェブサーバが利用できる記憶領域に保存されたデータが、ネットワークを通じて利用者端末に表示される方法であって、
ウェブサーバが利用者端末からリクエストを受信する前まで、およびウェブサーバが利用者端末からリクエストを受信した直後までの少なくとも一方までの間に、
ウェブサーバが利用できる記憶領域に保存されたオリジナルデータが加工されて、複数の加工済みデータが生成されるステップと、
ウェブコンテンツを閲覧するユーザのユーザ体験に基づいて、ユーザとウェブコンテンツとのエンゲージメントのスコアが算出されるステップと、
前記エンゲージメントのスコアに応じて、前記オリジナルデータおよび複数の加工済みデータからなる群より選ばれる少なくとも一つのリソースの中から、利用者端末毎に表示できる最適データが選択されるステップ、
が実施され、
生成された最適データにより表示されるウェブコンテンツが、利用者端末からウェブサーバにリクエストが送信される初回から、利用者端末毎に表示されるステップと、
を含むウェブコンテンツの自動表示制御方法を提供するものである。
【0040】
また、本発明の一つは、
[2]前記オリジナルデータおよび複数の加工済みデータからなる群より選ばれる少なくとも一つのリソースが、プログラムデータおよびバイナリデータの少なくとも一つを含み、
プログラムデータが、マークアップ言語、プログラミング言語、スタイルシートおよびスクリプト言語からなる群より選ばれる少なくとも一つを有するプログラムを含み、
バイナリデータが、画像ファイル、音ファイルおよび動画ファイルからなる群より選ばれる少なくとも一つのファイルを含み、
ウェブサーバが利用できる記憶領域に保存されたオリジナルデータが加工されて、複数の加工済みデータが生成されるステップが、
マークアップ言語、プログラミング言語、スタイルシートおよびスクリプト言語からなる群より選ばれる少なくとも一つを有するプログラムの中から、
実行させるプログラムのコード部分および実行させないプログラムの部分がそれぞれ特定され、複数の特定された実行させるプログラムのコード部分が抽出されるステップと、
複数の特定された実行させるプログラムのコード部分のうち、優先して実行させるプログラムのコード部分と遅延して実行させるプログラムのコード部分の実行順序を決定するステップと、
複数の特定された実行させるプログラムのコード部分のうち、優先して実行させるプログラムのコード部分と遅延して実行させるプログラムのコード部分の実行タイミングを決定するステップと、
画像ファイル、音ファイルおよび動画ファイルの少なくとも一つのファイルのうち、単位面積当たりの表示画素数、単位時間当たりの録画録音密度、容量および保存形式からなる群より選ばれる一つが変更されるステップと、を含む、上記[1]に記載のウェブコンテンツの自動表示制御方法を提供するものである。
【0041】
また、本発明の一つは、
[3]ユーザ体験が、利用者端末に搭載されたブラウザからウェブサーバに対して送信されたリクエストの回数、利用者端末に搭載されたブラウザからウェブサーバに対して送信されたリクエストの種類、ユーザによるウェブサイトの滞在時間および利用者端末に搭載されたブラウザからウェブサーバに対して送信されたリクエスト間の期間からなる群より選ばれる少なくとも一つのリクエスト情報を含み、
エンゲージメントのスコアが、利用者端末に搭載されたブラウザからウェブサーバに対して送信されたリクエストの回数、利用者端末に搭載されたブラウザからウェブサーバに対して送信されたリクエストの種類、ユーザによるウェブサイトの滞在時間ならびにウェブサーバおよび利用者端末に搭載されたブラウザからウェブサーバに対して送信されたリクエスト間の期間からなる群より選ばれる少なくとも一つを含むリクエスト情報に基づいて算出される、上記[1]または[2]に記載のウェブコンテンツの自動表示制御方法を提供するものである。
【0042】
また、本発明の一つは、
[4]前記エンゲージメントのスコアに応じて、前記オリジナルデータおよび複数の加工済みデータからなる群より選ばれる少なくとも一つのリソースの中から、利用者端末毎に表示できる最適データが選択されるステップが、
前記エンゲージメントのスコアに応じて、前記オリジナルデータおよび複数の加工済みデータからなる群より選ばれるリソースの中から、利用者端末毎に表示できる二以上のデータが選択されるステップと、
前記二以上のデータのうち、利用者端末毎の表示完了時間を基準に、比較順位付けされるステップと、
を含む、上記[1]~[3]のいずれかに記載のウェブコンテンツの自動表示制御方法を提供するものである。
【0043】
また、本発明の一つは、
[5]前記エンゲージメントのスコアに応じて、前記オリジナルデータおよび複数の加工済みデータからなる群より選ばれる少なくとも一つのリソースの中から、利用者端末毎に表示できる最適データが選択されるステップが、
利用者端末毎に、利用者端末の表示画面の表示環境を特定するステップと、
利用者端末毎に、ウェブコンテンツのうち、利用者端末の表示画面の表示環境に合わせて最初に表示されるウェブコンテンツの部分を特定するステップと、
を含む、上記[1]~[4]のいずれかに記載のウェブコンテンツの自動表示制御方法を提供するものである。
【0044】
また、本発明の一つは、
[6]ウェブサーバが利用できる記憶領域に保存されたオリジナルデータの状態と、一定時間経過後のオリジナルデータの状態とが比較されるステップと、
一定時間経過後のオリジナルデータの状態に、追加、移動、削除および変更からなる群より選ばれる少なくとも一つからなる改変が検出されると、
ウェブサーバが利用できる記憶領域に保存されたオリジナルデータが加工されて、複数の加工済みデータが生成されるステップと、
を含む、上記[1]~[5]のいずれかに記載のウェブコンテンツの自動表示制御方法を提供するものである。
【0045】
また、本発明の一つは、
[7]オリジナルデータが、プログラムデータおよびバイナリデータの少なくとも一つを含み、
プログラムデータが、マークアップ言語、プログラミング言語、スタイルシートおよびスクリプト言語からなる群より選ばれる少なくとも一つを有するプログラムを含み、
バイナリデータが、画像ファイル、音ファイルおよび動画ファイルの少なくとも1つを含み、
加工済みデータが生成されるステップが、
(1)オリジナルデータに含まれる、マークアップ言語、プログラミング言語、スタイルシートおよびスクリプト言語を有するプログラムからなる群より選ばれる少なくとも一つのデータから、利用者端末の表示環境ごとに不要部分が削除されるステップと、
(2)オリジナルデータに含まれる、マークアップ言語、プログラミング言語、スタイルシートおよびスクリプト言語を有するプログラムからなる群より選ばれる少なくとも一つのデータから、利用者端末の表示環境ごとに必要部分が圧縮されるステップと、
(3)オリジナルデータに含まれる、マークアップ言語、プログラミング言語、スタイルシートおよびスクリプト言語を有するプログラムからなる群より選ばれる少なくとも一つのデータから、利用者端末の表示環境ごとに実行順序が変更されるステップと、
(4)オリジナルデータに含まれる、マークアップ言語、プログラミング言語、スタイルシートおよびスクリプト言語を有するプログラムからなる群より選ばれる少なくとも一つのデータから、利用者端末の表示環境ごとに実行タイミングが変更されるステップと、
(5)オリジナルデータに含まれる、バイナリデータから、単位面積当たりの表示画素数、単位時間当たりの録画録音密度、容量および保存形式からなる群より選ばれる一つが変換されるステップと、
の(1)~(5)からなる群より選ばれる少なくとも一つのステップを含み、
ウェブコンテンツを利用者端末に表示するステップが、
リクエストが利用者端末に搭載されたブラウザからネットワークを通じてウェブサーバに送信されるステップと、
ウェブサーバに受信されたリクエストから、ウェブサーバが利用者端末毎の表示環境を特定するステップと、
利用者端末のブラウザからリクエストがウェブサーバに送信された後に、ウェブコンテンツを表示するための最適データがウェブサーバから利用者端末毎に送信され、利用者端末のブラウザにウェブコンテンツが表示されるステップと、
を含む、上記[1]~[6]のいずれかに記載のウェブコンテンツの自動表示制御方法を提供するものである。
【0046】
また、本発明の一つは、
[8]加工済みデータが生成されるステップが、
ウェブサーバが利用者端末からリクエストを受信する前まで、およびウェブサーバが利用者端末からリクエストを受信した直後まで、の少なくとも一方までの間に、
ウェブサーバが利用できる記憶領域に保存された、利用者端末の表示環境に関するデータが格納された機種情報ファイルに基づいて、利用者端末毎に実施される、上記[1]~[7]のいずれかに記載のウェブコンテンツの自動表示制御方法を提供するものである。
【0047】
また、本発明の一つは、
[9]ウェブコンテンツが利用者端末毎に表示されるステップが、
ウェブコンテンツを利用者端末に表示するための最適データのうち、利用者端末の画面に最初に表示される部分が利用者端末に送信されるステップと、
利用者端末に利用者端末の画面に最初に表示される部分に対応する最適データが表示されてから一定時間が経過したことを示すイベント情報、および、ユーザが利用者端末を操作して利用者端末に対して追加の情報を表示させる行動を起こしたことを示すイベント情報の少なくとも一つのイベント情報をウェブサーバおよびブラウザの少なくとも一つが検出するステップと、
前記イベント情報をウェブサーバおよびブラウザの少なくとも一つが検出した後に、ウェブサーバが、最適データの残りの一部または全部の部分を、ネットワークを通じて利用者端末に送信するステップと、
を含む、上記[1]~[8]のいずれかに記載のウェブコンテンツの自動表示制御方法を提供するものである。
【0048】
また、本発明の一つは、
[10]ウェブコンテンツが利用者端末毎に表示されるステップが、
ウェブコンテンツのうち、利用者端末の画面に最初に表示される部分に対応する最適データが利用者端末に送信されるステップを含み、
ウェブコンテンツのうち、利用者端末の画面に最初に表示される部分に対応する最適データが利用者端末に送信された後に、利用者端末が入力受付可能になる処理を優先させる時間が、エンゲージメントのスコアに応じて変化する、
上記[1]~[9]のいずれかに記載のウェブコンテンツの自動表示制御方法を提供するものである。
【0049】
また、本発明の一つは、
[11]オリジナルデータがバイナリデータを含み、前記バイナリデータが、画像ファイル、音ファイルおよび動画ファイルからなる群より選ばれる少なくとも一つを含み、
利用者端末に搭載されたブラウザからリクエストがウェブサーバに送信される前に、
オリジナルデータに含まれるバイナリデータが、単位面積当たりの表示画素数、単位時間当たりの録画録音密度、容量および保存形式からなる群より選ばれる少なくとも一つについて変換されるステップと、
オリジナルデータに含まれるバイナリデータおよび変換済みバイナリデータの少なくとも一つから、表示用サムネイル画像を生成するステップと、
オリジナルデータに含まれるバイナリデータおよび変換済みバイナリデータの少なくとも一つに代えて表示用サムネイル画像が、ネットワークを経由して利用者端末に送信されて、利用者端末に表示用サムネイル画像が表示されるステップ、
が実施され、
利用者端末に表示用サムネイル画像が表示された後に、
利用者端末に最初に表示される部分に対応するデータが表示されてから一定時間が経過したことを示すイベント情報、および、ユーザが利用者端末を操作して利用者端末に対して追加の情報を表示させる行動を起こしたことを示すイベント情報の少なくとも一つのイベント情報を示す信号をウェブサーバおよびブラウザの少なくとも一つが検出するステップと、
前記信号をウェブサーバおよびブラウザの少なくとも一つが検出した後に、ウェブサーバが、オリジナルデータに含まれるバイナリデータおよび変換済みバイナリデータの少なくとも一つを、ネットワークを通じて利用者端末に送信するステップと、
表示用サムネイル画像に代えて、オリジナルデータに含まれるバイナリデータおよび変換済みバイナリデータの少なくとも一つが、利用者端末に表示されるステップ、
が実施される、上記[1]~[10]のいずれかに記載のウェブコンテンツの自動表示制御方法を提供するものである。
【0050】
また、本発明の一つは、
[12]ウェブサーバが利用者端末からリクエストを受信する前まで、およびウェブサーバが利用者端末からリクエストを受信した直後まで、の少なくとも一方までの間に、
ウェブサーバが利用できる記憶領域に保存されたオリジナルデータが加工されて、複数の加工済みデータが生成されるステップが、
ウェブサーバが利用できる記憶領域に保存された設定ファイルのデータに基づいて優先して選択されるステップを含む、上記[1]~[11]のいずれかに記載のウェブコンテンツの自動表示制御方法を提供するものである。
【0051】
また、本発明は、
[13]前記エンゲージメントのスコアに応じて、前記オリジナルデータおよび複数の加工済みデータからなる群より選ばれる少なくとも一つのリソースの中から、利用者端末毎に表示できる最適データが選択されるステップが、
利用者端末に対する表示完了時間の異なる複数のウェブコンテンツを表示するためのデータの中から、利用者端末毎に選択されたウェブコンテンツを表示するためのデータを、一定期間毎に、
ウェブコンテンツのうち利用者端末の画面に最初に表示されるデータ部分、
ウェブコンテンツのうち利用者端末の画面に最初に表示される部分が入力受付可能になるまでの時間、
および、ウェブコンテンツのうち利用者端末の画面に最初に表示される以外のデータ部分、
にそれぞれ対応するプログラムの実行順序を変化させ、
ならびに
ウェブコンテンツのうち利用者端末の画面に最初に表示されるデータ部分、
ウェブコンテンツのうち利用者端末の画面に最初に表示される部分が入力受付可能になるまでの時間、
および、ウェブコンテンツのうち利用者端末の画面に最初に表示される以外のデータ部分、
にそれぞれ対応するプログラムの実行タイミングを変化させて、
エンゲージメントのスコアの変化を記録するステップと、
利用者端末に対する表示完了時間の異なる複数のウェブコンテンツの中から、全てのユーザのウェブコンテンツ閲覧時間および全てのユーザのウェブコンテンツに対する行動回数が最大化するウェブコンテンツを構成するオリジナルデータと複数の加工済みデータとの組み合わせを学習するステップと、
を含む、上記[1]~[12]のいずれかに記載のウェブコンテンツの自動表示制御方法を提供するものである。
【0052】
また、本発明は、
[14]上記[1]~[13]のいずれかに記載のウェブコンテンツの自動表示制御方法を実施するためのプログラムであって、
ウェブサーバが利用できる記憶領域に保存されたオリジナルデータが加工されて、複数の加工済みデータが生成される手段と、
ウェブコンテンツを閲覧するユーザのユーザ体験に基づいて、ユーザとウェブコンテンツとのエンゲージメントのスコアが算出される手段と、
前記エンゲージメントのスコアに応じて、前記オリジナルデータおよび複数の加工済みデータからなる群より選ばれる少なくとも一つのリソースの中から、利用者端末毎に表示できる最適データが選択される手段と、
を備え、
生成された最適データにより表示されるウェブコンテンツが、利用者端末からウェブサーバにリクエストが送信される初回から、利用者端末毎に表示される手段と、
を含む、ウェブコンテンツの自動表示制御用プログラムを提供するものである。
【0053】
また、本発明の一つは、
[15]上記[14]に記載されたウェブコンテンツの自動表示制御用プログラムを記録した、記憶装置を提供するものである。
【0054】
また、本発明は、
[16]上記[1]~[13]のいずれかに記載のウェブコンテンツの自動表示制御方法を実施するためのシステムであって、
ウェブサーバが利用できる記憶領域に保存されたオリジナルデータが加工されて、複数の加工済みデータが生成される手段と、
ウェブコンテンツを閲覧するユーザのユーザ体験に基づいて、ユーザとウェブコンテンツとのエンゲージメントのスコアが算出される手段と、
前記エンゲージメントのスコアに応じて、前記オリジナルデータおよび複数の加工済みデータからなる群より選ばれる少なくとも一つのリソースの中から、利用者端末毎に表示できる最適データが選択される手段と、
を備え、
生成された最適データにより表示されるウェブコンテンツが、利用者端末からウェブサーバにリクエストが送信される初回から、利用者端末毎に表示される手段と、
を含む、ウェブコンテンツの自動表示制御用システムを提供するものである。
【発明の効果】
【0055】
本発明のウェブコンテンツの自動表示制御方法によれば、ユーザ体験に基づくエンゲージメントの値であるスコアが低い場合には、そのユーザの利用者端末の表示に必要最低限の表示完了時間の短いウェブコンテンツをウェブサーバから送信して利用者端末に短時間でウェブコンテンツを表示させることができる。
また、表示完了時間の短いウェブコンテンツがウェブサーバから送信された後に、適宜、利用者端末が入力受付可能になるステップを優先することができる。その後に、例えば、表示に時間が掛かる広告表示、再生準備まで時間が掛かる動画表示等をユーザが閲覧できるようにウェブコンテンツを利用者端末に送信する。
これにより、ウェブコンテンツの表示完了時間を短縮することができ、ユーザとウェブサイトの運営者との間で十分なエンゲージメントが形成されていない場合でも、ウェブサイトからエンゲージメントのスコアが低いユーザが離脱することを防止できる。
【0056】
逆にユーザ体験に基づくエンゲージメントのスコアが高い場合には、ユーザとウェブサイトの運営者との間で十分なエンゲージメントが形成されている。このため、そのユーザは、利用者端末に表示されるウェブコンテンツに十分な興味を示していることが期待できる。
この場合には、利用者端末が入力受付可能になるステップを優先することなく、例えば、表示に時間が掛かる広告表示、再生準備まで時間が掛かる動画表示等をユーザが閲覧できるようにウェブコンテンツを送信したとしても、ユーザとウェブサイトの運営者との間には信頼関係が育成されているので、ユーザが離脱する確率は低いと見積もることができる。
しかもエンゲージメントのスコアが高いユーザに対して早い段階で動画再生等の準備に時間がかかるウェブコンテンツの再生準備が整うので、ユーザの満足度もさらに高めることができる。
【0057】
このように本発明によれば、ウェブコンテンツを構成するリソースやプログラムをユーザのエンゲージメントに応じて、ユーザ毎に、初回から、高速に配信することができるので、ユーザとサイト運営者の利害は調整される。
これらの利害が調整される結果、ウェブサイトに表示されたウェブコンテンツを閲覧するユーザと、ウェブサイトの運営者との意図の相反は解消され、両者の共通の利益を増進させるウェブコンテンツの自動表示制御方法を提供することができる。
【図面の簡単な説明】
【0058】
[図1] 図1は、本発明の実施形態1に係るウェブコンテンツの自動表示制御方法を実施するための自動表示制御システムの構成を記載した概略図である。
[図2] 図2は、本発明の実施形態1に係るウェブコンテンツの自動表示制御方法に使用される利用者端末のハードウェア構成を説明するための図である。
[図3] 図3は、本発明の実施形態1に係るウェブコンテンツの自動表示制御方法に使用されるウェブサーバのハードウェア構成を説明するための図である。
[図4] 図4は、本発明の実施形態1に係るウェブコンテンツの自動表示制御方法に使用される、ウェブサーバ103の記憶装置1101に含まれるハードウェア構成の詳細を説明するための図である。
[図5] 図5は、本発明の実施形態1に使用される記憶装置のオリジナルデータ記憶領域と加工済みデータ記憶領域に保存される各ファイルの関係を説明するための模式図である。
[図6] 図6は、加工済みデータの生成と、リソースの最適化との関係を説明するためのフローチャートである。
[図7] 図7は、ウェブサーバ103の記憶装置1101の設定ファイル格納部123に保存された設定ファイル125と機種情報ファイル126を説明するための模式図である。
[図8] 図8は、本発明の施形態に使用する、ウェブサーバ103の記憶装置1101の設定ファイル格納部123に保存された機種情報ファイル126の一例を示す図である。
[図9] 図9は、加工前のHTMLファイルと加工済みHTMLファイルとの対応関係を説明するための概念図である。
[図10] 図10は、利用者端末の表示環境ごとに不要部分が削除されるステップを説明するためのフローチャートである。
[図11] 図11は、利用者端末の表示環境ごとに必要部分が圧縮されるステップを説明するためのフローチャートである。
[図12] 図12は、HTMLファイル113に記載されたスクリプト言語ファイル部分108a~108dが直列的に実行されるステップを説明するための図である。
[図13] 図13は、HTMLファイル113に記載されたスクリプト言語ファイル部分108a~108cとスクリプト言語ファイル108dとが並列的に実行されるステップを説明するための図である。
[図14] 図14は、HTMLファイル113に記載されたスクリプト言語ファイル108dの実行が後回しにされるステップを説明するための図である。
[図15] 図15は、加工済みデータが生成されるステップを説明するためのフローチャートである。
[図16] 図16は、オリジナルデータ200に改変があったことを知らせる信号が動作制御部へ送信されるステップを説明するためのフローチャートである。
[図17] 図17は、オリジナルデータ200の改変の信号により、加工済みデータが新たに生成されるステップを説明するためのフローチャートである。
[図18] 図18は、利用者端末101の表示環境に表示可能な最小化されたデータを特定するステップを説明するためのフローチャートである。
[図19] 図19は、エンゲージメントのスコアに応じたウェブコンテンツ選択を学習させるステップを説明するための図である。
[図20] 図20は、利用者端末101にウェブコンテンツ211が高速表示される仕組みを説明するための概念図である。
[図21] 図21は、利用者端末の初期表示画面にサムネイル画像の表示とその変化について説明するための模式図である。
【発明を実施するための形態】
【0059】
最初に本発明の開示で使用される、ユーザ体験とエンゲージメントについて説明する。
本発明の開示で使用される「ユーザ体験」とは、利用者端末に表示されたウェブコンテンツを閲覧したユーザが体験する内容を意味する。
【0060】
具体的には、例えば、ユーザがウェブコンテンツに表示されているテキスト情報を読む、テキスト情報をさらに読み進めるために、利用者端末に搭載されたブラウザをスクロールする、ウェブコンテンツに関連付けられたリンクをクリックしてリンク先の内容を閲覧する、ウェブコンテンツに関連付けられた動画ファイルを再生する、音楽ファイルを再生する、画像ファイルを閲覧する、フォーム欄にテキスト情報を入力してテキスト情報を送信する、ウェブコンテンツに表示された商品を購入する等の行為の一種もしくは二種以上が挙げられる。
【0061】
実際の個々のユーザ体験は、利用者端末に搭載されたブラウザにより捕捉できる。
【0062】
ウェブコンテンツを閲覧するユーザが、ウェブコンテンツに興味がないか、またはウェブコンテンツに求める情報が掲載されていないと判断した場合には、ユーザは離脱と呼ばれる行動を起こす。
ユーザがウェブコンテンツを閲覧することがなければ、そのユーザについてのユーザ体験に関連するスコアはゼロである。
ユーザが再びウェブコンテンツを閲覧することがなければ、ユーザ体験に関連するスコアは加算されない。
【0063】
利用者端末に搭載されたブラウザからリクエストがウェブサーバに送信された後、ウェブサイトのウェブコンテンツに一つまたは複数含まれるウェブページのうち、一つのウェブページが利用者端末に搭載されたブラウザに表示されて、ウェブページがユーザにより入力受付可能になるまでの時間(本発明の開示において「表示完了時間」という)について、ユーザが許容できる時間は2秒以内といわれている。
どの表示完了時間なら許容されるかについては、ユーザのウェブサイトに対するエンゲージメントによって異なる。
【0064】
ユーザがウェブサイトを信頼しており、ウェブサイトに必要な情報があると確信しているのであれば、表示完了時間に対するユーザの許容時間は増加する。反対の場合は、1秒であってもユーザは待てない。
【0065】
逆にユーザが離脱せず、ユーザの利用者端末に表示されたウェブコンテンツを読み進める等の行為をした場合には、ユーザ体験が増加する。
そしてユーザの利用者端末に表示されているウェブコンテンツの提供者が、ウェブサイトの管理者が提供しているウェブコンテンツに関連する行動の全てをユーザが実行すると、その時点におけるそのユーザについてのユーザ体験は最大化する。
【0066】
特定されたユーザについてのユーザ体験が最大化した場合は、そのユーザ体験に関連するスコアの相対値を100として位置づけることができる。
【0067】
また本発明の開示で使用される「エンゲージメント」とは、利用者端末に表示されたウェブコンテンツを閲覧したユーザと、ウェブサイトの運営者との間に、ウェブコンテンツを介して育成される信頼関係を意味する。
【0068】
本発明の開示においては、この信頼関係はユーザ体験と関連があるものとして扱う。
つまり、ユーザとウェブサイトの運営者との間にエンゲージメントがない場合、例えば、ユーザがウェブコンテンツを閲覧していない場合は、エンゲージメントは相対値としてゼロに対応する。
ただし、一度でもウェブサーバ103に対して利用者端末101からリクエストが送信された後は、ウェブコンテンツにアクセスしたユーザ体験がエンゲージメントスコアとして加算される。このため、ウェブサーバ103にアクセスした履歴が保存されている利用者端末101に関するエンゲージメントスコアはゼロより大きい値が記録されている。
【0069】
一方、あるユーザについてのユーザ体験が最大化した場合には、そのユーザとウェブサイトの運営者との間には十分な信頼関係が育成されたと考えることができるので、エンゲージメントは相対値として100に対応する。
【0070】
つまり、それぞれのユーザについてのユーザ体験に基づくエンゲージメントの値は、相対値として0から100の間で変化する。
本発明者の知見によれば、ウェブコンテンツに興味がないユーザについてはエンゲージメントの値は小さくなり、逆にウェブコンテンツに興味を示すユーザについてはエンゲージメントの値は大きくなる傾向があることがこれまでの検討により判明している。
本発明の開示では、ユーザのエンゲージメントスコアに応じて、それぞれのユーザが閲覧する利用者端末に表示されるウェブコンテンツの表示処理が調整されて、ウェブサイトを閲覧するユーザとウェブサイトの管理者との利益の最大化を図る方法が開示される。
【0071】
以下に図面を参照しつつ、本発明の実施形態について説明するが、本発明は以下の実施形態に限定されるものではない。
【0072】
[実施形態1]
図1は、本発明の実施形態1に係るウェブコンテンツの自動表示制御方法を実施するための自動表示制御システムの構成を記載した概略図である。
【0073】
図1において、利用者端末101と、有線接続または無線接続によりウェブサイト等のデータを管理するウェブサーバ103とが、ネットワーク102を通じて接続される。
利用者端末101の具体例としては、例えば、スマートフォン、フィーチャーフォン等の携帯情報端末、PDA(Personal Digital Assistant)、タブレット等の情報表示端末、スマートウォッチ、スマートメガネ等のウェアラブル通信端末、PC(Personal Computer)等のコンピュータ等が挙げられる。
図1では、一つの利用者端末101が例示されているが、実際には一または二以上の利用者端末101を使用することができる。
【0074】
本発明の実施形態1に使用されるネットワーク102としては、例えば、VPN(Virtual Private Network)、LAN(Local Area Network)、WAN(Wide Area Network)、PSTN(Public Switched Telephone Network)、インターネット、イントラネット、イーサネット(登録商標)、携帯電話網、公衆交換電話網等の一または二以上を挙げることができる。
ネットワーク102は、光ファイバー・通信用電線等を利用した有線、赤外線・電波等の電磁波等を利用した無線等を通じて、相互に接続可能である。
【0075】
ウェブサーバ103は、利用者端末101に対して、各国言語による文字、記号、数字等のテキストデータ、画像、動画、音声等のバイナリデータ等を含むウェブサイト等の情報を提供する機能を有する。
ウェブサーバ103は以下に説明する各実施形態を実現できるものであれば、その種類、機能等に限定はない。
【0076】
[ウェブコンテンツの自動表示制御方法に使用される各装置のハードウェア構成]
図2は、本発明の実施形態1に係るウェブコンテンツの自動表示制御方法に使用される利用者端末のハードウェア構成を説明するための図である。
まず利用者端末101のハードウェア構成について説明する。
利用者端末101は、例えば、中央演算処理装置1000(CPU、Central Processing Unit)、記憶装置1001、通信用インターフェイス1002、入力装置1003および表示装置1004等のハードウェア構成等を備える。これらのハードウェア構成はそれぞれ接続されていて相互に通信が可能である。
【0077】
中央演算処理装置1000はプログラムに記載された内容を実行できる回路を搭載していて、各種処理を実行できる。
中央演算処理装置1000の構成は、一つのマイクロプロセッサを搭載するものに限定されず、二以上のプロセッサを搭載するマルチプロセッサを含むものであってもよい。
【0078】
記憶装置1001は、利用者端末101の動作に必要なデータ、プログラム等を記憶することができる。記憶装置1001は、主記憶部1001aと補助記憶部1001bとを含む。
記憶装置1001には、例えば、ウェブコンテンツを利用者端末101で閲覧するためのプログラムアプリケーションとしてのブラウザが保存されている。このブラウザを用いて、ウェブサーバ103から利用者端末101にダウンロードされたデータ等を用いてウェブコンテンツを利用者端末101に表示することができる。
主記憶部としては、例えばRAM等の揮発性メモリが使用される。また補助記憶部としては、例えば、ハードディスク、ソリッドステートディスク、フラッシュメモリ等の不揮発性メモリが使用される。
【0079】
通信用インターフェイス1002は、ネットワーク102を介してウェブサーバ103から送信された各種データを受信し中央演算処理装置1000に各種データを転送する。
また利用者端末101からネットワーク102を介してウェブサーバ103に各種データを送信する。
【0080】
入力装置1003は、利用者端末101に対して各種操作を入力する装置である。入力装置1003は、表示装置1004と一体化したものを使用してもよいし、入力装置1003と、表示装置1004とが分離したものを使用してもよい。
【0081】
入力装置1003は、ユーザからの各種データ入力を受け付けることができる。受け付けられた各種データは中央演算処理装置1000に転送される。
入力装置1003としては、例えば、タッチパネル、タッチパッド、マウス、キーボード、カメラ、マイク等が挙げられる。
例えば、タッチパネルやタッチパッドの場合には、ユーザの指による操作、タッチペン等の専用の入力具による操作等により各種データ入力を受け付ける。
【0082】
マウスの場合は、マウスの移動、マウスに搭載された左右キーの押下、クリックの回数、タップ、ドラッグ等の操作などにより各種データ入力を受け付ける。
【0083】
キーボードの場合は、キーボードに搭載された各種キーの押下、および各種キーを同時に押下する操作などにより各種データ入力を受け付ける。
【0084】
カメラの場合は、カメラにより撮影された画像を解析して中央演算処理装置1000に転送できる信号に変換することにより各種データ入力を受け付ける。
【0085】
マイクの場合は、マイクにより聴音された音声を解析して中央演算処理装置1000に転送できる信号に変換することにより各種データ入力を受け付ける。
【0086】
表示装置1004は、中央演算処理装置1000により処理された各種データを表示できる。
表示装置1004としては、例えば、液晶パネル、有機ELパネル、液晶モニタ、有機ELモニタ等が挙げられる。表示装置1004は各種データの入力を受け付けるタッチパネルであってもよい。
【0087】
次にウェブサーバ103のハードウェア構成について説明する。
図3は、本発明の実施形態1に係るウェブコンテンツの自動表示制御方法に使用されるウェブサーバのハードウェア構成を説明するための図である。
【0088】
ウェブサーバ103は、例えば、中央演算処理装置1100(CPU、Central Processing Unit)、記憶装置1101、通信用インターフェイス1102、入力装置1103および表示装置1104等のハードウェア構成等を備える。これらのハードウェア構成はそれぞれ接続されていて相互に通信が可能である。
【0089】
本発明の開示に使用するウェブサーバ103は、物理マシン、仮想マシン、コンテナ等のそれぞれについて一種もしくは二種以上の実行環境を使用することができる。また、物理マシン、仮想マシン、コンテナ等のそれぞれ単数もしくは複数について、一種もしくは二種以上の組み合わせにより、実行環境を構築することもできる。
またウェブサーバ103は、ネットワーク102を介して、ウェブサーバ103とは異なる外部の一または二以上のウェブサーバと接続して協同してデータを処理することができるものであってもよい。
【0090】
中央演算処理装置1100は、記憶装置1101の記憶領域に保存されたプログラムに記載された内容を実行できる回路を搭載していて、各種処理を実行できる。
中央演算処理装置1100の構成は、一つのマイクロプロセッサを搭載するものに限定されず、二以上のプロセッサを搭載するマルチプロセッサを含むものであってもよい。
【0091】
記憶装置1101は、ウェブサーバ103の動作に必要なデータ、プログラム等を記憶することができる。記憶装置1101は、主記憶部1101aと補助記憶部1101bとを含む。
【0092】
主記憶部としては、例えばRAM等の揮発性メモリが使用される。また補助記憶部としては、例えば、ハードディスク、ソリッドステートディスク、フラッシュメモリ等の不揮発性メモリが使用される。
図3では記憶装置1101はウェブサーバ103の内部に設置されている。ウェブサーバ103は、記憶装置1101の記憶領域に保存されたデータを利用することができる。
また記憶装置1101はウェブサーバ103の外部に設置されてもよい。ウェブサーバ103に搭載された通信用インターフェイス1102により、ウェブサーバ103は、ネットワーク102を通じて記憶装置1101の記憶領域に保存されたデータを利用することもできる。
【0093】
通信用インターフェイス1102は、ネットワーク102を通じて利用者端末101から送信された各種データを受信し中央演算処理装置1100に各種データを転送する。
またウェブサーバ103からネットワーク102を通じて利用者端末101に各種データを送信する。
【0094】
入力装置1103は、ウェブサーバ103に対して各種操作を入力する装置である。入力装置1103は、表示装置1104と一体化したものを使用してもよいし、入力装置1103と、表示装置1104とが分離したものを使用してもよい。
【0095】
入力装置1103は、ウェブサーバ管理者による各種データ入力を受け付けることができる。受け付けられた各種データは中央演算処理装置1100に転送される。
入力装置1103としては、例えば、タッチパネル、タッチパッド、マウス、キーボード、カメラ、マイク等が挙げられる。
【0096】
表示装置1104は、中央演算処理装置1100により処理された各種データを表示できる。
表示装置1104としては、例えば、液晶パネル、有機ELパネル、液晶モニタ、有機ELモニタ等が挙げられる。表示装置1104は各種データの入力を受け付けるタッチパネルであってもよい。
【0097】
ウェブサーバ103を操作する際には、例えば、ウェブサーバ103の管理者が、表示装置1104に表示されたCLI(Command Line Interface)203等の入力装置1103により、文字、数字、記号等のデータを入力して行う。
【0098】
[記憶装置1101に含まれるハードウェア構成の詳細]
次にウェブサーバ103の記憶装置1101に含まれるハードウェア構成の詳細について説明する。
なお、本発明の開示に使用されるハードウェア構成は、物理マシン、仮想マシン、コンテナ等のそれぞれについて一種もしくは二種以上の実行環境を使用することができる。また、物理マシン、仮想マシン、コンテナ等のそれぞれ単数もしくは複数について、一種もしくは二種以上の組み合わせにより、実行環境を構築することもできる。
図4は、本発明の実施形態1に係るウェブコンテンツの自動表示制御方法に使用される、ウェブサーバ103の記憶装置1101に含まれるハードウェア構成の詳細を説明するための図である。
【0099】
記憶装置1101には、例えば、OS(Operating System)1105が導入されていて、中央演算処理装置1100、記憶装置1101の各記憶領域、各プログラム等を制御できる。
OS1105は市場から有償または無料で入手できる。
本発明の実施形態1では、発明の実施形態1に係るウェブコンテンツの自動表示制御方法は、OS1105等が導入された実行環境上で各プログラムを中央演算処理装置1100により動作させて実現される。
【0100】
図4で、記憶装置1101はオリジナルデータ記憶領域104およびデータベース106を備えている。オリジナルデータ記憶領域104には、ユーザの利用者端末101にウェブコンテンツを表示するためのオリジナルデータ200が保存されている。
【0101】
また記憶装置1101は、PST(page speed technology)コントローラ110、PST(page speed technology)プラグイン111、設定ファイル格納部123等を備えている。
PSTコントローラ110の制御部112に記載されたプログラムにより、ウェブサーバ103とPSTプラグイン111が制御される。
PSTコントローラ110は、例えば、ウェブワーカーとして機能することができる。ウェブサーバ103のプログラムの実行に左右されずに、PSTコントローラ110の制御部112は独立してバックグランドで各種プログラムの処理を実行することができる。
【0102】
PSTコントローラ110は、例えば、個々のウェブサイトを制御するものと、ウェブサーバ103を制御するものとに分けることができる。
PSTコントローラ110を個々のウェブサイトについて分けて運用すれば、ウェブサイト毎に、ウェブサイトの管理者がCLI等を通じて、目視により内容を確認し、それぞれのウェブサイトの実情に応じた各種設定事項を追記したり変更したりできる。
また例えば、ウェブサーバ103を制御するPSTコントローラ110を、個々のウェブサイトに対するものとは別に準備しておけば、ウェブサーバ103の管理者が全てのウェブサイトに共通する全体設定について、CLI等を通じて、目視により内容を確認し、ウェブサーバ103についての各種設定事項を追記したり変更したりできる。
【0103】
PSTプラグイン111には、例えば、各種のウェブサーバ103に対応できるように、OS1105の種類、動作環境等に関する情報をもとに、PSTコントローラ110の制御部112が動作するために必要なデータが保存されている。
【0104】
また記憶装置1101は監視制御部115、動作制御部116および動作制御記憶部117とを備えている。
監視制御部115は、オリジナルデータ200を監視していて、例えば、オリジナルデータ200に含まれるPHPファイル105、HTMLファイル113、CSSファイル107、スクリプト言語ファイル108、画像ファイル109等のいずれかに追加、移動、削除、変更等の改変があれば、この改変を検出できる。
【0105】
記憶装置1101は時間実行制御部120を備えている。
時間実行制御部120は、ネットワーク102を通じて正確な現在時刻を入手できる。時間実行制御部120の時間実行記憶部121に、いつ、どのタイミングで、何を実行するかの情報を記載した実行プログラム122が保存されている。
【0106】
[ウェブコンテンツの自動表示制御方法に使用されるオリジナルデータ200]
次に本発明の実施形態1に係るウェブコンテンツの自動表示制御方法に使用されるオリジナルデータ200について説明する。
オリジナルデータ200としては、例えば、HTML、XML等のマークアップ言語、PHP、Perl、Java(登録商標)、C、C++、Lua等のプログラミング言語、CSS、SCSS等のスタイルシート、JavaScript(登録商標)、TypeScript(登録商標)、JavaScript(登録商標)のライブラリであるjQuery(登録商標)等のスクリプト言語等を有するプログラムデータ、
画像ファイル、音ファイル、動画ファイル等のバイナリデータ、
等の一種もしくは二種以上が挙げられる。
【0107】
マークアップ言語には、数字データ、記号データ、文字データ等のテキストデータが含まれる。
オリジナルデータ200には、マークアップ言語、プログラミング言語、スタイルシート、スクリプト言語等を有するプログラムデータならびにバイナリデータからなる群より選ばれる少なくとも一つのリソースが含まれる。
【0108】
HTML、XML等のマークアップ言語はウェブサイト等の基本構成を定めるプログラムである。
PHP、Perl、Java(登録商標)、C、C++、Lua等は、ウェブサーバ103、利用者端末101等を実際に動作させるプログラムである。
CSS、SCSS等のスタイルシートは、ウェブサイト等で表示される文字、数字、記号、画像等の位置、大きさ、種類等のデザイン構成を制御するプログラムである。
またJavaScript(登録商標)、TypeScript(登録商標)、JavaScript(登録商標)のライブラリであるjQuery(登録商標)等のスクリプト言語は、主として、利用者端末に表示されたウェブサイト等のユーザによるボタン等に対するクリック操作、スクロール操作等の処理をはじめ、ウェブコンテンツを利用者端末101に表示するために必要な多種多様な処理を行うプログラムである。
【0109】
図5は、本発明の実施形態1に使用される記憶装置のオリジナルデータ記憶領域と加工済みデータ記憶領域に保存される各ファイルの関係を説明するための模式図である。
図5の参照符号は図4の場合と同じであり、図4および図5に示されるオリジナルデータ記憶領域104と加工済みデータ記憶領域130との関係はそれぞれ同じである。
なお本発明の開示における各ファイルの記載は例示であり、データがファイル形式で管理できることを意味する。データをファイル形式で管理することにより、CLI等を通じて、人間が目視によりデータを管理することができる。
図5では、データがファイル形式で管理できることを模式的に示している。
【0110】
図5では、例えば、一つの具体例として、PHPによるプログラミング言語により記載されたプログラムデータが、PHPファイル105としてオリジナルデータ記憶領域104に保存されている。またデータベース106にはPHPファイル105の表示に必要なデータが格納されている。
本発明に係る実施形態1の場合ではプログラムデータとしてPHPファイル105が使用されているが、本発明に使用するプログラムデータはPHPに限定されず、ウェブコンテンツの表示を実現できるものであれば適宜選択して使用することができる。
【0111】
またリソースファイル124として、例えば、CSSファイル107、スクリプト言語ファイル108および画像ファイル109がオリジナルデータ記憶領域104に保存されている。
【0112】
プログラムデータとしてのPHPファイル105等に記載されたプログラムにより、ウェブサイト等の表示に必要なデータがデータベース106から参照される。
また、PHPファイル105等にCSSファイル107、スクリプト言語ファイル108および画像ファイル109への参照情報を記載し、PHPファイル105等から、CSSファイル107、スクリプト言語ファイル108および画像ファイル109を用いて、利用者端末101に表示されるウェブコンテンツを生成できる。
【0113】
PHPファイル105等の中で定義されたオブジェクトはデータベース106に保存されている。
【0114】
データベース106には、例えば、データ読込手段、データ書込手段、データ保存手段およびデータ検索手段が備えられている。
PHPファイル105等に記載された変数に対応するデータをデータベース106にあらかじめ書き込み保存する。
そしてPHPファイル105等に記載された変数等を元に、データベース106に保存されたデータを呼び出すことができる。
【0115】
図4に示されるPSTコントローラ110の制御部112により、ウェブサーバ103がPHPファイル105等に記載されたプログラムを実行して、HTMLファイル113が生成される。
HTMLファイル113は、静的に事前に生成されてもよいし、利用者端末101からのリクエストの前、または直後に、PHPファイル105等に記載されたプログラムが実行される度に、都度、動的に生成されてもよい。
通常は、HTMLファイル113は動的に生成される。以下、同様である。
【0116】
図4に示されるPSTコントローラ110の制御部112により、CSSファイル107、スクリプト言語ファイル108についても、静的に事前に生成されてもよいし、利用者端末101からのリクエストの前、または直後に、PHPファイル105に記載されたプログラムが実行される度に、都度、動的に生成されてもよい。以下、同様である。
【0117】
本発明の開示においては、ユーザによる利用者端末101からのリクエストに応じて、ウェブサーバ103がPHPファイル105等に記載されたプログラムを動的に実行し、生成された表示用コンテンツをウェブサーバ103から利用者端末101に送信して、利用者端末101側でウェブコンテンツを動的に表示することもできる。
【0118】
ユーザによる利用者端末101からのリクエストをウェブサーバ103が受信する前に、PSTコントローラ110の制御部112によりHTMLファイル113をあらかじめ生成することもできる。そうすればユーザによる利用者端末101からのリクエストの度にウェブコンテンツを動的に生成する必要がなく、ウェブコンテンツの表示完了時間を削減できる。
【0119】
例えば、HTMLファイル113は、ウェブコンテンツを利用者端末101に表示するためのCSSファイル107、スクリプト言語ファイル108および画像ファイル109への参照部分が記載されている。
【0120】
PSTコントローラ110の制御部112により、例えば、ウェブサーバ103がHTMLファイル113に記載されたプログラムを実行すると、その実行に伴ってCSSファイル107、スクリプト言語ファイル108にそれぞれ記載されたプログラムも実行される。
このHTMLファイル113に記載されたプログラムの実行に伴い、ウェブコンテンツを生成できる。
通常は、例えば、HTMLファイル113が利用者端末101にダウンロードされ、利用者端末101に搭載されたブラウザ等によりHTMLファイル113が実行される。そしてウェブコンテンツが利用者端末101に表示される。
【0121】
PHPファイル105またはHTMLファイル113等に記載されているテキスト情報、プログラムデータならびに画像ファイル109による画像情報等を含むウェブコンテンツは、CSSファイル107およびスクリプト言語ファイル108により、利用者端末101の表示環境に応じて表示位置、表示する大きさ、表示用のレイアウト等が指定される。
【0122】
例えば、HTMLファイル113、CSSファイル107、スクリプト言語ファイル108および画像ファイル109等を含むオリジナルデータ200は、通常、加工しなくても、ウェブサーバ103にアクセスすることが予想される全ての利用者端末101の表示環境に応じて表示できる様に作成されている。
【0123】
オリジナルデータ200は、プログラムデータおよびバイナリデータの少なくとも一つを含む。
図5に例示される、本発明に係る実施形態1に使用されるPHPファイル105、HTMLファイル113、CSSファイル107、スクリプト言語ファイル108および画像ファイル109を含むオリジナルデータ200は、ウェブサーバ103にアクセスすることが予想されるあらゆる利用者端末101の表示環境に対応してウェブコンテンツを表示できる反面、個々の利用者端末101の表示環境に必要とされないオリジナルデータ200の部分も含む。
【0124】
例えば、利用者端末101がPCの場合には必要なオリジナルデータ200も、利用者端末101がスマートフォンの場合には必要とされないオリジナルデータ200の部分を含む。
逆に利用者端末101が、例えば、スマートフォン場合には必要なオリジナルデータ200も、利用者端末101がPCの場合には必要とされないオリジナルデータ200の部分を含む。
さらには、例えば、利用者端末101がスマートフォン場合であっても、異なる複数のスマートフォン間では必要とするオリジナルデータ200の部分も異なる場合もある。
加えて、例えば、利用者端末101に搭載されているブラウザの種類によっても、必要とするオリジナルデータ200の部分が異なる場合がある。
【0125】
それぞれの利用者端末101に対して一律に同じオリジナルデータ200をウェブサーバ103から利用者端末101毎に送信すれば、オリジナルデータ200の中に、個々の利用者端末101の表示に必要のないデータが含まれる結果になる。
個々の利用者端末101の表示に必要のないデータがウェブサーバ103から個々の利用者端末101に送信されることを防止して、表示完了時間を短くするために、オリジナルデータ200が加工されて、複数の加工済みデータ201が生成される。
【0126】
オリジナルデータ200にはプログラムデータが含まれる。
またプログラムデータはマークアップ言語、プログラミング言語、スタイルシート、スクリプト言語等を有するプログラム等が含まれる。
またマークアップ言語の記載には、外部のスタイルシート、外部のスクリプト言語、外部のバイナリデータ等への参照情報が含まれる。
なお、ここでいう「外部」とは、例えば、マークアップ言語等の記載に直接記載はされていないが、マークアップ言語等の記載から参照することによりウェブコンテンツとして活用できるものをいう。
【0127】
例えば、マークアップ言語を有するプログラムの一つであるHTMLファイル113には、HTMLファイル113に直接記載されたHTMLファイルの複数のコード部分、CSSファイル107の複数のコード部分およびスクリプト言語ファイル108の複数のコード部分等が含まれる。また、HTMLファイル113が参照する複数のCSSファイル107のファイル部分および複数のスクリプト言語ファイル108のファイル部分等が含まれる。
画像ファイル、音ファイル、動画ファイルなどの一種もしくは二種以上のファイルに関する参照部分もHTMLファイル113に記載されている。
【0128】
HTMLファイル113等がPSTコントローラ110の制御部112に記載さたプログラムに従ってウェブサーバ103からネットワーク102を通じて利用者端末101にダウンロードされる。
先に説明した通り、このHTMLファイル113等を利用者端末101に搭載されたブラウザで実行すれば、それぞれの利用者端末101で、オリジナルデータ200に基づくウェブコンテンツ211が表示される。
【0129】
次に、本発明に係る実施形態1の全体像を示すため、加工済みデータの生成と、リソースの最適化との概要を最初に説明する。
図6は、加工済みデータの生成と、リソースの最適化との関係を説明するためのフローチャートである。
前提として、機種情報ファイルに記載された全てのユーザの利用者端末101にオリジナルデータ200は通常表示可能である。
通常は、利用者端末101の表示に不具合が生じないように、オリジナルデータ200が作成されているからである。
仮にオリジナルデータ200に不具合がある場合には、例えば、ウェブサーバ103に搭載されたヘッドレスブラウザ等のエミュレータ等により、不具合が検出されるから、個別に不具合が修正される。
【0130】
最初に、オリジナルデータ200に含まれるプログラムデータおよびバイナリデータを加工する。
先の図5で示した通り、プログラムデータには、例えば、HTMLファイル113、CSSファイル107、スクリプト言語ファイル108等の一種もしくは二種以上が含まれる。
これのプログラムデータは、ウェブサーバ103が利用者端末101からリクエストを受信した直後に、動的に生成されてもよいし、ウェブサーバ103が利用者端末101からリクエストを受信する前に、事前に生成されてもよい。
またバイナリデータには、画像ファイル、音ファイル、動画ファイル等の一種もしくは二種以上が含まれる。
【0131】
本発明における実施形態1では、例えば、マークアップ言語を含むプログラムデータの一例として、HTMLファイル113が採用されている。
オリジナルデータ200により、利用者端末101に表示されるウェブコンテンツは、通常、複数のウェブページを有する。この一つひとつのウェブページに、それぞれ複数のHTMLファイル113が対応する。図5の場合では、HTMLファイル113で示されている。
【0132】
HTMLファイル113のそれぞれは、利用者端末101のブラウザで再読込操作を必要とせずに表示できる単位となっている。
【0133】
図6のフローチャートに示されるように、例えば、マークアップ言語等を含むプログラムデータが加工される(ステップS001)。
マークアップ言語を含むプログラムデータの加工としては、例えば、マークアップ言語等に含まれる、省略可能なテキストデータの削除、圧縮、処理順序の変更、処理タイミングの変更等が挙げられる。
マークアップ言語等を含むプログラムデータの加工には、マークアップ言語等の記載の中で参照されるプログラムデータ、バイナリデータ等のそれぞれの部分等をオブジェクトとして扱う場合が含まれる。マークアップ言語の記載の中で参照されるプログラムデータ、マークアップ言語の記載の中で参照されるバイナリデータ等のそれぞれの部分を、マークアップ言語等を含むプログラムデータの記載の中で定義されるオブジェクトとして扱うことにより、簡便に加工済みデータを生成することができる。
なお、オブジェクトとは、利用者端末101やウェブサーバ103等のコンピュータが扱うことができる実体を意味し、例えば、変数、配列、関数、プログラム等の一種もしくは二種以上を含む概念を指す。
同様にマークアップ言語等の記載の中で参照されるスタイルシート、スクリプト言語等が加工される(ステップS001)。
【0134】
またマークアップ言語等の記載の中で参照されるバイナリデータ等が加工される(ステップS002)。
ステップS001とステップS002の処理は直列に実施されているが、同時に並行して実施することもできる。
【0135】
ステップS001からステップS002までの加工は、オリジナルデータ200に含まれるそれぞれの要素に対する加工である。すなわち、オリジナルデータ200に含まれるプログラムデータ、バイナリデータに対する加工である。
オリジナルデータ200に含まれるそれぞれの要素に対する加工は、同じ加工対象について、一回もしくは複数回実施される。
それぞれの要素に対する加工が実施された回数に対応する、加工済みプログラムデータ、加工済みバイナリデータ等の加工済みデータが得られる。
【0136】
次に、複数の加工済みデータの中から、利用者端末101に表示可能な加工済みデータ201が選択される(ステップS003)。
先のステップS001およびステップS002はオリジナルデータ200に含まれるそれぞれの要素に対する加工である。
これに対し、ステップS003では、加工された要素を組み合わせることにより、一つの加工済みデータ201が生成される。この一つの加工済みデータ201が一つのウェブページに該当する。一種類の利用者端末101について、表示完了時間の異なる複数の加工済みデータ201が生成される。ウェブページのそれぞれは、利用者端末101のブラウザで再読込操作を行うことなくブラウザに表示される一つの単位になっている。
同様に、全てのオリジナルデータ200に含まれる、それぞれのウェブページについて、それぞれ複数の加工済みデータ201が生成される。
【0137】
続いて、オリジナルデータ200と、複数の加工済みデータ201の中から、一種類の利用者端末101に表示可能なものについて、この利用者端末101に対する表示完了時間を基準に順位付けが実施される(ステップS004)。
同様のステップにより、順位付けが、全ての加工済みデータ201について実施される。
【0138】
次にユーザとウェブコンテンツとのエンゲージメントのスコアが算出される(ステップS005)。
本発明の実施形態1を実施するウェブサーバ103にこれまでリクエストを送信したことがないユーザに関するエンゲージメントのスコアについては最低のエンゲージメントのスコアが、相対値0として割当てられる。
一度でもウェブサーバ103にリクエストを送信したことがあるユーザに関するエンゲージメントのスコアについては、リクエストをウェブサーバ103に送信した行為が一つのユーザ体験となるので、エンゲージメントのスコアが加算される。
【0139】
またウェブサイトへの訪問回数が多い、ウェブサイトでの滞在時間が長い、ウェブサイトを訪問する間隔が短い、ウェブサイトに実装されているリンク、ボタン等をクリックする回数が多い、動画ファイル・音ファイル等の再生時間が長い、動画ファイル・音ファイル等のクリック回数が多い等のユーザ体験が充実しているユーザに関してはこれらの行為の度にエンゲージメントのスコアが加算されていく。結果として、ユーザ体験が充実しているユーザに関しては、高いエンゲージメントのスコアが割当てられる。ユーザ体験が最大化したユーザに対しては、エンゲージメントのスコアが相対値100として割り当てられる。
このエンゲージメントのスコアは相対値として、0から100の間で変動する。
【0140】
次にユーザの利用者端末101の表示環境ごとに、それぞれ利用者端末101に表示されるウェブコンテンツが、エンゲージメントのスコアに基づいて順位付けされる(ステップ006)。
ステップS001~ステップS006までは、ユーザがウェブサーバ103に未だリクエストを送信していない段階で完了される。
【0141】
次に利用者端末101からウェブサーバ103に送信されたリクエストから、その利用者端末101に表示されるウェブコンテンツが選択される(S007)。
実際にユーザの利用者端末101から、ウェブサーバ103がリクエストを受信した直後までに、リクエストの内容を解析してその利用者端末101に表示されるウェブコンテンツが選択される。
【0142】
本発明の開示においては、「ウェブサーバ103がリクエストを受信した直後」とは、ウェブサーバ103が利用者端末101からリクエストを受信してから0.2秒以内、すなわち、200m秒以内を意味する。この時間は、100m秒以内であれば好ましい。
人間が視覚、聴覚等の五感により情報を受け取ってから、実際に行動に移るまでの時間は0.2秒程度である。200m秒以内にウェブサーバ103が応答すれは、利用者端末101を利用するユーザは、ウェブコンテンツがリアルタイムに表示されていると感じることができる。
【0143】
次に利用者端末101からウェブサーバ103に送信されたリクエストから、その利用者端末101に表示されるウェブコンテンツが選択される(S007)。
【0144】
最後に、それぞれの利用者端末101にウェブコンテンツが表示される(S008)。
上記の各ステップを経て、本発明の実施形態1に係るウェブコンテンツの自動表示制御方法を実施することができる。
【0145】
[加工済みデータが生成されるステップ]
次にオリジナルデータ200から、加工済みデータ201が生成されるステップについて詳しく説明する。
ウェブサイトに表示されたウェブコンテンツを閲覧するユーザと、ウェブサイトの運営者との意図の相反を解消し、両者の共通の利益を増進させるためには、ウェブコンテンツに含まれる個々のウェブページを構成するあらゆるリソースをユーザ環境ごとに最適化して、全体のリソースの総量を削減してウェブページを利用者端末101に表示するためのプログラムの実行時間を短くすることが必要である。
各プログラムの実行時間を短くすることができれば、ユーザとサイト運営者の共通の利益となる。
【0146】
加工済みデータ201が生成されるステップは、ウェブサーバ103が利用者端末101からリクエストを受信する前まで、およびウェブサーバ103が利用者端末101からリクエストを受信した直後までの少なくとも一方までの間に実施される。
【0147】
例えば、マークアップ言語には、利用者端末101に表示されてユーザが直接読み取ることができる、文字、数字、記号等を有する文書が含まれる。またこの文書には利用者端末101に表示するのに必要な、DOM(Document Object Model)およびDOMのツリー構造を構成するNodoオブジェクト等も含まれる。
Nodオブジェクトには、段落、見出し、箇条書き等を識別する記号であるマークアップが含まれる。
マークアップ言語に含まれるマークアップの中で、どのマークアップがスタイルシートおよびスクリプト言語等に指定されているかを追跡することにより、マークアップ言語に含まれる文書のどの部分が、HTMLファイル、CSSファイルおよびスクリプト言語ファイル等により制御されているのかをPSTコントローラ110の制御部112により自動で検出することができる。
【0148】
例えば、マークアップ言語の中に含まれる参照部分、すなわち、マークアップ言語の一つであるHTMLファイル113に直接記載されているHTMLファイルの複数のコード部分、マークアップ言語の一つであるHTMLファイル113に直接記載されているスタイルシートの複数のコード部分、マークアップ言語の一つであるHTMLファイル113に直接記載されているスクリプト言語の複数のコード部分、マークアップ言語の一つであるHTMLファイル113に記載されている外部のスタイルシートへの参照部分、マークアップ言語の一つであるHTMLファイル113に記載されている外部のスクリプト言語への参照部分、マークアップ言語の一つであるHTMLファイル113に記載されている外部のバイナリデータへの参照部分等のそれぞれが、識別番号ともにプログラムのオブジェクトとなる。そしてこれらのオブジェクトが、加工済みHTMLファイル131の中に、オブジェクトとして定義される。
これらのオブジェクトは、加工済みデータ記憶領域130(図5参照)に保存される。
なお本発明の開示においては、オブジェクトを扱うプログラムとしてJavaScript(登録商標)が使用されている。オブジェクトを扱うプログラムについては、上記目的を達成できるものであれば、特に限定はない。
【0149】
そして、プログラムのオブジェクトとして格納されたデータが記載された、加工済みHTMLファイル131が生成される。この加工済みHTMLファイル131は、オリジナルデータ200が含むウェブコンテンツ211を構成する複数のウェブページのそれぞれに対応して複数生成される。
複数生成される加工済みHTMLファイル131は、静的に生成されてもよいし、動的に生成されてもよい。
複数生成さる加工済みHTMLファイル131は、ブラウザを再読込せずに表示される一つのウェブページに対応して一または二以上存在する。
また利用者端末101の種類に応じて一または二以上存在する。
【0150】
本発明の開示では、それぞれの加工済みHTMLファイル131の中で使用されるプログラムで定義されるオブジェクトは、それぞれ識別番号が付与されて加工済みデータ記憶領域130に保存される。これらの識別番号により加工の対象となるコード部分、参照部分等を特定できる。
またプログラムで定義されたオブジェクトとしてのデータに記載されている、外部のバイナリデータへの参照部分から、加工の対象となる、オリジナルデータ200に含まれる画像ファイル、音ファイル、動画ファイル等のバイナリデータを特定できる。
【0151】
本発明の実施形態1では、オリジナルデータ200および複数の加工済みデータ201の少なくとも一つであるリソースは、プログラムデータおよびバイナリデータの少なくとも一つを含む。
またプログラムデータは、マークアップ言語、プログラミング言語、スタイルシート、スクリプト言語などの一種もしくは二種以上を有するプログラムを含む。
一方、バイナリデータは、画像ファイル、音ファイル、動画ファイルなどの一種もしくは二種以上のファイルを含む。
これらのプログラム、ファイル等のリソースから、実行させるプログラムのコード部分および実行させないプログラムのコード部分が利用者端末101の表示環境ごとにそれぞれ特定される。
【0152】
一方、利用者端末101毎の表示環境は、利用者端末101毎の表示装置1104に表示可能な環境であり、利用者端末101の種類、OSの種類、ブラウザの種類、表示装置1104の大きさ、単位面積当たりの表示画素数等により利用者端末101ごとに定まる。
【0153】
図7は、ウェブサーバ103の記憶装置1101の設定ファイル格納部123に保存された設定ファイル125と機種情報ファイル126を説明するための模式図である。
図8は、本発明の施形態に使用する、ウェブサーバ103の記憶装置1101の設定ファイル格納部123に保存された機種情報ファイル126の一例を示す概念図である。
【0154】
利用者端末101としては、スマートフォン、フィーチャーフォン等の携帯情報端末、PDA、タブレット等の情報表示端末、スマートウォッチ、スマートメガネ等のウェアラブル通信端末、PC等のコンピュータ等ごとに種類の違いがある。
【0155】
また例えば、同じスマートフォンでも、搭載されるOSの違い、搭載されるブラウザの違い、表示画面の大きさ、表示画面の素子数等の表示環境の違い等もある。
これらの表示環境の違いはそれぞれの利用者端末101についての公開された入手可能な機種情報により特定される。
【0156】
利用者端末101の表示環境については、利用者端末101毎に製造メーカー等がその仕様を公開している。この公開情報に基づいて、利用者端末101についての表示環境が整理される。この表示環境は利用者端末101毎に複数存在する。
【0157】
図8に示す通り、利用者端末101を特定する識別情報、利用者端末101が、携帯情報端末であるか、情報表示端末であるか、またはコンピュータであるかを示す機種情報、利用者端末101に搭載されているOSの種類についてのOS情報、利用者端末101に搭載されているブラウザ情報、利用者端末101の表示画面の画素数、表示画面のサイズ等を示す表示環境情報等に対応する情報が機種情報ファイル126に格納されている。
なお、図8では説明の便宜上、表形式でデータが掲載されているが、実際には、json,csv,tsv等の各種ファイル形式等、データベース形式等でデータが保存されている。
【0158】
通常、利用者端末101は大量生産され市場に供給される。このため、利用者端末101の表示環境は概ね規格化されている。設定ファイル格納部123にある機種情報ファイル126に格納されている表示環境の情報は無限にあるわけではなく、有限時間内に機種情報ファイル126に対して整理できる。
【0159】
機種情報ファイル126は、個々の全ての利用者端末101についての情報を含んでもよいし、一定のカテゴリーに属する利用者端末101についての情報をグループ化して、そのグループ情報を含んでもよい。グループ情報は任意の一つの利用者端末101を選択した際に、グループ情報から機種情報ファイル126に基づいて、その利用者端末101の表示環境を特定できるものであれば、その表現形式に特に限定はない。
【0160】
PSTコントローラ110の制御部112は、機種情報ファイル126に記載された全ての利用者端末101の表示環境に基づいて、先に説明したプログラムおよびファイル等から、実行させるプログラムのコード部分および実行させないプログラムのコード部分を利用者端末101の表示環境ごとにそれぞれ特定する。
【0161】
実行させるプログラムのコード部分の具体例としては、例えば、利用者端末101の表示装置1104に表示される部分に寄与するプログラムのコード部分等が挙げられる。
実行させないプログラムのコード部分の具体例としては、例えば、利用者端末101の表示装置1104に表示されない部分に寄与するプログラムのコード部分等が挙げられる。
例えば、スマートフォンのみで使用されるプログラムのコード部分は、スマートフォン以外の利用者端末101では使用されないから、スマートフォン以外の利用者端末101では、スマートフォンのみで使用されるプログラムのコード部分は実行されないプログラムのコード部分に該当する。
【0162】
実行させるプログラムのコード部分および実行させないプログラムのコード部分は、利用者端末101毎に通常異なる。
利用者端末101毎に実行させるプログラムのコード部分および実行させないプログラムのコード部分を特定するためには、機種情報ファイル126に記載された全ての利用者端末101の情報に基づいて、利用者端末101毎に、事前に実際に予備試験を行って決定する。
【0163】
この予備試験を繰り返せば、概ね、オリジナルデータ200のどの部分が利用者端末101毎の実行に必要なプログラムのコード部分に該当するかの傾向が分かる。
ただし、正確にオリジナルデータ200のどの部分が利用者端末101の実行に必要なプログラムに該当するかどうかの判断については、全ての利用者端末101について、利用者端末101毎に事前に実際に予備試験を行って決定することができる。
【0164】
なお、本発明の開示において「事前に」との意味は、利用者端末101のブラウザ等からユーザが実際にウェブサーバ103に対してリクエストを送信する前に、という意味である。
【0165】
本発明の開示では、ウェブサーバ103のPSTコントローラ110の制御部112に、ヘッドレスブラウザ等のエミュレータと呼ばれる利用者端末101に搭載されたブラウザ環境と同じ環境が搭載されている。このエミュレータを用いて、予備試験を行うことができる。
【0166】
本来なら実行させるプログラムのコード部分に該当するのに、間違って実行させないプログラムのコード部分と判断されて削除された場合には、利用者端末101の表示に不具合が生じる。
不具合が生じるかどうかについては、ウェブサーバ103に搭載された利用者端末101に対応するブラウザのエミュレータを用いた予備試験により、エラー信号が生じるかどうかを手がかりに、事前に調べることができる。このエラー信号がウェブサーバ103のPSTコントローラ110の制御部112で検出されると、実行させないプログラムのコード部分を選択する際に、どの段階で不具合が生じたのかを特定することができる。
【0167】
予備試験により、ある程度オリジナルデータ200のどの部分に実行させないプログラムのコード部分があるのかは判明する。しかしこれまでプログラムを実行したことがない場合等、予備情報が存在しない状況では、オリジナルデータ200のどの部分が実行させないプログラムに該当するのかは詳細にはわからない。
そこで、例えば、一つの利用者端末101に搭載されたブラウザがエラーを発生させていない状態から、一つずつ実行させないプログラムのコード部分をプログラムの中から外す操作を繰り返す。そして利用者端末101に搭載されたブラウザがエラー信号を発したことを最初に検出した時点で、最後に外した実行させないプログラムのコード部分が、本来なら実行させるプログラムのコード部分に該当すことが分かる。
【0168】
また例えば、一つずつ実行させないプログラムのコード部分をプログラムの中から外しては、エミュレータ中で再現された利用者端末101の表示内容をキャプチャ画像として逐次画像ファイルに保存する操作を繰り返す。
オリジナルデータ200に基づくキャプチャ画像と、その後のキャプチャ画像とを比較し、両者が一致しなくなった時点で最後に外した実行させないプログラムのコード部分が、本来なら実行させるプログラムのコード部分に該当すことが分かる。
【0169】
上記の操作により、一つの利用者端末101について、実際にオリジナルデータ200のどの部分が利用者端末101の実行に必要なプログラムのコード部分に該当するかが分かる。
この操作を実現させるプログラムがウェブサーバ103のPSTコントローラ110の制御部112に保存されている。このPSTコントローラ110の制御部112に保存されているプログラムを実行することにより、上記の操作が自動で実施される。
【0170】
上記の操作を繰り返して、機種情報ファイル126に記載された全ての利用者端末101の情報に基づいて、事前に実際に予備試験を行う。この予備試験の結果から、全ての利用者端末101について、利用者端末101毎に実行させるプログラムのコード部分および実行させないプログラムのコード部分の情報が特定される。特定された情報は、機種情報ファイル126に関連付けられて、設定ファイル格納部123に保存される。
【0171】
次に、利用者端末101毎に複数の特定された実行させるプログラムのコード部分のうち、優先して実行させるプログラムのコード部分と遅延して実行させるプログラムのコード部分の実行順序を決定するステップについて説明する。
本発明の開示においては、ファーストビューと呼ばれる利用者端末101の画面に最初に表示されるウェブコンテンツ211の部分の表示が優先される。
【0172】
ユーザがウェブコンテンツ211に含まれるウェブページを閲覧するときにもっとも重要なのは、ファーストビューに含まれるコンテンツであり、サイトの運営者にとってもファーストビューに含まれるコンテンツを構成するヘッダー広告等に関するリソースが最重要である。
【0173】
ユーザのエンゲージメントに応じて、ファーストビューを構成するリソースはできるだけ早く配信して、それ以外のファーストビューを構成しないリソースは遅く配信、場合によっては削除する。
【0174】
ファーストビューの表示完了時間を最小化して、ユーザとサイト運営者の共通の利益を確保し、利害を調整することができる。
ファーストビューの表示に関連しないデータがウェブサーバ103から利用者端末101に先に送信されると、利用者端末101のファーストビューの表示に関連しないデータ処理に時間を要するため、利用者端末101のファーストビューの表示が遅延する。
【0175】
この遅延を防止するために、HTMLファイル113、CSSファイル107およびスクリプト言語ファイル108に含まれる表示情報に関連するプログラムのうち、ファーストビューの表示に関係がないプログラムの実行を後回しにし、ファーストビューに関係するプログラムの実行を優先させる。またそれぞれのプログラムの実行タイミングも調整される。
【0176】
このようにプログラムの実行順序および実行タイミングを変更することにより、ファーストビューの表示を速く完結することができ、ウェブサイトからのユーザの離脱を軽減することができる。
なお、ファーストビューの表示がどのように実現されるかについては、本発明に係る実施形態2で、さらに詳細に説明する。
【0177】
次に、加工済みデータ201が生成されるステップについて、具体的に説明する。
加工済みデータ201が生成されるステップは、オリジナルデータに含まれる、マークアップ言語、プログラミング言語、スタイルシート、スクリプト言語等の一種もしくは二種以上を有するプログラムデータと、オリジナルデータに含まれるバイナリデータに含まれる、画像ファイル、音ファイル、動画ファイルなどの一種もしくは二種以上のデータのそれぞれについて実施される。
【0178】
オリジナルデータに含まれる、マークアップ言語、プログラミング言語、スタイルシート、スクリプト言語等の一種もしくは二種以上を有するプログラムデータが有するプログラムのコード部分は、先に説明したとおり、加工済みHTMLファイル131の中で、識別番号と共にそれぞれのプログラムのオブジェクトを構成する。
【0179】
同様に、プログラムのコード部分が参照するオリジナルデータに含まれる、画像ファイル、音ファイル、動画ファイルなどの一種もしくは二種以上のファイルに関する参照部分も、加工済みHTMLファイル131の中で、前記コード部分と共に識別番号と併せてプログラムのオブジェクトを構成する。
【0180】
図9は、加工前のHTMLファイルと加工済みHTMLファイルとの対応関係を説明するための概念図である。
オリジナルデータ200を加工することにより、利用者端末101の表示環境ごとに複数の加工済みデータ201が生成される。
【0181】
つまり、一つの利用者端末101について、複数の加工済みデータ201が生成される。この加工済みデータ201の生成は、識別番号を指定して、プログラムにより定義されたオブジェクトから、それぞれのオブジェクトに対応するそれぞれのプログラムのコード部分を呼び出し、呼び出されたプログラムのコード部分に対して、追加、移動、削除、変更等の改変を行うことにより実施される。
【0182】
図9に示されるように、オリジナルデータ200に含まれるHTMLファイル113は、HTMLコード部分113a,113b,113c、CSSコード部分107a,107b,107c、スクリプト言語コード部分108a,108b,108c等を含む。
【0183】
CSSコード部分107a,107b,107cのそれぞれは、プログラムのオブジェクトとして、識別番号と共に、オブジェクトF107a,F107b,F107c等に定義される。
【0184】
同様に、スクリプト言語コード部分108a,108b,108cのそれぞれは、プログラムのオブジェクトとして、識別番号と共に、それぞれ、オブジェクトF108a,F108b,F108c等に定義される。
【0185】
加工済みデータ201が生成されるステップは、マークアップ言語、プログラミング言語、スタイルシート、スクリプト言語等を有するプログラムデータに含まれるコード部分以外の文書部分についても実施される。
【0186】
加工済みデータ201が生成されるステップは、不要部分が削除されるステップ、必要部分が圧縮されるステップ、実行順序が変更されるステップ、実行タイミングが変更されるステップ、重複実行時間が短縮されるステップ等の一種もしくは二種以上、
バイナリデータから、単位面積当たりの表示画素数、単位時間当たりの録画録音密度、容量の大きさ、保存形式等の一種もしくは二種以上が変換されるステップ等の一種もしくは二種以上を含む。
【0187】
[利用者端末の表示環境ごとに不要部分が削除されるステップ]
図10は、利用者端末の表示環境ごとに不要部分が削除されるステップを説明するためのフローチャートである。
なお、一定回数処理を行っても対応する処理が実行できない場合には、そのステップを終了して次のステップの処理が実行される。以下のステップについても同様である。
【0188】
機種情報ファイル126の識別番号に基づいて特定された利用者端末101毎に、例えば、利用者端末101が利用するHTMLファイル113ならびに、HTMLファイル113の実行時に参照されるCSSファイル107およびスクリプト言語ファイル108等が特定される。これらの特定は、図9に示すプログラムに対応付けられたオブジェクトについての識別番号を指定することにより実施される。
【0189】
そしてHTMLファイル113のうち、利用者端末101が使用しないHTMLファイル113の部分113x、CSSファイル107のうち、利用者端末101が使用しないCSSファイル107の部分107xおよびスクリプト言語ファイル108のうち、利用者端末101が使用しないスクリプト言語ファイル108の部分108xがそれぞれ特定される。
【0190】
これらのファイルのうち、利用者端末101に使用されない部分113x、107xおよび108xが削除される。
【0191】
具体的には、例えば、機種情報ファイル126の識別番号に基づいて特定された利用者端末101がPCの場合には、HTMLファイル113、CSSファイル107およびスクリプト言語ファイル108のいずれかに含まれる携帯情報端末および情報表示端末に対応する部分の情報は削除される。
【0192】
逆に、例えば、機種情報ファイル126の識別番号に基づいて特定された利用者端末101がスマートフォンの場合には、HTMLファイル113、CSSファイル107およびスクリプト言語ファイル108のいずれかに含まれる情報のうち、スマートフォンに使用されない部分の情報は削除される。
【0193】
HTMLファイル113は、段落、見出し、箇条書き等を識別する記号であるマークアップを含む。
HTMLファイル113に含まれるマークアップの中で、どのマークアップが指定されているかを追跡することにより、CSSファイル107およびスクリプト言語ファイル108が指定するマークアップを手がかりに、それぞれHTMLファイル113のどの部分がCSSファイル107およびスクリプト言語ファイル108により制御されているのかが分かる。
【0194】
HTMLファイル113のどの部分がCSSファイル107およびスクリプト言語ファイル108により制御されているかの情報を手がかりに、PSTコントローラ110の制御部112により、機種情報ファイル126に記載された全ての利用者端末101の表示環境に基づいて、PSTコントローラ110の制御部112により、加工済みデータの不要部分の削除が実現される。
【0195】
次にユーザは、例えば、HTMLファイル113、CSSファイル107およびスクリプト言語ファイル108のそれぞれを直接閲覧しない。
ユーザは、HTMLファイル113等により生成されたウェブコンテンツ211を利用者端末101のブラウザを通して閲覧する。
【0196】
一方、例えば、HTMLファイル113、CSSファイル107およびスクリプト言語ファイル108のそれぞれは、これらのファイルに記載された内容をCLIなどに表示した時に人間が内容を理解できるように工夫された表示情報が含まれている。これらの表示情報は、ウェブサーバ103の管理者にとっては必要な情報であるが、ウェブコンテンツ211には反映されないため、利用者端末101を使うユーザにとっては不要な情報である。
【0197】
HTMLファイル113、CSSファイル107およびスクリプト言語ファイル108に含まれる表示情報のうち、削除しても、ウェブコンテンツ211の表示に影響を与えないものが存在する。これらの表示情報が削除される。
削除される表示情報としては、例えば、ウェブコンテンツ211の表示に影響を与えないスペース、タブ、改行や段落の区切りを示す改行情報、各ファイルに記載された保守管理上の注意書き等のテキスト情報等が挙げられる。
【0198】
HTMLファイル113、CSSファイル107およびスクリプト言語ファイル108に含まれる表示情報を解析することにより、PSTコントローラ110の制御部112により、機種情報ファイル126に記載された全ての利用者端末101の表示環境に基づいて、加工済みデータの不要部分の削除が実現される。
実際には、例えば、削除される対応部分のオブジェクトに何もない(null)等を指定するだけで削除が実現される。
【0199】
[利用者端末の表示環境ごとに必要部分が圧縮されるステップ]
【0200】
図11は、利用者端末の表示環境ごとに必要部分が圧縮されるステップを説明するためのフローチャートである。
一般に、一つの同じ情報を表現する方法は複数存在する。例えば、数字の百万を意味する「1,000,000」との表記は、「10E6」と表記できる。これは10の6乗との意味である。前者は桁の区切りを示すコンマも含めて9文字が必要なのに対し、後者はアルファベット文字も含めて4文字で表現可能である。
一つの同じ情報を、ウェブサーバ103および利用者端末101がより速く処理できる別の表現形式に変換する操作を本発明の開示では圧縮という。
【0201】
このような圧縮操作は、例えば、LHA、ZIP、GZIP、Brotli等の既存の可逆圧縮技術の一種もしくは二種以上を利用して実施することができる。
例えば、HTMLファイル113、CSSファイル107およびスクリプト言語ファイル108ならびにこれらの加工済みデータの一種もしくは二種以上について、PSTコントローラ110の制御部112により、必要部分の圧縮が実現される。
なお、必要部分が圧縮されるステップにおいては、圧縮形式は、一種もしくは二種以上を使用することができる。また必要部分が圧縮されるステップでは、全てを圧縮してもよいし、一部を圧縮してもよい。
【0202】
[実行順序が変更されるステップ]
ウェブコンテンツ211のうち、ファーストビューと呼ばれる利用者端末101の画面に最初に表示されるウェブコンテンツ211の部分に関連するプログラムのコード部分の実行を先に行う。続いて、ウェブコンテンツ211のうち、ファーストビューと呼ばれる利用者端末101の画面に最初に表示されるウェブコンテンツ211の部分以外に関連するプログラムのコード部分の実行を後に行う。
実行順序については、先に説明した通り、ファーストビューと呼ばれる利用者端末101の画面に最初に表示されるウェブコンテンツ211の部分の表示が優先される。
オリジナルデータに含まれる、マークアップ言語、プログラミング言語、スタイルシート、スクリプト言語等の一種もしくは二種以上を有するプログラムデータに含まれるプログラムのコード部分は、通常、記載された順番にウェブサーバ103側で実施される。
しかし、先に実行されるはずのプログラムのコード部分に、後から実行されるプログラムのコード部分の参照があった場合には、後から実行されるプログラムのコード部分がウェブサーバ103側に読み込まれるまでは、先に実行されるはずのプログラムのコード部分が待機することになる。
【0203】
この待機の時間は、一つひとつのプログラムのコード部分については十分無視できるほどに通常は短いため、見過ごされやすい。
ところがオリジナルデータの規模が大きくなるに従って、待機時間の影響は大きくなる傾向がある。待機時間の影響を放置するとユーザがウェブサイトから離脱を起こす一つの要因となりうる。このため実行順序が変更されて、無駄な待機時間が発生しないように処理される。
【0204】
具体的には、プログラムのコード部分が、後から実行されるプログラムのコード部分を参照している場合には、後から実行されるプログラムのコード部分を繰り上げて先に実行させる場合等が挙げられる。
またプログラムのコード部分が、実行できない要素を参照している場合、例えば、過去には存在したが現在は存在していないコード部分等を参照している場合、現在は存在していない変数を参照している場合等が挙げられる。この場合には、問題のあるコード部分を実行せず、例えば、順番を飛ばして後のコード部分を先行して実施させる。
【0205】
ファーストビューに関連するプログラムのコード部分以外のプログラムについても実行順序が変更されて、遅延実行される。
遅延実行されるプログラムについては、これらのプログラムのうち、同期して実行するのか、非同期に実行するのか、優先して実行するのか、遅延して実行するのかが、ウェブサーバ103に搭載されたPSTコントローラ110の制御部112に記載したプログラムにより制御される。
【0206】
[実行タイミングが変更されるステップ]
実行タイミングについては、ファーストビューと呼ばれる利用者端末101の画面に最初に表示されるウェブコンテンツ211の部分の表示に関連するプログラムのコード部分の実行が完了した後に、ファーストビュー以外のウェブコンテンツ211の部分の表示に関連するプログラムの実行が開始される。
【0207】
DOMの形成、DOMのツリー構造に関連付けられたコンテンツの利用者端末101へのダウンロード、画像ファイル、音ファイル、動画ファイル等の主要なリソースのダウンロード等の実行タイミングが調整される。
【0208】
互いに影響を及ぼし合うプログラムのコード部分については、一つのプログラムのコード部分の実行が終了してから、次のプログラムのコード部分の実行が開始されるように、同期してプログラムのコード部分の実行タイミングが調整される。
また互いに影響を及ぼさないプログラムのコード部分については、それぞれ非同期にプログラムのコード部分の実行タイミングが調整される。
【0209】
[重複実行時間が短縮されるステップ]
一方、HTMLファイル113、CSSファイル107およびスクリプト言語ファイル108のそれぞれについて、これらのファイルに記載されたプログラムの実行時間の調整も実施される。
図12は、HTMLファイル113に記載されたスクリプト言語ファイル部分108a~108dが直列的に実行されるステップを説明するための図である。
HTMLファイル113に複数のスクリプト言語ファイル部分108a~108dの参照情報が記載されている。
【0210】
HTMLファイル113が実行されると、スクリプト言語ファイル部分108a~108dは、通常はこの順番に、直列的に実行される。
ここで例えば、スクリプト言語ファイル108dの表示完了時間の相対値が仮に100であり、スクリプト言語ファイル部分108a~108cの表示完了時間の相対値がそれぞれ仮に5、10および15であったとする。
ここでスクリプト言語ファイル部分108a~108dがこの順番に実行されたとすると、利用者端末101の表示が完了するまでに、表示完了時間の相対値を基準に5+10+15+100=130に相当する表示完了時間の処理が必要になる。
【0211】
図13は、HTMLファイル113に記載されたスクリプト言語ファイル部分108a~108cとスクリプト言語ファイル108dとが並列的に実行されるステップを説明するための図である。
この場合には、スクリプト言語ファイル108の実行順序を整理して、ウェブコンテンツ211の生成時間の短縮が可能である。
【0212】
図13の場合であれば、スクリプト言語ファイル108dが実行されると同時に、スクリプト言語ファイル部分108a~108cが並行して処理されるようにHTMLファイル113を加工する。
この加工により、スクリプト言語ファイル108dの表示完了時間の相対値100に対応する処理が実行されている間に、表示完了時間の相対値を基準に5+10+15=30に相当する表示完了時間の処理を完結できる。
そうするとスクリプト言語ファイル部分108a~108dの表示完了時間を、相対値を基準に130から100に削減することができる。
【0213】
図14は、HTMLファイル113に記載されたスクリプト言語ファイル108dの実行が後回しにされるステップを説明するための図である。
先にスクリプト言語ファイル部分108a~108cのみを参照する情報をHTMLファイル113に記載しておき、HTMLファイル113の最後にスクリプト言語ファイル108dを参照するように加工することもできる。
【0214】
このように加工すれば、相対的に実行時間の長いスクリプト言語ファイル108dの処理を待つことなく他のスクリプト言語ファイル108a~108cの実行を開始することができる。
【0215】
どのファイルをどの順番に処理すれば最適になるかは、実際に順番を変化させて、それぞれの利用者端末101毎に、ウェブコンテンツ211の表示完了時間を計測して比較することにより決定することができる。
【0216】
加工済みHTMLファイル131、加工済みCSSファイル132および加工済みスクリプト言語ファイル133が生成されるステップは、機種情報ファイル126に記載された全ての利用者端末101について実施される。
【0217】
HTMLファイル113が複数のスクリプト言語ファイル部分108a~108c等をどの順番でどのように処理するのか追跡することにより、PSTコントローラ110の制御部112により、機種情報ファイル126に記載された内容に該当する全ての利用者端末101の表示環境に基づいて、加工済みデータ201の新たな生成が実現される。
【0218】
上記のステップを経て、オリジナルデータ200に含まれる、マークアップ言語、スタイルシートおよびスクリプト言語からなる群より選ばれる少なくとも一つのデータを加工することができる。
【0219】
[バイナリデータから、単位面積当たりの表示画素数、単位時間当たりの録画録音密度、容量の大きさ、保存形式からなる群より選ばれる一つを変換して容量が削減されるステップ]
次にHTMLファイル113、CSSファイル107およびスクリプト言語ファイル108等が参照する全ての画像ファイル109等について、機種情報ファイル126の識別番号に基づいて特定された利用者端末101毎に表示サイズ、容量および種類の異なる加工済み画像ファイル134がそれぞれ生成される。
画像ファイル109の表示サイズの変更は、例えば、縦と横の長さの比を変更せずに、縦と横の長さが異なる加工済み画像ファイル134が複数生成されることにより実施される。
画像ファイル109の容量の変更は、例えば、画像ファイル109の単位面積当たりの画素数の変更、単位時間当たりの録画録音密度の変更等により実施される。
【0220】
画像ファイル109の種類の変更は、例えば、画像ファイル109の種類がPNGであった場合には、JPEG、WEBP、JPEG2000等への種類の変更により実施される。
加工済み画像ファイル134が生成されるステップは、機種情報ファイル126に記載された全ての利用者端末101について実施される。
【0221】
上記のステップを経て、新たな複数の変換済みバイナリデータを含む加工済みデータ201が生成される。
バイナリデータが動画ファイル、音ファイル等の場合も、同様の手順を経て、新たな複数の変換済みバイナリデータを含む加工済みデータ201を生成することができる。
【0222】
図15は、加工済みデータが生成されるステップを説明するためのフローチャートである。
例えば、オリジナルデータの表示完了時間の測定に加えて、加工済みHTMLファイル131、加工済みCSSファイル132および加工済みスクリプト言語ファイル133のそれぞれについて、表示完了時間が測定される。
複数ある加工済みHTMLファイル131は、加工前のHTMLファイル113と比較して、要素として、どの程度の表示完了時間がかかるのかが測定される。
加工済みCSSファイル132は、加工前のCSSファイル107と比較して、要素として、どの程度の表示完了時間がかかるのかが測定される。
複数ある加工済みスクリプト言語ファイル133は、加工前のスクリプト言語ファイル108と比較して、要素として、どの程度の表示完了時間がかかるのかが測定される。
バイナリデータについても、複数ある加工済み画像ファイル等と、加工前の画像ファイル等と比較して、要素として、どの程度の表示完了時間がかかるのかが測定される。
【0223】
これらの情報は、機種情報ファイル126の情報に従って、利用者端末101の表示環境ごとに、ウェブサーバ103が利用者端末101からリクエストを受信する前まで、およびウェブサーバ103が利用者端末101からリクエストを受信した直後までの少なくとも一方までの間に生成される。
なお図15では直列処理が例示されているが、それぞれの処理は並列に実施することもできる。
【0224】
上記のステップにより、それぞれの利用者端末101について、オリジナルデータ200および複数の加工済みデータ201が準備される。
【0225】
なお、オリジナルデータ200および複数の加工済みデータ201に含まれる、それぞれの要素についての表示完了時間の最も短いものを選択すれば、全体としてのオリジナルデータ200および複数の加工済みデータ201の中で最も表示完了時間の短いものが得られるか、というと、そうとは限らない。
要素の組み合わせによっても、それぞれの要素が互いに影響を及ぼし合って、オリジナルデータ200および複数の加工済みデータ201のそれぞれについての表示完了時間が変動するからである。
【0226】
オリジナルデータ200および複数の加工済みデータ201のうち、どれが最も表示完了時間が短くなるかについて不明なものについて、利用者端末101毎に、実際に事前に予備試験を行って決定される。
【0227】
[ウェブコンテンツの自動表示制御方法に使用されるオリジナルデータ200の更新]
図16は、オリジナルデータ200に追加、移動、削除、変更等の改変があったことを知らせる信号が動作制御部へ送信されるステップを説明するためのフローチャートである。
また図17は、オリジナルデータ200の改変の信号により、加工済みデータが新たに生成されるステップを説明するためのフローチャートである。
【0228】
オリジナルデータ200を監視して、オリジナルデータ200に追加、移動、削除、変更等の改変があったことを検出した時点で、加工済みデータが新たに生成される。
ウェブコンテンツ211の自動表示制御方法に使用されるオリジナルデータ200は、最初にウェブサーバ103の記憶装置1101にあるオリジナルデータ記憶領域104に保存されたものをそのまま使用し続けることができる。
【0229】
一方、ユーザは古い情報に加えて最新の情報の入手も通常希望する。このユーザの希望に応えてウェブサーバ管理者はオリジナルデータ200を更新する作業が通常発生する。
ここではオリジナルデータ200の更新について説明する。
【0230】
オリジナルデータ200に改変があったことを検出するためは、一定時間経過後にオリジナルデータ200に変化が生じているかを追跡すればよい。
【0231】
オリジナルデータ200はオリジナルデータ記憶領域104に保存されている。一定時間経過後にオリジナルデータ200に改変があった場合には、改変後の内容がオリジナルデータ記憶領域104に保存される。
【0232】
そして先に保存された内容と、後に保存された内容のそれぞれを比較すればオリジナルデータ200のどの部分に差異が生じたかを、図4に示される監視制御部115に記載されたプログラムにより検出することができる。
差異の有無を調べる時間間隔を短く設定することにより、瞬時に変更があったことを検出できる。
【0233】
オリジナルデータ200に改変があった場合には、監視制御部115はオリジナルデータ200に含まれるHTMLファイル113、CSSファイル107、スクリプト言語ファイル108および画像ファイル109のうち、改変のあった部分を特定する。
そして改変があったことを知らせる信号が監視制御部115から動作制御部116およびPSTコントローラ110の制御部112に送信される。
【0234】
改変を知らせる信号を受信した動作制御部116は、オリジナルデータ200のうち改変があった部分について利用者端末101の表示環境に応じた加工済みデータ201を加工して、新たな加工済みデータ202を生成する。
ウェブサーバ103の加工済みデータ記憶領域130に保存されている加工済みデータ201のうち、改変があった部分に対応するデータが、加工済みデータ202により置換される。
【0235】
本発明の開示においては、例えば、オリジナルデータ200に関連するデータについてのタイスタンプと呼ばれる、最新保存時間についての情報が変更されたものについて、実際にオリジナルデータ200等について改変があったかどうかを検証せずに、動的に生成された加工済みデータ202により、先に存在する加工済みデータ201等の該当部分を置換することもできる。
【0236】
オリジナルデータ200が改変されると、その改変とほぼ同時に、オリジナルデータ200の改変に伴って新たに生成された加工済みデータ202により、先に生成されている加工済みデータ201が置換される動作が継続的に実施される。
【0237】
PSTコントローラ110の制御部112からの命令を受けて、PSTプラグイン111に記載されたプログラムが動作し、利用者端末101の表示環境に応じた加工済みデータ202が抽出加工されて、動作制御記憶部117に保存される。
【0238】
上記のステップを経て、ウェブサーバ103が利用者端末101からリクエストを受信する前に、ウェブサーバ103が利用できる記憶領域に保存されたオリジナルデータ200から利用者端末の表示環境に応じた加工済みデータ201,202が新たに生成される。
【0239】
[利用者端末の表示環境を特定するステップ]
次にウェブサーバ103が利用者端末101からリクエストを受信した後に、ウェブサーバ103が、利用者端末101の表示環境を特定するステップについて説明する。
【0240】
ネットワーク102を通じて利用者端末101がウェブサーバ103に接続可能な状態になると、利用者端末101からリクエストがネットワーク102を経由してウェブサーバ103に送信される。そして利用者端末101から送信されたリクエストがウェブサーバ103に受信される。
このリクエストは利用者端末101に搭載されるブラウザを経由して行われる。
【0241】
ウェブサーバ103が受信したリクエストには、例えば、利用者端末101の機種情報、ブラウザの種類、OSの種類等を示すユーザエージェント、利用者端末101のブラウザに表示されるウェブサイトのどのページからリクエストが送信されたかを示すリファラ等が含まれる。
これらのユーザエージェント、リファラ等の情報を利用して、アクセプトヘッダー、クッキー等によりウェブサーバ103は、利用者端末101の表示環境を特定できる。
【0242】
[利用者端末の表示環境に表示可能なデータを含むウェブコンテンツが生成されるステップ]
次に、利用者端末101の表示環境に表示可能なデータを含むウェブコンテンツ211が生成されるステップについて説明する。
既に、先に説明したステップにより、事前に利用者端末101毎に表示できるウェブコンテンツ211は生成されている。このウェブコンテンツ211と、利用者端末101との対応付けを行う。
【0243】
図18は、利用者端末101の表示環境に表示可能なデータを含むウェブコンテンツ211が生成されるステップを説明するためのフローチャートである。
利用者端末101の表示環境に表示可能なデータを含むウェブコンテンツ211が選択されるステップは、利用者端末101のブラウザからのリクエストがウェブサーバ103に送信された後に実施される。
利用者端末101の表示環境の特定は、アクセプトヘッダー、クッキー等の情報を、先に説明した機種情報ファイル126と照合することにより実現される。
【0244】
例えば、利用者端末101の表示環境が特定されると、この表示環境を使って表示できるオリジナルデータ200が特定される。具体的には、例えば、オリジナルデータ200に含まれる、HTMLファイル113、CSSファイル107、スクリプト言語ファイル108、画像ファイル109等が特定される。
【0245】
同様に、例えば、利用者端末101の表示環境が特定されると、この表示環境を使って表示できる加工済みデータ201,202が特定される。具体的には加工済みHTMLファイル131、加工済みCSSファイル132、加工済みスクリプト言語ファイル133、画像ファイル109、加工済み画像ファイル134等が特定される。
【0246】
実際には加工済みHTMLファイル131の中で定義されたプログラムのオブジェクトの形でそれぞれのコード部分、ファイル部分等は加工済みデータ記憶領域130に保存されている。
【0247】
どのオブジェクトを用いた場合にどの程度の表示完了時間を要するかは事前の予備試験で判明している。
このため、ウェブサーバ103が利用者端末101からリクエストを受信した直後に、利用者端末の表示環境に表示可能なデータを含むウェブコンテンツ211が、ウェブサーバ103に搭載されたPSTコントローラ110の制御部112により選択される。この段階では、利用者端末101に表示可能なウェブコンテンツ211は複数存在する。
【0248】
そして下記に説明する利用者端末101に応じたエンゲージメントのスコアに基づいて、それぞれの利用者端末101に表示されるウェブコンテンツ211が一つに決定される。
【0249】
HTMLファイル113または加工済みHTMLファイル131をPSTコントローラ110の制御部112によりウェブサーバ103側で実行すれば、ウェブコンテンツ211がネットワーク102を経由して、表示環境が特定された全ての利用者端末101についてそれぞれの利用者端末101に対して送信できる。このウェブコンテンツ211を受信したそれぞれの利用者端末101で、それぞれの利用者端末101に対応したウェブコンテンツ211が表示される。
【0250】
[表示完了時間に基づく最適リソースの順位付けのステップ]
次に、これらのオリジナルデータ200および複数の加工済みデータ201,202等のリソースについて、実際にこれらのオリジナルデータ200および複数の加工済みデータ201,202等のリソースを含むウェブコンテンツ211がそれぞれの利用者端末101について、事前に予備試験によりウェブコンテンツ211の表示完了時間を計測して比較する。
【0251】
ウェブコンテンツ211の表示完了時間を計測して比較するステップにより、一つの利用者端末101に関する、オリジナルデータ200および複数の加工済みデータ201,202等のリソースのそれぞれのデータについての表示完了時間に関連して、どれが優位かについての情報が、オリジナルデータ保存領域104および加工済みデータ保存領域130にそれぞれ保存される。
【0252】
ウェブコンテンツ211の表示完了時間は、オリジナルデータ200および複数の加工済みデータ201,202等のリソースに含まれるプログラムのコード部分に大きく依存する。
プログラムのコード部分は容量がより削減されたものが、容量がそれほど削減されていないものよりも通常は表示完了時間が短くなるので好ましい。
【0253】
ただし、容量が小さいもの全てが、表示完了時間が短くなるとは限らない。さらにはバイナリデータについても、容量が小さいものが表示完了時間が短くなるとは限らない。
場合によっては、どの複数の加工済みデータ201,202よりも、オリジナルデータ200が、表示が速く完了する可能性もある。
【0254】
そこで本発明の開示においては、オリジナルデータ200および複数の加工済みデータ201,202等を用いて、これらの全てについて、それぞれの利用者端末101における表示完了時間を事前に予備試験を実施して計測することにより、それぞれのデータについて実際に表示完了時間が短い順番を特定できる。
【0255】
オリジナルデータ200は、ウェブコンテンツ211を構成する複数のウェブページにそれぞれ対応する複数のHTMLファイル113と、複数のHTMLファイル113のそれぞれから参照実行されるプログラムデータおよびバイナリデータを含む。
【0256】
また加工済みデータ201,202は、ウェブコンテンツ211を構成する複数のウェブページにそれぞれ対応する複数の加工済みHTMLファイル131と、複数の加工済みHTMLファイル131のそれぞれから参照実行される加工済みプログラムデータおよび加工済みバイナリデータ等の加工済みデータを含む。
これらのオリジナルデータ200および加工済みデータ201,202等のリソースがそれぞれウェブコンテンツ211の表示に必要なリソースである。
【0257】
またこれらのリソースの中から、ユーザの利用者端末101毎にウェブコンテンツ211の表示に必要となるリソースが、最適リソースである。最適リソースは、一つの利用者端末101毎に複数存在する。
【0258】
加工済みデータの生成は、ユーザの利用者端末101の表示環境ごと、ウェブコンテンツ211の表示に必要なリソースごとに行われる。
【0259】
また、ユーザの利用者端末101の表示環境ごとに実行可能な最適リソースが選択された場合、その最適リソースが、保存されている各種ファイルの容量、各種ファイルの種類を指定する拡張子等が同じ場合でも、その最適リソースを実現するために必要な表現形式は一つと限らない。このため、複数の最適リソースの中に、見かけが同じ最適リソースに見える複数の最適リソースが存在した場合でも、実際に実行した場合に表示完了時間に差が生じる最適リソースが含まれる場合がある。
【0260】
明らかに他の最適リソースよりも表示完了時間が短いことが判明している最適リソースを除き、一つの利用者端末101に対する最適リソース同士の表示完了時間に関する情報は、実際に事前に予備試験を行い決定される。
【0261】
一種類の利用者端末101について、例えば、最も表示完了時間が短いウェブコンテンツ211が、最もエンゲージメントスコアの低いユーザに割り当てられる。また例えば、最も表示完了時間が長い内容が充実したウェブコンテンツ211が、最もエンゲージメントスコアの高いユーザに割り当てられる。
【0262】
最も表示完了時間が短いウェブコンテンツ211以外の表示完了時間を有するウェブコンテンツ211については、それぞれ、エンゲージメントスコアの値に応じて割り当てられる。
【0263】
このステップを、機種情報ファイル126に記載された全ての利用者端末101について事前に実施することにより、ウェブコンテンツ211とエンゲージメントスコアの値が事前に割り当てられる。利用者端末101からウェブサーバ103にリクエストが送信される前は、後述する数式(A)の係数aiの値は初期値として1が割り当てられている。この係数の値は、例えば、下記に説明する学習器301の運用により、ウェブコンテンツ211に対するユーザのエンゲージメントスコアおよびユーザ体験との変化を記録するステップを経て、ユーザ体験が最大化するように自動で調整される。
【0264】
加工済みデータおよび加工済みデータに対応するオリジナルデータからなる群より選ばれる少なくとも一つのリソースのうち、どの組合せを選択するかは、設定ファイル125に記載されたデータに基づいて、PSTコントローラ110により優先して実施することもできる。
【0265】
[利用者端末毎にエンゲージメントのスコアを算出するステップ]
次に利用者端末101毎にエンゲージメントのスコアを算出するステップについて説明する。
【0266】
本発明に係る実施形態1に使用するエンゲージメントのスコアは、利用者端末101毎に、ウェブサーバ103に対してリクエストを送信した利用者端末101を特定する識別データと、前記識別データに関連付けられた利用者端末毎の履歴データと、に関連付けられたユーザ体験に基づいて算出される。
【0267】
利用者端末101が、ウェブサーバ103にリクエストを送信すると、利用者端末101を特定するアクセプトヘッダー、クッキー等のデータが、図4に示すPSTプラグインに記載されたプログラムを通じて、データベース106に記録される。これらのデータは利用者端末101を特定するための識別データとなる。
【0268】
また利用者端末101に搭載されたブラウザにより、ユーザが行うクリック、スクロール、タップ、ドラッグ、テキストの入力等の行為は、イベントとしてウェブサーバ103側で検出できる。これらのイベント情報は信号としてウェブサーバ103に搭載されたPSTコントローラ110の制御部112に送信される。
ネットワーク102を介してウェブサーバ103に送信されるイベント情報を、図4に示すウェブサーバ103のPTSコントローラ110の制御部112に定義されたイベントハンドラと対応させて解析する。このイベント情報は利用者端末101毎の履歴データとして、データベース106と利用者端末101の少なくとも一方に記録される。
【0269】
利用者端末101毎の履歴データとしては、例えば、ウェブサーバおよびブラウザの少なくとも一方に対するユーザによるリクエストの回数、ウェブサーバおよびブラウザの少なくとも一方に対するユーザによるリクエストの種類、ユーザによるウェブサイトの滞在時間ならびにウェブサーバおよびブラウザの少なくとも一方に対するユーザによる複数のリクエスト間の期間の一種もしくは二種以上が挙げられる。
【0270】
具体的な履歴データを挙げると、次の通りである。
利用者端末101毎の履歴データとしては、例えば、ユーザがウェブコンテンツ211に表示されているテキスト情報を読む時間301、
ウェブコンテンツ211に関連付けられたリンクをクリックしてリンク先の内容を閲覧したリンク302およびリンク302をクリックした回数303、
ウェブコンテンツ211に関連付けられた動画ファイルのうち、再生された動画ファイル304、動画ファイル304を再生した回数305および動画ファイル304を閲覧した時間305、
ウェブコンテンツ211に関連付けられた音楽ファイルのうち、再生された音楽ファイル306、音楽ファイル306を再生した回数307および音楽ファイル306を閲覧した時間307、
ウェブコンテンツ211に関連付けられたフォーム欄に入力したテキスト情報308およびテキスト情報308を送信した回数309、
ウェブコンテンツ211に表示された商品のうち、購入した商品310および商品310を購入した回数311、
ウェブコンテンツ211に表示された役務のうち、提供を依頼した役務312および役務312を依頼した回数313、
ウェブサーバ103にリクエストを送信した回数313、
ウェブサーバ103にリクエストを最初に送信してから最後に送信した時までの期間314、
ウェブサーバ103にリクエストを前回送信してから今回送信した時までの期間315、
ウェブサーバ103にリクエストを送信したIPアドレスから推測される位置情報316等が挙げられる。
利用者端末101毎の履歴データは、一種もしくは二種以上を選択して使用することができる。
データベース106に保存された利用者端末101毎の履歴データは、ユーザ毎のユーザ体験に対応する。
【0271】
利用者端末101毎にエンゲージメントのスコアを算出するステップは次のように実施される。
【数1】
数式(A)は、利用者端末101毎にエンゲージメントのスコアを算出するための式である。
fiは利用者端末101毎の履歴データに対応する関数であり、aiは、各関数に対する係数を示す。iは自然数であり、それぞれの値はそれぞれの履歴データに対応する。kは履歴データの総数である。
【0272】
利用者端末101毎の履歴データは、変数iとしてデータベース106に保存されている。
例えば、i=1に対応する関数fiには、各ユーザの一回のウェブサイト訪問当たりのテキスト情報を読む平均時間に対する、特定ユーザの一回のウェブサイト訪問当たりのテキスト情報を読む時間301の割合が対応する。
また例えば、i=2は、ウェブコンテンツ211に存在する総リンク数に対する、特定のユーザがクリックしたリンク302の種類の割合が対応する。
また例えば、i=3は、各ユーザの一回のウェブサイト訪問当たりのリンククリック平均回数に対する、特定のユーザがクリックしたリンク302をクリックした回数303の割合が対応する。
以下、同様に、個々のユーザ体験毎に、それぞれの平均の履歴データに対する割合を変数fiにより対応させる。
【0273】
次に、ウェブコンテンツ211を利用者端末101により閲覧したが、例えば、2秒未満で離脱して、その後再び閲覧履歴がないユーザのエンゲージメントのスコアをゼロに設定する。
上記数式(A)の係数aiの全ての初期値を1としたときに、数式(A)により算出されるもっとも大きい値を示すユーザについての上記数式(A)の値を100とする。
なお、係数aiの調整については後述する。
【0274】
上記のステップにより、ウェブサーバにリクエストを送信した全てのユーザが使用した利用者端末101毎に、0~100の値が相対値として得られる。
このそれぞれの値が、ウェブコンテンツ211を公開してから現在までのエンゲージメントのスコアである。
ユーザがウェブコンテンツ211を閲覧するたびにエンゲージメントのスコアは加算されていく。このため、エンゲーメントスコアは各ユーザについての利用者端末101について一定ではなく、各ユーザについての利用者端末101について経時的に変化する。
例えば、ユーザによる利用者端末101に搭載されたブラウザ等の操作によりエンゲージメントのスコアが算出されるプログラムは、加工済みHTMLファイル131にプログラムのオブジェクトに対して挿入される。このため、ユーザが利用者端末101に搭載されたブラウザ等を操作すると、その操作に対応するエンゲージメントのスコアが計算されて利用者端末101に保存される。このエンゲージメントスコアは、利用者端末101に搭載されたブラウザから、ネットワーク102を通じてウェブサーバ103にリクエストが送信される際に合わせてウェブサーバ103にも送信されて保存される。
【0275】
[エンゲージメントのスコアに応じたウェブコンテンツが選択されるステップ]
次にエンゲージメントのスコアに応じたウェブコンテンツ211が選択されるステップについて説明する。
ユーザ毎の履歴情報と、この履歴情報に結びつけられた利用者端末101の識別番号情報に基づいて、利用者端末101毎の表示環境に利用可能なファイルの組み合わせが特定されていて、利用者端末101毎に表示完了時間の異なる複数のウェブコンテンツ211を生成することができる。
【0276】
ここでエンゲージメントのスコアが一定値未満のユーザに対しては、ウェブコンテンツの表示完了時間が最も短いウェブコンテンツ211が選択される。
【0277】
この際、例えば、テキストファイルの段落を削除する、参照するCSSファイル107および加工済みCSSファイル132、スクリプト言語ファイル108および加工済みスクリプト言語ファイル133、画像ファイル109および加工済み画像ファイル134のそれぞれの種類を、利用者端末101の表示に不具合が生じないところまで削除したものが選択される。
【0278】
また例えば、動画ファイル、動画ファイルへのリンク、広告ファイル・広告リンク等の削除等が実施される。
【0279】
同様に、CSSファイル107および加工済みCSSファイル132、スクリプト言語ファイル108および加工済みスクリプト言語ファイル133、画像ファイル109および加工済み画像ファイル134のそれぞれについて表示完了時間が最も短いものが特定される。
【0280】
例えば、加工済みCSSファイル132、加工済みスクリプト言語ファイル133、加工済み画像ファイル134等について、削除された動画ファイル、動画ファイルへのリンク、広告ファイル・広告リンク等に関連する内容は削除されたものが特定される。
【0281】
複数の加工済みデータ201と、複数の加工済みデータ201に対応するオリジナルデータ200のうち、最も表示完了時間が短い組み合わせデータが特定される。
最も表示完了時間が短い組み合わせデータを含むウェブコンテンツ211の加工は、事前に完了しているため、実際には、アクセプトヘッダー、クッキー等の情報を、機種情報ファイル126と照合して得られた利用者端末101の表示環境に表示完了時間として0.2秒以内、好ましくは100m秒以内に対応可能である。
【0282】
上述のステップにより、エンゲージメントのスコアが一定値以下のユーザに対してウェブサーバ103が送信する、特定された利用者端末101の表示環境に表示可能なウェブコンテンツ211が得られる。
【0283】
事前の予備試験により、最も表示完了時間が短いウェブコンテンツ211が選択されているので、ウェブサーバ103から利用者端末101へウェブコンテンツ211の送信完了まで掛かる時間を短縮することができる。
【0284】
次にエンゲージメントのスコアが一定値以上のユーザに対しては、ウェブコンテンツ211が速く表示されつつ、省略されているものがないウェブコンテンツ211を選択する。
【0285】
具体的には、例えば、動画ファイル、動画ファイルへのリンク、広告ファイル・広告リンク等の削除等が実施されていないものが選択される。
【0286】
この場合は、利用者端末101の表示環境に利用可能なファイルのうち、表示可能な情報が掲載されたウェブコンテンツ211が選択される。
具体的には、特定された、利用者端末101の表示環境に利用可能なファイル群の中から、それぞれのファイルの種類に応じて、表示完了時間が短く、かつ、省略した情報がないファイルの組み合わせが抽出される。
【0287】
例えば、HTMLファイル113および加工済みHTMLファイル131を比較し、省略した情報がないものの中から表示完了時間が短いものが採用される。
【0288】
同様に、CSSファイル107および加工済みCSSファイル132、スクリプト言語ファイル108および加工済みスクリプト言語ファイル133、画像ファイル109および加工済み画像ファイル134のそれぞれについて省略した情報がないものの中から表示完了時間が短いものが特定される。
【0289】
抽出加工された複数の加工済みデータと、抽出加工された複数の加工済みデータに対応するオリジナルデータ200のうち、省略した情報がないものの中から表示完了時間の短いデータの組み合わせが特定される。
【0290】
省略した情報がないものの中から表示完了時間が短いものを組み合わせたデータを含むウェブコンテンツ211は、アクセプトヘッダー、クッキー等の情報を、機種情報ファイル126と照合して得られた利用者端末101の表示環境を元に選択されているので、利用者端末101の表示画面に対応可能である。
【0291】
なお実際には加工済みHTMLファイル131に記載された参照情報の部分はすべてオブジェクトに置換されている。このオブジェクトに対応する識別情報に基づいて、瞬時に任意の加工済みデータを実行することができる。
【0292】
上述のステップにより、エンゲージメントのスコアが一定値以上のユーザに対してウェブサーバ103が送信する、特定された利用者端末101の表示環境に表示可能な、省略された情報のないウェブコンテンツ211が得られる。
この場合には、ウェブコンテンツ211に省略された情報がないので、ユーザがウェブコンテンツ211の不足に不満を持つことを防ぐことができる。
【0293】
[エンゲージメントのスコアに応じたウェブコンテンツ選択を学習させるステップ]
図19は、エンゲージメントのスコアに応じたウェブコンテンツ選択を学習させるステップを説明するための図である。
【0294】
図4および図19に示されるPSTコントローラ110には、学習器301が実装されている。この学習器301はプログラムが実装されていて、利用者端末101の表示環境に利用可能なファイル群の中から、それぞれのファイルの種類に応じて、どのファイルの組み合わせを採用するかをPSTコントローラ110の制御部112と連動して変化させることができる。
採用されたファイルの組み合わせは、それぞれ利用者端末101毎に表示できる、表示完了時間の異なる複数のウェブコンテンツ211から選択される。
【0295】
例えば、HTMLファイル113および加工済みHTMLファイル131の複数のファイルの中からどのファイルを選択するか、CSSファイル107および加工済みCSSファイル132、スクリプト言語ファイル108および加工済みスクリプト言語ファイル133、画像ファイル109および加工済み画像ファイル134のそれぞれ複数あるファイルの中からどのファイルを選択するかを変化させることができる。
【0296】
それぞれのファイルの組み合わせの中で、一つのウェブページについて、数式(A)の係数ai(i=1,2,・・・k ただしkは履歴データの総数)のそれぞれを対応させる。
なお、係数aiは、どの履歴データを重視するかの指標となる数値である。
【0297】
係数aiは、ウェブコンテンツ211を閲覧している合計時間が最大化し、かつユーザのスクロール、クリック、タップ、ドラッグ等の合計行動回数が最大化する観点からその値が調整される。
【0298】
例えば、ウェブコンテンツ211に関連付けられたリンク302をユーザがクリックしてリンク先の内容を閲覧した回数303が多いユーザが、ウェブコンテンツ211を閲覧している合計時間が長くなり、かつユーザのクリック、スクロール等の合計行動回数が多くなる傾向があるなら、リンク302をクリックする履歴データに対応する係数aiの値を相対的に大きくする。
【0299】
逆にウェブコンテンツ211に関連付けられたリンク302をユーザがクリックしてリンク先の内容を閲覧した回数303が、ウェブコンテンツ211を閲覧している合計時間の長短とか、ユーザのスクロール、クリック、タップ、ドラッグ等の合計行動回数の多少に関連性が認められないなら、リンク302をクリックする履歴データに対応する係数aiの値を相対的に小さくする。
同様に、各履歴データに対して係数aiを決定する。
【0300】
そしてファイルの組み合わせを変化させて、一定期間ウェブコンテンツ211をユーザに対して公開する。
【0301】
続いてファイルの組み合わせを別のものに変化させて、一定期間ウェブコンテンツ211をユーザに対して公開する操作を繰り返す。この場合、ファイルの組み合わせに一意に対応する係数aiの組み合わせも変化する。
【0302】
得られた数式(A)に関連する値と、選択されたファイルの組み合わせは、例えば、図4のデータベース106に記録される。また利用者端末101にも記録される。
【0303】
このようにして、利用者端末101毎に選択されたウェブコンテンツ211を一定期間毎に表示完了時間の異なる複数のウェブコンテンツの中から、ウェブコンテンツのうち利用者端末の画面に最初に表示される部分、ウェブコンテンツのうち利用者端末の画面に最初に表示される部分が入力受付可能になるまでの時間、および、ウェブコンテンツのうち利用者端末の画面に最初に表示される以外の部分にそれぞれ対応する実行順序ならびに実行タイミングを変化させて、エンゲージメントのスコアの変化を利用者端末101とウェブサーバ103の少なくとも一方に記録することができる。
【0304】
そして、測定する各時点で、最も数式(A)のスコアが大きい利用者端末101についての値の相対値を100として、各ユーザのエンゲージメントのスコアの相対値を算出する。
【0305】
ウェブコンテンツ211を閲覧するユーザの全ての数式(A)の相対値が100に近づく組み合わせを探るステップを繰り返し実施するステップ、つまり、学習器301に学習させるステップを実施することができる。
【0306】
このようにして、表示完了時間の異なる複数のウェブコンテンツ211の中から、全てのユーザのウェブコンテンツ閲覧時間および全てのユーザのウェブコンテンツに対する行動回数が最大化するウェブコンテンツを構成するオリジナルデータと加工済みデータとの組み合わせの学習が自動で実現される。
【0307】
全てのユーザがウェブコンテンツ211を閲覧している合計時間が最大化し、かつ全てのユーザのクリック、スクロール等の合計行動回数が最大化するように、ファイルの組み合わせを変化させつつ、一定期間ずつユーザの動向を監視する操作を繰り返すことにより、各ユーザについてのユーザ体験を最大化するエンゲージメントのスコアを伸ばすことができる。
【0308】
[データのバックアップ]
先に説明した、ウェブサーバ103の記憶装置1101は時間実行制御部120を備えることもできる。
【0309】
時間実行制御部120に接続された時間実行記憶部121に保存された実行プログラム122により、一定時間経過後に、例えばオリジナルデータ200、加工済みデータ201,202等の本発明の実施形態1に係るウェブコンテンツの自動表示制御方法を実施するために必要なデータやプログラムの予備保存データが複製され、時間実行記憶部121に保存される。
【0310】
また一定時間経過後に、例えば、予備保存データの中から一定期間を経過した古いものが削除される。
時間実行記憶部121に保存された予備保存データは、ウェブサーバ103とは別の外部記憶装置にネットワーク102を通じて転送し、保存することもできる。
【0311】
[エンゲージメントのスコアに応じたウェブコンテンツが、利用者端末に表示されるステップ]
PSTコントローラ110の制御部112により、利用者端末101に表示可能なウェブコンテンツ211が特定されると、このウェブコンテンツ211が、ウェブサーバ103からネットワーク102を介して送信され、利用者端末101で受信される。
受信されたウェブコンテンツ211が、利用者端末101のブラウザで表示される。
本発明の開示において、最適データとは、それぞれの利用者端末101に、エンゲージメントスコアに対応付けられた、ウェブコンテンツを表示するためのデータをいう。
【0312】
またオリジナルデータ200に改変があると、オリジナルデータ200の改変部分が特定され、この改変部分に対応した加工済みデータ202が生成される。
そして加工済みデータ201に、オリジナルデータ200の改変部分に対応する部分がある場合には、その部分が加工済みデータ202に置換される。
また、例えば、オリジナルデータ200の全てに改変がある場合には、加工済みデータ201の全てが加工済みデータ202に置換される。
【0313】
次にPSTコントローラ110の制御部112により、利用者端末101に表示可能な加工済みデータ202を含む加工済みデータ201が特定されると、加工済みデータ202を含む加工済みデータ201が、ウェブサーバ103からネットワーク102を介して送信され、利用者端末101で受信される。
受信された加工済みデータ202を含む加工済みデータ201が利用者端末101のブラウザで表示される。
【0314】
同様に、オリジナルデータ200の全てに改変がある場合には、PSTコントローラ110の制御部112により、利用者端末101に表示可能な加工済みデータ202が、ウェブサーバ103からネットワーク102を介して送信され、利用者端末101で受信される。
受信された加工済みデータ202が、利用者端末101のブラウザで表示される。
【0315】
またオリジナルデータ200に変更、追加、削除等の改変があれば、利用者端末101からリクエストがウェブサーバ103に受信されると、PSTコントローラ110の制御部112により制御されたウェブサーバ103から、利用者端末101にウェブコンテンツ211のうち更新されたウェブコンテンツ212含むデータが都度送信される。
【0316】
例えば、オリジナルデータ200の全てに改変がある場合には、ウェブコンテンツ211の全てが更新されたウェブコンテンツ212に置換される。
利用者端末101では、更新されたウェブコンテンツ212を含むウェブコンテンツ211を表示することができる。
【0317】
上記一連のステップにより、ウェブサーバ103から送信された、更新されたウェブコンテンツ212を受信した利用者端末101は、利用者端末101に搭載されたブラウザに更新されたウェブコンテンツ212を、初回から、高速に表示することができる。
【0318】
本発明の開示においては、オリジナルデータ200に変更を加ていないオリジナルコンテンツを配信することもできる。オリジナルコンテンツの配信にはDNSの変更などは必要とされないため、利用者端末101に即時にエンゲージメントのスコアに応じたウェブコンテンツとオリジナルコンテンツの表示を切り替えることができる。
【0319】
[実施形態2]
次に本発明の実施形態2に係るウェブコンテンツの自動表示制御方法について説明する。
実施形態2に係るウェブコンテンツの自動表示制御方法を実現するために必要なステップは、先に説明した本発明の実施形態1の場合と同様である。
【0320】
以下に、先の実施形態1と異なる点を中心に説明する。
本発明の実施形態2では、一つの例として、利用者端末101としてスマートフォンが採用されている。下記に説明するウェブコンテンツ211の生成ステップは、本発明の実施形態1の場合と同様である。
【0321】
図20は、利用者端末101にウェブコンテンツ211が高速表示される仕組みを説明するための概念図である。
利用者端末101にウェブコンテンツ211が高速表示されることを妨げる要因として、大きく二つの要素が存在する。
一つは、通信の渋滞401であり、残る一つは描画の渋滞402である。
通常、オリジナルデータ200(図20の参照符号400)には、個別の利用者端末101には不要なデータも含まれる。このため、オリジナルデータ200がそのまま利用者端末101に送信されると、利用者端末101にオリジナルデータの送信完了まで余分な時間がかかることになる。
先の実施形態1の場合では、主として、図20における通信の渋滞401を改善する配信最適化に関するものであった(図20の参照符号403)。
実施形態2の場合では、通信の渋滞401の解消に加えて、描画の渋滞402の解消を実現する。
【0322】
本発明の開示において、描画とは、利用者端末101にウェブコンテンツ211等が表示されることをいう。
図20に示される描画の渋滞402が生じる理由の一つは、雑多な多量の情報が、一気にウェブサーバ103から利用者端末101に送信されようとするからである。
【0323】
本発明に係る実施形態2の場合では、ウェブコンテンツ211の中から、最初に利用者端末101に送信すべき情報として、ファーストビューに対応する部分の描画が優先される(図20の参照符号404)。
次に、通信規制を行い、利用者端末101がユーザからの入力受付可能な状態に移行することを優先する(図20の参照符号404)。
続いて、通信整理を行い、ウェブコンテンツ211の中から、ファーストビューに対応する部分以外が秩序立てられて利用者端末101に送信される(図20の参照符号405)。
【0324】
ここで利用者端末101がユーザからの入力受付可能な状態に移行する、とは、利用者端末101がユーザによる、スクロール、タップ、クリック、ドラッグ等の画面操作、各種テキスト入力、音声入力、画像入力等の入力操作を受け付けることができる状態になることをいう。
【0325】
またウェブコンテンツ211の中から、ファーストビューに対応する部分以外が秩序立てられて利用者端末101に送信される、とは、ファーストビューに対応する部分以外の描画に必要なプログラムのコード部分が二以上ある場合、互いにプログラムのコード部分同士が干渉しあう場合には、一方を優先させて実施し、優先させて実施させたプログラムのコード部分の完了を待ってから、次のプログラムのコード部分の実行に移る同期実行の場合、
互いにプログラムのコード部分同士が干渉しない場合には、他のプログラムのコード部分の完了を待たずに、プログラムのコード部分の実行を開始する非同期実行の場合等を意味する。
【0326】
次に本発明に係る実施形態2について詳細に説明する。
利用者端末101に搭載されるブラウザからウェブサーバ103にリクエストが送信されると、リクエストを受信したウェブサーバ103から、先に説明した本発明の実施形態1で生成された、特定された利用者端末101の表示環境に表示可能なウェブコンテンツ211に対応する、エンゲージメントスコアに応じた最適データがネットワーク102を経由して利用者端末101に送信される。
【0327】
この際、ウェブコンテンツ211の全てのエンゲージメントスコアに応じた最適データが利用者端末101に送信されるのではなく、利用者端末101のブラウザにおける初期表示画面Aに対応する、ファーストビューと呼ばれるウェブコンテンツ211aのみが最初に分割されて送信される。
【0328】
[利用者端末101の初期表示画面に対応するデータを特定するステップ]
利用者端末101毎の表示環境は、利用者端末101からウェブサーバ103に送信されたアクセプトヘッダー、クッキー等の情報を、機種情報ファイル126と照合して特定できる。
【0329】
実際に、利用者端末101毎に、ウェブコンテンツのうち、どの部分がファーストビューに対応するかどうかは、事前に予備試験を行い決定することができる。
利用者端末101のブラウザにおける初期表示画面Aの表示環境は、機種情報ファイル126に記載された情報に基づいて特定できる。
【0330】
先に図5により説明したHTMLファイル113および加工済みHTMLファイル131に記載された文字、数字、記号等のテキストデータの情報、
CSSファイル107および加工済みCSSファイル132に記載されたテキストデータの大きさ等の情報、画像ファイル109および加工済み画像ファイル134の大きさ、配置位置等の情報から、HTMLファイル113、CSSファイル107、スクリプト言語ファイル108、加工済みHTMLファイル131、加工済みCSSファイル132、加工済みスクリプト言語ファイル133、画像ファイル109および加工済み画像ファイル134等のうち、どの部分が利用者端末101のブラウザにおけるファーストビューに対応する初期表示画面Aに表示されるかが特定される。
【0331】
利用者端末101の表示環境が特定されると、この表示環境を使って表示できる、それぞれファーストビューに対応した、HTMLファイル113、CSSファイル107、スクリプト言語ファイル108、加工済みHTMLファイル131、加工済みCSSファイル132、加工済みスクリプト言語ファイル133、画像ファイル109、加工済み画像ファイル134等が特定される。
これらの特定は、ウェブサーバ103に搭載された、PSTコントローラ110の制御部112に記載されたプログラムにより実施される。
【0332】
[利用者端末の初期表示画面以外に対応するデータを特定するステップ]
利用者端末101のブラウザにおける初期表示画面Aに表示されるデータが特定されれば、それに伴って、利用者端末101のファーストビューに対応する初期表示画面A以外に対応するデータを特定できる。
【0333】
ウェブコンテンツ211、更新されたウェブコンテンツ212を含むウェブコンテンツ211、および更新されたウェブコンテンツ212からなる群より選ばれる少なくとも一つを含むウェブコンテンツの中から、利用者端末101のブラウザにおける初期表示画面Aに表示されるデータを除いたデータが、利用者端末101の初期表示画面A以外に対応するデータとなる。
【0334】
具体例に従って説明する。
例えば、ウェブコンテンツ211は、ファーストビューに対応するウェブコンテンツ211aおよびファーストビューに対応しないウェブコンテンツ211bを含む。
【0335】
ウェブコンテンツ211は、HTMLファイル113または加工済みHTMLファイル131のうち、ファーストビューに対応するHTMLデータ301を含む。
【0336】
本発明の開示においては、加工済みHTMLファイル131は、リソースに対する参照情報がオブジェクトにより置換することができる。
すべての参照情報がプログラムのオブジェクトにより置換されている加工済みHTMLファイル131は利用者端末101に対するダウンロードに時間を要しないからである。
すべての参照情報がプログラムのオブジェクトにより置換されている加工済みHTMLファイル131を利用者端末101にダウンロードしておけば、プログラムのオブジェクトとして参照する対象を任意に選択することができる。
【0337】
またウェブコンテンツ211は、CSSファイル107および加工済みCSSファイル132のうち、ファーストビューに対応するCSSデータ302を含む。
【0338】
例えば、スクリプト言語ファイル108および加工済みスクリプト言語ファイル133のうち、ファーストビューに対応するスクリプト言語データ303を含む。
画像ファイル109および加工済み画像ファイル134のうち、ファーストビューに対応する画像データ304を含む。
【0339】
利用者端末101のファーストビューに対応したウェブコンテンツ211aを受信した利用者端末101は、利用者端末101に搭載されたブラウザにウェブコンテンツ211aを短い表示完了時間で表示することができる。
【0340】
次に、ファーストビューに対応しないウェブコンテンツ211bのうち、利用者端末101がユーザからの入力受付を可能にするためのコード部分が優先されて利用者端末101に送信される(図20の参照符号404)。
本発明に係る実施形態2の場合では、利用者端末101の画面に最初に表示される部分が利用者端末101に送信された後に、利用者端末101が入力受付可能になることを優先させる時間(図20の参照符号404)が、エンゲージメントのスコアに応じて変化する。
【0341】
エンゲージメントのスコアが最小の場合、すなわち、これまでウェブコンテンツ211を閲覧したことがないユーザ等の場合(図20の参照符号410)には、利用者端末101が入力可能になるまでの時間を最大限確保し、利用者端末101を入力可能にするコード部分以外の送信を遮断する。ファーストビューの表示に続く利用者端末101が入力受付可能になるまでの処理を最優先させるためである。
【0342】
エンゲージメントのスコアが中間の場合、すなわち、ほどほどにウェブコンテンツ211を閲覧しているユーザの場合(図20の参照符号420)には、利用者端末101が入力受付可能になることを優先させる時間を短縮する。そして利用者端末101が完全に入力可能な状態になる前に、並行してファーストビューに対応しないウェブコンテンツ211bの送信が利用者端末101に対して開始される。
【0343】
エンゲージメントのスコアが最大の場合、すなわち、最もよくウェブコンテンツ211を閲覧しているユーザの場合(図20の参照符号430)には、利用者端末101が入力受付可能になることを優先させる時間を設けず、最初から利用者端末101を入力可能な状態に移行させる処理と並行して、または、後回しにして、ファーストビューに対応しないウェブコンテンツ211bの送信が利用者端末101に対して開始される。
【0344】
次に利用者端末101にファーストビューに対応するウェブコンテンツ211aが表示された後のステップについて、ユーザの行動に沿って説明する。
利用者端末101のユーザは、利用者端末101のブラウザに表示されたウェブコンテンツ211aに興味を示す場合には、利用者端末101のブラウザに対して追加の情報を表示させる行動を起こす。
逆に利用者端末101のユーザは、利用者端末101のブラウザに表示されたウェブコンテンツ211aに興味を示さない場合には、いわゆる離脱と呼ばれる行動を起こす。
【0345】
利用者端末101のユーザが、利用者端末101のブラウザに表示されたファーストビューに対応するウェブコンテンツ211aに興味を示す場合に、利用者端末101に対して追加の情報を表示させる行動を起こす場合の具体例は次の通りである。
【0346】
例えば、利用者端末101のユーザは、利用者端末101のブラウザに表示されたボタン等をクリックする、利用者端末101のブラウザにおける初期表示画面Aをスクロールすれば表示される情報を見るために、ユーザが利用者端末101のブラウザをスクロールする、利用者端末101のブラウザにおける初期表示画面Aの表示から一定時間経過したにも関わらず初期表示画面Aから離脱せず、表示された内容を読み進める等の行動を起こす。
【0347】
ユーザのクリック、スクロール等の利用者端末101に対する行動があると利用者端末101に搭載されたブラウザがイベント情報を検出する。そしてその行動を知らせるイベント情報に対応する信号が利用者端末101から、ネットワーク102を経由してウェブサーバ103に送信される。
【0348】
これらの信号を検出したウェブサーバ103に搭載された、PSTコントローラ110の制御部112の指令により、ただちに残りのウェブコンテンツ211bを表示するためのリソースが、ネットワーク102を経由して利用者端末101に送信される。
ウェブコンテンツ211bを受信した利用者端末101は、利用者端末101に搭載されたブラウザにウェブコンテンツ211bを高速に表示することができる。
これにより、ユーザの離脱を防止できる。
なおウェブコンテンツ211bを表示するためのリソースは、利用者端末101に対して一度に送信されてもよいし、分割して送信されてもよい。
【0349】
ウェブコンテンツ211bの送信については、利用者端末101に対してウェブコンテンツ211bの表示に関連するプログラムのコード部分同士が干渉する場合には、同期して一つのプログラムのコード部分の実施が完了した後に、続くプログラムのコード部分の実施が開始される。
逆に利用者端末101に対してウェブコンテンツ211bの表示に関連するプログラムのコード部分同士が干渉しない場合には、同期にそれぞれのプログラムのコード部分の実施が開始される。
またどのプログラムの実施を優先するか、遅延させるか等についての制御が、ウェブサーバ103に搭載された、PSTコントローラ110の制御部112に記載されたプログラムにより実施される。
【0350】
一方、エンゲージメントのスコアが一定値以上のユーザに対しては、利用者端末101のブラウザにおける初期表示画面Aに対応するウェブコンテンツ211aのみが最初に分割されて送信された後に、利用者端末101を入力可能にさせる処理を優先させることなく、残りのウェブコンテンツ211bの全てが利用者端末101に送信される。
エンゲージメントスコアが一定以上のユーザについては、遅滞なくウェブコンテンツ211bについての表示準備を進めることができるので、ユーザの満足度を高めることができる。
【0351】
[実施形態3]
次に本発明の実施形態3に係るウェブコンテンツの自動表示制御方法について説明する。
【0352】
実施形態3に係るウェブコンテンツの自動表示制御方法を実現するために必要なステップは、先に説明した本発明の実施形態2の場合と同様である。
以下に、先の実施形態2と異なる点を中心に説明する。
【0353】
図21は、利用者端末の初期表示画面にサムネイル画像の表示とその変化について説明するための模式図である。
エンゲージメントのスコアが一定値以下のユーザに対しては、最初に利用者端末101毎のブラウザにおける初期表示画面Aに、本発明の実施形態2の場合と同様に、ファーストビューとしてウェブコンテンツ211aが表示される。
【0354】
利用者端末101毎のブラウザに表示されるウェブコンテンツ211には、例えば、広告コンテンツを表示する画像ファイル109および広告コンテンツを表示する加工済み画像ファイル134、ならびに、動画ファイル140および加工済み動画ファイル141等の一種もしくは二種以上が含まれる。
【0355】
広告コンテンツを表示する画像ファイル109および広告コンテンツを表示する加工済み画像ファイル134、ならびに、動画ファイル140および加工済み動画ファイル141等の一種もしくは二種以上のそれぞれについて、表示サイズ、容量および種類の異なるものの中から全体として最も表示完了時間が短い組み合わせがウェブコンテンツ211に含まれる。
【0356】
例えば、ウェブコンテンツ211に含まれる広告コンテンツを表示する画像ファイル109または広告コンテンツを表示する加工済み画像ファイル134のうち、実際にウェブコンテンツ211aに含まれるものについて、広告コンテンツサムネイル画像150が生成される。
【0357】
同様に、例えば、動画ファイル140または加工済み動画ファイル141のうち、実際にウェブコンテンツ211aに含まれるものについて、動画サムネイル画像151が生成される。
【0358】
広告コンテンツサムネイル画像150は、利用者端末101のブラウザに表示される広告コンテンツを表示する画像ファイル109または広告コンテンツを表示する加工済み画像ファイル134のうち、実際に利用者端末101のブラウザに表示される画像のみを複製したものであり、キャプチャ画像と呼ばれる。
キャプチャ画像のうち、最も容量の小さいものが広告コンテンツサムネイル画像150として採用される。
【0359】
広告コンテンツサムネイル画像150はただの画像であり、この画像は利用者端末101のブラウザ上で表示されているだけである。実際にクリックしてみても、何も起こらない。
また動画サムネイル画像151も、利用者端末101のブラウザに表示される動画ファイル140または加工済み動画ファイル141のキャプチャ画像と呼ばれる画像を複製したものである。
【0360】
キャプチャ画像のうち、最も容量の小さいものが動画サムネイル画像151として採用される。
動画サムネイル画像151はただの画像であり、この画像も利用者端末101のブラウザ上で表示されているだけである。実際にクリックしてみても、何も起こらないのは、先の場合と同様である。
【0361】
広告コンテンツサムネイル画像150は、広告コンテンツを表示する画像ファイル109および広告コンテンツを表示する加工済み画像ファイル134よりも簡単な処理で利用者端末101に表示できるため、広告コンテンツを表示する画像ファイルまたは広告コンテンツを表示する加工済み画像ファイル134の表示完了時間よりも短い時間で広告コンテンツサムネイル画像150を利用者端末101のブラウザに表示することができる。
【0362】
同様に、動画サムネイル画像151は、動画ファイル140および加工済み動画ファイル141よりも簡単な処理で利用者端末101に表示できるため、動画ファイル140または加工済み動画ファイル141よりも早く動画サムネイル画像151を利用者端末101のブラウザに表示を完了することができる。
【0363】
利用者端末101のブラウザに表示されたウェブコンテンツ211aの情報内容に、ユーザが興味を示すかどうかは、ユーザが現在表示されているブラウザの表示ページから離脱するか、またはウェブコンテンツ211aの情報内容を読み進めるかどうか、利用者端末101のブラウザをスクロールするか、広告コンテンツサムネイル画像150をクリックするか、動画サムネイル画像151をクリックするか等の行動により判断することができる。
【0364】
ユーザが現在表示されているブラウザから離脱した場合には、追加の情報をウェブサーバ103から利用者端末101に送信する必要がない。
【0365】
これに対してユーザが現在表示されているブラウザから離脱せず、例えば、利用者端末101のブラウザにウェブコンテンツ211aの表示が完了してから一定時間が経過した場合には、ユーザはウェブコンテンツ211aの内容を読み進めていると推定される。
【0366】
本実施形態3の場合には、利用者端末101のブラウザにウェブコンテンツ211aの表示が完了してから、例えば、5秒が経過した場合にユーザはウェブコンテンツ211aの内容を読んでいると推定される。
【0367】
利用者端末101のブラウザにクリックやスクロール等のユーザによる積極的な操作がなく、かつユーザがブラウザから離脱しない場合、一定時間経過後に、利用者端末101に対して、サーバ103からネットワーク102を経由して、広告コンテンツを表示する画像ファイルまたは広告コンテンツを表示する加工済み画像ファイル134のうち、表示完了時間が最も短い画像ファイルが送信される。
【0368】
設定される上記の一定時間は、利用者端末101の種類、ファーストビューに表示される情報の内容等により適宜設定されるが、通常は1~10秒間の範囲である。
広告コンテンツを表示する画像ファイル109または広告コンテンツを表示する加工済み画像ファイル134のうち、表示完了時間が最も短い画像ファイルが利用者端末101に受信されると、この表示完了時間が最も短いファイルが先に表示されている広告コンテンツサムネイル画像150と置換されて表示される。
【0369】
広告情報を含む画像ファイルの中でも、表示完了時間が最も短い画像ファイルには、広告情報を表示するためのリンクやスクリプト言語が含まれていて、ユーザが表示完了時間が短い画像ファイルをクリックすると、ネットワーク102を介して、指定されたドメインの別の外部サーバに保存されている広告情報を参照することができる。
【0370】
同様に、利用者端末101のブラウザにクリックやスクロール等のユーザによる積極的な操作がない場合、一定時間経過後に、利用者端末101に対して、サーバ103からネットワーク102を経由して、動画ファイル140または加工済み動画ファイル141のうち、表示完了時間が最も短い動画ファイルが送信される。
【0371】
動画ファイル140または加工済み動画ファイル141のうち、最も表示完了時間が短い動画ファイルが利用者端末101に受信されると、この最も表示完了時間が短い動画ファイルが先に表示されている動画サムネイル画像151と置換されて表示される。
【0372】
広告情報を含む動画ファイルの中でも、表示完了時間が最も短い動画ファイルには、動画を表示するためのスクリプト言語が含まれていて、ユーザが表示完了時間が最も短い動画ファイルをクリックすると、ネットワーク102を介して、指定されたドメインの別の外部サーバに保存されている音声を含む動画が再生されて動画情報を参照することができる。
【0373】
一方、利用者端末101のブラウザにクリックやスクロール等のユーザによる行動があると、その行動に対応したイベント情報に関する信号が利用者端末101のブラウザから、ネットワーク102を経由してウェブサーバ103に送信される。
【0374】
これらの信号を受信したウェブサーバ103は、例えば、ただちに記憶装置1101から広告コンテンツを表示する画像ファイルまたは広告コンテンツを表示する加工済み画像ファイル134のうち、表示完了時間が最も短い画像ファイル、ならびに、動画ファイル140または加工済み動画ファイル141のうち、表示完了時間が最も短い動画ファイルが送信される。
また残りのウェブコンテンツ211bも、ネットワーク102を経由して利用者端末101に送信される。
【0375】
これらのデータを受信した利用者端末101は、利用者端末101に搭載されたブラウザに、表示完了時間が最も短い画像ファイル、表示完了時間が最も短い動画ファイルおよびウェブコンテンツ211bを高速に表示することができる。
【0376】
本発明の実施形態3に係るウェブコンテンツの自動表示制御方法の場合は、利用者端末101のブラウザにおけるファーストビューの表示に関連する表示完了時間の短い画像ファイルおよび表示完了時間の短い動画ファイルに替えて、それぞれ広告コンテンツサムネイル画像150および動画サムネイル画像151が最初に使用される。
【0377】
従来の技術の場合、ユーザが広告コンテンツを表示する画像ファイルをクリックするかどうか、動画ファイル140をクリックするかどうかに関わらず、利用者端末101に対して広告表示や動画再生の準備が始まる。
【0378】
これに対し、本発明の実施形態3に係るウェブコンテンツの自動表示制御方法の場合は、ユーザが利用者端末101のブラウザに表示されたウェブコンテンツ211aの情報内容に興味を示さない場合には、利用者端末101のファーストビューに表示されるのは仮の情報である広告コンテンツサムネイル画像150、動画サムネイル画像151等である。
【0379】
これらの仮の情報は表示完了時間を短くすることができるため、ウェブサーバ103から利用者端末101への情報転送時間を短縮できるから、エンゲージメントスコアの低いユーザの離脱を防止できる。
【0380】
また、ユーザが利用者端末101のブラウザに表示されたウェブコンテンツ211aの情報内容に興味を示す場合には、ユーザがウェブコンテンツ211aにより利用者端末101のブラウザに表示された情報内容を読んでいる間に、広告表示や動画再生の準備を始めることができる。
【0381】
またユーザがウェブコンテンツ211aの情報内容の追加の表示を希望する行動である、ユーザが利用者端末101のブラウザに対するクリック、タップ、スクロール等の行動を示した場合にも、クリック、タップ、スクロールなどのイベント情報を信号としてウェブサーバ103および利用者端末101のブラウザ側の少なくとも一方で検知できるので、ウェブサーバ103側から直ちに広告表示や動画再生に関係するリソースについて、利用者端末101にダウンロードして表示、再生等の準備を始めることができる。
【0382】
上述の通り、本発明の実施形態3に係るウェブコンテンツの自動表示制御方法の場合は、ユーザ体験に基づいてウェブコンテンツの自動表示制御方法が実現できる。
【0383】
逆にエンゲージメントのスコアが一定値以上のユーザに対してはウェブコンテンツ211の全てが利用者端末101に送信される。最初から利用者端末101に対して広告表示や動画再生の準備が始まるため、エンゲージメントのスコアが一定値以上のユーザは早い段階で広告表示や動画再生等を利用することができる。
【産業上の利用可能性】
【0384】
ウェブコンテンツの自動表示制御方法は、ウェブサイトに表示されたウェブコンテンツを閲覧するユーザと、ウェブサイトの運営者との意図の相反を解消できるから、ネットワークを利用したウェブコンテンツを扱う通信分野で広く応用することができる。
【符号の説明】
【0385】
101 利用者端末
102 ネットワーク
103 ウェブサーバ
104 オリジナルデータ記憶領域
105 PHPファイル
106 データベース
107 CSSファイル
107a,b,c CSSコード部分
107x,108x,113x 利用者端末に使用されない部分
F107a~F107c,F108a~F108c オブジェクト
108 スクリプト言語ファイル
108a~108d スクリプト言語コード部分
109 画像ファイル
110 PSTコントローラ
111 PSTプラグイン
112 制御部
113 HTMLファイル
113a~113d HTMLコード部分
115 監視制御部
116 動作制御部
117 動作制御記憶部
120 時間実行制御部
121 時間実行記憶部
122 実行プログラム
123 設定ファイル格納部
124 リソースファイル
125 設定ファイル
126 機種情報ファイル
130 加工済みデータ記憶領域
131 加工済みHTMLファイル
132 加工済みCSSファイル
133 加工済みスクリプト言語ファイル
134 加工済み画像ファイル
140 動画ファイル
141 加工済み動画ファイル
150 広告コンテンツサムネイル画像
151 動画サムネイル画像
200 オリジナルデータ
201,202 加工済みデータ
203 CLI
211,212 ウェブコンテンツ
211a ファーストビューのウェブコンテンツ
211b ファーストビュー以外のウェブコンテンツ
301 学習器
401 通信の渋滞
402 描画の渋滞
403 配信最適化
404 ファーストビューに対応する部分の描画
405 ファーストビューに対応する部分以外の描画
410 エンゲージメントのスコアが最小の場合
420 エンゲージメントのスコアが中間の場合
430 エンゲージメントのスコアが最大の場合
1000,1100 中央演算処理装置
1001,1101 記憶装置
1001a,1101a 主記憶部
1001b,1101b 補助記憶部
1002,1102 通信用インターフェイス
1003,1103 入力装置
1004,1104 表示装置
1105 OS
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21