以下、図面を参照して種々の実施形態について詳細に説明する。なお、各図面において同一又は相当の部分に対しては同一の符号を付すこととする。
(第1実施形態)
本実施形態に係る処理システムは、端末及びサーバ間で通信を行うシステムである。当該処理システムでは、例えば、端末にインストールされたソフトウェア(アプリケーション)が起動され、ユーザに対してサービスが提供される。
ユーザとは、処理システムの利用者である。ユーザは端末の所有者であってもよいし、端末の所有者とは異なる者であってもよい。以下では、ユーザとは、端末の操作者、すなわち端末を操作して所定の操作コマンドを端末に対して指定する者である、として説明する。アプリケーションとは、オペレーティング・システム上にインストールされるソフトウェアである。このアプリケーションが端末で実行されることで、ユーザは処理システムから提供されるサービスを受けることができる。直接的または間接的にユーザに何らかの満足を与えることができるのであれば、サービスの種類は何ら限定されない。例えば、サービスはゲームであってもよいし学習または業務の補助であってもよいし、情報の提供であってもよい。以下では、一例として、処理システムがゲームをユーザへ提供する場合を説明する。
図1は、実施形態に係る処理システム1の構成を示す概略図である。図1に示すように、処理システム1は、例えば、複数の端末10A、及び、サーバ30を備える。複数の端末10Aは、端末10A1〜端末10Anを含む(nは1より大きい自然数である)。端末10A1〜端末10Anは、アプリケーションを実行しサーバ30との間で命令またはデータを送受信するコンピュータである。端末10Aの例として携帯電話機、据置型または携帯型の通信機能付ゲーム機、据置型または携帯型のパーソナルコンピュータが挙げられるが、端末10Aはこれらに限定されない。端末10A1〜端末10Anは、ネットワークNを介してサーバ30と通信可能に構成されている。ネットワークNは、例えばインターネット又は専用回線等である。サーバ30は、端末10A1〜端末10Anとの間で命令またはデータを送受信することで、サービスの提供に必要な機能を端末10Aに提供するコンピュータである。端末10A1〜端末10Anは、ほぼ同様に構成されるため、以下では、端末10A1を代表して説明する。なお、図1の処理システム1は一例であり、一台の端末10A1及びサーバ30からなる処理システム1であってもよい。
図2は、図1に示す端末10A1及びサーバ30のハードウェア構成を説明するブロック図である。図2に示すように、端末10A1及びサーバ30は、CPU(Central Processing Unit)101、ROM(Read Only Memory)又はRAM(Random Access Memory)等の主記憶部102、ハードディスク等の補助記憶部103、通信を制御するネットワークカード等の通信制御部104、カメラ又はタッチパネル等の入力部105及びディスプレイ等の出力部106等を含む通常のコンピュータとして構成される。後述する端末10A1及びサーバ30の各機能は、例えば、CPU101の制御により、主記憶部102等のハードウェア上に所定のソフトウェアを読み込ませ、入力部105及び出力部106を動作させ、主記憶部102又は補助記憶部103に記憶されたデータの読み出し又は書き込みを行い、通信制御部104により通信する等、の各ハードウェアの動作の組み合わせによって実現される。
図3は、処理システム1の機能構成を示すブロック図である。図3に示すように端末10A1は、例えば、入出力部11、ゲーム管理部12、操作コマンドテーブル13、処理IDテーブル14、処理実行部15、実行可否テーブル16、テーブル管理部17、データ記憶部18、及び端末側送受信部19を備える。
以下では、ゲームとして、モンスターが描かれた仮想的なカードを用いてコンピュータ又は他のユーザと対戦(バトル)を行うゲームを一例として説明する。このゲームでは、ユーザが抽選等によりカードを取得する。取得したカードのモンスターにはレベルが付与されており、得られた「経験値」に応じてモンスターのレベルが上昇し、レベルに応じてモンスターの強さに関連したパラメータが上昇する。カード同士が「合成」された場合には、異なるモンスターのカードとなったり、合成前のモンスターへ「経験値」が付与されたりする。このように、ユーザは、モンスターを「経験値」に応じて成長させて、コンピュータ又は他のユーザと対戦(バトル)を行う。また、ユーザのレベルも存在し、ユーザのレベルに応じてゲームの進行や所有可能なカード枚数等が変更される。当該ゲームを実行するアプリケーションは、例えば、通信を介して端末10A1にダウンロードされて、インストールされる。なお、モンスターまたはユーザのレベルとは、ゲーム内におけるモンスターまたはユーザの強さの段階を示す数値である。
入出力部11は、入力操作受付部11a及び表示部11bを備える。入出力部11は、CPU101が主記憶部102内のプログラムを実行し、該プログラムに従って入力部105及び出力部106の少なくとも一方を制御することで実現される。入力操作受付部11aは、CPU101が入力部105を制御することで実現され、表示部11bは、CPU101が出力部106を制御することで実現される。端末10A1がタッチパネルを備えるならば、そのタッチパネルが入力操作受付部11a及び表示部11bとして機能する。端末10A1がキーボード、マウス、及びモニタを備えるならば、キーボード及びマウスが入力操作受付部11aとして機能し、モニタが表示部11bとして機能する。入力操作受付部11aは、ユーザ操作を受け付ける入力装置である。ユーザ操作とは、端末10A1に何らかの処理を実行させるために、ユーザが端末10A1の入力インタフェースを操る操作をいう。ユーザ操作の例として、ソフトキー又はハードキーを押下する操作やスライド操作などが挙げられるが、ユーザ操作の種類は何ら限定されない。入力操作受付部11aは、例えば、ゲームの進行に関するユーザ操作を受け付ける。入力操作受付部11aは、ユーザ操作を受け付けた旨の情報をゲーム管理部12へ出力する。当該ユーザ操作を受け付けた旨の情報には、例えば、ユーザにより操作されたソフトキーやハードキーを示す情報が含まれる。ユーザ操作の種類は様々であるから、ユーザ操作を受け付けた旨の情報が示す内容についても様々な態様が考えられる。表示部11bは、処理実行部15の出力結果に基づいて、ゲームの内容等を表示する。
ゲーム管理部12は、処理実行部15(より詳細には、後述する通常処理部15b)に実行させる所定の処理の管理を行うことにより、ゲームの進行を管理する。ゲーム管理部12は、CPU101が主記憶部102内のプログラムを実行し、該プログラムに従って主記憶部102又は補助記憶部103からのデータの読み出しを制御することで実現される。所定の処理とは、処理システム1によって提供されるサービスに係る、端末10A1側のアプリケーション内で実行される処理である。具体的には、所定の処理とは、任意のデータ入力、演算、及びデータ出力等である。処理の手順は、例えば端末10A1にインストールされたアプリケーションのプログラムで予め定められる。ゲーム管理部12は処理実行部15に処理の実行を命令する。
ゲーム管理部12は、例えば、入力操作受付部11aから取得したユーザ操作を受け付けた旨の情報、及び、操作コマンドテーブル13の情報に基づいて、処理実行部15において実行するゲームの処理を特定する。操作コマンドテーブル13は、主記憶部102又は補助記憶部103により実現される。
まず、ゲーム管理部12は、ユーザ操作を受け付けた旨の情報及びゲームの進行状況から、操作コマンドIDを特定する。操作コマンドIDとは、ユーザが端末10A1に対して行った操作の内容を一意に特定する情報である。ゲームの進行状況を考慮して操作コマンドIDが特定されるため、ユーザにより操作されたソフトキーやハードキーを示す情報が同じあっても、ゲームの進行状況によって、特定される操作コマンドIDは異なる。続いて、ゲーム管理部12は、操作コマンドテーブル13を参照し、操作コマンドIDに対応した処理(処理実行部15において実行するゲームの処理)を特定する。
図4は、操作コマンドテーブル13の一例である。図4に示すように、操作コマンドテーブル13では、操作の内容を特定する「操作コマンドID」に、「処理ID」、「処理内容」、及び「グループID」が関連付けられている。なお、以下の説明においては、関連付けられているとは、一対一又は多対一(一対多)で対応付けられていることをいう。また、関連とは、第1のデータと第2のデータとの関係が1レコード内で直接に特定できる場合と、第1のデータを含む第1のレコードと第2のデータを含む第2のレコードとの関係が何らかのデータ項目を介して間接的に特定できる場合との双方を意味し得る。「処理ID」とは、処理実行部15で実行される処理を一意に特定する情報である。「処理内容」とは、処理IDで特定される処理の具体的な内容である。「グループID」とは、操作コマンドIDで示される1以上の操作をグループ化することで得られるグループを一意に特定する情報である。グループは、1以上のユーザ操作の集合であるともいえる。どのようなユーザ操作を一つのグループにまとめるかは任意に定めてよい。例えば、連続して実行される複数の操作を一つのグループにまとめてもよい。
例えば、処理ID:0057で示される合成実行の処理のための操作(操作コマンドID:06)が行われる場合には、その前段階として、合成を実行する画面に移動するとともに、合成後のモンスターの基本となるベースカードの選択、及びベースカードのモンスターを成長させるための素材カードの選択が行われる。すなわち、合成画面へ移動する操作(操作コマンドID:03)、合成ベースカード選択画面へ移動する操作(操作コマンドID:04)、合成素材カード選択画面へ移動する操作(操作コマンドID:05)、及び、合成実行処理に関する操作(操作コマンド:06)は連続して実行される操作である。よって、これらの操作を同一のグループID:0050で関連付けることができる。
操作コマンドID(処理ID)に対応する処理を特定すると、ゲーム管理部12は、処理IDテーブル14を参照してその処理に係る情報を取得する。処理IDテーブル14は、主記憶部102又は補助記憶部103により実現される。処理に係る情報とは、利用パラメータ及び結果パラメータが含まれた情報である。利用パラメータとは、処理の実行に必要な情報である。結果パラメータとは、処理の実行後に出力される情報である。
図5は、処理IDテーブル14の一例である。図5に示すように、処理IDテーブル14では、処理を識別する「処理ID」に、「処理内容」、「利用パラメータ」及び「結果パラメータ」が関連付けられている。「処理ID」及び「処理内容」は、上述した操作コマンドテーブル13における「処理ID」及び「処理内容」と同じ内容を示すものである。「結果パラメータ」には、処理後に出力されるだけで記録されないもの(「結果パラメータ(参照)」)と、処理後に出力されて記録されるもの(「結果パラメータ(記録)」)とがある。記録されるとは、データ記憶部18に格納されている情報(データ)が更新されることをいう(詳細は後述)。
「処理ID」が0055の場合を説明する。この場合、合成ベースカード選択画面へ移動する処理が「処理内容」として、ベースカードのカードシリアルが「結果パラメータ(参照)」として、それぞれ処理ID:0055に関連付けられている。カードシリアルとは、カードを一意に特定する識別子である。同じカード種別であっても、異なるカードであれば異なるカードシリアルが付される。合成ベースカード選択画面へ移動する処理では、結果パラメータ(参照)として、合成後のモンスターの基本となるベースカードを特定するカードシリアルが出力される。
同様に、「処理ID」が0056の場合を説明する。この場合、合成素材カード選択画面へ移動する処理が「処理内容」として、素材カードのカードシリアルが「結果パラメータ(参照)」として、それぞれ処理ID:0056に関連付けられている。すなわち、合成素材カード選択画面へ移動する処理では、結果パラメータ(参照)として、ベースカードのモンスターを成長させるための素材カードを特定するカードシリアルが出力される。
同様に、「処理ID」が0057の場合を説明する。この場合、合成実行処理が「処理内容」として、ベースカード及び素材カードのカードシリアルが「利用パラメータ」として、合成後のベースカードを特定するカードシリアルが「結果パラメータ(参照)」として、合成後のベースカードのカードレベルが「結果パラメータ(記録)」として、それぞれ処理ID:0057に関連付けられている。利用パラメータとして用いられるベースカードのカードシリアルは、処理ID:0055の合成ベースカード選択画面へ移動する処理において結果パラメータとして出力されたベースカードのカードシリアルである。また、利用パラメータとして用いられる素材カードのカードシリアルは、処理ID:0056の合成素材カード選択画面へ移動する処理において結果パラメータとして出力された素材カードのカードシリアルである。ここで、カードレベルとは、カードのモンスターの強さを示す数値である。「結果パラメータ(記録)」は、更新されるデータ(この例ではカードレベル)を一意に特定するデータID(データID:0003)で出力される。
このように、ゲーム管理部12は、操作コマンドテーブル13を参照することにより処理実行部15において実行させる処理に係る処理IDを特定する。また、ゲーム管理部12は、処理IDテーブル14を参照することにより、処理実行部15において実行させる処理の利用パラメータ及び結果パラメータを特定する。そして、ゲーム管理部12は、特定した処理ID、及び、当該処理IDに係る利用パラメータ及び結果パラメータを処理命令として処理実行部15へ出力することにより、処理実行部15に対して処理の実行を命令する。
なお、ゲーム管理部12は、グループIDが共通する各処理の利用パラメータ及び結果パラメータを、一括で処理実行部15へ出力してもよい。例えば、ゲーム管理部12は、グループIDが共通する処理のうち最初に行われる処理の利用パラメータ及び結果パラメータを特定する際に、グループIDが共通する他の処理の利用パラメータ及び結果パラメータについても特定し、これらの各処理の利用パラメータ及び結果パラメータを一括で処理実行部15へ出力してもよい。具体的には、例えば、ゲーム管理部12は、図5においてグループIDが0050で共通する合成に係る各処理(処理ID:0054〜0057の処理)のうち、最初に行われる処理である処理ID:0054の処理の利用パラメータ及び結果パラメータを特定する際に、グループIDが共通する他の処理(処理ID:0055〜0057の処理)の利用パラメータ及び結果パラメータについても特定し、これらの各処理の利用パラメータ及び結果パラメータを一括で処理実行部15へ出力してもよい。
処理実行部15は、決定部15a、通常処理部15b、及び中断処理実行部15cを備えている。
決定部15aは、所定の処理と関連付けられた実行可否情報に基づいて、通常処理部15bにおける所定の処理を実行するか否かを決定する。決定部15aは、CPU101が主記憶部102内のプログラムを実行し、該プログラムに従って主記憶部102又は補助記憶部103からのデータの読み出しを制御することで実現される。実行可否情報とは、所定の処理を通常処理部15bで実行させるか否かを示す情報である。この実行可否情報は、サーバ30から提供される情報に基づいてテーブル管理部17に登録される(詳細は後述)。実行可否情報は、例えば、所定のデータと関連付けられる。所定のデータとは所定の処理に係るデータのことであり、より具体的には、その処理の実行に必要なデータまたは該実行により制御されるデータのことである。例えば、ある処理によって更新又は参照されるデータは、その処理に係るデータの一種である。以下では、所定の処理に係るデータ(所定のデータ)は、処理によって更新されるデータであるとして説明する。
図6は、実行可否テーブル16の一例である。図6に示すように、実行可否テーブル16では、処理によって更新されるデータを一意に特定するデータIDとそのデータ内容とに実行可否フラグが関連付けられる。実行可否テーブル16は、主記憶部102又は補助記憶部103により実現される。実行可否フラグは実行可否情報の一態様であり、本実施形態では0又は1で示される。実行可否フラグが0であるとは、関連付けられているデータIDに係るデータが更新可能であることを意味する。データが更新可能であるとは、データを更新する処理が実行可能であることを意味する。一方、実行可否フラグが1であるとは、関連付けられているデータIDに係るデータが更新可能でないことを意味する。すなわち、実行可否フラグ(実行可否情報)は、所定のデータが更新可能か否かを示す。なお、ある処理を実行させるか否かを判定できる情報であるならば、実行可否情報の形式および具体的な値は図6の例に限定されない。
上述したように、処理IDテーブル14においては、結果パラメータを示すデータIDが処理毎に関連付けられているため、実行可否フラグは、実行可否テーブル16及び処理IDテーブル14によって、間接的に処理IDと関連付けられている。決定部15aは、実行可否フラグが0である場合(すなわち、関連付けられているデータが更新可能である場合)には、当該データを更新する処理を実行すると決定する。一方、決定部15aは、実行可否フラグが1である場合(すなわち、関連付けられているデータが更新不可である場合)には、当該データを更新する処理を実行しないと決定する。ここで、データの更新とは、記憶装置内のデータを書き換えることであり、具体的には、データの新規作成、上書き、または削除をいう。なお、データの上書きにおいては、結果的にデータの内容が変わらない場合があり得る。
また、上述したように、操作コマンドテーブル13においては、ユーザ操作に基づいて特定される操作コマンドIDに処理IDが関連付けられている。そのため、実行可否フラグは、実行可否テーブル16、処理IDテーブル14、及び操作コマンドテーブル13によって、間接的に、所定の処理に対応するユーザ操作と関連付けられているともいえる。決定部15aは、ユーザ操作に関連付けられた実行可否フラグに基づいて、ユーザ操作に対応する処理を実行するか否かを決定してもよい。
また、上述したように、操作コマンドテーブル13においては、操作コマンドIDに、処理ID及びグループIDが関連付けられている。そのため、実行可否フラグは、実行可否テーブル16、処理IDテーブル14、及び操作コマンドテーブル13によって、間接的に、ユーザ操作をグループ化した情報であるグループIDと関連付けられているともいえる。決定部15aは、グループIDに関連付けられた実行可否フラグに基づいて、所定のグループIDに対応する処理を実行するか否かを決定してもよい。
具体的には、決定部15aは、ゲーム管理部12により出力された処理IDに係る結果パラメータ(記録)を示すデータIDを取得する。そして、決定部15aは、実行可否テーブル16を参照し、結果パラメータ(記録)を示すデータIDに係る実行可否フラグを取得する。例えば、結果パラメータ(記録)を示すデータIDが、図6に示す例における0002(ユーザ属性)である場合には、決定部15aは、実行可否フラグが0であることを取得する。この場合には、決定部15aは、当該処理を通常処理部15bで実行すると決定し、「通常」という決定結果(以下では「決定結果(通常)」という)を通常処理部15bへ出力する。この決定結果(通常)には、少なくとも、実行する処理に係る処理ID、及び、当該処理IDに係る利用パラメータが含まれる。
一方、結果パラメータ(記録)を示すデータIDが、例えば、図6に示す例における0003(カードレベル)である場合には、決定部15aは、実行可否フラグが1であることを取得する。この場合には、決定部15aは、当該処理を通常処理部15bで実行せずに中断すると決定し、「中断」という決定結果(以下では「決定結果(中断)」という)を中断処理実行部15cへ出力する。この決定結果(中断)には、少なくとも、中断する処理に係る処理IDが含まれる。なお、中断とは、ゲーム管理部12により出力された処理IDに係る処理を、一時的に又は永久的に通常処理部15bで実行させないことをいう。したがって、決定部15aにより処理を実行しないと決定された場合には、通常処理部15bは当該処理を実行しない。
通常処理部15bは、端末10A1において、決定部15aにより出力された決定結果(通常)に基づき処理を行う。通常処理部15bは、CPU101が主記憶部102内のプログラムを実行し、該プログラムに従って主記憶部102又は補助記憶部103へのデータの書き込みを制御することで実現される。具体的には、通常処理部15bは、その決定結果(通常)に含まれる処理IDで特定される処理を実行する。もしその決定結果に利用パラメータが含まれているのであれば、通常処理部15bはその利用パラメータで示されるデータをデータ記憶部18へ問い合わせ、データ記憶部18から取得したデータを用いて処理を実行する。通常処理部15bは、処理の実行結果をデータ記憶部18及び表示部11bへ出力する。
例えば、決定部15aにより出力された決定結果(通常)に含まれる処理IDが「0057」である場合には、通常処理部15bは、実行する処理が合成実行処理であると特定する(図5参照)。また、通常処理部15bは、決定結果(通常)に含まれた利用パラメータのデータである、ベースカードのカードシリアルと、素材カードのカードシリアルとをデータ記憶部18へ問い合わせる。続いて、通常処理部15bは、データ記憶部18から取得したベースカード及び素材カードのパラメータを用いて合成実行処理を行う。そして、通常処理部22は結果パラメータ(参照)のデータであるベースカードのカードシリアルを実行結果として表示部11bへ出力する。また、通常処理部22は、結果パラメータ(記録)のデータであるカードレベル(データID:0003)を実行結果としてデータ記憶部18へ格納する。
データ記憶部18は、ゲームの進行に必要な基本となるデータ及びユーザ固有の情報を格納している。データ記憶部18は、主記憶部102又は補助記憶部103により実現される。ゲームの基本となるデータとは、ゲーム画面に関する情報、カードに関するデフォルトの情報(成長前のモンスターに関する情報及びモンスターの画像等)、ゲーム音楽等である。また、ユーザ固有の情報とは、ユーザのレベル、ユーザの所有カードの情報(所有カードの種類又はレベル等)、ユーザの成績等である。データ記憶部18は、ユーザの所有カードの情報を示す所有カードデータテーブルを格納している。図7は、所有カードデータテーブルの一例である。図7に示すように、所有カードデータテーブルでは、ユーザが所有するカードの種別を特定する「カードID」に、「カードシリアル」、「カードレベル」が関連付けられている。カードシリアルは唯一無二のシリアルであるため、同一のカード種別(同一のカードID)であっても、異なるカードであれば異なるカードシリアルが付される。例えば、ユーザUaが仮想的に所有するモンスターMaのカードとユーザUbが仮想的に所有するモンスターMaのカードとでは、カードIDは同じであるが、カードシリアルは互いに異なる。
例えば、合成実行処理(処理ID:0057)を実行する場合には、通常処理部15bは、データ記憶部18の所有カードデータテーブルを参照し、ベースカード及び素材カードのカードシリアルに対応したカードのパラメータを取得する。なお、カードのパラメータとは、合成処理後の結果パラメータ(記録)であるカードレベルを決定するためのパラメータである。通常処理部15bは、そのパラメータを用いて合成実行処理を実行すると、処理結果をデータ記憶部18に格納することでデータ記憶部18の所有カードデータテーブル(例えばカードレベル)を更新する。
中断処理実行部15cは、決定部15aにより通常処理部15bにおける処理を実行せずに中断すると決定された場合に、処理を中断することに伴って実行される処理に用いられる情報である中断処理情報を生成する。中断処理実行部15cは、CPU101が主記憶部102内のプログラムを実行することで実現される。「処理を中断することに伴って実行される処理」とは、処理を中断することによって必要となる処理であり、例えば、端末10A1のユーザに処理を中断したことを通知する処理や、中断前後の処理のログを記録する処理等である。以下では、処理を中断することに伴って実行される処理は、端末10A1のユーザに処理を中断したことを通知する処理であるとして説明する。例えば、中断処理情報は、中断した旨を示す情報、及び、中断した処理を特定する処理IDを含む。中断処理実行部15cは、生成した中断処理情報を端末側送受信部19へ出力する。
また、中断処理実行部15cは、中断処理情報に基づいてサーバで生成された応答情報を端末側送受信部19より取得する。応答情報とは、例えば、端末10A1側で、処理を実行することができない旨(言い換えると、処理を中断した旨)をユーザに通知するために用いる情報である。応答情報の内容および形式は限定されず、応答情報は、表示部11bにより表示されるメッセージでもよいし、そのメッセージを生成するための情報でもよい。中断処理実行部15cは応答情報そのもの、または該応答情報に基づいて生成したメッセージを表示部11bに出力する。この処理により、表示部11bにおいてそのメッセージが表示される。このように、中断処理実行部15c及び表示部11bは、決定部15aの決定に基づき所定の処理が実行されなかったことを端末10A1のユーザに通知する通知部としての機能を有する。
端末側送受信部19は、サーバ30と通信する。端末側送受信部19は、CPU101が主記憶部102内のプログラムを実行し、該プログラムに従って通信制御部104を制御することで実現される。サーバ30への送信時には、端末側送受信部19は入力されたデータに送信先情報(通信の宛先、すなわちサーバ30を示す情報)を付加してそのデータを送信する。サーバ30からの受信時には、端末側送受信部19は、送られてきたデータの宛先が端末10A1である場合にそのデータを受信する。端末10A1とサーバ30との間の通信は暗号化されてもよく、この場合には、端末側送受信部19はデータを暗号化してから送信処理を実行し、データ受信にはそのデータを復号してから関連の機能要素にそのデータを出力する。
例えば、端末側送受信部19は中断処理実行部15cにより生成された中断処理情報をサーバ30へ送信し、サーバ30にて生成された応答情報をサーバ30から受信する。また、端末側送受信部19はテーブル情報をサーバ30から受信する。テーブル情報とは、実行可否テーブル16における実行可否フラグの設定に用いる情報である。テーブル情報に基づいて実行可否フラグを設定できるのであれば、テーブル情報の形式は何ら限定されない。例えば、テーブル情報は更新不可であるデータID(以下では「更新不可データID」ともいう)および更新可能なデータID(以下では「更新可能データID」ともいう)のリストでもよい。端末側送受信部19は、受信されたテーブル情報をテーブル管理部17へ出力する。
テーブル管理部17は、テーブル情報に基づいて実行可否テーブル16を更新する。テーブル管理部17は、CPU101が主記憶部102内のプログラムを実行し、該プログラムに従って主記憶部102又は補助記憶部103へのデータの書き込みを制御することで実現される。例えば、テーブル管理部17は、テーブル情報の更新不可データIDと一致するデータIDに関連付けられている実行可否フラグを「1」にする。また、テーブル管理部17は、テーブル情報の更新可能データIDに一致するデータIDに関連付けられている実行可否フラグを「0」にする。例えば、実行可否テーブル16が図6に示す状態で、更新不可データID:0002がテーブル管理部17に入力された場合には、テーブル管理部17は、実行可否テーブル16のデータID:0002の実行可否フラグを0から1に変更(更新)する。また、更新可能データID:0003がテーブル管理部17に入力された場合には、テーブル管理部17は、実行可否テーブル16のデータID:0003の実行可否フラグを1から0に変更(更新)する。このように実行可否フラグはテーブル情報に従って設定されるから、このテーブル情報も実行可否情報であるといえる。
次に、サーバ30の機能構成を説明する。サーバ30は、テーブル情報生成部31、サーバ側送受信部33、及び応答処理部34を備えている。
テーブル情報生成部31は、上述したテーブル情報を生成する。テーブル情報生成部31は、CPU101が主記憶部102内のプログラムを実行することで実現される。テーブル情報生成部31は、サーバ30のオペレータにより入力された条件データ32を受け付ける。条件データ32は、テーブル情報生成部31がテーブル情報を生成する条件を示したデータである。条件データ32が1以上の更新不可データIDまたは更新可能データIDのリストである場合には、テーブル情報生成部31はそのデータIDを含むテーブル情報を生成する。条件データ32が、データの更新を実行させたくない処理を示す場合には、テーブル情報生成部31はその処理時に更新されるデータのデータIDを更新不可データIDとして含むテーブル情報を生成する。テーブル情報生成部31は、生成したテーブル情報をサーバ側送受信部33へ出力する。テーブル情報生成部31及びサーバ側送受信部33は、実行可否情報であるテーブル情報を端末10A1に提供する提供部としての機能を有する。
サーバ側送受信部33は、端末10A1と通信する。サーバ側送受信部33は、CPU101が主記憶部102内のプログラムを実行し、該プログラムに従って通信制御部104を制御することで実現される。端末10A1への送信時には、サーバ側送受信部33は入力されたデータに送信先情報(通信の宛先、すなわち端末10A1を示す情報)を付加してそのデータを送信する。端末10A1からの受信時には、サーバ側送受信部33は、送られてきたデータの宛先がサーバ30である場合にそのデータを受信する。端末10A1とサーバ30との間の通信が暗号化される場合には、サーバ側送受信部33は端末側送受信部19と同様の暗号化処理および復号処理を実行する。
例えば、サーバ側送受信部33は中断処理情報を受信して応答処理部34へ出力する。また、サーバ側送受信部33は応答処理部34から入力された応答情報を端末10A1に送信する。
応答処理部34は、サーバ側送受信部33を介して、端末10A1より中断処理情報を受け付ける。すなわち、応答処理部34は、中断した処理を特定する処理IDを受け付ける。応答処理部34は、CPU101が主記憶部102内のプログラムを実行することで実現される。応答処理部34は、中断処理情報に基づき、端末10A1側へ応答するための情報である応答情報を生成する。応答情報は、端末10A1に表示するメッセージでもよいし、中断処理実行部15cにおいてそのメッセージを生成するための情報でもよい。応答処理部34は、生成した応答情報をサーバ側送受信部33へ出力する。例えば処理ID「0057」を含む中断処理情報を受け付けた場合には、応答処理部34は「現在、合成実行はできません。パッチを提供するまでしばらくお待ち下さい」というようなメッセージを応答情報として生成する。
次に、処理システム1の動作について説明する。図8は、処理システム1の実行可否テーブル16の更新処理を説明するフローチャートである。図8に示す処理は、端末10A1及びサーバ30によって実行される。
オペレータが条件データ32を入力すると(S10;YES)、テーブル情報生成部31がその条件データに基づいてテーブル情報を生成する(S12)。続いて、サーバ側送受信部33がそのテーブル情報を端末10A1へ送信する。端末10A1では、端末側送受信部19が、そのテーブル情報を受信し(S14)、テーブル管理部17がそのテーブル情報に基づいて実行可否テーブル16を更新する(S16)。
例えば、実行可否テーブル16が図6に示す状態であるとして、オペレータが更新不可データID「0004」を条件データ32として入力した場合には、テーブル情報生成部31はその更新不可データID「0004」を含むテーブル情報を生成し、サーバ側送受信部33がそのテーブル情報を端末10A1へ送信する。端末10A1では、テーブル管理部17が、実行可否テーブル16内のデータID「0004」に関連付けられている実行可否フラグを「1」に更新する。
以上の処理により、端末10A1の実行可否テーブル16が更新される。なお、図8の処理は定期的にまたはサーバ30のオペレータの指示により繰り返し実行され得る。
次に、図9を用いて、処理システム1の中断処理を説明する。図9は、処理システム1による中断処理を説明するフローチャートである。図9に示す処理は、端末10A1及びサーバ30によって実行される。処理システム1は、例えば端末10A1がユーザ操作を受け付ける度に、図9に示す処理を実行する。
まず、端末10A1にて、ゲーム管理部12が処理命令を処理実行部15へ出力する(S20)。具体的には、ゲーム管理部12は、ユーザ操作から特定した処理ID、並びに、当該処理IDに係る利用パラメータ及び結果パラメータを処理実行部15の決定部15aへ出力する。
続いて、決定部15aが、その処理IDに係る結果パラメータ(記録)を示すデータIDと実行可否テーブル16とを用いて、ゲーム管理部12から出力された処理IDの処理を実行するか否かを判定する。決定部15aは、その処理IDに係るデータIDに関連付けられた実行可否フラグが「1」であるか否かを判定する(S22)。
実行可否フラグが「0」である場合には(S22;NO)、通常処理部15bがゲーム管理部12から入力されたデータに基づく処理(通常処理)を実行し(S24)、必要に応じて処理結果をデータ記憶部18に記録する(S26)。
一方、実行可否フラグが「1」である場合には(S22;YES)、中断処理実行部15cが中断処理情報を生成し(S27)端末側送受信部19がその中断処理情報をサーバ30に送信する。サーバ30では、サーバ側送受信部33が中断処理情報を受信し(S28)、応答処理部34がその中断処理情報に基づいて応答情報を生成する(S30)。そして、サーバ側送受信部33がその応答情報を端末10A1に送信する。
端末10A1では、端末側送受信部19が応答情報を受信する(S32)。そして、中断処理実行部15cがその応答情報に基づいて、表示部11bで表示するメッセージを生成し、表示部11bがそのメッセージを表示する。これは、中断処理(S34)の一部である。実行可否フラグが「1」である場合には通常処理部15bに処理を実行させないが、これも中断処理(S34)の一部である。
例えば、ゲーム管理部12が図4における処理ID「0057」に関する情報を決定部15aに出力した場合には、決定部15aは実行可否テーブル16を参照して、データID「0003」の実行可否フラグが「1」であると判定する。この場合には、中断処理実行部15cが処理ID「0057」を含む中断処理情報を生成し、端末側送受信部19がその中断処理情報をサーバ30に送信する。サーバ30では応答処理部34がその中断処理情報に基づいて、例えば「現在、合成実行はできません。パッチを提供するまでしばらくお待ち下さい」という応答情報を生成し、サーバ側送受信部33がその応答情報を端末10A1に送信する。そして、中断処理実行部15cがその応答情報をメッセージとして表示部11bに表示させる。この一連の処理において、通常処理部15bは合成実行処理を行わない。
もし、データID「0003」の実行可否フラグが「0」である場合には、決定部15aは合成実行処理を行うと決定し、通常処理部15bが合成実行処理を行ってカードレベルを更新する。当然ながら、この場合には、中断処理実行部15cは何の処理も実行しないので、サーバ30側の処理も実行されないし、応答情報に基づくメッセージも表示されない。
次に、コンピュータを端末10A1又はサーバ30として機能させるための端末処理プログラム及びサーバ処理プログラムを説明する。
端末処理プログラムは、メインモジュール、入力モジュール及び演算処理モジュールを備えている。メインモジュールは、端末処理を統括的に制御する部分である。入力モジュールは、ユーザからの入力を受け付けるようにコンピュータを動作させる。演算処理モジュールは、処理実行モジュール及びゲーム管理モジュールを備えている。メインモジュール、入力モジュール及び演算処理モジュールを実行させることにより実現される機能は、上述した端末10A1の入出力部11、ゲーム管理部12、処理実行部15(決定部15a、通常処理部15b、及び中断処理実行部15c)、テーブル管理部17、及び端末側送受信部19の機能とそれぞれ同様である。
サーバ処理プログラムは、メインモジュール、入力モジュール及び演算処理モジュールを備えている。メインモジュールは、サーバ処理を統括的に制御する部分である。入力モジュールは、ユーザからの入力を受け付けるようにコンピュータを動作させる。演算処理モジュールは、テーブル情報生成モジュール及び応答処理モジュールを備えている。メインモジュール、入力モジュール及び演算処理モジュールを実行させることにより実現される機能は、上述したサーバ30のテーブル情報生成部31、サーバ側送受信部33、及び応答処理部34の機能とそれぞれ同様である。
端末処理プログラム及びサーバ処理プログラムは、例えば、ROM又は半導体メモリ等の非一時的な記録媒体によって提供される。また、端末処理プログラム及びサーバ処理プログラムは、データ信号としてネットワークを介して提供されてもよい。
図10を用いて、上記の処理システム1の作用効果を説明する。図10は、処理システム1の作用効果を説明する概要図である。例えば端末アプリケーションの不具合により、所定の処理の実行時に、データ更新に失敗する場合がある。データ更新に失敗した場合には、ユーザが所有するデータが書き換わってしまうおそれがあるため、当該データ更新を行う処理を実行不可とする必要がある。図10では、処理Cを実行不可とする必要がある場合を例に説明する。
比較例に係る処理システム100では、処理Cを実行不可とするために、端末アプリケーションのアップデートを行っている。このような端末アプリケーションのアップデートには、原因の特定や修正プログラムの作成等が必要になり、その対応に時間を要してしまう。その結果、所定の期間、サービス停止が必要になる場合がある。このようなサービス停止は、ユーザが処理システムを利用しようとするモチベーションを低下させるものである。
これに対して、本実施形態に係る処理システム1では、サーバ30からの情報に基づいて生成された、処理と関連付けられた実行可否情報(例えば、実行可否フラグ)に基づいて、処理を実行するか否かが決定される。そのため、処理Cが実行されないように実行可否情報を設定することで、処理Cを確実に実行させないことができる。これにより、端末アプリケーションの更新を行うことなく、不具合に係る処理を実行不可とすることができる。
(第2実施形態)
本実施形態に係る処理システム1Bは、第1実施形態における決定部15aに相当する機能をサーバ側に備える点で、第1実施形態に係る処理システム1と異なる。以下では、第1実施形態に係る処理システム1との相違点を中心に説明し、第1実施形態と同様の部分については説明を省略する。
本実施形態に係る処理システム1Bのハードウェア構成は、処理システム1と同様である。また、処理システム1Bでは、端末10A1に対応する端末を、端末10B1として説明する。第1実施形態における複数の端末10A2〜端末10Anは、複数の端末10B2〜端末10Bnに対応する。
図11は、処理システム1Bの機能構成を示すブロック図である。図11に示すように、端末10B1は、例えば、入出力部11、ゲーム管理部12B、操作コマンドテーブル13、処理IDテーブル14、処理実行部15B、データ記憶部18、及び端末側送受信部19を備える。
ゲーム管理部12Bは、ゲーム管理部12とほぼ同様に構成されるが、処理命令(処理IDと、この処理IDに係る利用パラメータ及び結果パラメータ)を処理実行部15Bにではなく端末側送受信部19へ出力する。端末側送受信部19はその処理命令をサーバ30Bに送信する。処理実行部15Bは、処理実行部15とほぼ同様に構成されるが、端末側送受信部19によって受信された判定結果から処理命令を取得する。その他の構成は、端末10A1と同様である。
サーバ30Bは、テーブル情報生成部31B、サーバ側送受信部33、応答処理部34、決定部15X、実行可否テーブル16B、及びテーブル管理部17Bを備えている。
テーブル情報生成部31Bは、テーブル情報生成部31と同様に構成されるが、テーブル情報の出力先が相違する。テーブル情報生成部31Bは、生成したテーブル情報をテーブル管理部17Bへ出力する。テーブル管理部17Bは、テーブル管理部17とほぼ同様に構成され、テーブル情報に基づいて実行可否テーブル16Bを更新する。
決定部15Xは、サーバ側送受信部33から処理命令(処理IDと、この処理IDに係る利用パラメータ及び結果パラメータ)を受信すると、結果パラメータ(記録)を示すデータIDを取得する。そして、決定部15Xは、実行可否テーブル16Bを参照し、結果パラメータ(記録)を示すデータIDに係る実行可否フラグを取得する。実行可否フラグが「0」である場合には、決定部15Xはその処理命令を通常処理部15bで処理させるための判定結果をサーバ側送受信部33に出力する。この判定結果には受信した処理命令が含まれ、この処理命令は通常処理部15bで処理される。一方、実行可否フラグが「1」である場合には、決定部15Xは処理命令を中断処理実行部15cで処理させるための判定結果をサーバ側送受信部33に出力する。この判定結果にも受信した処理命令が含まれ、この処理命令は中断処理実行部15cで処理される。サーバ30Bのその他の構成は、サーバ30と同様である。
次に、処理システム1Bの動作について説明する。図12は、処理システム1Bの実行可否テーブル16Bの更新処理を説明するフローチャートである。図12に示す処理は、サーバ30Bによって実行される。
オペレータが条件データ32を入力すると(S40;YES)、テーブル情報生成部31Bが、その条件データに基づいてテーブル情報を生成し(S42)、テーブル管理部17Bがそのテーブル情報に基づいて実行可否テーブル16Bを更新する(S44)。図12の処理は定期的にまたはサーバ30Bのオペレータの指示により繰り返し実行され得る。
例えば、実行可否テーブル16Bが図6に示す状態であるとして、オペレータが更新不可データID「0004」を条件データ32として入力した場合には、テーブル情報生成部31Bはその更新不可データID「0004」を含むテーブル情報を生成し、テーブル管理部17Bが、実行可否テーブル16B内のデータID「0004」に関連付けられている実行可否フラグを「1」に更新する。
次に、図13を用いて処理システム1Bの中断処理を説明する。図13は、処理システム1Bによる中断処理を説明するフローチャートである。図13に示す処理は、端末10B1及びサーバ30によって実行される。処理システム1Bは、例えば端末10B1がユーザ操作を受け付ける度に、図13に示す処理を実行する。
まず、端末10B1にて、ゲーム管理部12Bが処理命令を端末側送受信部19へ出力する(S50)。この処理命令は、ユーザ操作から特定した処理ID、並びに、当該処理IDに係る利用パラメータ及び結果パラメータを含む。端末側送受信部19はその処理命令をサーバ30Bに送信する。
サーバ30Bではサーバ側送受信部33がその処理命令を受け付け(S52)、決定部15Xが、結果パラメータ(記録)を示すデータIDと、実行可否テーブル16Bとを用いて、その処理命令で示される処理IDの処理を実行させるか否かを判定する(S54)。具体的には、決定部15Xは、データIDに関連付けられた実行可否フラグを参照して判定結果を生成する。続いて、決定部15Xは、サーバ側送受信部33を介して、端末10B1へその判定結果を送信する。
端末10B1では、端末側送受信部19がその判定結果を受け付ける(S56)。その判定結果が通常処理を示す場合には(S58;NO)、通常処理部15bが通常処理を実行し(S60)、必要に応じて処理結果をデータ記憶部18に記録する(S62)。S60及びS62の処理は、S24及びS26の処理と同様である。一方、判定結果が中断処理を示す場合には(S58;YES)、第1実施形態におけるS27〜S34と同様の処理が実行される(S64〜S72)。
例えば、ゲーム管理部12が図4における処理ID「0057」に関する情報を端末側送受信部19を介してサーバ30Bに送信した場合には、決定部15Xが実行可否テーブル16Bを参照して、データID「0003」の実行可否フラグが「1」であると判定し、処理命令を中断処理実行部15cで処理させるための判定結果をサーバ側送受信部33を介して端末10B1に送信する。この場合には、中断処理実行部15cが処理ID「0057」を含む中断処理情報を生成し、端末側送受信部19がその中断処理情報をサーバ30Bに送信する。サーバ30Bでは応答処理部34がその中断処理情報に基づいて、例えば「現在、合成実行はできません。パッチを提供するまでしばらくお待ち下さい」という応答情報を生成し、サーバ側送受信部33がその応答情報を端末10B1に送信する。そして、中断処理実行部15cがその応答情報をメッセージとして表示部11bに表示させる。この一連の処理において、通常処理部15bは合成実行処理を行わない。
もし、データID「0003」の実行可否フラグが「0」である場合には、決定部15Xは、処理命令を中断処理実行部15cで処理させるための判定結果をサーバ側送受信部33を介して端末10B1に送信する。そして、通常処理部15bが合成実行処理を行ってカードレベルを更新する。当然ながら、この場合には、中断処理実行部15cは何の処理も実行しないので、応答情報に基づくメッセージは表示されない。
コンピュータを端末10B1又はサーバ30Bとして機能させるための端末処理プログラム及びサーバ処理プログラムについては、第1実施形態と同様である。
以上説明した第2実施形態に係る処理システム1Bも、第1実施形態に係る処理システム1と同様の効果を奏する。
以上、実施形態について説明したが本発明は上記実施形態に限定されるものではない。
例えば、決定部15a,15Xが処理を実行するか否かを決定するとして説明したが、決定部15a,15Xは、処理の少なくとも一部を実行するか否かを決定してもよい。例えば、同一の処理IDに係る処理において、データを読み込む処理とデータを更新する処理とがある場合に、決定部15a,15Xは、データを読み込む処理は常に実行することとし、データを更新する処理のみ、実行するか否かを決定することとしてもよい。
また、サーバ30,30Bの応答処理部34によって生成される応答情報は、端末10A1,10B1側で、中断した処理を実行することができない旨をユーザに通知するために用いる情報であったが、応答情報の内容はこれに限定されない。例えば、応答情報は、中断した処理をサーバ30,30B側で代行した処理結果であってもよい。
以上、説明したように、本発明の一側面に係る処理システム(例えば、処理システム1,1B)は、端末(例えば端末10A1,10B1)及びサーバ(例えば、サーバ30,30B)間で通信を行う処理システムであって、前記端末において所定の処理を実行する通常処理部(例えば、通常処理部15b)と、前記サーバから提供される、前記所定の処理と関連付けられた実行可否情報(例えば、実行可否フラグ)に基づいて、前記通常処理部における前記所定の処理の少なくとも一部を実行するか否かを決定する決定部(例えば、決定部15a,15X)と、を備え、前記通常処理部は、前記決定部により実行しないと決定された場合に、前記所定の処理を実行しない。
本発明の一側面に係る処理システムでは、所定の処理と関連付けられた実行可否情報を用いることで、所定の処理単位で処理を実行するか否かを決定することができる。このため、不具合機能に係る処理を実行させないように実行可否情報を設定することで、不具合機能に係る処理の実行を確実に中断することができ、アプリケーションの更新を行うことなく、不具合に係る機能を停止させることができる。端末内にインストールされたアプリケーションの内部に不具合が生ずると、アプリケーションの更新版(修正版)を開発して各端末に配布する必要があるが、このような対応には時間が掛かる。本発明の一側面に係る処理システムを用いた場合には、アプリケーションの更新を待つことなく実行可否情報を設定することで不具合を避けることができるので、非常に有効である。
一実施形態では、前記決定部が、所定のデータとさらに関連付けられた前記実行可否情報に基づいて、前記所定のデータに対する前記所定の処理の少なくとも一部を実行するか否かを決定してもよい。実行可否情報が所定のデータと関連付けられていることで、所定のデータに係る所定の処理を確実に中断することができる。
一実施形態では、前記実行可否情報が、前記所定のデータが更新可能か否かを示し、前記決定部が、前記実行可否情報に基づいて、記憶部(例えば、データ記憶部18)内の前記所定のデータの更新を実行するか否かを決定してもよい。実行可否情報に基づいてデータの更新を実行するか否かを決定することで、例えば、データ更新に失敗する所定の処理を確実に中断することができる。
一実施形態では、前記実行可否情報が、1以上の前記所定の処理に対応するユーザ操作と関連付けられ、前記決定部が、前記実行可否情報に基づいて、受け付けた前記ユーザ操作に対応する前記1以上の所定の処理の少なくとも一部を実行するか否かを決定してもよい。実行可否情報がユーザ操作と関連付けられていることで、所定のユーザ操作に係る所定の処理を確実に中断することができる。
一実施形態では、前記実行可否情報が、1以上の前記ユーザ操作を示すグループと関連付けられ、前記決定部が、前記実行可否情報に基づいて、前記グループに対応する前記1以上の所定の処理の少なくとも一部を実行するか否かを決定してもよい。例えば、連続して行われるユーザ操作を同一グループとすることが考えられる。実行可否情報はグループ単位で関連付けされる。そのため、同一グループに、実行させたくない処理に係るユーザ操作が含まれている場合には、同一グループのうち当該ユーザ操作よりも前に行われるユーザ操作が行われた時点で、処理を中断させることができる。このことで、例えば、先行の処理が成功したとしても後続の処理が失敗することで、結果的に先行の処理の実行が無駄になることを防止することができる。
一実施形態では、前記決定部により、前記通常処理部における前記所定の処理の少なくとも一部を実行せずに中断すると決定された場合に、中断することに伴って実行される処理に用いられる情報である中断処理情報(例えば、中断した旨を示す情報、及び、中断した処理を特定する処理ID)を生成する中断処理実行部(例えば、中断処理実行部15c)を更に備えてもよい。例えば、中断した旨を示す情報、及び、中断した処理を特定する処理ID等が含まれた中断処理情報が生成されることにより、中断した処理に係る各種の処理を実施することができる。
一実施形態では、前記決定部の決定に基づき前記所定の処理の少なくとも一部を実行しなかったことを、前記端末において通知する通知部(例えば、中断処理実行部15c及び表示部11b)を更に備えてもよい。これにより、中断した処理に係る情報をユーザに通知することができる。
本発明の他の側面に係るサーバ(例えば、サーバ30,30B)は、端末(例えば端末10A1、端末10B1)と通信を行うサーバであって、前記端末での所定の処理と関連付けられた実行可否情報(例えば、実行可否フラグ)を、前記所定の処理の少なくとも一部を実行するか否かを決定するために、前記端末に提供する提供部(例えば、テーブル情報生成部31,31B及びサーバ側送受信部33)を備える。
本発明の他の側面に係るサーバによれば、端末に対して、適宜、実行可否情報を提供することができる。不具合機能に係る処理の実行を中断するような実行可否情報を提供することで、不具合機能に係る処理の実行を確実に中断することができ、アプリケーションの更新を行うことなく、不具合に係る機能を停止させることができる。
本発明のさらに他の側面に係るサーバ処理プログラムは、端末(例えば端末10A1、端末10B1)と通信を行うサーバ(例えば、サーバ30,30B)を動作させるサーバ処理プログラムであって、前記端末での所定の処理と関連付けられた実行可否情報(例えば、実行可否フラグ)を、前記所定の処理の少なくとも一部を実行するか否かを決定するために、前記端末に提供する提供部(例えば、テーブル情報生成部31,31B及びサーバ側送受信部33)、として前記サーバを機能させる。
本発明のさらに他の側面に係るサーバ処理プログラムによれば、端末に対して、適宜、実行可否情報を提供することができる。不具合機能に係る処理の実行を中断するような実行可否情報を提供することで、不具合機能に係る処理の実行を確実に中断することができ、アプリケーションの更新を行うことなく、不具合に係る機能を停止させることができる。
本発明のさらに他の側面に係る端末(例えば端末10A1、端末10B1)は、サーバ(例えば、サーバ30,30B)と通信を行う端末であって、所定の処理を実行する通常処理部(例えば、通常処理部15b)を備え、前記通常処理部での所定の処理と関連付けられた実行可否情報(例えば、実行可否フラグ)に基づいて、前記所定の処理の少なくとも一部を実行しないと決定された場合に、前記通常処理部が前記所定の処理の少なくとも一部を実行しない。
本発明のさらに他の側面に係る端末によれば、実行可否情報に基づき所定の処理を実行しないと決定された場合に、所定の処理が実行されない。不具合機能に係る処理の実行を中断するように実行可否情報を設定することで、不具合機能に係る処理の実行を確実に中断することができ、アプリケーションの更新を行うことなく、不具合に係る機能を停止させることができる。
本発明のさらに他の側面に係る端末処理プログラムは、サーバ(例えば、サーバ30,30B)と通信を行う端末(例えば端末10A1、端末10B1)を動作させる端末処理プログラムであって、所定の処理を実行する通常処理部(例えば、通常処理部15b)、として前記端末を機能させ、前記通常処理部での所定の処理と関連付けられた実行可否情報(例えば、実行可否フラグ)に基づいて、前記所定の処理の少なくとも一部を実行しないと決定された場合に、前記通常処理部が前記所定の処理の少なくとも一部を実行しない。
本発明のさらに他の側面に係る端末処理プログラムによれば、実行可否情報に基づき所定の処理を実行しないと決定された場合に、所定の処理が実行されない。不具合機能に係る処理の実行を中断するように実行可否情報を設定することで、不具合機能に係る処理の実行を確実に中断することができ、アプリケーションの更新を行うことなく、不具合に係る機能を停止させることができる。