(57)【要約】【課題】階層構造のデータを、それぞれの配信先に適した構造に加工して配信する。【解決手段】端末装置に対しデータを配信するサーバ装置であって、配信すべきデータを構成する複数のレコードを、端末装置における表示の単位を表すカテゴリ毎に記憶しているデータ記憶部と、それぞれのカテゴリに含まれるレコードの数が、配信先の端末装置に対応して予め定められた上限数を超えるか否かを判断する判断部と、それぞれのカテゴリに含まれるレコードの数を上限数以下とするために、レコードの数が上限数を超えるカテゴリに含まれる複数のレコードを、複数のサブ・カテゴリに更に分類する分類部と、複数のサブ・カテゴリに分類されたレコードを含む複数のレコードを端末装置に対し配信する配信部とを備えるサーバ装置を提供する。【選択図】図４
2007334706.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置と、前記サーバ装置からデータの配信を受ける端末装置とを備えるシステムであって、
前記サーバ装置は、
配信すべきデータを構成する複数のレコードをカテゴリ毎に記憶しているデータ記憶部と、
それぞれのカテゴリに含まれるレコードの数が、配信先の端末装置に対応して予め定められた上限数を超えるか否かを判断する判断部と、
それぞれのカテゴリに含まれるレコードの数を前記上限数以下とするために、レコードの数が前記上限数を超えるカテゴリに含まれる複数のレコードを、複数のサブ・カテゴリに更に分類する分類部と、
複数のサブ・カテゴリに分類されたレコードを含む複数のレコードを前記端末装置に対し配信する配信部と
を有し、
前記端末装置は、
利用者にカテゴリを指定させるために、配信を受けたレコードの複数のカテゴリの選択画面を表示する表示部と、
指定されたカテゴリにサブ・カテゴリが含まれることを条件に、指定された前記カテゴリに含まれる複数のサブ・カテゴリの選択画面を、利用者にサブ・カテゴリを指定させるために前記表示部に表示させるカテゴリ表示制御部と、
指定されたカテゴリにサブ・カテゴリが含まれないことを条件に、または、サブ・カテゴリを含まないサブ・カテゴリが指定されたことを条件に、指定された前記カテゴリまたは前記サブ・カテゴリに含まれる複数のレコードを前記表示部に表示させるレコード表示制御部と
を有するシステム。
【請求項２】
前記分類部は、分類した前記複数のサブ・カテゴリのそれぞれについて、当該サブ・カテゴリに含まれるレコードの数が前記上限数以下とならないことを条件に、当該サブ・カテゴリに含まれる複数のレコードを複数のサブ・カテゴリに更に分類し、
前記カテゴリ表示制御部は、指定されたサブ・カテゴリに更にサブ・カテゴリが含まれることを条件に、指定された前記サブ・カテゴリに含まれる複数のサブ・カテゴリの選択画面を、利用者にサブ・カテゴリを指定させるために前記表示部に表示させる
請求項１に記載のシステム。
【請求項３】
前記端末装置は、
当該端末装置の処理能力および前記表示部に一覧表示可能な情報量に応じて予め定められ、１つのカテゴリに含めることのできるレコードの上限数を記憶する上限数記憶部と、
データの配信要求に対応付けて、記憶された前記上限数を前記サーバ装置に送信する要求送信部と
を更に有し、
前記判断部は、前記データの配信要求に応じ、それぞれのカテゴリに含まれるレコードの数が、前記要求送信部から受信した前記上限数を超えるか否かを判断する
請求項１に記載のシステム。
【請求項４】
前記上限数記憶部は、１つのカテゴリに含まれるレコードが前記上限数を超えた場合にレコードをサブ・カテゴリに分類する分類方法を更に記憶し、
前記要求送信部は、データの配信要求および前記上限数に対応付けて、更に前記分類方法を前記サーバ装置に送信し、
前記分類部は、レコードの数が前記上限数を超えるカテゴリに含まれる複数のレコードを、前記要求送信部から受信した前記分類方法によって、複数のサブ・カテゴリに分類する
請求項３に記載のシステム。
【請求項５】
前記上限数記憶部は、分類の基準とするレコードの属性と、それぞれのサブ・カテゴリに分類するレコードが当該属性について満たすべき条件との組を、前記分類方法として記憶し、
前記分類部は、レコードの数が前記上限数を超えるカテゴリに含まれる複数のレコードを、前記分類方法によって指定された属性が、前記分類方法によって指定されたそれぞれの条件を満たすか否かによって、複数のサブ・カテゴリに分類する
請求項４に記載のシステム。
【請求項６】
前記上限数記憶部は、更に、分類対象のカテゴリの名称からそれぞれのサブ・カテゴリの名称を生成する名称生成方法を記憶しており、
前記分類部は、前記名称生成方法に基づき分類後のサブ・カテゴリのそれぞれの名称を生成し、
前記カテゴリ表示制御部は、サブ・カテゴリの選択画面として、生成されたサブ・カテゴリの名称を前記表示部に表示させる
請求項５に記載のシステム。
【請求項７】
前記サーバ装置は、
前記分類部によってレコードがサブ・カテゴリに分類される毎に、分類後のカテゴリーの構造を示す情報を、前記上限数および前記分類方法の組に対応付けて記憶するキャッシュ部と、
前記要求送信部から前記上限数および前記分類方法を受信したことに応じ、当該上限数および当該分類方法の組によって前記キャッシュ部を検索するキャッシュ検索部と
を更に有し、
前記配信部は、前記要求送信部から受信した前記上限数および前記分類方法の組が検索されたことを条件に、当該上限数および前記分類方法の組に対応する構造を前記キャッシュ部から読み出して当該構造によって分類したレコードを配信する
請求項４に記載のシステム。
【請求項８】
前記判断部は、前記要求送信部から受信した前記上限数および前記分類方法の組が前記キャッシュ部から検索されたことに応じ、当該上限数および当該分類方法の組が前記キャッシュ部に記憶されてから前記データ記憶部が更新されたか否かを判断し、前記データ記憶部が更新されたことを条件に、それぞれのカテゴリに含まれるレコードの数が配信先の端末装置に対応して予め定められた上限数を超えるか否かを判断し、
前記分類部は、レコードの数が前記上限数を超えるカテゴリに含まれる複数のレコードを、複数のサブ・カテゴリに分類し
前記配信部は、それぞれのカテゴリについて、前記キャッシュ部において当該上限数および当該分類方法の組に対応付けて記憶された構造と、前記分類部によって分類されたサブ・カテゴリの構造とが異なることを条件に、当該カテゴリについて前記分類部によって新たにサブ・カテゴリに分類されたレコードを配信する
請求項７に記載のシステム。
【請求項９】
前記配信部は、前記端末装置の前記上限数記憶部に記憶すべき前記上限数および前記分類方法を前記端末装置に更に配信し、
前記端末装置は、配信を受けた前記上限数および前記分類方法を前記上限数記憶部に記憶すると共に、利用者から受けた指示に応じ、記憶した前記上限数および前記分類方法を変更する上限数管理部を更に有する
請求項４に記載のシステム。
【請求項１０】
端末装置に対しデータを配信するサーバ装置であって、
配信すべきデータを構成する複数のレコードを、前記端末装置における表示の単位を表すカテゴリ毎に記憶しているデータ記憶部と、
それぞれのカテゴリに含まれるレコードの数が、配信先の端末装置に対応して予め定められた上限数を超えるか否かを判断する判断部と、
それぞれのカテゴリに含まれるレコードの数を前記上限数以下とするために、レコードの数が前記上限数を超えるカテゴリに含まれる複数のレコードを、複数のサブ・カテゴリに更に分類する分類部と、
複数のサブ・カテゴリに分類されたレコードを含む複数のレコードを前記端末装置に対し配信する配信部と
を備えるサーバ装置。
【請求項１１】
サーバ装置によって、端末装置に対しデータを配信する方法であって、
当該サーバ装置は、配信すべきデータを構成する複数のレコードを、前記端末装置における表示の単位を表すカテゴリ毎に記憶しており、
それぞれのカテゴリに含まれるレコードの数が、配信先の端末装置に対応して予め定められた上限数を超えるか否かを判断するステップと、
それぞれのカテゴリに含まれるレコードの数を前記上限数以下とするために、レコードの数が前記上限数を超えるカテゴリに含まれる複数のレコードを、複数のサブ・カテゴリに更に分類するステップと、
複数のサブ・カテゴリに分類されたレコードを含む複数のレコードを前記端末装置に対し配信するステップと
を備える方法。
【請求項１２】
端末装置に対しデータを配信するサーバ装置として、情報処理装置を機能させるプログラムであって、
前記情報処理装置を、
配信すべきデータを構成する複数のレコードを、前記端末装置における表示の単位を表すカテゴリ毎に記憶しているデータ記憶部と、
それぞれのカテゴリに含まれるレコードの数が、配信先の端末装置に対応して予め定められた上限数を超えるか否かを判断する判断部と、
それぞれのカテゴリに含まれるレコードの数を前記上限数以下とするために、レコードの数が前記上限数を超えるカテゴリに含まれる複数のレコードを、複数のサブ・カテゴリに更に分類する分類部と、
複数のサブ・カテゴリに分類されたレコードを含む複数のレコードを前記端末装置に対し配信する配信部と
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの配信システムおよびその方法に関する。特に、本発明は、データをカテゴリに分類して配信するシステムおよびその方法に関する。
【背景技術】
【０００２】
近年、サーバ装置に記憶されたデータを、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）や携帯電話などの小型な端末装置に対し配信して、サーバ装置と端末装置とで記憶しているデータを同期する技術が用いられている。このような技術において配信されるデータのサイズは比較的大きいので、配信されるデータは、検索を容易にするためにカテゴリに分類されている場合が多い。例えば、商品のデータが商品名の頭文字や製造者名の頭文字によってカテゴリに分類されていると、端末装置の小型の画面にもカテゴリ中のデータを一覧表示できるので、利用者は所望のデータを探し出し易い。
【０００３】
特許文献１は、上述のようなカテゴリ分けをカラオケの曲目に応用することによって、所望の曲を簡単に検索することができる楽曲検索端末を開示している。また特許文献２は、カラオケの曲を選ぶ際に行った複数の検索条件を保存しておいて、後で保存した検索条件を呼び出して、簡単にもう一度検索して検索結果を表示するようにしたカラオケ用リモコン装置を開示している。
【０００４】
しかしながら、端末装置の性能、例えば、CPUの処理能力、メモリの容量、搭載しているアプリケーションプログラムの機能、画面表示領域などは、装置毎に異なる場合がある。この場合、全ての端末装置に対し一律に同一のデータを配信したのでは、データの検索が困難になる場合がある。例えば、ある端末装置の画面に１カテゴリ中のデータが一覧表示できても、他の端末装置においては１カテゴリ中のデータを一覧表示できない。また、１カテゴリ中のデータが多いと、ある端末装置のCPUにとっては処理負荷が大き過ぎて処理時間が大きくなってしまう。
【特許文献１】特開２００４−２４０１７９号公報
【特許文献２】特開２００４−１７７４４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
これに対し、従来、サーバ装置側と端末装置側とで２つの解決方法が考えられている。１つ目は、サーバ装置が、配信すべきデータを、最も性能の低い端末装置に適した構造となるように予め分類する方法である。しかしながら、この方法では、性能の高い端末装置においてその性能を最大限に発揮できない。また、更に性能の低い端末装置を配信先として新たに追加する場合には、データの分類を変更しなければならない。また、同一の性能の端末装置であっても、利用者の好みに応じて分類方法を変更するといった機能を提供することができない。
【０００６】
２つ目は、それぞれの端末装置が、当該端末装置の性能に合わせて検索を制限する方法である。例えば、端末装置は、利用者によりあるカテゴリが選択された場合であっても、そのカテゴリ中のレコードを画面に一覧表示できない場合には、一覧表示可能な数のレコードのみを検索し、その他のレコードは次回に検索する。また、端末装置は、選択されたカテゴリ中のレコードを画面に一覧表示できない場合には、レコードの数を減少させるべく更なる検索条件を利用者に要求する。しかしながら、このような制限を実現するためには、端末装置毎に異なる複雑な開発工程が生じるおそれがある。また、このような制限を実現しようとすると、検索の処理が複雑になり、かえって処理時間の増大を招くおそれもある。
【０００７】
そこで本発明は、上記の課題を解決することのできるシステム、方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明においては、サーバ装置と、前記サーバ装置からデータの配信を受ける端末装置とを備えるシステムであって、前記サーバ装置は、配信すべきデータを構成する複数のレコードをカテゴリ毎に記憶しているデータ記憶部と、それぞれのカテゴリに含まれるレコードの数が、配信先の端末装置に対応して予め定められた上限数を超えるか否かを判断する判断部と、それぞれのカテゴリに含まれるレコードの数を前記上限数以下とするために、レコードの数が前記上限数を超えるカテゴリに含まれる複数のレコードを、複数のサブ・カテゴリに更に分類する分類部と、複数のサブ・カテゴリに分類されたレコードを含む複数のレコードを前記端末装置に対し配信する配信部とを有し、前記端末装置は、利用者にカテゴリを指定させるために、配信を受けたレコードの複数のカテゴリの選択画面を表示する表示部と、指定されたカテゴリにサブ・カテゴリが含まれることを条件に、指定された前記カテゴリに含まれる複数のサブ・カテゴリの選択画面を、利用者にサブ・カテゴリを指定させるために前記表示部に表示させるカテゴリ表示制御部と、指定されたカテゴリにサブ・カテゴリが含まれないことを条件に、または、サブ・カテゴリが指定されたことを条件に、指定された前記カテゴリまたは前記サブ・カテゴリに含まれる複数のレコードを前記表示部に表示させるレコード表示制御部とを有するシステムを提供する。また、前記のサーバ装置、該サーバ装置によって端末装置にデータを配信する方法、および該サーバ装置として情報処理装置を機能させるプログラムを提供する。
【発明の効果】
【０００９】
本発明によれば、階層構造のデータを、それぞれの配信先に適した構造に加工して配信することができる。
【発明を実施するための最良の形態】
【００１０】
以下、発明を実施するための最良の形態（以下、実施形態と称す）を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１１】
図１は、情報処理システム１０の全体構成を示す。情報処理システム１０は、サーバ装置２０と、サーバ装置２０からデータの配信を受ける複数の端末装置３０とを備える。サーバ装置２０は、配信すべきデータを記憶しているデータ記憶部２５を有する。そして、サーバ装置２０は、何れかの端末装置３０から受けたデータの配信要求に応じ、データ記憶部２５からデータを読み出してその端末装置３０に対し配信する。端末装置３０は、表示部３５を有しており、配信を受けたそのデータを表示部３５に表示する。この際、端末装置３０がＰＤＡや携帯電話などの小型な装置である場合には、表示部３５が充分に広い表示域を有していない場合が多い。このような場合に膨大なデータを受信すると、端末装置３０は、データを一覧表示できないので、利用者は所望のデータを探し出しにくい。
【００１２】
これに対し、本実施形態に係るサーバ装置２０は、配信するデータを予めカテゴリに分類してデータ記憶部２５に記憶しておく。さらに、サーバ装置２０は、配信要求を受けると配信先の端末装置３０に適した構造となるように、カテゴリ中のデータを更にサブ・カテゴリに動的に分類して配信する。このようにすることで、端末装置３０に何らの負荷をかけずに、端末装置３０において利用者の利便性を高めることができる。
以下、カテゴリに分類された商品の情報をサーバ装置２０から端末装置３０に配信する場合を例に実施の形態を説明する。
【００１３】
図２は、データ記憶部２５のデータ構造の一例を示す。データ記憶部２５は、配信すべきデータを構成する複数のレコードをカテゴリ毎に記憶している。図２の例では、データ記憶部２５は、それぞれの商品の商品ＩＤをその商品のカテゴリに対応付けて記憶し、更に、その商品の属性（商品名や製造者名など）をレコードとして記憶している。また、データ記憶部２５は、各レコードの最終更新日時を記憶している。詳細には、商品１から商品８は食品カテゴリに分類され、商品９から商品１６は家具カテゴリに分類される。商品名および製造者名の一例として、商品１の商品名はＡＢＣであり、商品１の製造者名はＫＫＣＤであり、そのレコードの最終更新日時は０６年２月１日である。また、カテゴリまたはサブ・カテゴリとは、本実施形態に係るサーバ装置２０や管理者などによるレコードの分類であって、端末装置３０における表示の単位を示す。表示の単位は表示部３５の１画面であってもよいし、所定の数の画面であってもよい。即ち例えば、同一カテゴリ中のレコードは表示部３５において可能な限り１画面に一覧表示される。
【００１４】
図３は、表示部３５の第１の表示例を示す。表示部３５は、利用者にカテゴリを指定させるために、配信を受けたレコードの複数のカテゴリの選択画面を表示する。図３を参照して、カテゴリが更にサブ・カテゴリには分類されていない場合について説明する。図３の例は図２のデータに対応しており、表示部３５は食品カテゴリと家具カテゴリとを表示する。この選択画面において利用者によって食品カテゴリが指示されると、表示部３５は、食品カテゴリに分類されている複数の商品の商品名を一覧表示する。なお、図示の表示部３５の表示域は小さいので、表示部３５は食品カテゴリの全てのレコードを表示できていない。このような場合には、画面のスクロールが必要となったり、端末装置３０の処理負荷が高くなり処理時間が増加するので、利用者は所望のレコードを探し出しにくい。
【００１５】
図４は、サーバ装置２０の機能構成を示す。サーバ装置２０は、データ記憶部２５と、判断部２００と、分類部２１０と、配信部２２０と、キャッシュ検索部２３０と、キャッシュ部２４０とを有する。判断部２００は、データの配信要求に対応付けて、１つのカテゴリに含めることのできるレコードの上限数と、１つのカテゴリに含まれるレコードが上限数を超えた場合にレコードをサブ・カテゴリに分類する分類方法とを端末装置３０から受信する。この上限数は、配信先（即ち配信要求の送信元）の端末装置３０のユーザが指定してもよく、また端末装置３０の処理能力および表示部３５に一覧表示可能な情報量に応じて予め定めておいてもよい。判断部２００は、配信要求を受けると、データ記憶部２５中の各カテゴリを走査し、それぞれのカテゴリに含まれるレコードの数が、受信した当該上限数を超えるか否かを判断する。
【００１６】
分類部２１０は、それぞれのカテゴリに含まれるレコードの数をこの上限数以下とするために、レコードの数がその上限数を超えるカテゴリに含まれる複数のレコードを、受信したその分類方法によって、複数のサブ・カテゴリに更に分類する。分類部２１０は、レコードの数がその上限数を超えるカテゴリに含まれる複数のレコードを、受信した分類方法によって、複数のサブ・カテゴリに分類してもよい。また、分類部２１０は、分類した複数のサブ・カテゴリのそれぞれについて、当該サブ・カテゴリに含まれるレコードの数が上限数以下とならないことを条件に、当該サブ・カテゴリに含まれる複数のレコードを複数のサブ・カテゴリに更に分類してもよい。
【００１７】
配信部２２０は、複数のサブ・カテゴリに分類されたレコードを含む複数のレコードを端末装置３０に対し送信する。データ記憶部２５に記憶されたレコードの複製を端末装置３０において作成させたい場合には、配信部２２０は、サブ・カテゴリに分類されたレコードを分類部２１０から取得して配信し、サブ・カテゴリに分類されていない他の全てのカテゴリ中のレコードはデータ記憶部２５からそのまま取得して配信する。なお、配信部２２０は、レコードの最初の配信に先立ち上限数の初期値を設定させるために、端末装置３０の上限数記憶部３００に記憶すべき上限数および分類方法をそれぞれの端末装置３０に配信してもよい。
【００１８】
キャッシュ部２４０は、分類部２１０によってレコードがサブ・カテゴリに分類される毎に、分類後のカテゴリの構造を示す情報を、受信した上限数および分類方法の組に対応付けて記憶する。そして、キャッシュ検索部２３０は、次回以降に端末装置３０から上限数および分類方法を受信したことに応じ、当該上限数および当該分類方法の組によってキャッシュ部２４０を検索する。当該上限数および当該分類方法の組が検索されなかった場合には、配信部２２０は、上述の通り分類部２１０によってサブ・カテゴリに分類されたレコードを含むレコードを端末装置３０に配信する。一方、配信部２２０は、当該上限数および分類方法の組がキャッシュ部２４０において検索されたことを条件に、当該上限数および当該分類方法の組に対応する構造をキャッシュ部２４０から読み出して当該構造によって分類したレコードを端末装置３０に配信する。これにより、配信要求を受けてから配信するまでの所要時間を短縮できる。
【００１９】
図５は、キャッシュ部２４０のデータ構造の一例を示す。キャッシュ部２４０は、かつて受信したことのある上限数および分類方法のＩＤの組に対応付けて、カテゴリ中のレコード数をその上限数以下とするために当該ＩＤの分類方法によって分類した分類後のカテゴリの構造を示す情報を記憶している。図５の例では、食品カテゴリおよび家具カテゴリのそれぞれについて、レコードがその商品名の頭文字によって分類された場合の構造を示している。即ち、食品カテゴリ中のレコードは、商品名の頭文字がＡかＢかによって食品Ａサブ・カテゴリおよび食品Ｂサブ・カテゴリに分類されている。食品Ａサブ・カテゴリには商品１から商品４のレコードが分類される。また、食品Ｂサブ・カテゴリには商品５から商品８のレコードが分類される。また、家具カテゴリ中のレコードもまた、商品名の頭文字がＡかＢかによって家具Ａサブ・カテゴリおよび家具Ｂサブ・カテゴリに分類されている。家具Ａサブ・カテゴリには商品９、商品１０、商品１２および商品１５が分類される。家具Ｂサブ・カテゴリには商品１１、商品１３、商品１４および商品１６が分類される。このように上限数等に対応付けて分類の構造を記憶することで、キャッシュ検索部２３０は同様の配信要求に対し迅速にレコード分類の構造を判断できる。なお、本図においてキャッシュ部２４０は分類方法それ自体に代えて分類方法のＩＤを記憶しているが、記憶する情報は分類方法それ自体であってもよいし、その他分類方法を識別可能な情報であれば構わない。さらに、キャッシュ部２４０は、上限数および分類方法の組と、構造の情報とに対応付けて、それらをキャッシュ部２４０に登録した日時を記憶してもよい。これにより、後に説明する差分配信において各エントリが最新かどうかを適切に検出できる。
【００２０】
図６は、端末装置３０の機能構成を示す。図６を参照して複数の端末装置３０のうちの１つを代表して説明する。なお、他のそれぞれの端末装置３０は、図６に示す端末装置３０とは利用者が異なり、上限数記憶部３００に記憶された上限数等が異なることの他、図６に示す端末装置３０と略同一であるから説明を省略する。端末装置３０は、表示部３５と、上限数記憶部３００と、要求送信部３１０と、上限数管理部３２０と、カテゴリ表示制御部３３０と、レコード表示制御部３４０と、複製データベース３５０とを有する。上限数記憶部３００は、端末装置３０の処理能力および表示部３５に一覧表示可能な情報量に応じて予め定められた、１つのカテゴリに含めることのできるレコードの上限数を記憶する。上限数は、例えば、表示部３５に表示可能な文字列の行数であってもよいし、予め定められた所要時間（例えば、１秒や２秒などの実時間）によって表示処理が可能と見積もられたレコードの数であってもよい。また、上限数記憶部３００は、１つのカテゴリに含まれるレコードが上限数を超えた場合にレコードをサブ・カテゴリに分類する分類方法を更に記憶してもよい。この分類方法は、データベース管理装置などによって読み取り可能な所定のコマンド、たとえばＳＱＬ（Ｓｅｑｕｅｎｃｉａｌ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）によって記述されていてもよい。
【００２１】
要求送信部３１０は、データの配信要求に対応付けて、上限数記憶部３００に記憶された上限数、および、分類方法をサーバ装置２０に対し送信する。上限数管理部３２０は、サーバ装置２０によるレコードの最初の配信に先立って、配信部２２０から上限数および分類方法の初期値の配信を受ける。配信を受けた上限数および分類方法は上限数記憶部３００に記憶される。そして、上限数管理部３２０は、利用者からその後に受けた指示に応じ、記憶したその上限数および分類方法を変更する。このように、上限数および分類方法を端末装置３０の利用者によって設定可能としておくことで、端末装置３０の利用者は、デバイスの特性（パフォーマンス・画面表示領域）や利用者自身の好みに応じてカテゴリ選択画面をカスタマイズすることができる。
【００２２】
複製データベース３５０は、配信要求に応じて配信部２２０から配信されたレコードを記憶する。表示部３５は、利用者にカテゴリを指定させるために、配信を受けたレコードの複数のカテゴリの選択画面を利用者に表示する。カテゴリ表示制御部３３０は、利用者によって指定されたカテゴリにサブ・カテゴリが含まれるかを判断する。指定されたカテゴリにサブ・カテゴリが含まれることを条件に、カテゴリ表示制御部３３０は、指定されたそのカテゴリに含まれる複数のサブ・カテゴリの選択画面を、利用者にサブ・カテゴリを指定させるために表示部３５に表示させる。
【００２３】
利用者によって指定されたサブ・カテゴリに更にサブ・カテゴリが含まれることを条件に、カテゴリ表示制御部３３０は、指定されたそのサブ・カテゴリに含まれる複数のサブ・カテゴリの選択画面を、利用者にサブ・カテゴリを指定させるために表示部３５に表示させる。レコード表示制御部３４０は、利用者により指定されたカテゴリにサブ・カテゴリが含まれないことを条件に、または、サブ・カテゴリを含まないサブ・カテゴリが指定されたことを条件に、指定されたそのカテゴリ又はそのサブ・カテゴリに含まれるレコードを表示部３５に表示させる。
【００２４】
図７は、上限数記憶部３００のデータ構造の一例を示す。上限数記憶部３００は、１つのカテゴリに含めることのできるレコードの上限数に対応付けて、１つのカテゴリに含まれるレコードがその上限数を超えた場合にレコードをサブ・カテゴリに分類する分類方法を記憶している。図７の例では上限数記憶部３００は、上限数として４を記憶しており、分類の基準とするレコードの属性（分類キー）と、それぞれのサブ・カテゴリに分類するレコードが当該属性について満たすべき条件との組を、分類方法として記憶している。第１行目の例示によると、分類の基準とする属性は商品名であり、それぞれのサブ・カテゴリに分類するレコードが当該商品名について満たすべき条件は、その商品名の頭文字の種類がサブ・カテゴリ内で共通となることである。
【００２５】
さらに、上限数記憶部３００は、第２行目に例示するように、分類の基準とする属性として製造者名を記憶し、それぞれのサブ・カテゴリに分類するレコードが当該製造者名について満たすべき条件として、その製造者名の頭文字の種類がサブ・カテゴリ内で共通となる旨を記憶する。このように、上限数記憶部３００は、１つの上限数に対応付けて複数の分類方法を記憶していてもよい。この場合、要求送信部３１０は、カテゴリ中のレコードを第１行目に例示する第１の分類方法によって複数のサブ・カテゴリに分類し、それぞれのサブ・カテゴリ中のレコードが上限数以下とならない場合には、当該サブ・カテゴリ中のレコードを第２行目に例示する第２の分類方法によって更に分類する。このように多数の分類方法を指定しておけば、データ記憶部２５が更新されてレコード数が増加しても柔軟にカテゴリ構造を変更することができる。
【００２６】
図７の例に代えて、上限数記憶部３００は、それぞれのサブ・カテゴリについて、そのサブ・カテゴリに分類するレコードが属性について満たすべき条件を、個別に記憶していてもよい。即ち、上限数記憶部３００は、あるサブ・カテゴリに対応付けて分類の条件としてＡ＊を記憶し、他のサブ・カテゴリに対応付けて分類の条件としてＢ＊を記憶し、以降同様に、アルファベット順に順次先頭文字を指定して２６のサブ・カテゴリについて分類の条件を記憶していてもよい。但し、＊は任意の長さの文字列を含み、Ａ＊はＡで始まる文字列（ここでは商品名）の集合を示す。その他、分類方法を指定する具体的形態はこれらに限られず、それぞれのサブ・カテゴリのレコードが満たすべき条件を指定可能であれば、データベース中のレコードをグループ化するための既存技術を適用可能である。このように分類方法を利用者により指定可能としておけば、利用者の所望する任意の分類を実現でき、例えば、商品名の頭文字が共通のレコードを同一のサブ・カテゴリに分類したり、商品名の先頭から２文字が共通のレコードを同一のサブ・カテゴリに分類したり、製造者名の頭文字が共通のレコードを同一のサブ・カテゴリに分類することができる。
【００２７】
さらに、上限数記憶部３００は、分類の対象となるカテゴリの名称から、それぞれのサブ・カテゴリの名称を生成する名称生成方法を記憶していてもよい。この場合、分類部２１０は、その名称生成方法に基づき分類後のサブ・カテゴリのそれぞれの名称を生成し、カテゴリ表示制御部３３０は、サブ・カテゴリの選択画面として、生成されたサブ・カテゴリの名称を表示部３５に表示させる。この名称生成方法を適切に設定すれば、カテゴリ分類後の選択画面を予め定めることができる。
【００２８】
図８は、表示部３５の第２の表示例を示す。図８を参照して、図２に例示した食品のレコードが頭文字によって分類された分類後のデータに基づく表示例を示す。表示部３５は、まず、利用者にカテゴリを指定させるために、表示部３５は、配信を受けたレコードの複数のカテゴリの選択画面を表示する。ここでは食品カテゴリおよび家具カテゴリが表示される。食品カテゴリが選択された場合には、食品カテゴリには食品Ａサブ・カテゴリおよび食品Ｂサブ・カテゴリが含まれているので、カテゴリ表示制御部３３０は、食品Ａサブ・カテゴリおよび食品Ｂサブ・カテゴリの選択画面を表示する。ここで、食品Ａサブ・カテゴリは、食品カテゴリに含まれるレコードのうち商品名の頭文字がＡである商品のレコードを含み、食品Ｂサブ・カテゴリは、食品カテゴリに含まれるレコードのうち商品名の頭文字がＢである商品のレコードを含む。
【００２９】
利用者によって食品Ａサブ・カテゴリが指定されると、レコード表示制御部３４０は、サブ・カテゴリを含まない食品Ａサブ・カテゴリが指定されたので、食品Ａサブ・カテゴリに含まれる複数のレコードを表示部３５に表示させる。この結果、商品ＡＢＣ、商品ＡＡＡ、商品ＡＢＣＤおよび商品ＡＤＣＲが表示される。
図８を図３と比較して明らかなように、カテゴリをサブ・カテゴリに分類することで、表示部３５にはサブ・カテゴリ内の商品名を一覧表示できる。これにより、利用者はカテゴリの指定という操作の組み合わせによって所望のレコードを的確に探し出すことができる。
【００３０】
図９は、サーバ装置２０が配信要求に応じデータを配信する処理のフローチャートを示す。キャッシュ検索部２３０はデータの配信要求とともに上限数および分類方法を受信すると（Ｓ９００）、当該上限数および当該分類方法の組によってキャッシュ部２４０を検索する（Ｓ９１０）。当該上限数および当該分類方法の組が検索されなければ（Ｓ９２０：ＮＯ）、判断部２００は、データ記憶部２５に記憶されたそれぞれのカテゴリに含まれるレコードの数が当該上限数を超えるか否かを判断する（Ｓ９３０）。
【００３１】
何れのカテゴリについても上限数を超えなければ（Ｓ９３０：ＮＯ）、配信部２２０はデータ記憶部２５からレコードを読み出してそのまま端末装置３０に配信する（Ｓ９９０）。上限数を超えることを条件に（Ｓ９３０：ＹＥＳ）、分類部２１０は、レコードの数が当該上限数を超えるカテゴリに含まれる複数のレコードを、当該分類方法によって複数のサブ・カテゴリに分類する（Ｓ９４０）。そして、キャッシュ部２４０は、分類後のカテゴリの構造を示す情報を、当該上限数および当該分類方法の組に対応付けて記憶する（Ｓ９５０）。配信部２２０は、複数のサブ・カテゴリに分類されたレコードを含む複数のレコードを端末装置３０に対し配信する（Ｓ９９０）。
【００３２】
一方で、受信した当該上限数および当該分類方法がキャッシュ部２４０から検索されたことに応じ（Ｓ９２０：ＹＥＳ）、判断部２００は、当該上限数および当該分類方法の組がキャッシュ部２４０に記憶されてから更新されたレコードを含むカテゴリを検出する（Ｓ９５５）。この検出処理は、図２に例示した各レコードの更新日時と、図５に例示した各キャッシュエントリの登録日時とを比較することにより実現される。そして、判断部２００は、更新されたレコードを含むカテゴリのそれぞれについて、以下の処理を繰り返す（Ｓ９６０）。
【００３３】
まず、分類部２１０は、それぞれのカテゴリ中に含まれるレコードの数を上限数以下とするために、当該カテゴリ中のレコードを更に複数のサブ・カテゴリに分類する（Ｓ９６５）。そして、分類部２１０は、当該上限数および当該分類方法の組に対応付けてキャッシュ部２４０に記憶されたカテゴリの構造と、新たな分類によって生成されたカテゴリの構造とを比較する（Ｓ９７０）。カテゴリの構造がキャッシュ部２４０と比較して変化した場合には（Ｓ９７０：ＹＥＳ）、キャッシュ部２４０は、当該上限数および当該分類方法の組に対応付けて記憶していた構造を、新たな分類によって生成されたカテゴリの構造によって更新する（Ｓ９７５）。
【００３４】
一方で、カテゴリの構造が変化していなければ（Ｓ９７０：ＮＯ）、配信部２２０は、更新されたレコードのみを配信の対象として選択する（Ｓ９８０）。サーバ装置２０は、更新されたレコードを含むそれぞれのカテゴリについて、以上の処理を繰り返す（Ｓ９８５）。そして、配信部２２０は、Ｓ９８０によって選択されたレコード、および、構造の変化したカテゴリ中のレコードを、端末装置３０に対し配信する。このようにすることで、更新の差分のみを適切に配信することができ、通信トラフィックを軽減し、または、サーバ装置２０および端末装置３０の処理負荷を軽減できる。
【００３５】
図１０は、Ｓ９４０およびＳ９６５における処理の詳細を示す。分類部２１０は、レコードの数が上限数を超えるカテゴリに含まれる複数のレコードを、受信した分類方法によって、複数のサブ・カテゴリに分類する（Ｓ１０００）。具体的には、分類方法が属性とその属性が満たすべき条件を含む場合、分類部２１０は、レコードの数が上限数を超えるカテゴリに含まれる複数のレコードを、当該分類方法によって指定された属性が、当該分類方法によって指定されたそれぞれの条件を満たすか否かによって、複数のサブ・カテゴリに分類してもよい。そして、分類部２１０は、分類後の何れかのサブ・カテゴリ中のレコード数が当該上限数を超えているか否かを判断する（Ｓ１０１０）。
【００３６】
超えていれば（Ｓ１０１０：ＹＥＳ）、分類部２１０は、配信要求に対応付けて受信した複数の分類方法の中でまだ分類に使用していないものが残っているかを判断する（Ｓ１０２０）。分類に使用していないものが残っている場合には（Ｓ１０２０：ＮＯ）、分類部２１０は、次の分類方法を選択する（Ｓ１０３０）。そして、分類部２１０は、Ｓ１０００に処理を戻し、上限数を超えているそのカテゴリについて、選択した当該分類方法によって、レコードを更にサブ・カテゴリに分類する。即ち図７に図示した分類方法を例に採れば、分類部２１０は、まず商品名の頭文字で分類し、それでもまだレコード数が上限数を超えていれば、製造者名の頭文字で分類する。そして、何れのサブ・カテゴリについてもレコード数が上限数以下ならば（Ｓ１０１０：ＮＯ）、サーバ装置２０は図１０に示す処理を終了する。
【００３７】
一方、分類部２１０は、上限数を超えるカテゴリが存在するにも拘らず（Ｓ１０１０：ＹＥＳ）、受信した分類方法を全て適用済みである場合には（Ｓ１０２０：ＹＥＳ）、所定の後処理を行う（Ｓ１０４０）。例えば、分類部２１０は、分類方法を受信できなかったときのために予め定められた標準の分類方法によって、レコード数が上限数を超えるカテゴリ中のレコードを更にサブ・カテゴリに分類してもよい。また、分類部２１０は、更なるカテゴリ分類が必要である旨を端末装置３０に対し通知してもよい。これに代えて、分類部２１０は、何らの後処理を行わず、レコード数が上限数を超えるカテゴリを含んだまま、配信すべきレコードを配信部２２０に出力してもよい。
【００３８】
図１１は、端末装置３０が配信要求を送信する処理のフローチャートを示す。要求送信部３１０は、データの配信要求に対応付けて、上限数および分類方法等をサーバ装置２０に送信する（Ｓ１１００）。カテゴリに分類されたレコードの配信を受けると、表示部３５は、利用者にカテゴリを指定させるために、配信を受けたレコードの複数のカテゴリの選択画面を利用者に表示する（Ｓ１１１０）。利用者の指示に応じ（Ｓ１１２０：ＹＥＳ）、カテゴリ表示制御部３３０は、指定されたカテゴリにサブ・カテゴリが含まれるか否かを判断する（Ｓ１１３０）。
【００３９】
サブ・カテゴリが含まれることを条件に（Ｓ１１３０：ＹＥＳ）、カテゴリ表示制御部３３０は、指定されたカテゴリに含まれる複数のサブ・カテゴリの選択画面を、利用者に指定させるために表示する（Ｓ１１４０）。そして、端末装置３０は、利用者から次の指示を受けるためにＳ１１２０に処理を戻す。一方、指定されたカテゴリがサブ・カテゴリを含まないことを条件に、又は、サブ・カテゴリを含まないサブ・カテゴリが指定されたことを条件に（Ｓ１１３０：ＮＯ）、レコード表示制御部３４０は、指定されたカテゴリまたはサブ・カテゴリに含まれるレコードを表示部３５に表示させる（Ｓ１１５０）。そして、端末装置３０は、利用者によるレコードの選択に応じ、その後の処理、例えば、商品の詳細説明を表示したり、商品の販売・決済処理などを行う（Ｓ１１６０）。
【００４０】
図１２は、サーバ装置２０または端末装置３０として機能する情報処理装置５００のハードウェア構成の一例を示す。情報処理装置５００は、ホストコントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、及びグラフィックコントローラ１０７５を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホストコントローラ１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＲＯＭ１０１０、フレキシブルディスクドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とを備える。
【００４１】
ホストコントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィックコントローラ１０７５とを接続する。ＣＰＵ１０００は、ＲＯＭ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。これに代えて、グラフィックコントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【００４２】
入出力コントローラ１０８４は、ホストコントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ１０４０は、情報処理装置５００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０又はハードディスクドライブ１０４０に提供する。
【００４３】
また、入出力コントローラ１０８４には、ＲＯＭ１０１０と、フレキシブルディスクドライブ１０５０や入出力チップ１０７０等の比較的低速な入出力装置とが接続される。ＲＯＭ１０１０は、情報処理装置５００の起動時にＣＰＵ１０００が実行するブートプログラムや、情報処理装置５００のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、入出力チップ１０７０を介してＲＡＭ１０２０またはハードディスクドライブ１０４０に提供する。入出力チップ１０７０は、フレキシブルディスク１０９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【００４４】
情報処理装置５００に提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ１０７０及び/又は入出力コントローラ１０８４を介して、記録媒体から読み出され情報処理装置５００にインストールされて実行される。プログラムが情報処理装置５００等に働きかけて行わせる動作は、図１から図１１において説明したサーバ装置２０または端末装置３０における動作と同一であるから、説明を省略する。
【００４５】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置５００に提供してもよい。
【００４６】
以上、本実施の形態において説明したように、サーバ装置２０は、それぞれの端末装置３０から配信要求に対応付けて受信したレコードの上限数および分類方法に基づき、予めカテゴリに分類されているレコードを更にサブ・カテゴリに分類して配信する。これにより、それぞれの端末装置３０は、自己の性能に適した構造に分類されたレコードを受信でき、利用者の利便性を高めることができる。更に、現状で分類が不要な場合であっても分類方法を予め端末装置３０に記憶しておくことで、配信されるデータが更新されデータ量が増加した場合であっても何らの追加作業無く適切なデータを配信させることができる。更に、サーバ装置２０内にはキャッシュ部を設けて分類の構造を記憶しておくことで、多数の配信要求に対し迅速に返答できる。
【００４７】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００４８】
【図１】図１は、情報処理システム１０の全体構成を示す。
【図２】図２は、データ記憶部２５のデータ構造の一例を示す。
【図３】図３は、表示部３５の第１の表示例を示す。
【図４】図４は、サーバ装置２０の機能構成を示す。
【図５】図５は、キャッシュ部２４０のデータ構造の一例を示す。
【図６】図６は、端末装置３０の機能構成を示す。
【図７】図７は、上限数記憶部３００のデータ構造の一例を示す。
【図８】図８は、表示部３５の第２の表示例を示す。
【図９】図９は、サーバ装置２０が配信要求に応じデータを配信する処理のフローチャートを示す。
【図１０】図１０は、Ｓ９４０およびＳ９６５における処理の詳細を示す。
【図１１】図１１は、端末装置３０が配信要求を送信する処理のフローチャートを示す。
【図１２】図１２は、サーバ装置２０または端末装置３０として機能する情報処理装置５００のハードウェア構成の一例を示す。
【符号の説明】
【００４９】
１０  情報処理システム
２０  サーバ装置
２５  データ記憶部
３０  端末装置
３５  表示部
２００  判断部
２１０  分類部
２２０  配信部
２３０  キャッシュ検索部
２４０  キャッシュ部
３００  上限数記憶部
３１０  要求送信部
３２０  上限数管理部
３３０  カテゴリ表示制御部
３４０  レコード表示制御部
３５０  複製データベース
５００  情報処理装置
【図１】
2007334706.tif 000003
【図２】
2007334706.tif 000004
【図３】
2007334706.tif 000005
【図４】
2007334706.tif 000006
【図５】
2007334706.tif 000007
【図６】
2007334706.tif 000008
【図７】
2007334706.tif 000009
【図８】
2007334706.tif 000010
【図９】
2007334706.tif 000011
【図１０】
2007334706.tif 000012
【図１１】
2007334706.tif 000013
【図１２】
2007334706.tif 000014