JP6053364B2 - 情報処理システム、サーバ装置、クライアント装置および制御方法 - Google Patents

情報処理システム、サーバ装置、クライアント装置および制御方法 Download PDF

Info

Publication number
JP6053364B2
JP6053364B2 JP2012160992A JP2012160992A JP6053364B2 JP 6053364 B2 JP6053364 B2 JP 6053364B2 JP 2012160992 A JP2012160992 A JP 2012160992A JP 2012160992 A JP2012160992 A JP 2012160992A JP 6053364 B2 JP6053364 B2 JP 6053364B2
Authority
JP
Japan
Prior art keywords
application
client device
network connection
server device
connection
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.)
Active
Application number
JP2012160992A
Other languages
English (en)
Other versions
JP2014021794A (ja
Inventor
勇気 伊藤
勇気 伊藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2012160992A priority Critical patent/JP6053364B2/ja
Priority to US13/919,737 priority patent/US9083721B2/en
Publication of JP2014021794A publication Critical patent/JP2014021794A/ja
Application granted granted Critical
Publication of JP6053364B2 publication Critical patent/JP6053364B2/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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、情報処理システム、サーバ装置、クライアント装置および制御方法に関する。
企業のイントラネット内にある端末から、インターネット上にある各種サービスを利用することを可能とするシステムが提案されている。このシステムでは、イントラネットとインターネットの境界に、ファイアーウォールを設置することが一般的である。ファイアーウォールは、イントラネット側からインターネット側への接続は許可するが、インターネット側からイントラネット内への接続は拒否するように設定されている。これにより、インターネット側の端末からイントラネット内へのアクセスが制限される。このような背景もあり、従来のWebを使用した通信システムにおいては、クライアントがサーバに対して情報取得の要求を行い、サーバが情報を返すというPULL型通信が一般的であった。
しかし、近年、サーバ側からクライアントに対して情報を送信する、PUSH型通信の技術開発が進められている。PUSH型通信技術の例としては、CometやWebSocketといったものが挙げられる。Cometにおいては、クライアントがサーバにHTTPのリクエストを送信すると、サーバはすぐにレスポンスを返さずにそのリクエストを保持しておく。その後、サーバ側からクライアントに送信すべき情報が発生した時点で、保持しておいたリクエストに対するレスポンスとして情報を送信する。
WebSocketは、インターネットの標準化団体であるW3CやIETFが作成した双方向通信のための技術である。HTTPではなくTCPの接続を確立して維持することにより、CometのようにHTTPプロトコルにマッピングする必要がなく、クライアント/サーバどちらからでも自由なタイミングで通信を行うことができる。
このように、PUSH型通信技術においては、イントラネット内のクライアントから接続を確立しそれを維持することで、ファイアーウォールが存在する環境でも、サーバがその接続を使用して情報を送信することを可能にしている。
そこで、近年、PUSH型通信を使用する印刷システムが提案されている。PUSH型印刷システムは、イントラネット内のクライアント装置(プリンタ)がサーバ装置(プリントサーバ)に対して接続を確立し、その接続を常時維持する。これにより、プリントサーバが、プリントサーバを起点として発行される要求(印刷ジョブの実行要求)をファイアーウォールを介して任意のタイミングでプリンタに送信することを可能とする。特許文献1は、外部ネットワーク内の外部ホストが、ファイアーウォールによってアクセスが制限される内部ホストへの通信路を維持するための通信路維持データを内部ホストに送信する通信システムを提案している。
特開2008−140275号公報
WebSocketを利用したPUSH型通信システムにおいては、継続的にシステム開発を進める場合、アプリケーションの追加に従い、WebSocket接続の追加を行う。つまり、プリンタ毎ではなく、プリンタにインストールされたアプリケーション毎にWebSocket接続が必要になる。
アプリケーション毎にWebSocket接続を行う場合、アプリケーションの数が増えると、プリントサーバにとって、アプリケーションの数に応じた常時接続を管理するための処理負荷が高くなってしまう。その結果、プリントサーバとしての動作が不安定になったり、適切な処理ができなくなったりしてしまうという課題がある。またその他の課題として、WebSocketを利用したPUSH型通信システムでは、プリンタは、起動時に、予めインストールされているアプリケーションの数の分だけWebSocket接続を張る必要がある。したがって、プリントサーバが発行する要求の実現に利用されないアプリケーションに対応するWebSocket接続が、無駄なリソースとなってしまうという課題がある。
本発明は、上記の課題の少なくとも一つを解決するためになされたものである。本発明は、サーバ装置を起点とする要求をファイアーウォールを介してクライアント装置へ送信可能なネットワーク接続を確立する際に、要求の実現に使用するアプリケーションの分だけ接続を張る情報処理システムの提供を目的とする。
本発明の一実施形態の情報処理システムは、クライアント装置とサーバ装置とがファイアーウォールを介して通信を行うシステムである。前記クライアント装置は、前記ファイアーウォールの外部に配置された前記サーバ装置を起点として発行される要求を前記ファイアーウォールを介して前記クライアント装置へ送信することを可能とするネットワークプロトコルによるネットワーク接続を確立する確立手段を備える。前記サーバ装置は、前記クライアント装置にインストールされたアプリケーションに対応するネットワーク接続を確立するための指示を送信する送信手段を備える。また、前記クライアント装置は、前記確立手段により第1のネットワーク接続が確立された後、前記第1のネットワーク接続を介して前記サーバ装置から送信される前記指示を受信し、受信された前記指示に従い前記確立手段により第2のネットワーク接続が確立される。
本発明の情報処理システムによれば、サーバ装置を起点とする要求をファイアーウォールを介してクライアント装置へ送信することを可能とするネットワーク接続を確立する際に、以下の効果を奏することができる。すなわち、上記要求の実現に使用するアプリケーションの分だけ接続を張ることができる。その結果、アプリケーションの数が増えた場合であっても、ネットワークの接続管理に関するサーバ装置の負荷を抑えることができ、かつ、リソースの無駄を防止することができる。
実施例1のシステム構成例を示す図である。 画像形成装置のハードウェア構成例を示す図である。 PCとプリントサーバを実現するコンピュータのハードウェア構成例を示す図である。 基本的なWeSocketのシーケンスの例を示す図である。 画像形成装置の機能ブロック図の例である。 PCの機能ブロック図の例である。 プリントサーバの機能ブロック図の例である。 コネクション情報管理テーブルの一例を示す図である。 デバイステーブルの一例を示す図である。 通信システムにおける印刷処理の例を説明するシーケンス図である。 プリンタ選択画面の例である。 画像形成装置とプリントサーバとの間で送受信されるメッセージの例である。 画像形成装置が備えるコネクション制御部の動作処理の例を説明するフローチャートである。 プリントサーバが備えるコネクション制御部の動作処理の例を説明するフローチャートである。 通信システムにおけるアドレス帳配信処理の例を説明するシーケンス図である。 画像形成装置とプリントサーバとの間で送受信されるメッセージの例である。
(実施例1)
図1は、実施例1のシステム構成例を示す図である。本実施例の情報処理システムは、プリントサーバ123、PC(Personal Computer)122、画像形成装置101、102を備える通信システムとして構成される。本実施例の制御方法は、図1に示す通信システムが備える各装置の機能によって実現される。
イントラネット10と、PC122と、プリントサーバ123とは、ネットワーク(図1ではインターネット121)を介して接続されている。なお、図1においてイントラネット10は一つだけしか図示していないが、イントラネット10と同様の構成を持つイントラネットが複数存在してもよい。
イントラネット10には、画像形成装置101、102が、ネットワーク104を介して接続され、インターネット121との境界にはファイアーウォール103が配置されている。プリントサーバ123は、ファイアーウォール103の外部に配置されている。本実施例では、画像形成装置101、102と、プリントサーバ123とは、ファイアーウォール103を介して通信を行う。通信システムが備える画像形成装置の数は、2個に限定されるものではなく、通信システムは、任意の数の画像形成装置を備えてもよい。
画像形成装置101、102は、クライアント装置として機能する。具体的には、画像形成装置101、102は、サーバ装置であるプリントサーバ123から印刷ジョブを受信して印刷する機能を持つ。また、画像形成装置101は、自装置で持つアドレス帳をプリントサーバ123に送信する機能、プリントサーバ123からアドレス帳を受信して更新する機能を持つ。画像形成装置101と画像形成装置102とは、同様の構成を有する。以下では、画像形成装置を代表して、符号101を使用する。
PC122は、ユーザの操作に応じて、ユーザが所望する画像形成装置への印刷を指示する情報処理装置である。プリントサーバ123は、通信システム全体を制御し、PC122からの印刷要求処理、印刷ジョブ管理、画像形成装置101へのアドレス帳送信といったさまざまな処理を行う。
図2は、画像形成装置のハードウェア構成例を示す図である。図2では、画像形成装置101が複写機である場合の構成を例にとって説明する。画像形成装置101は、CPU201、RAM202、ROM203、操作パネル205、LANコントローラ206、印刷インタフェース207、DKC208、不揮発性メモリ209を備える。CPUは、Central Processing Unitの略称である。RAM202は、Random Access Memoryの略称である。ROMは、Read Only Memoryの略称である。LANは、Local Area Networkの略称である。DKCは、Disk Controllerの略称である。また、画像形成装置101は、プリントエンジン210、外部記憶装置211、読取インタフェース212、スキャナ213を備える。
CPU201は、ROM203が有するプログラム用ROMまたは外部記憶装置211に記憶された制御プログラムに基づいて、システムバス204に接続される各種のデバイスとのアクセスを総括的に制御する。また、CPU201は、印刷インタフェース207を介して接続される印刷部(プリンタエンジン)210に対して、出力情報としての画像信号を出力する。また、CPU201は、読取インタフェース212を介して接続される読取部(スキャナ)213から入力される画像信号を制御する。また、CPU201は、LANコントローラ206を介して、ネットワーク上のPCや画像形成装置との通信処理を実行する。
ROM203が有するプログラム用ROMには、CPU201が実行可能な制御プログラム等が予め記憶される。さらに、ROM203が有するフォント用ROMには、上記出力情報を生成する際に使用するフォントデータ(アウトラインフォントデータを含む)等が、予め記憶される。また、ROM203のデータ用ROMには、PC122上で利用される情報等が、予め記憶されている。
RAM201は、主としてCPU201の主メモリ,ワークエリア等として機能し、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM202は、出力情報展開領域,環境データ格納領域等に用いられる。外部記憶装置211は、例えば、ハードディスク(HDD)、ICカード等である。外部記憶装置211は、ディスクコントローラ(DKC)208によりアクセスが制御される。
ハードディスクは、アプリケーションプログラム、フォントデータ、フォームデータ等を記憶したり、プリントジョブを一時的にスプールし、スプールされたジョブを外部から制御したりするためのジョブ格納領域として使用される。また、ハードディスクは、スキャナ213から読み取った画像データやプリントジョブの画像データをBOXデータとして保持し、ネットワークから参照したり、印刷を行ったりするためのBOXデータ格納領域としても使用される。本実施例においては、外部記憶装置211としてHDDを使用するものとし、ジョブログ、画像ログ等各種ログを保持する。画像形成装置101は、外部記憶装置211を1個に限らず、少なくとも1個以上備える。そして、外部記憶装置211は、内蔵フォントに加えてオプションフォントカード,言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。
操作パネル205は、ユーザの操作に応じた情報を入力する。ユーザは、操作パネル上のソフトウェアキーから各種情報を入力することが可能である。不揮発性メモリ209は、操作パネル205から設定される各種設定情報を記憶する。
また、図示していないが、画像形成装置101には、さらにオプションで、ステープルやソート機能を行うフィニッシャや、両面印刷機能を実現するための両面装置など各種拡張装置を装着することが可能となっており、それらの動作はCPU201から制御される。
図3は、PCとプリントサーバを実現するコンピュータのハードウェア構成例を示す図である。図3に示すコンピュータは、CPU301、ROM302、RAM303、KBC305、CRTC306、DKC307、NIC308を備える。KBCは、Keyboard Controllerの略称である。CRTCは、Cathode Ray Tube Controllerの略称である。NICは、Network Interface Cardの略称である。
また、図3に示すコンピュータは、PD309、KB310、CRT311、HDD312、FD313を備える。PDは、Pointing Deviceの略称である。KBは、Keyboardの略称である。CRTは、Cathode Ray Tubeの略称である。HDDは、Hard Disk Driveの略称である。FDは、Floppy(登録商標) Diskの略称である。
CPU301は、システムバス304に接続された各種デバイスの制御を行う。ROM302には、BIOSやブートプログラムが予め記憶される。RAM303は、CPU301の主記憶装置として使用される。KBC305は、マウス(登録商標)等のPD309、KB310からの情報を入力する。CRTC306は、内部にビデオメモリを有し、CPU301からの指示に従ってそのビデオメモリに描画すると共に、ビデオメモリに描画されたイメージデータをビデオ信号としてCRT311に出力する。CRTは表示装置である。本実施例では、液晶表示装置等、任意の種類の表示装置を適用することができる。
DKC307は、HDD312、FD313へのアクセスを行う。NIC308は、ネットワークに接続し、ネットワークを介した情報通信を行う。なお、HDD312には、OSやOS上で動作する各種アプリケーションプログラム等が格納される。図3に示すコンピュータの電源がONになると、CPU301が、ROM302に格納されたブートプログラムに従って、HDD312からOSをRAM303に読み込み、情報処理装置として機能する。
本実施例では、画像形成装置101とプリントサーバ123とが、WebSocketによるネットワーク接続を確立した上で通信を行う。WebSocketは、双方向通信用の通信規格の一つであって、コネクションを維持し続けるための仕組みを持つネットワークプロトコルである。また、Websocketは、W3Cによって策定されたHTML5の基本仕様の1つである。W3Cは、World Wide Web Consorutiumの略称である。HTML5は、Hper Text Markup Language 5の略称である。WebSocketによれば、クライアントとサーバとの間に持続的接続を確立することができ、この接続を通じて、どちらの側からでも、いつでもデータの送信を開始できる。即ち、従来のサーバ・クライアントシステムとは異なり、サーバ装置はクライアント装置からのリクエストを受けてからデータ送信を行う受動的な処理のみならず、リクエストを受けずともデータ送信を行う能動的な処理も行える。Websocketは、サーバ装置を起点としたクライアント装置へのデータ送信に対応しているのである。以下では、WebSocketによるネットワーク接続をWebSocket接続と記述する。
図4は、基本的なWeSocket接続のシーケンスの例を示す図である。
図4のステップS1601において、画像形成装置101が、図12(A)のようなWebSocket接続メッセージを送信する。ステップS1602において、プリントサーバ123が、図12(B)のようなWebSocket接続応答メッセージを返す。ステップS1603、S1604において、画像形成装置101とプリントサーバ123とが、定期的にTCPのKeep−Aliveを送受信することで、WebSocket接続を維持する。なお、接続を維持するためには、定期的にパケットの送受信を行えばよいので、Ping、Pongを定期的に送受信してもよい。ステップS1605において、プリントサーバ123が、WebSocket接続を利用して、図12(D)のような印刷ジョブを画像形成装置101に送信する。画像形成装置101とプリントサーバ123の間にファイアーウォールが存在する場合でも、WebSocket接続を利用することで、ファイアーウォール外からのPush送信が可能となる。
図5は、画像形成装置の機能ブロック図の例である。画像形成装置101は、コネクション制御部401、コネクション情報管理部402、通信部403、印刷アプリ部404、印刷処理部405、アドレス帳アプリ部406、アドレス帳管理部407を備える。
コネクション制御部401は、通信部403、印刷アプリ部404、アドレス帳アプリ部406からの指示を受信し、WebSocketの接続、切断を制御する。すなわち、コネクション制御部401は、プリントサーバ123を起点として発行される要求をファイアーウォール103を介して画像形成装置101へ送信することを可能とするネットワークプロトコルによるネットワーク接続を確立する。本実施例では、コネクション制御部401は、画像形成装置101が起動したことを契機として、制御用WebSocketを接続することで第1のネットワーク接続を確立する。制御用WebSocketは、アプリ用WebSocketの接続/切断タイミングを制御するネットワークプロトコル(第1のネットワークプロトコル)である。アプリ用WebSocketは、画像形成装置101にインストールされている各々のアプリケーションに対応するネットワークプロトコル(第2のネットワークプロトコル)である。アプリ用WebSocketは、プリントサーバ123とアプリケーションとの間での、プリントサーバ123が発行した要求に応じた処理の実行に必要な情報(例えば、印刷ジョブ等のアプリデータ)の通信に用いられる。
第1のネットワーク接続が確立された後、コネクション制御部401は、第1のネットワーク接続を介してプリントサーバ123から送信されるアプリ起動通知を受信する。アプリ起動通知は、画像形成装置101にインストールされたアプリケーションの起動を指示する通知である。本実施例では、アプリ起動通知は、上記アプリケーションに対応するアプリ用WebSocketによるネットワーク接続を確立するための指示として機能する。コネクション制御部401は、アプリ起動通知に従い、以下の処理を実行する。コネクション制御部401は、画像形成装置101にインストールされたアプリケーションのうち、プリントサーバ123を起点として発行された要求に応じた処理を実行するアプリケーションに対応するアプリ用WebSocketを接続する。これにより、第2のネットワーク接続が確立される。
コネクション情報管理部402は、コネクション情報1301を管理する。通信部403は、コネクション制御部401から送信指示を受けてパケットの送信を行う。また、通信部403は、外部装置からパケットを受信し、コネクション制御部401にパケットを渡す。印刷アプリ部404は、プリントサーバ123から印刷ジョブを受信し、印刷処理部405に渡す印刷アプリケーション(印刷アプリ)として機能する。印刷処理部405は、印刷ジョブを解析してビットマップに展開し、用紙への印刷を行う。アドレス帳アプリ部406は、アドレス帳の送受信を行い、アドレス帳管理部407へ指示を行うアドレス帳アプリケーション(アドレス帳アプリ)として機能する。アドレス帳は、ネットワーク上の連絡先のリストである。アドレス帳には、例えば、データや指示等の送信頻度が高い送信宛のネットワークアドレスを含む。アドレス帳管理部407は、アドレス帳アプリ部406の指示を受けて、アドレス帳を変更、保存する。
図6は、PCの機能ブロック図の例である。PC122は、Webブラウザ部501を備える。Webブラウザ部501は、プリントサーバ123から操作画面情報を取得して操作画面を表示し、操作画面上でのユーザの操作に応じて画像形成装置の指定や印刷指示を行う。
図7は、プリントサーバの機能ブロック図の例である。プリントサーバ123は、コネクション制御部601、コネクション情報管理部602、通信部603、印刷アプリ部604、文書管理部605、Webサーバ部606、アドレス帳アプリ部607、アドレス帳管理部608、デバイステーブル管理部609を備える。
コネクション制御部601は、通信部603、印刷アプリ部604、アドレス帳アプリ部607からの指示を受信し、制御用WebSocketを通じてアプリ起動通知やアプリ停止通知を送信する。WebSocketを通じて送信するとは、接続したWebSocketコネクションを使用して、ペイロードデータとして送信することである。
また、アプリ停止通知は、画像形成装置101に対する、アプリ用WebSocketを切断する指示である。本実施例では、プリントサーバ123が画像形成装置101に対して発行する印刷ジョブの実行が完了した時に、コネクション制御部601がアプリ停止通知を画像形成装置101に対して送信する。
コネクション情報管理部402は、コネクション情報管理テーブルを保持し、コネクション情報管理テーブルに設定されたコネクション情報を管理する。
図8は、コネクション情報管理テーブルの一例を示す図である。
コネクション情報テーブル1301は、アプリ名1302、パス1303、ポート番号1304、プロトコル名1305といったデータ項目を有する。アプリ名1302は、アプリケーションを識別する名前である。パス1303は、プリントサーバ123へアプリ用WebSocketを接続する際のパスである。ポート番号1304は、プリントサーバ123へアプリ用WebSocketを接続する際のポート番号である。プロトコル名1305は、Sec−WebSocket−Protocolヘッダとして利用され、どのアプリ用のWebSocketであるかを示す。
図7に戻って、通信部603は、コネクション制御部601から送信指示を受けてパケットの送信を行う。また、通信部603は、外部装置からパケットを受信し、コネクション制御部401にパケットを渡す。Webサーバ部606は、PC122に対するUIを提供し、文書管理部605が管理する文書情報を返したり、ユーザからの印刷指示を受信したりする。Webサーバ部606が印刷指示を受信すると、印刷アプリ部604は、印刷指示により指定された画像形成装置に適した印刷ジョブを生成し、アプリ用WebSocketを通じて送信する印刷アプリケーション(印刷アプリ)として機能する。アプリ用WebSocketは、印刷アプリ部604と画像形成装置101の印刷アプリ部404が印刷処理のために必要とする情報の送受信に用いられる。すなわち、印刷アプリ部604は、外部装置であるPC122から特定の要求を受けた場合に、以下の処理を実行する発行手段として機能する。印刷アプリ部604は、プリントサーバ123を起点とした印刷ジョブの実行要求を発行し、発行した印刷ジョブの実行要求を、画像形成装置101の印刷アプリ404に対応するアプリ用WebSocketを通じて、印刷アプリ部404に対して送信する。
アドレス帳アプリ部607は、画像形成装置101からアドレス帳を受信して、アドレス帳管理部608に保存するアドレス帳アプリケーション(アドレス帳アプリ)として機能する。また、アドレス帳アプリ部607は、変更されたアドレス帳をアプリ用WebSocketを通じて画像形成装置101に対して配信する。アドレス帳管理部608は、画像形成装置101に配信するアドレス帳を管理する。デバイステーブル管理部609は、デバイステーブルを管理する。デバイステーブルは、画像形成装置101に関する情報(デバイス情報)を含む。デバイステーブルは、予め管理者によって作成される。
図9は、デバイステーブルの一例を示す図である。デバイステーブル701は、デバイス名702、MACアドレス703、接続状態704、設置場所705といったデータ項目を有する。すなわち、デバイス名702乃至設置場所705に設定された情報が、デバイス情報である。
デバイス名702は、画像形成装置を識別する名前である。MACアドレス703は、画像形成装置のNICが保持する固有の識別子である。接続状態704は、画像形成装置101がネットワークに接続された状態か否かを示す。接続状態704に設定された「オンライン」は、画像形成装置101がネットワークに接続された状態であることを示す。また、接続状態704に設定された「オフライン」は、画像形成装置101がネットワークに接続されていない状態であることを示す。制御用WebSocketが接続されている場合、デバイステーブル管理部609が、画像形成装置101がネットワークに接続された状態であると判断して、接続状態704に「オンライン」を設定する。また、制御用WebSocketが切断された場合、デバイステーブル管理部609が、画像形成装置101がネットワークに接続されていない状態となったと判断して、接続状態704に「オフライン」を設定する。設置場所705は、画像形成装置101の設置場所である。設置場所705に設定された情報は、ユーザが印刷を行う画像形成装置を選択する際の参考情報として使用される。
図10は、通信システムにおける印刷処理の例を説明するシーケンス図である。図9を参照して説明する印刷処理を実現する画像形成装置101のプログラムは、画像形成装置101のHDD211に格納されており、RAM202に読み出されCPU201によって実行される。また上記印刷処理を実現するプリントサーバ123、PC122の各プログラムは、各機器のHDD312に格納されており、RAM303に読み出されCPU301によって実行される。
まず、画像形成装置101が、ユーザの操作で起動する(ステップS901)。続いて、画像形成装置101が、アプリ情報の登録を行う(ステップS902)。そして、画像形成装置101が、プリントサーバ123に対して、図12(A)に示すようなメッセージを送信して、制御用WebSocket接続を行う。
プリントサーバ123が、図12(A)に示すようなメッセージで、制御用WebSocket接続応答を画像形成装置101に返す(ステップS904)。
次に、プリントサーバ123が、接続状態の変更を行う(ステップS905)。具体的には、デバイステーブル管理部609が、デバイステーブル701の上記画像形成装置101に対応する接続状態704を、「オンライン」に設定する。
次に、PC122が、ユーザの操作にしたがって、プリントサーバ123に対して印刷画面取得要求を送信する(ステップS906)。続いて、プリントサーバ123が、PC122に印刷画面を返す(ステップS907)。印刷画面(不図示)上でのユーザ操作にしたがって、PCが備えるWebブラウザ部501が、プリンタ選択画面を表示する。
図11はプリンタ選択画面の例である。プリンタ選択画面には、ユーザが使用可能なプリンタの一覧が表示され、ユーザが、所望のプリンタのチェックボックス801にチェックしボタン802を押下すると、印刷を実行するプリンタが選択される。PC122は、印刷画面の取得の際に、プリンタ選択画面データもプリントサーバ123から取得し、プリンタ選択画面データに基づいてプリンタ選択画面を表示する。プリンタ選択画面データは、印刷要求の指示時のプリンタ選択に用いられる画面データである。このために、プリントサーバ123が備えるWebサーバ部606が、前述した図9に示すデバイステーブル701からデバイス情報を取得し、このデバイス情報に基づいて、プリンタ選択画面データを生成して、PC122に提供する。
ユーザが、プリンタ選択画面上の印刷ボタン802を押し下げすると、印刷出力する画像形成装置101が設定される。続いて、印刷画面上でユーザが印刷対象の文書を指定すると、PC122が、印刷要求をプリントサーバ123に送信する(ステップS908)。
Webサーバ部606が、デバイステーブル701において接続状態が「オンライン」である画像形成装置、つまり制御用WebSocketが接続済みの画像形成装置のデバイス情報を表示情報として含むプリンタ選択画面データをPC122に送信してもよい。これにより、PC122において、制御用WebSocketが接続された画像形成装置がプリンタ選択画面上に表示される。
次に、プリントサーバ123が、印刷要求応答をPC122に返す(ステップS909)。続いて、プリントサーバ123が、制御用WebSocketを通じて、ファイアーウォール外からのPush送信で、図12(C)に示すようなアプリ起動通知を画像形成装置101に送信する(ステップS910)。すなわち、プリントサーバ123が備えるコネクション制御部601は、PC122から印刷要求を受けた場合に、制御用WebSocketを通じて、以下の処理を実行する。コネクション制御部601は、印刷ジョブを実行するアプリケーションの起動通知を、該アプリケーションに対応する第2のネットワーク接続を確立するための指示として画像形成装置101に対して行う。
プリントサーバ123は、アプリ起動通知を、ステップS905からS909の間であれば、いつ送信してもよいが、アプリ用WebSocketの接続時間を短くするためには、送信するタイミングは遅い方がよい。したがって、図10に示す例では、プリントサーバ123は、印刷ジョブを送信した後にアプリ起動通知を送信することで、アプリ用WebSocketの接続タイミングを印刷ジョブの送信終了時としている。
次に、画像形成装置101が、プリントサーバ123に対して、図12(A)に示すようなメッセージを送信することを通じて、アプリ用WebSocket接続を行う(ステップS911)。続いて、プリントサーバ123が、画像形成装置101に対して、図12(B)に示すようなメッセージで、アプリ用WebSocket接続応答を返す(ステップS912)。そして、プリントサーバ123が、アプリ用WebSocketを通じて、Push送信で、図12(D)に示すような印刷ジョブを画像形成装置101に送信する。
次に、画像形成装置101が、印刷処理を実行する(ステップS914)。続いて、画像形成装置101が、、ジョブ終了通知を、アプリ用WebSocketを通じてプリントサーバ123に送信する(ステップS915)。続いて、プリントサーバ123が、、アプリ停止通知を、アプリ用WebSocketを通じて画像形成装置101に送信する(ステップS916)。なお、プリントサーバ123は、アプリ停止通知を、ステップS915からS920の間であればいつ送信してもよいが、アプリ用WebSocketの接続時間を短くするためには、送信するタイミングは早い方がよい。図10に示す例では、プリントサーバ123は、アプリ停止通知を、画像形成装置101からジョブ終了通知を受けた時に送信することで、アプリ用WebSocketの切断タイミングを印刷ジョブの実行終了時としている。
次に、画像形成装置101が、アプリ用WebSocket切断をプリントサーバ123に送信する(ステップS917)。続いて、プリントサーバ123が、アプリ用WebSocket切断応答を画像形成装置101に返す(ステップS918)。その後、画像形成装置101が、ユーザ操作でシャットダウンを検知し、シャットダウンを実行する前の処理を行う(ステップS919)。
次に、画像形成装置101が、制御用WebSocket切断をプリントサーバ123に送信する(ステップS920)。プリントサーバ123が、制御用WebSocket切断応答を画像形成装置101に返す(ステップS921)。続いて、画像形成装置101が、シャットダウンを実行する(ステップS922)。そして、プリントサーバ123が、画像形成装置101の制御用WebSocketが切断されたので、接続状態の変更を行う(ステップS923)。具体的には、デバイステーブル管理部609が、デバイステーブル701の画像形成装置101に対応する接続状態704を、「オフライン」に設定する。
図12は、実施例1において画像形成装置とプリントサーバとの間で送受信されるメッセージの例である。図12(A)は、WebSocket接続時に送信するメッセージの例である。HTTPヘッダと異なり、WebSocketヘッダでは、Upgradeヘッダにwebsocketと記載されて、ConnectionヘッダにUpgradeと記載される。Sec−WebSocket−Protocolヘッダは、このWebSocketが何用として利用されるかを示す。本実施例では、制御用WebSocketであることを示すcontrolや印刷アプリ用WebSocketであることを示すprintが記載される。本メッセージは、図10のステップS903、S911、図13のステップS1105、S1111で送信され、受信したプリントサーバ123は、図12(B)に示すような応答メッセージを返す。
図12(B)は、図12(A)に示すメッセージに対する応答メッセージの例である。Upgradeヘッダにwebsocketと記載されて、ConnectionヘッダにUpgradeと記載される。Sec−WebSocket−Protocolヘッダは、このWebSocketが何用として利用されるかを示す。本メッセージは、図10のステップS904、S912、図14のステップS1208、S1210で送信され、画像形成装置101とプリントサーバ123の間でWebSocketコネクションが確立される。
図12(C)は、制御用WebSocketを通じてアプリ用WebSocketの接続を指示するメッセージの例である。<WebSocketControl>タグは、WebSocktの制御に使われることを示す。<AppName>タグはアプリケーション名を示し、どのアプリ用WebSocketに対する指示なのかを示す。<Status>タグは、接続指示か切断指示を示す。本実施例では、<Status>タグがopenの場合に接続指示を示し、Closeの場合に切断指示を示す。本メッセージは、図10のステップS910、図14のステップS1205で送信され、受信した画像形成装置101は、アプリ用WebSocket接続をプリントサーバ123に送信する。
図12(D)は、アプリ用WebSocketを通じて印刷ジョブを送信するメッセージの例である。<PrintJobRequest>タグで印刷要求であることを示し、<Job>タグで印刷ジョブの情報が示される。<User>タグは、印刷を実行したユーザ名、<JobName>タグは文書名である。本実施例では、<PrintJobRequest>タグの後に印刷ジョブのデータが付与される。本メッセージは、図10のステップS913、図14のステップS1206で送信され、受信した画像形成装置101は、印刷処理を実行する。
図13は、画像形成装置が備えるコネクション制御部の動作処理の例を説明するフローチャートである。本フローにしたがう処理を実現するプログラムは、画像形成装置101のHDD211に格納されており、RAM202に読み出されCPU201によって実行される。
コネクション制御部401が、指示を受信したかを判断する(ステップS1101)。コネクション制御部401が、指示を受信していないと判断した場合は、ステップS1101に戻る。コネクション制御部401が、指示を受信したと判断した場合は、ステップS1102に進む。
次に、コネクション制御部401が、アプリ部(印刷アプリ部404、アドレス帳アプリ部406)と通信部403のうち、いずれから指示(通知)を受信したかを判断する(ステップS1102)。コネクション制御部401が、アプリ部から指示を受信したと判断した場合は、ステップS1103に進む。
ステップS1103において、コネクション制御部401が、指示の種別を判断する。指示が情報登録の指示である場合は、ステップS1104に進む。そして、コネクション制御部401が、コネクション情報をコネクション情報管理部402へ保存し(ステップS1104)、ステップS1101に戻る。コネクション情報は、アプリ名、パス、ポート番号、プロトコル名を含む。 指示が、画像形成装置101が起動したことを示すデバイス起動通知である場合は、ステップS1105に進む。そして、コネクション制御部401が、図12(A)に示すようなメッセージで、制御用WebSocket接続を送信するように通信部403へ指示する(ステップS1105)。WebSocket接続を送信することは、図12(A)のようなメッセージで、WebSocket接続時に必要な情報を送信することである。通信部403が、図12(A)に示すメッセージを含む実際のパケットを送信する。
指示が、画像形成装置101がシャットダウンすることを示すデバイスシャットダウン通知である場合は、ステップS1106に進む。そして、コネクション制御部401が、制御用WebSocket切断を送信するように通信部403へ指示する(ステップS1106)。
指示が、アプリデータである場合は、ステップS1107に進む。そして、コネクション制御部401が、アプリ用WebSocketでアプリデータを送信するように通信部403へ指示する(ステップS1107)。
ステップS1102の判断処理で、コネクション制御部401が、通信部403から通知を受信したと判断した場合は、ステップS1108に進む。そして、コネクション制御部401が、通知の種別を判断する(ステップS1108)。コネクション制御部401が、通知がアプリ起動/停止通知であると判断した場合は、ステップS1109に進む。そして、コネクション制御部401が、受信した通知情報からアプリ情報を取り出し、そのアプリ名が、コネクション情報管理テーブル1301(図8)に存在するかを判断する(ステップS1109)。
アプリ名がコネクション情報管理テーブル1301に存在しない場合は、S1101に戻る。アプリ名がコネクション情報管理テーブル1301に存在する場合は、ステップS1110に進む。続いて、コネクション制御部401が、画像形成装置101でジャムなどのエラーが発生しているかを判断する(ステップS1110)。コネクション制御部401が、画像形成装置101でジャムなどのエラーが発生していると判断した場合は、ステップS1111に進む。そして、コネクション制御部401が、アプリ用WebSocket接続/切断を送信するように通信部403へ指示する(ステップS1111)。なお、コネクション制御部401は、アプリ用WebSocket接続を、図12(A)に示すようなメッセージでプリントサーバ123に対して送信する。
コネクション制御部401が、画像形成装置101でジャムなどのエラーが発生していないと判断した場合は、ステップS1112に進む。そして、コネクション制御部401が、制御用WebSocketでエラー通知を行うように通信部403へ指示する(ステップS1112)。なお、コネクション制御部401は、エラー通知を、アプリ用WebSocketを接続した後に、アプリ用WebSocketを通じてエラー通知を送信してもよい。コネクション制御部401は、エラー通知を送信した後は、アプリ用WebSocketを切断する。
上記ステップS1108の判断処理で、コネクション制御部401が、受信した通知がアプリデータであると判断した場合は、ステップS1113に進む。そして、コネクション制御部401が、どのアプリ用WebSocketを通じて受信したアプリデータであるかを判断して、該当するアプリ部へアプリデータを送信する。例えば、アプリデータが、印刷アプリ用WebSocketを通じて受信した印刷ジョブである場合には、コネクション制御部401は、印刷アプリ部404へ印刷ジョブを送信する。
図14は、プリントサーバが備えるコネクション制御部の動作処理の例を説明するフローチャートである。本フローにしたがう処理を実現するプログラムは、プリントサーバ123のHDD312に格納されており、RAM303に読み出されCPU301によって実行される。
コネクション制御部601が、指示を受信したかを判断する(ステップS1201)。コネクション制御部601が、指示を受信していないと判断した場合は、ステップS1201に戻る。コネクション制御部401が、指示を受信したと判断した場合は、ステップS1202に進む。
次に、コネクション制御部601が、アプリ部(印刷アプリ部604、アドレス帳アプリ部607)と通信部603のうち、いずれから指示(通知)を受信したかを判断する(ステップS1202)。コネクション制御部601が、アプリ部から指示を受信したと判断した場合は、ステップS1203に進む。
ステップS1203において、コネクション制御部601が、指示の種別を判断する。指示が情報登録の指示である場合は、ステップS1204に進む。そして、コネクション制御部601が、コネクション情報をコネクション情報管理部602へ保存し(ステップS1204)、ステップS1201に戻る。コネクション情報は、アプリ名、パス、ポート番号、プロトコル名を含む。
指示が、画像形成装置101が起動したことを示すデバイス起動通知である場合は、ステップS1105に進む。そして、コネクション制御部401が、図12(A)に示すようなメッセージで、制御用WebSocket接続を送信するように通信部403へ指示する(ステップS1105)。WebSocket接続を送信することは、図12(A)のようなメッセージで、WebSocket接続時に必要な情報を送信することである。通信部403が、図12(A)に示すメッセージを含む実際のパケットを送信する。
指示が、アプリ起動/停止通知である場合は、ステップS1205に進む。そして、コネクション制御部601が、制御用WebSocketでアプリ起動/停止通知を行うように通信部603へ指示する(ステップS1205)。コネクション制御部601は、アプリ起動通知を、図12(C)に示すようなメッセージで送信する。
指示が、アプリデータである場合は、ステップS1206に進む。そして、コネクション制御部401が、アプリ用WebSocketでアプリデータを送信するように通信部603へ指示する(ステップS1206)。具体的には、コネクション制御部601は、アプリ用WebSocketで、図12(D)に示すようなアプリデータを送信するように通信部603へ指示する。
ステップS1202の判断処理で、コネクション制御部601が、通信部603から通知を受信したと判断した場合は、ステップS1207に進む。そして、コネクション制御部601が、通知の種別を判断する(ステップS1207)。
コネクション制御部601が、通知が制御用WebSocket接続である判断した場合は、ステップS1208に進む。そして、コネクション制御部401が、例えば図12(B)に示すようなメッセージで、制御用WebSocket接続応答を送信するように通信部603へ指示する(ステップS1208)。そして、コネクション制御部601が、接続状態の変更を行って(ステップS1209)、ステップS1201に戻る。
コネクション制御部601が、通知がアプリ用WebSocket接続であると判断した場合は、ステップS1210に進む。そして、コネクション制御部601が、例えば図12(B)に示すようなメッセージで、アプリ用WebSocket接続応答を送信するように通信部603へ指示する(ステップS1210)。
コネクション制御部601が、通知がアプリ用WebSocket切断であると判断した場合は、ステップS1211に進む。そして、コネクション制御部601が、アプリ用WebSocket切断応答を送信するように通信部603へ指示する(ステップS1211)。
コネクション制御部601が、通知が制御用WebSocket切断である判断した場合は、ステップS1212に進む。そして、コネクション制御部601が、制御用WebSocket切断応答を送信するように通信部603へ指示する(ステップS1212)。そして、コネクション制御部601が、接続状態の変更を行う(ステップS1213)。
コネクション制御部601が、通知がアプリデータであると判断した場合は、ステップS1214に進む。そして、コネクション制御部601が、アプリデータをアプリ部へ送信する(ステップS1214)。
実施例1の通信システムによれば、プリントサーバ123を起点とする印刷要求をファイアーウォールを介してクライアント装置へ送信することを可能とするネットワーク接続を確立する際に、以下の効果を奏することができる。すなわち、実施例1の通信システムは、1本の制御用WebSocketを接続した上で、この制御用WebSocketを通じて印刷アプリ用のWebSocketの接続および切断を制御する。したがって、プリンタにおいてアプリケーションの数が増えた場合であっても、ネットワークの接続管理に関するプリントサーバ123の負荷を抑えることができる。また、実施例1の通信システムによれば、プリンタが、起動時に全てのアプリケーションについてのアプリケーション用WebSocketを接続する必要がなくなるので、プリンタのリソースの無駄を防止できる。
(実施例2)
実施例2の通信システムは、制御用WebSocketを適用することによるアドレス帳アプリによるアドレス帳配信を実現する。実施例2のシステム構成は、図1に示すシステム構成と同様である。なお、本実施例においては、実施例1と同一部分に関する説明は省略し、その差異についてのみ説明する。
図15は、通信システムにおけるアドレス帳配信処理の例を説明するシーケンス図である。図15を参照して説明するアドレス帳配信処理を実現する画像形成装置101、102のプログラムは、画像形成装置101、102のHDD211に格納されており、RAM202に読み出されCPU201によって実行される。また上記アドレス帳配信処理を実現するプリントサーバ123のプログラムは、HDD312に格納されており、RAM303に読み出されCPU301によって実行される。以下の説明では、画像形成装置102が第1のクライアント装置、画像形成装置101が第2のクライアント装置として機能する。
実施例2の通信システムは、ステップS1401の処理の前に、実施例1の通信システムと同様に、図10のステップS901乃至S905の処理(図15では不図示)を実行する。
ステップS1401において、画像形成装置102が、ユーザの操作を受け付け、アドレス帳を変更する。具体的には、アドレス帳アプリ部406(図5)が、アドレス帳管理部407が管理しているアドレス帳が有する連絡先を変更する。続いて、画像形成装置102が、アドレス帳変更通知をプリントサーバ123に送信する(ステップS1402)。アドレス帳変更通知は、イントラネットからファイアーウォール外への送信であるので、WebSocketで送信する必要はなく、HTTPで送信する。
次に、プリントサーバ123が、受信したアドレス帳変更通知に従い、プリントサーバ123内のアドレス帳を変更する(ステップS1403)。続いて、プリントサーバ123が、制御用WebSocketを通じて、ファイアーウォール外からのPush送信で、図16(C)に示すようなアプリ起動通知を画像形成装置101、102に送信する(ステップS1404)。すなわち、プリントサーバ123が備えるコネクション制御部601は、変更通知されたアドレス帳が有する情報を画像形成装置101に反映させる処理を実行するアドレス帳アプリ部406の起動通知を画像形成装置101に対して行う。
なお、プリントサーバ123は、アプリ起動通知を、ステップS1401からS1403の間であればいつ送信してもよいが、アプリ用WebSocketの接続時間を短くするためには、送信するタイミングは遅い方がよい。したがって、図15に示す例では、プリントサーバ123は、アプリ起動通知を、アドレス帳変更時に送信することで、アプリ用WebSocketの接続タイミングをアドレス帳変更時としている。プリントサーバ123が、アドレス帳変更通知を送信した画像形成装置が画像形成装置102であると判断して、アプリ起動通知を画像形成装置101にのみ送信してもよい。
画像形成装置101、102は、プリントサーバ123に図16(A)に示すようなメッセージで、アプリ用WebSocket接続を行う(ステップS1405)。続いて、プリントサーバ123が、画像形成装置101、102に対して、図16(B)に示すのようなメッセージで、アプリ用WebSocket接続応答を返す(ステップS1406)。そして、プリントサーバ123が、アプリ用WebSocketを通じて、Push送信で図16(D)のようなアドレス帳を画像形成装置101、102に配信する(ステップS1407)。
次に、画像形成装置101、102が、受信したアドレス帳の内容に従い、アドレス帳を変更する(ステップS1408)。プリントサーバ123は、上記ステップS1407で配信されたアドレス帳データを全て送信した時点で、アプリ用WebSocketを通じて、アプリ停止通知を画像形成装置101、102に送信する(ステップS1409)。なお、プリントサーバ123は、アプリ停止通知を、上記ステップS1408の後であればいつ送信してもよいが、アプリ用WebSocketの接続時間を短くするためには、送信するタイミングは早い方がよい。図15に示す例では、プリントサーバ123が、アドレス帳を配信した後にアプリ停止通知を画像形成装置101、102に送信することで、アプリ用WebSocketの切断タイミングをアドレス帳配信終了時としている。画像形成装置101、102が、アプリ停止通知を、アプリ用WebSocketを通じてプリントサーバ123に送信するようにしてもよい。
次に、画像形成装置101、102が、アプリ用WebSocket切断をプリントサーバ123に送信する(ステップS1410)。そして、プリントサーバ123が、アプリ用WebSocket切断応答を画像形成装置101、102に返す(ステップS1411)。ステップS1411より後の処理は、図10のステップS919からS922までの処理と同様である。なお、プリントサーバ123は、制御用WebSocketが接続されていない画像形成装置に対しては、その画像形成装置が接続された時点で以下の処理を実行してもよい。プリントサーバ123は、その画像形成装置にアドレス帳を配信済みであるかを判断し、アドレス帳を配信済みである場合に、その画像形成装置に対してアプリ起動通知を送信する。
図16は、実施例2において画像形成装置とプリントサーバとの間で送受信されるメッセージの例である。図16(A)は、WebSocket接続時に送信するメッセージの例である。Sec−WebSocket−Protocolヘッダは、このWebSocketが何用として利用されるかを示す。本実施例では、制御用WebSocketであることを示すcontrolやアドレス帳アプリ用WebSocketであることを示すaddressが記載される。本メッセージは、図15のステップS1405で送信され、受信したプリントサーバ123は、図16(B)に示すような応答メッセージを返す。
図16(B)は、図16(A)のメッセージに対しする応答メッセージの例である。Sec−WebSocket−Protocolヘッダは、このWebSocketが何用として利用されるかを示す。本メッセージは、図15のステップS1406で送信され、画像形成装置101、102とプリントサーバ123の間でWebSocketコネクションが確立される。
図16(C)は、制御用WebSocketを通じてアプリ用WebSocketの接続を指示するメッセージの例である。<WebSocketControl>タグは、WebSocktの制御に使われることを示す。<AppName>タグはアプリケーション名を示し、どのアプリ用WebSocketに対する指示なのかを示す。本実施例では、アドレス帳アプリであることを示すaddressが記載される。<Status>タグは、接続指示か切断指示を示す。本実施例では、<Status>タグがopenの場合に接続指示を示し、Closeの場合に切断指示を示す。本メッセージは、図15のステップS1404で送信され、受信した画像形成装置101、102は、アプリ用WebSocket接続をプリントサーバ123に送信する。
図16(D)は、アプリ用WebSocketを通じてアドレス帳を送信するメッセージの例である。<AddressBook>タグでアドレス帳配信であることを示し、<email>タグでメールアドレス情報が示される。<User>タグの中に個別のメールアドレス情報が設定される。本メッセージは、図15のステップS1407で送信され、受信した画像形成装置101は、アドレス帳を変更する。
実施例2の通信システムによれば、プリントサーバ123を起点とするアドレス帳配信をファイアーウォールを介してクライアント装置へ送信することを可能とするネットワーク接続を確立する際に、以下の効果を奏することができる。すなわち、実施例1の通信システムは、1本の制御用WebSocketを接続した上で、この制御用WebSocketを通じてアドレス帳アプリ用のWebSocketの接続および切断を管理する。したがって、プリンタにおいてアプリケーションの数が増えた場合であっても、ネットワークの接続管理に関するプリントサーバ123の負荷を抑えることができる。また、実施例1の通信システムによれば、プリンタが、起動時に全てのアプリケーションについてのアプリケーション用WebSocketを接続する必要がなくなるので、プリンタのリソースの無駄を防止できる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
10 イントラネット
101 画像形成装置
102 画像形成装置
103 ファイアーウォール
104 ネットワーク
121 インターネット
122 PC
123 プリントサーバ

Claims (13)

  1. クライアント装置とサーバ装置とがファイアーウォールを介して通信を行うシステムであって、
    前記クライアント装置は、
    前記ファイアーウォールの外部に配置された前記サーバ装置を起点として発行される要求を前記ファイアーウォールを介して前記クライアント装置へ送信することを可能とするネットワークプロトコルによるネットワーク接続を確立する確立手段を備え、
    前記サーバ装置は、
    前記クライアント装置にインストールされたアプリケーションに対応するネットワーク接続を確立するための指示を送信する送信手段を備え、
    前記クライアント装置は、前記確立手段により第1のネットワーク接続が確立された後、前記第1のネットワーク接続を介して前記サーバ装置から送信される前記指示を受信し、受信された前記指示に従い前記確立手段により第2のネットワーク接続が確立されることを特徴とする情報処理システム。
  2. 前記クライアント装置が備える前記確立手段は、第1のネットワークプロトコルを接続することを通じて前記第1のネットワーク接続を確立し、第2のネットワークプロトコルを接続することを通じて前記第2のネットワーク接続を確立し、
    前記第2のネットワークプロトコルは、前記サーバ装置と前記アプリケーションとの間での、前記サーバ装置を起点として発行される要求に応じた処理の実行に必要な情報の通信に用いられ、
    前記第1のネットワークプロトコルは、前記第2のネットワークプロトコルの接続/切断タイミングを制御することを特徴とする請求項1に記載の情報処理システム。
  3. 前記クライアント装置が備える前記確立手段は、
    前記クライアント装置が起動したことを契機として前記第1のネットワークプロトコルによる前記第1のネットワーク接続を確立し、
    前記クライアント装置にインストールされたアプリケーションのうち、前記サーバ装置を起点として発行された要求に応じた処理を実行するアプリケーションの起動通知を前記第1のネットワークプロトコルを通じて前記サーバ装置から受けたことを契機として、前記起動通知に対応するアプリケーションに対応する前記第2のネットワークプロトコルによる前記第2のネットワーク接続を確立することを特徴とする請求項2に記載の情報処理システム。
  4. 前記サーバ装置は、前記サーバ装置を起点として発行される要求に応じた処理の実行が完了した時に、前記第2のネットワークプロトコルを切断する切断手段をさらに備えることを特徴とする請求項2または請求項3に記載の情報処理システム。
  5. 前記サーバ装置は、外部装置から特定の要求または通知を受けた場合に、前記サーバ装置を起点とした前記要求を発行し、発行した要求を、前記確立された第2のネットワーク接続を通じて、該要求に応じた処理を実行するアプリケーションに対して送信する発行手段をさらに備える
    ことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理システム。
  6. 前記サーバ装置が備える前記送信手段は、前記サーバ装置が前記外部装置から印刷要求を受けた場合に、印刷ジョブを実行するアプリケーションの起動通知を、該アプリケーションに対応する前記第2のネットワーク接続を確立するための指示として前記第1のネットワークプロトコルを通じて前記クライアント装置に対して行い、
    前記クライアント装置が備える前記確立手段は、前記印刷ジョブを実行するアプリケーションの前記起動通知を前記送信手段から受けたことを契機として、前記印刷ジョブを実行するアプリケーションに対応する前記第2のネットワークプロトコルを接続して前記第2のネットワーク接続を確立することを特徴とする請求項5に記載の情報処理システム。
  7. 前記サーバ装置は、さらに、前記印刷要求の指示に用いられる画面データであって、前記第1のネットワークプロトコルが接続された前記クライアント装置の表示情報を含む画面データを前記外部装置に対して提供する提供手段を備える
    ことを特徴とする請求項6に記載の情報処理システム。
  8. 前記外部装置は、前記クライアント装置を含む複数のクライアント装置であり、
    前記サーバ装置が備える前記送信手段は、前記サーバ装置が第1のクライアント装置から前記第1のクライアント装置が有するアドレス帳の変更通知を受けた場合に、前記アドレス帳が有する情報を第2のクライアント装置に反映させる処理を実行するアプリケーションの起動通知を、該アプリケーションに対応する前記第2のネットワーク接続を確立するための指示として前記第1のネットワークプロトコルを通じて第2のクライアント装置に対して行い、
    前記第2のクライアント装置が備える前記確立手段は、前記アドレス帳が有する情報を反映させる処理を実行するアプリケーションの起動通知を前記送信手段から受けたことを契機として、該アプリケーションに対応する前記第2のネットワークプロトコルを接続して前記第2のネットワーク接続を確立することを特徴とする請求項5に記載の情報処理システム。
  9. 前記サーバ装置が備える前記送信手段は、
    前記第1のネットワークプロトコルが接続されていないクライアント装置については、前記クライアント装置が前記第1のネットワークプロトコルに接続された時点で前記クライアント装置に対して変更通知されたアドレス帳を配信済みであるかを判断し、
    前記クライアント装置に対して変更通知されたアドレス帳を配信済みでない場合に、前記アドレス帳が有する情報を反映させる処理を実行するアプリケーションの起動通知を前記クライアント装置に対して行うことを特徴とする請求項7に記載の情報処理システム。
  10. 前記ネットワークプロトコルは、WebSocketである
    ことを特徴とする請求項1乃至9のいずれか1項に記載の情報処理システム。
  11. ファイアーウォールの外部に配置され、クライアント装置と前記ファイアーウォールを介して通信を行うサーバ装置であって、
    前記クライアント装置において、前記サーバ装置を起点として発行される要求を前記ファイアーウォールを介して前記クライアント装置へ送信することを可能とするネットワークプロトコルによる第1のネットワーク接続が確立された後、前記クライアント装置にインストールされたアプリケーションに対応する第2のネットワーク接続を確立するための指示を、前記第1のネットワーク接続を介して前記クライアント装置に送信する送信手段を備え、
    前記クライアント装置において、前記送信された前記指示に従い前記第2のネットワーク接続が確立されることを特徴とするサーバ装置。
  12. ファイアーウォールの外部に配置されたサーバ装置と前記ファイアーウォールを介して通信を行うクライアント装置であって、
    前記サーバ装置を起点として発行される要求を前記ファイアーウォールを介して前記クライアント装置へ送信することを可能とするネットワークプロトコルによる第1のネットワーク接続を確立する確立手段と、
    前記確立手段により第1のネットワーク接続が確立された後に前記第1のネットワーク接続を介して前記サーバ装置から送信される、前記クライアント装置にインストールされたアプリケーションに対応する第2のネットワーク接続を確立するための指示を、前記サーバ装置から受信する受信手段とを備え、
    前記確立手段は、前記受信された前記指示に従い前記第2のネットワーク接続を確立することを特徴とするクライアント装置。
  13. クライアント装置とサーバ装置とがファイアーウォールを介して通信を行うシステムの制御方法であって、
    前記クライアント装置が、前記ファイアーウォールの外部に配置された前記サーバ装置を起点として発行される要求を前記ファイアーウォールを介して前記クライアント装置へ送信することを可能とするネットワークプロトコルによる第1のネットワーク接続を確立する工程と、
    前記サーバ装置が、前記第1のネットワーク接続が確立された後、前記クライアント装置にインストールされたアプリケーションに対応する第2のネットワーク接続を確立するための指示を前記第1のネットワーク接続を介して送信する工程と、
    前記クライアント装置が、前記サーバ装置から送信される前記指示を受信し、受信された前記指示に従い前記第2のネットワーク接続を確立する工程とを有することを特徴とする制御方法。
JP2012160992A 2012-07-19 2012-07-19 情報処理システム、サーバ装置、クライアント装置および制御方法 Active JP6053364B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012160992A JP6053364B2 (ja) 2012-07-19 2012-07-19 情報処理システム、サーバ装置、クライアント装置および制御方法
US13/919,737 US9083721B2 (en) 2012-07-19 2013-06-17 Information processing system, client device, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012160992A JP6053364B2 (ja) 2012-07-19 2012-07-19 情報処理システム、サーバ装置、クライアント装置および制御方法

Publications (2)

Publication Number Publication Date
JP2014021794A JP2014021794A (ja) 2014-02-03
JP6053364B2 true JP6053364B2 (ja) 2016-12-27

Family

ID=49947519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012160992A Active JP6053364B2 (ja) 2012-07-19 2012-07-19 情報処理システム、サーバ装置、クライアント装置および制御方法

Country Status (2)

Country Link
US (1) US9083721B2 (ja)
JP (1) JP6053364B2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9350763B1 (en) * 2012-04-17 2016-05-24 Amazon Technologies, Inc. HTTP tunnelling over websockets
JP6070466B2 (ja) 2013-07-31 2017-02-01 ブラザー工業株式会社 端末装置とプリンタ
CN104615388B (zh) 2013-11-01 2017-12-22 精工爱普生株式会社 打印控制***
JP6331337B2 (ja) * 2013-11-01 2018-05-30 セイコーエプソン株式会社 印刷制御システム、及び、印刷装置
IN2014DE02931A (ja) 2013-11-01 2015-06-26 Seiko Epson Corp
US9231946B2 (en) * 2014-02-07 2016-01-05 Oracle International Corporation Mobile cloud service architecture
CA2931750C (en) 2014-02-07 2023-03-07 Oracle International Corporation Cloud service custom execution environment
US9529658B2 (en) 2014-02-07 2016-12-27 Oracle International Corporation Techniques for generating diagnostic identifiers to trace request messages and identifying related diagnostic information
US9529657B2 (en) 2014-02-07 2016-12-27 Oracle International Corporation Techniques for generating diagnostic identifiers to trace events and identifying related diagnostic information
EP3127008B1 (en) 2014-03-31 2020-06-03 Oracle International Corporation Infrastructure for synchronization of mobile device with mobile cloud service
US10209992B2 (en) 2014-04-25 2019-02-19 Avago Technologies International Sales Pte. Limited System and method for branch prediction using two branch history tables and presetting a global branch history register
US10063661B2 (en) 2015-01-14 2018-08-28 Oracle International Corporation Multi-tenant cloud-based queuing systems
JP2016157156A (ja) * 2015-02-23 2016-09-01 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及びプログラム
KR20170034219A (ko) * 2015-09-18 2017-03-28 에스프린팅솔루션 주식회사 보안 환경에서의 솔루션 서버를 통한 서비스 제공 방법, 이를 수행하기 위한 장치 및 시스템
JP6409759B2 (ja) * 2015-12-10 2018-10-24 コニカミノルタ株式会社 画像処理装置、画像処理システム及びプログラム
CN105847152A (zh) * 2016-03-15 2016-08-10 上海缔安科技股份有限公司 一种中转点选择方法及客户端
US10306023B2 (en) 2016-03-28 2019-05-28 Oracle International Corporation Pre-formed instructions for a mobile cloud service
JP6971578B2 (ja) * 2017-01-23 2021-11-24 キヤノン株式会社 情報処理装置及びその制御方法
US10846029B2 (en) * 2017-06-13 2020-11-24 Bixolon Co., Ltd. Printing apparatus to acquire print data and transmit a request to an external apparatus to close websocket communication when predetermined time period elapses
JP7259326B2 (ja) * 2018-12-28 2023-04-18 株式会社リコー 情報処理装置、プログラム、画像形成システム、及び画像形成方法
CN112968963B (zh) * 2021-02-23 2023-03-24 上海昊沧***控制技术有限责任公司 基于WebSocket进行用户强制实时下线的方法
CN114415989B (zh) * 2021-12-02 2023-09-22 杭州衣科信息技术股份有限公司 一种针对iOS***的多客户端连接打印***

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6557037B1 (en) * 1998-05-29 2003-04-29 Sun Microsystems System and method for easing communications between devices connected respectively to public networks such as the internet and to private networks by facilitating resolution of human-readable addresses
JP3509684B2 (ja) * 2000-02-02 2004-03-22 日本電気株式会社 接続制御装置、接続制御方法、接続制御プログラムを記録した記録媒体及びデータ通信システム
DE10109196B4 (de) * 2001-02-26 2005-04-28 Viessmann Werke Kg Vorrichtung und Verfahren zur Fernüberwachung und Parametrierung von Einrichtungen, insbesondere von Heizungsanlagen
US7203674B2 (en) * 2002-02-15 2007-04-10 Morgan Cohen Method and system to connect and match users in an electronic dating service
JP3698698B2 (ja) * 2002-02-26 2005-09-21 富士通株式会社 Dmzを介したイントラネットおよび外部ネットワーク上の呼の確立
JP4299641B2 (ja) * 2003-11-17 2009-07-22 株式会社日立コミュニケーションテクノロジー 無線基地局試験方法及び試験装置
US20100207820A1 (en) * 2006-09-05 2010-08-19 Radio Communication Systems Ltd. Distance measuring device
JP4893279B2 (ja) * 2006-12-04 2012-03-07 富士ゼロックス株式会社 通信装置および通信方法
JP4992454B2 (ja) * 2007-02-14 2012-08-08 トヨタ自動車株式会社 車両用駆動装置の制御装置
US8166534B2 (en) * 2007-05-18 2012-04-24 Microsoft Corporation Incorporating network connection security levels into firewall rules
AT508834B1 (de) * 2009-10-09 2012-09-15 Fronius Int Gmbh Verfahren und vorrichtung zur fehlererkennung in einer photovoltaik-anlage
ES2385091B1 (es) * 2010-04-27 2013-05-28 Bsh Electrodomésticos España, S.A. Dispositivo de encimera de cocción.
JP2012118733A (ja) * 2010-11-30 2012-06-21 Canon Inc 印刷システム、印刷方法、およびプログラム
JP5767472B2 (ja) 2010-12-24 2015-08-19 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
JP5888880B2 (ja) 2011-06-09 2016-03-22 キヤノン株式会社 印刷システム、サーバ装置、画像形成装置および印刷処理方法
US8724151B2 (en) * 2012-03-05 2014-05-13 Ricoh Company, Ltd. Enterprise cloud printing

Also Published As

Publication number Publication date
JP2014021794A (ja) 2014-02-03
US9083721B2 (en) 2015-07-14
US20140025832A1 (en) 2014-01-23

Similar Documents

Publication Publication Date Title
JP6053364B2 (ja) 情報処理システム、サーバ装置、クライアント装置および制御方法
US8842320B2 (en) Print relay system, control method, and storage medium
US8970879B2 (en) Printing system, printing method, and computer-readable medium for designating and executing printing via the internet
US8659776B2 (en) Print job management server which manages print jobs to be processed by an image forming apparatus
US8958095B2 (en) Relay server, relay server control method, and storage medium
US8860988B2 (en) Print relay system, print relay system control method, and storage medium
US9128647B2 (en) Print relay server system, method for controlling the same, and program therefor
US8531711B2 (en) Print server, control method thereof, client terminal, printing system, and computer-readable medium
US9069497B2 (en) Information processing apparatus having relay virtual printer and functional relay virtual printer
US9710207B2 (en) Information processing system in which a printer associated with a web browser can be deleted
KR101384884B1 (ko) 콘텐츠 인쇄 시스템, 인쇄 중계 시스템, 인쇄 중계 시스템의 제어 방법 및 컴퓨터 판독가능 저장 매체
JP5729979B2 (ja) 印刷中継システム、印刷システム、画像形成装置、印刷中継システムを制御する制御方法、およびプログラム
JP2011165124A (ja) 印刷装置、サーバー装置、印刷システム、印刷制御方法、及び印刷制御プログラム、並びに記録媒体
EP2541393B1 (en) Job processing apparatus, control method, and program
US20130301080A1 (en) Print system, print relay server, and client device
US20120019865A1 (en) Content printing system, print relay system, control method, and storage medium
US9110623B2 (en) Printing system, print relay server, method of controlling the server, and program
JP2005038016A (ja) データ処理装置、データ処理方法、データ処理プログラム、及び画像形成装置
JP2013084047A (ja) 印刷中継サーバ装置、クラウド印刷サービス提供サーバ装置、情報処理方法及びプログラム
EP1821193B1 (en) Adaptive configuration of imaging devices
WO2012011248A1 (en) Content printing system, print relay system, control method, and program
JP2013020455A (ja) 画像処理システム
JP2018156692A (ja) 情報処理システム、画像形成装置、情報処理装置、情報処理方法および情報処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160928

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161129

R151 Written notification of patent or utility model registration

Ref document number: 6053364

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151