(57)【特許請求の範囲】
【請求項１】
クライアント装置、およびサービス提供装置と通信可能な画像形成装置であって、
前記画像形成装置と連携することでユーザにサービスを提供する前記サービス提供装置から、前記サービスを実現するために必要な前記画像形成装置の機能の情報を受信する受信手段と、
前記受信手段により受信された情報が示す前記画像形成装置の機能を実現可能か否かを判断する判断手段と、
前記判断手段により前記画像形成装置の機能が実現不可能であると判断された場合は、前記サービスを前記ユーザへ提供できないことを示す画面情報を生成する生成手段と、
前記生成手段により生成された画面情報を前記クライアント装置へ送信する送信手段とを有する画像形成装置。
【請求項２】
前記判断手段は、前記クライアント装置を介してユーザから前記画像形成装置にアクセスがあった場合に、前記画像形成装置の機能を実現可能か否かを判断することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記サービス提供装置は前記サービスを実現するために所定のプログラムを実行する場合であって、
前記受信手段は、前記サービス提供装置から前記所定のプログラムを実行できる権利を有しているユーザに関する情報である権限情報を受信し、
前記判断手段は、前記ユーザが前記所定のプログラムを実行できる権利を有しているか否かを前記権限情報を基に判断し、
前記生成手段は、前記判断手段により前記画像形成装置の機能が実現不可能であると判断された場合、または前記ユーザは前記所定のプログラムを実行できる権利を有していないと判断された場合は、前記サービスを前記ユーザへ提供できない旨、および前記サービスを前記ユーザへ提供できない理由の両方を示す画面情報を生成し、
前記判断手段により前記画像形成装置の機能が実現可能であると判断された場合であって、かつ前記ユーザは前記所定のプログラムを実行できる権利を有していると判断された場合は、前記サービスを前記ユーザへ提供できることを示す画面情報を生成することを特徴とする請求項１または２に記載の画像形成装置。
【請求項４】
請求項１乃至３のいずれか１項に記載の画像形成装置と、該画像形成装置と連携することでユーザにサービスを提供するサービス提供装置と、クライアント装置とから構成されるデバイス連携システムであって、
前記画像形成装置の前記送信手段は、
前記画面情報に基づいて前記クライアント装置により表示された画面を介して、前記サービスを受けることを前記ユーザから指示された場合、前記画像形成装置の能力に関する情報である能力情報を前記サービス提供装置へ送信し、前記サービス提供装置へアクセスする指示を前記クライアント装置へ送信し、
前記クライアント装置は、
前記送信手段により送信された前記サービス提供装置へアクセスする指示を受信した場合、前記サービス提供装置へアクセスするアクセス手段を有し、
前記サービス提供装置は、
前記送信手段により送信された能力情報を基に、前記サービスを実現するために実行する所定のプログラムに対して設定を行うための設定画面を生成する画面生成手段と、
前記アクセス手段により前記クライアント装置からアクセスがあった場合に、前記画面生成手段により生成された設定画面を送信する画面送信手段とを有し、
前記クライアント装置は、前記画面送信手段により送信された設定画面を介してユーザが行った設定に関する設定情報を前記サービス提供装置へ送信し、設定情報を受信した前記サービス提供装置はユーザが行った設定を基に前記所定のプログラムを実行することを特徴とするデバイス連携システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、デバイス連携システム、サービス提供方、およびそのプログラムに関する。
【背景技術】
【０００２】
昨今迄、企業における業務効率向上を目的として、各部門、または全社において各種アプリケーション、システム、及びサービスなどオンプレミス型のアプリケーションが導入されてきた。具体的には、ＥＲＰ（Ｅｎｔｅｒｐｒｉｓｅ  Ｒｅｓｏｕｒｃｅ  Ｐｌａｎｎｉｎｇ）が挙げられる。また、その他に、ＳＣＭ（Ｓｕｐｐｌｙ  Ｃｈａｉｎ  Ｍａｎａｇｅｍｅｎｔ）、ＣＲＭ（Ｃｕｓｔｏｍｅｒ  Ｒｅｌａｔｉｏｎｓｈｉｐ  Ｍａｎａｇｅｍｅｎｔ）、文書管理アプリケーションなども挙げられる。
【０００３】
一方で、近年では、社内に設置したサーバやアプリケーションの管理／維持コストを削減するため次のような技術が注目されている。その技術とは、インターネット上のサーバコンピュータにて動作する各種アプリケーションを利用できるクラウドコンピューティングシステムやＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）である。
【０００４】
ここで、クラウドを利用することで各種アプリケーションはインターネット上に配置することができる。しかし、紙媒体をスキャンして電子化し、また、電子データを印刷する際に用いるプリンタ、デジタル複合機（総称して、画像形成装置とする）は、社内（イントラネット）に設置せざるを得ない。イントラネット内に画像形成装置、及びアプリケーションが存在する場合に比べ、アプリケーションがインターネット上に存在する場合、両者を密に連携させるためにはファイアーウォールなどセキュリティを考慮した方法が必要となる。
【０００５】
それを解決するための従来例として、クライアント装置のＷｅｂブラウザにプラグインをインストールすることで、プラグインがプリンタドライバを介してプリンタの情報を取得し、印刷設定条件を生成する情報処理方法が提案されている（特許文献１を参照）。
【０００６】
従来例においては、プラグインが生成した印刷設定条件を表示することで、アプリケーションの負荷も軽減できる。また、アプリケーションが画像形成装置と通信することが無いため、アプリケーションがインターネット上にあってもプリンタと連携することが可能となる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−１１０１７４
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来技術であるブラウザにインストールされたプラグインは、一旦インターネット上のサーバ装置にアクセスし、その後で画像形成装置の情報を取得する。そのため、アプリケーションにアクセスした後で画像形成装置が利用可能か否かを確認することになる。
【０００９】
これには、次のような無駄がある。例えば、ユーザは画像形成装置に印刷を行わせるために、インターネット上にあるアプリケーションを用いて印刷データを生成し、生成した印刷データを画像形成装置に印刷させようとする。そのために、ユーザはインターネット上のアプリケーションにアクセスするだろう。しかし、このときに、画像形成装置の印刷機能がエラーにより使用できない状況だった場合は、ユーザは望むサービスを受けることができないことをインターネット上にあるアプリケーションにアクセスした後で知ることになる。結果として、ユーザはインターネット上にあるアプリケーションに無駄なアクセスをしたということになる。
【００１０】
このインターネット上のアプリケーションがクラウドとして提供された場合、クラウドは従量制である可能性が高いため、クラウド資源を利用すればするほど、ユーザはクラウドベンダーからの使用料金を要求されることになる。このため、クラウド資源を無駄に利用すること、つまり、不要なアクセス、通信データ量、及びストレージ使用量などを抑え、無駄な費用が発生する。
【００１１】
本発明の目的は、上述の課題を解決することを目的とする画像形成装置、デバイス連携システム、サービス提供方法、およびそのプログラムを提供することである。
【課題を解決するための手段】
【００１２】
本発明の一実施系に係る発明は、クライアント装置、およびサービス提供装置と通信可能な画像形成装置であって、前記画像形成装置と連携することでユーザにサービスを提供する前記サービス提供装置から、前記サービスを実現するために必要な前記画像形成装置の機能の情報を受信する受信手段と、前記受信手段により受信された情報が示す前記画像形成装置の機能を実現可能か否かを判断する判断手段と、前記判断手段により前記画像形成装置の機能が実現不可能であると判断された場合は、前記サービスを前記ユーザへ提供できないことを示す画面情報を生成する生成手段と、前記生成手段により生成された画面情報を前記クライアント装置へ送信することを特徴とする。
【発明の効果】
【００１３】
本発明により、サーバプリケーションに不要にアクセスすることなく、画像形成装置の状態に応じて、サーバプリケーション側が提供するサービスを利用可能か否かの確認ができる。
【図面の簡単な説明】
【００１４】
【図１】実施例１に係るデバイス連携システムのシステム概念図である。
【図２】（ａ）は実施例１に係るデバイス連携システムのＣｌｉｅｎｔ  ＰＣ１０のハードウェア構成図である。（ｂ）は実施例１に係るデバイス連携システムのデジタル複合機２０のハードウェア構成図である。
【図３】実施例１に係るデバイス連携システムの一例を示すソフトウェア構成図である。
【図４】（ａ）は実施例１に係るデバイス連携システムにおいて、管理者ユーザがデジタル複合機２０にログインした際にＣｌｉｅｎｔ  ＰＣ１０のブラウザ上に表示されるデバイスアプリケーション３１のユーザインターフェースの一例である。（ｂ）は本発明の第２の実施形態に係るデバイス連携システムにおいて、一般ユーザがデジタル複合機２０にログインした際にＣｌｉｅｎｔ  ＰＣ１０のブラウザ上に表示されるデバイスアプリケーション３１のユーザインターフェースの一例である。
【図５】実施例１に係るデバイス連携システムにおいて、ユーザがＣｌｉｅｎｔ  ＰＣ１０からデバイスアプリケーション２３にアクセスした際のＵＩ表示処理の流れの概要を示すフローチャートである。
【図６】実施例１に係るデバイス連携システムのデバイスアプリケーション３１のトップ画面生成処理の流れを示すフローチャートである。
【図７】実施例１に係るデバイス連携システムにおいて、デバイスアプリケーション２３がサーバプリケーション３１から取得する定義ファイルの一例である。
【図８】実施例１に係るデバイス連携システムにおいて、管理者ユーザがデバイスアプリケーション２３にサーバプリケーション３１を登録する処理の流れを示すフローチャートである。
【図９】実施例１に係るデバイス連携システムにおいて、ユーザがサーバプリケーション３１にアクセスする処理の流れを示すフローチャートである。
【図１０】実施例１に係るデバイス連携システムのデジタル複合機２０の情報をサーバプリケーション３１に送信する処理の流れを示すフローチャートである。
【図１１】実施例１に係るデバイス連携システムのサーバプリケーション３１のＵＩ生成処理の流れを示すフローチャートである。
【図１２】実施例１に係るデバイス連携システムにおいて、ユーザがサーバプリケーション３１にアクセスした際にＣｌｉｅｎｔ  ＰＣ１０のブラウザ１１０上に表示されるユーザインターフェースの一例である。
【図１３】本発明の第２の実施形態に係るデバイス連携システムにおいて、ユーザがサーバプリケーション３１にアクセスする処理の流れを示すフローチャートである。
【図１４】本発明の第２の実施形態に係るデバイス連携システムのデジタル複合機２０の情報をサーバプリケーション３１に送信する処理の流れを示すフローチャートである。
【図１５】本発明の第２の実施形態に係るデバイス連携システムにおいて、ユーザがサーバプリケーション３１にアクセスした際にＣｌｉｅｎｔ  ＰＣ１０のブラウザ１１０上に表示されるユーザインターフェースの一例である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例１】
【００１６】
本発明の実施例１を図１乃至図１２に基づき説明する。
【００１７】
始めに、システム構成について、図１を用いて説明する。図１は、本実施例に係るデバイス連携システムのシステム概念図である。本実施例のデバイス連携システムは、コピー、プリント、スキャナ、ファックス機能を有する画像形成装置２０（以下、デジタル複合機２０と称する）と、サービス提供装置３０（以下、サーバコンピュータ３０と称する）により構成される。また、実施例１では、ユーザＡがブラウザを介してアクセスするクライアント装置（以下、Ｃｌｉｅｎｔ  ＰＣ１０と称する）もデバイス連携システムに含まれる。Ｃｌｉｅｎｔ  ＰＣ１０とデジタル複合機２０はネットワークを介して接続されており、Ｃｌｉｅｎｔ  ＰＣ１０、及びデジタル複合機２０は、インターネットを介してサーバコンピュータ３０と接続されている。よって、Ｃｌｉｅｎｔ  ＰＣ１０、デジタル複合機２０、サーバコンピュータ３０は相互に通信可能である。
【００１８】
ここで、デジタル複合機２０には、デジタル複合機２０でのユーザ管理を行うログインアプリケーション２１、及びユーザの権限を管理する権限管理アプリケーション２２、及びデジタル複合機２０が存在する。また、後述するサーバプリケーション３１と連携するデバイスアプリケーション２３も存在する。
【００１９】
なお、本実施例に係るデバイス制御システムは、画像形成装置としてデジタル複合機２０を用いた場合について説明を行うが、プリンタ、またはコンシューマスキャナなどの装置であっても構わない。
【００２０】
サーバコンピュータ３０には、デジタル複合機２０と連携するサーバプリケーション３１が存在する。サーバコンピュータ３０は、デジタル複合機２０と連携することで、ユーザにサービスを提供することができる。本実施例に係るデバイス制御システムは、サーバプリケーション３１として、文書管理機能を有するサーバプリケーションとして説明を行うが、その機能を限定するものではない。なお、サーバコンピュータ３０が提供するサービスとして、プリントサービス、スキャンサービス、ＦＡＸサービス等が挙げられる。例えば、プリントサービスの場合、サーバコンピュータ３０は、ドキュメントをプリンタが印刷できる形式に変換する処理を行う。具体的には、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）等に変換する。また、デジタル複合機２０は、印刷できる形式に変換されたドキュメントを受信し、印刷を行う。このように、サーバコンピュータ３０とデジタル複合機２０は連携してユーザにサービスを提供する。
【００２１】
次に、ハードウェア構成について、図２を用いて詳細に説明する。図２（ａ）は、本実施例に係るデバイス連携システムを構成するＰＣのハードウェア構成図を示している。図２（ａ）に示されるハードウェア構成図は一般的な情報処理装置のハードウェア構成図に相当するものとし、本実施例のＰＣには一般的な情報処理装置のハードウェア構成を適用できる。
【００２２】
図２（ａ）において、ＣＰＵ１００は、ＲＯＭ１０２のプログラム用ＲＯＭに記憶された、或いはハードディスク１０９からＲＡＭ１０１にロードされたＯＳやアプリケーション等のプログラムを実行する。ここでＯＳとはコンピュータ上で稼動するオペレーティングシステムの略語であり、以下オペレーティングシステムのことをＯＳと呼ぶ。後述する各フローチャートの処理はこのプログラムの実行により実現できる。ＲＡＭ１０１は、ＣＰＵ１００の主メモリ、ワークエリア等として機能する。キーボードコントローラ１０３は、キーボード１０７や図示しないポインティングデバイスからのキー入力を制御する。ディスプレイコントローラ１０４は、各種ディスプレイ１０８の表示を制御する。ディスクコントローラ１０５は、各種データを記憶するハードディスク（ＨＤ）１０９やフロッピー（登録商標）ディスク（ＦＤ）等におけるデータアクセスを制御する。ＮＣ１０６はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。図２（ｂ）は、本発明の実施例のデジタル複合機２０の構成を階層的に示す図である。図２（ｂ）において、２００は画像形成部で、紙のハンドリングや画像転写・定着等の一連の画像形成プロセスを実行して、記録紙などの記録媒体上に画像を形成する。この画像形成部２００は、例えばインクジェットプリンタや電子写真方式の画像形成するためのユニットを備えている。２０１はスキャナ等を備える画像読み取り部である。原稿画像を光学的に読み取ってデジタル画像情報に変換し、そのデジタル画像情報を画像形成部２００に出力して画像を形成し、或はファクス部２０３やネットワークインタフェース部２０６等に渡して回線を介して伝送する。
【００２３】
２０２はデジタル複合機制御部で、画像形成部２００と画像読み取り部２０１のそれぞれの動作を制御し、例えば画像読取り部２０１で読み取った原稿情報を画像形成部２００で複写するように制御する。また、デジタル複合機制御部２０２は、ネットワークインタフェース２０６、プリント処理部２０５、ファクス部２０３、操作部制御部２０４等のユニットを有し、これら各部の間での情報をやり取りをも制御する。ファクス部２０３は、ファクシミリ画像の送受信、即ち、画像読取り部２０１で読み取ったデジタル画像情報を送信し、また、受信したファクシミリ信号を復号して画像形成部２００で記録する等の処理を実行することができる。操作部制御部２０４は、操作部の操作パネルを使用したユーザの操作に応じた信号を発生し、また操作ユニット、表示ユニット等に各種データやメッセージなどを表示するような制御を行う。プリント処理部２０５は、例えばネットワークインタフェース２０６を介して入力した印刷データを処理して画像形成部２００に出力して印刷する等の制御を行う。ネットワークインタフェース部２０６は、通信回線を介して他の通信端末との間のデータの送受信を制御するものである。
【００２４】
外部記憶装置制御部２０７は画像読み取り部２０１で読み取った画像を画像形成部２００で外部記憶装置に保存可能なデータフォーマットに変換し、外部記憶装置へと保存可能である。また、保存したデータを読み出し、画像形成部２００を介して印刷処理を行ったり、ネットワークインタフェース２０６を介して外部にネットワーク送信したりすることが可能である。
【００２５】
また、アプリケーションマネージャ２０８では、コピー、スキャン、スキャン送信などのアプリケーションを管理する。それぞれのアプリケーションの起動、終了、インストール、アンインストールの受け付けや、デジタル複合機制御部２０２から発生した機器の情報を受信して各アプリケーションの制御を行う。ログインアプリケーション２１、権限管理アプリケーション２２、およびデバイスアプリケーション２３も、アプリケーションマネージャ２０８により制御される。
【００２６】
次に、ソフトウェア構成について、図３を用いて詳細に説明する。図１は、本発明の実施例に係るデバイス連携システムの一例を示すソフトウェア構成図であり、Ｃｌｉｅｎｔ  ＰＣ１０、デジタル複合機２０、およびサーバコンピュータ３０内のソフトウェア構成を示している。
【００２７】
まず、Ｃｌｉｅｎｔ  ＰＣ１０におけるソフトウェア構成図について説明する。ブラウザ１１０は、ユーザＡの操作に従い、本実施例に係るデジタル複合機２０、またはサーバコンピュータ３０にアクセスし、レスポンスとしてユーザインターフェースを表示する。ここで、ブラウザ１１０は、Ｃｌｉｅｎｔ  ＰＣ１０の外部メモリ１０９に保存されたプログラムファイルとして存在する。ブラウザ１１０は、実行される際にＲＡＭ１０１にロードされた後、ＣＰＵ１００によって実行される。実行されたブラウザ１１０はディスプレイ１０８に表示され、ユーザＡは、キーボード１０７や図示しないポインティングデバイスを用いてブラウザ１１０を操作する。なお、ブラウザ１１０は、Ｉｎｔｅｒｎｅｔ  ＥｘｐｌｏｒｅｒやＦｉｒｅ  Ｆｏｘなど一般的なウェブブラウザで構わない。なお、ブラウザ１１０は画面情報（例えば、ＨＴＭＬファイル）に基づき、画面を表示するものである。
【００２８】
図４（ａ）、及び（ｂ）は、Ｃｌｉｅｎｔ  ＰＣ１０のブラウザ１１０に表示されたデバイスアプリケーション２３のユーザインターフェースの一例であり、図１２は、サーバプリケーション３１のユーザインターフェースの一例である。
【００２９】
次に、デジタル複合機２０におけるソフトウェア構成図について説明する。デバイスデータ送受信部２５０は、ユーザの指示によりＣｌｉｅｎｔ  ＰＣ１０におけるブラウザ１１０からのリクエストをネットワークインタフェース部２０６を介して受信し、処理結果をブラウザ１１０に通知する。また、デバイスデータ送受信部２５０は、デバイスアプリケーション２３の指示に従い、サーバコンピュータ３０の後述するサーバデータ送受信部３００に情報を送信し、サーバプリケーション３１の処理結果を受信する。
【００３０】
機能実行部２５１は、デジタル複合機制御部２０２にあたり、本実施例に係るデジタル複合機２０における機能実行を制御し、各部に対する指示、管理を行う。ログインアプリケーション２１内のユーザ管理部２１０は、機能実行部２５１の指示を受けて、ログイン画面を表示し、ユーザの情報を管理し、また、ユーザの入力に対する認証処理などを行う。
【００３１】
権限管理アプリケーション２２内のユーザ権限管理部２２０は、機能実行部２５１の指示を受け、デジタル複合機２０にログインしているユーザのアクセス制限情報を生成し、管理する。デバイスアプリケーション２３内のデバイスアプリケーション処理制御部２３０は、デバイスアプリケーション２３に対する指示を受け、各処理部の制御を行う。
【００３２】
ＵＩ制御部２３１は、デバイスアプリケーション２３における処理結果を反映したユーザインターフェースを生成する。ここで、ユーザインターフェースとは、ＨＴＭＬやＪａｖａＳｃｒｉｐｔに限定するものではなく、ブラウザ１１０で表示可能であれば、どのような形態であっても構わない。サーバプリケーション情報管理部２３２は、ユーザの指示により、デジタル複合機２０と連携するよう設定されたサーバプリケーション３１から取得した定義情報を管理、保存する。
【００３３】
サーバプリケーション情報解析部２３３は、サーバプリケーション３１から取得した定義情報を解析し、デジタル複合機２０が連携するための情報を抽出する。デバイス情報取得部２３４は、デバイスアプリケーション処理制御部２３０の指示に従い、サーバプリケーション３１と連携するために必要なデジタル複合機２０の情報、および状態を取得する。
【００３４】
ユーザ権限情報取得部２３５は、デバイスアプリケーション処理制御部２３０の指示に従い、サーバプリケーション３１と連携する際に、ユーザの権限に応じて制限されるデジタル複合機２０の情報、および機能を取得する。
【００３５】
次に、サーバコンピュータ３０内に存在するサーバプリケーション３１のソフトウェア構成図について説明する。サーバデータ送受信部３００は、Ｃｌｉｅｎｔ  ＰＣ１０内のブラウザ１１０からのリクエストを受信し、サーバプリケーション３１における処理結果をレスポンスとして返信する。また、同様に、デバイスアプリケーション２３からの指示に従い、デジタル複合機２０の情報を受信し、サーバプリケーション３１における処理結果を返信する。
【００３６】
サーバプリケーション処理制御部３１０は、本実施例に係るサーバプリケーション３１を制御する。具体的には、ブラウザ１１０から、またはデバイスアプリケーション２３からサーバデータ送受信部３００を介してリクエストを受け、後述する各部に対する指示、管理を行う。
【００３７】
ＵＩ制御部３１１は、サーバプリケーション３１における処理結果を反映したユーザインターフェースを生成する。ここで、ユーザインターフェースとは、ＨＴＭＬやＪａｖａＳｃｒｉｐｔに限定するものではなく、ブラウザ１１０で表示可能であれば、どのような形態であっても構わない。
【００３８】
デバイス連携情報管理部３１２は、サーバプリケーション３１がデジタル複合機２０と連携するため必要となる定義情報を保持、管理している。
【００３９】
ここで、図７は、サーバプリケーション３１の定義情報８００の一例であり、ＸＭＬ等のスキーマで宣言されている。定義情報８００は、サーバプリケーション３１の名称、ＵＲＬなどの一般的な情報（８０１）、利用するデジタル複合機２０の機能（８０２）、必要とするデジタル複合機２０の能力情報（８０３）等が宣言されている。図７においては、サーバプリケーション３１が、８０２においてデジタル複合機２０のプリント機能のみを利用することを宣言している。また、サーバプリケーション３１が、８０３においてデジタル複合機２０の能力情報として、プリント機能に関するカラーモード、両面などの情報を必要としていることを宣言している。定義情報８００には、これら以外の情報が含まれていても構わず、例えば、定義情報８００の内容を保証するためのセキュリティ情報（８０４）が含まれていても構わない。
【００４０】
ここで、定義情報８００は、ユーザの指示によりサーバプリケーション３１がデジタル複合機２０と連携するように設定された際、デバイスアプリケーション２３のサーバプリケーション情報管理部２３２に保存される。デバイス連携情報解析部３１３は、デジタル複合機２０と連携するために、デバイスアプリケーション２３が送信したデジタル複合機２０の各種情報を解析し、抽出した情報をＵＩ制御部３１１が利用してＵＩを生成する。
【００４１】
次に、本実施例に係るデバイス連携システムの各ステップにおける処理について、図１乃至図１２を用いて具体的に説明する。
【００４２】
始めに、デバイスアプリケーションへアクセスするための画面を表示する方法について説明する。ユーザＡが、Ｃｌｉｅｎｔ  ＰＣ１０のブラウザ１１０を介して、本実施例に係るデジタル複合機２０のデバイスアプリケーション２３にアクセスし、デジタル複合機２０と連携するサーバプリケーション３１の一覧を表示する。図５は、デバイスアプリケーション２３のＵＩ表示処理の流れの概要を示すフローチャートである。以下、図３、及び図５を用いて説明する。
【００４３】
ステップＳ１０１において、ユーザＡが、ブラウザ１１０にデバイスアプリケーション２３のＵＲＬをブラウザ１１０に入力するなどして、本実施例に係るデジタル複合機２０のデバイスアプリケーション２３へのアクセスを指示する。
【００４４】
続いて、ステップＳ１０２において、Ｓ１０１によりデバイスデータ送受信部２５０がデバイスアプリケーション２３へのリクエストを受信すると、デジタル複合機２０にユーザＡが既にログイン済みであるか否かを確認する。具体的には、デバイスデータ送受信部２５０より通知を受けた機能実行部２５１が、ユーザ管理部２１０にリクエストにＣｏｏｋｉｅなどのセッション情報が含まれているか否かを確認する。なお、デジタル複合機２０にログイン済みか否かを判断する手段は問わない。
【００４５】
続いて、ステップＳ１０３において、Ｓ１０２によりユーザＡがデジタル複合機２０にログインしていないと判断された場合、機能実行部２５１は、デバイスデータ送受信部２５０を介して、ログイン画面の画面情報をブラウザ１１０にレスポンスとして返す。ユーザＡは、ブラウザ１１０に表示されたログイン画面にユーザＡのログイン情報を入力する。
【００４６】
続いて、ステップＳ１０４において、Ｓ１０３によりユーザＡがブラウザ１１０を介してログイン情報を送信してきた場合、機能実行部２５１は、デジタル複合機２０にユーザＡがログイン可能か否かを確認する。具体的には、機能実行部２５１は、ユーザ管理部２１０に受信したログイン情報が示すユーザが存在するか否かを確認する。
【００４７】
続いて、ステップＳ１０７において、Ｓ１０４によりユーザＡのログインが失敗と判断されると、機能実行部２５１は、ログインに失敗した結果を通知するＵＩをブラウザ１１０に表示する。続いて、ステップＳ１０５において、Ｓ１０２、またはＳ１０４によりユーザＡのログイン成功が確認されると、機能実行部２５１は、デバイスアプリケーション処理制御部２３０に指示して、デバイスアプリケーション２３のトップ画面の生成を指示する。デバイスアプリケーション２３のトップ画面生成処理については後述する。
【００４８】
続いて、ステップＳ１０６において、Ｓ１０５によりデバイスアプリケーション２３のトップ画面が生成されると、機能実行部２５１はデバイスデータ送受信部２５０を介して、ブラウザ１１０にトップ画面を表示する。以上が、デバイスアプリケーションへアクセスするための画面を表示する方法についての説明になる。
【００４９】
次に、デバイスアプリケーション２３のトップ画面の画面情報を生成する方法について詳細に説明する。Ｓ１０５において、デジタル複合機２０と連携するサーバプリケーション３１の一覧を表示された本実施例のデバイスアプリケーション２３のトップ画面の画面情報を生成する。図６は、デバイスアプリケーション２３のトップ画面生成処理の流れを示すフローチャートである。以下、３乃至図７を用いて詳細に説明する。
【００５０】
ステップＳ２０１において、デバイスアプリケーション処理制御部２３０は、ユーザ権限情報取得部２３５に指示し、権限管理アプリケーション２２のユーザ権限管理部２２０から、ユーザＡの権限情報を取得する。ここで本実施例においては、ユーザの権限として管理者ユーザと一般ユーザの２種類が存在する場合について説明するが、それ以外の権限グループが存在しても構わない。なお、権限情報からユーザがサーバプリケーション３１を利用できる権利を有しているか否かを判断することが可能である。
【００５１】
続いて、ステップＳ２０２において、デバイスアプリケーション処理制御部２３０は、デジタル複合機２０と連携するよう設定されたサーバプリケーション３１が登録されているか否かを確認する。具体的には、サーバプリケーション情報管理部２３２に、デジタル複合機２０と連携するよう設定されたサーバプリケーション３１から取得した定義情報８００が保存されているかを確認する。
【００５２】
ここで、管理者ユーザにより、デバイスアプリケーション２３にサーバプリケーション３１を登録することで、デジタル複合機２０と連携するように設定できるものとする。さらに、デバイスアプリケーション２３にサーバプリケーション３１を登録することで、サーバプリケーション情報管理部２３２に定義情報８００が保存される。なお、デバイスアプリケーション２３とサーバプリケーション３１を連携させるための手段は、これに限定するものではない。管理者ユーザによるデバイスアプリケーション２３へのサーバプリケーション３１の登録処理については後述する。
【００５３】
続いて、ステップＳ２０３において、Ｓ２０２により登録済みのサーバプリケーション３１が存在すると判定された場合、確認処理を行う。確認処理とは、デバイスアプリケーション処理制御部２３０は登録済みの全サーバプリケーション３１の情報を、サーバプリケーション情報管理部２３２に保存された定義情報８００を基にチェックし終えた否かを確認する処理である。
【００５４】
続いて、ステップＳ２０４において、Ｓ２０３により未チェックのサーバプリケーション３１の情報が残っている場合、取得処理を行う。取得処理とは、デバイスアプリケーション処理制御部２３０はサーバプリケーション情報管理部２３２から未チェックのサーバプリケーション３１の定義情報８００を取得する処理である。より具体的には、サーバプリケーション情報解析部２３３が、取得した定義情報８００にあるサーバプリケーション３１が利用するデジタル複合機２０の機能（８０２）に関する情報（機能情報）を解析する。
【００５５】
続いて、ステップＳ２０５において、デバイスアプリケーション処理制御部２３０は、比較処理を行う。比較処理とは、Ｓ２０１によりユーザ権限情報取得部２３５が取得したユーザの権限情報、及びＳ２０４により取得したサーバプリケーション３１が利用するデジタル複合機２０の機能を比較する処理である。
【００５６】
次に、比較結果より、デバイスアプリケーション処理制御部２３０は、ユーザがサーバプリケーション３１が利用するデジタル複合機２０の機能（印刷、スキャン、送信、ファクスなど）を実行できるか否かを確認する。
【００５７】
続いて、ステップＳ２０６において、デバイスアプリケーション処理制御部２３０は、デバイス情報取得部２３４を介して、デジタル複合機２０の最新の状態（エラー発生状況など）を確認する。次に、デバイスアプリケーション処理制御部２３０は、取得したデジタル２０の最新の状態から、Ｓ２０４により取得したサーバプリケーション３１が利用するデジタル複合機２０の機能の実行を妨げるようなエラーが発生していないか否かを確認する。より具体的には、デバイスアプリケーション処理制御部２３０は、サーバプリケーション３１が利用するデジタル複合機２０の機能が印刷の場合、インク切れ、用紙切れ、紙詰まりなどのエラーが発生していないか否かを確認する。これにより、デジタル複合機２０の各機能が実現可能か否かを判断できる。
【００５８】
続いて、ステップＳ２０７において、Ｓ２０５、またはＳ２０６によりサーバプリケーション３１が利用するデジタル複合機２０の機能が実現不可能と判定されると、デジタル複合機２０は保持処理を行う。Ｓ２０７の保持処理とは、デバイスアプリケーション処理制御部２３０が、実行できない理由と、判定結果の両方を保持する処理である。
【００５９】
続いて、ステップＳ２０８において、Ｓ２０５、及びＳ２０６によりサーバプリケーション３１が利用するデジタル複合機２０の機能が実現可能と判定されると、デバイスアプリケーション処理制御部２３０は、判定結果を保持する。
【００６０】
続いて、ステップＳ２０９において、Ｓ２０２、またはＳ２０３により登録済みの全サーバプリケーション３１の情報をチェックし終えた場合、デバイスアプリケーション処理制御部２３０は、ユーザが管理者ユーザか否かを確認する。
【００６１】
続いて、ステップＳ２１０において、Ｓ２０９によりユーザが管理者ユーザであった場合、デバイスアプリケーション処理制御部２３０は、ＵＩ制御部２３１から管理者用の画面情報（例えば、ＨＴＭＬファイル）を取得する。続いて、ステップＳ２１１において、Ｓ２０９によりユーザが一般ユーザであった場合、デバイスアプリケーション処理制御部２３０は、ＵＩ制御部２３１から一般ユーザ用の画面情報を取得する。
【００６２】
ステップＳ２１２において、デバイスアプリケーション処理制御部２３０は、ＵＩ制御部２３１に指示して、Ｓ２０７、及びＳ２０８により取得したデジタル複合機２０の機能の実現可否を反映したデバイスアプリケーション２３のトップ画面の画面情報を生成する。生成されたトップ画面の画面情報は、Ｃｌｉｅｎｔ  ＰＣ１０へ送信される。
【００６３】
図４（ａ）は管理者ユーザが、また図４（ｂ）は一般ユーザがデバイスアプリケーション２３にアクセスした際に、Ｃｌｉｅｎｔ  ＰＣ１０のブラウザ１１０に表示されるデバイスアプリケーション２３のトップ画面の一例である。デジタル複合機２０に関する各種機能／設定メニューの一覧を表示するデバイスメニュー一覧５０１、デバイスアプリケーション２３に登録されたサーバプリケーション３１の一覧を表示するサーバプリケーション表示エリア５０２から構成される。
【００６４】
さらに、サーバプリケーション表示エリア５０２には、サーバプリケーション情報、状態表示５０３が含まれている。また、デバイスアプリケーション２３にサーバプリケーション３１を登録する登録ボタン５０４、情報を編集する編集ボタン５０５、及び削除する削除ボタン５０６も含まれている。なお、図４（ａ）の管理者ユーザ用のトップ画面と、図４（ｂ）の一般ユーザ用のトップ画面との差異は、次の通りである。即ち、サーバプリケーション３１をデバイスアプリケーション２３との連携設定を行うための各ボタン５０４、５０５、及び５０６が存在するか否かである。
【００６５】
ここで、サーバプリケーション情報、状態表示５０３には、サーバプリケーション３１の情報、及び、サーバプリケーション３１が利用するデジタル複合機２０の機能が実行できるか否かの結果が表示される。
【００６６】
これにより、ユーザは、サーバプリケーション３１にアクセスすることなく、デバイスアプリケーション２３にアクセスすることで、サーバプリケーション３１と連携するデジタル複合機２０が利用可能か否かを確認することができるようになる。なお、図４（ａ）、及び図４（ｂ）で示した画面に関して、その形態、エリアの構成、及びコントロールは限定されたものではなく、必要となる機能を実現することができれば、どのような形態であっても構わない。
【００６７】
次に、サーバプリケーション３１をデバイスアプリケーション２３に登録する処理について詳細に説明する。ユーザＡが管理者ユーザである場合、デバイスアプリケーション２３にサーバプリケーション３１を登録することで、サーバコンピュータ３０がデジタル複合機２０と連携するように設定する。
【００６８】
図８は、デバイスアプリケーション２３にサーバプリケーション３１を登録する処理の流れを示すフローチャートである。以下、図３乃至図８を用いて説明する。
【００６９】
ステップＳ３０１において、ユーザＡは、Ｃｌｉｅｎｔ  ＰＣ１０のブラウザ１１０を介して、デバイスアプリケーション２３にアクセスする。本ステップは、図５で示したデバイスアプリケーション２３のＵＩ表示処理フローと同じであるため、説明を省略する。
【００７０】
続いて、ステップＳ３０２において、Ｓ３０１の結果、ユーザＡは、ブラウザ１１０に図４（ａ）に一例を示したデバイスアプリケーション２３の管理者ユーザ用のトップ画面が表示されたか否かを確認する。
【００７１】
続いて、ステップＳ３０３において、Ｓ３０２により管理者ユーザ用のトップ画面が表示されている場合、ユーザＡは、図４（ａ）の登録ボタン５０４を押下して、新規にサーバプリケーション３１をデバイスアプリケーション２３への登録を指示する。この際、図示しないユーザインターフェースを表示して、新規に登録するサーバプリケーション３１のＵＲＬ等の情報を入力する。
【００７２】
続いて、ステップＳ３０４において、Ｓ３０３によりブラウザ１１０を介してユーザＡからの登録指示を受けたデバイスアプリケーション処理制御部２３０は、新規に登録するサーバプリケーション３１の定義情報８００を取得しようとする。より具体的には、デバイスアプリケーション処理制御部２３０は、デバイスデータ送受信部２５０を介して、ユーザＡが入力したサーバプリケーション３１のＵＲＬにアクセスして、定義情報８００を取得する。ここで、サーバプリケーション３１は、定義情報８００を取得するための手段として、ＲＥＳＴやＷｅｂサービスなどのインターフェースとして公開していることとする。
【００７３】
続いて、ステップＳ３０５において、Ｓ３０４によりデバイスアプリケーション処理制御部２３０からの定義情報８００の取得要求があると、サーバプリケーション処理制御部３１０はデバイス連携情報管理部３１２に保存された定義情報８００を返信する。
【００７４】
続いて、ステップＳ３０６において、Ｓ３０５により返信された定義情報８００を、デバイスアプリケーション処理制御部２３０は、サーバプリケーション情報解析部２３３に指示し、解析を実行する。より具体的には、定義情報８００の内容が解析可能なフォーマットであるか、サーバプリケーション３１が利用するデジタル複合機２０の機能（８０２）が、デジタル複合機に存在するか否かである。なお、解析処理は、これらに限定するものではない。
【００７５】
続いて、ステップＳ３０７において、デバイスアプリケーション処理制御部２３０は、Ｓ３０６により定義情報８００の解析結果を確認する。
【００７６】
続いて、ステップＳ３０８において、Ｓ３０７により定義情報８００の解析が成功した場合、デバイスアプリケーション処理制御部２３０は、サーバプリケーション情報管理部２３２に定義情報８００を管理、保存する。
【００７７】
続いて、ステップＳ３０９において、デバイスアプリケーション処理制御部２３０は、Ｓ３０７による定義情報８００の解析結果をブラウザ１１０に表示する。また、Ｓ３０８によりデバイスアプリケーション２３に新規にサーバプリケーション３１が登録された結果もブラウザ１１０に表示する。
【００７８】
なお、本実施例においては、ユーザＡが直接サーバプリケーション３１のＵＲＬ等の情報を入力することで、デバイスアプリケーション２３に登録することとしたが、それ以外の手段であっても構わない。例えば、デジタル複合機２０と連携する機能を持つサーバプリケーションの一覧が、図示しないインターネット上のポータルサイトにて管理されているとしても良い。この場合、デバイスアプリケーション２３が、定期的にポータルサイトにアクセスし、新しいサーバプリケーションが存在した場合、自動的にサーバプリケーションの定義情報を取得し、登録しても構わない。また、ポータルサイトに、新しいサーバプリケーションが登録された場合、管理者ユーザにメールなどの手段で通知されても良い。通知された情報を基に、管理者ユーザは新しいサーバプリケーションを登録するか否かを判断することになる。
【００７９】
次に、図４（ａ）、（ｂ）で図示されたトップ画面を介して、サーバプリケーション３１へアクセスする方法について詳細に説明する。
【００８０】
ユーザＡがサーバプリケーション３１にアクセスする際、一旦デバイスアプリケーション２３にアクセスすることで、サーバプリケーション３１が必要とするデジタル複合機２０の最新の情報をサーバプリケーション３１に送信することができる。図９は、ユーザＡが、デバイスアプリケーション２３を介してサーバプリケーション３１にアクセスする処理の流れを示すフローチャートである。以下、図３乃至図９を用いて説明する。
【００８１】
ステップＳ４０１において、ユーザＡは、Ｃｌｉｅｎｔ  ＰＣ１０のブラウザ１１０を介して、デバイスアプリケーション２３にアクセスする。本ステップは、図５で示したデバイスアプリケーション２３のＵＩ表示処理フローと同じであるため、説明を省略する。
【００８２】
続いて、ステップＳ４０２において、ユーザＡは、ブラウザ１１０に表示されたデバイスアプリケーション２３のトップ画面を利用して、サーバプリケーション３１へのアクセスを指示する。より具体的には、図４（ａ）、または（ｂ）に一例を示したデバイスアプリケーション２３のトップ画面に存在するサーバプリケーション情報、状態表示５０３には、サーバプリケーション３１にアクセスするためのリンクを選択する。なお、サーバプリケーション３１へのアクセス方法は、これ以外の手段であっても構わない。
【００８３】
続いて、ステップＳ４０３において、Ｓ４０２によりサーバプリケーション３１へのアクセスの指示を受けたデバイスアプリケーション処理制御部２３０は、処理の一貫性を保つために処理識別情報を生成する。ここで、本実施例においては、処理識別情報はユニークなＩＤとして説明するが、それ以外の情報であっても構わず、その情報を生成する手段を限定するものではない。例えば、本ステップ実行時の年月日時分秒であっても構わないし、デジタル複合機２０を特定する情報、または、ユーザＡを特定する情報を含んでいても構わない。
【００８４】
続いて、ステップＳ４０４において、デバイスアプリケーション処理制御部２３０は、Ｓ４０２によりユーザがアクセスを指示したサーバプリケーション３１が必要とするデジタル複合機２０の最新の情報を取得し、サーバプリケーション３１に送信する。本処理について、図１０を用いて詳細は後述する。
【００８５】
続いて、ステップＳ４０５において、デバイスアプリケーション処理制御部２３０は、Ｓ４０４によりサーバプリケーション３１へのデジタル複合機２０の情報送信処理が成功したか否かを確認する。続いて、ステップＳ４０６において、Ｓ４０５により処理が成功したことを確認すると、デバイスアプリケーション処理制御部２３０は、サーバプリケーション３１へのアクセスに失敗した結果を返し、ブラウザ１１０に表示する。
【００８６】
続いて、ステップＳ４０７において、Ｓ４０５により処理が成功したことを確認すると、デバイスアプリケーション処理制御部２３０は、サーバプリケーション３１へのリダイレクトレスポンスを生成し、ブラウザ１１０に返信する。ここで、リダイレクトレスポンスには、ロケーション情報としてサーバプリケーション３１のＵＲＬ情報、及びＳ４０３により生成された処理識別情報も含まれていることとする。
【００８７】
リダイレクトレスポンスを生成し、ブラウザ１１０に返信することにより、ユーザはブラウザ１１０にロケーション情報を入力せずとも後述するサーバプリケーション３１の所定のＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を受信することができる。
【００８８】
続いて、ステップＳ４０８において、Ｓ４０７によりサーバプリケーション３１へのリダイレクトレスポンスを受信したブラウザ１１０は、リダイレクトレスポンスに含まれるロケーション情報に従い、サーバプリケーション３１にアクセスする。ここで、Ｓ４０３により生成された処理識別情報も、サーバプリケーション３１に送信する。デジタル複合機２０が、Ｃｌｉｅｎｔ  ＰＣ１０へリダイレクトレスポンスを送信することにより、Ｃｌｉｅｎｔ  ＰＣ１０がサーバコンピュータ３０（具体的には、サーバプリケーション３１）へアクセスさせることができる。
【００８９】
続いて、ステップＳ４０９において、Ｓ４０８によりブラウザ１１０からのリクエスト受けたサーバプリケーション３１は、サーバプリケーション３１のＵＩを生成し、ＵＩの画面送信を行う。なお、画面送信とは、ＵＩの画面の画面情報（例えば、ＨＴＭＬファイル）の送信のことである。本処理について、図１１を用いて詳細は後述する。続いて、ステップＳ４１０において、Ｓ４０９によりサーバプリケーション３１から返信のあったＵＩを、ブラウザ１１０に表示する。ユーザは設定画面であるブラウザに表示されたＵＩを使って設定を行う。ユーザが設定した情報、即ち、設定情報はサーバコンピュータ３０へ送信される。サーバコンピュータ３０は、ユーザが所望するサービスを実現するために必要なプログラムに対して設定情報を反映させ、プログラムを実行する。
【００９０】
以上の処理により、サーバコンピュータ３０へより少ない通信でデバイス情報を送信することができ、かつＣｌｉｅｎｔ  ＰＣ１０にサーバコンピュータ３０へデバイス情報を反映したＵＩを提供することができる。次に、デバイス情報の送信処理について説明する。Ｓ４０４において、ユーザがアクセスを指示したサーバプリケーション３１が必要とするデジタル複合機２０の最新の情報を取得し、サーバプリケーション３１に送信する。
【００９１】
図１０は、デバイスアプリケーション２３が、サーバプリケーション３１が必要とするデジタル複合機２０の情報を送信する処理の流れを示すフローチャートである。以下、図１、図３、図７、図９及び図１０を用いて詳細に説明する。
【００９２】
ステップＳ５０１において、デバイスアプリケーション処理制御部２３０は、Ｓ４０２によりユーザＡがアクセスを指示したサーバプリケーション３１の定義情報８００を、サーバプリケーション情報管理部２３２から取得する。
【００９３】
続いて、ステップＳ５０２において、デバイスアプリケーション処理制御部２３０は、Ｓ５０１により取得したサーバプリケーション３１の定義情報８００を解析し、サーバプリケーション３１が必要とするデジタル複合機２０の情報を取得する。具体的には、デバイスアプリケーション制御部２３０は、サーバプリケーション情報解析部２３３に指示して、定義情報８００よりサーバプリケーション３１が必要とするデジタル複合機２０の能力情報８０３を解析する。本実施例においては、サーバプリケーション３１はデジタル複合機２０のプリント機能を利用するため、デジタル複合機２０のプリント能力としてカラーモード、両面などの情報を取得する。
【００９４】
続いて、ステップＳ５０３において、デバイスアプリケーション処理制御部２３０は、Ｓ５０２により解析されたデジタル複合機２０の能力情報８０３に対するユーザＡの権限情報を取得する。具体的には、まず、デバイスアプリケーション処理制御部２３０は、ユーザ権限情報取得部２３５に指示し、権限管理アプリケーション２２のユーザ権限管理部２２０から、ユーザＡの権限情報を取得する。次に、取得したユーザＡの権限情報から、デジタル複合機２０の能力情報８０３を制限する情報が含まれていないか確認し、含まれている場合にはユーザＡの権限情報として抽出する。例えば、デジタル複合機２０のプリント能力としてカラー印刷が可能であるが、ユーザＡの権限情報に従いモノクロ印刷しか選択できない場合があるため、ユーザＡにはカラー印刷をできないように制限する必要がある。
【００９５】
続いて、ステップＳ５０４において、デバイスアプリケーション処理制御部２３０は、サーバプリケーション３１に必要なデジタル複合機２０の情報、及びＳ４０３により生成された処理識別情報をサーバプリケーション３１に送信する。ここで、サーバプリケーション３１に必要なデジタル複合機２０の情報とは、Ｓ５０２により取得したデジタル複合機２０の能力情報、Ｓ５０３により取得したユーザＡの権限情報に従い制限されるデジタル複合機２０の能力情報を含んでいる。
【００９６】
続いて、ステップＳ５０５において、Ｓ５０４により受信したデジタル複合機２０の情報を、サーバプリケーション処理制御部３１０がデバイス連携情報解析部３１３に指示し、解析する。より具体的には、デジタル複合機２０の情報が、サーバプリケーション３１が利用するデジタル複合機２０の機能を全て含んでいるか否かである。なお、解析処理は、これらに限定するものではない。
【００９７】
続いて、ステップＳ５０６において、サーバプリケーション処理制御部３１０は、Ｓ５０５によりデジタル複合機の情報の解析結果を確認する。続いて、ステップＳ５０７において、Ｓ５０６により解析処理が成功した場合、サーバプリケーション処理制御部３１０は、Ｓ５０４によりデバイスアプリケーション２３より送信された処理識別情報と紐付け、デジタル複合機２０の情報を保持する。具体的には、サーバプリケーション３１のメモリ上に保持してもよいし、図示しないデータベースなどのストレージ領域に保持しても構わない。続いて、ステップＳ５０８において、デバイスアプリケーション２３は、Ｓ５０６、またはＳ５０７の処理結果をサーバプリケーション３１から受信する。
【００９８】
このように、ユーザが一旦デバイスアプリケーション２３を介してサーバプリケーション３１にアクセスするタイミングで、サーバプリケーション３１が必要なデジタル複合機２０の最新の情報をサーバプリケーション３１に送信することができる。そのため、無駄な通信を行うことなく、サーバコンピュータ３０からサービスを受けることができる。
【００９９】
次に、所定のプログラムであるサーバプリケーション３１に対して、設定を行うための設定画面の画面情報を生成する方法について説明する。Ｓ４０９において、ブラウザ１１０からのリクエスト受けたサーバプリケーション３１は、サーバプリケーション３１のＵＩを生成し、返信する。図１１は、サーバプリケーション３１がＵＩを生成する処理の流れを示すフローチャートである。以下、３、図９乃至図１２を用いて詳細に説明する。
【０１００】
ステップＳ６０１において、サーバプリケーション処理制御部３１０は、ユーザＡがブラウザ１１０を介してサーバプリケーション３１にアクセスしてきたか否かを確認する。
【０１０１】
続いて、ステップＳ６０２において、Ｓ６０１によりユーザＡからのアクセスがあった場合、サーバプリケーション処理制御部３１０は、ブラウザ１１０のリクエストに処理識別情報が含まれているか否かを確認する。具体的には、Ｓ４０３により生成され、Ｓ５０４によりデバイスアプリケーション２３より送信された処理識別情報が含まれているか否かを確認する。
【０１０２】
続いて、ステップＳ６０３において、Ｓ６０２により処理識別情報が含まれていることが確認された場合、サーバプリケーション処理制御部３１０は、処理識別情報と紐づけられたデバイス情報が存在するか否かを検索する。具体的には、サーバプリケーション処理制御部３１０は、Ｓ５０７により保持したデバイスアプリケーション２３より送信された処理識別情報と、Ｓ６０２によりブラウザ１１０のリクエストに含まれていた処理識別情報とが一致するか否かを確認する。次に、一致する処理識別情報が存在した場合、サーバプリケーション処理制御部３１０は、Ｓ５０７により保持した処理識別情報に紐づいたデジタル複合機２０の情報が存在するかを確認する。
【０１０３】
続いて、ステップＳ６０４において、Ｓ６０３により存在が確認されたデジタル複合機２０の情報を用いて、サーバプリケーション処理制御部３１０は、ＵＩ制御部３１１に指示してデジタル複合機２０の情報を反映したＵＩ画面の画面情報を生成する。
【０１０４】
図１２は、サーバプリケーション３１にアクセスした際に、Ｃｌｉｅｎｔ  ＰＣ１０のブラウザ１１０に表示されるサーバプリケーション３１のＵＩの一例である。本実施例に係るサーバプリケーション３１は、文書管理機能を有するとして説明を行う。サーバプリケーション３１のＵＩは、以下の構成を含む。即ち、サーバプリケーション３１の内部構造をツリービュー表示するレポジトリエリア６０１、サーバプリケーション３１内の文書を検索する検索窓６０２、文書のサムネイルやアイコンの形で表示する文書リストエリア６０３を含む。また、文書リストエリア６０３において選択した文書のプレビューやプロパティ情報を表示するプレビューエリア６０４、選択された文書をデジタル複合機２０に印刷を指示する印刷ボタン６０５を含む。また、デジタル複合機２０の詳細な印刷設定を行うための詳細設定ボタン６０６、デバイス、印刷設定表示エリア６０７を含む。
【０１０５】
デバイス、印刷設定表示エリア６０７は、Ｓ６０３により存在が確認されたデジタル複合機２０の情報を反映している。具体的には、デジタル複合機２０の名称などの一般的な情報、及びサーバプリケーション３１がデジタル複合機２０のプリント機能を利用するにあたり、ユーザＡの権限も考慮したデジタル複合機２０のプリント能力が表示される。
【０１０６】
これにより、ユーザは、デジタル複合機２０の最新の情報を反映したＵＩを利用して、サーバプリケーション３１とデジタル複合機２０の連携した機能を操作することができるようになる。
【０１０７】
なお、図１２で示した画面に関して、その形態、エリアの構成、及びコントロールは限定されたものではなく、必要となる機能を実現することができれば、どのような形態であっても構わない。
【０１０８】
続いて、ステップＳ６０５において、Ｓ６０２により処理識別情報が含まれていないことが確認された場合、サーバプリケーション処理制御部３１０は、ＵＩ制御部３１１に指示してデジタル複合機２０の情報を考慮しないＵＩ画面の画面情報を生成する。より具体的には、印刷ボタン６０５、詳細設定ボタン６０６、及びデバイス、印刷設定表示エリア６０７がグレーアウト表示する、または表示されない等の状態になる。
【０１０９】
本実施例により、ユーザが不要にサーバプリケーションにアクセスすることなく、画像形成装置の機能、状態、及びユーザの権限に応じて、サーバプリケーションが利用可能か否かを確認できるようになる。また、その他の効果として、サーバプリケーションが必要とする画像形成装置の情報を定義することで、サーバプリケーションに必要最低限の画像形成装置の情報を送信する。そのため、サーバプリケーションにアクセスする際に無駄な通信料やストレージ使用料を抑えることができる。
【実施例２】
【０１１０】
本発明の第２の実施例を図１３乃至図１５に基づき説明する。実施例１に係るデバイス連携システムと異なるのは、ユーザＡが、サーバプリケーション３１にアクセスする際、サーバプリケーション３１が必要とするデジタル複合機２０の最新の情報を、非同期にサーバプリケーション３１に送信できることである。即ち、Ｃｌｉｅｎｔ  ＰＣが行うデバイス情報送信、及びサーバプリケーション３１へのアクセスの２つの処理を並行して行うことができる。結果、ユーザはＣｌｉｅｎｔ  ＰＣ１０を介して、サーバプリケーション３１へより短時間でアクセスすることができるので、デジタル複合機２０と連携せずとも設定できる部分については早く設定できる。以下、実施例２に係るデバイス連携システムにおいて、実施例１とは異なる部分についてのみ説明する。
【０１１１】
実施例１におけるシステム概念図と異なるのは、デジタル複合機２０内にアプリケーション構成としてデーモンアプリケーション２４が追加され、非同期にサーバプリケーション３１と連携することである。
【０１１２】
実施例１におけるソフトウェア構成図と異なるのは、デジタル複合機２０内の構成であり、デーモンアプリケーション２４が追加されたことである。デーモンアプリケーション処理制御部２４０は、デーモンアプリケーション２４に対する指示を受け、各処理部の制御を行う。デバイス情報取得部２４１、及びユーザ権限情報取得部２４２は、デバイスアプリケーション２３に存在するデバイス情報取得部２３４、ユーザ権限情報取得部２３５と同等の機能を有する。
【０１１３】
サーバプリケーション３１へのアクセスについて、実施例１とは異なる部分を、図１３を用いて説明する。なお、実施例２におけるサーバプリケーション３１へのアクセスは、ユーザＡがサーバプリケーション３１にアクセスする際に次のように非同期で通信を行う。即ち、一旦デバイスアプリケーション２３にアクセスすることで、デーモンアプリケーション２４はサーバプリケーション３１が必要とするデジタル複合機２０の最新の情報を非同期に送信することができる。
【０１１４】
図１３は、ユーザＡが、デバイスアプリケーション２３を介してサーバプリケーション３１にアクセスする処理の流れを示すフローチャートである。以下、図１３を用いて説明する。
【０１１５】
ステップＳ４０１からステップＳ４０９までの各ステップは、実施例１における図９のＳ４０１からＳ４０９と同じであるため、詳細な説明は省略する。但し、実施例１におけるＳ４０４、及びＳ４０５については、以下の部分で異なる。
【０１１６】
Ｓ４０４において、デバイスアプリケーション処理制御部２３０は、デーモンアプリケーション２４にサーバプリケーション３１へのデジタル複合機２０の情報送信を依頼し、デーモンアプリケーション２４はデジタル複合機２０の情報を非同期に送信する。Ｓ４０４について、図１４を用いて詳細は後述する。
【０１１７】
続いて、Ｓ４０５において、デバイスアプリケーション処理制御部２３０は、Ｓ４０４においてデーモンアプリケーション２４がサーバプリケーション３１へのデジタル複合機２０の情報送信依頼を正常に受け付けたか否かを確認する。
【０１１８】
以降の各ステップは、実施例１とは異なる処理である。ステップＳ４２０において、Ｃｌｉｅｎｔ  ＰＣ１０は、Ｓ４１０においてブラウザ１１０に表示されたサーバプリケーション３１のＵＩに、サーバプリケーション３１が必要とするデジタル複合機２０の情報が正常に表示されているか否かを確認する。本実施例においては、Ｓ４０４によりデーモンアプリケーション２４は、非同期にデジタル複合機２０の情報をサーバプリケーション３１に送信する。よって、Ｓ４０９によりサーバプリケーションのＵＩ生成処理のタイミングで、Ｓ４０４におけるデーモンアプリケーション２４のデジタル複合機２０の情報送信処理が終えていない場合がある。
【０１１９】
図１５は、サーバプリケーション３１にアクセスした際に、Ｃｌｉｅｎｔ  ＰＣ１０のブラウザ１１０に表示されるサーバプリケーション３１のＵＩの一例である。実施例１の図１２に示したサーバプリケーション３１のＵＩと異なるのは、デバイス、印刷設定表示エリア６０７にデジタル複合機２０の情報を取得中である旨の表示がされていることである。この際、デバイス、印刷設定表示エリア６０７には、ブラウザ１１０で動作可能なＪａｖａＳｃｒｉｐｔやＲＩＡ技術などのプログラムが実装されている。これは、ユーザ操作を介さず、自動的にサーバプリケーション３１にデジタル複合機２０の情報を問い合わせるようにするためである。
【０１２０】
なお、図１５で示した画面に関して、その形態、エリアの構成、及びコントロールは限定されたものではなく、必要となる機能を実現することができれば、どのような形態であっても構わない。特に、デバイス、印刷設定表示エリア６０７において、ＪａｖａＳｃｒｉｐｔやＲＩＡ技術を利用せずに、ユーザがデジタル複合機２０の情報をサーバプリケーション３１に問い合わせることができるようなコントロールを配置しても良い。
【０１２１】
続いて、ステップＳ４２１において、Ｓ４２０によりデジタル複合機２０の情報が表示されていないことを確認すると、サーバプリケーション３１にデジタル複合機２０の情報を取得するためのリクエストを送信する。具体的には、デバイス、印刷設定表示エリア６０７に実装されているプログラムが、Ｓ４０３により生成された処理識別情報を付加して、サーバプリケーション３１にリクエストを送信する。
【０１２２】
続いて、ステップＳ４２２において、Ｓ４２１によりデジタル複合機２０の情報取得のリクエストがあった場合、サーバプリケーション処理制御部３１０は、ブラウザ１１０のリクエストに処理識別情報が含まれているか否かを確認する。
【０１２３】
続いて、ステップＳ４２３において、Ｓ４２２により処理識別情報が含まれていることが確認された場合、サーバプリケーション処理制御部３１０は、処理識別情報と紐づけられたデバイス情報が存在するか否かを検索する。
【０１２４】
続いて、ステップＳ４２４において、存在が確認されたデジタル複合機２０の情報を用いて、サーバプリケーション処理制御部３１０は、ＵＩ制御部３１１に指示してデジタル複合機２０の情報を反映したＵＩ画面の画面情報を生成し、返信する。
【０１２５】
デバイス情報の送信処理について、実施例１とは異なる部分について、図１４を用いて説明する。図１４は、デーモンアプリケーション２４が、サーバプリケーション３１が必要とするデジタル複合機２０の情報を送信する処理の流れを示すフローチャートである。以下、図１３乃至図１５を用いて詳細に説明する。
【０１２６】
ステップＳ５２１において、デバイスアプリケーション２３のデバイスアプリケーション処理制御部２３０は、デーモンアプリケーション２４にサーバプリケーション３１へのデジタル複合機２０の情報送信を依頼する。
【０１２７】
続いて、ステップＳ５２２において、Ｓ５２１により依頼を受けたデーモンアプリケーション２４のデーモンアプリケーション処理制御部２４０は、サーバプリケーション３１へのデジタル複合機２０の情報送信処理を受け付けるか否か判断し、結果を返信する。
続いて、ステップＳ５２３において、デバイスアプリケーション処理制御部２３０は、Ｓ５２２によりデーモンアプリケーション２４がサーバプリケーション３１へのデジタル複合機２０の情報送信処理の依頼結果を受信する。デバイスアプリケーション２３は、前述した図１３のＳ４０５以降の処理を実行する。
【０１２８】
続いて、ステップＳ５２４において、Ｓ５２２によりデジタル複合機２０の情報送信処理の受け付け結果に従い、デーモンアプリケーション処理制御部２４０がサーバプリケーション３１へのデジタル複合機２０の情報送信を非同期に実行するか否かを判断する。
【０１２９】
以降の各ステップは、実施例１の図１０にて説明したＳ５０１乃至Ｓ５０８と同じであるため省略する。実施例１と異なるのは、デバイスアプリケーション２３における各処理を、デーモンアプリケーション２４が実行することである。
【０１３０】
実施例２により、サーバプリケーションに必要とする画像形成装置の情報を非同期で送信するため、実施例１と比較して、ユーザがサーバプリケーションへアクセスする処理時間を短縮することができる。
【０１３１】
〔その他の実施例〕
以上説明した各実施例では、サーバプリケーション３１を画像形成装置であるデジタル複合機２０に登録した。しかし、Ｃｌｉｅｎｔ  ＰＣ１０にサーバプリケーション３１を登録しても良い。この場合、各実施例とは以下の点が異なる。始めに構成について説明する。Ｃｌｉｅｎｔ  ＰＣ１０は、サーバプリケーション情報管理部２３２、およびサーバプリケーション情報解析部２３３を有する。次に処理について説明する。図６が示す処理は、Ｃｌｉｅｎｔ  ＰＣ１０により実行される。なお、Ｓ２０５、およびＳ２０６の情報はデジタル複合機２０と通信し取得することになる。図８が示す処理（具体的には、Ｓ３０４、Ｓ３０６、Ｓ３０７、Ｓ３０８８）は、Ｃｌｉｅｎｔ  ＰＣ１０により実行される。図９が示す処理（具体的には、Ｓ４０３、Ｓ４０４、Ｓ４０５、Ｓ４０７）は、Ｃｌｉｅｎｔ  ＰＣ１０により実行される。また、Ｃｌｉｅｎｔ  ＰＣ１０からサーバプリケーション３１へアクセスする際は、リダイレクトではなく直接アクセスすることになる。また、Ｓ４０４において、Ｃｌｉｅｎｔ  ＰＣ１０はデジタル複合機２０から、最新のデバイス情報を受信してサーバプリケーション３１へデバイス情報を送信する。この際、定義情報８００に基づきデジタル複合機２０から必要な情報を受信しても良いし、それ以外の情報を含んで受信しても良い。
【０１３２】
また、以上説明した各実施例では、Ｃｌｉｅｎｔ  ＰＣ１０にトップ画面を表示した。しかし、デジタル複合機２０の表示ユニットに表示しても良い。この場合、各実施例とは以下の点が異なる。デジタル複合機２０はブラウザ１１０を有する。図８、図９、図１０に示すＣｌｉｅｎｔ  ＰＣ１０の各処理はデジタル複合機２０によって処理される。
【０１３３】
また、以上説明した各実施例では、図４（ａ）または（ｂ）に示すようにインターネットサーバプリケーションの状態を「正常」、「エラー発生中」というように、使用できるか否かがわかるように表示した。しかし、これに限定されるものではなく、ユーザにインターネットサーバプリケーションが使用できるか否か分かるようにすれば表示の方法に限定はない。即ち、使えるインターネットサーバプリケーションのみ表示して、使えないインターネットサーバプリケーションは非表示にするということも考えられる。また、正常状態の場合は、サーバプリケーション名のみ表示することも考えられる。
【０１３４】
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した各実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及びプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【０１３５】
１０  ユーザが操作するＣｌｉｅｎｔ  ＰＣ
２０  ユーザがアクセスするデジタル複合機
２１  デジタル複合機内へのユーザ管理機能を提供するログインアプリケーション
２２  デジタル複合機内へのユーザ権限機能を提供する権限管理アプリケーション
２３  本実施例に係るサーバプリケーションとデジタル複合機を連携するデバイスアプリケーション
３０  ユーザ、及びデジタル複合機がアクセスするサーバコンピュータ
３１  本実施例に係るデジタル複合機と連携するインターネットアプリケーション
１００  本実施例に係るデバイス連携システムを構成するＰＣのＣＰＵ
１０１  本実施例に係るデバイス連携システムを構成するＰＣのＲＡＭ
１０２  本実施例に係るデバイス連携システムを構成するＰＣのＲＯＭ
１０３  本実施例に係るデバイス連携システムを構成するＰＣのキーボードコントローラ
１０４  本実施例に係るデバイス連携システムを構成するＰＣのディスプレイコントローラ
１０５  本実施例に係るデバイス連携システムを構成するＰＣのディスクコントローラ
１０６  本実施例に係るデバイス連携システムを構成するＰＣのネットワークカード（ＮＣ）
１０７  本実施例に係るデバイス連携システムを構成するＰＣに接続されるキーボード
１０８  本実施例に係るデバイス連携システムを構成するＰＣに接続されるディスプレイ装置
１０９  本実施例に係るデバイス連携システムを構成するＰＣに接続される各種データを記憶するハードディスク（ＨＤ）
２００  本実施例に係るデバイス制御システムを構成するデジタル複合機の画像形成部
２０１  本実施例に係るデバイス制御システムを構成するデジタル複合機の画像読み取り部
２０２  本実施例に係るデバイス制御システムを構成するデジタル複合機のデジタル複合機制御部
２０３  本実施例に係るデバイス制御システムを構成するデジタル複合機のファクス部
２０４  本実施例に係るデバイス制御システムを構成するデジタル複合機の操作部制御部
２０５  本実施例に係るデバイス制御システムを構成するデジタル複合機のプリント処理部
２０６  本実施例に係るデバイス制御システムを構成するデジタル複合機のネットワークインターフェース部
２０７  本実施例に係るデバイス制御システムを構成するデジタル複合機の外部記憶装置制御部
２０８  本実施例に係るデバイス制御システムを構成するデジタル複合機のアプリケーションマネージャ
【図１】
0005586968.tif 000002
【図２】
0005586968.tif 000003
【図３】
0005586968.tif 000004
【図４】
0005586968.tif 000005
【図５】
0005586968.tif 000006
【図６】
0005586968.tif 000007
【図７】
0005586968.tif 000008
【図８】
0005586968.tif 000009
【図９】
0005586968.tif 000010
【図１０】
0005586968.tif 000011
【図１１】
0005586968.tif 000012
【図１２】
0005586968.tif 000013
【図１３】
0005586968.tif 000014
【図１４】
0005586968.tif 000015
【図１５】
0005586968.tif 000016