(57)【要約】【課題】  極めて短いレスポンス時間で、指定されたソート順で、登録された送信先データを提供することができる送信先データ登録装置を提供すること。【解決手段】  本発明の送信先データ登録装置は、ＩＤ情報を含む複数のデータ項目のそれぞれについてのデータからなる送信先データを複数備えてなる登録データと、各データ項目をソートキーとして、各送信先データのＩＤ情報についてのデータからなるＩＤ配列をソートして得られる、データ項目毎のソート済みＩＤ配列とを記憶する記憶部と、前記データ項目の少なくとも１つをソートキーとして指定したソート済み登録データの要求を受け付ける入力部と、指定されたデータ項目についてのソート済みＩＤ配列を用いて登録データをソートしてソート済み登録データを生成するソート部と、生成したソート済み登録データを出力する出力部とを備える。【選択図】図１１
2007060146.tif 000002
【特許請求の範囲】
【請求項１】
ＩＤ情報を含む複数のデータ項目のそれぞれについてのデータからなる送信先データを複数備えてなる登録データと、各データ項目をソートキーとして、各送信先データのＩＤ情報についてのデータからなるＩＤ配列をソートして得られる、データ項目毎のソート済みＩＤ配列とを記憶する記憶部と、
前記データ項目の少なくとも１つをソートキーとして指定したソート済み登録データの要求を受け付ける入力部と、
指定されたデータ項目についてのソート済みＩＤ配列を用いて登録データをソートしてソート済み登録データを生成するソート部と、
生成したソート済み登録データを出力する出力部とを備える送信先データ登録装置。
【請求項２】
データ項目は、送信先名称、送信タイプ、送信先アドレス、登録日時及びＩＤ情報からなる請求項１に記載の装置。
【請求項３】
第１及び第２データ項目が、それぞれ優先度１及び優先度２のソートキーとして指定されたとき、
ソート部は、第１データ項目についてのソート済みＩＤ配列を用いてテンポラリ配列を作成し、このテンポラリ配列を第２データ項目についてのソート済みＩＤ配列を用いてソートすることによって、登録データをソートする請求項１に記載の装置。
【請求項４】
ソート部は、指定されたデータ項目についてのソート済みＩＤ配列を用いてテンポラリ配列を作成し、このテンポラリ配列を予め定められた別のデータ項目についてのソート済みＩＤ配列を用いてソートすることによって、登録データをソートする請求項１に記載の装置。
【請求項５】
記憶部は、第１及び第２データ項目をそれぞれ優先度１及び優先度２のソートキーとしてソートしたときのソート済みＩＤ配列を記憶し、
第１及び第２データ項目が、それぞれ優先度１及び優先度２のソートキーとして指定されたとき、
ソート部は、前記ソート済みＩＤ配列を用いて登録データをソートする請求項１に記載の装置。
【請求項６】
記憶部は、データ項目毎にソートキーとして指定される頻度を記憶し、その頻度が所定値以上であるデータ項目についてのソート済みＩＤ配列のみを記憶する請求項１に記載の装置。
【請求項７】
記憶部は、複数のデータ項目の組み合わせ毎にソートキーとして指定される頻度を記憶し、その頻度が所定値以上である組み合わせに対応したソート済みＩＤ配列のみを記憶する請求項５に記載の装置。
【請求項８】
ソート済みＩＤ配列は、登録データが更新される度に更新される請求項１に記載の装置。
【請求項９】
ソート済みＩＤ配列は、所定時間毎に更新される請求項１に記載の装置。
【請求項１０】
記憶部は、入力部がソート済み登録データの要求ータ項目を受け付ける頻度を記憶し、
前記頻度が所定値を超える場合は、ソート済みＩＤ配列は、登録データが更新される度に更新され、前記頻度が所定値以下の場合は、ソート済みＩＤ配列は、所定時間毎に更新される請求項１に記載の装置。
【請求項１１】
記憶部は、揮発性メモリからなる請求項１に記載の装置。
【請求項１２】
記憶部は、同一のデータ項目に対してソーティング基準の異なる複数のソート済みＩＤ配列を記憶し、
入力部は、ソーティング基準の切り替え要求を受け付け、
ソート部は、切り替えられたソーティング基準に対応したソート済みＩＤ配列を用いて登録データをソートする請求項１に記載の装置。
【請求項１３】
コンピュータを、
ＩＤ情報を含む複数のデータ項目のそれぞれについてのデータからなる送信先データを複数備えてなる登録データと、各データ項目をソートキーとして、各送信先データのＩＤ情報についてのデータからなるＩＤ配列をソートして得られる、データ項目毎のソート済みＩＤ配列とを記憶する記憶部と、
前記データ項目の少なくとも１つをソートキーとして指定したソート済み登録データの要求を受け付ける入力部と、
指定されたデータ項目についてのソート済みＩＤ配列を用いて登録データをソートしてソート済み登録データを生成するソート部と、
生成したソート済み登録データを出力する出力部として機能させる送信先データ登録プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＡＮ等に接続されたパーソナルコンピュータ（以下、「ＰＣ」と呼ぶ）等の情報処理装置等からの要求に応じて、指定されたソート順で、登録された送信先データ（送信先名称、送信タイプ、送信先アドレス及び登録日時等が含まれる。）を提供することができる送信先データ登録装置に関する。送信先データ登録装置とは、例えば、送信先データ登録機能を有する複合機（スキャナ機能、ファクシミリ機能、電子メール送信機能等が複合された装置）である。
【背景技術】
【０００２】
特許文献１に記載されているファクシミリ装置などの通信端末装置は、送信先名称と送信先端末番号を対応付けてメモリに記憶している。また、この通信端末装置は、ＰＣと通信することができるため、ＰＣで作成したデータを、この通信端末装置を介して、所望の送信先に送信することが可能になっている。
【０００３】
また、ＰＣの操作者の便宜のため、通信端末装置は、ＰＣからの要求に応じて、メモリに記憶された送信先名称と送信先端末番号からなる登録データを、送信先名称順、使用頻度順、使用日時順等にソートして、ＰＣに送信する。ＰＣは、ソートされた登録データを画面に表示する。これによって、ＰＣの使用者は、所望の送信先を容易に発見することができる。
【特許文献１】特許第３５４４０７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記方法では、ＰＣから要求が来てから通信端末装置が登録データのソートを開始するため、ソートに費やす時間だけ、レスポンスが悪くなる。特に、近年のメモリ等の大容量化に伴って通信端末装置に登録されるデータの件数も多くなる傾向があり、ソート時間の増大によるレスポンスの悪化は、さらに深刻になりつつある。
【０００５】
本発明はこのような事情に鑑みてなされたものであり、極めて短いレスポンス時間で、指定されたソート順で、登録された送信先データを提供することができる送信先データ登録装置を提供するものである。
【課題を解決するための手段及び発明の効果】
【０００６】
本発明の送信先データ登録装置（以下、「本登録装置」とも言う。）は、ＩＤ情報を含む複数のデータ項目のそれぞれについてのデータからなる送信先データを複数備えてなる登録データと、各データ項目をソートキーとして、各送信先データのＩＤ情報についてのデータからなるＩＤ配列をソートして得られる、データ項目毎のソート済みＩＤ配列とを記憶する記憶部と、前記データ項目の少なくとも１つをソートキーとして指定したソート済み登録データの要求を受け付ける入力部と、指定されたデータ項目についてのソート済みＩＤ配列を用いて登録データをソートしてソート済み登録データを生成するソート部と、生成したソート済み登録データを出力する出力部とを備える。
【０００７】
本登録装置は、以下のように使用する。まず、「送信先名称」、「送信タイプ」、「送信先アドレス」、「登録日時」及び「ＩＤ情報」等のそれぞれについてのデータからなる送信先データを本登録装置に登録しておく。通常、複数の送信先データが本登録装置に登録される。複数の送信先データをまとめて「登録データ」と呼ぶ。各送信先データは、「ＩＤ情報」についてのデータによって一意に特定される。各送信先データの「ＩＤ情報」についてのデータからなる配列を「ＩＤ配列」と呼ぶ。ＩＤ情報は、数字及び文字の任意の組み合わせによって構成される。ＩＤ情報は、自動的に割り当てられるものであってもよく、操作者が手動で割り当ててもよい。
【０００８】
次に、各データ項目をソートキーとしてＩＤ配列をソートしてデータ項目毎にソート済みＩＤ配列を得る。例えば、「送信先名称」をソートキーとして、「送信先名称」についてのデータが５０音順又はアルファベット順等に並ぶように、ＩＤ配列をソートする。ソートによって得られる配列を「ソート済みＩＤ配列」と呼ぶ。ソート済みＩＤ配列は、データ項目ごとに作成する。ソート済みＩＤ配列は、全てのデータ項目に対して作成してもよいし、一部のデータ項目に対して作成してもよい。登録データ及びソート済みＩＤ配列は、本登録装置の記憶部に記憶される。本明細書において「記憶部」とは、ハードディスクなどの記憶装置又は高速に動作する揮発性メモリであるＲＡＭ等からなり、「記憶部に記憶」とは、これらのデバイスの何れかに記憶することを意味する。
【０００９】
次に、本登録装置の操作者が、上記データ項目の少なくとも１つをソートキーとして指定し、本登録装置の入力部は、その入力を受け付ける。操作者は、本登録装置が備えることができる操作パネルを用いてデータ項目を指定してもよいし、本登録装置にＬＡＮ等のネットワークを介して接続されたＰＣ等の情報処理装置を用いてソートキーとするデータ項目を指定してもよい。
【００１０】
例えば、ソートキーとして「送信先名称」が指定されたとする。このとき、操作者は、「送信先名称」についてのデータが５０音順等に並んだ登録データを即座に得ることを望むので、登録データのソートができるだけ素早く行われることが望まれる。
【００１１】
本登録装置では、ソート部が、受け付けたデータ項目についてのソート済みＩＤ配列を用いて登録データをソートして、ソート済み登録データを生成する。詳細は後述するが、ソート済みＩＤ配列を用いた登録データのソートは極めて短時間で行うことができる。ソート済み登録データは、ソート済み登録データを表示する機器の特徴を考慮して、任意のフォーマットで生成することができる。例えば、ソート済み登録データをＰＣの画面に表示する場合には、ＨＴＭＬ形式等で生成することができる。
【００１２】
指定するソートキーの数は、１つであっても２つ以上であってもよい。例えば、第１及び第２データ項目が、それぞれ優先度１及び優先度２のソートキーとして指定されたとき、ソート部は、第１データ項目についてのソート済みＩＤ配列を用いてテンポラリ配列を作成し、このテンポラリ配列を第２データ項目についてのソート済みＩＤ配列を用いてソートすることによって、登録データをソートすることができる。また、指定するソートキーの数が１つの場合、ソート部は、指定されたデータ項目についてのソート済みＩＤ配列を用いてテンポラリ配列を作成し、このテンポラリ配列を予め定められた別のデータ項目についてのソート済みＩＤ配列を用いてソートすることによって、登録データをソートするようにしてもよい。すなわち、予め定めた基準によって優先度２のソートキーを自動的に選択するのである。この基準は、それぞれのデータ項目の重要さなどに鑑みて適宜定めることができる。例えば、指定されたデータ項目が「送信タイプ」であれば、優先度２のソートキーして「送信先名称」を選択し、指定されたデータ項目が「送信先名称」であれば、優先度２のソートキーして「登録日時」を選択するというように予め対応関係を定めておく。
また、記憶部に、第１及び第２データ項目をそれぞれ優先度１及び優先度２のソートキーとしてソートしたときのソート済みＩＤ配列を記憶させ、第１及び第２データ項目が、それぞれ優先度１及び優先度２のソートキーとして指定されたとき、ソート部は、前記ソート済みＩＤ配列を用いて登録データをソートするようにしてもよい。
【００１３】
次に、本登録装置の出力部は、生成されたソート済み登録データを出力する。出力は、本登録装置の操作パネルの表示部に行ってもよいし、ネットワークを介して接続されたＰＣ等の情報処理装置の表示部に行ってもよい。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参酌して本発明の実施形態について説明する。本登録装置の一例として、送信先データ登録機能を有する複合機（スキャナ機能、ファクシミリ機能、電子メール送信機能等が複合された装置）を例にとって説明する。本登録装置は、これ以外にも、例えば、ＬＡＮ上に配置されたＰＣ等の情報処理装置が共同で使用する送信先データのデータベースとして機能する送信先データ登録サーバーであってもよい。
【００１５】
以下の説明では、ＬＡＮを介して接続されたＰＣが、少なくとも１つのデータ項目をソートキーとしてソートされた登録データを複合機に対して要求し、複合機がその要求に従ってＰＣにソートされた登録データを送り、ＰＣがその登録データをＰＣの表示部に表示する場合を例にとって説明する。
【００１６】
１．複合機の構成の説明
図１に示すように、本発明の一実施形態である複合機１は、スキャナ部３と、時計回路５と、操作表示部７と、ＲＡＭ９と、ＲＯＭ１０と、ＣＰＵ１１と、記憶装置１３と、インタフェース部１５とを備え、これらは、互いにバス１７を介して接続されている。ＣＰＵ１１は、ＲＯＭ１０に格納されたプログラムに従って、複合機１内の各部を制御し、このとき発生するデータ、又は受信したデータ等をＲＡＭ９に一時記憶して各種処理を実行する。スキャナ部３は、原稿読取部に配置された原稿上の画像を読み取る。時計回路５は、現在日時を出力する。操作表示部７は、ボタンやオペレーションパネルで構成され、操作者からの入力を受け付ける。記憶装置１３は、操作表示部７から入力された情報やスキャナ部３が読み取った画像等を記憶する。インタフェース部１５は、公衆電話回線及びＬＡＮとのインタフェースであり、複合機１は、インタフェース部１５を介してＦＡＸ送信やＬＡＮを介した通信を行う。
【００１７】
２．ＰＣの構成の説明
次に、複合機１にＬＡＮを介して接続され、複合機１に対して、少なくとも１つのデータ項目をソートキーとしてソートされた登録データを要求するＰＣの構成について説明する。
【００１８】
図２に示すように、このＰＣ２１は、表示部２２と、操作部２３と、ＲＡＭ２５と、ＣＰＵ２７と、記憶装置２９と、インタフェース部３１とを備え、これらは、互いにバス３３を介して接続されている。ＣＰＵ２７は、記憶装置２９に格納されたプログラムに従って、ＰＣ２１内の各部を制御し、このとき発生するデータ、又は受信したデータ等をＲＡＭ２５に一時記憶して各種処理を実行する。表示部２２には、操作画面や、複合機１から提供される登録データ等が表示される。操作部２３は、キーボードやマウスなどから構成され、操作者がＰＣ２１に指示を与えるために用いられる。インタフェース部３１は、ＬＡＮとのインタフェースであり、ＰＣ２１は、インタフェース部３１を介して複合機１との通信を行う。
【００１９】
３．送信先データの登録、削除、変更方法の説明
３−１．送信先データの登録
次に、ＰＣ２１を用いて、複合機１の記憶装置１３に送信先データを手動で登録する方法を説明する。
【００２０】
図３（ａ）に、ＰＣ２１の表示部２２に表示される送信先データ登録用画面の一例を示す。画面３５には、「送信先名称」、「送信先アドレス」及び「ＩＤ番号」についてのデータをそれぞれ登録するためのテキストボックス３７ａ〜３７ｃと、「送信タイプ」を選択するためのプルダウンメニュー３９と、入力された内容を複合機１に送信するための登録ボタン４１とが配置されている。
【００２１】
送信先名称用のテキストボックス３７ａには、送信先を示す名称を入力する。
送信タイプ選択用のプルダウンメニュー３９の右端の矢印３９ａを押下すると、図３（ｂ）に示すように、選択可能な送信タイプが現れ、そのうちの１つを選択することができる。なお、選択可能な送信タイプとしては、図３（ｂ）に示したもの以外に、「ＦＴＰ」，「共有フォルダ」等、必要な項目を設けることができる。
送信先アドレス用のテキストボックス３７ｂには、送信タイプが「Ｅ−ＭＡＩＬ」，「ＦＡＸ」，「デスクトップ」の場合には、それに対応させて、それぞれ、Ｅ−ＭＡＩＬアドレス，ＦＡＸ番号，ＩＰアドレスを入力する。
ＩＤ番号用のテキストボックス３７ｃには、送信先データを一意に特定する番号を入力する。番号の代わりに、ＩＤ情報として、数字と文字の組み合わせを入力するようにしてもよい。また、ＩＤ番号は、未入力な場合等には、利用可能な最も若い番号が自動的に割り当てられるようにしてもよい。
【００２２】
以上のデータを入力後、登録ボタン４１を押下する。これによって、入力されたデータが複合機１に送信される。複合機１は、ＰＣ２１からのデータを受信し、記憶装置１３に登録する。この際、時計回路５の出力を読み出し、登録日時も一緒に登録する。
【００２３】
なお、ここでは、送信先データを手動で登録する方法について説明したが、複合機１を経由して送信されるＥ−ＭＡＩＬやＦＡＸのＥ−ＭＡＩＬアドレスやＦＡＸ番号を自動登録するようにしてもよい（アドホックなデータの自動登録）。Ｅ−ＭＡＩＬの場合、送信先名称は、そのヘッダーから抽出することができる場合がある。抽出ができない場合は、空白にしておいて後で補充をするか、「ＴＥＭＰ」など予め定められた文字列を入力しておく。ＩＤ番号は、例えば利用可能な最も若い番号を割り当てる。
【００２４】
また、別の登録方法として、同じネットワークに接続された別の複合機に登録されている送信先データを取り込む方法がある。この場合、送信先データの取り込みは、ＰＣ２１から複合機１に対して、対象の複合機のＩＰアドレスを指定して、その複合機の送信先データの取り込み指令を送信することによって行うことができる。この指令によって新たに取り込む送信先データのＩＤ番号が、既に登録されている送信先データのＩＤ番号と重複する場合がある。この場合、新たに取り込む送信先データのＩＤ番号を変更し、例えば利用可能な最も若い番号を割り当てる。なお、ＩＰアドレスを指定する代わりに、ＵＳＢメモリなどのメディアを用いて、対象の複合機の送信先データを、直接複合機１に移動又はコピーしてもよい。送信先データの移動又はコピーは、ＰＣ２１から複合機１に対して、送信先データの含まれたファイルのバスを指定して、ファイル中の送信先データの取り込み指令を送信することによって行うことができる。
【００２５】
３−２．送信先データの削除
送信先データの削除は、ＰＣ２１から複合機１に対して、ＩＤ番号を指定して削除指令を送信することによって行うことができる。ＩＤ番号を指定する代わりに、ＰＣ２１の表示部２２に登録データの一覧（図９を参照））を表示させ、削除するデータを選択してもよい。
【００２６】
３−３．送信先データの変更
送信先データの変更は、ＰＣ２１から複合機１に対して、ＩＤ番号を指定し、かつ変更後のデータを指定して、変更指令を送信することによって行うことができる。変更後のデータは、変更するデータ項目についてのデータのみを指定すれば十分である。
【００２７】
４．登録データのデータ構造の説明
次に、図４に示す、複合機１の記憶装置１３に登録された登録データのデータ構造について説明する。
【００２８】
この登録データのデータ項目は、「送信先名称」、「送信タイプ」、「送信先アドレス」、「登録日時」及び「ＩＤ番号」である。これらのデータ項目のそれぞれについてのデータ（例えば、１行目では、「やまだ」、「E-mail」、「aaa@bbb.co.jp」、「2005/11/18 10:28」、「1」）をまとめて送信先データ（便宜的に、「行」と呼ぶこともある。）と呼ぶ。各送信先データは、「ＩＤ番号」の値によって一意に特定される。また、各送信先データの「ＩＤ番号」の値からなる配列をＩＤ配列と呼ぶ。ＩＤ配列の要素は、図４の例では、具体的には、｛１，２，３，４，７，１０，．．．，７８，８８，９０｝となる。
【００２９】
登録データは、「ＩＤ番号」をソートキーとしてソートされた状態で記憶装置１３に記憶されている。従って、例えば、「ＩＤ番号」の値が５である送信先データが追加される場合には、「ＩＤ番号」の値が４の行と７の行の間に挿入される。
【００３０】
５．ソート済みＩＤ配列のデータ構造の説明
複合機１の記憶装置１３には、各データ項目をソートキーとしてＩＤ配列をソートして得られる、データ項目毎のソート済みＩＤ配列も記憶されている。なお、ソート済みＩＤ配列は、高速なデータ処理を可能にするために、高速動作可能な揮発性メモリであるＲＡＭ９に記憶するようにしてもよい。この場合、ＲＡＭ９上のデータは、複合機１の電源がＯＦＦになると消去されるため、ソート済みＩＤ配列は、複合機１の電源がＯＮされる度に、作成されるか、記憶装置１３から読み出される。
【００３１】
「送信先名称」、「送信タイプ」、「送信先アドレス」及び「登録日時」のそれぞれをソートキーとして作成されたソート済みＩＤ配列を、図５（ａ）〜（ｄ）に示す。例えば、「送信先名称」をソートキーとして作成されたソート済みＩＤ配列の要素は、図５（ａ）に示すように、｛３，５６，１０，．．．，３０，４５，１｝となる。各要素は、「ＩＤ番号」の値を示しており、「送信先名称」をソートキーとして登録データをソートすると、「ＩＤ番号」の値が３の行、５６の行、１０の行，．．．，３０の行，４５の行，１の行がこの順で並べられることを意味している。ここでのソートは、バブルソートやクイックソート等公知のアルゴリズムによって行うことができる。
【００３２】
また、同一のデータ項目に対してソーティング基準が異なる複数のソート済みＩＤ配列を作成してもよい。例えば、「送信先名称」を例に取ると、「送信先名称」についてのデータを５０音順でソートしたときのソート済みＩＤ配列と、アルファベット順でソートしたときのソート済みＩＤ配列と、種々の言語の文字コード順でソートしたときのソート済みＩＤ配列をそれぞれ作成し、記憶装置１３に記憶しておいてもよい。この場合、ソーティング基準の切り替え要求を受け付けると、切り替えられたソーティング基準に対応したソート済みＩＤ配列を用いて登録データをソートすることによって、ソーティング基準の切り替えに素早く対応することができる。ソーティング基準の切り替え要求の一例は、表示言語の切り替え要求である。表示言語が異なると、ソーティング基準も異なることがあるからである。
【００３３】
例えば、表示言語が日本語である場合、５０音順でソートしたときのソート済みＩＤ配列を用いて登録データのソートを行い、表示言語を英語に切り替える要求を受け付けると、アルファベット順でソートしたときのソート済みＩＤ配列を用いて登録データのソートを行うことにより、表示言語が切り替わった場合でも素早くソート済みの登録データを生成することができる。
【００３４】
ソート済みＩＤ配列のデータ構造の別の実施形態を図６（ａ）〜（ｄ）に示す。この実施形態のデータ構造は、２つのデータ項目をソートキーとして登録データをソートするのに好適である。この実施形態のデータ構造は、「送信先名称」、「送信タイプ」、「送信先アドレス」及び「登録日時」の何れかと、「フラグ」というデータ項目をさらに備える。この場合、ソート済みＩＤ配列は、構造体配列となる。なお、本明細書において、「配列」の概念には、「構造体配列」も含まれている。
【００３５】
「フラグ」は、同じデータが複数存在しているかどうかを示すフラグである。同じデータが複数存在しているとき、「フラグ」の値として、例えば、「same」がセットされる。例えば、図６（ａ）を例に取ると、「すずき」や「田中」は、複数存在しているため、「フラグ」には、「same」がセットされているが、「はせがわ」や「三田」は、１つしか存在していないため、「フラグ」には何もセットされない。
【００３６】
また、優先度１のソートキーでソートされた後、優先度２のソートキーで再ソートされている場合は、優先度２のソートキーとして何が指定されたのか、つまりどのソートキーで再ソートが施されているのかを表すデータが「フラグ」にセットされる。優先度１のソートキーとして「送信先名称」を、優先度２のソートキーとして「登録日時」を指定した場合のデータ構造を図７に示す。「フラグ」には、優先度２のソートキー「登録日時」で再ソートされたことを示す「date」という値がセットされている。このようにして、一度でも複数のソートキーでソートされた場合には、そのソート済みＩＤ配列を記憶しておくことで、次回に同様の組み合わせのソートキーでのソート要求を受けた際のパフォーマンスを向上させることができる。
【００３７】
ソート済みＩＤ配列は、登録データが更新（すなわち、送信先データが追加、削除又は変更）される度に更新するようにしてもよいし、所定時間毎に更新されるようにしてもよい。また、ＰＣ２１からのソート済み登録データの要求頻度を記憶装置１３に記憶しておき、その頻度が所定値を超える場合は、ソート済みＩＤ配列は、登録データが更新される度に更新され、前記頻度が所定値以下の場合は、ソート済みＩＤ配列は、所定時間毎に更新されるようにしてもよい。
【００３８】
また、ソート済みＩＤ配列は、全てのデータ項目に対して作成してもよいし、一部のデータ項目に対して作成してもよい。例えば、記憶装置１３が、データ項目毎にソートキーとして指定される頻度を記憶しておき、その頻度が所定値以上であるデータ項目についてのソート済みＩＤ配列のみを作成して記憶装置１３に記憶するようにすることができる。この場合、パフォーマンスの低下を抑えつつ、ソート済みＩＤ配列が占める記憶容量を減らすことができる。
【００３９】
また、ソートキーが２つ以上指定される場合を想定すると、その全ての組み合わせについてソート済みＩＤ配列を作成すると、ソート済みＩＤ配列が占める記憶容量が非常に大きくなる。従って、予め定められた組み合わせについてのソート済みＩＤ配列のみを作成するようにしてもよい。また、記憶装置１３が、複数のデータ項目の組み合わせ毎にソートキーとして指定される頻度を記憶し、その頻度が所定値以上である組み合わせについてのソート済みＩＤ配列のみを記憶するようにすることができる。この場合、パフォーマンスの低下を抑えつつ、ソート済みＩＤ配列が占める記憶容量を減らすことができる。
【００４０】
６．ソート済み登録データの要求のフローの説明
次に、図８を用いて、ＰＣ２１が複合機１に対してソート済み登録データを要求し、複合機１が要求に応じて生成したソート済み登録データを受信し、このデータを表示部２２に表示するまでの一連のフローを説明する。
【００４１】
まず、ＰＣ２１は、その操作部２３を介した操作者からの指示により、インタフェース部３１を介して複合機１に対してその記憶装置１３に記憶されている登録データを要求する（Ｓ１）。複合機１は、この要求を受けて、記憶装置１３から登録データを読み出し、ＨＴＭＬ形式などに変換して、インタフェース部３１を介してＰＣ２１に送信する（Ｓ２）。ＰＣ２１は、登録データを受信して（Ｓ３）、表示部２２に表示する（Ｓ４）。このとき、表示部２２に表示される画面を図９に示す。図９では、登録データが、複合機１の記憶装置１３に記憶されている順序で（「ＩＤ番号」をソートキーとしてソートされた順序で）、表示されている。ここまでは、登録データをソートせずに読み出す工程である。なお、ここまでの工程は、省略して、次からの工程によりソート済みの登録データのみを取得するようにしてもよい。
【００４２】
図９には、優先度１のソートキーを選択するためのラジオボタン群４３と、優先度２のソートキーを選択するためのラジオボタン群４５と、ソート実行ボタン４７とが表示されている。
【００４３】
例えば、操作者が、優先度１のソートキーとして「送信先名称」を選択し、優先度２のソートキーを「無指定」としたとする。このとき、ソート実行ボタン４７が押下されると、「送信先名称」のみをソートキーとして指定したソート済み登録データの要求が複合機１に送られる（Ｓ５）。また、別の例として、操作者が、優先度１のソートキーとして「送信先名称」を選択し、優先度２のソートキーとして「登録日時」を選択したとする。このとき、ソート実行ボタン４７が押下されると、「送信先名称」を優先度１のソートキーとして、「登録日時」を優先度２のソートキーとして指定したソート済み登録データの要求が複合機１に送られる（Ｓ５）。
【００４４】
複合機１は、ソートキーとしてのデータ項目の指定とソート済み登録データの要求を受信し（Ｓ６）、指定されたデータ項目についてのソート済みＩＤ配列を用いて登録データをソートして、ソート済み登録データを生成する（Ｓ７）。Ｓ７のソート済み登録データ生成工程については、後述する。
【００４５】
次に、複合機１は、生成されたソート済み登録データを、ＨＴＭＬ形式などに変換して、ＰＣ２１に送信する（Ｓ８）。
【００４６】
ＰＣ２１は、ソート済み登録データを受信し（Ｓ９）、表示部２２に表示する（Ｓ１０）。このとき、表示部２２に表示される画面を図１０に示す。「送信先名称」をソートキーとして登録データがソートされていることが分かる。
【００４７】
７．ソート済み登録データの生成工程の説明
ソート済み登録データの生成工程のフローは、指定されたソートキーの数が１つの場合と、２つの場合とで異なる。
【００４８】
７−１．指定されたソートキーの数が１つの場合
指定されたソートキーの数が１つの場合について、図１１のフローチャートを用いて説明する。ソートキーとして「送信先名称」のみが指定された場合を例にとって説明する。
【００４９】
まず、複合機１のＣＰＵ１１は、「送信先名称」についてのソート済みＩＤ配列（図５（ａ））の要素を１つ読み出す（Ｓ２１）。
【００５０】
次に、ＣＰＵ１１は、この要素の値と「ＩＤ番号」の値が同じである送信先データを読み出す（Ｓ２２）。具体的には、図５（ａ）の配列の最初の要素の値が３なので、図４の表の「ＩＤ番号」が３の行のデータを読み出す。読み出した送信先データは、ＲＡＭ９に設けられたソート済み登録データ用の領域に格納される（Ｓ２３）。
【００５１】
次に、ＣＰＵ１１は、ソート済みＩＤ配列に未読の要素が残っているかどうかを確認し（Ｓ２４）、残っていれば、Ｓ２１に戻り、ソート済みＩＤ配列の次の要素を読み出す。
【００５２】
ソート済みＩＤ配列に未読の要素が残っていない場合は、ソート済み登録データの生成が完了する。
【００５３】
ここでは、ソート済みＩＤ配列を昇順に読み出して登録データのソートを行ったが、ソート済みＩＤ配列を降順に読み出して登録データのソートを行ってもよい。この場合、ソート済み登録データも降順にソートされることになる。また、データが降順に並んだソート済みＩＤ配列を予め作成しておいてもよい。
【００５４】
７−２．指定されたソートキーの数が２つの場合
指定されたソートキーの数が２つの場合について、図１２のフローチャートを用いて説明する。優先度１のソートキーとして「送信先名称」が指定され、優先度２のソートキーとして「登録日時」が指定された場合を例にとって説明する。
【００５５】
本発明の方法により、２つのソートキーでソートされたソート済み登録データを得るためには、ソート済みＩＤ配列は、図６（ａ）〜（ｄ）に示すような、３つのデータ項目を有する構造体配列にしておくことが好ましい。
【００５６】
まず、複合機１のＣＰＵ１１は、優先度１のソートキー「送信先名称」についてのソート済みＩＤ配列（図６（ａ））（以下、「第１ソート済みＩＤ配列」と呼ぶ。）に未読の要素があるかどうか（つまり、既に最後の要素が読まれたかどうか）を確認し（Ｓ４０）、未読の要素がある場合には、Ｓ４１に移動し、第１ソート済みＩＤ配列の要素（例えば、最初の要素は、（「すずき」，「３」，「same」））を１つ読み出す。未読の要素がない場合は、Ｓ４５に移動する。
【００５７】
次に、Ｓ４２では、読み出した要素の「フラグ」についてのデータを確認して、第１ソート済みＩＤ配列が、優先度２のソートキー「登録日時」についてもソート済みであるかどうかを確認する。「フラグ」についてのデータが「same」となっていれば、未ソートであると判断し、「date」となっていれば、ソート済みであると判断する。ソート済みであれば、Ｓ４７に移動し、未ソートであれば、Ｓ４３に移動する。
【００５８】
次に、Ｓ４３では、読み出した要素が、第１ソート済みＩＤ配列の最初の要素であるか、又は、読み出した要素のソートキーである「送信先名称」についてデータが、１つの前に読み出した要素と同じであるかを確認する。この何れかの条件に当てはまれば、Ｓ４４に移動し、何れの条件にも当てはまらなければ、Ｓ４５に移動する。
【００５９】
次に、Ｓ４４では、読み出した要素をテンポラリ配列に格納し、Ｓ４０に戻る。
【００６０】
Ｓ４０〜Ｓ４４のステップが繰り返されることによって、ソートキーである「送信先名称」についてデータが同じである要素がテンポラリ配列に格納される。
【００６１】
第１ソート済みＩＤ配列の未読要素が無くなるか（Ｓ４０でＮＯ）、ソートキーである「送信先名称」についてのデータが、１つの前に読み出した要素と異なる（Ｓ４３でＮＯ）場合には、Ｓ４５に移動する。Ｓ４５では、テンポラリ配列に格納された要素が、優先度２のソートキーでのソート順で第１ソート済みＩＤ配列に戻される。具体的には、テンポラリ配列に格納された各要素が、優先度２のソートキーについてのソート済みＩＤ配列（以下、「第２ソート済みＩＤ配列」と呼ぶ。）で何番目に現れるかを調べ、早く現れる順に第１ソート済みＩＤ配列に格納する。このとき、優先度２のソートキー「登録日時」でソートされたことを示す値「date」を第１ソート済みＩＤ配列に格納する要素の「フラグ」に設定する。
【００６２】
次に、Ｓ４６では、テンポラリ配列を空にし、Ｓ４７では、優先度２のソートキーでソート済みの部分について、ソート済み登録データを生成する。Ｓ４２でＹＥＳの場合は、第１ソート済みＩＤ配列の全ての要素が、優先度２のソートキーについてもソートされていると考えられるので、全ての要素について、ソート済み登録データを生成し、ソート済み登録データの生成が完了する。一方、Ｓ４５を経由した場合は、テンポラリ配列に格納された要素についてのみ、優先度２のソートキーについてソートされているので、この要素についてのみソート済み登録データを生成する。ここでのソート済み登録データを生成方法は、図１１のフローチャートを用いて説明した方法と同じである。
【００６３】
次に、Ｓ４８では、Ｓ４１で読み出した要素が未処理であるかどうか（この要素について、ソート済み登録データが作成されたかどうか）を確認する。通常は、未処理であるので、Ｓ４８はＹＥＳとなり、Ｓ４４に移動し、未処理要素がテンポラリ配列に格納され、Ｓ４０に移動する。
Ｓ４０がＮＯの場合は、新たな要素の読み出しがないので、Ｓ４８はＮＯとなる。このとき、第１ソート済みＩＤ配列の全ての要素について、ソート済み登録データが生成されていることになるので、フローが完了する。
【００６４】
７−１で説明したのと同様に、ソート済みＩＤ配列を降順に読み出すか、降順にソートされたソート済みＩＤ配列を準備することによって、降順にソートされたソート済み登録データを生成することができる。
【図面の簡単な説明】
【００６５】
【図１】本発明のアドレス登録装置の一例である複合機の一実施形態を示す構成ブロック図である。
【図２】本発明のアドレス登録装置の一例である複合機に対して、少なくとも１つのデータ項目をソートキーとしてソートされた登録データを要求するＰＣの構成を示す構成ブロック図である。
【図３】本発明のアドレス登録装置の一例である複合機に、送信先データを登録するためにＰＣの表示部に表示される画面の一例を示す。
【図４】本発明のアドレス登録装置の一例である複合機の記憶装置に記憶される登録データのデータ構造を示す。
【図５】本発明のアドレス登録装置の一例である複合機の記憶装置に記憶されるソート済みＩＤ配列のデータ構造を示す。
【図６】本発明のアドレス登録装置の一例である複合機の記憶装置に記憶されるソート済みＩＤ配列の別のデータ構造を示す。
【図７】図６に示すソート済みＩＤ配列の「フラグ」に「date」という値が設定された状態を示す。
【図８】本発明のアドレス登録装置の一例である複合機に対して、ＰＣがソート済み登録データを要求する手順を説明するためのフローチャートである。
【図９】本発明のアドレス登録装置の一例である複合機に対して、ＰＣがソート済み登録データを要求するための画面の一例を示す。
【図１０】本発明のアドレス登録装置の一例である複合機からＰＣが受け取ったソート済み登録データを表示した画面の一例を示す
【図１１】本発明のアドレス登録装置の一例である複合機が、ソート済み登録データを作成する手順を示すフローチャートである。
【図１２】本発明のアドレス登録装置の一例である複合機が、ソート済み登録データを作成する別の手順を示すフローチャートである。
【図１】
2007060146.tif 000003
【図２】
2007060146.tif 000004
【図３】
2007060146.tif 000005
【図４】
2007060146.tif 000006
【図５】
2007060146.tif 000007
【図６】
2007060146.tif 000008
【図７】
2007060146.tif 000009
【図８】
2007060146.tif 000010
【図９】
2007060146.tif 000011
【図１０】
2007060146.tif 000012
【図１１】
2007060146.tif 000013
【図１２】
2007060146.tif 000014