【手続補正書】
【提出日】平成18年3月7日(2006.3.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のデータベースを有するサーバと、第２のデータベースを有するハンドヘルド・デバイスに関連付けられた同期クライアントとの間で接続を確立することであって、前記ハンドヘルド・デバイスは、ユーザが前記第２のデータベースにアクセスすることができるようにするアプリケーションを有し、前記第２のデータベースと前記第１のデータベースの同期オペレーションにおいて前記サーバが前記接続を使用する、その接続を確立するステップと、
前記同期クライアントに前記第１のデータベースの構造を示す第１の情報を提供するステップと、
前記同期クライアントに前記アプリケーションのバージョンを示す第２の情報を提供するステップと、
前記ハンドヘルド・デバイスを介して前記第２のデータベースに対してユーザが実行するトランザクションの情報を、前記同期クライアントから受け取るステップと、
前記アプリケーションが、前回の同期オペレーション以降に更新されてない場合、メタデータを前記同期クライアントに提供して前記ハンドヘルド・デバイス上の前記アプリケーションを更新するステップと、
同期クライアントのユーザが予定しないコンテンツを表示するフィルタ情報を同期クライアントから受信するステップと、
上記フィルタ情報に基づいてデータをフィルタリングするステップと、
第２データベースを更新するために同期クライアントに対する前回の同期オペレーション以降に変化したフィルタされたデータのサブセットのみを供給するステップと、
とを具備した方法。
【請求項２】
前記第１データベースの構造が、前回の同期オペレーション以降に更新されているかどうかを判定するステップとをさらに含む請求項１に記載の方法。
【請求項３】
前回の同期オペレーション以降に前記第１データベースの構造が更新されているかどうかを判定するステップは、
前回の同期オペレーションが実行されたときに前記ハンドヘルド・デバイスに格納された前記第１データベースの構造を示す第３の情報を前記同期クライアントから受け取るステップと、
前記第１の情報を前記第３の情報と比較するステップとを含む請求項２に記載の方法。
【請求項４】
第２データベースを更新するために同期クライアントに対する前回の同期オペレーション以降変化したフィルタされたデータのサブセットのみを供給する工程は、
前回の同期オペレーション以降に前記第１データベースの構造が更新されている場合、前回の同期オペレーションが実行されて以降に前記第２のデータベースの中で変更されていなかったデータを含む前記第１のデータベースからフィルタされた第１のセットのデータを前記同期クライアントに提供することを含む請求項２に記載の方法。
【請求項５】
第２データベースを更新するために同期クライアントに対する前回の同期オペレーション以降変化したフィルタされたデータのサブセットのみを供給する工程は、
前回の同期オペレーション以降に前記第１データベースの構造が更新されていない場合、前回の同期オペレーションが実行されて以降に前記第２のデータベースの中で変更されていなかったデータを含まない前記第１のデータベースからフィルタされた第２のセットのデータを前記同期クライアントに提供するステップとを含む請求項２に記載の方法。
【請求項６】
前記アプリケーションが、前回の同期オペレーション以降に更新されているかどうかを判定することをさらに含む請求項１に記載の方法。
【請求項７】
前記アプリケーションが、前回の同期オペレーション以降に更新されているかどうかを判定する工程は、
前回の同期オペレーションが実行されたときに前記ハンドヘルド・デバイス上に格納された前記アプリケーションの前記バージョンを示す第４の情報を前記同期クライアントから受け取るステップと、
前記第２の情報を前記第４の情報と比較するステップとを含む請求項６に記載の方法。
【請求項８】
前記第２のデータベースに対して実行されたトランザクションの情報を受け取る工程は、
最新の受け取ったトランザクションの識別子を前記同期クライアントに提供するステップと、
前記最新の受け取ったトランザクション後に行われた各トランザクションの識別子を含むトランザクション情報を前記同期クライアントから受け取るステップとを含む請求項１に記載の方法。
【請求項９】
前記第２のデータベースに対して実行されたトランザクションの情報を受け取る工程は、
トランザクション・エラーが検出された際、そのエラー情報を前記同期クライアントに送るステップとをさらに含む請求項８に記載の方法。
【請求項１０】
第１のデータベースを有するサーバと、第２のデータベースを有するハンドヘルド・デバイスに関連付けられた同期クライアントとの間で接続を確立する手段であって、前記ハンドヘルド・デバイスは、ユーザが前記第２のデータベースにアクセスすることができるようにするアプリケーションを有し、前記第２のデータベースと前記第１のデータベースの同期オペレーションにおいて前記サーバが前記接続を使用する、その接続を確立する手段と、
前記第１のデータベースの構造を示す第１の情報を提供する手段と、
前記アプリケーションのバージョンを示す第２の情報を提供する手段と、
ユーザが前記ハンドヘルド・デバイスを介して前記第２のデータベースに対して実行するトランザクションの情報を前記同期クライアントから受け取る手段と、
前記アプリケーションが、前回の同期オペレーション以降に更新されてない場合、メタデータを提供して前記ハンドヘルド・デバイス上の前記アプリケーションを更新する手段と、
同期クライアントのユーザが欲してないコンテンツを表示するユーザ独自のフィルタ情報を同期クライアントから受け取る手段と、
同期クライアントのユーザに第１データベース内で見えるデータを指示する手段と、
ユーザの特定フィルタ情報にもとづいて指示されたデータをフィルタリングする手段と、
第２データベースを更新するために同期クライアントに対する前回の同期オペレーション以降に変化したフィルタされたデータのサブセットのみを供給する手段とから構成されるシステム。
【請求項１１】
前記第１データベースの構造が、前回の同期オペレーション以降に更新されているかどうかを判定する手段をさらに含む請求項１０に記載のシステム。
【請求項１２】
前回の同期オペレーション以降に前記第１データベースの構造が更新されているかどうかを判定する前記手段が、
前回の同期オペレーションが実行されたときに前記ハンドヘルド・デバイスに格納された前記第１データベースの構造を示す第３の情報を受け取る手段と、
前記第１の情報を前記第３の情報と比較する手段とを含む請求項１１に記載のシステム。
【請求項１３】
第２データベースを更新するために同期クライアントに対する前回の同期オペレーション以降に変化したフィルタされたデータのサブセットのみを供給する手段は、
前回の同期オペレーション以降に前記第１データベースの構造が更新されている場合、前回の同期オペレーションが実行されて以降に前記第２のデータベースの中で変更されていないデータを含む、前記第１のデータベースからフィルタされた第１のセットのデータを提供する手段を含む請求項１１に記載のシステム。
【請求項１４】
第２データベースを更新するために同期クライアントに対する前回の同期オペレーション以上に変化したフィルタされたデータのサブセットのみを供給する手段は、
前回の同期オペレーション以降に前記第１データベースの構造が更新されていない場合、前回の同期オペレーションが実行されて以降に前記第２のデータベースの中で変更されていないデータを含まない、前記第１のデータベースからフィルタされた第２のセットのデータを提供する手段を含む請求項１１に記載のシステム。
【請求項１５】
前記アプリケーションが、前回の同期オペレーション以降に更新されているかどうかを判定する手段をさらに含む請求項１１に記載のシステム。
【請求項１６】
前記アプリケーションが、前回の同期オペレーション以降に更新されているかどうかを判定する前記手段が、
前回の同期オペレーションが実行されたときに前記ハンドヘルド・デバイスに格納されて、前記アプリケーションの前記バージョンを示す第４の情報を受け取る手段と、
前記第２の情報を前記第４の情報と比較する手段とを含む請求項１５に記載のシステム。
【請求項１７】
前記第２のデータベースに対して実行されたトランザクションの情報を受け取る前記手段が、
最新の受け取ったトランザクションの識別子を提供する手段と、
前記最新の受け取ったトランザクション後に行われた各トランザクションの識別子を含むトランザクション情報を受け取る手段とを含む請求項１１に記載のシステム。
【請求項１８】
前記第２のデータベースに対して実行されたトランザクションの情報を受け取る手段は、
トランザクション・エラーが検出された際、そのエラー情報を前記同期クライアントに供給する手段をさらに含む請求項１７に記載のシステム。
【請求項１９】
コンピュータによって実行されたとき、第１のデータベースを有するコンピュータと、第２のデータベースを有するとともに、その第２のデータベースにユーザがアクセスすることができるようにするアプリケーションを有するハンドヘルド・デバイスに関連付けられた同期クライアントとの間で接続を確立し、前記コンピュータが、前記第２のデータベースと前記第１のデータベースの同期オペレーションにおいて前記接続を使用するオペレーションと、
前記同期クライアントに前記第１のデータベースの構造を示す第１の情報を提供するオペレーションと、
前記同期クライアントに前記アプリケーションのバージョンを示す第２の情報を提供するオペレーションと、
前記ハンドヘルド・デバイスを介して前記第２のデータベースに対してユーザが実行するトランザクションの情報を前記同期クライアントから受け取るオペレーションと、
前記アプリケーションが、前回の同期オペレーション以降に更新されている場合、メタデータを前記同期クライアントに提供して前記ハンドヘルド・デバイス上の前記アプリケーションを更新するオペレーションと、
同期クライアントのユーザが希望しないコンテンツを示すユーザフィルタ情報を同期クライアントから供給するオペレーションと、
同期クライアントのユーザに見えるデータを第１データベース内で指示するオペレーションと、
ユーザの特定フィルタ情報に基づいて指示されたデータをフィルタリングするオペレーションと、
第２データベースを更新するために同期クライアントに対する前回の同期オペレーション以降に変化したフィルタされたデータのサブセットを供給するオレーションとから構成されることを特徴とするコンピュータで実行されたとき前記のオペレーションを行うための複数の命令を記憶しているマシン可読媒体。
【請求項２０】
前記複数の命令が、
前記コンピュータによって実行されたとき、前回の同期オペレーション以降に前記第１データベースの構造が更新されているかどうかを判定するオペレーシ１９に記載のマシン可読媒体。
【請求項２１】
前回の同期オペレーション以降に前記第１データベースの構造が更新されているかどうかを判定する前記オペレーションを実行する前記命令が、
前記コンピュータによって実行されたとき、前回の同期オペレーションが実行されたときに前記ハンドヘルド・デバイス上に格納された前記第１データベースの構造を示す第３の情報を前記同期クライアントから受け取るオペレーションと、
前記第１の情報を前記第３の情報と比較するオペレーションと
を含むオペレーションを前記コンピュータに実行させる命令を含む請求項２０に記載のマシン可読媒体。
【請求項２２】
前記第１のデータベースから抽出されたデータを前記サーバから受け取って前記第２のデータベースを更新する命令が、
前記コンピュータによって実行されたとき、前回の同期オペレーション以降に前記第１データベースの構造が更新されている場合、前回の同期オペレーションが実行されて以降に前記第２のデータベースの中で変更されていないデータを含む、前記第１のデータベースからフィルタされた第１のセットのデータを前記同期クライアントに提供するオペレーションを前記コンピュータに実行させる命令を含む請求項２０に記載のマシン可読媒体。
【請求項２３】
前記第１のデータベースから抽出されたデータを前記サーバから受け取って前記第２のデータベースを更新する命令が、
前記コンピュータによって実行されたとき、前回の同期オペレーション以降に前記第１データベースの構造が更新されていない場合、前回の同期オペレーションが実行されて以降に前記第２のデータベースの中で変更されないままのデータを含まない、前記第１のデータベースから抽出された第２のセットのデータを前記同期クライアントに提供するオペレーションを前記コンピュータに実行させる命令を含む請求項２０に記載のマシン可読媒体。
【請求項２４】
前記複数の命令が、
前記コンピュータによって実行されたとき、前記アプリケーションが、前回の同期オペレーション以降に更新されているかどうかを判定するオペレーションを含むオペレーションを前記コンピュータに実行させる命令をさらに含む請求項１９に記載のマシン可読媒体。
【請求項２５】
前記アプリケーションが、前回の同期オペレーション以降に更新されているかどうかを判定する前記オペレーションを実行する前記命令が、
前記コンピュータによって実行されたとき、前回の同期オペレーションが実行されたときに前記ハンドヘルド・デバイスに格納された前記アプリケーションの前記バージョンを示す第４の情報を前記同期クライアントから受け取るオペレーションと、
前記第２の情報を前記第４の情報と比較するオペレーションと
を含むオペレーションを前記コンピュータに実行させる命令を含む請求項２４に記載のマシン可読媒体。
【請求項２６】
前記第２のデータベースに対して実行されたトランザクションの情報を前記サーバに送る前記オペレーションを実行する前記命令が、
前記コンピュータによって実行されたとき、最新の受け取ったトランザクションの識別子を前記同期クライアントに提供するオペレーションと、
前記最新の受け取ったトランザクション後に行われた各トランザクションの識別子を含むトランザクション情報を前記同期クライアントから受け取るオペレーションと
を含むオペレーションを前記コンピュータに実行させる命令を含む請求項１９に記載のマシン可読媒体。
【請求項２７】
前記第２のデータベースに対して実行されたトランザクションの情報を前記サーバに送る前記命令が、
前記コンピュータによって実行されたとき、トランザクション・エラーが検出された際、エラー情報を前記同期クライアントに送るオペレーションを含むオペレーションを前記コンピュータに実行させる命令を含む請求項２６に記載のマシン可読媒体。
【請求項２８】
同期クライアントを同期させる際に使用する同期エンジンであって、この同期エンジンは、
メイン・データベースと、
そのメイン・データベースに結合され、前記同期クライアントに結合可能なトランザクション・プロセッサであって、ハンドヘルド・デバイスのユーザがローカル・データベースに対して行ったトランザクションに関連する情報を同期オペレーション中に前記同期クライアントから受け取り、その受け取った情報を使用して前記メイン・データベースに対して前記トランザクションを実行するトランザクション・プロセッサと、
前記同期クライアントに結合可能なメタデータ・ユニットであって、前記ハンドヘルド・デバイスのユーザ・インターフェースを更新するための情報を含むメタデータを前記同期オペレーション中に前記同期クライアントに提供するメタデータ・ユニットと、
前記メイン・データベースに結合されたデータ・エクストラクタとから構成され、上記データ・エクストラクタは同期クライアントから同期クライアントのユーザが希望しないコンテンツを表すユーザ特有のフィルタ情報を同期クライアントから供給を受けるものであり、同期動作中に同期クライアントに可視ルールに基づく主データベースから得たデータと前回の同期オペレーション以降に変化しているデータの一部を示すデータのサブセットを同期クライアントに供給し、前回の同期オペレーション以降に変化してない抽出したデータはデータ・エクストラに供給されないことを特徴とする同期クライアントの同期をとるために使用される同期エンジン。
【請求項２９】
前記データ・エクストラクタが、前記メイン・データベースからデータを抽出する際に該データをさらにフィルタリングする請求項２８に記載の同期エンジン。
【請求項３０】
前記データ・エクストラクタが、前回の同期オペレーション以降に前記メイン・データベースの構造が変更されているかどうかをさらに判定する請求項２８に記載の同期エンジン。
【請求項３１】
前記データ・エクストラクタが、前記同期クライアントに提供された前記抽出されたデータを格納する請求項３０に記載の同期エンジン。
【請求項３２】
前回の同期オペレーション以降に前記メイン・データベースの前記構造が変更されている場合、前回の同期オペレーションが実行されて以降に前記メイン・データベースの中で変更されていないデータを含む、前記メイン・データベースから抽出された第１のセットのデータを前記データ・エクストラクタが提供する請求項３０に記載の同期エンジン。
【請求項３３】
前回の同期オペレーション以降に前記メイン・データベースの前記構造が変更されていない場合、前回の同期オペレーションが実行されて以降に前記メイン・データベースの中で変更されていないデータを除外する、前記メイン・データベースから抽出された第２のセットのデータを前記データ・エクストラクタが提供する請求項３０に記載の同期エンジン。
【請求項３４】
前記データ・エクストラクタが、前記抽出されたデータを前回の同期オペレーションからの保存済みの抽出されたデータと比較する請求項３０に記載の同期エンジン。
【請求項３５】
前記データ・エクストラクタが、前記保存済みの抽出されたデータの中に含まれない前記抽出されたデータのデータをさらに提供し、前記保存済みの抽出されたデータの中に含まれる前記抽出されたデータのデータを提供しない請求項３４に記載の同期エンジン。
【請求項３６】
前記データ・エクストラクタが、前記データをフィルタリングする前に前記同期クライアントからのフィルタ更新を受け取る請求項２９に記載の同期エンジン。
【請求項３７】
前記トランザクション・プロセッサが、トランザクション・エラーが検出された際にエラー情報を前記同期クライアントに提供する請求項３６に記載の同期エンジン。