(57)【要約】【課題】アプリケーションプログラム開発効率を向上させる。【解決手段】コンピュータに、クライアント端末上で動作する複数のゲームアプリケーションプログラムのいずれかをユーザに選択させる手順と、ユーザにより選択されたゲームアプリケーションプログラムをコンピュータに実行させる手順と、ユーザにより選択されたゲームアプリケーションプログラムから、複数のゲームアプリケーションプログラムにおいて使用される共有データを更新する更新情報、および、共有データの更新を要求する更新要求を受信する手順と、ユーザにより選択されたゲームアプリケーションプログラムの実行中に、バックグラウンドで、サーバに格納されている共有データを更新させるべく、サーバに更新情報を送信する手順とを実行させる。【選択図】図１
2013009856.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してサーバと情報をやり取りするクライアント端末のＯＳ上で動作するプログラムであって、
コンピュータに、
前記クライアント端末上で動作する複数のゲームアプリケーションプログラムのいずれかをユーザに選択させる手順と、
前記ユーザにより選択されたゲームアプリケーションプログラムを前記コンピュータに実行させる手順と、
前記ユーザにより選択されたゲームアプリケーションプログラムから、前記複数のゲームアプリケーションプログラムにおいて使用される共有データを更新する更新情報、および、前記共有データの更新を要求する更新要求を受信する手順と、
前記ユーザにより選択されたゲームアプリケーションプログラムの実行中に、バックグラウンドで、前記サーバに格納されている共有データを更新させるべく、前記サーバに前記更新情報を送信する手順と、
を実行させるためのプログラム。
【請求項２】
前記ユーザにより選択されたゲームアプリケーションプログラムを前記コンピュータに実行させる手順は、
前記ユーザにより選択されたゲームアプリケーションプログラムから、共有ライブラリに含まれるプログラムまたはファイルを呼び出す呼出要求を受信する手順と、
前記呼出要求に応じて、前記共有ライブラリに含まれるプログラムまたはファイルを呼び出す手順と、
を含む、
請求項１に記載のプログラム。
【請求項３】
前記共有ライブラリに含まれるプログラムまたはファイルは、前記コンピュータに外部記憶媒体へのデータの読み書きを制御する手順を実行させるためのプログラムまたはファイル、前記コンピュータにサウンドデータまたは映像データの再生を制御する手順を実行させるためのプログラムまたはファイル、前記コンピュータにデータを暗号化または復号化する手順を実行させるためのプログラムまたはファイル、前記コンピュータにデータを圧縮または展開する手順を実行させるためのプログラムまたはファイル、および、前記コンピュータにゲームアプリケーションプログラムにより提供されるゲーム内でのイベントの発生確率を算出する手順を実行させるためのプログラムまたはファイルから選ばれる少なくとも１つのプログラムまたはファイルである、
請求項２に記載のプログラム。
【請求項４】
前記コンピュータに、
前記ユーザにより選択されたゲームアプリケーションプログラムを前記コンピュータに実行させる手順より前に、
前記ユーザを識別するユーザ識別情報を取得する手順と、
前記サーバと前記クライアント端末との間のデータ通信の認証を要求する認証要求、および、前記ユーザ識別情報を、前記サーバに送信する手順と、
をさらに実行させるための、
請求項１から請求項３までの何れか一項に記載のプログラム。
【請求項５】
前記更新情報および前記更新要求を受信する手順は、
前記ユーザにより選択されたゲームアプリケーションプログラムから、暗号化された前記更新情報を受信する手順と、
暗号化された前記更新情報を復号する手順と、
を含む、
請求項１から請求項４までの何れか一項に記載のプログラム。
【請求項６】
前記更新情報は、前記ユーザにより選択されたゲームアプリケーションプログラムの実行経過および実行結果の少なくとも一方に関する情報を含む、
請求項１から請求項５までの何れか一項に記載のプログラム。
【請求項７】
前記共有データは、前記複数のゲームアプリケーションプログラムにより提供されるゲーム内において共通して用いられる仮想通貨およびアイテムの少なくとも一方、ならびに、前記複数のゲームアプリケーションプログラムにより提供されるゲームの成績の少なくとも１つに関する情報を含む、
請求項１から請求項６までの何れか一項に記載のプログラム。
【請求項８】
前記ユーザにより選択されたゲームアプリケーションプログラムを前記コンピュータに実行させる手順は、前記ユーザにより選択されたゲームアプリケーションプログラムを、動的リンクにより呼び出す手順を含む、
請求項１から請求項７までの何れか一項に記載のプログラム。
【請求項９】
ネットワークを介してサーバと情報をやり取りする情報処理装置であって、
請求項１から請求項８までの何れか一項に記載のプログラムを格納する格納部と、
前記プログラムを実行する実行部と、
を備える情報処理装置。
【請求項１０】
請求項９に記載の情報処理装置と、
前記共有データを格納する共有データ格納部を有し、ネットワークを介して前記情報処理装置と情報をやり取りするサーバと、
を備える情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置および情報処理システムに関する。
【背景技術】
【０００２】
近年、各種のアプリケーションプログラムまたはサービスが、ネットワーク上で取引されている。例えば、ネットワークを介して、携帯端末などの情報処理装置にアプリケーションプログラムをダウンロードすることが行われている。また、Ｗｅｂブラウザが導入された情報処理装置を用いて、ネットワーク上のサーバにアクセスして、当該サーバの提供するサービスを利用することが行われている。（例えば、特許文献１を参照。）。
特許文献１  特開２０１１−７８６３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
このようなアプリケーションプログラムの流通経路の変化に伴って、アプリケーションプログラムの開発においても、開発効率を向上させることが求められている。特に、携帯電話、スマートフォンのようにＰＣと比較して処理能力の小さい情報処理装置上で動作するアプリケーションプログラムの場合には、情報処理装置にかかる負担を増加させることなく、開発効率を向上させることが求められる。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、ネットワークを介してサーバと情報をやり取りするクライアント端末のＯＳ上で動作するプログラムであって、コンピュータに、クライアント端末上で動作する複数のゲームアプリケーションプログラムのいずれかをユーザに選択させる手順と、ユーザにより選択されたゲームアプリケーションプログラムをコンピュータに実行させる手順と、ユーザにより選択されたゲームアプリケーションプログラムから、複数のゲームアプリケーションプログラムにおいて使用される共有データを更新する更新情報、および、共有データの更新を要求する更新要求を受信する手順と、ユーザにより選択されたゲームアプリケーションプログラムの実行中に、バックグラウンドで、サーバに格納されている共有データを更新させるべく、サーバに更新情報を送信する手順とを実行させるためのプログラムが提供される。
【０００５】
上記のプログラムにおいて、ユーザにより選択されたゲームアプリケーションプログラムをコンピュータに実行させる手順は、ユーザにより選択されたゲームアプリケーションプログラムから、共有ライブラリに含まれるプログラムまたはファイルを呼び出す呼出要求を受信する手順と、呼出要求に応じて、共有ライブラリに含まれるプログラムまたはファイルを呼び出す手順とを含んでよい。
【０００６】
上記のプログラムにおいて、共有ライブラリに含まれるプログラムまたはファイルは、コンピュータに外部記憶媒体へのデータの読み書きを制御する手順を実行させるためのプログラムまたはファイル、コンピュータにサウンドデータまたは映像データの再生を制御する手順を実行させるためのプログラムまたはファイル、コンピュータにデータを暗号化または復号化する手順を実行させるためのプログラムまたはファイル、コンピュータにデータを圧縮または展開する手順を実行させるためのプログラムまたはファイル、および、コンピュータにゲームアプリケーションプログラムにより提供されるゲーム内でのイベントの発生確率を算出する手順を実行させるためのプログラムまたはファイルから選ばれる少なくとも１つのプログラムまたはファイルであってよい。
【０００７】
上記のプログラムは、コンピュータに、ユーザにより選択されたゲームアプリケーションプログラムをコンピュータに実行させる手順より前にユーザを識別するユーザ識別情報を取得する手順と、サーバとクライアント端末との間のデータ通信の認証を要求する認証要求およびユーザ識別情報をサーバに送信する手順と、をさらに実行させるためのプログラムであってよい。
【０００８】
上記のプログラムにおいて、更新情報および更新要求を受信する手順は、ユーザにより選択されたゲームアプリケーションプログラムから、暗号化された更新情報を受信する手順と、暗号化された更新情報を復号する手順とを含んでよい。上記のプログラムにおいて、更新情報は、ユーザにより選択されたゲームアプリケーションプログラムの実行経過および実行結果の少なくとも一方に関する情報を含んでよい。
【０００９】
上記のプログラムにおいて、共有データは、複数のゲームアプリケーションプログラムにより提供されるゲーム内において共通して用いられる仮想通貨およびアイテムの少なくとも一方、ならびに、複数のゲームアプリケーションプログラムにより提供されるゲームの成績の少なくとも１つに関する情報を含んでよい。上記のプログラムにおいて、ユーザにより選択されたゲームアプリケーションプログラムをコンピュータに実行させる手順は、ユーザにより選択されたゲームアプリケーションプログラムを、動的リンクにより呼び出す手順を含んでよい。
【００１０】
本発明の第２の態様においては、ネットワークを介してサーバと情報をやり取りする情報処理装置であって、上記のプログラムを格納する格納部と、プログラムを実行する実行部とを備える情報処理装置が提供される。
【００１１】
本発明の第３の態様においては、上記の情報処理装置と、共有データを格納する共有データ格納部を有し、ネットワークを介して情報処理装置と情報をやり取りするサーバとを備える情報処理システムが提供される。
【００１２】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１３】
【図１】情報処理システム１００のシステム構成の一例を概略的に示す。
【図２】クライアント端末１０４の機能構成の一例を概略的に示す。
【図３】クライアント端末１０４に表示される画面の一例を概略的に示す。
【図４】クライアント端末１０４に表示される画面の一例を概略的に示す。
【図５】クライアント端末１０４に表示される画面の一例を概略的に示す。
【図６】情報処理システム１００による情報処理の一例を概略的に示す。
【図７】コンピュータ１９００のハードウエア構成の一例を概略的に示す。
【発明を実施するための形態】
【００１４】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１５】
図１は、情報処理システム１００のシステム構成の一例を概略的に示す。ゲームアプリケーションプログラムの開発効率を向上させて、開発期間の短縮化、開発コストの低減などを実現する方法としては、複数のゲームアプリケーションプログラムに共通する機能を実現するプログラムまたはモジュールを、共有ライブラリとしてサーバ上に準備しておくことも考えられる。この場合、ゲームアプリケーションプログラムはサーバ上で動作する。ユーザは、Ｗｅｂブラウザが導入されたクライアント端末を用いてサーバにアクセスする。これにより、ゲームアプリケーションプログラムの開発者は、共有ライブラリに含まれるプログラムまたはモジュールについて、独自に開発しなくてもよくなり、開発効率が向上する。
【００１６】
この場合、サウンドデータ、ムービーデータなどの容量の大きなデータを再生する場合には、ネットワークの通信状態によっては、データの再生が途切れる場合がある。また、クライアント端末がサーバに接続していない場合には、ゲームアプリケーションプログラムを全く実行することができない。
【００１７】
本実施形態の情報処理システム１００においては、共有ライブラリを有し、複数のゲームアプリケーションプログラムを管理するゲーム管理プログラムが、クライアント端末に導入される。これにより、ゲームアプリケーションプログラムの開発効率を向上させるだけでなく、ネットワークの通信状態によらず、ムービーデータなどを再生することができる。また、クライアント端末がサーバに接続していない場合であっても、ゲームアプリケーションプログラムを実行することができる。
【００１８】
本実施形態の情報処理システム１００においては、ゲームアプリケーションプログラムは、ゲーム管理プログラムから呼び出されて実行される。特に、本実施形態において、ゲームアプリケーションプログラムは、ゲーム管理プログラムに読み込まれることなく、別のプログラムとして実行される。ゲームアプリケーションプログラムが実行されると、ゲーム管理プログラムはバックグラウンドに移行する。ゲーム管理プログラムはバックグラウンドに移行した後も、機能の一部を他のアプリケーションプログラムに提供する。例えば、ゲームアプリケーションプログラムは、プログラムの実行中に、必要に応じて、共有ライブラリに含まれるプログラムまたはファイルを呼び出すことができる。
【００１９】
これにより、ＯＳの仕様などによっては、動的リンクにより他のプログラムを呼び出すことが難しい場合であっても、ゲーム管理プログラムとゲームアプリケーションプログラムとが協働してゲームを進行させることができる。また、ゲームアプリケーションプログラムの開発者は、共有ライブラリに含まれるプログラムまたはファイルを独自に開発する必要がないので、開発効率を向上させることができる。
【００２０】
図１は、情報処理システム１００をネットワーク１０とともに示す。ネットワーク１０は、インターネット、ＬＡＮ、専用回線、パケット通信網、電話回線、企業内ネットワーク、またはそれらの組み合わせであってよい。ネットワーク１０は、有線回線であってもよく、無線回線であってもよい。情報処理システム１００は、サーバ１０２と、クライアント端末１０４とを備える。サーバ１０２およびクライアント端末１０４は、ネットワーク１０を介して情報をやり取りする。情報処理システム１００は、複数のクライアント端末１０４を備えてよい。
【００２１】
本実施形態において、サーバ１０２は、システム制御部１２２と、ユーザ情報格納部１２４と、配信情報格納部１２６とを有する。クライアント端末１０４は、ゲーム管理プログラム１５２およびゲームアプリケーションプログラム１５４を有する。クライアント端末１０４は、複数のゲームアプリケーションプログラム１５４を有してよい。クライアント端末１０４は、Ｗｅｂブラウザ１５６を有してもよい。
【００２２】
ゲーム管理プログラム１５２およびゲームアプリケーションプログラム１５４は、クライアント端末１０４のＯＳ１４０上で動作する。ゲーム管理プログラム１５２は、インタフェースモジュール１６２と、通信モジュール１６４と、共有ライブラリ１６６とを含んでよい。ゲームアプリケーションプログラム１５４は、インタフェースモジュール１７２を含んでよい。
【００２３】
サーバ１０２は、ネットワーク１０を介して、クライアント端末１０４と情報をやり取りする。サーバ１０２は、ネットワーク１０を介して、クライアント端末１０４に各種のサービスを提供する。例えば、サーバ１０２は、ソーシャル・ネットワーク・サービスを提供する。これにより、ユーザは、クライアント端末１０４を用いてサーバ１０２にアクセスすることで、掲示板、チャット、３次元仮想空間上における他のユーザとのコミュニケーション、仮想商店における電子商取引などのサービスを利用することができる。
【００２４】
サーバ１０２は、単一のサーバから構成されてもよく、複数のサーバから構成されてもよい。サーバ１０２は、仮想サーバシステムまたはクラウドシステムを利用して構築されてもよい。サーバ１０２は、用途に特化したシステムまたはコントローラであってもよく、パーソナルコンピュータ等の汎用の情報処理装置であってもよい。
【００２５】
システム制御部１２２は、情報処理システム１００における情報処理を制御する。システム制御部１２２は、クライアント端末１０４からの要求を受け付け、クライアント端末１０４からの要求に応じて各種のサービスを提供する。
【００２６】
例えば、システム制御部１２２は、クライアント端末１０４から、ユーザを識別するユーザ識別情報と、サーバ１０２およびクライアント端末１０４の間のデータ通信の認証を要求する認証要求とを受信する。システム制御部１２２は、認証要求を受け付けると、ログイン処理を実行して、サーバ１０２およびクライアント端末１０４の間のデータ通信を認証し、クライアント端末１０４がサーバ１０２にアクセスすることを許可する。
【００２７】
システム制御部１２２は、ログイン処理を実行した後、ユーザ情報格納部１２４に格納されているユーザ情報と、クライアント端末１０４に格納されているユーザ情報とを比較して、ユーザ情報の同期処理を実行してよい。また、システム制御部１２２は、クライアント端末１０４から、ユーザ情報格納部１２４に格納されているユーザ情報を更新するための情報を受信した場合に、ユーザ情報を更新してもよい。
【００２８】
ユーザ情報格納部１２４は、ユーザ毎に管理されるユーザ情報を格納する。ユーザ情報は、複数のゲームアプリケーションプログラムにおいて使用される共有データの一例であってよい。ユーザ情報格納部１２４は、共有データ格納部の一例であってよい。本実施形態において、ユーザ情報は、ユーザを識別するユーザ識別情報を含む。ユーザ識別情報は、ユーザ毎に割り当てられたユーザＩＤと、ユーザＩＤに対応するパスワードとを含んでよい。
【００２９】
本実施形態において、ユーザ情報は、ゲームアプリケーションプログラム１５４により提供されるゲーム（以下、単に、ゲームと称する場合がある）において使用される仮想通貨およびアイテムの少なくとも一方、ならびに、ゲームの成績の少なくとも１つに関する情報を含む。仮想通貨およびアイテムは、複数のゲームアプリケーションプログラム１５４に共通して使用されてよい。
【００３０】
仮想通貨は、ゲームの成績に応じて増減してよい。ユーザは、ゲームの進行に応じてアイテムを入手してもよく、ゲーム内で仮想通貨を用いてアイテムを購入してもよい。ゲーム内でユーザがアイテムを使用すると、例えば、当該アイテムに対応したイベントが発生する。
【００３１】
配信情報格納部１２６は、サーバ１０２により提供されるサービスにおいて、ユーザに配信される配信情報を格納する。配信情報としては、サーバ１０２により提供されるサービスの最新情報または告知事項、ニュース、他の事業者などが提供するサービスまたは商品の広告を例示することができる。サービスの最新情報または告知事項としては、新しいゲームの配信情報、商品の入荷情報、ゲーム内でのイベントに関する情報を例示することができる。
【００３２】
クライアント端末１０４は、ネットワーク１０を介して、サーバ１０２と情報をやり取りする。クライアント端末１０４は、ゲーム管理プログラム１５２およびゲームアプリケーションプログラム１５４を実行する。クライアント端末１０４は、Ｗｅｂブラウザ１５６を介してサーバ１０２にアクセスして、サーバ１０２上で動作するプログラムにより提供されるサービスを利用してよい。
【００３３】
クライアント端末１０４は、情報処理装置またはコンピュータの一例であってよい。ＣＰＵ、ＲＯＭ、ＲＡＭ、通信インタフェース等を有するデータ処理装置と、入力装置と、出力装置と、記憶装置とを備えた一般的な構成の情報処理装置において、クライアント端末１０４の各部の動作を規定したソフトウエアを起動することにより、クライアント端末１０４が実現されてよい。記憶装置は格納部の一例であってよく、ＣＰＵは実行部の一例であってよい。
【００３４】
クライアント端末１０４は、ネットワーク１０を介してサーバ１０２と情報を送受できる装置であればよく、パーソナルコンピュータ、携帯電話、携帯端末または無線端末であってよい。クライアント端末１０４は、用途に特化したシステムまたはコントローラであってもよく、パーソナルコンピュータ等の汎用の情報処理装置であってもよい。
【００３５】
ゲーム管理プログラム１５２は、クライアント端末１０４に格納されているゲームアプリケーションプログラム１５４を管理する。ゲーム管理プログラム１５２は、複数のゲームアプリケーションプログラム１５４のうち、いずれのゲームアプリケーションプログラム１５４を実行させるかを決定してよい。ゲーム管理プログラム１５２は、実行させるゲームアプリケーションプログラム１５４をユーザに選択させてよい。ゲーム管理プログラム１５２は、クライアント端末１０４に、ユーザが選択したゲームアプリケーションプログラム１５４を実行させる。
【００３６】
ゲーム管理プログラム１５２は、ゲームアプリケーションプログラム１５４と、サーバ１０２との間の情報のやり取りを管理してよい。ゲーム管理プログラム１５２は、ゲームアプリケーションプログラム１５４から共有ライブラリ１６６へのアクセスを管理してよい。ゲーム管理プログラム１５２とゲームアプリケーションプログラム１５４との間の情報のやり取りは、暗号化されてよい。
【００３７】
本実施形態において、ゲーム管理プログラム１５２は、ユーザが選択したゲームアプリケーションプログラム１５４を実行させた後、バックグラウンドに移行する。ゲーム管理プログラム１５２は、バックグラウンドに移行した後も、機能の一部をゲームアプリケーションプログラム１５４に提供する。
【００３８】
ゲームアプリケーションプログラム１５４は、ゲーム管理プログラム１５２から呼び出されて、各種のゲームを実行する。本実施形態において、ゲームアプリケーションプログラム１５４は、ゲーム管理プログラム１５２から呼び出されると、ゲーム管理プログラム１５２とは別のプログラムとして起動する。
【００３９】
ゲームアプリケーションプログラム１５４は、ゲーム管理プログラム１５２を介して、サーバ１０２と情報をやり取りしてよい。ゲームアプリケーションプログラム１５４は、共有ライブラリ１６６に含まれるプログラムまたはファイルを利用してよい。これにより、ゲーム管理プログラム１５２が、ゲームアプリケーションプログラム１５４を動的リンクにより呼び出す場合と比較して、クライアント端末１０４の負担を大幅に軽減することができる。
【００４０】
インタフェースモジュール１６２およびインタフェースモジュール１７２は、クライアント端末１０４を、ゲーム管理プログラム１５２およびゲームアプリケーションプログラム１５４の間の通信を制御するインタフェースとして機能させるための動作を規定したモジュールであってよい。サーバ通信モジュール１６４は、サーバ１０２およびゲーム管理プログラム１５２の間の通信を制御するインタフェースとして機能させるための動作を規定したモジュールであってよい。
【００４１】
共有ライブラリ１６６は、複数のゲームアプリケーションプログラム１５４に共通して使用されるプログラムまたはファイル（共有プログラム等と称する場合がある。）を含む。共有プログラム等は、クライアント端末１０４に外部記憶媒体へのデータの読み書きを制御する手順を実行させるためのプログラム等を含んでよい。共有プログラム等は、クライアント端末１０４にサウンドデータまたは映像データの再生を制御する手順を実行させるためのプログラム等を含んでよい。共有プログラム等は、クライアント端末１０４にデータを暗号化または復号化する手順を実行させるためのプログラム等を含んでよい。共有プログラム等は、クライアント端末１０４にデータを圧縮または展開する手順を実行させるためのプログラム等を含んでよい。
【００４２】
共有プログラム等は、クライアント端末１０４にゲーム内でのイベントの発生確率を算出する手順を実行させるためのプログラム等を含んでよい。例えば、共有プログラム等には、スロットマシーンの絵柄が出現する確率を規定するプログラムまたはファイルが含まれる。これにより、ゲームアプリケーションプログラム１５４の開発者は、ゲーム管理プログラム１５２の開発者から、ゲーム内でのイベントの発生確率を算出する手順について開示されなくとも、ゲームアプリケーションプログラム１５４を開発することができる。なお、ゲーム内でのイベントの発生確率を算出する手順を実行させるためのプログラムまたはファイルは、ゲームアプリケーションプログラム１５４に含まれていてもよい。
【００４３】
以上の通り、本実施形態において、クライアント端末１０４には、複数のゲームアプリケーションプログラム１５４を管理するゲーム管理プログラム１５２が導入されている。ゲームアプリケーションプログラム１５４は、インタフェースモジュール１７２およびインタフェースモジュール１６２を介して、ゲーム管理プログラム１５２と情報をやり取りする。ゲームアプリケーションプログラム１５４は、ゲーム管理プログラム１５２を介して、サーバ１０２と情報をやり取りする。また、ゲームアプリケーションプログラム１５４は、ゲーム管理プログラム１５２を介して、共有ライブラリ１６６を利用することができる。
【００４４】
これにより、ゲームアプリケーションプログラム１５４の開発者は、共有ライブラリ１６６により提供されている機能を独自に開発する手間を省略することができる。その結果、ゲームアプリケーションプログラム１５４の開発期間を短縮することができ、開発コストを低減することができる。
【００４５】
図２は、ゲーム管理プログラム１５２およびゲームアプリケーションプログラム１５４が実行されている状態における、クライアント端末１０４の機能構成の一例を概略的に示す。本実施形態において、クライアント端末１０４は、出力部２０２と、入力部２０４と、格納部２０６と、プログラム実行部２１０とを備える。本実施形態において、プログラム実行部２１０がゲーム管理プログラム１５２を実行すると、クライアント端末１０４は、ゲーム管理部２３０、プログラム間通信制御部２６２およびサーバ通信制御部２６４として機能する。また、プログラム実行部２１０がゲームアプリケーションプログラム１５４を実行すると、クライアント端末１０４は、ゲーム実行部２４０およびプログラム間通信制御部２７２として機能する。
【００４６】
ゲーム管理部２３０は、ゲーム提示部２３２と、ゲーム呼出部２３４と、共有ライブラリ実行部２３６と、要求処理部２３８とを含んでよい。ゲーム管理部２３０、ゲーム実行部２４０、プログラム間通信制御部２６２、サーバ通信制御部２６４およびプログラム間通信制御部２７２のそれぞれは、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよい。また、ハードウエアおよびソフトウエアにより実現されてもよい。
【００４７】
出力部２０２は、ユーザに対して情報を出力する。出力部２０２は、液晶ディスプレイ、有機ＥＬディスプレイ、ＣＲＴディスプレイなどの表示装置、プリンタなどの印字装置、スピーカなどの音声出力装置、または、振動モータなどの振動発生装置であってよい。出力部２０２は、外部のコンピュータ、記憶装置または記憶媒体との間で情報をやり取りする情報書込装置または通信装置であってもよい。
【００４８】
入力部２０４は、ユーザからの入力を受け付ける。入力部２０４は、キーボード、マウス、タッチパネル、マイク、カメラなどの入力装置であってよい。入力部２０４は、文字認識装置またはサウンド認識装置であってもよく、外部のコンピュータ、記憶装置または記憶媒体との間で情報をやり取りする情報読取装置または通信装置であってもよく、ジャイロセンサ、加速度センサなどのセンサであってもよい。
【００４９】
格納部２０６は、プログラムの実行に必要な情報を格納する。本実施形態において、格納部２０６は、共有ライブラリ１６６を格納する共有ライブラリ格納部２２２と、ユーザ情報を格納するユーザ情報格納部２２４と、ゲーム管理プログラム１５２および複数のゲームアプリケーションプログラム１５４を格納するプログラム格納部２２６を有する。なお、共有ライブラリ１６６は、予めゲーム管理プログラム１５２とリンクされ、プログラム格納部２２６に格納されていてもよい。
【００５０】
格納部２０６は、ハードディスク、ＣＤ−ＲＯＭ、ＩＣカード、フラッシュメモリなどの記憶装置または記憶媒体であってもよい。ユーザ情報格納部２２４は、ゲーム管理プログラム１５２の実行中にユーザ情報を一時的に格納するメモリであってよい。これにより、ユーザ情報がクライアント端末１０４のハードディスクなどに保存されて、改ざんされることを防止することができる。
【００５１】
プログラム実行部２１０は、プログラム格納部２２６に格納されているプログラムを実行する。プログラム実行部２１０は、ＣＰＵなどの演算処理装置であってよい。プログラム実行部２１０は、実行部の一例であってよい。
【００５２】
ゲーム管理部２３０は、複数のゲームアプリケーションプログラム１５４を管理する。ゲーム管理部２３０は、複数のゲームアプリケーションプログラム１５４のうち、いずれのゲームアプリケーションプログラム１５４を実行させるかを決定してよい。ゲーム管理部２３０は、実行させるゲームアプリケーションプログラム１５４をユーザに選択させてよい。
【００５３】
ゲーム管理部２３０は、ゲームアプリケーションプログラム１５４と、サーバ１０２との間の情報のやり取りを管理してよい。ゲーム管理部２３０は、ゲームアプリケーションプログラム１５４との間でやり取りする情報を暗号化してよい。ゲーム管理部２３０は、ゲームアプリケーションプログラム１５４から暗号化された情報を受信した場合に、暗号化された情報を復号してよい。
【００５４】
ゲーム提示部２３２は、１以上のゲームアプリケーションプログラム１５４をユーザに提示する。例えば、ゲーム提示部２３２は、プログラム格納部２２６に格納されているゲームアプリケーションプログラム１５４のそれぞれについて、ゲームアプリケーションプログラム１５４を識別する情報を出力部２０２に通知する。これにより、複数のゲームアプリケーションプログラム１５４のいずれかをユーザに選択させることができる。
【００５５】
ゲーム提示部２３２は、プログラム格納部２２６に格納されているゲームアプリケーションプログラム１５４の名称をリスト形式またはアイコン形式でユーザに提示してよい。ゲーム提示部２３２は、プログラム格納部２２６に格納されているゲームアプリケーションプログラム１５４を３次元仮想空間上でユーザに提示してもよい。ゲーム提示部２３２は、予め定められた基準に従ってゲームアプリケーションプログラム１５４を分類して、ユーザに提示してよい。
【００５６】
ゲーム呼出部２３４は、入力部２０４から、ユーザによる選択結果を受け取る。ゲーム呼出部２３４は、ユーザにより選択されたゲームアプリケーションプログラム１５４を実行させる。本実施形態において、ゲーム呼出部２３４は、ゲームアプリケーションプログラム１５４を、ゲーム管理プログラム１５２とは別のプログラムとして起動させる。
【００５７】
これにより、技術的な理由またはセキュリティ上の理由により、動的リンクによりゲームアプリケーションプログラム１５４を呼び出すことが難しい場合であっても、ゲーム管理プログラム１５２とゲームアプリケーションプログラム１５４とが協働してゲームを進行させることができる。そのため、ゲームアプリケーションプログラム１５４の開発効率を向上させることができる。
【００５８】
共有ライブラリ実行部２３６は、共有ライブラリ１６６に含まれるプログラムを実行する。共有ライブラリ実行部２３６は、要求処理部２３８からの指示に基づいて、共有ライブラリ１６６に含まれるプログラムを実行してよい。なお、ゲーム実行部２４０が共有ライブラリ１６６に含まれるプログラムを実行してもよい。
【００５９】
要求処理部２３８は、入力部２０４から受け取ったユーザの要求を処理する。要求処理部２３８は、ゲーム実行部２４０から受け取った要求を処理する。要求処理部２３８は、サーバ１０２のシステム制御部１２２から受け取った要求を処理する。本実施形態において、要求処理部２３８は、プログラム間通信制御部２６２およびプログラム間通信制御部２７２を介して、ゲーム実行部２４０と情報をやり取りする。また、要求処理部２３８は、サーバ通信制御部２６４を介して、サーバ１０２のシステム制御部１２２と情報をやり取りする。
【００６０】
入力部２０４から受け取ったユーザの要求としては、ログイン要求を例示することができる。要求処理部２３８は、ユーザからのログイン要求を受け取ると、サーバ１０２へのログインを実行する。ログインは、例えば、以下の手順で実行される。まず、要求処理部２３８が、入力部２０４からユーザ識別情報を取得する。次に、要求処理部２３８が、サーバ１０２とクライアント端末１０４との間のデータ通信の認証を要求する認証要求および取得したユーザ識別情報を、サーバ１０２に送信する。
【００６１】
サーバ１０２は、クライアント端末１０４から認証要求を受け取ると、ユーザの認証処理を実行する。サーバ１０２は、ユーザを認証すると、クライアント端末１０４によるサーバ１０２へのアクセスを許可する。サーバ１０２へのログインは、ゲーム呼出部２３４が、ユーザにより選択されたゲームアプリケーションプログラム１５４を実行させる前に実行されてよい。
【００６２】
ゲーム実行部２４０から受け取る要求としては、更新要求と、呼出要求とを例示することができる。更新要求は、サーバ１０２のユーザ情報格納部１２４に格納されているユーザ情報の更新を要求する。呼出要求は、共有ライブラリ１６６に含まれるプログラムまたはファイルを呼び出すことを要求する。
【００６３】
ユーザ情報格納部１２４に格納されているユーザ情報の更新処理は、例えば、以下の手順で実行される。まず、要求処理部２３８が、ゲーム実行部２４０から、更新要求と、ユーザ情報格納部１２４に格納されているユーザ情報を更新する更新情報とを受信する。更新情報は、ユーザにより選択されたゲームアプリケーションプログラム１５４の実行経過および実行結果の少なくとも一方に関する情報を含んでよい。更新情報は暗号化されていてもよい。受信した更新情報が暗号化されている場合、要求処理部２３８は、暗号化された更新情報を復号する。
【００６４】
次に、要求処理部２３８は、サーバ１０２に更新情報を送信して、ユーザ情報格納部１２４に格納されているユーザ情報を更新するよう要求する。サーバ１０２は、クライアント端末１０４から更新情報を受け取ると、ユーザ情報格納部１２４に格納されているユーザ情報を更新する。
【００６５】
要求処理部２３８は、ゲーム実行部２４０から更新情報および更新要求を受信した場合に、ユーザ情報格納部２２４に格納されているユーザ情報も更新してよい。本実施形態において、通常、ユーザ情報は、クライアント端末１０４に保存されることなく、サーバ１０２に送信される。しかし、ネットワーク１０の通信状態が悪いときのように、サーバ通信制御部２６４が更新情報をサーバ１０２に送信することができない場合には、ゲーム管理部２３０は、ユーザ情報をクライアント端末１０４のユーザ情報格納部２２４に、一時的に格納してよい。この場合、ユーザ情報格納部２２４はメモリ上の領域に形成されてよい。
【００６６】
これにより、更新情報をサーバ１０２に送信することができない場合であっても、ゲームを続行することができる。また、ユーザ情報がクライアント端末１０４のハードディスク上に長時間保存されることがないので、ユーザ情報の改ざんを抑制することができる。要求処理部２３８は、通信状態が回復した後、ユーザ情報格納部２２４に格納されているユーザ情報をサーバ１０２に送信して、ユーザ情報を更新してもよい。また、ゲーム管理部２３０は、サーバ１０２により更新されたユーザ情報に基づいて、ゲームを進行させてよい。
【００６７】
ゲーム実行部２４０による共有ライブラリ１６６の呼出処理は、例えば、以下の手順で実行される。まず、要求処理部２３８が、ゲーム実行部２４０から、呼出要求を受信する。次に、要求処理部２３８は、共有ライブラリ実行部２３６に対して、ゲーム実行部２４０から要求されたプログラムを実行させてよい。なお、ゲーム実行部２４０が要求したプログラムを実行してもよい。
【００６８】
本実施形態においては、要求処理部２３８およびゲーム実行部２４０が、プログラム間通信制御部２６２およびプログラム間通信制御部２７２を介して情報をやり取りするので、ゲーム実行部２４０が共有ライブラリ１６６を呼び出す場合に、要求するプログラム、使用するファイルなどを容易に指定することができる。その結果、ゲームアプリケーションプログラム１５４の開発効率が向上し、開発期間の短縮化、開発コストの低減などを実現することができる。
【００６９】
要求処理部２３８は、ゲーム呼出部２３４がユーザにより選択されたゲームアプリケーションプログラム１５４を実行させた後、ゲーム管理プログラム１５２をバックグラウンドに移行させる。ゲーム管理部２３０、サーバ通信制御部２６４およびプログラム間通信制御部２６２は、ゲーム管理プログラム１５２がバックグラウンドに移行した後も、ゲーム管理プログラム１５２により実現される機能の一部をゲームアプリケーションプログラム１５４に提供する。
【００７０】
要求処理部２３８は、ゲームの実行経過を監視して、不正が行われていないかを判断してよい。要求処理部２３８は、予め定められた期間におけるゲームの成績の変化量が予め定められた値より大きい場合に、不正が行われたと判断してよい。要求処理部２３８は、ゲームの成績に応じて、ゲーム内で使用することができる仮想通貨、アイテムなどを付与してよい。
【００７１】
プログラム間通信制御部２６２は、ゲーム管理部２３０が、プログラム間通信制御部２７２を介して、ゲーム実行部２４０と情報をやり取りするためのインタフェースであってよい。プログラム間通信制御部２６２は、インタフェースモジュール１６２が実行されることにより実現されてよい。
【００７２】
サーバ通信制御部２６４は、ゲーム管理部２３０が、ネットワーク１０を介して、サーバ１０２のシステム制御部１２２と情報をやり取りするためのインタフェースであってよい。サーバ通信制御部２６４は、通信モジュール１６４が実行されることにより実現されてよい。
【００７３】
ゲーム実行部２４０は、ゲームアプリケーションプログラム１５４により提供されるゲームを実行する。ゲーム実行部２４０は、ゲームアプリケーションプログラム１５４に含まれるゲーム本体の動作を規定したモジュールが実行されることにより実現されてよい。ゲーム実行部２４０は、ゲーム管理部２３０に対して、更新情報および更新要求を通知する。ゲーム実行部２４０は、必要に応じて、ゲーム管理部２３０に対して、共有ライブラリ１６６に含まれるプログラムまたはファイルを呼び出す呼出要求を通知する。
【００７４】
プログラム間通信制御部２７２は、ゲーム実行部２４０が、プログラム間通信制御部２６２を介して、ゲーム管理部２３０と情報をやり取りするためのインタフェースであってよい。プログラム間通信制御部２７２は、インタフェースモジュール１７２が実行されることにより実現されてよい。
【００７５】
本実施形態において、ユーザにより選択されたゲームアプリケーションプログラム１５４が、ゲーム管理プログラム１５２とは別のプログラムとして起動する場合を例として、クライアント端末１０４について説明した。しかし、クライアント端末１０４はこれに限定されない。
【００７６】
例えば、ゲーム管理プログラム１５２が、ユーザにより選択されたゲームアプリケーションプログラム１５４を動的リンクにより呼び出してもよい。これにより、ゲームアプリケーションプログラム１５４がゲーム管理プログラム１５２に結合されるので、適切なセキュリティ技術を利用することで、ゲームアプリケーションプログラム１５４の実行中に、第三者によりメモリの内容が取得されることを抑制することができる。
【００７７】
動的リンクによりゲームアプリケーションプログラム１５４を呼び出して、ゲームアプリケーションプログラム１５４を実行する方法によれば、ゲーム管理プログラム１５２とゲームアプリケーションプログラム１５４とが１つのアプリケーションプログラムとして動作するので、関数の呼び出しに関する制約が少ない。また、適切なセキュリティ技術を適用することで、外部からのアプリケーションプログラムの内部のメモリへのアクセスを防止することができる。そのため、当該方法は、セキュリティを重視する場合に好適に用いられる。
【００７８】
これに対して、ゲーム管理プログラム１５２とは別に、ゲームアプリケーションプログラム１５４を起動させる方法によれば、技術的な理由またはセキュリティ上の理由により、動的リンクによりゲームアプリケーションプログラム１５４を呼び出すことが難しい場合であっても、ゲーム管理プログラム１５２とゲームアプリケーションプログラム１５４とが協働してゲームを進行させることができる。技術的な理由またはセキュリティ上の理由としては、ＯＳの仕様を例示することができる。そのため、当該方法は、クライアント端末１０４として、携帯電話、スマートフォンまたは携帯情報端末を使用する場合に好適に用いられる。
【００７９】
図３、図４および図５は、クライアント端末１０４の出力部２０２に表示される画面の一例を概略的に示す。図３〜図５を用いて、サーバ１０２が、サーバ１０２にアクセスするクライアント端末１０４に対してソーシャル・ネットワーク・サービスを提供する場合を例として、サーバ１０２およびクライアント端末１０４における処理について概略的に説明する。
【００８０】
図３は、ゲーム提示部２３２がユーザに対して複数のゲームアプリケーションプログラム１５４を提示する画面３００の一例を概略的に示す。ゲーム管理プログラム１５２が実行され、ユーザがサーバ１０２にログインすると、画面３００には、３次元仮想空間上にユーザＡを示すキャラクター３０２と、ユーザＢを示すキャラクター３０４が表示される。ゲーム提示部２３２は、パーラーＸの仮想店舗を示すアイコン３１２と、パーラーＹの仮想店舗を示すアイコン３１４と、商店Ｚの仮想店舗を示すアイコン３１６とを出力部２０２に表示させる。
【００８１】
プログラム格納部２２６に格納されている複数のゲームアプリケーションプログラム１５４は、予め定められた基準に基づいて、アイコン３１２、アイコン３１４およびアイコン３１６のいずれかと対応づけられてよい。予め定められた基準としては、ゲームの種類、ゲームアプリケーションプログラム１５４の提供者、当該提供者の国籍、ゲームアプリケーションプログラム１５４の提供開始時期などを例示することができる。
【００８２】
画面３００には、アイコン３１２、アイコン３１４およびアイコン３１６のそれぞれに対応付けられた配信情報を表示する配信情報表示部３２２、配信情報表示部３２４および配信情報表示部３２６が表示されてよい。配信情報表示部３２２、配信情報表示部３２４および配信情報表示部３２６には、サーバ１０２から受け取った配信情報が表示される。
【００８３】
配信情報の表示は、例えば、以下の手順で実行される。ゲーム管理プログラム１５２が実行されると、要求処理部２３８は、配信情報を配信するよう要求する配信要求を、システム制御部１２２に送信する。システム制御部１２２は、配信要求を受け取ると、配信情報格納部１２６に格納された配信情報の中から、アイコン３１２、アイコン３１４およびアイコン３１６のそれぞれに対応する配信情報を抽出して、要求処理部２３８に送信する。要求処理部２３８は、受け取った配信情報をゲーム提示部２３２に通知して、出力部２０２に表示させる。
【００８４】
画面３００には、サーバ１０２により提供されるチャット機能を実現するチャット表示部３３２が表示されてよい。これにより、ユーザは、サーバ１０２にログインしている他のユーザとのコミュニケーションを楽しむことができる。ユーザが、アイコン３１２、アイコン３１４およびアイコン３１６のいずれかを選択して選択結果を入力部２０４に入力すると、画面３００は、選択されたアイコンに対応付けられたゲームアプリケーションプログラム１５４を提示する画面に切り替わる。
【００８５】
図４は、画面３００において選択されたアイコンに対応付けられたゲームアプリケーションプログラム１５４を提示する画面４００の一例を概略的に示す。画面４００は、例えば、パーラーＸの店内を示す仮想空間を表す。ゲーム提示部２３２は、画面４００の中に、パーラーＸに対応づけられたゲームアプリケーションプログラム１５４を提示する。本実施形態において、画面４００には、それぞれ異なる機種のスロットマシーンのゲームアプリケーションプログラム１５４を示すアイコン４１２およびアイコン４１４が表示されている。
【００８６】
ユーザが、アイコン４１２およびアイコン４１４のいずれかを選択して選択結果を入力部２０４に入力すると、ゲーム呼出部２３４が、選択されたアイコンに対応付けられたゲームアプリケーションプログラム１５４を呼び出し、ゲーム実行部２４０がゲームを開始する。ゲーム実行部２４０は、ユーザがどのアイコンを選択したかによってゲームの初期設定を決定してよい。ゲームが開始されると、画面４００はゲームの実行画面に切り替わる。
【００８７】
図５は、画面４００において選択されたアイコンに対応付けられたゲームアプリケーションプログラム１５４の実行画面５００の一例を概略的に示す。実行画面５００には、ゲームの画像または映像を表示するゲーム画像表示部５１０と、ゲーム、ユーザまたは広告に関する情報を表示する情報表示部５２０とが表示されてよい。ゲーム画像表示部５１０は、回転するスロットの映像、演出映像などを表示するスロット画像表示部５１２と、スロットを操作するボタンを表示する操作部５１４とを含んでよい。
【００８８】
情報表示部５２０は、実行しているゲームアプリケーションプログラム１５４に関する情報を表示するゲーム情報表示部５３０と、ユーザ情報を表示するユーザ情報表示部５４０とを含んでよい。ユーザ情報表示部５４０は、ユーザを示すキャラクターを表示するアバター画像表示部５４２と、ユーザＩＤなどのログイン情報を表示するログイン情報表示部５４４と、ユーザが所有しているメダルの枚数を表示するメダル枚数表示部５４６と、ユーザが所有しているアイテムを表示するアイテム情報表示部５４８とを含んでよい。メダルは仮想通貨の一例であってよい。
【００８９】
ゲーム実行部２４０は、ゲーム管理部２３０と情報をやり取りしながら、ゲームアプリケーションプログラム１５４を実行して、出力部２０２に実行画面５００を表示させる。一例として、ゲーム実行部２４０は、ゲームアプリケーションプログラム１５４の実行中に、ゲーム管理部２３０に対して、共有ライブラリ１６６に含まれるプログラムまたはファイルを呼び出す呼出要求を通知して、共有ライブラリ格納部２２２へのアクセスを要求する。
【００９０】
例えば、ゲーム実行部２４０は、スロット画像表示部５１２に映像を表示するときに、共有ライブラリ格納部２２２にアクセスして、共有ライブラリ１６６に含まれるムービーデータを再生するためのプログラムを呼び出す。ムービーデータを再生するためのプログラムは、プログラム格納部２２６に格納されているムービーデータを再生して、スロット画像表示部５１２に映像を表示する。なお、要求処理部２３８が、呼出要求に基づいて、ムービーデータを再生するためのプログラムを呼び出してもよい。共有ライブラリ実行部２３６に実行させてもよい。
【００９１】
他の例として、ゲーム実行部２４０は、ゲームアプリケーションプログラム１５４の実行中に、要求処理部２３８に対してサーバ１０２に格納されているユーザ情報の更新を要求する更新要求を通知してよい。例えば、ゲームアプリケーションプログラム１５４がスロットゲームである場合、ゲーム実行部２４０は、１回のスロットゲームの結果が得られる毎に、実行結果として、ユーザが使用したメダルの枚数と、当該スロットゲームにおいてユーザが獲得したメダルの枚数とを要求処理部２３８に通知する。実行結果は、ユーザが使用したメダルの枚数および獲得したメダルの枚数の差であってもよい。
【００９２】
ゲーム実行部２４０は、実行結果とともに、更新要求を要求処理部２３８に通知する。要求処理部２３８は、サーバ１０２に格納されているメダルの枚数に関する情報を更新させるべく、サーバ１０２に実行結果を送信する。サーバ１０２は、受け取った実行結果に基づいて、ユーザ情報格納部１２４に格納されているメダルの枚数に関する情報を更新する。要求処理部２３８は、更新されたメダルの枚数をサーバ１０２から取得して、メダル枚数表示部５４６に表示させてよい。
【００９３】
ユーザがゲームを終了する操作を実施すると、ゲームアプリケーションプログラム１５４が終了して、ゲーム提示部２３２が処理を引き継ぐ。これにより、実行画面５００が画面４００に切り替わる。画面４００において、ユーザがパーラーＸから退出する操作を実施すると、画面４００が画面３００に切り替わる。
【００９４】
図６は、情報処理システム１００による情報処理の一例を概略的に示す。図６は、ゲーム管理プログラム１５２が、ユーザにより選択されたゲームアプリケーションプログラム１５４を、ゲーム管理プログラム１５２とは別のプログラムとして実行させる場合を例として、情報処理システム１００による情報処理の一例を説明する。しかし、情報処理システム１００による情報処理はこれに限定されない。
【００９５】
ゲーム管理プログラム１５２が実行されると、まず、Ｓ６０２において、要求処理部２３８が、入力部２０４からユーザのログイン要求を受け取り、サーバ１０２へのログインを試みる。要求処理部２３８は、入力部２０４からユーザ識別情報を取得して、取得したユーザ識別情報と、認証要求とをサーバ１０２に送信する。
【００９６】
Ｓ６０４において、サーバ１０２のシステム制御部１２２が、ユーザ識別情報を受け取り、ログイン処理を実施する。システム制御部１２２は、ログイン処理によりユーザを認証すると、クライアント端末１０４によるサーバ１０２へのアクセスを許可する。Ｓ６０６において、サーバ１０２のユーザ情報格納部１２４に格納されているユーザ情報と、クライアント端末１０４のユーザ情報格納部２２４に格納されているユーザ情報とを比較して、ユーザ情報の同期処理を実施する。
【００９７】
ユーザ情報の同期処理おいて、ユーザ情報格納部２２４に格納されているユーザ情報よりも、ユーザ情報格納部１２４に格納されているユーザ情報の方が新しい場合には、Ｓ６０８において、要求処理部２３８が、ユーザ情報格納部２２４に格納されているユーザ情報を更新する。また、Ｓ６１０において、要求処理部２３８は、サーバ１０２が配信する配信情報を受信する。
【００９８】
Ｓ６２０において、ゲーム提示部２３２が、例えば、プログラム格納部２２６に格納されているゲームアプリケーションプログラム１５４の名称を出力部２０２に表示させる。これにより、ユーザは、出力部２０２により提示されたゲームアプリケーションプログラム１５４の中から、いずれかのゲームアプリケーションプログラム１５４を選択することができる。なお、ゲーム提示部２３２は、要求処理部２３８から受信した配信情報を受け取って、配信情報をユーザに提示してよい。
【００９９】
Ｓ６２２において、入力部２０４がユーザの入力を受け付ける。入力部２０４は、ユーザの選択結果をゲーム呼出部２３４に通知する。Ｓ６２４において、ゲーム呼出部２３４が、ユーザにより選択されたゲームアプリケーションプログラム１５４を呼び出す。Ｓ６２６において、ゲーム管理プログラム１５２がバックグラウンドに移行する。
【０１００】
Ｓ６３０において、ユーザにより選択されたゲームアプリケーションプログラム１５４が、ゲーム管理プログラム１５２とは別のプログラムとして実行される。これにより、プログラム実行部２１０が、プログラム間通信制御部２７２およびゲーム実行部２４０としても機能する。
【０１０１】
Ｓ６３２において、ゲーム実行部２４０がゲームを開始する。例えば、ゲームアプリケーションプログラム１５４がスロットゲームである場合、ゲーム実行部２４０は、予め定められた手順に従って、再生する演出映像を決定する。ゲーム実行部２４０は、共有ライブラリ１６６に含まれるムービーデータを再生するためのプログラムを呼び出すべく、要求処理部２３８に対して呼出要求を通知する。要求処理部２３８は、呼出要求を受信すると、共有ライブラリ実行部２３６に対して、ムービーデータを再生するためのプログラムを実行させる。共有ライブラリ実行部２３６は、ムービーデータを再生するためのプログラムを実行して、ゲーム実行部２４０により指定されたムービーデータを再生して、出力部２０２に表示する。なお、ゲーム実行部２４０は、共有プログラム等を動的リンクにより呼び出してもよい。
【０１０２】
ゲームの実行中にサーバ１０２のユーザ情報格納部１２４に格納されているユーザ情報の少なくとも一部を更新する必要が生じた場合には、Ｓ６３４において、ゲーム実行部２４０が、サーバ１０２に格納されているユーザ情報の更新を要求する更新要求を、要求処理部２３８に通知する。例えば、ゲームアプリケーションプログラム１５４がスロットゲームである場合、１回のスロットゲームにおいて、ユーザが獲得するメダルの枚数が確定すると、ゲーム実行部２４０が、要求処理部２３８に更新要求を通知する。
【０１０３】
ゲーム実行部２４０は、ゲームの実行結果または途中経過に基づいて、更新情報を作成して、更新情報を要求処理部２３８に通知してよい。例えば、ゲームアプリケーションプログラム１５４がスロットゲームである場合、ゲーム実行部２４０は、更新情報として、１回のスロットゲームにおいて、ユーザが使用したメダルの枚数と、ユーザが獲得したメダルの枚数とを、要求処理部２３８に通知してよい。
【０１０４】
Ｓ６３６において、要求処理部２３８が、更新情報をサーバ１０２に送信する。Ｓ６３８において、サーバ１０２のシステム制御部１２２が更新情報を受け取る。システム制御部１２２は、更新情報を用いて、ユーザ情報格納部１２４に格納されているユーザ情報を更新する。システム制御部１２２は、更新後のユーザ情報を要求処理部２３８に送信してよい。要求処理部２３８は、更新後のユーザ情報をゲーム実行部２４０に通知してもよく、更新後のユーザ情報を用いて、ユーザ情報格納部２２４に格納されたユーザ情報を更新してもよい。
【０１０５】
Ｓ６４０において、ゲーム実行部２４０は、ゲームアプリケーションプログラム１５４を終了するか否かを決定する。ゲーム実行部２４０は、入力部２０４からの入力に基づいて、ゲームアプリケーションプログラム１５４を終了するか否かを決定してよい。ゲーム実行部２４０がゲームアプリケーションプログラム１５４を続行することを決定した場合（Ｓ６４０のＮｏ）には、Ｓ６３２に戻り、ゲーム実行部２４０が次のゲームを開始する。
【０１０６】
ゲーム実行部２４０がゲームアプリケーションプログラム１５４を終了することを決定した場合（Ｓ６４０のＹｅｓ）には、Ｓ６４２において、ゲームアプリケーションプログラム１５４がゲームを終了させる。その後、ゲームアプリケーションプログラム１５４が終了する。また、Ｓ６４４において、ゲーム管理プログラム１５２がバックグラウンド処理から復帰する。
【０１０７】
ゲームアプリケーションプログラム１５４が終了すると、Ｓ６５０において、要求処理部２３８が、ゲーム管理プログラム１５２を終了するか否かを決定する。ゲーム管理プログラム１５２は、入力部２０４からの入力に基づいて、ゲーム管理プログラム１５２を終了するか否かを決定してよい。要求処理部２３８が、ゲーム管理プログラム１５２を続行することを決定した場合（Ｓ６５０のＮｏ）には、Ｓ６２０に戻り、ゲーム提示部２３２がゲームを提示する。
【０１０８】
要求処理部２３８が、ゲーム管理プログラム１５２を終了することを決定した場合（Ｓ６５０のＹｅｓ）には、Ｓ６５２において、要求処理部２３８は、ログアウト処理を実施する。ログアウト処理が終了すると、ゲーム管理プログラム１５２が終了する。ログアウト処理において、ユーザ情報格納部１２４に格納されているユーザ情報よりも、ユーザ情報格納部２２４に格納されているユーザ情報の方が新しい場合には、Ｓ６５４において、システム制御部１２２が、ユーザ情報格納部１２４に格納されているユーザ情報を更新する。ユーザ情報の更新が終了すると、サーバ１０２における情報処理も終了する。
【０１０９】
図７は、一実施形態に係るコンピュータ１９００のハードウエア構成の一例を概略的に示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インタフェース２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【０１１０】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【０１１１】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インタフェース２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インタフェース２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【０１１２】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウエアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【０１１３】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【０１１４】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インタフェース２０３０に対して通信処理を指示する。通信インタフェース２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、又はＣＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インタフェース２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インタフェース２０３０からデータを読み出し、転送先の通信インタフェース２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【０１１５】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０（ＣＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれる。
【０１１６】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【０１１７】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【０１１８】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【０１１９】
コンピュータ１９００にインストールされ、コンピュータ１９００を情報処理装置または情報処理システムの各部として機能させるプログラムは、各部の動作を規定したモジュールを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、例えば、情報処理システム１００またはクライアント端末１０４の各部としてそれぞれ機能させる。
【０１２０】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウエアと上述した各種のハードウエア資源とが協働した具体的手段として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の情報処理装置または情報処理システムを構築できる。
【０１２１】
以上の記載によれば、本願の明細書には、ネットワークを介してサーバと情報をやり取りするクライアント端末のＯＳ上で動作するプログラムであって、コンピュータを、クライアント端末上で動作する複数のゲームアプリケーションプログラムのいずれかをユーザに選択させる選択部、ユーザにより選択されたゲームアプリケーションプログラムをコンピュータに実行させる呼出部、ユーザにより選択されたゲームアプリケーションプログラムから、複数のゲームアプリケーションプログラムにおいて使用される共有データを更新する更新情報および共有データの更新を要求する更新要求を受信する受信部、および、サーバに格納されている共有データを更新させるべく、サーバに更新情報を送信する送信部として機能させるためのプログラムが記載されている。
【０１２２】
以上の記載によれば、本願の明細書には、ネットワークを介してサーバと情報をやり取りするクライアント端末のＯＳ上で動作するプログラムであって、コンピュータに、クライアント端末上で動作する複数のゲームアプリケーションプログラムのいずれかをユーザに選択させる手順と、ユーザにより選択されたゲームアプリケーションプログラムをコンピュータに実行させる手順と、ユーザにより選択されたゲームアプリケーションプログラムから、複数のゲームアプリケーションプログラムにおいて使用される共有データを更新する更新情報、および、共有データの更新を要求する更新要求を受信する手順と、サーバに格納されている共有データを更新させるべく、サーバに更新情報を送信する手順とを実行させるためのプログラムが記載されている。
【０１２３】
上記のプログラムにおいて、ユーザにより選択されたゲームアプリケーションプログラムをコンピュータに実行させる手順は、ユーザにより選択されたゲームアプリケーションプログラムから、共有ライブラリに含まれるプログラムまたはファイルを呼び出す呼出要求を受信する手順と、呼出要求に応じて、共有ライブラリに含まれるプログラムまたはファイルを呼び出す手順とを含んでよい。上記のプログラムにおいて、ユーザにより選択されたゲームアプリケーションプログラムをコンピュータに実行させる手順は、ユーザにより選択されたゲームアプリケーションプログラムを、動的リンクにより呼び出す手順を含んでよい。
【０１２４】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１２５】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１２６】
１０  ネットワーク、１００  情報処理システム、１０２  サーバ、１０４  クライアント端末、１２２  システム制御部、１２４  ユーザ情報格納部、１２６  配信情報格納部、１４０  ＯＳ、１５２  ゲーム管理プログラム、１５４  ゲームアプリケーションプログラム、１５６  Ｗｅｂブラウザ、１６２  インタフェースモジュール、１６４  通信モジュール、１６６  共有ライブラリ、１７２  インタフェースモジュール、２０２  出力部、２０４  入力部、２０６  格納部、２１０  プログラム実行部、２２２  共有ライブラリ格納部、２２４  ユーザ情報格納部、２２６  プログラム格納部、２３０  ゲーム管理部、２３２  ゲーム提示部、２３４  ゲーム呼出部、２３６  共有ライブラリ実行部、２３８  要求処理部、２４０  ゲーム実行部、２６２  プログラム間通信制御部、２６４  サーバ通信制御部、２７２  プログラム間通信制御部、３００  画面、３０２  キャラクター、３０４  キャラクター、３１２  アイコン、３１４  アイコン、３１６  アイコン、３２２  配信情報表示部、３２４  配信情報表示部、３２６  配信情報表示部、３３２  チャット表示部、４００  画面、４１２  アイコン、４１４  アイコン、５００  実行画面、５１０  ゲーム画像表示部、５１２  スロット画像表示部、５１４  操作部、５２０  情報表示部、５３０  ゲーム情報表示部、５４０  ユーザ情報表示部、５４２  アバター画像表示部、５４４  ログイン情報表示部、５４６  メダル枚数表示部、５４８  アイテム情報表示部、１９００  コンピュータ、２０００  ＣＰＵ、２０１０  ＲＯＭ、２０２０  ＲＡＭ、２０３０  通信インタフェース、２０４０  ハードディスクドライブ、２０５０  フレキシブルディスク・ドライブ、２０６０  ＣＤ−ＲＯＭドライブ、２０７０  入出力チップ、２０７５  グラフィック・コントローラ、２０８０  表示装置、２０８２  ホスト・コントローラ、２０８４  入出力コントローラ、２０９０  フレキシブルディスク、２０９５  ＣＤ−ＲＯＭ
【図１】
2013009856.tif 000003
【図２】
2013009856.tif 000004
【図３】
2013009856.tif 000005
【図４】
2013009856.tif 000006
【図５】
2013009856.tif 000007
【図６】
2013009856.tif 000008
【図７】
2013009856.tif 000009