JP2013246447A - ネットワークデバイス、プログラム、システムおよび方法 - Google Patents

ネットワークデバイス、プログラム、システムおよび方法 Download PDF

Info

Publication number
JP2013246447A
JP2013246447A JP2012117225A JP2012117225A JP2013246447A JP 2013246447 A JP2013246447 A JP 2013246447A JP 2012117225 A JP2012117225 A JP 2012117225A JP 2012117225 A JP2012117225 A JP 2012117225A JP 2013246447 A JP2013246447 A JP 2013246447A
Authority
JP
Japan
Prior art keywords
communication method
network device
request
predetermined communication
instruction
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
JP2012117225A
Other languages
English (en)
Other versions
JP2013246447A5 (ja
JP6140937B2 (ja
Inventor
Takeshi Itami
剛 伊丹
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 JP2012117225A priority Critical patent/JP6140937B2/ja
Priority to US13/870,486 priority patent/US9560116B2/en
Priority to EP13167019.2A priority patent/EP2667565B1/en
Priority to CN201310187585.8A priority patent/CN103428198B/zh
Publication of JP2013246447A publication Critical patent/JP2013246447A/ja
Publication of JP2013246447A5 publication Critical patent/JP2013246447A5/ja
Application granted granted Critical
Publication of JP6140937B2 publication Critical patent/JP6140937B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/10Protocols in which an application is distributed across nodes in the network
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】ネットワークデバイスが、管理装置とのPush通信のHandshakeに失敗したとしても、管理装置がPush通信を用いて行った指示を受けることができる仕組みを提供する。
【解決手段】第一のクライアントコンピュータ110が、第二のクライアントコンピュータ170を経由したサーバコンピュータ100とのPush通信である間接的なPush通信の要求を第二のクライアントコンピュータ170に対して行う。第二のクライアントコンピュータ170が、間接的なPush通信の後に、サーバコンピュータ100から第一のクライアントコンピュータ110に対してPush通信を用いて行われた指示を、第一のクライアントコンピュータ110に転送する。
【選択図】図1

Description

本発明は、ネットワーク上のサーバとネットワークデバイスとの間の通信を制御する技術に関する。
インターネット環境におけるクライアント・サーバシステムにおいて、各種印刷サービスの発信元となるサーバ側から、各種印刷サービスの実行元となるクライアント側の画像形成装置へデータ送信することは、ファイアウォールにより不可能である。そこで、クライアント側の画像形成装置から各種印刷サービスの発信元となるサーバ側に対し、コマンドの有無を問い合わせるポーリング形式の通信方式が提案されている。特許文献1は、管理装置が、被管理デバイスからのファイアウォール越えの指示の有無の問いあわせを受け、問いあわせに対して、当該指示を、問いあわせを受けた際に張られたセッションにおいて返信するデバイス管理システムを提案している。
特開2007−334612号公報
クライアントからの初期通信(Handshake)を起点として、インターネット上のサーバ(管理装置)からファイアウォール内のイントラネットワーク上のネットワークデバイスに対してPush通信を行う通信方式(Push通信方式)が考えられる。Push通信方式は、ファイアウォール内からの指示要求(HTTPリクエストなど)なしに管理装置からの指示が可能となる通信方式である。Push通信方式には、例えば、WebSocketと呼ばれるプロトコル(RFC 6455)が含まれる。
管理装置は、Push通信方式で通信することによって、リアルタイムのコマンド配信が可能となるので、ネットワークデバイス側から管理装置側へのポーリング形式によるコマンド有無の問い合わせは必要なくなる。つまり、Push通信によれば、従来発生していた、ポーリングの間隔がもたらすタイムロスをなくすことができる。
しかし、Push通信は、ネットワークデバイスと管理装置間の通信コネクションを持続的に維持するという特徴がある。したがって、コスト等の観点からネットワークデバイスと管理装置間の通信コネクション数の上限が定められているシステムにおいては、容易にコネクション数が上限値に到達してしまう。その結果、ネットワークデバイスと管理装置間で、Push通信が確立できない(Handshakeが開始できない)ケースが発生する。
本発明は、ネットワークデバイスが、管理装置とのPush通信のHandshakeに失敗したとしても、管理装置がPush通信を用いて行った指示を受けることができる仕組みの提供を目的とする。
本発明の一実施形態のネットワークデバイスは、ファイアウォールを介して、外部の管理装置と通信するネットワークデバイスである。前記ネットワークデバイスは、前記管理装置との通信方式として前記ファイアウォール内からの指示要求なしに前記管理装置からの指示が可能となる所定の通信方式を利用するための要求を、他のネットワークデバイスから受信する受信手段と、前記所定の通信方式を利用するための要求の後に、前記管理装置から前記他のネットワークデバイスに対して前記所定の通信方式を用いて行われた指示を、前記他のネットワークデバイスに転送する転送手段と、を備える。
本発明によれば、ネットワークデバイスが、管理装置とのPush通信のHandshakeに失敗したとしても、他のネットワークデバイスを介して、管理装置がPush通信を用いて行った指示を受けることができる。したがって、例えば、ネットワークデバイスと管理装置との間の通信コネクション数が上限に達していたとしても、ネットワークデバイスは、管理装置からリアルタイムに行われる指示を受けることができる。
本実施形態の情報処理システムの構成例を示す図である。 情報処理システムのソフトウェア構成例を説明する図である。 第一のクライアントコンピュータの動作処理の例を説明する図である。 サーバコンピュータの動作処理の例を説明する図である。 第二のクライアントコンピュータの動作処理の例を説明する図である。 第二のクライアントコンピュータにおけるスケジュールの例である。 第一のクライアントコンピュータの動作処理の例を説明する図である。
(実施例1)
図1は、本実施形態の情報処理システムの構成例を示す図である。
本実施形態の情報処理システムは、Push通信型クライアント・サーバシステムである。Push通信は、ファイアウォール内からの指示要求なしにサーバコンピュータ100からの指示が可能となる所定の通信方式である。本実施形態では、Push通信のプロトコルとして、WebSocketプロトコルを用いる。WebSocketプロトコルによる通信を、以下ではWebSocket通信とも記述する。
図1に示す情報処理システムは、第一のクライアントコンピュータ110、第一のプリンタ130、第二のクライアントコンピュータ170、第二のプリンタ180、サーバコンピュータ100を備える。第一、第二のクライアントコンピュータは、サーバコンピュータ100からのネットワークを介した監視の対象となるネットワークデバイスである。第一、第二のクライアントコンピュータは、ファイアウォール160を介して、ファイアウォール160の外部に配置される管理装置であるサーバコンピュータ100と通信する。第一、第二のクライアントコンピュータは、例えば、画像形成装置、携帯情報端末、クライアントPC等のネットワークデバイスである。
サーバコンピュータ100は、第一、第二のクライアントコンピュータと、ファイアウォール160越しにWAN(Wide Area Network)301を介して接続されている。第一のクライアントコンピュータ110と第二のクライアントコンピュータ170とは、LAN(Local Area Network)300を介して接続されている。第一のプリンタ130は、第一のクライアントコンピュータ110と接続されている。また、第二のプリンタ180は、第二のクライアントコンピュータ170と接続されている。
サーバコンピュータ100、第一のクライアントコンピュータ110、および第二のクライアントコンピュータ170は、汎用コンピュータの構成を有する。以下の説明では、サーバコンピュータ100、第一のクライアントコンピュータ110、第二のクライアントコンピュータ170のハードウェア構成で、重複するものについては、どちらか一方のみを説明し、もう一方については説明を省略する。
サーバコンピュータ100は、CPU101、RAM102、ROM103、ネットワークI/F104、外部メモリI/F105、外部メモリ106を備える。CPUは、Central Processing Unitの略称である。RAMは、Random Access Memoryの略称である。ROMは、Read Only Memoryの略称である。
CPU101は、ROM103または外部メモリ106に記憶されたアプリケーションプログラム等に基づいて処理を実行する。また、CPU101は、システムバス107に接続される各デバイスを総括的に制御する。RAM102は、CPU101の主メモリ、ワークエリア等である。
ROM103は、基本I/Oプログラム等の記憶領域として機能する読み出し専用のメモリである。ROM103または外部メモリ106には、CPU101の制御プログラムであるオペレーティングシステムプログラム(以下OS)等が記憶される。また、ROM103または外部メモリ106には、上記アプリケーションプログラム等に基づく処理の際に使用するファイルやその他各種データが記憶される。
ネットワークI/F104は、ネットワークに接続しネットワーク通信を行う。外部メモリI/F105は、ハードディスク(HD)等の外部メモリ106とのアクセスを制御する。外部メモリ106は、ブートプログラム、各種のアプリケーション、ユーザファイル、編集ファイル等を記憶する。
サーバコンピュータ100は、CPU101が、ROM103や外部メモリ106に書き込まれた基本I/OプログラムおよびOSを実行している状態で動作する。基本I/Oプログラムは、ROM103に書き込まれている。また、OSは、ROM103または外部メモリ106に書き込まれている。コンピュータの電源がONされたときに、基本I/Oプログラム中のイニシャルプログラムロード機能により、ROM103または外部メモリ106からOSがRAM102に書き込まれ、OSの動作が開始される。107はシステムバスであり、各デバイスを接続する。
第一のクライアントコンピュータ110は、CPU111、RAM112、ROM113、ネットワークI/F114、キーボードI/F115、キーボード116を備える。また、第一のクライアントコンピュータ110は、ディスプレイI/F117、ディスプレイ118、外部メモリI/F119、外部メモリ120を備える。
キーボードI/F115は、キーボード116や不図示のポインティングデバイスからの入力を制御する。ディスプレイI/F117は、ディスプレイ118の表示を制御する。CPU111は、ディスプレイ118上の不図示のマウスカーソル等で指示されたコマンドに基づいて、登録された種々のウインドウを開き、種々のデータ処理を実行する。
第一のプリンタ130は、ネットワークI/F131、CPU132、RAM133、ROM134、操作部I/F135、操作部136、プリンタI/F137、プリンタ138を備える。また、第一のプリンタ130は、外部メモリI/F139、外部メモリ140を備える。
ネットワークI/F131は、第一のクライアントコンピュータ110との接続バスとして使用される。CPU132は、制御プログラム等に基づいて、システムバス141に接続されるプリンタI/F137を介してプリンタ138に出力情報としての画像信号を出力する。なお、制御プログラムは、ROM134や外部メモリ140等に記憶されている。CPU132は、ネットワークI/F131を介して、コンピュータとの通信処理が可能である。これにより、CPU132は、第一のプリンタ130内の情報等を第一のクライアントコンピュータ110に通知する。また、CPU132は、ROM134または外部メモリ140に記憶されたアプリケーションプログラム等に基づいて処理を実行する。
RAM133は、CPU132の主メモリ、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができる。なお、RAM133は、出力情報展開領域、環境データ格納領域、NVRAM(Non Volatile Random Access Memory)等に用いられる。また、外部メモリ140は、例えばハードディスク(HD)等である。ROM134または外部メモリ140には、CPU132の制御プログラムや上記出力情報を生成する際に使用するフォントデータ、第一のプリンタ130上で利用される情報等が記憶されている。操作部I/F135は、操作部136との間のインタフェースをつかさどり、表示すべき画像データを操作部136に対して出力する。
また、操作部I/F135は、ユーザが操作部136を介して入力した情報の受信も行う。操作部136は、操作のためのスイッチおよびLED表示器等が配されている操作パネル等に相当する。プリンタI/F137は、プリンタ138(プリンタエンジン)に出力情報としての画像信号を出力する。外部メモリI/F139は、ハードディスク(HD)、USBストレージ、ICカード等の外部メモリ140のアクセスを制御する。外部メモリは1個に限らず、少なくとも1個以上あればよい。また、第一のプリンタ130は、内蔵フォントに加えて、オプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、第一のプリンタ130は、図示しないNVRAMを有し、操作部136からのプリンタモード設定情報を記憶するようにしてもよい。141はシステムバスであり、各デバイスを接続する。
第二のクライアントコンピュータ170の構成は、第一のクライアントコンピュータ110の構成と同様であるので、説明を省略する。また、第二のプリンタ180の構成は、第一のプリンタ130の構成と同様であるので、説明を省略する。
図2は、本実施形態の情報処理システムのソフトウェア構成例を説明する図である。図2(A)は、サーバコンピュータ100のソフトウェア構成を示す。サーバコンピュータ100において、アプリケーション205および各モジュールは、外部メモリ106に保存されたファイルとして存在するプログラムモジュールである。アプリケーション205および各モジュールは、RAM102にロードされ、実行される。
外部メモリ106が有する不図示のCD−ROM、またはネットワークを経由して、アプリケーション205を外部メモリ106のHDに追加することが可能である。200はネットワークモジュールであり、クライアントコンピュータとのネットワーク通信を行う。
ネットワークモジュール200は、TCP/IPモジュール201、HTTPモジュール202、WebSocketモジュール203を有する。TCP/IPモジュール201は、TCP/IPプロトコルでのネットワーク通信を行う。HTTPモジュール202はトランスポート・プロトコルとしてTCPを使用し、HTTPプロトコルでのネットワーク通信を行う。
WebSocketモジュール203は、トランスポート・プロトコルとしてTCPを使用し、WebSocketプロトコルでのネットワーク通信を行う。Webサーバサービスモジュール204は、クライアントコンピュータ110からHTTPリクエストを受け取り、HTTPレスポンスを応答するサービスを提供する。
アプリケーション205は、クライアントコンピュータ110から送信される各種データファイルを、クライアントコンピュータ110に接続されたプリンタ130が印刷可能なデータ形式に変換する。各種データファイルは、例えば、MicrosoftOfficeWORD/Excel/PowerPointから生成されるデータファイルである。アプリケーション205は、プリンタ130が印刷可能なデータ形式に変換されたデータファイルをクライアントコンピュータ110に送信する。
アプリケーション205は、例えば、HTTPリクエストに応答して処理を実行するプログラムとして実装される。アプリケーション205は、Webサーバサービスモジュール204とともに、以下の処理を実現するWebアプリケーションを実現している。このWebアプリケーションは、クライアントコンピュータ110から各種データファイルを受け取り、クライアントコンピュータ110に接続されたプリンタ130が印刷可能なデータ形式に変換する。
アプリケーション205は、レンダリングモジュール206と通信管理モジュール207とを有する。レンダリングモジュール206はは、各種データファイルのインタープリットを行う。各種データファイルは、外部メモリ140を介してユーザから入稿される。各種データファイルが、プリンタ130が印刷可能な形式にレンダリングすることが不可能である場合、クライアントコンピュータ110からサーバコンピュータ100に対してデータファイルが送信される。このデータファイルを受け取ったレンダリングモジュール206が、クライアントコンピュータ110に接続されたプリンタ130が印刷可能なデータファイルに変換する。通信管理モジュール207は、WebSocketプロトコルによってセッションを維持しているクライアントコンピュータとの接続管理を行う。
図2(B)は、第一のクライアントコンピュータ110と、第一のプリンタ130のソフトウェア構成を示す。クライアントコンピュータ110を構成する各モジュールは、ROM113または外部メモリ120に保存されたファイルとして存在するプログラムモジュールである。そして、各モジュールは、実行時にOSやそのモジュールを利用するモジュールによってRAM112にロードされ実行される。
ネットワークモジュール210は、サーバコンピュータ100やネットワークプリンタ130とのネットワーク通信を行う。ネットワークモジュール210は、TCP/IPモジュール211、HTTPモジュール212、WebSocketモジュール213を有する。TCP/IPモジュール211は、TCP/IPプロトコルでのネットワーク通信を行う。HTTPモジュール212は、トランスポート・プロトコルとしてTCPを使用し、HTTPプロトコルでのネットワーク通信を行う。WebSocketモジュール213は、トランスポート・プロトコルとしてTCPを使用し、WebSocketプロトコルでのネットワーク通信を行う。アプリケーション214に含まれる通信管理モジュール215は、サーバコンピュータ100との通信、および第一プリンタ130との通信を管理する。
次に、第一のプリンタ130のソフトウェア構成について説明する。第一のプリンタ130において、各種モジュールは、ROM134または外部メモリ140に保存されたファイルとして存在し、実行時にRAM133にロードされ実行される。ネットワークモジュール220であり、任意の通信プロトコルを使用して第一のクライアントコンピュータ110とのネットワーク通信を行う。印刷処理モジュール222は、第一のクライアントコンピュータ110から送信された印刷ジョブの受信および制御、印刷処理を行う。データ受付モジュール221は、外部メモリ140を通して、ユーザから入力されたデータファイルを受け付け、本印刷システムに係る印刷処理を開始する。
図2(C)は、第二のクライアントコンピュータ170と、第二のプリンタ180のソフトウェア構成を示す。第二のクライアントコンピュータ170のソフトウェア構成は、上述した第一のクライアントコンピュータ110のソフトウェア構成と同様である。また、第二のプリンタ180のソフトウェア構成は、上述した第一のプリンタ170のソフトウェア構成と同様である。本実施形態のプログラムは、図2(A)乃至(C)の各々に示すアプリケーションまたはモジュールとして実現される。
以下に、実施例1の情報処理システムにおける、サーバコンピュータ100、第一のクライアントコンピュータ110、第二のクライアントコンピュータ170の動作について説明する。
図3は、第一のクライアントコンピュータの動作処理の例を説明するフローチャートである。
図3に示す各ステップの処理は、アプリケーション214の通信管理モジュール215の制御にしたがって実行される。まず、第一のクライアントコンピュータ上で、Handshake開始イベントの発生を検知する(ステップS301)。Handshakeは、例えば、予め設定されたタイミング、第一のクライアントコンピュータ110または第一のプリンタ130の電源ON時、および外部からの管理コマンドの少なくともいずれかに従って試行される。Handshake開始のトリガーを、ユーザから外部メモリI/F130にUSBストレージやICカードといった外部メモリ140の入力が発生したタイミングとしてもよい。また、このトリガーは、第一のプリンタ130が備える不図示の近接センサーが、ユーザが第一のプリンタ130に近づいたことを検知したタイミングとしてもよい。
次に、ステップS302では、HTTPモジュール212が、インターネット接続の確認と、サーバコンピュータ100との通信可否を判断する(ステップS302)。具体的には、HTTPモジュール212は、TCP/IPモジュール211を介してHTTPリクエストをサーバコンピュータ100に送信し、HTTPレスポンスが得られるか否かを判断する。
サーバコンピュータ100からHTTPレスポンスを得られる場合、HTTPモジュール212は、自装置がインターネット接続されており、サーバコンピュータ100と通信可能であると判断する。サーバコンピュータ100からHTTPレスポンスを得られない場合、HTTPモジュール212は、自装置がインターネット接続されておらず、サーバコンピュータ100と通信可能でないと判断する。なお、ステップS302の判断処理では、HTTPリクエストに対するHTTPレスポンスが得られるか否かを判断基準としたが、当該判断処理に他の任意の通信方法を用いてもよい。
自装置がインターネット接続されており、サーバコンピュータ100と通信可能である場合は、ステップS303に進む。自装置がインターネット接続されておらず、サーバコンピュータ100と通信可能でない場合は、ステップS305に進む。
ステップS303において、WebSocketモジュール213が、TCP/IPモジュール211を介して、サーバコンピュータ100にWebSocketのHandshake要求を行い、サーバコンピュータ100からの応答を待つ。続いて、WebSocketモジュール213が、サーバコンピュータ100とのHandShakeに成功したかを判断する(ステップS304)。
サーバコンピュータ100からHandshake応答が返された場合、WebSocketモジュール213が、サーバコンピュータ100とのHandShakeに成功したと判断する。一方、HandShakeの失敗時には、WebSocket通信の要求先のコンピュータからHTTP Error Codeが返信される。したがって、サーバコンピュータ100からHTTP Error Codeが返信された場合、WebSocketモジュール213が、サーバコンピュータ100とのHandShakeに失敗したと判断する。サーバコンピュータ100とのHandShakeに成功した場合は、処理を終了する。サーバコンピュータ100とのHandShakeに失敗した場合は、ステップS305に進む。
ステップS305において、通信管理モジュール215が、自装置が属するセグメントと同じセグメントのネットワークに属し、かつサーバコンピュータ100とWebSocket通信中の第二のクライアントコンピュータ170を探索する。そして、通信管理モジュール215が、探索された第二のクライアントコンピュータ170に対して、以下の要求を行う。通信管理モジュール215は、第二のクライアントコンピュータ170経由でのサーバコンピュータ100とのPush通信を要求(間接的なPush通信を要求)する。間接的なPush通信は、第二のクライアントコンピュータ170経由でのサーバコンピュータ100とのPush通信である。つまり、間接的なPush通信の要求は、サーバコンピュータ100との通信方式としてPush通信を利用するための要求である。
間接的なPush通信を要求するために、通信管理モジュール215は、要求先の第二のクライアントコンピュータ170を以下のようにして探索する。第一のクライアントコンピュータ110がサーバコンピュータ100と通信可能であり(S302でYes)、Handshakeに失敗した場合、サーバコンピュータ100が、例えば、以下の処理を実行する。サーバコンピュータ100は、サーバコンピュータ100とWebSocket通信中であって、第一のクライアントコンピュータが属するセグメントと同じセグメントに属する第二のクライアントコンピュータを第一のクライアントコンピュータに通知する。具体的には、サーバコンピュータ100は、当該第二のクライアントコンピュータのアドレス情報を通知する。このアドレス情報は、例えば、IPv4ネットワークにおけるIPアドレスである。
通信管理モジュール215は、通知されたアドレス情報に対応する第二のクライアントコンピュータを間接的なPush通信の要求先とする。サーバコンピュータ100からのWebSocket通信中のクライアントコンピュータのアドレス情報の通知については、図4を参照して後述する。
第一のクライアントコンピュータ110が、第二のクライアントコンピュータ170を通じてサーバコンピュータ100と間接的にPush通信するためには、以下の処理が実行されていることが前提となる。すなわち、サーバコンピュータ100と間接的にPush通信するためには、第二のクライアントコンピュータ170が、サーバコンピュータ100とHandShake開始済みであり、WebSocket通信が確立していなければならない。
また、自装置がインターネット接続されておらず、サーバコンピュータ100と通信可能でない場合(S302でNo)には、ステップS305において、以下の処理が実行される。通信管理モジュール215が、ブロードキャストによって、サーバコンピュータ100とWebSocket通信中であって、かつ、自装置が属するセグメントと同じセグメントのネットワークに属する第二のクライアントコンピュータ170を探索する。そして、通信管理モジュール215が、探索された第二のクライアントコンピュータ170に対して、間接的なPush通信を要求する。そして、第二のクライアントコンピュータ170の通信管理モジュール235が、間接的なPush通信の要求を受信する。
自装置が属するセグメントと同じセグメントのネットワークに属する第二のクライアントコンピュータ170が探索されたとしても、探索された第二のクライアントコンピュータ170が、サーバコンピュータ100とWebSocket通信中でない場合がある。この場合には、通信管理モジュール215は、探索された第二のクライアントコンピュータ170に対して、間接的なPush通信を要求する。
間接的なPush通信の要求を受けた第二のクライアントコンピュータ170の通信管理モジュール235が、この要求に応じて、新たに、第二のクライアントコンピュータ170とサーバコンピュータ100との間のWebSocketによる接続確立を行う。そして、通信管理モジュール235が、第一のクライアントコンピュータ110とサーバコンピュータ100との間の間接的なPush通信を実現する。つまり、通信管理モジュール235が、間接的なPush通信の要求の後、サーバコンピュータ100から第一のクライアントコンピュータ110に対してWebSocketを用いて行われた指示を、第一のクライアントコンピュータ110に転送する。具体的には、通信管理モジュール235が、上記WebSocketによる接続の確立後に、上記指示を第一のクライアントコンピュータ110に転送する。すなわち、本実施形態において、第二のクライアントコンピュータ170は、Push通信を仲介するブローカーサーバである。
次に、通信管理モジュール215が、サーバコンピュータ100との間接的なPush通信に成功したかを判断する(ステップS306)。サーバコンピュータ100との間接的なPush通信に成功した場合、通信管理モジュール215が、当該間接的なPush通信を開始する(ステップS307)。ステップS307の処理によって、第一のクライアントコンピュータ110は、第二のクライアントコンピュータ170を通じてサーバコンピュータ100とPush通信することが可能となる。例えば、通信管理モジュール215が、第二のクライアントコンピュータ170から転送されてきた、サーバコンピュータ100からWebSocket通信により行われた指示を受信する。そして、CPU111(図1)が、上記受信された指示を実行する。
サーバコンピュータ100からの指示がプリント指示である場合の動作例について以下に説明する。第一のクライアントコンピュータ110は、ユーザから外部メモリI/F139および外部メモリ140を介して入力されたデータファイルを、第一のクライアントコンピュータ110に接続された第一のプリンタ130が印刷可能なデータ形式に変換する。第一のクライアントコンピュータ110は、サーバコンピュータ100に上記データファイルを送信し、サーバコンピュータ100は、レンダリングモジュール206で第一のプリンタ130が印刷可能なデータ形式への変換を開始する。第一のコンピュータ110と、サーバコンピュータ100とはPush通信が確立されている。したがって、サーバコンピュータ100において、レンダリングモジュール206の処理が完了すると、即時に第一のクライアントコンピュータ100に対して、第一のプリンタ130が印刷可能なデータ形式に変換されたファイルが送信される。
サーバコンピュータ100との間接的なPush通信に失敗した場合、通信管理モジュール215が、サーバコンピュータ100と、Push通信以外の通信方式での通信を開始する(ステップS308)。例えば、ステップS302の判断処理において、HTTPによるサーバコンピュータ100との通信が可能であると判断された場合、通信管理モジュール215が、HTTPによるポーリング方式で通信を行う。ただし、HTTPによるポーリング方式の通信であるので、サーバコンピュータ100においてレンダリングモジュール206の処理が完了しても、第一のクライアントコンピュータ110からのポーリング問い合わせが来ない限り、一連の印刷処理が中断してしまう。したがって、ステップS307で開始される間接的なPush通信では発生しないタイムロスが生じてしまうことになる。なお、上記ステップS302の判断処理が失敗した場合、通信管理モジュール215が、第一のプリンタ130の操作部136にエラー状態を表示するようにしてもよい。
図4は、サーバコンピュータの動作処理の例を説明するフローチャートである。
サーバコンピュータ100が備えるWebSocketモジュール203が、図3のステップS303において第一のクライアントコンピュータ110から送信されたHandshake要求をTCP/IPモジュール201を介して受信する(ステップS401)。
次に、通信管理モジュール207が、Handshakeを開始できるかを判断する(ステップS402)。通信管理モジュール207は、例えば、Websocketプロトコルによる通信コネクションの数が上限値に達しているかを判断し、当該通信コネクションの数が上限値に達している場合に、Handshakeを開始できないと判断する。例えば、Websocketプロトコルによる通信コネクションの数が上限値に達していない場合、通信管理モジュール207は、Handshakeを開始できると判断する。なお、本実施形態のシステムの管理者等が、許容できる通信コスト等に基づいて、通信管理モジュール207に予めWebsocketプロトコルによる通信コネクションの上限値を設定する。
通信管理モジュール207がHandshakeを開始できると判断した場合は、ステップS403に進む。通信管理モジュール207がHandshakeを開始できないと判断した場合は、ステップS404に進む。
ステップS403において、通信管理モジュール207が、第一のクライアントコンピュータ110とHandshakeを開始する。このタイミングで、第一のクライアントコンピュータ110と、サーバコンピュータ100とのWebsocket通信が確立する。
ステップS404においては、通信管理モジュール207が、以下の処理を実行する。通信管理モジュール207は、Handshakeの要求元の第一のクライアントコンピュータ110が属するセグメントと同じセグメント内に、サーバコンピュータとWebSocket通信を確立中の第二のクライアントコンピュータが存在するかを判断する。
ステップS404においては、通信管理モジュール207は、第一のクライアントコンピュータ110が属するセグメントと同じセグメント内の第二のクライアントコンピュータ170を以下のようにして特定する。例えば、サーバコンピュータ100がIPv4にしたがったネットワーク通信を行っている場合を想定する。通信管理モジュール207は、第一のクライアントコンピュータ110と第3セグメントまで同一のIPアドレスを有する第二のクライアントコンピュータが存在するかを判断する。通信管理モジュール207は、第一のクライアントコンピュータ110と第3セグメントまで同一のIPアドレスを有する第二のクライアントコンピュータを特定する。そして、通信管理モジュール207は、第一のクライアントコンピュータ110が属するセグメントと同じセグメント内の第二のクライアントコンピュータとする。
通信管理モジュール207が、当該第二のクライアントコンピュータ170が存在すると判断した場合は、ステップS406に進む。通信管理モジュール207が、当該第二のクライアントコンピュータ170が存在しないと判断した場合は、ステップS405に進む。
ステップS406において、通信管理モジュール207が、WebSocket通信を確立している第二のクライアントコンピュータ170のアドレス情報を第一のクライアントコンピュータ110に通知する。通信管理モジュール207は、上記アドレス情報として例えばIPアドレスを用いる。
ステップS405において、通信管理モジュール207が、WebSocket通信を確立している第二のクライアントコンピュータ170が存在しないことを第一のクライアントコンピュータ110に通知する。
図5は、第二のクライアントコンピュータの動作処理の例を説明するフローチャートである。
この例では、第一のクライアントコンピュータ110から間接的なPush通信の要求を受けた第二のクライアントコンピュータ170の動作処理について説明する。まず、第二のクライアントコンピュータ170が備える通信管理モジュール235が、以下の処理を実行する第一の判断手段として機能する。通信管理モジュール235が、自装置がサーバコンピュータ100とHandshake済みであり、Websocket通信を継続中であるかを判断する(ステップS501)。自装置がサーバコンピュータ100とHandshake済みであり、Websocket通信を継続中である場合は、ステップS503に進む。自装置がサーバコンピュータ100とWebsocket通信を継続中でない場合は、ステップS502に進む。
ステップS503において、通信管理モジュール235が、以下の処理を実行する第二の判断手段として機能する。通信管理モジュール235が、第二のクライアントコンピュータ170におけるスケジュールを確認する(ステップS503)。具体的には、通信管理モジュール235が、通信が遮断されてしまうスケジュールを確認する。
図6は、第二のクライアントコンピュータにおけるスケジュールの例である。この例では、スケジュール601として、第二のクライアントコンピュータにおいて予定されている処理等(インストール、リブート、シャットダウン)と、当該処理等が実行される日時とが設定されている。スケジュール601は、予め記憶手段に記憶されている。
図5に戻って、ステップS504において、通信管理モジュール235が、ステップS503で確認したスケジュールに基づいて、間接的なPush通信を許可するかを判断する(ステップS504)。具体的には、通信管理モジュール235が、ステップS503における確認処理の開始時刻から、サーバコンピュータ100と通信不可となる時刻までの時間間隔が閾値以上であるかを判断する。この閾値は、例えば、予め管理者によって設定される。上記時間間隔が閾値以上である場合、通信管理モジュール235が、間接的なPush通信を許可すると判断し、ステップS505に進む。上記時間間隔が閾値以上でない場合、通信管理モジュール235が、間接的なPush通信を許可しないと判断し、ステップS505に進む。
ステップS502において、通信管理モジュール235が、第一のクライアントコンピュータ130に対して、第二のクライアントコンピュータ170を介してサーバコンピュータ100とのPush通信することができないことを通知する。
ステップS505において、通信管理モジュール235が、第二のクライアントコンピュータ170を介して、第一のクライアントコンピュータ110がサーバコンピュータ100とPush通信することができるようにする。具体的には、通信管理モジュール235が、WebSocket通信を行うサーバコンピュータ100と第一のクライアントコンピュータ110との間の通信路を確立する(通信路確立手段として機能する)。そして、通信管理モジュール235が、サーバコンピュータ100が送信した指示を第一のクライアントコンピュータ110に転送する。
以上の処理により、第一のクライアントコンピュータ130は、サーバコンピュータ100に対してPush通信開始のHandshakeに失敗したとしても、以下の処理を実行できる。第一のクライアントコンピュータ130は、すでにHandshakeに成功している第二のクライアントコンピュータ170を通じて、サーバコンピュータ100と間接的にPush通信を開始することができる。したがって、クライアント・サーバ間の通信コネクション数が上限値に到達していたとしても、新規にPush通信を開始したいクライアントコンピュータとサーバコンピュータとは、他のクライアントコンピュータを介して、間接的にPush通信を開始できる。
(実施例2)
実施例2においては、第一のクライアントコンピュータ110と同じセグメント内に第二のクライアントコンピュータ170が複数存在するシステムを想定する。
実施例2においては、図4のステップS406において、サーバコンピュータ100が、複数の第二のクライアントコンピュータのアドレス情報を第一のクライアントコンピュータ110に通知する。第一のクライアントコンピュータ110は、図3のステップS305において、通知されたアドレス情報のうちの一つを選択し、選択したアドレス情報に対応する第二のクライアントコンピュータ宛てに間接的なPush通信を要求する。この要求に失敗した場合、第一のクライアントコンピュータ110は、通知されたアドレス情報のうちの他の一つを選択して、選択したアドレス情報に対応する第二のクライアントコンピュータ宛てに間接的なPush通信を要求する。これにより、第一のクライアントコンピュータ110が、サーバコンピュータ100との間接的なPush通信をすることができる可能性が高くなる。
さらに、サーバコンピュータ100は、WebSocket通信を確立している全てのクライアントコンピュータとの通信状況を把握できる。したがって、例えば、サーバコンピュータ100は、間接的なPush通信の要求先として、通信トラフィックが少ない第二のクライアントコンピュータを優先的に選択してもよい。これにより、通信リソースの最適化(分散)を実現することができる。
(実施例3)
実施例3においては、図3のステップS305の処理を実行するタイミングにおいて、第一のクライアントコンピュータ110が、以下の処理を実行する。第一のクライアントコンピュータ110は、サーバコンピュータ100と間接的なPush通信をするために必要な通信接続を維持する時間(接続維持時間)を、第二のクライアントコンピュータ170に通知する。このために、図3のステップS301におけるHandshake開始イベントにおいて、通信管理モジュール215が、ユーザから外部メモリ140を介して入稿されたデータファイルのファイルサイズやページ数に基づいて、接続維持時間を決定する。
インターネット経由でデータファイルをサーバコンピュータ100に送信し、サーバコンピュータ100でレンダリングし、レンダリング結果をPush通信で受け取るまでの、1ページ当たりの時間が、管理者によって予め定義されているものとする。例えば、データファイルの1ページ当たり1分の接続維持時間が定義されているものとする。したがって、入稿されたデータファイルが10ページで構成されている場合、第一のクライアントコンピュータ110は第二のクライアントコンピュータに10分の接続維持時間を要求する。
図5のステップS504においては、通信管理モジュール235は、ステップS503で確認したスケジュールと、第一のクライアントコンピュータ110から通知された接続維持時間とに基づいて、間接的なPush通信を許可するかを判断する。具体的には、通信管理モジュール235が、図5のステップS503における確認処理の開始時刻から通信が遮断されてしまう時刻までの時間間隔が接続維持時間以上であるかを判断する。この時間間隔が接続維持時間以上である場合、通信管理モジュール235が、間接的なPush通信を許可すると判断する。
実施例3によれば、処理データ量に応じて必要な接続維持時間を確保しつつ、間接的なPush通信を実現することができる。したがって、データファイルに対する処理量が多く、必要な接続維持時間が長い場合に、その処理途中にサーバコンピュータ100との接続が途切れるリスクを減らすことができる。また、データファイルに対する処理量が少なく、必要な接続維持時間が短い場合に、図5のステップS504で間接的なPush通信が許可される可能性が高まる。
(実施例4)
実施例4では、第一のクライアントコンピュータ110が、Handshake開始イベントが発生した直後に、第二のクライアントコンピュータ170に対して、サーバコンピュータ100との間接的なPush通信を要求する。そして、間接的なPush通信に失敗した場合に、第一のクライアントコンピュータ100が、サーバコンピュータ100に対して直接Handshakeを要求する。
図7は、実施例4における第一のクライアントコンピュータの動作処理の例を説明するフローチャートである。
図7のステップS701、S702、S703、S704、S708は、それぞれ、図3のステップS301、S305、S306,S307、S308と同様である。また、図7のステップ705乃至S707は、図3のステップS302乃至S304と同様である。
実施例4では、第一のクライアントコンピュータ110は、まず、第二のクライアントコンピュータ170に対して間接的なPush通信を要求する(ステップS702)。そして、間接的なPush通信に失敗した場合に、第一のクライアントコンピュータ100が、サーバコンピュータ100に対して、WebSocketのHandshake要求を試行する(ステップS706)。したがって、第一のクライアントコンピュータ110が、サーバコンピュータ100にHandshakeを要求して新規に通信コネクションを生成する機会が減る。これにより、サーバコンピュータ100とのコネクション等のリソース消費を減らすことができる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。

Claims (21)

  1. ファイアウォールを介して、外部の管理装置と通信するネットワークデバイスであって、
    前記管理装置との通信方式として前記ファイアウォール内からの指示要求なしに前記管理装置からの指示が可能となる所定の通信方式を利用するための要求を、他のネットワークデバイスから受信する受信手段と、
    前記所定の通信方式を利用するための要求の後に、前記管理装置から前記他のネットワークデバイスに対して前記所定の通信方式を用いて行われた指示を、前記他のネットワークデバイスに転送する転送手段と、を備えることを特徴とするネットワークデバイス。
  2. 前記受信された所定の通信方式を利用するための要求に応じて、新たに前記管理装置と前記所定の通信方式による接続を確立する接続確立手段をさらに備え、
    前記転送手段は、前記管理装置から、前記接続の確立後に前記所定の通信方式を用いて行われた前記指示を前記他のネットワークデバイスに転送することを特徴とする請求項1に記載のネットワークデバイス。
  3. 前記受信手段が前記要求を受信した後、自装置が前記管理装置と前記所定の通信方式を利用して通信中であるかを判断する第一の判断手段と、
    自装置が前記管理装置と前記所定の通信方式を利用して通信中であると判断された場合に、前記転送手段は、前記所定の通信方式を利用して通信中である前記管理装置からの前記指示を前記他のネットワークデバイスに転送することを特徴とする請求項1または2に記載のネットワークデバイス。
  4. 自装置が前記管理装置と前記所定の通信方式を利用して通信中であると判断された場合に、自装置のスケジュールに基づいて、自装置が前記管理装置と通信不可となるまでの時間が予め決められた閾値以上であるかを判断する第二の判断手段と、
    自装置が前記管理装置と通信不可となるまでの時間が予め決められた閾値以上であると判断された場合に、前記転送手段は、前記所定の通信方式を利用して通信中である前記管理装置からの前記指示を前記他のネットワークデバイスに転送することを特徴とする請求項3に記載のネットワークデバイス。
  5. 自装置が前記管理装置と通信不可となるまでの時間が予め決められた閾値以上であると判断された場合に、前記所定の通信方式を用いる前記管理装置と前記他のネットワークデバイスとの間の通信路を確立する通信路確立手段を備え、
    前記転送手段は、前記確立された通信路を用いて、前記所定の通信方式を用いて行われた前記指示を前記他のネットワークデバイスに転送することを特徴とする請求項4に記載のネットワークデバイス。
  6. 前記閾値は、前記他のネットワークデバイスから通知される、前記他のネットワークデバイスの処理データ量に応じて決まる前記管理装置との接続維持時間であることを特徴とする請求項4または5に記載のネットワークデバイス。
  7. ファイアウォールを介して、外部の管理装置と通信するネットワークデバイスであって、
    前記管理装置との通信方式として前記ファイアウォール内からの指示要求なしに前記管理装置からの指示が可能となる所定の通信方式を利用するための要求を、前記ファイアウォール内の他のネットワークデバイスに行う要求手段と、
    所定の通信方式を利用するための要求の後に、前記他のネットワークデバイスから転送されてきた、前記管理装置から前記所定の通信方式を用いて行われた指示を受信する受信手段と、
    前記受信された指示を実行する実行手段と、を備えることを特徴とするネットワークデバイス。
  8. 前記他のネットワークデバイスは、前記所定の通信方式を仲介するブローカーサーバであることを特徴とする請求項7に記載のネットワークデバイス。
  9. 前記要求手段は、自装置による前記所定の通信方式を用いた前記管理装置との接続が確立できなかった場合に前記要求を行うことを特徴とする請求項7または8に記載のネットワークデバイス。
  10. 前記要求手段は、自装置による前記所定の通信方式を用いた前記管理装置との接続が確立できなかった場合に、前記管理装置から通知される、前記管理装置と前記所定の通信方式を利用して通信中の前記他のネットワークデバイスに対して前記要求を行うことを特徴とする請求項7または8に記載のネットワークデバイス。
  11. 前記自装置による前記所定の通信方式を用いた前記管理装置との接続は、予め設定されたタイミング、前記自装置の電源ON時、および外部からの管理コマンドの少なくともいずれかに従って試行されることを特徴とする請求項9または10に記載のネットワークデバイス。
  12. 前記要求を受けた他のネットワークデバイスの前記所定の通信方式の利用が許可されなかった場合に、自装置による前記所定の通信方式を用いた前記管理装置との接続が試行されることを特徴とする請求項7または8に記載のネットワークデバイス。
  13. 自装置が前記管理装置と通信できるかを判断する判断手段と、
    自装置が前記管理装置と通信できないと判断された場合に、前記管理装置と前記所定の通信方式を利用して通信中の前記他のネットワークデバイスを探索する探索手段とを備え、
    前記要求手段は、前記探索された前記他のネットワークデバイスに対して前記要求を行うことを特徴とする請求項7乃至12のいずれか1項に記載のネットワークデバイス。
  14. 前記所定の通信方式は、WebSocketプロトコルであることを特徴とする請求項1乃至13のいずれか1項に記載のネットワークデバイス。
  15. ファイアウォールを介して、外部の管理装置と通信するネットワークデバイスにおける方法であって、
    前記管理装置との通信方式として前記ファイアウォール内からの指示要求なしに前記管理装置からの指示が可能となる所定の通信方式を利用するための要求を、他のネットワークデバイスから受信する受信工程と、
    前記所定の通信方式を利用するための要求の後に、前記管理装置から前記他のネットワークデバイスに対して前記所定の通信方式を用いて行われた指示を、前記他のネットワークデバイスに転送する転送工程と、を有することを特徴とする方法。
  16. ファイアウォールを介して、外部の管理装置と通信するネットワークデバイスにおける方法であって、
    前記管理装置との通信方式として前記ファイアウォール内からの指示要求なしに前記管理装置からの指示が可能となる所定の通信方式を利用するための要求を、前記ファイアウォール内の他のネットワークデバイスに行う要求工程と、
    所定の通信方式を利用するための要求の後に、前記他のネットワークデバイスから転送されてきた、前記管理装置から前記所定の通信方式を用いて行われた指示を受信する受信工程と、
    前記受信された指示を実行する実行工程と、を有することを特徴とする方法。
  17. 前記所定の通信方式は、WebSocketプロトコルであることを特徴とする請求項15または16に記載の方法。
  18. 請求項1乃至6のいずれか1項に記載の手段としてコンピュータを機能させるためのプログラム。
  19. 請求項7乃至14のいずれか1項に記載の手段としてコンピュータを機能させるためのプログラム。
  20. 管理装置と、ファイアウォールを介して、前記ファイアウォールの外部に配置される前記管理装置と通信するネットワークデバイスおよびブローカーサーバとを含むシステムであって、
    前記ブローカーサーバは、
    前記管理装置との通信方式として前記ファイアウォール内からの指示要求なしに前記管理装置からの指示が可能となる所定の通信方式を利用するための要求を、前記ネットワークデバイスから受信する受信手段と、
    前記所定の通信方式を利用するための要求の後に、前記管理装置から前記ネットワークデバイスに対して前記所定の通信方式を用いて行われた指示を、前記ネットワークデバイスに転送する転送手段と、を備え、
    前記ネットワークデバイスは、
    前記管理装置との通信方式として前記所定の通信方式を利用するための要求を、前記ブローカーサーバに行う要求手段と、
    前記所定の通信方式を利用するための要求の後に、前記ブローカーサーバから転送されてきた、前記管理装置から前記所定の通信方式を用いて行われた指示を受信する受信手段と、
    前記受信された指示を実行する実行手段と、を備えることを特徴とするシステム。
  21. 管理装置と、ファイアウォールを介して、前記ファイアウォールの外部に配置される前記管理装置と通信するネットワークデバイスおよびブローカーサーバとを含むシステムにおける方法であって、
    前記ネットワークデバイスが、前記管理装置との通信方式として前記ファイアウォール内からの指示要求なしに前記管理装置からの指示が可能となる所定の通信方式を利用するための要求を、前記ブローカーサーバに行う工程と、
    前記ブローカーサーバが、前記所定の通信方式を利用するための要求を、前記ネットワークデバイスから受信する工程と、
    前記ブローカーサーバが、前記所定の通信方式を利用するための要求の後に、前記管理装置から前記ネットワークデバイスに対して前記所定の通信方式を用いて行われた指示を、前記ネットワークデバイスに転送する工程と、
    前記ネットワークデバイスが、前記ブローカーサーバから転送されてきた、前記管理装置から前記所定の通信方式を用いて行われた指示を受信する工程と、
    前記ネットワークデバイスが、前記受信された指示を実行する工程と、を有することを特徴とする方法。
JP2012117225A 2012-05-23 2012-05-23 ネットワークデバイス、プログラム、システムおよび方法 Expired - Fee Related JP6140937B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2012117225A JP6140937B2 (ja) 2012-05-23 2012-05-23 ネットワークデバイス、プログラム、システムおよび方法
US13/870,486 US9560116B2 (en) 2012-05-23 2013-04-25 Network device, system, method, and storage medium
EP13167019.2A EP2667565B1 (en) 2012-05-23 2013-05-08 Network device, method, and storage medium
CN201310187585.8A CN103428198B (zh) 2012-05-23 2013-05-20 网络设备、***和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012117225A JP6140937B2 (ja) 2012-05-23 2012-05-23 ネットワークデバイス、プログラム、システムおよび方法

Publications (3)

Publication Number Publication Date
JP2013246447A true JP2013246447A (ja) 2013-12-09
JP2013246447A5 JP2013246447A5 (ja) 2015-07-02
JP6140937B2 JP6140937B2 (ja) 2017-06-07

Family

ID=48366190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012117225A Expired - Fee Related JP6140937B2 (ja) 2012-05-23 2012-05-23 ネットワークデバイス、プログラム、システムおよび方法

Country Status (4)

Country Link
US (1) US9560116B2 (ja)
EP (1) EP2667565B1 (ja)
JP (1) JP6140937B2 (ja)
CN (1) CN103428198B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015125728A (ja) * 2013-12-27 2015-07-06 セイコーエプソン株式会社 印刷制御システムの制御方法、及び印刷制御システム
JP2015127850A (ja) * 2013-12-27 2015-07-09 セイコーエプソン株式会社 印刷制御システム、及び印刷制御方法
JP2015130088A (ja) * 2014-01-08 2015-07-16 セイコーエプソン株式会社 印刷制御システム、及び印刷制御方法
JP2018160737A (ja) * 2017-03-22 2018-10-11 富士ゼロックス株式会社 端末装置、情報処理システムおよびプログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10462206B2 (en) 2009-10-16 2019-10-29 Real Innovations International Llc Bidirectional networked real-time data exchange using a spreadsheet application
US10498796B2 (en) 2009-10-16 2019-12-03 Real Innovations International Llc System and method for providing real-time data
CA2936358C (en) * 2014-02-07 2021-09-07 Oracle International Corporation Mobile cloud service architecture
DE112014006483T5 (de) * 2014-03-17 2016-12-22 Mitsubishi Electric Corporation Managementsystem, Gateway-Vorrichtung, Server-Vorrichtung, Management-Verfahren, Gateway-Verfahren, Managementprozess-Ausführungsverfahren und Programm
CA3062745C (en) * 2016-11-20 2023-09-05 Real Innovations International Llc Bidirectional networked real-time data exchange using a spreadsheet application
US11237781B2 (en) 2020-01-10 2022-02-01 Xerox Corporation Intelligent session management system for a multifunction device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001344129A (ja) * 2000-05-31 2001-12-14 Yaskawa Electric Corp 遠隔保守システム
JP2006148661A (ja) * 2004-11-22 2006-06-08 Toshiba Corp 情報端末遠隔操作システム、そのリモートアクセス端末、そのゲートウェイサーバ、その情報端末制御装置、情報端末装置、およびその遠隔操作方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2393303B (en) * 2000-08-11 2004-05-05 Hewlett Packard Co Method and apparatus for automated on-line printing service
EP1327191B1 (en) * 2000-09-22 2013-10-23 Lumension Security, Inc. Non-invasive automatic offsite patch fingerprinting and updating system and method
US20040003266A1 (en) * 2000-09-22 2004-01-01 Patchlink Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method
JP3888452B2 (ja) * 2001-07-02 2007-03-07 セイコーエプソン株式会社 ネットワークを介した印刷方法
US7171583B2 (en) * 2003-12-10 2007-01-30 International Business Machines Corporation For PPRC backup systems
JP4550704B2 (ja) 2005-09-20 2010-09-22 株式会社日立製作所 通信システム及び通信管理方法
JP2007286860A (ja) * 2006-04-17 2007-11-01 Hitachi Ltd データ転送方法及び情報処理装置
JP4916227B2 (ja) 2006-06-14 2012-04-11 キヤノン株式会社 デバイスの管理装置及びその管理装置の制御方法
JP4929070B2 (ja) * 2007-06-18 2012-05-09 株式会社リコー 画像形成装置、画像形成装置の制御方法、制御プログラム及び記録媒体
US8527614B2 (en) * 2008-10-07 2013-09-03 Ricoh Company, Ltd. Method of deployment of remote patches to business office appliances
CN101645906A (zh) 2009-09-03 2010-02-10 兰州大学 一种计算机网络安全通信的实现方法及***
JP5493615B2 (ja) * 2009-09-10 2014-05-14 株式会社リコー 印刷システム、印刷装置、およびプログラム
JP2012037944A (ja) 2010-08-03 2012-02-23 Canon Inc 画像形成装置、代行運転システム、画像形成装置の制御方法、プログラム
CN102694713B (zh) * 2011-03-21 2015-08-05 鸿富锦精密工业(深圳)有限公司 网络通信多通路选择方法及***
US20130254087A1 (en) * 2012-03-21 2013-09-26 Yuval Rooz Web-based peer-to-peer electronic negotiations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001344129A (ja) * 2000-05-31 2001-12-14 Yaskawa Electric Corp 遠隔保守システム
JP2006148661A (ja) * 2004-11-22 2006-06-08 Toshiba Corp 情報端末遠隔操作システム、そのリモートアクセス端末、そのゲートウェイサーバ、その情報端末制御装置、情報端末装置、およびその遠隔操作方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
小松健作: "HTML5で理解する次世代Web(第5回)", 日経コンピュータ NO.777, JPN6016017460, 3 March 2011 (2011-03-03), JP, pages 118 - 121, ISSN: 0003315581 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015125728A (ja) * 2013-12-27 2015-07-06 セイコーエプソン株式会社 印刷制御システムの制御方法、及び印刷制御システム
JP2015127850A (ja) * 2013-12-27 2015-07-09 セイコーエプソン株式会社 印刷制御システム、及び印刷制御方法
JP2015130088A (ja) * 2014-01-08 2015-07-16 セイコーエプソン株式会社 印刷制御システム、及び印刷制御方法
JP2018160737A (ja) * 2017-03-22 2018-10-11 富士ゼロックス株式会社 端末装置、情報処理システムおよびプログラム

Also Published As

Publication number Publication date
CN103428198A (zh) 2013-12-04
EP2667565A1 (en) 2013-11-27
JP6140937B2 (ja) 2017-06-07
CN103428198B (zh) 2017-04-12
EP2667565B1 (en) 2019-07-10
US20130318144A1 (en) 2013-11-28
US9560116B2 (en) 2017-01-31

Similar Documents

Publication Publication Date Title
JP6140937B2 (ja) ネットワークデバイス、プログラム、システムおよび方法
US9083721B2 (en) Information processing system, client device, and control method
US9596121B2 (en) Server apparatus communicating with a client apparatus via the internet, system, and control method thereof
US8717601B2 (en) Server apparatus, and terminal apparatus
US8564818B2 (en) Log information management system, control method therefor, and storage medium
US20140092418A1 (en) Image forming device, management device, information processing system, and storage medium
JP5885410B2 (ja) プルプリントシステム、プリントサーバおよびその制御方法、並びにプログラム
US9086826B2 (en) Information processing apparatus, method for controlling the same, and storage medium
US8570574B2 (en) Processing system, control method, and storage medium therefor
EP2541393B1 (en) Job processing apparatus, control method, and program
US10146487B2 (en) Information processing system, apparatus, and method
US10846033B2 (en) Print server, control method, and storage medium
US9691010B2 (en) Information processing apparatus, distributed printing system, and method of controlling printing
JP5657062B2 (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
JP5024024B2 (ja) スプールサーバ及びデータ通信制御方法
JP6115253B2 (ja) プリントシステム、スプールサーバ、スプール方法、及びプログラム
JP4641392B2 (ja) 制御装置、通信処理方法およびプログラム
JP2007042139A (ja) 画像処理装置
JP5470518B2 (ja) デバイス共有システム、デバイス共有クライアント、およびデバイス共有方法
JP2006168134A (ja) 印刷方法、印刷デバイス及び印刷システム
WO2010029824A1 (ja) コンピュータ、アプリケーションローミング方法、およびプログラム
JP2015075822A (ja) 印刷制御システム、印刷制御方法およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160506

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170502

R151 Written notification of patent or utility model registration

Ref document number: 6140937

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees