WO2013191283A1 - 情報提供システム、情報提供装置、情報提供方法及び記憶媒体 - Google Patents

情報提供システム、情報提供装置、情報提供方法及び記憶媒体 Download PDF

Info

Publication number
WO2013191283A1
WO2013191283A1 PCT/JP2013/067125 JP2013067125W WO2013191283A1 WO 2013191283 A1 WO2013191283 A1 WO 2013191283A1 JP 2013067125 W JP2013067125 W JP 2013067125W WO 2013191283 A1 WO2013191283 A1 WO 2013191283A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
information
identification information
unit
server device
Prior art date
Application number
PCT/JP2013/067125
Other languages
English (en)
French (fr)
Inventor
健一 米川
Original Assignee
グリー株式会社
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 グリー株式会社 filed Critical グリー株式会社
Priority to JP2013544926A priority Critical patent/JP5736056B2/ja
Publication of WO2013191283A1 publication Critical patent/WO2013191283A1/ja

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

Definitions

  • the present invention relates to an information providing system, an information providing apparatus, an information providing method, and a storage medium suitable for providing various kinds of information via a computer network such as the Internet.
  • a request is transmitted from a client terminal to a server, a web page is received from the server as a response, and a screen transition is performed between the web pages.
  • a dynamic web application without screen transition is provided to the client side by Ajax (Asyncronous JavaScript (registered trademark) + XML), for example, in web search.
  • the search performed after the input is confirmed is processed in the background while the user performs key input, so that the search result can be displayed in real time.
  • these Ajax technologies operate only on web pages, they do not require the plug-in function found in install-type software and can be combined with existing technologies.
  • web programming by Ajax eliminates dissatisfaction with the poor usability of web browsers that rely only on conventional page transitions, and standardizes web-related technologies such as XML (extensible Markup Language) and DOM (Document Object Model) ( With the popular name (Web standard), it has become possible to provide high functionality to the client side.
  • XML extensible Markup Language
  • DOM Document Object Model
  • XML is a specification that can be used for general purposes in order to create a markup language according to an individual purpose, and a name of a language that is formulated based on the specification.
  • the XML specification is formulated and recommended by W3C (World Wide Web Consortium), and is a widely spread technology.
  • DOM is an API (Application Programming Interface) for using an HTML (HyperText Markup Language) document or XML document recommended by the W3C from an application.
  • HTML HyperText Markup Language
  • XML XML document recommended by the W3C from an application.
  • SAX Simple API for XML
  • XML data can be handled as a tree structure.
  • An XML parser for implementing DOM is supported by each manufacturer.
  • This type of social application can be broadly divided into a native application that is downloaded to a client terminal and installed and used on the client terminal, and a web application that runs on a web server and is used on a web browser of the client terminal. .
  • the native application is an application that depends on the OS of a terminal such as an iPhone (registered trademark) terminal or an Android (registered trademark) terminal of a smartphone.
  • the server device distributes a native application such as an iPhone application loaded with Objective-C language or an Android application loaded with Java (registered trademark) from the platform to each client terminal.
  • the user enjoys native applications (including, for example, RPG (Role Playing Game), games such as battle, love, etc.) distributed from the platform to the client terminal.
  • web applications can be cross-developed based on languages such as HTML5 (HyperText Markup Language 5), JavaScript (registered trademark), and CSS3 (Cascading Style Sheets 3) for both platforms. There is no need to go through the marketplace. The web application does not depend on the OS of the client terminal.
  • JavaScript is an object-oriented script language. It is mainly implemented on the client side such as a web browser, and is used for the construction of dynamic websites and the development of advanced user interfaces such as RIA (Rich Internet Application). JavaScript is a prototype-based object-oriented programming language.
  • JavaScript is often described in a style like a procedural language similar to the C language, but supports a first class function (function can be treated as a first class object), etc. It is designed to have the same characteristics. Because of such a flexible design, JavaScript is also adopted as a macro language in some applications. Further, a request and response method is adopted as a communication method in a markup language (eg, HTML, PHP (Hypertext Preprocessor)).
  • a markup language eg, HTML, PHP (Hypertext Preprocessor)
  • SDK Software Development Kit
  • This SDK is a set of tools necessary for developing software using a certain technology (programming language, API, etc.).
  • a software developer uses the SDK when creating application software for a specific software package, software framework, hardware platform, computer system, game console, or OS.
  • This SDK is a tool kit prepared by manufacturers of information devices and OSs to encourage the development of software for their products, and is often distributed free of charge to developers. (For example, Non-Patent Document 1)
  • the present invention has been made in view of the above situation, and the object of the present invention is to realize a display speed equivalent to that of an existing native application even in a web application written in a markup language.
  • An information providing system, an information providing apparatus, an information providing method, and a storage medium are provided.
  • One aspect of the present invention is an information providing system including a client device and a server device connected via a network, wherein the client device describes at least a directory configuration and a file configuration for outputting provided information.
  • a storage unit for storing the file together with the identification information, a request unit for requesting update of the file by adding the identification information of the file to the server device in accordance with preset conditions, and a request unit
  • the server device includes a receiving unit that receives a file sent from the server device in response to a request, and an update unit that updates and stores the file received by the receiving unit in the storage unit.
  • the latest file that describes at least the directory structure and file structure for A database to be updated and stored a reception unit that receives a file update request from the client device together with file identification information, and the latest file identification information that is stored in the database by the file identification information received by the reception unit
  • the determination unit determines that they do not match, and the determination unit determines that they do not match, the latest file stored in the database is transmitted together with the identification information to the client device that has received the update request.
  • the directory structure and file structure between the client and the server are automatically synchronized, even a web application written in a language such as a markup language can achieve a display speed equivalent to that of an existing native application. It becomes possible.
  • FIG. 1 is a diagram illustrating a use environment of an information providing system according to an embodiment.
  • FIG. 2 is a block diagram showing the configuration of the resource server device according to the embodiment.
  • FIG. 3 is a diagram showing a functional configuration of the catalog file update program according to the embodiment.
  • FIG. 4 is a flowchart showing the contents of the catalog file update process between the client / server according to the embodiment.
  • FIG. 5 is a flowchart of a subroutine showing the contents of content data synchronization processing at the client terminal according to the embodiment.
  • FIG. 6 is a diagram showing a specific configuration example of the catalog file according to the embodiment.
  • FIG. 7A is a diagram showing a specific configuration example of a newly received catalog file according to the embodiment.
  • FIG. 7B is a diagram showing a specific configuration example of a catalog file stored before reception according to the embodiment.
  • FIG. 8A is a diagram showing a specific configuration example of a newly received catalog file according to the embodiment.
  • FIG. 8B is a diagram showing a specific configuration example of a catalog file stored before reception according to the embodiment.
  • FIG. 9A is a diagram showing a transition state of the display screen on the client side when the catalog file according to the embodiment is updated.
  • FIG. 9B is a diagram showing a transition state of the display screen on the client side when the catalog file according to the embodiment is updated.
  • FIG. 9C is a diagram showing a transition state of the display screen on the client side when the catalog file according to the embodiment is updated.
  • FIG. 9D is a diagram showing a transition state of the display screen on the client side when the catalog file according to the embodiment is updated.
  • FIG. 1 is a diagram illustrating an environment in which the information providing system according to the embodiment is used.
  • a resource server device 2 and an API server device 3 are connected to a network 1 such as the Internet, and a computer 4 and a mobile phone 5 which are client devices used by a user in this system are access points.
  • AP AP
  • base station 7 AP
  • the resource server device 2 and the API server device 3 are computers for realizing the information providing system according to the present embodiment, and may actually be realized by one computer.
  • the resource server device 2 serves as a window with the computer 4 and the mobile phone 5 to execute processing, while the directory configuration and file configuration for outputting provided information to the API server device 3 side.
  • a database (DB) storing a catalog file (Catalog.file) in which is described is provided.
  • catalog file will be described in detail later, the data structure of the catalog file is a JSON-type structure, and one catalog file is composed of the object O, the arrays AR1 to AR3, and the property P.
  • the resource server device 2 and the API server device 3 share the roles and execute the processing, thereby reducing the burden on the individual server devices.
  • the resource server device 2 may be divided into a plurality of, for example, two resource server devices 2A and 2B, and processing related to the update operation of the catalog file described later may be shared and executed. In this way, the burden on the resource server device 2 serving as a window can be distributed and processed, and a more stable system configuration can be constructed.
  • resource server device 2 and the API server device 3 may be configured by a plurality of computers such as a web server, a processing server, and a database server for each function, and in the embodiment of the present invention, Any configuration is acceptable.
  • the client side computer 4 includes a general desktop type or notebook type personal computer, a mobile computer, a laptop computer, a tablet type terminal, and the like.
  • the mobile phone 5 includes a smartphone, a feature phone, and the like, and is a mobile phone that operates on an OS such as Android or iOS.
  • each hardware circuit of the computer 4 and the mobile phone 5 is very general and well-known, and the description and explanation thereof are omitted.
  • FIG. 2 is a block diagram showing a configuration of the resource server device 2.
  • the resource server device 2 is configured by connecting a CPU 12, a communication unit 13, a memory 14, an input unit 15, and a storage device 16 to a bus 11.
  • the CPU 12 cooperates with the catalog file update program 16B stored in the storage device 16 to update the catalog file in the computer 4 and the mobile phone 5, and also controls the resource server device 2 as a whole.
  • the communication unit 13 controls communication with an external device such as the API server device 3, the client computer 4, and the mobile phone 5 via the network 1.
  • an external device such as the API server device 3, the client computer 4, and the mobile phone 5 via the network 1.
  • the memory 14 is used as a work area required when the catalog file update program 16B is executed.
  • the input unit 15 is an interface for inputting data and the like necessary for performing catalog file update processing, and includes, for example, a keyboard and a touch panel.
  • the storage device 16 is for storing programs and data required for updating the catalog file.
  • the storage device 16 has a large capacity such as a hard disk drive (HDD), a solid state drive (SSD), an optical disk drive, a DVD, and an MO. It is a storage device.
  • the storage device 16 stores an OS (Operating System) 16A, a program including a catalog file update program 16B, fixed data, and the like.
  • OS Operating System
  • the OS 16A is a program for realizing the basic functions of the resource server device 2.
  • the catalog file update program 16B is an application program that operates on the OS 16A, and updates the catalog file held by the computer 4 and the mobile phone 5 in cooperation with the CPU 12, and is mainly shown in FIG. The processing of the flowchart shown is realized.
  • FIG. 3 is a diagram showing a functional configuration of the catalog file update program 16B.
  • the catalog file update program 16B has an authenticity code part B1, an HTML part B2, a CDN (Contents Delivery Network) part B3, and an SNS (Social Networking Service) server part B4.
  • authenticity code part B1 an HTML part B2
  • CDN Contents Delivery Network
  • SNS Social Networking Service
  • the authenticity code part B1 receives a catalog file update request from the computer 4 or the mobile phone 5, and verifies the catalog file that the computer 4 or the mobile phone 5 has at that time.
  • the HTML part B2 provides an index page (Index.html / Index.html) including a catalog file update request at the SNS site.
  • the CDN unit B3 extracts necessary content from the API server device 3 by using the JavaScript (JS) technology and the CSS technology. As will be described later, the contents stored in the CDN part B3, specifically, the storage state of the contents including the directory structure are also synchronized in the client side device.
  • JS JavaScript
  • the SNS server unit B4 updates the catalog file described in Java Script Object Notation (hereinafter referred to as “JSON”) using API technology.
  • JSON Java Script Object Notation
  • JSON JSON and XHR (XML Http Request) techniques are also described here.
  • the above-mentioned JSON is a lightweight data description language based on the object notation method in JavaScript.
  • JavaScript JSON is not a data format dedicated to JavaScript, but is designed to be used to exchange data between various software and programming languages.
  • XHR is an embedded object (API) for performing HTTP communication with a server in a script language installed in a web browser such as JavaScript.
  • API embedded object
  • FIG. 4 shows a state where the computer 4 or the mobile phone 5 and the resource server device 2 are in a state in which the computer 4 or the mobile phone 5 on the client side is accessing a predetermined SNS site provided by the resource server device 2.
  • the contents of the catalog file update process executed between the two are shown.
  • the CPU in the device executes the following operation according to the operation program stored in the program memory.
  • the CPU 12 executes the following operation based on the catalog file update program 16 ⁇ / b> B in the storage device 16.
  • the client side device it is first determined whether or not a past catalog file exists in the terminal (step C01). If it is determined that the past catalog file does not exist, the client side device transmits a signal for requesting new data of the catalog file by the CPU to the resource server device 2 via the network 1 (step C02). ).
  • step C01 determines whether or not a past catalog file exists. If it is determined in step C01 that a past catalog file exists, the CPU then determines whether or not a manual update request operation has been performed by the user (step C03).
  • FIG. 9A to 9D are diagrams showing transition states of display screens on the mobile phone 5 when game software is selected as a web application.
  • FIG. 9A illustrates an SNS game menu screen.
  • a pull-down menu PD for updating the catalog file as shown in the figure is displayed by slowly sliding the menu bar composed of “top”, “category”, “new arrival”, and “search” buttons downward with the tip of the finger.
  • a pull-down menu PD in order to instruct a downward sliding operation by a certain amount, a “pull down and update” guide message is displayed and information on the date and time of the previous catalog file update is displayed.
  • FIG. 9B shows a state in which the predetermined amount of downward sliding operation is executed and updating is about to start.
  • a guide message “update by releasing a finger” is displayed by the pull-down menu PD.
  • the CPU determines that a manual update request operation has been performed in step C03, and a catalog file containing version (ver.) Information stored at that time. Is added to the update request signal and transmitted to the resource server device 2 via the network 1 (step C05).
  • step C03 If it is determined in step C03 that a manual update request has not been made, the CPU of the client device further determines whether or not a catalog file update timing preset in the access state, for example, 5 minutes has elapsed, It is determined whether or not it is time to automatically perform the update (step C04).
  • a catalog file update timing preset in the access state for example, 5 minutes has elapsed
  • the CPU of the client device returns to the process from step C01 again.
  • step C04 If it is determined in step C04 that it is time to automatically perform the update, the CPU of the client device adds the catalog file data including the version information stored at that time to the update request signal, The data is transmitted to the resource server device 2 via the network 1 (step C05).
  • FIG. 6 is a diagram exemplifying a data structure of a catalog file that is held by the client-side device, for example, the mobile phone 5 and transmitted to the resource server device 2 in step C05.
  • the catalog file is composed of text information, and at least one (here, three) arrays AR1 to AR3 are arranged between the object O located at the beginning of the file and the property P located at the end.
  • the version information in the arrays AR1 to AR3 indicates the version of the file (hereinafter referred to as “content file”) indicated by the corresponding path information.
  • the commit information is a management number in the resource server device 2 that manages the version.
  • version information for example, “13333729271”
  • this version information indicates the version of the catalog file itself.
  • the resource server device 2 always waits for a catalog file transmission request signal from the client side (step S01).
  • the CPU 12 of the resource server device 2 stores the version information of the catalog file held by itself and the catalog added to the transmission request signal.
  • the version information of the file is checked (step S02), and it is determined whether or not the catalog file needs to be updated based on whether the two version information matches (step S03).
  • the CPU 12 determines that there is no need to update, and the CPU 12 returns to the processing from step S01 as it is. Then, it waits for the catalog file to be sent again from the client side.
  • step C02 When a new catalog file transmission request signal is received from the client side device by the processing in step C02, the version information of the catalog file is naturally not added, so the CPU 12 of the resource server device 2 It is determined that the version information does not match.
  • step S03 when the CPU 12 determines that the version information of the catalog file transmitted from the client side in step S03 does not match the version information of the catalog file held by itself, the CPU 12 determines that the catalog file needs to be updated. Then, the latest catalog file for the client device is generated and transmitted by communication with the API server device 3 which is a database (step S04), and the series of update processing is completed as described above, and the processing from step S01 is performed again.
  • a predetermined time for example, 1 minute has elapsed after the CPU transmits the transmission request signal in step C02 or step C05 (step C06).
  • the CPU returns to the processing from step C01 to retransmit the transmission request signal on the assumption that there is no response from the resource server device 2 to the transmission request. .
  • step C06 If it is determined in step C06 that the predetermined time has not elapsed, the CPU further determines whether or not a new version of the catalog file has been received from the resource server device 2 side (step C07).
  • the CPU temporarily stores the received catalog file (step C08). Then, based on the stored catalog file, the CPU executes a synchronization process between the content data held in the client side device and the content data stored in the CDN part B3 of the resource server device 2 ( Step C09).
  • FIG. 5 is a flowchart of a subroutine showing the details of the content data synchronization processing in step C09.
  • the number n of the array AR in the catalog file stored before the CPU receives the catalog file from the resource server device 2, and the array in the newly received catalog file.
  • the number M of ARs is checked (step C21).
  • the CPU determines whether or not it is necessary to update the catalog file in its own terminal depending on whether or not the number M of new catalog file arrays AR matches the number n of catalog file arrays AR so far. Is determined (step C22).
  • FIG. 7A and 7B illustrate a case where the number M of array ARs in the new catalog file is “4”, and the number n of array ARs in the catalog file so far is “4”, which is equal.
  • step C10 the process returns to step C01 again.
  • Step C10 When a new catalog file is set in this way, the CPU on the client device side reads the stored content using the path information up to the content described in the new catalog file in the main routine of FIG. After executing the rebuilding process of the site screen displayed in (Step C10), the process returns to the process from Step C01 again.
  • a web application written in a language such as PHP or HTML is used to keep the catalog file in which the file structure for outputting the provided information is kept up to date. Even in the case of execution, it is possible to realize a usage environment that does not give stress to the user by significantly reducing the processing time by transition of the display screen.
  • FIG. 9C shows a state where the catalog file is updated from the state of FIG. 9B and the screen is updated.
  • one field such as “RPG” is selected from such a comprehensive menu of game software
  • a screen display request is transmitted from the client side to the server side, and in response to this, the server side sends
  • the server side sends
  • step C07 If it is determined in step C07 that a new version of the catalog file has not been received, the CPU refers to the catalog file set at that time, and the content data held in the client side device by the catalog file. Is synchronized with the content data stored in the CDN part B3 of the resource server device 2 (step C11).
  • step C12 the reconstructing process of the site screen displayed on the display is executed (step C12). ), The process returns to step C01.
  • the data capacity is about several hundred KB.
  • the entire screen is temporarily in a white state where nothing is temporarily displayed in units of several seconds, for example.
  • the client side executes the update process of the catalog file in which the file structure is described manually at regular intervals without being recognized by the user as in the present embodiment, or arbitrarily manually by the user. If the resource server device 2 is synchronized, the user can use the web application without stress.
  • the catalog file only describes the path information to the content stored on the client side, that is, the location indicating the directory structure where the stored content is located.
  • the latest catalog file is downloaded from the resource server device 2 and the latest catalog file is referred to by synchronizing the content data. Can be displayed against the content data stored on the side.
  • the time for the rendering process can be shortened and the screen on the client side can be displayed at high speed. Can do.
  • the update setting is determined according to the version information of the catalog file.
  • the information between the client and the server is not based on the file version information but information indicating the update date and time such as a time stamp.
  • the files may be synchronized. For example, when displaying limited-time event information in the SNS site, if the limited-time event information is omitted from the update information of the catalog file, the information in the SNS site that has expired is displayed on the client side. And unnecessary update work between the client and the server can be omitted.
  • the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention in the implementation stage. Further, the functions executed in the above-described embodiments may be combined as appropriate as possible.
  • the above-described embodiment includes various stages, and various inventions can be extracted by an appropriate combination of a plurality of disclosed constituent elements. For example, even if some constituent requirements are deleted from all the constituent requirements shown in the embodiment, if the effect is obtained, a configuration from which the constituent requirements are deleted can be extracted as an invention.
  • SYMBOLS 1 ... Network (such as the Internet) 2, 2A, 2B ... Resource server device, 3 ... API server device, 4 ... Computer, 5 ... Mobile phone, 6 ... Access point (AP), 7 ... Base station, 11 ... Bus, 12 ... CPU, 13 ... Communication part, 14 ... Memory, 15 ... Input part, 16 ... Storage device, 16A ... OS, 16B ... Catalog file update program, AR, AR1 to AR3 ... Array, B1 ... Authenticity code Part, B2 ... HTML part, B3 ... CDN part, B4 ... SNS server part, O ... object, P ... property, PD ... pull-down menu.

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)

Abstract

ネットワークを介してクライアント装置と接続されるサーバ装置に、上記クライアント装置から、提供する情報を出力するためのディレクトリ構成及びファイル構成を記述したカタログファイルの更新要求を、カタログファイルの識別情報と共に受付ける受付ステップ、受付けたカタログファイルの識別情報が、データベースで記憶している最新のカタログファイルの識別情報と一致するか否かを判断する判断ステップ、及び一致しないと判断した場合、更新要求を受付けたクライアント装置に対してデータベースで記憶する最新のカタログファイルをその識別情報と共に送信する送信ステップを実行させる。

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)
"http://microsoft.com/en-us/download/details.aspx?id=8442"(平成24年 6月 7日)
 しかしながら、従来の技術にあっては、下記のような課題があった。 
 <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 (8)

  1.  ネットワークを介して接続されたクライアント装置とサーバ装置とを含む情報提供システムにおいて、
     上記クライアント装置は、
     提供される情報を出力するためのディレクトリ構成及びファイル構成を少なくとも記述したファイルをその識別情報と共に記憶する記憶部と、
     予め設定された条件に従い、上記サーバ装置に対して上記ファイルの識別情報を付加して当該ファイルの更新を要求する要求部と、
     上記要求部での要求に応じて上記サーバ装置から送られてくるファイルを受信する受信部と、
     上記受信部で受信したファイルを上記記憶部で更新記憶する更新部とを有し、
     上記サーバ装置は、
     提供する情報を出力するためのディレクトリ構成及びファイル構成を少なくとも記述した最新のファイルをその識別情報と共に更新して記憶するデータベースと、
     上記クライアント装置からのファイルの更新要求をファイルの識別情報と共に受付ける受付部と、
     上記受付部で受付けたファイルの識別情報が上記データベースで記憶する最新のファイルの識別情報と一致するか否かを判断する判断部と、
     上記判断部で一致しないと判断した場合、上記更新要求を受付けた上記クライアント装置に対して上記データベースで記憶する最新のファイルをその識別情報と共に送信する送信部とを有する
    ことを特徴とする情報提供システム。
  2.  上記ファイルは、オブジェクト、プロパティ、及び配列の各情報を含むJSON(JavaScript(登録商標) Object Notation)言語で記述されたデータであり、該配列の情報には、ファイルのバージョン情報または更新日時情報と、ファイルの格納先を示すパス情報とが少なくとも記述されていることを特徴とする請求項1記載の情報提供システム。
  3.  上記更新部は、上記受信部で上記サーバ装置から受信したファイル内の配列の情報の数が上記記憶部にそれまで記憶していたファイル内の配列の情報の数と一致するか否かを判断し、一致しないと判断した場合に、上記受信部で受信したファイルを上記記憶部で更新記憶することを特徴とする請求項2記載の情報提供システム。
  4.  上記サーバ装置は、上記データベースを有する第1のサーバ装置と、上記受付部、上記判断部、及び上記送信部を有する第2のサーバ装置とで別体構成とすることを特徴とする請求項1記載の情報提供システム。
  5.  上記第2のサーバ装置は、複数のサーバ装置で処理を分散することを特徴とする請求項4記載の情報提供システム。
  6.  ネットワークを介してクライアント装置と接続される情報提供装置において、
     提供する情報を出力するためのディレクトリ構成及びファイル構成を少なくとも記述した最新のファイルをその識別情報と共に更新して記憶するデータベースと、
     上記クライアント装置からのファイルの更新要求をファイルの識別情報と共に受付ける受付部と、
     上記受付部で受付けたファイルの識別情報が上記データベースで記憶する最新のファイルの識別情報と一致するか否かを判断する判断部と、
     上記判断部で一致しないと判断した場合、上記更新要求を受付けた上記クライアント装置に対して上記データベースで記憶する最新のファイルをその識別情報と共に送信する送信部と
    を有したことを特徴とする情報提供装置。
  7.  ネットワークを介してクライアント装置と接続されるサーバ装置での情報提供方法であって、
     上記クライアント装置から、提供する情報を出力するためのディレクトリ構成及びファイル構成を少なくとも記述したファイルの更新要求を、ファイルの識別情報と共に受付ける受付工程と、
     上記受付工程で受付けたファイルの識別情報が、データベースで記憶している最新のファイルの識別情報と一致するか否かを判断する判断工程と、
     上記判断工程で一致しないと判断した場合、上記更新要求を受付けた上記クライアント装置に対して上記データベースで記憶する最新のファイルをその識別情報と共に送信する送信工程と
    を有したことを特徴とする情報提供方法。
  8.  ネットワークを介してクライアント装置と接続されるサーバ装置が実行するプログラムを記憶した記憶媒体であって、
     上記サーバ装置に、
     上記クライアント装置から、提供する情報を出力するためのディレクトリ構成及びファイル構成を少なくとも記述したファイルの更新要求を、ファイルの識別情報と共に受付ける受付ステップ、
     上記受付ステップで受付けたファイルの識別情報が、データベースで記憶している最新のファイルの識別情報と一致するか否かを判断する判断ステップ、及び
     上記判断ステップで一致しないと判断した場合、上記更新要求を受付けた上記クライアント装置に対して上記データベースで記憶する最新のファイルをその識別情報と共に送信する送信ステップ
    を実行させるプログラムを記憶した記憶媒体。
PCT/JP2013/067125 2012-06-22 2013-06-21 情報提供システム、情報提供装置、情報提供方法及び記憶媒体 WO2013191283A1 (ja)

Priority Applications (1)

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

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012141112 2012-06-22
JP2012-141112 2012-06-22

Publications (1)

Publication Number Publication Date
WO2013191283A1 true WO2013191283A1 (ja) 2013-12-27

Family

ID=49768874

Family Applications (1)

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

Country Status (2)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116610634A (zh) * 2023-07-19 2023-08-18 南京中孚信息技术有限公司 一种网盘终端的文件同步系统及方法

Families Citing this family (2)

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

Citations (1)

* 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 印刷システム

Family Cites Families (4)

* 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情報の提供システム、提供方法、この方法のプログラム、およびこのプログラムを記録した記録媒体
US7814234B2 (en) * 2006-10-30 2010-10-12 Microsoft Corporation Offline execution of web based applications
JP2011108143A (ja) * 2009-11-20 2011-06-02 Panasonic Corp 情報管理装置およびデータベース更新判定方法
JP5736056B2 (ja) * 2012-06-22 2015-06-17 グリー株式会社 情報提供装置、情報提供方法及びプログラム

Patent Citations (1)

* 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 印刷システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TOMOHIRO MORO: "Web Service o Ikashita iPhone Apuri no Tsukurikata", NIKKEI SOFTWARE, vol. 14, no. 11, 24 September 2011 (2011-09-24), pages 100 - 105 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116610634A (zh) * 2023-07-19 2023-08-18 南京中孚信息技术有限公司 一种网盘终端的文件同步系统及方法
CN116610634B (zh) * 2023-07-19 2023-09-26 南京中孚信息技术有限公司 一种网盘终端的文件同步系统及方法

Also Published As

Publication number Publication date
JP2015172940A (ja) 2015-10-01
JP5736056B2 (ja) 2015-06-17
JPWO2013191283A1 (ja) 2016-05-26
JP5891325B2 (ja) 2016-03-22

Similar Documents

Publication Publication Date Title
EP3465467B1 (en) Web page accelerations for web application hosted in native mobile application
JP6253110B2 (ja) インストールされたアプリケーションのリソースを更新するためのアプリケーションキャッシュの利用
CN104995601B (zh) 切换到本机网页应用程序及从本机网页应用程序切换离开
CN108416021B (zh) 一种浏览器网页内容处理方法、装置、电子设备及可读介质
CN108874810A (zh) 信息采集的方法和装置
CN102323880A (zh) 基于浏览器解析方式的手机应用界面的开发方法和终端
KR101774267B1 (ko) 전자 문서의 공동 편집을 위한 협업 지원 장치 및 그 동작 방법
US20140157144A1 (en) Network system
JP2014522517A (ja) マークアップベースの文書中でのデータの分割の通知
CN113590974B (zh) 推荐页面配置方法、装置、电子设备和计算机可读介质
JP5891325B2 (ja) 情報提供装置、情報提供方法及びプログラム
US20140281906A1 (en) Mobile enablement of webpages
CN108491232B (zh) 在语音对话平台加载控件的方法及系统
CN112770142A (zh) 一种互动视频交互方法、装置及电子设备
CN110618811B (zh) 信息呈现方法和装置
KR20140026815A (ko) 하이브리드 앱 제공 시스템 및 제공 방법
US9680967B2 (en) Method of using application, gateway using the method, terminal using the method, and terminal system using the method
JP5698205B2 (ja) プログラム及びプログラム配信方法
WO2017197889A1 (zh) 一种关键字链接方法、装置及系统
JP6423413B2 (ja) プログラム及びプログラム配信方法
KR20130094003A (ko) 다양한 기종에서 지원 가능한 하이브리드 어플리케이션 제작 시스템 및 그 제작 방법
JP2016154048A (ja) プログラム及びプログラム配信方法
JP2015109109A (ja) プログラム及びプログラム配信方法
US10970359B2 (en) Web page distributing server, web page distributing method, and storage medium
CN110362322B (zh) 电子装置与其离线更新程序的方法

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2013544926

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13806411

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13806411

Country of ref document: EP

Kind code of ref document: A1