通信装置およびクライアント装置
【課題】携帯電話機からのWebサーバへデータのアップロード途中に回線が切断された場合に、回線の切断前に一度送信したデータを再送しない。
【解決手段】キャリア設備網3に負荷分散された中継装置4を設置する。中継装置4は、携帯電話機1とWebサーバ6のHTTPメッセージを中継し、携帯電話1からのアップロードデータを記憶する。中継装置4は、アップロードが開始または開始直後に、携帯電話機1へ中継装置4に接続するためのアドレスとアップロードデータを特定する識別子を送信する。携帯電話機1と中継装置4間の回線が切断された場合、携帯電話機1は受信した中継装置4のアドレスへ再接続し、識別子を送信する。中継装置4は、識別子に該当するデータを探索し、記憶したデータサイズを携帯電話機1へ送信する。携帯電話機1は、中継装置4が記憶していないデータを中継装置4へ送信する。
【解決手段】キャリア設備網3に負荷分散された中継装置4を設置する。中継装置4は、携帯電話機1とWebサーバ6のHTTPメッセージを中継し、携帯電話1からのアップロードデータを記憶する。中継装置4は、アップロードが開始または開始直後に、携帯電話機1へ中継装置4に接続するためのアドレスとアップロードデータを特定する識別子を送信する。携帯電話機1と中継装置4間の回線が切断された場合、携帯電話機1は受信した中継装置4のアドレスへ再接続し、識別子を送信する。中継装置4は、識別子に該当するデータを探索し、記憶したデータサイズを携帯電話機1へ送信する。携帯電話機1は、中継装置4が記憶していないデータを中継装置4へ送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介してデータをアップロードするクライアント装置とアップロードデータを受信するクライアント装置に関する。
【背景技術】
【0002】
近年、携帯電話機からのWebアクセスが広く普及し、携帯電話を使ったWebアプリケーションが増加している。それに伴い、携帯電話とサーバ間で通信するデータ量が増加している。またデータの送受信に要する時間、即ち携帯電話機とサーバ間の回線を維持する時間が長くなっている。携帯電話とWebサーバ間には無線網、キャリア設備網、およびインターネットがあり、無線網では携帯電話機の移動や一時的な通信不能に陥りやすい。このとき、キャリア設備網では一定時間通信が行なわれていない回線を切断する。この回線切断が起こった場合、携帯電話機は通信が切断されるまでに得たデータを捨て、再び最初からサーバと通信し、サーバからデータを取得しなければならなかった(これら携帯電話機の一連の通信処理を以下、リトライ処理と呼ぶ)。さらに、上記のようなセッション切断が多発すると、携帯電話機のリトライ処理により無線網、キャリア設備網、インターネットおよびサーバでデータ量が急激に増加する。この結果、上記システムに多大な負荷を与え、障害が発生する可能性がある。
【0003】
上記問題の解決策として、特許文献1に記載される方法、即ち回線切断後にサーバから携帯電話機へのデータの再送を抑止する方法が提案されている。携帯電話機とサーバ間のキャリア設備網またはインターネットに、サーバからの通信データを保管および管理するための中継装置を設け、携帯電話機とサーバ間の回線が切断されても、該中継装置がサーバとの通信を代行し、サーバからの通信データを保管し、携帯電話機が中継装置から通信データを取得することにより、携帯電話機からのリトライ処理を防止する。
【0004】
【特許文献1】特開2001−231080号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
特許文献1の方法は、サーバから携帯電話機へのデータの送信(ダウンロード)におけるリトライ処理の抑止に特化している。しかし、近年携帯電話からサーバへ送信する(以下、アップロードと呼ぶ)データが巨大化している。アップロード時に携帯電話機とサーバ間の回線が切断した場合は、特許文献1の方法では、携帯電話機が中継装置の実際に受信したアップロードデータのサイズがわからないため、アップロードデータを回線切断前の続きから再開することができない。たとえば、携帯電話機が回線切断前に実際にアップロードしたデータのサイズを記憶しておき、回線切断後にアップロード途中から再開しようにも、無線網、キャリア設備網でデータが消失している可能性があるため、実現不可能である。
【0006】
また、特許文献1の方法では、中継装置をキャリア設備網のように負荷分散を行っているシステムに適用したときに、移動端末は、常に同じ中継装置にアクセスすることができない。
【0007】
以上を考慮し、本発明は携帯電話機からデータのアップロード中に回線切断した場合に、携帯電話機からサーバへのアップロードの再開を可能とするシステムを提供する。
【課題を解決するための手段】
【0008】
上述した課題は、内部通信線で接続されたプロセッサと、記憶装置と、入出力インタフェイスとを備え、記憶装置に記憶されたプログラムをプロセッサが実行し、入出力インタフェイスは、第1のネットワークを介してクライアント装置と接続され、プロセッサを、クライアント装置から、アップロード要求を受信したとき、このアップロード要求を通信識別子とともに記憶装置に記憶し、クライアント装置から、アップロードデータを受信したとき、このアップロードデータを記憶装置に記憶する記憶制御部と、アップロード要求に対する応答に通信識別子と自装置のアドレスとを含めて、クライアント装置に送信し、クライアント装置から、再接続要求を受信したとき、この再接続要求に対する応答に通信識別子と記憶装置に記憶されたアップロードデータのサイズとを含めて、クライアント装置に送信する送信制御部と、として機能させる通信装置により、達成できる。
【0009】
また、内部通信線で接続されたプロセッサと、記憶装置と、入出力インタフェイスとを備え、記憶装置に記憶されたプログラムをプロセッサが実行し、入出力インタフェイスは、第1のネットワークを介してクライアント装置と接続され、プロセッサを、クライアント装置から、アップロード要求を受信したとき、このアップロード要求を通信識別子とともに記憶装置に記憶し、クライアント装置から、アップロードデータを受信したとき、このアップロードデータを記憶装置に記憶する記憶制御部と、クライアント装置との回線切断を検知したとき、通信識別子と記憶装置に記憶されたアップロードデータのサイズと自装置のアドレスとを含めて、クライアント装置に送信する送信制御部と、して機能させる通信装置により、達成できる。
【0010】
さらに、内部通信線で接続されたプロセッサと、記憶装置と、入出力インタフェイスと、画面出力インタフェイスと、入力インタフェイスとを備え、記憶装置に記憶されたプログラムをプロセッサが実行し、入出力インタフェイスは、ネットワークを介して通信装置と接続され、プロセッサを、通信装置にアップロード要求を送信したとき、応答に含まれる通信識別子と通信装置のアドレスとを記憶装置に記憶する記憶制御部と、通信装置へのアップロードが中断したとき、アドレス宛に通信識別子を含む再接続要求を送信する送信制御部と、して機能させるクライアント装置により、達成できる。
【発明の効果】
【0011】
本発明によれば、携帯電話機からWebサーバへのアップロード途中に回線が切断された場合に、携帯電話から一度送信したデータの再送信が不要である。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施の形態について、実施例を用い図面を参照して説明する。なお、実質同一部位には、同じ参照番号を振り、説明は繰り返さない。
実施例1を図1ないし図12を参照して説明する。まず、図1を参照して、ネットワークシステムを説明する。ここで、図1はネットワークシステムのブロック図である。図1において、ネットワークシステム100は、無線網2に接続されたキャリア設備網3と携帯電話機1と、キャリア設備網3はインターネット5とWebサーバに接続されたキャリア設備網3に接続された3台の中継装置4とから構成される。直接接続されている。
【0013】
中継装置4は、携帯電話機1からのHTTP要求を、インターネット5を介して、Webサーバ6に中継する機能(プロキシ機能)と、中継したデータを記憶する機能と、中継装置4が自身に携帯電話機1からアクセスさせるための情報(以下、再開情報と呼ぶ)を含んだメッセージを作成する機能を有する。中継装置4は、キャリア設備網3内で負荷分散され複数台存在し、各中継装置を一意に識別するIPアドレス(以下、中継装置アドレスと呼ぶ)を持つ。なお、中継装置アドレスは、名前解決できるホスト名など中継装置4−1〜4−3を一意に識別する識別子であってもよい。
【0014】
携帯電話機1は無線網2、キャリア設備網3を介してデータ通信可能な携帯通信端末であり、無線網2、キャリア設備網3およびインターネット5の通信路を介してデータを送受信する機能と、HTTP通信できる機能と、無線網2、キャリア設備網3で回線切断しても中継装置4から受信した再開情報を用いて中継装置4に再接続することができる機能を有する。
【0015】
無線網2は、携帯キャリアが管理する無線ネットワークである。キャリア設備網3は、無線網2からの通信をインターネット5へ変換、中継するネットワークおよびネットワーク設備である。
Webサーバ6は、携帯電話機1とHTTP通信を行う機能を有する。Webサーバ6は、DBサーバ、他のWebサーバと連携して処理を行ってもよい。
【0016】
図2を参照して、携帯電話機を実現する情報処理装置のハードウェア構成を説明する。ここで、図2は携帯電話機のハードウェアブロック図である。図2において、携帯電話機1は、プロセッサ10と、記憶装置11と、ディスプレイなどの画面出力インタフェイス14と、無線網2にデータを送受信するための入出力回路インタフェイス15と、データ入力のための入力インタフェイス16と、これらを接続するバスなどの内部通信線17からなる。記憶装置11は、プログラムメモリ12と、データ記憶部13を格納している。プログラムメモリ12には、携帯電話機1を実現する各種制御プログラムが記録され、プロセッサ10がプログラムメモリ12を実行する。なお、各プログラムは、予めプログラムメモリ12に格納されていてもよいし、図示していない着脱可能な記憶媒体または通信媒体(ネットワークまたはそれを伝播する搬送波)を介して、プログラムメモリ12に導入されてもよい。また、プログラムメモリ12には、携帯電話機1がWebサーバ6とHTTP通信を実現するプログラムと、アップロード途中に回線切断されたとき、中継装置4を介して再開を行う処理プログラムを有する。これらのプログラムは同一であってもよいし、前者のHTTP通信を実現するプログラムを使用しネットワークを介して、後者の機能を実現するプログラム(Java(登録商標)、JavaScript、Flash等で実現されたプログラム)を取得し、動作させてもよい。記憶装置11内のデータ記憶部13には、アップロード時に中継装置4から取得した再開情報と、Webサーバ6との通信で取得した情報が記憶される。記憶装置11は、半導体記憶装置、または、ハードディスクなどの外部記憶装置で構成する。画面出力インタフェイス14は、携帯電話機1の使用者がWebサーバ6との通信内容と、記憶装置11に格納されたデータを表示する装置である。入力インタフェイス16は、携帯電話機1の使用者がデータ入力を可能にするための入力装置である。
【0017】
図3を参照して、中継装置を実現する情報処理装置のハードウェア構成を説明する。ここで、図3は中継装置のハードウェアブロック図である。図3において、中継装置4は、プロセッサ40と、記憶装置41と、キャリア設備網3にデータを送受信するための入出力回路インタフェイス45と、これらを接続するバスなどの内部通信線47からなる。記憶装置41は、プログラムメモリ42と、受信管理テーブル43と、データ記憶部44を格納している。プログラムメモリ42には、中継装置4を実現する各種制御プログラムが記録され、プロセッサ40がプログラムメモリ42を実行する。なお、各プログラムは、予めプログラムメモリ42に格納されていてもよいし、図示していない着脱可能な記憶媒体または通信媒体(ネットワークまたはそれを伝播する搬送波)を介して、プログラムメモリ42に導入されてもよい。受信管理テーブル43には、中継装置4が携帯電話機1からの受信したアップロード要求およびデータを管理するための情報が記述される。受信管理テーブル43は、中継装置4が携帯電話機1からのアップロード要求を中継するときに作成してもよいし、中継装置4が中継装置4外の受信管理テーブルをもつ記憶媒体から通信媒体(ネットワークまたはそれを伝播する搬送波)を介して取得し、受信管理テーブル43に導入してもよい。データ記憶部44には、中継装置4が携帯電話機1とWebサーバ6のHTTPメッセージを中継したときに取得した情報と、携帯電話機1と中継装置4の回線切断後の再開に使用する情報が記憶される。記憶装置41は、半導体記憶装置、または、ハードディスクなどの外部記憶装置で構成する。中継装置4は、システム管理者によるデータ入力を可能にするための入力装置と表示装置を備えている。しかし、これらの装置は以下の説明では使用しないため、図3では省略してある。なお、中継装置4は、図1ではキャリア設備網3に設置されているが、インターネット5に設置しても、実現可能である。
【0018】
図4を参照して、受信管理テーブルを説明する。ここで、図4は受信管理テーブルを説明する図である。図4において、受信管理テーブル43の各エントリは、メッセージID101と、SUB ID102と、受信時刻103と、受信サイズ104と、トータルサイズ105と、最終受信時刻107と、およびCookie情報108と、データ格納領域109から構成される。
【0019】
メッセージID101は、中継装置4が携帯電話機1から受信し、記憶したアップロード要求およびデータを一意に識別するための識別子である。SUB ID102は、携帯電話機1を一意に識別するための識別子である。受信時刻103は、中継装置4が携帯電話機1からアップロード要求を受信開始した時刻である。中継装置4は記憶したアップロード要求およびデータが受信時刻103から既定時間を超過した場合、アップロード要求およびデータを削除する。受信サイズ104は、中継装置4が携帯電話機1から受信したデータサイズである。トータルサイズ105は、携帯電話機1がアップロードしようとしている全データサイズであり、中継装置4はアップロード要求のヘッダ内から取得する。ただし、携帯電話1が分割送信した場合、アップロード要求のヘッダの中にトータルサイズは存在しないため、使用しない。
【0020】
最終受信時刻107は、中継装置4が携帯電話機1から最後にアップロードデータを受信した時刻であり、中継装置4と携帯電話機1間の回線の生存と、最終受信時刻から一定時間経過した場合に記憶したアップロードデータを削除する処理のために使用する。Cookie情報108は、中継装置4を介した携帯電話機1とWebサーバ6とのHTTP通信でCookieを使用していて、回線切断後に再開を行うときにCookie情報を中継装置4で変更する必要がある場合に使用する。データ格納領域109は、データが中継装置4のデータ記憶部44のどこに存在するかを示す。
なお、携帯電話1がHTTP1.1準拠の”Transfer-Encoding:chunked”を用いて分割送信してきたとき、メッセージID101が、「000002」のように、トータルサイズ105は使用しない。
【0021】
図5を参照して、携帯電話機が中継装置に送信するアップロード要求を説明する。図5はアップロード要求のメッセージフォーマットである。図5において、アップロード要求は、HTTPヘッダ701とHTTPボディ702とから構成される。具体的には、HTTPヘッダのリクエストラインにHTTP準拠のPOSTメソッドを記載し、HTTPボディ702にアップロードデータの一部を含めて送信する。なお、HTTPボディ702は無くとも良い。
【0022】
図6を参照して、中継装置が携帯電話機に送信する再開情報を付加したHTTP応答を説明する。ここで、図6は継続応答のメッセージフォーマットである。ここで、継続応答とは、Webサーバが送出するHTTPに準拠したレスポンスコード100の応答である。図6において、継続応答は、携帯電話機1のアップロード要求に対するWebサーバ6の応答に、中継装置4が再開情報を付加したデータである。継続応答は、ヘッダ132およびボディ137から構成される。ヘッダ132は、Webサーバ6が作成したレスポンスコード133とサーバ作成ヘッダ134、中継装置4が付加したプロキシ付加ヘッダ135と再開情報136から構成される。
【0023】
レスポンスコード133は、アップロード要求に対する三桁の数字による結果コードであり、継続応答のとき「100」である。サーバ作成ヘッダ134は、Webサーバ6が作成したレスポンスコード133以外のヘッダ情報である。プロキシ付加ヘッダ135は、中継装置4がプロキシの機能として付加したヘッダであり、継続応答を中継したことを示すViaヘッダなどが該当する。再開情報136は、携帯電話機1が回線切断した場合に中継装置4に再接続するための情報である。再開情報136は、中継装置アドレス138と、メッセージID101から構成される。なお、ここでは、再開情報136をヘッダ132に格納しているが、ボディ137に格納してもよい。
【0024】
図7を参照して、携帯電話機が中継装置に送信する再接続要求を説明する。ここで、図7は再接続要求のメッセージフォーマットである。図7において、再接続要求はHTTPヘッダ711と、HTTPボディに記録された再開情報136とから構成される。ここで、再開情報136は携帯電話機1が中継装置4から継続応答で受信したものである。再接続要求には、継続応答を送信した特定の中継装置4の中継装置アドレスを含んでいるので、継続応答を送信した中継装置4によって受信される。
【0025】
図8を参照して、中継装置が携帯電話機に送信する再アップロード情報を説明する。ここで、図8は再アップロード情報のメッセージフォーマットである。図8において、再アップロード情報は、HTTP(応答)ヘッダ721と、HTTPボディ722とから構成される。HTTPボディ722には、メッセージID101と、中継装置4がそれまでに受信したアップロードデータの受信サイズ104とを含んでいる。再アップロード情報を受信した携帯電話機1は、メッセージID101と受信サイズ104を利用して、中継装置が未受信のアップロードデータを送信することができる。
【0026】
図9を参照して、携帯電話機のリトライ時の画面出力を説明する。ここで、図9は携帯電話機のリトライ時の画面出力を説明する図である。図9において、携帯電話機1は、Webサーバ6へアップロードが失敗したことを記憶しており、ユーザに対し、中断したアップロード要求を開始するかを選択できる画面を画面出力インタフェイス14に出力する。ユーザは、入力インタフェリス16を利用して、リトライボタン141を選択することによりアップロードを再開できる。また、中止ボタン142を選択することによりアップロードを中止することができる。なお、リトライボタン141、中止ボタン142は画面出力ではなく、入力インタフェイス16として携帯電話機1に装備してもよい。
【0027】
図10を参照して、携帯電話機、中継装置およびWebサーバ間のアップロード処理シーケンスを説明する。ここで、図10は携帯電話機、中継装置およびWebサーバ間のアップロード処理シーケンス図である。図10において、はじめに、携帯電話機1がWebサーバ6へアップロード要求を送信する(S150)。実際には複数の中継装置4のいずれかがアップロード要求を受信し、アップロード要求を解析し条件(以下、アップロード処理判定条件と呼ぶ)を満たした場合、アップロード要求のHTTPヘッダに含まれるSUB IDとトータルサイズを記憶し、受信管理テーブル43を作成し、アップロード要求およびアップロードデータの記憶を開始する(S151)。アップロード処理判定条件とは、中継装置4がアップロード要求を記憶するか、何も処理せず通常のプロキシとして中継(以下、通常のプロキシ中継処理と呼ぶ)するかを判定するための条件であり、ここではアップロードするデータサイズが既定値を超過した場合を条件とする。また、アップロード処理判定条件として、他に特定のSUB IDや特定のURLのみといった条件も考えられる。
【0028】
中継装置4は、アップロード要求をWebサーバ6に中継し(S152)、Webサーバ6からHTTPに準拠したレスポンスコード100の応答(以下、継続応答と呼ぶ)を受信する(S153)。継続応答は、Webサーバ6がアップロードデータを受信可能であることを示す応答であり、ここではレスポンスコード100である応答であるが、それと同意の応答であればよい。中継装置4は、受信した継続応答に、プロキシ付加ヘッダ135と再開情報136を付加して(S154)、携帯電話機1へ継続応答(詳細は図6参照)として送信する(S155)。ただし、Webサーバ6によっては継続応答を返さないサーバもありえるため、中継装置4はWebサーバ継続応答を受信できなければ、自ら継続応答を作成し、携帯電話機1へ送信する。
【0029】
携帯電話機1は、継続応答に含まれる再開情報136を記憶し、アップロードデータをアップロードし続ける(S157)。中継装置4はアップロードデータを記憶し、Webサーバ6へアップロードデータを中継する(S159)。中継装置4のアップロードデータの中継は、中継装置4がアップロードデータサイズ全てを受信してから、まとめてWebサーバ6へ中継しても、中継装置4がアップロードデータを受信して随時Webサーバ6へ中継してもよい。
【0030】
アップロード途中に、携帯電話機1と中継装置4間の回線切断が発生したとする(S160)。また、データ転送が途絶えたことから、ここでは中継装置4とWebサーバ6との間の回線もタイムアウトにより切断される(S161)。
【0031】
携帯電話機1は、回線切断を検知し、アップロードを中断し、リトライ用の画面を画面出力インタフェイス16に出力する(S162)。携帯電話機1のユーザは、リトライ用画面でリトライするか否かを選択でき、ここではリトライを選択したとする。携帯電話機1は、中継装置4へ再接続要求を送信する(S170)。携帯電話機1は、再接続するときに再開情報136の中の中継装置アドレス138とメッセージID101とを使用する。再接続要求は、継続応答を送信した中継装置4により、受信される。再接続要求を受信した中継装置4は、再接続要求に含まれるメッセージID101を用いて、受信管理テーブル43に対応する項目を抽出、確認する(S171)。中継装置4は、受信管理テーブル43の受信サイズ104の情報を含んだHTTP準拠の応答(以下、再アップロード情報と呼ぶ)を携帯電話機1へ送信する(S172)。携帯電話機1は、受信した再アップロード情報に含まれる受信サイズ104から、中継装置4が回線切断160前までに受信したアップロードデータのサイズを確認し、中継装置4が受信していないデータをアップロードデータとして送信する(S173)。中継装置4は、携帯電話機1からアップロードが再開されると、Webサーバ6へ再接続する(S174)。中継装置4は、アップロード要求、データをWebサーバ6へ送信する(S175)。ステップ175のアップロードデータは、回線切断以前に記憶したアップロードデータである。中継装置4は、データ受信管理テーブル43のCookie情報108があれば、アップロード要求、データに該Cookie情報を付加して送信する。なお、Webサーバ6がアップロード要求、データを受信する(S175)と、継続応答を応答するが、ここでは一連の処理を簡略化するため省略する。
【0032】
中継装置4は、ステップ173で新たなアップロードデータを受信すると、アップロードデータとしてWebサーバ6へ送信する(S176)。携帯電話機1からWebサーバ6へ全てのアップロードデータが送信されると、Webサーバ6は成功応答を応答する(S177)。中継装置4は、成功応答177を受信すると、アップロードが成功したと判定し、該当する受信管理テーブル43の項目と、記憶データを削除し(S178)、成功応答を携帯電話機1へ送信する(S179)。携帯電話機1は、成功応答を受信すると、アップロードに成功したと判断し、アップロードの処理を終了する。
【0033】
なお、ここでは、中継装置4とWebサーバ6間の回線切断(S161)は、Webサーバ6や中継装置4のタイムアウトによる。しかし、中継装置4が携帯電話機1との回線切断160を検知して自ら切断してもよい。また、タイムアウトしていない場合は、ステップ174とステップ175は不要である。
【0034】
なお、図10では携帯電話機1と中継装置4で継続応答155を利用して再開情報136を中継装置4から携帯電話機1へ伝達しているが、アップロード要求150の前に携帯電話機1から中継装置4へアップロードを開始することを示す要求を送信し、中継装置4がこの要求を受諾する、即ちネゴシエーションを行ってもよい。このとき中継装置4と携帯電話機1とで交換するメッセージはHTTPに準拠する。中継装置4が携帯電話機1からのネゴシエーションを受諾した場合、中継装置4は継続応答155の代わりに再開情報136をボディ137に格納した応答(図6でも説明した)を送信する。
【0035】
図11を参照して、携帯電話機の処理フローを説明する。ここで、図11は携帯電話機のアップロード処理のフローチャートである。図11において、はじめに携帯電話機1は、アップロード要求、データを中継装置4へ送信開始する(S201)。ステップ201で開始したアップロードの処理はアップロード中断する処理(S206またはS207)を行わなければ、中継装置4へアップロードデータを送信し続ける。携帯電話機1はデータの受信待ち(S202)し、中継装置4から継続応答を受信する。携帯電話機1は、継続応答に再開情報136が含まれるか判別し(S203)、再開情報136が含まれる場合記憶する(S204)。携帯電話機1はステップ203またはステップ204から再びデータ受信待ち202に戻る。
【0036】
携帯電話機1は、アップロード途中に回線切断または中継装置4からの応答を受信していなくてタイムアウトが判定された場合は、アップロードを中断する(S207)。携帯で電話機1は、画面出力インタフェイス14にリトライ用画面出力する(S208)。携帯電話機1は、ユーザによるアップロードを再開するか中止するかの操作を待ち(S209)、ユーザが中止を選択し場合、アップロードの処理を終了する。ユーザが再開を選択した場合、携帯電話機1は、再開情報136から中継装置アドレス138を用いて中継装置4へ再接続し、メッセージID101を送信する(S210)。携帯電話機1は、中継装置4から再アップロード情報172を取得し(S211)、アップロードを再開する(S212)。携帯電話機1はステップ212において、受信した再アップロード情報172に含まれる受信サイズ104または分割オプション106から、中継装置4が回線切断160前までに受信したアップロードデータのサイズを確認し、中継装置4が受信していないデータからアップロードデータとして送信する。携帯電話機はステップ212後、再びステップ202に戻り、中継装置4から成功応答を受信すると、アップロード成功したと判定し(S205)、正常終了する。
【0037】
図12を参照して、中継装置の処理フローを説明する。ここで、図12は中継装置のアップロード処理のフローチャーとである。図12において、中継装置4のプログラムの実行が開始されると、中継装置4は、入出力回路インタフェイス45からのデータ受信待ちに遷移する(S251)。中継装置4は、ステップ251において入出力回路インタフェイス45から入力されるデータおよび信号を監視し、携帯電話機1からの受信か、Webサーバ6からの受信かを判別する。また、中継装置4は、ステップ251においてデータを受信していない間は受信管理テーブル43の最終受信時刻107を参照し、該当するメッセージ(記憶データ)がタイムアウトしていないかどうか判定する。
【0038】
中継装置4は、携帯電話機1からデータを受信すると、要求判定を行う(S252)。中継装置4は、要求判定において、アップロード要求(POSTまたはPUT要求)であるか、アップロードデータであるか、アップロード再開のための再接続であるか、およびそれら以外の通常の要求またはデータであるかを判定する。ステップ252において、アップロード要求であった場合、中継装置4は、アップロード判定条件を満たすか判定を行う(S253)。中継装置4は、ステップ253において、中継装置4がアップロード要求を記憶するか、通常のプロキシ中継処理を行うかの判定を実施し、ここではアップロードするデータサイズが既定値を超過した場合を判定条件とする。ステップ253において、中継装置4は不適合と判定した場合通常のプロキシ中継処理を行い(S254)、ステップ251に戻る。ステップ253において判定に適合した場合、中継装置4は、データの記憶を開始し、受信管理テーブル43を作成し(S255)、Webサーバ6へアップロード要求を転送する(S256)。中継装置4は、ステップ256終了後、再びステップ251へ戻る。
【0039】
中継装置4は、Webサーバ6からデータを受信すると、応答判定を行う(S270)。中継装置4は、ステップ270において、継続応答であるか、成功応答であるか、中継装置4とWebサーバ6間の回線切断か、それ以外の通常の応答やデータであるかを判定する。中継装置4は、継続応答を受信すると、継続応答に再開情報236を付加し(S271)、携帯電話機1へ中継する(S272)。中継装置4はステップ272終了後、再びステップ251へ戻る。
【0040】
中継装置4は、ステップ252において、携帯電話機1から受信管理テーブル43が作成されたアップロード要求のアップデータを受信したとき、アップロードデータを記憶し、受信管理テーブルの受信サイズ104と、最終受信時刻107を更新する(S257)。中継装置4は、ステップ257終了後Webサーバ6との回線状況を判定し(S258)、接続中の場合はWebサーバ6へ中継する(S260)。中継装置4はステップ260終了後、再びステップ251へ戻る。ステップ258で切断状態のとき、中継装置4は、Webサーバ6へ接続し、アップロード要求と、データを送信した後(S259)、ステップ260に遷移する。
【0041】
携帯電話機1と中継装置4との間の回線切断が起こっても、中継装置4は、記憶データを受信管理テーブル43の最終受信時刻107から一定時間保持する。ただし、携帯電話機1からのアップロードデータまたは再接続要求170が最終受信時刻107から一定時間なければタイムアウトと判定し(S264)、受信管理テーブル43と記憶データを削除し、処理を終了する。
【0042】
中継装置4は、ステップ252において、携帯電話機1から再接続要求を受信すると、再接続要求に含まれるメッセージID102を受信メッセージ管理テーブル43から探索し(S261)、メッセージIDが無い場合は処理を終了する。ステップ261において、該当するメッセージIDがある場合、中継装置4は携帯電話機1へ受信サイズ104または分割オプション106を含む再アップロード情報を送信する(S262)。中継装置4は、ステップ262終了後、再びステップ251へ戻る。
【0043】
中継装置4は、ステップ270において、Webサーバ6から成功応答を受信すると、携帯電話機1からのアップロードに成功したと判定し、受信管理テーブルと、記憶データを削除し(S275)、携帯電話機1へ成功応答を送信し(S276)、処理を終了する。
【0044】
中継装置4は、ステップ270において、Webサーバ6から受信管理テーブル43に該当しない応答を受信した場合は、通常のプロキシ中継処理を行い(S273)、中継処理の継続を判定(S274)し、継続ならデータ受信待ち251へ戻り、判定が終了であれば終了する。
【0045】
本実施例に拠れば、携帯電話機からのWebサーバへデータのアップロード途中に回線が切断された場合に、携帯電話から一度送信したデータの再送不要でアップロードの再開を可能にする。また、負荷分散システムに適用できる。
【0046】
実施例1の変形実施例を、図13および図14を参照して説明する。ここで、図13はHTTP1.1準拠のTransfer−Encoding:chunkedを使用した場合(分割送信と呼ぶ)の、アップロード要求フォーマットである。また、図14は分割送信のアップロードデータフォーマットである。
【0047】
図13において、アップロード要求フォーマットは、HTTPヘッダ701のみで構成されている。このとき、HTTPヘッダ701には、送信サイズ(Content−length)を含まない。
【0048】
図14において、アップロードデータは、図示を省いたHTTPヘッダと、HTTPボディ722とから構成される。HTTPボディ722は、アップロードデータのサイズ705と、アップロードデータ706とから構成される。分割送信されたアップロードデータの最後のHTTPボディ722は、サイズ705が「0」で、アップロードデータ706が連続した改行のみ(「空」を示すデータ)となる。
【0049】
実施例2を図15ないし図18を参照して説明する。ここで、図15はネットワークシステムのブロック図である。図16はWebサーバのハードウェアブロック図である。図17は継続応答のメッセージフォーマットである。図18は継続応答のメッセージフォーマットである。
【0050】
実施例2は、実施例1のように中継装置4を介せず、代わりにWebサーバ6Aにアップロードを再開する機能を保持させ、実施例1と同様の効果を得る実施例である。両者の相違点を、図15ないし図18を用いて説明する。ここで、図15はネットワークシステムのブロック図である。図16はWebサーバのハードウェアブロック図である。図17は継続応答のメッセージフォーマットである。図18は携帯電話器とWebサーバとの間のデータアップロードのシーケンス図である。
【0051】
図15において、ネットワークシステム100Aは、携帯電話機1、無線網2、キャリア設備網3、インターネット5、負荷分散装置8、複数のWebサーバで構成されている。携帯電話機1は、無線網2、キャリア設備網3、インターネット5、負荷分散装置8を介してWebサーバ6Aと直接通信を行う。なお、Webサーバ6Aは、実施例2では負荷分散装置8により、3台のWebサーバ6Aに負荷分散されている。各Webサーバ6Aは、携帯電話機1がWebサーバ6A−1〜6A−3の特定の1台と接続できるアドレス(以下、Webサーバアドレスと呼ぶ)を有する。Webサーバアドレスは携帯電話機1がWebサーバ6Aに直接アクセスできる一意なアドレスであり、IPアドレス、ホスト名、URL、またCookie情報を利用する。Cookie情報は、Webサーバ6Aを負荷分散している負荷分散装置8が、該Cookie情報を判別し、特定Webサーバへ接続するために利用できる。
【0052】
図16を参照して、Webサーバ6Aを実現する情報処理装置を説明する。図16において、Webサーバ6Aは、プロセッサ60と、記憶装置61と、負荷分散装置8にデータを送受信するための入出力回路インタフェイス65と、これらを接続するバスなどの内部通信線67からなる。記憶装置61は、プログラムメモリ62と、受信管理テーブル63と、データ記憶部64を格納している。プログラムメモリ62には、Webサーバ6Aを実現する各種制御プログラムが記録され、プロセッサ60がプログラムメモリ62を実行する。なお、各プログラムは、予めプログラムメモリ62に格納されていてもよいし、図示していない着脱可能な記憶媒体または通信媒体(ネットワークまたはそれを伝播する搬送波)を介して、プログラムメモリ62に導入されてもよい。受信管理テーブル63には、Webサーバ6Aが携帯電話機1からの受信したアップロード要求およびデータを管理するための情報が記述される。受信管理テーブル63は、Webサーバ6Aが携帯電話機1からのアップロード要求を中継するときに作成してもよいし、Webサーバ6AがWebサーバ6A外の受信管理テーブルをもつ記憶媒体から通信媒体(ネットワークまたはそれを伝播する搬送波)を介して取得し、受信管理テーブル63に導入してもよい。データ記憶部64には、Webサーバ6Aが携帯電話機1とWebサーバ6のHTTPメッセージを中継したときに取得した情報と、携帯電話機1とWebサーバ6Aの回線切断後の再開に使用する情報が記憶される。記憶装置61は、半導体記憶装置、または、ハードディスクなどの外部記憶装置で構成する。Webサーバ6Aは、システム管理者によるデータ入力を可能にするための入力装置と表示装置を備えているが、これらの装置は以下の説明では使用しないため、図16では省略してある。
【0053】
図17を参照して、Webサーバ6Aが携帯電話機1へ送信する再開情報を付加した継続応答を説明する。ここでは、実施例1との違いのみ説明すると、実施例2ではプロキシ付加ヘッダ135は存在しなくなり、中継装置アドレス138の代わりにWebサーバ6AにアクセスできるWebサーバアドレス139が再開情報136Aに含まれる。
【0054】
図18を参照して、携帯電話機とWebサーバとのアップロードのシーケンスを説明する。図18において、はじめに、携帯電話機1は、Webサーバ6Aへアップロード要求を送信する(S300)。Webサーバ6Aは、アップロード要求のHTTPヘッダに含まれるSUB IDを記憶し、受信管理テーブル43を作成し、アップロード要求330およびデータ受信を開始する(S301)。Webサーバ6Aは、HTTPに準拠したレスポンスコード100の継続応答を携帯電話機1へ送信する(S302)。携帯電話機1は、継続応答に含まれる再開情報136を記憶し(S303)、アップロードデータを送信する(S304)。
【0055】
ここでは、アップロード途中に、携帯電話機1とWebサーバ6A間の回線切断が発生する(S305)とする。携帯電話機1は、回線切断を検知し、アップロードを中断し、リトライ用の画面を画面出力インタフェイス16に出力する(S306)。携帯電話機1のユーザは、リトライ用画面でリトライするか否かを選択でき、リトライを選択したとする。携帯電話機1は、再開情報136を使用して、再開情報136を送信したWebサーバ6Aへ再接続要求を送信する(S307)。Webサーバ6Aは、再接続要求307を受信すると、該要求に含まれるメッセージID101を用いて、受信管理テーブル63に対応する項目を抽出、確認する(S308)。Webサーバ6Aは、受信管理テーブル63の受信サイズ104の情報を含んだHTTP準拠の応答である再アップロード情報を携帯電話機1へ送信する(S309)。携帯電話機1は、受信した再アップロード情報に含まれる受信サイズ104から、Webサーバ6Aが回線切断305前までに受信したアップロードデータのサイズを確認し、Webサーバ6Aが受信していないデータをアップロードデータ送信する(S310)。Webサーバ6Aは、回線切断の前の状態から受信処理を再開し、残りのアップロードデータを受信する。Webサーバ6Aは、アップロードデータを全て受信すると、該当する受信管理テーブル63を削除し(S311)、成功応答を携帯電話1へ送信する(S312)。携帯電話機1は成功応答を受信すると、アップロードに成功したと判断し、アップロードの処理を終了する。
【0056】
本実施例に拠れば、携帯電話機からのWebサーバへデータのアップロード途中に回線が切断された場合に、携帯電話から一度送信したデータの再送不要でアップロードの再開を可能にする。また、負荷分散システムに適用できる。
【0057】
図19と図20とを参照して、実施例3について説明する。ここで、実施例3は、実施例2において、継続応答に再開情報を格納する代わりに、携帯電話機1と、中継装置4またはWebサーバ6AでHTTPに準拠したメッセージを交換することにより、実施例2と同様の効果を得られる方法である。実施例3と、実施例2との相違点を、図19および図20を用いて説明する。ここで、図19はGET要求に対する応答のメッセージフォーマットである。図20は携帯電話器とWebサーバとの間のアップロード処理のシーケンス図である。
【0058】
図19において、Webサーバ6Aが携帯電話機1へ送信する再開情報を付加したGET要求に対する応答は、HTTP(応答)ヘッダ751とHTTPボディ752とから構成される。また、HTTPボディ752には、アップロードプログラム753が格納されている。さらに、アップロードプログラム753には再開情報136Aが埋め込まれている。
【0059】
図20を参照して、携帯電話機1とWebサーバ6Aとのアップロードのシーケンスを説明する。図20において、はじめに、携帯電話機1は、Webサーバ6AへHTTPの通常のGET要求を送信する(S550)。Webサーバ6Aは、受信管理テーブル43で空いているメッセージID101を携帯電話機1に割り当てし(S551)、通常の成功を示す応答に、再開情報を埋め込んだアップロードプログラムをHTTPボディ752に付加して携帯電話機1へ送信する(S552)。実施例3では、Webサーバ6Aは、メッセージID101を回線毎に管理し、ステップ551においてアップロード要求300を受信する前にメッセージID101を割り当てすることができる。再開情報136には、図19で説明したように、携帯電話機がHTTP通信を行うプログラム(Webブラウザ)上で動作するアップロードプログラム753が含まれる。また、アップロードプログラム753には、Webサーバアドレス139とメッセージIDとからなる再開情報136Aが埋め込まれている。携帯電話機1は、応答を受信するとアップロードプログラム753を実行し、再開情報を記憶する(S553)。アップロードプログラム753は、携帯電話機1のステップ552から成功応答312を受信するまでの動作が記述してある。携帯電話機1は、アップロードプログラム753に従い、アップロード要求を送信し(S300)、成功応答を受信する(S312)まで、実施例2の図18と同じ動作をする。なお、継続応答に再開情報を含んでも含まなくとも良い点は、実施例2とは異なる。
【0060】
本実施例に拠れば、携帯電話機からのWebサーバへデータのアップロード途中に回線が切断された場合に、携帯電話から一度送信したデータの再送不要でアップロードの再開を可能にする。また、負荷分散システムに適用できる。
【0061】
図21と図22を参照して、実施例4について説明する。ここで、図21はネットワークシステムのブロック図である。図22は携帯電話機と中継装置とWebサーバとメッセージセンタとの間のデータアップロードのシーケンス図である。実施例4は、実施例1において、継続応答に再開情報を格納する方法を利用する代わりに、中継装置は、回線切断後に携帯電話機宛てにショートメッセージを送信する。このショートメッセージに、中継装置アドレス、メッセージID、受信サイズを含めることによって、実施例1と同様の効果を得られる方法である。実施例4と、実施例1との相違点を、図21および図22を用いて説明する。
【0062】
図21において、ネットワークシステム100Bは、携帯電話機1、無線網2、キャリア設備網3、キャリア設備網3に接続された中継装置4とメッセージセンタ7とデータベース9とインターネット5、Webサーバ6とから構成される。ここで、メッセージセンタ7は、携帯電話1にショートメッセージを送信する。データベース9は、SUB IDと、SMSアドレス(電話番号)とを対応付ける。
【0063】
図22において、はじめに、携帯電話機1は、Webサーバ6宛てにアップロード要求を送信する(S601)。実際には、中継装置4がアップロード要求を受信し、アップロード要求を解析し、アップロード処理判定条件を満たした場合、アップロード要求のHTTPヘッダに含まれるSUB IDを記憶し、受信管理テーブル43を作成し、アップロードデータの記憶を開始する(S602)。
【0064】
中継装置4は、アップロード要求をWebサーバ6に中継し(S603)、Webサーバ6からHTTPに準拠したレスポンスコード100の継続応答を受信する(S604)。継続応答は、Webサーバ6がアップロードデータを受信可能であることを示す応答である。中継装置4は、実施例1と異なり、受信した継続応答を通常のプロキシの処理とし、携帯電話機1へ継続応答として送信する(S606)。
【0065】
携帯電話機1は、アップロードデータをアップロードし続ける(S607)。中継装置4は、アップロードデータを記憶し、Webサーバ6へアップロードデータを中継する(S608)。中継装置4のアップロードデータの中継は、中継装置4がアップロードデータサイズ全てを受信してから、まとめてWebサーバ6へ中継しても、中継装置4がアップロードデータを受信して随時Webサーバ6へ中継してもよい。
【0066】
ここでは、アップロード途中に、携帯電話機1と中継装置4間の回線切断が発生した(S609)とする。また、中継装置4とWebサーバ6との間の回線もタイムアウトにより、切断されたとする(S611)。中継装置4はアップロードの失敗を検知し(S612)、受信管理テーブル43のSUB ID102を利用して、携帯電話機1へショートメッセージ(以下、SMSと呼ぶ)を作成する(S613)。SUB ID102は携帯電話機1を一意に識別する識別子であり、中継装置4は、SUB ID102をSMSにそのまま格納して携帯電話機1へ送信する。ただし、SMSを配信するのはキャリア設備網3に設置されたメッセージセンタ7であり、中継装置4はメッセージセンタ7にSMSを送信する。中継装置4が作成したSMSには、中継装置アドレスと、メッセージID101および受信サイズ104が格納されている。メッセージセンタ7は中継装置4から受信したSMSを携帯電話1に転送する(S614)。
【0067】
携帯電話機1は、メッセージセンタ7からSMSを受信し、リトライ画面を出力する(S616)。携帯電話機1のユーザは、リトライ用画面でリトライするか否かを選択でき、リトライを選択する。携帯電話機1は、SMSに格納された中継装置アドレスへ、メッセージID101を添付して、再接続要求を送信する(S617)。中継装置4の作成したSMSによっては、携帯電話機1は、リトライ画面でユーザの同意を求めずに自動で再接続要求を送信する設定も可能である。
【0068】
中継装置4は、再接続要求を受信すると、要求に含まれるメッセージID101を用いて、受信管理テーブル43に対応する項目を抽出、確認し(S618)、再接続要求の受諾を示す応答して受諾応答を送信する(S619)。
【0069】
携帯電話機1は、受諾応答を受信すると、SMSに含まれていた受信管理テーブル43の受信サイズ104の情報から、中継装置4が回線切断前までに受信したアップロードデータのサイズを確認し、中継装置4が受信していないデータをアップロードデータとして送信する(S621)。中継装置4は、携帯電話機1からアップロードが再開されると、Webサーバ6と再接続する(S622)。中継装置4は、記憶していたアップロード要求、アップロードデータをWebサーバに送信する(S623)。なお、Webサーバ6がアップロード要求、データを受信すると継続応答を応答するが、ここでは一連の処理を簡略化するため省略する。中継装置4は、新たなアップロードデータを受信しているので、アップロードデータをWebサーバ6へ送信する(S624)。携帯電話機1からWebサーバ6へ全てのアップロードデータが送信されると、Webサーバ6は成功応答を応答する(S625)。中継装置4は成功応答を受信すると、アップロードが成功したと判定し、該当する受信管理テーブル43の項目と、記憶データを削除し(S626)、成功応答を携帯電話機1へ送信する(S627)。携帯電話機1は、成功応答を受信すると、アップロードに成功したと判断し、アップロードの処理を終了する。
【0070】
なお、中継装置4は、携帯電話機1のSUB ID102をキャリア設備網3に設けられたデータベース9に問い合わせ、SMSのアドレス(電話番号)を取得してメッセージセンタに送信しても良い。また、実施例2または実施例3のネットワークシステム100Aの構成において、Webサーバ6Aからメッセージセンタ7を介してショートメッセージを携帯電話機1に送信するように構成しても良い。また、実施例1のように中継装置4を複数設け、負荷分散しても良い。
【0071】
本実施例に拠れば、携帯電話機からのWebサーバへデータのアップロード途中に回線が切断された場合に、携帯電話から一度送信したデータの再送不要でアップロードの再開を可能にする。
【図面の簡単な説明】
【0072】
【図1】ネットワークシステムのブロック図である。
【図2】携帯電話機のハードウェアブロック図である。
【図3】中継装置のハードウェアブロック図である。
【図4】受信管理テーブルを説明する図である。
【図5】アップロード要求のメッセージフォーマットである。
【図6】継続応答のメッセージフォーマットである。
【図7】再接続要求のメッセージフォーマットである。
【図8】再アップロード情報のメッセージフォーマットである。
【図9】携帯電話機のリトライ時の画面出力を説明する図である。
【図10】携帯電話機、中継装置およびWebサーバ間のアップロード処理シーケンス図である。
【図11】携帯電話機のアップロード処理のフローチャートである。
【図12A】中継装置のアップロード処理のフローチャーとである(その1)。
【図12B】中継装置のアップロード処理のフローチャーとである(その2)。
【図13】分割送信のアップロード要求のアップロード要求のメッセージフォーマットである。
【図14】分割送信のアップロードデータのフォーマットである。
【図15】ネットワークシステムのブロック図である。
【図16】Webサーバのハードウェアブロック図である。
【図17】継続応答のメッセージフォーマットである。
【図18】携帯電話器とWebサーバとの間のデータアップロードのシーケンス図である。
【図19】GET要求に対する応答のメッセージフォーマットである。
【図20】携帯電話器とWebサーバとの間のデータアップロードのシーケンス図である。
【図21】ネットワークシステムのブロック図である。
【図22】携帯電話機と中継装置とWebサーバとメッセージセンタとの間のデータアップロードのシーケンス図である。
【符号の説明】
【0073】
1…携帯電話機、2…無線網、3…キャリア設備網、4…中継装置、5…インターネット、6…Webサーバ、7…メッセージセンタ、8…負荷分散装置、9…データベース(DB)、10…プロセッサ、11…記憶装置、12…プログラムメモリ、13…データ記憶部、14…画面出力インタフェイス、15…入出力インタフェイス、16…入力インタフェイス、17…内部接続線、40…プロセッサ、41…記憶装置、42…プログラムメモリ、43…受信管理テーブル、44…データ記憶部、45…入出力インタフェイス、47…内部接続線、60…プロセッサ、61…記憶装置、62…プログラムメモリ、63…受信管理テーブル、64…データ記憶部、65…入出力インタフェイス、67…内部接続線、100…ネットワークシステム。
【技術分野】
【0001】
本発明は、ネットワークを介してデータをアップロードするクライアント装置とアップロードデータを受信するクライアント装置に関する。
【背景技術】
【0002】
近年、携帯電話機からのWebアクセスが広く普及し、携帯電話を使ったWebアプリケーションが増加している。それに伴い、携帯電話とサーバ間で通信するデータ量が増加している。またデータの送受信に要する時間、即ち携帯電話機とサーバ間の回線を維持する時間が長くなっている。携帯電話とWebサーバ間には無線網、キャリア設備網、およびインターネットがあり、無線網では携帯電話機の移動や一時的な通信不能に陥りやすい。このとき、キャリア設備網では一定時間通信が行なわれていない回線を切断する。この回線切断が起こった場合、携帯電話機は通信が切断されるまでに得たデータを捨て、再び最初からサーバと通信し、サーバからデータを取得しなければならなかった(これら携帯電話機の一連の通信処理を以下、リトライ処理と呼ぶ)。さらに、上記のようなセッション切断が多発すると、携帯電話機のリトライ処理により無線網、キャリア設備網、インターネットおよびサーバでデータ量が急激に増加する。この結果、上記システムに多大な負荷を与え、障害が発生する可能性がある。
【0003】
上記問題の解決策として、特許文献1に記載される方法、即ち回線切断後にサーバから携帯電話機へのデータの再送を抑止する方法が提案されている。携帯電話機とサーバ間のキャリア設備網またはインターネットに、サーバからの通信データを保管および管理するための中継装置を設け、携帯電話機とサーバ間の回線が切断されても、該中継装置がサーバとの通信を代行し、サーバからの通信データを保管し、携帯電話機が中継装置から通信データを取得することにより、携帯電話機からのリトライ処理を防止する。
【0004】
【特許文献1】特開2001−231080号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
特許文献1の方法は、サーバから携帯電話機へのデータの送信(ダウンロード)におけるリトライ処理の抑止に特化している。しかし、近年携帯電話からサーバへ送信する(以下、アップロードと呼ぶ)データが巨大化している。アップロード時に携帯電話機とサーバ間の回線が切断した場合は、特許文献1の方法では、携帯電話機が中継装置の実際に受信したアップロードデータのサイズがわからないため、アップロードデータを回線切断前の続きから再開することができない。たとえば、携帯電話機が回線切断前に実際にアップロードしたデータのサイズを記憶しておき、回線切断後にアップロード途中から再開しようにも、無線網、キャリア設備網でデータが消失している可能性があるため、実現不可能である。
【0006】
また、特許文献1の方法では、中継装置をキャリア設備網のように負荷分散を行っているシステムに適用したときに、移動端末は、常に同じ中継装置にアクセスすることができない。
【0007】
以上を考慮し、本発明は携帯電話機からデータのアップロード中に回線切断した場合に、携帯電話機からサーバへのアップロードの再開を可能とするシステムを提供する。
【課題を解決するための手段】
【0008】
上述した課題は、内部通信線で接続されたプロセッサと、記憶装置と、入出力インタフェイスとを備え、記憶装置に記憶されたプログラムをプロセッサが実行し、入出力インタフェイスは、第1のネットワークを介してクライアント装置と接続され、プロセッサを、クライアント装置から、アップロード要求を受信したとき、このアップロード要求を通信識別子とともに記憶装置に記憶し、クライアント装置から、アップロードデータを受信したとき、このアップロードデータを記憶装置に記憶する記憶制御部と、アップロード要求に対する応答に通信識別子と自装置のアドレスとを含めて、クライアント装置に送信し、クライアント装置から、再接続要求を受信したとき、この再接続要求に対する応答に通信識別子と記憶装置に記憶されたアップロードデータのサイズとを含めて、クライアント装置に送信する送信制御部と、として機能させる通信装置により、達成できる。
【0009】
また、内部通信線で接続されたプロセッサと、記憶装置と、入出力インタフェイスとを備え、記憶装置に記憶されたプログラムをプロセッサが実行し、入出力インタフェイスは、第1のネットワークを介してクライアント装置と接続され、プロセッサを、クライアント装置から、アップロード要求を受信したとき、このアップロード要求を通信識別子とともに記憶装置に記憶し、クライアント装置から、アップロードデータを受信したとき、このアップロードデータを記憶装置に記憶する記憶制御部と、クライアント装置との回線切断を検知したとき、通信識別子と記憶装置に記憶されたアップロードデータのサイズと自装置のアドレスとを含めて、クライアント装置に送信する送信制御部と、して機能させる通信装置により、達成できる。
【0010】
さらに、内部通信線で接続されたプロセッサと、記憶装置と、入出力インタフェイスと、画面出力インタフェイスと、入力インタフェイスとを備え、記憶装置に記憶されたプログラムをプロセッサが実行し、入出力インタフェイスは、ネットワークを介して通信装置と接続され、プロセッサを、通信装置にアップロード要求を送信したとき、応答に含まれる通信識別子と通信装置のアドレスとを記憶装置に記憶する記憶制御部と、通信装置へのアップロードが中断したとき、アドレス宛に通信識別子を含む再接続要求を送信する送信制御部と、して機能させるクライアント装置により、達成できる。
【発明の効果】
【0011】
本発明によれば、携帯電話機からWebサーバへのアップロード途中に回線が切断された場合に、携帯電話から一度送信したデータの再送信が不要である。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施の形態について、実施例を用い図面を参照して説明する。なお、実質同一部位には、同じ参照番号を振り、説明は繰り返さない。
実施例1を図1ないし図12を参照して説明する。まず、図1を参照して、ネットワークシステムを説明する。ここで、図1はネットワークシステムのブロック図である。図1において、ネットワークシステム100は、無線網2に接続されたキャリア設備網3と携帯電話機1と、キャリア設備網3はインターネット5とWebサーバに接続されたキャリア設備網3に接続された3台の中継装置4とから構成される。直接接続されている。
【0013】
中継装置4は、携帯電話機1からのHTTP要求を、インターネット5を介して、Webサーバ6に中継する機能(プロキシ機能)と、中継したデータを記憶する機能と、中継装置4が自身に携帯電話機1からアクセスさせるための情報(以下、再開情報と呼ぶ)を含んだメッセージを作成する機能を有する。中継装置4は、キャリア設備網3内で負荷分散され複数台存在し、各中継装置を一意に識別するIPアドレス(以下、中継装置アドレスと呼ぶ)を持つ。なお、中継装置アドレスは、名前解決できるホスト名など中継装置4−1〜4−3を一意に識別する識別子であってもよい。
【0014】
携帯電話機1は無線網2、キャリア設備網3を介してデータ通信可能な携帯通信端末であり、無線網2、キャリア設備網3およびインターネット5の通信路を介してデータを送受信する機能と、HTTP通信できる機能と、無線網2、キャリア設備網3で回線切断しても中継装置4から受信した再開情報を用いて中継装置4に再接続することができる機能を有する。
【0015】
無線網2は、携帯キャリアが管理する無線ネットワークである。キャリア設備網3は、無線網2からの通信をインターネット5へ変換、中継するネットワークおよびネットワーク設備である。
Webサーバ6は、携帯電話機1とHTTP通信を行う機能を有する。Webサーバ6は、DBサーバ、他のWebサーバと連携して処理を行ってもよい。
【0016】
図2を参照して、携帯電話機を実現する情報処理装置のハードウェア構成を説明する。ここで、図2は携帯電話機のハードウェアブロック図である。図2において、携帯電話機1は、プロセッサ10と、記憶装置11と、ディスプレイなどの画面出力インタフェイス14と、無線網2にデータを送受信するための入出力回路インタフェイス15と、データ入力のための入力インタフェイス16と、これらを接続するバスなどの内部通信線17からなる。記憶装置11は、プログラムメモリ12と、データ記憶部13を格納している。プログラムメモリ12には、携帯電話機1を実現する各種制御プログラムが記録され、プロセッサ10がプログラムメモリ12を実行する。なお、各プログラムは、予めプログラムメモリ12に格納されていてもよいし、図示していない着脱可能な記憶媒体または通信媒体(ネットワークまたはそれを伝播する搬送波)を介して、プログラムメモリ12に導入されてもよい。また、プログラムメモリ12には、携帯電話機1がWebサーバ6とHTTP通信を実現するプログラムと、アップロード途中に回線切断されたとき、中継装置4を介して再開を行う処理プログラムを有する。これらのプログラムは同一であってもよいし、前者のHTTP通信を実現するプログラムを使用しネットワークを介して、後者の機能を実現するプログラム(Java(登録商標)、JavaScript、Flash等で実現されたプログラム)を取得し、動作させてもよい。記憶装置11内のデータ記憶部13には、アップロード時に中継装置4から取得した再開情報と、Webサーバ6との通信で取得した情報が記憶される。記憶装置11は、半導体記憶装置、または、ハードディスクなどの外部記憶装置で構成する。画面出力インタフェイス14は、携帯電話機1の使用者がWebサーバ6との通信内容と、記憶装置11に格納されたデータを表示する装置である。入力インタフェイス16は、携帯電話機1の使用者がデータ入力を可能にするための入力装置である。
【0017】
図3を参照して、中継装置を実現する情報処理装置のハードウェア構成を説明する。ここで、図3は中継装置のハードウェアブロック図である。図3において、中継装置4は、プロセッサ40と、記憶装置41と、キャリア設備網3にデータを送受信するための入出力回路インタフェイス45と、これらを接続するバスなどの内部通信線47からなる。記憶装置41は、プログラムメモリ42と、受信管理テーブル43と、データ記憶部44を格納している。プログラムメモリ42には、中継装置4を実現する各種制御プログラムが記録され、プロセッサ40がプログラムメモリ42を実行する。なお、各プログラムは、予めプログラムメモリ42に格納されていてもよいし、図示していない着脱可能な記憶媒体または通信媒体(ネットワークまたはそれを伝播する搬送波)を介して、プログラムメモリ42に導入されてもよい。受信管理テーブル43には、中継装置4が携帯電話機1からの受信したアップロード要求およびデータを管理するための情報が記述される。受信管理テーブル43は、中継装置4が携帯電話機1からのアップロード要求を中継するときに作成してもよいし、中継装置4が中継装置4外の受信管理テーブルをもつ記憶媒体から通信媒体(ネットワークまたはそれを伝播する搬送波)を介して取得し、受信管理テーブル43に導入してもよい。データ記憶部44には、中継装置4が携帯電話機1とWebサーバ6のHTTPメッセージを中継したときに取得した情報と、携帯電話機1と中継装置4の回線切断後の再開に使用する情報が記憶される。記憶装置41は、半導体記憶装置、または、ハードディスクなどの外部記憶装置で構成する。中継装置4は、システム管理者によるデータ入力を可能にするための入力装置と表示装置を備えている。しかし、これらの装置は以下の説明では使用しないため、図3では省略してある。なお、中継装置4は、図1ではキャリア設備網3に設置されているが、インターネット5に設置しても、実現可能である。
【0018】
図4を参照して、受信管理テーブルを説明する。ここで、図4は受信管理テーブルを説明する図である。図4において、受信管理テーブル43の各エントリは、メッセージID101と、SUB ID102と、受信時刻103と、受信サイズ104と、トータルサイズ105と、最終受信時刻107と、およびCookie情報108と、データ格納領域109から構成される。
【0019】
メッセージID101は、中継装置4が携帯電話機1から受信し、記憶したアップロード要求およびデータを一意に識別するための識別子である。SUB ID102は、携帯電話機1を一意に識別するための識別子である。受信時刻103は、中継装置4が携帯電話機1からアップロード要求を受信開始した時刻である。中継装置4は記憶したアップロード要求およびデータが受信時刻103から既定時間を超過した場合、アップロード要求およびデータを削除する。受信サイズ104は、中継装置4が携帯電話機1から受信したデータサイズである。トータルサイズ105は、携帯電話機1がアップロードしようとしている全データサイズであり、中継装置4はアップロード要求のヘッダ内から取得する。ただし、携帯電話1が分割送信した場合、アップロード要求のヘッダの中にトータルサイズは存在しないため、使用しない。
【0020】
最終受信時刻107は、中継装置4が携帯電話機1から最後にアップロードデータを受信した時刻であり、中継装置4と携帯電話機1間の回線の生存と、最終受信時刻から一定時間経過した場合に記憶したアップロードデータを削除する処理のために使用する。Cookie情報108は、中継装置4を介した携帯電話機1とWebサーバ6とのHTTP通信でCookieを使用していて、回線切断後に再開を行うときにCookie情報を中継装置4で変更する必要がある場合に使用する。データ格納領域109は、データが中継装置4のデータ記憶部44のどこに存在するかを示す。
なお、携帯電話1がHTTP1.1準拠の”Transfer-Encoding:chunked”を用いて分割送信してきたとき、メッセージID101が、「000002」のように、トータルサイズ105は使用しない。
【0021】
図5を参照して、携帯電話機が中継装置に送信するアップロード要求を説明する。図5はアップロード要求のメッセージフォーマットである。図5において、アップロード要求は、HTTPヘッダ701とHTTPボディ702とから構成される。具体的には、HTTPヘッダのリクエストラインにHTTP準拠のPOSTメソッドを記載し、HTTPボディ702にアップロードデータの一部を含めて送信する。なお、HTTPボディ702は無くとも良い。
【0022】
図6を参照して、中継装置が携帯電話機に送信する再開情報を付加したHTTP応答を説明する。ここで、図6は継続応答のメッセージフォーマットである。ここで、継続応答とは、Webサーバが送出するHTTPに準拠したレスポンスコード100の応答である。図6において、継続応答は、携帯電話機1のアップロード要求に対するWebサーバ6の応答に、中継装置4が再開情報を付加したデータである。継続応答は、ヘッダ132およびボディ137から構成される。ヘッダ132は、Webサーバ6が作成したレスポンスコード133とサーバ作成ヘッダ134、中継装置4が付加したプロキシ付加ヘッダ135と再開情報136から構成される。
【0023】
レスポンスコード133は、アップロード要求に対する三桁の数字による結果コードであり、継続応答のとき「100」である。サーバ作成ヘッダ134は、Webサーバ6が作成したレスポンスコード133以外のヘッダ情報である。プロキシ付加ヘッダ135は、中継装置4がプロキシの機能として付加したヘッダであり、継続応答を中継したことを示すViaヘッダなどが該当する。再開情報136は、携帯電話機1が回線切断した場合に中継装置4に再接続するための情報である。再開情報136は、中継装置アドレス138と、メッセージID101から構成される。なお、ここでは、再開情報136をヘッダ132に格納しているが、ボディ137に格納してもよい。
【0024】
図7を参照して、携帯電話機が中継装置に送信する再接続要求を説明する。ここで、図7は再接続要求のメッセージフォーマットである。図7において、再接続要求はHTTPヘッダ711と、HTTPボディに記録された再開情報136とから構成される。ここで、再開情報136は携帯電話機1が中継装置4から継続応答で受信したものである。再接続要求には、継続応答を送信した特定の中継装置4の中継装置アドレスを含んでいるので、継続応答を送信した中継装置4によって受信される。
【0025】
図8を参照して、中継装置が携帯電話機に送信する再アップロード情報を説明する。ここで、図8は再アップロード情報のメッセージフォーマットである。図8において、再アップロード情報は、HTTP(応答)ヘッダ721と、HTTPボディ722とから構成される。HTTPボディ722には、メッセージID101と、中継装置4がそれまでに受信したアップロードデータの受信サイズ104とを含んでいる。再アップロード情報を受信した携帯電話機1は、メッセージID101と受信サイズ104を利用して、中継装置が未受信のアップロードデータを送信することができる。
【0026】
図9を参照して、携帯電話機のリトライ時の画面出力を説明する。ここで、図9は携帯電話機のリトライ時の画面出力を説明する図である。図9において、携帯電話機1は、Webサーバ6へアップロードが失敗したことを記憶しており、ユーザに対し、中断したアップロード要求を開始するかを選択できる画面を画面出力インタフェイス14に出力する。ユーザは、入力インタフェリス16を利用して、リトライボタン141を選択することによりアップロードを再開できる。また、中止ボタン142を選択することによりアップロードを中止することができる。なお、リトライボタン141、中止ボタン142は画面出力ではなく、入力インタフェイス16として携帯電話機1に装備してもよい。
【0027】
図10を参照して、携帯電話機、中継装置およびWebサーバ間のアップロード処理シーケンスを説明する。ここで、図10は携帯電話機、中継装置およびWebサーバ間のアップロード処理シーケンス図である。図10において、はじめに、携帯電話機1がWebサーバ6へアップロード要求を送信する(S150)。実際には複数の中継装置4のいずれかがアップロード要求を受信し、アップロード要求を解析し条件(以下、アップロード処理判定条件と呼ぶ)を満たした場合、アップロード要求のHTTPヘッダに含まれるSUB IDとトータルサイズを記憶し、受信管理テーブル43を作成し、アップロード要求およびアップロードデータの記憶を開始する(S151)。アップロード処理判定条件とは、中継装置4がアップロード要求を記憶するか、何も処理せず通常のプロキシとして中継(以下、通常のプロキシ中継処理と呼ぶ)するかを判定するための条件であり、ここではアップロードするデータサイズが既定値を超過した場合を条件とする。また、アップロード処理判定条件として、他に特定のSUB IDや特定のURLのみといった条件も考えられる。
【0028】
中継装置4は、アップロード要求をWebサーバ6に中継し(S152)、Webサーバ6からHTTPに準拠したレスポンスコード100の応答(以下、継続応答と呼ぶ)を受信する(S153)。継続応答は、Webサーバ6がアップロードデータを受信可能であることを示す応答であり、ここではレスポンスコード100である応答であるが、それと同意の応答であればよい。中継装置4は、受信した継続応答に、プロキシ付加ヘッダ135と再開情報136を付加して(S154)、携帯電話機1へ継続応答(詳細は図6参照)として送信する(S155)。ただし、Webサーバ6によっては継続応答を返さないサーバもありえるため、中継装置4はWebサーバ継続応答を受信できなければ、自ら継続応答を作成し、携帯電話機1へ送信する。
【0029】
携帯電話機1は、継続応答に含まれる再開情報136を記憶し、アップロードデータをアップロードし続ける(S157)。中継装置4はアップロードデータを記憶し、Webサーバ6へアップロードデータを中継する(S159)。中継装置4のアップロードデータの中継は、中継装置4がアップロードデータサイズ全てを受信してから、まとめてWebサーバ6へ中継しても、中継装置4がアップロードデータを受信して随時Webサーバ6へ中継してもよい。
【0030】
アップロード途中に、携帯電話機1と中継装置4間の回線切断が発生したとする(S160)。また、データ転送が途絶えたことから、ここでは中継装置4とWebサーバ6との間の回線もタイムアウトにより切断される(S161)。
【0031】
携帯電話機1は、回線切断を検知し、アップロードを中断し、リトライ用の画面を画面出力インタフェイス16に出力する(S162)。携帯電話機1のユーザは、リトライ用画面でリトライするか否かを選択でき、ここではリトライを選択したとする。携帯電話機1は、中継装置4へ再接続要求を送信する(S170)。携帯電話機1は、再接続するときに再開情報136の中の中継装置アドレス138とメッセージID101とを使用する。再接続要求は、継続応答を送信した中継装置4により、受信される。再接続要求を受信した中継装置4は、再接続要求に含まれるメッセージID101を用いて、受信管理テーブル43に対応する項目を抽出、確認する(S171)。中継装置4は、受信管理テーブル43の受信サイズ104の情報を含んだHTTP準拠の応答(以下、再アップロード情報と呼ぶ)を携帯電話機1へ送信する(S172)。携帯電話機1は、受信した再アップロード情報に含まれる受信サイズ104から、中継装置4が回線切断160前までに受信したアップロードデータのサイズを確認し、中継装置4が受信していないデータをアップロードデータとして送信する(S173)。中継装置4は、携帯電話機1からアップロードが再開されると、Webサーバ6へ再接続する(S174)。中継装置4は、アップロード要求、データをWebサーバ6へ送信する(S175)。ステップ175のアップロードデータは、回線切断以前に記憶したアップロードデータである。中継装置4は、データ受信管理テーブル43のCookie情報108があれば、アップロード要求、データに該Cookie情報を付加して送信する。なお、Webサーバ6がアップロード要求、データを受信する(S175)と、継続応答を応答するが、ここでは一連の処理を簡略化するため省略する。
【0032】
中継装置4は、ステップ173で新たなアップロードデータを受信すると、アップロードデータとしてWebサーバ6へ送信する(S176)。携帯電話機1からWebサーバ6へ全てのアップロードデータが送信されると、Webサーバ6は成功応答を応答する(S177)。中継装置4は、成功応答177を受信すると、アップロードが成功したと判定し、該当する受信管理テーブル43の項目と、記憶データを削除し(S178)、成功応答を携帯電話機1へ送信する(S179)。携帯電話機1は、成功応答を受信すると、アップロードに成功したと判断し、アップロードの処理を終了する。
【0033】
なお、ここでは、中継装置4とWebサーバ6間の回線切断(S161)は、Webサーバ6や中継装置4のタイムアウトによる。しかし、中継装置4が携帯電話機1との回線切断160を検知して自ら切断してもよい。また、タイムアウトしていない場合は、ステップ174とステップ175は不要である。
【0034】
なお、図10では携帯電話機1と中継装置4で継続応答155を利用して再開情報136を中継装置4から携帯電話機1へ伝達しているが、アップロード要求150の前に携帯電話機1から中継装置4へアップロードを開始することを示す要求を送信し、中継装置4がこの要求を受諾する、即ちネゴシエーションを行ってもよい。このとき中継装置4と携帯電話機1とで交換するメッセージはHTTPに準拠する。中継装置4が携帯電話機1からのネゴシエーションを受諾した場合、中継装置4は継続応答155の代わりに再開情報136をボディ137に格納した応答(図6でも説明した)を送信する。
【0035】
図11を参照して、携帯電話機の処理フローを説明する。ここで、図11は携帯電話機のアップロード処理のフローチャートである。図11において、はじめに携帯電話機1は、アップロード要求、データを中継装置4へ送信開始する(S201)。ステップ201で開始したアップロードの処理はアップロード中断する処理(S206またはS207)を行わなければ、中継装置4へアップロードデータを送信し続ける。携帯電話機1はデータの受信待ち(S202)し、中継装置4から継続応答を受信する。携帯電話機1は、継続応答に再開情報136が含まれるか判別し(S203)、再開情報136が含まれる場合記憶する(S204)。携帯電話機1はステップ203またはステップ204から再びデータ受信待ち202に戻る。
【0036】
携帯電話機1は、アップロード途中に回線切断または中継装置4からの応答を受信していなくてタイムアウトが判定された場合は、アップロードを中断する(S207)。携帯で電話機1は、画面出力インタフェイス14にリトライ用画面出力する(S208)。携帯電話機1は、ユーザによるアップロードを再開するか中止するかの操作を待ち(S209)、ユーザが中止を選択し場合、アップロードの処理を終了する。ユーザが再開を選択した場合、携帯電話機1は、再開情報136から中継装置アドレス138を用いて中継装置4へ再接続し、メッセージID101を送信する(S210)。携帯電話機1は、中継装置4から再アップロード情報172を取得し(S211)、アップロードを再開する(S212)。携帯電話機1はステップ212において、受信した再アップロード情報172に含まれる受信サイズ104または分割オプション106から、中継装置4が回線切断160前までに受信したアップロードデータのサイズを確認し、中継装置4が受信していないデータからアップロードデータとして送信する。携帯電話機はステップ212後、再びステップ202に戻り、中継装置4から成功応答を受信すると、アップロード成功したと判定し(S205)、正常終了する。
【0037】
図12を参照して、中継装置の処理フローを説明する。ここで、図12は中継装置のアップロード処理のフローチャーとである。図12において、中継装置4のプログラムの実行が開始されると、中継装置4は、入出力回路インタフェイス45からのデータ受信待ちに遷移する(S251)。中継装置4は、ステップ251において入出力回路インタフェイス45から入力されるデータおよび信号を監視し、携帯電話機1からの受信か、Webサーバ6からの受信かを判別する。また、中継装置4は、ステップ251においてデータを受信していない間は受信管理テーブル43の最終受信時刻107を参照し、該当するメッセージ(記憶データ)がタイムアウトしていないかどうか判定する。
【0038】
中継装置4は、携帯電話機1からデータを受信すると、要求判定を行う(S252)。中継装置4は、要求判定において、アップロード要求(POSTまたはPUT要求)であるか、アップロードデータであるか、アップロード再開のための再接続であるか、およびそれら以外の通常の要求またはデータであるかを判定する。ステップ252において、アップロード要求であった場合、中継装置4は、アップロード判定条件を満たすか判定を行う(S253)。中継装置4は、ステップ253において、中継装置4がアップロード要求を記憶するか、通常のプロキシ中継処理を行うかの判定を実施し、ここではアップロードするデータサイズが既定値を超過した場合を判定条件とする。ステップ253において、中継装置4は不適合と判定した場合通常のプロキシ中継処理を行い(S254)、ステップ251に戻る。ステップ253において判定に適合した場合、中継装置4は、データの記憶を開始し、受信管理テーブル43を作成し(S255)、Webサーバ6へアップロード要求を転送する(S256)。中継装置4は、ステップ256終了後、再びステップ251へ戻る。
【0039】
中継装置4は、Webサーバ6からデータを受信すると、応答判定を行う(S270)。中継装置4は、ステップ270において、継続応答であるか、成功応答であるか、中継装置4とWebサーバ6間の回線切断か、それ以外の通常の応答やデータであるかを判定する。中継装置4は、継続応答を受信すると、継続応答に再開情報236を付加し(S271)、携帯電話機1へ中継する(S272)。中継装置4はステップ272終了後、再びステップ251へ戻る。
【0040】
中継装置4は、ステップ252において、携帯電話機1から受信管理テーブル43が作成されたアップロード要求のアップデータを受信したとき、アップロードデータを記憶し、受信管理テーブルの受信サイズ104と、最終受信時刻107を更新する(S257)。中継装置4は、ステップ257終了後Webサーバ6との回線状況を判定し(S258)、接続中の場合はWebサーバ6へ中継する(S260)。中継装置4はステップ260終了後、再びステップ251へ戻る。ステップ258で切断状態のとき、中継装置4は、Webサーバ6へ接続し、アップロード要求と、データを送信した後(S259)、ステップ260に遷移する。
【0041】
携帯電話機1と中継装置4との間の回線切断が起こっても、中継装置4は、記憶データを受信管理テーブル43の最終受信時刻107から一定時間保持する。ただし、携帯電話機1からのアップロードデータまたは再接続要求170が最終受信時刻107から一定時間なければタイムアウトと判定し(S264)、受信管理テーブル43と記憶データを削除し、処理を終了する。
【0042】
中継装置4は、ステップ252において、携帯電話機1から再接続要求を受信すると、再接続要求に含まれるメッセージID102を受信メッセージ管理テーブル43から探索し(S261)、メッセージIDが無い場合は処理を終了する。ステップ261において、該当するメッセージIDがある場合、中継装置4は携帯電話機1へ受信サイズ104または分割オプション106を含む再アップロード情報を送信する(S262)。中継装置4は、ステップ262終了後、再びステップ251へ戻る。
【0043】
中継装置4は、ステップ270において、Webサーバ6から成功応答を受信すると、携帯電話機1からのアップロードに成功したと判定し、受信管理テーブルと、記憶データを削除し(S275)、携帯電話機1へ成功応答を送信し(S276)、処理を終了する。
【0044】
中継装置4は、ステップ270において、Webサーバ6から受信管理テーブル43に該当しない応答を受信した場合は、通常のプロキシ中継処理を行い(S273)、中継処理の継続を判定(S274)し、継続ならデータ受信待ち251へ戻り、判定が終了であれば終了する。
【0045】
本実施例に拠れば、携帯電話機からのWebサーバへデータのアップロード途中に回線が切断された場合に、携帯電話から一度送信したデータの再送不要でアップロードの再開を可能にする。また、負荷分散システムに適用できる。
【0046】
実施例1の変形実施例を、図13および図14を参照して説明する。ここで、図13はHTTP1.1準拠のTransfer−Encoding:chunkedを使用した場合(分割送信と呼ぶ)の、アップロード要求フォーマットである。また、図14は分割送信のアップロードデータフォーマットである。
【0047】
図13において、アップロード要求フォーマットは、HTTPヘッダ701のみで構成されている。このとき、HTTPヘッダ701には、送信サイズ(Content−length)を含まない。
【0048】
図14において、アップロードデータは、図示を省いたHTTPヘッダと、HTTPボディ722とから構成される。HTTPボディ722は、アップロードデータのサイズ705と、アップロードデータ706とから構成される。分割送信されたアップロードデータの最後のHTTPボディ722は、サイズ705が「0」で、アップロードデータ706が連続した改行のみ(「空」を示すデータ)となる。
【0049】
実施例2を図15ないし図18を参照して説明する。ここで、図15はネットワークシステムのブロック図である。図16はWebサーバのハードウェアブロック図である。図17は継続応答のメッセージフォーマットである。図18は継続応答のメッセージフォーマットである。
【0050】
実施例2は、実施例1のように中継装置4を介せず、代わりにWebサーバ6Aにアップロードを再開する機能を保持させ、実施例1と同様の効果を得る実施例である。両者の相違点を、図15ないし図18を用いて説明する。ここで、図15はネットワークシステムのブロック図である。図16はWebサーバのハードウェアブロック図である。図17は継続応答のメッセージフォーマットである。図18は携帯電話器とWebサーバとの間のデータアップロードのシーケンス図である。
【0051】
図15において、ネットワークシステム100Aは、携帯電話機1、無線網2、キャリア設備網3、インターネット5、負荷分散装置8、複数のWebサーバで構成されている。携帯電話機1は、無線網2、キャリア設備網3、インターネット5、負荷分散装置8を介してWebサーバ6Aと直接通信を行う。なお、Webサーバ6Aは、実施例2では負荷分散装置8により、3台のWebサーバ6Aに負荷分散されている。各Webサーバ6Aは、携帯電話機1がWebサーバ6A−1〜6A−3の特定の1台と接続できるアドレス(以下、Webサーバアドレスと呼ぶ)を有する。Webサーバアドレスは携帯電話機1がWebサーバ6Aに直接アクセスできる一意なアドレスであり、IPアドレス、ホスト名、URL、またCookie情報を利用する。Cookie情報は、Webサーバ6Aを負荷分散している負荷分散装置8が、該Cookie情報を判別し、特定Webサーバへ接続するために利用できる。
【0052】
図16を参照して、Webサーバ6Aを実現する情報処理装置を説明する。図16において、Webサーバ6Aは、プロセッサ60と、記憶装置61と、負荷分散装置8にデータを送受信するための入出力回路インタフェイス65と、これらを接続するバスなどの内部通信線67からなる。記憶装置61は、プログラムメモリ62と、受信管理テーブル63と、データ記憶部64を格納している。プログラムメモリ62には、Webサーバ6Aを実現する各種制御プログラムが記録され、プロセッサ60がプログラムメモリ62を実行する。なお、各プログラムは、予めプログラムメモリ62に格納されていてもよいし、図示していない着脱可能な記憶媒体または通信媒体(ネットワークまたはそれを伝播する搬送波)を介して、プログラムメモリ62に導入されてもよい。受信管理テーブル63には、Webサーバ6Aが携帯電話機1からの受信したアップロード要求およびデータを管理するための情報が記述される。受信管理テーブル63は、Webサーバ6Aが携帯電話機1からのアップロード要求を中継するときに作成してもよいし、Webサーバ6AがWebサーバ6A外の受信管理テーブルをもつ記憶媒体から通信媒体(ネットワークまたはそれを伝播する搬送波)を介して取得し、受信管理テーブル63に導入してもよい。データ記憶部64には、Webサーバ6Aが携帯電話機1とWebサーバ6のHTTPメッセージを中継したときに取得した情報と、携帯電話機1とWebサーバ6Aの回線切断後の再開に使用する情報が記憶される。記憶装置61は、半導体記憶装置、または、ハードディスクなどの外部記憶装置で構成する。Webサーバ6Aは、システム管理者によるデータ入力を可能にするための入力装置と表示装置を備えているが、これらの装置は以下の説明では使用しないため、図16では省略してある。
【0053】
図17を参照して、Webサーバ6Aが携帯電話機1へ送信する再開情報を付加した継続応答を説明する。ここでは、実施例1との違いのみ説明すると、実施例2ではプロキシ付加ヘッダ135は存在しなくなり、中継装置アドレス138の代わりにWebサーバ6AにアクセスできるWebサーバアドレス139が再開情報136Aに含まれる。
【0054】
図18を参照して、携帯電話機とWebサーバとのアップロードのシーケンスを説明する。図18において、はじめに、携帯電話機1は、Webサーバ6Aへアップロード要求を送信する(S300)。Webサーバ6Aは、アップロード要求のHTTPヘッダに含まれるSUB IDを記憶し、受信管理テーブル43を作成し、アップロード要求330およびデータ受信を開始する(S301)。Webサーバ6Aは、HTTPに準拠したレスポンスコード100の継続応答を携帯電話機1へ送信する(S302)。携帯電話機1は、継続応答に含まれる再開情報136を記憶し(S303)、アップロードデータを送信する(S304)。
【0055】
ここでは、アップロード途中に、携帯電話機1とWebサーバ6A間の回線切断が発生する(S305)とする。携帯電話機1は、回線切断を検知し、アップロードを中断し、リトライ用の画面を画面出力インタフェイス16に出力する(S306)。携帯電話機1のユーザは、リトライ用画面でリトライするか否かを選択でき、リトライを選択したとする。携帯電話機1は、再開情報136を使用して、再開情報136を送信したWebサーバ6Aへ再接続要求を送信する(S307)。Webサーバ6Aは、再接続要求307を受信すると、該要求に含まれるメッセージID101を用いて、受信管理テーブル63に対応する項目を抽出、確認する(S308)。Webサーバ6Aは、受信管理テーブル63の受信サイズ104の情報を含んだHTTP準拠の応答である再アップロード情報を携帯電話機1へ送信する(S309)。携帯電話機1は、受信した再アップロード情報に含まれる受信サイズ104から、Webサーバ6Aが回線切断305前までに受信したアップロードデータのサイズを確認し、Webサーバ6Aが受信していないデータをアップロードデータ送信する(S310)。Webサーバ6Aは、回線切断の前の状態から受信処理を再開し、残りのアップロードデータを受信する。Webサーバ6Aは、アップロードデータを全て受信すると、該当する受信管理テーブル63を削除し(S311)、成功応答を携帯電話1へ送信する(S312)。携帯電話機1は成功応答を受信すると、アップロードに成功したと判断し、アップロードの処理を終了する。
【0056】
本実施例に拠れば、携帯電話機からのWebサーバへデータのアップロード途中に回線が切断された場合に、携帯電話から一度送信したデータの再送不要でアップロードの再開を可能にする。また、負荷分散システムに適用できる。
【0057】
図19と図20とを参照して、実施例3について説明する。ここで、実施例3は、実施例2において、継続応答に再開情報を格納する代わりに、携帯電話機1と、中継装置4またはWebサーバ6AでHTTPに準拠したメッセージを交換することにより、実施例2と同様の効果を得られる方法である。実施例3と、実施例2との相違点を、図19および図20を用いて説明する。ここで、図19はGET要求に対する応答のメッセージフォーマットである。図20は携帯電話器とWebサーバとの間のアップロード処理のシーケンス図である。
【0058】
図19において、Webサーバ6Aが携帯電話機1へ送信する再開情報を付加したGET要求に対する応答は、HTTP(応答)ヘッダ751とHTTPボディ752とから構成される。また、HTTPボディ752には、アップロードプログラム753が格納されている。さらに、アップロードプログラム753には再開情報136Aが埋め込まれている。
【0059】
図20を参照して、携帯電話機1とWebサーバ6Aとのアップロードのシーケンスを説明する。図20において、はじめに、携帯電話機1は、Webサーバ6AへHTTPの通常のGET要求を送信する(S550)。Webサーバ6Aは、受信管理テーブル43で空いているメッセージID101を携帯電話機1に割り当てし(S551)、通常の成功を示す応答に、再開情報を埋め込んだアップロードプログラムをHTTPボディ752に付加して携帯電話機1へ送信する(S552)。実施例3では、Webサーバ6Aは、メッセージID101を回線毎に管理し、ステップ551においてアップロード要求300を受信する前にメッセージID101を割り当てすることができる。再開情報136には、図19で説明したように、携帯電話機がHTTP通信を行うプログラム(Webブラウザ)上で動作するアップロードプログラム753が含まれる。また、アップロードプログラム753には、Webサーバアドレス139とメッセージIDとからなる再開情報136Aが埋め込まれている。携帯電話機1は、応答を受信するとアップロードプログラム753を実行し、再開情報を記憶する(S553)。アップロードプログラム753は、携帯電話機1のステップ552から成功応答312を受信するまでの動作が記述してある。携帯電話機1は、アップロードプログラム753に従い、アップロード要求を送信し(S300)、成功応答を受信する(S312)まで、実施例2の図18と同じ動作をする。なお、継続応答に再開情報を含んでも含まなくとも良い点は、実施例2とは異なる。
【0060】
本実施例に拠れば、携帯電話機からのWebサーバへデータのアップロード途中に回線が切断された場合に、携帯電話から一度送信したデータの再送不要でアップロードの再開を可能にする。また、負荷分散システムに適用できる。
【0061】
図21と図22を参照して、実施例4について説明する。ここで、図21はネットワークシステムのブロック図である。図22は携帯電話機と中継装置とWebサーバとメッセージセンタとの間のデータアップロードのシーケンス図である。実施例4は、実施例1において、継続応答に再開情報を格納する方法を利用する代わりに、中継装置は、回線切断後に携帯電話機宛てにショートメッセージを送信する。このショートメッセージに、中継装置アドレス、メッセージID、受信サイズを含めることによって、実施例1と同様の効果を得られる方法である。実施例4と、実施例1との相違点を、図21および図22を用いて説明する。
【0062】
図21において、ネットワークシステム100Bは、携帯電話機1、無線網2、キャリア設備網3、キャリア設備網3に接続された中継装置4とメッセージセンタ7とデータベース9とインターネット5、Webサーバ6とから構成される。ここで、メッセージセンタ7は、携帯電話1にショートメッセージを送信する。データベース9は、SUB IDと、SMSアドレス(電話番号)とを対応付ける。
【0063】
図22において、はじめに、携帯電話機1は、Webサーバ6宛てにアップロード要求を送信する(S601)。実際には、中継装置4がアップロード要求を受信し、アップロード要求を解析し、アップロード処理判定条件を満たした場合、アップロード要求のHTTPヘッダに含まれるSUB IDを記憶し、受信管理テーブル43を作成し、アップロードデータの記憶を開始する(S602)。
【0064】
中継装置4は、アップロード要求をWebサーバ6に中継し(S603)、Webサーバ6からHTTPに準拠したレスポンスコード100の継続応答を受信する(S604)。継続応答は、Webサーバ6がアップロードデータを受信可能であることを示す応答である。中継装置4は、実施例1と異なり、受信した継続応答を通常のプロキシの処理とし、携帯電話機1へ継続応答として送信する(S606)。
【0065】
携帯電話機1は、アップロードデータをアップロードし続ける(S607)。中継装置4は、アップロードデータを記憶し、Webサーバ6へアップロードデータを中継する(S608)。中継装置4のアップロードデータの中継は、中継装置4がアップロードデータサイズ全てを受信してから、まとめてWebサーバ6へ中継しても、中継装置4がアップロードデータを受信して随時Webサーバ6へ中継してもよい。
【0066】
ここでは、アップロード途中に、携帯電話機1と中継装置4間の回線切断が発生した(S609)とする。また、中継装置4とWebサーバ6との間の回線もタイムアウトにより、切断されたとする(S611)。中継装置4はアップロードの失敗を検知し(S612)、受信管理テーブル43のSUB ID102を利用して、携帯電話機1へショートメッセージ(以下、SMSと呼ぶ)を作成する(S613)。SUB ID102は携帯電話機1を一意に識別する識別子であり、中継装置4は、SUB ID102をSMSにそのまま格納して携帯電話機1へ送信する。ただし、SMSを配信するのはキャリア設備網3に設置されたメッセージセンタ7であり、中継装置4はメッセージセンタ7にSMSを送信する。中継装置4が作成したSMSには、中継装置アドレスと、メッセージID101および受信サイズ104が格納されている。メッセージセンタ7は中継装置4から受信したSMSを携帯電話1に転送する(S614)。
【0067】
携帯電話機1は、メッセージセンタ7からSMSを受信し、リトライ画面を出力する(S616)。携帯電話機1のユーザは、リトライ用画面でリトライするか否かを選択でき、リトライを選択する。携帯電話機1は、SMSに格納された中継装置アドレスへ、メッセージID101を添付して、再接続要求を送信する(S617)。中継装置4の作成したSMSによっては、携帯電話機1は、リトライ画面でユーザの同意を求めずに自動で再接続要求を送信する設定も可能である。
【0068】
中継装置4は、再接続要求を受信すると、要求に含まれるメッセージID101を用いて、受信管理テーブル43に対応する項目を抽出、確認し(S618)、再接続要求の受諾を示す応答して受諾応答を送信する(S619)。
【0069】
携帯電話機1は、受諾応答を受信すると、SMSに含まれていた受信管理テーブル43の受信サイズ104の情報から、中継装置4が回線切断前までに受信したアップロードデータのサイズを確認し、中継装置4が受信していないデータをアップロードデータとして送信する(S621)。中継装置4は、携帯電話機1からアップロードが再開されると、Webサーバ6と再接続する(S622)。中継装置4は、記憶していたアップロード要求、アップロードデータをWebサーバに送信する(S623)。なお、Webサーバ6がアップロード要求、データを受信すると継続応答を応答するが、ここでは一連の処理を簡略化するため省略する。中継装置4は、新たなアップロードデータを受信しているので、アップロードデータをWebサーバ6へ送信する(S624)。携帯電話機1からWebサーバ6へ全てのアップロードデータが送信されると、Webサーバ6は成功応答を応答する(S625)。中継装置4は成功応答を受信すると、アップロードが成功したと判定し、該当する受信管理テーブル43の項目と、記憶データを削除し(S626)、成功応答を携帯電話機1へ送信する(S627)。携帯電話機1は、成功応答を受信すると、アップロードに成功したと判断し、アップロードの処理を終了する。
【0070】
なお、中継装置4は、携帯電話機1のSUB ID102をキャリア設備網3に設けられたデータベース9に問い合わせ、SMSのアドレス(電話番号)を取得してメッセージセンタに送信しても良い。また、実施例2または実施例3のネットワークシステム100Aの構成において、Webサーバ6Aからメッセージセンタ7を介してショートメッセージを携帯電話機1に送信するように構成しても良い。また、実施例1のように中継装置4を複数設け、負荷分散しても良い。
【0071】
本実施例に拠れば、携帯電話機からのWebサーバへデータのアップロード途中に回線が切断された場合に、携帯電話から一度送信したデータの再送不要でアップロードの再開を可能にする。
【図面の簡単な説明】
【0072】
【図1】ネットワークシステムのブロック図である。
【図2】携帯電話機のハードウェアブロック図である。
【図3】中継装置のハードウェアブロック図である。
【図4】受信管理テーブルを説明する図である。
【図5】アップロード要求のメッセージフォーマットである。
【図6】継続応答のメッセージフォーマットである。
【図7】再接続要求のメッセージフォーマットである。
【図8】再アップロード情報のメッセージフォーマットである。
【図9】携帯電話機のリトライ時の画面出力を説明する図である。
【図10】携帯電話機、中継装置およびWebサーバ間のアップロード処理シーケンス図である。
【図11】携帯電話機のアップロード処理のフローチャートである。
【図12A】中継装置のアップロード処理のフローチャーとである(その1)。
【図12B】中継装置のアップロード処理のフローチャーとである(その2)。
【図13】分割送信のアップロード要求のアップロード要求のメッセージフォーマットである。
【図14】分割送信のアップロードデータのフォーマットである。
【図15】ネットワークシステムのブロック図である。
【図16】Webサーバのハードウェアブロック図である。
【図17】継続応答のメッセージフォーマットである。
【図18】携帯電話器とWebサーバとの間のデータアップロードのシーケンス図である。
【図19】GET要求に対する応答のメッセージフォーマットである。
【図20】携帯電話器とWebサーバとの間のデータアップロードのシーケンス図である。
【図21】ネットワークシステムのブロック図である。
【図22】携帯電話機と中継装置とWebサーバとメッセージセンタとの間のデータアップロードのシーケンス図である。
【符号の説明】
【0073】
1…携帯電話機、2…無線網、3…キャリア設備網、4…中継装置、5…インターネット、6…Webサーバ、7…メッセージセンタ、8…負荷分散装置、9…データベース(DB)、10…プロセッサ、11…記憶装置、12…プログラムメモリ、13…データ記憶部、14…画面出力インタフェイス、15…入出力インタフェイス、16…入力インタフェイス、17…内部接続線、40…プロセッサ、41…記憶装置、42…プログラムメモリ、43…受信管理テーブル、44…データ記憶部、45…入出力インタフェイス、47…内部接続線、60…プロセッサ、61…記憶装置、62…プログラムメモリ、63…受信管理テーブル、64…データ記憶部、65…入出力インタフェイス、67…内部接続線、100…ネットワークシステム。
【特許請求の範囲】
【請求項1】
内部通信線で接続されたプロセッサと、記憶装置と、入出力インタフェイスとを備え、前記記憶装置に記憶されたプログラムを前記プロセッサが実行する通信装置において、
前記入出力インタフェイスは、第1のネットワークを介してクライアント装置と接続され、
前記プロセッサを、
前記クライアント装置から、アップロード要求を受信したとき、このアップロード要求を通信識別子とともに前記記憶装置に記憶し、前記クライアント装置から、アップロードデータを受信したとき、このアップロードデータを前記記憶装置に記憶する記憶制御部と、
前記アップロード要求に対する応答に前記通信識別子と自装置のアドレスとを含めて、前記クライアント装置に送信し、前記クライアント装置から、再接続要求を受信したとき、この再接続要求に対する応答に前記通信識別子と前記記憶装置に記憶された前記アップロードデータのサイズとを含めて、前記クライアント装置に送信する送信制御部と、として機能させることを特徴とする通信装置。
【請求項2】
内部通信線で接続されたプロセッサと、記憶装置と、入出力インタフェイスとを備え、前記記憶装置に記憶されたプログラムを前記プロセッサが実行する通信装置において、
前記入出力インタフェイスは、第1のネットワークを介してクライアント装置と接続され、
前記プロセッサを、
前記クライアント装置から、アップロード要求を受信したとき、このアップロード要求を通信識別子とともに前記記憶装置に記憶し、前記クライアント装置から、アップロードデータを受信したとき、このアップロードデータを前記記憶装置に記憶する記憶制御部と、
前記クライアント装置との回線切断を検知したとき、前記通信識別子と前記記憶装置に記憶された前記アップロードデータのサイズと自装置のアドレスとを含めて、前記クライアント装置に送信する送信制御部と、して機能させることを特徴とする通信装置。
【請求項3】
請求項1または請求項2に記載の通信装置であって、
前記入出力インタフェイスは、さらに第2のネットワークを介してサーバ装置と接続され、
前記送信制御部は、前記クライアント装置から、再接続要求を受信したとき、前記サーバ装置に前記記憶装置に記憶された前記アップロード要求と前記アップロードデータとを送信することを特徴とする通信装置。
【請求項4】
請求項3に記載の通信装置であって、
前記送信制御部は、前記クライアント装置から、新たなアップロードデータを受信したとき、この新たなアップロードデータを、前記サーバ装置に送信することを特徴とする通信装置。
【請求項5】
請求項1ないし請求項4のいずれか一つに記載の通信装置であって、
前記記憶制御部は、前記クライアント装置からのアップロードが終了したことを検出したとき、前記記憶装置に記憶した前記アップロード要求と前記アップロードデータとを破棄することを特徴とする通信装置。
【請求項6】
請求項1に記載の通信装置であって、
前記送信制御部は、前記クライアント装置から、再接続要求を受信したとき、前記クライアント装置に再開情報を埋め込んだアップロードプログラムを送信することを特徴とする通信装置。
【請求項7】
内部通信線で接続されたプロセッサと、記憶装置と、入出力インタフェイスと、画面出力インタフェイスと、入力インタフェイスとを備え、前記記憶装置に記憶されたプログラムを前記プロセッサが実行するクライアント装置において、
前記入出力インタフェイスは、ネットワークを介して通信装置と接続され、
前記プロセッサを、
前記通信装置にアップロード要求を送信したとき、応答に含まれる通信識別子と前記通信装置のアドレスとを前記記憶装置に記憶する記憶制御部と、
前記通信装置へのアップロードが中断したとき、前記アドレス宛に前記通信識別子を含む再接続要求を送信する送信制御部と、して機能させることを特徴とするクライアント装置。
【請求項8】
請求項7に記載のクライアント装置であって、
さらに、画面出力インタフェイスと、入力インタフェイスとを備え、
前記通信装置へのアップロードが中断したとき、前記画面インタフェイスに前記再接続要求を送信するか否かの判定を前記入力インタフェイスから入力するように表示することを特徴とするクライアント装置。
【請求項9】
請求項7または請求項8に記載のクライアント装置であって、
前記送信制御部は、前記再接続要求に対する応答に含まれる前記通信装置の受信サイズ以降のアップロードデータを前記アドレス宛に送信することを特徴とするクライアント装置。
【請求項1】
内部通信線で接続されたプロセッサと、記憶装置と、入出力インタフェイスとを備え、前記記憶装置に記憶されたプログラムを前記プロセッサが実行する通信装置において、
前記入出力インタフェイスは、第1のネットワークを介してクライアント装置と接続され、
前記プロセッサを、
前記クライアント装置から、アップロード要求を受信したとき、このアップロード要求を通信識別子とともに前記記憶装置に記憶し、前記クライアント装置から、アップロードデータを受信したとき、このアップロードデータを前記記憶装置に記憶する記憶制御部と、
前記アップロード要求に対する応答に前記通信識別子と自装置のアドレスとを含めて、前記クライアント装置に送信し、前記クライアント装置から、再接続要求を受信したとき、この再接続要求に対する応答に前記通信識別子と前記記憶装置に記憶された前記アップロードデータのサイズとを含めて、前記クライアント装置に送信する送信制御部と、として機能させることを特徴とする通信装置。
【請求項2】
内部通信線で接続されたプロセッサと、記憶装置と、入出力インタフェイスとを備え、前記記憶装置に記憶されたプログラムを前記プロセッサが実行する通信装置において、
前記入出力インタフェイスは、第1のネットワークを介してクライアント装置と接続され、
前記プロセッサを、
前記クライアント装置から、アップロード要求を受信したとき、このアップロード要求を通信識別子とともに前記記憶装置に記憶し、前記クライアント装置から、アップロードデータを受信したとき、このアップロードデータを前記記憶装置に記憶する記憶制御部と、
前記クライアント装置との回線切断を検知したとき、前記通信識別子と前記記憶装置に記憶された前記アップロードデータのサイズと自装置のアドレスとを含めて、前記クライアント装置に送信する送信制御部と、して機能させることを特徴とする通信装置。
【請求項3】
請求項1または請求項2に記載の通信装置であって、
前記入出力インタフェイスは、さらに第2のネットワークを介してサーバ装置と接続され、
前記送信制御部は、前記クライアント装置から、再接続要求を受信したとき、前記サーバ装置に前記記憶装置に記憶された前記アップロード要求と前記アップロードデータとを送信することを特徴とする通信装置。
【請求項4】
請求項3に記載の通信装置であって、
前記送信制御部は、前記クライアント装置から、新たなアップロードデータを受信したとき、この新たなアップロードデータを、前記サーバ装置に送信することを特徴とする通信装置。
【請求項5】
請求項1ないし請求項4のいずれか一つに記載の通信装置であって、
前記記憶制御部は、前記クライアント装置からのアップロードが終了したことを検出したとき、前記記憶装置に記憶した前記アップロード要求と前記アップロードデータとを破棄することを特徴とする通信装置。
【請求項6】
請求項1に記載の通信装置であって、
前記送信制御部は、前記クライアント装置から、再接続要求を受信したとき、前記クライアント装置に再開情報を埋め込んだアップロードプログラムを送信することを特徴とする通信装置。
【請求項7】
内部通信線で接続されたプロセッサと、記憶装置と、入出力インタフェイスと、画面出力インタフェイスと、入力インタフェイスとを備え、前記記憶装置に記憶されたプログラムを前記プロセッサが実行するクライアント装置において、
前記入出力インタフェイスは、ネットワークを介して通信装置と接続され、
前記プロセッサを、
前記通信装置にアップロード要求を送信したとき、応答に含まれる通信識別子と前記通信装置のアドレスとを前記記憶装置に記憶する記憶制御部と、
前記通信装置へのアップロードが中断したとき、前記アドレス宛に前記通信識別子を含む再接続要求を送信する送信制御部と、して機能させることを特徴とするクライアント装置。
【請求項8】
請求項7に記載のクライアント装置であって、
さらに、画面出力インタフェイスと、入力インタフェイスとを備え、
前記通信装置へのアップロードが中断したとき、前記画面インタフェイスに前記再接続要求を送信するか否かの判定を前記入力インタフェイスから入力するように表示することを特徴とするクライアント装置。
【請求項9】
請求項7または請求項8に記載のクライアント装置であって、
前記送信制御部は、前記再接続要求に対する応答に含まれる前記通信装置の受信サイズ以降のアップロードデータを前記アドレス宛に送信することを特徴とするクライアント装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12A】
【図12B】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12A】
【図12B】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2008−271097(P2008−271097A)
【公開日】平成20年11月6日(2008.11.6)
【国際特許分類】
【出願番号】特願2007−110467(P2007−110467)
【出願日】平成19年4月19日(2007.4.19)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成20年11月6日(2008.11.6)
【国際特許分類】
【出願日】平成19年4月19日(2007.4.19)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]