WO2005098628A1 - オーバーフロー防止方法、装置、及びプログラム - Google Patents

オーバーフロー防止方法、装置、及びプログラム Download PDF

Info

Publication number
WO2005098628A1
WO2005098628A1 PCT/JP2005/005481 JP2005005481W WO2005098628A1 WO 2005098628 A1 WO2005098628 A1 WO 2005098628A1 JP 2005005481 W JP2005005481 W JP 2005005481W WO 2005098628 A1 WO2005098628 A1 WO 2005098628A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
client
computer
overflow
information
Prior art date
Application number
PCT/JP2005/005481
Other languages
English (en)
French (fr)
Inventor
Tohru Tachibana
Yuhichi Takahashi
Yasuhiro Aoki
Mitsugu Kanetake
Original Assignee
Ibm Japan, Ltd.
International Business Machines Corporation
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 Ibm Japan, Ltd., International Business Machines Corporation filed Critical Ibm Japan, Ltd.
Publication of WO2005098628A1 publication Critical patent/WO2005098628A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Abstract

 【課題】 クライアントのデータをサーバのデータに同期させることで発生するクライアント側メモリのオーバーフローを防止する。  【解決手段】 クライアント10が保持するクライアントDB11をサーバ20が保持するサーバDB21に同期させることで発生するクライアントDB11のオーバーフローを防止するために、オーバーフロー防止装置50は、クライアント10が拡張AP12を用いて指定した条件に合致するデータをサーバDB21から抽出し、抽出したデータがクライアントDB11のオーバーフローを発生させるかどうかを判断し、オーバーフローを発生させないと判断した場合に、汎用データ同期装置30がデータ同期処理を行う際に使用する同期DB40に、抽出したデータを格納し、オーバーフローを発生させると判断した場合に、条件の変更に関するアドバイス情報をクライアント10に提示する。

Description

オーバーフロー防止方法、 装置、 及びプログラム 技術分野
[0001] 本発明は、サーバコンピュータ (以下、「サーバ」 t 、う)からクライアントコンピュータ( 以下、「クライアント」 t 、う)へのデータ送信によるクライアント側メモリのオーバーフロ 一を防止するためのオーバーフロー防止装置等に関する。
背景技術
[0002] 近年、携帯情報端末 (携帯電話、 PDA等の比較的データ容量が小さ ヽデバイス)を 企業内サーバのクライアントとして活用したいという要求が高まっており、そのような要 求に対応した製品も登場している。尚、ここで、企業内サーバとは、例えば、米国 IB M社の Lotus Domino,米国マイクロソフト社の Microsoft Exchangeといったグループゥ エアや、米国 IBM社の DB2、米国オラクル社の Oracle等のデータベース製品を指し ている。
[0003] そのようなクライアントは、サーバとの接続の仕方に注目すると大きく 2種類に分けら れる。
1つは、 Connectedモデルのクライアントである。このモデルのクライアントは、常に サーバと通信しながら処理を行う。 Connectedモデルの代表的な例としては、サーバ が生
成する HTML文書を Webブラウザで閲覧しながら処理を進めていくクライアント形態 が挙げられる。
もう 1つは、 Disconnectedモデルのクライアントである。このモデルのクライアントは、 サーバとの通信を切断した状態で処理を行 、、クライアント上のデータをサーバ上の データに一致させる、いわゆるデータ同期を行う必要がある時に、サーバとの通信を 行う(
例えば、特許文献 1参照。 )o
[0004] このような Disconnectedモデルのクライアントでは、ユーザがデータの閲覧'入力処 理を行う際に通信が発生しないため、 Connectedモデルのクライアントに比べ、ユー ザ操作
が高速に行えるという大きな利点がある。但し、その利点を最大限生かすにはデータ 同期の頻度をできるだけ抑える必要があり、そのためには、できるだけ多くのデータを クライアントに保存しておくことが必要になる。例えば、クライアントでの操作に必要な 全てのデータを保存しておくことができれば理想的である。
[0005] 特許文献 1:特開 2000— 227889号公報 (第 2段落)
発明の開示
課題を解決するための手段
[0006] かかる目的のもと、本発明は、オーバーフローしないことが判明した場合にのみ、デ ータを送信するようにしている。即ち、本発明のオーバーフロー防止方法は、サーバ が保持するサーバデータベース (以下、「サーバ DB」 t 、う)からクライアントが保持す るクライアントデータベース (以下、「クライアント DB」という)へデータを送信することで 発生するクライアント DBのオーバーフローを防止するものであり、クライアントが、サ ーバに対し、クライアント DBの容量と、サーバ DB力 データを抽出するための条件と を知らせるステップと、サーバが、知らされた条件に合致するデータをサーバ DBから 抽出するステップと、抽出されたデータの容量力 知らされたクライアント DBの容量を 超えない場合に、抽出されたデータが、サーノからクライアント DBへ渡されるステツ プとを含んでいる。
一方、オーバーフローすることが判明した場合には、オーバーフローを起こさないよ うな設定変更の方法をユーザに知らせるようにしている。即ち、本発明のオーバーフ ロー防止方法は、抽出されたデータの容量力 知らされたクライアント DBの容量を超 える場合に、条件の変更に関するアドバイス情報をクライアントに提示するステップを 更に含んでもよい。
[0007] また、本発明は、オーバーフローしないことが判明した場合にのみ、データを送信 するオーバーフロー防止装置として捉えることもできる。その場合、本発明のオーバ 一フロー防止装置は、クライアントが保持するクライアント DBをサーバが保持するサ ーバ DBに同期させることで発生するクライアント DBのオーバーフローを防止するも のであり、クライアントが指定する条件に合致するデータをサーバ DB力 抽出し、クラ イアント DBを抽出されたデータに同期させることでクライアント DBのオーバーフロー が発生するかどうかを判断する前処理部と、この前処理部によりクライアント DBのォ 一バーフローが発生しないと判断された場合に、クライアント DBを抽出されたデータ に同期させるための処理を行う同期処理部とを備えて 、る。
一方、オーバーフローすることが判明した場合には、オーバーフローを起こさないよ うな設定変更の方法をユーザに知らせることの可能なオーバーフロー防止装置とし て捉えることもできる。その場合は、前処理部が、クライアント DBのオーバーフローが 発生する
と判断された場合に、条件の変更に関するアドバイス情報をクライアントに提示するこ とを特徴とする。
[0008] さらに、本発明は、オーバーフロー防止機能を有するサーバとして捉えることもでき る。その場合、本発明のサーバは、クライアントから、そのクライアントのデータ格納領 域の容量情報と、そのクライアントに送信すべきデータを特定するための設定情報と を受信する受信部と、この受信部により受信された設定情報によってクライアントに送 信すべきデータを特定し、特定されたデータの容量情報と、受信部により受信された データ格納領域の容量情報とに基づき、特定されたデータがデータ格納領域のォー バーフローを発生させるかどうかを判定する判定部と、この判定部により特定された データがオーバーフローを発生させな!/、と判定された場合に、特定されたデータがク ライアントへ渡されるように処理する受渡し処理部とを備えて!/、る。
また、判定部により特定されたデータがオーバーフローを発生させると判定された 場合に、オーバーフローを発生させないようにするための設定情報に関するアドバイ ス情報を生成してクライアントに提示するアドバイス情報提示部を更に備えてもよい。
[0009] 一方、本発明は、コンピュータに所定の機能を実現させるためのプログラムとして捉 えることもできる。その場合、本発明の第 1のプログラムは、コンピュータに、他のコン ピュータから、他のコンピュータのデータ格納領域の容量情報と、他のコンピュータに 送信すべきデータを特定するための設定情報とを受信する機能と、受信された設定 情報によって他のコンピュータに送信すべきデータを特定し、特定されたデータの容 量情報と、受信されたデータ格納領域の容量情報とに基づき、特定されたデータが データ格納領域のオーバーフローを発生させるかどうかを判定する機能と、特定され たデータがオーバーフローを発生させな!/、と判定された場合に、特定されたデータ が他のコンピュータへ渡されるように処理する機能とを実現させる。
また、本発明の第 2のプログラムは、コンピュータに、他のコンピュータから、他のコ ンピュータのデータ格納領域の容量情報と、他のコンピュータに送信すべきデータを 特定するための設定情報とを受信する機能と、受信された設定情報によって他のコ ンピュータに送信すべきデータを特定し、特定されたデータの容量情報と、受信され たデータ格納領域の容量情報とに基づき、特定されたデータがデータ格納領域のォ 一バーフローを発生させるかどうかを判定する機能と、特定されたデータがオーバー フローを発生させると判定された場合に、設定情報を少なくとも 1つの制限方法で制 限して得られる少なくとも 1つの新たな設定情報を要素とする第 1の集合を求め、その 第 1の集合の要素から、データ格納領域のオーバーフローを発生させるデータを特 定する設定情報に対応する要素を除外することによって第 2の集合を求め、その第 2 の集合の要素の少なくとも 1つをアドバイス情報として提示する機能とを実現させる。
[0010] し力しながら、携帯情報端末のデータ容量は、数百キロバイトから多くても数メガバ イトであり、携帯情報端末に全てのデータを保存しておくことは事実上不可能である。 これに対し、サーバ上のデータをフィルタリングする機能を用いることも考えられる。 フィルタリング機能とは、サーバ上のデータを、クライアントがデータ同期を行う対象の データに絞り込む機能である。例えば、電子メールの場合には、発信者、緊急度 (緊 急、
普通、参考情報等)、サイズによるフィルタリング機能が提供され得る。また、スケジュ ールデータの場合には、期間によるフィルタリング機能が提供され得る。
[0011] しかし、このようなフィルタリング機能を用いても、以下のような問題点が存在する。
第 1の問題点は、フィルタリング機能によりデータを絞り込んでも、やはり、クライアン トのデータ容量を超えるデータが送信されることは防げないという点である。その結果 、フィルタリング機能により別の絞り方を試さなければならず、無駄な通信が発生して しく BR stvle= page-break-after: always ' > まう。
例えば、携帯情報端末のデータ容量を考慮し、「10/01— 10/31」というフィルタリン グ設定を行ったとしても、オーバーフローが発生しな 、と 、う保証はな 、のである。
[0012] 第 2の問題点は、クライアントにてデータのオーバーフローが発生した場合に、どの データ同期が成功しどのデータ同期が成功しな力つたかが不明であり、次回データ 同期を行う際にオーバーフローを起こさないようなフィルタリングの設定変更の方法 が不明であるという点である。
例えば、「10/01— 10/31」というフィルタリング設定でオーバーフローした場合にお いて、フィルタリング設定を「10/06— 10/24」にすればオーバーフローしないのではな いかと推測し、そのようなフィルタリング設定を行ったとする。しかし、その場合でも、ォ 一バーフローしてしまう可能性はある。フィルタリング設定を、例えば、「10/06— 10/17」か「10/13— 10/31」に変更すればオーバーフローが防げる場合においても、 ユーザは、何度かの試行錯誤を繰り返さなければそのことを知ることはできな 、。
[0013] 本発明は、以上のような技術的課題を解決するためになされたものであって、その 目的は、サーノ からクライアントへデータを送信する際にクライアント側メモリのォー バーフローを起こさな 、ようにすることにある。 また他の目的は、サーノ からクライアントへデータを送信する際にどのような設定を すればクライアント側メモリのオーバーフローを起こさないかを知らせることにある。 発明の効果
[0014] 本発明によれば、サーバからクライアントへデータを送信する際にクライアント側メモ リのオーバーフローが起こらな 、ようになる。
図面の簡単な説明
[0015] [図 1]本発明の実施の形態が適用されるクライアント/サーバシステムの全体構成を示 した図である。
[図 2]本発明の実施の形態におけるオーバーフロー防止装置のハードウェア構成を 示したブロック図である。
[図 3]本発明の実施の形態におけるオーバーフロー防止装置の機能構成を示したブ ロック図である。 [図 4]本発明の実施の形態におけるサーブレットの動作を示したフローチャートである
[図 5]本発明の実施の形態における同期アダプタの動作を示したフローチャートであ る。
[図 6]本発明の実施の形態におけるアドバイス情報生成部の動作を示したフローチヤ ートである。
[図 7]本発明の実施の形態の動作を具体的に説明するための図である。
発明を実施するための最良の形態
[0016] 以下、添付図面を参照して、本発明を実施するための最良の形態 (以下、「実施の 形態
」と 、う)につ!/、て詳細に説明する。
図 1に示すように、本実施の形態は、クライアント 10と、サーバ 20と、汎用データ同 期装置 30と、同期データベース (以下、「同期 DB」という) 40と、オーバーフロー防止 装置 50とを備える。
クライアント 10は、例えば、携帯電話等の携帯情報端末であり、クライアント DB11と 、拡張アプリケーションプログラム (以下、「拡張 AP」という) 12とを有している。尚、拡 張 AP12は、オーバーフロー防止装置 50と直接通信を行うために、本実施のく BR style= page— break— after:always >
形態においてクライアント 10に新たに導入されたプログラムであり、例えば、無線通 信によりクライアント 10にダウンロードしインストールしたものであってよい。また、クラ イアント 10は、拡張 API 2に対しユーザが各種設定を入力するためのユーザインタ 一フェースを備える。
[0017] サーバ 20は、複数のクライアント 10から共通にアクセス可能なコンピュータである。
サーバ 20は、サーバ DB21を有し、クライアント DB11内のデータと同じ項目のデー タを格納する。
ところで、本実施の形態において、クライアント 10は、 Disconnectedモデルのクライ アントであり、所定のタイミングで、クライアント DB11の内容をサーバ DB21の内容に 一致させるデータ同期を行う必要がある。このデータ同期を行うの力 汎用データ同 期装置 30である。汎用データ同期装置 30としては、例えば、 SyncMLによりデータ 同期を行う Syncサーバが挙げられる。
[0018] 同期 DB40は、汎用データ同期装置 30によるデータ同期の対象となるデータ (以下 、「同期データ」という)を格納するデータベースである。尚、図 1には図示していない 力 同期 DB40は、複数のクライアント 10のそれぞれに対して設けられ、あるクライァ ント 10へ送られる同期データは、そのクライアント 10に対応する同期 DB40に格納さ れること〖こなる。
そして、オーバーフロー防止装置 50は、本実施の形態の中核部分をなす装置であ り、同期処理を行う同期処理部としての機能と、同期処理部の前段階の処理を行う前 処理部としての機能とを有するものである。ここで、前処理部とは、拡張 AP12から受 信した情報に基づき、クライアント DB11のオーバーフローが発生するかどうかを判断 し、オーバーフローが発生すると判断された場合にオーバーフローを発生させな 、よ うな設定をアドバイス情報としてクライアント 10に通知するものである。また、同期処理 部とは、クライアント DB11のオーバーフローが発生しない場合に、同期データを同 期 DB40に格納するものである。
[0019] 図 2は、本実施の形態におけるオーバーフロー防止装置として用いるのに好適なコ ンピュータのハードウェア構成の例を模式的に示した図である。
図 2に示すコンピュータは、演算手段である CPU(Central Processing Unit)501 と、 M/B (マザ一ボード)チップセット 502および CPUバスを介して CPU501に 接続されたメインメモリ 503と、同じく M/Bチップセット 502および AGP(Accelerated Graphics Port)を介して CPU501に接続されたビデオカード 504及びディスプレイ 51 0と、 PCI(Peripheral Component Interconnect)バスを介して M/Bチップセット 502に 接続された磁気ディスク装置 (HDD)505、ネットワークインターフェイス 506と、さらに この PCIバスからブリッジ回路 507および ISAdndustry Standard Architecture)バスな どの低速なバスを介して M/Bチップセット 502に接続さ
れたフレキシブルディスクドライブ 508およびキーボード/マウス 509とを備える。
[0020] 尚、図 2は本実施の形態を実現するコンピュータのハードウェア構成を例示するに 過ぎず、本実施の形態を適用可能であれば、他の種々の構成を取ることができる。 例えば、ビデオカード 504を設ける代わりに、ビデオメモリのみを搭載し、 CPU501に てイメージデータを処理する構成としてもよいし、外部記憶装置として、 ATA(AT Attachment)や SCSI(Small Computer System Interface)等のインターフェイスを介し て CD— R(Compact Disc Recordable)や DVD— RAM(Digital Versatile Disc Random Access Memory)のドライブを設けてもよい。
[0021] 次に、図 3を参照して、本実施の形態におけるオーバーフロー防止装置 50の機能 について説明する。
図 3に示すように、オーバーフロー防止装置 50は、サーブレット 51と、同期アダプタ 52と、共有データベース (以下、「共有 DB」という) 53とを含んでいる。ここで、サーブ レット 51及び同期アダプタ 52は、オーバーフロー防止装置 50上で動作するプロダラ ムである。即ち、オーバーフロー防止装置 50の CPU501が、例えば、磁気ディスク 装置 505に記憶されたこれらのプログラムをメインメモリ 503に読み込んで実行する。 その実行状態において、サーブレット 51が果たす機能を細分ィ匕すると、受信部 54と 、データ取得部 55と、判定部 56と、アドバイス情報生成部 57と、送信部 58とに分け ることがでさる。
[0022] 受信部 54は、クライアント 10からクライアント DB11の容量とフィルタリング設定とを 含む同期開始要求を受信する部分である。データ取得部 55は、受信部 54が受信し た同期開始要求に含まれるフィルタリング設定に基づき、サーバ DB21から同期デー タを抽出し、共有 DB53に格納する部分である。判定部 56は、同期データの容量が 、受信部 54が受信した同期開始要求に含まれるクライアント DB11の容量を超えて いるかどうかを判定し、超えていればアドバイス情報生成部 57を呼び出し、超えてい なければ同期アダプタ 52を呼び出す部分である。
アドバイス情報生成部 57は、フィルタリング設定をどのように変更すれば同期デー タの容量がクライアント DB11の容量を超えなくなるかのアドバイス情報を生成する部 分である。送信部 58は、判定部 56による判定の結果に基づき、同期可能通知又は エラーコード ·アドバイス情報を送信する部分である。
[0023] 次に、図 4一 6を参照して、本実施の形態の動作について、詳細に説明する。
図 4は、サーブレット 51の動作を示したフローチャートである。 まず、受信部 54が、クライアント 10から同期開始要求を受信したかどうか判定する( ステップ 101)。同期開始要求には、クライアント DB11の容量とフィルタリング設定と が含まれる。
尚、フィルタリング設定とは、サーバ DB21に格納されたデータに対しフィルタリング を行って同期データを抽出する際の条件設定である。サーバ DB21にスケジュール データが格納されている場合であれば、例えば、「Aさんのスケジュール」、「Bさんの スケジュール」等、「人」に着目して設定を行う場合や、「4日のスケジュール」、「5日 のスケジュール」等、「日」に着目して設定を行う場合等が考えられる。以下では、この ような設定における「人」、「日」等、フィルタリングにおいて着目する項目を「フィルタリ ング項目」と呼ぶことにし、このような設定における「Aさん」、「4日」等、フィルタリング 項目にお 、て指定される値のことを「項目値」と呼ぶことにする。
[0024] ここで、受信部 54は、同期開始要求を受信したと判定しな 、場合、ステップ 101の 判定を繰り返すが、同期開始要求を受信したと判定すると、同期開始要求に含まれ るクライアント DB11の容量を判定部 56に受け渡すと共に、同期開始要求に含まれ るフィルタリング設定をデータ取得部 55に受け渡す。
これにより、データ取得部 55は、フィルタリング設定にマッチするデータ (同期デー タ)をサーバ DB21から取得し、同期データを共有 DB53に格納すると共に、その容 量を判定部 56に受け渡す (ステップ 102)。尚、クライアント 10に既に取得されたデー タがある場合には、データ取得部 55は、そのデータの取得以降にサーバ 20にて変 更 ·追加されたデータの中力もフィルタリング設定にマッチするデータ (同期データ)を 取得する。
この方法としては、例えば、クライアント DB11内のデータ及びそのクライアント 10へ の送信日時情報を同期 DB40に記憶しておき、データ取得部 55が、これらの情報を 参照してそれ以降にサーバ DB21にて変更 ·追カ卩が行われたデータを抽出する方法 が考えられる。
[0025] その後、判定部 56は、受信部 54から受け渡されたクライアント DB11の容量と、デ ータ取得部 55から受け渡された同期データの容量とを比較し、同期データの容量が クライアント DB11の容量以下であるかどうかを判定する (ステップ 103)。 ここで、同期データの容量力クライアント DB11の容量以下であると判定すると、判 定部 56は、同期アダプタ 52に対し、同期データを同期 DB40に格納するよう要求し( ステップ 104)、図 5に示す同期アダプタ 52の処理が行われる (ステップ 105)。
その後、送信部 58は、データ同期が可能であることを示す戻り値 (同期可能通知)を クライアント 10に返信する (ステップ 106)。
一方、同期データの容量力 Sクライアント DB11の容量よりも大きいと判定すると、判 定部 56は、アドバイス情報生成部 57に対し、アドバイス情報を生成するよう要求し、 図 6に示すアドバイス情報生成処理が行われる (ステップ 107)。そして、アドバイス情 報が生成されると、オーバーフローを示すエラーコードとアドバイス情報とをクライアン ト 10に返信する (ステップ 108)。
[0026] 次に、図 5を参照して、同期アダプタ 52の動作を説明する。
まず、同期アダプタ 52は、サーブレット 51から同期データ格納要求を受信したかど うか判定する (ステップ 201)。ここで、同期データ格納要求を受信していないと判定す ると、ステップ 201を繰り返すが、同期データ格納要求を受信したと判定すると、共有 DB53から同期データを読み出し (ステップ 202)、その同期データを同期 DB40に格 納する (ステップ 203)。
[0027] また、図 6を参照して、アドバイス情報生成部 57の動作を説明する。
動作の開始にあたり、アドバイス情報生成部 57は、クライアント DB11に何件のデ ータが格納可能であるかを予め把握しておく。このデータ件数は、クライアント DB11 の容量を同期データのサイズで除することにより求めることができる。
尚、同期データのサイズとしては、フィルタリング設定における全てのフィルタリング 項目を考慮して抽出される同期データのサイズを採用する。例えば、サーバ DB21に スケジュールデータが格納されて 、る場合に、フィルタリング設定におけるフィルタリ ング項目として「日」及び「人」が選択されたとすると、特定の日の特定の人について のスケジュールデータのサイズを採用することになる。
[0028] このような状態の下で、アドバイス情報生成部 57は、フィルタリング設定におけるフ ィルタリング項目ごとに図 6の処理を行う。
まず、アドバイス情報生成部 57は、着目するフィルタリング項目において指定され た項目値の少なくとも 1通りの組み合わせを用意し、それらの組み合わせを要素とす る集合 Iを求める (ステップ 301)。尚、この少なくとも 1通りの組み合わせを選定するに あた
つては、まず、全ての項目値力 なる組み合わせは除外する。それは、全ての項目値 力 なる組み合わせにつ 、ては、クライアント DB11のオーバーフローを発生させるこ とは分力つているので、そのような組み合わせをアドバイス情報として提示することは あり得な!/、からである。また、「日」のように、項目値に連続性のあるフィルタリング項目 の場合、互いに隣接しない項目値を含む組み合わせは除外する。それは、例えば、 フィルタリング項目「日」に対し、「4日」、「5日」、「6日」、「7日」を指定した場合に、そ れを「4日」及び「7日」の指定に変更するような要望はあまりないと考えられる力もであ る。
[0029] 次に、集合 Iの要素である項目値の組み合わせのそれぞれに対し、その組み合わ せでフ
ィルタリングを行った場合に抽出されるデータの容量を計算する (ステップ 302)。 その結果、データ容量力クライアント DB11の容量を超えることとなる組み合わせを 集合 Iの要素から除外し、その除外後の集合を集合 IIとする (ステップ 303)。
更に、アドバイス情報生成部 57は、集合 IIの要素のうち、集合 IIの他の要素に包含 される要素を集合 IIから除外し、その除外後の集合を集合 IIIとする (ステップ 304)。 そして、集合 IIIの全ての要素をアドバイス情報として送信部 58に受け渡す (ステップ
305)。これにより、送信部 58が、クライアント 10に対し、アドバイス情報を送信 すること〖こなる。
[0030] 次に、本実施の形態の動作について、具体例を用いて述べる。
本具体例は、本発明を SFA(Sales Force Automation)システムに適用し、携帯電話 等のクライアント 10からサーバ 20で管理する営業員のスケジュール情報を閲覧する 場面を想定したものである。図 7(a)にこのようなスケジュール情報の一部を示す。この スケジュール情報は、 Aさん、 Bさん、 Cさんの 4一 7日のスケジュール情報というフィ ルタリング設定により抽出されたものである。
ステップ 101で受信部 54が受信する同期開始要求にこのフィルタリング設定が含ま れ、ステップ 102でデータ取得部 55がこのフィルタリング設定にマッチするデータを サーバ DB21から抽出することでこのような情報を取得する。
ここで、この抽出された全データの件数は「32」であり、クライアント DB11に格納可 能なデータの件数が「32」以上であれば、ステップ 103での判定は「Yes」となり、デ ータ同期は成功する。
[0031] し力し、ここでは、例えば、クライアント DB11の容量が 5120バイトであるとし、特定 の日の特定の人のスケジュールデータのサイズが 256バイトであるとする。即ち、クラ イアント DB11に格納可能なデータの件数は、「20(= 5120/256)」で
あるとする。
そうすると、ステップ 103での判定は「No」となり、ステップ 107でアドバイス情報が 生成され、ステップ 108でその生成されたアドバイス情報がクライアント 10に送信され ることになる。
[0032] 以下、アドバイス情報の生成について、詳細に述べる。
まず、フィルタリング項目「日」に着目した場合の図 6の動作について、図 7(b)を参 照しながら説明する。
フィルタリング項目「日」に対する項目値は、「4日」、「5日」、「6日」、「7日」であるの で、ステップ 301で、その項目値の少なくとも 1通りの組み合わせを要素とする集合 Iを 求める。フィルタリング項目「日」はその項目値に連続性があるため、「全
ての項目値力もなる組み合わせは除外する」 t 、う規則に加え、「互いに隣接しな!ヽ 項目値を含む組み合わせは除外する」という規則を適用し、集合 Iの要素は、図 7(b) に示す
ように、「5曰、 6曰、 7曰」、「4曰、 5曰、 6曰」、「6曰、 7曰」、「5曰、 6曰」、「4曰、 5曰」 、「7日」、「6日」、「5日」、「4日」となる。
[0033] 次に、ステップ 302で集合 Iの各要素に対し、その要素でフィルタリングを行った場 合に抽出されるデータの容量を対応付ける。具体的には、「5日、 6日、 7日」に対して は、図 7(a)の「5日」に対する合計と、「6日」に対する合計と、「7日」に対する合計とを 足し合わせることにより、「29(=8 + 8 + 13)」を対応付ける。同様に、「4日、 5日、 6日 」に対し「19(= 3 + 8 + 8)」を、「6日、 7日」に対し「21(=8 + 13)」を、「5日、 6日」に対し「16(=8 + 8)」を、「4日、 5日」に対し「1 1(= 3 + 8)」を、「7日」に対し「13」を、「6日」に対し「8」を、「5日」に対し「8」を、「4日 」に対し「3」を対応付ける。
[0034] 次に、ステップ 303で、求めたデータ容量がクライアント DB11の容量を超える要素 については、集合 Iから除外することで、集合 IIを求める。即ち、集合 IIの要素におい ては、図 7(b)に示すように、集合 Iから「5日、 6日、 7日」及び「6日、 7日」力 S除 外されている。
更に、ステップ 304で、集合 IIの要素力も他の要素に包含される要素を除外すること で、集合 IIIを求める。良!]ち、「5日、 6日」、「4日、 5日」、「6日」、「5日」、
「4日」は、「4日、 5日、 6日」に包含されるので、集合 IIIの要素においては、図 7(b)に 示すように、これらの要素は除外されている。
結局、集合 ΠΙの要素は、「4日、 5日、 6日」及び「7日」となり、ステップ 305 では、これをアドバイス情報とする。
[0035] 次に、フィルタリング項目「人」に着目した場合の図 6の動作について、図 7(c)を参 照しながら説明する。
フィルタリング項目「人」に対する項目値は、「Aさん」、「Bさん」、「Cさん」であるので 、ステップ 301で、その項目値の少なくとも 1通りの組み合わせを要素とする集合 Iを 求める。フィルタリング項目「人」はその項目値に連続性がないため、「全ての 項目値力もなる組み合わせは除外する」という規則のみを適用し、集合 Iの要素は、 図 7(c)に示すように、「Bさん、じさん」、「Aさん、じさん」、「Aさん、 Bさん」、「〉 じさん」、「Bさん」、「Aさん」となる。
[0036] 次に、ステップ 302で集合 Iの各要素に対し、その要素でフィルタリングを行った場 合に抽出されるデータの容量を対応付ける。具体的には、「Bさん、 Cさん」に対して は、図 7(a)の「Bさん」に対する合計と、「Cさん」に対する合計とを足し合わせることに より、「24(= 11 + 13)」を対応付ける。同様に、「Aさん、 Cさん」に対し「21(=8 + 13) 」を、「Aさん、 Bさん」に対し「19(=8 + 11)」を、「Cさん」に対し「13」を、「Bさん」に対 し「11」を、「Aさん」に対し「8」を対応付ける。
[0037] 次に、ステップ 303で、求めたデータ容量がクライアント DB11の容量を超える要素 については、集合 Iから除外することで、集合 IIを求める。即ち、集合 IIの要素におい ては、図 7(c)に示すように、集合 Iから「Bさん、 Cさん」及び「Aさん、 Cさん」が 除外されている。
更に、ステップ 304で、集合 IIの要素力も他の要素に包含される要素を除外すること で、集合 IIIを求める。即ち、「Bさん」、「Aさん」は、「Aさん、 Bさん」に包含さ れるので、集合 IIIの要素においては、図 7(c)に示すように、これらの要素は除外され ている。
結局、集合 IIIの要素は、「Aさん、 Bさん」及び「Cさん」となり、ステップ 305 では、これをアドバイス情報とする。
[0038] 以上により、送信部 58は、例えば、「アドバイス 1(期間の変更) :データ同期範囲を 4 、 5、 6日又は 7日にしましょう」、「アドバイス 2(メンバの変更):データ同期範囲を A、 B 又は Cにしましょう」といったアドバイス情報を送信する。
[0039] 以上述べたように、本実施の形態では、同期 DB40には、クライアント DB11がォー バーフローを起こさな 、分のデータしか存在しな 、ので、クライアント DB11がオーバ 一フローすることはなく、従って、無駄な通信は発生しない。
また、同期アダプタ 52からのフィルタリング設定のアドバイス情報に基づきフィルタリ ング設定をすれば、次回のデータ同期は必ず成功する。
更に、本実施の形態では、データ同期機能の部分は、従来のものをそのまま利用 できる構成にしており、クライアント側ソフトウェアの拡張が容易かつ変更量が小さい という利点がある。
[0040] 尚、本実施の形態は、 SyncMLプロトコルを用いたデータ同期システムだけに限ら ず、サーバとクライアントのデータ同期を行うシステム全般 (DB2等のデータベース他) に適用可能である。また、データ同期を行うシステムに限られるものでもなぐサーバ 20からクライアント 10へ単にデータを送信する一般的なシステムにも適用できるもの である。その場合、汎用データ同期装置 30は、サーバ 20からクライアント 10へのデ ータ送信処理を行う所定の機能となり、同期 DB40は、その装置へ送信対象のデー タを受け渡すための中間ファイルとなる。
更に、本実施の形態では、オーバーフロー防止装置 50を、サーバ DB21を有する サーバ 20とは物理的に独立した装置して述べた力 オーバーフロー防止装置 50の 機能の全部又は一部をサーバ 20の機能として実現することも可能である。

Claims

請求の範囲
[1] サーバコンピュータが保持するサーバデータベース (以下、「サーバ DB」という)から クライアントコンピュータが保持するクライアントデータベース (以下、「クライアント DB」という)へデータを送信することで発生する当該クライアント DBのオーバーフロ 一を防止するオーバーフロー防止方法であって、
前記クライアントコンピュータが、前記サーバコンピュータに対し、前記クライアント D Bの容量と、前記サーバ DB力 データを抽出するための条件とを知らせるステップと 前記サーバコンピュータが、知らされた前記条件に合致するデータを前記サーバ D B力 抽出するステップと、
抽出された前記データの容量が、知らされた前記クライアント DBの容量を超えない 場合に、当該抽出されたデータが、前記サーバコンピュータ力 当該クライアント DB へ渡されるステップと
を含むことを特徴とするオーバーフロー防止方法。
[2] 前記抽出されたデータが渡されるステップは、
前記サーバコンピュータが、前記抽出されたデータを同期データベース (以下、「同 期
DBJ t 、う)に格納するステップと、
所定のデータ同期装置力 前記クライアント DBと前記サーバ DBとの間のデータ同 期処理として、当該クライアント DBの内容を前記同期 DBの内容によって置き換える 処理を行うステップと
を含むことを特徴とする請求項 1記載のオーバーフロー防止方法。
[3] 抽出された前記データの容量が、知らされた前記クライアント DBの容量を超える場 合に、前記条件の変更に関するアドバイス情報を前記クライアントコンピュータに提 示するステップを更に含むことを特徴とする請求項 1記載のオーバーフロー防止方法
[4] クライアントコンピュータが保持するクライアント DBをサーバコンピュータが保持する サーバ DBに同期させることで発生する当該クライアント DBのオーバーフローを防止 するオーバーフロー防止装置であって、
前記クライアントコンピュータが指定する条件に合致するデータを前記サーバ DBか ら抽出し、前記クライアント DBを当該抽出されたデータに同期させることで当該クライ アント DBのオーバーフローが発生するかどうかを判断する前処理部と、
前記前処理部により前記クライアント DBのオーバーフローが発生しないと判断され た場合に、当該クライアント DBを前記抽出されたデータに同期させるための処理を 行う同期処理部と
を備えたことを特徴とするオーバーフロー防止装置。
[5] 前記前処理部は、前記クライアント DBのオーバーフローが発生すると判断された 場合に、前記条件の変更に関するアドバイス情報を前記クライアントコンピュータに 提示することを特徴とする請求項 4記載のオーバーフロー防止装置。
[6] クライアントコンピュータから、当該クライアントコンピュータのデータ格納領域の容 量情報と、当該クライアントコンピュータに送信すべきデータを特定するための設定 情報とを受信する受信部と、
前記受信部により受信された前記設定情報によって前記クライアントコンピュータに 送信すべきデータを特定し、当該特定されたデータの容量情報と、当該受信部によ り受信された前記データ格納領域の容量情報とに基づき、当該特定されたデータが 当該データ格納領域のオーバーフローを発生させるかどうかを判定する判定部と、く BR style= page-break-after: always?
前記判定部により前記特定されたデータがオーバーフローを発生させないと判定さ れた場合に、当該特定されたデータが前記クライアントコンピュータへ渡されるように 処理する受渡し処理部と
を備えたことを特徴とするサーバコンピュータ。
[7] 前記判定部は、前記クライアントコンピュータが保持しないデータの中から、当該ク ライアントコンピュータに送信すべきデータを特定することを特徴とする請求項 6記載 のサーノ コンピュータ。
[8] 前記受渡し処理部は、前記クライアントコンピュータへ渡すデータの格納専用に設 けられた中間ファイルに、前記特定されたデータを格納することを特徴とする請求項 6記載のサーバコンピュータ。
[9] 前記判定部により前記特定されたデータがオーバーフローを発生させると判定され た場合に、オーバーフローを発生させないようにするための前記設定情報に関する アドバイス情報を生成して前記クライアントコンピュータに提示するアドバイス情報提 示部を更に備えたことを特徴とする請求項 6記載のサーバコンピュータ。
[10] 前記アドバイス情報提示部は、前記特定されたデータの一部を構成するデータで あって、前記データ格納領域のオーバーフローを発生させないデータを選択し、当 該選択したデータを特定するための新たな設定情報を前記アドバイス情報として提 示することを特徴とする請求項 9記載のサーバコンピュータ。
[11] 前記アドバイス情報提示部は、前記設定情報を少なくとも 1つの制限方法で制限し て得られる少なくとも 1つの新たな設定情報を要素とする第 1の集合を求め、当該第 1 の集合の要素から、前記データ格納領域のオーバーフローを発生させるデータを特 定する設定情報に対応する要素を除外することによって第 2の集合を求め、当該第 2 の集合の要素の少なくとも 1つを前記アドバイス情報として提示することを特徴とする 請求項 9記載のサーバコンピュータ。
[12] 前記アドバイス情報提示部は、前記設定情報の制限方法として、当該設定情報で 指定された値が連続性を有する場合に、前記第 1の集合の要素としての設定情報で 指定する値も連続性を有することとなるような制限方法を採用することを特徴とする請 求項 11記載のサーバコンピュータ。
[13] 前記アドバイス情報提示部は、前記第 2の集合の要素のうち、当該第 2の集合の他 の要素に包含される要素を除外して得られる要素を前記アドバイス情報として提示す ることを特徴とする請求項 11記載のサーバコンピュータ。
[14] コンピュータに、
他のコンピュータから、当該他のコンピュータのデータ格納領域の容量情報と、当 該他のコンピュータに送信すべきデータを特定するための設定情報とを受信する機 能と、
受信された前記設定情報によって前記他のコンピュータに送信すべきデータを特 定し、当該特定されたデータの容量情報と、受信された前記データ格納領域の容量 情報とに基づき、当該特定されたデータが当該データ格納領域のオーバーフローを 発生させるかどうかを判定する機能と、
前記特定されたデータがオーバーフローを発生させな 、と判定された場合に、当 該特定されたデータが前記他のコンピュータへ渡されるように処理する機能と を実現させるためのプログラム。
[15] 前記判定する機能は、前記他のコンピュータが保持しないデータの中から、当該他 のコンピュータに送信すべきデータを特定する機能であることを特徴とする請求項 14 記載のプログラム。
[16] 前記渡されるように処理する機能は、前記他のコンピュータへ渡すデータの格納専 用に設けられた中間ファイルに、前記特定されたデータを格納する機能であることを 特徴とする請求項 14記載のプログラム。
[17] コンピュータに、
他のコンピュータから、当該他のコンピュータのデータ格納領域の容量情報と、当 該他のコンピュータに送信すべきデータを特定するための設定情報とを受信する機 能と、
受信された前記設定情報によって前記他のコンピュータに送信すべきデータを特 定し、当該特定されたデータの容量情報と、受信された前記データ格納領域の容量 情報とに基づき、当該特定されたデータが当該データ格納領域のオーバーフローを 発生させるかどうかを判定する機能と、
前記特定されたデータがオーバーフローを発生させると判定された場合に、前記設 定情報を少なくとも 1つの制限方法で制限して得られる少なくとも 1つの新たな設定 情報を要素とする第 1の集合を求め、当該第 1の集合の要素から、前記データ格納 領域のオーバーフローを発生させるデータを特定する設定情報に対応する要素を除 外することによって第 2の集合を求め、当該第 2の集合の要素の少なくとも 1つをアド バイス情報として提示する機能と
を実現させるためのプログラム。
[18] 前記アドバイス情報として提示する機能は、前記設定情報の制限方法として、当該 設定情報で指定された値が連続性を有する場合に、前記第 1の集合の要素としての 設定情報で指定する値も連続性を有することとなるような制限方法を採用する機能で あることを特徴とする請求項 17記載のプログラム。
前記アドバイス情報として提示する機能は、前記第 2の集合の要素のうち、当該第 2 の集合の他の要素に包含される要素を除外して得られる要素を前記アドバイス情報 として提示することを特徴とする請求項 17記載のプログラム。
PCT/JP2005/005481 2004-03-30 2005-03-25 オーバーフロー防止方法、装置、及びプログラム WO2005098628A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004101015 2004-03-30
JP2004-101015 2004-03-30

Publications (1)

Publication Number Publication Date
WO2005098628A1 true WO2005098628A1 (ja) 2005-10-20

Family

ID=35125260

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/005481 WO2005098628A1 (ja) 2004-03-30 2005-03-25 オーバーフロー防止方法、装置、及びプログラム

Country Status (1)

Country Link
WO (1) WO2005098628A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023051282A1 (zh) * 2021-09-29 2023-04-06 华为技术有限公司 一种嵌入向量预取的方法、装置、系统及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212461A (ja) * 1996-01-29 1997-08-15 Internatl Business Mach Corp <Ibm> データ転送制御方法
JP2002215409A (ja) * 2001-01-15 2002-08-02 Nec Corp ダウンロードシステム、携帯情報端末及びプログラム管理装置
JP2003167761A (ja) * 2001-11-30 2003-06-13 Casio Comput Co Ltd 情報処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212461A (ja) * 1996-01-29 1997-08-15 Internatl Business Mach Corp <Ibm> データ転送制御方法
JP2002215409A (ja) * 2001-01-15 2002-08-02 Nec Corp ダウンロードシステム、携帯情報端末及びプログラム管理装置
JP2003167761A (ja) * 2001-11-30 2003-06-13 Casio Comput Co Ltd 情報処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023051282A1 (zh) * 2021-09-29 2023-04-06 华为技术有限公司 一种嵌入向量预取的方法、装置、系统及相关设备

Similar Documents

Publication Publication Date Title
CN110569311B (zh) 一种数据库的数据同步方法、设备和计算机存储介质
CN105787077B (zh) 数据同步方法和装置
US20070118577A1 (en) Method of Replicating Data Between Computing Devices
US20060064456A1 (en) Multistep master data cleansing in operative business processes
US6976038B2 (en) Method and apparatus for real time creation and modification of a change log for multi-server synchronization
CN107040578A (zh) 数据同步方法、装置和系统
CN112380227B (zh) 基于消息队列的数据同步方法、装置、设备及存储介质
CN112311656B (zh) 消息聚合、展示方法、装置、电子设备和计算机可读介质
EP2674868A1 (en) Database update notification method
US11360944B2 (en) Reconciliation of data in a distributed system
CN111008865A (zh) 优惠券同步展示方法、装置、服务器及存储介质
WO2005098628A1 (ja) オーバーフロー防止方法、装置、及びプログラム
CN109241381B (zh) 信息匹配方法及装置
CN116028696A (zh) 资源信息获取方法、装置、电子设备及存储介质
CN110489483A (zh) 数据同步方法、装置、计算机设备以及存储介质
WO2015068259A1 (ja) 情報提供方法および装置並びプログラム
CN112269741B (zh) 应用程序兼容性测试方法及相关设备
CN114547184A (zh) 人员信息同步方法、终端设备及存储介质
CN113742376A (zh) 一种同步数据的方法、第一服务器以及同步数据的系统
EP3289544A1 (en) Insertion of unsaved content via content channel
US7716343B2 (en) System and method for operating a networked software application on a network with sporadic connectivity
CN113434754A (zh) 确定推荐api服务的方法、装置、电子设备和存储介质
US10037242B2 (en) Failure detection in a processing system
CN111771191A (zh) 跨域的内联事件处理程序
CN112783925B (zh) 分页检索方法和装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP