JP2015046706A - 中継プログラム、中継装置、及び中継方法 - Google Patents

中継プログラム、中継装置、及び中継方法 Download PDF

Info

Publication number
JP2015046706A
JP2015046706A JP2013175887A JP2013175887A JP2015046706A JP 2015046706 A JP2015046706 A JP 2015046706A JP 2013175887 A JP2013175887 A JP 2013175887A JP 2013175887 A JP2013175887 A JP 2013175887A JP 2015046706 A JP2015046706 A JP 2015046706A
Authority
JP
Japan
Prior art keywords
information processing
packet
processing apparatus
data
communication
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.)
Granted
Application number
JP2013175887A
Other languages
English (en)
Other versions
JP6213059B2 (ja
Inventor
上条 雅
Masa Kamijo
雅 上条
聡 三小田
Satoshi Mikota
聡 三小田
有木郎 長田
Yukio Osada
有木郎 長田
悠 熊埜御堂
Yu Kumanomido
悠 熊埜御堂
寛史 渡部
Hiroshi Watabe
寛史 渡部
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013175887A priority Critical patent/JP6213059B2/ja
Priority to US14/330,088 priority patent/US9455803B2/en
Publication of JP2015046706A publication Critical patent/JP2015046706A/ja
Application granted granted Critical
Publication of JP6213059B2 publication Critical patent/JP6213059B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms
    • H04L1/1883Time-out mechanisms using multiple timers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0097Relays

Abstract

【課題】同じネットワーク内のクライアント機器に代わって、外部ネットワークに配置されたサーバに対してパケット再送信の要求を可能にする。【解決手段】中継プログラムは、ネットワークを介して接続される第1の情報処理装置から第1の通信方式で送信されたデータを受信し、受信したデータを第2の通信方式で第2の情報処理装置に送信し、第1の情報処理装置との通信、または、第2の情報処理装置との通信におけるエラーを検出し、エラーを検出したときに、エラーに係るデータの再送信を第1の情報処理装置に要求する処理をコンピュータに実行させる。【選択図】図7

Description

本発明は、中継プログラム、中継装置、及び中継方法に関する。
従来技術として、例えば、自身の使用に加えて他への貸し出しを可能とするだけの計算資源を持つ情報機器と、自身で使用されるのに足るだけの計算資源を持つ情報機器とが混在して接続される、範囲を限定されて構成されるネットワーク上で計算資源を有効に活用するようにしたデータ処理装置がある。
上記データ処理装置は、範囲を限定されて構成されるネットワークに接続する接続手段と、上記ネットワークに接続されたクライアント機器に対して計算資源を貸し出す計算資源貸し出し手段と、上記クライアント機器の物理的状態を通知する状態通知手段とを備える。
また、上記データ処理装置は、上記状態通知手段の通知に基づき、上記クライアント機器の物理的状態がクライアント機器が上記ネットワークに接続されていない状態であるとされれば、該クライアント機器へのサービスを、上記計算資源貸し出し手段により該クライアント機器に上記貸し出された上記計算資源に対して提供する(例えば、「特許文献1」参照)。
特開2002−297559号公報
従来技術のデータ処理装置では、家庭内の外側に配置されたサーバに記憶されたデータをクライアント機器にダウンロードする場合は、データ処理装置にデータを一次保存する。
しかし、例えば、通信障害に対応した再送制御機能を有するOS(Operating System)を持たないクライアント機器に対し、サブネットの外側のサーバに記憶されたシステムイメージを用いて復元する作業を行う場合、前記サーバのデータを一次保存する必要があり、データ処理装置におけるシステムイメージの保存容量が大きくなる問題がある。
そこで、一側面では、同じネットワーク内のクライアント機器に代わって、外部ネットワークに配置されたサーバに対してパケット再送信の要求を可能にすることを目的とする。
一つの案では、中継プログラムは、ネットワークを介して接続される第1の情報処理装置から第1の通信方式で送信されたデータを受信し、受信した前記データを第2の通信方式で第2の情報処理装置に送信し、前記第1の情報処理装置との通信、または、前記第2の情報処理装置との通信におけるエラーを検出し、前記エラーを検出したときに、前記エラーに係るデータの再送信を前記第1の情報処理装置に要求する処理をコンピュータに実行させる。
一態様によれば、サブネットの内側のクライアント機器に代わって、サブネットの外側に配置されたサーバに対してパケット再送信の要求を可能にすることができる。
システム全体の構成を示す図 中継装置のハードウェア構成を示す図 中継アプリの機能ブロックを示す図 状態遷移テーブル(Table1)を示す図 状態遷移テーブル(Table2)を示す図 Table1の状態遷移を示す図 中継アプリの動作を説明するフローチャート ユーザ認証の画面を示す図 クライアントPCと配信イメージの選択画面を示す図 ENDパケット受信時のTable2の状態遷移を示す図 パケット受信時のTable2の状態遷移を示す図 配信サーバとの通信エラー時のTable2の状態遷移を示す図 クライアントPCとの通信エラー時のTable2の状態遷移を示す図 クライアントPCの動作を説明するフローチャート 配信サーバの動作を説明するフローチャート ネットワークの再接続画面を示す図
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本実施の形態におけるシステム全体の構成例を示す図である。
図1において、「第1の情報処理装置」としての配信システム1は、中継装置と、「第2の情報処理装置」としてのクライアントPC(Personal Computer)20と、配信サーバ30とを備える。中継装置10は、ネットワーク40を介して複数のクライアントPC(20a、20b、20c等)と接続されている。
中継装置10とクライアントPC20は、例えば図示しないルーターによって同一のセグメントに区切られた同一のサブネットに配置されている。したがって、中継装置10はクライアントPCに対してブロードキャスト送信が可能である。
中継装置10は、ネットワーク40、F/W(Firewall)50、さらにはネットワーク60を介して、配信サーバ30に接続される。F/W50は、ネットワーク40とネットワーク60との通信を監視して所定のIPパケットをブロックする。ネットワーク60は、ネットワーク40内に構築されるサブネットの外側にあるネットワークであり、例えばインターネットである。
クライアントPC20は配信サーバ30に記憶されたデータを送付するターゲットであり、クライアントPC20a、20b、20c等は、同一の機種であってもよいし、異なる機種であってもよい。
配信サーバ30は、ネットワーク60に接続されるサーバであり、記憶されたデータをネットワーク60を介して接続する他の装置に対して配信する。データの配信は、例えばクラウド上に構築されるSaaS(Software as a Service)型のサービスとして実施することができる。配信サーバ30には、例えばクライアントPC20のシステムイメージを記憶しておき、配信の要求に基づいてデータを送信する。
ここで、システムイメージとは、コンピュータの記憶部に記憶されコンピュータを動作させるためのソフトウエアの状態を表すデータである。システムイメージは、記憶部のプログラムやデータをイメージとして表したものである。例えば、記憶部に記憶されたプログラムやデータファイルをシステムイメージとして保存しておくことにより、保存されたシステムイメージからコンピュータの記憶部を保存したときの状態に復元することができる。
配信サーバ30に記憶されるシステムイメージは、復元するクライアントPC20のシステム全体であってもよいし、特定の記憶部に記憶されたデータであってもよい。また、特定のプログラムやデータのみであってもよい。また、クライアントPC20の初期状態におけるシステムイメージであってもよいし、クライアントPC20が使用された後の所定の時点でのシステムイメージであってもよい。
クライアントPC20a、20b、20c等がそれぞれ別の機種である場合は、配信サーバ30には機種毎のシステムイメージが記憶される。クライアントPC20の機種が多い場合には、システムイメージの記憶容量が膨大になる。したがって、配信サーバ30に機種毎のシステムイメージを保存しておくことにより、例えばサブネット毎に配置される中継装置10のすべてに機種毎のシステムイメージを保存するよりも合計の記憶容量が小さくなる。また、中継装置10の記憶容量を小さくすることができる。
さらに、配信サーバ30でシステムイメージを一元的に管理することにより、例えばクライアントPCの機種に変更があった場合やシステムイメージにバージョンアップがあった場合にシステムイメージの管理が容易になる。また、クライアントPC毎に送信履歴を残すこともできるため、クライアントPCのバージンアップ履歴等の管理が容易になる。
次に、中継装置10の詳細を図2から図16を用いて説明する。
図2は、本実施の形態における中継装置10のハードウェア構成例を示す図である。図2において、中継装置10は、CPU101、メモリ102、ハードディスク103、操作表示部104、ネットワーク制御部105、及びそれらが接続されるバス109を備える。
ハードディスク103に記憶されたプログラム及びデータは、メモリ102に読み出されて、CPU101によって実行される。中継装置10では、「中継プログラム」として中継アプリケーション(以下、「中継アプリ」と省略する。)がハードディスク103に記憶され、メモリ102に読み出されて、CPU101によって実行される。中継アプリの詳細は、図3等を用いて後述する。
操作表示部104は、例えば、タッチパネル、キーボード、マウス、ディスプレイ等であり、ユーザによって入力操作がされ、又ユーザに情報を表示する機能を有する。
ネットワーク制御部105は、ネットワーク40を介した通信の制御を行う。本実施形態においては、ネットワーク制御部105は、「第1の通信方式」と「第2の通信方式を制御する。
第1の通信方式は、トランスポート層でパケットの送受信制御を行う通信プロトコルである。第1の通信方式では、データの送受信前に通信相手とのセッションを確立して、送受信するデータを分割したパケットの制御を行う。パケットの制御としては、例えば、受信パケットが通信途中に喪失した場合には、送信側に対して、喪失したパケットのブロック番号を基に受信確認(ACK(acknowledgment))を応答して返信することにより、喪失パケットの再送を送信側に要求する。パケットの受信側においては、n番目のブロックのパケットが受信できなかった場合には、n−1番目のブロック番号のパケットに対応する受信確認を返信することにより、送信側はn番目のブロックのパケットの再送を行うことができる。第1の通信方式は、例えば、TCP(Transmission Control Protocol)である。
一方、第2の通信方式は、トランスポート層では分割されたIPパケットをハンドシェイク無しの無手順にて送受信する。第2の通信方式は、例えば、UDP(User Datagram Protocol)である。
本実施形態においてネットワーク制御部105は、例えばTFTP(Trivial File Transfer Protocol)を用いて通信の制御を行う。TFTPにおいては、第2の通信方式であるUDP上で送受信されるIPパケットに対してアプリケーション層にて受信確認を返信することができる。
ネットワークI/F105は、図1で説明した配信サーバ30との通信には、第1の通信方式であるTCPを使用する。これにより、ネットワーク60を経由した通信において信頼性の高いパケット通信を行うことができる。
一方、ネットワークI/F105は、クライアントPCとの通信には、第2の通信方式であるUDP上で動作するTFTPを使用する。
なお、OS(Operating System)がインストールされていないクライアントPCであっても、DHCP(Dynamic Host Configuration Protocol)Discoverが可能なBIOS(Basic Input/Output System)によって、所定のIPアドレスのサーバに記憶されているTFTPサーバのシステムイメージを取得することができる。クライアントPC20はTFTPサーバのシステムイメージを取得することにより、TFTPの通信が可能となる。なお、TFTPサーバのシステムイメージは、例えば中継装置10に記憶させておくことができる。
次に、中継プログラムの一例として、中継アプリの機能を、図3を用いて説明する。図3は、中継アプリ100の機能ブロックの一例を説明した図である。中継アプリ100は、図2で説明したメモリ102に読み出されて、CPU101によって実行される。
図3において、中継アプリ100は、データ受信部111、データ送信部112、エラー検出部113、受信確認送信部114、状態遷移管理部115、マジックパケット送信部116、およびTFTPサーバイメージ送信部117を備える。
データ受信部111は、ネットワーク40及びネットワーク60を介して接続された配信サーバ30から、例えばTCPを用いて、IPパケットに分割されたデータを受信する。TCPにおけるパケットは、図2のネットワーク制御部105によって制御されて、受信したデータはデータ受信部111に渡される。データ受信部111は、受信したデータをメモリ102に一時的に記憶する。
データ送信部112は、データ受信部111で受信したデータをメモリ102から読み出して、第2の通信方式であるUDP上で動作するTFTPを用いて、クライアントPC20に送信する。以下、第2の通信方式はTFTPも含むものとして説明する。
送信するデータは、データ受信部111で受信したデータの一部であっても全部であってもよい。データ受信部111で受信するデータがTCPによるIPパケットの場合、パケットサイズは送信側と受信側で設定されたMTU(Maximum Transmission Unit)の値によって決まる。例えば、MTUが1500の場合は、最大パケット長は1500バイトとなる。
一方、データ送信部112が送信するデータは、ネットワーク制御部105によって、新たにIPパケットに分割されて、TFTPにてクライアントPC20に送信される。TFTPでは、送信するファイルを512バイトで分割する。データ送信部112はメモリ102から読み出したデータを第2の通信方式に適したパケットサイズに分割して送信することとなる。
エラー検出部113は、第1の通信方式または第2の通信方式の通信のエラーを検出する。
第1の通信方式の通信エラーは、中継装置10と配信サーバ30との間の通信エラーである。例えば、第1の通信方式で配信サーバ30から受信したパケットに対する受信確認(ACK)を後述する受信確認送信部114が配信サーバ30に送信し、受信確認が配信サーバ30に届かずに喪失する場合、または、受信確認送信部114が送信した受信確認に対して、配信サーバ30が送信した次の順番のパケットデータが受信できない場合である。エラー検出部113は、いずれの場合においても、受信確認を配信サーバ30に送信してから所定時間以内に次の順番のパケットを受信できない場合第1の通信方式の通信エラーを検出する。
第2の通信方式の通信エラーは、中継装置10とクライアントPC20との間の通信エラーである。例えば、データ送信部112が第2の通信方式で送信したパケットがクライアントPC20に届かずに喪失した場合、また、パケットを受信したクライアントPCからの受信確認(ACK)が中継装置に届かずに喪失した場合である。エラー検出部113は、いずれの場合においても、データ送信部112がクライアントPC20にパケットを送信指定から、所定時間以内に受信確認を受信できない場合第2の通信方式の通信エラーを検出する。
受信確認送信部114は、送信部112が第2の通信方式でクライアントPC20に送信したデータに対する受信確認をクライアントPC20から受信したときに、第1のプロトコルで配信サーバ30に受信確認を送信する。
ここで、データ受信部111が第1のプロトコルで受信したn番目のパケットに含まれるデータをデータ送信部112がクライアントに送信した後にエラー検出部113が第2の通信方式の通信エラーを検出したときには、受信確認送信部114は、n番目のパケットの直前に受信した、n−1番目のパケットに対する受信確認を配信サーバ30に送信する。n−1番目のパケットの受信確認を受信した配信サーバ30は、n番目のパケットを中継装置10に再送する。
中継アプリ100は、再送されたn番目のパケットのデータを第2の通信方式でクライアントPC20に再送することにより、クライアントPC20に代わってネットワーク60を介して配信サーバ30との第1の通信方式によるn番目のパケットの再送要求を行うことができる。
一方、データ受信部111が第1の通信方式でn番目のパケットを受信し、受信確認送信部114が配信サーバ30にn番目のパケットに対する受信確認を送信し、その後にエラー検出部113が第1の通信方式の通信エラーを検出したとする。このとき、受信確認送信部114は、n番目のパケットに対する受信確認を再送信する。n番目のパケットの受信確認を受信した配信サーバ30は、n+1番目のパケットを中継装置10に再送する。
つまり、中継アプリ100は、クライアントPC20に代わって、第1の通信方式によるn+1番目のパケットの再送信要求を行うことができる。
中継アプリ100が、パケットデータの送受信を中継して、クライアントPC20に代わって配信サーバ30に対してパケットの再送信を要求することにより、中継装置10は記憶容量が大きいシステムイメージを内部に保存する必要がなくなる。なお、中継装置10は、パケットデータの中継時に一時的にパケットデータの保存を行うが、システムイメージ全部を保存する場合に比べて、必要な記憶容量を小さくすることができる。
状態遷移管理部115は、後述する状態遷移テーブルの管理を行う。状態遷移管理部115は、第1の通信方式による通信状態の遷移と第2の通信方式による通信状態の遷移を状態遷移テーブルに記録していく。受信確認送信部114は状態遷移テーブルを参照してパケットの再送要求を行う。
マジックパケット送信部116は、ネットワーク40に接続された同一サブネット内にあるクライアントPC20に対して、リモートで電源をONにするWOL(Wake On LAN)に使用するマジックパケットを送信する。マジックパケットは、WOLの対象となるクライアントPCのMACアドレスと、所定のWOLコードを含むパケットを、例えばUDPによってブロードキャストする。クライアントPCの図示しないネットワークI/F(Interface)は、自機のMACアドレスを監視して、クライアントPC20の図示しないBIOSがWOLコードに基づき自機の電源をONにする。
マジックパケットには、TFTPサーバのイメージを送信する、中継装置10のIPアドレスが記載されている。クライアントPC20のBIOSは、電源がONになった後にマジックパケットによって通知されたIPアドレスの中継装置に対してTFTPサーバイメージの送信を要求する。
TFTPサーバイメージ送信部117は、マジックパケット送信部116によってリモートで電源がONとなったクライアントPC20からの要求に対して、TFTPサーバのプログラムイメージを送信する。TFTPサーバのプログラムイメージを受信したクライアントPC20のBIOSは、受信したイメージを内部のメモリに記憶することによって、TFTPの通信が可能になる。したがって、例えばOSがインストールされていないクライアントPCであっても、TFTPの通信が可能となる。
本実施形態において中継アプリ100の各機能は、それぞれの機能ブロックをCPU101によって実行されるソフトウエアとして説明した。ただし、中継アプリ100の機能の一部を、ハードウェアやミドルウエアによって実装することもできる。
次に、中継装置10の状態遷移管理部115が管理する状態遷移テーブルの詳細を図4及び図5を用いて説明する。図4は、中継装置10の内部状態を管理する状態遷移テーブル(Table1)の一例を説明する図である。また、図5は、パケット送受信の状態を管理する状態遷移テーブル(Table2)の一例を説明する図である。
図4において、Table1は、中継装置10と配信サーバ30とのセッションが確立されて、クライアントPC20との間でTFTPの通信が可能となった時点でクライアントPC毎に作成される。Table1は、「Server IP」、「Target IP」、「Target MAC」、「Status」、及び「Session No」の状態情報を有する。
「Server IP」は、配信サーバ30のIPアドレスである。配信サーバ30のIPアドレスは、予め中継アプリに設定しておいてもよい。
「Target IP」は、ターゲットとなるクライアントPCのIPアドレスである。DHCP環境においては、クライアントPC20のBIOSは、WOLで電源がONされた後にDHCPサーバに対してIPアドレスを要求して、DHCPサーバからIPアドレスが通知される。クライアントPC20のBIOSは、TFTPサーバイメージの取得をする際に、自身のIPアドレスを中継装置に通知する。状態遷移管理部115は、通知されたクライアントPCのIPアドレスを「Target IP」に記録する。
「Target MAC」は、ターゲットとなるクライアントPC20のMACアドレスである。MACアドレスの設定は、操作表示部104からユーザが設定入力可能である。
「Status」は、中継アプリ100のステータスを表す。例えば、「ON」は中継アプリが起動状態であることを示す。「OFF」はアプリが起動していない、又は終了している状態を示す。また、「Pend」は、エラー検出部113によって通信プロトコルのエラーが検出されて通信が中断し、通信の再接続待ち状態であることを示す。
「Session No」は、配信サーバ30とのセッションが確立した場合の認識番号を示す。配信サーバ30は、ネットワーク60を経由して複数の中継装置と通信することができるため、配信サーバ30との通信にはセッション確立時に配信サーバ30から割り振られる識別番号が利用される。
図5において、Table2は、Table1の「Session No」の認識番号で表されるセッションに対応して、配信サーバ30から第1の通信方式で受信するそれぞれのパケットに対応してパケット毎に作成される。Table2は、「Block_No」、「Recv_SV」、「Send_TG」、「Recv_TG」、「Send_SV」、「End_Flag」、「RetryCount1」、及び「RetryCount2」の状態情報を有する。
「Block_No」は、第1の通信方式において分割されたパケットの順番を表すブロック番号である。パケットのブロック数は、送信されるデータのサイズとMTUの大きさによって変動する。
「Recv_SV」は、中継装置10が配信サーバ30からパケットデータを受信したことを示すフラグである。ONでパケット受信、OFFで未受信を示す。
「Send_TG」は、中継装置10がクライアントPC20に第2の通信方式によってデータを送信したことを示すフラグである。ONで送信済み、OFFで未送信を表す。
「Recv_TG」は、中継装置10がクライアントPCから第2の通信方式によるデータの受信確認(ACK)を受けたことを示すフラグである。ONで受信済み、OFFで未受信を表す。
「Send_SV」は、中継装置10が配信サーバ30へ第1の通信方式で受信確認(ACK)を送信したことを示すフラグである。ONで送信済み、OFFで未送信を表す。
「End_Flag」は、受信したパケットが、分割された最終パケットであることを示すフラグである。ONで最終パケット、OFFで最終パケット以外を表す。
「RetryCount1」は、配信サーバ30へ第1の通信方式で受信確認(ACK)を送信後、次のパケットを受信するまでのタイマ値であり、例えばインクリメントされる整数が入力される。
「RetryCount2」は、中継装置10がクライアントPC20に第2の通信方式でデータを送信後、クライアントPCから受信確認(ACK)を受信するまでのタイマ値であり、例えばインクリメントされる整数が入力される。
次に、図4で説明したTable1の中継アプリ100の状態による遷移を、図6を用いて説明する。図6は、Table1の状態遷移の一例を説明する図である。
図6において、(a)から(d)は、Table1の状態を示す。
(a)は、中継アプリ100が起動されたときのTable1の状態であり、初期状態を表している。「Server IP」、「Target IP」、「Target MAC」、「Status」、及び「Session No」の値は、それぞれ、「NULL」である。
(b)は、中継アプリ100が配信サーバ30と接続してセッションを確立した後のTable1の状態を示す。「Server IP」には、配信サーバ30のIPアドレス「10.50.x.x」が入り、「Target IP」及び「Target MAC」には、クライアントPC20のIPアドレスとMACアドレス「192.168.x.x」及び「aa.bb.cc.dd」が入る。「Status」はアプリが起動しているためONとなり、「*Session No」は、「1」が入力される。
(b)はクライアントPC20の数nに対してそれぞれ作成される。(a)はTable1の「型」であるとすれば、(b)は、(a)と1:nの関係を有する「実態」を表している。
(c)は、例えば配信サーバ30との接続が中断して第1の通信方式による通信がエラーとなった場合のTable1の状態を示す。(c)では(b)の状態から「Status」が「Pend」に変わる。
(d)は、クライアントPC20にデータ転送が完了した状態を示す。「Target IP」が「NULL」となり、「Status」が「OFF」になる。但し、配信サーバ30との通信は切れておらずセッションは確立したままなので「Session No」の値はそのままとなる。
中継アプリ100が終了するとTable1は消滅する。
次に、中継アプリ100の動作の詳細を、図7を用いて説明する。図7は、中継アプリ100の動作の一例を説明するフローチャートである。
図7において、中継アプリ100は、ターゲットとなるクライアントPCと、第2の通信方式であるTFTPで接続する(S11)。TFTPはトランスポート層ではUDPが使用される。
次に、配信サーバ30と第1の通信方式であるTCPで接続する(S12)。TCPの上の階層で動作する通信プロトコルは、例えばHTTPが使用される。配信サーバ30とのセッションが確立された場合には、例えばSSL(Secure Sockets Layer)で通信を暗号化してもよい。また、配信サーバ30側にSSL−VPN(Virtual Private Network)機能を有している場合には、中継装置10側でSSLに対応可能であればSSL−VPN通信を行ってシステムイメージの送受信を行ってもよい。
次に、配信サーバ30に対するユーザ認証と、ターゲットであるクライアントPCに送信するデータの選択を行う(S13)。配信サーバ30は、中継装置10に対してWebが面によるユーザ認証のUI(User Interface)を提供する。
図8は、中継装置10の操作表示部104に表示されるユーザ認証の画面の一例を示す図である。図8において、配信サーバ30は、システムイメージを配信するサービスのログイン画面を表示するWebページを提供する。ログイン画面では、ユーザIDとパスワードが入力される。
図9は、中継アプリ100が提供するクライアントPCと配信イメージの選択画面の一例を示す図である。図9において、ユーザは、クライアントPCのMACアドレスと配信する配信イメージの選択を行う。配信イメージの選択は、リストボックスによって行う。配信イメージの情報は、接続した配信サーバ30から送信される。
ユーザが「新規」のボタンを押すことにより、Table1は図6(b)で説明した状態となる。本実施形態では、選択できる配信イメージとして、クライアントPC20を復元する、システムイメージを選択できるようにしている。但し、配信イメージは、他のデータであってもよい。
図7に戻り、中継アプリ100は、配信サーバ30からパケットデータを受信すると(S14)、受信したパケットがENDパケットであるか否かを判断する(S17)。なお、受信したパケットがENDパケットであるか否かは、パケットのヘッダの「フラグ」フィールをチェックすることにより行うことができる。受信したパケットがENDパケットであった場合(S15でYES)、図5で説明した「End_Flag」をONにする。
受信したパケットがENDパケットであった場合のTable2の遷移を、図10と合わせて説明する。図10は、ENDパケット受信時のTable2の状態遷移の一例を示す図である。
図10において、(a)は、図5で説明したTable2の初期状態であり、それぞれの状態には、「OFF」又は「NULL」が入力されている。(b)はステップS15でYESの場合のTable2の状態を示す。(b)において、「Block_No」は「1」、「Recv_SV」は「ON」、また「End_Flag」は「ON」になる。
図7に戻り、受信したパケットがENDパケットでない場合(S15でNO)、「End_Flag」は「OFF」のままである。
受信したパケットがENDパケットでない場合、つまり次のパケットが存在する場合のTable2の遷移を、図11と合わせて説明する。図11は、ENDパケット受信時のTable2の状態遷移の一例を示す図である。
図10において、(a)は、図5で説明したTable2の初期状態であり、それぞれの状態には、「OFF」又は「NULL」が入力されている。
(b)はステップS15でYESの場合のTable2の状態を示す。(b)において、「Block_No」は「1」、「Recv_SV」は「ON」となるが、「End_Flag」は「OFF」のままである。
図7に戻り、タイマ1がONの場合(S17でYES)、タイマ1をOFFしすることにより、タイマ1をリセットする(S18)。ここで、タイマ1は、配信サーバ30との通信エラーを検出するためのタイマであり、タイマ1がONの場合は、図5で説明したTable2の「RetryCount1」でカウントがされる。
次に、パケットデータをターゲットのクライアントPC20に送信して(S19)、タイマ2をONにする。パケットデータをターゲットのクライアントPC20に送信にすると、Table2は、図10及び図11の(c)の状態に遷移する。(c)では、「Send_TG」の状態がONでなる。
次に、タイマ2が所定の閾値を超えたか否かを判断する(S21)。タイマ2が閾値を超えていない場合(S21でNO)、ターゲットのクライアントPCから受信確認のACKを受信したか否かを判断し(S22)、タイマ2が閾値超えるか、ACKを受信するまでフローチャートはループする。
ターゲットからACKを受信すると(S22でYES)、タイマ2をOFFにする(S23)。ACKを受信すると、Table2は、図10の(d)の状態に遷移して、「Recv_TG」の状態がONになる。
次に配信サーバ30に対してACKを送信する(S24)。ACKの送信にて、Table2は、図10の(e)の状態に遷移して、「Send_SV」の状態がONになる。
次に、ステップS16で操作した「End_Flag」がONか否かを判断する(S25)。「End_Flag」がONで無い場合(S25でNO)、タイマ1をONにする。つまり、次のパケットが存在する場合にタイマ1による計時を開始する。
次に、タイマ1が所定の閾値を超えたか否かを判断する(S29)。タイマ1が所定の閾値を超えていない場合は(S29でNO)、配信サーバ30からのデータを受信したかを判断し(S30)、タイマ1が所定の閾値を超えるか(S29でYES)、配信サーバ30からのデータを受信するまでフローチャートがループする。配信サーバ30からのデータを受信すると(S30でYES)、ステップS14に戻り、次のパケットデータについての処理を行う。
タイマ1が所定の閾値を超えた場合(S29でYES)、「RetryCount1」を1インクリメントして(S31)、Table2の「Block_No」に記載されたパケットの受信確認を配信サーバ30に再送する。
タイマ1が所定の閾値を超えた場合の(S29でYES)、Table2の状態遷移を、図12を用いて説明する。図12は、配信サーバ30との通信エラー発生時のTable2の状態遷移の一例を示す図である。
図12において、(a)〜(e)の状態は、図11で説明した(a)〜(e)の状態に準ずる。但し、図12では、「Block_No」として、「n+i」が入力されているものとする。nはn番目のパケットを表し、iはパケットの番号を1インクリメントする変数である。(e)の状態において、図7のステップ30で配信サーバ30から、次のパケットデータを受信した場合(S30でYES)、iはi+1にインクリメントして、状態(b)に遷移する。
一方、タイマ1が所定の閾値を超えた場合の(S29でYES)、(f)の状態に遷移して、上述の通り「RetryCount1」を1インクリメントして(S31)、n+i番目のパケットに対する受信確認を配信サーバ30に再送する。
図7に戻り、ステップ21でタイマ2が所定の閾値を超えた場合(S21でYES)、「RetryCount2」を1インクリメントして(S27)、配信サーバ30に一つ前のブロックのパケットに対する受信確認を再送する(S28)。ステップ21でタイマ2が所定の閾値を超えた場合におけるTable2の状態遷移を、図13を用いて説明する。図13は、PCとの通信エラー時のTable2の状態遷移の一例を示す図である。
図13において、(a)〜(c)の状態は、図11で説明した(a)〜(c)の状態に準ずる。但し、図13では、「Block_No」として、「n+1」が入力されているものとする。タイマ1が所定の閾値を超えた場合、状態(c)から状態(d)に遷移する。「RetryCount2」には1がインクリメントされて入力される。配信サーバ30には、「Block_No」がn+1の一つ前のブロックである、「Block_No」がnのブロックに対する受信確認を再送する。
図7に戻り、ステップS25で、「End_Flag」がONの場合(S25でYES)、次のパケットは存在しないため、配信サーバ30との接続を切断する(S33)。さらにターゲットであるクライアントPC20との接続を切断して(S34)、図7のフローチャートで説明する動作を終了する。
次に、ターゲットとなるクライアントPC20の動作を、図14を用いて説明する。図14は、クライアントPCの動作の一例を説明するフローチャートである。
図14において、クライアントPC20は、中継装置10と接続する(S41)。本実施形態においては、中継装置10がターゲットとなるクライアントPCに対してMACアドレスを指定してマジックパケットをブロードキャストして、TFTPサーバのシステムイメージを送信し、TFTPによる通信を可能とする。
次に、中継装置10は、システムイメージを取得するためのIPアドレスを通知して、クライアントPC20は取得したIPアドレスに対してTFTPによるシステムイメージの送信をリクエストする(S42)。中継装置10からパケットデータを受信すると(S43)、受信したデータをディスクに書き込み(S44)、中継装置10に対して受信確認のACKを送信する(S45)。
クライアントPC20は、受信したパケットがENDパケットか否かを判断して(S46)、ENDパケットで無ければ(S46でNO)、ステップS43〜S45を繰り返す。一方、ENDパケットであれば(S46でYES)、中継装置10との通信を切断し(S47)、図14のフローチャートで説明する動作を終了する。
次に、配信サーバ30の動作を、図15を用いて説明する。図15は、配信サーバ30の動作の一例を説明するフローチャートである。
図15において、中継装置10は、配信サーバ30のIPアドレス又はURL(Uniform Resource Locator)を指定して配信サーバ30に接続する(S51)。
次に、配信サーバ30は、中継装置10に対して配信サーバ30のWebサーバによって図8で説明した認証用のWebページを提供し、また、図9で説明した送信するシステムイメージの選択用のWebページを提供する(S52)。
配信サーバ30は、システムイメージのパケットデータを中継装置10に送信し(S53)、中継装置10から受信確認のACKを受信する(S54)。
配信サーバ30は、データを分割したパケットで次に送信すべきパケットがあるか否かを判断し(S55)、送信すべきパケットがある場合は(S55でNO)、ステップS53〜S54を繰り返す。一方、送信すべきパケットが無くなれば(S55でYES)、中継装置10との通信を切断し(S56)、図15のフローチャートで説明する動作を終了する。
なお、配信サーバ30は、通信エラーで送信すべきパケットが残ってしまった場合、ステップS52で中継装置10に対して処理再開のWebページを提供する。図16は、配信サーバ30のWebサーバが提供する、ネットワークの再接続画面の一例を示す図である。
図16において、再接続の画面には、ターゲットのクライアントPCのMACアドレスの入力部と配信するイメージを選択するリストボックスを有する。ユーザによって「再開」ボタンが押されたときには、配信サーバ30が受信確認を受け取っていないパケットについてのデータから送信が再開される。一方、「新規」ボタンが押されたときには、配信イメージを最初から送信する。
本実施形態においては、配信サーバ30が未送信のパケットの情報を管理してもよい。また、中継装置の状態遷移テーブルの情報を基に中継装置10が配信サーバ30に対して送信を再開すべきパケットを指定してもよい。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
以上の説明に関し、更に以下の項を開示する。
(付記1)
ネットワークを介して接続される第1の情報処理装置から第1の通信方式で送信されたデータを受信し、
受信した前記データを第2の通信方式で第2の情報処理装置に送信し、
前記第1の情報処理装置との通信、または、前記第2の情報処理装置との通信におけるエラーを検出し、
前記エラーを検出したときに、前記エラーに係るデータの再送信を前記第1の情報処理装置に要求する処理をコンピュータに実行させる中継プログラム。
(付記2)
前記第1の情報処理装置から受信したn番目のパケットに含まれるデータを前記第2の情報処理装置に送信した後に前記第2の情報処理装置との通信におけるエラーを検出したときに、前記n番目のパケットの直前に受信したパケットに係るデータの再送信を前記第1の情報処理装置に要求する処理をコンピュータに実行させる、付記1に記載の中継プログラム。
(付記3)
受信した前記n番目のパケットに対する受信確認を前記第1の情報処理装置に送信した後に前記第1の情報処理装置との通信におけるエラーを検出したときに、前記n番目のパケットに係るデータの再送信を前記第1の情報処理装置に要求する処理をコンピュータに実行させる、付記1又は2に記載の中継プログラム。
(付記4)
前記第2の情報処理装置を起動するパケットを前記第2の通信方式でブロードキャストする処理をコンピュータに実行させる、付記1乃至3のいずれか一に記載の中継プログラム。
(付記5)
ネットワークを介して接続される第1の情報処理装置から第1の通信方式で送信されたデータを受信するデータ受信部と、
前記データ受信部で受信したデータを第2の通信方式で第2の情報処理装置に送信するデータ送信部と、
前記第1の情報処理装置との通信、または、前記第2の情報処理装置との通信におけるエラーを検出するエラー検出部と、
前記エラー検出部がエラーを検出したときに、前記エラーに係るデータの再送信を前記第1の情報処理装置に要求する受信確認送信部と
を備える中継装置。
(付記6)
前記受信確認送信部は、前記データ受信部が受信したn番目のパケットに含まれるデータを前記データ送信部が前記第2の情報処理装置に送信した後に前記エラー検出部が前記第2の情報処理装置との通信におけるエラーを検出したときに、前記n番目のパケットの直前に受信したパケットに係るデータの再送信を前記第1の情報処理装置に要求する、付記5に記載の中継装置。
(付記7)
前記受信確認送信部は、前記データ受信部が受信したn番目のパケットに対する受信確認を前記第1の情報処理装置に送信した後に前記エラー検出部が前記第1の情報処理装置との通信におけるエラーを検出したときには、前記n番目のパケットに係るデータの再送信を前記第1の情報処理装置に要求する、付記5又は6に記載の中継装置。
(付記8)
前記データ送信部は、前記第2の情報処理装置を起動するパケットを前記第2の通信方式でブロードキャストする、付記5乃至7のいずれか一に記載の中継装置。
(付記9)
ネットワークを介して接続される第1の情報処理装置から第1の通信方式で送信されたデータを受信し、
受信した前記データを第2の通信方式で第2の情報処理装置に送信し、
前記第1の情報処理装置との通信、または、前記第2の情報処理装置との通信におけるエラーを検出し、
前記エラーを検出したときに、前記エラーに係るデータの再送信を前記第1の情報処理装置に送信する処理をコンピュータが実行する中継方法。
(付記10)
受信したn番目のパケットに含まれるデータを第2の情報処理装置に送信した後に前記第2の情報処理装置との通信におけるエラーを検出したときには、前記n番目のパケットの直前に受信したパケットに係るデータの再送信を前記第1の情報処理装置に要求する処理をコンピュータが実行する、付記9に記載の中継方法。
(付記11)
受信した前記n番目のパケットに対する受信確認を前記第1の情報処理装置に送信した後に前記第1の情報処理装置との通信におけるエラーを検出したときには、前記n番目のパケットに係るデータの再送信を前記第1の情報処理装置に要求する処理をコンピュータが実行する、付記9又は10に記載の中継方法。
(付記12)
前記第2の情報処理装置を起動するパケットを前記第2の通信方式でブロードキャストする処理をコンピュータが実行する、付記9乃至11のいずれか一に記載の中継方法。
1 配信システム
10 中継装置
101 CPU
102 メモリ
103 ハードディスク
104 操作表示部
105 ネットワーク制御部
109 バス
100 配信アプリ
111 データ受信部
112 データ送信部
113 エラー検出部
114 受信確認送信部
115 状態遷移管理部
116 マジックパケット送信部
117 TFTPサーバイメージ送信部
20 クライアントPC
30 配信サーバ
40、60 ネットワーク
50 F/W

Claims (6)

  1. ネットワークを介して接続される第1の情報処理装置から第1の通信方式で送信されたデータを受信し、
    受信した前記データを第2の通信方式で第2の情報処理装置に送信し、
    前記第1の情報処理装置との通信、または、前記第2の情報処理装置との通信におけるエラーを検出し、
    前記エラーを検出したときに、前記エラーに係るデータの再送信を前記第1の情報処理装置に要求する処理をコンピュータに実行させる中継プログラム。
  2. 前記第1の情報処理装置から受信したn番目のパケットに含まれるデータを前記第2の情報処理装置に送信した後に前記第2の情報処理装置との通信におけるエラーを検出したときに、前記n番目のパケットの直前に受信したパケットに係るデータの再送信を前記第1の情報処理装置に要求する処理をコンピュータに実行させる、請求項1に記載の中継プログラム。
  3. 受信した前記n番目のパケットに対する受信確認を前記第1の情報処理装置に送信した後に前記第1の情報処理装置との通信におけるエラーを検出したときに、前記n番目のパケットに係るデータの再送信を前記第1の情報処理装置に要求する処理をコンピュータに実行させる、請求項1又は2に記載の中継プログラム。
  4. 前記第2の情報処理装置を起動するパケットを前記第2の通信方式でブロードキャストする処理をコンピュータに実行させる、請求項1乃至3のいずれか一項に記載の中継プログラム。
  5. ネットワークを介して接続される第1の情報処理装置から第1の通信方式で送信されたデータを受信するデータ受信部と、
    前記データ受信部で受信したデータを第2の通信方式で第2の情報処理装置に送信するデータ送信部と、
    前記第1の情報処理装置との通信、または、前記第2の情報処理装置との通信におけるエラーを検出するエラー検出部と、
    前記エラー検出部がエラーを検出したときに、前記エラーに係るデータの再送信を前記第1の情報処理装置に要求する受信確認送信部と
    を備える中継装置。
  6. ネットワークを介して接続される第1の情報処理装置から第1の通信方式で送信されたデータを受信し、
    受信した前記データを第2の通信方式で第2の情報処理装置に送信し、
    前記第1の情報処理装置との通信、または、前記第2の情報処理装置との通信におけるエラーを検出し、
    前記エラーを検出したときに、前記エラーに係るデータの再送信を前記第1の情報処理装置に送信する処理をコンピュータが実行する中継方法。
JP2013175887A 2013-08-27 2013-08-27 中継プログラム、中継装置、及び中継方法 Active JP6213059B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013175887A JP6213059B2 (ja) 2013-08-27 2013-08-27 中継プログラム、中継装置、及び中継方法
US14/330,088 US9455803B2 (en) 2013-08-27 2014-07-14 Relay device and relay method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013175887A JP6213059B2 (ja) 2013-08-27 2013-08-27 中継プログラム、中継装置、及び中継方法

Publications (2)

Publication Number Publication Date
JP2015046706A true JP2015046706A (ja) 2015-03-12
JP6213059B2 JP6213059B2 (ja) 2017-10-18

Family

ID=52585015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013175887A Active JP6213059B2 (ja) 2013-08-27 2013-08-27 中継プログラム、中継装置、及び中継方法

Country Status (2)

Country Link
US (1) US9455803B2 (ja)
JP (1) JP6213059B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018113630A (ja) * 2017-01-13 2018-07-19 富士ゼロックス株式会社 中継装置、エラー情報管理システムおよびプログラム
JP7339037B2 (ja) * 2019-07-10 2023-09-05 ファナック株式会社 制御装置、診断方法及び診断プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000036851A (ja) * 1999-06-22 2000-02-02 Nec Corp デ―タ通信方法及び中継装置
JP2004241872A (ja) * 2003-02-04 2004-08-26 Hitachi Ltd 情報通信方法および中継装置
JP2005136684A (ja) * 2003-10-30 2005-05-26 Nippon Telegr & Teleph Corp <Ntt> データ転送方法とtcpプロキシ装置およびそれを用いたネットワークシステム
JP2009105749A (ja) * 2007-10-24 2009-05-14 Fujitsu Ten Ltd 移動体通信装置及び移動体通信方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001339434A (ja) 2000-05-29 2001-12-07 Ishikawajima Harima Heavy Ind Co Ltd データ通信方法
JP2002297559A (ja) 2001-03-30 2002-10-11 Sony Corp データ処理方法、データ処理装置および記録媒体
JP2003046977A (ja) * 2001-07-31 2003-02-14 Matsushita Electric Ind Co Ltd 中継サーバ
JP2005073236A (ja) * 2003-08-06 2005-03-17 Matsushita Electric Ind Co Ltd 中継サーバ、中継サーバのサービス管理方法、サービス提供システム、およびプログラム
GB0402774D0 (en) * 2004-02-09 2004-03-10 Nokia Corp Multimedia message transfer
US8184641B2 (en) * 2005-07-20 2012-05-22 Verizon Business Global Llc Method and system for providing secure communications between proxy servers in support of interdomain traversal
JP5857684B2 (ja) * 2011-11-30 2016-02-10 ブラザー工業株式会社 通信装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000036851A (ja) * 1999-06-22 2000-02-02 Nec Corp デ―タ通信方法及び中継装置
JP2004241872A (ja) * 2003-02-04 2004-08-26 Hitachi Ltd 情報通信方法および中継装置
JP2005136684A (ja) * 2003-10-30 2005-05-26 Nippon Telegr & Teleph Corp <Ntt> データ転送方法とtcpプロキシ装置およびそれを用いたネットワークシステム
JP2009105749A (ja) * 2007-10-24 2009-05-14 Fujitsu Ten Ltd 移動体通信装置及び移動体通信方法

Also Published As

Publication number Publication date
JP6213059B2 (ja) 2017-10-18
US9455803B2 (en) 2016-09-27
US20150067434A1 (en) 2015-03-05

Similar Documents

Publication Publication Date Title
US20180375785A1 (en) Method for providing a connection of a client to an unmanaged service in a client-server remote access system
US8756311B2 (en) Shared heartbeat service for managed devices
US8543692B2 (en) Network system
US20030061333A1 (en) System and method for universal networked device management
KR102312994B1 (ko) 홈 네트워크 서비스를 제공하기 위한 장치 및 그 방법
JP5976210B2 (ja) 監視システム、設備管理装置、監視方法及びプログラム
CN102821161A (zh) 一种网络安全审计方法、装置及系统
WO2015078341A1 (zh) 应用程序远程更新的方法和装置
CN102763373A (zh) 基于远程访问使用本地网络装置的服务的方法和设备
JP2019032686A (ja) 管理装置、管理装置の制御方法、及びプログラム
JP6429559B2 (ja) 通信装置、通信システム、情報処理方法及びプログラム
JP6213059B2 (ja) 中継プログラム、中継装置、及び中継方法
WO2012173899A2 (en) Remotely retrieving information from consumer devices
US8521911B2 (en) Apparatus, system and method for executing discovery in network
US9213804B2 (en) Securing displayed information
US9923810B1 (en) Application update using multiple disparate networks
KR101251099B1 (ko) 원격 접속 과정 모니터링 방법 및 원격 접속 모니터링 시스템
JP6219005B1 (ja) 中継システム
JP5832246B2 (ja) 通信システム、通信装置、通信方法及びコンピュータプログラム
JP6314696B2 (ja) ネットワークシステム、ネットワークシステムにおけるアドレスの通知方法、情報処理装置、および、装置
JP6942042B2 (ja) 仮想サーバリモート接続システムおよび仮想サーバリモート接続方法
JP2011221864A (ja) 情報処理システム及び情報処理方法
JP2023057210A (ja) 情報処理装置,情報処理方法および情報処理プログラム
CN115174341A (zh) 一种智慧社区中设备的升级方法、装置以及设备
JP2008107976A (ja) ネットワーク環境監視システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170328

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170425

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170904

R150 Certificate of patent or registration of utility model

Ref document number: 6213059

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150