JP6089363B2 - ネットワーク通信システム、サーバプッシュ通信制御サーバ、クライアント端末、サーバプッシュ通信制御方法、情報処理方法、およびプログラム - Google Patents

ネットワーク通信システム、サーバプッシュ通信制御サーバ、クライアント端末、サーバプッシュ通信制御方法、情報処理方法、およびプログラム Download PDF

Info

Publication number
JP6089363B2
JP6089363B2 JP2013019190A JP2013019190A JP6089363B2 JP 6089363 B2 JP6089363 B2 JP 6089363B2 JP 2013019190 A JP2013019190 A JP 2013019190A JP 2013019190 A JP2013019190 A JP 2013019190A JP 6089363 B2 JP6089363 B2 JP 6089363B2
Authority
JP
Japan
Prior art keywords
content
server
frame
update request
communication control
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
JP2013019190A
Other languages
English (en)
Other versions
JP2014149759A (ja
JP2014149759A5 (ja
Inventor
恒生 小川
恒生 小川
Original Assignee
株式会社ウェブサービス・ディベロップメント
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 株式会社ウェブサービス・ディベロップメント filed Critical 株式会社ウェブサービス・ディベロップメント
Priority to JP2013019190A priority Critical patent/JP6089363B2/ja
Publication of JP2014149759A publication Critical patent/JP2014149759A/ja
Publication of JP2014149759A5 publication Critical patent/JP2014149759A5/ja
Application granted granted Critical
Publication of JP6089363B2 publication Critical patent/JP6089363B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ネットワーク通信システムに関し、特に、サーバプッシュ通信を用いたネットワーク通信システムに関するものである。
従来、HTTPプロトコルのウェブアプリケーションは、HTTPプロトコルが一方向の半二重通信しかサポートしないという点で、制約を受けている。具体的には、アプリケーションの起点がクライアント側のブラウザであり、バックエンドシステム(サーバシステム)への要求という一方向の通信のみサポートするということである。つまり、従来のブラウザとサーバからなるウェブシステムは、一方向の半二重の通信チャネルシステムということである。従って、従来のクライアント/サーバアプリケーションのモデルと比較すると、HTTPプロトコルでは、クライアント側が種々のバックエンドシステムと連続的なピアツーピアや全二重通信接続又は双方向半二重通信接続ができないようになっている。加えて、リアルタイムアプリケーション領域では、HTMLコンテンツでの複数のユーザが能動的に情報を共有する、リアルタイムサービスの需要が増加している。
一方、従来のウェブブラウザベースのクライアントアプリケーションは、データ要求及び応答が一方向に流れる通信として制約されている。双方向通信をエミュレートする従来の試みは、例えば、コメット・アンド・リバース・アジャック(Comet and Reverse Ajax)において具現化されるポーリング技術がある。これによれば、サーバ側からクライアント側へ情報をプッシュすることができるように見える。このCometアプリケーションは、ストリーミングおよびロングポーリングの2つの主要なカテゴリに分類できる。
ストリーミングComet(非特許文献1参照)を使用するアプリケーションでは、要求イベントに応じクライアントのブラウザからサーバに接続するために単一の持続的な接続を持つ。サーバは新しい応答イベントを送信するたびに、クライアント側で受信し実行する。ストリーミングCometを達成するための具体的なテクニックは、非表示のiframeとXMLHttpRequestがある。
非表示のiframeは、動的なウェブアプリケーションの基本的なテクニックであり、“永遠フレーム”と呼ばれる。iframeで受信完了イベントが発生すると、各scriptがブラウザで実行する。非表示のiframeの方法の一つの利点は、すべての一般的なブラウザで動作することで、2つの欠点は、信頼性のあるエラー処理方法の欠如、およびリクエスト呼び出しプロセスの状態を追跡することが不可能なことである。
XMLHttpRequest(XHR)は、ブラウザとサーバ間の通信のためのAjaxアプリケーションで使用されるサーバブラウザコメットメッセージング(server−browser Comet messaging)のためのツールである。XHRはストリーミングコメットトランスポートとして使用することができ、マルチパートの応答を受け入れる。XHRが提供するonreadystatechangeは各メッセージが到着すると、イベントに割当てたコールバック関数を呼び出す。XHRストリーミングはリーミング接続を確立するのにHTTPヘッダパケットを一度しか送信しないため、最小のオーバーヘッドしか課さない。しかしXHRストリーミングは、ルーティング経路による予想不能な接続/切断及び実質的なバッファリング待ち時間の影響受けるため、信頼できない。
また、直接的ポーリングのオーバーヘッドを回避するために、ロングポーリングとして知られる方法が開発された(非特許文献2参照)。非同期ポーリングとしても知られているロングポーリングは、ターゲットウェブサーバシステムに要求を発行し、即座の応答を与えるのではなく、サーバはある定義されたインターバルまで遅延し、新たな情報が応答として与えられるのを待機する。このようにロングポーリングは、クライアントがイベント(またはイベントのセット)のためにサーバをポーリングする必要がある。そして、ブラウザからサーバにAjaxスタイルの要求を行い、サーバから完全な応答をブラウザに送信する。その後、ブラウザが後続のイベントを取得するために、新しい長いポーリング要求を開始する。このロングポーリングを達成するための具体的な技術は、XMLHttpRequestのロングポーリングと、Scriptタグのロングポーリングがある。
XMLHttpRequestのロングポーリングは、XHRの標準的な使用と同じように動作する。ブラウザが応答する前に、利用できるようにデータを待つ可能性のあるサーバの非同期要求を行う。応答は、エンコードされたデータ形式またはJavaScript(登録商標)である。レスポンスの処理の終了時に、ブラウザは次のイベントを待つために、別のXHRを作成して送信する。したがって、ブラウザは常に各イベントが発生したように、サーバにリクエストを送る。
iframeまたはXMLHttpRequestとは異なり、Scriptタグによる任意のURIによって得られたJavaScript(登録商標)コードは、カレントのHTMLドキュメントで実行される。ロングポーリングコメットトランスポートは動的に作成することによって作成することができる。このメソッドは、クロスドメインの実装を可能にしながら、クロスブラウザであるという利点がある。この方法の欠点は、関与するサーバの潜在的なセキュリティリスクがあり、合わせて複雑さやパフォーマンスの理由から望ましくない。
なお、この種の関連する技術として、特許文献1に記載されたものが挙げられる。
Wikipedia(http://ja.wikipedia.org/wiki/Comet) Wikipedia(http://ja.wikipedia.org/wiki/XMLHttpRequest#.E3.83.AD.E3.83.B3.E3.82.B0.E3.83.9D.E3.83.BC.E3.83.AA.E3.83.B3.E3.82.B0)
特開2010−55560号公報
ここで、ウェブソケット等のWeb技術を用いれば、TCP接続による全二重シングルを介した通信チャネルを提供することができる。特にウェブソケットのAPIはW3Cによって標準化され、ウェブソケットのプロトコルはIETFとしてRFC6455によって標準化されており、インディペンデントなTCPベースのプロトコルである。これは、サーバがクライアントによって要求されることなく、ブラウザにコンテンツを送信するための標準化された方法を提供し、接続を開いたままのメッセージを前後に渡されることを可能にすることによって実現している。この利点は、単一のTCP/IP接続で非同期の双方向ストリーミングが完全にできるだけでなく、HTTPヘッダが少なくて済むという点であり、さらに重要なのはブラウザからでもサービスからでも同じメッセージフォーマットを使えば済むことである。
しかし、ウェブソケットを用いたウェブアプリケーション開発は、これまでのHTTPプロトコルを用いたサーバでページを生成するサーバサイドアプリケーションになじまないものである。このため、ウェブソケットとAjaxの組み合わせによるサーバプッシュ機能を、これまでのComet技術と置き換えることにより、従来のウェブアプリケーション開発のスタイルからの変更点を最小限として、ウェブアプリケーションを開発することが望まれている。つまり、ビジネス及び他の商業的サービス、リクリエーション及び情報を含む全ての特性のウェブサービスにアクセスすることに使用できるウェブアプリケーションに対し、ウェブソケットとAjaxの組み合わせによるサーバプッシュ機能を代替する容易な手段が要望されている。
本発明は、このような事情に鑑みてなされたものであり、ウェブソケット等の全二重通信技術とAjax等の半二重通信技術の組み合わせによってなされるもので、サーバ側が起点となって出されるサーバプッシュ要求をブラウザ側で受信し、受信したイベントを介してブラウザからサーバプッシュ・データを取得するための要求を送出することによる、双方向の半二重の通信チャネルシステムを形成するネットワーク通信システムを提供することを目的とする。
上記課題を解決するため、本発明は、複数台のウェブサーバから成るシステムで、バックエンドのアプリケーションサーバ(コンテンツサーバ)をサービス毎に分散させておきながら、ユーザから利用するサービスポイントは1つとする構成であるウェブアプリケーションのネットワーク通信システムにおいて、それぞれのサービスからサーバプッシュ要求を受け取り、クライアント端末のブラウザにサーバプッシュ要求を送出するサーバプッシュ通信制御サーバと、クライアント端末のブラウザでサーバプッシュ要求を受け取る機構と合わせてサーバプッシュ・データを取得するための要求を送出するプログラムで構成される。
詳しくは、第一の発明は、複数のコンテンツサーバと、サーバプッシュ通信制御サーバと、これらをシングルドメインとして構成するリバースプロキシサーバと、を備えるサーバシステムと、クライアント端末上で、複数のコンテンツフレーム及びサーバプッシュ通信制御フレームを備えたブラウザと、が所定のネットワークを介して繋がるネットワーク通信システムであって、前記ブラウザの前記複数のコンテンツフレームの各々は、前記複数のコンテンツサーバの各々と1対1で対応しており、対応するコンテンツサーバからの情報に応じて、各コンテンツフレームの表示が決定されるようになっており、前記複数のコンテンツサーバのうちの一のコンテンツサーバで、前記複数のコンテンツフレームのうちの対応する一のコンテンツフレームの一の更新要求が発生すると、前記一のコンテンツサーバが、前記サーバプッシュ通信制御サーバに前記一の更新要求を送信し、前記サーバプッシュ通信制御サーバが、受信した前記一の更新要求を、前記リバースプロキシサーバを介して、前記ブラウザの前記サーバプッシュ通信制御フレームに送信し、前記サーバプッシュ通信制御フレームが、受信した前記一の更新要求を、対応する前記一のコンテンツフレームに送信し、前記一のコンテンツフレームが、受信した前記一の更新要求に基づき、対応する前記一のコンテンツサーバに対して一の更新情報要求を送信し、前記一のコンテンツサーバが、受信した前記一の更新情報要求に応じて、一の更新情報を前記一のコンテンツフレームに送信し、前記一のコンテンツフレームが、受信した前記一の更新情報に基づき、表示を更新するように構成されたネットワーク通信システムとしたことを特徴とする。
ここで、クライアント端末のブラウザとサーバプッシュ通信制御サーバとの間では、TCP/IPベースの通信接続を確立し、クライアント端末のブラウザはサーバプッシュ通信制御サーバからのリクエストを常に待つ。TCP/IPベースの通信接続は、ソースとターゲット起点との間にセキュアな通信経路を与えるクロス起点通信ブリッジを含む。サーバプッシュ通信制御サーバにおいて、要求識別ウェブアプリケーションサービスに対して規定の関係を有するターゲットサーバによって提供されるターゲット定義サービスへはHTMLでの接続である。
また、第二の発明は、第一の発明の構成に加え、前記サーバプッシュ通信制御サーバが、受信した前記一の更新要求を、前記リバースプロキシサーバを介して、前記ブラウザの前記サーバプッシュ通信制御フレームに送信する通信を、ウェブソケット通信で行うことを特徴とする。
第一の発明によれば、従来のウェブアプリケーション開発のスタイルからの変更点を最小限とした上で、コンテンツサーバ側から更新要求があるまでは、クライアント端末側ではサーバに向けて通信を行わないため、ネットワークに対する通信負荷を劇的に軽減することができ、かつ、所定のサーバプッシュ通信に基づいて、クライアント端末のブラウザで常に新しい情報を表示することができるネットワーク通信システムとすることができる。
また、第二の発明によれば、第一の発明の効果に加え、サーバプッシュ通信制御サーバが、受信した一の更新要求を、リバースプロキシサーバを介して、ブラウザのサーバプッシュ通信制御フレームに送信する通信を、ウェブソケット通信で行うため、具体的に、ネットワークに対する通信負荷を劇的に軽減した上で、クライアント端末のブラウザで常に新しい情報を表示することができる有効な通信システムとすることができる。

本発明の実施の形態に係るネットワーク通信システムの基本構成を示す図である。 本発明の実施の形態に係るネットワーク通信システムを使用したクライアント端末のブラウザの表示例を示す図である。
以下、この発明の実施の形態について図1及び図2を用いて説明する。
図1は、本発明の実施の形態に係るネットワーク通信システムの基本構成を示す図である。また、図2は、本発明の実施の形態に係るネットワーク通信システムを使用したクライアント端末のブラウザの表示例を示す図である。
まず、図1及び図2を用いて本実施の形態のネットワーク通信システムの構成について説明する。
本実施の形態のネットワーク通信システムは、複数のサーバからなるサーバシステム10と、クライアント端末としてのパーソナルコンピュータ上に実装されたブラウザ(Webブラウザ)20が、ネットワークとしてのインターネットNを介して、TCP/IPベースの通信接続を確立して構成されている。
このうち、サーバシステム10は、複数のコンテンツサーバ11,12,13とサーバプッシュ通信制御サーバ14とリバースプロキシサーバ15を有する構成となっている。
複数のコンテンツサーバ11,12,13は、後述するブラウザ20のコンテンツフレーム21,22,23にそれぞれ1対1で対応しており、コンテンツAサーバ11が後述するコンテンツA用フレーム21に表示する情報(ここでは天気情報)を送信するものであり、コンテンツBサーバ12が後述するコンテンツB用フレーム22に表示する情報(ここではカレンダー情報)を送信するものであり、コンテンツCサーバ13が後述するコンテンツC用フレーム23に表示する情報(ここでは時刻情報)を送信するものである。なお、ここでは、コンテンツサーバとしてA〜Cの3つのサーバを挙げているが、これ以外にもコンテンツサーバを有していて、サーバシステム10に4つ以上のコンテンツサーバを有する構成となっていても良い。
サーバプッシュ通信制御サーバ14は、各コンテンツサーバ11,12,13から送信された、対応するコンテンツフレーム21,22,23に対する更新要求を受信し、サーバプッシュ技術を用いて、リバースプロキシサーバ15及びインターネットN等のネットワークを介して、クライアント端末のブラウザ20の各コンテンツフレーム21,22,23に当該更新要求を送信するものである。本実施の形態では、サーバプッシュ技術として、ウェブソケット通信を用いるようになっている。このウェブソケット通信では、サーバシステム10側からサーバプッシュ通信があるまでは、クライアント端末のブラウザ20側から更新情報の要求等の通信を一切行わないため、ネットワークに対する通信負荷を大幅に軽減することができる。
リバースプロキシサーバ15は、サーバプッシュ通信制御サーバ14から送信された各コンテンツサーバ11,12,13からの更新要求を、1のドメインで管理するためのサーバである。これにより、インターネットN等のネットワーク上からは、サーバシステム10全体がシングルドメインの1つのサーバから構成されているかのように見せることができる。
また、ブラウザ20は、複数のコンテンツフレーム21,22,23を有すると共に、サーバプッシュ通信制御フレーム24を有する構成となっている。なお、本実施の形態では、図2に示すような業務管理Webアプリケーションにおける一部のコンテンツフレームに、本発明のネットワーク通信システムを適用したものについて説明する。このため、ブラウザ20上には、本発明のネットワーク通信システムを利用したコンテンツフレーム以外に、業務データを表示する売上管理表フレーム25、実績グラフフレーム26、巡回予定表フレーム27等が表示されるようになっているが、詳しい説明は省略する。
複数のコンテンツフレーム21,22,23は、前記したサーバシステム10のコンテンツサーバ11,12,13にそれぞれ対応しており、図2に示すように、コンテンツA用フレーム21がコンテンツAサーバ11からの更新要求に対応して更新情報を取得してコンテンツの表示(ここでは天気情報の表示)を行うものであり、コンテンツB用フレーム22がコンテンツBサーバ12からの更新要求に対応して更新情報を取得してコンテンツの表示(ここではカレンダー情報の表示)を行うものであり、コンテンツC用フレーム23がコンテンツCサーバ13からの更新要求に対応して更新情報を取得してコンテンツの表示(ここでは時刻情報の表示)を行うものである。なお、ここでは、コンテンツフレームとしてA〜Cの3つのフレームを挙げているが、これ以外にもコンテンツフレームを有していて、ブラウザ20に4つ以上のコンテンツフレームを有する構成となっていても良い。
サーバプッシュ通信制御フレーム24は、各コンテンツサーバ11,12,13からサーバプッシュ通信制御サーバ14、リバースプロキシサーバ15及びインターネットN等のネットワークを介して送信された、各コンテンツフレーム21,22,23に対する更新要求を受信し、各コンテンツフレーム21,22,23に当該更新要求を送信するものである。前記したように、本実施の形態では、サーバプッシュ技術として、ウェブソケット通信を用いるようになっているため、サーバシステム10側からサーバプッシュ通信があるまでは、クライアント端末のブラウザ20側から更新情報の要求等の通信を一切行わないようになっている。これにより、ネットワークに対する通信負荷を大幅に軽減することができる。
次に、このネットワーク通信システムを用いた一のコンテンツフレームの更新に関する制御の流れについて、図1を用いて説明する。
例えば、複数のコンテンツサーバ11,12,13のうちの一のコンテンツサーバとしてのコンテンツAサーバ11で、複数のコンテンツフレーム21,22,23のうちの対応する一のコンテンツフレームとしてのコンテンツA用フレーム21の一の更新要求(最新の天気情報に更新するように求める要求)が発生した場合には、まず、一のコンテンツサーバとしてのコンテンツAサーバ11が、サーバプッシュ通信制御サーバ14に一の更新要求を送信する(矢印(1))。
次に、サーバプッシュ通信制御サーバ14が、コンテンツAサーバ11から受信した一の更新要求を、リバースプロキシサーバ15を介して、ネットワークとしてのインターネットNを通じ、ブラウザ20のサーバプッシュ通信制御フレーム24に送信する(矢印(2))。このとき、通信技術としてウェブソケット通信を用いて送信する。
次に、サーバプッシュ通信制御フレーム24が、コンテンツAサーバ11からサーバプッシュ通信制御サーバ14、リバースプロキシサーバ15及びインターネットNを介して受信した一の更新要求を、対応する一のコンテンツフレームとしてのコンテンツA用フレーム21に送信する(矢印(3))。
次に、一のコンテンツフレームとしてのコンテンツA用フレーム21が、コンテンツAサーバ11からサーバプッシュ通信制御サーバ14、リバースプロキシサーバ15、インターネットN及びサーバプッシュ通信制御フレーム24を介して受信した一の更新要求に基づき、対応する一のコンテンツサーバとしてのコンテンツAサーバ11に対して一の更新情報要求(最新の天気情報の要求)を送信する(矢印(4))。なお、この通信には、Ajax技術を利用している。
次に、一のコンテンツサーバとしてのコンテンツAサーバ11が、一のコンテンツフレームとしてのコンテンツA用フレーム21から受信した一の更新情報要求に応じて、一の更新情報(最新に天気情報)をコンテンツA用フレーム21に送信する(矢印(5))。なお、この通信も、Ajax技術を利用して行う。
そして、コンテンツA用フレーム21が、コンテンツAサーバ11から受信した一の更新情報に基づき、ブラウザ20における当該フレーム21の表示(天気情報)を最新のものに更新する((6)再表示)。
なお、この制御の流れは、他のコンテンツサーバ12,13から対応するコンテンツフレーム22,23に対する更新要求が発生したときも同様である。例えば、コンテンツBサーバ12とコンテンツB用フレーム22の間では、日にち変更があったときに前記したような(1)〜(6)の通信が行われてコンテンツB用フレーム22の日にち表示が更新され、コンテンツCサーバ13とコンテンツC用フレーム23の間では、時刻確認又は時刻調整の情報があったときに前記したような(1)〜(6)の通信が行われてコンテンツC用フレーム23の時刻表示が更新される。
以上のように、本実施の形態では、複数のコンテンツサーバ11,12,13と、サーバプッシュ通信制御サーバ14と、これらをシングルドメインとして構成するリバースプロキシサーバ15と、を備えるサーバシステム10と、クライアント端末上で、複数のコンテンツフレーム21,22,23及びサーバプッシュ通信制御フレーム24を備えたブラウザ20と、が所定のネットワークとしてのインターネットNを介して繋がるネットワーク通信システムであって、前記ブラウザ20の前記複数のコンテンツフレーム21,22,23の各々は、前記複数のコンテンツサーバ11,12,13の各々と1対1で対応しており、対応するコンテンツサーバ11,12,13からの情報に応じて、各コンテンツフレーム21,22,23の表示が決定されるようになっており、前記複数のコンテンツサーバ11,12,13のうちの一のコンテンツサーバとしてのコンテンツAサーバ11で、前記複数のコンテンツフレーム21,22,23のうちの対応する一のコンテンツフレームとしてのコンテンツA用フレーム21の一の更新要求が発生すると、前記一のコンテンツサーバとしてのコンテンツAサーバ11が、前記サーバプッシュ通信制御サーバ14に前記一の更新要求を送信し、前記サーバプッシュ通信制御サーバ14が、受信した前記一の更新要求を、前記リバースプロキシサーバ15を介して、前記ブラウザ20の前記サーバプッシュ通信制御フレーム24に送信し、前記サーバプッシュ通信制御フレーム24が、受信した前記一の更新要求を、対応する前記一のコンテンツフレームとしてのコンテンツA用フレーム21に送信し、前記一のコンテンツフレームとしてのコンテンツA用フレーム21が、受信した前記一の更新要求に基づき、対応する前記一のコンテンツサーバとしてのコンテンツAサーバ11に対して一の更新情報要求を送信し、前記一のコンテンツサーバとしてのコンテンツAサーバ11が、受信した前記一の更新情報要求に応じて、一の更新情報を前記一のコンテンツフレームとしてのコンテンツA用フレーム21に送信し、前記一のコンテンツフレームとしてのコンテンツA用フレーム21が、受信した前記一の更新情報に基づき、表示を更新するように構成されたネットワーク通信システムとしたことを特徴とする。
そして、本実施の形態によれば、コンテンツサーバ11,12,13側から更新要求があるまでは、クライアント端末側ではサーバに向けて通信を行わないため、ネットワークとしてのインターネットNに対する通信負荷を劇的に軽減することができ、その上で、所定のサーバプッシュ通信に基づいて、クライアント端末のブラウザ20で常に新しい情報を表示することができるネットワーク通信システムとすることができる。
特に、クライアント端末のブラウザ20における複数のコンテンツフレーム21,22,23が、それぞれ対応するコンテンツサーバ11,12,13から更新情報を得て表示を更新するようなシステムの場合、ロングポーリング等を含むブラウザ20側からの起点による従来の半二重通信で更新情報を得ようとすると、ブラウザ20側から所定間隔で更新情報を要求する通信がコンテンツフレーム数分だけ必要となるため、ネットワークに対する通信負荷が大きくなってしまう可能性が高いが、本実施の形態のような、各コンテンツサーバ11,12,13側から更新要求があるまではブラウザ20のコンテンツフレーム21,22,23側から通信を行わないシステムとすれば、このような状況のネットワークに対する通信負荷を大きく軽減することができるものである。
また、コンテンツサーバ側からコンテンツフレーム側に更新要求の通信を行った後の通信技術は、Ajax技術等の既知の技術を利用することができるため、従来のシステムに対するソースコードの追加、変更を最小限にすることができ、従来のシステムに本技術を比較的簡単に導入することができる。
また、本実施の形態では、前記した構成に加え、前記サーバプッシュ通信制御サーバ14が、受信した前記一の更新要求を、前記リバースプロキシサーバ15を介して、前記ブラウザ20の前記サーバプッシュ通信制御フレーム24に送信する通信を、ウェブソケット通信で行うことを特徴とする。
そして、本実施の形態によれば、前記した効果に加え、サーバプッシュ通信制御サーバ14が、受信した一の更新要求を、リバースプロキシサーバ15を介して、ブラウザ20のサーバプッシュ通信制御フレーム24に送信する通信を、ウェブソケット通信で行うため、具体的に、ネットワークとしてのインターネットNに対する通信負荷を劇的に軽減した上で、クライアント端末のブラウザ20で常に新しい情報を表示することができる有効な通信システムとすることができる。
ここで、ウェブソケット等のWeb技術を用いれば、TCP接続による全二重シングルを介した通信チャネルを提供することができる。特にウェブソケットのAPIはW3Cによって標準化され、ウェブソケットのプロトコルはIETFとしてRFC6455によって標準化されており、インディペンデントなTCPベースのプロトコルである。これは、サーバがクライアントによって要求されることなく、ブラウザにコンテンツを送信するための標準化された方法を提供し、接続を開いたままのメッセージを前後に渡されることを可能にすることによって実現している。この利点は、単一のTCP/IP接続で非同期の双方向ストリーミングが完全にできるだけでなく、HTTPヘッダが少なくて済むという点であり、さらに重要なのはブラウザからでもサービスからでも同じメッセージフォーマットを使えば済むことである。
なお、以上説明した実施の形態は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。
例えば、前記した実施の形態では、サーバシステム10とブラウザ20の間を繋ぐネットワークとしてインターネットNを挙げたが、本発明はこれに限るものではなく、他のネットワークを介する通信システムであっても良い。
また、前記した実施の形態では、サーバプッシュ通信制御サーバ14からサーバプッシュ通信制御フレーム24までの通信をウェブソケット通信で行うようになっていたが、本発明はこれに限らず、サーバ側からのサーバプッシュ通信があるまで、クライアント端末のブラウザ側からサーバ側に対して通信を行わない通信方式であれば、ウェブソケット通信以外の通信方式を適用しても良い。
10 サーバシステム
11 コンテンツAサーバ(コンテンツサーバ)
12 コンテンツBサーバ(コンテンツサーバ)
13 コンテンツCサーバ(コンテンツサーバ)
14 サーバプッシュ通信制御サーバ
15 リバースプロキシサーバ
20 ブラウザ
21 コンテンツA用フレーム(コンテンツフレーム)
22 コンテンツB用フレーム(コンテンツフレーム)
23 コンテンツC用フレーム(コンテンツフレーム)
24 サーバプッシュ通信制御フレーム
N インターネット(ネットワーク)

Claims (5)

  1. 複数のコンテンツサーバと、サーバプッシュ通信制御サーバと、これらをシングルドメインとして構成するリバースプロキシサーバと、を備えるサーバシステムと、
    複数のコンテンツフレーム及びサーバプッシュ通信制御フレームを備えたブラウザが動作するクライアント端末と、
    が所定のネットワークを介して繋がるネットワーク通信システムであって、
    前記ブラウザの前記複数のコンテンツフレームの各々は、前記複数のコンテンツサーバの各々と1対1で対応しており、対応するコンテンツサーバからの情報に応じて、各コンテンツフレームの表示が決定されるようになっており、
    前記複数のコンテンツサーバのうちの一のコンテンツサーバで、前記複数のコンテンツフレームのうちの対応する一のコンテンツフレームの一の更新要求が発生すると、
    前記一のコンテンツサーバが、前記サーバプッシュ通信制御サーバに前記一の更新要求を送信し、
    前記サーバプッシュ通信制御サーバが、受信した前記一の更新要求を、前記リバースプロキシサーバを介して、前記ブラウザの前記サーバプッシュ通信制御フレームに送信し、
    前記サーバプッシュ通信制御フレームが、受信した前記一の更新要求を、対応する前記一のコンテンツフレームに送信し、
    前記一のコンテンツフレームが、受信した前記一の更新要求に基づき、対応する前記一のコンテンツサーバに対して一の更新情報要求を送信し、
    前記一のコンテンツサーバが、受信した前記一の更新情報要求に応じて、一の更新情報を前記一のコンテンツフレームに送信し、
    前記一のコンテンツフレームが、受信した前記一の更新情報に基づき、表示を更新するように構成されたことを特徴とするネットワーク通信システム。
  2. 前記サーバプッシュ通信制御サーバが、受信した前記一の更新要求を、前記リバースプロキシサーバを介して、前記ブラウザの前記サーバプッシュ通信制御フレームに送信する通信を、ウェブソケット通信で行うことを特徴とする請求項1に記載のネットワーク通信システム。
  3. 複数のコンテンツサーバから送信された複数の各コンテンツを表示する複数のコンテンツフレームとサーバプッシュ通信制御フレームとを有するブラウザが動作するクライアント端末であって、
    サーバプッシュ通信制御サーバが、複数のコンテンツサーバのうちの一のコンテンツサーバにおいて発生した更新要求であり、クライアント端末のブラウザが有する複数のコンテンツフレームのうちの一のコンテンツフレームに対する更新要求を、前記一のコンテンツサーバから受信し、当該受信した更新要求を、リバースプロキシサーバを介して前記クライアント端末に送信すると、前記サーバプッシュ通信制御サーバから送信された更新要求を、リバースプロキシサーバを介して受信し、
    前記更新要求の受信に対応して、当該更新要求に対するコンテンツフレームに対応する一のコンテンツサーバであって、前記複数のコンテンツサーバのうちの一のコンテンツサーバに対して、コンテンツの更新の要求である更新情報要求を送信し、
    前記更新情報要求の送信に応じて、前記一のコンテンツサーバから、前記コンテンツフレームに表示されるコンテンツを更新する更新情報を受信し、
    前記更新情報の受信に応じて、前記コンテンツフレームの表示を更新するクライアント端末。
  4. 複数のコンテンツサーバから送信された複数の各コンテンツを表示する複数のコンテンツフレームとサーバプッシュ通信制御フレームとを有するブラウザが起動しているクライアント端末における情報処理方法であって、
    サーバプッシュ通信制御サーバが、複数のコンテンツサーバのうちの一のコンテンツサーバにおいて発生した更新要求であり、クライアント端末のブラウザが有する複数のコンテンツフレームのうちの一のコンテンツフレームに対する更新要求を、前記一のコンテンツサーバから受信し、当該受信した更新要求を、リバースプロキシサーバを介して、前記クライアント端末に送信すると、
    クライアント端末が、
    前記サーバプッシュ通信制御サーバから送信された更新要求を、リバースプロキシサーバを介して受信し、
    前記更新要求の受信に対応して、当該更新要求に対するコンテンツフレームに対応する一のコンテンツサーバであって、前記複数のコンテンツサーバのうちの一のコンテンツサーバに対して、コンテンツの更新の要求である更新情報要求を送信し、
    前記更新情報要求の送信に応じて、前記一のコンテンツサーバから、前記コンテンツフレームに表示されるコンテンツを更新する更新情報を受信し、
    前記更新情報の受信に応じて、前記コンテンツフレームの表示を更新する、
    ことを特徴とする情報処理方法。
  5. 複数のコンテンツサーバから送信された複数の各コンテンツを表示する複数のコンテンツフレームとサーバプッシュ通信制御フレームとを有するブラウザが起動しているクライアント端末において動作するプログラムであって、
    サーバプッシュ通信制御サーバが、複数のコンテンツサーバのうちの一のコンテンツサーバにおいて発生した更新要求であり、クライアント端末のブラウザが有する複数のコンテンツフレームのうちの一のコンテンツフレームに対する更新要求を、前記一のコンテンツサーバから受信し、当該受信した更新要求を、リバースプロキシサーバを介して、前記クライアント端末に送信すると、
    コンピュータに、
    前記サーバプッシュ通信制御サーバから送信された更新要求を、リバースプロキシサーバを介して受信し、
    前記更新要求の受信に対応して、当該更新要求に対するコンテンツフレームに対応する一のコンテンツサーバであって、前記複数のコンテンツサーバのうちの一のコンテンツサーバに対して、コンテンツの更新の要求である更新情報要求を送信し、
    前記更新情報要求の送信に応じて、前記一のコンテンツサーバから、前記コンテンツフレームに表示されるコンテンツを更新する更新情報を受信し、
    前記更新情報の受信に応じて、前記コンテンツフレームの表示を更新する、 処理を実行させることを特徴とするプログラム。
JP2013019190A 2013-02-04 2013-02-04 ネットワーク通信システム、サーバプッシュ通信制御サーバ、クライアント端末、サーバプッシュ通信制御方法、情報処理方法、およびプログラム Active JP6089363B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013019190A JP6089363B2 (ja) 2013-02-04 2013-02-04 ネットワーク通信システム、サーバプッシュ通信制御サーバ、クライアント端末、サーバプッシュ通信制御方法、情報処理方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013019190A JP6089363B2 (ja) 2013-02-04 2013-02-04 ネットワーク通信システム、サーバプッシュ通信制御サーバ、クライアント端末、サーバプッシュ通信制御方法、情報処理方法、およびプログラム

Publications (3)

Publication Number Publication Date
JP2014149759A JP2014149759A (ja) 2014-08-21
JP2014149759A5 JP2014149759A5 (ja) 2016-01-28
JP6089363B2 true JP6089363B2 (ja) 2017-03-08

Family

ID=51572662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013019190A Active JP6089363B2 (ja) 2013-02-04 2013-02-04 ネットワーク通信システム、サーバプッシュ通信制御サーバ、クライアント端末、サーバプッシュ通信制御方法、情報処理方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP6089363B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6429953B1 (ja) * 2017-06-23 2018-11-28 鈴木 晃一 Webブラウザによるダイヤ作成統合システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003141072A (ja) * 2001-10-30 2003-05-16 Hitachi Ltd ダイナミックなドキュメントの生成表示方法及びその装置
JP2010055560A (ja) * 2008-08-29 2010-03-11 Toshiba Corp 中間システムおよびイベント駆動型サーバ拡張プログラム
JP5099073B2 (ja) * 2009-05-01 2012-12-12 富士通株式会社 ソフトウェア間通信の中継方法、装置、及びプログラム
US9459936B2 (en) * 2009-05-01 2016-10-04 Kaazing Corporation Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications
JP2012234236A (ja) * 2011-04-28 2012-11-29 Hitachi Ltd 負荷分散システム
JP6059037B2 (ja) * 2012-03-02 2017-01-11 キヤノン株式会社 通信システム、クライアント装置、サーバ装置、通信方法、及びプログラム
JP5918642B2 (ja) * 2012-06-29 2016-05-18 Kddi株式会社 Webコンテンツの配信装置

Also Published As

Publication number Publication date
JP2014149759A (ja) 2014-08-21

Similar Documents

Publication Publication Date Title
US10686850B2 (en) Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications
US8554718B2 (en) Method and system for client context dissemination for web-based applications
US8032609B2 (en) Dynamic endpoint aggregator for web services
Lampesberger Technologies for web and cloud service interaction: a survey
US20130262572A1 (en) Method for Activating and Deactivating Client-Side Services from a Remote Server
CN102546583A (zh) 在内容中心网络上的服务虚拟化
CN103312807A (zh) 数据传输方法、装置及系统
US20140181225A1 (en) Method, apparatus, and computer program product for reducing session related message size
WO2014169736A1 (zh) 一种终端设备及web网页多屏共享的方法
US10044788B2 (en) Native client multimedia redirection
US20120207157A1 (en) Method, apparatus, and computer program product for reducing session setup latency
JP6089363B2 (ja) ネットワーク通信システム、サーバプッシュ通信制御サーバ、クライアント端末、サーバプッシュ通信制御方法、情報処理方法、およびプログラム
Skjervold et al. Delay and disruption tolerant web services for heterogeneous networks
JP2017224032A (ja) 分散連携プロキシおよびそれを用いた非同期メッセージングシステム
KR20100060355A (ko) 통신 시스템에서 그룹 메시징 세션 생성 방법 및 그 시스템
CA2592881C (en) Dynamic endpoint aggregator for web services
Herrero et al. Application layer
JP5985377B2 (ja) 複数の端末間でプライベートページを同期して表示させるページ同期表示方法及びシステム
Lubbers et al. Using the WebSocket API
KR100658602B1 (ko) 데이터 전송 효율이 향상된 wap 게이트웨이 에이전트 및그 데이터 송수신 방법
Transports NFSv4 C. Lever Internet-Draft Oracle Intended status: Experimental April 24, 2015 Expires: October 26, 2015
TW201929495A (zh) 透過中繼伺服器即時推送訊息之系統及其方法
CN109905453A (zh) 通过中继服务器即时推送信息的系统及其方法
Transports NFSv4 C. Lever Internet-Draft Oracle Intended status: Experimental May 20, 2015 Expires: November 21, 2015
Sturek et al. 6lowapp Z. Shelby Internet-Draft Sensinode Intended status: Informational M. Garrison Stuber Expires: June 27, 2010 Itron

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151201

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20151201

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151202

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151225

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161108

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20161118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20161119

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170120

R150 Certificate of patent or registration of utility model

Ref document number: 6089363

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150