JP4245986B2 - ネットワークシステム、該ネットワークシステムにおける端末切替時のデータ・ダウンロード継続方法及びそのプログラム - Google Patents

ネットワークシステム、該ネットワークシステムにおける端末切替時のデータ・ダウンロード継続方法及びそのプログラム Download PDF

Info

Publication number
JP4245986B2
JP4245986B2 JP2003156926A JP2003156926A JP4245986B2 JP 4245986 B2 JP4245986 B2 JP 4245986B2 JP 2003156926 A JP2003156926 A JP 2003156926A JP 2003156926 A JP2003156926 A JP 2003156926A JP 4245986 B2 JP4245986 B2 JP 4245986B2
Authority
JP
Japan
Prior art keywords
user terminal
data
request
proxy server
user
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
JP2003156926A
Other languages
English (en)
Other versions
JP2004362062A (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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2003156926A priority Critical patent/JP4245986B2/ja
Publication of JP2004362062A publication Critical patent/JP2004362062A/ja
Application granted granted Critical
Publication of JP4245986B2 publication Critical patent/JP4245986B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワークシステム、該ネットワークシステムにおける端末切替時のデータ・ダウンロード継続方法及びそのプログラムに関する。
【0002】
【従来の技術】
ユビキタスコンピューティング環境においては、利用者は意識することなく各所に偏在したコンピューティング資源やネットワーク資源を利用する。
このようなユビキタスコンピューティング環境で利用できる技術として、下記の非特許文献1または2に記載の技術が挙げられる。これらの技術の目的は、ユーザがデバイスや通信リンク、コンテンツなどをコンテキストに応じて適切に選択および切り替えることを可能とするものであり、コンテキストに応じた動的な通信切替技術としてセッションレイヤモビリティ手法を提案している。この技術の特徴は、アプリケーションレベルでのインターフェースをIPアドレスとTCP(Transmission Control Protocol)やUDP(User Datagram Protocol)のセッションレベルでのポート番号によって決定するのではなく、新たにアプリケーションレベルでの通信識別子を導入するところにある。ここでの通信識別子の一例として“ホストAとのTELNET通信”が挙げられている。アプリケーションレベルでの通信識別子の導入により、ユーザが使用する端末を切り替えることでIPアドレスやポート番号が変更された場合でも、アプリケーションは再接続することなく、シームレスに通信を継続することができる。
【0003】
他方、非特許文献3に記載の技術が挙げられる。この技術の目的は、デバイスハンドオフ時に、ビデオやオーディオといったストリーミングアプリケーションを継続できるようにすることであり、ハンドオフ時のメディア転送の途切れを削減する技術として、代替サービス発見および予約方式と、それらの方式を実現するミドルウェアを提案している。この技術では、バックグランドでの周期的なデバイス発見や、ユーザから切り替え指示以前に先行的に接続を行う先行接続、デバイス接続完了後のメディア転送先の切り替え(スムーズハンドオフ)により、ユーザの体感的な接続時間の短縮を実現している。また、デバイスハンドオフ時のデータの切り替え手法として、ミドルウェアにおいて通信途中のデータの出力先の変更を行っている。
【0004】
【非特許文献1】
今井 尚樹、外3名,「ユビキタス環境におけるサービスモビリティサポート」,2002年総合大会予稿集,電子情報通信学会,2002年,B−7−13,p.240
【非特許文献2】
金子 晋丈、外4名,「多様化するインターネット環境のためのセッションレイヤモビリティサポート」,2002年総合大会予稿集,電子情報通信学会,2002年,B−7−14,p.241
【非特許文献3】
「シームレスサービス実現のためのモバイルマルチメディアミドルウェア」,情報処理学会研究報告,情報処理学会,2001年,2001−MBL−18,p.261−268
【0005】
【発明が解決しようとする課題】
しかしながら、前者の技術ではデバイスハンドオフを実行する時点で送受信されているデータの処理方法が規定されていない。また、後者の技術では、通信途中にデバイスハンドオフを行った場合に、ハンドオフ先の端末では途中のデータから受信することになる。ストリーミングアプリケーションでは、途中からのデータであっても画像や音声への復号が可能であるが、FTP(File Transfer Protocol)をはじめとするデータのダウンロードでは、データの完全性が必要であり、ハンドオフ先の端末で全データを正しく受信する必要があり、この技術では対応できない。
【0006】
本発明は、上記の点に鑑みてなされたもので、利用者が使用するユーザ端末(デバイス、コンピュータ)を他のユーザ端末に切り替えた場合でも、切り替えた先のユーザ端末で、データのダウンロードを継続して行えるとともに全データを取得できるネットワークシステム、該ネットワークシステムにおける端末切替時のデータ・ダウンロード継続方法及びそのプログラムを提供するものである。
【0007】
【課題を解決するための手段】
請求項1に記載の発明は、ネットワークに接続される少なくとも2以上のユーザ端末と、前記ネットワークを介して前記ユーザ端末が接続するプロキシサーバとを含むネットワークシステムにおいて、前記ユーザ端末は、データを記憶する記憶手段と、利用者が使用するアプリケーションと、クライアントプロキシと、を具備してなり、前記クライアントプロキシは、前記アプリケーションからのデータ要求に基づき前記プロキシサーバを介してデータを要求する処理と、前記データ要求により要求されたデータであって該ユーザ端末宛てに送信されたデータを前記アプリケーションに転送するとともに前記記憶手段に格納する処理とを行い、さらに、利用者が、使用するユーザ端末をユーザ端末1からユーザ端末2に切り替える操作をすると、ユーザ端末1のクライアントプロキシは、ユーザ端末2に対し、前記プロキシサーバ宛ての経路切替要求を送信する処理と、さらに、前記記憶手段に格納されたデータを転送する処理とを行い、ユーザ端末2のクライアントプロキシは、ユーザ端末1から受信した経路切替要求を前記プロキシサーバに転送する処理を行うことを特徴とし、前記プロキシサーバは、前記経路切替要求を受信すると、前記ユーザ端末1宛てに送信中のデータを前記ユーザ端末2宛てに送信を切り替えることを特徴としている。
【0008】
また、請求項2に記載の発明は、請求項1に記載のネットワークシステムにおいて、前記ユーザ端末1とユーザ端末2とを無線通信媒体を介して接続し、利用者が、使用するユーザ端末をユーザ端末1からユーザ端末2に切り替える操作をしたときに、前記ユーザ端末1のクライアントプロキシは、前記無線通信媒体を介して、前記記憶手段に格納されたデータを前記ユーザ端末2に転送することを特徴としている。
【0009】
また、請求項3に記載の発明は、請求項1または請求項2に記載のネットワークシステムにおいて、ハンドオフ前の前記ユーザ端末のクライアントプロキシは、前記プロキシサーバへのデータ要求および経路切替要求のそれぞれに、当該ユーザ端末の識別情報および通信セッションの識別情報を付加し、前記プロキシサーバは、先に受信したデータ要求および現に受信した経路切替要求に付加されたユーザ端末の識別情報および通信セッションの識別情報から、経路切替を行うユーザ端末と通信セッションを識別することを特徴としている。
【0010】
また、請求項4に記載の発明は、請求項3に記載のネットワークシステムにおいて、前記経路切替要求に、切替先のユーザ端末の識別情報がさらに付加されることを特徴としている。
【0011】
また、請求項5に記載の発明は、請求項4に記載のネットワークシステムにおいて、前記ユーザ端末の識別情報として、端末名またはIPアドレスを使用することを特徴としている。
【0012】
また、請求項6に記載の発明は、請求項4に記載のネットワークシステムにおいて、前記通信セッションの識別情報として、通信セッションを開始した時刻情報あるいは前記クライアントプロキシが管理するセッション識別子を使用することを特徴としている。
【0013】
また、請求項7に記載の発明は、請求項1から請求項6のいずれかに記載のネットワークシステムにおいて、利用者が、使用するユーザ端末をユーザ端末1からユーザ端末2に切り替える操作をすると、前記プロキシサーバおよび前記ユーザ端末1のクライアントプロキシはそれぞれ、送信するデータのデータサイズを前記ユーザ端末2のクライアントプロキシに通知することを特徴としている。
【0014】
また、請求項8に記載の発明は、請求項1から請求項6のいずれかに記載のネットワークシステムにおいて、利用者が、使用するユーザ端末をユーザ端末1からユーザ端末2に切り替える操作をすると、前記プロキシサーバまたは前記ユーザ端末1のクライアントプロキシは、前記データ要求により要求されたデータの全データのサイズと送信するデータのデータサイズとを前記ユーザ端末2のクライアントプロキシに通知することを特徴としている。
【0015】
また、請求項9に記載の発明は、請求項1から請求項8のいずれかに記載のネットワークシステムにおいて、前記データ要求および経路切替要求にHTTP(Hypertext Transfer Protocol)プロトコルのリクエストを使用することを特徴としている。
【0016】
また、請求項10に記載の発明は、請求項7から請求項9のいずれかに記載のネットワークシステムにおいて、前記データサイズの通知に、HTTPレスポンスヘッダ内のContent−Lengthを使用することを特徴としている。
【0017】
また、請求項11に記載の発明は、ネットワークに接続される少なくとも2以上のユーザ端末と、前記ネットワークを介して前記ユーザ端末が接続するプロキシサーバとを含むネットワークシステムにおける端末切替時のデータ・ダウンロード継続方法であって、前記ユーザ端末にて、利用者が使用するアプリケーションからのデータ要求に基づき前記プロキシサーバを介してデータを要求する手順と、前記データ要求により要求されたデータであって該ユーザ端末宛てに送信されたデータを前記アプリケーションに転送するとともに当該ユーザ端末に備わる記憶手段に格納する手順と、を実行し、さらに、利用者が、使用する前記ユーザ端末をユーザ端末1からユーザ端末2に切り替える操作をすると、前記ユーザ端末1は、前記ユーザ端末2を介して前記プロキシサーバに経路切替要求を送信し、前記経路切替要求を受信したプロキシサーバは、前記ユーザ端末1宛てに送信中のデータを前記ユーザ端末2宛てに送信を切り替え、前記ユーザ端末1は、先にプロキシサーバから受信し記憶しているデータをユーザ端末2宛てに転送することを特徴としている。
【0018】
また、請求項12に記載の発明は、ユーザ端末に実装されるクライアントプロキシ(プログラム)であって、利用者が使用するアプリケーションからのデータ要求に基づきプロキシサーバを介してデータを要求する手順と、前記データ要求により要求されたデータであって該ユーザ端末宛てに送信されたデータを前記アプリケーションに転送するとともに当該ユーザ端末に備わる記憶手段に格納する手順と、利用者が、使用するユーザ端末を当該ユーザ端末から他のユーザ端末に切り替える操作をすると、切替先のユーザ端末のクライアントプロキシを介して前記プロキシサーバに経路切替要求を送信する手順と前記記憶手段に格納されたデータを切替先のユーザ端末に転送する手順と、をコンピュータに実行させるためのプログラムである。
【0020】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を参照して説明する。
図1に本発明による第1の実施形態のシステム構成を示している。
本実施の形態では、利用者が、デスクトップPCやノートPC、PDA(Personal Digital Assistant)、携帯電話といったユーザ端末を用いて、サーバからデータをダウンロードすることを想定している。本システムは、図1に示すように、少なくとも2台以上のユーザ端末と、プロキシサーバ、サーバとで構成され、各コンピュータは有線あるいは無線でネットワークと接続されている。ネットワークとしては、インターネットの他、LANやダイアルアップによるネットワークを利用してもよい。
【0021】
ユーザ端末は、利用者が使用するアプリケーション(プログラム)と、このアプリケーションからのデータ要求に基づきプロキシサーバを介してサーバからデータを取得し、取得したデータをアプリケーションに転送するとともにキャッシュに格納するクライアントプロキシ(プログラム)とを実装している。このとき、1台のユーザ端末に実装されるクライアントプロキシ数とアプリケーション数の対応として1対1または1対多あるいは多対多のいずれであってもよい。また、キャッシュの実現形態はユーザ端末に備わる書き換え可能な記憶装置(記憶手段)であれば、メモリ、ハードディスクや光ディスク、外部記憶装置といった形態は問わない。
【0022】
次に、本発明による第2の実施形態を説明する。
図2は本発明による第2の実施形態のシステム構成図である。
本実施形態も、基本的には上記第1の実施形態と同様であるが、本実施形態では、同図に示すユーザ端末1およびユーザ端末2は、無線通信媒体により接続されており、ハンドオフ時のユーザ端末間のデータ転送にこの無線通信媒体を使用する。ここで、ユーザ端末間を無線で接続することで、ユーザによる有線ケーブルの接続といった作業を省き、ユーザの利便性を高めることができる。無線通信媒体としては、例えば、無線LAN(Local Area Network)や近距離無線通信、IrDA(Infrared Data Association)等の赤外線通信、UWB(Ultra Wide Band)技術による無線通信等が挙げられる。
【0023】
ここで、上記第1または第2の実施形態において各装置が実行する、端末切替時のデータ・ダウンロード継続方法について、図3を参照し説明する。
図3は本発明によるダウンロード継続方法を説明するためのシーケンス図である。なお、アプリケーション1およびクライアントプロキシ1は、図1または図2に示すユーザ端末1に実装されるプログラムであり、アプリケーション2およびクライアントプロキシ2は、図1または図2に示すユーザ端末2に実装されるプログラムである。
【0024】
図3においてS1〜S6は、ハンドオフ前のユーザ端末(ここでは、ユーザ端末1)を起点とするデータ要求シーケンスで、S7以降はハンドオフ後の経路切替要求シーケンスを示している。
利用者はサーバからデータを取得すべく、ユーザ端末1上のアプリケーション1を用いてデータ要求を行う(S1)。このときのデータ要求は、まず、当該ユーザ端末1のクライアントプロキシ1が受ける。
データ要求を受信したクライアントプロキシ1は、ネットワークを介して接続されたプロキシサーバに対して、このデータ要求を転送する(S2)。
データ要求を受信したプロキシサーバは、サーバに対して、上記データ要求を転送する(S3)。
【0025】
データ要求を受信したサーバは、要求されたデータを保持しているか確認し、保持している場合にはプロキシサーバに対して応答情報(これにはサーバから送信される全データのデータサイズの情報が含まれ、これによりクライアントプロキシ1はデータの全体長を知ることができる)と実際のデータを送信する(S4)。このときに、送信するデータのデータサイズがパケットサイズより大きい場合には、複数のパケットに分割して送信を行う。
サーバからのデータを受信したプロキシサーバは、ユーザ端末1に対してこのデータを転送する(S5)。
プロキシサーバからのデータを受信したユーザ端末1のクライアントプロキシ1は、受信したデータをアプリケーション1に転送するとともに(S6)、このデータをキャッシュに格納する。
【0026】
ここで、利用者が、使用するユーザ端末を切り替える操作として、利用者からクライアントプロキシ1に対して直接あるいは他のプログラムを介してハンドオフの実行要求および、ハンドオフ先のユーザ端末(ここでは、ユーザ端末2)の識別情報(ホスト名(端末名)あるいはIPアドレス等)を通知する(S7)。ハンドオフの実行要求を受けたクライアントプロキシ1は、ハンドオフ先のユーザ端末であるユーザ端末2に対して経路切替要求(後述)を送信する(S8)。ここで送信された経理切替要求は、ユーザ端末2のクライアントプロキシ2が受ける。
そして、ユーザ端末1では、クライアントプロキシ1あるいは他のプログラムによりアプリケーション1を終了する(S9)。
【0027】
経路切替要求を受信したユーザ端末2のクライアントプロキシ2は、先にユーザ端末1のアプリケーション1がデータ要求を出す段階と同一の状態となるように、ユーザ端末2に実装されたアプリケーション2を起動するとともに(S10)、受信した経路切替要求をプロキシサーバに転送する(S11)。
起動したアプリケーション2は、アプリケーション1が先に実行したのと同様にサーバに対するデータ要求を行う(S12)。このデータ要求は、クライアントプロキシ2が受ける。
【0028】
一方、経路切替要求を受信したプロキシサーバは、ユーザ端末1宛てに送信していたデータを、ユーザ端末2宛てに送信するよう経路を切り替え(S13)、応答情報(これには、ユーザ端末1に対する未送信のデータ(すなわち、これからユーザ端末2に送信するデータ)のデータサイズが含まれる)と実際のデータを送信する(S14)。
プロキシサーバからのレスポンス(応答情報と実際のデータ)を受信したユーザ端末2のクライアントプロキシ2は、この応答情報をユーザ端末1のクライアントプロキシ1に転送し、プロキシサーバから受信したデータをキャッシュに格納する(S15)。
【0029】
応答情報を受信したクライアントプロキシ1は、プロキシサーバでの経路切替が正常に行われたことを認識し、これに応じて対応する応答情報とキャッシュに格納していたデータをユーザ端末2に送信する(S16)。なお、このときクライアントプロキシ1から送信されるデータは、前述の第1の実施の形態の場合は、ネットワークを介して送信され、第2の実施の形態の場合は、無線通信媒体を介して送信される。
【0030】
ユーザ端末2のクライアントプロキシ2は、ユーザ端末1のクライアントプロキシ1から受信したデータをアプリケーション2に転送するとともに、このデータをキャッシュに格納する。そして、クライアントプロキシ1から受信したすべてのデータをアプリケーション2に転送した後に、プロキシサーバから受信しキャッシュに格納している後続のデータをアプリケーション2に転送する(S17)。
以上のようにして、端末切替時のデータのダウンロードが継続され、結果として全データがユーザ端末2のアプリケーション2に渡される。
【0031】
ここで、図4に、データ要求(同図(a))および経路切替要求(同図(b))としてHTTPのリクエストを用いた場合のこれらのヘッダ情報の一例を示す。
本例では、プロキシサーバにおいてデータ要求と経路切替要求を判別するため、経路切替要求のヘッダに「Connect:NewLine」を付加している(ここでのNewLineには、ハンドオフ先のユーザ端末(ここでは、ユーザ端末2)の識別情報(端末名あるいはIPアドレス等)が設定され、その他の情報はデータ要求と同一の情報が設定される)。また、プロキシサーバに対し先に渡されるデータ要求と後の経路切替要求とを対応づけるため、データ要求および経路切替要求ともに、端末名(MachineName:sccmobile;これは当該ユーザ端末に割り当てられたIPアドレスでもよい)とデータ要求が発生した時刻情報(Date:Tue,08 Apr 2003 05:06:25.099 GMT)とを付加している。これにより、プロキシサーバが複数の利用者を収容する場合や、単一の利用者が複数のアプリケーションを使用する場合でも、それぞれのユーザ端末に対するそれぞれの通信セッション毎にデバイスハンドオフの実行を制御することが可能となる。
【0032】
次に、図5に、データ要求および経路切替要求としてHTTPのリクエストを用いた場合のデータ要求および経路切替要求のヘッダ情報の他の例を示す。
本例でも、図4に示した例と同様に、プロキシサーバにおいてデータ要求と経路切替要求を判別するため、経路切替要求のヘッダに「Connect:NewLine」を付加している。また、プロキシサーバに対し先に渡されるデータ要求と後の経路切替要求とを対応づけるため、データ要求および経路切替要求に端末名(これは当該ユーザ端末に割り当てられたIPアドレスでもよい)と、本例では特にクライアントプロキシが管理するセッション識別子(ここでは通信セッション毎に割り当てられた数値を用い、図5では、Number:196)を付加している。これにより、上記例と同様に、プロキシサーバが複数の利用者を収容する場合や、単一の利用者が複数のアプリケーションを使用する場合でも、それぞれのユーザ端末に対するそれぞれの通信セッションごとにデバイスハンドオフの実行を制御することが可能となる。
【0033】
以上のように、経路切替要求には、データ要求に含まれる情報が含まれる。この経路切替要求を、前述のようにハンドオフ前のユーザ端末1から、ハンドオフ先のユーザ端末2を介してプロキシサーバに転送することにより、ハンドオフ先のユーザ端末2は、先にプロキシサーバおよびサーバに転送されたデータ要求の内容を知ることができる。したがって、この情報を基に、先にユーザ端末1のアプリケーション1がデータ要求を出す段階と同一の状態となるように、ユーザ端末2に実装されたアプリケーション2を起動させることができる。
【0034】
次に、図6に、プロキシサーバ内のスレッド管理テーブルの一例を示す。
このテーブルは、プロキシサーバが、データの送受信のためにスレッドを用いて並列処理を行う場合に、このスレッド(複数)を管理するためのものである。ここでは、ユーザ端末のクライアントプロキシとの通信セッション毎に、プロキシサーバがスレッドを起動し、そのスレッドがサーバからのデータ取得やクライアントプロキシへのデータ配信、経路切替処理を実行することを想定する。
この図に示すスレッド管理テーブルでは、スレッドの識別情報としてスレッド識別子と、端末名および時刻情報の対応を管理している。なお、端末名の代わりにIPアドレスでも良く、時刻情報の代わりにユーザ端末で管理しているセッション識別子を用いても良い。
【0035】
ここで、データ要求および経路切替要求の受信時のプロキシサーバの動作について、図7を参照し説明する。
図7は、HTTPリクエスト受信時のプロキシサーバの動作フローチャートである。なお、以下に説明する例は、データ要求および経路切替要求に上記HTTPリクエストを用い、スレッドによるデータの送受信の制御を行う場合の動作例である。また、以下では、ユーザ端末の識別情報とこのユーザ端末のIPアドレスとが対応づけられているものとする。
【0036】
プロキシサーバは、はじめに、クライアントプロキシからHTTPリクエストを受信すると、これから得られる送信元のユーザ端末の識別情報を基にそのIPアドレスを取得する(S21)。
次いで、S21で受信したHTTPリクエストが、データ要求であるか経路切替要求であるか判別する(S22)。図4および図5に示した例のように、データ要求と経路切替要求を判別するため、経路切替要求のヘッダに「Connect:NewLine」が付加される場合には、本情報がヘッダ内に含まれているかどうかで判別を行う。
【0037】
S22でHTTPリクエストがデータ要求であると判別した場合には、データ要求で指定されたサーバからデータを取得しかつ取得したデータを、このデータ要求をしたユーザ端末へ転送するためのスレッドを起動する(S23)。
S23で起動したスレッドに対して、スレッド識別子とデータ要求に付加されたユーザ端末の識別情報および通信セッションの識別情報をスレッド管理テーブルへ登録する(S24)。ここでは、ユーザ端末の識別情報として端末名を、通信セッションの識別情報として時刻情報を用いる場合を想定する(図6参照)。
【0038】
S22でHTTPリクエストが経路切替要求であると判別した場合には、ヘッダ内の端末名に該当するスレッドをスレッド管理テーブルから検索する(S25)。
S25でスレッド管理テーブルに該当するスレッドが存在した場合には、そのスレッドの時刻情報がヘッダ内の時刻情報と一致するか照合する(S26)。
S26で時刻情報が一致した場合には、スレッド識別子に対応したスレッドに経路切替要求を行うとともに、切り替え先のIPアドレスとしてS21で取得した送信元のIPアドレス(経路切替要求の場合、このIPアドレスは、この経路切替要求を転送している切替先のユーザ端末のIPアドレスである)を通知する。経路切替要求を受信したスレッドは、現在送信中のデータの送信先を、通知されたIPアドレスに変更する(S27)。
以上のようにして、プロキシサーバにおける経路切替がなされる。
【0039】
次に、図8に、HTTPレスポンスのヘッダ情報の一例を示す。
同図(a)は、プロキシサーバからハンドオフ先のユーザ端末へ送られるHTTPレスポンスであり、プロキシサーバから送信するデータのデータサイズを「Content−Length」に設定している。本データサイズとして、サーバから最初にHTTPレスポンスで通知されるデータサイズ(全データサイズ)から、既にハンドオフ前のユーザ端末に送信したデータサイズを減算した値(すなわち、未送信のデータのデータサイズ)を設定する。一方、同図(b)は、ハンドオフ前のユーザ端末からハンドオフ先のユーザ端末へのHTTPレスポンスであり、ハンドオフ前のユーザ端末が転送するデータサイズを「Content−Length」に設定している。本データサイズとして、ハンドオフ前のユーザ端末がプロキシサーバから既に受信したデータのサイズを設定する。その他の情報は、一般的なHTTPレスポンスのヘッダ情報の内容と同様である。
【0040】
なお、ユーザ端末1が要求したデータのデータサイズ(全データのデータサイズ)は、最初にユーザ端末1からのデータ要求に応じてプロキシサーバから返される応答情報に含まれるので、ハンドオフ前のユーザ端末からハンドオフ先のユーザ端末へのHTTPレスポンスに、上記ハンドオフ前のユーザ端末がプロキシサーバから既に受信したデータのデータサイズと、上記全データのデータサイズとを設定し、上記各データサイズを、ハンドオフ前のユーザ端末からのみハンドオフ先のユーザ端末に与えるようにしてもよい。
【0041】
あるいは、プロキシサーバは、ハンドオフ前のユーザ端末に送信済みのデータサイズと全データのデータサイズの両方がわかるので、上記各データサイズをプロキシサーバからのみハンドオフ先のユーザ端末に与えるようにしてもよい。これらの場合、ハンドオフ先のユーザ端末のクライアントプロキシが、上記各データサイズを基に、ハンドオフ前のユーザ端末およびプロキシサーバの双方から送信されるデータのデータサイズを算出する。もちろん、ハンドオフ前のユーザ端末またはプロキシサーバの一方から、これらの双方から送信される各データのデータサイズを算出して、これらのデータサイズをハンドオフ先のユーザ端末に与えるようにしてもよい。
【0042】
ここで、HTTPレスポンスヘッダ内のContent−Lengthを用いた場合のデータサイズ通知に関する動作について、図9を参照し説明する。
図9は、この場合のデータサイズ通知に関するシーケンス図である。
なお、同図において、ハンドオフ前のシーケンスは、図3に示すS1〜S6と同一であるので図示せず、以下においてもその説明を省略する。また、図3にて示したキャッシュも同様に省略している。
【0043】
また以下の例においては、アプリケーション1からサーバに要求された全データのデータサイズは、サーバから、最初にHTTPレスポンスヘッダ内のContent−Lengthを用いてクライアントプロキシ1に与えられ(以下の例では、このデータサイズは30266232バイトとなる)、切替時のレスポンスにて、プロキシサーバおよびハンドオフ前のユーザ端末1から、ハンドオフ先のユーザ端末2にそれぞれ送信するデータのデータサイズを通知するものとして説明する。
【0044】
はじめに、利用者からクライアントプロキシ1に対して直接あるいは他のプログラムを介してハンドオフの実行要求および、ハンドオフ先のユーザ端末の識別情報(ホスト名あるいはIPアドレス等)を通知する(S31)。
ハンドオフの実行要求を受けたクライアントプロキシ1は、ハンドオフ先のユーザ端末であるユーザ端末2に対して経路切替要求を送信する(S32)。ここで送信された経理切替要求は、ユーザ端末2のクライアントプロキシ2が受ける。
そして、ユーザ端末1では、クライアントプロキシ1あるいは他のプログラムによりアプリケーション1を終了する(S33)。
【0045】
経路切替要求を受信したユーザ端末2のクライアントプロキシ2は、先にユーザ端末1のアプリケーション1がデータ要求を出す段階と同一の状態となるようにユーザ端末2のアプリケーション2を起動するとともに(S34)、プロキシサーバに経路切替要求を転送する(S35)。起動したアプリケーション2は、サーバに対するデータ要求を行う(S36)。このデータ要求は、クライアントプロキシ2が受けるが、プロキシサーバおよびサーバへは転送されない。このときアプリケーション2は、ユーザ端末1においてアプリケーション1がデータ要求を出した時点と同じ状態となる。
【0046】
一方、経路切替要求を受信したプロキシサーバは、ユーザ端末1宛てに送信していたデータを、ユーザ端末2宛てに送信するよう経路を切り替え(S37)、前述のContent−Lengthを含む応答情報と実際のデータを送信する(S38)。ここでは、プロキシサーバがクライアントプロキシ2に送信するデータのサイズとして、5627023バイトを設定している。このプロキシサーバからのレスポンスを受信したユーザ端末2のクライアントプロキシ2は、その応答情報をクライアントプロキシ1に転送する(S39)。
【0047】
クライアントプロキシ2からの応答情報を受信したユーザ端末1のクライアントプロキシ1は、プロキシサーバでの経路切替が正常に行われたことを認識し、Content−Lengthを含む応答情報とキャッシュに格納していたデータをユーザ端末2に送信する(S40)。ここでは、クライアントプロキシ1がユーザ端末2に送信するデータのサイズとして、2463209バイトを設定している。
【0048】
クライアントプロキシ2は、クライアントプロキシ1からのデータを、S40にて送信された応答情報に含まれるContent−Lengthで指定されたサイズ(24639209バイト)だけアプリケーション2に転送した後に(S41)、プロキシサーバからのデータをS38にて送信された応答情報に含まれるContent−Lengthで指定されたサイズ(5627023バイト)だけアプリケーション2に転送する(S42)。このように、プロキシサーバおよびハンドオフ前のユーザ端末1から、ハンドオフ先のユーザ端末2に送信するデータのサイズを通知することで、ハンドオフ先のユーザ端末でアプリケーションに送信するデータのデータサイズを事前に検出することが可能となる。
以上のようにして、ハンドオフ先のアプリケーションに、サーバからダウンロードされる全データが渡される。
【0049】
なお、上記で説明した各動作フローは一例であり、上記の処理の流れに限定されるものではない。
また、クライアントプロキシ(プログラム)およびプロキシサーバの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行させるようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
【0050】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0051】
前述したとおり、利用者が使用するユーザ端末を切り替えた場合に、ハンドオフ前のユーザ端末は既に受信したデータをハンドオフ先のユーザ端末に送信し、プロキシサーバは送信途中のデータをハンドオフ先のユーザ端末に送信することで、ハンドオフ先のユーザ端末でデータのダウンロードを継続することができ、ハンドオフ先のユーザ端末では、ハンドオフ前のユーザ端末から最初に要求した全データを受けることができる。また、ハンドオフ時にハンドオフ先のユーザ端末で新規にダウンロードを行う場合に比べて、ダウンロード時間の短縮が見込まれる。特に、将来的にUWB(Ultra Wide Band)を始めとする短距離無線通信の伝送速度が100Mbit/sから1Gbit/sに高速化される見込みであり、前述の第2の実施の形態のように、ハンドオフ時の端末間のデータ転送にこのような無線通信媒体を用いることで、プロキシサーバからのダウンロードと比べて高速な転送が可能となる。
【0052】
また、プロキシサーバは、データ要求および経路切替要求に付加されたユーザ端末の識別情報および通信セッションの識別情報から、経路切替を行う通信セッションを識別可能とすることで、プロキシサーバが複数の利用者を収容する場合や、単一の利用者が複数のアプリケーションを使用する場合でも、通信セッション毎にデバイスハンドオフの実行を制御することが可能となる。
【0053】
また、ハンドオフ先のユーザ端末のクライアントプロキシは、プロキシサーバおよびハンドオフ前のユーザ端末からのデータの終了を通信セッションの切断で検出することが可能であるが、エラー等の理由でセッションが切断した場合には、プロキシサーバおよびハンドオフ前のユーザ端末から全データを受信したか判別することができない。そのため、利用者が使用するユーザ端末を切り替えたときに、プロキシサーバおよびハンドオフ前のクライアントプロキシは送信するデータのデータサイズ(あるいは、プロキシサーバまたはハンドオフ前のクライアントプロキシのいずれかが、全データのデータサイズと実際に送信するデータのデータサイズ)をハンドオフ先のクライアントプロキシに通知することで、ハンドオフ先のクライアントプロキシでアプリケーションに送信すべきデータサイズを事前に検出することが可能となる。
【0054】
また、インターネット上で広く使われているHTTP(Hypertext Transfer Protocol)プロトコルを本発明に適用することで、現在、多数存在するHTTPを用いたアプリケーションやサーバを修正することなく、本発明を実施することが可能であり、プロキシサーバを制御するプログラムおよびクライアントプロキシの開発が容易となる。
以上、この発明の実施形態を、図面を参照して詳述した。もちろん、本発明の具体的な構成は、上記実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の構成等も含まれる。
【0055】
【発明の効果】
以上、詳細に説明したように、本発明によれば、利用者が使用するユーザ端末を他のユーザ端末に切り替えた場合でも、切り替えた先のユーザ端末で、データのダウンロードを継続して行えるとともに最初に要求した全データを取得することができる。
【図面の簡単な説明】
【図1】 本発明による第1の実施形態のシステム構成図である。
【図2】 本発明による第2の実施形態のシステム構成図である。
【図3】 本発明によるデータ・ダウンロード継続方法のシーケンス図である。
【図4】 本発明によるHTTPのリクエストを用いたデータ要求および経路切替要求のヘッダ情報の一例である。
【図5】 本発明によるHTTPのリクエストを用いたデータ要求および経路切替要求のヘッダ情報の他の例である。
【図6】 本発明によるプロキシサーバが管理するスレッド管理テーブルの一例である。
【図7】 本発明によるHTTPリクエスト受信時のプロキシサーバの動作フローチャートである。
【図8】 本発明によるHTTPレスポンスのヘッダ情報の一例である。
【図9】 本発明によるContent−Lengthを用いたデータサイズ通知に関するシーケンス図である。

Claims (12)

  1. ネットワークに接続される少なくとも2以上のユーザ端末と、前記ネットワークを介して前記ユーザ端末が接続するプロキシサーバとを含むネットワークシステムにおいて、
    前記ユーザ端末は、
    データを記憶する記憶手段と、利用者が使用するアプリケーションと、クライアントプロキシと、を具備してなり、
    前記クライアントプロキシは、前記アプリケーションからのデータ要求に基づき前記プロキシサーバを介してデータを要求する処理と、前記データ要求により要求されたデータであって該ユーザ端末宛てに送信されたデータを前記アプリケーションに転送するとともに前記記憶手段に格納する処理とを行い、さらに、利用者が、使用するユーザ端末をユーザ端末1からユーザ端末2に切り替える操作をすると、ユーザ端末1のクライアントプロキシは、ユーザ端末2に対し、前記プロキシサーバ宛ての経路切替要求を送信する処理と、さらに、前記記憶手段に格納されたデータを転送する処理とを行い、ユーザ端末2のクライアントプロキシは、ユーザ端末1から受信した経路切替要求を前記プロキシサーバに転送する処理を行うことを特徴とし、
    前記プロキシサーバは、
    前記経路切替要求を受信すると、前記ユーザ端末1宛てに送信中のデータを前記ユーザ端末2宛てに送信を切り替える
    ことを特徴とするネットワークシステム。
  2. 前記ユーザ端末1とユーザ端末2とを無線通信媒体を介して接続し、
    利用者が、使用するユーザ端末をユーザ端末1からユーザ端末2に切り替える操作をしたときに、前記ユーザ端末1のクライアントプロキシは、前記無線通信媒体を介して、前記記憶手段に格納されたデータを前記ユーザ端末2に転送する
    ことを特徴とする請求項1に記載のネットワークシステム。
  3. ハンドオフ前の前記ユーザ端末のクライアントプロキシは、前記プロキシサーバへのデータ要求および経路切替要求のそれぞれに、当該ユーザ端末の識別情報および通信セッションの識別情報を付加し、
    前記プロキシサーバは、先に受信したデータ要求および現に受信した経路切替要求に付加されたユーザ端末の識別情報および通信セッションの識別情報から、経路切替を行うユーザ端末と通信セッションを識別する
    ことを特徴とする請求項1または請求項2に記載のネットワークシステム。
  4. 前記経路切替要求に、切替先のユーザ端末の識別情報がさらに付加される
    ことを特徴とする請求項3に記載のネットワークシステム。
  5. 前記ユーザ端末の識別情報として、端末名またはIPアドレスを使用する
    ことを特徴とする請求項4に記載のネットワークシステム。
  6. 前記通信セッションの識別情報として、通信セッションを開始した時刻情報あるいは前記クライアントプロキシが管理するセッション識別子を使用する
    ことを特徴とする請求項4に記載のネットワークシステム。
  7. 利用者が、使用するユーザ端末をユーザ端末1からユーザ端末2に切り替える操作をすると、前記プロキシサーバおよび前記ユーザ端末1のクライアントプロキシはそれぞれ、送信するデータのデータサイズを前記ユーザ端末2のクライアントプロキシに通知する
    ことを特徴とする請求項1から請求項6のいずれかに記載のネットワークシステム。
  8. 利用者が、使用するユーザ端末をユーザ端末1からユーザ端末2に切り替える操作をすると、前記プロキシサーバまたは前記ユーザ端末1のクライアントプロキシは、前記データ要求により要求されたデータの全データのサイズと送信するデータのデータサイズとを前記ユーザ端末2のクライアントプロキシに通知する
    ことを特徴とする請求項1から請求項6のいずれかに記載のネットワークシステム。
  9. 前記データ要求および経路切替要求にHTTP(HypertextTransfer Protocol)プロトコルのリクエストを使用する
    ことを特徴とする請求項1から請求項8のいずれかに記載のネットワークシステム。
  10. 前記データサイズの通知に、HTTPレスポンスヘッダ内のContent−Lengthを使用する
    ことを特徴とする請求項7から請求項9のいずれかに記載のネットワークシステム。
  11. ネットワークに接続される少なくとも2以上のユーザ端末と、前記ネットワークを介して前記ユーザ端末が接続するプロキシサーバとを含むネットワークシステムにおける端末切替時のデータ・ダウンロード継続方法であって、
    前記ユーザ端末にて、
    利用者が使用するアプリケーションからのデータ要求に基づき前記プロキシサーバを介してデータを要求する手順と、
    前記データ要求により要求されたデータであって該ユーザ端末宛てに送信されたデータを前記アプリケーションに転送するとともに当該ユーザ端末に備わる記憶手段に格納する手順と、を実行し、
    さらに、利用者が、使用する前記ユーザ端末をユーザ端末1からユーザ端末2に切り替える操作をすると、
    前記ユーザ端末1は、前記ユーザ端末2を介して前記プロキシサーバに経路切替要求を送信し、
    前記経路切替要求を受信したプロキシサーバは、前記ユーザ端末1宛てに送信中のデータを前記ユーザ端末2宛てに送信を切り替え、
    前記ユーザ端末1は、先にプロキシサーバから受信し記憶しているデータをユーザ端末2宛てに転送する
    ことを特徴とするネットワークシステムにおける端末切替時のデータ・ダウンロード継続方法。
  12. ユーザ端末に実装されるクライアントプロキシ(プログラム)であって、
    利用者が使用するアプリケーションからのデータ要求に基づきプロキシサーバを介してデータを要求する手順と、
    前記データ要求により要求されたデータであって該ユーザ端末宛てに送信されたデータを前記アプリケーションに転送するとともに当該ユーザ端末に備わる記憶手段に格納する手順と、
    利用者が、使用するユーザ端末を当該ユーザ端末から他のユーザ端末に切り替える操作をすると、切替先のユーザ端末のクライアントプロキシを介して前記プロキシサーバに経路切替要求を送信する手順と前記記憶手段に格納されたデータを切替先のユーザ端末に転送する手順と、
    をコンピュータに実行させるためのプログラム。
JP2003156926A 2003-06-02 2003-06-02 ネットワークシステム、該ネットワークシステムにおける端末切替時のデータ・ダウンロード継続方法及びそのプログラム Expired - Fee Related JP4245986B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003156926A JP4245986B2 (ja) 2003-06-02 2003-06-02 ネットワークシステム、該ネットワークシステムにおける端末切替時のデータ・ダウンロード継続方法及びそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003156926A JP4245986B2 (ja) 2003-06-02 2003-06-02 ネットワークシステム、該ネットワークシステムにおける端末切替時のデータ・ダウンロード継続方法及びそのプログラム

Publications (2)

Publication Number Publication Date
JP2004362062A JP2004362062A (ja) 2004-12-24
JP4245986B2 true JP4245986B2 (ja) 2009-04-02

Family

ID=34050852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003156926A Expired - Fee Related JP4245986B2 (ja) 2003-06-02 2003-06-02 ネットワークシステム、該ネットワークシステムにおける端末切替時のデータ・ダウンロード継続方法及びそのプログラム

Country Status (1)

Country Link
JP (1) JP4245986B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4213183B2 (ja) 2004-07-30 2009-01-21 シャープ株式会社 通信ネットワークの制御システム
US20070195756A1 (en) * 2006-02-23 2007-08-23 Matsushita Electric Industrial Co., Ltd. Terminal switching technology for seamless switching of streaming sessions between terminals
AU2007270872B2 (en) 2006-06-30 2013-05-02 Network Box Corporation Limited Proxy server
JP4946892B2 (ja) * 2008-01-28 2012-06-06 三菱電機株式会社 通信システム
JP2012209840A (ja) * 2011-03-30 2012-10-25 Nec Corp 遠隔操作端末、情報処理装置、遠隔操作システム、端末切替方法およびプログラム
JP5601387B2 (ja) * 2013-03-01 2014-10-08 カシオ計算機株式会社 端末装置、およびプログラム
JP5738935B2 (ja) * 2013-07-19 2015-06-24 株式会社 ディー・エヌ・エー 情報端末及びデータ処理プログラム
JP6044604B2 (ja) * 2014-08-18 2016-12-14 カシオ計算機株式会社 端末装置、およびプログラム
JP2016082400A (ja) * 2014-10-16 2016-05-16 日本電信電話株式会社 信号制御装置及び信号制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1049451A (ja) * 1996-08-05 1998-02-20 Nec Corp ファイル転送における転送先自動切換え方式
JP2001067202A (ja) * 1999-08-25 2001-03-16 Oki Electric Ind Co Ltd 端末間画面連携システム
JP2002176432A (ja) * 2000-12-05 2002-06-21 Sony Corp 通信中継装置、通信中継方法、および通信端末装置、並びにプログラム記憶媒体
JP2002207650A (ja) * 2001-01-12 2002-07-26 Toshiba Corp 通信システムおよびこの通信システムで利用される通信端末
JP2002244955A (ja) * 2001-02-20 2002-08-30 Sharp Corp コンテンツ配信システム
JP4643068B2 (ja) * 2001-07-23 2011-03-02 株式会社東芝 コンテンツ配信システム

Also Published As

Publication number Publication date
JP2004362062A (ja) 2004-12-24

Similar Documents

Publication Publication Date Title
JP5872702B2 (ja) モビリティおよびマルチホーミングコンテンツ検索アプリケーションのためのシステムおよび方法
EP2005694B1 (en) A node
JP4643638B2 (ja) サービス品質を変更する方法および装置
JP5590803B2 (ja) 通信装置及び通信方法
JP4409788B2 (ja) 無線データ通信網切替装置と無線データ通信網切替処理用プログラム
US8406222B2 (en) Control system of communication network
JP2002176432A (ja) 通信中継装置、通信中継方法、および通信端末装置、並びにプログラム記憶媒体
JP4518719B2 (ja) データ処理システム、情報処理装置、および方法、並びにコンピュータ・プログラム
JP2008543240A (ja) モバイル端末を制御するためのソフトウェアモジュールを送信するためのネットワーク機器
JP5598471B2 (ja) クラウドコンピューティング環境において仮想化されたデータを送信する方法
US11936522B2 (en) Selecting and operating an optimal virtual private network among multiple virtual private networks
EP1244262B1 (en) Redirection of client requests
JP4245986B2 (ja) ネットワークシステム、該ネットワークシステムにおける端末切替時のデータ・ダウンロード継続方法及びそのプログラム
JP5871784B2 (ja) ネットワーク選択システム及び方法
JP2005229583A (ja) ネットワーク制御装置、通信端末、およびネットワーク選択方法
KR100804348B1 (ko) 통신시스템, 피어투피어 메시지 필터를 갖는 컴퓨터 및피어투피어 메시지 처리 방법
US7596592B2 (en) Method and a system of remotely controlling data transfer via a data transfer network
KR101573199B1 (ko) 콘텐츠 분산
KR100828920B1 (ko) 이동통신 시스템에서의 모바일 아이피를 이용한 파일 공유방법 및 장치
JP2009094643A (ja) Av再生システム、端末、サーバ装置、端末のファイルダウンロード方法、プログラムおよび記録媒体
JP5611576B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
Huang et al. Client-side session splice approach, a novel approach to achieving seamless handoffs for multimedia applications in mobile computing
JP2014002781A (ja) 情報処理装置、および情報処理方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060530

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060531

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071009

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071009

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080924

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081121

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120116

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees