(57)【要約】【課題】  多機能機のセキュリティを高めること。【解決手段】  メディア１８は、複数のアプリケーション７０〜７８とインストール実行プログラム８０を記憶している。インストール実行プログラム８０は、ＰＣ１０の制御部２８に以下の処理を実行させる。（１）複数のアプリケーション７０〜７８の中から１つ以上のアプリケーションをユーザが選択することを許容する処理（Ｓ７２）。（２）ユーザによって選択されたアプリケーションをインストールする処理（Ｓ７４）。（３）ユーザによって選択されたアプリケーションに対応しないポート番号をクローズすることを指示するリクエストを多機能機４０に送信する処理（Ｓ８０）。【選択図】  図５
2010009505.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションに対応する複数の機能を実行することが可能であり、前記複数の機能のそれぞれに対してポート番号が設定されており、かつ、外部からの機能実行指示に含まれるポート番号が設定されている機能を実行するという各特性を持つ機能実行装置に通信可能に接続される通信装置に、前記複数のアプリケーションをインストールするためのコンピュータプログラムであり、
通信装置に搭載されるコンピュータに、以下の処理、即ち、
前記複数の機能の中から１つ以上の機能をユーザが選択することを許容する選択許容処理と、
ユーザによって選択された機能に対応するアプリケーションをインストールするインストール処理と、
ユーザによって選択された機能に対して設定されていないポート番号をクローズすることを指示するポートクローズ指示を機能実行装置に送信するポートクローズ指示送信処理と
を実行させ、
前記複数のアプリケーションのそれぞれは、当該アプリケーションに対応する機能に対して設定されているポート番号を含む機能実行指示を機能実行装置に送信するためのアプリケーションである
ことを特徴とするコンピュータプログラム。
【請求項２】
前記コンピュータに、以下の処理、即ち、
ユーザ識別情報が機能実行装置に設定されているのか否かを機能実行装置に問い合わせるユーザ識別情報問合せ処理と、
ユーザ識別情報が機能実行装置に設定されていないことを条件として、ユーザ識別情報を機能実行装置に送信することによって当該ユーザ識別情報を機能実行装置に設定するユーザ識別情報設定処理と
をさらに実行させ、
機能実行装置に設定されているユーザ識別情報に対応するユーザに対しては、前記選択許容処理において前記複数の機能の全ての中から１つ以上の機能を選択することを許容し、前記インストール処理と前記ポートクローズ指示送信処理とを前記コンピュータに実行させる
ことを特徴とする請求項１のコンピュータプログラム。
【請求項３】
前記コンピュータに、以下の処理、即ち、
機能実行装置においてオープンされているポート番号に関する情報及び／又はクローズされているポート番号に関する情報を確認するポート確認処理
をさらに実行させ、
機能実行装置に設定されているユーザ識別情報に対応しないユーザに対しては、前記選択許容処理においてポート確認処理で確認されたオープンされているポート番号に対応する機能の中から１つ以上の機能を選択することを許容し、前記インストール処理を前記コンピュータに実行させる
ことを特徴とする請求項２のコンピュータプログラム。
【請求項４】
前記コンピュータに、以下の処理、即ち、
ポートクローズ指示が機能実行装置に過去に送信されたのか否かを機能実行装置に問い合わせる指示問合せ処理
をさらに実行させ、
ポートクローズ指示が機能実行装置に過去に送信されていないことを条件として、前記選択許容処理と、前記インストール処理と、前記ポートクローズ指示送信処理とを前記コンピュータに実行させ、
ポートクローズ指示が機能実行装置に過去に送信されていることを条件として、前記選択許容処理と、前記インストール処理と、ユーザによって選択された機能に対して設定されているポート番号をオープンすることを指示するポートオープン指示を機能実行装置に送信するポートオープン指示送信処理とを前記コンピュータに実行させる
ことを特徴とする請求項１に記載のコンピュータプログラム。
【請求項５】
複数のアプリケーションに対応する複数の機能を実行することが可能であり、前記複数の機能のそれぞれに対してポート番号が設定されており、かつ、外部からの機能実行指示に含まれるポート番号が設定されている機能を実行するという各特性を持つ機能実行装置に通信可能に接続される通信装置に、前記複数のアプリケーションをインストールするためのコンピュータプログラムであり、
通信装置に搭載されるコンピュータに、以下の処理、即ち、
前記複数のアプリケーションの中から１つ以上のアプリケーションをユーザが選択することを許容する選択許容処理と、
ユーザによって選択されたアプリケーションをインストールするインストール処理と、
ユーザによって選択されたアプリケーションに対応する機能に対して設定されていないポート番号をクローズすることを指示するポートクローズ指示を機能実行装置に送信するポートクローズ指示送信処理と
を実行させ、
前記複数のアプリケーションのそれぞれは、当該アプリケーションに対応する機能に対して設定されているポート番号を含む機能実行指示を機能実行装置に送信するためのアプリケーションである
ことを特徴とするコンピュータプログラム。
【請求項６】
前記コンピュータに、以下の処理、即ち
前記複数のアプリケーションのそれぞれについて、当該アプリケーションと、当該アプリケーションに対応する機能に対して設定されているポート番号とが関連づけられているポート番号リストから、ユーザによって選択されたアプリケーションに関連づけられていないポート番号を特定するポート番号特定処理
をさらに実行させ、
前記ポートクローズ指示送信処理は、ポート番号特定処理によって特定されたポート番号をクローズすることを指示するポートクローズ指示を機能実行装置に送信する処理である
ことを特徴とする請求項５に記載のコンピュータプログラム。
【請求項７】
複数のアプリケーションに対応する複数の機能を実行することが可能であり、前記複数の機能のそれぞれに対してポート番号が設定されており、かつ、外部からの機能実行指示に含まれるポート番号が設定されている機能を実行するという各特性を持つ機能実行装置と、その機能実行装置に通信可能に接続される通信装置とを備える機能実行システムであり、
通信装置は、
前記複数の機能の中から１つ以上の機能をユーザが選択することを許容する選択許容手段と、
ユーザによって選択された機能に対応するアプリケーションをインストールするインストール手段と、
ユーザによって選択された機能に関する選択機能情報及び／又はユーザによって選択されなかった機能に関する非選択機能情報を機能実行装置に送信する機能情報送信手段とを有し、
前記複数のアプリケーションのそれぞれは、当該アプリケーションに対応する機能に対して設定されているポート番号を含む機能実行指示を機能実行装置に送信するためのアプリケーションであり、
機能実行装置は、
通信装置から送信された選択機能情報及び／又は非選択機能情報を受信する機能情報受信手段と、
機能情報受信手段によって受信された選択機能情報及び／又は非選択機能情報に従って、ユーザによって選択された機能に対応しないポート番号をクローズするポートクローズ手段とを有する
ことを特徴とする機能実行システム。
【請求項８】
複数のアプリケーションに対応する複数の機能を実行することが可能であり、前記複数の機能のそれぞれに対してポート番号が設定されており、かつ、外部からの機能実行指示に含まれるポート番号が設定されている機能を実行するという各特性を持つ機能実行装置であり、
前記複数の機能の中から１つ以上の機能をユーザが選択することを許容し、ユーザによって選択された機能に対応するアプリケーションをインストールし、ユーザによって選択された機能に関する選択機能情報及び／又はユーザによって選択されなかった機能に関する非選択機能情報を機能実行装置に送信する通信装置と通信可能に接続されるインターフェイスと、
インターフェイスによって受信された選択機能情報及び／又は非選択機能情報に従って、ユーザによって選択された機能に対応しないポート番号をクローズするポートクローズ手段とを備え、
前記複数のアプリケーションのそれぞれは、当該アプリケーションに対応する機能に対して設定されているポート番号を含む機能実行指示を機能実行装置に送信するためのアプリケーションである
ことを特徴とする機能実行装置。
【請求項９】
複数のアプリケーションに対応する複数の機能を実行することが可能であり、前記複数の機能のそれぞれに対してポート番号が設定されており、かつ、外部からの機能実行指示に含まれるポート番号が設定されている機能を実行するという各特性を持つ機能実行装置と、その機能実行装置に通信可能に接続される通信装置とを備える機能実行システムであり、
通信装置は、
前記複数のアプリケーションの中から１つ以上のアプリケーションをユーザが選択することを許容する選択許容手段と、
ユーザによって選択されたアプリケーションをインストールするインストール手段と、
ユーザによって選択されたアプリケーションに関する選択アプリケーション情報及び／又はユーザによって選択されなかったアプリケーションに関する非選択アプリケーション情報を機能実行装置に送信するアプリケーション情報送信手段とを有し、
前記複数のアプリケーションのそれぞれは、当該アプリケーションに対応する機能に対して設定されているポート番号を含む機能実行指示を機能実行装置に送信するためのアプリケーションであり、
機能実行装置は、
通信装置から送信された選択アプリケーション情報及び／又は非選択アプリケーション情報を受信するアプリケーション情報受信手段と、
アプリケーション情報受信手段によって受信された選択アプリケーション情報及び／又は非選択アプリケーション情報に従って、ユーザによって選択されたアプリケーションに対応する機能に対して設定されていないポート番号をクローズするポートクローズ手段とを有する
ことを特徴とする機能実行システム。
【請求項１０】
複数のアプリケーションに対応する複数の機能を実行することが可能であり、前記複数の機能のそれぞれに対してポート番号が設定されており、かつ、外部からの機能実行指示に含まれるポート番号が設定されている機能を実行するという各特性を持つ機能実行装置であり、
前記複数のアプリケーションの中から１つ以上のアプリケーションをユーザが選択することを許容し、ユーザによって選択されたアプリケーションをインストールし、ユーザによって選択されたアプリケーションに関する選択アプリケーション情報及び／又はユーザによって選択されなかったアプリケーションに関する非選択アプリケーション情報を機能実行装置に送信する通信装置と通信可能に接続されるインターフェイスと、
インターフェイスによって受信された選択アプリケーション情報及び／又は非選択アプリケーション情報に従って、ユーザによって選択されたアプリケーションに対応する機能に対して設定されていないポート番号をクローズするポートクローズ手段とを備え、
前記複数のアプリケーションのそれぞれは、当該アプリケーションに対応する機能に対して設定されているポート番号を含む機能実行指示を機能実行装置に送信するためのアプリケーションである
ことを特徴とする機能実行装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機能実行装置に機能を実行させるアプリケーションを通信装置にインストールするためのコンピュータプログラムに関する。また、機能実行装置と通信装置とを備える機能実行システムに関する。なお、本明細書の「機能実行装置」という用語は、最も広義に解釈されるべきものであり、機能を実行することができるあらゆる装置を含む概念である。「機能実行装置」の一例として、プリンタ、多機能機、サーバ、ＰＣ等を挙げることができる。また、本明細書の「通信装置」という用語は、最も広義に解釈されるべきものであり、機能実行装置に通信可能に接続されるあらゆる装置を含む概念である。「通信装置」の一例として、サーバ、ＰＣ等を挙げることができる。
【背景技術】
【０００２】
機能実行装置に機能を実行させるアプリケーションを通信装置にインストールすることが広く行なわれている。例えば、下記の特許文献１には、プリンタに通信可能に接続されるＰＣにプリンタドライバアプリケーションをインストールすることが開示されている。ＰＣは、プリンタドライバアプリケーションを起動することによって、印刷機能実行指示をプリンタに送信することができる。プリンタは、ＰＣから送信された印刷機能実行指示に従って、印刷機能を実行することができる。
【０００３】
【特許文献１】特開２００５−３３７７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
複数の機能を実行することが可能である機能実行装置が存在する。例えば、プリンタの中には、印刷機能のみならず、外部からの指示に応じて自身のステータス情報を送信するステータス情報送信機能や、外部からの指示に応じて設定を変更する設定変更機能等を実行することが可能であるものが存在する。これらの様々な機能を機能実行装置に実行させるためには、それらの機能に対応する複数のアプリケーションを通信装置にインストールする必要がある。
【０００５】
例えば、ＴＣＰ／ＩＰの場合、６５５３５個のポート番号を利用して通信することができる。外部からの機能実行指示に応じて複数の機能を実行する機能実行装置では、個々の機能に対してポート番号が設定されている。通信装置にインストールされるアプリケーションは、そのアプリケーションに対応する機能に対して設定されているポート番号を含む機能実行指示を送信する。機能実行装置は、機能実行指示に含まれるポート番号が設定されている機能を実行する。ポート番号を含む機能実行指示を通信することによって、機能実行装置は、いずれの機能を実行すればよいのかを特定することができる。
【０００６】
機能実行装置では、複数のポート番号のそれぞれをオープン状態とクローズ状態のいずれの状態に設定することができる。機能実行装置は、クローズ状態のポート番号を含む機能実行指示が受信された場合、その機能実行指示に従って機能を実行しない。従って、外部からの機能実行指示に従って機能実行装置が機能を実行するためには、その機能に対して設定されているポート番号をオープン状態にしておく必要がある。しかしながら、オープン状態のポート番号が存在すると、そのポート番号を使用して不正なアクセスが行なわれる可能性がある。必要なポート番号のみをオープン状態に設定し、不要なポート番号をクローズ状態に設定することが好ましい。
【０００７】
本明細書では、不要なポート番号をクローズすることによって機能実行装置のセキュリティを高めることができる技術を提供する。
【課題を解決するための手段】
【０００８】
本明細書では、機能実行装置に通信可能に接続される通信装置に複数のアプリケーションをインストールするためのコンピュータプログラムを開示する。コンピュータプログラムは、メディアに記憶されているものであってもよいし、インターネット等の外部ネットワークからダウンロードされるものであってもよい。機能実行装置は、複数のアプリケーションに対応する複数の機能を実行することが可能であり、上記の複数の機能のそれぞれに対してポート番号が設定されており、かつ、外部からの機能実行指示に含まれるポート番号が設定されている機能を実行するという各特性を持っている。上記の「複数のアプリケーションに対応する複数の機能」は、個々のアプリケーションに対して１つの機能が存在することのみを意味するのではない。１つのアプリケーションに対応する複数の機能が存在してもよいし、２以上のアプリケーションに対応する１つの機能が存在してもよい。また、１つの機能に対して１つのポート番号のみが設定されていてもよいし、１つの機能に対して２つ以上のポート番号が設定されていてもよい。なお、「機能」という用語は、「サービス」と言い換えることができる。
【０００９】
なお、上記の複数のアプリケーションのそれぞれは、そのアプリケーションに対応する機能に対して設定されているポート番号を含む機能実行指示を機能実行装置に送信する。機能実行装置は、機能実行指示に含まれるポート番号に対して設定されている機能を実行する。本明細書では、機能に対してポート番号が設定されており、そのポート番号を含む機能実行指示を送信するアプリケーションが存在する関係のことを、「アプリケーションに対応する機能」と表現している。「アプリケーションに対応する機能」という用語は、「アプリケーションに従って実行される機能」と言い換えることもできる。
【００１０】
上記のコンピュータプログラムは、通信装置に搭載されるコンピュータに、選択許容処理とインストール処理とポートクローズ指示送信処理とを実行させる。選択許容処理は、上記の複数の機能の中から１つ以上の機能をユーザが選択することを許容する。インストール処理は、ユーザによって選択された機能に対応するアプリケーションをインストールする。ポートクローズ指示送信処理は、ユーザによって選択された機能に対して設定されていないポート番号をクローズすることを指示するポートクローズ指示を機能実行装置に送信する。なお、上記の各処理の順序は特に限定されない。例えば、インストール処理がポートクローズ指示送信処理より先に実行されてもよいし、ポートクローズ指示送信処理がインストール処理より先に実行されてもよい（同時に実行されてもよい）。例えば、インストール処理を実行した後にポートクローズ指示送信処理を実行すると、インストールに失敗したり、ユーザがインストール処理の途中でキャンセル指示を行った場合でも、インストールされたアプリケーションと機器の状態との整合性が得られる。
【００１１】
機能実行装置が機能Ｆ１と機能Ｆ２と機能Ｆ３を実行することが可能であり、機能Ｆ１に対してポート番号Ｐ１が設定されており、機能Ｆ２に対してポート番号Ｐ２が設定されており、機能Ｆ３に対してポート番号Ｐ３が設定されている場合を例にして、上記のコンピュータプログラムの作用を説明する。しかも、この例では、機能Ｆ１に対応するアプリケーションＡ１と、機能Ｆ２に対応するアプリケーションＡ２と、機能Ｆ３に対応するアプリケーションＡ３が存在するものとする。通信装置のユーザは、３つの機能Ｆ１，Ｆ２，Ｆ３の中から任意の機能を選択することができる。ユーザによって選択された機能がＦ１とＦ２である場合（Ｆ３が選択されなかった場合）、通信装置には、少なくとも２つのアプリケーションＡ１，Ａ２がインストールされる（アプリケーションＡ３はインストールされてもよいし、インストールされなくてもよい）。さらに、この場合、ポート番号Ｐ３をクローズすることを指示するポートクローズ指示が機能実行装置に送信される。この結果、機能実行装置は、ポート番号Ｐ３をクローズする。ユーザによって選択された機能Ｆ１，Ｆ２に対して設定されていないポート番号Ｐ３をクローズすることができる。即ち、ユーザによって選択されなかったために機能実行装置で実行されないと考えられる機能Ｆ３に対して設定されているポート番号Ｐ３をクローズすることができる。このために、機能実行装置のセキュリティを高めることができる。
【００１２】
なお、上記の例の場合、ポートクローズ指示は、ポート番号Ｐ３のみをクローズすることを指示するものであってもよいし、ポート番号Ｐ１，Ｐ２以外の全てのポート番号をクローズすることを指示するものであってもよい。また、機能実行装置が上記の複数のアプリケーションのいずれにも対応しない機能を実行することが可能であり、その機能に対してポート番号Ｐ４が設定されている場合、ポートクローズ指示は、ポート番号Ｐ１，Ｐ２，Ｐ４以外の全てのポート番号をクローズすることを指示するものであってもよい。
【００１３】
また、例えば、機能実行装置が初期状態において全てのポート番号をクローズしている場合、上記のポートクローズ指示は、ユーザによって選択された機能Ｆ１，Ｆ２に対して設定されているポート番号Ｐ１，Ｐ２をオープンすることを指示するものであってもよい。この場合、ポート番号Ｐ１，Ｐ２がオープンされ、ユーザによって選択された機能Ｆ１，Ｆ２に対して設定されていないポート番号Ｐ３はクローズ状態が維持される。この場合も、上記のポートクローズ指示を送信することに等しい。
【００１４】
上記のコンピュータプログラムは、コンピュータにユーザ識別情報問合せ処理とユーザ識別情報設定処理とをさらに実行させてもよい。ユーザ識別情報問合せ処理は、ユーザ識別情報が機能実行装置に設定されているのか否かを機能実行装置に問い合わせる。ユーザ識別情報設定処理は、ユーザ識別情報が機能実行装置に設定されていないことを条件として、ユーザ識別情報を機能実行装置に送信することによって当該ユーザ識別情報を機能実行装置に設定する。この場合、コンピュータプログラムは、機能実行装置に設定されているユーザ識別情報に対応するユーザに対しては、選択許容処理において上記の複数の機能の全ての中から１つ以上の機能を選択することを許容し、インストール処理とポートクローズ指示送信処理とを上記のコンピュータに実行させてもよい。
【００１５】
上記の構成によると、機能実行装置に設定されているユーザ識別情報に対応するユーザは、全ての機能の中から任意の機能を選択することができる。このユーザによって選択された機能に対して設定されていないポート番号が機能実行装置でクローズされる。
【００１６】
なお、「機能実行装置に設定されているユーザ識別情報に対応するユーザ」であるのか否かを判断するための手法を以下に例示しておく。以下に例示された手法以外が利用されてもよい。
（１）通信装置にユーザ識別情報を入力することをユーザに許容する。ユーザ識別情報を通信装置から機能実行装置に送信する。機能実行装置は、自身に設定されているユーザ識別情報と通信装置から送信されたユーザ識別情報が一致するのか否かを判断する。機能実行装置は、両者が一致するのか否かを示す情報を通信装置に送信する。この手法では、ユーザ識別情報の認証が機能実行装置で行なわれる。
（２）通信装置にユーザ識別情報を入力することをユーザに許容する。機能実行装置は、自身に設定されているユーザ識別情報を通信装置に送信する。通信装置は、通信装置に入力されたユーザ識別情報と機能実行装置から送信されたユーザ識別情報とが一致するのか否かを判断する。この手法では、ユーザ識別情報の認証が通信装置で行なわれる。
（３）なお、ユーザ識別情報は、１種類の情報であってもよいし、複数種類の情報の組合せであってもよい。例えば、ユーザ識別情報は、ユーザＩＤとパスワードの組合せであってもよい。
【００１７】
また、上記のコンピュータプログラムは、コンピュータにポート確認処理をさらに実行させてもよい。ポート確認処理は、機能実行装置においてオープンされているポート番号に関する情報及び／又はクローズされているポート番号に関する情報を確認する。この場合、コンピュータプログラムは、機能実行装置に設定されているユーザ識別情報に対応しないユーザに対しては、選択許容処理においてポート確認処理で確認されたオープンされているポート番号に対応する機能の中から１つ以上の機能を選択することを許容し、インストール処理をコンピュータに実行させてもよい。この場合、ポートクローズ指示送信処理をコンピュータに実行させなくてもよい。
【００１８】
上記の構成によると、機能実行装置に設定されているユーザ識別情報に対応するユーザをいわゆる管理者として扱うことができるようになる。即ち、管理者のみが全ての機能の中から任意の機能を選択することができ、管理者によって選択された機能に対して設定されていないポート番号をクローズすることができる。管理者以外のユーザは、管理者によって選択された機能の中からしか機能を選択することができない。管理者の選択に従って機能実行装置でクローズされているポート番号が、管理者以外のユーザによってオープンされないので、管理者の意図しないポートがオープンになることを防ぐことができる。
【００１９】
上記のコンピュータプログラムは、コンピュータに指示問合せ処理をさらに実行させてもよい。指示問合せ処理は、ポートクローズ指示が機能実行装置に過去に送信されたのか否かを機能実行装置に問い合わせる。この場合、コンピュータプログラムは、ポートクローズ指示が機能実行装置に過去に送信されていないことを条件として、選択許容処理と、インストール処理と、ポートクローズ指示送信処理とをコンピュータに実行させてもよい。また、コンピュータプログラムは、ポートクローズ指示が機能実行装置に過去に送信されていることを条件として、選択許容処理と、インストール処理と、ユーザによって選択された機能に対して設定されているポート番号をオープンすることを指示するポートオープン指示を機能実行装置に送信するポートオープン指示送信処理とをコンピュータに実行させてもよい。
【００２０】
上記の構成によると、ユーザは、他のユーザの選択に従って過去にクローズされたポート番号が存在している場合であっても、そのポート番号が設定されている機能を選択し、そのポート番号をオープンさせることができる。
【００２１】
なお、上記のポートオープン指示送信処理の具体的な手法を以下に例示しておく。以下に例示された手法以外が利用されてもよい。
（１）通信装置（コンピュータ）は、選択許容処理でユーザによって選択された機能に対応するポート番号（以下では「ユーザ選択ポート番号」と呼ぶ）がオープンされているのか否かを機能実行装置に問い合わせる。この結果、通信装置は、ユーザ選択ポート番号の中でクローズされているポート番号がわかる。ポートオープン指示送信処理では、ユーザ選択ポート番号の中でクローズされているポート番号をオープンすることを指示する。
（２）通信装置（コンピュータ）は、各ポート番号の現在の状態（オープン状態又はクローズ状態）を機能実行装置に問い合わせる。この結果、通信装置は、オープンされているポート番号とクローズされているポート番号がわかり、ユーザ選択ポート番号の中でクローズされているポート番号がわかる。ポートオープン指示送信処理では、ユーザ選択ポート番号の中でクローズされているポート番号をオープンすることを指示する。
（３）通信装置（コンピュータ）は、上記の（１）と（２）のいずれの問い合わせも行なわない。ポートオープン指示送信処理では、ユーザ選択ポート番号をオープンすることを指示する。機能実行装置は、通信装置から送信されたユーザ選択ポート番号の中にクローズされているポート番号が含まれている場合は、そのポート番号をオープンする。
【００２２】
なお、上記の技術では、選択許容処理において、複数の機能の中から１つ以上の機能をユーザが選択することを許容する。これは、「複数のアプリケーションの中から１つ以上のアプリケーションをユーザが選択することを許容する」と言い換えることもできる。この場合、インストール処理では、ユーザによって選択されたアプリケーションをインストールする（ユーザによって選択されなかったアプリケーションは、インストールしてもよいし、インストールしなくてもよい）。ポートクローズ指示送信処理では、ユーザによって選択されたアプリケーションに対応する機能に対して設定されていないポート番号をクローズすることを指示するポートクローズ指示を機能実行装置に送信する。上記の例の場合、ユーザによって選択されたアプリケーションＡ１，Ａ２に対応する機能Ｆ１，Ｆ２に対して設定されていないポート番号Ｐ３をクローズすることを指示するポートクローズ指示を機能実行装置に送信する。この構成でも、機能実行装置のセキュリティを高めることができる。
【００２３】
なお、ユーザがアプリケーションを選択する構成では、コンピュータプログラムは、コンピュータにポート番号特定処理をさらに実行させてもよい。ポート番号特定処理では、複数のアプリケーションのそれぞれについて、当該アプリケーションと、当該アプリケーションに対応する機能に対して設定されているポート番号とが関連づけられているポート番号リストから、ユーザによって選択されたアプリケーションに関連づけられていないポート番号を特定する。この場合、ポートクローズ指示送信処理では、ポート番号特定処理によって特定されたポート番号をクローズすることを指示するポートクローズ指示を機能実行装置に送信してもよい。
【００２４】
本明細書によって開示される技術は、機能実行装置と通信装置とを備えるシステムとして表現することもできる。通信装置は、選択許容手段とインストール手段と機能情報送信手段とを有する。選択許容手段は、複数の機能の中から１つ以上の機能をユーザが選択することを許容する。インストール手段は、ユーザによって選択された機能に対応するアプリケーションをインストールする。機能情報送信手段は、ユーザによって選択された機能に関する選択機能情報及び／又はユーザによって選択されなかった機能に関する非選択機能情報を機能実行装置に送信する。機能実行装置は、機能情報受信手段とポートクローズ手段とを有する。機能情報受信手段は、通信装置から送信された選択機能情報及び／又は非選択機能情報を受信する。ポートクローズ手段は、機能情報受信手段によって受信された選択機能情報及び／又は非選択機能情報に従って、ユーザによって選択された機能に対応しないポート番号をクローズする。
【００２５】
上記の構成によると、ユーザによって選択されなかったために機能実行装置で実行されないと考えられる機能に対して設定されているポート番号をクローズすることができる。このために、機能実行装置のセキュリティを高めることができる。
【００２６】
なお、上記のシステムにおいても、「複数の機能の中から１つ以上の機能をユーザが選択することを許容する」を、「複数のアプリケーションの中から１つ以上のアプリケーションをユーザが選択することを許容する」と言い換えることができる。
【００２７】
また、上記のシステムを構成するための機能実行装置の単体も新規な技術である。この機能実行装置を利用すると、上記のシステムを構築することができる。
【発明を実施するための最良の形態】
【００２８】
ここでは、以下の実施例に記載の技術の特徴の一部をまとめておく。
（形態１）１つのポート番号に１つの機能が対応していてもよい。１つの機能に対応するアプリケーションと２つ以上の機能に対応するアプリケーションとの両方が存在していてもよい。
【００２９】
（形態２）コンピュータプログラムは、通信装置に搭載されるコンピュータに、ネットワークに接続されている機能実行装置を検索する処理を実行させてもよい。ネットワークに接続されている機能実行装置が存在することを条件として、選択許容処理が実行されてもよい。
【００３０】
（形態３）ユーザ識別情報が機能実行装置に設定されていないことを条件として、コンピュータプログラムは、通信装置に搭載されるコンピュータに、ユーザ識別情報を機能実行装置に設定するのか否かをユーザが選択することを許容する処理を実行させてもよい。ユーザによって肯定的な選択が行なわれた場合、ユーザ識別情報をユーザが入力することを許容し、入力されたユーザ識別情報を機能実行装置に送信してもよい。なお、ユーザ識別情報は、ユーザによって入力された情報であってもよいし、通信装置に予め設定されている情報（例えば通信装置に設定されているＩＤ等）であってもよい。
【００３１】
（形態４）ユーザ識別情報が機能実行装置に設定されていることを条件として、コンピュータプログラムは、通信装置に搭載されるコンピュータに、ユーザ識別情報の認証を行なうのか否かをユーザが選択することを許容する処理を実行させてもよい。ユーザによって肯定的な選択が行なわれた場合、ユーザ識別情報をユーザが入力することを許容し、入力されたユーザ識別情報を機能実行装置に送信してもよい。機能実行装置は、通信装置から送信されたユーザ識別情報の認証を実行し、認証結果を通信装置に送信してもよい。肯定的な認証結果が得られたことを条件として、全ての機能（もしくはアプリケーション）の中から１つ以上の機能（もしくはアプリケーション）を選択することをユーザに許容してもよい。否定的な認証結果が得られたことを条件として、機能実行装置においてオープンされているポート番号に対応する機能（もしくはアプリケーション）の中から１つ以上の機能（もしくはアプリケーション）を選択することをユーザに許容してもよい。
【実施例】
【００３２】
（第１実施例）
図面を参照して実施例を説明する。図１は、本実施例の多機能機システム２を示す。多機能機システム２は、ＰＣ１０と多機能機４０を有する。ＰＣ１０と多機能機４０は通信可能に接続されている。なお、図１では１つの多機能機４０しか示されていないが、複数の多機能機が存在していてもよい。
【００３３】
（ＰＣの構成）
ＰＣ１０は、操作部１２と表示部１４とメディア収容部１６と記憶部２０と制御部２８とネットワークインターフェイス３０等を有する。操作部１２は、マウスやキーボード等によって構成される。ユーザは、操作部１２を操作することによって様々な指示や情報をＰＣ１０に入力することができる。表示部１４は、様々な情報を表示することができる。
【００３４】
メディア収容部１６は、ＣＤやＤＶＤ等のメディア１８を収容することができる。メディア１８に記憶されている情報（プログラム等）は、メディア収容部１６に搭載されているメディア読取部（図示省略）によって読み取られる。本実施例のメディア１８は、複数のアプリケーションをＰＣ１０にインストールするために利用される。
【００３５】
図２は、メディア１８に記憶されているプログラムを模式的に示す。メディア１８は、複数のアプリケーション７０〜７８を記憶している。各アプリケーション７０〜７８は、多機能機４０に様々な機能を実行させるためのアプリケーションである。具体的に言うと、ＰＣプリントアプリケーション７０は、多機能機４０に印刷指示を送信するためのアプリケーションである。多機能機４０は、印刷指示に従って印刷機能を実行する。スキャンアプリケーション７２は、多機能機４０にスキャン指示を送信するためのアプリケーションである。多機能機４０は、スキャン指示に従ってスキャン機能を実行する。ステータスチェックアプリケーション７４は、多機能機４０にステータスチェック指示を送信するためのアプリケーションである。多機能機４０は、ステータスチェック指示に従って、自身のステータス情報を取得し、取得されたステータス情報を送信するステータスチェック機能を実行する。
【００３６】
パネル操作アプリケーション７６は、多機能機４０にパネル操作指示を送信するためのアプリケーションである。詳しくは後述するが、多機能機４０は、操作パネル４２（図１参照）を有する。ユーザが操作パネル４２を操作すると、多機能機４０は、ユーザの指示に従って処理（例えば所定の情報を表示する処理や設定情報（印刷解像度、スキャン解像度等）を変更する処理）を実行する。上記のパネル操作指示は、操作パネル４２を遠隔操作するための指示である。即ち、多機能機４０は、パネル操作指示を受信すると、操作パネル４２が操作された場合と同様の処理を行なう。以下では、パネル操作指示に従って多機能機４０が実行する機能のことを「パネル操作機能」と呼ぶ。即ち、多機能機４０は、パネル操作指示に従ってパネル操作機能を実行する。
【００３７】
多機能機管理アプリケーション７８は、多機能機４０に様々な管理指示を送信するためのアプリケーションである。本実施例の管理指示は、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）を利用して送信される管理指示と、ファームアップデート指示とを含んでいる。ＳＮＭＰを利用して送信される管理指示は、多機能機４０から情報を取得するための指示（ＧＥＴコマンド）と、多機能機４０の設定情報を変更するための指示（ＳＥＴコマンド）とを含んでいる。多機能機４０は、ＧＥＴコマンドに従って、情報を取得し、取得された情報を送信する機能を実行する。多機能機４０は、ＳＥＴコマンドに従って、自身の設定情報を変更する機能を実行する。以下では、ＳＮＭＰを利用して送信される管理指示に従って多機能機４０が実行する機能のことを「ＳＮＭＰ機能」と呼ぶ。即ち、多機能機４０は、ＳＮＭＰを利用して送信される管理指示に従ってＳＮＭＰ機能を実行する。また、多機能機４０は、ファームアップデート指示に従って、インターネット上の所定のアドレスから自身のプログラムをアップデートするためのプログラムをダウンロードするファームアップデート機能を実行する。
【００３８】
本実施例では、各アプリケーション７０〜７８を利用して送信される指示に従って多機能機４０が様々な機能を実行する。以下では、アプリケーションと、そのアプリケーションを利用して送信される指示に従って多機能機４０が実行する機能との関係のことを「アプリケーションに対応する機能」と表現する。例えば、ＰＣプリントアプリケーション７０はＰＣプリント機能に対応しており、ステータスチェックアプリケーション７４はステータスチェック機能に対応している。また、上述したように、多機能機管理アプリケーション７８を利用して送信される管理指示に従って、多機能機４０は、複数の機能（ＳＮＭＰ機能とファームアップデート機能）を実行する。従って、多機能機管理アプリケーション７８は、ＳＮＭＰ機能に対応しているとともに、ファームアップデート機能に対応している。
【００３９】
詳しくは後述するが、多機能機４０は、複数の機能のそれぞれに対してポート番号が設定されている。各アプリケーション７０〜７８は、そのアプリケーションに対応する機能に対して設定されているポート番号を含む指示を多機能機４０に送信する。例えば、多機能機４０では、印刷機能に対してポート番号「５１５」が設定されている。従って、ＰＣプリントアプリケーション７０は、ポート番号「５１５」を含む印刷指示を多機能機４０に送信する。また、例えば、スキャン機能に対してポート番号「２０ＸＸＸ」が設定されている。従って、スキャンアプリケーション７２は、ポート番号「２０ＸＸＸ」を含むスキャン指示を多機能機４０に送信する。多機能機４０の他の機能のそれぞれに対してもポート番号が設定されている。例えば、ステータスチェック機能に対してポート番号「１６１」が設定されており、パネル操作機能に対してポート番号「２２ＸＸＸ」が設定されている。なお、ＳＮＭＰ機能に対しては、ステータスチェック機能と同じポート番号「１６１」が設定されている。また、ファームアップデート機能に対してポート番号「２３ＸＸＸ」が設定されている。ＰＣ１０から多機能機４０に送信される様々な指示にポート番号が含まれるために、多機能機４０は、受信された指示に含まれるポート番号に基づいて、いずれの機能を実行するのかを特定することができる。
【００４０】
メディア１８は、上記の各アプリケーション７０〜７８をＰＣ１０にインストールするためのプログラム８０やその他のプログラム８４を記憶している。プログラム８０に従ってＰＣ１０が実行する処理の内容は、後で詳しく説明する。プログラム８０は、ポート番号リスト８２を含んでいる。ポート番号リスト８２は、複数の組合せ情報９０〜９８を含んでいる。各組合せ情報９０〜９８は、アプリケーションを特定するアプリケーション特定情報１００と、そのアプリケーションによって送信される指示に含まれるべきポート番号１０２とが対応づけられた情報である。例えば、組合せ情報９０では、ＰＣプリントアプリケーション７０を特定するアプリケーション特定情報「ＰＣＰｒｉｎｔ」と、そのアプリケーション７０によって送信される印刷指示に含まれるべきポート番号「５１５」とが対応づけられている。なお、他の組合せ情報９２〜９８において、「ＮｅｔＳｃａｎ」はスキャンアプリケーション７２に対応しており、「ＳｔａｔｕｓＣｈｅｃｋｅｒ」は、ステータスチェックアプリケーション７４に対応しており、「ＲｅｍＰａｎｅｌ」はパネル操作アプリケーション７６に対応しており、「ＭＦＰＡｄｍ」は多機能機管理アプリケーション７８に対応している。上述したように、多機能機管理アプリケーション７８は、ＳＮＭＰ機能とファームアップデート機能の２つの機能に対応している。このために、組合せ情報９８では、「ＭＦＰＡｄｍ」に対応づけて２つのポート番号「１６１」と「２３ＸＸＸ」が記述されている。
【００４１】
図１に示される記憶部２０は、ハードディスク２２、ＲＯＭ２４、ＲＡＭ２６等を有する。ハードディスク２２は、様々な情報を記憶することができる。ハードディスク２２は、例えば、メディア１８からインストールされたアプリケーション７０〜７８を記憶することができる。ＲＯＭ２４は、制御部２８によって実行される様々なプログラムを記憶している。ＲＯＭ２４は、例えば、メディア１８に記憶されているプログラム８０を処理するためのプログラムを記憶している。ＲＡＭ２６は、制御部２８が処理を実行する過程で生成されるデータ等を記憶することができる。ネットワークインターフェイス３０は、ＬＡＮ回線６６に接続されている。ＬＡＮ回線６６は、多機能機４０に接続されている。ＰＣ１０は、ネットワークインターフェイス３０とＬＡＮ回線６６を介して、多機能機４０と通信することができる。
【００４２】
（多機能機の構成）
多機能機４０は、操作パネル４２と表示部４４と印刷部４６とスキャナ部４８と記憶部５０と制御部６２とネットワークインターフェイス６４等を有する。操作パネル４２は、複数のキーを有する。ユーザは、操作パネル４２を操作することによって様々な指示や情報を多機能機４０に入力することができる。上述したように、操作パネル４２を遠隔操作するためのパネル操作アプリケーション７６（図２参照）が存在する。ＰＣ１０においてパネル操作アプリケーション７６を利用すれば、ユーザが操作パネル４２を操作しなくても、操作パネル４２が操作された場合と同様の処理（パネル操作機能）を多機能機４０に実行させることができる。表示部４４は、様々な情報を表示することができる。
【００４３】
印刷部４６は、例えば、インクジェットタイプ又はレーザータイプの印刷機構によって構成される。上記のＰＣプリントアプリケーション７０（図２参照）を利用して送信された印刷指示が多機能機４０によって受信されると、後述する制御部６２は、印刷部４６を駆動する。これにより、印刷部４６は、印刷指示に基づいて印刷媒体に印刷する。スキャナ部４８は、図示省略の原稿載置台に載置された原稿をスキャンして画像データを生成する。上記のスキャンアプリケーション７２（図２参照）を利用して送信されたスキャン指示が多機能機４０によって受信されると、制御部６２は、スキャナ部４８を駆動する。これにより、スキャナ部４８は、スキャン指示に基づいて原稿をスキャンする。
【００４４】
記憶部５０は、プログラム記憶領域５２とその他の記憶領域５４を有する。プログラム記憶領域５２は、制御部６２によって実行されるべきプログラムを記憶している。プログラム記憶領域５２に記憶されているプログラムの中には、ＰＣ１０のような外部装置からの指示に応じて処理を実行するための指示対応プログラムが含まれている。上述したように、多機能機４０は、印刷機能、スキャン機能、ステータスチェック機能、パネル操作機能、ＳＮＭＰ機能、及び、ファームアップデート機能を実行する。これらの複数の機能のそれぞれに対してポート番号が設定されている。上記の指示対応プログラムは、外部装置からの指示を受信すると、その指示に含まれるポート番号が設定されている機能を制御部６２に実行させる。
【００４５】
記憶領域５４は、管理者情報５６を記憶することができる。管理者情報５６がどのような情報であるのかについては、後で説明する。記憶領域５４は、他にもインストールフラグ５８やポート番号テーブル６０等を記憶することができる。インストールフラグ５８とポート番号テーブル６０は、本実施例で使用される情報ではない。従って、本実施例の記憶領域５４は、インストールフラグ５８とポート番号テーブル６０を記憶することができるように構成されている必要は必ずしもない。
【００４６】
制御部６２は、プログラム記憶領域５２に記憶されているプログラムに従って、様々な処理を実行する。制御部６２によって実行される処理の内容については、後で詳しく説明する。ネットワークインターフェイス６４は、ＬＡＮ回線６６に接続されている。ＬＡＮ回線６６は、ＰＣ１０に接続されている。多機能機４０は、ネットワークインターフェイス６４とＬＡＮ回線６６を介して、ＰＣ１０と通信することができる。
【００４７】
（メディアのプログラムに従ってＰＣが実行する処理）
続いて、メディア１８のインストール実行プログラム８０に従って、ＰＣ１０の制御部２８が実行する処理の内容を説明する。図３及び図４は、この処理のフローチャートを示す。
【００４８】
制御部２８は、ＬＡＮ回線６６に接続されているデバイス群の中から、アプリケーション７０〜７８を利用して送信される指示に従って機能を実行するデバイスを検索する（Ｓ１０）。制御部２８は、検索の結果としてデバイスを見つけることができたのか否かを判断する（Ｓ１２）。具体的に言うと、制御部２８は、Ｓ１０において、所定のコマンドをブロードキャストする。多機能機４０は、上記の所定コマンドに対してレスポンスを送信するようにプログラムされている。制御部２８は、ブロードキャストに対するレスポンスが受信されると、Ｓ１２でＹＥＳと判断する。複数の多機能機がＬＡＮ回線６６に接続されている場合、複数のレスポンスが受信される。この場合も、Ｓ１２でＹＥＳと判断される。Ｓ１２でＹＥＳの場合、Ｓ１４以降の処理を実行する。なお、Ｓ１４以降の処理は、レスポンスを送信したデバイスの中からユーザが選択した多機能機について実行される。例えば、多機能機４０と別の多機能機とがレスポンスを送信した場合、レスポンスを送信した全ての多機能機の機器名を表示し、表示された機器名の中から１台をユーザに選択させる。ユーザが多機能機４０に対応する機器名を選択すると、多機能機４０についてＳ１４以降の処理が実行される。Ｓ１２でＮＯの場合、インストール処理が終了する。
【００４９】
本実施例では、多機能機４０についてＳ１４以降の処理が実行されるものとして、以下の説明を続ける。Ｓ１４では、制御部２８は、多機能機４０に通信設定情報が設定されているのか否かを判断する。具体的に言うと、制御部２８は、多機能機４０にＩＰアドレスが設定されているのか否かを判断する。ここでＮＯの場合、制御部２８は、多機能機４０に設定されるべきＩＰアドレスを多機能機４０に送信する（Ｓ１６）。例えば、ユーザは、操作部１２を操作することによって、多機能機４０に設定されるべきＩＰアドレスをＰＣ１０に入力することができる。制御部２８は、ユーザによって入力されたＩＰアドレスを多機能機４０に送信する。多機能機４０は、ＰＣ１０から送信されたＩＰアドレスを受信し、そのＩＰアドレスを自身のＩＰアドレスとして設定（記憶）する。Ｓ１６を終えるとＳ１８に進む。なお、Ｓ１４でＹＥＳの場合、Ｓ１６をスキップしてＳ１８に進む。
【００５０】
Ｓ１８では、制御部２８は、管理者情報リクエストを多機能機４０に送信する。多機能機４０は、管理者情報リクエストを受信すると、記憶領域５４に管理者情報５６が記憶されているのか否かを示す所定の情報をＰＣ１０に送信するようにプログラムされている。制御部２８は、多機能機４０からの上記の所定の情報に基づいて、管理者が存在するのか否か（記憶領域５４に管理者情報５６が記憶されているのか否か）を判断する（Ｓ２０）。ここでＹＥＳの場合、図４のＳ４０に進む。一方において、Ｓ２０でＮＯの場合、Ｓ２２に進む。
【００５１】
Ｓ２２では、制御部２８は、選択画面を表示する。この選択画面は、管理者になるのか否かをユーザに問う文字列を含んでいる。ユーザが管理者になることを望む場合、ユーザによって第１の操作が実行される。ユーザが管理者になることを望まない場合、ユーザによって第２の操作が実行される。制御部２８は、第１の操作と第２の操作のいずれが実行されたのかを判断する（Ｓ２４）。ユーザが第１の操作を実行した場合、制御部２８は、管理者用インストール処理を実行する（Ｓ２６）。一方において、ユーザが第２の操作を実行した場合、制御部２８は、図４のＳ５０に進み、非管理者用インストール処理を実行する。管理者用インストール処理及び非管理者用インストール処理については、後で詳しく説明する。
【００５２】
図４のＳ４０では、制御部２８は、選択画面を表示する。この選択画面は、管理者認証を行なうのか否かをユーザに問う文字列を含んでいる。ユーザが管理者認証を行なうことを望む場合、ユーザによって第３の操作が実行される。ユーザが管理者認証を行なうことを望まない場合、ユーザによって第４の操作が実行される。制御部２８は、第３の操作と第４の操作のいずれが実行されたのかを判断する（Ｓ４２）。ユーザが第３の操作を実行した場合、Ｓ４４に進む。一方において、ユーザが第４の操作を実行した場合、制御部２８は、非管理者用インストール処理を実行する（Ｓ５０）。
【００５３】
Ｓ４４では、制御部２８は、管理者認証画面を表示する。この管理者認証画面は、ＩＤを入力するための領域とパスワードを入力するための領域とを含んでいる。ユーザは、ＩＤ及びパスワードを入力することができる。制御部２８は、ユーザによって入力されたＩＤ及びパスワードを多機能機４０に送信する（Ｓ４６）。多機能機４０は、Ｓ４６においてＰＣ１０から送信されたＩＤ及びパスワードと、自身の記憶領域５４に記憶されている管理者情報５６のＩＤ及びパスワードとを比較し、両者が一致しているのか否かを示す所定の情報をＰＣ１０に送信するようにプログラムされている。制御部２８は、多機能機４０からの上記の所定の情報に基づいて、管理者認証が成功したのか否かを判断する（Ｓ４８）。ここでＹＥＳの場合、図３のＳ２６に進み、制御部２８は、管理者用インストール処理を実行する。一方において、Ｓ４８でＮＯの場合、Ｓ５０に進み、制御部２８は、非管理者用インストール処理を実行する。
【００５４】
（管理者用インストール処理）
続いて、図３のＳ２６の管理者用インストール処理の内容について説明する。図５は、管理者用インストール処理のフローチャートを示す。制御部２８は、管理者登録画面を表示する（Ｓ７０）。図６は、管理者登録画面１１０の一例を示す。管理者登録画面１１０は、ＩＤを入力するための領域１１２と、パスワードを入力するための領域１１４と、連絡先を入力するための領域１１６とを有する。ユーザは、所望のＩＤ及びパスワードを領域１１２，１１４に入力することができる。また、ユーザは、自身の連絡先（例えばメールアドレス、電話番号、名前等）を領域１１６に入力することができる。なお、領域１１２，１１４は必須の入力項目であり、領域１１６は任意の入力項目である。少なくともＩＤ及びパスワードがユーザによって入力されると、Ｓ７２に進む。
【００５５】
Ｓ７２では、制御部２８は、アプリケーション選択画面を表示する。図７は、Ｓ７２で表示されるアプリケーション選択画面１２０の一例を示す。アプリケーション選択画面１２０は、各アプリケーション７０〜７８の名称を含んでいる。ユーザは、アプリケーション選択画面１２０に従って、いずれのアプリケーションをＰＣ１０にインストールするのかを決定することができる。１つ又は複数のアプリケーションがユーザによって選択されると、Ｓ７４に進む。
【００５６】
Ｓ７４では、制御部２８は、Ｓ７２で選択されたアプリケーションをインストールする。具体的に言うと、制御部２８は、Ｓ７２で選択されたアプリケーションをメディア１８から読み込み、ハードディスク２２に記憶させる。次いで、制御部２８は、ポート番号リスト８２を読み込む（Ｓ７６）。制御部２８は、ポート番号リスト８２に基づいて、必要なポート番号と不要なポート番号を特定する（Ｓ７８）。具体的に言うと、制御部２８は、Ｓ７２で選択されたアプリケーションに対応するポート番号を必要なポート番号として特定し、Ｓ７２で選択されたアプリケーションに対応しないポート番号を不要なポート番号として特定する。例えば、ＰＣプリントアプリケーション７０と多機能機管理アプリケーション７８がＳ７２で選択された場合、制御部２８は、ポート番号「５１５」、「１６１」、及び「２３ＸＸＸ」を必要なポート番号として特定する（図２の組合せ情報９０，９８参照）。また、制御部２８は、ポート番号「２０ＸＸＸ」及び「２２ＸＸＸ」を不要なポート番号として特定する。
【００５７】
次いで、制御部２８は、必要なポート番号をオープンするとともに不要なポート番号をクローズすることを指示するリクエストを多機能機４０に送信する（Ｓ８０）。上記の例の場合、ポート番号「５１５」、「１６１」、及び「２３ＸＸＸ」をオープンし、ポート番号「２０ＸＸＸ」及び「２２ＸＸＸ」をクローズすることを指示するリクエストを多機能機４０に送信する。この結果、多機能機４０は、ポート番号「５１５」、「１６１」、及び「２３ＸＸＸ」をオープン状態（ＯＮ状態と言い換えることができる）にするとともに、ポート番号「２０ＸＸＸ」及び「２２ＸＸＸ」をクローズ状態（ＯＦＦ状態と言い換えることができる）にする。
【００５８】
なお、本実施例では、多機能機４０は、初期状態において全てのポート番号がオープンされている。多機能機４０は、Ｓ８０でＰＣ１０から送信されたリクエストを受信すると、クローズすることが指示されたポート番号（上記の例では「２０ＸＸＸ」及び「２２ＸＸＸ」）をクローズし、オープンすることが指示されたポート番号（上記の例では「５１５」、「１６１」、及び「２３ＸＸＸ」）についてはオープン状態を維持する。なお、多機能機４０は、Ｓ８０でＰＣ１０から送信されたリクエストで指示されていない他のポート番号（例えば「２４ＸＸＸＸ」等）については、オープン状態を維持してもよいが、セキュリティを向上させるためにはクローズすることが好ましい。この場合、多機能機４０は、アプリケーション７０〜７８とは無関係に使用することが決まっているポート番号については、オープン状態を維持することが好ましい。
【００５９】
続いて、制御部２８は、Ｓ７０で入力された管理者情報を多機能機４０に送信する（Ｓ８２）。Ｓ７０では、ＩＤとパスワードが必ず入力され、連絡先が任意で入力される。Ｓ７０でＩＤとパスワードのみが入力された場合、制御部２８は、ＩＤとパスワードのみを多機能機４０に送信する。Ｓ７０でＩＤとパスワードと連絡先が入力された場合、制御部２８は、ＩＤとパスワードと連絡先を多機能機４０に送信する。多機能機４０は、Ｓ８２でＰＣ１０から送信された管理者情報を受信すると、その管理者情報を記憶領域５４に記憶させる（図１の符号５６参照）。これにより、多機能機４０に管理者情報が設定されることになる。Ｓ８２を終えると、管理者用インストール処理が終了する。
【００６０】
（非管理者用インストール処理）
続いて、図４のＳ５０の非管理者用インストール処理の内容について説明する。図８は、非管理者用インストール処理のフローチャートを示す。制御部２８は、多機能機４０の各ポート番号のステータス（オープン状態又はクローズ状態）をチェックする（Ｓ１００）。具体的に言うと、制御部２８は、各ポート番号のステータスを返信するように多機能機４０にリクエストを送信する。この結果、多機能機４０は、各ポート番号のステータスをＰＣ１０に返信する。
【００６１】
Ｓ１００を終えると、制御部２８は、ポート番号リスト８２を読み込む（Ｓ１０２）。次いで、制御部２８は、Ｓ１００で得られた各ポート番号のステータスと、Ｓ１０２で読み込まれたポート番号リスト８２とに基づいて、オープン状態のポート番号に対応するアプリケーション特定情報を特定するとともに、クローズ状態のポート番号に対応するアプリケーション特定情報を特定する（Ｓ１０４）。例えば、上記の図５のＳ８０の処理において、ポート番号「２０ＸＸＸ」及び「２２ＸＸＸ」が多機能機４０でクローズされたものとする。この場合、オープン状態のポート番号に対応するアプリケーション特定情報として、ポート番号「５１５」、「１６１」、及び「２３ＸＸＸ」に対応する「ＰＣＰｒｉｎｔ」、「ＳｔａｔｕｓＣｈｅｃｋｅｒ」、及び「ＭＦＰＡｄｍ」が特定される。また、クローズ状態のポート番号に対応するアプリケーション特定情報として、ポート番号「２０ＸＸＸ」及び「２２ＸＸＸ」に対応する「ＮｅｔＳｃａｎ」及び「ＲｅｍＰａｎｅｌ」が特定される。
【００６２】
続いて、制御部２８は、管理者情報連絡先リクエストを多機能機４０に送信する（Ｓ１０６）。多機能機４０は、管理者情報連絡先リクエストを受信すると、連絡先が設定されているのか否かを判断する。具体的に言うと、多機能機４０は、記憶領域５４に記憶されている管理者情報５６に連絡先が含まれているのか否かを判断する。多機能機４０は、連絡先が設定されている場合、その連絡先をＰＣ１０に返信する。一方において、連絡先が設定されていない場合、多機能機４０は、連絡先が設定されていないことを示す情報をＰＣ１０に返信する。
【００６３】
制御部２８は、多機能機４０からの返信に基づいて、多機能機４０に連絡先が設定されているのか否かを判断する（Ｓ１０８）。ここでＹＥＳの場合、制御部２８は、所定の画面を表示する（Ｓ１１０）。図９は、Ｓ１１０で表示される画面１３０の一例を示す。画面１３０は、利用不可能なアプリケーションの名称と、管理者の連絡先を示す情報とを含んでいる。利用不可能なアプリケーションの名称は、Ｓ１０４においてクローズ状態のポート番号に対応するアプリケーション特定情報として特定された情報である。管理者の連絡先を示す情報は、Ｓ１０６で送信された管理者情報連絡先リクエストに応じて返信された連絡先の情報である。一方において、Ｓ１０８でＮＯの場合、Ｓ１１０をスキップしてＳ１１２に進む。
【００６４】
Ｓ１１２では、制御部２８は、アプリケーション選択画面を表示する（Ｓ１１２）。図１０は、Ｓ１１２で表示されるアプリケーション選択画面１４０の一例を示す。アプリケーション選択画面１４０は、利用可能なアプリケーションの名称を含んでおり、利用不可能なアプリケーションの名称を含んでいない。利用可能なアプリケーションの名称は、Ｓ１０４においてオープン状態のポート番号に対応するアプリケーション特定情報として特定された情報である。ユーザは、アプリケーション選択画面１４０に従って、いずれのアプリケーションをＰＣ１０にインストールするのかを決定することができる。１つ又は複数のアプリケーションがユーザによって選択されると、制御部２８は、Ｓ１１２で選択されたアプリケーションをインストールする（Ｓ１１４）。これにより、非管理者用インストール処理が終了する。なお、非管理者用インストール処理では、Ｓ１１２で選択したアプリケーションに不要なポート番号であっても、管理者用インストール処理によりインストールしたアプリケーションに対応するポート番号のため、そのポート番号をクローズする指示は行わない。
【００６５】
（アプリケーションに従ってＰＣが実行する処理）
ユーザは、ＰＣ１０にインストールされたアプリケーション（例えばＰＣプリントアプリケーション７０）を起動させるための操作を実行することができる。アプリケーションが起動された状態において、ユーザは、所定の操作を実行することによって、そのアプリケーションに対応する機能を多機能機４０に実行させることができる。具体的に言うと、制御部２８は、上記の所定の操作が実行されると、アプリケーションに対応するポート番号を含む指示を多機能機４０に送信する。例えば、ＰＣプリントアプリケーション７０の場合、ポート番号「５１５」を含む印刷指示を多機能機４０に送信する。多機能機４０は、印刷指示に含まれるポート番号「５１５」に基づいて、印刷機能の実行指示であることを特定することができる。多機能機４０は、印刷機能を実行する。
【００６６】
本実施例の多機能機システム２によると、ユーザによって選択されたアプリケーションのみがＰＣ１０にインストールされる。多機能機４０では、ユーザによって選択されたアプリケーションに対応するポート番号がオープンされ、ユーザによって選択されたアプリケーションに対応しないポート番号がクローズされる。多機能機４０で実行されないポート番号がクローズされるために、多機能機４０のセキュリティを高めることができる。
【００６７】
また、本実施例の多機能機システム２によると、管理者のユーザは、全てのアプリケーションの中から所望のアプリケーションを選択することができる。これに対し、管理者以外のユーザは、オープンされているポート番号に対応するアプリケーションの中からしか選択することができない。管理者の選択に従って多機能機４０でクローズされたポート番号が、管理者以外のユーザによってオープンされることが禁止される。
【００６８】
（第１実施例の変形例１）
上記の第１実施例では、ＰＣ１０のユーザ（管理者）は、インストールされるべきアプリケーションを選択する。多機能機４０では、ユーザによって選択されたアプリケーションに対応するポート番号がオープンされるとともに、ユーザによって選択されたアプリケーションに対応しないポート番号がクローズされる。これは、次のように換言することができる。即ち、ＰＣ１０のユーザ（管理者）は、多機能機４０に実行させる機能を選択する。多機能機４０では、ユーザによって選択された機能に対応するポート番号がオープンされるとともに、ユーザによって選択された機能に対応しないポート番号がクローズされる。このときは、ポート番号リスト８２には、機能（例えば、ＰＣプリント機能、スキャン機能、ステータスチェック機能、パネル操作機能、ＳＮＭＰ機能、ファームアップデート機能）とポート番号とがそれぞれ対応づけられている。ユーザによって選択された機能に対応するポート番号をポート番号リスト８２から読出し、その機能に必要なポート番号以外のポート番号のクローズ指示を送信する。なお、ユーザはアプリケーションを選択し、そのアプリケーションにより実行される機能を特定し、その機能に対応するポート番号を特定するようにしてもよい。
【００６９】
なお、多機能機管理アプリケーション７８は、ＳＮＭＰ機能とファームアップデート機能の両方に対応している。第１実施例において、ＰＣ１０のユーザ（管理者）がＳＮＭＰ機能とファームアップデート機能のそれぞれを個別に選択することができるように構成されていてもよい。この場合、図７のアプリケーション選択画面１２０では、ＳＮＭＰ機能とファームアップデート機能のそれぞれが表示される。即ち、ユーザは、６つの機能の中から任意の機能を選択することができる。例えば、ポート番号「１６１」に対応するＳＮＭＰ機能のみが選択された場合、制御部２８は、ポート番号「１６１」をオープンすることを指示するとともに、他のポート番号（「５１５」、「２３ＸＸＸ」等）をクローズすることを指示するリクエストを多機能機４０に送信してもよい。この場合、多機能機管理アプリケーション７８を利用してＳＮＭＰ機能のみを多機能機４０に実行させることができる。ただし、ファームアップデート機能に対応する「２３ＸＸＸ」がクローズされるために、ファームアップデート機能を多機能機４０に実行させることができない。
【００７０】
（第１実施例の変形例２）
図５のＳ８０において、ＰＣ１０は、不要なポート番号をクローズすることを指示するリクエストを送信しなくてもよい（このような処理を実行するようにインストール実行プログラム８０が構成されてもよい）。即ち、図５のＳ８０において、ＰＣ１０は、必要なポート番号をオープンすることのみを指示するリクエストを送信してもよい。この場合、多機能機４０は、必要なポート番号をオープン（即ちオープン状態を維持）し、他の全てのポート番号をクローズしてもよい。
【００７１】
（第１実施例の変形例３）
図５のＳ８０において、ＰＣ１０は、必要なポート番号をクローズすることを指示するリクエストを送信しなくてもよい（このような処理を実行するようにインストール実行プログラム８０が構成されてもよい）。即ち、図５のＳ８０において、ＰＣ１０は、不要なポート番号をクローズすることのみを指示するリクエストを送信してもよい。この場合、多機能機４０は、不要なポート番号をクローズし、他の全てのポート番号をオープン（即ちオープン状態を維持）してもよい。
【００７２】
（第１実施例の変形例４）
多機能機４０は、初期状態において全てのポート番号がクローズされていてもよい。この場合、多機能機４０は、図５のＳ８０でＰＣ１０から送信されたリクエストを受信すると、オープンすることが指示されたポート番号をオープンし、それ以外のポート番号についてはクローズ状態を維持してもよい。
【００７３】
上記の第１実施例、変形例２、変形例３、及び、変形例４のいずれの手法も、「ユーザによって選択されたアプリケーション（もしくは機能）に対応しないポート番号をクローズすることを指示するリクエストを多機能機４０に送信すること」に等しい。
【００７４】
（第１実施例の変形例５）
図８のＳ１００では、ＰＣ１０は、多機能機４０の全てのポート番号のステータスを取得している。これに代えて、図８のＳ１００において、多機能機４０においてオープンされているポート番号のみがＰＣ１０によって取得されるようにしてもよい。例えば、ＰＣ１０は、オープンされているポート番号を返信することを指示するリクエストを多機能機４０に送信してもよい（このような処理を実行するようにインストール実行プログラム８０が構成されてもよい）。また、図８のＳ１００において、多機能機４０においてクローズされているポート番号のみがＰＣ１０によって取得されるようにしてもよい。例えば、ＰＣ１０は、クローズされているポート番号を返信することを指示するリクエストを多機能機４０に送信してもよい（このような処理を実行するようにインストール実行プログラム８０が構成されてもよい）。多機能機４０においてオープンされているポート番号とクローズされているポート番号のどちらかがわかれば、ＰＣ１０は、Ｓ１０４の処理を実行することができる。
【００７５】
（第２実施例）
続いて、第２実施例について説明する。本実施例の多機能機４０は、インストールフラグ５８（図１参照）を記憶することができる。インストールフラグ５８は、「０」と「１」のどちらかの値を示すフラグである。初期状態では、インストールフラグ５８は「０」に設定されている。なお、本実施例の多機能機４０は、管理者情報５６やポート番号テーブル６０を記憶する必要は必ずしもない。また、本実施例では、メディア１８のインストール実行プログラム８０が第１実施例と異なる。
【００７６】
（メディアのプログラムに従ってＰＣが実行する処理）
本実施例のインストール実行プログラム８０に従って、ＰＣ１０の制御部２８が実行する処理の内容を説明する。図１１は、この処理のフローチャートを示す。
【００７７】
Ｓ２１０〜Ｓ２１６は、図３のＳ１０〜Ｓ１６と同様である。Ｓ２１８では、制御部２８は、インストールフラグリクエストを多機能機４０に送信する。多機能機４０は、インストールフラグリクエストを受信すると、記憶領域５４のインストールフラグ５８の値（「０」又は「１」）をＰＣ１０に返信する。制御部２８は、多機能機４０から返信されたインストールフラグ５８の値が「１」であるのか否かを判断する（Ｓ２２０）。ここでＮＯの場合（即ちインストールフラグ５８の値が「０」である場合）、制御部２８は、初回インストール処理を実行する（Ｓ２２２）。一方において、Ｓ２２０でＹＥＳの場合、制御部２８は、２回目以降インストール処理を実行する（Ｓ２２４）。
【００７８】
（初回インストール処理）
図１２は、初回インストール処理のフローチャートを示す。Ｓ２４０〜Ｓ２４８は、図５のＳ７２〜Ｓ８０と同様である。Ｓ２４８を行なうことによって、多機能機４０では、ユーザによって選択されたアプリケーションに対応しないポート番号をクローズする。これにより、多機能機４０のセキュリティが向上する。Ｓ２４８を終えると、制御部２８は、インストール済情報を多機能機４０に送信する（Ｓ２５０）。多機能機４０は、インストール済情報を受信すると、インストールフラグ５８を「０」から「１」に変更する。
【００７９】
（二回目以降インストール処理）
図１３は、二回目以降インストール処理のフローチャートを示す。Ｓ２７０〜Ｓ２７６は、図５のＳ７２〜Ｓ７８（図１２のＳ２４０〜Ｓ２４６）と同様である。Ｓ２７０では、ユーザは、全てのアプリケーション７０〜７８から所望のアプリケーションを選択することができる。なお、Ｓ２７６では、制御部２８は、Ｓ２７０でユーザによって選択されたアプリケーションに対応しないポート番号を特定してもよいが、特定しなくてもよい。Ｓ２７６を終えると、制御部２８は、多機能機４０の各ポート番号のステータス（オープン状態又はクローズ状態）をチェックする（Ｓ２７８）。この処理は、図８のＳ１００と同様である。
【００８０】
続いて、制御部２８は、Ｓ２７０でユーザによって選択されたアプリケーションに対応する全てのポート番号がオープン状態であるのか否かを判断する（Ｓ２８０）。Ｓ２７０でユーザによって選択されたアプリケーションに対応するポート番号は、Ｓ２７６で特定されている。そのポート番号がオープン状態であるのか否かについては、Ｓ２７８で得られた情報に基づいて判断される。例えば、Ｓ２７０でユーザによって選択されたアプリケーションがＰＣプリントアプリケーション７０（ポート番号「５１５」）とスキャンアプリケーション７２（ポート番号「２０ＸＸＸ」）であり、Ｓ２７８で得られた情報ではポート番号「５１５」がオープン状態であるとともにポート番号「２０ＸＸＸ」がクローズ状態である場合、制御部２８は、Ｓ２８２でＮＯと判断する。この場合、制御部２８は、Ｓ２７０でユーザによって選択されたアプリケーションに対応するポート番号の中でクローズされているポート番号をオープンすることを指示するリクエストを多機能機４０に送信する（Ｓ２８２）。上記の例の場合、制御部２８は、ポート番号「２０ＸＸＸ」をオープンすることを指示するリクエストを多機能機４０に送信する。多機能機４０は、Ｓ２８２でＰＣ１０から送信されたリクエストを受信すると、そのリクエストに従ってポート番号をオープンさせる。これにより、２回目以降インストール処理が終了する。なお、Ｓ２８０でＹＥＳの場合、制御部２８は、Ｓ２８２をスキップして２回目以降インストール処理を終了する。
【００８１】
本実施例によっても、多機能機４０では、ユーザによって選択されたアプリケーションに対応するポート番号がオープンされ、ユーザによって選択されたアプリケーションに対応しないポート番号がクローズされる。多機能機４０のセキュリティを高めることができる。また、本実施例によると、ユーザは、別のユーザの選択によってクローズされたポート番号が存在しても、全てのアプリケーション７０〜７８から所望のアプリケーションを選択することができる。
【００８２】
（第２実施例の変形例１）
第２実施例においても、上記の第１実施例の変形例１〜変形例５のいずれの技術も適用することができる。
【００８３】
（第２実施例の変形例２）
図１３のＳ２７８及びＳ２８０を省略してもよい。この場合、制御部２８は、Ｓ２８２において、必要なポート番号をオープンすることを指示するリクエストを送信してもよい。多機能機４０は、Ｓ２８２でＰＣ１０から送信されたリクエストに含まれる必要なポート番号の中でクローズされているポート番号を特定し、特定されたポート番号をオープンしてもよい。
【００８４】
（第３実施例）
続いて、第３実施例について説明する。本実施例の多機能機４０は、ポート番号テーブル６０（図１参照）を記憶することができる。ポート番号テーブル６０は、図２のポート番号リスト８２と同様の内容である。つまり、アプリケーションとポート番号とがそれぞれ対応づけられている。なお、本実施例の多機能機４０は、インストールフラグ５８を記憶する必要は必ずしもない。また、本実施例では、メディア１８のインストール実行プログラム８０が第１実施例と異なる。
【００８５】
（メディアのプログラムに従ってＰＣが実行する処理）
本実施例のインストール実行プログラム８０に従って、ＰＣ１０の制御部２８が実行する処理の内容を説明する。図３及び図４の処理は、第１実施例と同様である。ただし、本実施例では、図３のＳ２６で実行される管理者用インストール処理の内容が第１実施例と異なる。
【００８６】
（管理者用インストール処理）
図１４は、本実施例の管理者用インストール処理のフローチャートを示す。Ｓ３００〜Ｓ３０４は、図５のＳ７０〜Ｓ７４と同様である。また、Ｓ３０６は、図５のＳ８２と同様である。Ｓ３０６を終えると、制御部２８は、Ｓ３００でユーザによって選択されたアプリケーションを特定するアプリケーション特定情報を多機能機４０に送信する（Ｓ３０８）。例えば、Ｓ３００においてＰＣプリントアプリケーション７０とスキャンアプリケーション７２とがユーザによって選択された場合、制御部２８は、「ＰＣＰｒｉｎｔ」という文字列と「ＮｅｔＳｃａｎ」という文字列を多機能機４０に送信する。
【００８７】
（多機能機が実行する処理）
続いて、多機能機４０の制御部６２が実行する処理について説明する。図１５は、制御部６２が実行する処理のフローチャートを示す。なお、図１５は、多機能機４０が実行する全ての処理を示しているのではなく、多機能機４０が実行する一部の処理のみを示している。
【００８８】
制御部６２は、図１４のＳ３０６でＰＣ１０から送信される管理者情報を受信することを監視している（Ｓ３２０）。ここでＹＥＳの場合、制御部６２は、Ｓ３２０で受信された管理者情報（ＩＤ及びパスワード（連絡先が含まれることもある））を記憶領域５４（図１参照）に記憶する（Ｓ３２２）。一方において、Ｓ３２０でＮＯの場合、Ｓ３２２をスキップする。
【００８９】
制御部６２は、図１４のＳ３０８でＰＣ１０から送信されるアプリケーション特定情報を受信することを監視している（Ｓ３２４）。ここでＹＥＳの場合、制御部６２は、ポート番号テーブル６０を読み込む（Ｓ３２６）。次いで、制御部６２は、必要なポート番号を特定するとともに不要なポート番号を特定する（Ｓ３２８）。例えば、Ｓ３２４で受信されたアプリケーション特定情報が「ＰＣＰｒｉｎｔ」という文字列を含んでいる場合、制御部６２は、Ｓ３２６で読み込まれたポート番号テーブル６０において「ＰＣＰｒｉｎｔ」に対応づけられているポート番号「５１５」を必要なポート番号として特定する。さらに、制御部６２は、上記のポート番号「５１５」以外のポート番号（「２０ＸＸＸ」等）を不要なポート番号として特定する。
【００９０】
本実施例の多機能機４０は、初期状態において全てのポート番号がオープンされている（ただし全てのポート番号がクローズされていてもよい）。制御部６２は、Ｓ３２８で特定された必要なポート番号をオープン状態に維持するとともに、Ｓ３２８で特定された不要なポート番号をクローズする（Ｓ３３０）。これにより、多機能機４０の処理が終了する。
【００９１】
本実施例では、不要なポート番号をクローズすることを指示するリクエストがＰＣ１０から多機能機４０に送信されない。代わりに、アプリケーション特定情報のみがＰＣ１０から多機能機４０に送信される。多機能機４０は、ＰＣ１０から送信されたアプリケーション特定情報に基づいて、クローズされるべきポート番号を特定し、特定されたポート番号をクローズする。本実施例によっても、ユーザによって選択されたアプリケーションに対応しないポート番号がクローズされる。多機能機４０のセキュリティを高めることができる。
【００９２】
（第３実施例の変形例１）
第３実施例では、上記の第１実施例の変形例１のように、ユーザが多機能機４０に実行させる機能を選択することができるように構成されてもよい。この場合、図１のポート番号テーブル６０と図２のポート番号リスト８２では、機能特定情報とポート番号とが対応づけられていてもよい。例えば、ＰＣプリント機能、スキャン機能、ステータスチェック機能、及び、パネル操作機能のそれぞれについては、図２の組合せ情報９０〜９６に示されるアプリケーション特定情報と同じ文字列を機能特定情報として採用してもよい。また、ＳＮＭＰ機能の機能特定情報として「ＳＮＭＰ」という文字列を採用し、ファームアップデート機能の機能特定情報として「ＦｉｒｍＵｐｄａｔｅ」という文字列を採用してもよい。本変形例では、図１４のＳ３０８において、ユーザによって選択された機能の機能特定情報が多機能機４０に送信される。多機能機４０は、Ｓ３２４で機能特定情報を受信し、その機能特定情報に基づいて必要なポート番号と不要なポート番号を特定する。本変形例によっても、第３実施例と同様の効果を得ることができる。また、多機能機４０は、各機能を実現するために、複数の機能それぞれに対してポート番号が設定されているので、この設定内容を用いて、ユーザによって選択された機能に対応するポート番号を特定してもよい。
【００９３】
（第３実施例の変形例２）
図１５のＳ３２８において、多機能機４０は、不要なポート番号を特定しなくてもよい。即ち、図１５のＳ３２８において、多機能機４０は、必要なポート番号のみを特定してもよい。この場合、多機能機４０は、必要なポート番号をオープンし、他の全てのポート番号をクローズしてもよい。
【００９４】
（第３実施例の変形例３）
図１５のＳ３２８において、多機能機４０は、必要なポート番号を特定しなくてもよい。即ち、図１５のＳ３２８において、多機能機４０は、不要なポート番号のみを特定してもよい。この場合、多機能機４０は、不要なポート番号をクローズし、他の全てのポート番号をオープンしてもよい。
【００９５】
（第３実施例の変形例４）
図１４のＳ３０８において、ＰＣ１０は、ユーザによって選択されなかったアプリケーションのアプリケーション特定情報を多機能機４０に送信してもよい（このような処理を実行するようにインストール実行プログラム８０が構成されてもよい）。また、図１４のＳ３０８において、ＰＣ１０は、ユーザによって選択されたアプリケーションのアプリケーション特定情報と、ユーザによって選択されなかったアプリケーションのアプリケーション特定情報とを多機能機４０に送信してもよい（このような処理を実行するようにインストール実行プログラム８０が構成されてもよい）。本変形例のように構成しても、多機能機４０は、必要なポート番号と不要なポート番号を特定することができる。
【００９６】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、上記のインストール実行プログラム８０は、インターネット等の外部ネットワークからＰＣ１０にダウンロードされてもよい。また、ポート番号を特定する際に、アプリケーションや機能の文字列に基づきポート番号を特定しているが、これに限らず、例えば、アプリケーションや機能のそれぞれに対し、さらに番号が対応付けられており、その番号とポート番号との対応によりポート番号を特定しても良い。
【００９７】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【００９８】
【図１】多機能機システムの構成を示す。
【図２】メディアの記憶内容の一例を模式的に示す。
【図３】インストール処理のフローチャートを示す。
【図４】図３の続きのフローチャートを示す。
【図５】管理者用インストール処理のフローチャートを示す。
【図６】管理者登録画面の一例を示す。
【図７】アプリケーション選択画面の一例を示す。
【図８】非管理者用インストール処理のフローチャートを示す。
【図９】通知画面の一例を示す。
【図１０】アプリケーション選択画面の一例を示す。
【図１１】インストール処理のフローチャートを示す（第２実施例）。
【図１２】初回インストール処理のフローチャートを示す。
【図１３】二回目以降インストール処理のフローチャートを示す。
【図１４】管理者用インストール処理のフローチャートを示す（第３実施例）。
【図１５】多機能機の処理のフローチャートを示す。
【符号の説明】
【００９９】
２：多機能機システム
１０：ＰＣ
１６：メディア収容部
１８：メディア
２０：記憶部
２８：制御部
４０：多機能機
５０：記憶部
５６：管理者情報
５８：インストールフラグ
６０：ポート番号テーブル
６２：制御部
７０〜７８：アプリケーション
８０：インストール実行プログラム
８２：ポート番号リスト
９０〜９８：組合せ情報
１００：アプリケーション特定情報
１０２：ポート番号
【図１】
2010009505.tif 000003
【図２】
2010009505.tif 000004
【図３】
2010009505.tif 000005
【図４】
2010009505.tif 000006
【図５】
2010009505.tif 000007
【図６】
2010009505.tif 000008
【図７】
2010009505.tif 000009
【図８】
2010009505.tif 000010
【図９】
2010009505.tif 000011
【図１０】
2010009505.tif 000012
【図１１】
2010009505.tif 000013
【図１２】
2010009505.tif 000014
【図１３】
2010009505.tif 000015
【図１４】
2010009505.tif 000016
【図１５】
2010009505.tif 000017