画像形成装置、通信制御方法、通信制御プログラム、ブラウジング方法およびブラウジングプログラム
【課題】 サーバの負荷を低減すること。
【解決手段】 MFPは、ネットワークに接続されたWebサーバからコンテンツを受信し、受信されたコンテンツを表示する1以上の第1〜第Nブラウジング部51−1〜51−Nと、第1〜第Nブラウジング部51−1〜51−N各々がWebサーバに送信するために出力するコマンドを取得するコマンド取得部55と、取得されたコマンドを、該コマンドの送信先のWebサーバに送信するコマンド送信部59と、取得されたコマンドを送信したWebサーバから過去に受信されたコンテンツの状態または該Webサーバとの間の通信状態に基づいて、コマンド送信部59によるコマンドの送信を制限する制限部57と、を備える。
【解決手段】 MFPは、ネットワークに接続されたWebサーバからコンテンツを受信し、受信されたコンテンツを表示する1以上の第1〜第Nブラウジング部51−1〜51−Nと、第1〜第Nブラウジング部51−1〜51−N各々がWebサーバに送信するために出力するコマンドを取得するコマンド取得部55と、取得されたコマンドを、該コマンドの送信先のWebサーバに送信するコマンド送信部59と、取得されたコマンドを送信したWebサーバから過去に受信されたコンテンツの状態または該Webサーバとの間の通信状態に基づいて、コマンド送信部59によるコマンドの送信を制限する制限部57と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、画像形成装置、通信制御方法、通信制御プログラム、ブラウジング方法およびブラウジングプログラムに関し、特にネットワークを介してWebサーバからデータを受信する画像形成装置、その画像形成装置で実行される通信制御方法、通信制御プログラム、ブラウジング方法およびブラウジングプログラムに関する。
【背景技術】
【0002】
ネットワーク上のWebサーバにアクセスすることにより、該Webサーバに記憶されたコンテンツを受信し表示する、いわゆるWebブラウザが広く知られている。複数のWebブラウザを同時に起動することにより、複数のWebページを表示することができる。また、1つのWebブラウザにおいて、複数のタブ各々にWebページを表示することができる。このため、1つのWebサーバから複数のWebページをダウンロードすることができる。また、Webページによっては、定期的にWebサーバにアクセスして、Webページを更新する機能を備えたものがある。
【0003】
一方、Webサーバは、1つのコンピュータから複数のリクエストを受信する場合、複数のリクエスト各々に対応してWebページを送信したり、リクエストに応じた処理をしたりすることになる。このため、リクエストが集中する場合には、負荷が大きくなる場合があるといった問題がある。
【0004】
Webページへのアクセスを制限する技術として、特開2006−192878号公報には、ネットワークと通信可能に接続された画像形成装置において実行され、該ネットワークよりコンテンツを受信し表示するためのブラウザにおける情報処理方法であって、起動時に、該ブラウザにより表示することが許可されているコンテンツに関する情報を表示する初期表示工程と、前記ブラウザにより表示することが許可されているコンテンツに含まれる、他のコンテンツへのリンク情報が選択されたか否かを検知する検知工程と、前記検知工程により、他のコンテンツへのリンク情報が選択されたことを検知した場合、前記他のコンテンツへのリンク情報が、前記ブラウザにより表示されているコンテンツと同一ドメイン内もしくは同一サイト内である場合、前記他のコンテンツへのアクセスを許可する情報処理方法が記載されている。
【0005】
しかしながら、従来の情報処理方法は、ブラウザにより表示することが許可されているコンテンツのみが表示されるので、許可されていないコンテンツへのアクセスを制限することはできるが、許可されているコンテンツを記憶するWebサーバの負荷を低減することはできないといった問題がある。
【特許文献1】特開2006−192878号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
この発明は上述した問題を解決するためになされたもので、この発明の目的の1つは、サーバの負荷を低減することが可能な画像形成装置を提供することである。
【0007】
この発明の他の目的は、サーバの負荷を低減することが可能な通信制御方法、通信制御プログラムを提供することである。
【0008】
この発明のさらに他の目的は、サーバの負荷を低減することが可能なブラウジング方法およびブラウジングプログラムを提供することである。
【課題を解決するための手段】
【0009】
上述した目的を達成するために、この発明のある局面によれば、画像形成装置は、ネットワークに接続されたサーバからコンテンツを受信し、受信されたコンテンツを表示する1以上のブラウジング手段と、1以上のブラウジング手段各々がサーバに送信するために出力するコマンドを取得するコマンド取得手段と、取得されたコマンドを、該コマンドの送信先のサーバに送信する送信手段と、取得されたコマンドを送信したサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、送信手段によるコマンドの送信を制限する制限手段と、を備える。
【0010】
この局面に従えば、ネットワークに接続されたサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、コマンドの送信が制限されるので、サーバの負荷を低減することが可能な画像形成装置を提供することができる。
【0011】
好ましくは、1以上のブラウジング手段各々により、過去にサーバから受信され、かつ、表示可能に保持されている1以上のコンテンツ各々に対して送信元のサーバを識別するためのサーバ識別情報を関連付ける関連付手段を、含み、制限手段は、取得手段によりコマンドが取得された時点で、関連付手段によって取得されたコマンドの送信先のサーバのサーバ識別情報と同じサーバ識別情報と関連付けられたコンテンツの数が所定のしきい値ならば、送信手段によるコマンドの送信を禁止する第1リクエスト禁止手段を、含む。
【0012】
好ましくは、送信手段は、取得されたコマンドの送信先のサーバと通信するためにセッションを確立するセッション確立手段を、さらに含み、制限手段は、取得手段によりコマンドが取得された時点で、取得されたコマンドの送信先のサーバとの間で通信するためのセッションが既に確立されている場合、送信手段によるコマンドの送信を禁止する第2リクエスト禁止手段を、含む。
【0013】
好ましくは、1以上のブラウジング手段各々は、リクエストを受け付けるリクエスト受付手段と、リクエストが受け付けられることに応じて、受け付けられたリクエストにより定まる送信先のサーバに受け付けられたリクエストに対応するコマンドを出力するコマンド出力手段と、出力されたコマンドを実行するサーバが返信するコンテンツを受信するコンテンツ受信手段と、受信されたコンテンツを表示するコンテンツ表示手段と、を含み、コンテンツ表示手段は、コンテンツ受信手段により受信された1以上のコンテンツを選択可能な状態で保持する保持手段と、保持された1以上のコンテンツのうちから選択された1つを表示する選択表示手段と、を含み、リクエスト受付手段は、保持手段により保持されている1以上のコンテンツのいずれかが発生するリクエストを受け付ける発生リクエスト受付手段を、含む。
【0014】
好ましくは、1以上のブラウジング手段各々は、リクエストを受け付けるリクエスト受付手段と、リクエストが受け付けられることに応じて、受け付けられたリクエストにより定まる送信先のサーバに受け付けられたリクエストに対応するコマンドを出力するコマンド出力手段と、出力されたコマンドを実行するサーバが返信するコンテンツを受信するコンテンツ受信手段と、受信されたコンテンツを表示するコンテンツ表示手段と、を含み、リクエスト受付手段は、ユーザによる指示によりリクエストを受け付ける指示受付手段を、含む。
【0015】
この発明の他の局面によれば、画像形成装置は、リクエストを受け付けるリクエスト受付手段と、リクエストが受け付けられることに応じて、受け付けられたリクエストにより定まる送信先のサーバに受け付けられたリクエストに対応するコマンドを送信するコマンド送信手段と、コマンドを実行するサーバが返信するコンテンツを受信するコンテンツ受信手段と、受信されたコンテンツを表示するコンテンツ表示手段と、受け付けられたリクエストにより定まる送信先のサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、コマンド送信手段によるコマンドの送信を制限する制限手段と、を備える。
【0016】
この局面に従えば、サーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、コマンドの送信が制限されるので、サーバの負荷を低減することが可能な画像形成装置を提供することができる。
【0017】
好ましくは、コンテンツ表示手段は、コンテンツ受信手段により受信された1以上のコンテンツを選択可能な状態で保持する保持手段と、保持された1以上のコンテンツのうちから選択された1つを表示する選択表示手段と、を含み、制限手段は、リクエスト受付手段によりリクエストが受け付けられた時点で、保持手段により保持されている1以上のコンテンツのうち、受け付けられたリクエストにより定まる送信先のサーバと同じサーバから受信されたコンテンツの数が所定のしきい値ならば、コマンド送信手段によるコマンドの送信を禁止する第1リクエスト禁止手段を、含む。
【0018】
好ましくは、制限手段は、リクエスト受付手段によりリクエストが受け付けられた時点で、該受け付けられたリクエストの送信先のサーバと通信するためのセッションが既に確立されている場合、コマンド送信手段によるコマンドの送信を禁止する第2リクエスト禁止手段を、含む。
【0019】
好ましくは、リクエスト受付手段は、保持手段により保持されている1以上のコンテンツのいずれかが発生するリクエストを受け付ける発生リクエスト受付手段を、含む。
【0020】
好ましくは、リクエスト受付手段は、ユーザによる指示によりリクエストを受け付ける指示受付手段を、含む。
【0021】
この発明のさらに他の局面によれば、通信制御方法は、ブラウジングプログラムを実行可能な画像形成装置で実行される通信制御方法であって、ブラウジングプログラムを実行するタスクがネットワークに接続されたサーバに送信するために出力するコマンドを取得する取得ステップと、取得されたコマンドを、該コマンドの送信先のサーバに送信する送信ステップと、取得されたコマンドを送信したサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、送信ステップにおける取得されたコマンドの送信を制限する制限ステップを含む。
【0022】
この局面に従えば、サーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、コマンドの送信が制限されるので、サーバの負荷を低減することが可能な通信制御方法を提供することができる。
【0023】
この発明のさらに他の局面によれば、通信制御プログラムは、ブラウジングプログラムを実行可能な画像形成装置を制御するコンピュータで実行される通信制御プログラムであって、ブラウジングプログラムを実行するタスクがネットワークに接続されたサーバに送信するために出力するコマンドを取得する取得ステップと、取得されたコマンドを、該コマンドの送信先のサーバに送信する送信ステップと、取得されたコマンドを送信したサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、送信ステップにおける取得されたコマンドの送信を制限する制限ステップと、をコンピュータに実行させる。
【0024】
この局面に従えば、サーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、コマンドの送信が制限されるので、サーバの負荷を低減することが可能な通信制御プログラムを提供することができる。
【0025】
この発明のさらに他の局面に従えば、ブラウジンブ方法は、ネットワークに接続された画像形成装置で実行されるブラウジング方法であって、リクエストを受け付けるリクエスト受付ステップと、リクエストが受け付けられることに応じて、受け付けられたリクエストにより定まる送信先のサーバに受け付けられたリクエストに対応するコマンドを送信するコマンド送信ステップと、コマンドを実行するサーバが返信するコンテンツを受信するコンテンツ受信ステップと、受信されたコンテンツを表示するコンテンツ表示ステップと、受け付けられたリクエストにより定まる送信先のサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、リクエストを送信するステップにおけるコマンドの送信を制限する制限ステップと、を含む。
【0026】
この局面に従えば、サーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、コマンドの送信が制限されるので、サーバの負荷を低減することが可能なブラウジングプログラムを提供することができる。
【0027】
この発明のさらに他の局面によれば、ブラウジングプログラムは、ネットワークに接続された画像形成装置を制御するコンピュータで実行されるブラウジングプログラムであって、リクエストを受け付けるリクエスト受付ステップと、リクエストが受け付けられることに応じて、受け付けられたリクエストにより定まる送信先のサーバに受け付けられたリクエストに対応するコマンドを送信するコマンド送信ステップと、コマンドを実行するサーバが返信するコンテンツを受信するコンテンツ受信ステップと、受信されたコンテンツを表示するコンテンツ表示ステップと、受け付けられたリクエストにより定まる送信先のサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、リクエストを送信するステップにおけるコマンドの送信を制限する制限ステップと、をコンピュータに実行させる。
【0028】
この局面に従えば、サーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、コマンドの送信が制限されるので、サーバの負荷を低減することが可能なブラウジングプログラムを提供することができる。
【図面の簡単な説明】
【0029】
【図1】本発明の実施の形態における情報処理システムの全体概要を示す図である。
【図2】MFPの外観を示す斜視図である。
【図3】MFPのハードウエア構成の一例を示すブロック図である。
【図4】操作パネルの一例を示す平面図である。
【図5】MFPが備えるCPUの機能の概要をEEPROMに記憶する情報とともに示すブロック図である。
【図6】第nブラウジング部51−nの詳細な機能の一例を示すブロック図である。
【図7】管理テーブルの一例を示す図である。
【図8】ブラウジング処理の流れの一例を示すフローチャートである。
【図9】通信制御処理の流れの一例を示すフローチャートである。
【図10】ユーザの操作と処理の流れの一例を示す第1の図である。
【図11】ユーザの操作と処理の流れの一例を示す第2の図である。
【図12】第2の実施の形態におけるMFPが備えるCPUの機能の概要をEEPROMに記憶する情報とともに示すブロック図である。
【図13】第2の実施の形態におけるブラウジング処理の流れの一例を示すフローチャートである。
【図14】リクエスト判定処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0030】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返さない。
【0031】
<第1の実施の形態>
図1は、本発明の実施の形態における情報処理システムの全体概要を示す図である。図1を参照して、情報処理システム1は、ネットワーク2に接続された複合機(Multi Function Peripheral)(以下、「MFP」という)100と、PC200と、インターネット3に接続されたWebサーバ7,7Aと、を含む。MFP100は、画像形成装置の一例であり、スキャナ機能、プリンタ機能、コピー機能、ファクシミリ機能等の複数の機能を備える。
【0032】
ネットワーク2は、ローカルエリアネットワーク(LAN)であり、ゲートウェイを介してインターネット3に接続されている。このため、MFP100は、インターネット3に接続されたWebサーバ7,7Aと通信可能である。MFP100と、Webサーバ7,7Aとの間の通信は、特に限定するものではないが、HTTP(HyperText Transfer Protocol)の通信プロトコルで通信する。なお、ネットワーク2は、LANに限らず、インターネット、ワイドエリアネットワーク(WAN)、公衆交換電話網等であってもよい。
【0033】
MFP100は、ブラウジングプログラムがインストールされており、ブラウジングプログラムを実行することにより、ブラウザ機能を有する。例えば、MFP100は、ユーザによりWebサーバ7が記憶するウェブ(Web)ページのURL(Uniform Resource Locator)が指定されると、Webサーバ7にURLで特定されるWebページの送信を要求するリクエストを送信し、Webサーバ7がリクエストに応じて送信するWebページを受信し、表示する。ここで、Webページは、HTML(HyperText Markup Language)またはXML(Extensible Markup Language)等のマークアップ言語で記述されたテキストデータである。以下、MFP100がWebベージをダウンロードして、表示する処理をブラウジング処理という。
【0034】
Webサーバ7,7Aそれぞれは、ブラウザ機能を有するMFP100から送信されるリクエストに応じて、WebページをMFP100に送信する。さらに、Webサーバ7,7Aそれぞれは、CGI(Common Gateway Interface)を有しており、ブラウザ機能を有するMFP100からのリクエストに応じて、アプリケーションプログラムを起動する。例えば、Webサーバ7,7Aそれぞれが、ファイルサーバとして機能する場合、MFP100からのリクエストに応じて、MFP100が送信するデータを受信し、受信されたデータを記憶するアプリケーションプログラムを起動する。
【0035】
なお、本実施の形態においては画像形成装置の一例としてMFP100を例に説明するが、MFP100に代えて、ブラウザ機能を備えた装置であれば、例えば、パーソナルコンピュータ、スキャナ、プリンタ、ファクシミリ等の情報処理装置であってもよい。また、Webサーバ7,7Aは、イントラネット内にあってもよいことは言うまでもない。さらに、画像形成装置であるMFP100自身にWebサーバの機能を兼ね備えさせることも可能である。
【0036】
図2は、MFPの外観を示す斜視図である。図2を参照して、MFP100は、操作パネル9と、自動原稿搬送装置(ADF)10と、原稿読取部20と、画像形成部30と、給紙部40と、を含む。
【0037】
ADF10は、原稿給紙トレイ11上にセットされた複数枚の原稿を1枚ずつ自動的に原稿読取部20のプラテンガラス上に設定された所定の原稿読取位置まで搬送し、原稿読取部20により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。原稿読取部20は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、メモリに記憶する、または画像形成部30に出力する。
【0038】
画像形成部30は、周知の電子写真方式により画像を形成するものであって、原稿読取部20から入力される画像データにシェーディング補正などの各種のデータ処理を施し、データ処理後の画像データに基づいて、給紙部40により搬送される用紙に画像を形成する。給紙部40は、給紙トレイに収納された用紙を画像形成部30に搬送する。
【0039】
図3は、MFPのハードウエア構成の一例を示すブロック図である。図3を参照して、MFP100は、メイン回路101と、ADF10と、原稿読取部20と、画像形成部30と、給紙部40と、ユーザインターフェースとしての操作パネル9と、を含む。
【0040】
メイン回路101は、CPU111と、通信インターフェース(I/F)部112と、ROM(Read Only Memory)113と、RAM(Random Access Memory)114と、EEPROM(Electronically Erasable and Programmable ROM)115と、大容量記憶装置としてのハードディスクドライブ(HDD)116と、ファクシミリ部117と、ネットワークI/F118と、CD−ROM119Aが装着される外部記憶装置119とを含む。CPU111は、ADF10、原稿読取部20、画像形成部30、給紙部40および操作パネル9と接続され、MFP100の全体を制御する。
【0041】
ROM113は、CPU111が実行するプログラム、およびそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。
【0042】
通信I/F部112は、MFP100を他の装置とシリアル通信ケーブルで接続するためのインターフェースである。なお、接続形態は、有線であっても無線であってもよい。
【0043】
ファクシミリ部117は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部117は、受信したファクシミリデータを、HDD116に記憶する、または画像形成部30に出力する。画像形成部30は、ファクシミリ部117により受信されたファクシミリデータを用紙に印刷する。また、ファクシミリ部117は、HDD116に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
【0044】
ネットワークI/F118は、MFP100をネットワーク2に接続するためのインターフェースである。CPU111は、ネットワークI/F118を介して、PC200および、インターネット3に接続されたWebサーバ7,7Aと通信可能である。
【0045】
外部記憶装置119は、CD−ROM119Aが装着される。CPU111は、外部記憶装置119を介してCD−ROM119Aにアクセス可能であり、CD−ROM119Aに記憶されたプログラムをRAM114にロードして実行可能である。なお、CPU111が実行するプログラムは、CD−ROM119Aに記憶されたプログラムに限られず、他の記憶媒体に記憶されたプログラムでもよく、HDD116に記憶されたプログラムであってもよく、さらに、ネットワークI/F118を介してネットワーク2に接続された他のコンピュータによりHDD116に書き込みされたプログラムであってもよい。
【0046】
なお、プログラムを記憶する記憶媒体としては、CD−ROM119Aに限られず、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable and Programmable ROM)などの半導体メモリでもよい。
【0047】
ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【0048】
操作パネル9は、MFP100の上面に設けられ、表示部103と操作部105とを含む。表示部103は、液晶表示装置、有機ELD(Electroluminescence Display)等の表示装置であり、ユーザに対する指示メニューや取得した表示データに関する情報等を表示する。操作部105は、ユーザの操作を受け付け、受け付けられた操作をCPU111に出力する。
【0049】
図4は、操作パネルの一例を示す平面図である。図4を参照して、操作部105は、表示部103の上に重畳して配置されたタッチパネル105Aと、ブラウジング処理の実行を指示する操作が割り当てられたブラウザキー105Bと、スキャン処理の実行を指示する操作が割り当てられたスキャンキー105Cと、コピー処理の実行を指示する操作が割り当てられたコピーキー105Dと、テンキー105Eと、入力内容をキャンセルするためのクリアキー105Fと、スタートキー105Gと、を含む。タッチパネル105Aは、透明な部材からなり、表示部103に重畳して配置される。タッチパネル105Aは、ユーザがタッチパネル105Aを指で触れると、触れられた位置を指示位置として検出し、CPU111に出力する。
【0050】
図5は、MFPが備えるCPUの機能の概要をEEPROMに記憶する情報とともに示すブロック図である。図5に示すCPU111の機能は、CPU111がROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶されたブラウジングプログラムおよび通信制御プログラムを実行することにより実現される。
【0051】
図5を参照して、CPU111は、第1〜第Nブラウジング部51−1〜N(Nは2以上の整数)と、ネットワークI/F118を制御する通信制御部53と、を含む。EEPROM115は、管理テーブル99を記憶する。
【0052】
第1〜第Nブラウジング部51−1〜Nそれぞれは、CPU111がブラウジングプログラムを実行することによりCPU111に形成されるタスクである。CPU111は、複数のブラウジングプログラムを実行することが可能であり、CPU111が実行するブラウジングプログラムの数と同じ数のタスクがCPU111に形成される。
【0053】
CPU111は、操作部105の備えるブラウザキー105Bがユーザにより指示されることに応じて、ブラウジングプログラムを実行する。このため、ユーザによりブラウザキー105Bが指示される回数と同じ数のタスクをCPU111は生成する。また、Webページのリンク情報がユーザにより指示される場合に、CPU111は新たなタスクを生成する。例えば、第1ブラウジング部51−1により表示された第1Webページに含まれるリンク情報が指示された場合、該リンク情報に新たなウインドウを開くコマンドが割り当てられている場合には、CPU111はブラウジングプログラムを実行することにより新たなタスク、例えば第2ブラウジング部51−2を生成し、第2ブラウジング部51−2が、第1Webページに含まれるリンク情報でリンクされた第2Webページを表示する。
【0054】
さらに、第1〜第Nブラウジング部51−1〜N各々は、複数のタブ各々でWebページを保持することができ、複数のタブの名称と、1つのWebページを表示する。複数のタブの名称のうちユーザにより指示された名称のタブが保持するWebページを表示する。また、第1〜第Nブラウジング部51−1〜N各々は、表示されているWebページに含まれるリンク情報がユーザにより指示される場合に、新たなタブを生成し、新たなタブで新たなWebページを保持するとともに、保持したWebページを表示する。例えば、第1ブラウジング部51−1により表示された第3Webページに含まれるリンク情報が指示された場合、該リンク情報に新たなタブを開くコマンドが割り当てられている場合には、第1ブラウジング部51−1は新たなタブを生成し、リンク情報でリンクされた第4Webページを保持し、保持したWebページを表示する。
【0055】
図5においては、第1〜第Nブラウジング部51−1〜51−Nが生成された場合を示している。ここでは、第1〜第Nブラウジング部51−1〜Nのうちの任意の1つを第nブラウジング部51−n(nは、N以下の正の整数)で示す。
【0056】
第nブラウジング部51−nは、CPU111によりタスクを識別するためのタスク識別情報が割り当てられる。また、第nブラウジング部51−nは、ユーザが操作部105を操作することにより、第nブラウジング部51−nを指定する操作と、終了する指示とを入力すると、ブラウジングプログラムの実行を終了する。
【0057】
第nブラウジング部51−nは、ブラウジング処理を実行する。図6は、第nブラウジング部51−nの詳細な機能の一例を示すブロック図である。図6を参照して、第nブラウジング部51−nは、サーバに対するリクエストを受け付けるリクエスト受付部71と、受け付けられたリクエストに対応するコマンドを出力するコマンド出力部73と、リクエストを受信するサーバが返信するコンテンツを受信するコンテンツ受信部75と、受信されたコンテンツを表示するコンテンツ表示部77と、を含む。
【0058】
リクエスト受付部71は、リクエストを受け付け、受け付けられたリクエストをコマンド出力部73およびコンテンツ表示部77に出力する。リクエスト受付部71は、指示リクエスト受付部81と、発生リクエスト受付部83と、を含む。指示リクエスト受付部81は、ユーザが操作部105に入力する操作に基づくリクエストを受け付ける。指示リクエスト受付部81は、ユーザが操作部105にURLを入力すると、入力されたURLにアクセスするリクエストを受け付ける。また、指示リクエスト受付部81は、ユーザが、操作部105にリンク情報を指示する操作を入力すると、指示されたリンク情報に含まれるURLにアクセスするリクエストを受け付ける。具体的には、後述するコンテンツ表示部77により表示部103にWebページが表示された状態で、ユーザがWebページに含まれるリンク情報が表示された部分を指示すると、指示リクエスト受付部81は、操作部105の備えるタッチパネル105Aが検出する位置に基づいて、リンク情報を指示する操作を受け付ける。
【0059】
指示リクエスト受付部81は、コンテンツ表示部77に、リクエストとともにタブの切換指示を出力する。ユーザが操作部105にリンク情報を指示する操作を入力する場合、指示されたリンク情報に、新たなタブを開くコマンドが割り当てられている場合、指示リクエスト受付部81は、指示されたリンク情報に含まれるURLにアクセスするリクエストとともに、新たなタブを開くことを示す切換指示を出力する。
【0060】
発生リクエスト受付部83は、Webページに含まれるプログラムをCPU111が実行することにより生成されるタスクが出力するリクエストを受け付ける。CPU111は、後述するコンテンツ表示部77に含まれる保持部85が保持するWebページに含まれるプログラムを実行する。Webページに含まれるプログラムは、例えば、JAVA(登録商標)、JAVA(登録商標)スクリプトで記述され、定期的にWebページを更新するために、新たなWebページの送信を要求するリクエストを定期的に送信するコマンドを含む。
【0061】
コマンド出力部73は、リクエスト受付部71からリクエストが入力されることに応じて、入力されるリクエストにより定まる送信先のサーバ宛にリクエストに対応するコマンドを、通信制御部53に出力する。リクエストは、サーバのネットワークアドレスであるURLと、サーバに実行を依頼するコマンドとを含む。サーバに実行を依頼するコマンドは、CGI(Common Gateway Interface)コマンドを含む。また、リクエストは、サーバにWebページの送信を依頼する場合には、そのWebページのネットワークアドレスであるURL(Uniform Resource Locator)を含む。
【0062】
通信制御部53の詳細は後述するが、コマンド出力部73から入力されるコマンドをWebサーバ7,7Aに送信し、Webサーバ7,7Aがコマンドを実行して返信するコンテンツを受信し、受信されたコンテンツをコンテンツ受信部75に出力する。
【0063】
コンテンツ受信部75は、通信制御部53から入力されるコンテンツを、コンテンツ表示部77に出力する。コンテンツ表示部77は、リクエスト受付部71からリクエストが入力され、コンテンツ受信部75からコンテンツが入力される。また、コンテンツ表示部77は、リクエスト受付部71から新たなタブを開くことを示す切換指示が入力される場合がある。コンテンツ表示部77は、保持部85と、選択表示部87と、を含む。保持部85は、コンテンツ受信部75から入力されるコンテンツをタブの名称と関連付けてRAM114に記憶する。保持部85は、複数のコンテンツをRAM114に記憶することが可能である。この場合には、複数のコンテンツ各々がタブの名称と関連付けられる。
【0064】
保持部85は、リクエスト受付部71から新たなタブを開くことを示す切換指示が入力される場合、新たなタブを生成する。具体的には、コンテンツ受信部75から入力されるコンテンツを、新たなタブの名称と関連付けてRAM114に記憶する。保持部85は、リクエスト受付部71から新たなタブを開くことを示す切換指示が入力されない場合、後述する選択表示部87により選択されているタブの名称と関連付けられてRAM114に記憶されているコンテンツを、コンテンツ受信部75から入力されるコンテンツで更新する。
【0065】
複数のコンテンツのうちには、JAVA(登録商標)プログラム、JAVA(登録商標)スクリプト等のプログラムを含むものがある。このプログラムは、CPU111により実行され、CPU111がリクエストを発生する。CPU111がプログラムを実行することにより発生するリクエストは、上述した発生リクエスト受付部83に入力される。
【0066】
選択表示部87は、RAM114に記憶されている1以上のコンテンツのうちから1つを選択し、表示部103に表示する。また、選択表示部87は、RAM114に記憶されている1以上のコンテンツ各々に関連付けられるタブの名称を、表示部103に選択可能に表示する。選択表示部87は、ユーザが、表示部103に表示された1以上のタブの名称のうちから1つを選択する指示を操作部105に入力すると、選択する指示を受け、選択されたタブの名称に関連付けられたコンテンツをRAM114から読出し、表示部103に表示する。
【0067】
図5に戻って、通信制御部53は、コマンドを取得するコマンド取得部55と、取得されたコマンドを送信するコマンド送信部59と、コマンド送信部59によるコマンドの送信を制限する制限部57と、関連付部61と、を含む。
【0068】
コマンド取得部55は、第1〜第Nブラウジング部51−1〜51−Nのいずれかがサーバ7,7Aのいずれかに送信するために出力するコマンドを取得する。コマンド取得部55は、コマンドを取得する際に、第1〜第Nブラウジング部51−1〜51−Nのうち取得されたコマンドを出力するブラウジング部から、そのブラウジング部を識別するためのタスク識別情報と、そのブラウジング部がWebページを表示するために処理対象としているタブを識別するためのタブ識別情報を取得する。コマンド取得部55は、取得されたコマンドをコマンド送信部59および制限部57に出力するとともに、タスク識別情報とタブ識別情報との組とコマンドとを関連付部61に出力する。
【0069】
コマンド送信部59は、セッション確立部67を含む。セッション確立部67は、コマンド取得部55から入力されるコマンドの送信先のサーバと通信するためにセッションを、後述する制限部57からセッション禁止信号が入力されないことを条件に、確立する。具体的には、セッション確立部67は、制限部57からセッション禁止信号が入力されない場合、コマンド取得部55から入力されるコマンドに含まれるURLからインターネット3に接続されたWebサーバ7.7Aのいずれかを特定し、通信I/F部112を制御して、Webサーバ7.7Aのうちから特定されたWebサーバと通信するためのセッションを確立する。セッション確立部67は、セッションを確立している間、セッション番号を関連付部61に出力する。セッションは、本実施の形態においては、MFP100がWebサーバ7,7Aのいずれかにコマンドを送信してから、Webサーバ7,7Aのうちコマンドを送信したWebサーバからコマンドを実行した結果としてのコンテンツを受信するまでの間、確立される。
【0070】
ここでは、第1ブラウジング部51−1が、Webサーバ7のURLを含むコマンドを出力する場合に、コマンド送信部59が、そのコマンドを取得する場合を説明する。通信する2つのアプリケーション・タスク、ここでは、第1ブラウジング部51−1と、Webサーバ7がサービスを提供するためのアプリケーションプリグラムを実行して生成されるタスクとが通信する場合に、通信相手を互いに識別するためにセッション番号を共有する。セッションの確立は、2つのタスクがセッション番号を共有し、セッション番号を用いて通信ができる状態となることをいう。なお、セッションを確立する技術については、周知な技術を用いることができ、ここでは詳細な説明は繰り返さない。
【0071】
コマンド送信部59は、次に説明する制限部57からセッション禁止信号または送信禁止信号が入力されないことを条件に、コマンド取得部55から入力されるコマンドを、送信先のWebサーバ7に送信する。具体的には、コマンド送信部59は、セッション確立部67により確立されたセッションで通信I/F部112を介してWebサーバ7にコマンドを送信する。
【0072】
コマンド送信部59は、制限部57から送信禁止信号が入力される場合、コマンド取得部55から入力されるコマンドにより定まるURLで特定される送信先のWebサーバ7に代わって、エラーページを、第1〜第Nブラウジング部51−1〜51−Nのうちコマンド取得部55により取得されたコマンドを出力するブラウジング部に、出力する。コマンド送信部59は、制限部57からセッション禁止信号が入力される場合、コマンド取得部55から入力されるコマンドを破棄する。なお、エラーページを、第1〜第Nブラウジング部51−1〜51−Nのうちコマンド取得部55により取得されたコマンドを出力するブラウジング部に、出力するようにしてもよい。
【0073】
制限部57からセッション禁止信号または送信禁止信号が入力される場合、コマンドが送信されないので、コマンド取得部55から入力されるコマンドにより定まるURLで特定される送信先のWebサーバ7の負荷を低減することができる。
【0074】
制限部57は、コマンド取得部55からコマンドが入力される。制限部57は、第1リクエスト禁止部65と、第2リクエスト禁止部63と、を含む。第2リクエスト禁止部63は、コマンド取得部55からコマンドが入力された時点で、コマンド取得部55から入力されるコマンドの送信先のWebサーバ7との通信状態に基づいて、コマンド送信部59がWebサーバ7にコマンドを送信するのを禁止する。具体的には、第2リクエスト禁止部63は、コマンド取得部55から入力されるコマンドの送信先のWebサーバ7と通信するためのセッションが、既に確立されている場合、コマンド送信部59がWebサーバ7にコマンドを送信するのを禁止する。第2リクエスト禁止部63は、コマンド取得部55から入力されるコマンドの送信先のWebサーバ7と通信するためのセッションが、確立されていない場合、コマンド送信部59がWebサーバ7にコマンドを送信するのを禁止しない。第2リクエスト禁止部63は、コマンドの送信を禁止する場合、セッション確立部67にセッション禁止信号を出力する。
【0075】
関連付部61は、過去にWebサーバ7,7Aのいずれかから受信され、かつ、第1〜第Nブラウジング部51−1〜51−Nのいずれかにより表示可能に保持されている1以上のコンテンツ各々に対して、Webサーバ7,7Aのうちコンテンツの送信元のWebサーバを識別するためのサーバ識別情報を関連付ける。関連付部61は、コマンド取得部55からタスク識別情報とタブ識別情報との組とコマンドとが入力され、セッション確立部67からセッション番号が入力される。関連付部61は、セッション確立部67からセッション番号が入力されると、コマンド取得部55から入力されるタスク識別情報とタブ識別情報との組と、コマンドに含まれるWebサーバのURLと、セッション番号とを含む管理レコードを生成し、生成した管理レコードをEEPROM115に記憶されている管理テーブル99に追加して記憶する。
【0076】
図7は、管理テーブルの一例を示す図である。図7を参照して、管理テーブル99は、5つの管理レコードを含む。管理レコードは、ブラウザ識別情報の項目と、タブ識別情報の項目と、サーバURLの項目と、セッション識別番号の項目と、状態の項目とを含む。ブラウザ識別情報の項目は、第1〜第Nブラウジング部51−1〜51−Nのタスクのいずれかを識別するためのタスク識別情報が設定される。タブ識別情報の項目は、処理対象となっているタブを識別するためのタブ識別情報が設定される。サーバURLの項目は、通信先のWebサーバを識別するためのURLが設定される。セッション識別番号の項目は、通信先のWebサーバとの間で通信のために確立されたセッションを識別するためのセッション番号が設定される。状態の項目は、セッションを状態が設定される。セッションの状態は、セッションが確立中であることを示す「確立」と、セッションが終了したことを示す「終了」とを含む。ここでは、第1〜第Nブラウジング部51−1〜51−Nそれぞれのタスクを識別するためのブラウザ識別情報を、第1〜第Nブラウザとしている。
【0077】
図7に示す管理テーブル99においては、タスク識別情報が「第1ブラウザ」の第1ブラウジング部51−1において、タブ識別情報が「第1タブ」、「第2タブ」および「第3タブ」の3つのタブにおいて、URLが「aabbcc.com」のWebサーバ7からダウンロードしたWebページがそれぞれ表示されている状態を示している。タブ識別情報が「第3タブ」のタブにおいては、セッションが確立中であり、URLが「aabbcc.com」のWebサーバ7からWebページをダウンロード中であることを示している。
【0078】
また、タスク識別情報が「第2ブラウザ」の第2ブラウジング部51−2において、タブ識別情報が「第1タブ」および「第2タブ」の2つのタブにおいて、URLが「aabbcc.com」のWebサーバ7からダウンロードしたWebページがそれぞれ表示されている状態を示している。
【0079】
図5に戻って、関連付部61は、セッション確立部67からセッション番号が入力されると、状態の項目が「確立」の管理レコードを生成し、管理テーブル99に追加して記憶し、セッション確立部67から入力されていたセッション番号が入力されなくなると、管理レコードの状態の項目を「終了」に書き換える。さらに、関連付部61は、第1〜第Nブラウジング部51−1〜51−Nのいずれか、例えば第1ブラウジング部51−1がタブを閉じると、第1ブラウジング部51−1からタスク識別情報と閉じられたタブのタブ識別情報とを取得し、管理テーブル99に含まれる管理レコードのうち、取得されたタスク識別情報とタブ識別情報とを含む管理レコードを管理テーブル99から削除する。
【0080】
制限部57が備える第1リクエスト禁止部65は、コマンド取得部55によりコマンドが取得された時点で、Webサーバ7.7Aのうち取得されたコマンドの送信先のWebサーバと同じWebサーバからダウンロードされ、第1〜第Nブラウジング部51−1〜51−Nのいずれかにより表示されているコンテンツの数が所定のしきい値ならば、コマンド送信部59がWebサーバにコマンドを送信するのを禁止する。ここでは、所定のしきい値を「6」としている。具体的には、第1リクエスト禁止部65は、EEPROM115に記憶されている管理テーブル99を参照し、コマンド取得部55からコマンドが入力される時点で、入力されたコマンドの送信先のWebサーバのURLと同じURLが「サーバURL」の項目に設定された管理レコードの数が所定のしきい値「6」ならば、コマンド送信部59がサーバにコマンドを送信するのを禁止する。第1リクエスト禁止部65は、コマンド取得部55からコマンドが入力される時点で、入力されたコマンドの送信先のWebサーバのURLと同じURLが「サーバURL」の項目に設定された管理レコードの数が所定のしきい値「6」より小さいならば、コマンド送信部59がWebサーバにコマンドを送信するのを禁止しない。第1リクエスト禁止部65は、コマンドの送信を禁止する場合、コマンド送信部59に送信禁止信号を出力する。
【0081】
図8は、ブラウジング処理の流れの一例を示すフローチャートである。ブラウジング処理は、MFP100が備えるCPU111が、ROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶されたブライジングプログラムを実行することにより、CPU111により実行される処理である。
【0082】
図8を参照して、CPU111は、リクエストを受け付けたか否かを判断する(ステップS01)。リクエストを受け付けるまで待機状態となり(ステップS01でNO)、リクエストを受け付けたならば(ステップS01でYES)、処理をステップS02に進める。ユーザが操作部105に入力する操作に基づくリクエストを受け付けたか否かを判断する。ユーザが操作部105にURLを入力すると、入力されたURLにアクセスするリクエストを受け付ける。なお、例えば、「お気に入り」等に予め登録されたURLをユーザが指定することにより、URLを受け付けるようにしてもよい。
【0083】
また、ユーザが操作部105にリンク情報を指示する操作を入力すると、指示されたリンク情報に含まれるURLにアクセスするリクエストを受け付ける。具体的には、表示部103に既にWebページが表示されている場合、ユーザが表示されたWebページに含まれるリンク情報が表示された部分を指示すると、リンク情報を指示する操作を受け付け、指示されたリンク情報に含まれるURLにアクセスするリクエストを受け付ける。
【0084】
さらに、表示部103に既にWebページが表示されている場合であって、そのWebページに含まれるプログラムが、定期的にWebページを更新するために、新たなWebページの送信を要求するリクエストを定期的に送信するコマンドを含む場合がある。コマンドは、例えば、JAVA(登録商標)プログラム、JAVA(登録商標)スクリプト等で記述される。この場合には、既に表示されているWebページに含まれるプログラムをCPU111が実行することにより生成されるタスクが出力するリクエストを受け付ける。
【0085】
ステップS02においては、受け付けられたリクエストが新たなウインドウを開く指示を含むか否かを判断する。新たなウインドウを開く指示を含むならば処理をステップS09に進めるが、そうでなければ処理をステップS03に進める。ステップS09においては、ブラウジングプログラムを起動し、処理をステップS10に進める。ブラウジングプログラムを起動する際に、ステップS01において受け付けられたリクエストに含まれるURLを、引数として起動するブラウジングプログラムを実行するタスクに渡す。新たに起動するブラウジングプログラムを実行するタスクは、図8に示すのと同じブラウジングプログラムを実行するので、引数として入力されるURLを、ステップS01において受け付けることになる。
【0086】
一方、ステップS03においては、ステップS01において受け付けられたリクエストが新たなタブを開く指示を含むか否かを判断する。新たなタブを開く指示を含むならば処理をステップS04に進めるが、そうでなければ処理をステップS05に進める。ステップS05においては、新規タブを生成し、表示部103に表示する。この段階においては、新規タブに表示するための内容が存在しないため、表示部103には、白紙の画面が表示される。なお、受信中である旨のメッセージ等を表示するようにしてもよい。
【0087】
ステップS05においては、ステップS01において受け付けられたリクエストに対応するコマンドを送信する。通信I/F部112を制御して、リクエストにより定まる送信先のWebサーバ宛にコマンドを送信する。具体的には、ステップS01において受け付けられたURLを含むGETコマンドを、通信I/F部112を介してネットワーク2に送信する。ここでは、GETコマンドに含まれるURLが、Webサーバ7を特定する場合を例に説明する。GETコマンドに含まれるURLがWebサーバ7を特定する場合、GETコマンドはWebサーバ7により受信される。GETコマンドを受信するWebサーバ7においては、URLで特定されるWebページを、GETコマンドを送信してきたMFP100に返信するので、通信I/F部112がWebページを受信する。
【0088】
ステップS06においては、通信I/F部112がWebページを受信するまで待機状態となり(ステップS06でNO)、Webページを受信すると(ステップS06でYES)、処理をステップS07に進める。
【0089】
次のステップS07においては、受信されたWebページを保持する。具体的には、受信されたWebページをタブの名称と関連付けてRAM114に記憶する。ステップS04において新たなタブが生成された場合には、新たなタブの名称とWebページとを関連付けてRAM114に記憶する。ステップS04において新たなタブが生成されない場合、表示部103に表示の対象となっているタブの名称と関連付けてRAM114に記憶されているWebページを、受信されたWebページで書き換える。
【0090】
次のステップS08においては、受信されたWebページを表示部103に表示し、処理をステップS10に進める。ステップS04において新規に新規タブか生成されている場合には、新規タブにWebページを表示し、新規タブか生成されていない場合には、表示部103に表示の対象となっているタブに表示されているWebページを、ステップS06において受信されたWebページで書き換える。
【0091】
次のステップS10においては、終了指示を受け付けたか否かを判断する。ユーザがタッチパネル105Aを操作することにより、ブラウジング処理を終了する指示を受け付けたか否かを判断する。ブラウジング処理を終了する指示は、ウインドウを閉じる操作を含む。終了指示を受け付けたならば(ステップS10でYES)、ブラウジング処理を終了するが、そうでなければ(ステップS10でNO)、処理をステップS01に戻す。
【0092】
図9は、通信制御処理の流れの一例を示すフローチャートである。通信制御処理は、MFP100が備えるCPU111が、ROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶された通信制御プログラムを実行することにより、CPU111により実行される処理である。
【0093】
図9を参照して、CPU111は、コマンドを取得したか否かを判断する。第1〜第Nブラウジング部51−1〜51−Nのいずれかが出力するコマンドを取得したか否かを判断する。コマンドを取得するまで待機状態となり(ステップS21でNO)、コマンドを取得したならば(ステップS21でYES)、処理をステップS22に進める。
【0094】
ステップS22においては、コマンドを出力した出力元を特定する。ステップS21において取得されたコマンドを第1〜第Nブラウジング部51−1〜51−Nのいずれかが出力したかを特定する。具体的には、第1〜第Nブラウジング部51−1〜51−Nのうち、コマンドを出力したタスクを識別するためのタスク識別情報と、特定されたタスクが処理対象とするタブのタブ識別情報を取得する。
【0095】
次のステップS23においては、ステップS21において取得されたコマンドの送信先を特定する。ステップS21において取得されたコマンドに含まれるURLを抽出することにより、Webサーバ7,7Aのうち送信先のWebサーバのURLを特定する。ここでは、Webサーバ7が送信先に特定された場合を例に説明する。次のステップS24においては、ステップS23において特定された送信先のWebサーバ7から受信済の表示コンテンツの数をカウントする。表示コンテンツは、第1〜第Nブラウジング部51−1〜51−Nのいずれかが保持しているコンテンツである。ここでは、EEPROM115に記憶されている管理テーブル99を検索し、ステップS23において特定された送信先のWebサーバ7のURLと同じURLがサーバURLの項目に設定されていいる管理レコードのすべてを抽出し、抽出された管理レコードの数を、カウントする。
【0096】
ステップS26においては、カウント数がしきいち値TNか否かを判断する。カウント数がしきいち値TNと同じならば処理をステップS27に進めるが、そうでなければ処理をステップS28に進める。ステップS28においては、セッションが確立済みか否かを判断する。ステップS23において特定された送信先のWebサーバ7との間で通信のためのセッションが確立しているか否かを判断する。送信先のWebサーバ7との間でセッションが確立済みならば処理を終了するが、そうでなければ処理をステップS29に進める。
【0097】
ステップS27においては、エラーページを出力し、処理を終了する。具体的には、予め定められたエラーメッセージを含むWebページを、第1〜第Nブラウジング部51−1〜51−NのうちステップS22において特定された出力元のタスクに出力する。例えば、第1ブラウジング部51−1が、Webサーバ7のURLを含むコマンドを出力する場合、Webサーバ7にコマンドを送信することなく、Webサーバ7に代わって、エラーメッセージを含むWebページを第1ブラウジング部51−1に出力する。このため、コマンドがWebサーバ7に送信されないので、Webサーバ7の負荷を軽減することができる。
【0098】
一方、ステップS29においては、ステップS23において特定された送信先のWebサーバ7に接続要求を送信する。次のステップS30においては、セッションが確立したか否かを判断する。セッションが確立するまで待機状態となり(ステップS30でNO)、セッションが確立したならば(ステップS30でYES)、処理をステップS31に進める。ステップS31においては、ステップS21において取得されたコマンドを、ステップS23において特定された送信先のWebサーバ7に通信I/F部112を介して送信する。
【0099】
次のステップS32においては、管理レコードを生成する。ステップS22において特定された出力元のタスク識別情報およびタブ識別情報と、ステップS23において特定された送信先のWebサーバ7のURLとを含む管理レコードを生成する。そして、生成された管理レコードを、EEPROM115の管理テーブル99に追加して記憶する(ステップS33)。
【0100】
次のステップS34においては、ステップS31においてコマンドを送信したWebサーバ7からコンテンツを受信したか否かを判断する。コンテンツを受信するまで待機状態となり(ステップS34でNO)、コンテンツを受信したならば(ステップS34でYES)、処理をステップS35に進める。次のステップS35においては、受信されたコンテンツを、ステップS22において特定された出力元のタスクに出力する。そして、ステップS36において、ステップS30において確立したセッションを終了し、処理を終了する。
【0101】
図10は、ユーザの操作と処理の流れの一例を示す第1の図である。図10に示す符号は、図8および図9に示したフローチャートに示した処理と同じ処理に、同じ符号を付している。また、図10では、MFP100が備えるCPU111が、ブラウジングプログラムを実行することにより実現される第1ブラウジング部51−1のタスクで実行される処理と、CPU111が通信制御プログラムを実行することにより実現される通信制御部53のタスクで実行される処理と、サーバで実行される処理とを、時系列で示している。なお、MFP100が備えるCPU111がブラウジングプログラムを実行することにより実現される第2〜第Nブラウジング部51−2〜51−Nのタスクで処理が実行されるが、図10では示していない。
【0102】
図10を参照して、ユーザがMFP100にURLを入力すれば、第1ブラウジング部51−1がURLをリクエストとして受け付ける(ステップS01)。第1ブラウジング部51−1は、受け付けられたURLを含むコマンドを通信制御部53に出力する(ステップS05)。通信制御部53は、コマンドを取得し(ステップS21)、コマンドに含まれるURLから特定されるWebサーバ7との間でセッションを確立し(ステップS30)、コマンドをサーバ7に送信する(ステップS31)。コマンドを受信するサーバ7は、Webページを返信するので、通信制御部53は、Webサーバ7が送信するWebページを受信し(ステップS34)、受信されたWebページを第1ブラウジング部51−1に出力し(ステップS35)、Webサーバ7との間のセッションを終了する(ステップS36)。第1ブラウジング部51−1は、Webページが入力されると(ステップS06)、Webページを含む第1タブを表示部103に表示する(ステップS08)。
【0103】
次に、ユーザが、表示部103に表示されたWebページに含まれるサブメニューAを選択する指示をMFP100に入力すると、第1ブラウジング部51−1は、サブメニューAの選択を、リクエストとして受け付ける(ステップS01)。そして、第2タブを生成し、第2タブを表示部103に表示する(ステップS04)。この段階において、第2タブとして表示するコンテンツは存在しないので、表示部103には、白紙の第2タブが表示される。第1ブラウジング部51−1は、サブメニューAのURLを含むコマンドを通信制御部53に出力する(ステップS05)。通信制御部53は、コマンドを取得し(ステップS21)、Webサーバ7から受信されたコンテンツを表示対象とするタブの数をカウントし、タブ数がしきい値TNと同じか否かを判断する(ステップS25,S26)。ここでは、タブ数がしきい値TNより小さいとし、この場合は、通信制御部53は、コマンドに含まれるURLから特定されるWebサーバ7との間でセッションを確立し(ステップS30)、コマンドをWebサーバ7に送信する(ステップS31)。コマンドを受信するWebサーバ7は、Webページを返信するので、通信制御部53は、サーバ7が送信するWebページを受信し(ステップS34)、受信されたWebページを第1ブラウジング部51−1に出力し(ステップS35)、Webサーバ7との間のセッションを終了する(ステップS36)。第1ブラウジング部51−1は、Webページが入力されると(ステップS06)、Webページを含む第2タブを表示部103に表示する(ステップS08)。
【0104】
さらに、ユーザが、表示部103に表示されたWebページに含まれるサブメニューBを選択する指示をMFP100に入力すると、第1ブラウジング部51−1は、サブメニューBの選択を、リクエストとして受け付ける(ステップS01)。そして、第3タブを生成し、第3タブを表示部103に表示する(ステップS04)。この段階において、第3タブとして表示するコンテンツは存在しないので、表示部103には、白紙の第3タブが表示される。第1ブラウジング部51−1は、サブメニューBのURLを含むコマンドを通信制御部53に出力する(ステップS05)。
【0105】
通信制御部53は、コマンドを取得し(ステップS21)、Webサーバ7から受信されたコンテンツを表示対象とするタブの数をカウントし、タブ数がしきい値TNと同じか否かを判断する(ステップS25,S26)。ここでは、タブ数がしきい値TNと同じとし、この場合は、通信制御部53は、エラーページを第1ブラウジング部51−1に出力する(ステップS27)。第1ブラウジング部51−1は、エラーページが入力されると(ステップS06)、エラーページを含む第3タブを表示部103に表示する(ステップS08)。
【0106】
Webサーバ7から受信されたコンテンツを表示対象とするタブの数が、しきい値TNと同じ場合は、サーバ7にコマンドが送信されないので、Webサーバ7の負荷を低減することができる。
【0107】
図11は、ユーザの操作と処理の流れの一例を示す第2の図である。図11に示す符号は、図8および図9に示したフローチャートに示した処理と同じ処理に、同じ符号を付している。また、図11では、MFP100が備えるCPU111が、ブラウジングプログラムを実行することにより実現される第1ブラウジング部51−1のタスクで実行される処理と、CPU111が通信制御プログラムを実行することにより実現される通信制御部53のタスクで実行される処理と、サーバで実行される処理とを、時系列で示している。なお、MFP100が備えるCPU111がブラウジングプログラムを実行することにより実現される第2〜第Nブラウジング部51−2〜51−Nのタスクで処理が実行されるが、図11では示していない。
【0108】
図11を参照して、ユーザがMFP100にURLを入力すれば、第1ブラウジング部51−1がURLをリクエストとして受け付ける(ステップS01)。第1ブラウジング部51−1は、受け付けられたURLを含むコマンドを通信制御部53に出力する(ステップS05)。通信制御部53は、コマンドを取得し(ステップS21)、コマンドに含まれるURLから特定されるWebサーバ7との間でセッションを確立し(ステップS30)、コマンドをWebサーバ7に送信する(ステップS31)。コマンドを受信するWebサーバ7は、Webページを返信するので、通信制御部53は、Webサーバ7が送信するWebページを受信し(ステップS34)、受信するとWebページを第1ブラウジング部51−1に出力し(ステップS35)、Webサーバとの間のセッションを終了する(ステップS36)。第1ブラウジング部51−1は、Webページが入力されると(ステップS06)、Webページを含む第1タブを表示部103に表示する(ステップS08)。
【0109】
次に、ユーザが、表示部103に表示されたWebページに含まれる処理の指示が関連付けられたボタンを指示すれば、第1ブラウジング部51−1は、処理を実行する指示を、リクエストとして受け付ける(ステップS01)。Webページに含まれる処理の指示が関連付けられたボタンは、CGIコマンドと関連付けられている。第1ブラウジング部51−1は、CGIコマンドを通信制御部53に出力する(ステップS05)。通信制御部53は、CGIコマンドを取得し(ステップS21)、CGIコマンドに含まれるURLから特定されるWebサーバ7との間でセッションを確立し(ステップS30)、CGIコマンドをWebサーバ7に送信する(ステップS31)。CGIコマンドを受信するWebサーバ7は、CGIコマンドを実行し、処理結果を返信するが、ここでは、CGIコマンドに所定の時間を要するとする。
【0110】
次に、ユーザがサブメニューAを選択する指示をMFP100に入力すると、第1ブラウジング部51−1は、サブメニューAの選択を、リクエストとして受け付ける(ステップS01)。そして、第1ブラウジング部51−1は、サブメニューAのURLを含むコマンドを通信制御部53に出力する(ステップS05)。通信制御部53は、コマンドを取得し(ステップS21)、コマンドに含まれるURLで特定されるWebサーバ7との間で、セッションが確立しているか否かを判断する(ステップS28)。ここでは、先にCGIコマンドを送信した処理が、Webサーバ7で実行されている。このため、通信制御部53は、セッションが確立していると判断し、第1ブラウジング部51−1から取得されたサブメニューAのURLを含むコマンドを、破棄する。
【0111】
さらに、ユーザがサブメニューBを選択する指示をMFP100に入力すると、第1ブラウジング部51−1は、サブメニューBの選択を、リクエストとして受け付ける(ステップS01)。そして、第1ブラウジング部51−1は、サブメニューBのURLを含むコマンドを通信制御部53に出力する(ステップS05)。通信制御部53は、コマンドを取得し(ステップS21)、コマンドに含まれるURLで特定されるWebサーバ7との間で、セッションが確立しているか否かを判断する(ステップS28)。ここでは、先にCGIコマンドを送信した処理が、Webサーバ7で実行されている。このため、通信制御部53は、セッションが確立していると判断し、第1ブラウジング部51−1から取得されたサブメニューBのURLを含むコマンドを、破棄する。
【0112】
さらに、ユーザがサブメニューCを選択する指示をMFP100に入力すると、第1ブラウジング部51−1は、サブメニューCの選択を、リクエストとして受け付ける(ステップS01)。そして、第1ブラウジング部51−1は、サブメニューCのURLを含むコマンドを通信制御部53に出力する(ステップS05)。通信制御部53は、コマンドを取得し(ステップS21)、コマンドに含まれるURLで特定されるWebサーバ7との間で、セッションが確立しているか否かを判断する(ステップS28)。ここでは、先にCGIコマンドを送信した処理が、Webサーバ7で実行されている。このため、通信制御部53は、セッションが確立していると判断し、第1ブラウジング部51−1から取得されたサブメニューCのURLを含むコマンドを、破棄する。
【0113】
CGIコマンドを受信するWebサーバ7は、CGIコマンドを実行が完了すると、処理結果であるWebページを送信するので、通信制御部53は、Webサーバ7が送信するWebページを受信し(ステップS34)、受信されたWebページを第1ブラウジング部51−1に出力し(ステップS35)、Webサーバとの間のセッションを終了する(ステップS36)。第1ブラウジング部51−1は、Webページが入力されると(ステップS06)、Webページを表示部103に表示する(ステップS08)。
【0114】
Webサーバ7との間で通信のためのセッションが確立されている間は、Webサーバ7にコマンドを送信しないので、Webサーバ7の負荷を低減することができる。
【0115】
以上説明したように、本実施の形態におけるMFP100は、Webサーバ7,7Aのいずれかからコンテンツを受信し、受信されたコンテンツを表示する第1〜第Nブラウジンブグ51−1〜51−Nと、第1〜第Nブラウジンブグ51−1〜51−N各々がWebサーバ7,7Aのいずれかに送信するために出力するコマンドを取得するコマンド取得部55と、取得されたコマンドを、該コマンドの送信先のサーバに送信するコマンド送信部59と、取得されたコマンドを送信したサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、送信手段によるコマンドの送信を制限する制限部57と、を備える。制限部57は、Webサーバ7,7Aから過去に受信されたコンテンツの状態またはWebサーバ7,7Aとの間の通信状態に基づいて、コマンドの送信を制限するので、Webサーバ7,7Aの負荷を低減することができる。
【0116】
また、制限部57は、コマンドが取得された時点で、第1〜第Nブラウジンブグ51−1〜51−N各々により保持されているWebページであって、コマンドの送信先と同じ送信元から受信されたWebページの数が所定のしきい値TNならば、コマンドの送信を禁止する。このため、同じWebサーバから受信され、表示可能に保持されているWebページの数を制限することによって、Webサーバの負荷を低減することができる。
【0117】
また、制限部57は、コマンドが取得された時点で、取得されたコマンドの送信先のWebサーバとの間で通信するためのセッションが既に確立されている場合、コマンドの送信を禁止する。このため、同じWebサーバとの間で確立するセッションの数を制限することによって、Webサーバの負荷を低減することができる。
【0118】
特に、WebサーバがMFP100内に設けられている場合には、自身の負荷に応じて、各制限の程度をコントロールすることができる。
【0119】
<第2の実施の形態>
第1の実施の形態におけるMFP100は、CPU111が、ブラウジングプログラムを実行するタスクを複数形成するようにしたが、第2の実施の形態におけるMFP100は、CPU111が単一のブラウジングプログラムを実行するようにしたものである。以下、第2の実施の形態おける情報処理システム1について、第1の実施の形態における情報処理システム1と異なる点を主に説明する。
【0120】
図12は、第2の実施の形態におけるMFPが備えるCPUの機能の概要をEEPROMに記憶する情報とともに示すブロック図である。図12に示すCPU111の機能は、CPU111がROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶されたブラウジングプログラムを実行することにより実現される。
【0121】
図12を参照して、図6に示したCPU111の機能と異なる点は、制限部91が追加された点、コマンド出力部73およびコンテンツ受信部75がコマンド送信部97およびコンテンツ受信部75Aにそれぞれ変更された点である。その他の機能は、図6に示した機能と同じなので、ここでは異なる点を主に説明する。
【0122】
コマンド送信部97は、次に説明する制限部91からセッション禁止信号または送信禁止信号が入力されないことを条件に、リクエスト受付部71により受け付けられたリクエストにより定まるコマンドを、リクエストにより定まる送信先のWebサーバに送信する。
【0123】
制限部91は、リクエスト受付部71がリクエストを受け付けることに応じて出力するリクエストが入力される。リクエストは、ユーザにより入力されたURLにアクセスするリクエストと、ユーザにより指示されたリンク情報に含まれるURLにアクセスするリクエストと、Webページに含まれるプログラムをCPU111が実行することにより生成されるタスクが出力するリクエストと、を含む。
【0124】
制限部91は、第1リクエスト禁止部93と、第2リクエスト禁止部95と、を含む。第1リクエスト禁止部93は、リクエスト受付部71によりリクエストが受け付けられた時点で、受け付けられたリクエストで特定される送信先のWebサーバと同じWebサーバからダウンロードされて既に表示されているコンテンツの数が所定のしきい値ならば、コマンド送信部97がWebサーバにコマンドを送信するのを禁止する。換言すれば、複数のタブにWebページを表示している場合であって、表示されている複数のWebページのうちで、リクエストで特定される送信先のWebサーバからダウンロードされたWebページの数を、しきい値と比較する。第1リクエスト禁止部93は、保持部85が保持しているタブごとのWebページを参照し、受け付けられたリクエストで特定される送信先のWebサーバと同じWebサーバからダウンロードされて既に表示されているコンテンツの数をカウントする。
【0125】
第2リクエスト禁止部95は、リクエスト受付部71からリクエストが入力された時点で、リクエスト受付部71から入力されるリクエストにより定まる送信先のWebサーバとの通信状態に基づいて、コマンド送信部97がWebサーバにコマンドを送信するのを禁止する。具体的には、第2リクエスト禁止部95は、リクエスト受付部71から入力されるリクエストにより定まるコマンドの送信先のWebサーバとの間で通信するためのセッションが、既に確立されている場合、コマンド送信部97がWebサーバにコマンドを送信するのを禁止する。第2リクエスト禁止部95は、コンテンツ受信部75Aが通信のためにセッションを確立しているWebサーバを特定する情報を、コンテンツ受信部75Aから取得する。
【0126】
制限部91は、第1リクエスト禁止部93および第2リクエスト禁止部95のいずれかが、Webサーバにコマンドを送信するのを禁止する場合、リクエスト受付部71から入力されるリクエストにより定まる送信先のWebサーバに代わって、コンテンツ受信部75Aにエラーページを出力する。リクエスト受付部71から入力されるリクエストにより定まる送信先のWebサーバにコマンドが送信されないので、Webサーバの負荷を低減することができる。
【0127】
制限部91は、第1リクエスト禁止部93および第2リクエスト禁止部95のいずれもWebサーバにコマンドを送信するのを禁止しない場合、リクエスト受付部71から入力されるリクエストを、コマンド送信部97に出力する。
【0128】
コマンド送信部97は、制限部91からリクエストが入力されることに応じて、リクエストで定まるコマンドを、リクエストで定まる送信先のWebサーバに送信する。具体的には、コマンド送信部97は、リクエストで定まる送信先のWebサーバとの間で通信のためのセッションを確立し、確立されたセッションで通信I/F部112を介してリクエストで定まるコマンドを送信する。
【0129】
コンテンツ受信部75Aは、制限部91からエラーページが入力される場合、エラーページをコンテンツ表示部77に出力する。
【0130】
図13は、第2の実施の形態におけるブラウジング処理の流れの一例を示すフローチャートである。第2の実施の形態におけるブラウジング処理は、MFP100が備えるCPU111が、ROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶されたブライジングプログラムを実行することにより、CPU111により実行される処理である。
【0131】
図13を参照して、CPU111は、リクエストを受け付けたか否かを判断する(ステップS51)。リクエストを受け付けるまで待機状態となり(ステップS51でNO)、リクエストを受け付けたならば(ステップS51でYES)、処理をステップS52に進める。ユーザが操作部105にURLを入力すると、入力されたURLにアクセスするリクエストを受け付ける。ユーザが操作部105にリンク情報を指示する操作を入力すると、指示されたリンク情報に含まれるURLにアクセスするリクエストを受け付ける。さらに、表示部103に既にWebページが表示されている場合であって、そのWebページに含まれるプログラムが、定期的にWebページを更新するために、新たなWebページの送信を要求するリクエストを定期的に送信するコマンドを含む場合、既に表示されているWebページに含まれるプログラムをCPU111が実行することにより生成されるタスクが出力するリクエストを受け付ける。
【0132】
ステップS52においては、リクエスト判定処理を実行する。リクエスト判定処理の詳細は後述するが、受け付けられたリクエストが禁止されるか否かを判断する処理である。ステップS53においては、リクエスト判定処理の結果により処理を分岐させる。リクエスト判定処理の結果がリクエスト禁止を示すならば処理をステップS62に進めるが、そうでなければ処理をステップS54に進める。ステップS62においては、エラーページを表示部103に表示し、処理をステップS63に進める。表示部103に表示の対象となっているタブに表示されているWebページを、エラーページで書き換える。エラーページは、例えば、「タブを開く数を減らして下さい。」のメッセージ、または「同じボタンを連続して指示しないで下さい。」のメッセージを含む。これにより、ユーザは、Webサーバに負荷をかけない操作が必要なことを知ることができる。
【0133】
ステップS54においては、ステップS51において受け付けられたリクエストが新たなタブを開く指示を含むか否かを判断する。新たなタブを開く指示を含むならば処理をステップS55に進めるが、そうでなければ処理をステップS56に進める。ステップS55においては、新規タブを生成し、表示部103に表示する。この段階においては、新規タブに表示するための内容が存在しないため、表示部103には、白紙の画面が表示される。なお、受信中である旨のメッセージ等を表示するようにしてもよい。
【0134】
ステップS56においては、ステップS51において受け付けられたリクエストに含まれるURLで特定されるWebサーバとの間で、通信のためのセッションを確立する。そして、ステップS51において受け付けられたリクエストにより定まるコマンドを送信する。通信I/F部112を制御して、リクエストにより定まる送信先のWebサーバ宛にコマンドを送信する。具体的には、ステップS51において受け付けられたリクエストに含まれるURLを含むGETコマンドを、通信I/F部112を介してネットワーク2に送信する。ここでは、GETコマンドに含まれるURLが、Webサーバ7を特定する場合を例に説明する。GETコマンドに含まれるURLがWebサーバ7を特定する場合、GETコマンドはWebサーバ7により受信される。GETコマンドを受信するWebサーバ7においては、URLで特定されるWebページを、GETコマンドを送信してきたMFP100に返信するので、通信I/F部112がWebページを受信する。
【0135】
ステップS58においては、通信I/F部112がWebページを受信するまで待機状態となり(ステップS58でNO)、Webページを受信すると(ステップS58でYES)、処理をステップS59に進める。
【0136】
次のステップS59においては、受信されたWebページを保持する。具体的には、受信されたWebページをタブの名称と関連付けてRAM114に記憶する。ステップS55において新たなタブが生成された場合には、新たなタブの名称とWebページとを関連付けてRAM114に記憶する。ステップS55において新たなタブが生成されない場合、表示部103に表示の対象となっているタブの名称と関連付けてRAM114に記憶されているWebページを、受信されたWebページで書き換える。
【0137】
次のステップS60においては、ステップS57において確立したセッションを終了する。そして、ステップS61においては、受信されたWebページを表示部103に表示し、処理をステップS63に進める。ステップS55において新規に新規タブか生成されている場合には、新規タブにWebページを表示し、新規タブか生成されていない場合には、表示部103に表示の対象となっているタブに表示されているWebページを、ステップS58において受信されたWebページで書き換える。
【0138】
次のステップS63においては、終了指示を受け付けたか否かを判断する。ユーザがタッチパネル105Aを操作することにより、ブラウジング処理を終了する指示を受け付けたか否かを判断する。ブラウジング処理を終了する指示は、ウインドウを閉じる操作を含む。終了指示を受け付けたならば(ステップS63でYES)、ブラウジング処理を終了するが、そうでなければ(ステップS63でNO)、処理をステップS51に戻す。
【0139】
図14は、リクエスト判定処理の流れの一例を示すフローチャートである。リクエスト判定処理は、図13のステップS52において実行される処理である。図14を参照して、リクエスト先を特定する(ステップS71)。受け付けられたリクエストに含まれるURLを抽出することにより、リクエスト先のWebサーバのURLを特定する。
【0140】
次のステップS72においては、ステップS71において特定されたリクエスト先のWebサーバから受信済の表示コンテンツの数をカウントする。表示コンテンツは、ブラウジング処理を実行してRAM114に記憶されているコンテンツである。ここでは、RAM114にタブの名称と関連付けられて記憶されてるコンテンツの数をカウントする。
【0141】
次のステップS73においては、カウント数がしきいち値TNと同じか否かを判断する。カウント数がしきいち値TNと同じならば処理をステップS75に進めるが、そうでなければ処理をステップS74に進める。ステップS74においては、セッションが確立済みか否かを判断する。ステップS71において特定されたリクエスト先のWebサーバとの間で通信のためのセッションが確立しているか否かを判断する。リクエスト先のWebサーバとの間でセッションが確立済みならば処理をステップS75に進めるが、そうでなければ処理をステップS76に進める。
【0142】
ステップS75においては、判定結果にリクエスト禁止を設定し、処理をブラウジング処理に戻す。ステップS76においては、判定結果にリクエスト許可を設定し、処理をブラウジング処理に戻す。
【0143】
第2の実施の形態におけるMFP100は、ユーザから受け付けられたリクエストにより定まる送信先のWebサーバから過去に受信されたコンテンツの状態または該Webサーバとの間の通信状態に基づいて、Webページに送信するコマンドを制限する制限部91を備える。このため、リクエスト先のWebサーバの負荷を低減することができる。
【0144】
制限部91は、リクエストが受け付けられた時点で、表示可能に保持されているWebページのうち、受け付けられたリクエストにより定まる送信先のWebサーバと同じWebサーバから受信されたWebページの数が所定のしきい値TNならば、コマンドの送信を禁止する。このため、同じWebサーバから受信し、表示可能に保持するWebページの数を制限することにより、Webサーバの負荷を低減することができる。
【0145】
また、制限部91は、リクエストが受け付けられた時点で、該受け付けられたリクエストの送信先のWebサーバと通信するためのセッションが既に確立されている場合、コマンドの送信を禁止する。このため、同じWebサーバと確立するセッションの数を制限することにより、Webサーバの負荷を低減することができる。
【0146】
なお、上述した実施の形態においては、画像形成装置の一例としてMFP100を説明したが、図8および図9、または、図13および図14に示した処理をMFP100に実行させるための通信制御方法または、その通信制御方法をコンピュータに実行させるための通信制御プログラムとして発明を捉えることができるのは言うまでもない。
【0147】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0148】
<付記>
(1) ブラウジングプログラムを実行する1以上のタスク各々により表示可能に保持されている1以上のコンテンツ各々に対して送信元のサーバを識別するためのサーバ識別情報を関連付ける関連付ステップと、をさらに含み、
前記制限ステップは、前記取得ステップにおいてコマンドが取得された時点で、前記関連付ステップにおいて前記取得されたコマンドの送信先のサーバのサーバ識別情報と同じサーバ識別情報と関連付けられたコンテンツの数が所定のしきい値ならば、前記送信ステップにおいて前記コマンドが前記送信先のサーバに送信されるのを禁止する第1リクエスト禁止ステップと、を含む請求項11に記載の通信制御方法。
画像形成装置。
(2) 前記送信ステップは、通信先のサーバと通信するためにセッションを確立するセッション確立ステップを、含み、
前記制限ステップは、前記取得ステップにおいてコマンドが取得される時点で、該取得されたコマンドの送信先のサーバとの間で前記セッション確立ステップにおいて既にセッションが確立されている場合、前記コマンドを前記サーバに送信するのを禁止する第2リクエスト禁止ステップと、含む請求項11または(1)に記載の通信制御方法。
(3) ブラウジングプログラムを実行するタスクは、サーバより受信された1以上のコンテンツを選択可能な状態で保持可能であり、
前記取得ステップは、前記ブラウジングプログラムを実行するタスクが前記保持されている1以上のコンテンツのいずれかが出力するリクエストを受け付けるステップを含む、(2)に記載の通信制御方法。
(4) 前記取得ステップは、前記ブラウジングプログラムを実行するタスクが、ユーザによる指示により受け付けられることに応じて出力するリクエストを受け付けるステップを、含む(2)または(3)に記載の通信制御方法。
(5) 前記表示ステップは、前記コンテンツ受信ステップにおいて受信された1以上のコンテンツを選択可能な状態で保持する保持ステップと、
前記保持された1以上のコンテンツのうちから選択された1つを表示する選択表示ステップと、を含み、
前記制限ステップは、前記リクエスト受付ステップにおいてリクエストが受け付けられた時点で、前記保持ステップにおいて保持されている1以上のコンテンツのうち、前記受け付けられたリクエストにより定まる送信先のサーバと同じサーバから受信されたコンテンツの数が所定のしきい値ならば、前記コマンド送信ステップにおける前記コマンドの送信を禁止する第1リクエスト禁止ステップを、含む請求項13に記載のブラウジング方法。
(6) 前記制限ステップは、前記リクエスト受付ステップにおいてリクエストが受け付けられた時点で、該受け付けられたリクエストの送信先のサーバと通信するためのセッションが既に確立されている場合、前記コマンド送信ステップにおける前記コマンドの送信を禁止する第2リクエスト禁止ステップを、含む請求項13または(5)に記載のブラウジング方法。
(7) 前記リクエスト受付ステップは、前記保持ステップにおいて保持されている1以上のコンテンツのいずれかが発生するリクエストを受け付ける発生リクエスト受付ステップを含む、(5)または(6)に記載のブラウジング方法。
(8) 前記リクエスト受付ステップは、ユーザによる指示によりリクエストを受け付ける指示受付ステップを含む、請求項13、(5)〜(7)のいずれかに記載のブラウジング方法。
【符号の説明】
【0149】
1 情報処理システム、2 ネットワーク、3 インターネット、7,7A Webサーバ、9 操作パネル、10 ADF、20 原稿読取部、30 画像形成部、40 給紙部、51 ブラウジング部、53 通信制御部、55 コマンド取得部、57 制限部、59 コマンド送信部、61 関連付部、65 第1リクエスト禁止部、63 第2リクエスト禁止部、67 セッション確立部、71 リクエスト受付部、73 コマンド出力部、75,75A コンテンツ受信部、77 コンテンツ表示部、81 指示リクエスト受付部、83 発生リクエスト受付部、85 保持部、87 選択表示部、91 制限部、93 第1リクエスト禁止部、95 第2リクエスト禁止部、97 コマンド送信部、99 管理テーブル、100 MFP、101 メイン回路、103 表示部、105 操作部、105A タッチパネル、105B ブラウザキー、111 CPU、112 通信I/F部、113 ROM、114 RAM、115,115A EEPROM、116 HDD、117 ファクシミリ部、118 ネットワークI/F、119 外部記憶装置、119A CD−ROM。
【技術分野】
【0001】
この発明は、画像形成装置、通信制御方法、通信制御プログラム、ブラウジング方法およびブラウジングプログラムに関し、特にネットワークを介してWebサーバからデータを受信する画像形成装置、その画像形成装置で実行される通信制御方法、通信制御プログラム、ブラウジング方法およびブラウジングプログラムに関する。
【背景技術】
【0002】
ネットワーク上のWebサーバにアクセスすることにより、該Webサーバに記憶されたコンテンツを受信し表示する、いわゆるWebブラウザが広く知られている。複数のWebブラウザを同時に起動することにより、複数のWebページを表示することができる。また、1つのWebブラウザにおいて、複数のタブ各々にWebページを表示することができる。このため、1つのWebサーバから複数のWebページをダウンロードすることができる。また、Webページによっては、定期的にWebサーバにアクセスして、Webページを更新する機能を備えたものがある。
【0003】
一方、Webサーバは、1つのコンピュータから複数のリクエストを受信する場合、複数のリクエスト各々に対応してWebページを送信したり、リクエストに応じた処理をしたりすることになる。このため、リクエストが集中する場合には、負荷が大きくなる場合があるといった問題がある。
【0004】
Webページへのアクセスを制限する技術として、特開2006−192878号公報には、ネットワークと通信可能に接続された画像形成装置において実行され、該ネットワークよりコンテンツを受信し表示するためのブラウザにおける情報処理方法であって、起動時に、該ブラウザにより表示することが許可されているコンテンツに関する情報を表示する初期表示工程と、前記ブラウザにより表示することが許可されているコンテンツに含まれる、他のコンテンツへのリンク情報が選択されたか否かを検知する検知工程と、前記検知工程により、他のコンテンツへのリンク情報が選択されたことを検知した場合、前記他のコンテンツへのリンク情報が、前記ブラウザにより表示されているコンテンツと同一ドメイン内もしくは同一サイト内である場合、前記他のコンテンツへのアクセスを許可する情報処理方法が記載されている。
【0005】
しかしながら、従来の情報処理方法は、ブラウザにより表示することが許可されているコンテンツのみが表示されるので、許可されていないコンテンツへのアクセスを制限することはできるが、許可されているコンテンツを記憶するWebサーバの負荷を低減することはできないといった問題がある。
【特許文献1】特開2006−192878号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
この発明は上述した問題を解決するためになされたもので、この発明の目的の1つは、サーバの負荷を低減することが可能な画像形成装置を提供することである。
【0007】
この発明の他の目的は、サーバの負荷を低減することが可能な通信制御方法、通信制御プログラムを提供することである。
【0008】
この発明のさらに他の目的は、サーバの負荷を低減することが可能なブラウジング方法およびブラウジングプログラムを提供することである。
【課題を解決するための手段】
【0009】
上述した目的を達成するために、この発明のある局面によれば、画像形成装置は、ネットワークに接続されたサーバからコンテンツを受信し、受信されたコンテンツを表示する1以上のブラウジング手段と、1以上のブラウジング手段各々がサーバに送信するために出力するコマンドを取得するコマンド取得手段と、取得されたコマンドを、該コマンドの送信先のサーバに送信する送信手段と、取得されたコマンドを送信したサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、送信手段によるコマンドの送信を制限する制限手段と、を備える。
【0010】
この局面に従えば、ネットワークに接続されたサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、コマンドの送信が制限されるので、サーバの負荷を低減することが可能な画像形成装置を提供することができる。
【0011】
好ましくは、1以上のブラウジング手段各々により、過去にサーバから受信され、かつ、表示可能に保持されている1以上のコンテンツ各々に対して送信元のサーバを識別するためのサーバ識別情報を関連付ける関連付手段を、含み、制限手段は、取得手段によりコマンドが取得された時点で、関連付手段によって取得されたコマンドの送信先のサーバのサーバ識別情報と同じサーバ識別情報と関連付けられたコンテンツの数が所定のしきい値ならば、送信手段によるコマンドの送信を禁止する第1リクエスト禁止手段を、含む。
【0012】
好ましくは、送信手段は、取得されたコマンドの送信先のサーバと通信するためにセッションを確立するセッション確立手段を、さらに含み、制限手段は、取得手段によりコマンドが取得された時点で、取得されたコマンドの送信先のサーバとの間で通信するためのセッションが既に確立されている場合、送信手段によるコマンドの送信を禁止する第2リクエスト禁止手段を、含む。
【0013】
好ましくは、1以上のブラウジング手段各々は、リクエストを受け付けるリクエスト受付手段と、リクエストが受け付けられることに応じて、受け付けられたリクエストにより定まる送信先のサーバに受け付けられたリクエストに対応するコマンドを出力するコマンド出力手段と、出力されたコマンドを実行するサーバが返信するコンテンツを受信するコンテンツ受信手段と、受信されたコンテンツを表示するコンテンツ表示手段と、を含み、コンテンツ表示手段は、コンテンツ受信手段により受信された1以上のコンテンツを選択可能な状態で保持する保持手段と、保持された1以上のコンテンツのうちから選択された1つを表示する選択表示手段と、を含み、リクエスト受付手段は、保持手段により保持されている1以上のコンテンツのいずれかが発生するリクエストを受け付ける発生リクエスト受付手段を、含む。
【0014】
好ましくは、1以上のブラウジング手段各々は、リクエストを受け付けるリクエスト受付手段と、リクエストが受け付けられることに応じて、受け付けられたリクエストにより定まる送信先のサーバに受け付けられたリクエストに対応するコマンドを出力するコマンド出力手段と、出力されたコマンドを実行するサーバが返信するコンテンツを受信するコンテンツ受信手段と、受信されたコンテンツを表示するコンテンツ表示手段と、を含み、リクエスト受付手段は、ユーザによる指示によりリクエストを受け付ける指示受付手段を、含む。
【0015】
この発明の他の局面によれば、画像形成装置は、リクエストを受け付けるリクエスト受付手段と、リクエストが受け付けられることに応じて、受け付けられたリクエストにより定まる送信先のサーバに受け付けられたリクエストに対応するコマンドを送信するコマンド送信手段と、コマンドを実行するサーバが返信するコンテンツを受信するコンテンツ受信手段と、受信されたコンテンツを表示するコンテンツ表示手段と、受け付けられたリクエストにより定まる送信先のサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、コマンド送信手段によるコマンドの送信を制限する制限手段と、を備える。
【0016】
この局面に従えば、サーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、コマンドの送信が制限されるので、サーバの負荷を低減することが可能な画像形成装置を提供することができる。
【0017】
好ましくは、コンテンツ表示手段は、コンテンツ受信手段により受信された1以上のコンテンツを選択可能な状態で保持する保持手段と、保持された1以上のコンテンツのうちから選択された1つを表示する選択表示手段と、を含み、制限手段は、リクエスト受付手段によりリクエストが受け付けられた時点で、保持手段により保持されている1以上のコンテンツのうち、受け付けられたリクエストにより定まる送信先のサーバと同じサーバから受信されたコンテンツの数が所定のしきい値ならば、コマンド送信手段によるコマンドの送信を禁止する第1リクエスト禁止手段を、含む。
【0018】
好ましくは、制限手段は、リクエスト受付手段によりリクエストが受け付けられた時点で、該受け付けられたリクエストの送信先のサーバと通信するためのセッションが既に確立されている場合、コマンド送信手段によるコマンドの送信を禁止する第2リクエスト禁止手段を、含む。
【0019】
好ましくは、リクエスト受付手段は、保持手段により保持されている1以上のコンテンツのいずれかが発生するリクエストを受け付ける発生リクエスト受付手段を、含む。
【0020】
好ましくは、リクエスト受付手段は、ユーザによる指示によりリクエストを受け付ける指示受付手段を、含む。
【0021】
この発明のさらに他の局面によれば、通信制御方法は、ブラウジングプログラムを実行可能な画像形成装置で実行される通信制御方法であって、ブラウジングプログラムを実行するタスクがネットワークに接続されたサーバに送信するために出力するコマンドを取得する取得ステップと、取得されたコマンドを、該コマンドの送信先のサーバに送信する送信ステップと、取得されたコマンドを送信したサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、送信ステップにおける取得されたコマンドの送信を制限する制限ステップを含む。
【0022】
この局面に従えば、サーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、コマンドの送信が制限されるので、サーバの負荷を低減することが可能な通信制御方法を提供することができる。
【0023】
この発明のさらに他の局面によれば、通信制御プログラムは、ブラウジングプログラムを実行可能な画像形成装置を制御するコンピュータで実行される通信制御プログラムであって、ブラウジングプログラムを実行するタスクがネットワークに接続されたサーバに送信するために出力するコマンドを取得する取得ステップと、取得されたコマンドを、該コマンドの送信先のサーバに送信する送信ステップと、取得されたコマンドを送信したサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、送信ステップにおける取得されたコマンドの送信を制限する制限ステップと、をコンピュータに実行させる。
【0024】
この局面に従えば、サーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、コマンドの送信が制限されるので、サーバの負荷を低減することが可能な通信制御プログラムを提供することができる。
【0025】
この発明のさらに他の局面に従えば、ブラウジンブ方法は、ネットワークに接続された画像形成装置で実行されるブラウジング方法であって、リクエストを受け付けるリクエスト受付ステップと、リクエストが受け付けられることに応じて、受け付けられたリクエストにより定まる送信先のサーバに受け付けられたリクエストに対応するコマンドを送信するコマンド送信ステップと、コマンドを実行するサーバが返信するコンテンツを受信するコンテンツ受信ステップと、受信されたコンテンツを表示するコンテンツ表示ステップと、受け付けられたリクエストにより定まる送信先のサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、リクエストを送信するステップにおけるコマンドの送信を制限する制限ステップと、を含む。
【0026】
この局面に従えば、サーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、コマンドの送信が制限されるので、サーバの負荷を低減することが可能なブラウジングプログラムを提供することができる。
【0027】
この発明のさらに他の局面によれば、ブラウジングプログラムは、ネットワークに接続された画像形成装置を制御するコンピュータで実行されるブラウジングプログラムであって、リクエストを受け付けるリクエスト受付ステップと、リクエストが受け付けられることに応じて、受け付けられたリクエストにより定まる送信先のサーバに受け付けられたリクエストに対応するコマンドを送信するコマンド送信ステップと、コマンドを実行するサーバが返信するコンテンツを受信するコンテンツ受信ステップと、受信されたコンテンツを表示するコンテンツ表示ステップと、受け付けられたリクエストにより定まる送信先のサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、リクエストを送信するステップにおけるコマンドの送信を制限する制限ステップと、をコンピュータに実行させる。
【0028】
この局面に従えば、サーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、コマンドの送信が制限されるので、サーバの負荷を低減することが可能なブラウジングプログラムを提供することができる。
【図面の簡単な説明】
【0029】
【図1】本発明の実施の形態における情報処理システムの全体概要を示す図である。
【図2】MFPの外観を示す斜視図である。
【図3】MFPのハードウエア構成の一例を示すブロック図である。
【図4】操作パネルの一例を示す平面図である。
【図5】MFPが備えるCPUの機能の概要をEEPROMに記憶する情報とともに示すブロック図である。
【図6】第nブラウジング部51−nの詳細な機能の一例を示すブロック図である。
【図7】管理テーブルの一例を示す図である。
【図8】ブラウジング処理の流れの一例を示すフローチャートである。
【図9】通信制御処理の流れの一例を示すフローチャートである。
【図10】ユーザの操作と処理の流れの一例を示す第1の図である。
【図11】ユーザの操作と処理の流れの一例を示す第2の図である。
【図12】第2の実施の形態におけるMFPが備えるCPUの機能の概要をEEPROMに記憶する情報とともに示すブロック図である。
【図13】第2の実施の形態におけるブラウジング処理の流れの一例を示すフローチャートである。
【図14】リクエスト判定処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0030】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返さない。
【0031】
<第1の実施の形態>
図1は、本発明の実施の形態における情報処理システムの全体概要を示す図である。図1を参照して、情報処理システム1は、ネットワーク2に接続された複合機(Multi Function Peripheral)(以下、「MFP」という)100と、PC200と、インターネット3に接続されたWebサーバ7,7Aと、を含む。MFP100は、画像形成装置の一例であり、スキャナ機能、プリンタ機能、コピー機能、ファクシミリ機能等の複数の機能を備える。
【0032】
ネットワーク2は、ローカルエリアネットワーク(LAN)であり、ゲートウェイを介してインターネット3に接続されている。このため、MFP100は、インターネット3に接続されたWebサーバ7,7Aと通信可能である。MFP100と、Webサーバ7,7Aとの間の通信は、特に限定するものではないが、HTTP(HyperText Transfer Protocol)の通信プロトコルで通信する。なお、ネットワーク2は、LANに限らず、インターネット、ワイドエリアネットワーク(WAN)、公衆交換電話網等であってもよい。
【0033】
MFP100は、ブラウジングプログラムがインストールされており、ブラウジングプログラムを実行することにより、ブラウザ機能を有する。例えば、MFP100は、ユーザによりWebサーバ7が記憶するウェブ(Web)ページのURL(Uniform Resource Locator)が指定されると、Webサーバ7にURLで特定されるWebページの送信を要求するリクエストを送信し、Webサーバ7がリクエストに応じて送信するWebページを受信し、表示する。ここで、Webページは、HTML(HyperText Markup Language)またはXML(Extensible Markup Language)等のマークアップ言語で記述されたテキストデータである。以下、MFP100がWebベージをダウンロードして、表示する処理をブラウジング処理という。
【0034】
Webサーバ7,7Aそれぞれは、ブラウザ機能を有するMFP100から送信されるリクエストに応じて、WebページをMFP100に送信する。さらに、Webサーバ7,7Aそれぞれは、CGI(Common Gateway Interface)を有しており、ブラウザ機能を有するMFP100からのリクエストに応じて、アプリケーションプログラムを起動する。例えば、Webサーバ7,7Aそれぞれが、ファイルサーバとして機能する場合、MFP100からのリクエストに応じて、MFP100が送信するデータを受信し、受信されたデータを記憶するアプリケーションプログラムを起動する。
【0035】
なお、本実施の形態においては画像形成装置の一例としてMFP100を例に説明するが、MFP100に代えて、ブラウザ機能を備えた装置であれば、例えば、パーソナルコンピュータ、スキャナ、プリンタ、ファクシミリ等の情報処理装置であってもよい。また、Webサーバ7,7Aは、イントラネット内にあってもよいことは言うまでもない。さらに、画像形成装置であるMFP100自身にWebサーバの機能を兼ね備えさせることも可能である。
【0036】
図2は、MFPの外観を示す斜視図である。図2を参照して、MFP100は、操作パネル9と、自動原稿搬送装置(ADF)10と、原稿読取部20と、画像形成部30と、給紙部40と、を含む。
【0037】
ADF10は、原稿給紙トレイ11上にセットされた複数枚の原稿を1枚ずつ自動的に原稿読取部20のプラテンガラス上に設定された所定の原稿読取位置まで搬送し、原稿読取部20により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。原稿読取部20は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、メモリに記憶する、または画像形成部30に出力する。
【0038】
画像形成部30は、周知の電子写真方式により画像を形成するものであって、原稿読取部20から入力される画像データにシェーディング補正などの各種のデータ処理を施し、データ処理後の画像データに基づいて、給紙部40により搬送される用紙に画像を形成する。給紙部40は、給紙トレイに収納された用紙を画像形成部30に搬送する。
【0039】
図3は、MFPのハードウエア構成の一例を示すブロック図である。図3を参照して、MFP100は、メイン回路101と、ADF10と、原稿読取部20と、画像形成部30と、給紙部40と、ユーザインターフェースとしての操作パネル9と、を含む。
【0040】
メイン回路101は、CPU111と、通信インターフェース(I/F)部112と、ROM(Read Only Memory)113と、RAM(Random Access Memory)114と、EEPROM(Electronically Erasable and Programmable ROM)115と、大容量記憶装置としてのハードディスクドライブ(HDD)116と、ファクシミリ部117と、ネットワークI/F118と、CD−ROM119Aが装着される外部記憶装置119とを含む。CPU111は、ADF10、原稿読取部20、画像形成部30、給紙部40および操作パネル9と接続され、MFP100の全体を制御する。
【0041】
ROM113は、CPU111が実行するプログラム、およびそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。
【0042】
通信I/F部112は、MFP100を他の装置とシリアル通信ケーブルで接続するためのインターフェースである。なお、接続形態は、有線であっても無線であってもよい。
【0043】
ファクシミリ部117は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部117は、受信したファクシミリデータを、HDD116に記憶する、または画像形成部30に出力する。画像形成部30は、ファクシミリ部117により受信されたファクシミリデータを用紙に印刷する。また、ファクシミリ部117は、HDD116に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
【0044】
ネットワークI/F118は、MFP100をネットワーク2に接続するためのインターフェースである。CPU111は、ネットワークI/F118を介して、PC200および、インターネット3に接続されたWebサーバ7,7Aと通信可能である。
【0045】
外部記憶装置119は、CD−ROM119Aが装着される。CPU111は、外部記憶装置119を介してCD−ROM119Aにアクセス可能であり、CD−ROM119Aに記憶されたプログラムをRAM114にロードして実行可能である。なお、CPU111が実行するプログラムは、CD−ROM119Aに記憶されたプログラムに限られず、他の記憶媒体に記憶されたプログラムでもよく、HDD116に記憶されたプログラムであってもよく、さらに、ネットワークI/F118を介してネットワーク2に接続された他のコンピュータによりHDD116に書き込みされたプログラムであってもよい。
【0046】
なお、プログラムを記憶する記憶媒体としては、CD−ROM119Aに限られず、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable and Programmable ROM)などの半導体メモリでもよい。
【0047】
ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【0048】
操作パネル9は、MFP100の上面に設けられ、表示部103と操作部105とを含む。表示部103は、液晶表示装置、有機ELD(Electroluminescence Display)等の表示装置であり、ユーザに対する指示メニューや取得した表示データに関する情報等を表示する。操作部105は、ユーザの操作を受け付け、受け付けられた操作をCPU111に出力する。
【0049】
図4は、操作パネルの一例を示す平面図である。図4を参照して、操作部105は、表示部103の上に重畳して配置されたタッチパネル105Aと、ブラウジング処理の実行を指示する操作が割り当てられたブラウザキー105Bと、スキャン処理の実行を指示する操作が割り当てられたスキャンキー105Cと、コピー処理の実行を指示する操作が割り当てられたコピーキー105Dと、テンキー105Eと、入力内容をキャンセルするためのクリアキー105Fと、スタートキー105Gと、を含む。タッチパネル105Aは、透明な部材からなり、表示部103に重畳して配置される。タッチパネル105Aは、ユーザがタッチパネル105Aを指で触れると、触れられた位置を指示位置として検出し、CPU111に出力する。
【0050】
図5は、MFPが備えるCPUの機能の概要をEEPROMに記憶する情報とともに示すブロック図である。図5に示すCPU111の機能は、CPU111がROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶されたブラウジングプログラムおよび通信制御プログラムを実行することにより実現される。
【0051】
図5を参照して、CPU111は、第1〜第Nブラウジング部51−1〜N(Nは2以上の整数)と、ネットワークI/F118を制御する通信制御部53と、を含む。EEPROM115は、管理テーブル99を記憶する。
【0052】
第1〜第Nブラウジング部51−1〜Nそれぞれは、CPU111がブラウジングプログラムを実行することによりCPU111に形成されるタスクである。CPU111は、複数のブラウジングプログラムを実行することが可能であり、CPU111が実行するブラウジングプログラムの数と同じ数のタスクがCPU111に形成される。
【0053】
CPU111は、操作部105の備えるブラウザキー105Bがユーザにより指示されることに応じて、ブラウジングプログラムを実行する。このため、ユーザによりブラウザキー105Bが指示される回数と同じ数のタスクをCPU111は生成する。また、Webページのリンク情報がユーザにより指示される場合に、CPU111は新たなタスクを生成する。例えば、第1ブラウジング部51−1により表示された第1Webページに含まれるリンク情報が指示された場合、該リンク情報に新たなウインドウを開くコマンドが割り当てられている場合には、CPU111はブラウジングプログラムを実行することにより新たなタスク、例えば第2ブラウジング部51−2を生成し、第2ブラウジング部51−2が、第1Webページに含まれるリンク情報でリンクされた第2Webページを表示する。
【0054】
さらに、第1〜第Nブラウジング部51−1〜N各々は、複数のタブ各々でWebページを保持することができ、複数のタブの名称と、1つのWebページを表示する。複数のタブの名称のうちユーザにより指示された名称のタブが保持するWebページを表示する。また、第1〜第Nブラウジング部51−1〜N各々は、表示されているWebページに含まれるリンク情報がユーザにより指示される場合に、新たなタブを生成し、新たなタブで新たなWebページを保持するとともに、保持したWebページを表示する。例えば、第1ブラウジング部51−1により表示された第3Webページに含まれるリンク情報が指示された場合、該リンク情報に新たなタブを開くコマンドが割り当てられている場合には、第1ブラウジング部51−1は新たなタブを生成し、リンク情報でリンクされた第4Webページを保持し、保持したWebページを表示する。
【0055】
図5においては、第1〜第Nブラウジング部51−1〜51−Nが生成された場合を示している。ここでは、第1〜第Nブラウジング部51−1〜Nのうちの任意の1つを第nブラウジング部51−n(nは、N以下の正の整数)で示す。
【0056】
第nブラウジング部51−nは、CPU111によりタスクを識別するためのタスク識別情報が割り当てられる。また、第nブラウジング部51−nは、ユーザが操作部105を操作することにより、第nブラウジング部51−nを指定する操作と、終了する指示とを入力すると、ブラウジングプログラムの実行を終了する。
【0057】
第nブラウジング部51−nは、ブラウジング処理を実行する。図6は、第nブラウジング部51−nの詳細な機能の一例を示すブロック図である。図6を参照して、第nブラウジング部51−nは、サーバに対するリクエストを受け付けるリクエスト受付部71と、受け付けられたリクエストに対応するコマンドを出力するコマンド出力部73と、リクエストを受信するサーバが返信するコンテンツを受信するコンテンツ受信部75と、受信されたコンテンツを表示するコンテンツ表示部77と、を含む。
【0058】
リクエスト受付部71は、リクエストを受け付け、受け付けられたリクエストをコマンド出力部73およびコンテンツ表示部77に出力する。リクエスト受付部71は、指示リクエスト受付部81と、発生リクエスト受付部83と、を含む。指示リクエスト受付部81は、ユーザが操作部105に入力する操作に基づくリクエストを受け付ける。指示リクエスト受付部81は、ユーザが操作部105にURLを入力すると、入力されたURLにアクセスするリクエストを受け付ける。また、指示リクエスト受付部81は、ユーザが、操作部105にリンク情報を指示する操作を入力すると、指示されたリンク情報に含まれるURLにアクセスするリクエストを受け付ける。具体的には、後述するコンテンツ表示部77により表示部103にWebページが表示された状態で、ユーザがWebページに含まれるリンク情報が表示された部分を指示すると、指示リクエスト受付部81は、操作部105の備えるタッチパネル105Aが検出する位置に基づいて、リンク情報を指示する操作を受け付ける。
【0059】
指示リクエスト受付部81は、コンテンツ表示部77に、リクエストとともにタブの切換指示を出力する。ユーザが操作部105にリンク情報を指示する操作を入力する場合、指示されたリンク情報に、新たなタブを開くコマンドが割り当てられている場合、指示リクエスト受付部81は、指示されたリンク情報に含まれるURLにアクセスするリクエストとともに、新たなタブを開くことを示す切換指示を出力する。
【0060】
発生リクエスト受付部83は、Webページに含まれるプログラムをCPU111が実行することにより生成されるタスクが出力するリクエストを受け付ける。CPU111は、後述するコンテンツ表示部77に含まれる保持部85が保持するWebページに含まれるプログラムを実行する。Webページに含まれるプログラムは、例えば、JAVA(登録商標)、JAVA(登録商標)スクリプトで記述され、定期的にWebページを更新するために、新たなWebページの送信を要求するリクエストを定期的に送信するコマンドを含む。
【0061】
コマンド出力部73は、リクエスト受付部71からリクエストが入力されることに応じて、入力されるリクエストにより定まる送信先のサーバ宛にリクエストに対応するコマンドを、通信制御部53に出力する。リクエストは、サーバのネットワークアドレスであるURLと、サーバに実行を依頼するコマンドとを含む。サーバに実行を依頼するコマンドは、CGI(Common Gateway Interface)コマンドを含む。また、リクエストは、サーバにWebページの送信を依頼する場合には、そのWebページのネットワークアドレスであるURL(Uniform Resource Locator)を含む。
【0062】
通信制御部53の詳細は後述するが、コマンド出力部73から入力されるコマンドをWebサーバ7,7Aに送信し、Webサーバ7,7Aがコマンドを実行して返信するコンテンツを受信し、受信されたコンテンツをコンテンツ受信部75に出力する。
【0063】
コンテンツ受信部75は、通信制御部53から入力されるコンテンツを、コンテンツ表示部77に出力する。コンテンツ表示部77は、リクエスト受付部71からリクエストが入力され、コンテンツ受信部75からコンテンツが入力される。また、コンテンツ表示部77は、リクエスト受付部71から新たなタブを開くことを示す切換指示が入力される場合がある。コンテンツ表示部77は、保持部85と、選択表示部87と、を含む。保持部85は、コンテンツ受信部75から入力されるコンテンツをタブの名称と関連付けてRAM114に記憶する。保持部85は、複数のコンテンツをRAM114に記憶することが可能である。この場合には、複数のコンテンツ各々がタブの名称と関連付けられる。
【0064】
保持部85は、リクエスト受付部71から新たなタブを開くことを示す切換指示が入力される場合、新たなタブを生成する。具体的には、コンテンツ受信部75から入力されるコンテンツを、新たなタブの名称と関連付けてRAM114に記憶する。保持部85は、リクエスト受付部71から新たなタブを開くことを示す切換指示が入力されない場合、後述する選択表示部87により選択されているタブの名称と関連付けられてRAM114に記憶されているコンテンツを、コンテンツ受信部75から入力されるコンテンツで更新する。
【0065】
複数のコンテンツのうちには、JAVA(登録商標)プログラム、JAVA(登録商標)スクリプト等のプログラムを含むものがある。このプログラムは、CPU111により実行され、CPU111がリクエストを発生する。CPU111がプログラムを実行することにより発生するリクエストは、上述した発生リクエスト受付部83に入力される。
【0066】
選択表示部87は、RAM114に記憶されている1以上のコンテンツのうちから1つを選択し、表示部103に表示する。また、選択表示部87は、RAM114に記憶されている1以上のコンテンツ各々に関連付けられるタブの名称を、表示部103に選択可能に表示する。選択表示部87は、ユーザが、表示部103に表示された1以上のタブの名称のうちから1つを選択する指示を操作部105に入力すると、選択する指示を受け、選択されたタブの名称に関連付けられたコンテンツをRAM114から読出し、表示部103に表示する。
【0067】
図5に戻って、通信制御部53は、コマンドを取得するコマンド取得部55と、取得されたコマンドを送信するコマンド送信部59と、コマンド送信部59によるコマンドの送信を制限する制限部57と、関連付部61と、を含む。
【0068】
コマンド取得部55は、第1〜第Nブラウジング部51−1〜51−Nのいずれかがサーバ7,7Aのいずれかに送信するために出力するコマンドを取得する。コマンド取得部55は、コマンドを取得する際に、第1〜第Nブラウジング部51−1〜51−Nのうち取得されたコマンドを出力するブラウジング部から、そのブラウジング部を識別するためのタスク識別情報と、そのブラウジング部がWebページを表示するために処理対象としているタブを識別するためのタブ識別情報を取得する。コマンド取得部55は、取得されたコマンドをコマンド送信部59および制限部57に出力するとともに、タスク識別情報とタブ識別情報との組とコマンドとを関連付部61に出力する。
【0069】
コマンド送信部59は、セッション確立部67を含む。セッション確立部67は、コマンド取得部55から入力されるコマンドの送信先のサーバと通信するためにセッションを、後述する制限部57からセッション禁止信号が入力されないことを条件に、確立する。具体的には、セッション確立部67は、制限部57からセッション禁止信号が入力されない場合、コマンド取得部55から入力されるコマンドに含まれるURLからインターネット3に接続されたWebサーバ7.7Aのいずれかを特定し、通信I/F部112を制御して、Webサーバ7.7Aのうちから特定されたWebサーバと通信するためのセッションを確立する。セッション確立部67は、セッションを確立している間、セッション番号を関連付部61に出力する。セッションは、本実施の形態においては、MFP100がWebサーバ7,7Aのいずれかにコマンドを送信してから、Webサーバ7,7Aのうちコマンドを送信したWebサーバからコマンドを実行した結果としてのコンテンツを受信するまでの間、確立される。
【0070】
ここでは、第1ブラウジング部51−1が、Webサーバ7のURLを含むコマンドを出力する場合に、コマンド送信部59が、そのコマンドを取得する場合を説明する。通信する2つのアプリケーション・タスク、ここでは、第1ブラウジング部51−1と、Webサーバ7がサービスを提供するためのアプリケーションプリグラムを実行して生成されるタスクとが通信する場合に、通信相手を互いに識別するためにセッション番号を共有する。セッションの確立は、2つのタスクがセッション番号を共有し、セッション番号を用いて通信ができる状態となることをいう。なお、セッションを確立する技術については、周知な技術を用いることができ、ここでは詳細な説明は繰り返さない。
【0071】
コマンド送信部59は、次に説明する制限部57からセッション禁止信号または送信禁止信号が入力されないことを条件に、コマンド取得部55から入力されるコマンドを、送信先のWebサーバ7に送信する。具体的には、コマンド送信部59は、セッション確立部67により確立されたセッションで通信I/F部112を介してWebサーバ7にコマンドを送信する。
【0072】
コマンド送信部59は、制限部57から送信禁止信号が入力される場合、コマンド取得部55から入力されるコマンドにより定まるURLで特定される送信先のWebサーバ7に代わって、エラーページを、第1〜第Nブラウジング部51−1〜51−Nのうちコマンド取得部55により取得されたコマンドを出力するブラウジング部に、出力する。コマンド送信部59は、制限部57からセッション禁止信号が入力される場合、コマンド取得部55から入力されるコマンドを破棄する。なお、エラーページを、第1〜第Nブラウジング部51−1〜51−Nのうちコマンド取得部55により取得されたコマンドを出力するブラウジング部に、出力するようにしてもよい。
【0073】
制限部57からセッション禁止信号または送信禁止信号が入力される場合、コマンドが送信されないので、コマンド取得部55から入力されるコマンドにより定まるURLで特定される送信先のWebサーバ7の負荷を低減することができる。
【0074】
制限部57は、コマンド取得部55からコマンドが入力される。制限部57は、第1リクエスト禁止部65と、第2リクエスト禁止部63と、を含む。第2リクエスト禁止部63は、コマンド取得部55からコマンドが入力された時点で、コマンド取得部55から入力されるコマンドの送信先のWebサーバ7との通信状態に基づいて、コマンド送信部59がWebサーバ7にコマンドを送信するのを禁止する。具体的には、第2リクエスト禁止部63は、コマンド取得部55から入力されるコマンドの送信先のWebサーバ7と通信するためのセッションが、既に確立されている場合、コマンド送信部59がWebサーバ7にコマンドを送信するのを禁止する。第2リクエスト禁止部63は、コマンド取得部55から入力されるコマンドの送信先のWebサーバ7と通信するためのセッションが、確立されていない場合、コマンド送信部59がWebサーバ7にコマンドを送信するのを禁止しない。第2リクエスト禁止部63は、コマンドの送信を禁止する場合、セッション確立部67にセッション禁止信号を出力する。
【0075】
関連付部61は、過去にWebサーバ7,7Aのいずれかから受信され、かつ、第1〜第Nブラウジング部51−1〜51−Nのいずれかにより表示可能に保持されている1以上のコンテンツ各々に対して、Webサーバ7,7Aのうちコンテンツの送信元のWebサーバを識別するためのサーバ識別情報を関連付ける。関連付部61は、コマンド取得部55からタスク識別情報とタブ識別情報との組とコマンドとが入力され、セッション確立部67からセッション番号が入力される。関連付部61は、セッション確立部67からセッション番号が入力されると、コマンド取得部55から入力されるタスク識別情報とタブ識別情報との組と、コマンドに含まれるWebサーバのURLと、セッション番号とを含む管理レコードを生成し、生成した管理レコードをEEPROM115に記憶されている管理テーブル99に追加して記憶する。
【0076】
図7は、管理テーブルの一例を示す図である。図7を参照して、管理テーブル99は、5つの管理レコードを含む。管理レコードは、ブラウザ識別情報の項目と、タブ識別情報の項目と、サーバURLの項目と、セッション識別番号の項目と、状態の項目とを含む。ブラウザ識別情報の項目は、第1〜第Nブラウジング部51−1〜51−Nのタスクのいずれかを識別するためのタスク識別情報が設定される。タブ識別情報の項目は、処理対象となっているタブを識別するためのタブ識別情報が設定される。サーバURLの項目は、通信先のWebサーバを識別するためのURLが設定される。セッション識別番号の項目は、通信先のWebサーバとの間で通信のために確立されたセッションを識別するためのセッション番号が設定される。状態の項目は、セッションを状態が設定される。セッションの状態は、セッションが確立中であることを示す「確立」と、セッションが終了したことを示す「終了」とを含む。ここでは、第1〜第Nブラウジング部51−1〜51−Nそれぞれのタスクを識別するためのブラウザ識別情報を、第1〜第Nブラウザとしている。
【0077】
図7に示す管理テーブル99においては、タスク識別情報が「第1ブラウザ」の第1ブラウジング部51−1において、タブ識別情報が「第1タブ」、「第2タブ」および「第3タブ」の3つのタブにおいて、URLが「aabbcc.com」のWebサーバ7からダウンロードしたWebページがそれぞれ表示されている状態を示している。タブ識別情報が「第3タブ」のタブにおいては、セッションが確立中であり、URLが「aabbcc.com」のWebサーバ7からWebページをダウンロード中であることを示している。
【0078】
また、タスク識別情報が「第2ブラウザ」の第2ブラウジング部51−2において、タブ識別情報が「第1タブ」および「第2タブ」の2つのタブにおいて、URLが「aabbcc.com」のWebサーバ7からダウンロードしたWebページがそれぞれ表示されている状態を示している。
【0079】
図5に戻って、関連付部61は、セッション確立部67からセッション番号が入力されると、状態の項目が「確立」の管理レコードを生成し、管理テーブル99に追加して記憶し、セッション確立部67から入力されていたセッション番号が入力されなくなると、管理レコードの状態の項目を「終了」に書き換える。さらに、関連付部61は、第1〜第Nブラウジング部51−1〜51−Nのいずれか、例えば第1ブラウジング部51−1がタブを閉じると、第1ブラウジング部51−1からタスク識別情報と閉じられたタブのタブ識別情報とを取得し、管理テーブル99に含まれる管理レコードのうち、取得されたタスク識別情報とタブ識別情報とを含む管理レコードを管理テーブル99から削除する。
【0080】
制限部57が備える第1リクエスト禁止部65は、コマンド取得部55によりコマンドが取得された時点で、Webサーバ7.7Aのうち取得されたコマンドの送信先のWebサーバと同じWebサーバからダウンロードされ、第1〜第Nブラウジング部51−1〜51−Nのいずれかにより表示されているコンテンツの数が所定のしきい値ならば、コマンド送信部59がWebサーバにコマンドを送信するのを禁止する。ここでは、所定のしきい値を「6」としている。具体的には、第1リクエスト禁止部65は、EEPROM115に記憶されている管理テーブル99を参照し、コマンド取得部55からコマンドが入力される時点で、入力されたコマンドの送信先のWebサーバのURLと同じURLが「サーバURL」の項目に設定された管理レコードの数が所定のしきい値「6」ならば、コマンド送信部59がサーバにコマンドを送信するのを禁止する。第1リクエスト禁止部65は、コマンド取得部55からコマンドが入力される時点で、入力されたコマンドの送信先のWebサーバのURLと同じURLが「サーバURL」の項目に設定された管理レコードの数が所定のしきい値「6」より小さいならば、コマンド送信部59がWebサーバにコマンドを送信するのを禁止しない。第1リクエスト禁止部65は、コマンドの送信を禁止する場合、コマンド送信部59に送信禁止信号を出力する。
【0081】
図8は、ブラウジング処理の流れの一例を示すフローチャートである。ブラウジング処理は、MFP100が備えるCPU111が、ROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶されたブライジングプログラムを実行することにより、CPU111により実行される処理である。
【0082】
図8を参照して、CPU111は、リクエストを受け付けたか否かを判断する(ステップS01)。リクエストを受け付けるまで待機状態となり(ステップS01でNO)、リクエストを受け付けたならば(ステップS01でYES)、処理をステップS02に進める。ユーザが操作部105に入力する操作に基づくリクエストを受け付けたか否かを判断する。ユーザが操作部105にURLを入力すると、入力されたURLにアクセスするリクエストを受け付ける。なお、例えば、「お気に入り」等に予め登録されたURLをユーザが指定することにより、URLを受け付けるようにしてもよい。
【0083】
また、ユーザが操作部105にリンク情報を指示する操作を入力すると、指示されたリンク情報に含まれるURLにアクセスするリクエストを受け付ける。具体的には、表示部103に既にWebページが表示されている場合、ユーザが表示されたWebページに含まれるリンク情報が表示された部分を指示すると、リンク情報を指示する操作を受け付け、指示されたリンク情報に含まれるURLにアクセスするリクエストを受け付ける。
【0084】
さらに、表示部103に既にWebページが表示されている場合であって、そのWebページに含まれるプログラムが、定期的にWebページを更新するために、新たなWebページの送信を要求するリクエストを定期的に送信するコマンドを含む場合がある。コマンドは、例えば、JAVA(登録商標)プログラム、JAVA(登録商標)スクリプト等で記述される。この場合には、既に表示されているWebページに含まれるプログラムをCPU111が実行することにより生成されるタスクが出力するリクエストを受け付ける。
【0085】
ステップS02においては、受け付けられたリクエストが新たなウインドウを開く指示を含むか否かを判断する。新たなウインドウを開く指示を含むならば処理をステップS09に進めるが、そうでなければ処理をステップS03に進める。ステップS09においては、ブラウジングプログラムを起動し、処理をステップS10に進める。ブラウジングプログラムを起動する際に、ステップS01において受け付けられたリクエストに含まれるURLを、引数として起動するブラウジングプログラムを実行するタスクに渡す。新たに起動するブラウジングプログラムを実行するタスクは、図8に示すのと同じブラウジングプログラムを実行するので、引数として入力されるURLを、ステップS01において受け付けることになる。
【0086】
一方、ステップS03においては、ステップS01において受け付けられたリクエストが新たなタブを開く指示を含むか否かを判断する。新たなタブを開く指示を含むならば処理をステップS04に進めるが、そうでなければ処理をステップS05に進める。ステップS05においては、新規タブを生成し、表示部103に表示する。この段階においては、新規タブに表示するための内容が存在しないため、表示部103には、白紙の画面が表示される。なお、受信中である旨のメッセージ等を表示するようにしてもよい。
【0087】
ステップS05においては、ステップS01において受け付けられたリクエストに対応するコマンドを送信する。通信I/F部112を制御して、リクエストにより定まる送信先のWebサーバ宛にコマンドを送信する。具体的には、ステップS01において受け付けられたURLを含むGETコマンドを、通信I/F部112を介してネットワーク2に送信する。ここでは、GETコマンドに含まれるURLが、Webサーバ7を特定する場合を例に説明する。GETコマンドに含まれるURLがWebサーバ7を特定する場合、GETコマンドはWebサーバ7により受信される。GETコマンドを受信するWebサーバ7においては、URLで特定されるWebページを、GETコマンドを送信してきたMFP100に返信するので、通信I/F部112がWebページを受信する。
【0088】
ステップS06においては、通信I/F部112がWebページを受信するまで待機状態となり(ステップS06でNO)、Webページを受信すると(ステップS06でYES)、処理をステップS07に進める。
【0089】
次のステップS07においては、受信されたWebページを保持する。具体的には、受信されたWebページをタブの名称と関連付けてRAM114に記憶する。ステップS04において新たなタブが生成された場合には、新たなタブの名称とWebページとを関連付けてRAM114に記憶する。ステップS04において新たなタブが生成されない場合、表示部103に表示の対象となっているタブの名称と関連付けてRAM114に記憶されているWebページを、受信されたWebページで書き換える。
【0090】
次のステップS08においては、受信されたWebページを表示部103に表示し、処理をステップS10に進める。ステップS04において新規に新規タブか生成されている場合には、新規タブにWebページを表示し、新規タブか生成されていない場合には、表示部103に表示の対象となっているタブに表示されているWebページを、ステップS06において受信されたWebページで書き換える。
【0091】
次のステップS10においては、終了指示を受け付けたか否かを判断する。ユーザがタッチパネル105Aを操作することにより、ブラウジング処理を終了する指示を受け付けたか否かを判断する。ブラウジング処理を終了する指示は、ウインドウを閉じる操作を含む。終了指示を受け付けたならば(ステップS10でYES)、ブラウジング処理を終了するが、そうでなければ(ステップS10でNO)、処理をステップS01に戻す。
【0092】
図9は、通信制御処理の流れの一例を示すフローチャートである。通信制御処理は、MFP100が備えるCPU111が、ROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶された通信制御プログラムを実行することにより、CPU111により実行される処理である。
【0093】
図9を参照して、CPU111は、コマンドを取得したか否かを判断する。第1〜第Nブラウジング部51−1〜51−Nのいずれかが出力するコマンドを取得したか否かを判断する。コマンドを取得するまで待機状態となり(ステップS21でNO)、コマンドを取得したならば(ステップS21でYES)、処理をステップS22に進める。
【0094】
ステップS22においては、コマンドを出力した出力元を特定する。ステップS21において取得されたコマンドを第1〜第Nブラウジング部51−1〜51−Nのいずれかが出力したかを特定する。具体的には、第1〜第Nブラウジング部51−1〜51−Nのうち、コマンドを出力したタスクを識別するためのタスク識別情報と、特定されたタスクが処理対象とするタブのタブ識別情報を取得する。
【0095】
次のステップS23においては、ステップS21において取得されたコマンドの送信先を特定する。ステップS21において取得されたコマンドに含まれるURLを抽出することにより、Webサーバ7,7Aのうち送信先のWebサーバのURLを特定する。ここでは、Webサーバ7が送信先に特定された場合を例に説明する。次のステップS24においては、ステップS23において特定された送信先のWebサーバ7から受信済の表示コンテンツの数をカウントする。表示コンテンツは、第1〜第Nブラウジング部51−1〜51−Nのいずれかが保持しているコンテンツである。ここでは、EEPROM115に記憶されている管理テーブル99を検索し、ステップS23において特定された送信先のWebサーバ7のURLと同じURLがサーバURLの項目に設定されていいる管理レコードのすべてを抽出し、抽出された管理レコードの数を、カウントする。
【0096】
ステップS26においては、カウント数がしきいち値TNか否かを判断する。カウント数がしきいち値TNと同じならば処理をステップS27に進めるが、そうでなければ処理をステップS28に進める。ステップS28においては、セッションが確立済みか否かを判断する。ステップS23において特定された送信先のWebサーバ7との間で通信のためのセッションが確立しているか否かを判断する。送信先のWebサーバ7との間でセッションが確立済みならば処理を終了するが、そうでなければ処理をステップS29に進める。
【0097】
ステップS27においては、エラーページを出力し、処理を終了する。具体的には、予め定められたエラーメッセージを含むWebページを、第1〜第Nブラウジング部51−1〜51−NのうちステップS22において特定された出力元のタスクに出力する。例えば、第1ブラウジング部51−1が、Webサーバ7のURLを含むコマンドを出力する場合、Webサーバ7にコマンドを送信することなく、Webサーバ7に代わって、エラーメッセージを含むWebページを第1ブラウジング部51−1に出力する。このため、コマンドがWebサーバ7に送信されないので、Webサーバ7の負荷を軽減することができる。
【0098】
一方、ステップS29においては、ステップS23において特定された送信先のWebサーバ7に接続要求を送信する。次のステップS30においては、セッションが確立したか否かを判断する。セッションが確立するまで待機状態となり(ステップS30でNO)、セッションが確立したならば(ステップS30でYES)、処理をステップS31に進める。ステップS31においては、ステップS21において取得されたコマンドを、ステップS23において特定された送信先のWebサーバ7に通信I/F部112を介して送信する。
【0099】
次のステップS32においては、管理レコードを生成する。ステップS22において特定された出力元のタスク識別情報およびタブ識別情報と、ステップS23において特定された送信先のWebサーバ7のURLとを含む管理レコードを生成する。そして、生成された管理レコードを、EEPROM115の管理テーブル99に追加して記憶する(ステップS33)。
【0100】
次のステップS34においては、ステップS31においてコマンドを送信したWebサーバ7からコンテンツを受信したか否かを判断する。コンテンツを受信するまで待機状態となり(ステップS34でNO)、コンテンツを受信したならば(ステップS34でYES)、処理をステップS35に進める。次のステップS35においては、受信されたコンテンツを、ステップS22において特定された出力元のタスクに出力する。そして、ステップS36において、ステップS30において確立したセッションを終了し、処理を終了する。
【0101】
図10は、ユーザの操作と処理の流れの一例を示す第1の図である。図10に示す符号は、図8および図9に示したフローチャートに示した処理と同じ処理に、同じ符号を付している。また、図10では、MFP100が備えるCPU111が、ブラウジングプログラムを実行することにより実現される第1ブラウジング部51−1のタスクで実行される処理と、CPU111が通信制御プログラムを実行することにより実現される通信制御部53のタスクで実行される処理と、サーバで実行される処理とを、時系列で示している。なお、MFP100が備えるCPU111がブラウジングプログラムを実行することにより実現される第2〜第Nブラウジング部51−2〜51−Nのタスクで処理が実行されるが、図10では示していない。
【0102】
図10を参照して、ユーザがMFP100にURLを入力すれば、第1ブラウジング部51−1がURLをリクエストとして受け付ける(ステップS01)。第1ブラウジング部51−1は、受け付けられたURLを含むコマンドを通信制御部53に出力する(ステップS05)。通信制御部53は、コマンドを取得し(ステップS21)、コマンドに含まれるURLから特定されるWebサーバ7との間でセッションを確立し(ステップS30)、コマンドをサーバ7に送信する(ステップS31)。コマンドを受信するサーバ7は、Webページを返信するので、通信制御部53は、Webサーバ7が送信するWebページを受信し(ステップS34)、受信されたWebページを第1ブラウジング部51−1に出力し(ステップS35)、Webサーバ7との間のセッションを終了する(ステップS36)。第1ブラウジング部51−1は、Webページが入力されると(ステップS06)、Webページを含む第1タブを表示部103に表示する(ステップS08)。
【0103】
次に、ユーザが、表示部103に表示されたWebページに含まれるサブメニューAを選択する指示をMFP100に入力すると、第1ブラウジング部51−1は、サブメニューAの選択を、リクエストとして受け付ける(ステップS01)。そして、第2タブを生成し、第2タブを表示部103に表示する(ステップS04)。この段階において、第2タブとして表示するコンテンツは存在しないので、表示部103には、白紙の第2タブが表示される。第1ブラウジング部51−1は、サブメニューAのURLを含むコマンドを通信制御部53に出力する(ステップS05)。通信制御部53は、コマンドを取得し(ステップS21)、Webサーバ7から受信されたコンテンツを表示対象とするタブの数をカウントし、タブ数がしきい値TNと同じか否かを判断する(ステップS25,S26)。ここでは、タブ数がしきい値TNより小さいとし、この場合は、通信制御部53は、コマンドに含まれるURLから特定されるWebサーバ7との間でセッションを確立し(ステップS30)、コマンドをWebサーバ7に送信する(ステップS31)。コマンドを受信するWebサーバ7は、Webページを返信するので、通信制御部53は、サーバ7が送信するWebページを受信し(ステップS34)、受信されたWebページを第1ブラウジング部51−1に出力し(ステップS35)、Webサーバ7との間のセッションを終了する(ステップS36)。第1ブラウジング部51−1は、Webページが入力されると(ステップS06)、Webページを含む第2タブを表示部103に表示する(ステップS08)。
【0104】
さらに、ユーザが、表示部103に表示されたWebページに含まれるサブメニューBを選択する指示をMFP100に入力すると、第1ブラウジング部51−1は、サブメニューBの選択を、リクエストとして受け付ける(ステップS01)。そして、第3タブを生成し、第3タブを表示部103に表示する(ステップS04)。この段階において、第3タブとして表示するコンテンツは存在しないので、表示部103には、白紙の第3タブが表示される。第1ブラウジング部51−1は、サブメニューBのURLを含むコマンドを通信制御部53に出力する(ステップS05)。
【0105】
通信制御部53は、コマンドを取得し(ステップS21)、Webサーバ7から受信されたコンテンツを表示対象とするタブの数をカウントし、タブ数がしきい値TNと同じか否かを判断する(ステップS25,S26)。ここでは、タブ数がしきい値TNと同じとし、この場合は、通信制御部53は、エラーページを第1ブラウジング部51−1に出力する(ステップS27)。第1ブラウジング部51−1は、エラーページが入力されると(ステップS06)、エラーページを含む第3タブを表示部103に表示する(ステップS08)。
【0106】
Webサーバ7から受信されたコンテンツを表示対象とするタブの数が、しきい値TNと同じ場合は、サーバ7にコマンドが送信されないので、Webサーバ7の負荷を低減することができる。
【0107】
図11は、ユーザの操作と処理の流れの一例を示す第2の図である。図11に示す符号は、図8および図9に示したフローチャートに示した処理と同じ処理に、同じ符号を付している。また、図11では、MFP100が備えるCPU111が、ブラウジングプログラムを実行することにより実現される第1ブラウジング部51−1のタスクで実行される処理と、CPU111が通信制御プログラムを実行することにより実現される通信制御部53のタスクで実行される処理と、サーバで実行される処理とを、時系列で示している。なお、MFP100が備えるCPU111がブラウジングプログラムを実行することにより実現される第2〜第Nブラウジング部51−2〜51−Nのタスクで処理が実行されるが、図11では示していない。
【0108】
図11を参照して、ユーザがMFP100にURLを入力すれば、第1ブラウジング部51−1がURLをリクエストとして受け付ける(ステップS01)。第1ブラウジング部51−1は、受け付けられたURLを含むコマンドを通信制御部53に出力する(ステップS05)。通信制御部53は、コマンドを取得し(ステップS21)、コマンドに含まれるURLから特定されるWebサーバ7との間でセッションを確立し(ステップS30)、コマンドをWebサーバ7に送信する(ステップS31)。コマンドを受信するWebサーバ7は、Webページを返信するので、通信制御部53は、Webサーバ7が送信するWebページを受信し(ステップS34)、受信するとWebページを第1ブラウジング部51−1に出力し(ステップS35)、Webサーバとの間のセッションを終了する(ステップS36)。第1ブラウジング部51−1は、Webページが入力されると(ステップS06)、Webページを含む第1タブを表示部103に表示する(ステップS08)。
【0109】
次に、ユーザが、表示部103に表示されたWebページに含まれる処理の指示が関連付けられたボタンを指示すれば、第1ブラウジング部51−1は、処理を実行する指示を、リクエストとして受け付ける(ステップS01)。Webページに含まれる処理の指示が関連付けられたボタンは、CGIコマンドと関連付けられている。第1ブラウジング部51−1は、CGIコマンドを通信制御部53に出力する(ステップS05)。通信制御部53は、CGIコマンドを取得し(ステップS21)、CGIコマンドに含まれるURLから特定されるWebサーバ7との間でセッションを確立し(ステップS30)、CGIコマンドをWebサーバ7に送信する(ステップS31)。CGIコマンドを受信するWebサーバ7は、CGIコマンドを実行し、処理結果を返信するが、ここでは、CGIコマンドに所定の時間を要するとする。
【0110】
次に、ユーザがサブメニューAを選択する指示をMFP100に入力すると、第1ブラウジング部51−1は、サブメニューAの選択を、リクエストとして受け付ける(ステップS01)。そして、第1ブラウジング部51−1は、サブメニューAのURLを含むコマンドを通信制御部53に出力する(ステップS05)。通信制御部53は、コマンドを取得し(ステップS21)、コマンドに含まれるURLで特定されるWebサーバ7との間で、セッションが確立しているか否かを判断する(ステップS28)。ここでは、先にCGIコマンドを送信した処理が、Webサーバ7で実行されている。このため、通信制御部53は、セッションが確立していると判断し、第1ブラウジング部51−1から取得されたサブメニューAのURLを含むコマンドを、破棄する。
【0111】
さらに、ユーザがサブメニューBを選択する指示をMFP100に入力すると、第1ブラウジング部51−1は、サブメニューBの選択を、リクエストとして受け付ける(ステップS01)。そして、第1ブラウジング部51−1は、サブメニューBのURLを含むコマンドを通信制御部53に出力する(ステップS05)。通信制御部53は、コマンドを取得し(ステップS21)、コマンドに含まれるURLで特定されるWebサーバ7との間で、セッションが確立しているか否かを判断する(ステップS28)。ここでは、先にCGIコマンドを送信した処理が、Webサーバ7で実行されている。このため、通信制御部53は、セッションが確立していると判断し、第1ブラウジング部51−1から取得されたサブメニューBのURLを含むコマンドを、破棄する。
【0112】
さらに、ユーザがサブメニューCを選択する指示をMFP100に入力すると、第1ブラウジング部51−1は、サブメニューCの選択を、リクエストとして受け付ける(ステップS01)。そして、第1ブラウジング部51−1は、サブメニューCのURLを含むコマンドを通信制御部53に出力する(ステップS05)。通信制御部53は、コマンドを取得し(ステップS21)、コマンドに含まれるURLで特定されるWebサーバ7との間で、セッションが確立しているか否かを判断する(ステップS28)。ここでは、先にCGIコマンドを送信した処理が、Webサーバ7で実行されている。このため、通信制御部53は、セッションが確立していると判断し、第1ブラウジング部51−1から取得されたサブメニューCのURLを含むコマンドを、破棄する。
【0113】
CGIコマンドを受信するWebサーバ7は、CGIコマンドを実行が完了すると、処理結果であるWebページを送信するので、通信制御部53は、Webサーバ7が送信するWebページを受信し(ステップS34)、受信されたWebページを第1ブラウジング部51−1に出力し(ステップS35)、Webサーバとの間のセッションを終了する(ステップS36)。第1ブラウジング部51−1は、Webページが入力されると(ステップS06)、Webページを表示部103に表示する(ステップS08)。
【0114】
Webサーバ7との間で通信のためのセッションが確立されている間は、Webサーバ7にコマンドを送信しないので、Webサーバ7の負荷を低減することができる。
【0115】
以上説明したように、本実施の形態におけるMFP100は、Webサーバ7,7Aのいずれかからコンテンツを受信し、受信されたコンテンツを表示する第1〜第Nブラウジンブグ51−1〜51−Nと、第1〜第Nブラウジンブグ51−1〜51−N各々がWebサーバ7,7Aのいずれかに送信するために出力するコマンドを取得するコマンド取得部55と、取得されたコマンドを、該コマンドの送信先のサーバに送信するコマンド送信部59と、取得されたコマンドを送信したサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、送信手段によるコマンドの送信を制限する制限部57と、を備える。制限部57は、Webサーバ7,7Aから過去に受信されたコンテンツの状態またはWebサーバ7,7Aとの間の通信状態に基づいて、コマンドの送信を制限するので、Webサーバ7,7Aの負荷を低減することができる。
【0116】
また、制限部57は、コマンドが取得された時点で、第1〜第Nブラウジンブグ51−1〜51−N各々により保持されているWebページであって、コマンドの送信先と同じ送信元から受信されたWebページの数が所定のしきい値TNならば、コマンドの送信を禁止する。このため、同じWebサーバから受信され、表示可能に保持されているWebページの数を制限することによって、Webサーバの負荷を低減することができる。
【0117】
また、制限部57は、コマンドが取得された時点で、取得されたコマンドの送信先のWebサーバとの間で通信するためのセッションが既に確立されている場合、コマンドの送信を禁止する。このため、同じWebサーバとの間で確立するセッションの数を制限することによって、Webサーバの負荷を低減することができる。
【0118】
特に、WebサーバがMFP100内に設けられている場合には、自身の負荷に応じて、各制限の程度をコントロールすることができる。
【0119】
<第2の実施の形態>
第1の実施の形態におけるMFP100は、CPU111が、ブラウジングプログラムを実行するタスクを複数形成するようにしたが、第2の実施の形態におけるMFP100は、CPU111が単一のブラウジングプログラムを実行するようにしたものである。以下、第2の実施の形態おける情報処理システム1について、第1の実施の形態における情報処理システム1と異なる点を主に説明する。
【0120】
図12は、第2の実施の形態におけるMFPが備えるCPUの機能の概要をEEPROMに記憶する情報とともに示すブロック図である。図12に示すCPU111の機能は、CPU111がROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶されたブラウジングプログラムを実行することにより実現される。
【0121】
図12を参照して、図6に示したCPU111の機能と異なる点は、制限部91が追加された点、コマンド出力部73およびコンテンツ受信部75がコマンド送信部97およびコンテンツ受信部75Aにそれぞれ変更された点である。その他の機能は、図6に示した機能と同じなので、ここでは異なる点を主に説明する。
【0122】
コマンド送信部97は、次に説明する制限部91からセッション禁止信号または送信禁止信号が入力されないことを条件に、リクエスト受付部71により受け付けられたリクエストにより定まるコマンドを、リクエストにより定まる送信先のWebサーバに送信する。
【0123】
制限部91は、リクエスト受付部71がリクエストを受け付けることに応じて出力するリクエストが入力される。リクエストは、ユーザにより入力されたURLにアクセスするリクエストと、ユーザにより指示されたリンク情報に含まれるURLにアクセスするリクエストと、Webページに含まれるプログラムをCPU111が実行することにより生成されるタスクが出力するリクエストと、を含む。
【0124】
制限部91は、第1リクエスト禁止部93と、第2リクエスト禁止部95と、を含む。第1リクエスト禁止部93は、リクエスト受付部71によりリクエストが受け付けられた時点で、受け付けられたリクエストで特定される送信先のWebサーバと同じWebサーバからダウンロードされて既に表示されているコンテンツの数が所定のしきい値ならば、コマンド送信部97がWebサーバにコマンドを送信するのを禁止する。換言すれば、複数のタブにWebページを表示している場合であって、表示されている複数のWebページのうちで、リクエストで特定される送信先のWebサーバからダウンロードされたWebページの数を、しきい値と比較する。第1リクエスト禁止部93は、保持部85が保持しているタブごとのWebページを参照し、受け付けられたリクエストで特定される送信先のWebサーバと同じWebサーバからダウンロードされて既に表示されているコンテンツの数をカウントする。
【0125】
第2リクエスト禁止部95は、リクエスト受付部71からリクエストが入力された時点で、リクエスト受付部71から入力されるリクエストにより定まる送信先のWebサーバとの通信状態に基づいて、コマンド送信部97がWebサーバにコマンドを送信するのを禁止する。具体的には、第2リクエスト禁止部95は、リクエスト受付部71から入力されるリクエストにより定まるコマンドの送信先のWebサーバとの間で通信するためのセッションが、既に確立されている場合、コマンド送信部97がWebサーバにコマンドを送信するのを禁止する。第2リクエスト禁止部95は、コンテンツ受信部75Aが通信のためにセッションを確立しているWebサーバを特定する情報を、コンテンツ受信部75Aから取得する。
【0126】
制限部91は、第1リクエスト禁止部93および第2リクエスト禁止部95のいずれかが、Webサーバにコマンドを送信するのを禁止する場合、リクエスト受付部71から入力されるリクエストにより定まる送信先のWebサーバに代わって、コンテンツ受信部75Aにエラーページを出力する。リクエスト受付部71から入力されるリクエストにより定まる送信先のWebサーバにコマンドが送信されないので、Webサーバの負荷を低減することができる。
【0127】
制限部91は、第1リクエスト禁止部93および第2リクエスト禁止部95のいずれもWebサーバにコマンドを送信するのを禁止しない場合、リクエスト受付部71から入力されるリクエストを、コマンド送信部97に出力する。
【0128】
コマンド送信部97は、制限部91からリクエストが入力されることに応じて、リクエストで定まるコマンドを、リクエストで定まる送信先のWebサーバに送信する。具体的には、コマンド送信部97は、リクエストで定まる送信先のWebサーバとの間で通信のためのセッションを確立し、確立されたセッションで通信I/F部112を介してリクエストで定まるコマンドを送信する。
【0129】
コンテンツ受信部75Aは、制限部91からエラーページが入力される場合、エラーページをコンテンツ表示部77に出力する。
【0130】
図13は、第2の実施の形態におけるブラウジング処理の流れの一例を示すフローチャートである。第2の実施の形態におけるブラウジング処理は、MFP100が備えるCPU111が、ROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶されたブライジングプログラムを実行することにより、CPU111により実行される処理である。
【0131】
図13を参照して、CPU111は、リクエストを受け付けたか否かを判断する(ステップS51)。リクエストを受け付けるまで待機状態となり(ステップS51でNO)、リクエストを受け付けたならば(ステップS51でYES)、処理をステップS52に進める。ユーザが操作部105にURLを入力すると、入力されたURLにアクセスするリクエストを受け付ける。ユーザが操作部105にリンク情報を指示する操作を入力すると、指示されたリンク情報に含まれるURLにアクセスするリクエストを受け付ける。さらに、表示部103に既にWebページが表示されている場合であって、そのWebページに含まれるプログラムが、定期的にWebページを更新するために、新たなWebページの送信を要求するリクエストを定期的に送信するコマンドを含む場合、既に表示されているWebページに含まれるプログラムをCPU111が実行することにより生成されるタスクが出力するリクエストを受け付ける。
【0132】
ステップS52においては、リクエスト判定処理を実行する。リクエスト判定処理の詳細は後述するが、受け付けられたリクエストが禁止されるか否かを判断する処理である。ステップS53においては、リクエスト判定処理の結果により処理を分岐させる。リクエスト判定処理の結果がリクエスト禁止を示すならば処理をステップS62に進めるが、そうでなければ処理をステップS54に進める。ステップS62においては、エラーページを表示部103に表示し、処理をステップS63に進める。表示部103に表示の対象となっているタブに表示されているWebページを、エラーページで書き換える。エラーページは、例えば、「タブを開く数を減らして下さい。」のメッセージ、または「同じボタンを連続して指示しないで下さい。」のメッセージを含む。これにより、ユーザは、Webサーバに負荷をかけない操作が必要なことを知ることができる。
【0133】
ステップS54においては、ステップS51において受け付けられたリクエストが新たなタブを開く指示を含むか否かを判断する。新たなタブを開く指示を含むならば処理をステップS55に進めるが、そうでなければ処理をステップS56に進める。ステップS55においては、新規タブを生成し、表示部103に表示する。この段階においては、新規タブに表示するための内容が存在しないため、表示部103には、白紙の画面が表示される。なお、受信中である旨のメッセージ等を表示するようにしてもよい。
【0134】
ステップS56においては、ステップS51において受け付けられたリクエストに含まれるURLで特定されるWebサーバとの間で、通信のためのセッションを確立する。そして、ステップS51において受け付けられたリクエストにより定まるコマンドを送信する。通信I/F部112を制御して、リクエストにより定まる送信先のWebサーバ宛にコマンドを送信する。具体的には、ステップS51において受け付けられたリクエストに含まれるURLを含むGETコマンドを、通信I/F部112を介してネットワーク2に送信する。ここでは、GETコマンドに含まれるURLが、Webサーバ7を特定する場合を例に説明する。GETコマンドに含まれるURLがWebサーバ7を特定する場合、GETコマンドはWebサーバ7により受信される。GETコマンドを受信するWebサーバ7においては、URLで特定されるWebページを、GETコマンドを送信してきたMFP100に返信するので、通信I/F部112がWebページを受信する。
【0135】
ステップS58においては、通信I/F部112がWebページを受信するまで待機状態となり(ステップS58でNO)、Webページを受信すると(ステップS58でYES)、処理をステップS59に進める。
【0136】
次のステップS59においては、受信されたWebページを保持する。具体的には、受信されたWebページをタブの名称と関連付けてRAM114に記憶する。ステップS55において新たなタブが生成された場合には、新たなタブの名称とWebページとを関連付けてRAM114に記憶する。ステップS55において新たなタブが生成されない場合、表示部103に表示の対象となっているタブの名称と関連付けてRAM114に記憶されているWebページを、受信されたWebページで書き換える。
【0137】
次のステップS60においては、ステップS57において確立したセッションを終了する。そして、ステップS61においては、受信されたWebページを表示部103に表示し、処理をステップS63に進める。ステップS55において新規に新規タブか生成されている場合には、新規タブにWebページを表示し、新規タブか生成されていない場合には、表示部103に表示の対象となっているタブに表示されているWebページを、ステップS58において受信されたWebページで書き換える。
【0138】
次のステップS63においては、終了指示を受け付けたか否かを判断する。ユーザがタッチパネル105Aを操作することにより、ブラウジング処理を終了する指示を受け付けたか否かを判断する。ブラウジング処理を終了する指示は、ウインドウを閉じる操作を含む。終了指示を受け付けたならば(ステップS63でYES)、ブラウジング処理を終了するが、そうでなければ(ステップS63でNO)、処理をステップS51に戻す。
【0139】
図14は、リクエスト判定処理の流れの一例を示すフローチャートである。リクエスト判定処理は、図13のステップS52において実行される処理である。図14を参照して、リクエスト先を特定する(ステップS71)。受け付けられたリクエストに含まれるURLを抽出することにより、リクエスト先のWebサーバのURLを特定する。
【0140】
次のステップS72においては、ステップS71において特定されたリクエスト先のWebサーバから受信済の表示コンテンツの数をカウントする。表示コンテンツは、ブラウジング処理を実行してRAM114に記憶されているコンテンツである。ここでは、RAM114にタブの名称と関連付けられて記憶されてるコンテンツの数をカウントする。
【0141】
次のステップS73においては、カウント数がしきいち値TNと同じか否かを判断する。カウント数がしきいち値TNと同じならば処理をステップS75に進めるが、そうでなければ処理をステップS74に進める。ステップS74においては、セッションが確立済みか否かを判断する。ステップS71において特定されたリクエスト先のWebサーバとの間で通信のためのセッションが確立しているか否かを判断する。リクエスト先のWebサーバとの間でセッションが確立済みならば処理をステップS75に進めるが、そうでなければ処理をステップS76に進める。
【0142】
ステップS75においては、判定結果にリクエスト禁止を設定し、処理をブラウジング処理に戻す。ステップS76においては、判定結果にリクエスト許可を設定し、処理をブラウジング処理に戻す。
【0143】
第2の実施の形態におけるMFP100は、ユーザから受け付けられたリクエストにより定まる送信先のWebサーバから過去に受信されたコンテンツの状態または該Webサーバとの間の通信状態に基づいて、Webページに送信するコマンドを制限する制限部91を備える。このため、リクエスト先のWebサーバの負荷を低減することができる。
【0144】
制限部91は、リクエストが受け付けられた時点で、表示可能に保持されているWebページのうち、受け付けられたリクエストにより定まる送信先のWebサーバと同じWebサーバから受信されたWebページの数が所定のしきい値TNならば、コマンドの送信を禁止する。このため、同じWebサーバから受信し、表示可能に保持するWebページの数を制限することにより、Webサーバの負荷を低減することができる。
【0145】
また、制限部91は、リクエストが受け付けられた時点で、該受け付けられたリクエストの送信先のWebサーバと通信するためのセッションが既に確立されている場合、コマンドの送信を禁止する。このため、同じWebサーバと確立するセッションの数を制限することにより、Webサーバの負荷を低減することができる。
【0146】
なお、上述した実施の形態においては、画像形成装置の一例としてMFP100を説明したが、図8および図9、または、図13および図14に示した処理をMFP100に実行させるための通信制御方法または、その通信制御方法をコンピュータに実行させるための通信制御プログラムとして発明を捉えることができるのは言うまでもない。
【0147】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0148】
<付記>
(1) ブラウジングプログラムを実行する1以上のタスク各々により表示可能に保持されている1以上のコンテンツ各々に対して送信元のサーバを識別するためのサーバ識別情報を関連付ける関連付ステップと、をさらに含み、
前記制限ステップは、前記取得ステップにおいてコマンドが取得された時点で、前記関連付ステップにおいて前記取得されたコマンドの送信先のサーバのサーバ識別情報と同じサーバ識別情報と関連付けられたコンテンツの数が所定のしきい値ならば、前記送信ステップにおいて前記コマンドが前記送信先のサーバに送信されるのを禁止する第1リクエスト禁止ステップと、を含む請求項11に記載の通信制御方法。
画像形成装置。
(2) 前記送信ステップは、通信先のサーバと通信するためにセッションを確立するセッション確立ステップを、含み、
前記制限ステップは、前記取得ステップにおいてコマンドが取得される時点で、該取得されたコマンドの送信先のサーバとの間で前記セッション確立ステップにおいて既にセッションが確立されている場合、前記コマンドを前記サーバに送信するのを禁止する第2リクエスト禁止ステップと、含む請求項11または(1)に記載の通信制御方法。
(3) ブラウジングプログラムを実行するタスクは、サーバより受信された1以上のコンテンツを選択可能な状態で保持可能であり、
前記取得ステップは、前記ブラウジングプログラムを実行するタスクが前記保持されている1以上のコンテンツのいずれかが出力するリクエストを受け付けるステップを含む、(2)に記載の通信制御方法。
(4) 前記取得ステップは、前記ブラウジングプログラムを実行するタスクが、ユーザによる指示により受け付けられることに応じて出力するリクエストを受け付けるステップを、含む(2)または(3)に記載の通信制御方法。
(5) 前記表示ステップは、前記コンテンツ受信ステップにおいて受信された1以上のコンテンツを選択可能な状態で保持する保持ステップと、
前記保持された1以上のコンテンツのうちから選択された1つを表示する選択表示ステップと、を含み、
前記制限ステップは、前記リクエスト受付ステップにおいてリクエストが受け付けられた時点で、前記保持ステップにおいて保持されている1以上のコンテンツのうち、前記受け付けられたリクエストにより定まる送信先のサーバと同じサーバから受信されたコンテンツの数が所定のしきい値ならば、前記コマンド送信ステップにおける前記コマンドの送信を禁止する第1リクエスト禁止ステップを、含む請求項13に記載のブラウジング方法。
(6) 前記制限ステップは、前記リクエスト受付ステップにおいてリクエストが受け付けられた時点で、該受け付けられたリクエストの送信先のサーバと通信するためのセッションが既に確立されている場合、前記コマンド送信ステップにおける前記コマンドの送信を禁止する第2リクエスト禁止ステップを、含む請求項13または(5)に記載のブラウジング方法。
(7) 前記リクエスト受付ステップは、前記保持ステップにおいて保持されている1以上のコンテンツのいずれかが発生するリクエストを受け付ける発生リクエスト受付ステップを含む、(5)または(6)に記載のブラウジング方法。
(8) 前記リクエスト受付ステップは、ユーザによる指示によりリクエストを受け付ける指示受付ステップを含む、請求項13、(5)〜(7)のいずれかに記載のブラウジング方法。
【符号の説明】
【0149】
1 情報処理システム、2 ネットワーク、3 インターネット、7,7A Webサーバ、9 操作パネル、10 ADF、20 原稿読取部、30 画像形成部、40 給紙部、51 ブラウジング部、53 通信制御部、55 コマンド取得部、57 制限部、59 コマンド送信部、61 関連付部、65 第1リクエスト禁止部、63 第2リクエスト禁止部、67 セッション確立部、71 リクエスト受付部、73 コマンド出力部、75,75A コンテンツ受信部、77 コンテンツ表示部、81 指示リクエスト受付部、83 発生リクエスト受付部、85 保持部、87 選択表示部、91 制限部、93 第1リクエスト禁止部、95 第2リクエスト禁止部、97 コマンド送信部、99 管理テーブル、100 MFP、101 メイン回路、103 表示部、105 操作部、105A タッチパネル、105B ブラウザキー、111 CPU、112 通信I/F部、113 ROM、114 RAM、115,115A EEPROM、116 HDD、117 ファクシミリ部、118 ネットワークI/F、119 外部記憶装置、119A CD−ROM。
【特許請求の範囲】
【請求項1】
ネットワークに接続されたサーバからコンテンツを受信し、前記受信されたコンテンツを表示する1以上のブラウジング手段と、
前記1以上のブラウジング手段各々がサーバに送信するために出力するコマンドを取得するコマンド取得手段と、
前記取得されたコマンドを、該コマンドの送信先のサーバに送信する送信手段と、
前記取得されたコマンドを送信したサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、前記送信手段による前記コマンドの送信を制限する制限手段と、を備えた画像形成装置。
【請求項2】
前記1以上のブラウジング手段各々により、過去にサーバから受信され、かつ、表示可能に保持されている1以上のコンテンツ各々に対して送信元のサーバを識別するためのサーバ識別情報を関連付ける関連付手段を、含み、
前記制限手段は、前記取得手段によりコマンドが取得された時点で、前記関連付手段によって前記取得されたコマンドの送信先のサーバのサーバ識別情報と同じサーバ識別情報と関連付けられたコンテンツの数が所定のしきい値ならば、前記送信手段による前記コマンドの送信を禁止する第1リクエスト禁止手段を、含む請求項1に記載の画像形成装置。
【請求項3】
前記送信手段は、前記取得されたコマンドの送信先のサーバと通信するためにセッションを確立するセッション確立手段を、さらに含み、
前記制限手段は、前記取得手段によりコマンドが取得された時点で、前記取得されたコマンドの送信先のサーバとの間で通信するためのセッションが既に確立されている場合、前記送信手段による前記コマンドの送信を禁止する第2リクエスト禁止手段を、含む請求項1または2に記載の画像形成装置。
【請求項4】
前記1以上のブラウジング手段各々は、
リクエストを受け付けるリクエスト受付手段と、
前記リクエストが受け付けられることに応じて、前記受け付けられたリクエストにより定まる送信先のサーバに前記受け付けられたリクエストに対応するコマンドを出力するコマンド出力手段と、
前記出力されたコマンドを実行する前記サーバが返信するコンテンツを受信するコンテンツ受信手段と、
前記受信されたコンテンツを表示するコンテンツ表示手段と、を含み、
前記コンテンツ表示手段は、前記コンテンツ受信手段により受信された1以上のコンテンツを選択可能な状態で保持する保持手段と、
前記保持された1以上のコンテンツのうちから選択された1つを表示する選択表示手段と、を含み、
前記リクエスト受付手段は、前記保持手段により保持されている1以上のコンテンツのいずれかが発生するリクエストを受け付ける発生リクエスト受付手段を、含む請求項3に記載の画像形成装置。
【請求項5】
前記1以上のブラウジング手段各々は、
リクエストを受け付けるリクエスト受付手段と、
前記リクエストが受け付けられることに応じて、前記受け付けられたリクエストにより定まる送信先のサーバに前記受け付けられたリクエストに対応するコマンドを出力するコマンド出力手段と、
前記出力されたコマンドを実行する前記サーバが返信するコンテンツを受信するコンテンツ受信手段と、
前記受信されたコンテンツを表示するコンテンツ表示手段と、を含み、
前記リクエスト受付手段は、ユーザによる指示によりリクエストを受け付ける指示受付手段を、含む請求項3に記載の画像形成装置。
【請求項6】
リクエストを受け付けるリクエスト受付手段と、
前記リクエストが受け付けられることに応じて、前記受け付けられたリクエストにより定まる送信先のサーバに前記受け付けられたリクエストに対応するコマンドを送信するコマンド送信手段と、
前記コマンドを実行する前記サーバが返信するコンテンツを受信するコンテンツ受信手段と、
前記受信されたコンテンツを表示するコンテンツ表示手段と、
前記受け付けられたリクエストにより定まる送信先のサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、前記コマンド送信手段による前記コマンドの送信を制限する制限手段と、を備えた画像形成装置。
【請求項7】
前記コンテンツ表示手段は、前記コンテンツ受信手段により受信された1以上のコンテンツを選択可能な状態で保持する保持手段と、
前記保持された1以上のコンテンツのうちから選択された1つを表示する選択表示手段と、を含み、
前記制限手段は、前記リクエスト受付手段によりリクエストが受け付けられた時点で、前記保持手段により保持されている1以上のコンテンツのうち、前記受け付けられたリクエストにより定まる送信先のサーバと同じサーバから受信されたコンテンツの数が所定のしきい値ならば、前記コマンド送信手段による前記コマンドの送信を禁止する第1リクエスト禁止手段を、含む請求項6に記載の画像形成装置。
【請求項8】
前記制限手段は、前記リクエスト受付手段によりリクエストが受け付けられた時点で、該受け付けられたリクエストの送信先のサーバと通信するためのセッションが既に確立されている場合、前記コマンド送信手段による前記コマンドの送信を禁止する第2リクエスト禁止手段を、含む請求項6または7に記載の画像形成装置。
【請求項9】
前記リクエスト受付手段は、前記保持手段により保持されている1以上のコンテンツのいずれかが発生するリクエストを受け付ける発生リクエスト受付手段を、含む請求項7または8に記載の画像形成装置。
【請求項10】
前記リクエスト受付手段は、ユーザによる指示によりリクエストを受け付ける指示受付手段を、含む請求項6〜9のいずれかに記載の画像形成装置。
【請求項11】
ブラウジングプログラムを実行可能な画像形成装置で実行される通信制御方法であって、
ブラウジングプログラムを実行するタスクがネットワークに接続されたサーバに送信するために出力するコマンドを取得する取得ステップと、
前記取得されたコマンドを、該コマンドの送信先のサーバに送信する送信ステップと、
前記取得されたコマンドを送信したサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、前記送信ステップにおける前記取得されたコマンドの送信を制限する制限ステップを含む、通信制御方法。
【請求項12】
ブラウジングプログラムを実行可能な画像形成装置を制御するコンピュータで実行される通信制御プログラムであって、
ブラウジングプログラムを実行するタスクがネットワークに接続されたサーバに送信するために出力するコマンドを取得する取得ステップと、
前記取得されたコマンドを、該コマンドの送信先のサーバに送信する送信ステップと、
前記取得されたコマンドを送信したサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、前記送信ステップにおける前記取得されたコマンドの送信を制限する制限ステップと、を前記コンピュータに実行させる通信制御プログラム。
【請求項13】
ネットワークに接続された画像形成装置で実行されるブラウジング方法であって、
リクエストを受け付けるリクエスト受付ステップと、
前記リクエストが受け付けられることに応じて、前記受け付けられたリクエストにより定まる送信先のサーバに前記受け付けられたリクエストに対応するコマンドを送信するコマンド送信ステップと、
前記コマンドを実行する前記サーバが返信するコンテンツを受信するコンテンツ受信ステップと、
前記受信されたコンテンツを表示するコンテンツ表示ステップと、
前記受け付けられたリクエストにより定まる送信先のサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、前記リクエストを送信するステップにおける前記コマンドの送信を制限する制限ステップと、を含むブラウジング方法。
【請求項14】
ネットワークに接続された画像形成装置を制御するコンピュータで実行されるブラウジングプログラムであって、
リクエストを受け付けるリクエスト受付ステップと、
前記リクエストが受け付けられることに応じて、前記受け付けられたリクエストにより定まる送信先のサーバに前記受け付けられたリクエストに対応するコマンドを送信するコマンド送信ステップと、
前記コマンドを実行する前記サーバが返信するコンテンツを受信するコンテンツ受信ステップと、
前記受信されたコンテンツを表示するコンテンツ表示ステップと、
前記受け付けられたリクエストにより定まる送信先のサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、前記リクエストを送信するステップにおける前記コマンドの送信を制限する制限ステップと、を前記コンピュータに実行させるブラウジングプログラム。
【請求項1】
ネットワークに接続されたサーバからコンテンツを受信し、前記受信されたコンテンツを表示する1以上のブラウジング手段と、
前記1以上のブラウジング手段各々がサーバに送信するために出力するコマンドを取得するコマンド取得手段と、
前記取得されたコマンドを、該コマンドの送信先のサーバに送信する送信手段と、
前記取得されたコマンドを送信したサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、前記送信手段による前記コマンドの送信を制限する制限手段と、を備えた画像形成装置。
【請求項2】
前記1以上のブラウジング手段各々により、過去にサーバから受信され、かつ、表示可能に保持されている1以上のコンテンツ各々に対して送信元のサーバを識別するためのサーバ識別情報を関連付ける関連付手段を、含み、
前記制限手段は、前記取得手段によりコマンドが取得された時点で、前記関連付手段によって前記取得されたコマンドの送信先のサーバのサーバ識別情報と同じサーバ識別情報と関連付けられたコンテンツの数が所定のしきい値ならば、前記送信手段による前記コマンドの送信を禁止する第1リクエスト禁止手段を、含む請求項1に記載の画像形成装置。
【請求項3】
前記送信手段は、前記取得されたコマンドの送信先のサーバと通信するためにセッションを確立するセッション確立手段を、さらに含み、
前記制限手段は、前記取得手段によりコマンドが取得された時点で、前記取得されたコマンドの送信先のサーバとの間で通信するためのセッションが既に確立されている場合、前記送信手段による前記コマンドの送信を禁止する第2リクエスト禁止手段を、含む請求項1または2に記載の画像形成装置。
【請求項4】
前記1以上のブラウジング手段各々は、
リクエストを受け付けるリクエスト受付手段と、
前記リクエストが受け付けられることに応じて、前記受け付けられたリクエストにより定まる送信先のサーバに前記受け付けられたリクエストに対応するコマンドを出力するコマンド出力手段と、
前記出力されたコマンドを実行する前記サーバが返信するコンテンツを受信するコンテンツ受信手段と、
前記受信されたコンテンツを表示するコンテンツ表示手段と、を含み、
前記コンテンツ表示手段は、前記コンテンツ受信手段により受信された1以上のコンテンツを選択可能な状態で保持する保持手段と、
前記保持された1以上のコンテンツのうちから選択された1つを表示する選択表示手段と、を含み、
前記リクエスト受付手段は、前記保持手段により保持されている1以上のコンテンツのいずれかが発生するリクエストを受け付ける発生リクエスト受付手段を、含む請求項3に記載の画像形成装置。
【請求項5】
前記1以上のブラウジング手段各々は、
リクエストを受け付けるリクエスト受付手段と、
前記リクエストが受け付けられることに応じて、前記受け付けられたリクエストにより定まる送信先のサーバに前記受け付けられたリクエストに対応するコマンドを出力するコマンド出力手段と、
前記出力されたコマンドを実行する前記サーバが返信するコンテンツを受信するコンテンツ受信手段と、
前記受信されたコンテンツを表示するコンテンツ表示手段と、を含み、
前記リクエスト受付手段は、ユーザによる指示によりリクエストを受け付ける指示受付手段を、含む請求項3に記載の画像形成装置。
【請求項6】
リクエストを受け付けるリクエスト受付手段と、
前記リクエストが受け付けられることに応じて、前記受け付けられたリクエストにより定まる送信先のサーバに前記受け付けられたリクエストに対応するコマンドを送信するコマンド送信手段と、
前記コマンドを実行する前記サーバが返信するコンテンツを受信するコンテンツ受信手段と、
前記受信されたコンテンツを表示するコンテンツ表示手段と、
前記受け付けられたリクエストにより定まる送信先のサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、前記コマンド送信手段による前記コマンドの送信を制限する制限手段と、を備えた画像形成装置。
【請求項7】
前記コンテンツ表示手段は、前記コンテンツ受信手段により受信された1以上のコンテンツを選択可能な状態で保持する保持手段と、
前記保持された1以上のコンテンツのうちから選択された1つを表示する選択表示手段と、を含み、
前記制限手段は、前記リクエスト受付手段によりリクエストが受け付けられた時点で、前記保持手段により保持されている1以上のコンテンツのうち、前記受け付けられたリクエストにより定まる送信先のサーバと同じサーバから受信されたコンテンツの数が所定のしきい値ならば、前記コマンド送信手段による前記コマンドの送信を禁止する第1リクエスト禁止手段を、含む請求項6に記載の画像形成装置。
【請求項8】
前記制限手段は、前記リクエスト受付手段によりリクエストが受け付けられた時点で、該受け付けられたリクエストの送信先のサーバと通信するためのセッションが既に確立されている場合、前記コマンド送信手段による前記コマンドの送信を禁止する第2リクエスト禁止手段を、含む請求項6または7に記載の画像形成装置。
【請求項9】
前記リクエスト受付手段は、前記保持手段により保持されている1以上のコンテンツのいずれかが発生するリクエストを受け付ける発生リクエスト受付手段を、含む請求項7または8に記載の画像形成装置。
【請求項10】
前記リクエスト受付手段は、ユーザによる指示によりリクエストを受け付ける指示受付手段を、含む請求項6〜9のいずれかに記載の画像形成装置。
【請求項11】
ブラウジングプログラムを実行可能な画像形成装置で実行される通信制御方法であって、
ブラウジングプログラムを実行するタスクがネットワークに接続されたサーバに送信するために出力するコマンドを取得する取得ステップと、
前記取得されたコマンドを、該コマンドの送信先のサーバに送信する送信ステップと、
前記取得されたコマンドを送信したサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、前記送信ステップにおける前記取得されたコマンドの送信を制限する制限ステップを含む、通信制御方法。
【請求項12】
ブラウジングプログラムを実行可能な画像形成装置を制御するコンピュータで実行される通信制御プログラムであって、
ブラウジングプログラムを実行するタスクがネットワークに接続されたサーバに送信するために出力するコマンドを取得する取得ステップと、
前記取得されたコマンドを、該コマンドの送信先のサーバに送信する送信ステップと、
前記取得されたコマンドを送信したサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、前記送信ステップにおける前記取得されたコマンドの送信を制限する制限ステップと、を前記コンピュータに実行させる通信制御プログラム。
【請求項13】
ネットワークに接続された画像形成装置で実行されるブラウジング方法であって、
リクエストを受け付けるリクエスト受付ステップと、
前記リクエストが受け付けられることに応じて、前記受け付けられたリクエストにより定まる送信先のサーバに前記受け付けられたリクエストに対応するコマンドを送信するコマンド送信ステップと、
前記コマンドを実行する前記サーバが返信するコンテンツを受信するコンテンツ受信ステップと、
前記受信されたコンテンツを表示するコンテンツ表示ステップと、
前記受け付けられたリクエストにより定まる送信先のサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、前記リクエストを送信するステップにおける前記コマンドの送信を制限する制限ステップと、を含むブラウジング方法。
【請求項14】
ネットワークに接続された画像形成装置を制御するコンピュータで実行されるブラウジングプログラムであって、
リクエストを受け付けるリクエスト受付ステップと、
前記リクエストが受け付けられることに応じて、前記受け付けられたリクエストにより定まる送信先のサーバに前記受け付けられたリクエストに対応するコマンドを送信するコマンド送信ステップと、
前記コマンドを実行する前記サーバが返信するコンテンツを受信するコンテンツ受信ステップと、
前記受信されたコンテンツを表示するコンテンツ表示ステップと、
前記受け付けられたリクエストにより定まる送信先のサーバから過去に受信されたコンテンツの状態または該サーバとの間の通信状態に基づいて、前記リクエストを送信するステップにおける前記コマンドの送信を制限する制限ステップと、を前記コンピュータに実行させるブラウジングプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−226414(P2012−226414A)
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願番号】特願2011−90762(P2011−90762)
【出願日】平成23年4月15日(2011.4.15)
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願日】平成23年4月15日(2011.4.15)
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】
[ Back to top ]