JP2020154695A - 情報処理装置及び情報処理プログラム - Google Patents
情報処理装置及び情報処理プログラム Download PDFInfo
- Publication number
- JP2020154695A JP2020154695A JP2019052378A JP2019052378A JP2020154695A JP 2020154695 A JP2020154695 A JP 2020154695A JP 2019052378 A JP2019052378 A JP 2019052378A JP 2019052378 A JP2019052378 A JP 2019052378A JP 2020154695 A JP2020154695 A JP 2020154695A
- Authority
- JP
- Japan
- Prior art keywords
- program
- processing
- processing target
- target program
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 92
- 238000004891 communication Methods 0.000 claims description 13
- 230000008030 elimination Effects 0.000 claims description 3
- 238000000034 method Methods 0.000 description 56
- 230000006870 function Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5033—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2876—Pairs of inter-processing entities at each side of the network, e.g. split proxies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
【課題】処理対象プログラムと競合するプログラムが装置内に存在する場合に、処理対象プログラムを装置内で処理することによって競合プログラムに発生する不具合を発生させずに、処理対象プログラムの処理結果を提供することができる情報処理装置及び情報処理プログラムを提供する。【解決手段】情報処理装置10は、処理対象プログラムの処理要求を受け付ける受付部101と、前記処理対象プログラムと競合する競合プログラムがある場合に、外部のサーバー20によって処理された処理対象プログラムの処理結果を受け取る制御部102と、を有する。【選択図】図4
Description
本発明の技術は、情報処理装置及び情報処理プログラムに関する。
特許文献1には、複数の種々の装置と通信する機器を含み、前記装置は種々のプログラムを実行し、前記機器は少なくとも1つのプログラムと別のプログラムとの間の競合を反復プロセスにより識別して解消する、システムが開示されている。
装置において処理を実行する場合に、プログラムが起動される。以下では、当該プログラムを、処理対象プログラムと呼ぶ。装置に、処理対象プログラムとは別のプログラムが存在し、かつ別のプログラムが処理対象プログラムと競合する場合、処理対象プログラムに不具合が発生したり、別のプログラムに不具合が発生したりする。以下では、処理対象プログラムと競合する別のプログラムを、競合プログラムと呼ぶ。
上記不具合を解消するために、処理対象プログラムの実行時には、競合プログラムを停止することが考えられる。しかし、競合プログラムを停止すると、停止の間ユーザが競合プログラムを使用できず、また、停止により予期しない更なる不具合が発生する可能性がある。
本発明は、上記事情に鑑みてなされたものであり、処理対象プログラムと競合するプログラムが装置内に存在する場合に、競合プログラムを停止することなく、処理対象プログラムの処理結果が得られる情報処理装置及び情報処理プログラムを提供することを目的とする。
本開示の第1の態様に記載の情報処理装置では、処理対象プログラムの処理要求を受け付ける受付部と、前記処理対象プログラムと競合する競合プログラムがある場合に、外部のサーバーによって処理された処理対象プログラムの処理結果を受け取る制御部と、を有する。
本開示の第2の態様に記載の情報処理装置では、前記制御部は、前記サーバーから処理対象プログラムの処理結果を受け取る場合は、前記処理対象プログラムの処理を実行しない。
本開示の第3の態様に記載の情報処理装置では、前記制御部は、前記処理対象プログラムと前記処理対象プログラム以外のプログラムの一覧を表すリスト情報とを、前記サーバーへ送信する。
本開示の第4の態様に記載の情報処理装置では、前記制御部は、前記受付部が前記処理対象プログラムの処理要求を受け付けると、前記リスト情報を前記サーバーに送信する。
本開示の第5の態様に記載の情報処理装置では、前記制御部は、前記リスト情報に含まれるプログラムに変更がある場合、又は、新たに導入されたプログラムがある場合に、前記リスト情報を更新し、更新された前記リスト情報を前記サーバーに送信する。
本開示の第6の態様に記載の情報処理装置では、前記制御部は、前記競合プログラムと競合する前記処理対象プログラムの処理要求を、前記サーバーへ送信する。
本開示の第7の態様に記載の情報処理装置では、前記受付部は、前記サーバーとの通信が不通の場合に、前記処理対象プログラムの処理要求を受け付けない。
本開示の第8の態様に記載の情報処理装置では、前記受付部は、前記処理対象プログラムの処理要求を受け付けない旨を使用者に対して可視的に表示する。
本開示の第9の態様に記載の情報処理装置では、前記処理対象プログラムが複数あり、かつ、複数の前記処理対象プログラムについて、それぞれ競合する前記競合プログラムがある場合に、前記制御部は、複数の前記処理対象プログラムの処理要求を、前記サーバーへ送信し、前記サーバーによって処理された複数の処理対象プログラムの処理結果を受け取る。
本開示の第10の態様に記載の情報処理装置では、前記制御部は、前記受付部が前記処理対象プログラムの処理要求を受け付けたときに、前記処理対象プログラムについて、競合プログラムとの競合を解消する解消プログラムがある場合に、前記解消プログラムを取得し、前記解消プログラムによる前記処理対象プログラムの更新を実行する。
本開示の第11の態様に記載の情報処理装置では、前記制御部は、前記解消プログラムによる前記処理対象プログラムの更新を、前記サーバーから前記処理対象プログラムの処理結果を受け取った後に実行する。
本開示の第12の態様に記載の情報処理装置では、前記制御部は、前記解消プログラムによる前記処理対象プログラムの更新を、情報処理装置本体の立ち上がり時に実行する。
本開示の第13の態様に記載の情報処理プログラムは、処理対象プログラムの処理要求を受け付けるステップと、前記処理対象プログラムと競合するプログラムがある場合に、外部のサーバーによって処理された処理対象プログラムの処理結果を受け取るステップと、をコンピュータに実行させる。
第1の態様に係る情報処理装置によれば、競合プログラムを停止することなく、処理対象プログラムの処理結果が得られる。
第2の態様に係る情報処理装置によれば、処理対象プログラムと競合プログラムとを装置内で処理することによって発生する不具合の発生を抑制できる。
第3の態様に係る情報処理装置によれば、処理対象プログラムと処理対象プログラム以外のプログラムとの競合判断を、サーバーに移譲することができる。
第4の態様に係る情報処理装置によれば、処理対象プログラムの処理要求を受け付けるまで、サーバーとの通信を行わずに済み、定期的にリスト情報を送信する場合に比べて、通信回数を低減できる。
第5の態様に係る情報処理装置によれば、処理対象プログラムの処理要求を受け付けた時点のリスト情報をサーバーへ提供することができる。
第6の態様に係る情報処理装置によれば、処理対象プログラムと競合プログラムとの競合判断をサーバーへ移譲せずに、処理対象プログラムの処理をサーバーへと移譲することができる。
第7の態様に係る情報処理装置によれば、サーバーとの通信が不通の場合に、処理対象プログラムの処理要求をサーバーへ送信することによる不具合の発生を抑制できる。
第8の態様に係る情報処理装置によれば、使用者による処理対象プログラムの処理要求を抑制させることができる。
第9の態様に係る情報処理装置によれば、サーバーとの通信を複数回行うことによる時間の消費を抑制することができる。
第10の態様に係る情報処理装置によれば、処理対象プログラムと競合プログラムとの競合状態を、処理対象プログラムの処理要求を受け付けた際に取得した解消プログラムによって解消することができる。
第11の態様に係る情報処理装置によれば、解消プログラムによる処理対象プログラムの更新を待たずに、処理対象プログラムの処理結果を受け取ることができる。
第12の態様に係る情報処理装置によれば、その他のプログラムの実行時に更新を行う構成と比較して、制御部自身の立ち上がりに要する待ち時間と処理対象プログラムの更新に要する待ち時間との発生するタイミングを合わせることができる。
第13の態様に係る情報処理プログラムによれば、競合プログラムを停止することなく、処理対象プログラムの処理結果を得ることができる。
以下、本発明の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
<第1実施形態>
本発明の第1実施形態に係る情報処理装置10について、図1〜図5、及び図9を用いて説明する。
本発明の第1実施形態に係る情報処理装置10について、図1〜図5、及び図9を用いて説明する。
図1に示されるように、第1実施形態に係る情報処理システムは、ネットワーク50を介して通信可能に接続された情報処理装置10(以下、適宜「装置10」と称する)及びサーバー20を含んで構成される。
図2に示されるように、情報処理装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、通信インターフェース15、表示部17及び入力部16の各構成を含んで構成される。各構成は、バス18を介して相互に通信可能に接続されている。
CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記録されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ROM12又はストレージ14には、情報処理プログラムが格納されている。
ROM12には、各種プログラム及び各種データが格納されている。RAM13には、作業領域として一時的にプログラム又はデータが記憶される。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)を含んで構成され、オペレーティングシステムを含む各種プログラム又は各種データが格納される。
通信インターフェース15は、サーバー20等の他の機器と通信するためのインターフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi−Fi(登録商標)等の規格が用いられる。
入力部16は、マウス等のポインティングデバイス又はキーボードを含み、各種の入力を行うために使用される。
表示部17は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部17は、タッチパネル方式を採用して、入力部16として機能するものでも良い。
次に、装置10及びサーバー20の機能構成について説明する。
図3に示されるように、装置10は、機能構成として、受付部101及び制御部102を含んで構成される。各機能構成は、CPU11がROM12又はストレージ14に記憶された情報処理プログラムを読み出して、RAM13に展開して実行することにより実現される。
受付部101は、処理対象プログラムの処理要求を受け付ける。処理要求は、ユーザが処理対象プログラムによる処理の実行を望む場合に、ユーザが入力部16等により入力することによって、受け付けられる。
制御部102は、処理対象プログラムと競合する競合プログラムがある場合に、外部のサーバー20によって処理された処理対象プログラムの処理結果を受け取る。なお、ここでいう「競合」とは、一方のプログラムの処理を実行することによって、他方のプログラムに不具合を生じる事象をいう。
次に、装置10の作用について説明する。
図4は、第1実施形態に係る情報処理装置10における処理の流れを示すフローチャートである。本実施形態では、CPU11がROM12又はストレージ14から情報処理プログラムを読み出して、RAM13に展開して実行することにより、処理が行なわれる。図4に示す処理は、ユーザから処理対象プログラムの処理要求が受け付けられると、実行される。
ステップS101では、CPU11は、制御部102として、受付部101が処理要求を受け付けた処理対象プログラム以外のプログラムについて、変更又は新たに導入されたものがあるか否かを判断する。なお、ここで言う「変更又は新たに導入された」とは、受付部101が、前回同様の処理対象プログラムの処理要求を受け付けたときを起算点として、変更又は新たに導入されたか否かをいう。
また、CPU11は、過去に同様の処理対象プログラムの処理要求が受け付けられた履歴が存在しない場合には、処理対象プログラムが装置10へ導入された時点を起算点として、変更又は新たに導入されたか否かを判断してもよい。
ステップS102において、変更又は新たに導入されたプログラムがある場合(ステップS101:YES)、CPU11は、その他のプログラムのリスト情報を作成する。そして、CPU11は、ステップS103へと処理を移行する。なお、ここでいう「リスト情報」とは、処理対象プログラム及び装置10内に導入されているその他のプログラムをリスト化した情報をいう。
一方で、ステップS102において、変更又は新たに導入されたプログラムがない場合(ステップS101:NO)は、CPU11は、ステップS103へと処理を移行する。
以上のような処理によれば、CPU11は、その他のプログラムのリスト情報の作成を、必要がある場合にのみ行う。つまり、毎回必ずリスト情報を作成する処理と比較して、リスト情報の作成頻度が減少する。
ステップS103では、ステップS102において作成されたリスト情報が、外部のサーバー20へと送信される。なお、変更又は新たに導入されたプログラムがない場合(ステップS101:NO)は、CPU11は、ストレージ14に格納された過去のリスト情報を、外部のサーバー20に送信する。なお、ここでいう「過去のリスト情報」とは、前回同様のプログラムの処理要求を受け付けた際に作成され、ストレージ14に格納されたリスト情報のことをいう。そして、CPU11は、ステップS104へと処理を移行する。
ステップS104では、CPU11は、外部のサーバー20から、ネットワーク50を介して処理対象プログラムの処理結果、又は、処理結果無しの通知を受信する。なお、ここでいう、「処理結果無しの通知」とは、処理対象プログラムに競合する競合プログラムが、ステップS102において作成されたリスト情報に存在しないと判断された場合に、サーバー20によって通知される情報のことをいう。そして、CPU11は、ステップS105へと処理を移行する。
ステップS105では、CPU11は、未処理プログラムを実行する。なお、ここでいう、「未処理プログラム」とは、サーバー20によって処理結果が提供されなかった処理対象プログラムのことをいう。そして、CPU11は、図4に示される処理を終了する。
次に、サーバー20の作用について説明する。なお、サーバー20の機能構成は、基本的に装置10と同様であるため説明を省略する。以下のサーバー20の処理についても、サーバー20に搭載されたCPUがROM又はストレージから情報処理プログラムを読み出して、RAMに展開して実行することにより、処理が行なわれる。
図5は、第1実施形態に係る装置10が通信する、サーバー20における処理の流れを示すフローチャートである。
ステップS121では、サーバー20は、装置10によって送信されたリスト情報を受信する。そして、ステップS122では、サーバー20は、受信したリスト情報に記載されているプログラム一覧に、情報処理装置10において実行が要求されている処理対象プログラムと競合する競合プログラムが存在するか否かを判断する。競合プログラムがリスト情報に存在する場合(ステップS122:YES)は、サーバー20は、ステップS123へと処理を移行する。ステップS123では、サーバー20は、処理対象プログラムの処理を実行する。そして、サーバー20は、ステップS124へと処理を移行する。
ここで、処理対象プログラムとリスト情報におけるプログラムとが競合するか否かの判断は、サーバー20内にあらかじめ格納されたテーブル22(図9参照)に基づいて行われる。図9に示されるように、テーブル22には、処理対象プログラムと、これに競合する競合プログラムとの対応関係が表されている。
ステップS124では、ステップS123で実行された処理対象プログラムの処理結果が、ネットワーク50を介して装置10へと送信される。そして、サーバー20における処理が終了される。
一方で、ステップS122において、競合プログラムがない場合(ステップS122:NO)は、サーバー20は、ステップS125へと処理を移行する。ステップS125では、サーバー20は、ネットワーク50を介して、装置10へ処理結果無しの通知を送信する。そして、サーバー20における処理が終了される。
<第2実施形態>
本発明の第2実施形態に係る情報処理装置10について、図6、図7、図11、及び図12を用いて説明する。なお、第2実施形態に係る情報処理装置及び情報処理システムは第1実施形態に係る情報処理装置及び情報処理システムの変形例であるため、重複する内容については、適宜、同一の番号を付して説明を省略する。
本発明の第2実施形態に係る情報処理装置10について、図6、図7、図11、及び図12を用いて説明する。なお、第2実施形態に係る情報処理装置及び情報処理システムは第1実施形態に係る情報処理装置及び情報処理システムの変形例であるため、重複する内容については、適宜、同一の番号を付して説明を省略する。
以下、第2実施形態に係る装置10の作用について説明する。
図6は、第2実施形態に係る情報処理装置10における処理の流れを示すフローチャートである。本実施形態では、CPU11がROM12又はストレージ14から情報処理プログラムを読み出して、RAM13に展開して実行することにより、処理が行なわれる。
ステップS201では、CPU11は、受付部101が処理対象プログラムの処理要求を受け付けると、制御部102として、受付部101が受け付けた処理対象プログラム以外のプログラムが、処理対象プログラムと競合するか否かを判断する。
そして、CPU11は、受付部101が受け付けた処理対象プログラム以外のプログラムが、処理対象プログラムと競合する場合(ステップS201:YES)は、S202へと処理を移行する。
一方で、CPU11は、制御部102として、受付部101が受け付けた処理対象プログラム以外のプログラムが、処理対象プログラムと競合しない場合(ステップS201:NO)は、図6に示される処理を終了する。
ステップS202では、CPU11は、サーバー20との通信が可能でない場合(ステップS202:NO)は、ステップS205へと処理を移行する。
ステップS205では、CPU11は、S201において競合プログラムがあると判断された処理対象プログラムの要求を受け付けない処理を行う。そして、CPU11は、図6に示される処理を終了する。
なお、ここでいう「処理対象プログラムの要求を受け付けない処理」の方法として、例えば、受付部101がプログラム処理要求を受けた際に、エラー処理を返す方法、又は、処理要求を受け付けない旨を表示部17に表示させる方法等を採用してもよい。表示部17への処理要求を受け付けない旨の表示方法としては、例えば、図11に示されるように、特定のプログラムの実行ボタン(図11におけるスキャナー(メール送信)ボタン)に、変色や「!」等の記号を付加して表示させる方法を採用してもよい。また、図12に示されるように、通常表示されている特定のプログラムのボタンを非表示にさせる方法を採用してもよい。
一方で、ステップS202において、サーバー20との通信が可能である場合(ステップS202:YES)は、CPU11は、ステップS203へと処理を移行する。
ステップS203では、CPU11は、処理対象プログラムの処理要求を、ネットワーク50を介してサーバー20へと送信する。そして、CPU11は、ステップS204へと処理を移行する。
ステップS204では、CPU11は、サーバー20において処理が実行された処理対象プログラムの処理結果を受信する。そして、CPU11は、図6に示される処理を終了する。
このような処理によれば、処理対象プログラムに競合するプログラムがない場合は、サーバー20との通信が行われないため、競合するか否かに拘わらずサーバー20との通信が行われる構成と比較して、通信頻度を少なくすることができる。
また、本実施形態においては、装置10とサーバー20との通信回数を減らすために、図7に示されるような処理を追加してもよい。
図7は、第2実施形態に係る情報処理装置10における付加的な情報処理の流れを示すフローチャートである。
図7に示される処理では、CPU11は、受付部101が処理対象プログラムの処理要求を受け付けると、ステップS211において、競合するプログラムが複数あるか否かを判断する。競合するプログラムが複数ある場合(ステップS211:YES)は、CPU11は、ステップS212へと処理を移行する。
ステップS212では、CPU11は、複数の処理プログラムの処理をまとめてサーバー20へと送信する。そして、CPU11は、ステップS213へと処理を移行する。
ステップS213では、CPU11は、サーバー20によって処理が実行された複数の処理プログラムの処理結果を、まとめて受信する。そして、CPU11は、ステップS214へと処理を移行する。
ステップS214では、CPU11は、未処理のプログラム(すなわち、その他のプログラムと競合しない処理プログラム)の処理を実行する。そして、CPU11は、図7に示される処理を終了する。
ステップS211において、競合するプログラムが複数ない場合(ステップS211:NO)は、CPU11は、ステップS215へと処理を移行する。ステップS215では、CPU11は、競合するプログラムが1つか否かを判断する。競合するプログラムが1つの場合(ステップS215:YES)は、CPU11は、図6に示される(i)へと処理を移行する。
一方で、ステップS215において、競合するプログラムが1つでない場合(ステップS215:NO)は、CPU11は、ステップS214へと処理を移行する。
このように、複数のプログラムの処理要求及び処理結果がまとめて送受信されることで、処理要求及び処理結果が別個に送受信される場合と比較して、装置10とサーバー20との通信回数を減らすことができる。
<第3実施形態>
本発明の第3実施形態に係る情報処理装置10について、図8及び図10を用いて説明する。なお、第3実施形態に係る情報処理装置及び情報処理システムは第1実施形態及び第2実施形態に係る情報処理装置及び情報処理システムの変形例であるため、重複する内容については、適宜、同一の番号を付して説明を省略する。
本発明の第3実施形態に係る情報処理装置10について、図8及び図10を用いて説明する。なお、第3実施形態に係る情報処理装置及び情報処理システムは第1実施形態及び第2実施形態に係る情報処理装置及び情報処理システムの変形例であるため、重複する内容については、適宜、同一の番号を付して説明を省略する。
以下、第3実施形態に係る装置10の作用について説明する。
図8は、第3実施形態に係る情報処理装置10における情報処理の流れを示すフローチャートである。本実施形態では、CPU11がROM12又はストレージ14から情報処理プログラムを読み出して、RAM13に展開して実行することにより、情報処理が行なわれる。
まず、ステップS301では、受付部101が競合するプログラムがある処理対象プログラムの処理要求を受け付けた際に、解消プログラムがあるか否かを判断する。なお、ここでいう「解消プログラム」とは、処理対象プログラムを更新、又は、処理対象プログラムと置き換えられることによって、競合プログラムとの競合状態を解消するプログラムのことをいう。
なお、解消プログラムがあるか否かの判断は、例えば装置10又はサーバー20にあらかじめ格納された解消プログラムの有無情報に基づいて行われる。図10には、解消プログラムの有無情報が示されたテーブル23が一例として図示されている。このように、処理対象プログラムに対して、競合プログラムがある場合、かつ、解消プログラムが存在する場合は、解消プログラムがあると判断される(ステップS301:YES)。
一方で、ステップS301において、解消プログラムがある場合(ステップS301:YES)は、ステップS302へと処理を移行する。
ステップS302では、CPU101は、ネットワーク50を介してサーバー20から解消プログラムの取得を行う。そして、CPU11は、ステップS303へと処理を移行する。なお、解消プログラムは、サーバー20からではなく、処理対象プログラムの提供元から取得しても良い。
ステップS303では、CPU11は、サーバー20によって処理が実行された処理対象プログラムの処理結果を受信する。そして、CPU11は、ステップS304へと処理を移行する。
ステップS304では、CPU11は、ステップS302で取得した解消プログラムによって、プログラム(当該時点では、処理は完了しているので、以降では、単に対象プログラムと呼ぶ)の更新を行う。そして、図8に示される処理が終了される。
一方、ステップS301において、解消プログラムがない場合(ステップS301:NO)は、CPU11は、ステップS305へと処理を移行する。
ステップS305では、CPU11は、サーバーS20によって実行された処理対象プログラムの処理結果を制御部102として受信する。そして、CPU11は、図8に示される処理を終了する。
このように、解消プログラムの取得及び対象プログラムの更新が行われることにより、次に同様の処理対象プログラムの処理が要求された場合に、プログラムの競合が発生せずに済む。
また、CPU11は、処理対象プログラムの処理結果を受信した後に対象プログラムの更新を実施するため、処理対象プログラムの処理結果を受信する前に対象プログラムの更新を実施する構成と比較して、処理対象プログラムの更新を行うための待ち時間を、ユーザに与えずに済む。
また、ステップS304の対象プログラムの更新処理は、あらかじめ決定された任意のタイミングで実行されるものであってもよい。例えば、CPU11が、自身が次回立ち上がるタイミングで、更新処理を実施するようにしてもよい、
<その他の態様>
以上、各実施形態に係る情報処理装置について説明したが、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
以上、各実施形態に係る情報処理装置について説明したが、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
例えば、各実施形態において、サーバー20は、1つのものとして説明したが、各機能又は担当する処理ステップごとに分けられた、複数のサーバーによって構成されていてもよい。この場合、プログラムのバージョンと競合有無情報を判断する「バージョン管理サーバー」と、処理対象プログラムの処理を行う「処理サーバー」と、解消プログラムの有無判断及び解消プログラムの提供を行う「解消プログラム提供サーバー」と、をそれぞれ別個にもうけることができる。
なお、上記の処理は、専用のハードウェア回路によっても実現することもできる。この場合は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
また、装置10を動作させるプログラムは、USB(Universal Serial Bus)メモリ、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory)等のコンピュータ読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合は、コンピュータ読み取り可能な記録媒体に記録されたプログラムは、通常、メモリ又はストレージ等に転送され記憶される。また、このプログラムは、例えば、単独のアプリケーションソフトとして提供されてもよいし、装置10の一機能としてその各装置のソフトウェアに組み込まれていてもよい。
10 情報処理装置(=情報処理装置の一例に相当)
20 サーバー(=外部のサーバーの一例に相当)
101 受付部(=受付部の一例に相当)
102 制御部(=制御部の一例に相当)
20 サーバー(=外部のサーバーの一例に相当)
101 受付部(=受付部の一例に相当)
102 制御部(=制御部の一例に相当)
Claims (13)
- 処理対象プログラムの処理要求を受け付ける受付部と、
前記処理対象プログラムと競合する競合プログラムがある場合に、外部のサーバーによって処理された処理対象プログラムの処理結果を受け取る制御部と、
を有する情報処理装置。 - 前記制御部は、前記サーバーから処理対象プログラムの処理結果を受け取る場合は、前記処理対象プログラムの処理を実行しない、請求項1記載の情報処理装置。
- 前記制御部は、前記処理対象プログラムと前記処理対象プログラム以外のプログラムの一覧を表すリスト情報とを、前記サーバーへ送信する、請求項1又は請求項2に記載の情報処理装置。
- 前記制御部は、前記受付部が前記処理対象プログラムの処理要求を受け付けると、前記リスト情報を前記サーバーに送信する、請求項3に記載の情報処理装置。
- 前記制御部は、前記リスト情報に含まれるプログラムに変更がある場合、又は、新たに導入されたプログラムがある場合に、前記リスト情報を更新し、更新された前記リスト情報を前記サーバーに送信する、請求項4に記載の情報処理装置。
- 前記制御部は、前記競合プログラムと競合する前記処理対象プログラムの処理要求を、前記サーバーへ送信する、請求項1又は請求項2に記載の情報処理装置。
- 前記受付部は、前記サーバーとの通信が不通の場合に、前記処理対象プログラムの処理要求を受け付けない、請求項6に記載の情報処理装置。
- 前記受付部は、前記処理対象プログラムの処理要求を受け付けない旨を使用者に対して可視的に表示する、請求項7に記載の情報処理装置。
- 前記処理対象プログラムが複数あり、かつ、複数の前記処理対象プログラムについて、それぞれ競合する前記競合プログラムがある場合に、
前記制御部は、複数の前記処理対象プログラムの処理要求を、前記サーバーへ送信し、
前記サーバーによって処理された複数の処理対象プログラムの処理結果を受け取る、請求項1〜請求項8のいずれか1項に記載の情報処理装置。 - 前記制御部は、前記受付部が前記処理対象プログラムの処理要求を受け付けたときに、前記処理対象プログラムについて、競合プログラムとの競合を解消する解消プログラムがある場合に、前記解消プログラムを取得し、前記解消プログラムによる前記処理対象プログラムの更新を実行する、請求項1又は請求項2に記載の情報処理装置。
- 前記制御部は、前記解消プログラムによる前記処理対象プログラムの更新を、前記サーバーから前記処理対象プログラムの処理結果を受け取った後に実行する、請求項10に記載の情報処理装置。
- 前記制御部は、前記解消プログラムによる前記処理対象プログラムの更新を、情報処理装置本体の立ち上がり時に実行する、請求項11記載の情報処理装置。
- 処理対象プログラムの処理要求を受け付けるステップと、
前記処理対象プログラムと競合するプログラムがある場合に、外部のサーバーによって処理された処理対象プログラムの処理結果を受け取るステップと、
をコンピュータに実行させる情報処理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019052378A JP2020154695A (ja) | 2019-03-20 | 2019-03-20 | 情報処理装置及び情報処理プログラム |
US16/546,306 US20200301734A1 (en) | 2019-03-20 | 2019-08-21 | Information processing apparatus and non-transitory computer readable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019052378A JP2020154695A (ja) | 2019-03-20 | 2019-03-20 | 情報処理装置及び情報処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020154695A true JP2020154695A (ja) | 2020-09-24 |
Family
ID=72515973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019052378A Pending JP2020154695A (ja) | 2019-03-20 | 2019-03-20 | 情報処理装置及び情報処理プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20200301734A1 (ja) |
JP (1) | JP2020154695A (ja) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004514208A (ja) * | 2000-11-15 | 2004-05-13 | ディーエムオー インコーポレイテッド | コンピュータハードウェア及びソフトウェアのオンライン診断 |
US20070083655A1 (en) * | 2005-10-07 | 2007-04-12 | Pedersen Bradley J | Methods for selecting between a predetermined number of execution methods for an application program |
JP2010033386A (ja) * | 2008-07-29 | 2010-02-12 | Kyocera Corp | 携帯端末、およびアプリケーション機能起動方法 |
JP2012198647A (ja) * | 2011-03-18 | 2012-10-18 | Ricoh Co Ltd | 情報処理装置、情報処理システム及びプログラム |
JP2013065207A (ja) * | 2011-09-16 | 2013-04-11 | Kyocera Corp | 携帯通信システム、携帯通信端末およびサーバ |
JPWO2012023190A1 (ja) * | 2010-08-18 | 2013-10-28 | 富士通株式会社 | 通信端末装置、着信処理プログラム、および着信処理方法 |
JP2015153176A (ja) * | 2014-02-14 | 2015-08-24 | 株式会社コナミデジタルエンタテインメント | 処理システム、サーバ、端末、サーバ処理プログラム及び端末処理プログラム |
JP2018526695A (ja) * | 2015-08-17 | 2018-09-13 | グーグル エルエルシー | デバイス間でのアプリケーション状態の転送 |
-
2019
- 2019-03-20 JP JP2019052378A patent/JP2020154695A/ja active Pending
- 2019-08-21 US US16/546,306 patent/US20200301734A1/en not_active Abandoned
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004514208A (ja) * | 2000-11-15 | 2004-05-13 | ディーエムオー インコーポレイテッド | コンピュータハードウェア及びソフトウェアのオンライン診断 |
US20070083655A1 (en) * | 2005-10-07 | 2007-04-12 | Pedersen Bradley J | Methods for selecting between a predetermined number of execution methods for an application program |
JP2010033386A (ja) * | 2008-07-29 | 2010-02-12 | Kyocera Corp | 携帯端末、およびアプリケーション機能起動方法 |
JPWO2012023190A1 (ja) * | 2010-08-18 | 2013-10-28 | 富士通株式会社 | 通信端末装置、着信処理プログラム、および着信処理方法 |
JP2012198647A (ja) * | 2011-03-18 | 2012-10-18 | Ricoh Co Ltd | 情報処理装置、情報処理システム及びプログラム |
JP2013065207A (ja) * | 2011-09-16 | 2013-04-11 | Kyocera Corp | 携帯通信システム、携帯通信端末およびサーバ |
JP2015153176A (ja) * | 2014-02-14 | 2015-08-24 | 株式会社コナミデジタルエンタテインメント | 処理システム、サーバ、端末、サーバ処理プログラム及び端末処理プログラム |
JP2018526695A (ja) * | 2015-08-17 | 2018-09-13 | グーグル エルエルシー | デバイス間でのアプリケーション状態の転送 |
Also Published As
Publication number | Publication date |
---|---|
US20200301734A1 (en) | 2020-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3103018B1 (en) | Method for debugging computer program | |
US20100037104A1 (en) | Image forming apparatus and method of controlling application thereof | |
JP2006018801A (ja) | 情報処理装置、ファイル処理方法、ファイル処理プログラム及び記録媒体 | |
JP5553670B2 (ja) | 管理装置、その制御方法およびプログラム | |
US9838270B2 (en) | Management apparatus and management method for management apparatus | |
JP2011164704A (ja) | クライアントプログラム、端末、サーバ装置、システムおよび方法 | |
US10169596B2 (en) | Information processing apparatus, method, and storage medium | |
JP2012181823A (ja) | 情報処理装置及びプログラム | |
US20150138582A1 (en) | Image forming apparatus, method for controlling the same and storage medium | |
JP2017224292A (ja) | 情報処理システム、操作デバイス、情報処理方法及び情報処理プログラム | |
JP5790143B2 (ja) | 情報処理装置及びプログラム | |
EP3005094B1 (en) | Information processing device, information processing method, and program | |
JP2020154695A (ja) | 情報処理装置及び情報処理プログラム | |
CN111049883B (zh) | 分布式表格系统的数据读取方法、装置及系统 | |
JP2011186823A (ja) | ウイルスチェックシステム、ウイルスチェック装置、及び、プログラム | |
JP5093628B1 (ja) | 印刷制御装置、印刷システムおよびプログラム | |
JP2019066998A (ja) | 制御プログラム、情報処理装置、及び、制御方法 | |
JP5411381B1 (ja) | サーバ検査システム、サーバ検査装置およびサーバ検査プログラム | |
JP2010170496A (ja) | デバイス管理プログラム、デバイス管理システムおよび情報処理装置 | |
JP6285974B2 (ja) | サーバシステム、クライアント装置及びプログラム | |
JP2015215639A (ja) | 障害管理システム、障害管理装置、機器、障害管理方法、及びプログラム | |
US9720710B2 (en) | Dynamically provisioning, managing, and executing tasks | |
JP6742597B2 (ja) | 端末装置、制御装置及びプログラム | |
JP2019120995A (ja) | 画像処理システムおよび情報処理機器 | |
JP2007183804A (ja) | コンソール、操作管理装置、同時操作管理システムおよび複数装置の同時操作方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220228 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230207 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230801 |