JP2016054442A - 通信端末装置、通信システム、通信方法、及びプログラム - Google Patents

通信端末装置、通信システム、通信方法、及びプログラム Download PDF

Info

Publication number
JP2016054442A
JP2016054442A JP2014180145A JP2014180145A JP2016054442A JP 2016054442 A JP2016054442 A JP 2016054442A JP 2014180145 A JP2014180145 A JP 2014180145A JP 2014180145 A JP2014180145 A JP 2014180145A JP 2016054442 A JP2016054442 A JP 2016054442A
Authority
JP
Japan
Prior art keywords
log
communication terminal
communication
retransmission
waiting time
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.)
Pending
Application number
JP2014180145A
Other languages
English (en)
Inventor
裕介 鍵和田
Yusuke Kagiwada
裕介 鍵和田
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2014180145A priority Critical patent/JP2016054442A/ja
Publication of JP2016054442A publication Critical patent/JP2016054442A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】通信端末装置が接続されたネットワーク状況に応じて、次回の送信までの再送信待ち時間を調整する。【解決手段】通信ネットワーク2を介してログファイルをログアップロードサーバ50へ送信する送信ステップ(st120)と、ログアップロードサーバ50へのログファイルのある送信が失敗した場合に、当該送信から次回の送信までのリトライ時間(再送信待ち時間)を算出する再送信待ち時間算出ステップ(st110)と、リトライ時間が経過した場合に、送信ステップによりログアップロードサーバ50へログファイルを再送信させる制御ステップ(st120)と、を備え、再送信待ち時間算出ステップは、前回のリトライ時間よりも次回のリトライ時間を長く算出する。【選択図】図18

Description

本発明は、通信ネットワークを介してサーバに通信情報を再送信するのに好適な通信端末装置、通信システム、通信方法、及びプログラムに関する。
テレビ会議システムにおけるログデータは、障害発生時の原因究明のために必要である。特に通信端末では、ログファイルをサーバに送信する機能があるため、ユーザからサポートセンタに障害の問い合わせがあった場合などにおいて、ユーザがサーバへのログデータのアップロードを依頼し、それを解析するケースがある。
こうしたログアップロードは、通常、通信ネットワーク経由で行われるため、ネットワークが何らかの理由で切断されている場合、ログアップロードを実施することができないといった問題があった。
こうした場合において、ログアップロードが失敗した後に再アップロードを行う技術として、特許文献1が報告されている。
特許文献1には、ホストコンピュータ間でのファイル転送において、ファイル転送失敗時にオペレータの再送操作を省略する目的で、ファイル転送が失敗した際に、実際のファイルの転送を司るファイル転送機能手段からの転送結果コードを解析し、該転送結果コードがリトライ対象と一致した場合には、転送が失敗したファイルを再度転送するように制御することを特徴とするファイル転送制御システムが開示されている。
しかし、一定時間ごとに再送信するように構成された従来の技術では、端末が接続された通信ネットワーク環境にかかわらず一定時間後に再送信するため、一定時間ごとの再送信しかできなかった。このため、通信ネットワーク環境に合わせた適切なアップロード間隔に調整することができないといった問題があった。
特許文献1にあっては、ファイル転送をリトライする技術が記載されている。しかし、端末が接続された通信ネットワーク状況に応じて、次回のファイル転送までの待ち時間を調整できなかった。
本発明は、上記に鑑みてなされたもので、その目的としては、通信端末装置が接続されたネットワーク状況に応じて、次回の送信までの再送信待ち時間を調整することができる通信端末装置、通信システム、通信方法、及びプログラムを提供することにある。
請求項1記載の発明は、上記課題を解決するため、ネットワークを介してサーバに接続する通信端末装置であって、前記ネットワークを介して通信情報をサーバへ送信する送信手段と、
前記サーバへの前記通信情報のある送信が失敗した場合に、当該送信から次回の送信までの再送信待ち時間を算出する再送信待ち時間算出手段と、前記再送信待ち時間が経過した場合に、前記送信手段により前記サーバへ前記通信情報を再送信させる制御手段と、を備え、前記再送信待ち時間算出手段は、前回の再送信待ち時間よりも次回の再送信待ち時間を長く算出することを特徴とする。
本発明によれば、ネットワークを介してサーバへの通信情報のある送信が失敗した場合に、当該送信から次回の送信までの再送信待ち時間を算出し、再送信待ち時間が経過した場合に、サーバへ通信情報を再送信させる際に、前回の再送信待ち時間よりも次回の再送信待ち時間を長く算出することで、通信端末装置が接続されたネットワーク状況に応じて、次回の送信までの再送信待ち時間を調整することができる。
本発明の一実施形態に係る通信システムの概略図である。 本発明の一実施形態に係る通信端末のハードウェア構成図である。 本発明の一実施形態に係るログアップロードサーバのハードウェア構成図である。 本実施形態の通信システムを構成する各端末、装置及びシステムの機能ブロック図である。 ログ情報作成部により作成されたログ情報の一例を示す図である。 メッセージ作成部により作成された送信データの一例を示す図である。 ログ管理テーブルに関連付けられて管理されたログIDとログ情報を示す図である。 ログ情報およびログアップロード機能について説明するための模式図である。 通常時のログアップロードが成功した時のシーケンス図である。 ネットワーク切断時にリトライが無い場合のシーケンス図である。 ネットワーク切断時にリトライが有る場合のシーケンス図である。 ネットワーク切断時にリトライがあり、且つタイムアウトした場合のシーケンス図である。 アップロード処理時に設定されるリトライ(一定時間)の時間間隔について説明するための模式図である。 アップロード処理におけるリトライ時間(重み付け有り)の時間間隔について説明するための模式図である。 ログ再送制御部のシーケンス動作を説明するためのシーケンス図である。 ログ再送制御部が実行する重み値の算出方法について説明するための模式図である。 ログ再送制御部が実行する重み値の算出方法について説明するためのフローチャートである。 ログ再送制御部が実行するリトライ処理のサブルーチンを示すフローチャートである。
本発明の実施の形態を説明する。
本発明は、ログアップロードのリトライ時間(再送信待ち時間)の算出に際して、以下の特徴を有する。要するに、サーバへのログアップロードの再送信に失敗した回数を算出して、次回の再送信までの再送信待ち時間を算出する式に適応する重み値を調整することで、例えば通信ネットワークの接続回復が早い環境ではより早くアップロードを完了し、接続回復が遅い環境では無駄なリクエストを減らすことができることが特徴になっている。
以下、本発明の特徴について、図面を参照して詳細に説明する。
<実施形態の全体構成>
以下、図1乃至図18を参照して、本発明の一実施形態について説明する。図1は、本発明の一実施形態に係る通信システム1の概略図であり、まずは図1を用いて、本実施形態の概略を説明する。
図1に示す通信システム1は、複数の通信端末(10aa、10ab、…、10db)、各通信端末(10aa、10ab、…、10db)用のディスプレイ(120aa、120ab、…、120db)、及びログアップロードサーバ50によって構築されている。
なお、本実施形態では、通信端末(10aa、10ab、…、10db)のうち任意の通信端末を示す場合には「通信端末10」を用いる。また、ディスプレイ(120aa、120ab、…、120db)のうち任意のディスプレイを示す場合には「ディスプレイ120」を用いる。
通信端末10は、他の通信端末10との間で、画像データ、音声データ等の送受信を行う。本実施形態では、画像データの画像が動画の場合について説明するが、動画だけでなく静止画であってもよい。また、画像データの画像には、動画と静止画の両方が含まれてもよい。ログアップロードサーバ50は、通信端末10を一元的に管理する。
また、図1に示す複数のルータ(70a、70b、…、70g)は、画像データ及び音声データの最適な経路の選択を行う。なお、本実施形態では、ルータ(70a、70b、…、70g)のうち任意のルータを示す場合には「ルータ70」を用いる。プログラム提供システム90は、通信端末10に各種機能又は各種手段を実現させるための通信端末用プログラムが記憶された、HD(Hard Disk)(図示しない)を備えており、通信端末10に、通信端末用プログラムを送信することができる。また、プログラム提供システム90のHDには、ログアップロードサーバ50に各種機能又は各種手段を実現させるための通信管理用プログラムも記憶されており、ログアップロードサーバ50に、通信管理用プログラムを送信する。
また、通信端末10aa、通信端末10ab、及びルータ70aは、LAN2aによって通信可能に接続されている。通信端末10ba、通信端末10bb、及びルータ70bは、LAN2bによって通信可能に接続されている。また、LAN2a及びLAN2bは、ルータ70cが含まれた専用線2abによって通信可能に接続されており、所定の地域A内で構築されている。例えば、地域Aは日本であり、LAN2aは東京の事業所内で構築されており、LAN2bは大阪の事業所内で構築されている。
一方、通信端末10ca、通信端末10cb、及びルータ70cは、LAN2cによって通信可能に接続されている。通信端末10da、通信端末10db、及びルータ70dは、LAN2dによって通信可能に接続されている。また、LAN2c及びLAN2dは、ルータ70eが含まれた専用線2cdによって通信可能に接続されており、所定の地域B内で構築されている。例えば、地域Bはアメリカであり、LAN2cはニューヨークの事業所内で構築されており、LAN2dはワシントンD.C.の事業所内で構築されている。地域A及び地域Bは、それぞれルータ(70c、70e)からインターネット2iを介して通信可能に接続されている。
また、ログアップロードサーバ50は、インターネット2iを介して、通信端末10と通信可能に接続されている。
ログアップロードサーバ50、及びプログラム提供システム90は、地域A又は地域Bに設置されていてもよいし、これら以外の地域に設置されていてもよい。
なお、本実施形態では、LAN2a、LAN2b、専用線2ab、インターネット2i、専用線2cd、LAN2c、及びLAN2dによって、本実施形態の通信ネットワーク2が構築されている。この通信ネットワーク2には、有線だけでなく無線による通信が行われる箇所があってもよい。
また、図1において、各通信端末10、ログアップロードサーバ50、各ルータ70、及びプログラム提供システム90の下に示す4組の数字は、一般的なIPv4におけるIPアドレスを簡易的に示している。例えば、通信端末10aaのIPアドレスは「1.2.1.3」である。また、IPv4ではなく、IPv6を用いてもよいが、説明を簡略化するため、IPv4を用いて説明する。
<実施形態のハードウェア構成>
次に、本実施形態のハードウェア構成を説明する。
図2は、本発明の一実施形態に係る通信端末10のハードウェア構成図である。
図2に示すように、本実施形態の通信端末10は、通信端末10全体の動作を制御するCPU(Central Processing Unit)101、通信端末用プログラムを記憶したROM(Read Only Memory)102、CPU101のワークエリアとして使用されるRAM(Random Access Memory)103、画像データや音声データ等の各種データを記憶するフラッシュメモリ104、CPU101の制御にしたがってフラッシュメモリ104に対する各種データの読み出し又は書き込みを制御するSSD(Solid State Drive)105、フラッシュメモリ等の記録メディア106に対するデータの読み出し又は書き込み(記憶)を制御するメディアドライブ107、通信端末10の宛先を選択する場合などに操作される操作ボタン108、通信端末10の電源のON/OFFを切り換えるための電源スイッチ109、後述の通信ネットワーク2を利用してデータ伝送をするためのネットワークI/F111、CPU101の制御に従って被写体を撮像し画像データを得るCMOS(Complementary Metal Oxide Semiconductor)112、このCMOS112の駆動を制御する撮像素子I/F113、音声を入力するマイク114、音声を出力するスピーカ115、CPU101の制御に従ってマイク114及びスピーカ115との間で音声信号の入出力を処理する音声入出力I/F116、CPU101の制御に従って外付けのディスプレイ120に画像データを伝送するディスプレイI/F117、及び上記各構成要素を図2に示すように電気的に接続するためのアドレスバスやデータバス等のバスライン110を備えている。
なお、記録メディア106は、通信端末10に対して着脱自在な構成となっている。また、CPU101の制御にしたがってデータの読み出し又は書き込みを行う不揮発性メモリであれば、フラッシュメモリ104に限らず、EEPROM(Electrically Erasable and Programmable ROM)等を用いてもよい。更に、CMOS112は、光を電荷に変換して被写体の画像(映像)を電子化する固体撮像素子であり、被写体を撮像するものであればCMOSに限らず、CCD(Charge Coupled Device)等を用いてもよい。また、ディスプレイ120は、被写体の画像や操作用アイコン等を表示する液晶や有機ELによって構成されている。
更に、上記通信端末用プログラムは、インストール可能な形式又は実行可能な形式のファイルで、上記記録メディア106等の、コンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
図3は、本発明の一実施形態に係るログアップロードサーバ50のハードウェア構成図である。
ログアップロードサーバ50は、ログアップロードサーバ50全体の動作を制御するCPU201、通信管理用プログラムを記憶したROM202、CPU201のワークエリアとして使用されるRAM203、各種データを記憶するHD(Hard Disk)204、CPU201の制御にしたがってHD204に対する各種データの読み出し又は書き込みを制御するHDD(Hard Disk Drive)205、フラッシュメモリ等の記録メディア206に対するデータの読み出し又は書き込み(記憶)を制御するメディアドライブ207、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示するディスプレイ208、後述の通信ネットワーク2を利用してデータ伝送をするためのネットワークI/F209、文字、数値、各種指示などの入力のための複数のキーを備えたキーボード211、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行うマウス212、着脱可能な記録媒体の一例としてのCD−ROM(Compact Disc Read Only Memory)213に対するデータの読み出し又は書き込みを制御するCD−ROMドライブ214、及び、上記各構成要素を図3に示すように電気的に接続するためのアドレスバスやデータバス等のバスライン210を備えている。
なお、上記通信管理用プログラムは、インストール可能な形式又は実行可能な形式のファイルで、上記記録メディア206やCD−ROM213等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
更に、プログラム提供システム90は、上記ログアップロードサーバ50と同様のハードウェア構成を有しているため、その説明を省略する。但し、ROM202には、プログラム提供システム90を制御するためのプログラム提供用プログラムが記録されている。この場合も、プログラム提供用プログラムは、インストール可能な形式又は実行可能な形式のファイルで、上記記録メディア206やCD−ROM213等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
更に、ログアップロードサーバ50は、上記ログアップロードサーバ50と同様のハードウェア構成を有しているため、その説明を省略する。但し、ROM202には、ログアップロードサーバ50を制御するためのログアップロードサーバ用プログラムが記録されている。この場合も、ログアップロードサーバ用プログラムは、インストール可能な形式又は実行可能な形式のファイルで、上記記録メディア206やCD−ROM213等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
なお、上記着脱可能な記録媒体の他の例として、CD−R(Compact Disc Recordable)、DVD(Digital Versatile Disk)、ブルーレイディスク等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
<実施形態の機能構成>
次に、本実施形態の機能構成について説明する。図4は、本実施形態の通信システム1を構成する各端末、装置及びシステムの機能ブロック図である。図4では、通信端末10、ログアップロードサーバ50が、通信ネットワーク2を介してデータ通信することができるように接続されている。また、図4では、ログアップロードサーバ50が、LAN2eを介してデータ通信することができるように接続されている。なお、図1に示すプログラム提供システム90は、テレビ会議の通信において直接関係ないため、図4では省略されている。
<通信端末の機能構成>
通信端末10は、送受信部11、操作入力受付部12、ログイン要求部13、撮像部14a、画像表示制御部14b、音声入力部15a、音声出力部15b、遅延検出部17、形式情報取得部18、記憶・読出処理部19、ログ情報作成部20、及びメッセージ作成部21を有している。これら各部は、図2に示す各構成要素のいずれかが、ROM202に記憶されているプログラムに従ったCPU201からの命令によって動作することで実現される機能又は手段である。また、通信端末10は、図2に示すSSD105によって構築される記憶部1000を有している。
(通信端末の各機能部)
次に、通信端末の各部を詳細に説明する。通信端末10の送受信部11は、図2に示すネットワークI/F111によって実現され、通信ネットワーク2を介して他の端末、装置又はシステムと各種データ(情報)の送受信を行う。操作入力受付部12は、図2に示す操作ボタン108、及び電源スイッチ109によって実現され、利用者による各種入力を受け付ける。例えば、利用者が、図2に示す電源スイッチ109をONにすると、図4に示す操作入力受付部12が電源ONを受け付けて、電源をONにする。
ログイン要求部13は、図2に示すCPU101からの命令によって実現され、上記電源ONの受け付けを契機として、送受信部11から通信ネットワーク2を介してログアップロードサーバ50に、ログインを要求する旨を示すログイン要求情報、及び通信端末10abの現時点のIPアドレスを自動的に送信する。
撮像部14aは、図2に示すCMOS112、及び撮像素子I/F113によって実現され、被写体を撮像して、この撮像して得た画像データを出力する。映像表示制御部14bは、図2に示すディスプレイI/F117によって実現され、外付けのディスプレイ120に対して画像データを送信するための制御を行う。音声入力部15aは、図2に示すマイク114、及び音声入出力I/F116によって実現され、利用者の音声を入力し、この音声を音声信号に変換することで、音声信号に係る音声データを出力する。音声出力部15bは、図2に示すスピーカ115、及び音声入出力I/F116によって実現され、音声データに係る音声信号を音声に変換して出力する。
形式情報取得部18は、図2に示すCPU101からの命令によって実現され、記憶部1000に登録された形式情報を取得する。ログ情報作成部20は、図2に示すCPU101からの命令によって実現され、他の通信端末との通信を行う際に操作入力受付部12が受け付けた操作の内容や通信端末の各部が行った処理の内容に基づきログ情報を作成する。ここで、ログ情報作成部20は、ログ情報を作成することが可能な複数の形式の中から形式情報取得部18によって取得された形式情報により示される形式を選択し、選択された形式でログ情報を作成する。
図5に、ログ情報作成部20により作成されたログ情報の一例を示す。このログ情報の「type」の項目には、他の通信端末との間の通信で送受信される情報が要求に関するものであることを表す「request」や、応答に関するものであることを表す「response」等の情報が記録される。
このログ情報の「Call−ID」の項目には、他の通信端末との通信を識別するための識別情報が記録される。このログ情報の「Command」の項目には、操作入力受付部12により操作の入力を受け付けた要求の内容が記録され、通信の開始を要求する「invite」や、通信の終了を要求する「end」等の情報が記録される。ログ情報の「Result」の項目には、他の通信端末からの又は他の通信端末に対する応答の内容が記録され、許可を表す情報や、不許可を表す情報等が記録される。なお、図5では、JSONの形式により作成されたログ情報の一例を示したが、形式情報取得部18により取得された形式情報で示される形式に従い同様の情報が含まれるログ情報が作成される。
メッセージ作成部21は、図2に示すCPU101からの命令によって実現され、自端末を識別するための通信端末IDを含むメッセージをログアップロードサーバ50によって解釈される形式で作成する。ここで、ログアップロードサーバ50によって解釈される形式は、ログアップロードサーバ50と自端末である通信端末との通信で用いられる通信プロトコルに従った形式であり、通信端末用プログラムによって予め定められている。この通信プロトコルには、インターネット技術タスクフォースにより標準化される通信プロトコルが好適に用いられ、XMPP(Extensible Messaging and Presence Protocol)が例示される。なお、本実施形態では、メッセージとは、送信データの中に少なくともログ情報が含まれる旨を送信先に伝達するためのメッセージを意味する。
メッセージ作成部21は、作成されたメッセージ2100の所定の個所に、ログ情報作成部20によって作成されたログ情報を含めて送信データ2200を作成する。ここで、メッセージ作成部21により作成された送信データ2200の一例を図6に示す。
図6の例では、送信データ2200は、JSONの形式により作成されたログ情報2000と、XMPPの一つであるRFC(Request for Comments)3921に従いXMLの形式で作成されたメッセージ2100と、を含む。本実施形態では、通信端末用プログラム及び通信管理用プログラムのそれぞれのプログラムによって、送信データの「<message>」タグの子ノードである「<body>」タグにはログ情報が含まれる旨が定められている。このため、図6の送信データを受信したログアップロードサーバ50は「<body>」タグにログ情報が含まれることを把握することができる。なお、RFC3921によると「<body>」タグに任意の文字列を記録することが可能とされているため、図6では「<body>」タグにログ情報を含める構成としている。ログ情報2000を送信データ2200に含める方法は、ログアップロードサーバ50に対応する通信プロトコルに従うものであれば特に限定されない。
また、記憶・読出処理部19は、図2に示すSSD105によって実行され、記憶部1000に各種データを記憶したり、記憶部1000に記憶された各種データを読み出したりする処理を行う。記憶部1000には、通信端末10を識別するための端末ID(Identification)、及びパスワード、並びに、画像データ、及び音声データ等が記憶される。
なお、本実施形態の端末IDは、それぞれ通信端末10を一意に識別するために使われる言語、文字、記号、又は各種のしるし等の識別情報を示す。また、端末ID、上記言語、文字、記号、及び各種のしるしのうち、少なくとも2つが組み合わされた識別情報であってもよい。また、以下では、テレビ会議の開始を要求する要求元としての通信端末10を「要求元端末10A」とし、要求先である宛先としての通信端末10を「宛先端末10B」として説明する。
<ログアップロードサーバの機能構成>
次に、ログアップロードサーバ50の機能又は手段について説明する。ログアップロードサーバ50は、送受信部501、端末認証部502、状態管理部503、端末抽出部504、端末状態取得部505、記憶・読出処理部509、及びログ情報抽出部511を有している。これら各部は、図3に示す各構成要素のいずれかが、ROM202に記憶されているプログラムに従ったCPU201からの命令によって動作することで実現される機能又は手段である。また、ログアップロードサーバ50は、図3に示すHD204により構築される記憶部5000を有している。
(端末認証管理テーブル)
更に、記憶部5000には、図示しない端末認証管理テーブルによって構成されている端末認証管理DB5002が構築されている。この端末認証管理テーブルでは、ログアップロードサーバ50によって管理される全ての通信端末10の各端末IDに対して、各パスワードが関連付けられて管理される。例えば、端末認証管理テーブルにおいて、通信端末10aaの端末IDは「01aa」で示し、パスワードは「aaaa」で示す。
(端末管理テーブル)
また、記憶部5000には、端末管理テーブルによって構成されている端末管理DB5003が構築されている。この端末管理テーブルでは、各通信端末10の端末ID毎に、各通信端末10の稼動状態、後述のログイン要求情報がログアップロードサーバ50で受信された受信日時、及び通信端末10のIPアドレスが関連付けられて管理される。
例えば、端末管理テーブルにおいて、端末IDが「01aa」の通信端末10aaは、稼動状態が「ONライン」で、ログアップロードサーバ50でログイン要求情報が受信された日時が「2009年11月10日の13時40分」であることを示し、この通信端末10aaのIPアドレスが「1.2.1.3」であることを示す。
(宛先リスト管理テーブル)
更に、記憶部5000には、図示しない宛先リスト管理テーブルによって構成されている宛先リスト管理DB5004が構築されている。この宛先リスト管理テーブルでは、テレビ会議の開始を要求する要求元端末10Aの端末IDに対して、宛先端末10Bの候補として登録されている宛先端末10Bの端末IDが全て関連付けられて管理される。
例えば、宛先リスト管理テーブルにおいて、端末IDが「01aa」である要求元端末10aaからテレビ会議の開始を要求することができる宛先端末10Bの候補は、端末IDが「01ab」の通信端末10ab、端末IDが「01ba」の通信端末10ba、及び端末IDが「01db」の通信端末10dbの3つであることを示す。この宛先端末10Bの候補は、要求元端末10Aからログアップロードサーバ50に対する追加又は削除の要請により、追加又は削除されることで更新される。
(アドレス優先度管理テーブル)
更に、記憶部5000には、図示しないアドレス優先度管理テーブルによって構成されている優先度管理DB5006が構築されている。このアドレス優先度管理テーブルでは、一般的なIPv4におけるIPアドレスのうちの4組のドットアドレス(Dot Address)部分の同異に応じて、アドレス優先度のポイントが高くなるように関連付けられて管理される。例えば、アドレス優先度管理テーブルにおいて、ドットアドレスの上位から下位にかけて3つの値が同じIPアドレスの場合には、アドレス優先度のポイントが「5」である。ドットアドレスの上位から下位にかけて2つの値が同じIPアドレスの場合には、アドレス優先度のポイントが「3」である。この場合、最下位のドットアドレスの値が同じであるか否かは優先度に関係ない。ドットアドレスの最上位の値が同じで、上位から2番目の値が異なるIPアドレスの場合には、アドレス優先度のポイントが「1」である。この場合、上位から3番目及び最下位のドットアドレスの値が同じであるか否かは優先度には関係ない。ドットアドレスの最上位の値が異なるIPアドレスの場合には、アドレス優先度のポイントが「0」である。この場合、上位から2番目、3番目、及び最下位のドットアドレスの値が同じであるか否かは優先度には関係ない。
(ログアップロードサーバの各機能部)
次に、ログアップロードサーバ50の各機能部について詳細に説明する。なお、以下では、ログアップロードサーバ50の各部を説明するにあたって、図3に示す各構成要素のうち、ログアップロードサーバ50の各部を実現させるための主な構成要素との関係も説明する。
送受信部501は、図2に示すネットワークI/F209によって実行され、通信ネットワーク2又はLAN2eを介して他の端末、装置又はシステムと各種データ(情報)の送受信を行う。
端末認証部502は、送受信部501を介して受信されたログイン要求情報に含まれている端末ID及びパスワードを検索キーとし、記憶部5000の端末認証管理DB5002を検索し、端末認証管理DB5002に同一の端末ID及びパスワードが管理されているかを判断することによって端末認証を行う。
状態管理部503は、ログイン要求してきた要求元端末10Aの稼動状態を管理すべく、端末管理DB5003(図示しない)に、この要求元端末10Aの端末ID、要求元端末10Aの稼動状態、ログアップロードサーバ50でログイン要求情報が受信された受信日時、及び要求元端末10のIPアドレスを関連付けて記憶して管理する。
端末抽出部504は、ログイン要求した要求元端末10Aの端末IDをキーとして、宛先リスト管理DB5004(図示しない)を検索し、要求元端末10Aと通信することができる宛先端末10Bの候補の端末IDを読み出すことで、端末IDを抽出する。また、端末抽出部504は、ログイン要求してきた要求元端末10Aの端末IDをキーとして、宛先リスト管理DB5004を検索し、上記要求元端末10Aの端末IDを宛先端末10Bの候補として登録している他の要求元端末10Aの端末IDも抽出する。
端末状態取得部505は、上記端末抽出部504によって抽出された宛先端末10Bの候補の端末IDを検索キーとして、端末管理DB5003を検索し、上記端末抽出部504によって抽出された端末ID毎に稼動状態を読み出す。これにより、端末状態取得部505は、ログイン要求してきた要求元端末10Aと通信することができる宛先端末10Bの候補の稼動状態を取得することができる。また、端末状態取得部505は、上記端末抽出部504によって抽出された端末IDを検索キーとして、端末状態管理DB5003を検索し、ログイン要求してきた要求元端末10Aの稼動状態も取得する。
記憶・読出処理部509は、図3に示すHDD205によって実行され、記憶部5000に各種データを記憶する処理を行い、記憶部5000に記憶された各種データを読み出す処理を行う。
ログ情報抽出部511は、通信端末10によって送信される送信データ2200から、ログ情報2000を抽出する。ここで、ログ情報2000を抽出する方法は、送信データ2200の形式により異なり、ログアップロードサーバ用プログラムにより予め定められている。例えば、送信データ2200が図6に示すようなRFC3921のプロトコルにより作成されたものである場合には、ログ情報抽出部511は、「<body>」タグに記録されたログ情報2000を抽出する。
この場合、ログ情報抽出部511は、ROM202に記録されたパーサ(構文解析を行うプログラムを意味する)を用いて送信データ2200を解析し、「<message>」タグの子ノードである「<body>」タグからログ情報2000を抽出することができる。
<ログアップロードサーバの機能構成>
次に、ログアップロードサーバ50の機能又は手段について説明する。ログアップロードサーバ50は、送受信部551、ログ情報管理部552、記憶・読出処理部559を有している。これら各部は、図3に示す各構成要素のいずれかが、ROM202に記憶されているプログラムに従ったCPU201からの命令によって動作することで実現される機能又は手段である。また、ログアップロードサーバ50は、図3に示すHD204により構築される記憶部5500を有している。
(ログ管理テーブル)
記憶部5500には、図7に示すログ管理テーブルによって構成されているログ管理DB5501が構築されている。このログ管理テーブルは、通信端末10の端末ID毎に作成され、ログ情報の識別情報(ログIDという)と、ログ情報とが関連付けられて管理される。
(ログアップロードサーバの各機能部)
次に、ログアップロードサーバ50の各機能部について詳細に説明する。なお、以下では、ログアップロードサーバ50の各部を説明するにあたって、図3に示す各構成要素のうち、ログアップロードサーバ50の各部を実現させるための主な構成要素との関係も説明する。
送受信部551は、図2に示すネットワークI/F209によって実行され、LAN2eを介してログアップロードサーバ50と各種データ(情報)の送受信を行う。また、ログ情報管理部552は、ログアップロードサーバ50からの要求に応じて、ログ管理DB5501に構築されているログ管理DBの作成やログ情報の記憶、更新を行ったり、ログ管理DBからログ情報を取得したりする。記憶・読出処理部559は、図3に示すHDD205によって実行され、記憶部5500に各種データを記憶したり、記憶部5500に記憶された各種データを読み出したりする処理を行う。
図4を参照して、本実施形態の通信システム1に備えたログ再送制御部22について説明する。
通信端末10とログアップロードサーバ50は、通信ネットワーク2を介してデータ通信することができるように接続されている。本発明では、通信端末10に、再送を制御するログ再送制御部22を備え、ログ再送制御部22は、ログ再送時のリトライ時間を算出するとともに、リトライ時間を管理している。
図8は、ログ情報およびログアップロード機能について説明するための模式図である。
通信端末10では、当該端末のログ情報作成部20において作成したログ情報を格納したログファイルを記憶部1000に蓄積している。
ユーザ側において、ユーザが通信端末10を使用した際に何らかの障害が発生した場合、ユーザがサポートセンタに例えば電話機を用いて問い合わせを行ったときに、サポートセンタ側のオペレータからの依頼により、通信端末10に実装されたログアップロード機能を操作することによって、記憶部1000に記憶されている必要なログファイルが、サポートセンタ側のログアップロードサーバ50にアップロードされるように運用することになっている。
サポートセンタ側では、ログアップロードサーバ50にアップロードされたログファイルに基づいて、障害発生原因の解析作業を行い、障害対応を行う。
なお、上述した例では、ユーザがサポートセンタに例えば電話機を用いて問い合わせをおこなう場合について説明したが、電話機に代わって、携帯電話のメール機能を用いてもよい。
図9は、通常時のログアップロードが成功した時のシーケンス図である。
まず、通信端末10に障害が発生したこととする。この際、ユーザが例えば電話機を用いて通信端末10に障害があることをサポートセンタに報告する(S5)。
このとき、サポートセンタ側では、ユーザから障害報告を受けた担当者は、通信端末10に保存されたログファイルを解析するため、ユーザに通信端末10に備わったログアップロード機能の操作を依頼する(S10)。
次いで、ユーザは、通信端末10に備わったログアップロード機能を操作する(S15)。
通信端末10は、ログファイルをログアップロードサーバ50にアップロードする(S20)。
シーケンスS20において、通信端末10から通信ネットワーク2を介してログアップロードサーバ50へのセッションが確立し、通信端末10からログアップロードサーバ50へのアップロードが成功した場合、通信端末10は、ログアップロード機能により成功通知をユーザに通知する(S25)。
サポートセンタでは、担当者はログアップロードサーバ50にアップロードされたログファイルを解析し、障害原因を調査する(S30)。
ここで、通信端末10とログアップロードサーバ50間に設けられた通信ネットワーク2が正常に接続している場合は、ユーザは一度の操作でアップロードを達成することができる。
ログファイルのサイズは、数100KBから1MB程度であり、個々の通信端末10の稼働状況に依存して変動する。アップロードに要する時間は、ネットワーク状況とログファイルのサイズによっても変化するが、通常、1〜3秒程度で完了する。
図10は、ネットワーク切断時にリトライが無い場合のシーケンス図である。
ユーザが例えば電話機を用いて通信端末10に障害があることをサポートセンタに報告する(S105)。
このとき、サポートセンタ側では、ユーザから障害報告を受けた担当者は、通信端末10に保存されたログファイルを解析するため、ユーザに通信端末10に備わったログアップロード機能の操作を依頼する(S110)。
次いで、ユーザは、通信端末10に備わったログアップロード機能を操作する(S115)。
通信端末10は、ログファイルをログアップロードサーバ50にアップロードを実行するが、通信端末10に障害が発生した場合は、何らかの原因で通信端末10が通信ネットワークから切断されたことに起因する場合が多くある(S120)。
この場合、ログアップロードの操作を依頼した時点で、当該通信端末10が通信ネットワークから切断されており、通信端末10から通信ネットワーク2を介してログアップロードサーバ50へのセッションが確立しておらず、アップロードが失敗する可能性は非常に高く、アップロードが失敗した場合はユーザに失敗通知を通知する(S125)。
ここで、ログファイルをログアップロードサーバ50にアップロードするためには、ユーザは成功するまで処理を繰り返す必要がある。このため、シーケンスS115〜S125と同様にS115‘〜S125’を繰り返す。
ネットワーク切断の原因が解消し、通信端末10が再び通信ネットワーク2に接続した場合に、ネットワーク接続が回復する(S130)。
次いで、ユーザは、通信端末10に備わったログアップロード機能を操作する(S135)。
ネットワーク接続後にユーザが再び操作することで、通信端末10は、ログファイルをログアップロードサーバ50にアップロードする(S140)。
シーケンスS130において、通信端末10からログアップロードサーバ50へのアップロードが成功した場合、通信端末10は、ログアップロード機能により成功通知をユーザに通知する(S145)。
サポートセンタでは、担当者はログアップロードサーバ50にアップロードされたログファイルを解析し、障害原因を調査する(S150)。
図11は、ネットワーク切断時にリトライが有る場合のシーケンス図である。
ユーザが例えば電話機を用いて通信端末10に障害があることをサポートセンタに報告する(S205)。
このとき、サポートセンタ側では、ユーザから障害報告を受けた担当者は、通信端末10に保存されたログファイルを解析するため、ユーザに通信端末10に備わったログアップロード機能の操作を依頼する(S210)。
次いで、ユーザは、通信端末10に備わったログアップロード機能を操作する(S215)。なお、リトライ操作をユーザに繰り返させると、ユーザの操作負担が高くなるため、ユーザが操作するのは最初の一度だけとする。
ここで、ユーザによる操作があった時点でアップロードが失敗した場合には、一定時間内にプログラムが自動リトライを実施し、ログアップロード機能を繰り返す(S220〜S235)
ネットワーク切断の原因が解消し、通信端末10が再び通信ネットワーク2に接続した場合に、ネットワーク接続が回復する(S240)。
ネットワーク接続後に再びログアップロード機能を実行することで、通信端末10は、ログファイルをログアップロードサーバ50にアップロードする(S245)。
シーケンスS240において、通信端末10からログアップロードサーバ50へのアップロードが成功した場合、通信端末10は、ログアップロード機能により成功通知をユーザに通知する(S250)。
サポートセンタでは、担当者はログアップロードサーバ50にアップロードされたログファイルを解析し、障害原因を調査する(S255)。
図12は、ネットワーク切断時にリトライがあり、且つタイムアウトした場合のシーケンス図である。
シーケンスS305〜S340については、上述したシーケンスS205〜S235(図11)と同様であり、アップロードが失敗した場合には、一定時間内にプログラムが自動リトライを実施し、ログアップロード機能を繰り返す。
ここで、リトライ処理には一定時間のタイムアウトを設定しておき、タイムアウトした場合は、リトライ処理を停止し、アップロードが失敗したこととする(S345)。
シーケンスS345において、リトライ処理がタイムアウトした場合、通信端末10は、ログアップロード機能により失敗通知をユーザに通知する(S350)。
図13(a)(b)は、アップロード処理時に設定されるリトライ(一定時間)の時間間隔について説明するための模式図である。
リトライ処理のタイミングは、最初の失敗時点(時刻)からの経過時間によって決定する。
最とも単純な手法は、失敗時点から一定時間毎にリトライ処理を行う手法である。
しかし、通信ネットワーク2が切断される原因は、大きく二つの種類が考えられる。
第1に、WIFI接続の不調などによる瞬間的な切断である。第2に、ネットワーク障害などによる長期的な切断である。
このように仮定した上で、例えばリトライ時間を1秒(図13(a))、10秒(図13(b))と設定した場合の特徴は以下のようになる。
図13(a)に示すように、リトライ時間を1秒に設定した場合、ネットワーク接続が回復した直後にアップロード処理を行えるのでアップロードが成功する。インターネット接続が回復するまでの時間が短時間であれば、アップロード処理が完了するまでのタイムラグを短くすることができるという利点を有している。
しかし、ネットワーク接続が回復するまでに長時間かかる場合は、通信ネットワークに無駄なトラフィックが大量に発生する。また、通信端末がモバイル端末である場合、バッテリを多く消費する恐れがあるという欠点を有している。
一方、図13(b)に示すように、リトライ時間を10秒に設定した場合、ネットワーク接続が回復するまでに長時間かかっても、ネットワークトラフィックが少なく、モバイル端末などの場合でもバッテリの消費が少なく済むという利点を有している。
しかし、ネットワーク接続が回復しても、最長で10秒間のタイムラグが発生する。この場合、通信ネットワークが瞬間的な切断だったとしても、アップロード処理が完了するまで時間がかかるという欠点を有している。
図14は、アップロード処理におけるリトライ時間(重み付け有り)の時間間隔について説明するための模式図である。
ネットワーク状況として、瞬間的な切断と長期的な切断との両者を考慮して、リトライ時間の適切な最適化を実施するために、リトライ時間を最初に1秒から始め、次回以降のリトライ毎にその次の回のリトライ時間を一定の割合で長く伸ばしていく手法が考えられる。
この手法により、以下の利点が得られ、アップロード処理時のリトライを自動化して効率良く行うことができる。
ネットワーク状況として、瞬間的なネットワーク切断の場合、リトライに要する時間は最低でも1秒で済む。一方、長期的なネットワーク切断の場合、無駄なリクエストを減らし、ネットワーク資源やバッテリ資源を節約することができる。
また、リトライ時間をどの程度の割合で伸ばしていくのかは、ネットワーク状況に応じて変更するのが望ましい。
このリトライ時間を延ばす割合を「重み値」と呼ぶことにする。重み値が2である場合は、最初の失敗から1秒後にリトライし、それ以降はリトライ時間を2倍にしてリトライする。
一方、通信端末が接続されている通信ネットワークにおいて、ネットワーク切断からの回復が早い場合が多いときは、重み値を小さく設定する。一方、ネットワーク切断から回復するまでに要する時間がかかる場合、重み値は大きく設定する方がよい。
そこで、図14(b)に示すように、デフォルト値として重み値を2としリトライを実施する。
そして、リトライが発生するたびに通信端末内のRAMにその回数を記録し、リトライ回数が多ければ次のログアップロード処理では重み値を増加させる。逆にリトライ回数が少なければ、重み値を減少させることで、通信端末が接続可能な通信ネットワークに適した重み値に近づけていくことができる。
ここで、重み値をWとし、リトライ回数をkとした場合に、k回目のアップロードを実行する際のリトライ時間Trは、リトライ開始時点から、
Tr=W^(k−1) (1)
秒後となる。
図15は、ログ再送制御部22のシーケンス動作を説明するためのシーケンス図である。
ユーザは、通信端末10に備わったログアップロード機能を操作する(S405)。
通信端末10は、アップロードの実施中に現在の重み値Wから算出したタイムアウト時間To内において、リトライ処理を実施す(S410、S415)。
ここで、リトライ処理において設定されたタイムアウト時間Toが経過し、タイムアウトした場合には、リトライ処理を停止し、アップロードが失敗したこととする(S420)。
通信端末10は、現在の重み値Wから0.2だけ引いた値を算出し、この値を次回に用いる重み値Wとして更新してRAMに記憶する(S425)。
次いで、シーケンスS420において、リトライ処理がタイムアウトした場合、通信端末10は、ログアップロード機能により失敗通知をユーザに通知する(S430)。
また別の機会において、ユーザは通信端末10に備わったログアップロード機能を操作する(S435)。
通信端末10は、RAMから今回用いる重み値Wを読み出し、この重み値Wに基づいて、タイムアウト時間Toを算出しておき、このタイムアウト時間To内において、アップロードのリトライ処理を実施する(S440)。
ネットワーク接続が回復した直後にアップロードのリトライ処理が成功した場合(S445)、ログ再送制御部22は現在の重み値Wに0.2を加算した値を算出し、この値を次回に用いる重み値Wとして更新してRAMに記憶する(S450)。
シーケンスS445において、通信端末10からログアップロードサーバ50へのアップロードが成功した場合、通信端末10は、ログアップロード機能により成功通知をユーザに通知する(S455)。
図16は、ログ再送制御部22が実行する重み値の算出方法について説明するための模式図である。
ログ再送制御部22は、重み値Wのデフォルト値を2とし、予め通信端末のEEPROMに記憶しておく。
ログ再送制御部22は、ログアップロード処理を実行する前に、タイムアウト時間Toをタイマに設定しておき、リトライ処理を行い、リトライ処理中にタイムアウト時間Toが経過するとログアップロード処理が失敗したこととしてリトライ処理を停止する。
ログ再送制御部22は、このタイムアウト時間To内にリトライ処理が成功した失敗したかを表すフラグFの値に基づいて、次回のタイムアウト時間Toを算出するための重み値Wの更新値を算出する。
ここで、重み値Wを算出するための算出式を一般化して説明する。
k回目のリトライ処理をR(k)で表し、ログ再送制御部22は、成功だった場合はフラグFに1を返し、失敗だった場合はフラグFに−1を返す。
k回目のリトライ処理に適用する重み値W(k)は、下記の式(2)で算出できる。
W(k)=W(k−1)+0.2*R(k−1) (2)
ログ再送制御部22は、重み値Wの上限を3.0とし、その下限を1.2としておき、算出結果がその範囲(1.2〜3.0)を超える場合は、上限または下限に補正する。
このように、更新後の重み値を所定の範囲内に制限することで、次回の送信までの再送信待ち時間を制限した範囲内で調整することができる。
図17は、ログ再送制御部22が実行する重み値の算出方法について説明するためのフローチャートである。
通信端末10のモニタ上には、ログアップロード機能を行うための指示を入力するソフトボタンが表示されていることとする。
まず、ステップSt10では、ログ再送制御部22は、ログアップロード機能を行うためのソフトボタンがON操作されたか否かを判断し、ON操作された場合にステップSt15に進む。
次いで、ステップSt15では、ログ再送制御部22は、EEPROMから重み値Wを読み出す。なお、上述したように、重み値Wのデフォルト値は2であるので、最初にEEPROMから2が重み値Wとして読み出される。
次いで、ステップSt20では、ログ再送制御部22は、EEPROMから取得した重み値Wに基づいて、タイムアウト時間Toを算出し、タイマに設定する。この結果、タイマは時間Toから0までカウントダウンを開始する。
ここで、タイムアウト時間Toは、リトライ時間Tr(式(1))から、
To=Tr(1)+Tr(2)+・・・+Tr(k)
=1+W^1+・・・・・・・・・+W^(k−1) (3)
となる。なお、リトライ回数kは適度な自然数に設定すればよい。
次いで、ステップSt25では、ログ再送制御部22は、リトライ処理を実施するためにリトライ処理のサブルーチン(図18)をコールする。なお、リトライ処理のサブルーチンから復帰(リターン)した際には、リトライ成功で1、リトライ失敗で−1をフラグFとして返す。
次いで、ステップSt30では、ログ再送制御部22は、フラグFに基づいて、リトライ処理が成功したか否かを判断する。フラグFが1である場合にはリトライ処理が成功したのでステップSt35に進む。一方、フラグFが−1である場合にはリトライ処理が失敗したのでステップSt45に進む。
リトライ処理が成功し、ログアップロード処理を実行した場合に、ステップSt35では、ログ再送制御部22は、今回の重み値Wから0.2だけ引いてWを減少させ、EEPROMに記憶する。EEPROMに記憶させた重み値Wは、次回のリトライ処理に使用する重み値Wとなる。
次いで、ステップSt40では、ログ再送制御部22は、ログアップロード処理が成功した旨を表す成功通知をモニタに表示するとともに、音声信号またはビープ音を発生し、ユーザに報知する。
一方、リトライ処理が失敗し、ログアップロード処理を実行できなかった場合に、ステップSt45では、ログ再送制御部22は、今回の重み値Wに0.2だけ加えてWを増加させ、EEPROMに記憶する。EEPROMに記憶させた重み値Wは、次回のリトライ処理に使用する重み値Wとなる。
次いで、ステップSt50では、ログ再送制御部22は、ログアップロード処理が失敗した旨を表す失敗通知をモニタに表示するとともに、音声信号またはビープ音を発生し、ユーザに報知する。
このように、ログ再送制御部22では、重み値Wに基づいて、タイムアウト時間Toを算出し、タイムアウト時間Toまでの間に再送信の結果に応じて重み値Wを更新するので、再送信の結果に応じて次回のリトライ時間(再送信待ち時間)を調整することができる。
また、ログ再送制御部22では、再送信が成功した場合に重み値Wよりも次回の重み値Wを小さな値に更新し、再送信が失敗した場合に前回の重み値Wよりも次回の重み値Wを大きな値に更新することで、通信ネットワークの状況に応じて、次回の送信までのリトライ時間(再送信待ち時間)を調整することができる。
次いで、ステップSt55では、ログ再送制御部22は、ログアップロード機能を停止するため、ソフトボタンがOFF操作されたか否かを判断し、OFF操作された場合には処理を終了する。一方、OFF操作がない場合には処理を継続するためステップSt15に戻る。
再度、ステップSt15に戻った場合には、ログ再送制御部22は、EEPROMから重み値Wを読み出すが、この際の重み値Wはデフォルト値(2)ではなく、上述したステップSt45において記憶された値となる。
また、OFF操作が行われた後に、再度、ON操作が行われ、ステップSt10からSt15に進んだ場合も、ログ再送制御部22は、EEPROMから重み値Wを読み出すが、この際の重み値Wはデフォルト値(2)ではなく、上述したステップSt45又はSt40において記憶された値となる。
図18は、ログ再送制御部22が実行するリトライ処理のサブルーチンを示すフローチャートである。
まず、ステップSt110では、ログ再送制御部22は、EEPROMから取得した重み値Wに基づいて、1回目からk回目、n回目(最大回目)までのリトライ時間Trを生成し、RAM上に設けられたテーブルに記憶する。
ここで、kは再送信を失敗した回数、Wはリトライ時間(再送信待ち時間)Trを長く算出する割合を表す重み値を表している。
この結果、例えば表1に示すような処理番号k、リトライ時間Trがテーブルに記憶される。
Figure 2016054442
なお、表1に示すリトライ時間trは、EEPROMから取得した重み値Wが例えば1.8のときに式(1)に従って算出した値である。
このように、再送信を失敗した回数k、リトライ時間(再送信待ち時間)Trを長く算出する割合を表す重み値Wに基づいて、次回の送信までのリトライ時間(再送信待ち時間)Trを算出しておくことができる。
次いで、ステップSt115では、ログ再送制御部22は、ループ処理に用いる処理番号kとして、k=1に設定する。
次いで、ステップSt120では、ログ再送制御部22は、リトライ処理を実施する。すなわち、リトライ処理では、通信端末10から通信ネットワーク2を介してログアップロードサーバ50へのセッションの確立を行い、通信端末10からログアップロードサーバ50へのログファイルのアップロードを行う。
次いで、ステップSt125では、ログ再送制御部22は、上記セッションが確立してリトライ処理が成功したか否かを判断する。リトライ処理が成功した場合にはステップSt130に進む。一方、リトライ処理が成功しなかった場合(失敗)にはステップSt135に進む。
次いで、ステップSt130では、ログ再送制御部22は、リトライ処理が成功した場合には、フラグFに1を設定し、メインルーチンに復帰(リターン)する。
次いで、ステップSt135では、ログ再送制御部22は、処理番号kに1を加算(インクリメント)してk=k+1に設定する。
次いで、ステップSt140では、ログ再送制御部22は、k回目のリトライ時間Trをテーブルから読み出し、タイマTrに設定し、タイマによるカウントダウンをスタートする。
次いで、ステップSt145では、ログ再送制御部22は、タイマTrのカウント値が0になったか否かを判断する。タイマTrが0になった場合にはステップSt150に進む。
次いで、ステップSt150では、ログ再送制御部22は、タイムアウト時間Toに到達したか否かを判断する。タイムアウト時間Toに到達した場合にはステップSt160に進む。一方、まだタイムアウト時間Toに到達していない場合は、ステップS155に進む。
次いで、ステップSt155では、ログ再送制御部22は、タイムアウト時間Toに到達していない場合に、処理番号kがn+1(最大回目+1)に到達したか否かを判断する。処理番号kがn+1に到達した場合にはステップSt160に進む。一方、処理番号kがまだn+1に到達していない場合は、ステップS120に戻る。
次いで、ステップSt155では、ログ再送制御部22は、タイムアウト時間Toに到達した場合、又は処理番号kがn+1に到達した場合には、リトライ処理が失敗したこととし、フラグF=−1に設定し、メインルーチンに復帰(リターン)する。
本実施形態によれば、通信ネットワーク2を介してログアップロードサーバ50へのログファイルのある送信が失敗した場合に、当該送信から次回の送信までの再送信待ち時間(リトライ時間)を算出し、リトライ時間(再送信待ち時間)が経過した場合に、ログアップロードサーバ50へログファイルを再送信させる際に、前回のリトライ時間よりも次回のリトライ時間を長く算出することで、通信端末が接続された通信ネットワークの状況に応じて、次回の送信までのリトライ時間を調整することができる。
この結果、例えば通信ネットワークの接続回復が早い環境ではなるべく早くアップロードを完了し、接続回復が遅い環境では無駄なリクエストをなるべく減らすことができるので、端末が接続された通信ネットワーク環境に応じて、ログアップロードを自動でリトライするための適切なリトライ時間を算出することができ、このリトライ時間を用いてアップロードをリトライすることにより、電池の消耗を減らし、無駄なネットワークトラフィックを抑制することができる。
<他の実施形態>
上述した実施形態にあっては、ログ再送制御部22において、再送信を失敗した回数k、重み値Wに基づいて、リトライ時間Trを予め算出し、RAM上のテーブルに記憶しておくように構成したが、本発明はこれに限定されるものではない。
すなわち、他の実施形態にあっては、ログ再送制御部22において、再送信を失敗した回数kを計数しておき、再送信を失敗した場合に、重み値Wに基づいて、送信が失敗した後にリトライ時間Trを算出するように構成してもよい。
これにより、通信ネットワーク2を介してログアップロードサーバ50へのログファイルのある送信が失敗した場合に、当該送信から次回の送信までのリトライ時間を算出し、リトライ時間が経過した場合に、ログアップロードサーバ50へログファイルを再送信させる際に、前回のリトライ時間よりも次回のリトライ時間を長く算出することで、通信端末が接続された通信ネットワークの状況に応じて、次回の送信までのリトライ時間を調整することができる。
また、再送信を失敗した場合に、再送信を失敗した回数k、重み値Wに基づいて、次回の送信までのリトライ時間を調整することができる。
<本発明の実施態様例と効果>
<第1態様>
本態様の通信端末10は、通信ネットワーク2を介してログアップロードサーバ50に接続する通信端末であって、通信ネットワーク2を介してログファイルをログアップロードサーバ50へ送信する送信手段(送受信部11)と、ログアップロードサーバ50へのログファイルのある送信が失敗した場合に、当該送信から次回の送信までの再送信待ち時間(リトライ時間)を算出する再送信待ち時間算出手段(ログ再送制御部22)と、再送信待ち時間が経過した場合に、送信手段によりログアップロードサーバ50へログファイルを再送信させる制御手段(ログ再送制御部22)と、を備え、再送信待ち時間算出手段は、前回の再送信待ち時間よりも次回の再送信待ち時間を長く算出することを特徴とする。
本態様によれば、通信ネットワーク2を介してログアップロードサーバ50へのログファイルのある送信が失敗した場合に、当該送信から次回の送信までの再送信待ち時間(リトライ時間)を算出し、再送信待ち時間が経過した場合に、ログアップロードサーバ50へログファイルを再送信させる際に、前回の再送信待ち時間よりも次回の再送信待ち時間を長く算出することで、通信端末が接続された通信ネットワークの状況に応じて、次回の送信までの再送信待ち時間を調整することができる。
<第2態様>
本態様の通信端末10の再送信待ち時間算出手段(ログ再送制御部22)は、再送信を失敗した回数、再送信待ち時間を長く算出する割合を表す重み値に基づいて、再送信待ち時間を算出することを特徴とする。
本態様によれば、再送信を失敗した回数、再送信待ち時間を長く算出する割合を表す重み値に基づいて、次回の送信までの再送信待ち時間を調整することができる。
<第3態様>
本態様の制御手段(ログ再送制御部22)は、重み値に基づいて、タイムアウト時間を算出するタイムアウト時間算出手段と、タイムアウト時間までの間に再送信の結果に応じて重み値を更新する重み値更新手段と、を備えることを特徴とする。
本態様によれば、重み値に基づいて、タイムアウト時間を算出し、タイムアウト時間までの間に再送信の結果に応じて重み値を更新するので、再送信の結果に応じて次回の再送信待ち時間を調整することができる。
<第4態様>
本態様の重み値更新手段(ログ再送制御部22)は、再送信が成功した場合に前回の重み値よりも次回の重み値を小さな値に更新し、再送信が失敗した場合に前回の重み値よりも次回の重み値を大きな値に更新することを特徴とする。
本態様によれば、再送信が成功した場合に重み値よりも次回の重み値を小さな値に更新し、再送信が失敗した場合に前回の重み値よりも次回の重み値を大きな値に更新することで、通信ネットワークの状況に応じて、次回の送信までの再送信待ち時間を調整することができる。
<第5態様>
本態様の重み値更新手段(ログ再送制御部22)は、更新後の重み値を所定の範囲内に制限することを特徴とする。
本態様によれば、更新後の重み値を所定の範囲内に制限することで、次回の送信までの再送信待ち時間を制限した範囲内で調整することができる。
<第6態様>
本態様の通信情報は、自装置のログファイルであることを特徴とする。
本態様によれば、通信情報が自装置のログファイルであることで、ログファイルを再送信することができる。
<第7態様>
本態様の通信システム1は、第1態様乃至第6態様の何れか1つに記載の通信端末10と、通信端末10から通信情報を受信するログアップロードサーバ50と、を備えたことを特徴とする。
本態様によれば、通信端末10からログアップロードサーバ50への再送信待ち時間を調整することができる。
<第8態様>
本態様の通信方法は、通信ネットワーク2を介してログアップロードサーバ50に接続する通信端末における通信方法であって、通信ネットワーク2を介してログファイルをログアップロードサーバ50へ送信する送信ステップ(st120)と、ログアップロードサーバ50へのログファイルのある送信が失敗した場合に、当該送信から次回の送信までの再送信待ち時間(リトライ時間)を算出する再送信待ち時間算出ステップ(st110)と、再送信待ち時間が経過した場合に、送信ステップによりログアップロードサーバ50へログファイルを再送信させる制御ステップ(st120)と、を備え、再送信待ち時間算出ステップは、前回の再送信待ち時間よりも次回の再送信待ち時間を長く算出することを特徴とする。
本態様によれば、通信ネットワーク2を介してログアップロードサーバ50へのログファイルのある送信が失敗した場合に、当該送信から次回の送信までの再送信待ち時間(リトライ時間)を算出し、再送信待ち時間が経過した場合に、ログアップロードサーバ50へログファイルを再送信させる際に、前回の再送信待ち時間よりも次回の再送信待ち時間を長く算出することで、通信端末が接続された通信ネットワークの状況に応じて、次回の送信までの再送信待ち時間を調整することができる。
<第9態様>
本態様のプログラムは、第8態様記載の各ステップをプロセッサに実行させることを特徴とする。
本態様によれば、通信ネットワーク2を介してログアップロードサーバ50へのログファイルのある送信が失敗した場合に、当該送信から次回の送信までの再送信待ち時間(リトライ時間)を算出し、再送信待ち時間が経過した場合に、ログアップロードサーバ50へログファイルを再送信させる際に、前回の再送信待ち時間よりも次回の再送信待ち時間を長く算出することで、通信端末が接続された通信ネットワークの状況に応じて、次回の送信までの再送信待ち時間を調整することができる。
1…通信システム、2…通信ネットワーク、10…通信端末、11…送受信部、12…操作入力受付部、13…ログイン要求部、17…遅延検出部、18…形式情報取得部、19…記憶・読出処理部、20…ログ情報作成部、21…メッセージ作成部、22…ログ再送制御部、50…ログアップロードサーバ、70…ルータ、90…プログラム提供システム、101…CPU、104…フラッシュメモリ、105…SSD、106…記録メディア、107…メディアドライブ、108…操作ボタン、109…電源スイッチ、112…CMOS、114…マイク、115…スピーカ、110…バスライン、120…ディスプレイ、202…ROM、203…RAM、204…HD、205…HDD、211…キーボード、212…マウス、214…CD−ROMドライブ、213…CDROM、502…端末認証部、503…状態管理部、504…端末抽出部、505…端末状態取得部、511…ログ情報抽出部、552…ログ情報管理部、1000…記憶部、5501…ログ管理DB
特開平10−040191号公報

Claims (9)

  1. ネットワークを介してサーバに接続する通信端末装置であって、
    前記ネットワークを介して通信情報をサーバへ送信する送信手段と、
    前記サーバへの前記通信情報のある送信が失敗した場合に、当該送信から次回の送信までの再送信待ち時間を算出する再送信待ち時間算出手段と、
    前記再送信待ち時間が経過した場合に、前記送信手段により前記サーバへ前記通信情報を再送信させる制御手段と、を備え、
    前記再送信待ち時間算出手段は、
    前回の再送信待ち時間よりも次回の再送信待ち時間を長く算出することを特徴とする通信端末装置。
  2. 前記再送信待ち時間算出手段は、
    前記再送信を失敗した回数、前記再送信待ち時間を長く算出する割合を表す重み値に基づいて、前記再送信待ち時間を算出することを特徴とする請求項1記載の通信端末装置。
  3. 前記制御手段は、
    前記重み値に基づいて、タイムアウト時間を算出するタイムアウト時間算出手段と、
    前記タイムアウト時間までの間に前記再送信の結果に応じて前記重み値を更新する重み値更新手段と、を備えることを特徴とする請求項1記載の通信端末装置。
  4. 前記重み値更新手段は、
    前記再送信が成功した場合に前回の前記重み値よりも次回の重み値を小さな値に更新し、前記再送信が失敗した場合に前回の前記重み値よりも次回の重み値を大きな値に更新することを特徴とする請求項3記載の通信端末装置。
  5. 前記重み値更新手段は、
    前記更新後の重み値を所定の範囲内に制限することを特徴とする請求項4記載の通信端末装置。
  6. 前記通信情報は、
    自装置の履歴情報であることを特徴とする請求項1乃至5の何れか1つに記載の通信端末装置。
  7. 請求項1乃至6の何れか1つに記載の通信端末装置と、
    前記通信端末装置から前記通信情報を受信する前記サーバと、を備えたことを特徴とする通信システム。
  8. ネットワークを介してサーバに接続する通信端末装置における通信方法であって、
    前記ネットワークを介して通信情報をサーバへ送信する送信ステップと、
    前記サーバへの前記通信情報のある送信が失敗した場合に、当該送信から次回の送信までの再送信待ち時間を算出する再送信待ち時間算出ステップと、
    前記再送信待ち時間が経過した場合に、前記送信ステップにより前記サーバへ前記通信情報を再送信させる制御ステップと、を備え、
    前記再送信待ち時間算出ステップは、
    前回の再送信待ち時間よりも次回の再送信待ち時間を長く算出することを特徴とする通信方法。
  9. 請求項8記載の各ステップをプロセッサに実行させることを特徴とするプログラム。
JP2014180145A 2014-09-04 2014-09-04 通信端末装置、通信システム、通信方法、及びプログラム Pending JP2016054442A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014180145A JP2016054442A (ja) 2014-09-04 2014-09-04 通信端末装置、通信システム、通信方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014180145A JP2016054442A (ja) 2014-09-04 2014-09-04 通信端末装置、通信システム、通信方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2016054442A true JP2016054442A (ja) 2016-04-14

Family

ID=55745414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014180145A Pending JP2016054442A (ja) 2014-09-04 2014-09-04 通信端末装置、通信システム、通信方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2016054442A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3232329A1 (en) * 2016-04-15 2017-10-18 Canon Kabushiki Kaisha System that saves data, server, and method
CN114741219A (zh) * 2022-03-28 2022-07-12 慧之安信息技术股份有限公司 基于操作系统的计算软件诊断系统和方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3232329A1 (en) * 2016-04-15 2017-10-18 Canon Kabushiki Kaisha System that saves data, server, and method
CN107302643A (zh) * 2016-04-15 2017-10-27 佳能株式会社 保存数据的系统、信息处理服务器以及方法
US10178249B2 (en) 2016-04-15 2019-01-08 Canon Kabushiki Kaisha System that saves data, server, and method
CN107302643B (zh) * 2016-04-15 2019-11-08 佳能株式会社 保存数据的系统、信息处理服务器以及方法
CN114741219A (zh) * 2022-03-28 2022-07-12 慧之安信息技术股份有限公司 基于操作系统的计算软件诊断系统和方法
CN114741219B (zh) * 2022-03-28 2022-10-21 慧之安信息技术股份有限公司 基于操作系统的计算软件诊断系统和方法

Similar Documents

Publication Publication Date Title
JP5793869B2 (ja) 伝送管理システム、伝送管理方法、及び伝送管理プログラム
JP6182902B2 (ja) 伝送端末、伝送システム及びプログラム
JP2012023710A (ja) 伝送端末、伝送システム、伝送方法、及び伝送端末用プログラム
TWI753876B (zh) 異步服務處理方法及其伺服器
US20170048590A1 (en) Method, device, and system for switching at a mobile terminal of a smart television and acquiring information at a television terminal
WO2015074613A1 (zh) 摄像机控制方法、用户设备及摄像机
JP5983792B2 (ja) 伝送システム、及び伝送方法
US10187336B2 (en) Transmission system, communications control apparatus, transmission terminal, communications method, and transmission method
CN112188277B (zh) 投屏控制方法、装置、电子设备和计算机程序介质
JP2020031369A (ja) 通信端末、通信システム、ログデータ送信方法、プログラム
US9706170B2 (en) Communication apparatus, communication system, and communication management system
JP2016177594A (ja) 通信端末装置、通信システム、通信方法、及びプログラム
US20160183082A1 (en) Information processing device, server device, data communication system, data communication method, and computer-readable storage medium storing data communication program
JP2016054442A (ja) 通信端末装置、通信システム、通信方法、及びプログラム
JP2016075974A (ja) 通信端末装置、通信システム、通信方法、及びプログラム
US20120150995A1 (en) Transfer apparatus, message transfer system, message transfer method, and program
US11108694B2 (en) Communication system and upload method
JP2016152007A (ja) 通信端末装置、通信システム、通信方法、及びプログラム
CN115866011A (zh) 数据传输方法、装置、计算机设备和计算机可读存储介质
US20120221958A1 (en) Computer system and method for controlling computer
JP6451253B2 (ja) 伝送管理システム、伝送システム、中継装置制御方法、及びプログラム
JP2015049745A (ja) サーバ装置、情報処理方法、及びプログラム
JP2011211344A (ja) 遠隔通信端末、遠隔通信システム、遠隔通信端末用プログラム
JP2014010747A (ja) セッション管理装置、方法、及び、プログラム
JP7409016B2 (ja) 通信システム、通信端末、通信方法、プログラム