JP4557028B2 - 情報処理装置、情報処理方法、クライアント機器、情報処理システム - Google Patents

情報処理装置、情報処理方法、クライアント機器、情報処理システム Download PDF

Info

Publication number
JP4557028B2
JP4557028B2 JP2008072374A JP2008072374A JP4557028B2 JP 4557028 B2 JP4557028 B2 JP 4557028B2 JP 2008072374 A JP2008072374 A JP 2008072374A JP 2008072374 A JP2008072374 A JP 2008072374A JP 4557028 B2 JP4557028 B2 JP 4557028B2
Authority
JP
Japan
Prior art keywords
data
information processing
client device
processing apparatus
application
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.)
Expired - Fee Related
Application number
JP2008072374A
Other languages
English (en)
Other versions
JP2009231975A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2008072374A priority Critical patent/JP4557028B2/ja
Priority to EP20090250742 priority patent/EP2104282B1/en
Priority to US12/406,646 priority patent/US8874756B2/en
Priority to CN200910119020XA priority patent/CN101540769B/zh
Publication of JP2009231975A publication Critical patent/JP2009231975A/ja
Application granted granted Critical
Publication of JP4557028B2 publication Critical patent/JP4557028B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、情報処理装置、情報処理方法、クライアント機器、情報処理システムに関する。
サーバとクライアント機器とを、例えばインターネット越しにリモートアクセスによって接続させる方法が複数考えられている。そのうち、クライアント側のLANの入り口にファイアウォール(Firewall)やプロキシサーバ等を設置して、LAN内に設置されたコンピュータのセキュリティを担保することが行われる環境で用いられる方法の例として、HTTPトンネリングという方法を挙げることができる。この際、一定期間データの通信が行われなかった場合であってもサーバ−クライアント機器間の接続(以下、コネクションとも称する。)を確立したままにしておくために、ハートビートと呼ばれる制御信号を送信側の装置から受信側の装置へと送信することが行われる(例えば、特許文献1参照。)。
特開2006−20301号公報
ところで、データ受信側のサーバでは、送信されたデータを、所定のバッファ(例えば、TCPの受信バッファ)に一時保存することが行われる。この受信バッファの容量に空きがなくなると、データ送信側のクライアント機器はハートビートを含むデータの送信を行うことができなくなってしまう。
このような状況下で、プロキシサーバに「一定期間データ通信が行われなかった場合には、接続を解消する」という制御条件が設定されている場合、サーバ・クライアント機器間のリモートアクセスによる接続が、プロキシサーバによって解消されてしまうという問題が生じうる。
そこで、本発明は、このような問題に鑑みてなされたもので、その目的は、サーバ−クライアント機器間のプロキシサーバを介したリモートアクセスによる接続を、プロキシサーバの設定によらず維持することが可能な、新規かつ改良された情報処理装置、情報処理方法、クライアント機器、情報処理システムを提供することにある。
上記課題を解決するために、本発明のある観点によれば、接続をイニシエートするクライアント機器との間に接続を確立する接続待ち受け部と、前記クライアント機器から送信されるデータを受信するデータ受信部と、を備え、前記データ受信部は、前記クライアント機器から送信されるデータが一時保存されるアプリケーションデータ受信バッファと、前記クライアント機器から送信された前記データを前記アプリケーションデータ受信バッファから取得して、上位アプリケーションに伝送するアプリケーションデータ受信部と、前記アプリケーションデータ受信バッファの空き容量を監視して当該アプリケーションデータ受信バッファが受信可能なデータ容量を前記クライアント機器に通知するとともに、前記クライアント機器から送信されたデータを前記アプリケーションデータ受信バッファへと転送するフローコントロール受信管理部と、を有する、情報処理装置が提供される。
かかる構成によれば、フローコントロール受信管理部は、アプリケーションデータ受信バッファの空き容量を監視して当該アプリケーションデータ受信バッファが受信可能なデータ容量をクライアント機器に通知するとともに、クライアント機器から送信されたデータをアプリケーションデータ受信バッファへと転送し、アプリケーションデータ受信部は、クライアント機器から送信されたデータをアプリケーションデータ受信バッファから取得して、上位アプリケーションに伝送する。
前記フローコントロール受信管理部は、前記クライアント機器との接続が確立した際に、前記アプリケーションデータ受信バッファが受信可能なデータ容量を前記クライアント機器へと通知するようにしてもよい。
前記フローコントロール受信管理部は、前記空き容量が増加した際に、当該空き容量の増加量を前記クライアント機器へと通知するようにしてもよい。
前記情報処理装置は、前記クライアント機器との通信を制御する通信部と、前記通信部が前記クライアント機器から受信したデータが一時保存される通信部受信バッファと、を更に備え、前記フローコントロール受信管理部は、前記通信部受信バッファに一時保存されている前記データを、前記アプリケーションデータ受信バッファへと転送する。
前記情報処理装置は、前記クライアント機器から送信される接続維持用制御情報を受信する接続維持用制御情報受信部を更に備え、前記接続維持用制御情報受信部は、前記接続維持用制御情報を受信すると、受信した当該接続維持用制御情報を破棄する。
前記情報処理装置は、前記クライアント機器に対してデータを送信するデータ送信部を更に備え、前記データ送信部は、前記クライアント機器に対して送信されるデータが一時保存されるアプリケーションデータ送信バッファと、前記クライアント機器に対して送信されるデータを上位アプリケーションから取得して、前記アプリケーションデータ送信バッファに伝送するアプリケーションデータ送信部と、前記アプリケーションデータ送信バッファから前記データを取得し、前記クライアント機器から通知される当該クライアント機器が受信可能なデータ容量に基づいて、取得した前記データを前記クライアント機器に送信するフローコントロール送信管理部と、を有してもよい。
前記情報処理装置は、前記クライアント機器との通信を制御する通信部と、前記通信部が前記クライアント機器へ送信するデータが一時保存される通信部送信バッファと、を更に有し、前記フローコントロール送信管理部は、前記アプリケーションデータ送信バッファに一時保存されているデータを、前記通信部送信バッファへと転送するようにしてもよい。
上記課題を解決するために、本発明の別の観点によれば、接続をイニシエートするクライアント機器との間に接続を確立するステップと、前記クライアント機器から送信されるデータが一時保存されるアプリケーションデータ受信バッファの空き容量に基づいて、前記クライアント機器に前記アプリケーションデータ受信バッファが受信可能なデータ容量を通知するステップと、前記クライアント機器から受信したデータを、クライアント機器との通信を制御する通信部が利用する通信部受信バッファに一時保存するステップと、前記クライアント機器から送信された前記通信部受信バッファに一時保存された前記データを、前記アプリケーションデータ受信バッファに転送して一時保存するステップと、前記アプリケーションデータ受信バッファに一時保存された前記データを、上位アプリケーションに伝送するステップと、を含み、前記クライアント機器から送信される接続維持用制御情報を受信すると、受信した当該接続維持用制御情報を破棄する、情報処理方法が提供される。
また、上記情報処理方法は、前記クライアント機器に対して送信されるデータを上位アプリケーションから取得して、前記クライアント機器に対して送信されるデータが一時保存されるアプリケーションデータ送信バッファに取得した前記データを伝送するステップと、前記アプリケーションデータ送信バッファから前記データを取得し、前記クライアント機器から通知される当該クライアント機器が受信可能なデータ容量に基づいて、取得した前記データを前記クライアント機器に送信するステップと、を更に含んでもよい。
上記課題を解決するために、本発明の更に別の観点によれば、情報処理装置との間の接続をイニシエートして、当該情報処理装置との間に接続を確立する接続確立部と、前期情報処理装置に対してデータを送信するデータ送信部と、を備え、前記データ送信部は、前記情報処理装置に対して送信されるデータが一時保存されるアプリケーションデータ送信バッファと、前記情報処理装置に対して送信されるデータを上位アプリケーションから取得して、前記アプリケーションデータ送信バッファに伝送するアプリケーションデータ送信部と、前記アプリケーションデータ送信バッファから前記データを取得し、前記情報処理装置から通知される当該情報処理装置が受信可能なデータ容量に基づいて、取得した前記データを前記情報処理装置に送信するフローコントロール送信管理部と、前記情報処理装置との間で確立された接続を維持する接続維持用制御情報を送信する接続維持用制御情報送信部と、を有し、前記接続維持用制御情報送信部は、前記情報処理装置との間で所定時間通信を行っていない場合に、前記接続維持用制御情報を前記情報処理装置に対して送信するクライアント機器が提供される。
前記クライアント機器は、前記情報処理装置から送信されるデータを受信するデータ受信部を更に備え、前記データ受信部は、前記情報処理装置から送信されるデータが一時保存されるアプリケーションデータ受信バッファと、前記情報処理装置から送信された前記データを前記アプリケーションデータ受信バッファから取得して、上位アプリケーションに伝送するアプリケーションデータ受信部と、前記アプリケーションデータ受信バッファの空き容量を監視して当該アプリケーションデータ受信バッファが受信可能なデータ容量を前記情報処理装置に通知するとともに、前記情報処理装置から送信されたデータを前記アプリケーションデータ受信バッファへと転送するフローコントロール受信管理部と、を有してもよい。
上記課題を解決するために、本発明の更に別の観点によれば、情報処理装置との間の接続をイニシエートして、当該情報処理装置との間に接続を確立するステップと、前記情報処理装置に対して送信されるデータを上位アプリケーションから取得して、前記情報処理装置に対して送信されるデータが一時保存されるアプリケーションデータ送信バッファに取得した前記データを伝送するステップと、前記アプリケーションデータ送信バッファから前記データを取得し、前記情報処理装置から通知される当該情報処理装置が受信可能なデータ容量に基づいて、取得した前記データを前記情報処理装置に送信するステップと、を含み、前記情報処理装置との間で所定時間通信を行っていない場合に、前記情報処理装置との間で確立された接続を維持する接続維持用制御情報を前記情報処理装置に対して送信する、情報処理方法が提供される。
上記課題を解決するために、本発明の更に別の観点によれば、上記情報処理装置と上記クライアント機器と、を含む情報処理システムが提供される。
前記クライアント機器が有する前記データ送信部は、前記情報処理装置と確立された接続を維持する接続維持用制御情報を送信する接続維持用制御情報送信部を更に備え、前記接続維持用制御情報送信部は、前記情報処理装置との間で所定時間通信を行っていない場合に、前記接続維持用制御情報を前記情報処理装置に対して送信するようにしてもよい。
本発明によれば、サーバ−クライアント機器間のプロキシサーバを介したリモートアクセスによる接続を、プロキシサーバの設定によらず維持することが可能である。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
<リモートアクセスによる接続について>
まず、本発明の第1の実施形態に係る情報処理システムについて説明するに先立ち、リモートアクセスによる接続について、詳細に説明する。本願発明者らは、上述の課題を解決するに当たって、まず、リモートアクセスによる接続について、詳細な検討を行った。以下に、図9A〜図11を参照しながら、その検討結果について説明する。図9A〜図9Dは、リモートアクセスによる接続を説明するための説明図である。図10Aおよび図10Bは、TCPにおけるフローコントロールを説明するための説明図である。図11は、プロキシサーバを介したリモートアクセスによる接続の問題点を説明するための説明図である。
インターネット越しにサーバ−クライアント機器間でリモートアクセスによる接続を確立する方法について考える。この際に、例えば図9Aに示したように、クライアント機器903側の環境(すなわち、クライアント機器903が属しているLAN)にプロキシサーバ905が設置されている場合、プロキシサーバ905の設定にもよるが、HTTP(HyperText Transfer Protocol)やSSL(Secure Socket Layer)等の限られたプロトコル以外のトラフィックは、遮断されることがある。
このようなファイアウォール(HTTPプロキシサーバ905)を介してリモートアクセスを成功させるための方法として、図9Bに示したように、SSLトンネリング方式と呼ばれる方式と、HTTPトンネリング方式と呼ばれる方式の2種類がある。
SSLトンネリング方式は、プロキシサーバ905を介してSSLによる接続を行って、暗号化された通信路を用いてサーバ901−クライアント機器903間で任意の通信を行うものである。しかしながら、HTTPプロキシ(プロキシサーバ905)の設定によっては、SSLの目的をHTTPS(HTTPのためのSSL)に制限するため、HTTPSのWell Known Portとして定義されている443番のポート以外のアクセスを許可しないものがある。この場合、リモートアクセスのサーバ901側の環境は、ポートを443に設定しなければならない。また、サーバ側でNAT(Network Address Translation)を使用している場合には、ポートフォワーディング設定によってNATの外側ポートへの接続を内側の機器へフォワードするが、この場合NATの外側ポートを443にしなければならない。ここで、一つのポートに対するポートフォワーディングはNAT内の1台にしかできないため、NAT内に2台以上のサーバが存在する場合には、対応することができない。
もう一つの方法であるHTTPトンネリング方式について説明する。HTTPプロキシであるプロキシサーバ905は、HTTPを用いた通信は中継する。そこで、HTTPトンネリング方式では、HTTPの通信のbodyを通信路とみなして、サーバ901−クライアント機器903間でデータの通信を行う。このHTTPトンネリング方式では、送信用にHTTP POSTのトランザクションにおいて、requestのbodyを終端させることなく使用して、任意のデータを任意のタイミングで送信することができる。同様に、HTTP GETのトランザクションにおいても、responseのbodyを終端させることなく使用して、任意のデータを任意のタイミングで受信することができる。この方法では、HTTP POSTのトランザクションとHTTP GETのトランザクションとを並行して行い、接続対象装置と自機との間に双方向の通信路を確保することができる。
ここで、HTTPプロキシ(プロキシサーバ905)の実装に際して、例えば図9Cに示したように、HTTP POSTのrequest bodyに一定期間データが通信されない場合、その接続を切断するように設定される場合がある。このようなプロキシサーバに対応するために、一定期間データが流れない状態を回避することを目的として、以下に説明するようなことが行われる。
すなわち、HTTPトンネリングをコネクションとして利用するアプリケーションのレイヤ(階層)と、実際にHTTPトンネリングを行うレイヤとの間に、ハートビート(Heart Beat)と呼ばれる制御信号の送受信を行うハートビート送受信部を配置する。送信側アプリケーションが一定期間データを流さない場合、ハートビート送信部がハートビートデータHBを受信側へと送信する。受信側の機器のハートビート受信部は、受信したハートビートデータHBを破棄する。
このような処理を行うことで、プロキシサーバ905に、一定期間データが通信されていない状況の検出(インアクティブ検出)をさせないようにすることができ、サーバ901とクライアント機器903との間に確立されたリモートアクセスによる接続を維持することができる。
<TCPのフローコントロールについて>
続いて、図10Aおよび図10Bを参照しながら、TCPのフローコントロールについて、詳細に説明する。
図10Aに示したように、TCP(Transmission Control Protocol)では、送信されるデータにシーケンスナンバーが振られている。送信側の装置であるTCPノード(クライアント機器)903では、TCPの送信バッファに格納されているデータをいくつかのパケットPに分けた後にシーケンスナンバーを振り分けて、受信側の装置であるTCPノード(サーバ)901へと送信する。TCPノード(サーバ)901は、受信したパケットPをTCPの受信バッファに一時格納し、格納されているデータは、任意のタイミングでアプリケーションの受信バッファに転送される。TCPノード901は、どのシーケンスナンバーのデータまでを受け取ったかをTCPノード903に伝えることで、データ落ち対策を行っている。
また、受信側の装置であるTCPノード901は、次にどこまでのシーケンスナンバーまでのデータを受け取ることが可能かを示したデータRを送信側の装置であるTCPノード903に通知している。例えば図10Aに示した例では、TCPノード901からTCPノード903へ、「4まで受け取った、12まで送れ」というデータRが通知されている。このデータRを受け取ったTCPノード903は、シーケンスナンバー12が付与されたパケットPまでのデータを、TCPノード901へと送信する。
受信側のTCPノードが受け取ることのできるデータの大きさを、ウィンドウサイズ(Window Size)と呼び、TCPでは、このウィンドウサイズを調節することで、TCPのフローコントロール(Flow Control)が実現されている。すなわち、通信中は徐々にウィンドウサイズを大きくすることで通信のスループットが上がり、通信路の帯域が足りずにデータエラーが起こった場合にはウィンドウサイズを小さくする。
ここで、受信側のアプリケーションが受信側のTCP受信バッファからデータを読み取るのが遅れたり、読み取らなかったりした場合には、例えば図10Bに示したように、TCP受信バッファの空き容量がゼロになる。図に示したようにTCPの受信準備ができない状態では、受信側は、「ウィンドウサイズは0であるというデータ」(以下、ゼロウィンドウアップデート(Zero Window Update)とも称する。)Rを送信する。このゼロウィンドウアップデートは、受信側の装置から送信側の装置に定期的に送られる。
ところで、ハートビートデータHBは、アプリケーションデータと同様に、TCP上のデータである。そのため、図10Bに示したように、受信側のTCPバッファが一杯になりゼロウィンドウアップデートが定期的に通信される状態では、送信側のクライアント機器903はハートビートデータHBを送信することができない。そのため、例えば図11に示したように、一定期間のインアクティビティを検出した経路上のHTTPプロキシサーバ905は、サーバ901−クライアント機器903間で確立されたリモートアクセスによる通信路を遮断してしまう可能性がある。
かかる問題を解決するために、本願発明者らが鋭意研究を行った結果、以下で説明するような情報処理システムに想到した。
(第1の実施形態)
<情報処理システムについて>
次に、図1を参照しながら、本発明の第1の実施形態に係る情報処理システムについて、詳細に説明する。図1は、本実施形態に係る情報処理システムについて説明するための説明図である。
本実施形態に係る情報処理システム1は、例えば図1に示したように、本実施形態に係る情報処理装置10が属するネットワーク5と、本実施形態に係るクライアント機器20が属するネットワーク7と、から構成されている。情報処理装置10が属するネットワーク5と、クライアント機器20が属するネットワーク7とは、インターネット3を介して互いに接続可能である。また、クライアント機器20が属するネットワーク7には、プロキシサーバ(HTTPプロキシ)9が設置されている。
本実施形態に係る情報処理装置10およびクライアント機器20は、それぞれリモートアクセス機能を有しており、HTTPトンネリング方法を用いて互いに通信することが可能である。なお、以下の説明において、クライアント機器20は、接続をイニシエートする機器を意味しており、データの送信側となる装置か受信側となる装置かを表しているものではない。同様に、情報処理装置10は、接続がイニシエートされる機器を意味しており、データの受信側となる装置か送信側となる装置かを表しているものではない。
インターネット3は、情報処理装置10とクライアント機器20とを双方向通信又は一方向通信可能に接続する通信回線網であり、有線/無線を問わない。また、プロキシサーバ9は、ファイアウォールとして機能するHTTPプロキシであって、インターネット3とクライアント機器20との間に設けられている。
情報処理装置10およびクライアント機器20は、リモートアクセス機能を有する装置であって、これらの装置にインストールされている上位アプリケーションを実行することで、様々な機能を実現することができる。これらの情報処理装置10およびクライアント機器20は、パーソナルコンピュータやサーバ等のコンピュータ装置であってもよく、テレビジョン受像器、DVD/HDDレコーダ、携帯電話、PDA(Personal Digital Assistant)、デジタルカメラ、家庭用ゲーム機、デジタルビデオカメラ等のネットワークを介した通信機能を有する情報家電であってもよい。また、情報処理装置10およびクライアント機器20は、契約者が持ち運びできるポータブルデバイス(Portabale Device)、例えば、携帯型ゲーム機、PHS、携帯型映像/音声プレーヤなどであってもよい。また、情報処理装置10およびクライアント機器20は、DLNAガイドラインに準拠するデジタルメディアサーバ(Digital Media Server:DMS)、デジタルメディアプレーヤー(Digital Media Player:DMP)、デジタルメディアレンダラー(Digital Media Renderer:DMR)、デジタルメディアコントローラ(Digital Media Controller)等であってもよい。
なお、上記情報処理装置10およびクライアント機器20については、以下で改めて詳細に説明する。
<情報処理装置の構成について>
続いて、図2を参照しながら、本実施形態に係る情報処理装置の構成について、詳細に説明する。図2は、本実施形態に係る情報処理装置10の構成について説明するためのブロック図である。
本実施形態に係る情報処理装置10は、例えば図2に示したように、通信部101と、TCP送信バッファ103と、TCP受信バッファ105と、コネクション待ち受け部107と、データ送信部109と、データ受信部119と、を主に備える。
通信部101は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、通信装置等から構成されており、ネットワークインターフェースを含む処理部である。この通信部101は、例えば、TCP(Transmission Control Protocol)およびIP(Internet Protocol)の2種類のプロトコルに基づく通信制御を行うことが可能なスタック(stack)である。本実施形態に係る情報処理装置10は、この通信部101を介して、同一のネットワーク内に属する装置または異なるネットワークに属する装置と、通信を行う。
通信部送信バッファの一例であるTCP送信バッファ103、および、通信部受信バッファの一例であるTCP受信バッファ105のそれぞれは、例えば、ROM、RAMや、HDD(Hard Disk Drive)等の記録装置等から構成されるバッファである。これらのバッファは、通信部101が自由にアクセスすることが可能である。
TCP送信バッファ103は、通信部101のTCPが送信するデータが一時保存されるバッファであり、TCP受信バッファ105は、通信部101のTCPが受信したデータが一時保存されるバッファである。
接続待ち受け部の一例であるコネクション待ち受け部107は、例えば、CPU、ROM、RAM等から構成される。コネクション待ち受け部107は、後述するクライアント機器20がプロキシサーバ9を介して送信した接続要請(例えば、HTTPトンネリングの確立要請)を待ち受けて、接続の確立に必要な認証・暗号鍵決定処理等を実行し、データの送信および受信を可能とする処理部である。
データ送信部109は、例えば、CPU、ROM、RAM等から構成され、通信部101を介して、送信先の情報処理装置やクライアント機器に対して、上位アプリケーションから伝送されたアプリケーションデータを送信する。このデータ送信部109は、フローコントロール送信管理部111と、ハートビート送信部113と、アプリケーションデータ送信部115と、アプリケーションデータ送信バッファ117と、を更に備える。
フローコントロール送信管理部111は、上述したようなTCPのフローコントロールに基づいて、アプリケーションデータの送信管理を行う処理部である。このフローコントロール送信管理部111は、送信先の装置から通知された、送信先装置が受信可能なデータ容量に基づいて、後述するアプリケーションデータ送信部115から伝送されたアプリケーションデータの送信管理を行う。ここで、アプリケーションデータの送信管理とは、送信されるアプリケーションデータのパケットに対してシーケンスナンバーを付与したり、アプリケーションデータを送信先の装置に送信したり、パケットデータの修正や再送等の信頼性を提供したり、といった、TCPにおける一連のフローコントロールを含む。
このフローコントロール送信管理部111は、例えば、後述するアプリケーションデータ送信バッファ117から送信するアプリケーションデータを取得して、フローコントロールを行いながら、TCP送信バッファ103に送信するアプリケーションデータを一時保存する。通信部101は、TCP送信バッファ103に格納されたアプリケーションデータのパケットを、送信先の装置に対して送信する。
また、所定時間アプリケーションデータの送信が実行されていない場合には、フローコントロール送信管理部111は、その旨を後述するハートビート送信部113に通知するようにしてもよい。
接続維持用制御情報送信部の一例であるハートビート送信部113は、アプリケーションデータの送信先の装置との間で所定時間通信がなされていない場合に、送信先の装置に対して、接続維持用制御情報の一例であるハートビートデータを送信する。ハートビート送信部113で生成されたハートビートデータは、フローコントロール送信管理部111および通信部101を介して、送信先の装置へと送信される。
このハートビートデータを送信先の装置に対して送信することで、本実施形態に係る情報処理装置10と送信先の装置との間で通信が行われたこととなり、確立されている接続を維持することが可能となる。
アプリケーションデータ送信部115は、上位アプリケーションから送信を要請されたアプリケーションデータを、後述するアプリケーションデータ送信バッファ117に一時記録する。また、アプリケーションデータ送信部115は、アプリケーションデータ送信バッファ117にアプリケーションデータを格納した旨を、ハートビート送信部113を介してフローコントロール送信管理部111に通知するようにしてもよい。
アプリケーションデータ送信バッファ117は、例えば、ROM、RAMや、HDD(Hard Disk Drive)等の記録装置等から構成されるバッファである。このアプリケーションデータ送信バッファ117には、アプリケーションデータ送信部115が上位アプリケーションから取得したアプリケーションデータが一時記録される。アプリケーションデータ送信バッファ117は、フローコントロール送信管理部111およびアプリケーションデータ送信部115が、自由に読み書きすることができる。
データ受信部119は、例えば、CPU、ROM、RAM等から構成され、通信部101を介して、送信先の情報処理装置やクライアント機器から送信されたアプリケーションデータを受信する。このデータ受信部119は、フローコントロール受信管理部121と、ハートビート受信部123と、アプリケーションデータ受信部125と、アプリケーションデータ受信バッファ127と、を更に備える。
フローコントロール受信管理部121は、上述したようなTCPのフローコントロールに基づいて、アプリケーションデータの受信管理を行う処理部である。このフローコントロール受信管理部121は、後述するアプリケーションデータ受信バッファ127が記録可能なデータ容量の使用状況といった、アプリケーションデータ受信バッファ127の状態を監視する。また、フローコントロール受信管理部121は、通信部101が受信しTCP受信バッファ105に一時保存されているアプリケーションデータを取得し、後述するアプリケーションデータ受信部125に伝送する。
フローコントロール受信管理部121は、本実施形態に係る情報処理装置10と送信元の装置との間に接続が確立すると、アプリケーションデータ受信バッファ127の使用状況を参照して、アプリケーションデータ受信バッファ127の空き容量を、情報処理装置10が受信可能なデータ容量である初期空き容量サイズデータとして、接続が確立された装置に送信する。また、フローコントロール受信管理部121は、アプリケーションデータ受信バッファ127の監視結果に応じて、本実施形態に係る情報処理装置10のアプリケーションデータ受信バッファ127の空き容量が増えたときに、空き容量サイズの増分を増分サイズデータとして接続が確立されている装置に送信する。
本実施形態に係るフローコントロール受信管理部121は、上述のように、アプリケーションデータ受信バッファ127の利用状況に応じて、送信元の装置に対して通知する初期空き容量サイズデータおよび増分サイズデータを決定している。そのため、送信元の装置から送信されるアプリケーションデータは、必ずアプリケーションデータ受信バッファ127に格納可能なデータ容量以下となるため、TCP受信バッファ105の空き容量が無くなるという状況が発生しない。
接続維持用制御情報受信部の一例であるハートビート受信部123は、アプリケーションデータの送信元の装置から送信されたハートビートデータを受信する。受信したハートビートデータは、ハートビート受信部123によって破棄される。
本実施形態に係る情報処理装置10では、上述のように、アプリケーション受信バッファ127の空き状況に応じたフローコントロールが行われているため、TCP受信バッファ105の空き容量が無くなるという状況が発生しない。そのため、ハートビートデータそのものの受信ができなくなるという状況が発生しない。その結果、情報処理装置10と送信先の装置との間で確立されている接続(セッション)を、プロキシサーバ9の設定によらず維持することが可能となる。
アプリケーションデータ受信部125は、アプリケーションデータ受信バッファ127に格納されているアプリケーションデータを取得して、上位アプリケーションへと伝送する。アプリケーションデータ受信部125が上位アプリケーションへデータの伝送を行うことにより、アプリケーションデータ受信バッファ127の空き容量は変化することとなる。
アプリケーションデータ受信バッファ127は、例えば、ROM、RAMや、HDD(Hard Disk Drive)等の記録装置等から構成されるバッファである。このアプリケーションデータ受信バッファ127には、接続が確立されている装置から送信され、本実施形態に係る情報処理装置10が受信したアプリケーションデータが、一時的に記録される。アプリケーションデータ受信バッファ127は、フローコントロール受信管理部121およびアプリケーションデータ受信部125が、自由に読み書きすることができる。
また、本実施形態に係る情報処理装置10は、例えば、ROM、RAMやHDD等から構成される未図示の記憶部に記録されたプログラム等をCPUで実行することにより、上位アプリケーションとして機能する様々な処理を実現することが可能である。これらの上位アプリケーションは、本実施形態に係るアプリケーションデータ送信バッファ117およびアプリケーションデータ受信バッファ127に対して、自由に読み書きを行うことが可能である。
このような上位アプリケーションの一例として、例えば、DLNA(Digital Living Network Alliance)ガイドラインに準拠した各種制御プログラムを挙げることができる。
以上、本実施形態に係る情報処理装置10の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、CPU等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
<クライアント機器の構成について>
続いて、図3を参照しながら、本実施形態に係るクライアント機器の構成について、詳細に説明する。図3は、本実施形態に係るクライアント機器20の構成について説明するためのブロック図である。
本実施形態に係るクライアント機器20は、例えば図3に示したように、通信部201と、TCP送信バッファ203と、TCP受信バッファ205と、コネクション確立部207と、データ送信部209と、データ受信部219と、を主に備える。
ここで、クライアント機器20が備える通信部201、TCP送信バッファ203、TCP受信バッファ205、データ送信部209およびデータ受信部219は、本実施形態に係る情報処理装置10が備える通信部101、TCP送信バッファ103、TCP受信バッファ105、データ送信部109およびデータ受信部119と同様の構成を有し、ほぼ同一の効果を奏するため、詳細な説明は省略する。
接続確立部の一例であるコネクション確立部207は、例えば、CPU、ROM、RAM等から構成される。コネクション確立部207は、プロキシサーバ9を介して本実施形態に係る情報処理装置10に接続要請(例えば、HTTPトンネリングの確立要請)を送信し、情報処理装置10との間でHTTPトンネリングを確立する。また、コネクション確立部207は、接続の確立に必要な認証・暗号鍵決定処理等を実行し、データの送信および受信を可能とする処理部である。
また、本実施形態に係るクライアント機器20は、例えば、ROM、RAMやHDD等から構成される未図示の記憶部に記録されたプログラム等をCPUで実行することにより、上位アプリケーションとして機能する様々な処理を実現することが可能である。これらの上位アプリケーションは、本実施形態に係るアプリケーションデータ送信バッファ217およびアプリケーションデータ受信バッファ227に対して、自由に読み書きを行うことが可能である。
このような上位アプリケーションの一例として、例えば、DLNA(Digital Living Network Alliance)ガイドラインに準拠した各種制御プログラムを挙げることができる。
以上、本実施形態に係るクライアント機器20の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、CPU等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
<情報処理方法について>
続いて、図4〜図7Cを参照しながら、本実施形態に係る情報処理装置10およびクライアント機器20で行われる情報処理方法について、詳細に説明する。図4および図5は、本実施形態に係る情報処理システムを概略的に説明するための説明図である。図6A〜図6Dは、本実施形態に係る情報処理システムで行われる情報処理方法を説明するための説明図である。図7A〜図7Cは、本実施形態に係る情報処理システムで行われる情報処理方法を説明するための流れ図である。
本実施形態に係る情報処理システム1では、例えば図4に示したように、情報処理装置10の通信部101とクライアント機器20の通信部201との間で、HTTPトンネリング方式によるTCPの非同期全二重通信AおよびBが確立されている。そのため、本実施形態に係る情報処理方法は、例えば図5に示したように、クライアント機器20から情報処理装置10へアプリケーションデータやハートビートデータを送信する場合にも使用可能であり、情報処理装置10からクライアント機器20へアプリケーションデータやハートビートデータを送信する場合にも使用可能である。
また、例えばクライアント機器20から情報処理装置10へとデータが送信される場合には、アプリケーションデータやハートビートデータの送信はコネクションAを介して行われ、情報処理装置10から送信される空き容量の増分等のデータは、コネクションBを介して送信される。
例えば図4に示したように、クライアント機器20のアプリケーションデータ送信部215から情報処理装置10のアプリケーションデータ受信部125に対して、コネクションCで示したようなデータの送信を実行する場合を考える。この場合に、クライアント機器20のデータ送信部209は、通信部201を介して、HTTPトンネリング方式でTCPの非同期全二重通信を用いて情報処理装置10の通信部101に接続を行う。クライアント機器20の通信部201と情報処理装置10の通信部101との間でコネクションが確立されると、クライアント機器20のデータ送信部209は、情報処理装置10のデータ受信部119に対してアプリケーションデータを送信する。
なお、上述のようなフローコントロールは、POST側のコネクションとGET側のコネクションの両方で行ってもよく、POST側のコネクションまたはGET側のコネクションの片方でのみ実行するようにしてもよい。このように適宜設定を変更することにより、本実施形態に係る情報処理装置10やクライアント機器20の処理能力等に応じて、システムに加わる負荷を制御することが可能となる。
次に、図6A〜図6Dを参照しながら、本実施形態に係る情報処理方法をより詳細に説明する。なお、以下の説明では、クライアント機器20がデータ送信側の装置となるとともに、情報処理装置10がデータ受信側の装置となって、クライアント機器20が情報処理装置10に対してデータを送信する場合について説明を行う。
例えば図6Aに示したように、クライアント機器20と情報処理装置10との間でHTTPトンネリングによるコネクションが確立されると、情報処理装置10のフローコントロール受信管理部121は、アプリケーションデータ受信バッファ127の空き容量を参照する。フローコントロール受信管理部121は、参照結果に基づいて、アプリケーションデータ受信バッファ127が受信可能なデータ容量を決定し、初期空き容量サイズデータVSとして、クライアント機器20のフローコントロール送信管理部211に通知する。
初期空き容量サイズデータVSを受信したクライアント機器20のフローコントロール送信管理部211は、通知された初期空き容量サイズを記憶しておく。クライアント機器20のフローコントロール送信管理部211は、例えば図6Bに示したように、通知された初期空き容量サイズを超えないように、アプリケーションデータ送信バッファ217に格納されているデータを取得して、TCP送信バッファ203に一時的に格納する。クライアント機器20の通信部201は、TCP送信バッファ203に格納されているアプリケーションデータを取得して、所定のデータ容量のパケットPに区分けしながら情報処理装置10に送信する。
情報処理装置10の通信部101は、受信したパケットPを、TCP受信バッファ105に一時的に格納し、情報処理装置10のフローコントロール受信管理部111は、TCP受信バッファ105に格納されているアプリケーションデータを取得して、アプリケーションデータ受信バッファ127に格納する。このような処理が繰り返されることで、アプリケーションデータ受信バッファ127のデータ容量は、徐々に一杯になっていく。
ここで、例えば図6Cに示したように、あるタイミングで、情報処理装置10のアプリケーションデータ受信部125が、アプリケーションデータ受信バッファ127に一時保存されているアプリケーションデータを、バッファ127から引き出して上位アプリケーションに転送する。その結果、アプリケーションデータ受信バッファ127に空きが生じる。その結果、アプリケーションデータ受信バッファ127の空き容量の状態を監視しているフローコントロール受信管理部121は、アプリケーションデータ受信バッファ127に生じた空き容量の大きさを把握することが可能となる。情報処理装置10のフローコントロール受信管理部121は、把握した空き容量の増加分を、増分サイズデータASとしてクライアント機器20のフローコントロール送信管理部211に通知する。
増分サイズデータASの通知を受けたクライアント機器20のフローコントロール送信管理部211は、予め記憶しておいた初期空き容量サイズに、新たに通知された増分サイズを追加して、再度記憶する。クライアント機器20のフローコントロール送信管理部211は、新たに記憶したデータサイズに基づいて、必要ならばデータの追加送信を行う。
また、記憶している初期空き容量サイズ分のデータを送信したクライアント機器20のフローコントロール送信管理部211は、アプリケーションデータの送信を中止して、情報処理装置10のTCP受信バッファ105の空き容量がゼロとなってしまう状況を回避する。
このように、本実施形態に係る情報処理方法では、接続確立時に送信先(上述の例では情報処理装置10)の装置から通知されるアプリケーションデータ受信バッファの空き容量(すなわち、初期空き容量サイズデータ)と、アプリケーションデータ受信バッファの空き容量が増加した際に通知される増分サイズデータとを用いて、送信元の装置でデータの送信量を計算することが可能である。そのため、送信元の装置から送信されたアプリケーションデータのデータ容量は、最大でも送信先の装置のアプリケーションデータ受信バッファの空き容量の大きさとなり、必ず送信先のアプリケーションデータ受信バッファ127に格納可能な容量となる。そのため、送信先の装置のTCP受信バッファ(上述の例では、情報処理装置10のTCP受信バッファ105)は、必ず空き容量が存在することとなる。
また、一定時間アプリケーションデータの送信が行われていないことを検知したクライアント機器20のハートビート送信部213は、例えば図6Dに示したように、ハートビートデータHBを情報処理装置10に送信する。情報処理装置10のTCP受信バッファ105は、常に空き容量が存在するように管理されているため、クライアント機器20から送信されるハートビートデータHBは、情報処理装置10のTCP受信バッファ105に一旦格納される。情報処理装置10のハートビート受信部123は、TCP受信バッファ105に格納されたハートビートデータHBをただちに抜き取ってTCP受信バッファ105に空き容量を生じさせるとともに、抜き取ったハートビートデータHBを破棄する。
このような処理を行うことで、送信元の装置(上述の例ではクライアント機器20)から送信されたハートビートデータは、必ず送信先の装置(上述の例では情報処理装置10)に受信される。そのため、送信元の装置から送信先の装置へハートビートデータHBを送信し続けることが可能となり、プロキシサーバ9の設定によるコネクションの解消を回避することができる。
上述の説明をシーケンス図として整理すると、図7A〜図7Cに示したようになる。図7A〜図7Cは、本実施形態に係る情報処理システムで行われる情報処理方法を説明するための流れ図である。
まず、クライアント機器20のコネクション確立部207から情報処理装置10のコネクション待ち受け部107に対してコネクションの確立要請がなされると、通信に必要な認証や暗号鍵等が決定され、HTTPトンネリングを用いたコネクションが確立する(ステップS101)。
続いて、情報処理装置10のフローコントロール受信管理部121は、アプリケーションデータ受信バッファ127の空き状況に基づいて初期空き容量サイズ情報(例えば、容量N)を送信する(ステップS103)。
クライアント機器20のフローコントロール送信管理部211は、情報処理装置10から送信された初期空き容量サイズ情報を受信し(ステップS105)、初期空き容量サイズ情報に記載されている容量に基づいて、送信可能なデータ容量(データサイズ)を更新する(ステップS107)。例えば、初期空き容量サイズ情報に、受信可能なデータ容量がNであると記載されていた場合には、フローコントロール送信管理部211は、送信可能な最大データ容量SendMaxをNと設定する。アプリケーションデータ送信部215によりアプリケーションデータ送信バッファ217にアプリケーションデータが格納されると(ステップS109)、フローコントロール送信管理部211は、送信可能な最大データ容量SendMaxとなるまで、アプリケーションデータを送信する(ステップS111)。この際、フローコントロール送信管理部211は、記憶している送信可能な最大データ容量SendMaxから送信したデータ容量(datasize)を差し引いて、通知された初期空き容量サイズを超えないようにする。
情報処理装置10の通信部101は、送信されてきたアプリケーションデータをTCP受信バッファ105に一時的に格納し、フローコントロール受信管理部121は、TCP受信バッファ105からデータを引き抜いて、アプリケーションデータ受信バッファ127に格納する(ステップS113)。あるタイミングでアプリケーションデータ受信部125によってアプリケーションデータ受信バッファ127からアプリケーションデータが引き抜かれると(ステップS115)、フローコントロール受信管理部121は、増分サイズ情報(例えば、容量X)を、クライアント機器20に通知する(ステップS117)。
クライアント機器20のフローコントロール送信管理部211は、情報処理装置10から送信された増分サイズ情報を受信し(ステップS119)、増分サイズ情報に記載されている容量に基づいて、送信可能なデータ容量を更新する(ステップS121)。例えば、増分サイズ情報に、増加したデータ容量がXであると記載されていた場合には、フローコントロール送信管理部211は、記憶している送信可能な最大データ容量SendMaxにXを追加して、新たな最大データ容量SendMaxとする。フローコントロール送信管理部211は、同様にして、送信可能な最大データ容量SendMaxとなるまで、アプリケーションデータを送信する(ステップS123)。この際、フローコントロール送信管理部211は、記憶している送信可能な最大データ容量SendMaxから送信したデータ容量(datasize)を差し引いて、記憶しているデータサイズを超えないようにする。
情報処理装置10の通信部101は、送信されてきたアプリケーションデータをTCP受信バッファ105に一時的に格納し、フローコントロール受信管理部121は、TCP受信バッファ105からデータを引き抜いて、アプリケーションデータ受信バッファ127に格納する(ステップS125)。
このような処理が繰り返し行われる中で、一定時間データを送信していないことが検知されると(ステップS127)、クライアント機器20のハートビート送信部213は、ハートビートデータHBを生成して、情報処理装置10へと送信する(ステップS129)。
情報処理装置10のTCP受信バッファ105は、常に空き容量があるように管理されているため、クライアント機器20から送信されたハートビートデータHBは、通信部101によって受信され(ステップS131)、TCP受信バッファ105に一旦格納される。情報処理装置10のハートビート受信部123は、TCP受信バッファ105から直ちにハートビートデータHBを引き抜いて、引き抜いたハートビートデータを破棄する(ステップS133)。
このように、本実施形態に係る情報処理方法では、接続確立時に送信先の装置から通知されるアプリケーションデータ受信バッファの空き容量(すなわち、初期空き容量サイズ情報)と、アプリケーションデータ受信バッファの空き容量が増加した際に通知される増分サイズ情報とを用いて、送信元の装置でデータの送信量を計算することが可能である。そのため、送信元の装置から送信されたアプリケーションデータのデータ容量は、最大でも送信先の装置のアプリケーションデータ受信バッファの空き容量の大きさとなり、必ず送信先のアプリケーションデータ受信バッファ127に格納可能な容量となる。そのため、送信先の装置のTCP受信バッファ(上述の例では、情報処理装置10のTCP受信バッファ105)は、必ず空き容量が存在することとなる。
また、送信元の装置(上述の例ではクライアント機器20)から送信されたハートビートデータは、必ず送信先の装置(上述の例では情報処理装置10)に受信される。そのため、送信元の装置から送信先の装置へハートビートデータHBを送信し続けることが可能となり、プロキシサーバ9の設定によるコネクションの解消を回避することができる。
なお、上述の説明では、クライアント機器20がデータ送信側の装置となり、情報処理装置10がデータ受信側の装置となる場合について説明したが、情報処理装置10がデータ送信側の装置となり、クライアント機器20がデータ受信側の装置となる場合も同様である。すなわち、上述の説明における情報処理装置10のデータ受信部119に換わってクライアント機器20のデータ受信部219が処理を行い、上述の説明におけるクライアント機器20のデータ送信部209に換わって情報処理装置10のデータ送信部109が処理を行うこととなる。
また、上述の説明では、ハートビートデータHBを、確立されているコネクションの維持のために使用しているが、このハートビートデータHBを、装置や通信経路の障害検出に用いることも可能である。例えば、受信側の装置のハートビート受信部は、一定期間ハートビートデータHBまたはアプリケーションデータを受信していないことを検知した場合、確立されているコネクションまたは送信元の装置に何らかの障害が発生していると判断することが可能である。
<ハードウェア構成について>
次に、図8を参照しながら、本発明の各実施形態に係る情報処理装置10のハードウェア構成について、詳細に説明する。図8は、本実施形態に係る情報処理装置10のハードウェア構成を説明するためのブロック図である。
情報処理装置10は、主に、CPU301と、ROM303と、RAM305と、ホストバス307と、ブリッジ309と、外部バス311と、インターフェース313と、入力装置315と、出力装置317と、ストレージ装置319と、ドライブ321と、接続ポート323と、通信装置325とを備える。
CPU301は、演算処理装置および制御装置として機能し、ROM303、RAM305、ストレージ装置319、またはリムーバブル記録媒体327に記録された各種プログラムに従って、情報処理装置10内の動作全般またはその一部を制御する。ROM303は、CPU301が使用するプログラムや演算パラメータ等を記憶する。RAM305は、CPU301の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバス等の内部バスにより構成されるホストバス307により相互に接続されている。
ホストバス307は、ブリッジ309を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス311に接続されている。
入力装置315は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなどユーザが操作する操作手段である。また、入力装置315は、例えば、赤外線やその他の電波を利用したリモートコントロール手段(いわゆる、リモコン)であってもよいし、情報処理装置10の操作に対応した携帯電話やPDA等の外部接続機器329であってもよい。さらに、入力装置315は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU301に出力する入力制御回路などから構成されている。情報処理装置10のユーザは、この入力装置315を操作することにより、情報処理装置10に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置317は、例えば、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置およびランプなどの表示装置や、スピーカおよびヘッドホンなどの音声出力装置や、プリンタ装置、携帯電話、ファクシミリなど、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置317は、例えば、情報処理装置10が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置10が行った各種処理により得られた結果を、テキストまたはイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
ストレージ装置319は、情報処理装置10の記憶部の一例として構成されたデータ格納用の装置であり、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイス等により構成される。このストレージ装置319は、CPU301が実行するプログラムや各種データ、および外部から取得した音響信号データや画像信号データなどを格納する。
ドライブ321は、記録媒体用リーダライタであり、情報処理装置10に内蔵、あるいは外付けされる。ドライブ321は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体327に記録されている情報を読み出して、RAM305に出力する。また、ドライブ321は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体327に記録を書き込むことも可能である。リムーバブル記録媒体327は、例えば、DVDメディア、HD−DVDメディア、Blu−rayメディア、コンパクトフラッシュ(登録商標)(CompactFlash:CF)、メモリースティック、または、SDメモリカード(Secure Digital memory card)等である。また、リムーバブル記録媒体327は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit card)または電子機器等であってもよい。
接続ポート323は、例えば、USB(Universal Serial Bus)ポート、i.Link等のIEEE1394ポート、SCSI(Small Computer System Interface)ポート、RS−232Cポート、光オーディオ端子、HDMI(High−Definition Multimedia Interface)ポート等の、機器を情報処理装置10に直接接続するためのポートである。この接続ポート323に外部接続機器329を接続することで、情報処理装置10は、外部接続機器329から直接音響信号データや画像信号データを取得したり、外部接続機器329に音響信号データや画像信号データを提供したりする。
通信装置325は、例えば、通信網331に接続するための通信デバイス等で構成された通信インターフェースである。通信装置325は、例えば、有線または無線LAN(Local Area Network)、Bluetooth、またはWUSB(Wireless USB)用の通信カード、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデム等である。この通信装置325は、例えば、インターネットや他の通信機器との間で音響信号等を送受信することができる。また、通信装置325に接続される通信網331は、有線または無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信等であってもよい。
以上、本発明の各実施形態に係る情報処理装置10の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
なお、本発明の各実施形態に係るクライアント機器20は、本発明の各実施形態に係る情報処理装置10と同様のハードウェア構成を有するため、詳細な説明は省略する。
なお、本発明の各実施形態に係る情報処理装置10は、以下に示すような機能を有するプログラムとして提供されることも可能である。このプログラムは、接続をイニシエートするクライアント機器との間に接続を確立する接続待ち受け機能と、クライアント機器から送信されたデータをアプリケーションデータ受信バッファへと転送するとともに、アプリケーションデータ受信バッファの空き容量を監視して当該アプリケーションデータ受信バッファが受信可能なデータ容量をクライアント機器に通知するフローコントロール受信管理機能と、クライアント機器から送信されたデータをアプリケーションデータ受信バッファから取得して、上位アプリケーションに伝送するアプリケーションデータ受信機能と、をコンピュータに実現させるためのプログラムである。
このコンピュータプログラムは、コンピュータが備える記憶部に格納され、コンピュータが備えるCPUに読み込まれて実行されることにより、コンピュータを上記の情報処理装置10として機能させる。また、コンピュータプログラムが記録された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
また、本発明の各実施形態に係るクライアント機器20は、以下に示すような機能を有するプログラムとして提供されることも可能である。このプログラムは、情報処理装置との間の接続をイニシエートして、当該情報処理装置との間に接続を確立する接続確立機能と、情報処理装置に対して送信されるデータを上位アプリケーションから取得して、アプリケーションデータ送信バッファに伝送するアプリケーションデータ送信機能と、アプリケーションデータ送信バッファから情報処理装置へ送信するデータを取得し、情報処理装置から通知される当該情報処理装置が受信可能なデータ容量に基づいて、取得したデータを情報処理装置に送信するフローコントロール送信管理機能と、をコンピュータに実現させるためのプログラムである。
このコンピュータプログラムは、コンピュータが備える記憶部に格納され、コンピュータが備えるCPUに読み込まれて実行されることにより、コンピュータを上記のクライアント機器20として機能させる。また、コンピュータプログラムが記録された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
このように、本発明の各実施形態によれば、インアクティビティを検出した場合にはHTTPトランザクションのTCPコネクションを切断するという、一般的な設定条件が設定されたプロキシサーバに接続されている装置に対して、HTTPトンネリングを行うことが可能となる。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
本発明の第1の実施形態に係る情報処理システムを説明するための説明図である。 同実施形態に係る情報処理装置の構成を説明するためのブロック図である。 同実施形態に係るクライアント機器の構成を説明するためのブロック図である。 同実施形態に係る情報処理システムを概略的に説明するための説明図である。 同実施形態に係る情報処理システムを概略的に説明するための説明図である。 同実施形態に係る情報処理システムで行われる情報処理方法を説明するための説明図である。 同実施形態に係る情報処理システムで行われる情報処理方法を説明するための説明図である。 同実施形態に係る情報処理システムで行われる情報処理方法を説明するための説明図である。 同実施形態に係る情報処理システムで行われる情報処理方法を説明するための説明図である。 同実施形態に係る情報処理システムで行われる情報処理方法を説明するための流れ図である。 同実施形態に係る情報処理システムで行われる情報処理方法を説明するための流れ図である。 同実施形態に係る情報処理システムで行われる情報処理方法を説明するための流れ図である。 同実施形態に係る情報処理装置のハードウェア構成を説明するためのブロック図である。 リモートアクセスによる接続を説明するための説明図である。 リモートアクセスによる接続を説明するための説明図である。 リモートアクセスによる接続を説明するための説明図である。 リモートアクセスによる接続を説明するための説明図である。 TCPにおけるフローコントロールを説明するための説明図である。 TCPにおけるフローコントロールを説明するための説明図である。 プロキシサーバを介したリモートアクセスによる接続の問題点を説明するための説明図である。
符号の説明
1 情報処理システム
9 プロキシサーバ
10 情報処理装置
20 クライアント機器
101,201 通信部
103,203 TCP送信バッファ
105,205 TCP受信バッファ
107 コネクション待ち受け部
109,209 データ送信部
111,211 フローコントロール送信管理部
113,213 ハートビート送信部
115,215 アプリケーションデータ送信部
117,217 アプリケーションデータ送信バッファ
119,219 データ受信部
121,221 フローコントロール受信管理部
123,223 ハートビート受信部
125,225 アプリケーションデータ受信部
127,227 アプリケーションデータ受信バッファ
207 コネクション確立部
VS 初期空き容量サイズデータ
AS 増分サイズデータ
HB ハートビートデータ
P パケット

Claims (13)

  1. 接続をイニシエートするクライアント機器との間に接続を確立する接続待ち受け部と、
    前記クライアント機器との通信を制御する通信部と、
    前記通信部が前記クライアント機器から受信したデータが一時保存される通信部受信バッファと、
    前記クライアント機器から送信されるデータを受信するデータ受信部と、
    前記クライアント機器から送信される接続維持用制御情報を受信する接続維持用制御情報受信部と、
    を備え、
    前記データ受信部は、
    前記クライアント機器から送信されるデータが一時保存されるアプリケーションデータ受信バッファと、
    前記クライアント機器から送信された前記データを前記アプリケーションデータ受信バッファから取得して、上位アプリケーションに伝送するアプリケーションデータ受信部と、
    前記アプリケーションデータ受信バッファの空き容量を監視して当該アプリケーションデータ受信バッファが受信可能なデータ容量を前記クライアント機器に通知するとともに、前記クライアント機器から送信されたデータを前記アプリケーションデータ受信バッファへと転送するフローコントロール受信管理部と、
    を有し、
    前記フローコントロール受信管理部は、前記通信部受信バッファに一時保存されている前記データを、前記アプリケーションデータ受信バッファへと転送し、
    前記接続維持用制御情報受信部は、前記接続維持用制御情報を受信すると、受信した当該接続維持用制御情報を破棄する、情報処理装置。
  2. 前記フローコントロール受信管理部は、前記クライアント機器との接続が確立した際に、前記アプリケーションデータ受信バッファが受信可能なデータ容量を前記クライアント機器へと通知する、請求項1に記載の情報処理装置。
  3. 前記フローコントロール受信管理部は、前記空き容量が増加した際に、当該空き容量の増加量を前記クライアント機器へと通知する、請求項2に記載の情報処理装置。
  4. 前記情報処理装置は、前記クライアント機器に対してデータを送信するデータ送信部を更に備え、
    前記データ送信部は、
    前記クライアント機器に対して送信されるデータが一時保存されるアプリケーションデータ送信バッファと、
    前記クライアント機器に対して送信されるデータを上位アプリケーションから取得して、前記アプリケーションデータ送信バッファに伝送するアプリケーションデータ送信部と、
    前記アプリケーションデータ送信バッファから前記データを取得し、前記クライアント機器から通知される当該クライアント機器が受信可能なデータ容量に基づいて、取得した前記データを前記クライアント機器に送信するフローコントロール送信管理部と、
    を有する、請求項1に記載の情報処理装置。
  5. 前記情報処理装置は、
    記通信部が前記クライアント機器へ送信するデータが一時保存される通信部送信バッファと、
    を更に有し、
    前記フローコントロール送信管理部は、前記アプリケーションデータ送信バッファに一時保存されているデータを、前記通信部送信バッファへと転送する、請求項に記載の情報処理装置。
  6. 接続をイニシエートするクライアント機器との間に接続を確立するステップと、
    前記クライアント機器から送信されるデータが一時保存されるアプリケーションデータ受信バッファの空き容量に基づいて、前記クライアント機器に前記アプリケーションデータ受信バッファが受信可能なデータ容量を通知するステップと、
    前記クライアント機器から受信したデータを、クライアント機器との通信を制御する通信部が利用する通信部受信バッファに一時保存するステップと、
    前記クライアント機器から送信された前記通信部受信バッファに一時保存された前記データを、前記アプリケーションデータ受信バッファに転送して一時保存するステップと、
    前記アプリケーションデータ受信バッファに一時保存された前記データを、上位アプリケーションに伝送するステップと、
    を含み、
    前記クライアント機器から送信される接続維持用制御情報を受信すると、受信した当該接続維持用制御情報を破棄する、情報処理方法。
  7. 前記クライアント機器に対して送信されるデータを上位アプリケーションから取得して、前記クライアント機器に対して送信されるデータが一時保存されるアプリケーションデータ送信バッファに取得した前記データを伝送するステップと、
    前記アプリケーションデータ送信バッファから前記データを取得し、前記クライアント機器から通知される当該クライアント機器が受信可能なデータ容量に基づいて、取得した前記データを前記クライアント機器に送信するステップと、
    を更に含む、請求項に記載の情報処理方法。
  8. 情報処理装置との間の接続をイニシエートして、当該情報処理装置との間に接続を確立する接続確立部と、
    前期情報処理装置に対してデータを送信するデータ送信部と、
    を備え、
    前記データ送信部は、
    前記情報処理装置に対して送信されるデータが一時保存されるアプリケーションデータ送信バッファと、
    前記情報処理装置に対して送信されるデータを上位アプリケーションから取得して、前記アプリケーションデータ送信バッファに伝送するアプリケーションデータ送信部と、
    前記アプリケーションデータ送信バッファから前記データを取得し、前記情報処理装置から通知される当該情報処理装置が受信可能なデータ容量に基づいて、取得した前記データを前記情報処理装置に送信するフローコントロール送信管理部と、
    前記情報処理装置との間で確立された接続を維持する接続維持用制御情報を送信する接続維持用制御情報送信部と、
    を有し、
    前記接続維持用制御情報送信部は、前記情報処理装置との間で所定時間通信を行っていない場合に、前記接続維持用制御情報を前記情報処理装置に対して送信する、クライアント機器。
  9. 前記クライアント機器は、前記情報処理装置から送信されるデータを受信するデータ受信部を更に備え、
    前記データ受信部は、
    前記情報処理装置から送信されるデータが一時保存されるアプリケーションデータ受信バッファと、
    前記情報処理装置から送信された前記データを前記アプリケーションデータ受信バッファから取得して、上位アプリケーションに伝送するアプリケーションデータ受信部と、
    前記アプリケーションデータ受信バッファの空き容量を監視して当該アプリケーションデータ受信バッファが受信可能なデータ容量を前記情報処理装置に通知するとともに、前記情報処理装置から送信されたデータを前記アプリケーションデータ受信バッファへと転送するフローコントロール受信管理部と、
    を有する、請求項に記載のクライアント機器。
  10. 情報処理装置との間の接続をイニシエートして、当該情報処理装置との間に接続を確立するステップと、
    前記情報処理装置に対して送信されるデータを上位アプリケーションから取得して、前記情報処理装置に対して送信されるデータが一時保存されるアプリケーションデータ送信バッファに取得した前記データを伝送するステップと、
    前記アプリケーションデータ送信バッファから前記データを取得し、前記情報処理装置から通知される当該情報処理装置が受信可能なデータ容量に基づいて、取得した前記データを前記情報処理装置に送信するステップと、
    を含み、
    前記情報処理装置との間で所定時間通信を行っていない場合に、前記情報処理装置との間で確立された接続を維持する接続維持用制御情報を前記情報処理装置に対して送信する、情報処理方法。
  11. 前記情報処理装置から送信されるデータが一時保存されるアプリケーションデータ受信バッファの空き容量に基づいて、前記情報処理装置に前記アプリケーションデータ受信バッファが受信可能なデータ容量を通知するステップと、
    前記情報処理装置から送信された前記データを前記アプリケーションデータ受信バッファに一時保存するステップと、
    前記アプリケーションデータ受信バッファに一時保存された前記データを、上位アプリケーションに伝送するステップと、
    を更に含む、請求項10に記載の情報処理方法。
  12. 情報処理装置との間の接続をイニシエートして、当該情報処理装置との間に接続を確立する接続確立部と、
    前記情報処理装置に対してデータを送信するデータ送信部と、
    を備え、
    前記データ送信部は、
    前記情報処理装置に対して送信されるデータが一時保存されるアプリケーションデータ送信バッファと、
    前記情報処理装置に対して送信されるデータを上位アプリケーションから取得して、前記アプリケーションデータ送信バッファに伝送するアプリケーションデータ送信部と、
    前記アプリケーションデータ送信バッファから前記データを取得し、前記情報処理装置から通知される当該情報処理装置が受信可能なデータ容量に基づいて、取得した前記データを前記情報処理装置に送信するフローコントロール送信管理部と、
    前記情報処理装置との間で確立された接続を維持する接続維持用制御情報を送信する接続維持用制御情報送信部と、
    を有し、
    前記接続維持用制御情報送信部は、前記情報処理装置との間で所定時間通信を行っていない場合に、前記接続維持用制御情報を前記情報処理装置に対して送信するクライアント機器と、
    前記クライアント機器との間に接続を確立する接続待ち受け部と、
    前記クライアント機器との通信を制御する通信部と、
    前記通信部が前記クライアント機器から受信したデータが一時保存される通信部受信バッファと、
    前記クライアント機器から送信されるデータを受信するデータ受信部と、
    前記クライアント機器から送信される接続維持用制御情報を受信する接続維持用制御情報受信部と、
    を備え、
    前記データ受信部は、
    前記クライアント機器から送信されるデータが一時保存されるアプリケーションデータ受信バッファと、
    前記クライアント機器から送信された前記データを前記アプリケーションデータ受信バッファから取得して、上位アプリケーションに伝送するアプリケーションデータ受信部と、
    前記アプリケーションデータ受信バッファの空き容量を監視して当該アプリケーションデータ受信バッファが受信可能なデータ容量を前記クライアント機器に通知するとともに、前記クライアント機器から送信されたデータを前記アプリケーションデータ受信バッファへと転送するフローコントロール受信管理部と、
    を有し、
    前記フローコントロール受信管理部は、前記通信部受信バッファに一時保存されている前記データを、前記アプリケーションデータ受信バッファへと転送し、
    前記接続維持用制御情報受信部は、前記接続維持用制御情報を受信すると、受信した当該接続維持用制御情報を破棄する情報処理装置と、
    を含む、情報処理システム。
  13. 前記情報処理装置は、前記クライアント機器に対してデータを送信するデータ送信部を更に備え、
    前記データ送信部は、
    前記クライアント機器に対して送信されるデータが一時保存されるアプリケーションデータ送信バッファと、
    前記クライアント機器に対して送信されるデータを上位アプリケーションから取得して、前記アプリケーションデータ送信バッファに伝送するアプリケーションデータ送信部と、
    前記アプリケーションデータ送信バッファから前記データを取得し、前記クライアント機器から通知される当該クライアント機器が受信可能なデータ容量に基づいて、取得した前記データを前記クライアント機器に送信するフローコントロール送信管理部と、
    を有し、
    前記クライアント機器は、前記情報処理装置から送信されるデータを受信するデータ受信部を更に備え、
    前記データ受信部は、
    前記情報処理装置から送信されるデータが一時保存されるアプリケーションデータ受信バッファと、
    前記情報処理装置から送信された前記データを前記アプリケーションデータ受信バッファから取得して、上位アプリケーションに伝送するアプリケーションデータ受信部と、
    前記アプリケーションデータ受信バッファの空き容量を監視して当該アプリケーションデータ受信バッファが受信可能なデータ容量を前記情報処理装置に通知するとともに、前記情報処理装置から送信されたデータを前記アプリケーションデータ受信バッファへと転送するフローコントロール受信管理部と、
    を有する、請求項12に記載の情報処理システム。
JP2008072374A 2008-03-19 2008-03-19 情報処理装置、情報処理方法、クライアント機器、情報処理システム Expired - Fee Related JP4557028B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008072374A JP4557028B2 (ja) 2008-03-19 2008-03-19 情報処理装置、情報処理方法、クライアント機器、情報処理システム
EP20090250742 EP2104282B1 (en) 2008-03-19 2009-03-17 Information processing unit, information processing method, client device and information processing system to maintain a network connection
US12/406,646 US8874756B2 (en) 2008-03-19 2009-03-18 Information processing unit, information processing method, client device and information processing system
CN200910119020XA CN101540769B (zh) 2008-03-19 2009-03-18 信息处理单元、客户端设备、信息处理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008072374A JP4557028B2 (ja) 2008-03-19 2008-03-19 情報処理装置、情報処理方法、クライアント機器、情報処理システム

Publications (2)

Publication Number Publication Date
JP2009231975A JP2009231975A (ja) 2009-10-08
JP4557028B2 true JP4557028B2 (ja) 2010-10-06

Family

ID=40790787

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008072374A Expired - Fee Related JP4557028B2 (ja) 2008-03-19 2008-03-19 情報処理装置、情報処理方法、クライアント機器、情報処理システム

Country Status (4)

Country Link
US (1) US8874756B2 (ja)
EP (1) EP2104282B1 (ja)
JP (1) JP4557028B2 (ja)
CN (1) CN101540769B (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9860274B2 (en) 2006-09-13 2018-01-02 Sophos Limited Policy management
WO2010042578A1 (en) * 2008-10-08 2010-04-15 Citrix Systems, Inc. Systems and methods for real-time endpoint application flow control with network structure component
JP5551899B2 (ja) * 2009-07-14 2014-07-16 任天堂株式会社 情報処理システム、情報処理装置、情報処理プログラム
US20110113134A1 (en) * 2009-11-09 2011-05-12 International Business Machines Corporation Server Access Processing System
JP5385847B2 (ja) * 2010-05-06 2014-01-08 富士フイルム株式会社 中継サーバ,その動作制御方法およびその動作制御プログラム
EP2403195B1 (fr) * 2010-06-30 2017-08-02 Orange Procédé et dispositif de chargement de contenu visant à réduire la bande passante lors de transferts de données
US8644960B2 (en) 2010-10-22 2014-02-04 Gecko Alliance Group Inc. Method and system for providing ambiance settings in a bathing system
JP5573709B2 (ja) 2011-01-31 2014-08-20 ブラザー工業株式会社 通信装置
JP5592301B2 (ja) * 2011-03-31 2014-09-17 エヌ・ティ・ティ・コミュニケーションズ株式会社 クライアント装置、通信システム、生存確認方法、及びプログラム
US8745157B2 (en) * 2011-09-02 2014-06-03 Trading Technologies International, Inc. Order feed message stream integrity
US20130166965A1 (en) * 2011-12-23 2013-06-27 Christian Brochu Method and system for providing remote monitoring and control of a bathing system
JP5880688B2 (ja) * 2012-03-27 2016-03-09 ソニー株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
US9247033B2 (en) * 2012-12-26 2016-01-26 Google Inc. Accessing payload portions of client requests from client memory storage hardware using remote direct memory access
JP6106494B2 (ja) * 2013-03-29 2017-03-29 株式会社東芝 通信制御装置、サーバ装置、通信システム及びプログラム
US9015378B2 (en) * 2013-05-15 2015-04-21 Google Inc. Determining sensor information in the background on a mobile device
US9767105B2 (en) * 2013-12-11 2017-09-19 Viavi Solutions Uk Limited Method and apparatus for managing data
JP6389661B2 (ja) * 2014-07-04 2018-09-12 キヤノン株式会社 情報処理装置および情報処理方法
CN104363200B (zh) * 2014-10-10 2018-08-28 福建联迪商用设备有限公司 一种蓝牙传输的控制方法及装置
JP6391532B2 (ja) 2015-05-20 2018-09-19 キヤノン株式会社 通信装置、通信方法、及びプログラム
US10159624B2 (en) 2015-09-11 2018-12-25 Gecko Alliance Group Inc. Method for facilitating control of a bathing unit system and control panel implementing same
JP2017120959A (ja) * 2015-12-28 2017-07-06 三菱電機株式会社 一方向通信装置およびプラント監視制御システム
CN105610840B (zh) * 2015-12-31 2018-09-11 华为技术有限公司 数据接收方法、装置和网卡
CN105959237A (zh) * 2016-04-20 2016-09-21 努比亚技术有限公司 一种信息处理方法及电子设备
CN106716975B (zh) * 2016-12-27 2020-01-24 深圳前海达闼云端智能科技有限公司 传输链路的续传方法、装置和系统
JP2019036088A (ja) * 2017-08-14 2019-03-07 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
US11093624B2 (en) 2017-09-12 2021-08-17 Sophos Limited Providing process data to a data recorder
CN108183835B (zh) * 2017-12-08 2021-05-07 中国航空工业集团公司成都飞机设计研究所 一种分布式系统军用1394总线数据完整性监控方法
CN110048958A (zh) * 2018-01-16 2019-07-23 厦门亿联网络技术股份有限公司 一种系统间消息流传输的缓冲区控制方法
US11116692B2 (en) 2018-06-07 2021-09-14 Gecko Alliance Group Inc. Method, system, computer program product and device for facilitating centralized control and monitoring over a network of a set of remote bathing unit systems
JP7336291B2 (ja) * 2019-07-25 2023-08-31 Tis株式会社 サーバ装置、プログラム、および情報処理方法
US11770224B1 (en) 2022-06-28 2023-09-26 Preddio Technologies Inc. Guaranteed feed observance window for telecommunication

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04276948A (ja) * 1991-03-04 1992-10-02 Nippon Telegr & Teleph Corp <Ntt> トランスポート通信方法
JP2003069610A (ja) * 2001-08-22 2003-03-07 Canon Inc 通信装置、その制御方法、通信システム、及び制御プログラム
JP2003218977A (ja) * 2002-01-17 2003-07-31 Wada Koichi 通信装置及びその通信制御方法とプログラム
JP2006261805A (ja) * 2005-03-15 2006-09-28 Fujitsu Ltd 負荷分散装置および負荷分散方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2929991B2 (ja) * 1996-01-29 1999-08-03 日本電気株式会社 最適化クレジット制御方法
US6345296B1 (en) * 1997-07-02 2002-02-05 Unisys Corporation Method system and computer program product for providing pull model data communication
JP3620010B2 (ja) * 1998-05-22 2005-02-16 富士通株式会社 無線通信システムで用いられる装置とプログラム記録媒体
US6157955A (en) * 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US6594701B1 (en) 1998-08-04 2003-07-15 Microsoft Corporation Credit-based methods and systems for controlling data flow between a sender and a receiver with reduced copying of data
AU2001271609A1 (en) * 2000-06-30 2002-01-14 Kanad Ghose System and method for fast, reliable byte stream transport
EP1368948A2 (en) * 2000-10-26 2003-12-10 Prismedia Networks, Inc. Method and apparatus for large payload distribution in a network
US7085846B2 (en) * 2001-12-31 2006-08-01 Maxxan Systems, Incorporated Buffer to buffer credit flow control for computer network
US6871257B2 (en) * 2002-02-22 2005-03-22 Sandisk Corporation Pipelined parallel programming operation in a non-volatile memory system
US7092975B2 (en) * 2003-02-12 2006-08-15 Ge Mortgage Holdings, Llc Methods and apparatus for management of data storage resources
US7911994B2 (en) * 2003-02-28 2011-03-22 Openwave Systems Inc. Confirmation of delivery of content to an HTTP/TCP device
US8417852B2 (en) * 2003-06-05 2013-04-09 Nvidia Corporation Uploading TCP frame data to user buffers and buffers in system memory
US20080089347A1 (en) * 2003-08-29 2008-04-17 End Ii End Communications Inc. Systems and methods for broadband network optimization
US7962623B2 (en) 2004-06-30 2011-06-14 Microsoft Corporation Sustaining session connections
CN101964705B (zh) * 2005-01-28 2012-08-08 夏普株式会社 通信设备、通信系统、通信方法、通信程序、通信电路
US20070011358A1 (en) * 2005-06-30 2007-01-11 John Wiegert Mechanisms to implement memory management to enable protocol-aware asynchronous, zero-copy transmits
JP4777996B2 (ja) * 2005-10-03 2011-09-21 パナソニック株式会社 通信装置、通信方法、プログラムおよび集積回路
US7640358B2 (en) * 2006-11-09 2009-12-29 Sharp Laboratories Of America, Inc. Methods and systems for HTTP streaming using an intelligent HTTP client
US20090217030A1 (en) * 2008-02-26 2009-08-27 Premkumar J Adaptive server performance adjustment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04276948A (ja) * 1991-03-04 1992-10-02 Nippon Telegr & Teleph Corp <Ntt> トランスポート通信方法
JP2003069610A (ja) * 2001-08-22 2003-03-07 Canon Inc 通信装置、その制御方法、通信システム、及び制御プログラム
JP2003218977A (ja) * 2002-01-17 2003-07-31 Wada Koichi 通信装置及びその通信制御方法とプログラム
JP2006261805A (ja) * 2005-03-15 2006-09-28 Fujitsu Ltd 負荷分散装置および負荷分散方法

Also Published As

Publication number Publication date
EP2104282A1 (en) 2009-09-23
CN101540769A (zh) 2009-09-23
US20090240766A1 (en) 2009-09-24
CN101540769B (zh) 2012-06-27
JP2009231975A (ja) 2009-10-08
EP2104282B1 (en) 2011-11-02
US8874756B2 (en) 2014-10-28

Similar Documents

Publication Publication Date Title
JP4557028B2 (ja) 情報処理装置、情報処理方法、クライアント機器、情報処理システム
US9246915B2 (en) Streaming media for portable devices
TW200820677A (en) Device and method for configuring a target device
JP6193185B2 (ja) 通信装置、端末装置およびプログラム
JP2010510715A (ja) 冗長の接続を除去する方法
US10075564B1 (en) Methods, systems, and computer program products for sharing information for detecting an idle TCP connection
JP6576099B2 (ja) 通信装置、通信装置の制御方法、プログラム、および、通信システム
US8838813B2 (en) Information processing unit, information processing method, remote server, and information processing system
JP2022184168A (ja) 端末装置、サーバ装置、通信方法及びプログラム
JP7120333B2 (ja) データ中継装置、方法、配信システム、プログラム
US9596326B2 (en) Communication apparatus, communication method, and non-transitory computer-readable medium
US20110029679A1 (en) Communication apparatus, communication method and program
AU2014231331B2 (en) System and method for reliable messaging between application sessions across volatile networking conditions
JP2009077024A (ja) Tcpパケット通信装置およびその関連技術
JP2004187099A (ja) 通信制御方法、通信システム及び通信装置
JP2007189383A (ja) Tcp/ip通信中継方法及びtcp/ip通信中継装置
JP4069458B2 (ja) データ通信システムおよびデータ通信方法、データ送信装置およびデータ送信方法、データ受信装置およびデータ受信方法、並びにプログラム
JP6123368B2 (ja) 情報処理装置、通信制御方法及びプログラム
WO2011052001A1 (ja) 通信障害要因推定方法、およびその推定方法を備えた通信装置
JP6410423B2 (ja) 通信制御装置、通信制御方法、及び、プログラム
JP2006109016A (ja) 送受信装置、送受信制御方法、プログラム、およびメモリ
WO2017130275A1 (ja) 中継システム
JP2009081710A (ja) 通信機器及び通信機器に用いられる通信方法
JP6947174B2 (ja) プロキシデバイス、プロキシデバイスの処理方法およびネットワーク装置
KR101526804B1 (ko) Sctp 기반 dlna 스트리밍을 지원하는 공유기

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100315

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100712

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees