[go: up one dir, main page]

JP6482330B2 - 通信装置、通信方法、及びプログラム - Google Patents

通信装置、通信方法、及びプログラム Download PDF

Info

Publication number
JP6482330B2
JP6482330B2 JP2015046432A JP2015046432A JP6482330B2 JP 6482330 B2 JP6482330 B2 JP 6482330B2 JP 2015046432 A JP2015046432 A JP 2015046432A JP 2015046432 A JP2015046432 A JP 2015046432A JP 6482330 B2 JP6482330 B2 JP 6482330B2
Authority
JP
Japan
Prior art keywords
priority
image content
communication device
web page
content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015046432A
Other languages
English (en)
Other versions
JP2016167157A (ja
Inventor
睦 池田
睦 池田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015046432A priority Critical patent/JP6482330B2/ja
Priority to PCT/JP2016/000378 priority patent/WO2016143242A1/en
Priority to US15/556,581 priority patent/US10579697B2/en
Publication of JP2016167157A publication Critical patent/JP2016167157A/ja
Application granted granted Critical
Publication of JP6482330B2 publication Critical patent/JP6482330B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、論理的な接続を使用してコンテンツの送受信を行う通信方法に関する。
Webページを表示する際、ユーザはWebブラウザにURL(Uniform Resource Locator)を入力する。Webブラウザは、ユーザによって入力されたURLから特定されるHTML文書を、サーバ装置から取得する。HTML文書を取得する際の通信プロトコルには、HTTP(Hypertext Transfer Protocol)が使用される。次にWebブラウザは、取得したHTML文書に記述されている通りにWebページを表示する。Webページにはテキストのほかに、CSSファイル、JavaScript(登録商標)ファイル、静止画、動画、オーディオ等のコンテンツが埋め込まれており、HTML文書にはそれらのコンテンツを特定するURLが記載されている。WebブラウザはHTML文書に基づいてWebページを表示するのと並行して、Webページを構成するコンテンツをサーバ装置から取得する。特許文献1では、WebサイトのHTML文書をダウンロードし、そのHTML文書から特定される画像データをダウンロードした後に、携帯端末に適した形式でWebページを表示させる技術が開示されている。
HTTPのバージョンの一つとして、IETF(Internet Engineering Task Force)はHTTP/2の規格を策定中である。HTTP/2においては、サーバ装置とクライアント装置との間で接続を確立し、その接続内においてストリームと呼ぶ独立した通信シーケンスを複数構築することができる。そして、そのストリームごとにサーバ装置とクライアント装置との間でメッセージを送受信することができる。
特開2003−271508号公報
しかしながら、従来の技術では、早く取得されることを求められるコンテンツの取得が遅くなってしまうことがある。
例えば、複数ストリームを使用してデータを受信するクライアント装置上でユーザがWebページを閲覧する場合、WebブラウザはWebページを構成する複数のコンテンツをサーバ装置から並行して取得し、取得し終わったコンテンツから順に表示する。Webページを構成するコンテンツには、インタラクションに関するコンテンツが含まれる。ここでインタラクションとは、ユーザがWebページ上のコンテンツを操作することで、Webページが動的な処理を実行することを指す。具体的には、リンクの設定された画像をクリックして他のWebページを表示したり、ログインボタンを押下してWebサービスにログインしたり等のインタラクションがある。Webブラウザがインタラクションに関するコンテンツを表示しない限り、ユーザはWebページに対する操作を行うことができない。そのため、インタラクションに関するコンテンツの取得が遅い場合に、Webページの利便性が損なわれていた。
上記の課題に鑑み、本発明は、Webページ上の特定のコンテンツを早く取得するための技術を提供することを目的とする。
上記の課題を解決するため、本発明に係る通信装置は、例えば以下の構成を有する。すなわち、送信装置との間に確立された論理的な接続を使用して、前記送信装置からコンテンツを受信する受信手段と、前記受信手段が複数の論理的な接続を使用して複数のコンテンツを受信する場合に、前記複数の論理的な接続の優先度を、前記複数のコンテンツの属性情報に基づいて決定する決定手段とを有する。
本発明によれば、論理的な接続の優先度をコンテンツに応じて決定することで、特定のコンテンツが早く取得されやすくなる。
実施形態に係る通信システムの構成例を示す図である。 実施形態に係る受信装置100のハードウェア構成例を示すブロック図である。 実施形態に係る受信装置100のモジュール構成例を示すブロック図である。 実施形態に係るWebページの表示例を示す図である。 実施形態に係る受信装置100によるコンテンツ受信の際の動作を説明するためのフローチャートである。 実施形態に係る受信装置100が優先度を決定する方法を説明するための図である。 実施形態に係る送信装置110がコンテンツ送信を行う際の動作を説明するためのフローチャートである。 実施形態に係るモード選択機能を説明するための図である。 実施形態に係るコンテンツ送受信の動作を説明するためのシーケンス図である。 実施形態に係るリンク又はスクリプトに対応するURLのドメインに基づいた優先度の決定方法を説明するための図である。 実施形態に係る画像の表示サイズに基づいた優先度の決定方法を説明するための図である。 実施形態に係る画像の表示位置に基づいた優先度の決定方法を説明するための図である。
以下、本発明の実施形態について説明する。なお、以下の実施形態は特許請求の範囲に係る本発明を限定するものではなく、また、以下の実施形態で説明する特徴の組み合わせの全てが本発明に必須のものとは限らない。
[実施形態1]
本実施形態では、複数コンテンツで構成されるWebページをユーザがWebブラウザで閲覧する場合に、受信装置100がインタラクションに関わるコンテンツを特に必要なコンテンツであるとみなして優先的にダウンロードする例について説明する。ここでインタラクションとは、ユーザがWebページ上のコンテンツを操作することで、Webページが動的な処理を実行することを指す。
以下に具体例を示す。図4は、Webページの表示例を示す図である。図4(A)は、画像共有サービスのトップページの例であり、Webブラウザ400のウインドウ内に背景画像401、ログインボタン402、及びヘルプボタン403が配置される。
図4(B)と図4(C)は、Webブラウザ400が図4(A)のページを表示する際の途中経過である。図4(B)は、背景画像401が先に表示されてログインボタン402とヘルプボタン403が後から表示される場合の途中経過である。図4(C)は、ログインボタン402とヘルプボタン403が先に表示されて背景画像401が後から表示される場合の途中経過である。図4(B)の状態では、インタラクションに関するログインボタン402とヘルプボタン403が表示されていないため、ユーザは画像共有サービスの機能を利用するためにログインボタン402又はヘルプボタン403が表示されるのを待つ必要がある。一方で図4(C)の状態では、ログインボタン402とヘルプボタン403が背景画像401よりも先に表示されているため、ユーザは背景画像401が表示されるのを待たずに画像共有サービスの機能を利用することができる。
そこで本実施形態では、図4(C)に示すように、インタラクションに関連するコンテンツを優先的にダウンロードする仕組みを説明する。
<システム構成>
図1は、通信システムの構成例を示す図である。通信システムは送信装置110と受信装置(通信装置)100とを備え、これらがネットワーク120により接続されている。受信装置100は、送信装置110との間のネットワーク120上に確立された論理的な接続を使用して、送信装置110からコンテンツを受信する。送信装置110と受信装置100との間のデータの送受信におけるプロトコルには、HTTP/2が利用される。ただし、HTTP/2以外のプロトコルを利用してもよい。
受信装置100は、WebブラウザによってWebページを表示装置に表示させる表示制御機能、入力装置を介してユーザからの操作を受け付ける操作機能、及び通信機能を有するクライアント端末である。表示装置および入力装置は受信装置100と一体であってもよいし、受信装置100に接続される別の装置であってもよい。受信装置100は、例えばカメラ、パーソナルコンピュータ、テレビ、スマートフォンなどである。送信装置110は、HTML文書やそれによって特定されるコンテンツなどを送信する通信機能を有するサーバ装置である。ネットワーク120は、受信装置100と送信装置110とが接続するネットワークである。ネットワーク120は、例えば有線LAN、無線LAN、WAN、インターネット等である。
なお、本実施形態では、Webページの構成がHTML文書によって記述されている場合の例について説明するが、Webページの構成はHTML文書でなくXHTML文書などのデータによって記述されていてもよい。
<ハードウェア構成>
図2は、受信装置100のハードウェア構成例を示すブロック図である。受信装置100は、CPU101、ROM102、RAM103、出力インタフェース104、バス105、ネットワークインタフェース106、及び入力インタフェース107を備える。
CPU101は、受信装置100全体を制御する。ROM102は、変更を必要としないプログラムやパラメータを格納する。RAM103は、外部装置などから供給されるプログラムやデータを一時記憶する。出力インタフェース104は、受信装置100が保持するデータや供給されたデータに基づいた表示画面を表示装置に出力する。バス105は、受信装置100の各構成要素を通信可能に接続する。ネットワークインタフェース106は、インターネットなどのネットワーク回線と接続する。入力インタフェース107は、ユーザによる操作を受けたタッチセンサやマウスなどのポインティングデバイスやキーボードなどの入力デバイスからの入力を受け付ける。上述の構成に限らず、受信装置100に固定して設置されるハードディスクやメモリカード等の二次記憶装置があってもよい。あるいは、フレキシブルディスク(FD)やCompact Disk(CD)等の光ディスク、磁気カードや光カード、ICカード、メモリカードなどを含む外部記憶装置が受信装置100に着脱可能に設置されていてもよい。
なお、送信装置110のハードウェア構成も、受信装置100と同様である。
<モジュール構成>
図3は、受信装置100のモジュール構成例を示すブロック図である。受信装置100は、送受信部201、HTML解析部202、優先度決定部203、及び表示制御部204を有する。各モジュールは、CPU101がROM102に格納されたプログラムをRAM103に展開して後述する各フローチャートに従った処理を実行することで実現されている。また例えば、CPU101を用いたソフトウェア処理の代替としてハードウェアによる処理を行う場合には、ここで説明する各モジュールの処理に対応させた演算部や回路を構成すればよい。
送受信部201は、ネットワーク120を介して送信装置110との間でHTTP/2において規定されるストリームを使用してデータの送受信を行う。ここで、HTTP/2で規定されるストリームは、受信装置100から送信装置110へ送信されるコンテンツの取得要求と、送信装置110から受信装置100へ送信されるコンテンツとの順序を管理するための論理的な接続である。ただし、受信装置100と送信装置110が使用する論理的な接続はHTTP/2のストリームに限らない。個別のストリームにおいて送信装置110は、受信装置100から受信した取得要求の順序に応じて応答を送信しなければならない。しかし、送信装置110と受信装置100が複数ストリームを使用して通信を行う場合、各ストリームは取得要求と応答の順序を独立して管理しており、それぞれのストリームにおける送信状況は他のストリームにおける送信に直接影響を及ぼさない。
送受信部201は、取得要求を送信してHTML文書や関連するコンテンツを送信装置110から受信するほか、コンテンツの送受信に使用するストリームの優先度通知も行う。本実施形態において、送受信部201は各コンテンツをそれぞれ異なるストリームで並行して受信する。ここで並行して受信するとは、送受信部201が複数のストリームを使用し、時分割で複数のコンテンツを受信することをいう。HTML解析部202は、送受信部201が受信したHTML文書を解析し、そのHTML文書に基づいて表示されるWebページを構成する関連コンテンツを特定する。優先度決定部203は、HTML解析部202によって特定された各コンテンツに対し、そのコンテンツを取得するためのストリームの優先度を決定する。ストリームの優先度を決定する方法についての詳細は後述する。表示制御部204は、HTML文書およびHTML解析部202によりHTML文書から特定され送受信部201が受信したコンテンツに基づいて、Webページの表示画像をディスプレイ等の表示装置に表示させる。
<コンテンツ受信フロー>
図5は、受信装置100によるコンテンツ受信の際の動作を説明するためのフローチャートである。図5の処理は、Webページを取得するためのユーザ操作が受信装置100に入力されたタイミングで開始される。ただし、図5の処理の開始タイミングは上記タイミングに限定されない。
S301において、送受信部201は送信装置110に対して、ユーザが指定したURLで特定されるHTML文書の取得要求を送信する。URLの指定方法としては、ユーザがWebブラウザに直接入力する方法のほか、リンクをクリックする方法やブックマークから指定する方法などがある。S302において、送受信部201はS301での取得要求に応じて送信装置110から送信されたHTML文書を受信する。
S303において、HTML解析部202は、S302で送受信部201が受信したHTML文書を解析し、そのHTML文書に記載されているコンテンツを特定する。S304において、HTML解析部202はHTML文書に関連コンテンツが記載されているか否かを判定し、記載されていない場合には処理を終了する。一方、HTML文書に関連するコンテンツが記載されている場合には、S305に進む。
S305において、優先度決定部203は、HTML文書に関連する複数のコンテンツの属性情報に基づいて、各コンテンツの優先度を決定する。ここで属性情報とは、例えばコンテンツの種別や、コンテンツに設定されたリンク及びスクリプトの有無、コンテンツに設定されたリンク又はスクリプトに対応するURL、HTML文書に基づいて表示されるページにおけるコンテンツの表示領域などである。ただし、コンテンツに関するこれら以外の情報を優先度決定の基準としてもよい。優先度の決定方法の詳細については後述する。
S306において、送受信部201は、S305で優先度決定部203によって決定された優先度に基づいて、コンテンツを並行して取得する。具体的には、送受信部201は、コンテンツごとで異なる複数のストリームを送信装置110との間に確立し、対応するコンテンツの優先度に基づいて各ストリームの優先度を決定する。例えばHTTP/2においては、ストリームを開始する際に送受信部201が送信装置110に送信するHEADERSフレームに優先度情報を含めることで、送信装置110との間に新たに確立するストリームの優先度を送信装置110に通知できる。また、確立済みのストリームを使用して送受信部201がPRIORITYフレームを送信装置110に送信することで、確立済みのストリームの優先度を送信装置110に通知することもできる。このように、送受信部201はHTTP/2で規定されるHEADERSフレーム若しくはPRIORITYフレーム又はその両方を送信装置110に送信することで、優先度決定部203により決定されたストリームの優先度を送信装置110に通知する。ただし、ストリームの優先度の通知方法は上記に限らず、他の方法を用いてもよい。優先度決定部203がストリームの優先度を決定すると、送受信部201は送信装置110との間に確立されたそれら複数のストリームを使用して、コンテンツの取得要求を送信装置110に送信し、送信装置110から送信された複数のコンテンツを受信する。この際、送信装置110は、通知された優先度に基づいて、複数のストリームに対して送信リソースを割り当てる。ここで送信リソースとは、例えばデータの送信に必要なCPUの実行時間やメモリ容量、帯域幅などを指す。なお、送信装置110は、少なくとも1種類の送信リソースを優先度に基づいて割り当て、その他の送信リソースについては優先度を考慮せずに割り当ててもよい。送信装置110が通知された優先度に基づいた送信リソースの割り当てを実行することで、受信装置100は優先度の高いストリームに対応するコンテンツを早く取得できる可能性が高くなる。
S307において、HTML解析部202は、S306で送受信部201が受信したコンテンツにHTML形式のファイル(HTML文書)が含まれているか否かを判定する。S307の判定の結果、受信したコンテンツにHTML形式のファイルが含まれている場合、S303の処理に戻る。一方でHTML形式のファイルが含まれていなかった場合、処理を終了する。
なお、本実施形態では、受信装置100が送信装置110からHTML文書とそれに関連するコンテンツを受信する場合の例を中心に説明するが、これに限らない。受信装置100は、HTML文書と関連コンテンツをそれぞれ異なる送信装置から受信してもよいし、関連コンテンツを複数の送信装置から受信してもよい。
<優先度決定フロー>
受信装置100がS305において優先度を決定する方法を、図6を用いて具体的に説明する。図6(A)は、S305での優先度決定部203による優先度を決定する処理の例を示すフローチャートである。図6(B)と図6(C)は、HTML形式のファイル中でインタラクション可能なボタン画像の表示に関する記述を抜粋した例である。図6(D)は、HTML形式のファイル中で背景画像の表示に関する記述を抜粋した例である。
図6(B)の記述には、<p>、<a>、<img>の三種類の要素が存在する。HTML文書において、<p>要素は段落を示し、<a>要素はリンクを示し、<img>要素は画像を示す。つまり図6(B)の記述は、Webページ内に、クリックするとリンク先のWebページに遷移する機能を持った画像が含まれることを示している。
図6(C)の記述には、<p>と<img>の二種類の要素が存在する。図6(C)の記述も図6(B)の記述と同様に、Webページ内に、クリックすると別のWebページに遷移する機能を持った画像が含まれることを示している。図6(C)の記述では別のWebページに遷移する動作をJavaScript(登録商標)で定義している。図6(C)の記述においてJavaScript(登録商標)で動作を定義している箇所は、<img>要素内の「onclick=“…”」の部分である。この「onclick=“…”」のような記述をスクリプト属性と呼ぶ。
図6(D)の記述には、<p>と<img>の二種類の要素が存在する。図6(D)の記述も画像を含むWebページを示すが、<a>要素やスクリプト属性が存在しないため、図6(D)の記述により表示される画像はインタラクションの機能を持たない。
続いて、図6(A)の優先度決定フローに沿って、図6(B)、(C)、(D)で示される各コンテンツに対する優先度の決定処理について説明する。図6(A)の処理は、HTML解析部202がHTML文書に関連コンテンツが記載されていると判定したタイミングで開始される。ただし、図6(A)の処理の開始タイミングは上記タイミングに限定されない。なお、図5のS304においてHTML文書に関連するコンテンツが複数存在すると判定された場合、HTML解析部202は、複数のコンテンツそれぞれについて図6(A)の処理を実行する。
S601において、優先度決定部203は対象となるコンテンツの種別が静止画であるか否かを判定する。コンテンツの種別には、例えば静止画や動画、オーディオ等がある。図6(B)、(C)、(D)ともに、<img>要素によって特定される静止画を含むため、S601の判定は真となりS602に進む。もしコンテンツが静止画でない場合はS605に進む。
S602において、優先度決定部203は、対象となる静止画にリンクが設定されているか否かを判定する。図6(B)では、<a>要素によりリンクが設定されているため、S602の判定は真となりS604に進む。図6(C)、(D)では、静止画にリンクが設定されていないため、S602の判定は偽となりS603に進む。
S603において、優先度決定部203は、対象となる静止画にスクリプトが設定されているか否かを判定する。図6(C)では、「onclick=“…”」のスクリプト属性によりスクリプトが設定されているため、S603の判定は真となりS604に進む。図6(D)では、静止画にスクリプトが設定されていないため、S603の判定は偽となりS605に進む。
S604において、対象コンテンツは、リンク又はスクリプトが設定された静止画であるため、インタラクションに関するコンテンツである。そのため、S604において優先度決定部203は、対象のコンテンツの優先度を高い優先度に決定する。一方でS605において、対象コンテンツは、リンク及びスクリプトが設定されていない静止画であるため、インタラクションに関するコンテンツとは判定されず、優先度決定部203は対象のコンテンツの優先度を低い優先度に決定する。この結果、図6(B)、(C)の記述におけるボタン画像「button01.jpg」と「button02.jpg」の優先度が、図6(D)の記述における背景画像「background01.jpg」の優先度よりも高い優先度に決定される。
<コンテンツ送信フロー>
送信装置110がコンテンツ送信を行う際の動作を、図7を用いて説明する。ここでは、送信装置110が複数のスレッド上で並行してコンテンツを送信する場合について説明する。すなわち送信装置110は、受信装置100からコンテンツの取得要求を受信すると、メインスレッドに加えて要求されたコンテンツの数だけサブスレッドを生成する。そして送信装置110は、生成したメインスレッドとサブスレッドによりコンテンツの送信を管理する。図7(A)はメインスレッドの処理フローの例であり、図7(B)はメインスレッドから生成されるサブスレッドの処理フローの例である。
まずは図7(A)を用いてメインスレッドの処理フローについて説明する。図7(A)の処理は、送信装置110が複数のストリームを使用して複数のコンテンツの取得要求を受信装置100から受信したタイミングで開始される。ただし、図7(A)の処理の開始タイミングは上記タイミングに限定されない。
S501において、メインスレッドは、受信した取得要求のうち対応するサブスレッドを生成していない取得要求があるか否かを判定する。例えば、送信装置110は、受信装置100から3つのコンテンツの取得要求を受信した場合、3つのサブスレッドを生成したか否かを判定する。S501の判定の結果、受信した全ての取得要求に対してサブスレッドを生成していた場合、S503に進む。一方で対応するサブスレッドを生成していない取得要求が残っている場合、S502に進む。S502において、メインスレッドは受信した全ての取得要求に対して対応するサブスレッドを生成する。このときメインスレッドが生成できるサブスレッドの数に制限はないものとして説明する。サブスレッドが生成されると、サブスレッドごとに図7(B)の処理が開始される。
S503において、メインスレッドは受信した取得要求をキューに保存する。S504において、メインスレッドはキュー内の取得要求を優先度順に並び替える。本実施形態のメインスレッドは、受信装置100から受信した複数の取得要求に対応するコンテンツのうち、優先度の高い取得要求に対応するコンテンツが先に送信開始されるように、キューに保存した取得要求を並び替える。優先度が等しい取得要求が複数存在する場合、メインスレッドは、Webページにおける表示位置がより上にあるコンテンツが先に送信開始されるように、キューに保存した取得要求を並び替える。ここで取得要求の優先度とは、各取得要求の受信に使用したストリームの優先度である。S505において、メインスレッドは変数Iを用意してIの値を0に初期化する。
S506において、メインスレッドはIの値を1増加させる。このとき、Iの値がキューの長さよりも大きい数字となった場合、Iの値を0にする。S507において、メインスレッドは、キューの先頭からI番目に保存されている取得要求に対応するサブスレッドの待機状態を解除する。これにより、I番目のコンテンツの送信が開始される。すなわち送信装置110は、受信装置100から要求された複数のコンテンツのうち、より優先度の高いコンテンツの送信を先に開始する。なお、S507で待機状態が解除されるまでサブスレッドは待機状態である。S508において、メインスレッドは100ミリ秒の間待機する。メインスレッドが待機することで、送信装置110はサブスレッドの処理を実行するためのシステムリソースを確保できる。S509において、メインスレッドは、送信処理の完了したサブスレッドがあるか否かを判定する。S509の判定の結果、送信処理の完了したサブスレッドがあった場合、S510に進む。一方で送信処理の完了したサブスレッドがない場合、処理をS506に戻す。
S510において、メインスレッドは送信処理が完了したサブスレッドに対応する取得要求をキューから削除する。S511において、メインスレッドはキューが空か否かを判定する。S511の判定の結果、キューが空である場合、処理を終了する。一方でキューが空でない場合、処理をS504に戻す。
次に図7(B)を用いてサブスレッドの処理について説明する。図7(B)の処理は、S502で送信装置110のメインスレッドがサブスレッドを生成したタイミングで開始される。ただし、図7(B)の処理の開始タイミングは上記タイミングに限定されない。
S5001において、サブスレッドは100ミリ秒の間待機する。サブスレッドが待機することで、送信装置110は他のサブスレッドやメインスレッドの処理を実行するためのシステムリソースを確保できる。S5002において、サブスレッドはメインスレッドによって待機状態が解除されたか否かを判定する。S5002の判定の結果、待機状態が解除されていた場合、S5003に進む。一方で待機状態が解除されていなかった場合、処理をS5001に戻す。
S5003において、サブスレッドは、対応する取得要求の受信に使用されたストリームを使用して、コンテンツを受信装置100に所定量だけ送信する。ここで所定量は、各サブスレッド(各コンテンツ)で同一であってもよいが、優先度の高いコンテンツほどデータ量が多くなるようにしてもよい。この場合、S508における待機時間を、必要に応じて200ミリ秒や300ミリ秒としてもよい。また、S5001での待機時間もサブスレッドごとに違っていてもよい。このような構成によれば、複数のサブスレッドのうち優先度の高いコンテンツに対応するサブスレッドが1回の機会(1回の待機状態の解除)で送信するデータ量をより大きくすることができる。これにより、優先度の高いコンテンツの送信が優先度の低いコンテンツの送信よりも早く完了する可能性を高めることができる。
S5004において、サブスレッドはコンテンツの送信が完了したか否かを判定する。S5004の判定の結果、コンテンツの送信が完了していない場合、処理をS5001に戻す。一方でコンテンツの送信が完了していた場合、処理を終了する。すなわちサブスレッドは、S5003においてコンテンツ(例えば画像)のデータを受信装置100に対して全て送信したか否かを判定する。コンテンツのデータの送信が完了していた場合は、サブスレッドを終了する。
以上、図7を用いて送信装置110がコンテンツを送信する際の動作を説明したが、コンテンツ送信の方法はこれに限らない。送信装置110は、受信装置100により通知された優先度に基づいて複数のストリームに送信リソースを割り当てることで、それら複数のストリームを使用して複数のコンテンツを受信装置100に送信すればよい。
以上説明したように、本実施形態における受信装置100は、HTML文書に関連する複数のコンテンツを、各コンテンツの属性情報に基づいて優先度を決定したストリームを使用して送信装置110から受信する。特に、インタラクションに関するコンテンツに対応するストリームの優先度を高い優先度に決定することで、インタラクションに関するコンテンツを他のコンテンツよりも早くダウンロードできる可能性が高くなる。これにより、ユーザはWebページが全て表示されるのを待たずにインタラクションを行うことができるため、Webページの利便性を向上することができる。
なお、受信装置100は、Webブラウザを起動する際に、本実施形態で説明した優先度に基づくコンテンツ受信を適用するモードと適用しないモードのいずれかをユーザに選択させてもよい。図8は、モード選択機能を説明するための図である。図8(B)はモード選択画面の例である。モード選択画面911は、Webブラウザ910内に表示される。本実施形態で説明した優先度に基づくコンテンツ受信を適用するモードをボタン優先表示モードとし、適用しないモードを通常モードとする。図8(A)はモード選択フローの例である。図8(A)の処理は、受信装置100がWebブラウザを起動したタイミングで開始される。ただし、図8(A)の処理の開始タイミングは上記タイミングに限定されない。S901において、表示制御部204は表示装置にモード選択画面を表示させる。S902において、受信装置100は、ユーザが通常モードを選択したか否かを判定する。S902の判定の結果、ユーザが通常モードを選択した場合、処理を終了する。一方で通常モードを選択しなかった場合、S903に進む。S903において、受信装置100は本実施形態で説明したボタン優先表示モードを適用し、処理を終了する。
また、上記の実施形態では、受信装置100が送信装置110との間に確立された複数のストリームを使用して、複数のコンテンツを並行して受信する場合の例について説明したが、これに限らない。例えば、送受信部201は、受信装置100と送信装置110との間に少なくとも1つの論理的な接続を確立する。優先度決定部203は、複数のコンテンツの優先度を、そのコンテンツにリンク又はスクリプトが設定されているか否かに基づいて決定する。そして送受信部201は、確立された接続を使用して、最も優先度の高い未取得コンテンツに対する取得要求を送信装置110に送信し、それに応じて送信装置から送信されたコンテンツを受信する。送受信部201はその後、次に優先度の高い未取得コンテンツに対する取得要求を送信し、そのコンテンツを受信してもよい。
なお図5では、HTML解析部202がHTML文書に記載されたコンテンツを全て特定した後、優先度決定部203が優先度を決定し、その優先度に基づいて送受信部201が送信装置110に取得要求を送信する例について説明したが、これに限らない。例えば、HTML解析部202はHTML文書を先頭の行から順に解析する。そして、HTML解析部202がコンテンツを特定するたびに、優先度決定部203がそのコンテンツの優先度を決定し、その優先度に基づいて送受信部201が取得要求を送信してもよい。また図7では、送信装置110が複数のコンテンツを複数のサブスレッドによって並行して送信する場合に例について説明したが、これに限らない。例えば、送信装置110は、優先度の高いコンテンツのデータを先に全て送信し、そのあとで優先度の低いコンテンツのデータの送信を開始してもよい。
この場合におけるコンテンツ送受信の動作を、図9を用いて説明する。図9(A)はHTML文書の一部の記述を抜粋した例である。このHTML文書には二つのコンテンツが記載されている。一つは「image01.jpg」で、もう一つは「image02.jpg」である。「image01.jpg」にはリンク及びスクリプトが設定されておらず、「image02.jpg」にはスクリプトが設定されている。そのため、優先度決定部203は「image02.jpg」の優先度を「image01.jpg」よりも高い優先度に決定する。
図9(B)は、本実施形態の優先度決定法を適用しない場合に、受信装置100が図9(A)の「image01.jpg」と「image02.jpg」を送信装置110からダウンロードする際のシーケンスの例を示す。この場合の受信装置100は、HTML文書に記載された複数のコンテンツを、優先度の等しい複数のストリームを使用して受信する。
最初に受信装置100の処理を説明する。まずHTML解析部202が「image01.jpg」を発見し、送受信部201が送信装置110に対して「image01.jpg」の取得要求を送信する。続いてHTML解析部202が「image02.jpg」を発見し、送受信部201が送信装置110に対して「image02.jpg」の取得要求を送信する。このとき「image01.jpg」と「image02.jpg」の優先度は等しい。送受信部201が送信装置110から「image01.jpg」のデータを全て受け取ると、表示制御部204が「image01.jpg」の表示を開始する。また、送受信部201が送信装置110から「image02.jpg」のデータを全て受信すると、表示制御部204が「image02.jpg」の表示を開始する。
続いて送信装置110の処理を説明する。送信装置110は、「image01.jpg」の取得要求を受信すると、まず「image01.jpg」のデータの1/2だけを受信装置100に送信する。続いて送信装置110は「image02.jpg」の取得要求を受信するが、二つのコンテンツの優先度が等しいため、引き続き「image01.jpg」のデータの残り1/2を受信装置100に送信する。送信装置110はその後「image02.jpg」のデータの1/2だけを受信装置100に送信し、最後に「image02.jpg」のデータの残り1/2を送信する。
図9(C)は、本実施形態の優先度決定法を適用した場合に、受信装置100が図9(A)の「image01.jpg」と「image02.jpg」を送信装置110からダウンロードする際のシーケンスの例を示す。受信装置100の処理としては、図9(B)の処理に加え、優先度決定部203が「image02.jpg」の優先度を「image01.jpg」よりも高い優先度に決定する。
送信装置110は、「image01.jpg」の取得要求を受信すると、まず「image01.jpg」のデータの1/2だけを受信装置100に送信する。続いて送信装置110は「image02.jpg」の取得要求を受信するが、このとき「image02.jpg」に対応するストリームの優先度は「image01.jpg」に対応するストリームの優先度より高い。そのため送信装置110は、「image01.jpg」のデータの残り1/2よりも優先して「image02.jpg」のデータの1/2だけをクライアントに送信する。送信装置110はその後「image02.jpg」のデータの残り1/2を受信装置100に送信し、最後に「image01.jpg」のデータの残り1/2を送信する。
この場合、送受信部201が送信装置110から「image01.jpg」のデータを全て受信するよりも先に「image02.jpg」のデータを全て受信する。そのため、表示制御部204は「image01.jpg」よりも「image02.jpg」の表示を先に開始する。
以上説明したように、図9に示す方式を適用すると、HTML解析部202がHTML文書を全て解析するより前に送受信部201が優先度に基づいてコンテンツの取得要求を送信する。その結果、表示制御部204が優先度の高いコンテンツの表示を早く開始することができる。
[実施形態2]
実施形態1では、インタラクションに関わるコンテンツを優先的にダウンロードするために、コンテンツの種別や設定されたリンク及びスクリプトの有無を基準として、優先度決定部203がストリームの優先度を決定する例を中心に説明した。本実施形態では、図5のS305での優先度決定の基準として、実施形態1の基準に加えてリンク又はスクリプトにより遷移するWebページのURLのドメインを利用する例について説明する。
リンク又はスクリプトによる遷移先のURLが、遷移元のWebページのURLと異なるドメインである場合、そのリンク又はスクリプトが設定された画像はユーザがすぐに操作したいコンテンツではない場合がある。例えば、Webサービスのトップ画面からメニュー画面に遷移できる場合、一般にトップ画面とメニュー画面は同一ドメインで管理されている。一方で、Webサービスのトップ画面から別のサービスのWebページに遷移する場合、一般に異なるドメインのWebページが表示される。このうちユーザにとって即時性を要するのは、トップ画面からメニュー画面に移動する場合であることが多い。また、ユーザにとって優先度の低いバナー広告等は、別ドメインに遷移するリンク又はスクリプトが設定された画像であることが多い。
そこで本実施形態では、遷移元のWebページと同一ドメインのWebページへの遷移に関するコンテンツを優先的にダウンロードする仕組みについて説明する。優先度決定フロー以外については実施形態1と同様のため、説明を省略する。
リンク又はスクリプトに対応するURLのドメインに基づいた優先度の決定方法について、図10を用いて説明する。図10(A)は、図5のS305において優先度決定部203が優先度を決定する処理の詳細を示すフローチャートである。図10(B)と図10(C)は、表示されるページと同一ドメインで管理されるメニュー画面へのリンクが設定されたボタン画像の表示に関する記述を抜粋した例である。図10(B)はリンク先を絶対パスで指定する例であり、図10(C)はリンク先を相対パスで指定する例である。図10(D)は、別のドメインで管理される他のWebサービスへのリンクが設定されたボタン画像の表示に関する記述を抜粋した例である。
図10(A)の処理は、HTML解析部202がHTML文書にコンテンツが記載されていると判定したタイミングで開始される。ただし、図10(A)の処理の開始タイミングは上記タイミングに限定されない。
図10(A)と図6(A)の違いは、S701の判定が行われるか否かである。実施形態1では、優先度決定部203は、図6(A)のS602において静止画コンテンツにリンクが設定されていると判定した場合、そのコンテンツの優先度を高い優先度に決定した。また、優先度決定部203は、S603において静止画コンテンツにスクリプトが設定されていると判定した場合も、そのコンテンツの優先度を高い優先度に決定した。一方で本実施形態では、優先度決定部203は、S602においてリンクが設定されていると判定した場合およびS603においてスクリプトが設定されていると判定した場合、S701に進む。
S701において、優先度決定部203は、対象のコンテンツが記載されたHTML文書に対応するURLのドメインと、対象コンテンツに設定されたリンク又はスクリプトに対応するURLのドメインとが一致するか否かを判定する。図10(B)と図10(C)では、遷移元と遷移先のドメインが一致するため、S701の判定は真となりS604に進む。図10(D)では、遷移元と遷移先のドメインが一致しないため、S701の判定は偽となりS605に進む。
S604において、対象コンテンツは、設定されたリンク又はスクリプトに対応するURLのドメインとHTML文書に対応するURLのドメインとが一致する静止画であるため、優先度決定部203は対象のコンテンツの優先度を高い優先度に決定する。一方でS605において、対象コンテンツは、設定されたリンク又はスクリプトに対応するURLのドメインとHTML文書に対応するURLのドメインとが異なる静止画であるため、優先度決定部203は対象のコンテンツの優先度を低い優先度に決定する。この結果、図10(B)、(C)の記述におけるボタン画像「button01.jpg」と「button02.jpg」の優先度が、図10(D)の記述におけるボタン画像「button03.jpg」の優先度よりも高い優先度に決定される。
以上説明したように、本実施形態における受信装置100は、遷移元のWebページと同一ドメインのWebページへの遷移に関するコンテンツを優先的にダウンロードする。これにより、ユーザが即時性を求める操作に関するコンテンツを他のコンテンツよりも早くダウンロードできる可能性が高くなる。その結果、ユーザはWebページの表示過程の早い段階で所望するインタラクションを行うことができるため、Webページの利便性を向上することができる。
なお、上記の実施形態では、静止画を動画やオーディオよりも優先してダウンロードする場合の例について説明したが、これに限らない。例えば動画共有サイト等において、ユーザは早く動画の再生を開始することを優先したいと考えることがある。その場合、動画の優先度を他の種別のコンテンツの優先度よりも高い優先度に決定することで、Webページの利便性を向上することができる。
また、上記の実施形態では、同一ドメインのWebページへの遷移に関するコンテンツを別ドメインのWebページへの遷移に関するコンテンツよりも優先的にダウンロードする場合の例について説明したが、これに限らない。例えば、広告主の利益を重視した設定が受信装置100になされていた場合、バナー広告を優先的に表示させるために、優先度決定部203は別ドメインのWebページへの遷移に関するコンテンツの優先度を高い優先度に決定してもよい。
また上記の実施形態では、優先度決定部203が各コンテンツの優先度をS604において高い優先度に決定するか又はS605において低い優先度に決定する場合の例について説明したが、優先度は高いか低いかの2通りだけでなく複数の段階があってもよい。例えば、優先度決定部203が優先度を4段階に決定できる場合、同一ドメインへのリンク又はスクリプトが設定された静止画の優先度を最も高い優先度に決定する。また、別ドメインへのリンク又はスクリプトが設定された静止画の優先度を2番目に高い優先度に決定し、リンク及びスクリプトが設定されていない静止画の優先度を3番目に高い優先度に決定する。そして、コンテンツ種別が静止画でないコンテンツの優先度を4番目に高い優先度に決定してもよい。これにより、別ドメインのサービスへの遷移を所望するユーザ等も考慮した利便性の向上を提供することができる。
[実施形態3]
実施形態2では、図5のS305での優先度決定の基準として、実施形態1の基準に加えてリンク又はスクリプトにより遷移するWebページのURLのドメインを利用する例を中心に説明した。本実施形態では、S305での優先度決定の基準として、画像の表示サイズを利用する例について説明する。
本実施形態では、Webページ中のコンテンツが背景画像とボタン画像のどちらかに分類され、ボタン画像が背景画像よりも優先的にダウンロードされる仕組みについて説明する。優先度決定フロー以外については実施形態1と同様のため、説明を省略する。
画像の表示サイズに基づいた優先度の決定方法について、図11を用いて説明する。Webページ上に表示される画像を表示サイズに基づいて背景画像だと判定する場合としては、次の三種類が挙げられる。まず図11(B)は、Webブラウザのウインドウの面積に対して、背景画像の面積が一定以上の割合を占める場合の例である。Webブラウザ810のウインドウ内に、背景画像811、ログインボタン812、及びヘルプボタン813が表示されている。続いて図11(C)は、ウインドウの幅に対して背景画像の幅が一定以上の割合を占める場合の例である。最後に図11(D)は、ウインドウの高さに対して背景画像の高さが一定以上の割合を占める場合の例である。
図11(A)は、図5のS305において優先度決定部203が画像の優先度を決定する処理の詳細を示すフローチャートである。なお、画像以外のコンテンツの優先度は、例えば最も低い優先度に設定される。図11(A)の処理は、HTML解析部202がHTML文書にコンテンツが記載されていると判定したタイミングで開始される。ただし、図11(A)の処理の開始タイミングは上記タイミングに限定されない。
S801において、優先度決定部203は、表示制御部204からWebブラウザのウインドウの幅(DW)と高さ(DH)を取得する。本実施形態ではDWとDHとしてそれぞれウインドウの幅と高さを利用するが、ディスプレイの幅と高さやHTML文書で定義される表示領域の幅と高さを利用してもよい。HTML文書では、width属性やheight属性を指定することで、表示領域の幅と高さを指定することができる。S802において、優先度決定部203は、画像の幅(IW)と高さ(IH)を取得する。HTML文書の中で、画像の幅と高さは<img>要素のwidth属性やheight属性で指定される。S803において、優先度決定部203は閾値SS、SW、及びSHを設定する。
S804において、優先度決定部203は、ウインドウの面積(DW×DH)に対して画像の面積(IW×IH)が占める割合がSSより大きいか否かを判定する。(DW×DH)に対する(IW×IH)の割合がSSより大きい場合、対象画像は背景画像であると判定され、S805に進む。例えばSSが0.25であった場合、ウインドウの1/4以上を占める画像は背景画像であると判定される。一方で(DW×DH)に対する(IW×IH)の割合がSS以下である場合、S806に進む。
S806において、優先度決定部203は、ウインドウの幅(DW)と画像の幅(IW)の差がSWより小さいか否かを判定する。DWとIWの差がSWより小さい場合、対象画像は背景画像であると判定され、S805に進む。例えばSWが50であった場合、ウインドウの幅と画像の幅の差が50px未満である画像は背景画像であると判定される。一方でDWとIWの差がSW以上である場合、S807に進む。
S807において、優先度決定部203は、ウインドウの高さ(DH)と画像の高さ(IH)の差がSHより小さいか否かを判定する。DHとIHの差がSHより小さい場合、対象画像は背景画像であると判定され、S805に進む。例えばSHが50であった場合、ウインドウの高さと画像の高さの差が50px未満であれば、背景画像であると判定される。一方でDHとIHの差がSH以上である場合、対象画像はボタン画像であると判定され、S808に進む。
S805において、対象コンテンツは、ウインドウに表示されるWebページにおいて面積、縦の長さ及び横の長さの少なくとも一つが所定値を超える画像であるため、背景画像であると判定される。そのため、S805において優先度決定部203は、対象のコンテンツの優先度を低い優先度に決定する。一方でS808において、対象コンテンツは、Webページにおいて面積、縦の長さ及び横の長さがそれぞれ所定値以下の画像であるため、ボタン画像であると判定され、優先度決定部203は対象のコンテンツの優先度を高い優先度に決定する。
以上説明したように、本実施形態における受信装置100は、表示サイズの小さいボタン画像を表示サイズの大きい背景画像よりも優先的にダウンロードする。これにより、ユーザの操作に関するコンテンツを他のコンテンツよりも早くダウンロードできる可能性が高くなるため、Webページの利便性を向上することができる。
なお、本実施形態における画像は、静止画であってもよいし動画であってもよい。また、上記の実施形態では表示サイズの小さい画像を表示サイズの大きい画像よりも優先的にダウンロードする場合の例について説明したが、これに限らない。例えば、表示サイズの大きい画像がメインのコンテンツであり、表示サイズの小さい画像は装飾的な重要でないコンテンツである場合がある。その場合、表示サイズの大きい画像の優先度を表示サイズの小さい画像の優先度よりも高い優先度に決定することで、ユーザの見たい画像を優先的に表示することができる。
[実施形態4]
実施形態3では、図5のS305での優先度決定の基準として、画像の表示サイズを利用する例を中心に説明した。本実施形態では、S305での優先度決定の基準として、画像の表示位置を利用する例について説明する。優先度決定フロー以外については実施形態1と同様のため、説明を省略する。
画像の表示位置に基づいた優先度の決定方法について、図12を用いて説明する。一般に、Webページ上に表示される画像の中で、ユーザからの操作を受ける可能性の高い画像は、Webページを表示するWebブラウザの初期画面の表示範囲内に表示されることが多い。一方、画面をスクロールしなければ表示できない画像は、操作を受ける可能性の低い画像や背景画像であることが多い。図12(B)は、Webブラウザの初期画面の表示範囲内に全体が表示されないWebページの表示例である。Webページ1111の一部がWebブラウザ1110内に表示されている。ログインボタン1112とヘルプボタン1113はWebブラウザ1110内に表示されており、背景用画像1114はその一部又は全部がWebブラウザ1110の表示領域外に存在している。
図12(A)は、図5のS305において優先度決定部203が画像の優先度を決定する処理の詳細を示すフローチャートである。図12(A)の処理は、HTML解析部202がHTML文書にコンテンツが記載されていると判定したタイミングで開始される。ただし、図12(A)の処理の開始タイミングは上記タイミングに限定されない。
S1101において、優先度決定部203は、表示制御部204からWebブラウザのウインドウの幅(DW)と高さ(DH)を取得する。本実施形態ではDWとDHとしてそれぞれウインドウの幅と高さを利用するが、ディスプレイの幅と高さやHTML文書で定義される表示領域の幅と高さを利用してもよい。S1102において、優先度決定部203は、Webページにおける画像の表示位置(IX、IY)を取得する。IXとIYはそれぞれ画像の左上端が表示される点のX座標とY座標に等しい。HTML文書の中で、画像の表示位置は<img>要素やstyle属性のxやyで指定される。S1103において、優先度決定部203は閾値DX及びDYを設定する。
S1104において、優先度決定部203は、画像の表示位置のX座標IXが(DW−DX)より大きいか否かを判定する。IXがDWより小さくても画像の一部がウインドウの表示領域を外れてしまう場合があるため、DXを使ってウインドウの表示領域に画像全体が含まれるかどうかを判定する。DXには、例えばDW/10のような値が設定されてもよいし、画像の幅が設定されてもよい。S1104の判定の結果が真の場合、S1105に進む。一方でS1104の判定の結果が偽の場合、S1106に進む。
S1106において、優先度決定部203は、画像の表示位置のY座標IYが(DH−DY)より大きいか否かを判定する。DYには、例えばDH/10のような値が設定されてもよいし、画像の高さが設定されてもよい。S1106の判定の結果が真の場合、S1105に進む。一方でS1106の判定の結果が偽の場合、S1107に進む。
S1105において、対象コンテンツは、Webブラウザの初期画面の表示範囲内に少なくとも一部が表示されない画像であるため、操作を受ける可能性が低い画像であると判定される。そのため、S1105において優先度決定部203は、対象のコンテンツの優先度を低い優先度に決定する。一方でS1107において、対象コンテンツは、Webブラウザの初期画面の表示範囲内に全体が表示される画像であるため、操作を受ける可能性が高い画像であると判定され、優先度決定部203は対象のコンテンツの優先度を高い優先度に決定する。
以上説明したように、本実施形態における受信装置100は、画像の表示位置に基づいて、初期画面に全体が表示される画像を、初期画面に全体が表示されない画像よりも優先的にダウンロードする。これにより、ユーザから操作を受ける可能性が高いコンテンツを他のコンテンツよりも早くダウンロードできる可能性が高くなるため、Webページの利便性を向上することができる。
なお、本実施形態における画像は、静止画であってもよいし動画であってもよい。また、上記の実施形態では、Webページを表示するWebブラウザの初期画面の表示範囲内に画像が表示されるか否かに基づいて優先度を決定する場合の例について説明したが、これに限らない。例えば、ページが全て表示される前にユーザが画面をスクロールした場合、そのスクロール位置におけるウインドウの表示領域内に表示されるコンテンツを優先的にダウンロードしてもよい。これにより、ユーザが見ようとしている又は操作しようとしている画像を推測して優先的にダウンロードすることができる。
また、上記の実施形態では、画像がウインドウの表示領域内に表示されるか否かによって優先度を決定する場合について説明したが、ウインドウの表示領域内に表示されるコンテンツの中で更に優先度付けを行ってもよい。例えば地図情報サービス等において、受信装置100の送受信部201は、タイルに分割された地図データをそれぞれ異なるストリームで通信する。この場合において、優先度決定部203は、特定のタイルに対応するストリームの優先度を他のタイルに対応するストリームの優先度よりも高く決定することができる。具体的には、ウインドウの表示領域内に表示される地図のうち、ウインドウの中心部に近い部分の地図や、ユーザがクリックした部分の地図、ユーザが入力した住所に対応する部分の地図などの優先度を高い優先度に決定してもよい。これにより、ユーザが見たい地点の情報が早く表示される可能性が高くなり、Webページの利便性を向上することができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC等)によっても実現可能である。
201 送受信部
202 HTML解析部
203 優先度決定部

Claims (21)

  1. 通信装置であって、
    前記通信装置が他の通信装置との間の論理的な接続を介してWebページに含まれる画像コンテンツを受信する場合に、前記Webページにおける当該画像コンテンツに対する操作に応じた所定の処理のための情報が設定されているかを判定する判定手段と、
    前記通信装置と前記他の通信装置との間の論理的な接続の優先度を決定する決定手段であって、前記Webページにおける第1画像コンテンツに対する操作に応じた前記所定の処理のための情報が設定されていると前記判定手段により判定された場合であり、且つ、前記Webページにおける前記第1画像コンテンツとは異なる第2画像コンテンツに対する操作に応じた前記所定の処理のための情報が設定されていないと前記判定手段により判定された場合に、前記第1画像コンテンツを受信するための第1の論理的な接続の優先度が前記第2画像コンテンツを受信するための第2の論理的な接続の優先度よりも高くなるように決定する決定手段と、
    前記決定手段により決定された優先度に応じた論理的な接続を介して前記他の通信装置から画像コンテンツを受信する受信手段とを有することを特徴とする通信装置。
  2. 前記他の通信装置が前記決定手段により決定された優先度に基づいて前記Webページに含まれる画像コンテンツを送信するように、前記優先度を前記他の通信装置に通知する通知手段を有することを特徴とする請求項1に記載の通信装置。
  3. 前記受信手段は、前記Webページの構成を記述するためのデータを受信し、且つ、前記Webページに含まれる画像コンテンツとして、前記データにより特定される画像コンテンツを受信することを特徴とする請求項1又は2に記載の通信装置。
  4. 前記決定手段は、前記通信装置と前記他の通信装置との間の論理的な接続の優先度を、当該論理的な接続を介して受信されるコンテンツに対する操作に応じた前記所定の処理のための情報が設定されているか否かと、前記コンテンツの種別とに基づいて決定することを特徴とする請求項1乃至3の何れか1項に記載の通信装置。
  5. 前記コンテンツの種別は、静止画、動画、及びオーディオのうち少なくとも1つを含むことを特徴とする請求項4に記載の通信装置。
  6. 前記決定手段は、静止画コンテンツを受信するための論理的な接続の優先度を、動画コンテンツ又はオーディオコンテンツを受信するための論理的な接続の優先度よりも高い優先度に決定することを特徴とする請求項4又は5に記載の通信装置。
  7. 前記Webページにおける画像コンテンツに対する操作に応じた前記所定の処理のための情報は、当該画像コンテンツに対する操作に応じて表示されるWebページに関するリンクであることを特徴とする請求項1乃至6の何れか1項に記載の通信装置。
  8. 前記Webページにおける画像コンテンツに対する操作に応じた前記所定の処理のための情報は、当該画像コンテンツに対する操作に応じて実行されるスクリプトであることを特徴とする請求項1乃至6の何れか1項に記載の通信装置。
  9. 前記決定手段は、前記WebページのURLのドメインと同じドメインのURLによるリンクが設定された画像コンテンツを受信するための論理的な接続の優先度が、前記WebページのURLのドメインと異なるドメインのURLによるリンクが設定された画像コンテンツを受信するための論理的な接続の優先度よりも高くなるように、優先度を決定することを特徴とする請求項1乃至7のうち何れか1項に記載の通信装置。
  10. 前記決定手段により決定された優先度に応じた論理的な接続を介して前記他の通信装置からコンテンツを受信するか、前記決定手段による優先度の決定によらずに前記他の通信装置からコンテンツを受信するかを、ユーザによる操作に基づいて選択する選択手段を有することを特徴とする請求項1乃至9の何れか1項に記載の通信装置。
  11. 前記他の通信装置へコンテンツの取得要求を送信する送信手段を有し、
    前記論理的な接続は、前記送信手段により送信される取得要求と、前記他の通信装置により前記通信装置へ送信されるコンテンツとの順序を管理するための接続であることを特徴とする請求項1乃至10のうち何れか1項に記載の通信装置。
  12. 前記論理的な接続は、HTTP/2において規定されるストリームであることを特徴とする請求項1乃至11のうち何れか1項に記載の通信装置。
  13. 前記通知手段は、HTTP/2において規定されるHEADERSフレーム若しくはPRIORITYフレーム又はその両方を前記他の通信装置に送信することで、前記決定手段により決定された優先度を前記他の通信装置に通知することを特徴とする請求項2に記載の通信装置。
  14. 前記決定手段は、前記Webページに含まれる画像コンテンツを受信するための論理的な接続の優先度を、当該画像コンテンツにリンク又はスクリプトが設定されているか否かに基づいて決定することを特徴とする請求項1乃至13の何れか1項に記載の通信装置。
  15. 前記決定手段は、前記Webページに含まれるリンク又はスクリプトが設定された画像コンテンツを受信するための論理的な接続の優先度を、当該画像コンテンツに設定されたリンク又はスクリプトに対応するURLのドメインと前記WebページのURLのドメインとが一致するか否かに基づいて決定することを特徴とする請求項14に記載の通信装置。
  16. 前記Webページの構成を記述するためのデータは、HTML文書又はXHTML文書であることを特徴とする請求項3に記載の通信装置。
  17. 通信装置により実行される通信方法であって、
    前記通信装置が他の通信装置との間の論理的な接続を介してWebページに含まれる画像コンテンツを受信する場合に、前記Webページにおける当該画像コンテンツに対する操作に応じた所定の処理のための情報が前記Webページにおいて設定されているかを判定する判定工程と、
    前記通信装置と前記他の通信装置との間の論理的な接続の優先度を決定する決定工程であって、前記Webページにおける第1画像コンテンツに対する操作に応じた前記所定の処理のための情報が設定されていると前記判定工程において判定された場合であり、且つ、前記Webページにおける前記第1画像コンテンツとは異なる第2画像コンテンツに対する操作に応じた前記所定の処理のための情報が設定されていないと前記判定工程において判定された場合に、前記第1画像コンテンツを受信するための第1の論理的な接続の優先度が前記第2画像コンテンツを受信するための第2の論理的な接続の優先度よりも高くなるように決定する決定工程と、
    前記決定工程において決定された優先度に応じた論理的な接続を介して前記他の通信装置から画像コンテンツを受信する受信工程とを有することを特徴とする通信方法。
  18. 前記他の通信装置が前記決定工程において決定された優先度に基づいて前記Webページを構成するコンテンツを送信するように、前記優先度を前記他の通信装置に通知する通知工程を有することを特徴とする請求項17に記載の通信方法。
  19. 前記決定工程は、前記Webページに含まれるコンテンツを受信するための論理的な接続の優先度を、当該画像コンテンツにリンク又はスクリプトが設定されているか否かに基づいて決定することを特徴とする請求項17又は18に記載の通信方法。
  20. 第1通信装置と第2通信装置とを備え、
    前記第1通信装置は、
    前記第1通信装置が前記第2通信装置との間の論理的な接続を介してWebページに含まれる画像コンテンツを受信する場合に、前記Webページにおける当該画像コンテンツに対する操作に応じた所定の処理のための情報が前記Webページにおいて設定されているかを判定する判定手段と、
    前記第1通信装置と前記第2通信装置との間の論理的な接続の優先度を決定する決定手段であって、前記Webページにおける第1画像コンテンツに対する操作に応じた前記所定の処理のための情報が設定されていると前記判定手段により判定された場合であり、且つ、前記Webページにおける前記第1画像コンテンツとは異なる第2画像コンテンツに対する操作に応じた前記所定の処理のための情報が設定されていないと前記判定手段により判定された場合に、前記第1画像コンテンツを受信するための第1の論理的な接続の優先度が前記第2画像コンテンツを受信するための第2の論理的な接続の優先度よりも高くなるように決定する決定手段と、
    前記決定手段により決定された優先度を前記第2通信装置に通知する通知手段とを有し、
    前記第2通信装置は、
    前記通知手段により通知された優先度に基づいて前記Webページに含まれる画像コンテンツを前記第1通信装置に送信する送信手段を有することを特徴とする通信システム。
  21. コンピュータを、請求項1乃至16のうち何れか1項に記載の通信装置として動作させるためのプログラム。
JP2015046432A 2015-03-09 2015-03-09 通信装置、通信方法、及びプログラム Active JP6482330B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015046432A JP6482330B2 (ja) 2015-03-09 2015-03-09 通信装置、通信方法、及びプログラム
PCT/JP2016/000378 WO2016143242A1 (en) 2015-03-09 2016-01-26 Reception apparatus, transmission apparatus, communication method, communication system, and storage medium
US15/556,581 US10579697B2 (en) 2015-03-09 2016-01-26 Reception apparatus, transmission apparatus, communication method, communication system, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015046432A JP6482330B2 (ja) 2015-03-09 2015-03-09 通信装置、通信方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2016167157A JP2016167157A (ja) 2016-09-15
JP6482330B2 true JP6482330B2 (ja) 2019-03-13

Family

ID=56879444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015046432A Active JP6482330B2 (ja) 2015-03-09 2015-03-09 通信装置、通信方法、及びプログラム

Country Status (3)

Country Link
US (1) US10579697B2 (ja)
JP (1) JP6482330B2 (ja)
WO (1) WO2016143242A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7630996B2 (ja) 2021-01-05 2025-02-18 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10291682B1 (en) * 2016-09-22 2019-05-14 Juniper Networks, Inc. Efficient transmission control protocol (TCP) reassembly for HTTP/2 streams
CN108781176A (zh) 2017-02-28 2018-11-09 华为技术有限公司 消息通知方法及终端
US10789315B1 (en) * 2017-07-19 2020-09-29 United Services Automobile Association (Usaa) Content curation application and graphical user interface

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001080524A2 (en) * 2000-04-17 2001-10-25 Circadence Corporation Method and system for overcoming denial of service attacks
JP2003271508A (ja) 2002-03-14 2003-09-26 Ntt Comware Corp 携帯端末向けコンテンツ変換システム、及びコンテンツ変換方法
US8140698B2 (en) * 2003-04-30 2012-03-20 International Business Machines Corporation Method and system for efficient data transmission in interactive networked environments
US20130026992A1 (en) * 2011-07-25 2013-01-31 Joy Ride Technology Co., Ltd. Rechargeable battery device, and power supplying system incorporating the same
US9325806B2 (en) * 2012-02-24 2016-04-26 Qualcomm Incorporated Cooperative loading of webpages based on shared meta information
JP6021487B2 (ja) * 2012-07-18 2016-11-09 キヤノン株式会社 情報処理システム、制御方法、サーバ、情報処理装置およびコンピュータプログラム
JP5814285B2 (ja) * 2013-03-22 2015-11-17 ヤフー株式会社 広告抽出装置、広告抽出方法及び広告抽出プログラム
CN105532013B (zh) * 2013-07-12 2018-12-28 佳能株式会社 利用推送消息控制的自适应数据流传输方法
US20150271233A1 (en) * 2014-03-20 2015-09-24 Samsung Electronics Co., Ltd. Method and apparatus for dash streaming using http streaming
EP3241324B1 (en) * 2014-12-29 2018-08-29 Telefonaktiebolaget LM Ericsson (publ) Technique for enhancing rendering of displayable content

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7630996B2 (ja) 2021-01-05 2025-02-18 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム

Also Published As

Publication number Publication date
WO2016143242A1 (en) 2016-09-15
US10579697B2 (en) 2020-03-03
JP2016167157A (ja) 2016-09-15
US20180052942A1 (en) 2018-02-22

Similar Documents

Publication Publication Date Title
US10860279B2 (en) Method and system for browser-based screen sharing
US20190272313A1 (en) Dynamic generation of mobile web experience
US9898542B2 (en) Narration of network content
US8478843B1 (en) Templates with static parameter caching
WO2019133208A1 (en) Platform-independent application publishing to a personalized front-end interface by encapsulating published content into a container
WO2015017672A1 (en) Screen sharing using scripting computer language code
US8990404B2 (en) Directing data in a web browser from a portable electronic device
JP6482330B2 (ja) 通信装置、通信方法、及びプログラム
JP2008226202A (ja) 情報処理装置および方法、並びにプログラム
US20150149586A1 (en) Information processing apparatus, information processing method, and information processing system
JP4626509B2 (ja) 画像一覧表示におけるユーザの利便性向上
KR20110041322A (ko) 패킷 통화 중 데이터를 전송하는 단말기 및 이를 포함하는 서비스 시스템
US9942287B2 (en) Information processing system, terminal device, and method
US20130227423A1 (en) Remote user interface providing apparatus and method
US20160092037A1 (en) Computer-Implemented Methods, Computer Readable Media, And Systems For Distributed Processing
JP2005148807A (ja) モーダル同期制御方法およびマルチモーダルインターフェイスシステム
JP6785524B2 (ja) 表示装置、表示方法及び表示プログラム
US10587674B1 (en) Systems and methods for controlling in which order elements of a set of displayable content are transferred via an online connection
JP2015049658A (ja) 情報処理端末およびその制御方法、システムおよびその制御方法、並びにプログラム
JP6221395B2 (ja) 情報処理システム、クライアント装置、サーバ装置およびプログラム
JP2002351778A (ja) 3次元表示コンテンツ送信制御方法及びシステム及び受信装置及びサーバ及び3次元表示端末及び3次元表示コンテンツ送信制御プログラム及び3次元表示コンテンツ送信制御プログラムを格納した記憶媒体
KR101370714B1 (ko) 다중 스크린 장치 사용을 위한 웹 페이지 스크린 분할 방법 및 시스템
JP2004227137A (ja) 情報閲覧システム、プログラムおよび情報閲覧方法
JP2004362278A (ja) コンテンツ提供装置およびその装置を実現するためのプログラム
JP5901267B2 (ja) 情報処理装置およびその制御方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181017

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190212

R151 Written notification of patent or utility model registration

Ref document number: 6482330

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151