(57)【特許請求の範囲】
【請求項１】
原稿を読み取って画像データを出力する原稿読取手段と、
マークアップ言語で記述されたページを記憶する記憶手段と、
マークアップ言語で記述されたページを要求し、前記要求に応じて受信されるページを表示するブラウジング手段と、
前記ブラウジング手段からの要求に応じて前記記憶手段に記憶されたページを出力する内部サーバー手段と、
前記ブラウジング手段、前記内部サーバー手段および外部サーバーとを連携させる連携制御手段と、を備え、
前記連携制御手段は、前記ブラウジング手段を起動して、前記外部サーバーに記憶されたスキャン指示画面を含むページを表示させる指示画面表示制御手段と、
前記表示されたスキャン指示画面に基づいてユーザーにより入力されるスキャン指示を受け付けることに応じて、前記原稿読取手段を制御して、前記原稿読取手段が出力する画像データを前記記憶手段に記憶するスキャン制御手段と、
ユーザーの指示を受け付ける領域と、前記ユーザーの指示を受け付ける領域に割り当てられ、前記外部サーバーに所定の処理を実行させるためのサーバー制御コマンドと、を含む外部画面を前記外部サーバーから受信し、前記記憶手段に記憶する外部画面受信手段と、
ユーザーの指示を受け付ける領域と、前記ユーザーの指示を受け付ける領域に割り当てられ、前記内部サーバー手段に所定の処理を実行させるための内部制御コマンドと、前記記憶された画像データを表示する領域と、を含む内部画面を生成する内部画面生成手段と、
前記内部画面と前記記憶された外部画面とを合成した統合画面を生成し、前記生成された統合画面を前記内部サーバー手段に出力する統合画面生成手段と、
前記内部サーバー手段から前記統合画面のネットワークアドレスを取得し、前記外部サーバーに送信する位置情報通知手段と、を含み、
前記外部サーバーは、前記ブラウジング手段に前記スキャン指示画面を送信した後、前記ブラウジング手段から次画面の送信を要求する送信リクエストを受信することに応じて、前記統合画面のネットワークアドレスを含むリダイレクト情報を前記ブラウジング手段に返信する、アプリ連携システム。
【請求項２】
原稿を読み取って画像データを出力する原稿読取手段と、
マークアップ言語で記述されたページを記憶する記憶手段と、
マークアップ言語で記述されたページを要求し、前記要求に応じて受信されるページを表示するブラウジング手段と、
前記ブラウジング手段からの要求に応じて前記記憶手段に記憶されたページを出力する内部サーバー手段と、
前記ブラウジング手段、前記内部サーバー手段および外部サーバーとを連携させる連携制御手段と、を備え、
前記連携制御手段は、前記ブラウジング手段を起動して、前記外部サーバーに記憶されたスキャン指示画面を含むページを表示させる指示画面表示制御手段と、
前記表示されたスキャン指示画面に基づいてユーザーにより入力されるスキャン指示を受け付けることに応じて、前記原稿読取手段を制御して、前記原稿読取手段が出力する画像データを前記記憶手段に記憶するスキャン制御手段と、
ユーザーの指示を受け付ける領域と、前記ユーザーの指示を受け付ける領域に割り当てられ、前記内部サーバー手段に所定の処理を実行させるための内部制御コマンドと、前記記憶された画像データを表示する領域と、を含む内部画面を生成し、前記生成された内部画面を前記内部サーバー手段に出力するする内部画面生成手段と、
前記内部サーバー手段から前記内部画面のネットワークアドレスを取得し、前記内部画面のネットワークアドレスを前記外部サーバーに送信する位置情報通知手段と、を含み、
前記外部サーバーは、前記内部画面のネットワークアドレスを受信することに応じて、ユーザーの指示を受け付ける領域と、前記ユーザーの指示を受け付ける領域に割り当てられ、前記外部サーバーに所定の処理を実行させるためのサーバー制御コマンドと、前記受信されたネットワークアドレスで特定される前記内部画面を表示する部分表示領域と、を含む統合画面であって、前記部分表示領域に前記内部画面を表示するために、前記受信されたネットワークアドレスを含む送信リクエストを送信するコマンドを記述した統合画面を生成する統合画面生成手段を含み、前記ブラウジング手段に前記スキャン指示画面を送信した後、前記ブラウジング手段から次画面の送信を要求する送信リクエストを受信することに応じて、前記統合画面を返信する、アプリ連携システム。
【請求項３】
前記連携制御手段は、前記記憶された画像データの位置を示すネットワークアドレスを前記外部サーバーに送信する位置情報通知手段をさらに含み、
前記外部サーバーは、前記ブラウジング手段から前記サーバー制御コマンドが受信されることに応じて、前記位置情報通知手段から受信される前記画像データのネットワークアドレスで特定される前記画像データを取得し、前記画像データに前記受信されたサーバー制御コマンドで特定される画像処理を実行し、前記画像処理後の画像データで、前記画像データを更新する外部更新手段と、
前記外部更新手段により前記記憶された画像データが更新された後に、前記ブラウジング手段に更新リクエストを出力する更新リクエスト出力手段と、さらに備えた請求項１または２に記載のアプリ連携システム。
【請求項４】
前記内部サーバー手段に前記ブラウジング手段から前記内部制御コマンドが入力されることに応じて、前記内部画面で特定される前記画像データに前記受信された内部制御コマンドで特定される画像処理を実行し、前記画像処理された画像データで、前記画像データを更新する内部更新手段と、
前記内部更新手段により前記記憶された画像データが更新された後に、前記統合画面を前記ブラウジング手段に返信する、請求項１〜３のいずれかに記載のアプリ連携システム。
【請求項５】
前記連携制御手段は、前記画像データを縮小したプレビュー画像を生成し、前記記憶された画像データを前記生成されたプレビュー画像で更新するプレビュー画像生成手段を、さらに備えた請求項１〜４のいずれかに記載のアプリ連携システム。
【請求項６】
前記内部画面生成手段は、前記外部サーバーから前記内部画面のスタイルを定める画面情報を受信し、前記受信された画面情報にしたがって前記内部画面を生成する、請求項１〜５のいずれかに記載のアプリ連携システム。
【請求項７】
画像処理装置と外部サーバーとを含むアプリ連携システムで実行されるアプリ連携方法であって、
前記画像処理装置は、
原稿を読み取って画像データを出力する原稿読取手段と、
マークアップ言語で記述されたページを記憶する記憶手段と、
マークアップ言語で記述されたページを要求し、前記要求に応じて受信されるページを表示するブラウジング手段と、
前記ブラウジング手段からの要求に応じて前記記憶手段に記憶されたページを出力する内部サーバー手段と、を備え、
前記ブラウジング手段を起動して、前記外部サーバーに記憶されたスキャン指示画面を含むページを表示させるステップと、
前記表示されたスキャン指示画面に基づいてユーザーにより入力されるスキャン指示を受け付けることに応じて、前記原稿読取手段を制御して、前記原稿読取手段が出力する画像データを前記記憶手段に記憶するステップと、
ユーザーの指示を受け付ける領域と、前記ユーザーの指示を受け付ける領域に割り当てられ、前記外部サーバーに所定の処理を実行させるためのサーバー制御コマンドと、を含む外部画面を前記外部サーバーから受信し、前記記憶手段に記憶するステップと、
ユーザーの指示を受け付ける領域と、前記ユーザーの指示を受け付ける領域に割り当てられ、前記内部サーバー手段に所定の処理を実行させるための内部制御コマンドと、前記記憶された画像データを表示する領域と、を含む内部画面を生成するステップと、
前記内部画面と前記記憶された外部画面とを合成した統合画面を生成し、前記生成された統合画面を前記内部サーバー手段に出力するステップと、
前記内部サーバー手段から前記統合画面のネットワークアドレスを取得し、前記外部サーバーに送信するステップと、を前記画像処理装置に実行させ、
前記ブラウジング手段に前記スキャン指示画面を送信した後、前記ブラウジング手段から次画面の送信を要求する送信リクエストを受信することに応じて、前記統合画面のネットワークアドレスを含むリダイレクト情報を前記ブラウジング手段に返信するステップを前記外部サーバーに実行させる、アプリ連携方法。
【請求項８】
画像処理装置と外部サーバーとを含むアプリ連携システムで実行されるアプリ連携方法であって、
前記画像処理装置は、
原稿を読み取って画像データを出力する原稿読取手段と、
マークアップ言語で記述されたページを記憶する記憶手段と、
マークアップ言語で記述されたページを要求し、前記要求に応じて受信されるページを表示するブラウジング手段と、
前記ブラウジング手段からの要求に応じて前記記憶手段に記憶されたページを出力する内部サーバー手段と、を備え、
前記ブラウジング手段を起動して、前記外部サーバーに記憶されたスキャン指示画面を含むページを表示させるステップと、
前記表示されたスキャン指示画面に基づいてユーザーにより入力されるスキャン指示を受け付けることに応じて、前記原稿読取手段を制御して、前記原稿読取手段が出力する画像データを前記記憶手段に記憶するステップと、
ユーザーの指示を受け付ける領域と、前記ユーザーの指示を受け付ける領域に割り当てられ、前記内部サーバー手段に所定の処理を実行させるための内部制御コマンドと、前記記憶された画像データを表示する領域と、を含む内部画面を生成するステップと、
前記生成された内部画面を前記内部サーバー手段に出力するステップと、
前記内部サーバー手段から前記内部画面のネットワークアドレスを取得し、前記内部画面のネットワークアドレスを前記外部サーバーに送信するステップと、を前記画像処理装置に実行させ、
前記内部画面のネットワークアドレスを受信することに応じて、ユーザーの指示を受け付ける領域と、前記ユーザーの指示を受け付ける領域に割り当てられ、前記外部サーバーに所定の処理を実行させるためのサーバー制御コマンドと、前記受信されたネットワークアドレスで特定される前記内部画面を表示する部分表示領域と、を含む統合画面であって、前記部分表示領域に前記内部画面を表示するために、前記受信されたネットワークアドレスを含む送信リクエストを送信するコマンドを記述した統合画面を生成するステップと、
前記ブラウジング手段に前記スキャン指示画面を送信した後、前記ブラウジング手段から次画面の送信を要求する送信リクエストを受信することに応じて、前記統合画面を返信するステップと、を前記外部サーバーに実行させる、アプリ連携方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、アプリ連携システムおよびアプリ連携方法に関し、特に、サーバーと、そのサーバーと連携して処理を実行するアプリケーションプログラムがインストールされる画像処理装置とを含むアプリ連携システムおよびそのアプリ連携システムにより実行されるアプリ連携方法に関する。
【背景技術】
【０００２】
複合機（以下「ＭＦＰ」という）で実行できない処理を、サーバーが提供するサービス、例えば、ＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）を使用することにより実行することができる。この場合、通常は、サーバーがＷｅｂサーバーとして機能し、ＭＦＰがクライアントとして機能するサーバクライアントシステムが用いられ、Ｗｅｂサーバーで処理を実行した後のデータがＭＦＰで受信され、出力される（例えば、特許文献１〜３）。
【０００３】
しかしながら、従来のサーバクライアントシステムにおいては、ユーザーがＭＦＰを操作するためにＭＦＰに表示される操作画面は、サーバーによって生成され、サーバーから受信された操作画面である。このため、サーバーから受信された操作画面からＭＦＰ側でスキャンしたデータに対して、ＭＦＰ側で画像処理を実行させる指示をすることができない。ＭＦＰ側でスキャンしたデータに対して、ＭＦＰ側で画像処理を実行させるためには、ＭＦＰに予め準備された操作画面を表示させなければならず、サーバーから受信された操作画面と、ＭＦＰに準備された操作画面とを、切り替えなければならないといった問題があった。
【０００４】
また、特開２００５−１６７９８８号公報には、インターネットに接続されたＭＦＰと所定の処理サービスを提供する１つまたは複数のサービスプロバイダからなる画像処理システムにおいて、ＭＦＰのコントローラが複数のサービスプロバイダから提供可能な処理機能情報を取得し、該取得される処理機能情報に基づく第１の処理機能とＭＦＰで実行可能な第２の処理機能とをＭＦＰの操作部に択一的に表示させる画像処理システムが記載されている。しかしながら、従来の画像処理システムは、複数のサービスプロバイダが提供可能な処理機能情報に基づく第１の処理機能とＭＦＰで実行可能な第２の処理機能とのいずれか一方を実行することができるが、１つの操作画面で、サービスプロバイダが提供可能な処理機能情報に基づく第１の処理機能とＭＦＰで実行可能な第２の処理機能との双方を実行させることはできない。
【特許文献１】特開２００６−２３７７０５号公報
【特許文献２】特開２００７−０６０５５６号公報
【特許文献３】特開２００８−０８６０２８号公報
【特許文献４】特開２００５−１６７９８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、自装置と外部サーバーとのいずれで処理されるかをユーザーに意識させることなく処理を実行することが可能なアプリ連携システムを提供することである。
【０００６】
この発明の他の目的は、自装置と外部サーバーとのいずれで処理されるかをユーザーに意識させることなく処理を実行することが可能なアプリ連携方法を提供することである。
【課題を解決するための手段】
【０００７】
上述した目的を達成するためにこの発明のある局面によれば、アプリ連携システムは、原稿を読み取って画像データを出力する原稿読取手段と、マークアップ言語で記述されたページを記憶する記憶手段と、マークアップ言語で記述されたページを要求し、要求に応じて受信されるページを表示するブラウジング手段と、ブラウジング手段からの要求に応じて記憶手段に記憶されたページを出力する内部サーバー手段と、ブラウジング手段、内部サーバー手段および外部サーバーとを連携させる連携制御手段と、を備え、連携制御手段は、ブラウジング手段を起動して、外部サーバーに記憶されたスキャン指示画面を含むページを表示させる指示画面表示制御手段と、表示されたスキャン指示画面に基づいてユーザーにより入力されるスキャン指示を受け付けることに応じて、原稿読取手段を制御して、原稿読取手段が出力する画像データを記憶手段に記憶するスキャン制御手段と、ユーザーの指示を受け付ける領域と、ユーザーの指示を受け付ける領域に割り当てられ、外部サーバーに所定の処理を実行させるためのサーバー制御コマンドと、を含む外部画面を外部サーバーから受信し、記憶手段に記憶する外部画面受信手段と、ユーザーの指示を受け付ける領域と、ユーザーの指示を受け付ける領域に割り当てられ、内部サーバー手段に所定の処理を実行させるための内部制御コマンドと、記憶された画像データを表示する領域と、を含む内部画面を生成する内部画面生成手段と、内部画面と記憶された外部画面とを合成した統合画面を生成し、生成された統合画面を内部サーバー手段に出力する統合画面生成手段と、内部サーバー手段から統合画面のネットワークアドレスを取得し、外部サーバーに送信する位置情報通知手段と、を含み、外部サーバーは、ブラウジング手段にスキャン指示画面を送信した後、ブラウジング手段から次画面の送信を要求する送信リクエストを受信することに応じて、統合画面のネットワークアドレスを含むリダイレクト情報をブラウジング手段に返信する。
【０００８】
この局面に従えば、外部サーバーは、ブラウジング手段から次画面の送信を要求する送信リクエストを受信することに応じて、統合画面のネットワークアドレスを含むリダイレクト情報をブラウジング手段に返信するので、ブラウジング手段は内部サーバー手段に統合画面の送信リクエストを送信する。その結果、内部サーバー手段から統合画面がブラウジング手段に出力され、ブラウジング手段により統合画面が表示される。統合画面は、内部画面と外部画面を含み、内部画面は、内部サーバー手段に所定の処理を実行させるための内部制御コマンドを含み、外部画面は所定の処理を外部サーバーに実行させるためのサーバー制御コマンドを含むので、ユーザーは、統合画面から内部サーバー手段と外部サーバーとのいずれかに処理の実行を指示することができる。したがって、ユーザーは、自装置と外部サーバーとのいずれで処理が実行されるかを意識する必要がない。その結果、自装置と外部サーバーとのいずれで処理されるかをユーザーに意識させることなく処理を実行することが可能なアプリ連携システムを提供することができる。
【０００９】
この発明の他の局面によれば、アプリ連携システムは、原稿を読み取って画像データを出力する原稿読取手段と、マークアップ言語で記述されたページを記憶する記憶手段と、マークアップ言語で記述されたページを要求し、要求に応じて受信されるページを表示するブラウジング手段と、ブラウジング手段からの要求に応じて記憶手段に記憶されたページを出力する内部サーバー手段と、ブラウジング手段、内部サーバー手段および外部サーバーとの連携させる連携制御手段と、を備え、連携制御手段は、ブラウジング手段を起動して、外部サーバーに記憶されたスキャン指示画面を含むページを表示させる指示画面表示制御手段と、表示されたスキャン指示画面に基づいてユーザーにより入力されるスキャン指示を受け付けることに応じて、原稿読取手段を制御して、原稿読取手段が出力する画像データを記憶手段に記憶するスキャン制御手段と、ユーザーの指示を受け付ける領域と、ユーザーの指示を受け付ける領域に割り当てられ、内部サーバー手段に所定の処理を実行させるための内部制御コマンドと、記憶された画像データを表示する領域と、を含む内部画面を生成し、生成された内部画面を内部サーバー手段に出力するする内部画面生成手段と、内部サーバー手段から内部画面のネットワークアドレスを取得し、内部画面のネットワークアドレスを外部サーバーに送信する位置情報通知手段と、を含み、外部サーバーは、内部画面のネットワークアドレスを受信することに応じて、ユーザーの指示を受け付ける領域と、ユーザーの指示を受け付ける領域に割り当てられ、外部サーバーに所定の処理を実行させるためのサーバー制御コマンドと、受信されたネットワークアドレスで特定される内部画面を表示する部分表示領域と、を含む統合画面であって、部分表示領域に内部画面を表示するために、受信されたネットワークアドレスを含む送信リクエストを送信するコマンドを記述した統合画面を生成する統合画面生成手段を含み、ブラウジング手段にスキャン指示画面を送信した後、ブラウジング手段から次画面の送信を要求する送信リクエストを受信することに応じて、統合画面を返信する。
【００１０】
この局面に従えば、外部サーバーは、ブラウジング手段から次画面の送信を要求する送信リクエストを受信することに応じて、統合画面をブラウジング手段に返信するので、ブラウジング手段は統合画面を表示する。統合画面は、部分表示領域に内部画面を表示するために、内部画面のネットワークアドレスを含む送信リクエストを送信するコマンドが記述されているので、ブラウジング手段は、内部サーバー手段に内部画面の送信リクエストを送信し、内部サーバー手段から受信される内部画面を部分表示領域に表示する。統合画面は、内部画面と外部画面を含み、内部画面は、内部サーバー手段に所定の処理を実行させるための内部制御コマンドを含み、外部画面は所定の処理を外部サーバーに実行させるためのサーバー制御コマンドを含むので、ユーザーは、統合画面から内部サーバー手段と外部サーバーとのいずれかに処理の実行を指示することができる。したがって、ユーザーは、自装置と外部サーバーとのいずれで処理が実行されるかを意識する必要がない。その結果、自装置と外部サーバーとのいずれで処理されるかをユーザーに意識させることなく処理を実行することが可能なアプリ連携システムを提供することができる。
【００１１】
好ましくは、連携制御手段は、記憶された画像データの位置を示すネットワークアドレスを外部サーバーに送信する位置情報通知手段をさらに含み、外部サーバーは、ブラウジング手段からサーバー制御コマンドが受信されることに応じて、位置情報通知手段から受信される画像データのネットワークアドレスで特定される画像データを取得し、画像データに受信されたサーバー制御コマンドで特定される画像処理を実行し、画像処理後の画像データで、画像データを更新する外部更新手段と、外部更新手段により記憶された画像データが更新された後に、ブラウジング手段に更新リクエストを出力する更新リクエスト出力手段と、さらに備える。
【００１２】
好ましくは、内部サーバー手段にブラウジング手段から内部制御コマンドが入力されることに応じて、内部画面で特定される画像データに受信された内部制御コマンドで特定される画像処理を実行し、画像処理された画像データで、画像データを更新する内部更新手段と、内部更新手段により記憶された画像データが更新された後に、更新後の画像データを含む統合画面をブラウジング手段に返信する。
【００１３】
好ましくは、連携制御手段は、画像データを縮小したプレビュー画像を生成し、記憶された画像データを生成されたプレビュー画像で更新するプレビュー画像生成手段を、さらに備える。
【００１４】
この局面に従えば、画像データを縮小したプレビュー画像で画像データが更新されるので、外部サーバーが画像データを処理する際に、外部サーバーとの間で送受信されるデータ量を少なくすることできる。その結果、ネットワークの負荷を低減させることができる。
【００１５】
好ましくは、内部画面生成手段は、外部サーバーから内部画面のスタイルを定める画面情報を受信し、受信された画面情報にしたがって内部画面を生成する。
【００１６】
この発明の他の局面によれば、アプリ連携方法は、画像処理装置と外部サーバーとを含むアプリ連携システムで実行されるアプリ連携方法であって、画像処理装置は、原稿を読み取って画像データを出力する原稿読取手段と、マークアップ言語で記述されたページを記憶する記憶手段と、マークアップ言語で記述されたページを要求し、要求に応じて受信されるページを表示するブラウジング手段と、ブラウジング手段からの要求に応じて記憶手段に記憶されたページを出力する内部サーバー手段と、を備え、ブラウジング手段を起動して、外部サーバーに記憶されたスキャン指示画面を含むページを表示させるステップと、表示されたスキャン指示画面に基づいてユーザーにより入力されるスキャン指示を受け付けることに応じて、原稿読取手段を制御して、原稿読取手段が出力する画像データを記憶手段に記憶するステップと、ユーザーの指示を受け付ける領域と、ユーザーの指示を受け付ける領域に割り当てられ、外部サーバーに所定の処理を実行させるためのサーバー制御コマンドと、を含む外部画面を外部サーバーから受信し、記憶手段に記憶するステップと、ユーザーの指示を受け付ける領域と、ユーザーの指示を受け付ける領域に割り当てられ、内部サーバー手段に所定の処理を実行させるための内部制御コマンドと、記憶された画像データを表示する領域と、を含む内部画面を生成するステップと、内部画面と記憶された外部画面とを合成した統合画面を生成し、生成された統合画面を内部サーバー手段に出力するステップと、内部サーバー手段から統合画面のネットワークアドレスを取得し、外部サーバーに送信するステップと、を画像処理装置に実行させ、ブラウジング手段にスキャン指示画面を送信した後、ブラウジング手段から次画面の送信を要求する送信リクエストを受信することに応じて、統合画面のネットワークアドレスを含むリダイレクト情報をブラウジング手段に返信するステップを外部サーバーに実行させる。
【００１７】
この局面に従えば、自装置と外部サーバーとのいずれで処理されるかをユーザーに意識させることなく処理を実行することが可能なアプリ連携方法を提供することができる。
【００１８】
この発明のさらに他の局面によれば、アプリ連携方法は、画像処理装置と外部サーバーとを含むアプリ連携システムで実行されるアプリ連携方法であって、画像処理装置は、原稿を読み取って画像データを出力する原稿読取手段と、マークアップ言語で記述されたページを記憶する記憶手段と、マークアップ言語で記述されたページを要求し、要求に応じて受信されるページを表示するブラウジング手段と、ブラウジング手段からの要求に応じて記憶手段に記憶されたページを出力する内部サーバー手段と、を備え、ブラウジング手段を起動して、外部サーバーに記憶されたスキャン指示画面を含むページを表示させるステップと、表示されたスキャン指示画面に基づいてユーザーにより入力されるスキャン指示を受け付けることに応じて、原稿読取手段を制御して、原稿読取手段が出力する画像データを記憶手段に記憶するステップと、ユーザーの指示を受け付ける領域と、ユーザーの指示を受け付ける領域に割り当てられ、内部サーバー手段に所定の処理を実行させるための内部制御コマンドと、記憶された画像データを表示する領域と、を含む内部画面を生成するステップと、生成された内部画面を内部サーバー手段に出力するステップと、内部サーバー手段から内部画面のネットワークアドレスを取得し、内部画面のネットワークアドレスを外部サーバーに送信するステップと、を画像処理装置に実行させ、内部画面のネットワークアドレスを受信することに応じて、ユーザーの指示を受け付ける領域と、ユーザーの指示を受け付ける領域に割り当てられ、外部サーバーに所定の処理を実行させるためのサーバー制御コマンドと、受信されたネットワークアドレスで特定される内部画面を表示する部分表示領域と、を含む統合画面であって、部分表示領域に内部画面を表示するために、受信されたネットワークアドレスを含む送信リクエストを送信するコマンドを記述した統合画面を生成するステップと、ブラウジング手段にスキャン指示画面を送信した後、ブラウジング手段から次画面の送信を要求する送信リクエストを受信することに応じて、統合画面を返信するステップと、を外部サーバーに実行させる。
【００１９】
この局面に従えば、自装置と外部サーバーとのいずれで処理されるかをユーザーに意識させることなく処理を実行することが可能なアプリ連携方法を提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態におけるアプリ連携システムの全体概要を示す図である。
【図２】ＭＦＰの外観を示す斜視図である。
【図３】ＭＦＰのハードウエア構成の一例を示すブロック図である。
【図４】外部サーバーのハードウエア構成の一例を示すブロック図である。
【図５】ＭＦＰが備えるＣＰＵが有する機能の概要の一例を示すブロック図である。
【図６】連携制御部の詳細な機能の一例をＨＤＤに記憶されるデータとともに示す図である。
【図７】第１の実施の形態における統合画面の一例を示す図である。
【図８】内部更新制御部の詳細な機能の一例を示す図である。
【図９】外部更新制御部の詳細な機能の一例を示す図である。
【図１０】第１の実施の形態におけるブラウジング部、内部サーバー部、連携制御部および外部サーバーそれぞれの処理の流れの関係を示す第１のフローチャートである。
【図１１】第１の実施の形態におけるブラウジング部、内部サーバー部、連携制御部および外部サーバーそれぞれの処理の流れの関係を示す第２のフローチャートである。
【図１２】第２の実施の形態におけるＭＦＰが備えるＣＰＵの機能の一例を示す図である。
【図１３】第２の実施の形態における連携制御部の詳細な機能の一例をＨＤＤに記憶されるデータとともに示す図である。
【図１４】第２の実施の形態における外部サーバーが備えるＣＰＵが有する機能の一例をＨＤＤに記憶されるデータとともに示すブロック図である。
【図１５】第２の実施の形態における統合画面の一例を示す図である。
【図１６】第２の実施の形態におけるブラウジング部、内部サーバー部、連携制御部および外部サーバーそれぞれの処理の流れの関係を示す第１のフローチャートである。
【図１７】第２の実施の形態におけるブラウジング部、内部サーバー部、連携制御部および外部サーバーそれぞれの処理の流れの関係を示す第２のフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返さない。
【００２２】
＜第１の実施の形態＞
図１は、本発明の実施の形態におけるアプリ連携システムの全体概要を示す図である。図１を参照して、アプリ連携システム１は、それぞれがネットワーク３に接続された複合機（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）（以下、「ＭＦＰ」という）１００，１００Ａ〜１００Ｄと、インターネット５に接続された外部サーバー２００と、を含む。
【００２３】
ネットワーク３は、ローカルエリアネットワーク（ＬＡＮ）であり、有線および無線の別を問わない。ＭＦＰ１００，１００Ａ〜１００Ｄそれぞれは、ネットワーク３を介して互いに通信可能であり、さらに、インターネット５を介して接続された外部サーバー２００と通信可能である。なお、ネットワーク３は、ＬＡＮに限らず、インターネット、ワイドエリアネットワーク（ＷＡＮ）または公衆交換電話網等であってもよい。
【００２４】
外部サーバー２００は、一般的なコンピュータであり、データ処理サービスを提供する。外部サーバー２００が提供するデータ処理サービスは、外部からデータを受信し、受信されたデータに処理を実行して、データ処理を実行した後の処理後データを返信するサービスである。データ処理は、入力される画像データに実行される処理であり、例えば、文字認識（ＯＣＲ）して文字のデータに変換する文字認識処理、文字を翻訳する翻訳処理、データ中の画像の領域の色を変換する色変換処理、データ中の画像の領域の輪郭を強調する輪郭強調処理、データのフォーマットを変換するフォーマット変換処理等を含む。なお、外部サーバー２００が提供するデータ処理サービスは、これらに限定されることなく、データに対して実行する処理であればよい。
【００２５】
外部サーバー２００が提供するデータ処理サービスは、ＭＦＰ１００，１００Ａ〜１００Ｄのいずれかで利用可能なように、ＭＦＰ１００，１００Ａ〜１００Ｄ各々において、外部サーバー２００が提供するデータ処理サービスを利用することが可能なように設定されている。
【００２６】
ＭＦＰ１００，１００Ａ〜１００Ｄは、画像処理装置の一例であり、スキャナ機能、プリンタ機能、コピー機能、ファクシミリ機能等の複数の機能を備える。また、ＭＦＰ１００，１００Ａ〜１００Ｄ各々は、ＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）を備えており、インターネットウェブサーバー（以下「ＩＷＳ」）として機能する。ここでは、ＭＦＰ１００，１００Ａ〜１００Ｄ各々がＩＷＳとして機能する部分を、内部サーバーという。
【００２７】
さらに、ＣＧＩを起動するための関数としてのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）が公開されており、ユーザーは、そのＡＰＩを用いてアプリケーションプログラムを開発し、ＭＦＰ１００，１００Ａ〜１００Ｄにインストールすることができる。ここでは、ＭＦＰ１００，１００Ａ〜１００Ｄを、外部サーバー２００が提供するデータ処理サービスを利用することが可能なように設定する場合、ＭＦＰ１００，１００Ａ〜１００Ｄ各々にアプリ連携プログラムがインストールされる。アプリ連携プログラムは、外部サーバー２００と連携して処理を実行するためのアプリケーションプログラムであり、ＭＦＰ１００，１００Ａ〜１００Ｄ各々のＣＧＩを起動するための関数としての公開されたＡＰＩを用いて開発されたアプリケーションプログラムである。
【００２８】
さらに、ＭＦＰ１００，１００Ａ〜１００Ｄ各々には、マークアップ言語で記述されたＷｅｂページを要求し、受信されるＷｅｂページを表示する処理をコンピュータに実行させるブラウジングプログラムがインストールされている。ＭＦＰ１００，１００Ａ〜１００Ｄ各々が備えるＣＰＵ（中央演算装置）によりブラウジングプログラムが実行され、ＣＰＵにブラウジングプログラムを実行するタスクが形成される。このＣＰＵに形成されるブラウジングプログラムを実行するタスクは、ＩＷＳとして機能するＭＦＰ１００，１００Ａ〜１００Ｄおよび外部サーバー２００のユーザーインターフェースとして機能する。例えば、ＭＦＰ１００で説明すると、ＭＦＰ１００が有するＣＰＵがブラウジングプログラムを実行するタスクが、ＩＷＳとして機能するためのプログラムを実行するタスクまたは外部サーバー２００のユーザーインターフェースとして機能する。
【００２９】
ＭＦＰ１００，１００Ａ〜１００Ｄは、それぞれが備える機能は同じであってもよく異なっていてもよいが、基本的には、原稿を読み取って画像データを出力する原稿読取機能を少なくとも有し、付加的に、画像データの画像を用紙に形成する画像形成機能、画像データを処理する画像処理機能、画像形成後の用紙にパンチ穴加工、ソート処理等する後処理機能、ファクシミリ送受信機能のいずれかを含んでもよい。
【００３０】
ＭＦＰ１００，１００Ａ〜１００Ｄ各々が有する機能は同じではない場合があるが、ここではＭＦＰ１００が、他のＭＦＰ１００Ａ〜１００Ｄのいずれかが有する機能を有している場合を例に説明する。
【００３１】
図２は、ＭＦＰの外観を示す斜視図である。図２を参照して、ＭＦＰ１００は、自動原稿搬送装置（ＡＤＦ）２１と、画像読取部２２と、画像処理部２３（図３参照）と、画像形成部２４と、給紙部２５と、後処理部２６とを含む。また、ＭＦＰ１００は、その上面にユーザーインターフェースとして用いられる操作パネル１１を備えている。
【００３２】
図３は、ＭＦＰのハードウエア構成の一例を示すブロック図である。図３を参照して、ＭＦＰ１００は、情報処理部１０１と、ＡＤＦ２１と、画像読取部２２と、画像処理部２３と、画像形成部２４と、給紙部２５と、後処理部２６と、ファクシミリ部２７と、を含む。情報処理部１０１は、ＣＰＵ１１１と、ＣＰＵ１１１が実行するプログラム等を記憶するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１２と、ＣＰＵ１１１の作業領域として使用されるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１３と、データを不揮発的に記憶するためのハードディスクドライブ（ＨＤＤ）１１４と、表示部１１５と、操作部１１６と、ネットワークインターフェース（Ｉ／Ｆ）１１７と、外部記憶装置１１８とを含む。
【００３３】
ＣＰＵ１１１は、ＲＯＭ１１２、ＲＡＭ１１３、ＨＤＤ１１４、表示部１１５、操作部１１６、ネットワークＩ／Ｆ１１７および外部記憶装置１１８とそれぞれ接続され、情報処理部１０１の全体を制御する。また、ＣＰＵ１１１は、ＡＤＦ２１、画像読取部２２、画像処理部２３、画像形成部２４、給紙部２５、後処理部２６およびファクシミリ部２７と接続され、ＭＦＰ１００の全体を制御する。
【００３４】
ＡＤＦ２１は、原稿台に搭載された複数枚の原稿をさばいて１枚ずつ順に、画像読取部２２に搬送する。ＡＤＦ２１は、原稿の片面を画像読取部２２に読み取らせる場合、原稿を画像読取部２２に搬送して表面を読み取らせる。さらに、ＡＤＦ２１は、原稿の両面を画像読取部２２に読み取らせる場合、原稿を画像読取部２２に搬送して表面を読み取らせた後、原稿を裏返して画像読取部２２に搬送して裏面を読み取らせる。画像読取部２２は、写真、文字、絵等の画像情報を原稿から光学的に読み取って画像データを取得し、画像処理部２３に出力する。
【００３５】
画像処理部２３は、ＣＰＵ１１１により制御され、ＣＰＵ１１１からの指示に基づき画像データを画像処理する。画像データは、画像読取部２２が原稿を読み取って出力する画像データ、ネットワークＩ／Ｆ１１７により他のコンピュータから受信されるプリントジョブに含まれる画像データ、ネットワークＩ／Ｆ１１７により他のＭＦＰ１００Ａ〜１００Ｄのいずれかから受信される画像データ、ＨＤＤ１１４に記憶されている画像データを含む。画像処理は、例えば、画像を拡大する拡大処理、画像を縮小する縮小処理、複数の画像を合成して１つの画像を生成する合成処理、画像を回転させて方向を変換する回転処理等である。
【００３６】
給紙部２５は、複数の給紙トレイを有し、指定された給紙トレイに格納した用紙を１枚ずつ画像形成部２４に供給する。複数の給紙トレイそれぞれは、複数のサイズの用紙のうちから選ばれたサイズの用紙を、複数の方向のうちから選ばれた方向に収納する。
【００３７】
画像形成部２４は、画像データに基づき、給紙部２５から搬送される用紙に画像を形成する。
【００３８】
後処理部２６は、画像が形成された用紙を排紙する。後処理部２６は、複数の排紙トレイを有し、ソート部、パンチ穴加工部、ステープル加工部を備えている。ソート部は、画像が形成された複数の用紙を複数の排紙トレイにソートして出力する。パンチ穴加工部は、用紙にパンチ穴を開ける。ステープル加工部は、画像が形成された複数の用紙をまとめるためにステープル加工する。
【００３９】
表示部１１５は、液晶表示装置（ＬＣＤ）、有機ＥＬＤ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１１６は、複数のキーを備え、キーに対応するユーザーの操作による各種の指示、文字、数字などのデータの入力を受け付ける。操作部１１６は、表示部１１５上に設けられたタッチパネルをさらに含む。表示部１１５と操作部１１６とで、操作パネル１１を構成する。
【００４０】
ネットワークＩ／Ｆ１１７は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）またはＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルで通信するためのインターフェースであり、ネットワーク３およびインターネット５を介して外部サーバー２００と通信する。また、ネットワーク３に接続された他のＭＦＰ１００Ａ〜１００Ｄと通信する。
【００４１】
外部記憶装置１１８は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１９が装着される。ＣＰＵ１１１は、外部記憶装置１１８を介してＣＤ−ＲＯＭ１１９にアクセス可能であり、ＣＤ−ＲＯＭ１１９に記憶されたプログラムをＲＡＭ１１３にロードして実行可能である。なお、ＣＰＵ１１１が実行するプログラムは、ＣＤ−ＲＯＭ１１９に記憶されたプログラムに限られず、他の記憶媒体に記憶されたプログラムでもよく、ＨＤＤ１１４に記憶されたプログラムであってもよく、さらに、ネットワークＩ／Ｆ１１７を介してネットワーク３に接続された他のコンピュータによりＨＤＤ１１４に書込みされたプログラムであってもよい。
【００４２】
なお、プログラムを記憶する記憶媒体としては、ＣＤ−ＲＯＭ１１９に限られず、光ディスク（ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）などの半導体メモリでもよい。
【００４３】
ファクシミリ部２７は、公衆電話回線網（ＰＳＴＮ）に接続され、ＰＳＴＮにファクシミリデータを送信する、またはＰＳＴＮからファクシミリデータを受信する。ファクシミリ部２７は、受信したファクシミリデータを、画像形成部２４がプリント可能なプリントデータに変換して、画像形成部２４に出力する。これにより、画像形成部２４によりファクシミリデータの画像が用紙に形成される。また、ファクシミリ部２７は、ＨＤＤ１１４に記憶されたデータをファクシミリデータに変換して、ＰＳＴＮに接続されたファクシミリ装置に送信する。
【００４４】
図４は、外部サーバーのハードウエア構成の一例を示すブロック図である。図４を参照して、外部サーバー２００は、外部サーバー２００の全体を制御するためのＣＰＵ２０１と、ＣＰＵ２０１が実行するプログラム等を記憶するためのＲＯＭ２０２と、ＣＰＵ２０１の作業領域として用いられるＲＡＭ２０３と、外部サーバー２００をネットワークに接続するためのネットワークＩ／Ｆ２０４と、大容量記憶装置としてのＨＤＤ２０５と、表示部２０６と、ユーザーの操作の入力を受け付ける操作部２０７と、ＣＤ−ＲＯＭ２０９が装着される外部記憶装置２０８と、を含む。
【００４５】
外部記憶装置２０８には、ＣＤ−ＲＯＭ２０９が装着される。ＣＤ−ＲＯＭ２０９には、ＣＰＵ２０１が実行可能なプログラムが記憶されており、ＣＰＵ２０１は、外部記憶装置２０８を制御して、ＣＤ−ＲＯＭ２０９からプログラムを読出し、読み出したプログラムをＲＡＭ２０３にロードして実行する。
【００４６】
なお、プログラムを記憶する記録媒体としては、ＣＤ−ＲＯＭ２０９に限られず、フレキシブルディスク、カセットテープ、光ディスク（ＭＯ／ＭＤ／ＤＶＤ）、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなどの半導体メモリでもよい。さらに、ＣＰＵ２０１がインターネット５に接続された他のコンピュータからプログラムをダウンロードしてＨＤＤ２０５に記憶する、または、他のコンピュータがプログラムをＨＤＤ２０５に書込みするようにして、ＨＤＤ２０５に記憶されたデータ処理プログラムをＲＡＭ２０３にロードしてＣＰＵ２０１で実行するようにしてもよい。ここでいうプログラムは、ＣＰＵ２０１により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００４７】
図５は、ＭＦＰが備えるＣＰＵが有する機能の概要の一例を示すブロック図である。図５に示す機能は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１２、ＨＤＤ１１４またはＣＤ−ＲＯＭ１１９に記憶されたプログラムを実行することにより、ＣＰＵ１１１に形成される。
【００４８】
図５を参照して、ＣＰＵ１１１は、ブラウジング部３１と、内部サーバー部４１と、連携制御部５１と、を含む。ブラウジング部３１は、ＣＰＵ１１１が、ブラウジングプログラムを実行することにより、ＣＰＵ１１１に形成される。内部サーバー部４１は、ＣＰＵ１１１が、ＩＷＳの機能を実現するためのＩＷＳプログラムを実行することにより、ＣＰＵ１１１に形成される。連携制御部５１は、アプリ連携プログラムを実行することにより、ＣＰＵ１１１に形成される。ブラウジング部３１および内部サーバー部４１の機能は、周知なのでここでは説明を繰り返さない。
【００４９】
ＭＦＰ１００のユーザーが、アプリ連携プログラムをＭＦＰ１００にインストールする際に、アプリ連携プログラムに対して予め定められた外部サーバー２００が登録される。具体的には、外部サーバー２００が提供するデータ処理サービスを実行するために外部サーバー２００に記憶されたスキャン指示画面を含むＷｅｂページのネットワークアドレスであるＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）９１が、ＨＤＤ１１４に記憶される。アプリ連携プログラムにスキャン指示画面を含むＷｅｂページのＵＲＬが予め記載されており、そのＵＲＬがＨＤＤ１１４に記憶される。
【００５０】
さらに、アプリ連携プログラムがＭＦＰ１００にインストールされると、アプリ連携プログラムをＣＰＵ１１１に実行させためのボタンがメニュー画面に追加される。ユーザーがメニュー画面においてアプリ連携プログラムをＣＰＵ１１１に実行させためのボタンを指示すれば、ＣＰＵ１１１はアプリ連携プログラムを実行する。ＣＰＵ１１１がアプリ連携プログラムを実行すると連携制御部５１がＣＰＵ１１１に形成される。
【００５１】
図６は、連携制御部の詳細な機能の一例を、ＨＤＤ１１４に記憶されるデータとともに示す図である。図６を参照して、連携制御部５１は、起動部５３と、画像読取部２２を制御するスキャン制御部５５と、スキャンして得られる画像データからプレビュー画像を生成するプレビュー画像生成部５７と、内部画面生成部５９と、外部サーバー２００から外部画面を受信する外部画面受信部６３と、内部画面と外部画面とを含む統合画面を生成する統合画面生成部６１と、統合画面のネットワークアドレスを外部サーバー２００に通知する第１位置情報通知部６５と、内部更新制御部７１と、外部更新制御部８１と、を含む。
【００５２】
起動部５３は、ブラウジング部３１を起動して、外部サーバー２００に記憶されたスキャン指示画面を含むＷｅｂページを表示させる。具体的には、起動部５３は、ＣＰＵ１１１にブラウジングプログラムを実行させる。これにより、ブラウジング部３１がＣＰＵ１１１に形成される。起動部５３は、ＨＤＤ１１４に記憶されたＵＲＬ９１を読み出し、読み出されたＵＲＬ９１をブラウジング部３１に出力する。これにより、ブラウジング部３１は、起動部５３から入力されるＵＲＬ９１で特定されるＷｅｂページを取得し、表示部１１５に、取得されたＷｅｂページを表示する。ＵＲＬ９１で特定されるＷｅｂページは、外部サーバー２００に記憶されたスキャン指示画面である。
【００５３】
スキャン指示画面は、ＭＦＰ１００に原稿を読み取る指示を入力するためのスキャン指示ボタンを含む。スキャン指示ボタンは、外部サーバー２００に、スキャン指示の操作が受け付けられたことを通知するＣＧＩコマンドと、次画面の送信を要求する送信リクエストコマンドとが関連付けられている。ブラウジング部３１は、スキャン指示ボタンが指示されると、スキャン指示ボタンに関連付けられたＣＧＩコマンドをネットワークＩ／Ｆ１１７を介して外部サーバー２００に送信した後に、次画面要求をネットワークＩ／Ｆ１１７を介して外部サーバー２００に送信する。
【００５４】
外部サーバー２００は、ＭＦＰ１００からスキャン指示ボタンに関連付けられたＣＧＩコマンドを受信すると、ＭＦＰ１００にスキャン指示コマンドを返信するとともに、外部画面および画面情報をＭＦＰ１００に送信する。外部画面および画面情報については後述する。スキャン指示コマンドは、ＭＦＰ１００のＡＰＩで記述され、ＭＦＰ１００にスキャンを実行させるためのＡＰＩコマンドを含む。
【００５５】
スキャン制御部５５は、ネットワークＩ／Ｆ１１７が外部サーバー２００からスキャン指示コマンドを受信すると、スキャン指示コマンドを受け付ける。スキャン制御部５５は、スキャン指示コマンドを受け付けると、画像読取部２２を制御して、画像読取部２２に原稿を読み取らせ、画像読取部２２が出力する画像データを取得する。スキャン制御部５５は、取得された画像データをＨＤＤ１１４に記憶する。これにより、ＨＤＤ１１４に画像データ９２が記憶される。さらに。スキャン制御部５５は、ＨＤＤ１１４に記憶された画像データ９２をプレビュー画像生成部５７に出力するとともに、ＨＤＤ１１４に記憶された画像データ９２のネットワークアドレス（ＵＲＬ）を第１位置情報通知部６５に出力する。
【００５６】
プレビュー画像生成部５７は、ＨＤＤ１１４に記憶された画像データ９２からプレビュー画像を生成する。プレビュー画像は、後述する内部画面に含まれる画像であって、後述する内部画面によってサイズが定まる。このため、プレビュー画像生成部５７は、内部画面により定められるサイズに、画像データ９２を縮小し、縮小した画像データをプレビュー画像とし、ＨＤＤ１１４に記憶する。これによりＨＤＤ１１４にプレビュー画像９３が記憶される。プレビュー画像生成部５７は、ＨＤＤ１１４に記憶されたプレビュー画像９３のファイル名を、内部画面生成部５９に出力する。
【００５７】
内部画面生成部５９は、外部サーバー２００からスキャン指示コマンドとともに受信される画面情報に基づいて、内部画面を生成する。画面情報は、ＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）等のスタイルシートであり、内部画面のサイズ、文字のフォントサイズ、背景の色、ボタンの色等を定める情報である。内部画面は、マークアップ言語で記述され、プレビュー画像９３のＵＲＬと、プレビュー画像に対する画像処理を指示するボタンとを含む。画像処理を指示するボタンは、ＣＧＩコマンドと関連付けられている。ＣＧＩコマンドは、内部サーバー部４１が実行するＣＧＩコマンドであり、ＭＦＰ１００のＡＰＩコマンドである。ここでは、内部画面が、プレビュー画像を回転させる画像処理、プレビュー画像を縮小する画像処理およびプレビュー画像を拡大する画像処理を指示するＡＰＩコマンドとそれぞれ関連付けられた３つのボタンを含む場合を例に説明する。
【００５８】
内部画面生成部５９は、生成された内部画面をＨＤＤ１１４に記憶する。これにより、ＨＤＤ１１４に内部画面９４が記憶される。また、内部画面生成部５９は、ＨＤＤ１１４に記憶された内部画面９４のファイル名を統合画面生成部６１に出力する。
【００５９】
外部画面受信部６３は、ネットワークＩ／Ｆ１１７が、外部サーバー２００からスキャン指示コマンドとともに送信される外部画面を受信すると、外部画面を取得する。外部画面は、マークアップ言語で記述され、外部サーバー２００が提供するデータ処理サービスの実行を指示するボタンを含む。データ処理サービスの実行を指示するボタンは、外部サーバー２００のＣＧＩコマンドと関連付けられている。外部画面受信部６３は、取得された外部画面をＨＤＤ１１４に記憶する。これにより、ＨＤＤ１１４に外部画面９６が記憶される。また、外部画面受信部６３は、ＨＤＤ１１４に記憶された外部画面のファイル名を統合画面生成部６１に出力する。
【００６０】
統合画面生成部６１は、内部画面生成部５９から内部画面のファイル名が入力され、外部画面受信部６３から外部画面のファイル名が入力される。統合画面生成部６１は、ＨＤＤ１１４に記憶された内部画面９４と、外部画面９６とを読み出し、それらを含む統合画面を生成し、生成された統合画面を、内部サーバー部４１に出力する。内部サーバー部４１は、統合画面が入力されると、統合画面をＷｅｂページとして出力可能な状態でＨＤＤ１１４に記憶する。これにより、ＨＤＤ１１４に統合画面９５が内部サーバー４１が出力可能なＷｅｂページとして記憶される。統合画面生成部６１は、内部サーバー部４１からＨＤＤ１１４に記憶された統合画面９５のネットワークアドレス（ＵＲＬ）を取得し、取得された統合画面９５のネットワークアドレスを第１位置情報通知部６５に出力する。
【００６１】
第１位置情報通知部６５は、スキャン制御部５５から画像データ９２のＵＲＬが入力され、統合画面生成部６１から統合画面９５のＵＲＬが入力される。第１位置情報通知部６５は、画像データ９２のＵＲＬと統合画面９５のＵＲＬとを、ネットワークＩ／Ｆ１１７を介して外部サーバー２００に送信する。
【００６２】
外部サーバー２００は、第１位置情報通知部６５が送信する統合画面９５のＵＲＬを受信すると、次画面要求を送信してきた装置に、統合画面９５のＵＲＬを含むリダイレクト情報を送信する。外部サーバー２００が送信するリダイレクト情報は、ネットワークＩ／Ｆ１１７により受信される。ブラウジング部３１は、ネットワークＩ／Ｆ１１７によりリダイレクト情報が入力されると、リダイレクト情報に含まれるＵＲＬを含む送信リクエストを出力する。ここで、リダイレクト情報に含まれるＵＲＬは、ＨＤＤ１１４に記憶された統合画面９５のＵＲＬである。このため、送信リクエストは、統合画面９５のＵＲＬを含み、内部サーバー部４１に出力される。内部サーバー部４１は、送信リクエストが入力されると、送信リクエストに含まれるＵＲＬで特定される統合画面９５を読出し、ブラウジング部３１に出力する。ブラウジング部３１は、内部サーバー部４１から入力される統合画面９５を表示部１１５に表示する。これにより、表示部１１５に統合画面９５が表示される。統合画面は、内部画面９４と、外部画面９６とを含み、内部画面９４は、内部サーバー部４１に画像処理の実行を指示するボタンを含み、外部画面９６は、外部サーバー２００が提供するデータ処理サービスの実行を指示するボタンを含む。
【００６３】
図７は、第１の実施の形態における統合画面の一例を示す図である。図７を参照して、統合画面９５は、内部画面９４と、外部画面９６と、を含む。内部画面９４は、プレビュー画面を表示する領域３１１と、３つの画像処理を指示するボタン３１３，３１４，３１５と、を含む。ボタン３１３は、プレビュー画像を拡大する画像処理を指示するＣＧＩコマンドが関連付けられており、ボタン３１４は、プレビュー画像を縮小する画像処理を指示するＣＧＩコマンドが関連付けられており、ボタン３１５は、プレビュー画像を回転する画像処理を指示するＣＧＩコマンドが関連付けられている。
【００６４】
外部画面９６は、２つのデータ処理を指示するボタン３２１，３２２を含む。ボタン３２１は、プレビュー画像を色変換するデータ処理を指示するＣＧＩコマンドが関連付けられており、ボタン３２２は、プレビュー画像を輪郭補正するデータ処理を指示するＣＧＩコマンドが関連付けられている。
【００６５】
図６に戻って、ユーザーは、内部画面９４に含まれる画像処理を指示するボタン３１３，３１４，３１５、または、データ処理サービスの実行を指示するボタン３２１，３２２のいずれかを指示することができる。ユーザーが、内部画面９４に含まれる画像処理を指示するボタン３１３，３１４，３１５のいずれかを指示すれば、ブラウジング部３１は、ボタン３１３，３１４，３１５のうち指示されたボタンに関連付けられたＣＧＩコマンドを内部サーバー部４１に出力する。ユーザーが、外部画面９６に含まれるボタン３２１，３２２のいずれかを指示すれば、ブラウジング部３１は、ボタン３２１，３２２のうち指示されたボタンに関連付けられたＣＧＩコマンドを、ネットワークＩ／Ｆ１１７を介して外部サーバー２００に送信する。
【００６６】
＜内部サーバーによる画像処理＞
内部サーバー部４１は、ブラウジング部３１から指示されたボタンに関連付けられたＣＧＩコマンドが入力されると、ＣＧＩコマンドで定まる画像処理を実行する指示を、連携制御部５１に出力する。ここでは、画像処理は、拡大処理、縮小処理および回転処理のいずれかである。
【００６７】
図８は、内部更新制御部の詳細な機能の一例を示す図である。図８を参照して、内部更新制御部７１は、画像処理部７３と、プレビュー画像更新部７５と、を含む。
【００６８】
画像処理部７３は、内部サーバー部４１から画像処理を実行する指示が入力されると、ＨＤＤ１１４に記憶された画像データ９２に対して入力される指示により定まる画像処理を実行し、処理後の画像データ９２で更新する。ここでは、画像処理は、縮小処理、拡大処理、回転処理のいずれかである。画像処理部７３は、画像処理が終了すると、更新指示をプレビュー画像更新部７５に出力する。
【００６９】
プレビュー画像更新部７５は、更新指示が入力されると、ＨＤＤ１１４に記憶されている更新後の画像データ９２からプレビュー画像を生成し、生成されたプレビュー画像でＨＤＤ１１４に記憶されているプレビュー画像９３を更新する。プレビュー画像更新部７５は、プレビュー画像９３を更新すると、更新完了信号を内部サーバー部４１に出力する。内部サーバー部４１は、統合画面９５を読出し、読み出された統合画面９５をブラウジング部３１に出力する。統合画面９５は、内部画面９４内にプレビュー画像９３のＵＲＬを含む。ブラウジング部３１が統合画面９５を表示する時点において、プレビュー画像９３は、内部更新制御部７１によって更新されている。このため、更新後のプレビュー画像９３を含む統合画面９５が表示部１１５に表示される。
【００７０】
＜外部サーバーによるデータ処理＞
外部サーバー２００は、ＭＦＰ１００のブラウジング部３１が送信するＣＧＩコマンドが受信される前に、統合画面９５のＵＲＬとともに画像データ９２のＵＲＬが受信されている。外部サーバー２００は、ＭＦＰ１００のブラウジング部３１が送信するＣＧＩコマンドが受信されると、先に受信されているＵＲＬに基づいてＭＦＰ１００から画像データ９２を取得し、取得された画像データにＣＧＩコマンドで特定されるデータ処理を実行する。ここでは、データ処理は、色変換処理または輪郭補正処理である。外部サーバー２００は、ＵＲＬとデータ処理後の画像データとを含みＵＲＬで特定される画像データ９２をデータ処理後の画像データで更新する処理の実行を依頼するコマンドを、ＭＦＰ１００に送信する。また、外部サーバー２００は、画像データ９２の更新が終了すると、更新リクエストをＭＦＰ１００に送信する。
【００７１】
図９は、外部更新制御部の詳細な機能の一例を示す図である。図９を参照して、外部更新制御部８１は、更新リクエスト受信部８３と、更新リクエスト出力部８５と、画像データ更新部８７と、プレビュー画像更新部８９と、を含む。画像データ更新部８７は、外部サーバー２００から画像データ９２のＵＲＬを受信すると、画像データ９２をＨＤＤ１１４から読出し、外部サーバー２００に送信する。画像データ更新部８７は、外部サーバー２００からＵＲＬとデータ処理後の画像データとを受信すると、ＵＲＬで特定される画像データ９２をデータ処理後の画像データで更新する。これにより、ＨＤＤ１１４に記憶されている画像データが、外部サーバー２００によりデータ処理された後の画像データで更新される。画像データ更新部８７は、画像データが更新されると、更新指示をプレビュー画像更新部８９に出力する。
【００７２】
プレビュー画像更新部８９は、更新指示が入力されると、ＨＤＤ１１４に記憶されている更新後の画像データ９２からプレビュー画像を生成し、生成されたプレビュー画像でＨＤＤ１１４に記憶されているプレビュー画像９３を更新する。
【００７３】
更新リクエスト受信部８３は、ネットワークＩ／Ｆ１１７が外部サーバー２００が送信する更新リクエストを受信すると、更新リクエストを取得し、更新リクエスト出力部８５に更新リクエストを出力する。更新リクエスト出力部８５は、更新リクエストが入力されると、ブラウジング部３１に更新リクエストを出力する。
【００７４】
ブラウジング部３１は、更新リクエストが入力されると、内部サーバー部４１に更新リクエストを出力する。内部サーバー部４１は更新リクエストが入力されると、ＨＤＤ１１４から統合画面９５を読出し、読み出された統合画面９５をブラウジング部３１に出力する。統合画面９５は、内部画面９４内にプレビュー画像９３のＵＲＬを含む。ブラウジング部３１が統合画面９５を表示する時点において、プレビュー画像９３は、外部更新制御部８１のプレビュー画像更新部８９によって更新されている。このため、外部サーバー２００によりデータ処理が実行されて更新後のプレビュー画像９３を含む統合画面９５が表示部１１５に表示される。
【００７５】
図１０は、第１の実施の形態におけるブラウジング部、内部サーバー部、連携制御部および外部サーバーそれぞれの処理の流れの関係を示す第１のフローチャートである。図１０を参照して、ユーザーがアプリ連携プログラムを起動すると、ＣＰＵ１１１にアプリ連携プログラムを実行するタスクである連携制御部５１が形成される。連携制御部５１は、ユーザーにより起動されると、スキャン指示画面のＵＲＬ９１をＨＤＤ１１４から読み出す（ステップＳ０１）。そして、読み出されたＵＲＬ９１を引数としてブラウジングプログラムを起動する（ステップＳ０２）。ブラウジングプログラムを起動することによりＣＰＵ１１１にブラウジングプログラムを実行するタスクであるブラウジング部３１が形成される。
【００７６】
ブラウジング部３１は、連携制御部５１から引数として入力されるＵＲＬ９１を含む送信リクエストを、ネットワークＩ／Ｆ１１７を介して外部サーバー２００に送信する（ステップＳ０３）。外部サーバー２００においては、送信リクエストを受信すると、ＵＲＬ９１で特定されるスキャン指示画面を返信する（ステップＳ０４）。ブラウジング部３１は、外部サーバー２００が返信するスキャン指示画面を受信すると、受信されたスキャン指示画面を表示部１１５に表示する（ステップＳ０５）。
【００７７】
ユーザーが、表示部１１５に表示されたスキャン指示画面に含まれるスキャン指示ボタンを指示すれば、スキャン指示を受け付け、スキャン指示ボタンに関連付けられたＣＧＩコマンドをネットワークＩ／Ｆ１１７を介して、外部サーバー２００に送信する（ステップＳ０６）。
【００７８】
外部サーバー２００は、ＭＦＰ１００からスキャン指示ボタンに関連付けられたＣＧＩコマンドを受信すると、ＭＦＰ１００にスキャン指示コマンドを返信する（ステップＳ０７）。スキャン指示コマンドは、ＭＦＰ１００のＡＰＩで記述され、ＭＦＰ１００にスキャンを実行させるためのＡＰＩコマンドである。
【００７９】
そして、外部サーバー２００は、外部画面および画面情報をＭＦＰ１００に送信する（ステップＳ１０）。外部画面は、マークアップ言語で記述され、外部サーバー２００が提供するデータ処理サービスの実行を指示するボタンを含む。データ処理サービスの実行を指示するボタンは、外部サーバー２００のＣＧＩコマンドと関連付けられている。
【００８０】
連携制御部５１は、ネットワークＩ／Ｆ１１７が外部サーバー２００からスキャン指示コマンドを受信すると、画像読取部２２を制御して、画像読取部２２に原稿を読み取らせ、画像読取部２２が出力する画像データを取得する（ステップＳ０８）。そして、取得された画像データをＨＤＤ１１４に記憶する（ステップＳ０９）。これにより、ＨＤＤ１１４に画像データ９２が記憶される。
【００８１】
次に連携制御部５１は、ネットワークＩ／Ｆ１１７が、外部サーバー２００から外部画面と画面情報を受信すると、外部画面をＨＤＤ１１４に記憶する（ステップＳ１１）。そして、ＨＤＤ１１４に記憶された画像データ９２からプレビュー画像を生成し、ＨＤＤ１１４に記憶する（ステップＳ１２）。これによりＨＤＤ１１４にプレビュー画像９３が記憶される。プレビュー画像は、内部画面に含まれる画像であって、ステップＳ１１で受信された画面情報によってサイズが定まる。このため、プレビュー画像生成部５７は、内部画面により定められるサイズに、画像データ９２を縮小し、縮小した画像データをプレビュー画像とし、ＨＤＤ１１４に記憶する。
【００８２】
次のステップＳ１３においては、連携制御部５１は、画面情報に基づいて、内部画面を生成する。そして、生成された内部画面をＨＤＤ１１４に記憶する（ステップＳ１４）。これにより、ＨＤＤ１１４に内部画面９４が記憶される。画面情報は、ＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）等のスタイルシートであり、内部画面のサイズ、文字のフォントサイズ、背景の色、ボタンの色等を定める情報である。内部画面は、マークアップ言語で記述され、プレビュー画像９３のＵＲＬと、プレビュー画像に対する画像処理を指示するボタンとを含む。
【００８３】
次に、連携制御部５１は、ステップＳ１１において記憶された外部画面と、ステップＳ１４において記憶された内部画面とを読み出し、それらを含む統合画面を生成する（ステップＳ１５）。そして、生成された統合画面を内部サーバー部４１に出力する（ステップS１６）。
【００８４】
内部サーバー部４１は、連携制御部５１から受信される統合画面をＨＤＤ１１４にＷｅｂページとして記憶し、統合画面９５のＵＲＬを連携制御部５１に出力する（ステップＳ１７）。そして、連携制御部５１は、内部サーバー部４１から受信される統合画面９５のＵＲＬ１を、ネットワークＩ／Ｆ１１７を介して外部サーバー２００に送信する（ステップＳ１８）。さらに、連携制御部５１は、ＨＤＤ１１４に記憶された画像データ９２のＵＲＬ２をネットワークＩ／Ｆ１１７を介して外部サーバー２００に送信する（ステップＳ２０）。
【００８５】
外部サーバー２００においては、受信される統合画面９５のＵＲＬ１を記憶し（ステップＳ１９）、受信される画像データ９２のＵＲＬ２を記憶する（ステップＳ２１）。そして、ブラウジング部３１が、ステップＳ０６においてスキャン指示のＣＧＩを送信した後に、次画面要求を送信すると、次画面要求を送信してきたブラウジング部３１に、統合画面９５のＵＲＬを含むリダイレクト情報を返信する（ステップＳ２３）。外部サーバー２００が送信するリダイレクト情報は、ブラウジング部３１により受信される。ブラウジング部３１は、ネットワークＩ／Ｆ１１７によりリダイレクト情報が入力されると、リダイレクト情報に含まれるＵＲＬを含む送信リクエストを、内部サーバー部４１に出力する（ステップＳ２４）。ここで、リダイレクト情報に含まれるＵＲＬは、ＨＤＤ１１４に記憶された統合画面９５のＵＲＬである。このため、送信リクエストは、統合画面９５のＵＲＬを含み、内部サーバー部４１に出力される。内部サーバー部４１は、送信リクエストが入力されると、送信リクエストに含まれるＵＲＬで特定される統合画面９５を、ＨＤＤ１１４から読出し（ステップＳ２５）、ブラウジング部３１に出力する（ステップＳ２６）。
【００８６】
ブラウジング部３１は、内部サーバー部４１から入力される統合画面９５を表示部１１５に表示する（ステップＳ２７）。これにより、表示部１１５に統合画面９５が表示される。統合画面は、内部画面９４と、外部画面９６とを含み、内部画面９４は、画像処理を指示するボタンを含み、外部画面９６は、外部サーバー２００が提供するデータ処理サービスの実行を指示するボタンを含む。
【００８７】
図１１は、第１の実施の形態におけるブラウジング部、内部サーバー部、連携制御部および外部サーバーそれぞれの処理の流れの関係を示す第２のフローチャートである。図１１を参照して、ユーザーが、表示部１１５に表示された統合画面９５の外部画面９６に含まれる指示ボタン３２１，３２２のいずれかを指示すれば、指示されたボタンに関連付けられたＣＧＩコマンドをネットワークＩ／Ｆ１１７を介して外部サーバー２００に送信する（ステップＳ３１）。
【００８８】
外部サーバー２００は、ブラウジング部３１からＣＧＩコマンドを受信すると、ＵＲＬ２の画像データの送信をＭＦＰ１００の連携制御部５１に要求する（ステップＳ３２）。連携制御部５１は、ＵＲＬ２を含む送信要求を受信すると、ＵＲＬ２で特定される画像データ９２をＨＤＤ１１４から読出し、返信する（ステップＳ３３）。外部サーバー２００は、画像データを受信すると、ステップＳ３２で受信されたＣＧＩにより特定されるデータ処理を受信された画像データに実行する（ステップＳ３４）。ここでは、データ処理は、色変換処理または輪郭補正処理である。外部サーバー２００は、ＵＲＬとデータ処理後の画像データとを含みＵＲＬで特定される画像データ９２をデータ処理後の画像データで更新する処理の実行を依頼するコマンドを、ＭＦＰ１００に送信し（ステップＳ３５）、更新リクエストをＭＦＰ１００に送信する（ステップＳ３７）。
【００８９】
連携制御部５１は、外部サーバー２００から受信されるＵＲＬで特定される画像データ９２を、データ処理後の画像データ９２で更新する（ステップＳ３６）。そして、外部サーバー２００から受信される更新リクエストを、ブラウジング部３１に転送する（ステップＳ３８）。
【００９０】
ブラウジング部３１は、連携制御部５１から更新リクエストが入力されると、その時点で表示されている統合画面９５を更新する（ステップＳ３９）。具体的には、その時点で表示している統合画面９５を送信してきた内部サーバー部４１に更新リクエストを出力する。内部サーバー部４１は、更新リクエストが入力されると、ＨＤＤ１１４に記憶されている統合画面９５を読出し（ステップＳ４０）、読み出された統合画面９５を、ブラウジング部３１に出力する（ステップＳ４１）。
【００９１】
ブラウジング部３１は、内部サーバー部４１から受信される統合画面９５を表示部１１５に表示する。ブラウジング部３１が統合画面９５を表示する時点において、ＨＤＤ１１４に記憶される画像データ９２は、外部サーバー２００によってデータ処理された後の画像データで更新されているので、プレビュー画像は更新された後の画像データから生成されている。このため、外部サーバー２００によりデータ処理が実行されて更新後のプレビュー画像９３を含む統合画面９５が表示部１１５に表示される。
【００９２】
次に、ユーザーが、表示部１１５に表示された統合画面９５の内部画面９４に含まれる指示ボタン３１３，３１４，３１５のいずれかを指示すれば、ブラウジング部３１は、指示されたボタンに関連付けられたＣＧＩコマンドを内部サーバー部４１に出力する（ステップＳ５１）。
【００９３】
内部サーバー部４１は、ブラウジング部３１から指示されたボタンに関連付けられたＣＧＩコマンドが入力されると、ＣＧＩコマンドで定まる画像処理を実行する指示を、連携制御部５１に出力する（ステップＳ５２）。ここでは、画像処理は、拡大処理、縮小処理および回転処理のいずれかである。
【００９４】
連携制御部５１は、内部サーバー部４１から画像処理を実行する指示が入力されると、ＨＤＤ１１４に記憶された画像データ９２に対して入力される指示により定まる画像処理を実行し（ステップＳ５３）、処理後の画像データ９２で更新する（ステップＳ５４）。ここでは、画像処理は、縮小処理、拡大処理、回転処理のいずれかである。さらに、ＨＤＤ１１４に記憶されている更新後の画像データ９２からプレビュー画像を生成し、生成されたプレビュー画像でＨＤＤ１１４に記憶されているプレビュー画像９３を更新する。そして、連携制御部５１は、更新完了信号を内部サーバー部４１に出力する（ステップＳ５４）。
【００９５】
内部サーバー部４１は、更新完了信号が入力されると、ＨＤＤ１１４から統合画面９５を読出し、読み出された統合画面９５をブラウジング部３１に出力する（ステップＳ５５）。統合画面９５は、内部画面９４内にプレビュー画像９３のＵＲＬを含む。
【００９６】
ブラウジング部３１は、内部サーバー部４１から統合画面９５が入力されると、統合画面を表示部１１５に表示する（ステップＳ５６）。ブラウジング部３１が統合画面９５を表示する時点において、プレビュー画像９３は、ステップＳ５４において連携制御部５１によって更新されている。このため、更新後のプレビュー画像９３を含む統合画面９５が表示部１１５に表示される。
【００９７】
第１の実施の形態におけるアプリ連携システム１は、ＭＦＰ１００において画像読取部２２において原稿を読み取った画像データ９２がＨＤＤ１１４に記憶され、ＨＤＤ１１４に記憶された画像データ９２ＭＦＰ１００または外部サーバー２００において画像処理され、更新される。アプリ連携システム１においては、ユーザーが操作部１１６が備えるスタートキーを指示すれば、処理対象とされている画像データ９２の画像が画像形成部２４により用紙に形成され、画像データ９２の画像が形成された用紙が出力される。なお、アプリ連携システム１に、画像データ９２を出力する機能を付加するようにしてもよい。この場合は、スキャン指示画面と同様に、出力指示画面を外部サーバー２００からＭＦＰ１００に送信するようにして、ＭＦＰ１００に処理を実行させればよい。ここでの出力処理は、画像形成部２４による画像形成、ＨＤＤ１１４に記憶するデータ保存、またはネットワークＩ／Ｆ１１７を介してプレビュー画像を添付した電子メールを送信する電子メール送信、ネットワークＩ／Ｆ１１７を介して他のＭＦＰ１００Ａ〜１００Ｄまたはコンピュータにプレビュー画像を送信するファイル転送等のデータ送信を含む。さらに、ＭＦＰ１００から画像データ９２を、外部サーバー２００に送信するようにして、外部サーバー２００で画像データ９２を出力する処理を実行するようにしても良い。
【００９８】
以上説明したように第１の実施の形態におけるアプリ連携システム１は、外部サーバー２００は、ＭＦＰ１００のブラウジング部３１から次画面の送信を要求する送信リクエストを受信することに応じて、統合画面のネットワークアドレスを含むリダイレクト情報をブラウジング部３１に返信するので（Ｓ２３）、ブラウジング部３１は内部サーバー部４１に統合画面の送信リクエストを送信する（Ｓ２４）。その結果、内部サーバー部４１から統合画面がブラウジング部３１に出力され（Ｓ２６）、ブラウジング部３１により統合画面が表示される（Ｓ２７）。統合画面９５は、内部画面９４と外部画面９６を含み、内部画面９４は、内部サーバー部４１に所定の処理を実行させるためのＣＧＩコマンド（内部制御コマンド）を含み、外部画面９６は所定の処理を外部サーバーに実行させるためのＣＧＩコマンド（サーバー制御コマンド）を含むので、ユーザーは、統合画面９５から内部サーバー部４１と外部サーバー２００とのいずれかに画像データに対して処理の実行を指示することができる。その結果、ユーザーは、ＭＦＰ１００と外部サーバー２００とのいずれに処理させるかを意識することなく、ＭＦＰ１００と外部サーバー２００とのいずれかに画像データに対して処理を実行させることができる。
【００９９】
また、連携制御部５１は、ＨＤＤ１１４に記憶された画像データ９２の位置を示すＵＲＬを送信する第１位置情報通知部６５をさらに含み、外部サーバー２００は、ブラウジング部３１からＣＧＩコマンド（外部制御コマンド）が受信されることに応じて、受信される画像データのＵＲＬで特定される画像データ９２を取得し（Ｓ３２）、画像データ９２に受信されたＣＧＩコマンド（外部制御コマンド）で特定される画像処理を実行し（Ｓ３４）、画像処理後の画像データで、画像データを更新し（Ｓ３５）と、画像データ９２が更新された後に、ブラウジング部３１に更新リクエストを出力する（Ｓ３７）。このため、外部サーバー２００で画像データを処理した後の画像データを、ＭＦＰ１００に表示することができる。
【０１００】
また、内部サーバー部４１にブラウジング部３１からＣＧＩコマンド（内部制御コマンド）が入力されることに応じて、内部画面９４で特定される画像データ９２に受信されたＣＧＩコマンド（内部制御コマンド）で特定される画像処理を実行し（５３）、画像処理された画像データで、画像データを更新する内部更新制御部６３と、内部更新制御部６３により記憶された画像データが更新された後に、更新後の画像データを含む統合画面をブラウジング部３１に返信する（Ｓ５５）。このため、ＭＦＰ１００で画像データ９２を処理した後の画像データを、ＭＦＰ１００に表示することができる。
【０１０１】
さらに、内部画面生成部５９は、外部サーバー２００から画面情報を受信し、画面情報にしたがって内部画面を生成する（Ｓ１３）。このため、内部画面において、文字のサイズ、色、背景の色等の表示態様を、外部画面と同じにすることができ、統合画面９５において、内部画面９４と外部画面９６とを識別困難な統一された画面にすることができる。
【０１０２】
＜第２の実施の形態＞
第１の実施の形態におけるアプリ連携システム１においては、ＭＦＰ１００において統合画面を生成し、ＭＦＰ１００のＨＤＤ１１４に統合画面を記憶するようにした。第２の実施の形態におけるアプリ連携システムにおいては、統合画面を、外部サーバー２００が生成し、外部サーバー２００に記憶するようにした点で、第１の実施の形態におけるアプリ連携システム１と異なる。以下、第２の実施の形態におけるアプリ連携システム１Ａについて、第１の実施の形態におけるアプリ連携システム１と異なる点を主に説明する。
【０１０３】
第２の実施の形態におけるアプリ連携システム１Ａのハードウエア構成は、図１〜図４に示したのと同じである。
【０１０４】
図１２は、第２の実施の形態におけるＭＦＰが備えるＣＰＵ１１１の機能の一例を示す図である。図５に示した機能と異なる点は、連携制御部５１が連携制御部５１Ａに変更された点である。
【０１０５】
図１３は、第２の実施の形態における連携制御部の詳細な機能の一例を、ＨＤＤ１１４に記憶されるデータとともに示す図である。図１３を参照して、第２の実施の形態における連携制御部５１Ａは、図６に示した連携制御部５１と異なる点は、第１位置情報通知部６５および内部画面生成部５９が第２位置情報通知部６５Ａおよび内部画面生成部５９Ａにそれぞれ変更された点、統合画面生成部６１および外部画面受信部６３が削除された点である。さらに、ＨＤＤ１１４には、統合画面９５および外部画面９６は記憶されない。その他の機能は、図６に示した機能と同じなので、ここでは説明を繰り返さない。
【０１０６】
内部画面生成部５９Ａは、外部サーバー２００からスキャン指示コマンドとともに受信される画面情報に基づいて、内部画面を生成する。画面情報は、ＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）等のスタイルシートであり、内部画面のサイズ、文字のフォントサイズ、背景の色、ボタンの色等を定める情報である。内部画面は、マークアップ言語で記述され、プレビュー画像９３のＵＲＬと、プレビュー画像に対する画像処理を指示するボタンとを含む。画像処理を指示するボタンは、ＣＧＩコマンドと関連付けられている。ＣＧＩコマンドは、内部サーバー部４１が実行するＣＧＩコマンドであり、ＭＦＰ１００のＡＰＩコマンドである。ここでは、内部画面が、プレビュー画像を回転させる画像処理、プレビュー画像を縮小する画像処理およびプレビュー画像を拡大する画像処理を指示するＡＰＩコマンドとそれぞれ関連付けられた３つのボタンを含む場合を例に説明する。
【０１０７】
内部画面生成部５９Ａは、生成された内部画面を内部サーバ４１に出力する。内部サーバー部４１は、内部画面生成部５９Ａから入力される内部画面を、ＨＤＤ１１４にＷｅｂページとして記憶し、内部画面９４のＵＲＬを内部画面生成部５９Ａに出力する。これにより、ＨＤＤ１１４に内部画面９４が内部サーバー４１が出力可能なＷｅｂページとして記憶される。また、内部画面生成部５９Ａは、内部サーバー４１から入力される内部画面９４のＵＲＬを第２位置情報通知部６５Ａに出力する。
【０１０８】
第２位置情報通知部６５Ａは、スキャン制御部５５から画像データ９２のＵＲＬが入力され、内部画面生成部５９から内部画面９４のＵＲＬが入力される。第２位置情報通知部６５Ａは、画像データ９２のＵＲＬと内部画面９４のＵＲＬとを、ネットワークＩ／Ｆ１１７を介して外部サーバー２００に送信する。
【０１０９】
図１４は、第２の実施の形態における外部サーバーが備えるＣＰＵが有する機能の一例をＨＤＤに記憶されるデータとともに示すブロック図である。図１４を参照して、外部サーバー２００が備えるＣＰＵ２０１は、位置情報受信部２１１と、統合画面生成部２１３とを含む。ＨＤＤ２０５には、外部画面９６Ａが予め記憶されている。位置情報受信部２１１は、ネットワークＩ／Ｆ２０４がＭＦＰ１００から画像データ９２のＵＲＬと内部画面９４のＵＲＬとを受信すると、それらを受け付ける。位置情報受信部２１１は、受信された画像データ９２のＵＲＬと内部画面９４のＵＲＬとを、統合画面生成部２１３に出力する。
【０１１０】
統合画面生成部２１３は、ＨＤＤ２０５に予め記憶されている外部画面２２１を読み出し、位置情報受信部２１１から入力される内部画面９４のＵＲＬと、外部画面２２１とから統合画面を生成し、統合画面をＨＤＤ２０５に記憶する。統合画面２２３は、外部画面９６Ａと、内部画面９４を表示する領域をインラインフレーム（Ｉフレーム）として含む。このため、統合画面２２３に含まれるＩフレームには、内部画面９４が表示されるように位置情報受信部２１１から入力される内部画面９４のＵＲＬが設定される。
【０１１１】
図１５は、第２の実施の形態における統合画面の一例を示す図である。図１５を参照して、統合画面２２３は、外部画面９６Ａと、内部画面９４を表示するためのＩフレーム９４Ａと、を含む。ここでは、Ｉフレーム９４Ａに、内部画面９４が表示された状態を示している。内部画面９４は、プレビュー画面を表示する領域３１１と、３つの画像処理を指示するボタン３１３，３１４，３１５と、を含むため、Ｉフレーム９４Ａにはそれらが表示される。ボタン３１３は、プレビュー画像を拡大する画像処理を指示するＣＧＩコマンドが関連付けられており、ボタン３１４は、プレビュー画像を縮小する画像処理を指示するＣＧＩコマンドが関連付けられており、ボタン３１５は、プレビュー画像を回転する画像処理を指示するＣＧＩコマンドが関連付けられている。
【０１１２】
外部画面９６Ａは、２つのデータ処理を指示するボタン３２１，３２２を含む。ボタン３２１は、プレビュー画像を色変換するデータ処理を指示するＣＧＩコマンドが関連付けられており、ボタン３２２は、プレビュー画像を輪郭補正するデータ処理を指示するＣＧＩコマンドが関連付けられている。
【０１１３】
図１６は、第２の実施の形態におけるブラウジング部、内部サーバー部、連携制御部および外部サーバーそれぞれの処理の流れの関係を示す第１のフローチャートである。図１６を参照して、図１０に示したフローチャートと異なる点は、ステップＳ１０〜ステップＳ２７の処理が、ステップＳ７１〜ステップＳ８４の処理に変更された点である。ステップＳ０１〜ステップＳ０９までの処理は、図１０に示した処理と同じなので、ここでは説明を繰り返さない。
【０１１４】
外部サーバー２００は、ステップＳ０７において、ＭＦＰ１００にスキャン指示コマンドを返信した後、画面情報をＭＦＰ１００に送信する（ステップＳ７１）。画面情報は、ＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）等のスタイルシートであり、内部画面のサイズ、文字のフォントサイズ、背景の色、ボタンの色等を定める情報である。
【０１１５】
連携制御部５１は、ネットワークＩ／Ｆ１１７が、外部サーバー２００から画面情報を受信すると、ＨＤＤ１１４に記憶された画像データ９２からプレビュー画像を生成し、ＨＤＤ１１４に記憶する（ステップＳ７２）。これによりＨＤＤ１１４にプレビュー画像９３が記憶される。プレビュー画像は、内部画面に含まれる画像であって、外部サーバー２００から受信される画面情報によってサイズが定まる。このため、プレビュー画像生成部５７は、画面情報により定められるサイズに、画像データ９２を縮小し、縮小した画像データをプレビュー画像９３とし、ＨＤＤ１１４に記憶する。
【０１１６】
次のステップＳ７３においては、連携制御部５１は、画面情報に基づいて、内部画面を生成する。そして、生成された内部画面を内部サーバー部４１に出力する（ステップＳ７４）。内部サーバー部４１は、連携制御部５１から受信される内部画面をＨＤＤ１１４にＷｅｂページとして記憶し、内部画面９４のＵＲＬを連携制御部５１に出力する（ステップＳ７５）。これにより、ＨＤＤ１１４に内部画面９４が記憶される。内部画面は、マークアップ言語で記述され、プレビュー画像９３のＵＲＬと、プレビュー画像に対する画像処理を指示するボタンとを含む。
【０１１７】
次に、連携制御部５１は、内部サーバー部４１から入力される内部画面９４のＵＲＬ１を、ネットワークＩ／Ｆ１１７を介して外部サーバー２００に送信する（ステップＳ７６）。さらに、連携制御部５１は、ＨＤＤ１１４に記憶された画像データ９２のＵＲＬ２をネットワークＩ／Ｆ１１７を介して外部サーバー２００に送信する（ステップＳ７８）。
【０１１８】
外部サーバー２００においては、受信される内部画面９４のＵＲＬ１をＩフレームに含む統合画面を生成する（ステップＳ７７）。そして、受信される画像データ９２のＵＲＬ２を記憶する（ステップＳ７９）。さらに、ブラウジング部３１が、ステップＳ０６においてスキャン指示のＣＧＩを送信した後に、次画面要求を送信すると（ステップＳ８０）、次画面要求を送信してきたブラウジング部３１に、ステップＳ７７において生成された統合画面９５を返信する（ステップＳ８１）。外部サーバー２００が送信する統合画面は、ＵＲＬ１で特定される内部画面を表示するためのＩフレームを含むので、ブラウジング部３１は、ＵＲＬ１を含む送信リクエストを内部サーバー部４１に出力する（ステップＳ８２）。
【０１１９】
内部サーバー部４１は、ＵＲＬ１を含む送信リクエストを受信すると、ＵＲＬ１で特定される内部画面９４をＨＤＤ１１４から読み出し（ステップＳ８３）、読み出された内部画面９４をブラウジング部３１に出力する（ステップＳ８４）。ブラウジング部３１は、内部サーバー部４１から内部画面９４が入力されると、ステップＳ８１において外部サーバー２００から受信される統合画面９５を表示部１１５に表示するとともに、統合画面９５のＩフレーム部分に内部画面９４を表示する（ステップＳ８５）。これにより、表示部１１５に内部画面９４を含む統合画面９５が表示される。統合画面９５は、内部画面９４と、外部画面９６とを含み、内部画面９４は、プレビュー画像と画像処理を指示するボタンとを含み、外部画面９６は、外部サーバー２００が提供するデータ処理サービスの実行を指示するボタンを含む。
【０１２０】
図１７は、第２の実施の形態におけるブラウジング部、内部サーバー部、連携制御部および外部サーバーそれぞれの処理の流れの関係を示す第２のフローチャートである。図１７を参照して、図１１に示したフローチャートと異なる点は、ステップＳ４０〜ステップＳ４２、ステップＳ５５およびステップＳ５６が、ステップＳ４０Ａ〜ステップＳ４２Ａ、ステップＳ５５ＡおよびステップＳ５６Ａにそれぞれ変更された点である。その他の処理は、図１１に示した処理と同じなので、ここでは説明を繰り返さない。
【０１２１】
内部サーバー部４１は、ステップＳ４０Ａにおいて、ブラウジング部３１から更新リクエストを受信すると、内部画面９４をＨＤＤ１１４から読み出す。そして、読み出された内部画面９４をブラウジング部３１に返信する（ステップＳ４１Ａ）。
【０１２２】
ブラウジング部３１は、内部サーバー部４１から受信される内部画面９４で、表示部１１５に表示されている統合画面９５のＩフレーム９４Ａを更新する（ステップＳ４２Ａ）。ブラウジング部３１が内部画面９４を統合画面９５のＩフレーム９４Ａに表示する時点において、ＨＤＤ１１４に記憶される画像データ９２は、外部サーバー２００によってデータ処理がされた後の画像データで更新されているので、プレビュー画像９３は更新された後の画像データから生成されている。このため、外部サーバー２００によりデータ処理が実行されて更新後のプレビュー画像９３を含む統合画面９５が表示部１１５に表示される。
【０１２３】
次に、ユーザーが、表示部１１５に表示された統合画面９５の内部画面９４に含まれる指示ボタン３１３，３１４，３１５のいずれかを指示すれば、ブラウジング部３１は、指示されたボタンに関連付けられたＣＧＩコマンドを内部サーバー部４１に出力する（ステップＳ５１）。
【０１２４】
内部サーバー部４１は、ブラウジング部３１から指示されたボタンに関連付けられたＣＧＩコマンドが入力されると、ＣＧＩコマンドで定まる画像処理を実行する指示を、連携制御部５１に出力する（ステップＳ５２）。ここでは、画像処理は、拡大処理、縮小処理および回転処理のいずれかである。
【０１２５】
連携制御部５１は、内部サーバー部４１から画像処理を実行する指示が入力されると、ＨＤＤ１１４に記憶された画像データ９２に対して入力される指示により定まる画像処理を実行し（ステップＳ５３）、処理後の画像データ９２で更新する（ステップＳ５４）。さらに、ＨＤＤ１１４に記憶されている更新後の画像データ９２からプレビュー画像を生成し、生成されたプレビュー画像でＨＤＤ１１４に記憶されているプレビュー画像９３を更新する。そして、連携制御部５１は、更新完了信号を内部サーバー部４１に出力する（ステップＳ５４）。
【０１２６】
内部サーバー部４１は、更新完了信号が入力されると、ＨＤＤ１１４から内部画面９４を読出し、読み出された内部画面９４をブラウジング部３１に出力する（ステップＳ５５Ａ）。
【０１２７】
ブラウジング部３１は、内部サーバー部４１から内部画面９４が入力されると、表示部１１５に表示されている統合画面９５のＩフレーム９４Ａを、入力される内部画面９４で更新する（ステップＳ５６Ａ）。ブラウジング部３１が統合画面９５を更新する時点において、プレビュー画像９３は、連携制御部５１によって更新されている。このため、更新後のプレビュー画像９３を含む統合画面９５が表示部１１５に表示される。
【０１２８】
第２の実施の形態におけるアプリ連携システム１Ａは、外部サーバー２００は、ＭＦＰ１００のブラウジング部３１から次画面の送信を要求する送信リクエストを受信することに応じて、統合画面をブラウジング部３１に返信するので（Ｓ８１）、ブラウジング部３１は統合画面８５を表示する。統合画面８１は、Ｉフレーム９４Ａ（部分表示領域）に内部画面９４を表示するために、内部画面９４のＵＲＬを含む送信リクエストを送信するコマンドが記述されているので、ブラウジング部３１は、内部サーバー部４１に内部画面の送信リクエストを送信し（Ｓ８２）、内部サーバー部４１から受信される内部画面９４をｉフレーム９４Ａに表示する。統合画面９５は、内部画面９４と外部画面９６を含み、内部画面９４は、内部サーバー部４１に所定の処理を実行させるためのＣＧＩコマンド（内部制御コマンド）を含み、外部画面９６は所定の処理を外部サーバー２００に実行させるためのＣＧＩコマンド（サーバー制御コマンド）を含むので、ユーザーは、統合画面９５から内部サーバー部４１と外部サーバー２００とのいずれかに処理の実行を指示することができる。その結果、ユーザーは、ＭＦＰ１００と外部サーバー２００とのいずれに処理させるかを意識することなく、ＭＦＰ１００と外部サーバー２００とのいずれかに処理を実行させることができる。
【０１２９】
なお、上述した第１および第２の実施の形態においては、外部サーバー２００においてデータ処理を実行する際に、ＭＦＰ１００に記憶された画像データ９２を処理対象としたが、プレビュー画像９３を処理対象とするようにしてもよい。この場合、プレビュー画像生成部５７が、プレビュー画像９３でＨＤＤ１１４に記憶された画像データ９２を更新するようにし、画像データ９２に代えてプレビュー画像９３を処理対象とすればよい。プレビュー画像９３は、画像データ９２を縮小した画像なので、画像データ９２に比較してデータ量が小さい。このため、外部サーバー２００がプレビュー画像を処理するためにネットワーク３を介してプレビュー画像９３が送受信される（ステップＳ３４、Ｓ３５）が、プレビュー画像のデータ量が小さいため、ネットワーク３の負荷を少なくすることができる。この場合には、連携制御部５１において実行される画像処理（ステップＳ５３）の対象となるデータは、ブレビュー画像９３であり、アプリ連携システムによって処理された後に、出力の対象となるデータも、プレビュー画像９３である。
【０１３０】
また、上述した実施の形態においてはアプリ連携システム１，１Ａについて説明したが、図１１、図１２、図１６、図１７に示した処理をコンピュータに実行させるためのアプリ連携方法またはアプリ連携プログラムとして発明を捉えることができるのは言うまでもない。
【０１３１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１３２】
１，１Ａ  アプリ連携システム、３  ネットワーク、５  インターネット、１１  操作パネル、２１  ＡＤＦ、２２  画像読取部、２３  画像処理部、２４  画像形成部、２５  給紙部、２６  後処理部、２７  ファクシミリ部、３１  ブラウジング部、４１  内部サーバー部、５１，５１Ａ  連携制御部、５３  起動部、５５  スキャン制御部、５７  プレビュー画像生成部、５９  内部画面生成部、６１  統合画面生成部、６３  外部画面受信部、６５，６５Ａ  位置情報通知部、７１  内部更新制御部、７３  画像処理部、７５  プレビュー画像更新部、８１  外部更新制御部、８３  更新リクエスト受信部、８５  更新リクエスト出力部、８７  画像データ更新部、８９  プレビュー画像更新部、９１  ＵＲＬ、９２  画像データ、９３  プレビュー画像、９４  内部画面、９４Ａ  Ｉフレーム、９５  統合画面、９６，９６Ａ  外部画面、１００，１００Ａ〜１００Ｄ  ＭＦＰ、１０１  情報処理部、１１１  ＣＰＵ、１１２  ＲＯＭ、１１３  ＲＯＭ、１１４  ＨＤＤ、１１５  表示部、１１６  操作部、１１７  ネットワークＩ／Ｆ、１１８  外部記憶装置、１１９  ＣＤ−ＲＯＭ、２００  外部サーバー、２０１  ＣＰＵ、２０２  ＲＯＭ、２０３  ＲＡＭ、２０４  ネットワークＩ／Ｆ、２０５  ＨＤＤ、２０６  表示部、２０７  操作部、２０８  外部記憶装置、２１１  位置情報受信部、２１３  統合画面生成部、２２３  統合画面。
【図１】
0005500128.tif 000002
【図２】
0005500128.tif 000003
【図３】
0005500128.tif 000004
【図４】
0005500128.tif 000005
【図５】
0005500128.tif 000006
【図６】
0005500128.tif 000007
【図７】
0005500128.tif 000008
【図８】
0005500128.tif 000009
【図９】
0005500128.tif 000010
【図１０】
0005500128.tif 000011
【図１１】
0005500128.tif 000012
【図１２】
0005500128.tif 000013
【図１３】
0005500128.tif 000014
【図１４】
0005500128.tif 000015
【図１５】
0005500128.tif 000016
【図１６】
0005500128.tif 000017
【図１７】
0005500128.tif 000018