JP2018077888A - 中継装置、画像処理装置および通信システム - Google Patents

中継装置、画像処理装置および通信システム Download PDF

Info

Publication number
JP2018077888A
JP2018077888A JP2017251460A JP2017251460A JP2018077888A JP 2018077888 A JP2018077888 A JP 2018077888A JP 2017251460 A JP2017251460 A JP 2017251460A JP 2017251460 A JP2017251460 A JP 2017251460A JP 2018077888 A JP2018077888 A JP 2018077888A
Authority
JP
Japan
Prior art keywords
server
request information
image processing
information
relay
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
JP2017251460A
Other languages
English (en)
Other versions
JP6531817B2 (ja
Inventor
大原 清孝
Kiyotaka Ohara
清孝 大原
猛 三宅
Takeshi Miyake
猛 三宅
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.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2017251460A priority Critical patent/JP6531817B2/ja
Publication of JP2018077888A publication Critical patent/JP2018077888A/ja
Application granted granted Critical
Publication of JP6531817B2 publication Critical patent/JP6531817B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】画像処理装置およびサーバ装置とネットワークを介して接続されている中継装置等を提供すること。
【解決手段】仲介サーバは、複数の多機能機およびサービスサーバとネットワークを介して接続されている。仲介サーバは、多機能機からのセッション確立の要求に応じて、XMPP over BOSHに従ったXMPPセッションを、複数の多機能機の各々と確立する。仲介サーバは、複数の多機能機のうちからサービスサーバによって指定された多機能機である通信先多機能機に対するサーバ要求情報をサービスサーバから取得した場合に、取得したサーバ要求情報をXMPPセッションを介して通信先多機能機へ出力する。仲介サーバは、要求情報に対する応答情報を通信先多機能機から取得した場合に、取得した応答情報をサービスサーバへ出力する。
【選択図】図7

Description

本明細書では、画像処理装置およびサーバ装置とネットワークを介して接続されている中継装置などを開示する。
プリンタ機能やFAX機能などを備える画像処理装置と、画像処理装置を管理するための管理装置とが、インターネットを介して接続されているシステムが存在する。また、関連する技術が、特許文献1に開示されている。
特開2004−220214号公報
管理装置が画像処理装置から各種情報を取得して保守点検を行う保守点検サービスや、管理装置から画像処理装置の各種設定を変更する遠隔設定サービスなどのプッシュサービスを提供するために、管理装置側においてプッシュサービスを提供するタイミングとなったときに、インターネットを介して、管理装置側から画像処理装置へプッシュサービスに関する情報を送信したい場合がある。しかし、不正アクセスや侵入を防止するために、ファイアウォールが設定されている場合には、管理装置から画像処理装置へのアクセスが遮断される場合がある。また、画像処理装置がNAT(Network Address Translationの略)の支配下にある場合には、管理装置側から画像処理装置へアクセスできない場合がある。
本明細書に記載されている中継装置は、画像処理装置およびサーバ装置とネットワークを介して通信することが可能なネットワークインターフェースと、プロセッサと、を備える中継装置であって、前記プロセッサは、前記画像処理装置が前記中継装置あてに送信した確立要求情報であって、セッション確立型である第1のプロトコルに従った、前記中継装置が前記サーバ装置から受信した要求情報を前記画像処理装置まで伝達させるサーバプッシュを可能とするためのセッションを前記中継装置と前記画像処理装置との間で確立することを要求する前記確立要求情報を、前記ネットワークインターフェースを介して取得する確立要求情報取得手段と、前記サーバ装置が前記中継装置あてに送信した、前記画像処理装置に対する要求を示すサーバ要求情報を、前記ネットワークインターフェースを介して取得するサーバ要求情報取得手段と、前記サーバ要求情報を前記サーバ要求情報取得手段が取得した場合に、前記確立要求情報取得手段が前記確立要求情報を取得済であるならば、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションを用いて前記画像処理装置あてに送信するよう出力するサーバ要求情報出力手段と、して機能することを特徴とする。
本明細書に実施形態として記載されている中継装置、画像処理装置、および通信システムによると、画像処理装置と中継装置との間で確立したセッションを用いて、サーバプッシュが可能な状態とし、サーバ装置側においてプッシュサービスを提供するタイミングとなったときに、サーバ装置から、中継装置を介して、画像処理装置までサーバ要求情報を伝達するサーバプッシュを行うことが可能となる。これにより、サーバ装置側においてプッシュサービスを提供するタイミングとなったときにはいつでも、サーバプッシュによって画像処理装置へプッシュサービスを提供することができる。
本明細書に実施形態として記載されている中継装置等によれば、サーバ装置から、第1のネットワークに通信制御装置を介して接続する中継装置を介して、第1のネットワークに接続した画像処理装置までサーバ要求情報を伝達することが可能となる。これにより、第1のネットワークに接続した画像処理装置へプッシュサービスを常時提供することができる。
本明細書に実施形態として記載されている中継装置等によれば、複数の画像処理装置の各々との間で、複数のサーバプッシュを可能とするセッションを確立した中継装置を介して、サーバ装置から、複数の画像処理装置までサーバ要求情報を伝達することが可能となる。これにより、複数の画像処理装置へプッシュサービスを常時提供することができる。
本明細書に実施形態として記載されている中継装置等によれば、サーバプッシュを可能とするセッションを確立した複数の画像処理装置の各々の識別情報を記憶した中継装置を介して、中継装置とセッションを確立している画像処理装置のうち、サーバ装置側が指定する画像処理装置まで、サーバ要求情報を伝達することが可能となる。これにより、サーバ装置側が指定する画像処理装置へプッシュサービスを常時提供することができる。
本明細書に実施形態として記載されている中継装置等によれば、サーバ装置が第1のプロトコルとは異なる第2のプロトコルを用いて送信したサーバ要求情報を、中継装置を介して、画像処理装置まで第1のプロトコルを用いて伝達することが可能となる。これにより、サーバ装置が第1のプロトコルに対応する必要なく、画像処理装置へプッシュサービスを常時提供することができる。
本明細書に実施形態として記載されている中継装置等によれば、サーバ装置と中継装置との間でセッションを確立する必要なく、サーバ装置からセッションレス型のプロトコルを用いて送信したサーバ要求情報を、中継装置を介して、画像処理装置まで第1のプロトコルを用いて伝達することが可能となる。これにより、サーバ装置にサーバプッシュするためのセッションを確立する負荷をかける必要なく、画像処理装置へプッシュサービスを常時提供することができる。
本明細書に実施形態として記載されている中継装置等によれば、サーバ装置側と中継装置との間でセッションを確立する必要なく、サーバ要求情報に対して画像処理装置が送信した応答情報を、中継装置を介して、サーバ装置側からのサーバ要求情報の送信に用いられたセッションレス型のプロトコルにおけるレスポンスデータとして、サーバ装置まで伝達することが可能となる。これにより、サーバ装置と中継装置との間にセッションを確立する負荷をかける必要なく、応答情報に関連するプッシュサービスを常時提供することができる。
本明細書に実施形態として記載されている中継装置等によれば、サーバ要求情報に対して画像処理装置が送信した応答情報を、中継装置を介して、サーバ装置まで伝達することが可能となる。これにより、応答情報に関連するプッシュサービスを常時提供することができる。
本明細書に実施形態として記載されている中継装置等によれば、画像処理装置と中継装置との間で確立したセッションを用いる必要なく、サーバ要求情報に対して画像処理装置が第1のプロトコルとは異なる第3のプロトコルを用いて送信した応答情報を、中継装置を介して、サーバ装置まで伝達することが可能となる。これにより、サーバプッシュを可能とするためのセッションをサーバプッシュとは異なる目的である応答情報の送信に使用することなく、応答情報に関連するプッシュサービスを常時提供することができる。
本明細書に実施形態として記載されている中継装置等によれば、画像処理装置と中継装置との間で新たにセッションを確立する必要なく、サーバ要求情報に対して画像処理装置がセッションレス型のプロトコルを用いて送信した応答情報を、中継装置を介して、サーバ装置まで伝達することが可能となる。これにより、応答情報の送信のためにセッションを確立する負荷をかける必要なく、応答情報に関連するプッシュサービスを常時提供することができる。
本明細書に実施形態として記載されている中継装置等によれば、画像処理装置と中継装置との間で新たにセッションを確立する必要なく、サーバ要求情報に対して画像処理装置がセッションレス型のプロトコルを用いて送信した応答情報を、中継装置を介して、サーバ装置側からのサーバ要求情報の送信に用いられたセッションレス型のプロトコルにおけるレスポンスデータとして、サーバ装置まで伝達することが可能となる。これにより、サーバ装置と中継装置との間にセッションを確立する負荷をかける必要なく、応答情報の送信のためにセッションを確立する負荷をかける必要なく、応答情報に関連するプッシュサービスを常時提供することができる。
本明細書に実施形態として記載されている中継装置等によれば、サーバ装置側からセッションレス型の第2のプロトコルを用いて送信した特定サーバ要求情報と、セッション確立型第1のプロトコルを用いて通信先画像処理装置まで伝送された特定サーバ要求情報に対して画像処理装置が送信した応答情報とが、互いに対応する一対の要求−応答の対応関係にある情報であるか否かを認識することができる。よって、中継装置を介して、通信先画像処理装置から特定サーバ要求情報の送信元であるサーバ装置まで応答情報を伝達することが可能となる。これにより、直接にサーバ装置と画像処理装置との間でサーバプッシュを可能にするセッションを確立する負荷なく、特定サーバ情報に正しく対応する応答情報に関連するプッシュサービスを提供することができる。また、サーバ装置が複数存在していたとしても、直接に複数のサーバ装置と画像処理装置との間でサーバプッシュを可能にするセッションを確立する負荷なく特定サーバ情報の送信元であるサーバ装置にて、特定サーバ情報に正しく対応する応答情報に関連するプッシュサービスを提供することができる。また、画像処理装置が複数存在していたとしても、直接にサーバ装置と複数の画像処理装置との間でサーバプッシュを可能にするセッションを確立する負荷なく特定サーバ情報の送信元であるサーバ装置にて、特定サーバ情報に正しく対応する応答情報に関連するプッシュサービスを常時提供することができる。
本明細書に実施形態として記載されている中継装置等によれば、特定サーバ要求情報を通信先画像処理装置に出力することができない場合には、エラー情報をサーバ装置へ出力し、セッションレス型のコネクションを正常に終了させる。これにより、コネクションが正常に終了しないために発生する、特定サーバ要求情報を出力したサーバ装置が、タイムアウトが発生するまで応答情報の返信を待機する、あるいは、タイムアウトが発生したと判断し、特定サーバ要求情報の送信を繰り返すといった、サーバ装置、中継装置、および第2のネットワークの負荷となる事態の発生を防止することができる。これにより、コネクションが正常に終了しないために発生する負荷なく、プッシュサービスを常時提供することができる。
本明細書に実施形態として記載されている中継装置等によれば、セッションレス型のコネクションにおけるレスポンスデータを通信先画像処理装置へ出力することにより、セッションレス型のコネクションを正常に終了させる。これにより、コネクションが正常に終了しないために発生する、応答情報を出力した通信先画像処理装置が、タイムアウトが発生するまでレスポンスデータの返信を待機する、あるいは、タイムアウトが発生したと判断し、応答情報の送信を繰り返すといった、送信先画像処理装置、中継装置、および第1のネットワークの負荷となる事態の発生を防止することができる。これにより、コネクションが正常に終了しないために発生する負荷なく、応答情報に関連するプッシュサービスを提供することができる。
本明細書に実施形態として記載されている中継装置等によれば、サーバ装置に第1識別情報を作成する負荷をかける必要なく、中継装置を介して、通信先画像処理装置から特定サーバ要求情報の送信元であるサーバ装置まで応答情報を伝達することが可能となる。これにより、サーバ装置に第1識別情報を作成する負荷をかける必要なく、特定サーバ情報に正しく対応する応答情報に関連するプッシュサービスを常時提供することができる。
本明細書に実施形態として記載されている中継装置等によれば、サーバ装置側からHTTPを用いて送信したサーバ要求情報を、中継装置を介して、画像処理装置まで第1のプロトコルを用いて伝達することができる。これにより、サーバ装置が第1のプロトコルに対応する必要なく、インターネットに接続する装置であれば一般的に用いられているHTTPを用いてプッシュサービスを常時提供することができる。
本明細書に実施形態として記載されている中継装置等によれば、画像処理装置と中継装置との間で確立したセッションを用いる必要なく、サーバ要求情報に対して画像処理装置がHTTPを用いて送信した応答情報を、中継装置を介して、サーバ装置まで伝達することができる。これにより、画像処理装置や中継装置が応答情報を通信するためだけに新たなプロトコルに対応する必要なく、インターネットに接続する装置であれば一般的に用いられているHTTPを用いて、応答情報に対応するプッシュサービスを提供することができる。また、画像処理装置が、HTTPを用いてプルサービスを利用可能な画像処理装置であれば、プルサービスの利用のために備えている、HTTPに関する処理を行う構成、たとえばHTTPの処理を行うプロトコルスタックを用いて、応答情報に対応するプッシュサービスを常時提供することができるので、より都合が良い。
本明細書に実施形態として記載されている中継装置等によれば、画像処理装置と中継装置との間で確立した、XMPP over BOSHに基づく、サーバプッシュを可能とするセッションを用いて、サーバ装置側から、中継装置を介して、画像処理装置までサーバ要求情報を伝達することが可能となる。XMPP over BOSHはHTTPをベースとしたプロトコルである。これにより、インターネットに接続する装置であれば一般的に用いられているHTTPに関する処理を行う構成、たとえばHTTPの処理を行うプロトコルスタックを用いて、応答情報に対応するプッシュサービスを提供することができるので、常時都合が良い。
本明細書に実施形態として記載されている画像処理装置等によれば、画像処理装置と中継装置との間で確立したセッションを用いて、サーバプッシュが可能な状態とし、サーバ装置から、中継装置を介して、画像処理装置までサーバ要求情報を伝達するサーバプッシュを行うことが可能となる。これにより、サーバプッシュによって画像処理装置へプッシュサービスを提供することができる。
本明細書に実施形態として記載されている画像処理装置等によると、画像処理装置と中継装置との間でサーバプッシュが可能な状態になってから、所定の時間が経過した場合にも、中継装置からの前記サーバプッシュが可能な状態を維持する。これにより、セッション確立型のプロトコルを用いて、プッシュサービスを常時提供することが可能となる。
本明細書に実施形態として記載されている画像処理装置等によると、画像処理装置と中継装置との間のセッションが無効にされてしまったとしても、新たにセッションを確立させることができる。これにより、セッション確立型のプロトコルを用いて、プッシュサービスを常時提供することが可能となる。
本明細書に実施形態として記載されている画像処理装置等によると、画像処理装置と中継装置との間のコネクションが無効にされてしまったとしても、新たにコネクションを確立させることができる。これにより、新たにセッションを確立する負荷なく、セッション確立型のプロトコルを用いて、プッシュサービスを常時提供することが可能となる。
本明細書に実施形態として記載されている画像処理装置等によると、サーバ要求情報に対して画像処理装置が送信した応答情報を、セッションレス型のプロトコルを用いて、サーバ装置まで伝達することが可能となる。これにより、サーバプッシュを可能とするためのセッションをサーバプッシュとは異なる目的である応答情報の送信に使用することなく、応答情報に関連するプッシュサービスを常時提供することができる。
本明細書に実施形態として記載されている画像処理装置等によると、サーバ装置側からセッションレス型のプロトコルを用いて送信したサーバ要求情報と、サーバ要求情報に対して画像処理装置が送信した応答情報とが、互いに対応する一対の要求−応答の対応関係にある情報であるか否かを認識することができる。よって、中継装置を介して、画像処理装置からサーバ要求情報の送信元であるサーバ装置まで、応答情報を伝達することが可能となる。
本明細書に実施形態として記載されている画像処理装置等によれば、画像処理装置と中継装置との間のセッションが切断されたとしても、画像処理装置がセッション維持モードであれば、画像処理装置から確立要求情報が送信され、セッションを再度確立させることができる。これにより、セッション確立型のプロトコルを用いて、プッシュサービスを常時提供することが可能となる。
本明細書に実施形態として記載されている画像処理装置等によれば、画像処理装置がセッション維持モードであれば、画像処理装置が起動したときに、セッションを確立することができる。これにより、セッション確立型のプロトコルを用いて、画像処理装置の起動時から、プッシュサービスを常時提供することが可能となる。
本明細書に実施形態として記載されている画像処理装置等によれば、画像処理装置の製造時にセッション維持モードであることを示すモード情報を記憶部に記憶させることで、画像処理装置が起動したときに、セッションを確立することができる。これにより、ベンダやディーラなど、画像処理装置の製造側または販売側で、プッシュサービスを常時提供させたい画像処理装置を決定し、決定した画像処理装置にプッシュサービスを利用させることが可能となる。
本明細書に実施形態として記載されている画像処理装置等によると、プルサービスの利用に用いる第2のプロトコルを用いて、第2のプロトコルの上位のプロトコルである第1のプロトコルのセッションを確立できる。これにより、画像処理装置や中継装置がセッションを確立するためだけに新たなプロトコルに対応する必要なく、プッシュサービスを常時提供することが可能となる。
本明細書に実施形態として記載されている画像処理装置等によると、プルサービスの利用に用いるHTTPを用いて、上位のプロトコルであるサーバプッシュを可能にするためのセッションを確立できる。これにより、インターネットに接続する装置であれば一般的に用いられているHTTPに関する処理を行う構成、たとえばHTTPの処理を行うプロトコルスタックを用いて、応答情報に対応するプッシュサービスを提供することができるので、より都合が良い。
上記の技術を実現するための通信システムも、新規で有用である。
通信システムの構成を示す。 多機能装置が実行する各処理のフロー図を示す。 多機能装置が実行する各処理のフロー図を示す。 仲介サーバが実行する各処理のフロー図を示す。 仲介サーバが実行する各処理のフロー図を示す。 サービスサーバが実行する各処理のフロー図を示す。 通信システム2の第1動作例を示すフロー図である。 通信システム2の第2動作例を示すフロー図である。
<システムの構成>
図1に示されるように、通信システム2は、ルータ7および8と、多機能機10および11と、仲介サーバ60と、サービスサーバ100、110、および120と、を備えている。多機能機10は、LAN4およびルータ7を介してインターネット6に接続されている。多機能機11は、ルータ8を介してインターネット6に接続されている。また、仲介サーバ60およびサービスサーバ100、110、および120も、インターネット6に接続されている。
<多機能機10の構成>
多機能機10は、印刷機能、スキャン機能、コピー機能、FAX機能等の多機能を実行可能である。多機能機10は、操作部12と、表示部14と、ネットワークインターフェース16と、印刷実行部18と、スキャン実行部19と、制御部20と、を備える。操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示を多機能機10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。ネットワークインターフェース16は、LAN4を介してルータ7に接続されている。印刷実行部18は、インクジェット方式、レーザ方式等の印刷機構を備える。スキャン実行部19は、CCD、CIS等のスキャン機構を備える。制御部20は、CPU22と、メモリ24と、を備える。メモリ24は、アプリケーションプログラム25およびプロトコルスタック26を記憶している。メモリ24は、コンピュータが読み取り可能なストレージ媒体であってよい。コンピュータが読み取り可能なストレージ媒体とは、ROM、RAM、フラッシュメモリ、ハードディスクなどのnon-transitoryな媒体である。インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、non-transitoryな媒体には含まれない。CPU22は、メモリ24に格納されているアプリケーションプログラム25に従って、サービスサーバ100、120が提供する、後述するプッシュサービスを常時利用するためのアプリケーション処理を実行する。CPU22は、メモリ24に格納されているプロトコルスタック26に従って、HTTP(Hyper Text Transfer Protocolの略)や、XMPP over BOSH(eXtensible Messaging and Presence Protocol over Bidirectional-streams Over Synchronous HTTPの略)、などのプロトコル処理を実行する。CPU22は、プロトコル処理によって、後述するXMPP over BOSHに従ったセッション確立や、HTTPに従ったコネクション確立などを行う。
プロトコルスタック26は、HTTPのプロトコル処理であるHTTP処理を実行するためのHTTPプログラム27と、XMPP over BOSHのプロトコル処理であるXMPP over BOSH処理を行うためのXMPP over BOSHプログラム28と、を含む。CPU22は、XMPP over BOSH処理において、XMPP over BOSHに従った各種情報を含むHTTPリクエスト情報、またはHTTPレスポンス情報を、HTTP処理を介して、送信させる。CPU22は、XMPP over BOSHに従った各種情報を含むHTTPリクエスト情報、またはHTTPレスポンス情報をネットワークインターフェース16が受信した場合に、HTTP処理を介して、XMPP over BOSH処理において取得する。XMPP over BOSHに従ったセッションのことを、XMPPセッションとも記載する。また、HTTPに従ったコネクションのことをHTTPコネクション、または、TCPコネクションとも記載する。なお、XMPP over BOSHは、後述するセッション確立型プロトコルの例である。また、HTTPは、後述するセッションレス型プロトコルの例である。
CPU22は、アプリケーション処理によって送信情報を取得し、取得した送信情報を、プロトコル処理を介して、ネットワークインターフェース16からXMPP over BOSH、HTTPなどを用いて送信させる。また、CPU22は、ネットワークインターフェース16が受信した受信情報を、プロトコル処理を介して、アプリケーション処理において取得する。アプリケーション処理に通知すべき事象がプロトコル処理によって発生すると、CPU22は、プロトコル処理によって、イベント情報を出力する。CPU22は、イベント情報に基づいて、プロトコル処理において発生した事象を、アプリケーション処理において認識することができる。CPU22は、プロトコル処理においてセッションやコネクションが確立されたとき、確立したセッションやコネクションを識別するための情報を、アプリケーション処理に伝達する。確立したセッションやコネクションを識別するための情報としては、ソケット情報などが挙げられる。
メモリ24には、後述する、モード情報、セッション維持情報、などが記憶されている。モード情報は、セッション維持モードが「オン」または「オフ」の何れに設定されているかを示す情報である。セッション維持モードは、多機能機10が仲介サーバ60との間でXMPPセッションを確立し、サービスサーバ100、120が提供する各種の後述するプッシュサービスを常時利用できるようにセッションを維持するモードである。モード情報は、多機能機10の製造時において、メモリ24に記憶されるとしてもよい。「製造時」は、ベンダの工場での製品製造時に限られない。例えば、多機能機10のディーラが、顧客に多機能機10を発送する際に、多機能機10に発送前の設定を施す場合も、「製造時」に含まれる。セッション維持情報は、XMPPセッションを仲介サーバ60と確立するための情報である。セッション維持情報は、仲介サーバ60のIPアドレスなどを含んでいてもよい。なお、多機能機10は、サービスサーバ110が提供する、後述するプルサービスを、HTTPを用いて利用することも可能である。
本明細書における記載上の注意点を説明する。本明細書において、「仲介サーバ60のCPU72が、各種の情報を受信する」という記載は、「仲介サーバ60のCPU72が、ネットワークインターフェース62を介して各種の情報を取得する」という技術内容を含んでいるものとする。また、「仲介サーバ60のCPU72が、各種の情報を送信する」という記載は、「仲介サーバ60のCPU72が、ネットワークインターフェース62を介して各種の情報を出力する」という技術内容を含んでいるものとする。なお、多機能機10のCPU22およびネットワークインターフェース16についても、同様の注意点が存在する。
ここで、「データ」と「情報」の文言の定義を記載する。「データ」と「情報」では「情報」を「データ」の上位概念として用いている。そのため、「Aデータ」を「A情報」と言い換えてもよい。また、「Aデータ」から複製された、または、変換された「Bデータ」は、「Aデータ」と同等の意味を持って使用される限り「A情報」である。
<仲介サーバ60の構成>
仲介サーバ60は、サービスサーバ100、110、および120とは別体に構成されているサーバである。仲介サーバ60は、サービスサーバ100、および120から多機能機10または11へのアクセスを仲介するためのサーバである。仲介サーバ60は、多機能機10および11のベンダによって提供されるサーバである。仲介サーバ60は、ネットワークインターフェース62と、制御部70と、を備える。
制御部70は、CPU72と、メモリ74と、を備える。メモリ74には、アプリケーションプログラム75、デバイスデータベース76、多機能機管理データベース77、プロトコルスタック78、が記憶されている。メモリ74は、メモリ24と同様に、コンピュータが読み取り可能なストレージ媒体であってよい。プロトコルスタック78には、HTTPプログラム81およびXMPP over BOSHプログラム82が含まれている。CPU72は、アプリケーションプログラム75に従って、サービスサーバ100、120が提供するプッシュサービスを多機能機10、11に常時利用させるためのアプリケーション処理を実行する。CPU22がプロトコルスタック78に従って実行するプロトコル処理や、プロトコル処理とアプリケーション処理との間の連携などは、多機能機10についての説明した内容に準ずる。デバイスデータベース76は、後述するレジスタ情報を多機能機10および11から受信して記憶するためのデータベースである。多機能機管理データベース77は、通信ステータスおよびリクエストIDを記憶する領域である。通信ステータスは、多機能機10および11の各々がオンライン状態であるかオフライン状態であるかを示す情報である。オンライン状態とは、後述するXMPPセッションが多機能機10と仲介サーバ60との間で確立されている状態である。オフライン状態とは、XMPPセッションが多機能機10と仲介サーバ60との間で確立されていない状態である。リクエストIDは、後述するS353において生成される情報である。リクエストIDは、多機能機10および11の各々に対応して生成される。
<プルサービスとプッシュサービス、ルータ7および8の機能>
通信システム2における、プルサービスとプッシュサービスについて説明する。プルサービスは、サービスを利用する装置Aからサービスを提供するサーバBにサービスを要求することで、装置Aが、サーバBの提供するサービスを利用する形態のサービスのことである。サーバBに記憶された画像データなどのコンテンツデータのダウンロードを要求する要求情報を装置Aが要求し、要求情報を受信したサーバBがコンテンツデータを返信するダウンロードサービスは、プルサービスの一例である。装置AがサーバBに、アップロードを要求する要求情報とともにコンテンツデータを送信し、コンテンツデータと要求情報とを受信したサーバBが、コンテンツデータを記憶するアップロードサービスも、プルサービスの一例である。通信システム2では、多機能機10がプルサービスを利用する装置Aに該当する。サービスサーバ100とは異なるサービスサーバ110がプルサービスを提供するサーバBに該当する。
プルサービスの場合、多機能機10からサービスサーバ110を送信先として、要求情報を含むHTTPリクエスト情報を送信すると、ルータ7がHTTPリクエスト情報を受信し、インターネット6に転送する。この際、ルータ7は、転送したHTTPリクエスト情報を識別するための情報、多機能機10のプライベートIPアドレスを示す情報、などを記憶する。また、ルータ7が転送したHTTPリクエスト情報には、ルータ7が転送したHTTPリクエスト情報を識別するための情報、ルータ7のIPアドレスなどの情報が含まれている。要求データを含むHTTPリクエスト情報を受信したサービスサーバ110は、要求情報に応じたコンテンツデータを含むHTTPレスポンス情報を、ルータ7へ返信する。なお、返信するHTTPレスポンス情報には、どのHTTPリクエスト情報への返信であるのかを識別するための情報などが含まれている。HTTPレスポンス情報を受信したルータ7は、HTTPレスポンスに含まれる情報と、HTTPリクエスト情報を転送する際に記憶した情報に基づいて、HTTPレスポンス情報が、多機能機10が送信したHTTPリクエスト情報への応答情報であることを特定する。ルータ7は、HTTPレスポンス情報が、多機能機10が送信したHTTPリクエスト情報への応答情報であるので、HTTPレスポンス情報を多機能機10のプライベートIPアドレスを用いて転送する。
もし、サービスサーバ110が、多機能機10を送信先としたHTTPリクエスト情報を送信すると、ルータ7は、HTTPリクエスト情報を受信するものの、HTTPリクエスト情報が、多機能機10が送信した情報への応答情報であることを特定できない。ルータ7は、HTTPリクエスト情報が、多機能機10が送信した情報への応答情報ではないので、HTTPリクエスト情報を多機能機10へ転送しない。
このように、ルータ7がインターネット6側の装置から受信した情報が、多機能機10が送信元である情報への応答情報であれば、インターネット6側の装置が送信した情報を、多機能機10へ転送し、ルータ7がインターネット6側の装置から受信した情報が、多機能機10が送信元である情報への応答情報でなければ、インターネット6側の装置が送信した情報を、多機能機10へ転送しない、というのが、ルータ7が備えるファイアウォールの機能である。このように、ルータ7がインターネット6側の装置から受信した情報が、多機能機10が送信元である情報への応答情報であれば、インターネット6側の装置が送信した情報を、多機能機10のプライベートIPアドレスを用いて転送するのが、ルータ7が備えるNATの機能である。このように、多機能機10がサービスサーバ110を送信先としてサービスを要求する情報を送信することにより受けることができるサービスが、通信システム2におけるプルサービスである。
このように、ルータ7が、サービスサーバ110を送信先としたHTTPリクエスト情報を転送したことを示す情報、多機能機10のプライベートIPアドレスなどを記憶することで、サービスサーバ110が送信した応答情報を、ルータ7を介して多機能機10まで伝達することができる。すなわち、ルータ7が、転送した、サービスサーバ110を送信先としたHTTPリクエスト情報を識別するための情報、多機能機10のプライベートIPアドレスなどを記憶し、サービスサーバ110が、ルータ7が転送したHTTPリクエスト情報を識別するための情報などを受信し、記憶することで、多機能機10とサービスサーバ110との間のコネクションが確立し、確立したコネクションを用いて、サービスサーバ110が送信した応答情報を多機能機10まで伝達することができる。
なお、HTTPを用いたコネクションのことをHTTPコネクションと言う場合もある。HTTPはTCPを基礎とするプロトコルであるため、HTTPコネクションと言う代わりに、TCPコネクションと言う場合もある。なお、多機能機10は、プルサービスを利用するために、HTTPに沿った通信を行うためにプロトコルスタック26を備えている。
プッシュサービスは、サービスを提供するサーバBにおいてサービスを提供するタイミングとなったときに、サービスを利用する装置AにサーバBからサービスの提供に関連する情報を送信することで、装置Aが、サーバBの提供するサービスを利用する形態のサービスのことである。サーバBが装置Aにステータス情報を要求し、装置Aから返信されたステータス情報をサーバBで管理し、ステータス情報に従った保守点検を行う保守点検サービスは、プッシュサービスの一例である。サーバBが装置Aに設定情報を送信し、装置Aに各種設定を行う遠隔設定サービスは、プッシュサービスの一例である。通信システム2では、多機能機10がプッシュサービスを利用する装置Aに該当する。サービスサーバ100が、プッシュサービスを提供するサーバBに該当する。プッシュサービスの場合、サービスサーバ100が、多機能機10を送信先として、サービスの提供に関連する情報を含むHTTPリクエスト情報を送信しても、先に述べたように、ルータ7は、HTTPリクエスト情報を受信するものの、多機能機10へ転送しない。すなわち、ルータ7が備えるファイアウォールの機能によって、多機能機10におけるプッシュサービスの利用が制限される。
なお、多機能機10からは、サービスサーバ100においてサービスを提供するタイミングがわからないため、多機能機10からHTTPリクエスト情報を送信することでサービスサーバ100との間にコネクションを確立し、確立したコネクションを利用してサービスの提供に関連する情報を受信することができない。
なお、多機能機10、ルータ7を例に、プルサービス、プッシュサービス、およびルータの機能について説明したが、多機能機11、ルータ8についても、多機能機10、ルータ7と同様である。また、サービスサーバ100を例にプッシュサービスを説明したが、サービスサーバ120についても同様である。
<サービスサーバ100の構成>
サービスサーバ100は、オンラインサービスに用いられるサーバである。オンラインサービスの一例としては、多機能機10および11の保守点検サービスや、多機能機10および11への遠隔設定サービスなどが挙げられる。サービスサーバ100は、インターネット6を介して多機能機10および11にアクセスし、多機能機10および11からトナー残量などの各種の情報を取得したり、多機能機10および11の設定を書き換えたりする処理を行う。
サービスサーバ100は、制御部102を備えている。制御部102は、CPU103およびメモリ104を備えている。メモリ104には、データ記憶領域105が備えられている。データ記憶領域105は、各種のデータを記憶しておく領域である。なお、サービスサーバ110、120の構成は、基本的はサービスサーバ100と同様であるので、説明を省略する。
<多機能機10の動作>
図2および図3のフローを用いて、多機能機10で、アプリケーションプログラム25に基づいて行なわれるアプリケーション処理について説明する。なお、多機能装置11で行なわれる処理は、多機能機10で行なわれる処理と同様であるため、説明は省略する。図2および図3のフローは、例えば、多機能機10の電源が投入されることに応じて開始されてもよい。
S211においてCPU22は、セッション維持モードが「オン」に設定されているか否かを判断する。S211は、多機能機10の起動時に行なわれても良い。起動時の一例としては、多機能機10の電源が投入された場合や、電源が投入されたあとに起動を指示するユーザ操作を受けた場合などが挙げられる。当該判断は、メモリ24に記憶されているモード情報に基づいて判断するとしてもよい。セッション維持モードが「オン」に設定されていない場合(S211:NO)には、S213へ進む。
S213においてCPU22は、入力イベントが発生したか否かを判断する。入力イベントが発生したか否かは、例えば操作部12へのユーザ入力があった場合に、図示しないオペレーティングシステムが出力するイベント情報に基づいて判断されるとしてもよい。入力イベントが発生していない場合(S213:NO)にはS213へ戻り、発生した場合(S213:YES)にはS215へ進む。S215においてCPU22は、セッション維持モードを「オン」にする操作によって入力イベントが発生したのか否かを判断する。否定判断される場合(S215:NO)にはS217へ進み、CPU22は、入力された操作に応じた処理を実行し、S213へ戻る。一方、肯定判断される場合(S215:YES)にはS219へ進み、メモリ24に記憶されているモード情報を「オン」に設定し、S211へ戻る。
発生した入力イベントが、プルサービスの利用を指示する操作によって発生した入力イベントである場合、S217において、CPU22は、プロトコル処理を介して、サービスサーバ110を送信先として、プルサービスの利用を要求する要求情報を含むHTTPリクエスト情報を送信させる。そして、サービスサーバ110が送信した、プルサービスの利用に関連する応答情報を含むHTTPレスポンス情報をネットワークインターフェース16が受信すると、CPU22は、プルサービスの利用に関連する応答情報を取得し、プルサービスの利用に関する処理を実行する。HTTPレスポンス情報に含まれるコンテンツデータに基づく画像を多機能機10において形成させる処理や、HTTPレスポンス情報に含まれるコンテンツデータをメモリ24に記憶させる処理などが、プルサービス方式のダウンロードサービスの利用に関する処理の例である。HTTPリクエスト情報に含まれたコンテンツデータをサービスサーバ110に記憶させた、あるいは、サービスサーバ110から他の装置に転送させたことを示す応答情報を取得し、サービスの実行状況をユーザに報知する処理が、プルサービス方式のアップロードサービスの利用に関する処理の例である。
一方、S211において、セッション維持モードが「オン」に設定されていると判断される場合(S211:YES)には、S231へ進む。S231においてCPU22は、レジスタ処理を実行する。レジスタ処理は、多機能機10のレジスタ情報を、仲介サーバ60のデバイスデータベース76に登録する処理である。レジスタ情報には、デバイスID、能力情報、などの各種情報が含まれている。デバイスIDは、多機能機10を識別するための情報である。デバイスIDは、後述する要求情報の送信先の多機能機を識別するために用いられる。デバイスIDの一例としては、多機能機10の製造シリアル番号が挙げられる。能力情報は、メモリ容量や印刷可能な用紙サイズなど、多機能機10の各種の能力を示す情報である。レジスタ処理は、HTTPに基づく通信によって行なわれてもよい。
S233においてCPU22は、メモリ24に記憶されているセッション維持情報に基づいて、たとえば、仲介サーバ60のIPアドレスをプロトコルスタック26に伝達し、セッション確立型のプロトコルであるXMPP over BOSHに従ったXMPPセッションを仲介サーバ60と確立するためのプロトコル処理を、プロトコルスタック26に行わせる。なお、多機能機10と仲介サーバ60の間にXMPPセッションが確立している状態のときに、多機能機11と仲介サーバ60との間のXMPPセッションが新たに確立されてもよい。逆の場合も同様である。
XMPPセッションを確立するための具体的な手順について説明する。多機能機10は、XMPP over BOSHに従って、XMPPセッションで利用されるべきセッションIDの送信を仲介サーバ60に要求するための第1の要求情報を含むHTTPリクエスト情報を送信する。第1の要求情報を含むHTTPリクエスト情報を、XMPPセッション確立要求情報とも記載する。
仲介サーバ60は、多機能機10が送信したXMPPセッション確立要求情報を受信することで取得した場合に、セッションIDを生成して、XMPP over BOSHに従って、セッションIDを含むHTTPレスポンス情報を返信する。
多機能機10は、仲介サーバ60が送信したセッションIDを受信することで取得した場合に、XMPP over BOSHに従って、取得したセッションIDと、セッションIDを取得したことを仲介サーバ60に通知するための通知情報を含むHTTPリクエスト情報を送信する。
仲介サーバ60は、多機能機10が送信した、セッションIDと、通知情報と、を含むHTTPリクエスト情報を受信した場合に、XMPP over BOSHに従って、OKを示す応答情報を含むHTTPレスポンス情報を返信する。このように、XMPP over BOSHに従った各種情報の送受信を通じて、多機能機10及び仲介サーバ60が、共通のセッションIDを取得することで、XMPPセッションが確立する。以降、XMPP over BOSHに従って、このセッションIDと、各種情報と、を含むHTTPリクエスト情報を送信することで、確立したXMPPセッションを用いた情報の送信が行われる。確立したXMPPセッションを用いた情報を取得した側では、セッションIDによって、取得した情報が、確立したXMPPセッションを用いて送信された情報であることを認識できる。
XMPP over BOSH処理によって、XMPPセッションが確立したことを示すイベント情報が出力され、確立したセッションを識別する情報が、アプリケーション処理に伝達される。これにより、アプリケーション処理において、CPU22は、XMPPセッションの確立を認識することができる。XMPPセッションの確立を認識すると、CPU22は、S234へ進む。
S234においてCPU22は、後述するタイムアップ情報がメモリ24に記憶されているか否かを判断する。S234において否定判断される場合(S234:NO)には、S236に進む。S236において、CPU22は、確立したセッションを用いて、XMPP over BOSHに従ったコネクションであるXMPPコネクションを仲介サーバ60との間で確立するためのプロトコル処理を、プロトコルスタック26に行わせる。
XMPPコネクションを確立するための具体的な手順について説明する。多機能機10は、XMPP over BOSHに従って、仲介サーバ60との間で確立したセッションを識別するセッションIDと、XMPPコネクションの確立を要求するための第2の要求情報を含むHTTPリクエスト情報を、仲介サーバ60を送信先として送信する。第2の要求情報は、仲介サーバ60から送信される、プッシュサービスの提供に関連する情報を含む、XMPP over BOSHに従ったHTTPレスポンス情報を、を、多機能機10まで伝達するために必要な情報である。第2の要求情報を含むHTTPリクエスト情報のことを、XMPPコネクション確立要求情報とも記載する。ルータ7が、XMPPコネクション確立要求情報を、インターネット6に転送し、転送されたHTTPリクエスト情報を仲介サーバ60が受信することで、プルサービスの説明において先に述べた仕組みにより、多機能機10と仲介サーバ60との間でHTTPコネクションが確立される。このように、XMPP over BOSHに従った手順で確立されたHTTPコネクションが、XMPPコネクションである。なお、プッシュサービスの提供に関連する情報には、サービスサーバ100が仲介サーバに送信したGETリクエスト情報や、SETリクエスト情報が挙げられる。GETリクエスト情報は、オブジェクトIDによって指定される情報の返信を、サービスサーバ100が多機能機10に要求するために用いられるコマンド情報である。SETリクエスト情報は、オブジェクトIDによって指定される情報に従った設定変更を、多機能機10に要求するために用いられるコマンド情報である。オブジェクトIDによって指定される情報の例としては、MACアドレスを示す情報、IPアドレスを示す情報、多機能機10の装置状態を示す各種情報(例:トナー残量情報)、などが挙げられる。
仲介サーバ60は、XMPPコネクションが確立したときに、サービスサーバ100によるプッシュサービスの提供タイミングであれば、XMPPコネクション確立要求情報に対するHTTPレスポンス情報に、SETリクエスト情報、またはGETリクエスト情報などを含ませて、多機能機10を送信先として送信する。XMPPコネクション確立要求情報に対するHTTPレスポンス情報のことを、XMPPレスポンス情報とも記載する。
一方で、仲介サーバ60は、XMPPコネクションが確立したときに、サービスサーバ100によるプッシュサービスの提供タイミングでなければ、プッシュサービスの提供タイミングになってから、XMPPレスポンス情報に、SETリクエスト情報、またはGETリクエスト情報などを含ませて、多機能機10を送信先として送信する。このように、多機能機10からのリクエスト情報を受信したタイミングで必ずしもレスポンス情報を送信する必要なく、サービスサーバ側のプッシュサービスの提供タイミングを直接の契機として、XMPPレスポンス情報を、多機能機10を送信先として送信することを、サーバプッシュとも記載する。
仲介サーバ60が送信する、XMPPレスポンス情報は、セッションIDを含まない。ただし、当該XMPPレスポンス情報には、XMPPコネクション確立要求情報に対するHTTPレスポンス情報であることを識別可能な情報は含まれているので、XMPPレスポンス情報を取得した多機能機10では、XMPPセッションを利用して返信された情報であることを認識できる。
なお、XMPPセッションの確立や、XMPPコネクションの確立、XMPPリクエスト情報の送信、XMPPレスポンス情報の送信がHTTPによって行われていることからわかるように、XMPP over BOSHはHTTPを利用する上位プロトコルであり、HTTPはXMPP over BOSHに利用される下位プロトコルである。下位のプロトコル処理は、ネットワークインターフェース16を介して取得した情報を上位のプロトコル処理に伝達し、上位のプロトコル処理は、伝達された情報を処理する。上位のプロトコル処理は、ネットワークインターフェース16を介して送信させたい情報を下位のプロトコル処理に伝達し、下位のプロトコル処理は、伝達された情報を処理する。すなわち、多機能機10は、HTTPのプロトコルスタックを、プルサービスの利用とプッシュサービスの利用との双方に用いている。
S237においてCPU22は、不図示のタイマーをスタートさせる。タイマーのタイムアップ時間は、予め定められるとしてもよい。タイムアップ時間は、例えば1分に設定されてもよい。
S238においてCPU22は、イベントが発生したか否かを判断する。発生していない場合(S238:NO)にはS238へ戻り、発生した場合(S238:YES)にはS239へ進む。S239においてCPU22は、S238で検出されたイベントが、S237でスタートさせたタイマーのタイムアップであるか否かを判断する。タイマーのタイムアップである場合(S239:YES)にはS240へ進み、メモリ24にタイムアップ情報を記憶させ、S234に戻る。
一方、S234において肯定判断される場合(S234:YES)には、S235に進む。S235においてCPU22は、メモリ24に記憶されているタイムアップ情報を削除し、S241に進む。
S241においてCPU22は、プロトコル処理を介して、HTTPを用いて、仲介サーバ60を送信先とした生存通知情報を送信させる。生存通知情報は、S233で確立したXMPPセッションが確立していると多機能機10が認識していることを示すための情報を含む。なお、仲介サーバ60のプロトコル処理において、S233で確立したXMPPセッションが有効であると認識できていない場合、XMPPセッションを用いた情報は、仲介サーバ60におけるアプリケーション処理まで伝達されない。しかしながら、S241では、HTTPを用いて生存通知情報を送信させているため、仲介サーバ60のプロトコル処理において、S233で確立したXMPPセッションが有効であると認識できていない場合であっても、仲介サーバ60におけるアプリケーション処理まで生存通知情報が伝達される。そしてS242においてタイマーを再スタートさせ、S244に進む。
S244において、CPU22は、生存通知情報に対して仲介サーバ60がHTTPを用いて返信した生存応答情報を、プロトコル処理を介して取得したか否かを判断する。生存応答情報は、S233で確立したXMPPセッションが確立していることを仲介サーバ60が認識していることを示すための情報を含んでいる。肯定判断である場合(S244:YES)には、S236に進み、仲介サーバ60との間で、新たなXMPPコネクションの確立を行う。一方、否定判断である場合(S244:NO)には、S246に進み、生存通知情報の送信から所定時間が経過しているか否かを判断する。否定判断である場合(S246:NO)には、S244の判断に戻る。また、肯定判断である場合(S246:YES)には、S233に戻り、仲介サーバとの間で、新たなXMPPセッションの確立を行う。
このように、XMPPコネクションの確立からタイムアップ時間の経過までに、SETリクエスト情報、またはGETリクエスト情報などを含んだ、XMPPレスポンス情報の受信を確認できなかった場合には、生存通知情報を仲介サーバに送信することで、XMPPセッションが確立していると多機能機10が認識していることを仲介サーバ60に通知する。このように、生存応答情報を仲介サーバ60から受信することで、XMPPセッションが確立していると仲介サーバ60が認識していることを、多機能機10の側で認識する。
そして、生存応答情報に基づいて、XMPPセッションが確立していると仲介サーバ60が認識していることを認識できた場合には、XMPPコネクションが切断されている可能性があるので、新たにXMPPコネクションを確立させることで、仲介サーバ60が送信するXMPPレスポンス情報を多機能機10まで伝達させるための準備を行う。XMPPコネクションの確立から、XMPPレスポンス情報の返信がしばらくなかったがために、多機能機10から仲介サーバ60までの間にある機器、たとえば、ルータ7などが、XMPPコネクション確立要求情報をインターネット6に転送したことを示す情報や、多機能機10のプライベートIPアドレスを示す情報などを、削除してしまった場合などが、XMPPコネクションが切断された場合の例である。
一方、生存応答情報を受信できず、XMPPセッションが確立していると仲介サーバ60が認識していることを認識できなかった場合には、XMPPセッションが切断されている可能性があるので、新たにXMPPセッションを確立させ、さらに、XMPPコネクションを確立させることで、仲介サーバ60が送信するXMPPレスポンス情報を多機能機10まで伝達させるための準備を行う。仲介サーバ60がリセットされるなどによって、仲介サーバ60においてセッションIDや、確立したXMPPセッションを識別する情報などを削除してしまった場合などが、XMPPセッションが切断された場合の例である。
また、仲介サーバ60のプロトコル処理によって、XMPPレスポンス情報の送信を長時間行っていないXMPPセッションについて、そのXMPPセッションを識別する情報などを削除してしまった場合などが、XMPPセッションが切断された場合の例である。
このように、生存通知情報の送信と生存応答情報の確認に基づいて、仲介サーバ60が送信するXMPPレスポンス情報を多機能機10まで伝達させるための準備を、タイムアップ時間の経過ごとに行っている。このように、多機能機10では、常時、サービスサーバ100によるプッシュサービスの提供タイミングになったときに、SETリクエスト情報、またはGETリクエスト情報などを含んだXMPPレスポンス情報を受信することができる準備ができていることになる。すなわち、常時、多機能機10に、プッシュサービスを利用させることができる。
なお、本実施形態では、XMPPコネクションの確立から、タイムアップ時間の経過までに、XMPPコネクションが切断されている可能性がある。すなわち、本実施形態の説明で述べている「常時」は、ほとんどの時間プッシュサービスを利用できれば、わずかな時間だけ、プッシュサービスを利用できない時間があってもよい、という程度の概念である。
なお、タイムアップ時間は、XMPPコネクションの確立から、XMPPレスポンス情報の返信がしばらくなかったとしても、多機能機10から仲介サーバ60までの間にある機器がXMPPコネクションの切断をしないであろう時間を設定しておくと、都合が良い。たとえば、1分を設定しておいてもよい。もちろん、1分より長い時間を設定しておいてもよい。また、多機能機10から仲介サーバ60までの間にある機器がXMPPコネクションを切断することがほとんどない場合、タイムアップ時間をごく長く設定しておいてもよい。たとえば、24時間を設定しておいてもよい。また、タイムアップ時間を用いた、生存通知情報の送信以降の処理を一切行わないようにしてもよい。
また、S239において、イベントがタイマーのタイムアップではないと判断された場合(S239:NO)には、S251へ進む。S251においてCPU22は、S238で検出されたイベントが、ネットワークインターフェース16が第2要求情報を受信したことによって発生したイベントであるか否かを判断する。第2要求情報は、XMPPセッションを介して、仲介サーバ60から多機能機10へ送信される情報である。第2要求情報の一例としては、サービスサーバ100が仲介サーバに送信したGETリクエスト情報や、SETリクエスト情報を、多機能機10を送信先として転送した情報が挙げられる。
S251において肯定判断される場合(S251:YES)には、S261へ進む。S261においてCPU22は、第2要求情報を解析して、第2要求情報に対応する応答情報を取得する。第2要求情報がGETリクエスト情報である場合に、オブジェクトIDによって指定される、メモリ24に記憶されたMACアドレスを示す情報、IPアドレスを示す情報、多機能機10の装置状態を示す各種情報などを、オペレーティングシステムを介して読み出すことで取得することが、応答情報の取得の例である。第2要求情報がSETリクエスト情報である場合に、オブジェクトIDによって指定される、メモリ24に記憶された設定情報などを、オペレーティングシステムを介して変更し、変更結果を示す情報を生成することで取得することが、応答情報の取得の例である。
またCPU22は、第2要求情報に含まれていたリクエストIDを、応答情報に組み込む。例えば、第2要求情報がGETリクエスト情報である場合には、CPU22は、GETリクエスト情報に含まれているオブジェクトIDによって指定される情報を含んだGETレスポンス情報を生成する。また例えば、第2要求情報がSETリクエスト情報である場合には、CPU22は、SETリクエスト情報に含まれているオブジェクトIDによって指定される情報を変更するなどの設定処理を実行したことを示す情報を含んだSETレスポンス情報を生成する。
S265においてCPU22は、コネクションレス型のプロトコルであるHTTPに従って、プロトコル処理を介して、S261で生成した応答情報を含んだHTTPリクエスト情報を、仲介サーバ60へ送信させる。
S267においてCPU22は、S265で送信したHTTPリクエスト情報に応答して、仲介サーバ60が多機能機10へ送信したHTTPレスポンス情報を、ネットワークインターフェース16が受信したか否かを判断する。受信していない場合(S267:NO)にはS267へ戻る。一方、受信した場合(S267:YES)にはS236へ戻り、仲介サーバ60との間のXMPPコネクションを新たに確立するための処理を行うので、多機能機10は、再度プッシュサービスを利用することが可能になる。
一方、S251において、S238で検出されたイベントが第2要求情報の受信ではないと判断された場合(S251:NO)には、S253へ進む。S253においてCPU22は、S238で検出されたイベントが、セッション維持モードを「オフ」にする操作によって入力イベントが発生したのであるか否かを判断する。否定判断される場合(S253:NO)にはS257へ進み、S217と同様に、CPU22は、入力された操作に応じた処理を実行し、S238へ戻る。一方、肯定判断される場合(S253:YES)にはS255へ進み、メモリ24に記憶されているモード情報を「オフ」に設定し、S211へ戻る。
<仲介サーバ60の動作>
図4および図5のフローを用いて、仲介サーバ60の詳細な動作について説明する。図4のフローは、例えば、仲介サーバ60の電源が投入されることに応じて開始されてもよい。S311においてCPU72は、管理タイマー処理をスタートさせる。管理タイマー処理については後述する。S313においてCPU72は、イベントが発生したか否かを判断する。発生していない場合(S313:NO)にはS313へ戻り、発生した場合(S313:YES)にはS315へ進む。S315においてCPU72は、発生したイベントが、多機能機10または11からのレジスタ情報をネットワークインターフェース62が受信したことによって発生したイベントであるか否かを判断する。肯定判断される場合(S315:YES)にはS317へ進み、CPU72は、受信したレジスタ情報をデバイスデータベース76に登録する。そしてS313へ戻る。
なお、CPU72は、レジスタ情報の受信に際して、PINコードなどの認証情報を用いて、多機能機10または11を認証してもよい。この場合、CPU72は、多機能機10または11レジスタ情報を登録すべき装置であると認証できた場合に、レジスタ情報をデバイスデータベース76に登録してもよい。
一方、S315において否定判断される場合(S315:NO)には、S321へ進む。S321においてCPU72は、発生したイベントが、プロトコル処理によって多機能機10または11との間でXMPPセッションが確立したことにより発生したイベントであるか否かを判断する。プロトコル処理では、<多機能機10の動作>のタイトルを付した部分において先に説明した手順で、XMPPセッションの確立が行われる。肯定判断される場合(S321:YES)には、S323へ進む。
S323においてCPU72は、XMPPセッションを確立した多機能機に関する通信ステータス情報およびリクエストIDを記憶する領域が、多機能機管理データベース77に存在するか否かを判断する。存在する場合(S323:YES)にはS313へ戻り、存在しない場合(S323:NO)にはS325へ進む。S325においてCPU72は、多機能機管理データベース77に、XMPPセッションを確立した多機能機に関する通信ステータス情報およびリクエストIDを記憶する領域を生成する。そしてS313へ戻る。
一方、発生したイベントがXMPPセッションが確立したことにより発生したイベントではない場合(S321:NO)には、S341へ進む。S341においてCPU72は、発生したイベントが、XMPPセッションを確立した多機能機との間で、プロトコル処理によって、XMPPコネクションが確立したことにより発生したイベントであるか否かを判断する。プロトコル処理では、<多機能機10の動作>において先に説明した手順で、XMPPコネクションの確立が行われる。肯定判断される場合(S341:YES)には、S342へ進む。S342においてCPU72は、確立したXMPPコネクションを識別するコネクション情報を、メモリ74に記憶させる。そしてS327へ進む。
S327においてCPU72は、多機能機管理データベース77に記憶された、XMPPコネクションを確立した多機能機に関する通信ステータス情報を、「オンライン」に設定する。S329においてCPU72は、XMPPコネクションを確立した多機能機に関する不図示の管理タイマーをスタートさせる。そしてS313へ戻る。管理タイマーは、XMPPコネクションを確立した多機能機それぞれについて設けられるタイマーであって、XMPPコネクションの確立からタイムアップ時間が経過していないかを判断するソフトウェアタイマーである。管理タイマーは、XMPPコネクションの確立からタイムアップ時間が経過した場合、タイムアップしたことを示すイベントを出力する。タイムアップ時間は、たとえば2分に設定される。
一方、S341において否定判断される場合(S341:NO)には、S331へ進む。S331においてCPU72は、発生したイベントが管理タイマーのタイムアップであるか否かを判断する。肯定判断される場合(S331:YES)にはS333へ進み、CPU72は、多機能機管理データベース77に記憶された、タイムアップした管理タイマーに対応する多機能機に関する通信ステータス情報を「オフライン」に設定する。そしてS313へ戻る。一方、否定判断される場合(S331:NO)には、S343へ進む。
S343においてCPU72は、発生したイベントが、サービスサーバ100または120からのHTTPリクエスト情報をネットワークインターフェース62が受信したことにより発生したイベントであるか否かを判断する。否定判断される場合(S343:NO)にはS361に進み、肯定判断される場合(S343:YES)にはS345へ進む。S345においてCPU72は、HTTPリクエスト情報に含まれる情報を、プロトコル処理を介して取得し、取得した情報がいずれの情報であるかを判断する。
HTTPリクエスト情報にデバイスID問合せ情報が含まれている場合(S345:デバイスID問合せ情報)には、S347へ進む。デバイスID問合せ情報は、サービスサーバ100または120からプッシュサービスを受ける多機能機のデバイスIDの返信を仲介サーバ60に要求することを示す情報である。S347においてCPU72は、デバイスID問合せ情報に対応する多機能機のデバイスIDを、デバイスデータベース76内から検出する。そしてCPU72は、プロトコル処理を介して、検出されたデバイスIDを含んだHTTPレスポンス情報を、デバイスID問合せ情報の送信元であるサービスサーバを送信先として送信させる。
一方、HTTPリクエスト情報に第1要求情報が含まれている場合(S345:第1要求情報)には、S349へ進む。第1要求情報は、サービスサーバ100または120から出力される情報である。第1要求情報の一例としては、GETリクエスト情報や、SETリクエスト情報などが挙げられる。第1要求情報は、デバイスID、オブジェクトID、などを含んでいる。
S349においてCPU72は、第1要求情報の送信先の多機能機である通信先多機能機が、オフラインであるか否かを、多機能機管理データベース77に記憶された通信ステータス情報に基づいて判断する。具体的には、第1要求情報に含まれるデバイスIDに対応する多機能機の通信ステータス情報が「オフラインである」か否かを判断する。通信先多機能機がオフラインではないと判断される場合(S349:NO)にはS353へ進む。
S353においてCPU72は、リクエストIDを生成する。そして、生成したリクエストIDを、S343で受信した第1要求情報に関連付けて、メモリ74に記憶させる。リクエストIDは、例えば、第1要求情報の受信時刻でもよいし、一意に作成された番号でもよい。
S355においてCPU72は、XMPPセッションを用いて、第2要求情報を通信先多機能機へ送信する。具体的には、CPU72は、プロトコル処理を介して、第2要求情報を含んだ、送信先多機能機との間で確立したXMPPコネクションにおけるXMPPレスポンス情報を、送信先多機能機へ送信させる。第2要求情報は、第1要求情報にリクエストIDが付加された情報である。第2要求情報は、少なくとも、リクエストIDとオブジェクトIDを含んでいればよく、第1要求情報に含まれていたデバイスIDは含んでいなくても良い。そしてS313へ戻る。
一方、S349において、通信先多機能機がオフラインであると判断される場合(S349:YES)には、S351へ進む。S351においてCPU72は、プロトコル処理を介して、第1要求情報を通信先多機能機へ転送することができないことを示すエラー情報を含んだHTTPレスポンス情報を、第1要求情報の送信元であるサービスサーバへ送信させる。そしてS313へ戻る。
一方、S343において、否定判断された場合(S343:NO)には、S361へ進む。S361においてCPU72は、発生したイベントが、多機能機10または11からのHTTPリクエスト情報を受信したことにより発生したイベントであるか否かを判断する。なお、判断対象となるHTTPリクエスト情報は、多機能機10または11との間で確立したXMPPセッションにおけるXMPPリクエスト情報とは異なるHTTPリクエスト情報である。S361において否定判断された場合(S361:NO)にはS313へ戻り、肯定判断される場合(S361:YES)にはS364へ進む。S364においてCPU72は、HTTPリクエスト情報の送信元である多機能機に対応する管理タイマーをリセットする。
S369においてCPU72は、HTTPリクエスト情報に含まれる情報を、プロトコル処理を介して取得し、取得した情報がいずれの情報であるかを判断する。HTTPリクエスト情報に応答情報が含まれている場合(S369:応答情報)にはS373へ進む。
S373においてCPU72は、応答情報に含まれているリクエストIDを読み出す。そして、応答情報に含まれているリクエストIDと一致するリクエストIDに対応する第1要求情報を、多機能機管理データベース77の中から検出する。そしてCPU72は、プロトコル処理を介して、応答情報を含んだHTTPレスポンス情報を、検出した第1要求情報の送信元であるサービスサーバへ送信させる。
S375においてCPU72は、プロトコル処理を介して、応答情報を含んだHTTPリクエスト情報に対するHTTPレスポンス情報を、HTTPリクエスト情報の送信元である多機能機へ返信させる。そしてS313へ戻る。
一方、S369において、HTTPリクエスト情報に生存通知情報が含まれていると判断された場合(S369:生存通知情報)には、S365へ進む。S365においてCPU72は、プロトコル処理を介して、生存応答情報を含んだHTTPレスポンス情報を、生存通知情報を含んだHTTPリクエスト情報の送信元である多機能機へ返信させる。そしてS313へ戻る。
<サービスサーバ100、120の動作>
図6のフローを用いて、サービスサーバ100、または120の詳細な動作について説明する。図6のフローは、例えば、サービスサーバ100、または120の電源が投入されることに応じて開始されてもよい。S509においてCPU103は、サービスの提供対象の多機能機を識別するためのデバイスIDの取得命令が、入力されたか否かを判断する。入力されていない場合(S509:NO)にはS523へ進み、入力された場合(S509:YES)にはS513へ進む。デバイスIDの取得命令は、サービスサーバ100への操作によって入力されてもよい。
S513においてCPU103は、デバイスID問合せ情報を含んだHTTPリクエスト情報を、仲介サーバ60へ送信する。S517においてCPU103は、S513で送信したHTTPリクエスト情報に対して仲介サーバ60が送信した、デバイスIDを含むHTTPレスポンス情報を受信する。
S523においてCPU103は、第1要求情報の送信命令が入力されたか否かを判断する。第1要求情報の送信命令は、S517で取得したデバイスIDで識別される多機能機へ、第1要求情報を送信する命令である。第1要求情報の送信命令が入力されていない場合(S523:NO)にはS509へ戻り、入力された場合(S523:YES)にはS529へ進む。デバイスIDの取得命令は、サービスサーバ100への操作によって入力されてもよい。
S529においてCPU103は、第1要求情報を含むHTTPリクエスト情報を、仲介サーバ60へ送信する。第1要求情報には、S517で取得したデバイスIDが含まれている。S533においてCPU103は、S529で送信したHTTPリクエスト情報に対して仲介サーバ60が送信した、応答情報を含むHTTPレスポンス情報を受信する。そしてS509へ戻る。
<通信システム2の第1動作例>
図7のシーケンス図を用いて、通信システム2の第1動作例について説明する。図7では、多機能機10と仲介サーバ60の間のXMPPセッションが維持されているときに、サービスサーバ100から多機能機10まで、仲介サーバ60を介してGETリクエスト情報が伝達される場合を説明する。また、多機能機10セッション維持モードが「オン」に設定されている場合を説明する。
多機能機10の電源が投入されると、セッション維持モードが「オン」に設定されているため(S211:YES)、多機能機10はレジスタ情報を仲介サーバ60へ送信する(S231)。仲介サーバ60は、レジスタ情報を受信し(S315:YES)、受信したレジスタ情報をデバイスデータベース76に登録する(S317)。多機能機10がXMPPセッション確立要求情報を送信することを契機として、多機能機10と仲介サーバ60はXMPPセッションを確立する(S233、S321:YES)。多機能機10がXMPPコネクション確立要求情報を送信することで、多機能機10と仲介サーバ60との間のXMPPコネクションが確立される。(S236、S341:YES)
多機能機10にサービスを提供する処理を開始するために、多機能機10を識別するデバイスIDを取得する命令が、サービスサーバ100に入力される(S509:YES)。サービスサーバ100は、多機能機10のデバイスIDを要求するデバイスID問合せ情報を仲介サーバ60へ送信する(S513)。仲介サーバ60は、デバイスID問合せ情報を受信すると(S345:デバイスID問合わせ情報)、多機能機10のデバイスIDを検索して、サービスサーバ100へ送信する(S347)。
多機能機10は、タイマーがタイムアップすると(S239:YES)、仲介サーバ60に生存通知情報を送信する(S241)。仲介サーバ60は、生存通知情報を受信すると(S361:生存通知情報)、生存応答情報を返信する(S365)。多機能機10は、生存応答情報を受信すると(S244:YES)XMPPコネクション確立要求情報を送信する(S236)ので、多機能機10と仲介サーバ60との間で確立しているXMPPセッションにおけるXMPPコネクションが維持される(S236、S341:YES)。
なお、多機能機10は、生存応答情報を受信しないと(S235:NO)XMPPセッション確立要求情報を送信するので、多機能機10と仲介サーバ60との間のXMPPセッションが維持される(S233、S321:YES)。なお、多機能機10と仲介サーバ60で確立していたXMPPコネクションが無効になってしまってから、XMPPコネクション確立要求情報を送信する場合もある。また、多機能機10と仲介サーバ60で確立していたXMPPセッションが無効になってしまってから、XMPPセッション確立要求情報を送信する場合もある。すなわち、すなわち、本実施形態の説明で述べている「維持」は、ほとんどの時間でコネクションやセッションが確立して、わずかな時間だけ、確立していない時間があってもよい、という程度の概念である。
サービスサーバ100に、多機能機10から情報を取得するためのリクエスト情報である第1GETリクエスト情報の送信命令が入力されると(S523:YES)、サービスサーバ100は、第1GETリクエスト情報を仲介サーバ60へ送信する(S529)。このとき、第1GETリクエスト情報の最終的な送信先は、多機能機10とされる。仲介サーバ60は、第1GETリクエスト情報を受信すると(S343:YES、S345:第1要求情報)、第1GETリクエスト情報の送信先の多機能機10がオフラインではないと判断し(S349:NO)、リクエストIDを生成する(S353)。また仲介サーバ60は、第1GETリクエスト情報に関連付けて、リクエストIDを多機能機管理データベース77に記憶させる(S353)。
仲介サーバ60は、第1GETリクエストに生成したリクエストIDを付加して、第2GETリクエスト情報を生成する。そして、生成した第2GETリクエスト情報を、XMPPセッションを用いて多機能機10へ送信する(S355)。具体的には、生成した第2GETリクエストを含んだ、多機能機10との間で確立しているXMPPコネクションにおけるXMPPレスポンス情報を多機能機10へ送信する。
多機能機10は、第2GETリクエスト情報を受信すると(S251:YES)、第2GETリクエスト情報を解析して、解析して取得した情報に基づく処理を実行し、GETレスポンス情報を取得する(S261)。例えば、第2GETリクエスト情報が装置情報の取得を要求する情報である場合には、多機能機10の装置情報を含んだGETレスポンス情報を取得する。このときGETレスポンス情報には、第2GETリクエスト情報に付加されていたリクエストIDが付加される。多機能機10は、GETレスポンス情報を含んだHTTPリクエスト情報を、仲介サーバ60へ送信する(S265)。
仲介サーバ60は、GETレスポンス情報を含んだHTTPリクエスト情報を受信すると(S369:YES)、GETレスポンスに含まれているリクエストIDを読み出す。仲介サーバ60は、GETレスポンスに含まれているリクエストIDと一致するリクエストIDが紐付けられている第1GETリクエスト情報を、多機能機管理データベース77の中から検出する(S373)。そして仲介サーバ60は、多機能機10から受信したGETレスポンス情報を、検出した第1GETリクエスト情報に対するGETレスポンス情報として、サービスサーバ100へ送信する(S373)。
また仲介サーバ60は、GETレスポンス情報を受信(S369)することに応じて、HTTPレスポンス情報を多機能機10へ返信する(S375)。HTTPレスポンス情報を受信した多機能機10は、仲介サーバ60との間のXMPPコネクションを新たに確立するための処理を行うので、多機能機10は、再度プッシュサービスを利用することが可能になる。
<通信システム2の第2動作例>
図8のシーケンス図を用いて、通信システム2の第2動作例について説明する。図8では、多機能機10と仲介サーバ60の間のXMPPセッションが維持されていないときに、サービスサーバ100から多機能機10まで、仲介サーバ60を介してGETリクエスト情報が伝達されない場合を説明する。
図8の期間P1における動作は、図7の期間P1における動作と同様であるため、説明を省略する。多機能機10の電源がオフにされた場合には、多機能機10と仲介サーバ60との間で確立していたセッションを識別するセッションIDが多機能機10には保存されないので、第1のセッションが切断されたことになる。この場合、多機能機10からは生存通知情報が送信されないので、仲介サーバ60においては、多機能機10に対応する管理タイマーにおいて、タイムアップが発生する(S331:YES)ので、タイムアップが発生した管理タイマーが対応する多機能機10の通信ステータス情報を「オフライン」に設定する(S333)。
仲介サーバ60が第1GETリクエスト情報を受信したとしても(S343:YES、S345:第1要求情報)、第1GETリクエスト情報の送信先の多機能機10がオフラインであると判断される(S349:YES)。そのため、仲介サーバ60は、エラー情報をサービスサーバ100へ送信する(S351)。
<効果>
多機能機10とインターネット6との間には、ルータ7が備えられている。ルータ7は、ファイアウォール機能を有している場合がある。ファイアウォール機能では、ルータ7がインターネット6側の装置から受信した情報が、多機能機10が送信元である情報への応答情報であれば、インターネット6側の装置が送信した情報を、多機能機10へ転送する処理が行われる。一方、ルータ7がインターネット6側の装置から受信した情報が、多機能機10が送信元である情報への応答情報でなければ、インターネット6側の装置が送信した情報を、多機能機10へ転送しない処理が行われる。この場合、前述したプッシュサービスを実行するために、サービスサーバから多機能機10へ、インターネット6を介して要求情報を送信する場合がある。この場合、ファイアウォール機能等を超えるための処理をサービスサーバで行う必要があるため、サービスサーバの処理負担が大きくなる。本明細書に開示されている技術では、サービスサーバから仲介サーバ60を介して多機能機10へ、要求情報を送信することができる。そして仲介サーバ60から多機能機10へは、セッション確立型のXMPP over BOSHに従って確立されているセッションを用いて、要求情報が送信される(S355)。XMPP over BOSHに従って確立されているセッションを用いることにより、要求情報をインターネット6側から多機能機10へ送信するという、いわゆるサーバプッシュが可能となる。従って、ルータ7がファイアウォール機能やアドレス変換機能を有している場合においても、サービスサーバがファイアウォール機能やアドレス変換機能を超えるための処理を行うことなく、サービスサーバから多機能機10へ要求情報を送信することが可能となる。よって、サービスサーバでの処理負担を軽減することができる。
本明細書に開示されている技術では、多機能機10と仲介サーバ60との間でサーバプッシュが可能な状態になってから、所定の時間が経過した場合にも、仲介サーバ60からの前記サーバプッシュが可能な状態を維持する。これにより、セッション確立型のプロトコルを用いて、プッシュサービスを常時提供することが可能となる。従って、サービスサーバから仲介サーバ60へ送信されてくる要求情報を、即時に仲介サーバ60から多機能機10へ転送することが可能となる。よって、サービスサーバと多機能機10との間の通信応答速度を高めることや、通信のリアルタイム性を高めることが可能となる。
XMPP over BOSHに従ってコネクションを確立する処理の方が、HTTPに従ってコネクションを確立する処理よりも、処理が複雑化し処理時間がかかってしまう場合がある。例えば、XMPP over BOSHに従ってコネクションを確立するXMPP処理部63が、仲介サーバ60とは別体の外部サーバに備えられている場合などには、XMPP over BOSHに従ったコネクションを確立するために外部サーバを経由する必要が生じるため、処理が複雑化してしまう。本明細書に開示されている技術では、仲介サーバ60から多機能機10へ送信された要求情報に対する応答情報を、セッションレス型のHTTPに従った第2のコネクションを用いて、HTTPのリクエストとして、多機能機10から仲介サーバ60へ送信することができる(S265)。これにより、セッション確立型のXMPP over BOSHに従って確立されているセッションを用いて応答情報を送信する場合に比して、より簡略な処理によって、より迅速に、仲介サーバ60へ応答情報を送信することが可能となる。
本明細書に開示されている技術では、仲介サーバ60は、サービスサーバから要求情報を受信すると(S343:YES)、リクエストIDを生成し(S353)、生成したリクエストIDを受信した要求情報に関連付けてメモリ74に記憶させる(S353)。また、リクエストIDが付加された要求情報を、多機能機10へ転送する(S355)。そして、要求情報に対する応答情報を多機能機10から受信すると(S369:YES)、応答情報に含まれているリクエストIDを読み出し(S373)、読み出したリクエストIDが紐付けられている要求情報を多機能機管理データベース77から検出する(S373)。これにより、直接にサービスサーバと多機能機との間でサーバプッシュを可能にするセッションを確立する負荷なく、要求情報に正しく対応する応答情報に関連するプッシュサービスを提供することができる。また、サービスサーバが複数存在している場合や、多機能機が複数存在している場合においても、直接に複数のサービスサーバと多機能機との間でサーバプッシュを可能にするセッションを確立する必要を無くすことができる。
本明細書に開示されている技術では、HTTPのリクエストとして、応答情報を多機能機10から受信すると(S369:YES)、HTTPレスポンスを多機能機10へ返信する(S375)。これにより、応答情報を出力した多機能機10が、タイムアウトが発生するまでレスポンスデータの返信を待機する、あるいは、タイムアウトが発生したと判断し、応答情報の送信を繰り返すといった、コネクションが正常に終了しないために発生する事態の発生を防止することができる。よって、多機能機10、仲介サーバ60、およびLAN4の負荷を低減することができる。
本明細書に開示されている技術では、多機能機10と仲介サーバ60とのセッションが切断されており、要求情報を多機能機10に送信することができない場合には(S349:YES)、要求情報に対するHTTPレスポンスとして、サービスサーバへエラー情報を出力することができる(S351)。これにより、コネクションが正常に終了しないために発生する事態であって、多機能機10、仲介サーバ60、およびインターネット6の負荷となってしまう事態の発生を防止することができる。
本明細書に開示されている技術では、メモリ24に記憶されているモード情報によって、セッションを確立するか否かを設定することができる(S211)。多機能機10と仲介サーバ60との間のセッションが切断されたとしても、多機能機10がセッション維持モードであれば、多機能機10から確立要求情報が送信され、セッションを再度確立させることができる。これにより、セッション確立型のプロトコルを用いて、プッシュサービスを常時提供することが可能となる。
本明細書に開示されている技術では、多機能機10の製造時にセッション維持モードであることを示すモード情報をメモリ24に記憶させることで、多機能機10が起動したときに、セッションを確立することができる。これにより、ベンダやディーラなど、多機能機10の製造側または販売側で、プッシュサービスを常時提供させたい多機能機10を決定し、決定した多機能機10にプッシュサービスを利用させることが可能となる。
本明細書に開示されている技術では、プルサービスの利用に用いるHTTPを用いて、HTTPの上位のプロトコルであるXMPP over BOSHのセッションを確立できる。これにより、多機能機10や仲介サーバ60がセッションを確立するためだけに新たなプロトコルに対応する必要なく、プッシュサービスを常時提供することが可能となる。
本明細書に開示されている技術では、プルサービスの利用に用いるHTTPを用いて、XMPP over BOSHのサーバプッシュを可能にするためのセッションを確立できる。これにより、インターネットに接続する装置であれば一般的に用いられているHTTPに関する処理を行う構成、たとえばHTTPの処理を行うプロトコルスタックを用いて、応答情報に対応するプッシュサービスを提供することができるので、より都合が良い。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例が含まれる。
<変形例>
XMPPコネクションを仲介サーバ60との間で確立(S236)している状態でタイムアップ時間が経過した場合(S234:YES)に、XMPPセッションを仲介サーバ60と確立する処理(S233)や、生存通知情報を送信する処理(S241)を実行しないとしてもよい。この場合、タイムアップ時間が経過することに応じて、MPPコネクションを仲介サーバ60との間で確立する処理(S236)を実行してもよい。またこの場合、タイムアップ時間が経過することに応じて、仲介サーバ60との間で新たなXMPPセッションを確立する処理(S233)を実行してもよい。
サービスサーバから出力される情報であるデバイスID問合せ情報は、プッシュサービスの利用者のアカウントIDなどを含んでいてもよい。この場合仲介サーバ60のCPU72は、S347において、デバイスID問合せ情報に含まれる、アカウントIDなどの識別情報を用いて、アカウントIDに対応する多機能機のデバイスIDを、デバイスデータベース76内から検出してもよい。サービスサーバから出力される情報である第1要求情報は、アカウントIDなどを含んでいてもよい。この場合仲介サーバ60のCPU72は、第1要求情報に含まれる、アカウントIDなどの識別情報を用いて、アカウントIDに対応する多機能機のデバイスIDを、デバイスデータベース76内から検出してもよい。S349において、アカウントIDに対応する多機能機を、第1要求情報の送信先の多機能機である通信先多機能機として特定し、「オフラインである」か否か判定するとしてもよい。
S355において仲介サーバ60のCPU72は、サービスサーバから受信した第1要求情報をそのまま利用して第2要求情報を生成してもよい。またCPU72は、受信した第1要求情報を、多機能機10および11が要求情報として理解できるデータに変換した上で、第2要求情報を生成してもよい。
通信システム2の第1動作例において、HTTPレスポンスを多機能機10へ送信する処理(S375)は、応答情報をサービスサーバへ送信する処理(S373)の後に行われる場合を説明したが、この形態に限られない。これらの処理の順番は逆であってもよい。
要求情報は、GETリクエスト、SETリクエストに限られず、他の種類のリクエスト情報であってもよい。
仲介サーバ60と通信可能に接続される多機能機は、多機能機10および11に限られず、3台以上存在してもよい。インターネット6に接続されるサービスサーバは、サービスサーバ100に限られず、2台以上存在してもよい。プッシュサービス、プルサービスを利用する機器として、多機能機10および11を例に挙げたが、これに限らない。指示データなどに基づいて、所定の画像を刺繍、キルティングするミシンでもよい。画像データに基づいた作品、製品を形成するために、飾り縫い、縫製などをおこなうミシンでもよい。指示データなどに基づいて、吹き付け、削りだしなどで、3D画像を生成する3Dプリンタでもよい。画像データなどに基づいて、吹き付け、削りだしなどで、作品、製品を生成する作品製造装置、製品製造装置でもよい。画像データの例として3D画像データや3DCADデータを用いてもよい。対象物の輪郭を光学的、電気的に検知するセンサからの出力データや、対象物に取り付けたセンサからの出力データに基づいて画像データを作成するスキャナでもよい。センサからの出力に基づいて、対象物の形状や動きを示すデータを作成するスキャナでもよい。画像データの例として動画データや3D画像データを用いてもよい。
多機能機10および11は、画像処理装置の一例である。サービスサーバ100および120は、サーバ装置の一例である。仲介サーバ60は、中継装置の一例である。CPU72および22は、プロセッサの一例である。S343を実行するCPUは、サーバ要求情報取得手段の一例である。XMPPセッション確立要求情報は、確立要求データの一例である。XMPP over BOSHは、第1のプロトコルの一例である。HTTPは、第2のプロトコルおよび第3のプロトコルの一例である。S321を実行するCPUは、確立要求情報取得手段の一例である。第1要求情報に含まれるGETリクエストおよびSETリクエストは、サーバ要求情報の一例である。S355を実行するCPUは、サーバ要求情報出力手段の一例である。LAN4は、第1のネットワークの一例である。ルータ7および8は、通信制御装置の一例である。インターネット6は、第2のネットワークの一例である。メモリ74は、記憶手段の一例である。S317を実行するCPUは、画像処理装置識別情報出力手段の一例である。S369を実行するCPUは、応答情報取得手段の一例である。S373を実行するCPUは、応答情報出力手段の一例である。リクエストIDは、第1識別情報の一例である。S353を実行するCPUは、第1識別情報記憶制御手段の一例である。S351を実行するCPUは、エラー情報出力手段の一例である。S361を実行するCPUは、第3確立要求情報取得手段の一例である。S341を実行するCPUは、第2確立要求情報取得手段の一例である。S373を実行するCPUは、コネクション特定手段の一例である。S233を実行するCPUは、確立要求情報出力手段の一例である。S251を実行するCPUは、サーバ要求情報取得手段の一例である。S241を実行するCPUは、認識要求情報出力手段の一例である。S244を実行するCPUは、サーバ認識情報取得手段の一例である。S236を実行するCPUは、第2確立要求情報出力手段の一例である。S241を実行するCPUは、認識要求情報出力手段の一例である。S263を実行するCPUは、第4確立要求情報出力手段の一例である。S373を実行するCPUは、応答情報出力手段の一例である。S217、または、S257を実行するCPUは、関連情報要求情報出力手段の一例である。S217、または、S257を実行するCPUは、関連情報取得手段の一例である。
4:LAN、6:インターネット、7および8:ルータ、10および11:多機能機、22および72および103:CPU、60:仲介サーバ、100、110、および120:サービスサーバ
本明細書に実施形態として記載されている中継装置等によれば、サーバ装置が第1のプロトコルとは異なる第3のプロトコルを用いて送信したサーバ要求情報を、中継装置を介して、画像処理装置まで第1のプロトコルを用いて伝達することが可能となる。これにより、サーバ装置が第1のプロトコルに対応する必要なく、画像処理装置へプッシュサービスを常時提供することができる。
本明細書に実施形態として記載されている中継装置等によれば、画像処理装置と中継装置との間で確立したセッションを用いる必要なく、サーバ要求情報に対して画像処理装置が第1のプロトコルとは異なる第2のプロトコルを用いて送信した応答情報を、中継装置を介して、サーバ装置まで伝達することが可能となる。これにより、サーバプッシュを可能とするためのセッションをサーバプッシュとは異なる目的である応答情報の送信に使用することなく、応答情報に関連するプッシュサービスを常時提供することができる。
本明細書に実施形態として記載されている中継装置等によれば、サーバ装置側からセッションレス型の第3のプロトコルを用いて送信した特定サーバ要求情報と、セッション確立型第1のプロトコルを用いて通信先画像処理装置まで伝送された特定サーバ要求情報に対して画像処理装置が送信した応答情報とが、互いに対応する一対の要求−応答の対応関係にある情報であるか否かを認識することができる。よって、中継装置を介して、通信先画像処理装置から特定サーバ要求情報の送信元であるサーバ装置まで応答情報を伝達することが可能となる。これにより、直接にサーバ装置と画像処理装置との間でサーバプッシュを可能にするセッションを確立する負荷なく、特定サーバ情報に正しく対応する応答情報に関連するプッシュサービスを提供することができる。また、サーバ装置が複数存在していたとしても、直接に複数のサーバ装置と画像処理装置との間でサーバプッシュを可能にするセッションを確立する負荷なく特定サーバ情報の送信元であるサーバ装置にて、特定サーバ情報に正しく対応する応答情報に関連するプッシュサービスを提供することができる。また、画像処理装置が複数存在していたとしても、直接にサーバ装置と複数の画像処理装置との間でサーバプッシュを可能にするセッションを確立する負荷なく特定サーバ情報の送信元であるサーバ装置にて、特定サーバ情報に正しく対応する応答情報に関連するプッシュサービスを常時提供することができる。
本明細書に実施形態として記載されている画像処理装置等によると、プルサービスの利用に用いる第3のプロトコルを用いて、第3のプロトコルの上位のプロトコルである第1のプロトコルのセッションを確立できる。これにより、画像処理装置や中継装置がセッションを確立するためだけに新たなプロトコルに対応する必要なく、プッシュサービスを常時提供することが可能となる。
上記の技術を実現するための通信システムも、新規で有用である。
以下の特徴は、出願当初の特許請求の範囲に記載の要素である。
(項目1)
画像処理装置およびサーバ装置とネットワークを介して通信することが可能なネットワークインターフェースと、
プロセッサと、
を備える中継装置であって、
前記プロセッサは、
前記サーバ装置が前記中継装置あてに送信した、前記画像処理装置に対する要求を示すサーバ要求情報を、前記ネットワークインターフェースを介して取得するサーバ要求情報取得手段と、
前記画像処理装置が前記中継装置あてに送信した確立要求情報であって、セッション確立型である第1のプロトコルに従った、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を前記画像処理装置まで伝達させるサーバプッシュを可能とするためのセッションを前記中継装置と前記画像処理装置との間で確立することを要求する前記確立要求情報を、前記ネットワークインターフェースを介して取得する確立要求情報取得手段と、
前記サーバ要求情報を前記サーバ要求情報取得手段が取得した場合に、前記確立要求情報取得手段が前記確立要求情報を取得済であるならば、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションを用いて前記画像処理装置あてに送信するよう出力するサーバ要求情報出力手段と、
して機能することを特徴とする中継装置。
(項目2)
前記中継装置は、第1のネットワークと通信制御装置を介して接続した第2のネットワークに接続することが可能であり、
前記通信制御装置は、前記セッションを用いずに、前記第1のネットワーク以外のネットワークに接続した装置から前記第1のネットワークに接続した装置あてに送信された要求情報は、前記第1のネットワークに接続した装置に転送せず、
前記確立要求情報取得手段は、前記第1のネットワークに接続している前記画像処理装置が前記中継装置あてに送信した前記確立要求情報を、前記ネットワークインターフェースを介して取得し、
前記サーバ要求情報取得手段は、前記第1のネットワークに接続していない前記サーバ装置が前記中継装置あてに送信した前記サーバ要求情報を、前記ネットワークインターフェースを介して取得し、
前記サーバ要求情報出力手段は、前記サーバ装置が送信した前記サーバ要求情報を前記サーバ要求情報取得手段が取得した場合に、前記確立要求情報取得手段が、前記第1のネットワークに接続している前記画像処理装置が送信した前記確立要求情報を取得済であるならば、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションを用いて前記第1のネットワークに接続している前記画像処理装置あてに送信するよう出力する、
ことを特徴とする項目1に記載の中継装置。
(項目3)
前記中継装置は、
複数の前記第1のネットワークそれぞれに備えられた前記通信制御装置を介して複数の前記第1のネットワークと接続した前記第2のネットワークに接続することが可能であり、
前記確立要求情報取得手段は、複数の前記第1のネットワークそれぞれに接続している複数の前記画像処理装置が前記中継装置あてに送信した前記確立要求情報を、前記ネットワークインターフェースを介して取得し、
前記サーバ要求情報取得手段は、前記サーバ装置が前記中継装置あてに送信した、複数の前記画像処理装置のうちから通信先として選択された画像処理装置である通信先画像処理装置に対する前記サーバ要求情報である特定サーバ要求情報を、前記ネットワークインターフェースを介して取得し、
前記サーバ要求情報出力手段は、前記特定サーバ要求情報を前記サーバ要求情報取得手段が取得した場合に、前記確立要求情報取得手段が、前記通信先画像処理装置が送信した前記確立要求情報を取得済であるならば、前記サーバ要求情報取得手段が取得した前記特定サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記通信先画像処理装置との間で確立した前記セッションを用いて、前記通信先画像処理装置あてに送信するよう出力する、
ことを特徴とする項目2に記載の中継装置。
(項目4)
前記プロセッサは、
前記確立要求情報の送信元である画像処理装置である送信元画像処理装置を識別する画像処理装置識別情報を、記憶手段が記憶するよう出力する画像処理装置識別情報出力手段として機能し、
前記画像処理装置識別情報出力手段は、複数の前記画像処理装置の各々についての複数の前記画像処理装置識別情報を前記記憶手段に記憶させることが可能とされており、
前記サーバ要求情報出力手段は、取得した前記サーバ要求情報に含まれている前記画像処理装置識別情報が示す送信元画像処理装置へ、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記セッションを用いて送信するよう出力する、
ことを特徴とする項目3に記載の中継装置。
(項目5)
前記サーバ要求情報取得手段は、前記サーバ装置が前記中継装置あてに送信した、前記第1のプロトコルとは異なる第2のプロトコルに従った前記サーバ要求情報を取得し、
前記サーバ要求情報出力手段は、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記セッションを用いて前記画像処理装置あてに送信するよう出力することを特徴とする項目1〜4のいずれか1項に記載の中継装置。
(項目6)
前記プロセッサは、
前記サーバ装置が前記中継装置あてに送信した、セッションレス型のプロトコルである前記第2のプロトコルに従った、セッションレス型のコネクションを用いて前記サーバ装置が前記中継装置あてに送信した前記サーバ要求情報を取得し、
前記サーバ要求情報出力手段は、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記セッションを用いて前記画像処理装置あてに送信するよう出力することを特徴とする項目5に記載の中継装置。
(項目7)
前記プロセッサは、
前記サーバ要求情報の通信先の画像処理装置である通信先画像処理装置が前記中継装置あてに送信した、前記サーバ要求情報が示す要求に対する応答情報を、前記ネットワークインターフェースを介して取得する応答情報取得手段と、
前記応答情報取得手段が取得した前記応答情報を、前記ネットワークインターフェースを介して、前記サーバ装置あてに送信するよう出力する応答情報出力手段と、
して機能し、
前記応答情報出力手段は、前記応答情報取得手段が取得した前記応答情報を、前記ネットワークインターフェースを介して、前記サーバ装置との間で確立したコネクションを用いて、前記セッションレス型のプロトコルである前記第2のプロトコルに従ったレスポンスデータに含めて、前記サーバ装置あてに送信するよう出力する、
ことを特徴とする項目6に記載の中継装置。
(項目8)
前記プロセッサは、
前記サーバ要求情報の通信先の画像処理装置である通信先画像処理装置が前記中継装置あてに送信した、前記サーバ要求情報が示す要求に対する応答情報を、前記ネットワークインターフェースを介して取得する応答情報取得手段と、
前記応答情報取得手段が取得した前記応答情報を、前記ネットワークインターフェースを介して、前記サーバ装置あてに送信するよう出力する応答情報出力手段と、
して機能することを特徴とする項目1〜7のいずれか1項に記載の中継装置。
(項目9)
前記応答情報取得手段は、前記サーバ要求情報の通信先の画像処理装置である通信先画像処理装置が前記中継装置あてに送信した、前記第1のプロトコルとは異なる第3のプロトコルに従ったデータに含まれる情報を、前記応答情報として取得し、
前記応答情報出力手段は、前記応答情報取得手段が取得した前記応答情報を、前記ネットワークインターフェースを介して、前記サーバ装置あてに送信するよう出力する、
ことを特徴とする項目8に記載の中継装置。
(項目10)
前記プロセッサは、
前記サーバ要求情報の通信先の画像処理装置である通信先画像処理装置が前記中継装置あてに送信した第3の確立要求情報を、前記ネットワークインターフェースを介して取得する第3確立要求情報取得手段と、
して機能し、
前記応答情報取得手段は、セッションレス型のプロトコルである前記第3のプロトコルに従ったセッションレス型のコネクションに従ったリクエストデータに含まれる情報を、前記応答情報として取得し、
前記応答情報出力手段は、前記応答情報取得手段が取得した前記応答情報を、前記ネットワークインターフェースを介して、前記サーバ装置あてに送信するよう出力することを特徴とする項目9に記載の中継装置。
(項目11)
前記プロセッサは、前記サーバ装置が前記中継装置あてに送信した、セッションレス型のプロトコルである第2のプロトコルに従ったセッションレス型のコネクションを前記中継装置と前記サーバ装置との間で確立することを要求する第2の確立要求情報を、前記ネットワークインターフェースを介して取得する第2確立要求情報取得手段として機能し、
前記サーバ要求情報取得手段は、前記サーバ装置との間で確立したセッションレス型のコネクションを用いて前記サーバ装置が前記中継装置あてに送信した前記サーバ要求情報を取得し、
前記サーバ要求情報出力手段は、前記第2のプロトコルに従ったリクエストデータに含まれる情報を、前記サーバ要求情報として前記サーバ要求情報取得手段が取得した場合に、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションを用いて前記画像処理装置あてに送信するよう出力し、
前記プロセッサは、前記サーバ要求情報の通信先の画像処理装置である通信先画像処理装置が前記中継装置あてに送信した第3の確立要求情報を、前記ネットワークインターフェースを介して取得する第3確立要求情報取得手段と、して機能し、
前記第3の確立要求情報は、セッションレス型のプロトコルである前記第3のプロトコルに従ったセッションレス型のコネクションに従ったリクエストデータに含まれる情報を、前記応答情報として取得し、
前記応答情報出力手段は、前記応答情報取得手段が取得した前記応答情報を、前記ネットワークインターフェースを介して、前記サーバ装置との間で確立したコネクションを用いて、前記セッションレス型のプロトコルである前記第2のプロトコルに従ったレスポンスデータに含めて、前記サーバ装置あてに送信するよう出力することを特徴とする項目10に記載の中継装置。
(項目12)
前記中継装置は、複数の前記画像処理装置のうちから通信先として選択された画像処理装置である通信先画像処理装置に対するサーバ要求情報である特定サーバ要求情報を前記サーバ要求情報取得手段が前記サーバ装置から取得することに応じて、取得した前記特定サーバ要求情報を他のサーバ要求情報と区別できるよう識別するための第1識別情報を記憶部に記憶させる第1識別情報記憶制御手段を備え、
前記サーバ要求情報出力手段は、前記サーバ要求情報取得手段が取得した前記特定サーバ要求情報と共に前記第1識別情報を前記通信先画像処理装置へ出力し、
前記応答情報取得手段は、前記応答情報と共に、前記応答情報の元となる特定サーバ要求情報を識別する第2識別情報を前記通信先画像処理装置から取得し、
前記中継装置は、前記応答情報取得手段が前記応答情報と共に、前記第2識別情報を取得した場合に、前記第2識別情報と前記第1識別情報とに基づいて、前記応答情報取得手段が取得した応答情報に対応する特定サーバ要求情報の前記サーバ装置側からの送信に用いられたコネクションを特定する、コネクション特定手段を備え、
前記応答情報出力手段は、前記応答情報取得手段が取得した応答情報を、前記コネクション特定手段が特定したコネクションを用いて、前記第2のプロトコルに従ったレスポンスデータに含めて前記サーバ装置あてに送信するよう出力することを特徴とする項目7に記載の中継装置。
(項目13)
前記通信先画像処理装置に対する前記特定サーバ要求情報を前記サーバ装置から取得した場合に、前記通信先画像処理装置との間の前記セッションが確立されていないことを条件として、エラー情報を、前記画像処理装置との間で確立した前記セッションレス型のコネクションを介して前記サーバ装置へ出力するエラー情報出力手段として前記プロセッサはさらに機能し、
前記要求情報は、前記セッションレス型のコネクションにおけるリクエストデータに含まれており、
前記エラー情報は、前記セッションレス型のコネクションにおけるレスポンスデータに含まれていることを特徴とする項目1〜12の何れか1項に記載の中継装置。
(項目14)
前記応答情報出力手段は、前記応答情報を前記セッションレス型のコネクションにおけるリクエストデータに含まれている情報として前記通信先画像処理装置から取得し、
前記応答情報を取得することに応じて、前記セッションレス型のコネクションにおけるレスポンスデータを前記通信先画像処理装置へ出力するレスポンスデータ出力手段として前記プロセッサがさらに機能することを特徴とする項目7に記載の中継装置。
(項目15)
前記中継装置は、前記要求情報を前記サーバ装置から取得することに応じて、前記要求情報に対応する前記第1識別情報を生成する第1識別情報生成手段を備え、
前記第1識別情報記憶制御手段は、前記第1識別情報生成手段が生成した第1識別情報を、前記記憶部に記憶させ、
前記サーバ要求情報出力手段は、前記サーバ要求情報取得手段が取得した前記特定サーバ要求情報と共に、前記第1識別情報生成手段が生成した前記第1識別情報を前記通信先画像処理装置へ出力し、
前記コネクション特定手段は、前記応答情報取得手段が前記応答情報と共に、前記第2識別情報を取得した場合に、前記記憶部が記憶している前記第1識別情報と、前記応答情報取得手段が取得した前記第2識別情報と、が一致する場合に、前記第1識別情報が対応する要求情報の、前記サーバ装置からの送信に用いられたコネクションを特定する、
ことを特徴とする項目12に記載の中継装置。
(項目16)
前記第2のプロトコルは、HTTP(Hypertext Transfer Protocol)であることを特徴とする項目5に記載の中継装置。
(項目17)
前記第3のプロトコルは、HTTP(Hypertext Transfer Protocol)であることを特徴とする項目9に記載の中継装置。
(項目18)
前記第1のプロトコルは、XMPP over BOSH(eXtensible Messaging and Presence Protocol over Bidirectional-streams Over Synchronous HTTPの略)であることを特徴とする項目1〜17の何れか1項に記載の中継装置。
(項目19)
サーバ装置と通信可能な中継装置とネットワークを介して通信することが可能なネットワークインターフェースと、
プロセッサと、
を備える画像処理装置であって、
前記プロセッサは、
セッション確立型である第1のプロトコルに従った、前記サーバ装置から情報を出力するサーバプッシュを可能とするためのセッションを前記中継装置と前記画像処理装置との間で確立することを要求する確立要求情報を、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する確立要求情報出力手段と、
前記セッションが確立した後に、前記中継装置が前記サーバ装置から受信した、前記画像処理装置に対する要求を示すサーバ要求情報であって、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションを用いて前記中継装置から取得するサーバ要求情報取得手段と、
して機能することを特徴とする画像処理装置。
(項目20)
前記プロセッサは、
前記確立要求情報出力手段が前記確立要求情報を送信したことで前記中継装置からの前記サーバプッシュが可能な状態となってから、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を前記サーバ要求情報取得手段が取得することなく所定の時間が経過した場合に、前記サーバプッシュが可能な状態を維持するための処理を実行する状態維持処理手段として機能することを特徴とする項目19に記載の画像処理装置。
(項目21)
前記状態維持処理手段は、
前記確立要求情報出力手段が前記確立要求情報を送信したことで前記中継装置からの前記サーバプッシュが可能な状態となってから、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を前記サーバ要求情報取得手段が取得することなく所定の時間が経過した場合に、前記サーバプッシュを可能とするためのセッションが確立していると前記中継装置が認識していることを示す認識情報の返信を前記中継装置に要求する認識要求情報を、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する認識要求情報出力手段と、
前記中継装置が前記画像処理装置あてに返信した、前記認識情報を、前記ネットワークインターフェースを介して取得するサーバ認識情報取得手段と、
を含み、
前記状態維持処理手段は、前記サーバ認識情報取得手段が前記認識情報を取得できなかった場合に、前記確立要求情報出力手段に前記確立要求情報を送信させることで、前記サーバプッシュが可能な状態を維持する、
ことを特徴とする項目20に記載の画像処理装置。
(項目22)
前記プロセッサは、前記確立要求情報出力手段が前記確立要求情報を送信したことで前記中継装置からの前記サーバプッシュを可能とするためのセッションが確立した場合に、前記セッションを用いたコネクションであるセッション確立型コネクションを前記中継装置との間で確立するための第2の確立要求情報を、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する第2確立要求情報出力手段、として機能し、
前記サーバ要求情報取得手段は、前記セッションを用いた前記セッション確立型コネクションが確立した後に、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッション確立型コネクションを用いて前記中継装置から取得し、
前記状態維持処理手段は、
前記確立要求情報出力手段が前記確立要求情報を送信したことで、前記セッションと前記セッション確立型コネクションが確立し、前記中継装置からの前記サーバプッシュが可能な状態となってから、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を前記サーバ要求情報取得手段が取得することなく所定の時間が経過した場合に、前記サーバプッシュを可能とするためのセッションが確立していると前記中継装置が認識していることを示す認識情報の返信を前記中継装置に要求する認識要求情報を、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する認識要求情報出力手段と、
前記中継装置が前記画像処理装置あてに返信した、前記認識情報を、前記ネットワークインターフェースを介して取得するサーバ認識情報取得手段と、
を含み、
前記状態維持処理手段は、前記サーバ認識情報取得手段が前記認識情報を取得できた場合に、前記第2確立要求情報出力手段に前記第2の確立要求情報を送信させることで、前記サーバプッシュが可能な状態を維持する、
ことを特徴とする項目20または21に記載の画像処理装置。
(項目23)
前記プロセッサは、
前記サーバ要求情報取得手段が前記サーバ要求情報を取得することに応じて、セッションレス型のプロトコルである第3のプロトコルに従ったコネクションであるセッションレス型コネクションを前記中継装置との間で確立することを要求する第4の確立要求情報を、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する第4確立要求情報出力手段と、
前記サーバ要求情報が示す要求に対する応答情報を生成し、生成した前記応答情報を、前記中継装置との間で確立した前記セッションレス型コネクションを用いて、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する応答情報出力手段と、
してさらに機能することを特徴とする項目19〜22の何れか1項に記載の画像処理装置。
(項目24)
前記サーバ要求情報取得手段は、前記サーバ要求情報と共に、前記サーバ要求情報を識別するための第1識別情報を前記中継装置から取得し、
前記応答情報出力手段は、前記応答情報と共に、前記サーバ要求情報取得手段で取得した前記第1識別情報を前記中継装置に出力することを特徴とする項目23に記載の画像処理装置。
(項目25)
前記確立要求情報出力手段は、前記画像処理装置がセッション維持モードであることを条件として、記憶部に記憶されている前記セッションを確立するためのセッション維持情報に基づいて、前記確立要求情報を、前記中継装置あてに送信するよう出力することを特徴とする項目19〜24の何れか1項に記載の画像処理装置。
(項目26)
前記画像処理装置は、前記画像処理装置が前記セッション維持モードであるか否かを示すモード情報を記憶部に記憶させる記憶制御手段をさらに備え、
前記確立要求情報出力手段は、前記画像処理装置が起動した場合に、前記記憶部に記憶されている前記モード情報が前記セッション維持モードであることを示していることを条件として、前記確立要求情報を前記中継装置あてに送信するよう出力することを特徴とする項目25に記載の画像処理装置。
(項目27)
前記画像処理装置は、前記画像処理装置が前記セッション維持モードであるか否かを示すモード情報を記憶部に記憶させる記憶制御手段をさらに備え、
前記確立要求情報出力手段は、前記画像処理装置の製造時に前記記憶部に記憶された前記モード情報に基づいて、前記画像処理装置が前記セッション維持モードであるか否かを判断することを特徴とする項目26に記載の画像処理装置。
(項目28)
前記プロセッサは、
前記サーバ装置が提供するプルサービスの利用を指示する指示情報を取得した場合に、前記第1のプロトコルの下位プロトコルである第2のプロトコルを用いて、前記サーバ装置に前記プルサービスの利用に関する関連情報を要求する関連情報要求情報を、前記ネットワークインターフェースを介して、前記サーバ装置あてに送信するよう出力する関連情報要求情報出力手段と、
前記サーバ装置が送信した前記関連情報を、前記ネットワークインターフェースを介して取得する関連情報取得手段と、
して機能し、
前記確立要求情報出力手段は、前記確立要求情報を、前記第1のプロトコルの下位プロトコルである前記第2のプロトコルを用いて、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力し、
前記サーバ要求情報取得手段は、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションにおいて、前記第2のプロトコルを用いて前記中継装置から取得する、
ことを特徴とする項目19〜27のいずれか1項に記載の画像処理装置。
(項目29)
前記第1のプロトコルは、XMPP over BOSHであり、
前記第2のプロトコルは、HTTPである、
ことを特徴とする項目28に記載の画像処理装置。
(項目30)
複数の画像処理装置、サーバ装置、および中継装置を備える通信システムであって、
前記中継装置は、前記複数の画像処理装置および前記サーバ装置とネットワークを介して接続することが可能とされており、
前記通信システムは、
前記画像処理装置から前記中継装置へのセッション確立の要求に応じて、セッション確立型である第1のプロトコルに従った、前記サーバ装置から情報を出力するサーバプッシュを可能とするための複数のセッションを、前記中継装置と前記複数の画像処理装置の各々との間で確立する第1確立手段と、
複数の前記画像処理装置のうちから前記サーバ装置によって通信先として選択された画像処理装置である通信先画像処理装置に対するサーバ要求情報である特定サーバ要求情報を、前記中継装置が前記サーバ装置から取得した場合に、取得した前記特定サーバ要求情報を前記セッションを介して前記中継装置から前記通信先画像処理装置へ出力する第1出力手段と、
前記特定サーバ要求情報に対する応答情報を前記中継装置が前記通信先画像処理装置から取得した場合に、取得した前記応答情報を前記中継装置から前記サーバ装置へ出力する第2出力手段と、
を備えることを特徴とする通信システム。

Claims (30)

  1. 画像処理装置およびサーバ装置とネットワークを介して通信することが可能なネットワークインターフェースと、
    プロセッサと、
    を備える中継装置であって、
    前記プロセッサは、
    前記サーバ装置が前記中継装置あてに送信した、前記画像処理装置に対する要求を示すサーバ要求情報を、前記ネットワークインターフェースを介して取得するサーバ要求情報取得手段と、
    前記画像処理装置が前記中継装置あてに送信した確立要求情報であって、セッション確立型である第1のプロトコルに従った、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を前記画像処理装置まで伝達させるサーバプッシュを可能とするためのセッションを前記中継装置と前記画像処理装置との間で確立することを要求する前記確立要求情報を、前記ネットワークインターフェースを介して取得する確立要求情報取得手段と、
    前記サーバ要求情報を前記サーバ要求情報取得手段が取得した場合に、前記確立要求情報取得手段が前記確立要求情報を取得済であるならば、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションを用いて前記画像処理装置あてに送信するよう出力するサーバ要求情報出力手段と、
    して機能することを特徴とする中継装置。
  2. 前記中継装置は、第1のネットワークと通信制御装置を介して接続した第2のネットワークに接続することが可能であり、
    前記通信制御装置は、前記セッションを用いずに、前記第1のネットワーク以外のネットワークに接続した装置から前記第1のネットワークに接続した装置あてに送信された要求情報は、前記第1のネットワークに接続した装置に転送せず、
    前記確立要求情報取得手段は、前記第1のネットワークに接続している前記画像処理装置が前記中継装置あてに送信した前記確立要求情報を、前記ネットワークインターフェースを介して取得し、
    前記サーバ要求情報取得手段は、前記第1のネットワークに接続していない前記サーバ装置が前記中継装置あてに送信した前記サーバ要求情報を、前記ネットワークインターフェースを介して取得し、
    前記サーバ要求情報出力手段は、前記サーバ装置が送信した前記サーバ要求情報を前記サーバ要求情報取得手段が取得した場合に、前記確立要求情報取得手段が、前記第1のネットワークに接続している前記画像処理装置が送信した前記確立要求情報を取得済であるならば、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションを用いて前記第1のネットワークに接続している前記画像処理装置あてに送信するよう出力する、
    ことを特徴とする請求項1に記載の中継装置。
  3. 前記中継装置は、
    複数の前記第1のネットワークそれぞれに備えられた前記通信制御装置を介して複数の前記第1のネットワークと接続した前記第2のネットワークに接続することが可能であり、
    前記確立要求情報取得手段は、複数の前記第1のネットワークそれぞれに接続している複数の前記画像処理装置が前記中継装置あてに送信した前記確立要求情報を、前記ネットワークインターフェースを介して取得し、
    前記サーバ要求情報取得手段は、前記サーバ装置が前記中継装置あてに送信した、複数の前記画像処理装置のうちから通信先として選択された画像処理装置である通信先画像処理装置に対する前記サーバ要求情報である特定サーバ要求情報を、前記ネットワークインターフェースを介して取得し、
    前記サーバ要求情報出力手段は、前記特定サーバ要求情報を前記サーバ要求情報取得手段が取得した場合に、前記確立要求情報取得手段が、前記通信先画像処理装置が送信した前記確立要求情報を取得済であるならば、前記サーバ要求情報取得手段が取得した前記特定サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記通信先画像処理装置との間で確立した前記セッションを用いて、前記通信先画像処理装置あてに送信するよう出力する、
    ことを特徴とする請求項2に記載の中継装置。
  4. 前記プロセッサは、
    前記確立要求情報の送信元である画像処理装置である送信元画像処理装置を識別する画像処理装置識別情報を、記憶手段が記憶するよう出力する画像処理装置識別情報出力手段として機能し、
    前記画像処理装置識別情報出力手段は、複数の前記画像処理装置の各々についての複数の前記画像処理装置識別情報を前記記憶手段に記憶させることが可能とされており、
    前記サーバ要求情報出力手段は、取得した前記サーバ要求情報に含まれている前記画像処理装置識別情報が示す送信元画像処理装置へ、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記セッションを用いて送信するよう出力する、
    ことを特徴とする請求項3に記載の中継装置。
  5. 前記サーバ要求情報取得手段は、前記サーバ装置が前記中継装置あてに送信した、前記第1のプロトコルとは異なる第2のプロトコルに従った前記サーバ要求情報を取得し、
    前記サーバ要求情報出力手段は、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記セッションを用いて前記画像処理装置あてに送信するよう出力することを特徴とする請求項1〜4のいずれか1項に記載の中継装置。
  6. 前記プロセッサは、
    前記サーバ装置が前記中継装置あてに送信した、セッションレス型のプロトコルである前記第2のプロトコルに従った、セッションレス型のコネクションを用いて前記サーバ装置が前記中継装置あてに送信した前記サーバ要求情報を取得し、
    前記サーバ要求情報出力手段は、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記セッションを用いて前記画像処理装置あてに送信するよう出力することを特徴とする請求項5に記載の中継装置。
  7. 前記プロセッサは、
    前記サーバ要求情報の通信先の画像処理装置である通信先画像処理装置が前記中継装置あてに送信した、前記サーバ要求情報が示す要求に対する応答情報を、前記ネットワークインターフェースを介して取得する応答情報取得手段と、
    前記応答情報取得手段が取得した前記応答情報を、前記ネットワークインターフェースを介して、前記サーバ装置あてに送信するよう出力する応答情報出力手段と、
    して機能し、
    前記応答情報出力手段は、前記応答情報取得手段が取得した前記応答情報を、前記ネットワークインターフェースを介して、前記サーバ装置との間で確立したコネクションを用いて、前記セッションレス型のプロトコルである前記第2のプロトコルに従ったレスポンスデータに含めて、前記サーバ装置あてに送信するよう出力する、
    ことを特徴とする請求項6に記載の中継装置。
  8. 前記プロセッサは、
    前記サーバ要求情報の通信先の画像処理装置である通信先画像処理装置が前記中継装置あてに送信した、前記サーバ要求情報が示す要求に対する応答情報を、前記ネットワークインターフェースを介して取得する応答情報取得手段と、
    前記応答情報取得手段が取得した前記応答情報を、前記ネットワークインターフェースを介して、前記サーバ装置あてに送信するよう出力する応答情報出力手段と、
    して機能することを特徴とする請求項1〜7のいずれか1項に記載の中継装置。
  9. 前記応答情報取得手段は、前記サーバ要求情報の通信先の画像処理装置である通信先画像処理装置が前記中継装置あてに送信した、前記第1のプロトコルとは異なる第3のプロトコルに従ったデータに含まれる情報を、前記応答情報として取得し、
    前記応答情報出力手段は、前記応答情報取得手段が取得した前記応答情報を、前記ネットワークインターフェースを介して、前記サーバ装置あてに送信するよう出力する、
    ことを特徴とする請求項8に記載の中継装置。
  10. 前記プロセッサは、
    前記サーバ要求情報の通信先の画像処理装置である通信先画像処理装置が前記中継装置あてに送信した第3の確立要求情報を、前記ネットワークインターフェースを介して取得する第3確立要求情報取得手段と、
    して機能し、
    前記応答情報取得手段は、セッションレス型のプロトコルである前記第3のプロトコルに従ったセッションレス型のコネクションに従ったリクエストデータに含まれる情報を、前記応答情報として取得し、
    前記応答情報出力手段は、前記応答情報取得手段が取得した前記応答情報を、前記ネットワークインターフェースを介して、前記サーバ装置あてに送信するよう出力することを特徴とする請求項9に記載の中継装置。
  11. 前記プロセッサは、前記サーバ装置が前記中継装置あてに送信した、セッションレス型のプロトコルである第2のプロトコルに従ったセッションレス型のコネクションを前記中継装置と前記サーバ装置との間で確立することを要求する第2の確立要求情報を、前記ネットワークインターフェースを介して取得する第2確立要求情報取得手段として機能し、
    前記サーバ要求情報取得手段は、前記サーバ装置との間で確立したセッションレス型のコネクションを用いて前記サーバ装置が前記中継装置あてに送信した前記サーバ要求情報を取得し、
    前記サーバ要求情報出力手段は、前記第2のプロトコルに従ったリクエストデータに含まれる情報を、前記サーバ要求情報として前記サーバ要求情報取得手段が取得した場合に、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションを用いて前記画像処理装置あてに送信するよう出力し、
    前記プロセッサは、前記サーバ要求情報の通信先の画像処理装置である通信先画像処理装置が前記中継装置あてに送信した第3の確立要求情報を、前記ネットワークインターフェースを介して取得する第3確立要求情報取得手段と、して機能し、
    前記第3の確立要求情報は、セッションレス型のプロトコルである前記第3のプロトコルに従ったセッションレス型のコネクションに従ったリクエストデータに含まれる情報を、前記応答情報として取得し、
    前記応答情報出力手段は、前記応答情報取得手段が取得した前記応答情報を、前記ネットワークインターフェースを介して、前記サーバ装置との間で確立したコネクションを用いて、前記セッションレス型のプロトコルである前記第2のプロトコルに従ったレスポンスデータに含めて、前記サーバ装置あてに送信するよう出力することを特徴とする請求項10に記載の中継装置。
  12. 前記中継装置は、複数の前記画像処理装置のうちから通信先として選択された画像処理装置である通信先画像処理装置に対するサーバ要求情報である特定サーバ要求情報を前記サーバ要求情報取得手段が前記サーバ装置から取得することに応じて、取得した前記特定サーバ要求情報を他のサーバ要求情報と区別できるよう識別するための第1識別情報を記憶部に記憶させる第1識別情報記憶制御手段を備え、
    前記サーバ要求情報出力手段は、前記サーバ要求情報取得手段が取得した前記特定サーバ要求情報と共に前記第1識別情報を前記通信先画像処理装置へ出力し、
    前記応答情報取得手段は、前記応答情報と共に、前記応答情報の元となる特定サーバ要求情報を識別する第2識別情報を前記通信先画像処理装置から取得し、
    前記中継装置は、前記応答情報取得手段が前記応答情報と共に、前記第2識別情報を取得した場合に、前記第2識別情報と前記第1識別情報とに基づいて、前記応答情報取得手段が取得した応答情報に対応する特定サーバ要求情報の前記サーバ装置側からの送信に用いられたコネクションを特定する、コネクション特定手段を備え、
    前記応答情報出力手段は、前記応答情報取得手段が取得した応答情報を、前記コネクション特定手段が特定したコネクションを用いて、前記第2のプロトコルに従ったレスポンスデータに含めて前記サーバ装置あてに送信するよう出力することを特徴とする請求項7に記載の中継装置。
  13. 前記通信先画像処理装置に対する前記特定サーバ要求情報を前記サーバ装置から取得した場合に、前記通信先画像処理装置との間の前記セッションが確立されていないことを条件として、エラー情報を、前記画像処理装置との間で確立した前記セッションレス型のコネクションを介して前記サーバ装置へ出力するエラー情報出力手段として前記プロセッサはさらに機能し、
    前記要求情報は、前記セッションレス型のコネクションにおけるリクエストデータに含まれており、
    前記エラー情報は、前記セッションレス型のコネクションにおけるレスポンスデータに含まれていることを特徴とする請求項1〜12の何れか1項に記載の中継装置。
  14. 前記応答情報出力手段は、前記応答情報を前記セッションレス型のコネクションにおけるリクエストデータに含まれている情報として前記通信先画像処理装置から取得し、
    前記応答情報を取得することに応じて、前記セッションレス型のコネクションにおけるレスポンスデータを前記通信先画像処理装置へ出力するレスポンスデータ出力手段として前記プロセッサがさらに機能することを特徴とする請求項7に記載の中継装置。
  15. 前記中継装置は、前記要求情報を前記サーバ装置から取得することに応じて、前記要求情報に対応する前記第1識別情報を生成する第1識別情報生成手段を備え、
    前記第1識別情報記憶制御手段は、前記第1識別情報生成手段が生成した第1識別情報を、前記記憶部に記憶させ、
    前記サーバ要求情報出力手段は、前記サーバ要求情報取得手段が取得した前記特定サーバ要求情報と共に、前記第1識別情報生成手段が生成した前記第1識別情報を前記通信先画像処理装置へ出力し、
    前記コネクション特定手段は、前記応答情報取得手段が前記応答情報と共に、前記第2識別情報を取得した場合に、前記記憶部が記憶している前記第1識別情報と、前記応答情報取得手段が取得した前記第2識別情報と、が一致する場合に、前記第1識別情報が対応する要求情報の、前記サーバ装置からの送信に用いられたコネクションを特定する、
    ことを特徴とする請求項12に記載の中継装置。
  16. 前記第2のプロトコルは、HTTP(Hypertext Transfer Protocol)であることを特徴とする請求項5に記載の中継装置。
  17. 前記第3のプロトコルは、HTTP(Hypertext Transfer Protocol)であることを特徴とする請求項9に記載の中継装置。
  18. 前記第1のプロトコルは、XMPP over BOSH(eXtensible Messaging and Presence Protocol over Bidirectional-streams Over Synchronous HTTPの略)であることを特徴請求項1〜17の何れか1項に記載の中継装置。
  19. サーバ装置と通信可能な中継装置とネットワークを介して通信することが可能なネットワークインターフェースと、
    プロセッサと、
    を備える画像処理装置であって、
    前記プロセッサは、
    セッション確立型である第1のプロトコルに従った、前記サーバ装置から情報を出力するサーバプッシュを可能とするためのセッションを前記中継装置と前記画像処理装置との間で確立することを要求する確立要求情報を、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する確立要求情報出力手段と、
    前記セッションが確立した後に、前記中継装置が前記サーバ装置から受信した、前記画像処理装置に対する要求を示すサーバ要求情報であって、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションを用いて前記中継装置から取得するサーバ要求情報取得手段と、
    して機能することを特徴とする画像処理装置。
  20. 前記プロセッサは、
    前記確立要求情報出力手段が前記確立要求情報を送信したことで前記中継装置からの前記サーバプッシュが可能な状態となってから、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を前記サーバ要求情報取得手段が取得することなく所定の時間が経過した場合に、前記サーバプッシュが可能な状態を維持するための処理を実行する状態維持処理手段として機能することを特徴とする請求項19に記載の画像処理装置。
  21. 前記状態維持処理手段は、
    前記確立要求情報出力手段が前記確立要求情報を送信したことで前記中継装置からの前記サーバプッシュが可能な状態となってから、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を前記サーバ要求情報取得手段が取得することなく所定の時間が経過した場合に、前記サーバプッシュを可能とするためのセッションが確立していると前記中継装置が認識していることを示す認識情報の返信を前記中継装置に要求する認識要求情報を、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する認識要求情報出力手段と、
    前記中継装置が前記画像処理装置あてに返信した、前記認識情報を、前記ネットワークインターフェースを介して取得するサーバ認識情報取得手段と、
    を含み、
    前記状態維持処理手段は、前記サーバ認識情報取得手段が前記認識情報を取得できなかった場合に、前記確立要求情報出力手段に前記確立要求情報を送信させることで、前記サーバプッシュが可能な状態を維持する、
    ことを特徴とする請求項20に記載の画像処理装置。
  22. 前記プロセッサは、前記確立要求情報出力手段が前記確立要求情報を送信したことで前記中継装置からの前記サーバプッシュを可能とするためのセッションが確立した場合に、前記セッションを用いたコネクションであるセッション確立型コネクションを前記中継装置との間で確立するための第2の確立要求情報を、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する第2確立要求情報出力手段、として機能し、
    前記サーバ要求情報取得手段は、前記セッションを用いた前記セッション確立型コネクションが確立した後に、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッション確立型コネクションを用いて前記中継装置から取得し、
    前記状態維持処理手段は、
    前記確立要求情報出力手段が前記確立要求情報を送信したことで、前記セッションと前記セッション確立型コネクションが確立し、前記中継装置からの前記サーバプッシュが可能な状態となってから、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を前記サーバ要求情報取得手段が取得することなく所定の時間が経過した場合に、前記サーバプッシュを可能とするためのセッションが確立していると前記中継装置が認識していることを示す認識情報の返信を前記中継装置に要求する認識要求情報を、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する認識要求情報出力手段と、
    前記中継装置が前記画像処理装置あてに返信した、前記認識情報を、前記ネットワークインターフェースを介して取得するサーバ認識情報取得手段と、
    を含み、
    前記状態維持処理手段は、前記サーバ認識情報取得手段が前記認識情報を取得できた場合に、前記第2確立要求情報出力手段に前記第2の確立要求情報を送信させることで、前記サーバプッシュが可能な状態を維持する、
    ことを特徴とする請求項20または21に記載の画像処理装置。
  23. 前記プロセッサは、
    前記サーバ要求情報取得手段が前記サーバ要求情報を取得することに応じて、セッションレス型のプロトコルである第3のプロトコルに従ったコネクションであるセッションレス型コネクションを前記中継装置との間で確立することを要求する第4の確立要求情報を、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する第4確立要求情報出力手段と、
    前記サーバ要求情報が示す要求に対する応答情報を生成し、生成した前記応答情報を、前記中継装置との間で確立した前記セッションレス型コネクションを用いて、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する応答情報出力手段と、
    してさらに機能することを特徴とする請求項19〜請求項22の何れか1項に記載の画像処理装置。
  24. 前記サーバ要求情報取得手段は、前記サーバ要求情報と共に、前記サーバ要求情報を識別するための第1識別情報を前記中継装置から取得し、
    前記応答情報出力手段は、前記応答情報と共に、前記サーバ要求情報取得手段で取得した前記第1識別情報を前記中継装置に出力することを特徴とする請求項23に記載の画像処理装置。
  25. 前記確立要求情報出力手段は、前記画像処理装置がセッション維持モードであることを条件として、記憶部に記憶されている前記セッションを確立するためのセッション維持情報に基づいて、前記確立要求情報を、前記中継装置あてに送信するよう出力することを特徴とする請求項19〜24の何れか1項に記載の画像処理装置。
  26. 前記画像処理装置は、前記画像処理装置が前記セッション維持モードであるか否かを示すモード情報を記憶部に記憶させる記憶制御手段をさらに備え、
    前記確立要求情報出力手段は、前記画像処理装置が起動した場合に、前記記憶部に記憶されている前記モード情報が前記セッション維持モードであることを示していることを条件として、前記確立要求情報を前記中継装置あてに送信するよう出力することを特徴とする請求項25に記載の画像処理装置。
  27. 前記画像処理装置は、前記画像処理装置が前記セッション維持モードであるか否かを示すモード情報を記憶部に記憶させる記憶制御手段をさらに備え、
    前記確立要求情報出力手段は、前記画像処理装置の製造時に前記記憶部に記憶された前記モード情報に基づいて、前記画像処理装置が前記セッション維持モードであるか否かを判断することを特徴とする請求項26に記載の画像処理装置。
  28. 前記プロセッサは、
    前記サーバ装置が提供するプルサービスの利用を指示する指示情報を取得した場合に、前記第1のプロトコルの下位プロトコルである第2のプロトコルを用いて、前記サーバ装置に前記プルサービスの利用に関する関連情報を要求する関連情報要求情報を、前記ネットワークインターフェースを介して、前記サーバ装置あてに送信するよう出力する関連情報要求情報出力手段と、
    前記サーバ装置が送信した前記関連情報を、前記ネットワークインターフェースを介して取得する関連情報取得手段と、
    して機能し、
    前記確立要求情報出力手段は、前記確立要求情報を、前記第1のプロトコルの下位プロトコルである前記第2のプロトコルを用いて、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力し、
    前記サーバ要求情報取得手段は、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションにおいて、前記第2のプロトコルを用いて前記中継装置から取得する、
    ことを特徴とする請求項19〜27のいずれか1項に記載の画像処理装置。
  29. 前記第1のプロトコルは、XMPP over BOSHであり、
    前記第2のプロトコルは、HTTPである、
    ことを特徴とする請求項28に記載の画像処理装置。
  30. 複数の画像処理装置、サーバ装置、および中継装置を備える通信システムであって、
    前記中継装置は、前記複数の画像処理装置および前記サーバ装置とネットワークを介して接続することが可能とされており、
    前記通信システムは、
    前記画像処理装置から前記中継装置へのセッション確立の要求に応じて、セッション確立型である第1のプロトコルに従った、前記サーバ装置から情報を出力するサーバプッシュを可能とするための複数のセッションを、前記中継装置と前記複数の画像処理装置の各々との間で確立する第1確立手段と、
    複数の前記画像処理装置のうちから前記サーバ装置によって通信先として選択された画像処理装置である通信先画像処理装置に対するサーバ要求情報である特定サーバ要求情報を、前記中継装置が前記サーバ装置から取得した場合に、取得した前記特定サーバ要求情報を前記セッションを介して前記中継装置から前記通信先画像処理装置へ出力する第1出力手段と、
    前記特定サーバ要求情報に対する応答情報を前記中継装置が前記通信先画像処理装置から取得した場合に、取得した前記応答情報を前記中継装置から前記サーバ装置へ出力する第2出力手段と、
    を備えることを特徴とする通信システム。
JP2017251460A 2017-12-27 2017-12-27 中継装置、画像処理装置および通信システム Active JP6531817B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017251460A JP6531817B2 (ja) 2017-12-27 2017-12-27 中継装置、画像処理装置および通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017251460A JP6531817B2 (ja) 2017-12-27 2017-12-27 中継装置、画像処理装置および通信システム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016246630A Division JP6265257B2 (ja) 2016-12-20 2016-12-20 中継装置、画像処理装置および通信システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019096135A Division JP6750706B2 (ja) 2019-05-22 2019-05-22 中継装置、画像処理装置および通信システム

Publications (2)

Publication Number Publication Date
JP2018077888A true JP2018077888A (ja) 2018-05-17
JP6531817B2 JP6531817B2 (ja) 2019-06-19

Family

ID=62150474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017251460A Active JP6531817B2 (ja) 2017-12-27 2017-12-27 中継装置、画像処理装置および通信システム

Country Status (1)

Country Link
JP (1) JP6531817B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020021284A (ja) * 2018-07-31 2020-02-06 株式会社リコー 遠隔管理仲介装置、遠隔管理システム、遠隔管理方法、およびプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023175438A (ja) 2022-05-30 2023-12-12 キヤノン株式会社 情報処理システム、その制御方法、管理サーバおよびプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012080398A (ja) * 2010-10-04 2012-04-19 Ricoh Co Ltd 通話端末、通話システム、及び通話端末用プログラム
JP2012094086A (ja) * 2010-10-29 2012-05-17 Seiko Epson Corp コンテンツ出力システム、コンテンツサーバー、仲介サーバー、および、コンテンツ出力方法
JP2012168759A (ja) * 2011-02-15 2012-09-06 Seiko Epson Corp 印刷制御サーバーおよび印刷制御方法
JP2012187866A (ja) * 2011-03-11 2012-10-04 Brother Industries Ltd プリンタ
JP2012252455A (ja) * 2011-06-01 2012-12-20 Seiko Epson Corp 印刷制御システムおよび印刷制御方法
JP2013011954A (ja) * 2011-06-28 2013-01-17 Canon Inc 情報処理装置、情報処理方法、コンピュータプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012080398A (ja) * 2010-10-04 2012-04-19 Ricoh Co Ltd 通話端末、通話システム、及び通話端末用プログラム
JP2012094086A (ja) * 2010-10-29 2012-05-17 Seiko Epson Corp コンテンツ出力システム、コンテンツサーバー、仲介サーバー、および、コンテンツ出力方法
JP2012168759A (ja) * 2011-02-15 2012-09-06 Seiko Epson Corp 印刷制御サーバーおよび印刷制御方法
JP2012187866A (ja) * 2011-03-11 2012-10-04 Brother Industries Ltd プリンタ
JP2012252455A (ja) * 2011-06-01 2012-12-20 Seiko Epson Corp 印刷制御システムおよび印刷制御方法
JP2013011954A (ja) * 2011-06-28 2013-01-17 Canon Inc 情報処理装置、情報処理方法、コンピュータプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020021284A (ja) * 2018-07-31 2020-02-06 株式会社リコー 遠隔管理仲介装置、遠隔管理システム、遠隔管理方法、およびプログラム
JP7143668B2 (ja) 2018-07-31 2022-09-29 株式会社リコー 遠隔管理仲介装置、遠隔管理システム、遠隔管理方法、およびプログラム

Also Published As

Publication number Publication date
JP6531817B2 (ja) 2019-06-19

Similar Documents

Publication Publication Date Title
JP6107261B2 (ja) 中継装置、画像処理装置および通信システム
JP6056795B2 (ja) 画像処理システム、ゲートウェイ装置、ゲートウェイ装置の制御方法、ゲートウェイ装置の制御プログラム
JP5780136B2 (ja) サーバ
EP3171581B1 (en) Print device monitoring method and system, and print monitoring server
JP6318776B2 (ja) 通信システムおよび中継装置
JP2014179021A (ja) 情報処理装置、中継サーバ、情報中継方法、情報中継プログラム及び通信システム
JP2012159914A (ja) 印刷システムおよびプリンター
JP2012155575A (ja) 印刷制御サーバーおよび印刷システム
JP6531817B2 (ja) 中継装置、画像処理装置および通信システム
JP6265257B2 (ja) 中継装置、画像処理装置および通信システム
JP4676850B2 (ja) データ処理システムとそのデータ管理装置,プログラム,および記録媒体
JP6750706B2 (ja) 中継装置、画像処理装置および通信システム
JP5839102B2 (ja) 印刷システムおよびプリンター
JP6669992B2 (ja) 画像読取装置、画像読取方法及び画像形成プログラム
JP6336377B2 (ja) ネットワークシステム及び画像形成装置
JPH11275291A (ja) クライアント・サーバシステム
JP2011081433A (ja) 通信装置及び方法、並びにプログラム
JP6064703B2 (ja) 中継サーバ
US11283940B2 (en) Non-transitory storage medium storing program set readable by computer of information processing apparatus, method for obtaining read result, and information processing apparatus
JP6421454B2 (ja) サーバ装置、ゲートウェイ装置、画像処理システム、サーバ装置の制御方法、ゲートウェイ装置の制御方法、サーバ装置の制御プログラム、及びゲートウェイ装置の制御プログラム
JP6205982B2 (ja) 中継装置、プログラムおよび中継装置の制御方法
JP6036966B2 (ja) 印刷システムおよびプリンター
JP6531430B2 (ja) 端末装置及び通信システム
JP4681998B2 (ja) データ処理システムとそのデータ管理装置,プログラム,および記録媒体
JP2000207321A (ja) ネットワ―ク接続用サ―バ

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181127

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190308

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190506

R150 Certificate of patent or registration of utility model

Ref document number: 6531817

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150