JP2016018281A - 情報処理装置および情報処理方法 - Google Patents

情報処理装置および情報処理方法 Download PDF

Info

Publication number
JP2016018281A
JP2016018281A JP2014139160A JP2014139160A JP2016018281A JP 2016018281 A JP2016018281 A JP 2016018281A JP 2014139160 A JP2014139160 A JP 2014139160A JP 2014139160 A JP2014139160 A JP 2014139160A JP 2016018281 A JP2016018281 A JP 2016018281A
Authority
JP
Japan
Prior art keywords
error
information
processing
communication
data
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.)
Granted
Application number
JP2014139160A
Other languages
English (en)
Other versions
JP2016018281A5 (ja
JP6389661B2 (ja
Inventor
睦 池田
Mutsumi Ikeda
睦 池田
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 JP2014139160A priority Critical patent/JP6389661B2/ja
Priority to PCT/JP2015/002226 priority patent/WO2016002118A1/ja
Publication of JP2016018281A publication Critical patent/JP2016018281A/ja
Priority to US15/367,268 priority patent/US10735245B2/en
Publication of JP2016018281A5 publication Critical patent/JP2016018281A5/ja
Application granted granted Critical
Publication of JP6389661B2 publication Critical patent/JP6389661B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • 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]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • H04L41/0645Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis by additionally acting on or stimulating the network after receiving notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0681Configuration of triggering conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0253Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using browsers or web-pages for accessing management information

Abstract

【課題】サーバ装置のHTTP 2.0の実装が正しくない場合でも、ウェブサイトの正しい閲覧ができるようにする情報処理方法を提供する。
【解決手段】ウェブサイトの情報を閲覧するためのブラウザ200は、複数の処理部207〜209と、処理部において発生したエラーを検出するエラー検出部213、および、検出部213がエラーを検出するとエラーに関する情報を処理部に通知するエラー通知部215を有する。処理部はそれぞれ、ウェブサイトのサーバ装置との間でデータ通信を行うデータ通信部210、および、データ通信部210から入力されるデータをレスポンスデータとして処理し、処理の結果に応じてリクエストデータを生成して、生成したリクエストデータをデータ通信部210に出力するHTTPレスポンス・リクエスト処理部211を有する。処理部は、受信したエラー情報に基づきデータ通信部210を制御する。
【選択図】図2

Description

本発明は、ウェブサイトの情報を閲覧するための情報処理に関する。
一般に、クライアント装置の画面にウェブサイト(以下、Webサイト)のページを表示するには、クライアント装置がWebサイトのデータが保存されたサーバ装置との間でデータ通信を行う必要がある。当該データ通信には、IETF (The Internet Engineering Task Force)によって策定されたHTTP (hypertext transfer protocol)と呼ばれる通信プロトコルが使用される。一般に使われているHTTPのバージョンは1.1であり、HTTP/1.1やHTTP 1.1と表記される。HTTP 1.1は広く普及した通信プロトコルである。
近年、Webサイトに含まれるコンテンツのデータ量が劇的に増加し、多くのWebサイトでアニメーションやインタラクションが含まれるようになった。そのため、高速にデータを通信する仕組みがHTTPに求められている。そこで、IETFは、HTTPの次期バージョンであるHTTP 2.0の策定を開始した(非特許文献1参照)。HTTP 2.0には、クライアント装置とサーバ装置の間でヘッダを送受信する際のヘッダを圧縮する機能(非特許文献2参照)や、データに優先度を与えて通信する機能が盛り込まれている。このため通信速度の改善が期待される。
HTTP 2.0を利用する場合、クライアント装置は、まず、サーバ装置にHTTP 2.0の利用が可能か否かを問い合わせる。問い合わせの結果、HTTP 2.0が利用可能であることが判明すると、HTTP 2.0によって通信を開始する。一方、HTTP 2.0が利用不可であることが判明すると、HTTP 1.1によって通信を開始する。なお、HTTP 2.0による通信は必須ではなく、クライアント装置は、問い合わせを行わずに、HTTP 1.1によって通信を開始してもよい。
http://www.ietf.org/id/draft-ietf-httpbis-http2-07.txt http://www.ietf.org/id/draft-ietf-httpbis-header-compression-03.txt
現在、パーソナルコンピュータ(PC)環境、モバイル環境に関わらず、ユーザは、同時に複数のWebサイトの閲覧が可能である。その際、クライアント装置は、複数のセッションを確立し、セッションごとに異なるWebサイトにアクセスしている。
しかし、サーバ装置のHTTP 2.0の実装が正しくない場合、Webサイトの正しい閲覧を行うことができない。一般に、同じドメインでは同じプロトコル実装が利用される。そのため、あるドメインのサーバ装置のHTTP 2.0の実装が正しくないと、そのドメインのWebサイトにアクセスするすべてのセッションが、Webサイトの正しいデータを取得することができない。また、ある時点で正しいデータを取得していたとしても、何れ正しいデータが取得できなくなることが予想される。
また、正しいデータを取得することができなかったWebサイトに再度アクセスする場合、プロトコル実装が正しくないにもかかわらず、サーバ装置からHTTP 2.0が利用可能と通知されたクライアント装置はHTTP 2.0による通信を開始する。そのため、再び、HTTP 2.0を正しく処理することができず、Webサイトの正しい閲覧を行うことができない。
従って、クライアント装置には、複数のセッションの間でHTTP 2.0におけるエラー情報を共有する仕組みや、当該エラー情報を保存する仕組みが望まれる。
本発明は、複数のセッションの間でエラー情報を共有する仕組みを提供することを目的とする。
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
本発明にかかる情報処理装置は、ウェブサイトの情報を閲覧するための閲覧手段を有し、前記閲覧手段は、複数の処理手段、前記処理手段において発生したエラーを検出する検出手段、および、前記検出手段がエラーを検出するとエラーに関するエラー情報を前記複数の処理手段に通知する通知手段を有し、前記複数の処理手段はそれぞれ、前記ウェブサイトのサーバ装置との間でデータ通信を行う通信手段、および、前記通信手段から入力されるデータをレスポンスデータとして処理し、前記処理の結果に応じてリクエストデータを生成して、前記生成したリクエストデータを前記通信手段に出力するデータ処理手段を有し、前記処理手段は、受信したエラー情報に基づき前記通信手段を制御する。
本発明によれば、複数のセッションの間でエラー情報を共有する仕組みを提供することができる。
実施例のクライアント装置である情報処理装置の構成例を説明するブロック図。 複数のWebページを閲覧する際のブラウザの処理構成を説明するブロック図。 ブラウザの処理を説明するフローチャート。 同一ドメインのエラー情報のみを共有する場合の処理を説明するフローチャート。 実施例2におけるブラウザの処理構成を説明するブロック図。 実施例2におけるブラウザの処理を説明するフローチャート。 HTTP 2.0が規定するエラーとエラー情報を受信した場合の処理の関係を説明する図。 実施例3におけるブラウザの処理を説明するフローチャート。
以下、本発明にかかる実施例の情報処理装置および情報処理方法を図面を参照して詳細に説明する。なお、実施例は特許請求の範囲にかかる本発明を限定するものではなく、また、実施例において説明する構成の組み合わせのすべてが本発明の解決手段に必須とは限らない。
実施例1として、クライアント装置のウェブブラウザ(以下、ブラウザ)により複数のウェブページ(以下、Webページ)を同時に閲覧する際のエラー処理を説明する。つまり、全セッションでHTTP 2.0のエラー情報を共有し、エラーが発生した場合はセッションを終了し、HTTP 1.1によりセッションの再開を試みる例を説明する。また、本発明は、サーバ装置とクライアント装置の間の通信におけるクライアント装置の仕組みの改良であり、実施例1ではサーバ装置からデータをダウンロードする処理を説明する。
[装置の構成]
図1のブロック図により実施例のクライアント装置である情報処理装置100の構成例を説明する。CPU101は、RAM103をワークメモリとしてROM102や記憶部107に格納されたOSや各種プログラムを実行し、システムバス105を介して情報処理装置100全体を制御する。
ROM102は、変更を必要としないプログラムやパラメータを格納する不揮発性のメモリである。RAM103は、外部から供給されるプログラムやデータ、CPU101の処理の途中で生成されたデータなどを一時的に記憶する揮発性のメモリである。また、記憶部107は、HDDやSSDなどの記憶媒体であり、OS、各種ドライバのソフトウェア、ブラウザなどのアプリケーションプログラム、各種データが格納される。
ディスプレイインタフェイス104は、CPU101の制御に従い、各種情報をモニタ108に表示する。ネットワークインタフェイス106は、CPU101の制御に従い、有線または無線ネットワーク109を介した通信を行う。汎用インタフェイス110は、例えばUSBなどのインタフェイスであり、ユーザ指示を入力するためのマウスやキーボードなどの入力デバイス、メモリカードリーダライタなどを含む各種の入出力デバイス111が接続可能である。
情報処理装置100は、パーソナルコンピュータ(PC)、あるいは、携帯電話、スマートフォン、タブレットデバイスなどの携帯デバイスである。携帯デバイスの場合、タッチパネル機能を有するモニタ108が情報処理装置100に一体に組み込まれる場合がある。
[ブラウザの処理]
図2のブロック図により複数のWebページを閲覧する際のブラウザ200の処理構成を説明する。なお、CPU101は、ユーザ指示に従い、ブラウザ200を起動する。ブラウザ200は、ユーザ指示に従い、図2に示す例においては三つのウェブサイト(Webサイト)にアクセスし、各WebサイトのWebページを各タブウィンドウに表示する。
図2において、ブラウザ200は、Webサイト201-203にアクセスし、各Webサイトとの間でセッション204-206を開始し、タブウィンドウ207-209にWebページを表示する。ブラウザ200は、各タブウィンドウに対応して次の構成を有する。なお、各タブウィンドウに対応する構成は同様であるから、タブウィンドウ207に対応する構成だけを説明する。
データ通信部210は、HTTPプロトコルを使用して、セッション204を介してWebサイト201のサーバ装置との間でヘッダとペイロードから構成されるデータの通信を行う。HTTPレスポンス・リクエスト処理部211は、データ通信部210から入力されるデータをレスポンスデータとして処理し、処理の結果に応じてリクエストデータを生成して、生成したリクエストデータをデータ通信部210に出力するデータ処理部である。エラー情報受信部212は、後述するエラー情報を受信する。
また、ブラウザ200は、タブウィンドウから独立した次の構成を有する。エラー検出部213は、データ通信部210やHTTPレスポンス・リクエスト処理部211で発生したエラーを検出し、検出したエラーを示すエラー情報をRAM103または記憶部107に割り当てられたエラー保存部214に格納する。エラー通知部215は、エラー検出部213がエラーを検出すると、当該エラーを示すエラー情報を各タブウィンドウに対応するエラー情報受信部212に出力する。
エラー検出部213とエラー通知部215は、ブラウザ200の初期の構成ではなく、ブラウザ200に後から組み込み可能な所謂アドオンとして作成し、記録媒体やネットワークを介してブラウザ200に組み込んでもよい。
図3のフローチャートによりブラウザ200の処理を説明する。なお、ブラウザ200が、例えばタブウィンドウ207に対応する処理を開始するとして説明を行う。ブラウザ200は、エラー保存部214にエラー情報が格納されている否かを判定し(S301)、エラー情報が格納されている場合、データ通信部210の通信プロトコルをHTTP 2.0からHTTP 1.1に変更する(S302)。
次に、ブラウザ200は、データ通信部210によってセッション204を開始し、Webサイト201のサーバ装置にリクエストデータを送信する(S303)。その際、ブラウザ200は、クライアント装置上で新しく一つのプロセスを立ち上げ、そのプロセス上でセッションを開始する。同様に、タブウィンドウ208、209に対応するセッションを開始する場合も、新たなプロセスを立ち上げる。
次に、ブラウザ200は、セッション204を終了するか否かを判定する(S304)。セッション204を終了する場合は、データ通信部210によってセッション204を終了し(S315)、タブウィンドウ207に対応する処理を終了する(対応するプロセスを終了する)。一方、セッション204を終了しない場合は、エラー情報受信部212がエラー情報を受信したか否かを判定する(S305)。
エラー情報を受信していないと判定した場合、ブラウザ200は、データ通信部210によってWebサイト201のサーバ装置との間でデータの送受信を行う(S306)。そして、HTTPレスポンス・リクエスト処理部213によって、受信したデータをHTTPのレスポンスデータとして処理を行い、処理の結果に応じてHTTPのリクエストデータを生成する(S307)。
データの送受信およびレスポンスデータの処理中、エラー検出部213は、エラーの発生を監視する(S308)。エラーが発生しなかった場合、ブラウザ200は、処理をステップS304に戻して処理を継続する。一方、エラーが発生した場合、エラー通知部215は、全セッションに対応するエラー情報受信部212にエラー情報を通知し(S309)、エラー検出部213は、エラー情報をエラー保存部214に格納する(S310)。
例えば、タブウィンドウ207-209が開いていて、タブウィンドウ207のHTTPレスポンス処理中にエラーが発生した場合、エラー通知部215は、全タブウィンドウに対応するエラー情報受信部212にエラー情報を通知する。エラー情報の通知方法には、例えば、クライアント装置の実装に依存するプロセス間通信の仕組みを利用する。例えばC言語による実装の場合、pipe()関数やsocket()関数を使ってプロセス間通信を実現することができる。
ステップS305でエラー情報を受信したと判定した場合、または、ステップS310でエラー情報を格納した後、ブラウザ200は、通信プロトコルがHTTP 1.1に変更済みか否かを判定する(S311)。通信プロトコルが変更済みの場合、ブラウザ200は、データ通信部210によってセッション204を終了し(S315)、タブウィンドウ207に対応する処理を終了する。一方、通信プロトコルが未変更の場合、ブラウザ200は、データ通信部210によってセッション204を終了する(S312)。そして、データ通信部210の通信プロトコルをHTTP 2.0からHTTP 1.1に変更し(S313)、データ通信部210によってセッション204を再開して(S314)、処理をステップS304に戻す。
図3に示す処理をクライアント装置上で開いているタブウィンドウすべてにおいて実行し、すれば、複数のセッションの間で非同期的にエラー情報を共有し、エラー情報に応じてデータ通信部210を制御することができる。
●同一ドメインにおけるエラー情報のみの共有
上記では、エラー情報を共有する例を説明したが、同一ドメインにおけるエラー情報のみを共有してもよい。また、エラー保存部214に格納されるエラー情報には、エラーが発生した際の接続先のドメイン情報を付加することができる。図4のフローチャートにより同一ドメインのエラー情報のみを共有する場合の処理を説明する。なお、図4において、図3の処理と同一の処理には同一符号を付し、詳細説明を省略する場合がある。
図3に示す処理との第一の違いは次のとおりである。ブラウザ200は、エラー保存部214にエラー情報が格納されていた場合、これから接続するドメインがエラー情報に付加されたドメイン情報に一致するか否か(同一ドメインか否か)を判定する(S321)。そして、同一ドメインの場合はデータ通信部210の通信プロトコルをHTTP 2.0からHTTP 1.1に変更し(S302)、ドメインが異なる場合は通信プロトコルの変更を行わない。
第二の違いは、全セッションに対応するエラー情報受信部212に通知するエラー情報にドメイン情報を付加する(S323)ことと、エラー保存部214にドメイン情報を付加したエラー情報を格納する(S324)ことである。
第三の違いは次のとおりである。ブラウザ200は、ステップS305でエラー情報受信部212がエラー通知を受信したと判定した後、当該エラー情報に付加されたドメイン情報と接続先のドメインが一致するか否かを判定する(S322)。そして、同一ドメインの場合は処理をステップS311(通信プロトコルが変更済みか否かの判定)に進め、ドメインが異なる場合は処理をステップS306(データ受信)に進める。
図4に示す処理をクライアント装置上で開いているタブウィンドウすべてにおいて実行すれば、複数のセッションの間で非同期的に同一ドメインのエラー情報を共有し、エラー情報に応じてデータ通信部210を制御することができる。
以下、本発明にかかる実施例2の情報処理装置および情報処理方法を説明する。なお、実施例2において、実施例1と略同様の構成については、同一の符号を付して、その詳細な説明を省略する。
実施例2として、HTTP 2.0において指定可能なウィンドウサイズ(受信バッファサイズ)を全セッションにおいて共有する例を説明する。組込機器などメモリ量が少ない機器においては、適切なウィンドウサイズへの動的な切り替えが求められる。実施例2では、ウィンドウサイズに関するエラーが発生した場合、セッションを終了し、適切なウィンドウサイズへの変更を試み、セッションを再開する例を説明する。また、実施例1と同様に、サーバ装置からデータをダウンロードする処理を説明する。
図5のブロック図により実施例2におけるブラウザ200の処理構成を説明する。図5において図2に示す処理構成と異なるのは、エラー通知部215がウィンドウサイズを含むエラー情報を通知するウィンドウサイズ通知部231に置き換わることである。また、ウィンドウサイズ通知部231によってウィンドウサイズが格納されるウィンドウサイズ保存部230が追加されている。
図6のフローチャートにより実施例2におけるブラウザ200の処理を説明する。なお、ブラウザ200が、例えばタブウィンドウ207に対応する処理を開始するとして説明を行う。ブラウザ200は、ウィドウサイズ保存部230にウィンドウサイズが格納されている否かを判定する(S401)。そして、ウィンドウサイズが格納されている場合は、当該ウィンドウサイズをデータ通信部210に設定する(S402)。
次に、ブラウザ200は、データ通信部210によってセッション204を開始し、Webサイト201のサーバ装置にリクエストデータを送信する(S403)。続いて、セッション204を終了するか否かを判定し(S404)、セッション204を終了する場合は、データ通信部210によってセッション204を終了し(S413)、タブウィンドウ207に対応する処理を終了する。
また、セッション204を終了しない場合、ブラウザ200は、タブウィンドウ207に対応するエラー情報受信部212がエラー情報を受信したか否かを判定する(S405)。エラー情報を受信したと判定した場合、ブラウザ200は、受信したエラー情報に含まれるウィドウサイズをデータ通信部210に設定し(S412)、処理をステップS404に戻して処理を継続する。
また、ウィンドウサイズを受信していないと判定した場合、ブラウザ200は、データ受信部210によってWebサイト201のサーバ装置との間でデータの送受信を行う(S406)。そして、HTTPレスポンス・リクエスト処理部213によって、受信したデータをHTTPのレスポンスデータとして処理を行い、処理の結果に応じてHTTPのリクエストデータを生成する(S407)。
データの送受信およびレスポンスデータの処理中、エラー検出部213は、ウィンドウサイズエラーが発生したか否かを判定する(S408)。ウィンドウサイズエラーは、ブラウザ200が所定のメモリ量よりも多くのメモリを使った場合に発生するエラーである。ウィンドウサイズエラーが発生した場合、メモリ使用量を低減するために、ウィンドウサイズを小さくする必要がある。ただし、小さくするとデータ通信速度が低下するため、ウィンドウサイズを少しずつ小さくする手法が望ましい。
ウィンドウサイズエラーが未発生の場合、ブラウザ200は、処理をステップS404に戻して処理を継続する。一方、ウィンドウサイズエラーが発生した場合、ウィンドウサイズ通知部231は、適切なウィンドウサイズを計算する(S409)。そして、計算したウィンドウサイズを含むエラー情報を全セッションに対応するエラー情報受信部212に通知し(S410)、計算したウィンドウサイズをウィンドウサイズ保存部230に格納し(S411)、処理をステップS412に進める。
図6に示す処理をクライアント装置上で開いているタブウィンドウすべてにおいて実行すれば、適切なウィンドウサイズを共有し、ウィンドウサイズに応じてデータ通信部210を制御することができる。
以下、本発明にかかる実施例3の情報処理装置および情報処理方法を説明する。なお、実施例3において、実施例1、2と略同様の構成については、同一の符号を付して、その詳細な説明を省略する。
実施例3では、HTTP 2.0に規定されたエラーの種類に応じてブラウザ200の処理を分岐する例を説明する。また、実施例1と同様に、サーバ装置からデータをダウンロードする処理を説明する。なお、ブラウザ200の処理構成は図2と同様である。
図7によりHTTP 2.0が規定するエラーとエラー情報を受信した場合の処理の関係を説明する。図7の左側の三つのカラムは、現在、HTTP 2.0に規定されたエラーの名称、値、内容を示す。クライアント装置やサーバ装置上で動作する通信プログラムは、エラーの値によって、発生したエラーの種類に応じた処理に分岐することができる。実施例3においては、図7に示す12種類のエラーに応じて、次の四種類の処理を選択的に実行する例を説明する。
(1)サーバ装置との通信を継続する(以下、処理1)、
(2)セッションを終了した後にセッションを再開する(以下、処理2)、
(3)セッションを終了した後に通信プロトコルを変更(2.0→1.1)してセッションを再開する(以下、処理3)、
(4)サーバ装置との通信を終了する(以下、処理4)。
ただし、これは一例であって、エラー処理の種類および名称は、ここに示すものに限定されない。
図7の四つ目のカラムは、受信したエラー情報と、エラー情報受信後の処理の対応を示す。NO_ERRORを受信した場合はエラーなしと判定され、処理1が行われる。また、PROTOCOL_ERRORを受信した場合は原因を特定することができないため処理3が行われる。なお、ブラウザ200にエラーカウンタをもたせ、PROTOCOL_ERRORを受信した回数をカウントして、カウント値が所定数以上となった場合は処理4を行ってもよい。
INTERNAL_ERROR、STREAM_CLOSED、FRAME_SIZE_ERROR、REFUSED_STREAM、CANCELを受信した場合は、セッション終了後、セッションを再開すればエラーが発生しない可能性がある。そこで、これらのエラー情報を受信した場合は処理2が行われる。
FLOW_CONTROL_ERROR、SETTINGS_TIMEOUT、COMPRESSION_ERRORを受信した場合、HTTP 2.0のフロー制御処理、SETTINGSフレーム処理、ヘッダ圧縮でエラーが発生したと考えられる。この場合、再びHTTP 2.0によって接続しても同様のエラーが発生する可能性がある。そのため、処理3が行われる。
CONNECT_ERROR、ENHANCE_YOUR_CALMを受信した場合、通信プロトコルに関わらずセッションを再開してもエラーが発生する可能性がある。そのため、処理4が行われる。
図8のフローチャートにより実施例3におけるブラウザ200の処理を説明する。なお、ブラウザ200が、例えばタブウィンドウ207に対応する処理を開始するとして説明を行う。ブラウザ200は、まず、データ通信部210に通信プロトコルにHTTP 2.0を設定し(S601)、データ通信部210によってセッション402を開始し、Webサイト201のサーバ装置にリクエストデータを送信する(S602)。
次に、ブラウザ200は、セッション402を終了するか否かを判定する(S603)。セッションを終了する場合は、データ通信部210によってセッション204を終了し(S611)、タブウィンドウ207に対応する処理を終了する。
また、セッション204を終了しない場合、ブラウザ200は、エラー情報受信部212がエラー情報を受信したか否かを判定する(S604)。エラー情報を受信していないと判定した場合、ブラウザ200は、データ受信部210によってWebサイト201のサーバ装置との間でデータの送受信を行う(S605)。そして、HTTPレスポンス・リクエスト処理部213によって、受信したデータをHTTPのレスポンスデータとして処理を行い、処理の結果に応じてHTTPのリクエストデータを生成する(S606)。
データの送受信およびレスポンスデータの処理中、エラー検出部213は、エラーの発生を監視する(S607)。エラーが発生しなかった場合。ブラウザ200は、処理をステップS603に戻して処理を継続する。一方、エラーが発生した場合、エラー通知部215は、全セッションに対応するエラー情報受信部212にエラー情報を通知し(S608)、処理をステップS609に進める。エラー検出部213は、検出したエラーが図7に示すエラーの何れに相当するかを判定し、判定したエラーに対応する値をエラー情報に含める。また、図8においては省略するが、実施例1と同様に、エラー検出部213はエラー情報をエラー保存部214に格納する。
ステップS604でエラー情報を受信したと判定した場合、または、ステップS608でエラー情報が通知された場合、ブラウザ200は、エラー情報の値(以下、エラー値)が0か否かを判定する(S609)。エラー値が0の場合は処理をステップS603に戻すことで「処理1」を実行する。一方、エラー値が0以外の場合は、エラー値が10または420かを判定し(S610)、エラー値が10または420の場合は、データ通信部210によってセッション204を終了する(S611)。つまり「処理4」を実行してタブウィンドウ207に対応する処理を終了する。
エラー値が10または420ではない場合、ブラウザ200は、、データ通信部210によってセッション204を終了し(S612)、エラー値が1、3、4または9かを判定する(S613)。エラー値が1、3、4、9の何れでもない場合、ブラウザ200は、データ通信部210の通信プロトコルをHTTP 2.0からHTTP 1.1に変更し(S614)、データ通信部210によってセッションを再開する(S615)。つまり「処理3」を実行する。また、エラー値が1、3、4、9の何れかの場合、ブラウザ200は、通信プロトコルを変更せずに、データ通信部210によってセッションを再開する(S615)。つまり「処理2」を実行する。その後、ブラウザ200は、処理をステップS603に戻す。
実施例1においてはセッションにおいて発生したエラーの種類に関わらず、通信プロトコルを変更する例を説明したが、実施例3においては、エラーの種類に応じて通信プロトコルの選択的な変更を行うことができる。その結果、サーバ装置との通信にHTTP 2.0を使う機会を増やすことが可能になる。
[その他の実施例]
本発明は、上述の実施形態の一以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける一以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、一以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
200 … ブラウザ、210 … データ通信部、211 … HTTPレスポンス・リクエスト処理部、213 … エラー検出部、215 … エラー通知部

Claims (12)

  1. ウェブサイトの情報を閲覧するための閲覧手段を有し、
    前記閲覧手段は、複数の処理手段、前記処理手段において発生したエラーを検出する検出手段、および、前記検出手段がエラーを検出するとエラーに関するエラー情報を前記複数の処理手段に通知する通知手段を有し、
    前記複数の処理手段はそれぞれ、前記ウェブサイトのサーバ装置との間でデータ通信を行う通信手段、および、前記通信手段から入力されるデータをレスポンスデータとして処理し、前記処理の結果に応じてリクエストデータを生成して、前記生成したリクエストデータを前記通信手段に出力するデータ処理手段を有し、
    前記処理手段は、受信したエラー情報に基づき前記通信手段を制御する情報処理装置。
  2. 前記エラー情報を受信した場合、前記処理手段は、前記通信手段がデータ通信に用いる通信プロトコルを変更する請求項1に記載された情報処理装置。
  3. 前記情報処理装置は、前記エラー情報が格納される格納手段を有し、
    前記格納手段にエラー情報が格納されている場合、前記処理手段は、前記通信手段がデータ通信を開始する前に、前記通信プロトコルの変更を行う請求項2に記載された情報処理装置。
  4. 前記エラー情報には、エラーが発生した際の接続先のドメイン情報が含まれ、
    前記処理手段は、前記エラー情報に含まれるドメイン情報と前記通信手段の接続先のドメイン情報が一致する場合に前記通信プロトコルの変更を行う請求項2に記載された情報処理装置。
  5. 前記情報処理装置は、前記エラー情報が格納される格納手段を有し、
    前記格納手段にエラー情報が格納され、かつ、前記エラー情報に含まれるドメイン情報と前記通信手段の接続先のドメイン情報が一致する場合、前記処理手段は、前記通信手段がデータ通信を開始する前に、前記通信プロトコルの変更を行う請求項4に記載された情報処理装置。
  6. 前記通信プロトコルはHTTP 2.0からHTTP 1.1に変更される請求項2から請求項5の何れか一項に記載された情報処理装置。
  7. 前記エラー情報を受信した場合、前記処理手段は、前記通信手段のウィンドウサイズを前記エラー情報が示すウィンドウサイズに変更する請求項1に記載された情報処理装置。
  8. 前記情報処理装置は、前記エラー情報が格納される格納手段を有し、
    前記格納手段にエラー情報が格納されている場合、前記処理手段は、前記通信手段がデータ通信を開始する前に、前記通信手段のウィンドウサイズの変更を行う請求項7に記載された情報処理装置
  9. 前記エラー情報には、検出されたエラーの種類を示す情報が含まれ、
    前記処理手段は、前記エラーの種類に応じて前記通信手段を制御する請求項1に記載された情報処理装置。
  10. ウェブサイトの情報を閲覧するための閲覧手段の情報処理方法であって、
    前記閲覧手段が、複数の処理手段、前記処理手段において発生したエラーを検出する検出手段、および、前記検出手段がエラーを検出するとエラーに関するエラー情報を前記複数の処理手段に通知する通知手段を有し、
    前記複数の処理手段がそれぞれ、前記ウェブサイトのサーバ装置との間でデータ通信を行う通信手段、および、前記通信手段から入力されるデータをレスポンスデータとして処理し、前記処理の結果に応じてリクエストデータを生成して、前記生成したリクエストデータを前記通信手段に出力するデータ処理手段を有し、
    前記処理手段が、受信したエラー情報に基づき前記通信手段を制御する情報処理方法。
  11. コンピュータを請求項1から請求項9の何れか一項に記載された情報処理装置の各手段として機能させるためのプログラム。
  12. 請求項11に記載されたプログラムが記録されたコンピュータが読み取り可能な記録媒体。
JP2014139160A 2014-07-04 2014-07-04 情報処理装置および情報処理方法 Active JP6389661B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014139160A JP6389661B2 (ja) 2014-07-04 2014-07-04 情報処理装置および情報処理方法
PCT/JP2015/002226 WO2016002118A1 (ja) 2014-07-04 2015-04-24 情報処理装置および情報処理方法
US15/367,268 US10735245B2 (en) 2014-07-04 2016-12-02 Information processing apparatus and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014139160A JP6389661B2 (ja) 2014-07-04 2014-07-04 情報処理装置および情報処理方法

Publications (3)

Publication Number Publication Date
JP2016018281A true JP2016018281A (ja) 2016-02-01
JP2016018281A5 JP2016018281A5 (ja) 2017-08-10
JP6389661B2 JP6389661B2 (ja) 2018-09-12

Family

ID=55018702

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014139160A Active JP6389661B2 (ja) 2014-07-04 2014-07-04 情報処理装置および情報処理方法

Country Status (3)

Country Link
US (1) US10735245B2 (ja)
JP (1) JP6389661B2 (ja)
WO (1) WO2016002118A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020511811A (ja) * 2017-02-17 2020-04-16 ディビックス, エルエルシー 適応ビットレートストリーミングの間の複数のコンテンツ配信ネットワーク間の適応切替のためのシステムおよび方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111259300B (zh) * 2020-01-17 2023-05-19 苏宁云计算有限公司 一种页面加载方法、装置、系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007265356A (ja) * 2006-03-30 2007-10-11 Nec Access Technica Ltd 通信プロトコルを用いた相互接続方法および装置
JP2009075850A (ja) * 2007-09-20 2009-04-09 Canon Inc 情報処理装置、情報処理方法、ならびにそのプログラムおよび記憶媒体
JP2012073744A (ja) * 2010-09-28 2012-04-12 Nec Corp 通信端末、通信システム、セッション管理方法、及びプログラム
WO2014002337A1 (ja) * 2012-06-25 2014-01-03 日本電気株式会社 通信制御装置及び通信制御方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07288630A (ja) 1994-04-20 1995-10-31 Canon Inc 画像処理装置
US5905582A (en) 1994-11-14 1999-05-18 Canon Kabushiki Kaisha Image processing apparatus for processing image data in response to signals from an external apparatus
JPH08139900A (ja) 1994-11-14 1996-05-31 Canon Inc 画像通信装置
US5835724A (en) * 1996-07-03 1998-11-10 Electronic Data Systems Corporation System and method for communication information using the internet that receives and maintains information concerning the client and generates and conveys the session data to the client
US6049597A (en) 1996-10-29 2000-04-11 Canon Kabushiki Kaisha Data communication system between a personal computer and facsimile machine through an interface
US6442252B1 (en) 1997-09-05 2002-08-27 Canon Kabushiki Kaisha Communication apparatus
GB2330430B (en) * 1997-10-16 2002-07-17 Ibm Error handler for a proxy server computer system
JP2001078044A (ja) 1999-09-07 2001-03-23 Canon Inc 画像通信装置及び方法
US7047309B2 (en) * 2000-08-23 2006-05-16 International Business Machines Corporation Load balancing and dynamic control of multiple data streams in a network
US20040019636A1 (en) * 2002-07-24 2004-01-29 Sun Microsystems, Inc. System and method for dynamically routing web procedure calls
JP4557028B2 (ja) * 2008-03-19 2010-10-06 ソニー株式会社 情報処理装置、情報処理方法、クライアント機器、情報処理システム
US20130061159A1 (en) * 2011-09-01 2013-03-07 Erick Tseng Overlaid User Interface for Browser Tab Switching

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007265356A (ja) * 2006-03-30 2007-10-11 Nec Access Technica Ltd 通信プロトコルを用いた相互接続方法および装置
JP2009075850A (ja) * 2007-09-20 2009-04-09 Canon Inc 情報処理装置、情報処理方法、ならびにそのプログラムおよび記憶媒体
JP2012073744A (ja) * 2010-09-28 2012-04-12 Nec Corp 通信端末、通信システム、セッション管理方法、及びプログラム
WO2014002337A1 (ja) * 2012-06-25 2014-01-03 日本電気株式会社 通信制御装置及び通信制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020511811A (ja) * 2017-02-17 2020-04-16 ディビックス, エルエルシー 適応ビットレートストリーミングの間の複数のコンテンツ配信ネットワーク間の適応切替のためのシステムおよび方法
US11343300B2 (en) 2017-02-17 2022-05-24 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
JP7275033B2 (ja) 2017-02-17 2023-05-17 ディビックス, エルエルシー 適応ビットレートストリーミングの間の複数のコンテンツ配信ネットワーク間の適応切替のためのシステムおよび方法

Also Published As

Publication number Publication date
WO2016002118A1 (ja) 2016-01-07
JP6389661B2 (ja) 2018-09-12
US10735245B2 (en) 2020-08-04
US20170085416A1 (en) 2017-03-23

Similar Documents

Publication Publication Date Title
CN106484383B (zh) 页面渲染方法、装置及设备
JP5982586B2 (ja) ハイブリッドアプリケーションのためのリソース呼び出し
US11409584B2 (en) Cross-application data sharing
US9195525B2 (en) Method and apparatus for generating a web-based user interface
US8745164B2 (en) Method and system to detect a cached web page
US8387140B2 (en) Method and apparatus for controlling access to encrypted network communication channels
US20150007278A1 (en) Authentication for single page web interfaces
US20130160113A1 (en) Computing apparatus and method for operating application
CN105740330B (zh) 分页展示数据的方法及装置
EP3343337A1 (en) Method and device for controlling screen between terminals, and storage medium
JP5962702B2 (ja) 画像形成装置、ウエブアプリケーションシステムおよびプログラム
CN112400170A (zh) 配置、实施和监控可信执行环境的分离
US20150067024A1 (en) Autobatching
JP2009157648A (ja) 通信端末、通信方法および通信プログラム
JP2016529627A (ja) ブラウザリソースの表示方法及び装置、並びにコンピュータ可読記憶媒体
US11606349B2 (en) Authentication token refresh
JP6389661B2 (ja) 情報処理装置および情報処理方法
US10789573B2 (en) Method and system for streamlining voting process
GB2575703A (en) Protocol to initiate session with partner site
WO2019052170A1 (zh) 实现用户免登录的方法、装置、设备、计算机存储介质
Nebeling et al. Context-aware and adaptive web interfaces: A crowdsourcing approach
CN107592373B (zh) 一种多域名页面的信息请求方法、装置及用户终端
JP6285974B2 (ja) サーバシステム、クライアント装置及びプログラム
CN103701849A (zh) 用于通过用户设备对移动设备进行操作的方法与设备
US20230269322A1 (en) Cross-channel configurable navigation

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170628

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171222

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: 20180720

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180820

R151 Written notification of patent or utility model registration

Ref document number: 6389661

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151