(57)【要約】      （修正有）【課題】ユーザにアカウントを取得させることなく、Ｗｅｂアプリケーションの実行を可能とする。【解決手段】ＰＣ１００のＷｅｂブラウザ１１２上で実行されるスクリプト２０８は、スクリプトの機能を実行する機能スクリプト２１０と、機能スクリプトの実行の認証を行う認証スクリプト２１２と、から構成される。ＰＣは、サーバ２００から、スクリプトを受信する第１受信処理と、受信したスクリプトに含まれる認証スクリプトに基づいて、通信する外部通信装置を特定する特定処理と、特定処理により特定した外部通信装置に、識別情報を要求する要求処理と、外部通信装置から受信したＨＴＭＬファイルに基づいて、外部通信装置が所定の外部通信装置であるか否かを判断する第１判断処理と、第１判断処理にて外部通信装置が所定の外部通信装置であると判断した場合に、機能スクリプトの実行を許可する実行許可処理と、を実行する。【選択図】図２
2018151912.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と通信する外部通信装置と、前記情報処理装置と通信するサーバと、前記サーバから受信したプログラムをＷｅｂブラウザ上で実行する前記情報処理装置と、を有するＷｅｂアプリケーションシステムであって、
前記プログラムは、
前記プログラムの機能を実行する機能スクリプトと、
前記機能スクリプトの実行の認証を行う認証スクリプトと、
から構成されており、
前記外部通信装置は、
前記情報処理装置と通信する第１通信部と、
前記外部通信装置が所定の外部通信装置であるかを識別する識別情報を記憶する第１記憶部と、
前記第１通信部を通じて、前記識別情報を前記情報処理装置に送信する第１送信処理を実行する第１制御部と、
を備えており、
前記サーバは、
前記情報処理装置と通信する第２通信部と、
前記プログラムを記憶する第２記憶部と、
前記第２通信部を通じて、前記プログラムを前記情報処理装置に送信する第２送信処理を実行する第２制御部と、
を備えており、
前記情報処理装置は、
第３通信部と、
前記Ｗｅｂブラウザを記憶する第３記憶部と、
第３制御部と、
を備えており、
前記第３制御部は、
前記第３通信部を通じて、前記プログラムを前記サーバから受信する第１受信処理を実行し、
前記第３制御部は、
通信する前記外部通信装置を特定する特定処理と、
前記第３通信部を通じて、前記特定処理により特定した前記外部通信装置に、前記識別情報を要求する要求処理と、
前記要求処理により要求した前記識別情報を前記外部通信装置から受信した場合に、前記識別情報に基づいて、前記外部通信装置が前記所定の外部通信装置であるか否かを判断する第１判断処理と、
前記第１判断処理にて前記外部通信装置が前記所定の外部通信装置であると判断した場合に、前記機能プログラムの実行を許可する実行許可処理と、
を前記認証プログラムにより実行するＷｅｂアプリケーションシステム。
【請求項２】
前記識別情報は、前記外部通信装置それぞれに固有に割り当てられた装置情報を含んでおり、
前記第２記憶部は、
予め登録された識別情報のリストである装置情報リストを、更に記憶し、
前記第２制御部は、
前記第２通信部を通じて、前記識別情報を、前記情報処理装置から受信する第２受信処理と、
前記第２受信処理で受信した前記識別情報に含まれる装置情報が、前記装置情報リスト内に含まれるか否かを判断する第２判断処理と、
前記第２通信部を通じて、前記第２判断処理にて判断した判断結果を、前記情報処理装置に送信する第３送信処理と、
を更に実行し、
前記第３制御部は、
前記第１判断処理にて前記外部通信装置が前記所定の外部通信装置であると判断した場合に、前記第３通信部を通じて、前記識別情報を、前記サーバに送信する第４送信処理と、
前記第３通信部を通じて、前記判断結果を、前記サーバから受信する第３受信処理と、
を前記認証スクリプトにより、更に実行し、
前記実行許可処理において、前記第３受信処理にて受信した前記判断結果が、前記装置情報が前記装置情報リストに含まれることを示す場合に、前記機能スクリプトの実行を許可することを特徴とする請求項１記載のＷｅｂアプリケーションシステム。
【請求項３】
前記第３制御部は、
前記情報処理装置のＩＰアドレスを取得する取得処理と、
前記情報処理装置のＩＰアドレスから、ネットワークのアドレスを表す部分であるネットワークアドレス部を抽出するネットワークアドレス抽出処理と、
ホストアドレス部を生成するホストアドレス生成処理と、
前記ネットワークアドレス抽出処理で抽出した前記ネットワークアドレス部と、前記ホストアドレス生成処理で生成した前記ホストアドレス部とを用いて、前記外部通信装置のＩＰアドレスを生成するＩＰアドレス生成処理と、
を前記認証スクリプトにより、更に実行し、
前記特定処理は、前記ＩＰアドレス生成処理で生成した前記外部通信装置のＩＰアドレスを用いて、通信する前記外部通信装置を特定することを特徴とする請求項１または２に記載のＷｅｂアプリケーションシステム。
【請求項４】
前記第３制御部は、
前記外部通信装置のＩＰアドレスの入力を受け付ける受付処理と、
を前記認証スクリプトにより、更に実行し、
前記特定処理は、前記受付処理で受け付けた前記ＩＰアドレスを用いて、通信する前記外部通信装置を特定することを特徴とする請求項１または２に記載のＷｅｂアプリケーションシステム。
【請求項５】
前記識別情報は、ＨＴＭＬ（HyperText Markup Languageの略）ファイルであり、
前記第２制御部は、
前記第２受信処理にて受信した前記ＨＴＭＬファイルから前記装置情報を抽出する第１抽出処理と、
を実行することを特徴とする請求項２乃至４のいずれかに記載のＷｅｂアプリケーションシステム。
【請求項６】
前記識別情報は、ＨＴＭＬ（HyperText Markup Languageの略）ファイルであり、
前記第１判断処理にて前記外部通信装置が前記所定の外部通信装置であると判断した場合に、前記ＨＴＭＬファイルから前記装置情報を抽出する第２抽出処理と、
前記第４送信処理において、前記第２抽出処理にて抽出した装置情報を、前記サーバに送信し、
前記第２制御部は、
前記第２受信処理において、前記第２抽出処理にて抽出した装置情報を、前記情報処理装置から受信することを特徴とする請求項２乃至４のいずれかに記載のＷｅｂアプリケーションシステム。
【請求項７】
前記第２記憶部は、
前記識別情報リストにおける各識別情報に、前記外部通信装置の能力を示す能力情報を対応付けて、更に記憶し、
前記第２制御部は、
前記第３送信処理において、前記第２判断処理にて前記識別情報リスト内に前記識別情報が含まれると判断した場合に、前記識別情報に対応する前記能力情報を送信し、
前記第３制御部は、
前記第３受信処理において、前記識別情報に対応する前記能力情報を受信し、
前記実行許可処理において、前記第４受信処理にて受信した前記能力情報に基づいて、前記外部通信装置が実行可能である機能スクリプトの実行を許可することを特徴とする請求項２記載のＷｅｂアプリケーションシステム。
【請求項８】
制御部と、
Ｗｅｂブラウザを記憶する記憶部と、
サーバ及び外部通信装置と通信する通信部と、
を備えた情報処理装置のＷｅｂブラウザ上で、前記サーバから取得し、前記制御部によって実行可能なプログラムであって、
前記プログラムは、
前記プログラムの機能を実行する機能スクリプトと、
前記機能スクリプトの実行の認証を行う認証スクリプトと、
から構成されており、
前記制御部は、
通信する前記外部通信装置を特定する特定処理と、
前記通信部を通じて、前記識別情報を、前記特定処理により特定した前記外部通信装置に要求する第１要求処理と、
前記第１要求処理により要求した前記識別情報を前記外部通信装置から受信した場合に、前記識別情報に基づいて、前記外部通信装置が前記所定の外部通信装置であるか否かを判断する第１判断処理と、
前記第１判断処理にて、前記外部通信装置が前記所定の外部通信装置であると判断した場合に、前記機能スクリプトの実行を許可する実行許可処理と、
を前記認証スクリプトにより、実行するプログラム。
【請求項９】
前記情報処理装置のＩＰアドレスを取得する取得処理と、
前記情報処理装置のＩＰアドレスから、ネットワークのアドレスを表す部分であるネットワークアドレス部を抽出するネットワークアドレス抽出処理と、
ホストアドレス部を生成するホストアドレス生成処理と、
前記ネットワークアドレス抽出処理で抽出した前記ネットワークアドレス部と、前記ホストアドレス生成処理で生成した前記ホストアドレス部とを用いて、前記外部通信装置のＩＰアドレスを生成するＩＰアドレス生成処理と、
を前記認証スクリプトは前記制御部に更に実行させ、
前記特定処理は、前記ＩＰアドレス生成処理で生成した前記外部通信装置のＩＰアドレスを用いて、通信する前記外部通信装置を特定することを特徴とする請求項８に記載のプログラム。
【請求項１０】
前記外部通信装置のＩＰアドレスの入力を受け付ける受付処理と、
を前記認証スクリプトは前記制御部に更に実行させ、
前記特定処理は、前記受付処理で受け付けた前記ＩＰアドレスを用いて、通信する前記外部通信装置を特定することを特徴とする請求項８に記載のプログラム。
【請求項１１】
前記要求処理において、前記ＨＴＭＬファイルを要求し、
前記ＨＴＭＬファイルから前記識別情報を抽出する第１抽出処理と、
を前記認証スクリプトは前記制御部に更に実行させることを特徴とする請求項８乃至１０のいずれかに記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，Ｗｅｂアプリケーション及びＷｅｂアプリケーションシステムに関する。さらに詳細には，ブラウザを実行する情報処理装置に接続された外部通信装置から識別情報を受信し、Ｗｅｂアプリケーションの実行を許可する技術に関するものである。
【背景技術】
【０００２】
ＰＣなどの情報処理装置が備えるＷｅｂブラウザ上で、ネットワークを介して接続されたＷｅｂサーバから提供されるアプリケーションを実行するＷｅｂアプリケーションが知られている。特許文献１には、Ｗｅｂアプリケーションのユーザにアカウントを作成させ、Ｗｅｂアプリケーションの操作画面でアカウントを特定するために、ユーザ名とパスワードの入力を求め、そして、その画面を介して入力されたユーザ名とパスワードが、登録している情報と一致すると、Ｗｅｂアプリケーションの実行を許可する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−０８１３４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記した従来技術では、Ｗｅｂアプリケーションのユーザは、Ｗｅｂアプリケーションの提供者が提供するアカウントを予め作成し、Ｗｅｂアプリケーションを利用するために、そのアカウントでログインするという手間が必要である。更に、アカウントを持っていないユーザはそもそもＷｅｂアプリケーションを利用できないという問題があった。
【０００５】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、ユーザにアカウントを取得させることなく、Ｗｅｂアプリケーションの実行を好適に許可することができるＷｅｂアプリケーションシステムの提供である。
【課題を解決するための手段】
【０００６】
本明細書に開示されているＷｅｂアプリケーションシステムは、情報処理装置と通信する外部通信装置と、前記情報処理装置と通信するサーバと、前記サーバから受信したプログラムをＷｅｂブラウザ上で実行する前記情報処理装置と、を有するＷｅｂアプリケーションシステムであって、前記プログラムは、前記プログラムの機能を実行する機能スクリプトと、前記機能スクリプトの実行の認証を行う認証スクリプトと、から構成されており、前記外部通信装置は、前記情報処理装置と通信する第１通信部と、前記外部通信装置が所定の外部通信装置であるかを識別する識別情報を記憶する第１記憶部と、前記第１通信部を通じて、前記識別情報を前記情報処理装置に送信する第１送信処理を実行する第１制御部と、を備えており、前記サーバは、前記情報処理装置と通信する第２通信部と、前記プログラムを記憶する第２記憶部と、前記第２通信部を通じて、前記プログラムを前記情報処理装置に送信する第２送信処理を実行する第２制御部と、を備えており、前記情報処理装置は、第３通信部と、前記Ｗｅｂブラウザを記憶する第３記憶部と、第３制御部と、を備えており、前記第３制御部は、前記第３通信部を通じて、前記プログラムを前記サーバから受信する第１受信処理を実行し、前記第３制御部は、通信する前記外部通信装置を特定する特定処理と、前記第３通信部を通じて、前記特定処理により特定した前記外部通信装置に、前記識別情報を要求する要求処理と、前記要求処理により要求した前記識別情報を前記外部通信装置から受信した場合に、前記識別情報に基づいて、前記外部通信装置が前記所定の外部通信装置であるか否かを判断する第１判断処理と、前記第１判断処理にて前記外部通信装置が前記所定の外部通信装置であると判断した場合に、前記機能プログラムの実行を許可する実行許可処理と、を前記認証プログラムにより実行することを特徴とする。
【０００７】
上記構成によれば、外部通信装置から識別情報を受信し且つ、識別情報により所定の外部通信装置であると判断した場合に、Ｗｅｂアプリケーションの機能を実行する機能スクリプトの実行を許可する。このため、ユーザにアカウントを取得させることなく、Ｗｅｂアプリケーションの実行を好適に許可することができる。
【０００８】
本明細書に開示されているプログラムは、制御部と、Ｗｅｂブラウザを記憶する記憶部と、サーバ及び外部通信装置と通信する通信部と、を備えた情報処理装置のＷｅｂブラウザ上で、前記サーバから取得し、前記制御部によって実行可能なプログラムであって、前記プログラムは、前記プログラムの機能を実行する機能スクリプトと、前記機能スクリプトの実行の認証を行う認証スクリプトと、から構成されており、前記制御部は、通信する前記外部通信装置を特定する特定処理と、前記通信部を通じて、前記識別情報を、前記特定処理により特定した前記外部通信装置に要求する第１要求処理と、前記第１要求処理により要求した前記識別情報を前記外部通信装置から受信した場合に、前記識別情報に基づいて、前記外部通信装置が前記所定の外部通信装置であるか否かを判断する第１判断処理と、前記第１判断処理にて、前記外部通信装置が前記所定の外部通信装置であると判断した場合に、前記機能スクリプトの実行を許可する実行許可処理と、を前記認証スクリプトにより、実行することを特徴とする。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態のＷｅｂアプリケーションシステム１０の概略図である。
【図２】（Ａ）は複合機２０のブロック図であり、（Ｂ）はＰＣ１００のブロック図であり、（Ｃ）はサーバ２００のブロック図である。
【図３】Ｗｅｂアプリケーションシステム１０における、ＰＣ１００がスクリプト２０８を取得する処理についてのフローチャートである。
【図４】第１実施形態の認証処理の前半についてのフローチャートである。
【図５】第１実施形態の認証処理の後半についてのフローチャートである。
【図６】第１実施形態のＰＣ１００の表示部１０６に表示される画面であって、（Ａ）は認証報知画面６０の一例であり、（Ｃ）は認証失敗画面６４の一例であり、（Ｄ）は認証成功画面６６の一例である。
【図７】（Ａ）ＨＴＴＰサーバ３７のレスポンスであるＨＴＭＬファイル４０の一例であり、（Ｂ）は所定の外部通信装置であるか否かを判断するために用いるフォーマット５０の一例である。
【図８】第２実施形態のＷｅｂアプリケーションシステム５００の概略図である。
【図９】（Ａ）はプリンタ６００のブロック図であり、（Ｂ）はＰＣ６５０のブロック図であり、（Ｃ）はサーバ７００のブロック図である。
【図１０】第２実施形態の認証処理の前半についてのフローチャートである。
【図１１】第２実施形態の認証処理の後半についてのフローチャートである。
【図１２】第２実施形態のＰＣ６５０の表示部６５６に表示される画面であって、（Ａ）はＩＰアドレス入力受付画面８００の一例であり、（Ｂ）は認証成功画面８０４の一例である。
【発明を実施するための形態】
【００１０】
＜第１実施形態＞
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例に過ぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
【００１１】
図１を参照して、Ｗｅｂアプリケーションシステム１０の概略について説明する。Ｗｅｂアプリケーションシステム１０は、後述するサーバ２００のＷｅｂアプリケーション２０７が提供するスクリプト２０８をＰＣ１００のユーザがＷｅｂブラウザ１１２上で実行するシステムである。Ｗｅｂアプリケーションシステム１０を構成する、複合機２０、ＰＣ１００、サーバ２００及びアクセスポイント８０は、通信ネットワークを介して相互に通信可能に接続されている。ここで、複合機とは、印刷機能、スキャン機能、コピー機能を備える多機能周辺装置を表す。通信ネットワークの具体例は特に限定されないが、例えば、インターネット８４、有線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略）、無線ＬＡＮ８２、あるいはこれらの組み合わせであってもよい。ＰＣ１００、複合機２０は、アクセスポイント８０が形成する無線ＬＡＮ８２に属している。アクセスポイント８０は図示しないルータを通じて、インターネット８４に接続されている。サーバ２００は、インターネット８４に接続されている。そして、ＰＣ１００、複合機２０は、アクセスポイント８０からインターネット８４を経由して、サーバ２００と通信可能である。
【００１２】
なお、本実施形態に係るＷｅｂアプリケーションシステム１０では、１台の複合機（複合機２０）での構成を例示しているが、これに限るものでなく、その台数は任意である。また、ＰＣ１００と無線ＬＡＮ８２で接続される外部通信装置は、複合機２０に限定されるものではなく、後述するようにＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌの略）サーバ３７を備えた機器が１台以上あればよい。
【００１３】
ＰＣ１００、複合機２０には、無線ＬＡＮ８２に接続するために、ローカルＩＰアドレスとサブネットマスク、および、無線ＬＡＮ８２のＳＳＩＤ（Ｓｅｒｖｉｃｅ  Ｓｅｔ  ＩＤｎｔｉｆｉｅｒの略）が設定されている。ＩＰアドレスは、通信に用いられる周知のビット列である。サブネットマスクは、４バイトのデータ列であるＩＰアドレスのうち、ネットワークアドレス部とホストアドレス部を識別するためのビット列であり、ＩＰアドレスのうち上位何ビットがネットワークアドレスであるかを表す周知のビット列である。詳細は後述するが、ＰＣ１００は、サブネットマスクを用いて、自身に設定されたローカルＩＰアドレスのうち、ネットワークアドレス部とホストアドレス部を識別する。ここで、ネットワークアドレス部は、ネットワークの管理単位となるサブネット（無線ＬＡＮ８２）を識別するためのアドレスである。ホストアドレス部は、ローカルＩＰアドレスのうちネットワークアドレス部以外の部分であり、ホスト（ＰＣ１００、複合機２０、アクセスポイント８０）を定義する部分である。
【００１４】
[複合機２０]
複合機２０は、図２（Ａ）に示されるように、ＣＰＵ２１、操作部２３、表示部２５、通信部２７、印刷部２９、読取部３１、記憶部３３を主に備えている。
【００１５】
ＣＰＵ２１は、複合機２０の全体動作を制御するものである。ＣＰＵ２１は、操作部から出力される各種情報及び通信部２７を通じて通信装置から取得した各種情報等に基づいて、記憶部３３に記憶された制御プログラム３５を実行することにより、複合機２０の制御を実行する。例えば、ＣＰＵ２１は、印刷部２９や読取部３１を制御して、印刷処理、スキャン処理などを実行する。
【００１６】
操作部２３は、ユーザにより操作される複数の操作ボタンを備え、ユーザの押下操作に応じた信号をＣＰＵ２１へ送信する。ユーザは、操作部２３を操作することによって所望の入力指示を出すことができる。
【００１７】
表示部２５は、ＬＣＤ等のディスプレイを備えている。表示部２５は、ＣＰＵ２１からの指示に従って、各種の情報をディスプレイに表示する。
【００１８】
通信部２７は、無線ＬＡＮ８２、インターネット８４などのネットワークに接続するためのインタフェースや、ＵＳＢメモリなどの外部記憶装置と接続するためのインタフェースを含んでいる。
【００１９】
印刷部２９は、インクジェット方式やレーザー方式などの印刷方式を用いて印刷を実行する。読取部３１は、ＣＣＤやＣＭＯＳなどの光電変換素子を用いて光学的に原稿を読み取ることによってカラー画像やグレー画像を表すスキャンデータを生成する。読取部３１は、いわゆるフラットベッド式の原稿台、あるいはＡＤＦ（Ａｕｔｏ  Ｄｏｃｕｍｅｎｔ  Ｆｅｅｄｅｒの略）式の原稿台を備えている。
【００２０】
記憶部３３は、例えば、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ハードディスクドライブ、ＣＰＵ２１が備えるバッファ、あるいはそれらの組み合わせによって構成されている。記憶部３３は制御プログラム３５、ＨＴＴＰサーバ３７を記憶している。制御プログラム３５は、例えば、インターネットを介して接続されたサーバからダウンロードされる形態、あるいは、ＣＤ−ＲＯＭなどに記録された形態で提供されるものでもよい。ＨＴＴＰサーバ３７は、複合機２０内に内蔵されたＷｅｂサーバ、すなわちＥＷＳ（Ｅｍｂｅｄｄｅｄ  Ｗｅｂ  Ｓｅｒｖｅｒの略）である。通信部２７とデータ通信可能な機器は、複合機２０に割り当てられたローカルＩＰアドレスを用いることで、ＨＴＴＰサーバ３７にアクセスすることが可能である。ＨＴＴＰサーバ３７は、ＨＴＴＰリクエストを受け付けると、このＨＴＴＰリクエストに含まれるＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒの略）に基づいて、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅの略）ファイル４０をＨＴＴＰレスポンスとして送信する。図７（Ａ）に示す、ＨＴＭＬファイル４０は、ＪａｖａＳｃｒｉｐｔ（登録商標）やＨＴＭＬ形式で書かれたテキストデータであり、例えば、開始タグ４１と終了タグ４２の間に、ＨＴＭＬファイル４０のタイトルとなる文字列４３を記述するというように、タグの間に意味づけしたい文字列を記述する。ＨＴＭＬファイル４０には、ＨＴＭＬファイルのタイトルを意味する文字列４３の他に、複合機２０の製造メーカのロゴを取得するＵＲＩ４４（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒの略）や型番情報、装置情報の一例であるシリアルナンバー４８を含んでいる。シリアルナンバーは製造メーカが製造した装置それぞれに固有に割り当てた情報である。ＨＴＴＰサーバ３７は、本来、複合機２０のユーザがインターネット８４などのネットワーク上で複合機２０を管理するために備えられたものであるが、本実施形態では、ＨＴＴＰサーバ３７が送信するＨＴＭＬファイル４０を、スクリプト２０７の実行許可を行うための認証情報として流用する。
【００２１】
記憶部３３に記憶されたプログラムは、ＣＰＵ２１によって実行される。しかしながら、本明細書では、ＣＰＵ２１を省略して各プログラムの動作を説明することがある。すなわち、以下の説明において、「プログラムＡが処理Ａを実行する」という趣旨の記述は、「ＣＰＵ２１がプログラムＡに記述された処理Ａを実行する」ことを指してもよい。
【００２２】
複合機２０を構成する各構成要素は、相互に接続されている。
【００２３】
[ＰＣ１００]
ＰＣ１００は、図２（Ｂ）に示されるように、ＣＰＵ１０２、操作部１０４、表示部１０６、通信部１０８、記憶部１１０を主に備えている。
【００２４】
ＣＰＵ１０２は、ＰＣ１００の全体動作を制御するものである。ＣＰＵ２１は、操作部から出力される各種情報及び通信部２７を通じて外部通信装置から取得した各種情報等に基づいて、記憶部１１０に記憶された制御プログラム１１４を実行することにより、ＰＣ１００の制御を実行する。
【００２５】
操作部１０４は、ユーザにより操作されるマウスやキーボードを備え、ユーザの操作に応じた信号をＣＰＵ１０２へ送信する装置である。ユーザは、操作部１０４を操作することによって所望の入力指示を出すことができる。
【００２６】
表示部１０６は、ＬＣＤ等のディスプレイを備えた装置である。表示部１０６は、ＣＰＵ１０２からの指示に従って、各種の情報をディスプレイに表示する。
【００２７】
通信部１０８は、無線ＬＡＮ８２、インターネット８４などのネットワークに接続するためのインタフェースや、ＵＳＢメモリなどの外部記憶装置と接続するためのインタフェースを含んでいる。
【００２８】
記憶部１１０は、例えば、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ハードディスクドライブ、ＣＰＵ１０２が備えるバッファ、あるいはそれらの組み合わせによって構成されている。記憶部１１０はＷｅｂブラウザ１１２、制御プログラム１１４を記憶している。このＷｅｂブラウザ１１２は、プラグインモジュールを有さない単機能ブラウザ（標準ブラウザ）であり、ＰＣ１００（ＣＰＵ１０２）は、該Ｗｅｂブラウザ１１２を使用して、ネットワーク（インターネット８４）接続されたサーバ２００にアクセスし、Ｗｅｂアプリケーション２０７によってスクリプト２０８を取得する。
【００２９】
ＰＣ１００を構成する各構成要素は、相互に接続されており、ＰＣ１００は、Ｗｅｂブラウザ１１２を使用して各機器と通信を行なう。
【００３０】
[サーバ２００]
サーバ２００は、ＣＰＵ２０２、通信部２０４、記憶部２０６を主に備えている。
【００３１】
ＣＰＵ２０２は、サーバ２００の全体動作を制御するものである。ＣＰＵ２０２は、通信部２０４を通じて通信装置から取得した各種情報等に基づいて、記憶部２０６に記憶されたＷｅｂアプリケーション２０７を実行することにより、複合機２０の制御を実行する。
【００３２】
通信部２０４は、インターネット８４などのネットワークに接続するためのインタフェースや、ＵＳＢメモリなどの外部記憶装置と接続するためのインタフェースを含んでいる。
【００３３】
記憶部２０６は、フラッシュメモリ、ハードディスクドライブなどが組み合わせされて構成されている。記憶部２０６はＷｅｂアプリケーション２０７、Ｗｅｂアプリケーション２０７、装置情報リスト２１６を記憶している。Ｗｅｂアプリケーション２０７は、「プリント」、「スキャン」、「はがき作成」の３つの機能を備えている。「プリント」及び「スキャン」機能は、ＰＣ１００と通信可能に接続された複合機２０に、プリント及びスキャンを実行させる機能であり、「はがき作成」機能は、はがきの通信面に印刷するための画像データを作成する機能である。Ｗｅｂアプリケーション２０７は、これら３つの機能を実行する機能スクリプト２１０と、機能スクリプト２１０の実行の認証を行う認証スクリプト２１２とから構成されたスクリプト２０８を含んでいる。ユーザは、ＰＣ１００のＷｅｂブラウザ１１２上で、Ｗｅｂアプリケーション２０７によってアプリケーション２０８を取得すると、認証スクリプト２１２により、認証処理が実行される。認証に成功すると、機能スクリプト２１０の実行が許可され、機能スクリプト２１０を実行することができる。装置情報リスト２１６は、Ｗｅｂアプリケーション２０７の提供者が登録した、Ｗｅｂアプリケーション２０７の機能の実行を許可する外部通信装置の装置情報のリストである。
【００３４】
サーバ２００を構成する各構成要素は、相互に接続されている。
【００３５】
サーバ２００とＰＣ１００との通信はＨＴＴＰに従って行われる。すなわち、サーバ２００はＰＣ１００（Ｗｅｂブラウザ１１２）からＨＴＴＰリクエストを受け付け、このＨＴＴＰリクエストに含まれるＵＲＬに基づいて、情報を送信する。
【００３６】
なお、記憶部３３、記憶部１１０、記憶部２０６は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００３７】
また、本明細書中の「データ」とは、コンピュータによって取り扱い可能なビット或いはビット列であり、各ビットが示す意味内容をコンピュータが考慮することなく取り扱えるものを指す。
【００３８】
[Ｗｅｂアプリケーションシステム１０の動作]
図３から図７を参照して、本実施形態に係るＷｅｂアプリケーションシステム１０の動作を説明する。なお、本実施形態に係る複合機２０及びＰＣ１００は、同一のユーザが所持しているものとする。
【００３９】
図３において、ＰＣ１００の制御プログラム１１４は、ユーザによるＷｅｂブラウザ１１２の操作に従って、通信部１０８を通じて、サーバ２００にスクリプト２０８の取得要求を送信する（Ｓ１００）。サーバ２００のＷｅｂアプリケーション２０７は、通信部２０４を通じてＰＣ１００からスクリプト２０８の取得要求を受信すると（Ｓ１１０）、通信部２０４を通じてＰＣ１００にスクリプト２０８を送信する（Ｓ１２０）。ＰＣ１００の制御プログラム１１４は、通信部１０８を通じてサーバ２００からスクリプト２０８を受信すると（Ｓ１３０）、スクリプト２０８を実行する。具体的には、スクリプト２０８に含まれる認証スクリプト２１２に従って、機能スクリプト２１０の実行の認証を行う認証処理を開始する（Ｓ１４０）。図４、図５を参照して、認証処理の詳細を説明する。
【００４０】
Ｓ１５０において、認証スクリプト２１２は、図６（Ａ）に示す、認証処理を行っていることをユーザに報知する認証処理報知画面６０を、表示部１０６に表示する。ユーザが認証スクリプト２１２を実行する際に、認証が行われることを知らない場合がある。そのため、認証処理報知画面６０を表示することで、ユーザは認証処理が行われていることを認知することができる。
【００４１】
Ｓ１６０において、認証スクリプト２１２は、ＰＣ１００自身に設定されたローカルＩＰアドレスとサブネットマスクを取得する。
【００４２】
Ｓ１７０において、認証スクリプト２１２は、サブネットマスクを取得できたか否かを判断する。否定判断する場合（Ｓ１７０：Ｎｏ）には、Ｓ１７５へ進む。Ｓ１７５において、認証スクリプト２１２は、サブネットマスクの値を「２５５．２５５．２５５．０」と決定する。これは、ＩＰｖ４方式で割り振ったローカルＩＰアドレスでは、上位４８ビットは、ネットワークアドレス部と定められているためである。そのため、Ｓ１６０のサブネットマスクの取得と、Ｓ１７０の処理は必須ではなく、Ｓ１６０でＰＣ１００のローカルＩＰアドレスのみを取得し、Ｓ１７５の処理でサブネットマスクの値を決定してもよい。
【００４３】
一方で、Ｓ１７０において、認証スクリプト２１２は、肯定判断する場合（Ｓ１７０：Ｙｅｓ）及び、Ｓ１７５の処理の後には、Ｓ１８０へ進む。Ｓ１８０において、認証スクリプト２１２は、Ｓ１６０で取得した自身のＩＰアドレスからネットワークアドレス部を抽出する。この処理は、Ｓ１６０で取得、あるいはＳ１７５で決定したサブネットマスクと、Ｓ１６０で取得したＩＰアドレスとの論理演算を行うことで実行できる。このとき、サブネットマスクによって指定されているホストアドレス部のビット数を取得する。
【００４４】
Ｓ１９０において、認証スクリプト２１２は、ホストアドレス部を初期状態に設定する。初期状態では、ホストアドレス部を構成するビット列の全ビットを「０」に設定する。
【００４５】
Ｓ２００において、認証スクリプト２１２は、ホストアドレス部とＳ１８０で抽出されたネットワークアドレス部とを合成して、仮ＩＰアドレスを生成する。
【００４６】
Ｓ２１０において、認証スクリプト２１２は、通信部１０８を通じて、Ｓ２００で生成した仮ＩＰアドレスに、ＨＴＴＰリクエストを送信する。仮ＩＰアドレスが、複合機２０の有するローカルＩＰアドレスと一致する場合、このＨＴＴＰリクエストは、複合機２０のＨＴＴＰサーバ３７に送信され、Ｓ２２０からＳ２３０の処理が実行される。Ｓ２２０において、複合機２０の制御プログラム３５は、通信部２７を通じてＰＣ１００からＨＴＴＰリクエストを受信し、Ｓ２３０において、通信部２７を通じてＰＣ１００に、ＨＴＴＰレスポンスとしてＨＴＭＬファイル４０を送信する。
【００４７】
Ｓ２４０及びＳ２５０において、認証スクリプト２１２は、仮ＩＰアドレスを用いたＨＴＴＰ通信が成功したか否かを判断する。具体的には、Ｓ２４０において、認証スクリプト２１２は通信部１０８を通じてサーバ２００から、ＨＴＴＰレスポンスを受信したか否かを判断する。否定判断する場合（Ｓ２４：Ｎｏ）には、ＨＴＴＰリクエストを要求してから所定時間（例えば５秒）が経過したか否かを判断する（Ｓ２５０）。Ｓ２５０において、否定判断する場合（Ｓ２５０：Ｎｏ）は、Ｓ２４０へ戻り、ＨＴＴＰレスポンスを受信する（Ｓ２４０：Ｙｅｓ）か、所定時間が経過する（Ｓ２５０：Ｙｅｓ）までＳ２４０及びＳ２５０を繰り返す。
【００４８】
Ｓ２４０において肯定判断する場合（Ｓ２４０：Ｙｅｓ）には、Ｓ２６０へ進む。Ｓ２６０において、認証スクリプト２１２は、受信したＨＴＴＰレスポンスが、所定の外部通信装置から受信したＨＴＴＰレスポンスであるか否かを判断する。具体的には、認証スクリプト２１２は、Ｓ２４０で受信したＨＴＭＬファイル４０（図７（Ａ））からタグのみを抽出した文字列と、フォーマット５０（図７（Ｂ））との文字列比較を行い、文字列が一致すれば、所定の外部通信装置であると判断する。フォーマット５０は、所定の外部通信装置から受信するＨＴＭＬファイル４０のタグのみを抽出した文字列である。所定の外部通信装置とは、予め決められた通信方式で通信した際に、予め決められたフォーマットに従ったデータをレスポンスする装置である。
【００４９】
Ｓ２５０において、肯定判断する場合（Ｓ２５０：Ｙｅｓ）及び、Ｓ２６０において、否定判断する場合（Ｓ２６０：Ｎｏ）には、Ｓ２７０へ進む。Ｓ２７０において、認証スクリプト２１２は、ホストアドレス部を構成するビット列の全ビットが「１」であるか否かを判断する。全ビットが「１」でない場合（Ｓ２７０：ＮＯ）には、まだホストアドレス部の全てのパターンについて通信を試行していない場合であると判断し、Ｓ２８０へ進む。Ｓ２８０において、認証スクリプト２１２は、ホストアドレス部のビット列を、インクリメントする。そしてＳ２００へ戻る。
【００５０】
Ｓ２７０において、肯定判断する場合（Ｓ２７０：Ｙｅｓ）には、Ｓ３６０へ進む。Ｓ３６０において、認証スクリプト２１２は、図６の（Ｃ）に示す、認証に失敗したことを示す認証失敗画面６４を表示部１０６に表示し、認証処理を終了する。
【００５１】
一方、Ｓ２６０において、肯定判断する場合（Ｓ２６０：Ｙｅｓ）には、Ｓ３７０へ進む。
【００５２】
Ｓ３７０において、認証スクリプト２１２は、複合機２０から受信したＨＴＴＰレスポンスであるＨＴＭＬファイル４０を、通信部１０８を通じてサーバ２００に送信する。
【００５３】
Ｓ３８０において、サーバ２００のＷｅｂアプリケーション２０７は、通信部２０４を通じてＰＣ１００から、ＨＴＭＬファイル４０を受信する。
【００５４】
Ｓ３９０において、Ｗｅｂアプリケーション２０７は、ＨＴＭＬファイル４０から装置情報を抽出する。例えば、装置情報の一例である、シリアルナンバーを抽出する場合には、図７（Ａ）に示す、「Ｓｅｒｉａｌ．ｎｏ」という文字列４５を検索し、次の行のタグ４６とタグ４７で囲まれた文字列４８をシリアルナンバーとして抽出する。なお、Ｓ２６０にて肯定判断（Ｓ２６０：Ｙｅｓ）する場合に、ＰＣ１０２の認証スクリプト２１２が、ＨＴＭＬファイル４０から装置情報を抽出する該処理を実行し、Ｓ３７０にて、抽出した装置情報を、通信部１０８を通じて、ＰＣ１０２からサーバ２００へ送信してもよい。
【００５５】
Ｓ４００において、Ｗｅｂアプリケーション２０７は、Ｓ３９０で抽出した装置情報が装置情報リスト２１６に登録されているか否かを判断する。具体的には、Ｓ３９０で抽出した装置情報と装置情報リスト２１６を照合し、一致する装置情報があるか否かを判断する。否定判断する場合（Ｓ４００：Ｎｏ）には、通信部２０４を通じてＰＣ１００に、認証失敗情報を送信する（Ｓ４１０）。ＰＣ１００の認証スクリプト２１２は、認証失敗情報を受信すると（Ｓ４２０）、図６（Ｃ）に示す、認証スクリプト２１２の認証に失敗したことを示す認証失敗画面６４を表示部１０６に表示し（Ｓ４３０）、Ｓ２９０へ戻る。
【００５６】
一方で、Ｓ４００において、Ｗｅｂアプリケーション２０７が、肯定判断する場合（Ｓ４００：Ｙｅｓ）には、Ｓ４４０へ進む。Ｓ４４０において、Ｗｅｂアプリケーション２０７は、通信部２０４を通じてＰＣ１００に、認証成功情報を送信する。
【００５７】
ＰＣ１００の認証スクリプト２１２は、Ｓ４５０において、通信部１０８を通じてサーバ２００から、認証成功情報を受信する。
【００５８】
Ｓ４６０において、認証スクリプト２１２は、機能スクリプト２１０の実行を許可し、図６（Ｄ）に示す、認証成功画面６６を表示部１０６に表示し、認証処理を終了する。認証成功画面６６には、認証スクリプト２１２の３つの機能を実行することができる機能ボタン６７が配置され、ユーザは、機能ボタン６７を操作部１０４のマウスでクリックすることで、機能スクリプト２１０を実行することができる。
【００５９】
[本実施形態の作用効果]
上記の実施形態によれば、複合機２０からＨＴＭＬファイル４０を受信し（Ｓ２４０：Ｙｅｓ）且つ、ＨＴＭＬファイル４０により所定の外部通信装置であると判断した（Ｓ２６０：Ｙｅｓ）場合に、Ｗｅｂアプリケーション２０７の機能を実行する機能スクリプト２１０の実行を許可する（Ｓ４６０）。これにより、所定の外部通信装置を使用しているユーザに対して、アカウントを取得させることなく、Ｗｅｂアプリケーション２０７の実行を好適に許可することができる。
【００６０】
また、上記の実施形態によれば、ＨＴＭＬファイル４０から抽出した装置情報が予めサーバ２００内の装置情報リスト２１６に登録されている場合は（Ｓ４００：Ｙｅｓ）、Ｗｅｂアプリケーションの２０８の機能を実行する機能スクリプト２１０の実行を許可する（Ｓ４６０）。そのため、Ｗｅｂアプリケーション２０７の提供者は、サーバ２００に登録した外部通信装置を使用しているユーザに対して、Ｗｅｂアプリケーション２０７の実行を好適に許可することができる。
【００６１】
また、上記の実施形態によれば、ＰＣ１００のローカルＩＰアドレスを取得し（Ｓ１６０）、ＰＣ１００のローカルＩＰアドレスからネットワーク部を抽出して（Ｓ１８０）、ホストアドレス部を生成し（Ｓ１９０）、それらを用いて仮ＩＰアドレスを生成することで（Ｓ２００）、通信する外部通信装置を特定するローカルＩＰアドレスを自動で生成している。これにより、複合機２０を通信する外部通信装置として特定するローカルＩＰアドレスを、ユーザの手を煩わせることなく自動で取得できる。
【００６２】
また、上記の実施形態によれば、装置情報を含んだＨＴＭＬファイル４０を提供する機能を、複合機２０が有する場合、所定の外部通信装置か否かを判断するための識別情報をレスポンスするための固有の機能を、複合機２０に実装することなく、Ｗｅｂアプリケーション２０７の実行を好適に許可することができるため、開発コストを低減することができる。更に、ＨＴＭＬファイル４０から装置情報を抽出する処理をサーバ２００で行う（Ｓ３９０）ことにより、ＰＣ１００で実行する場合に比べて処理時間を短くすることができる。
【００６３】
＜第２実施形態＞
第２実施形態では、認証スクリプト７１２は、外部通信装置のローカルＩＰアドレスをユーザに入力させて取得し、Ｗｅｂアプリケーション７０７の実行の認証に成功した際に、通信した外部通信装置の能力に応じて、ユーザに実行を許可する機能スクリプト７１０を限定する形態である。なお、第２実施形態は、第１実施形態の複合機２０がプリンタ６００に置き換わった形態であり、第１実施形態と同様の構成であるものには、同じ番号を振り、説明を省略する。図８を参照して、Ｗｅｂアプリケーションシステム５００の概略について説明する。第２実施形態のＷｅｂアプリケーションシステム５００は、プリンタ６００、ＰＣ６５０、サーバ７００及びアクセスポイント８０で構成されている。図９に示すように、プリンタ６００は、ＣＰＵ６０２、操作部６０４、表示部６０６、通信部６０８、印刷部６１０、記憶部６１２を主に備えており、第１実施形態の複合機２０から読取部３１を除いたものである。ＰＣ６５０は、ＣＰＵ６５２、操作部６５４、表示部６５６、通信部６５８、記憶部６６０を主に備えており、第１実施形態のＰＣ１００と同様の構成である。サーバ７００は、ＣＰＵ７０２、通信部７０４、記憶部７０６を主に備え、第１実施形態のサーバ２００と同様の構成をしており、記憶部７０６に記憶されている装置情報リスト７１０の装置情報それぞれに、製品の能力（例えば、印刷解像度、色数、スキャン解像度、スキャン機能やプリント機能といった各機能の有無）を示す能力情報を紐付けて記憶している。
【００６４】
[Ｗｅｂアプリケーションシステム５００の動作]
図１０と図１１を参照して、本実施形態に係るＷｅｂアプリケーションシステム５００の動作を説明する。なお、図３に係る処理は第１実施形態と全て同一であるため、説明を省略する。また、図１０、図１１においても、第１実施形態と同様の処理は同じ番号を振り、説明を省略する。
【００６５】
Ｓ９００において、認証スクリプト７１２は、図１２に示す、プリンタ６５０のＩＰアドレスの入力をユーザから受け付けるＩＰアドレス入力受付画面８００を表示部６５６に表示する。ユーザはＩＰアドレス入力受付画面６２のＩＰアドレスの入力領域８０２に、プリンタ６５０のＩＰアドレスを入力する。
【００６６】
Ｓ９１０において、認証スクリプト７１２は、通信部６５８を通じて、Ｓ９００で受け付けたＩＰアドレスに、ＨＴＴＰリクエストを送信する。所定時間以内にＨＴＴＰレスポンスを受信できなかった場合（Ｓ２５０：Ｙｅｓ）には、Ｓ３６０へ進み、認証失敗画面６４を表示部６５６に表示した後に、Ｓ９００へ戻る。
【００６７】
一方で、ＨＴＴＰレスポンスを受信できた場合（Ｓ２４０：Ｙｅｓ）には、Ｓ２６０へ進み、Ｓ４００まで第１実施形態と同様の処理を行う。Ｓ４００において、Ｗｅｂアプリケーション７０７が、肯定判断する場合（Ｓ４００：Ｙｅｓ）には、Ｓ１０００へ進む。Ｓ１０００において、Ｗｅｂアプリケーション７０７は、通信部７０４を通じてＰＣ６５０に、装置情報に紐づいて記憶されているプリンタ６００の能力情報を送信する。
【００６８】
認証スクリプト７１２は、Ｓ１０１０において、通信部６５８を通じてサーバ２００から、プリンタ６００の能力情報を受信する。ここで、能力情報は、装置情報リストの中にＳ１０１０で抽出したシリアルナンバーと一致するものがあったことを示す認証成功情報の役割も兼ねている。
【００６９】
認証スクリプト７１２は、Ｓ１０１０で能力情報を受信すると、Ｓ１０２０において、機能スクリプト７１０の実行の認証に成功したと判断し、能力情報に基づいて、プリンタ６００が実行可能な機能スクリプト７１０を使用できる認証成功画面８０４（図１２）を表示部６５６に表示する。本実施形態では、認証スクリプト７１２は、プリンタ６００の能力情報から、Ｗｅｂアプリケーション７０７の提供する機能の中のスキャン機能を実行不可と判断し、プリンタ６００が実行できる「プリント」、「はがき作成」に関する機能スクリプト７１０の実行を許可する。そして、認証スクリプト７１２は、プリンタ６００が実行できる機能スクリプト７１０を実行することができる認証成功画面８０４を表示部６５６に表示し、認証処理を終了する。認証成功画面８０４には、プリンタ６００が実行できないスキャンに関する機能スクリプト７１０を実行するためのボタンを除くＷｅｂアプリケーション７０７の機能を実行することができる機能ボタン８１０が配置されており、ユーザは、機能ボタン８１０を操作部６５４のマウスでクリックすることで、機能スクリプト７１０を実行することができる。
【００７０】
[本実施形態の作用効果]
上記の実施形態によれば、通信する外部通信装置を特定するローカルＩＰアドレスをユーザに入力させる（Ｓ９００）。従って、ＣＰＵ１０２は、通信する外部通信装置を特定するローカルＩＰアドレスを短時間に特定することができる。
【００７１】
また、上記の実施形態によれば、プリンタ６００が実行可能であるＷｅｂアプリケーション７０７の機能スクリプト２１０のみ、実行を許可する（Ｓ１０２０）。これにより、ユーザは、Ｗｅｂアプリケーション７０７を利用する際に、プリンタ６００が実行できない機能を実行することがなくなるため、ユーザにとって好適にＷｅｂアプリケーションの実行を許可することができる。
【００７２】
＜変形例＞
第１実施形態では、Ｓ２６０にて、ＨＴＭＬファイル４０とフォーマット５０が一致し、且つＳ４００にて、ＨＴＭＬファイル４０から抽出したシリアルナンバーが装置情報リストに登録されていた場合に、認証成功とし、機能スクリプト２１０の実行を許可する。しかしながら、Ｓ３７０からＳ４２０及びＳ４４０、Ｓ４５０の処理は必須ではなく、Ｓ２６０において、ＨＴＭＬファイル４０とフォーマット５０が一致した場合には（Ｓ２６０：Ｙｅｓ）、認証成功として、Ｓ４６０の処理を実行し、ＨＴＭＬファイル４０とフォーマット５０が一致しない場合には（Ｓ２６０：Ｎｏ）、認証失敗として、Ｓ４３０の処理を実行する形態でもよい。
【００７３】
また、Ｓ２６０の処理で、通信する外部通信装置が、所定の外部通信装置であるか否かを判断する方法は、ＨＴＭＬファイル４０とフォーマット５０を比較する方法に限られない。例えば、ＨＴＴＰサーバ３７に、所定の外部通信装置であることを示す、予め定められた値を返す固有の機能を実装し、Ｓ２６０において、定められた値が返ってきたか否かによって、所定の外部通信装置であるか否かを判断してもよい。
【００７４】
また、装置情報リスト２１６をスクリプト２０８と共にサーバ２００から取得し、Ｓ４００の処理をＰＣ１００で行ってもよい。
【００７５】
また、Ｓ９００において、Ｓ１６０からＳ１８０までの処理で取得したネットワークアドレス部をＩＰアドレス入力受付画面８００で表示し、プリンタ６００のホストアドレス部のみの入力を受け付けてもよい。
【００７６】
また、Ｓ１０２０において、能力情報に基づいて、機能スクリプト２１０が提供する機能の中から、プリンタ６００が実行可能である機能を判断しているが、この判断は、サーバ２００で行ってもよい。
【００７７】
また、Ｓ１０２０の代わりに、あらかじめ装置情報リスト７１０の各シリアルナンバーに、機能スクリプト７１０が提供する各機能のいずれが実行可能であるか否かを示す情報を紐付けて記憶しておく方法でもよい。
【００７８】
Ｓ２３０の処理は、第１送信処理の一例である。Ｓ１２０の処理は、第２送信処理の一例である。Ｓ１３０の処理は、第１受信処理の一例である。Ｓ２００及びＳ９００の処理は、特定処理の一例である。Ｓ２１０及びＳ９１０の処理は、要求処理の一例である。Ｓ２６０の処理は、第１判断処理の一例である。Ｓ４６０の処理は、実行許可処理の一例である。Ｓ３８０の処理は、第２受信処理の一例である。Ｓ４００に処理は、第２判断処理の一例である。Ｓ４１０及びＳ４４０の処理は、第３送信処理の一例である。Ｓ３７０の処理は、第４送信処理の一例である。Ｓ４２０及びＳ４５０の処理は、第３受信処理の一例である。Ｓ１６０の処理は、取得処理の一例である。Ｓ１８０の処理は、ネットワーク抽出処理の一例である。Ｓ１９０の処理は、ホストアドレス生成処理の一例である。Ｓ２００の処理は、ＩＰアドレス生成処理の一例である。Ｓ９００の処理は、受付処理の一例である。Ｓ３９０の処理は、第１抽出処理及び第２抽出処理の一例である。Ｓ１０００の処理は、請求項７の第３送信処理の一例である。Ｓ１０１０の処理は、請求項７の第３受信処理の一例である。Ｓ１０２０の処理は、請求項７の実行許可処理の一例である。
【００７９】
ＰＣ１００は情報処理装置の一例である。複合機２０、プリンタ６００は外部通信装置の一例である。スクリプトはプログラムの一例である。ＣＰＵ２１及び記憶部３３は、第１制御部の一例である。ＣＰＵ２０２及び記憶部２０６は、第２制御部の一例である。ＣＰＵ１０２及び記憶部１１０は、第３制御部の一例である。ＨＴＭＬファイル４０は識別情報の一例である。
【符号の説明】
【００８０】
２０  複合機
６００  プリンタ
１００、６５０  ＰＣ
２００、７００  サーバ
２１、１０２、２０２、６０２、６５２、７０２  ＣＰＵ
２７、１０８、２０４、６０８、６５８、７０４  通信部
３３、１１０、２０６、６１２、６６０、７０６  記憶部
【図１】
2018151912.tif 000003
【図２】
2018151912.tif 000004
【図３】
2018151912.tif 000005
【図４】
2018151912.tif 000006
【図５】
2018151912.tif 000007
【図６】
2018151912.tif 000008
【図７】
2018151912.tif 000009
【図８】
2018151912.tif 000010
【図９】
2018151912.tif 000011
【図１０】
2018151912.tif 000012
【図１１】
2018151912.tif 000013
【図１２】
2018151912.tif 000014