JP2017068866A - プログラム及びプログラム配信方法 - Google Patents

プログラム及びプログラム配信方法 Download PDF

Info

Publication number
JP2017068866A
JP2017068866A JP2016241004A JP2016241004A JP2017068866A JP 2017068866 A JP2017068866 A JP 2017068866A JP 2016241004 A JP2016241004 A JP 2016241004A JP 2016241004 A JP2016241004 A JP 2016241004A JP 2017068866 A JP2017068866 A JP 2017068866A
Authority
JP
Japan
Prior art keywords
program
application
information
web server
application program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016241004A
Other languages
English (en)
Other versions
JP6423413B2 (ja
Inventor
ゴールド・ロバート・ジェイ
J Gold Robert
隆一 久富木
Ryuichi Kubuki
隆一 久富木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GREE Inc
Original Assignee
GREE Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GREE Inc filed Critical GREE Inc
Priority to JP2016241004A priority Critical patent/JP6423413B2/ja
Publication of JP2017068866A publication Critical patent/JP2017068866A/ja
Application granted granted Critical
Publication of JP6423413B2 publication Critical patent/JP6423413B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

【課題】アプリ提供側の負担を軽減し、且つオンラインで対戦通信を行なうようなアプリでの端末間のスペックの相違による不公平な環境の発生を防止すること。【解決手段】クライアント機と通信可能な情報処理装置に、クライアント機からスペック情報を取得するステップと、アプリケーションプログラムを生成するための1つのソースコードを、取得するステップで取得したスペック情報に応じた画像表示処理を行うアプリケーションプログラムに変換するステップと、変換するステップで得たアプリケーションプログラムをクライアント機に配信するステップとを実行させ、画像表示処理の少なくとも一部を相違させて、クライアント機間で処理に関する時間の差を減少させるプログラム。【選択図】図3

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の実施形態に係る情報提供システムが使用される環境を説明する図。 同実施形態に係るサーバとクライアント間の接続アーキテクチャの概念を示す図。 同実施形態に係るサーバとクライアントでのログイン時の処理内容を中心として示すフローチャート。 同実施形態に係るシングルソースコードからプログラムを作成する概念を説明する図。 同実施形態に係る端末デバイス毎のプログラムの概念を示す図。 同実施形態に係るウェブサーバ装置が備えるデータベース(DB)の構成を示す図。 同実施形態に係るスペック情報としてのバージョン情報の先頭側の一部を例示する図。 同実施形態に係るゲームプログラム上でのスペック情報に基づく処理の相違を表示画面の具体例を用いて説明する図。 同実施形態に係るゲームプログラム上でのスペック情報に基づく処理の相違を表示画面の具体例を用いて説明する図。 本発明の第2の実施形態に係るサーバとクライアントでのログイン時の処理内容を中心として示すフローチャート。 同実施形態に係る端末デバイス毎のプログラムの概念を示す図。 同実施形態に係るウェブサーバ装置が備えるデータベース(DB)の構成を示す図。
以下、本発明をオンラインゲームシステムに適用した場合の実施形態について図面を参照して説明する。
(第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に対応してネイティブアプリケーションを配信可能であるものとする。
上記ウェブサーバ装置2,3と携帯端末4,5それぞれの電子回路のハードウェア構成自体は、きわめて一般的で周知であるものとして、その記載及び説明を省略する。
図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との間では、HTML5(登録商標)で実装された規格である、ウェブソケット(WebSokect)を基盤としてゲームのイベント情報等が送受される。
このウェブソケットでは、サーバクライアント間で一度でも接続が確立すると、明示的に切断しない限り、通信手順を意識することなくデータのやりとりをソケット通信で実施できる。
また、ウェブソケットで接続が確立しているサーバとすべてのクライアントは、同じデータを共有し、リアルタイムで送受信できる。
よって、上記ウェブソケットの規格を利用することで、Ajax(Asynchronous JavaScript(登録商標) +XML)やCometの通信におけるデメリット部分を補い、より効率的にサーバとクライアント間の双方向通信が実現できる。
上記フレームワークC3,S2は、OSに依存しないスクリプト言語として、例えばジャバ・スクリプト(登録商標)を用いて記述されている。そのため、携帯端末4,5のOSがAndroid(登録商標)及びiOS(登録商標)などのいずれかであってもそれらに依存せずに同一接続環境を構築できる。
次に上記実施形態の動作について説明する。
図3は、サーバであるウェブサーバ装置2,3と、クライアントである携帯端末4,5との間で実行される、オンラインゲーム開始当初のスペック認証設定に関する処理内容を示す。
ウェブサーバ装置2,3では、既に作成されている1つ(シングル)のソースコードを読込む(ステップS101)。次にウェブサーバ装置2,3は、予め複数のOS毎に用意された、それぞれ複数のスペック情報を参照し(ステップS102)、読込んだソースコードを、上記スペック情報毎に機械語にコンパイルしてプログラム化する(ステップS103)。ウェブサーバ装置2,3は、こうして得たプログラムを、自装置内の所定位置に格納する(ステップS104)。
ウェブサーバ装置2,3は、上記のようにしてスペック情報毎に作成したプログラムを格納した状態で、ネットワーク1を介して携帯端末4,5側から、スペック情報と共に当該プログラムのダウンロードの要求がなされるのを待機する(ステップS105)。
一方で、携帯端末4,5の少なくとも一方、例えば携帯端末4がネットワーク1を介してウェブサーバ装置2に接続し、オンラインゲームのサイトにログインした場合、その当初に携帯端末4は自機に既にインストールされているゲームプログラムのバージョン情報をスペック情報としてウェブサーバ装置2へ送信する(ステップC101)。
図4は、このときウェブサーバ装置2で実行される、シングルソースコードからプログラムを作成する概念を説明する図である。多様な機種を含む携帯端末4,5からネイティブアプリのダウンロードを要求されるウェブサーバ装置2(3)では、ウェブサーバ装置2,3のOSのバージョンに基づき、データベース(DB)2A(3A)に予め格納してあるスペック情報を参照することで、1つ(シングル)のソースコードをコンパイルし、OSのバージョンに適合した機械語によるプログラム2B(3B)を生成して、これを再度データベース2A(3A)に格納する一方で、ダウンロードを要求してきた当該携帯端末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でプログラムのダウンロードの要求がなされたことを判断すると、受けたバージョン情報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)、以上で一旦処理を終了し、次に他の携帯端末に対しての処理を待機するべく、上記ステップS105からの処理に戻る。
一方の携帯端末4では、上記ステップC104で最新バージョンでのチェックサムの情報をウェブサーバ装置2に対して送信した後、その応答信号を当該ウェブサーバ装置2から受信することでプログラムのバージョンアップの完了を確認し(ステップC105)、以上でウェブサーバ装置2への一連のログイン処理を完了し、バージョンアップされたゲームの実行に移行する。
以下、ゲームプログラム上でのスペック情報に基づく処理の相違を具体例を用いて説明する。
図8は、ある対戦ゲームで携帯端末4のディスプレイに表示される一シーンを例示している。このようなゲームの進行中、あるゲームキャラクタが攻撃のターン中に繰出した技を視覚効果を交えて表示する場合を考える。
図9(A)は、携帯端末4のスペック情報、すなわちバージョン情報VI中のディスプレイ解像度情報DRが、予めウェブサーバ装置2側で設定されたしきい値より低く、グラフィックス表示性能が低いと判断された場合に用意されている、当該ゲームのプログラムにしたがった、技を視覚効果を交えて表示した例を示す。
ここでは、それまで表示していた、上記図8に示したゲーム進行上の画面(下層レイヤーの画像)を一切表示することなく(不透明処理)、技の視覚効果のみを画面に表示している例を示す。
これに対して、図9(B)は、携帯端末4のスペック情報、すなわちバージョン情報VI中のディスプレイ解像度情報DRが、予めウェブサーバ装置2側で設定されたしきい値より高く、グラフィックス表示性能が高いと判断された場合に用意されている、当該ゲームのプログラムにしたがった、技を視覚効果を交えて表示した例を示す。
ここでは、それまで表示していた、上記図8に示したゲーム進行上の画面(下層レイヤーの画像)が見えるように、上記図9(A)で示した技の視覚効果を半透明化した状態で重ね合わせて画面に表示している例を示す。
このように、携帯端末4のスペックに応じて表示させる画像の内容を変更させることで、必要な画像の表示に関する時間を携帯端末4,5の機種に拘わらず平均化させることができ、オンラインゲームにおける同時性を確保できる。
したがって、対戦ゲームによっては、あるターンで技を出した後に直ぐ次のターンへの準備に移行できるために、スペックが高い機種の方が有利になる場合や、あるいは反対に、あるターンで技を受けている途中であればヒットポイントの回復を準備できるために、スペックが低い機種の方が有利になる場合など、スペックの相違によりゲーム進行上の有利/不利が生じてしまうような事態の発生をできうる限り回避し、公平性を確保できる。
(第2の実施形態)
上記第1の実施形態では、ウェブサーバ装置2側で、予めソースコードからスペックに応じた複数のプログラムを作成した上で格納しておく場合について説明したが、本発明はこれに限らず、クライアント側からスペック情報を取得する毎に、そのスペック情報に基づいてソースコードからプログラムを生成し、生成したプログラムを配信するようにしても良い。
以下、そのような第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でプログラムのダウンロードの要求がなされたことを判断し、続いて受けたバージョン情報からディスプレイ解像度の情報を抽出する(ステップS202)。
次いでウェブサーバ装置2,3は、既に作成されている1つ(シングル)のソースコードを読込む(ステップS203)。次にウェブサーバ装置2は、予め複数のOS毎に用意された、それぞれ複数のスペック情報を参照し(ステップS204)、上記ステップS201で受信したスペック情報に対応して上記ソースコードを機械語にコンパイルしてプログラム化する(ステップS205)。ウェブサーバ装置2は、こうして得たプログラムを、自装置内のデータベース2Aに格納した後(ステップS206)、ダウンロードを要求してきた携帯端末4,5に対して送信する(ステップS207)。
携帯端末4では、ウェブサーバ装置2から送られてきた、自機のスペックに応じた最新バージョンのプログラムをダウンロードすると(ステップC202)、当該プログラム中のマスタデータを端末内のデータベース領域に保存すると共に、このダウンロードしたプログラムにしたがって既にインストールしていた古いバージョンのプログラムを書き換えて更新設定する(ステップC203)。
携帯端末4は、この更新設定により、同時に書き換えたチェックサムの情報を再度ウェブサーバ装置2に対して送信する(ステップC204)。
これに対してウェブサーバ装置2では、携帯端末4からのチェックサムの情報を受けて、プログラムが正常に最新のバージョンのものに書き換えられたことを確認し、確認作業として携帯端末4に対して応答信号を送信し(ステップS209)、以上で一旦処理を終了し、次に他の携帯端末に対して同様の処理を待機するべく、上記ステップS201からの処理に戻る。
一方の携帯端末4では、上記ステップC204で最新バージョンでのチェックサムの情報をウェブサーバ装置2に対して送信した後、その応答信号を当該ウェブサーバ装置2から受信することでプログラムのバージョンアップの完了を確認し(ステップC205)、以上でウェブサーバ装置2への一連のログイン処理を完了し、バージョンアップされたゲームの実行に移行する。
図11は、各携帯端末4,5にそれぞれインストールされたプログラムの構成概念を示す図である。ここでは、携帯端末4がOSとしてプログラムA(ex.iPsOS4.0)を採用した機種であるものとし、HTML5やJavaScript(登録商標)、CSSを含む各種プログラミング言語で記述されたアプリケーションプログラム群を構築しているものとする。
一方で携帯端末5は、OSとして上記プログラムAよりもバージョンが上位であるプログラムB(ex.iPsOS4.3)を採用した機種であるものとし、やはり同様にHTML5やJavaScript(登録商標)、CSSを含む各種プログラミング言語で記述されたアプリケーションプログラム群を構築しているものとする。
この場合、プログラムAをインストールしている携帯端末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に基づいてクライアント機の機種のスペックの行程を判断するものとしたが、このようにゲームプログラムでスペックに応じた処理時間の相違が露呈し易いグラフィックス演算に関する部分を、ディスプレイ解像度情報DRを基準として判断するものとしたので、判断のための基準が明解であり、ウェブサーバ装置2側での処理を簡易化できる。
なお上記第1及び第2の実施形態はいずれも、対戦型のオンラインゲームのプログラムに適用した場合の例について説明したが、本発明は配信するアプリケーションプログラムの種類等を限定するものではなく、他の各種アプリケーションプログラムにも同様に適用可能である。
その他、本発明は上述した実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上述した実施形態で実行される機能は可能な限り適宜組み合わせて実施しても良い。上述した実施形態には種々の段階が含まれており、開示される複数の構成要件による適宜の組み合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、効果が得られるのであれば、この構成要件が削除された構成が発明として抽出され得る。以下に、本願の原出願の出願当初の特許請求の範囲に記載された発明を付記する。
[1]
クライアント機と通信可能な情報処理装置に、
前記クライアント機から当該クライアント機のスペック情報を取得するステップと、
アプリケーションプログラムを生成するための1つのソースコードを、前記取得するステップで取得した前記スペック情報に応じた画像表示処理を行うアプリケーションプログラムに変換するステップと、
前記変換するステップで得たアプリケーションプログラムを前記クライアント機に配信するステップと
を実行させ、
前記画像表示処理の少なくとも一部を相違させて、前記クライアント機間で処理に関する時間の差を減少させる
プログラム。
[2]
前記クライアント機に配信するステップにおいて、前記アプリケーションプログラムの一部分を入れ替える又は書き換える指示を配信する、上記[1]に記載のプログラム。
[3]
前記アプリケーションプログラムは、前記指示を受け入れる機能を備え、
前記受け入れる機能が、前記指示に従って、前記アプリケーションプログラムの一部分を入れ替える又は書き換える、上記[2]に記載のプログラム。
[4]
クライアント機と通信可能な情報処理装置に実行させるプログラム配信方法であって、
前記クライアント機から当該クライアント機のスペック情報を取得するステップと、
アプリケーションプログラムを生成するための1つのソースコードを、前記取得するステップで取得した前記情報に応じた画像表示処理を行うアプリケーションプログラムに変換するステップと、
前記変換するステップで得たアプリケーションプログラムを前記クライアント機に配信するステップと
を有し、
前記画像表示処理の少なくとも一部を相違させて、前記クライアント機間で処理に関する時間の差を減少させる
プログラム配信方法。
1…ネットワーク、2,3…ウェブサーバ装置、4,5…携帯端末、6…アクセスポイント(AP)、7…基地局、DR…ディスプレイ解像度情報、VI…バージョン情報。
本発明の一態様におけるプログラムは、クライアント機と通信可能であり、対戦ゲームを実現する情報処理装置に、前記クライアント機から当該クライアント機のスペック情報を取得するステップと、前記対戦ゲームのためのアプリケーションプログラムを生成するための1つのソースコードを、前記取得するステップで取得した前記情報に応じて、前記対戦ゲームに係る画像表示処理を行うアプリケーションプログラムに変換するステップと、前記変換するステップで得たアプリケーションプログラムを前記クライアント機に配信するステップとを実行させ、前記クライアント機は、所定のスペックを有する第1クライアント機と、前記所定のスペックより高いスペックを有する第2クライアント機とを含み、前記画像表示処理の少なくとも一部を相違させて、前記第1クライアント機と前記第2クライアント機との間で処理に関する時間の差を減少させ、前記第1クライアント機における前記対戦ゲームの進行にかかる時間と前記第2クライアント機における前記対戦ゲームの進行にかかる時間との差を減少させる

Claims (1)

  1. クライアント機と通信可能な情報処理装置に、
    前記クライアント機から当該クライアント機のスペック情報を取得するステップと、
    アプリケーションプログラムを生成するための1つのソースコードを、前記取得するステップで取得した前記スペック情報に応じた画像表示処理を行うアプリケーションプログラムに変換するステップと、
    前記変換するステップで得たアプリケーションプログラムを前記クライアント機に配信するステップと
    を実行させ、
    前記画像表示処理の少なくとも一部を相違させて、前記クライアント機間で処理に関する時間の差を減少させる
    プログラム。
JP2016241004A 2016-12-13 2016-12-13 プログラム及びプログラム配信方法 Active JP6423413B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016241004A JP6423413B2 (ja) 2016-12-13 2016-12-13 プログラム及びプログラム配信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016241004A JP6423413B2 (ja) 2016-12-13 2016-12-13 プログラム及びプログラム配信方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016099783A Division JP2016154048A (ja) 2016-05-18 2016-05-18 プログラム及びプログラム配信方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017227642A Division JP6518313B2 (ja) 2017-11-28 2017-11-28 プログラム及びプログラム配信方法

Publications (2)

Publication Number Publication Date
JP2017068866A true JP2017068866A (ja) 2017-04-06
JP6423413B2 JP6423413B2 (ja) 2018-11-14

Family

ID=58492680

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016241004A Active JP6423413B2 (ja) 2016-12-13 2016-12-13 プログラム及びプログラム配信方法

Country Status (1)

Country Link
JP (1) JP6423413B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6250214B1 (ja) * 2017-06-13 2017-12-20 株式会社 ディー・エヌ・エー 画像処理装置及び画像処理プログラム

Citations (7)

* 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 ソフトウェア遠隔自動更新システムおよび方法
JPH08214285A (ja) * 1995-02-06 1996-08-20 Nec Corp マルチメディア通信システム
US5835911A (en) * 1994-02-08 1998-11-10 Fujitsu Limited Software distribution and maintenance system and method
JP2004357968A (ja) * 2003-06-05 2004-12-24 Nippon Telegr & Teleph Corp <Ntt> 対戦相手紹介サーバとそれを用いたゲームコーディネート方法、およびそのプログラムと記録媒体
JP2004362090A (ja) * 2003-06-03 2004-12-24 Toyota Motor Corp 移動端末向けソフトウエア配信システム
JP2011154513A (ja) * 2010-01-27 2011-08-11 Seiko Epson Corp コンピュータープログラム、コンピュータープログラムの更新方法、コンピューター、および、記録装置
US20120231888A1 (en) * 2011-03-09 2012-09-13 Konami Digital Entertainment Co., Ltd. Game control device, game program, game control method and game system

Patent Citations (10)

* 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 ソフトウェア遠隔自動更新システムおよび方法
US5835911A (en) * 1994-02-08 1998-11-10 Fujitsu Limited Software distribution and maintenance system and method
JPH08214285A (ja) * 1995-02-06 1996-08-20 Nec Corp マルチメディア通信システム
US5781740A (en) * 1995-02-06 1998-07-14 Nec Corporation Multimedia communication system
JP2004362090A (ja) * 2003-06-03 2004-12-24 Toyota Motor Corp 移動端末向けソフトウエア配信システム
JP2004357968A (ja) * 2003-06-05 2004-12-24 Nippon Telegr & Teleph Corp <Ntt> 対戦相手紹介サーバとそれを用いたゲームコーディネート方法、およびそのプログラムと記録媒体
JP2011154513A (ja) * 2010-01-27 2011-08-11 Seiko Epson Corp コンピュータープログラム、コンピュータープログラムの更新方法、コンピューター、および、記録装置
US20120231888A1 (en) * 2011-03-09 2012-09-13 Konami Digital Entertainment Co., Ltd. Game control device, game program, game control method and game system
WO2012120824A1 (ja) * 2011-03-09 2012-09-13 株式会社コナミデジタルエンタテインメント ゲーム制御装置、ゲームプログラム、ゲーム制御方法、ゲームシステム
JP2012196424A (ja) * 2011-03-09 2012-10-18 Konami Digital Entertainment Co Ltd ゲーム制御装置、ゲームプログラム、ゲーム制御方法、ゲームシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6250214B1 (ja) * 2017-06-13 2017-12-20 株式会社 ディー・エヌ・エー 画像処理装置及び画像処理プログラム

Also Published As

Publication number Publication date
JP6423413B2 (ja) 2018-11-14

Similar Documents

Publication Publication Date Title
US9201631B2 (en) Method and system for providing content
CN107741844B (zh) 一种应用安装包的生成方法和装置
CN105142011A (zh) 一种基于web的电视终端多屏互动方法与装置
TW201235072A (en) Method and apparatus for gaming based on mobile terminal
CN106874035B (zh) 一种用于更新应用(app)内置H5的方法及其框架
CN107133064B (zh) 原生应用的页面热更新方法及装置
CN107305553A (zh) 一种基于Hybrid App中动态跳转Hybrid页面的方法及系统
CN106897153B (zh) 调用应用编程接口的方法和系统
CN111722885B (zh) 程序运行方法、装置以及电子设备
CN105700925A (zh) 一种app的界面实现方法和装置
CN108024136A (zh) 加载用户界面的方法、智能电视及计算机可读存储介质
CN112612452A (zh) 一种api平台实现方法、装置、设备及存储介质
EP3298756B1 (en) Interfacing with servers having different apis to obtain advertisement data
CN113076163A (zh) 一种卡片渲染方法和装置
CN110764805A (zh) 客户端无感升级的方法、装置、终端及存储介质
JP2014110018A (ja) ネットワークシステム
WO2016150390A1 (zh) 界面处理方法、装置及系统
CN112954717A (zh) 基于h5页面的家电配网方法和装置
KR101373550B1 (ko) 네트워크 기반의 플랫폼 시스템
JP5698205B2 (ja) プログラム及びプログラム配信方法
JP6423413B2 (ja) プログラム及びプログラム配信方法
CN104243202A (zh) 参数配置的数据处理方法、装置及参数配置方法、装置
US9509761B2 (en) Open user interface
JP5891325B2 (ja) 情報提供装置、情報提供方法及びプログラム
AU2019222873B2 (en) Method and system for providing content

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170111

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170111

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170111

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170608

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171128

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20171204

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181018

R150 Certificate of patent or registration of utility model

Ref document number: 6423413

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250