(57)【要約】【課題】処理対象プログラムと競合するプログラムが装置内に存在する場合に、処理対象プログラムを装置内で処理することによって競合プログラムに発生する不具合を発生させずに、処理対象プログラムの処理結果を提供することができる情報処理装置及び情報処理プログラムを提供する。【解決手段】情報処理装置１０は、処理対象プログラムの処理要求を受け付ける受付部１０１と、前記処理対象プログラムと競合する競合プログラムがある場合に、外部のサーバー２０によって処理された処理対象プログラムの処理結果を受け取る制御部１０２と、を有する。【選択図】図４
2020154695.tif 000002
【特許請求の範囲】
【請求項１】
処理対象プログラムの処理要求を受け付ける受付部と、
前記処理対象プログラムと競合する競合プログラムがある場合に、外部のサーバーによって処理された処理対象プログラムの処理結果を受け取る制御部と、
を有する情報処理装置。
【請求項２】
前記制御部は、前記サーバーから処理対象プログラムの処理結果を受け取る場合は、前記処理対象プログラムの処理を実行しない、請求項１記載の情報処理装置。
【請求項３】
前記制御部は、前記処理対象プログラムと前記処理対象プログラム以外のプログラムの一覧を表すリスト情報とを、前記サーバーへ送信する、請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記制御部は、前記受付部が前記処理対象プログラムの処理要求を受け付けると、前記リスト情報を前記サーバーに送信する、請求項３に記載の情報処理装置。
【請求項５】
前記制御部は、前記リスト情報に含まれるプログラムに変更がある場合、又は、新たに導入されたプログラムがある場合に、前記リスト情報を更新し、更新された前記リスト情報を前記サーバーに送信する、請求項４に記載の情報処理装置。
【請求項６】
前記制御部は、前記競合プログラムと競合する前記処理対象プログラムの処理要求を、前記サーバーへ送信する、請求項１又は請求項２に記載の情報処理装置。
【請求項７】
前記受付部は、前記サーバーとの通信が不通の場合に、前記処理対象プログラムの処理要求を受け付けない、請求項６に記載の情報処理装置。
【請求項８】
前記受付部は、前記処理対象プログラムの処理要求を受け付けない旨を使用者に対して可視的に表示する、請求項７に記載の情報処理装置。
【請求項９】
前記処理対象プログラムが複数あり、かつ、複数の前記処理対象プログラムについて、それぞれ競合する前記競合プログラムがある場合に、
前記制御部は、複数の前記処理対象プログラムの処理要求を、前記サーバーへ送信し、
前記サーバーによって処理された複数の処理対象プログラムの処理結果を受け取る、請求項１〜請求項８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記制御部は、前記受付部が前記処理対象プログラムの処理要求を受け付けたときに、前記処理対象プログラムについて、競合プログラムとの競合を解消する解消プログラムがある場合に、前記解消プログラムを取得し、前記解消プログラムによる前記処理対象プログラムの更新を実行する、請求項１又は請求項２に記載の情報処理装置。
【請求項１１】
前記制御部は、前記解消プログラムによる前記処理対象プログラムの更新を、前記サーバーから前記処理対象プログラムの処理結果を受け取った後に実行する、請求項１０に記載の情報処理装置。
【請求項１２】
前記制御部は、前記解消プログラムによる前記処理対象プログラムの更新を、情報処理装置本体の立ち上がり時に実行する、請求項１１記載の情報処理装置。
【請求項１３】
処理対象プログラムの処理要求を受け付けるステップと、
前記処理対象プログラムと競合するプログラムがある場合に、外部のサーバーによって処理された処理対象プログラムの処理結果を受け取るステップと、
をコンピュータに実行させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の技術は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、複数の種々の装置と通信する機器を含み、前記装置は種々のプログラムを実行し、前記機器は少なくとも１つのプログラムと別のプログラムとの間の競合を反復プロセスにより識別して解消する、システムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００８−５３７６１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
装置において処理を実行する場合に、プログラムが起動される。以下では、当該プログラムを、処理対象プログラムと呼ぶ。装置に、処理対象プログラムとは別のプログラムが存在し、かつ別のプログラムが処理対象プログラムと競合する場合、処理対象プログラムに不具合が発生したり、別のプログラムに不具合が発生したりする。以下では、処理対象プログラムと競合する別のプログラムを、競合プログラムと呼ぶ。
【０００５】
上記不具合を解消するために、処理対象プログラムの実行時には、競合プログラムを停止することが考えられる。しかし、競合プログラムを停止すると、停止の間ユーザが競合プログラムを使用できず、また、停止により予期しない更なる不具合が発生する可能性がある。
【０００６】
本発明は、上記事情に鑑みてなされたものであり、処理対象プログラムと競合するプログラムが装置内に存在する場合に、競合プログラムを停止することなく、処理対象プログラムの処理結果が得られる情報処理装置及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の第１の態様に記載の情報処理装置では、処理対象プログラムの処理要求を受け付ける受付部と、前記処理対象プログラムと競合する競合プログラムがある場合に、外部のサーバーによって処理された処理対象プログラムの処理結果を受け取る制御部と、を有する。
【０００８】
本開示の第２の態様に記載の情報処理装置では、前記制御部は、前記サーバーから処理対象プログラムの処理結果を受け取る場合は、前記処理対象プログラムの処理を実行しない。
【０００９】
本開示の第３の態様に記載の情報処理装置では、前記制御部は、前記処理対象プログラムと前記処理対象プログラム以外のプログラムの一覧を表すリスト情報とを、前記サーバーへ送信する。
【００１０】
本開示の第４の態様に記載の情報処理装置では、前記制御部は、前記受付部が前記処理対象プログラムの処理要求を受け付けると、前記リスト情報を前記サーバーに送信する。
【００１１】
本開示の第５の態様に記載の情報処理装置では、前記制御部は、前記リスト情報に含まれるプログラムに変更がある場合、又は、新たに導入されたプログラムがある場合に、前記リスト情報を更新し、更新された前記リスト情報を前記サーバーに送信する。
【００１２】
本開示の第６の態様に記載の情報処理装置では、前記制御部は、前記競合プログラムと競合する前記処理対象プログラムの処理要求を、前記サーバーへ送信する。
【００１３】
本開示の第７の態様に記載の情報処理装置では、前記受付部は、前記サーバーとの通信が不通の場合に、前記処理対象プログラムの処理要求を受け付けない。
【００１４】
本開示の第８の態様に記載の情報処理装置では、前記受付部は、前記処理対象プログラムの処理要求を受け付けない旨を使用者に対して可視的に表示する。
【００１５】
本開示の第９の態様に記載の情報処理装置では、前記処理対象プログラムが複数あり、かつ、複数の前記処理対象プログラムについて、それぞれ競合する前記競合プログラムがある場合に、前記制御部は、複数の前記処理対象プログラムの処理要求を、前記サーバーへ送信し、前記サーバーによって処理された複数の処理対象プログラムの処理結果を受け取る。
【００１６】
本開示の第１０の態様に記載の情報処理装置では、前記制御部は、前記受付部が前記処理対象プログラムの処理要求を受け付けたときに、前記処理対象プログラムについて、競合プログラムとの競合を解消する解消プログラムがある場合に、前記解消プログラムを取得し、前記解消プログラムによる前記処理対象プログラムの更新を実行する。
【００１７】
本開示の第１１の態様に記載の情報処理装置では、前記制御部は、前記解消プログラムによる前記処理対象プログラムの更新を、前記サーバーから前記処理対象プログラムの処理結果を受け取った後に実行する。
【００１８】
本開示の第１２の態様に記載の情報処理装置では、前記制御部は、前記解消プログラムによる前記処理対象プログラムの更新を、情報処理装置本体の立ち上がり時に実行する。
【００１９】
本開示の第１３の態様に記載の情報処理プログラムは、処理対象プログラムの処理要求を受け付けるステップと、前記処理対象プログラムと競合するプログラムがある場合に、外部のサーバーによって処理された処理対象プログラムの処理結果を受け取るステップと、をコンピュータに実行させる。
【発明の効果】
【００２０】
第１の態様に係る情報処理装置によれば、競合プログラムを停止することなく、処理対象プログラムの処理結果が得られる。
【００２１】
第２の態様に係る情報処理装置によれば、処理対象プログラムと競合プログラムとを装置内で処理することによって発生する不具合の発生を抑制できる。
【００２２】
第３の態様に係る情報処理装置によれば、処理対象プログラムと処理対象プログラム以外のプログラムとの競合判断を、サーバーに移譲することができる。
【００２３】
第４の態様に係る情報処理装置によれば、処理対象プログラムの処理要求を受け付けるまで、サーバーとの通信を行わずに済み、定期的にリスト情報を送信する場合に比べて、通信回数を低減できる。
【００２４】
第５の態様に係る情報処理装置によれば、処理対象プログラムの処理要求を受け付けた時点のリスト情報をサーバーへ提供することができる。
【００２５】
第６の態様に係る情報処理装置によれば、処理対象プログラムと競合プログラムとの競合判断をサーバーへ移譲せずに、処理対象プログラムの処理をサーバーへと移譲することができる。
【００２６】
第７の態様に係る情報処理装置によれば、サーバーとの通信が不通の場合に、処理対象プログラムの処理要求をサーバーへ送信することによる不具合の発生を抑制できる。
【００２７】
第８の態様に係る情報処理装置によれば、使用者による処理対象プログラムの処理要求を抑制させることができる。
【００２８】
第９の態様に係る情報処理装置によれば、サーバーとの通信を複数回行うことによる時間の消費を抑制することができる。
【００２９】
第１０の態様に係る情報処理装置によれば、処理対象プログラムと競合プログラムとの競合状態を、処理対象プログラムの処理要求を受け付けた際に取得した解消プログラムによって解消することができる。
【００３０】
第１１の態様に係る情報処理装置によれば、解消プログラムによる処理対象プログラムの更新を待たずに、処理対象プログラムの処理結果を受け取ることができる。
【００３１】
第１２の態様に係る情報処理装置によれば、その他のプログラムの実行時に更新を行う構成と比較して、制御部自身の立ち上がりに要する待ち時間と処理対象プログラムの更新に要する待ち時間との発生するタイミングを合わせることができる。
【００３２】
第１３の態様に係る情報処理プログラムによれば、競合プログラムを停止することなく、処理対象プログラムの処理結果を得ることができる。
【図面の簡単な説明】
【００３３】
【図１】第１実施形態に係る情報処理システムの概略構成を示す図である。
【図２】第１実施形態に係る情報処理装置のハードウェア構成を示すブロック図である。
【図３】第１実施形態に係る情報処理装置の機能構成の例を示す機能ブロック図である。
【図４】第１実施形態に係る情報処理装置の処理の流れを示すフローチャートである。
【図５】第１実施形態に係る情報処理装置が通信するサーバーにおける処理の流れを示すフローチャートである。
【図６】第２実施形態に係る情報処理装置の処理の流れを示すフローチャートである。
【図７】第２実施形態に係る情報処理装置の処理の流れを示すフローチャートである。
【図８】第１実施形態に係る情報処理装置の処理の流れを示すフローチャートである。
【図９】第１実施形態に係る情報処理において、処理対象プログラムと競合プログラムとの対応関係を示すテーブルである。
【図１０】第３実施形態に係る情報処理において、解消プログラムの有無情報を示すテーブルである。
【図１１】第２実施形態に係る表示部における表示の一例を示す図である。
【図１２】第２実施形態に係る表示部における表示の一例を示す図である。
【発明を実施するための形態】
【００３４】
以下、本発明の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【００３５】
＜第１実施形態＞
本発明の第１実施形態に係る情報処理装置１０について、図１〜図５、及び図９を用いて説明する。
【００３６】
図１に示されるように、第１実施形態に係る情報処理システムは、ネットワーク５０を介して通信可能に接続された情報処理装置１０（以下、適宜「装置１０」と称する）及びサーバー２０を含んで構成される。
【００３７】
図２に示されるように、情報処理装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３、ストレージ１４、通信インターフェース１５、表示部１７及び入力部１６の各構成を含んで構成される。各構成は、バス１８を介して相互に通信可能に接続されている。
【００３８】
ＣＰＵ１１は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、ＣＰＵ１１は、ＲＯＭ１２又はストレージ１４からプログラムを読み出し、ＲＡＭ１３を作業領域としてプログラムを実行する。ＣＰＵ１１は、ＲＯＭ１２又はストレージ１４に記録されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ＲＯＭ１２又はストレージ１４には、情報処理プログラムが格納されている。
【００３９】
ＲＯＭ１２には、各種プログラム及び各種データが格納されている。ＲＡＭ１３には、作業領域として一時的にプログラム又はデータが記憶される。ストレージ１４は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を含んで構成され、オペレーティングシステムを含む各種プログラム又は各種データが格納される。
【００４０】
通信インターフェース１５は、サーバー２０等の他の機器と通信するためのインターフェースであり、例えば、イーサネット（登録商標）、ＦＤＤＩ、Ｗｉ−Ｆｉ（登録商標）等の規格が用いられる。
【００４１】
入力部１６は、マウス等のポインティングデバイス又はキーボードを含み、各種の入力を行うために使用される。
【００４２】
表示部１７は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部１７は、タッチパネル方式を採用して、入力部１６として機能するものでも良い。
【００４３】
次に、装置１０及びサーバー２０の機能構成について説明する。
【００４４】
図３に示されるように、装置１０は、機能構成として、受付部１０１及び制御部１０２を含んで構成される。各機能構成は、ＣＰＵ１１がＲＯＭ１２又はストレージ１４に記憶された情報処理プログラムを読み出して、ＲＡＭ１３に展開して実行することにより実現される。
【００４５】
受付部１０１は、処理対象プログラムの処理要求を受け付ける。処理要求は、ユーザが処理対象プログラムによる処理の実行を望む場合に、ユーザが入力部１６等により入力することによって、受け付けられる。
【００４６】
制御部１０２は、処理対象プログラムと競合する競合プログラムがある場合に、外部のサーバー２０によって処理された処理対象プログラムの処理結果を受け取る。なお、ここでいう「競合」とは、一方のプログラムの処理を実行することによって、他方のプログラムに不具合を生じる事象をいう。
【００４７】
次に、装置１０の作用について説明する。
【００４８】
図４は、第１実施形態に係る情報処理装置１０における処理の流れを示すフローチャートである。本実施形態では、ＣＰＵ１１がＲＯＭ１２又はストレージ１４から情報処理プログラムを読み出して、ＲＡＭ１３に展開して実行することにより、処理が行なわれる。図４に示す処理は、ユーザから処理対象プログラムの処理要求が受け付けられると、実行される。
【００４９】
ステップＳ１０１では、ＣＰＵ１１は、制御部１０２として、受付部１０１が処理要求を受け付けた処理対象プログラム以外のプログラムについて、変更又は新たに導入されたものがあるか否かを判断する。なお、ここで言う「変更又は新たに導入された」とは、受付部１０１が、前回同様の処理対象プログラムの処理要求を受け付けたときを起算点として、変更又は新たに導入されたか否かをいう。
【００５０】
また、ＣＰＵ１１は、過去に同様の処理対象プログラムの処理要求が受け付けられた履歴が存在しない場合には、処理対象プログラムが装置１０へ導入された時点を起算点として、変更又は新たに導入されたか否かを判断してもよい。
【００５１】
ステップＳ１０２において、変更又は新たに導入されたプログラムがある場合（ステップＳ１０１：ＹＥＳ）、ＣＰＵ１１は、その他のプログラムのリスト情報を作成する。そして、ＣＰＵ１１は、ステップＳ１０３へと処理を移行する。なお、ここでいう「リスト情報」とは、処理対象プログラム及び装置１０内に導入されているその他のプログラムをリスト化した情報をいう。
【００５２】
一方で、ステップＳ１０２において、変更又は新たに導入されたプログラムがない場合（ステップＳ１０１：ＮＯ）は、ＣＰＵ１１は、ステップＳ１０３へと処理を移行する。
【００５３】
以上のような処理によれば、ＣＰＵ１１は、その他のプログラムのリスト情報の作成を、必要がある場合にのみ行う。つまり、毎回必ずリスト情報を作成する処理と比較して、リスト情報の作成頻度が減少する。
【００５４】
ステップＳ１０３では、ステップＳ１０２において作成されたリスト情報が、外部のサーバー２０へと送信される。なお、変更又は新たに導入されたプログラムがない場合（ステップＳ１０１：ＮＯ）は、ＣＰＵ１１は、ストレージ１４に格納された過去のリスト情報を、外部のサーバー２０に送信する。なお、ここでいう「過去のリスト情報」とは、前回同様のプログラムの処理要求を受け付けた際に作成され、ストレージ１４に格納されたリスト情報のことをいう。そして、ＣＰＵ１１は、ステップＳ１０４へと処理を移行する。
【００５５】
ステップＳ１０４では、ＣＰＵ１１は、外部のサーバー２０から、ネットワーク５０を介して処理対象プログラムの処理結果、又は、処理結果無しの通知を受信する。なお、ここでいう、「処理結果無しの通知」とは、処理対象プログラムに競合する競合プログラムが、ステップＳ１０２において作成されたリスト情報に存在しないと判断された場合に、サーバー２０によって通知される情報のことをいう。そして、ＣＰＵ１１は、ステップＳ１０５へと処理を移行する。
【００５６】
ステップＳ１０５では、ＣＰＵ１１は、未処理プログラムを実行する。なお、ここでいう、「未処理プログラム」とは、サーバー２０によって処理結果が提供されなかった処理対象プログラムのことをいう。そして、ＣＰＵ１１は、図４に示される処理を終了する。
【００５７】
次に、サーバー２０の作用について説明する。なお、サーバー２０の機能構成は、基本的に装置１０と同様であるため説明を省略する。以下のサーバー２０の処理についても、サーバー２０に搭載されたＣＰＵがＲＯＭ又はストレージから情報処理プログラムを読み出して、ＲＡＭに展開して実行することにより、処理が行なわれる。
【００５８】
図５は、第１実施形態に係る装置１０が通信する、サーバー２０における処理の流れを示すフローチャートである。
【００５９】
ステップＳ１２１では、サーバー２０は、装置１０によって送信されたリスト情報を受信する。そして、ステップＳ１２２では、サーバー２０は、受信したリスト情報に記載されているプログラム一覧に、情報処理装置１０において実行が要求されている処理対象プログラムと競合する競合プログラムが存在するか否かを判断する。競合プログラムがリスト情報に存在する場合（ステップＳ１２２：ＹＥＳ）は、サーバー２０は、ステップＳ１２３へと処理を移行する。ステップＳ１２３では、サーバー２０は、処理対象プログラムの処理を実行する。そして、サーバー２０は、ステップＳ１２４へと処理を移行する。
【００６０】
ここで、処理対象プログラムとリスト情報におけるプログラムとが競合するか否かの判断は、サーバー２０内にあらかじめ格納されたテーブル２２（図９参照）に基づいて行われる。図９に示されるように、テーブル２２には、処理対象プログラムと、これに競合する競合プログラムとの対応関係が表されている。
【００６１】
ステップＳ１２４では、ステップＳ１２３で実行された処理対象プログラムの処理結果が、ネットワーク５０を介して装置１０へと送信される。そして、サーバー２０における処理が終了される。
【００６２】
一方で、ステップＳ１２２において、競合プログラムがない場合（ステップＳ１２２：ＮＯ）は、サーバー２０は、ステップＳ１２５へと処理を移行する。ステップＳ１２５では、サーバー２０は、ネットワーク５０を介して、装置１０へ処理結果無しの通知を送信する。そして、サーバー２０における処理が終了される。
【００６３】
＜第２実施形態＞
本発明の第２実施形態に係る情報処理装置１０について、図６、図７、図１１、及び図１２を用いて説明する。なお、第２実施形態に係る情報処理装置及び情報処理システムは第１実施形態に係る情報処理装置及び情報処理システムの変形例であるため、重複する内容については、適宜、同一の番号を付して説明を省略する。
【００６４】
以下、第２実施形態に係る装置１０の作用について説明する。
【００６５】
図６は、第２実施形態に係る情報処理装置１０における処理の流れを示すフローチャートである。本実施形態では、ＣＰＵ１１がＲＯＭ１２又はストレージ１４から情報処理プログラムを読み出して、ＲＡＭ１３に展開して実行することにより、処理が行なわれる。
【００６６】
ステップＳ２０１では、ＣＰＵ１１は、受付部１０１が処理対象プログラムの処理要求を受け付けると、制御部１０２として、受付部１０１が受け付けた処理対象プログラム以外のプログラムが、処理対象プログラムと競合するか否かを判断する。
【００６７】
そして、ＣＰＵ１１は、受付部１０１が受け付けた処理対象プログラム以外のプログラムが、処理対象プログラムと競合する場合（ステップＳ２０１：ＹＥＳ）は、Ｓ２０２へと処理を移行する。
【００６８】
一方で、ＣＰＵ１１は、制御部１０２として、受付部１０１が受け付けた処理対象プログラム以外のプログラムが、処理対象プログラムと競合しない場合（ステップＳ２０１：ＮＯ）は、図６に示される処理を終了する。
【００６９】
ステップＳ２０２では、ＣＰＵ１１は、サーバー２０との通信が可能でない場合（ステップＳ２０２：ＮＯ）は、ステップＳ２０５へと処理を移行する。
【００７０】
ステップＳ２０５では、ＣＰＵ１１は、Ｓ２０１において競合プログラムがあると判断された処理対象プログラムの要求を受け付けない処理を行う。そして、ＣＰＵ１１は、図６に示される処理を終了する。
【００７１】
なお、ここでいう「処理対象プログラムの要求を受け付けない処理」の方法として、例えば、受付部１０１がプログラム処理要求を受けた際に、エラー処理を返す方法、又は、処理要求を受け付けない旨を表示部１７に表示させる方法等を採用してもよい。表示部１７への処理要求を受け付けない旨の表示方法としては、例えば、図１１に示されるように、特定のプログラムの実行ボタン（図１１におけるスキャナー（メール送信）ボタン）に、変色や「！」等の記号を付加して表示させる方法を採用してもよい。また、図１２に示されるように、通常表示されている特定のプログラムのボタンを非表示にさせる方法を採用してもよい。
【００７２】
一方で、ステップＳ２０２において、サーバー２０との通信が可能である場合（ステップＳ２０２：ＹＥＳ）は、ＣＰＵ１１は、ステップＳ２０３へと処理を移行する。
【００７３】
ステップＳ２０３では、ＣＰＵ１１は、処理対象プログラムの処理要求を、ネットワーク５０を介してサーバー２０へと送信する。そして、ＣＰＵ１１は、ステップＳ２０４へと処理を移行する。
【００７４】
ステップＳ２０４では、ＣＰＵ１１は、サーバー２０において処理が実行された処理対象プログラムの処理結果を受信する。そして、ＣＰＵ１１は、図６に示される処理を終了する。
【００７５】
このような処理によれば、処理対象プログラムに競合するプログラムがない場合は、サーバー２０との通信が行われないため、競合するか否かに拘わらずサーバー２０との通信が行われる構成と比較して、通信頻度を少なくすることができる。
【００７６】
また、本実施形態においては、装置１０とサーバー２０との通信回数を減らすために、図７に示されるような処理を追加してもよい。
【００７７】
図７は、第２実施形態に係る情報処理装置１０における付加的な情報処理の流れを示すフローチャートである。
【００７８】
図７に示される処理では、ＣＰＵ１１は、受付部１０１が処理対象プログラムの処理要求を受け付けると、ステップＳ２１１において、競合するプログラムが複数あるか否かを判断する。競合するプログラムが複数ある場合（ステップＳ２１１：ＹＥＳ）は、ＣＰＵ１１は、ステップＳ２１２へと処理を移行する。
【００７９】
ステップＳ２１２では、ＣＰＵ１１は、複数の処理プログラムの処理をまとめてサーバー２０へと送信する。そして、ＣＰＵ１１は、ステップＳ２１３へと処理を移行する。
【００８０】
ステップＳ２１３では、ＣＰＵ１１は、サーバー２０によって処理が実行された複数の処理プログラムの処理結果を、まとめて受信する。そして、ＣＰＵ１１は、ステップＳ２１４へと処理を移行する。
【００８１】
ステップＳ２１４では、ＣＰＵ１１は、未処理のプログラム（すなわち、その他のプログラムと競合しない処理プログラム）の処理を実行する。そして、ＣＰＵ１１は、図７に示される処理を終了する。
【００８２】
ステップＳ２１１において、競合するプログラムが複数ない場合（ステップＳ２１１：ＮＯ）は、ＣＰＵ１１は、ステップＳ２１５へと処理を移行する。ステップＳ２１５では、ＣＰＵ１１は、競合するプログラムが１つか否かを判断する。競合するプログラムが１つの場合（ステップＳ２１５：ＹＥＳ）は、ＣＰＵ１１は、図６に示される（ｉ）へと処理を移行する。
【００８３】
一方で、ステップＳ２１５において、競合するプログラムが１つでない場合（ステップＳ２１５：ＮＯ）は、ＣＰＵ１１は、ステップＳ２１４へと処理を移行する。
【００８４】
このように、複数のプログラムの処理要求及び処理結果がまとめて送受信されることで、処理要求及び処理結果が別個に送受信される場合と比較して、装置１０とサーバー２０との通信回数を減らすことができる。
【００８５】
＜第３実施形態＞
本発明の第３実施形態に係る情報処理装置１０について、図８及び図１０を用いて説明する。なお、第３実施形態に係る情報処理装置及び情報処理システムは第１実施形態及び第２実施形態に係る情報処理装置及び情報処理システムの変形例であるため、重複する内容については、適宜、同一の番号を付して説明を省略する。
【００８６】
以下、第３実施形態に係る装置１０の作用について説明する。
【００８７】
図８は、第３実施形態に係る情報処理装置１０における情報処理の流れを示すフローチャートである。本実施形態では、ＣＰＵ１１がＲＯＭ１２又はストレージ１４から情報処理プログラムを読み出して、ＲＡＭ１３に展開して実行することにより、情報処理が行なわれる。
【００８８】
まず、ステップＳ３０１では、受付部１０１が競合するプログラムがある処理対象プログラムの処理要求を受け付けた際に、解消プログラムがあるか否かを判断する。なお、ここでいう「解消プログラム」とは、処理対象プログラムを更新、又は、処理対象プログラムと置き換えられることによって、競合プログラムとの競合状態を解消するプログラムのことをいう。
【００８９】
なお、解消プログラムがあるか否かの判断は、例えば装置１０又はサーバー２０にあらかじめ格納された解消プログラムの有無情報に基づいて行われる。図１０には、解消プログラムの有無情報が示されたテーブル２３が一例として図示されている。このように、処理対象プログラムに対して、競合プログラムがある場合、かつ、解消プログラムが存在する場合は、解消プログラムがあると判断される（ステップＳ３０１：ＹＥＳ）。
【００９０】
一方で、ステップＳ３０１において、解消プログラムがある場合（ステップＳ３０１：ＹＥＳ）は、ステップＳ３０２へと処理を移行する。
【００９１】
ステップＳ３０２では、ＣＰＵ１０１は、ネットワーク５０を介してサーバー２０から解消プログラムの取得を行う。そして、ＣＰＵ１１は、ステップＳ３０３へと処理を移行する。なお、解消プログラムは、サーバー２０からではなく、処理対象プログラムの提供元から取得しても良い。
【００９２】
ステップＳ３０３では、ＣＰＵ１１は、サーバー２０によって処理が実行された処理対象プログラムの処理結果を受信する。そして、ＣＰＵ１１は、ステップＳ３０４へと処理を移行する。
【００９３】
ステップＳ３０４では、ＣＰＵ１１は、ステップＳ３０２で取得した解消プログラムによって、プログラム（当該時点では、処理は完了しているので、以降では、単に対象プログラムと呼ぶ）の更新を行う。そして、図８に示される処理が終了される。
【００９４】
一方、ステップＳ３０１において、解消プログラムがない場合（ステップＳ３０１：ＮＯ）は、ＣＰＵ１１は、ステップＳ３０５へと処理を移行する。
【００９５】
ステップＳ３０５では、ＣＰＵ１１は、サーバーＳ２０によって実行された処理対象プログラムの処理結果を制御部１０２として受信する。そして、ＣＰＵ１１は、図８に示される処理を終了する。
【００９６】
このように、解消プログラムの取得及び対象プログラムの更新が行われることにより、次に同様の処理対象プログラムの処理が要求された場合に、プログラムの競合が発生せずに済む。
【００９７】
また、ＣＰＵ１１は、処理対象プログラムの処理結果を受信した後に対象プログラムの更新を実施するため、処理対象プログラムの処理結果を受信する前に対象プログラムの更新を実施する構成と比較して、処理対象プログラムの更新を行うための待ち時間を、ユーザに与えずに済む。
【００９８】
また、ステップＳ３０４の対象プログラムの更新処理は、あらかじめ決定された任意のタイミングで実行されるものであってもよい。例えば、ＣＰＵ１１が、自身が次回立ち上がるタイミングで、更新処理を実施するようにしてもよい、
【００９９】
＜その他の態様＞
以上、各実施形態に係る情報処理装置について説明したが、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
【０１００】
例えば、各実施形態において、サーバー２０は、１つのものとして説明したが、各機能又は担当する処理ステップごとに分けられた、複数のサーバーによって構成されていてもよい。この場合、プログラムのバージョンと競合有無情報を判断する「バージョン管理サーバー」と、処理対象プログラムの処理を行う「処理サーバー」と、解消プログラムの有無判断及び解消プログラムの提供を行う「解消プログラム提供サーバー」と、をそれぞれ別個にもうけることができる。
【０１０１】
なお、上記の処理は、専用のハードウェア回路によっても実現することもできる。この場合は、１つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【０１０２】
また、装置１０を動作させるプログラムは、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等のコンピュータ読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合は、コンピュータ読み取り可能な記録媒体に記録されたプログラムは、通常、メモリ又はストレージ等に転送され記憶される。また、このプログラムは、例えば、単独のアプリケーションソフトとして提供されてもよいし、装置１０の一機能としてその各装置のソフトウェアに組み込まれていてもよい。
【符号の説明】
【０１０３】
１０   情報処理装置（＝情報処理装置の一例に相当）
２０   サーバー（＝外部のサーバーの一例に相当）
１０１ 受付部（＝受付部の一例に相当）
１０２ 制御部（＝制御部の一例に相当）
【図１】
2020154695.tif 000003
【図２】
2020154695.tif 000004
【図３】
2020154695.tif 000005
【図４】
2020154695.tif 000006
【図５】
2020154695.tif 000007
【図６】
2020154695.tif 000008
【図７】
2020154695.tif 000009
【図８】
2020154695.tif 000010
【図９】
2020154695.tif 000011
【図１０】
2020154695.tif 000012
【図１１】
2020154695.tif 000013
【図１２】
2020154695.tif 000014