【文献】
小松健作,Webシステムを変えるHTML5,日経SYSTEMS,日本,日経BP社,2012年 1月26日,第226号,p.94−99
【文献】
茂呂智大,Webサービスを生かしたiPhoneアプリの作り方,日経ソフトウエア,日本,日経BP社,2011年 9月24日,第14巻,第11号,p.100−105
(58)【調査した分野】(Int.Cl.,DB名)
提供される情報を出力するためのディレクトリ構成及びファイル構成を少なくとも記述したファイルを上記ファイルの識別情報と共に記憶する記憶部を具備する情報提供装置において使用されるプログラムにおいて、
上記プログラムは、上記情報提供装置に、
予め設定された条件に従い、サーバ装置に対して上記ファイルの識別情報を付加して当該ファイルの更新を要求させ、
上記要求に応じてサーバ装置から送られてくるファイルを受信させ、
上記記憶部に記憶されたファイルの配列の数と、上記受信したファイルの配列の数とが一致しない場合に、上記記憶部に記憶されたファイルを上記受信したファイルに更新させる、プログラム。
上記ファイルは、オブジェクト、プロパティ、及び配列の各情報を含むJSON(JavaScript(登録商標) Object Notation)言語で記述されたデータであり、該配列の情報には、ファイルのバージョン情報または更新日時情報と、ファイルの格納先を示すパス情報とが少なくとも記述されていることを特徴とする請求項1記載のプログラム。
【背景技術】
【0002】
従来、ウェブアプリケーションの通信方法では、クライアント端末からサーバにリクエストを送信することで、サーバからウェブページをレスポンスとして受け取り、ウェブページ間での画面遷移を行なっていた。また、ウェブアプリケーションの通信方法では、Ajax(エイ・ジャックス:Asynchronous JavaScript(登録商標)+XML)により、画面遷移を伴わない動的なウェブアプリケーションをクライアント側に提供することで、例えば、ウェブ検索においては入力確定後に行なっていた検索を、ユーザがキー入力をする間にバックグラウンドで処理することにより、リアルタイムに検索結果を表示することが可能となっている。また、これらのAjaxの技術はウェブページのみで動作するので、インストール型のソフトウェアに見られるプラグイン機能を必要とせず、既存の技術と組み合わせることができる。
【0003】
特に、Ajaxによるウェブプログラミングは、この従来のページ遷移のみに頼ったウェブブラウザの使い勝手の悪さに対する不満の解消と、XML(eXtensible Markup Language)、DOM(Document Object Model)などのウェブ関連技術の標準化(通称、ウェブ標準)に伴って、高い機能をクライアント側に提供することができるようになった。
【0004】
(XMLに関して)
XMLとは、個別の目的に応じたマークアップ言語作成のため、汎用的に使うことができる仕様、および仕様により策定される言語の名称である。XMLの仕様は、W3C(World Wide Web Consortium)により策定・勧告されており、広く普及している技術である。
【0005】
(DOMに関して)
DOMとは、W3Cから勧告されているHTML(HyperText Markup Language)文書やXML文書をアプリケーションから利用するためのAPI(Application Programming Interface)である。XMLを読み込む別のAPIであるSAX(Simple API for XML)と異なり、XMLデータをツリー構造として扱うことができる。DOMを実装するためのXMLパーサは各メーカからサポートされている。
【0006】
(ネイティブアプリケーションとウェブアプリケーション)
さらに、ソーシャルゲーム業界では、複数のユーザが参加可能なソーシャルアプリケーションを用いたゲームが普及してきている。この種のソーシャルアプリケーションは、クライアント端末にダウンロードされ、当該クライアント端末にインストールされて利用されるネイティブアプリケーションと、ウェブサーバ上で動作し、クライアント端末のウェブブラウザに利用されるウェブアプリケーションとに大別できる。
【0007】
ネイティブアプリケーションは、スマートフォンのiPhone(登録商標)端末やAndroid(登録商標)端末といった端末のOSに依存するアプリケーションである。例えば、サーバ装置は、Objective−C言語を搭載したiPhoneアプリケーション、またはJava(登録商標)を搭載したAndroidアプリケーション等のネイティブアプリケーションをプラットフォームから各クライアント端末に配信している。ユーザは、プラットフォームからクライアント端末に配信されたネイティブアプリケーション(例えばRPG(Role Playing Game)や、バトル、恋愛等のゲームを含む)を楽しんでいる。
【0008】
ただし、ネイティブアプリケーションは、現状スマートフォンの主要なOSが2系統に分かれるため、iPhone端末に対応したプログラミング言語「Objective−C」と、Android端末に対応したプログラミング言語「Java」との2種類で開発する必要がある。このため、ネイティブアプリケーションは、クライアント端末のプラットフォーム特有の言語を使ったコーディング処理を介した後に、公式のマーケットプレイスを通して公開する必要がある。
【0009】
一方、ウェブアプリケーションは、両プラットフォームに向けてHTML5(HyperText Markup Language 5)、JavaScript(登録商標)、CSS3(Cascading Style Sheets 3)等の言語をベースにしたクロス開発が可能であり、公開に当たって公式のマーケットプレイスを通す必要がない。また、ウェブアプリケーションは、クライアント端末のOSに依存しない。
【0010】
ここで、JavaScriptとは、オブジェクト指向スクリプト言語である。主にウェブブラウザなどのクライアントサイドで実装され、動的なウェブサイトの構築や、RIA(Rich Internet Application)などの高度なユーザインタフェースの開発に用いられる。JavaScriptはプロトタイプベースのオブジェクト指向プログラミング言語である。
【0011】
上記JavaScriptは、多くの場合、C言語に似た手続き型言語のようなスタイルで記述されるが、第一級関数をサポートしている(関数を第一級オブジェクトとして扱える)など、関数型言語の性質も持ち合わせるように設計されている。JavaScriptは、そのような柔軟な設計から、いくつかのアプリケーションではマクロ言語としても採用されている。また、マークアップ言語(例:HTML、PHP(Hypertext Preprocessor))での通信方式は、リクエスト&レスポンス方式を採用している。
【0012】
一方で、上述したネイティブアプリケーションを開発するために、ソフトウェア開発キット(以下「SDK(Software Development Kit)」と称する)がソフトウェア開発者に提供されている。このSDKは、あるテクノロジー(プログラミング言語やAPIなど)を利用してソフトウェアを開発する際に必要なツールのセットである。特に、ソフトウェア開発者は、特定のソフトウェアパッケージやソフトウェアフレームワーク、ハードウェアプラットホーム、コンピュータシステム、ゲーム機、またはOSなどのためのアプリケーションソフトウェアを作成する際に、上記SDKを使用する。
【0013】
このSDKは、情報機器やOSなどのメーカが、自社製品向けのソフトウェアの開発を促すべく用意するツールキットであり、開発者向けに無料で配布されることが多い。(例えば、非特許文献1)
【発明を実施するための形態】
【0022】
以下、図面を参照して本発明の一実施形態に係る情報提供システムについて説明する。
【0023】
図1は、同実施形態に係る情報提供システムが使用される環境を説明する図である。同図で、インターネットなどのネットワーク1に対して、リソース用サーバ装置2、API用サーバ装置3が接続されると共に、本システムでユーザが使用するクライアント装置となるコンピュータ4及び携帯電話5がアクセスポイント(AP)6あるいは基地局7を介して接続される。
【0024】
リソース用サーバ装置2及びAPI用サーバ装置3は、本実施形態に係る情報提供システムを実現するためのコンピュータであり、実際には1つのコンピュータで実現されても良い。
【0025】
ここでは、リソース用サーバ装置2がコンピュータ4、携帯電話5との窓口となって処理を実行する一方で、API用サーバ装置3側に、提供される情報を出力するためのディレクトリ構成及びファイル構成を記述したカタログファイル(Catalog.file)を格納したデータベース(DB)を設けるものとしている。また、後述でカタログファイルの詳細説明を行なうが、カタログファイルのデータ構成はJSON型の構成となっており、オブジェクトO、配列AR1〜AR3、プロパティPで1つのカタログファイルが構成されている。
【0026】
このようにリソース用サーバ装置2とAPI用サーバ装置3とで役割を分担して処理を実行することで、個々のサーバ装置の負担を低減できる。
【0027】
また、リソース用サーバ装置2を複数台、例えば2台のリソース用サーバ装置2A,2Bに分け、後述するカタログファイルの更新動作に関する処理を分担して実行するようにしても良い。こうすることで、窓口となるリソース用サーバ装置2の負担を分散して処理でき、さらに安定したシステム構成を構築できる。
【0028】
またリソース用サーバ装置2及びAPI用サーバ装置3について、さらにその機能毎に、例えば、ウェブサーバ、処理サーバ、データベースサーバなどの複数のコンピュータで構成されてもよく、本発明の実施の形態においては、その構成は問わない。
【0029】
一方、クライアント側のコンピュータ4は、一般的なデスクトップ型、あるいはノートブック型のパーソナルコンピュータの他、モバイルコンピュータ、ラップトップコンピュータ、タブレット型端末などを含む。
【0030】
携帯電話5は、スマートフォン、フィーチャー・フォン(feature phone)などを含み、例えば、Android、iOSなどのOS上で動作する携帯電話である。
【0031】
コンピュータ4及び携帯電話5それぞれの各ハードウェア回路の構成自体は、きわめて一般的で周知であるものとして、その記載及び説明を省略する。
【0032】
図2は、上記リソース用サーバ装置2の構成を示すブロック図である。
同図に示す如くリソース用サーバ装置2は、バス11にCPU12、通信部13、メモリ14、入力部15及び記憶装置16を接続して構成される。
【0033】
CPU12は、記憶装置16に記憶したカタログファイル更新プログラム16Bと協働してコンピュータ4、携帯電話5におけるカタログファイルの更新処理を行なう他、リソース用サーバ装置2全体の制御を司る。
【0034】
通信部13は、ネットワーク1を介したAPI用サーバ装置3、クライアントとなるコンピュータ4、携帯電話5などの外部装置との通信の制御を司る。
【0035】
メモリ14は、カタログファイル更新プログラム16Bを実行する際に必要とされるワークエリアなどとして使用される。
【0036】
入力部15は、カタログファイル更新処理を行なう際に必要とされるデータなどを入力するためのインターフェイスであり、例えば、キーボード、タッチパネルなどを含む。
【0037】
記憶装置16は、カタログファイル更新に必要とされるプログラム、データを格納するためのものであり、例えば、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、光ディスクドライブ、DVD、MOなどの大容量記憶装置である。
【0038】
この記憶装置16には、OS(オペレーティングシステム)16A、カタログファイル更新プログラム16Bを含むプログラムや固定データ等が格納されている。
【0039】
OS16Aは、リソース用サーバ装置2の基本的な機能を実現するためのプログラムである。
【0040】
カタログファイル更新プログラム16Bは、OS16A上で動作するアプリケーションプログラムであり、CPU12と協働し、コンピュータ4、携帯電話5が保持するカタログファイルを更新設定するものであって、主に以下の
図4に示すフローチャートの処理を実現する。
【0041】
図3は、上記カタログファイル更新プログラム16Bの機能構成を示す図である。図示する如くカタログファイル更新プログラム16Bは、オーセンティコード部B1、HTML部B2、CDN(Contents Delivery Network)部B3、及びSNS(Social Networking Service)サーバ部B4を有する。
【0042】
オーセンティコード部B1は、上記コンピュータ4または携帯電話5からのカタログファイルの更新要求を受け付けるとともに、その時点でコンピュータ4または携帯電話5等が有するカタログファイルの検証を行なう。
【0043】
HTML部B2は、SNSのサイトでカタログファイルの更新要求を含んだインデックスページ(Index.html/Index.htm)を提供する。
【0044】
CDN部B3は、JavaScript(JS)技術及びCSS技術により上記API用サーバ装置3から必要なコンテンツを引き出す。後述するが、このCDN部B3の内容、具体的にはディレクトリ構成を含めたコンテンツの格納状態が、クライアント側の機器でも同期される。
【0045】
SNSサーバ部B4は、API技術を用い、JavaScript Object Notation(以下「JSON」と称する)で記述されたカタログファイルの更新を実行する。
【0046】
なおここで上記JSONとXHR(XML Http Request)の技術についても説明しておく。
上記JSONは、JavaScriptにおけるオブジェクトの表記法をベースとした軽量なデータ記述言語である。JavaScriptという名前がついているものの、JSONはJavaScript専用のデータ形式ではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しに使えるように設計されている。
【0047】
またXHRは、JavaScriptなどのウェブブラウザ搭載のスクリプト言語でサーバとのHTTP通信を行うための、組み込みオブジェクト(API)である。すでに読み込んだページからさらにHTTPリクエストを発することができ、ページ遷移することなしにデータを送受信できるAjaxの基幹技術である。
【0048】
次に上記実施形態の動作について説明する。
図4は、クライアント側のコンピュータ4または携帯電話5が、リソース用サーバ装置2の提供する所定のSNSのサイトにアクセスしている状態で、コンピュータ4または携帯電話5とリソース用サーバ装置2との間で実行されるカタログファイルの更新処理の内容を示す。クライアント側のコンピュータ4または携帯電話5においては、機器内のCPUがプログラム用メモリに記憶されている動作プログラムに従って下記の動作を実行する。リソース用サーバ装置2においては、CPU12が記憶装置16のカタログファイル更新プログラム16Bに基づいて下記の動作を実行する。
【0049】
クライアント側の機器においては、まず過去のカタログファイルが端末内に存在するか否かを判断する(ステップC01)。
ここで過去のカタログファイルが存在しないと判断した場合、クライアント側の機器では、CPUがカタログファイルのデータを新規に要求する信号を、ネットワーク1を介してリソース用サーバ装置2に送信する(ステップC02)。
【0050】
上記ステップC01で過去のカタログファイルが存在すると判断した場合、CPUは次いでユーザによる手動の更新要求操作がなされたか否かを判断する(ステップC03)。
【0051】
図9A〜
図9Dは、ウェブアプリケーションとしてゲームソフトを選択する場合の携帯電話5での表示画面の遷移状態を示す図である。
図9Aは、SNSのゲームメニュー画面を例示している。このとき、「トップ」「カテゴリ」「新着」「検索」のボタンからなるメニューバーをゆっくり手指先端で下側にスライド操作することで、図示する如くカタログファイルを更新させるためのプルダウンメニューPDが表示されるものとする。ここでプルダウンメニューPDでは、一定量の下方向へのスライド操作を指示するべく、「引き下げて更新」のガイドメッセージを表示するとともに、前回のカタログファイルの更新日時の情報を表示する。
【0052】
図9Bは、上記一定量の下方向へのスライド操作が実行され、更新を開始しようとしている状態を示す。ここでは同プルダウンメニューPDにより「指を離して更新」のガイドメッセージが表示されている。
【0053】
上記のような手動による更新要求がなされた場合、CPUは上記ステップC03で手動の更新要求操作がなされたものと判断し、その時点で記憶している、バージョン(ver.)情報を含むカタログファイルのデータを更新要求の信号に付加し、ネットワーク1を介してリソース用サーバ装置2に送信する(ステップC05)。
【0054】
また、上記ステップC03で手動による更新要求がなされていないと判断した場合、クライアント機器のCPUはさらに、アクセス状態で予め設定されたカタログファイルの更新タイミング、例えば5分が経過したか否かにより、自動で更新を実行するタイミングとなったか否かを判断する(ステップC04)。
【0055】
ここで自動で更新を実行するタイミングとはなっていないと判断した場合、クライアント機器のCPUは、再び上記ステップC01からの処理に戻る。
【0056】
また上記ステップC04で自動で更新を実行するタイミングとなったと判断した場合、クライアント機器のCPUは、その時点で記憶している、バージョン情報を含むカタログファイルのデータを更新要求の信号に付加し、ネットワーク1を介してリソース用サーバ装置2に送信する(ステップC05)。
【0057】
図6は、上記ステップC05において、クライアント側の機器、例えば携帯電話5が保持し、リソース用サーバ装置2に送信するカタログファイルのデータ構成を例示する図である。カタログファイルはテキスト情報で構成され、ファイルの先頭に位置するオブジェクトO、同末尾に位置するプロパティPに挟まれて、少なくとも1つ(ここでは3つ)の配列AR1〜AR3が配置される。
【0058】
配列AR1〜AR3内にはバージョン(version)情報、コミット(commit)情報、及びパス(path)情報が含まれる。
【0059】
配列AR1〜AR3内のバージョン情報は、対応するパス情報が示すファイル(以下「コンテンツファイル」と称する)のバージョンを示す。コミット情報は、バージョンを管理するリソース用サーバ装置2での管理番号である。
【0060】
また、プロパティP内にもバージョン情報(例えば「1337329271」)があり、このバージョン情報がカタログファイル自体のバージョンを示す。
【0061】
リソース用サーバ装置2側では、常時クライアント側からカタログファイルの送信要求の信号が送られてくるのを待機している(ステップS01)。
【0062】
クライアント側の機器からカタログファイルの送信要求の信号を受信したと判断すると、リソース用サーバ装置2のCPU12は、自機が保持するカタログファイルのバージョン情報と、送信要求の信号に付加されてきたカタログファイルのバージョン情報とをチェックし(ステップS02)、それら2つのバージョン情報が一致するか否かにより、カタログファイルの更新が必要であるか否かを判断する(ステップS03)。
【0063】
ここでクライアント側から送信されてきたカタログファイルのバージョン情報が自機の保持するカタログファイルのバージョン情報と一致した場合、更新の必要はないと判断し、CPU12はそのまま上記ステップS01からの処理に戻り、再びクライアント側からカタログファイルが送信されてくるのを待機する。
【0064】
なお上記ステップC02の処理により、クライアント側の機器からカタログファイルの新規の送信要求の信号が受信された場合、当然ながらカタログファイルのバージョン情報は付加されていないため、リソース用サーバ装置2のCPU12は両バージョン情報が不一致と判断する。
【0065】
このように上記ステップS03でクライアント側から送信してきたカタログファイルのバージョン情報が自機の保持するカタログファイルのバージョン情報と一致しないと判断した場合、CPU12はカタログファイルの更新の必要があると判断し、データベースであるAPI用サーバ装置3との通信によりクライアント機器用の最新のカタログファイルを生成して送信し(ステップS04)、以上で一連の更新処理を終了して、再び上記ステップS01からの処理に戻る。
【0066】
クライアント側の機器では、CPUが上記ステップC02またはステップC05での送信要求の信号を送信した後に一定時間、例えば1分が経過したか否かを判断する(ステップC06)。
【0067】
ここで一定時間が経過したと判断した場合、CPUは送信要求に対するリソース用サーバ装置2側からの応答がなかったものとして、送信要求の信号を再度送信するべく、上記ステップC01からの処理に戻る。
【0068】
また上記ステップC06で一定時間が経過していないと判断した場合、CPUはさらにリソース用サーバ装置2側から新しいバージョンのカタログファイルを受信したか否かを判断する(ステップC07)。
【0069】
ここで新しいバージョンのカタログファイルを受信したと判断した場合、CPUは受信したカタログファイルを一旦保存する(ステップC08)。
その上でCPUは、保存したカタログファイルに基づき、クライアント側の機器に保持しているコンテンツデータと上記リソース用サーバ装置2のCDN部B3に記憶されているコンテンツデータとの同期処理を実行する(ステップC09)。
【0070】
図5は、上記ステップC09でのコンテンツデータの同期処理の内容を示すサブルーチンのフローチャートである。
その処理当初にクライアント側の機器では、CPUが上記カタログファイルをリソース用サーバ装置2から受信する前に記憶していたカタログファイル中の配列ARの数nと、あらたに受信したカタログファイル中の配列ARの数Mとをチェックする(ステップC21)。
【0071】
ここでCPUは、あらたなカタログファイルの配列ARの数Mが、それまでのカタログファイルの配列ARの数nと一致するか否かにより、自端末内でカタログファイルの更新が必要であるか否かを判断する(ステップC22)。
【0072】
図7A及び
図7Bは、あらたなカタログファイル中の配列ARの数Mが「4」、それまでのカタログファイル中の配列ARの数nが「4」で、等しい場合を例示している。
【0073】
このように新旧のテンプレートTPの数Mとnとが一致した場合、CPUは更新の必要はないと判断し、そのまま上記
図4のメインルーチンに戻り、クライアント側のサイト画面の再構築処理を実行した上で(ステップC10)、再び上記ステップC01からの処理に戻る。
【0074】
また
図8A及び
図8Bは、あらたなカタログファイル中の配列ARの数Mが「4」、それまでのカタログファイル中の配列ARの数nが「3」で、「M>n」となる場合を例示している。
このような場合、クライアント側の機器のCPUでは、あらたに受信したカタログファイルに基づき、クライアント側の機器に保持しているコンテンツデータとリソース用サーバ装置2のCDN部B3に記憶されているコンテンツデータとの同期処理を実行する(ステップC23)。そして、同期処理による更新が終了したと判断した時点で(ステップC24)、あらためてその時点で最新のカタログファイルとしてセットして(ステップC25)、以上で一連のサブルーチンの処理を終了して、
図4のメインルーチンに復帰する。
【0075】
こうして新規のカタログファイルをセットした場合、
図4のメインルーチンでクライアント機器側のCPUは、新規のカタログファイル中に記述されているコンテンツまでのパス情報を用いて記憶しているコンテンツを読出し、ディスプレイで表示するサイト画面の再構築処理を実行した上で(ステップC10)、再び上記ステップC01からの処理に戻る。
【0076】
上記のように、提供される情報を出力するためのファイル構成を記述したカタログファイルを常に最新の状態に維持しながら保持しておくため、例えばPHPやHTML等の言語で記述されたウェブアプリケーションを実行する場合でも、表示画面の遷移などで処理時間を大幅に短縮して、ユーザにストレスを与えることのない利用環境を実現できる。
【0077】
図9Cは、上記
図9Bの状態からカタログファイルの更新が実行され、画面が更新された状態を示す。このようなゲームソフトの総合メニューからある1つの分野、例えば「RPG」を選択した場合、本実施形態であればクライアント側からサーバ側へ画面表示の要求を送信し、それに応答してサーバ側から表示の配列を指示する、数KB乃至数十KB程度のデータのみを返すことで、即時、
図9Cに示す表示画面から
図9Dに示す表示画面に遷移することができる。
【0078】
なお、上記ステップC07で新しいバージョンのカタログファイルを受信しなかったと判断した場合、CPUはその時点でセットされているカタログファイルを参照し、当該カタログファイルでクライアント側の機器に保持しているコンテンツデータと上記リソース用サーバ装置2のCDN部B3に記憶されているコンテンツデータとの同期処理を実行する(ステップC11)。
【0079】
そして、上記同期処理に基づいてカタログファイル中に記述されているコンテンツまでのパス情報を用いて記憶しているコンテンツを読出し、ディスプレイで表示するサイト画面の再構築処理を実行した上で(ステップC12)、再び上記ステップC01からの処理に戻る。
【0080】
上記したような本実施形態で説明したカタログファイルの更新処理を実行せず、ウェブアプリケーション上でその都度表示に要する全データの送受を行なうものとした場合、そのデータ容量は数百KB程度となり、上記
図9Cに示した表示画面から上記
図9Dに示した表示画面に移行する間、例えば数秒単位で画面全面が一時的に全く何も表示しない真っ白な状態になることが容易に考えられる。
【0081】
したがって、ユーザによってはいらだちや不安を生じるなど、なんらかのストレスを与える可能性が高く、ウェブアプリケーションとしての商品力、訴求力が著しく低下することにもなりかねない。
【0082】
その点で、本実施形態のようにユーザが認識しない状態で常時定期的に、あるいはユーザが簡易な操作で任意に手動でファイル構成を記述したカタログファイルの更新処理を実行して、クライアント側とリソース用サーバ装置2側とで同期をとるものとすれば、ユーザはストレスフリーでウェブアプリケーションを利用できる。
【0083】
上述した如くカタログファイルは、クライアント側で保存されているコンテンツまでのパス情報、すなわち記憶しているコンテンツがどのディレクトリ構成の位置にあるかを示す場所を記述しているのみである。
【0084】
したがって、クライアント側に最新のカタログファイルがなかった場合には、リソース用サーバ装置2から最新のカタログファイルをダウンロードし、コンテンツデータを同期させることにより、この最新のカタログファイルを参照することで、クライアント側に保存しているコンテンツデータと照らし合わせて表示を行なうことができる。
【0085】
つまり、クライアント側のデータとレンダリング処理されたリソース用サーバ装置2側のCDN部B3上のデータとを同期できるので、レンダリング処理の時間を短縮でき、クライアント側の端末に画面を高速で表示させることができる。
【0086】
以上詳述した如く本実施形態によれば、クライアントとサーバ間のディレクトリ構成及びファイル構成を同期させるため、例えばPHPやHTML等のマークアップ言語で記述されたウェブアプリケーションでも、既存のネイティブアプリケーションと同等の表示スピードを実現することが可能となる。
【0087】
なお上記実施形態では、カタログファイルのバージョン情報に応じて更新設定の判断を行なうものとして説明したが、例えばファイルのバージョン情報ではなく、タイムスタンプなどの更新日時を示す情報によってクライアントとサーバとの間のファイルの同期を行なうものとしてもよい。たとえば、期間限定のイベント情報をSNSサイト内に表示する際、期間限定のイベント情報をカタログファイルの更新情報から省くようにすれば、期限が過ぎてしまったSNSサイト内の情報をクライアント側に表示することがなく、クライアントとサーバとの間で不必要な更新作業を省くこともできる。
【0088】
また上記実施形態では、ウェブアプリケーションとしてゲームソフトを選択する場合について説明したが、本発明はウェブアプリケーションの種類等を限定するものではなく、各種ウェブアプリケーションに対応可能であることは勿論である。
【0089】
その他、本発明は上述した実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上述した実施形態で実行される機能は可能な限り適宜組み合わせて実施しても良い。上述した実施形態には種々の段階が含まれており、開示される複数の構成要件による適宜の組み合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、効果が得られるのであれば、この構成要件が削除された構成が発明として抽出され得る。