説明

コンテンツ提供装置、コンテンツ提供方法及びそのためのコンピュータプログラム

【課題】利用者入力に応じた動的な制御のための制御ロジック情報をCGM的に随時追加できるようにする。
【解決手段】制御ロジック情報を利用者が既存コンテンツに追加する手段を用意する。選択肢による利用者入力にも対応する。制御ロジック情報の記述力は、変数やファイルといったデータ(利用者に関連するデータも含む)の更新、更新したデータを参照してのコンテンツ提供/選択肢提供、更新したデータを参照してのデータ(他の利用者に関連するデータも含む)の更新、等に及ぶ。制御ロジック情報は、関連づけられたリソースの利用をトリガとして実行可である。製作者側になる利用者やリソースごとに、ロジック追加/ロジック実行/データ参照/リソース利用などの許可・排他ポリシーを設定可能とする。ロジックの製作者情報や制御に用いる変数名等を、必要に応じて利用者や製作者に参照可能とする。効率的なロジック追加の工夫もある。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分散した又は分散しない記憶手段に蓄積したコンテンツをコンピュータ制御によりインターネットを介して又は介さずに利用者に提供するコンテンツ提供装置、コンテンツ提供方法およびコンピュータプログラムに関するものである。
【0002】
また、部分コンテンツ間での連携、特に利用者からの入力(場合によっては過去の入力履歴(もしくは、その入力履歴の全体又は要約を格納した変数の値)を含めたもの、以下同じ)に応じて状態遷移する変数(提供の文脈)の共有を利用した、別のコンテンツ制作主体間での、コンテンツ提供制御やコンテンツ制作自体における連携に関する。
【0003】
定義1:ここで、「コンテンツ」とは、著作(物語を中心として、あらゆる美術や芸術なども含む)や知識や情報の内容であり、定義や事実や数値データのほかに、仮説や仮想現実やそのためのマルチメディアによる演出等を含めたものである。主にデジタル化されている。多くの大きなコンテンツは、ある程度の独立した価値をもつ「部分コンテンツ」に分けて観念することができる。コンテンツの典型としては、ゲーム(例えば、アドベンチャーゲーム、ロールプレイングゲーム、パズルゲーム、等)、エキスパートシステム(例えば、法律診断、症状診断、等)、Web小説(例えば、世界観の構築、段階的説明、等)、教育コンテンツ(例えば、数学の定理・物理の公式・専門用語・哲学思想等といった関連する知識の依存・前提関係や複雑度・難易度を考慮したナビゲーション教材、等)、等がある。
【0004】
定義1−1:そして、「コンテンツ提供」とは、コンテンツを利用者に供することである。主にコンテンツの意味(感動、感想、意見、認識、知識、情報、知恵、アイディア、構造、構成、物語自体、等)を言語的、視覚的、聴覚的、触覚的、嗅覚的、味覚的な手段で利用者に示すことをいう。
【0005】
定義1−1−1:そして、「コンテンツ提供装置」とは、コンテンツ提供のための装置をいう。多くの場合、複数のサーバーコンピュータと無数の利用者のクライアントコンピュータ端末からなるコンピュータネットワークで構成されるが、サーバーコンピュータが一台の場合や、スタンドアロン(サーバー=クライアント)の場合も含む。また、サーバーコンピュータ間の接続は、単一事業体におけるプライベートネットワークによる場合と、複数事業体間のインターネット(グローバルアドレス)による場合の両方を含み、後者の場合、本発明の「コンテンツ提供装置」を、複数事業者間で共有する(もしくは分担して管理/所有する)ということになる。
【0006】
定義1−2:また、「部分コンテンツ」とは、本発明により連携して提供されるコンテンツ全体をなんらかの観点で分けて観念したものであり、多くの場合、独立した価値をもつ。分ける観点としては、インターネットドメイン等のドメインごと、ゲームなどのタイトルごと、制作者/制作チームごと、リソース(フォルダ等)ごと、等がある。なお、上記、「ゲームタイトル」、「制作者」、「制作チーム」は、本発明における「製作者」に該当する(なお、本発明では、ロジック情報等の投稿を行う一般利用者も「製作者」に該当する)。
【0007】
定義2:また、「分散した又は分散しない記憶手段」とは例えば、サーバーコンピュータの記憶装置(ハードディスクや主記憶等)だけでなく、関連するサーバーコンピュータの記憶装置や利用者のクライアントコンピュータ端末の記憶装置を一体として指す。多くの場合、情報の種類別に、異なるヒープ領域・物理的装置・パーテション・フォルダ(ディレクトリ)等に区分けされている。種類別とは、例えば、管理ドメイン別、タイトル別(部分コンテンツ別)、共有リソース/専用リソースの別、ロジック情報(プログラムやスクリプトや制御用データ構造)/テンポラリデータ/保存データの別、利用者共通の変数/利用者毎の変数の別、等が考えられる。
【0008】
定義2−1:なお、「ドメイン」とは、コンテンツを分散管理(分散記憶)する際に、コンテンツを、分散管理する物理的/論理的な領域ごとに分けて観念するための領域である。例えば、複数のインターネットドメインにまたがってコンテンツを分散管理する場合には、インターネットドメインがドメインとなる。
【0009】
定義3:また、「オブジェクト」とは、最も一般的な意味のオブジェクト(メモリ中のデータ構造等)にファイル等を加えて観念したものをいう。コンテンツ提供装置によりアクセス可能なすべてのオブジェクトは、本発明による「リソース」を構成する。ちなみに、本発明におけるデータとは、オブジェクト(リソース)中の固定プログラム以外の情報であり、変数とは、データ(固定プログラム以外の情報)のうち独立して値を変更可能なものをいう。
【0010】
定義4:また、「リソース」とは、コンテンツ提供装置によりアクセス可能なすべてのオブジェクトをいい、前期記憶手段に記憶可能なすべてのプログラムおよびデータはリソースである。メモリ上のデータ構造や変数(変数名、アドレス、値、等)を格納したオブジェクトや、後述する提供態様制御ロジック情報を格納したオブジェクトだけでなく、HTMLファイル(およびそのテンプレート)、XMLファイル、CSSファイル、PHPファイル、Perlファイル、マルチメディアファイル(データファイルだけでなくプログラムファイルも含む)、DBインスタンス、等のすべてのファイルを含む。また、リソースは、階層的な構造をもつことができる。例えば、ファイルシステムのフォルダ(ディレクトリ)は、その中のファイルやサブフォルダ(再帰的に包含する範囲全体)も含めて一つのリソースであり、その中のファイルやサブフォルダは、親のフォルダとの関係では相対的にサブリソースと呼ぶ(ただし、絶対的には普通のリソースとみなす)。本発明では、デフォルトで、リソースA配下のシンボリックリンク(又はハードリンク)先の実体(ファイルやフォルダ)も、そのリソースAのサブリソースとみなす。なお、「マルチメディアファイル」とは、複雑なオブジェクトをシリアライズしたファイル、テキストファイル、静止画ファイル、動画ファイル、音声ファイル、触覚再現ファイル、嗅覚再現ファイル、味覚再現ファイル等を含む。
【0011】
定義4−1:ここで「データ」とは、「リソース」中の固定プログラム(例えばOSカーネルや本プログラムを実施するカーネルプログラムなどの「静的な」プログラムといえるもの)以外の情報をいい、後述する提供態様制御ロジック情報(利用者により逐次追加/更新されていくという意味で「動的な」プログラムといえるもの)を含む。
【0012】
定義4−1−1:また、「変数」とは、全オブジェクト中の固定プログラム以外の情報(データ)のうち、独立して値を変更可能なものをいう。多くの場合、後述する提供態様制御ロジック情報からの名前によるアクセスを可能にする変数名、ハードウエアが参照したり更新したりするためのアドレス、そのアドレスに記憶された変数値(多くの場合、可変長の文字列で表現される)をもつ。変数名によるアクセスは、変数名が一意の場合や変数の宣言が所定のスコープ内である場合は、その変数名のみで参照され、所定のスコープ外等である場合は、例えばURI(FQDN等)の形式で参照することができる。なお、変数の宣言は、例えば、[コンテンツ提供装置の仮想のルートロケーション又は所定プロトコル>]インターネットドメイン>カテゴリ(フォルダ)>タイトル(フォルダ)という(URI)階層構造の任意のロケーションで、製作者になることを希望した利用者兼制作者や制作チームが行うことができる。この階層構造によっても変数名が競合するときは、利用者兼制作者や制作チームやタイトルを識別できる「製作者に関する情報」により変数名を修飾して区別することもできる。
【0013】
定義4−1−1−1:また、「状態」とは、コンテンツ提供装置が管理している変数集合および各対応する変数値のことをいう。このうち、問題としているコンテンツ提供処理に関連する変数集合および各変数値を文脈と呼ぶ。
【0014】
定義4−1−1−1−1:そして、「状態遷移」とは、コンテンツ提供装置が管理している変数集合および各対応する変数値の遷移をいう。利用者がコンテンツ提供装置にアクセスして要求等を入力しコンテンツの提供を受けることにより、利用者に関する変数集合および各対応する変数値が遷移する。
【0015】
定義4−1−1−1−2:また、「文脈」とは、コンテンツ提供装置が管理している変数集合および各対応する変数値のうち、問題となっているコンテンツ提供処理に関連するものである。変数には、利用者毎に存在する変数と、システム毎あるいは世界インスタンス毎に存在する変数とがある。利用者毎に存在する変数には、利用者毎の入力履歴やコンテンツ提供履歴もリスト形式等で格納することができ、これも文脈(すなわち、文(すなわち、シーン説明や解法論理や学習知識としての表現)を利用者に表示/学習させるための前提情報/環境条件あるいは表示/学習後の遷移状態としての意味をもつもの)として用いることができる。例えば、変数「現在の場所」=”教会”が成立している文脈でのみ、”神父さんに尋ねる”という選択肢の選択が可能なように(後述する)提供態様制御ロジック情報を記述することができる。
【0016】
定義4−1−1−1−2−1:なお、「世界インスタンス」とは、ある部分コンテンツが一定の世界観をもった物語等の場合に、同一の部分コンテンツのインスタンスを複数運用することができ(負荷分散などのため)、それぞれのインスタンスを世界のインスタンス(世界インスタンス)として観念できる。同一の世界インスタンス内であれば、利用者間でインスタンス内の共有変数(例えば、変数「世界に残っている宝物」)の遷移等を通じた相互作用が可能である。なお、「共有変数」とは、同一インスタンス内の利用者間および製作者間で共有することを意図した変数である。多くの変数は、製作者間でも共有したほうがコンテンツが充実するため、多くの場合、製作者(宣言者)に関する情報を変数名に加えたりせずに、他の製作者に公開(パーミッション)されて、他の製作者製の提供態様制御ロジック情報中で参照されたり更新されたりする。
【0017】
ここで、「タイトル」とは、一定の企画意図やチーム内の信頼関係により製作されたコンテンツ。複数のタイトルを連携させることや、別のタイトルのリソース(文脈、マルチメディアファイルなど)を再利用すること、等を、本発明は志向している。
【0018】
ここで、「カテゴリ」とは、タイトルの種類。カテゴリの例としては、物語(アドベンチャーゲーム等が含まれる)、解法(エキスパートシステム等が含まれる)、論理(仮説、論文、意見等が含まれる)等が考えられる。
【背景技術】
【0019】
様々なネット小説や、それをよりゲーム的に発展させたノベル形式のアドベンチャーゲーム(下記、非特許文献1等)が、インターネットを介して既に提供されている。
【0020】
また、Wiki等により、テーマ別の知識や情報については、複数利用者による分散編集自体も可能になっている。
【0021】
しかし、知識や情報を含めたコンテンツ(テキスト、動画/静止画、音声、におい形式等)の提供態様(提供範囲又は提供順序の少なくとも一方を含む提供態様)の制御、特にアドベンチャーゲームや法律診断エキスパートシステムやeラーニングに見られるような、利用者入力(もしくは入力履歴(これは、必ずしもログ形式ではなく、変数X=a、変数Y=bといった、コンテクストとして整理されている場合もある))に応じた動的な制御のためのロジック情報については、複数利用者による分散編集(特に、Consumer Generated Media(CGM)的な編集のうち互いに提供を制御しあうコンテンツの編集)ができていない。
【0022】
このため、特に利用者の状態等を表す変数に応じた動的な制御が必要な大規模な、アドベンチャーゲームやエキスパートシステムやeラーニング知識ベースを、分散環境やインターネットで複数利用者がCGM的に協働して作ることが困難であった。
【0023】
例えば、ゲームのストーリーを他人が独自に発展させたり、そのゲーム中の画像や音声との結合を含めた制御シナリオを他のゲームで再利用したりすることができなかった。このため、一般の人が多くの複線のあるゲーム作りの一端を担うということが手軽にできず、大資本しか壮大なゲームをつくることができなかった。また、せっかくできた壮大なゲームに対し、一般の人がちょっとしたアイディアを加えてより面白く、深く、幅広く、網羅的にし、何度でも遊べるようにするといったこともできなかった。
【0024】
これは、法律診断のようなエキスパートシステムやeラーニング知識ベースでも同様であり、当初の企画制作者外の専門家がWEB型エキスパートシステムやeラーニング知識ベース(特に、利用者ごとの状態変数を管理し状態変数に応じた分岐制御等をもつもの)に独自の知識を付け加えて改善するということが手軽にできなかった。
【0025】
近年においては、WebサービスのAPIを用いたいわゆるマッシュアップ等の手法が開発されているが、例えば、利用者であり開発者でもあるAが管理していない(ftpやsshアクセスできない)他の開発者Bのサーバーコンピュータが開発者Aとは別の利用者Cに対して実施するコンテンツ提供動作(特に別の利用者C用の変数を更新することで制御を効率化するスクリプトやプログラム)まで、開発者Aが簡単に追加できるわけではない。開発者Aのサーバーコンピュータ以外の他のコンピュータが実施すべき動作は、例えば利用者CのクライアントコンピュータにのみジャバスクリプトやJAVA(登録商標)やActiveXやFlash等として提供されている。結局、開発者Aおよび開発者Bのサーバーコンピュータに格納されたコンテンツ同士の、各サーバーコンピュータ自体の動作を動的に定義することによる、開発者(ここでは、A、B)にとって手軽な連携にまでは至っていない。
【0026】
また、空いたCPUをシェアする分散コンピューティングも行われているが、各CPUを搭載するサーバーコンピュータに固有の「コンテンツ」を連携させることができていない。
【非特許文献1】著:金児実千代、絵:楠良命、プログラム:ナレルシステム有限会社 「バクのバス」http://www.vlank.com/bb/ 2004年
【発明の開示】
【発明が解決しようとする課題】
【0027】
解決しようとする課題は、知識や情報を含めたコンテンツ(テキスト、動画/静止画、音声、におい形式等)の提供態様(提供範囲又は提供順序の少なくとも一方を含む提供態様)の制御、特にアドベンチャーゲームや法律診断エキスパートシステムに見られるような、利用者入力(もしくは入力履歴(もしくは入力履歴がコンテクスト形式(変数と値等)になったもの))に応じた動的な制御のためのロジック情報について複数利用者によるCGM的な分散編集ができるようにすること、である。
【0028】
また、ゲームコンテンツの制御プログラム(ゲームシナリオ)同士を異なる制作主体等により動的に(多くの場合、事後的かつ非同期的に)連携を定義したり互いに文脈(状態変数等)やリソースを再利用したり、エキスパートシステムの制御プログラム(あるいはその制御によって提供される知識自体)を簡単に専門家が拡張できるようにしたり、教育システムの教育カリキュラム(ナビゲーションつきの教育コンテンツ)を拡張したりできる、コンテンツ提供装置、方法およびコンピュータプログラムを提供することである。
【課題を解決するための手段】
【0029】
かかる課題に鑑み、本発明の請求項1は、
分散した又は分散しない記憶手段に蓄積したコンテンツをコンピュータ制御によりインターネットを介して又は介さずに利用者に提供するコンテンツ提供装置であって、
【0030】
コンテンツ提供装置が利用者からの入力に応じてコンテンツの提供態様(提供範囲又は提供順序の少なくとも一方を含む提供態様)を制御できるようにするロジック情報である提供態様制御ロジック情報を、利用者が前記記憶手段に追加するための利用者製提供態様制御ロジック情報追加手段を備えること
を特徴とするコンテンツ提供装置を提供する。
【0031】
定義1−1−2:ここで、「コンテンツ提供態様」とは、提供の範囲(どの画像サブセットか、どのテキストサブセットか、どのサウンドサブセットか、等)や順序(どういった画像表示順序か、どういったテキスト表示順序か、どういったサウンド再生(もしくは合成)順序か、等。タイミング制御も含む)のほかにも、提供/レンダリング/出力の、メディア・規模・方法・手段・利用リソースの組み合せ方・時間・構成等の観点も含むことができる。
【0032】
定義1−1−2−1:そして、「コンテンツ提供態様を制御」とは、「コンテンツ提供態様」を制御することのほかにも、本発明では、他の部分コンテンツと共有する変数の書き換え等による部分コンテンツ間の間接的な制御も含む。
【0033】
定義5:ここで、「制御ロジック」とは、制御の論理(最も一般にはフローチャート等で表現されるもの)であり、適当な手続型言語(のサブセット、例えば、代入文やIF文やWHILE文や関数呼出文を表現できる言語)や論理記述言語(のサブセット、例えば、PROLOGのホーン節を表現できる言語)を、制御ロジック記述言語として取り込む(解釈可能なインタープリタを用意する)ことによりそれぞれの言語で記述可能な制御構造などを取り込んで同等の制御を実現できる。
【0034】
定義5−1:そして、「制御ロジック情報」とは、制御ロジック(制御の論理)を記述した情報である。主にテキスト形式の形式言語スクリプト(必ずしも独立したファイルとして保存されているとは限らない)であるが、バイナリ形式等のリソースの場合、すなわち、バイナリプログラム(ただし、OSの固定のカーネルプログラムや本発明を実施する固定のカーネルプログラム(例えばCGIの形式をとる)を除く)や、バイナリデータファイルや、DBインスタンス、等をURI参照等したスクリプトの場合は、それらのリソースも含めて、制御ロジック情報と呼ぶ。
【0035】
定義5−2:そして、「提供態様制御ロジック」とは、「制御ロジック」のうち、コンテンツ提供態様の制御に係るものをいう。
【0036】
定義5−2−1:そして、「提供態様制御ロジック情報」とは、「制御ロジック情報」のうち、コンテンツ提供態様の制御に係るものをいう。その範囲には、コンパイル済のネーティブ実行コード(バイナリプログラム)やJAVA(登録商標)中間コード(CLASSファイル)、ジャバスクリプト、Perlスクリプト、PHPスクリプト等だけでなく、ゲーム用シナリオスクリプト(例えば、ロールプレイングゲーム、パズルゲーム、アクションゲーム、アドベンチャーゲーム等用の機械可読シナリオスクリプトや、これらと関連づけられて格納されるマルチメディアファイル・MAP用データ・属性データ等のデータ構造も含む)や、知識定義スクリプトや、知識提供スクリプト(さらに、これらと関連づけられて格納されるマルチメディアファイルやデータ構造等も含む)、および、これらのスクリプトを解釈するためのインタープリタソフトウエア等も含む。
【0037】
定義6:なお、「利用者」とは、コンテンツの提供を受ける客体である。「提供態様制御ロジック情報を追加した利用者」と、その提供態様制御ロジック情報に基づいてコンテンツの提供を受ける利用者とは、ほとんどの場合異なる。本発明では、利用者が一般的なリソース(画像、音声、自然言語テキスト、HTML、等)をコンテンツ提供装置に登録して他の利用者に利用可能にするだけでなく、「提供態様制御ロジック情報」(例えば、変数を操作したり制御構造を定義したりできる半形式言語スクリプト、等)までも追加することができ、その追加した利用者は、コンテンツの提供を受けるだけでなく、追加した提供態様制御ロジック情報の「製作者」ともなり、コンテンツを提供する側にもなる。
【0038】
定義6−1:ここで「利用者からの入力」とは、利用者が、サーバーコンピュータにネットワーク接続されたクライアントコンピュータ端末やスタンドアロンコンピュータに対して、マウスやキーボードを介して入力した信号を、コンピュータ処理可能な文字等として解釈したものである。その入力の意味は、例えばWebインターフェース上では、選択肢を選択するシンボルであったり、自由文テキストであったり、リンクのトリガであったりしてもよく、専用のコントローラ等を使用する場合には、音声・振動・向き・加速度・レバーの位相を含めたあらゆる信号を機械解釈したものとすることができる。また、ここでの入力とは、一回の入力操作の分だけでなく、その連続で構成される入力系列(さらにタイミング要素も含みうるもの)をも指す。すなわち、場合によっては、過去の入力履歴(又は、その入力履歴の全体もしくは要約を格納した変数の値)をも含めて「入力」として参照する。
【0039】
定義7:ここで、「利用者製提供態様制御ロジック情報追加手段」とは、提供態様制御ロジック情報を、利用者が、コンテンツ提供装置によるアクセス可能な記憶手段に追加できるようにするものである。この目的に固有の部分は、ソフトウエアで記述することができる。例えば、利用者が、提供態様制御ロジック情報としてのコンピュータ解釈可能スクリプトを、Webブラウザに表示されたHTMLドキュメントのFORM構文のTEXTAREAに、入力し、HTTPで、サーバーのCGIプログラムにPOSTすることができ、サーバーのCGIプログラムは受信した内容を、提供態様制御ロジック情報として、リソースURI(リソースID)などと関連づけて格納することができる。
【0040】
そして、例えば、その提供太陽制御ロジック情報とリソースURIとを関連づけて記憶しているサーバーが、そのリソースURIの実体やURLを返信内容に含むHTTP要求(例えば、CGI実行ファイルがURLとなっている)を受けた場合に、そのCGI出力に、そのリソースURIと関連づけて格納された提供態様制御ロジック情報をトリガして実行(解釈)した結果や中間結果等を含めて出力することができる。
【0041】
結局、請求項1の発明により、コンテンツの提供態様(提供範囲又は提供順序の少なくとも一方を含む提供態様)についての制御も、複数利用者が、分散環境などから、暇ができたとき等に逐次に追加することが可能になり、大規模なアドベンチャーゲームやエキスパートシステムや学習用知識ベースなどにおいて、コンテンツのプレゼンテーション(一度に提供する範囲の適切な絞込みや、各範囲を連続的に提供する順序や時間の調整等)制御についてWiki等より工夫をこらした、自由に提供制御可能ものを、みんなで作成すること、ひいてはちょっとした時間や労力で、誰もが、より表現力の豊かな公の知に貢献することが可能に、あるいは容易になる。
【0042】
また、本発明の請求項2は、
前記入力を、利用者への選択肢表示および利用者からの選択肢受信の形式で行うための選択肢入力手段を備えること、
前記提供態様制御ロジック情報が、該選択肢表示のための情報と、該選択肢表示に対応する選択肢を利用者から受信した際にコンテンツ提供装置が該利用者に対して行うべきコンテンツ提供態様制御のロジック情報とを含むこと
を特徴とする。
【0043】
ここで、「利用者への選択肢表示」とは、2択〜N択の形式で、各選択肢をテキストや画像や音声等により区別して表現することを言う。
【0044】
ここで、「利用者への選択肢表示」とは、2択〜N択の形式で、各選択肢をテキストや画像や音声等により区別して表現することを言う。
【0045】
「選択肢表示のための情報」としては、例えば「”プロポーズのために海にいく”」「”プロポーズのために自宅に呼ぶ”」などが考えられる。
【0046】
コンテンツ提供制御の情報の形式としては、例えば「goto_scene(背景となる海画像のURL、背景の前にスーパーインポーズして表示する人物画像等のURL、背景の説明テキストのURL、BGMとなる音声のURL、移動直後に実行する制御スクリプトのURL)」が考えられる。これを実行すると、それぞれのリソースに関連づけられた新たな選択肢セット及びその各対応する「コンテンツ提供制御の情報」を含むものになり、このセットが、ゲームプレイや問い合わせを通じて従来のネットサーフィンと同様に遷移していくことにより、仮想の物語(ゲーム)や専門分野の推論(エキスパートシステム)が進行していく。
【0047】
これにより、言動選択式のアドベンチャーゲームや場合分け式の法律診断エキスパートシステムと同等のコンテンツを、複数利用者がインターネットなどの分散環境で協働して、逐次に作成・更新していくことが可能になる。
【0048】
なお、有利には、その利用者が選択可能な選択肢のみをその利用者に表示することができる。この場合、選択可能な選択肢かどうかは、例えば、ロジック情報中の条件文(その選択肢が選択可能となる条件を示す「If文」等の部分スクリプト等)で示される条件(例えば、「所持金>500GOLD」、「性別=男」など)を、その利用者の利用者データ(例えば、入力履歴や、所持金・体力(HitPoint等)や、あまり頻繁にかわらないその他の属性(性別、職業、事件における立場等))や、その利用者に関連する利用者データ(例えば、仮想世界でその利用者が結婚しようとしている相手の利用者データ(例えば、「性別=女」))や、コンテンツ全体としての利用者によらない共通のデータ(例えば、仮想世界が昼か夜かや、仮想世界の闘技場が空いているかどうかや、法令が施行されているかどうかや、サーバー(コンテンツ提供主装置)のリソースが空いているかどうかなど)が、満たしているかどうかをコンピュータが判断して決定することになる。
【0049】
また、あきらかに、現実の地域の情報や、学際的な知識を本発明により徐々におりこんで、全世界を舞台にしたアドベンチャーゲームや、法域にとらわれないエキスパートシステム等を構築したりすることも可能になる。

説明テキストのURLは、ジャバスクリプトを含むHTMLであることができ、そのHTMLで説明した状況に合うよう利用者データや一般データをそのジャバスクリプトにより直接、間接に更新することも可能である。また、製作者がHTMLなどのリソースを追加(投稿)すると同時にそのリソースに適した提供態様制御ロジック情報を、そのリソースに関連づけて記憶することもできる。
【0050】
また、本発明の請求項3は、
前記提供態様制御ロジック情報が、前記記憶手段中のデータをコンテンツ提供装置が更新するよう制御できるようにするロジック情報を含むこと
を特徴とする。
【0051】
定義4−1−2:ここで、「分散した又は分散しない記憶手段中のデータ」とは、コンテンツ提供装置によりアクセス可能なオブジェクト中の情報をいう。新規作成する場合のオブジェクトの情報も含む。
ここで、「更新」とは、CRUDのうちの、Create(新規作成)、Update(狭い意味での更新や追加も含む)、Delete(削除)だけでなく、Read+Update(変数のインクリメント(例えば「、Gold+=10;」など)のようなもの)なども含む意である。
【0052】
これにより、提供の範囲や順序を(直接記述して制御するわけではなく、間接的に制御するという意味で)左右するデータ(例えば、動的に更新可能な変数「所持金」等)を更新する制御ロジック(例えば、「Self.所持金−=700GOLD」※ここでSelfはプレイ中(サーバー等がコンテンツ提供を現在処理中の)利用者のオブジェクト(利用者データ)を表す。)をも、利用者が必要に応じて追加できるようになり、わずかなロジック情報のスクリプト(例えば「所持金+=1000GOLD」)の追加により、コンテンツ提供のいくつかの場面(例えば、「結婚式を挙げる」「我が家をもつ」)に影響を及ぼす可能性のある独立したインパクト(例えば、「お金に余裕が出てきた」(所持金>1300GOLD、になったこと))を、提供範囲の過多(例えば、金持ちになった瞬間に我が家についてのコンテンツ提供がなされる弊害)や提供順序の不適当(たとえば、結婚していないのに所帯用の住宅に関するコンテンツ提供がなされる弊害)等をきたすことなく簡潔に実現することができる。これは、たとえば、「選択肢A=”結婚式を挙げる”If(所持金>1300GOLD);then{所持金−=700GOLD;play_sound(”結婚式の鐘.wav”);goto_scene(背景となる教会画像のURL,背景の説明テキストのURL.BGMとなる音声のURL.移動直後に実行する制御スクリプトのURL);}」といった形のスクリプト等で表現できる。
変数の格納は、集合文字列形式(取得情報=「情報1:情報2:情報3」、友達=「みーちゃん:たま」、獲得アイテム=「鍵1:地図2」など)で行うことができる。
変数には利用者に関係なく変更になる共有変数があり、たくさんの利用者が行っている演出場面には一定数以上の利用者が入れないなどの制御もスクリプトレベルで可能となる。この場合変数の排他制御が当然行われる。
【0053】
また、本発明の請求項4は、
前記提供態様制御ロジック情報が、前記記憶手段中のデータをコンテンツ提供装置が参照してコンテンツ提供を制御できるようにするロジック情報を含むこと
を特徴とする。
【0054】
これは、たとえば、「If((仮想世界1.天気=晴れ or 仮想世界1.天気=くもり)and in(花火,Self.趣味)){add_scene(花火の画像URL,花火の説明テキストURL,花火の音声URL);」というスクリプトを追加することにより実現可能になる。なお、goto_sceneと異なり、add_sceneは移動直後に実行する制御スクリプトのURLは引数にもたず、条件にあった演出を追加するのみとなる。また上記「in」はコンテンツで事前定義した組込関数であり、値がリスト形式である「Self.趣味」のメンバーとして「花火」が含まれるかを検知している。
【0055】
こうした仕組みにより、世界観全体や現実世界をよりリアルに反映したコンテンツ提供を、複数人による非同期のスクリプト(コンテンツ提供を制御するロジック情報)追加により、徐々に実現していくことができる。
【0056】
また、主にコンテンツ提供主装置であるサーバーの記憶手段(HDD等)に格納された世界観(環境変数的な変数の使用(たとえば、「仮想世界1.星の形状=球」))のデータや、世界(コンテンツ全体)の一般変数としてのデータ(たとえば、仮想世界1.天気=雪)等)による場合分けと、上記したadd_sceneなどにおける引数の使用とにより、明らかにURL等で示されるリソース(画像、テキスト、音声、制御スクリプトも)の、他のシーンとの共用や流用も容易となり、あまり時間のない人等にとっても、一層手軽な、公の知(しかもWiki等より表現能力が高い形式)への貢献が可能となる。
【0057】
これにより、利用者の入力(例えば「神社Aに100GOLD寄付する」の選択)があったときに、追加された制御ロジック情報(「神社Aに100GOLD寄付する」;then{神社Aの所持金+=100GOLD;})が適用されて、他の利用者へのコンテンツ提供にも影響を与えるようにすること(たとえば、仮想世界で神社Aの防犯が強化されており、夜に密かにお参りすることができなくなるようにする等のゲーム制御等)ができるようになる。
【0058】
他の部分コンテンツ間では、ドメインが違っていてもデータの取り寄せが可能である。公知のセキュアなプロトコルを用いる。利用者ごとのデータを取り寄せる場合は、IDはドメイン名+ディレクトリ名+利用者名などでデータを特定する。これは、データ(変数など)を条件文で参照するだけでなく、HTMLのテンプレートなどのリソースの変数参照部分を、その変数値で埋めて出力することも含む。
例えばテンプレートが以下のような場合、

<HTML>

<BODY>

あなたが<% [http://knowrel.com/teyuka/lovestory1/user.present] %>を

プレゼントすると、彼女は大変喜びました。

</BODY>

</HTML>

変数であるuser.presentの変数値(例えば「指輪」)が参照されて、
---
あなたが指輪をプレゼントすると、彼女は大変喜びました。
---
というコンテンツ提供がなされる。
【0059】
変数値は、文字列だけでなく、画像ファイル等を参照するURL
(例えば、

<IMG SRC==”http://knowrel.com/lovelove1.jpg”>
なども代入することができ、この場合には、そのURLの画像がHTMLで
表示されることになる。
なお、演出スクリプト自体や演出文中でも変数(当該タイトルの変数&参照権のあるタイトルの変数)を参照できる
【0060】
また、本発明の請求項5は、
前記提供態様制御ロジック情報が、前記記憶手段中のデータをコンテンツ提供装置が参照して前記選択肢表示を制御できるようにするロジック情報を含むこと
を特徴とする。
【0061】
これは、例えば、変数Xが埋まった選択肢の表示を可能とする。
【0062】
また、選択肢を表示する条件がロジック情報中にあり、それをみたさない場合は選択肢自体を表示しないことも意味する。
【0063】
また、本発明の請求項6は、
前記提供態様制御ロジック情報が、前記記憶手段中のデータをコンテンツ提供装置が参照して前記記憶手段中の他のデータを更新するよう制御できるようにするロジック情報を含むこと
を特徴とする。
【0064】
これにより、例えばデータの物理的な依存関係の調整などを、利用者が行えるようになる。
【0065】
また、本発明の請求項7は、
前記更新されるよう制御するデータおよび又は参照されるよう制御するデータが、コンテンツ提供装置に入力した利用者に関連する前記記憶手段中のデータであること
を特徴とする。
【0066】
定義4−1−2−1:ここで、「コンテンツ提供装置に入力した利用者に関連するデータ」とは、オブジェクト中の、その利用者へのコンテンツ提供を現在問題にしている、コンテンツ提供装置にコンテンツ提供要求などを入力した利用者に関連するデータ(属性等)をいう。「利用者に関連するデータ(属性等)」とは、該入力した利用者のデータ(主に属性や所持アイテム等)の他に、該入力した利用者に応じた関係(友達、時間的・場所的隣接、その他の別途定義された関係等。再帰的な関係でつながる場合も含む)で決まる一又は複数の(場合によっては他の)利用者のデータ(主に属性や所持アイテム等)や、「利用者の」属性とはいえないデータ(例えば、該入力した利用者やその友達の「家の」属性、等)をも含む。
【0067】
定義4−1−2−1−1:「更新されるよう制御するデータおよび又は参照されるよう制御するデータ」とは、同一変数であるデータを参照のみする場合、更新のみする場合、参照し更新する場合、更新し参照する場合も、異なる変数であるデータを参照のみする場合、更新のみする場合、参照し更新する場合、更新し参照する場合も、含む。
【0068】
これにより、例えば利用者の腕力のデータに応じて、利用者が運んだ結果のデータを更新するといったロジックの追加を利用者が行えるようになる。
【0069】
また、本発明の請求項8は、
前記提供態様制御ロジック情報が、コンテンツ提供装置に入力した利用者に関連する前記記憶手段中のデータをコンテンツ提供装置が参照して該利用者に関連する他の利用者に関連するデータを更新するためのロジック情報を含むこと
を特徴とする。
【0070】
「入力した利用者に関連する他の利用者に関連するデータ」とは、入力した利用者に応じた関係(友達、時間的・場所的隣接、その他の別途定義された関係等。再帰的な関係でつながる場合も含む)で決まる一又は複数の他の利用者のデータ(主に属性や所持アイテム等)、および該他の利用者に応じた関係(同上)で決まるデータ(その利用者の属性や所持アイテムとは限らない)である。
【0071】
このような関係は、制御ロジックのスクリプトで、例えば、「選択肢B=”Xと友達になる”If(隣接(Self,X) And 好相性(Self,X));then{assert(友達関係(Self,X))}」等としておき、前記記憶手段に事前に友達関係を(PROLOGのassertと同様な手法等で)定義しておくことにより、あらゆるタイミングで友達関係にある集合の全体を特定することができる。なお、好相性かどうかは、利用者データを比較するコンテンツ固有の組込関数(予約語であり戻り値はBoolean)等により明らかに定義可能である。
【0072】
また、ある利用者データ(Selfオブジェクト)に対して上記If文中のXを満たす集合から上記選択肢Bを複数生成し、たとえば「選択肢B1=”a君と友達になる”、選択肢B2=”bさんと友達になる”、・・・」という選択肢集合を、(あるいは他の種類の選択肢と共に)利用者に同時に表示して、複数選択させ、友達関係を複数一括定義することも可能である。
【0073】
また、こうした情報をもとに入力した利用者の利用者データ(Selfオブジェクト)やその友達関係にある利用者データ(友達オブジェクト)に、利用者の言動がリアリティのある作用を及ぼすよう定義することが可能になり、利用者が分散環境を介して非同期で協働して、コンテンツを徐々に深めることが可能になる。例えば、”博物館に遊びにいく”という選択肢と、ロジック”{Self.所持金−=1GOLD;Self.見識+=3;友達関係(Self,X);X.見識+=1;}”とをひもづけたスクリプト「”博物館に遊びにいく”;then{Self.所持金−=1GOLD;Self.見識+=3;友達関係(Self,X);X.見識+=1;}」を追加することができる。この場合、”博物館に遊びにいく”という選択肢を入力した利用者の所持金が1GOLD減り、見識属性が3ポイント向上し、その友達(Xとなりうるすべての利用者オブジェクト)の見識属性が1ポイント向上する、という制御を、コンテンツに逐次的に追加することになる。なお、実装はPROLOGの実装を参考に行うことが可能である。
【0074】
これにより、例えばその利用者が持っている薬の多寡により、その利用者が回復コマンドにより回復できるHP(ヒットポイント)の度合いを制御できるロジック情報等を追加でき、利用者毎のより具体的な現実を、より精緻にを反映した世界観(動的な作用の記述を含むもの)をもちよって共有し、興味深く遊ぶことができるようになる。
【0075】
また、本発明の請求項9は、
前記提供態様制御ロジック情報が、該提供態様制御ロジック情報の製作者に関する情報と関連づけられて記憶され、利用者が採用した製作者に関する情報と関連づけられた提供態様制御ロジック情報のみをコンテンツ提供装置が参照して該利用者へのコンテンツ提供を行うこと
を特徴とする。
【0076】
ここで、「製作者」とは、提供態様制御ロジック情報を製作し本発明によるコンテンツ提供装置に追加した利用者、又は部分コンテンツとしてのタイトルを企画・制作・製作した個人もしくはチームである制作主体をいう。
【0077】
ここで、「製作者に関する情報」とは、例えば、提供態様制御ロジック情報を製作した製作者である利用者の名称(ドメイン名+利用者名)や、部分コンテンツ(物語や解決や論理)のタイトル名(例えば、「高島平のとあるスリリングな散歩A」、「板橋最強の弁護士軍団によるセクハラへの対処」等)や、その組み合わせ(ドメイン名+タイトル名+利用者名)であり、比較的一貫した物語・世界観・価値観・方針・論理等を保証するための識別情報(またはそのための表示)をいう。
【0078】
内部表現としては、製作者:利用者(例えば、knowrel.com/teyuka/user/keisukeで表現する)、物語(例えば、kank.jp/teyuka/story/takashimadaira_thrilling_walk_Aで表現する)、解決(例えば、vlank.com/teyuka/solution/best_lawyer_team_of_itabashi_for_sekuharaで表現する)は、ここで言う製作者になることができる。製作者が「入力した利用者」である場合には、自分の製作したロジック情報による制御を実施することになる。
【0079】
製作者に関する情報とは、例えば製作者の名称(ドメイン名+利用者名)や製作者に関連する部分コンテンツ(物語や解決や論理)のタイトル名(例えば、「高島平のとあるスリリングな散歩A」、「板橋最強の弁護士軍団によるセクハラへの対処」等)や、その組み合わせ(ドメイン名+タイトル名+担当利用者名)であり、一貫した物語・世界観・価値観・方針・論理等を保証するための表示。
提供態様制御ロジック情報の製作者に関する情報
【0080】
他のドメインのサーバーへの利用者データ(変数「所持金」などの変数値)の問い合わせは、公知のセキュアなプロトコルにより行う。その際、利用者IDは、利用者が最初に利用者登録したドメインの利用者URIなど(例えば、http://knowrel.com/teyuka/user/keisuke)となる。なお、パーミッション設定に即して、あるドメインが他のドメインからの問い合わせに応じないことができる。また別の実施形態では、各ドメインにおける各利用者のデータがXML形式で格納されており、HTTP等でオープンに参照できるようになっており、アクセス負荷を軽減している。この場合でも、更新については、XMLを格納するドメインによるパーミッションが必要であり、ドメインのTEYUKAサーバープログラムが更新を行う。
【0081】
この発明は、製作者を複数選択することも含む。例えば、任意のゲーム状態で製作者を選択さえすれば適用可能になる提供態様制御ロジック情報集合の製作者のリストを画面左にチェックボックスとして用意し、選択(場合によっては有償選択)を促すとともに、チェックした(すなわち選択した)製作者に係る提供態様制御ロジックを以降、採用する(参照する)ようにすることができる。

【0082】
製作者は、例えば、インターネットドメイン/[+[物語名/+[編集者名]]]として表現することができる。例えば、http://teyuka.jp/oboemon_story/yoshimiとして製作者を表現できる。
【0083】
また、本発明の請求項10は、
前記提供態様制御ロジック情報が、該提供態様制御ロジック情報の製作者に関する情報と関連づけられて記憶され、コンテンツ提供装置が、前記利用者への選択肢表示の際に、該選択肢に対応する提供態様制御ロジック情報に関連づけられた製作者に関する情報から得られる情報を示すこと
を特徴とする。
【0084】
複数の製作者が選択される場合、選択肢として表現されうる内容が重なることが考えられるが、この場合には、ゲームプレー時やシステム問合せ時に一つの選択肢としてまとめて表示することもできる。
【0085】
利用者への選択肢表示の際に、該選択肢に対応する提供態様制御ロジック情報に関連づけられた製作者に関する情報から得られる情報を示す。
【0086】
例えば、選択試を以下のように示す。


1.お金をくださいと頼む(物語A)

2.お金をくださいと頼む(物語B)

3.品物を売ってお金にする(物語B)

【0087】
なお、個々の部分コンテンツ(物語や解法など)へ(有料又は無料で)アクセスする(これを以降、「加入」と呼ぶ)かどうかを利用者に選択させることもでき、その場合には、加入した部分コンテンツの一覧を画面の左のフレームにリスト形式で表示し、現在のゲーム状態(シーン)や法的な状況設定(入力履歴に対応するもの)からその加入によってさらに選択肢がひろがりうる部分コンテンツのリストもさらに加入済リストの下部に表示して、加入を促したりすることができる。また、加入しているか否かにかかわらずにすべての部分コンテンツの選択肢を表示し、選択によって加入を広げるようにすることができる。また、加入済部分コンテンツのリストのメンバーのチェックボックスをはずすことにより、利用者が加入を解除したりできるようにすることも可能である。また、左のリストのメンバーの順番を入れ替えられるようにすることもでき、この順序によって、選択肢が競合した場合に優先的に実施(すなわちロジック情報の解釈よび実行)するロジック情報の順序(すなわち、例えばゲームの遷移方向の優先順序や適用を検討する法域等の優先順序)を決定したり、選択肢を優先的に表示するロジック情報の優先順位を決定したりするようにすることもできる。
【0088】
ゲーム利用者には、プレイ選択権があり、遊ぶタイトルの範囲を事前に又は随時選択したり、シナリオスクリプトのオープンリージョンに書かれた選択肢のうち条件充足済の選択肢を優先的に表示したり優先的に適用したりするタイトルの順序を選択できるプレイプレファレンス権がある。また、オープンリージョンについて、一般投稿者(=利用者ー)への優先順位をつけたりブラックリストに載せた投稿者の追加文は実行しないようにすることができる。
【0089】
また、本発明の請求項11は、
前記提供態様制御ロジック情報が、該提供態様制御ロジック情報の製作者に関する情報と関連づけられて記憶され、利用者へのコンテンツ提供に適用された提供態様制御ロジック情報に関連づけられた製作者に関する情報に応じて該利用者への以降のコンテンツ提供を制御する提供態様制御ロジック情報を決定すること、
を特徴とする。

【0090】
ここで、「利用者へのコンテンツ提供に適用された提供態様制御ロジック情報に関連づけられた製作者に関する情報に応じて該利用者への以降のコンテンツ提供を制御する提供態様制御ロジック情報を決定する」とは、1)その利用者へのコンテンツ提供を、過去に最も多く制御した製作者の提供態様制御ロジック情報のみを採用したり、2)過去に制御したすべての製作者の提供態様制御ロジック情報をなるべく多く採用したり、3)提供態様制御ロジック情報による制御に矛盾が生じた場合や多重制御を省略する場合に過去に(その利用者への又は全利用者への)コンテンツ提供をより多く制御した製作者の提供態様制御ロジック情報を優先したり、4)時間的に新しく(その利用者への又は全利用者への)コンテンツ提供の制御に貢献した製作者の重みを重くして適用する提供態様制御ロジック情報(製作者にひもづいている)の優先順位を決定したりすることを意味する。
【0091】
また、本発明の請求項12は、
前記利用者製提供態様制御ロジック情報追加手段が、前記提供態様制御ロジック情報を、前記記憶手段中のリソースにトリガ対象として関連づけて追加することと、
該リソースの提供の際に、該リソースと関連づけて追加された提供態様制御ロジック情報をトリガするリソース提供時トリガ手段を有すること
を特徴とする。
【0092】
ここで、「前記データ又は前記利用者データが、どの製作者が宣言したデータかを判別できるような形式」とは、例えば、変数「おぼえもんの最愛の人物」の値を記憶するXMLファイルが、サーバーhttp://teyuka.jp/の、/oboemon_story/物語の、yoshimi担当製作者フォルダに記憶されていること等をいい、製作者のカテゴリは、「サーバー>物語>その物語の担当製作者」等と階層化されていてもよい。
【0093】

ここで、「どの製作者の提供態様制御ロジック情報がどの製作者が宣言したデータを参照、更新、追加、削除又はこれらの組合せ操作できるかを定義する製作者間パーミッション情報」とは、例えば、パーミッション設定ファイル(robot.txtのようなもの)で実現することができ、例えば、各HTTPサーバーのドキュメントルートや階層的なサブフォルダ(物語>部分物語>部分物語の担当製作者1など)毎に、どの製作者製の提供態様制御ロジック情報からの参照/更新/追加/削除を許すかを、製作者単位で、あるいは物語単位で、あるいは物語が帰属するサーバー単位で記述したパーミッション設定ファイル(XML)を配置することで実現できる。
【0094】

例えば、http://teyuka.jp/oboemon_story/access.xmlには、以下のように記述されており、oboemon_story中の共通データ及び利用者データ(実際には別のXMLファイルやRDBに格納されている)が、http://knowrel.com/kabemaru_story/のすべての担当製作者から参照可能であり、http://vlank.com/vlank_story/joshidaisei/という担当製作者からは参照および更新が可能であり、http://youest.com/の全ての物語のすべての担当製作者から参照・追加・削除可能であり、それ以外の製作者からはアクセス可能でないことを示している。

----------------------------------------------------------------


http://knowrel.com/kabemaru_story/
read


http://vlank.com/vlank_story/joshidaisei/
read,modify


http://youest.com/
read,add,delete

deny

----------------------------------------------------------------
【0095】
なお、一部の製作者(以下の例ではspam.comの全部の物語の全部の製作者)製の提供態様制御ロジック情報からのアクセス制御のみを行い、原則アクセス可とするときは、以下のようになる。

----------------------------------------------------------------


http://spam.com/
read,modify,add,delete

allow

----------------------------------------------------------------
【0096】
なお、同じサーバー内や同じ物語内を指定するときは、相対アドレス(../story_oboemon2/)などを指定することも可能であり、本発明の趣旨から、同じサーバー内の物語間ではデータが相互参照可能であるとすることもできる。
【0097】
リソースを一度に複数提供する場合は、各リソースに関連づけられたすべての提供態様制御ロジック情報を一斉に(ただし、内部的には順次)トリガすることもでき、選択肢表示の形式で利用者が選択する必要のある場合には、選択する必要のない提供態様制御ロジック情報をすべて適用した後に、すべてのリソースに関連づけられたすべての選択肢を一度に表示して選択の対象とすることができる。なお、選択する必要のない複数の提供態様制御ロジック情報を一斉トリガする場合を想定してトリガの優先順位を提供態様制御ロジック情報に付記するようにしたり、選択肢選択後も他の選択肢を選択可能なようにしたりすること(例えば、物語におけるシーンの移動やや解決のステップや論理の推進の制御を含まない提供態様制御ロジック情報をトリガするなど)もできる。
【0098】
リソースとは、ドメイン、ドメイン内のディレクトリ(製作者=利用者、物語、解決、論理)、ドメイン内のディレクトリ内の主コンテンツファイル(ノードとも呼び、例えば、HTML形式やXML形式でよく、さらにそれらの中に変数などを埋め込んだテンプレート形式でもよい)・画像ファイル・音声ファイル・動画ファイル・一般データや利用者データを記憶するための変数名定義ファイル・既登録の提供態様制御ロジック情報自体など。
【0099】
動的なリソースとは、一般データや利用者データとしての変数の値、又は変数を組み合わせた変数の組中の各変数値の範囲の組(例えば{金:50以上100以下,体力:30以下又は60以上,現在の場所:街角銀行}など)。
【0100】
ドメイン内とは、物語間、解決間、論理間などのコンテンツ共有をいう。異なるカテゴリ間(例えば物語と解決の間)のコンテンツ共有も(しかも、画像や音声だけでなくテキストも)ありうる。
【0101】
なお、リソースに関連づけられていないロジック情報は常に評価される。
【0102】
また、本発明の請求項13は、
製作者が、該製作者が製作したものとして記憶されたリソースにトリガ対象として関連づけられる、別の製作者製の提供態様制御ロジック情報の追加を、製作者ごとおよび又は該別の製作者ごとに制御できるようにした製作者毎ロジック情報追加制御手段を有すること
を特徴とする。
【0103】
ここで「製作者ごと」とは、製作者が各自の都合で製作対象リソースに(製作リソース全体又は個別リソース毎に)対し一律の又は各別製作者に応じたパーミッションを設定できることをいい、「別製作者ごと」とは、一律に又はリソースの製作者の都合で(製作リソース全体又は個別リソース毎に)各別製作者へのパーミッションを設定できることをいい、「製作者ごとおよび該別の製作者ごと」とは、製作者が各自の都合で製作対象リソースに(製作リソース全体又は個別リソース毎に)対し各別製作者に応じたパーミッションを設定できることをいう。
【0104】
これはリソースごとに設定することができる。
【0105】
また別の製作者とは、ドメイン単位であってもよく、カテゴリ単位であってもよく、物語等の担当製作者単位であってもよい。
【0106】
ゲーム名の識別は番号又はFQDN(URI)で管理できる。
一般利用者にパーミッションしたときは、一般利用者が、当該ゲームタイトルおよびパーミッションされた外部ゲームタイトルの変数などをつかったスクリプトを定義でき、その移動先はディレクトリに含まれる当該発明に係るゲームだけにとどまらず、一般のHPへのジャンプや一般の曲の開始のトリガページへのサブルーチンコールであってもよい。広告を表示するトリガであってもよい。一定の文体に統一された雑応答用サブルーチン専門サイトへのサブルーチンコールがあってもよい。サブルーチンコールには参照渡しでタイトル内変数やタイトル外変数を渡すことができ、サブルーチンによる参照および更新の対象となりうる。声や効果音だけの投稿、実写だけの投稿、用語説明や解説だけの投稿もありうる。一般人の投稿に優先順位をつけるのは難しいのでランダムとすることもできる。
【0107】
また、本発明の請求項14は、
製作者が、該製作者が製作したものとして記憶されたリソースにトリガ対象として関連づけられた提供態様制御ロジック情報からの、所定の製作者製のリソースの利用を制御できるようにした別製作者リソース利用制御手段を有すること
を特徴とする。
【0108】
別の製作者製のリソースの利用を制御:製作者の固有リソースへの提供態様制御ロジック情報の追加を原則として許したとしても、不良とわかっている別の製作者に固有のリソースや不良とわかっているリソースの提供制御(利用)をしたり、不良とわかっている別の製作者製の提供態様制御ロジック情報や不良とわかっている提供態様制御ロジック情報を直後実施したりするような、あやしいとわかっている提供態様制御ロジック情報の一部又は全部の制御を無効にする、というものである。
【0109】
また、本発明の請求項15は、
製作者が、該製作者を採用した利用者からの、所定の別の製作者が製作したものとして記憶されたリソース自体の利用および又は該リソースにトリガ対象として関連づけられた提供態様制御ロジック情報の利用を制御できるようにした別製作者リソース関連ロジック情報利用制御手段を有すること
を特徴とする。
【0110】
ここで「所定の別の製作者が製作したものとして記憶されたリソース自体」には、所定の別の製作者が製作したものとして記憶された提供態様制御ロジック情報(が格納されたファイルやデータ構造)自体も含むことに留意されたい。
【0111】
ここで、所定の別の製作者の固有のリソースに関連づけられた提供態様制御ロジック情報とは、不良とわかっている別の製作者に固有のリソースに関連づけられた提供態様制御ロジック情報や不良とわかっているリソースに関連づけられた提供態様制御ロジック情報
【0112】
また、本発明の請求項16は、
前記データ又は前記利用者データが、どの製作者が宣言したデータかを判別できるような形式で前記記憶手段に記憶されていることと、
どのリソースにトリガ対象として関連づけられた提供態様制御ロジック情報がどの製作者が宣言したデータを参照、更新、追加、削除又はこれらの組合せ操作できるかを定義するリソース対データパーミッション情報が前記記憶手段に記憶されていることと、
該リソース対データパーミッション情報に応じて、コンテンツ提供装置が、各リソースに関連づけられた提供態様制御ロジック情報からの、各製作者が宣言したデータへのアクセス制御を行うこと、
を特徴とする。
【0113】
ここで、「リソース対データパーミッション情報」は、リソースの個々のIDやファイル名によるパーミッションだけでなく、リソースの別の属性(例えば、リソースを製作した者として記憶された製作者、リソースのバイトサイズ、出力画面領域サイズ、出力時間等)によるパーミッションも定義することができる。
すなわち、へんなリソースに関連づけられたロジック情報からのデータアクセスを認めないというものである。
【0114】
提供態様制御ロジック情報を追加するリソースは、そのリソースに関連づけられた提供態様制御ロジック情報からのアクセス制御パーミッションの設定単位とすることもできる。これにより、例えば特定の不良リソースがトリガとなり物語を左右すること等を制御し、多面的で記述量の節約可能なパーミッション設定が可能になる。
【0115】
ちなみに、その前段階の制御として、提供態様制御ロジック情報により提供制御(利用)するリソースの所属ドメインや所属物語等をさらにパーミッション設定の単位とし、いわば「コントロールの飛先を制御」することで、さらに多面的で記述量の節約可能なパーミッション設定ができるようになる。
【0116】
また、本発明の請求項17は、
前記提供態様制御ロジック情報が、該提供態様制御ロジック情報の製作者に関する情報と関連づけられて記憶されていることと、
前記データ又は前記利用者データが、どの製作者が宣言したデータかを判別できるような形式で前記記憶手段に記憶されていることと、
どの製作者製の提供態様制御ロジック情報がどの製作者が宣言したデータを参照、更新、追加、削除又はこれらの組合せ操作できるかを定義する製作者間データパーミッション情報が前記記憶手段に記憶されていることと、
該製作者間パーミッション情報に応じて、コンテンツ提供装置が、各提供態様制御ロジック情報からの、各製作者が宣言したデータへのアクセス制御を行うこと、
を特徴とする。
【0117】
各提供態様制御ロジック情報からの、各製作者が宣言したデータへのアクセス制御を行う。
【0118】
ここで「各製作者が宣言したデータへのアクセス制御」とは、ドメイン製の提供態様制御ロジック情報からの一括アクセス制御、ドメイン×製作者(利用者/物語/解決/論理)製の提供態様制御ロジック情報からの個別アクセス制御が可能である。ここで、利用者と物語等を同様に説明しているが、製作者に関する情報が、「ドメイン名+タイトル名+担当利用者名」となっている場合、パーミッションを3階層に渡って設定することが可能である。例えば、「ドメインA(によって追加された提供態様制御ロジック情報)からの更新は認めないが、ドメインAのタイトルB(によって追加された提供態様制御ロジック情報)からの更新は例外的に認め、さらにその例外としてドメインAのタイトルBの担当利用者C(によって追加された提供態様制御ロジック情報)からの更新は例外的に認めない、といったパーミッション設定である。
【0119】
ここで、「各製作者が宣言したデータ」は、ドメインの共有データとして宣言したデータ(一般データ、利用者データ、リソースを含む)や、ドメインの製作者(利用者/物語/解決/論理)に宣言したデータ(一般データ、利用者データ、リソースを含む)を言う。
【0120】
パーミッション制御は、1)誰が制御するか、2)誰のアクセスを制御するか、3)どこへのアクセスを制御するか、4)どこからのアクセスを制御するか、5)どういう種類のアクセスを制御するか、6)何によって制御するか、という観点で整理できるが、この請求項の場合、1)製作者、2)他の製作者や一般利用者、3)製作者のドメイン固有のデータ(一般データ、利用者データ、リソース)やそのドメインの製作者が製作したものとして関連づけられたデータ(一般データ、利用者データ、リソース)、4)提供態様制御ロジック情報(に制御されているコンテンツ提供装置)、5)参照(提供制御(利用)も含む)、更新、追加(提供態様制御ロジック情報の追加は含まないものとすることができる)、削除又はこれらの組み合わせ、6)提供態様制御ロジック情報の製作者(や、物語等や、所属ドメイン)が誰か(/何/どこか)、となる。
【0121】
データを利用させない、はいってこさせないというものである
【0122】
なお、このパーミッションのリストは、複数の提供態様制御ロジック情報が競合したときに、どの製作者の提供態様制御ロジックを優先させるか(あるいは実施する唯一のロジックとして選択するか)を、他人の提供態様制御ロジックを付加されるデータやリソースを管理する側である製作者サイドの嗜好(プレファレンス)として決定するためにも用いることができる。なお、この嗜好は、製作者のドメインごと、ドメインの物語等ごと、物語で使うリソース等ごとに設定することができる。
【0123】
以下、ゲームの内容の編集権と選択権権についても議論をする。
【0124】
どのサイトがあるいはどのタイトルが、どのサイトをあるいはどのタイトルに対しパーミッションを与えているかどうかは、各サイトの所定のURL(http://ooo.ooo.com/wv/permission.html)を参照すれば明らかになる。パーミットしているサイトからパーミットされているかどうかは、相手のサイトの同じ/wv/permissionをみて判断することになる。
【0125】
すなわち、ゲームの内容の参照権、追加権(参加トリガ+影響トリガ)、編集権と参加権、および対応するパーミッション権、優先表示プレファレンス権、優先適用プレファレンス権と、プレイ選択権およびプレイプレファレンス権、およびこれらに応じた専用インターフェースを備える。
【0126】
制作会社には、ゲームxの設計時に他のゲームyの変数(プレイログ、クリアステージ集合、属性値集合、アイテム集合)の辞書(変数名と変数の型(どんな値が代入されうるか))を参照できるという参照権だけでなく、ゲームxの設計時に他のゲームyのシナリオスクリプト(のオープンリージョン)にゲームxへの参加トリガ(制御がゲームxに移行し、リターンで戻ること)やゲームxへの影響トリガ(ゲームxの変数の値を変えること)を追加できる追加権や、ゲームxのプレイ時に他のゲームyの変数を書き換えたりする編集権があり、参照を受けたり追加を受けたり編集を受けたりするゲームタイトルの制作会社は、それらを受けるゲームタイトルごとに、あるいはその制作会社のすべてのゲームタイトルについて一括して、それらを受けるかどうかのパーミッションを、権限を行使する側の別の制作会社ごとあるいは権限を行使するゲームタイトルごとに又は一括して設定したり、設定した上でそれらの優先順位を設定したり、他のゲームによって追加されたスクリプトを無効化したり削除したり、他人によって追加されたスクリプトの文を自分の所有文として、文(ルール)単位の優先順位設定が可能な領域へコピーして格上げすることも可能である。
【0127】
本発明の請求項18は、
利用者に、他の製作者が宣言した変数名および又はファイル名を開示して、該利用者製の提供態様制御ロジック情報において、該他の製作者が宣言した変数名および又はファイル名によるデータアクセスを利用可能にする他製作者製データ開示手段を備えること
を特徴とする。
【0128】
ここで「他の製作者が宣言した」とは、一般のプログラミング言語において、そのモジュールの製造を担当するプログラマーが行う変数宣言、関数宣言、サブルーチン宣言や使用リソースの宣言等と同様の意味である。宣言のスコープは、別の修飾子(ドメインやフォルダ名)等と組み合わせて定義し、解釈する。
【0129】
ここで「変数名および又はファイル名」とは、「ファイル名」が、提供態様制御ロジック情報を格納したファイルのファイル名でありその内容が単一の提供態様制御ロジック情報である場合や、ファイルに複数の提供態様ロジック情報を含んでおり、「ファイル名」がそのファイル中の特定のロジック情報の識別子を含んでおりその実体が識別子に対応する提供態様制御ロジック情報である場合(例えば、「logic_set1.html#logic1等」)も含む。
【0130】
したがって、「変数名および又はファイル名によるデータアクセス」とは、提供態様制御ロジック情報を格納したファイル中の唯一の/特定の/全部の提供態様制御ロジック情報に対するアクセスである場合も含む。
【0131】
例えば、製作者による設計中/プレイ中に他の製作者製のノード名(URI)も表示されて、流用/共有の対象となる
【0132】
本発明の請求項19は、
前記他製作者製データ開示手段が、利用者に、該利用者へのコンテンツ提供のためにコンテンツ提供装置が過去にアクセスした変数名および又はファイル名を開示して該利用者製の提供態様制御ロジック情報において該変数名および又はファイル名によるデータアクセスを利用可能にすること
を特徴とする。
【0133】
ここで「変数名および又はファイル名」の解釈は上記したとおりである。
【0134】
本発明の請求項20は、
利用者以外の製作者が製作した提供態様制御ロジック情報が該利用者に提供制御したリソースを、該利用者に開示して該利用者製の提供態様制御ロジック情報において利用可能にする提供済リソース開示手段を備えること
を特徴とする。
【0135】
ここで、「提供制御した」とは、中身や値を参照して提供したものだけでなく、中身や値を変更したものや、プログラムやスクリプトとして起動したものを含む。
【0136】
ここで「リソース」の定義は、上記したとおり、コンテンツ提供装置によりアクセス可能なすべてのオブジェクトであり、大体「変数名および又はファイル名」の範囲と同じだが、固定プログラム(オペレーティングシステムのカーネルやカーネルに近いプログラム(シェル等)、一般的なツール(wc,diff,sendmail等)、Perl/PHP/JAVA(登録商標)解釈系および本発明を実施するカーネルプログラム(例えばCGI形式等)、等)までも含む点が異なる。
【0137】
ここで、他のゲームからの参照を許すために、変数(ノード名も含むノード履歴)を公開することになるが、その変数までの道のりをクリアしたものだけに公開するようにしてもよく、その変数名は利用者(他のゲームタイトル開発者も含む)ごとに異なる名前をつけるようにすることもできる。
【0138】
また、一つの現象に対する効果が二重に定義されて、倍の効果が発生することを防ぐため、ロジック情報自体をHTMLで記述するようにし、ロジック情報の投稿可能な権限をもつ者から参照可能にする。
【0139】
本発明の請求項21は、
前記提供態様制御ロジック情報が、所定の条件を充たす利用者に対してのみ所定の提供制御をするための制御条件部を有することと、
前記利用者製提供態様制御ロジック情報追加手段が、提供態様制御ロジック情報の制御条件部に、該提供態様制御ロジック情報を追加しようとしている利用者の利用者データから得られる条件を自動的に挿入すること
を特徴とする。
【0140】
ここで、「条件を充たす利用者」とは、例えば、お金が50以上の利用者や、年齢が20以上の利用者をいう。
【0141】
こじで、「所定の提供制御」とは、例えば、「家を買う」という選択肢の表示や、「酒を飲んだ」という結果の表示。
【0142】
該提供態様制御ロジック情報を追加しようとしている利用者の利用者データから得られる条件:例えば利用者が数々の試練を乗り越えて本発明によるゲームの経験値が52になっている場合は、「経験値>50」という条件を自動挿入した「If(経験値>50)Then”高度な呪文を使って逃れた”」という提供態様制御ロジック情報を生成することなどである。52という数字から50以上という条件を適当な一定のアルゴリズムにより自動的に抽出している。
【0143】
用途として、これは、利用者がゲームのプレイ中にも提供態様制御ロジック情報を追加できることになり、それはゲームでまさに直面している課題や環境を反映したものとすることができ、課題や環境に対する新しい解決策やその予想される結果を効率的に登録して、ゲームのシナリオとしてのアイディア網羅性を効率的に高めることができる。
【0144】
また、実装として、適当な一定のアルゴリズムにより自動抽出された条件をデフォルト条件として、その提供態様制御ロジック情報を追加する利用者が、そのデフォルト値から微調整できるようにすることもできる。
【0145】
自分の履歴中の通過ノード、アイテム、属性値の集合をデフォルトの条件部として自動的に表示し、その中から必須の条件を追加者が抽出してそれぞれの閾値(例えば金貨の最低所有額)も調整できるようにし、その結果をコマンド表示の条件又はコマンド受理の条件とできるようにする。ただし、参照した変数を有するゲームタイトルへの参照がパーミッションにないときは、ワーニングがでて、パーミッションが出るまでは、無効なコマンドの追加となる。
【0146】
本発明の請求項22は、
従前の提供態様制御ロジック情報では定義されていない利用者入力に対する制御を追加できること
を特徴とする。
【0147】
ここで、「従前の提供態様制御ロジック情報では定義されていない利用者入力」とは、例えば、コンテンツ提供装置が部分コンテンツとしてインターネットアドベンチャーゲームを提供している場合、最初の制作者が想定している主人公の動作(例えば、「ドアを開ける」、「ノックする」)以外の動作(例えば、「ひらけゴマ、という」)であり、部分コンテンツとして法律診断エキスパートシステムを提供している場合、最初の制作者が想定している事件態様(例えば、「好きになった相手が15歳だが結婚したい」)以外の相談者の事件態様(例えば、「自分の飼っているペットに財産を与えたい」)等である。なお、制御条件部(IF文等)を含む場合は、条件が同一である場合にのみ定義済みとみなす、ようにすることも本発明に含める。
【0148】
なお、同じ利用者入力に対する制御であるときは、選択肢の表示上は、集約することができる。その場合、複数の製作者をリスト形式で集約することができる。
【0149】
制御については、従前の提供態様制御ロジック情報では定義されている制御も追加できるが、同一の制御を二重におこなわないようにすることもができる。二重に行うかどうかを提供態様制御ロジック情報中で区別するようにすることができる。
【0150】
また、本発明の請求項23は、
分散した又は分散しない記憶手段に蓄積したコンテンツをコンピュータ制御によりインターネットを介して又は介さずに利用者に提供するコンテンツ提供装置を利用したコンテンツ提供方法であって、
コンテンツ提供装置が利用者からの入力に応じてコンテンツの提供態様(提供範囲又は提供順序の少なくとも一方を含む提供態様)を制御するロジック情報である提供態様制御ロジック情報を、利用者が分散した又は分散しない記憶手段に追加できるステップを備えること
を特徴とするコンテンツ提供方法を提供する。
【0151】
また、本発明の請求項24は、
分散した又は分散しない記憶手段に蓄積したコンテンツをコンピュータ制御によりインターネットを介して又は介さずに利用者に提供するコンテンツ提供装置を動作させるためのコンピュータプログラムであって、
コンテンツ提供装置が利用者からの入力に応じてコンテンツの提供態様(提供範囲又は提供順序の少なくとも一方を含む提供態様)を制御するロジック情報である提供態様制御ロジック情報を、利用者が分散した又は分散しない記憶手段に追加できる制御をコンピュータに実施させること
を特徴とするコンピュータプログラムを提供する。
【発明の効果】
【0152】
請求項1、23または24の発明等によれば、利用者からの連続的な複数回の入力(又は一回の複雑な入力)やこれに応じた利用者への連続的なコンテンツ提供を伴うような大規模なアドベンチャーゲームやエキスパートシステムや学習ナビゲーションシステムを、分散環境やインターネットで複数利用者が協働して作ることが、容易になる。
【0153】
請求項2の発明等によれば、コンテンツの幅や深さを「入力選択肢追加」という簡単な形式により利用者なら誰でも拡張可能であり、利用者層の想像する入力範囲やアイディアを網羅的にカバーするのに有利である。
【0154】
請求項3の発明等によれば、利用者入力が文脈に与える影響などを保存可能にして、その影響を将来のコンテンツ提供へ繰り越したり、処理を先延ばしにしたりすることができ、さらには、演出等の起動条件を具体的な文脈自体から切り離して整理することも可能になる。
【0155】
請求項4の発明等によれば、繰り越されている影響を顕在化することができ、より具体性があり、利用者毎に詳細にカスタマイズされ、利用者ニーズ(TPO等)に適合したコンテンツ提供が可能になる。また、例えば、「あなたの年齢では今年、結婚可能です」とせずに、{利用者名=中村,今年=2007年}というデータをもとに、「中村さんの年齢では、2007年現在、結婚可能です。」などと表示して、臨場感をもたせることも可能になる。
【0156】
請求項5の発明等によれば、選択肢を選択可能な条件(例えば、変数「おにぎりがある」=True)を、データが充たしているかどうかをもとに、可能な選択肢(条件を充たしている選択肢)のみを表示したり、選択肢(例えば、「目の前のXを食べる」)中の変数部分(X)をその変数値に対応するデータの中身(例えば、「おにぎり」)で埋めた選択肢(「目の前のおにぎりを食べる」)を表示したりして、選択肢の表現能力を高め、選択肢に対する関心を高めることが可能になる。
【0157】
請求項6の発明等によれば、複数のロジック(プログラムモジュールとして分離されていること)等により入力による影響の波及を分担することができ、制御記述/制御処理の効率化とロジックのメンテナンスの容易化(分離可能性、再利用性など)をもたらす。
【0158】
請求項7の発明等によれば、利用者毎の文脈の保存と繰越、繰り越された文脈の顕在化(文脈に応じたコンテンツ提供)が可能になり、利用者毎によりカスタマイズされた具体的なコンテンツ提供を(場合によっては、時間を隔てても一貫して)行うことが可能になる。
【0159】
請求項8の発明等によれば、他の利用者との直接・間接の相互作用(場合によっては、コミュニケーション)が可能となり、コンテンツの魅力、多様性、意外性、更新性が高まる。
【0160】
請求項9の発明等によれば、コンテンツのストリーや理論やナビゲーションのやチュートリアルの矛盾を少なくし、スパムの影響も少なくできる。また、利用者の嗜好にあったコンテンツのみに触れすくなる。
【0161】
請求項10の発明等によれば、利用者による製作者への評価に応じて好みの製作者による選択肢のみを採用したり、利用者が自主的に一貫したコンテンツ提供(世界観、志向、嗜好、理論や前提の一貫性など)を受けられるよう、ある程度コントロールすることを可能にする。
【0162】
請求項11の発明等によれば、利用者入力により、動的に(効率的に)、どの一貫した世界観等を採用するかを決定することができるようになる。
【0163】
請求項12の発明等によれば、制御ロジックを、それを必要とする文脈と関連の深い、適切な粒度の適切な範囲(例えば、指定フォルダの(全サブフォルダの)全ファイルや、その個々の画像ファイル・HTMLファイル・音声ファイル、等)に手軽にひもづけて必要なタイミングで作用(実行)させることが可能になる。
【0164】
請求項13の発明等によれば、製作者単位で、質の良い自分のコンテンツを、質の悪いコンテンツやスパムから隔離したり、自分のリソースの利用者が嗜好や世界観の全く違うコンテンツに迷い込まないようにすることができ、製作者の志向するコンテンツの雰囲気や質を守ることができる。
【0165】
請求項14の発明等によれば、製作者が、より徹底して、質の悪いコンテンツや嗜好等の違うコンテンツに利用者が迷いこまないようにすることができ、コンテンツの雰囲気や質をより徹底して守ることができる。
【0166】
請求項15の発明等によれば、製作者が、より簡潔に手軽に、嗜好等の違うコンテンツとの融合を排除して、自分のコンテンツの雰囲気や質を守ることができる。
【0167】
請求項16の発明等によれば、リソースとデータを介したコンテンツ連携の選好、選択が可能になる。すなわち、一方で、データ(変数など)の製作者による、そのデータに作用するリソースの選別、そのデータが(間接的に)影響を与えるリソースの選別を可能にする。また、一方で、リソース製作者や管理者による、誰のデータにそのリソースを利用させるか(リソース利用トリガによる制御ロジックの影響等を享受させるか)というビジネス的/志向的な選好が可能になる。
【0168】
請求項17の発明等によれば、(利用者を含む)製作者間による、データ(変数など)を介した連携の、ビジネス的もしくは志向的な選好・選択・制御等が可能となる。
【0169】
請求項18の発明等によれば、追加しようとするロジックにおいて、他の製作者が宣言/定義した変数やファイルを、参照/更新して流用することが容易になる。
【0170】
請求項19の発明等によれば、正当にコンテンツを楽しんだ(/前提を理解した/教わる準備ができた)利用者(兼製作者)にのみ流用を可能とすることにより、スパマーによる無作為なスパムを抑制することが可能になる。
【0171】
請求項20の発明等によれば、データだけでなく、演出用の(場合によってはオリジナルの)固定プログラムファイルなども、正当な利用者が流用することを可能とする。
【0172】
請求項21の発明等によれば、利用者の直面している文脈を(暗黙の)条件として、例えばロジック追加時にデフォルトとしてコピーして提示することにより、利用者がそのロジックにおいて追加しようと発想したイベントや演出や結果や結論等が、全く見当違いの/無関係の文脈において、むやみに/必然性を伴わずに、他の利用者等に提供されるのを防ぐことができる。
【0173】
請求項22の発明等によれば、幅広い利用者入力(行動/質問/判断/等)への適切な/網羅的な対応が可能になる。また、利用者による早期の選択肢投稿等を促進することが可能になる。
【発明を実施するための最良の形態】
【0174】
本発明を、一般的なWEBサーバー、C言語製CGI、HTML、XML、クッキー認証技術を用いて実現した。
【実施例1】
【0175】
図1は、本発明の一実施形態のコンテンツ提供装置の全体構成を示した説明図である。
1は、本発明のコンテンツ提供装置の本実施例における全体構成である。
2は、インターネットである。
3は、本実施例のコンテンツ提供装置の中心を構成する中央管理サイトKである。この管理サイトは、本発明によるCGM的な数学教育(ナビゲーション)コンテンツも提供しており、ナビゲーションの精度や網羅性が、本発明により、日々向上している。また、コンテンツ連携を促進するため、利用者登録、利用者認証、管理者登録、投稿者登録、利用者登録を集中して行い、サイト間の認証などの手続きを簡素化している。

4A、4B、4Cは、各種のコンテンツを提供するサイトである(ただし、本発明によりコンテンツの連携がされている)。4Aは板橋区の実写映像を駆使したアドベンチャーゲームを運営しており、利用者から、板橋区の実写・音声・説明テキスト等のリソースだけでなく、ロジック情報も募集しており、利用者の多くの行動アイディア等がスクリプト(ロジック情報)として投稿され、その行動の結果としての演出や場面移動が4Aのサーバーで実行されている。場面の移動では、サイト4Bの練馬区の実写映像場面への移動がロジック情報に定義されている場合もあり、同様の移動を繰り返すことにより日本中・世界中を舞台とした大規模なアドベンチャーゲームが世界中の人々のサーバー運営や投稿によって構築される。サイト4Bではカテゴリを変えた法律診断のコンテンツも運営している。この法律診断コンテンツでは、利用者が問題となっている紛争などの情報を入力するたびに、利用者データ(利用者に固有の変数)が遷移し、適切なアドバイスや判断を示す説明テキストにたどりつくように、関連するロジック情報集合(ルールベースに近いもの)が設計・投稿されている。法律知識のカバー範囲は、本発明によるロジック情報の投稿により、日々網羅的かつ精度の高いものになっていっている。サイト4Cは、同様に法律診断システムを運営しているが得意な専門分野が異なるため、相互に利用者を得意なほうのサイトに誘導する(URL移動させる)ようにロジック情報集合が設計されている。サイト4Cは、哲学体系化コンテンツも運営しており、利用者ごとの哲学理解レベルを利用者データとして格納し、レベルに応じて適切なあたらしい知見にふれるよう誘導するロジック情報集合となっている。哲学(コンテンツ)の網羅性や誘導の効率性は、利用者からの投稿(利用者レベルに応じて適切な新しい知見に誘導できるロジック情報等の投稿)により日々向上している。
51、52、53は、利用者端末である。ただし、本発明によりその利用者がコンテンツの一部の投稿者(製作者)になっているものである。端末1(51)はサイトAの管理者(板橋アドベンチャーのメインの製作者)でありかつサイトABCの利用者でもある人の端末である。端末2(52)は、サイトBの練馬区コンテンツへのロジック情報の投稿に生きがいを見出している人の端末であり、利用者としては練馬区を中心として世界中を舞台にアドベンチャーゲームを楽しんでいる。端末3(53)は、サイトACへの投稿(ご当地移動ロジック情報や哲学ナビゲーションロジック情報の投稿)を時々たのしんでいる人の端末である。端末2を介してサイトBに投稿するロジック情報にも、サイトAの変数(たとえば変数「利用者の東武練馬駅への広告量」)を参照したり変更したりする権限がサイトAの管理者の端末1を介してパーミッションされており、サイトAの板橋区アドベンチャーと、サイトBの練馬区アドベンチャーとの間では、移動以外の相互作用(たとえば、サイトAで利用者が東武練馬駅に大量に広告を出すと、その利用者のサイトBの東武練馬付近の商売でお客さんがたくさん集まるなど)もある。
【0176】
図2は、本実施例のコンテンツ提供装置の物理的構成要素の概略図である。
公知の自然法則を利用した一般的なクライアント=サーバーシステムのハードウエア構成であるが、クライアント側に投稿可能な機能がそなわっておりソフトウエアによってCGM的な動作が可能となっている点に留意されたい。また、サーバー側も複数台がインターネットを介して接続されており、ソフトウエアによっては、各サーバーコンテンツ間の協働が可能となる。
【0177】
図3は、本実施例のコンテンツ提供装置の論理的構成要素の概略図である。
図中、の隅括弧は、請求項の番号に対応する機能モジュール(手段)である。
どの手段がどのハードウエアで実現されるかは、技術的にはいかようにも調整できるが、本発明では、課題となるすべての手段をサーバー側の複数のCGIプログラムとHTMLファイルとXMLファイル、および、クライアント側のクッキーで実現している。クライアント側のWebブラウザからは、本発明のサーバーは、通常のCGIプログラム実行系、ないし、HTMLファイルや画像ファイルやXMLファイルやジャバスクリプトファイルやCSSファイルの配信系(ただし、クッキーの送受信も含むもの)に見える。
コンテンツ提供手段は、一般的なWebサーバーのコンテンツ提供機能のほかに、本発明のために記述されるロジック情報(スクリプト)の解釈機能を備えている。
また、記憶手段は、図示した通常のリソースのほかに、本発明に特有のリソース(製作者間で共有される変数、利用者から投稿されるロジック情報、これらに伴い意味をもってくる特有のパーミッション情報、等)をも、各種ファイル形式等(XML、HTML、TXT、CSV、RDB、等)として、適当なURIに沿って分類して記憶している。
隅括弧1は、利用者製提供態様制御ロジック情報追加手段(利用者からのロジック投稿を処理)である。ロジック情報(所定の形式文法に沿ったスクリプト=コンテンツ提供態様制御ロジック情報)は、利用者IDおよびトリガさせるリソースURIとともに、テキスト形式等により公知のPOSTメソッド等で、事前に提供したHTMLから利用者に投稿させている。
隅括弧2は、選択肢入力手段(選択肢入力形式を含むロジック情報の処理)である。HTMLに沿った公知の選択肢選択入力方式により実現している。選択肢表現の集合は、トリガされたすべてのロジック情報のうち、条件部の条件がその利用者について充足しているロジック情報の選択肢表現(変数名があれば変数値で生めた表現)の集合を採用して、動的にHTML(図4等)を生成している。また、どの製作者が制作(又は投稿)したロジック情報に由来しているかを、図4のG7の甲、乙、利用者X、利用者Yのように表示している。
隅括弧3は、データ更新ロジックの解釈手段である。データの更新ロジックの文法は、通常の手続き型言語の文法と同じである。更新するデータの特定は、URI又は変数名のみにより公知の方法により行う。
隅括弧4は、データを参照した提供制御ロジックの解釈手段である。データに応じて異なる提供制御を行う。データを手続き型言語の制御文における比較対象としたり、データを演出ルーチンの引数とすることにより実現している。
隅括弧5は、データを参照した選択肢表示ロジックの解釈手段である。ロジック情報が含む選択肢をデータに応じてを有効化/無効化できるよう本発明を実施するカーネルプログラムにプログラムされている。また、選択肢表示のための表現に変数名が含まれるときは、それを変数値でおきかえるように、同様にプログラムされている。
隅括弧6は、データを参照したデータ更新ロジックの解釈手段である。通常の手続き型言語における実現と同様に実現している。
隅括弧7は、セッション中利用者の関連データ特定手段である。通常の手続き型言語の解釈系とPROLOG(又はRDB)の処理系を公知の方法で融合してい実現している。データと利用者との関係を定義する述語に相当するテーブルが宣言されて使用される。
隅括弧8は、セッション中利用者に関連する他の利用者の関連データ特定手段である。通常の手続き型言語の解釈系とPROLOG(又はRDB)の処理系を公知の方法で融合してい実現している。利用者同士の関係を定義する述語に相当するテーブルが宣言されて使用される。
隅括弧9は、利用者が採用した製作者のロジックのみに解釈対象を限定する手段である。利用者がどの製作者を採用しているかを示すテーブルが宣言されて更新・参照される。
隅括弧10は、選択肢の製作者情報表示手段である。選択肢を含むロジック情報の製作者の情報が投稿時にあらかじめ格納されており、これを参照して、選択肢の製作者として表示している。
隅括弧11は、利用者への提供に適用済のロジックの製作者のロジックを優先する手段である。各利用者にどの製作者のロジックを適用したかの履歴を提供する毎に蓄積していっており、これをもとに優先順位を決定している。
隅括弧12−1は、ロジックを適当なリソースからのトリガ対象として関連づけて追加する機能である。リソースを統括するフォルダに、各リソースと各ロジックとを関連づけるための特殊な名前のファイルを置いておき、リソースの提供が必要になるたびに、(隅括弧12−2の)リソース提供時トリガ手段が、そのリソースを統括するフォルダのその特殊な名前のファイルを参照して、対応するロジック集合(投稿されたロジックも、もとかたあったロジックもある)を特定し、所定の優先順位でトリガすることにより実現している。なお、選択肢を含むロジックについては、選択肢形式で図4のG7のように表示し、利用者からの選択があった場合のみ、選択に対応する演出等(場面移動や、利用者変数の更新や、画像や音声やテキストの表示)を実行するようにしている。
ある。
隅括弧13は、製作者毎ロジック情報追加制御手段である。これは、そのためのパーミッションデータベース(XMLDB形式、記憶手段中)を製作者等が更新、追加手段が参照して追加の許可・不許可を実現する。
隅括弧14は、リソースにトリガされるロジック情報からの所定製作者製リソース利用を制御する手段である。同様に、そのためのパーミッションデータベース(XMLDB)を更新、参照して利用の許可・不許可を実現する。
隅括弧15は、採用利用者による所定別製作者製のリソースや関連ロジック情報の利用を制御する手段である。同様に、そのためのパーミッションデータベース(XMLDB)を更新、参照して利用の許可・不許可を実現する。
隅括弧16は、データに関するパーミッション/アクセス制御手段およびリソース対データパーミッション情報である。情報は、パーミッションデータベース(XMLDB)となっており、権限者が更新、コンテンツ提供手段が参照してアクセスの許可・不許可を実現する。
隅括弧17は、データに関するパーミッション/アクセス制御手段および製作者間データパーミッション情報である。同様に、情報は、パーミッションデータベース(XMLDB)となっており、権限者が更新、コンテンツ提供手段が参照してアクセスの許可・不許可を実現する。
隅括弧18は、他製作者製データ開示手段である。他製作者製のデータ(例えば共有変数)は、図示しない自明のデータ宣言手段(管理者や許可された利用者による宣言用XMLファイルの作成等)により宣言され、他の製作者や利用者の要求に応じてCGIプログラムが、その内容を参照して提供する。
隅括弧19は、開示を利用者へのコンテンツ提供時にアクセスしたデータに制限する手段である。利用者ごとにアクセス済のデータ名を履歴として記憶しておくことにより実現している。
隅括弧20は、提供済リソース開示手段である。利用者ごとに提供済のリソース名の履歴として記憶しておくことにより実現している。
隅括弧21は、デフォルト条件自動挿入手段である。利用者に関連するデータ(利用者の達成レベルや属性や持ち物などを示す変数および変数値の集合を、追加しようとするロジック情報の条件部にデフォルト条件としてそのまま挿入することにより実現する。その後その利用者に条件部を編集させることにより、調整も可能としてる。例えば、{レベル=5}の利用者が、{場所=西台駅交番前,持ち物=メガフォン}の状態で、”「宣伝する」なら「罰金を課される」{現金−=5000円}”というロジック情報を、西台駅交番前の画像をトリガとして関連づけて追加しようとすると、自動的に”「宣伝する」なら「罰金を課される」{現金−=5000円}/{レベル=5,場所=西台駅交番前,持ち物=メガフォン}”というロジック情報に機械変換され、その後、その利用者は、レベルはこのロジックに関係がないからとして、レベル=5を削除して、”「宣伝する」なら「罰金を課される」{現金−=5000円}/{場所=西台駅交番前,持ち物=メガフォン}”という妥当なロジック情報に調整して追加することができる。なお「宣伝する」は選択肢表現であり、「罰金を課される」は説明テキストであり、/の前の{・・・}は影響であり、/の後の{・・・}は条件部である。利用者のデータが条件部をみなさない場合は、そもそも選択肢が表示されず、図4の自由入力で入力されたとしても無視するようにコンテンツ提供手段が制御している。
隅括弧22は、定義されている利用者入力に対する制御ロジックを制限する手段である。上記の条件部が同じで選択肢表現が同じとなるようなロジック情報が関連するリソースに重複して投稿されるのを検出して制限している。リソースが関連するかどうかは、フォルダの階層関係で決定している。ただし、フォルダ配下の全部のリソースがトリガとなっているロジック情報を、一部のリソースのみをトリガとするロジック情報がオーバーライド可としている(ただし、上述した他の製作者間パーミッションなどに従った制御を行っている)。
【0178】
図4は、本実施例のコンテンツ提供装置が提供する画面の一例としての概略図である。
これはCGIプログラムへの引数のある要求に対してHTMLとして出力されたものである。
CGIプログラムは、引数をもとに出力すべきHTMLをいったん生成し、その中のURIが示すリソースによりトリガされるべきロジック情報をリソースを含むフォルダの階層をたどりながら求めて、ロジック情報を解釈して、先に生成したHTMLの一部を書き換えることにより、選択肢の動的追加などを実現している。
G1は、利用者がそのセッション中に採用している製作者(コンテンツのタイトルや制作チーム名や投稿者を示す)である。
G2は、データ(日時等)および利用者に関連するデータ(利用者の属性等だけでなく利用者IDなどの利用者データも含んでよい)である。
G3は、画像としてのコンテンツ提供を行うためのエリア(地域実写と、イラストやCGとの合成がスクリプト(制御ロジック情報)により制御されて提供されている)である。
G4は、画像の説明としてのテキストエリア(スクリプト(制御ロジック情報)に従って表示されている)である。
G5は、利用者が採用した選択肢やロジック情報やリソースの製作者が、プレファレンスとして自動的に集計されて表示されている。
G6は、利用者が採用した選択誌やロジック情報やリソースの製作者が、同時には採用してほしくない製作者が表示されている。
G7は、利用者入力を選択肢として行うための画面(選択誌の製作者の情報が選択肢とともに表示されている)である。
【0179】
別の実施例では、ロジック情報の誘導先(ジャンプ先)が地域のECサイトや一般サイトやその他のプロトコルのゲームサイトとなっている。
【産業上の利用可能性】
【0180】
利用者入力に応じた動的な制御のための制御ロジック情報をCGM的に随時追加できるようにすることが有用な場面では利用可能である。例えば、CGM式アドベンチャーゲーム、CGM式ロールプレイングゲーム、CGM式法律エキスパートシステム、CGM式教育・学習システム、CGM式思想・哲学・仮説ナビゲーションシステムなどとして用いることができる。いずれの場合でも、制御ロジック情報を利用者が既存コンテンツに追加する手段を用意することができる。また、選択肢による利用者入力にも対応することが有用である。また、制御ロジック情報の記述力が、変数やファイルといったデータ(利用者に関連するデータも含む)の更新、更新したデータを参照してのコンテンツ提供/選択肢提供、更新したデータを参照してのデータ(他の利用者に関連するデータも含む)の更新、等に及ぶことが有用である。また、制御ロジック情報は、関連づけられたリソースの利用をトリガとして実行可とすることが有用である。また、製作者側になる利用者やリソースごとに、ロジック追加/ロジック実行/データ参照/リソース利用などの許可・排他ポリシーを設定可能とすることが有用である。また、ロジックの製作者情報や制御に用いる変数名等を、必要に応じて利用者や製作者に参照可能とすることが有用である。また、上記した、効率的なロジック追加の工夫も有用である。
【図面の簡単な説明】
【0181】
【図1】本発明の一実施形態のコンテンツ提供装置の全体構成を示した説明図である。(実施例1)
【図2】本発明の一実施形態のコンテンツ提供装置の物理的構成要素の概略図である。(実施例1)
【図3】本発明の一実施形態のコンテンツ提供装置の論理的構成要素の概略図である。(実施例1)
【図4】本発明の一実施形態のコンテンツ提供装置が提供する画面の一例としての概略図である。(実施例1)
【符号の説明】
【0182】
1 本発明のコンテンツ提供装置の一実施例の全体構成
2 インターネット
3 本発明のコンテンツ提供装置を構成する中央管理サイトK
4A、4B、4C 各種のコンテンツを提供するサイト(ただし、本発明によりコンテンツの連携がされている)
51、52、53 利用者端末(ただし、本発明によりその利用者がコンテンツの一部の投稿者(製作者)になっている)
G1 利用者がそのセッション中に採用している製作者(コンテンツのタイトルや制作チーム名や投稿者を示す)
G2 データ(日時等)および利用者に関連するデータ(利用者の属性等だけでなく利用者IDなどの利用者データも含んでよい)
G3 画像としてのコンテンツ提供を行うためのエリア(地域実写と、イラストやCGとの合成がスクリプト(制御ロジック情報)により制御されて提供されている)
G4 画像の説明としてのテキストエリア(スクリプト(制御ロジック情報)に従って表示されている)
G5 利用者が採用した選択肢やロジック情報やリソースの製作者が、プレファレンスとして自動的に集計されて表示されている。
G6 利用者が採用した選択誌やロジック情報やリソースの製作者が、同時には採用してほしくない製作者が表示されている。
G7 利用者入力を選択肢として行うための画面(選択誌の製作者の情報が選択肢とともに表示されている)

【特許請求の範囲】
【請求項1】
分散した又は分散しない記憶手段に蓄積したコンテンツをコンピュータ制御によりインターネットを介して又は介さずに利用者に提供するコンテンツ提供装置であって、
コンテンツ提供装置が利用者からの入力に応じてコンテンツの提供態様(提供範囲又は提供順序の少なくとも一方を含む提供態様)を制御できるようにするロジック情報である提供態様制御ロジック情報を、利用者が前記記憶手段に追加するための利用者製提供態様制御ロジック情報追加手段を備えること
を特徴とするコンテンツ提供装置。
【請求項2】
前記入力を、利用者への選択肢表示および利用者からの選択肢受信の形式で行うための選択肢入力手段を備えること、
前記提供態様制御ロジック情報が、該選択肢表示のための情報と、該選択肢表示に対応する選択肢を利用者から受信した際にコンテンツ提供装置が該利用者に対して行うべきコンテンツ提供態様制御のロジック情報とを含むこと
を特徴とする請求項1に記載のコンテンツ提供装置。
【請求項3】
前記提供態様制御ロジック情報が、前記記憶手段中のデータをコンテンツ提供装置が更新するよう制御できるようにするロジック情報を含むこと
を特徴とする、請求項1又は2に記載のコンテンツ提供装置。
【請求項4】
前記提供態様制御ロジック情報が、前記記憶手段中のデータをコンテンツ提供装置が参照してコンテンツ提供を制御できるようにするロジック情報を含むこと
を特徴とする、請求項1から3のいずれか一項に記載のコンテンツ提供装置。
【請求項5】
前記提供態様制御ロジック情報が、前記記憶手段中のデータをコンテンツ提供装置が参照して前記選択肢表示を制御できるようにするロジック情報を含むこと
を特徴とする、請求項2および4に記載のコンテンツ提供装置。
【請求項6】
前記提供態様制御ロジック情報が、前記記憶手段中のデータをコンテンツ提供装置が参照して前記記憶手段中の他のデータを更新するよう制御できるようにするロジック情報を含むこと
を特徴とする、請求項1から5のいずれか一項に記載のコンテンツ提供装置。
【請求項7】
前記更新されるよう制御するデータおよび又は参照されるよう制御するデータが、コンテンツ提供装置に入力した利用者に関連する前記記憶手段中のデータであること
を特徴とする、請求項3から6のいずれか一項に記載のコンテンツ提供装置。
【請求項8】
前記提供態様制御ロジック情報が、コンテンツ提供装置に入力した利用者に関連する前記記憶手段中のデータをコンテンツ提供装置が参照して該利用者に関連する他の利用者に関連するデータを更新するためのロジック情報を含むこと
を特徴とする、請求項1から7のいずれか一項に記載のコンテンツ提供装置。
【請求項9】
前記提供態様制御ロジック情報が、該提供態様制御ロジック情報の製作者に関する情報と関連づけられて記憶され、利用者が採用した製作者に関する情報と関連づけられた提供態様制御ロジック情報のみをコンテンツ提供装置が参照して該利用者へのコンテンツ提供を行うこと
を特徴とする、請求項1から8のいずれか一項に記載のコンテンツ提供装置。
【請求項10】
前記提供態様制御ロジック情報が、該提供態様制御ロジック情報の製作者に関する情報と関連づけられて記憶され、コンテンツ提供装置が、前記利用者への選択肢表示の際に、該選択肢に対応する提供態様制御ロジック情報に関連づけられた製作者に関する情報から得られる情報を示すこと
を特徴とする、請求項2に記載のコンテンツ提供装置。
【請求項11】
前記提供態様制御ロジック情報が、該提供態様制御ロジック情報の製作者に関する情報と関連づけられて記憶され、利用者へのコンテンツ提供に適用された提供態様制御ロジック情報に関連づけられた製作者に関する情報に応じて該利用者への以降のコンテンツ提供を制御する提供態様制御ロジック情報を決定すること、
を特徴とする、請求項1から10のいずれか一項に記載のコンテンツ提供装置。
【請求項12】
前記利用者製提供態様制御ロジック情報追加手段が、前記提供態様制御ロジック情報を、前記記憶手段中のリソースにトリガ対象として関連づけて追加することと、
該リソースの提供の際に、該リソースと関連づけて追加された提供態様制御ロジック情報をトリガするリソース提供時トリガ手段を有すること
を特徴とする、請求項1から11のいずれか一項に記載のコンテンツ提供装置。
【請求項13】
製作者が、該製作者が製作したものとして記憶されたリソースへの、トリガ対象として関連づけられる、別の製作者製の提供態様制御ロジック情報の追加を、製作者ごとおよび又は該別の製作者ごとに制御できるようにした製作者毎ロジック情報追加制御手段を有すること
を特徴とする、請求項12に記載のコンテンツ提供装置。
【請求項14】
製作者が、該製作者が製作したものとして記憶されたリソースにトリガ対象として関連づけられた提供態様制御ロジック情報からの、所定の製作者製のリソースの利用を制御できるようにした別製作者リソース利用制御手段を有すること
を特徴とする、請求項12又は13に記載のコンテンツ提供装置。
【請求項15】
製作者が、該製作者を採用した利用者からの、所定の別の製作者が製作したものとして記憶されたリソース自体の利用および又は該リソースにトリガ対象として関連づけられた提供態様制御ロジック情報の利用を制御できるようにした別製作者リソース&関連ロジック情報利用制御手段を有すること
を特徴とする、請求項9に記載のコンテンツ提供装置。
【請求項16】
前記データ又は前記利用者データが、どの製作者が宣言したデータかを判別できるような形式で前記記憶手段に記憶されていることと、
どのリソースにトリガ対象として関連づけられた提供態様制御ロジック情報がどの製作者が宣言したデータを参照、更新、追加、削除又はこれらの組合せ操作できるかを定義するリソース対データパーミッション情報が前記記憶手段に記憶されていることと、
該リソース対データパーミッション情報に応じて、コンテンツ提供装置が、各リソースに関連づけられた提供態様制御ロジック情報からの、各製作者が宣言したデータへのアクセス制御を行うこと、
を特徴とする、請求項12から15のいずれか一項に記載のコンテンツ提供装置。
【請求項17】
前記提供態様制御ロジック情報が、該提供態様制御ロジック情報の製作者に関する情報と関連づけられて記憶されていることと、
前記データ又は前記利用者データが、どの製作者が宣言したデータかを判別できるような形式で前記記憶手段に記憶されていることと、
どの製作者製の提供態様制御ロジック情報がどの製作者が宣言したデータを参照、更新、追加、削除又はこれらの組合せ操作できるかを定義する製作者間データパーミッション情報が前記記憶手段に記憶されていることと、
該製作者間パーミッション情報に応じて、コンテンツ提供装置が、各提供態様制御ロジック情報からの、各製作者が宣言したデータへのアクセス制御を行うこと、
を特徴とする、請求項1から16のいずれか一項に記載のコンテンツ提供装置。
【請求項18】
利用者に、他の製作者が宣言した変数名および又はファイル名を開示して、該利用者製の提供態様制御ロジック情報において、該他の製作者が宣言した変数名および又はファイル名によるデータアクセスを利用可能にする他製作者製データ開示手段を備えること
を特徴とする、請求項1から17のいずれか一項に記載のコンテンツ提供装置。
【請求項19】
前記他製作者製データ開示手段が、利用者に、該利用者へのコンテンツ提供のためにコンテンツ提供装置が過去にアクセスした変数名および又はファイル名を開示して該利用者製の提供態様制御ロジック情報において該変数名および又はファイル名によるデータアクセスを利用可能にすること
を特徴とする、請求項18に記載のコンテンツ提供装置。
【請求項20】
利用者以外の製作者が製作した提供態様制御ロジック情報が該利用者に提供制御したリソースを、該利用者に開示して該利用者製の提供態様制御ロジック情報において利用可能にする提供済リソース開示手段を備えること
を特徴とする、請求項1から19のいずれか一項に記載のコンテンツ提供装置。
【請求項21】
前記提供態様制御ロジック情報が、所定の条件を充たす利用者に対してのみ所定の提供制御をするための制御条件部を有することと、
前記利用者製提供態様制御ロジック情報追加手段が、提供態様制御ロジック情報の制御条件部に、該提供態様制御ロジック情報を追加しようとしている利用者の利用者データから得られる条件を自動的に挿入すること
を特徴とする、請求項1から20のいずれか一項に記載のコンテンツ提供装置。
【請求項22】
従前の提供態様制御ロジック情報では定義されていない利用者入力に対する制御を追加できること
を特徴とする、請求項1から21のいずれか一項に記載のコンテンツ提供装置。
【請求項23】
分散した又は分散しない記憶手段に蓄積したコンテンツをコンピュータ制御によりインターネットを介して又は介さずに利用者に提供するコンテンツ提供装置を利用したコンテンツ提供方法であって、
コンテンツ提供装置が利用者からの入力に応じてコンテンツの提供態様(提供範囲又は提供順序の少なくとも一方を含む提供態様)を制御するロジック情報である提供態様制御ロジック情報を、利用者が分散した又は分散しない記憶手段に追加できるステップを備えること
を特徴とするコンテンツ提供方法。
【請求項24】
分散した又は分散しない記憶手段に蓄積したコンテンツをコンピュータ制御によりインターネットを介して又は介さずに利用者に提供するコンテンツ提供装置を動作させるためのコンピュータプログラムであって、
コンテンツ提供装置が利用者からの入力に応じてコンテンツの提供態様(提供範囲又は提供順序の少なくとも一方を含む提供態様)を制御するロジック情報である提供態様制御ロジック情報を、利用者が分散した又は分散しない記憶手段に追加できる制御をコンピュータに実施させること
を特徴とするコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate