(57)【要約】  サーバ１０において、クライアント２０から送られてくるデータ取得要求に合致する対象データに加えて、全カラムのデータ項目をマスタデータ記憶部１１から抽出してクライアント２０に送信し、クライアント２０において、サーバ１０から受信した対象データおよびデータ項目をユーザインタフェースにより選択可能な態様で画面表示させることにより、クライアント２０において所望の処理を行おうとする際に必要となる最小限の対象データがサーバ１０からクライアント２０にダウンロードされるようにして、全データをダウンロードするといった無駄を省くとともに、対象データ以外のデータに関するデータ項目もダウンロードして選択可能な態様で画面表示することで、実データがダウンロードされていなくても、その実データに関するデータ項目についてもあたかも操作が可能なようにユーザに見せることができるようにする。
2013168222.tif 000002
【特許請求の範囲】
【請求項１】
クライアントとサーバとがネットワークを介して接続され、上記サーバが備えるマスタデータ記憶部に格納されたデータを上記クライアントにダウンロードし、上記クライアントにて所望のデータ処理を行うことができるように成されたクライアント・サーバ型のデータ処理システムであって、
上記サーバは、上記クライアントから送られてくるデータ取得要求を受信する要求受信部と、
上記データ取得要求に合致する対象データを上記マスタデータ記憶部から抽出するとともに、上記対象データおよびそれ以外のデータに関するデータ項目を上記マスタデータ記憶部から抽出するデータ抽出部と、
上記データ抽出部により抽出された上記対象データおよび上記データ項目を上記クライアントに送信する抽出データ送信部とを備え、
上記クライアントは、上記データ取得要求を上記サーバに送信する要求送信部と、
上記サーバから送られてくる上記対象データおよび上記データ項目を受信する抽出データ受信部と、
上記抽出データ受信部により受信された上記対象データおよび上記データ項目をローカルデータ記憶部に記憶させるデータ記憶部と、
上記ローカルデータ記憶部に記憶された上記対象データおよび上記データ項目をユーザインタフェースにより選択可能な態様で画面表示させる表示制御部とを備えたことを特徴とするデータ処理システム。
【請求項２】
上記データ抽出部は、上記マスタデータ記憶部に含まれる全てのデータ項目を上記マスタデータ記憶部から抽出することを特徴とする請求項１に記載のデータ処理システム。
【請求項３】
上記クライアントは、上記表示制御部により画面表示された上記データ項目が上記ユーザインタフェースにより選択された場合において、当該選択されたデータ項目が上記対象データ以外のデータに関するデータ項目であるときは、当該選択されたデータ項目に関するデータの取得を要求するための第２のデータ取得要求を上記サーバに送信する第２の要求送信部と、
上記第２のデータ取得要求に応じて上記サーバから送られてくる第２の対象データを受信する第２の抽出データ受信部と、
上記第２の抽出データ受信部により受信され上記データ記憶部により上記ローカルデータ記憶部に記憶された上記第２の対象データを所定の態様で画面表示させる第２の表示制御部とを備え、
上記サーバは、上記クライアントから送られてくる上記第２のデータ取得要求を受信する第２の要求受信部と、
上記第２のデータ取得要求に合致する上記第２の対象データを上記マスタデータ記憶部から抽出する第２のデータ抽出部と、
上記第２のデータ抽出部により抽出された上記第２の対象データを上記クライアントに送信する第２の抽出データ送信部とを備えたことを特徴とする請求項１に記載のデータ処理システム。
【請求項４】
上記第２のデータ抽出部は、上記第２のデータ取得要求に応じて、上記ユーザインタフェースにより選択されたデータ項目に関するデータのうち重複を排除したデータを、上記第２の対象データとして上記マスタデータ記憶部から抽出し、
上記第２の表示制御部は、上記ローカルデータ記憶部に記憶された上記第２の対象データを用いて、上記ユーザインタフェースにより選択されたデータ項目に該当するデータをプレビュー表示させることを特徴とする請求項３に記載のデータ処理システム。
【請求項５】
上記第２のデータ抽出部は、上記第２のデータ取得要求に応じて、上記ユーザインタフェースにより選択されたデータ項目に関するデータのうち重複を排除したデータであって、上記第２の表示制御部が一画面で上記プレビュー表示をすることが可能な数のデータを、上記第２の対象データとして上記マスタデータ記憶部から抽出することを特徴とする請求項４に記載のデータ処理システム。
【請求項６】
上記表示制御部は、上記ローカルデータ記憶部に記憶された上記対象データを上記ユーザインタフェースにより選択可能な態様で画面表示させ、当該画面表示された上記対象データの何れかが上記ユーザインタフェースにより選択された場合に、当該選択された対象データと上記マスタデータ記憶部上の同一行に格納されている他の対象データのみを上記ユーザインタフェースにより引き続き選択可能な態様で画面表示させることを特徴とする請求項１に記載のデータ処理システム。
【請求項７】
クライアントとネットワークを介して接続され、マスタデータ記憶部に格納されたデータを上記クライアントからの要求に応じて上記クライアントにダウンロードするように成されたサーバであって、
上記クライアントから送られてくるデータ取得要求を受信する要求受信部と、
上記データ取得要求に合致する対象データを上記マスタデータ記憶部から抽出するとともに、上記対象データおよびそれ以外のデータに関するデータ項目を上記マスタデータ記憶部から抽出するデータ抽出部と、
上記データ抽出部により抽出された上記対象データおよび上記データ項目を上記クライアントに送信する抽出データ送信部とを備えたことを特徴とするサーバ。
【請求項８】
サーバとネットワークを介して接続され、上記サーバが備えるマスタデータ記憶部に格納されたデータを上記サーバからダウンロードして所望のデータ処理を行うことができるように成されたクライアントであって、
データ取得要求を上記サーバに送信する要求送信部と、
上記データ取得要求に応じて上記サーバにおいて上記マスタデータ記憶部から抽出されるデータであって、上記データ取得要求に合致する対象データと、当該対象データおよびそれ以外のデータに関するデータ項目とを上記サーバから受信する抽出データ受信部と、
上記抽出データ受信部により受信された上記対象データおよび上記データ項目をローカルデータ記憶部に記憶させるデータ記憶部と、
上記ローカルデータ記憶部に記憶された上記対象データおよび上記データ項目をユーザインタフェースにより選択可能な態様で画面表示させる表示制御部とを備えたことを特徴とするクライアント。
【請求項９】
クライアントとサーバとがネットワークを介して接続され、上記サーバが備えるマスタデータ記憶部に格納されたデータを上記クライアントにダウンロードし、上記クライアントにて所望のデータ処理を行うことができるように成されたクライアント・サーバ型のデータ処理システムにおいて上記サーバに用いられるデータ管理用プログラムであって、
上記クライアントから送られてくるデータ取得要求を受信する要求受信手段、
上記データ取得要求に合致する対象データを上記マスタデータ記憶部から抽出するとともに、上記対象データおよびそれ以外のデータに関するデータ項目を上記マスタデータ記憶部から抽出するデータ抽出手段、および
上記データ抽出手段により抽出された上記対象データおよび上記データ項目を上記クライアントに送信する抽出データ送信手段
としてコンピュータを機能させるためのコンピュータ読み取り可能なデータ管理用プログラム。
【請求項１０】
クライアントとサーバとがネットワークを介して接続され、上記サーバが備えるマスタデータ記憶部に格納されたデータを上記クライアントにダウンロードし、上記クライアントにて所望のデータ処理を行うことができるように成されたクライアント・サーバ型のデータ処理システムにおいて上記クライアントに用いられるデータ管理用プログラムであって、
データ取得要求を上記サーバに送信する要求送信手段、
上記データ取得要求に応じて上記サーバにおいて上記マスタデータ記憶部から抽出されるデータであって、上記データ取得要求に合致する対象データと、当該対象データおよびそれ以外のデータに関するデータ項目とを上記サーバから受信する抽出データ受信手段、
上記抽出データ受信手段により受信された上記対象データおよび上記データ項目をローカルデータ記憶部に記憶させるデータ記憶手段、および
上記ローカルデータ記憶部に記憶された上記対象データおよび上記データ項目をユーザインタフェースにより選択可能な態様で画面表示させる表示制御手段
としてコンピュータを機能させるためのコンピュータ読み取り可能なデータ管理用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システム、サーバ、クライアント、データ管理用プログラムに関するものである。
【背景技術】
【０００２】
従来、クライアント・サーバ型のデータベースシステムが提供されている。この種のデータベースシステムは、サーバにマスタ・データベース（以下、マスタＤＢ）が設けられるとともに、クライアントにローカル・データベース（以下、ローカルＤＢ）が設けられ、マスタＤＢに格納されているデータをクライアントのローカルＤＢにダウンロードして、クライアントにて所望のデータ処理を行うように成されている。【０００３】
マスタＤＢのデータをクライアントのローカルＤＢにダウンロードしているので、ウェブ環境で動作するオープンなシステムであるにも拘らず、クライアントとサーバとがネットワークで接続されていないオフライン状態においても、サーバと接続しているときと変わらないデータ処理をクライアントにて行うことができる。ただし、この場合、マスタＤＢとローカルＤＢとの整合性を担保することが必要であり、そのための仕組みが種々提供されている（例えば、特許文献１〜４参照）。【０００４】
特許文献１に記載の技術では、マスタＤＢのデータとローカルＤＢのデータとを最新内容に一致させる手段（同期制御部）を備えることにより、サーバのマスタＤＢとクライアントのローカルＤＢとに対してデータの追加・変更・削除などが生じた場合にも、それぞれのデータベースの整合性を高速かつ正確に確保できるようにしている。【０００５】
特許文献２に記載の技術では、サーバのマスタＤＢ内に格納されたデータをクライアントのローカルＤＢ内に取り込んで格納する。クライアントはローカルデータを用いて特定の処理を実行するが、ローカルデータと当該ローカルデータに対応するマスタデータとに対して同一のデータ処理を行う。このデータ処理が正常終了しない場合には、データ処理をロールバックすることにより、マスタデータとローカルデータとの一貫性を担保している。【０００６】
特許文献３に記載の技術では、クライアントの業務アプリケーションが総合データベースからデータを参照するたびに、そのデータの履歴をデータ履歴ファイルに履歴情報として登録しておく。そして、クライアントの業務アプリケーションが起動されたときに、データ履歴ファイルから履歴情報を抽出してサーバへ送信し、当該送信した履歴情報がサーバ側の総合データベースのデータバージョンと異なるとき、総合データベースからデータを抽出してクライアントに転送し、クライアント側の総合データベースを更新するようにしている。これにより、無駄なデータ転送や処理を省いて処理の高速化を図っている。【０００７】
特許文献４に記載の技術では、クライアントにおいて検索要求が生じたとき、クライアントは、自身のデータベースのバージョンをサーバに照会し、最新バージョンであることを確認したときは、自身のデータベースを検索する。一方、最新バージョンが確認できないときは、サーバからデータベースの差分情報を取得して自身のデータベースを更新した後、検索するようにしている。これにより、サーバへのアクセスを極力抑制できるようにしている。【０００８】
【特許文献１】特開２００１−１４２７６６号公報
【特許文献２】特開２００３−２６３３５６号公報
【特許文献３】特開２０００−３３０８８０号公報
【特許文献４】特開２００３−１５０５９５号公報
【発明の開示】
【０００９】
しかしながら、サーバのマスタＤＢとクライアントのローカルＤＢとの間でデータの整合性を確保するために、マスタＤＢのデータを全てローカルＤＢにダウンロードすると、データ量が大きい場合には莫大な通信負荷がかかってしまうという問題が生じていた。特に、最近のデータベースはロウ（行）数もカラム（列）数も非常に多くなる傾向にあり、データ量は膨大である。したがって、その膨大なデータを全てサーバからクライアントにダウンロードすることは実質的にできない。
【００１０】
これに対して、例えば特許文献３，４のように、データベースのバージョン情報を参照して、バージョンの異なる差分情報のみをサーバからクライアントへダウンロードするようにすれば、一度のダウンロードにかかる通信負荷を減らすことが可能である。しかしながら、特許文献３，４に記載の技術では、単にバージョンの異なる差分情報を抽出しているだけなので、抽出された情報が、クライアントにおいてあるデータ処理を実行しようとする際に必要となるデータとは限らない。
【００１１】
そもそも、特許文献３，４に記載の技術に限らず、従来のクライアント・サーバ型のデータベースシステムは、サーバに格納されているデータの全てをクライアントにダウンロードしてデータの整合性を確保しておくことを前提としている。しかしながら、クライアントにおいてあるデータ処理を実行しようとする際に、その処理に必要なデータは、サーバに格納されているマスタデータ（ひいては、マスタデータとの整合性がとられたクライアントのローカルデータ）の全てであるとは限らない。むしろ、本当に必要なのはマスタデータの一部のみであることの方が多い。
【００１２】
それにもかかわらず、サーバのマスタデータを全てクライアントにダウンロードして格納しておくことには、無駄が多い。上述のように、差分情報といえども不要なデータを送信することは、データ通信の無駄である。また、使わないデータも含めて膨大なデータをクライアントに格納しておくことは、クライアントのメモリ資源を無駄に消費するばかりでなく、クライアントでの各種処理に大きな負荷がかかってしまうという問題も生じる。
【００１３】
そこで、サーバのマスタデータを全てクライアントにダウンロードして格納しておくことはせず、クライアントにおいてあるデータ処理を実行しようとする際に、その都度、その処理に必要なデータのみを抽出してサーバからクライアントにダウンロードすることが考えられる。しかしながら、この場合は、ダウンロードしたデータのみから成る閉じたデータ空間の中でしか処理が行えなくなり、そのデータ空間を超えるような派生的な処理を連続して行うことができなくなってしまう。
【００１４】
例えば、ＯＬＡＰ（online analytical processing）で処理の対象となる「キューブ」という多次元構造モデルによって、サーバからクライアントに対して所望の処理に必要なデータのみをダウンロードする場合を考える。この場合、クライアントで行おうとする処理に応じて、その処理に必要なデータ項目（ディメンション）と定量的な値（メジャー）のセットのみから成るデータをキューブとしてダウンロードすると、そのキューブの範囲内ではドリリング、スライシング、ダイシングなどの処理を行うことが可能であるが、ディメンジョンを変えたり増やしたりする処理は行うことができない。
【００１５】
それよりも大きな問題は、限られたディメンジョンから成る閉じたキューブの世界では、そのキューブの外側にどんなディメンジョンが存在するのかということすらユーザには分からないということである。そのため、データベースの操作としてできることに大きな制限が生じてしまい、ユーザにとって操作感が極めて悪いものになってしまうという問題があった。
【００１６】
本発明は、このような問題を解決するために成されたものであり、サーバに格納されているデータの全てをクライアントにダウンロードして格納するといった無駄を省きつつ、サーバにあるデータの全体を操作できるような操作感を与えることができるようにすることを目的とする。
【００１７】
上記した課題を解決するために、本発明では、クライアント・サーバ型のデータベースシステムのサーバにおいて、クライアントから送られてくるデータ取得要求に合致する対象データに加えて、当該対象データおよびそれ以外のデータに関するデータ項目をマスタデータ記憶部から抽出してクライアントに送信するようにしている。また、クライアントにおいて、サーバから受信した対象データおよびデータ項目をユーザインタフェースにより選択可能な態様で画面表示させるようにしている。
【００１８】
上記のように構成した本発明によれば、サーバからクライアントにダウンロードされるデータは、主にはデータ取得要求に合致する対象データである。すなわち、クライアントにおいて所望のデータ処理を行おうとする際に必要となる最小限の対象データがサーバからクライアントにダウンロードされる。これにより、サーバのマスタデータ記憶部に格納されているデータの全てをクライアントにダウンロードして格納するといった無駄を省くことができる。
【００１９】
また、本発明によれば、対象データに関するデータ項目だけでなく、対象データ以外のデータに関するデータ項目もサーバからクライアントにダウンロードされる。そして、そのデータ項目が、ユーザインタフェースにより選択可能な態様でクライアントにて画面表示される。そのため、データ項目に関する実データがクライアントにダウンロードされていなくても、どんなデータ項目が存在するのかということがユーザに提示されることとなる。
【００２０】
これにより、実際には全てのデータがサーバからクライアントにダウンロードされていないにもかかわらず、データ取得要求に係るデータ項目以外のデータ項目についてもあたかも操作が可能なようにユーザに見せることができる。しかも、ユーザは実際にユーザインタフェースを通じて、データ取得要求に係るデータ項目以外のデータ項目を選択する操作を行うことができる。これにより、対象データから成る限られたデータ空間による制限を超えてデータベースの操作を行うことができ、ユーザにとってのデータベースの操作感を向上させることができる。
【図面の簡単な説明】
【００２１】
【図１】本実施形態によるクライアント・サーバ型のデータ処理システムの構成例を示す図である。
【図２】サーバのマスタデータ記憶部に記憶されているマスタデータの構造を示す図である。
【図３】対象データを選択する操作が行われた場合の動作例を示す図である。
【図４】対象データを選択する操作が行われた場合の動作の具体例を説明するための図である。
【図５】対象データ以外のデータに関するデータ項目を選択する操作が行われた場合の動作例を示す図である。
【図６】本実施形態によるデータ処理システムの動作例を示すフローチャートである。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態によるクライアント・サーバ型のデータ処理システムの構成例を示す図である。本実施形態のデータ処理システムは、サーバ１０とクライアント２０とが通信ネットワーク３０を介して接続され、サーバ１０が備えるマスタデータ記憶部１１に格納されたデータをクライアント２０にダウンロードし、クライアント２０にて所望のデータ処理を行うことができるように成されている。【００２３】
図１に示すように、サーバ１０は、その機能構成として、マスタデータ記憶部１１、要求受信部１２、データ抽出部１３、抽出データ送信部１４、第２の要求受信部１５、第２のデータ抽出部１６および第２の抽出データ送信部１７を備えている。【００２４】
また、クライアント２０は、その機能構成として、ローカルデータ記憶部２１、操作受付部２２、要求送信部２３、抽出データ受信部２４、データ記憶部２５、表示制御部２６、第２の要求送信部２７、第２の抽出データ受信部２８および第２の表示制御部２９を備えている。【００２５】
なお、本実施形態では、サーバ１０のマスタデータ記憶部１１に記憶されるマスタデータおよびクライアント２０のローカルデータ記憶部２１に記憶されるローカルデータは、何れもＯＬＡＰで操作の対象となる「キューブ」という多次元構造モデルにより構成されているものとする。例えば、図示しない別サーバ上のデータベースからデータを取得してサーバ１０上にキューブを作り、クライアント２０上にもキューブを作る構成となっている。【００２６】
サーバ１０およびクライアント２０のそれぞれには、本実施形態のデータ処理システムを動作させるデータ管理用プログラムがインストールされている。サーバ１０が備える各機能構成１２〜１７およびクライアント２０が備える各機能構成２２〜２９は、このデータ管理用プログラムによって実現される。この場合、サーバ１０の各機能構成１２〜１７およびクライアント２０の各機能構成２２〜２９はそれぞれ、実際にはコンピュータのＣＰＵあるいはＭＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭなどに記憶されたデータ管理用プログラムが動作することによって実現される。【００２７】
なお、データ管理用プログラムを記憶する記録媒体は、ＲＡＭやＲＯＭの他に、ＣＤ−ＲＯＭ、フレキシブルディスク、ハードディスク、磁気テープ、光ディスク、光磁気ディスク、ＤＶＤ、不揮発性メモリカード等を用いることができる。また、上記データ管理用プログラムをインターネット等のネットワークを介してサーバ１０やクライアント２０にダウンロードすることによっても実現できる。【００２８】
クライアント２０の操作受付部２２は、ユーザがキーボードやマウスなどの操作デバイスを用いてクライアント２０に対して行う各種の指示や情報入力などに関する操作を受け付ける。例えば、操作受付部２２は、所望のデータ項目に関するデータをサーバ１０から取得することを指示する操作を受け付ける。あるいは、操作受付部２２は、ユーザが所望の検索キーを入力して当該検索キーに合致するデータをサーバ１０から取得することを指示する操作を受け付ける。【００２９】
要求送信部２３は、操作受付部２２により受け付けられた操作に応じて、データ取得要求をサーバ１０に送信する。すなわち、要求送信部２３は、所望のデータ項目に関するデータをサーバ１０から取得することを要求するデータ取得要求や、検索キーに合致するデータをサーバ１０から取得することを要求するデータ取得要求などをサーバ１０に送信する。サーバ１０の要求受信部１２は、クライアント２０から送られてくるデータ取得要求を受信する。【００３０】
データ抽出部１３は、要求受信部１２により受信されたデータ取得要求に合致する対象データをマスタデータ記憶部１１から抽出するとともに、抽出した対象データおよびそれ以外のデータに関するデータ項目をマスタデータ記憶部１１から抽出する。本実施形態では、抽出した対象データおよびデータ項目をキューブにより構成する。このデータ抽出部１３の処理内容を、図２を用いて具体的に説明する。【００３１】
図２は、マスタデータ記憶部１１に記憶されているマスタデータの構造を示す図である。図２に示すように、マスタデータ記憶部１１は、複数のロウ（行）と複数のカラム（列）から成るマスタデータを記憶している。第１行目を構成する各カラムには、項目１、項目２、項目３、・・・といったデータ項目が記憶されている。【００３２】
また、第２行目以降には、各カラムに関する実データが記憶されている。例えば、第１カラムの第２行目以降のデータ（Ａ１，Ａ２，Ａ３，Ａ４・・・）は、項目１というデータ項目に関する実データである。また、第２カラムの第２行目以降のデータ（Ｂ１，Ｂ２，Ｂ３，Ｂ４・・・）は、項目２というデータ項目に関する実データである。【００３３】
データ抽出部１３がマスタデータ記憶部１１から抽出する対象データは、データ取得要求に合致する実データである。例えば、項目１と項目２に関するデータをサーバ１０から取得することを要求するデータ取得要求がクライアント２０から送られてきている場合、データ抽出部１３は、項目１に関する実データ（Ａ１，Ａ２，Ａ３，Ａ４・・・）と、項目２に関する実データ（Ｂ１，Ｂ２，Ｂ３，Ｂ４・・・）とを対象データとして抽出する。【００３４】
また、検索キーに合致するデータをサーバ１０から取得することを要求するデータ取得要求がクライアント２０から送られてきている場合、データ抽出部１３は、第２行目以降の各カラムに関する実データ（Ａ１，Ａ２，Ａ３，Ａ４・・・）、（Ｂ１，Ｂ２，Ｂ３，Ｂ４・・・）（Ｃ１，Ｃ２，Ｃ３，Ｃ４・・・）、（Ｄ１，Ｄ２，Ｄ３，Ｄ４・・・、・・・）の中から、検索キーに合致する実データを対象データとして抽出する。【００３５】
一方、データ抽出部１３がマスタデータ記憶部１１から抽出するデータ項目は、以上のようにして抽出した対象データおよびそれ以外のデータに関するデータ項目である。例えば、項目１と項目２に関するデータをサーバ１０から取得することを要求するデータ取得要求がクライアント２０から送られてきている場合、データ抽出部１３が抽出する対象データに関するデータ項目は、項目１および項目２の２つである。【００３６】
本実施形態では、データ抽出部１３は、抽出した対象データに関する項目１および項目２に加え、対象データ以外のデータに関するデータ項目も抽出する。例えば、データ抽出部１３は、マスタデータ記憶部１１に含まれる全てのデータ項目（マスタデータの第１行目を構成する全カラムのデータ項目）をマスタデータ記憶部１１から抽出する。【００３７】
抽出データ送信部１４は、データ抽出部１３により抽出された対象データおよびデータ項目をクライアント２０に送信する。ここで送信する対象データは、マスタデータ記憶部１１に格納されている全てのデータではなく、データ取得要求に合致する一部のデータである。また、データ項目は全カラムに関するものであるが、高々１行分のデータなので、マスタデータが数千〜数万カラムで構成されていたとしても、そのデータ量はさほど大きなものとはならない。そのため、対象データと全カラムのデータ項目とを合わせても、そのデータ量は、通信ネットワーク３０を介して送信する際に大きな障害となるようなものではない。【００３８】
クライアント２０の抽出データ受信部２４は、サーバ１０から送られてくる対象データおよびデータ項目を受信する。データ記憶部２５は、抽出データ受信部２４によりサーバ１０から受信された対象データおよびデータ項目をローカルデータ記憶部２１に記憶させる。【００３９】
上述のように、サーバ１０から送られてローカルデータ記憶部２１に記憶されるデータ項目には、データ取得要求に合致する対象データに関するデータ項目のみならず、対象データ以外のデータに関するデータ項目も含まれている。本実施形態では、サーバ１０のマスタデータ記憶部１１に含まれる全てのデータ項目（マスタデータの第１行目を構成する全カラムのデータ項目）が含まれている。【００４０】
表示制御部２６は、ローカルデータ記憶部２１に記憶された対象データおよびデータ項目を、ユーザインタフェースにより選択可能な態様で図示しないディスプレイに対して画面表示させる。対象データに関しては、これを加工して所定の態様で画面表示させるようにしてもよい。【００４１】
ここで、対象データの加工とは、例えば、図表化あるいはグラフ化などである。あるいは、単なるリスト化であってもよい。また、ユーザインタフェースにより選択可能な態様とは、例えば、対象データやデータ項目の名称を選択操作可能なＧＵＩとして表示する態様とか、対象データやデータ項目の名称と共に選択用のチェックボックスやラジオボタンを表示する態様などである。なお、ここに挙げた態様は一例に過ぎず、これに限定されるものではない。【００４２】
本実施形態では、実際にローカルデータ記憶部２１に記憶されている対象データや当該対象データに関するデータ項目をユーザインタフェースにより選択して、所望の操作を行うことが可能である。ここで、表示制御部２６は、画面表示された対象データの何れかがユーザインタフェースにより選択された場合に、当該選択された対象データとマスタデータ記憶部１１上の同一行に格納されている他の対象データのみを、その後もユーザインタフェースにより引き続き選択可能な態様で画面表示させ、それ以外の対象データは選択できないようにグレーアウト状態とするようにしてもよい。【００４３】
例えば、図３（ａ）に示すように、サーバ１０のデータ抽出部１３により、項目１に関する実データ（Ａ１，Ａ２，Ａ３，Ａ４・・・）と、項目２に関する実データ（Ｂ１，Ｂ２，Ｂ３，Ｂ４・・・）とが対象データとしてマスタデータ記憶部１１から抽出されるとともに、マスタデータの第１行目における全カラムのデータ項目がマスタデータ記憶部１１から抽出されてクライアント２０に送信され、クライアント２０の表示制御部２６により、これらの実データやデータ項目がユーザインタフェースにより選択可能な態様で図３（ｂ）のように表示されたとする。【００４４】
そして、例えば、項目１の実データＡ１がユーザインタフェースにより選択された場合、表示制御部２６は、図３（ｃ）に示すように、当該選択された実データＡ１とマスタデータ記憶部１１上の同一行に格納されている項目２に関する他の実データＢ１のみをユーザインタフェースにより引き続き選択可能な態様で画面表示させる。それ以外の項目２に関する実データ（Ｂ２，Ｂ３，Ｂ４・・・）については、選択できないようにグレーアウト状態とする。【００４５】
このようにすれば、ユーザインタフェースにより選択された項目１の実データＡ１に関連して引き続き選択される可能性のある実データＢ１だけが更に選択可能な状態で表示され、それ以外の実データはグレーアウト状態とすることができる。これにより、ユーザの実データに対する操作を利便性の良いものにすることができる。【００４６】
例えば、項目１が商品カテゴリであり、項目２が具体的な商品であるとする。また、項目１（商品カテゴリ）に関する実データＡ１，Ａ２，Ａ３，・・・は、例えば、Ａ１＝家電、Ａ２＝パソコン、Ａ３＝衣類・・・であるとする。また、項目２（商品）に関する実データＢ１，Ｂ２，Ｂ３・・・は、例えば、Ｂ１＝テレビ、Ｂ２＝冷蔵庫、Ｂ３＝掃除機・・・であるとする。【００４７】
そして、ローカルデータ記憶部２１に格納されている実データが図４のように構成されている場合において、項目１の実データＡ１（家電）がユーザインタフェースにより選択されたとき、表示制御部２６は、当該選択された実データＡ１とマスタデータ記憶部１１上の同一行に格納されている項目２に関する他の実データＢ１（テレビ），Ｂ２（冷蔵庫）をユーザインタフェースにより引き続き選択可能な態様で画面表示させる。それ以外の項目２に関する実データＢ３２（セーター）については、選択できないようにグレーアウト状態とする。つまり、選択した家電というカテゴリに属する商品のみが選択できるように絞り込みをかけることができる。【００４８】
逆に、項目２の実データＢ１（テレビ）がユーザインタフェースにより選択された場合、表示制御部２６は、当該選択された実データＢ１とマスタデータ記憶部１１上の同一行に格納されている項目１に関する他の実データＡ１（家電）をユーザインタフェースにより引き続き選択可能な態様で画面表示させる。それ以外の項目１に関する実データＡ３（衣類）については、選択できないようにグレーアウト状態とする。このように、本実施形態によれば、具体的な商品から、それが属するカテゴリのみが選択できるように逆絞り込みをかけることもできる。【００４９】
さらに、本実施形態では、ローカルデータ記憶部２１に記憶されている対象データ以外のデータに関するデータ項目については、ローカルデータ記憶部２１に実データが記憶されていないにもかかわらず、データ項目自体は選択可能な態様で画面表示される。すなわち、ローカルデータ記憶部２１に実データが記憶されていないデータ項目（対象データ以外のデータに関するデータ項目）についても、あたかも操作が可能なようにユーザに見せることができる。しかも、ユーザは実際にユーザインタフェースを通じて、ローカルデータ記憶部２１に実データが存在しないデータ項目を選択する操作を行うことが可能である。【００５０】
操作受付部２２は、ローカルデータ記憶部２１に実データが存在するデータ項目（対象データに関するデータ項目）のみならず、ローカルデータ記憶部２１に実データが存在しないデータ項目（対象データ以外のデータに関するデータ項目）を選択する操作も受け付ける。【００５１】
第２の要求送信部２７は、表示制御部２６により画面表示されたデータ項目がユーザインタフェースにより選択された場合において、当該選択されたデータ項目が対象データ以外のデータに関するデータ項目であるときは、当該選択されたデータ項目に関する実データの取得を要求するための第２のデータ取得要求をサーバ１０に送信する。【００５２】
サーバ１０における第２の要求受信部１５は、クライアント２０から送られてくる第２のデータ取得要求を受信する。第２のデータ抽出部１６は、第２の要求受信部１５により受信された第２のデータ取得要求に合致する第２の対象データをマスタデータ記憶部１１から抽出する。第２の抽出データ送信部１７は、第２のデータ抽出部１６により抽出された第２の対象データをクライアント２０に送信する。【００５３】
クライアント２０における第２の抽出データ受信部２８は、第２のデータ取得要求に応じてサーバ１０から送られてくる第２の対象データを受信する。データ記憶部２５は、第２の抽出データ受信部２８によりサーバ１０から受信された第２の対象データを、既に記憶されている対象データおよび全カラムのデータ項目に追加してローカルデータ記憶部２１に記憶させる。【００５４】
データ記憶部２５は、第２の対象データをローカルデータ記憶部２１に追加して記憶する際に、既に記憶されている対象データおよび全カラムのデータ項目と、追加して記憶する第２の対象データとを合わせて新たにＯＬＡＰのキューブを構築し直す。【００５５】
なお、キューブの構築は、高性能なサーバ１０で行った方が高速に行える。そこで、キューブの再構築をサーバ１０で行うようにしてもよい。すなわち、データ抽出部１３が抽出した対象データおよび全カラムのデータ項目から成るキューブをサーバ１０に保存しておく。そして、第２のデータ抽出部１６が第２の対象データを抽出した際に、保存しておいた対象データおよび全カラムのデータ項目と、新たに抽出した第２の対象データとを合わせて新たにＯＬＡＰのキューブを構築し直し、これを第２の抽出データ送信部１７がクライアント２０に送信するようにしてもよい。【００５６】
第２の表示制御部２９は、ローカルデータ記憶部２１に新たに記憶された第２の対象データを所定の態様で画面表示させる。この場合における所定の態様とは、表示制御部２６によって対象データに対して行われる図表化やグラフ化などの表示態様とは異なり、ユーザインタフェースにより選択されたデータ項目に該当する実データをプレビュー表示させるための態様である。【００５７】
この場合のプレビュー表示とは、例えば、そのデータ項目がどのような実データを有しているのかを示すリスト表示である。どのような実データが有るかが分かればよいプレビュー表示であるから、第２のデータ抽出部１６が第２のデータ取得要求に応じてマスタデータ記憶部１１からデータを抽出する際には、ユーザインタフェースにより選択されたデータ項目に関するデータのうち重複を排除したデータを、第２の対象データとしてマスタデータ記憶部１１から抽出するのが好ましい。【００５８】
例えば、図５（ａ）に示すように、サーバ１０のデータ抽出部１３により、項目１に関する実データ（Ａ１，Ａ２，Ａ３，Ａ４・・・）と、項目２に関する実データ（Ｂ１，Ｂ２，Ｂ３，Ｂ４・・・）とが対象データとしてマスタデータ記憶部１１から抽出されるとともに、マスタデータの第１行目における全カラムのデータ項目がマスタデータ記憶部１１から抽出されてクライアント２０に送信され、クライアント２０の表示制御部２６により、これらの実データやデータ項目がユーザインタフェースにより選択可能な態様で図５（ｂ）のように表示されたとする。【００５９】
そして、例えば、実データが送られてきていない項目３のデータ項目がユーザインタフェースにより選択されて第２のデータ取得要求がサーバ１０に送信されたとする。この場合、サーバ１０の第２のデータ抽出部１６は、項目３に関する実データ（Ｃ１，Ｃ２，Ｃ３，Ｃ４・・・）のうち、重複を排除した実データを第２の対象データとしてマスタデータ記憶部１１から抽出する。もし、第４行目の実データがＣ３ではなくＣ２であったとすると、第２のデータ抽出部１６は、項目３に関する実データ（Ｃ１，Ｃ２，Ｃ４・・・）をマスタデータ記憶部１１から抽出する（Ｃ２は１つのみ抽出する）ということである。【００６０】
また、第２のデータ抽出部１６は、ユーザインタフェースにより選択されたデータ項目に関するデータのうち重複を排除したデータであって、第２の表示制御部２９が一画面でプレビュー表示をすることが可能な数のデータを、第２の対象データとしてマスタデータ記憶部１１から抽出するようにしてもよい。【００６１】
もちろん、一画面で収まらない数のデータを抽出してもよく、その場合にはスクロールをすれば全ての抽出データを表示させることが可能である。ただし、あくまでもプレビュー表示で実データの概要が分かればよいという観点から、一画面に表示可能な数に絞ってデータを抽出するようにすれば、サーバ１０からクライアント２０への通信データ量を少なくすることができる。【００６２】
図６は、上記のように構成した本実施形態によるデータ処理システムの動作例を示すフローチャートである。なお、図６に示すフローチャートは、クライアント２０におけるデータ管理用プログラムが起動されたときに開始する。【００６３】
まず、クライアント２０の操作受付部２２は、所望のデータ（例えば、所望のデータ項目に関するデータ、あるいは、所望の検索キーに合致するデータ）をサーバ１０から取得することを指示する操作が行われたか否かを判定する（ステップＳ１）。当該操作が行われた場合、要求送信部２３は、所望のデータをサーバ１０から取得することを要求するデータ取得要求をサーバ１０に送信する（ステップＳ２）。【００６４】
サーバ１０において、クライアント２０から送られてくるデータ取得要求を要求受信部１２が受信すると、データ抽出部１３は、そのデータ取得要求に合致する対象データをマスタデータ記憶部１１から抽出するとともに、マスタデータの第１行目を構成する全カラムのデータ項目をマスタデータ記憶部１１から抽出する（ステップＳ３）。【００６５】
抽出データ送信部１４は、データ抽出部１３により抽出された対象データおよびデータ項目をクライアント２０に送信する（ステップＳ４）。クライアント２０において、サーバ１０から送られてくる対象データおよびデータ項目を抽出データ受信部２４が受信すると、データ記憶部２５は、その受信したデータをローカルデータ記憶部２１に記憶させる（ステップＳ５）。【００６６】
続いて、表示制御部２６は、ローカルデータ記憶部２１に記憶された対象データおよび全カラムのデータ項目を、ユーザインタフェースにより選択可能な態様で画面表示させる（ステップＳ６）。このように画面表示が行われた状態で、操作受付部２２は、当該画面表示された対象データあるいはデータ項目をユーザインタフェースにより選択する操作が行われたか否かを判定する（ステップＳ７）。【００６７】
当該操作が行われていない場合、操作受付部２２は、クライアント２０のデータ管理用プログラムを終了させる操作が行われたか否かを判定する（ステップＳ８）。プログラム終了の操作が行われていない場合、処理はステップＳ１に戻る。なお、ステップＳ１で所望のデータ取得を指示する操作が行われていないと判定した場合、処理はステップＳ７に遷移する。これにより、何らかの操作が行われるまで、ステップＳ１，Ｓ７，Ｓ８の判定が繰り返し行われる。もし、プログラム終了の操作が行われた場合、図６に示すフローチャートの処理は終了する。【００６８】
一方、ステップＳ７において、画面表示された対象データあるいはデータ項目の何れかを選択する操作が行われたと判定した場合、操作受付部２２は、その操作が、ローカルデータ記憶部２１に実データが存在しないデータ項目（対象データ以外のデータに関するデータ項目）に対する操作か否かを更に判定する（ステップＳ９）。【００６９】
もし、対象データに対する操作あるいは対象データに関するデータ項目に対する操作であった場合、その操作内容に応じてローカルデータ記憶部２１のデータ処理を実行する（ステップＳ１０）。このデータ処理は、例えば、表示制御部２６によって行われる対象データの図表化あるいはグラフ化といった加工処理である。あるいは、対象データの修正、対象データを用いた所望の計算などもデータ処理の一態様である。データ処理の実行後、処理はステップＳ１に戻る。【００７０】
これに対し、対象データ以外のデータに関するデータ項目に対する操作であると操作受付部２２にて判定した場合、第２の要求送信部２７は、当該選択されたデータ項目に関するデータの取得を要求するための第２のデータ取得要求をサーバ１０に送信する（ステップＳ１１）。【００７１】
サーバ１０において、クライアント２０から送られてくる第２のデータ取得要求を第２の要求受信部１５が受信すると、第２のデータ抽出部１６は、当該第２のデータ取得要求に合致する第２の対象データをプレビュー用のデータとしてマスタデータ記憶部１１から抽出する（ステップＳ１２）。そして、第２の抽出データ送信部１７は、第２のデータ抽出部１６により抽出された第２の対象データをクライアント２０に送信する（ステップＳ１３）。【００７２】
クライアント２０において、サーバ１０から送られてくる第２の対象データを第２の抽出データ受信部２８が受信すると、データ記憶部２５は、その第２の対象データを、既に記憶されている対象データおよび全カラムのデータ項目に追加してローカルデータ記憶部２１に記憶させる（ステップＳ１４）。【００７３】
続いて、第２の表示制御部２９は、ローカルデータ記憶部２１に新たに記憶された第２の対象データを図示しないディスプレイにプレビュー表示させる（ステップＳ１５）。このプレビュー表示を行った後、処理はステップＳ１に戻る。ここで、あるデータ項目についてプレビュー表示した第２の対象データを見て、ユーザがそのデータ項目の実データを全てサーバ１０から取得したいと考えた場合は、そのデータ項目に関するデータをサーバ１０から取得することを指示する操作を行えばよい。【００７４】
以上詳しく説明したように、本実施形態では、サーバ１０のデータ抽出部１３において、クライアント２０から送られてくるデータ取得要求に合致する対象データに加えて、当該対象データおよびそれ以外のデータに関するデータ項目をマスタデータ記憶部１１から抽出してクライアント２０に送信するようにしている。また、クライアント２０において、サーバ１０から受信した対象データおよびデータ項目をユーザインタフェースにより選択可能な態様で画面表示させるようにしている。【００７５】
このように構成した本実施形態のデータ処理システムによれば、サーバ１０からクライアント２０にダウンロードされるデータは、主にはデータ取得要求に合致する対象データである。すなわち、クライアント２０において所望のデータ処理を行おうとする際に必要となる最小限の対象データがサーバ１０からクライアント２０にダウンロードされる。これにより、サーバ１０のマスタデータ記憶部１１に格納されているデータの全てをクライアント２０にダウンロードして格納するといった無駄を省くことができる。【００７６】
また、本実施形態のデータ処理システムによれば、対象データに関するデータ項目だけでなく、対象データ以外のデータに関するデータ項目もサーバ１０からクライアント２０にダウンロードされる。そして、そのデータ項目が、ユーザインタフェースにより選択可能な態様でクライアント２０にて画面表示される。そのため、データ項目に関する実データがクライアント２０にダウンロードされていなくても、どんなデータ項目が存在するのかということがユーザに提示されることとなる。【００７７】
これにより、実際は全てのデータがサーバ１０からクライアント２０にダウンロードされていないにもかかわらず、対象データ以外のデータに関するデータ項目についてもあたかも操作が可能なようにユーザに見せることができる。しかも、ユーザは実際にユーザインタフェースを通じて、対象データ以外のデータに関するデータ項目を選択する操作を行うことができる。これにより、対象データから成る限られたデータ空間による制限を超えてデータの操作を行うことができ、ユーザにとっての操作感を向上させることができる。【００７８】
例えば、対象データ以外のデータに関するデータ項目を選択する操作を行うと、当該選択されたデータ項目に関するデータの取得を要求するための第２のデータ取得要求がサーバ１０に送信され、その応答として、第２のデータ取得要求に合致する第２の対象データがクライアント２０にダウンロードされてプレビュー表示される。このプレビュー表示のためにサーバ１０からクライアント２０にダウンロードされるデータ量はわずかであり、通信負荷は小さくて済む。【００７９】
また、プレビュー表示を見てユーザが必要と考える場合は、プレビュー表示されたデータ項目に関するデータの取得を新たにサーバ１０に要求し、ダウンロードすることもできる。このときダウンロードされるデータ量もわずかであり、通信負荷は小さくて済む。【００８０】
要するに、本実施形態のデータ処理システムによれば、サーバ１０のマスタデータ記憶部１１に格納されているデータを一括してクライアント２０のローカルデータ記憶部２１にダウンロードするのではなく、通信負荷を軽減するために一部のデータのみをダウンロードしながらも、あたかも全てのデータがローカルデータ記憶部２１にダウンロードされているかのような操作感をユーザに与えることができる。【００８１】
そして、サーバ１０とクライアント２０との間のインタラクティブな処理により、ユーザが所望するデータでローカルデータ記憶部２１に格納されていないデータについては随時ダウンロードして補うことができる。このダウンロードに要する通信負荷も極めて小さくて済む。これにより、マスタデータ記憶部１１に格納されている全てのデータに対する実際のデータ操作を、サーバ１０とクライアント２０との間でその都度通信が発生していることをユーザに感じさせないほどのレスポンスの良さで、シームレスに行うことができる。【００８２】
なお、上記実施形態では、サーバ１０のマスタデータ記憶部１１に記憶されるマスタデータおよびクライアント２０のローカルデータ記憶部２１に記憶されるローカルデータををＯＬＡＰのキューブにより構成する例について説明したが、本発明はこれに限定されない。【００８３】
また、上記実施形態では、マスタデータの第１行目を構成する全カラムのデータ項目を抽出する例について説明したが、必ずしも全カラムのデータ項目である必要はない。ただし、上述したように、全カラムのデータ項目を抽出してもデータ量はそれほど大きくならないので、マスタデータ全体の操作感を出すためにも全カラムのデータ項目を抽出するのが好ましい。【００８４】
また、上記実施形態では、対象データ以外のデータに関するデータ項目が選択されたときに、当該データ項目に関する第２の対象データ（重複を排除した実データ）をサーバ１０からクライアント２０にダウンロードしてプレビュー表示させる例について説明したが、プレビュー表示は必須ではない。例えば、選択されたデータ項目に関する実データの全て（重複を排除していない実データ）を直ちにダウンロードするようにしてもよい。【００８５】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図１】
2013168222.tif 000003
【図２】
2013168222.tif 000004
【図３】
2013168222.tif 000005
【図４】
2013168222.tif 000006
【図５】
2013168222.tif 000007
【図６】
2013168222.tif 000008
【国際調査報告】
2013168222.tif 000009
2013168222.tif 000010
2013168222.tif 000011
2013168222.tif 000012