(57)【要約】【課題】サーバで管理されている行データに編集を加えた際、サーバ側で保持される編集後の行データとクライアント側で保持される編集前の行データとの不整合状態を維持したまま表示を行うことが可能なクライアント装置、データ表示方法、及びプログラムを提供する。【解決手段】行範囲を指定してサーバからデータを取得するデータ取得手段と、取得されたデータを記憶する第１の記憶手段と、記憶されたデータを画面に表示する表示手段と、表示されたデータを編集するための編集手段と、編集されたデータの行位置に対応し、この行位置のデータが編集されたか否かを示すフラグを設定する第２の記憶手段と、編集された内容をサーバで反映させるための編集情報を送信する送信手段と、を備え、ユーザ操作により指定された行位置と編集されたことを示すフラグの個数に基づいて、サーバに対して指定する行範囲を決定する。【選択図】図７
2010079484.tif 000002
【特許請求の範囲】
【請求項１】
表形式で格納されたデータを行単位で管理するサーバとネットワーク接続されるクライアント装置において、
行範囲を指定して前記サーバから前記データを取得するデータ取得手段と、
前記データ取得手段により取得されたデータを記憶する第１の記憶手段と、
前記第１の記憶手段に記憶されたデータを画面に表示する表示手段と、
前記表示手段に表示されたデータを編集するための編集手段と、
前記編集手段により編集されたデータの行位置に対応し、この行位置のデータが編集されたか否かを示すフラグを設定する第２の記憶手段と、
前記編集手段により編集された内容を前記サーバで反映させるための編集情報を送信する送信手段と、を備え、
前記データ取得手段は、ユーザ操作により指定された行位置と編集されたことを示すフラグの個数に基づいて、前記サーバに対して指定する行範囲を決定することを特徴とするクライアント装置。 
【請求項２】
前記データ取得手段は、ユーザ操作により指定された行位置の直前の行位置までに対して設定されているフラグの個数をカウントし、前記ユーザ操作により指定された行位置から当該カウントされた個数を減算した値に基づいて、前記サーバに対して指定する行範囲を決定することを特徴とする請求項１に記載のクライアント装置。 
【請求項３】
前記データは、前記表示手段に表示させる行データ及び当該行データを識別するための識別子であり、
前記第１の記憶手段は、前記行データを記憶する行データ用データベースと、前記識別子を記憶する識別子用データベースと、を備え、
前記送信手段は、前記編集手段により編集されたデータの識別子を送信することを特徴とする請求項１又は２に記載のクライアント装置。 
【請求項４】
前記データ取得手段は、前記編集手段により連続する複数の行が一括して編集された場合であって、当該連続する複数の行の中に前記識別子が取得されていない行位置が含まれていた場合は、当該取得されていない識別子すべてを取得することを特徴とする請求項３に記載のクライアント装置。 
【請求項５】
表形式で格納されたデータを行単位で管理するサーバとネットワーク接続されるクライアント装置におけるデータ表示方法であって、
行範囲を指定して前記サーバから前記データを取得し、
当該取得されたデータを記憶し、
当該記憶されたデータを画面に表示し、
当該表示されたデータを編集し、
当該編集されたデータの行位置に対応し、この行位置のデータが編集されたか否かを示すフラグを設定し、
当該編集された内容を前記サーバで反映させるための編集情報を送信し、
ユーザ操作により指定された行位置と編集されたことを示すフラグの個数に基づいて、前記サーバに対して指定する行範囲を決定することを特徴とするデータ表示方法。 
【請求項６】
表形式で格納されたデータを行単位で管理するサーバとネットワーク接続されるクライアント装置のコンピュータに、
行範囲を指定して前記サーバから前記データを取得する機能と、
当該取得されたデータを記憶する機能と、
当該記憶されたデータを画面に表示する機能と、
当該表示されたデータを編集する機能と、
当該編集されたデータの行位置に対応し、この行位置のデータが編集されたか否かを示すフラグを設定する機能と、
当該編集された内容を前記サーバで反映させるための編集情報を送信する機能と、
ユーザ操作により指定された行位置と編集されたことを示すフラグの個数に基づいて、前記サーバに対して指定する行範囲を決定する機能と、を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントサーバシステムにおけるクライアント装置、データ表示方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、インターネットなどの通信ネットワーク技術の普及に伴い、各種データ処理の分野において、クライアントサーバシステムが採用されている（例えば、特許文献１）。クライアントサーバシステムとは、システムの入出力制御や資源（データベース等）を管理するサーバと、サーバが保持する資源を用いて仕事を処理するクライアントと、が連携してデータ処理を行うシステムのことである。
【０００３】
このようなクライアントサーバシステムにおいて、サーバが表形式でデータを管理し、このデータをクライアントからの要求に応じて提供するサービスが行われている。例えば、ウェブブラウザを通じてメールサーバで管理されている電子メールを取得するウェブメールサービス等がある。
一般に、メールサーバでは、ユーザ宛に届いた電子メールの一つ一つを、このユーザ用のデータベースに行データとして格納し管理している。そして、クライアントにおいてウェブメールサービスにアクセスすると、ウェブメールの一覧（差出人、件名、受信日時等、メール本文を除く）が表形式で表示される。このとき、クライアントからメールサーバに対して、取得したいウェブメールが行番号で指定されるようになっている。
【０００４】
例えば、クライアントのウェブブラウザにおいて、１ページに５０件分のメール一覧を表示可能な場合、ウェブメールサービスにアクセスすると、まず１行目から５０行目までの行データが要求されることとなる。そして、例えば２ページ目にページ遷移すると、５１行目から１００行目までの行データが要求されることとなる。
また、ウェブブラウザにおいて、ページ遷移することなくスクロールによりすべてのウェブメールの一覧を表示可能としたウェブメールサービスでは、スクロール操作に応じてスムーズに一覧表示を遷移させるために、ウェブブラウザで視認可能な件数の数倍の行データが一度に要求されるようになっている。
【０００５】
このように、クライアントでウェブメールの一覧を表示させる場合、取得すべき行データを行番号で指定するために、クライアントにおいて取得された行データに、メールサーバで管理されている行データの行番号を対応付けるようにしている。すなわち、メールサーバで管理されている行データの行番号が、クライアントにおいて取得される行データの行番号に逐一反映され、同期されるようになっている。
【０００６】
また、ウェブメールサービスでは、クライアント側で特定の条件（例えば、「未読のみ表示」など）を指定することで、この条件に適合する行データだけを取得して一覧表示できるようになっている（いわゆる絞り込み検索）。この絞り込み検索では、メールサーバにおいて、すべての行データの中から絞り込み条件に適合する行データが抽出され、これらの行データを表形式で整理したデータベースが利用されることとなる。
絞り込み検索を行うことで行データを取得する頻度は低減されるので、メールサーバが遠隔地に存在していたり、或いは大容量のデータ（膨大な数のウェブメール）を保持していたりして、読み書き効率が悪くなっている場合に有効である。
【０００７】
ウェブメールサービスで絞り込み検索を利用して、例えば、「未読のみ」で絞り込んだウェブメールをクライアントのウェブブラウザに一覧表示させた場合に、１つのウェブメールの本文を閲覧すると、このウェブメールは未読から既読に変化する。したがって、「未読のみ」という絞り込み条件から外れてしまうため、メールサーバのデータベースから削除され、この行データ以降の行データの行番号は繰り上げられる。そして、クライアントにおいても、既読となったウェブメールが削除され、これ以降の行データが繰り上げられて表示されることとなる。なお、ウェブサーバにおいて、既読となったウェブメールの行データが、絞り込み検索の元となるすべての受信メールのデータベースから削除されるわけではない。
また例えば、ウェブメールの一覧表示においてウェブメールが削除された場合も同様に、このウェブメールに対応する行データがメールサーバのデータベースから削除され、クライアントではメールサーバのデータベースの内容が反映される。
【０００８】
このように、従来のウェブメールサービスでは、ユーザの編集操作によりウェブメールの未読／既読状態が変化して絞り込み条件から外れたり、ウェブメールが削除されたりすると、その都度メールサーバ側で行データの行番号がふり直され、これがクライアント側でも反映されて表示されるようになっている。
【特許文献１】特開２００２−１４８６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、ユーザの編集操作が即座に表示に反映されると、利便性の面で不具合が生じることがある。例えば、ウェブメールを「未読のみ」で絞り込んだ場合、一度メール本文を閲覧すると、このウェブメールは一覧から削除されるため、再度読み直したい場合には全てのウェブメールの中から探さなければならなくなる。
また例えば、削除操作したウェブメールについて、実際に削除すべきウェブメールであるかをメール一覧で確認することはできない。
【００１０】
メールサーバ側で編集前の内容を記録したキャッシュデータを編集の度ごとにメールサーバに保持させることにより、クライアント側で編集前の表示を維持する方法が考えられるが、この方法では、キャッシュデータ用の記憶領域を確保する必要がある上、保持するデータ量が増大するため管理が困難となる。
また、メールサーバ側の行データの行番号と、クライアント側で取得されている行データの行番号を非同期とすると、取得する行データを行番号で指定するために、削除された行データ分のずれが生じるという問題がある。
【００１１】
なお、上述したような問題は、ウェブメールサービスに限らず、サーバにおいて表形式で管理している行データをクライアントに提供し、この行データをクライアント側で編集（削除）可能となっている場合全般についていえることである。
【００１２】
本発明は、サーバにおいて表形式で管理されている行データに編集を加えた際、サーバ側で保持される編集後の行データとクライアント側で保持される編集前の行データとの不整合状態を維持したまま表示を行うことが可能なクライアント装置、データ表示方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
請求項１に記載の発明は、上記目的を達成するためになされたものであり、表形式で格納されたデータを行単位で管理するサーバとネットワーク接続されるクライアント装置において、行範囲を指定して前記サーバから前記データを取得するデータ取得手段と、前記データ取得手段により取得されたデータを記憶する第１の記憶手段と、前記第１の記憶手段に記憶されたデータを画面に表示する表示手段と、前記表示手段に表示されたデータを編集するための編集手段と、前記編集手段により編集されたデータの行位置に対応し、この行位置のデータが編集されたか否かを示すフラグを設定する第２の記憶手段と、前記編集手段により編集された内容を前記サーバで反映させるための編集情報を送信する送信手段と、を備え、前記データ取得手段は、ユーザ操作により指定された行位置と編集されたことを示すフラグの個数に基づいて、前記サーバに対して指定する行範囲を決定することを特徴とする。
【００１４】
請求項２に記載の発明は、請求項１に記載のクライアント装置において、前記データ取得手段は、ユーザ操作により指定された行位置の直前の行位置までに対して設定されているフラグの個数をカウントし、前記ユーザ操作により指定された行位置から当該カウントされた個数を減算した値に基づいて、前記サーバに対して指定する行範囲を決定することを特徴とする。
【００１５】
請求項３に記載の発明は、請求項１又は２に記載のクライアント装置において、前記データは、前記表示手段に表示させる行データ及び当該行データを識別するための識別子であり、前記第１の記憶手段は、前記行データを記憶する行データ用データベースと、前記識別子を記憶する識別子用データベースと、を備え、前記送信手段は、前記編集手段により編集されたデータの識別子を送信することを特徴とする。
【００１６】
請求項４に記載の発明は、請求項３に記載のクライアント装置において、前記データ取得手段は、前記編集手段により連続する複数の行が一括して編集された場合であって、当該連続する複数の行の中に前記識別子が取得されていない行位置が含まれていた場合は、当該取得されていない識別子すべてを取得することを特徴とする。
【００１７】
請求項５に記載の発明は、表形式で格納されたデータを行単位で管理するサーバとネットワーク接続されるクライアント装置におけるデータ表示方法であって、行範囲を指定して前記サーバから前記データを取得し、当該取得されたデータを記憶し、当該記憶されたデータを画面に表示し、当該表示されたデータを編集し、当該編集されたデータの行位置に対応し、この行位置のデータが編集されたか否かを示すフラグを設定し、当該編集された内容を前記サーバで反映させるための編集情報を送信し、ユーザ操作により指定された行位置と編集されたことを示すフラグの個数に基づいて、前記サーバに対して指定する行範囲を決定することを特徴とするデータ表示方法である。
【００１８】
請求項６に記載の発明は、表形式で格納されたデータを行単位で管理するサーバとネットワーク接続されるクライアント装置のコンピュータに、行範囲を指定して前記サーバから前記データを取得する機能と、当該取得されたデータを記憶する機能と、当該記憶されたデータを画面に表示する機能と、当該表示されたデータを編集する機能と、当該編集されたデータの行位置に対応し、この行位置のデータが編集されたか否かを示すフラグを設定する機能と、当該編集された内容を前記サーバで反映させるための編集情報を送信する機能と、ユーザ操作により指定された行位置と編集されたことを示すフラグの個数に基づいて、前記サーバに対して指定する行範囲を決定する機能と、を実現させるためのプログラムである。
【発明の効果】
【００１９】
本発明によれば、サーバにおいて表形式で管理されている行データに編集を加えた際、サーバ側で保持される編集後の行データとクライアント側で保持される編集前の行データとの不整合状態を維持したまま表示を行うことが可能なクライアント装置、データ表示方法、及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態を図面に基づいて説明する。
【００２１】
図１は、本実施形態に係るネットワーク構成について示す概略図である。
本実施形態では、サーバ１からクライアント２に、ネットワークＮを介してコンテンツ（例えば、ウェブメール）を提供し、クライアント２においてコンテンツを利用する場合について示している。なお、本実施形態におけるサーバ１は、ウェブブラウザを通じてクライアント２に電子メールを取得させるウェブメールサーバである。
【００２２】
図１に示すように、サーバ１には、通信ネットワークＮを介してクライアント２（例えば、パーソナルコンピュータ２ａ、携帯電話２ｂ等）が接続されている。
通信ネットワークＮは、インターネットや電気通信事業者等の電話回線網、携帯電話通信網等であり、当該通信ネットワークＮに接続するサーバ１とクライアント２の間を、データ通信可能に接続する。
【００２３】
図２は、サーバ１のハードウェア構成の概略を示すブロック図である。
図２に示すように、サーバ１は、制御部１１、記憶部（補助記憶）１２、入出力部１３、通信部１４、マスタデータベース１５等を備えた一般的なコンピュータである。各ブロックはバスライン１６により電気的に接続されている。
【００２４】
制御部１１は、演算／制御装置としてのＣＰＵ（Central Processing Unit）１１１、主記憶装置としてのＲＡＭ（Random Access Memory）１１２及びＲＯＭ（Read Only Memory）１１３で構成される。
ＲＯＭ１１３には、ＢＩＯＳ（Basic Input Output System）と呼ばれるプログラムや基本的な設定データが記憶されている。ＲＡＭ１１２には、記憶部１２から読み出されたＯＳや各種アプリケーションなどのプログラムが展開される。
ＣＰＵ１１１は、ＲＡＭ１１２に展開されたプログラムに従って各種処理を実行し、各ブロックを制御する。
【００２５】
記憶部１２は、例えばハードディスク等で構成され、ＯＳ、各種アプリケーションプログラム（例えば、サーバ用プログラムやウェブアプリケーションプログラム）、及び各種データ等が記憶されている。
入出力部１３は、サーバ１の管理者が利用するためのユーザインターフェースを構成する。
通信部１４は、ＴＣＰ／ＩＰ等の通信プロトコルに従って処理を行い、ネットワークＮを介してクライアント２とデータの送受信を行う。
【００２６】
マスタデータベース１５には、例えば、ウェブメールの一覧表示を行うためのヘッダ情報を含んだ行データが最大６万件程度格納されている。
例えば、図３に示すように、マスタデータベース１５は、上記した「行データ」（本図では、１０件のみ表示）、及び各行データに対応付けられた「識別子」を格納している。この「識別子」は、元のデータ（行データ）からある一定範囲の数値を生成するハッシュ関数により得られたハッシュ値のことである。
【００２７】
サーバ１のＣＰＵ１１１は、サーバ用ソフトウェア及びウェブアプリケーションを実行することにより、クライアント２のウェブブラウザ上におけるユーザ操作に応じた処理を行う。例えば、クライアント２のウェブブラウザ上においてユーザが表データの検索絞込み操作を行うと、サーバ１は検索条件を満たす行データを検索し、検索結果を含む新たなＨＴＭＬファイルを生成し、これをクライアント２に送信する。
【００２８】
図４は、クライアント２のハードウェア構成の概略を示すブロック図である。
図４に示すように、クライアント２は、制御部２１、記憶部２２、入力部２３、表示部２４、通信部２５等を備えた一般的なパーソナルコンピュータである。各部はバスライン２６により電気的に接続されている。
【００２９】
制御部２１の構成はサーバ１の制御部１１の構成と同様である。
記憶部２２は、例えばハードディスクで構成され、ＯＳ、各種アプリケーションプログラム（例えば、ウェブブラウザプログラム）、及び各種データの他、サーバ１からダウンロードしたコンテンツのデータ等を記憶する。記憶部２２は、さらに詳しくみると、例えば、図５に示すように、行データ用データベース２２１、識別子用データベース２２２、フラグ用データベース２２３を含んで、構成される（第１の記憶手段、第２の記憶手段）。
【００３０】
入力部２３は、例えば、キーボード及びマウスで構成され、ユーザが情報を入力する際に使用される。また、表示部２４に表示された行データの選択操作、編集操作等を行う（編集手段）。
表示部２４は、例えば、液晶ディスプレイ等で構成され、制御部２１からの表示制御指令に基づいて所定の画面を表示する（表示手段）。
通信部２５は、ＴＣＰ／ＩＰ等の通信プロトコルに従って処理を行い、ネットワークＮを介してサーバ１とデータの送受信を行う（データ取得手段、送信手段）。
【００３１】
クライアント２のＣＰＵ２１１は、例えば、起動したウェブメール上において、ユーザが入力部２３によりウェブメールの検索条件（例えば“未読”）を入力すると、この検索条件に当てはまる行データをサーバ１に要求する。そして、サーバ１から送信された行データをウェブブラウザ上に表示させる。
具体的には、まず、１ページに５件分のメール一覧を表示可能な場合、例えば図６（ａ）に示すように、５行分の未読行データが表示される。ここで、ユーザにより２行目と４行目の行データが選択され、“未読”から“既読”へとデータが編集されると、例えば図６（ｂ）に示すように、２行目と４行目の行データの表示が“未読”から“既読”に変更される。その後、この編集結果がサーバと同期されることで、“既読”に編集された行データは検索絞込み対象から外れるため、図６（ｃ）に示すように、表示部２４から削除される。すなわち、ユーザは、クライアント２に取得された行データを編集することにより、サーバ１に格納されている行データを編集（削除）することができる。
このように、“既読”に編集された行データを表示部２４から削除してしまうと、どの行データを“既読”に編集したかをユーザが把握できなくなってしまうため、不都合が生じることがある。そこで、本実施形態では、図６（ｄ）に示すように、“既読”に編集された行データも併せて表示させるために以下の処理を行う。
なお、本実施形態では、表示部２４の表示画面上に一度に表示できる行データ件数を５件としているが、この限りではない。
【００３２】
図７は、クライアント２において行データを更新するときに行われるデータ更新処理の一例について示したフローチャートである。このデータ更新処理は、ユーザによりウェブコンテンツが起動されたことを契機に、クライアント２のＣＰＵ２１１がＲＯＭ２１３に格納されているデータ更新プログラムを実行することにより実現される。
図７に示すように、ステップＳ１０１では、ユーザによりウェブコンテンツが起動され、ウェブメールサービスへのアクセスが行われると、まず１行目から１００行目までの行データがサーバ１に要求されることとなる。
クライアント２からの行データ要求が受信されると、ステップＳ１０２では、当該要求（１行目から１００行目）に基づいた行データがクライアント２に送信される。なお、クライアント２の表示部２４に表示させる行データに該当する行データが行データ用データベース２２１に、又当該行データに対応付けられた識別子が識別子用データベース２２２に、それぞれマスタデータベース１５から取得される。なお、本実施形態では、一回の取得操作につき１００件分の行データを取得できるものとするが、取得件数についてはこの限りではない。
【００３３】
ステップＳ１０３では、行データ用データベース２２１に取得された行データが表示部２４に表示される。
ステップＳ１０４では、表示部２４に表示された行データに対して行われたユーザによる編集操作が受け付けられる。ユーザによる編集操作とは、例えば、図６（ｂ）に示したように、“未読”メールを“既読”に編集することを示している。
ユーザによる編集操作が受け付けられると、ステップＳ１０５では、当該編集操作に基づいて表示部２４に画面表示が行われる。例えば、太字表記の未読メールを既読に編集した場合、細字表記に変更された行データが表示されることとなる。
【００３４】
ステップＳ１０６では、ステップＳ１０４で編集された行データの編集情報がサーバ１に送信される。ここで送信される編集情報は、識別子である。また、ステップＳ１０７では、フラグ用データベース２２３内において、ステップＳ１０４で編集された行データの行位置に対応するフラグが設定される。具体的には、図５に示したように、該当フラグの値が「０」から「１」へと変更され、当該行位置の行データが編集されたことを示すことができる。
ステップＳ１０８では、ステップＳ１０６の処理により受信された行データの編集情報（識別子）をマスタデータベース１５に格納されている行データに反映させる。サーバ１は、受信された識別子と一致する識別子に対応付けられた行データの更新を行う。マスタデータベース１５に格納された行データの更新が行われると、当該更新された行データは検索絞込みの対象から外れるため、例えば、図８に示すように、行データ群から削除されることとなる。
【００３５】
ステップＳ１０９では、ユーザによる次画面（６〜１０行目）へのスクロール操作が行われる。当該スクロール操作が行われると、６〜１０行目に該当する行データがサーバ１に要求される。この際、ステップＳ１０８で、編集された行データがマスタデータベース１５から削除されたことを考慮し、クライアント２が要求する行データ（６行目）から削除された行数分（２行分）減算し、マスタデータベース１５の４行目に格納された行データを要求することで、表示する行データのずれを解消することが可能となる。なお、削除された行数は変更されたフラグの個数をカウントすることにより算出することができる。
クライアント２からの行データ要求が受信されると、ステップＳ１１０では、ステップＳ１０８の処理により更新された行データがクライアント２に送信される。
サーバ１から送信された行データが受信されると、ステップＳ１１１では、例えば、図９に示すように、新たに行データが表示される。
【００３６】
このように、クライアント２のＣＰＵ２１１は、ユーザ操作により指定された行位置と編集されたことを示すフラグの個数に基づいて、サーバ１に対して指定する行範囲を決定することができる（データ取得手段）。具体的には、当該行位置の直前の行位置までに対して設定されているフラグの個数をカウントし、当該行位置から当該カウントされた個数を減算した値に基づいて、サーバ１に対して指定する行範囲を決定する。これにより、表示する行データのずれを解消することができる。
ここで、行位置とは、指定された行１行分（例えば６行目）を指し、行範囲とは、指定（範囲選択）された行すべて（例えば６〜１０行目）を指す。行範囲を指定する方法としては、頭の行位置とお尻の行位置（例えば「６」〜「１０」行目）を指定する方法、頭の行位置から行数（例えば「６」行目から５行）を指定する方法、及び頭の行位置から最終行までを指定する方法等があり、又指定の方法はこの限りではない。
以下、当該データ更新処理を、ウェブメールの未読／既読表示に適用した場合のより具体的な処理の一例について、図１０〜図２１を用いて詳細に説明する。
【００３７】
ユーザによりウェブメールが利用され、未読メールの表示が指示される（図７ステップＳ１０１に対応）と、マスタデータベース１５で未読メールの検索絞込みが行われ、例えば、図１０に示すように、当該検索絞込みによって抽出された未読メールの行データのうち１〜１００行目までの行データが行データ用データベース２２１に、当該１００件分の行データに対応付けられた識別子が識別子用データベース２２２に、それぞれ取得される（図７ステップＳ１０２に対応）。
【００３８】
行データ用データベース２２１に取得された行データのうち、図１１に示すように、まず１〜５行目までの５件分の行データが表示部２４に表示される（図７ステップＳ１０３に対応）。ユーザは、画面を上下にスクロールさせることで、取得された１００件分の行データについて、即座に表示を得ることができる。取得された行データは、行データ用データベース２２１が当該データを削除するまでの間、５件ずつ表示させることができる。なお、行データ用データベース２２１が行データを削除した場合であって、当該削除された行データを再度表示させるためには、マスタデータベース１５から該当する行データをもう一度取得する必要がある。
【００３９】
ユーザのスクロール操作により、１００行目を超えた位置、若しくは１００行目の十分近くまで画面がスクロールされた場合は、スクロールされた位置の前後１００件分の行データを新たに取得しながら表示部２４に表示させる。なお、ユーザが素早くスクロール操作を行うと、取得される行データが飛び飛びとなることもありうる。ここでは、図１２に示すように、１〜１００行目及び４０１〜５００行目の行データ、及び当該行データに対応付けられた識別子が取得されたものとする。
【００４０】
ここで、図１３に示すように、ユーザが７０行目及び７５行目の行データを選択し、“未読”メールを“既読”メールに編集した（図７ステップＳ１０４に対応）とすると、当該編集情報がサーバ１に通知され（図７ステップＳ１０６に対応）、マスタデータベース１５に格納されている７０行目及び７５行目の行データが検索絞込み情報から外れる（図７ステップＳ１０８に対応）とともに、フラグ用データベース２２３内の７０行目及び７５行目に対応するフラグが設定される（図７ステップＳ１０７に対応）。なお、当該通知を行うためにサーバ１に送信されるデータは、識別子である。
【００４１】
なお、図１４に示すように、マスタデータベース１５の７０行目及び７５行目の行データは既にデータが“既読”に書き換えられており、検索絞込み情報から外れている。しかしながら、マスタデータベース１５から当該行データが削除されたとしても、フラグが設定されている限り行データ用データベース２２１から削除されることはないので、表示部２４に表示される７０行目及び７５行目の行データの表示（図７ステップＳ１０５に対応）が消えることはない。
【００４２】
次に、ユーザのスクロール操作により、９５０行目に画面をスクロールさせる（図７ステップＳ１０９に対応）と、例えば、図１５に示すように、前後１００件分の行データ（９０１〜１０００行目）が取得され、表示される（図７ステップＳ１１０、Ｓ１１１に対応）。この際、従来通りマスタデータベース１５に格納されている９０１〜１０００行目の行データを取得しようとすると、上記削除された２件の行データ（７０行目及び７５行目）分のずれ（例えば、削除後の９０１行目は削除前の９０３行目に相当）に対応できないという問題があった。そこで、本実施形態では、記憶部２２にフラグ用データベース２２３を設け、編集された行データの行位置に対応するフラグを設定させ、設定されたフラグの個数をカウントすることで、ユーザ編集により生じるずれに対応可能とする。
【００４３】
本実施形態において、９０１〜１０００行目の行データを取得しようとする場合、直前の９００行目までにフラグが設定されている個数をカウントし、その数をＹとすると、Ｙ＝２（７０行目及び７５行目）である。この場合、取得しようとしている行データの最初が９０１行目なので、９０１からＹを引いた８９９行目から１００件分の行データをマスタデータベース１５から取得することとなる。つまり、マスタデータベース１５に格納されていた７０行目及び７５行目が削除されたことにより、表示部２４で９０１行目として表示される行データがマスタデータベース１５の８９９行目となっているため、８９９行目から行データを取得するようにしたことで、取得する行データのずれを解消することが可能となる。
【００４４】
なお、例えば、図１６に示すように、表示部２４で９０１行目として表示されている行データは、行データ用データベース２２１で９０１行目に格納されている行データであって、マスタデータベース１５では８９９行目に格納されている行データである。
【００４５】
ここで、図１７に示すように、ユーザ操作により、５０〜９５０行目で範囲選択を行ったものとする。この場合、範囲が１００件を超えるので、本実施形態では、行データをすべて同時に取得表示することはできない。この範囲（５０〜９５０行目）に対して、ユーザが“未読”メールを“既読”メールに編集する指示を行うと、図１８に示すように、当該選択された範囲のうち行データが格納されていない部分に対応付けられた識別子がマスタデータベース１５からすべて取得される。ここでは、すでに１〜１００行目、４０１〜５００行目、及び９０１〜１０００行目の識別子は取得されており、図１８に示したように、１０１〜４００行目、及び５０１〜９００行目の識別子が新たに識別子用データベース２２２に取得されることとなる。また、識別子用データベース２２２の行数の値からＹ＝２（７０行目及び７５行目）を引いた値がマスタデータベース１５における格納位置となるため、識別子用データベース２２２の１０１〜４００行目は、マスタデータベース１５の９９〜３９８行目に相当し、識別子用データベース２２２の５０１〜９００行目は、マスタデータベース１５の４９９〜８９８行目に相当する。
【００４６】
次に、図１９に示すように、選択された範囲の識別子を利用して、マスタデータベース１５に格納されている識別子のうち一致する当該取得された識別子が対応付けられている行データの編集が行われる。当該編集が行われた行データ（５０〜９４８行目）は、検索絞込み情報から外れることとなる
また、図２０に示すように、編集された行データの行位置（５０〜９５０行目）に対応するフラグが変更される。
【００４７】
次に、ユーザのスクロール操作により、１４５０行目に画面をスクロールさせると、例えば、図２１に示すように、前後１００件分の行データ（１４０１〜１５００行目）が取得される。この場合、図１５で示したような手順を用いて、表示部２４に１４０１〜１５００行目の行データを表示させることができる。すなわち、取得しようとしている行データの最初が１４０１行目であり、直前の１４００行目までにフラグが設定されている個数をカウントするとＹ＝９０１（５０行目〜９５０行目）である。識別子用データベース２２２の行数の値（１４０１〜１５００行目）からＹ＝９０１を引いた値がマスタデータベース１５における格納位置となるため、識別子用データベース２２２の１４０１〜１５００行目は、マスタデータベース１５の５００〜５９９行目に相当する。従って、マスタデータベース１５の５００行目〜５９９行目までの１００件分の行データが取得されることとなる。このようにして、取得する行データのずれを解消することが可能となる。
【００４８】
以上、本発明に係る実施形態に基づいて具体的に説明したが、本発明は上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で変更可能である。
【００４９】
例えば、上記実施形態では、クライアント２が保持するデータベースの構成について、行データ用データベース２２１、識別子用データベース２２２、フラグ用データベース２２３、と３つのデータベースを構成したが、行データ用データベース２２１と識別子用データベース２２２を併せて１つのデータベースとすることも可能である。そうすることで、より簡潔なデータベース構成を採用することができ、便利である。ただし、例えば、図１７に示したように、上記実施形態では、１００件を超える広範囲の範囲選択を行った場合、行データをすべて同時に取得表示することができないため識別子のみを取得していたが、行データ用データベース２２１と識別子用データベース２２２を併せて１つのデータベースとした場合、行データと識別子とを区別して取得することができないため、識別子のみを取得して対応することができない点が課題である。つまり、上記実施形態は、このような課題に対応したものであり、行データ用データベース２２１と識別子用データベース２２２とを区別して設けることで、行データを取得しなくてもマスタデータベース１５に格納されている該当行データの編集並びに編集画面の維持を行うことを可能とする。
【００５０】
また、上記実施形態では、クライアント２が保持するデータベースの構成について、行データ用データベース２２１、識別子用データベース２２２、フラグ用データベース２２３をすべて記憶部２２内に構成したが、例えば、比較的容量の少ないフラグ用データベース２２３や識別子用データベース２２２をＲＡＭ２１２上に構成するようにしてもよい。そうすることで、データ処理の高速化を図ることが可能となる。
【００５１】
また、上記実施形態では、サーバが表形式でデータを管理し、このデータをクライアントからの要求に応じて提供するサービスについて、ウェブメールサービスを例に挙げて説明しているが、例えば、「未提出／承認依頼中／承認完了」等を検索条件に案件を一覧表示可能な承認管理システムにおいて適用することも可能である。
【００５２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００５３】
【図１】本実施形態に係るネットワーク構成について示す概略図である。
【図２】サーバ１のハードウェア構成の概略を示すブロック図である。
【図３】マスタデータベース１５の構成について示す概略図である。
【図４】クライアント２のハードウェア構成の概略を示すブロック図である。
【図５】クライアント２が保持するデータベース構成について示す概略図である。
【図６】表示部２４に表示される画面が遷移していく様子の一例について示した図である。
【図７】クライアント２において行データを更新するときに行われるデータ更新処理の一例について示したフローチャートである。
【図８】マスタデータベース１５に格納されている行データに編集情報を反映させたときの様子の一例について示した図である。
【図９】編集情報反映後、スクロール操作が行われたときに表示される画面の一例について示した図である。
【図１０】マスタデータベース１５から、行データ用データベース２２１及び識別子用データベース２２２にデータが取得された様子について示した図である。
【図１１】取得された行データが表示部２４に表示された様子について示した図である。
【図１２】飛び飛びに行データが取得された様子について示した図である。
【図１３】行データに編集が加えられた様子について示した図である。
【図１４】編集が加えられた行データが表示部２４に表示された様子について示した図である。
【図１５】スクロール操作によりさらに行データが取得された様子について示した図である。
【図１６】取得された行データが正しく表示された様子について示した図である。
【図１７】ユーザ操作による範囲選択が行われた様子について示した図である。
【図１８】未取得部分の識別子が取得される様子について示した図である。
【図１９】取得された識別子に基づいてマスタデータベース１５に格納されている行データの編集が行われる様子について示した図である。
【図２０】編集された行データの行位置に対応するフラグが設定される様子について示した図である。
【図２１】スクロール操作によりさらに行データが取得された様子について示した図である。
【符号の説明】
【００５４】
１  サーバ
１１  制御部
１１１  ＣＰＵ
１１２  ＲＡＭ
１１３  ＲＯＭ
１２  記憶部
１３  入出力部
１４  通信部
１５  マスタデータベース
１６  バスライン
２  クライアント
２１  制御部
２１１  ＣＰＵ
２１２  ＲＡＭ
２１３  ＲＯＭ
２２  記憶部
２２１  行データ用データベース
２２２  識別子用データベース
２２３  フラグ用データベース
２３  入力部
２４  表示部
２５  通信部
２６  バスライン
【図１】
2010079484.tif 000003
【図２】
2010079484.tif 000004
【図３】
2010079484.tif 000005
【図４】
2010079484.tif 000006
【図５】
2010079484.tif 000007
【図６】
2010079484.tif 000008
【図７】
2010079484.tif 000009
【図８】
2010079484.tif 000010
【図９】
2010079484.tif 000011
【図１０】
2010079484.tif 000012
【図１１】
2010079484.tif 000013
【図１２】
2010079484.tif 000014
【図１３】
2010079484.tif 000015
【図１４】
2010079484.tif 000016
【図１５】
2010079484.tif 000017
【図１６】
2010079484.tif 000018
【図１７】
2010079484.tif 000019
【図１８】
2010079484.tif 000020
【図１９】
2010079484.tif 000021
【図２０】
2010079484.tif 000022
【図２１】
2010079484.tif 000023