(57)【要約】【課題】従来のウェブブラウザによって動作するゲームを、スマートフォン用のアプリケーションの形態に変更する。【解決手段】アクセス情報生成部と転送情報送信部とプログラム生成部を有するプログラム生成装置が提供される。アクセス情報生成部は、コンテンツ識別情報を取得するとともに、新たに生成される識別符号を含むアクセス情報を生成する。転送情報送信部は、生成された識別符号と取得されたコンテンツ識別情報とを転送装置に送信する。プログラム生成部は、端末装置にて動作するプログラムであって、生成されたアクセス情報を読み出し、読み出されたアクセス情報に含まれる識別符号を転送装置に送信し、返信されるコンテンツを受信することを端末装置に実行させるためのプログラムを生成する。【選択図】図１
2014049046.tif 000002
【特許請求の範囲】
【請求項１】
プログラム生成装置と転送装置とを備えるコンテンツ提供システムであり、
前記プログラム生成装置は、
コンテンツとそのコンテンツを送信するコンテンツサーバとを識別するコンテンツ識別情報を取得するとともに、新たに生成される識別符号を含むアクセス情報を生成するアクセス情報生成部と、
前記生成された識別符号と前記取得されたコンテンツ識別情報とを前記転送装置に送信する転送情報送信部と、
端末装置にて動作するプログラムであって、
前記生成されたアクセス情報を読み出し、
前記読み出されたアクセス情報に含まれる識別符号を前記転送装置へ送信し、
返信されるコンテンツを受信することを、
前記端末装置に実行させるためのプログラム、を生成するプログラム生成部とを有し、
前記転送装置は、
前記プログラム生成装置より識別符号とコンテンツ識別情報とを受信する転送情報受信部と、
前記転送情報受信部により受信された識別符号とコンテンツ識別情報とを関連付けて格納する転送情報格納部と、
前記端末装置より識別符号を受信すると、前記受信された識別符号に前記転送情報格納部により関連付けられたコンテンツ識別情報によって識別されるコンテンツサーバに、前記コンテンツ識別情報により識別されるコンテンツを、前記端末装置へ送信させる転送処理部とを有するコンテンツ提供システム。
【請求項２】
前記転送情報格納部は、前記転送情報受信部により受信された識別符号とコンテンツ識別情報とをテーブルに格納し、前記識別符号に関連付けられるコンテンツ識別情報を変更可能とする請求項１に記載のコンテンツ提供システム。
【請求項３】
前記プログラム生成部が生成するプログラムは、前記端末装置に、前記端末装置のユーザを認証する認証情報を、前記転送装置へ送信させる請求項１に記載のコンテンツ提供システム。
【請求項４】
前記プログラム生成部が生成するプログラムは、前記端末装置に、前記認証情報を前記識別符号とともに前記転送装置へ、送信させる請求項３に記載のコンテンツ提供システム。
【請求項５】
前記端末装置のユーザの知人関係により形成されるソーシャルグラフを管理するユーザ管理装置を備え、
前記プログラム生成部が生成するプログラムは、前記端末装置に、他の端末装置のユーザに関する問い合わせを前記ユーザ管理装置へ、送信させる請求項１から４のいずれかに記載のコンテンツ提供システム。
【請求項６】
前記ユーザ管理装置は、前記他の端末装置にダウンロードされた前記プログラム生成部が生成したプログラムが前記端末装置に読み出させるアクセス情報に含まれる識別符号を前記他の端末装置のユーザＩＤと関連付けて記憶し、
前記プログラム生成部が生成するプログラムは、前記端末装置に、他の端末装置のユーザと前記端末装置に読み出させるアクセス情報に含まれる識別符号とが前記ユーザ管理装置に関連付けて記憶されているかどうかの問い合わせを前記ユーザ管理装置へ、送信させる請求項５に記載のコンテンツ提供システム。
【請求項７】
コンテンツとそのコンテンツを送信するコンテンツサーバとを識別するコンテンツ識別情報を取得するとともに、新たに生成される識別符号を含むアクセス情報を生成するアクセス情報生成部と、
前記生成された識別符号と前記取得されたコンテンツ識別情報とを、識別符号とコンテンツ識別情報とを関連付けて管理し識別符号を含む要求をその識別符号に関連付けられているコンテンツ識別情報を含む要求として転送する転送装置に送信する転送情報送信部と、
端末装置にて動作するプログラムであって、
前記生成されたアクセス情報を読み出し、
前記読み出されたアクセス情報に含まれる識別符号を前記転送装置へ送信し、
返信されるコンテンツを受信すること
を前記端末装置に実行させるためのプログラムを生成するプログラム生成部と
を有するプログラム生成装置。
【請求項８】
前記プログラム生成部が生成するプログラムは、前記端末装置に、前記端末装置のユーザを認証する認証情報を、前記転送装置へ送信させる請求項７に記載のプログラム生成装置。
【請求項９】
前記プログラム生成部が生成するプログラムは、前記端末装置に、前記認証情報を前記識別符号とともに前記転送装置へ、送信させる請求項８に記載のプログラム生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム生成装置、コンテンツ提供システムなどに関する。特に、ウェブブラウザ用に提供されるゲームなどのコンテンツのＵＲＬを入力すると、そのコンテンツにアクセスするプログラムを生成するプログラム生成装置及びそのプログラムによりアクセスされるコンテンツを提供するコンテンツ提供システムなどに関する。
【背景技術】
【０００２】
ウェブブラウザで実行するゲームが提供されている（例えば、特許文献１参照。）。このようなゲームにおいては、ウェブブラウザから特定のＵＲＬにアクセスを行うことにより、ゲームを実行するウェブページが表示される。このようなゲームは、ブラウザが動作する環境であれば実行が可能となるので、例えば、携帯電話に搭載されているウェブブラウザを用いて実行することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１‐２２４８６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一方、いわゆるスマートフォンが普及してきている。このようなスマートフォン用に、様々なアプリケーションが提供され、このようなアプリケーションの一形態としてゲームが提供されてきている。このため、従来のウェブブラウザによって動作するゲームを、スマートフォン用のアプリケーションの形態に変更することが行われている。しかしながら、このような変更は、工数や時間がかかるという問題が存在する。
【課題を解決するための手段】
【０００５】
本発明の一実施形態として、プログラム生成装置と転送装置とを備えるコンテンツ提供システムが提供される。プログラム生成装置は、アクセス情報生成部と転送情報送信部とプログラム生成部とを有する。アクセス情報生成部は、コンテンツとそのコンテンツを送信するコンテンツサーバとを識別するコンテンツ識別情報を取得するとともに、新たに生成される識別符号を含むアクセス情報を生成する。転送情報送信部は、生成された識別符号と取得されたコンテンツ識別情報とを転送装置に送信する。プログラム生成部は、端末装置にて動作するプログラムであって、生成されたアクセス情報を読み出し、読み出されたアクセス情報に含まれる識別符号を転送装置に送信し、返信されるコンテンツを受信することを前記端末装置に実行させるためのプログラムを生成する。転送装置は、転送情報受信部と転送情報格納部と転送処理部とを有する。転送情報受信部は、プログラム生成装置より識別符号とコンテンツ識別情報とを受信する。転送情報格納部は、転送情報受信部により受信された識別符号とコンテンツ識別情報とを関連付けて格納する。転送処理部は、端末装置より識別符号を受信すると、受信された識別符号に転送情報格納部により関連付けられたコンテンツ識別情報によって識別されるコンテンツサーバに、コンテンツ識別情報により識別されるコンテンツを、端末装置へ送信させる。
【０００６】
本発明の一実施形態として、プログラム生成装置が提供される。プログラム生成装置は、アクセス情報生成部と転送情報送信部とプログラム生成部とを有する。アクセス情報生成部は、コンテンツとそのコンテンツを送信するコンテンツサーバとを識別するコンテンツ識別情報を取得するとともに、新たに生成される識別符号を含むアクセス情報を生成する。転送情報送信部は、生成された識別符号と取得されたコンテンツ識別情報とを、転送装置に送信する。転送装置は、識別符号とコンテンツ識別情報とを関連付けて管理している。転送装置は、識別符号を含む要求を受信するとその識別符号に関連付けられているコンテンツ識別情報を含む要求として転送する。プログラム生成部は、生成されたアクセス情報を読み出し、読み出されたアクセス情報に含まれる識別符号を前記転送装置に送信し、返信されるコンテンツを受信することを端末装置に実行させるためのプログラムを生成する。
【発明の効果】
【０００７】
本発明によれば、ウェブブラウザによって動作するゲームなどのコンテンツのＵＲＬを入力することにより、そのゲームを実行するアプリケーションを生成することができる。また、そのように生成されたアプリケーションにゲームなどのコンテンツを提供するコンテンツ提供システムにおいては、コンテンツに直接アクセスが行われるのではなく、転送装置を介してアクセスが行われるので、アプリケーションの変更なしにコンテンツを変更することが可能となる。また、認証、知人に対するプログラムの利用の招待、及び／又は、ソーシャルグラフの管理を行うことも容易に行える。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係るコンテンツ提供システムの機能ブロック図
【図２】本発明の一実施形態に係るプログラム生成装置の機能ブロック図
【図３】本発明の一実施形態に係る伝送装置の機能ブロック図
【図４】本発明の一実施形態に係る伝送装置が管理するデータの一例図
【図５】本発明の一実施形態に係るプログラム生成装置が生成するプログラムのモジュール構成図
【図６】本発明の一実施形態に係るプログラム生成装置が生成するプログラムによる処理のフローチャート
【図７】本発明の一実施形態に係るコンテンツ提供システムにおけるシーケンス図
【図８】本発明の一実施形態に係るプログラム生成装置が生成するプログラムのモジュール構成図
【図９】本発明の一実施形態に係るユーザ管理装置の機能ブロック図
【図１０】本発明の一実施形態に係るユーザ管理装置が管理するデータの一例図
【図１１】本発明の一実施形態に係るユーザ管理装置による処理のフローチャート
【図１２】本発明の一実施形態に係るプログラム生成装置が生成するプログラムによる表示の一例図
【発明を実施するための形態】
【０００９】
以下に、本発明を実施するための形態について説明する。なお、本発明は、以下の説明に限定されることはなく、以下に説明される形態を種々に変形して実行することが可能である。
【００１０】
（実施形態１）
図１は、本発明の一実施形態に係るコンテンツ提供システムの機能ブロック図を示す。コンテンツ提供システム１００は、プログラム生成装置１０１と、端末装置１０２と、転送装置１０３と、認証装置１０４と、ユーザ管理装置１０５と、コンテンツサーバ１０６とを有する。なお、いくつかの装置、サーバが一つの物理的実体によって構成される場合がある。また、一つの装置、サーバが複数の物理的実体によって構成される場合がある。
【００１１】
プログラム生成装置１０１は、入力としてコンテンツ識別情報が与えられるとプログラムを生成する装置である。コンテンツ識別情報は、コンテンツサーバ１０６により提供されるコンテンツを識別（特定）する情報である。コンテンツ識別情報は、コンテンツサーバ１０６を識別する部分と、コンテンツサーバ１０６の内部でコンテンツを識別する部分とから構成されていてもよい。コンテンツサーバ１０６を識別する部分は、例えば、コンテンツサーバ１０６のＩＰアドレス、ホスト名あるいはＦＱＤＮ（Ｆｕｌｌｙ  Ｑｕａｌｉｆｉｅｄ  Ｄｏｍａｉｎ  Ｎａｍｅ）である。また、さらにポート番号、使用するプロトコルに関する情報を含んでいてもよい。コンテンツサーバ１０６の内部でコンテンツを識別する部分は、例えば、コンテンツがコンテンツサーバ１０６の有するファイルシステムにおけるどのファイルに対応しているかを表わす。このように構成されるコンテンツ識別情報の形態としては、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）の形態がある。例えば、http://www.example.com/1/2/3.swfというＵＲＬにおいて、www.example.comがコンテンツサーバ１０６を識別する部分であり、/1/2/3.swfがコンテンツサーバ１０６の内部でコンテンツを識別する部分である。
【００１２】
図２に、プログラム生成装置１０１の機能ブロック図を示す。プログラム生成装置１０１は、識別符号生成部２０１と、アクセス情報生成部２０２と、転送情報送信部２０３と、プログラム生成部２０４とを有する。
【００１３】
識別符号生成部２０１は、プログラム生成装置１０１が取得するコンテンツ識別情報に対応する識別符号を生成する。識別符号とコンテンツ識別情報との対応関係は、転送装置１０３により保持される。本発明の一実施形態においては、転送装置１０３が識別符号を受信すると、受信した識別符号に対応するコンテンツ識別情報に変換し、コンテンツがアクセスされるようになる。このため、識別符号生成部２０１の生成する識別符号とプログラム生成装置１０１が取得するコンテンツ識別情報とは一対一になるのが好ましい。このため、例えば識別符号生成部２０１は、内部にカウンターを保持し、そのカウンターの値を識別符号として生成すると、そのカウンターの値をインクリメントあるいはデクリメントするのが好ましい。なお、識別符号生成部２０１の生成する識別符号とプログラム生成装置１０１が取得するコンテンツ識別情報とは厳密に一対一の対応となる必要はなく、２つ以上の識別符号に同じコンテンツ識別情報が対応付けられてもよい。
【００１４】
アクセス情報生成部２０２は、プログラム生成装置１０１がコンテンツ識別情報を取得すると、識別符号生成部２０１により生成された識別符号を用いてアクセス情報を生成する。アクセス情報は、識別符号から算出される情報であり、識別符号を抽出することができる情報である。例えば、転送装置１０３を識別する情報と識別符号とを含む情報である。より具体的には、転送装置１０３のＦＱＤＮがdirect.example.comであり、識別符号が1であれば、http://direct.example.com/?contents=1がアクセス情報として生成されてもよい
【００１５】
また、アクセス情報生成部２０２は、生成した識別符号と取得したコンテンツ識別情報とを転送情報として転送情報送信部２０３に伝達する。この伝達は、上述したように、識別符号とコンテンツ識別情報との対応関係を転送装置１０３に保持させるためである。
【００１６】
転送情報送信部２０３は、アクセス情報生成部２０２より、取得されたコンテンツ識別情報と、識別符号生成部２０１が生成した識別符号とを転送装置１０３へ送信する。後述するように、転送装置１０３が、コンテンツ識別情報と、アクセス情報または識別符号とを受信すると、その識別符号とそのコンテンツ識別情報とを関連付けて格納する。
【００１７】
図３は、転送装置１０３の機能ブロック図を示す。転送装置１０３は、転送情報受信部３０１と、転送情報格納部３０２と、転送処理部３０３とを有する。
【００１８】
転送情報受信部３０１は、プログラム生成装置１０１の転送情報送信部２０３が送信した転送情報を受信する。
【００１９】
転送情報格納部３０２は、転送情報受信部３０１が受信した転送情報に含まれる識別符号とコンテンツ識別情報とを対応付けて格納する。例えば、転送情報格納部３０２は、テーブルのデータ構造の同じ行に識別符号とコンテンツ識別情報とを格納することにより、識別符号とコンテンツ識別情報との対応付けを表わす。
【００２０】
図４は、転送情報格納部３０２が用いるデータ構造の一例として、テーブルのデータ構造を示す。例えば、識別符号の列の値として「１」が格納され、「１」と同じ行のコンテンツ識別情報の列に「（サーバＡ，コンテンツ５）」が格納されることにより、「１」と「（サーバＡ，コンテンツ５）」とが対応付けられる。なお、「（サーバＡ，コンテンツ５）」において、コンテンツサーバ１０６を識別する部分が「サーバＡ」であり、コンテンツサーバ１０６の内部でコンテンツを識別する部分が「コンテンツ５」である。これにより、転送装置１０３が「１」という識別符号を含む要求を受信すると、転送装置１０３は、「（サーバＡ，コンテンツ５）」により表現されるコンテンツの要求がされたと判断することができる。
【００２１】
転送処理部３０３は、転送装置１０３が識別符号を含む要求を端末装置１０２などから受信すると、その識別符号に対応付けられて転送情報格納部３０２に格納されているコンテンツ識別情報に基づいてコンテンツの要求を行う。例えば、上述のように転送装置１０３が「１」という識別符号を含む要求を受信すると、その要求から「１」を抽出し、「１」と関連づけられて格納されているコンテンツ識別情報である「（サーバＡ，コンテンツ５）」を取得する。そして、転送処理部３０３は、サーバＡに対して、コンテンツ５の要求を行う。また、転送処理部３０３は、サーバＡよりコンテンツ５の送信があれば、それを、「１」という識別符号を含む要求を転送装置１０３に送信した送信元へ返信する。すなわち、転送装置１０３は、プロキシサーバの一種として動作することができる。
【００２２】
あるいは、転送処理部３０３は、「１」という識別符号を含む要求を転送装置１０３に送信した送信元を、「（サーバＡ，コンテンツ５）」で表されるコンテンツ識別情報にリダイレクトをしてもよい。例えば、端末装置１０２が、転送装置１０３とコネクションを確立し、http://direct.example.com/1というＵＲＬで転送装置１０３にアクセスを行った場合、転送処理部３０３は、そのコネクションを「（サーバＡ，コンテンツ５）」に対応するＵＲＬにリダイレクトしてもよい。
【００２３】
図２に戻り、プログラム生成部２０４は、アクセス情報生成部２０２により生成されたアクセス情報を取得し、そのアクセス情報を用いてコンテンツを受信するプログラムを生成する。すなわち、プログラム生成部２０４は、生成するプログラムのアクセス可能なデータ領域にアクセス情報を配置し、次のモジュールを組み合わせることにより、プログラムを生成する。すなわち、組み合わせるモジュールは、（１）そのプログラムのデータ領域に配置されたアクセス情報を読み出すなどして取得し、（２）そのアクセス情報に基づいて転送装置１０３にコンテンツの要求を送信することにより、コンテンツを要求するモジュールである。また、プログラム生成部２０４が生成するプログラムには、要求されたコンテンツが送信されるとそのコンテンツを受信し、記憶領域に配置し、コンテンツを必要に応じて実行するモジュールも含まれる。
【００２４】
また、プログラム生成部２０４が生成するプログラムには、アクセス情報に基づくコンテンツの要求を転送装置１０３に送信する際に、認証を行うモジュールも含まれるようにすることができる。この認証を行うモジュールは、例えば、プログラムが最初に起動するときやプログラムをインストーラなどによって配置するときにユーザ管理装置１０５などと通信を行い、ユーザ登録やユーザＩＤ及びパスワードなどによる認証を行い、プログラムを実行する者がユーザ登録および認証されたことを不揮発性記憶領域などに記憶する。ここに不揮発性記憶領域とは、プログラムの実行が終了しても、記憶された情報が保持される領域である。例えば、フラッシュメモリの領域などが不揮発性記憶領域の例である。
【００２５】
図５は、プログラム生成部２０４の生成するプログラムのモジュール構成の一例を示す。プログラム生成部２０４の生成するプログラム５００は、アクセス情報読出部５０１と、アクセス情報送信部５０２と、認証実行部５０３と、コンテンツ受信部５０４と、を含む。
【００２６】
アクセス情報読出部５０１は、プログラムのデータ領域に配置されたアクセス情報を読み出すモジュールである。プログラムのデータ領域に配置されたアクセス情報は、プログラムの実行のためにプログラムが端末装置などの計算機のメモリ領域に展開されると、そのメモリ領域の一部に配置される。したがって、アクセス情報読出部５０１は、そのメモリ領域に配置されたアクセス情報を読み出すということもできる。また、アクセス情報読出部５０１は、読み出されたアクセス情報をアクセス情報送信部５０２に伝達する。なお、データ領域には、アクセス情報がプログラム生成部２０４などによって暗号化されて配置されていてもよい。このような場合には、アクセス情報読出部５０１は、復号化処理を行い、アクセス情報をアクセス情報送信部５０２に伝達する。この場合、復号化処理の復号鍵は、データ領域に配置されていてもよいし、プログラムを実行する端末装置より取得してもよい。
【００２７】
なお、プログラムのデータ領域には、アクセス情報そのものが配置されている必要はなく、他のサーバなどにおいてアクセス情報に対応付けられて管理されている情報が配置されていてもよい。この場合には、アクセス情報読出部５０１は、そのような情報を読み出し、アクセス情報とそのような情報との対応づけを管理するサーバに問い合わせを行い、アクセス情報を得ることもできる。
【００２８】
アクセス情報送信部５０２は、アクセス情報読出部５０１より伝達されたアクセス情報を、転送装置１０３に送信するモジュールである。なお、アクセス情報全体が転送装置１０３により送信される必要はない。なぜなら、アクセス情報に転送装置１０３を特定するＩＰアドレスやＦＱＤＮなどの情報が含まれている場合には、この情報は、コンテンツの要求の送信先を定めているだけなので、アクセス情報のうち識別符号を送信すれば十分であるからである。また、アクセス情報送信部５０２がアクセス情報を転送装置１０３に送信する際には、認証実行部５０３による認証を行ってもよい。例えば、プログラムを実行する者がユーザ登録および認証されたことを示すクッキー情報が不揮発記憶領域などに記憶されていれば、認証実行部５０３は、クッキー情報を読み出してアクセス情報送信部５０２に伝達する。この場合、アクセス情報送信部５０２は、識別情報を含む情報とともにクッキー情報を転送装置１０３に送信する。
【００２９】
認証実行部５０３は、アクセス情報によりコンテンツを取得する際の認証の実行を行うモジュールである。上述したように、プログラムを実行する者がユーザ登録および認証されたことを示すクッキー情報が不揮発性記憶領域などに記憶されていれば、クッキー情報を読み出し、アクセス情報送信部５０２に伝達する。また、転送装置１０３、コンテンツサーバ１０６の構成によっては、アクセス情報送信部５０２が識別符号を送信した後に認証を求められるようになっていてもよい。この場合には、求められた認証の処理を行う。例えば、認証実行部５０３は、ユーザＩＤとパスワードを入力するウィンドウなどを表示し、入力されたユーザＩＤとパスワードとを送信する。ユーザＩＤとパスワードとの送信先は、ユーザ管理装置１０５やコンテンツサーバ１０６あるいは転送装置１０３である。
【００３０】
コンテンツ受信部５０４は、アクセス情報送信部５０２による識別符号の送信に応じて返信されるコンテンツを受信する。なお、受信されたコンテンツは、プログラム５００の使用するメモリ領域に展開などされ、必要に応じて実行がされる。例えば、スクリプト言語によるプログラムが埋め込まれたＨＴＭＬをコンテンツとしてコンテンツ受信部５０４が受信した場合には、埋め込まれたプログラムを実行する。また、ユーザの入力に応じて、コンテンツサーバ１０６などへ情報の送信が行われ、この送信に対する返信が受信され、返信が処理される。
【００３１】
図６は、プログラム５００の動作のフローチャートである。プログラム５００が実行を開始すると、初期化の処理をプログラム５００が動作する端末装置などの計算機に行わせた後、ステップＳ６０１の処理として、アクセス情報読出部５０１によりアクセス情報を読み出す処理を端末装置などの計算機に行わせる。また、必要に応じて、認証実行部５０３によりクッキー情報などの認証情報を読み出す処理を端末装置などの計算機に行わせてもよい。ステップＳ６０２の処理として、アクセス情報送信部５０２により認証情報とアクセス情報とを送信する処理を端末装置などの計算機に行わせる。ステップＳ６０３の処理として、コンテンツ受信部５０４によりコンテンツを受信する処理を端末装置などの計算機に行わせる。
【００３２】
プログラム生成部２０４により生成されたプログラムは、必要に応じて図示されていないサーバ装置にアップロードされ、端末装置１０２によりダウンロード可能とされ、端末装置１０２により実行可能となってもよい。
【００３３】
なお、プログラム生成部２０４により生成されたプログラムを用いて、そのプログラムを端末装置１０２にインストール（配置）するインストーラと呼ばれるプログラムも生成することができる。以下では、プログラムとそのインストーラとの両方をプログラムとして表記する。
【００３４】
端末装置１０２は、ユーザの利用する端末である。主に携帯電話やスマートフォンが想定される。また、パーソナルコンピュータであってもよい。
【００３５】
認証装置１０４は、プログラムの実行時などにそのプログラムを実行する端末装置１０２やその利用者を認証する装置である。例えば、認証装置１０４は、転送装置１０３が端末装置１０２から受信した認証情報を受信すると、その認証情報やその認証情報により得られる情報を認証要求としてユーザ管理装置１０５に送信し、返信される結果を認証情報として転送装置１０３に返信する。
【００３６】
ユーザ管理装置１０５は、端末装置１０２のユーザを管理する。例えば、ユーザにユーザを識別する情報を割り当てたり、ユーザの属性情報を管理したりする。また、認証装置１０４からの認証要求に応じて、認証結果を返信してもよい。
【００３７】
コンテンツサーバ１０６は、コンテンツの要求を受信すると、その要求に応じてコンテンツを返信するサーバである。例えば、ウェブサーバなどである。
【００３８】
プログラム生成装置１０１、転送装置１０３、認証装置１０４、ユーザ管理装置１０５、コンテンツサーバ１０６は、計算機を用いて実現することができる。例えば、プログラム生成装置１０１は、ＣＰＵを動作させることにより、キーボードなどが接続された入出力インターフェースからコンテンツ識別情報を読み取り、識別符号を生成し、転送情報をネットワークインターフェースを介して送信し、プログラムを生成するコンパイラやリンカなどのプログラムを実行させるプログラムにより実現できる。
【００３９】
図７は、コンテンツ提供システム１００全体の情報の流れを示すシーケンス図である。ステップＳ７０１において、コンテンツ識別情報がプログラム生成装置１０１に入力されると、プログラム生成装置１０１から転送情報が転送装置１０３へ送信される。これにより、転送装置１０３は、識別符号とコンテンツ識別情報との対応関係を追加する。ステップＳ７０２において、プログラム生成装置１０１により生成されたプログラムが端末装置１０２にダウンロードなどされる。
【００４０】
ステップＳ７０３において、プログラムが端末装置１０２にて動作を開始すると、プログラムが動作する端末装置１０２から転送装置１０３へ認証情報と識別情報とが送信される。ステップＳ７０４において、転送装置１０３から認証装置１０４へ認証情報が送信される。続くステップＳ７０５において、認証装置１０４からユーザ管理装置１０５へ認証要求が送信される。ステップＳ７０６において、認証要求に対する認証結果がユーザ管理装置１０５から認証装置１０４へ返信される。この認証結果は、ステップＳ７０７において、認証装置１０４から転送装置１０３へ送信される。
【００４１】
認証結果がＯＫであれば、ステップＳ７０８において、転送装置１０３においてアクセス情報に対応するコンテンツ識別情報が取得され、このコンテンツ識別情報に基づいてコンテンツ要求がコンテンツサーバ１０６に送信される。ステップＳ７０９において、要求されたコンテンツがコンテンツサーバ１０６から転送装置１０３へ送信され、ステップＳ７１０において、コンテンツが転送装置１０３から端末装置１０２へ送信される。
【００４２】
以上のように、識別符号とコンテンツ識別情報とが転送装置１０３において関連付けられているので、必要に応じて識別符号とコンテンツ識別情報との関連付けを変更可能となる。これにより、同一の識別符号を含む要求が転送装置１０３に受信されても、一時的に別のコンテンツ識別情報で識別されるコンテンツが要求されるようにすることができる。これにより、特別な日や時期においてのみ特別なコンテンツが要求されるようにすることができる。また、当初は複数のコンテンツが同じサーバ（コンテンツサーバ）に格納されていたところ、アクセス数が増加したために、複数のサーバに複数のコンテンツを分散させ負荷分散を行うことも容易に行える。
【００４３】
また、コンテンツサーバ１０６へは、端末装置１０２から転送装置１０３を経由してコンテンツの要求が送信されるので、コンテンツサーバ１０６は、転送装置１０３以外からのアクセスを排除することができ、コンテンツサーバ１０６のセキュリティを向上させることができる。また、認証装置１０４およびユーザ管理装置１０５による認証を経たうえで端末装置１０２から転送装置１０３を経由してコンテンツサーバ１０６にコンテンツの要求が送信されるので、コンテンツサーバ１０６のセキュリティを損なうことなくコンテンツサーバ１０６によるユーザ等の認証を省略することができる。
【００４４】
また、コンテンツとしてブラウザで動作するゲームなどが提供される場合には、アクセス情報はＵＲＬにより表現することができるので、パーソナルコンピュータからそのＵＲＬを用いてアクセスを行うことにより、パーソナルコンピュータでゲームなどを動作させながらゲームなどの開発を行うことも可能となり、開発の効率を上げることができる。また、この場合には、認証実行部５０３による認証をパーソナルコンピュータでのブラウザからも実行可能なものにすることにより、パーソナルコンピュータからも転送装置１０３を介してコンテンツサーバにコンテンツを要求することができるので、実際にコンテンツが提供されるシステムを用いてコンテンツの作成を行うことができ、開発やテストの効率を上げることもできる。
【００４５】
（実施形態２）
図８は、図５に示したモジュール構成を有するプログラムとは別のプログラムのモジュール構成を示す。このようなプログラムもプログラム生成装置１０１により生成することができる。プログラム８００は、アクセス情報読出部５０１と、アクセス情報送信部５０２と、認証実行部５０３と、コンテンツ受信部５０４と、識別符号抽出部８０１と、コミュニケーション部８０２とを有する。したがって、プログラム８００は、プログラム５００がさらに識別符号抽出部８０１と、コミュニケーション部８０２とを有する構成となっている。
【００４６】
識別符号抽出部８０１は、アクセス情報読出部５０１が読み出すアクセス情報から識別符号を抽出するモジュールである。識別符号が抽出されることで、プログラム８００がどのコンテンツに対応するプログラムであるのかを検出することができる。なぜならば、識別符号及びアクセス情報は、プログラム生成装置１０１がプログラムを生成するときに生成されるからである。また、プログラム生成装置１０１がプログラムを生成するのは、コンテンツ識別情報が入力されたときであるので、コンテンツ識別情報により識別されるコンテンツとプログラムとにも対応関係が存在することになる。
【００４７】
コミュニケーション部８０２は、識別符号抽出部８０１により抽出した識別符号を用いて、プログラム８００を動作させている者とは別の者とのコミュニケーションを行うモジュールである。例えば、同じ識別符号に対応するプログラムをダウンロードしたり動作させている者と通信を行ったり、同じ識別符号に対応するプログラムをダウンロードや動作させていない者に、プログラムのダウンロードや実行を促したりする。
【００４８】
コミュニケーション部８０２に対応し、ユーザ管理装置１０５は、図９に示す機能ブロック図の構成を有していてもよい。すなわち、ユーザ管理装置は、ユーザ管理部９０１と、問合処理部９０２と、送受信部９０３とを有する。
【００４９】
ユーザ管理部９０１は、ユーザを識別する情報（ユーザＩＤ）とその属性を管理する。ユーザとは、コンテンツ提供システム１００を端末装置１０２により利用する利用者である。より具体的には、端末装置１０２を所持または専有する利用者である。ユーザの属性は、パスワード、氏名、住所など利用者に関する情報である。また、ユーザの属性には、そのユーザが所持または専有する端末装置１０２にダウンロードをしたプログラム、ダウンロードをしたプログラムを通じての知人であるユーザを識別する情報、及び／又は、ユーザの一般的な知人であるユーザを識別する情報を含む。プログラムを通じての知人とは、そのプログラムを動作させることによってメッセージを交換するなどのコミュニケーションをとることができるユーザを意味する。一般的な知人とは、特定のプログラムを介さずにメッセージを交換するなどのコミュニケーションをとることができるユーザを意味する。このように、ユーザの属性に、知人であるユーザを識別する情報を含ませることにより、ユーザ間の知人関係を表わすソーシャルグラフを管理することができる。
【００５０】
図１０は、ユーザ管理部９０１がユーザを識別する情報と、属性として、ダウンロードしたプログラムとを関連付けて管理するテーブルの一例を示す。図１０においては、ダウンロードしたプログラムとして、アクセス情報読出部５０１が読み出すアクセス情報から抽出される識別符号を格納している。上述したように識別符号とプログラムとに対応関係が存在するので、識別符号によってプログラムを特定することが可能である。そこで、図１０においては、例えば、１２３４５によって識別されるユーザが３という識別符号より特定されるプログラムをダウンロードしたことが示される。
【００５１】
問合処理部９０２は、ユーザＩＤについての問い合わせを処理する。ユーザＩＤについての問い合わせには、図１０のテーブルに対する問い合わせを含む。例えば、図１０のテーブルにおいて、ユーザＩＤと関連付けて格納されている識別符号を得る問い合わせや、ユーザＩＤと識別符号との特定の組が図１０のテーブルに格納されているかどうかの問い合わせがある。より具体的には、１２３４５と３との組が図１０に示すテーブルに格納されているので、問合処理部９０２は、１２３４５と３との組に対しては、ＹＥＳ（肯定的な結果）を検索結果として出力する
【００５２】
送受信部９０３は、端末装置１０２よりユーザＩＤと識別符号との組を受信し、ユーザＩＤと識別符号との組を問合処理部９０２に問い合わせとして伝達する。また、送受信部９０３は、問合せについて問合処理部９０２が出力する検索結果を、その問い合わせを送信した端末装置１０２に返信する。
【００５３】
図１１は、ユーザ管理装置１０５の処理の一例のフローチャートを示す。ステップＳ１１０１において、ユーザＩＤを送受信部９０２により受信する。ステップＳ１１０２において識別符号の問い合わせの処理を問合処理部９０２により行う。ステップＳ１１０３において検索結果を送受信部９０２により送信する。
【００５４】
このような構成を有するユーザ管理装置１０５を用いることにより、コミュニケーション部８０２は、そのユーザの知人がダウンロードしたプログラムの情報を得ることができる。これにより、コミュニケーション部８０２は、ユーザがダウンロードしたプログラムとそのユーザの知人がダウンロードしたプログラムとを比較し、知人がダウンロードしたプログラムのうち、そのユーザがダウンロードしていないプログラムを知ることができ、どのプログラムをダウンロードすればよいかをそのユーザに表示などすることができる。また、ユーザがダウンロードしたプログラムをまだダウンロードしていないそのユーザの知人のユーザＩＤを取得することができ、そのような知人にプログラムをダウンロードするように勧めるという招待の処理も行うことができる。
【００５５】
図１２は、コミュニケーション部８０２が、ユーザのダウンロードしたプログラムをまだダウンロードしていないそのユーザの知人のユーザＩＤを取得し、その結果を端末装置１０２などの表示画面に表示した例を示す。例えば、ユーザＩＤとして１２３４５を有するそのユーザの知人は、そのユーザがダウンロードしたプログラムをダウンロードしていないので、招待可否として「ＯＫ」が表示されている。一方、ユーザＩＤとして６７８９０を有するそのユーザの知人はそのユーザがダウンロードしたプログラムをダウンロードしているので、招待可否として「ＮＧ」が表示されている。
【００５６】
このように、本発明の一実施形態においては、ユーザがダウンロードしたプログラムをまたダウンロードしていないそのユーザの知人にそのプログラムについての招待の処理を行うことができるので、知人とプログラムの実行により得られる体験を共有することができる。
【００５７】
また、ユーザ管理装置１０５は認証要求により各ユーザが現在実行しているプログラムを管理することもできるので、本発明の一実施形態として、ユーザの知人がそのユーザの実行しているプログラムを実行しているか否かを端末装置１０２に表示することも可能となる。これにより、ユーザがその知人の実行しているゲームなどに参加したり、知人にゲームの実行などを勧めるメッセージをコミュニケーション部８０２により送信したりすることができる。
【図１】
2014049046.tif 000003
【図２】
2014049046.tif 000004
【図３】
2014049046.tif 000005
【図４】
2014049046.tif 000006
【図５】
2014049046.tif 000007
【図６】
2014049046.tif 000008
【図７】
2014049046.tif 000009
【図８】
2014049046.tif 000010
【図９】
2014049046.tif 000011
【図１０】
2014049046.tif 000012
【図１１】
2014049046.tif 000013
【図１２】
2014049046.tif 000014