説明

機能実行装置に機能を実行させるアプリケーションを通信装置にインストールするためのコンピュータプログラム

【課題】 多機能機のセキュリティを高めること。
【解決手段】 メディア18は、複数のアプリケーション70〜78とインストール実行プログラム80を記憶している。インストール実行プログラム80は、PC10の制御部28に以下の処理を実行させる。
(1)複数のアプリケーション70〜78の中から1つ以上のアプリケーションをユーザが選択することを許容する処理(S72)。
(2)ユーザによって選択されたアプリケーションをインストールする処理(S74)。
(3)ユーザによって選択されたアプリケーションに対応しないポート番号をクローズすることを指示するリクエストを多機能機40に送信する処理(S80)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機能実行装置に機能を実行させるアプリケーションを通信装置にインストールするためのコンピュータプログラムに関する。また、機能実行装置と通信装置とを備える機能実行システムに関する。なお、本明細書の「機能実行装置」という用語は、最も広義に解釈されるべきものであり、機能を実行することができるあらゆる装置を含む概念である。「機能実行装置」の一例として、プリンタ、多機能機、サーバ、PC等を挙げることができる。また、本明細書の「通信装置」という用語は、最も広義に解釈されるべきものであり、機能実行装置に通信可能に接続されるあらゆる装置を含む概念である。「通信装置」の一例として、サーバ、PC等を挙げることができる。
【背景技術】
【0002】
機能実行装置に機能を実行させるアプリケーションを通信装置にインストールすることが広く行なわれている。例えば、下記の特許文献1には、プリンタに通信可能に接続されるPCにプリンタドライバアプリケーションをインストールすることが開示されている。PCは、プリンタドライバアプリケーションを起動することによって、印刷機能実行指示をプリンタに送信することができる。プリンタは、PCから送信された印刷機能実行指示に従って、印刷機能を実行することができる。
【0003】
【特許文献1】特開2005−33779号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
複数の機能を実行することが可能である機能実行装置が存在する。例えば、プリンタの中には、印刷機能のみならず、外部からの指示に応じて自身のステータス情報を送信するステータス情報送信機能や、外部からの指示に応じて設定を変更する設定変更機能等を実行することが可能であるものが存在する。これらの様々な機能を機能実行装置に実行させるためには、それらの機能に対応する複数のアプリケーションを通信装置にインストールする必要がある。
【0005】
例えば、TCP/IPの場合、65535個のポート番号を利用して通信することができる。外部からの機能実行指示に応じて複数の機能を実行する機能実行装置では、個々の機能に対してポート番号が設定されている。通信装置にインストールされるアプリケーションは、そのアプリケーションに対応する機能に対して設定されているポート番号を含む機能実行指示を送信する。機能実行装置は、機能実行指示に含まれるポート番号が設定されている機能を実行する。ポート番号を含む機能実行指示を通信することによって、機能実行装置は、いずれの機能を実行すればよいのかを特定することができる。
【0006】
機能実行装置では、複数のポート番号のそれぞれをオープン状態とクローズ状態のいずれの状態に設定することができる。機能実行装置は、クローズ状態のポート番号を含む機能実行指示が受信された場合、その機能実行指示に従って機能を実行しない。従って、外部からの機能実行指示に従って機能実行装置が機能を実行するためには、その機能に対して設定されているポート番号をオープン状態にしておく必要がある。しかしながら、オープン状態のポート番号が存在すると、そのポート番号を使用して不正なアクセスが行なわれる可能性がある。必要なポート番号のみをオープン状態に設定し、不要なポート番号をクローズ状態に設定することが好ましい。
【0007】
本明細書では、不要なポート番号をクローズすることによって機能実行装置のセキュリティを高めることができる技術を提供する。
【課題を解決するための手段】
【0008】
本明細書では、機能実行装置に通信可能に接続される通信装置に複数のアプリケーションをインストールするためのコンピュータプログラムを開示する。コンピュータプログラムは、メディアに記憶されているものであってもよいし、インターネット等の外部ネットワークからダウンロードされるものであってもよい。機能実行装置は、複数のアプリケーションに対応する複数の機能を実行することが可能であり、上記の複数の機能のそれぞれに対してポート番号が設定されており、かつ、外部からの機能実行指示に含まれるポート番号が設定されている機能を実行するという各特性を持っている。上記の「複数のアプリケーションに対応する複数の機能」は、個々のアプリケーションに対して1つの機能が存在することのみを意味するのではない。1つのアプリケーションに対応する複数の機能が存在してもよいし、2以上のアプリケーションに対応する1つの機能が存在してもよい。また、1つの機能に対して1つのポート番号のみが設定されていてもよいし、1つの機能に対して2つ以上のポート番号が設定されていてもよい。なお、「機能」という用語は、「サービス」と言い換えることができる。
【0009】
なお、上記の複数のアプリケーションのそれぞれは、そのアプリケーションに対応する機能に対して設定されているポート番号を含む機能実行指示を機能実行装置に送信する。機能実行装置は、機能実行指示に含まれるポート番号に対して設定されている機能を実行する。本明細書では、機能に対してポート番号が設定されており、そのポート番号を含む機能実行指示を送信するアプリケーションが存在する関係のことを、「アプリケーションに対応する機能」と表現している。「アプリケーションに対応する機能」という用語は、「アプリケーションに従って実行される機能」と言い換えることもできる。
【0010】
上記のコンピュータプログラムは、通信装置に搭載されるコンピュータに、選択許容処理とインストール処理とポートクローズ指示送信処理とを実行させる。選択許容処理は、上記の複数の機能の中から1つ以上の機能をユーザが選択することを許容する。インストール処理は、ユーザによって選択された機能に対応するアプリケーションをインストールする。ポートクローズ指示送信処理は、ユーザによって選択された機能に対して設定されていないポート番号をクローズすることを指示するポートクローズ指示を機能実行装置に送信する。なお、上記の各処理の順序は特に限定されない。例えば、インストール処理がポートクローズ指示送信処理より先に実行されてもよいし、ポートクローズ指示送信処理がインストール処理より先に実行されてもよい(同時に実行されてもよい)。例えば、インストール処理を実行した後にポートクローズ指示送信処理を実行すると、インストールに失敗したり、ユーザがインストール処理の途中でキャンセル指示を行った場合でも、インストールされたアプリケーションと機器の状態との整合性が得られる。
【0011】
機能実行装置が機能F1と機能F2と機能F3を実行することが可能であり、機能F1に対してポート番号P1が設定されており、機能F2に対してポート番号P2が設定されており、機能F3に対してポート番号P3が設定されている場合を例にして、上記のコンピュータプログラムの作用を説明する。しかも、この例では、機能F1に対応するアプリケーションA1と、機能F2に対応するアプリケーションA2と、機能F3に対応するアプリケーションA3が存在するものとする。通信装置のユーザは、3つの機能F1,F2,F3の中から任意の機能を選択することができる。ユーザによって選択された機能がF1とF2である場合(F3が選択されなかった場合)、通信装置には、少なくとも2つのアプリケーションA1,A2がインストールされる(アプリケーションA3はインストールされてもよいし、インストールされなくてもよい)。さらに、この場合、ポート番号P3をクローズすることを指示するポートクローズ指示が機能実行装置に送信される。この結果、機能実行装置は、ポート番号P3をクローズする。ユーザによって選択された機能F1,F2に対して設定されていないポート番号P3をクローズすることができる。即ち、ユーザによって選択されなかったために機能実行装置で実行されないと考えられる機能F3に対して設定されているポート番号P3をクローズすることができる。このために、機能実行装置のセキュリティを高めることができる。
【0012】
なお、上記の例の場合、ポートクローズ指示は、ポート番号P3のみをクローズすることを指示するものであってもよいし、ポート番号P1,P2以外の全てのポート番号をクローズすることを指示するものであってもよい。また、機能実行装置が上記の複数のアプリケーションのいずれにも対応しない機能を実行することが可能であり、その機能に対してポート番号P4が設定されている場合、ポートクローズ指示は、ポート番号P1,P2,P4以外の全てのポート番号をクローズすることを指示するものであってもよい。
【0013】
また、例えば、機能実行装置が初期状態において全てのポート番号をクローズしている場合、上記のポートクローズ指示は、ユーザによって選択された機能F1,F2に対して設定されているポート番号P1,P2をオープンすることを指示するものであってもよい。この場合、ポート番号P1,P2がオープンされ、ユーザによって選択された機能F1,F2に対して設定されていないポート番号P3はクローズ状態が維持される。この場合も、上記のポートクローズ指示を送信することに等しい。
【0014】
上記のコンピュータプログラムは、コンピュータにユーザ識別情報問合せ処理とユーザ識別情報設定処理とをさらに実行させてもよい。ユーザ識別情報問合せ処理は、ユーザ識別情報が機能実行装置に設定されているのか否かを機能実行装置に問い合わせる。ユーザ識別情報設定処理は、ユーザ識別情報が機能実行装置に設定されていないことを条件として、ユーザ識別情報を機能実行装置に送信することによって当該ユーザ識別情報を機能実行装置に設定する。この場合、コンピュータプログラムは、機能実行装置に設定されているユーザ識別情報に対応するユーザに対しては、選択許容処理において上記の複数の機能の全ての中から1つ以上の機能を選択することを許容し、インストール処理とポートクローズ指示送信処理とを上記のコンピュータに実行させてもよい。
【0015】
上記の構成によると、機能実行装置に設定されているユーザ識別情報に対応するユーザは、全ての機能の中から任意の機能を選択することができる。このユーザによって選択された機能に対して設定されていないポート番号が機能実行装置でクローズされる。
【0016】
なお、「機能実行装置に設定されているユーザ識別情報に対応するユーザ」であるのか否かを判断するための手法を以下に例示しておく。以下に例示された手法以外が利用されてもよい。
(1)通信装置にユーザ識別情報を入力することをユーザに許容する。ユーザ識別情報を通信装置から機能実行装置に送信する。機能実行装置は、自身に設定されているユーザ識別情報と通信装置から送信されたユーザ識別情報が一致するのか否かを判断する。機能実行装置は、両者が一致するのか否かを示す情報を通信装置に送信する。この手法では、ユーザ識別情報の認証が機能実行装置で行なわれる。
(2)通信装置にユーザ識別情報を入力することをユーザに許容する。機能実行装置は、自身に設定されているユーザ識別情報を通信装置に送信する。通信装置は、通信装置に入力されたユーザ識別情報と機能実行装置から送信されたユーザ識別情報とが一致するのか否かを判断する。この手法では、ユーザ識別情報の認証が通信装置で行なわれる。
(3)なお、ユーザ識別情報は、1種類の情報であってもよいし、複数種類の情報の組合せであってもよい。例えば、ユーザ識別情報は、ユーザIDとパスワードの組合せであってもよい。
【0017】
また、上記のコンピュータプログラムは、コンピュータにポート確認処理をさらに実行させてもよい。ポート確認処理は、機能実行装置においてオープンされているポート番号に関する情報及び/又はクローズされているポート番号に関する情報を確認する。この場合、コンピュータプログラムは、機能実行装置に設定されているユーザ識別情報に対応しないユーザに対しては、選択許容処理においてポート確認処理で確認されたオープンされているポート番号に対応する機能の中から1つ以上の機能を選択することを許容し、インストール処理をコンピュータに実行させてもよい。この場合、ポートクローズ指示送信処理をコンピュータに実行させなくてもよい。
【0018】
上記の構成によると、機能実行装置に設定されているユーザ識別情報に対応するユーザをいわゆる管理者として扱うことができるようになる。即ち、管理者のみが全ての機能の中から任意の機能を選択することができ、管理者によって選択された機能に対して設定されていないポート番号をクローズすることができる。管理者以外のユーザは、管理者によって選択された機能の中からしか機能を選択することができない。管理者の選択に従って機能実行装置でクローズされているポート番号が、管理者以外のユーザによってオープンされないので、管理者の意図しないポートがオープンになることを防ぐことができる。
【0019】
上記のコンピュータプログラムは、コンピュータに指示問合せ処理をさらに実行させてもよい。指示問合せ処理は、ポートクローズ指示が機能実行装置に過去に送信されたのか否かを機能実行装置に問い合わせる。この場合、コンピュータプログラムは、ポートクローズ指示が機能実行装置に過去に送信されていないことを条件として、選択許容処理と、インストール処理と、ポートクローズ指示送信処理とをコンピュータに実行させてもよい。また、コンピュータプログラムは、ポートクローズ指示が機能実行装置に過去に送信されていることを条件として、選択許容処理と、インストール処理と、ユーザによって選択された機能に対して設定されているポート番号をオープンすることを指示するポートオープン指示を機能実行装置に送信するポートオープン指示送信処理とをコンピュータに実行させてもよい。
【0020】
上記の構成によると、ユーザは、他のユーザの選択に従って過去にクローズされたポート番号が存在している場合であっても、そのポート番号が設定されている機能を選択し、そのポート番号をオープンさせることができる。
【0021】
なお、上記のポートオープン指示送信処理の具体的な手法を以下に例示しておく。以下に例示された手法以外が利用されてもよい。
(1)通信装置(コンピュータ)は、選択許容処理でユーザによって選択された機能に対応するポート番号(以下では「ユーザ選択ポート番号」と呼ぶ)がオープンされているのか否かを機能実行装置に問い合わせる。この結果、通信装置は、ユーザ選択ポート番号の中でクローズされているポート番号がわかる。ポートオープン指示送信処理では、ユーザ選択ポート番号の中でクローズされているポート番号をオープンすることを指示する。
(2)通信装置(コンピュータ)は、各ポート番号の現在の状態(オープン状態又はクローズ状態)を機能実行装置に問い合わせる。この結果、通信装置は、オープンされているポート番号とクローズされているポート番号がわかり、ユーザ選択ポート番号の中でクローズされているポート番号がわかる。ポートオープン指示送信処理では、ユーザ選択ポート番号の中でクローズされているポート番号をオープンすることを指示する。
(3)通信装置(コンピュータ)は、上記の(1)と(2)のいずれの問い合わせも行なわない。ポートオープン指示送信処理では、ユーザ選択ポート番号をオープンすることを指示する。機能実行装置は、通信装置から送信されたユーザ選択ポート番号の中にクローズされているポート番号が含まれている場合は、そのポート番号をオープンする。
【0022】
なお、上記の技術では、選択許容処理において、複数の機能の中から1つ以上の機能をユーザが選択することを許容する。これは、「複数のアプリケーションの中から1つ以上のアプリケーションをユーザが選択することを許容する」と言い換えることもできる。この場合、インストール処理では、ユーザによって選択されたアプリケーションをインストールする(ユーザによって選択されなかったアプリケーションは、インストールしてもよいし、インストールしなくてもよい)。ポートクローズ指示送信処理では、ユーザによって選択されたアプリケーションに対応する機能に対して設定されていないポート番号をクローズすることを指示するポートクローズ指示を機能実行装置に送信する。上記の例の場合、ユーザによって選択されたアプリケーションA1,A2に対応する機能F1,F2に対して設定されていないポート番号P3をクローズすることを指示するポートクローズ指示を機能実行装置に送信する。この構成でも、機能実行装置のセキュリティを高めることができる。
【0023】
なお、ユーザがアプリケーションを選択する構成では、コンピュータプログラムは、コンピュータにポート番号特定処理をさらに実行させてもよい。ポート番号特定処理では、複数のアプリケーションのそれぞれについて、当該アプリケーションと、当該アプリケーションに対応する機能に対して設定されているポート番号とが関連づけられているポート番号リストから、ユーザによって選択されたアプリケーションに関連づけられていないポート番号を特定する。この場合、ポートクローズ指示送信処理では、ポート番号特定処理によって特定されたポート番号をクローズすることを指示するポートクローズ指示を機能実行装置に送信してもよい。
【0024】
本明細書によって開示される技術は、機能実行装置と通信装置とを備えるシステムとして表現することもできる。通信装置は、選択許容手段とインストール手段と機能情報送信手段とを有する。選択許容手段は、複数の機能の中から1つ以上の機能をユーザが選択することを許容する。インストール手段は、ユーザによって選択された機能に対応するアプリケーションをインストールする。機能情報送信手段は、ユーザによって選択された機能に関する選択機能情報及び/又はユーザによって選択されなかった機能に関する非選択機能情報を機能実行装置に送信する。機能実行装置は、機能情報受信手段とポートクローズ手段とを有する。機能情報受信手段は、通信装置から送信された選択機能情報及び/又は非選択機能情報を受信する。ポートクローズ手段は、機能情報受信手段によって受信された選択機能情報及び/又は非選択機能情報に従って、ユーザによって選択された機能に対応しないポート番号をクローズする。
【0025】
上記の構成によると、ユーザによって選択されなかったために機能実行装置で実行されないと考えられる機能に対して設定されているポート番号をクローズすることができる。このために、機能実行装置のセキュリティを高めることができる。
【0026】
なお、上記のシステムにおいても、「複数の機能の中から1つ以上の機能をユーザが選択することを許容する」を、「複数のアプリケーションの中から1つ以上のアプリケーションをユーザが選択することを許容する」と言い換えることができる。
【0027】
また、上記のシステムを構成するための機能実行装置の単体も新規な技術である。この機能実行装置を利用すると、上記のシステムを構築することができる。
【発明を実施するための最良の形態】
【0028】
ここでは、以下の実施例に記載の技術の特徴の一部をまとめておく。
(形態1)1つのポート番号に1つの機能が対応していてもよい。1つの機能に対応するアプリケーションと2つ以上の機能に対応するアプリケーションとの両方が存在していてもよい。
【0029】
(形態2)コンピュータプログラムは、通信装置に搭載されるコンピュータに、ネットワークに接続されている機能実行装置を検索する処理を実行させてもよい。ネットワークに接続されている機能実行装置が存在することを条件として、選択許容処理が実行されてもよい。
【0030】
(形態3)ユーザ識別情報が機能実行装置に設定されていないことを条件として、コンピュータプログラムは、通信装置に搭載されるコンピュータに、ユーザ識別情報を機能実行装置に設定するのか否かをユーザが選択することを許容する処理を実行させてもよい。ユーザによって肯定的な選択が行なわれた場合、ユーザ識別情報をユーザが入力することを許容し、入力されたユーザ識別情報を機能実行装置に送信してもよい。なお、ユーザ識別情報は、ユーザによって入力された情報であってもよいし、通信装置に予め設定されている情報(例えば通信装置に設定されているID等)であってもよい。
【0031】
(形態4)ユーザ識別情報が機能実行装置に設定されていることを条件として、コンピュータプログラムは、通信装置に搭載されるコンピュータに、ユーザ識別情報の認証を行なうのか否かをユーザが選択することを許容する処理を実行させてもよい。ユーザによって肯定的な選択が行なわれた場合、ユーザ識別情報をユーザが入力することを許容し、入力されたユーザ識別情報を機能実行装置に送信してもよい。機能実行装置は、通信装置から送信されたユーザ識別情報の認証を実行し、認証結果を通信装置に送信してもよい。肯定的な認証結果が得られたことを条件として、全ての機能(もしくはアプリケーション)の中から1つ以上の機能(もしくはアプリケーション)を選択することをユーザに許容してもよい。否定的な認証結果が得られたことを条件として、機能実行装置においてオープンされているポート番号に対応する機能(もしくはアプリケーション)の中から1つ以上の機能(もしくはアプリケーション)を選択することをユーザに許容してもよい。
【実施例】
【0032】
(第1実施例)
図面を参照して実施例を説明する。図1は、本実施例の多機能機システム2を示す。多機能機システム2は、PC10と多機能機40を有する。PC10と多機能機40は通信可能に接続されている。なお、図1では1つの多機能機40しか示されていないが、複数の多機能機が存在していてもよい。
【0033】
(PCの構成)
PC10は、操作部12と表示部14とメディア収容部16と記憶部20と制御部28とネットワークインターフェイス30等を有する。操作部12は、マウスやキーボード等によって構成される。ユーザは、操作部12を操作することによって様々な指示や情報をPC10に入力することができる。表示部14は、様々な情報を表示することができる。
【0034】
メディア収容部16は、CDやDVD等のメディア18を収容することができる。メディア18に記憶されている情報(プログラム等)は、メディア収容部16に搭載されているメディア読取部(図示省略)によって読み取られる。本実施例のメディア18は、複数のアプリケーションをPC10にインストールするために利用される。
【0035】
図2は、メディア18に記憶されているプログラムを模式的に示す。メディア18は、複数のアプリケーション70〜78を記憶している。各アプリケーション70〜78は、多機能機40に様々な機能を実行させるためのアプリケーションである。具体的に言うと、PCプリントアプリケーション70は、多機能機40に印刷指示を送信するためのアプリケーションである。多機能機40は、印刷指示に従って印刷機能を実行する。スキャンアプリケーション72は、多機能機40にスキャン指示を送信するためのアプリケーションである。多機能機40は、スキャン指示に従ってスキャン機能を実行する。ステータスチェックアプリケーション74は、多機能機40にステータスチェック指示を送信するためのアプリケーションである。多機能機40は、ステータスチェック指示に従って、自身のステータス情報を取得し、取得されたステータス情報を送信するステータスチェック機能を実行する。
【0036】
パネル操作アプリケーション76は、多機能機40にパネル操作指示を送信するためのアプリケーションである。詳しくは後述するが、多機能機40は、操作パネル42(図1参照)を有する。ユーザが操作パネル42を操作すると、多機能機40は、ユーザの指示に従って処理(例えば所定の情報を表示する処理や設定情報(印刷解像度、スキャン解像度等)を変更する処理)を実行する。上記のパネル操作指示は、操作パネル42を遠隔操作するための指示である。即ち、多機能機40は、パネル操作指示を受信すると、操作パネル42が操作された場合と同様の処理を行なう。以下では、パネル操作指示に従って多機能機40が実行する機能のことを「パネル操作機能」と呼ぶ。即ち、多機能機40は、パネル操作指示に従ってパネル操作機能を実行する。
【0037】
多機能機管理アプリケーション78は、多機能機40に様々な管理指示を送信するためのアプリケーションである。本実施例の管理指示は、SNMP(Simple Network Management Protocol)を利用して送信される管理指示と、ファームアップデート指示とを含んでいる。SNMPを利用して送信される管理指示は、多機能機40から情報を取得するための指示(GETコマンド)と、多機能機40の設定情報を変更するための指示(SETコマンド)とを含んでいる。多機能機40は、GETコマンドに従って、情報を取得し、取得された情報を送信する機能を実行する。多機能機40は、SETコマンドに従って、自身の設定情報を変更する機能を実行する。以下では、SNMPを利用して送信される管理指示に従って多機能機40が実行する機能のことを「SNMP機能」と呼ぶ。即ち、多機能機40は、SNMPを利用して送信される管理指示に従ってSNMP機能を実行する。また、多機能機40は、ファームアップデート指示に従って、インターネット上の所定のアドレスから自身のプログラムをアップデートするためのプログラムをダウンロードするファームアップデート機能を実行する。
【0038】
本実施例では、各アプリケーション70〜78を利用して送信される指示に従って多機能機40が様々な機能を実行する。以下では、アプリケーションと、そのアプリケーションを利用して送信される指示に従って多機能機40が実行する機能との関係のことを「アプリケーションに対応する機能」と表現する。例えば、PCプリントアプリケーション70はPCプリント機能に対応しており、ステータスチェックアプリケーション74はステータスチェック機能に対応している。また、上述したように、多機能機管理アプリケーション78を利用して送信される管理指示に従って、多機能機40は、複数の機能(SNMP機能とファームアップデート機能)を実行する。従って、多機能機管理アプリケーション78は、SNMP機能に対応しているとともに、ファームアップデート機能に対応している。
【0039】
詳しくは後述するが、多機能機40は、複数の機能のそれぞれに対してポート番号が設定されている。各アプリケーション70〜78は、そのアプリケーションに対応する機能に対して設定されているポート番号を含む指示を多機能機40に送信する。例えば、多機能機40では、印刷機能に対してポート番号「515」が設定されている。従って、PCプリントアプリケーション70は、ポート番号「515」を含む印刷指示を多機能機40に送信する。また、例えば、スキャン機能に対してポート番号「20XXX」が設定されている。従って、スキャンアプリケーション72は、ポート番号「20XXX」を含むスキャン指示を多機能機40に送信する。多機能機40の他の機能のそれぞれに対してもポート番号が設定されている。例えば、ステータスチェック機能に対してポート番号「161」が設定されており、パネル操作機能に対してポート番号「22XXX」が設定されている。なお、SNMP機能に対しては、ステータスチェック機能と同じポート番号「161」が設定されている。また、ファームアップデート機能に対してポート番号「23XXX」が設定されている。PC10から多機能機40に送信される様々な指示にポート番号が含まれるために、多機能機40は、受信された指示に含まれるポート番号に基づいて、いずれの機能を実行するのかを特定することができる。
【0040】
メディア18は、上記の各アプリケーション70〜78をPC10にインストールするためのプログラム80やその他のプログラム84を記憶している。プログラム80に従ってPC10が実行する処理の内容は、後で詳しく説明する。プログラム80は、ポート番号リスト82を含んでいる。ポート番号リスト82は、複数の組合せ情報90〜98を含んでいる。各組合せ情報90〜98は、アプリケーションを特定するアプリケーション特定情報100と、そのアプリケーションによって送信される指示に含まれるべきポート番号102とが対応づけられた情報である。例えば、組合せ情報90では、PCプリントアプリケーション70を特定するアプリケーション特定情報「PCPrint」と、そのアプリケーション70によって送信される印刷指示に含まれるべきポート番号「515」とが対応づけられている。なお、他の組合せ情報92〜98において、「NetScan」はスキャンアプリケーション72に対応しており、「StatusChecker」は、ステータスチェックアプリケーション74に対応しており、「RemPanel」はパネル操作アプリケーション76に対応しており、「MFPAdm」は多機能機管理アプリケーション78に対応している。上述したように、多機能機管理アプリケーション78は、SNMP機能とファームアップデート機能の2つの機能に対応している。このために、組合せ情報98では、「MFPAdm」に対応づけて2つのポート番号「161」と「23XXX」が記述されている。
【0041】
図1に示される記憶部20は、ハードディスク22、ROM24、RAM26等を有する。ハードディスク22は、様々な情報を記憶することができる。ハードディスク22は、例えば、メディア18からインストールされたアプリケーション70〜78を記憶することができる。ROM24は、制御部28によって実行される様々なプログラムを記憶している。ROM24は、例えば、メディア18に記憶されているプログラム80を処理するためのプログラムを記憶している。RAM26は、制御部28が処理を実行する過程で生成されるデータ等を記憶することができる。ネットワークインターフェイス30は、LAN回線66に接続されている。LAN回線66は、多機能機40に接続されている。PC10は、ネットワークインターフェイス30とLAN回線66を介して、多機能機40と通信することができる。
【0042】
(多機能機の構成)
多機能機40は、操作パネル42と表示部44と印刷部46とスキャナ部48と記憶部50と制御部62とネットワークインターフェイス64等を有する。操作パネル42は、複数のキーを有する。ユーザは、操作パネル42を操作することによって様々な指示や情報を多機能機40に入力することができる。上述したように、操作パネル42を遠隔操作するためのパネル操作アプリケーション76(図2参照)が存在する。PC10においてパネル操作アプリケーション76を利用すれば、ユーザが操作パネル42を操作しなくても、操作パネル42が操作された場合と同様の処理(パネル操作機能)を多機能機40に実行させることができる。表示部44は、様々な情報を表示することができる。
【0043】
印刷部46は、例えば、インクジェットタイプ又はレーザータイプの印刷機構によって構成される。上記のPCプリントアプリケーション70(図2参照)を利用して送信された印刷指示が多機能機40によって受信されると、後述する制御部62は、印刷部46を駆動する。これにより、印刷部46は、印刷指示に基づいて印刷媒体に印刷する。スキャナ部48は、図示省略の原稿載置台に載置された原稿をスキャンして画像データを生成する。上記のスキャンアプリケーション72(図2参照)を利用して送信されたスキャン指示が多機能機40によって受信されると、制御部62は、スキャナ部48を駆動する。これにより、スキャナ部48は、スキャン指示に基づいて原稿をスキャンする。
【0044】
記憶部50は、プログラム記憶領域52とその他の記憶領域54を有する。プログラム記憶領域52は、制御部62によって実行されるべきプログラムを記憶している。プログラム記憶領域52に記憶されているプログラムの中には、PC10のような外部装置からの指示に応じて処理を実行するための指示対応プログラムが含まれている。上述したように、多機能機40は、印刷機能、スキャン機能、ステータスチェック機能、パネル操作機能、SNMP機能、及び、ファームアップデート機能を実行する。これらの複数の機能のそれぞれに対してポート番号が設定されている。上記の指示対応プログラムは、外部装置からの指示を受信すると、その指示に含まれるポート番号が設定されている機能を制御部62に実行させる。
【0045】
記憶領域54は、管理者情報56を記憶することができる。管理者情報56がどのような情報であるのかについては、後で説明する。記憶領域54は、他にもインストールフラグ58やポート番号テーブル60等を記憶することができる。インストールフラグ58とポート番号テーブル60は、本実施例で使用される情報ではない。従って、本実施例の記憶領域54は、インストールフラグ58とポート番号テーブル60を記憶することができるように構成されている必要は必ずしもない。
【0046】
制御部62は、プログラム記憶領域52に記憶されているプログラムに従って、様々な処理を実行する。制御部62によって実行される処理の内容については、後で詳しく説明する。ネットワークインターフェイス64は、LAN回線66に接続されている。LAN回線66は、PC10に接続されている。多機能機40は、ネットワークインターフェイス64とLAN回線66を介して、PC10と通信することができる。
【0047】
(メディアのプログラムに従ってPCが実行する処理)
続いて、メディア18のインストール実行プログラム80に従って、PC10の制御部28が実行する処理の内容を説明する。図3及び図4は、この処理のフローチャートを示す。
【0048】
制御部28は、LAN回線66に接続されているデバイス群の中から、アプリケーション70〜78を利用して送信される指示に従って機能を実行するデバイスを検索する(S10)。制御部28は、検索の結果としてデバイスを見つけることができたのか否かを判断する(S12)。具体的に言うと、制御部28は、S10において、所定のコマンドをブロードキャストする。多機能機40は、上記の所定コマンドに対してレスポンスを送信するようにプログラムされている。制御部28は、ブロードキャストに対するレスポンスが受信されると、S12でYESと判断する。複数の多機能機がLAN回線66に接続されている場合、複数のレスポンスが受信される。この場合も、S12でYESと判断される。S12でYESの場合、S14以降の処理を実行する。なお、S14以降の処理は、レスポンスを送信したデバイスの中からユーザが選択した多機能機について実行される。例えば、多機能機40と別の多機能機とがレスポンスを送信した場合、レスポンスを送信した全ての多機能機の機器名を表示し、表示された機器名の中から1台をユーザに選択させる。ユーザが多機能機40に対応する機器名を選択すると、多機能機40についてS14以降の処理が実行される。S12でNOの場合、インストール処理が終了する。
【0049】
本実施例では、多機能機40についてS14以降の処理が実行されるものとして、以下の説明を続ける。S14では、制御部28は、多機能機40に通信設定情報が設定されているのか否かを判断する。具体的に言うと、制御部28は、多機能機40にIPアドレスが設定されているのか否かを判断する。ここでNOの場合、制御部28は、多機能機40に設定されるべきIPアドレスを多機能機40に送信する(S16)。例えば、ユーザは、操作部12を操作することによって、多機能機40に設定されるべきIPアドレスをPC10に入力することができる。制御部28は、ユーザによって入力されたIPアドレスを多機能機40に送信する。多機能機40は、PC10から送信されたIPアドレスを受信し、そのIPアドレスを自身のIPアドレスとして設定(記憶)する。S16を終えるとS18に進む。なお、S14でYESの場合、S16をスキップしてS18に進む。
【0050】
S18では、制御部28は、管理者情報リクエストを多機能機40に送信する。多機能機40は、管理者情報リクエストを受信すると、記憶領域54に管理者情報56が記憶されているのか否かを示す所定の情報をPC10に送信するようにプログラムされている。制御部28は、多機能機40からの上記の所定の情報に基づいて、管理者が存在するのか否か(記憶領域54に管理者情報56が記憶されているのか否か)を判断する(S20)。ここでYESの場合、図4のS40に進む。一方において、S20でNOの場合、S22に進む。
【0051】
S22では、制御部28は、選択画面を表示する。この選択画面は、管理者になるのか否かをユーザに問う文字列を含んでいる。ユーザが管理者になることを望む場合、ユーザによって第1の操作が実行される。ユーザが管理者になることを望まない場合、ユーザによって第2の操作が実行される。制御部28は、第1の操作と第2の操作のいずれが実行されたのかを判断する(S24)。ユーザが第1の操作を実行した場合、制御部28は、管理者用インストール処理を実行する(S26)。一方において、ユーザが第2の操作を実行した場合、制御部28は、図4のS50に進み、非管理者用インストール処理を実行する。管理者用インストール処理及び非管理者用インストール処理については、後で詳しく説明する。
【0052】
図4のS40では、制御部28は、選択画面を表示する。この選択画面は、管理者認証を行なうのか否かをユーザに問う文字列を含んでいる。ユーザが管理者認証を行なうことを望む場合、ユーザによって第3の操作が実行される。ユーザが管理者認証を行なうことを望まない場合、ユーザによって第4の操作が実行される。制御部28は、第3の操作と第4の操作のいずれが実行されたのかを判断する(S42)。ユーザが第3の操作を実行した場合、S44に進む。一方において、ユーザが第4の操作を実行した場合、制御部28は、非管理者用インストール処理を実行する(S50)。
【0053】
S44では、制御部28は、管理者認証画面を表示する。この管理者認証画面は、IDを入力するための領域とパスワードを入力するための領域とを含んでいる。ユーザは、ID及びパスワードを入力することができる。制御部28は、ユーザによって入力されたID及びパスワードを多機能機40に送信する(S46)。多機能機40は、S46においてPC10から送信されたID及びパスワードと、自身の記憶領域54に記憶されている管理者情報56のID及びパスワードとを比較し、両者が一致しているのか否かを示す所定の情報をPC10に送信するようにプログラムされている。制御部28は、多機能機40からの上記の所定の情報に基づいて、管理者認証が成功したのか否かを判断する(S48)。ここでYESの場合、図3のS26に進み、制御部28は、管理者用インストール処理を実行する。一方において、S48でNOの場合、S50に進み、制御部28は、非管理者用インストール処理を実行する。
【0054】
(管理者用インストール処理)
続いて、図3のS26の管理者用インストール処理の内容について説明する。図5は、管理者用インストール処理のフローチャートを示す。制御部28は、管理者登録画面を表示する(S70)。図6は、管理者登録画面110の一例を示す。管理者登録画面110は、IDを入力するための領域112と、パスワードを入力するための領域114と、連絡先を入力するための領域116とを有する。ユーザは、所望のID及びパスワードを領域112,114に入力することができる。また、ユーザは、自身の連絡先(例えばメールアドレス、電話番号、名前等)を領域116に入力することができる。なお、領域112,114は必須の入力項目であり、領域116は任意の入力項目である。少なくともID及びパスワードがユーザによって入力されると、S72に進む。
【0055】
S72では、制御部28は、アプリケーション選択画面を表示する。図7は、S72で表示されるアプリケーション選択画面120の一例を示す。アプリケーション選択画面120は、各アプリケーション70〜78の名称を含んでいる。ユーザは、アプリケーション選択画面120に従って、いずれのアプリケーションをPC10にインストールするのかを決定することができる。1つ又は複数のアプリケーションがユーザによって選択されると、S74に進む。
【0056】
S74では、制御部28は、S72で選択されたアプリケーションをインストールする。具体的に言うと、制御部28は、S72で選択されたアプリケーションをメディア18から読み込み、ハードディスク22に記憶させる。次いで、制御部28は、ポート番号リスト82を読み込む(S76)。制御部28は、ポート番号リスト82に基づいて、必要なポート番号と不要なポート番号を特定する(S78)。具体的に言うと、制御部28は、S72で選択されたアプリケーションに対応するポート番号を必要なポート番号として特定し、S72で選択されたアプリケーションに対応しないポート番号を不要なポート番号として特定する。例えば、PCプリントアプリケーション70と多機能機管理アプリケーション78がS72で選択された場合、制御部28は、ポート番号「515」、「161」、及び「23XXX」を必要なポート番号として特定する(図2の組合せ情報90,98参照)。また、制御部28は、ポート番号「20XXX」及び「22XXX」を不要なポート番号として特定する。
【0057】
次いで、制御部28は、必要なポート番号をオープンするとともに不要なポート番号をクローズすることを指示するリクエストを多機能機40に送信する(S80)。上記の例の場合、ポート番号「515」、「161」、及び「23XXX」をオープンし、ポート番号「20XXX」及び「22XXX」をクローズすることを指示するリクエストを多機能機40に送信する。この結果、多機能機40は、ポート番号「515」、「161」、及び「23XXX」をオープン状態(ON状態と言い換えることができる)にするとともに、ポート番号「20XXX」及び「22XXX」をクローズ状態(OFF状態と言い換えることができる)にする。
【0058】
なお、本実施例では、多機能機40は、初期状態において全てのポート番号がオープンされている。多機能機40は、S80でPC10から送信されたリクエストを受信すると、クローズすることが指示されたポート番号(上記の例では「20XXX」及び「22XXX」)をクローズし、オープンすることが指示されたポート番号(上記の例では「515」、「161」、及び「23XXX」)についてはオープン状態を維持する。なお、多機能機40は、S80でPC10から送信されたリクエストで指示されていない他のポート番号(例えば「24XXXX」等)については、オープン状態を維持してもよいが、セキュリティを向上させるためにはクローズすることが好ましい。この場合、多機能機40は、アプリケーション70〜78とは無関係に使用することが決まっているポート番号については、オープン状態を維持することが好ましい。
【0059】
続いて、制御部28は、S70で入力された管理者情報を多機能機40に送信する(S82)。S70では、IDとパスワードが必ず入力され、連絡先が任意で入力される。S70でIDとパスワードのみが入力された場合、制御部28は、IDとパスワードのみを多機能機40に送信する。S70でIDとパスワードと連絡先が入力された場合、制御部28は、IDとパスワードと連絡先を多機能機40に送信する。多機能機40は、S82でPC10から送信された管理者情報を受信すると、その管理者情報を記憶領域54に記憶させる(図1の符号56参照)。これにより、多機能機40に管理者情報が設定されることになる。S82を終えると、管理者用インストール処理が終了する。
【0060】
(非管理者用インストール処理)
続いて、図4のS50の非管理者用インストール処理の内容について説明する。図8は、非管理者用インストール処理のフローチャートを示す。制御部28は、多機能機40の各ポート番号のステータス(オープン状態又はクローズ状態)をチェックする(S100)。具体的に言うと、制御部28は、各ポート番号のステータスを返信するように多機能機40にリクエストを送信する。この結果、多機能機40は、各ポート番号のステータスをPC10に返信する。
【0061】
S100を終えると、制御部28は、ポート番号リスト82を読み込む(S102)。次いで、制御部28は、S100で得られた各ポート番号のステータスと、S102で読み込まれたポート番号リスト82とに基づいて、オープン状態のポート番号に対応するアプリケーション特定情報を特定するとともに、クローズ状態のポート番号に対応するアプリケーション特定情報を特定する(S104)。例えば、上記の図5のS80の処理において、ポート番号「20XXX」及び「22XXX」が多機能機40でクローズされたものとする。この場合、オープン状態のポート番号に対応するアプリケーション特定情報として、ポート番号「515」、「161」、及び「23XXX」に対応する「PCPrint」、「StatusChecker」、及び「MFPAdm」が特定される。また、クローズ状態のポート番号に対応するアプリケーション特定情報として、ポート番号「20XXX」及び「22XXX」に対応する「NetScan」及び「RemPanel」が特定される。
【0062】
続いて、制御部28は、管理者情報連絡先リクエストを多機能機40に送信する(S106)。多機能機40は、管理者情報連絡先リクエストを受信すると、連絡先が設定されているのか否かを判断する。具体的に言うと、多機能機40は、記憶領域54に記憶されている管理者情報56に連絡先が含まれているのか否かを判断する。多機能機40は、連絡先が設定されている場合、その連絡先をPC10に返信する。一方において、連絡先が設定されていない場合、多機能機40は、連絡先が設定されていないことを示す情報をPC10に返信する。
【0063】
制御部28は、多機能機40からの返信に基づいて、多機能機40に連絡先が設定されているのか否かを判断する(S108)。ここでYESの場合、制御部28は、所定の画面を表示する(S110)。図9は、S110で表示される画面130の一例を示す。画面130は、利用不可能なアプリケーションの名称と、管理者の連絡先を示す情報とを含んでいる。利用不可能なアプリケーションの名称は、S104においてクローズ状態のポート番号に対応するアプリケーション特定情報として特定された情報である。管理者の連絡先を示す情報は、S106で送信された管理者情報連絡先リクエストに応じて返信された連絡先の情報である。一方において、S108でNOの場合、S110をスキップしてS112に進む。
【0064】
S112では、制御部28は、アプリケーション選択画面を表示する(S112)。図10は、S112で表示されるアプリケーション選択画面140の一例を示す。アプリケーション選択画面140は、利用可能なアプリケーションの名称を含んでおり、利用不可能なアプリケーションの名称を含んでいない。利用可能なアプリケーションの名称は、S104においてオープン状態のポート番号に対応するアプリケーション特定情報として特定された情報である。ユーザは、アプリケーション選択画面140に従って、いずれのアプリケーションをPC10にインストールするのかを決定することができる。1つ又は複数のアプリケーションがユーザによって選択されると、制御部28は、S112で選択されたアプリケーションをインストールする(S114)。これにより、非管理者用インストール処理が終了する。なお、非管理者用インストール処理では、S112で選択したアプリケーションに不要なポート番号であっても、管理者用インストール処理によりインストールしたアプリケーションに対応するポート番号のため、そのポート番号をクローズする指示は行わない。
【0065】
(アプリケーションに従ってPCが実行する処理)
ユーザは、PC10にインストールされたアプリケーション(例えばPCプリントアプリケーション70)を起動させるための操作を実行することができる。アプリケーションが起動された状態において、ユーザは、所定の操作を実行することによって、そのアプリケーションに対応する機能を多機能機40に実行させることができる。具体的に言うと、制御部28は、上記の所定の操作が実行されると、アプリケーションに対応するポート番号を含む指示を多機能機40に送信する。例えば、PCプリントアプリケーション70の場合、ポート番号「515」を含む印刷指示を多機能機40に送信する。多機能機40は、印刷指示に含まれるポート番号「515」に基づいて、印刷機能の実行指示であることを特定することができる。多機能機40は、印刷機能を実行する。
【0066】
本実施例の多機能機システム2によると、ユーザによって選択されたアプリケーションのみがPC10にインストールされる。多機能機40では、ユーザによって選択されたアプリケーションに対応するポート番号がオープンされ、ユーザによって選択されたアプリケーションに対応しないポート番号がクローズされる。多機能機40で実行されないポート番号がクローズされるために、多機能機40のセキュリティを高めることができる。
【0067】
また、本実施例の多機能機システム2によると、管理者のユーザは、全てのアプリケーションの中から所望のアプリケーションを選択することができる。これに対し、管理者以外のユーザは、オープンされているポート番号に対応するアプリケーションの中からしか選択することができない。管理者の選択に従って多機能機40でクローズされたポート番号が、管理者以外のユーザによってオープンされることが禁止される。
【0068】
(第1実施例の変形例1)
上記の第1実施例では、PC10のユーザ(管理者)は、インストールされるべきアプリケーションを選択する。多機能機40では、ユーザによって選択されたアプリケーションに対応するポート番号がオープンされるとともに、ユーザによって選択されたアプリケーションに対応しないポート番号がクローズされる。これは、次のように換言することができる。即ち、PC10のユーザ(管理者)は、多機能機40に実行させる機能を選択する。多機能機40では、ユーザによって選択された機能に対応するポート番号がオープンされるとともに、ユーザによって選択された機能に対応しないポート番号がクローズされる。このときは、ポート番号リスト82には、機能(例えば、PCプリント機能、スキャン機能、ステータスチェック機能、パネル操作機能、SNMP機能、ファームアップデート機能)とポート番号とがそれぞれ対応づけられている。ユーザによって選択された機能に対応するポート番号をポート番号リスト82から読出し、その機能に必要なポート番号以外のポート番号のクローズ指示を送信する。なお、ユーザはアプリケーションを選択し、そのアプリケーションにより実行される機能を特定し、その機能に対応するポート番号を特定するようにしてもよい。
【0069】
なお、多機能機管理アプリケーション78は、SNMP機能とファームアップデート機能の両方に対応している。第1実施例において、PC10のユーザ(管理者)がSNMP機能とファームアップデート機能のそれぞれを個別に選択することができるように構成されていてもよい。この場合、図7のアプリケーション選択画面120では、SNMP機能とファームアップデート機能のそれぞれが表示される。即ち、ユーザは、6つの機能の中から任意の機能を選択することができる。例えば、ポート番号「161」に対応するSNMP機能のみが選択された場合、制御部28は、ポート番号「161」をオープンすることを指示するとともに、他のポート番号(「515」、「23XXX」等)をクローズすることを指示するリクエストを多機能機40に送信してもよい。この場合、多機能機管理アプリケーション78を利用してSNMP機能のみを多機能機40に実行させることができる。ただし、ファームアップデート機能に対応する「23XXX」がクローズされるために、ファームアップデート機能を多機能機40に実行させることができない。
【0070】
(第1実施例の変形例2)
図5のS80において、PC10は、不要なポート番号をクローズすることを指示するリクエストを送信しなくてもよい(このような処理を実行するようにインストール実行プログラム80が構成されてもよい)。即ち、図5のS80において、PC10は、必要なポート番号をオープンすることのみを指示するリクエストを送信してもよい。この場合、多機能機40は、必要なポート番号をオープン(即ちオープン状態を維持)し、他の全てのポート番号をクローズしてもよい。
【0071】
(第1実施例の変形例3)
図5のS80において、PC10は、必要なポート番号をクローズすることを指示するリクエストを送信しなくてもよい(このような処理を実行するようにインストール実行プログラム80が構成されてもよい)。即ち、図5のS80において、PC10は、不要なポート番号をクローズすることのみを指示するリクエストを送信してもよい。この場合、多機能機40は、不要なポート番号をクローズし、他の全てのポート番号をオープン(即ちオープン状態を維持)してもよい。
【0072】
(第1実施例の変形例4)
多機能機40は、初期状態において全てのポート番号がクローズされていてもよい。この場合、多機能機40は、図5のS80でPC10から送信されたリクエストを受信すると、オープンすることが指示されたポート番号をオープンし、それ以外のポート番号についてはクローズ状態を維持してもよい。
【0073】
上記の第1実施例、変形例2、変形例3、及び、変形例4のいずれの手法も、「ユーザによって選択されたアプリケーション(もしくは機能)に対応しないポート番号をクローズすることを指示するリクエストを多機能機40に送信すること」に等しい。
【0074】
(第1実施例の変形例5)
図8のS100では、PC10は、多機能機40の全てのポート番号のステータスを取得している。これに代えて、図8のS100において、多機能機40においてオープンされているポート番号のみがPC10によって取得されるようにしてもよい。例えば、PC10は、オープンされているポート番号を返信することを指示するリクエストを多機能機40に送信してもよい(このような処理を実行するようにインストール実行プログラム80が構成されてもよい)。また、図8のS100において、多機能機40においてクローズされているポート番号のみがPC10によって取得されるようにしてもよい。例えば、PC10は、クローズされているポート番号を返信することを指示するリクエストを多機能機40に送信してもよい(このような処理を実行するようにインストール実行プログラム80が構成されてもよい)。多機能機40においてオープンされているポート番号とクローズされているポート番号のどちらかがわかれば、PC10は、S104の処理を実行することができる。
【0075】
(第2実施例)
続いて、第2実施例について説明する。本実施例の多機能機40は、インストールフラグ58(図1参照)を記憶することができる。インストールフラグ58は、「0」と「1」のどちらかの値を示すフラグである。初期状態では、インストールフラグ58は「0」に設定されている。なお、本実施例の多機能機40は、管理者情報56やポート番号テーブル60を記憶する必要は必ずしもない。また、本実施例では、メディア18のインストール実行プログラム80が第1実施例と異なる。
【0076】
(メディアのプログラムに従ってPCが実行する処理)
本実施例のインストール実行プログラム80に従って、PC10の制御部28が実行する処理の内容を説明する。図11は、この処理のフローチャートを示す。
【0077】
S210〜S216は、図3のS10〜S16と同様である。S218では、制御部28は、インストールフラグリクエストを多機能機40に送信する。多機能機40は、インストールフラグリクエストを受信すると、記憶領域54のインストールフラグ58の値(「0」又は「1」)をPC10に返信する。制御部28は、多機能機40から返信されたインストールフラグ58の値が「1」であるのか否かを判断する(S220)。ここでNOの場合(即ちインストールフラグ58の値が「0」である場合)、制御部28は、初回インストール処理を実行する(S222)。一方において、S220でYESの場合、制御部28は、2回目以降インストール処理を実行する(S224)。
【0078】
(初回インストール処理)
図12は、初回インストール処理のフローチャートを示す。S240〜S248は、図5のS72〜S80と同様である。S248を行なうことによって、多機能機40では、ユーザによって選択されたアプリケーションに対応しないポート番号をクローズする。これにより、多機能機40のセキュリティが向上する。S248を終えると、制御部28は、インストール済情報を多機能機40に送信する(S250)。多機能機40は、インストール済情報を受信すると、インストールフラグ58を「0」から「1」に変更する。
【0079】
(二回目以降インストール処理)
図13は、二回目以降インストール処理のフローチャートを示す。S270〜S276は、図5のS72〜S78(図12のS240〜S246)と同様である。S270では、ユーザは、全てのアプリケーション70〜78から所望のアプリケーションを選択することができる。なお、S276では、制御部28は、S270でユーザによって選択されたアプリケーションに対応しないポート番号を特定してもよいが、特定しなくてもよい。S276を終えると、制御部28は、多機能機40の各ポート番号のステータス(オープン状態又はクローズ状態)をチェックする(S278)。この処理は、図8のS100と同様である。
【0080】
続いて、制御部28は、S270でユーザによって選択されたアプリケーションに対応する全てのポート番号がオープン状態であるのか否かを判断する(S280)。S270でユーザによって選択されたアプリケーションに対応するポート番号は、S276で特定されている。そのポート番号がオープン状態であるのか否かについては、S278で得られた情報に基づいて判断される。例えば、S270でユーザによって選択されたアプリケーションがPCプリントアプリケーション70(ポート番号「515」)とスキャンアプリケーション72(ポート番号「20XXX」)であり、S278で得られた情報ではポート番号「515」がオープン状態であるとともにポート番号「20XXX」がクローズ状態である場合、制御部28は、S282でNOと判断する。この場合、制御部28は、S270でユーザによって選択されたアプリケーションに対応するポート番号の中でクローズされているポート番号をオープンすることを指示するリクエストを多機能機40に送信する(S282)。上記の例の場合、制御部28は、ポート番号「20XXX」をオープンすることを指示するリクエストを多機能機40に送信する。多機能機40は、S282でPC10から送信されたリクエストを受信すると、そのリクエストに従ってポート番号をオープンさせる。これにより、2回目以降インストール処理が終了する。なお、S280でYESの場合、制御部28は、S282をスキップして2回目以降インストール処理を終了する。
【0081】
本実施例によっても、多機能機40では、ユーザによって選択されたアプリケーションに対応するポート番号がオープンされ、ユーザによって選択されたアプリケーションに対応しないポート番号がクローズされる。多機能機40のセキュリティを高めることができる。また、本実施例によると、ユーザは、別のユーザの選択によってクローズされたポート番号が存在しても、全てのアプリケーション70〜78から所望のアプリケーションを選択することができる。
【0082】
(第2実施例の変形例1)
第2実施例においても、上記の第1実施例の変形例1〜変形例5のいずれの技術も適用することができる。
【0083】
(第2実施例の変形例2)
図13のS278及びS280を省略してもよい。この場合、制御部28は、S282において、必要なポート番号をオープンすることを指示するリクエストを送信してもよい。多機能機40は、S282でPC10から送信されたリクエストに含まれる必要なポート番号の中でクローズされているポート番号を特定し、特定されたポート番号をオープンしてもよい。
【0084】
(第3実施例)
続いて、第3実施例について説明する。本実施例の多機能機40は、ポート番号テーブル60(図1参照)を記憶することができる。ポート番号テーブル60は、図2のポート番号リスト82と同様の内容である。つまり、アプリケーションとポート番号とがそれぞれ対応づけられている。なお、本実施例の多機能機40は、インストールフラグ58を記憶する必要は必ずしもない。また、本実施例では、メディア18のインストール実行プログラム80が第1実施例と異なる。
【0085】
(メディアのプログラムに従ってPCが実行する処理)
本実施例のインストール実行プログラム80に従って、PC10の制御部28が実行する処理の内容を説明する。図3及び図4の処理は、第1実施例と同様である。ただし、本実施例では、図3のS26で実行される管理者用インストール処理の内容が第1実施例と異なる。
【0086】
(管理者用インストール処理)
図14は、本実施例の管理者用インストール処理のフローチャートを示す。S300〜S304は、図5のS70〜S74と同様である。また、S306は、図5のS82と同様である。S306を終えると、制御部28は、S300でユーザによって選択されたアプリケーションを特定するアプリケーション特定情報を多機能機40に送信する(S308)。例えば、S300においてPCプリントアプリケーション70とスキャンアプリケーション72とがユーザによって選択された場合、制御部28は、「PCPrint」という文字列と「NetScan」という文字列を多機能機40に送信する。
【0087】
(多機能機が実行する処理)
続いて、多機能機40の制御部62が実行する処理について説明する。図15は、制御部62が実行する処理のフローチャートを示す。なお、図15は、多機能機40が実行する全ての処理を示しているのではなく、多機能機40が実行する一部の処理のみを示している。
【0088】
制御部62は、図14のS306でPC10から送信される管理者情報を受信することを監視している(S320)。ここでYESの場合、制御部62は、S320で受信された管理者情報(ID及びパスワード(連絡先が含まれることもある))を記憶領域54(図1参照)に記憶する(S322)。一方において、S320でNOの場合、S322をスキップする。
【0089】
制御部62は、図14のS308でPC10から送信されるアプリケーション特定情報を受信することを監視している(S324)。ここでYESの場合、制御部62は、ポート番号テーブル60を読み込む(S326)。次いで、制御部62は、必要なポート番号を特定するとともに不要なポート番号を特定する(S328)。例えば、S324で受信されたアプリケーション特定情報が「PCPrint」という文字列を含んでいる場合、制御部62は、S326で読み込まれたポート番号テーブル60において「PCPrint」に対応づけられているポート番号「515」を必要なポート番号として特定する。さらに、制御部62は、上記のポート番号「515」以外のポート番号(「20XXX」等)を不要なポート番号として特定する。
【0090】
本実施例の多機能機40は、初期状態において全てのポート番号がオープンされている(ただし全てのポート番号がクローズされていてもよい)。制御部62は、S328で特定された必要なポート番号をオープン状態に維持するとともに、S328で特定された不要なポート番号をクローズする(S330)。これにより、多機能機40の処理が終了する。
【0091】
本実施例では、不要なポート番号をクローズすることを指示するリクエストがPC10から多機能機40に送信されない。代わりに、アプリケーション特定情報のみがPC10から多機能機40に送信される。多機能機40は、PC10から送信されたアプリケーション特定情報に基づいて、クローズされるべきポート番号を特定し、特定されたポート番号をクローズする。本実施例によっても、ユーザによって選択されたアプリケーションに対応しないポート番号がクローズされる。多機能機40のセキュリティを高めることができる。
【0092】
(第3実施例の変形例1)
第3実施例では、上記の第1実施例の変形例1のように、ユーザが多機能機40に実行させる機能を選択することができるように構成されてもよい。この場合、図1のポート番号テーブル60と図2のポート番号リスト82では、機能特定情報とポート番号とが対応づけられていてもよい。例えば、PCプリント機能、スキャン機能、ステータスチェック機能、及び、パネル操作機能のそれぞれについては、図2の組合せ情報90〜96に示されるアプリケーション特定情報と同じ文字列を機能特定情報として採用してもよい。また、SNMP機能の機能特定情報として「SNMP」という文字列を採用し、ファームアップデート機能の機能特定情報として「FirmUpdate」という文字列を採用してもよい。本変形例では、図14のS308において、ユーザによって選択された機能の機能特定情報が多機能機40に送信される。多機能機40は、S324で機能特定情報を受信し、その機能特定情報に基づいて必要なポート番号と不要なポート番号を特定する。本変形例によっても、第3実施例と同様の効果を得ることができる。また、多機能機40は、各機能を実現するために、複数の機能それぞれに対してポート番号が設定されているので、この設定内容を用いて、ユーザによって選択された機能に対応するポート番号を特定してもよい。
【0093】
(第3実施例の変形例2)
図15のS328において、多機能機40は、不要なポート番号を特定しなくてもよい。即ち、図15のS328において、多機能機40は、必要なポート番号のみを特定してもよい。この場合、多機能機40は、必要なポート番号をオープンし、他の全てのポート番号をクローズしてもよい。
【0094】
(第3実施例の変形例3)
図15のS328において、多機能機40は、必要なポート番号を特定しなくてもよい。即ち、図15のS328において、多機能機40は、不要なポート番号のみを特定してもよい。この場合、多機能機40は、不要なポート番号をクローズし、他の全てのポート番号をオープンしてもよい。
【0095】
(第3実施例の変形例4)
図14のS308において、PC10は、ユーザによって選択されなかったアプリケーションのアプリケーション特定情報を多機能機40に送信してもよい(このような処理を実行するようにインストール実行プログラム80が構成されてもよい)。また、図14のS308において、PC10は、ユーザによって選択されたアプリケーションのアプリケーション特定情報と、ユーザによって選択されなかったアプリケーションのアプリケーション特定情報とを多機能機40に送信してもよい(このような処理を実行するようにインストール実行プログラム80が構成されてもよい)。本変形例のように構成しても、多機能機40は、必要なポート番号と不要なポート番号を特定することができる。
【0096】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、上記のインストール実行プログラム80は、インターネット等の外部ネットワークからPC10にダウンロードされてもよい。また、ポート番号を特定する際に、アプリケーションや機能の文字列に基づきポート番号を特定しているが、これに限らず、例えば、アプリケーションや機能のそれぞれに対し、さらに番号が対応付けられており、その番号とポート番号との対応によりポート番号を特定しても良い。
【0097】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【0098】
【図1】多機能機システムの構成を示す。
【図2】メディアの記憶内容の一例を模式的に示す。
【図3】インストール処理のフローチャートを示す。
【図4】図3の続きのフローチャートを示す。
【図5】管理者用インストール処理のフローチャートを示す。
【図6】管理者登録画面の一例を示す。
【図7】アプリケーション選択画面の一例を示す。
【図8】非管理者用インストール処理のフローチャートを示す。
【図9】通知画面の一例を示す。
【図10】アプリケーション選択画面の一例を示す。
【図11】インストール処理のフローチャートを示す(第2実施例)。
【図12】初回インストール処理のフローチャートを示す。
【図13】二回目以降インストール処理のフローチャートを示す。
【図14】管理者用インストール処理のフローチャートを示す(第3実施例)。
【図15】多機能機の処理のフローチャートを示す。
【符号の説明】
【0099】
2:多機能機システム
10:PC
16:メディア収容部
18:メディア
20:記憶部
28:制御部
40:多機能機
50:記憶部
56:管理者情報
58:インストールフラグ
60:ポート番号テーブル
62:制御部
70〜78:アプリケーション
80:インストール実行プログラム
82:ポート番号リスト
90〜98:組合せ情報
100:アプリケーション特定情報
102:ポート番号

【特許請求の範囲】
【請求項1】
複数のアプリケーションに対応する複数の機能を実行することが可能であり、前記複数の機能のそれぞれに対してポート番号が設定されており、かつ、外部からの機能実行指示に含まれるポート番号が設定されている機能を実行するという各特性を持つ機能実行装置に通信可能に接続される通信装置に、前記複数のアプリケーションをインストールするためのコンピュータプログラムであり、
通信装置に搭載されるコンピュータに、以下の処理、即ち、
前記複数の機能の中から1つ以上の機能をユーザが選択することを許容する選択許容処理と、
ユーザによって選択された機能に対応するアプリケーションをインストールするインストール処理と、
ユーザによって選択された機能に対して設定されていないポート番号をクローズすることを指示するポートクローズ指示を機能実行装置に送信するポートクローズ指示送信処理と
を実行させ、
前記複数のアプリケーションのそれぞれは、当該アプリケーションに対応する機能に対して設定されているポート番号を含む機能実行指示を機能実行装置に送信するためのアプリケーションである
ことを特徴とするコンピュータプログラム。
【請求項2】
前記コンピュータに、以下の処理、即ち、
ユーザ識別情報が機能実行装置に設定されているのか否かを機能実行装置に問い合わせるユーザ識別情報問合せ処理と、
ユーザ識別情報が機能実行装置に設定されていないことを条件として、ユーザ識別情報を機能実行装置に送信することによって当該ユーザ識別情報を機能実行装置に設定するユーザ識別情報設定処理と
をさらに実行させ、
機能実行装置に設定されているユーザ識別情報に対応するユーザに対しては、前記選択許容処理において前記複数の機能の全ての中から1つ以上の機能を選択することを許容し、前記インストール処理と前記ポートクローズ指示送信処理とを前記コンピュータに実行させる
ことを特徴とする請求項1のコンピュータプログラム。
【請求項3】
前記コンピュータに、以下の処理、即ち、
機能実行装置においてオープンされているポート番号に関する情報及び/又はクローズされているポート番号に関する情報を確認するポート確認処理
をさらに実行させ、
機能実行装置に設定されているユーザ識別情報に対応しないユーザに対しては、前記選択許容処理においてポート確認処理で確認されたオープンされているポート番号に対応する機能の中から1つ以上の機能を選択することを許容し、前記インストール処理を前記コンピュータに実行させる
ことを特徴とする請求項2のコンピュータプログラム。
【請求項4】
前記コンピュータに、以下の処理、即ち、
ポートクローズ指示が機能実行装置に過去に送信されたのか否かを機能実行装置に問い合わせる指示問合せ処理
をさらに実行させ、
ポートクローズ指示が機能実行装置に過去に送信されていないことを条件として、前記選択許容処理と、前記インストール処理と、前記ポートクローズ指示送信処理とを前記コンピュータに実行させ、
ポートクローズ指示が機能実行装置に過去に送信されていることを条件として、前記選択許容処理と、前記インストール処理と、ユーザによって選択された機能に対して設定されているポート番号をオープンすることを指示するポートオープン指示を機能実行装置に送信するポートオープン指示送信処理とを前記コンピュータに実行させる
ことを特徴とする請求項1に記載のコンピュータプログラム。
【請求項5】
複数のアプリケーションに対応する複数の機能を実行することが可能であり、前記複数の機能のそれぞれに対してポート番号が設定されており、かつ、外部からの機能実行指示に含まれるポート番号が設定されている機能を実行するという各特性を持つ機能実行装置に通信可能に接続される通信装置に、前記複数のアプリケーションをインストールするためのコンピュータプログラムであり、
通信装置に搭載されるコンピュータに、以下の処理、即ち、
前記複数のアプリケーションの中から1つ以上のアプリケーションをユーザが選択することを許容する選択許容処理と、
ユーザによって選択されたアプリケーションをインストールするインストール処理と、
ユーザによって選択されたアプリケーションに対応する機能に対して設定されていないポート番号をクローズすることを指示するポートクローズ指示を機能実行装置に送信するポートクローズ指示送信処理と
を実行させ、
前記複数のアプリケーションのそれぞれは、当該アプリケーションに対応する機能に対して設定されているポート番号を含む機能実行指示を機能実行装置に送信するためのアプリケーションである
ことを特徴とするコンピュータプログラム。
【請求項6】
前記コンピュータに、以下の処理、即ち
前記複数のアプリケーションのそれぞれについて、当該アプリケーションと、当該アプリケーションに対応する機能に対して設定されているポート番号とが関連づけられているポート番号リストから、ユーザによって選択されたアプリケーションに関連づけられていないポート番号を特定するポート番号特定処理
をさらに実行させ、
前記ポートクローズ指示送信処理は、ポート番号特定処理によって特定されたポート番号をクローズすることを指示するポートクローズ指示を機能実行装置に送信する処理である
ことを特徴とする請求項5に記載のコンピュータプログラム。
【請求項7】
複数のアプリケーションに対応する複数の機能を実行することが可能であり、前記複数の機能のそれぞれに対してポート番号が設定されており、かつ、外部からの機能実行指示に含まれるポート番号が設定されている機能を実行するという各特性を持つ機能実行装置と、その機能実行装置に通信可能に接続される通信装置とを備える機能実行システムであり、
通信装置は、
前記複数の機能の中から1つ以上の機能をユーザが選択することを許容する選択許容手段と、
ユーザによって選択された機能に対応するアプリケーションをインストールするインストール手段と、
ユーザによって選択された機能に関する選択機能情報及び/又はユーザによって選択されなかった機能に関する非選択機能情報を機能実行装置に送信する機能情報送信手段とを有し、
前記複数のアプリケーションのそれぞれは、当該アプリケーションに対応する機能に対して設定されているポート番号を含む機能実行指示を機能実行装置に送信するためのアプリケーションであり、
機能実行装置は、
通信装置から送信された選択機能情報及び/又は非選択機能情報を受信する機能情報受信手段と、
機能情報受信手段によって受信された選択機能情報及び/又は非選択機能情報に従って、ユーザによって選択された機能に対応しないポート番号をクローズするポートクローズ手段とを有する
ことを特徴とする機能実行システム。
【請求項8】
複数のアプリケーションに対応する複数の機能を実行することが可能であり、前記複数の機能のそれぞれに対してポート番号が設定されており、かつ、外部からの機能実行指示に含まれるポート番号が設定されている機能を実行するという各特性を持つ機能実行装置であり、
前記複数の機能の中から1つ以上の機能をユーザが選択することを許容し、ユーザによって選択された機能に対応するアプリケーションをインストールし、ユーザによって選択された機能に関する選択機能情報及び/又はユーザによって選択されなかった機能に関する非選択機能情報を機能実行装置に送信する通信装置と通信可能に接続されるインターフェイスと、
インターフェイスによって受信された選択機能情報及び/又は非選択機能情報に従って、ユーザによって選択された機能に対応しないポート番号をクローズするポートクローズ手段とを備え、
前記複数のアプリケーションのそれぞれは、当該アプリケーションに対応する機能に対して設定されているポート番号を含む機能実行指示を機能実行装置に送信するためのアプリケーションである
ことを特徴とする機能実行装置。
【請求項9】
複数のアプリケーションに対応する複数の機能を実行することが可能であり、前記複数の機能のそれぞれに対してポート番号が設定されており、かつ、外部からの機能実行指示に含まれるポート番号が設定されている機能を実行するという各特性を持つ機能実行装置と、その機能実行装置に通信可能に接続される通信装置とを備える機能実行システムであり、
通信装置は、
前記複数のアプリケーションの中から1つ以上のアプリケーションをユーザが選択することを許容する選択許容手段と、
ユーザによって選択されたアプリケーションをインストールするインストール手段と、
ユーザによって選択されたアプリケーションに関する選択アプリケーション情報及び/又はユーザによって選択されなかったアプリケーションに関する非選択アプリケーション情報を機能実行装置に送信するアプリケーション情報送信手段とを有し、
前記複数のアプリケーションのそれぞれは、当該アプリケーションに対応する機能に対して設定されているポート番号を含む機能実行指示を機能実行装置に送信するためのアプリケーションであり、
機能実行装置は、
通信装置から送信された選択アプリケーション情報及び/又は非選択アプリケーション情報を受信するアプリケーション情報受信手段と、
アプリケーション情報受信手段によって受信された選択アプリケーション情報及び/又は非選択アプリケーション情報に従って、ユーザによって選択されたアプリケーションに対応する機能に対して設定されていないポート番号をクローズするポートクローズ手段とを有する
ことを特徴とする機能実行システム。
【請求項10】
複数のアプリケーションに対応する複数の機能を実行することが可能であり、前記複数の機能のそれぞれに対してポート番号が設定されており、かつ、外部からの機能実行指示に含まれるポート番号が設定されている機能を実行するという各特性を持つ機能実行装置であり、
前記複数のアプリケーションの中から1つ以上のアプリケーションをユーザが選択することを許容し、ユーザによって選択されたアプリケーションをインストールし、ユーザによって選択されたアプリケーションに関する選択アプリケーション情報及び/又はユーザによって選択されなかったアプリケーションに関する非選択アプリケーション情報を機能実行装置に送信する通信装置と通信可能に接続されるインターフェイスと、
インターフェイスによって受信された選択アプリケーション情報及び/又は非選択アプリケーション情報に従って、ユーザによって選択されたアプリケーションに対応する機能に対して設定されていないポート番号をクローズするポートクローズ手段とを備え、
前記複数のアプリケーションのそれぞれは、当該アプリケーションに対応する機能に対して設定されているポート番号を含む機能実行指示を機能実行装置に送信するためのアプリケーションである
ことを特徴とする機能実行装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2010−9505(P2010−9505A)
【公開日】平成22年1月14日(2010.1.14)
【国際特許分類】
【出願番号】特願2008−171117(P2008−171117)
【出願日】平成20年6月30日(2008.6.30)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】