JP2021016183A - 情報処理装置、データ処理方法、プログラム - Google Patents

情報処理装置、データ処理方法、プログラム Download PDF

Info

Publication number
JP2021016183A
JP2021016183A JP2020180140A JP2020180140A JP2021016183A JP 2021016183 A JP2021016183 A JP 2021016183A JP 2020180140 A JP2020180140 A JP 2020180140A JP 2020180140 A JP2020180140 A JP 2020180140A JP 2021016183 A JP2021016183 A JP 2021016183A
Authority
JP
Japan
Prior art keywords
item
setting data
data
application
setting
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
Application number
JP2020180140A
Other languages
English (en)
Inventor
卓 山脇
Suguru Yamawaki
卓 山脇
佳代 横山
Kayo Yokoyama
佳代 横山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2020180140A priority Critical patent/JP2021016183A/ja
Publication of JP2021016183A publication Critical patent/JP2021016183A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Facsimiles In General (AREA)

Abstract

【課題】変更したい項目と依存関係のある他の項目があっても、適切なインポートデータを生成できる情報処理装置を提供すること。【解決手段】第一の画像形成装置から受信した前記第一の画像形成装置に設定されている設定データを、インポートデータとして第二の画像形成装置に送信する情報処理装置50であって、前記設定データを前記第一の画像形成装置から受信する第一の受信手段51と、ネットワークを介して接続された端末装置から前記設定データの各項目の変更要求を受信する第二の受信手段52と、前記設定データの項目ごとに該項目と依存関係のある項目が設定された依存関係情報を参照し、前記変更要求の項目と依存関係がある項目があるか否かを判断する判断手段54と、前記判断手段の判断結果に応じて、インポートデータを生成するデータ生成手段53と、を有することすることを特徴とする。【選択図】図2

Description

本発明は、情報処理装置、データ処理方法、及び、プログラムに関する。
企業などで多くの電子機器が使用されているが、製品寿命や故障などによりこの電子機器を企業が入れ替える場合がある。古い電子機器は新しい電子機器に入れ替えられるが、電子機器が例えばファクシミリの機能を有する場合、古い電子機器には宛先のFAX番号が設定されている。また、電子機器がプリンタの機能を有する場合も、古い電子機器には様々な印刷条件が設定されている。これらの設定が引き継がれないと顧客にとって操作性が低下したように感じられてしまう。
電子機器の入れ替えはカスタマーエンジニアが行うが、カスタマーエンジニアにとっても古い電子機器の設定を1つ1つ新しい電子機器に入力することは煩雑である。各種設定の引っ越しの際、サービスエンジニアが設定値をメモするだけでなく、顧客から業務をヒアリングするなどの作業が伴うため、電子機器の入れ替えに多くの時間がかかっていた。
このような不都合に対して、設定データのインポートやエクスポートの機能を備えた電子機器が考案されている(例えば、特許文献1参照。)。特許文献1には、入れ替え元及び入れ替え先の電子機器それぞれの設定項目、設定可能範囲、設定値を端末が取得し、入れ替え元と入れ替え先で項目が異なった場合でも入れ替え先の設定値を決定する方法について開示されている。
しかしながら、電子機器の設定データには、一方の項目と他方の項目の値(設定値)に齟齬が生じうる依存関係を持つ項目が多くある。このため、ユーザが変更したい項目と依存関係のある他の項目がある場合に、情報処理装置が適切なインポートデータを生成できない課題がある。
本発明は、上記課題に鑑み、変更したい項目と依存関係のある他の項目があっても、適切なインポートデータを生成できる情報処理装置を提供することを目的とする。
本発明は、第一の画像形成装置から受信した前記第一の画像形成装置に設定されている設定データを、インポートデータとして第二の画像形成装置に送信する情報処理装置であって、前記設定データを前記第一の画像形成装置から受信する第一の受信手段と、ネットワークを介して接続された端末装置から前記設定データの各項目の変更要求を受信する第二の受信手段と、前記設定データの項目ごとに該項目と依存関係のある項目が設定された依存関係情報を参照し、前記変更要求の項目と依存関係がある項目があるか否かを判断する判断手段と、前記判断手段の判断結果に応じて、インポートデータを生成するデータ生成手段と、を有することを特徴とする。
変更したい項目と依存関係のある他の項目があっても、適切なインポートデータを生成できる情報処理装置を提供することができる。
設定データの抽出に関する不都合を説明する図である。 電子機器の動作を模式的に説明する図の一例である。 データ設定システムの概略構成図の一例である。 複合機の概略的なハードウェア構成を示したブロック図の一例である。 クラウドサーバの概略的なハードウェア構成図の一例である。 電子機器の機能をブロック状に示す機能ブロック図の一例である。 メモリにロードされる各アプリを模式的に示す図である。 プロセス間通信を模式的に説明する図の一例である。 内部用設定データ入替アプリが有するアプリIDを示す図の一例である。 アプリ管理部が内部用設定データ入替アプリを起動する手順を示すシーケンス図の一例である。 内部用設定データ入替部が設定データを取得してクラウドサーバに送信する手順を示すシーケンス図の一例である。 内部用設定データ入替アプリが操作パネルに表示するアプリ画面の例とアプリ画面の遷移例を示す図の一例である。 クラウドサーバの概略的な動作を説明する図の一例である(実施例2)。 データ設定システムの概略構成図の一例である(実施例2)。 ユーザPC、クラウドサーバ及び電子機器の機能をブロック状に示す機能ブロック図の一例である(実施例2)。 ユーザPCのLCDに表示される設定画面の一例である(実施例2)。 設定データ変更画面の一例である(実施例2)。 クラウドサーバが変更を要求されている項目に依存関係のある項目があるかどうかを判断し、インポートデータを生成する手順を示すフローチャート図の一例である。 設定変更要求について説明する図の一例である。 インポートデータ生成部が生成したインポートデータについて説明する図の一例である。
以下、本発明を実施する形態の一例として電子機器及び電子機器が行う機能追加方法について図面を参照しながら説明する。
<従来の電子機器について>
まず、市場に流通している電子機器30が設定データの抽出に対応していない場合に生じる不都合について説明する。図1は、設定データの抽出に関する不都合を説明する図である。図1は電子機器30Aのソフトウェア構造を示しており、電子機器30Aでは内部アプリ26とSDKアプリ31の二種類のアプリが動作する。SDKとは「Software Development Kit」の略であり、あるシステムに対応したソフトウェアを開発するために必要なプログラムや文書などをひとまとめにしたソフト的なツールである。電子機器30AはSDKアプリ31が内部アプリ26と通信するためのSDKアプリ用IF32を有している。SDKアプリ用IF32は、SDKアプリ31が内部アプリ26(及びOS28)の機能を呼び出すためのAPI(Application Interface)の集合である。SDKアプリ31はAPIを呼び出して内部アプリ26等の機能を利用することができるため、電子機器30Aのメーカは市場流通機に対しても比較的容易に機能を追加できる。
そこで、市場流通機に対しメーカが設定データを抽出するためのSDKアプリ31を作成し、カスタマーエンジニアCEなどが顧客側でSDKアプリ31を電子機器30Aにインストールすることが検討される。このSDKアプリ31をSDK用設定データ入替アプリ33と称する。
しかしながら、SDKアプリ用IF32は内部アプリ26の全ての機能に対応したAPIを提供するわけではなく、SDK用設定データ入替アプリ33では抽出できない設定データが存在する。図1に示すように、設定データにアクセスするには内部アプリ26が必要であり、各内部アプリ26が抽出できる設定データも決まっている。例えば、設定データ管理部A(符号は23)が抽出できる設定データと、設定データ管理部B(符号は24)が抽出できる設定データは決まっている。
Figure 2021016183
表1は、設定データと対応する設定データ管理部、及びSDKアプリ用IF32の有無をテーブル状に示す。表1に示すように、設定データはアクセスできる設定データ管理部が決まっている。また、設定データ管理部と設定データの組み合わせによって、SDKアプリ用IF32の有無が変わってくる。このため、SDKアプリ用IF32経由では、引っ越されるべき設定データの全てに対応できない。
例えば図1では、SDKアプリ用IF32が設定データ管理部Aを呼び出すAPIを提供していても、設定データ管理部Bを呼び出すAPIを提供していない場合、SDK用設定データ入替アプリ33は、設定データ管理部Bが抽出する設定データを抽出できない。市場流通機であるため、設定データ管理部BのAPIをメーカがSDKアプリ用IF32に追加することも困難である。
<本実施形態の電子機器の動作について>
そこで、本実施形態の電子機器30Aは内部アプリ26として内部用設定データ入替アプリ14を動作させる。図2は、電子機器30Aの動作を模式的に説明する図の一例である。内部用設定データ入替アプリ14は内部アプリ26として動作するので設定データ管理部A及び設定データ管理部Bと同じメモリ空間で動作する。内部アプリ26はSDKアプリ用IF32を経由しないので、内部用設定データ入替アプリ14は設定データ管理部A及び設定データ管理部Bが有する全ての機能を利用することができる。つまり、内部用設定データ入替アプリ14は、SDKアプリ用IF32が提供していない機能を内部アプリ26から呼び出して、内部アプリ26から設定データを取得する。
従って、内部用設定データ入替アプリ14がインストールされることで、従来は取得できなかった設定データを取得するという新たな機能を追加できる。
なお、一般的なPC(Personal Computer)でもアプリケーションソフトウェアのインストールは可能であるが、本実施形態の電子機器30Aは任意のアプリケーションソフトウェアをインストールできない点で異なっている。詳細は後述される。
<用語について>
実行の許可とは電子機器30がプログラムを実行できること、起動できること、又は、ユーザが使用できることをいう。
機能とは、電子機器30が提供する情報処理の具体的内容である。機能はデータの入力、加工、出力の1つ以上が組み合わされて提供される。
設定データは、電子機器30に設定されているデータである。どのようなデータであるかは電子機器30によって様々である。例えば、アドレス情報、処理のパラメータなどである。
<システム構成例>
図3は、データ設定システム100の概略構成図の一例を示す。データ設定システム100はネットワークNを介して通信可能な1台以上の電子機器30A,30Bとクラウドサーバ50を有する。以下では、複数の電子機器30A,30Bのうち任意の電子機器を電子機器30と称する。
ネットワークNは、電子機器30A、30Bが設置されている施設などに構築されているLAN、LANをインターネットに接続するプロバイダのプロバイダネットワーク、及び、回線事業者が提供する回線等により構築されている。ネットワークNが複数のLANを有する場合、ネットワークNはWANやインターネットと呼ばれる。ネットワークNは有線又は無線のどちらで構築されてもよく、また、有線と無線が組み合わされていてもよい。また、電子機器30Aが直接、公衆回線網に接続する場合は、LANを介さずにプロバイダネットワークに接続することができる。
電子機器30Aは、動作に関する設定データが設定され、その設定データを他の電子機器30Bが再利用する何らかの装置である。例えば、企業において新しい電子機器30Bに入れ替えられる古い電子機器30が本実施例の電子機器30Aである。一方、設定データが再利用される新しい電子機器30が電子機器30Bである。電子機器30A(第一の画像形成装置)はクラウドサーバ50に設定データをエクスポートし、電子機器30B(第二の画像形成装置)は設定データをインポートする。電子機器30Bについては実施例2にて説明する。
電子機器30Aとしては、例えば、複合機、プロジェクタ、電子黒板、及びテレビ会議端末などが挙げられる。なお、複合機はMFP(Multi-Function Peripheral)、複写機、コピー機、画像形成装置、画像処理装置、又はプリンタなどと呼ばれる場合がある。プロジェクタは投影装置と呼ばれる場合がある。電子黒板は電子情報ボード、電子ホワイトボードなどと呼ばれる場合がある。この他、電子機器30Aはデジタルサイネージ、デジタルカメラ、ドローンなどでもよい。
更に、本実施形態の電子機器30Aは、設定データが設定されるものでなくてもよい。本実施形態の電子機器30Aは、市場流通機に対しSDKアプリ31以外の手段で、機能を追加できる点が特徴の1つであるため、市場流通機にSDKアプリ31以外の手段で機能が追加できる電子機器30であればよい。
なお、追加されるアプリ(内部用設定データ入替アプリ14)は可搬型記憶媒体9に記憶された状態で頒布される。カスタマーエンジニアCEが可搬型記憶媒体9を電子機器30Aに装着すると、電子機器30Aが内部用設定データ入替アプリ14を読み取って電子機器30Aにインストールする。詳細は後述される。可搬型記憶媒体9は、例えば、SDカード(登録商標)、USBメモリ、コンパクトフラッシュ(登録商標)、マルチメディアカード 、フロッピー、メモリースティック(登録商標)、外付けのハードディスクドライブ、などである。
一方、内部用設定データ入替アプリ14はプログラム配信用のサーバに記憶されていてもよい。この場合、カスタマーエンジニアCEがプログラム配信用のサーバから電子機器30Aに内部用設定データ入替アプリ14をダウンロードする。
クラウドサーバ50は、内部用設定データ入替アプリ14が取得した設定データが送信されるクラウド上の情報処理装置である。内部用設定データ入替アプリ14が電子機器30Aから設定データを取得すること、又は、更にクラウドサーバ50に送信することを設定データのエクスポートという。新しい電子機器30Bがクラウドサーバ50から設定データをダウンロードすること、又は、新しい電子機器30Bが設定データを自機に設定することをインポートという。エクスポートされる設定データをエクスポートデータといい、インポートされる設定データをインポートデータという。従って、設定データと、インポートデータ又はエクスポートデータは同じデータの場合がある。
なお、クラウドとはクラウドコンピューティングの略であり、クラウドコンピューティングとは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用される利用形態をいう。クラウドサーバ50は社内のネットワークに接続されたサーバでもよい。
<ハードウェア構成例>
<<複合機のハードウェア構成について>>
図4は、複合機の概略的なハードウェア構成を示したブロック図の一例である。複合機は、コントローラ410とエンジン部(Engine)415とをPCI(Peripheral Component Interface)バス416で接続した構成となる。
コントローラ410は、複合機全体の制御と描画、通信、操作パネル411(表示装置、入力装置)からの入力を制御するコントローラである。エンジン部415は、PCIバス416に接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナ又はファックスユニットなどである。
なお、このエンジン部415には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
コントローラ410は、CPU401と、ノースブリッジ(NB)403と、システムメモリ(MEM−P)402と、サウスブリッジ(SB)404と、ローカルメモリ(MEM−C)407と、ASIC(Application Specific Integrated Circuit)406と、ハードディスクドライブ(HDD)408とを有し、ノースブリッジ(NB)403とASIC406との間をAGP(Accelerated Graphics Port)バス405で接続した構成となる。
また、MEM−P402は、ROM(Read Only Memory)402aと、RAM(Random Access Memory)402bと、を更に有する。
CPU401は、複合機の全体制御を行うものであり、NB403、MEM−P402及びSB404からなるチップセットを有し、このチップセットを介して他の機器と接続される。
NB403は、CPU401とMEM−P402、SB404、AGPバス405とを接続するためのブリッジであり、MEM−P402に対する読み書きなどを制御するメモリコントローラと、PCIマスタ及びAGPターゲットとを有する。
MEM−P402は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ROM402aとRAM402bとからなる。
ROM402aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM402bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込み及び読み出し可能なメモリである。
SB404は、NB403とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB404は、PCIバスを介してNB403と接続されており、このPCIバスには、ネットワークI/F409なども接続される。ASIC406は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス405、PCIバス416、HDD408及びMEM−C407をそれぞれ接続するブリッジの役割を有する。
このASIC406は、PCIターゲット及びAGPマスタと、ASIC406の中核をなすアービタ(ARB)と、MEM−C407を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などを行う複数のDMAC(Direct Memory Access Controller)と、エンジン部415との間でPCIバスを介したデータ転送を行うPCIユニットとを有する。
ネットワークI/F409はネットワークNを介してクラウドサーバ50等と通信するための通信装置であり、例えばNIC(Network Interface Card)である。
このASIC406には、PCIバスを介してFCU(Facsimile Control Unit)412、SD I/F(Universal Serial Bus)413、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)インタフェース414が接続される。
操作パネル411はASIC406に直接接続されている。MEM−C407は、コピー用画像バッファ、符号バッファとして用いるローカルメモリである。HDD408は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
また、HDD408は、複合機で実行されるアプリケーションのライセンスファイルを保存する。AGPバス405は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、MEM−P402に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
<<クラウドサーバのハードウェア構成について>>
図5は、クラウドサーバ50の概略的なハードウェア構成図の一例である。クラウドサーバ50は、CPU201と、CPU201が使用するデータの高速アクセスを可能とするメモリ202とを備える。CPU201及びメモリ202は、システム・バス203を介して、クラウドサーバ50の他のデバイス又はドライバ、例えば、グラフィックス・ドライバ204及びネットワーク・ドライバ(NIC)205へと接続されている。
グラフィックス・ドライバ204は、バスを介してLCD(ディスプレイ装置)206に接続されて、CPU201による処理結果をモニタする。また、ネットワーク・ドライバ205は、トランスポート層レベル及び物理層レベルでクラウドサーバ50をネットワークNへと接続して、複合機とのセッションを確立させている。
システム・バス203には、更にI/Oバス・ブリッジ207が接続されている。I/Oバス・ブリッジ207の下流側には、PCIなどのI/Oバス208を介して、IDE、ATA、ATAPI、シリアルATA、SCSI、USBなどにより、HDD(ハードディスクドライブ)209などの記憶装置が接続されている。HDD209はクラウドサーバ50の全体を制御するプログラム209pを記憶している。HDD209はSSD(Solid State Drive)でもよい。
また、I/Oバス208には、USBなどのバスを介して、キーボード及びマウス(ポインティング・デバイスと呼ばれる)などの入力装置210が接続され、システム管理者などのオペレータによる入力及び指令を受け付けている。
なお、図示したクラウドサーバ50のハードウェア構成は、1つの筐体に収納されていたりひとまとまりの装置として備えられていたりする必要はなく、クラウドサーバ50が備えていることが好ましいハード的な要素を示す。また、クラウドコンピューティングに対応するため、本実施例のクラウドサーバ50の物理的な構成は固定的でなくてもよく、負荷に応じてハード的なリソースが動的に接続・切断されることで構成されてよい。
<機能について>
図6は、電子機器30Aの機能をブロック状に示す機能ブロック図の一例である。電子機器30Aはその機能として外部記憶部25、内部アプリ26、記憶部27、及び、OS28を有している。外部記憶部25は、可搬型記憶媒体9が電子機器30Aに装着されることで構築されるデータの記憶手段である。可搬型記憶媒体9はサービスエンジニアによりSD I/F413に装着される。CPU401は可搬型記憶媒体9の装着を割り込みにより検出して、この割り込みに対応付けられた割り込みプログラムを実行する。例えば、可搬型記憶媒体9のファイルを検索して所定の拡張子のファイルをアプリとして検出するプログラムである。割り込みプログラムは、アプリが見つかるとOS28のアプリ管理部11に通知する。このようにして、OS28が外部記憶部25のアプリを検出できる。本実施形態では内部用設定データ入替アプリ14が検出されるものとして説明する。なお、サービスエンジニアが操作して内部用設定データ入替アプリ14を起動してもよい。
記憶部27は、HDD408、MEM−P402及びMEM−C407の1つ以上により構築されるデータの記憶手段である。記憶部27には、設定データを記憶する設定データ記憶部15が構築されている。設定データは永続化領域に記憶されている。永続化領域とは電源がOFFされても消去されないデータであり、保護の対象となるデータの記憶領域である。設定データの一例については後に説明する。
電子機器30Aは、内部アプリ26として動作する内部用設定データ入替部22、設定データ管理部A(符号は23)、設定データ管理部B(符号は24)、及び通信部21を有している。これら各機能部は、図4に示された各構成要素のいずれかが、HDD408からRAM402bに展開されたプログラム408p(アプリ)に従ったCPU401からの命令により動作することで実現される機能又は手段である。
設定データ管理部Aは、設定データAを記憶部27から読み取ったり、設定したりする。設定データAを読み書きするために電子機器30Aのメーカにより作成されたアプリにより実現される機能である。設定データ管理部Bについても同様であり、設定データ管理部Bは設定データBを記憶部から読み取ったり、設定したりする。設定データBを読み書きするために電子機器30Aのメーカにより作成されたアプリにより実現される機能である。設定データは、専用のアプリ(設定データ管理部A,B)でなければ読み書きできないことで、設定データのセキュリティが高められている。設定データ管理部はA,Bの2つには限られず3つ以上でもよい。
内部用設定データ入替部22は内部用設定データ入替アプリ14により実現される機能である。内部用設定データ入替部22は設定データ管理部A,Bを利用して、記憶部27の設定データ記憶部15から設定データを取得する。詳細は図8にて説明する。
内部アプリ26はOS28上で動作する。OS28は、情報処理装置のハードウェアを機能ごとに抽象化したインタフェースをアプリに提供するプログラムである。基本ソフトウェアと呼ばれる場合がある。内部アプリ26はOS28が提供する規則や手続きに従うことによってハードウェアを利用する。電子機器30Aが内部アプリ26を実行する際は、OS28は内部アプリ26のそれぞれをプロセスとして実行する。OS28はプロセスに対しメモリ空間などの資源の割り当てし、内部アプリ26のバイナリコードをメモリ(RAM)にロードする。また、プロセスを識別し、他のプロセスから保護する処理などを行う。また、OS28はCPU401が実行すべきプロセスの順序と一度に実行する期間を決定するスケジューラと呼ばれる機能を有し、選択したプロセスにCPU401を占有させてそれぞれの内部アプリ26を実行する。内部アプリ26の切り替えをコンテキストスイッチといい、OS28はCPU401のレジスタの状態を退避し、また復元する。このようにしてOS28は複数の内部アプリ26を並行的に実行する。
本実施形態のOS28は、アプリ管理部11及びアプリ通信部12を有している。また、OS28はアプリ管理テーブル13を有している。アプリ管理テーブル13は、例えばHDD408、MEM−P402及びMEM−C407のいずれかに記憶されている。好ましくは暗号化されており、OS28のみがアクセスできることが好ましい。アプリ管理テーブル13について表2で説明する。
Figure 2021016183
表2は、アプリ管理テーブル13の一例を示す。アプリ管理テーブル13には、アプリIDに対応付けて、電子機器30で実行が許可されたアプリ名が登録されている。例えば、アプリIDが001のアプリ名は「コピーアプリ」である。コピーアプリ、プリントアプリ、FAXアプリ、及びスキャナアプリは電子機器30Aのユーザが使用する可能性があるアプリであるが、工程アプリはユーザが使用する可能性がない。工程アプリは、内部用設定データ入替アプリ14と同様に設定データ管理部A,Bを利用して、記憶部27に設定データを書き込むためのアプリである。工程アプリは電子機器30Aの出荷時に工場などで担当者により、電子機器30Aに設定データを設定するために使用される。すなわち、出荷時に設定データの初期値を設定するためのアプリである。
工程アプリがユーザサイド(出荷後)で使用される可能性は極めて少ない。つまり、工程アプリは電子機器30Aの出荷時に使用され出荷後は使用されない。本実施形態ではこのことを利用して、内部用設定データ入替アプリ14に工程アプリのアプリIDが付与されている。このため、アプリ管理部11は内部用設定データ入替アプリ14を起動することができる。
なお、IDはIdentificationの略であり識別子や識別情報という意味である。IDは複数の対象から、ある特定の対象を一意的に区別するために用いられる名称、符号、文字列、数値又はこれらのうち1つ以上の組み合わせをいう。アプリID以外のIDについても同様である。
アプリ管理部11は、アプリ管理テーブル13に登録されているアプリIDのアプリを起動する。アプリ管理テーブル13にアプリIDが登録されているアプリでなければ、アプリ管理部11はアプリを起動できない。
アプリ通信部12は、異なるアプリ間で通信する機能(プロセス間通信)を提供する。本実施形態では、内部用設定データ入替アプリ14が設定データ管理部A及び設定データ管理部Bと通信して、設定データを取得することを可能にする。
通信部21は、内部用設定データ入替アプリ14が取得した設定データA及び設定データBをクラウドサーバ50に送信する。クラウドサーバ50のIPアドレス等は予め内部用設定データ入替部22に設定されている。
<プロセス間通信>
図7は、メモリにロードされる各アプリを模式的に示す図である。メモリは、例えば図4のRAM402bである。実行中のプロセスには専用の仮想アドレス空間が割り当てられ、0番地から順番に命令がロードされる。各プロセスは物理アドレスを意識する必要がないが自プロセスの仮想アドレス範囲にしかアクセスできない。つまり、他のプロセスが記憶されている物理アドレスにアクセスすることができない。
そこで、情報処理装置にはプロセス間通信という仕組みが用意されている。プロセス間通信とは、複数のプロセスの間で情報の共有やメッセージの交換などを行なう機能を提供するための仕組みである。具体的にはり、共有メモリ、同期、メッセージ通信などの実装方法がある。
図8は、プロセス間通信を模式的に説明する図の一例である。
(1)内部用設定データ入替部22は通信ID、送信元アプリID、宛先アプリID、コマンド、引数、及び戻り値をアプリ通信部12に送信する。具体的にはアプリ通信部12が提供する記載形式(データ構造体)にこれらを格納しアプリ通信部12を呼び出す。通信IDは1回のプロセス間通信を識別するための識別情報である。
(2)アプリ通信部12は、起動しているアプリIDとプロセスIDを対応付けるテーブル301を保持している。通信IDに送信元アプリIDを対応付けて保管する。そして、宛先アプリIDに対応付けられたプロセスIDのプロセスに通信ID、コマンド、引数、及び戻り値を送信する。
(3)設定データ管理部Aは、コマンドと引数に応じて命令を実行し、命令の実行結果を戻り値に格納する。本実施形態の実行結果は設定データ記憶部15から取得された設定データである。設定データ管理部Aは通信IDと戻り値をアプリ通信部12に送信する。
(4)アプリ通信部12は、通信IDに対応付けられている送信元アプリIDを特定し、送信元アプリIDに対応付けられているプロセスIDを特定する。アプリ通信部12は通信IDと戻り値を、プロセスIDで特定される内部用設定データ入替部22に送信する。
内部用設定データ入替部22は通信IDにより戻り値がどの設定データであるかを特定し、要求した設定データを取得できる。なお、図示したプロセス間通信の方法は一例であって、どのような実現方法で実現されてもよい。
外部から内部用設定データ入替アプリ14が追加される前に電子機器30には何らかの内部アプリ26がインストールされている場合が多く、内部用設定データ入替アプリ14が電子機器30Aの機能を利用するためにはこれらの機能が必要となる場合が多い。本実施例ではプロセス間通信を利用することで、内部用設定データ入替アプリ14が設定データを取得することができる。
<内部用設定データ入替アプリ14が有するアプリID>
アプリ管理部11が内部用設定データ入替アプリ14を実行するためには、アプリ管理テーブル13に登録されたアプリIDかつユーザサイドで使用されないアプリIDを内部用設定データ入替アプリ14が有している必要がある。本実施形態では上記のように工程アプリのアプリID(005)を内部用設定データ入替アプリ14が有するものとする。
図9は、内部用設定データ入替アプリ14が有するアプリIDを示す図の一例である。図9では、内部用設定データ入替アプリ14のファイル名「005+内部用設定データ入替アプリ」に工程アプリのアプリID(005)が含まれている。アプリ管理部11はファイル名の記載形式に従って(例えば、先頭から決まった文字数のアプリIDを取得)、アプリIDを取り出し、アプリ管理テーブル13に登録されているか否かを判断する。
なお、内部用設定データ入替アプリ14がメタデータとしてアプリIDを保持していてもよいし、内部用設定データ入替アプリ14の特定の場所に記述されていてもよい。
<設定データ>
設定データ管理部A、Bが取得する設定データについて説明する。
(i)SDKアプリ用IF32で取得できる設定データ
アドレス帳:ユーザ名、電話番号、電子メールアドレスなどが対応付けられた情報。
ヘッダー・フッターの印刷位置:ページ番号、日付等の印刷位置
(ii)SDKアプリ用IF32で取得できない設定データ
省エネの設定値:省エネモードへの移行時間
デバックログの設定値:電子機器30Aに生じたイベントが記録された電子機器30Aをデバッグするためのログ
給紙トレーの順序の設定値:用紙を優先的に使用する給紙トレーの順番を指定する設定値
従って、従来はカスタマーエンジニアCEが手作業で取り出していた(ii)のSDKアプリ用IF32で取得できない設定データを内部用設定データ入替アプリ14により、従来よりも少ない作業工程で取得できるようになる。
<内部用設定データ入替アプリ14の起動時の手順>
図10は、アプリ管理部11が内部用設定データ入替アプリ14を起動する手順を示すシーケンス図の一例である。
S1:可搬型記憶媒体9がSD I/F413に装着されると、OS28が可搬型記憶媒体9をマウントする。マウントとは、電子機器30A(コンピュータ)に接続した周辺機器や外部記憶装置等をOS28が認識し、利用可能な状態にすること(例えば、重複しないドライブレターを割り当てたり、ディレクトリを割り当てたりする)をいう。
S2:上記のように割り込みにより、アプリ管理部11はマウントした可搬型記憶媒体9に記憶されている内部用設定データ入替アプリ14のオブジェクトを読み取る。
S3:アプリ管理部11は、内部用設定データ入替アプリ14の例えばファイル名から取得したアプリIDがアプリ管理テーブル13に登録されているか否かを判断する。ここでは登録されているものとして説明する。
S4:アプリ管理部11は、読み取ったオブジェクトを記憶部27の指定ディレクトリに展開する。すなわち、アプリごとに決まったディレクトリにオブジェクトをコピーする。こうすることで読み出し等が高速になる。また、可搬型記憶媒体9は取り外されるおそれがあるが、コピーによりそのおそれがなくなる
S5:アプリ管理部11は展開した内部用設定データ入替アプリ14のオブジェクトを記憶部27から読み取る。具体的にはメモリにロードする。
S6:アプリ管理部11は内部用設定データ入替アプリ14を実行する。すなわち、内部用設定データ入替アプリ14をプロセスとして実行しリソースを割り当てる。これにより、内部用設定データ入替部22が実現され、電子機器30A内で動作を開始する。
<設定データの取得と送信>
図11は、内部用設定データ入替部22が設定データを取得してクラウドサーバ50に送信する手順を示すシーケンス図の一例である。なお、図11の説明では簡略化のためアプリ通信部12は省略した。
S1:カスタマーエンジニアCEは設定データを取得する操作を電子機器30Aに行う。内部用設定データ入替部22が操作パネル411に表示するアプリ画面を使って設定データを要求する。
S2:内部用設定データ入替部22は設定データ管理部Aに設定データの取得を要求する。内部用設定データ入替部22では設定データごとに設定データを管理するアプリ(設定データ管理部A、B)が対応付けられているため、カスタマーエンジニアCEは設定データ管理部A、Bを意識する必要はない。
S3:設定データ管理部Aは記憶部27の設定データ記憶部15から設定データAを読み出す。
S4:設定データ管理部Aは読み出した設定データAを内部用設定データ入替部22に送出する。
S5:次に、内部用設定データ入替部22は設定データ管理部Bに設定データの取得を要求する。
S6:設定データ管理部Bは記憶部27の設定データ記憶部15から設定データBを読み出す。
S7:設定データ管理部Bは読み出した設定データBを内部用設定データ入替部22に送出する。
S8:内部用設定データ入替部22は通信部21に設定データA及び設定データBを送出する。
S9:通信部21は、予め設定されているクラウドサーバ50のIPアドレスを宛先に設定データA及び設定データBを送信する。
S10:クラウドサーバ50は送信結果を通信部21に送信する。
S11:通信部21は送信結果を内部用設定データ入替部22に送出する。
<画面例>
図12は、内部用設定データ入替アプリ14が操作パネルに表示するアプリ画面の例とアプリ画面の遷移例を示す。
図12(a)は内部用設定データ入替アプリ14が起動した際に表示するメニュー画面481の一例である。メニュー画面481は、クラウドボタン482、SDボタン483、フォルダボタン484、及びOKボタン485を有している。クラウドボタン482はクラウドサーバ50へ設定データを電子機器30Aがエクスポートするか、又は、クラウドサーバ50から設定データを電子機器30Aがインポートするためのボタンである。SDボタン483は可搬型記憶媒体9へ設定データを電子機器30Aがエクスポートするか、又は、可搬型記憶媒体9から設定データを電子機器30Aがインポートするためのボタンである。フォルダボタン484は、フォルダへ設定データを電子機器30Aがエクスポートするか、又は、フォルダから設定データを電子機器30Aがインポートするためのボタンである。カスタマーエンジニアCEはクラウドボタン482、SDボタン483及びフォルダボタン484の1つを選択してOKボタン485を押下する。図12(a)ではクラウドボタン482が選択されている。電子機器30Aの内部用設定データ入替部22はこれらの操作又は入力を受け付ける。
図12(b)はクラウドログイン画面491の一例である。クラウドログイン画面491は、ユーザID入力欄492、パスワード入力欄493、パスワード再発行ボタン494、及びログインボタン495を有する。カスタマーエンジニアCEはユーザID入力欄492にユーザIDを入力し、パスワード入力欄493にパスワードを入力しログインボタン495を押下する。パスワード再発行ボタン494は、パスワードの再発行を電子機器30Aがクラウドサーバ50に要求するためのボタンである。電子機器30Aはこれらの操作又は入力を受け付ける。
図12(c)はクラウドメニュー画面421の一例を示す。クラウドメニュー画面421は、カスタマーエンジニアCEがログインに成功すると表示されるアプリ画面である。クラウドメニュー画面421はインポートボタン422とエクスポートボタン423を有する。設定データをインポートする場合、カスタマーエンジニアCEはインポートボタン422を押下し、設定データをエクスポートする場合、カスタマーエンジニアCEはエクスポートボタン423を押下する。ここではエクスポートボタン423が押下されたものとして説明する。電子機器30Aの内部用設定データ入替部22はこれらの操作又は入力を受け付ける。
図12(d)はエクスポート画面431の一例を示す。エクスポート画面431は機器設定ボタン432、アドレス帳ボタン433、クラウドメニューボタン434、及び、OKボタン435を有する。機器設定ボタン432とアドレス帳ボタン433は、内部用設定データ入替アプリ14が取得可能な設定データを示す。カスタマーエンジニアCEはアドレス帳以外の設定データをエクスポートする場合は機器設定ボタン432を押下し、設定データのうちアドレス帳だけをエクスポートする場合はアドレス帳ボタン433を押下する。クラウドメニューボタン434は、クラウドメニュー画面421に戻るためのボタンである。ここでは機器設定ボタン432とアドレス帳ボタン433が選択されOKボタン435が押下されたものとする。OKボタン435の押下によりエクスポートがスタートする。電子機器30Aの内部用設定データ入替部22はこれらの操作又は入力を受け付ける。
図12(e)はエクスポート進捗画面441の一例である。エクスポート進捗画面441は、設定データのエクスポートの進捗状況442とアドレス帳のエクスポートの進捗状況443を表示する。例えば、エクスポートされる全体の設定データに対し、エクスポートが完了した設定データの割合が表示される。
図12(f)はエクスポート完了画面451の一例である。エクスポート完了画面451はエクスポートが完了したことをカスタマーエンジニアCEに報知するための画面である。内部用設定データ入替部22は、例えば「エクスポート完了しました。○○カードを外して主電源のOFF/ONを実施して下さい。」というメッセージ452を表示する。
<まとめ>
以上説明したように、本実施例の電子機器30Aは内部アプリとして動作する内部用設定データ入替アプリ14を実行し、内部用設定データ入替アプリ14はプロセス間通信により設定データA、Bを取得するので、内部アプリ26が取得できる設定データを全て取得することができる。また、電子機器30AはアプリIDが登録されている内部アプリ26しか実行できないが、内部用設定データ入替アプリ14に工程アプリのアプリIDが付与されることで、電子機器30Aが内部用設定データ入替アプリ14を実行できる。
実施例1によれば、電子機器30Aの設定データをクラウドサーバ50にエクスポートすることができた。電子機器30Bはこの設定データをインポートすることで、設定データを引っ越すことができる。
しかしながら、電子機器30Aの設定データには依存関係を持つ項目が多くある。例えば、FAX送信の際に相手先に関する設定を行う項目(特定相手先設定)がある。特定相手先設定の相手先の名称をカスタマーエンジニアが登録する際、特定相手先設定に情報を「登録する」と設定されていなければ整合性がとれない。このように一方の項目と他方の項目の値(設定値)に齟齬が生じうる関係にあることを依存関係があるという。
また、インポートの前にカスタマーエンジニアCEが設定データの一部の項目を変更したい場合がある。カスタマーエンジニアCEは変更する項目と依存関係が項目を変更するため、設定データの全てをインポートして依存関係を考慮して変更する項目と依存関係が項目を変更する必要がある。追加の変更が生じるたびに設定データの全てをインポートすると時間がかかってしまい、顧客にも迷惑をかけるおそれがある。
そこで、本実施例の電子機器30Aは、カスタマーエンジニアCEが変更したい設定データの項目と値をクラウドサーバ50に送信すると、クラウドサーバ50が変更要求された項目と依存関係にある項目を特定して、適切なインポートデータを生成する。これにより、変更したい項目と依存関係のある他の項目があっても、適切なインポートデータを生成できるため、一部の項目の変更に際しエクスポートされた設定データの全てをインポートする必要がなくインポートに要する時間を短縮できる。
以下、本発明を実施する形態の一例として電子機器及び電子機器が行うデータ処理方法について図面を参照しながら説明する。
<クラウドサーバ50の概略的動作>
図13は、本実施例のクラウドサーバ50の概略的な動作を説明する図の一例である。クラウドサーバ50は後述する設定データ管理テーブル71を管理している。設定データ管理テーブル71には、設定データの項目ごとに有効条件が設定されている。この有効条件が依存関係を示す。有効条件に項目IDが設定されている項目は、この項目IDの項目が有効条件で示す値でなければならない。図13で項目IDが「001」の項目の有効条件は「000:1」となっている。「000」は項目ID、「1」はこの項目の適正値である。つまり、項目IDが「000」の項目の値が「1」でなければならないことを示している。クラウドサーバ50は設定データ管理テーブル71を用いて以下のように処理する。
(1)ユーザPC60はクラウドサーバ50に項目IDとその値を含む設定変更要求を送信する。ここでは項目IDが「001」の項目の設定変更要求が送信されたものとする。
(2)クラウドサーバ50は、項目IDが「001」の項目の有効条件を参照する。すると、有効条件は「000:1」であることが分かる。
(3)クラウドサーバ50は項目IDが「000」の項目の値を「1」とするインポートデータを生成する。
つまり、ユーザが設定変更を要求した項目に有効条件が設定されている場合、クラウドサーバ50は、設定変更が要求された項目だけでなく、有効条件が指定する項目の設定データを作成しこれらをインポートデータとする。このように有効条件を使って、設定変更の対象でない項目のインポートデータを生成するので、クラウドサーバ50は、設定変更の対象の項目と依存関係がある他の項目との整合性を取ることができる。
<システム構成例>
図14は、本実施例のデータ設定システム100の概略構成図の一例を示す。本実施例において、図3において同一の符号を付した構成要素は同様の機能を果たすので、主に本実施例の主要な構成要素についてのみ説明する場合がある。
図14ではネットワークNにユーザPC60が接続されている。ユーザPC60は主にカスタマーエンジニアCEが操作する端末装置である。具体的には、例えばPC(Personal Computer)、スマートフォン、タブレット端末、PDAなどである。この他、情報処理装置としての機能を有する複合機、プロジェクタ、テレビ会議端末などでもよい。
その他の構成は図3と同様であるが、本実施例では電子機器30Bがインポートデータのインポート先となる。すなわち、実施例1で電子機器30Aがエクスポートした設定データ(エクスポートデータ)をクラウドサーバ50が保持している。カスタマーエンジニアCEはユーザPC60を操作して設定データの任意の項目を変更する場合がある。この時、エクスポートデータをダウンロードする必要はない。ユーザPC60は設定変更要求をクラウドサーバ50に送信する。これによりクラウドサーバ50はエクスポートデータの一部を変更してインポートデータを生成する。
また、実施例1にて説明した内部用設定データ入替アプリ14と同等の機能を電子機器30Bが予め有している。これは、電子機器30Bは引っ越し先の電子機器なので、設定データを取得したり書き込んだりする内部アプリを出荷時に搭載できるためである。ただし、電子機器30Bがすでに出荷済の古い機種の場合もあり、その場合は、電子機器30Bが内部用設定データ入替アプリ14を実行してインポートデータを電子機器30Bにインポートする。従って、旧機種の電子機器30Aから新機種の電子機器30Bに設定データが引っ越される場合は、旧機種の電子機器30Aが内部用設定データ入替アプリ14を実行し新機種の電子機器30Bが内部アプリを実行する。旧機種の電子機器30Aから旧機種の電子機器30Bに設定データが引っ越される場合は、旧機種の電子機器30Aが内部用設定データ入替アプリ14を実行し旧機種の電子機器30Bも内部用設定データ入替アプリ14を実行する。
<クラウドサーバの機能>
図15は、ユーザPC60、クラウドサーバ50及び電子機器30Bの機能をブロック状に示す機能ブロック図の一例である。なお、ユーザPC60のハードウェア構成はクラウドサーバ50と同様であるか、又は異なっていても本実施例の説明上、支障がないものとする。
<<電子機器>>
電子機器30Bは、データ送受信部41、インポート実行部42、及び設定データ記憶部15を有する。このうち設定データ記憶部15は実施例1の図6と同じものである。これら各機能部は、図4に示された各構成要素のいずれかが、HDD408からRAM402bに展開されたプログラム408p(アプリ)に従ったCPU401からの命令により動作することで実現される機能又は手段である。
データ送受信部41は、主に、クラウドサーバ50からインポートデータを受信する。データ送受信部41は、設定データをクラウドサーバ50に送信する(エクスポート)機能を有していてよい。
インポート実行部42は、インポートデータとして受信された設定データの値を、クラウドサーバ50からインポートする。インポート実行部42は、実施例1の内部用設定データ入替アプリ14と同等の機能の内部アプリにより実現される機能である。インポート実行部42は、項目IDと値を取得すると、設定データ管理部A,Bを呼び出して項目IDで特定される設定データに値を設定させる。
<<ユーザPC60>>
ユーザPC60は送受信部61、操作受付部62及び画面表示部63を有している。ユーザPC60が有するこれらの機能は、図5に示したCPU201がHDD209に記憶されたプログラム209pを実行することで実現される機能又は手段である。ユーザPC60が実行するプログラム209pにはクラウドサーバ50から送信される画面情報が含まれる。画面情報は、HTML、スクリプト言語、及びCSS(cascading style sheet)で記述されたプログラムであり、主にHTMLによりWebページの構造が特定され、スクリプト言語によりWebページの動作が規定され、CSSによりWebページのスタイルが特定される。
ユーザPC60が画面情報を実行することでWebアプリが実現される。Webアプリの定義は定かでないが、例えば、クラウドサーバ50がユーザの要求に応じてWebページを動的に構築することを指したり、スクリプト言語でWebページが動作することを指したりする。
送受信部61は、図5のCPU201がプログラム209pを実行してネットワーク・ドライバ205を制御すること等により実現され、クラウドサーバ50と各種のデータを送受信する。
操作受付部62は、図5のCPU201がプログラム209pを実行して入力装置210を制御すること等により実現され、ユーザPC60に対する各種の操作を受け付ける。
画面表示部63は、図5のCPU201がプログラム209pを実行してグラフィックス・ドライバ204を制御すること等により実現され、LCD206に各種の画面を表示する。
<<クラウドサーバ50>>
クラウドサーバ50はユーザPC60からのリクエスト処理を受け付けたり、インポートする電子機器30Bに適合するように設定データの編集を受け付けたりする。
クラウドサーバ50は、データ入出力部51、機器設定データ管理部52、インポートデータ生成部53、設定データ管理テーブル保管部57、インポートデータ保管部56、及び、エクスポートデータ保管部55を有する。クラウドサーバ50が有するこれらの機能は、図5に示したCPU201がHDD209に記憶されたプログラム209pを実行することで実現される機能又は手段である。
エクスポートデータ保管部55は、図5のHDD209等に構築されるデータベース又は記憶手段であり、電子機器30を識別する機器IDに対応付けてエクスポートデータを保管する。
インポートデータ保管部56は、図5のHDD209等に構築されるデータベース又は記憶手段であり、電子機器30Bにインポートされるインポートデータを機器IDに対応付けて保管する。初期状態のインポートデータはエクスポートデータがコピーされることで生成され、インポートデータ生成部53により項目ごとに変更される。
設定データ管理テーブル保管部57は、図5のHDD209等に構築されるデータベース又は記憶手段であり、表3に示す設定データ管理テーブル71を記憶する。
機器設定データ管理部52は、図5のCPU201がプログラム209pを実行すること等により実現され、ユーザPC60に対しWebサーバとして機能する。ユーザPC60から設定変更要求を受信すると、インポートデータ生成部53にインポートデータの生成を要求する。
データ入出力部51は、図5のCPU201がプログラム209pを実行してネットワーク・ドライバ205を制御すること等により実現され、電子機器30Aからエクスポートデータを受信し、また、電子機器30Bにインポートデータを送信する。
インポートデータ生成部53は、図5のCPU201がプログラム209pを実行すること等により実現される。まず、インポートデータ生成部53は判断部54を有する。判断部54は、設定データ管理テーブル71を参照して、変更要求された項目が変更可能か否か、またその項目と依存関係の項目があるか否かを判断する。インポートデータ生成部53は判断部54の判断結果に応じて、インポートデータを生成する。依存関係がない場合は、設定変更要求の項目のインポートデータを生成し、依存関係がある場合は、更に、有効条件に従ってインポートデータを生成する。インポートデータ生成部53は生成したインポートデータをインポートデータ保管部56に保管する。また、インポートデータを生成した際は、項目IDを取得して機器設定データ管理部52に通知する。この通知はユーザPC60に送信され、ユーザは依存関係にある項目が生成されたことを把握できる。
<設定データ管理テーブル>
表3に設定データ管理テーブル71の一例を示す。
Figure 2021016183
設定データ管理テーブル71は、管理モジュール、分類、項目名、項目ID、値の型、有効条件、最大値、最小値、値、選択肢の各項目を有する。なお、設定データ管理テーブル71は、機種ごとに用意されている。
・管理モジュールは、電子機器30において項目を管理する設定データ管理部である。
・分類は、項目がどのような機能で使用されるかを示す。
・項目名は、ユーザが項目の内容を把握するための項目の名称である。
・項目IDは項目を特定するための情報である。
・値の型は、項目のデータ種類(数値、文字、記号など)を示す。
・有効条件は、項目に依存関係がある場合の依存内容を示す(詳細は図13にて説明した)。
・最大値と最小値は項目の値が取り得る上限値と下限値である。
・値は項目が取り得る値である(最大値、最小値で規定されない場合)。
・選択肢は値が対応する内容である。
クラウドサーバ50は、ユーザPC60から送信された設定変更要求が適切かどうかを、設定データ管理テーブル71の値の型、最大値、最小値、及び値と比較して判断できる。また、有効条件により依存関係があるかどうか、及び、依存関係がある項目の値(インポートデータ)を生成できる。
<ユーザPC60の画面例>
図16は、ユーザPC60のLCD206に表示される設定画面460の一例を示す。カスタマーエンジニアCEは、エクスポートデータの一部を変更したい場合、設定画面460を表示させる。この設定画面460はクラウドサーバ50が送信する画面情報により生成される。
設定画面460は、モデル名選択欄461、移行先欄462、及びカスタマー名欄463を有する。モデル名選択欄461は、インポートデータをインポートする電子機器30Bのモデル名をカスタマーエンジニアCEが選択するための欄である。移行先欄462は電子機器30Bが存在する国や地域である。カスタマー名欄463は電子機器30Bの顧客名をカスタマーエンジニアCEが入力するための欄である。
図17は、設定データ変更画面470の一例を示す。設定データ変更画面470には、いくつかのタブ471、各タブごとに設定可能な項目472が表示される。設定データ変更画面470は、カスタマーエンジニアCEにより選択された機種で設定可能な値を表示されるので、カスタマーエンジニアCEは変更したい項目の値を変更する。すなわち、エクスポートデータをユーザPC60がダウンロードする必要がない。カスタマーエンジニアCEが送信ボタン等を押下すると設定変更要求がクラウドサーバ50に送信される。
<クラウドサーバの動作手順>
図18は、クラウドサーバ50が変更を要求されている項目に依存関係のある項目があるかどうかを判断し、インポートデータを生成する手順を示すフローチャート図の一例である。図18の処理は、クラウドサーバ50が設定変更要求を受信するとスタートする。
機器設定データ管理部52は設定変更要求を受信し、インポートデータ生成部53にインポートデータ生成要求を送出する(S10)。
インポートデータ生成部53の判断部54は、設定変更要求に含まれる全ての項目について、変更予定の機種で設定できる項目であるか、設定できる値であるかなど、適正であるかを判断する(S20)。変更予定の機種で設定できる項目であるかどうかは、変更予定の機種のために用意されている設定データ管理テーブル71を参照し、設定変更要求に含まれる項目IDがあるかどうかにより判断できる。設定できる値であるかどうかは、変更予定の機種のために用意されている設定データ管理テーブル71の値の型、最大値、最小値、及び値と、設定変更要求に含まれる各項目の値を比較することで判断できる。すなわち、設定変更要求の項目の値の型が設定データ管理テーブル71に設定されている値の型と一致するか、設定変更要求の項目の値が設定データ管理テーブル71の最大値と最小値の範囲に入っているか、設定変更要求の項目の値が設定データ管理テーブル71の値と一致するか、を判断する。
ステップS20の判断がNoの場合、インポートデータ生成部53はエラー情報を生成して、インポートデータの生成を終了する(S30)。エラー情報は例えば、項目IDとエラー要因であり、ユーザPC60に送信される。
ステップS20の判断がYesの場合、判断部54は設定変更要求の項目に有効条件が設定されているか否かを判断する(S40)。
ステップS40の判断がYesの場合、インポートデータ生成部53は、設定変更要求に含まれる項目と値のインポートデータに加え、有効条件に設定されている項目と有効条件に設定されている適正値のインポートデータを生成する(S50)。
ステップS40の判断がNoの場合、インポートデータ生成部53は、設定変更要求に含まれる項目と値のインポートデータのみを生成する(S60)。
<インポートデータの生成例>
有効条件に基づいたインポートデータの生成例を説明する。例えば、表3の設定データ管理テーブル71では、項目IDが「005」の項目である「初期設定(FAX)>受信設定>特定相手先1:相手先別受信文書印刷部数:部数」の有効条件は、「004:2」となっている。カスタマーエンジニアがこの項目を変更するには、項目IDが「004」(初期設定(FAX)>受信設定>特定相手先1:相手先別受信文書印刷部数:設定)の設定値が2(部数指定する)になっていなければ、整合性がとれない。このため、インポートデータ生成部53は、項目IDが「005」の項目の設定変更要求に対し、項目IDが「005」の設定変更要求で指定された値のインポートデータと、項目IDが「004」で値が「2」のインポートデータもセットで(組で)生成する。
こうすることで、カスタマーエンジニアCEが設定変更要求した一部の項目に対し、インポートデータの依存関係を維持できる。
<設定変更要求の設定データと生成されるインポートデータ>
図19,図20を用いて、設定変更要求に含まれる項目と生成されるインポートデータについて説明する。図19は、設定変更要求について説明する図である。図19では、項目IDが「001」で値が「24」、項目IDが「005」で値が「2」の設定変更要求が示されている。
項目IDが「001」で値が「24」の設定変更要求について説明する。表3の設定データ管理テーブル71を参照すると、項目IDが「001」の有効条件は「000:1」である。このため、インポートデータ生成部53は、項目IDが「001」で値が「24」のインポートデータと、項目IDが「000」で値が「1」のインポートデータを生成する。
図20はインポートデータ生成部53が生成したインポートデータについて説明する図である。図20の1行目と行目に、項目IDが「001」「000」の2つのインポートデータが作成されている。
図19に戻って、項目IDが「005」で値が「2」の設定変更要求について説明する。表3の設定データ管理テーブル71を参照すると、項目IDが「005」の有効条件は「004:2」である。このため、インポートデータ生成部53は、項目IDが「005」で値が「2」のインポートデータと、項目IDが「004」で値が「2」のインポートデータを生成する。
図20の3行目と4行目に示すように、項目IDが「004」「005」の2つのインポートデータが作成されている。
<まとめ>
以上のように、本実施例のデータ設定システム100は、ユーザが設定変更を要求した項目に有効条件が設定されている場合、有効条件が指示する別の項目の設定データを作成しこれをインポートデータとするので、設定変更の対象の項目に依存関係があっても他の項目との整合性を取ることができる。また、一部の項目の変更に対しエクスポートデータの全体をユーザPC60がダウンロードする必要がないので、設定データのインポートに要する時間を低減できる。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、本実施形態では内部用設定データ入替アプリ14のインストールにより電子機器30の設定データのエクスポートとインポートについて説明したが、エクスポート又はインポートされるデータは設定データに限られない。電子機器30に記憶されているデータであればエクスポート又はインポートすることが可能である。
また、本実施形態では内部用設定データ入替アプリ14は設定データ管理部A,Bと通信しなければ設定データを取得できないが、内部用設定データ入替アプリ14が単体で設定データを取得してもよい。
また、データのエクスポート又はインポートに限らず、可搬型記憶媒体9に記憶されたアプリが電子機器30に新たな機能を提供するためにインストールされてもよい。例えば、電子機器30を制御するアプリが電子機器30にインストールされている状態で、このアプリのUIを提供するアプリが可搬型記憶媒体9により提供される。例えばユーザ権限に応じて種々のアプリ(UI)が用意されれば、ユーザによって使用できる機能を制限できる。
また、図6,15などの構成例は、電子機器30,クラウドサーバ50、及びユーザPC60による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。電子機器30,クラウドサーバ50、及びユーザPC60の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
なお、アプリ管理部11はプログラム実行手段の一例であり、アプリ通信部12は通信手段の一例であり、アプリ管理テーブル13はプログラム登録情報の一例であり、設定データ管理部A,Bは第一のプログラムの一例であり、内部用設定データ入替アプリは第二のプログラムの一例であり、SDK用設定データ入替アプリ33は第三のプログラムの一例であり、SDKアプリ用IF32はインタフェースの一例である。通信部21は設定データ送信手段の一例である。
データ入出力部51は第一の受信手段の一例であり、機器設定データ管理部52は第二の受信手段の一例であり、判断部54は判断手段の一例であり、インポートデータ生成部53はデータ生成手段の一例である。設定データ管理テーブルは依存関係情報の一例であり、工程プログラムは工程アプリの一例である。
9 可搬型記憶媒体
11 アプリ管理部
12 アプリ通信部
13 アプリ管理テーブル
14 内部用設定データ入替アプリ
15 設定データ記憶部
22 内部用設定データ入替部
30 電子機器
33 SDK用設定データ入替アプリ
50 クラウドサーバ
53 インポートデータ生成部
54 判断部
60 ユーザPC
71 設定データ管理テーブル
100 データ設定システム
特開2012-252457号公報

Claims (7)

  1. 第一の画像形成装置から受信した前記第一の画像形成装置に設定されている設定データを、インポートデータとして第二の画像形成装置に送信する情報処理装置であって、
    前記設定データを前記第一の画像形成装置から受信する第一の受信手段と、
    ネットワークを介して接続された端末装置から前記設定データの各項目の変更要求を受信する第二の受信手段と、
    前記設定データの項目ごとに該項目と依存関係のある項目が設定された依存関係情報を参照し、前記変更要求の項目と依存関係がある項目があるか否かを判断する判断手段と、
    前記判断手段の判断結果に応じて、インポートデータを生成するデータ生成手段と、
    を有する情報処理装置。
  2. 前記判断手段が、前記変更要求の項目と依存関係がある項目があると判断した場合、
    前記データ生成手段は、前記変更要求の項目のインポートデータ、及び、前記変更要求の項目と依存関係がある項目のインポートデータを生成する請求項1に記載の情報処理装置。
  3. 前記判断手段が、前記変更要求の項目と依存関係がある項目がないと判断した場合、
    前記データ生成手段は、前記変更要求の項目のインポートデータのみを生成する請求項1又は2に記載の情報処理装置。
  4. 前記依存関係情報には、前記設定データの項目ごとに該項目と依存関係のある項目の適正値が設定されており、
    前記判断手段が、前記変更要求の項目と依存関係がある項目があると判断した場合、
    前記データ生成手段は、前記変更要求の項目と依存関係がある項目に前記適正値を対応付けてインポートデータを生成する請求項1〜3のいずれか1項に記載の情報処理装置。
  5. 前記依存関係情報には、前記設定データの項目ごとに該項目が取るべき適正な値が設定されており、
    前記判断手段は、前記変更要求と共に送信された項目の値が前記取るべき値に対し適正であるか否かを判断し、
    適正でない場合、前記データ生成手段はインポートデータを生成しない請求項1〜4のいずれか1項に記載の情報処理装置。
  6. 第一の画像形成装置から受信した前記第一の画像形成装置に設定されている設定データを、インポートデータとして第二の画像形成装置に送信する情報処理装置が行うデータ処理方法であって、
    第一の受信手段が、前記設定データを前記第一の画像形成装置から受信するステップと、
    第二の受信手段が、ネットワークを介して接続された端末装置から前記設定データの各項目の変更要求を受信するステップと、
    判断手段が、前記設定データの項目ごとに該項目と依存関係のある項目が設定された依存関係情報を参照し、前記変更要求の項目と依存関係がある項目があるか否かを判断するステップと、
    データ生成手段が、前記判断手段の判断結果に応じて、インポートデータを生成するステップと、を有するデータ処理方法。
  7. 第一の画像形成装置から受信した前記第一の画像形成装置に設定されている設定データを、インポートデータとして第二の画像形成装置に送信する情報処理装置を、
    前記設定データを前記第一の画像形成装置から受信する第一の受信手段と、
    ネットワークを介して接続された端末装置から前記設定データの各項目の変更要求を受信する第二の受信手段と、
    前記設定データの項目ごとに該項目と依存関係のある項目が設定された依存関係情報を参照し、前記変更要求の項目と依存関係がある項目があるか否かを判断する判断手段と、
    前記判断手段の判断結果に応じて、インポートデータを生成するデータ生成手段、
    として機能させるためのプログラム。
JP2020180140A 2020-10-28 2020-10-28 情報処理装置、データ処理方法、プログラム Pending JP2021016183A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020180140A JP2021016183A (ja) 2020-10-28 2020-10-28 情報処理装置、データ処理方法、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020180140A JP2021016183A (ja) 2020-10-28 2020-10-28 情報処理装置、データ処理方法、プログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016251729A Division JP6787115B2 (ja) 2016-12-26 2016-12-26 画像形成装置、機能追加方法、プログラム、

Publications (1)

Publication Number Publication Date
JP2021016183A true JP2021016183A (ja) 2021-02-12

Family

ID=74531710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020180140A Pending JP2021016183A (ja) 2020-10-28 2020-10-28 情報処理装置、データ処理方法、プログラム

Country Status (1)

Country Link
JP (1) JP2021016183A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015177276A (ja) * 2014-03-14 2015-10-05 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
JP2016034084A (ja) * 2014-07-31 2016-03-10 キヤノン株式会社 管理装置、管理システム、管理装置の制御方法、管理システムの制御方法、及びプログラム
JP2016115000A (ja) * 2014-12-11 2016-06-23 キヤノン株式会社 画像処理装置、その制御方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015177276A (ja) * 2014-03-14 2015-10-05 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
JP2016034084A (ja) * 2014-07-31 2016-03-10 キヤノン株式会社 管理装置、管理システム、管理装置の制御方法、管理システムの制御方法、及びプログラム
JP2016115000A (ja) * 2014-12-11 2016-06-23 キヤノン株式会社 画像処理装置、その制御方法及びプログラム

Similar Documents

Publication Publication Date Title
JP6787115B2 (ja) 画像形成装置、機能追加方法、プログラム、
US9535662B2 (en) Data processing apparatus and data processing method
US20120069371A1 (en) Image information processing apparatus, image information processing system, and computer-readable storage medium for computer program
US10609509B2 (en) Information processing system, information processing apparatus, and information processing method for providing application information
JP6638183B2 (ja) 情報処理システム、情報処理装置、情報処理方法およびプログラム
US9710432B2 (en) System, information processing apparatus, and method of controlling display
US10686958B2 (en) Updating settings of a plurality of image forming apparatuses
JP6927276B2 (ja) 情報処理システム、情報処理装置、情報処理方法およびプログラム
JP5728896B2 (ja) 印刷システム及びプログラム
US20110292460A1 (en) Information processing system, information processing apparatus, control method thereof, and storage medium
JP2019139661A (ja) プリントシステム、ジョブリスト提供方法、プリントサーバ装置、管理サーバ装置及びプログラム
JP6303667B2 (ja) プログラム、情報処理装置および情報処理システム
JP6365247B2 (ja) 情報処理装置、情報処理システム、及び情報処理方法
US20180143794A1 (en) Information processing apparatus, information processing system, and information processing method
JP2020052553A (ja) 情報処理装置、印刷方法、およびプログラム
JP2016126604A (ja) 端末装置、プログラム、情報処理システム及び出力方法
JP2021016183A (ja) 情報処理装置、データ処理方法、プログラム
JP6252060B2 (ja) プログラム、情報処理装置及び画像処理システム
JP2010214725A (ja) 印刷装置及び印刷システムと、印刷装置の制御方法
JP2015222557A (ja) 情報処理装置、情報処理方法、プログラム及び情報処理システム
US20240272838A1 (en) Control method for information processing apparatus, non-transitory computer-readable storage medium, and information processing apparatus
JP6930579B2 (ja) 情報処理システム、情報処理装置、情報処理方法およびプログラム
JP6888661B2 (ja) 画像形成装置、ブラウザの制御方法およびプログラム
US20220303354A1 (en) Service providing system, information processing method, and recording medium
JP6852591B2 (ja) 入出力デバイス、プログラム及び情報処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201028

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211004

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211026