(57)【特許請求の範囲】
【請求項１】
ページの携帯閲覧を可能にするためのシステムであって、
複数のデータファイルおよびコンテンツスクリプトを記憶するデータ記憶部と、
ネットワークを用いて前記データ記憶部と通信するように構成されるコンピューティングデバイスと、
を備え、
前記コンピューティングデバイスは、ファイル記憶部を備え、
前記データ記憶部から前記コンテンツスクリプトを受信し、かつ前記複数のデータファイルから第１のデータファイルを受信し、
前記コンテンツスクリプトを実行して、
トランザクションデータを入力することによって入力される、前記第１のデータファイルへの変更を許容し、
前記ファイル記憶部に前記第１のデータファイルへの前記変更を記憶し、かつ
前記コンピューティングデバイスが前記ネットワークを介して前記データ記憶部に接続されているかを判定し、
前記コンピューティングデバイスが前記データ記憶部に接続されていると判定された場合、前記コンテンツスクリプトを実行して、前記データ記憶部に前記第１のデータファイルへの前記変更を送信し、かつ前記データ記憶部から前記コンテンツスクリプトへの変更を受信する、
システム。
【請求項２】
前記コンテンツスクリプトは、実行可能なコードを含む、請求項１に記載のシステム。
【請求項３】
前記コンテンツスクリプトへの前記変更は、ビジネスロジックに基づく、請求項１に記載のシステム。
【請求項４】
終了基準は前記コンテンツスクリプトのバージョン識別子に関連付けられる、請求項１に記載のシステム。
【請求項５】
データファイルにアクセスするためのコンピュータ実装方法であって、
特定の実行可能な命令で構成される１つ以上のコンピューティングデバイスによって実装されるように、前記方法は、
データ記憶部から、ネットワークを介して、実行可能なコードおよび一組のデータファイルを含む、要求に応答するコンテンツを受信するステップと、
前記実行可能なコードの処理に基づいて、前記一組のデータファイルへの変更を許容するステップと、
前記実行可能なコードの処理に基づいて、前記１つ以上のコンピューティングデバイスが前記ネットワークを介して前記データ記憶部に接続されているかを判定するステップと、
前記実行可能なコードの処理に基づいて、前記１つ以上のコンピューティングデバイスが前記データ記憶部に接続されていると判定された場合、前記データ記憶部に前記一組のデータファイルへの前記変更を送信し、かつ前記データ記憶部から前記実行可能なコードへの変更を受信するステップと、
を含む、
コンピュータ実装方法。
【請求項６】
前記一組のデータファイルへの前記変更は、前記実行可能なコードを用いてトランザクションデータを入力することによって入力される、請求項５に記載のコンピュータ実装方法。
【請求項７】
トランザクションデータは、配達情報を含む、請求項６に記載のコンピュータ実装方法。
【請求項８】
ファイル記憶部に前記一組のデータファイルへの前記変更を記憶するステップをさらに含む、請求項６に記載のコンピュータ実装方法。
【請求項９】
前記実行可能なコードへの前記変更は、ビジネスロジックに基づく、請求項６に記載のコンピュータ実装方法。
【請求項１０】
前記１つ以上のコンピューティングデバイスが前記データ記憶部に接続されているかの判定は、前記データ記憶部から受信される表示に基づく、請求項６に記載のコンピュータ実装方法。
【請求項１１】
終了基準は前記実行可能なコードのバージョン識別子に関連付けられる、請求項５に記載のコンピュータ実装方法。
【請求項１２】
コンピュータ実行可能なコンポーネントを有する非一時的なコンピュータ可読媒体であって、
前記コンピュータ実行可能なコンポーネントは、ローカル記憶コンポーネントを備え、前記ローカル記憶コンポーネントは、
サーバからバージョン識別子を含む実行可能なコードを受信し、かつ複数のデータファイルから第１のデータファイルを受信し、
前記コードを実行して、トランザクションデータを入力することによって入力され、かつ少なくとも１つの終了基準と関連付けられる、前記第１のデータファイルへの変更を許容し、
前記少なくとも１つの終了基準に少なくとも部分的に基づいて、前記コードを実行して、ファイル記憶部に前記第１のデータファイルへの前記変更を記憶し、
前記コードを実行して、ローカル記憶コンポーネントがネットワークを介して前記サーバに接続されているかを判定し、
前記ローカル記憶コンポーネントが前記サーバに接続されていると判定された場合、前記少なくとも１つの終了基準に少なくとも部分的に基づいて、前記コードを実行して、前記サーバに前記第１のデータファイルへの前記変更を送信し、かつ前記実行可能なコードの妥当性を検証する、
非一時的なコンピュータ可読媒体。
【請求項１３】
前記終了基準は、以前の変更からの時間経過の指標である、請求項１２に記載の非一時的なコンピュータ可読媒体。
【請求項１４】
前記少なくとも１つの終了基準に少なくとも部分的に基づいて、前記コードを実行して、前記ファイル記憶部に前記変更を記憶することは、前記コードを実行して、最新の変更のみを記憶することを含む、請求項１２に記載の非一時的なコンピュータ可読媒体。
【請求項１５】
前記少なくとも１つの終了基準に少なくとも部分的に基づいて、前記コードを実行して、前記ファイル記憶部に前記変更を記憶することは、前記コードを実行して、加えられた全ての変更を記憶することを含む、請求項１２に記載の非一時的なコンピュータ可読媒体。
【請求項１６】
前記少なくとも１つの終了基準に少なくとも部分的に基づいて、前記コードを実行して、前記ファイル記憶部に前記変更を記憶することは、前記コードを実行して、特定期間内に加えられた変更を記憶することを含む、請求項１２に記載の非一時的なコンピュータ可読媒体。
【請求項１７】
前記少なくとも１つの終了基準に少なくとも部分的に基づいて、前記コードを実行して、前記サーバに前記第１のデータファイルへの変更を送信することは、前記コードを実行して、最新の変更のみを送信することを含む、請求項１２に記載の非一時的なコンピュータ可読媒体。
【請求項１８】
前記少なくとも１つの終了基準に少なくとも部分的に基づいて、前記コードを実行して、前記サーバに前記第１のデータファイルへの変更を送信することは、前記コードを実行して、加えられた全ての変更を送信することを含む、請求項１２に記載の非一時的なコンピュータ可読媒体。
【請求項１９】
前記少なくとも１つの終了基準に少なくとも部分的に基づいて、前記コードを実行して、前記サーバに前記第１のデータファイルへの変更を送信することは、前記コードを実行して、特定期間内に加えられた変更を送信することを含む、請求項１２に記載の非一時的なコンピュータ可読媒体。
【請求項２０】
前記コードを実行して、前記実行可能なコードの妥当性を検証することは、前記実行可能なコードの前記バージョン識別子に少なくとも部分的に基づく、請求項１２に記載の非一時的なコンピュータ可読媒体。
【請求項２１】
終了基準は前記実行可能なコードのバージョン識別子に関連付けられる、請求項１２に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
クライアントコンピューティングデバイスは、ネットワークを介して１つ以上のサーバからウェブページ等のデータファイルを要求し得る。サーバからページまたは他のファイルを受信するクライアントコンピューティングデバイスは、かかるページまたは他のファイルをローカルに記憶し得る。データファイルのローカルに記憶されたコピーは、サーバに第２の要求を送信することも、サーバからデータファイルを二度要求することもなく、ローカル記憶部から将来再び表示するために提示され得る。例えば、クライアントコンピューティングデバイスは、ハイパーテキストマークアップ言語（「ＨＴＭＬ」）ページの処理の一環として取得される１つ以上のデータファイルへの参照を含む、ＨＴＭＬページ等のページをサーバから受信し得る。その後、クライアントコンピューティングデバイスは、適切なサーバから１つ以上のデータファイルを要求し、要求されたデータファイルを表示するために処理し得る。クライアントコンピューティングデバイスは、クライアントコンピューティングデバイスにローカルであるか、またはアクセス可能なデータ記憶部に、要求されたデータファイルのうちの１つ以上をさらに記憶し得る。その後、これらの１つ以上のデータファイルのローカルに記憶されたコピーは、同一のデータファイルへの参照を含むその後に要求されたページで使用され得る。
【０００２】
このように、データファイルのローカル記憶は、データファイルを取得するためのサーバへの要求数の減少を促進する。しかしながら、データファイルに関連付けられたトランザクションデータおよび連携データの包含する為のローカルに記憶されたデータファイルへの変更が必要とされる場合、クライアントコンピューティングデバイスは、典型的には、サーバと再接続して、データファイルの更新バージョンを受信するか、または非更新バージョンのデータファイルを利用しなければならない。
【０００３】
前述の態様および付随する利点の多くは、添付の図面と併せられるときに、以下の発明を実施するための形態を参照することによってより良く理解されるため、より容易に理解されるであろう。
【図面の簡単な説明】
【０００４】
【図１】クライアントコンピューティングデバイスが、サーバから１つ以上のデータファイルを要求し得、かつローカルデータ記憶部に受信されたデータファイルの１つ以上の部分を記憶し得る、例示的な動作環境を示す。
【図２Ａ】サーバから第１のデータファイルを要求し、かつローカルデータ記憶部に第１のデータファイル、スクリプト、およびトランザクションデータを記憶する、図１の動作環境内のクライアントコンピューティングデバイスを説明するブロック図である。
【図２Ｂ】サーバにトランザクションデータを送信し、かつサーバから第２のデータファイルを受信する、図１の動作環境内のクライアントコンピューティングデバイスを説明するブロック図である。
【図３】サーバからデータファイルを要求し、かつローカルデータ記憶部にデータファイル、スクリプト、およびトランザクションデータを記憶するためのクライアントコンピューティングデバイスの一般的な構造を示す。
【図４】クライアントコンピューティングデバイスによって実装される例示的なトランザクションデータ処理ルーチンの流れ図である。
【発明を実施するための形態】
【０００５】
概説すると、本開示の態様は、クライアントコンピューティングデバイスが、サーバに即座に再接続する必要なく、トランザクションデータをローカルに収集することによってデータファイルに変更を加え得るように、クライアントコンピューティングデバイスによってサーバから受信され、かつローカルに記憶されたデータファイルに関連付けられたトランザクションデータを収集するためのシステムおよび方法に関する。上述のように、既存のシステムは、クライアントコンピューティングデバイスがデータファイルのローカルコピーを記憶することを可能にし得る。さらに、既存のシステムにおいて、クライアントコンピューティングデバイスのサーバへの接続なしでは、データファイルのローカルに記憶されたコピーを管理することはできない。例えば、サーバへの接続なしでは、データファイルに関連付けられたトランザクションデータを更新することはできない。最後に、ローカルに保存されたデータファイルは、クライアントコンピューティングデバイスに、ローカルに保存されたバージョンが古いか、または有効ではないと見なさせる終了データと関連付けられる。自然に変更または揮発性の影響を受け得るデータファイルの場合、そのようなデータファイルは、典型的には、ネットワークを介したサーバへの再接続を典型的に必要とする短い終了データに関連付けられる。しかしながら、既存のシステムとの使用の際のそのようなアプローチの欠点は、典型的には、ネットワークの接続が確立されるまで、クライアントコンピューティングデバイスによってデータファイルに変更を加えることができないことである。
【０００６】
本開示の態様は、データファイルの１つ以上の部分がクライアントコンピューティングデバイスによって管理され得るように、データファイルの１つ以上の部分がクライアントコンピューティングデバイスによってローカルコピーとして別々に記憶されることも可能にしながら、サーバへの接続要求を最小限に抑える様式でデータファイルが変更を含むことを可能にする。
【０００７】
ある実施形態において、本明細書に開示されるサーバは、クライアントシステムからデータファイルに対する要求を受信し得る。要求に応答して、サーバは、クライアントシステムにデータファイルを送信し得る。クライアントシステムに送信された応答は、クライアントシステムがデータファイルを管理することを可能にするスクリプトも含み得る。サーバから送信されたスクリプトは、多くの機能を行う実行可能なコードを含み得る。一態様において、実行可能なコードは、クライアントシステムが、クライアントシステムとサーバとの間のネットワーク接続の可用性を検証することを可能にし得る。別の態様において、実行可能なコードは、クライアントシステムが、データファイルに関連付けられるトランザクションデータを収集および処理することを可能にし得る。さらに別の態様において、実行可能なコードは、クライアントシステムとサーバとの間のトランザクションデータの同期を可能にし得る。ネットワーク接続が利用可能になった時点で、サーバは、クライアントシステムからデータファイルへの変更を受信し得、それによって、クライアントシステムによって収集および処理された変更を含むデータファイルの更新バージョンを作成し得る。
【０００８】
図１は、クライアントコンピューティングデバイス１０２が、サーバ１２０から１つ以上のデータファイルを要求し得、その後、ローカルデータ記憶部１１２に、受信されたデータファイルのうちの１つ以上の部分をローカルに記憶し得る、例示的な動作環境１００を示す。図示される環境１００は、インターネット等のネットワーク１０８によって通信可能に接続されるクライアントコンピューティングデバイス１０２およびサーバ１２０を含む。当業者であれば、クライアントコンピューティングデバイス１０２が、ラップトップ、パーソナルコンピュータ、タブレットコンピュータ、電子ブックリーダー、携帯情報端末（ＰＤＡ）、ハイブリッドＰＤＡ／携帯電話、携帯電話等を含むがこれらに限定されない、ネットワークを介して通信可能な多くのコンピューティングデバイスのいずれかであり得ることを認識する。いくつかの実施形態において、クライアントコンピューティングデバイス１０２は、サーバ１２０に関して以下に記載されるものと同様のコンピュータハードウェアおよびソフトウェアコンポーネントを含み得る。
【０００９】
図１でさらに説明されるように、サーバ１２０は、一般データ記憶部１２２を含むか、または一般データ記憶部１２２と通信する。一般データ記憶部１２２は、ビデオファイル、音声ファイルページ等を含むがこれらに限定されない、１つ以上の種類のデータファイルを含み得る。当業者であれば、一般データ記憶部１２２が、サーバ１２０にローカルであり得、サーバ１２０に遠隔であり得、および／またはそれ自体がネットワークベースのサービスであり得ることを理解する。
【００１０】
説明されるように、クライアントコンピューティングデバイス１０２は、ローカルデータ記憶部１１２を含むか、またはローカルデータ記憶部１１２と通信する。ローカルデータ記憶部１１２は、クライアントコンピューティングデバイス１０２によってサーバ１２０から受信された１つ以上のデータファイルの共有部分を含み得、かつ１つ以上のデータファイルへの変更を含み得る。いくつかの実施形態において、変更は、クライアントコンピューティングデバイス１０２に記録されたトランザクションデータから成り得る。当業者であれば、ネットワーク１０８が、任意の有線ネットワーク、無線ネットワーク、またはそれらの組み合わせであり得ることを理解する。加えて、ネットワーク１０８は、パーソナルエリアネットワーク、ローカルエリアネットワーク、広域ネットワーク、ケーブルネットワーク、衛星ネットワーク、携帯電話ネットワーク等、またはそれらの組み合わせであり得る。インターネットまたは他の上述の種類の通信ネットワークのいずれかを介して通信するためのプロトコルおよびコンポーネントは、コンピュータ通信の技術の当業者には周知であり、したがって、本明細書においてより詳細に記載する必要はない。
【００１１】
図２Ａは、図１の動作環境１００内のクライアントコンピューティングデバイス１０２を説明するブロック図である。図２Ａに説明されるように、クライアントコンピューティングデバイス１０２は、サーバ１２０から第１のデータファイルを要求する。クライアントコンピューティングデバイス１０２は、ローカルデータ記憶部１１２にデータファイル、スクリプト、およびトランザクションデータも記憶する。この例の目的のために、「第１のデータファイル」は、クライアントコンピューティングデバイス１０２によって収集および処理される第１のデータファイルへの任意の変更の前に、かつローカルデータ記憶部１１２に記憶される前に、クライアントコンピューティングデバイス１０２によって要求および受信される第１のデータファイルを指す。説明されるように、クライアントコンピューティングデバイス１０２は、サーバ１２０に第１のデータファイル要求を送信する。第１のデータファイル要求は、例示目的で、ページに対する要求であり得る。ページは、ＨＴＭＬコード等のコード、ならびに他のテキスト、他のデータファイルへのリンク、または他の実行可能なコードを含み得る。クライアントコンピューティングデバイス１０２は、例えば、クライアントコンピューティングデバイス１０２にインストールされたウェブブラウザによって生成されたページ要求の結果として、第１のデータファイル要求を送信し得る。
【００１２】
サーバ１２０が第１のデータファイル要求を受信すると、サーバ１２０は、一般データ記憶部１２２から第１の要求されたデータファイルを取得し得る。その後、サーバ１２０は、クライアントコンピューティングデバイス１０２に第１の要求されたデータファイルを送信し得る。クライアントコンピューティングデバイス１０２に送信された応答は、クライアントコンピューティングデバイスの代わりにクライアントコンピューティングデバイスによって提供されるさらなる機能性を管理する実行可能なコードも含み得る。一態様において、実行可能なコードは、クライアントコンピューティングデバイス１０２が、クライアントコンピューティングデバイス１０２とサーバとの間のネットワーク接続の可用性を検証することを可能にし得る。別の態様において、実行可能なコードは、クライアントコンピューティングデバイス１０２が、データファイルに関連付けられたトランザクションデータを収集および処理することを可能にし得る。さらに別の態様において、実行可能なコードは、クライアントコンピューティングデバイス１０２とサーバ１２０との間のトランザクションデータの同期を可能にし得る。
【００１３】
例示的に、スクリプトは、クライアントコンピューティングデバイス１０２で起動する任意の他のアプリケーションおよび／またはオペレーティングシステムから独立することができる実行可能なコードを含み得る。実行可能なコードは、クライアントコンピューティングデバイス１０２の管理を促進するＪａｖａスクリプトファイルであり得る。例えば、ユーザがクライアントコンピューティングデバイス１０２のローカルユーザインタフェース上で操作する場合、クライアントコンピューティングデバイス１０２のＪａｖａスクリプトファイルは、クライアントコンピューティングデバイス１０２に入力されたトランザクションデータの受信された第１のデータファイルとの統合を可能にし得る。Ｊａｖａスクリプトファイルは、遠隔サーバへの接続の有無にかかわらず、ユーザをサポートするユーザインタフェースをクライアントコンピューティングデバイス１０２上に提供することも可能にする。クライアントコンピューティングデバイス１０２の管理は、サーバ１２０とのネットワーク接続が存在するかを判定するように、かつクライアントコンピューティングデバイス１０２が、クライアントコンピューティングデバイス１０２とサーバ１２０との間のネットワーク接続が再び確立されたときはいつでも、サーバ１２０にトランザクションデータを送信することを可能にするように、Ｊａｖａスクリプトファイルの使用も含み得る。トランザクションデータは、クライアントコンピューティングデバイス１０２で行われたトランザクションごとに送信され得る。トランザクションデータは、行われたトランザクションから独立して、クライアントコンピューティングデバイス１０２からサーバ１２０にも定期的に送信され得る。
【００１４】
クライアントコンピューティングデバイス１０２が、サーバ１２０から第１のデータファイルを受信するとき、クライアントコンピューティングデバイス１０２は、例えば、ユーザインタフェース上にグラフィック画像を提供することによって、第１のデータファイルを処理し得る。例えば、第１のデータファイルが、表示され得るページ、ビデオ、または他のファイルである場合、クライアントコンピューティングデバイスは、第１のデータファイルを表示のために提示し得る。第１のデータファイルが音声データを含む場合、クライアントコンピューティングデバイスは、音声データを再生させ得る。第１のデータファイルが、画像、さらなるコードを含むファイル、ビデオ等のさらなるデータファイルへの埋め込み型参照を含む場合、クライアントコンピューティングデバイス１０２は、サーバ１２０および／または１つ以上のさらなるサーバ（図解せず）から、さらなるデータファイルを要求し得る。ページに関連付けられるか、またはページによって参照される、さらなるデータファイルを任意に含むページのコンテンツは、提示されて、例えば、クライアントコンピューティングデバイス１０２にインストールされたウェブブラウザ等のナビゲーションインタフェースを介して表示されるユーザインタフェースとして表示され得る。
【００１５】
上述のように、クライアントコンピューティングデバイス１０２は、ローカルデータ記憶部１１２に、クライアントコンピューティングデバイスに入力された示されるトランザクションデータとして、第１のデータファイルに加えられた任意の変更を記憶し得る。例えば、第１のデータファイルは、顧客への発送の配達に関連付けられたファイルであり得る。クライアントコンピューティングデバイス１０２は、配達員によって使用されるハンドヘルドデバイスであり得る。配達員は、顧客に発送品を配達する試みに関連付けられたトランザクションデータを入力することを望み得る。発送品を顧客へ届けようとした配達員の試みの失敗または発送品の配達の成功はそれぞれ、サーバに接続することなく、配達員によってハンドヘルドデバイスに入力され得るトランザクションデータの例であり得る。
【００１６】
いくつかの実施形態において、第１のデータファイルは、短い終了データに関連付けられ得る。そのような場合において、第１のデータファイルに加えられた連続的な変更は、データファイルに加えられ、かつローカルデータ記憶部１１２に記憶された以前の変更を上書きし得る。上記の実施例において、発送の成功した配達は、以前に記録された失敗した試みを上書きし得る。代替的に、第１のデータファイルに加えられた全ての変更は、関連付けられたシーケンス識別子とともにローカルデータ記憶部１１２に記憶され得、かつ最新の変更のみが再接続時にサーバ１２０に伝送され得る。上記の実施例において、失敗した試みは、ローカルデータ記憶部１１２に記憶されるが、一方成功した配達の詳細は、再接続時にサーバに転送される。さらに他の実施形態において、加えられた全ての変更は、関連付けられたシーケンス識別子とともにサーバ１２０に伝送され得る。上記の実施例において、失敗した試みおよび成功した試みの全てに関する詳細が、サーバに転送される。種々の実施形態において、スクリプトは、終了基準に関連付けられ得る。一部の態様において、終了基準は、スクリプトに関連付けられるバージョン識別子に基づき得る。バージョン識別子は、バージョン番号、タイムスタンプ等を含み得る。同様に、サーバ１２０にどのデータを伝送するかの判断は、終了基準に基づき得る。終了基準は、期間を含み得る。終了基準は、データファイルに加えられた連続的な変更の閾値数も含み得る。
【００１７】
いくつかの実施形態において、サーバ１２０から受信される第１のデータファイル（またはサーバ１２０から受信されるさらなるデータファイル）に含まれるＪａｖａスクリプト等のコードは、かかるトランザクションデータを入力するため等、クライアントコンピューティングデバイスを管理するために、クライアントコンピューティングデバイス１０２によって実行され得る。ローカルデータ記憶部に記憶される情報は、例えば、クライアントコンピューティングデバイス１０２で記録されるトランザクションデータとともにスクリプトを含み得る。
【００１８】
図２Ｂは、サーバ１２０にトランザクションデータを送信し、かつサーバ１２０から第２のデータファイルを受信する、図１の動作環境１００内のクライアントコンピューティングデバイス１０２を説明するブロック図である。この実施例の目的のために、「第２のデータファイル」は、トランザクションデータがサーバ１２０に送信された後に、クライアントコンピューティングデバイス１０２によって受信されるデータファイルを指す。例えば、第２のデータファイルは、クライアントコンピューティングデバイス１０２に以前に送信された第１のデータファイルおよびクライアントコンピューティングデバイス１０２によって送信されたトランザクションデータの両方を含み得る。説明されるように、図２Ａに関して上述した第１のデータファイルの受信と図２Ｂに関して後述する第２のデータファイルの受信の合間に、クライアントコンピューティングデバイス１０２によって他のデータファイル（図解せず）が受信され得るが、図２Ｂに示したブロックは、図２Ａが生じた後に生じる。
【００１９】
図２Ｂに説明されるように、クライアントコンピューティングデバイス１０２は、ネットワーク接続が存在すると判定するためにスクリプトを使用した後、サーバ１２０にトランザクションデータを送信する。トランザクションデータは、例示目的で、上述のように、行われたトランザクションに関してクライアントコンピューティングデバイス１０２に記録された情報であり得る。行われたトランザクションは、配達であり得、かつトランザクションデータは、配達の詳細を含み得る。クライアントコンピューティングデバイス１０２とサーバ１２０間でネットワーク接続が確立されると、サーバ１２０は、トランザクションデータを受信し得、かつ一般データ記憶部１２２からの１つ以上のデータファイルにトランザクションデータを組み込み得る。
【００２０】
サーバ１２０は、クライアントコンピューティングデバイス１０２に第２のデータファイルを送信し得る。理解されるように、サーバ１２０が、修正された第２のデータファイルを実際に記憶することは必要ではない。例えば、いくつかの実施形態において、サーバ１２０によって作成される修正された第２のデータファイルは、クライアントコンピューティングデバイス１０２に送信され得る。
【００２１】
クライアントコンピューティングデバイス１０２が、サーバ１２０から修正された第２のデータファイルを受信するとき、クライアントコンピューティングデバイス１０２は、第１のデータファイルに含まれるスクリプトを、またはスクリプトを第１のデータファイルとともにローカルデータ記憶部１１２から取得し得る。その後、クライアントコンピューティングデバイス１０２は、所与のデータファイルの種類に適切な（修正された第１のデータファイルのコンテンツから判定されるような）第２のデータファイルのコンテンツを提示して、表示、再生等を行い得る。その後、クライアントコンピューティングデバイス１０２は、スクリプトを用いて読み込まれた、修正された第２のデータファイルに、さらなるランザクションデータを記録し得る。かかるトランザクションデータは、サーバ１２０とのネットワーク接続が再び確立されるまで、ローカルデータ記憶部１１２にローカルに記憶され得る。
【００２２】
図３は、サーバ１２０からデータファイルを要求し、かつローカルデータ記憶部１１２にデータファイル、スクリプト、およびトランザクションデータを記憶するためのクライアントコンピューティングデバイス１０２の一般的な構造を示す。図３に示すクライアントコンピューティングデバイス１０２の実施形態は、本開示の態様を実施するために使用され得るコンピュータハードウェアおよびソフトウェアコンポーネントの配列を含む。当業者であれば、クライアントコンピューティングデバイス１０２が、図３に示すものよりもさらに多い（または少ない）コンポーネントを含み得ることを理解する。しかしながら、実施可能な程度の開示を提供するために、これらの一般的に慣用のコンポーネントの全てを示す必要はない。図３に説明されるように、クライアントコンピューティングデバイス１０２は、処理ユニット３０４、ネットワークインタフェース３０６、コンピュータ可読媒体ドライブ３０７、および入力／出力デバイスインタフェース３２０を含み、それらの全てが、通信バスを介して互いに通信し得る。説明されるように、クライアントコンピューティングデバイス１０２は、任意に、ディスプレイ３０２および入力デバイス３２４に関連付けられるか、または通信する。ネットワークインタフェース３０６は、クライアントコンピューティングデバイス１０２に、１つ以上のネットワークまたはコンピューティングシステムへの接続性を提供し得る。したがって、処理ユニット３０４は、ネットワークを介して他のコンピューティングシステムまたはサービスから情報および命令を受信し得る。処理ユニット３０４は、メモリ３１０に通信し、かつメモリ３１０からも通信し得、さらに、入力／出力デバイスインタフェース３２０を介して任意のディスプレイ３０２に出力情報を提供し得る。入力／出力デバイスインタフェース３２０は、キーボード、マウス、デジタルペン、タッチスクリーン、またはモーションキャプチャを介して記録されるジェスチャー等の任意の入力デバイス３２４からの入力を許容し得る。
【００２３】
メモリ３１０は、本開示の１つ以上の実施形態を実施するために、処理ユニット３０４が実行するコンピュータプログラム命令を含む。メモリ３１０は、概して、ＲＡＭ、ＲＯＭ、および／または他の永続的もしくは非一時的なメモリを含む。メモリ３１０は、クライアントコンピューティングデバイス１０２の一般的な管理および動作において処理ユニット３０４により使用されるコンピュータプログラム命令を提供するオペレーティングシステム３１４を記憶し得る。メモリ３１０は、さらに、本開示の態様を実施するための他の情報を含み得る。例えば、一実施形態において、メモリ３１０は、ユーザインタフェースの生成を促進して（そのための命令を提供すること等により）、コンピューティングデバイス上に表示させるユーザインタフェースモジュール３１２を含む。例えば、ユーザインタフェースは、コンピューティングデバイス１０２にインストールされたウェブブラウザ等のナビゲーションインタフェースを介して表示され得る。加えて、メモリ３１０は、上述のように、ローカルデータ記憶部１１２を含むか、またはローカルデータ記憶部１１２と通信し得る。
【００２４】
ユーザインタフェースモジュール３１２に加えて、メモリ３１０は、処理ユニット３０４によって実行され得るローカル記憶装置モジュール３２５を含み得る。一実施形態において、ローカル記憶装置モジュール３２５は、以下に詳述するように、１つ以上のデータファイルを比較して、クライアントコンピューティングデバイスによってローカルに記憶され得たトランザクションデータを同定すること等、本開示の種々の態様を実施するために使用され得る。本開示のある実施形態において、サーバ１２０は、ユーザインタフェースモジュール、処理ユニット、コンピュータ可読媒体ドライブ等を含む、クライアントコンピューティングデバイス１０２の一部として説明されるコンポーネントと同様に動作するいくつかのコンポーネントを含み得る。
【００２５】
図４は、ローカルデータ記憶部１１２とサーバ１２０間でデータファイルおよびトランザクションデータを同期するように、クライアントコンピューティングデバイス１０２によって実装される例示的な方法４００の流れ図である。例示的な方法４００は、キャッシングモジュール３２５によって少なくとも部分的に実装され得る。方法４００は、単一のデータファイルまたはグループ化されたデータファイルの実施例を用いて説明されているが、いくつかの実施形態において、説明された方法は、一般データ記憶部１２２内の各データファイルおよび／またはローカルデータ記憶部内の各データファイルに対して、あるいはデータファイルのサブセットに対して実装され得る。例えば、いくつかの実施形態において、サーバ１２０は、一般データ記憶部１２２内の各データファイルを修正して、毎夜、毎週等の定期的に受信されたトランザクションデータを含め得る。他の実施形態において、サーバ１２０は、一般データ記憶部１２２内の１つ以上のデータファイルを修正して、一般データ記憶部１２２に記憶されているトランザクションデータまたは新しいデータファイルの作成または修正等のトリガーイベントに応答して受信されるトランザクションデータを含め得る。他の実施形態において、説明された方法４００は、サーバ１２０からデータファイルを要求するクライアントコンピューティングデバイス１０２等のクライアントコンピューティングデバイスに応答して実装され得る。
【００２６】
方法４００は、ブロック４０２において開始し、その後、クライアントコンピューティングデバイス１０２がサーバ１２０または別のサーバから第１のデータファイルおよびスクリプトを受信するブロック４０４に進む。第１のデータファイルは、一般データ記憶部１２２または別のデータ記憶部に記憶された任意のデータファイルであり得る。スクリプトは、クライアントコンピューティングデバイス１０２に実装される種々の管理および制御機能を可能にするように、Ｊａｖａスクリプトファイルまたは別の種類のファイル等の種々の実行可能なコードのうちの１つであり得る。上述のように、管理および制御機能は、トランザクションデータの収集および処理、クライアントコンピューティングデバイス１０２とサーバ間のネットワーク接続性、ならびにクライアントコンピューティングデバイス１０２上およびサーバ上での第１のデータファイルとのトランザクションデータの統合を含むことができる。
【００２７】
ブロック４０６において、クライアントコンピューティングデバイス１０２のスクリプトは、クライアントコンピューティングデバイスのローカルユーザインタフェース上の操作を許容することによって、第１のデータファイルでのトランザクションデータの収集および処理を可能にする。ブロック４０８において、クライアントコンピューティングデバイス１０２のスクリプトが、サーバ１２０にトランザクションデータを送信するためのネットワーク接続がないと判定した場合、クライアントコンピューティングデバイス１０２は、トランザクションデータを記録し続け、かつローカルデータ記憶部１１２に収集および処理されたトランザクションデータを保存する。その代わりに、ブロック４０８でクライアントコンピューティングデバイス１０２のスクリプトが、ネットワーク接続があると判定した場合、クライアントコンピューティングデバイス１０２のスクリプトは、クライアントコンピューティングデバイス１０２が、サーバ１２０と同期するようにサーバ１２０にトランザクションデータを送信するブロック４１０に進む。サーバ１２０は、かかるトランザクションデータを一般データ記憶部１２２に保存し得る。ブロック４１０において、ネットワーク接続が存在すると判定された場合、サーバ１２０はまた、クライアントコンピューティングデバイス１０２に更新されたデータを送信し得る。
【００２８】
本開示全体にわたって記載された上記の方法により、サーバ１２０からクライアントコンピューティングデバイス１０２に送信されるデータファイルは、より小さくおよび／またはより少なくなり得る。これは、以前にローカルに記憶された共有部分が、その後のデータファイル要求に対して再び送信されるのではなく、一度だけ送信され得るためである。さらに、または代替的に、上記の方法により、クライアントコンピューティングデバイス１０２からサーバ１２０への接続数または要求数は減少し得る。これは、コンテンツが単一のデータファイルに含有され得るためであり、ここで、そうでなければ、他のシステムの既存の完全なファイルキャッシングを利用するために、同じコンテンツが多数のデータファイルに分割される可能性がある。理解されるように、データファイルの一部のキャッシングおよび本開示の他の態様を可能にすることは、種々の種類のデータファイルに対して実施され得る。したがって、ネットワーク上でアクセス可能な多くの種類のコンテンツが、本開示の態様から利益を享受し得る。
【００２９】
必ずしも全ての目的および利点が、本明細書に記載される任意の特定の実施形態により達成され得ないことが理解されるべきである。したがって、例えば、当業者であれば、ある実施形態が、本明細書において教示または示唆され得る他の目的または利点を必ずしも達成することなく、本明細書において教示される１つの利点または一連の利点を達成または最適化するような方法で実施するように構成され得ることを認識する。
【００３０】
本明細書に記載された工程の全ては、１つ以上の汎用コンピュータまたはプロセッサによって実行されるソフトウェアコードモジュールに具現化され得、かつソフトウェアコードモジュールを介して完全に自動化され得る。コードモジュールは、任意の種類のコンピュータ可読媒体または他のコンピュータ記憶デバイスに記憶され得る。代替的に、一部または全ての方法は、特殊なコンピュータハードウェアに具現化され得る。加えて、本明細書において参照されるコンポーネントは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせにおいて実装され得る。
【００３１】
とりわけ、「できる（ｃａｎ）」、「可能である（ｃｏｕｌｄ）」、「し得る（ｍｉｇｈｔ）、または「し得る（ｍａｙ）」等の条件言語は、別途明記されない限り、概して、ある実施形態がある機能、要素、および／またはステップを含むが、他の実施形態は含まないことを伝えるために用いられるような文脈において理解される。したがって、かかる条件言語は、概して、機能、要素、および／またはステップが、何らかの形で１つ以上の実施形態に必要とされることを示唆するよう意図されず、または１つ以上の実施形態が、ユーザ入力または指示の有無にかかわらず、これらの機能、要素、および／またはステップが任意の特定の実施形態に含まれるか、または任意の特定の実施形態において実施すべきかを判定するためのロジックを必ずしも含むことを示唆するよう意図されない。
【００３２】
本明細書に記載された、および／または添付の図面に示された流れ図の任意の工程説明、要素、またはブロックは、工程における特定のロジック機能または要素を実施するための１つ以上の実行可能な命令を含むモジュール、セグメント、またはコードの一部を潜在的に表すとして理解されるべきである。代替的な実施は、本明細書に記載された実施形態の範囲内に含まれ、代替的な実施においては、要素または機能は、当業者によって理解されるように関連する機能性に応じて、削除され得、実質的に同時または逆の順序を含む、図示または記載されたものとは異なる順序で実行され得る。
【００３３】
上記の実施形態に多くの変形および修正がなされ得ることが強調されるべきであり、その要素は、他の許容可能な実施例のうちの一部として理解されるべきである。かかる全ての修正および変更は、本開示の範囲内で本明細書に含まれ、かつ添付の特許請求の範囲によって保護されるよう意図される。
【図１】
0006053787.tif 000002
【図２Ａ】
0006053787.tif 000003
【図２Ｂ】
0006053787.tif 000004
【図３】
0006053787.tif 000005
【図４】
0006053787.tif 000006