説明

端末装置、サーバ装置、通信システム、端末装置の制御方法、プログラムおよびその記録媒体

【課題】ファイアウォールが構築されている場合であってもMFP200の動作をアプリケーションサーバ330から制御する。
【解決手段】MFP200に、ウェブブラウザ部251と、第2ウェブサーバ部252と、MFP200の動作を制御するための制御コマンドが格納された制御コマンド格納部と、制御コマンドに基づいてMFP200の動作を制御する制御アプリケーション部253とを備える。ウェブブラウザ部251はアプリケーションサーバ330から受信したウェブページに含まれているHTTPリダイレクト命令に基づいて制御コマンド格納部における所定のアドレスにリダイレクトすることで当該HTTPリダイレクト命令に対応する制御コマンドを取得し、第2ウェブサーバ部252はウェブブラウザ部251が取得した制御コマンドに基づいて制御アプリケーション部253にMFP200の動作を制御させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ファイアウォール(ネットワークファイアウォール)の内側に配置された端末装置の機能をファイアウォールの外側に配置されたサーバ装置から制御するための端末装置、サーバ装置、通信システム、端末装置の制御方法、プログラムおよびその記録媒体に関するものである。
【背景技術】
【0002】
図1(a)は、コンピュータネットワークにおける端末装置(端末ノード)110とアプリケーションサーバ120との間の双方向通信を示す説明図である。端末装置110は、アプリケーションサーバ120において実行されるアプリケーション(例えば画像処理機能および/または他のサービス機能など)を呼び出して利用することができる。
【0003】
典型的な端末装置110では、内蔵しているウェブブラウザをアプリケーションサーバ120のアプリケーションに接続してユーザインターフェース(UI)チャンネル130を確立することにより、アプリケーションの実行を開始する。端末装置110のユーザ131は、UIチャンネル130を介してアプリケーションサーバ120のアプリケーション(遠隔アプリケーション)との対話を行う。ユーザ131によって画像処理機能が要求された場合、上記アプリケーションは、端末装置110に対するプロトコルメソッドコール(protocol method call)を開始する。上記アプリケーションによって開始される上記プロトコルメソッドコールは、コマンドチャンネル140と呼ばれる。これにより、アプリケーションサーバ120のアプリケーションは、コマンドチャンネル140を介して端末装置110を制御する。
【0004】
端末装置110とアプリケーションサーバ120とが互いに直接接続可能である場合には、UIチャンネル130およびコマンドチャンネル140を実現可能である。
【0005】
図1(b)は、端末装置110とアプリケーションサーバ120との間の双方向通信を行えない場合を示す説明図である。この図に示す例では、ネットワークアクセスが非対称、すなわち一方の装置から他方の装置への接続しかできない状態になっており、双方向通信を行えない状態になっている。
【0006】
端末装置110は、ファイアウォール150によって保護されたネットワーク環境内に配置されている。ファイアウォールの内部からファイアウォールの外部へのネットワーク接続の開始は許容されるので、UIチャンネル130を適切に機能させ、端末装置110からアプリケーションサーバ120に接続することは可能である。しかしながら、アプリケーションサーバ120において動作するアプリケーションから端末装置110への接続はファイアウォールによってブロックされるので、コマンドチャンネル140を用いて上記アプリケーションと端末装置110とを接続することはできない。
【0007】
アプリケーションサーバ120による端末装置110へのアクセスは、上記アプリケーションと端末装置110を有するネットワークとの間の仮想プライベートネットワーク(VPN;virtual private network)接続によって実現可能である。仮想プライベートネットワークを実装することにより、アプリケーションサーバ120のアプリケーションと端末装置110との間の仮想直接接続(トンネル)を開き、アプリケーションサーバ120のアプリケーションと端末装置110との間の双方向通信のためのUIチャンネル130およびコマンドチャンネル140を確立することができる。
【0008】
なお、特許文献1には、複数のサービス手段によって提供されるサービスを、ファイアウォール内における利用環境を維持したまま、ファイアウォールの外側からでも利用できるようにするために、SOAPリクエストをHTTPリクエストに含めた状態で受信し、そのSOAPリクエストに対する応答であるSOAPレスポンスをHTTPレスポンスに含めて送信するサービス提供部を複数備えたサーバ装置に、外部装置と上記複数のサービス提供部との間の通信を仲介する仲介機能部の機能を付加することにより、外部装置とサーバ装置との間で、上記複数のサービス提供部の動作に係るSOAPリクエスト及びSOAPレスポンスを複数一括して送受信できるようにする技術が開示されている。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2005−322222号公報(平成17年11月17日公開)
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、仮想プライベートネットワークは、一般に、追加の構成部材、および既存のネットワークに対するネットワーク構成の変更が必要なので、装置構成の複雑化を招くという問題がある。また、上記特許文献1の技術においても、外部装置と上記複数のサービス提供部との間の通信を仲介する仲介機能部を付加する必要があるので、装置構成の複雑化を招いてしまう。
【0011】
また、仮想プライベートネットワークを不注意に与えると、仮想プライベートネットワークを与えない場合にはアクセスが制限されていたファイアウォールの外部に設けられている装置のアクセス制限を外すことになるので、ファイアウォール内に配置されている他の装置のセキュリティーを危険にさらしてしまうという問題がある。
【0012】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、サーバ装置と端末装置との間にファイアウォールが構築されている場合であっても端末装置の機能をサーバ装置から制御可能にすることにある。
【課題を解決するための手段】
【0013】
本発明の端末装置は、上記の課題を解決するために、第1ウェブサーバ部を備えたサーバ装置とネットワークを介して通信可能に接続され、かつ上記サーバ装置からのアクセスがファイアウォールによって制限される端末装置であって、上記サーバ装置からウェブページデータを取得するウェブブラウザと、当該端末装置の機能を制御する制御アプリケーション部とを備え、上記ウェブブラウザは、上記サーバ装置から受信したウェブページデータに含まれているHTTPリダイレクト命令に基づいて当該端末装置内の所定のアドレスにリダイレクトすることで当該HTTPリダイレクト命令に対応する制御コマンドを取得し、上記制御アプリケーション部は、上記ウェブブラウザが取得した上記制御コマンドに基づいてに当該端末装置の機能を制御することを特徴としている。
【0014】
上記の構成によれば、ウェブブラウザがサーバ装置から受信したウェブページデータに含まれているHTTPリダイレクト命令に基づいて当該端末装置内の所定のアドレスにアクセスすることで当該HTTPリダイレクト命令に対応する制御コマンドを取得し、上記制御アプリケーションはウェブブラウザが取得した上記制御コマンドに基づいて当該端末装置の機能を制御する。なお、ウェブページデータはサーバ装置と端末装置との間にファイアウォールが構築されている場合であってもサーバ装置から端末装置に送信することができる。また、ウェブブラウザは端末装置に備えられているので、ウェブブラウザと上記所定のアドレスとの間にはファイアウォールは構築されていない。したがって、サーバ装置と端末装置との間にファイアウォールが構築されている場合であっても、サーバ装置から送信されるウェブページデータに含まれるHTTPリダイレクト命令に基づいて制御コマンドを特定することができるので、サーバ装置から端末装置の機能を制御することができる。
【0015】
また、HTTPリダイレクトの機能は、従来から利用されているウェブブラウザおよびウェブサーバが認識可能なものであるため、端末装置に備えられるウェブブラウザ、およびサーバ装置に備えられる第1ウェブサーバ部を動作させるソフトウェアとして、従来から利用されているウェブサーバおよびウェブブラウザを用いることができる。
【0016】
また、上記制御アプリケーション部は、上記制御コマンドに基づいて上記端末装置の動作を制御した結果を示す結果情報を生成し、上記ウェブブラウザは上記結果情報を上記サーバ装置に送信する構成としてもよい。
【0017】
上記の構成によれば、端末装置の動作結果をサーバ装置に通知することができ、サーバ装置が上記動作結果に応じて端末装置に対する次の制御を行うことができる。
【0018】
また、上記端末装置は、コピー機能部、プリンタ機能部、スキャナ機能部、FAX機能部、および通信機能部のうちの少なくとも1つの機能を有しており、上記制御アプリケーションは、上記制御コマンドに基づいて少なくとも1つの上記機能を制御する構成としてもよい。
【0019】
上記の構成によれば、端末装置に備えられる各機能をサーバ装置によって制御することができる。したがって、これら各機能を制御するためのアプリケーション等の更新等を行う場合に、サーバ装置において更新作業を行うだけでよく、端末装置において更新作業を行う必要がない。
【0020】
また、上記制御コマンドはSOAPコール命令であってもよい。また、上記ウェブブラウザはHTTPプロトコルに基づいて処理を行うものであってもよい。また、上記ウェブブラウザと上記サーバ装置とのHTTP接続が上記ウェブブラウザによって開始される構成であってもよい。また、上記ウェブブラウザは上記サーバ装置から上記HTTPリダイレクト命令を含むHTTPペイロードを有するウェブページデータを受信する構成であってもよい。また、上記結果情報を上記サーバ装置に送信する処理が、HTTP GET、およびHTTP POSTのうちの少なくとも一方を用いて行われる構成であってもよい。
【0021】
本発明のサーバ装置は、上記したいずれかの端末装置とネットワークを介して通信可能に接続されるサーバ装置であって、第1ウェブサーバ部と、上記端末装置の機能を制御するためのアプリケーションを実行するアプリケーション処理部とを備え、上記第1ウェブサーバ部は、上記アプリケーション処理部による上記端末装置の動作の制御内容に応じた制御コマンドが格納されている上記端末装置内のアドレスへのリダイレクトを上記ウェブブラウザに実行させるためのHTTPリダイレクト命令を含むウェブページデータを生成することを特徴としている。
【0022】
また、本発明の通信システムは、上記したいずれかの端末装置と上記サーバ装置とがネットワークを介して通信可能に接続されていることを特徴としている。
【0023】
上記のサーバ装置および通信システムによれば、サーバ装置から端末装置に送信するウェブページデータにHTTPリダイレクト命令を含めることにより、端末装置のウェブブラウザに、上記アプリケーション処理部による当該端末装置の機能の制御内容に応じた制御コマンドが格納されている当該端末装置内のアドレスへのリダイレクトを行わせることができる。これにより、アプリケーション処理部による上記端末装置の機能の制御内容に応じた制御コマンドに基づいて端末装置の機能を制御させることができる。したがって、端末装置の機能をサーバ装置から制御することができる。また、HTTPリダイレクトの機能は、従来から利用されているウェブブラウザおよびウェブサーバが認識可能なものであるため、端末装置に備えられるウェブブラウザ、およびサーバ装置に備えられる第1ウェブサーバ部を動作させるソフトウェアとして、従来から利用されているウェブサーバおよびウェブブラウザを用いることができる。
【0024】
本発明の端末装置の制御方法は、第1ウェブサーバ部を備えたサーバ装置とネットワークを介して通信可能に接続され、かつ上記サーバ装置からのアクセスがファイアウォールによって制限される端末装置の制御方法であって、上記端末装置は、上記サーバ装置からウェブページデータを取得するウェブブラウザと、当該端末装置の動作を制御する制御アプリケーション部とを備えており、上記ウェブブラウザが上記サーバ装置からウェブページデータを取得する工程と、上記ウェブブラウザが、上記サーバ装置から取得した上記ウェブページデータに含まれているHTTPリダイレクト命令に基づいて上記端末装置内の所定のアドレスにリダイレクトすることで当該HTTPリダイレクト命令に対応する制御コマンドを取得する工程と、上記制御アプリケーション部が、上記ウェブブラウザが取得した上記制御コマンドに基づいて当該端末装置の機能を制御する工程とを含むことを特徴としている。
【0025】
上記の方法によれば、ウェブブラウザがサーバ装置から受信したウェブページデータに含まれているHTTPリダイレクト命令に基づいて上記端末装置内の所定のアドレスにアクセスすることで当該HTTPリダイレクト命令に対応する制御コマンドを取得し、上記制御アプリケーションはウェブブラウザが取得した上記制御コマンドに基づいて当該端末装置の機能を制御する。これにより、サーバ装置と端末装置との間にファイアウォールが構築されている場合であっても、サーバ装置から送信されるウェブページデータに含まれるHTTPリダイレクト命令に基づいて制御コマンドを特定することができるので、サーバ装置から端末装置の機能を制御することができる。また、HTTPリダイレクトの機能は、従来から利用されているウェブブラウザおよびウェブサーバが認識可能なものであるため、端末装置に備えられるウェブブラウザ、およびサーバ装置に備えられる第1ウェブサーバ部を動作させるソフトウェアとして、従来から利用されているウェブサーバおよびウェブブラウザを用いることができる。
【0026】
なお、上記端末装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記ウェブブラウザ、および上記制御アプリケーション部として機能させることにより、上記端末装置をコンピュータにて実現させるプログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に含まれる。
【0027】
同様に、上記サーバ装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記第1ウェブサーバ部、および上記アプリケーション処理部として機能させることにより、上記サーバ装置をコンピュータにて実現させるプログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に含まれる。
【発明の効果】
【0028】
以上のように、本発明の端末装置は、上記ウェブブラウザは、上記サーバ装置から受信したウェブページデータに含まれているHTTPリダイレクト命令に基づいて当該端末装置内の所定のアドレスにリダイレクトすることで当該HTTPリダイレクト命令に対応する制御コマンドを取得し、上記制御アプリケーション部は、上記ウェブブラウザが取得した上記制御コマンドに基づいて当該端末装置の機能を制御する。
【0029】
また、本発明の端末装置の制御方法は、上記ウェブブラウザが、上記サーバ装置から取得した上記ウェブページデータに含まれているHTTPリダイレクト命令に基づいて上記端末装置内の所定のアドレスにリダイレクトすることで当該HTTPリダイレクト命令に対応する制御コマンドを取得する工程と、上記制御アプリケーション部が、上記ウェブブラウザが取得した上記制御コマンドに基づいて当該端末装置の機能を制御する工程とを含む。
【0030】
それゆえ、本発明の端末装置および端末装置の制御方法によれば、サーバ装置と端末装置との間にファイアウォールが構築されている場合であっても、サーバ装置から端末装置の機能を制御することができる。
【図面の簡単な説明】
【0031】
【図1】(a)および(b)は端末装置とアプリケーションサーバとがネットワークを介して接続された従来の構成を示す説明図であり、(a)は端末装置とアプリケーションサーバとの間にファイアウォールが存在しない場合、(b)は端末装置とアプリケーションサーバとの間にファイアウォールが存在する場合を示している。
【図2】本発明の一実施形態にかかるMFP(多機能周辺装置)の構成を示すブロック図である。
【図3】本発明の一実施形態にかかる通信システムにおける、HTTPベースのリダイレクト処理によって双方向通信が確立されている状態を示すブロック図である。
【図4】本発明の一実施形態にかかるMFPにおける処理の流れを示すフローチャートである。
【図5】本発明の一実施形態にかかる通信システムにおける、HTTPリダイレクト処理によって双方向通信が確立されている状態を示すブロック図である。
【図6】本発明の一実施形態にかかる演算装置の機能ブロック図である。
【図7】本発明の一実施形態にかかる通信システムの構成を示すブロック図である。
【図8】本発明の一実施形態にかかる通信システムで用いられるスクリプトファイルの一例を示す説明図である。
【図9】本発明の一実施形態にかかる通信システムにおける、HTTPベースのリダイレクト処理によって双方向通信が確立されている状態を示すブロック図である。
【図10】本発明の一実施形態にかかる通信システムにおける、HTTPリダイレクト処理によって双方向通信が確立されている状態を示すブロック図である。
【発明を実施するための形態】
【0032】
本発明の一実施形態について説明する。
【0033】
(1−1.MFP200の構成)
図2は、本実施形態にかかるMFP(multifunction peripheral;複合機、多機能周辺装置)200の概略構成を示すブロック図である。この図に示すように、MFP200は、インターフェースポート202、インターフェース制御部204、データバス206、制御部(処理モジュール)208、ROM(read-only memory)210、RAM(random access memory)212、大容量記憶部214、画像ログ記憶部216、ユーザインターフェース218、スキャン制御部220、FAX(facsimile)制御部222、コピー制御部224、プリント制御部226、通信制御部228、スキャナ230、プリンタ240、出力方向センサー242、および通信部244を備えている。
【0034】
インターフェースポート202には、プリンタケーブル、USBデバイス、ネットワークリンク、あるいは外部無線モジュールなどが接続される。
【0035】
インターフェース制御部204は、インターフェースポート202とデータバス206との間に設けられており、データバス206を介して接続されているMFP200の1または複数の装置(制御部208、スキャン制御部220、FAX制御部222、コピー制御部224、プリント制御部226など)とインターフェースポート202との間を直接通信可能にするとともに、これら各装置の状態を示す信号の送受信を制御する。
【0036】
制御部208は、命令を実行するプロセッサおよび/または演算回路からなり、ROM210からのデータの取り出し、RAM212とのデータ交換、RAM212の記憶容量を超えるデータの大容量記憶部214への保存などを行う。なお、インターフェース制御部204、スキャン制御部220、FAX制御部222、コピー制御部224、プリント制御部226、および通信制御部228のうちの一部または全部の機能を制御部208が行う構成としてもよい。
【0037】
ユーザインターフェース218は、ユーザからの指示を受け付ける指示入力部、およびユーザに各種情報を提示するための表示部を備えている(いずれも図示せず)。なお、上記指示入力部は、ユーザからの指示入力に応じた出力データをUSBキーボード形式で制御部208に出力するキーボード、タッチパネル、あるいはキー操作部等であってもよい。
【0038】
画像ログ記憶部216は、MFP200において取り扱った画像のログ情報を記憶する。画像ログ記憶部216は、個別の記憶部であってもよく、分散して備えられる構成、例えば、制御部208が、パラメータ、ファイル、索引、あるいはこれらの組み合わせなどをROM210、RAM212、大容量記憶部214、あるいはこれらの組み合わせに分散して記憶させる構成であってもよい。
【0039】
ウェブブラウザプログラム250は、ROM210、MFP200に付加されるオプション装置(図示せず)、および他の演算装置(典型的には後述する図6に示す演算装置)のいずれか、またはこれら各装置に分散して記憶されている。なお、ウェブブラウザプログラム250を大容量記憶部214に記憶させておき、RAM212にロードするようにしてもよい。制御部208は、ウェブブラウザプログラム250を実行し、ユーザインターフェース218の表示部に各種情報を表示させる。
【0040】
スキャン制御部220、FAX制御部222、コピー制御部224は、スキャナ230との直接通信、および/または、例えばデータバス206を介したスキャナ230と1または複数の装置との間の信号の送受信を制御する。これら各制御部は、それぞれ個別に設けられていてもよく、一体的に設けられていてもよい。
【0041】
FAX制御部222、コピー制御部224、およびプリント制御部226は、プリンタ240との直接通信、および/または、例えばデータバス206を介したプリンタ240と1または複数の装置との間の信号の送受信を制御する。これら各制御部は、それぞれ個別に設けられていてもよく、一体的に設けられていてもよい。
【0042】
通信制御部228は、通信部244の動作を制御する。通信部244は、ネットワークを介して通信可能に接続された他の装置との間で通信を行う。なお、上記ネットワークとしては、例えば、インターネット、電話線、シリアルケーブル、または、他の有線回線もしくは無線回線などの通信回線を利用できる。例えば、通信部244は、アプリケーションサーバ330との間でHTTPを用いた通信を行う。また、通信部244は、アクセス先として自装置内のIPアドレスが示されている場合、MFP200内部に備えられている後述する第2ウェブサーバ部252にアクセスすることもできるようになっている。
【0043】
また、MFP200は、ROM210、RAM212、大容量記憶部214、あるいはこれらの組み合わせに、キャリブレーションテーブルを記憶している。制御部208、あるいは制御部208に接続される外部装置(例えばUSBポートを介して接続される1または複数のキーボード装置)は、プリント制御部226および/またはインターフェースポート202を介してこのキャリブレーションテーブルにアクセスすることができる。
【0044】
なお、ユーザインターフェース218に対するユーザからの指示入力や、プリンタ240の出力方向センサー242の検出結果などを通知する通知手段を備えていてもよく、インターフェースポート202を介してMFP200に接続される外部装置に送信する送信手段を備えていてもよい。
【0045】
(1−2.通信システム1の構成)
図7は本実施形態にかかる通信システム1の概略構成を示す説明図である。この図に示すように、通信システム1は、MFP200とアプリケーションサーバ(サーバ装置)330とがネットワークを介して通信可能に接続されている。また、MFP200とアプリケーションサーバ330との間にはファイアウォール340が設けられており、MFP200はファイアウォールによって保護されたネットワーク環境内に配置されている。なお、上記ネットワークとしては、インターネット、電話線、シリアルケーブル、または、他の有線回線もしくは無線回線などの通信回線が利用できる。また、MFP200とアプリケーションサーバ330とは、ウェブサーバとウェブブラウザとの間の通信(例えば、ウェブページの要求および送信)に用いられるプロトコルであるHTTP(Hypertext Transfer Protocol:ハイパーテキスト転送プロトコル)を用いて通信を行うようになっている。
【0046】
MFP200は、HTML形式の制御情報を、HTTPを用いてアプリケーションサーバ330から受け取る。そして、MFP200は、受け取った制御情報に基づいて、MFP200の各種機能(例えば、スキャン機能、FAX機能、コピー機能、プリンタ機能、通信機能など)を実行する。例えば、MFP200は、アプリケーションサーバ330から操作画面(ウェブページ)を示すHTML(Hypertext Markup Language)データを受け取り、当該HTMLデータで示される操作画面をユーザインターフェース218の表示部218bに表示させる。そして、MFP200は、ユーザからユーザインターフェース218の入力部218aを介して入力された操作画面に対する指示に応じてMFP200の各種機能を実行する。また、MFP200は、アプリケーションサーバ330から受信した制御情報にHTTPリダイレクト命令が含まれている場合には、当該HTTPリダイレクト命令に応じてHFP200内の第2ウェブサーバ部252にアクセスして当該HTTPリダイレクト命令に応じた制御コマンドを取得し、取得した制御コマンドに応じてMFP200の各部の動作を制御する。例えば、MFP200は、Java(登録商標)スクリプトで記載されている制御コマンド(ローカル命令)を実行することにより、MFP200の各種機能を実行する。
【0047】
アプリケーションサーバ330は、制御部351および通信部354を備えている。
【0048】
通信部354は、LANやインターネット回線等を介してHTTPの通信プロトコルを用いてMFP200との通信を行う。
【0049】
制御部351は、CPUや専用プロセッサなどの演算処理部、および、RAM、ROM、HDDなどの記憶部などにより構成されるコンピュータ装置であり、アプリケーションサーバ330の各部の動作を制御する。また、制御部351は、第1ウェブサーバ部352およびアプリケーション部353の処理を行う。
【0050】
第1ウェブサーバ部352は、ウェブサーバのソフトウェアに従って動作し、ウェブブラウザに対して当該ウェブブラウザから指定された各種情報(例えばHTMLやオブジェクト(画像等))を提供する。ここで、ウェブサーバとは、インターネット上の情報システムであるWWW(World Wide Web)を構成するサーバ装置の機能を提供するソフトウェアであり、当該ウェブサーバが動作する装置内に存在する各種情報のうち、ウェブブラウザから指定された情報を当該ウェブブラウザに提供する。第1ウェブサーバ部352は、通信部354を介してMFP200からの要求(HTTPリクエスト)を受信し、当該要求に応じたファイルや画像データ、印刷データ、制御情報などを、通信部354を介してMFP200に応答する。
【0051】
アプリケーション部353は、第1ウェブサーバ部352からの指示に応じて、所定のウェブアプリケーションに従った動作を行う。すなわち、アプリケーション部353は、ウェブサーバ上で動作する各種のウェブアプリケーションに従った動作を行う。このウェブアプリケーションは、例えば、Java(登録商標)スクリプトで記載されたカスタムアプリケーションであり、ウェブサーバ上に設けられたJava(登録商標)スクリプト実行環境で動作するアプリケーションである。
【0052】
例えば、アプリケーション部353は、MFP200からの要求(HTTPリクエスト)が操作画面(ウェブページ)の送信要求である場合、操作画面送信アプリケーションに従った動作を行う。具体的には、アプリケーション部353は、当該送信要求で示される操作画面のHTMLデータを記憶部から読み出し、第1ウェブサーバ部352に送る。また、アプリケーション部353は、MFP200からの要求が印刷データの送信要求である場合、印刷アプリケーションに従った動作を行う。具体的には、アプリケーション部353は、当該送信要求で示されるフォルダ名のフォルダから指定されたファイル名の印刷データを取得し、その印刷データを第1ウェブサーバ部352に送る。また、アプリケーション部353は、MFP200からの要求がユーザの認証要求である場合、認証アプリケーションに従った動作を行う。具体的には、アプリケーション部353は、当該認証要求で示されるユーザ名やパスワード等を用いて認証処理を行い、その認証結果に応じた操作画面を示すHTMLデータを生成し、第1ウェブサーバ部352に送る。
【0053】
また、本実施形態では、アプリケーション部353は、MFP200の機能(例えば、スキャナ機能、FAX機能、コピー機能、プリント機能、通信機能など)を制御する場合、ウェブブラウザ部251のアクセス先をMFP200内部の第2ウェブサーバ部252に変更させるためのHTTPリダイレクト命令を含むウェブページを生成し、HTTPレスポンスとしてMFP200のウェブブラウザ部251に送信する。これにより、MFP200は、アプリケーション部353を有するアプリケーションサーバ330からの制御コマンドではなく、内部の制御アプリケーション部253からの制御コマンドに従って各種機能を制御することができる。すなわち、第2ウェブサーバ部252は制御アプリケーション部253によってMFP200の各機能を制御するための制御コマンドを記憶している。また、アプリケーションサーバ330のアプリケーション部353は、MFP200の各機能を制御する際、第2ウェブサーバ部252における当該機能の制御に用いる制御コマンドのアドレスにHTTPリダイレクトさせるためのHTTPリダイレクト命令を含むウェブページを生成してMFP200のウェブブラウザ部251に送信する。そして、MFP200のウェブブラウザ部251はアプリケーションサーバ330から取得したHTTPレスポンスに含まれるHTTPリダイレクト命令に基づいて第2ウェブサーバ242の所定のアドレスにアクセス(HTTPリダイレクト)することでアプリケーションサーバ330のアプリケーション部353の指示に応じた制御コマンドを取得し、取得した制御コマンドに基づいてMFP200の各種機能を制御する。この結果、MFP200とアプリケーションサーバ330との間において、制御コマンドの通信を遮断するファイアウォールが存在していたとしても、MFP200は、アプリケーションサーバ330からの指示に応じてMFP200の各種機能を制御することができる。
【0054】
このように、アプリケーション部353は、MFP200内部の第2ウェブサーバ部252にアクセスさせるために、HTTPリダイレクトを用いてURLを変更させる指示を含む応答(HTTPレスポンス)をMFP200に送信する。HTTPリダイレクトとは、HTTPにおけるウェブサーバからの応答の種類の一つであり、URLが変更されたことを知らせる機能である。HTTPリダイレクトは、汎用されているウェブブラウザで使用されている公知の機能である。
【0055】
次に、MFP200の構成について説明する。図7に示されるように、MFP200の制御部208は、ウェブブラウザ部251、第2ウェブサーバ部252、および制御アプリケーション部253の機能を実行する。
【0056】
ウェブブラウザ部251は、汎用されているウェブブラウザのソフトウェアに従った動作を行う。ウェブブラウザ部251は、通信部244を介して、アプリケーションサーバ330が有する第1ウェブサーバ部352だけでなく、MFP200内部の第2ウェブサーバ部252とも通信を行うことができる。
【0057】
例えば、ウェブブラウザ部251は、アプリケーションサーバ330に対して操作画面のデータやあるいは印刷データ等の送信を要求する場合には、通信部244を介してアプリケーションサーバ330の第1ウェブサーバ部352と通信する。また、MFP200の各種機能を制御するための制御コマンドを実行する場合には、MFP200内部の第2ウェブサーバ部252と通信するように設定されている。制御コマンドを実行する場合の処理については後述する。
【0058】
第2ウェブサーバ部252は、汎用されているウェブサーバのソフトウェアに従った動作を行うものである。第2ウェブサーバ部252は、ウェブブラウザ部251からの要求(HTTPリクエスト)を受信し、当該要求に応じたアプリケーションを実行させ、ウェブブラウザ部251に対して応答(HTTPレスポンス)を行う。
【0059】
制御アプリケーション部253は、API(アプリケーションプログラムインターフェース;Device function API)としての機能を有しており、ウェブサーバ上で動作するウェブアプリケーションに従った処理を実行するものである。このウェブアプリケーションは、例えば、Java(登録商標)スクリプトで記載されたカスタムアプリケーションであり、ウェブサーバ上に設けられたJava(登録商標)スクリプト実行環境で動作するアプリケーションである。
【0060】
制御アプリケーション部253は、MFP200の各種機能(例えば、スキャナ機能、FAX機能、コピー機能、プリント機能、通信機能など)を制御する場合、当該機能を制御するための制御コマンドを当該機能の制御を行う機能制御部(スキャン制御部、FAX制御部、コピー制御部、プリント制御部、通信制御部、あるいはこれらの組み合わせ)に送る。なお、制御アプリケーション部253が、制御コマンドに従って、ウェブブラウザ部251を制御することで、MFP200に固有の固有情報を第1ウェブサーバ部352に送信するように通信制御してもよい。これにより、MFP200の機能を制御することができる。
【0061】
なお、上記機能制御部は、予めMFP200内に記憶している当該MFP200に固有の操作画面を表示部218bに表示させ、当該操作画面に対するユーザからの指示を入力部218aから受け取り、当該指示に従って上記各種機能の制御を行う固有操作モードと、アプリケーションサーバ330から受け取った操作画面を表示部218bに表示させ、当該操作画面に対するユーザからの指示を入力部218aから受け取り、当該指示に基づいて制御アプリケーション部253から受けた制御指示に従って上記各種機能の制御を行う連携操作モードとを有している。
【0062】
連携操作モードの実行指示が入力された場合、制御部208は、ウェブブラウザ部251を起動させ、予め設定されたURL(本実施形態では、アプリケーションサーバ330の第1ウェブサーバ部352のURL)に対して初期操作画面の送信を要求する。そして、連携操作モードでは、機能制御部は、制御アプリケーション部253から制御コマンドを受け付け、当該制御コマンドに従った制御を行う。
【0063】
また、制御アプリケーション部253は、MFP200の機種によらず共通の制御コマンドを受け付けた場合に、この共通の制御コマンドをMFP200の機種に固有の制御コマンド(上記各機能制御部が認識可能な制御コマンド)に変換する機能を有している。これにより、制御アプリケーション部253を動作させるためのアプリケーションサーバ330で動作するウェブアプリケーションとして、複数種類のMFP200においてMFP200の機種によらず共通のものを用いることができる。したがって、新たなウェブアプリケーションに従って制御アプリケーション部253を動作させる場合、各MFP200に対して共通のウェブアプリケーションをアプリケーションサーバ330にインストールするだけでよく、MFP200ごとにウェブアプリケーションの変更を行う必要がなくなる。したがって、制御アプリケーション部253を動作させるためのウェブアプリケーションの開発を容易に行うことができる。
【0064】
(1−3.連携操作モードの動作)
次に、MFP200とアプリケーションサーバ330とが連携して処理を実行する連携操作モードの処理の流れについて、図3および図4を参照しながら説明する。図3は連携操作モードにおけるデータの送受信の概要を示す説明図であり、図4は連携操作モードの処理の流れを示すフローチャートである。
【0065】
まず、入力部218aに連携操作モードの起動指示が入力されると、ウェブブラウザ部251は、通信部244を介してアプリケーションサーバ330の第1ウェブサーバ部352に操作画面(ウェブページ)の送信要求(HTTPGetコマンド(HTTPリクエスト310))を送信する(S1)。なお、図3に示したように、HTTPGetコマンドの送信はUI−チャンネル320を用いて行われる。
【0066】
アプリケーションサーバ330の第1ウェブサーバ部352は、通信部354が操作画面の送信要求を受信すると、当該送信要求に応じた操作画面に対応するHTMLデータ(HTTPレスポンス331)をMFP200に返信する。そして、MFP200のウェブブラウザ部251は、アプリケーションサーバ330から返信されたHTMLデータを、通信部244を介して受信し、当該HTMLデータに応じた操作画面(ウェブページ332)を表示部218bに表示させる(S2)。
【0067】
次に、ウェブブラウザ部251は、入力部218aを介して入力される、表示部218bに表示させた操作画面に対するユーザからの指示入力を受け付ける(S3)。
【0068】
その後、ウェブブラウザ部251は、ユーザからの指示入力がMFP機能(MFP200においてアプリケーションサーバ330のアプリケーションに応じて実行される機能。例えば、スキャン機能、FAX機能、コピー機能、プリント機能、あるいは通信機能。)の実行を要求するものであるか否かを判断する(S4)。
【0069】
そして、ユーザからの指示入力がMFP機能の実行を要求するものではないと判断した場合(S4でNo)、ウェブブラウザ部251は、S1に戻り、指示入力に応じた次の操作画面の送信要求を行う。
【0070】
一方、ユーザからの指示入力がMFP機能の実行を要求するものであると判断した場合(S4でYes)、ウェブブラウザ部251は、アプリケーションサーバ330から返信されたHTMLデータに含まれているHTTPリダイレクト命令(あるいはHTTPリダイレクトロジック)に応じた第2ウェブサーバ部252内のアドレスにリダイレクト(図3のHTTPリダイレクト333参照)して当該リダイレクト先に格納されている制御コマンド(スクリプトファイルの命令(スクリプト-based instructions))を読み出し、制御アプリケーション部(API;Device function API)253に通知する(S5)。上記制御コマンドは、MFP200におけるファイアウォールの内側に配置された第2ウェブサーバ部253に格納されている。また、ウェブブラウザ部251は、上記制御コマンドに基づいて制御アプリケーション部253を起動し、当該制御コマンドに応じてMFP200の各部を制御させることでユーザからの指示入力に応じたMFP機能を実行させる(S6)。なお、上記制御コマンド(スクリプトファイルの命令)は、MFP200に対するSOAPコールの開始を含む。MFP200は上記のSOAPコールに応答する。
【0071】
具体的には、アプリケーションサーバ330のアプリケーション部353は、MFP200の各種機能(MFP機能)の実行を指示する指示入力が行われたときに、MFP200のウェブブラウザ部251をMFP200内の所定のリダイレクト先にリダイレクトさせるためのHTTPリダイレクト命令を、MFP200に送信する操作画面のHTMLデータに含める。また、上記所定のリダイレクト先には、MFP200の各部の動作を制御するための制御コマンドが格納されている。これにより、図3に示すように、ウェブブラウザ部251が第2ウェブサーバ部252に上記制御コマンドを通知し、第2ウェブサーバ部252が上記制御コマンドを通知されたときに制御アプリケーション部253を起動し、制御アプリケーション部253が当該制御コマンドを解析して当該制御コマンドに対応する機能制御部(スキャン制御部220、FAX制御部222、コピー制御部224、プリント制御部226、通信制御部228、あるいはこれらの組み合わせ)を当該制御コマンドに応じて制御することでMFP機能を実行させるようになっている。
【0072】
なお、図9に示すように、ウェブブラウザ部251が上記所定のリダイレクト先にリダイレクトして当該リダイレクト先に格納されている制御コマンドを読み出して制御アプリケーション部((API;Device function API))253に通知するようにしてもよい。
【0073】
上記のHTTPリダイレクト命令としては、例えば、(a)HTTPリダイレクト応答(例えば応答コード“3XX”)、(b)HTML(Hypertext Markup Language)リフレッシュメタタグ、および(c)リダイレクト形式指示(ボタン操作などのマニュアル操作、またはJava(登録商標)スクリプトなどを用いた自動リダイレクトの指示)などを用いることができる。また、上記のJava(登録商標)スクリプトを用いた指示は、例えば、“location.href”によるものであってもよく、隠しインラインフレーム(hidden iframe)によるものであってもよく、JSONP(Javaスクリプト Object Notification with padding)によるものであってもよい。
【0074】
また、HTTPリダイレクト333は、MFP200のリダイレクトサーバ側スクリプトのURL(Uniform Resource Locator)を用いて送信されてもよい。また、HTTPリダイレクト333は、呼び出される(コールされる)制御コマンドや関連するパラメータ、処理結果の送信先を示すURLを特定するためのHTTPクエリストリング(HTTP query string)あるいはPOSTボディーの引数によって受け渡されてもよい。これにより、ウェブブラウザ部251がリダイレクトスクリプト311を実行する。リダイレクトスクリプトは、上記引数に応じてMFP200において局所的に呼び出す(コールする)処理を決定する。リダイレクトスクリプト311は、MFP200に局所的なSOAP呼び出し(SOAPコール)313を行わせ、それに対するSOAPレスポンス(応答)314により、SOAP呼び出し313の処理結果を得る。その後、リダイレクトスクリプト311は、MFP200(例えば制御アプリケーション部253)に、新たなHTTPリダイレクトロジックを埋め込んだ、ウェブブラウザ部251に返信するためのウェブページを構成させる。その後、ウェブブラウザ部251は、リダイレクトスクリプトからアプリケーションサーバ330のアプリケーション部(遠隔アプリケーション)353に呼び出し(コール)結果315をリダイレクトする。これにより、上記の例では、上記アプリケーションは個別のコマンドチャンネルを用いることなくMFP200の機能を起動することができるようになっている。
【0075】
なお、SOAPレスポンス314をフィルタリングしてアプリケーション部353のアプリケーションに関係のある要素のみを抽出しアプリケーション部353のURLにその結果を提示するようにしてもよい。例えば、上記アプリケーションは、完了済みの全ジョブのログ情報を得るための呼び出し(例えばSOAPコール)を開始してもよい。上記スクリプトは、ジョブの種類(例えば、プリントジョブ、スキャンジョブ、および/または完全に実行できずに実行失敗したジョブのうちの1つまたは複数のジョブ)を特定するためのものであってもよい。上記スクリプトは、上記応答をフィルタリングして上記アプリケーションに必要な事項のみを返信するための命令であってもよい。MFP200のウェブブラウザ部251が、スクリプトファイルに応じた処理の実行によって返信されたHTTP応答におけるHTML要素を表示部に表示するようにしてもよい。スクリプトからのHTTP応答はアプリケーションサーバ330において実行されるアプリケーションの次のページにHTTPリダイレクトされてもよい。これにより、上記アプリケーションは、この起動処理が行われた後に次の処理に進むことができる。
【0076】
また、上記所定のリダイレクト先は、Java(登録商標)スクリプトが格納されているスクリプトファイルであってもよい。この場合、制御アプリケーション部253が上記所定のリダイレクト先のスクリプトファイルに格納されているJava(登録商標)スクリプトをロードし、それを実行する。
【0077】
その後、制御アプリケーション部253はMFP機能の実行結果を示す情報を生成してウェブブラウザ部251に伝達し、ウェブブラウザ部251が当該情報をアプリケーションサーバ330の第1ウェブサーバ部352のURLに送信し(S7)、処理を終了する。
【0078】
以上のように、本実施形態にかかる通信システム1は、ウェブサーバのソフトウェアに従って動作する第1ウェブサーバ部352を備えたアプリケーションサーバ330と、当該アプリケーションサーバ330との間でネットワークを介して通信するMFP200とを備える。そして、MFP200は、ウェブブラウザのソフトウェアに従って動作するウェブブラウザ部251と、ウェブサーバのソフトウェアに従って動作する第2ウェブサーバ部252とを備えている。
【0079】
そして、アプリケーションサーバ330の第1ウェブサーバ部352は、MFP200のウェブブラウザ部251にHTTPリダイレクトを行わせるためのHTTPリダイレクト命令を含めたウェブページを送信し、ウェブブラウザ部251はこのHTTPリダイレクト命令に応じたアクセス先にアクセスする。また、上記アクセス先には、MFP200の各部の動作を所望するMFP機能を実行するように制御するための制御コマンドが格納されており、ウェブブラウザ部251は、上記アクセス先から制御コマンドを読み出してMFP200の第2ウェブサーバ部252に通知する。そして、第2ウェブサーバ部252は、制御アプリケーション部253を起動し、上記制御コマンドに応じてMFP200の各部の動作を制御させる。
【0080】
これにより、アプリケーションサーバ330の第1ウェブサーバ部352が、制御内容に応じたHTTPリダイレクト命令を含むウェブページをMFP200に送信することで、上記制御内容に応じた制御コマンドをMFP200の第2ウェブサーバ部252から制御アプリケーション部253に通知させ、MFP200の各部の動作を制御させることができる。すなわち、アプリケーションサーバ330の第1ウェブサーバ部352がMFP200に対して制御コマンドを受ける必要がない。したがって、MFP200とアプリケーションサーバ330との間にファイアウォールが構築されていたとしても、アプリケーションサーバ330はMFP200の機能を制御することができる。
【0081】
なお、本実施形態は、インターネットクラウドサーバで動作するアプリケーションが端末装置(例えばシャープMFP(Sharp-MFP;登録商標))にアクセスできる構成としてもよい。また、本実施形態は、ウェブスクリプトフレームワーク(appweb(登録商標))、組み込み型ウェブブラウザ(NetFront(登録商標))、およびクラウドアプリケーションサーバ(Google(登録商標) App Engine)などを用いて実行されるものであってもよい。Appweb(登録商標)は、サーバ側スクリプトエンジンを備えた標準型の組み込みウェブサーバであり、EJSスクリプト(Embedded Java Script(登録商標))をサポートしている。組み込み型ウェブサーバプリケーションには、Ecmaスクリプト言語が適している。NetFront(登録商標)は、現行のシャープMFPでも採用されている組み込み型ウェブブラウザである。Google(登録商標) App Engineは、ウェブアプリケーションによってグーグル社製のサーバで展開することが可能なクラウドアプリケーションフレームワークである。レガシーオープンシステムアーキテクチャー(OSA)アプリケーションは、企業ネットワーク内専用のサーバである。これらのアプリケーションは、同一企業内のネットワーク内における本実施形態にかかるシャープMFPにおいて提供されるOSAリソースに直接アクセスすることができる。レガシーアプリケーション以外のアプリケーションは、Google App Engineなどの公共のインターネットサーバにおいて動作する。これらのアプリケーションは、従来は、ファイアウォールによって保護されている本実施形態にかかるシャープ社製MFPで動作するOSAリソースにアクセスすることはできなかった。本実施形態により、レガシーOSAアプリケーション以外のアプリケーションであっても、ファイアウォールによって保護されているシャープMFPのOSAレソースに対してアクセスできるようになる。したがって、HTTPリダイレクトスキームを用いる次世代のOSAアプリケーションにより、従来はレガシーOSAアプリケーションのみによって利用可能であったシャープMFPのOSAリソースにアクセスすることができる。
【0082】
図5は、3つの典型的な要素、すなわちappweb(登録商標)、NetFront(登録商標)、およびGoogle(登録商標) App Engineを用いたHTTPリダイレクトスキームによって確立される、ファイアウォール340を介した2つの装置間における双方向通信を示す説明図である。この図に示す双方向通信では、以下のステップが実行される。MFP200のウェブブラウザ部251で動作するNetFront(登録商標)は、例えばHTTPリクエスト(HTTP GET要求)310により、アプリケーションサーバ330の制御部351で動作するGoogle(登録商標) App Engine521からアプリケーション(例えばOSAアプリケーション)の最初のページ(ウェブページ332)を取得する。Google(登録商標) App Engineは、HTTPレスポンス(HTTP GETレスポンス)331により、ウェブページ(ウェブページデータ)332をウェブブラウザ部251(NetFront(登録商標))に返信する。ウェブページ332は、HTTPリダイレクト命令(例えば、HTTP GETあるいはHTTP POST)を含んでいる。HTTPリダイレクト命令に応じて、MFP200のウェブブラウザ部251(NetFront(登録商標))は、HTTPリダイレクト333をリダイレクトページ(リダイレクトスクリプト311(例えば“Delegator.ejs.”))にリダイレクトする。ウェブブラウザ部251(NetFront(登録商標))は、リダイレクトスクリプトを実行するために、HTTPレスポンス331におけるリダイレクトフォーマットに基づいて、HTTP GETあるいはHTTP POSTを行う。上記リダイレクトスクリプトは、“Delegator.ejs.”と呼ばれるファイルであってもよい。MFP200の制御部208で動作する(Appweb(登録商標)515)は、リダイレクトスクリプト(Delegator.ejsスクリプトファイル)311に含まれるEJScript codeをロードして実行する。上記Delegator.ejsファイルは、MFP200の第2ウェブサーバ部252へのOSA SOAP呼び出し(OSA SOAP コール)313を開始するために、従来のEJScript方法の処理を開始する。典型的なスクリプトファイルは、図8に示すようなコンピュータプログラムとして生成されている。なお、図10に示すように、ウェブブラウザ部251(NetFront(登録商標))がウェブページ332に含まれるHTTPリダイレクト命令で示されたリダイレクト先から制御コマンドを読み出してAppweb(登録商標)515に通知し、Appweb(登録商標)515が制御アプリケーション部((API;Device function API))253にこの制御コマンドを通知するようにしてもよい。MFP200の制御部(プロセッサ、処理回路)208は、結果情報を生成するために、MFP200の第2ウェブサーバ部252(あるいは制御アプリケーション部253)からのOSA SOAP応答に基づくDelegator.ejsスクリプトファイルの命令を実行する。そして、生成された上記結果情報を、アプリケーションサーバ330の制御部351(Google App Engine)で動作するアプリケーション(OSAアプリケーション)のURLに提示する。ウェブブラウザ部251は、HTTPレスポンスにおけるDelegator.ejsによって返送されたHTML要素を表示する。上記HTTPレスポンスは、アプリケーションサーバ330の制御部351(Google App Engine)で動作するアプリケーションのウェブページに返送される静的なHTMLデータあるいはHTTPリダイレクトであってもよい。アプリケーションへの返信が開始されると、制御は再びアプリケーションサーバ330のアプリケーションに戻される。したがって、アプリケーション(例えばOSAアプリケーション)は、前述の工程で受信したOSA呼び出し結果に応じてどのウェブページを次に返送するかを決定することができる。
【0083】
なお、上記の構成では、appweb(登録商標)、NetFront(登録商標)、およびGoogle(登録商標) App Engineの3つの要素を用いた組み込み型OSAについて説明したが、本発明はこれに限るものではない。例えば、appweb(登録商標)に代えて、サーバ側スクリプトを実行可能な他のウェブサーバ(例えばApache(登録商標))を用いてもよい。また、NetFront(登録商標)に代えて、標準的なHTTPリダイレクト法を実行可能な他のウェブサーバ(例えばOpera(登録商標))を用いてもよい。また、Google(登録商標) App Engineに代えて、ウェブアプリケーションを実行可能な他のウェブアプリケーションサーバ(例えばMicrosoft Azure(登録商標))を用いてもよい。
【0084】
ファイアウォールの向こう側のコンピュータリソースにアクセスする上述の方法は、MFP200のプロセッサ(処理回路)が実行してもよく、SOAP呼び出しによってサポートされている他の演算装置(演算ノード)が実行してもよい。図6は、MFP200とは別に備えられる演算装置(コンピュータ装置620)を用いて本実施形態にかかるリダイレクト処理を行う場合の構成例を示すブロック図である。このコンピュータ装置620は、CPU(central processing unit、中央演算装置)等のプロセッサ624、アドレス可能なメモリー627、デバイスインターフェース626(例えばUSB(universal serial bus)ポートおよびその処理部、および/または、イーサネット(登録商標)ポートおよびその処理部)、ユーザインターフェース629(例えば、状態を示すライト、トグルスイッチ、表示装置、キーボード、マウス等のポインティングデバイス、タッチスクリーン、およびこれらの組み合わせなど)を備えている。これらの部材は、データバス628を介して互いに通信可能に備えられている。プロセッサ624は、ウェブブラウザ623およびアプリケーション622の機能を実行するオペレーティングシステム625を用いて、コンピュータリソース621にアクセスするための上述したリダイレクト方法の処理を実行する。
【0085】
例えば、コンピューティングデバイス(例えばアプリケーションサーバ装置など)によって実行されるアプリケーションが、そのアプリケーションに対してファイアウォールの向こう側に位置するローカルコンピューティングデバイス(例えばMFP(多機能周辺機器、複合機)など)へアクセスするには、本書に記載の方法、デバイス、システム設定、およびコンポーネントを用いることができる。コンピューティングリソースは、有益なデータまたはサービスを提供するコンピューティング環境におけるコンポーネントとして定義される。コンピューティングリソースの例としては、ウェブサービス、データベース、ダイナミックスクリプト、スタティックファイルおよび入出力(I/O)ポートなどが含まれる。ファイアウォールの外部のアプリケーションによってファイアウォールの向こう側のコンピューティングリソースにアクセスする方法の実施例は、以下の工程(a)〜(f)を含んでいてもよい:(a)ローカルコンピューティングデバイスのウェブブラウザが、該ローカルコンピューティングデバイスの外部のソースからアプリケーションのウェブページを取得する工程;(b)上記ウェブブラウザが、上記ローカルコンピューティングデバイスに宛先ページとして保存されたスクリプトファイル(制御コマンド)に対するリダイレクト命令を含むアプリケーションのページを受信する工程;(c)上記ウェブブラウザが、コール命令(例えば、シンプルオブジェクトアクセスプロトコル(SOAP)コール命令)を含むスクリプトファイルを宛先ページとしてリダイレクトする工程;(d)上記スクリプトファイルコール命令に基づいてコールを呼び出す工程;(e)当該呼び出されたコールに対する上記ローカルコンピューティングデバイスによる応答結果を生成する工程;および(f)当該生成された結果を、上記ローカルコンピューティングデバイスの外部のソースでホストされたアプリケーションのユニフォームリソースロケータ(URL)エンドポイントへ送信する工程。上記ブラウザは、上記ローカルコンピューティングデバイス上のハイパーテキストトランスファープロトコル(HTTP)ブラウザクライアントであり、上記外部ソースはリモートホストであってもよい。上記ブラウザによるウェブページを取得する工程は、上記リモートホストのリモートサーバに対する出力のHTTP接続を開始する工程を含んでいてもよい。上記ブラウザによって受信されたウェブページは、上記ローカルコンピューティングデバイスの内部的にホストされたスクリプトへ上記ブラウザをリダイレクトする命令を含む上記リモートホストからのHTTPペイロードを含んでいてもよい。上記生成された結果を送信する工程は、少なくともHTTP GETおよびHTTP POSTのうちの少なくとも1つを経由していてもよい。
【0086】
また、装置の実施例は、ファイアウォールの向こう側に位置するコンピューティングデバイスであって、プロセッサ、および、コール命令(例えばSOAPコール命令)を含むスクリプトファイルおよび コンピュータリソースを含むアドレッサブルメモリを備え、上記プロセッサが以下の(a)〜(f)の処理を行うように設定されていてもよい:(a)ウェブブラウザが、上記装置の外部のソースからアプリケーションのウェブページを取得し;(b)上記ウェブブラウザが、上記デバイスに宛先ページとして保存されたスクリプトファイル(制御コマンド)に対するリダイレクト命令を含むアプリケーションのページを受信する;(c)上記ウェブブラウザが、宛先ページとしてスクリプトファイルにリダイレクトし;(d)上記スクリプトファイルコール命令(例えば、SOAPコール命令)に基づいてコール(例えばSOAPコール)を呼び出し;(e)当該呼び出されたコール(例えばSOAPコール)に基づく処理結果を生成し;(f)当該生成された結果を上記デバイスの外部のソースでホストされたアプリケーションのユニフォームリソースロケータ(URL)エンドポイントへ送信する。
【0087】
例えば、コンピュータリソースは、リモートホストからファイアウォールの向こう側のローカルデバイス上でホストされる。上記ファイアウォール内にあるローカルデバイス上のハイパーテキストトランスファープロトコル(HTTP)ブラウザクライアントは、上記リモートサーバに対して出力のHTTP接続を開始する。実施例は、上記リモートホストに対するHTTP接続を開始する上記ローカルデバイスを含む。上記リモートホストは、その後、上記ローカルデバイスの内部的にホストされたスクリプトへリダイレクトするHTTPペイロードに応答する。上記ローカルデバイスは、その後、スクリプトに従って処理を実行した結果を生成する。上記ローカルデバイスは、その後、実行されたスクリプトの結果を直にリモートホストへ(例えば、HTTP GETまたはHTTP POSTを介して)送信する。
【0088】
また、本実施形態において、MFP200およびアプリケーションサーバ330に備えられる各部(各ブロック)、特にMFP200の制御部208(ウェブブラウザ部251、第2ウェブサーバ部252、および制御アプリケーション部253)、およびアプリケーションサーバ330の制御部351(第1ウェブサーバ部352およびアプリケーション部352)を、CPU等のプロセッサを用いてソフトウェアによって実現してもよい。この場合、MFP200およびアプリケーションサーバ330の上記各部は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるMFP200およびアプリケーションサーバ330の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、MFP200およびアプリケーションサーバ330のに供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによって達成される。
【0089】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
【0090】
また、MFP200およびアプリケーションサーバ330を通信ネットワークと接続可能に構成し、通信ネットワークを介して上記プログラムコードを供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【0091】
また、MFP200およびアプリケーションサーバ330の各ブロックは、ソフトウェアを用いて実現されるものに限らず、ハードウェアロジックによって構成されるものであってもよく、処理の一部を行うハードウェアと当該ハードウェアの制御や残余の処理を行うソフトウェアを実行する演算手段とを組み合わせたものであってもよい。
【0092】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0093】
1 通信システム
200 MFP
220 スキャン制御部
222 FAX制御部
224 コピー制御部
226 プリント制御部
228 通信制御部
230 スキャナ
240 プリンタ
244 通信部
251 ウェブブラウザ部
252 第2ウェブサーバ部
253 制御アプリケーション部
330 アプリケーションサーバ
340 ファイアウォール
351 制御部
352 第1ウェブサーバ部
353 アプリケーション部
354 通信部

【特許請求の範囲】
【請求項1】
第1ウェブサーバ部を備えたサーバ装置とネットワークを介して通信可能に接続され、かつ上記サーバ装置からのアクセスがファイアウォールによって制限される端末装置であって、
上記サーバ装置からウェブページデータを取得するウェブブラウザと、
当該端末装置の機能を制御する制御アプリケーション部とを備え、
上記ウェブブラウザは、上記サーバ装置から受信したウェブページデータに含まれているHTTPリダイレクト命令に基づいて当該端末装置内の所定のアドレスにリダイレクトすることで当該HTTPリダイレクト命令に対応する制御コマンドを取得し、
上記制御アプリケーション部は、上記ウェブブラウザが取得した上記制御コマンドに基づいて当該端末装置の機能を制御することを特徴とする端末装置。
【請求項2】
上記制御アプリケーション部は、上記制御コマンドに基づいて上記端末装置の動作を制御した結果を示す結果情報を生成し、
上記ウェブブラウザは上記結果情報を上記サーバ装置に送信することを特徴とする請求項1に記載の端末装置。
【請求項3】
上記端末装置は、コピー機能部、プリンタ機能部、スキャナ機能部、FAX機能部、および通信機能部のうちの少なくとも1つの機能を有しており、
上記制御アプリケーションは、上記制御コマンドに基づいて少なくとも1つの上記機能を制御することを特徴とする請求項1または2に記載の端末装置。
【請求項4】
上記制御コマンドはSOAPコール命令であることを特徴とする請求項1から3のいずれか1項に記載の端末装置。
【請求項5】
上記ウェブブラウザはHTTPプロトコルに基づいて処理を行うことを特徴とする請求項1から4のいずれか1項に記載の端末装置。
【請求項6】
上記ウェブブラウザと上記サーバ装置とのHTTP接続が上記ウェブブラウザによって開始されることを特徴とする請求項5に記載の端末装置。
【請求項7】
上記ウェブブラウザは上記サーバ装置から上記HTTPリダイレクト命令を含むHTTPペイロードを有するウェブページデータを受信することを特徴とする請求項5または6に記載の端末装置。
【請求項8】
上記結果情報を上記サーバ装置に送信する処理が、HTTP GET、およびHTTP POSTのうちの少なくとも一方を用いて行われることを特徴とする請求項2に記載の端末装置。
【請求項9】
請求項1から8のいずれか1項に記載の端末装置とネットワークを介して通信可能に接続されるサーバ装置であって、
第1ウェブサーバ部と、
上記端末装置の機能を制御するためのアプリケーションを実行するアプリケーション処理部とを備え、
上記第1ウェブサーバ部は、上記アプリケーション処理部による上記端末装置の動作の制御内容に応じた制御コマンドが格納されている上記端末装置内のアドレスへのリダイレクトを上記ウェブブラウザに実行させるためのHTTPリダイレクト命令を含むウェブページデータを生成することを特徴とするサーバ装置。
【請求項10】
請求項1から8のいずれか1項に記載の端末装置と、請求項9に記載のサーバ装置とがネットワークを介して通信可能に接続されていることを特徴とする通信システム。
【請求項11】
第1ウェブサーバ部を備えたサーバ装置とネットワークを介して通信可能に接続され、かつ上記サーバ装置からのアクセスがファイアウォールによって制限される端末装置の制御方法であって、
上記端末装置は、
上記サーバ装置からウェブページデータを取得するウェブブラウザと、
当該端末装置の動作を制御する制御アプリケーション部とを備えており、
上記ウェブブラウザが上記サーバ装置からウェブページデータを取得する工程と、
上記ウェブブラウザが、上記サーバ装置から取得した上記ウェブページデータに含まれているHTTPリダイレクト命令に基づいて上記端末装置内の所定のアドレスにリダイレクトすることで当該HTTPリダイレクト命令に対応する制御コマンドを取得する工程と、
上記制御アプリケーション部が、上記ウェブブラウザが取得した上記制御コマンドに基づいて当該端末装置の機能を制御する工程とを含むことを特徴とする端末装置の制御方法。
【請求項12】
請求項1から8のいずれか1項に記載の端末装置を動作させるプログラムであって、コンピュータを上記ウェブブラウザ、および上記制御アプリケーション部として機能させるためのプログラム。
【請求項13】
請求項9に記載のサーバ装置を動作させるプログラムであって、コンピュータを上記第1ウェブサーバ部、および上記アプリケーション処理部として機能させるためのプログラム。
【請求項14】
請求項12または13に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate