(57)【特許請求の範囲】
【請求項１】
１以上のデータを含むデータファイルを有する複数の端末装置と通信可能なパッチ提供装置において実行されるパッチ適用プログラムであって、
パッチ提供装置を、
パッチがバージョンに関する情報を含むものであって、
複数の異なるバージョンのパッチを記憶するパッチ記憶手段と、
端末装置からパッチの送信要求を受信するパッチ送信要求受信手段と、
パッチの送信要求を受信すると、パッチ記憶手段により記憶されたパッチを端末装置へ送信するパッチ送信手段
として機能させ、
パッチ送信手段により端末装置へ送信するパッチが、２以上のバージョンの異なるパッチを結合した結合パッチであり、
データファイルが結合パッチを適用した場合に、データ開始位置を示すオフセット情報が変更されず、
結合パッチが、同一のオフセット情報に対して適用される、異なるバージョンの複数のパッチを結合したものである場合に、バージョンの最も新しいパッチに含まれる処理のみが適用されるように結合される、パッチ適用プログラム。
【請求項２】
複数のデータがデータファイルに含まれ、
複数のデータのいずれかを第一のデータとし、第一のデータに隣接し、且つ、第一のデータよりもオフセット情報の値が大きいデータを第二のデータとした場合に、
第一のデータと第二のデータとの間に、任意の大きさの空き領域が設けられることを特徴とする請求項１に記載のパッチ適用プログラム。
【請求項３】
パッチ提供装置を、
端末装置が適用可能なパッチをすべて適用したデータファイルである最新データファイルに含まれるデータと、新たに追加するデータ及び／又は最新データファイルに含まれるデータの一部を更新した更新データとを用いて、更新データファイルを生成する更新データファイル生成手段と、
最新データファイルと、更新データファイル生成手段により生成された更新データファイルとの差分情報に基づいて、パッチを生成するパッチ生成手段と、
パッチ生成手段により生成されたパッチと他のパッチを結合して、結合パッチを生成する結合パッチ生成手段
として機能させ、
パッチ送信手段が、結合パッチ生成手段により生成した結合パッチを端末装置へ送信する、
請求項１又は２に記載のパッチ適用プログラム。
【請求項４】
１以上のデータを含むデータファイルを有する複数の端末装置と、端末装置と通信可能なパッチ提供装置とを備えるパッチ適用システムであって、
パッチ提供装置は、
パッチがバージョンに関する情報を含むものであって、
複数の異なるバージョンのパッチを記憶するパッチ記憶手段と、
端末装置からパッチの送信要求を受信するパッチ送信要求受信手段と、
パッチの送信要求を受信すると、パッチ記憶手段により記憶されたパッチを端末装置へ送信するパッチ送信手段と
を備え、
端末装置は、
データファイルを記憶するデータ記憶手段と、
パッチ提供装置へパッチの送信要求を送信するパッチ送信要求送信手段と、
パッチ提供装置から送信されたパッチを受信するパッチ受信手段と、
受信したパッチを、データ記憶手段により記憶されたデータファイルに適用するパッチ適用手段と
を備え、
パッチ送信手段により端末装置へ送信するパッチが、２以上のバージョンの異なるパッチを結合した結合パッチであり、
データファイルが結合パッチを適用した場合に、データ開始位置を示すオフセット情報が変更されず、
結合パッチが、同一のオフセット情報に対して適用される、異なるバージョンの複数のパッチを結合したものである場合に、バージョンの最も新しいパッチに含まれる処理のみが適用されるように結合される、パッチ適用システム。
【請求項５】
１以上のデータを含むデータファイルを有し、パッチ提供装置と通信可能な端末装置において実行されるパッチ適用プログラムであって、
端末装置を、
データファイルを記憶するデータ記憶手段と、
パッチ提供装置へパッチの送信要求を送信するパッチ送信要求送信手段と、
パッチ提供装置から送信されたパッチを受信するパッチ受信手段と、
受信したパッチを、データ記憶手段により記憶されたデータファイルに適用するパッチ適用手段
として機能させ、
パッチ受信手段により受信するパッチが、２以上のバージョンの異なるパッチを結合した結合パッチであり、
データファイルが結合パッチを適用した場合に、データ開始位置を示すオフセット情報が変更されず、
結合パッチが、同一のオフセット情報に対して適用される、異なるバージョンの複数のパッチを結合したものである場合に、バージョンの最も新しいパッチに含まれる処理のみが適用されるように結合される、パッチ適用プログラム。
【請求項６】
１以上のデータを含むデータファイルを有する複数の端末装置と通信可能なパッチ提供装置において実行されるパッチ適用方法であって、
パッチがバージョンに関する情報を含むものであって、
パッチを端末装置へ送信するステップを有し、
端末装置へ送信するパッチが、２以上のバージョンの異なるパッチを結合した結合パッチであり、
データファイルが結合パッチを適用した場合に、データ開始位置を示すオフセット情報が変更されず、
結合パッチが、同一のオフセット情報に対して適用される、異なるバージョンの複数のパッチを結合したものである場合に、バージョンの最も新しいパッチに含まれる処理のみが適用されるように結合される、パッチ適用方法。
【請求項７】
１以上のデータを含むデータファイルを有する複数の端末装置と、端末装置と通信可能なパッチ提供装置とを備えるパッチ適用システムにて実行されるパッチ適用方法であって、
パッチ提供装置にて、
パッチがバージョンに関する情報を含むものであって、
端末装置からパッチの送信要求を受信するステップと、
パッチの送信要求を受信すると、パッチを端末装置へ送信するステップと
を実行し、
端末装置にて、
パッチ提供装置へパッチの送信要求を送信するステップと、
パッチ提供装置から送信されたパッチを受信するステップと、
受信したパッチを、データファイルに適用するステップと
を実行し、
パッチを送信するステップにおいて、端末装置へ送信するパッチが、２以上のバージョンの異なるパッチを結合した結合パッチであり、
パッチをデータファイルに適用するステップにおいて、データファイルが結合パッチを適用した場合に、データ開始位置を示すオフセット情報が変更されず、
結合パッチが、同一のオフセット情報に対して適用される、異なるバージョンの複数のパッチを結合したものである場合に、バージョンの最も新しいパッチに含まれる処理のみが適用されるように結合される、パッチ適用方法。
【発明の詳細な説明】
【技術分野】
【０００１】
端末装置のデータファイルの状況に関わらず、最新のパッチを適用可能とするようなパッチ適用プログラム、パッチ適用システム、及びパッチ適用方法に関する。
【背景技術】
【０００２】
近年、ネットワークを経由して端末装置をサーバ装置に接続し、サーバ装置が端末装置からの入力指示を処理して多人数によりゲームを進行することが可能なオンラインゲームが楽しまれている。このようなゲームの形態を一般的に、ＭＭＯ（Ｍａｓｓｉｖｅｌｙ  Ｍｕｌｔｉｐｌａｙｅｒ  Ｏｎｌｉｎｅ）ゲームといい、特にＲＰＧ（Ｒｏｌｅ  Ｐｌａｙｉｎｇ  Ｇａｍｅ）に関するゲームが広く知られている。
【０００３】
このようなオンラインゲームでは、ゲーム提供者がサービス提供の過程で発見されるプログラム上の不具合の改善、機能変更、及び、機能拡張のためのパッチ（Ｐａｔｃｈ）を提供することで、コンテンツとしての寿命を延ばす措置が講じられている。パッチの適用は、端末装置が一定の条件を満たす場合にパッチ提供装置にアクセスし、自動でインストールする方法、あるいは、ユーザがパッチ提供装置にアクセスし、実行ファイルをダウンロードして手動で更新する方法等が知られている。自動でインストールする場合は、ゲームプログラムに含まれるバージョン管理プログラムが、パッチ提供装置で提供されているバージョンと、端末装置にインストールされているバージョンとを比較して、パッチ提供装置のバージョンが新しければダウンロード処理を開始する。
【０００４】
プログラムの変更に応じて、適用しなければならないパッチの数は増加する。ここで、パッチを適用するデータのサイズが大きくなければ、データ自体を置換して、適用するパッチの数を減らすことが可能である。しかし、データのサイズが膨大なサイズである場合、ダウンロードに時間がかかり、置換することは現実的な対処方法とはいえない。特にゲームにおいては、多種の画像や音声を扱うため、ファイル管理を容易にする観点及びゲームに使用されるコンテンツのセキュリティを確保する観点から、ファイルをパッキングして複数のデータを１つの巨大なファイル（以下、データファイルという）に結合することが一般的に行われている。データファイルのサイズは膨大であり、データファイル自体を置換することは現実的ではない。そこで、オンラインゲームにおいて効率的にパッチを提供する方法（例えば、特許文献１参照）が提供されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１１−５２６８２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば、オンラインゲームにおいて、端末装置に適用されているパッチのバージョンは、すべての端末装置において同一ではないことがある。頻繁にゲームをプレイするユーザの端末装置には最新のバージョンのパッチが適用されているが、頻繁にプレイしないユーザの端末装置には最新のバージョンのパッチが適用されていないことがある。このように、端末装置ごとに適用されているパッチのバージョンが異なる状況では、端末装置に適用されているパッチのバージョンと、パッチ提供装置にて公開されたパッチのバージョンとを確認し、公開されたパッチのバージョンが新しければ、端末装置に適用されていないパッチを、不整合の生じない順番で適用し得るようにダウンロードして適用する運用がなされている。
【０００７】
そこで、パッチの提供者は、端末装置のデータファイルに対するパッチの適用状況を把握するために、例えば、端末装置のデータファイルにパッチが適用されるたびにパッチのバージョンを記録する等の方法でバージョンを管理し、ファイル構造の異なるデータファイルに対してパッチを適用しても不整合が生じないよう工夫する必要があった。
【０００８】
本発明の少なくとも１つの実施の形態の目的は、端末装置のデータファイルの状況に関わらず、最新のパッチを適用可能とするようなパッチ適用プログラム、パッチ適用システム、及びパッチ適用方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
非限定的な観点によると、１以上のデータを含むデータファイルを有する複数の端末装置と通信可能なパッチ提供装置において実行されるパッチ適用プログラムであって、パッチ提供装置を、パッチがバージョンに関する情報を含むものであって、複数の異なるバージョンのパッチを記憶するパッチ記憶手段と、端末装置からパッチの送信要求を受信するパッチ送信要求受信手段と、パッチの送信要求を受信すると、パッチ記憶手段により記憶されたパッチを端末装置へ送信するパッチ送信手段として機能させ、パッチ送信手段により端末装置へ送信するパッチが、２以上のバージョンの異なるパッチを結合した結合パッチであり、データファイルが結合パッチを適用した場合に、データ開始位置を示すオフセット情報が変更されないことを特徴とするパッチ適用プログラムである。
【００１０】
非限定的な観点によると、１以上のデータを含むデータファイルを有する複数の端末装置と、端末装置と通信可能なパッチ提供装置とを備えるパッチ適用システムであって、パッチ提供装置は、パッチがバージョンに関する情報を含むものであって、複数の異なるバージョンのパッチを記憶するパッチ記憶手段と、端末装置からパッチの送信要求を受信するパッチ送信要求受信手段と、パッチの送信要求を受信すると、パッチ記憶手段により記憶されたパッチを端末装置へ送信するパッチ送信手段とを備え、端末装置は、データファイルを記憶するデータ記憶手段と、パッチ提供装置へパッチの送信要求を送信するパッチ送信要求送信手段と、パッチ提供装置から送信されたパッチを受信するパッチ受信手段と、受信したパッチを、データ記憶手段により記憶されたデータファイルに適用するパッチ適用手段とを備え、パッチ送信手段により端末装置へ送信するパッチが、２以上のバージョンの異なるパッチを結合した結合パッチであり、データファイルが結合パッチを適用した場合に、データ開始位置を示すオフセット情報が変更されないことを特徴とするパッチ適用システムである。
【００１１】
非限定的な観点によると、１以上のデータを含むデータファイルを有し、パッチ提供装置と通信可能な端末装置において実行されるパッチ適用プログラムであって、端末装置を、データファイルを記憶するデータ記憶手段と、パッチ提供装置へパッチの送信要求を送信するパッチ送信要求送信手段と、パッチ提供装置から送信されたパッチを受信するパッチ受信手段と、受信したパッチを、データ記憶手段により記憶されたデータファイルに適用するパッチ適用手段として機能させ、パッチ受信手段により受信するパッチが、２以上のバージョンの異なるパッチを結合した結合パッチであり、データファイルが結合パッチを適用した場合に、データ開始位置を示すオフセット情報が変更されないことを特徴とするパッチ適用プログラムである。
【００１２】
非限定的な観点によると、１以上のデータを含むデータファイルを有する複数の端末装置と通信可能なパッチ提供装置において実行されるパッチ適用方法であって、パッチがバージョンに関する情報を含むものであって、パッチを端末装置へ送信するステップを有し、端末装置へ送信するパッチが、２以上のバージョンの異なるパッチを結合した結合パッチであり、データファイルが結合パッチを適用した場合に、データ開始位置を示すオフセット情報が変更されないことを特徴とするパッチ適用方法である。
【００１３】
非限定的な観点によると、１以上のデータを含むデータファイルを有する複数の端末装置と、端末装置と通信可能なパッチ提供装置とを備えるパッチ適用システムにて実行されるパッチ適用方法であって、パッチ提供装置にて、パッチがバージョンに関する情報を含むものであって、端末装置からパッチの送信要求を受信するステップと、パッチの送信要求を受信すると、パッチを端末装置へ送信するステップとを実行し、端末装置にて、パッチ提供装置へパッチの送信要求を送信するステップと、パッチ提供装置から送信されたパッチを受信するステップと、受信したパッチを、データファイルに適用するステップとを実行し、パッチを送信するステップにおいて、端末装置へ送信するパッチが、２以上のバージョンの異なるパッチを結合した結合パッチであり、パッチをデータファイルに適用するステップにおいて、データファイルが結合パッチを適用した場合に、データ開始位置を示すオフセット情報が変更されないことを特徴とするパッチ適用方法である。
【発明の効果】
【００１４】
本発明の各実施形態により１または２以上の不足が解決される。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態の少なくとも１つに対応する、パッチ適用システムの構成を示すブロック図である。
【図２】本発明の実施の形態の少なくとも１つに対応する、パッチ提供装置の構成を示すブロック図である。
【図３】本発明の実施の形態の少なくとも１つに対応する、端末装置の構成を示すブロック図である。
【図４】本発明の実施の形態の少なくとも１つに対応する、パッチの適用処理のフローチャートである。
【図５】本発明の実施の形態の少なくとも１つに対応する、パッチ提供装置の構成を示すブロック図である。
【図６】本発明の実施の形態の少なくとも１つに対応する、結合パッチの生成処理のフローチャートである。
【図７】本発明の実施の形態の少なくとも１つに対応する、端末装置の構成を示すブロック図である。
【図８】本発明の実施の形態の少なくとも１つに対応する、パッチ提供装置の構成を示すブロック図である。
【図９】本発明の実施の形態の少なくとも１つに対応する、パッチ提供装置の構成を示すブロック図である。
【図１０】本発明の実施の形態の少なくとも１つに対応する、データファイルの構造に関する概念図である。
【図１１】本発明の実施の形態の少なくとも１つに対応する、パッチの構造に関する概念図である。
【図１２】本発明の実施の形態の少なくとも１つに対応する、パッチの結合に関する概念図である。
【図１３】本発明の実施の形態の少なくとも１つに対応する、データファイル対する結合パッチ適用の概念図である。
【図１４】本発明の実施の形態の少なくとも１つに対応する、データファイル対する結合パッチ適用の概念図である。
【図１５】本発明の実施の形態の少なくとも１つに対応する、結合パッチの生成に関する概念図である。
【図１６】本発明の実施の形態の少なくとも１つに対応する、データファイルの空き領域に関する概念図である。
【図１７】本発明の実施の形態の少なくとも１つに対応する、結合パッチ生成処理のフローチャートである。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照して、本発明の実施の形態について説明する。以下、効果に関する記載は、本発明の実施の形態の効果の一側面であり、ここに記載するものに限定されない。また、以下で説明するフローチャートを構成する各処理の順序は、処理内容に矛盾や不整合が生じない範囲で順不同である。
【００１７】
［第一の実施の形態］
次に、本発明の第一の実施の形態の概要について、説明をする。図１は、本発明の実施の形態の少なくとも１つに対応する、パッチ適用システムの構成を示すブロック図である。図示するように、パッチ適用システムは、複数のユーザ（ユーザＡ、Ｂ・・・Ｚ）によって操作される複数の端末装置１（端末装置１ａ、１ｂ・・・１ｚ）と、パッチ提供装置３と、通信回線２とから構成される。端末装置１は、通信回線２を介してパッチ提供装置３と接続されている。なお、端末装置１はパッチ提供装置３と常時接続されていなくてもよく、必要に応じて、接続が可能であればよい。
【００１８】
図２は、本発明の実施の形態の少なくとも１つに対応する、パッチ提供装置の構成を示すブロック図である。パッチ提供装置３は、パッチ送信要求受信部１０１と、パッチ送信部１０２を少なくとも備える。
【００１９】
パッチ送信要求受信部１０１は、ユーザの端末装置１から送信されたパッチ送信要求を受信する機能を有する。パッチ送信部１０２は、パッチ送信要求受信部１０１によりパッチ送信要求を受信すると、端末装置１へパッチを送信する機能を有する。
【００２０】
図３は、本発明の実施の形態の少なくとも１つに対応する、端末装置の構成を示すブロック図である。端末装置１は、パッチ送信要求送信部１０３と、パッチ受信部１０４と、パッチ適用部１０５とを少なくとも備える。
【００２１】
パッチ送信要求部１０３は、パッチ提供装置３へパッチ送信要求を送信する機能を有する。パッチ受信部１０４は、パッチ送信要求部１０３により送信されたパッチ送信要求により、パッチ提供装置３から送信されたパッチを受信する機能を有する。パッチ適用部１０５は、パッチ受信部１０４によりパッチを受信すると、端末装置が有するデータファイルに対して受信したパッチを適用する機能を有する。
【００２２】
本発明の第一の実施の形態におけるパッチの適用処理について説明する。図４は、本発明の実施の形態の少なくとも１つに対応する、パッチの適用処理のフローチャートである。まず、端末装置１において、パッチ提供装置３へパッチの送信要求が送信される（ステップＳ１）。パッチ提供装置３は、端末装置１からパッチの送信要求を受信する（ステップＳ２）。パッチ提供装置３は、パッチの送信要求を受信すると、結合パッチを端末装置１へ送信する（ステップＳ３）。端末装置１は、パッチ提供装置３から送信された結合パッチを受信し（ステップＳ４）、受信した結合パッチを１以上のデータを含むデータファイルに適用し（ステップＳ５）、終了する。
【００２３】
本発明の第一の実施の形態において、パッチ提供装置３から端末装置１へ送信するパッチは、２以上のバージョンの異なるパッチを結合した結合パッチである。また、データファイルが結合パッチを適用した場合に、データ開始位置を示すオフセット情報が変更されない。
【００２４】
第一の実施の形態の一側面として、パッチ提供者は端末装置のデータファイルの状況に関わらず、端末装置のデータファイルに対して同じパッチを適用し、データファイルを最新の状態にすることができる。
【００２５】
第一の実施の形態において、「データ」とは、例えば、コンピュータが記録・処理できる形式の情報をいう。端末装置とパッチ提供装置との「通信」とは、通信形態や回線種類の制限はなく、有線又は無線であっても良い。「パッチ」とは、例えば、完成したプログラムの修正点や変更点を、完成したプログラムとの差分情報として提供されるものであって、プログラムにパッチを適用することで差分情報を、例えば追加、更新、削除等する処理を実施するものをいう。「パッチの適用」とは、例えば、パッチに含まれる処理をデータに対して実行させるものであり、処理の種類には、例えばデータの追加、更新、削除等がある。「パッチのバージョン」とは、例えば、完成したプログラムから何回改訂又は更新されたか識別するための情報をいう。「結合パッチ」とは、例えば、２以上のバージョンの異なるパッチを結合したものをいう。「オフセット情報」とは、例えば、データの位置をデータファイルのある基準点からの距離で表したもので、データ開始位置を示すために用いられる。
【００２６】
［第二の実施の形態］
第二の実施の形態におけるパッチ適用システムの構成は、図１のブロック図で示されるものと同じ構成を採用することができる。第二の実施の形態におけるパッチ提供装置の構成は、図２のブロック図で示されるものと同じ構成を採用することができる。第二の実施の形態における端末装置の構成は、図３のブロック図で示されるものと同じ構成を採用することができる。第二の実施の形態におけるパッチの適用処理は、図４のフローチャートで示されるものと同じ処理を採用することができる。
【００２７】
第二の実施の形態において、結合パッチが、同一のオフセット情報に対して適用される、異なるバージョンの複数のパッチを結合したものである場合に、バージョンの最も新しいパッチに含まれる処理のみが適用されるように結合される。
【００２８】
第二の実施の形態の一側面として、同一のオフセット情報を有するデータに対して異なるバージョンの複数のパッチを適用するような場合に、結合パッチを用いることで、バージョンの最も新しいパッチの処理が適用されるものであるから、他のパッチに含まれる処理を省略することができ、ユーザが端末装置に適用する際にダウンロードしなければいけないパッチの容量を小さくすることができる。
【００２９】
第二の実施の形態において、「結合パッチ」とは、例えば、２以上のバージョンの異なるパッチを結合したものをいう。「オフセット情報」とは、例えば、データの位置をデータファイルのある基準点からの距離で表したもので、データ開始位置を示すために用いられる。「同一のオフセット情報」とは、例えば、複数のパッチにおいて適用の対象となるデータの開始アドレスが同一であるオフセット情報をいう。「バージョンの最も新しいパッチ」とは、例えば、公開された日時が最も新しいパッチをいう。さらに、「バージョンの最も新しいパッチに含まれる処理のみが適用される」とは、例えば、複数のバージョンのパッチが同一のオフセット情報のデータの更新等の処理を実施する場合に、公開された日時が最も新しいパッチに含まれる処理だけが結合パッチに含まれることをいう。
【００３０】
［第三の実施の形態］
第三の実施の形態におけるパッチ適用システムの構成は、図１のブロック図で示されるものと同じ構成を採用することができる。第三の実施の形態におけるパッチ提供装置の構成は、図２のブロック図で示されるものと同じ構成を採用することができる。第三の実施の形態における端末装置の構成は、図３のブロック図で示されるものと同じ構成を採用することができる。第三の実施の形態におけるパッチの適用処理は、図４のフローチャートで示されるものと同じ処理を採用することができる。
【００３１】
第三の実施の形態において、複数のデータがデータファイルに含まれ、複数のデータのいずれかを第一のデータとし、第一のデータに隣接し、且つ、第一のデータよりもオフセット情報の値が大きいデータを第二のデータとした場合、第一のデータと第二のデータとの間に、任意の大きさの空き領域が設けられる。
【００３２】
第三の実施の形態の一側面として、データファイルに含まれる、隣接するデータの間には任意の大きさの空き領域が設けられることにより、パッチを適用する対象のデータのサイズが、パッチを適用したことで大きくなったとしても、データのオフセット情報を変更せずにパッチを適用することができる。
【００３３】
第三の実施の形態において、「隣接」とは、例えば、データファイル内の第一のデータの終了アドレスと、第二のデータの開始アドレスとが接することをいう。「オフセット情報」とは、例えば、データの位置をデータファイルのある基準点からの距離で表したもので、データ開始位置を示すために用いられる。「空き領域」とは、例えばｎｕｌｌ値を記録した領域、あるいは意味をなさない情報が記録されている領域等であって、パッチの適用により内容を更新することが可能な領域である。
【００３４】
［第四の実施の形態］
第四の実施の形態におけるパッチ適用システムの構成は、図１のブロック図で示されるものと同じ構成を採用することができる。
【００３５】
図５は、本発明の実施の形態の少なくとも１つに対応する、パッチ提供装置の構成を示すブロック図である。パッチ提供装置３は、パッチ送信要求受信部２０１と、更新データファイル生成部２０２と、パッチ生成部２０３と、結合パッチ生成部２０４と、パッチ送信部２０５を少なくとも備える。
【００３６】
パッチ送信要求受信部２０１は、ユーザの端末装置１から送信されたパッチ送信要求を受信する機能を有する。更新データファイル生成部２０２は、端末装置１が適用可能なパッチをすべて適用したデータファイルである最新データファイルに含まれるデータと、新たに追加するデータ及び／又は最新データファイルに含まれるデータの一部を更新した更新データとを用いて、更新データファイルを生成する機能を有する。パッチ生成部２０３は、最新データファイルと、更新データファイル生成部２０２により生成された更新データファイルとの差分情報に基づいて、パッチを生成する機能を有する。結合パッチ生成部２０４は、パッチ生成部２０３により生成されたパッチと他のパッチを結合して、結合パッチを生成する機能を有する。パッチ送信部２０５は、パッチ送信要求受信部２０１によりパッチ送信要求を受信すると、端末装置１へ結合パッチ生成部２０４により生成した結合パッチを送信する機能を有する。
【００３７】
第四の実施の形態における端末装置の構成は、図３のブロック図で示されるものと同じ構成を採用することができる。
【００３８】
本発明の第四の実施の形態におけるパッチの適用処理について説明する。パッチ提供装置は、図４に示すパッチ適用処理を行う際、結合パッチを生成する必要がある。図６は、本発明の実施の形態の少なくとも１つに対応する、結合パッチの生成処理のフローチャートである。パッチ提供装置３は、端末装置が適用可能なパッチをすべて適用したデータファイルである最新データファイルに含まれるデータと、新たに追加するデータ及び／又は最新データファイルに含まれるデータの一部を更新した更新データとを用いて、更新データファイルを生成する（ステップＳ１１）。次に、最新データファイルと、更新データファイル生成部２０２により生成された更新データファイルとの差分情報に基づいて、パッチを生成する（ステップＳ１２）。さらに、パッチ生成部２０３により生成されたパッチと他のパッチを結合して、結合パッチを生成し（ステップＳ１３）、終了する。
【００３９】
第四の実施の形態の一側面として、更新データファイル生成部と、パッチ生成部と、結合パッチ生成部とを有することで、ユーザに配信する結合パッチを自動で生成することが可能となる。
【００４０】
第四の実施の形態において、「最新データファイル」とは、例えば、端末装置が適用可能なパッチをすべて適用したデータファイルをいう。「更新データ」とは、例えば、最新データファイルに含まれるデータの一部を更新したデータをいう。「更新データファイルを生成」とは、例えば、複数のデータから１以上のデータファイルを生成することをいう。「他のパッチ」とは、例えば、パッチ生成手段により生成されたパッチより前に生成されたパッチをいう。
【００４１】
［第五の実施の形態］
第五の実施の形態について、説明する。第五の実施の形態におけるパッチ適用システムの構成は、図１のブロック図で示されるものと同じ構成を採用することができる。
【００４２】
図７は、本発明の実施の形態の少なくとも１つに対応する、端末装置の構成を示すブロック図である。クライアント装置１は、制御部１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２、ハードディスク・ドライブ（ＨＤＤ）１３、サウンド処理部１４、グラフィック処理部１５、ＤＶＤ／ＣＤ−ＲＯＭドライブ１６、通信インタフェース１７、及びインタフェース部１８からなり、それぞれ内部バスにより接続されている。
【００４３】
制御部１１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）から構成される。制御部１１は、ＨＤＤ１３や記録媒体２４に格納されたプログラムを実行し、クライアント装置１の制御を行なう。ＲＡＭ１２は、制御部１１のワークエリアである。ＨＤＤ１３は、プログラムやデータを保存するための記憶領域である。
【００４４】
ＤＶＤ／ＣＤ−ＲＯＭドライブ１６は、ＤＶＤ−ＲＯＭやＣＤ−ＲＯＭなどのプログラムが格納された記録媒体２４を装着することが可能である。記録媒体２４には、例えばゲームを行なうためのプログラム及びデータが記憶されている。ＤＶＤ／ＣＤ−ＲＯＭドライブ１６により、プログラム及びデータが記録媒体２４から読み出され、ＲＡＭ１２にロードされる。
【００４５】
制御部１１は、ゲームの進行に必要なプログラム及びデータをＲＡＭ１２から読み出して処理を行なう。制御部１１は、ＲＡＭ１２にロードされたプログラム及びデータを処理することで、サウンド出力の指示をサウンド処理部１４に出力し、描画命令をグラフィック処理部１５に出力する。
【００４６】
サウンド処理部１４は、スピーカであるサウンド出力装置２１に接続されている。制御部１１がサウンド出力の指示をサウンド処理部１４に出力すると、サウンド処理部１４はサウンド出力装置２１にサウンド信号を出力する。
【００４７】
グラフィック処理部１５は表示装置２２に接続されている。表示装置２２は表示画面２３を有している。制御部１１が描画命令をグラフィック処理部１５に出力すると、グラフィック処理部１５は、フレームメモリ（フレームバッファ）１９に画像を展開し、表示画面２３上に画像を表示するためのビデオ信号を出力する。グラフィック処理部１５は、フレーム単位で１枚の画像の描画を実行する。画像の１フレーム時間は、例えば３０分の１秒である。
【００４８】
インタフェース部１８には入力部２０（例えば、マウスやキーボード等）が接続されている。プレイヤによる入力部２０からの入力情報はＲＡＭ１２に格納され、制御部１１は入力情報をもとに各種の演算処理を実行する。
【００４９】
通信インタフェース１７は無線又は有線により通信回線２に接続が可能であり、通信回線２を介してパッチ提供装置３との間で情報の送受信を行う。
【００５０】
図８は、本発明の実施の形態の少なくとも１つに対応する、パッチ提供装置の構成を示すブロック図である。パッチ提供装置３は、制御部３１、ＲＡＭ３２、ＨＤＤ３３及び通信インタフェース３４を備え、それぞれ内部バスにより接続されている。
【００５１】
制御部３１は、ＣＰＵやＲＯＭから構成され、ＨＤＤ３３に格納されたプログラムを実行し、パッチ提供装置３の制御を行なう。また、制御部３１は時間を計時する内部タイマを備えている。ＲＡＭ３２は、制御部３１のワークエリアである。ＨＤＤ３３は、プログラムやデータを保存するための記憶領域である。制御部３１は、プログラム及びデータをＲＡＭ３２から読み出し、クライアント装置１から受信した操作指示情報をもとに、ゲームの進行処理を行う。
【００５２】
図９は、本発明の実施の形態の少なくとも１つに対応する、パッチ提供装置の構成を示すブロック図である。パッチ提供装置３は、パッチ送信要求受信部３０１と、最新データ生成部３０２と、更新データファイル生成部３０３と、パッチ生成部３０４と、結合パッチ生成部３０５と、パッチ送信部３０６を少なくとも備える。
【００５３】
パッチ送信要求受信部３０１は、ユーザの端末装置１から送信されたパッチ送信要求を受信する機能を有する。最新データファイル生成部３０２は、パッチ提供装置３が有するデータファイルに対して、パッチ及び／又は結合パッチを適用して、端末装置１のデータファイルを最新の状態にするデータファイルを生成する機能を有する。更新データファイル生成部３０３は、端末装置１が適用可能なパッチをすべて適用したデータファイルである最新データファイルに含まれるデータと、新たに追加するデータ及び／又は最新データファイルに含まれるデータの一部を更新した更新データとを用いて、更新データファイルを生成する機能を有する。パッチ生成部３０４は、最新データファイルと、更新データファイル生成部３０３により生成された更新データファイルとの差分情報に基づいて、パッチを生成する機能を有する。結合パッチ生成部３０５は、パッチ生成部３０４により生成されたパッチと他のパッチを結合して、結合パッチを生成する機能を有する。パッチ送信部３０６は、パッチ送信要求受信部３０１によりパッチ送信要求を受信すると、端末装置１へ結合パッチ生成部３０５により生成した結合パッチを送信する機能を有する。
【００５４】
次に、本発明の第五の実施の形態の概要について、説明をする。本発明の第五の実施の形態は、１以上のデータを含むデータファイルを有する複数の端末装置１と、端末装置１と通信可能なパッチ提供装置３とを備えるパッチ適用システムに適用できる。本発明の第五の実施の形態におけるパッチの提供システムは、端末装置１が有するデータファイルに対して、通信回線２を介して接続されたパッチ提供装置３からダウンロードしたパッチを適用するものである。パッチの適用をリアルタイムに行う観点から通信回線を介する方法が好ましいため、以下は通信回線２を介してパッチを提供する方法について記載するが、パッチ提供装置３において生成されたパッチを、例えばＤＶＤ−ＲＯＭ等に記録して配布することも可能である。
【００５５】
第五の実施の形態における端末装置の構成は、図３のブロック図で示されるものと同じ構成を採用することができる。
【００５６】
次に、本発明の第五の実施の形態における、端末装置が有するデータファイルの構造について説明する。図１０は、本発明の実施の形態の少なくとも１つに対応する、データファイルの構造に関する概念図である。データファイル４１は複数のヘッダ４３及びデータ４４からなるものである。ヘッダ４３には、例えば、データのＩＤ、オフセット情報、データサイズ等が含まれる。データ４４は、例えば、テキストデータ、音声データ、画像データ等である。ここで、データ４４に含まれるデータは圧縮されていても良い。それぞれのデータ４４はデータの開始位置を示すオフセット情報４２を有する。例えば、データＡ４４ａはオフセット情報４２ａの示す値から、同様にデータＢ４４ｂはオフセット情報４２ｂの示す値から、データＣ４４ｃはオフセット情報４２ｃの示す値から、それぞれ開始するものである。
【００５７】
次に、本発明の第五の実施の形態における、パッチの構造について説明する。図１１は
本発明の実施の形態の少なくとも１つに対応する、パッチの構造に関する概念図である。本発明の第五の実施の形態において、パッチ５１はヘッダ情報５２と、複数の処理からなるものであって、１つの処理の構成は、データ長５３、処理タイプ５４、データ５５、及びＣＲＣ値５６からなる。パッチを適用する場合には、前記処理単位で、データファイルに含まれる、該当するデータに対して更新等を実施する。
【００５８】
ヘッダ情報５２は、例えばパッチに含まれる処理の個数を表す情報が含まれる。データ長５３は１つの処理のデータの長さを表すものである。処理タイプ５４には、例えば、データの追加、更新、削除等の種類がある。データ５５には、データファイルのパス情報、オフセット情報の値、及びデータサイズ等が含まれる。データファイルに含まれるデータの特定を、オフセット情報の値及びデータサイズを用いて行うことで、ＩＤ等データを一意に特定する情報を保持せず、パッチのサイズを小さくすることができる。ＣＲＣ値５６は、パッチ提供装置と端末装置との間でパッチの送受信をする際に、正常に伝えられたかチェックするための値である。ＣＲＣ値５６はパッチだけでなく結合パッチも有する情報である。ここで、パッチに含まれる処理は、適用する対象のデータファイル別に、オフセット情報の値を参照して並べられる。パッチを適用する際には、データファイルに対するアクセスを極力集中させ、オフセット情報の値が近しいデータごとに処理をすることで、より高速にパッチを適用することができる。
【００５９】
第五の実施の形態におけるパッチの適用処理は、図４のフローチャートで示されるものと同じ処理を採用することができる。
【００６０】
次に、本発明の第五の実施の形態におけるパッチの結合について説明する。図１２は、本発明の実施の形態の少なくとも１つに対応する、パッチの結合に関する概念図である。バージョンの異なるパッチ６１ａ及びパッチ６１ｂを結合すると、結合パッチ６３となる。結合パッチ６３は、パッチ６１ａの処理に対応するパッチ６２ａと、パッチ６１ｂに含まれる処理に対応するパッチ６２ｂとからなるものである。パッチ提供装置３は、端末装置１へ結合パッチ６３を送信する。結合パッチのサイズは、基となるパッチのヘッダ情報をまとめることができるため、基となる複数のパッチのサイズの合計値よりも小さくすることができる。
【００６１】
次に、本発明の第五の実施の形態における、データファイルに結合パッチを適用した場合について説明する。図１３は、本発明の実施の形態の少なくとも１つに対応する、データファイル対する結合パッチ適用の概念図である。まず、本発明のデータファイル７１は複数のデータ７３を含むものであり、データファイル７１内にデータＡ７３ａ、データＢ７３ｂ、データＣ７３ｃ・・・と記録されている。データ７３はそれぞれのデータの開始位置を示すオフセット情報７２を有する。データファイル７１ｂはデータファイル７１ａに対して、データＢ７３ｂのサイズを小さくする結合パッチを適用した後の状態を表す。図示するように、結合パッチを適用する前のオフセット情報７２ａ、７２ｂ、７２ｃ・・・は、結合パッチを適用した後のオフセット情報７４ａ、７４ｂ、７４ｃ・・・と同一であり、変更されない。
【００６２】
また、データＢ７５ｂのサイズが小さくなったことで生じる空き領域７６は、意味のあるデータを有さない領域として残され、データＣ７５ｃのオフセット情報７４ｃを変更する処理は実施されない。データファイル７１のサイズが非常に大きいため、パッチ適用により生じた空き領域７６に対するデータの詰め処理の実行に膨大な時間がかかるおそれがあるからである。ここで、データのサイズを小さくする例を挙げたが、サイズに変更がない場合は空き領域７６が生じず、データが置換される。
【００６３】
さらに、本発明の第五の実施の形態における、データファイルに結合パッチを適用した結果、データのサイズが変更される場合について説明する。図１４は、本発明の実施の形態の少なくとも１つに対応する、データファイルに対する結合パッチ適用の概念図である。図１４（ａ）のデータファイル８０ａに含まれるデータＢ８２ｂに対して、データのサイズを変更するパッチを適用する。図１４（ｂ）のデータファイル８０ｂは、データＢ８２ｂのデータサイズを小さくするパッチ（ｂ１＞ｂ２）を適用した場合のデータファイルを表す。パッチを適用することで、空き領域８４ｃが生じる。図１３に示す空き領域７６と同様である。図１４（ｃ）のデータファイル８０ｃは、データＢ８２ｂのデータサイズを大きくするパッチ（ｂ１＜ｂ３）を適用した場合のデータファイルを表す。この場合、データＣ８６ｃのオフセット情報８５ｃを変更することはできないため、パッチはデータＢ８２ｂを削除して空き領域８６ｂとし、データファイル８０ａの最後尾のオフセット情報ｘ８５ｅに新たにデータＢ８６ｄを追加する処理を行う。データＢ８２ｂのオフセット情報８１ｂの値が変更されるものではなく、オフセット情報８５ｂは空き領域を示すものとなる。つまり、データＢ８２ｂのオフセット情報８１ｂと、データＢ８６ｄのオフセット情報８５ｅとは同一にならない。
【００６４】
次に、本発明の第五の実施の形態における、データファイルの同一のオフセット情報に対して、異なるバージョンのパッチがそれぞれ適用される場合の結合パッチの生成について説明する。図１５は、本発明の実施の形態の少なくとも１つに対応する、結合パッチの生成に関する概念図である。図１５（ａ）に示すように、異なるバージョンのパッチ９１ａ及び９１ｂが存在し、それぞれのパッチはデータファイル９０に含まれるデータＡ９３ａ及びデータＢ９３ｂに対して処理を実施するものである。ここで、処理は更新であるものとする。
【００６５】
パッチ９１ａを適用すると、データＢ９３ｂはパッチ９１ａに含まれるデータＢ９２ａに更新される。次に、パッチ９１ｂを適用すると、データＡ９３ａはパッチ９１ｂに含まれるデータＡ９２ｃに、データＢ９２ａはパッチ９１ｂに含まれるデータＢ９２ｂにそれぞれ更新される。さらに、パッチ９１ｃを適用すると、データＢ９２ｂはパッチ９１ｃに含まれるデータＢ９２ｄに更新される。これらのパッチ９１ａ〜９１ｃを結合すると、図１５（ｂ）に示す結合パッチ９４が生成される。このとき、結合パッチ９４に含まれるデータＡ９２ｅはパッチ９１ｂに含まれるデータＡ９２ｃに、データＢ９２ｆはパッチ９１ｃに含まれるデータＢ９２ｄになるように結合パッチ９４が生成される。パッチを適用した場合にオフセット情報が変更されることがないため、基本的に同一のオフセット情報の値を有するデータに対しては、バージョンの新しいパッチの情報で上書きをすれば良く、難しい判断をすることなく結合パッチを生成することができる。上述したように、結合パッチは、結合パッチの基になる複数のパッチの処理をすべて含むわけではないため、該複数のパッチのサイズの合計値よりサイズを小さくすることができる。
【００６６】
次に、本発明の第五の実施形態における、パッチ適用によりデータサイズが増加し、データの削除及び追加が発生しないための工夫について説明する。図１６は、本発明の実施の形態の少なくとも１つに対応する、データファイルの空き領域に関する概念図である。図示するように、データファイル９５にはヘッダ９６、データ９７、及び空き領域９８が含まれる。ここで、ヘッダ９６及びデータ９７に関しては、図１０に示すヘッダ４３及びデータ４４と同じである。データファイル９５を生成する際に、あらかじめ任意の大きさの空き領域９８を設けることで、データＡ９７ａのサイズａ１がａ２以下である場合に（ａ１≦ａ２）、データの削除及び追加を防止し、データファイル内においてデータをシークする距離を最小限にすることで、データの探索時間を縮小することができる。結果として、データの断片化を抑止することができ、データの読み込み時間が遅くなることを防ぐことができる。空き領域の任意の大きさは、例えば、データのサイズに所与の割合を乗じることで算出しても良い。
【００６７】
次に、本発明の第五の実施形態における、結合パッチの生成処理について説明する。図１７は、本発明の実施の形態の少なくとも１つに対応する、結合パッチ生成処理のフローチャートである。まず、パッチ提供装置３は、元となるデータファイルに対して、端末装置が適用可能な、公開されているすべてのパッチを適用し、最新データファイルを生成する（ステップＳ２１）。次に、最新データファイルに含まれるデータと、新たに追加するデータ及び／又は最新データファイルに含まれるデータの一部を更新した更新データとを用いて、更新データファイルを生成する（ステップＳ２２）。次に、最新データファイルと、更新データファイル生成部３０３により生成された更新データファイルとの差分情報を抽出する（ステップＳ２３）。抽出された差分情報に基づいて、パッチを生成する（ステップＳ２４）。さらに、パッチ生成部３０５により生成されたパッチと他のパッチを結合して、結合パッチを生成し（ステップＳ２５）、終了する。
【００６８】
ステップＳ２３の差分情報の抽出は、バイナリデータを比較して差分を抽出するものではなく、データファイルに含まれるデータの内容の整合を確認するものである。
【００６９】
ところで、本発明の第五の実施形態における結合パッチの生成処理は、パッチ提供装置３の制御部３１が有する計時可能な内部タイマを用いて、自動的に実施するよう計画することが可能である。例えば、日次で実施されるものであれば、データファイル、パッチ及び結合パッチが自動的に生成され、人間による管理を最小限にしつつ、データファイルを最新に保つパッチを提供することが可能となる。
【００７０】
第五の実施の形態の一側面として、オフセット情報の値及びデータサイズを用いて行うことで、ＩＤ等データを一意に特定するための情報を保持する必要がなくなり、パッチのサイズを小さくすることができる。
【００７１】
第五の実施の形態の一側面として、パッチ提供装置と端末装置との間で結合パッチの送受信をする際に、正常に伝えられたか誤りを検出するための情報を有することで、正常に送受信されたか確認することが可能である。
【００７２】
第五の実施の形態の一側面として、データファイルに対するアクセスを極力集中させ、オフセット情報の値が近しいデータごとに処理をすることで、より高速にパッチを適用することができる。
【００７３】
第五の実施の形態の一側面として、パッチ適用により生じた空き領域を残し、空き領域に対してデータの詰め処理の実行をしないことで、処理にかかる膨大な時間を削減することができる。
【００７４】
第五の実施の形態の一側面として、結合パッチのサイズは、基となるパッチのヘッダ情報をまとめることができるため、基となる複数のパッチのサイズの合計値よりも小さくすることができる。これにより、ユーザがダウンロードする結合パッチのサイズを小さくし、通信量を削減することができる。
【００７５】
第五の実施の形態の一側面として、空き領域を設けることで、データの断片化を抑止することができ、データの読み込み時間が遅くなることを防ぐことができる。
【００７６】
第五の実施の形態の一側面として、計時機能を用いて、自動的に実施するよう計画することが可能である。これにより、人間によるパッチの管理を最小限にし、データファイルを最新に保つパッチをユーザに提供することが可能となる。
【００７７】
第五の実施の形態において、「オフセット情報」とは、例えば、データの位置をデータファイルのある基準点からの距離で表したもので、データ開始位置を示すために用いられる。「誤り検出情報」とは、例えば、送受信されるデータの内容に基づいて生成される情報であって、パッチ提供装置が結合パッチを送信する際に算出した誤り検出情報と、端末装置が結合パッチを受信した際に算出した誤り検出情報とが一致するか否かにより、誤りの有無を判断することができるものである。「オフセット情報に基づいた順序」とは、例えば、オフセット情報の値に基づいて、例えば昇順又は降順に並べることをいう。「空き領域」とは、例えばｎｕｌｌ値を記録した領域、あるいは意味をなさない情報が記録されている領域等であって、パッチの適用により内容を更新することが可能な領域である。
【００７８】
［付記］
上で述べた実施の形態の説明は、下記の発明を、発明の属する分野における通常の知識を有する者がその実施をすることができるように記載した。
【００７９】
［１］  １以上のデータを含むデータファイルを有する複数の端末装置と通信可能なパッチ提供装置において実行されるパッチ適用プログラムであって、
パッチ提供装置を、
パッチがバージョンに関する情報を含むものであって、
複数の異なるバージョンのパッチを記憶するパッチ記憶手段と、
端末装置からパッチの送信要求を受信するパッチ送信要求受信手段と、
パッチの送信要求を受信すると、パッチ記憶手段により記憶されたパッチを端末装置へ送信するパッチ送信手段
として機能させ、
パッチ送信手段により端末装置へ送信するパッチが、２以上のバージョンの異なるパッチを結合した結合パッチであり、
データファイルが結合パッチを適用した場合に、データ開始位置を示すオフセット情報が変更されないことを特徴とするパッチ適用プログラム。
【００８０】
［２］  結合パッチが、同一のオフセット情報に対して適用される、異なるバージョンの複数のパッチを結合したものである場合に、バージョンの最も新しいパッチに含まれる処理のみが適用されるように結合されることを特徴とする［１］に記載のパッチ適用プログラム。
【００８１】
［３］  複数のデータがデータファイルに含まれ、
複数のデータのいずれかを第一のデータとし、第一のデータに隣接し、且つ、第一のデータよりもオフセット情報の値が大きいデータを第二のデータとした場合に、
第一のデータと第二のデータとの間に、任意の大きさの空き領域が設けられることを特徴とする［１］又は［２］に記載のパッチ適用プログラム。
【００８２】
［４］  パッチ提供装置を、
端末装置が適用可能なパッチをすべて適用したデータファイルである最新データファイルに含まれるデータと、新たに追加するデータ及び／又は最新データファイルに含まれるデータの一部を更新した更新データとを用いて、更新データファイルを生成する更新データファイル生成手段と、
最新データファイルと、更新データファイル生成手段により生成された更新データファイルとの差分情報に基づいて、パッチを生成するパッチ生成手段と、
パッチ生成手段により生成されたパッチと他のパッチを結合して、結合パッチを生成する結合パッチ生成手段
として機能させ、
パッチ送信手段が、結合パッチ生成手段により生成した結合パッチを端末装置へ送信する、
［１］〜［３］のいずれかに記載のパッチ適用プログラム。
【００８３】
［５］  結合パッチの基となるパッチが、パッチを適用することで変更されるデータに関するオフセット情報、及び、該変更されるデータに関するサイズ情報を含み、
端末装置においてパッチを適用する際に、オフセット情報及びサイズ情報を用いて、適用する対象のデータを特定することを特徴とする［１］〜［４］のいずれかに記載のパッチ適用プログラム。
【００８４】
［６］  結合パッチが誤りを検出するための誤り検出情報を含み、
パッチ送信手段により送信の対象となった結合パッチ及び端末装置が受信した結合パッチが、それぞれ有する誤り検出情報を用いて、パッチの送受信が損失なく実施されたか確認可能であることを特徴とする［１］〜［５］のいずれかに記載のパッチ適用プログラム。
【００８５】
［７］  結合パッチの適用によりデータファイルに含まれる複数のデータが変更される場合に、変更されるデータに関するオフセット情報に基づいた順序に応じて、データが変更されることを特徴とする［１］〜［６］のいずれかに記載のパッチ適用プログラム。
【００８６】
［８］  データファイルに含まれるデータがパッチの適用により削除された場合に、削除された領域を空き領域として残すことを特徴とする［１］〜［７］のいずれかに記載のパッチ適用プログラム。
【００８７】
［９］  結合パッチのサイズが、結合パッチの基となる２以上のパッチのそれぞれのサイズを合算した値より小さくなるように結合されることを特徴とする［１］〜［８］のいずれかに記載のパッチ適用プログラム。
【００８８】
［１０］  第一のデータと第二のデータとの間に設けられる空き領域の大きさを特定する方法が、第一のデータのサイズと、所与の割合との乗算であることを特徴とする［３］〜［９］のいずれかに記載のパッチ適用プログラム。
【００８９】
［１１］  パッチ提供装置を、
計時手段として機能させ、
更新データファイル生成手段、パッチ生成手段及び／又は結合パッチ生成手段が、計時手段により計時された時間をもとに、定期的に実行されることを特徴とする［４］〜［１０］のいずれかに記載のパッチ適用プログラム。
【００９０】
［１２］  ［１］〜［１１］のいずれかに記載のパッチ適用プログラムをインストールしたパッチ提供装置。
【００９１】
［１３］  １以上のデータを含むデータファイルを有する複数の端末装置と、端末装置と通信可能なパッチ提供装置とを備えるパッチ適用システムであって、
パッチ提供装置は、
パッチがバージョンに関する情報を含むものであって、
複数の異なるバージョンのパッチを記憶するパッチ記憶手段と、
端末装置からパッチの送信要求を受信するパッチ送信要求受信手段と、
パッチの送信要求を受信すると、パッチ記憶手段により記憶されたパッチを端末装置へ送信するパッチ送信手段と
を備え、
端末装置は、
データファイルを記憶するデータ記憶手段と、
パッチ提供装置へパッチの送信要求を送信するパッチ送信要求送信手段と、
パッチ提供装置から送信されたパッチを受信するパッチ受信手段と、
受信したパッチを、データ記憶手段により記憶されたデータファイルに適用するパッチ適用手段と
を備え、
パッチ送信手段により端末装置へ送信するパッチが、２以上のバージョンの異なるパッチを結合した結合パッチであり、
データファイルが結合パッチを適用した場合に、データ開始位置を示すオフセット情報が変更されないことを特徴とするパッチ適用システム。
【００９２】
［１４］  １以上のデータを含むデータファイルを有し、パッチ提供装置と通信可能な端末装置において実行されるパッチ適用プログラムであって、
端末装置を、
データファイルを記憶するデータ記憶手段と、
パッチ提供装置へパッチの送信要求を送信するパッチ送信要求送信手段と、
パッチ提供装置から送信されたパッチを受信するパッチ受信手段と、
受信したパッチを、データ記憶手段により記憶されたデータファイルに適用するパッチ適用手段
として機能させ、
パッチ受信手段により受信するパッチが、２以上のバージョンの異なるパッチを結合した結合パッチであり、
データファイルが結合パッチを適用した場合に、データ開始位置を示すオフセット情報が変更されないことを特徴とするパッチ適用プログラム。
【００９３】
［１５］  ［１４］に記載のパッチ適用プログラムをインストールした端末装置。
【００９４】
［１６］  １以上のデータを含むデータファイルを有する複数の端末装置と通信可能なパッチ提供装置において実行されるパッチ適用方法であって、
パッチがバージョンに関する情報を含むものであって、
パッチを端末装置へ送信するステップを有し、
端末装置へ送信するパッチが、２以上のバージョンの異なるパッチを結合した結合パッチであり、データファイルが結合パッチを適用した場合に、データ開始位置を示すオフセット情報が変更されないことを特徴とするパッチ適用方法。
【００９５】
［１７］  １以上のデータを含むデータファイルを有する複数の端末装置と、端末装置と通信可能なパッチ提供装置とを備えるパッチ適用システムにて実行されるパッチ適用方法であって、
パッチ提供装置にて、
パッチがバージョンに関する情報を含むものであって、
端末装置からパッチの送信要求を受信するステップと、
パッチの送信要求を受信すると、パッチを端末装置へ送信するステップ
とを実行し、
端末装置にて、
パッチ提供装置へパッチの送信要求を送信するステップと、
パッチ提供装置から送信されたパッチを受信するステップと、
受信したパッチを、データファイルに適用するステップ
とを実行し、
パッチを送信するステップにおいて、端末装置へ送信するパッチが、２以上のバージョンの異なるパッチを結合した結合パッチであり、
パッチをデータファイルに適用するステップにおいて、データファイルが結合パッチを適用した場合に、データ開始位置を示すオフセット情報が変更されないことを特徴とするパッチ適用方法。
【符号の説明】
【００９６】
１      端末装置
１１    制御部
１２    ＲＡＭ
１３    ＨＤＤ
１４    サウンド処理部
１５    グラフィック処理部
１６    ＤＶＤ／ＣＤ−ＲＯＭドライブ
１７    通信インタフェース
１８    インタフェース部
１９    フレームメモリ
２０    入力部
２１    スピーカ
２２    表示装置
２３    表示画面
２４    記録媒体
２      通信回線
３      パッチ提供装置
３１    制御部
３２    ＲＡＭ
３３    ＨＤＤ
３４    通信インタフェース
【図１】
0006386302.tif 000002
【図２】
0006386302.tif 000003
【図３】
0006386302.tif 000004
【図４】
0006386302.tif 000005
【図５】
0006386302.tif 000006
【図６】
0006386302.tif 000007
【図７】
0006386302.tif 000008
【図８】
0006386302.tif 000009
【図９】
0006386302.tif 000010
【図１０】
0006386302.tif 000011
【図１１】
0006386302.tif 000012
【図１２】
0006386302.tif 000013
【図１３】
0006386302.tif 000014
【図１４】
0006386302.tif 000015
【図１５】
0006386302.tif 000016
【図１６】
0006386302.tif 000017
【図１７】
0006386302.tif 000018