WO2014065405A1 - ウェブサーバ装置及びプログラム配信方法 - Google Patents

ウェブサーバ装置及びプログラム配信方法 Download PDF

Info

Publication number
WO2014065405A1
WO2014065405A1 PCT/JP2013/078990 JP2013078990W WO2014065405A1 WO 2014065405 A1 WO2014065405 A1 WO 2014065405A1 JP 2013078990 W JP2013078990 W JP 2013078990W WO 2014065405 A1 WO2014065405 A1 WO 2014065405A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
application program
information
web server
client machine
Prior art date
Application number
PCT/JP2013/078990
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 グリー株式会社
Publication of WO2014065405A1 publication Critical patent/WO2014065405A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Definitions

  • the present invention relates to a web server device and a program distribution method for distributing application programs and the like to a plurality of types of portable terminals.
  • the social game market has been growing rapidly.
  • the social game is game software created based on an API (Application Program Interface) and an operating environment (application platform) that operate on a web browser of SNS (Social Networking Service).
  • API Application Program Interface
  • application platform application platform
  • SNS Social Networking Service
  • social applications do not require dedicated client software, can be used only with a web browser and an SNS account, and are characterized by a combination of SNS's inherent communication functions.
  • the social application is referred to as a “native application” that depends on the OS of the terminal, such as application software dedicated to an iPhone (registered trademark) terminal of a smartphone or application software dedicated to an Android (registered trademark) terminal, and a web browser It can be roughly divided into what is called a “web application” operable on the above.
  • Web application can be cross-developed based on languages such as HTML5 (Hyper Text Markup Language 5), JavaScript (registered trademark), CSS3 (Cascading Style Sheets 3) for both platforms. There is no need to go through the official marketplace for the release.
  • HTML5 Hyper Text Markup Language 5
  • JavaScript registered trademark
  • CSS3 CSS3
  • the “native application” is a type of application that is downloaded from the marketplace to the terminal, installed, and used. While it is possible to make full use of terminal functions and processing performance, functions and operations depend on the terminal, and some terminals may not operate normally.
  • a “web application” is an application that runs on a web server and is used using a web browser.
  • the “web application” is used by accessing a web server via HTTP (Hyper Text Transfer Protocol) using a web browser as a client.
  • HTTP Hyper Text Transfer Protocol
  • Web application has the advantage that the user can use the application as if browsing a web page, and that the application functions can be used if there is a web browser without installing application software in the local environment. is there.
  • the “web application” may not fully support the function provided by the “web application” depending on the type and version of the web browser.
  • GoogleOS ChromeOS operating system
  • SDK software development kit
  • 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)
  • Various application programs distributed from a web server device to a mobile terminal such as a smartphone via a network that is, the above-mentioned “native application”, includes specifications of a destination mobile terminal, such as an OS version, a display size, and a resolution. It is necessary to match the specifications.
  • one source code is converted to generate one application program. For this reason, in order to provide an application program for each of a plurality of specifications, naturally, a plurality of source codes corresponding to the number of specifications must be prepared, which increases the burden on the side of providing the program.
  • the object of the present invention is to reduce the burden on the side that provides the application program and to prevent the occurrence of unfairness due to the difference in specifications between terminals in an application program that performs online battle communication.
  • the object is to provide a web server device and a program distribution method.
  • One aspect of the present invention is a program distribution method executed by a web server device, the specification information receiving step for receiving the specification information of the client machine together with the distribution request from the client machine, and 1 for generating an application program It has a generation step of generating an application program according to the specification information based on one source code, and a distribution step of distributing the application program generated in the generation step to the client machine.
  • FIG. 1 is a diagram for explaining an environment in which the online game system according to the first embodiment of the present invention is used.
  • FIG. 2 is a diagram illustrating a concept of a connection architecture between the server and the client according to the first embodiment.
  • FIG. 3 is a flowchart showing processing contents at the time of login by the server and the client according to the first embodiment.
  • FIG. 4 is a diagram for explaining the concept of creating a program from single source code according to the first embodiment.
  • FIG. 5 is a diagram illustrating a concept of a program for each terminal device according to the first embodiment.
  • FIG. 6 is a diagram illustrating a configuration of a database (DB) included in the web server device according to the first embodiment.
  • DB database
  • FIG. 7 is a diagram illustrating a part of the top side of the version information as the specification information according to the first embodiment.
  • FIG. 8 is a diagram for explaining a difference in processing based on spec information on the game program according to the first embodiment, using a specific example of a display screen.
  • FIG. 9A is a diagram for explaining a difference in processing based on spec information on the game program according to the first embodiment, using a specific example of a display screen.
  • FIG. 9B is a diagram for explaining a difference in processing based on specification information on the game program according to the first embodiment, using a specific example of a display screen.
  • FIG. 10 is a flowchart showing processing contents at the time of login by the server and the client according to the second embodiment of the present invention.
  • FIG. 11 is a diagram illustrating a concept of a program for each terminal device according to the second embodiment.
  • FIG. 12 is a diagram illustrating a configuration of a database (DB) included in the web server device according to the second
  • FIG. 1 is a diagram illustrating an example of an environment in which the online game system according to the first embodiment of the present invention is used.
  • web server devices 2 and 3 are connected to a network 1 such as the Internet, and portable terminals 4 and 5 serving as client devices used by the user in this system are connected to an access point (AP ) 6 or the base station 7 is connected.
  • AP access point
  • the web server devices 2 and 3 are computers for realizing the online game system according to the present embodiment, and are installed in parallel with the network 1 to provide an online game service.
  • the client-side mobile terminals 4 and 5 include smartphones, feature phones, and the like, and are mobile phones that operate on an OS such as Android (registered trademark) and iOS (registered trademark). It may be a notebook personal computer, a mobile computer, a tablet computer, or the like.
  • the mobile terminals 4 and 5 are preinstalled with game programs for online games.
  • the mobile terminals 4 and 5 employ any one of many types of model-specific hardware configurations, OSs to be used, installed applications, and the like.
  • the web server devices 2 and 3 can distribute native applications corresponding to the hardware configuration, OS, applications, etc. adopted in the mobile terminals 4 and 5.
  • FIG. 2 is a diagram showing a concept of a connection architecture between the server and the client according to the present embodiment.
  • the mobile terminal 4 or 5 contains, for example, the game or application program described in AIR (registered trademark).
  • An application execution environment C1 is implemented, and a company A database connection kit C2 for connecting to the database of company A and performing charging processing and the like is incorporated.
  • a (software) client-side framework C3 developed by Company A is installed in the mobile terminals 4 and 5 in order to communicate with the web server devices 2 and 3.
  • a server-side Java Script (registered trademark) (JS) execution environment S1 written in js (registered trademark) is provided, and corresponds to the framework C3 for directly transmitting and receiving data to and from the mobile terminals 4 and 5
  • JS Java Script
  • js registered trademark
  • a company S (software) server-side framework S2 is provided.
  • WebSocket is a standard implemented in HTML5 (registered trademark).
  • the server and all the clients that are connected via the web socket share the same data and can send and receive data in real time. Therefore, by using the web socket standard, it is possible to compensate for the disadvantages of Ajax (Asynchronous JavaScript (registered trademark) + XML) and Comet communication, and more efficiently realize bidirectional communication between the server and the client.
  • Ajax Asynchronous JavaScript (registered trademark) + XML)
  • Comet communication it is possible to compensate for the disadvantages of Ajax (Asynchronous JavaScript (registered trademark) + XML) and Comet communication, and more efficiently realize bidirectional communication between the server and the client.
  • the frameworks C3 and S2 are described using, for example, Java Script (registered trademark) as a script language independent of the OS. Therefore, regardless of whether the OS of the mobile terminals 4 and 5 is Android (registered trademark) or iOS (registered trademark), the frameworks C3 and S2 can construct the same connection environment.
  • Java Script registered trademark
  • iOS registered trademark
  • FIG. 3 shows the processing contents related to the specification authentication setting at the beginning of the online game, which are executed between the web server devices 2 and 3 as servers and the mobile terminals 4 and 5 as clients.
  • the web server devices 2 and 3 read one (single) source code that has already been created (step S101). Next, the web server devices 2 and 3 refer to a plurality of specification information prepared for each of a plurality of OSs in advance (step S102), and compile the read source code into a machine language for each specification information. To program (step S103). The web server devices 2 and 3 store the program generated by the compilation at a predetermined position in the own device (step S104).
  • the web server devices 2 and 3 wait for a request to download a program from the mobile terminals 4 and 5 while storing the program created for each spec information as described above (step S105).
  • At least one of the mobile terminals 4, 5, for example, the mobile terminal 4 is connected to the web server device 2 via the network 1.
  • the portable terminal 4 When logging in to the online game site, the portable terminal 4 initially transmits the version information of the game program already installed in its own device to the web server device 2 as spec information (step C101).
  • FIG. 4 is a diagram for explaining the concept of creating a program from a single source code, which is executed by the web server device 2.
  • the web server device 2 refers to the specification information stored in advance in the database (DB) 2 A based on the OS version of the web server device 2.
  • DB database
  • one (single) source code is compiled to generate a machine language program 2B that conforms to the OS version.
  • the web server device 2 stores the program 2B in the database 2A again and distributes it to the mobile terminals 4 and 5 that have requested download.
  • FIG. 5 is a diagram showing a configuration concept of a program installed in the mobile terminals 4 and 5.
  • program A ex.iPsOS4.0
  • an application program group described in various programming languages including HTML5, JavaScript (registered trademark), and CSS is constructed.
  • this mobile terminal Since the mobile terminal in which the program A is installed has a low calculation processing capability, it takes a long time to display a plurality of layer images on the display. For this reason, this mobile terminal employs an image display process in which a lower layer image is intentionally made opaque (not displayed) by, for example, JavaScript (registered trademark) when a plurality of layer images are displayed on the display. Shall.
  • the other portable terminal that has installed the program B has a high calculation processing capacity and a small processing load when displaying a plurality of layer images on the display, For example, it is assumed that image display processing for translucent an image of a lower layer is adopted by JavaScript (registered trademark).
  • FIG. 6 is a diagram exemplifying spec information for each model of each mobile terminal stored in advance in the database 2A (3A) by the web server device 2 (3).
  • OS version information 1 pixel aspect ratio
  • screen DPI Dot Per Inch
  • screen pixel number X screen pixel number Y
  • application compatible Various kinds of information such as presence / absence of audio (voice sound generation processing) are stored in advance.
  • the screen DPI is originally an index indicating the resolution of the screen, but in this embodiment, it is used as an index representing the entire specification information.
  • the index called density DPI is ldpi (low dpi) of 120 (dpi), low resolution, mdpi (medium dpi) of 160 (dpi), medium resolution, hdpi (high dpi) of 240 (dpi).
  • High resolution, xhdpi (extra high dpi) is 320 (dpi), indicating extremely high resolution, indicating not only the resolution of the display of the mobile terminal model but also the standard of the arithmetic processing capability of the entire hardware circuit.
  • FIG. 7 is a diagram illustrating a part of the top side of the version information VI as the specification information transmitted by the mobile terminal 4 in step C101 of FIG.
  • the specification information is described as version information.
  • information relating to other specifications may be used. Good.
  • the version information VI includes display resolution information DR of the portable terminal 4.
  • the display resolution information DR is, for example, “163 [dpi]”
  • a total of the portable terminal 4 such as a CPU used in the portable terminal 4 and a chip used for graphics, a clock frequency thereof, a capacity of a main memory, and the like.
  • the calculation processing speed at the time of executing the game can be easily inferred.
  • the web server device 2 that has received the specification information from the mobile terminal 4 determines in step S105 that a program download request has been made.
  • the web server device 2 extracts the display resolution information DR from the specification information (version information VI) (step S106), and selects a corresponding program from the latest version of the stored program based on the specification.
  • the web server device 2 responds to the request by downloading the selected latest version of the program according to the specifications of the mobile terminal 4, for example, JavaScript (registered trademark). ) To the portable terminal 4 in the format described in () (step S107).
  • the new version of the program described in JavaScript has two parts.
  • One is an instruction unit that instructs which module (part) of an already installed application (old version program) is to be changed, and the other is the module to be changed.
  • the portable terminal 4 downloads the latest version of the program sent from the web server device 2 according to its own specifications (step C102), the portable terminal 4 stores the master data in the program in a database area in the terminal. In accordance with the downloaded program, the old version of the program that has already been installed is rewritten and set for update (step C103).
  • rewriting an old version of the program may be not only the process of rewriting or replacing all of them, but also the process of rewriting or replacing only a part thereof.
  • the old version of the program has a function of accepting an instruction from an instruction unit of the downloaded program described in, for example, Javascript (registered trademark).
  • the old version of the program has a plurality of parts (modules) that can be replaced or rewritten, and the module indicated by the instruction unit included in the downloaded program is replaced or rewritten by the function to accept.
  • the portable terminal 4 transmits the checksum information rewritten at the same time to the web server device 2 again by this update setting (step C104).
  • the web server device 2 receives the checksum information from the portable terminal 4, confirms that the program has been normally rewritten to the latest version, and confirms the confirmation with respect to the portable terminal 4.
  • a response signal is transmitted (step S108).
  • the web server device 2 transmits the response signal, the web server device 1 ends the processing once, and then returns to the processing from step S105 in order to wait for processing for another portable terminal.
  • One mobile terminal 4 transmits the checksum information of the latest version to the web server device 2 in step C104 and then receives the response signal from the web server device 2 to complete the program upgrade. Confirm (step C105).
  • the portable terminal 4 completes a series of login processes to the web server device 2 and shifts to execution of the upgraded game.
  • FIG. 8 illustrates one scene displayed on the display of the mobile terminal 4 in the battle game. A description will be given of an example in which a technique that a game character has played during an attack turn is displayed with a visual effect while the game is in progress.
  • FIG. 9A shows a display example when the spec information of the portable terminal 4, that is, the display resolution information DR in the version information VI is lower than a threshold value set in advance on the web server device 2 side. That is, an example is shown in which a state in which a game character has advanced a technique is displayed with a visual effect according to a game program used when it is determined that the graphics display performance is low.
  • FIG. 9B shows a display example when the spec information of the portable terminal 4, that is, the display resolution information DR in the version information VI is higher than a threshold value set in advance on the web server device 2 side. That is, an example is shown in which a state in which a game character takes out a technique according to a game program used when it is determined that the graphics display performance is high is displayed with a visual effect.
  • the visual effect of the technique shown in FIG. 8 is superimposed in a semi-transparent state so that the game progress screen (lower layer image) shown in FIG. An example displayed on the screen is shown.
  • the time related to the display of the required image can be averaged regardless of the model of the mobile terminals 4 and 5, and the online game Simultaneity can be secured.
  • the web server device 2 In the first embodiment, a case has been described in which the web server device 2 previously stores a plurality of programs corresponding to specifications from the source code, but the present invention is not limited to this.
  • the web server device 2 every time the web server device 2 acquires spec information from the client side, the web server device 2 generates a program from the source code based on the spec information, and distributes the generated program.
  • the second embodiment will be described below with reference to the drawings.
  • the environment in which the online game system according to the second embodiment of the present invention is used is substantially the same as the environment shown in FIG. 1, and the concept of the connection architecture between the server and the client is shown in FIG. It is almost the same as the concept shown. Accordingly, in the second embodiment, the same parts as those used in the description of the first embodiment will be described using the same reference numerals, and the illustration and detailed description thereof will be omitted.
  • FIG. 10 shows the processing contents related to the specification authentication setting at the start of the online game, which are executed between the web server devices 2 and 3 as servers and the mobile terminals 4 and 5 as clients.
  • the web server devices 2 and 3 are waiting for a request for downloading the program together with the specification information from the mobile terminals 4 and 5 via the network 1 (step S201).
  • At least one of the mobile terminals 4, 5, for example, the mobile terminal 4 is connected to the web server device 2 via the network 1.
  • the mobile terminal 4 logs in to the online game site, the mobile terminal 4 transmits the version information of the game program that is already installed in the own device to the web server device 2 as spec information (step C201).
  • the web server device 2 When the web server device 2 receives the specification information from the mobile terminal 4, it determines in step S201 that a program download request has been made. The web server device 2 extracts display resolution information from the specification information (version information) (step S202).
  • the web server device 2 reads one (single) source code that has already been created (step S203).
  • the web server device 2 refers to a plurality of specification information prepared for each of a plurality of OSs in advance (step S204), and converts the source code into the machine language corresponding to the specification information received in the step S201. Is compiled into a program (step S205).
  • the web server device 2 stores the program generated by the compilation in the database 2A in the device itself (steps S206 and S207), and then transmits the program to the portable terminal 4 that has requested download (step S208).
  • the portable terminal 4 downloads the latest version of the program sent from the web server device 2 according to its own specifications (step C202), it stores the master data in the program in a database area in the terminal. Then, the old version of the program that has already been installed is rewritten and set according to the downloaded program (step C203).
  • the portable terminal 4 transmits the checksum information rewritten at the same time to the web server device 2 again by this update setting (step C204).
  • the web server device 2 receives the checksum information from the portable terminal 4, confirms that the program has been normally rewritten to the latest version, and confirms the confirmation with respect to the portable terminal 4.
  • a response signal is transmitted (step S209).
  • the web server device 2 transmits the response signal, the web server device 2 once ends the process, and then returns to the process from step S201 in order to wait for the same process for another portable terminal.
  • One mobile terminal 4 transmits the checksum information of the latest version to the web server device 2 in step C204 and then receives a response signal from the web server device 2 to complete the program upgrade. Confirm (step C205).
  • the portable terminal 4 completes a series of login processes to the web server device 2 and shifts to execution of the upgraded game.
  • FIG. 11 is a diagram showing the configuration concept of the programs installed in the mobile terminals 4 and 5, respectively.
  • the portable terminal 4 employs a program A (ex.iPsOS4.0) as an OS, and constructs application program groups described in various programming languages including HTML5, JavaScript (registered trademark), and CSS.
  • the portable terminal 5 employs a program B (ex.iPsOS4.3) whose version is higher than the program A as an OS, and, like the portable terminal 5, includes various types including HTML5, JavaScript (registered trademark), and CSS. A group of application programs written in a programming language is constructed.
  • the portable terminal 4 Since the mobile terminal 4 in which the program A is installed has low calculation processing capability, it takes a long time to display a plurality of layer images on the display. For this reason, the portable terminal 4 adopts an image display process that dares to make an image of a lower layer opaque by using, for example, JavaScript (registered trademark).
  • the other portable terminal 5 that has installed the program B has a high calculation processing capacity and a small processing load when displaying a plurality of layer images on the display.
  • an image display process for translucent an image of a lower layer is adopted by JavaScript (registered trademark).
  • FIG. 12 is a diagram exemplifying spec information for each model of each mobile terminal stored in advance in the database 2A (3A) by the web server device 2 (3).
  • OS version information 1 pixel aspect ratio
  • screen DPI Dot Per Inch
  • screen pixel number X screen pixel number Y
  • application compatible Various kinds of information such as presence / absence of audio (voice sound generation processing) are stored in advance.
  • the screen DPI is originally an index indicating the resolution of the screen, but in this embodiment, it is used as an index representing the entire specification information.
  • the burden on the side that provides the application program is reduced, and unfairness is caused by the difference in specifications between terminals in the application program that performs online battle communication. It is possible to reliably prevent the occurrence of.
  • the spec resolution of the model of the client machine is determined using the display resolution information DR in the version information VI as the spec information.
  • the reference for determining an application according to the specification is clear, and the web server device 2 (3) Processing can be simplified.
  • 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

 本発明の目的は、アプリケーション提供側の負担を軽減し、且つオンラインで対戦通信を行なうようなアプリでの端末間のスペックの相違による不公平な環境の発生を防止することである。 本発明のウェブサーバ装置により実行されるプログラム配信方法は、クライアント機から配信要求と共に上記クライアント機のスペック情報を受信するスペック情報受信工程と、アプリケーションプログラムを生成するための1つのソースコードをもとに、上記スペック情報に応じたアプリケーションプログラムを生成する生成工程と、上記生成工程で生成したアプリケーションプログラムを上記クライアント機に配信する配信工程とを有する。

Description

ウェブサーバ装置及びプログラム配信方法
 本発明は、複数種類の携帯端末に対してアプリケーションプログラム等を配信するウェブサーバ装置及びプログラム配信方法に関する。
 従来からソーシャルゲーム市場は急激に成長している。ソーシャルゲームとは、SNS(Social Networking Service)のウェブブラウザ上で動作するAPI(Application Program Interface)と動作環境(アプリケーション・プラットフォーム)とが提供され、これらを基盤として制作されたゲームソフトウェアである。このソーシャルゲームを含む各種アプリケーションソフトを、一般にソーシャルアプリケーション(Social Appliction)と総称している。
 特に、ソーシャルアプリケーションは、専用のクライアントソフトウェアを必要とせず、ウェブブラウザとSNSのアカウントのみで利用可能で、SNSが本来持つコミュニケーション機能を組み合わせたことが最大の特徴である。
 ここでソーシャルアプリケーションは、スマートフォンのiPhone(登録商標)端末専用のアプリケーションソフトやAndroid(登録商標)端末専用のアプリケーションソフトなどの端末のOSに依存した「ネイティブアプリケーション」と呼称されるものと、ウェブブラウザ上で動作可能な「ウェブアプリケーション」と呼称されるものとに大別できる。
 上記「ネイティブアプリケーション」は、使用する端末専用に特化されているためにパフォーマンス面で有利で、かつ、マーケットプレイスという課金処理のための枠組みも、かなり整えられている。
 しかし、上記iPhone(登録商標)が採用するOSである「iOS」で動作するアプリケーションソフトが、プログラミング言語「Objective-C」で開発される一方で、上記Android(登録商標)で動作するアプリケーションソフトはプログラミング言語「Java(登録商標)」で開発されている。
 そのため、上記「ネイティブアプリケーション」を開発するためには、端末のプラットフォーム特有の言語を使ったコーディング処理を介した後に、公式のマーケットプレイスを通す必要がある。
 一方、上記「Webアプリケーション」は、両プラットフォームに向けてHTML5(Hyper Text Markup Language 5)、JavaScript(登録商標)、CSS3(Cascading Style Sheets 3)等の言語をベースにしたクロス開発が可能であり、公開に当たって公式のマーケットプレイスを通す必要がない。
 上記「ネイティブアプリケーション」は、マーケットプレイスから端末に対してダウンロードし、インストールして利用するタイプのアプリケーションである。端末の機能や処理性能を余さず利用することが可能である反面、機能や動作が端末に依存しており、端末によっては正常に動作しない場合がある。
 一方、「ウェブアプリケーション」は、ウェブサーバ上で動作し、ウェブブラウザを用いて利用するアプリケーションである。「ウェブアプリケーション」は、ウェブブラウザをクライアントとし、HTTP(Hyper Text Transfer Protocol)を通じてウェブサーバにアクセスして利用される。
 「ウェブアプリケーション」は、利用者側にとっては、ウェブページを閲覧する感覚でアプリケーションが利用できる、アプリケーションソフトをローカル環境にインストールしなくてもウェブブラウザがあればアプリケーションの機能を利用できる、というメリットがある。他方、「ウェブアプリケーション」では、ウェブブラウザの種類やバージョンによっては、「ウェブアプリケーション」が提供する機能を充分にサポートしていない場合もあり得る。
 特に「ウェブアプリケーション」において、Flash(登録商標)やAjax(AsynchronousJavaScript+XML)、Silverlight(登録商標)、RoR(Ruby on Rails)といった技術を利用して高機能、かつ、ダイナミックな機能を実現するものは、リッチインターネットアプリケーション(RIA)と呼ばれている。
 近年では、Google(登録商標)のChromeOS(オペレーティングシステム)をウェブアプリケーション化する試みも進んでいる。
 さらに、ソフトウェア開発者は、特定のソフトウェアパッケージやソフトウェアフレームワーク、ハードウェアプラットホーム、コンピュータシステム、ゲーム機、またはOSなどのためのアプリケーションプログラムを作成する際に、ソフトウェア開発キット(Software Development Kit)(以下「SDK」と称する)と呼ばれる開発ツールのセットを使用する。
 このSDKは、情報機器やOSなどのメーカが、自社製品向けのソフトウェアの開発を促すべく用意するツールキットであり、開発者向けに無料で配布されることが多い。(例えば、非特許文献1)
"http://microsoft.com/en-us/download/details.aspx?id=8442"(平成24年 6月 7日確認)
 そして、ウェブサーバ装置からネットワークを介してスマートフォンなどの携帯端末に配信する各種アプリケーションプログラム、すなわち上記「ネイティブアプリケーション」は、送信先の携帯端末のスペック、例えばOSのバージョンやディスプレイのサイズ、解像度などのスペックに合わせる必要がある。
 通常、1つのソースコードを変換して1つのアプリケーションプログラムを生成する。このため、複数のスペック毎のアプリケーションプログラムを提供するために、当然ながらスペックの数に応じた複数のソースコードを用意しなければならず、プログラムを提供する側の負担が大きくなる。
 加えて、特に対戦型のオンラインゲーム等では、端末側のスペックの相違により、例えば戦闘中のエフェクト画面の表示に要する時間も異なることがあり、それがためにゲーム進行上でスペックの相違に基づいた有利/不利が生じる、という不具合があった。
 本発明の目的は、アプリケーションプログラムを提供する側の負担を軽減すると共に、オンラインで対戦通信を行なうようなアプリケーションプログラムで端末間のスペックの相違による不公平が発生するのを防止することが可能なウェブサーバ装置及びプログラム配信方法を提供することにある。
 本発明の一態様は、ウェブサーバ装置により実行されるプログラム配信方法であって、クライアント機から配信要求と共に上記クライアント機のスペック情報を受信するスペック情報受信工程と、アプリケーションプログラムを生成するための1つのソースコードをもとに、上記スペック情報に応じたアプリケーションプログラムを生成する生成工程と、上記生成工程で生成したアプリケーションプログラムを上記クライアント機に配信する配信工程とを有したことを特徴とする。
 本発明によれば、アプリケーションプログラムを提供する側の負担を軽減すると共に、オンラインで対戦通信を行なうようなアプリケーションプログラムで端末間のスペックの相違による適不適が発生するのを防止することが可能となる。
図1は、本発明の第1の実施形態に係るオンラインゲームシステムが使用される環境を説明する図である。 図2は、第1の実施形態に係るサーバとクライアント間の接続アーキテクチャの概念を示す図である。 図3は、第1の実施形態に係るサーバとクライアントでのログイン時の処理内容を示すフローチャートである。 図4は、第1の実施形態に係るシングルソースコードからプログラムを作成する概念を説明する図である。 図5は、第1の実施形態に係る端末デバイス毎のプログラムの概念を示す図である。 図6は、第1の実施形態に係るウェブサーバ装置が備えるデータベース(DB)の構成を示す図である。 図7は、第1の実施形態に係るスペック情報としてのバージョン情報の先頭側の一部を例示する図である。 図8は、第1の実施形態に係るゲームプログラム上でのスペック情報に基づく処理の相違を表示画面の具体例を用いて説明する図である。 図9Aは、第1の実施形態に係るゲームプログラム上でのスペック情報に基づく処理の相違を表示画面の具体例を用いて説明する図である。 図9Bは、第1の実施形態に係るゲームプログラム上でのスペック情報に基づく処理の相違を表示画面の具体例を用いて説明する図である。 図10は、本発明の第2の実施形態に係るサーバとクライアントでのログイン時の処理内容を示すフローチャートである。 図11は、第2の実施形態に係る端末デバイス毎のプログラムの概念を示す図である。 図12は、第2の実施形態に係るウェブサーバ装置が備えるデータベース(DB)の構成を示す図である。
 以下、本発明をオンラインゲームシステムに適用した場合の実施形態について図面を参照して説明する。 
(第1の実施形態) 
 図1は、本発明の第1の実施形態に係るオンラインゲームシステムが使用される環境の一例を説明する図である。図1に示すように、インターネットなどのネットワーク1に対して、ウェブサーバ装置2,3が接続されると共に、本システムでユーザが使用するクライアント装置となる携帯端末4,5が、アクセスポイント(AP)6あるいは基地局7を介して接続される。
 ウェブサーバ装置2,3は、本実施形態に係るオンラインゲームシステムを実現するためのコンピュータであり、オンラインゲームのサービスを提供するべくネットワーク1に対して並列に設置される。
 一方、クライアント側の携帯端末4,5は、スマートフォン、フィーチャー・フォン(feature phone)などを含み、例えば、Android(登録商標)、iOS(登録商標)などのOS上で動作する携帯電話であっても良いし、さらにはノートブック型のパーソナルコンピュータ、モバイルコンピュータ、タブレット型コンピュータなどであってもよい。携帯端末4,5は、予めオンラインゲームのためのゲームプログラムがインストールされる。
 携帯端末4,5は、機種固有のハードウェア構成、採用するOS、インストールされるアプリケーション等について、多くの種類の中から何れかを採用している。ウェブサーバ装置2,3は、携帯端末4,5に採用されたハードウェア構成、OS、アプリケーション等に対応するネイティブアプリケーションを配信可能である。
 上記ウェブサーバ装置2,3と携帯端末4,5それぞれの電子回路のハードウェア構成自体は、きわめて一般的で周知であるものとして、その記載及び説明を省略する。
 図2は、本実施形態に係るサーバとクライアント間の接続アーキテクチャの概念を示す図である。図2に示すように、A社が提供するオンラインのゲームプログラムまたはアプリケーションプログラムを実行するに当たり、携帯端末4,5には、例えばAIR(登録商標)などで記述された、当該ゲームまたはアプリプログラムのためのアプリケーション実行環境C1が実装されると共に、当該A社のデータベースに接続して課金処理等を行なうためのA社データベース接続キットC2が組込まれる。
 これと共に、携帯端末4,5には、ウェブサーバ装置2,3との通信を行なうために、A社が開発した(ソフトウェア)クライアントサイドのフレームワークC3がインストールされる。
 一方のA社が運営するウェブサーバ装置2,3では、オンラインゲーム及びアプリケーションを実行するための、例えばNode.js(登録商標)で記述されたサーバ側ジャバ・スクリプト(登録商標)(JS)実行環境S1が設けられると共に、直接、携帯端末4,5とデータを送受信するために、上記フレームワークC3と対応するA社(ソフトウェア)サーバサイドのフレームワークS2が設けられる。
 携帯端末4,5のフレームワークC3と、ウェブサーバ装置2,3のフレームワークS2との間では、ウェブソケット(WebSokect)を基盤としてゲームのイベント情報等が送受される。ウェブソケット(WebSokect)は、HTML5(登録商標)で実装された規格である。
 このウェブソケットでは、サーバとクライアントとの間で一度でも接続が確立すると、明示的に切断しない限り、通信手順を意識することなくソケット通信によりデータを送受信することができる。
 また、ウェブソケットで接続が確立しているサーバとすべてのクライアントは、同じデータを共有し、リアルタイムでデータを送受信できる。 
 よって、上記ウェブソケットの規格を利用することで、Ajax(Asynchronous JavaScript(登録商標)+XML)やCometの通信におけるデメリット部分を補い、より効率的にサーバとクライアント間の双方向通信が実現できる。
 上記フレームワークC3,S2は、OSに依存しないスクリプト言語として、例えばジャバ・スクリプト(登録商標)を用いて記述されている。そのため、携帯端末4,5のOSがAndroid(登録商標)及びiOS(登録商標)などのいずれであっても、フレームワークC3,S2は、同一接続環境を構築できる。
 次に、第1の実施形態の動作について説明する。 
 図3は、サーバであるウェブサーバ装置2,3と、クライアントである携帯端末4,5との間で実行される、オンラインゲーム開始当初のスペック認証設定に関する処理内容を示す。
 ウェブサーバ装置2,3は、既に作成されている1つ(シングル)のソースコードを読込む(ステップS101)。次に、ウェブサーバ装置2,3は、予め複数のOS毎に用意された、それぞれ複数のスペック情報を参照し(ステップS102)、読込んだソースコードを、上記スペック情報毎に機械語にコンパイルしてプログラム化する(ステップS103)。ウェブサーバ装置2,3は、コンパイルにより生成されたプログラムを、自装置内の所定位置に格納する(ステップS104)。
 ウェブサーバ装置2,3は、上記のようにしてスペック情報毎に作成したプログラムを格納した状態で、携帯端末4,5からプログラムのダウンロードの要求がなされるのを待機する(ステップS105)。
 携帯端末4,5の少なくとも一方、例えば携帯端末4は、ネットワーク1を介してウェブサーバ装置2に接続する。携帯端末4は、オンラインゲームのサイトにログインした場合、当初に、自機に既にインストールされているゲームプログラムのバージョン情報をスペック情報としてウェブサーバ装置2へ送信する(ステップC101)。
 図4は、ウェブサーバ装置2で実行される、シングルソースコードからプログラムを作成する概念を説明する図である。携帯端末4,5からネイティブアプリケーションのダウンロードが要求されると、ウェブサーバ装置2は、ウェブサーバ装置2のOSのバージョンに基づき、データベース(DB)2Aに予め格納してあるスペック情報を参照することで、1つ(シングル)のソースコードをコンパイルし、OSのバージョンに適合した機械語によるプログラム2Bを生成する。ウェブサーバ装置2は、プログラム2Bを、再度データベース2Aに格納し、ダウンロードを要求してきた当該携帯端末4,5に対して配信する。
 図5は、携帯端末4,5にインストールされているプログラムの構成概念を示す図である。OSとしてプログラムA(ex.iPsOS4.0)を採用する機種では、HTML5やJavaScript(登録商標)、CSSを含む各種プログラミング言語で記述されたアプリケーションプログラム群を構築しているものとする。
 一方で、OSとして、上記プログラムAよりもバージョンが上位であるプログラムB(ex.iPsOS4.3)を採用する機種では、同様にHTML5やJavaScript(登録商標)、CSSを含む各種プログラミング言語で記述されたアプリケーションプログラム群を構築しているものとする。
 プログラムAをインストールしている携帯端末は、演算処理能力が低いために、複数のレイヤー画像を重ねてディスプレイに表示させる処理に長い時間を要する。このため、この携帯端末は、複数のレイヤー画像を重ねてディスプレイに表示させる場合に、例えばJavaScript(登録商標)によって、より低いレイヤーの画像をあえて不透明(表示しない)とする画像表示処理を採用するものとする。
 一方で、同一のアプリケーションプログラムを実行するにあたって、プログラムBをインストールしている他方の携帯端末は、複数のレイヤー画像を重ねてディスプレイに表示させる際、演算処理能力が高く、処理負荷が小さいため、例えばJavaScript(登録商標)によって、より低いレイヤーの画像を半透明化する画像表示処理を採用するものとする。
 図6は、ウェブサーバ装置2(3)がデータベース2A(3A)に予め格納する、各携帯端末の機種毎のスペック情報を例示する図である。ここでは機種名「デバイスx.x.x」毎にOSのバージョン情報、1画素のアスペクト比、スクリーンDPI(Dot Per Inch)、スクリーン画素数X、スクリーン画素数Y、及び、(アプリケーション対応の)オーディオ(音声発音処理)の有無、等の各種情報が予め格納されている。
 スクリーンDPIは、本来は画面の解像度を示す指標であるが、本実施形態ではスペック情報全体を代表する指標として用いるものとする。
 因みに、デンシティDPIと呼称される指標は、ldpi(low dpi)が120(dpi)で低解像度、mdpi(medium dpi)が160(dpi)で中解像度、hdpi(high dpi)が240(dpi)で高解像度、xhdpi(extra high dpi)が320(dpi)で極高解像度を示し、携帯端末の機種のディスプレイの解像度のみならず、ハードウェア回路全体の演算処理能力の基準を示す。
 図7は、図3のステップC101で携帯端末4が送信する、スペック情報としてのバージョン情報VIの先頭側の一部を例示する図である。なお、本実施形態では、スペック情報をバージョン情報として説明しているが、その他のスペックに関する情報(携帯端末のデバイス情報、OSバージョン情報、スクリーン比率、音声発音処理の有無、等)であってもよい。
 図示する如く、バージョン情報VI中には、携帯端末4のディスプレイ解像度情報DRを含んでいる。このディスプレイ解像度情報DRが、例えば「163[dpi]」であることにより、携帯端末4側のCPUやグラフィックに用いているチップとそれらのクロック周波数、メインメモリの容量など、トータルでの携帯端末4としてのゲーム実行時の演算処理速度が容易に類推可能となる。
 そして、携帯端末4からのスペック情報を受けたウェブサーバ装置2は、ステップS105でプログラムのダウンロードの要求がなされたことを判断する。ウェブサーバ装置2は、スペック情報(バージョン情報VI)からディスプレイ解像度情報DRを抽出し(ステップS106)、そのスペックに基づき、格納している最新バージョンのプログラム中から対応するプログラムを選択する。
 次いでウェブサーバ装置2は、携帯端末4から最新バージョンのプログラムのダウンロードが要求されると、これに応答するべく、携帯端末4のスペックに応じた、選択した最新バージョンのプログラムを例えばJavaScript(登録商標)で記述した形式で携帯端末4に対して送信する(ステップS107)。
 ここで、例えばJavaScript(登録商標)で記述された上記新バージョンのプログラムは、2つの部分からなっている。1つは、すでにインストールしているアプリケーション(古いバーションのプログラム)のどのモジュール(部分)を変更するかを指示する指示部であり、もう1つは、上記変更するモジュールそのものである。
 携帯端末4は、ウェブサーバ装置2から送られてきた、自機のスペックに応じた最新バージョンのプログラムをダウンロードすると(ステップC102)、当該プログラム中のマスタデータを端末内のデータベース領域に保存すると共に、このダウンロードしたプログラムにしたがって既にインストールしていた古いバージョンのプログラムを書き換えて更新設定する(ステップC103)。
 なお、ここで、古いバージョンのプログラムを書き換えるとは、その全てを書き換えるか、または入れ替える処理だけではなく、その一部分のみを書き換えるか、または入れ替える処理でもよい。
 その場合、古いバージョンのプログラムには、上記ダウンロードした、例えばJavascript(登録商標)で記述されたプログラムの指示部での指示を受け入れる機能を備えている。古いバージョンのプログラムは、入れ替えや書き換え可能な単位の複数の部分(モジュール)を有しており、受け入れる機能によって、ダウンロードしたプログラムに含まれる上記指示部が示すモジュールを入れ替え、あるいは書き換える。
 このようにすることで、古いバージョンのプログラムに該当する、最初にインストールするアプリケーションを複数のスペック毎に予め準備することなく、部分的にスペックに合わせたプログラムを用いて調整することができる。
 携帯端末4は、この更新設定により、同時に書き換えたチェックサムの情報を再度ウェブサーバ装置2に対して送信する(ステップC104)。
 これに対してウェブサーバ装置2は、携帯端末4からのチェックサムの情報を受けて、プログラムが正常に最新のバージョンのものに書き換えられたことを確認し、確認作業として携帯端末4に対して応答信号を送信する(ステップS108)。ウェブサーバ装置2は、応答信号を送信すると一旦処理を終了し、次に他の携帯端末に対しての処理を待機するために、ステップS105からの処理に戻る。
 一方の携帯端末4は、ステップC104で最新バージョンでのチェックサムの情報をウェブサーバ装置2に対して送信した後、その応答信号をウェブサーバ装置2から受信することでプログラムのバージョンアップの完了を確認する(ステップC105)。携帯端末4は、ウェブサーバ装置2への一連のログイン処理を完了し、バージョンアップされたゲームの実行に移行する。
 以下、ゲームプログラム上でのスペック情報に基づく処理の相違について具体例を用いて説明する。 
 図8は、対戦ゲームで携帯端末4のディスプレイに表示される一シーンを例示している。このようなゲームの進行中、あるゲームキャラクタが攻撃のターン中に繰出した技を、視覚効果を交えて表示する場合を例にして説明する。
 図9Aは、携帯端末4のスペック情報、すなわちバージョン情報VI中のディスプレイ解像度情報DRが、予めウェブサーバ装置2側で設定されたしきい値より低い場合の表示例を示す。すなわち、グラフィックス表示性能が低いと判断された場合に使用されるゲームプログラムに従って、ゲームキャラクタが技を繰り出した時の様子を、視覚効果を交えて表示した例を示す。
 ここでは、それまで表示していた、図8に示したゲーム進行上の画面(下層レイヤーの画像)を一切表示することなく(不透明処理)、技の視覚効果のみを画面に表示している例を示す。
 これに対して、図9Bは、携帯端末4のスペック情報、すなわちバージョン情報VI中のディスプレイ解像度情報DRが、予めウェブサーバ装置2側で設定されたしきい値より高い場合の表示例を示す。すなわち、グラフィックス表示性能が高いと判断された場合に使用されるゲームプログラムに従って、ゲームキャラクタが技を繰り出した時の様子を、視覚効果を交えて表示した例を示す。
 ここでは、それまで表示していた、図8に示したゲーム進行上の画面(下層レイヤーの画像)が見えるように、図8で示した技の視覚効果を半透明化した状態で重ね合わせて画面に表示している例を示す。
 このように、携帯端末4のスペックに応じて表示させる画像の内容を変更させることで、必要な画像の表示に関する時間を携帯端末4,5の機種に拘わらず平均化させることができ、オンラインゲームにおける同時性を確保できる。
 したがって、対戦ゲームによっては、あるターンで技を出した後に直ぐ次のターンへの準備に移行できるために、スペックが高い機種の方が有利になる場合や、あるいは反対に、あるターンで技を受けている途中であればヒットポイントの回復を準備できるために、スペックが低い機種の方が有利になる場合など、スペックの相違によりゲーム進行上の有利/不利が生じてしまうような事態の発生をできうる限り回避し、公平性を確保できる。
(第2の実施形態) 
 第1の実施形態では、ウェブサーバ装置2で、予めソースコードからスペックに応じた複数のプログラムを作成した上で格納しておく場合について説明したが、本発明はこれに限らない。第2の実施形態では、ウェブサーバ装置2は、クライアント側からスペック情報を取得する毎に、スペック情報に基づいてソースコードからプログラムを生成し、生成したプログラムを配信する。
 以下、第2の実施形態について図面を参照して説明する。 
 なお、本発明の第2の実施形態に係る、オンラインゲームシステムが使用される環境は、図1に示す環境とほぼ同様であり、また、サーバとクライアント間の接続アーキテクチャの概念は、図2に示す概念とほぼ同様である。従って、第2の実施形態は、第1の実施形態の説明に用いた部分と同一部分には同一符号を用いて説明し、その図示と詳細な説明とを省略する。
 次に、第2の実施形態の動作について説明する。 
 図10は、サーバであるウェブサーバ装置2,3と、クライアントである携帯端末4,5との間で実行される、オンラインゲーム開始当初のスペック認証設定に関する処理内容を示す。
 ウェブサーバ装置2,3は、ネットワーク1を介して携帯端末4,5から、スペック情報と共に当該プログラムのダウンロードの要求がなされるのを待機している(ステップS201)。
 携帯端末4,5の少なくとも一方、例えば携帯端末4は、ネットワーク1を介してウェブサーバ装置2に接続する。携帯端末4は、オンラインゲームのサイトにログインした場合、当初に自機に既にインストールされているゲームプログラムのバージョン情報をスペック情報としてウェブサーバ装置2へ送信する(ステップC201)。
 ウェブサーバ装置2は、携帯端末4からスペック情報を受信すると、ステップS201でプログラムのダウンロードの要求がなされたことを判断する。ウェブサーバ装置2は、スペック情報(バージョン情報)からディスプレイ解像度の情報を抽出する(ステップS202)。
 次いでウェブサーバ装置2は、既に作成されている1つ(シングル)のソースコードを読込む(ステップS203)。次に、ウェブサーバ装置2は、予め複数のOS毎に用意された、それぞれ複数のスペック情報を参照し(ステップS204)、上記ステップS201で受信したスペック情報に対応して上記ソースコードを機械語にコンパイルしてプログラム化する(ステップS205)。ウェブサーバ装置2は、コンパイルにより生成されたプログラムを、自装置内のデータベース2Aに格納した後(ステップS206、S207)、ダウンロードを要求してきた携帯端末4に対して送信する(ステップS208)。
 携帯端末4は、ウェブサーバ装置2から送られてきた、自機のスペックに応じた最新バージョンのプログラムをダウンロードすると(ステップC202)、当該プログラム中のマスタデータを端末内のデータベース領域に保存すると共に、このダウンロードしたプログラムにしたがって既にインストールしていた古いバージョンのプログラムを書き換えて更新設定する(ステップC203)。
 携帯端末4は、この更新設定により、同時に書き換えたチェックサムの情報を再度ウェブサーバ装置2に対して送信する(ステップC204)。
 これに対してウェブサーバ装置2は、携帯端末4からのチェックサムの情報を受けて、プログラムが正常に最新のバージョンのものに書き換えられたことを確認し、確認作業として携帯端末4に対して応答信号を送信する(ステップS209)。ウェブサーバ装置2は、応答信号を送信すると一旦処理を終了し、次に他の携帯端末に対して同様の処理を待機するために、ステップS201からの処理に戻る。
 一方の携帯端末4は、ステップC204で最新バージョンでのチェックサムの情報をウェブサーバ装置2に対して送信した後、その応答信号をウェブサーバ装置2から受信することでプログラムのバージョンアップの完了を確認する(ステップC205)。携帯端末4は、ウェブサーバ装置2への一連のログイン処理を完了し、バージョンアップされたゲームの実行に移行する。
 図11は、携帯端末4,5にそれぞれインストールされたプログラムの構成概念を示す図である。ここでは、携帯端末4は、OSとしてプログラムA(ex.iPsOS4.0)を採用し、HTML5やJavaScript(登録商標)、CSSを含む各種プログラミング言語で記述されたアプリケーションプログラム群を構築している。
 一方、携帯端末5は、OSとしてプログラムAよりもバージョンが上位であるプログラムB(ex.iPsOS4.3)を採用し、携帯端末5と同様に、HTML5やJavaScript(登録商標)、CSSを含む各種プログラミング言語で記述されたアプリケーションプログラム群を構築している。
 プログラムAをインストールしている携帯端末4は、演算処理能力が低いために、複数のレイヤー画像を重ねてディスプレイに表示させる処理に長い時間を要する。このため、携帯端末4は、例えばJavaScript(登録商標)によって、より低いレイヤーの画像をあえて不透明とする画像表示処理を採用するものとする。
 一方で、同一のアプリケーションプログラムを実行するにあたって、プログラムBをインストールしている他方の携帯端末5は、複数のレイヤー画像を重ねてディスプレイに表示させる際、演算処理能力が高く、処理負荷が小さいため、例えばJavaScript(登録商標)によって、より低いレイヤーの画像を半透明化する画像表示処理を採用するものとする。
 図12は、ウェブサーバ装置2(3)がデータベース2A(3A)に予め格納する、各携帯端末の機種毎のスペック情報を例示する図である。ここでは機種名「デバイスx.x.x」毎にOSのバージョン情報、1画素のアスペクト比、スクリーンDPI(Dot Per Inch)、スクリーン画素数X、スクリーン画素数Y、及び、(アプリケーション対応の)オーディオ(音声発音処理)の有無、等の各種情報が予め格納されている。
 スクリーンDPIは、本来は画面の解像度を示す指標であるが、本実施形態ではスペック情報全体を代表する指標として用いるものとする。
 以上詳述した如く第1及び第2の実施形態によれば、アプリケーションプログラムを提供する側の負担を軽減すると共に、オンラインで対戦通信を行なうようなアプリケーションプログラムで端末間のスペックの相違による不公平が発生するのを確実に防止することが可能となる。
 また、実施形態では、スペック情報として、バージョン情報VI中のディスプレイ解像度情報DRを用いて、クライアント機の機種のスペックの高低を判断するものとしている。すなわち、ゲームプログラムの処理時間の相違が露呈し易いグラフィックス演算に関する部分を基準とすることにより、スペックに応じたアプリケーションを判断するための基準が明解であり、ウェブサーバ装置2(3)での処理を簡易化できる。
 なお、第1及び第2の実施形態はいずれも、対戦型のオンラインゲームのプログラムに適用した場合の例について説明したが、本発明は配信するアプリケーションプログラムの種類等を限定するものではなく、他の各種アプリケーションプログラムにも同様に適用可能である。
 その他、本発明は上述した実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上述した実施形態で実行される機能は可能な限り適宜組み合わせて実施しても良い。上述した実施形態には種々の段階が含まれており、開示される複数の構成要件による適宜の組み合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、効果が得られるのであれば、この構成要件が削除された構成が発明として抽出され得る。
 1…ネットワーク、2,3…ウェブサーバ装置、4,5…携帯端末、6…アクセスポイント(AP)、7…基地局、DR…ディスプレイ解像度情報、VI…バージョン情報。

Claims (7)

  1.  ウェブサーバ装置により実行されるプログラム配信方法であって、
     クライアント機から配信要求と共に上記クライアント機のスペック情報を受信するスペック情報受信工程と、
     アプリケーションプログラムを生成するための1つのソースコードをもとに、上記スペック情報に応じたアプリケーションプログラムを生成する生成工程と、
     上記生成工程で生成したアプリケーションプログラムを上記クライアント機に配信する配信工程と
    を有するプログラム配信方法。
  2.  上記クライアント機にインストールされたプログラムの変更する部分を指示する情報を、上記アプリケーションプログラムと共に配信する請求項1記載のプログラム配信方法。
  3.  上記スペック情報は、上記クライアント機のディスプレイ解像度の情報を含む請求項1記載のプログラム配信方法。
  4.  上記ディスプレイ解像度が予め設定されたしきい値より低い場合に、複数のレイヤー画像のうち特定のレイヤー画像を表示しないアプリケーションプログラムを生成し、
     上記ディスプレイ解像度が上記しきい値より高い場合に、上記特定のレイヤー画像を表示するアプリケーションプログラムを生成する請求項3記載のプログラム配信方法。
  5.  上記スペック情報が予め設定されたしきい値より低い場合に、上記クライアント機の処理の負荷が軽い第1のアプリケーションプログラムを生成し、
     上記スペック情報が上記しきい値より高い場合に、前記第1のアプリケーションプログラムより上記クライアント機の処理の負荷が重い第2のアプリケーションプログラムを生成する請求項1記載のプログラム配信方法。
  6.  アプリケーションプログラムを生成するための1つのソースコードを格納する格納ユニットと、
     クライアント機から配信要求と共に上記クライアント機のスペック情報を取得するスペック取得ユニットと、
     上記ソースコードを、上記スペック情報に応じたアプリケーションプログラムに変換する変換ユニットと、
     上記アプリケーションプログラムを上記クライアント機に配信する配信ユニットと
    を具備するウェブサーバ装置。
  7.  上記スペック情報は、上記クライアント機のディスプレイ解像度の情報を含む請求項6記載のウェブサーバ装置。
PCT/JP2013/078990 2012-10-26 2013-10-25 ウェブサーバ装置及びプログラム配信方法 WO2014065405A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012237191A JP5698205B2 (ja) 2012-10-26 2012-10-26 プログラム及びプログラム配信方法
JP2012-237191 2012-10-26

Publications (1)

Publication Number Publication Date
WO2014065405A1 true WO2014065405A1 (ja) 2014-05-01

Family

ID=50544776

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/078990 WO2014065405A1 (ja) 2012-10-26 2013-10-25 ウェブサーバ装置及びプログラム配信方法

Country Status (2)

Country Link
JP (1) JP5698205B2 (ja)
WO (1) WO2014065405A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6602616B2 (ja) * 2015-09-11 2019-11-06 株式会社バンダイナムコエンターテインメント ゲームシステム
JP2023049982A (ja) * 2021-09-29 2023-04-10 株式会社バンダイナムコエンターテインメント サーバシステム、プログラム、プレーヤ端末、及び提供方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07225724A (ja) * 1994-02-08 1995-08-22 Fujitsu Ltd ソフトウェア遠隔自動更新システムおよび方法
JP2004362090A (ja) * 2003-06-03 2004-12-24 Toyota Motor Corp 移動端末向けソフトウエア配信システム
JP2005346519A (ja) * 2004-06-04 2005-12-15 Fuji Xerox Co Ltd 画像表示装置、画像表示方法及びそのプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07225724A (ja) * 1994-02-08 1995-08-22 Fujitsu Ltd ソフトウェア遠隔自動更新システムおよび方法
JP2004362090A (ja) * 2003-06-03 2004-12-24 Toyota Motor Corp 移動端末向けソフトウエア配信システム
JP2005346519A (ja) * 2004-06-04 2005-12-15 Fuji Xerox Co Ltd 画像表示装置、画像表示方法及びそのプログラム

Also Published As

Publication number Publication date
JP5698205B2 (ja) 2015-04-08
JP2014086047A (ja) 2014-05-12

Similar Documents

Publication Publication Date Title
US9201631B2 (en) Method and system for providing content
US8612947B2 (en) System and method for remotely compiling multi-platform native applications for mobile devices
US9563414B2 (en) Distribution of content and behavior to disparate platforms
CN107741844B (zh) 一种应用安装包的生成方法和装置
CN106874035B (zh) 一种用于更新应用(app)内置H5的方法及其框架
JP2009087361A (ja) コンポーネントベースの無線アプリケーションを作成して同アプリケーションと通信するためのシステム及び方法
CN107133064B (zh) 原生应用的页面热更新方法及装置
CN105142011A (zh) 一种基于web的电视终端多屏互动方法与装置
CN108024136A (zh) 加载用户界面的方法、智能电视及计算机可读存储介质
CN107305553A (zh) 一种基于Hybrid App中动态跳转Hybrid页面的方法及系统
CN105700925A (zh) 一种app的界面实现方法和装置
CN109495433A (zh) 数据下载方法和装置、存储介质及电子装置
CN103577226B (zh) 一种IOS和Android平台上的组件式游戏构建方法
CN105786511A (zh) 终端设备Web应用管理的实现方法
US20160343041A1 (en) INTERFACING WITH SERVERS HAVING DIFFERENT APIs TO OBTAIN ADVERTISEMENT DATA
CN112954717B (zh) 基于h5页面的家电配网方法和装置
WO2014065405A1 (ja) ウェブサーバ装置及びプログラム配信方法
JP6423413B2 (ja) プログラム及びプログラム配信方法
JP5891325B2 (ja) 情報提供装置、情報提供方法及びプログラム
AU2019222873B2 (en) Method and system for providing content
CN102377793A (zh) 基于移动通讯设备终端的Flash交互方法及装置
JP2016154048A (ja) プログラム及びプログラム配信方法
JP2015109109A (ja) プログラム及びプログラム配信方法
JP6518313B2 (ja) プログラム及びプログラム配信方法
CN105005678B (zh) 资源交换平台获取角色信息的方法和装置

Legal Events

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

Ref document number: 13849754

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: 13849754

Country of ref document: EP

Kind code of ref document: A1