JP5736056B2 - 情報提供装置、情報提供方法及びプログラム - Google Patents

情報提供装置、情報提供方法及びプログラム Download PDF

Info

Publication number
JP5736056B2
JP5736056B2 JP2013544926A JP2013544926A JP5736056B2 JP 5736056 B2 JP5736056 B2 JP 5736056B2 JP 2013544926 A JP2013544926 A JP 2013544926A JP 2013544926 A JP2013544926 A JP 2013544926A JP 5736056 B2 JP5736056 B2 JP 5736056B2
Authority
JP
Japan
Prior art keywords
file
information
server device
catalog file
stored
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2013544926A
Other languages
English (en)
Other versions
JPWO2013191283A1 (ja
Inventor
健一 米川
健一 米川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GREE Inc
Original Assignee
GREE Inc
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 GREE Inc filed Critical GREE Inc
Priority to JP2013544926A priority Critical patent/JP5736056B2/ja
Application granted granted Critical
Publication of JP5736056B2 publication Critical patent/JP5736056B2/ja
Publication of JPWO2013191283A1 publication Critical patent/JPWO2013191283A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

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

Claims (4)

  1. 提供される情報を出力するためのディレクトリ構成及びファイル構成を少なくとも記述したファイルを上記ファイルの識別情報と共に記憶する記憶部を具備する情報提供装置において使用されるプログラムにおいて、
    上記プログラムは、上記情報提供装置に、
    予め設定された条件に従い、サーバ装置に対して上記ファイルの識別情報を付加して当該ファイルの更新を要求させ、
    上記要求に応じてサーバ装置から送られてくるファイルを受信させ、
    上記記憶部に記憶されたファイルの配列の数と、上記受信したファイルの配列の数とが一致しない場合に、上記記憶部に記憶されたファイルを上記受信したファイルに更新させる、プログラム。
  2. 上記ファイルは、オブジェクト、プロパティ、及び配列の各情報を含むJSON(JavaScript(登録商標) Object Notation)言語で記述されたデータであり、該配列の情報には、ファイルのバージョン情報または更新日時情報と、ファイルの格納先を示すパス情報とが少なくとも記述されていることを特徴とする請求項1記載のプログラム
  3. 提供される情報を出力するためのディレクトリ構成及びファイル構成を少なくとも記述したファイルを上記ファイルの識別情報と共に記憶する記憶部を具備する情報提供装置において使用される情報提供方法において、
    予め設定された条件に従い、サーバ装置に対して上記ファイルの識別情報を付加して当該ファイルの更新を要求し、
    上記要求に応じてサーバ装置から送られてくるファイルを受信し、
    上記記憶部に記憶されたファイルの配列の数と、上記受信したファイルの配列の数とが一致しない場合に、上記記憶部に記憶されたファイルを上記受信したファイルに更新する、
    情報提供方法。
  4. 提供される情報を出力するためのディレクトリ構成及びファイル構成を少なくとも記述したファイルを上記ファイルの識別情報と共に記憶する記憶部と、
    予め設定された条件に従い、サーバ装置に対して上記ファイルの識別情報を付加して当該ファイルの更新を要求する手段と、
    上記要求に応じてサーバ装置から送られてくるファイルを受信する手段と、
    上記記憶部に記憶されたファイルの配列の数と、上記受信したファイルの配列の数とが一致しない場合に、上記記憶部に記憶されたファイルを上記受信したファイルに更新する手段と
    を具備する情報提供装置。
JP2013544926A 2012-06-22 2013-06-21 情報提供装置、情報提供方法及びプログラム Expired - Fee Related JP5736056B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013544926A JP5736056B2 (ja) 2012-06-22 2013-06-21 情報提供装置、情報提供方法及びプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2012141112 2012-06-22
JP2012141112 2012-06-22
PCT/JP2013/067125 WO2013191283A1 (ja) 2012-06-22 2013-06-21 情報提供システム、情報提供装置、情報提供方法及び記憶媒体
JP2013544926A JP5736056B2 (ja) 2012-06-22 2013-06-21 情報提供装置、情報提供方法及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015085164A Division JP5891325B2 (ja) 2012-06-22 2015-04-17 情報提供装置、情報提供方法及びプログラム

Publications (2)

Publication Number Publication Date
JP5736056B2 true JP5736056B2 (ja) 2015-06-17
JPWO2013191283A1 JPWO2013191283A1 (ja) 2016-05-26

Family

ID=49768874

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013544926A Expired - Fee Related JP5736056B2 (ja) 2012-06-22 2013-06-21 情報提供装置、情報提供方法及びプログラム
JP2015085164A Active JP5891325B2 (ja) 2012-06-22 2015-04-17 情報提供装置、情報提供方法及びプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2015085164A Active JP5891325B2 (ja) 2012-06-22 2015-04-17 情報提供装置、情報提供方法及びプログラム

Country Status (2)

Country Link
JP (2) JP5736056B2 (ja)
WO (1) WO2013191283A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015172940A (ja) * 2012-06-22 2015-10-01 グリー株式会社 情報提供装置、情報提供方法及びプログラム
CN110874730A (zh) * 2018-09-04 2020-03-10 Oppo广东移动通信有限公司 信息处理方法、信息处理装置及移动终端

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7527866B2 (ja) 2020-07-01 2024-08-05 キヤノン株式会社 プログラム、情報処理装置及び制御方法
CN116610634B (zh) * 2023-07-19 2023-09-26 南京中孚信息技术有限公司 一种网盘终端的文件同步系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11203079A (ja) * 1998-01-09 1999-07-30 Casio Electron Mfg Co Ltd 印刷システム
JP2010508581A (ja) * 2006-10-30 2010-03-18 マイクロソフト コーポレーション ウェブベースアプリケーションのオフライン実行

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004264929A (ja) * 2003-02-28 2004-09-24 Nippon Telegr & Teleph Corp <Ntt> Web情報の提供システム、提供方法、この方法のプログラム、およびこのプログラムを記録した記録媒体
JP2011108143A (ja) * 2009-11-20 2011-06-02 Panasonic Corp 情報管理装置およびデータベース更新判定方法
JP5736056B2 (ja) * 2012-06-22 2015-06-17 グリー株式会社 情報提供装置、情報提供方法及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11203079A (ja) * 1998-01-09 1999-07-30 Casio Electron Mfg Co Ltd 印刷システム
JP2010508581A (ja) * 2006-10-30 2010-03-18 マイクロソフト コーポレーション ウェブベースアプリケーションのオフライン実行

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSND201100544011; 茂呂智大: 'Webサービスを生かしたiPhoneアプリの作り方' 日経ソフトウエア 第14巻,第11号, 20110924, p.100-105, 日経BP社 *
CSND201100748015; 小松健作: 'Webシステムを変えるHTML5' 日経SYSTEMS 第226号, 20120126, p.94-99, 日経BP社 *
JPN6013038525; 茂呂智大: 'Webサービスを生かしたiPhoneアプリの作り方' 日経ソフトウエア 第14巻,第11号, 20110924, p.100-105, 日経BP社 *
JPN6014044629; 小松健作: 'Webシステムを変えるHTML5' 日経SYSTEMS 第226号, 20120126, p.94-99, 日経BP社 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015172940A (ja) * 2012-06-22 2015-10-01 グリー株式会社 情報提供装置、情報提供方法及びプログラム
CN110874730A (zh) * 2018-09-04 2020-03-10 Oppo广东移动通信有限公司 信息处理方法、信息处理装置及移动终端

Also Published As

Publication number Publication date
JP2015172940A (ja) 2015-10-01
JPWO2013191283A1 (ja) 2016-05-26
WO2013191283A1 (ja) 2013-12-27
JP5891325B2 (ja) 2016-03-22

Similar Documents

Publication Publication Date Title
EP3465467B1 (en) Web page accelerations for web application hosted in native mobile application
CN103309660B (zh) 移动应用跨平台开发方法
JP5891325B2 (ja) 情報提供装置、情報提供方法及びプログラム
WO2018036544A1 (zh) 浏览器在独立窗口中播放视频的方法、装置及存储介质
CN113590974B (zh) 推荐页面配置方法、装置、电子设备和计算机可读介质
US20140157144A1 (en) Network system
US10089283B2 (en) Mobile enablement of webpages
CN108491232B (zh) 在语音对话平台加载控件的方法及系统
CN112770142A (zh) 一种互动视频交互方法、装置及电子设备
CN110618811B (zh) 信息呈现方法和装置
RU2634221C2 (ru) Способ и устройство для отрисовки представления электронного документа на экране
US9680967B2 (en) Method of using application, gateway using the method, terminal using the method, and terminal system using the method
JP5698205B2 (ja) プログラム及びプログラム配信方法
WO2017197889A1 (zh) 一种关键字链接方法、装置及系统
JP2015037310A (ja) 多文字セット文字コード入力方法、多文字セット文字コード入力システム、及び、多文字セット文字コード入力プログラムを実行する装置
JP6423413B2 (ja) プログラム及びプログラム配信方法
KR20130094003A (ko) 다양한 기종에서 지원 가능한 하이브리드 어플리케이션 제작 시스템 및 그 제작 방법
JP5959535B2 (ja) クライアントからネットワークを介して携帯端末にアクセスするためのサーバ、方法、及び、コンピュータを該サーバとして機能させるプログラム
CN105992063A (zh) 一种网页加载方法及用户设备
JP2016154048A (ja) プログラム及びプログラム配信方法
JP2015109109A (ja) プログラム及びプログラム配信方法
CN110362322B (zh) 电子装置与其离线更新程序的方法
JP6518313B2 (ja) プログラム及びプログラム配信方法
WO2015019397A1 (ja) 画面表示プログラム
JP6607805B2 (ja) 情報処理装置及び情報処理プログラム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150331

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150417

R150 Certificate of patent or registration of utility model

Ref document number: 5736056

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees