JP5870990B2 - 中継装置、画像形成装置、中継方法および中継プログラム - Google Patents

中継装置、画像形成装置、中継方法および中継プログラム Download PDF

Info

Publication number
JP5870990B2
JP5870990B2 JP2013250715A JP2013250715A JP5870990B2 JP 5870990 B2 JP5870990 B2 JP 5870990B2 JP 2013250715 A JP2013250715 A JP 2013250715A JP 2013250715 A JP2013250715 A JP 2013250715A JP 5870990 B2 JP5870990 B2 JP 5870990B2
Authority
JP
Japan
Prior art keywords
cloud server
control command
communication session
session
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.)
Active
Application number
JP2013250715A
Other languages
English (en)
Other versions
JP2015108910A (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.)
Konica Minolta Inc
Original Assignee
Konica Minolta 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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2013250715A priority Critical patent/JP5870990B2/ja
Priority to US14/554,139 priority patent/US9811294B2/en
Priority to CN201410724771.5A priority patent/CN104702587B/zh
Publication of JP2015108910A publication Critical patent/JP2015108910A/ja
Application granted granted Critical
Publication of JP5870990B2 publication Critical patent/JP5870990B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1286Remote printer device, e.g. being remote from client or server via local network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1287Remote printer device, e.g. being remote from client or server via internet
    • 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/0281Proxies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

この発明は、中継装置、画像形成装置、中継方法および中継プログラムに関し、特に、ファイアーウォールの外部の装置と内部の装置との間の通信を中継する中継装置、その中継装置を備えた画像形成装置、その中継装置で実行される中継方法および中継プログラムに関する。
インターネットに接続されたクラウドサーバーが提供するサービスを利用して、ローカルエリアネットワークに接続された複合機(以下「MFP」という)を制御する場合がある。例えば、クラウドサーバーに記憶されたデータを、MFPにプリントさせる場合である。しかしながら、MFPは、ローカルエリアネットワーク(以下「LAN」という)に接続されている場合が多く、そのLANは、インターネットとファイアーウォールを介して接続される。このため、クラウドサーバーからMFPに対するアクセスは、ファイアーウォールによって遮断される場合がある。
特開2012−63944号公報には、クライアント端末から、プリンタ一覧要求を受信する一覧要求受信手段と、前記プリンタに印刷可能か否かを示すステータスの取得要求を送信し、取得する取得手段と、前記プリンタ一覧の要求を送信したクライアント端末に対し、前記取得手段にて取得したプリンタのステータスを用いて、前記クライアント端末の前記Webブラウザにて表示するための形式で記述されたプリンタ一覧のデータを送信する送信手段とを有し、前記取得手段にて前記プリンタのステータスが取得できない場合、前記送信手段は、前記プリンタ一覧のデータに、ステータスを取得できないプリンタに対して前記クライアント端末の前記Webブラウザがステータスを問い合わせるためのコマンドを含めて送信するプリントサーバーが記載されている。
しかしながら、従来の印刷システムにおいては、クライアント端末はプリンタが接続されるLANに接続されていなければならない。また、プリントサーバーにおいて実行するべき処理をクライアント端末に実行させるので、プリントサーバーにおいてクライアント端末に処理を実行させるWebページを生成する処理が増加し、クライアント端末において、本来はプリントサーバーにおいて実行するべき処理を実行する処理が増加する。このため、プリントサーバーおよびクライアント端末の双方において負荷が増加するといった問題がある。
特開2012−63944号公報
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、ファイアーウォールの内外の装置間で通信する際における両装置の処理の負荷を改善した中継装置を提供することである。
この発明の他の目的は、ファイアーウォールの内外の装置間で通信する際における両装置の処理の負荷を改善した画像形成装置を提供することである。
この発明のさらに他の目的は、ファイアーウォールの内外の装置間で通信する際における両装置の処理の負荷を改善した中継方法を提供することである。
この発明のさらに他の目的は、ファイアーウォールの内外の装置間で通信する際における両装置の処理の負荷を改善した中継プログラムを提供することである。
上述した目的を達成するためにこの発明のある局面によれば、中継装置は、ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置された制御対象装置と接続された中継装置であって、ファイアーウォールの外部のクラウドサーバーとの間で第1通信セッションを確立する第1セッション確立手段と、制御対象装置との間で第2通信セッションを確立する第2セッション確立手段と、制御対象装置に関する装置情報を取得する装置情報取得手段と、第1通信セッションと第2通信セッションとを用いて、クラウドサーバーと制御対象装置との間の通信を中継する中継手段と、を備え、中継手段は、装置情報取得手段により取得された装置情報に基づいて、クラウドサーバーから第1通信セッションを介して受信される制御対象装置に対する制御コマンドにより特定される処理を制御対象装置が実行可能か否かを判断する実行可否判断手段と、第1通信セッションを介して制御コマンドが受信された時点で装置情報取得手段により取得された装置情報に基づいて実行可否判断手段により実行不可能と判断される場合であって、制御コマンドがデータを記憶するコマンドの場合、制御対象装置に代わって、クラウドサーバーから送信されるデータを、第1通信セッションを介して受信する代理受信手段と、クラウドサーバーから制御コマンドが受信されることに応じて、装置情報取得手段により取得された装置情報に基づいて、実行可否判断手段により実行不可能と判断される場合、ファイアーウォールの内部に配置され、制御対象装置とは別の記憶装置に受信されたデータを記憶させ、制御コマンドの出力を保留する保留手段と、保留手段により制御コマンドが保留された後に装置情報取得手段により取得された装置情報に基づいて、実行可否判断手段により実行可能と判断されることに応じて、保留手段により保留された制御コマンドを、第通信セッションを介してクラウドサーバーに代わって制御対象装置に送信する代理送信手段と、代理送信手段が制御コマンドを制御対象装置に送信した後に、記憶装置からデータを取得し、クラウドサーバーに代わって、取得されたデータを制御対象装置に第2通信セッションを介して送信する代理データ送信手段と、を含む。
この局面に従えば、ファイアーウォールの外部のクラウドサーバーと制御対象装置との間の通信を中継する際に、制御対象装置に関する装置情報を取得し、取得された装置情報に基づいて、クラウドサーバーから受信される制御コマンドにより特定される処理を制御対象装置が実行可能か否かを判断し、実行不可能と判断される場合、制御コマンドの出力を保留し、制御コマンドが保留された後に取得された装置情報に基づいて、実行可能と判断されることに応じて、保留された制御コマンドを、クラウドサーバーに代わって制御対象装置に送信する。このため、制御対象装置が、制御コマンドにより特定される処理を実行できない場合に、制御コマンドを送信しないので、制御対象装置の負荷が増加しないようにすることができる。また、クラウドサーバーは、制御対象装置に実行させる際に処理を実行できない状態でも、制御対象装置に処理を実行させるための制御コマンドを送信することができ、制御対象装置が処理を実行できる状態の時と比較して負荷が増大することがない。その結果、ファイアーウォールの内外の装置間で通信する際における両装置の処理の負荷を改善した中継装置を提供することができる。
また、制御コマンドが受信された時点で装置情報に基づいて実行不可能と判断される場合であって、制御コマンドがデータを記憶するコマンドの場合、制御対象装置に代わって、クラウドサーバーから送信されるデータを受信し、制御対象装置とは別の記憶装置に受信されたデータを記憶させ、制御コマンドを制御対象装置に送信した後に、記憶装置からデータを取得し、クラウドサーバーに代わって、取得されたデータを制御対象装置に送信する。このため、クラウドサーバーは、データを制御対象装置に送信するので、制御コマンドを送信した後に待ち時間なく直ちにデータを送信することができる。また、クラウドサーバーが送信したデータを記憶装置に記憶するので、データが制御対象装置に送信される前に消滅することがなく、制御対象装置に正しく送信することができる。
この発明の他の局面によれば、中継装置は、ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置された制御対象装置と接続された中継装置であって、ファイアーウォールの外部の管理サーバーとの間で常時接続セッションを確立する常時接続セッション確立手段と、管理サーバーがクラウドサーバーから受信する接続要求であって、接続元のアドレス情報および接続先のアドレス情報を含む接続要求を管理サーバーから常時接続セッションを介して受信する接続要求受信手段と、受信された接続要求に含まれる接続先のアドレス情報を用いてファイアーウォールの外部のクラウドサーバーとの間で第1通信セッションを確立する第1セッション確立手段と、受信された接続要求に含まれる接続元のアドレス情報で特定される制御対象装置との間で第2通信セッションを確立する第2通信セッション確立手段と、第1通信セッションと第2通信セッションとを用いて、クラウドサーバーと制御対象装置との間の通信を中継する中継手段と、制御対象装置に関する装置情報を取得する装置情報取得手段と、を備え、中継手段は、装置情報取得手段により取得された装置情報に基づいて、クラウドサーバーから第1通信セッションを介して受信される制御対象装置に対する制御コマンドにより特定される処理を制御対象装置が実行可能か否かを判断する実行可否判断手段と、クラウドサーバーから制御コマンドが受信されることに応じて、装置情報取得手段により取得された装置情報に基づいて、実行可否判断手段により実行不可能と判断される場合、制御コマンドの出力を保留する保留手段と、保留手段により制御コマンドが保留された後に装置情報取得手段により取得された装置情報に基づいて、実行可否判断手段により実行可能と判断されることに応じて、保留手段により保留された制御コマンドを、第2通信セッションを介してクラウドサーバーに代わって制御対象装置に送信する代理送信手段と、を含む。
この局面に従えば、ファイアーウォールの外部の管理サーバーとの間で常時接続セッションを確立し、管理サーバーがクラウドサーバーから受信する接続要求を常時接続セッションを介して受信し、受信された接続要求に含まれる接続先のアドレス情報を用いて第1通信セッションを確立し、受信された接続要求に含まれる接続元のアドレス情報で特定される制御対象装置との間で第2通信セッションを確立する。このため、制御対象装置とクラウドサーバーとの間で、ファイアーウォールを介して通信することができる。また、制御対象装置が、制御コマンドにより特定される処理を実行できない場合に、制御コマンドを送信しないので、制御対象装置の負荷が増加しないようにすることができる。また、クラウドサーバーは、制御対象装置に実行させる際に処理を実行できない状態でも、制御対象装置に処理を実行させるための制御コマンドを送信することができ、制御対象装置が処理を実行できる状態の時と比較して負荷が増大することがない。その結果、ファイアーウォールの内外の装置間で通信する際における両装置の処理の負荷を改善した中継装置を提供することができる。
好ましくは、保留手段により制御コマンドが保留される場合、制御対象装置に代わって、制御コマンドを保留したことをクラウドサーバーに第1通信セッションを介して通知する第1通知手段を、さらに備える。
この局面に従えば、制御コマンドが保留される場合、制御対象装置に代わって、制御コマンドを保留したことをクラウドサーバーに通知するので、クラウドサーバーを操作するユーザーに制御対象装置によって処理が実行されていないことを通知することができる。
好ましくは、代理送信手段による制御コマンドの送信に応じて制御対象装置が送信する実行結果を、第1通信セッションを介して受信する実行結果受信手段と、実行結果受信手段により実行結果が受信されることに応じて、制御対象装置に代わって、受信された実行結果をクラウドサーバーに第1通信セッションを介して通知する第2通知手段と、をさらに備える。
この局面にしたがえば、制御対象装置が送信する実行結果が受信されることに応じて、制御対象装置に代わって、実行結果をクラウドサーバーに通知するので、クラウドサーバーを操作するユーザーに制御対象装置による処理が終了したことを通知することができる。
好ましくは、実行可否判断手段は、保留手段により制御コマンドが保留される前の段階では、制御コマンドが受信されるより前に装置情報取得手段により取得された装置情報に基づいて、実行可否を判断する。
この局面に従えば、制御コマンドが保留される前の段階では、制御コマンドが受信されるより前に取得された装置情報に基づいて、実行可否を判断する。このため、制御コマンドが受信された後で制御対象装置から装置情報を取得する必要がないので、制御対象装置の負荷を小さくするとともに、実行可否を判断するまでの時間を短くすることができる。
この発明の他の局面によれば、画像形成装置は、上記中継装置を備えた画像形成装置であって、画像形成装置は、制御対象装置である。
この局面に従えば、ファイアーウォールの内外の装置間で通信する際における両装置の処理の負荷を改善した画像形成装置を提供することができる。
この発明のさらに他の局面によれば、画像形成装置は、上記中継装置を備えた画像形成装置であって、制御対象装置は、画像形成装置、およびファイアーウォールの内部に配置された他の装置のうちからクラウドサーバーを操作するユーザーにより選択された1つである。
この局面に従えば、クラウドサーバーおよび画像形成装置およびファイアーウォールの内部に配置された他の装置間のファイアーウォールを介した通信の効率を改善した画像形成装置を提供することができる。
この発明のさらに他の局面によれば、中継方法は、ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置された制御対象装置と接続された中継装置で実行される中継方法であって、ファイアーウォールの外部のクラウドサーバーとの間で第1通信セッションを確立する第1セッション確立ステップと、制御対象装置との間で第2通信セッションを確立する第2セッション確立ステップと、制御対象装置に関する装置情報を取得する装置情報取得ステップと、第1通信セッションと第2通信セッションとを用いて、クラウドサーバーと制御対象装置との間の通信を中継する中継ステップと、を含み、中継ステップは、装置情報取得ステップにおいて取得された装置情報に基づいて、クラウドサーバーから第1通信セッションを介して受信される制御対象装置に対する制御コマンドにより特定される処理を制御対象装置が実行可能か否かを判断する実行可否判断ステップと、第1通信セッションを介して制御コマンドが受信された時点で装置情報取得ステップにおいて取得された装置情報に基づいて実行可否判断ステップにおいて実行不可能と判断される場合であって、制御コマンドがデータを記憶するコマンドの場合、制御対象装置に代わって、クラウドサーバーから送信されるデータを、第1通信セッションを介して受信する代理受信ステップと、クラウドサーバーから制御コマンドが受信されることに応じて、装置情報取得ステップにおいて取得された装置情報に基づいて、実行可否判断ステップにおいて実行不可能と判断される場合、ファイアーウォールの内部に配置され、制御対象装置とは別の記憶装置に受信されたデータを記憶させ、制御コマンドの出力を保留する保留ステップと、保留ステップにおいて制御コマンドが保留された後に装置情報取得ステップにおいて取得された装置情報に基づいて、実行可否判断ステップにおいて実行可能と判断されることに応じて、保留ステップにおいて保留された制御コマンドを、第通信セッションを介してクラウドサーバーに代わって制御対象装置に送信する代理送信ステップと、代理送信ステップにおいて制御コマンドを制御対象装置に送信した後に、記憶装置からデータを取得し、クラウドサーバーに代わって、取得されたデータを制御対象装置に第2通信セッションを介して送信する代理データ送信ステップと、を含む。
この局面に従えば、ファイアーウォールの内外の装置間で通信する際における両装置の処理の負荷を改善した中継方法を提供することができる。
この発明のさらに他の局面によれば、中継方法は、ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置された制御対象装置と接続された中継装置で実行される中継方法であって、ファイアーウォールの外部の管理サーバーとの間で常時接続セッションを確立する常時接続セッション確立ステップと、管理サーバーがクラウドサーバーから受信する接続要求であって、接続元のアドレス情報および接続先のアドレス情報を含む接続要求を管理サーバーから常時接続セッションを介して受信する接続要求受信ステップと、受信された接続要求に含まれる接続先のアドレス情報を用いてファイアーウォールの外部のクラウドサーバーとの間で第1通信セッションを確立する第1セッション確立ステップと、受信された接続要求に含まれる接続元のアドレス情報で特定される制御対象装置との間で第2通信セッションを確立する第2通信セッション確立ステップと、第1通信セッションと第2通信セッションとを用いて、クラウドサーバーと制御対象装置との間の通信を中継する中継ステップと、制御対象装置に関する装置情報を取得する装置情報取得ステップと、を備え、中継ステップは、装置情報取得ステップにおいて取得された装置情報に基づいて、クラウドサーバーから第1通信セッションを介して受信される制御対象装置に対する制御コマンドにより特定される処理を制御対象装置が実行可能か否かを判断する実行可否判断ステップと、クラウドサーバーから制御コマンドが受信されることに応じて、装置情報取得ステップにおいて取得された装置情報に基づいて、実行可否判断ステップにおいて実行不可能と判断される場合、制御コマンドの出力を保留する保留ステップと、保留ステップにおいて制御コマンドが保留された後に装置情報取得ステップにおいて取得された装置情報に基づいて、実行可否判断ステップにおいて実行可能と判断されることに応じて、保留ステップにおいて保留された制御コマンドを、第2通信セッションを介してクラウドサーバーに代わって制御対象装置に送信する代理送信ステップと、を含む。
この局面に従えば、ファイアーウォールの内外の装置間で通信する際における両装置の処理の負荷を改善した中継方法を提供することができる。
この発明のさらに他の局面によれば、中継プログラムは、ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置された制御対象装置と接続された中継装置を制御するコンピューターで実行される中継プログラムであって、ファイアーウォールの外部のクラウドサーバーとの間で第1通信セッションを確立する第1セッション確立ステップと、制御対象装置との間で第2通信セッションを確立する第2セッション確立ステップと、制御対象装置に関する装置情報を取得する装置情報取得ステップと、第1通信セッションと第2通信セッションとを用いて、クラウドサーバーと制御対象装置との間の通信を中継する中継ステップと、をコンピューターに実行させ、中継ステップは、装置情報取得ステップにおいて取得された装置情報に基づいて、クラウドサーバーから第1通信セッションを介して受信される制御対象装置に対する制御コマンドにより特定される処理を制御対象装置が実行可能か否かを判断する実行可否判断ステップと、第1通信セッションを介して制御コマンドが受信された時点で装置情報取得ステップにおいて取得された装置情報に基づいて実行可否判断ステップにおいて実行不可能と判断される場合であって、制御コマンドがデータを記憶するコマンドの場合、制御対象装置に代わって、クラウドサーバーから送信されるデータを、第1通信セッションを介して受信する代理受信ステップと、クラウドサーバーから制御コマンドが受信されることに応じて、装置情報取得ステップにおいて取得された装置情報に基づいて、実行可否判断ステップにおいて実行不可能と判断される場合、ファイアーウォールの内部に配置され、制御対象装置とは別の記憶装置に受信されたデータを記憶させ、制御コマンドの出力を保留する保留ステップと、保留ステップにおいて制御コマンドが保留された後に装置情報取得ステップにおいて取得された装置情報に基づいて、実行可否判断ステップにおいて実行可能と判断されることに応じて、保留ステップにおいて保留された制御コマンドを、第通信セッションを介してクラウドサーバーに代わって制御対象装置に送信する代理送信ステップと、代理送信ステップにおいて制御コマンドを制御対象装置に送信した後に、記憶装置からデータを取得し、クラウドサーバーに代わって、取得されたデータを制御対象装置に第2通信セッションを介して送信する代理データ送信ステップと、を含む。
この局面に従えば、ファイアーウォールの内外の装置間で通信する際における両装置の処理の負荷を改善した中継プログラムを提供することができる。
この発明のさらに他の局面によれば、中継プログラムは、ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置された制御対象装置と接続された中継装置を制御するコンピューターで実行される中継プログラムであって、ファイアーウォールの外部の管理サーバーとの間で常時接続セッションを確立する常時接続セッション確立ステップと、管理サーバーがクラウドサーバーから受信する接続要求であって、接続元のアドレス情報および接続先のアドレス情報を含む接続要求を管理サーバーから常時接続セッションを介して受信する接続要求受信ステップと、受信された接続要求に含まれる接続先のアドレス情報を用いてファイアーウォールの外部のクラウドサーバーとの間で第1通信セッションを確立する第1セッション確立ステップと、受信された接続要求に含まれる接続元のアドレス情報で特定される制御対象装置との間で第2通信セッションを確立する第2通信セッション確立ステップと、第1通信セッションと第2通信セッションとを用いて、クラウドサーバーと制御対象装置との間の通信を中継する中継ステップと、制御対象装置に関する装置情報を取得する装置情報取得ステップと、をコンピューターに実行させ、中継ステップは、装置情報取得ステップにおいて取得された装置情報に基づいて、クラウドサーバーから第1通信セッションを介して受信される制御対象装置に対する制御コマンドにより特定される処理を制御対象装置が実行可能か否かを判断する実行可否判断ステップと、クラウドサーバーから制御コマンドが受信されることに応じて、装置情報取得ステップにおいて取得された装置情報に基づいて、実行可否判断ステップにおいて実行不可能と判断される場合、制御コマンドの出力を保留する保留ステップと、保留ステップにおいて制御コマンドが保留された後に装置情報取得ステップにおいて取得された装置情報に基づいて、実行可否判断ステップにおいて実行可能と判断されることに応じて、保留ステップにおいて保留された制御コマンドを、第2通信セッションを介してクラウドサーバーに代わって制御対象装置に送信する代理送信ステップと、を含む。
この局面に従えば、ファイアーウォールの内外の装置間で通信する際における両装置の処理の負荷を改善した中継プログラムを提供することができる。
本発明の実施の形態の1つにおける情報処理システムの全体概要の一例を示す図である。 ゲートウェイ装置のハードウェア構成の概要の一例を示すブロック図である。 MFPのハードウェア構成の概要の一例を示すブロック図である。 本実施の形態における管理サーバーのハードウェア構成の概要の一例を示すブロック図である。 管理サーバーが備えるCPUの機能の一例を示すブロック図である。 ゲートウェイ装置が備えるCPUの機能の一例を示すブロック図である。 中継処理の流れの一例を示すフローチャートである。 トンネル接続処理の流れの一例を示すフローチャートである。 代理中継処理の流れの一例を示すフローチャートである。 実行可否判断処理の流れの一例を示すフローチャートである。 トンネル接続支援処理の流れの一例を示すフローチャートである。 装置制御処理の流れの一例を示すフローチャートである。
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
図1は、本発明の実施の形態の1つにおける情報処理システムの全体概要の一例を示す図である。図1を参照して、情報処理システム1は、管理サーバー300と、中継装置として機能するゲートウェイ(G/W)装置200と、複合機であるMFP(Multi Function Peripheral)100,100A,100Bと、を含む。管理サーバー300およびゲートウェイ装置200それぞれは、インターネット5に接続されており、インターネット5を介して互いに通信可能である。さらに、管理サーバー300およびゲートウェイ装置200それぞれは、インターネット5に接続された他のコンピューターと通信可能である。ここでは、インターネット5に接続された他のコンピューターの一例としてクラウドサーバー400を示している。
ゲートウェイ装置200は、さらに、ローカルエリアネットワーク(LAN)3と接続されており、そのLAN3に、MFP100,100A,100Bが接続されている。ゲートウェイ装置200は、LAN3に接続されたMFP100,100A,100Bと通信可能である。さらに、ゲートウェイ装置200およびMFP100,100A,100Bそれぞれは、LAN3に接続された他のコンピューターと通信可能である。
ゲートウェイ装置200は、ファイアーウォール機能を有し、ファイアーウォールの内部のLAN3と、ファイアーウォールの外部のインターネット5とを接続する。ゲートウェイ装置200は、インターネット5に接続された管理サーバー300およびクラウドサーバー400から、LAN3に接続されたMFP100,100A,100Bへのアクセスを制限する。ゲートウェイ装置200が有するファイアーウォール機能は、特に限定するものではないが、パケットに含まれるアドレスに基づいて通信の許可または不許可を判定するパケットフィルター型のファイアーウォール機能である。なお、アプリケーション層のプロトコルのレベルで外部との通信を代替し、制御するアプリケーション型のファイアーウォール機能であってもよい。なお、ゲートウェイ装置200が配置される位置は、ファイアーウォールの内部である。
本実施の形態における情報処理システム1においては、ファイアーウォールの外部のインターネット5に接続されたコンピューター、ここではクラウドサーバー400が、ファイアーウォールの内部のLAN3に接続されたMFP100,100A,100Bのいずれかを制御することを可能にする。クラウドサーバー400は、ファイアーウォールの内部のLAN3に接続されたパーソナルコンピューター(以下「PC」という)からアクセスされて、そのPCを操作するユーザーによる指示にしたがってサービスを提供するための処理を実行する場合と、ファイアーウォールの外部のインターネット5に接続されたPCからアクセスされて、そのPCを操作するユーザーによる指示にしたがってサービスを提供するための処理を実行する場合と、がある。ここでは、一例として、クラウドサーバー400が、それが提供するサービスに基づく処理を実行し、その結果得られるデータに対してMFP100に処理を実行させる場合を例に説明する。この場合、クラウドサーバー400はMFP100に処理を実行させるための制御コマンドを送信する。
クラウドサーバー400がMFP100に送信する制御コマンドが、ゲートウェイ装置200のファイアーウォールを通過するようにするために、ゲートウェイ装置200は、クラウドサーバー400とMFP100との間でトンネル接続を確立する。トンネル接続を確立する技術は、種々の方法があるが、ここでは、管理サーバー300がトンネル接続を支援する方法を例に説明する。
ゲートウェイ装置200は、予め記憶された管理サーバー300のネットワークアドレスを用いて管理サーバー300との間で通信セッションの確立を要求する。ゲートウェイ装置200は、ファイアーウォールの内部であり、管理サーバー300は、ファイアーウォールの外部なので、ファイアーウォールを通過する通信セッションが確立される。この通信セッションを、以下、常時接続セッションという。
ゲートウェイ装置200は、管理サーバー300との間で常時接続セッションを確立すると、LAN3に接続されたMFP100,100A,100Bそれぞれを識別するための装置識別情報を管理サーバー300に常時接続セッションを介して送信する。管理サーバー300においては、ゲートウェイ装置200に接続されたMFP100,100A,100Bを認識する。
次に、クラウドサーバー400が管理サーバー300との間で、通信セッションを確立する。ここで、クラウドサーバー400と管理サーバー300との間で確立される通信セッションをグローバルセッションという。管理サーバー300は、ゲートウェイ装置200から受信されたMFP100,100A,100Bそれぞれの装置識別情報を受信しているので、クラウドサーバー400を操作するユーザーに対して、トンネル接続が可能な装置としてMFP100,100A,100Bのうちからいずれかを選択させる。ここでは、クラウドサーバー400を操作するユーザーによって、トンネル接続する装置としてMFP100が選択される場合を例に説明する。
クラウドサーバー400は、クラウドサーバー400を操作するユーザーによって、トンネル接続する装置としてMFP100が選択される場合、MFP100のアドレス情報と、クラウドサーバー400のアドレス情報とを含む接続要求を管理サーバー300に送信する。MFP100のアドレス情報は、ゲートウェイ装置200の装置識別情報とMFP100の装置識別情報とを含む。クラウドサーバー400のアドレス情報は、MFP100からクラウドサーバー400にアクセスするためのURL(Uniform Resource Locator)である。URLには、例えば「https://www.example.com/print_service?job_id=j00123:60001」のように、クラウドサーバー400のアドレス(ドメイン名)、ウェブページの識別子、クラウドサーバー400が実行するジョブの識別子(ジョブID)、および待ち受けポートのポート番号などが含まれる。待ち受けポートとして、所定の範囲のポートのうち未使用のものが用いられる。また、ジョブIDとして、ユニークなIDが発行される。クラウドサーバー400が実行するジョブは、クラウドサーバー400が提供するサービスのうちクラウドサーバー400を操作するユーザーによって指定されたサービスに対応するジョブである。クラウドサーバー400のアドレス情報であるURLが、ジョブIDを含むため、そのURLにアクセスしてきた装置をジョブIDにより特定されるジョブと対応付けることができる。換言すれば、クラウドサーバー400を操作するユーザーによって指定されたサービスに対応するジョブを、接続要求をした装置、ここではMFP100と対応付けることができる。
管理サーバー300は、クラウドサーバー400から接続要求を受信する場合、接続要求に含まれるMFP100のアドレス情報に含まれるゲートウェイ装置200の装置識別情報に基づいてゲートウェイ装置200を特定し、接続要求をゲートウェイ装置200に常時接続セッションを介して転送する。この場合、接続要求を、常時接続セッションに対応するプロトコルに応じてカプセル化して送信する。
ゲートウェイ装置200は、さらに、管理サーバー300から接続要求を受信すると、接続要求に含まれるクラウドサーバー400のアドレス情報に基づいて、クラウドサーバー400との間で通信セッションを確立する。ここで、ゲートウェイ装置200とクラウドサーバー400との間で確立される通信セッションを第1通信セッションという。これにより、ファイアーウォールを通過するトンネル接続が完了する。
ゲートウェイ装置200は、管理サーバー300から接続要求を受信すると、接続要求に含まれるMFP100のアドレス情報に含まれるMFP100の装置識別情報に基づいてMFP100を特定し、MFP100との間で通信セッションを確立する。ここで、ゲートウェイ装置200とMFP100との間で確立される通信セッションを第2通信セッションという。
ゲートウェイ装置200は、クラウドサーバー400との間で確立された第1通信セッションと、MFP100との間で確立された第2通信セッションとを接続することによって、クラウドサーバー400とMFP100との間の通信を中継する。
なお、トンネル接続の方法は、これに限定されることなく、他の方法を用いてもよい。例えば、管理サーバー300がゲートウェイ装置200と同様に、クラウドサーバー400とMFP100との間の通信を中継するようにしてもよい。例えば、ゲートウェイ装置200が、MFP100,100A,100Bそれぞれに対応する常時接続セッションを管理サーバー300との間で確立し、管理サーバー300は、クラウドサーバー400との間で確立したグローバルセッションを、クラウドサーバー400のユーザーにより指定されたMFP100に対応する常時接続セッションとを接続することによって、クラウドサーバー400とMFP100との間の通信を中継する。この場合、クラウドサーバー400は、MFP100のアドレス情報を送信すればよく、クラウドサーバー400のアドレス情報を送信する必要はない。ただし、管理サーバー300が中継のための処理を実行するため、負荷が増大する。
クラウドサーバー400が提供するサービスは、例えば、クラウドサーバー400がMFP100のプログラムのバージョンを管理し、バージョンアップに基づくアップデートを実行するプログラム管理サービス、クラウドサーバー400をファイルサーバーとして機能させるサービス、画像データに対して画像処理を実行するサービスを含む。画像処理は、限定するものではないが、例えば、写真が表された画像データを先鋭化、スムージング等の処理を実行する処理であってもよいし、文字が表された画像データを文字認識する処理であってもよいし、言語を他の言語に翻訳する処理であってもよい。
管理サーバー300、クラウドサーバー400は、一般的なコンピューターであり、それらのハードウェア構成および機能は周知なので、ここでは説明を繰り返さない。MFP100,100A,100Bのハードウェア構成および機能は同じなので、ここでは特に言及しない限りMFP100を例に説明する。
図2は、ゲートウェイ装置のハードウェア構成の概要の一例を示すブロック図である。図2を参照して、本実施の形態におけるゲートウェイ装置200は、ゲートウェイ装置200の全体を制御するためのCPU(Central Processing Unit)201と、CPU201が実行するためのプログラム等を記憶するROM(Read Only Memory)202と、CPU201の作業領域として用いられるRAM(Random Access Memory)203と、データを不揮発的に記憶するフラッシュメモリ204と、第1通信部205と、第2通信部206と、外部記憶装置209と、を含む。
第1通信部205は、ゲートウェイ装置200をインターネット5に接続するための通信インターフェース(I/F)である。第2通信部206は、ゲートウェイ装置200をLAN3に接続するための通信インターフェース(I/F)である。
フラッシュメモリ204は、CPU201が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。CPU201は、フラッシュメモリ204に記録されたプログラムを、RAM203にロードして実行する。外部記憶装置209は、ゲートウェイ装置200に着脱自在であり、プログラムを記憶したCD−ROM209Aが装着可能である。CPU201は、外部記憶装置209を介してCD−ROM209Aにアクセス可能である。CPU201は、外部記憶装置209に装着されたCD−ROM209Aに記録された中継プログラムを、RAM203にロードして実行することが可能である。
なお、CPU201が実行するプログラムとして、フラッシュメモリ204またはCD−ROM209Aに記録されたプログラムについて説明したが、インターネット5に接続された他のコンピューターが、フラッシュメモリ204に記憶されたプログラムを書換えたプログラム、または、追加して書き込んだ新たなプログラムであってもよい。さらに、ゲートウェイ装置200が、インターネット5に接続された他のコンピューターからダウンロードしたプログラムでもよい。ここでいうプログラムは、CPU201が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
なお、CPU201が実行するプログラムを記憶する媒体としては、CD−ROM209Aに限られず、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)などの半導体メモリであってもよい。
図3は、MFPのハードウェア構成の概要の一例を示すブロック図である。図3を参照して、MFP100は、メイン回路110と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、画像が形成された用紙を処理する後処理部155と、ユーザーインターフェースとしての操作パネル160とを含む。
後処理部155は、画像形成部140により画像が形成された1以上の用紙を並び替えて排紙するソート処理、パンチ穴加工するパンチ処理、ステープル針を打ち込むステープル処理を実行する。
メイン回路110は、CPU111と、通信インターフェース(I/F)部112と、ROM113と、RAM114と、大容量記憶装置としてのハードディスクドライブ(HDD)115と、ファクシミリ部116と、CD−ROM118が装着される外部記憶装置117と、を含む。CPU111は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、後処理部155および操作パネル160と接続され、MFP100の全体を制御する。
ROM113は、CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる読取データ(画像データ)を一時的に記憶する。
操作パネル160は、MFP100の上面に設けられ、表示部161と操作部163とを含む。表示部161は、液晶表示装置(LCD)、有機ELD(Electro−Luminescence Display)等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部163は、複数のキーからなるハードキー部167を備え、キーに対応するユーザーの操作による各種の指示、文字、数字などのデータの入力を受け付ける。操作部163は、表示部161上に設けられたタッチパネルを165さらに含む。
通信I/F部112は、MFP100をLAN3に接続するためのインターフェースである。CPU111は、通信I/F部112を介して、LAN3に接続された装置との間で通信し、データを送受信する。さらに、通信I/F部112は、ゲートウェイ装置200を介して、インターネットに接続されたコンピューター、例えば、クラウドサーバー4400と通信が可能である。
ファクシミリ部116は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部116は、受信したファクシミリデータを、HDD115に記憶する、または画像形成部140に出力する。画像形成部140は、ファクシミリ部116により受信されたファクシミリデータを用紙にプリントする。また、ファクシミリ部116は、HDD115に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
外部記憶装置117は、CD−ROM(Compact Disk ROM)118が装着される。CPU111は、外部記憶装置117を介してCD−ROM118にアクセス可能である。CPU111は、外部記憶装置117に装着されたCD−ROM118に記録されたプログラムをRAM114にロードして実行する。なお、CPU111が実行するプログラムを記憶する媒体としては、CD−ROM118に限られず、光ディスク(MO/MD/DVD)、ICカード、光カード、マスクROM、EPROM、EEPROMなどの半導体メモリであってもよい。
また、CPU111は、HDD115に記憶されたプログラムをRAM114にロードして実行するようにしてもよい。この場合、LAN3またはインターネット5に接続された他のコンピューターが、MFP100のHDD115に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、MFP100が、LAN3またはインターネット5に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD115に記憶するようにしてもよい。ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図4は、本実施の形態における管理サーバーのハードウェア構成の概要の一例を示すブロック図である。図4を参照して、管理サーバー300は、管理サーバー300の全体を制御するためのCPU301と、CPU301が実行するためのプログラムを記憶するROM302と、CPU301の作業領域として使用されるRAM303と、データを不揮発的に記憶するHDD304と、CPU301をインターネット5に接続する通信部305と、情報を表示する表示部306と、ユーザーの操作の入力を受け付ける操作部307と、外部記憶装置309と、を含む。
外部記憶装置309は、CD−ROM309Aが装着される。CPU301は、外部記憶装置309を介してCD−ROM309Aにアクセス可能である。CPU301は、外部記憶装置309に装着されたCD−ROM309Aに記録されたプログラムをRAM303にロードして実行する。なお、CPU301が実行するプログラムを記憶する媒体としては、CD−ROM309に限られず、光ディスク、ICカード、光カード、マスクROM、EPROM、EEPROMなどの半導体メモリであってもよい。
また、CPU301が実行するプログラムは、CD−ROM309に記録されたプログラムに限られず、HDD304に記憶されたプログラムをRAM303にロードして実行するようにしてもよい。この場合、インターネット5に接続された他のコンピューターが、PC300のHDD304に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、管理サーバー300が、インターネット5に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD304に記憶するようにしてもよい。ここでいうプログラムは、CPU301が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図5は、管理サーバーが備えるCPUの機能の一例を示すブロック図である。図5に示す機能は、管理サーバー300が備えるCPU301が、ROM302、HDD304またはCD−ROM309Aに記憶されたプログラムを実行することにより、CPU301に形成される機能である。図5を参照して、管理サーバー300が備えるCPU301は、サーバー側確立部351と、グローバル確立部353と、を含む。
サーバー側確立部351は、通信部305を制御して、ゲートウェイ装置200との間で通信セッションを確立する。ここで確立する通信セッションは、常時接続セッションである。サーバー側確立部351は、ゲートウェイ装置200から通信セッションの確立要求を受信することに応じて、通信セッションを確立する。サーバー側確立部351は、装置識別情報受信部371と、トンネル接続要求部373と、接続結果受信部375と、装置情報管理部377と、を含む。
装置識別情報受信部371は、ゲートウェイ装置200との間で確立された常時接続セッションを介して、ゲートウェイ装置200から装置識別情報を受信し、受信される装置識別情報と、ゲートウェイ装置200の装置識別情報と、をグローバル確立部353に出力する。ゲートウェイ装置200の機能の詳細は後述するが、ゲートウェイ装置200は、管理サーバー300との間で常時接続セッションが確立されると、LAN3に接続された装置、ここでは、MFP100,100A,100Bそれぞれに対応する装置識別情報を送信する。MFP100,100A,100Bそれぞれの装置識別情報は、限定するものではないが、MFP100,100A,100BそれぞれにLAN3において割り当てられたローカルIP(Internet Protocol)アドレスである。ゲートウェイ装置200の装置情報は、限定するものではないが、インターネット5においてゲートウェイ装置200に割り当てられたグローバルIPアドレスである。
グローバル確立部353は、通信部305を制御して、ファイアーウォールの外部に位置するコンピューターとの間で通信セッションを確立する。ここでは、クラウドサーバー400との間で通信セッションを確立する場合を説明する。ここで確立される通信セッションは、グローバルセッションである。グローバル確立部353は、通信部305を制御して、クラウドサーバー400から通信セッションの確立要求を受信することに応じて、クラウドサーバー400との間でグローバルセッションを確立する。グローバル確立部353は、装置情報送信部381と、接続要求受信部383と、接続確認部385を含む。
装置情報送信部381は、装置識別情報受信部371からゲートウェイ装置200の装置識別情報と、MFP100,100A,100Bそれぞれの装置識別情報とが入力される。装置情報送信部381は、グローバルセッションを介して、クラウドサーバー400にゲートウェイ装置200の装置識別情報と、MFP100,100A,100Bそれぞれの装置識別情報とを送信する。例えば、ゲートウェイ装置200の装置識別情報と、MFP100,100A,100Bそれぞれの装置識別情報と、を含み、ゲートウェイ装置200と、MFP100,100A,100Bのいずれかと、を選択可能な装置選択画面を、クラウドサーバー400に送信する。ここでは、装置選択画面をクラウドサーバー400に送信した後に、クラウドサーバー400において、クラウドサーバー400を操作するユーザーによって、ゲートウェイ装置200の装置識別情報と、MFP100の装置識別情報とが選択される場合を例に説明する。この場合、クラウドサーバー400は、接続要求を管理サーバー300にグローバルセッションを介して送信する。接続要求を送信するコマンドは、装置選択画面に埋め込んでおけばよい。例えば、装置選択画面を、HTML(HyperText Markup Language)、XML(Extensible Markup Language)等のマークアップ言語で記述する場合、接続要求を送信するコマンドを、Java(登録商標)またはJavaScript(登録商標)等のプログラミング言語で装置選択画面に埋め込むことができる。これにより、装置選択画面を表示するクラウドサーバー400において、装置選択画面でMFP100の装置識別情報が指示されることに応じて、接続要求を送信する処理をクラウドサーバー400に実行させることができる。
接続要求は、MFP100のアドレス情報と、クラウドサーバー400のアドレス情報とを含む。MFP100のアドレス情報は、ゲートウェイ装置200の装置識別情報とMFP100の装置識別情報とを含む。クラウドサーバー400のアドレス情報は、MFP100からクラウドサーバー400にアクセスするためのURLである。URLには、クラウドサーバー400のアドレス(ドメイン名)、ウェブページの識別子、クラウドサーバー400が実行するジョブの識別子(ジョブID)、および待ち受けポートのポート番号が含まれる。
接続要求受信部383は、クラウドサーバー400がグローバルセッションを介して送信する接続要求を受信し、受信された接続要求を、サーバー側確立部351に出力する。
トンネル接続要求部373は、接続要求受信部383から接続要求が入力されることに応じて、常時接続セッションを介して、トンネル接続要求をゲートウェイ装置200に送信する。トンネル接続要求は、常時接続セッションにより定まるプロトコルに適合するようにカプセル化したパケットとして送信される。トンネル接続要求を受信するゲートウェイ装置200は、MFP100との間で通信セッションを確立し、その結果を示すトンネル接続結果を返信する。
接続結果受信部375は、常時接続セッションを介して、ゲートウェイ装置200が送信するトンネル接続結果を受信する。トンネル接続結果は、装置識別情報を含み、トンネル接続に成功したことを示す印と、トンネル接続に失敗したことを示す印とのいずれかを含む。トンネル接続に失敗する場合は、例えば、MFP100に電源が投入されていない場合、MFP100が通信できないトラブル状態の場合等である。接続結果受信部375は、トンネル接続結果をグローバル確立部353および装置情報管理部377に出力する。
装置情報管理部377は、MFP100,100A,100Bごとに装置状態情報をHDD304に記憶する。装置状態情報は、MFP100,100A,100Bそれぞれの装置識別情報と、トンネル接続の成功または失敗のいずれかを示す接続可否と、を関連付けたデータである。装置情報管理部377は、接続結果受信部375からトンネル接続結果が入力されることに応じて、HDD304に記憶された装置状態情報を更新する。トンネル接続結果がトンネル接続に成功したことを示す印を含むならば、HDD304に記憶されている装置状態情報のうち、トンネル接続結果に含まれる装置識別情報と同じ装置識別情報を含む装置状態情報の接続可否を、トンネル接続に成功したことを示す印で更新するとともに、装置情報を更新する。また、トンネル接続結果がトンネル接続に失敗したことを示す印を含むならば、HDD304に記憶されている装置状態情報のうち、トンネル接続結果に含まれる装置識別情報と同じ装置識別情報を含む装置状態情報の接続可否を、トンネル接続に失敗したことを示す印で更新する。
グローバル確立部353の接続確認部395は、接続結果受信部375から入力されるトンネル接続結果がトンネル接続に成功したことを示す印を含む場合には、グローバルセッションを介してクラウドサーバー400に接続が成功したことを示す信号を送信する。クラウドサーバー400においては、クラウドサーバー400のユーザーに接続が成功したことを示すメッセージを表示するなどして、接続が成功したことを通知することができる。接続確認部395は、接続結果受信部375から入力されるトンネル接続結果がトンネル接続に失敗したことを示す印を含む場合には、グローバルセッションを介してクラウドサーバー400に接続が失敗したことを示すエラー信号を送信する。クラウドサーバー400においては、クラウドサーバー400のユーザーに接続が失敗したことを示すメッセージを表示するなどして、接続が失敗したことを通知することができる。
図6は、ゲートウェイ装置が備えるCPUの機能の一例を示すブロック図である。図6に示す機能は、ゲートウェイ装置200が備えるCPU201が、ROM202、フラッシュメモリ204またはCD−ROM209Aに記憶された中継プログラムを実行することにより、CPU201に形成される機能である。図6を参照して、ゲートウェイ装置200が備えるCPU201は、接続装置情報取得部241と、常時接続セッション確立部251と、第1セッション確立部259と、第2セッション確立部261と、中継部270と、を含む。
中継部270は、制御コマンド抽出部271と、第1通知部273と、代理受信部275と、第2通知部277と、実行可否判断部279と、保留部281と、確立後装置情報取得部283と、代理送信部285と、代理データ送信部287と、実行結果受信部289と、を含む。
また、CPU201は、第1通信制御部250と、第2通信制御部260と、を含む。第1通信制御部250は、第1通信部205を制御し、インターネット5に接続されたコンピューターとの間の通信を制御する。第1通信制御部250は、接続装置情報取得部241と、常時接続セッション確立部251と、第1セッション確立部259と、中継部270に含まれる制御コマンド抽出部271、第1通知部273、代理受信部275および第2通知部277と、を含む。
第2通信制御部260は、第2通信部206を制御し、LAN3に接続されたMFP100,100A,100Bとの間の通信を制御する。第2通信制御部260は、第2セッション確立部261と、中継部270に含まれる確立後装置情報取得部283、代理送信部285、代理データ送信部287および実行結果受信部289と、を含む。
接続装置情報取得部241は、ファイアーウォールの内側のLAN3に接続された装置の装置識別情報を取得する。接続装置情報取得部241は、所定のタイミングで、LAN3に接続された装置を探索し、検出される装置の装置識別情報を取得する。所定のタイミングは、任意に定めることができるが、例えば、ゲートウェイ装置200に電源が投入された時点、または、予め定められた時とすればよい。ここでは、LAN3に接続された装置としてMFP100,100A,100Bを検出する場合を例に説明する。接続装置情報取得部241は、第2通信部206を制御してLAN3に接続された装置として検出されるMFP100,100A,100Bそれぞれの装置識別情報を取得する。MFP100,100A,100Bそれぞれの装置識別情報は、例えば、ローカルIPアドレスである。接続装置情報取得部241は、取得された装置識別情報を常時接続セッション確立部251に出力する。
常時接続セッション確立部251は、接続装置情報取得部241からMFP100,100A,100Bそれぞれの装置識別情報が入力される。常時接続セッション確立部251は、第1通信部205を制御して、管理サーバー300に通信セッションの確立要求を送信し、管理サーバー300との間で通信セッションを確立する。ここで確立される通信セッションは、常時接続される常時接続セッションである。常時接続セッションは、特に限定するものではないが、例えば、XMPP(eXtensible Messaging and Presence Protocol)に基づくメッセージセッションである。フラッシュメモリ204に管理サーバー300のグローバルIPアドレスが予め記憶されており、常時接続セッション確立部251は、フラッシュメモリ204に記憶されているグローバルIPアドレスを用いて管理サーバー300に通信セッションの確立要求を送信し、管理サーバー300と所定のネゴシエーションをすることによって常時接続セッションを確立する。
トンネル接続要求受信部255は、第1通信部205を制御して、管理サーバー300が送信するトンネル接続要求を受信する。トンネル接続要求は、クラウドサーバー400から送信される接続要求を含む。トンネル接続要求受信部255は受信されたトンネル接続要求に含まれる接続要求を中継部270に出力する。接続要求は、MFP100のアドレス情報と、クラウドサーバー400のアドレス情報とを含む。
常時接続セッション確立部251は、装置識別情報送信部253と、トンネル接続要求受信部255と、接続結果送信部257と、を含む。装置識別情報送信部253は、管理サーバー300にファイアーウォール内部のLAN3に接続された装置を通知するために、接続装置情報取得部241から入力されるMFP100,100A,100Bそれぞれの装置識別情報を、常時接続セッションを介して管理サーバー300に送信する。
トンネル接続要求受信部255は、常時接続セッションを介して、管理サーバー300からトンネル接続要求を受信する。トンネル接続要求は、管理サーバー300がクラウドサーバー400から受信した接続要求を含む。接続要求は、MFP100のアドレス情報と、クラウドサーバー400のアドレス情報とを含む。MFP100のアドレス情報は、ゲートウェイ装置200の装置識別情報とMFP100の装置識別情報とを含む。クラウドサーバー400のアドレス情報は、MFP100からクラウドサーバー400にアクセスするためのURLである。
トンネル接続要求受信部255は、トンネル接続要求を受信することに応じて、トンネル接続要求に含まれる接続要求に含まれるクラウドサーバー400のアドレス情報を第1セッション確立部259に出力し、トンネル接続要求に含まれる接続要求に含まれるMFP100のアドレス情報を第2セッション確立部261に出力し、接続結果の送信指示を接続結果送信部257に出力する。
第1セッション確立部259は、トンネル接続要求受信部255からクラウドサーバー400のアドレス情報が入力されることに応じて、第1通信部205を制御して、クラウドサーバー400との間で通信セッションを確立する。ここで確立する通信セッションは、第1通信セッションである。第1セッション確立部259は、第1通信セッションを識別するためのセッション識別情報を中継部270に出力する。
第2セッション確立部261は、トンネル接続要求受信部255からMFP100のアドレス情報が入力されることに応じて、第2通信部206を制御して、MFP100に通信セッションの確立要求を送信し、MFP100との間で通信セッションを確立する。ここで確立される通信セッションは第2通信セッションである。第2通信セッションは、特に限定するものではないが、LAN3において用いられる通信プロトコルに準じた通信セッションであればよい。第2セッション確立部261は、第2通信セッションを識別するためのセッション識別情報を中継部270に出力する。
第2セッション確立部261は、確立時装置情報取得部263を含む。確立時装置情報取得部263は、第2セッションが確立されることに応じて、MFP100の装置情報を取得する。確立時装置情報取得部263は、取得された装置情報を中継部270の実行可否判断部279に出力する。確立時装置情報取得部263は、第2通信セッションを介してMFP100から装置情報を取得する。装置情報は、MFP100の状態を示す情報であり、実行中のジョブに関する情報、操作中状態、エラーの発生状態、オプション機器の構成、ファームウェアプログラムのバージョン情報、アプリケーションプログラムのバージョン情報、HDD116の残容量、プリント枚数のカウンター値、待機ジョブの数、設定値、を含む。
確立時装置情報取得部263は、第2セッションが確立され、MFP100の装置情報を取得する場合、接続要求のMFP100のアドレス情報で特定されるMFP100の装置識別情報と、装置情報と、トンネル接続に成功したことを示す印とを含むトンネル接続結果を、接続結果送信部257に出力する。確立時装置情報取得部263は、第2セッションが確立されない場合、接続要求のMFP100のアドレス情報で特定されるMFP100の装置識別情報と、トンネル接続に失敗したことを示す印とを含むトンネル接続結果を、接続結果送信部257に出力する。第2セッション確立部261によって第2通信セッションが確立されなない場合は、MFP100に電源が投入されていない場合、または、MFP100が通信できないトラブルが発生している場合等である。第2セッション確立部261によって第2通信セッションが確立されなない場合は、MFP100に電源が投入されていない場合、または、MFP100が通信できないトラブルが発生している場合等である。
接続結果送信部257は、トンネル接続要求受信部255から接続結果の送信指示が入力された後に、確立時装置情報取得部263からトンネル接続結果が入力される場合、トンネル接続結果を管理サーバー300に常時接続セッションを介して送信する。
中継部270は、第1セッション確立部259から第1通信セッションのセッション識別情報が入力され、第2セッション確立部261から第2通信セッションのセッション識別情報が入力される。中継部270は、第1セッション確立部259により確立された第1通信セッションと、第2セッション確立部261により確立された第2通信セッションとを用いて、クラウドサーバー400とMFP100との間の通信を中継する。中継部270が、クラウドサーバー400とMFP100との間で通信を中継することにより、クラウドサーバー400とMFP100との間でデータの送受信が可能となる。中継部270は、第1通信セッションと第2通信セッションとを関連付け、第1通信セッションを介してクラウドサーバー400から受信されるデータを、第2通信セッションを介してMFP100に送信し、第2通信セッションを介してMFP100から受信されるデータを、第1通信セッションを介してクラウドサーバー400に送信する。
制御コマンド抽出部271は、第1通信セッションを介してクラウドサーバー400から受信するパケットのうち、制御コマンドを含むパケットを取得する。制御コマンドは、クラウドサーバー400がMFP100に宛てて送信するコマンドであり、MFP100に処理を実行させるためのコマンドである。制御コマンドは、MFP100に実行させる処理を特定する。制御コマンド抽出部271は、制御コマンドを含むパケットを取得することに応じて、制御コマンドを、実行可否判断部279および代理受信部275に出力する。
実行可否判断部279は、制御コマンド抽出部271から入力される制御コマンドで特定される処理を、確立時装置情報取得部263から入力されるMFP100の装置情報に基づいて、MFP100が実行可能か否かを判断する。実行可否判断部279は、MFP100が制御コマンドで特定される処理の実行が可能であると判断する場合、代理送信部285に制御コマンドを含む代理送信指示を出力する。また、実行可否判断部279は、MFP100が制御コマンドで特定される処理の実行が不可能であると判断する場合、制御コマンドがMFP100に出力されるのを保留する。具体的には、実行可否判断部279は、代理送信部285に制御コマンドを含む代理送信指示を出力することなく、第1通知部273に第1通知指示を出力するとともに、保留部281に保留指示を出力する。保留指示は制御コマンドを含む。
保留部281は、実行可否判断部279から保留指示が入力されることに応じて、保留指示に含まれる制御コマンドを一時記憶する。例えば、フラッシュメモリ204に制御コマンドを記憶する。
さらに、実行可否判断部279は、MFP100が制御コマンドで特定される処理の実行が不可能であると判断する場合、次に実行可能であると判断するまでの間、所定の時間間隔で取得指示を確立後装置情報取得部263に出力する。確立後装置情報取得部283は、実行可否判断部279から取得指示が入力されるごとに、第2通信セッションを介してMFP100から装置情報を取得し、取得された装置情報を実行可否判断部279に出力する。より具体的には、実行可否判断部279が、確立時装置情報取得部263によって取得された装置情報に基づいてMFP100が制御コマンドで特定される処理の実行が不可能であると判断する場合、確立後装置情報取得部283は、所定の時間間隔で、MFP100の装置情報を取得し、実行可否判断部279に装置情報を出力する。実行可否判断部279は、確立後装置情報取得部283からMFP100の装置情報が入力されるごとに、MFP100が制御コマンドで特定される処理の実行が可能か否かを判断する。
実行可否判断部279は、MFP100の装置情報に含まれる動作モードを参照して、MFP100の動作モードが、省電力モードの場合、MFP100が制御コマンドで特定される処理の実行が不可能であると判断する。MFP100は、動作モードを通常モードと、通常モードよりも消費電力の低い省電力モードとのいずれかに切り換える。MFP100が省電力モードの場合には、制御コマンドを送信しても、動作モードが通常モードに切り換わるまでの間、制御コマンドにより定まる処理を実行することができないからである。
制御コマンドで特定される処理は、ジョブを実行する処理、設定値を変更する処理、装置の状態を取得する処理を含む。実行可否判断部279は、制御コマンドがジョブを実行する処理を特定する場合、装置情報がMFP100で処理が実行されていることを示す否かを判断する。実行可否判断部279は、装置情報がMFP100で処理が実行されていないことを示す場合、制御コマンド抽出部271から入力される制御コマンドで特定される処理をMFP100が実行可能と判断する。
実行可否判断部279は、装置情報がMFP100で処理が実行されていることを示す場合、装置情報からMFP100で実行されている処理を特定し、MFP100が制御コマンドで特定される処理を、MFP100で実行されている処理と並列で実行可能か否かを判断する。例えば、制御コマンドで特定される処理がHDD116にデータを記憶する処理で、MFP100で実行されている処理が画像形成部140で画像を形成する処理ならば、並列で実行可能と判断する。また、制御コマンドで特定される処理がHDD116にデータを記憶する処理で、MFP100で実行されている処理が原稿読取部130で読み取った原稿をHDD115に記憶する処理ならば並列で実行不可能と判断する。実行可否判断部279は、制御コマンドで特定される処理をMFP100で実行されている処理と並列で実行可能と判断する場合は、制御コマンドで特定される処理を実行可能と判断し、制御コマンドで特定される処理をMFP100で実行されている処理と並列で実行可能でないと判断する場合は、制御コマンドで特定される処理を実行不可能と判断する。
並列で実行可能な2以上の処理と、並列で実行できない2以上の処理とを定めたテーブルを、予めMFP100から取得してフラッシュメモリ204に記憶しておくようにすればよい。また、そのテーブルを確立時装置情報取得部263がMFP100から取得する装置情報として、確立時装置情報取得部263がMFP100から取得するようにしてもよい。
実行可否判断部279は、MFP100の装置情報を参照して、制御コマンドで特定される処理がデータを記憶するデータ記憶処理の場合、HDD115が、データを記憶するための残容量を有するか否かを判断する。HDD115が、データを記憶するための残容量を有するならば制御コマンドで特定される処理を実行可能と判断するが、HDD115が、データを記憶するための残容量を有しないならば制御コマンドで特定される処理を実行不可能と判断する。
実行可否判断部279は、制御コマンドが設定値を変更する処理を特定する場合、装置情報が、MFP100が他のユーザーにより操作されていることを示すか否かを判断する。実行可否判断部279は、制御コマンドが設定値を変更する処理を特定する場合に、装置情報が、MFP100が他のユーザーにより操作されていることを示すならば、制御コマンドで特定される処理を実行不可能と判断し、装置情報がMFP100が他のユーザーにより操作されていないことを示すならば、制御コマンドで特定される処理を実行可能と判断する。他のユーザーにより設定された設定値が、他のユーザーの知らない間に変更されるのを防止するためである。
実行可否判断部279は、制御コマンドが状態情報を取得する処理を特定する場合、装置情報がMFP100で処理が実行されていることを示す否かを判断する。実行可否判断部279は、装置情報がMFP100で処理が実行されていないことを示す場合、制御コマンド抽出部271から入力される制御コマンドで特定される処理をMFP100が実行可能と判断するが、装置情報がMFP100で処理が実行されていることを示す場合、制御コマンド抽出部271から入力される制御コマンドで特定される処理をMFP100が実行不可能と判断する。MFP100がジョブを実行することにより状態情報が変化する場合があるからである。
状態情報は、履歴情報と、メンテナンス情報と、登録情報と、を含む。履歴情報は、MFP100がジョブを実行した結果を含む。履歴情報は、たとえば、原稿に画像を形成する画像形成処理を実行した結果を示す画像形成実績情報、ファクシミリデータを送受信するファクシミリ送受信処理を実行した結果を示すファクシミリ送受信実績情報、原稿を読み取って画像データを出力するスキャン処理を実行した結果を示すスキャン実績情報を含む。画像形成実績情報は、ジョブを指示したユーザーのユーザー識別情報、画像形成条件、印刷枚数、実行日時等を含む。ファクシミリ送受信実績情報は、ジョブを指示したユーザーのユーザー識別情報、ファクシミリの送信先または受信元の番号、送信または受信の状態情報、および送信または受信した日時等を含む。スキャン実績情報は、ジョブを指示したユーザーのユーザー識別情報、原稿読取条件、スキャンデータの保存先または送信先、スキャンデータのファイル名、および実行日時等を含む。また、履歴情報は、エラーが発生した場合に記憶されるエラー情報を含む。エラー情報は、日時、ジョブの名称、エラーの原因等を含む。
メンテナンス情報は、MFP100が有する消耗品の使用量を示す消耗品情報および交換時期情報である。消耗品情報は、消耗品の残量を含む。消耗品は、例えば、用紙、感光体ドラム、トナー、転写ベルトを含む。交換時期情報は、消耗品それぞれに対して使用量から算出される交換時期を示す。交換時期の単位は、処理を実行した回数、例えば、画像形成処理あれば画像形成する用紙の枚数である。なお、交換時期の単位を期間としてもよい。
登録情報は、MFP100に登録された基本情報を含む。基本情報は、例えば、MFP100の使用が許可されたユーザーに関する情報、ユーザー別に実行可能なジョブを制限するための制限情報、電子メールまたはファクシミリの送信先を示すアドレス情報を含む。
代理受信部275は、制御コマンド抽出部271から入力される制御コマンドがデータを処理させるコマンドの場合、第1通信セッションを介して制御コマンドとともに受信される処理対象となるデータを取得する。代理受信部275は、取得されたデータを保留部281に出力する。
保留部281は、実行可否判断部279から保留指示が入力されない場合、代理受信部275から入力されるデータを代理データ送信部287に出力するが、保留指示が入力される場合、代理受信部275から入力されるデータを、一時記憶する。保留部281がデータを記憶する先は、例えば、フラッシュメモリ204である。また、MFP100とは別のMFP100A,100BのいずれかのHDD116に記憶するようにしてもよい。保留部281は、データを記憶した位置を示す位置情報を代理データ送信部287に出力する。
代理送信部285は、実行可否判断部279から代理送信指示が入力されることに応じて、代理送信指示に含まれる制御コマンドを、第2通信セッションを介して、クラウドサーバー400に代わってMFP100に送信する。代理送信部285は、制御コマンドの送信元がクラウドサーバー400であることを示す情報を制御コマンドに付して送信する。
代理送信部285は、代理送信指示に含まれる制御コマンドがデータを処理させるコマンドの場合、保留部281から入力されるデータを、第2通信セッションを介して、制御コマンドとともにMFP100に送信する。また、代理送信部285は、保留部281によってデータが一時的に記憶されている場合には、保留部281にそのデータの出力を依頼することによって、データを取得し、第2通信セッションを介して、制御コマンドとともにMFP100に送信する。代理送信部285は、制御コマンドをMFP100に送信する場合、制御コマンドをMFP100に送信したことを示す信号を実行結果受信部289に出力する。
第1通知部273は、実行可否判断部279から第1通知指示が入力されることに応じて、第1通信セッションを介して、MFP100が処理を実行できないことを示す情報を、MFP100に代わってクラウドサーバー400に送信する。MFP100が処理を実行できないことを示す情報は、送信元がMFP100であることを示す情報を含む。
実行結果受信部289は、代理送信部285から制御コマンドをMFP100に送信したことを示す信号が入力された後、MFP100から第2通信セッションを介して実行結果を受信する。実行結果受信部289は、受信された実行結果を第2通知部277に出力する。
第2通知部277は、実行結果受信部289から実行結果が入力されることに応じて、第1通信セッションを介して、実行結果を、クラウドサーバー400にMFP10に代わって送信する。実行結果は、送信元がMFP100であることを示す情報を含む。
図7は、中継処理の流れの一例を示すフローチャートである。中継処理は、ゲートウェイ装置200が備えるCPU201が、ROM202、フラッシュメモリ204またはCD−ROM209Aに記憶された中継プログラムを実行することにより、CPU201により実行される処理である。図7を参照して、ゲートウェイ装置200が備えるCPU201は、第1通信部205を制御して管理サーバー300との間で常時接続セッションを確立する(ステップS01)。フラッシュメモリ204に記憶されている管理サーバー300のグローバルIPアドレスを用いて管理サーバー300に通信セッションの確立要求を送信し、管理サーバー300と所定のネゴシエーションをすることによって常時接続セッションを確立する。常時接続セッションは、特に限定するものではないが、例えば、XMPPに基づくメッセージセッションである。
次のステップS02においては、ファイアーウォールの内側のLAN3に接続された装置を検索する。LAN3にブロードキャストで問い合わせを送信し、MFP100,100A,100Bそれぞれから返信される装置識別情報を取得することによって、MFP100,100A,100Bを検索する。装置識別情報は、限定するものではないが、MFP100,100A,100Bそれぞれに対してLAN3において割り当てられたローカルIPアドレスである。
次のステップS03においては、ステップS02において検出されたMFP100,100A,100Bのうちから処理対象となる1台を選択する。ここではMFP100を選択する場合を例に説明する。
ステップS04においては、処理対象に選択されたMFP100から装置情報を取得する。装置情報は、MFP100の状態を示す情報であり、実行中のジョブに関する情報、操作中状態、エラーの発生状態、オプション機器の構成、ファームウェアプログラムのバージョン情報、アプリケーションプログラムのバージョン情報、HDD116の残容量、プリント枚数のカウンター値、待機ジョブの数、設定値、を含む。
ステップS05においては、MFP100の装置情報をフラッシュメモリ204に記憶し、処理をステップS06に進める。ステップS06においては、処理対象に選択されているMFP100についてステップS02において検出された装置識別情報を、ステップS01において確立された常時接続セッションを介して管理サーバー300に送信し、処理をステップS07に進める。これにより、管理サーバー300は、ゲートウェイ装置200に接続されたMFP100を認識することができる。
ステップS07においては、ステップS02において検出されたMFP100,100A,100Bのうちで、ステップS03において処理対象に未だ選択されていない装置が存在するか否かを判断する。未選択の装置が存在するならば、処理をステップS03に戻すが、そうでなければ処理をステップS08に進める。ステップS08においては、トンネル接続処理を実行し、処理をステップS09に進める。ステップS09においては、電源がOFFになったか否かを判断する。電源がオフになったならば処理を終了するが、そうでなければ処理をステップS08に戻す。
図8は、トンネル接続処理の流れの一例を示すフローチャートである。トンネル接続処理は、図7のステップS08において、実行される処理である。図8を参照して、CPU201は、ステップS10においては、常時接続セッションを介して管理サーバー300から、トンネル接続要求を受信したか否かを判断する。トンネル接続要求を受信したならば、処理をステップS11に進めるが、そうでなければ処理を中継処理に戻す。
ステップS11においては、トンネル接続要求から接続元のアドレス情報を抽出する。そして、接続元のアドレス情報に基づいて接続元の装置を特定する(ステップS12)。ここでは、トンネル接続要求が、接続元のアドレス情報としてMFP100のアドレス情報を含み、接続先を特定するアドレス情報としてクラウドサーバー400のアドレス情報を含む場合を例に説明する。この場合、MFP100を接続元の装置に特定する。
次のステップS13においては、第2通信部206を制御して、接続元の装置に特定されたMFP100との間で第2通信セッションを確立する。ステップS12において、接続元の装置に特定されたMFP100に通信セッションの確立要求を送信し、MFP100との間で第2通信セッションを確立する。第2通信セッションを確立したならば、処理をステップS14に進めるが、MFP100との間で第2通信セッションを確立できなければ処理をステップS25に進める。MFP100との間で第2通信セッションを確立できない場合は、例えば、MFP100に電源が投入されていない場合、MFP100が通信できないトラブル状態の場合等である。ステップS25においては、MFP100の装置識別情報と、装置情報と、トンネル接続に失敗したことを示す印とを含むトンネル接続結果を、常時接続セッションを介して管理サーバー300に送信し、処理をステップS25に進める。
ステップS14においては、第2通信セッションを介してMFP100から装置情報を取得する。次のステップS15においては、MFP100の装置識別情報と、装置情報と、トンネル接続に成功したことを示す印とを含むトンネル接続結果を、常時接続セッションを介して管理サーバー300に送信し、処理をステップS16に進める。
ステップS16においては、ステップS10において受信されたトンネル接続要求から接続先のアドレス情報を抽出する。ここでは、トンネル接続要求が、接続先を特定するアドレス情報としてクラウドサーバー400のアドレス情報を含むので、クラウドサーバー400のアドレス情報を抽出する。次のステップS17においては、第1通信部205を制御して、接続先のアドレス情報を用いて、クラウドサーバー400との間で第1通信セッションを確立する。ステップS16において抽出されたクラウドサーバー400のアドレス情報にアクセスすることによって、クラウドサーバー400との間で第1通信セッションを確立する。
ステップS18においては、制御コマンドを受信したか否かを判断する。制御コマンドを受信するまで待機状態となり(ステップS18でNO)、制御コマンドを受信したならば処理をステップS19に進める。第1通信セッションを介してクラウドサーバー400から受信するパケットのうち、制御コマンドを含むパケットを取得する。制御コマンドは、クラウドサーバー400がMFP100に宛てて送信するコマンドであり、MFP100に処理を実行させるためのコマンドである。制御コマンドは、MFP100に実行させる処理を特定する。
ステップS19においては、制御コマンドを含むパケットのメッセージヘッダに記述されているフラグがONに設定されているか否かを判断する。フラグは、クラウドサーバー400によって設定され、予めONかOFFのいずれかに設定される。クラウドサーバー400において、デフォルトで設定するようにしてもよいし、クラウドサーバー400をクライアント端末で操作するユーザーが設定するようにしてもよい。フラグがONに設定されているならば処理をステップS20に進めるが、そうでなければ処理をステップS22に進める。
ステップS20においては、実行可否判断処理を実行し、処理をステップS21に進める。実行可否判断処理の詳細は後述するが、ステップS14においてMFP100から取得された装置情報に基づいて、ステップS18において受信された制御コマンドにより定まる処理を、MFP100が実行可能か否かを判断する処理である。なお、ステップS14においてMFP100の装置情報が取得された時点から、ステップS20が実行されるまでの期間が、所定の時間以上となる場合には、MFP100の装置情報を取得して、取得された装置情報に基づいて、実行可否判断処理を実行するようにしてもよい。トンネル接続要求を受信してから制御コマンドを受信するまでの間が、所定の時間以上となる場合がある。所定の時間が経過することにより、MFP100の状態が変化するからである。
ステップS21においては、実行可否判断処理による判断結果に従って処理を分岐させる。実行可否判断処理の結果が、制御コマンドにより定まる処理を実行可能であることを示すならば処理をステップS22に進めるが、そうでなければ処理をステップS26に進める。ステップS26においては、代理中継処理を実行し、処理をステップS27に進める。代理中継処理の詳細は後述する。
ステップS22においては、制御コマンドをクラウドサーバー400に代わってMFP100に第2通信セッションを介して送信し、処理をステップS23に進める。制御コマンドの送信元が、クラウドサーバー400であることを示す情報を制御コマンドに付して送信する。
ステップS23においては、第1通信セッションと第2通信セッションとを用いて、クラウドサーバー400とMFP100との間の通信を中継する。例えば、制御コマンドがデータを処理させるコマンドの場合、制御コマンドとともに受信される処理対象となるデータを第1通信セッションを介して受信し、受信されたデータをクラウドサーバー400に代わってMFP100に第2通信セッションを介して送信する。また、MFP100から実行結果を第2通信セッションを介して受信する場合、実行結果を、クラウドサーバー400にMFP10に代わって第1通信セッションを介して送信する。実行結果は、送信元がMFP100であることを示す情報を含む。
次のステップS24においては、通信が終了したか否かを判断する。例えば、第1通信セッションを介して、クラウドサーバー400から通信終了通知を受信する場合に、通信が終了したと判断する。通信が終了したと判断するまで待機状態となり(ステップS24でNO)、通信が終了したと判断する場合は(ステップS24でYES)、処理をステップS27に進める。ステップS27においては、ステップS13において確立した第2通信セッションを切断し、処理を中継処理に戻す。
図9は、代理中継処理の流れの一例を示すフローチャートである。代理中継処理は、図7に示した中継処理のステップS26において実行される処理である。代理中継処理が実行される前の段階で、クラウドサーバー400から制御コマンドから受信されている。図9を参照して、CPU201は、制御コマンドを一時記憶する。例えば、RAM203に制御コマンドを記憶する。次のステップS32においては、クラウドサーバー400からデータを受信したか否かを判断する。第1通信セッションを介してクラウドサーバー400から受信するパケットのうち、制御コマンドにより定める処理の対象となるデータを含むパケットを取得する。データを受信したならば処理をステップS33に進めるが、そうでなければ処理をステップS34に進める。ステップS33においては、クラウドサーバー400から受信されたデータを一時記憶し、処理をステップS34に進める。例えば、データをフラッシュメモリ204に記憶する。また、MFP100とは別の、MFP100A,100Bのいずれかにデータを送信し、記憶させてもよい。
ステップS34においては、クラウドサーバー400に、保留通知を送信し、処理をステップS35に進める。具体的には、第1通信セッションを介して、MFP100が処理を実行できないことを示すメッセージを、MFP100に代わってクラウドサーバー400に送信する。保留通知は、送信元がMFP100であることを示す情報を含む。
次のステップS35においては、MFP100から装置情報を取得し、処理をステップS36に進める。MFP100との間で確立されている第2通信セッションを介して、MFP100から装置情報を取得する。ステップS36においては、実行可否判断処理を実行し、処理をステップS37に進める。ステップS36において実行される実行可否判断処理の詳細は後述するが、ステップS35においてMFP100から取得された装置情報に基づいて、ステップS31において記憶された制御コマンドにより定まる処理を、MFP100が実行可能か否かを判断する処理である。
ステップS37においては、ステップS36における実行可否判断処理による判断結果が、制御コマンドにより定まる処理を実行可能であることを示すならば処理をステップS38に進めるが、そうでなければ処理をステップS35に戻す。ステップS38においては、ステップS33においてRAM203に記憶された制御コマンドを読み出す。そして、読み出された制御コマンドを、クラウドサーバー400に代わってMFP100に第2通信セッションを介して送信し(ステップS39)、処理をステップS40に進める。制御コマンドの送信元が、クラウドサーバー400であることを示す情報を制御コマンドに付して送信する。
ステップS40においては、クラウドサーバー400から受信されたデータが存在するか否かを判断する。上述したステップS33が実行されて、フラッシュメモリ204またはMFP100A,100Bのいずれかにデータが記録されているか否かを判断する。クラウドサーバー400から受信されたデータが存在するならば、処理をステップS41に進めるが、そうでなければ処理をステップS42に進める。ステップS41においては、フラッシュメモリ204またはMFP100A,100Bのいずれかに記憶されたデータをクラウドサーバー400に代わってMFP100に第2通信セッションを介して送信し、処理をステップS42に進める。
ステップS42においては、第2通信セッションを介してMFP100から実行結果を受信したか否かを判断する。実行結果を受信するまで待機状態となり、実行結果を受信したならば処理をステップS43に進める。ステップS43においては、MFP100から受信された実行結果を、クラウドサーバー400にMFP10に代わって第1通信セッションを介して送信し、処理を中継処理に戻す。実行結果は、送信元がMFP100であることを示す情報を含む。
図10は、実行可否判断処理の流れの一例を示すフローチャートである。実行可否判断処理は、図7に示した中継処理のステップS20、および図9に示した代理中継処理のステップS36において実行される処理である。実行可否判断処理が実行される前の段階で、制御コマンドおよび装置情報が取得されている。
図10を参照して、CPU201は、MFP100の装置情報を参照して、MFP100の動作モードが省電力モードか否かを判断する(ステップS51)。MFP100は、動作モードを通常モードと、通常モードよりも消費電力の低い省電力モードとのいずれかに切り換える。動作モードが省電力モードならば処理をステップS68に進めるが、そうでなければ処理をステップ52に進める。ステップS68においては、返り値に実行不可を設定し、処理を中継処理に戻す。MFP100が省電力モードの場合には、制御コマンドを送信しても、動作モードが通常モードに切り換わるまでの間、制御コマンドにより定まる処理を実行することができないからである。
ステップS52においては、制御コマンドで特定される処理がジョブの実行を指示するジョブ実行処理か否かを判断する。制御コマンドで特定される処理がジョブ実行処理ならば処理をステップS53に進めるが、そうでなければ処理をステップS60に進める。ステップS53においては、装置情報がMFP100でジョブを実行中であることを示す否かを判断する。装置情報がMFP100でジョブを実行中であることを示すならば、処理をステップS54に進めるが、そうでなければ処理をステップS58に進める。
ステップS54においては、制御コマンドで特定されるジョブ実行処理と、装置情報で特定されるMFP100で実行中のジョブとを、MFP100が並列で実行可能か否かを判断する。MFP100が2つの処理を並列で実行可能ならば処理をステップS55に進めるが、そうでなければ処理をステップS59に進める。例えば、制御コマンドで特定される処理がHDD116にデータを記憶する処理で、MFP100で実行されている処理が画像形成部140で画像を形成する処理ならば、並列で実行可能と判断するが、MFP100で実行されている処理が原稿読取部130で読み取った原稿をHDD115に記憶する処理ならば並列で実行不可と判断する。並列で実行可能な処理と、並列で実行できない処理とを定めたテーブルを、予めMFP100から取得してフラッシュメモリ204に記憶しておくようにすればよい。
ステップS55においては、制御コマンドで特定されるジョブ実行処理が、データを記憶するデータ記憶処理か否かを判断する。データ記憶処理ならば処理をステップS56に進めるが、そうでなければステップS56をスキップして処理をステップS57に進める。ステップS56においては、MFP100の装置情報を参照して、MFP100のHDD115がデータを記憶するだけの記憶容量を有するか否かを判断する。データを記憶するだけの記憶容量を有するならば処理をステップS57に進めるが、そうでなければ処理をステップS59に進める。
ステップS57においては、MFP100の装置情報を参照して、MFP100がトラブル中か否かを判断する。ここでは、制御コマンドで特定されるジョブ実行処理を実行することができないトラブルが発生しているか否かを判断する。例えば、ジョブ実行処理が、画像形成処理の場合には、用紙切れ、用紙の詰まり等の状態は、トラブルが発生していると判断する。MFP100がトラブル中の場合には、処理をステップS59に進めるが、そうでなければ処理をステップ58に進める。
ステップS58においては、返り値に実行可を設定し、処理をステップS60に進める。一方、ステップS59においては、返り値に実行不可を設定し、処理をステップS60に進める。
ステップS60においては、制御コマンドで特定される処理が設定値を変更する設定値変更処理か否かを判断する。制御コマンドで特定される処理が設定値変更処理ならば処理をステップS61に進めるが、そうでなければ処理をステップS64に進める。ステップS61においては、装置情報がMFP100が他のユーザーにより操作されていることを示すか否かを判断する。装置情報がMFP100が他のユーザーにより操作されていることを示すならば、処理をステップS63に進めるが、そうでなければ処理をステップS62に進める。ステップS62においては、返り値に実行可を設定し、処理をステップS67に進める。一方、ステップS63においては、返り値に実行不可を設定し、処理をステップS67に進める。
ステップS64においては、制御コマンドで特定される処理がMFP100の状態を取得する状態取得処理か否かを判断する。制御コマンドで特定される処理が状態取得処理ならば処理をステップS65に進めるが、そうでなければ処理を中継処理に戻す。ステップS65においては、装置情報がMFP100でジョブを実行中であることを示す否かを判断する。装置情報がMFP100でジョブを実行中であることを示すならば、処理をステップS66に進めるが、そうでなければ処理をステップS67に進める。ステップS66においては、返り値に実行可を設定し、処理を中継処理に戻す。一方、ステップS67においては、返り値に実行不可を設定し、処理を中継処理に戻す。
図11は、トンネル接続支援処理の流れの一例を示すフローチャートである。トンネル接続支援処理は、管理サーバー300が備えるCPU301が、ROM302、HDD304またはCD−ROM309Aに記憶されたプログラムを実行することにより、CPU301により実行される処理である。図11を参照して、CPU301は、常時接続セッションの確立要求を受信したか否かを判断する(ステップS101)。通信部305が、ゲートウェイ装置200から常時接続のための通信セッションの確立要求を受信したか否かを判断する。常時接続セッションの確立要求を受信したならば処理をステップS102に進めるが、そうでなければ処理をステップS104に進める。
ステップS102においては、ゲートウェイ装置200との間で常時接続セッションを確立し、処理をステップS103に進める。ステップS103においては、常時接続セッションを介して、ゲートウェイ装置200からMFPの装置識別情報を取得する。ここでは、MFP100,100A,100Bそれぞれの装置識別情報を取得する場合を例に説明する。
ステップS104においては、グローバルセッションの確立要求を受信したか否かを判断する。通信部305が、ファイアーウォールの外部に位置するクラウドサーバー400からグローバルセッションの確立要求を受信したか否かを判断する。グローバルセッションの確立要求を受信したならば処理をステップS105に進めるが、そうでなければ処理をステップS101に戻す。ステップS105においては、クラウドサーバー400との間でグローバルセッションを確立し、処理をステップS106に進める。
ステップS106においては、装置選択画面をクラウドサーバー400にグローバルセッションを介して送信する。装置選択画面は、ゲートウェイ装置200の装置識別情報と、MFP100,100A,100Bそれぞれの装置識別情報と、を含み、ゲートウェイ装置200と、MFP100,100A,100Bのいずれかと、を選択可能な画面である。
クラウドサーバー400においては、装置選択画面を受信することにより、トンネル接続する相手の装置を特定することができる。例えば、クライドサーバー400が、装置選択画面をディスプレイに表示し、クラウドサーバー400を操作するユーザーが、装置選択画面に従って選択した装置を、接続する相手の装置として特定する。ここでは、クラウドサーバー400を操作するユーザーにより、ゲートウェイ装置200とMFP100とが選択された場合を例に説明する。クラウドサーバー400においては、接続先の装置として、ゲートウェイ装置200とMFP100とが選択されると、接続要求を管理サーバー300にグローバルセッションを介して送信する。接続要求は、送信元のアドレス情報としてMFP100のアドレス情報と、送信先のアドレス情報としてクラウドサーバー400のアドレス情報とを含む。MFP100のアドレス情報は、ゲートウェイ装置200の装置識別情報とMFP100の装置識別情報とを含む。クラウドサーバー400のアドレス情報は、MFP100からクラウドサーバー400にアクセスするためのURLである。URLには、クラウドサーバー400のアドレス(ドメイン名)、ウェブページの識別子、クラウドサーバー400が実行するジョブの識別子(ジョブID)、および待ち受けポートのポート番号が含まれる。
ステップS107においては、接続要求をクラウドサーバー400から受信したか否かを判断する。接続要求を受信するまで待機状態となり(ステップS107でNO)、接続要求を受信したならば(ステップS107でYES)、処理をステップS108に進める。
ステップS108においては、トンネル接続要求をゲートウェイ装置200にステップS101において確立された常時接続セッションを介して送信する。トンネル接続要求は、接続要求を、常時接続セッションにより定まるプロトコルに適合するようにカプセル化したパケットである。トンネル接続要求を受信するゲートウェイ装置200は、MFP100との間で第2通信セッションを確立し、その結果としてトンネル接続結果を返信する。
ステップS109においては、ゲートウェイ装置200からトンネル接続結果を常時接続セッションを介して受信したか否かを判断する。トンネル接続結果を受信するまで待機状態となり(ステップS109でNO)、トンネル接続結果を受信したならば(ステップS109でYES)、処理をステップS110に進める。トンネル接続結果は、トンネル接続に成功したことを示す印と装置情報とを含むトンネル接続結果と、トンネル接続に失敗したことを示すトンネル接続結果とを含む。
ステップS110においては、トンネル接続結果に含まれる装置情報をHDD304に記憶し、処理をステップS111に進める。トンネル接続結果が装置情報を含むならば、HDD304に記憶されている装置情報を、トンネル接続結果に含まれる装置情報で更新する。また、トンネル接続結果がトンネル接続に失敗したことを示す場合、HDD304に記憶されている装置情報を、更新しない。
ステップS111においては、ステップS105において確立されたグローバルセッションを切断し、処理を終了する。
図12は、装置制御処理の流れの一例を示すフローチャートである。装置制御処理は、クラウドサーバー400が備えるCPUがサービスを提供するためのプログラムを実行することにより、そのCPUにより実行される処理である。ここでは、クラウドサーバー400が実行する処理のうち、クラウドサーバー400がMFP100に処理を実行させる処理を主に示している。図12を参照して、クラウドサーバー400が備えるCPUは、管理サーバーの指定を受け付ける(ステップS201)。ユーザーがMFP100を指定するために入力する管理サーバー300のグローバルIPアドレスを受け付ける。
次のステップS202においては、ステップS201において指定された管理サーバー300との間でグローバルセッションの確立要求を送信する。次のステップS203においては、管理サーバー300とネゴシエーションすることによって、管理サーバー300との間の通信セッションとしてグローバルセッションを確立する。なお、この場合、管理サーバー300は、管理サーバー300に登録されたユーザーであることを認証するために認証情報を要求し、認証に成功することを条件に、通信セッションであるグローバルセッションを確立するようにしてもよい。これにより、ファイアーウォールの内部のMFP100,100A,100Bに対してアクセス可能なユーザーを、管理サーバー300に登録されたユーザーに制限することができる。
次のステップS204においては、トンネル接続装置の指定を受け付ける。グローバルセッションを介して管理サーバー300から受信される装置選択画面を表示し、クラウドサーバー400を操作するユーザーによりトンネル接続の対象装置として選択された装置の装置識別情報を特定する。装置選択画面は、ゲートウェイ装置200の装置識別情報と、MFP100,100A,100Bそれぞれの装置識別情報と、を含み、ゲートウェイ装置200と、MFP100,100A,100Bのいずれかと、を選択可能な画面である。ここでは、ゲートウェイ装置200とMFP100が選択された場合を例に説明する。
次のステップS205においては、接続要求を管理サーバー300に、ステップS203において確立されたグローバルセッションを介して送信する。接続要求は、送信元のアドレス情報としてMFP100のアドレス情報と、送信先のアドレス情報としてURLを含む。URLは、クラウドサーバー400のアドレス(ドメイン名)、ウェブページの識別子、クラウドサーバー400が実行するジョブの識別子(ジョブID)、および待ち受けポートのポート番号を含む。
次のステップS206においては、通信セッションの確立要求を受信したか否かを判断する。ここでの確立要求は、接続要求に対応する。具体的には、確立要求は、接続要求に含まれるURLへのアクセスである。通信セッションの確立要求を受信したならば処理をステップS207に進めるが、そうでなければ処理をステップS215に進める。ステップS215においては、タイムアウトエラーをユーザーに通知し、処理を終了する。
ステップS207においては、通信セッションの確立要求に対応する第1通信セッションを確立し、処理をステップS208に進める。
ステップS208においては、制御コマンドを第1通信セッションを介して送信する。制御コマンドの送信先はゲートウェイ装置200であるが、上述したように第1通信セッションを介して送信されるデータは、ゲートウェイ装置200とMFP100との間で確立された常時接続セッションを介して、ゲートウェイ装置200によってMFP100に送信される。このため、制御コマンドは実際にはMFP100に送信される。
次のステップS209においては、保留通知を第1通信セッションを介して受信したか否かを判断する。保留通知を受信したならば処理をステップS210に進めるが、そうでなければ処理をステップS211に進める。ステップS210においては、受信された保留通知を、クラウドサーバー400に接続されたクライアント端末に表示し、処理をステップS210に進める。クラウドサーバー400に接続されたクライアント端末は、クラウドサーバー400を操作するユーザーが、クラウドサーバー400を遠隔操作するために使用するPCである。このため、クラウドサーバー400を操作するユーザーに、制御コマンドに基づく処理が、MFP100で実行されることなく保留されていることを通知することができる。
ステップS211においては、MFP100に送信するデータが存在するか否かを判断する。例えば、制御コマンドがファームウェアの更新処理を示す場合に、更新プログラムがデータとして存在する。また、制御コマンドからデータを記憶する処理を示す場合に、記憶の対象となるデータが存在する。データが存在するならば処理をステップS212に進めるが、そうでなければ処理をステップS213に進める。ステップS212においては、データを第1通信セッションを介して送信し、処理をステップS213に進める。データの送信先は、制御コマンドと同様にゲートウェイ装置200であるが、実際にはMFP100に送信される。
ステップS213においては、実行結果を第1通信セッションを介して受信したか否かを判断する。実行結果を受信したならば、受信された実行結果を、クラウドサーバー400に接続されたクライアント端末に表示し、処理をステップS214に進めるが、そうでなければ処理をステップS209に戻す。これにより、クラウドサーバー400を操作するユーザーに、制御コマンドに基づく処理が、MFP100で実行された結果を通知することができる。ステップS214においては、ステップS203において確立されたグローバルセッションを切断し、処理を終了する。
以上説明したように本実施の形態におけるゲートウェイ装置200は、ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置されたMFP100とファイアーウォールの外部のクラウドサーバー400との間の通信を中継する中継装置として機能する。そして、ゲートウェイ装置200は、クラウドサーバー400とMFP100との間の通信を中継する際に、MFP100から装置情報を取得し、取得された装置情報に基づいて、クラウドサーバー400からMFP100に宛てて送信される制御コマンドにより特定される処理をMFP100が実行可能か否かを判断し、実行不可能と判断される場合、制御コマンドを一時記憶し、制御コマンドが一時記憶された後にMFP100から取得された装置情報に基づいて、実行可能と判断されることに応じて、一時記憶された制御コマンドを、クラウドサーバー400に代わってMFP100に送信する。このため、MFP100が、制御コマンドにより特定される処理を実行できない場合に、制御コマンドを送信しないので、MFP100は制御コマンドに対応する処理を実行する必要がなく、いので負荷が増加しないようにすることができる。また、クラウドサーバー400は、MFP100が処理を実行できるか否かに係わりなく、制御コマンドを送信すればよいので、MFP100の状態を判断するための処理を実行する必要がなく、負荷が増大することがない。その結果、クラウドサーバー400およびMFP100間のファイアーウォールを介した通信の効率を改善することができる。
また、ゲートウェイ装置200は、制御コマンドを一時記憶する場合、MFP100に代わって、制御コマンドを保留したことをクラウドサーバー400に通知するので、クラウドサーバー400を操作するユーザーにMFP100によって処理が実行されていないことを通知することができる。
また、ゲートウェイ装置200は、MFP100が送信する実行結果が受信されることに応じて、MFP100に代わって、実行結果をクラウドサーバー400に通知するので、クラウドサーバー400を操作するユーザーにMFP100による処理が終了したことを通知することができる。
また、ゲートウェイ装置200は、制御コマンドを記憶する前の段階では、制御コマンドが受信されるより前にMFP100から取得された装置情報に基づいて、実行可否を判断する。このため、制御コマンドが受信された後でMFP100から装置情報を取得する必要がないので、MFP100の負荷を小さくするとともに、実行可否を判断するまでの時間を短くすることができる。
また、ゲートウェイ装置200は、制御コマンドが受信された時点でMFP100の装置情報に基づいて実行不可能と判断する場合であって、制御コマンドがデータを記憶するコマンドの場合、MFP100に代わって、クラウドサーバー400から送信されるデータを受信し、MFP100とは別のフラッシュメモリ204またはMFP100A,100Bに受信されたデータを記憶させ、制御コマンドをMFP100に送信した後に、フラッシュメモリ204またはMFP100A,100Bからデータを取得し、クラウドサーバー400に代わって、取得されたデータをMFP100に送信する。このため、クラウドサーバー400は、データをMFP100に送信するので、制御コマンドを送信した後に待ち時間なく直ちにデータを送信することができる。また、クラウドサーバー400が送信したデータをフラッシュメモリ204またはMFP100A,100Bに記憶するので、データがMFP100に送信される前に消滅することがなく、MFP100に正しく送信することができる。
また、ファイアーウォールの外部の管理サーバー300との間で常時接続セッションを確立し、管理サーバー300がクラウドサーバー400から受信する接続要求を常時接続セッションを介して受信し、受信された接続要求に含まれる接続先であるクラウドサーバー400のアドレス情報を用いて第1通信セッションを確立し、受信された接続要求に含まれる接続元であるMFP100のアドレス情報で特定されるMFP100との間で第2通信セッションを確立する。このため、制御対象装置であるMFP100とクラウドサーバー400との間で、ファイアーウォールを介して通信することができる。
MFP100は、ゲートウェイ装置200を備え、クラウドサーバー400による制御の対象となる制御対象装置である。
また、MFP100は、ゲートウェイ装置200を備えた画像形成装置であって、ゲートウェイ装置200は、MFP100、およびファイアーウォールの内部に配置された他のMFP100A,100Bのうちからクラウドサーバー400を操作するユーザーにより選択された1つとの間で、第2の通信セッションを確立し、選択された1つとクラウドサーバー400との間の通信を中継する。このため、クラウドサーバー400およびファイアーウォールの内部に配置されたMFP100,100A,100Bのいずれかとの間の通信の効率を改善することができる。
なお、上述した実施の形態においては、中継装置の一例としてゲートウェイ装置200を例に説明したが、図7〜図10に示した中継処理を、ゲートウェイ装置200に実行させる中継方法、またはその中継方法をゲートウェイ装置200を制御するCPU201に実る中継プログラムとして、発明を特定することができるのは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
<付記>
前記実行可否判断手段は、前記保留手段により前記制御コマンドが記憶される前の段階において、前記装置情報取得手段により装置情報が取得されてから所定の時間が経過している場合には、前記制御コマンドが受信されるより後に前記装置情報取得手段により取得された装置情報に基づいて、実行可否を判断する、請求項4に記載の中継装置。
1 情報処理システム、3 LAN、5 インターネット、100,100A,100B MFP、200 ゲートウェイ装置、300 管理サーバー、400 クラウドサーバー、110 メイン回路、111 CPU、112 通信I/F部、113 ROM、114 RAM、115 HDD、116 ファクシミリ部、117 外部記憶装置、118 CD−ROM、120 自動原稿搬送装置、120 原稿読取部、130 原稿読取部、140 画像形成部、150 給紙部、155 後処理部、160 操作パネル、161 表示部、163 操作部、165 タッチパネル、167 ハードキー部、、201 CPU、202 ROM、203 RAM、204 フラッシュメモリ、205 第1通信部、206 第2通信部、209 外部記憶装置、241 接続装置情報取得部、250 第1通信制御部、251 常時接続セッション確立部、253 装置識別情報送信部、255 トンネル接続要求受信部、257 接続結果送信部、259 第1セッション確立部、260 第2通信制御部、261 第2セッション確立部、263 確立時装置情報取得部、270 中継部、271 制御コマンド抽出部、273 第1通知部、275 代理受信部、277 第2通知部、279 実行可否判断部、281 保留部、283 確立後装置情報取得部、285 代理送信部、287 代理データ送信部、289 実行結果受信部、301 CPU、302 ROM、303 RAM、304 HDD、305 通信部、306 表示部、307 操作部、309 外部記憶装置、351 サーバー側確立部、353 グローバル確立部、371 装置識別情報受信部、373 トンネル接続要求部、375 接続結果受信部、377 装置情報管理部、381 装置情報送信部、383 接続要求受信部、385 接続確認部。

Claims (11)

  1. ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置された制御対象装置と接続された中継装置であって、
    ファイアーウォールの外部のクラウドサーバーとの間で第1通信セッションを確立する第1セッション確立手段と、
    前記制御対象装置との間で第2通信セッションを確立する第2セッション確立手段と、
    前記制御対象装置に関する装置情報を取得する装置情報取得手段と、
    前記第1通信セッションと前記第2通信セッションとを用いて、前記クラウドサーバーと前記制御対象装置との間の通信を中継する中継手段と、を備え、
    前記中継手段は、前記装置情報取得手段により取得された装置情報に基づいて、前記クラウドサーバーから前記第1通信セッションを介して受信される前記制御対象装置に対する制御コマンドにより特定される処理を前記制御対象装置が実行可能か否かを判断する実行可否判断手段と、
    前記第1通信セッションを介して前記制御コマンドが受信された時点で前記装置情報取得手段により取得された装置情報に基づいて前記実行可否判断手段により実行不可能と判断される場合であって、前記制御コマンドがデータを記憶するコマンドの場合、前記制御対象装置に代わって、前記クラウドサーバーから送信されるデータを、前記第1通信セッションを介して受信する代理受信手段と、
    前記クラウドサーバーから前記制御コマンドが受信されることに応じて、前記装置情報取得手段により取得された装置情報に基づいて、前記実行可否判断手段により実行不可能と判断される場合、ファイアーウォールの内部に配置され、前記制御対象装置とは別の記憶装置に前記受信されたデータを記憶させ、前記制御コマンドの出力を保留する保留手段と、
    前記保留手段により前記制御コマンドが保留された後に前記装置情報取得手段により取得された装置情報に基づいて、前記実行可否判断手段により実行可能と判断されることに応じて、前記保留手段により保留された制御コマンドを、前記第通信セッションを介して前記クラウドサーバーに代わって前記制御対象装置に送信する代理送信手段と、
    前記代理送信手段が前記制御コマンドを前記制御対象装置に送信した後に、前記記憶装置から前記データを取得し、前記クラウドサーバーに代わって、前記取得されたデータを前記制御対象装置に前記第2通信セッションを介して送信する代理データ送信手段と、を含む中継装置。
  2. ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置された制御対象装置と接続された中継装置であって、
    ファイアーウォールの外部の管理サーバーとの間で常時接続セッションを確立する常時接続セッション確立手段と、
    前記管理サーバーが前記クラウドサーバーから受信する接続要求であって、接続元のアドレス情報および接続先のアドレス情報を含む接続要求を前記管理サーバーから前記常時接続セッションを介して受信する接続要求受信手段と
    記受信された接続要求に含まれる前記接続先のアドレス情報を用いてファイアーウォールの外部のクラウドサーバーとの間で第1通信セッションを確立する第1セッション確立手段と
    記受信された接続要求に含まれる前記接続元のアドレス情報で特定される前記制御対象装置との間で第2通信セッションを確立する第2通信セッション確立手段と、
    前記第1通信セッションと前記第2通信セッションとを用いて、前記クラウドサーバーと前記制御対象装置との間の通信を中継する中継手段と、
    前記制御対象装置に関する装置情報を取得する装置情報取得手段と、を備え、
    前記中継手段は、前記装置情報取得手段により取得された装置情報に基づいて、前記クラウドサーバーから前記第1通信セッションを介して受信される前記制御対象装置に対する制御コマンドにより特定される処理を前記制御対象装置が実行可能か否かを判断する実行可否判断手段と、
    前記クラウドサーバーから前記制御コマンドが受信されることに応じて、前記装置情報取得手段により取得された装置情報に基づいて、前記実行可否判断手段により実行不可能と判断される場合、前記制御コマンドの出力を保留する保留手段と、
    前記保留手段により前記制御コマンドが保留された後に前記装置情報取得手段により取得された装置情報に基づいて、前記実行可否判断手段により実行可能と判断されることに応じて、前記保留手段により保留された制御コマンドを、前記第2通信セッションを介して前記クラウドサーバーに代わって前記制御対象装置に送信する代理送信手段と、を含む、中継装置。
  3. 前記保留手段により前記制御コマンドが保留される場合、前記制御対象装置に代わって、前記制御コマンドを保留したことを前記クラウドサーバーに前記第1通信セッションを介して通知する第1通知手段を、さらに備えた請求項1または2に記載の中継装置。
  4. 前記代理送信手段による前記制御コマンドの送信に応じて前記制御対象装置が送信する実行結果を、前記第通信セッションを介して受信する実行結果受信手段と、
    前記実行結果受信手段により前記実行結果が受信されることに応じて、前記制御対象装置に代わって、前記受信された実行結果を前記クラウドサーバーに前記第1通信セッションを介して通知する第2通知手段と、をさらに備えた請求項1〜3のいずれかに記載の中継装置。
  5. 前記実行可否判断手段は、前記保留手段により前記制御コマンドが保留される前の段階では、前記制御コマンドが受信されるより前に前記装置情報取得手段により取得された装置情報に基づいて、実行可否を判断する、請求項1〜のいずれかに記載の中継装置。
  6. 請求項1〜のいずれかに記載の中継装置を備えた画像形成装置であって、
    前記画像形成装置は、前記制御対象装置である。
  7. 請求項1〜のいずれかに記載の中継装置を備えた画像形成装置であって、
    前記制御対象装置は、前記画像形成装置と、ファイアーウォールの内部に配置された他の装置のうちからクラウドサーバーを操作するユーザーにより選択された1つである。
  8. ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置された制御対象装置と接続された中継装置で実行される中継方法であって、
    ファイアーウォールの外部のクラウドサーバーとの間で第1通信セッションを確立する第1セッション確立ステップと、
    前記制御対象装置との間で第2通信セッションを確立する第2セッション確立ステップと、
    前記制御対象装置に関する装置情報を取得する装置情報取得ステップと、
    前記第1通信セッションと前記第2通信セッションとを用いて、前記クラウドサーバーと前記制御対象装置との間の通信を中継する中継ステップと、を含み、
    前記中継ステップは、前記装置情報取得ステップにおいて取得された装置情報に基づいて、前記クラウドサーバーから前記第1通信セッションを介して受信される前記制御対象装置に対する制御コマンドにより特定される処理を前記制御対象装置が実行可能か否かを判断する実行可否判断ステップと、
    前記第1通信セッションを介して前記制御コマンドが受信された時点で前記装置情報取得ステップにおいて取得された装置情報に基づいて前記実行可否判断ステップにおいて実行不可能と判断される場合であって、前記制御コマンドがデータを記憶するコマンドの場合、前記制御対象装置に代わって、前記クラウドサーバーから送信されるデータを、前記第1通信セッションを介して受信する代理受信ステップと、
    前記クラウドサーバーから前記制御コマンドが受信されることに応じて、前記装置情報取得ステップにおいて取得された装置情報に基づいて、前記実行可否判断ステップにおいて実行不可能と判断される場合、ファイアーウォールの内部に配置され、前記制御対象装置とは別の記憶装置に前記受信されたデータを記憶させ、前記制御コマンドの出力を保留する保留ステップと、
    前記保留ステップにおいて前記制御コマンドが保留された後に前記装置情報取得ステップにおいて取得された装置情報に基づいて、前記実行可否判断ステップにおいて実行可能と判断されることに応じて、前記保留ステップにおいて保留された制御コマンドを、前記第通信セッションを介して前記クラウドサーバーに代わって前記制御対象装置に送信する代理送信ステップと、
    前記代理送信ステップにおいて前記制御コマンドを前記制御対象装置に送信した後に、前記記憶装置から前記データを取得し、前記クラウドサーバーに代わって、前記取得されたデータを前記制御対象装置に前記第2通信セッションを介して送信する代理データ送信ステップと、を含む中継方法。
  9. ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置された制御対象装置と接続された中継装置で実行される中継方法であって、
    ファイアーウォールの外部の管理サーバーとの間で常時接続セッションを確立する常時接続セッション確立ステップと、
    前記管理サーバーが前記クラウドサーバーから受信する接続要求であって、接続元のアドレス情報および接続先のアドレス情報を含む接続要求を前記管理サーバーから前記常時接続セッションを介して受信する接続要求受信ステップと、
    前記受信された接続要求に含まれる前記接続先のアドレス情報を用いてファイアーウォールの外部のクラウドサーバーとの間で第1通信セッションを確立する第1セッション確立ステップと、
    前記受信された接続要求に含まれる前記接続元のアドレス情報で特定される前記制御対象装置との間で第2通信セッションを確立する第2通信セッション確立ステップと、
    前記第1通信セッションと前記第2通信セッションとを用いて、前記クラウドサーバーと前記制御対象装置との間の通信を中継する中継ステップと、
    前記制御対象装置に関する装置情報を取得する装置情報取得ステップと、を備え、
    前記中継ステップは、前記装置情報取得ステップにおいて取得された装置情報に基づいて、前記クラウドサーバーから前記第1通信セッションを介して受信される前記制御対象装置に対する制御コマンドにより特定される処理を前記制御対象装置が実行可能か否かを判断する実行可否判断ステップと、
    前記クラウドサーバーから前記制御コマンドが受信されることに応じて、前記装置情報取得ステップにおいて取得された装置情報に基づいて、前記実行可否判断ステップにおいて実行不可能と判断される場合、前記制御コマンドの出力を保留する保留ステップと、
    前記保留ステップにおいて前記制御コマンドが保留された後に前記装置情報取得ステップにおいて取得された装置情報に基づいて、前記実行可否判断ステップにおいて実行可能と判断されることに応じて、前記保留ステップにおいて保留された制御コマンドを、前記第2通信セッションを介して前記クラウドサーバーに代わって前記制御対象装置に送信する代理送信ステップと、を含む、中継方法。
  10. ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置された制御対象装置と接続された中継装置を制御するコンピューターで実行される中継プログラムであって、
    ファイアーウォールの外部のクラウドサーバーとの間で第1通信セッションを確立する第1セッション確立ステップと、
    前記制御対象装置との間で第2通信セッションを確立する第2セッション確立ステップと、
    前記制御対象装置に関する装置情報を取得する装置情報取得ステップと、
    前記第1通信セッションと前記第2通信セッションとを用いて、前記クラウドサーバーと前記制御対象装置との間の通信を中継する中継ステップと、を前記コンピューターに実行させ、
    前記中継ステップは、前記装置情報取得ステップにおいて取得された装置情報に基づいて、前記クラウドサーバーから前記第1通信セッションを介して受信される前記制御対象装置に対する制御コマンドにより特定される処理を前記制御対象装置が実行可能か否かを判断する実行可否判断ステップと、
    前記第1通信セッションを介して前記制御コマンドが受信された時点で前記装置情報取得ステップにおいて取得された装置情報に基づいて前記実行可否判断ステップにおいて実行不可能と判断される場合であって、前記制御コマンドがデータを記憶するコマンドの場合、前記制御対象装置に代わって、前記クラウドサーバーから送信されるデータを、前記第1通信セッションを介して受信する代理受信ステップと、
    前記クラウドサーバーから前記制御コマンドが受信されることに応じて、前記装置情報取得ステップにおいて取得された装置情報に基づいて、前記実行可否判断ステップにおいて実行不可能と判断される場合、ファイアーウォールの内部に配置され、前記制御対象装置とは別の記憶装置に前記受信されたデータを記憶させ、前記制御コマンドの出力を保留する保留ステップと、
    前記保留ステップにおいて前記制御コマンドが保留された後に前記装置情報取得ステップにおいて取得された装置情報に基づいて、前記実行可否判断ステップにおいて実行可能と判断されることに応じて、前記保留ステップにおいて保留された制御コマンドを、前記第通信セッションを介して前記クラウドサーバーに代わって前記制御対象装置に送信する代理送信ステップと、
    前記代理送信ステップにおいて前記制御コマンドを前記制御対象装置に送信した後に、前記記憶装置から前記データを取得し、前記クラウドサーバーに代わって、前記取得されたデータを前記制御対象装置に前記第2通信セッションを介して送信する代理データ送信ステップと、を含む中継プログラム。
  11. ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置された制御対象装置と接続された中継装置を制御するコンピューターで実行される中継プログラムであって、
    ファイアーウォールの外部の管理サーバーとの間で常時接続セッションを確立する常時接続セッション確立ステップと、
    前記管理サーバーが前記クラウドサーバーから受信する接続要求であって、接続元のアドレス情報および接続先のアドレス情報を含む接続要求を前記管理サーバーから前記常時接続セッションを介して受信する接続要求受信ステップと、
    前記受信された接続要求に含まれる前記接続先のアドレス情報を用いてファイアーウォールの外部のクラウドサーバーとの間で第1通信セッションを確立する第1セッション確立ステップと、
    前記受信された接続要求に含まれる前記接続元のアドレス情報で特定される前記制御対象装置との間で第2通信セッションを確立する第2通信セッション確立ステップと、
    前記第1通信セッションと前記第2通信セッションとを用いて、前記クラウドサーバーと前記制御対象装置との間の通信を中継する中継ステップと、
    前記制御対象装置に関する装置情報を取得する装置情報取得ステップと、を前記コンピューターに実行させ、
    前記中継ステップは、前記装置情報取得ステップにおいて取得された装置情報に基づいて、前記クラウドサーバーから前記第1通信セッションを介して受信される前記制御対象装置に対する制御コマンドにより特定される処理を前記制御対象装置が実行可能か否かを判断する実行可否判断ステップと、
    前記クラウドサーバーから前記制御コマンドが受信されることに応じて、前記装置情報取得ステップにおいて取得された装置情報に基づいて、前記実行可否判断ステップにおいて実行不可能と判断される場合、前記制御コマンドの出力を保留する保留ステップと、
    前記保留ステップにおいて前記制御コマンドが保留された後に前記装置情報取得ステップにおいて取得された装置情報に基づいて、前記実行可否判断ステップにおいて実行可能と判断されることに応じて、前記保留ステップにおいて保留された制御コマンドを、前記第2通信セッションを介して前記クラウドサーバーに代わって前記制御対象装置に送信する代理送信ステップと、を含む、中継プログラム。
JP2013250715A 2013-12-04 2013-12-04 中継装置、画像形成装置、中継方法および中継プログラム Active JP5870990B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013250715A JP5870990B2 (ja) 2013-12-04 2013-12-04 中継装置、画像形成装置、中継方法および中継プログラム
US14/554,139 US9811294B2 (en) 2013-12-04 2014-11-26 Relay device, image forming apparatus, relay method, and non-transitory computer-readable recording medium encoded with relay program
CN201410724771.5A CN104702587B (zh) 2013-12-04 2014-12-03 中继装置、图像形成装置以及中继方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013250715A JP5870990B2 (ja) 2013-12-04 2013-12-04 中継装置、画像形成装置、中継方法および中継プログラム

Publications (2)

Publication Number Publication Date
JP2015108910A JP2015108910A (ja) 2015-06-11
JP5870990B2 true JP5870990B2 (ja) 2016-03-01

Family

ID=53265374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013250715A Active JP5870990B2 (ja) 2013-12-04 2013-12-04 中継装置、画像形成装置、中継方法および中継プログラム

Country Status (3)

Country Link
US (1) US9811294B2 (ja)
JP (1) JP5870990B2 (ja)
CN (1) CN104702587B (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6187053B2 (ja) 2012-09-18 2017-08-30 株式会社リコー 情報処理システム、情報処理装置およびプログラム
JP5900456B2 (ja) * 2013-10-09 2016-04-06 コニカミノルタ株式会社 画像処理システム、画像形成装置、中継装置、管理方法、および制御プログラム
JP6233046B2 (ja) 2014-01-22 2017-11-22 ブラザー工業株式会社 通信装置
JP6379767B2 (ja) 2014-07-11 2018-08-29 ブラザー工業株式会社 端末装置、プリンタ、コンピュータプログラム
WO2016042555A2 (en) * 2014-09-15 2016-03-24 Mystate Mobile (2014) Ltd. System and method for device availability signaling
JP6407004B2 (ja) * 2014-12-11 2018-10-17 キヤノン株式会社 画像処理装置、その制御方法、プログラム
JP2016139386A (ja) * 2015-01-29 2016-08-04 富士ゼロックス株式会社 装置管理システム、中継装置及びプログラム
JP6627233B2 (ja) * 2015-03-20 2020-01-08 富士ゼロックス株式会社 管理装置、情報処理システム、及びプログラム
JP6264330B2 (ja) * 2015-06-15 2018-01-24 コニカミノルタ株式会社 通信システム、通信中継装置およびプログラム
JP6311666B2 (ja) * 2015-07-01 2018-04-18 コニカミノルタ株式会社 通信システム、管理サーバおよびプログラム
JP6278017B2 (ja) 2015-09-17 2018-02-14 コニカミノルタ株式会社 遠隔制御システム、画像処理装置、遠隔制御方法、および遠隔制御プログラム
KR20170034219A (ko) * 2015-09-18 2017-03-28 에스프린팅솔루션 주식회사 보안 환경에서의 솔루션 서버를 통한 서비스 제공 방법, 이를 수행하기 위한 장치 및 시스템
JP6714839B2 (ja) * 2016-05-06 2020-07-01 コニカミノルタ株式会社 印刷システム、印刷管理サーバ、通信中継装置およびプログラム
JP6788230B2 (ja) * 2017-09-28 2020-11-25 京セラドキュメントソリューションズ株式会社 管理システム、管理コンピューターおよび管理コンピューター用プログラム
JP7081273B2 (ja) * 2018-03-30 2022-06-07 ブラザー工業株式会社 プログラム及び通信システム
KR20200092714A (ko) * 2019-01-25 2020-08-04 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 분산 렌더링 서비스를 제공하는 화상형성장치
CN113646751B (zh) * 2019-04-01 2024-05-28 宜日网络有限公司 通讯系统、信息提供装置、程序及信息提供方法
US11477086B2 (en) * 2019-05-08 2022-10-18 Schlumberger Technology Corporation Methods and systems for provisioning and commissioning an industrial gateway
CN110809330B (zh) * 2019-12-16 2023-07-14 腾讯科技(深圳)有限公司 多终端的连接建立方法和装置、存储介质及电子装置

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3375456B2 (ja) * 1994-06-30 2003-02-10 富士通株式会社 ファクシミリ信号中継方法及びその装置
US5854886A (en) * 1996-03-29 1998-12-29 Hewlett-Packard Company Method and system for printing rasterized documents
US6809833B1 (en) * 1999-03-01 2004-10-26 Adobe Systems Incorporated Late binding of device settings in a host raster image processor
US20030086122A1 (en) * 2001-11-06 2003-05-08 Parry Travis J. Imaging device communication via email
US7277193B2 (en) * 2002-01-29 2007-10-02 Hewlett-Packard Development Company, L.P. Method for printing remote content
JP4408033B2 (ja) * 2002-09-24 2010-02-03 株式会社リコー 遠隔管理システム
US20050138065A1 (en) * 2003-12-18 2005-06-23 Xerox Corporation System and method for providing document services
JP2005301999A (ja) * 2004-03-19 2005-10-27 Ricoh Co Ltd 遠隔管理システムとその被管理装置,通信制御方法,プログラム,および記録媒体
US7970813B2 (en) * 2004-10-08 2011-06-28 Sharp Laboratories Of America, Inc. Methods and systems for imaging device event notification administration and subscription
JP2007005847A (ja) * 2005-06-21 2007-01-11 Alaxala Networks Corp ネットワークにおけるデータ伝送制御
US7697861B2 (en) * 2005-12-28 2010-04-13 Ricoh Company, Limited Printing apparatus and image forming apparatus
JP5116319B2 (ja) * 2007-03-06 2013-01-09 キヤノン株式会社 メッセージ中継装置及び方法
US8218160B2 (en) * 2007-08-08 2012-07-10 Sharp Laboratories Of America, Inc. Adaptive automatic printing
JP5093598B2 (ja) * 2008-03-28 2012-12-12 富士通株式会社 制御中継プログラム、制御中継装置および制御中継方法
JP5100493B2 (ja) * 2008-05-08 2012-12-19 キヤノン株式会社 画像形成装置、ジョブ処理方法及びプログラム
JP5427056B2 (ja) 2010-02-02 2014-02-26 キヤノン株式会社 印刷システム及びその印刷方法、画像形成装置とその制御方法及びプログラム
JP2012037944A (ja) 2010-08-03 2012-02-23 Canon Inc 画像形成装置、代行運転システム、画像形成装置の制御方法、プログラム
JP2012063944A (ja) 2010-09-15 2012-03-29 Canon Inc 印刷システム、制御方法、クライアント端末、プリントサーバ、及びプログラム
JP2012086416A (ja) * 2010-10-18 2012-05-10 Canon Inc 画像形成装置、印刷ジョブ制御方法およびプログラム
JP2012155619A (ja) 2011-01-27 2012-08-16 Canon Inc ネットワークジョブ通信システム
JP5750935B2 (ja) * 2011-02-24 2015-07-22 富士ゼロックス株式会社 情報処理システム、情報処理装置、サーバ装置およびプログラム
JP5738044B2 (ja) * 2011-04-06 2015-06-17 キヤノン株式会社 情報処理装置、印刷制御方法、及びプログラム
JP5791367B2 (ja) * 2011-05-19 2015-10-07 キヤノン株式会社 画像形成装置とプロキシサーバを有するネットワークシステムおよび、その制御方法、制御プログラム、並びにプロキシサーバ
JP2013025387A (ja) * 2011-07-15 2013-02-04 Ricoh Co Ltd 情報処理装置、制御プログラム及び情報処理システム
JP5780099B2 (ja) * 2011-09-30 2015-09-16 ブラザー工業株式会社 画像記録装置、画像記録システム及びプログラム
US8189225B1 (en) * 2011-10-04 2012-05-29 Google Inc. Printing to a cloud printer via NFC
JP2013129147A (ja) * 2011-12-22 2013-07-04 Brother Industries Ltd プリンタと代理サーバ
JP5966974B2 (ja) * 2013-03-05 2016-08-10 富士ゼロックス株式会社 中継装置、クライアント装置、システム及びプログラム
JP5939180B2 (ja) * 2013-03-15 2016-06-22 ブラザー工業株式会社 情報処理装置、中継サーバ、情報中継方法、情報中継プログラム及び通信システム
JP6107261B2 (ja) * 2013-03-15 2017-04-05 ブラザー工業株式会社 中継装置、画像処理装置および通信システム
JP6171530B2 (ja) * 2013-04-23 2017-08-02 セイコーエプソン株式会社 印刷制御装置、印刷システムおよび印刷制御方法
JP6171725B2 (ja) * 2013-08-23 2017-08-02 ブラザー工業株式会社 中継装置、プログラムおよび中継装置の制御方法
JP6278651B2 (ja) * 2013-09-27 2018-02-14 キヤノン株式会社 ネットワークシステム、管理サーバシステム、制御方法及びプログラム
KR20150079106A (ko) * 2013-12-31 2015-07-08 삼성전자주식회사 디스플레이 장치, 단말 장치 및 그 제어 방법

Also Published As

Publication number Publication date
US20150153980A1 (en) 2015-06-04
US9811294B2 (en) 2017-11-07
CN104702587B (zh) 2019-03-01
CN104702587A (zh) 2015-06-10
JP2015108910A (ja) 2015-06-11

Similar Documents

Publication Publication Date Title
JP5870990B2 (ja) 中継装置、画像形成装置、中継方法および中継プログラム
JP5962690B2 (ja) 管理サーバー、接続支援方法および接続支援プログラム
JP6102845B2 (ja) 接続制御システム、管理サーバー、接続支援方法および接続支援プログラム
JP4403135B2 (ja) Webサービス利用システム
JP6137149B2 (ja) 情報処理システム、クラウドサーバー、装置制御方法および装置制御プログラム
JP2008305047A (ja) 情報処理装置
JP7172108B2 (ja) プログラム及び通信システム
JP7131044B2 (ja) プログラム及び通信システム
JP4569664B2 (ja) 画像処理装置、画面送信方法および画面送信プログラム
JP7131045B2 (ja) プログラム及び通信システム
JP2016116112A (ja) 情報処理システム、中継装置、中継方法および中継プログラム
JP5686719B2 (ja) 画像形成装置、アプリケーション管理装置、およびアプリケーション管理システム
JP5258474B2 (ja) 電子機器及びアプリケーション実行方法
JP4946912B2 (ja) 画像形成システム、サーバ、画像形成支援方法および画像形成支援プログラム
JP2010198059A (ja) 設定支援システム
JP2018148419A (ja) 情報処理システムおよびデータ送受信方法
JP7279568B2 (ja) 支援サーバー、トンネル接続支援方法およびトンネル接続支援プログラム
EP4178191B1 (en) Image processing apparatus, cooperative processing execution method, and cooperative processing execution program
JP4606910B2 (ja) ユーティリティプログラム管理方法及び画像処理システム
JP2015170238A (ja) ジョブ制御装置、ジョブ制御システム及びジョブ制御方法
JP5393558B2 (ja) 画像形成装置
JP6962148B2 (ja) 情報処理装置、画像処理装置、情報処理装置の制御方法、画像処理装置の制御方法、プログラムおよび情報配信システム
JP2013101517A (ja) 画像形成装置
JP2019181706A (ja) 情報処理システム、情報処理装置、制御受付方法および制御受付プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151127

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151228

R150 Certificate of patent or registration of utility model

Ref document number: 5870990

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150