JP2018112895A - 情報処理装置、その制御方法、プログラム、及び情報処理システム - Google Patents

情報処理装置、その制御方法、プログラム、及び情報処理システム Download PDF

Info

Publication number
JP2018112895A
JP2018112895A JP2017002843A JP2017002843A JP2018112895A JP 2018112895 A JP2018112895 A JP 2018112895A JP 2017002843 A JP2017002843 A JP 2017002843A JP 2017002843 A JP2017002843 A JP 2017002843A JP 2018112895 A JP2018112895 A JP 2018112895A
Authority
JP
Japan
Prior art keywords
communication
information processing
server
relay server
socket
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.)
Pending
Application number
JP2017002843A
Other languages
English (en)
Inventor
健太 福島
Kenta Fukushima
健太 福島
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 JP2017002843A priority Critical patent/JP2018112895A/ja
Priority to US15/858,135 priority patent/US10367894B2/en
Priority to CN201810018589.6A priority patent/CN108306943B/zh
Publication of JP2018112895A publication Critical patent/JP2018112895A/ja
Pending legal-status Critical Current

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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • 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
    • 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/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/333Mode signalling or mode changing; Handshaking therefor
    • H04N1/33346Mode signalling or mode changing; Handshaking therefor adapting to a particular standardised protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/333Mode signalling or mode changing; Handshaking therefor
    • H04N2201/33307Mode signalling or mode changing; Handshaking therefor of a particular mode
    • H04N2201/33392Non-standard capability, e.g. relay, mail-box

Landscapes

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

Abstract

【課題】ファイアウォールに遮られた2つの装置間において、通信機能毎にHTTPへの変換機能を必要とすることなく、汎用的な変換機能により通信を行う仕組みを提供する。【解決手段】本発明は、各装置における通信クライアント又は通信サーバと、中継サーバとの間の通信を汎用的に制御する通信制御部を各装置に1つずつ設ける。具体的には、通信制御部は、自装置を示すIPアドレスと所定のポートを指定した通信ソケット作成し、当該通信ソケットを介して通信サーバ/通信クライアントとの間のデータをやり取りすることにより、通信サーバ/通信クラインのそれぞれの通信プロトコルと、HTTPとの間で通信データを調整して中継する。【選択図】 図3

Description

本発明は、情報処理装置、その制御方法、プログラム、及び情報処理システムに関するものである。
現在、複合機では音声や動画通信、遠隔操作によるリモート支援サービスが提案されている。リモート支援サービスでは、複合機でのエラー発生時に保守のための人員が現地に赴くことがなく、コールセンターがユーザに直接エラー解決方法を伝え解決することが可能となる。これにより、エラー解決までの時間を短縮することが可能となる。このようなリモート支援サービスでは、ユーザは、電話機やPC等の複合機以外の装置を使用することなく、複合機の通信機能を利用してコールセンターとの接続を実現することが効果的である。
ところが、一般的に、オフィスに導入されているファイアウォールにより直接複合機とコールセンターのPCがセッションを確立することは難しいことが多い。そこで、ファイアウォールとの親和性が高いHTTPを使用し、情報端末間でセッションを確立する技術が提案されている。一般的に、ファイアウォールに遮られた情報端末に対して、インターネット側からの接続は制限される。一方、一般的に、ファイアウォールの中にある情報端末側からインターネットへの接続は、ファイアウォールとの親和性が高いHTTPであれば許可される。
特許文献1には、ファイアウォールに遮られた2つの情報端末が、HTTPクライアントとして接続が可能なセッション管理サーバに、それぞれの情報端末側から接続をすることで、情報端末間のセッション確立を実現することが提案されている。また、HTTPのプロトコルを通すことで、遠隔操作のプロトコルであるVNC(Virtual Network Computing)をファイアウォールで遮られた2つの情報端末間で通信させている。また、このようなシステムにおいては、一般的に、VNCだけでなく、複合機のWEBサーバや、SSH(SECURE SHELL)サーバ等のサーバ機能に対する遠隔操作を行うことも提案されている。
特開2015−32224号公報
しかしながら、上記従来技術には以下に記載する課題がある。例えば、上記従来技術では、VNC通信、WEB通信、SSH通信といった遠隔操作を行う通信機能毎に、HTTPに適合するように通信内容を変換する機能を持たせる必要がある。即ち、現状のシステムでは、通信機能毎にアプリケーション等の開発が必要であり、開発コストの増大に繋がっている。
本発明は、上述の問題に鑑みて成されたものであり、ファイアウォールに遮られた2つの装置間において、通信機能毎にHTTPへの変換機能を必要とすることなく、汎用的な変換機能により通信を行う仕組みを提供することを目的とする。
本発明は、中継サーバを介して画像形成装置と、情報処理装置との間で通信を行う情報処理システムであって、前記情報処理装置は、それぞれが異なる通信プロトコルによって通信可能な複数の通信クライアントと、接続先としてローカルホストを設定し、所定のポートを指定して、第1の通信ソケットを作成し、前記複数の通信クライアントのうち何れかの通信クライアントを起動し、起動した該通信クライアントと前記中継サーバとの通信において、前記第1の通信ソケットを介して、対応する前記通信プロトコルとHTTPとの間で通信データを調整して中継する第1の通信制御手段と、を備え、前記画像形成装置は、それぞれが異なる通信プロトコルによって通信可能な複数の通信サーバと、接続先としてローカルホストを設定し、前記情報処理装置から指定された前記所定のポートを指定して、前記複数の通信サーバのうち何れかの通信サーバへの第2の通信ソケットを作成し、当該通信サーバと前記中継サーバとの通信において、前記第2の通信ソケットを介して、対応する前記通信プロトコルとHTTPとの間で通信データを調整して中継する第2の通信制御手段と、を備えることを特徴とする。
本発明によれば、ファイアウォールに遮られた2つの装置間において、通信機能毎にHTTPへの変換機能を必要とすることなく、汎用的な変換機能により通信を行うことができる。
一実施形態に係るネットワーク構成を示す図。 一実施形態に係る情報処理システムのハードウェア構成を示す図。 一実施形態に係る情報処理システムのソフトウェア構成を示す図。 一実施形態に係るオペレータPCの処理を示すフローチャート。 一実施形態に係る画像形成装置の処理を示すフローチャート。 一実施形態に係る中継サーバの処理を示すフローチャート。 一実施形態に係るオペレータPCの処理を示すフローチャート。 一実施形態に係る画像形成装置の処理を示すフローチャート。 一実施形態に係るオペレータPCの処理を示すフローチャート。 一実施形態に係る画像形成装置の処理を示すフローチャート。 一実施形態に係る中継サーバの処理を示すフローチャート。
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確立されるのであって、以下の個別の実施形態によって限定されるわけではない。
<第1の実施形態>
<ネットワーク構成>
以下では、本発明の第1の実施形態について説明する。まず、図1を参照して、本実施形態に係るリモート支援を行う情報処理システムのネットワーク構成について説明する。
本システムは、画像形成装置101、情報処理装置であるオペレータPC102、及びHTTP中継サーバ103が通信可能に構成される。画像形成装置101及びオペレータPC102は、本発明を適用する装置として、互いの通信相手として動作する。画像形成装置101及びオペレータPC102は、HTTP(HyperText Transfer Protocol)により呼制御を実行してデータ通信を行うデータ通信機能を備える。
図1に示すように、画像形成装置101は、ファイアウォール(FW)104を通じてネットワーク106に接続されている。また、ネットワーク106には、FW105を通じてコールセンター側のオペレータPC102が接続されている。加えて、HTTP中継サーバ103がネットワーク106に接続されている。HTTPによるデータ通信においては、クライアントノード同士はHTTP中継サーバ103から提供されるURI(Uniform Resource Identifier)にPOST/GETリクエストを行うことでデータ通信を実施する。これにより、クライアントノード同士がプライベートアドレスエリアやFWに遮られていてもデータ通信を行うことができる。
本実施形態では、画像形成装置101及びオペレータPC102はHTTPクライアントノードとして動作する。また、本実施形態ではクライアントノード間はネットワーク106に対してFWを介して通信する構成について説明するが、本発明はこれに限定されず、FWを介さないネットワーク構成を適用してもよい。また、ネットワーク106には図示したよりも多くのFW、画像形成装置、オペレータPCが接続されてもよい。また、本実施形態では、通信プロトコルとしてはHTTPでなくてもよい。
<ハードウェア構成>
次に、図2Aを参照して、本実施形態に係る情報処理システムのハードウェア構成について説明する。画像形成装置101は、システム制御部200、オペレーションパネル212、画像入力装置213、音声入出力装置214、スキャナ215、及びプリンタ216を備える。システム制御部200は、スキャナI/F201、CPU202、ROM203、RAM204、HDD205、プリンタI/F207、パネル操作I/F208、画像入力I/F209、音声入出力I/F210、及びネットワークI/F211を備える。各デバイスはシステムバス206を介して相互にデータを送受することができる。
CPU202は、ROM203又はハードディスク(HDD)205に記憶された制御プログラムに基づいてシステムバス206に接続される各種のデバイスとのアクセスを統括的に制御する。ROM203は、CPU202において実行可能な制御プログラム等を記憶している。RAM204は、主としてCPU202の主メモリ、ワークエリア等として機能し、不図示の増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができる。ハードディスク(HDD)205は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル等を記憶する。なお、本実施形態ではHDD205を用いたが、HDD205の他にSDカードや、フラッシュメモリなどを外部記憶装置として利用してもよい。
スキャナI/F201は、スキャナ215からの画像入力を制御する。プリンタI/F207は、プリンタ216への画像出力を制御する。パネル操作I/F208は、オペレーションパネル212の表示制御、及びオペレーションパネル212で設定される各種設定情報の入力を制御する。画像入力I/F209は、カメラ等の画像入力装置213からの画像入力を制御する。音声入出力I/F210は、ヘッドセット等の音声入出力装置214との音声入出力を制御する。ネットワークI/F211は、ネットワークケーブルを経由して外部ネットワークとデータ通信を行う。
オペレータPC102は、制御部220、キーボード231、ディスプレイ232、画像入力装置233、及び音声入出力装置234を備える。制御部220は、CPU221、ROM222、RAM223、HDD224、ネットワークI/F226、キーボードI/F227、ディスプレイI/F228、画像入力I/F229、及び音声入出力I/F230を備える。
CPU221は、ROM222又はハードディスク(HDD)224に記憶された制御プログラムに基づいてシステムバス225に接続される各種のデバイスとのアクセスを統括的に制御する。ROM222は、CPU221が実行可能な制御プログラム等を記憶している。RAM223は、主としてCPU221の主メモリ、ワークエリア等として機能し、不図示の増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができる。ハードディスク(HDD)224は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、及び編集ファイル等を記憶する。なお、本実施形態ではHDD224を用いたが、HDD224の他にSDカードや、フラッシュメモリなどを外部記憶装置として利用してもよい。
ネットワークI/F226は、ネットワークケーブルを経由して外部ネットワークとデータ通信を行う。キーボードI/F227は、キーボード231や不図示のポインティングデバイスからのキー入力を制御する。ディプレイI/F228は、ディスプレイ232の表示を制御する。画像入力I/F229は、カメラ等の画像入力装置233からの画像入力を制御する。音声入出力I/F230は、ヘッドセット等の音声入出力装置234との音声入出力を制御する。
HTTP中継サーバ103は、CPU241、ROM242、RAM243、HDD244、及びネットワークI/F246を備える。CPU241は、ROM242又はハードディスク(HDD)244に記憶された制御プログラムに基づいてシステムバス245に接続される各種のデバイスとのアクセスを統括的に制御する。ROM242は、CPU241が実行可能な制御プログラム等を記憶している。RAM243は、主としてCPU241の主メモリ、ワークエリア等として機能し、不図示の増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができる。ハードディスク(HDD)244は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、及び編集ファイル等を記憶する。なお、本実施形態ではHDD244を用いたが、HDD244の他にSDカードや、フラッシュメモリなどを外部記憶装置として利用してもよい。ネットワークI/F246は、ネットワークケーブルを経由して外部ネットワークとデータ通信を行う。
<ソフトウェア構成>
次に、図2Bは、本実施形態に係る情報処理システムのソフトウェア構成について説明する。画像形成装置101は、中継サーバ通信処理部255と、VNCサーバ251、TELNET(TELETYPE NETWORK)サーバ252、SSH(SECURE SHELL)サーバ253、及びWebサーバ254などのサーバ部とを含む。中継サーバ通信処理部255は、中継サーバ103との通信処理を制御する。サーバ部は情報処理システムだけで使用するソフトウェアではなく、画像形成装置101の一般的な機能として提供されるソフトウェアである。中継サーバ通信処理部255は、第2の通信制御手段として機能し、各通信サーバ251〜254の通信プロトコルと、中継サーバ103との通信で利用するHTTPとを汎用的に調整する。
一方、オペレータPC102は、中継サーバ通信処理部265と、VNCクライアント261、TELNETクライアント262、SSHクライアント263、及びWebブラウザ264などのクライアント部とを含む。中継サーバ通信処理部265は、第1の通信制御手段として機能し、中継サーバ103との通信処理を制御する。クライアント部は情報処理システムだけで使用するソフトウェアではなく、オペレータPC102で一般的に使用するために提供されるソフトウェアである。中継サーバ通信処理部265は、各通信クライアント261〜264の通信プロトコルと、中継サーバ103との通信で利用するHTTPとを汎用的に調整する。
中継サーバ103は画像形成装置101とオペレータPC102の通信の転送を行う転送処理部271を含む。中継サーバ通信処理部255は、サーバ部の各サーバがHTTPを使って中継サーバ103と通信できるようにするために、各サーバから受け付けた通信データをHTTPでカプセル化する処理を実行する。例えば、中継サーバ通信処理部255は、VNCサーバ251から出力されたVNCデータを、HTTPデータに埋め込んで中継サーバ103に送信する。他のサーバについても同様である。また、中継サーバ通信処理部255は、中継サーバ103から受信したHTTPデータから各サーバの通信プロトコルに対応するデータを取り出して、各サーバに受け渡す処理を実行する。
本実施形態では、オペレータPC102が通信クライアントを有し、画像形成装置101が通信サーバを有する形態で説明するが、本発明はこれに限定されない。例えば、画像形成装置101が通信クライアントを有し、オペレータPC102が通信サーバを有する形態で、画像形成装置101からオペレータPC102へアクセスを要求するような形態であってもよい。なお、図2Bでは、これはオペレータPC102から画像形成装置101へアクセスして通信データの送信を実現する場合の形態におけるHTTPトンネリングを概念的に円柱の形状で示すものである。これは本発明の一例であり、例えば、画像形成装置101からオペレータPC102へアクセスして通信データを送信する場合には、図2Bに示す円柱部分は画像形成装置101とオペレータPC102とで反対となる。
<全体処理>
次に、本実施形態に係る情報処理システムにおける全体の動作の流れを説明する。最初に、オペレータPC102と画像形成装置101がそれぞれ中継サーバ103にアクセスする。中継サーバ103は2つのクライアントをペアリングし、2つのクライアントはセッション確立状態となる。セッション確立状態を作るために例えばオペレータPC102と画像形成装置101に同じ番号や文字列を入力して中継サーバ103でペアリングする方法などがあるが、本発明とは関係しないため詳細な説明は省略する。
セッション確立状態となった後、オペレータがオペレータPC102からVNC(Virtual Network Computing)の開始を操作して、遠隔操作が行われる。本実施形態では遠隔操作の例として、VNCに対応する通信プロトコルを利用する例を説明するが、例えば、TELNET(TELETYPE NETWORK)やSSH(SECURE SHELL)といった通信プロトコルも適用可能である。以下では、画像形成装置101、オペレータPC102、及び中継サーバ103のより詳細な処理を説明する。
<オペレータPCの処理手順>
次に、図3を参照して、本実施形態に係るオペレータPC102の処理手順について説明する。本フローチャートは、例えばHDD224に格納されたプログラムがRAM223に読み出され、CPU221によって実行されることで実現される。また、以下で説明する処理は、図2Bに示すオペレータPC102の中継サーバ通信処理部265によって実施される。
本処理が開始されると、まずS301で、オペレータPC102の中継サーバ通信処理部265は、中継サーバ103にアクセスして、遠隔保守を行う画像形成装置101とのセッションを確立する。前述したように、詳細な確立方法については説明を省略する。続いて、S302で、中継サーバ通信処理部265は、キーボード231等のユーザインタフェースを介して、ユーザからVNCの開始操作を受け付ける。例えば、オペレータPC102の画面上に開始ボタンを表示して、マウスポインタでのクリック操作を受け付ける。
VNC開始操作を受け付けると、S303で、中継サーバ通信処理部265は、VNC開始要求を中継サーバ103へ送信する。具体的には、中継サーバ通信処理部265は、「アプリケーション名:VNC」及び「コマンド:開始」というデータをHTTPのボディ部に書き込んで、中継サーバ103にリクエストをPOSTする。続いて、S304で、中継サーバ通信処理部265は、ソケットを作成して特定のポートでListen(リスニング状態)を開始する。リスニング状態とは、所定のポートから受信するデータを待ち受けている状態である。このポートは外部のVNCクライアントアプリケーション、例えばVNCクライアント261の接続先となるポートであり、予め定義してあってもよいし、動的に空いているポートを使用してもよい。本実施形態ではポート番号10000として説明する。ポートのListenを開始した後、S305で、中継サーバ通信処理部265は、VNCクライアントアプリケーションを起動する。このとき、中継サーバ通信処理部265は、VNCクライアントアプリケーションの接続先として、IPアドレスを「127.0.0.1」と設定し、ポート番号をS304でListenしている「10000」として指定して起動する。即ち、ここでは、IPアドレスとして、自装置を示すローカルループバックアドレスを設定する。
VNCクライアントアプリケーションが起動すると、S306で、中継サーバ通信処理部265は、VNC停止操作を受け付けたかどうかを判定し、受け付けた場合は終了処理に進む。VNC停止操作を受け付けていなければS307に進み、中継サーバ通信処理部265は、まずソケット(通信ソケット)からデータをReadする。S307ではVNCクライアントアプリケーションから送信されるデータを受信することができる。データを受信すると、S308で、中継サーバ通信処理部265は、中継サーバ103に送信するためのHTTPのPOSTリクエストを作成し、HTTPボディ部に画像形成装置(MFP)101のVNCサーバ251のへ接続するためのポート番号を指定する。このポート番号は予めオペレータPC102に指定され、保持されていることが望ましい。本実施形態ではこのポート番号を5900として説明する。具体的にはHTTPボディ部には「Port=5900」という記述を行う。
次に、S309で、中継サーバ通信処理部265は、S307でReadしたデータをHTTPボディ部に設定する。具体的には、「Data=XXX(Readしたバイナリデータ)」という記述を行う。S308及びS309でHTTPのPOSTリクエストが完成すると、S310で、中継サーバ通信処理部265は、中継サーバ103にHTTPのPOSTリクエストを送信し、S311でPOSTレスポンスを受信する。
次に、S312で、中継サーバ通信処理部265は、中継サーバ103にHTTPのGETリクエストを送信し、S313でGETレスポンスを受信する。受信が完了すると、S314で、中継サーバ通信処理部265は、GETレスポンスのHTTPボディ部からデータを読み込む。具体的には、HTTPボディ部の「Data=」に続く部分を読み込む。S314で読み込んだデータは画像形成装置101のVNCサーバ251が送信してきたデータである。データの読み込みが完了すると、S315で、中継サーバ通信処理部265は、読み込んだデータをS304で作成したソケットにWriteする。
中継サーバ通信処理部265はS306のVNC停止操作が受け付けられるまで、S307乃至S315の処理を繰り返す。S306でVNC停止操作が受け付けられると、S316に進み、中継サーバ通信処理部265は、S305で起動したVNCクライアントアプリケーションを停止する。続いて、S317で、中継サーバ通信処理部265は、VNC停止要求を中継サーバ103へ送信する。具体的には中継サーバ通信処理部265は、「アプリケーション名:VNC」及び「コマンド:停止」というデータをHTTPのボディ部に書き込んで中継サーバ103にリクエストをPOSTする。最後に、S318で、中継サーバ通信処理部265は、S304で作成したソケットを破棄し、処理を終了する。
<画像形成装置の処理手順>
次に、図4を参照して、本実施形態に係る画像形成装置101の処理手順について説明する。本フローチャートは、例えばHDD205に格納されたプログラムがRAM204に読み出され、CPU202によって実行されることで実現される。以下で説明する処理は図2Bに示す画像形成装置101の中継サーバ通信処理部255において実施される。
本処理が開始されると、まずS401で、画像形成装置101の中継サーバ通信処理部255は、中継サーバ103にアクセスして、遠隔保守を行うオペレータPC102とのセッションを確立する。前述したように、詳細な確立方法については説明を省略する。続いて、S402で、中継サーバ通信処理部255は、中継サーバ103からVNC開始要求を受信する。VNC開始要求は、中継サーバ103から送信されるが、トリガはオペレータPC102においてS303で行われるPOSTリクエストの送信である。中継サーバ通信処理部255は中継サーバ103にHTTPのGETリクエストを定期的に送信することで、VNC開始要求の受信を行う。具体的には、中継サーバ通信処理部255は、GETレスポンスのHTTPボディ部から「アプリケーション名:VNC」及び「コマンド:開始」というデータを読み込むことで検知する。
S402でVNC開始要求を受け付けると、S403に進み、中継サーバ通信処理部255は、VNC停止要求を受け付けたかどうかを判定し、受け付けた場合は処理を終了する。VNC停止要求はVNC開始要求と同様に、HTTPのGETリクエストを定期的に送信することで受信する。具体的には、中継サーバ通信処理部255は、GETレスポンスのHTTPボディ部から「アプリケーション名:VNC」及び「コマンド:停止」というデータを読み込むことで検知する。
VNC停止要求を受け付けていなければ、S404に進み、中継サーバ通信処理部255は、S402で受け付けた要求に従って、まず画像形成装置101のVNCサーバ251に接続するためのソケットを作成する。ここでは、何れのサーバに接続するソケットであるかは設定していない。ソケットの作成が完了すると、S405で、中継サーバ通信処理部255は、中継サーバ103にHTTPのGETリクエストを送信し、S406でGETレスポンスを受信する。受信が完了すると、S407で、中継サーバ通信処理部255は、GETレスポンスのHTTPボディ部から接続先のポート番号を取得する。ここで取得する値はS308でオペレータPC102が指定した値(Port=5900)である。具体的には、HTTPボディ部の「Port=」に続く部分を読み込む。続いて、S408で、中継サーバ通信処理部255は、GETレスポンスのHTTPボディ部からデータを読み込む。具体的には、HTTPボディ部の「Data=」に続く部分を読み込む。S408で読み込んだデータはオペレータPC102のVNCクライアントアプリケーションが送信してきたデータである。
データの読み込みが完了すると、S409で、中継サーバ通信処理部255は、接続先ホスト名に「127.0.0.1」、接続先ポート番号にS407で取得したポート番号を指定してソケットをConnectする。さらに、S408で読み込んだデータをソケットにWriteする。即ち、ここでは、接続先にローカルホスト、例えば自装置を示すローカルループバックアドレスを設定する。続いて、S410で、中継サーバ通信処理部255は、ソケットからデータをReadする。S410ではVNCサーバ251から送信されるデータを受信することができる。
次に、S411で、中継サーバ通信処理部255は、S410でReadしたデータをHTTPボディ部に設定する。具体的には、「Data=XXX(Readしたバイナリデータ)」という記述を行う。S411でHTTPのPOSTリクエストが完成すると、S412で、中継サーバ通信処理部255は、中継サーバ103にHTTPのPOSTリクエストを送信し、S413でPOSTレスポンスを受信する。全ての通信が完了すると、S414で、中継サーバ通信処理部255は、S404で作成したソケットを破棄する。S403乃至S414の処理は、S403でVNC停止要求を受け付けるまで繰り返し行われる。
<中継サーバの処理手順>
次に、図5を参照して、本実施形態に係る中継サーバ103の処理手順について説明する。本フローチャートは、例えばHDD244に格納されたプログラムがRAM243に読み出され、CPU241によって実行されることで実現される。以下で説明する処理は図2Bの中継サーバ103の転送処理部271において実施される。
本処理が開始されると、まずS501で、中継サーバ103の転送処理部271は、まずクライアントからのデータを受信する。ここでいうクライアントとは、画像形成装置101やオペレータPC102のことである。データを受信すると、転送処理部271は、S502、S504、S507、S510、及びS515において、受信データがどの要求であるかを判断する。判断できない要求である場合はS501に戻り次のデータを受信する。具体的には、S502では、転送処理部271は、受信データがセッションの確立要求であるか否かを判断する。S504では、転送処理部271は、受信データが機能の開始要求であるか否かを判断する。S507では、転送処理部271は、受信データが機能の停止要求であるか否かを判断する。S510では、転送処理部271は、受信データが転送のためのPOST要求であるか否かを判断する。S515では、転送処理部271は、受信データが転送のためのGET要求であるか否かを判断する。
S502で受信データがセッション確立の要求であると判断するとS503に進み、転送処理部271は、画像形成装置101とオペレータPC102をペアリングするというセッション確立処理を実行し、処理をS501に戻す。前述したように、詳細な確立方法については説明を省略する。
S504で受信データが機能の開始要求であると判断するとS505に進み、転送処理部271は、要求元のクライアントとセッションを確立している相手クライアントに対して、機能の開始要求を送信する。具体的には、転送処理部271は、相手クライアントに対してGETレスポンスのHTTPボディ部に「アプリケーション名:機能名」及び「コマンド:開始」というデータを設定して送信する。本実施形態では、転送処理部271は、オペレータPC102からVNC開始要求を受信し、画像形成装置101にVNC開始要求を送信する。S505の処理が完了するとS506に進み、転送処理部271は、要求元のクライアントにHTTPのレスポンスを送信し、処理をS501に戻す。
S507で受信データが機能の停止要求であると判断するとS508に進み、転送処理部271は、要求元のクライアントとセッションを確立している相手クライアントに対して、機能の停止要求を送信する。具体的には、転送処理部271は、相手クライアントに対してGETレスポンスのHTTPボディ部に「アプリケーション名:機能名」及び「コマンド:停止」というデータを設定して送信する。本実施形態では、転送処理部271はオペレータPC102からVNC停止要求を受信し、画像形成装置101にVNC停止要求を送信する。S508の処理が完了するとS509に進み、転送処理部271は、要求元のクライアントにHTTPのレスポンスを送信し、処理をS501に戻す。
S510で受信データが遠隔操作データの転送のためPOST要求であると判断するとS511に進み、転送処理部271は、受信したHTTPのPOSTリクエストのHTTPボディ部からデータを読み込む。具体的には、転送処理部271は、HTTPボディ部の「Data=」に続く部分を読み込む。続いて、S512で、転送処理部271は、POSTリクエストのHTTPボディ部から接続先ポート番号を取得する。具体的には、転送処理部271は、HTTPボディ部の「Port=」に続く部分を読み込む。S511及びS512の読み込みが完了するとS513に進み、転送処理部271は、このPOSTリクエストの要求元のクライアントに紐付いたキューに対して、S511で読み込んだデータとS512で読み込んだ接続先ポート番号情報をセットでPushする。キューは要求元毎に存在し、画像形成装置101がPOSTしてきたデータは画像形成装置101用のキューに、オペレータPC102がPOSTしてきたデータはオペレータPC102用のキューにPushされる。Pushが完了するとS514に進み、転送処理部271は、要求元のクライアントにPOSTのレスポンスを送信し、処理をS501に戻す。
S515で受信データが遠隔操作データの転送のためGET要求であると判断するとS516に進み、転送処理部271は、要求元のクライアントとセッション確立している相手クライアント用のキューからデータをPopする。画像形成装置101のGETリクエストであればオペレータPC102用のキューから、オペレータPC102のGETリクエストであれば画像形成装置101用のキューからPopする。Popが完了するとS517で、転送処理部271は、要求元のクライアントに送信するためのHTTPのGETレスポンスを作成し、HTTPボディ部にキューからPopした接続先ポート番号を指定する。具体的には、転送処理部271は、HTTPボディ部には「Port=XXX(Popした接続先ポート番号)」という記述を行う。続いて、S518で、転送処理部271は、PopしたデータをGETレスポンスのHTTPボディ部に設定する。具体的には、転送処理部271は、「Data=XXX(Readしたバイナリデータ)」という記述を行う。S517及びS518でHTTPのGETレスポンスが完成するとS519に進み、転送処理部271は、要求元クライアントにGETレスポンスを送信し、処理をS501に戻す。
以上説明したように、本実施形態に係る情報処理システムは、中継サーバを介して画像形成装置と、情報処理装置(オペレータPC)との間で通信を行うリモート支援システムである。本情報処理装置は、それぞれが異なる通信プロトコルによって通信可能な複数の通信クライアントを備える。また、本情報処理装置は、接続先としてローカルホストを設定し、所定のポートを指定して、通信ソケット(第1の通信ソケット)を作成し、複数の通信クライアントのうち何れかの通信クライアントを起動する。さらに、本情報処理装置は、起動した通信クライアントと中継サーバとの通信において、作成した通信ソケットを介して、対応する通信プロトコルとHTTPとの間で通信データを調整して中継する。一方、本画像形成装置は、それぞれが異なる通信プロトコルによって通信可能な複数の通信サーバを備える。また、本画像形成装置は、接続先としてローカルホストを設定し、情報処理装置から指定された所定のポートを指定して、複数の通信サーバのうち何れかの通信サーバへの第2の通信ソケットを作成する。さらに、本画像形成装置は、当該通信サーバと中継サーバとの通信において、通信ソケット(第2の通信ソケット)を介して、対応する通信プロトコルとHTTPとの間で通信データを調整して中継する。これにより、本実施形態によれば、オペレータPC102と画像形成装置101との間で、VNCのような遠隔保守以外でも元々利用可能である通信機能がある場合に、それぞれの通信機能毎に転送処理を作り込む必要がなくなる。よって、汎用的な方法で通信データの転送を行うことができ、開発コスト等を削減することができる。また、通信機能ごとにアプリケーションを保持する必要がないため、各装置におけるメモリ資源を有効に活用することができる。
<第2の実施形態>
以下では、本発明の第2の実施形態について説明する。本実施形態では、WEB通信のような、複数のポートを切り替えながら使用する通信機能においても、上記第1の実施形態と同様に、汎用的な方法で通信データの転送を行う仕組みについて説明する。本実施形態のネットワーク構成、ハードウェア構成、及びソフトウェア構成については上記第1の実施形態と同様であるため説明は省略する。また、本実施形態のシステム全体の動作の流れも上記第1の実施形態と同様であるため説明を書略する。本実施形態では遠隔操作の例としてWEB操作を用いて説明を行う。WEB操作とは画像形成装置101が有するWEBサーバ機能に対してオペレータPC102のWEBブラウザで操作を行うことである。以下では、画像形成装置101、オペレータPC102、及び中継サーバ103のより詳細な処理を説明する。
<オペレータPCの処理手順>
図6を参照して、本実施形態に係るオペレータPC102の処理手順について説明する。本フローチャートは、例えばHDD224に格納されたプログラムがRAM223に読み出され、CPU221によって実行されることで実現される。以下で説明する処理は図2Bに示すオペレータPC102の中継サーバ通信処理部265において実施される。
本処理が開始されると、まずS601で、オペレータPC102の中継サーバ通信処理部265は、中継サーバ103にアクセスして、遠隔保守を行う画像形成装置101とのセッションを確立する。前述したように、詳細な確立方法については説明を省略する。続いて、中継サーバ通信処理部265はWEBの開始操作を受け付ける。具体的には、中継サーバ通信処理部265は、オペレータPC102の画面上に開始ボタンを表示して、マウスポインタでのクリックを受け付ける。WEB開始操作を受け付けるとS603に進み、中継サーバ通信処理部265は、WEB開始要求を中継サーバ103へ送信する。具体的には、中継サーバ通信処理部265は「アプリケーション名:WEB」及び「コマンド:開始」というデータをHTTPのボディ部に書き込んで中継サーバ103にリクエストをPOSTする。
次に、S604で、中継サーバ通信処理部265は、WEBブラウザを起動する。WEBブラウザを起動する際に、中継サーバ通信処理部265は、WEBブラウザのプロキシサーバ設定として、IPアドレスを「127.0.0.1」に設定し、ポート番号を「10000」に指定して起動する。ここで指定するポート番号は予めオペレータPC102に設定しておくものとする。本実施形態ではポート番号10000として説明する。
WEBブラウザが起動するとS605に進み、中継サーバ通信処理部265は、WEB停止操作を受け付けたかどうかを判定し、受け付けた場合はS623以降の終了処理に進む。一方、WEB停止操作を受け付けていなければS606に進み、中継サーバ通信処理部265は、まずソケットを作成してS604で指定したポートでListen(リスニング状態)を開始する。リスニング状態とは、上記第1の実施形態で述べた通りである。このポートは外部のWEBブラウザが、プロキシサーバとして接続してくるポートである。ポートのListenを開始した後、S607で、中継サーバ通信処理部265は、ソケットからデータをReadする。S607ではWEBブラウザから送信されるデータを受信することができる。
一般的にプロキシサーバ設定を行っているWEBブラウザは、例えば、「http://xxx:8000/yyy/zzz」というようなS606で待ち受けているポートと異なるURLにアクセスしても、プロキシサーバの接続先に接続することができる。また、一般的にプロキシサーバを設定しているWEBブラウザは、設定しない場合とは異なるHTTPヘッダやHTTPメソッドを使用して通信する。詳細については後述する。
データを受信するとS608に進み、中継サーバ通信処理部265は、受信したWEBブラウザのHTTPリクエストから画像形成装置101のWEBサーバへの接続先ポート番号を取得する。具体的には、WEBブラウザから受信したHTTPリクエストのヘッダには、「GET http://xxx:8000/yyy/zzz HTTP/1.1」というような情報が記載されている。このヘッダのURL部分から「8000」というポート番号を読み取って取得する。URLにおいてポート番号部分が省略されている場合、HTTPであれば80、HTTPSであれば443がデフォルト値となる。一般的なWEBブラウザでは、プロキシサーバを設定していない場合は、「GET /yyy/zzz HTTP/1.1」というような記述となる。
次に、S609で、中継サーバ通信処理部265は、受信したWEBブラウザのHTTPリクエストからHTTPメソッドを解析して、CONNECTメソッドかどうかを判定する。具体的にはWEBブラウザから受信したHTTPリクエストのヘッダの「GET http://xxx:8000/yyy/zzz HTTP/1.1」という記述の先頭部分がHTTPメソッドとなっている。S609の判定がCONNECTメソッドでない場合、S610で、中継サーバ通信処理部265は、S607でWEBブラウザから受信したHTTPリクエストのヘッダの書き換え処理を実行する。具体的には、中継サーバ通信処理部265は、「GET http://xxx:8000/yyy/zzz HTTP/1.1」を「GET /yyy/zzz HTTP/1.1」というように書き換え、プロキシサーバを通さない場合のHTTPのヘッダの形式に変更する。
次に、S611で、中継サーバ通信処理部265は、中継サーバ103に送信するためのHTTPのPOSTリクエストを作成し、そのHTTPボディ部に、S610で加工したWEBブラウザのHTTPリクエストを書き込む。具体的には、中継サーバ通信処理部265は、「Data=XXX(S610で加工したWEBブラウザのHTTPリクエスト)」という記述を行う。この後はS615の処理に進む。
一方、S609の判定がCONNECTメソッドである場合、S612に進み、中継サーバ通信処理部265は、HTTPのCONNECTレスポンスを生成して、S606で生成したソケットにWriteする。CONNECTメソッドはプロキシサーバを通してHTTPS通信を行う場合に使用するメソッドである。このため、WEBブラウザはCONNECTレスポンスが返ってきた後、SSL通信のハンドシェイクを含むWEBサーバと通信するための情報をソケットにWriteする。これを読み込むため、S613で、中継サーバ通信処理部265は、S606で作成したソケットからデータをReadする。
次に、S614で、中継サーバ通信処理部265は、中継サーバ103に送信するためのHTTPのPOSTリクエストを作成し、そのHTTPボディ部に、S613でReadしたデータを書き込む。具体的には、中継サーバ通信処理部265は、「Data=XXX(S613でReadしたデータ)」という記述を行う。この後はS615の処理に進む。
S611又はS614の処理の後、S615で、中継サーバ通信処理部265は、中継サーバ103に送信するためのHTTPのPOSTリクエストのHTTPボディ部に、S608で取得したポート番号を指定する。具体的には、中継サーバ通信処理部265は、HTTPボディ部に「Port=8000」という記述を行う。S611、S614、及びS615でHTTPのPOSTリクエストが完成すると、S616に進み、中継サーバ通信処理部265は、中継サーバ103にHTTPのPOSTリクエストを送信し、S617でPOSTレスポンスを受信する。
次に、S618で、中継サーバ通信処理部265は、中継サーバ103にHTTPのGETリクエストを送信し、S619でGETレスポンスを受信する。受信が完了すると、S620に進み、中継サーバ通信処理部265は、GETレスポンスのHTTPボディ部からデータを読み込む。具体的には、中継サーバ通信処理部265は、HTTPボディ部の「Data=」に続く部分を読み込む。S620で読み込んだデータは画像形成装置101のWEBサーバが送信してきたデータである。
データの読み込みが完了するとS621に進み、中継サーバ通信処理部265は、読み込んだデータをS606で作成したソケットにWriteする。そして、S622で、中継サーバ通信処理部265は、S606で作成したソケットを破棄する。中継サーバ通信処理部265は、S605のWEB停止操作が受け付けられるまで、S606乃至S622の処理を繰り返す。
一方、S605でWEB停止操作が受け付けられるとS623に進み、中継サーバ通信処理部265は、S604で起動したWEBブラウザを停止する。最後に、S624で、中継サーバ通信処理部265は、WEB停止要求を中継サーバ103へ送信し、処理を終了する。具体的には、中継サーバ通信処理部265は、「アプリケーション名:WEB」及び「コマンド:停止」というデータをHTTPのボディ部に書き込んで中継サーバ103にリクエストをPOSTする。
<画像形成装置の処理手順>
次に、図7を参照して、本実施形態に係る画像形成装置101の処理手順について説明する。処理の内容については、上記第1の実施形態の図4の説明と同様であるため、説明は省略する。ただし、S702及びS703で受け付ける機能がVNCではなく、WEBとなる部分のみ異なる。
<中継サーバの処理手順>
次に、本実施形態に係る中継サーバ103の処理手順について説明する。中継サーバ103の処理手順は、上記第1の実施形態の図5のフローチャートと同様であるため説明は省略する。
以上説明したように、本実施形態に係る情報処理システムは、上記第1の実施形態の構成に代替して、WEB通信のような、複数のポートを切り替えながら使用する通信機能においても、汎用的な方法で通信データの転送を行うことができる。これにより、画像形成装置101やオペレータPC102の通信処理部において、WEB通信が使用する全てのポート番号を予め管理しておく必要がある、という課題を解決することができる。
<第3の実施形態>
以下では、本発明の第3の実施形態について説明する。本実施形態では、WEBサーバが外部の認証サーバにログイン画面をリダイレクトする場合など、WEBサーバが外部のホストにリダイレクトを行う画面があったとしても、遠隔操作を実施可能な仕組みについて説明する。本実施形態のネットワーク構成、ハードウェア構成、及びソフトウェア構成については上記第1の実施形態と同様であるため説明は省略する。本実施形態のシステム全体の動作の流れも上記第2の実施形態と同様であるため説明を省略する。以下では、画像形成装置101、オペレータPC102、及び中継サーバ103のより詳細な処理を説明する。
<オペレータPCの処理手順>
まず、図8を参照して、本実施形態に係るオペレータPC102の処理手順について説明する。本フローチャートは、例えばHDD224に格納されたプログラムがRAM223に読み出され、CPU221によって実行されることで実現される。以下で説明する処理は図2Bに示すオペレータPC102の中継サーバ通信処理部265において実施される。処理の内容については、大部分が上記第2の実施形態の図5の説明と同様であるため、重複する処理の説明は省略する。即ち、S801乃至S807の処理についてはS601乃至S607の処理と同様である。
S807の後、S808に進み、中継サーバ通信処理部265は、受信したWEBブラウザのHTTPリクエストから画像形成装置101のWEBサーバへの接続先のホスト名とポート番号とを取得する。具体的には、WEBブラウザから受信したHTTPリクエストのヘッダには、「GET http://xxx:8000/yyy/zzz HTTP/1.1」というような情報が記載されている。中継サーバ通信処理部265は、このヘッダのURL部分からホスト名として「xxx」、ポート番号として「8000」という値を読み取って取得する。URLにおいてポート番号部分が省略されている場合、HTTPであれば80、HTTPSであれば443がデフォルト値となる。
その後のS809乃至S814の処理についてはS609乃至S614の処理と同様である。S811又はS814の処理の後、S815に進み、中継サーバ通信処理部265は、中継サーバ103に送信するためのHTTPのPOSTリクエストのHTTPボディ部に、S808で取得したホスト名とポート番号とを指定する。具体的には、中継サーバ通信処理部265は、HTTPボディ部に「Host=xxx」、及び「Port=8000」という記述を行う。その後のS816乃至S824の処理についてはS616乃至S624の処理と同様である。
<画像形成装置の処理手順>
次に、図9を参照して、本実施形態に係る画像形成装置101の処理手順について説明する。本フローチャートは、例えばHDD205に格納されたプログラムがRAM204に読み出され、CPU202によって実行されることで実現される。以下で説明する処理は図2Bに示す画像形成装置101の中継サーバ通信処理部255において実施される。処理の内容については、大部分が上記第2の実施形態の図6の説明と同様であるため、重複する処理の説明は省略する。S901乃至S906の処理については、S701乃至S706と同様である。
S906の後、S907に進み、中継サーバ通信処理部255は、GETレスポンスのHTTPボディ部から接続先のホスト名とポート番号とを取得する。具体的には、中継サーバ通信処理部255は、HTTPボディ部の「Host=」と「Port=」に続く部分をそれぞれ読み込む。次のS908の処理についてはS708と同様である。S908の後、S909に進み、中継サーバ通信処理部255は、接続先ホスト名と接続先ポート番号とにS907で取得したホスト名とポート番号とを指定して、ソケットをConnectし、S908で読み込んだデータをソケットにWriteする。その後のS910乃至S914の処理についてはS710乃至S714の処理と同様である。
<中継サーバの処理手順>
次に、図10を参照して、本実施形態に係る中継サーバ103の処理手順について説明する。本フローチャートは、例えばHDD244に格納されたプログラムがRAM243に読み出され、CPU241によって実行されることで実現される。以下で説明する処理は図2Bの中継サーバ103の転送処理部271において実施される。処理の内容については大部分が上記第1の実施形態の図4の説明と同様であるため、重複する処理の説明は省略する。S1001乃至S1011の処理についてはS501乃至S511と同様である。
S1011の後、S1012に進み、転送処理部271は、POSTリクエストのHTTPボディ部から接続先ホスト名とポート番号とを取得する。具体的には、転送処理部271は、HTTPボディ部の「Host=」と「Port=」に続く部分をそれぞれ読み込む。その後のS1013乃至S1016の処理についてはS513乃至S516と同様である。S1016の後、S1017に進み、転送処理部271は、要求元のクライアントに送信するためのHTTPのGETレスポンスを作成し、HTTPボディ部にキューからPopした接続先のホスト名とポート番号とを指定する。具体的には、転送処理部271は、HTTPボディ部に「Host=XXX(Popした接続先ホスト名)」及び「Port=XXX(Popした接続先ポート番号)」という記述を行う。その後のS1018乃至S1019の処理については、S518乃至S519と同様である。
以上説明したように、本実施形態に係る情報処理システムは、上記第2の実施形態の構成において、さらに、ポート番号に加えて、ホスト名をHTTPリクエストに指定する。これにより、画像形成装置101のWEBサーバが外部の認証サーバにログイン画面をリダイレクトする場合など、WEBサーバが外部のホストにリダイレクトを行う画面があったとしても、遠隔操作が実施できる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101:画像形成装置、102:オペレータPC、103:中継サーバ、104、105:ファイアウォール、106:ネットワーク

Claims (17)

  1. 中継サーバを介して画像形成装置と、情報処理装置との間で通信を行う情報処理システムであって、
    前記情報処理装置は、
    それぞれが異なる通信プロトコルによって通信可能な複数の通信クライアントと、
    接続先としてローカルホストを設定し、所定のポートを指定して、第1の通信ソケットを作成し、前記複数の通信クライアントのうち何れかの通信クライアントを起動し、起動した該通信クライアントと前記中継サーバとの通信において、前記第1の通信ソケットを介して、対応する前記通信プロトコルとHTTPとの間で通信データを調整して中継する第1の通信制御手段と、
    を備え、
    前記画像形成装置は、
    それぞれが異なる通信プロトコルによって通信可能な複数の通信サーバと、
    接続先としてローカルホストを設定し、前記情報処理装置から指定された前記所定のポートを指定して、前記複数の通信サーバのうち何れかの通信サーバへの第2の通信ソケットを作成し、当該通信サーバと前記中継サーバとの通信において、前記第2の通信ソケットを介して、対応する前記通信プロトコルとHTTPとの間で通信データを調整して中継する第2の通信制御手段と
    を備えることを特徴とする情報処理システム。
  2. 中継サーバを介して画像形成装置と、情報処理装置との間で通信を行う情報処理システムであって、
    前記情報処理装置は、
    それぞれが異なる通信プロトコルによって通信可能な複数の通信クライアントと、
    プロキシサーバとしてローカルホストを設定し、所定のポートを指定して、第1の通信ソケットを作成し、前記複数の通信クライアントのうち何れかの通信クライアントを起動し、起動した該通信クライアントと前記中継サーバとの通信において、前記第1の通信ソケットを介して、対応する前記通信プロトコルとHTTPとの間で通信データを調整して中継する第1の通信制御手段と、
    を備え、
    前記画像形成装置は、
    それぞれが異なる通信プロトコルによって通信可能な複数の通信サーバと、
    プロキシサーバとしてローカルホストを設定し、前記情報処理装置から指定された前記所定のポートを指定して、前記複数の通信サーバのうち何れかの通信サーバへの第2の通信ソケットを作成し、当該通信サーバと前記中継サーバとの通信において、前記第2の通信ソケットを介して、対応する前記通信プロトコルとHTTPとの間で通信データを調整して中継する第2の通信制御手段と
    を備えることを特徴とする情報処理システム。
  3. 前記第1の通信制御手段は、前記第1の通信ソケットを介して通信データを受信すると、前記通信データを送信した前記通信クライアントのサーバとなる前記画像形成装置の通信サーバへアクセスするためのポートのポート番号を設定して、当該通信データをHTTPリクエストとして送信することを特徴とする請求項1又は2に記載の情報処理システム。
  4. 前記情報処理装置は、前記画像形成装置の通信サーバへアクセスするためのポートのポート番号を予め保持していることを特徴とする請求項3に記載の情報処理システム。
  5. 前記第1の通信制御手段は、前記第1の通信ソケットを介して通信データを受信すると、前記通信データを送信した前記通信クライアントのサーバとなる前記画像形成装置の通信サーバへアクセスするためのポートのポート番号を設定し、当該通信データを、前記プロキシサーバを通さないHTTPリクエストとして送信することを特徴とする請求項2に記載の情報処理システム。
  6. 前記第1の通信制御手段は、前記第1の通信ソケットを介して通信データを受信すると、前記通信データを送信した前記通信クライアントのサーバとなる前記画像形成装置の通信サーバへアクセスするためのポートのポート番号を該受信した通信データを解析して設定し、当該通信データを、前記プロキシサーバを通さないHTTPリクエストとして送信することを特徴とする請求項2に記載の情報処理システム。
  7. 前記第1の通信制御手段は、前記ポート番号に加えて前記ローカルホストを設定し、当該通信データをHTTPリクエストとして送信することを特徴とする請求項5及び6の何れか1項に記載の情報処理システム。
  8. 前記第1及び第2の通信制御手段は、前記ローカルホストとして、自装置を示すIPアドレスを設定することを特徴とする請求項1乃至7の何れか1項に記載の情報処理システム。
  9. 前記自装置を示すIPアドレスは、ローカルループバックアドレスであることを特徴とする請求項8に記載の情報処理システム。
  10. 前記画像形成装置、前記情報処理装置、及び前記中継サーバは、ファイアウォールを介して接続されていることを特徴とする請求項1乃至9の何れか1項に記載の情報処理システム。
  11. 中継サーバを介して外部装置と通信を行う情報処理装置であって、
    それぞれが異なる通信プロトコルによって通信可能な複数の通信クライアントと、
    接続先又はプロキシサーバとしてローカルホストを設定し、所定のポートを指定して、通信ソケットを作成し、前記複数の通信クライアントのうち何れかの通信クライアントを起動し、起動した該通信クライアントと前記中継サーバとの通信において、前記通信ソケットを介して、対応する前記通信プロトコルとHTTPとの間で通信データを調整して中継する通信制御手段と、
    を備えることを特徴とする情報処理装置。
  12. 中継サーバを介して外部装置と通信を行う情報処理装置であって、
    それぞれが異なる通信プロトコルによって通信可能な複数の通信サーバと、
    接続先又はプロキシサーバとしてローカルホストを設定し、前記外部装置から指定された所定のポートを指定して、前記複数の通信サーバのうち何れかの通信サーバへの通信ソケットを作成し、当該通信サーバと前記中継サーバとの通信において、前記通信ソケットを介して、対応する前記通信プロトコルとHTTPとの間で通信データを調整して中継する通信制御手段と、
    を備えることを特徴とする情報処理装置。
  13. 前記情報処理装置は、画像形成装置であることを特徴とする請求項11又は12に記載の情報処理装置。
  14. それぞれが異なる通信プロトコルによって通信可能な複数の通信クライアントを有し、中継サーバを介して外部装置と通信を行う情報処理装置の制御方法であって、
    接続先又はプロキシサーバとしてローカルホストを設定し、所定のポートを指定して、通信ソケットを作成する工程と、
    前記複数の通信クライアントのうち何れかの通信クライアントを起動する工程と、
    起動した前記通信クライアントと前記中継サーバとの通信において、前記通信ソケットを介して、対応する前記通信プロトコルとHTTPとの間で通信データを調整して中継する工程と
    を実行することを特徴とする情報処理装置の制御方法。
  15. それぞれが異なる通信プロトコルによって通信可能な複数の通信サーバを有し、中継サーバを介して外部装置と通信を行う情報処理装置の制御方法であって、
    接続先又はプロキシサーバとしてローカルホストを設定し、前記外部装置から指定された所定のポートを指定して、前記複数の通信サーバのうち何れかの通信サーバへの通信ソケットを作成する工程と、
    当該通信サーバと前記中継サーバとの通信において、前記通信ソケットを介して、対応する前記通信プロトコルとHTTPとの間で通信データを調整して中継する工程と
    を実行することを特徴とする情報処理装置の制御方法。
  16. それぞれが異なる通信プロトコルによって通信可能な複数の通信クライアントを有し、中継サーバを介して外部装置と通信を行う情報処理装置の制御方法における各工程をコンピュータに実行させるためのプログラムであって、前記制御方法は、
    接続先又はプロキシサーバとしてローカルホストを設定し、所定のポートを指定して、通信ソケットを作成する工程と、
    前記複数の通信クライアントのうち何れかの通信クライアントを起動する工程と、
    起動した前記通信クライアントと前記中継サーバとの通信において、前記通信ソケットを介して、対応する前記通信プロトコルとHTTPとの間で通信データを調整して中継する工程と
    を実行することを特徴とするプログラム。
  17. それぞれが異なる通信プロトコルによって通信可能な複数の通信サーバを有し、中継サーバを介して外部装置と通信を行う情報処理装置の制御方法における各工程をコンピュータに実行させるためのプログラムであって、前記制御方法は、
    接続先又はプロキシサーバとしてローカルホストを設定し、前記外部装置から指定された所定のポートを指定して、前記複数の通信サーバのうち何れかの通信サーバへの通信ソケットを作成する工程と、
    当該通信サーバと前記中継サーバとの通信において、前記通信ソケットを介して、対応する前記通信プロトコルとHTTPとの間で通信データを調整して中継する工程と
    を実行することを特徴とするプログラム。
JP2017002843A 2017-01-11 2017-01-11 情報処理装置、その制御方法、プログラム、及び情報処理システム Pending JP2018112895A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017002843A JP2018112895A (ja) 2017-01-11 2017-01-11 情報処理装置、その制御方法、プログラム、及び情報処理システム
US15/858,135 US10367894B2 (en) 2017-01-11 2017-12-29 Information processing apparatus, method for controlling the same, non-transitory computer-readable storage medium, and information processing system
CN201810018589.6A CN108306943B (zh) 2017-01-11 2018-01-09 信息处理装置、其控制方法、存储介质及信息处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017002843A JP2018112895A (ja) 2017-01-11 2017-01-11 情報処理装置、その制御方法、プログラム、及び情報処理システム

Publications (1)

Publication Number Publication Date
JP2018112895A true JP2018112895A (ja) 2018-07-19

Family

ID=62782371

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017002843A Pending JP2018112895A (ja) 2017-01-11 2017-01-11 情報処理装置、その制御方法、プログラム、及び情報処理システム

Country Status (3)

Country Link
US (1) US10367894B2 (ja)
JP (1) JP2018112895A (ja)
CN (1) CN108306943B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020040301A (ja) * 2018-09-11 2020-03-19 サトーホールディングス株式会社 プリンタ、情報処理システム、情報処理方法、および、プログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10630864B2 (en) * 2018-04-30 2020-04-21 Kyocera Document Solutions Inc. Image forming apparatus, image forming system, and communication processing method allowing log storage of remote maintenance connection
JP6700564B1 (ja) * 2018-12-28 2020-05-27 富士通クライアントコンピューティング株式会社 情報処理システム
CN114746851A (zh) * 2020-03-13 2022-07-12 株式会社Pfu 数据处理装置、数据处理方法以及程序
JP2022186165A (ja) * 2021-06-04 2022-12-15 キヤノン株式会社 情報処理システム、情報処理装置とその制御方法及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5167679B2 (ja) 2007-04-17 2013-03-21 富士ゼロックス株式会社 遠隔操作システム、サーバ、クライアント及び遠隔操作プログラム
US8533312B2 (en) * 2010-08-05 2013-09-10 Citrix Systems, Inc. Systems and methods for server initiated connection management in a multi-core system
CN103297384A (zh) * 2012-02-22 2013-09-11 航天信息股份有限公司 协议转换的通信方法及系统
US9094433B2 (en) * 2012-06-27 2015-07-28 Qualcomm Incorporated Systems and methods for bearer independent protocol gateway optimization
JP6011167B2 (ja) * 2012-09-03 2016-10-19 ブラザー工業株式会社 通信中継プログラム、及び、通信中継装置
JP6243654B2 (ja) 2013-08-05 2017-12-06 キヤノン株式会社 通信システム、情報処理装置とその制御方法、及びプログラム
JP2015179894A (ja) * 2014-03-18 2015-10-08 キヤノン株式会社 情報処理装置、システム、情報処理方法及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020040301A (ja) * 2018-09-11 2020-03-19 サトーホールディングス株式会社 プリンタ、情報処理システム、情報処理方法、および、プログラム
JP7161351B2 (ja) 2018-09-11 2022-10-26 サトーホールディングス株式会社 プリンタ、情報処理システム、情報処理方法、および、プログラム

Also Published As

Publication number Publication date
US20180198870A1 (en) 2018-07-12
CN108306943B (zh) 2020-10-16
CN108306943A (zh) 2018-07-20
US10367894B2 (en) 2019-07-30

Similar Documents

Publication Publication Date Title
CN108306943B (zh) 信息处理装置、其控制方法、存储介质及信息处理系统
JP6862191B2 (ja) 情報処理装置、その制御方法、及び、プログラム
JP5641921B2 (ja) 画像処理装置、画像処理装置と外部装置を有するシステム、システムの制御方法、及びプログラム
JP2004326776A (ja) 分散型周辺デバイス制御システムおよび方法
JP2007219711A (ja) リモートデバイス制御プログラム
JP2014102620A (ja) 通信中継プログラム、及び、通信中継装置
JP2017033143A (ja) 画像形成装置、制御方法、およびプログラム
JP2015125657A (ja) 情報処理装置、その制御方法およびコンピュータプログラム
JP6344907B2 (ja) 情報処理装置、システムおよび情報処理装置の制御方法
US20070199065A1 (en) Information processing system
JP6429559B2 (ja) 通信装置、通信システム、情報処理方法及びプログラム
US20200089445A1 (en) Information processing apparatus, method of controlling same, and storage medium
JP2017010388A (ja) Httpサーバとその制御方法、画像形成装置およびプログラム
JP5673216B2 (ja) 通信制御装置、通信制御システム、及び通信制御プログラム
JP2004355511A (ja) 情報処理システム
JP2013042466A (ja) 情報処理装置、情報処理方法およびプログラム
CN112565458B (zh) 平台远程控制方法和装置、存储介质及电子设备
JP2019070981A (ja) 画像処理装置、画像処理装置の制御方法及びプログラム
JP6516539B2 (ja) 通信装置、通信方法、およびプログラム
JP5806503B2 (ja) 通信システム、通信装置、それらの制御方法、及びプログラム
JP4398192B2 (ja) データ処理方法及びデータ処理システム
JP2019016223A (ja) 通信システム、通信装置とその制御方法、及びプログラム
JP6444125B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6198511B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6288206B2 (ja) プログラム及び装置