JP7152450B2 - インタラクティブシステム、端末装置、サーバ装置、制御方法、プログラム、及び記録媒体 - Google Patents

インタラクティブシステム、端末装置、サーバ装置、制御方法、プログラム、及び記録媒体 Download PDF

Info

Publication number
JP7152450B2
JP7152450B2 JP2020153555A JP2020153555A JP7152450B2 JP 7152450 B2 JP7152450 B2 JP 7152450B2 JP 2020153555 A JP2020153555 A JP 2020153555A JP 2020153555 A JP2020153555 A JP 2020153555A JP 7152450 B2 JP7152450 B2 JP 7152450B2
Authority
JP
Japan
Prior art keywords
server
program
processing
game
terminal device
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.)
Active
Application number
JP2020153555A
Other languages
English (en)
Other versions
JP2021009706A (ja
Inventor
秀俊 青柳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Square Enix Co Ltd
Original Assignee
Square Enix Co Ltd
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 Square Enix Co Ltd filed Critical Square Enix Co Ltd
Publication of JP2021009706A publication Critical patent/JP2021009706A/ja
Application granted granted Critical
Publication of JP7152450B2 publication Critical patent/JP7152450B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Power Sources (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

本発明は、インタラクティブシステム、端末装置、サーバ装置、制御方法、プログラム
、及び記録媒体に関し、特に端末装置からの要求に基づいてサーバ装置がプログラムの処
理を行うインタラクティブシステム技術に関する。
本出願は、日本国において2014年3月24日に出願された日本特許出願番号特願2
014-60790を基礎として優先権を主張するものであり、この出願は参照されるこ
とにより、本出願に援用される。
ネットワーク接続可能なポータブルゲーム機やスマートフォン等のクライアント端末装
置が普及している。このようなクライアント端末装置の普及により、インターネットにお
けるネットワーク人口は増加している。近年では、ネットワークユーザに対する、インタ
ーネットを利用した様々なサービスが展開されており、ゲーム等のエンターテインメント
サービスも提供されている。
ネットワークユーザに対するサービスとして、クラウドアプリケーションがある。クラ
ウドアプリケーションとは、ネットワークに接続されたクラウドサーバを通じて機能やサ
ービスを提供するアプリケーションプログラムであり、クライアント端末装置側では、ク
ラウドサーバで処理したアプリケーションプログラムの結果として、例えば画像データや
音声データを受け取り表示または再生する。
上述のクラウドアプリケーションでは、クラウドサーバでアプリケーションプログラム
の描画処理を行うため、ゲーム専用機や高速なグラフィック処理能力を有するパーソナル
コンピュータと比べ処理能力が低いポータブルゲーム機やスマートフォン等に対してもサ
ービスの提供が可能となる。すなわち、サービスを利用することができるクライアント端
末装置の数が増えるため、より多くのユーザに対してサービスを提供することが可能とな
る。
例えば、特許文献1では、クライアント端末装置の描画性能等の処理能力に依存せずに
、ユーザがプレイ可能なゲームが開示されている。特許文献1のようなゲームでは、サー
バ装置はクライアント端末装置においてなされた操作の情報を取得し、この情報を用いて
ゲームプログラムを実行して描画したゲーム画像を、クライアント端末装置に対して提供
している。
特開2013-243702号公報
上述した特許文献1のようなゲームでは、サーバ装置においてゲームプログラムが実行
されるため、リアルタイムにセーブデータを保存する仕組みを用いない限り、このゲーム
プログラム中において許可された条件下(いわゆるセーブポイント)でないとユーザがプ
ログラムの進行状況を保存することが困難となる。
また、サーバ装置において動作するゲームプログラムにリアルタイムにセーブデータを
保存する機能がない場合、特にネットワークに非対応のローカルな環境で用いられるゲー
ムプログラムの場合、リアルタイムにセーブデータを保存するようにこのゲームプログラ
ムを書き換えてサービスを提供することも考えられるが、ゲームプログラムを書き換える
手間が発生する。
本発明の少なくとも一つの実施形態は、上述した関連技術における課題を解決するもの
であり、端末装置からの要求に従いサーバ装置が実行するアプリケーションプログラムの
進行状況を適切に保存することができるインタラクティブシステムを提供することを目的
とする。
上述した課題を解決するために、本発明の一実施形態に係るインタラクティブシステムは、ネットワークを介してサーバ装置に接続され、前記サーバ装置にゲームプログラムに係るゲーム画像の符号化を含むプログラム処理を要求し、前記サーバ装置から処理結果を受信し表示を行う端末装置と、前記端末装置からの要求に従いプログラム処理を行い、処理結果を前記端末装置に送信するサーバ装置とを有し、前記サーバ装置は、前記端末装置との通信が異常と判断した場合、前記プログラム処理を第1の所定時間継続し、前記第1の所定時間が経過した場合、前記プログラム処理を一時中断する。
また、上述した課題を解決するために、本発明の一実施形態に係るサーバ装置は、ネットワークを介して端末装置に接続され、前記端末装置からの要求に従いゲームプログラムに係るゲーム画像の符号化を含むプログラム処理を行い、処理結果を前記端末装置に送信し、前記端末装置との通信が異常と判断した場合、前記プログラム処理を第1の所定時間継続し、前記第1の所定時間が経過した場合、前記プログラム処理を一時中断する。
また、上述した課題を解決するために、本発明の一実施形態に係るプログラムは、コンピュータに、ネットワークを介して接続された端末装置からの要求に従いゲームプログラムに係るゲーム画像の符号化を含むプログラム処理を行う処理と、前記プログラム処理の処理結果を前記端末装置に送信する処理と、前記端末装置との通信が異常と判断した場合、前記プログラム処理を第1の所定時間継続し、前記第1の所定時間が経過した場合、前記プログラム処理を一時中断する処理とを実行させる。
本発明の一実施形態によれば、端末装置からの要求に従いサーバ装置が実行するアプリ
ケーションプログラムの進行状況を、このアプリケーションプログラムにおいて保存が許
可された条件によらず適切に保存することができる。
図1は、本発明の実施の形態に係るインタラクティブシステムのシステム構成を示した図である。 図2は、本発明の実施の形態に係る端末装置の機能構成を示したブロック図である。 図3は、本発明の実施の形態に係るサーバ装置の機能構成を示したブロック図である。 図4は、本発明の実施の形態に係る端末装置で実行されるゲーム画像表示処理を例示したフローチャートである。 図5は、本発明の実施の形態に係る端末装置で実行されるゲーム中断信号の送信処理を例示したフローチャートである。 図6は、マルチタスク処理の概念を説明する図である。 図7は、本発明の実施の形態に係る実行メモリと保存メモリの概念を説明する図である。 図8は、本発明の実施の形態に係るサーバ装置で実行されるゲーム画像生成送信処理を例示したフローチャートである。 図9は、本発明の実施の形態に係るサーバ装置で実行されるゲームプログラム一時中断処理を例示したフローチャートである。 図10は、本発明の実施の形態に係るサーバ装置で実行されるゲームプログラム一時中断処理を例示した他のフローチャートである。 図11は、本発明の実施の形態に係るサーバ装置で実行されるゲームプログラム再開処理を例示したフローチャートである。 図12は、本発明の実施の形態に係る端末装置で実行されるゲーム中断信号の送信処理を例示した他のフローチャートである。 図13は、本発明の実施の形態に係るサーバ装置で実行されるゲーム画像生成送信処理を例示した他のフローチャートである。 図14は、本発明の実施の形態に係るサーバ装置で実行されるゲームプログラム再開処理を例示したフローチャートである。 図15は、本発明の実施の形態に係る端末装置で実行されるゲーム中断信号の送信処理を例示した他のフローチャートである。 図16は、本発明の実施の形態に係るサーバ装置で実行されるゲーム画像生成送信処理を例示した他のフローチャートである。 図17は、本発明の実施の形態に係るサーバ装置で実行されるゲーム中断処理を例示した他のフローチャートである。 図18は、本発明の実施の形態に係るサーバ装置で実行されるゲーム中断処理を例示した他のフローチャートである。 図19は、本発明の実施の形態に係るサーバ装置で実行されるゲームプログラム再開処理を例示した他のフローチャートである。 図20は、本発明の実施の形態に係るサーバ装置で実行されるゲームプログラム再開処理を例示した他のフローチャートである。 図21は、本発明の実施の形態に係るサーバ装置で実行されるゲームプログラム一時中断処理を例示した他のフローチャートである。 図22は、本発明の実施の形態に係るサーバ装置で実行されるゲームプログラム一時中断処理を例示した他のフローチャートである。 図23は、本発明の実施の形態に係るサーバ装置で実行されるゲーム中断処理を例示した他のフローチャートである。 図24は、本発明の実施の形態に係るサーバ装置で実行されるゲーム中断処理を例示した他のフローチャートである。
以下、本発明の実施の形態(以下、本実施の形態と称する。)について、図面を参照し
ながら以下の順序にて詳細に説明する。なお、本発明は、以下の実施形態のみに限定され
るものではなく、本発明の要旨を逸脱しない範囲内において種々の変更が可能であること
は勿論である。
1.インタラクティブシステムの構成
2.端末装置の構成
3.サーバ装置の構成
4.ゲーム画像表示処理
5.ゲーム中断信号の生成送信処理(1)
6.ゲーム画像生成送信処理(1)
7.ゲームプログラム一時中断処理(1)
8.ゲームプログラム一時中断処理(2)
9.ゲームプログラム再開処理(1)
10.ゲームプログラム再開処理(2)
11.ゲーム中断信号の生成送信処理(2)
12.ゲーム中断信号の生成送信処理(3)
13.ゲーム画像生成送信処理(2)
14.ゲーム画像生成送信処理(3)
15.ゲームプログラム一時中断処理(3)
16.ゲームプログラム一時中断処理(4)
17.ゲームプログラム再開処理(2)
18.ゲームプログラム再開処理(3)
19.ゲームプログラム一時中断処理(5)
20.ゲームプログラム一時中断処理(6)
21.ゲームプログラム一時中断処理(7)
<1.インタラクティブシステムの構成>
図1は、本実施の形態に係るインタラクティブシステムの構成を示す図である。
本実施の形態に係るインタラクティブシステムは、端末装置100と、サーバ装置20
0とからなり、端末装置100とサーバ装置200とがネットワーク300を介して接続
されている。
ここで、本実施の形態におけるインタラクティブシステムとは、ユーザによる端末装置
の入力操作に応じてサーバ装置からゲームプログラムの処理結果が提供される、双方向型
のシステムである。なお、提供されるプログラムの種別はゲームプログラムに限らず、プ
ログラムの進行状況を保存することが求められる各種のアプリケーションプログラムや動
画配信プログラムにも適用することができる。また、サーバ装置から受け取る処理結果は
ゲームプログラム処理の全部であっても一部であってもよい。具体的に処理結果は、例え
ば、ゲーム画像やゲーム音声が該当し、以下においてゲーム画像に適用して説明するが、
これらに限定されるものではない。
まず、本実施の形態において端末装置100は、サーバ装置200において実行される
ゲームプログラムに係るゲーム画像を符号化動画データとして受信し、受信した符号化動
画データをゲーム画像として表示する。また、端末装置100は、ユーザの操作入力情報
をサーバ装置200に送信するとともに、ゲーム画像の表示処理の実行が中断される所定
の条件を判断し、中断信号をサーバ装置に送信する。
これにより端末装置100は、ユーザに対してサーバ装置200において実行されてい
るゲームプログラムのゲーム画像を提供することができる。また、端末装置100は、中
断信号を送信することで、サーバ装置200側で適切な中断処理をするように要求するこ
とができる。
なお、端末装置100は、サーバ装置200においてゲームプログラムの処理結果を表
示することができる構成とされている。
また、端末装置100は、例えばゲーム専用機、ポータブルゲーム機、スマートフォン
、PDA(Personal Digital Assistant)、タブレット等の、サーバ装置200から受信
した処理結果を表示するものであればよい。
次に、本実施の形態においてサーバ装置200は、端末装置100においてなされたユ
ーザによる入力操作信号を受信し、この入力操作信号に応じてゲームプログラムのゲーム
画像を1フレームごとに生成する。そしてサーバ装置200は、生成したゲーム画像を圧
縮、セキュリティ等を目的とした符号化を施し、得られた符号化動画データを端末装置1
00に送信する。また、サーバ装置200は、端末装置100から中断信号を受信し、こ
の中断信号に基づきゲームプログラムの一時中断処理を実行する。
なお、サーバ装置200は、端末装置100の操作信号を受信し、ゲームプログラムの
処理結果を端末装置100に送信する構成とされている。また、1フレームに係るゲーム
画像の描画は、必ずしもサーバ装置200において実行される必要はなく、例えばサーバ
装置200に接続された図示しない画像処理専用サーバにより実行されてもよい。また、
端末装置100においてゲーム画像の一部を描画し、サーバ装置200で描画された画像
と合成するようにしてもよい。
<2.端末装置の構成>
図2は、本実施の形態に係る端末装置100の機能構成を示すブロック図である。
端末装置100は、プログラムの実行処理を行う端末CPU(Central Processing Uni
t)101と、端末CPU101により実行されるプログラムを格納する端末ROM(Rea
d Only Memory)102と、プログラムやデータを展開する端末RAM(Random Access M
emory)103と、符号化されたデータを復号する端末復号部104と、サーバ装置20
0と通信する端末通信部105と、端末CPU101により実行されたプログラムの結果
等を表示する端末表示部106と、ユーザにより各種の入力操作を受ける操作入力部10
7と、音声出力を行う音声出力部108と、プログラムやデータを固定的に保存する端末
ストレージ109とを有する。
端末CPU101は、端末装置100が有する各ブロックの動作を制御する。具体的に
、端末CPU101は、例えば端末ROM102に記録されているゲーム画像表示処理の
動作プログラムを読み出し、端末RAM103に展開して実行することにより、各ブロッ
クの動作を制御する。ここで、前述の動作プログラムは、サーバ装置200から受信した
画像を表示する表示プレイヤとして機能する。ただし、端末装置100で部分的な画像描
画をすることを妨げるものではない。
端末ROM102は、例えば読み込みのみ可能な不揮発性メモリである。端末ROM1
02は、ゲーム画像表示処理等の動作プログラムに加え、端末装置100が有する各ブロ
ックの動作に必要な定数等の情報を記憶する。
端末RAM103は、揮発性メモリである。端末RAM103は、動作プログラムの展
開領域としてだけでなく、端末装置100が有する各ブロックの動作において出力された
中間データ等を一時的に記憶する格納領域としても用いられる。
端末復号部104は、後述する端末通信部105が受信した符号化動画データについて
復号処理を行い、1以上フレームに係るゲーム画像を生成する。
端末通信部105は、端末装置100が有する通信インタフェースである。端末通信部
105は、ネットワーク300を介して接続した、サーバ装置200等の他の機器との間
におけるデータ送受信を行う。データ送信時には端末通信部105は、ネットワーク30
0あるいは送信先の機器との間で定められたデータ伝送形式にデータを変換し、送信先の
機器へのデータ送信を行う。またデータ受信時には端末通信部105は、ネットワーク3
00を介して受信したデータを、端末装置100において読み取り可能な任意のデータ形
式に変換し、例えば端末CPU101の制御により端末RAM103に記憶する。
なお、本実施の形態では端末装置100とサーバ装置200とは、ネットワーク300
を介して接続されるものとして説明するが、例えば端末装置100とサーバ装置200と
が直接ケーブルにより接続される形態であってもよい。
端末表示部106は、例えばLCD(Liquid Crystal Display)等の端末装置100が
有する表示装置である。端末表示部106は、入力されたゲーム画像を表示領域に表示す
る表示制御を行う。なお、端末表示部106は、端末装置100の外部にケーブル等によ
り接続された大画面モニタ等であってもよい。
操作入力部107は、例えばタッチパネル、ゲームパッド等の端末装置100が有する
ユーザインタフェースである。操作入力部107は、ユーザによりユーザインタフェース
に対する入力操作がなされたことを検出すると、この入力操作に対応する入力操作信号を
端末CPU101に対して出力する。
音声出力部108は、例えばスピーカ等の端末装置100が有する音響装置である。音
声出力部108は、ゲーム画像とともに音声情報が提供される場合に、提供された音声情
報を音声として出力する。なお、本実施の形態では、音声を出力する例を記載しないが、
必要に応じて適用することが可能である。
端末ストレージ109は、端末RAM103に展開された動作プログラムや、端末装置
100が有する各ブロックの動作において出力された中間データ等を固定的に記憶する格
納領域として用いられる。なお、端末ストレージ109としてはHDD(Hard disk driv
e)等の各種の記憶手段を用いることができるが、ポータブルな端末装置においては不揮
発性メモリを用いることが小型化、低電力化、耐衝撃性の上で好ましい。
<サーバ装置200の構成>
図3は、本実施の形態に係るサーバ装置200の機能構成を示すブロック図である。
サーバ装置200は、プログラムの実行処理を行うサーバCPU(Central Processing
Unit)201と、サーバCPU201により実行されるプログラムを格納するサーバR
OM(Read Only Memory)202と、プログラムやデータを展開するサーバRAM(Rand
om Access Memory)203と、画像処理演算を行うサーバGPU(Graphics Processing
Unit)204と、サーバGPUと接続されたサーバVRAM(Video Random Access Memo
ry)205と、データの符号化を行うサーバ符号化部206と、プログラムやデータを固
定的に保存するサーバストレージ207と、端末装置100と通信するサーバ通信部20
8とを有する。
サーバCPU201は、サーバ装置200が有する各ブロックの動作を制御する。具体
的にはサーバCPU201は、例えばサーバROM202に記憶されている後述するゲー
ム画像生成送信処理等の動作プログラムを読み出し、サーバRAM203に展開して実行
することにより、各ブロックの動作を制御する。
サーバROM202は、例えば読み込みのみ可能な不揮発性メモリである。サーバRO
M202は、ゲーム画像生成送信処理等の動作プログラムに加え、サーバ装置200が有
する各ブロックの動作において必要となる定数等の情報を記憶する。
サーバRAM203は、揮発性メモリである。サーバRAM203は、動作プログラム
の展開領域としてだけでなく、サーバ装置200が有する各ブロックの動作において出力
された中間データ等を一時的に記憶する格納領域としても用いられる。
サーバGPU204は、端末装置100の端末表示部106に表示するゲーム画像の生
成を行う。サーバGPU204は、サーバCPU201より描画命令を受信すると、この
描画命令に基づきゲーム画像を描画し、描画したゲーム画像をサーバVRAM205に格
納する。
サーバ符号化部206は、サーバVRAM205等に格納されたゲーム画像に対する符
号化処理を行う。サーバ符号化部206は、例えば、符号化対象のゲーム画像をブロック
に分割し、各ブロックをイントラ符号化(フレーム内符号化)あるいはインター符号化(
フレーム間符号化)する。本実施の形態ではサーバ符号化部206は、例えば、各ブロッ
クをYCbCrの色チャネルごとに離散コサイン変換(DCT:Discrete Cosine Transf
orm)した後、ランレングス符号化により圧縮する。
サーバストレージ207は、例えばHDD(Hard Disk Drive)等の、サーバ装置20
0に着脱可能に接続される記録装置である。本実施の形態ではサーバストレージ207に
は、後述する中断信号を受信した際に、サーバRAM203やサーバVRAM205にお
ける実行メモリの内容を固定的に記憶する。
サーバ通信部208は、サーバ装置200が有する通信インタフェースである。本実施
の形態ではサーバ通信部208は、ネットワーク300を介して接続した端末装置100
等の、他の機器との間におけるデータ送受信を行う。なお、サーバ通信部208は端末通
信部105と同様に、通信仕様に従ったデータ形式の変換を行う。
<4.ゲーム画像表示処理>
本実施の形態の端末装置100において実行されるゲーム画像表示処理について、図4
のフローチャートを用いて具体的な処理を説明する。このフローチャートに対応する処理
は、端末CPU101が、例えば端末ROM102に記録されている対応する処理プログ
ラムを読み出し、端末RAM103に展開して実行することにより実現することができる
ステップS101で、端末CPU101は、ユーザの入力操作部107からの入力操作
に従い、サーバ連携プログラムを起動し、処理をステップS102へ進める。
ステップS102で、端末CPU101は、端末通信部105によりサーバ装置200
との間で通信を行い相互接続を確認し、処理をステップS103へ進める。
ステップS103で、端末CPU101は、ユーザが操作入力部207を操作すること
で入力したか、端末ROM202または端末RAM203に予め記録しておいた、ログイ
ン情報をサーバ装置200に送信し、処理をステップS104に進める。ここでログイン
情報とは、少なくとも、ユーザを識別するためのユーザIDとパスワードとする。
ステップS104で、端末CPU101は、送信したログイン情報に基づきサーバ装置
200から処理を提供可能なゲームプログラムのリストをサーバ装置200から取得し、
表示部106に表示し、ユーザが操作入力部207を操作することでユーザが選択したゲ
ームプログラムを特定し、サーバ装置200にこのゲームプログラムに係る処理とその処
理結果の送信を要求する。そして、端末CPU101は、処理をステップS105に進め
る。なお、ゲームプログラムに係る処理の一例としては、ゲーム画像の生成処理や、ゲー
ム音声の生成処理等、各種の処理であってもよいが、以下ではゲーム画像の生成処理とし
て説明をするが、これらに限定するものではない。例えば、ユーザによるゲームプレイ中
の入力操作もサーバ装置に対するプログラム処理の要求に含まれる。
ステップS105で、端末CPU101は、サーバ装置200からゲーム開始条件に関
する情報を取得し、受信した情報に基づきゲーム開始条件を表示部106に列挙して表示
し、ユーザが操作入力部207を操作することで選択したゲーム開始条件を特定し、サー
バ装置200にこのゲームプログラムの開始を要求する。そして、端末CPU101は、
処理をステップS106に進める。
ここで、詳細はサーバ装置200の動作説明で行うが、ゲーム開始条件に関する情報と
しては、例えば、ゲームを最初から開始する、セーブポイントにおいてセーブしたデータ
がある場合にセーブポイントから開始する、中断データがある場合に中断データから開始
する等の条件がある。複数のセーブデータや中断データがある場合にはこれらのうち何れ
かを選択することができるようにしてもよい。
ステップS106で、端末CPU101は、端末通信部105がサーバ装置200から
符号化動画データの受信を開始し端末RAM103等にバッファリングを開始する。そし
て、端末CPU101は、ステップS107へ処理を進める。
ステップS107で、端末CPU101は、受信して端末RAM103等にバッファリ
ングされた符号化動画データを端末復号部104に伝送し、端末復号部104にて復号処
理を実行する。そして、端末CPU101は、ステップS108へ処理を進める。
ステップS108で、端末CPU101は、復号したゲーム画像を端末表示部106に
表示する。以後、端末CPU101は、ゲーム画像表示プログラムを用いてステップS1
06からステップ108に係る処理をループし、符号化動画データの受信が続く限り復号
化したゲーム画像を端末表示部106に伝送する。
<5.ゲーム中断信号の生成送信処理(1)>
次に、本実施の形態の端末装置100において実行されるゲーム中断信号の生成送信処
理について、図5のフローチャートを用いて具体的な処理を説明する。このフローチャー
トに対応する処理は、端末CPU101が、例えば端末ROM102に記録されている対
応する処理プログラムを読み出し、端末RAM103に展開して実行することにより実現
することができる。なお、本ゲーム中断信号の生成送信処理は、ゲーム画像表示プログラ
ムのステップS106からステップS108と並列して処理される。
ステップS201で、端末CPU101は、ユーザの入力操作部107からの入力操作
に従い、ゲーム画像表示プログラム処理の中断が要求された場合又は、端末CPU101
の判断により強制的にゲーム画像表示プログラム処理の中断を必要とした場合、処理をス
テップS202に進め、中断要求が無い場合及び中断を必要としない場合、処理をステッ
プS203に進める。
ステップS202で、端末CPU101は、端末通信部105によりサーバ装置200
との間で通信を行い、サーバ装置200で実行しているゲームプログラムがセーブ可能な
所定の条件下であるか否か、いわゆるセーブポイントであるか否かを判断し、セーブ可能
であると判断した場合には、ステップS204で、ユーザの入力操作信号をサーバ装置2
00に送信する。ここで、詳細は後述するがサーバ装置200では、サーバCPU201
は、セーブポイントにおけるセーブデータを生成し、このセーブデータをサーバストレー
ジ207等に保存する。
ステップS203で、端末CPU101は、ゲーム画像表示プログラムが実行継続可能
であるかを判断する。具体的には、図4において説明したゲーム画像表示プログラムがエ
ラー等により動作していない場合等を判断して処理をステップS207に進める。また、
端末CPU101は、ゲーム画像表示プログラムが実行継続不可能若しくは実行していな
いと判断した場合も同様に、ステップS207に処理を進める。
一方、ステップS203で、端末CPU101は、ゲーム画像表示プログラムが実行継
続中であると判断した場合に、処理をステップS205に進める。
ステップS205で、端末CPU101は、ゲーム画像表示プログラムがバックグラウ
ンド処理されているか否かを判断する。端末CPU101は、ゲーム画像表示プログラム
がバックグラウンド処理されていると判断した場合、ステップS207に処理を進める。
一方、ステップS205で、端末CPU101は、ゲーム画像表示プログラムがバック
グラウンド処理されていないと判断した場合、すなわちフォアグラウンド処理されている
と判断した場合、処理をステップS206に進める。
ここで、バックグラウンド処理について説明する。バックグランド処理とは、マルチタ
スク環境において、ユーザに対して端末表示部106等に表示されているフォアグランド
処理に隠れて、端末表示部106等に表示されずに裏側で行われる処理のことである。バ
ックグラウンド処理は、端末CPU101のリソースを消費しつつ継続する処理である。
図6に示すように、端末装置100では、ゲーム画像表示プログラムは、オペレーティン
グシステム601上、若しくは図示しないミドルウェア上にて、マルチタスク処理されて
いる。例えば、図6では、フォアグランド処理602が、ゲーム画像表示プログラムであ
り、バックグラウンド処理603が、プログラムA、プログラムB、プログラムC及びプ
ログラムDである。バックグラウンド処理中のプログラムAがフォアグラウンド処理60
2に移行した場合、ゲーム画像表示プログラムがバックグラウンド処理へ移行することと
なる。
ステップS206で、端末CPU101は、実行のために展開されているゲーム画像表
示プログラムに関する情報が実行メモリから保存メモリへ移動されたか否かを判断する。
端末CPU101は、ゲーム画像表示プログラムに関する情報が保存メモリへ移動された
と判断した場合、ステップS207に処理を進める。一方、端末CPU101は、ゲーム
画像表示プログラムに関する情報が保存メモリへ移動されていないと判断した場合、処理
を終了する。具体的に、端末CPU101は、端末RAM103に展開されたゲーム画像
表示プログラムが、端末ストレージ109に移動されたと判断されたか否かを判断する。
ここで、本実施の形態において、「移動」とは、実行メモリから保存メモリへ、メモリ
内容をそのままコピーし、実行メモリのメモリ内容を開放する、すなわち、端末装置10
0において、端末RAM103内のゲーム画像表示プログラムに関する情報が、そのまま
端末ストレージ109にコピーされ、端末RAM103のゲーム画像表示プログラムに関
する情報を開放することをいう。
ここで、本実施の形態における実行メモリとは、プログラムが実行される際にプログラ
ムが読み出されるメモリであり、保存メモリと実行メモリとは異なりプログラムに関する
情報を保存するために用いられるメモリである。なお、実行メモリと保存メモリは物理的
に一つのものであることは妨げられないが、その性質上、読み書き速度が高速なものを実
行メモリとして用い、読み書きの速度が低速なものを保存メモリとして物理的に異ならせ
ることが好ましい。
例えば、実行メモリには、端末RAM101が用いられ、その容量が有限である。この
ため、端末RAM101にプログラムを多数展開すると容量を超えてしまう。ゲーム画像
表示プログラム以外に、プログラムB、プログラムC、プログラムDが実行されている場
合、図7の上段に示すように、実行メモリに空きがある。しかし、図7の下段に示すよう
に、プログラムE、プログラムFを更に実行すると、空き容量が少なくなり、優先度の低
いプログラムに関する情報は、保存メモリである端末ストレージ109に移動されること
となる。なお、本実施の形態において、移動とはメモリに記憶された情報を他のメモリに
複写し、かつ元のメモリからこの情報を削除するものとする。
なお、保存メモリとしては、端末ストレージ109に限定されず、端末RAM103内
部に設けるようにしてもよいし、図示しない、他のメモリであってもよい。実行メモリと
保存メモリとは物理的に同じメモリを用いてもよいし、用途に応じて適宜使い分けるよう
にしてもよい。
ここで、ステップS205において、端末CPU101は、ゲーム画像表示プログラム
に関する情報が実行メモリから排除された場合に、ゲーム画像表示プログラムの処理が終
了するため、ステップS206以下の処理を実行するようにしてもよい。この場合、端末
CPU101は、ステップS206において、実行のために展開されているゲーム画像表
示プログラムに関する情報が実行メモリから排除されたか否かを判断し、排除されている
と判断した場合処理をステップS207に進める。
ステップS207で、端末CPU101は、ゲーム画像表示プログラムの中断を判断し
、中断信号をサーバ装置200に送信する。なお、本実施の形態において、中断信号は、
端末CPU101におけるゲーム画像表示プログラムに係る処理が中断したという情報を
含む信号か、端末装置100とサーバ装置200との間であらかじめ定めたID等を含む
信号であればよい。
なお、端末装置100が、スマートフォン等である場合、通話のための着呼応答プログ
ラムが最優先処理される。そのため、スマートフォン等では、着信があった場合に、着呼
応答プログラムがフォアグラウンド処理となり、他のプログラムがバックグラウンド処理
となり、ユーザがゲームをプレイしている場合であっても、ゲーム画面の表示が中断され
てしまう。そのため、ステップS205における判断処理は、中断時のゲームの進行状況
を適切に保存するために有用である。
なお、ゲーム画像表示プログラムでは、ユーザの操作による一時停止(ポーズ)機能を
設けるようにしてもよい。この場合には、ユーザの操作による一時停止要求に基づきステ
ップS207における中断信号をサーバ装置200に送信するようにしてもよい。
なお、ステップS201における、端末CPU101の判断により強制的にゲーム画像
表示プログラム処理の中断を必要とする場合としては、例えば、端末装置100がスリー
プモードに移行した場合や、電話着呼応当による割り込み処理が発生した場合等を例示す
ることができる。また、本実施の形態において、ステップS201、ステップS202、
ステップS204は、ゲーム画像表示プログラムを構成する処理として必ずしも備える必
要はない。
<6.ゲーム画像生成送信処理(1)>
サーバ装置200において実行されるゲーム画像生成送信処理について、図8のフロー
チャートを用いて具体的な処理を説明する。このフローチャートに対応する処理は、サー
バCPU201が、例えばサーバROM202に記憶された対応する処理プログラムを読
み出し、サーバRAM203に展開して実行することにより実現することができる。なお
、本ゲーム画像生成送信処理は、サーバ装置200上でゲームプログラムを実行するラン
チャープログラムに内蔵してもよく、ランチャープログラムと並列処理するプログラムで
あってもよい。
なお、本実施の形態ではサーバ装置200は、ゲーム画像を符号化動画データの形態で
端末装置100に提供するものとして説明する。
ステップS301で、サーバCPU201は、サーバ通信部208により端末装置10
0との間で通信を行い相互接続を確認し、処理をステップS302に処理を進める。
ステップS302で、サーバCPU201は、端末装置100から受信したログイン情
報に基づきユーザ認証を行う。具体的に、サーバCPU201は、サーバストレージ20
7等に保存されているユーザIDとパスワードと、端末装置100から受信したログイン
情報を比較し、合致した場合にはサービス提供を受けているユーザによるログインである
として認証を行う。
ステップS303で、サーバCPU201は、認証したユーザが登録若しくは購入等し
た履歴情報をサーバストレージ207等から取得し、提供可能なゲームプログラムの提示
リストを作成し、端末装置100に送信し、処理をステップS304に進める。
ステップS304で、サーバCPU201は、端末装置100から選択されたゲームプ
ログラムの情報を取得し、このゲームプログラムについて、ゲーム開始条件を判断し、開
始条件に関する情報を端末装置100に送信し、処理をステップS305に進める。
ステップS304における具体的なゲーム開始条件とは、詳細を後述するが、例えば、
ゲームを最初から開始する、セーブポイントにおいてセーブしたデータがある場合、セー
ブポイントから開始する、中断データがある場合には、中断データから開始する等の条件
がある。なお、複数のセーブデータや中断データがある場合にはこれらのうち何れかを選
択することができるようにしてもよい。ここで、上述したセーブデータや、中断データは
サーバストレージ207等に格納されているものとする。
ステップS305で、サーバCPU201は、端末装置100から選択されたゲームプ
ログラムの実行を開始する。具体的には、サーバCPU201は、ゲームプログラムを起
動し、必要に応じてサーバGPU204に画像生成命令を行う。これにより、サーバCP
U201は、ゲームプログラムの処理結果としてゲーム画像を生成する。
ステップS306で、サーバCPU201は、描画されたゲーム画像に対してサーバ符
号化部206を用いて符号化処理命令を実行し、符号化動画データを生成する。そして、
サーバCPU201は、処理をステップS307に進める。
ステップS307で、サーバCPU201は、ステップS307において生成した符号
化動画データをサーバ通信部208に伝送し、端末装置100に対して送信する。以後、
サーバCPU201は、ゲーム画像生成送信処理としてステップS305からステップ3
07に係る処理をループし、ゲーム画像の生成が続く限り符号化動画データをサーバ通信
部208に伝送する。なお、ステップS305からステップS307に係る処理は、数フ
レームごとに符号化動画データを生成し、符号化を行う処理である。
<7.ゲームプログラム一時中断処理(1)>
サーバ装置200において実行されるゲームプログラム一時中断処理について、図9の
フローチャートを用いて具体的な処理を説明する。このフローチャートに対応する処理は
、サーバCPU201が、例えば、サーバROM202に記憶された対応する処理プログ
ラムを読み出し、サーバRAM203に展開して実行することにより実現することができ
る。なお、本ゲームプログラム一時中断処理は、例えばサーバ装置200が、端末装置1
00から中断信号を受信したことを、サーバCPU201が検出した際に開始される。な
お、端末装置100では、図4で説明したゲーム画像表示プログラム、図5で説明した中
断信号の送信を行うプログラム及び後述で説明する他の中断信号の送信を行うプログラム
が動作しているものとして以下の説明を行う。
ステップS401で、サーバCPU201は、タイマー値T1をリセットし0としたう
えで、処理をステップS402に進める。
ステップS402で、サーバCPU201は、サーバ通信部208を介して端末装置1
00から中断信号を受信したか否かを判断する。サーバCPU201は、中断信号を受信
していないと判断した場合には、再度ステップS402を繰り返す。一方、サーバCPU
201は、中断信号を受信したと判断した場合、処理をステップS403に進める。
ステップS403で、サーバCPU201は、タイマー値T1に経過時間に対応する数
値を加算し、処理をステップS404へ進める。
ステップS404で、サーバCPU201は、タイマー値T1が所定値を超えているか
を判断し、超えていないと判断した場合には、再度ステップS403の処理を行う。一方
、サーバCPU201は、タイマー値T1が所定値を超えていると判断した場合には、所
定時間が経過したと判断し、処理をステップS405に進める。
ステップS405で、サーバCPU201は、端末装置100からの要求に従い実行し
ているゲームプログラムに係る実行メモリの情報を保持する処理を行う。すなわち、CP
U201は、サーバRAM203やサーバVRAM205に展開されているゲームプログ
ラムの内容を保持する。そして、サーバCPU201は、処理をステップS406に進め
る。なお、ステップS405において、サーバCPU201は、保持したゲームプログラ
ムに係る情報に保持する時刻を中断時刻として付加し、中断データとする。
ここで、本実施の形態において、「保持」とは、実行メモリから保存メモリへメモリ内
容を移動させず、実行メモリ内の内容をそのまま継続して実行メモリ内に残す、すなわち
、サーバ装置200において、サーバRAM203やサーバVRAM205内のゲームプ
ログラムに関する情報を、サーバストレージ207へ移動せず、そのままサーバRAM2
03やサーバVRAM205内に継続して残すことをいう。なお、本実施の形態において
、サーバVRAM205内のゲームプログラムに関する情報は、再度生成可能であるため
に予備的に保持するようにしてもよい。
ここで、本実施の形態における実行メモリとは、プログラムが実行される際にプログラ
ムが読み出されるメモリであり、保存メモリと実行メモリとは異なりプログラムに関する
情報を保存するために用いられるメモリである。なお、実行メモリと保存メモリは物理的
に一つのものであることは妨げられないが、その性質上、読み書き速度が高速なものを実
行メモリとして用い、読み書きの速度が低速なものを保存メモリとして物理的に異ならせ
ることが好ましい。
例えば、実行メモリには、サーバRAM201やサーバVRAM205が用いられ、そ
の容量が有限である。このため、サーバRAM201にプログラムを多数展開すると容量
を超えてしまうため、保存メモリであるサーバストレージ207に適宜プログラムに関す
る情報やデータを移動するようにしている。
なお、保存メモリとしては、サーバストレージ207に限定されず、サーバRAM20
3やサーバVRAM205内部に設けるようにしてもよいし、図示しない、他のメモリで
あってもよい。実行メモリと保存メモリとは物理的に同じメモリを用いてもよいし、用途
に応じて適宜使い分けるようにしてもよい。
ここで、実行メモリの保持について具体的に説明する。実行メモリの保持としては、ス
テップS404にて所定時間が経過したと判断したときの、サーバRAM203やサーバ
VRAM205の内容を、そのままサーバRAM203やサーバVRAM205内に保持
する場合がある。サーバRAM203には、ゲームプログラムの本体及びゲームプログラ
ムの進行状況やバッファリング中の符号化動画データが記録されており、サーバVRAM
205には描画中のゲーム画像データに関する情報が記録されている。
すなわち、サーバCPU201は、サーバ装置200において実行中のゲームプログラ
ムの全てのメモリ情報をゲームの進行状況を含め保持するようにしている。より詳細に説
明すると、選択されたゲームプログラムのためにランチャーが確保したメモリ空間すべて
を保持する処理を行う。なお、サーバVRAM205内の描画中のゲーム画像データに関
する情報は、再度生成可能であり、再開直後のゲーム画像の処理を早めるために予備的に
保持するものとする。
ステップS406で、サーバCPU201は、ゲームプログラムの処理を停止するとと
もに、ステップS407で、端末装置100への符号化動画データの送信を停止する。
なお、ステップS404における所定時間は、例えば、0分としてもよい。この場合、
ただちにゲームプログラムの進行状況を保持することができる。
また、ステップS404における所定時間は、例えば、30分程度に設定されている。
これは、端末装置100において、一時的にゲーム画像表示プログラムが中断された場合
であってもすぐにゲーム画像表示プログラムが再開される場合があるからである。例えば
、端末装置100から中断信号を受信してすぐに、メモリ情報を実行メモリから保存メモ
リに移動する処理を開始してしまうと、後述する再起動の際にメモリを展開する時間がか
かるため、ゲーム画像の送信処理が遅くなってしまうおそれがある。
また、ステップS405における処理は、保存メモリが実行メモリよりも処理速度が遅
いメモリを使うことが多いため、一時中断処理は頻繁に発生させないように、上述したス
テップS404における所定時間を適宜設定することが好ましい。
なお、上述の処理フローにおいて、サーバCPU201は、端末装置100との間で通
信環境等が悪化し、端末装置100とサーバ装置200との間で通信が不可能と判断した
場合に、上述のステップS405乃至ステップS407の処理を行うようにしてもよい。
この場合も、上述したように通信不可能と判断した時から所定時間を経過するまではメモ
リ情報を実行メモリの保持を待つようにしてもよい。
<8.ゲームプログラム一時中断処理(2)>
サーバ装置200において実行されるゲームプログラム一時中断処理について、図10
のフローチャートを用いて具体的な処理を説明する。このフローチャートに対応する処理
は、サーバCPU201が、例えば、サーバROM202に記憶された対応する処理プロ
グラムを読み出し、サーバRAM203に展開して実行することにより実現することがで
きる。なお、本ゲームプログラム一時中断処理は、例えばサーバ装置200が、端末装置
100から中断信号を受信したことを、サーバCPU201が検出した際に開始される。
なお、端末装置100では、図4で説明したゲーム画像表示プログラム、図5で説明した
中断信号の送信を行うプログラム及び後述で説明する他の中断信号の送信を行うプログラ
ムが動作しているものとして以下の説明を行う。
ステップS411で、サーバCPU201は、タイマー値T2をリセットし0としたう
えで、処理をステップS412に進める。
ステップS412で、サーバCPU201は、サーバ通信部208を介して端末装置1
00から中断信号を受信したか否かを判断する。サーバCPU201は、中断信号を受信
していないと判断した場合には、再度ステップS412を繰り返す。一方、サーバCPU
201は、中断信号を受信したと判断した場合、処理をステップS413に進める。
ステップS413で、サーバCPU201は、端末装置100からの要求に従い実行し
ているゲームプログラムに関する実行メモリの情報を保持する処理を行う。すなわち、C
PU201は、サーバRAM203やサーバVRAM205に展開されているゲームプロ
グラムの内容を保持する。そして、サーバCPU201は、処理をステップS414に進
める。なお、サーバVRAM205内の描画中のゲーム画像データに関する情報は、再度
生成可能であり、再開直後のゲーム画像の処理を早めるために予備的に保持するようにし
てもよい。
ここで、本実施の形態において、「保持」とは、実行メモリから保存メモリへメモリ内
容を移動させず、実行メモリ内の内容をそのまま継続して実行メモリ内に残す、すなわち
、サーバ装置200において、サーバRAM203やサーバVRAM205内のゲームプ
ログラムに関する情報を、サーバストレージ207へ移動せず、そのままアドレス情報を
含めサーバRAM203やサーバVRAM205内に継続して残すことをいう。
ステップS414で、サーバCPU201は、タイマー値T2に経過時間に対応する数
値を加算し、処理をステップS415へ進める。
ステップS415で、サーバCPU201は、タイマー値T2が所定値を超えているか
を判断し、超えていないと判断した場合には、再度ステップS414の処理を行う。一方
、サーバCPU201は、タイマー値T2が所定値を超えていると判断した場合には、所
定時間が経過したと判断し、処理をステップS416に進める。
ステップS416で、サーバCPU201は、端末装置100からの要求に従い実行し
ているゲームプログラムに係る実行メモリの情報を移動する処理を行う。すなわち、CP
U201は、サーバRAM203やサーバVRAM205に展開されているゲームプログ
ラムの内容をサーバストレージ207に移動する。そして、サーバCPU201は、処理
をステップS417に進める。なお、ステップS416において、サーバCPU201は
、移動したゲームプログラムに係る情報の移動を行う時刻を中断時刻として付加し、中断
データとする。
ここで、本実施の形態において、「移動」とは、実行メモリから保存メモリへメモリ内
容をそのままコピーし、実行メモリのメモリ内容を開放する、すなわち、サーバ装置20
0において、サーバRAM203やサーバVRAM205内のゲームプログラムに関する
情報が、そのままサーバストレージ207にコピーされ、サーバRAM203やサーバV
RAM205内のゲームプログラムに関する情報を開放することをいう。
ここで、本実施の形態における実行メモリとは、プログラムが実行される際にプログラ
ムが読み出されるメモリであり、保存メモリと実行メモリとは異なりプログラムに関する
情報を保存するために用いられるメモリである。なお、実行メモリと保存メモリは物理的
に一つのものであることは妨げられないが、その性質上、読み書き速度が高速なものを実
行メモリとして用い、読み書きの速度が低速なものを保存メモリとして物理的に異ならせ
ることが好ましい。
例えば、実行メモリには、サーバRAM201やサーバVRAM205が用いられ、そ
の容量が有限である。このため、サーバRAM201にプログラムを多数展開すると容量
を超えてしまうため、保存メモリであるサーバストレージ207に適宜プログラムに関す
る情報やデータを移動するようにしている。
なお、保存メモリとしては、サーバストレージ207に限定されず、サーバRAM20
3やサーバVRAM205内部に設けるようにしてもよいし、図示しない、他のメモリで
あってもよい。実行メモリと保存メモリとは物理的に同じメモリを用いてもよいし、用途
に応じて適宜使い分けるようにしてもよい。
ここで、実行メモリから保存メモリへの移動について具体的に説明する。実行メモリか
ら保存メモリへの移動としては、ステップS415にて所定時間が経過したと判断したと
きの、サーバRAM203やサーバVRAM205の内容を、サーバストレージ207内
に移動する場合がある。サーバRAM203には、ゲームプログラムの本体及びゲームプ
ログラムの進行状況やバッファリング中の符号化動画データが記録されており、サーバV
RAM205には描画中のゲーム画像データに関する情報が記録されている。
すなわち、サーバCPU201は、サーバ装置200において実行中のゲームプログラ
ムの全てのメモリ情報をゲームの進行状況を含めサーバストレージ207に移動するよう
にしている。より詳細に説明すると、選択されたゲームプログラムのためにランチャープ
ログラムが確保したメモリ空間すべてをサーバストレージ207に移動する処理を行う。
なお、サーバVRAM205内の描画中のゲーム画像データに関する情報は、再度生成可
能であり、再開直後のゲーム画像の処理を早めるために予備的にサーバストレージ207
に移動するものとする。
ステップS417で、サーバCPU201は、ゲームプログラムの処理を停止するとと
もに、ステップS418で、端末装置100への符号化動画データの送信を停止する。
なお、ステップS415における所定時間は、例えば、0分としてもよい。この場合、
ただちにゲームプログラムに関する情報を直ちに移動することができる。
また、ステップS415における所定時間は、例えば、30分程度に設定されている。
これは、端末装置100において、一時的にゲーム画像表示プログラムが中断された場合
であってもすぐにゲーム画像表示プログラムが再開される場合があるからである。例えば
、端末装置100から中断信号を受信してすぐに、メモリ情報を実行メモリから保存メモ
リに移動する処理を開始してしまうと、後述する再起動の際にメモリを展開する時間がか
かるため、ゲーム画像の送信処理が遅くなってしまうおそれがある。
また、ステップS416における処理は、保存メモリが実行メモリよりも処理速度が遅
いメモリを使うことが多いため、一時中断処理を頻繁に発生させないように、上述したス
テップS415における所定時間を適宜設定することが好ましい。
なお、上述の処理フローにおいて、サーバCPU201は、端末装置100との間で通
信環境等が悪化し、端末装置100とサーバ装置200との間で通信が不可能と判断した
場合に、上述のステップS413やステップS416乃至ステップS418の処理を行う
ようにしてもよい。この場合も、上述したように通信不可能と判断した時から所定時間を
経過するまではメモリ情報を実行メモリから保存メモリに移動することを待つようにして
もよい。
<9.ゲームプログラム再開処理(1)>
サーバ装置200において実行されるゲームプログラム再開処理について、図11のフ
ローチャートを用いて具体的な処理を説明する。このフローチャートに対応する処理は、
サーバCPU201が、例えば、サーバROM202に記憶された対応する処理プログラ
ムを読み出し、サーバRAM203に展開して実行することにより実現することができる
。なお、端末装置100では、図4で説明したゲーム画像表示プログラムが動作している
ものとして以下の説明を行う。
ステップS501で、サーバCPU201は、端末装置100からの要求に応じて起動
しようとするゲームプログラムについて、サーバストレージ207に中断データがあるか
否か判断し、中断データがないと判断された場合に処理を終了する。一方、サーバCPU
201は、中断データがあると判断した場合、処理をステップS502に進める。
ステップS502で、サーバCPU201は、中断データの情報として中断時刻等を端
末装置100に送信する。ここで、中断データが複数ある場合にその全てについて中断デ
ータの情報を送るようにしてもよいし、最新の中断データの情報のみを送るようにしても
よいが、以下では、複数の中断データがある場合について説明を行う。サーバCPU20
1は、中断データの情報を端末装置100に送信後、処理をステップS503に進める。
ステップS503で、サーバCPU201は、端末装置100から中断データを選択し
た情報を得た場合、処理をステップS504に進め、中断データが選択されなかった場合
は処理を終了する。
ステップS504で、サーバCPU201は、選択された中断データをサーバストレー
ジ207から読み出し、サーバRAM203及びサーバVRAM205に展開することで
、中断データに対応するゲームプログラムの進行状況を一時中断時のまま再現する。なお
、サーバVRAM205に展開するデータが無い場合で、サーバGPU204による画像
描写が必要な場合、CPU201は、サーバGPU204へ再度、ゲーム画像の描写命令
を行い、サーバGPU204に一時中断時のサーバVRAM205内のゲーム画像を再生
成させる。
ステップS505で、サーバCPU201は、サーバRAM203及びサーバVRAM
205に展開したゲームプログラムの処理を再開する。
以上のように、サーバ装置200では、中断データを用いて復帰処理を行うことができ
るので、中断信号を受信したときのゲームプログラムの進行状況を、ゲームプログラム固
有のセーブポイントによるセーブ機能を使わずに保存することができ、既存のゲームプロ
グラムを修正する必要はない。
以上で説明したように、本実施の形態のインタラクティブシステムでは、端末装置から
の要求に従いサーバ装置が実行するゲームプログラムの進行状況を適切に保存することが
できる。
また、本実施の形態のインタラクティブシステムでは、ゲームプログラム中において許
可された条件下(いわゆるセーブポイント)でない場合であっても、ゲームプログラムの
進行状況を保存することができる。
更に、本実施の形態のインタラクティブシステムでは、ネットワークに非対応のローカ
ルな環境で用いられるゲームプログラムの場合、ゲームプログラムを書き換えずに進行状
況の保存が任意にできるようになり、特に好適なサービスを提供することができる。
なお、本発明は、上述した実施の形態に限定されず、ユーザによる端末装置の入力操作
に応じてサーバ装置が実行するプログラムの処理結果を端末装置に提供し、更にユーザに
よる端末装置の入力操作に応じてサーバ装置がプログラムを実行することを反復継続して
処理する、インタラクティブなシステムに適用することができる。例えば、エミュレータ
による既存アプリケーションプログラムの処理の提供や、VM(Virtual Machine)等の
サービス提供にも適用することができる。
<10.ゲームプログラム再開処理(2)>
サーバ装置200において実行されるゲームプログラム再開処理について、図12のフ
ローチャートを用いて具体的な処理を説明する。このフローチャートに対応する処理は、
サーバCPU201が、例えば、サーバROM202に記憶された対応する処理プログラ
ムを読み出し、サーバRAM203に展開して実行することにより実現することができる
。なお、端末装置100では、図4で説明したゲーム画像表示プログラムが動作している
ものとして以下の説明を行う。
ステップS511で、サーバCPU201は、端末装置100からの要求に応じて起動
しようとするゲームプログラムについて、実行メモリであるサーバRAM203及びサー
バVRAM205にゲームプログラムの中断データが保持されているか否か判断し、保持
されていないと判断された場合に処理を終了する。一方、サーバCPU201は、サーバ
RAM203及びサーバVRAM205にゲームプログラムの中断データが保持されてい
ると判断した場合、処理をステップS512に進める。なお、サーバVRAM205内の
描画中のゲーム画像データに関する情報は、再度生成可能であるため、必ずしも保持され
ている必要はない。
ステップS512で、サーバCPU201は、実行メモリに保持されている情報として
中断時刻等を端末装置100に送信し処理をステップS513に進める。これにより端末
装置100を操作するユーザは、中断時刻等を知ることが可能となり、実行メモリに保持
されている中断データからゲームプログラムを再開するか否かを判断する指標を得ること
ができる。
ステップS513で、サーバCPU201は、端末装置100から実行メモリに保持さ
れた中断データから再開する要求を得た場合は処理をステップS514に進め、実行メモ
リに保持された中断データから再開を要求されなかった場合は処理を終了する。
ステップS514で、サーバCPU201は、サーバRAM203及びサーバVRAM
205に保持されているゲームプログラムの進行状況を再現する。これによりサーバCP
U201は、サーバRAM203及びサーバVRAM205に保持されているゲームプロ
グラムの処理を再開する。なお、サーバVRAM205内の描画中のゲーム画像データに
関する情報は、再度生成可能であるため、必ずしも保持されている必要はない。具体的に
は、サーバVRAM205に展開するデータが無い場合で、サーバGPU204による画
像描写が必要な場合、サーバCPU201は、サーバGPU204へ再度、ゲーム画像の
描写命令を行い、サーバGPU204に中断時のサーバVRAM205内のゲーム画像を
再生成する処理を行う。
以上のように、サーバ装置200では、実行メモリに保持された状態からゲームプログ
ラムが再開されるため、進行状況の保存をゲームプログラム固有のセーブポイントによる
セーブ機能を使わずに実現することができ、既存のゲームプログラムを修正する必要はな
い。
以上で説明したように、本実施の形態のインタラクティブシステムでは、端末装置から
の要求に従いサーバ装置が実行するゲームプログラムの進行状況を適切に保存することが
できる。
また、本実施の形態のインタラクティブシステムでは、ゲームプログラム中において許
可された条件下(いわゆるセーブポイント)でない場合であっても、ゲームプログラムの
進行状況を保存することができる。
更に、本実施の形態のインタラクティブシステムでは、ネットワークに非対応のローカ
ルな環境で用いられるゲームプログラムの場合、ゲームプログラムを書き換えずに進行状
況の保存が任意にできるようになり、特に好適なサービスを提供することができる。
なお、本発明は、上述した実施の形態に限定されず、ユーザによる端末装置の入力操作
に応じてサーバ装置が実行するプログラムの処理結果を端末装置に提供し、更にユーザに
よる端末装置の入力操作に応じてサーバ装置がプログラムを実行することを反復継続して
処理する、インタラクティブなシステムに適用することができる。例えば、エミュレータ
による既存アプリケーションプログラムの処理の提供や、VM(Virtual Machine)等の
サービス提供にも適用することができる。
<11.ゲーム中断信号の生成送信処理(2)>
なお、本実施の形態の端末装置100において実行されるゲーム中断信号の生成送信処
理の他の例について、図13のフローチャートを用いて具体的な処理を説明する。このフ
ローチャートに対応する処理は、端末CPU101が、例えば端末ROM102に記録さ
れている対応する処理プログラムを読み出し、端末RAM103に展開して実行すること
により実現することができる。なお、本ゲーム中断信号の生成送信処理は、図4に示すゲ
ーム画像表示プログラムのステップS106からステップS108と並列して処理される
ステップS601で、端末CPU101は、ユーザの入力操作部107から入力操作が
なされたかどうかを判断する。端末CPU101は、ユーザの入力操作部107から入力
操作がなされていないと判断した場合には、処理をステップS602に進める。一方、端
末CPU101は、ユーザの入力操作部107から入力操作があったと判断した場合には
、処理を終了する。
ステップS602で、端末CPU101は、タイマー値T3に経過時間に対応する数値
を加算し、処理をステップS603へ進める。
ステップS603で、端末CPU101は、タイマー値T3が所定値を超えているかを
判断し、超えていないと判断した場合には、再度ステップS601の処理を行う。一方、
端末CPU101は、タイマー値が所定値T3を超えていると判断した場合には、ユーザ
の入力操作が所定時間されていないと判断し、処理をステップS604に進める。
ステップS604で、端末CPU101は、ユーザがゲームをプレイしていないと判断
できるため、例えば端末CPU101によって動作するOS(Operating System)側から
アプリケーションプログラムであるゲーム画像表示プログラム側にスリープモードに入る
ように指示をすることでアプリケーションプログラムをスリープモードに移行させ、処理
をステップS605に進める。なお、端末CPU101は、スリープモードに入ったアプ
リケーションプログラム以外のプログラム、例えばウォッチドッグプログラム等によって
スリープモードが解除されるまで、ゲーム画像表示プログラムのスリープモードを継続す
る。
ステップS605で、端末CPU101は、中断信号をサーバ装置200に送信する。
なお、本実施の形態において、中断信号は、端末CPU101におけるゲーム画像表示プ
ログラムに係る処理が中断したという情報を含む信号か、端末装置100とサーバ装置2
00との間であらかじめ定めたID等を含む信号であればよい。
なお、ステップS604とステップS605の処理は入れかえても差し支えなく、同時
に実行するようにしても構わない。
なお、端末CPU101は、端末装置100の操作入力部107等の操作により電源ボ
タンが押下され、シャットダウン処理を行う場合に、端末装置100をシャットダウンす
る前に中断信号をサーバ装置200に送信するようにしてもよい。また、端末CPU10
1は、上述で説明したユーザ入力の有無以外にもゲーム画像表示プログラムが中断する、
着呼応答等の場合等に中断信号を生成し、サーバ装置200に送信するようにしてもよい
<12.ゲーム中断信号の生成送信処理(3)>
なお、本実施の形態の端末装置100において実行されるゲーム中断信号の生成送信処
理の他の例について、図14のフローチャートを用いて具体的な処理を説明する。このフ
ローチャートに対応する処理は、端末CPU101が、例えば端末ROM102に記録さ
れている対応する処理プログラムを読み出し、端末RAM103に展開して実行すること
により実現することができる。なお、本ゲーム中断信号の生成送信処理は、図4に示すゲ
ーム画像表示プログラムのステップS106からステップS108と並列して処理される
。また、電源ボタンが押下されるまで繰り返しこの処理を行うものとする。
ステップS611で、端末CPU101は、ユーザの入力操作部107から入力操作に
よって電源ボタンが押下されたかどうかを判断する。端末CPU101は、ユーザの入力
操作によって電源ボタンが押下されたと判断した場合には、処理をステップS612に進
める。ここで、電源ボタンの押下操作による端末装置100の応答処理にはシャットダウ
ン処理とスリープ処理とが少なくとも含まれるものとする。一方、端末CPU101は、
ユーザの入力操作部107から操作がなかったと判断した場合には、処理を終了する。な
お、入力操作部107は、電源ボタンとして上述したタッチパネル以外にハードウェアキ
ーを有するようにしてもよいし、特殊な入力操作を行うことにより電源ボタンを押下した
とする信号を端末CPU101に出力するようにしてもよい。
ステップS612で、端末CPU101は、中断信号をサーバ装置200に送信する。
なお、本実施の形態において、中断信号は、端末CPU101におけるゲーム画像表示プ
ログラムに係る処理が中断したという情報を含む信号か、端末装置100とサーバ装置2
00との間であらかじめ定めたID等を含む信号であればよい。
ステップS613で、端末CPU101は、例えば、端末装置100のシャットダウン
処理を実行し、処理を終了する。ここで、シャットダウン処理とは、端末CPU101の
処理を停止させ、端末装置100全体の電源を切るものとするが、端末装置100内部に
おいて一部の構成要素の動作が継続されることを妨げるものではない。なお、図13で説
明したステップS604と同様に、OS側からゲーム画像表示プログラム側にスリープモ
ードに入るように指示をすることでゲーム画像表示プログラムをスリープモードに移行さ
せ、処理を終了するようにしてもよい。この場合、スリープモードから復帰後、図4で説
明したステップS103のようなログイン処理を再度する必要はなく、ゲームプログラム
の再開を速やかに行うことができる。
なお、ステップS612とステップS613の処理は並行して実行するようにしても構
わない。すなわち、ステップS613のシャットダウン処理の一部として、ステップS6
12の中断信号の送信処理を行うこととしてもよい。
<13.ゲーム画像生成送信処理(2)>
サーバ装置200において実行される他のゲーム画像生成送信処理について、図15の
フローチャートを用いて具体的な処理を説明する。このフローチャートに対応する処理は
、サーバCPU201が、例えばサーバROM202に記憶された対応する処理プログラ
ムを読み出し、サーバRAM203に展開して実行することにより実現することができる
。なお、本ゲーム画像生成送信処理は、例えば、サーバ装置200の提供するゲームプロ
グラムに係る処理とその処理結果の送信の要求を端末装置100から受信したことを、サ
ーバCPU201が検出した際に開始されるものとして説明する。また、本ゲーム画像生
成送信処理は、サーバ装置200上でゲームプログラムを実行するランチャープログラム
に内蔵してもよく、ランチャープログラムと並列処理するプログラムであってもよい。
なお、本実施の形態ではサーバ装置200は、ゲーム画像を符号化動画データの形態で
端末装置100に提供するものとして説明する。
ステップS702で、サーバCPU201は、サーバ通信部208により端末装置10
0との間で通信を行い相互接続を確認し、処理をステップS703に処理を進める。
ステップS703で、サーバCPU201は、端末装置100から受信したログイン情
報に基づきユーザ認証を行う。具体的に、サーバCPU201は、サーバストレージ20
7等に保存されているユーザIDとパスワードと、端末装置100から受信したログイン
情報を比較し、合致した場合にはサービス提供を受けているユーザによるログインである
として認証を行う。
ステップS704で、サーバCPU201は、実行メモリ上にゲームプログラムに関す
る情報が保持されているか否かを判断し、保持されていると判断した場合には、処理をス
テップS705へ進める。サーバCPU201は、実行メモリ上にゲームプログラムに関
する情報が保持されているか否かを判断し、保持されていないと判断した場合には、処理
をステップS706へ進める。なお、ここでいう実行メモリは、サーバRAM202及び
サーバVRAM205とする。
ステップS705で、サーバCPU201は、前回中断したゲームプログラムに関する
情報を実行メモリから取得し、実行メモリ内の情報に基づきゲームプログラムを再開する
処理を行い、処理をステップS707へ進める。すなわち、本ステップによって、実行メ
モリ内にゲームプログラムに関する情報が保持されているため、直ちにゲームプログラム
の再開を行うことができる。
一方、ステップS706で、サーバCPU201は、前回一時中断したゲームプログラ
ムに関する情報をサーバストレージ207等の保存メモリから取得し、保存メモリ内の情
報を端末RAM203等の実行メモリに展開するとともに、展開した実行メモリ内の情報
に基づきゲームを再開する処理を行い、処理をステップS707へ進める。
ステップS707で、サーバCPU201は、再開処理後はシームレスにゲームプログ
ラムの処理を継続実行する。具体的には、サーバCPU201は、ゲームプログラムによ
る描画処理を開始し、必要に応じてサーバGPU204に画像生成命令を行う。これによ
り、サーバCPU201は、ゲームプログラムの処理結果としてゲーム画像を生成する。
また、サーバCPU201は、サーバVRAM205に展開するデータが実行メモリに保
持又は保存メモリに移動されていた場合は、実行メモリに保持又は保存メモリに移動され
ていたデータと連続するようにサーバGPU204に画像生成命令を行う。
ステップS708で、サーバCPU201は、描画されたゲーム画像に対してサーバ符
号化部206を用いて符号化処理命令を実行し、符号化動画データを生成する。そして、
サーバCPU201は、処理をステップS709に進める。
ステップS709で、サーバCPU201は、ステップS708において生成した符号
化動画データをサーバ通信部208に伝送し、端末装置100に対して送信させる。
以後は、サーバCPU201は、ゲームプログラムを継続して通常通りの処理を行う。
ここで、端末装置100は、当初サーバ装置200に接続されているものに限定される
ものではない。すなわち、当初サーバ装置200に接続されていたものがスマートフォン
等の携帯端末装置であったとしても、次にユーザが操作する端末装置100がゲーム専用
機や高速なグラフィック処理能力を有するパーソナルコンピュータであってもよい。
ユーザが移動中等にゲームをプレイする場合に異なる端末装置100を用いることがあ
るため、ログイン情報が合致すれば、一定の時間内に、異なる端末装置100からでもゲ
ームを継続することができることは、ユーザの利便性を向上させ、時間や場所に応じて端
末装置100を変えながらゲームを継続して楽しむことが容易となる。
なお、上述のように端末装置100が異なる装置であった場合のサーバ装置200の処
理については、以下のように端末装置100のハードウェアスペックに応じて可変とする
ようにしてもよい。
<14.ゲーム画像生成送信処理(3)>
サーバ装置200において実行される他のゲーム画像生成送信処理について、図16の
フローチャートを用いて具体的な処理を説明する。このフローチャートに対応する処理は
、サーバCPU201が、例えばサーバROM202に記憶された対応する処理プログラ
ムを読み出し、サーバRAM203に展開して実行することにより実現することができる
。なお、本ゲーム画像生成送信処理は、例えば、サーバ装置200の提供するゲームプロ
グラムに係る処理とその処理結果の送信の要求を端末装置100から受信したことを、サ
ーバCPU201が検出した際に開始される。また、本ゲーム画像生成送信処理は、サー
バ装置200上でゲームプログラムを実行するランチャープログラムに内蔵してもよく、
ランチャープログラムと並列処理するプログラムであってもよい。
なお、本実施の形態ではサーバ装置200は、ゲーム画像を符号化動画データの形態で
端末装置100に提供するものとして説明する。
ステップS712で、サーバCPU201は、サーバ通信部208により端末装置10
0との間で通信を行い相互接続を確認し、処理をステップS713に処理を進める。
ステップS713で、サーバCPU201は、端末装置100から受信したログイン情
報に基づきユーザ認証を行う。具体的に、サーバCPU201は、サーバストレージ20
7等に保存されているユーザIDとパスワードと、端末装置100から受信したログイン
情報を比較し、合致した場合にはサービス提供を受けているユーザによるログインである
として認証を行う。
ステップS714で、サーバCPU201は、端末装置100から受信した端末固有情
報に基づき端末装置のスペックを判別する。ここで、端末固有情報には、機種名、型番、
描画能力、CPU処理能力等、ハードウェアスペックを判別するに足る情報を少なくとも
一つ含む。サーバCPU201は、端末装置のスペックが所定の能力以下であると判断し
た場合には、処理をステップS715へ進める。一方、サーバCPU201は、端末装置
のスペックが所定の能力以上であると判断した場合には、端末装置100に対して画像描
写の分担処理を要求するとともに、処理をステップS719へ進める。
ステップS715で、サーバCPU201は、前回一時中断したゲームプログラムの情
報を実行メモリ又は保存メモリから取得し、一時中断した情報が保存メモリにある場合に
は、実行メモリに展開したうえで、実行メモリ内の情報に基づきゲームを再開する処理を
行い、処理をステップS716へ進める。
ステップS716で、サーバCPU201は、再開処理後と連続するようにゲームプロ
グラムの処理を継続する。すなわち、端末装置100が、ゲーム専用機や高速なグラフィ
ック処理能力を有するパーソナルコンピュータ等でない場合には、画像生成処理を全てサ
ーバ装置200で処理し、生成したゲーム画像を送信するストリーミングモードとする。
なお、通常の初期設定では、生成したゲーム画像を送信するストリーミングモードを用い
るようにしている。また、ハードウェアスペックが判別できない場合も同様とする。
ステップS717で、サーバCPU201は、描画されたゲーム画像に対してサーバ符
号化部206を用いて符号化処理命令を実行し、符号化動画データを生成する。そして、
サーバCPU201は、処理をステップS718に進める。
ステップS718で、サーバCPU201は、ステップS717において生成した符号
化動画データをサーバ通信部208に伝送し、端末装置100に対して送信させる。
一方、ステップS719で、サーバCPU201は、前回一時中断したゲームプログラ
ムの情報を実行メモリ又は保存メモリから取得し、一時中断した情報が保存メモリにある
場合には、実行メモリに展開したうえで、実行メモリ内の情報に基づきゲームを再開する
処理を行い、処理をステップS720へ進める。
ステップS720で、サーバCPU201は、再開処理後と連続するようにゲームプロ
グラムの処理を継続する。ここで、サーバCPU201は、ステップS714において判
別したハードウェアスペックに応じて、画像生成処理の一部を端末装置100に分担する
ようにしている。すなわち、端末装置100が、ゲーム専用機や高速なグラフィック処理
能力を有するパーソナルコンピュータである場合には、画像生成処理の一部を端末装置1
00で処理可能である。このため、最終的に生成されるゲーム画像のうち、少なくとも、
ユーザインタフェースに関連する箇所などユーザの入力操作に対して高いレスポンスの性
能を必要とする箇所の描画を端末装置100に分担させる。例えば、ユーザの入力操作に
対して高いレスポンスの性能を必要とする箇所以外をサーバGPU204が描画する。
ステップS721で、サーバCPU201は、描画されたゲーム画像に対してサーバ符
号化部206を用いて符号化処理命令を実行し、符号化動画データを生成する。そして、
サーバCPU201は、処理をステップS722に進める。
ステップS722で、サーバCPU201は、ステップS721において生成した符号
化動画データをサーバ通信部208に伝送し、端末装置100に対して送信させる。
ここで、端末装置100は、ユーザの入力操作に対して高いレスポンスの性能を必要と
する箇所のみを描画し、サーバ装置200より受信したゲーム画像に、端末装置100自
身が描画したゲーム画像の一部を重畳し、最終的なゲーム画像を生成する。これにより、
端末装置100が描画した箇所について、サーバGPU204が最終的に生成される画像
全てを描画する場合と比較して、ユーザの入力操作を早く反映することができる。
以後は、サーバCPU201は、端末装置100の変更があるまで、画像描写処理を端
末装置100とサーバ装置200とで分担しながらゲームプログラムの処理を継続する。
なお、上述したゲーム画像生成送信処理(1),(2),(3)において認証したユー
ザが登録若しくは購入等したユーザではなく、公開を許可されたユーザ(グループ)であ
る場合に、公開を許可されたグループの情報をサーバストレージ207等から取得し、公
開を許可されたユーザに対して、ゲーム画像の送信を行うようにしてもよい。公開を許可
されたユーザとは、ゲストユーザであったり、フレンド登録を行ったユーザ等、適宜設定
することができる。例えば、プレイ中のゲーム画面をストリーミング配信する用途に用い
ることができる。
<15.ゲームプログラム一時中断処理(3)>
サーバ装置200において実行される他のゲームプログラム一時中断処理について、図
17のフローチャートを用いて具体的な処理を説明する。このフローチャートに対応する
処理は、サーバCPU201が、例えば、サーバROM202に記憶された対応する処理
プログラムを読み出し、サーバRAM203に展開して実行することにより実現すること
ができる。なお、本ゲームプログラム一時中断処理は、例えばサーバ装置200が、中断
信号を受信したことを、サーバCPU201が検出した際に開始される。
ステップS801で、サーバCPU201は、サーバ通信部208を介して端末装置1
00から中断信号を受信したか否かを判断する。サーバCPU201は、中断信号を受信
していないと判断した場合には、再度ステップS801を繰り返す。一方、サーバCPU
201は、中断信号を受信したと判断した場合、処理をステップS802に進める。
ステップS802で、サーバCPU201は、端末装置100からの要求に従い実行し
ているゲームプログラムの実行を一時中断し、処理をステップS803へ進める。
ステップS803で、サーバCPU201は、端末装置100からの要求に従い実行し
ているゲームプログラムに係る実行メモリの情報を保持する処理を行う。すなわち、CP
U201は、サーバRAM203やサーバVRAM205に展開されているゲームプログ
ラムの内容をサーバRAM203やサーバVRAM205にそのまま保持する。そして、
サーバCPU201は、処理をステップS804に進める。なお、ステップS803にお
いて、サーバCPU201は、ゲームプログラムに係る情報を保持する処理を行った時刻
を中断時刻として付加し、中断データとする。なお、サーバVRAM205内の描画中の
ゲーム画像データに関する情報は、再度生成可能であるため、必ずしも保持する必要はな
い。
すなわち、サーバCPU201は、サーバ装置200において実行中のゲームプログラ
ムの全てのメモリ情報をゲームの進行状況を含め保持するようにしている。より詳細に説
明すると、選択されたゲームプログラムのためにランチャーが確保したメモリ空間すべて
をサーバRAM203やサーバVRAM205にそのまま保持する処理を行う。なお、サ
ーバVRAM205内の描画中のゲーム画像データに関する情報は、再度生成可能である
ため、必ずしも保持する必要はない。
ステップS804で、サーバCPU201は、タイマー値T4をリセットし0としたう
えで、処理をステップS805に進める。
ステップS805で、サーバCPU201は、タイマー値T4に経過時間に対応する数
値を加算し、処理をステップS806へ進める。
ステップS806で、サーバCPU201は、端末装置100からサーバ通信部208
を介してサーバ装置200へ再接続要求があった場合、若しくは中断解除が要求された場
合、処理をステップS807へ進める。一方、サーバCPU201は、端末装置100か
らサーバ通信部208を介してサーバ装置200へ再接続要求がなく若しくは中断解除の
要求もない場合、処理をステップS808へ進める。
ステップS807で、サーバCPU201は、ステップS804において、サーバRA
M203やサーバVRAM205にそのまま保持している実行メモリの情報に基づきゲー
ムプログラムを再開し、処理を終了する。なお、ステップS808において、サーバVR
AM205に展開するデータが無い場合で、サーバGPU204による画像描写が必要な
場合、サーバCPU201は、サーバGPU204へ再度、ゲーム画像の描写命令を行い
、サーバGPU204に中断時のサーバVRAM205内のゲーム画像を再生成する処理
を行う。
ステップS808で、サーバCPU201は、タイマー値T4が所定値を超えているか
を判断し、超えていないと判断した場合には、再度ステップS805の処理を行う。一方
、サーバCPU201は、タイマー値T4が所定値を超えていると判断した場合には、所
定時間が経過したと判断し、処理をステップS809に進める。
ステップS809で、サーバCPU201は、端末装置100からの要求に従い実行し
ているゲームプログラムに関する実行メモリの情報を保存メモリに移動する処理を行う。
すなわち、CPU201は、サーバRAM203やサーバVRAM205に展開されてい
るゲームプログラムに関する情報をサーバストレージ207に移動する。そして、サーバ
CPU201は、処理をステップS810に進める。なお、ステップS809において、
サーバCPU201は、ゲームプログラムに関する情報を移動する処理を行った時刻を中
断時刻として付加し、中断データとする。なお、サーバVRAM205内の描画中のゲー
ム画像データに関する情報は、再度生成可能であるため、必ずしも移動する必要はない。
ここで、本実施の形態における実行メモリとは、プログラムが実行される際にプログラ
ムが読み出されるメモリであり、保存メモリと実行メモリとは異なりプログラムに関する
情報を保存するために用いられるメモリである。なお、実行メモリと保存メモリは物理的
に一つのものであることは妨げられないが、その性質上、読み書き速度が高速なものを実
行メモリとして用い、読み書きの速度が低速なものを保存メモリとして物理的に異ならせ
ることが好ましい。
例えば、実行メモリには、サーバRAM201やサーバVRAM205が用いられ、そ
の容量が有限である。このため、サーバRAM201にプログラムを多数展開すると容量
を超えてしまうため、保存メモリであるサーバストレージ207に適宜プログラムやデー
タを保存するようにしている。
なお、保存メモリとしては、サーバストレージ207に限定されず、サーバRAM20
3やサーバVRAM205内部に設けるようにしてもよいし、図示しない、他のメモリで
あってもよい。実行メモリと保存メモリとは物理的に同じメモリを用いてもよいし、用途
に応じて適宜使い分けるようにしてもよい。
ステップS810で、サーバCPU201は、ゲームプログラムの処理を停止するとと
もに、ステップS811で、端末装置100への符号化動画データの送信を停止する。こ
こで、ステップS810における、ゲームプログラムの処理を停止するとは、ランチャー
プログラムが確保した当該ゲームプログラムに関する情報を実行メモリから完全に開放し
た状態にすることをいう。
なお、ステップS811は、ステップS802の後であれば適宜、処理順序を入れかえ
ても差し支えない。
また、ステップS809における処理は、保存メモリが実行メモリよりも処理速度が遅
いメモリを使うことが多いため、一時中断処理は頻繁に発生させないように、上述したス
テップ808における所定時間を適宜設定することが好ましい。
<16.ゲームプログラム一時中断処理(4)>
サーバ装置200において実行される他のゲームプログラム一時中断処理について、図
18のフローチャートを用いて具体的な処理を説明する。このフローチャートに対応する
処理は、サーバCPU201が、例えば、サーバROM202に記憶された対応する処理
プログラムを読み出し、サーバRAM203に展開して実行することにより実現すること
ができる。なお、本ゲームプログラム一時中断処理は、例えばサーバ装置200が、ゲー
ム画像の生成、送信処理を行っている際に適宜実行される。
ステップS821で、サーバCPU201は、タイマー値T5及びタイマー値T6をリ
セットし0としたうえで、処理をステップS822に進める。
ステップS822で、サーバCPU201は、サーバ通信部208を介して端末装置1
00との間で通信が途絶したかどうかを判断する。サーバCPU201は、通信が途絶し
ていないと判断した場合には、再度ステップS821を繰り返す。一方、サーバCPU2
01は、通信が途絶したと判断した場合、処理をステップS823に進める。
ステップS823で、サーバCPU201は、タイマー値T5に経過時間に対応する数
値を加算し、処理をステップS824へ進める。
ステップS824で、サーバCPU201は、タイマー値T5が所定値を超えているか
を判断し、超えていないと判断した場合には、再度ステップS822の処理を行う。一方
、サーバCPU201は、タイマー値T5が所定値を超えていると判断した場合には、所
定時間が通信が途絶していると判断し、処理をステップS825に進める。
ステップS825で、サーバCPU201は、端末装置100と通信が途絶しており画
像データの送信ができないためゲームプログラムの実行を一時中断し、処理をステップS
826へ進める。
ステップS826で、サーバCPU201は、一時中断時のゲームプログラムに関する
情報を実行メモリに保持する処理を行う。すなわち、CPU201は、サーバRAM20
3やサーバVRAM205に展開されているゲームプログラムの内容をサーバRAM20
3やサーバVRAM205にそのまま保持する。そして、サーバCPU201は、処理を
ステップS827に進める。なお、ステップS826において、サーバCPU201は、
ゲームプログラムに係る情報を保持する処理を行った時刻を中断時刻として付加し、中断
データとする。なお、サーバVRAM205内の描画中のゲーム画像データに関する情報
は、再度生成可能であるため、必ずしも保持する必要はない。
ここで、実行メモリの保持について具体的に説明する。実行メモリの保持としては、ス
テップS825にて一時中断時の、サーバRAM203やサーバVRAM205の内容を
、そのままサーバRAM203やサーバVRAM205内に保持する。サーバRAM20
3には、展開されているゲームプログラムに関する情報及びゲームプログラムの進行状況
やバッファリング中の符号化動画データが記録されており、サーバVRAM205には描
画中のゲーム画像データに関する情報が記録されている。
すなわち、サーバCPU201は、サーバ装置200において実行中のゲームプログラ
ムの全てのメモリ情報をゲームの進行状況を含め保持するようにしている。より詳細に説
明すると、選択されたゲームプログラムのためにサーバRAM203やサーバVRAM2
05にランチャーが確保しているメモリ空間すべてを保持する処理を行う。なお、サーバ
VRAM205内の描画中のゲーム画像データに関する情報は、再度生成可能であるため
、必ずしも保持する必要はないことは上述で述べたとおりである。
ステップS827で、サーバCPU201は、タイマー値T6に経過時間に対応する数
値を加算し、処理をステップS828へ進める。
ステップS828で、サーバCPU201は、サーバ通信部208を介して端末装置1
00との間で通信が回復したかどうかを判断する。サーバCPU201は、通信が回復し
ていないと判断した場合には、処理をステップS829へ進める。一方、サーバCPU2
01は、通信が回復したと判断した場合、処理をステップS830に進める。
ステップS830で、サーバCPU201は、ステップS826において、保持した実
行メモリの情報に基づきゲームプログラムを再開し、処理を終了する。
つぎに、ステップS829で、サーバCPU201は、タイマー値T6が所定値を超え
ているかを判断し、超えていないと判断した場合には、再度ステップS827の処理を行
う。一方、ステップS829で、サーバCPU201は、タイマー値T6が所定値を超え
ていると判断した場合には、端末装置100との間で通信が途絶し通信の回復の見込みも
ないと判断し、処理をステップS831に進める。
ステップS831で、サーバCPU201は、端末装置100との間で通信が途絶し通
信の回復の見込みもないため、ゲームプログラムに関する情報を実行メモリから保存メモ
リに移動する処理を行う。すなわち、CPU201は、サーバRAM203やサーバVR
AM205に展開されているゲームプログラムの内容をサーバストレージ207に移動す
る。そして、サーバCPU201は、処理をステップS832に進める。なお、ステップ
S831において、サーバCPU201は、ゲームプログラムに関する情報を移動する処
理を行った時刻を中断時刻として付加し、中断データとする。なお、サーバVRAM20
5内の描画中のゲーム画像データに関する情報は、再度生成可能であるため、必ずしも移
動する必要はない。
ここで、本実施の形態における実行メモリとは、プログラムが実行される際にプログラ
ムが読み出されるメモリであり、保存メモリと実行メモリとは異なりプログラムに関する
情報を保存するために用いられるメモリである。なお、実行メモリと保存メモリは物理的
に一つのものであることは妨げられないが、その性質上、読み書き速度が高速なものを実
行メモリとして用い、読み書きの速度が低速なものを保存メモリとして物理的に異ならせ
ることが好ましい。
例えば、実行メモリには、サーバRAM201やサーバVRAM205が用いられ、そ
の容量が有限である。このため、サーバRAM201にプログラムを多数展開すると容量
を超えてしまうため、保存メモリであるサーバストレージ207に適宜プログラムやデー
タを保存するようにしている。
なお、保存メモリとしては、サーバストレージ207に限定されず、サーバRAM20
3やサーバVRAM205内部に設けるようにしてもよいし、図示しない、他のメモリで
あってもよい。実行メモリと保存メモリとは物理的に同じメモリを用いてもよいし、用途
に応じて適宜使い分けるようにしてもよい。
ステップS832で、サーバCPU201は、ゲームプログラムの処理を停止するとと
もに、ステップS833で、端末装置100への符号化動画データの送信を停止する。こ
こで、ステップS832における、ゲームプログラムの処理を停止するとは、ランチャー
プログラムが確保した当該ゲームプログラムに関する情報を実行メモリから完全に開放し
た状態にすることをいう。
なお、ステップS821は、タイマーカウンタの加算ループ処理の前であれば、適宜、
順序を入れかえても差し支えないし、タイマー値T5とタイマー値T6を別ステップにて
リセットするようにしてもよいことは言うまでもない。
また、ステップS831における処理は、保存メモリが実行メモリよりも処理速度が遅
いメモリを使うことが多いため、一時中断処理は頻繁に発生させないように、上述したス
テップ829における所定時間を適宜設定することが好ましい。
上述したような処理は、端末装置100が、通信環境が良好ではないエリアにいる場合
や、複数の無線通信基地局の境界などにおけるハンドオーバー処理の遅延など、一時的な
通信途絶がある場合に特に有効である。従って、ユーザが使用する端末装置100に想定
される通信途絶時間に基づいて、適宜タイマー値T5及びタイマー値T6を設定すること
が好ましい。また、端末装置100の通信状況が悪い場合に、サーバCPU201が、タ
イマー値T5やタイマー値T6を自動的に大きく設定するようにしてもよい。また、サー
バCPU201が、端末装置100の通信状況を連続的にモニタリングし、タイマー値T
5やタイマー値T6をリアルタイムに可変するようにしてもよい。
<17.ゲームプログラム再開処理(2)>
サーバ装置200において実行される他のゲームプログラム再開処理について、図19
のフローチャートを用いて具体的な処理を説明する。このフローチャートに対応する処理
は、サーバCPU201が、例えば、サーバROM202に記憶された対応する処理プロ
グラムを読み出し、サーバRAM203に展開して実行することにより実現することがで
きる。
ステップS901で、サーバCPU201は、端末装置100からの要求に応じて起動
しようとするゲームプログラムについて、実行メモリであるサーバRAM203及びサー
バVRAM205に一時中断した情報が保持されているか否か判断し、一時中断した情報
が保持されていないと判断された場合に処理を終了する。一方、サーバCPU201は、
一時中断した情報が保持されていると判断した場合、処理をステップS902に進める。
なお、サーバVRAM205内の描画中のゲーム画像データに関する情報は、再度生成可
能であるため、必ずしも保持する必要はない。
ステップS902で、サーバCPU201は、中断時刻等を端末装置100に送信し、
処理をステップS903に進める。これにより端末装置100を操作するユーザは、中断
時刻等を知ることが可能となり、実行メモリに保持されている状態からゲームプログラム
を再開するか否かを判断する指標を得ることができる。
ステップS903で、サーバCPU201は、端末装置100から一時中断したゲーム
プログラムを再開する要求を含む情報を得た場合、処理をステップS904に進め、端末
装置100から一時中断したゲームプログラムを再開する要求がなかった場合には処理を
終了する。
ステップS904で、サーバCPU201は、実行メモリであるサーバRAM203及
びサーバVRAM205に保持された一時中断した情報からゲームプログラムの処理を再
開する。なお、ステップS904において、サーバVRAM205に展開するデータが無
い場合で、サーバGPU204による画像描写が必要な場合、サーバCPU201は、サ
ーバGPU204へ再度、ゲーム画像の描写命令を行い、サーバGPU204に一時中断
時のサーバVRAM205内のゲーム画像を再生成する処理を行う。
なお、上述の処理では、サーバ装置200が端末装置100からゲームプログラムを再
開する要求を含む情報を得た場合は、実行メモリであるサーバRAM203及びサーバV
RAM205に保持された一時中断した情報からゲームプログラムの処理を再開すること
としたが、一時中断した情報が実行メモリであるサーバRAM203及びサーバVRAM
205に保持されている場合、端末装置100からサーバ装置200へのアクセス時にサ
ーバ装置200が自動的にゲーム画像の生成、送信等の処理を再開するようにしてもよい
以上のように、サーバ装置200では、実行メモリに保持された情報を用いて復帰処理
を行うことで、ゲームプログラム固有のセーブポイントによるセーブ機能を使わずに、所
定の条件において一時中断したゲームプログラムの再開を実現することができる。特に、
既存のゲームプログラムを修正する必要はない。所定の条件とは、上述したように、端末
装置100から中断信号を受信したときや、端末装置100との間で通信が途絶したとき
等、ゲームプログラムに関する情報が実行メモリに保持又は実行メモリから保存メモリに
移動される各条件である。
<18.ゲームプログラム再開処理(3)>
サーバ装置200において実行される他のゲームプログラム再開処理について、図20
のフローチャートを用いて具体的な処理を説明する。このフローチャートに対応する処理
は、サーバCPU201が、例えば、サーバROM202に記憶された対応する処理プロ
グラムを読み出し、サーバRAM203に展開して実行することにより実現することがで
きる。
ステップS911で、サーバCPU201は、端末装置100からの要求に応じて起動
しようとするゲームプログラムについて、ポーズボタン押下によるポーズ状態にあるか否
かを判断し、ポーズ状態ではないと判断した場合に処理を終了する。一方、サーバCPU
201は、ポーズボタン押下によるポーズ状態にあると判断した場合、処理をステップS
912に進める。なお、ポーズボタン押下状態とは、ユーザが端末装置100を操作して
、ポーズボタンを押下し、ゲームプログラムの進行を一時停止している状態であり、次の
実施の形態で説明するサーバ装置200側が通信途絶等の理由によりポーズボタン押下信
号を等価的に生成し、割り込ませた場合を含む。
ここで、本実施の形態において、「ポーズ」とは、ゲームプログラムが実装する処理の
一つであり、例えば、ユーザのポーズボタン押下操作により要求がなされ、ゲームの進行
が一時的に停止可能な状態であれば一時停止を行うが、ゲームプログラム自体は動作を継
続し、実行メモリ内の情報の保持や移動は行わない処理である。言い換えると、「ポーズ
」とは、ゲームの進行状況を一時停止するのであって、実行メモリ内の情報の書き換えが
行われ得る処理である。
ステップS912で、サーバCPU201は、ゲームプログラムの進行が一時停止して
いるポーズ状態であることを端末装置100に送信し、処理をステップS913に進める
ステップS913で、サーバCPU201は、端末装置100からポーズボタン押下操
作によりポーズ処理を解除する要求を含む情報を得た場合、処理をステップS914に進
め、ポーズ処理を解除する要求が無い場合には処理を終了する。
ステップS914で、サーバCPU201は、ポーズ処理を解除し、ポーズ機能により
進行状況が一時停止しているゲームプログラムの処理を再開する。
なお、ゲームプログラムの進行状況の一時停止方法として、ゲームプログラム上に実装
されているポーズ処理を発動するために、ユーザによる一時停止ボタンの押下操作の如何
にかかわらず、サーバCPU201がポーズボタン操作信号を等価的に生成してゲームプ
ログラムに割り込ませる方法をとることができる。ポーズボタン操作信号の生成は、ラン
チャープログラムが行ってもよいし、他のプログラムが行うこととしてもよい。
また、ゲームプログラムの進行状況の一時停止方法として、ゲームプログラム上に実装
されているメニュー表示機能を発動するために、ユーザによるメニューボタンの押下操作
の如何にかかわらず、サーバCPU201がメニューボタン操作信号を等価的に生成して
ゲームプログラムに割り込ませる方法をとることもできる。メニューボタン操作信号の生
成は、ランチャープログラムが行ってもよいし、他のプログラムが行うこととしてもよい
ここで、本実施の形態において、「メニュー表示」とは、ゲームプログラムが実装する
処理の一つであり、例えば、ユーザの操作により要求がなされ、ポーズ処理と異なり、ゲ
ームプログラムのメニュー画面を表示する処理である。なお、メニューボタンは、必ずし
もゲーム画面に表示されている必要はなく、物理的なボタンが規定されていなくともよい
。このため、「メニューボタン押下操作」とは、メニューボタン操作信号を生成するあら
ゆる操作を含むものとする。
メニュー表示は、例えば、ゲームプログラムの進行中に、各種の設定を行ったり、ゲー
ム内アイテムを変更したりするためのメニュー画面を表示するものであり、メニュー表示
が行われることによってゲームプログラムの進行が一時停止する点で、ポーズ処理と同等
の機能を有する。
しかしながら、ゲームプログラムにおいて、ポーズ処理を受け付けない場合、例えば、
カットシーンや動画が再生されるだけの時間帯、いわゆるムービーシーン等の場合、ポー
ズ処理が行われない。そのため、サーバCPU201は、ゲームプログラムがメニュー表
示機能を実装していれば、ポーズ処理を受け付けない場合であっても、メニューボタン操
作信号をゲームプログラムに割り込ませることで、ゲームプログラムの進行を一時停止さ
せることができる。
なお、他の実施の形態においてポーズ処理を行う場合に、上記のメニュー表示機能を併
用若しくは代替して用いることができるものとする。
以上のように、サーバ装置200では、ゲームプログラムに実装されたポーズ処理等に
よってもゲームの進行状況を適宜保存することができる。ポーズ処理が解除されることで
、ゲームプログラムの再開を実現することができる。特に、既存のゲームプログラムを修
正する必要はない。
<19.ゲームプログラム一時中断処理(5)>
サーバ装置200において実行されるゲームプログラム一時中断処理について、図21
のフローチャートを用いて具体的な処理を説明する。このフローチャートに対応する処理
は、サーバCPU201が、例えば、サーバROM202に記憶された対応する処理プロ
グラムを読み出し、サーバRAM203に展開して実行することにより実現することがで
きる。なお、本ゲームプログラム一時中断処理は、例えばサーバ装置200が、端末装置
100から中断信号を受信したことを、サーバCPU201が検出した際に開始される。
また、本ゲームプログラム一時中断処理は、図18で説明したように、例えばサーバ装置
200が、端末装置100との間で通信途絶等になったことを、サーバCPU201が検
出した際に開始するよう変更することも可能である。なお、端末装置100では、図4で
説明したゲーム画像表示プログラム、図5等で説明した中断信号の送信を行うプログラム
が動作しているものとして以下の説明を行う。
ステップS421で、サーバCPU201は、サーバ通信部208を介して端末装置1
00から中断信号を受信したか否かを判断する。サーバCPU201は、中断信号を受信
していないと判断した場合には、再度ステップS422を繰り返す。一方、サーバCPU
201は、中断信号を受信したと判断した場合、処理をステップS422に進める。
ステップS422で、サーバCPU201は、タイマー値T7をリセットし0としたう
えで、処理をステップS423に進める。
ステップS423で、サーバCPU201は、タイマー値T7に経過時間に対応する数
値を加算し、処理をステップS424へ進める。
ステップS424で、サーバCPU201は、タイマー値T7が所定値を超えているか
を判断し、超えていないと判断した場合には、再度ステップS423の処理を行う。一方
、サーバCPU201は、タイマー値T7が所定値を超えていると判断した場合には、所
定時間が経過したと判断し、処理をステップS425に進める。
なお、ステップS424における所定値は通常0である。中断信号を受信した際には速
やかに後述するポーズ処理を行うことで、ゲームプログラムの進行状況を適切に保存する
ことができる。
ステップS425で、サーバCPU201は、端末装置100からの要求に従い実行し
ているゲームプログラムのポーズ処理を行う。すなわち、CPU201は、ゲームプログ
ラムに実装されているポーズ処理を発動させるため、ポーズボタン操作信号と等価な信号
を生成し、ポーズ処理の要求があったものとし、この生成した信号をゲームプログラムへ
疑似的に入力する。なお、サーバCPU201は、ゲームプログラムに実装されているポ
ーズ処理が実行できない場合に、所定の時間経過後、例えば画像描写で数フレーム後に、
メニュー画面を表示させるため、メニューボタン操作信号と等価な信号を生成し、メニュ
ー画面の表示の要求があったものとし、この生成した信号をゲームプログラムへ疑似的に
入力する。他の実施の形態でも説明したように、メニュー画面の表示はポーズ処理と同等
の効果を得ることができるため、ポーズ処理が必ずしもできない場面であっても二重でゲ
ームプログラムの一時中断を行うことが可能となる。
ここで、本実施の形態において、「ポーズ」とは、ゲームプログラムが実装する処理の
一つであり、例えば、ユーザの操作により要求がなされ、ゲームの進行が一時的に停止可
能な状態であれば一時停止を行うが、ゲームプログラム自体は動作を継続し、実行メモリ
内の情報の保持や移動は行わない処理である。言い換えると、「ポーズ」とは、ゲームの
進行状況を停止するのであって、実行メモリ内の情報の書き換えが行われ得る処理である
以後、サーバCPU201は、ポーズボタンの入力操作によってユーザからポーズ処理
の解除を要求する信号が端末装置から送信されるまで、ゲームプログラムのポーズ処理を
継続する。
具体的には、ステップS426で、サーバCPU201は、ポーズボタンの入力操作に
よってポーズ処理を解除する要求があるか否かを判断する。サーバCPU201は、ポー
ズ処理の解除の要求があったと判断した場合に、処理をステップS427へ進め、ポーズ
処理を解除して処理を終了する。また、サーバCPU201は、ポーズ処理の解除の要求
が無い場合は、処理をステップS426に進め、ポーズ処理を継続する。
ここで、ゲームプログラムのポーズ処理中は、他の実施の形態で説明したゲーム画像生
成送信処理が継続して行われているものとする。実態としては、ポーズ処理中にゲーム画
像が変化することは無いことが一般的であるが、ポーズ処理中にもゲーム画面が変化する
こともあり、例えばポーズ処理中であることを示すアイコン等が動くこともあり得るため
、ゲーム画像生成送信処理を継続する必要があるからである。なお、端末装置100側に
おいてポーズ処理中のゲーム画面をスクリーンショットとして保有し、このスクリーンジ
ョットを端末装置100側で表示することで、サーバ装置200のゲーム画像の送信を停
止するようにしてもよい。
<19.ゲームプログラム一時中断処理(6)>
サーバ装置200において実行されるゲームプログラム一時中断処理について、図22
のフローチャートを用いて具体的な処理を説明する。このフローチャートに対応する処理
は、サーバCPU201が、例えば、サーバROM202に記憶された対応する処理プロ
グラムを読み出し、サーバRAM203に展開して実行することにより実現することがで
きる。なお、本ゲームプログラム一時中断処理は、例えばサーバ装置200が、端末装置
100から中断信号を受信したことを、サーバCPU201が検出した際に開始される。
なお、端末装置100では、図4で説明したゲーム画像表示プログラム、図5等で説明し
た中断信号の送信を行うプログラムが動作しているものとして以下の説明を行う。
ステップS431で、サーバCPU201は、サーバ通信部208を介して端末装置1
00から中断信号を受信したか否かを判断する。サーバCPU201は、中断信号を受信
していないと判断した場合には、再度ステップS431を繰り返す。一方、サーバCPU
201は、中断信号を受信したと判断した場合、処理をステップS432に進める。
ステップS432で、サーバCPU201は、端末装置100からの要求に従い実行し
ているゲームプログラムのポーズ処理を行う。すなわち、CPU201は、ゲームプログ
ラムに実装されているポーズ処理を発動させるため、ポーズボタン操作信号と等価な信号
を生成し、ポーズ処理の要求があったものとし、この生成した信号をゲームプログラムへ
疑似的に入力する。
ここで、本実施の形態において、「ポーズ」とは、ゲームプログラムが実装する処理の
一つであり、例えば、ユーザの操作により要求がなされ、ゲームの進行が一時的に停止可
能な状態であれば一時停止を行うが、ゲームプログラム自体は動作を継続し、実行メモリ
内の情報の保持や移動は行わない処理である。言い換えると、「ポーズ」とは、ゲームの
進行状況を停止するのであって、実行メモリ内の情報の書き換えが行われ得る処理である
ステップS433で、サーバCPU201は、タイマー値T8をリセットし0としたう
えで、処理をステップS434に進める。
ステップS434で、サーバCPU201は、タイマー値T8に経過時間に対応する数
値を加算し、処理をステップS435へ進める。
ステップS435で、サーバCPU201は、タイマー値T8が所定値を超えているか
を判断し、超えていないと判断した場合には、再度ステップS434の処理を行う。一方
、サーバCPU201は、タイマー値T8が所定値を超えていると判断した場合には、所
定時間が経過したと判断し、処理をステップS436に進める。
ステップS436で、サーバCPU201は、端末装置100からの要求に従い実行し
ているゲームプログラムに関する実行メモリの情報を保持する処理を行う。すなわち、C
PU201は、サーバRAM203やサーバVRAM205に展開されているゲームプロ
グラムの内容を保持する。そして、サーバCPU201は、処理をステップS437に進
める。なお、サーバVRAM205内の描画中のゲーム画像データに関する情報は、再度
生成可能であり、再開直後のゲーム画像の処理を早めるために予備的に保持するようにし
てもよい。
ここで、本実施の形態において、「保持」とは、実行メモリから保存メモリへメモリ内
容を移動させず、実行メモリ内の内容をそのまま継続して実行メモリ内に残す、すなわち
、サーバ装置200において、サーバRAM203やサーバVRAM205内のゲームプ
ログラムに関する情報を、サーバストレージ207へ移動せず、そのままアドレス情報を
含めサーバRAM203やサーバVRAM205内に継続して残すことをいう。
ステップS437で、サーバCPU201は、ゲームプログラムの処理を停止するとと
もに、ステップS438で、端末装置100への符号化動画データの送信を停止する。
なお、ステップS435における所定時間は、例えば、0分としてもよい。この場合、
ただちにゲームプログラムの一時中断した情報を直ちに保持することができる。
また、ステップS435における所定時間は、例えば、15分程度に設定されている。
これは、端末装置100において、一時的にゲーム画像表示プログラムが中断された場合
であってもすぐにゲーム画像表示プログラムが再開される場合があるからである。例えば
、端末装置100から中断信号を受信してすぐに、メモリ情報を保持する処理を開始して
しまうと、ポーズ処理の解除と比較してゲームプログラムの進行の再開が遅れるため、ゲ
ーム画像の送信処理が遅くなってしまうおそれがある。
なお、上述の処理フローにおいて、サーバCPU201は、端末装置100との間で通
信環境等が悪化し、端末装置100とサーバ装置200との間で通信が不可能と判断した
場合に、上述のステップS432やステップS436乃至ステップS438の処理を行う
ようにしてもよい。この場合も、上述したように通信不可能と判断した時から所定時間を
経過するまではゲームプログラムをポーズ処理とし、メモリ情報を保持することを待つよ
うにしてもよい。
<21.ゲームプログラム一時中断処理(7)>
サーバ装置200において実行される他のゲームプログラム一時中断処理について、図
23及び図24のフローチャートを用いて具体的な処理を説明する。このフローチャート
に対応する処理は、サーバCPU201が、例えば、サーバROM202に記憶された対
応する処理プログラムを読み出し、サーバRAM203に展開して実行することにより実
現することができる。なお、本ゲームプログラム一時中断処理は、例えばサーバ装置20
0が、中断信号を受信したことを、サーバCPU201が検出した際に開始される。
ステップS841で、サーバCPU201は、サーバ通信部208を介して端末装置1
00から中断信号を受信したか否かを判断する。サーバCPU201は、中断信号を受信
していないと判断した場合には、再度ステップS841を繰り返す。一方、サーバCPU
201は、中断信号を受信したと判断した場合、処理をステップS842に進める。
ステップS842で、サーバCPU201は、端末装置100からの要求に従い実行し
ているゲームプログラムの実行を一時中断し、処理をステップS843へ進める。すなわ
ち、CPU201は、ゲームプログラムに実装されているポーズ処理を発動させるため、
ポーズボタン操作信号と等価な信号を生成し、ポーズ処理の要求があったものとし、この
生成した信号をゲームプログラムへ疑似的に入力する。
ここで、本実施の形態において、「ポーズ」とは、ゲームプログラムが実装する処理の
一つであり、例えば、ユーザの操作により要求がなされ、ゲームの進行が一時的に停止可
能な状態であれば一時停止を行うが、ゲームプログラム自体は動作を継続し、実行メモリ
内の情報の保持や移動は行わない処理である。言い換えると、「ポーズ」とは、ゲームの
進行状況を停止するのであって、実行メモリ内の情報の書き換えが行われ得る処理である
。なお、ポーズボタンは、必ずしもゲーム画面に表示されている必要はなく、物理的なボ
タンが規定されていなくともよい。このため、「ポーズボタン押下操作」とは、ポーズボ
タン操作信号を生成するあらゆる操作を含むものとする。
なお、ステップS842の処理にかかるポーズボタン操作信号の生成は、ランチャープ
ログラムが行ってもよいし、他のプログラムが行うこととしてもよい。
ステップS843で、サーバCPU201は、タイマー値T9をリセットし0としたう
えで、処理をステップS844に進める。
ステップS844で、サーバCPU201は、タイマー値T9に経過時間に対応する数
値を加算し、処理をステップS845へ進める。
ステップS845で、サーバCPU201は、端末装置100からポーズ処理の解除を
要求するポーズボタン操作信号が入力されたか否かを判断し、入力があった場合には、ス
テップS846において、ポーズボタン操作信号をゲームプログラムに入力し、ゲームプ
ログラムのポーズ処理を解除し、処理を終了する。他方、サーバCPU201は、ポーズ
ボタン操作信号の入力が無いと判断した場合には、処理をステップS847に進める。
ステップS847で、サーバCPU201は、タイマー値T9が所定値を超えているか
を判断し、超えていないと判断した場合には、再度ステップS844の処理を行う。一方
、サーバCPU201は、タイマー値T9が所定値を超えていると判断した場合には、ユ
ーザがポーズ処理の解除を要求していないと判断し、処理をステップS848に進める。
ステップS848で、サーバCPU201は、端末装置100からの要求に従い実行し
ているゲームプログラムに係る実行メモリの情報を保持する処理を行う。すなわち、CP
U201は、サーバRAM203やサーバVRAM205に展開されているゲームプログ
ラムの内容をサーバRAM203やサーバVRAM205にそのまま保持する。そして、
サーバCPU201は、処理をステップS849に進める。なお、ステップS848にお
いて、サーバCPU201は、ゲームプログラムに係る情報を保持する処理を行った時刻
を中断時刻として付加し、中断データとする。なお、サーバVRAM205内の描画中の
ゲーム画像データに関する情報は、再度生成可能であるため、必ずしも保持する必要はな
い。
ステップS849で、サーバCPU201は、タイマー値T10をリセットし0とした
うえで、処理をステップS850に進める。
ステップS850で、サーバCPU201は、タイマー値T10に経過時間に対応する
数値を加算し、処理をステップS851へ進める。
ステップS851で、サーバCPU201は、端末装置100から中断解除が要求され
た場合、処理をステップS852へ進める。一方、サーバCPU201は、端末装置10
0から中断解除の要求もない場合、処理をステップS853へ進める。
ステップS852で、サーバCPU201は、ステップS848において、サーバRA
M203やサーバVRAM205にそのまま保持している実行メモリの情報に基づきゲー
ムプログラムを再開し、処理を終了する。なお、ステップS852において、サーバVR
AM205に展開するデータが無い場合で、サーバGPU204による画像描写が必要な
場合、サーバCPU201は、サーバGPU204へ再度、ゲーム画像の描写命令を行い
、サーバGPU204に中断時のサーバVRAM205内のゲーム画像を再生成する処理
を行う。
一方、ステップS853で、サーバCPU201は、タイマー値T2が所定値を超えて
いるかを判断し、超えていないと判断した場合には、再度ステップS850の処理を行う
。他方、サーバCPU201は、タイマー値T2が所定値を超えていると判断した場合に
は、所定時間が経過したと判断し、処理をステップS854に進める。
ステップS854で、サーバCPU201は、端末装置100からの要求に従い実行し
ているゲームプログラムに関する実行メモリの情報を保存メモリに移動する処理を行う。
すなわち、CPU201は、サーバRAM203やサーバVRAM205に展開されてい
るゲームプログラムに関する情報をサーバストレージ207に移動する。そして、サーバ
CPU201は、処理をステップS855に進める。なお、ステップS854において、
サーバCPU201は、ゲームプログラムに関する情報を移動する処理を行った時刻を中
断時刻として付加し、中断データとする。なお、サーバVRAM205内の描画中のゲー
ム画像データに関する情報は、再度生成可能であるため、必ずしも移動する必要はない。
ここで、本実施の形態における実行メモリとは、プログラムが実行される際にプログラ
ムが読み出されるメモリであり、保存メモリと実行メモリとは異なりプログラムに関する
情報を保存するために用いられるメモリである。なお、実行メモリと保存メモリは物理的
に一つのものであることは妨げられないが、その性質上、読み書き速度が高速なものを実
行メモリとして用い、読み書きの速度が低速なものを保存メモリとして物理的に異ならせ
ることが好ましい。
例えば、実行メモリには、サーバRAM201やサーバVRAM205が用いられ、そ
の容量が有限である。このため、サーバRAM201にプログラムを多数展開すると容量
を超えてしまうため、保存メモリであるサーバストレージ207に適宜プログラムやデー
タを保存するようにしている。
なお、保存メモリとしては、サーバストレージ207に限定されず、サーバRAM20
3やサーバVRAM205内部に設けるようにしてもよいし、図示しない、他のメモリで
あってもよい。実行メモリと保存メモリとは物理的に同じメモリを用いてもよいし、用途
に応じて適宜使い分けるようにしてもよい。
ステップS855で、サーバCPU201は、ゲームプログラムの処理を停止するとと
もに、ステップS856で、端末装置100への符号化動画データの送信を停止する。こ
こで、ステップS855における、ゲームプログラムの処理を停止するとは、ランチャー
プログラムが確保した当該ゲームプログラムに関する情報を実行メモリから完全に開放し
た状態にすることをいう。
また、ステップS854における処理は、保存メモリが実行メモリよりも処理速度が遅
いメモリを使うことが多いため、一時中断処理は頻繁に発生させないように、上述したス
テップ853における所定時間を適宜設定することが好ましい。
なお、ステップS841における中断信号は、図18において説明したように、所定の
条件において、サーバCPU201が疑似的に生成するようにしてもよいものとする。
なお、ステップS842における処理は、ステップS841における中断信号の受信で
はなく、ユーザによる入力操作によってポーズボタンが押下され、通常のポーズボタン操
作信号が端末装置100から入力された場合に実行するようにしてもよいものとする。
図23及び図24のフローチャートで説明したように、サーバ装置200では、ゲーム
プログラムのポーズ処理、実行メモリの保持、保存メモリへの移動によって、ゲームプロ
グラム固有のセーブ機能によらず、ゲームプログラムの進行状態を保存することができる
。また、サーバ装置200では、ゲームプログラムのポーズ処理、実行メモリの保持、保
存メモリへの移動を適宜選択的に組み合わせて実行することができるようにしてもよい。
上述で説明した各実施の形態において、サーバ装置200における、ゲームプログラム
のポーズ処理、実行メモリの保持、保存メモリへの移動は、各単独で実行するようにして
もよいし、任意の組み合わせを用いてもよい。すなわち、ゲームプログラムのポーズ処理
(メニュー画面表示を含む)、実行メモリの保持の組み合わせ、ゲームプログラムのポー
ズ処理、保存メモリへの移動の組み合わせ、実行メモリの保持、保存メモリへの移動の組
み合わせであってもよい。
上述で説明した各実施の形態において、ゲームプログラムの進行状態を保存するとは、
ゲームプログラム固有のセーブポイント等におけるセーブデータを生成する方法以外の、
各種の保存態様を含み、特に、ゲームプログラムのポーズ処理(メニュー画面表示を含む
)、実行メモリの保持、保存メモリへの移動によって、ゲームプログラムの進行状況を再
生可能な状態に留め置くことを表すものとする。
以上で説明したように、本実施の形態のインタラクティブシステムでは、端末装置から
の要求に従いサーバ装置が実行するゲームプログラムの進行状況を適切に保存することが
できる。
また、本実施の形態のインタラクティブシステムでは、ゲームプログラム中において許
可された条件下(いわゆるセーブポイント)でない場合であっても、ゲームプログラムの
進行状況を保存することができる。
更に、本実施の形態のインタラクティブシステムでは、ネットワークに非対応のローカ
ルな環境で用いられるゲームプログラムの場合、ゲームプログラムを書き換えずに進行状
況の保存が任意にできるようになり、特に好適なサービスを提供することができる。
なお、本発明は、上述した実施の形態に限定されず、ユーザによる端末装置の入力操作
に応じてサーバ装置が実行するプログラムの処理結果を端末装置に提供し、更にユーザに
よる端末装置の入力操作に応じてサーバ装置がプログラムを実行することを反復継続して
処理する、インタラクティブなシステムに適用することができる。例えば、エミュレータ
による既存アプリケーションプログラムの処理の提供や、VM(Virtual Machine)等の
サービス提供にも適用することができる。
100 端末装置、200 サーバ装置、300 ネットワーク、101 端末CPU
、102 端末ROM、103 端末RAM、104 端末復号部、105 端末通信部
、106 端末表示部、107 操作入力部、108 端末ストレージ、201 サーバ
CPU、202 サーバROM、203 サーバRAM、204 サーバGPU、205
サーバVRAM、206 サーバ符号化部、207 サーバストレージ、208 サー
バ通信部、601 OS、602 フォアグランド処理、603 バックグラウンド処理

Claims (13)

  1. ネットワークを介してサーバ装置に接続され、前記サーバ装置にゲームプログラムに係るゲーム画像の符号化を含むプログラム処理を要求し、前記サーバ装置から処理結果を受信し表示を行う端末装置と、
    前記端末装置からの要求に従いプログラム処理を行い、処理結果を前記端末装置に送信するサーバ装置とを有し、
    前記サーバ装置は、前記端末装置との通信が異常と判断した場合、前記プログラム処理を第1の所定時間継続し、前記第1の所定時間が経過した場合、前記プログラム処理を一時中断するインタラクティブシステム。
  2. 前記サーバ装置は、前記プログラム処理の処理結果を保持する実行メモリを有し、前記プログラム処理を一時中断した場合、処理結果を中断データとして前記実行メモリに保持する請求項1記載のインタラクティブシステム。
  3. 前記中断データは、ゲームプログラムの符号化動画データ、ゲームプログラムに関する情報、及びゲームプログラムの進行状況を含む請求項2記載のインタラクティブシステム。
  4. 前記中断データは、描画中のゲーム画像データに関する情報をさらに含む請求項3記載のインタラクティブシステム。
  5. 前記中断データを前記実行メモリに保持した後、前記端末装置との通信が回復した場合、前記サーバ装置は、前記実行メモリに保持された前記中断データに基づき前記プログラム処理を再開する請求項2乃至4のいずれか1項に記載のインタラクティブシステム。
  6. 前記サーバ装置は、前記実行メモリとは別の保存メモリを有し、前記実行メモリに保持する処理を行った時刻から第2の所定時間経過した場合、前記中断データを前記実行メモリから前記保存メモリに移動させる請求項2乃至5のいずれか1項に記載のインタラクティブシステム。
  7. ネットワークを介して端末装置に接続され、前記端末装置からの要求に従いゲームプログラムに係るゲーム画像の符号化を含むプログラム処理を行い、処理結果を前記端末装置に送信し、前記端末装置との通信が異常と判断した場合、前記プログラム処理を第1の所定時間継続し、前記第1の所定時間が経過した場合、前記プログラム処理を一時中断するサーバ装置。
  8. 前記プログラム処理の処理結果を保持する実行メモリを有し、前記プログラム処理を一時中断した場合、処理結果を中断データとして前記実行メモリに保持する請求項7記載のサーバ装置。
  9. 前記中断データは、ゲームプログラムの符号化動画データ、ゲームプログラムに関する情報、及びゲームプログラムの進行状況を含む請求項8記載のサーバ装置。
  10. 前記中断データは、描画中のゲーム画像データに関する情報をさらに含む請求項9記載のサーバ装置。
  11. 前記中断データを前記実行メモリに保持した後、前記端末装置との通信が回復した場合、前記実行メモリに保持された前記中断データに基づき前記プログラム処理を再開する請求項8乃至10のいずれか1項に記載のサーバ装置。
  12. 前記実行メモリとは別の保存メモリを有し、前記実行メモリに保持する処理を行った時刻から第2の所定時間経過した場合、前記中断データを前記実行メモリから前記保存メモリに移動させる請求項8乃至11のいずれか1項に記載のサーバ装置。
  13. コンピュータに、
    ネットワークを介して接続された端末装置からの要求に従いゲームプログラムに係るゲーム画像の符号化を含むプログラム処理を行う処理と、
    前記プログラム処理の処理結果を前記端末装置に送信する処理と、
    前記端末装置との通信が異常と判断した場合、前記プログラム処理を第1の所定時間継続し、前記第1の所定時間が経過した場合、前記プログラム処理を一時中断する処理とを実行させるプログラム。
JP2020153555A 2014-03-24 2020-09-14 インタラクティブシステム、端末装置、サーバ装置、制御方法、プログラム、及び記録媒体 Active JP7152450B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014060790 2014-03-24
JP2014060790 2014-03-24

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019041363A Division JP6802309B2 (ja) 2014-03-24 2019-03-07 インタラクティブシステム、端末装置、サーバ装置、制御方法、プログラム、及び記録媒体

Publications (2)

Publication Number Publication Date
JP2021009706A JP2021009706A (ja) 2021-01-28
JP7152450B2 true JP7152450B2 (ja) 2022-10-12

Family

ID=54194408

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2016509890A Active JP6495892B2 (ja) 2014-03-24 2014-10-08 インタラクティブシステム、端末装置、サーバ装置、制御方法、プログラム、及び記録媒体
JP2019041363A Active JP6802309B2 (ja) 2014-03-24 2019-03-07 インタラクティブシステム、端末装置、サーバ装置、制御方法、プログラム、及び記録媒体
JP2020153555A Active JP7152450B2 (ja) 2014-03-24 2020-09-14 インタラクティブシステム、端末装置、サーバ装置、制御方法、プログラム、及び記録媒体

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2016509890A Active JP6495892B2 (ja) 2014-03-24 2014-10-08 インタラクティブシステム、端末装置、サーバ装置、制御方法、プログラム、及び記録媒体
JP2019041363A Active JP6802309B2 (ja) 2014-03-24 2019-03-07 インタラクティブシステム、端末装置、サーバ装置、制御方法、プログラム、及び記録媒体

Country Status (4)

Country Link
US (3) US10298668B2 (ja)
EP (1) EP3125125A4 (ja)
JP (3) JP6495892B2 (ja)
WO (1) WO2015145834A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2691856A1 (en) * 2011-03-31 2014-02-05 AOL Inc. Systems and methods for transferring application state between devices based on gestural input
EP3125125A4 (en) * 2014-03-24 2018-07-25 Square Enix Co., Ltd. Interactive system, terminal device, server device, control method, program, and recording medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002333933A (ja) 2001-05-09 2002-11-22 Casio Comput Co Ltd 電源部内蔵型電子機器、プログラムおよび電源制御方法
JP2006288769A (ja) 2005-04-11 2006-10-26 Konami Digital Entertainment:Kk ネットワークゲームシステム及びネットワークゲームプログラム
JP2007201828A (ja) 2006-01-26 2007-08-09 Fujifilm Corp 赤外線データ通信装置、プリンタ装置、及び通信障害通知方法
JP2013243702A (ja) 2012-02-23 2013-12-05 Square Enix Holdings Co Ltd 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体

Family Cites Families (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5710922A (en) 1980-06-24 1982-01-20 Mitsubishi Electric Corp Sliding type liquid phase epitaxial growth device
US5550982A (en) * 1993-06-24 1996-08-27 Starlight Networks Video application server
CA2130395C (en) * 1993-12-09 1999-01-19 David G. Greenwood Multimedia distribution over wide area networks
US5461415A (en) * 1994-03-15 1995-10-24 International Business Machines Corporation Look-ahead scheduling to support video-on-demand applications
US5944816A (en) * 1996-05-17 1999-08-31 Advanced Micro Devices, Inc. Microprocessor configured to execute multiple threads including interrupt service routines
US5892915A (en) * 1997-04-25 1999-04-06 Emc Corporation System having client sending edit commands to server during transmission of continuous media from one clip in play list for editing the play list
US5987621A (en) * 1997-04-25 1999-11-16 Emc Corporation Hardware and software failover services for a file server
US6230200B1 (en) * 1997-09-08 2001-05-08 Emc Corporation Dynamic modeling for resource allocation in a file server
US6816904B1 (en) * 1997-11-04 2004-11-09 Collaboration Properties, Inc. Networked video multimedia storage server environment
US6378129B1 (en) * 1998-03-30 2002-04-23 International Business Machines Corporation Video server content synchronization
US7197570B2 (en) * 1998-07-22 2007-03-27 Appstream Inc. System and method to send predicted application streamlets to a client device
US6195680B1 (en) * 1998-07-23 2001-02-27 International Business Machines Corporation Client-based dynamic switching of streaming servers for fault-tolerance and load balancing
US6466980B1 (en) * 1999-06-17 2002-10-15 International Business Machines Corporation System and method for capacity shaping in an internet environment
WO2001077826A2 (en) * 2000-04-08 2001-10-18 Sun Microsystems, Inc. Method and apparatus for handling events received at a server socket
US7318107B1 (en) * 2000-06-30 2008-01-08 Intel Corporation System and method for automatic stream fail-over
JP2002055904A (ja) * 2000-08-07 2002-02-20 Sankyo Kk ゲームコンテンツ提供サーバ
JP2002066144A (ja) * 2000-08-29 2002-03-05 Casio Comput Co Ltd ゲーム運営方法及びシステム
US7716674B1 (en) * 2000-10-06 2010-05-11 Apple Inc. Streaming server administration protocol
JP3628008B2 (ja) * 2000-10-10 2005-03-09 日本電信電話株式会社 ビットストリーム切り替え制御方法、二次配信サーバ、及びそのプログラムを記録した記録媒体
US8678902B2 (en) * 2005-09-07 2014-03-25 Bally Gaming, Inc. System gaming
JP2002135350A (ja) * 2000-10-30 2002-05-10 Sony Corp データ配信方法、データ受信方法、端末状態通知サービス提供方法および通信端末
JP2002330381A (ja) * 2000-12-07 2002-11-15 Matsushita Electric Ind Co Ltd データ再生方法、データ受信端末及びデータ受信方法
WO2003031004A1 (en) * 2001-10-10 2003-04-17 Sony Computer Entertainment America Inc. System and method for saving game data
JP3824260B2 (ja) * 2001-11-13 2006-09-20 任天堂株式会社 ゲームシステム
JP2004013283A (ja) * 2002-06-04 2004-01-15 Hitachi Ltd コンテンツ配信方法及びコンテンツ配信装置
US20060041674A1 (en) * 2002-09-25 2006-02-23 Koninklijke Philips Electronics N.V. Communication system and method of managing a streaming session
US7925771B1 (en) * 2003-03-03 2011-04-12 Realnetworks, Inc. System and method for uninterrupted streaming
JP4357874B2 (ja) * 2003-05-28 2009-11-04 株式会社東芝 ユビキタス・ストリーミング装置及びユビキタス・ストリーミング制御方法
US7080178B2 (en) * 2004-02-09 2006-07-18 Arm Limited Interrupt pre-emption and ordering within a data processing system
US7206884B2 (en) * 2004-02-11 2007-04-17 Arm Limited Interrupt priority control within a nested interrupt system
US7607133B2 (en) * 2004-02-11 2009-10-20 Arm Limited Interrupt processing control
JP2005286670A (ja) * 2004-03-30 2005-10-13 Dowango:Kk 携帯情報端末、サーバ装置、ネットワークゲームシステム及びネットワークゲーム制御方法並びにそのコンピュータプログラム
US7465231B2 (en) * 2004-05-20 2008-12-16 Gametap Llc Systems and methods for delivering content over a network
WO2005120672A1 (en) * 2004-06-10 2005-12-22 Aristocrat Technologies Australia Pty Ltd Gaming system
JP2006013912A (ja) * 2004-06-25 2006-01-12 Nippon Telegr & Teleph Corp <Ntt> ストリームデータ配信方法、ストリームデータ配信装置、ストリームデータ制御装置、プログラム、および記録媒体
JP2006280730A (ja) * 2005-04-01 2006-10-19 Aruze Corp ゲームプログラム、ゲーム装置及び記録媒体
US20060148571A1 (en) * 2005-01-04 2006-07-06 Electronic Arts Inc. Computer game with game saving including history data to allow for play reacquaintance upon restart of game
JP4429947B2 (ja) 2005-03-25 2010-03-10 京セラ株式会社 携帯端末装置
JP4849829B2 (ja) * 2005-05-15 2012-01-11 株式会社ソニー・コンピュータエンタテインメント センタ装置
US20060261548A1 (en) * 2005-05-20 2006-11-23 Casanova Nicole K Board game and methods of playing and using same
WO2007121577A1 (en) * 2006-04-24 2007-11-01 David Baazov Networked computerized wager-based game system
KR100848128B1 (ko) * 2006-04-24 2008-07-24 한국전자통신연구원 실시간 스트리밍 프로토콜을 이용한 프로그래시브 스트리밍방법
JP2008011940A (ja) * 2006-07-03 2008-01-24 Sony Computer Entertainment Inc ゲーム制御プログラム、ゲーム制御方法、及びゲーム装置
US20100248843A1 (en) * 2006-10-27 2010-09-30 Cecure Gaming Limited Online gaming system
JP5424290B2 (ja) * 2006-11-17 2014-02-26 任天堂株式会社 ゲームプログラムおよびゲーム装置
CN101193268A (zh) * 2006-11-22 2008-06-04 北京三星通信技术研究有限公司 流媒体暂停方法
US7824268B2 (en) * 2006-12-19 2010-11-02 Electronic Arts, Inc. Live hosted online multiplayer game
JP4187768B2 (ja) * 2007-03-20 2008-11-26 株式会社コナミデジタルエンタテインメント ゲーム装置、進行制御方法、および、プログラム
US7882393B2 (en) * 2007-03-28 2011-02-01 International Business Machines Corporation In-band problem log data collection between a host system and a storage system
US8375133B2 (en) * 2007-08-07 2013-02-12 Sony Computer Entertainment Inc. Methods and apparatuses for synchronizing and managing content over multiple devices
US9168457B2 (en) * 2010-09-14 2015-10-27 Sony Computer Entertainment America Llc System and method for retaining system state
CN101198022B (zh) * 2007-12-26 2010-06-02 青岛海信移动通信技术股份有限公司 在流媒体播放或者缓冲过程中插播视频信息的方法
US9673996B1 (en) * 2008-07-02 2017-06-06 Sprint Spectrum L.P. Redirection of a streaming media session in an anticipated failover scenario
JP4735697B2 (ja) * 2008-09-29 2011-07-27 ソニー株式会社 電子機器、コンテンツ再生方法及びプログラム
US8402494B1 (en) * 2009-03-23 2013-03-19 Conviva Inc. Switching content
JP5474391B2 (ja) 2009-03-27 2014-04-16 株式会社バンダイナムコゲームス プログラム、情報記憶媒体、ゲーム機、及びゲームシステム
US9770654B1 (en) * 2009-09-30 2017-09-26 Amazon Technologies, Inc. Cross device operation of games
JP5511296B2 (ja) 2009-10-08 2014-06-04 株式会社サミーネットワークス ゲームシステム、携帯端末用サーバ、及びゲームサーバ
US20110196973A1 (en) * 2010-02-05 2011-08-11 Interdigital Patent Holdings, Inc. Method and apparatus for inter-device session continuity (idsc) of multi media streams
JP2011170773A (ja) * 2010-02-22 2011-09-01 Fujifilm Corp セッション管理方法及びサーバ
CN102238071B (zh) * 2010-05-07 2014-09-17 重庆旭贤科技发展有限公司 基于多路PPPoE融合网关系统的备份出口系统及方法
AU2011202309A1 (en) * 2010-05-27 2011-12-15 Aristocrat Technologies Australia Pty Limited A gaming machine and a method of gaming
JP5174120B2 (ja) * 2010-10-20 2013-04-03 株式会社スクウェア・エニックス ゲーム装置及びゲームプログラム
CN102137275B (zh) * 2010-12-20 2012-12-19 华为技术有限公司 快速频道切换中快速推送单播流的方法和装置
US20120270497A1 (en) * 2011-04-20 2012-10-25 SIFTEO, Inc. Manipulable Cubes Base Station
JP5948773B2 (ja) 2011-09-22 2016-07-06 ソニー株式会社 受信装置、受信方法、プログラム、及び情報処理システム
US8966520B2 (en) * 2011-10-03 2015-02-24 Hulu, LLC Video ad swapping in a video streaming system
US20130212162A1 (en) * 2012-01-12 2013-08-15 Ciinow, Inc. Control structure for content delivery and management
US9208641B2 (en) * 2012-01-13 2015-12-08 Igt Canada Solutions Ulc Remote gaming method allowing temporary inactivation without terminating playing session due to game inactivity
JP5571729B2 (ja) * 2012-04-02 2014-08-13 株式会社 ディー・エヌ・エー ゲームを提供する装置
JP5687255B2 (ja) * 2012-08-29 2015-03-18 株式会社Nttドコモ 端末装置、方法、プログラム及び無線通信システム
JP5677395B2 (ja) * 2012-10-11 2015-02-25 株式会社スクウェア・エニックス ゲーム装置
US20140113705A1 (en) * 2012-10-19 2014-04-24 Nvidia Corporation Quick-resume gaming
US9717982B2 (en) * 2012-12-21 2017-08-01 Microsoft Technology Licensing, Llc Client rendering of latency sensitive game features
US9526980B2 (en) * 2012-12-21 2016-12-27 Microsoft Technology Licensing, Llc Client side processing of game controller input
US10258881B2 (en) * 2012-12-26 2019-04-16 Sony Interactive Entertainment America Llc Systems and methods for tagging content of shared cloud executed mini-games and tag sharing controls
US9931566B2 (en) * 2014-01-29 2018-04-03 Eddie's Social Club, LLC Game system with interactive show control
US9564102B2 (en) * 2013-03-14 2017-02-07 Microsoft Technology Licensing, Llc Client side processing of player movement in a remote gaming environment
US9694277B2 (en) * 2013-03-14 2017-07-04 Microsoft Technology Licensing, Llc Client side processing of character interactions in a remote gaming environment
US20150018072A1 (en) * 2013-07-09 2015-01-15 Igt Gaming system and method for resuming a skill-based game after an interruption event
US9352217B1 (en) * 2013-09-10 2016-05-31 Kabam, Inc. System and method for implementing dynamic content availability for individual players
EP3125125A4 (en) * 2014-03-24 2018-07-25 Square Enix Co., Ltd. Interactive system, terminal device, server device, control method, program, and recording medium
US10238965B2 (en) * 2016-04-28 2019-03-26 Sony Interactive Entertainment America Llc Cloud gaming device handover

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002333933A (ja) 2001-05-09 2002-11-22 Casio Comput Co Ltd 電源部内蔵型電子機器、プログラムおよび電源制御方法
JP2006288769A (ja) 2005-04-11 2006-10-26 Konami Digital Entertainment:Kk ネットワークゲームシステム及びネットワークゲームプログラム
JP2007201828A (ja) 2006-01-26 2007-08-09 Fujifilm Corp 赤外線データ通信装置、プリンタ装置、及び通信障害通知方法
JP2013243702A (ja) 2012-02-23 2013-12-05 Square Enix Holdings Co Ltd 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体

Also Published As

Publication number Publication date
EP3125125A1 (en) 2017-02-01
US10735502B2 (en) 2020-08-04
JP2019164781A (ja) 2019-09-26
EP3125125A4 (en) 2018-07-25
JP2021009706A (ja) 2021-01-28
US20170085631A1 (en) 2017-03-23
US20190238629A1 (en) 2019-08-01
WO2015145834A1 (ja) 2015-10-01
JP6495892B2 (ja) 2019-04-03
US11516284B2 (en) 2022-11-29
JPWO2015145834A1 (ja) 2017-04-13
US10298668B2 (en) 2019-05-21
JP6802309B2 (ja) 2020-12-16
US20200329096A1 (en) 2020-10-15

Similar Documents

Publication Publication Date Title
US10725972B2 (en) Continuous and concurrent device experience in a multi-device ecosystem
JP7152450B2 (ja) インタラクティブシステム、端末装置、サーバ装置、制御方法、プログラム、及び記録媒体
US10904482B2 (en) Method and apparatus for generating video file, and storage medium
US9191417B2 (en) Cross-process media handling in a voice-over-internet protocol (VOIP) application platform
KR101846397B1 (ko) 게임 워크로드들에 대해 cpu 주파수를 동적으로 스로틀하는 시스템 및 방법
JPWO2006003835A1 (ja) 連係動作方法及び移動通信端末装置
JP2005215756A (ja) 携帯端末
WO2018036352A1 (zh) 视频数据的编解码方法、装置、系统及存储介质
JP2014157604A (ja) 端末装置、サーバ、端末装置のブラウザ駆動システム、端末装置のブラウザ駆動方法
US20170345457A1 (en) Virtual reality system and method of controlling working state thereof
JP2014106648A (ja) リプレイ動画像作成システム、リプレイ動画像作成端末、リプレイ動画像データ作成方法、およびプログラム
KR100678023B1 (ko) 이동통신 단말기의 부팅시간 단축 방법
JP6059330B2 (ja) アプリケーション転送システム、アプリケーション転送方法、端末、およびプログラム
JP2010011334A (ja) 通信端末装置
KR20140140986A (ko) 어플리케이션 실행 방법 및 그 장치
US9535699B2 (en) Processor, multiprocessor system, compiler, software system, memory control system, and computer system
JP5754059B2 (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
JP6475923B2 (ja) ゲームシステム及びこれに用いられるゲームサーバ
KR20130103116A (ko) 컨텐츠 실행 시스템
WO2024022137A1 (zh) 一种投屏方法及设备
KR102178523B1 (ko) 그래픽 클라우드에서 멀티미디어 콘텐츠를 처리하는 방법 및 장치
JP5659503B2 (ja) 情報処理システム、情報処理方法、画像配信装置、プログラム、及び、画像出力システム
JP2008102307A (ja) 表示装置、プロジェクタ、表示システム、プログラムおよび情報記憶媒体
JP2009223695A (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法及びコンピュータプログラム
JP2003258947A (ja) 情報機器及び制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200914

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210803

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220216

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220216

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220228

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220301

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20220415

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20220419

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220426

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220712

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20220802

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20220920

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20220920

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220929

R150 Certificate of patent or registration of utility model

Ref document number: 7152450

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150