(57)【要約】【課題】複数のホスト装置と情報処理装置との間の通信量を抑制することを目的とする。【解決手段】情報処理装置は、情報処理装置に適用可能な複数の第１のプログラムを記憶する第１の記憶部と、複数の上位装置のいずれかと情報処理装置との間で接続処理を行う際に、第１の記憶部に記憶された複数の第１のプログラムに関するプログラム情報を上位装置に送信する第１の送信部とを含む。上位装置は、上位装置に適用されている第２のプログラムに対応する所定の第１のプログラムを記憶する第２の記憶部と、情報処理装置から受信したプログラム情報に所定の第１のプログラムに関する情報が含まれているかに応じて、所定の第１のプログラムを情報処理装置に送信するかを判定する判定部と、所定の第１のプログラムを情報処理装置に送信しないと判定された場合、所定の第１のプログラムの適用指示を情報処理装置に送信する第２の送信部とを含む。【選択図】図１
2020021125.tif 000002
【特許請求の範囲】
【請求項１】
１の情報処理装置と複数の上位装置との間で通信される情報処理システムであって、
前記情報処理装置は、
前記情報処理装置に適用可能な複数の第１のプログラムを記憶する第１の記憶部と、
前記複数の上位装置のいずれかと前記情報処理装置との間で接続処理を行う際に、前記第１の記憶部に記憶された前記複数の第１のプログラムに関するプログラム情報を前記上位装置に送信する第１の送信部とを含み、
前記上位装置は、
前記上位装置に適用されている第２のプログラムに対応する所定の第１のプログラムを記憶する第２の記憶部と、
前記情報処理装置から受信した前記プログラム情報に前記所定の第１のプログラムに関する情報が含まれているかに応じて、前記所定の第１のプログラムを前記情報処理装置に送信するかを判定する判定部と、
前記所定の第１のプログラムを前記情報処理装置に送信しないと判定された場合、前記所定の第１のプログラムの適用指示を前記情報処理装置に送信する第２の送信部とを含む
ことを特徴とする情報処理システム。
【請求項２】
前記プログラム情報は、前記情報処理装置に現在適用中の第１のプログラムに関する情報を含み、
前記情報処理装置に現在適用中の第１のプログラムが前記所定の第１のプログラムと異なる場合であって、前記プログラム情報に前記所定の第１のプログラムに関する情報が含まれている場合、
前記判定部は、前記所定の第１のプログラムを前記情報処理装置に送信しないと判定し、
前記第２の送信部は、前記情報処理装置に記憶された前記所定の第１のプログラムの適用指示を前記情報処理装置に送信する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記プログラム情報は、前記情報処理装置に現在適用中の第１のプログラムに関する情報を含み、
前記情報処理装置に現在適用中の第１のプログラムが前記所定の第１のプログラムと異なる場合であって、前記プログラム情報に前記所定の第１のプログラムに関する情報が含まれていない場合、
前記判定部は、前記所定の第１のプログラムを前記情報処理装置に送信すると判定し、
前記第２の送信部は、前記所定の第１のプログラムを前記情報処理装置に送信する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記プログラム情報は、前記情報処理装置に現在適用中の第１のプログラムに関する情報を含み、
前記情報処理装置に現在適用中の第１のプログラムと前記所定の第１のプログラムが一致する場合、
前記判定部は、前記所定の第１のプログラムを前記情報処理装置に送信しないと判定し、
前記上位装置および前記情報処理装置は、所定の相互間通信処理を開始する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項５】
前記情報処理装置は、
前記上位装置から前記所定の第１のプログラムを受信した際に、前記第１の記憶部に記憶された第１のプログラムの数が所定値である場合、前記第１の記憶部に記憶された前記第１のプログラムのうち、最後に使用したタイミングが最も古い前記第１のプログラムを削除し、受信した前記所定の第１のプログラムを前記第１の記憶部に記憶させるプログラム管理部を含む
ことを特徴とする請求項３に記載の情報処理システム。
【請求項６】
１の情報処理装置と複数の上位装置との間で通信される情報処理システムにおける前記上位装置であって、
前記情報処理装置との間で接続処理を行う際に、前記情報処理装置に記憶された前記情報処理装置に適用可能な前記複数の第１のプログラムに関するプログラム情報の送信指示を前記情報処理装置に送信する送信部と、
前記上位装置に適用されている第２のプログラムに対応する所定の第１のプログラムを記憶する記憶部と、
前記情報処理装置から受信した前記プログラム情報に前記所定の第１のプログラムに関する情報が含まれているかに応じて、前記所定の第１のプログラムを前記情報処理装置に送信するかを判定する判定部とを備え、
前記送信部は、前記所定の第１のプログラムを前記情報処理装置に送信しないと判定された場合、前記所定の第１のプログラムの適用指示を前記情報処理装置に送信する
ことを特徴とする上位装置。
【請求項７】
１の情報処理装置と複数の上位装置との間で通信される情報処理システムにおける前記情報処理装置であって、
前記情報処理装置に適用可能な複数の第１のプログラムを記憶する記憶部と、
前記複数の上位装置のいずれかとの間で接続処理を行う際に、前記記憶部に記憶された前記複数の第１のプログラムに関するプログラム情報を前記上位装置に送信する送信部と、
前記上位装置から前記複数の第１のプログラムのうちの所定の第１のプログラムの適用指示を受信した場合、前記所定のプログラムを前記情報処理装置に適用させる適用処理部と、を備える
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、ホスト装置、および情報処理装置に関する。
【背景技術】
【０００２】
ホスト装置と情報処理装置とが相互間通信処理を行うシステムにおいて、ホスト装置に適用されているプログラムと情報処理装置に適用されているプログラムとを対応させるために、プログラムのアップデートが行われる。例えば、ホスト装置から情報処理装置に最新のプログラムを送信することにより、ホスト装置のプログラムと情報処理装置のプログラムを同期することが行われる。
【０００３】
関連する技術として、新たなファームウェアとの整合性を有するソフトウェアのバージョンを検出し、新たに必要なバージョンのソフトウェアを選定する技術が提案されている（例えば、特許文献１を参照）。
【０００４】
また、関連する技術として、印刷装置のファームウェアの版情報が管理手段により管理されているファームウェアの版情報と異なる場合は、印刷装置のファームウェアを更新する技術が提案されている（例えば、特許文献２を参照）。
【０００５】
また、関連する技術として、既にインストールされているプリンタドライバおよび制御プログラムと、新しい版のプリンタドライバおよび制御プログラム間の適合性を判断し、適合性があるときに更新する技術が提案されている（例えば、特許文献３を参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−１９１７９７号公報
【特許文献２】特開２００９−２３０４００号公報
【特許文献３】特開２００１−２７９４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
例えば、複数のホスト装置に通信接続可能な情報処理装置を含むシステムを想定する。そのようなシステムにおいて、情報処理装置に通信接続するホスト装置が切り替わる場合、情報処理装置が、新たに接続するホスト装置に対応するプログラムをホスト装置から受信することが考えられる。しかし、情報処理装置が、通信接続するホスト装置が切り替わる毎に通信接続するホスト装置に対応するプログラムを受信すると、通信量が増加する。
【０００８】
１つの側面として、本発明は、複数のホスト装置と情報処理装置との間の通信量を抑制することを目的とする。
【課題を解決するための手段】
【０００９】
１つの態様では、情報処理システムは、１の情報処理装置と複数の上位装置との間で通信される情報処理システムであって、前記情報処理装置は、前記情報処理装置に適用可能な複数の第１のプログラムを記憶する第１の記憶部と、前記複数の上位装置のいずれかと前記情報処理装置との間で接続処理を行う際に、前記第１の記憶部に記憶された前記複数の第１のプログラムに関するプログラム情報を前記上位装置に送信する第１の送信部とを含み、前記上位装置は、前記上位装置に適用されている第２のプログラムに対応する所定の第１のプログラムを記憶する第２の記憶部と、前記情報処理装置から受信した前記プログラム情報に前記所定の第１のプログラムに関する情報が含まれているかに応じて、前記所定の第１のプログラムを前記情報処理装置に送信するかを判定する判定部と、前記所定の第１のプログラムを前記情報処理装置に送信しないと判定された場合、前記所定の第１のプログラムの適用指示を前記情報処理装置に送信する第２の送信部とを含む。
【発明の効果】
【００１０】
１つの側面によれば、複数のホスト装置と情報処理装置との間の通信量を抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態における情報処理システムの全体構成の一例を示す図である。
【図２】ホスト装置の一例を示す図である。
【図３】情報処理装置の一例を示す図である。
【図４】第２のプログラムと第１のプログラムとの対応関係を示す対応情報の一例を示す図である。
【図５】情報処理装置の記憶部に記憶された第１のプログラムを示す管理情報の一例を示す図である。
【図６】ホスト装置の処理の一例を示すフローチャートである。
【図７】情報処理装置の処理の一例を示すフローチャートである。
【図８】図７のステップＳ２０６の処理の一例を示すフローチャートである。
【図９】実施例における第１の状態を示す図である。
【図１０】実施例における第２の状態を示す図である。
【図１１】実施例における第３の状態を示す図である。
【図１２】実施例における第４の状態を示す図である。
【図１３】ホスト装置のハードウェア構成の一例を示す図である。
【図１４】情報処理装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、実施形態について説明する。図１は、実施形態における情報処理システムの全体構成の一例を示す図である。情報処理システムは、ホスト装置１−１、ホスト装置１−２・・・ホスト装置１−ｎと、情報処理装置２と、周辺装置３とを含む。以下、ホスト装置１−１、ホスト装置１−２・・・ホスト装置１−ｎを区別しない場合、ホスト装置１と称する。情報処理装置２は、Local Area Network（ＬＡＮ）またはWide Area Network（ＷＡＮ）等のネットワークを介して複数のホスト装置１に通信接続することが可能である。情報処理装置２は、例えば、ＬＡＮ等のネットワークまたはUniversal Serial Bus（ＵＳＢ）等のインタフェースを介して周辺装置３に接続する。
【００１３】
ホスト装置１は、例えば、メインフレームである。ホスト装置１は、上位装置の一例である。情報処理装置２は、例えば、サーバまたはパーソナルコンピュータ等である。周辺装置３は、例えば、印刷装置、表示装置またはストレージ装置等である。
【００１４】
ホスト装置１は、通信接続された情報処理装置２と相互間通信処理を実行し、情報処理装置２を介して周辺装置３を利用することが可能である。図１に示す情報処理システムは、ホスト装置１が情報処理装置２と相互間通信処理を実行する前に、ホスト装置１に適用されたプログラムと情報処理装置２に適用されたプログラムとを整合させる。以下、情報処理装置２に適用されたプログラムを第１のプログラムと称する。また、ホスト装置１に適用されたプログラムを第２のプログラムと称する。
【００１５】
図２は、ホスト装置１の一例を示す図である。ホスト装置１は、記憶部１１と、受信部１２と、判定部１３と、送信部１４と、相互間通信処理部１５とを含む。
【００１６】
記憶部１１は、ホスト装置１に適用されている第２のプログラムと、ホスト装置１に適用されている第２のプログラムに対応する第１のプログラムとを記憶する。以下、ホスト装置１に適用されている第２のプログラムに対応する第１のプログラムを所定の第１のプログラムと称することがある。また、記憶部１１は、第２のプログラムと第１のプログラムの対応関係を示す対応情報を記憶する。記憶部１１は、第２の記憶部の一例である。
【００１７】
第２のプログラムは、例えば、ホスト装置１のハードウェアを制御するファームウェアである。第２のプログラムは、例えば、Operating System（ＯＳ）、またはＯＳ上で動作するアプリケーション等であってもよい。
【００１８】
受信部１２は、情報処理装置２がホスト装置１に通信接続する際に、情報処理装置２が記憶する第１のプログラムを示すプログラム情報と、情報処理装置２に適用されている第１のプログラムを示す情報とを受信する。
【００１９】
判定部１３は、情報処理装置２から受信したプログラム情報に所定の第１のプログラムが含まれているかに応じて、所定の第１のプログラムを情報処理装置２に送信するかを判定する。
【００２０】
送信部１４は、情報処理装置２との間で接続処理を行う際に、情報処理装置２に記憶された情報処理装置２に適用可能な複数の第１のプログラムに関するプログラム情報の送信指示を情報処理装置２に送信する。送信部１４は、第２の送信部の一例である。
【００２１】
送信部１４は、所定の第１のプログラムを情報処理装置２に送信すると判定された場合、記憶部１１に記憶された所定の第１のプログラムを情報処理装置２に送信する。
【００２２】
例えば、情報処理装置２に適用されている第１のプログラムが所定の第１のプログラムではなく、所定の第１のプログラムが管理情報に含まれている場合、判定部１３は、所定の第１のプログラムを情報処理装置２に送信しないと判定する。そして、送信部１４は、情報処理装置２が記憶する所定の第１のプログラムの適用指示を情報処理装置２に送信する。これにより、ホスト装置１は、情報処理装置２に適用される第１のプログラムを、ホスト装置１に適用されている第２のプログラムに対応させ、かつ、ホスト装置１と情報処理装置２との間の通信量を抑制することができる。
【００２３】
また、例えば、情報処理装置２に適用されている第１のプログラムが所定の第１のプログラムではなく、所定の第１のプログラムが管理情報に含まれていない場合、判定部１３は、所定の第１のプログラムを情報処理装置２に送信すると判定する。そして、送信部１４は、所定の第１のプログラムを情報処理装置２に送信し、さらに、送信した所定の第１のプログラムの適用指示を情報処理装置２に送信する。これにより、ホスト装置１は、情報処理装置２に適用される第１のプログラムを、ホスト装置１に適用されている第２のプログラムに対応させることができる。
【００２４】
また、例えば、情報処理装置２に適用されている第１のプログラムが所定の第１のプログラムである場合、判定部１３は、所定の第１のプログラムを情報処理装置２に送信しないと判定する。そして、送信部１４は、所定の相互間通信処理を実行する指示を情報処理装置２に送信する。これにより、ホスト装置１は、余分なプログラムの送信をせずに相互間通信処理を開始することができる。
【００２５】
相互間通信処理部１５は、送信部１４が所定の相互間通信処理を実行する指示を情報処理装置２に送信した後、情報処理装置２との所定の相互間通信処理を実行する。例えば、周辺装置３が印刷装置であり、ホスト装置１が周辺装置３を利用する場合、相互間通信処理部１５は、印刷に関する各種データの送受信を情報処理装置２と行う。
【００２６】
図３は、情報処理装置２の一例を示す図である。情報処理装置２は、記憶部２１と、受信部２２と、判定部２３と、送信部２４と、プログラム管理部２５と、適用処理部２６と、相互間通信処理部２７とを含む。
【００２７】
記憶部２１は、情報処理装置２に適用可能な１以上の第１のプログラムを第１領域に記憶し、第１領域に記憶された第１のプログラムを示す管理情報を第２領域に記憶する。記憶部２１は、第１の記憶部の一例である。
【００２８】
第１のプログラムは、例えば、情報処理装置２のハードウェアを制御するファームウェアである。第１のプログラムは、例えば、ＯＳ、またはＯＳ上で動作するアプリケーション等であってもよい。
【００２９】
受信部２２は、ホスト装置１から送信された所定の第１のプログラムを受信する。また、受信部２２は、ホスト装置１から送信された所定の第１のプログラムの適用指示、所定の相互間通信処理を実行する指示等を受信する。
【００３０】
判定部２３は、例えば、所定の第１のプログラムを受信したか判定する。また、判定部２３は、所定の第１のプログラムの適用指示をホスト装置１から受信したか判定する。
【００３１】
送信部２４は、複数のホスト装置１のいずれかと情報処理装置２との間で接続処理を行う際に、管理情報に含まれる複数の第１のプログラムに関するプログラム情報と、情報処理装置２に適用されている第１のプログラムを示す情報とをホスト装置１に送信する。送信部２４は、第１の送信部の一例である。
【００３２】
プログラム管理部２５は、ホスト装置１から所定の第１のプログラムを受信した際に、記憶部２１の第１領域に記憶された第１のプログラムの数が所定値である場合、第１領域に記憶された第１のプログラムのうちのいずれかを削除する。この場合、プログラム管理部２５は、最後に使用したタイミングが最も古い第１のプログラムを削除し、受信した所定の第１のプログラムを第１領域に記憶させる。所定値は、例えば、第１領域の記憶上限値である。
【００３３】
適用処理部２６は、ホスト装置１から情報処理装置２が記憶する所定の第１のプログラムの適用指示を受信した場合、記憶部２１に記憶された所定の第１のプログラムを情報処理装置２に適用する。
【００３４】
適用処理部２６は、ホスト装置１から所定の第１のプログラムと、その所定の第１のプログラムの適用指示を受信した場合、受信した所定の第１のプログラムを情報処理装置２に適用する。
【００３５】
相互間通信処理部２７は、所定の相互間通信処理を実行する指示をホスト装置１から受信した場合、ホスト装置１と所定の相互間通信処理を実行する。例えば、周辺装置３が印刷装置であり、ホスト装置１が周辺装置３を利用する場合、相互間通信処理部２７は、印刷に関する各種データの送受信をホスト装置１と行う。相互間通信処理部２７は、セッション処理が終了した後に、相互間通信処理を実行する。例えば、ホスト装置１は、セッション開始処理において、情報処理装置２に状態確認のためのコマンドを送信し、情報処理装置２は、状態を示すコマンド（"ready"または"busy"等）をホスト装置１に送信する。
【００３６】
図４は、第２のプログラムと第１のプログラムとの対応関係を示す対応情報の一例を示す図である。記憶部１１は、図４に示すテーブルに用いられるデータを対応情報として記憶する。図４に示す対応情報は、第２のプログラムを示す識別情報と、第２のプログラムに対応する第１のプログラムを示す識別情報を示している。第２のプログラムを示す識別情報および第１のプログラムの識別情報は、プログラムのバージョン情報を含む。
【００３７】
図４に示す例では、第２のプログラム"V00L01"と第１のプログラム"T00L01"が対応し、第２のプログラム"V00L02"と第１のプログラム"T00L02"が対応し、第２のプログラム"V00L03"と第１のプログラム"T00L03"が対応することが示されている。例えば、過去に正常に動作した実績がある第２のプログラムと第１のプログラムとの組が、対応するプログラムとして図４に示す対応情報に記録される。
【００３８】
図４に示す対応情報は、１：１の対応関係を示しているが、例えば、第２のプログラムが複数の第１のプログラムに対応する場合、１：Ｎ（Ｎは２以上の整数）の対応関係を示していてもよい。
【００３９】
図４に示す対応情報は、全第２のプログラムと全第１のプログラムとの対応関係を示しているが、ホスト装置１は、自装置に適用されている第２のプログラムに対応する第１のプログラムを示す識別情報のみ記憶していてもよい。
【００４０】
図５は、情報処理装置２の記憶部２１に記憶された第１のプログラムを示す管理情報の一例を示す図である。記憶部２１は、図５に示すテーブルに用いられるデータを管理情報として第２領域に記憶する。図５に示す管理情報は、記憶部２１に記憶された第１のプログラムを示す識別情報と、第１のプログラムの最新使用日と、第１のプログラムが現在適用中かを示す適用情報とを含む。記憶部２１に記憶された第１のプログラムを示す識別情報と第１のプログラムが現在適用中かを示す適用情報は、プログラム情報の一例である。
【００４１】
プログラム管理部２５は、ホスト装置１から所定の第１のプログラムを受信した際に、記憶部２１の第１領域に記憶された第１のプログラムの数が所定値であるか判定する。所定値である場合、プログラム管理部２５は、管理情報を参照し、最後に使用したタイミング（例えば、図５に示す最新使用日）が最も古い第１のプログラムを削除する。
【００４２】
図６は、ホスト装置１の処理の一例を示すフローチャートである。ホスト装置１は、例えば、他のホスト装置１からの接続切り替えにより情報処理装置２に通信接続する場合に、図６に示す処理を開始する。また、ホスト装置１は、ホスト装置１または情報処理装置２が再起動した場合、または、ホスト装置１と情報処理装置２との間の通信が切断されて回復した場合等に図６に示す処理を開始する。
【００４３】
ホスト装置１は、情報処理装置２に接続要求を送信して情報処理装置２とのセッション(通信)を開始する（ステップＳ１０１）。例えば、ホスト装置１は、情報処理装置２に状態確認のためのコマンドを送信し、情報処理装置２は、状態を示すコマンド（"ready"または"busy"等）をホスト装置１に送信する。
【００４４】
送信部１４は、記憶部２１に記憶された適用可能な第１のプログラムに関するプログラム情報と、情報処理装置２に現在適用されている第１のプログラムに関する情報の送信指示を情報処理装置２に送信し、受信部１２は、情報処理装置２からその情報を受信する（ステップＳ１０２）。ステップＳ１０２で受信するプログラム情報は、例えば、図５に示す管理情報のうち、第１のプログラムの識別情報を示す部分である。
【００４５】
判定部１３は、情報処理装置２に適用されている第１のプログラムが、ホスト装置１に適用されている第２のプログラムに対応するプログラム（所定の第１のプログラム）であるかを判定する（ステップＳ１０３）。判定部１３は、例えば、図４に示す対応情報とステップＳ１０２で受信したプログラム情報とを参照することによりステップＳ１０３の判定を行う。
【００４６】
ステップＳ１０３でＮＯの場合、判定部１３は、所定の第１のプログラムがステップＳ１０２で受信した情報に含まれるか判定する（ステップＳ１０４）。
【００４７】
ステップＳ１０４でＮＯの場合、判定部１３は、所定の第１のプログラムを情報処理装置２に送信すると判定する。そして、送信部１４は、所定の第１のプログラムを情報処理装置２に送信する（ステップＳ１０５）。
【００４８】
ステップＳ１０４でＹＥＳの場合、判定部１３は、所定の第１のプログラムを情報処理装置２に送信しないと判定する。そして、ステップＳ１０４でＹＥＳの場合、またはステップＳ１０５の処理後、送信部１４は、所定の第１のプログラムの適用指示を情報処理装置２に送信する（ステップＳ１０６）。ステップＳ１０４でＹＥＳとなりステップＳ１０６に移行した場合、送信部１４は、情報処理装置２に記憶されている所定の第１のプログラムの適用指示を情報処理装置２に送信する。ステップＳ１０５の処理後にステップＳ１０６に移行した場合、送信部１４は、ステップＳ１０５で送信した所定の第１のプログラムの適用指示を情報処理装置２に送信する。
【００４９】
ステップＳ１０３でＹＥＳの場合、またはステップＳ１０６の処理後、送信部１４は、所定の相互間通信処理を実行する指示を情報処理装置２に送信する（ステップＳ１０７）。そして、相互間通信処理部１５は、所定の相互間通信処理の実行を開始する（ステップＳ１０８）。
【００５０】
以上のように、ホスト装置１は、所定の第１のプログラムが受信したプログラム情報に含まれているかに応じて、第１のプログラムを情報処理装置２に送信するかを判定する。これにより、ホスト装置１は、すでに情報処理装置２が保持しているプログラムの送信しないため、通信量を抑制し、相互間通信処理を早く開始することができる。また、本実施形態における情報処理システムは、通信量の抑制により、システム全体のネットワーク負荷を軽減することができる。これにより、情報処理システムを利用するユーザの利便性を向上することができる。
【００５１】
図７は、情報処理装置２の処理の一例を示すフローチャートである。情報処理装置２は、ホスト装置１から通信接続要求を受けた場合に、図７に示す処理を開始する。図７に示す処理は、図６に示す処理と並行して実行される。
【００５２】
情報処理装置２は、ホスト装置１と通信接続し、セッションを開始する（ステップＳ２０１）。送信部２４は、記憶部２１に記憶された第１のプログラムに関するプログラム情報と、情報処理装置２に現在適用中の第１のプログラムに関する情報とをホスト装置１に送信する（ステップＳ２０２）。ステップＳ２０２で送信されるプログラム情報は、例えば、図５に示す管理情報のうち、第１のプログラムの識別情報を示す部分である。
【００５３】
判定部２３は、ホスト装置１からのプログラム適用指示または相互間通信処理実行指示を受信しているか判定する（ステップＳ２０４）。ステップＳ２０４でＮＯの場合、情報処理装置２は、待機する。ステップＳ２０４でＹＥＳの場合、判定部２３は、ホスト装置１に適用されている第２のプログラムに対応するプログラム（所定の第１のプログラム）を受信したか判定する（ステップＳ２０５）。所定の第１のプログラムを受信した場合（ステップＳ２０５でＹＥＳ）、プログラム管理部２５は、プログラム管理処理を実行する（ステップＳ２０６）。プログラム管理処理について、詳細は後述する。
【００５４】
所定の第１のプログラムを受信していない場合（ステップＳ２０５でＮＯ）、またはステップＳ２０６の処理後、判定部２３は、所定の第１のプログラムの適用指示をホスト装置１から受信したか判定する（ステップＳ２０７）。
【００５５】
所定の第１のプログラムの適用指示をホスト装置１から受信した場合（ステップＳ２０７でＹＥＳ）、適用処理部２６は、所定の第１のプログラムを適用する（ステップＳ２０８）。適用処理部２６は、例えば、所定の第１のプログラムを用いて情報処理装置２をリブートすることにより、所定の第１のプログラムを情報処理装置２に適用する。ホスト装置１から受信した所定の第１のプログラムの適用指示を受信している場合、適用処理部２６は、受信した所定の第１のプログラムを適用する。ホスト装置１から、情報処理装置２に記憶されている所定の第１のプログラムの適用指示を受信した場合、適用処理部２６は、記憶部２１に記憶されている所定の第１のプログラムを適用する。
【００５６】
ステップＳ２０７でＮＯの場合、またはステップＳ２０８の処理後、判定部２３は、相互間通信処理を実行する指示をホスト装置１から受信したか判定する（ステップＳ２０９）。相互間通信処理を実行する指示をホスト装置１から受信していない場合（ステップＳ２０９でＮＯ）、情報処理装置２は、受信するまで待機する。
【００５７】
相互間通信処理を実行する指示を受信した場合（ステップＳ２０９でＹＥＳ）、相互間通信処理部２７は、相互間通信処理の実行を開始する（ステップＳ２１０）。
【００５８】
図８は、図７のステップＳ２０６の処理の一例を示すフローチャートである。プログラム管理部２５は、記憶部２１の第１領域に記憶された第１のプログラムの数が所定値であるか判定する（ステップＳ３０１）。所定値は、例えば、第１領域の記憶上限値である。ステップＳ３０１でＹＥＳの場合、プログラム管理部２５は、管理情報を参照し、第１領域に記憶された第１のプログラムのうち、最後に使用したタイミングが最も古い第１のプログラムを削除する（ステップＳ３０２）。最後に使用したタイミングは、例えば、図５の管理情報における最新使用日である。
【００５９】
ステップＳ３０１でＮＯの場合、またはステップＳ３０２の処理後、プログラム管理部２５は、ホスト装置１から受信した第１のプログラムを記憶部２１の第１領域に記憶する（ステップＳ３０３）。
【００６０】
プログラム管理部２５は、管理情報を更新する（ステップＳ３０４）。プログラム管理部２５は、例えば、受信した所定の第１のプログラムを示す識別情報を管理情報に追加する。また、プログラム管理部２５は、例えば、ステップＳ３０２で第１のプログラムを削除した場合、削除したプログラムを示す識別情報を管理情報から削除する。
【００６１】
プログラム管理部２５は、受信した所定の第１のプログラムの正当性を確認した場合、正当なプログラムを受信したことを示す受信結果をホスト装置１に通知する（ステップＳ３０５）。
【００６２】
最後に使用したタイミングが最も古い第１のプログラムは、記憶されている第１のプログラムの中で適用される可能性が最も低いと考えられる。よって、プログラム管理部２５は、最後に使用したタイミングが最も古い第１のプログラムを削除することにより、記憶部２１の使用容量を減少させ、かつ、記憶部２１内の第１のプログラムを適用する可能性の低下を抑制することができる。
【００６３】
＜実施例＞
次に、情報処理装置２に通信接続するホスト装置１が切り替わる実施例について、図９〜図１２を用いて説明する。なお、図９〜図１２において、ホスト装置１に付記されているカッコ内の識別情報は、ホスト装置１に適用されている第２のプログラムを示す識別情報である。同様に、情報処理装置２に付記されているカッコ内の識別情報は、情報処理装置２に適用されている第１のプログラムを示す識別情報である。また、ホスト装置１と情報処理装置２との間の実線は通信接続されていることを示し、破線は通信接続されていないことを示す。なお、図９〜図１２において、周辺装置３の図示は省略されている。また、図９〜図１２に示す管理情報において、最新使用日の図示は省略されている。
【００６４】
図９は、実施例における第１の状態を示す図である。図９に示すように、実施例における情報処理システムは、ホスト装置１−１、１−２、１−３および情報処理装置２を含む。第１の状態では、ホスト装置１−１と情報処理装置２とが通信接続されている。第１の状態において、情報処理装置２の記憶部２１には、第１のプログラム"T00L01"が記憶され、管理情報には、"T00L01"が記録されており、"T00L01"が適用中である。
【００６５】
図４の対応情報に示すように、ホスト装置１−１に適用されている第２のプログラム"V00L01"と、情報処理装置２に適用されている第１のプログラム"T00L01"は対応しているため、ホスト装置１−１は、情報処理装置２に対して第１のプログラムの送信を行わない。
【００６６】
図１０は、実施例における第２の状態を示す図である。第２の状態は、図９に示す第１の状態におけるホスト装置１−１が情報処理装置２との通信接続を切断し、ホスト装置１−２が情報処理装置２と通信接続した状態である。図４に示すように、ホスト装置１−２に適用されている第２のプログラム"V00L02"に対応する第１のプログラムは、"T00L02"である。ホスト装置１−２が情報処理装置２と通信接続する時点において、第１のプログラム"T00L02"は、情報処理装置２に適用されておらず、管理情報にも含まれていないとする。
【００６７】
第２のプログラムに対応する第１のプログラム"T00L02"が管理情報に含まれていないため、ホスト装置１−２の送信部１４は、第１のプログラム"T00L02"を情報処理装置２に送信する。そして、情報処理装置２のプログラム管理部２５は、第１のプログラム"T00L02"を記憶部２１に記憶し、管理情報に"T00L02"を追加する。そして、適用処理部２６は、第１のプログラム"T00L02"を情報処理装置２に適用する。
【００６８】
図１１は、実施例における第３の状態を示す図である。第３の状態は、図１０に示す第２の状態におけるホスト装置１−２が情報処理装置２との通信接続を切断し、ホスト装置１−３が情報処理装置２と通信接続した状態である。図４に示すように、ホスト装置１−３に適用されている第２のプログラム"V00L03"に対応する第１のプログラムは、"T00L03"である。ホスト装置１−３が情報処理装置２と通信接続する時点において、第１のプログラム"T00L03"は、情報処理装置２に適用されておらず、管理情報にも含まれていないとする。
【００６９】
第２のプログラムに対応する第１のプログラム"T00L03"が管理情報に含まれていないため、ホスト装置１−３の送信部１４は、第１のプログラム"T00L03"を情報処理装置２に送信する。そして、情報処理装置２のプログラム管理部２５は、第１のプログラム"T00L03"を記憶部２１に記憶し、管理情報に"T00L03"を追加する。適用処理部２６は、第１のプログラム"T00L03"を情報処理装置２に適用する。
【００７０】
図１２は、実施例における第４の状態を示す図である。第４の状態は、図１１に示す第３の状態におけるホスト装置１−３が情報処理装置２との通信接続を切断し、ホスト装置１−１が情報処理装置２と通信接続した状態である。なお、ホスト装置１−１が情報処理装置２と通信接続する前に、適用する第２のプログラムを"V00L01"から"V00L02"に変更していたとする。
【００７１】
図４に示すように、ホスト装置１−１に適用されている第２のプログラム"V00L02"に対応する第１のプログラムは、"T00L02"である。ホスト装置１−１が情報処理装置２と通信接続する時点において、第１のプログラム"T00L02"は、情報処理装置２に適用されていないが、管理情報に含まれている。
【００７２】
第２のプログラムに対応する第１のプログラム"T00L02"が管理情報に含まれているため、ホスト装置１−１の送信部１４は、第１のプログラムを情報処理装置２に送信しない。そして、情報処理装置２の適用処理部２６は、記憶部２１に記憶されている第１のプログラム"T00L02"を情報処理装置２に適用する。
【００７３】
以上のように、情報処理装置２に通信接続するホスト装置１が切り替わった場合、情報処理装置２は、過去に接続したホスト装置１の第２のプログラムに対応する第１のプログラムを保持する。そして、保持している第１のプログラムが、新たに通信接続したホスト装置１の第２のプログラムに対応している可能性がある。図１２に示す例では、ホスト装置１−１は、第１のプログラムを送信せず、情報処理装置２は、記憶されている第１のプログラムを適用する。そのため、実施例における情報処理システムは、ホスト装置１と情報処理装置２との間の通信量を抑制することができる。
【００７４】
＜ハードウェア構成＞
次に、ホスト装置１および情報処理装置２のハードウェア構成を説明する。図１３は、ホスト装置１のハードウェア構成の一例を示す図である。図１３の例に示すように、ホスト装置１において、バス１００に、プロセッサ１１１とメモリ１１２と補助記憶装置１１３と通信インタフェース１１４と媒体接続部１１５と入力装置１１６と出力装置１１７とが接続される。
【００７５】
プロセッサ１１１は、メモリ１１２に展開されたプログラムを実行する。実行されるプログラムには、実施形態におけるホスト装置１の処理を行うプログラムが適用されてもよい。
【００７６】
メモリ１１２は、例えば、Random Access Memory（ＲＡＭ）である。補助記憶装置１１３は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブまたは半導体メモリ等が適用されてもよい。補助記憶装置１１３に実施形態におけるホスト装置１の処理を行うプログラムが記憶されていてもよい。
【００７７】
通信インタフェース１１４は、ＬＡＮ、またはＷＡＮ等の通信ネットワークに接続され、通信に伴うデータ変換等を行う。受信部１２が情報処理装置２から各種情報を受信する場合、および送信部１４が情報処理装置２に各種情報を送信する場合、通信インタフェース１１４を介して、通信を実行する。
【００７８】
媒体接続部１１５は、可搬型記録媒体１１８が接続可能なインタフェースである。可搬型記録媒体１１８には、光学式ディスク（例えば、Compact Disc（ＣＤ）、またはDigital Versatile Disc（ＤＶＤ）)、半導体メモリ等が適用されてもよい。可搬型記録媒体１１８に実施形態におけるホスト装置１の処理を行うプログラムが記録されていてもよい。
【００７９】
入力装置１１６は、例えば、キーボード、ポインティングデバイス等であり、ユーザからの指示および情報等の入力を受け付ける。
【００８０】
出力装置１１７は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザへの問い合わせまたは指示、および処理結果等を出力する。
【００８１】
図２に示す記憶部１１は、メモリ１１２、補助記憶装置１１３または可搬型記録媒体１１８等により実現されてもよい。図２に示す受信部１２、判定部１３、送信部１４、および相互間通信処理部１５は、メモリ１１２に展開されたプログラムをプロセッサ１１１が実行することにより実現されてもよい。
【００８２】
メモリ１１２、補助記憶装置１１３および可搬型記録媒体１１８は、コンピュータが読み取り可能であって非一時的な有形の記憶媒体であり、信号搬送波のような一時的な媒体ではない。
【００８３】
図１４は、情報処理装置２のハードウェア構成の一例を示す図である。図１４の例に示すように、情報処理装置２において、バス２００に、プロセッサ２１１とメモリ２１２と補助記憶装置２１３と通信インタフェース２１４と媒体接続部２１５と入力装置２１６と出力装置２１７とが接続される。
【００８４】
プロセッサ２１１は、メモリ２１２に展開されたプログラムを実行する。実行されるプログラムには、実施形態における情報処理装置２の処理を行うプログラムが適用されてもよい。
【００８５】
メモリ２１２は、例えば、ＲＡＭである。補助記憶装置２１３は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブまたは半導体メモリ等が適用されてもよい。補助記憶装置２１３に実施形態における情報処理装置２の処理を行うプログラムが記憶されていてもよい。
【００８６】
通信インタフェース２１４は、ＬＡＮ、ＷＡＮ等の通信ネットワークに接続され、通信に伴うデータ変換等を行う。受信部２２がホスト装置１から各種情報を受信する場合、および送信部２４がホスト装置１に各種情報を送信する場合、通信インタフェース２１４を介して、通信を実行する。
【００８７】
媒体接続部２１５は、可搬型記録媒体２１８が接続可能なインタフェースである。可搬型記録媒体２１８には、光学式ディスク（例えば、ＣＤ、またはＤＶＤ）、半導体メモリ等が適用されてもよい。可搬型記録媒体２１８に実施形態における情報処理装置２の処理を行うプログラムが記録されていてもよい。
【００８８】
入力装置１１６は、例えば、キーボード、ポインティングデバイス等であり、ユーザからの指示および情報等の入力を受け付ける。
【００８９】
出力装置１１７は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザへの問い合わせまたは指示、および処理結果等を出力する。
【００９０】
図３に示す記憶部２１は、メモリ２１２、補助記憶装置２１３または可搬型記録媒体２１８等により実現されてもよい。図３に示す受信部２２、判定部２３、送信部２４、プログラム管理部２５、適用処理部２６、および相互間通信処理部２７は、メモリ２１２に展開されたプログラムをプロセッサ２１１が実行することにより実現されてもよい。
【００９１】
メモリ２１２、補助記憶装置２１３および可搬型記録媒体２１８は、コンピュータが読み取り可能であって非一時的な有形の記憶媒体であり、信号搬送波のような一時的な媒体ではない。
【００９２】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
１の情報処理装置と複数の上位装置との間で通信される情報処理システムであって、
前記情報処理装置は、
前記情報処理装置に適用可能な複数の第１のプログラムを記憶する第１の記憶部と、
前記複数の上位装置のいずれかと前記情報処理装置との間で接続処理を行う際に、前記第１の記憶部に記憶された前記複数の第１のプログラムに関するプログラム情報を前記上位装置に送信する第１の送信部とを含み、
前記上位装置は、
前記上位装置に適用されている第２のプログラムに対応する所定の第１のプログラムを記憶する第２の記憶部と、
前記情報処理装置から受信した前記プログラム情報に前記所定の第１のプログラムに関する情報が含まれているかに応じて、前記所定の第１のプログラムを前記情報処理装置に送信するかを判定する判定部と、
前記所定の第１のプログラムを前記情報処理装置に送信しないと判定された場合、前記所定の第１のプログラムの適用指示を前記情報処理装置に送信する第２の送信部とを含む
ことを特徴とする情報処理システム。
（付記２）
前記プログラム情報は、前記情報処理装置に現在適用中の第１のプログラムに関する情報を含み、
前記情報処理装置に現在適用中の第１のプログラムが前記所定の第１のプログラムと異なる場合であって、前記プログラム情報に前記所定の第１のプログラムに関する情報が含まれている場合、
前記判定部は、前記所定の第１のプログラムを前記情報処理装置に送信しないと判定し、
前記第２の送信部は、前記情報処理装置に記憶された前記所定の第１のプログラムの適用指示を前記情報処理装置に送信する
ことを特徴とする付記１に記載の情報処理システム。
（付記３）
前記プログラム情報は、前記情報処理装置に現在適用中の第１のプログラムに関する情報を含み、
前記情報処理装置に現在適用中の第１のプログラムが前記所定の第１のプログラムと異なる場合であって、前記プログラム情報に前記所定の第１のプログラムに関する情報が含まれていない場合、
前記判定部は、前記所定の第１のプログラムを前記情報処理装置に送信すると判定し、
前記第２の送信部は、前記所定の第１のプログラムを前記情報処理装置に送信する
ことを特徴とする付記１に記載の情報処理システム。
（付記４）
前記プログラム情報は、前記情報処理装置に現在適用中の第１のプログラムに関する情報を含み、
前記情報処理装置に現在適用中の第１のプログラムと前記所定の第１のプログラムが一致する場合、
前記判定部は、前記所定の第１のプログラムを前記情報処理装置に送信しないと判定し、
前記上位装置および前記情報処理装置は、所定の相互間通信処理を開始する
ことを特徴とする付記１に記載の情報処理システム。
（付記５）
前記情報処理装置は、
前記ホスト装置から前記所定の第１のプログラムを受信した際に、前記第１の記憶部に記憶された第１のプログラムの数が所定値である場合、前記第１の記憶部に記憶された前記第１のプログラムのうち、最後に使用したタイミングが最も古い前記第１のプログラムを削除し、受信した前記所定の第１のプログラムを前記第１の記憶部に記憶させるプログラム管理部を含む
ことを特徴とする付記３に記載の情報処理システム。
（付記６）
１の情報処理装置と複数の上位装置との間で通信される情報処理システムにおける前記上位装置であって、
前記情報処理装置との間で接続処理を行う際に、前記情報処理装置に記憶された前記情報処理装置に適用可能な前記複数の第１のプログラムに関するプログラム情報の送信指示を前記情報処理装置に送信する送信部と、
前記上位装置に適用されている第２のプログラムに対応する所定の第１のプログラムを記憶する記憶部と、
前記情報処理装置から受信した前記プログラム情報に前記所定の第１のプログラムに関する情報が含まれているかに応じて、前記所定の第１のプログラムを前記情報処理装置に送信するかを判定する判定部とを備え、
前記送信部は、前記所定の第１のプログラムを前記情報処理装置に送信しないと判定された場合、前記所定の第１のプログラムの適用指示を前記情報処理装置に送信する
ことを特徴とする上位装置。
（付記７）
前記プログラム情報は、前記情報処理装置に現在適用中の第１のプログラムに関する情報を含み、
前記情報処理装置に現在適用中の第１のプログラムが前記所定の第１のプログラムと異なる場合であって、前記プログラム情報に前記所定の第１のプログラムに関する情報が含まれている場合、
前記判定部は、前記所定の第１のプログラムを前記情報処理装置に送信しないと判定し、
前記送信部は、前記情報処理装置に記憶された前記所定の第１のプログラムの適用指示を前記情報処理装置に送信する
ことを特徴とする付記６に記載の上位装置。
（付記８）
前記プログラム情報は、前記情報処理装置に現在適用中の第１のプログラムに関する情報を含み、
前記情報処理装置に現在適用中の第１のプログラムが前記所定の第１のプログラムと異なる場合であって、前記プログラム情報に前記所定の第１のプログラムに関する情報が含まれていない場合、
前記判定部は、前記所定の第１のプログラムを前記情報処理装置に送信すると判定し、
前記送信部は、前記所定の第１のプログラムを前記情報処理装置に送信する
ことを特徴とする付記６に記載の上位装置。
（付記９）
前記プログラム情報は、前記情報処理装置に現在適用中の第１のプログラムに関する情報を含み、
前記上位装置は、所定の相互間通信処理を開始する相互間通信処理部をさらに含み、
前記情報処理装置に現在適用中の第１のプログラムと前記所定の第１のプログラムが一致する場合、
前記判定部は、前記所定の第１のプログラムを前記情報処理装置に送信しないと判定し、
前記相互間通信処理部は、前記所定の相互間通信処理を開始する
ことを特徴とする付記６に記載の上位装置。
（付記１０）
１の情報処理装置と複数の上位装置との間で通信される情報処理システムにおける前記情報処理装置であって、
前記情報処理装置に適用可能な複数の第１のプログラムを記憶する記憶部と、
前記複数の上位装置のいずれかとの間で接続処理を行う際に、前記記憶部に記憶された前記複数の第１のプログラムに関するプログラム情報を前記上位装置に送信する送信部と、
前記上位装置から前記複数の第１のプログラムのうちの所定の第１のプログラムの適用指示を受信した場合、前記所定のプログラムを前記情報処理装置に適用させる適用処理部と、を備える
ことを特徴とする情報処理装置。
（付記１１）
前記プログラム情報は、前記情報処理装置に現在適用中の第１のプログラムに関する情報を含み、
前記情報処理装置は、前記情報処理装置に現在適用中の第１のプログラムが前記所定の第１のプログラムと異なる場合であって、前記プログラム情報に前記所定の第１のプログラムに関する情報が含まれていない場合、前記所定の第１のプログラムを受信する受信部をさらに含み、
前記適用処理部は、受信した前記所定の第１のプログラムを前記情報処理装置に適用する
ことを特徴とする付記１０に記載の情報処理装置。
（付記１２）
前記プログラム情報は、前記情報処理装置に現在適用中の第１のプログラムに関する情報を含み、
前記情報処理装置は、前記情報処理装置に現在適用中の第１のプログラムと前記所定の第１のプログラムが一致する場合、所定の相互間通信処理を開始する相互間通信処理部をさらに含む
ことを特徴とする付記１０に記載の情報処理装置。
（付記１３）
前記上位装置から前記所定の第１のプログラムを受信した際に、前記記憶部に記憶された第１のプログラムの数が所定値である場合、前記記憶部に記憶された前記第１のプログラムのうち、最後に使用したタイミングが最も古い前記第１のプログラムを削除し、受信した前記所定の第１のプログラムを前記記憶部に記憶させるプログラム管理部を含む
ことを特徴とする付記１０に記載の情報処理装置。
【００９３】
＜その他＞
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で様々な変更、追加、省略を適用可能である。
【符号の説明】
【００９４】
１    ホスト装置
２    情報処理装置
３    周辺装置
１１    記憶部
１２    受信部
１３    判定部
１４    送信部
１５    相互間通信処理部
２１    記憶部
２２    受信部
２３    判定部
２４    送信部
２５    プログラム管理部
２６    適用処理部
２７    相互間通信処理部
１００，２００    バス
１１１，２１１    プロセッサ
１１２，２１２    メモリ
１１３，２１３    補助記憶装置
１１４，２１４    通信インタフェース
１１５，２１５    媒体接続部
１１６，２１６    入力装置
１１７，２１７    出力装置
１１８，２１８    可搬型記録媒体
【図１】
2020021125.tif 000003
【図２】
2020021125.tif 000004
【図３】
2020021125.tif 000005
【図４】
2020021125.tif 000006
【図５】
2020021125.tif 000007
【図６】
2020021125.tif 000008
【図７】
2020021125.tif 000009
【図８】
2020021125.tif 000010
【図９】
2020021125.tif 000011
【図１０】
2020021125.tif 000012
【図１１】
2020021125.tif 000013
【図１２】
2020021125.tif 000014
【図１３】
2020021125.tif 000015
【図１４】
2020021125.tif 000016