説明

処理端末および処理方法

【課題】サーバーと接続される複数の処理端末における再接続をサーバーの負荷を分散しながら早期に確立する。
【解決手段】サーバーと接続を確立して通信する通信手段と,前記通信によって前記サーバーから取得する情報に基づいて所定の処理を実行する処理手段と,前記接続の切断を検知する切断検知手段と,前記接続の切断が検知された場合,試行する間隔の期待値が所定の一定値となる条件を満たしたランダムな第一タイミングにおいて前記サーバーとの再接続を繰り返し試行する再接続手段と,を備える処理端末。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,処理端末および処理方法に関し,特にクラウドコンピューティングシステムにおいてユーザーからサーバー経由で取得したリクエストを即時に実行するための技術に関する。
【背景技術】
【0002】
従来,電子メールの送信によって特定のプリンターに印刷させるためのサービスを提供するクラウドコンピューティングシステムが知られている(例えば特許文献1)。このクラウドコンピューティングシステムは,特定の電子メールを受信すると電子メールに基づいて特定のプリンターに対応した印刷データを生成するサーバーを備え,サーバーに登録されている特定のプリンターはサーバーから印刷データを取得して印刷を実行する。したがって利用者は,PC(Personal Computer),スマートフォン等のクライアント端末にプリンタードライバーがインストールされていない場合であっても,サーバーに登録されているプリンターを利用することが可能になる。このシステムにおいては,特定の電子メールアドレスと対応付けられたプリンターの登録処理がサーバーにおいてなされると,当該電子メールアドレスを知っている任意のユーザーが当該プリンターを利用可能になる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−71257号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし,POPを用いてプリンターがサーバーから印刷データを取得して実行する場合,サーバーに存在する印刷データをプリンターがポーリングしなければならないため,即時性とネットワークトラフィックやサーバー負荷の低減を両立させることが困難である。そこで,上述のシステムでは,プッシュ型のプロトコルを用いた常時接続を維持し,ユーザーからの印刷データを即座にプリンターが受信できるようにすることが好ましい。このようなプッシュ型のプロトコルとしてはXMPPやSIPが周知であるが,これらのプロトコルに従って常時接続を確立したとしても,ルーターやファイヤウォールやプロキシサーバーによって接続が切断されたり,サーバーの不具合によって接続が切断される場合がある。一般に,接続が切断された場合には,自動的に再接続が試行されるが,再接続の試行が集中することによってサーバーの負荷が過大となる恐れがある。そして,再接続の試行が集中することによってサーバーがダウンすると,その後の再接続の試行も集中することになって再接続が失敗し続ける事態が発生するという問題がある。これは、常時接続や印刷の場合に限られない。
本発明は,この問題を解決するために創作されたもので,サーバーと接続される複数の処理端末における再接続をサーバーの負荷を分散しながら早期に確立することを目的とする。
【課題を解決するための手段】
【0005】
(1)上記目的を達成するための処理端末は,サーバーと接続を確立して通信する通信手段と,前記通信によって前記サーバーから取得する情報に基づいて所定の処理を実行する処理手段と,前記接続の切断を検知する切断検知手段と,前記接続の切断が検知された場合,試行する間隔の期待値が所定の一定値となる条件を満たしたランダムな第一タイミングにおいて前記サーバーとの再接続を繰り返し試行する再接続手段と,を備える。
【0006】
本発明によると,サーバーとの接続が切断された場合には,その切断が検知され,第一タイミングにおいて再接続が繰り返し試行される。再接続が試行される第一タイミングは,第一タイミングの間隔(試行間隔)の期待値を所定の一定値に設定した上でランダムに設定される。したがって,処理端末毎にこのように設定される第一タイミングは分散することになるが,第一タイミングの間隔の平均値は予め定められた所定の一定値となる。すなわち,処理端末毎にみれば,一定時間内に再接続が試行される回数が保証されており,かつ,複数の処理端末を見れば,再接続を試行するタイミングが分散することになる。したがって,接続が切断された後に再接続が可能な状態に遷移してから、サーバーの負荷を分散しながら期待値の時間内に、複数の処理端末とサーバーとの再接続が確立されることを期待できる。なお,ランダムな第一タイミングは一様乱数を用いて設定されることが好ましい。また、ランダムな第一タイミングにおいて試行する再接続の間隔の期待値は、厳密な意味で一定値でなくともよく、誤差があってもよいし、設計上許容できる範囲の幅においてばらつきがあってもよい。
【0007】
(2)上記目的を達成するための処理端末において,前記再接続手段は,前記所定の一定値と長さが等しい期間毎にランダムなタイミングで到来する前記第一タイミングにおいて前記サーバーとの再接続を試行してもよい。
この場合,各処理端末においては,一定の間隔毎に1回の再試行が確実に実行されることになる。すなわち,複数の処理端末の試行機会がより一層平準化されることになる。なお、ランダムな第一タイミングにおいて試行する再接続の間隔の期待値が一定になる範囲であれば、再接続が各1回試行される期間と期間の間に、例えば交互に1秒と2秒の空白期間を挿入するなど、長さが一定でない短い期間を挿入しても良い。
【0008】
(3)上記目的を達成するための処理端末において,前記再接続手段は,試行する間隔の期待値が所定の一定値となる条件を満たしたランダムな長さの間隔で到来する前記第一タイミングにおいて前記サーバーとの再接続を試行してもよい。
この場合,第一タイミングの間隔自体がランダムなので,各処理端末における一定の間隔毎の再試行回数は一致しないものの,第一タイミングの間隔の期待値が所定の一定値であるため,各処理端末において再接続の試行が繰り返されると,複数の処理端末の試行機会が平準化されることになる。
【0009】
(4)上記目的を達成するための処理端末において,前記再接続手段は,前記接続の切断が検知された後,最初の前記第一タイミングが到来する前の所定の第二タイミングにおいて,前記サーバーとの再接続を試行してもよい。
この場合,切断から短期間の内に接続が可能な状態に遷移していれば,最初の第一タイミングが到来する前に接続を再確立することが可能となる。なお,サーバーの障害によって接続が切断されており,かつ,第二タイミングの到来前にサーバーが復旧していれば,第二タイミングにおいてはサーバーに再接続の試行が集中することになるが,障害発生から一定時間経過まではサーバーを起動しない運用を定めておけば,第二タイミングにおけるサーバーの負荷集中によって再度障害が発生することはない。そして,サーバー以外の障害によって接続が切断された場合には,再接続を試行する処理端末の台数が限定されるため,サーバーへの再接続の試行が集中することもない。
【0010】
(5)上記目的を達成するための処理端末において,前記再接続手段は,前記サーバーから取得する接続制御情報に基づいて前記所定の一定値を設定してもよい。
サーバーに接続される処理端末の台数に応じて,再接続の試行によるサーバーへの負荷集中の程度が決まる。したがって,接続され得る処理端末の台数に応じた第一タイミングの間隔の期待値を決める接続制御情報をサーバーに登録しておき,処理端末がサーバーから取得する接続制御情報に基づいて第一タイミングを設定すれば,第一タイミングの間隔を最適化することができる。なお,接続制御情報は,再接続の試行間隔の期待値を一義的に設定し得る情報であればどのような情報であっても良く,例えば,処理端末の出荷台数や,処理端末のサーバーへの登録台数や,処理端末のサーバーへの実際の接続台数等を接続制御情報として設定し得る。
【0011】
なお,請求項に記載された各手段の機能は,構成自体で機能が特定されるハードウェア資源,プログラムにより機能が特定されるハードウェア資源,又はそれらの組み合わせにより実現される。また,これら各手段の機能は,各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。例えば,請求項に記載されたサーバーとは,1台のコンピューターで実現されているものに限られず,各手段をそれぞれ分担する複数のコンピューターの組み合わせによる群としてサーバーを実現しても良い。さらに,本発明は方法としても,上記した機能をコンピュータに実現させるコンピュータープログラムとしても,そのプログラムの記録媒体としても成立する。むろん,そのコンピュータプログラムの記録媒体は,磁気記録媒体であってもよいし光磁気記録媒体であってもよいし,今後開発されるいかなる記録媒体であってもよい。
【図面の簡単な説明】
【0012】
【図1】図1は処理端末としてのプリンターを含む印刷システム全体を示すブロック図である。
【図2】処理方法を示すフローチャートである。
【図3】処理方法を示すタイミングチャートである。
【図4】処理方法を示すフローチャートである。
【図5】処理方法を示すタイミングチャートである。
【発明を実施するための形態】
【0013】
以下,本発明の実施の形態を添付図面を参照しながら説明する。尚,各図において対応する構成要素には同一の符号が付され,重複する説明は省略される。
1.構成
【0014】
本発明にかかる処理端末の一実施例としてのプリンター3a,3b,3c,3dを含む印刷システム全体の構成を図1に示す。図1に示す印刷システムは,サーバー2に登録されたプリンター3a,3b,3c,3dのいずれかに対応付けられた電子メールアドレスを宛先とする電子メールを任意の通信端末1から送信すると,宛先の電子メールアドレスに対応付けられたプリンター3a,3b,3c,3dのいずれかにおいて電子メールの添付ファイルや本文が印刷される機能を実現する。サーバー2は1以上のコンピューターによって構成され,サーバー2,プリンター3a,3b,3c,3d,通信端末1はインターネット4に接続される。なお,プリンター3a,3b,3c,3dの構成は発明を理解する上において実質的に同一であるため,図1においてはプリンター3a,3b,3c,3dの構成は省略されている。また,以下の説明では特に必要がない限り,プリンター3a,3b,3c,3dを区別することなく,プリンター3と表記する。
【0015】
プリンター3は,サーバー2との常時接続によってサーバー2から取得する要求に基づいて印刷を実行する機能を有する。したがってプリンター3は,CPU31,ROM32,RAM33,印刷部35等の通常のプリンターの構成要素に加えて,インターネット4を介してメッセージを送受信するための通信部34を備えている。通信部34はインターネット4からLANを経由して受信する信号をプロトコルに従って変換して内部バスに送出し,内部バスから取り込んだ信号をプロトコルに従って変換してLANを経由してインターネットに送出する。ROM32にはRAM33に読み込まれCPU31によって実行される種々のコンピュータープログラムが記憶されている。これらのコンピュータープログラムをCPU31が実行することによって,プリンター3の各種の機能が実現される。
【0016】
OS331は,接続制御モジュール332,サーバーインターフェースモジュール333,印刷制御モジュール334等の各種のアプリケーションプログラムと協働してプリンター3のハードウェアを制御するとともに,TCP/IP,HTTP,XMPP等のプロトコルに従ってサーバー2との通信を制御する機能を実現する。したがってOS331は,CPU31および通信部34を通信手段として機能させるコンピュータープログラムである。なお,プリンター3がTCP/IP,HTTP,XMPP等のプロトコルに従ってサーバー2と通信するためのアカウント情報は予めプリンター3とサーバー2とにそれぞれ設定されている。
【0017】
接続制御モジュール332は,XMPPに従ってサーバー2との常時接続を確立して維持する機能を実現する。また接続制御モジュール332は,XMPPに従ったサーバー2との常時接続の切断を検知し,切断が検知された場合には,予めサーバー2から取得した接続制御情報に基づいて設定するランダムな第一タイミングにおいてXMPPに従ったサーバー2との常時接続の再接続を繰り返し試行する機能を実現する。したがって,接続制御モジュール332は,CPU31を接続検知手段および再接続手段として機能させるコンピュータープログラムである。
【0018】
サーバーインターフェースモジュール333は,HTTP,XMPP等のプロトコルに従ってサーバー2と通信することによって,サーバー2から印刷要求や印刷データを取得する機能を実現する。
【0019】
印刷制御モジュール334は,サーバーインターフェースモジュール333を介して印刷要求や印刷データを取得し,これらを取得すると,印刷データに基づいて印刷部35を制御して印刷を実行する機能を実現する。したがって印刷制御モジュール334は,CPU31および印刷部35を処理手段として機能させるコンピュータープログラムである。
【0020】
2.処理方法の第1実施例
次に上述のプリンター3を処理装置として機能させる処理方法の第一実施例について説明する。図1に示す印刷システムにおいては,通信端末1からプリンター3に対応付けられた電子メールアドレス宛の電子メールが添付ファイルとともに送信されたとき,プリンター3において添付ファイルの印刷が即座に実行されることが望まれる。また,プリンター3が印刷要求を即時に取得するためにサーバー2をHTTPに基づいたメッセージを使ってポーリングすることはサーバー2の負荷とネットワークトラフィックの観点から望ましくない。そこで,プリンター3はXMPPに基づいた印刷要求をサーバー2から取得する。XMPPは,双方向にメッセージを送信できる所謂プッシュ型プロトコルであるため,プリンター3によるサーバー2のポーリングは不要となる。しかし,XMPPに基づいた常時接続が切断されると,通信端末1からプリンター3に対応付けられた電子メールアドレス宛の電子メールが送信されてからプリンター3において印刷が実行されるまでに遅延が生ずる。そこで本実施例においては,図2に示す手順でXMPPに基づいた常時接続を維持する。図2に示す処理は,主に,上述した接続制御モジュール332を実行するCPU31によって実行されるが,接続制御モジュール332とOS331が随所で協働することはいうまでもない。
【0021】
はじめにCPU31はサーバー2から接続制御情報β(例えば30秒),γ(例えば3000回)を取得する(S101)。このときサーバー2とプリンター3との間ではXMPPに基づいた常時接続は確立されていないため,接続制御情報はHTTPに基づいてサーバー2から取得される。
【0022】
次にCPU31は,サーバー2とのXMPPに基づいた常時接続を試行する(S102)。具体的にはプリンター3に割り当てられたアカウントID,パスワード等が接続要求とともにXMPPに従ってサーバー2に送信される。なお,XMPPに基づいた常時接続を単にXMPP接続というものとする。
【0023】
次にCPU31は,XMPP接続が成功したか否かを判定する(S103)。XMPP接続が成功した場合,CPU31は次に述べるステップS104の処理を実行し,XMPP接続が失敗した場合,CPU31は後述するステップS113の処理を実行する。
【0024】
ステップS104において,CPU31は,XMPPに基づいた通信が発生するか,あるいはXMPPに基づいた通信が発生せずに290秒が経過するまで待機する。
【0025】
次にCPU31は,XMPPに基づいた通信が発生したか,XMPPに基づいた通信が発生せずに290秒が経過したかを判定する(S105)。XMPPに基づいた通信が発生した場合,CPU31は通信の内容に応じた処理を行い、さらにCPU31はステップS104からの一連の処理を再び実行する。一方,XMPPに基づいた通信が発生せずに290秒が経過した場合,CPU31は次に述べるステップS106の処理を実行する。なお、通信の内容に応じた処理とは、例えば、サーバー2に印刷データが存在することを知らせる通信であれば、サーバー2から印刷データを取得する処理であり、プリンター3のステータス情報を要求する通信であれば、サーバー2にプリンター3のステータス情報を通知する処理である。
【0026】
ステップS106において,CPU31はXMPPに基づいた"Keep Alive"パケットをLANを介してインターネットに送出する。すなわちXMPPに基づいた通信が発生しない状態が290秒間継続する度にCPU31はXMPPに基づいた"Keep Alive"パケットをLANを介してインターネットに送出する。このようにして"Keep Alive"パケットを送信する理由は,XMPPに基づいたメッセージのやりとりが一定期間途絶えたことによりルーターやファイヤウォールやプロキシサーバーによってXMPP接続が切断されることを防止するためである。なお,"Keep Alive"パケットを送信する間隔を290秒とする理由は,300秒の無通信状態の継続によってXMPP接続を切断するブロードバンドルーターに適合させるためである。すなわち,"Keep Alive"パケットを送信する間隔は,通信環境に応じた最適値を設定すれば良く,290秒よりも短くても長くてもよい。
【0027】
"Keep Alive"パケットの送信後,CPU31は,"Keep Alive"パケットに対する応答を受信するか,"Keep Alive"パケットに対する応答を受信せずに75秒が経過するまで待機する(S108)。
【0028】
次にCPU31は"Keep Alive"パケットに対する応答を受信したか,"Keep Alive"パケットに対する応答を受信せずに75秒が経過が経過したかを判定する(S109)。"Keep Alive"パケットに対する応答を受信した場合,ステップS104からの一連の処理を再び実行する。
【0029】
"Keep Alive"パケットに対する応答を受信せずに75秒が経過した場合,その待機を9回実施したか,その待機の実施回数が9回未満かを判定する(S110)。"Keep Alive"パケットに対する応答を受信せずに75秒が経過するまで9回待機していない場合,ステップS106からの一連の処理を再び実行する。
【0030】
"Keep Alive"パケットに対する応答を受信せずに75秒が経過するまで9回待機した場合,CPU31はサーバー2とのXMPP接続の再接続を試行する(S111)。具体的にはプリンター3に割り当てられたアカウントID,パスワード等が接続要求とともにXMPPに従ってサーバー2に送信される。このようにしてXMPP接続が切断されてから最初にXMPP再接続を試行するタイミングは,切断から約675秒経過後になり,このタイミングが第二タイミングに相当する。切断から第二タイミングまでの時間は675秒未満でも良いし,675秒を越えても良いが,切断から一定時間経過後にXMPP再接続を試行することにより,切断から短期間の内にXMPP接続が可能となっていれば,最初の第一タイミングが到来する前にXMPP接続を再開することが可能となる。なお,サーバー2の障害によって多数のプリンターとのXMPP接続がほぼ同時に切断されており,かつ,第二タイミングの到来前にサーバー2が復旧していれば,第二タイミングにおいては多数のプリンター3からサーバー2に再接続が集中することになるが,障害発生から一定時間経過まではサーバー2を起動しない運用を定めておけば,第二タイミングにおけるサーバー2の負荷集中によって再度障害が発生することはない。そして,プリンター3側の通信経路の異常など、サーバー2以外の障害によってXMPP接続が切断された場合には,再接続を試行するプリンター3の台数が限定されるため,サーバー2への再接続の試行が集中することもない。
【0031】
次にCPU31は,XMPP再接続が成功したか否かを判定する(S112)。XMPP再接続が失敗した場合,CPU31は次に述べるステップS113の処理を実行し,XMPP再接続が成功した場合,CPU31はステップS104からの一連の処理を再び実行する。
【0032】
ステップS113において,CPU31は一様乱数αを取得する(S113)。一様乱数αは,0からβまでの区間において等しい確率で出現する有理数である。すなわち,一様乱数αは,長さβの期間毎にランダムに第一タイミングを設定するための乱数である。ただし、一様乱数といっても、後述する再接続の試行のタイミングが分散するのであれば、厳密な意味での一様乱数である必要は無く、例えば誤差レベルのばらつきがあってもかまわないし、整数に限定していてもかまわない。
【0033】
次にCPU31は一様乱数αの長さの時間が経過するまで待機する(S114)。
一様乱数αの長さの時間が経過すると,CPU31はサーバー2とのXMPP接続の再接続を試行する(S115)。これにより,各プリンター3においては,ランダムな第一タイミングにおいてXMPP接続の再接続が試行されることになる。また,各プリンター3においては,長さβの時間毎に1回のXMPP再接続が試行されることになる。したがって,サーバー2と常時接続される複数のプリンター3におけるXMPP再接続機会は,サーバー2の負荷を分散しながら平準化される。[y1]
【0034】
次にCPU31は,XMPP再接続が成功したか否かを判定する(S116)。XMPP再接続が失敗した場合,CPU31は次に述べるステップS117の処理を実行し,XMPP再接続が成功した場合,CPU31はステップS104からの一連の処理を再び実行する。
【0035】
XMPP再接続が失敗した場合,CPU31はステップS114での待機の開始からβの時間が経過するまで待機する(S117)。すなわち,(β−α)からステップS115とステップS116で要した時間を引いた長さの時間が経過するまで待機する。これによって図3に示すように,サーバー2とのXMPP接続の再接続を試行する第一タイミングは,βと長さが等しい期間毎にランダムに1回ずつ設定されることになる。αは一様乱数であるため,XMPP再接続の試行間隔の期待値は,サーバー2から取得されたβとなる。このため,適切な期待値βをサーバー2に予め設定しておくことにより,多数のプリンター3によるXMPP再接続の平均試行間隔を最適な間隔に制御することができる。そして、サーバー2とXMPP接続するプリンター3の数が多いほど,サーバー2とのXMPP接続が一斉に切断された後にサーバー2とのXMPP再接続を試行するプリンター3の数が増える。したがって,XMPP再接続を試行するプリンター3の数が多いほどβを大きく設定して再接続時のサーバー2の負荷集中を抑制し,XMPP再接続を試行するプリンター3の数が少ないほどβを小さく設定してXMPP再接続が成功するまでに要する期間を短縮することが好ましい。具体的には,サーバー2においてXMPP接続しているプリンター3の数を常時監視しておき,,定期的にサーバー2はその時点でXMPP接続しているプリンター3の数に基づいたβ及びγをXMPP接続でプリンター3に通知する。そして、プリンター3は通知されたβ及びγをその後の再接続に用いるように設定する。サーバー2がメンテナンスなど予めXMPP接続が切断されることが分かっている場合には、XMPP接続が切断される直前のプリンター3の数に応じて期待値β及びγを通知することが好ましい。また,サーバー2に対してXMPP接続可能なプリンター3の実際の登録台数(XMPPアカウントのサーバー2における登録数)や,サーバー2に対してXMPP接続可能なプリンター3の出荷台数に応じて期待値βを設定しておき、予めプリンター3に記憶させておいてもよい。
【0036】
次にCPU31は,第1タイミングでの再接続の試行をγ回行ったか、γ回未満かを判定する(S118)。
第1タイミングでの再接続の試行回数がγ回未満の場合,CPU31はステップS113からの一連の処理を再び実行する。これにより,毎回ランダムに設定される第一タイミングにおいて最大γ回だけXMPPの再接続が試行される。
【0037】
第1タイミングでの再接続の試行回数がγ回に達した場合,ここまで述べたXMPP再接続処理を終了する。これにより,切断検知直後にXMPP再接続を試行する第二タイミングから(γ×β)が経過するまでの期間,サーバー2とプリンター3のXMPP接続の再接続が成功しなければ,XMPP接続の切断後のプリンター3によるXMPP接続の再接続は終了することになる。したがって閾値γは例えばサーバー2に想定している復旧に要する最大所要時間とβとに応じて定めればよい。
【0038】
3.処理方法の第2実施例
プリンター3を処理装置として機能させる処理方法の第二実施例について説明する。第二実施例では,XMPP再接続を試行する第一タイミングの間隔自体がランダムに設定され,第一タイミングの間隔の期待値が予め設定されたβとなるように設定される。第一実施例で説明したステップS101からS112までの処理は第一実施例と同一であるため説明を省略し,以下,ステップS112以後の処理について具体的に説明することとする。
【0039】
ステップS112においてXMPP接続の切断直後の再接続を第二タイミングにおいて試行して失敗すると,CPU31は一様乱数ωを取得する(S123)。一様乱数ωは,0から2βまでの区間において等しい確率で出現する有理数である。すなわち,一様乱数ωは,平均値がβとなる乱数である。ただし、一様乱数といっても、後述する再接続の試行のタイミングが分散するのであれば、厳密な意味での一様乱数である必要は無く、例えば誤差レベルのばらつきがあってもかまわないし、整数に限定していてもかまわない。
【0040】
次にCPU31は一様乱数ωの長さの時間が経過するまで待機する(S124)。
一様乱数ωの長さの時間が経過すると,CPU31はサーバー2とのXMPP接続の再接続を試行する(S125)。これにより,図5に示すように,ランダムな間隔ωを空けた第一タイミングにおいてXMPP接続の再接続が試行されることになる。本実施例では,第一タイミングの間隔自体がランダムに設定されるので,各プリンター3における一定の間隔毎の再試行回数は一致しないものの,第一タイミングの間隔の期待値をβとして第一タイミングが設定されるため,各プリンター3においてXMPP再接続の試行が繰り返されると,複数のプリンター3の試行機会が平準化されることになる。
【0041】
次にCPU31は,XMPP再接続が成功したか否かを判定する(S126)。XMPP再接続が失敗した場合,CPU31は次に述べるステップS128の処理を実行し,XMPP再接続が成功した場合,CPU31はステップS104からの一連の処理を再び実行する。
【0042】
次にCPU31は,第一タイミングにおけるXMPP再接続をγ回試行したか,その試行回数がγ回未満かを判定する(S128)。
第一タイミングにおけるXMPP再接続の試行回数がγ回未満の場合,CPU31はステップS123からの一連の処理を再び実行する。
【0043】
第一タイミングにおけるXMPP再接続の試行回数がγ回に達した場合,ここまで述べたXMPP再接続処理を終了する。第一タイミングの間隔の期待値はβであるため,切断検知直後にXMPP再接続を試行する第二タイミングから(γ×β)が経過するまでの期間,サーバー2とプリンター3のXMPP接続の再接続が成功しなければ,XMPP接続の切断後のプリンター3によるXMPP接続の再接続は終了することになる。したがって閾値γは第1実施例と同様に例えばサーバー2に想定している復旧に要する最大所要時間に応じて定めればよい。
【0044】
4.他の実施形態
尚,本発明の技術的範囲は,上述した実施例に限定されるものではなく,以下の1つ又は複数の変形例を組み合わせる等,本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【0045】
例えば、γ回の繰り返し分の一様乱数αや一様乱数ωを再接続の試行毎に取得せず、予めまとめて取得しておいてもよい。
また、βやαやωの単位は本発明の要旨を逸脱しない範囲内で任意に決定してもよく、例えば、秒であってもよいし、0.1秒であってもよいし、クロック周期であってもよい。
また,サーバー2は物理的に独立した複数のコンピューターによって構成されてもよいし,単一のコンピューターによって構成されても良い。
また,プリンター3とサーバー2との常時接続のための通信プロトコルについては,XMPP以外の通信プロトコルを用いても良い。例えば,SIP(Session Initiation Protocol)やSIMPLE(SIP for Instant Messaging and Presence Leveraging Extensions)といったXMPP以外のプッシュ型通信プロトコル(サーバーからクライアントに対する処理を実行するためにクライアントからの要求を必要としないプロトコル)を用いて送信しても良い。
また,プリンター以外の様々な情報機器を処理端末として本発明を適用できることはいうまでもない。
【符号の説明】
【0046】
1…通信端末,2…サーバー,3a,3b,3c,3d…プリンター,4…インターネット,31…CPU,32…ROM,33…RAM,34…通信部,35…印刷部,331…OS,332…接続制御モジュール,333…サーバーインターフェースモジュール,334…印刷制御モジュール

【特許請求の範囲】
【請求項1】
サーバーと接続を確立して通信する通信手段と,
前記通信によって前記サーバーから取得する情報に基づいて所定の処理を実行する処理手段と,
前記接続の切断を検知する切断検知手段と,
前記接続の切断が検知された場合,試行する間隔の期待値が所定の一定値となる条件を満たしたランダムな第一タイミングにおいて前記サーバーとの再接続を繰り返し試行する再接続手段と,
を備える処理端末。
【請求項2】
前記再接続手段は,前記所定の一定値と長さが等しい期間毎にランダムなタイミングで到来する前記第一タイミングにおいて前記サーバーとの再接続を試行する,
請求項1に記載の処理端末。
【請求項3】
前記再接続手段は,試行する間隔の期待値が所定の一定値となる条件を満たしたランダムな長さの間隔で到来する前記第一タイミングにおいて前記サーバーとの再接続を試行する,
請求項1に記載の処理端末。
【請求項4】
前記再接続手段は,前記接続の切断が検知された後,最初の前記第一タイミングが到来する前の所定の第二タイミングにおいて,前記サーバーとの再接続を試行する,
請求項1から3のいずれか一項に記載の処理端末。
【請求項5】
前記再接続手段は,前記サーバーから取得する接続制御情報に基づいて前記所定の一定値を設定する,
請求項1から4のいずれか一項に記載の処理端末。
【請求項6】
サーバーとの接続を確立して通信し,
前記通信によって前記サーバーから取得する情報に基づいて所定の処理を実行し,
前記接続の切断を検知し、
前記接続の切断が検知された場合,試行間隔の期待値が所定の一定値となる条件を満たしたランダムな第一タイミングにおいて前記サーバーとの再接続を繰り返し試行する、
ことを含む処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2013−51571(P2013−51571A)
【公開日】平成25年3月14日(2013.3.14)
【国際特許分類】
【出願番号】特願2011−188939(P2011−188939)
【出願日】平成23年8月31日(2011.8.31)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】