JP2014170515A - 機器、情報記録プログラム、及び情報記録方法 - Google Patents

機器、情報記録プログラム、及び情報記録方法 Download PDF

Info

Publication number
JP2014170515A
JP2014170515A JP2013199767A JP2013199767A JP2014170515A JP 2014170515 A JP2014170515 A JP 2014170515A JP 2013199767 A JP2013199767 A JP 2013199767A JP 2013199767 A JP2013199767 A JP 2013199767A JP 2014170515 A JP2014170515 A JP 2014170515A
Authority
JP
Japan
Prior art keywords
file
application
program
identification information
sdk
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
JP2013199767A
Other languages
English (en)
Inventor
Ryoji Araki
涼二 荒木
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 JP2013199767A priority Critical patent/JP2014170515A/ja
Priority to EP14152322.5A priority patent/EP2765525B1/en
Priority to US14/164,393 priority patent/US9286048B2/en
Priority to CN201410043824.7A priority patent/CN103984903B/zh
Publication of JP2014170515A publication Critical patent/JP2014170515A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00344Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a management, maintenance, service or repair apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00838Preventing unauthorised reproduction
    • H04N1/0084Determining the necessity for prevention
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00838Preventing unauthorised reproduction
    • H04N1/00856Preventive measures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00838Preventing unauthorised reproduction
    • H04N1/00856Preventive measures
    • H04N1/00877Recording information, e.g. details of the job
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/44Secrecy systems
    • H04N1/448Rendering the image unintelligible, e.g. scrambling
    • H04N1/4486Rendering the image unintelligible, e.g. scrambling using digital data encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0037Topological details of the connection
    • H04N2201/0039Connection via a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3202Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of communication or activity log or report

Abstract

【課題】記憶装置の利用状況の把握を支援すること。
【解決手段】プログラムをインストール可能な機器であって、所定のインタフェースを介して前記プログラムより要求される、特定の第一の記憶手段の利用要求について、当該利用要求元の前記プログラムの識別情報を特定する特定部と、前記識別情報を、前記第一の記憶手段とは異なる第二の記憶手段に記録する記録手段を有する。
【選択図】図3

Description

本発明は、機器、情報記録プログラム、及び情報記録方法に関する。
従来、公開されたAPI(Application Program Interface)を備えたアプリケーションプラットフォーム(以下、単に「プラットフォーム」という。)をインストール可能な画像形成装置が提供されている(例えば、特許文献1)。当該プラットフォームがインストールされた画像形成装置には、前記APIを利用して作成されたアプリケーションプログラム(以下、単に「アプリケーション」という。)を、プラットフォーム上にインストールすることができる。
従来、プラットフォームは、SDカード等の挿抜可能な記録媒体(以下、「外部記録媒体」という。)に記録された状態で配布されていた。
他方において、プラットフォーム上にインストールされるアプリケーションの中には、処理の実行過程において発生した情報を、ファイル等に書き込むものが有る。このようなファイルの保存先としては、従来、画像形成装置が備えるHDD(Hard Disk Drive)、又はプラットフォーム若しくは当該アプリケーションの配布に利用された外部記録媒体等が用いられていた。HDDは、記憶容量も大きいため、情報の書き込み先としては好適であるが、画像形成装置が省電力状態に遷移した場合、HDDへの電力供給は停止されてしまう。そこで、特に、省電力状態でも動作するアプリケーションについては、外部記録媒体が、情報の保存先として利用されていた。すなわち、外部記録媒体は、プラットフォームやアプリケーションの配布媒体としての役割と、情報の保存先としての役割とを担っていた。
なお、プラットフォームの不正コピーの防止等を目的として、当該外部記録媒体が画像形成装置に挿入されている場合に限って、プラットフォームの起動が許可されていた。したがって、プラットフォームが動作している状態では、外部記録媒体が挿入されている状態は保証される。したがって、アプリケーションは、外部記録媒体の存在を前提とすることができ、情報の保存先として外部記録媒体を利用することができた。
しかしながら、プラットフォームを配布するための外部記録媒体の費用は、画像形成装置の販売者側によって負担されており、販売者にとって費用的に大きな負担となっていた。また、ユーザにとっては、外部記録媒体の保管等の作業的な負担が発生する。一般的な、プログラムの配布形態としては、インターネット上に配置された所定のサーバからのダウンロードが有る。しかし、画像形成装置をインターネット等に接続することに関して、抵抗を感じるユーザは多く、全てのユーザに対して、ダウンロードによってプラットフォーム等を配布するのは不可能である。
そこで、本願発明者は、画像形成装置に内蔵された記憶装置に、出荷前にプラットフォームを記憶させておくことを検討している。そうすることにより、外部記録媒体によるプラットフォームの配布や、インターネット等を介したプラットフォームの配布等を行わずとも、画像形成装置と共に、プラットフォームを配布することができる。また、画像形成装置に内蔵された記憶装置にプラットフォームが記憶されている場合、外部記録媒体に比べて、不正コピーが実行される可能性を低下させることができる。
但し、プラットフォームの配布に外部記録媒体が利用されない場合、プラットフォームの動作時に、外部記録媒体が画像形成装置に挿入されている状態が保証されなくなる。そうすると、アプリケーションに対して、情報の保存先として、画像形成装置に内蔵された記憶装置であって、かつ、省電力状態でも電力が供給される記憶装置を別途提供する必要が有る。
しかしながら、記憶装置には寿命が有る。外部記録媒体であれば、容易に交換可能であるが、画像形成装置に内蔵されている記憶装置は、他のハードウェアと共に一つのボードに搭載されている場合が有り、交換は容易ではない。また、内蔵されている記憶装置の寿命が短期間に尽きてしまっては、製品に対する信用を損ねてしまう可能性が有る。
記憶装置の寿命の長さは、書き込み回数に大きく依存する。そこで、記憶装置に対する書き込み頻度等に関してガイドラインを設け、当該ガイドラインを遵守してアプリケーションを開発して貰うことが考えられる。
しかし、例えば、当該ガイドラインの遵守をチェックできる機構が無ければ、当該ガイドラインの存在が有名無実なものとなってしまいかねない。このような問題は、記憶装置に対して書き込みを行うアプリケーションをインストール可能な各種の機器に共通のものであると考えられる。
本発明は、上記の点に鑑みてなされたものであって、記憶装置の利用状況の把握を支援することを目的とする。
そこで上記課題を解決するため、本発明は、プログラムをインストール可能な機器であって、所定のインタフェースを介して前記プログラムより要求される、特定の第一の記憶手段の利用要求について、当該利用要求元の前記プログラムの識別情報を特定する特定部と、前記識別情報を、前記第一の記憶手段とは異なる第二の記憶手段に記録する記録手段を有する。
記憶装置の利用状況の把握を支援すること。
本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。 本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。 NAND型フラッシュメモリへのアクセス状況のチェック機構に関する機能構成例を示す図である。 画像形成装置が実行する処理手順の一例を説明するためのシーケンス図である。 ログファイルに記録される情報の一例を説明するための図である。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図1において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、操作パネル15、ネットワークインタフェース16、及びSDカードスロット17等のハードウェアを有する。
コントローラ11は、CPU111、RAM112、ROM113、HDD114、NVRAM115、及びNAND(Not AND)型フラッシュメモリ116等が設置されたボードである。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記憶されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114やNAND型フラッシュメモリ116には、プログラムやプログラムが利用する各種のデータ等が記憶される。本実施の形態では、NAND型フラッシュメモリ116を用いているがNAND型ではないフラッシュメモリや、その他の不揮発性のメモリが用いられてもよい。NVRAM115には、例えば、ジョブの実行に応じて更新されるカウンタの値等が記憶される。
スキャナ12は、原稿より画像データを読み取るためのハードウェア(画像読取手段)である。プリンタ13は、印刷データを印刷用紙に印刷するためのハードウェア(印刷手段)である。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。操作パネル15は、ユーザからの入力の受け付けを行うためのボタン等の入力手段や、液晶パネル等の表示手段等を備えたハードウェアである。液晶パネルは、タッチパネル機能を有していてもよい。この場合、当該液晶パネルは、入力手段の機能をも兼ねる。ネットワークインタフェース16は、LAN等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。SDカードスロット17は、SDカード80に記憶されたプログラムを読み取るために利用される。なお、他の記録媒体(例えば、CD−ROM又はUSB(Universal Serial Bus)メモリ等)によってSDカード80が代替されてもよい。すなわち、SDカード80の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、SDカードスロット17は、記録媒体の種類に応じたハードウェアによって代替されればよい。
なお、本実施の形態において、画像形成装置10が省電力状態の場合、書き込み可能な不揮発性の記憶装置のうち、HDD114には電力は供給されないこととする。一方、NVRAM115、NAND型フラッシュメモリ116、及びSDカードスロット17(SDカード80)には、省電力状態であっても、電力は供給されることとする。但し、このような仕様は一例であり、他の仕様が適用されてもよい。また、省電力状態とは、一部のハードウェアへの電力供給が制限される状態をいう。省電力状態には、電力供給が制限されるハードウェアの数に応じて、複数の段階が設けられてもよい。
図2は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。図2において、画像形成装置10は、標準アプリ121、SDK(Software Development Kit)アプリ122、SDKプラットフォーム123、JVM124、コントロールサービス125、及びOS126等を有する。
標準アプリ121は、画像形成装置10に標準的に(出荷時に予め)実装されているアプリケーションプログラムの集合である。同図では、スキャンアプリ1211、印刷アプリ1212、コピーアプリ1213、及びFAXアプリ1214が例示されている。スキャンアプリ1211は、スキャナ12等を利用したスキャンジョブを実行する。印刷アプリ1212は、プリンタ13等を利用した印刷ジョブを実行する。コピーアプリ1213は、スキャナ12及びプリンタ13等を利用したコピージョブを実行する。FAXアプリ1214は、モデム14等を利用したFAXの送信ジョブ又は受信ジョブを実行する。なお、スキャナ12、プリンタ13、及びモデム14等は、画像形成装置10に固有のハードウェアの一例である。
コントロールサービス125は、各種のハードウェアリソース等を制御するための機能を、標準アプリ121やSDKプラットフォーム123等の上位のプログラムに対して提供するソフトウェアモジュール群である。コントロールサービス125は、例えば、ネットワーク通信に関する機能、スキャナ12の制御機能、プリンタ13の制御機能、メモリの管理機能等を有する。
SDKアプリ122は、画像形成装置10の出荷後において、画像形成装置10の機能拡張を図るために追加的にインストールされるアプリケーションプログラム(又はプラグインともいう。)である。同図では、SDKアプリ122の一例として、アプリA1221及びアプリB1222等が例示されている。アプリA1221及びアプリB1222は、単なる例示であり、本実施の形態において、その機能については特定のものに限定されない。
SDKプラットフォーム123は、SDKアプリ122を開発するためのAPIを備えると共に、SDKアプリ122の実行環境を提供する。APIの形態は、例えば、関数であってもよいし、オブジェクト指向のクラス及びクラスのメソッド等であってもよい。本実施の形態では、Java(登録商標)のクラス群によって、当該APIが提供されることとする。以下、SDKプラットフォーム123が提供するAPIを、「SDKAPI」という。例えば、SDKプラットフォーム123は、スキャン機能に関するSDKAPI、印刷機能に関するSDKAPI、コピー機能に関するSDKAPI等をSDKアプリ122に提供する。SDKAPIは公開されており、サードベンダ等によってもSDKアプリ122は開発されうる。
JVM124は、Java(登録商標)VM(Virtual Machine)である。本実施の形態において、SDKアプリ122は、Java(登録商標)のアプリケーションとして実装される。SDKアプリ122やSDKプラットフォーム123等は、JVM124が備える、Java(登録商標)標準のクラス群によって提供されるAPIを利用することもできる。
OS126は、いわゆるOS(Operating System)である。画像形成装置10上の各ソフトウェアは、OS126上においてプロセス又はスレッドとして動作する。
本実施の形態において、図2に示される各ソフトウェアのプログラムファイルは、画像形成装置10の出荷時において、NAND型フラッシュメモリ116に記憶されていることとする。但し、これらのソフトウェアの一部又は全部は、HDD114に記憶されていてもよい。また、出荷後にインストールされるSDKアプリ122は、SDカード80に記憶されていてもよい。
本実施の形態では、SDKアプリ122によるNAND型フラッシュメモリ116へのアクセス(特に、書き込み)に関して、ガイドラインが設けられている状況を想定する。例えば、当該ガイドラインでは、単位時間当たりの書き込み回数及び書き込みサイズに対して上限値が規定されている。SDKアプリ122の開発者は、NAND型フラッシュメモリ116へのアクセスが、当該上限値の範囲内に収まるようにSDKアプリ122を実装することが求められる。
一方、本実施の形態の画像形成装置10は、各SDKアプリ122が、上記ガイドラインを遵守して実装されているか否かのチェックを支援するための機構を有する。
図3は、NAND型フラッシュメモリへのアクセス状況のチェック機構に関する機能構成例を示す図である。図3に示されているプログラム群は、J層及びN層に分類されている。J層は、Java(登録商標)によって実装され、Java(登録商標)バイトコード等、JVM124上で動作可能な状態に変換されている層である。N層は、例えば、C言語やC++等によって実装され、ネイティブコードに変換されている層である。
図3において、JVM124は、ファイルクラス群1241を含む。ファイルクラス群1241は、Java(登録商標)標準のクラス群のうち、ファイル操作(ファイルへのアクセス)に関するクラス群である。ファイル操作の一例として、ファイルのオープン、クローズ、書き込み、読み込み、フォルダ又はディレクトリの生成等が挙げられる。
JVM124には、ログライブラリ127がリンクされている。ログライブラリ127は、ファイル関数群1271及びJNI関数1272等を含む。ファイル関数群1271は、open関数、close関数、及びwrite関数や、フォルダ(ディレクトリ)の生成用の関数等、ファイルへの書き込みを発生させる、C言語による標準のファイル操作用の関数群である。但し、ログライブラリ127に含まれるファイル関数群1271は、ファイル操作に関するログ情報を引数として、JNI関数1272を呼び出すように改変されている。ファイル操作に関するオリジナルの関数群は、ログライブラリ127におけるファイル関数群1271によって置き換えられる。すなわち、ファイルクラス群1241による、ファイル操作に関する関数の呼び出しは、ファイル関数群1271にフックされるように構成されている。オリジナルの関数から改変された関数への呼び出し先の変更方法は、公知の方法に従えばよい。例えば、リンク方法を工夫することによって、関数の呼び出し先を変更することができる。
JNI関数1272は、JNI(Java(登録商標) Native Interface)の仕組みを利用して、N層におけるファイル関数群1271による呼び出しを、J層におけるログクラス1232に伝達するための関数である。
SDKプラットフォーム123は、SDKクラス群1231を含む。SDKクラス群1231は、SDKAPIを提供するJava(登録商標)のクラス群である。SDKクラス群1231の中には、ログクラス1232が含まれる。ログクラス1232は、ファイル操作に関するログ情報をHDD114に記録するクラスである。
図3において、SDKアプリ122からSDKクラス群1231へ伸びる矢印は、SDKアプリ122によるSDKAPIの呼び出しを示す。SDKアプリ122からファイルクラス群1241へ伸びる矢印は、SDKアプリ122によるファイルクラス群1241の呼び出しを示す。
SDKクラス群1231からファイルクラス群1241へ伸びる矢印は、SDKクラス群1231によるファイルクラス群1241の呼び出しを示す。例えば、画像データ等、何らかの情報を生成し、生成された情報をファイルに保存するSDKクラス群1231は、ファイルクラス群1241を利用して当該情報のファイルへの保存を実現する。なお、SDKクラス群1231によるファイルクラス群1241の呼び出しは、SDKアプリ122に対して隠蔽されている。すなわち、SDKアプリ122が明確にファイル操作を意識していない場合においても、ファイル操作が行われる可能性が有る。
ログクラス1232からファイルクラス群1241へ伸びる矢印は、ログクラス1232がログ情報を記録する際の、ファイルクラス群1241の呼び出しを示す。
ファイルクラス群1241からファイル関数群1271への矢印は、ファイルクラス群1241に対して要求されたファイル操作が、ファイル関数群1271に伝達されることを示す。ファイル関数群1271から、HDD114、NAND型フラッシュメモリ116、又はSDカード80へ伸びる矢印は、ファイル関数群1271による、ファイル操作のための各記憶装置へのアクセスを示す。但し、厳密には、各記憶装置へのアクセスは、更に、OS126及び非図示のドライバプログラムを介して行われる。また、アクセス先がいずれの記憶装置であるかは、操作対象のファイルのパス名によって区別される。
以下、画像形成装置10が実行する処理手順について説明する。図4は、画像形成装置が実行する処理手順の一例を説明するためのシーケンス図である。なお、図4の処理は、各プログラムが画像形成装置10に実行させる処理であるが、便宜上、各プログラムを実行主体として説明する。
ステップS101において、アプリA1221は、何らかのSDKAPIを呼び出す(S101)。すなわち、アプリA1221は、SDKプラットフォーム123に対して何らかの処理要求を行う。その結果、SDKクラス群1231のうち、当該SDKAPIに対応するクラスのメソッドが呼び出される。当該メソッド内の処理において、ファイル操作が必要となった場合、当該クラスは、ファイル関数群1271のうち、当該ファイル操作(例えば、オープン、書き込み、読み込み、クローズ、フォルダ生成等)に対応する関数を呼び出す(S103)。呼び出された関数を、以下、「対象関数」という。
対象関数は、当該対象関数に対応するファイル操作を実行する(S104)。その結果、HDD114、NAND型フラッシュメモリ116、又はSDカード80へのアクセスが行われる。なお、SDカード80は、必ずしもSDカードスロット17に挿入されていなくてもよい。
続いて、対象関数は、アクセス先の記憶装置が、NAND型フラッシュメモリ116であるか否かを判定する(S105)。アクセス先の記憶装置は、アクセス先のファイルのパス名に基づいて判定可能である。記憶装置ごとに、パス名の先頭部分が異なるからである。なお、パス名は、対象関数が、open関数であれば、引数に指定されている。open関数以外であれば、引数にファイル識別子が指定される。したがって、ファイル識別子に基づいてパス名が判定可能とされてもよい。具体的には、open関数内において、ファイル識別子とパス名との対応情報を、例えば、RAM112に記憶しておく。open関数以外の関数は、当該対応情報に基づいて、引数に指定されたファイル識別子に対応するパス名を特定することができる。
アクセス先がNAND型フラッシュメモリ116ある場合、ステップS106以降が実行される。ステップS106において、対象関数は、実行したファイル操作を示すログ情報を指定して、JNI関数1272を呼び出す(S106)。ログ情報には、例えば、スレッド名、パス名、サイズ、操作種別名、及び日時情報等の項目に対する値が含まれる。
スレッド名は、現在の処理が属するスレッドのスレッド名である。パス名は、操作対象のファイルのパス名である。サイズは、操作対象のファイルへの書き込みサイズである。したがって、サイズの項目は、対象関数が、write関数である場合に有効である。対象関数が、write関数以外である場合、サイズの値は0とされてもよい。操作種別名は、ファイル操作の種別の識別名である。操作種別名は、例えば、対象関数の関数名でもよい。日時情報は、現在日時を示す文字列等である。なお、スレッド名及び日時情報は、例えば、OS126に問い合わせることにより取得することができる。
続いて、JNI関数1272は、ログ情報を指定して、ログクラス1232の所定のメソッドを呼び出す(S107)。続いて、ログクラス1232は、ファイルの操作要求元のSDKアプリ122の識別情報(以下、「アプリID」という。)を特定する(S108)。アプリIDの特定方法の一例については、後述される。ここでは、アプリA1221のアプリIDが得られる。続いて、ログクラス1232は、得られたアプリIDを、ログ情報に付加する(S109)。続いて、ログクラス1232は、ログファイルへのログ情報の書き込みを、ファイルクラス群1241に要求する(S110)。ファイルクラス群1241は、ログ情報の書き込みを、ファイル関数群1271に要求する(S111)。なお、ステップS110及びS111は、ログファイルのオープン、書き込み、及びクローズといったように、一つのログ情報に関して複数回実行される。続いて、ファイル関数群1271は、ログ情報を、HDD114におけるログファイルに書き込む(S112)。
図5は、ログファイルに記録される情報の一例を説明するための図である。図5における1行は、1つのログ情報に対応する。図5に示されるように、ログファイルには、ログ情報ごとに、アプリID、スレッド名、パス名、サイズ、操作種別名、及び日時情報等が記録される。
続いて、ファイル関数群1271は、ステップS105と同様に、アクセス先の記憶装置が、NAND型フラッシュメモリ116であるか否かを判定する(S113)。ログファイルは、HDD114に保存されているため、アクセス先の記憶装置は、NAND型フラッシュメモリ116ではない。したがって、ログ情報の書き込みの場合、ステップS106以降と同様の処理は実行されない。
なお、図4では、SDKクラス群1231を介してファイルクラス群1241が呼び出される形態について説明したが、アプリA1221等のSDKアプリ122が、ファイルクラス群1241を直接呼び出してもよい。この場合に実行される処理手順は、図4のステップS103以降と同様である。
また、ステップS110は、ステップS107と同期的に実行されなくてもよい。例えば、ログクラス1232は、所定回数分又は所定量のログ情報を、RAM112等にキャッシュしておいてもよい。キャッシュされているログ情報が、所定回数分又は所定量に達したタイミングで、ステップS110以降が実行されてもよい。また、ログクラス1232は、画像形成装置10が省電力状態の場合には、所定回数分又は所定量とは関係なく、ログ情報のキャッシュを行ってもよい。省電力状態の場合、ログ情報の記録先であるHDD114への書き込みは出来ないからである。
続いて、ステップS108における、アプリIDの特定方法について説明する。
SDKアプリ122は、Java(登録商標)アプリケーションである。したがって、例えば、Java(登録商標)の標準クラスであるスレッドグループ(ThreadGroup)を用いて、各SDKアプリ122を識別することができる。スレッドグループとは、スレッド(Thread)やスレッドグループの集合であり、一つ以上のThreadをTreadGroupに関連付けることができる。また、スレッドグループには、名前(スレッドグループ名)を付加することができる。そして、J層内においては、スレッド名に基づいて、当該スレッド名に係るスレッドが属するスレッドグループのスレッドグループ名を取得することができる。
SDKプラットフォーム123は、1つのSDKアプリ122に1つのスレッドグループを割り当て、各スレッドグループには、当該スレッドグループが対応するSDKアプリ122のアプリIDをスレッドグループ名として設定する。そうすることにより、J層に属するログクラス1232は、ログ情報に含まれているスレッド名に基づいて、スレッドグループ名、すなわち、アプリIDを取得することができる。
すなわち、ログ情報の書き込みは、技術的には、ファイル関数群1271が行うことも可能である。この場合、JNI関数1272やログクラス1232は不要となる。しかし、ファイル関数群1271は、N層に属するため、スレッド名に基づいてスレッドグループ名を取得することはできない。そこで、本実施の形態では、N層まで下りてきたファイルの操作要求に関して、J層におけるログクラス1232で、ログ情報を書き込むように構成されているのである。
但し、アプリIDは、異なる方法で特定されてもよい。例えば、HDD114、NAND型フラッシュメモリ116、及びSDカード80等に関して、SDKアプリ122ごとに、作業領域が区切られてもよい。具体的には、SDKアプリ122ごとのフォルダ又はディレクトリが生成され、各SDKアプリ122は、当該SDKアプリ122に対応するフォルダ又はディレクトリ以下に情報を書き込むことができるようにしてもよい。
この場合、ファイル関数群1271は、操作対象のファイルのパス名に基づいて、アプリID等、各SDKアプリ122の識別情報を特定することができる。すなわち、各パス名には、SDKアプリ122を区別するためのフォルダ名又はディレクトリ名が含まれているはずである。当該フォルダ名又はディレクトリ名は、SDKアプリ122ごとに異なる値となるため、当該フォルダ名又はディレクトリ名に基づいて、各SDKアプリ122の識別情報を特定することができる。当該フォルダ名又はディレクトリ名は、各SDKアプリ122のアプリIDであってもよい。
ファイル関数群1271によってアプリIDを特定可能な場合は、ファイル関数群1271がログ情報をログファイルに書き込んでもよい。または、JNI関数1272を介して、ログクラス1232が呼び出されてもよい。
上述したように、本実施の形態によれば、各SDKアプリ122を識別可能な状態で、NAND型フラッシュメモリ116に対する操作ごとに、ログ情報が記録される。したがって、各SDKアプリ122による、NAND型フラッシュメモリ116の利用状況の把握を支援することができる。例えば、SDKアプリ122の開発者は、SDKアプリ122のテスト時等において、ログファイルを確認することにより、当該SDKアプリ122によるNAND型フラッシュメモリ116の利用状況が、ガイドラインに則しているか否か等を確認することができる。
また、仮に、NAND型フラッシュメモリ116に関して障害が発生した場合、ログファイルを確認することにより、当該障害の原因となったSDKアプリ122を特定できる可能性を高めることができる。
また、本実施の形態は、SDKアプリ122に対するインタフェースに関して変更は必要とされない。したがって、本実施の形態は、SDKアプリ122の実装を変更することなく実施することができる。
なお、ログ情報の記録先は、画像形成装置10が備える記憶装置でなくてもよい。例えば、画像形成装置10にネットワークを介して接続される記憶装置が、ログ情報の記録先とされてもよい。
また、本実施の形態では、画像形成装置10以外であって、アプリケーションをインストール可能な各種の機器に適用されてもよい。斯かる機器には、プロジェクタ、デジタルカメラ、テレビ会議システム等が含まれてもよい。
なお、本実施の形態において、ファイルの操作要求は、記憶手段の利用要求の一例である。また、JVM124のファイルクラス群1241が有するAPIや、SDKAPIは、所定のインタフェースの一例である。また、NAND型フラッシュメモリ116は、第一の記憶手段の一例である。また、HDD114は、第二の記憶手段の一例である。また、RAM112は、第三の記憶手段の一例である。また、ログクラス1232又はファイル関数群1271は、特定部の一例である。ログクラス1232は、記録手段の一例である。
また、本実施の形態では、公開されたAPIを用いて開発されたアプリケーションが機器に処理を実行させる形態の一例として、SDKという提供形態を用いて説明したが、本発明は斯かる特定の提供形態に限定されるものではない。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 画像形成装置
11 コントローラ
12 スキャナ
13 プリンタ
14 モデム
15 操作パネル
16 ネットワークインタフェース
17 SDカードスロット
80 SDカード
111 CPU
112 RAM
113 ROM
114 HDD
115 NVRAM
116 NAND型フラッシュメモリ
121 標準アプリ
122 SDKアプリ
123 SDKプラットフォーム
124 JVM
125 コントロールサービス
126 OS
127 ログライブラリ
1211 スキャンアプリ
1212 印刷アプリ
1213 コピーアプリ
1214 FAXアプリ
1221 アプリA
1222 アプリB
1231 SDKクラス群
1232 ログクラス
1241 ファイルクラス群
1271 ファイル関数群
1272 JNI関数
特開2006−079211号公報 特開2009−290464号公報

Claims (8)

  1. プログラムをインストール可能な機器であって、
    所定のインタフェースを介して前記プログラムより要求される、特定の第一の記憶手段の利用要求について、当該利用要求元の前記プログラムの識別情報を特定する特定部と、
    前記識別情報を、前記第一の記憶手段とは異なる第二の記憶手段に記録する記録手段を有する機器。
  2. 前記識別情報は、記所定のインタフェースを介して呼び出しに応じて実行される処理のスレッドの名前、及びファイルのパス名のいずれかを含む請求項1記載の機器。
  3. 前記特定部は、前記所定のインタフェースを介して呼び出しに応じて実行される処理のスレッドが属するスレッドグループの名前に基づいて、前記識別情報を特定する請求項1又は2記載の機器。
  4. 前記特定部は、前記利用要求において操作対象として指定されたファイルのパス名に基づいて、前記識別情報を特定する請求項1又は2記載の機器。
  5. 前記記録手段は、当該機器が省電力状態の場合、第三の記憶手段に、前記識別情報に記録する請求項1乃至4いずれか一項記載の機器。
  6. 前記第二の記憶手段は、当該機器にネットワークを介して接続される請求項1乃至5いずれか一項記載の機器。
  7. プログラムをインストール可能な機器に、
    所定のインタフェースを介して前記プログラムより要求される、特定の第一の記憶手段の利用要求について、当該利用要求元の前記プログラムの識別情報を特定する特定手順と、
    前記識別情報を、前記第一の記憶手段とは異なる第二の記憶手段に記録する記録手順とを実行させる情報記録プログラム。
  8. プログラムをインストール可能な機器が、
    所定のインタフェースを介して前記プログラムより要求される、特定の第一の記憶手段の利用要求について、当該利用要求元の前記プログラムの識別情報を特定する特定手順と、
    前記識別情報を、前記第一の記憶手段とは異なる第二の記憶手段に記録する記録手順とを実行する情報記録方法。
JP2013199767A 2013-02-08 2013-09-26 機器、情報記録プログラム、及び情報記録方法 Pending JP2014170515A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013199767A JP2014170515A (ja) 2013-02-08 2013-09-26 機器、情報記録プログラム、及び情報記録方法
EP14152322.5A EP2765525B1 (en) 2013-02-08 2014-01-23 Apparatus, non-transitory computer readable information recording medium and information recording method
US14/164,393 US9286048B2 (en) 2013-02-08 2014-01-27 Apparatus, non-transitory computer readable information recording medium and information recording method that determine identification information for identifying a program that has issued a use request
CN201410043824.7A CN103984903B (zh) 2013-02-08 2014-01-29 装置和信息记录方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013023466 2013-02-08
JP2013023466 2013-02-08
JP2013199767A JP2014170515A (ja) 2013-02-08 2013-09-26 機器、情報記録プログラム、及び情報記録方法

Publications (1)

Publication Number Publication Date
JP2014170515A true JP2014170515A (ja) 2014-09-18

Family

ID=50028793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013199767A Pending JP2014170515A (ja) 2013-02-08 2013-09-26 機器、情報記録プログラム、及び情報記録方法

Country Status (4)

Country Link
US (1) US9286048B2 (ja)
EP (1) EP2765525B1 (ja)
JP (1) JP2014170515A (ja)
CN (1) CN103984903B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6390126B2 (ja) 2014-03-14 2018-09-19 株式会社リコー 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP2016130902A (ja) 2015-01-13 2016-07-21 株式会社リコー 機器、情報処理システム、情報処理方法、及び情報処理プログラム
JP6561501B2 (ja) 2015-03-10 2019-08-21 株式会社リコー 機器、認証システム、認証処理方法、認証処理プログラム、及び記憶媒体
JP6547357B2 (ja) 2015-03-20 2019-07-24 株式会社リコー 機器、認証システム、認証処理方法及び認証処理プログラム
JP2017107307A (ja) 2015-12-08 2017-06-15 株式会社リコー 機器、情報処理システム、情報処理方法、及びプログラム
JP6834234B2 (ja) 2016-08-10 2021-02-24 株式会社リコー 情報処理装置、情報処理方法、及びプログラム
JP6891563B2 (ja) 2017-03-16 2021-06-18 株式会社リコー 情報処理システム、機器、情報処理装置、情報処理方法及びプログラム
JP6965653B2 (ja) 2017-09-14 2021-11-10 株式会社リコー 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP2019096994A (ja) * 2017-11-21 2019-06-20 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP7077688B2 (ja) 2018-03-15 2022-05-31 株式会社リコー 情報処理システム、情報処理装置、情報処理方法及びプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01305446A (ja) * 1988-06-02 1989-12-08 Nec Corp プログラムデバッグ支援処理方式
JP2003099333A (ja) * 2001-09-21 2003-04-04 Ricoh Co Ltd フラッシュメモリ管理システム
JP2005215856A (ja) * 2004-01-28 2005-08-11 Ricoh Co Ltd 情報機器及び記録媒体
JP2009020863A (ja) * 2008-04-10 2009-01-29 Ricoh Co Ltd 画像形成装置、情報処理装置、障害解析支援方法、及び障害解析支援プログラム
JP2010198102A (ja) * 2009-02-23 2010-09-09 Fuji Xerox Co Ltd 情報処理装置、ファイル管理システムおよびプログラム
JP2012073682A (ja) * 2010-09-27 2012-04-12 Nec Corp 移行検査プログラム作成装置、移行検査プログラム作成方法および移行検査プログラム作成プログラム
JP2012100217A (ja) * 2010-11-05 2012-05-24 Canon Inc 画像形成装置及び履歴管理方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6718372B1 (en) * 2000-01-07 2004-04-06 Emc Corporation Methods and apparatus for providing access by a first computing system to data stored in a shared storage device managed by a second computing system
US7536598B2 (en) * 2001-11-19 2009-05-19 Vir2Us, Inc. Computer system capable of supporting a plurality of independent computing environments
JP2006079211A (ja) 2004-09-07 2006-03-23 Ricoh Co Ltd 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
US7725671B2 (en) * 2005-11-28 2010-05-25 Comm Vault Systems, Inc. System and method for providing redundant access to metadata over a network
WO2009032710A2 (en) * 2007-08-29 2009-03-12 Nirvanix, Inc. Filing system and method for data files stored in a distributed communications network
JP2009194862A (ja) 2008-02-18 2009-08-27 Ricoh Co Ltd 情報取得方法、画像形成装置、および画像形成システム
JP5072715B2 (ja) 2008-05-28 2012-11-14 株式会社リコー 履歴情報記録装置、履歴情報記録方法、プログラム、及び履歴情報記録システム
JP5199003B2 (ja) * 2008-09-25 2013-05-15 株式会社日立製作所 管理装置及び計算機システム
JP2010157124A (ja) * 2008-12-27 2010-07-15 Canon Inc データ格納装置、データ格納装置の制御方法、プログラム、及び、記録媒体
US8635184B2 (en) * 2009-06-25 2014-01-21 Emc Corporation System and method for providing long-term storage for data
US8458287B2 (en) * 2009-07-31 2013-06-04 Microsoft Corporation Erasure coded storage aggregation in data centers
US8327102B1 (en) * 2009-10-21 2012-12-04 Netapp, Inc. Method and system for non-disruptive migration
US8918661B2 (en) * 2010-05-11 2014-12-23 Hitachi, Ltd. Method and apparatus for assigning storage resources to a power saving target storage pool based on either access frequency or power consumption
JP5787132B2 (ja) 2011-02-16 2015-09-30 富士ゼロックス株式会社 画像処理装置およびプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01305446A (ja) * 1988-06-02 1989-12-08 Nec Corp プログラムデバッグ支援処理方式
JP2003099333A (ja) * 2001-09-21 2003-04-04 Ricoh Co Ltd フラッシュメモリ管理システム
JP2005215856A (ja) * 2004-01-28 2005-08-11 Ricoh Co Ltd 情報機器及び記録媒体
JP2009020863A (ja) * 2008-04-10 2009-01-29 Ricoh Co Ltd 画像形成装置、情報処理装置、障害解析支援方法、及び障害解析支援プログラム
JP2010198102A (ja) * 2009-02-23 2010-09-09 Fuji Xerox Co Ltd 情報処理装置、ファイル管理システムおよびプログラム
JP2012073682A (ja) * 2010-09-27 2012-04-12 Nec Corp 移行検査プログラム作成装置、移行検査プログラム作成方法および移行検査プログラム作成プログラム
JP2012100217A (ja) * 2010-11-05 2012-05-24 Canon Inc 画像形成装置及び履歴管理方法

Also Published As

Publication number Publication date
US20140229931A1 (en) 2014-08-14
CN103984903B (zh) 2017-04-12
US9286048B2 (en) 2016-03-15
EP2765525B1 (en) 2017-01-11
EP2765525A1 (en) 2014-08-13
CN103984903A (zh) 2014-08-13

Similar Documents

Publication Publication Date Title
JP2014170515A (ja) 機器、情報記録プログラム、及び情報記録方法
JP2011076605A (ja) 仮想マシン・イメージの実行方法及びシステム
JP5699500B2 (ja) インストールプログラム、インストール方法、画像形成装置、及び記録媒体
JP6787115B2 (ja) 画像形成装置、機能追加方法、プログラム、
JP2010165128A (ja) 画像形成装置及び制御方法及びプログラム
US11140291B2 (en) Information processing apparatus, control method thereof, and storage medium
US9600751B2 (en) Image forming apparatus and control method thereof with a determination whether an application relates to a dynamic update for reflecting change of the network setting without rebooting the apparatus
CN109660688B (zh) 信息处理装置及其控制方法
JP6179200B2 (ja) 情報処理装置、機器、情報処理システム、情報処理方法、及び情報処理プログラム
JP2009037589A (ja) プログラム判定装置、プログラム判定方法及びプログラム
US10545704B2 (en) Image forming apparatus and control method to update an application in an image forming apparatus
JP5013999B2 (ja) 画像形成装置、プログラム制御方法、及び制御プログラム
US9571687B2 (en) Image forming apparatus and resource management method
US9940334B2 (en) Image forming apparatus and control method thereof
JP2015197845A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP4976329B2 (ja) 追加プログラムを実行可能な装置、障害解析支援方法、及び障害解析支援プログラム
JP2014167778A (ja) 電子機器、及びアプリケーション記憶プログラム
US20200092427A1 (en) Method for installing application by image formation device, and image formation device using same method
JP5798973B2 (ja) 処理状態が遷移する複数のプログラムを実行する装置及び方法
JP2013045222A (ja) 管理システム、管理方法およびコンピュータプログラム
JP2021189487A (ja) 管理装置およびその制御方法
JP2010218469A (ja) 情報処理装置、情報処理方法、プログラムおよび記録媒体
JP6191177B2 (ja) 情報処理装置、情報処理システム、情報処理方法、情報処理プログラム及び記録媒体
JP2021016183A (ja) 情報処理装置、データ処理方法、プログラム
JP5686154B2 (ja) 情報処理装置、プログラム制御方法、及び制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170831

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171219