JP5928498B2 - 情報機器、コンピュータープログラムおよびメモリ共有方法 - Google Patents

情報機器、コンピュータープログラムおよびメモリ共有方法 Download PDF

Info

Publication number
JP5928498B2
JP5928498B2 JP2014018640A JP2014018640A JP5928498B2 JP 5928498 B2 JP5928498 B2 JP 5928498B2 JP 2014018640 A JP2014018640 A JP 2014018640A JP 2014018640 A JP2014018640 A JP 2014018640A JP 5928498 B2 JP5928498 B2 JP 5928498B2
Authority
JP
Japan
Prior art keywords
size
memory area
processing means
processing
job
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.)
Active
Application number
JP2014018640A
Other languages
English (en)
Other versions
JP2015146518A (ja
Inventor
宗 及川
宗 及川
渥美 知之
知之 渥美
貴信 杉山
貴信 杉山
竜也 北口
竜也 北口
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.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2014018640A priority Critical patent/JP5928498B2/ja
Priority to CN201510053655.XA priority patent/CN104820617B/zh
Priority to US14/611,786 priority patent/US10255533B2/en
Publication of JP2015146518A publication Critical patent/JP2015146518A/ja
Application granted granted Critical
Publication of JP5928498B2 publication Critical patent/JP5928498B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/40Details not directly involved in printing, e.g. machine management, management of the arrangement as a whole or of its constitutive parts
    • G06K15/4005Sharing resources or data with other data processing systems; Preparing such data
    • G06K15/401Sharing memory space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1215Improving printing performance achieving increased printing speed, i.e. reducing the time between printing start and printing end
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1248Job translation or job parsing, e.g. page banding by printer language recognition, e.g. PDL, PCL, PDF
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters
    • G06F3/1298Printer language recognition, e.g. programme control language, page description language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1803Receiving particular commands
    • G06K15/1806Receiving job control commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1835Transforming generic data
    • G06K15/1836Rasterization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/1857Generation of the printable image characterized by its workflow involving parallel processing in the same printing 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/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
    • H04N1/32358Circuits 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 using picture signal storage, e.g. at transmitter
    • H04N1/32443Circuits 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 using picture signal storage, e.g. at transmitter with asynchronous operation of the image input and output devices connected to the memory
    • H04N1/32448Controlling data flow to or from the memory in relation to the available memory capacity
    • 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/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
    • H04N1/32561Circuits 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 using a programmed control device, e.g. a microprocessor
    • H04N1/32593Using a plurality of controllers, e.g. for controlling different interfaces
    • 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/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Facsimiles In General (AREA)
  • Record Information Processing For Printing (AREA)
  • Storing Facsimile Image Data (AREA)

Description

本発明は、メモリを使用して複数の処理を並行して行なう技術に関する。
複合型の情報機器であるMFP(Multi-functional Peripheral)がオフィスワークに利用されている。MFPは、ユーザーによって指定されるジョブに応じて、コピー機、プリンター、ネットワークスキャナー、ファクシミリ機、ドキュメントサーバーなどとして動作する。MFPには各種の動作を実現するファームウェアが組み込まれている。
MFPに内蔵されたプロセッサーは、ファームウェアのうちのジョブに応じたモジュールを実行する際にRAM(Random Access Memory)をワークエリア(作業領域)として使用する。プロセッサーが行なう様々な処理の中で特に大きなサイズのワークエリアを必要とするのは、RIP(Raster Image Processor)処理およびファイル変換処理である。
RIP処理は、MFPをプリンターとして動作させるプリントジョブにおいて、ページ記述言語で記述されたページ画像を印刷に適したラスター画像に変換する処理である。ファイル変換処理は、MFPを例えばドキュメントサーバーとして動作させるファイル送信ジョブにおいて、送信するファイルの形式をPDF(Portable Document Format)、コンパクトPDF、TIFF、JPEGといった複数の選択肢のいずれかに変換する処理である。
ファイル変換処理が必要とするワークエリアのサイズは、変換後のファイル形式によって異なる。例えばPDF形式に変換する場合と比べて、コンパクトPDF形式に変換する場合に必要なワークエリアのサイズは大きい。コンパクトPDFでは、ファイルサイズをより小さくする領域別の圧縮のために全ページのデータをいったん読み込むことから、PDFよりも大きなワークエリアを必要とする。
MFPでは印刷動作とファイル送信動作とが並行して行なわれることがある。例えば、プリントジョブの実行中にファイル送信ジョブが投入されると、印刷動作の終了を待たずにファイル送信動作が開始される。この場合、印刷のためのRIP処理とファイル送信のためのファイル変換処理とが、RAM内のそれぞれが確保したメモリ領域をワークエリアとして使用する。
従来において、MFPにおけるメモリの使用に関して、複数のアプリケーションプログラムがメモリ空間を共有する場合の手法として、メモリ使用量が閾値を超えたときにいずれかのアプリケーションプログラムを停止させる手法が提案されている(特許文献1)。この手法によれば、メモリ不足のためにアプリケーションプログラムの動作が不正になるのを防ぐことができる。
特開2012−185704号公報
従来の情報機器では、並行して行なわれる複数の処理のそれぞれにメモリ内の別個のメモリ領域を割り当てるために、並行して行なわれる複数の処理がそれぞれ必要とするワークエリアの合計サイズ以上のメモリ領域を有するRAMを搭載する必要があった。合計サイズが大きいほど、よりメモリサイズの大きいより高価なRAMが必要である。
上記の従来の手法を適用すると、アプリケーションプログラムを停止させることによって、そのアプリケーションプログラムに対応する処理が中断し、この処理のパフォーマンス(処理速度)が零(0)になってしまう。そして、他の処理が終わるまで再開することができないので、中断する処理を伴うジョブの所要時間が大幅に長くなる。
本発明は、このような事情に鑑み、メモリを使用して行なわれる複数の処理について所定のパフォーマンスを確保することを目的としている。
上記目的を達成する装置は、メモリを作業領域として使用する複数の処理を並行して行なう情報機器であって、第1処理を行なうために前記メモリ内のメモリ領域を保有する第1処理手段と、複数の第2処理のうちのいずれかを、前記第1処理手段から提供されたメモリ領域を使用して行なう第2処理手段と、前記第2処理手段が現時点で必要としているメモリ領域の次に必要とするメモリ領域のサイズを予測する予測手段と、を備える。前記第2処理手段は、前記複数の第2処理のうちのいずれかを行なう際に、前記予測手段によって予測されたサイズと前記現時点で必要としているメモリ領域のサイズとのうちで最も大きいサイズを少なくとももつメモリ領域の提供を前記第1処理手段に対して要求する。前記第1処理手段は、前記第2処理手段からの要求に応じて、保有している前記メモリ領域のうちの一部である要求されたサイズのメモリ領域を前記第2処理手段に提供する。
本発明によれば、メモリを使用して行なわれる複数の処理について所定のパフォーマンスを確保することができる。
詳しくは、第1処理と第2処理とを並行して行なう必要があるときに、第2処理手段はメモリ領域の一部を使用するので、第1処理手段が残りの部分を使用して第1処理を行なうことができる。第1処理と第2処理とを並行して行なうことができるので、これら処理のいずれについてもパフォーマンスが0になることはない。
また、第1処理手段が保有するメモリ領域のうち、次の第2処理のために必要になると予測されたサイズと現時点で必要なサイズとの大きい方のサイズの部分が第2処理手段に提供されるので、小さいサイズの部分に代えて大きいサイズの部分を提供し直すために第1処理を中断しなければならない状況が起こりにくい。
本発明の実施形態に係るMFPを有するネットワークの例を示す図である。 MFPのハードウェア構成の概略を示す図である。 MFPに組み込まれた処理プログラムの構成を示す図である。 MFPとユーザー端末とのリモートアクセスにおける通信シーケンスを示す図である。 MFPにおけるメモリの共用に関わる要部の機能構成を示す図である。 ファイル送信ジョブに関係する複数の操作画面の例を示す図である。 自動転送設定画面の例を示す図である。 転送設定リスト画面の例を示す図である。 ジョブリスト画面の例を示す図である。 ファイル送信ジョブにおいて行われるファイル変換処理のフローチャートである。 ファイル変換処理における次の必要サイズの予測ルーチンのフローチャートである。 次の必要サイズの予測ルーチンにおける第1の予測サブルーチンのフローチャートである。 第2の予測サブルーチンのフローチャートである。 第3の予測サブルーチンのフローチャートである。 第4の予測サブルーチンのフローチャートである。 印字データ作成部が行なうワークエリア設定処理のフローチャートである。
本発明の実施形態に係る情報機器としてMFPを挙げる。MFPは、オフィスワークに有用な複数の機能を集約した複合型の情報機器である。
図1に例示されるMFP1は、企業のオフィスに構築されたLAN(Local Area Network)5に接続され、複数のユーザーによって共用される。LAN5には、1以上のユーザー端末2および他の情報機器が接続される。図1では、ユーザー端末2としてデスクトップ型パーソナルコンピューター3およびタブレット4が描かれ、他の情報機器としてサーバー機6が描かれている。MFP1は、LAN5上の情報機器およびクラウドサーバー8を含むインターネット上の情報機器との通信が可能である。また、MFP1は図示しない公衆電話回線を用いるファクシミリ通信を行なうことができる。
MFP1は、印刷機能およびデータ送信機能を有している。すなわち、MFP1は、与えられたジョブに応じて、原稿シート90から読み取ったスキャン画像、外部装置から送られてきた文書、MFP1内のボックス20に保存されている文書、またはファクシミリ受信した画像を用紙に印刷する。また、MFP1は、スキャン画像をボックス20に保存したり、スキャン画像やボックス20内の文書を所定形式に変換して外部装置へ転送したりする。外部装置へのデータ送信には、電子メールに添付するメール送信およびファクシミリ送信が含まれる。
MFP1には、MFP1に備え付けられている操作パネル17を用いる操作(直接の操作)、およびユーザー端末を用いるリモートアクセスによってジョブが与えられる。MFP1は、所定の操作をしてログインしたユーザーである一人または複数のログインユーザーによるジョブの投入を受け付ける。例えば、あるユーザーが原稿シート90のスキャン画像をパーソナルコンピューター3へ送信させているときに、他のユーザーがタブレット4からアクセスしてボックス20内の文書をタブレット4へ送信させるジョブをMFP1に投入することができる。複数のログインユーザーがリモートアクセスすることもよくある。
複数のログインユーザーが次々にジョブを投入した場合、MFP1は、それらのジョブを次々に実行する。ジョブの実行中に別のジョブが投入された場合、並行の実行が可能であれば、実行中のジョブの動作が終わる以前に次のジョブの実行が開始される。例えば、スキャン画像を印刷するコピージョブとボックス20内の文書を外部装置へ転送するファイル送信ジョブとの並行実行が可能である。
図2はMFPのハードウェア構成の概略を示している。
ADF(Auto Document Feeder)14は、ユーザーによってセッティングされた原稿シートをイメージスキャナー15の読取り位置へ搬送する。イメージスキャナー15は、搬送された原稿シートに記録されている画像を光学的に読み取る。プリンターエンジン16は、コピー、プリントおよびファクシミリ受信において、例えば電子写真法によって画像を用紙に印刷する。印刷方法はインクジェット法または他の方法であってもよい。
操作パネル17は、ディスプレイおよびタッチパネルを有している。ディスプレイは例えば液晶パネルである。タッチパネルはディスプレイの表示面上のタッチ操作を検出し、タッチ点の位置を示す信号を出力する。操作パネル17のタッチパネルはフリック操作およびマルチタッチ操作を検出することができる。
通信インタフェース18は、MFP1と外部装置との通信を可能にする。通信インタフェース18は、MFP1をLAN5に通信可能に接続するネットワーク・インタフェース・カード(NIC)、および公衆電話回線によるファクシミリ通信のためのモデムを含んでいる。通信インタフェース18によるデータ通信は、メインコントローラー10内のネットワークコントローラーによって制御される。
ストレージ19は例えばハードディスクドライブであり、アプリケーションプログラムや設定データの保存およびデータ処理における一時的なデータ記憶に用いられる。ボックス(BOX)20は、ストレージ19の中に文書保存用に設けられる不揮発メモリ領域である。ボックス20は、各ユーザーが専用する個人ボックス(ユーザーボックスともいう)および複数のユーザーが共有する共通ボックスといった複数の領域に区分して利用される。
MFP1の制御を統括するメインコントローラー10は、各種のプログラムを実行するコンピューターとしてのCPU11、プログラム実行のワークエリアとして使用されるRAM(Random Access Memory)12、およびプログラムや制御データを記憶するROM(Read Only Memory)13を有する。ROM13には、MFP1の多様な機能を実現するための組み込みプログラムを含むソフトウェア100が格納されている。
図3のように、ソフトウェア100は、メイン処理モジュール101、印字データ作成モジュール110、ファイル変換モジュール120、およびその他のモジュール群150を有している。メイン処理モジュール101は、MFP1の動作状態に応じて、印字データ作成モジュール110、ファイル変換モジュール120またはその他のモジュール群に含まれるモジュールを適宜実行させる。
印字データ作成モジュール110は、MFP1をプリンターとして動作させるプリントジョブにおいて、CPU11に印字データ作成処理を行なわせる。印字データ作成処理は、印刷対象として入力される文書データをプリンターエンジン16に与える印字データに変換する処理である。印字データ作成処理にRIP処理が含まれる。
ファイル変換モジュール120は、ファイル送信ジョブにおいて、指定されたファイル形式の送信データを作成するファイル変換処理をCPU11に行なわせる。ファイル送信ジョブは、ファイル化された送信データ(送信ファイル)を、例えばSMB(Server Message Block)やFTP(File Transfer Protocol)といったプロトコルを用いて転送する送信ジョブである。
図4はユーザー端末によるリモートアクセスの通信シーケンスを示している。
ユーザー端末2がユーザーの指示に従ってLAN5を介してMFP1にリモートアクセスを要求する。MFP1はユーザー端末2からの要求を受けてリモートアクセス状態になる。リモートアクセス状態において、MFP1はユーザー端末2へ操作画面の表示のための画面データを送信する。ユーザー端末2はMFP1からの画面データを受信し、自機に付属するディスプレイによって操作画面を表示する。これにより、MFP1の操作パネル17と同等またはユーザー端末2の表示仕様に応じて最適化された操作環境が、ユーザー端末2のユーザーに提供される。
リモートアクセス開始時にMFP1は、ユーザーIDとパスワードとの入力を求めるログイン画面の表示のための画面データをユーザー端末2へ送信する。ユーザー端末2においてログイン画面が表示されたとき、ユーザーがユーザーIDとパスワードとを入力し、MFP1において認証が完了すると、MFP1は初期画面データをユーザー端末に送信する。
その後、ユーザーは初期画面から必要に応じて画面を遷移させて、所望の機能を選択したり動作の詳細を指定したりしてジョブの実行をMFP1に指示する。ユーザーがログアウト操作を行なうと、MFP1においてリモートアクセスが終了する。
図5(A)〜(C)はMFPにおけるワークメモリの共用に関わる要部の機能構成を示している。図5(A)のように、MFP1は印字データ作成処理部111およびファイル変換処理部121を備えている。印字データ作成処理部111は、CPU11が印字データ作成モジュール110を実行することによって実現される機能要素である。ファイル変換処理部121は、CPU11がファイル変換モジュール120を実行することによって実現される機能要素である。
MFP1では、搭載されたRAM12の限りあるメモリ資源をプログラム実行のワークエリアとして節約して使用するために、印字データ作成処理部111とファイル変換処理部121とがRAM12内のメモリ領域25を共用するように、印字データ作成モジュール110およびファイル変換モジュール120が構成されている。
メモリ領域25の共用の態様は、第1処理手段としての印字データ作成処理部111が割り当てられたメモリ領域25を保有し、第2処理手段としてのファイル変換処理部121が一時的に印字データ作成処理部111からメモリ領域25の一部であるメモリ領域26を借りて使用する態様である。印字データ作成処理部111は、メモリ領域26をファイル変換処理部121に提供していないときには保有しているメモリ領域25の全体を使用することができ、メモリ領域26を提供したときにはメモリ領域25の残りの部分を使用することができる。
図5(B)のようにファイル変換処理部121は、要求ブロック121A、メインブロック121B、および返却ブロック121Cを有する。
要求ブロック121Aは、ファイル送信ジョブが投入されてファイル変換処理のためのワークエリアが必要になったときに、メモリサイズ(以下、サイズという)を指定してメモリ領域26の提供を印字データ作成処理部111に要求する。要求に応えてメモリ領域26が提供されると、要求ブロック121Aはメモリ領域26の提供されたことをメインブロック121Bに通知する。
なお、提供されるメモリ領域26のアドレス範囲が印字データ作成処理部111において動的に設定される構成では、設定されたアドレス範囲が要求ブロック121Aを介してメインブロック121Bに通知される。これに対して、提供されるメモリ領域26のアドレス範囲を固定化する構成では、要求ブロック121Aがサイズを指定することによって、提供されるメモリ領域26のアドレス範囲が決まる。
要求ブロック121Bがサイズを指定するのは、作成する送信データのファイル形式によってファイル変換に必要なワークエリアのサイズが異なるからである。基本的には、より小さいサイズを指定するのが印字データ作成処理への影響を小さくする上で好ましい。
以下において、ファイル変換に必要なワークエリアのサイズを“必要サイズ”といい、選択肢とされた複数のファイル形式の必要サイズのうちで最も大きい必要サイズを“最大必要サイズ”という。
本実施形態において、ファイル変換処理部121の要求ブロック121Aは、第1サイズおよび第2サイズの2つのサイズのいずれかを指定する。ただし、これに限らず、3つ以上のサイズのいずれかを指定するようにしてもよい。本実施形態では第1サイズよりも第2サイズの方が大きいとし、以下において便宜的に第1サイズを“小サイズ”といい、第2サイズを“大サイズ”という。
例えばPDF形式の送信データの作成に際して、メインブロック111Bは40MBのワークエリアを使用する。この40MBが小サイズとされている。また、コンパクトPDF形式の送信データの作成には80MBのワークエリアが必要である。この80MBが大サイズとされている。
ファイル変換処理部121のメインブロック121Bは、印字データ作成処理部111から提供されたメモリ領域26をワークエリアとして上述のファイル変換処理を行なう。ここで、メモリ領域26とは、小サイズのメモリ領域261と大サイズのメモリ領域262との総称である。したがって、提供されたメモリ領域26が小サイズのメモリ領域261である場合と大サイズのメモリ領域262である場合とがある。メインブロック121Bには、メモリ領域26の提供されたことが要求ブロック121Bから通知される。この通知を受けた後にメインブロック121Bはファイル変換処理を開始する。
ファイル変換処理部121の返却ブロック121Cは、ファイル変換処理が終わってワークエリアが不要になったとき、提供されているメモリ領域26を印字データ作成処理部111に返却する。すなわち、返却通知を印字データ作成処理部111に送る。ファイル変換処理が終わっても、引く続いて次のジョブのファイル変換処理を行なう場合、返却ブロック121Cはメモリ領域を返却しない。
図5(C)のように印字データ作成処理部111は、メインブロック111A、監視ブロック111B、および領域管理ブロック111Cを有する。
メインブロック111Aは、領域管理ブロック111Cによって設定されたワークエリアを使用して印字データ生成処理を行なう。メインブロック111Aのワークエリアのサイズは、ファイル変換処理部121へのメモリ領域26の提供の有無に依存する。
監視ブロック111Bは、ファイル変換処理部121からの提供要求の有無および返却通知の有無を監視する。提供要求または返却通知があると、その旨を領域管理ブロック111Cに伝える。
領域管理ブロック111Cは、メインブロック111Aが使用するワークエリアを設定する。領域管理ブロック111Cは、ファイル変換処理部121からの提供要求に応えて、管理対象として割り当てられた例えば150MBのメモリ領域25のうちの提供要求によって指定されたサイズのメモリ領域26を、ファイル変換処理部121に提供する。詳しくは、小サイズが指定された場合は指定と同じ小サイズのメモリ領域261の提供をファイル変換処理部121に通知し、大サイズが指定された場合は指定と同じ大サイズのメモリ領域262の提供をファイル変換処理部121に通知する。そして、領域管理ブロック111Cは、メモリ領域25のうちのメモリ領域26を提供して残った部分を印字データ作成処理のためのワークエリアに設定する。
ファイル変換処理部121から提供が要求されたとき、領域管理ブロック111Cは、メモリ領域25を使用していなければ、直ちにメモリ領域26をファイル変換処理部121に提供することができる。この場合、ファイル変換処理部121のメインブロック121Bは、遅滞なくファイル変換処理を開始することができる。印字データ作成処理が行われていないので、メモリ領域の提供は印字データ作成処理のパフォーマンスに影響しない。
これに対して、印字データ作成処理部111のメインブロック111Aがメモリ領域25を使用している状態においてファイル変換処理部121が提供を要求した場合、メインブロック111Aはいったん印字データ作成処理を中断しなければならない。通常、中断は即時には行われず、ページやページを分割したバンドといった所定の処理単位ごとの区切りまで処理が進んだ時点で行なわれる。中断後に領域管理ブロック111Cはメインブロック111Aが使用するワークエリアのアドレス範囲を、提供するメモリ領域26のアドレス範囲を除くように狭める。
印字データ作成処理のワークエリアが狭まるので、メモリ領域25の一部を提供するために、メモリ領域25内のデータをストレージ19に退避させなければならないことがある。データの退避を行なうことによって、中断時間が長くなって印字データ作成処理の平均パフォーマンスが大きく低下する。
印字データ作成処理のパフォーマンスが低下する問題は、印字データ作成処理部111がファイル変換処理部121に対してメモリ領域26を提供し直す場合にも生じる。ファイル変換処理部121は、1つのジョブに係るファイル変換処理が終了したときに、実行待ちのジョブが無い場合には、提供されているメモリ領域26を印字データ作成処理部111に返却し、実行待ちのジョブが有ればメモリ領域26を返却せずに引き続きワークエリアとして使用する。
しかし、小サイズのメモリ領域261が提供されている状態において、次のジョブのファイル変換処理に大サイズのワークエリアが必要である場合には、小サイズから大サイズへの変更をファイル変換処理部121が印字データ作成処理部111に要求することになる。サイズの変更であっても、新規の提供と同様に、印字データ作成処理部111がメモリ領域25を使用している状態であれば、印字データ作成処理部111は印字データ作成処理を中断しなければならない。そして、必要に応じてデータの退避を行なわなければならない。
印字データ作成処理部111がメモリ領域26を提供し直す状況を無くする方法として、提供するメモリ領域26のサイズを大サイズに固定する方法が考えられる。つまり、ファイル変換処理のファイル形式の選択肢のうち最も大きいワークエリアを必要とするファイル形式のための処理を想定して、提供するメモリ領域26のサイズを1つに決めることができる。
しかし、提供するメモリ領域26のサイズを固定すると、印字データ作成処理と小サイズのメモリ領域261を使用するファイル変換処理とを並行して行なうときに、印字データ作成処理部111の使用可能なワークエリアが必要以上に狭まることになる。メモリ領域25の中に無駄な空き領域が生じてしまう。このことは印字データ作成処理のパフォーマンスを低下させる要因となる。
そこで、MFP1には、ファイル変換処理部121がメモリ領域26の提供を要求する際に指定するサイズを最適化するための要素が付加されている。付加された要素は、予測部211、状態検知部212、頻度取得部213、および処理時間推定部214である。これら要素は、CPU11がファイル変換モジュール120を実行することによって実現される機能要素である。
予測部211は、ファイル変換処理部121がメモリ領域26の提供を要求する時点で必要としているメモリ領域26の次に必要とするメモリ領域26のサイズを予測する。詳しくは、予測部211は、実行中のファイル送信ジョブの次に投入されるであろうファイル送信ジョブが指定するファイル形式を予測する。そして、複数のファイル形式のそれぞれと必要サイズとの対応を示すあらかじめROM13に格納されたデータを参照することによって、予測したファイル形式に対応するサイズを取得し、取得したサイズを予測結果(予測サイズ)とする。
ファイル変換処理部121が提供を要求する契機は、ファイル送信ジョブの実行開始である。既に投入されたファイル送信ジョブの実行が開始される時点で、ファイル変換処理部121が必要とするメモリ領域26のサイズは確定している。ジョブの指定するファイル形式に対応する必要サイズが、現時点で必要とするメモリ領域26のサイズである。ファイル送信ジョブの実行が開始された時点で、実行待ちのファイル送信ジョブが無ければ、ファイル変換処理部121が次に必要とするメモリ領域26のサイズは未定である。予測部211は、この未定のサイズが小サイズであるか大サイズであるかを予測する。
予測部211によって予測されたサイズ(予測サイズ)は、ファイル変換処理部121に通知される。ファイル変換処理部121は、既に確定している現時点での必要サイズが小サイズである場合において、現時点での必要サイズと予測サイズとを比較し、これらサイズのうちで最も大きいサイズを少なくとももつメモリ領域26(メモリ領域261またはメモリ領域262)の提供を印字データ作成処理部111に対して要求する。最も大きいサイズとは、比較する両者の値が異なる場合は値の大きい方のサイズを意味し、両者の値が同一である場合はその値のサイズを意味する。最も大きいサイズを少なくとももつとは、最も大きいサイズ以上のサイズを有することを意味する。
つまり、ファイル変換処理部121は、予測サイズおよび現時点での必要サイズの少なくとも一方が大サイズであれば、大サイズまたは大サイズよりも所定量だけ大きいサイズのメモリ領域262の提供を要求し、予測サイズおよび現時点での必要サイズの両方が小サイズであれば、小サイズまたは小サイズよりも所定量だけ大きいサイズのメモリ領域261の提供を要求する。なお、現時点での必要サイズが大サイズであれば、予測サイズの如何にかかわらず、大サイズまたはそれよりも大きいサイズのメモリ領域262の提供を要求する。
状態検知部212、頻度取得部213、および処理時間推定部214は、予測部211に対して予測サイズの判定のための情報を提供する。
状態検知部212は、操作パネル17を用いる直接の操作およびLAN5を介して接続されるユーザー端末2を用いる操作の進行状態および操作に従うMFP1の動作状態を検知する。状態検知部212には、操作を受け付けて操作画面を表示させる操作処理部およびジョブの実行を管理するジョブ実行制御部から検知に必要な操作ログが与えられる。
頻度取得部213は、ユーザーごとに記録されているMFP1の使用実績データに含まれる、ファイル変換処理部121の使用頻度Fおよび大サイズのワークエリアを必要とするファイル形式の選択頻度Gを取得する。使用頻度Fは現在以前の所定期間Tの使用回数であり、選択頻度Gは同じく所定期間Tの選択回数である。使用頻度Fおよび選択頻度Gは、使用実績データを管理する実績管理部によって算出されている。実績管理部はMFP1内または外部の管理サーバーに設けられている。頻度取得部213は実績管理部から使用頻度Fおよび選択頻度Gを取得する。ただし、頻度取得部213が操作ログに基づいて自ら使用頻度Fおよび選択頻度Gを算出するようにしてもよい。
処理時間推定部214は、ファイル変換処理部121によって行われようとしているファイル変換処理の所要時間T2、および行なわれている途中の印字データ作成処理の終了時刻t1を推定する。ファイル変換処理の所要時間T2は、処理対象の文書のページ数、カラーモード、解像度、画像サイズといった処理条件に依存する。現在時刻に所要時間T2を加算することで終了時刻が求まるので、所要時間T2の推定はファイル変換処理の終了時刻t2の推定でもある。印字データ作成処理の終了時刻t1は、印字データ作成処理の開始時刻t0と所要時間T1とから求めることができる。印字データ作成処理の所要時間T1は、処理対象の文書のページ数、処理モード、画像サイズといった処理条件に依存する。
以下、MFP1の動作をより具体的に説明する。
図6はファイル送信ジョブに関係する複数の操作画面の例を示している。図6(A)では文書選択画面30が示され、図6(B)では送信設定画面40が示され、図6(C)ではファイル形式選択画面50が示されている。これら操作画面による操作はタッチ操作またはマウス操作である。
図6(A)の文書選択画面30は、ログインしたユーザーが自己に割り当てられたユーザーボックス内の文書に対する処理を指定するため画面であり、例えば初期画面においてボックス機能を選択する操作が行なわれたときに表示される。文書は、スキャン画像であってもよいし、ユーザー端末2において文書作成ソフトウェアや他のソフトウェアを用いて作成され、その後にMFP1に転送されたファイルであってもよい。
文書選択画面30では、ユーザーボックスに保存されている文書のサムネイルが表示される。図示ではサムネイル31,32を含む8個のサムネイルが2行4列に並んでいる。ユーザーは、サムネイルに対する所定の操作によって処理対象の文書を選択し、画面の右端側に配置されているキーを操作して所望の処理を指定する。
文書に対する処理の選択肢は、「送信」、「移動」、「削除」、および「詳細表示」である。「送信」は、サーバー機6やユーザー端末2への送信、インターネットファクシミリ(I−FAX)送信、電話回線によるファクシミリ送信などを行なう処理である。「移動」は、文書を他のボックスに移し替える処理である。「削除」は、選択された文書を消去する処理である。「詳細表示」は、文書の作成日時やサイズなどの属性情報とプレビュー画像とを表示する処理である。
ユーザーが文書選択画面30において「送信」に対応するキー33を操作すると、文書選択画面30に代えて図6(B)の送信設定画面40が、ユーザーが見ているディスプレイによって表示される。
図6(B)の送信設定画面40の上端部に宛先表示欄41が配置されている。ユーザーは、番号キー43,44および他の複数の番号キーを選択的に操作することにより、あらかじめ番号に対応づけて登録されている宛先候補の1つを宛先に指定することができる。指定された宛先が宛先表示欄41に表示される。画面の右端部のスクロールバーを操作すると、登録番号リストの表示対象ページが切り替わり、番号キーに対応する宛先候補が切り替わる。また、ユーザーは、左端部のキー42を操作して直接入力モードを指定した後、図示しないハードウェアキーボードまたはソフトウェアキーボードを用いて所望の宛先を宛先表示欄41に入力することができる。
送信設定画面40の下端部に項目選択キーが配列されている。項目の選択肢は、「カラー」、「解像度」、「ファイル形式」、および「応用設定」である。ユーザーが項目選択キーを操作して項目を選択すると、選択された項目について設定画面が表示される。「カラー」には、自動、フルカラーおよびモノクロの選択肢がある。「解像度」および「ファイル形式」にも、それぞれ複数の選択肢がある。「応用設定」に対応する図示しない設定画面では、ファイル送信における文書名や電子メール送信における件名を含む所定の情報を設定することができる。
ユーザーが送信設定画面40において項目選択キー47を操作すると、送信設定画面40に代えて図6(C)のファイル形式選択画面50が表示される。
図6(C)のファイル形式選択画面50では、選択キー51,52を含む複数の選択キーが表示される。各選択キーは、送信データのファイル形式の選択肢のいずれかに対応する。ファイル形式の選択肢は、図示のとおり、「PDF」、「コンパクトPDF」、「TIFF」、「DOCX」、「JPEG」などである。ファイル形式選択画面50が表示された時点の状態では、デフォルトのファイル形式または以前に最後に指定されたファイル形式が選択されている。図示の例では、「PDF」が選択されており、「PDF」に対応する選択キー51が強調表示によって他の選択キーと区別されている。
ファイル形式選択画面50の右端部にオプションキー59が配置されている。オプションキー59が操作されたときに表示される図示しないオプション設定画面において、ユーザーは暗号化を含むオプション項目の設定をすることができる。
ユーザーが操作パネル17を用いてボックス20内の文書を送信させる場合の操作の手順は次のとおりである。MFP1にログインしたユーザーは、文書選択画面30において文書を選択し、キー33にタッチして送信を選択する。次に送信設定画面40において宛先を指定し、必要に応じてカラーや解像度の設定をする。ファイル送信の場合、ファイル形式選択画面50において所望のファイル形式を指定する。行なうべき全ての指定を終えた後、操作パネル17のハードキー配列部にあるスタートキーを押下する。これにより、送信ジョブを投入しかつその実行の開始をMFP1に指示したことになる。
図7は自動転送設定画面の例を示している。MFP1は、外部装置から受信したデータを他の外部装置へ転送する自動転送機能を備えている。転送動作の設定に図7の自動転送設定画面60が用いられる。
自動転送設定画面60の上端部の欄61に、自動転送機能が有効か無効かが示される。図示では有効である。転送の対象に関わる受信種別の選択肢として、ファクシミリ、インターネットファクシミリ、ファイル転送、電子メールなどがある。図示ではファクシミリ(FAX)が選択されている。
MFP1が受信する転送対象データの送信者(転送元)として指定すべき情報は、受信種別によって異なる。例えば、ファクシミリではファクシミリ番号であり、ファイル転送ではIPアドレスである。
転送先の指定によって転送種別が決まる。転送種別の選択肢は受信種別と同様である。例えば転送先としてメールアドレスが設定されると、電子メールに添付して送信する自動転送が行われる。転送先としてMFP1内のボックス20を指定することができる。ボックス20を指定する場合、ユーザーはボックスID(名称や番号)を入力する。
転送種別がファイル転送または電子メールである場合のように受信データをファイル化して転送する場合は、ファイル形式を指定することができる。ファクシミリまたはボックス保存の場合、ファイル形式の指定操作を行なう必要はない。ファイル形式の選択肢にPDFおよびコンパクトPDFが含まれる。図示における指定されたファイル形式はPDFである。
ユーザーは、登録キー66を操作することで、指定した送信者から受信したデータを指定した転送先へ指定した形式に変換して送信する自動転送を登録することができる。リストキー67を操作することで、登録済みの自動転送の一覧を表示させることができる。また、完了キー68を操作することで、自動転送設定画面60の表示を終了させることができる。
図8は転送設定リスト画面の例を示している。転送設定リスト画面70は、自動転送設定画面60においてリストキー67が操作されたときに表示される。
転送設定リスト画面70では、登録済みの自動転送が5個ずつ表示される。表示される設定項目は「送信者」、「転送種別」および「転送先」である。図示のように番号1から5までの自動転送が表示された状態で次ページキー73が操作されると、番号6から10までの自動転送が表示される。表示された設定内容を編集したり、任意の番号の自動転送を削除(登録抹消)したりすることができる。
自動転送機能は、転送設定リスト画面70でユーザーが確認することのできる登録済みの自動転送のいずれかに該当するデータ受信が発生したときに、受信したデータを自動的に転送する。例えば、図示の転送設定リスト画面70における番号1の自動転送の指定が図7の例に対応するものとすると、MFP1は送信先のファクシミリ番号「123456789」の送信先からファクシミリ受信した画像データをPDF形式のファイルに変換して転送先「xxx.xxx.xxx.xxx」へ送信する。
図9はジョブリスト画面の例を示している。MFP1に投入されたジョブは、CPU11がソフトウェア100を実行することで実現されるジョブ実行制御部によって管理される。MFP1のユーザーは、所定の操作によってジョブリスト画面を表示させることができる。
図9(A)のように、ジョブリスト画面80では、投入されかつ終了していない未完のジョブが一覧表示される。一度に表示されるジョブの数は5であるが、6以上の未完のジョブがある場合には、次ページキーおよび前ページキーを操作して所望のジョブを表示させることができる。また、ジョブを停止させたり、削除したり、ジョブ設定の詳細を表示させたりするためのキーがジョブリスト画面80に設けられている。
ジョブリスト画面80における各ジョブの表示項目は、「識別番号」、「種別」、「文書名/宛先」、「時間」、「枚数」、および「状態」である。これらのうち、「時間」の表示情報はジョブの投入時刻であり、「枚数」の表示情報は処理対象ページの総数および現在の処理ページである。また、「状態」の欄には、ジョブの種別に応じて、印刷中・印刷待ち・送信中・受信中・送信待ち・受信待ち・保存中といった進行状況を表わす文字列が表示される。
図9(A)が示す状態では、識別番号2のインターネットファクシミリ(I−FAX)送信が送信中であり、識別番号3,4のNET送信(ファイル送信)が送信待ちである。つまり、I−FAX送信という種別のファクシミリ送信ジョブの実行が進行中であって、NET送信という種別の2つのファイル送信ジョブが実行待ちである。また、識別番号1のプリントジョブが印刷中(実行中)であるので、プリンターエンジン16を使用する識別番号5のコピージョブは印刷待ち(実行待ち)である。
ジョブの実行が終了すると、終了したジョブがジョブリスト画面80から消える。図9(B)では、図9(A)における識別番号1,2のジョブが終了した後のジョブリスト画面80bが描かれている。図13(B)のジョブリスト画面80bでは、識別番号3のファイル送信ジョブの実行が進行中であって、識別番号4のファイル送信ジョブが実行待ちである。また、識別番号5のコピージョブは印刷中(実行中)である。
ジョブリスト画面80,80bに示されるとおり、プリントジョブとコピージョブとの組合せのように並行して実行することができない処理を共に含むジョブどうしは、先行ジョブの当該処理の実行が終了するまで、後続ジョブは実行待ちとなる。先行ジョブの当該処理の実行が終われば、後続ジョブの当該処理の実行が開始される。
ファイル送信ジョブはプリントジョブと並行して実行可能なジョブである。コピージョブとの並行実行も可能である。ファイル送信ジョブはプリンターエンジン16を使用しないので、プリンターエンジン16が他のジョブによって使用されているときに実行することができる。ただし、プリントジョブおよびコピージョブは印字データを作成するためにワークエリアとしてRAM12を使用し、ファイル送信ジョブはファイル変換処理を行なうために同じくRAM12をワークエリアを使用する。
図10は、ファイル送信ジョブの実行過程において行われるファイル変換処理のフローチャートである。
ファイル変換処理部121は、実行が開始されたファイル送信ジョブで指定されているファイル形式を取得する(S10)。続いて、ファイル変換処理部121は、取得したファイル形式がファイル変換処理におけるファイル形式の選択肢の中で最も大きいワークエリアを必要とするファイル形式であるかどうかを判定する(S11)。すなわち、行なおうとしているファイル変換処理に必要なワークエリアのサイズ(現時点での必要サイズ)が最大必要サイズであるかどうかを判定する。本実施形態では必要サイズが小サイズまたは大サイズであって最大必要サイズが大サイズであるので、このステップS11では、実行中のファイル送信ジョブにおける必要サイズが大サイズであるかどうかを判定することになる。
必要サイズが大サイズであれば(S11でYES)、フローはステップS21へ進む。ステップS21において、ファイル変換処理部121はステップS10で取得したファイル形式に対応した必要サイズのメモリ領域26の提供を印字データ作成処理部111に対して要求する。つまり、現時点で確定している必要サイズである大サイズのメモリ領域262をワークエリアとして確保する。そして、フローはステップS21からステップS17へ進む。
一方、ステップS11の判定結果がNOであった場合、すなわち現時点の必要サイズが小サイズであった場合、予測部211によって次の必要サイズの予測ルーチンが実行される(S12)。このルーチンで得られる予測結果に応じて、次のようにワークエリアのサイズが決定される。
ファイル変換処理部121は、予測部211が次の必要サイズを予測することができたかどうかをチェックする(S13)。予測結果が予測サイズを大サイズまたは小サイズとするものであれば予測することができたことになり、予測結果が「予測サイズ無し」であれば予測することができなかったことになる。次の必要サイズを予測することができなかった場合(S13でNO)、フローは上述のステップS21へ進む。
次の必要サイズを予測することができた場合(S13でYES)、ファイル変換処理部121は、現時点の必要サイズと予測サイズとを比較する(S14)。そして、現時点の必要サイズよりも予測サイズの方が大きい場合(S15でYES)、ファイル変換処理部121は、予測サイズのメモリ領域262の提供を印字データ作成処理部111に対して要求する。つまり、現時点で確定している必要サイズよりも大きい、次に必要になるであろうと見込んだサイズのメモリ領域262をワークエリアとして確保する(S16)。その後、フローは上述のステップS17へ進み、さらにステップS18へ進む。
ステップS15のチェックにおいて現時点の必要サイズよりも予測サイズの方が大きくなかった場合(NO)、フローは上述のステップS21へ進む。本実施形態では必要サイズが小サイズおよび大サイズの二通りであるので、ステップS15からステップS21へフローが進むのは、現時点の必要サイズおよび予測サイズの両方が小サイズである場合のみである。この場合、ステップS21で小サイズのメモリ領域261がワークエリアとして確保される。
ステップS17において、ファイル変換処理部121は、印字データ作成処理部111からの提供によって確保した大サイズのメモリ領域262または小サイズのメモリ領域261を使用して、実行中のファイル送信ジョブのためのファイル変換処理を行なう。ファイル変換処理を終えたファイル変換処理部121は、作成した送信ファイルをその送信を行なう通信処理部に引き渡すファイル送信処理を行なう(S18)。そして、後処理として、ファイル変換処理部121は、実行待ちのファイル送信ジョブが無いかどうかをチェックし(S19)、実行待ちのファイル送信ジョブが無ければ(S19でYES)、借りているメモリ領域を返却することを意味する返却通知出力を印字データ作成処理部111に対して行なう(S20)。
図11は図10のファイル変換処理における次の必要サイズの予測ルーチンのフローチャートである。
予測部211は第1の予測サブルーチン(S121)を実行する。第1のサブルーチンでサイズを予測することができた場合(S122でYES)、フローは直ちに図10のルーチンに戻る。第1の予測サブルーチンでサイズを予測することができなかった場合(S122でNO)、予測部211は第2の予測サブルーチン(S123)を実行する。第1のサブルーチンでサイズを予測することができた場合(S124でYES)、フローは直ちに図10のルーチンに戻る。
第1の予測サブルーチンでサイズを予測することができなかった場合(S124でNO)、予測部211は、実行が開始されたファイル送信ジョブを投入したユーザーではない他のログインユーザーがいるかどうかをチェックする(S125)。
他のログインユーザーがいる場合(S125でYES)、予測部211は、第3の予測サブルーチン(S126)を実行する。他のログインユーザーがいない場合(S125でNO)、予測部211は予測結果を「予測サイズ無し」とする(S129)。
第3のサブルーチンでサイズを予測することができた場合(S127でYES)、フローは直ちに図10のルーチンに戻る。第3の予測サブルーチンでサイズを予測することができなかった場合(S127でNO)、予測部211は第4の予測サブルーチン(S128)を実行する。
図12は図11の第1の予測サブルーチンのフローチャートである。予測部211は、実行待ちのファイル送信ジョブの有無をチェックする(S210)。実行待ちのファイル送信ジョブが無ければ(S210でNO)、予測部211は予測結果を「予測サイズ無し」とする(S212)。実行待ちのファイル送信ジョブが有れば(S210でYES)、予測部211は、実行待ちのファイル送信ジョブが指定するファイル形式の必要サイズを予測サイズとする(S211)。
なお、ステップS211では、複数のファイル送信ジョブが実行待ちである場合、それらジョブに係る必要サイズのうちの最も大きいサイズを予測サイズとする。すなわち、必要サイズが大サイズであるジョブが実行待ちのジョブに含まれている場合には、大サイズを予測サイズとする。必要サイズが大サイズである実行待ちのジョブが次に実行が予定されているジョブであるかどうかを問わない。
図13は図11の第2の予測サブルーチンのフローチャートである。予測部211は、上述した自動転送設定がなされているかどうかをチェックする(S221)。自動転送設定がなされていなければ(S221でNO)、予測部211は予測結果を第1の予測の結果のままの「予測サイズ無し」とする(S224)。
自動転送設定がなされている場合(S221でYES)、予測部211はMFP1が外部装置から転送対象ファイルを受信している最中であるかどうかをチェックする(S222)。
転送対象ファイルを受信している最中であれば(S222でYES)、予測部211は当該転送対象ファイルに対して設定されているファイル形式の必要サイズを予測サイズとする(S223)。転送対象ファイルを受信している最中でなければ(S222でNO)、すなわち、自動的にファイル送信ジョブが投入されるかどうかが不明であれば、予測部211は予測結果を「予測サイズ無し」とする(S224)。
図14は図11の第3の予測サブルーチンのフローチャートである。予測部211は、状態検知部212によって検知された状態が上述した他のログインユーザーに対して図6(A)の文書選択画面30の表示されている状態であるかどうかをチェックする(S241)。言い換えると、他のログインユーザーが文書選択画面30を表示させた状態であるかどうかをチェックする。MFP1およびユーザー端末2の少なくともいずれかにおいて他のログインユーザーに対して文書選択画面30が表示されている場合(S241でYES)、フローはステップS245へ進む。
他のログインユーザーに対して文書選択画面30が表示されていなければ(S241でNO)、続いて、予測部211は、検知された状態が他のログインユーザーに対して送信用の画面の表示されている状態であるかどうかをチェックする(S242)。送信用の画面とは、図6(B)の送信設定画面40および図6(C)のファイル形式選択画面50である。送信用の画面が表示されていなければ(S242でNO)、予測部211は予測結果を「予測サイズ無し」とする(S249)。
MFP1およびユーザー端末2の少なくともいずれかにおいて送信用の画面が表示されている場合(S242でYES)、予測部211は、現時点で選択されているファイル形式の必要サイズが最大必要サイズであるかどうかをチェックする(S243)。選択されているファイル形式の必要サイズが最大必要サイズであれば(S243でYES)、予測部211は最大必要サイズを予測サイズとする(S243)。上述のとおり、本実施形態における最大必要サイズは大サイズである。選択されているファイル形式の必要サイズが最大必要サイズでなければ(S243でNO)、フローはステップS245へ進む。
ステップ245において、予測部211は、現時点で表示されている文書選択画面30または送信用の画面を表示させる操作をした他のログインユーザーの使用実績データを、頻度取得部213を介して取得する。取得した使用実績データのうちのファイル送信ジョブの指定頻度に相当する上述の使用頻度Fがこれに対応する所定の閾値Fth以上でなければ(S246でNO)、予測部211は予測結果を「予測サイズ無し」とする(S249)。
使用頻度Fが閾値Fth以上であれば(S246でYES)、続いて予測部211は、当該他のログインユーザーが過去に投入したファイル送信ジョブで指定されたファイル形式のうちの、選択頻度Gがこれに対応する所定の閾値Gth以上であるファイル形式の有無をチェックする(S247)。つまり、他のログインユーザーがいずれかのファイル形式を頻繁に指定したかどうかをチェックする。
選択頻度Gが閾値Gth以上であるファイル形式が無ければ(S247でNO)、予測部211は予測結果を「予測サイズ無し」とする(S249)。選択頻度Gが閾値Gth以上であるファイル形式が有る場合(S247でYES)、予測部211は過去に最も多く指定されたファイル形式の必要サイズを予測サイズとする(S248)。
図15は図11の第4の予測サブルーチンのフローチャートである。予測部211は、印字データ作成処理部111が印字データ作成処理を行なっているかどうかをチェックする(S251)。
印字データ作成処理が行われている場合(S251でYES)、予測部211は、行なわれている当該印字データ作成処理の推定終了時刻t1を処理時間推定部214から取得する(S252)。また、予測部211は、現時点でファイル変換処理部121が行なおうとしているファイル変換処理の推定終了時刻t2を、処理時間推定部214から取得する(S253)。そして、予測部211は、推定終了時刻t1と推定終了時刻t2との前後関係を判定する(S254)。
推定終了時刻t1よりも推定終了時刻t2の方が早い場合(S254でYES)、予測部211は、最大必要サイズを予測サイズとする(S255)。これには次の理由がある。
今回行なうファイル変換処理が終了したときにまだ印字データ作成処理が行われている場合、印字データ作成処理が終わる前に、新たにファイル送信ジョブが投入されて新たにファイル変換処理を行なう可能性がある。もしも、今回行なうファイル変換処理のために提供するメモリ領域のサイズよりも次に行なうファイル変換処理に必要なサイズの方が大きい場合には、印字データ作成処理部111はファイル変換処理部121に対してメモリ領域の提供し直しをしなければならない。今回行なうファイル変換処理のために最大必要サイズのメモリ領域262を提供しておけば、提供し直しが不要になる。印字データ作成処理のパフォーマンスを低下させないために、予測サイズが最大必要サイズをとされる。
ステップS254のチェック結果がNOである場合、すなわち推定終了時刻t1よりも推定終了時刻t2の方が遅い場合、予測部211は予測結果を「予測サイズ無し」とする(S258)。
一方、ステップS251のチェック結果がNOである場合、すなわち印字データ作成処理が行われていない場合、予測部211は、現時点でファイル変換処理部121が行なおうとしているファイル変換処理の推定所要時間T2を、処理時間推定部214から取得する(S256)。そして、予測部211は、推定所要時間T2が所定の時間Tth(例えば30秒)よりも長ければ(S257でYES)、最大必要サイズを予測サイズとする(S255)。これには次の理由がある。
印刷ジョブが短い時間間隔で断続的に次々に投入されるというMFP1の利用状況を想定することができる。ファイル変換処理の処理時間が長いほど、ファイル変換処理が終わる以前に新たにファイル送信ジョブが投入されて実行待ち状態になる確率が大きい。つまり、1つのファイル送信ジョブの実行終了を契機として実行待ち状態のファイル送信ジョブの実行を開始するときに印字データ作成処理の行われている状況が起こり易い。このことから、上述したように印字データ作成処理のパフォーマンスを低下させないために、予測サイズが最大必要サイズをとされる。
ステップS257のチェックにおいて推定所要時間が所定の時間より短ければ、予測部211は、予測結果を「予測サイズ無し」とする(S258)。
図16は、印字データ作成部111が行なうワークエリア設定処理のフローチャートである。
印字データ作成部111の領域管理ブロック111Cは、ファイル変換処理部121にメモリ領域26を提供していない場合(S30でYES)、ファイル変換処理部121からメモリ領域26の提供が要求されているかどうかをチェックする(S31)。提供が要求されていなければ(S31でNO)、フローはステップS30へ戻る。
提供が要求されている場合(S31でYES)、領域管理ブロック111Cは、印字データ作成処理中であるかどうかをチェックする(S32)。メインブロック111Aによって印字データ作成処理が行なわれているのであれば(S32でYES)、領域管理ブロック111Cは、処理の中断をメインブロック111Aに要求し(S33)、メインブロック111Aから提供を許可する旨が通知されるのを待つ(S34)。この通知は、中断の要求を受けて印字データ作成処理を中断したメインブロック111Aが、必要に応じてメモリ領域25内のデータをストレージ19に退避させ、ワークエリアが狭まっても支障がないと判定したときに発せられる。
提供を許可する旨の通知を受けた領域管理ブロック111Cは、印字データ作成部111の各ブロックが使用するワークエリアをメモリ領域25全体からファイル変換処理部121に提供するメモリ領域26を除く部分に狭める(S35)。このワークエリアの設定はメインブロック111Aに通知される。通知を受けた領域管理ブロック111Cは、狭まったワークエリアを使用して印字データ作成処理を再開する。ただし、元々印字データ作成処理を行なっておらず、フローがステップS32からステップS35へ進んだ場合には、メインブロック111Aは再開のための処理を行なわない。
印字データ作成部111のためのワークアリアの設定を変更した領域管理ブロック111Cは、提供の要求において指定されたとおりのサイズのメモリ領域60をファイル変換処理部121に提供する(S36)。そして、フローはステップS30へ戻る。
一方、ステップS30のチェック結果がNOであった場合、すなわち現時点で既にファイル変換処理部121にメモリ領域26を提供している場合、領域管理ブロック111Cは、ファイル変換処理部121からの返却通知があったかどうかをチェックする(S37)。
返却通知があった場合(S37でYES)、印字データ作成処理中でなければ直ちに、印字データ作成処理中であれば処理が終わるのを待って(S38)、領域管理ブロック111Cは、印字データ作成部111のためのワークアリアをメモリ領域25全体に拡げる(S39)。
以下にメモリ領域25を共用するMFP1の動作の例を挙げる。
〔動作例1〕 操作パネル17を用いてMFP1を操作しているユーザーAと、MFP1にリモートアクセスしているユーザーBとがいる。ユーザーAおよびユーザーBは共に認証を受けてMFP1にログインしている。リモートアクセスに使用するユーザー端末2は、アクセス用のアプリケーションプログラムを備えた情報機器であればよく、据え置き型または携帯型のパーソナルコンピューターであってもよいし、スマートフォンやPDA(Personal Digital Assistant)でもよい。
ユーザーAは、原稿シート90をADF14にセッティングした後、ファイル送信ジョブ(ジョブ1)の実行をMFP1に指示する。ジョブ1が指定するファイル形式はPDFであり、PDFの必要サイズは小サイズである。ユーザーAがジョブ1の実行を指示したとき、ユーザーBがボックス20内の文書を送信するために送信設定画面40を表示させている。このときには既に、必要サイズが大サイズであるコンパクトPDFが指定されているものとする。
このような状況において、MFP1は、ジョブ1に続いて直ぐにユーザーBによってファイル送信ジョブ(ジョブ2)の実行が指示される可能性があると判断し、ジョブ1のファイル変換処理のワークエリアとして、実際の必要サイズである小サイズのメモリ領域261ではなく、大サイズのメモリ領域262を確保する。そして、確保したメモリ領域262を使用してジョブ1を実行する。
この動作例1において、ジョブ1の実行中にジョブ2が投入されたとしても、先行するジョブ1の実行時に大サイズのメモリ領域262を確保しているので、ジョブ2を実行するためにワークエリアを提供し直す必要がない。既に確保されている大サイズのメモリ領域262を使用してコンパクトPDFの送信ファイルを作成することができる。
〔動作例2〕 MFP1にリモートアクセスしているユーザーCと、操作パネル17を用いてMFP1を操作しているユーザーDとがいる。ユーザーCおよびユーザーDは共にMFP1に認証されたログインユーザーである。
ユーザーCは、ボックス20内の文書を送信するファイル送信ジョブ(ジョブ3)の実行を指示する。ジョブ1が指定するファイル形式はPDFである。ユーザーAがジョブ3の実行を指示したとき、ユーザーDが送信用の画面以外の操作画面を表示させているものとする。
MFP1は、ユーザーDによるMFP1の使用実績を示す使用実績データから、ファイル送信ジョブの使用頻度Fと、必要サイズが大サイズであるファイル形式の選択頻度Gとを抽出する。そして、ユーザーDについて、使用頻度Fが例えば80%であって、選択頻度Gが例えば90%であることを取得する。
MFP1では、あらかじめ指定頻度の閾値として70%が設定され、選択頻度の閾値として70%が設定されている。MFP1は、ジョブ3に続いて直ぐにユーザーDによって大サイズのワークエリアを必要とするファイル送信ジョブ(ジョブ4)の実行が指示される可能性があると判断する。この判断に基づいて、MFP1は、ジョブ3のファイル変換処理のワークエリアとして、実際の必要サイズである小サイズのメモリ領域261ではなく、大サイズのメモリ領域262を確保する。そして、確保した大サイズのメモリ領域262を使用してジョブ3を実行する。
動作例2においても動作例1と同様に、ジョブ3の実行中にジョブ4が投入されたとしても、先行するジョブ3の実行時に大サイズのメモリ領域262を確保しているので、ジョブ4を実行するためにワークエリアを確保し直す必要がない。
〔動作例3〕 MFP1にリモートアクセスしているユーザーEがいる。ユーザーEはボックス20内の文書を送信するファイル送信ジョブ(ジョブ5)の実行を指示する。ジョブ5が指定するファイル形式はPDFである。
MFP1は、ジョブ5の実行が指示されたとき、自動転送機能が有効でかつ自動転送が登録されているかどうかを判定する。ここでは、某送信者からのファクシミリ受信データをサーバー機6へ転送する自動転送が登録されており、ファイル形式としてコンパクトPDFが設定されているものとする。
MFP1は、ファクシミリ受信が進行中であるかどうかを判定し、進行中であればそのファクシミリ受信が登録済の自動転送に該当するかどうかを判定する。登録済の自動転送に該当するファクシミリ受信が進行中である場合、MFP1は、ジョブ5のファイル変換処理のワークエリアとして、実際の必要サイズである小サイズのメモリ領域261ではなく、大サイズのメモリ領域262を確保する。ファクシミリ受信が近々終了してコンパクトPDFのデータを作成することになると予想されるからである。MFP1は確保した大サイズのメモリ領域262を使用してジョブ5を実行する。
ジョブ5の実行中にファクシミリ受信が終了し、自動転送機能によって大サイズのワークエリアを必要とするファイル送信ジョブ(ジョブ6)の実行が指示されたとしても、先行するジョブ5の実行時に大サイズのメモリ領域262を確保しているので、ジョブ6を実行するためにワークエリアを確保し直す必要がない。
なお、登録されている自動転送の受信種別が電話回線によるファクシミリ以外であっても同様の動作が行われる。自動転送の登録状況に応じて、LAN5を介するデータ受信、ボックス保存の場合のボックスへのデータ入力、または電子メールの受信が進行中かどうかが判定される。
〔動作例4〕 MFP1にリモートアクセスしているユーザーFがいる。ユーザーFはボックス20内の文書を送信するインターネットファクシミリ送信ジョブ(ジョブ6)の実行を指示する。続いて、ユーザーFはボックス20内の文書を送信するファイル送信ジョブ(ジョブ7)の実行を指示する。ジョブ7が指定するファイル形式はPDFである。ジョブ7が投入されたときに既に実行されているジョブ6がファイル変換処理部121を使用しているので、同じくファイル変換処理部121を使用するジョブ7は実行待ちとなる。
さらに、ユーザーFはボックス20内の文書を送信する送信するファイル送信ジョブ(ジョブ8)の実行を指示する。ジョブ8が指定するファイル形式はコンパクトPDFである。投入されたジョブ8は、ジョブ6が実行中であるためにジョブ7と同様に実行待ちとなる。
ジョブ6の実行が終了するとジョブ7の実行が開始される。このとき、MFP1は、ジョブ7のファイル変換処理に使用するワークエリアを確保する。その際、MFP1は実行待ちのファイル送信ジョブの有無を調べる。ジョブ7の次に実行が予定されている実行待ちのジョブ8の有ることが判ると、MFP1はジョブ8のファイル変換処理の必要サイズを調べる。ジョブ8の必要サイズが大サイズであると判定したMFP1は、ジョブ7のファイル変換処理のワークエリアとして、実際の必要サイズである小サイズのメモリ領域261ではなく、大サイズのメモリ領域262を確保する。そして、確保した大サイズのメモリ領域262を使用してジョブ7を実行する。
動作例4において、ジョブ7の実行終了を契機としてジョブ8の実行を開始するとき、既に先行するジョブ7の実行時に大サイズのメモリ領域262を確保しているので、ジョブ8を実行するためにワークエリアを確保し直す必要がない。
〔動作例5〕 操作パネル17を用いてMFP1を操作しているユーザーGと、MFP1にリモートアクセスしているユーザーHとがいる。ユーザーGおよびユーザーHは共にMFP1に認証されたログインユーザーである。
ユーザーGは、原稿シート90をADF14にセッティングした後、ファイル送信ジョブ(ジョブ9)の実行をMFP1に指示する。ジョブ9が指定するファイル形式はPDFである。ユーザーGによってジョブ9が投入されたとき、既にユーザーHによってプリントジョブ(ジョブ10)が投入されている。
ユーザーGによってジョブ9が投入されたとき、ジョブ10のための印字データ作成処理が行われている。MFP1は、ジョブ9のファイル変換処理のために確保するワークエリアのサイズを決める。そのためにMFP1は、ジョブ10のページ数、ファイルサイズといった処理条件に基づいて、印字データ作成処理の所要時間を推定する。ここで、ページ数が3ページであり、ファイルサイズが100KBであって、所要時間が10秒であったとする。この推定された所要時間は、あらかじめ定められた閾値(例えば30秒)よりも短い。ジョブ10の実行開始時刻が既知であるので、所要時間を推定することによって印字データ作成処理の推定終了時刻が求まる。
また、MFP1は、ジョブ9のページ数、カラーモ一ド、解像度、画像サイズといった処理条件に基づいて、ジョブ9のファイル変換処理の所要時間を推定する。ここで、ページ数が20ページであり、フルカラーモードであり、高解像度であり、A3サイズであることから、所要時間が120秒であると推定したとする。この推定された所要時間は、あらかじめ閾値として定められた時間(例えば30秒)よりも長い。現在時刻をシステム時計から取得することができるので、所要時間を推定することによってファイル変換処理の推定終了時刻が求まる。
MFP1は、ジョブ9のファイル変換処理の推定終了時刻の方がジョブ10の印字データ作成処理の推定終了時刻よりも遅いので、ジョブ9のファイル変換処理のワークエリアとして、実際の必要サイズである小サイズのメモリ領域261を確保する。そして、確保したメモリ領域261を使用してジョブ9を実行する。
動作例5において小サイズのメモリ領域261を確保するのは、ジョブ9の実行が終了したときには印字データ作成処理が行われていないのであれば、ジョブ9に続けて次のファイル送信ジョブを実行することになったとしても、その時点で直ちに必要分のワークエリアを確保することができるからである。
以上の実施形態では、ファイル変換処理部121(第2処理手段)が要求したときのみメモリ領域25の一部を提供するので、ファイル変換処理部121がメモリ領域25を使用しないときには、印字データ作成処理部111(第1処理手段)がメモリ領域25の全体を使用して印字データ作成処理を進めることができる。加えて、メモリ領域25のうちの要求されたサイズの部分を提供するので、要求されたサイズが小サイズであるときには、メモリ領域25内の残りの大きな部分を使用して効率的に印字データ作成処理進めることができる。
上述の実施形態において、ファイル変換処理に関わるワークエリアの必要サイズを例えば小・中・大の3つに区分することができる。現時点での必要サイズが小サイズであっても、次に必要になると予測される予測サイズが中サイズであれば、中サイズのワークエリアを確保し、予測サイズが大サイズであれば、大サイズのワークエリアを確保する。現時点での必要サイズが中サイズであっても、予測サイズが大サイズであれば、大サイズのワークエリアを確保する。現時点での必要サイズと予測サイズとが同じであるか、または現時点での必要サイズの方が予測サイズよりも大きい場合には、現時点での必要サイズのワークエリアを確保すればよい。
なお、ファイル変換処理部121が印字データ作成処理部111に対して提供を要求するメモリ領域のサイズは、現時点での必要サイズと予測サイズとのうちの最も大きいサイズと必ずしも同じサイズでなくてもよく、少なくとも当該最も大きいサイズを有するサイズ、すなわち当該最も大きいサイズと同じかまたは当該最も大きいサイズよりも大きいサイズであればよい。
上述の実施形態において、実行待ちのファイル送信ジョブがあることから大サイズのメモリ領域262が確保され続けている場合に、状況に応じていったんメモリ領域262を返却し、これによって印刷時に使用可能なメモリ領域を拡げるようにすることができる。例えば、必要サイズが小サイズであるファイル送信ジョブばかりが投入された所定数値以上の実行待ちが生じている場合に、いったんメモリ領域262を返却する。実行待ちのジョブの推定所要時間の合計や印刷を伴うジョブの有無を考慮して返却の要否を決めてもよい。
次の必要サイズの予測ルーチンにおける第1の予測、第2の予測、第3の予測および第4の予測の4つの予測の実行順序は、図11の例示の順序に限らず、適宜変更することができる。いずれの順序であっても、2番目以降の予測において最初に先の予測の成否をチェックし、予測結果が得られている場合にはその後の予測を省略すればよい。必ずしも4つの予測を全てフローに組み入れる必要はなく、4つの処理のうちの1つ、2つ、または3つをフローに組み入れてもよい。複数の処理を組み入れる場合の処理の組み合わせは任意である。
ストレージ19内の複数のボックスの1つから他の1つへ文書を転送するときにファイル形式を変換する場合、およびボックス内の文書をファイル形式を変換して同じボックスに保存する場合にも本発明のメモリ共有方法を適用することができる。
上述の実施形態においては、ファイル変換モジュール120をファイル変換処理部121を実現させるプログラムとして説明したが、ファイル変換モジュール120は、ファイル変換処理部121に加えて、予測部211、状態検知部212、頻度取得部213および処理時間推定部214を実現するように構成されてもよい。
ファイル変換処理部121が行なう第2処理であるファイル変換処理は、変換後のファイル形式で区別される複数のファイル変換処理のうちのいずれかであればよく、ユーザーが指定したファイル変換処理に限らない。例えば管理者が指定した自動転送設定に従って処理対象の受信種別や転送先に応じて自動的に決まるファイル変換処理であってもよい。
1 MFP(情報機器)
2 ユーザー端末(外部装置)
12 RAM(メモリ)
25 メモリ領域
261 メモリ領域(第1サイズのメモリ領域)
262 メモリ領域(第2サイズのメモリ領域)
111 印字データ作成処理部(第1処理手段)
121 ファイル変換処理部(第2処理手段)
211 予測部(予測手段)
5 LAN(ネットワーク)
17 操作パネル
18 通信インタフェース
212 状態検知部(状態検知手段)
213 頻度取得部(取得手段)
214 処理時間推定部(推定手段)
100 ソフトウェア(コンピュータープログラム)

Claims (19)

  1. メモリを作業領域として使用する複数の処理を並行して行なう情報機器であって、
    第1処理を行なうために前記メモリ内のメモリ領域を保有する第1処理手段と、
    複数の第2処理のうちのいずれかを、前記第1処理手段から提供されたメモリ領域を使用して行なう第2処理手段と、
    前記第2処理手段が現時点で必要としているメモリ領域の次に必要とするメモリ領域のサイズを予測する予測手段と、を備え、
    前記第2処理手段は、前記複数の第2処理のうちのいずれかを行なう際に、前記予測手段によって予測されたサイズと前記現時点で必要としているメモリ領域のサイズとのうちで最も大きいサイズを少なくとももつメモリ領域の提供を前記第1処理手段に対して要求し、
    前記第1処理手段は、前記第2処理手段からの要求に応じて、保有している前記メモリ領域のうちの一部である要求されたサイズのメモリ領域を前記第2処理手段に提供する
    ことを特徴とする情報機器。
  2. 前記第2処理手段は、1つの第2処理を行ない終えたとき、次に行なうべき実行待ちの第2処理が無ければ、提供されているメモリ領域を前記第1処理手段に返却する
    請求項1記載の情報機器。
  3. 前記複数の第2処理は、必要なメモリ領域のサイズが異なる2つの処理であり、
    前記予測手段は、前記第2処理手段が現時点で必要としているメモリ領域の次に必要とするメモリ領域のサイズが第1サイズであるか前記第1サイズよりも大きい第2サイズであるかを予測する
    請求項1または2記載の情報機器。
  4. 操作パネルと、
    当該情報機器をネットワークに接続する通信インタフェースとを備えており、
    前記予測手段は、前記操作パネルおよび前記ネットワークを介して接続される外部装置の少なくとも一方によって、前記第2サイズのメモリ領域を必要とする前記第2処理が選択され、かつ当該第2処理の実行の開始が指示されていない状態である場合に、前記次に必要とするメモリ領域のサイズが前記第2サイズであると予測する
    請求項3記載の情報機器。
  5. 操作パネルと、
    当該情報機器をネットワークに接続する通信インタフェースと、
    ユーザーごとに算出されて記録されている前記第2処理手段の使用頻度および前記第2サイズのメモリ領域を必要とする処理の選択頻度を取得する取得手段とを備えており、
    前記予測手段は、前記操作パネルおよび前記ネットワークを介して接続される外部装置の少なくとも一方において、前記第2処理手段を使用するジョブの設定のための操作画面が表示されており、かつ前記使用頻度および前記選択頻度が共にそれぞれに対応した閾値以上である場合に、前記次に必要とするメモリ領域のサイズが前記第2サイズであると予測する
    請求項3記載の情報機器。
  6. 前記予測手段は、前記第2処理手段が前記外部装置から受信した処理対象データに対して自動的に前記第2サイズのメモリ領域を必要とする前記第2処理を行なう動作モードにおいて、前記処理対象データを受信している途中である場合に、前記次に必要とするメモリ領域のサイズが前記第2サイズであると予測する
    請求項4または5記載の情報機器。
  7. 前記第2処理手段によって行なわれようとしている前記第2処理が前記第1サイズのメモリ領域を必要とする処理である場合において、前記第2処理手段が前記第1処理手段に対して前記要求を行なうときに、行なわれようとしている当該第2処理の所要時間を推定する推定手段を備え、
    前記予測手段は、推定された前記所要時間が設定時間以上である場合に、前記次に必要とするメモリ領域のサイズが前記第2サイズであると予測し、推定された前記所要時間が設定時間未満である場合に、前記次に必要とするメモリ領域のサイズが前記第1サイズであると予測する
    請求項3ないし6のいずれかに記載の情報機器。
  8. 前記第1処理が行なわれており、かつ前記第2処理手段によって行なわれようとしている前記第2処理が前記第1サイズのメモリ領域を必要とする処理である場合において、前記第2処理手段が前記第1処理手段に対して前記要求を行なうときに、行なわれている当該第1処理の終了時刻および行なわれようとしている当該第2処理の終了時刻を推定する推定手段を備え、
    前記予測手段は、推定された前記第2処理の終了時刻の方が推定された前記第1処理の終了時刻よりも早い時刻である場合に、前記次に必要とするメモリ領域のサイズが前記第2サイズであると予測し、推定された前記第2処理の終了時刻の方が推定された前記第1処理の終了時刻よりも遅い時刻である場合に、前記次に必要とするメモリ領域のサイズが前記第1サイズであると予測する
    請求項3ないし6のいずれかに記載の情報機器。
  9. 前記第1処理は、印刷用のラスター画像データを生成する処理であり、
    前記複数の第2処理はいずれも、指定された形式のデータを生成する処理である
    請求項1ないし8のいずれかに記載の情報機器。
  10. メモリを作業領域として使用する複数の処理を並行して行なう情報機器において実行されるコンピュータープログラムであって、
    前記情報機器が有するコンピューターを、第1処理手段、第2処理手段および予測手段として動作させ、
    前記予測手段は、前記第2処理手段が現時点で必要としているメモリ領域の次に必要とするメモリ領域のサイズを予測する手段であり、
    前記第2処理手段は、複数の第2処理のうちのいずれかを、前記第1処理手段から提供されたメモリ領域を使用して行ない、その際に前記予測手段によって予測されたサイズと現時点で必要としているメモリ領域のサイズとのうちで最も大きいサイズを少なくとももつメモリ領域の提供を前記第1処理手段に対して要求する手段であり、
    前記第1処理手段は、前記第2処理手段からの要求に応じて、前記メモリ内の第1処理を行なうために割り当てられているメモリ領域のうちの一部である要求されたサイズのメモリ領域を前記第2処理手段に提供する手段である
    ことを特徴とするコンピュータープログラム。
  11. 前記第2処理手段は、1つの第2処理を行ない終えたとき、次に行なうべき実行待ちの第2処理が無ければ、提供されているメモリ領域を前記第1処理手段に返却する
    請求項10記載のコンピュータープログラム。
  12. 前記複数の第2処理は、必要なメモリ領域のサイズが異なる2つの処理であり、
    前記予測手段は、前記第2処理手段が現時点で必要としているメモリ領域の次に必要とするメモリ領域のサイズが第1サイズであるか前記第1サイズよりも大きい第2サイズであるかを予測する
    請求項10または11記載のコンピュータープログラム。
  13. 前記情報機器は、操作パネルと、当該情報機器をネットワークに接続する通信インタフェースとを備えており、
    前記予測手段は、前記操作パネルおよび前記ネットワークを介して接続される外部装置の少なくとも一方によって、前記第2サイズのメモリ領域を必要とする前記第2処理が選択され、かつ当該第2処理の実行の開始が指示されていない状態である場合に、前記次に必要とするメモリ領域のサイズが前記第2サイズであると予測する
    請求項12記載のコンピュータープログラム。
  14. 前記情報機器は、操作パネルと、当該情報機器をネットワークに接続する通信インタフェースと、ユーザーごとに算出されて記録されている前記第2処理手段の使用頻度および前記第2サイズのメモリ領域を必要とする処理の選択頻度を取得する取得手段とを備えており、
    前記予測手段は、前記操作パネルおよび前記ネットワークを介して接続される外部装置の少なくとも一方において、前記第2処理手段を使用するジョブの設定のための操作画面が表示されており、かつ前記使用頻度および前記選択頻度が共にそれぞれに対応した閾値以上である場合に、前記次に必要とするメモリ領域のサイズが前記第2サイズであると予測する
    請求項12記載のコンピュータープログラム。
  15. 前記予測手段は、前記第2処理手段が前記外部装置から受信した処理対象データに対して自動的に前記第2サイズのメモリ領域を必要とする前記第2処理を行なう動作モードにおいて、前記処理対象データを受信している途中である場合に、前記次に必要とするメモリ領域のサイズが前記第2サイズであると予測する
    請求項13または14記載のコンピュータープログラム。
  16. 前記情報機器は、前記第2処理手段によって行なわれようとしている前記第2処理が前記第1サイズのメモリ領域を必要とする処理である場合において、前記第2処理手段が前記第1処理手段に対して前記要求を行なうときに、行なわれようとしている当該第2処理の所要時間を推定する推定手段を備えており、
    前記予測手段は、推定された前記所要時間が設定時間以上である場合に、前記次に必要とするメモリ領域のサイズが前記第2サイズであると予測し、推定された前記所要時間が設定時間未満である場合に、前記次に必要とするメモリ領域のサイズが前記第1サイズであると予測する
    請求項12ないし15のいずれかに記載のコンピュータープログラム。
  17. 前記情報機器は、前記第1処理が行なわれており、かつ前記第2処理手段によって行なわれようとしている前記第2処理が前記第1サイズのメモリ領域を必要とする処理である場合において、前記第2処理手段が前記第1処理手段に対して前記要求を行なうときに、行なわれている当該第1処理の終了時刻および行なわれようとしている当該第2処理の終了時刻を推定する推定手段を備えており、
    前記予測手段は、推定された前記第2処理の終了時刻の方が推定された前記第1処理の終了時刻よりも早い時刻である場合に、前記次に必要とするメモリ領域のサイズが前記第2サイズであると予測し、推定された前記第2処理の終了時刻の方が推定された前記第1処理の終了時刻よりも遅い時刻である場合に、前記次に必要とするメモリ領域のサイズが前記第1サイズであると予測する
    請求項12ないし15のいずれかに記載のコンピュータープログラム。
  18. 印刷およびデータ送信が可能な複合型の情報機器において実行されるコンピュータープログラムであって、
    前記情報機器が有するコンピューターを、第1処理手段、第2処理手段および予測手段として動作させ、
    前記予測手段は、前記第2処理手段が現時点で必要としているメモリ領域の次に必要とするメモリ領域のサイズを予測する手段であり、
    前記第2処理手段は、複数の送信データ生成処理のうちのいずれかを、前記第1処理手段から提供されたメモリ領域を使用して行ない、その際に前記予測手段によって予測されたサイズと現時点で必要としているメモリ領域のサイズとのうちで最も大きいサイズを少なくとももつメモリ領域の提供を前記第1処理手段に対して要求する手段であり、
    前記第1処理手段は、前記第2処理手段からの要求に応じて、印刷用のラスター画像データを生成する処理を行なうために割り当てられているメモリ領域のうちの一部である要求されたサイズのメモリ領域を前記第2処理手段に提供する手段である
    ことを特徴とするコンピュータープログラム。
  19. 複数の処理を並行して行なうためのメモリ共有方法であって、
    第1処理を行なう第1処理手段がメモリ内の所定サイズのメモリ領域を保有し、
    複数の第2処理のうちのいずれかを第1処理手段から提供されたメモリ領域を使用して行なう第2処理手段が、前記複数の第2処理のうちのいずれかを行なう際に、現時点で必要としているメモリ領域のサイズと次に必要になると予測されるメモリ領域のサイズとのうちで最も大きいサイズを少なくとももつメモリ領域の提供を前記第1処理手段に対して要求し、
    前記第1処理手段が、前記第2処理手段からの要求に応じて、保有している前記メモリ領域のうちの一部である要求されたサイズのメモリ領域を前記第2処理手段に提供する
    ことを特徴とするメモリ共有方法。
JP2014018640A 2014-02-03 2014-02-03 情報機器、コンピュータープログラムおよびメモリ共有方法 Active JP5928498B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014018640A JP5928498B2 (ja) 2014-02-03 2014-02-03 情報機器、コンピュータープログラムおよびメモリ共有方法
CN201510053655.XA CN104820617B (zh) 2014-02-03 2015-02-02 信息设备和存储器共享方法
US14/611,786 US10255533B2 (en) 2014-02-03 2015-02-02 Information device, computer-readable storage medium for computer program, and method for sharing memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014018640A JP5928498B2 (ja) 2014-02-03 2014-02-03 情報機器、コンピュータープログラムおよびメモリ共有方法

Publications (2)

Publication Number Publication Date
JP2015146518A JP2015146518A (ja) 2015-08-13
JP5928498B2 true JP5928498B2 (ja) 2016-06-01

Family

ID=53730919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014018640A Active JP5928498B2 (ja) 2014-02-03 2014-02-03 情報機器、コンピュータープログラムおよびメモリ共有方法

Country Status (3)

Country Link
US (1) US10255533B2 (ja)
JP (1) JP5928498B2 (ja)
CN (1) CN104820617B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170010574A (ko) * 2015-07-20 2017-02-01 삼성전자주식회사 정보처리장치, 영상처리장치 및 그들의 제어방법
JP6737402B2 (ja) * 2017-04-28 2020-08-05 京セラドキュメントソリューションズ株式会社 画像処理装置、及び画像形成装置
JP2019140492A (ja) * 2018-02-08 2019-08-22 コニカミノルタ株式会社 画像処理装置
US11195115B2 (en) * 2018-02-21 2021-12-07 Red Hat Israel, Ltd. File format prediction based on relative frequency of a character in the file
JP2019204228A (ja) * 2018-05-22 2019-11-28 村田機械株式会社 文書管理装置、及び、制御方法
JP7255237B2 (ja) * 2019-03-04 2023-04-11 コニカミノルタ株式会社 画像読取装置及び画像読取方法
JP2021135595A (ja) * 2020-02-25 2021-09-13 東芝テック株式会社 情報処理装置およびプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3882356B2 (ja) * 1998-09-04 2007-02-14 コニカミノルタビジネステクノロジーズ株式会社 デジタル画像出力装置
JP4340120B2 (ja) * 2002-10-29 2009-10-07 株式会社リコー 画像形成装置、記憶領域取得方法
JP4311398B2 (ja) * 2005-11-30 2009-08-12 ブラザー工業株式会社 複合機
JP2008073895A (ja) * 2006-09-19 2008-04-03 Ricoh Co Ltd 画像形成装置、画像形成方法、画像形成プログラム、及び、情報記録媒体
JP4407737B2 (ja) * 2007-09-28 2010-02-03 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置及びプログラム
JP5253055B2 (ja) * 2008-09-08 2013-07-31 キヤノン株式会社 画像処理装置、及びアプリケーション起動管理方法
JP5708049B2 (ja) 2011-03-07 2015-04-30 株式会社リコー 情報処理装置、制御方法、制御プログラム、及び記録媒体

Also Published As

Publication number Publication date
CN104820617A (zh) 2015-08-05
JP2015146518A (ja) 2015-08-13
US10255533B2 (en) 2019-04-09
CN104820617B (zh) 2018-06-26
US20150220825A1 (en) 2015-08-06

Similar Documents

Publication Publication Date Title
JP5928498B2 (ja) 情報機器、コンピュータープログラムおよびメモリ共有方法
US8477347B2 (en) Method and system for managing user setup information
JP4245055B2 (ja) 画像処理システム、画像処理装置、ジョブ処理方法およびプログラム
JP2011114598A (ja) 画像処理方法、画像処理装置、およびコンピュータプログラム
JP7062388B2 (ja) スキャン画像にファイル名等を設定するための装置、その制御方法及びプログラム
JP4826666B2 (ja) 画像データ取扱システム、画像処理システム、画像処理装置、画像データ提供方法、およびコンピュータプログラム
JP4415993B2 (ja) 画像処理装置、ジョブ処理方法及びプログラム
US20160094634A1 (en) Cooperation system
JP2003060839A (ja) 画像通信装置、画像処理装置、画像通信方法、画像処理方法、及びプログラム
US20130066910A1 (en) Information processing apparatus, information processing method, and program
US20150088986A1 (en) Information processing apparatus, and control method and storage medium therefor
KR20120054403A (ko) 화상형성장치에서 작업을 수행하는 방법, 이를 수행하는 화상형성장치 및 시스템
JP5704136B2 (ja) 画像形成装置、電子ペーパー印刷方法及び同印刷プログラム
JP6589343B2 (ja) 情報処理装置およびプログラム
US10409528B2 (en) Printing system that performs easily printing of unprinted pages when printing is interrupted, and printing method
US20090132707A1 (en) Service providing apparatus, control method thereof, and storage medium
JP2009069950A (ja) 画像処理装置、ジョブ処理方法及びプログラム
US9749481B2 (en) Image processing apparatus capable of transmitting image data, control method therefor, and storage medium storing control program therefor
JP5328499B2 (ja) 処理装置および方法、並びにプログラム
US11632484B2 (en) Image processing apparatus and non-transitory computer readable medium for preventing disclosure of contents of image data
JP6089621B2 (ja) 操作端末、操作端末を用いた情報処理システム、情報処理方法、プログラム
US8547584B2 (en) Information processing apparatus, image forming system, image forming method, and medium storing program thereof, for transferring a file whenever a first destination cannot be accessed
JP2005287042A (ja) 画像形成装置、画像形成方法および画像形成プログラム
JP2020072342A (ja) システム、方法、情報処理装置およびコンピュータプログラム
JP2020031307A (ja) 電子機器及びメモリー管理プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160210

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160411

R150 Certificate of patent or registration of utility model

Ref document number: 5928498

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150