(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について、サーバと端末とをネットワーク通信接続させて行うネットワークゲームを一例として、図面を用いて説明する。
【0012】
図1は、本発明の一実施形態に係る情報処理システムの構成を示している。
図1に示す情報処理システムは、m人(mは1以上の任意の整数値)のユーザの夫々により使用されるユーザ端末1−1乃至1−mと、サーバ2とを含むシステムである。ユーザ端末1−1乃至1−mの夫々と、サーバ2とは、インターネット等の所定のネットワークNを介して相互に接続されている。
【0013】
サーバ2は、ユーザ端末1−1乃至1−mの夫々に対してゲームの実行環境を提供し、ユーザ端末1−1乃至1−mの夫々において実行されるゲームに関する各種各様のサービスを提供する。
ユーザ端末1−1乃至1−mの夫々は、各ユーザにより操作されるスマートフォン等で構成され、ゲームの実行等各種処理を実行する。
なお、以下、ユーザ端末1−1乃至1−mの夫々を個々に区別する必要がない場合、これらをまとめて「ユーザ端末1」と呼ぶ。
【0014】
図2は、
図1の情報処理システムのうち、ユーザ端末1のハードウェア構成を示すブロック図である。
【0015】
ユーザ端末1は、上述した様にスマートフォン等で構成される。
ユーザ端末1は、CPU(Central Processing Unit)21と、ROM(Read Only Memory)22と、RAM(Random Access Memory)23と、バス24と、入出力インターフェース25と、タッチ操作入力部26と、表示部27と、入力部28と、記憶部29と、通信部30と、ドライブ31と、を備えている。
【0016】
CPU21は、ROM22に記録されているプログラム、又は、記憶部29からRAM23にロードされたプログラムに従って各種の処理を実行する。
RAM23には、CPU21が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【0017】
CPU21、ROM22及びRAM23は、バス24を介して相互に接続されている。このバス24にはまた、入出力インターフェース25も接続されている。入出力インターフェース25には、タッチ操作入力部26、表示部27、入力部28、記憶部29、通信部30、及びドライブ31が接続されている。
【0018】
タッチ操作入力部26は、例えば表示部27の表示面に積層される静電容量式又は抵抗膜式(感圧式)の位置入力センサにより構成され、タッチ操作がなされた位置の座標を検出する。
ここで、タッチ操作とは、タッチ操作入力部26に対する物体の接触の操作をいう。タッチ操作入力部26に対して接触する物体は、例えばユーザの指やタッチペン等である。
表示部27は、液晶等のディスプレイにより構成され、ゲームに関する画像等、各種画像を表示する。
このように、本実施形態では、タッチ操作入力部26と表示部27とにより、タッチパネルが構成されている。
【0019】
入力部28は、各種ハードウェア釦等で構成され、ユーザの指示操作に応じて各種情報を入力する。
記憶部29は、DRAM(Dynamic Random Access Memory)等で構成され、各種データを記憶する。
通信部30は、インターネットを含むネットワークNを介して他の装置(
図1の例ではサーバ2や他のユーザ端末1)との間で行う通信を制御する。
【0020】
ドライブ31は、必要に応じて設けられる。ドライブ31には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなる、リムーバブルメディア41が適宜装着される。ドライブ31によってリムーバブルメディア41から読み出されたプログラムは、必要に応じて記憶部29にインストールされる。また、リムーバブルメディア41は、記憶部29に記憶されている各種データも、記憶部29と同様に記憶することができる。
【0021】
図3は、
図1の情報処理システムのうち、本発明の情報処理装置の一実施形態に係るサーバ2のハードウェア構成を示すブロック図である。
【0022】
サーバ2は、CPU51と、ROM52と、RAM53と、バス54と、入出力インターフェース55と、出力部56と、入力部57と、記憶部58と、通信部59と、ドライブ60とを備えている。
サーバ2の構成は、ユーザ端末1のタッチパネルを除いた構成と基本的に同様であるので、ここではその説明は省略する。
【0023】
このような
図2のユーザ端末1及び
図3のサーバ2の各種ハードウェアと各種ソフトウェアとの協働により、ユーザ端末1でゲームの実行が可能になる。
即ち、本実施形態の情報処理システムは、複数のユーザが参加可能なゲームに対する各種制御を実行できる。特に、情報処理システムは、特別なユーザ認証をせずとも当該ゲームに関するデータをユーザ間及び異種デバイス間で瞬時に共有する制御(以下、「データ共有制御」と呼ぶ)として、次のような制御を実行することができる。
【0024】
即ち、本実施形態の情報処理システムは、カードゲームや箱庭ゲーム(ミニスケープ)等のユーザが多種多様な特定の状態を指定するゲームを対象とする制御を実行する。ここでいうデータとは、ゲームの特定の状態を示すデータを意味する。
ゲームの特定の状態とは、再現性がありかつユーザによって任意に指定される状態をいう。例えばカードゲームであれば、ユーザにより指定された特定の複数種類のカードの組合せで構成されるカードデッキ(以下、単にデッキと呼ぶ)が、特定の状態の一例である。
【0025】
本実施形態の情報処理システムは、ユーザにより指定されたデータを、多様な媒体を通じて、異種のデバイス(異種のユーザ端末1)の間で容易に共有可能にすることができる。
ユーザにより指定されたデータ、即ちゲームの特定の状態を示すデータを共有可能にするために、コードが用いられる。さらに、多様な媒体を通じて、異種のデバイスの間で当該データを容易に共有可能にするためには、ユーザが覚えやすい程度に短縮変換された短縮コードを用いると好適である。
ただし、本実施形態の情報処理システムは、ユーザによって任意に指定される膨大な種類になり得るデータ(即ち膨大な種類になり得るゲームの特定の状態)に対して短縮コードを直接割り当てるのではなく、そのデータを指定するためのアクセスを行う“コネクション”に対して短縮コードを割り当てる。この“コネクション”はユーザ端末1(ユーザ)がサーバ2に対して任意のタイミングで行うアクセスであり、且つ永続しないものである。即ち、ゲームアプリケーションソフトウェアを通じてサーバ2にアクセスしている最中(或いはアクセス終了から所定期間まで)のユーザ端末1の数は最大でも登録ユーザ数までであり、データの種類に比べれば限定的な数として考えることができる。
本実施形態の情報処理システムは、短縮コードとして、例えば4文字程度の極めて短い短縮コードを採用することができる。具体的には例えば、10の1000乗以上の組み合わせを有する複雑なデータ(ゲームの特定の状態)に対しても、4文字程度の極めて短い短縮コードを用いることで、当該データを一意に識別することができる。
【0026】
即ち、本実施形態では、データを様々なメディア(紙媒体、SNS(Social Networking Service)、無線通信等)上で流通させる際に用いる識別子(以下、「第1識別子」と呼ぶ)とは独立させて、当該データをゲームアプリケーションソフトウェア(以下、「アプリケーションソフトウェア」を適宜「アプリケーション」あるいは「アプリ」と短縮して呼ぶ)に読み込ませるときに用いる識別子(以下、「第2識別子」と呼ぶ)が、4文字程度の極めて短い短縮コードにより実現される。
そして、本実施形態では、この第1識別子と第2識別子との対応関係を動的に管理する2段階識別子管理方式が採用されている。これにより、情報の表現能力と入力の容易性を併せ持つ、データの流通や入力が実現可能になる。
【0027】
具体的には例えば本実施形態の情報処理システムでは、再現性があり且つユーザによって任意に指定される特定の状態を示すデータに対して、一意の第1識別子が特定される。 この第1識別子は、内容依存の一意性を有する。従って、異なるユーザが指定したデータであっても、同じゲームアプリケーション内の同一の特定の状態を示すデータに対しては、必ず同一の第1識別子が特定される。
換言すると、ゲーム内の特定の状態が異なる場合は、必ず異なる第1識別子が特定される。
第1識別子は、図示しない第1識別子特定部によって特定される情報である。第1識別子特定部は、所定のアプリケーション(本実施形態ではゲームアプリケーション)に適用するために設計された特定のアルゴリズムによって、所定のアプリケーションにおいて再現性のある特定の状態を一意に示す情報として、第1識別子を特定する。第1識別子が特定されるタイミングは任意のタイミングでよいので、第1識別子特定部は第1識別子を特定して管理する機能を追加で有していてもよい。また、この第1識別子特定部の存在場所は、特に限定されない。つまり、第1識別子特定部は、サーバ2に備えられていてもよいし、サーバ2と連携する別の装置に備えられていてもよい。
ここで本実施形態では、流通用の第1識別子はそのままの形態で用いられるのではなく、当該第1識別子をURL文字列内にエンコードしたもの、即ち当該第1識別子をパラメーターとして含むURLが用いられる。
つまり本実施形態では、ユーザが当該URLに存在するデータ(第1識別子により特定されるゲームの特定の状態)をWebブラウザ等で閲覧することが、当該特定の状態を指定していることを意味する。そして、当該URLへのアクセスが継続し、コネクションが成立している期間が、特定の状態の指定が継続している期間に該当する。
なお、第1識別子としてURLを用いるのは一例であり、これに限定されない。別の例については後述する。
【0028】
上述した様に、ユーザが、特定の状態を指定して、当該特定の状態を示すデータを閲覧するためには、ユーザ端末1を操作して、当該特定の状態に対応する第1識別子をパラメーターとして含むURLにアクセスし、当該URLの場所にあるデータを所定のWebブラウザ等で閲覧する必要がある。 この特定の状態の指定が継続している期間のみ、即ち当該URLへのコネクションが成立している期間のみ、換言すると、当該データが閲覧されている期間のみ有効な一時的な識別子が、第2識別子として生成される。
この第2識別子は、例えば4文字程度の文字列として生成され、第1識別子と紐づけられた上で、ユーザに提示される。これにより、提示されたユーザ又は当該ユーザから口頭等で伝達された他ユーザは、この4文字程度の文字列を、実行中のゲーム内等で入力する操作をするだけで、対応するデータ、即ち指定が継続されている特定の状態を示すデータを取得することができる。
【0029】
以上説明したように、ゲームの特定の状態を示すデータの種類数は、当該データの各構成要素(例えばカードゲームならばカード)の膨大な組み合わせに応じて、膨大な種類数になる。このような膨大な種類数のデータに対しては、内容依存の一意性を有する第1識別子が割り当てられる。
つまり、第1識別子は、特定のユーザの情報(ユーザを識別するためのIDや個人情報など)は含まれておらず、データの内容のみに依存するため、ゲーム内で指定される特定の状態が同一であれば、どのユーザも同一のURLの場所にアクセスすることになる。
具体的には例えばカードゲームの場合、ゲームの特定の状態はデッキになるが、異なるユーザの同一のデッキ構成には、必ず同一の第1識別子が対応付けられる。したがって、本実施形態によるゲームのデータの共有にはユーザを特定するための情報を用いる必要性がなく、更にはユーザによる認証の必要がない。従って、ユーザ情報を管理しているゲームサーバ(本実施形態ではサーバ2)にアクセスせずともデータの共有が可能である。以上の通りであるので、本実施形態の情報処理システムによれば、例えばゲームの運営者ではないサードパーティが用意したゲームサーバ以外のサーバを利用しても容易に実現することができる。
【0030】
一方、第2識別子は、ゲームの特定の状態ではなく、第1識別子を用いたアクセス(コネクション)に対して割り当てられる。ここで、複数のユーザ端末1のうち同時にアクセスするユーザ端末1の台数は、ゲームの特定の状態の種類数に比較して圧倒的に少ないため、第2識別子は、上述した様に、4文字程度の文字列で実現可能になる。
そして、この第2識別子と第1識別子とを紐付けて管理することで、結果として、ゲームの特定の状態を示すデータという膨大な組み合わせを、あたかも極めて短いコード(第2識別子)で表現することができる。
これにより、情報の表現能力と入力の容易性を併せ持つデータの流通や入力が実現可能になる。また、ゲームの特定の状態を示すデータを共有する際においても、ユーザの認証は不要になる。
【0031】
カードゲームを例にさらに説明すると、当該カードゲーム内においてユーザが指定するデータのうち、特に、“デッキ”と呼ばれるデータは、ゲームで用いられる複数のカードの組み合わせを示すデータであり、ゲームの特定の状態を示すデータである。
本実施形態の第1識別子と第2識別子の紐付けの方式を採用することで、同一のデッキを、異なるユーザ間や、同一ユーザであっても異なるデバイス間で、極めて手軽に送受信可能にすることが可能になる。
具体的には例えば、同一ユーザが、ログイン等の処理を行わずに、スマートフォン(ユーザ端末2)上に登録されているデッキを、パーソナルコンピュータ(別のユーザ端末2)等で編集し、それを即座にスマートフォンへ反映するというような、一時的なデバイス間の共有処理が実現可能になる。或いは、ユーザが、その場にいる別のユーザ(友達)に対して即座に、自分のデッキを伝えるような、一時的なユーザ間の共有処理も実現可能になる。
【0032】
具体的には例えば、4,000種類のカードから、重複ありの40枚を選択してデッキを構成するカードゲームが採用されているものとする。
このようなカードゲームでは、カードの組み合わせ数は膨大であり、40枚のカードから構成されるデッキ(ゲームの状態)は、4000^40(=1.2×10^144)という膨大な種類数が存在することになる。
従って、これらの膨大な種類のデッキを、一意に識別する識別子を単純に付与すると、整数を用いた場合で144桁、数字とアルファベットといくつかの記号を含む、64文字の組み合わせとして表現した場合でも80桁の識別子が必要となる。このように長い文字列として表現される識別子は、人がその場で記憶することが難しく、例えばユーザ同士の口頭でのコミュニケーションや、イベント会場でデッキを観衆にアナウンスする場合などに用いることはできない。
一方で、ユーザが指定したデッキを一意に特定するためには、80桁の識別子を用いざるを得ない。そこで、ユーザが指定したデッキを一意に特定するために、この80桁の識別子が、第1識別子として採用される。
そして、ユーザがその場で容易に記憶して、例えばユーザ同士の口頭でのコミュニケーションや、イベント会場でデッキを観衆にアナウンスする場合等に用いることができるように、第1識別子と紐付けられた、4桁程度の第2識別子が用いられるのである。
この第2識別子は、ユーザが第1識別子を用いたアクセスをして、当該第1識別に対応付けられたデッキの閲覧を継続している間だけ有効となるものである。つまり、ユーザによるアクセス(第1識別子に対応付けられたデッキの閲覧)に対して、第2識別子が割り当てられる。
ここで、上述した様に、ゲーム内の特定の状態数よりも、ゲームを同時にプレイするユーザ数のほうが圧倒的に少数である。このため、第2識別子として、4桁程度の非常に短い識別子を採用することができるのである。
【0033】
また、ユーザは、デッキを他のユーザと共有するだけではなく、ログイン等の処理を行わずに、スマートフォン(第1のユーザ端末1)上に登録されているデッキをパーソナルコンピュータ(第2のユーザ端末1)で編集し、それを即座に当該スマートフォンへ反映するという、一時的なデバイス間でのデッキの共有を望む場合もある。
このような共有も、第1識別子と第2識別子の紐付けを動的に行っていることにより、容易に実現可能になる。つまり、1人のユーザが、デバイス間のやり取りのために仮に何千回も登録処理を行ったとしても、識別子の数が不足しないというスケーラビリティを実現することができる。
【0034】
さらに以下、このようなゲームのデータの共有について、
図4を参照して説明する。
図4は、口頭伝達可能な識別子を用いてデッキの情報をユーザ間や異種デバイス間で共有する方法の概要を示す図である。
【0035】
本実施形態の情報処理システムは、ゲーム内の各種状況のうちユーザにより指定された特定の状態を永続的に識別できる第1識別子と、第1識別子を用いたサーバ2へのアクセス(特定の状態の指定を継続していること)を一時的に識別できる第2識別子とを動的に関連付けるスケーラブルな2段階識別子管理を実行する。これにより、ユーザからみた場合には、4文字程度の極めて少ない情報量の第2識別子を用いるだけで、膨大な組み合わせのゲーム内の各種特定の状態のうち、ユーザにより指定された特定の状態を識別し、異種のデバイス間やユーザ間で、当該特定の状態を再現可能なデータの転送が可能になる。
ここで、スケーラブルな2段階識別子管理とは、ゲーム内の特定の状態数が膨大な数となった場合においても、ユーザが入力する第2識別子の桁数が増加せず、かつ、他ユーザや他デバイスへデータを転送するためのデータ登録処理の回数が膨大な数となった場合においても、ユーザが入力する第2識別子の桁数が増加しないことを意味する。
【0036】
図4の上段に表されているのが、ゲーム内の特定の状態である。具体的には
図4の例では、カードゲーム内において使用されるカードデッキが表されている。
図4の中段に表されているのが、ゲーム内の特定の状態を永続的に識別することができる第1識別子である。
図4に示す通り、図中の左から右の順に従いゲーム内の特定の状態が異なっており、異なるゲーム内の各特定の状態の夫々に対して第1識別子が割り当てられる。
図4の下段に表されているのが、その中段に表されている第1識別子に対応する第2識別子である。第1識別子を用いたアクセス(ここでは第1識別子を含んだURLにアクセス)があるたびに、セッション期間(ユーザにより、第1識別子に対応する特定の状態が指定されている期間)のみ有効な第2識別子が生成される。
【0037】
さらに、以下、第1識別子及び第2識別子について詳しく説明する。
第1識別子は、ゲームの膨大な種類の特定の状態を識別できる、永続的にユニークな識別子である。第1識別子は、ある特定のゲームアプリケーション内においては特定の状態を示すデータを常に一意に識別することを永続的にできるため、雑誌等の紙媒体や、SNS等のネットワークサービスを経由して、データを流通させる用途に適している。さらに、第1識別子を、URLとして表現することにより、既存のURLを流通させる仕組みをそのまま利用して第1識別子を流通させることができる。
第2識別子は、4文字程度と短い文字列で表され、所定のユーザ端末1から即座にゲームを実行している他のユーザ端末1に対してデータを転送する用途で用いられるのに適している。本実施形態では、この第2識別子は、第1識別子を用いたアクセスがあるたびに、動的に生成される。
即ち、ユーザ端末1が、第1識別子を用いたアクセス(後述するように例えば第1識別子を含むURLにアクセス)すると、当該第1識別子に対応するゲームの特定の状態(例えばデッキの情報等)がユーザに閲覧可能になる。このとき、サーバ2は、このアクセスによるセッション(特定の状態の指定)に対して、第2識別子を割当て、当該特定の状態に対応する第1識別子と紐付ける。この第2識別子が別のユーザ端末1に入力されると、当該第2識別子と紐付けられた当該第1識別子に対応する特定の状態(デッキ)が獲得される。
【0038】
以上
図4を用いて説明したゲームデータ共有制御を実行すべく、
図2のユーザ端末1と
図3のサーバ2は、
図5に示すような機能的構成を有している。
図5は、ユーザ端末1―1と、ユーザ端末1―2と、サーバ2の機能的構成のうち、ゲームデータ共有制御を実行するための機能的構成例を示す機能ブロック図である。
なお、ユーザ端末1−1とユーザ端末1−2は、便宜的に選択されたものであって、
図5に示すユーザ端末1−1の機能ブロックとユーザ端末1−2の機能ブロックとは併せて、全てのユーザ端末1において機能するものである。
【0039】
図5に示すように、サーバ2のCPU51においては、受付部101と、状態監視部102と、第2識別子生成部103と、対応付け管理部104と、表示制御部105と、状態再現部106とが機能する。
また、サーバ2の記憶部58においては、対応付け管理DB111が設けられる。
【0040】
受付部101は、ユーザ端末1−1のアクセス部122から、特定の状態と一意に対応付けられる第1識別子を用いたアクセスを受付ける。
ここで、第1識別子を用いたアクセスの手法は、第1識別子を用いれば足り、特に限定されないが、本実施形態では、第1識別子を含むURLにアクセスする手法が採用されている。以下、この手法について
図6を用いて具体的に説明する。
【0041】
図6は、第1識別子の特定手法及び当該第1識別子を用いるURL生成手法の一例を示す図である。
図6の例では、1万種類のカードから選択した40枚のカードの組をデッキ(指定されたゲームの特定の状態)として編成するゲームを想定している。
図6においては、1枚のカードは、中に数字が付されたボックスとして描画されている。ボックス(カード)内の数字は、カードの通し番号であり、当然ながら実際のカードに必ずしも印字されているわけではない。
図6のカードの通し番号を、“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmNOPQRSTUVWXYZ−_”の64文字の組み合わせとして表現する64ビット符号化を行い、ドット記号“.”でそれぞれのカードを区切ることにより、URL内に埋め込み可能な文字列として特定してデッキ全体を表現することができる。
図6のボックス下に表されている文字列が、デッキの内容を64ビット符号化した文字列である。これをURLに展開したものが、
図6の矢印の下に表されている。本実施例では、このURLをSNSを通じて共有、拡散することができる。
【0042】
図5に戻り、状態監視部102は、第1識別子を用いたアクセスをしてきたユーザ端末1−1において、特定の状態の指定が継続しているか否かを監視する。
このように、ユーザ端末1−1における特定の状態の指定は、サーバ2が監視可能なように行われる。つまり、第1識別子を用いたアクセスがユーザ端末1−1からなされてきた場合、状態監視部102は、当該第1識別子に対応する特定の状態の指定がなされたものとして、その監視を開始する。
ここで、特定の状態の指定の継続の判断手法は、ネットワーク通信技術を利用した様々な手法が採用可能であり、特に限定されない。例えば、ユーザ端末1−1からのネットワーク接続の継続中は、特定の状態の指定が継続していると判断する手法を採用してもよい。ここで、ネットワーク接続とは、物理的な通信接続のみならず、論理的な通信接続を含めた広義な概念をいう。ここで論理的な通信接続とは、物理的な通信接続が一時的に切断されても、例えばクッキーやトークン等の技術を用いることで、ある特定の端末が継続的にサーバにアクセスしていることを、サーバが認識していることを意味する。また例えば、ユーザ端末1−1に周期的にpingリクエストを送信しその応答が途絶えない間若しくは途絶えてから一定時間経過するまでの間、特定の状態の指定の継続と判断する手法を採用してもよい。また、例えば、ユーザ端末1−1から周期的にサーバ2にpingメッセージを送信し、その送信が途絶えない間もしくは途絶えてから一定時間経過するまでの間、特定の状態の指定の継続と判断する手法を採用してもよい。
【0043】
第2識別子生成部103は、ユーザ端末1−1による第1識別子を用いたアクセスが受付部101により受付けられたとき、第2識別子を生成する。
【0044】
対応付け管理部104は、ユーザ端末1−1において特定の状態の指定が継続している期間又は当該期間が終了してから所定期間では、特定の状態に対応する第1識別子と、生成された第2識別子との対応付けを管理し、その後、当該ユーザ端末1−1において特定の状態の指定の終了又は当該終了から所定期間の経過が監視されたとき、当該第1識別子と当該第2識別子との対応付けを破棄する。
具体的には、対応付け管理部104は、第2識別子生成部103により生成された第2識別子と、当該第2識別子が生成される際に受け付けられたアクセスで用いられた第1識別子とを対応付けて、管理DB111に登録することで、第1識別子と第2識別子の対応付けを管理する。
その後、対応付け管理部104は、ユーザ端末1−1において特定の状態の指定の終了又は当該終了から所定期間の経過が監視されたとき、第1識別子と第2識別子との登録を対応付け管理DB111から削除することにより、第1識別子と第2識別子との対応付けを破棄する。即ち、第2識別子が無効になる。
【0045】
表示制御部105は、第2識別子生成部103により生成された第2識別子を、第1識別子を用いてアクセスしてきたユーザ端末1−1に表示させる制御を実行する。
【0046】
図7は、ユーザ端末1に表示させる第1識別子及び第2識別子の表示の実装例を示す図である。
図7の上方に示す様に、ユーザ端末1−1を操作するユーザによりデッキが生成されると、そのデッキの構成が表示されると共に、その下方に第1識別子が表示される。
この第1識別子を用いたアクセス(第1識別子を含むURLへのアクセス)がなされ、その結果として、上述した様にサーバ2において、例えば第2識別子“tr0n”が生成され、当該第1識別子と対応付けられると、サーバ2の表示制御部105の制御により、第2識別子“tr0n”は、
図7の下方の[Code:]と表示された右方のボックスに表示される。
この第2識別子は、ユーザ端末1−1を操作するユーザにより
図7のデッキが指定されている間、即ち、この例では、
図7の画面がユーザ端末1−1に表示されてユーザにより閲覧されている間、有効である。
具体的には
図7の下方にある円により、第2識別子の残りの有効時間がアニメーションで表示される。ユーザ端末1−1において
図7の画面を開き続けていると第2識別子の有効期限は自動更新される。なお、画面を開き続けているか否かの判定は、上述した特定の状態の指定の継続の判断によって行われる。
【0047】
例えば、ユーザ端末1−1を操作するユーザは、異なるデバイスであるユーザ端末1−2を用いて、所定のアプリケーションプログラムやデッキビルディングを行うためのWebサイトにおいて、第2識別子“tr0n”を入力することができる。
或いはまた例えば、ユーザ端末1−1を操作するユーザから口頭等により第2識別子を伝達された別のユーザは、自分が操作するユーザ端末1−2を用いて、所定のアプリケーションプログラムやデッキビルディングを行うためのWebサイトにおいて、第2識別子“tr0n”を入力することができる。
【0048】
図5に戻り、このようにユーザ端末1−2により第2識別子が入力されると、当該第2識別子はサーバの状態再現部106に通知される。
そこで、状態再現部106は、当該第2識別子に対応付けられた第1識別子に対応する特定の状態を、ユーザ端末1−2で再現可能にするための制御を実行する。
具体的には例えば
図7の例で説明すると、状態再現部106は、第2識別子に対応付けられた第1識別子で特定されるデッキの情報(
図7の画面情報に表示されたデッキと同一デッキの情報)を再現し、ユーザ端末1−2に表示する。
【0049】
このように、ユーザ間やデバイス間でのゲームの特定の状態(デッキの構成)の共有のキーとして、“tr0n”のような4桁程度の短い第2識別子を用いることができる。その結果、デッキの構造等複雑な情報のやり取りが極めて容易に実現可能になる。
【0050】
ユーザ端末1−1とユーザ端末1−2についても、機能的構成の概略について説明する。
先ず、
図5に示すように、ユーザ端末1―1のCPU21においては、状態指定解除部121と、アクセス部122と、表示制御部123とが機能する。
【0051】
状態指定解除部121は、特定の状態の指定又は解除を行う。
具体的には、状態指定解除部121は、ユーザ端末1−1のタッチパネルを通じてユーザがある特定の状態を指定した場合(例えばデッキを生成又は選択した場合)、その指定を受付け、指定された特定の状態を、下記表示制御部123を介してタッチパネルに表示させると共にユーザ端末1−1の記憶部29やサーバ2の記憶部58に保存させる。また、ユーザは、過去に指定した状態(例えば生成済みのデッキ)を例えば記憶部29あるいは記憶部58から読み出し、新たに指定することができる。この場合、状態指定解除部121は、その指定を受付け、指定された特定の状態を下記表示制御部123を介してタッチパネルに表示させる。
特定の状態が指定されると、下記アクセス部122により、当該特定の状態に対応する第1識別子を用いたアクセスが行われる。これにより、サーバ2において、特定の状態の指定が開始したことが認識される。
その後、状態指定解除部121は、サーバ2側で認識できるような形態で、特定の状態の指定を解除する。
この特定の状態の指定の解除(終了)の手法は、サーバ2側で認識できる手法、つまりサーバ2側で採用される特定の状態の指定の終了の判断手法にあわせた手法であれば足りる。
例えばネットワーク接続の切断により特定の状態の指定の終了と判断する手法がサーバ2側で採用されている場合には、状態指定解除部121は、サーバ2とのネットワーク接続を切断することで、特定の状態の指定を解除する。
また例えば、ユーザ端末1−1に周期的にpingリクエストを送信しその応答が途絶えてから一定時間経過したことにより、特定の状態の指定の終了と判断する手法がサーバ2側で採用している場合には、状態指定解除部121は、特定の状態の指定を継続する際にはpingリクエストの応答を生成し、特定の状態を解除する場合には応答の生成を禁止する処理を実行する。
【0052】
アクセス部122は、特定の状態が指定された場合、当該特定の状態に対応する第1識別子を用いたアクセスを行う制御を実行する。
表示制御部123は、上述したように特定の状態が指定されると、当該特定の状態(必要に応じて第1識別子)をタッチパネルに表示させると共に、当該第1識別子と対応する第2識別子がサーバ2により生成されて通知されてきた場合、当該第2識別子をタッチパネルに表示させる制御を実行する。即ち、表示制御部123は、例えば
図7に示すような画面をタッチパネルに表示させる制御を実行する。
【0053】
以上、ユーザ端末1−1の機能的構成の概略について説明した。次に、ユーザ端末1−2の機能的構成の概略について説明する。
【0054】
ユーザ端末1−2のCPU21においては、第2識別子入力受付部131と、通知制御実行部132と、閲覧制御実行部133とが機能する。
【0055】
第2識別子入力受付部131は、ユーザ端末1−1の表示部27に表示された第2識別子であって、ユーザ端末1−2を操作するユーザ(ユーザ端末1−1と同一人の場合もあるし異人の場合もある)によりタッチパネル等により入力された第2識別子の入力を受付ける。
ここで、ユーザ端末1−1のユーザがUser−Aであり、ユーザ端末1−2のユーザが異人のUser−Bであるとして、
図8を用いて、ユーザ端末1−1に表示される第2識別子と、ユーザ端末1−2に入力される第2識別子との対応関係について説明する。
【0056】
図8は、User−Aが口頭で第2識別子を通知し、User−BがUser−Aのデッキの情報を共有する様子を示す図である。
図8に示す通り、User−Aが、自分自身のデッキをUser−B側で再現させるために、第2識別子“tr0n”を口頭でUser−Bに通知している。
ここで、第2識別子“tr0n”は、User−Aが所有するユーザ端末1−1がデッキを表示した時(特定の状態を指定した時)に、当該デッキに対応する第1識別子を用いたアクセスがなされた結果として、サーバ2により生成されて、ユーザ端末1−1に表示されたものである(
図7参照)。
第2識別子“tr0n”は、デッキの情報がユーザ端末1−1の画面上に表示されている限り(つまり、特定の状態の指定が継続している限り)、有効化されて管理され続ける。
この第2識別子“tr0n”を口頭で伝達されたUser−Bは、ユーザ端末1−2のタッチパネル等を用いて、当該第2識別子“tr0n”を入力する。
【0057】
図5に戻り、ユーザ端末1−2の第2識別子入力受付部131は、この入力された第2識別子“tr0n”を受付ける。
通知制御実行部132は、第2識別子入力受付部131により入力された第2識別子、例えば
図8の例では“tr0n”をサーバ2に通知する制御を実行する。
すると、上述した様に、サーバ2の状態再現部106は、当該第2識別子(
図8の例では“tr0n”)に対応付けられた第1識別子に対応する特定の状態(
図8の例では、同図に図示されるデッキの情報)を、ユーザ端末1−2で再現可能にするための制御を実行する。
閲覧制御実行部133は、このサーバ2の状態再現部106の制御のもと、当該第2識別子(
図8の例では“tr0n”)に対応付けられた第1識別子に対応する特定の状態(
図8の例では、同図に図示されるデッキの情報)をユーザ(
図8の例ではUser−B)に閲覧させる制御を実行する。
【0058】
このようにして、User−AとUser−B同士のペアリング処理(例えば、ゲーム内でフレンドになる)や、両者のユーザ端末1同士のペアリング処理を行わずとも、口頭で伝達可能な短い文字列(この場合、“tr0n”)である第2識別子を通知するだけで、デッキの情報を共有することが可能になる。
即ち、本実施形態では、デッキの情報を対象として短縮コードが割り当てられるのではなく、デッキの情報そのものには、普遍的かつ永続的な第1識別子が割り当てられる。そして、その永続的な第1識別子を用いたアクセスを条件として、短い文字列等の第2識別子が生成され、第1識別子と第2識別子とが対応付けられる。その結果として、ユーザの立場にたてば、第2識別子の短い文字列等を口頭の発音のみで伝達するだけで、結果として、デッキの情報を伝達することが実現可能とすることができる。
数理的には、例えば、4,000枚のカードを40枚組み合わせるとき、4,000^40(=1.2×10^144)のバリエーションが存在し、それらを4文字のコードだけでは表現することが出来ない。
しかし、それらのバリエーションへのネットワーク接続を同時に行うユーザ数には、一定の上限があり、数十万程度であるため、1,679,616通りの組み合わせを表現可能な4桁の英数文字を第2識別子として表現することで、結果として、4,000枚のカードの中から任意に選択した40枚組のデッキの情報を伝達することが可能になる。
【0059】
以上、ゲームデータ共有制御を実現するためのユーザ端末1−1、ユーザ端末1−2及びサーバ2の機能的構成について説明した。
次に、
図9を参照して、ユーザ端末1−1とユーザ端末1−2のユーザ側からのゲームデータ共有の流れを説明する。
【0060】
図9は、ユーザのデッキの情報へのアクセスの手順を示す図である。
なお、ユーザ端末1−1及びユーザ端末1−2は、同一のユーザが所有する異なる端末(例えば、スマートフォンとパーソナルコンピュータ)でもよいし、異なるユーザが所有する異なる端末でも良い。
第1の手順として、ユーザは、ユーザ端末1−1を操作して、第1識別子をSNSから取得したり、自身のデッキの第1識別子であればゲームのセーブデータから読み込んで取得する。そして、ユーザは、第1識別子により一意に対応付けられるデッキ(ゲーム内の特定の状態)を、ユーザ端末1−1のタッチパネル等に表示されるWebブラウザやゲームアプリを通じて閲覧する。
第2の手順として、ゲーム内のデッキ(特定の状態)をWebブラウザやゲームアプリを通じて閲覧すると、その閲覧行為が継続している間(例えば、ネットワークの接続が確立している間)だけ有効な第2識別子(ここでは“tr0n”)がユーザ端末1−1のタッチパネル等に表示されるため、ユーザは表示された第2識別子(ここでは“tr0n”)を視認する。
第3の手順として、ユーザは、ユーザ端末1−1に表示された第2識別子(ここでは“tr0n”)を、ユーザ端末1−2のタッチパネル等を用いて入力する。ここで、ユーザが異人であれば、第3の手順を行うユーザ(第2のユーザ)は、第2の手順で視認したユーザ(第1のユーザ)から、第2識別子(ここでは“tr0n”)を口頭等で予め伝達してもらう必要がある。
第4の手順として、第3の手順を受けてサーバ2により、第3の手順で入力された第2識別子(ここでは“tr0n”)に対応する第1識別子のゲーム内の特定の状態がユーザ端末1−2に再現される。このようにして、ユーザは、第1の手順で取得された第1の識別子に対応するデッキの情報にアクセスすることが可能になる。
なお、ユーザ端末1−1によるデッキの閲覧が終了すると(ゲーム内の特定の状態の指示が解除されると)、第2識別子(ここでは“tr0n”)と第1識別子との対応付けは破棄される。
【0061】
次に、本実施形態のSNS上での活用を説明する。
図10は、SNS上でのデッキの情報の共有例を示す図である。
図10の左方に示すように、第1SNS上のOGP(Open Graph Protcol)に第1識別子を含むURLとデッキ(ゲーム内の特定の状態)の情報が表示されている。第1SNSの利用者は、OGP上のURLをクリックすることにより、第1識別子に対応付けられたデッキ(ゲーム内の特定の状態)にアクセスをすることができる。
また、
図10の右方に示すように、第2SNS上のOGPに長方形のボタンとデッキが表示されている。この長方形のボタンは、第1識別子を含むURLと対応付けられており、第2SNSの利用者は、OGP上の長方形のボタンをクリックすることにより、第1識別子に対応付けられたデッキ(ゲーム内の特定の状態)にアクセスをすることができる。
このような処理ができるのは、第1識別子が、本実施例のシステム内部の識別子であるだけでなく、URLに埋め込むことが可能な識別子であって、SNSを通じた広域なデッキの情報の流通に適した識別子であるためである。
これにより、SNSのOGPのフォーマットに従って記述されたWebページを、
図10のようにサムネイル化して、デッキの情報を拡散することができる。
【0062】
次に、
図11を参照して、
図5のような機能的構成を有するユーザ端末1−1、ユーザ端末1−2及びサーバ2が実行する、ゲームデータ共有処理の流れを説明する。
図11は、ユーザ端末1−1、ユーザ端末1−2及びサーバ2のゲームデータ共有処理の流れを示すアローチャートである。
【0063】
ステップS1において、ユーザ端末1−1の状態指定解除部121は、特定の状態の指定を行う。
ステップS2において、ユーザ端末1−1のアクセス部122は、特定の状態に対応する第1識別子を用いたアクセスを行う。
【0064】
ステップS20において、サーバ2の受付部101は、ユーザ端末1−1からの第1識別子を用いたアクセスを受付ける。
ステップS21において、サーバ2の状態監視部102は、ステップS20のアクセスに基づいて第1識別子を認識する。
ステップS22において、サーバ2の第2識別子生成部103は、第2識別子を生成する。
ステップS23において、サーバ2の対応付け管理部104は、ステップS21で認識された第1識別子と、ステップS22で生成された第2識別子との対応付けを行う。
ステップS24において、サーバ2の表示制御部105は、ステップS22で生成された第2識別子を、ユーザ端末1−1に通知する。
【0065】
ステップS3において、ユーザ端末1−1の表示制御部123は、ステップS24でサーバ2から通知された第2識別子をタッチパネルに表示させる。
ここでユーザ端末1−1のタッチパネルに表示された第2識別子は、ユーザ端末1−2を操作するユーザに伝達される。
ここで、ユーザ端末1−1とユーザ端末1−2とのユーザが同一人であれば、「伝達される」とは自身の頭に記憶しておくこと等を意味する。ユーザ端末1−1とユーザ端末1−2とのユーザが異人である場合、「伝達される」とは口頭等により伝達されることを意味する。
【0066】
ステップS31において、ユーザ端末1−2の第2識別子入力受付部131は、第2識別子の入力を受付ける。
ステップS32において、ユーザ端末1−2の通知制御実行部132は、ステップS31で受付けられた第2識別子をサーバ2に通知する。
【0067】
ステップS25において、サーバ2の状態再現部106は、ステップS32で通知された第2識別子を認識する。
ステップS26において、状態再現部106は、ステップS25で認識した第2識別子に対応する第1識別子を認識する。
ステップS27において、状態再現部106は、ステップS26で認識された第1識別子に対応する特定の状態をユーザ端末1−2で再現する制御を実行する。
即ち、ステップS33において、ユーザ端末1−2の閲覧制御実行部133は、ステップS27での制御を受けて、特定の状態を、ユーザ端末1−2のユーザに閲覧させる制御を実行する。
【0068】
なお、ステップS4において、ユーザ端末1−1の状態指定解除部121が、特定の状態の解除を行った場合、ステップS28において、サーバ2の対応付け管理部104は、第1識別子と第2識別子との対応付けを破棄する。
【0069】
次に、本実施形態のSNS等で1つのWebページ内に複数のデッキの情報(即ち複数の特定の状態)が表示される場合の実装例について説明する。
【0070】
例えば、Webページ内に表示されるオンライン・フォームや、Web掲示板、SNS等では、1つのURLで識別されるWebページ内に複数のデッキの情報を含めて掲載することができる。
1つのWebページ内に複数のデッキの情報が含まれている場合、当該WebページのURLからだけでは複数のうちのどのデッキの情報が指定(表示)されているのかを特定することが困難である。そこで、例えば複数のデッキの情報のそれぞれの表示に紐づけられたJavaScript(登録商標)コードによって、ユーザが複数のデッキの情報のうちのどのデッキの情報を指定(表示)しているのかを特定し、この特定したデッキの情報によって生成されるコードを第1識別としてサーバに送信することによって第2識別子との対応付けをし、特定したデッキの情報と第2識別子とを対応付けて表示するという手法が提案される。
【0071】
図12は、本実施形態におけるフォーラム、掲示板、SNSに複数のデッキの情報Pが表示される場合の実装例を示す図である。
図12(A)は、フォーラム、掲示板、SNSにおいて表示対象となる複数のデッキの情報Pの一例を示す図である。
図12(B)は、ユーザ端末1の表示部27に表示されるデッキの情報Pの一部を示す図である。
図12のデッキの情報Pは、所定の1つのデッキ(ゲームの特定の状態)と当該デッキに対応する第1識別子(第1識別子を含むURL)とを含む。本実施形態では、ユーザ端末1の表示部27の表示領域P1乃至P4の領域の夫々に、
図12(A)の複数のデッキの情報Pのうち、選択された4つのデッキの情報Pが表示される。
即ち、
図12(A)のように、複数のデッキの情報Pは、縦方向に並んで配置されており、この中で4つのデッキの情報Pが選択されて、ユーザ端末1の表示部27の表示領域P1乃至P4の領域の夫々に表示される。
例えば、
図12(A)の範囲RG1が選択されている場合には、当該範囲RG1に含まれる4つのデッキの情報Pが、ユーザ端末1の表示部27の表示領域P1乃至P4の夫々に表示される。
ここで、ユーザが
図12(A)の範囲RG2を選択したい場合には、ユーザ端末1の表示部27(タッチパネル)に対して、スクロールの操作をすればよい。
スクロールされて、
図12(A)の範囲RG2が選択されると、当該範囲RG2に含まれる4つのデッキの情報Pが、ユーザ端末1の表示部27の表示領域P1乃至P4の夫々に表示される。
つまり、スクロール操作により、ユーザ端末1の表示部27の表示領域P1乃至P4の領域の夫々に表示されるデッキの情報Pも変化する。
【0072】
以下実装例について説明する。
図12(A)に示すように、デッキの情報Pを共有することができるオンライン・フォームや、掲示板、SNSでは、ユーザ同士のデッキの情報Pが、1ページ内に縦に長く配置される。このようなフォーラムでは、1つのURLで識別されるページ内に大量のデッキの情報Pが掲載されることになるため、従来の短縮URLなどの方式を用いることはできない。
本実施形態では、ユーザが当該情報を閲覧しているかどうか(ゲームの特定の状態を指示しているかどうか)に応じて第2識別子の有効期限を管理するため、例えば1つのURLで特定される1つのWebページ内に複数のデッキの情報Pが掲載される場合にも適用することができる。
【0073】
具体的には、
図5に示すユーザ端末1−1にインストールされるWebブラウザの機能を利用することで、ユーザ端末1−1側で現在表示されている範囲(
図12の例では表示の範囲RG1、RG2)内にあるHTML要素を抽出することができる。
このとき、ユーザ端末1−1はサーバ2へアクセスし、表示制御部123によって表示されているHTML要素内に含まれるデッキの情報Pを受付部101へ送信する。ここで、デッキの情報Pとは第1識別子に相当する情報のことであり、本実施形態においては第1識別子をHTML要素に適用できる形式(HTML内に埋め込める形式)に変換した情報のことである。第1識別子たるデッキの情報Pは、図示しない第1識別子特定部により特定された情報であるが、本実施形態においては、複数の第1識別子(デッキの情報P)がWebページのHTML要素内に含められている。
サーバ2がアクセスを受付けると、第2識別子生成部103は第2識別子を生成し、対応付け管理部104は第1識別子と第2識別子との対応付けを行う。
そして、ユーザ端末1−1はデッキの情報Pの第2識別子をサーバ2から取得し、画面上に表示する。
【0074】
また、Webブラウザは、ユーザが画面をスクロールさせた量を、縦方向のスクロール量(ウィンドウの左上とページの上部の距離)であるscrollTop、および、右方向のスクロール量(ウィンドウの左上とページの左端の距離)であるscrollLeftとして取得する機能を有する。
この機能を利用することで、
図5に示す状態監視部102が、この値の変化を定期的に確認することにより、
図12(A)のうちどの範囲が表示されているのか(例えば範囲RG1なのか範囲RG2なのか)を検出することができる。状態監視部102が、表示範囲が変更されたことを検出した時、当該表示範囲内のデッキの情報Pが画面内に表示されているかどうかを判定し、表示範囲内に含まれているデッキの情報P(あるいはデッキの情報Pから生成された第1識別子)をサーバ2へ送信し、当該デッキの情報Pに対応する第2識別子をサーバ2から取得し、当該デッキの情報Pに関連付けて表示することができる。
ここで、Webブラウザは、例えばJavaScript(登録商標)によって定義される図示しない表示情報抽出部としての機能を有している。表示情報抽出部は、上述したように、ユーザ端末1−1にて表示される内容を示すHTML要素から所定の表示範囲内にあるデッキの情報Pを抽出する手段であるが、このときの表示範囲(すなわち抽出範囲)の大きさ(あるいは広さ)は特に限定的ではなく、適宜設計し得る。表示範囲の大きさは、
図12における範囲RG1のようにユーザ端末1−1の表示画面にあわせた大きさとして設計することが好適であるが、本発明の実施においてはこれに拘らない。また、例えば、あるURLによって特定されるWebページ全体を表示範囲とみなして、表示情報抽出部はこのWebページ内に含まれる全てのHTML要素を抽出範囲としてデッキの情報Pを抽出してもよい。
即ち、例えば、
図12(A)の表示範囲に含まれる複数のデッキの情報Pが表示情報抽出部により抽出された場合には、サーバ2は、夫々のデッキの情報Pに対応した複数の第1識別子を取得し、取得した第1識別子の夫々を第2識別子と対応付ける。そして、夫々のデッキの情報Pに対応させた第2識別子をユーザ端末1−1の表示部27に表示させる。
また、例えば、表示範囲から複数のデッキの情報Pが表示情報抽出部により抽出された場合であっても、サーバ2は、選択範囲内における中央に最も近い位置のデッキの情報Pに対応した第2識別子のみを、ユーザ端末1−1の表示部27に表示させることとすることもできる。
換言すると、表示範囲の変更の検出後、当該選択範囲内にあるHTML要素内からデッキの情報Pが表示情報抽出部により抽出されることになるため、当該デッキの情報Pにあたるゲームの特定の状態が指定され、当該特定の状態に対応する第1の識別子を用いたアクセスがなされたことになる。
【0075】
なお、ユーザ端末1−2におけるゲームの特定の状態の再現の説明については、上述した説明と同様であるので割愛する。
【0076】
更に、サーバ2は、表示範囲から外れたデッキの情報Pに対応した第2識別子は無効化してもよい。
即ち、
図5に示す状態監視部102は、表示範囲が変更されたことを検出したとき、対応付け管理部104および対応付け管理DB111と協動して、表示範囲から外れたデッキの情報Pに対応する第1識別子と当該第1識別子に対応付けられた第2識別子との対応付けを解除し、対応付け管理DB111から情報を破棄して管理を完了する。ただし、当該対応付けの放棄は、表示範囲から外れた時に行われても良いし、表示範囲から外れてから所定期間の経過後に行われてもよい。
【0077】
以上、本発明の一実施形態について説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【0078】
例えば、上述の実施形態は、カードゲームのデータの共有を対象にするものである。
しかしながら、特にこれに限定されず、デバイス間のデータの共有一般に適用することができる。即ち、ゲームに限定されず、ユーザ間、デバイス間のデータの共有に幅広く適用することができる。
【0079】
また例えば、上述の実施形態では、説明の便宜上、第1識別子はURLに含まれるものを一例として用いたが、特にこれに限定されない。
即ち、上述したように、第1識別子は、データの膨大な特定の状態を識別できる永続的にユニークな識別子であれば足りる。従って、例えば、一次元コード、二次元コード等の様々な識別子に適用することができる。
【0080】
また例えば、上述の実施形態では、説明の便宜上、第2識別子は4桁の数字又は大文字・小文字のアルファベットを一例として用いたが、特にこれに限定されない。
即ち、上述したように、第2識別子は、ユーザがデータを閲覧した時に、当該ユーザの閲覧行為を同時アクセスセッションの中から識別できる一時的な一意性を有する識別子であれば足りる。従って、例えば、4桁である必要もないし、記号と組み合わせることにより、印刷物等を用いた永続的な短縮識別子であってもよい。具体的には、“+5t7”のように、プレス記号から始まる場合は、無効化されない識別子としてもよい。
【0081】
また例えば、上述の実施形態では、説明の便宜上、ゲームの処理を用いて説明したが、特にこれに限定されず、再現性があり且つユーザによって任意に指定される特定の状態を取り扱う処理であれば足りる。
【0082】
また例えば、
図5の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が情報処理装置に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に
図5の例に限定されない。また、機能ブロックの存在場所も、
図5に特に限定されず、任意でよい。例えば、サーバ2の機能ブロックをユーザ端末1等に移譲させてもよいし、逆にユーザ端末1の機能ブロックをサーバ2等に移譲させてもよい。
また、1つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【0083】
各機能ブロックの処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えばサーバの他汎用のスマートフォンやパーソナルコンピュータであってもよい。
【0084】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図示せぬリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。
【0085】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
【0086】
換言すると、本発明が適用される情報処理プログラムは、上述の
図5の実施形態としての情報処理システムを含め、次のような構成を有する各種各様の実施態様を取ることができる。
即ち、本発明が適用される情報処理プログラムは、
再現性があり且つユーザによって任意に指定される特定の状態を当該指定に基づき表示可能な複数の端末との間で通信をするサーバに、
前記複数の端末のうち第1端末から、前記特定の状態と一意に対応付けられる第1識別子を用いたアクセスを受付ける受付ステップ(例えば
図5の受付部101が実行するステップ)と、
前記第1識別子を用いたアクセスをしてきた前記第1端末において、前記特定の状態の指定が継続しているか否かを監視する監視ステップ(例えば
図5の状態監視部102が実行するステップ)と、
前記第1端末による前記第1識別子を用いたアクセスが受け付けられたとき、第2識別子を生成する生成ステップ(例えば
図5の第2識別子生成部103が実行するステップ)と、
生成された前記第2識別子を、前記第1端末に表示させる制御を実行する表示制御ステップ(例えば
図5の表示制御部105が実行するステップ)と、
当該第1端末において前記特定の状態の指定が継続している期間又は当該期間が終了してから所定期間では、前記特定の状態に対応する前記第1識別子と、生成された前記第2識別子との対応付けを管理し、その後、当該第1端末において前記特定の状態の指定の終了又は当該終了から所定期間の経過が監視されたとき、当該第1識別子と当該第2識別子との対応付けを破棄する管理ステップ(例えば
図5の対応付け管理部104が実行するステップ)と、
前記管理ステップにおいて前記管理が継続されている間に、前記複数の端末のうち第2端末から前記第2識別子が通知された場合、当該第2識別子に対応付けられた前記第1識別子に対応する前記特定の状態を、当該第2端末で再現可能にするための制御を実行する状態再現ステップ(例えば
図5の状態再現部106が実行するステップ)と、
を含む制御処理を実行させるプログラム。
【0087】
このようにして、特定の状態を示すデータを即座にユーザ間、及び、デバイス間で即座に共有する技術が確立される。
即ち、データを様々なメディア上で流通させる際に用いる第1識別子と、データをアプリケーションに読み込ませるときに用いる第2識別子を独立させ、この2つの識別子の対応関係を動的に管理する2段階識別子管理方法を採用することにより、情報の表現能力と入力の容易性を併せ持つデータ流通・入力を実現する。
ここで、データ内の特定の状態の数よりも、データを閲覧しているユーザの方が圧倒的に少数である。
従って、データ内の特定の状態を識別する第1識別子と、特定の状態を閲覧する行為を識別する第2識別子とを動的に関連付けることにより、1人のユーザが、デバイス間のやり取りのために何千回も登録処理を行ったとしても、識別子の数が不足しないというスケーラビリティを実現する。
これにより、本発明は、ログイン等の処理を行わずに、デバイス上に登録されているデータを異なるデバイスで編集し、それを即座にデバイスへ反映するという、一時的なデバイス間の共有処理を実現することができる。
【0088】
また、前記受付ステップは、前記第1識別子を用いたアクセスとして、当該第1識別子を要素に含むURLによるアクセスを受付けるステップを含むことができる。
これにより、雑誌等の紙媒体や、SNS等のネットワークサービスを経由して、既存のURLを流通させる仕組みをそのまま利用することができる。
【0089】
また、前記生成ステップは、前記第2識別子として、前記第1識別子より情報量が少ない識別子を生成するステップを含むことができる。
これにより、生成される第2識別子は短くシンプルとなるため、ユーザ間での口頭での伝達が可能となり、不特定多数のユーザへのデータ共有や、その場ですぐに見ず知らずのユーザへデータを共有することができる。
また、データ内の特定の状態が膨大な数となった場合においても、ユーザが入力する識別子の数が増加せず、かつ、異なるユーザや異なるデバイスへデータを転送するためのデータ登録処理の回数が膨大な数となった場合においても、ユーザが入力する識別子の数が増加しない。