IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クラスター株式会社の特許一覧

特開2024-60186プログラム、オブジェクト処理方法、およびオブジェクト処理装置
<>
  • 特開-プログラム、オブジェクト処理方法、およびオブジェクト処理装置 図1
  • 特開-プログラム、オブジェクト処理方法、およびオブジェクト処理装置 図2
  • 特開-プログラム、オブジェクト処理方法、およびオブジェクト処理装置 図3
  • 特開-プログラム、オブジェクト処理方法、およびオブジェクト処理装置 図4
  • 特開-プログラム、オブジェクト処理方法、およびオブジェクト処理装置 図5
  • 特開-プログラム、オブジェクト処理方法、およびオブジェクト処理装置 図6
  • 特開-プログラム、オブジェクト処理方法、およびオブジェクト処理装置 図7
  • 特開-プログラム、オブジェクト処理方法、およびオブジェクト処理装置 図8
  • 特開-プログラム、オブジェクト処理方法、およびオブジェクト処理装置 図9
  • 特開-プログラム、オブジェクト処理方法、およびオブジェクト処理装置 図10
  • 特開-プログラム、オブジェクト処理方法、およびオブジェクト処理装置 図11
  • 特開-プログラム、オブジェクト処理方法、およびオブジェクト処理装置 図12
  • 特開-プログラム、オブジェクト処理方法、およびオブジェクト処理装置 図13
  • 特開-プログラム、オブジェクト処理方法、およびオブジェクト処理装置 図14
  • 特開-プログラム、オブジェクト処理方法、およびオブジェクト処理装置 図15
  • 特開-プログラム、オブジェクト処理方法、およびオブジェクト処理装置 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024060186
(43)【公開日】2024-05-02
(54)【発明の名称】プログラム、オブジェクト処理方法、およびオブジェクト処理装置
(51)【国際特許分類】
   G06F 21/62 20130101AFI20240424BHJP
   G06Q 10/00 20230101ALI20240424BHJP
【FI】
G06F21/62
G06Q10/00
【審査請求】有
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022167385
(22)【出願日】2022-10-19
(11)【特許番号】
(45)【特許公報発行日】2023-08-07
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.TENSORFLOW
(71)【出願人】
【識別番号】516248004
【氏名又は名称】クラスター株式会社
(74)【代理人】
【識別番号】100115749
【弁理士】
【氏名又は名称】谷川 英和
(72)【発明者】
【氏名】半田 大樹
(72)【発明者】
【氏名】万里崎 雄人
(72)【発明者】
【氏名】東峰 裕之
(72)【発明者】
【氏名】佐藤 翔馬
【テーマコード(参考)】
5L010
5L049
【Fターム(参考)】
5L010AA00
5L049AA00
(57)【要約】
【課題】従来、スクリプトを含むオブジェクトが仮想空間に存在する場合に、スクリプトの実行により発生する可能性のあるリスクに対する対応ができなかった。
【解決手段】コンピュータを、仮想空間に表示されるオブジェクトの表示情報と前記仮想空間上での処理を実行するためのスクリプトとを有するオブジェクトデータを取得するデータ取得部と、前記オブジェクトデータに関する1以上のオブジェクト属性値を取得する属性値取得部と、前記1以上のオブジェクト属性値を用いて行われた判断の結果であり、前記オブジェクトデータに含まれる前記スクリプトを実行するか否かについての判断結果を取得する判断部と、前記判断結果に応じて、前記スクリプトの実行を制限する制御部として機能させるためのプログラムにより、必要に応じたスクリプトの実行の制限により、リスク回避ができる。
【選択図】図3
【特許請求の範囲】
【請求項1】
コンピュータを、
仮想空間に表示されるオブジェクトの表示情報と前記仮想空間上での処理を実行するためのスクリプトとを有するオブジェクトデータを取得するデータ取得部と、
前記オブジェクトデータに関する1以上のオブジェクト属性値を取得する属性値取得部と、
前記1以上のオブジェクト属性値を用いて行われた判断の結果であり、前記オブジェクトデータに含まれる前記スクリプトを実行するか否かについての判断結果を取得する判断部と、
前記判断結果に応じて、前記スクリプトの実行を制限する制御部として機能させるためのプログラム。
【請求項2】
前記1以上のオブジェクト属性値は、前記オブジェクトデータの製作者の属性値である製作者属性値を含む、請求項1記載のプログラム。
【請求項3】
前記1以上のオブジェクト属性値は、前記オブジェクトデータの処分権者の属性値である処分権者属性値を含む、請求項1記載のプログラム。
【請求項4】
前記1以上のオブジェクト属性値は、前記仮想空間に設定されている属性値である仮想空間属性値を含む、請求項1記載のプログラム。
【請求項5】
前記1以上のオブジェクト属性値は、動的に変化する動的属性値を含む、請求項1記載のプログラム。
【請求項6】
前記1以上のオブジェクト属性値は、動的には変化しない静的属性値を含む、請求項1記載のプログラム。
【請求項7】
前記制御部は、
前記判断結果が前記スクリプトを実行しないことを示す情報である場合に、前記スクリプトを実行させないための制限処理を行うものとして、前記コンピュータを機能させ、
前記制限処理は、
前記スクリプトに含まれる複数の処理のうちの一部の処理を実行させないための処理である、請求項1記載のプログラム。
【請求項8】
前記制御部は、
前記判断結果が前記スクリプトを実行しないことを示す情報である場合に、前記スクリプトを実行させないための制限処理を行うものとして、前記コンピュータを機能させ、
前記制限処理は、2以上の各制限のための制限処理を含み、
前記制御部は、
前記2以上の各制限のための制限処理のうち、一部のみの制限処理を行うものとして、前記コンピュータを機能させる、請求項1記載のプログラム。
【請求項9】
前記スクリプトは、2以上の各処理を実行するサブプログラムを有し、
前記判断部は、
前記サブプログラムごとに、実行するか否か否かについての判断結果を取得し、
前記制御部は、
前記判断部が実行すると判断した前記サブプログラムのみを実行するものとして、前記コンピュータを機能させる、請求項1記載のプログラム。
【請求項10】
前記判断部は、
前記表示情報を用いて、前記オブジェクトを表示するか否かを判断し、
前記制御部は、
前記判断部が前記オブジェクトを表示すると判断した場合のみ、前記表示情報を用いて、前記オブジェクトを出力するものとして、前記コンピュータを機能させる、請求項1記載のプログラム。
【請求項11】
前記判断部は、
前記オブジェクトの配置に関する処理を行うか否かを判断し、
前記制御部は、
前記判断部が前記オブジェクトの配置に関する処理を行うと判断した場合のみ、前記オブジェクトを配置するための処理を行うものとして、前記コンピュータを機能させる、請求項1記載のプログラム。
【請求項12】
端末装置で実行されるプログラムであり、
前記判断部を
前記1以上のオブジェクト属性値を用いて、前記オブジェクトデータに含まれる前記スクリプトを実行するか否かについての判断を行い、判断結果を取得するものとして、前記コンピュータを機能させるための請求項1記載のプログラム。
【請求項13】
前記データ取得部は、
ユーザが使用する端末装置から送信された前記オブジェクトデータを取得するものとして、前記コンピュータを機能させる、請求項1記載のプログラム。
【請求項14】
前記オブジェクトデータに含まれる前記表示情報を用いて、前記オブジェクトを出力する出力部として、前記コンピュータをさらに機能させ、
前記制御部は、
前記判断結果に応じて、前記出力部が前記オブジェクトを出力する処理を制限するものとして、前記コンピュータを機能させる、請求項1記載のプログラム。
【請求項15】
前記オブジェクトデータに含まれる前記表示情報を用いて、前記オブジェクトを出力する出力部として、前記コンピュータをさらに機能させ、
前記制御部は、
前記判断結果に応じて、前記オブジェクトを出力する処理以外の少なくとも一の処理を制限するものとして、前記コンピュータを機能させる、請求項1記載のプログラム。
【請求項16】
データ取得部と、属性値取得部と、判断部と、制御部と、出力部とにより実現されるオブジェクト処理方法であって、
前記データ取得部が、仮想空間に表示されるオブジェクトの表示情報と前記仮想空間上での処理を実行するためのスクリプトとを有するオブジェクトデータを取得するデータ取得ステップと、
前記属性値取得部が、前記オブジェクトデータに関する1以上のオブジェクト属性値を取得する属性値取得ステップと、
前記判断部が、前記1以上のオブジェクト属性値を用いて行われた判断の結果であり、前記オブジェクトデータに含まれる前記スクリプトを実行するか否かについての判断結果を取得する判断ステップと、
前記制御部が、前記判断結果に応じて、前記スクリプトの実行を制限する制御ステップと、
前記出力部が、前記オブジェクトデータに含まれる前記表示情報を用いて、前記オブジェクトを出力する出力ステップとを具備するオブジェクト処理方法。
【請求項17】
仮想空間に表示されるオブジェクトの表示情報と前記仮想空間上での処理を実行するためのスクリプトとを有するオブジェクトデータを取得するデータ取得部と、
前記オブジェクトデータに関する1以上のオブジェクト属性値を取得する属性値取得部と、
前記1以上のオブジェクト属性値を用いて行われた判断の結果であり、前記オブジェクトデータに含まれる前記スクリプトを実行するか否かについての判断結果を取得する判断部と、
前記判断結果に応じて、前記スクリプトの実行を制限する制御部とを具備するオブジェクト処理装置。
【請求項18】
コンピュータを、
仮想空間に表示されるオブジェクトの表示情報と前記仮想空間上での処理を実行するためのスクリプトとを有するオブジェクトデータを取得するデータ取得部と、
前記オブジェクトデータに関する1以上のオブジェクト属性値用いて行われた判断の結果であり、前記オブジェクトデータに含まれる前記スクリプトを実行するか否かについての判断結果を取得する判断部と、
前記判断結果が実行しないと判断された場合に、前記スクリプトの少なくとも一部を実行せずに前記オブジェクトを出力する出力部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想空間に配置されるオブジェクトに関する処理を行うプログラム等に関するものである。
【背景技術】
【0002】
従来、情報の改ざんやゲーム内の不正の可能性を低減し、ユーザが楽しむことを目的としたゲームシステムがあった(特許文献1参照)。
【0003】
かかるシステムは、ゲームの過去の事象に関する第1情報および前記第1情報が所定の条件を満たしているか否かを判定した結果に関する第2情報を、前記ゲーム内の媒体に関連付けて記憶する記憶手段と、前記媒体に関連付けられた前記第1情報および前記第2情報の内容に基づいて、前記ゲームに関する所定の処理を実行する実行手段と、を備え、前記第1情報および前記第2情報の少なくともいずれかの情報は、情報の改ざんの可能性を低減する措置が施されている、情報処理システムである。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2022-29608号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術においては、スクリプトを含むオブジェクトが仮想空間内で利用される場合に、スクリプトの実行により発生する可能性のあるリスクへの対応ができなかった。
【0006】
なお、仮想空間内で利用されるオブジェクトは、元々、仮想空間内に存在したオブジェクトでも良く、任意のタイミングで仮想空間内において存在するに至ったオブジェクトでも良い。
【課題を解決するための手段】
【0007】
本第一の発明のオブジェクト処理装置は、仮想空間に表示されるオブジェクトの表示情報と仮想空間上での処理を実行するためのスクリプトとを有するオブジェクトデータを取得するデータ取得部と、オブジェクトデータに関する1以上のオブジェクト属性値を取得する属性値取得部と、1以上のオブジェクト属性値を用いて行われた判断の結果であり、オブジェクトデータに含まれるスクリプトを実行するか否かについての判断結果を取得する判断部と、判断結果に応じて、スクリプトの実行を制限する制御部と、オブジェクトデータに含まれる表示情報を用いて、オブジェクトを出力する出力部とを具備するオブジェクト処理装置である。
【0008】
かかる構成により、必要に応じたスクリプトの実行の制限により、リスク回避ができる。
【0009】
また、本第二の発明のオブジェクト処理装置は、第一の発明に対して、1以上のオブジェクト属性値は、オブジェクトデータの製作者の属性値である製作者属性値を含む、オブジェクト処理装置である。
【0010】
かかる構成により、適切なオブジェクト属性値を用いた判断を行い、その判断結果に応じたスクリプトの実行の制限により、適切にリスク回避ができる。
【0011】
また、本第三の発明のオブジェクト処理装置は、第一の発明に対して、1以上のオブジェクト属性値は、オブジェクトデータの処分権者の属性値である処分権者属性値を含む、オブジェクト処理装置である。
【0012】
かかる構成により、適切なオブジェクト属性値を用いた判断を行い、その判断結果に応じたスクリプトの実行の制限により、適切にリスク回避ができる。
【0013】
また、本第四の発明のオブジェクト処理装置は、第一の発明に対して、1以上のオブジェクト属性値は、仮想空間に設定されている属性値である仮想空間属性値を含む、オブジェクト処理装置である。
【0014】
かかる構成により、適切なオブジェクト属性値を用いた判断を行い、その判断結果に応じたスクリプトの実行の制限により、適切にリスク回避ができる。
【0015】
また、本第五の発明のオブジェクト処理装置は、第一の発明に対して、1以上のオブジェクト属性値は、動的に変化する動的属性値を含む、オブジェクト処理装置である。
【0016】
かかる構成により、適切なオブジェクト属性値を用いた判断を行い、その判断結果に応じたスクリプトの実行の制限により、適切にリスク回避ができる。
【0017】
また、本第六の発明のオブジェクト処理装置は、第一の発明に対して、1以上のオブジェクト属性値は、動的には変化しない静的属性値を含む、オブジェクト処理装置である。
【0018】
かかる構成により、適切なオブジェクト属性値を用いた判断を行い、その判断結果に応じたスクリプトの実行の制限により、適切にリスク回避ができる。
【0019】
また、本第七の発明のオブジェクト処理装置は、第一の発明に対して、制御部は、判断結果が前記スクリプトを実行しないことを示す情報である場合に、スクリプトを実行させないための制限処理を行い、制限処理は、スクリプトに含まれる複数の処理のうちの一部の処理を実行させないための処理である制御部は、判断結果がスクリプトを実行しないことを示す情報である場合に、スクリプトを実行させないための制限処理を行う、オブジェクト処理装置である。
【0020】
かかる構成により、必要に応じたスクリプトの実行の制限により、リスク回避ができる。
【0021】
また、本第八の発明のオブジェクト処理装置は、第七の発明に対して、制御部は、判断結果がスクリプトを実行しないことを示す情報である場合に、スクリプトを実行させないための制限処理を行い、制限処理は、スクリプトのうちの一部のスクリプトを実行させないための処理である、オブジェクト処理装置である。
【0022】
かかる構成により、必要に応じた一部のスクリプトの実行の制限により、適切にリスク回避ができる。
【0023】
また、本第九の発明のオブジェクト処理装置は、第一の発明に対して、スクリプトは、2以上の各処理を実行するサブプログラムを有し、判断部は、 サブプログラムごとに、実行するか否かを判断し、判断結果を取得し、制御部は、判断部が実行すると判断したサブプログラムのみを実行する、オブジェクト処理装置である。
【0024】
かかる構成により、必要に応じた一部のスクリプトの実行の制限により、適切にリスク回避ができる。
【0025】
また、本第十の発明のオブジェクト処理装置は、第一の発明に対して、判断部は、表示情報を用いて、オブジェクトを表示するか否かを判断し、制御部は、判断部がオブジェクトを表示すると判断した場合のみ、表示情報を用いて、オブジェクトを出力する、オブジェクト処理装置である。
【0026】
かかる構成により、必要に応じたスクリプトの実行の制限により、適切なオブジェクトの表示制御ができる。
【0027】
また、本第十一の発明のオブジェクト処理装置は、第一の発明に対して、判断部は、オブジェクトの配置に関する処理を行うか否かを判断し、制御部は、判断部がオブジェクトの配置に関する処理を行うと判断した場合のみ、オブジェクトを配置するための処理を行う、オブジェクト処理装置である。
【0028】
かかる構成により、必要に応じたスクリプトの実行の制限により、適切なオブジェクトの配置処理の制御ができる。
【0029】
また、本第十二の発明のオブジェクト処理装置は、第一から第十一いずれか1つの発明に対して、端末装置で実行されるオブジェクト処理装置である。
【0030】
かかる構成により、必要に応じたスクリプトの実行の制限により、端末装置において、リスク回避ができる。
【0031】
また、本第十三の発明のオブジェクト処理装置は、第一から第十二いずれか1つの発明に対して、データ取得部は、ユーザが使用する端末装置から送信されたオブジェクトデータを取得する、オブジェクト処理装置である。
【0032】
かかる構成により、信頼できないかもしれないクリエータが作ったオブジェクトが仮想空間に存在する場合でも、必要に応じたスクリプトの実行の制限により、リスク回避ができる。
【0033】
また、本第十四の発明のオブジェクト処理装置は、第一から第十三いずれか1つの発明に対して、オブジェクトデータに含まれる前記表示情報を用いて、オブジェクトを出力する出力部をさらに具備し、制御部は、判断結果に応じて、出力部がオブジェクトを出力する処理を行わないようにする、オブジェクト処理装置である。
【0034】
かかる構成により、信頼できないかもしれないクリエータが作ったオブジェクトが仮想空間に存在する場合に、オブジェクトの出力を制限することにより、リスク回避ができる。
【0035】
また、本第十五の発明のオブジェクト処理装置は、第一から第十四いずれか1つの発明に対して、オブジェクトデータに含まれる前記表示情報を用いて、前記オブジェクトを出力する出力部をさらに具備し、制御部は、判断結果に応じて、オブジェクトを出力する処理以外の少なくとも一の処理を制限する、オブジェクト処理装置である。
【0036】
かかる構成により、信頼できないかもしれないクリエータが作ったオブジェクトが仮想空間に存在する場合に、オブジェクトの出力以外の処理を制限することにより、リスク回避ができる。
【発明の効果】
【0037】
本発明によるオブジェクト処理装置によれば、必要に応じたスクリプトの実行の制限により、リスク回避ができる。
【図面の簡単な説明】
【0038】
図1】実施の形態1における情報システムAの概念図
図2】同情報システムAのブロック図
図3】同オブジェクト処理装置1のブロック図
図4】同オブジェクト処理装置1の動作例について説明するフローチャート
図5】同仮想空間出力処理の例について説明するフローチャート
図6】同実行判断処理の例について説明するフローチャート
図7】同スクリプト実行処理の例について説明するフローチャート
図8】同指示実行処理の例について説明するフローチャート
図9】同サーバ2の動作例について説明するフローチャート
図10】同実行条件管理表の例を示す図
図11】同実行条件管理表の例を示す図
図12】同ユーザ管理表の例を示す図
図13】同オブジェクト管理表の例を示す図
図14】同仮想空間の例を示す図
図15】同コンピュータシステムの概観図
図16】同コンピュータシステムのブロック図
【発明を実施するための形態】
【0039】
以下、オブジェクト処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0040】
(実施の形態1)
本実施の形態において、仮想空間に配置されるオブジェクトデータを取得し、オブジェクトに関する1以上のオブジェクト属性値を用いて、オブジェクトデータに含まれるスクリプトの実行に関する制限を行うか否かを判定し、判定結果に応じて、スクリプトの実行に関して制限するオブジェクト処理装置を具備する情報システムについて説明する。
【0041】
なお、本実施の形態において、オブジェクトデータは、販売対象となり、ユーザ間で流通しても良い。そして、そのオブジェクトの購入者は、そのオブジェクトデータを用いて自由に仮想空間を作成できても良い。また、オブジェクトデータの販売により、オブジェクトデータの元の処分権者であるユーザに売り上げが発生し、売上情報が当該ユーザのユーザ識別子に対応付けて管理されることは好適である。また、かかるオブジェクトデータにスクリプトが含まれる場合、当該スクリプトによる不正が問題となり得るので、スクリプトの管理を行うことは好適である。
【0042】
また、1以上のオブジェクト属性値は、例えば、製作者属性値、処分権者属性値、仮想空間属性値、動的属性値、静的属性値を含む。また、制限処理は、例えば、スクリプトの全て、または一部を実行させないための処理である。また、複数の制限処理を、2以上の装置で分担しても良い。なお、2以上の装置は、例えば、オブジェクトを出力する端末とサーバである。
【0043】
また、本実施の形態において、情報Xが情報Yに対応付いていることは、情報Xから情報Yを取得できること、または情報Yから情報Xを取得できることであり、その対応付けの方法は問わない。情報Xと情報Yとがリンク付いていても良いし、同じバッファに存在していても良いし、情報Xが情報Yに含まれていても良いし、情報Yが情報Xに含まれている等でも良い。
【0044】
図1は、本実施の形態における情報システムAの概念図である。情報システムAは、1または2以上のオブジェクト処理装置1、サーバ2、および1または2以上の端末装置3を備える。
【0045】
オブジェクト処理装置1は、ここでは、通常、オブジェクトを出力する端末である。ただし、後述するように、オブジェクト処理装置1は、サーバでも良い。オブジェクト処理装置1は、ここでは、主に、オブジェクトデータに含まれるスクリプトを実行するか否かを判断し、スクリプトを実行したり、実行しなかったりする装置である。オブジェクト処理装置1は、ここでは、主に、ユーザが使用する端末である。オブジェクト処理装置1は、例えば、オブジェクトの処分権者が使用する端末である。なお、処分権者とは、例えば、オブジェクトの著作権を有する者、オブジェクト製作者からオブジェクトデータを購入することにより、オブジェクトデータの複製、変更、処分その他処分行為をする権限を法的又は事実上有する者である。
【0046】
オブジェクト処理装置1は、例えば、いわゆるパーソナルコンピュータ、タブレット端末、スマートフォン、VRデバイス等であり、その種類は問わない。
【0047】
サーバ2は、例えば、オブジェクトデータを、1または2以上のオブジェクト処理装置1に送信する装置である。サーバ2は、例えば、ワールド情報を、1または2以上のオブジェクト処理装置1に送信する装置である。サーバ2は、例えば、端末装置3からオブジェクトデータを受信する装置である。サーバ2は、例えば、クラウドサーバ、ASPサーバであるが、その種類は問わない。
【0048】
端末装置3は、例えば、オブジェクトの製作者(クリエータと言っても良い)が使用する端末である。端末装置3は、例えば、オブジェクトデータをサーバ2またはオブジェクト処理装置1に送信する端末である。端末装置3は、例えば、いわゆるパーソナルコンピュータ、タブレット端末、スマートフォン、VRデバイス等であり、その種類は問わない。
【0049】
1以上の各オブジェクト処理装置1とサーバ2、サーバ2と1以上の各端末装置3とは、例えば、インターネットやLAN等のネットワークにより通信可能である。
【0050】
図2は、本実施の形態における情報システムAのブロック図である。図3は、オブジェクト処理装置1のブロック図である。
【0051】
オブジェクト処理装置1は、格納部11、受付部12、処理部13、送信部14、受信部15、および出力部16を備える。処理部13は、データ取得部131、属性値取得部132、判断部133、および制御部134を備える。
【0052】
サーバ2は、サーバ格納部21、サーバ受信部22、サーバ処理部23、およびサーバ送信部24を備える。
【0053】
端末装置3は、端末格納部31、端末受付部32、端末処理部33、端末送信部34、端末受信部35、および端末出力部36を備える。
【0054】
オブジェクト処理装置1を構成する格納部11には、各種の情報が格納される。各種の情報とは、例えば、ワールド情報、1または2以上のオブジェクトデータ、1または2以上の実行条件、ユーザ識別子である。
【0055】
ワールド情報とは、ワールドを構成するための情報である。ワールドは、仮想的な三次元空間である。ワールドは、仮想空間、場等と言っても良い。ワールド情報の構造は問わない
【0056】
オブジェクトデータとは、オブジェクトに関するデータである。オブジェクトとは、仮想空間に表示される表示対象である。オブジェクトは、例えば、アバター、物品、移動体、動物、建造物等であるが、問わない。移動体は、例えば、自動車、二輪者、自転車等であるが、問わない。なお、ワールドもオブジェクトの一種である、と考えても良い。
【0057】
オブジェクトデータは、表示情報を含む。オブジェクトデータは、例えば、スクリプトを含む。スクリプトは、仮想空間上での処理を実行するためのプログラムである。スクリプトは、仮想空間において実行可能である。スクリプトは、1または2以上のサブプログラムを有する。スクリプトの言語は問わない。スクリプトは、インタプリタ型のプログラムでもコンパイル型のプログラムでも良い。サブプログラムは、例えば、APIにより実行される。サブプログラムは、例えば、実行モジュールである。スクリプトの実行により行われる処理は問わない。スクリプトは、例えば、オブジェクトを表示するプログラムである。スクリプトは、例えば、オブジェクトを仮想空間上に配置するプログラムである。スクリプトは、例えば、オブジェクトを仮想空間内において移動させるプログラムである。スクリプトは、例えば、オブジェクトを動作させるプログラムである。スクリプトは、例えば、オブジェクトを仮想空間から消去するプログラムである。スクリプトは、例えば、オブジェクトデータを変更するプログラムである。スクリプトは、例えば、オブジェクト属性値を変更するプログラムである。スクリプトは、例えば、ワールド情報を変更するプログラムである。スクリプトは、例えば、仮想空間属性値を変更するプログラムである。スクリプトは、例えば、ユーザに対応するアバターの位置、姿勢、または表示等を変更するプログラムである。
【0058】
なお、上記スクリプトの例示において、オブジェクトは、スクリプトが紐づけられているオブジェクトだけでなく、スクリプトが紐づけられていないオブジェクトでも良い。オブジェクトは、例えば、仮想空間上に配置されているオブジェクト等でも良い。
【0059】
表示情報とは、オブジェクトを表示する際に使用される情報である。表示情報は、モデル情報と言っても良い。オブジェクトデータには、例えば、オブジェクト識別子に対応付いている。
【0060】
モデル情報とは、アバター等のオブジェクトの表示を構成するための情報である。モデル情報は、例えば、メッシュ情報、ボーン情報、マテリアル情報を有する。モデル情報は、例えば、glTF ?(GL Transmission Format)?のデータ構造を有する。ただし、モデル情報のデータ構造は、VRM、OBJ、FBX、STL、GLB、COLLADA、等でも良く、種類を問わない。なお、表示情報のデータ構造も問わない。
【0061】
オブジェクトデータには、例えば、製作者識別子、処分権者識別子が対応付いている。製作者識別子とは、製作者を識別する情報である。製作者識別子は、例えば、ID、製作者名である。処分権者識別子とは、オブジェクトデータの処分権者の識別子である。処分権者識別子は、例えば、ID、処分権者名である。
【0062】
オブジェクトデータには、例えば、1または2以上のオブジェクト属性値が対応付いている。オブジェクト属性値とは、オブジェクトデータに関する属性値である。
【0063】
1または2以上のオブジェクト属性値は、例えば、製作者属性値、処分権者属性値、仮想空間属性値のうちのいずれかを含む。1以上のオブジェクト属性値は、オブジェクトに対応付けられたサブプログラムのうち実行できないサブプログラムを識別するサブプログラム識別子、またはオブジェクトに対応付けられたサブプログラムのうち実行できるサブプログラムを識別するサブプログラム識別子を含んでも良い。オブジェクト属性値は、通常、動的属性値または静的属性値である。
【0064】
製作者属性値とは、オブジェクトデータの製作者の属性値である。製作者属性値は、例えば、売上情報、レビュー情報、審査履歴情報である。なお、1以上の製作者属性値は、製作者識別子とともに、製作者情報を構成する。
【0065】
売上情報とは、製作者のオブジェクトデータの売り上げに関する情報である。売上情報は、例えば、売上金額、売上金額が閾値以上であるか否かを示す情報である。なお、例えば、売上情報が多額の売上を示す場合、当該製作者は、不正なものを販売している可能性が低い、と考える。
【0066】
レビュー情報とは、オブジェクトデータの購入者(ユーザ)からのレビューの情報である。レビュー情報は、例えば、スコア、コメント、ユーザからのレビューの投稿数である。スコアは、例えば、1から5の5段階のうちのいずれかの数値であるが、問わない。コメントは、文字列であり、レビュー、クチコミ等と言っても良い。また、レビューは、審査や評価等を含む概念でも良い。また、レビュー情報は、例えば、第三者の著作権を侵害する又は侵害する恐れあるオブジェクトを販売しているか否かを示す情報、第三者の著作権を侵害する又は侵害する恐れあるオブジェクトを販売していることを示す文字列、販売時の説明とは異なる挙動をするオブジェクトを出品しているか否かを示す情報、販売時の説明とは異なる挙動をするオブジェクトを出品していることを示す文字列である。
【0067】
審査履歴情報とは、オブジェクトデータのアップロード時の審査の結果を示す情報、オブジェクトデータの他ユーザからの通報に伴う審査の結果を示す情報、オブジェクトデータの他ユーザからの通報に伴う審査の回数である。
【0068】
処分権者属性値とは、オブジェクトデータの処分権者の属性値である。処分権者属性値は、例えば、BAN・ブロック履歴情報である。なお、1以上の処分権者属性値は、処分権者識別子とともに、処分権者情報を構成する。
【0069】
BAN・ブロック履歴情報とは、オブジェクトデータの処分権者が、他のユーザから仮想空間への参加を禁止されたり、ブロックされたりしたことに関する情報である。BAN・ブロック履歴情報は、例えば、BAN(禁止)またはブロックされた回数、BAN(禁止)またはブロックされた日時とオブジェクト識別子である。
【0070】
仮想空間属性値とは、ワールドに設定されている属性値である。1以上の仮想空間属性値は、ワールド情報に含まれていても良い。仮想空間属性値は、例えば、オブジェクトの生成を許可するか否かを示すオブジェクト生成許可情報、オブジェクト一覧の取得を許可するか否かを示すオブジェクト一覧許可情報、オブジェクトデータの読み取りを許可するか否かを示すオブジェクト読取り許可情報、オブジェクトデータに対する書き込みを許可するか否かを示すオブジェクト書込み許可情報、ユーザデータの読み取りを許可するか否かを示すユーザ読取り許可情報、ユーザデータに対する書き込みを許可するか否かを示すユーザ書込み許可情報である。1以上の仮想空間属性値は、仮想空間において実行できないサブプログラムを識別するサブプログラム識別子、または仮想空間において実行できるサブプログラムを識別するサブプログラム識別子を含んでも良い。
【0071】
なお、オブジェクト読取り許可情報、オブジェクト書込み許可情報は、許可するか否かを示す情報ではなく、着目オブジェクトからの距離による制限を特定する情報でも良い。つまり、オブジェクト読取り許可情報、オブジェクト書込み許可情報は、着目オブジェクトからの距離が閾値以上また閾値より大きい場合、読取りまたは書込みを許可しないことを示す情報でも良い。
【0072】
動的属性値とは、動的に変化する属性値である。動的属性値は、例えば、着目オブジェクトからの距離、仮想空間の中の着目地点からの距離、売上情報、レビュー情報、審査履歴情報、BAN・ブロック履歴情報である。
【0073】
静的属性値とは、動的には変化しない属性値である。動的には変化しないことは、全く変化し得ないことでなくても良い。静的属性値は、例えば、仮想空間属性値のうち動的に変化しないものである。つまり、ワールドの作成者(例えば、運営者と言っても良い)によって、いつでも変更できる仮想空間属性値は、動的属性値に該当すると考えても良い。
【0074】
実行条件とは、スクリプトを実行するか否かを判断するための条件である。実行条件は、制限条件でも良いし、許可条件でも良い。制限条件とは、スクリプトを実行しないことを決定するための条件である。許可条件とは、スクリプトを実行することを決定するための条件である。実行条件は、例えば、サブプログラムに対応付いている。実行条件は、例えば、サブプログラム識別子に対応付いている。サブプログラム識別子は、例えば、APIの情報、モジュール名、関数名、メソッド名、メッセージ名、IDである。
【0075】
実行条件は、通常、1以上のオブジェクト属性値に基づく条件である。実行条件のうちの制限条件は、対象となるオブジェクトが一定の信頼度を満たさないことを示す条件であり、例えば、「売上情報<=閾値A(例えば、1万円)」、「レビュー情報のスコアの平均値<=閾値B(例えば、「2」)」、「審査履歴情報である審査回数>=閾値C(例えば、「3」)」、「BAN・ブロック履歴情報であるBAN(禁止)またはブロックされた回数>=閾値D(例えば、「1」)」である。また、制限条件は、対象となるオブジェクトが配置されるワールド(仮想空間)ごとに設定された条件であってもよく、例えば、「オブジェクト生成許可情報=NG」、「オブジェクト一覧許可情報=NG」、「オブジェクト書込み許可情報=NG」、「ユーザ読取り許可情報=NG」、「ユーザ書込み許可情報=NG」である。なお、「審査回数」とは、オブジェクトアップロード時や他ユーザからの通報等に伴う審査の回数であるが、審査の結果、不適格(NG、不適切等と言っても良い)であった回数でも良い。
【0076】
実行条件のうちの許可条件は、対象となるオブジェクトが一定の信頼度を満たすことを示す条件であり、例えば、「売上情報>閾値A(例えば、1万円)」、「レビュー情報のスコアの平均値>閾値B(例えば、「2」)」、「審査履歴情報である審査の回数<閾値C(例えば、「3」)」、「BAN・ブロック履歴情報であるBAN(禁止)またはブロックされた回数<閾値D(例えば、「1」)」である。また、実行条件は、対象となるオブジェクトが配置されるワールド(仮想空間)ごとに設定された条件であってもよく、例えば、「オブジェクト生成許可情報=OK」、「オブジェクト一覧許可情報=OK」、「オブジェクト書込み許可情報=OK」、「ユーザ読取り許可情報=NG」、「ユーザ書込み許可情報=OK」である。
【0077】
ユーザ識別子とは、オブジェクト処理装置1を使用するユーザを識別する情報である。ユーザ識別子は、例えば、ユーザID、氏名、電話番号、メールアドレスである。ユーザ識別子は、例えば、製作者識別子、処分権者識別子になり得る。なお、ユーザ識別子に対応付けて、1以上のユーザ属性値が格納部11に格納されていても良い。
【0078】
受付部12は、各種の情報や指示を受け付ける。各種の情報や指示は、例えば、ダウンロード指示、オブジェクトに対する指示である。
【0079】
ダウンロード指示とは、ワールド情報および1または2以上のオブジェクトデータをダウンロードする指示である。ダウンロード指示により、例えば、ワールド情報と1以上のオブジェクトデータがサーバ2からダウンロードされ、オブジェクト処理装置1で仮想空間、1以上のオブジェクトが出力される。オブジェクトに対する指示は、例えば、オブジェクトの移動指示、オブジェクトを動作させる指示、オブジェクトを削除する指示である。なお、オブジェクトに対する指示の内容は種々あり得、問わない。オブジェクトを動作させる指示は、例えば、オブジェクトの腕を上げる指示、オブジェクトの脚を上げる指示である。
【0080】
なお、ここでの受け付けは、通常、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付けであるが、サーバ2からの受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付け等でも良い。
【0081】
各種の情報や指示の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。
【0082】
処理部13は、各種の処理を行う。各種の処理は、例えば、データ取得部131、属性値取得部132、判断部133、制御部134が行う処理である。
【0083】
処理部13は、例えば、ワールド情報を用いて仮想空間を構成する。処理部13は、例えば、サーバ2から受信されたワールド情報を用いて仮想空間を構成する。処理部13は、例えば、製作者の端末装置3から受信されたワールド情報を用いて仮想空間を構成する。なお、ワールド情報には、1または2以上の仮想空間属性値が対応付いていることは好適である。
【0084】
処理部13は、例えば、1または2以上の各オブジェクトの表示情報を用いて、出力する1以上のオブジェクトを構成する。処理部13は、例えば、サーバ2から受信されたオブジェクトデータが有する表示情報を用いてオブジェクト構成する。処理部13は、例えば、製作者の端末装置3から受信されたオブジェクトデータが有する表示情報を用いてオブジェクト構成する。
【0085】
データ取得部131は、オブジェクトデータを取得する。なお、データ取得部131がオブジェクトを取得するタイミングやトリガーは問わない。また、オブジェクトデータは、仮想空間に表示されるオブジェクトの表示情報と実行可能なスクリプトとを有する。
【0086】
データ取得部131は、例えば、ユーザが使用する端末装置3から送信されたオブジェクトデータを取得する。
【0087】
データ取得部131は、例えば、格納部11に格納されている1または2以上のオブジェクトデータを取得する。
【0088】
データ取得部131は、例えば、サーバ2から1または2以上のオブジェクトデータを受信する。なお、サーバ2のオブジェクトデータは、例えば、端末装置3から送信されたオブジェクトデータである。なお、受信されるオブジェクトデータには、1または2以上のオブジェクト属性値が対応付いていることは好適である。
【0089】
属性値取得部132は、オブジェクトデータに関する1以上のオブジェクト属性値を取得する。属性値取得部132は、例えば、オブジェクトデータに対応付く1以上のオブジェクト属性値を格納部11から取得する。属性値取得部132は、例えば、サーバ2または端末装置3から、オブジェクトデータに対応付く1以上のオブジェクト属性値を受信する。
【0090】
ここで、1以上のオブジェクト属性値は、例えば、製作者属性値、処分権者属性値、仮想空間属性値のうちの1または2種類以上の属性値を含む。1以上のオブジェクト属性値は、例えば、動的属性値または/および静的属性値を含む。
【0091】
判断部133は、属性値取得部132が取得した1以上のオブジェクト属性値を用いて行われた判断の結果であり、前記オブジェクトデータに含まれる前記スクリプトを実行するか否かについての判断の結果を取得する。判断部133は、例えば、属性値取得部132が取得した1または2以上のオブジェクト属性値を用いて、オブジェクトデータに含まれるスクリプトを実行するか否かを判断し、判断結果を取得する。なお、かかる処理を、適宜、実行判断処理と言う。また、判断結果は、例えば、スクリプトを実行するか否かを示す情報、実行するサブプログラム識別子(例えば、API)である。なお、スクリプトを実行するか否かについての判断は、通常、判断部133が行うが、他の装置(例えば、サーバ2)が行った判断結果を、判断部13が取得しても良い。
【0092】
判断部133は、例えば、属性値取得部132が取得した1以上のオブジェクト属性値が、1または2以上の各実行条件を満たすか否かを判断し、判断結果を取得する。
【0093】
判断部133は、例えば、表示情報を用いてオブジェクトを表示するか否かを判断する。判断部133は、例えば、オブジェクトの配置に関する処理を行うか否かを判断する。
【0094】
なお、判断部133が行う判断のタイミングやトリガーは問わない。判断部133は、例えば、データ取得部131が新しいオブジェクトデータを取得したことをトリガーとして、上記の実行判断処理を行う。
【0095】
オブジェクト処理装置1の判断部133は、例えば、実行判断処理のうち、一部の判断のみを行っても良い。判断部133は、例えば、1以上の製作者属性値を用いた実行判断処理、1以上の処分権者属性値を用いた実行判断処理のうちの1または2種類以上の実行判断処理を行い、1以上の仮想空間属性値を用いた実行判断処理等の他の実行判断処理はサーバ2のサーバ処理部23が行っても良い。
【0096】
制御部134は、判断部133が取得した判断結果に応じて、スクリプトの実行を制限する。制御部134は、判断部133が取得した判断結果に応じて、オブジェクトデータに含まれるスクリプトを実行したり、実行しなかったりする。制御部134は、判断部133が取得した判断結果に応じて、オブジェクトデータに含まれるスクリプトが有するサブプログラムを実行したり、実行しなかったりする。
【0097】
制御部134は、例えば、判断結果がスクリプトを実行しないことを示す情報である場合に、スクリプトを実行させないための制限処理を行う。制御部134は、例えば、判断結果がスクリプトを実行することを示す情報である場合に、スクリプトの実行処理を行う。
【0098】
制限処理は、スクリプトの全部、または一部を実行させないための処理である。制限処理は、2以上の各制限のための制限処理を含んでも良い。制限処理は、例えば、スクリプトまたはサブプログラムに対応付く制限フラグを書き込む処理である。制限処理は、例えば、判断結果が実行することを示すサブプログラムにのみ、許可フラグを対応付ける処理である。制限処理は、例えば、オブジェクトデータに含まれるスクリプトまたはサブプログラムを削除することである。制限処理は、例えば、オブジェクトデータに含まれるスクリプトまたはサブプログラムを、一時的に削除することである。制限処理は、オブジェクトデータに含まれるスクリプトまたはサブプログラムを実行しないことを含むと考えても良い。
【0099】
なお、制限フラグとは、スクリプトまたはサブプログラムを実行しないことを示す情報である。許可フラグとは、スクリプトまたはサブプログラムを実行することを示す情報である。
【0100】
制御部134は、例えば、2以上の制限処理のうち、一部のみの制限処理を行う。なお、かかる場合、他の部分の制限処理は、例えば、サーバ2が行う。一部のみの制限処理とは、一部のサブプログラムのみに対する制限処理である。
【0101】
制御部134は、判断部133が実行すると判断したサブプログラムのみを実行する。制御部134は、例えば、制限フラグが対応付いていないサブプログラムのみを実行する。制御部134は、例えば、許可フラグが対応付いているサブプログラムのみを実行する。
【0102】
制御部134は、例えば、判断部133がオブジェクトを表示すると判断した場合のみ、表示情報を用いて、オブジェクトを出力する。なお、ここでは、オブジェクトを出力する処理は、スクリプトの実行により実現される。
【0103】
ここで、出力とは、通常、ディスプレイへの表示、プロジェクターを用いた投影であるが、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念であっても良い。
【0104】
制御部134は、例えば、判断部133がオブジェクトの配置に関する処理を行うと判断した場合のみ、オブジェクトを配置するための処理を行う。なお、ここでは、オブジェクトを配置するための処理は、スクリプトの実行により実現される。オブジェクトを配置するための処理は、例えば、仮想空間内の予め決められた位置に、オブジェクトを表示する処理である。オブジェクトを配置するための処理は、例えば、仮想空間内の次の地点まで、オブジェクトを移動する処理である。
【0105】
制御部134は、例えば、判断結果に応じて、出力部16がオブジェクトを出力する処理を制限する。オブジェクトを出力する処理を制限することは、結果として、オブジェクトが出力されなければ良く、制御部134が行う処理は問わない。制御部134は、例えば、オブジェクトの出力を行うサブプログラムの先頭にプログラムポインタが移動した場合に、そのサブプログラムを飛ばすためにプログラムポインタをジャンプさせる処理を行っても良いし、オブジェクトの出力を指示するメッセージを受け付けた場合に、そのメッセージに対応するメソッドを実行しなくても良いし、オブジェクトの出力を行うサブプログラムに対応付けて制限フラグを付加する等しても良い。
【0106】
制御部134は、例えば、判断結果に応じて、オブジェクトを出力する処理以外の少なくとも一の処理を制限しても良い。かかる制限は、結果として、該当する処理が行われなければ良い。
【0107】
制御部134は、例えば、制限処理を行った上で、実行可能なスクリプトまたはサブプログラムの実行までを行っても良いし、制限処理のみを行っても良い。
【0108】
送信部14は、各種の指示や情報を送信する。各種の指示や情報は、例えば、ダウンロード指示、オブジェクトに対する指示、オブジェクトデータである。
【0109】
受信部15は、各種の情報を受信する。各種の情報は、例えば、ワールド情報、1または2以上のオブジェクトデータである。受信部15は、例えば、サーバ2または端末装置3から各種の情報を受信する。
【0110】
出力部16は、オブジェクトデータに含まれる表示情報を用いて、オブジェクトを出力する。出力部16は、表示情報を用いて構成されたオブジェクトを出力する。
【0111】
出力部16は、例えば、制御部134におけるスクリプトの実行結果を出力する。スクリプトの実行結果は、例えば、変化したオブジェクト、移動後のオブジェクトである。
【0112】
ここで、出力とは、通常、ディスプレイへの表示、プロジェクターを用いた投影であるが、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念であっても良い。
【0113】
サーバ2を構成するサーバ格納部21には、各種の情報が格納される。各種の情報は、例えば、1または2以上のワールド情報、各ワールド情報に対応付く1または2以上の仮想空間属性値、1または2以上のオブジェクトデータ、各オブジェクトデータに対応付く1または2以上のオブジェクト属性値、1または2以上の製作者情報、1または2以上の処分権者情報、1または2以上の実行条件である。なお、ワールド情報には、通常、仮想空間識別子が対応付いている。仮想空間識別子は、仮想空間識別子と言っても良い。オブジェクトデータには、通常、オブジェクト識別子が対応付いている。また、ワールド情報には、当該ワールド情報により出力される仮想空間に配置される1以上の各オブジェクトのオブジェクトデータが対応付いている。
【0114】
サーバ受信部22は、各種の情報や指示を受信する。各種の情報や指示は、例えば、ダウンロード指示、オブジェクトに対する指示、処分権者変更指示、1または2以上のワールド情報、ワールド情報に対応付く1または2以上の仮想空間属性値、1または2以上のオブジェクトデータ、1または2以上の製作者情報、1または2以上の処分権者情報である。
【0115】
処分権者変更指示とは、オブジェクトデータの処分権者を変更する指示である。処分権者変更指示は、通常、オブジェクト識別子と処分権者識別子とを有する。処分権者識別子は、オブジェクトの新しい処分権者の識別子である。
【0116】
サーバ受信部22は、例えば、オブジェクト処理装置1からダウンロード指示を受信する。サーバ受信部22は、例えば、オブジェクト処理装置1からオブジェクトに対する指示を受信する。サーバ受信部22は、例えば、端末装置3からワールド情報、オブジェクトデータを受信する。サーバ受信部22は、例えば、端末装置3から処分権者変更指示を受信する。
【0117】
サーバ処理部23は、各種の処理を行う。サーバ処理部23は、例えば、ダウンロード指示に対応するワールド情報、1以上の仮想空間属性値、1または2以上のオブジェクトデータをサーバ格納部21から取得する。
【0118】
サーバ処理部23は、例えば、受信された処分権者変更指示に応じて、オブジェクトデータの処分権者を変更する。サーバ処理部23は、例えば、受信された処分権者変更指示が有するオブジェクト識別子と対になる処分権者識別子を、受信された処分権者変更指示が有する処分権者識別子に変更する。
【0119】
サーバ処理部23は、例えば、判断部133が行う処理と同じ処理を行う。また、サーバ処理部23は、例えば、制御部134が行う処理と同じ処理を行う。つまり、サーバ処理部23は、例えば、受信されたオブジェクトデータ、または受信された指示等に含まれるオブジェクトデータに対して、上述した実行判断処理を行う。サーバ処理部23は、例えば、サーバ格納部21の1または2以上の各実行条件を用いて、実行判断処理を行う。
【0120】
サーバ送信部24は、各種の情報を送信する。各種の情報は、例えば、ワールド情報、1以上の仮想空間属性値、1または2以上のオブジェクトデータ、1以上のオブジェクト属性値、製作者情報、処分権者情報である。
【0121】
端末装置3を構成する端末格納部31には、各種の情報が格納される。各種の情報は、例えば、ユーザ識別子である。ユーザ識別子は、例えば、製作者識別子、処分権者識別子になり得る。
【0122】
端末受付部32は、各種の指示や情報を受け付ける。各種の指示や情報は、例えば、オブジェクトデータ、ワールド情報、処分権者変更指示である。オブジェクトデータ、ワールド情報は、例えば、端末装置3のユーザであるクリエータが作成した情報である。
【0123】
アップロード指示とは、オブジェクトデータまたは/およびワールド情報を、サーバ2にアップロードする指示である。
【0124】
また、ここでの受け付けは、通常、キーボードやマウス、タッチパネル、VRデバイスのコントローラなどの入力デバイスから入力された情報の受け付けであるが、他の装置からの受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付け等でも良い。
【0125】
各種の指示や情報の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。
【0126】
端末処理部33は、各種の処理を行う。各種の処理は、例えば、受け付けられた指示や情報を送信するデータ構造にする処理、受信された情報を出力するデータ構造にする処理である。
【0127】
端末送信部34は、各種の指示や情報を送信する。各種の指示や情報は、例えば、オブジェクトデータ、ワールド情報、アップロード指示である。
【0128】
端末受信部35は、各種の指示や情報を受信する。各種の指示や情報は、例えば、オブジェクトデータやワールド情報のアップロードの結果を示す情報である。
【0129】
端末出力部36は、各種の情報を出力する。各種の情報は、例えば、アップロードの結果を示す情報である。
【0130】
ここで、出力とは、通常、ディスプレイへの表示、プロジェクターを用いた投影であるが、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念であっても良い。
【0131】
格納部11、サーバ格納部21、および端末格納部31は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0132】
格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
【0133】
受付部12、および端末受付部32は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0134】
処理部13、データ取得部131、属性値取得部132、判断部133、制御部134、サーバ処理部23、および端末処理部33は、通常、プロセッサやメモリ等から実現され得る。処理部13等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
【0135】
送信部14、サーバ送信部24、および端末送信部34は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【0136】
受信部15、サーバ受信部22、および端末受信部35は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【0137】
出力部16、および端末出力部36は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部16は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0138】
次に、情報システムAの動作例について説明する。まず、オブジェクト処理装置1の動作例について、図4のフローチャートを用いて説明する。
【0139】
(ステップS401)受付部12は、ダウンロード指示を受け付けたか否かを判断する。ダウンロード指示を受け付けた場合はステップS402に行き、ダウンロード指示を受け付けなかった場合はステップS406に行く。
【0140】
(ステップS402)処理部13は、送信するダウンロード指示を構成する。送信部14は、ダウンロード指示をサーバ2に送信する。なお、送信するダウンロード指示は、例えば、ワールド情報を特定する仮想空間識別子を有する。
【0141】
(ステップS403)受信部15は、ステップS402で送信されたダウンロード指示に対応するワールド情報および1以上のオブジェクトデータを、サーバ2から受信したか否かを判断する。ワールド情報等を受信した場合はステップS404に行き、受信しなかった場合はステップS403に戻る。
【0142】
(ステップS404)処理部13は、受信されたワールド情報および1以上のオブジェクトデータを格納部11に、少なくとも一時蓄積する。
【0143】
(ステップS405)処理部13等は、格納部11に蓄積されたワールド情報および1以上のオブジェクトデータを用いて、仮想空間出力処理を行う。ステップS401に戻る。仮想空間出力処理の例について、図5のフローチャートを用いて説明する。なお、仮想空間出力処理とは、仮想空間と1以上のオブジェクトデータとを取得する指示である。
【0144】
(ステップS406)受付部12は、出力されている仮想空間におけるオブジェクトに対する指示を受け付けたか否かを判断する。指示を受け付けた場合はステップS407に行き、指示を受け付けなかった場合はステップS410に行く。
【0145】
(ステップS407)処理部13等は、ステップS406で受け付けられた指示に対する処理を実行する。なお、かかる指示実行処理の例について、図8のフローチャートを用いて説明する。
【0146】
(ステップS408)処理部13は、サーバ2に送信する指示等を取得する。なお、かかる指示等は、ステップS406で受け付けられた指示を含む。かかる指示等は、例えば、ステップS406で受け付けられた指示に対応するオブジェクトのオブジェクトデータを含む。
【0147】
(ステップS409)送信部14は、ステップS408で取得された指示等をサーバ2に送信する。ステップS401に戻る。
【0148】
(ステップS410)受信部15は、サーバ2から指示等を受信したか否かを判断する。指示等を受信した場合はステップS411に行き、指示等を受信しなかった場合はステップS401に戻る。かかる指示等は、例えば、他のユーザが他のオブジェクト処理装置1において、オブジェクトに対して行った指示に基づく情報である。かかる指示等は、例えば、他のユーザが行った指示に対するオブジェクトのオブジェクトデータを含む。かかる指示等は、例えば、他のユーザが行った指示に対する実行すべきスクリプトのスクリプト識別子、または実行すべきサブプログラムのサブプログラム識別子を含む。
【0149】
(ステップS411)処理部13等は、ステップS406で受け付けられた指示に対する処理を実行する。ステップS401に戻る。なお、かかる指示実行処理の例について、図8のフローチャートを用いて説明する。
【0150】
なお、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0151】
次に、ステップS405の仮想空間出力処理の例について、図5のフローチャートを用いて説明する。
【0152】
(ステップS501)処理部13は、格納部11からワールド情報を取得する。なお、ワールド情報は、例えば、サーバ2から送信されたワールド情報である。
【0153】
(ステップS502)処理部13は、ステップS501で取得したワールド情報を用いて、出力する仮想空間を構成する。
【0154】
(ステップS503)出力部16は、ステップS502で構成された仮想空間を出力する。
【0155】
(ステップS504)処理部13は、カウンタiに1を代入する。
【0156】
(ステップS505)処理部13は、出力対象のi番目のオブジェクトのオブジェクトデータが、格納部11に存在するか否かを判断する。i番目のオブジェクトデータが存在する場合はステップS506に行き、存在しない場合は上位処理にリターンする。なお、かかるオブジェクトデータは、例えば、ワールド情報に対応付けられて、サーバ2から送信されたオブジェクトデータである。
【0157】
(ステップS506)処理部13は、出力対象のi番目のオブジェクトのオブジェクトデータを格納部11から取得する。
【0158】
(ステップS507)処理部13は、ステップS506で取得したオブジェクトデータが有する表示情報を用いて、出力するオブジェクトを構成する。
【0159】
(ステップS508)判断部133は、ステップS506で取得したオブジェクトデータに対して、スクリプトを実行するか否かの判断を行うか否かを判断する。スクリプトの実行判断を行う場合はステップS509に行き、実行判断を行わない場合はステップS512に行く。
【0160】
なお、判断部133は、例えば、製作者情報、処分権者情報、ワールド情報のいずれか1または2以上の情報に基づいて、スクリプトの実行判断を行なうか否かを判断する。判断部133は、例えば、オブジェクトデータに対応する処分権者識別子が特定の処分権者識別子(例えば、自分の識別子)である場合に、スクリプトの実行判断を行わない、と判断する。判断部133は、例えば、オブジェクトデータに対応する製作者識別子が特定の製作者識別子(例えば、ワールド情報の提供元の識別子)である場合に、スクリプトの実行判断を行わない、と判断する。
【0161】
(ステップS509)判断部133は、ステップS506で取得したオブジェクトデータが有するスクリプトを実行するか否かの判断を行う。かかる実行判断処理の例について、図6のフローチャートを用いて説明する。なお、スクリプトを実行するか否かの判断は、通常、スクリプトが有するサブプログラムを実行するか否かの判断を含む。
【0162】
(ステップS510)制御部134は、ステップS509における判断結果に応じたスクリプトの実行の処理を行う。かかるスクリプト実行処理の例について、図7のフローチャートを用いて説明する。
【0163】
(ステップS511)処理部13は、カウンタiを1、インクリメントする。ステップS505に戻る。
【0164】
(ステップS512)判断部133は、ステップS506で取得したオブジェクトデータがスクリプトを有するか否かを判断する。スクリプトを有する場合はステップS510に行き、スクリプトを有しない場合はステップS513に行く。
【0165】
(ステップS513)出力部16は、ステップS507で構成されたオブジェクトを出力する。ステップS511に行く。
【0166】
次に、ステップS509の実行判断処理の例について、図6のフローチャートを用いて説明する。
【0167】
(ステップS601)判断部133は、カウンタiに1を代入する。
【0168】
(ステップS602)判断部133は、格納部11に、i番目の実行条件が存在するか否かを判断する。i番目の実行条件が存在する場合はステップS603に行き、存在しない場合は上位処理にリターンする。
【0169】
(ステップS603)判断部133は、格納部11からi番目の実行条件を取得する。
【0170】
(ステップS604)属性値取得部132は、i番目の実行条件の判断に使用する1または2以上のオブジェクト属性値を取得する。
【0171】
属性値取得部132は、例えば、i番目の実行条件に対応付いているオブジェクト属性値を特定する情報に対応するオブジェクト属性値を取得する。属性値取得部132は、例えば、i番目の実行条件を解析し、i番目の実行条件に対応付いているオブジェクト属性値を特定する情報を決定し、当該情報に対応するオブジェクト属性値を取得する。
【0172】
(ステップS605)判断部133は、ステップS604で取得された1以上のオブジェクト属性値がi番目の実行条件を満たすか否かを判断する。判断部133における判断の結果、i番目の実行条件に対応するサブプログラムの実行を制限する場合はステップS606に行き、制限しない場合はステップS607に行く。なお、i番目の実行条件を満たすか否かを判断の結果は、サブプログラムの実行を制限するか否かの判断である。
【0173】
なお、ここで、判断部133は、実行条件を満たすか否かを判断せず、判断結果をサーバ2から取得しても良い。つまり、サーバ2で1以上のオブジェクト属性値が実行条件を満たすか否かを判断しておき、その判断結果を、判断部133はサーバ2から読み出すだけでも良い。なお、オブジェクト処理装置1がサーバ2から判断結果を取得するタイミングは問わない。判断部133は、判断結果が必要な際に、サーバ2から判断結果を取得しても良いし、オブジェクトデータを取得した際に、判断結果もサーバ2から取得しても良い。
【0174】
なお、判断部133が判断結果をサーバ2から読み出すタイミングは問わない。判断部133は、例えば、端末からスクリプトの実行の判断結果を取得するリクエストを受けた場合、またはオブジェクトデータがアップロードされた場合に、当該スクリプトまたは当該オブジェクトデータに対応する判断結果をサーバ2から読み出す。
【0175】
また、サーバ2が判断する場合であり、かつサーバ2がスクリプトを実行する場合には、サーバ2がスクリプトを実行し、実行した結果の表示データを端末に送信することも有り得る。
【0176】
(ステップS606)制御部134は、i番目の実行条件に対応するサブプログラムに対応付けて、制限フラグを付加する。なお、制限フラグは、実行しないサブプログラムに対応付けられる。
【0177】
(ステップS607)判断部133は、カウンタiを1、インクリメントする。ステップS602に戻る。
【0178】
なお、図6のフローチャートにおいて、制御部134は、実行すると判断されたサブプログラムのみ対応付けて、許可フラグを付加しても良い。その他、制御部134は、フラグを付加する以外の、上記で説明した制限処理を行っても良い。
【0179】
次に、ステップS510のスクリプト実行処理の例について、図7のフローチャートを用いて説明する。
【0180】
(ステップS701)制御部134は、オブジェクトデータに含まれるスクリプトを取得する。
【0181】
(ステップS702)制御部134は、カウンタiに1を代入する。
【0182】
(ステップS703)制御部134は、ステップS701で取得したスクリプトの中に、i番目のサブプログラムが存在するか否かを判断する。i番目のサブプログラムが存在する場合はステップS704に行き、存在しない場合はステップS706に行く。
【0183】
(ステップS704)制御部134は、i番目のサブプログラムに制限フラグが対応付いているか否かを判断する。制限フラグが対応付いている場合はステップS706に行き、制限フラグが対応付いていない場合はステップS705に行く。
【0184】
(ステップS705)制御部134は、i番目のサブプログラムを実行する。
【0185】
(ステップS706)制御部134は、カウンタiを1、インクリメントする。ステップS703に戻る。
【0186】
なお、図7のフローチャートにおいて、制御部134は、実行しないと判断されたサブプログラムは実行せずに、実行すると判断されたサブプログラムは実行すれば良い。つまり、制御部134は、制限フラグに基づいて、サブプログラムの実行制御を行うことは必須ではない。
【0187】
次に、ステップS407の指示実行処理の例について、図8のフローチャートを用いて説明する。
【0188】
(ステップS801)判断部133は、対象とする指示に対応するオブジェクトデータを取得する。
【0189】
(ステップS802)判断部133は、ステップS801で取得したオブジェクトデータに対して、実行判断を行うか否かを判断する。実行判断を行う場合はステップS803に行き、実行判断を行わない場合はステップS805に行く。なお、ここでの処理は、ステップS508の処理と同じでも良い。
【0190】
(ステップS803)判断部133は、ステップS801で取得したオブジェクトデータが有するスクリプトを実行するか否かの判断を行う。かかる実行判断処理の例について、図6のフローチャートを用いて説明した。
【0191】
(ステップS804)制御部134は、ステップ803における判断結果に応じたスクリプトの実行の処理を行う。上位処理にリターンする。かかるスクリプト実行処理の例について、図7のフローチャートを用いて説明した。
【0192】
(ステップS805)判断部133は、ステップS801で取得したオブジェクトデータがスクリプトを有するか否かを判断する。スクリプトを有する場合はステップS804に行き、スクリプトを有しない場合はステップS806に行く。
【0193】
(ステップS806)処理部13は、対象となる指示に応じた処理を行う。上位処理にリターンする。
【0194】
なお、処理部13は、例えば、オブジェクトデータが有する表示情報を用いて、出力するオブジェクトを構成し、出力部16は当該オブジェクトを出力する。
【0195】
図8のフローチャートにおいて、判断部133は、指示に対応するサブプログラム識別子を取得し、当該サブプログラム識別子で識別されるサブプログラムの実行の制限に関する実行条件を、格納部11の1以上の実行条件から検索し、当該実行条件のみを満たすか否かを判断することは好適である。判断の処理が高速化されるからである。
【0196】
次に、サーバ2の動作例について、図9のフローチャートを用いて説明する。
【0197】
(ステップS901)サーバ受信部22は、オブジェクト処理装置1からダウンロード指示を受信したか否かを判断する。ダウンロード指示を受信した場合はステップS902に行き、ダウンロード指示を受信しなかった場合はステップS903に行く。
【0198】
(ステップS902)サーバ処理部23は、ダウンロード指示に対応するワールド情報と1以上のオブジェクトデータとをサーバ格納部21から取得する。サーバ送信部24は、当該ワールド情報と1以上のオブジェクトデータとを、ダウンロード指示を送信してきたオブジェクト処理装置1に送信する。ステップS901に戻る。
【0199】
なお、サーバ処理部23は、ワールド情報等を送信したオブジェクト処理装置1の情報をサーバ格納部21に蓄積することは好適である。かかるオブジェクト処理装置1は、現在、仮想空間およびオブジェクトを出力している稼働中の端末である。オブジェクト処理装置1の情報は、例えば、オブジェクト処理装置1のIPアドレス、ユーザ識別子である。
【0200】
(ステップS903)サーバ処理部23は、オブジェクト処理装置1から、オブジェクトに対する指示等を受信したか否かを判断する。指示等を受信した場合はステップS904に行き、指示等を受信しなかった場合はステップS910に行く。
【0201】
(ステップS904)サーバ処理部23は、指示等に対応するオブジェクトのスクリプトの実行判断を行うか否かを判断する。実行判断を行う場合はステップS905に行き、実行判断を行わない場合はステップS906に行く。なお、かかる処理は、ステップS508の処理と同じでも良い。
【0202】
(ステップS905)サーバ処理部23は、指示等に対応するオブジェクトのスクリプトの実行判断を行う。かかる実行判断の処理は、図6のフローチャートで説明した処理と同じである。
【0203】
(ステップS906)サーバ処理部23は、カウンタiに1を代入する。
【0204】
(ステップS907)サーバ処理部23は、サーバ格納部21を参照し、i番目のオブジェクト処理装置1が存在するか否かを判断する。i番目のオブジェクト処理装置1が存在する場合はステップS908に行き、存在しない場合はステップS901に戻る。
【0205】
i番目のオブジェクト処理装置1は、例えば、現在、稼働中のオブジェクト処理装置1の中のi番目のオブジェクト処理装置1である。i番目のオブジェクト処理装置1は、例えば、指示等に対応するオブジェクトが含まれるワールドに存在するオブジェクト(例えば、アバター)に対応するオブジェクト処理装置1の中のi番目のオブジェクト処理装置1である。
【0206】
(ステップS908)サーバ送信部24は、i番目のオブジェクト処理装置1に、受信された指示等を送信する。サーバ送信部24は、i番目のオブジェクト処理装置1に、当該指示等に対応するオブジェクトのオブジェクトデータを送信しても良い。
【0207】
(ステップS909)サーバ処理部23は、カウンタiを1、インクリメントする。ステップS907に戻る。
【0208】
(ステップS910)サーバ受信部22は、端末装置3からワールド情報、またはオブジェクトデータを受信したか否かを判断する。情報を受信した場合はステップS911に行き、受信しなかった場合はステップS914に行く。
【0209】
(ステップS911)サーバ処理部23は、ステップS910で受信された情報がオブジェクトデータであり、かつ実行判断を行うか否かを判断する。かかる条件を満たす場合はステップS912に行き、満たさない場合はステップS913に行く。
【0210】
(ステップS912)サーバ処理部23は、受信されたオブジェクトデータが有するスクリプトの実行判断を行う。かかる実行判断の処理は、図6のフローチャートで説明した処理と同じである。
【0211】
なお、ここでの実行判断の結果、当該オブジェクトデータが有するスクリプトの全部または一部のサブプログラムの実行が制限されるための制限処理が行われることは好適である。
【0212】
(ステップS913)サーバ処理部23は、受信されたワールド情報またはオブジェクトデータ、またはステップS912において実行判断された結果のオブジェクトデータをサーバ格納部21に蓄積する。ステップS901に戻る。
【0213】
なお、サーバ格納部21に蓄積されるオブジェクトデータは、必要な制限処理が行われた結果のデータであることは好適である。
【0214】
(ステップS914)サーバ受信部22は、端末装置3から、処分権者変更指示を受信したか否かを判断する。処分権者変更指示を受信した場合はステップS915に行き、処分権者変更指示を受信しなかった場合はステップS901に戻る。
【0215】
(ステップS915)サーバ処理部23は、処分権者変更指示が有するオブジェクト識別子と対になる処分権者識別子を、処分権者変更指示が有する処分権者識別子に書き換える。ステップS901に戻る。
【0216】
なお、図9のフローチャートにおいて、例えば、ダウンロード指示に応じて1または2以上のオブジェクトデータをオブジェクト処理装置1に送信する前に、サーバ処理部23は、送信する1以上のオブジェクトデータに対して、実行判断処理を行っても良い。
【0217】
また、図9のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0218】
また、図9のフローチャートにおいて、例えば、処分権者変更指示は、オブジェクトデータの販売指示であっても良い。つまり、オブジェクトデータに対応する処分権者識別子の変更は、例えば、元の処分権者識別子で識別される処分権者から、新しい処分権者識別子で識別される処分権者に、オブジェクトデータが販売されたことである。
【0219】
さらに、図9のフローチャートにおいて、オブジェクトデータが販売された場合に、元の処分権者識別子に対応する売上情報に、販売されたオブジェクトデータの価格が上乗せされ、更新されることは好適である。
【0220】
次に、端末装置3の動作例について説明する。端末受付部32は、例えば、クリエータであるユーザからオブジェクトデータまたはワールド情報を受け付ける。次に、端末処理部33は、端末格納部31のユーザ識別子を取得し、オブジェクトデータまたはワールド情報に当該ユーザ識別子を対応付ける。次に、端末送信部34は、ユーザ識別子が対応付いたオブジェクトデータまたはワールド情報を、サーバ2に送信する。以上の処理により、クリエータが作成したオブジェクトデータまたはワールド情報がサーバ2に登録される。
【0221】
また、端末受付部32は、例えば、オブジェクトデータを購入したユーザである購入者から処分権者変更指示を受け付ける。次に、端末処理部33は、端末格納部31からユーザ識別子(ここでは、処分権者識別子)を取得し、当該ユーザ識別子を有する処分権者変更指示を構成する。なお、処分権者変更指示は、ユーザが購入したオブジェクトデータのオブジェクト識別子を有する。次に、端末送信部34は、処分権者識別子とオブジェクト識別子とを有する処分権者変更指示をサーバ2に送信する。かかる処理により、オブジェクトデータの処分権者が変更される。
【0222】
以下、本実施の形態における情報システムAの具体的な動作例について説明する。
【0223】
今、オブジェクト処理装置1のサーバ格納部21には、仮想空間識別子「W001」に対応付くワールド情報、および1または2以上の仮想空間属性値が格納されている、とする。かかる仮想空間属性値の集合は、「<オブジェクト生成許可情報>OK <オブジェクト一覧許可情報>OK <オブジェクト書込み許可情報>NG <ユーザ読取り許可情報>OK <ユーザ書込み許可情報>NG」である、とする。なお、サーバ格納部21には、2以上のワールド情報および当該ワールド情報に対応付く仮想空間属性値が格納されていても良い。
【0224】
また、格納部11には、図10に示す実行条件管理表が格納されている、とする。実行条件管理表とは、1または2以上の実行条件を管理する表である。ここでは、オブジェクト処理装置1の実行条件管理表には、例えば、製作者属性値、処分権者属性値に関する実行条件が格納されている、とする。実行条件管理表は、「ID」「実行条件」を有する1以上のレコードを管理する。「実行条件」は、ここでは、「制限条件」「スクリプト識別子」を有する。「ID」はレコードを識別する情報である。「制限条件」は、スクリプトを実行しない条件である。「サブプログラム識別子」は、「制限条件」に合致する場合に実行しないサブプログラムの識別子である。サブプログラムの識別子は、ここでは、モジュール名(関数名、メソッド名と言っても良い)である。
【0225】
図10の「ID=1」のレコードは、オブジェクトデータに対応付く製作者属性値の中の売上情報が閾値a(ここでは、例えば、「1万円」)未満である場合には、当該オブジェクトデータが有するスクリプトのうち、サブプログラム識別子「write()」に対応するサブプログラムは実行しないことを示す。なお、サブプログラム識別子「write()」で識別されるサブプログラムは、オブジェクトデータ、またはワールド情報の書き換えを行うモジュールである。
【0226】
図10の「ID=2」のレコードは、オブジェクトデータに対応付く処分権者属性値の中のBAN・ブロック履歴情報が閾値b(ここでは、例えば「2」)以上である場合には、当該オブジェクトデータが有するスクリプトをすべて実行しないことを示す。なお、スクリプト識別子が「-」である場合、当該オブジェクトデータが有するすべてのサブプログラムを実行しないことを示す。
【0227】
図10の「ID=3」のレコードは、オブジェクトデータに対応付く製作者属性値の中のスコアの平均値が閾値c(ここでは、例えば、「3」)以下である場合には、当該オブジェクトデータが有するスクリプトのうち、サブプログラム識別子「move()」「write()」に対応するサブプログラムは実行しないことを示す。なお、サブプログラム識別子「move()」で識別されるサブプログラムは、仮想空間内のオブジェクトを移動させるモジュールである。
【0228】
また、サーバ2を構成するサーバ格納部21には、図11に示す実行条件管理表が格納されている、とする。ここでは、サーバ2の実行条件管理表には、仮想空間属性値に関する実行条件が格納されている、とする。
【0229】
図11の「ID=1」のレコードは、オブジェクト生成許可情報が「NG」(オブジェクトの生成を許さないことを示す情報)である場合に、サブプログラム識別子「create()」に対応するサブプログラムは実行しないことを示す。なお、「create()」は、オブジェクトデータを生成するモジュールである。
【0230】
なお、図10図11の制限条件に合致する場合に、当該制限条件と対になるサブプログラム識別子が取得される。かかるサブプログラム識別子で識別されるサブプログラムは実行されない。つまり、サブプログラムの実行のために、サブプログラム識別子が取得された場合に、当該サブプログラム識別子が実行されないサブプログラムの識別子であるか否かが判断され、実行されないサブプログラムではい場合に、当該サブプログラムが実行される。
【0231】
また、図10図11のサブプログラム識別子で識別されるサブプログラム(例えば、write()。move()、 create())は、例えば、プラットフォーム側で提供される。なお、プラットフォーム側は、通常、サーバ2である。かかる場合、プラットフォーム側で予め定義されたサブプログラムやサブプログラム識別子が特定できるため、サブプログラムを実行しても良いか否かを判定できる。
【0232】
「ID=2」のレコードは、オブジェクト一覧許可情報が「NG」(オブジェクトの一覧表の出力を許さないことを示す情報)である場合に、サブプログラム識別子「show_list()」に対応するサブプログラムは実行しないことを示す。なお、「show_list()」は、オブジェクトの一覧表を出力するモジュールである。
【0233】
「ID=3」のレコードは、オブジェクト書込み許可情報が「NG」(オブジェクトデータに対する書き込み(変更)を許さないことを示す情報)である場合に、サブプログラム識別子「write()」に対応するサブプログラムは実行しないことを示す。なお、「write()」は、オブジェクトデータに対する書き込み(変更)を行うモジュールである。
【0234】
「ID=4」のレコードは、ユーザ読取り許可情報が「NG」(ユーザデータの読取りを許さないことを示す情報)である場合に、サブプログラム識別子「read_order()」に対応するサブプログラムは実行しないことを示す。なお、「read_order()」は、ユーザデータの読み取りを行うモジュールである。
【0235】
「ID=5」のレコードは、ユーザ書込み許可情報が「NG」(ユーザデータに対する書き込みを許さないことを示す情報)である場合に、サブプログラム識別子「write_order()」に対応するサブプログラムは実行しないことを示す。なお、「write_order()」は、ユーザデータの書き込みを行うモジュールである。
【0236】
また、サーバ2を構成するサーバ格納部21には、図12に示すユーザ管理表が格納されている、とする。ユーザ管理表とは、ユーザ情報を管理する表である。ユーザ管理表は、「ID」「ユーザ識別子」「売上情報」「スコアの平均値」「審査回数」「BAN・ブロック履歴情報」を有する1以上のレコードを管理する。なお、ユーザは、製作者、処分権者になり得る。また、ユーザは、端末装置3の操作者であり、仮想空間上におけるアバターに対応する者にもなり得る。ユーザ管理表を構成する情報は、例えば、端末装置3から送信された情報に基づく。つまり、端末装置3からサーバ2に、例えば、ユーザ識別子に対応付くスコア、ユーザ識別子に対応付く審査の依頼、ユーザ識別子に対応付くBANまたはブロックの依頼が送信される。また、端末装置3からサーバ2に、例えば、オブジェクトデータの購入指示が送信され、サーバ2は、かかる購入指示に応じて、オブジェクトデータのオブジェクト識別子と対になる処分権者識別子で識別されるユーザの売上情報を増加させる。
【0237】
「スコアの平均値」とは、1または2以上の各ユーザから送信されたレビュー情報に含まれるスコアの平均値である。「審査回数」とは、オブジェクトアップロード時や他ユーザからの通報等に伴う審査の回数であるが、審査の結果、不適格(NG、不適切等と言っても良い)であった回数でも良い。また、ユーザ管理表は、2以上の属性値を用いて取得された「評価値」を有しても良い。「評価値」は、ユーザの評価のスコアである。「評価値」は、例えば、「売上情報」「審査回数」「BAN・ブロック履歴情報」等の1以上のオブジェクト属性値に基づいて取得される。「評価値」は、例えば、1以上の各オブジェクト属性値をパラメータとする演算式を用いて、取得される。「評価値」は、例えば、2以上の各オブジェクト属性値を要素とするベクトルに最も近似するベクトルを対応表から取得し、当該ベクトルと対になる評価値を対応表から取得する。なお、ここでの対応表は、2以上の各オブジェクト属性値を要素とするベクトルと評価値とを含む2以上の対応情報を含む。また、「評価値」は、例えば、1以上のオブジェクト属性値と学習モジュールとを機械学習の予測モジュールに与え、当該予測モジュールを実行することにより取得される。なお、学習モデルとは、機械学習の学習処理により構成された情報であり、機械学習の予測処理に使用される情報である。学習モデルは、1以上のオブジェクト属性値と評価値とを有する2以上の教師データを、機械学習の学習モジュールに与え、当該学習モジュールを実行することにより取得された情報である。なお、機械学習のアルゴリズムは、深層学習、ランダムフォレスト、決定木、SVR等、問わない。また、機械学習には、例えば、TensorFlowのライブラリ、R言語のrandom forestのモジュール、fastText、TinySVM等の各種の機械学習の関数や、種々の既存のライブラリを用いることができる。
【0238】
さらに、サーバ2を構成するサーバ格納部21には、図13に示すオブジェクト管理表が格納されている、とする。図13のオブジェクト管理表は、例えば、仮想空間識別子「W001」で識別される一のワールド情報に対応付いている、とする。つまり、オブジェクト管理表とは、ここでは、当該一の仮想空間に配置されるオブジェクトのオブジェクトデータを管理する表である。オブジェクト管理表は、「ID」「オブジェクト識別子」「製作者識別子」「処分権者識別子」「オブジェクト名」「表示情報識別子」「スクリプト識別子」「制限フラグON」を有する1以上のレコードを管理する。
【0239】
なお、「表示情報識別子」とは、表示情報を識別する情報であり、ここでは、例えば、ファイル名である。
【0240】
また、「スクリプト識別子」で識別されるスクリプトは、サーバ格納部21に格納されている、とする。「スクリプト識別子」で識別されるスクリプトは、表示情報と一体になっていても良いし、スクリプト識別子に基づいてリンクされていても良い。なお、スクリプト識別子「―」に対応するオブジェクトデータ(例えば、「ID=4」のデータ)は、スクリプトを有しない。
【0241】
「制限フラグON」は、制限フラグが付されたサブプログラム識別子である。サーバ処理部23は、例えば、オブジェクトデータが受信された際に、当該オブジェクトデータに対応する1以上の仮想空間属性値(ここでは、仮想空間識別子「W001」と対になる仮想空間属性値)をサーバ格納部21から取得し、当該1以上の仮想空間属性値を用いて、実行条件管理表(図11)を参照し、「制限フラグON」に対応するサブプログラム識別子を取得する。なお、1以上の仮想空間属性値は、「<オブジェクト書込み許可情報>NG <ユーザ書込み許可情報>NG」を含む。
【0242】
「ID=1」の「制限フラグON」は、スクリプト「Script01」に含まれるサブプログラム「write()」は実行できないことを示す。また、「ID=2」の「制限フラグON」は、スクリプト「Script02」が有するサブプログラムの中で、サーバ2側で制限するサブプログラムは存在しないことを示す。「ID=3」の「制限フラグON」は、スクリプト「Script03」に含まれるサブプログラム「write_order()」は実行できないことを示す。
【0243】
かかる状況において、ユーザ識別子「U001」で識別されるユーザXは、自分の端末のオブジェクト処理装置1に対して、仮想空間識別子「W001」を有するダウンロード指示を入力した、とする。
【0244】
次に、オブジェクト処理装置1の受付部12は、ダウンロード指示を受け付ける。処理部13は、送信するダウンロード指示を構成する。送信部14は、ダウンロード指示をサーバ2に送信する。なお、送信するダウンロード指示は、例えば、ワールド情報を特定する仮想空間識別子「W001」とユーザ識別子「U001」とを有する。
【0245】
次に、サーバ2のサーバ受信部22は、オブジェクト処理装置1から当該ダウンロード指示を受信する。
【0246】
次に、サーバ処理部23は、受信されたダウンロード指示が有する仮想空間識別子「W001」で識別されるワールド情報をサーバ格納部21から取得する。
【0247】
また、サーバ処理部23は、受信されたダウンロード指示が有する仮想空間識別子「W001」に対応するオブジェクトデータの集合を図13のオブジェクト管理表から取得する。なお、サーバ処理部23は、オブジェクト管理表(図13)の各レコードの「表示情報識別子」が特定する表示情報をもサーバ格納部21から取得する。
【0248】
次に、サーバ送信部24は、取得されたワールド情報と複数のオブジェクトデータとを、ダウンロード指示を送信してきたオブジェクト処理装置1に送信する。
【0249】
次に、オブジェクト処理装置1の受信部15は、送信されたダウンロード指示に対応するワールド情報と複数のオブジェクトデータとを、サーバ2から受信する。次に、処理部13は、受信されたワールド情報および複数のオブジェクトデータ等を格納部11に一時蓄積する。
【0250】
次に、オブジェクト処理装置1の処理部13等は、格納部11に蓄積されたワールド情報および複数のオブジェクトデータを用いて、以下のように仮想空間出力処理を行う。なお、かかる処理は、図5のフローチャートを用いて説明した処理である。
【0251】
つまり、まず、処理部13は、ワールド情報を格納部11から取得し、当該ワールド情報を用いて仮想空間を構成する。次に、出力部16は、構成された仮想空間をディスプレイに出力する。かかる仮想空間の例は、図14の1401である。かかる仮想空間1401は、仮想的なイベントの場である。
【0252】
次に、処理部13は、格納部11の各オブジェクトデータが有する表示情報を取得し、オブジェクトを構成する。
【0253】
次に、判断部133は、オブジェクトデータごとに、オブジェクトデータが有するスクリプトを実行するか否かの判断を行う。つまり、判断部133は、オブジェクトごとに、サーバ2から受信された制限フラグに対応するサブプログラム識別子を取得する。また、判断部133は、オブジェクトデータごとに、格納部11の実行条件管理表(図10)を参照し、スクリプトの実行を制限するか否か、または制限するサブプログラム識別子を取得する。ここで、判断部133は、オブジェクト管理表(図13)のオブジェクト識別子「Obj02」と対になる処分権者識別子「U002」と対になる「BAN・ブロック履歴情報=3」を取得し、当該「BAN・ブロック履歴情報=3」が実行条件管理表(図10)の「ID=2」の制限条件に合致すると判断し、オブジェクト識別子「Obj02」で識別されるオブジェクトのすべてのスクリプトを実行しない、と判断する。その結果、オブジェクト識別子「Obj02」で識別されるオブジェクトは、仮想空間において表示されない。
【0254】
また、判断部133は、例えば、オブジェクト識別子「Obj01」で識別されるオブジェクトのサブプログラム識別子「write()」に対応するサブプログラムの実行を制限すると判断し、当該サブプログラムに対応付けて、制限フラグを付加する。
【0255】
また、判断部133は、例えば、オブジェクト識別子「Obj03」で識別されるオブジェクトのサブプログラム識別子「write_order()」に対応するサブプログラムの実行を制限すると判断し、当該サブプログラムに対応付けて、制限フラグを付加する。
【0256】
その他、判断部133は、実行条件管理表(図10)を参照し、各オブジェクトの1以上の製作者属性値、または/および1以上の処分権者属性値を用いて、制限条件に合致するオブジェクトのスクリプト、または制限条件に合致するオブジェクトのサブプログラムに対応付けて、制限フラグを付加する。
【0257】
次に、制御部134は、スクリプト全体に対応付けて制限フラグが付されているオブジェクト、またはサブプログラム「show()」に対応付けて制限フラグが付されているオブジェクトを除いて、仮想空間上にオブジェクトを表示する。なお、サブプログラム「show()」は、オブジェクトを表示するサブプログラムである。
【0258】
かかる仮想空間の例は、図14である。図14において、例えば、オブジェクト識別子「Obj01」で識別されるアバターは、1402である。また、図14において、オブジェクト識別子「Obj04」で識別されるディスプレイは、1403である。さらに、図14において、オブジェクト識別子「Obj05」で識別されるアバターは、1404である。
【0259】
また、例えば、「ユーザ識別子=U007」で識別されるユーザYのオブジェクト処理装置1にも、図14の仮想空間が出力されている、とする。
【0260】
そして、ユーザYが、自分のオブジェクト(オブジェクト識別子=Obj05)を、仮想空間内を移動させるために、移動指示を、自分のオブジェクト処理装置1に入力した、とする。なお、ユーザの指示の入力方法は問わない。指やマウスによるドラッグでも良いし、メニュー項目の選択でも良いし、ボタンの押下等でも良い。
【0261】
次に、ユーザYのオブジェクト処理装置1の受付部12は、オブジェクト識別子「Obj05」を有する移動指示を受け付ける。次に、オブジェクト処理装置1の処理部13等は、受け付けられた移動指示に対して、以下のような処理を行なう。
【0262】
まず、判断部133は、移動指示に対応するサブプログラム識別子「move()」を取得する。なお、各種の指示には、サブプログラム識別子が対応付いている、とする。次に、判断部133は、取得したサブプログラム識別子「move()」を含む「スクリプト識別子」を実行条件管理表(図10)から検索し、当該「スクリプト識別子」と対になる制限条件「製作者属性値.スコアの平均値<=閾値c(ここでは「3」)」を取得する。なお、この制限条件は、図10の「ID=3」の制限条件である。
【0263】
次に、判断部133は、取得した制限条件の判断に使用する属性値である「製作者属性値.スコアの平均値」を以下のように取得する。つまり、判断部133は、移動指示に対応するオブジェクト識別子「Obj05」で識別されるオブジェクトデータを取得する。次に、判断部133は、オブジェクト管理表(図13)を参照し、オブジェクト識別子「Obj05」と対になる製作者識別子「U003」を取得する。次に、判断部133は、ユーザ管理表(図12)を参照し、製作者識別子「U003」と対になるスコアの平均値「2.1」を取得する。次に、判断部133は、取得したスコアの平均値「2.1」が、取得し制限条件「製作者属性値.スコアの平均値<=3」を満たす、と判断する。
【0264】
次に、制御部134は、オブジェクト識別子「Obj05」で識別されるオブジェクトデータが有するスクリプトに含まれるサブプログラム「move()」に対応付けて、制限フラグを付加する。
【0265】
そして、制御部134は、サブプログラム「move()」を実行しない。その結果、オブジェクト識別子「Obj05」」で識別されるアバター(図14の1404)は、移動できない。
【0266】
なお、本具体例において、オブジェクト識別子「Obj05」で識別されるオブジェクトデータに含まれるサブプログラム「move()」には、例えば、当該アバターを移動させると共に、他のオブジェクトのスクリプトを書き換えたり、他のオブジェクトデータを削除したりする処理のコードが含まれている、とする。
【0267】
以上、本実施の形態によれば、必要に応じたスクリプトの実行の制限により、リスク回避ができる。
【0268】
また、本実施の形態によれば、適切なオブジェクト属性値を用いた判断を行い、その判断結果に応じたスクリプトの実行の制限により、適切にリスク回避ができる。
【0269】
また、本実施の形態によれば、必要に応じた一部のスクリプトの実行の制限により、適切にリスク回避ができる。なお、一部のスクリプトとは、サブプログラムである。
【0270】
また、本実施の形態によれば、必要に応じた一部のスクリプトの実行の制限を2以上の装置で分担することにより、負荷分散ができる。
【0271】
なお、本実施の形態によれば、スクリプトの実行の制限のための処理を端末であるオブジェクト処理装置1とサーバ2とで分担した。しかし、本実施の形態において、スクリプトの実行の制限のためのすべての処理をオブジェクト処理装置1で行っても良いし、サーバ2で行っても良い。
【0272】
また、本実施の形態において、オブジェクト処理装置1は、端末装置3に対するサーバでも良い。かかる場合のオブジェクト処理装置1のブロック図は、図3である。かかる場合のオブジェクト処理装置1の受付部12は、端末装置3から各種の指示や情報を受信する。また、かかる場合のオブジェクト処理装置1の格納部11には、サーバ格納部21の各種の情報が含まれていても良い。また、かかる場合のオブジェクト処理装置1は、上述したサーバ2の各種の処理が行える。また、オブジェクト処理装置1は、ワールド情報やオブジェクトデータを、例えば、端末装置3に送信する。そして、端末装置3は、ワールド情報やオブジェクトデータを受信し、例えば、図14に示すような仮想空間を出力する。
【0273】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるオブジェクト処理装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、仮想空間に表示されるオブジェクトの表示情報と実行可能なスクリプトとを有するオブジェクトデータを取得するデータ取得部と、前記オブジェクトデータに関する1以上のオブジェクト属性値を取得する属性値取得部と、前記1以上のオブジェクト属性値を用いて、前記オブジェクトデータに含まれる前記スクリプトを実行するか否かを判断し、判断結果を取得する判断部と、前記判断結果に応じて、前記スクリプトを実行したり、実行しなかったりする制御部と、前記オブジェクトデータに含まれる前記表示情報を用いて、前記オブジェクトを出力する出力部として機能させるためのプログラムである。
【0274】
また、図15は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態のオブジェクト処理装置1等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図15は、このコンピュータシステム300の概観図であり、図16は、システム300のブロック図である。
【0275】
図15において、コンピュータシステム300は、CD-ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
【0276】
図16において、コンピュータ301は、CD-ROMドライブ3012に加えて、MPU3013と、CD-ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
【0277】
コンピュータシステム300に、上述した実施の形態のオブジェクト処理装置1等の機能を実行させるプログラムは、CD-ROM3101に記憶されて、CD-ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD-ROM3101またはネットワークから直接、ロードされても良い。
【0278】
プログラムは、コンピュータ301に、上述した実施の形態のオブジェクト処理装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
【0279】
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
【0280】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0281】
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
【0282】
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0283】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【0284】
以上のように、本発明にかかるオブジェクト処理装置は、必要に応じたスクリプトの実行の制限により、リスク回避ができるという効果を有し、オブジェクト処理装置等として有用である。
【符号の説明】
【0285】
A 情報システム
1 オブジェクト処理装置
2 サーバ
3 端末装置
11 格納部
12 受付部
13 処理部
14 送信部
15 受信部
16 出力部
21 サーバ格納部
22 サーバ受信部
23 サーバ処理部
24 サーバ送信部
31 端末格納部
32 端末受付部
33 端末処理部
34 端末送信部
35 端末受信部
36 端末出力部
131 データ取得部
132 属性値取得部
133 判断部
134 制御部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
【手続補正書】
【提出日】2023-03-27
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータを、
仮想空間に表示されるオブジェクトの表示情報と前記仮想空間上での処理を実行するためのスクリプトとを有するオブジェクトデータを取得するデータ取得部と、
前記オブジェクトデータに関する1以上のオブジェクト属性値を取得する属性値取得部と、
前記1以上のオブジェクト属性値を用いて行われた判断の結果であり、前記オブジェクトデータに含まれる前記スクリプトを実行するか否かについての判断結果を取得する判断部と、
前記判断結果に応じて、前記スクリプトの実行を制限する制御部として機能させるためのプログラムであり、
前記スクリプトは、2以上の各処理を実行するサブプログラムを有し、
前記判断部は、
前記サブプログラムごとに、実行するか否かについての判断結果を取得し、
前記制御部は、
前記判断部が実行するとの判断結果を取得した前記サブプログラムのみを実行するものとして、前記コンピュータを機能させるためのプログラム
【請求項2】
コンピュータを、
仮想空間に表示されるオブジェクトの表示情報と前記仮想空間上での処理を実行するためのスクリプトとを有するオブジェクトデータを取得するデータ取得部と、
前記オブジェクトデータの信頼度に関係する1以上のオブジェクト属性値を取得する属性値取得部と、
前記1以上のオブジェクト属性値を用いて行われた判断の結果であり、前記オブジェクトデータに含まれる前記スクリプトを実行するか否かを判断するための実行条件であり、前記オブジェクトデータの信頼度に関する実行条件の判断結果を取得する判断部と、
前記判断結果に応じて、前記スクリプトの実行を制限する制御部として機能させるためのプログラム。
【請求項3】
前記信頼度に関係する前記1以上のオブジェクト属性値は、前記オブジェクトデータの売り上げに関する売上情報、前記オブジェクトデータの購入者からのレビューの情報であるレビュー情報、審査履歴情報、またはBAN・ブロック履歴情報のうちのいずれかを含み、
前記審査履歴情報は、前記オブジェクトデータのアップロード時の審査の結果を示す情報、前記オブジェクトデータの他ユーザからの通報に伴う審査の結果を示す情報、または前記オブジェクトデータの他ユーザからの通報に伴う審査の回数であり、
前記BAN・ブロック履歴情報は、前記オブジェクトデータの処分権者が他ユーザから仮想空間への参加を禁止されたことに関する情報、または前記オブジェクトデータの処分権者がブロックされたりしたことに関する情報である、請求項2記載のプログラム。
【請求項4】
前記制御部は、
前記判断結果が前記スクリプトを実行しないことを示す情報である場合に、前記スクリプトを実行させないための制限処理を行うものとして、前記コンピュータを機能させ、
前記制限処理は、
前記スクリプトに含まれる複数の処理のうちの一部の処理を実行させないための処理である、請求項1または請求項2記載のプログラム。
【請求項5】
前記制御部は、
前記判断結果が前記スクリプトを実行しないことを示す情報である場合に、前記スクリプトを実行させないための制限処理を行うものとして、前記コンピュータを機能させ、
前記制限処理は、2以上の各制限のための制限処理を含み、
前記制御部は、
前記2以上の各制限のための制限処理のうち、一部のみの制限処理を行うものとして、前記コンピュータを機能させる、請求項1または請求項2記載のプログラム。
【請求項6】
前記判断部は、
前記表示情報を用いて、前記オブジェクトを表示するか否かを判断し、
前記制御部は、
前記判断部が前記オブジェクトを表示すると判断した場合のみ、前記表示情報を用いて、前記オブジェクトを出力するものとして、前記コンピュータを機能させる、請求項1または請求項2記載のプログラム。
【請求項7】
前記判断部は、
前記オブジェクトの配置に関する処理を行うか否かを判断し、
前記制御部は、
前記判断部が前記オブジェクトの配置に関する処理を行うと判断した場合のみ、前記オブジェクトを配置するための処理を行うものとして、前記コンピュータを機能させる、請求項1または請求項2記載のプログラム。
【請求項8】
端末装置で実行されるプログラムであり、
前記判断部を
前記1以上のオブジェクト属性値を用いて、前記オブジェクトデータに含まれる前記スクリプトを実行するか否かについての判断を行い、判断結果を取得するものとして、前記コンピュータを機能させるための請求項1または請求項2記載のプログラム。
【請求項9】
前記データ取得部は、
ユーザが使用する端末装置から送信された前記オブジェクトデータを取得するものとして、前記コンピュータを機能させる、請求項1または請求項2記載のプログラム。
【請求項10】
前記オブジェクトデータに含まれる前記表示情報を用いて、前記オブジェクトを出力する出力部として、前記コンピュータをさらに機能させ、
前記制御部は、
前記判断結果に応じて、前記出力部が前記オブジェクトを出力する処理を制限するものとして、前記コンピュータを機能させる、請求項1または請求項2記載のプログラム。
【請求項11】
前記オブジェクトデータに含まれる前記表示情報を用いて、前記オブジェクトを出力する出力部として、前記コンピュータをさらに機能させ、
前記制御部は、
前記判断結果に応じて、前記オブジェクトを出力する処理以外の少なくとも一の処理を制限するものとして、前記コンピュータを機能させる、請求項1または請求項2記載のプログラム。
【請求項12】
データ取得部と、属性値取得部と、判断部と、制御部により実現されるオブジェクト処理方法であって、
前記データ取得部が、仮想空間に表示されるオブジェクトの表示情報と前記仮想空間上での処理を実行するためのスクリプトとを有するオブジェクトデータを取得するデータ取得ステップと、
前記属性値取得部が、前記オブジェクトデータに関する1以上のオブジェクト属性値を取得する属性値取得ステップと、
前記判断部が、前記1以上のオブジェクト属性値を用いて行われた判断の結果であり、前記オブジェクトデータに含まれる前記スクリプトを実行するか否かについての判断結果を取得する判断ステップと、
前記制御部が、前記判断結果に応じて、前記スクリプトの実行を制限する制御ステップとを具備し、
前記スクリプトは、2以上の各処理を実行するサブプログラムを有し、
前記判断ステップにおいて、
前記サブプログラムごとに、実行するか否かについての判断結果を取得し、
前記制御ステップにおいて、
前記判断ステップで実行するとの判断結果が取得された前記サブプログラムのみを実行するオブジェクト処理方法。
【請求項13】
データ取得部と、属性値取得部と、判断部と、制御部とにより実現されるオブジェクト処理方法であって、
前記データ取得部が、仮想空間に表示されるオブジェクトの表示情報と前記仮想空間上での処理を実行するためのスクリプトとを有するオブジェクトデータを取得するデータ取得ステップと、
前記属性値取得部が、前記オブジェクトデータの信頼度に関係する1以上のオブジェクト属性値を取得する属性値取得ステップと、
前記判断部が、前記1以上のオブジェクト属性値を用いて行われた判断の結果であり、前記オブジェクトデータに含まれる前記スクリプトを実行するか否かを判断するための実行条件であり、前記オブジェクトデータの信頼度に関する実行条件の判断結果を取得する判断ステップと、
前記制御部が、前記判断結果に応じて、前記スクリプトの実行を制限する制御ステップとを具備するオブジェクト処理方法。
【請求項14】
仮想空間に表示されるオブジェクトの表示情報と前記仮想空間上での処理を実行するためのスクリプトとを有するオブジェクトデータを取得するデータ取得部と、
前記オブジェクトデータに関する1以上のオブジェクト属性値を取得する属性値取得部と、
前記1以上のオブジェクト属性値を用いて行われた判断の結果であり、前記オブジェクトデータに含まれる前記スクリプトを実行するか否かについての判断結果を取得する判断部と、
前記判断結果に応じて、前記スクリプトの実行を制限する制御部とを具備し、
前記スクリプトは、2以上の各処理を実行するサブプログラムを有し、
前記判断部は、
前記サブプログラムごとに、実行するか否かについての判断結果を取得し、
前記制御部は、
前記判断部が実行するとの判断結果を取得した前記サブプログラムのみを実行するオブジェクト処理装置。
【請求項15】
仮想空間に表示されるオブジェクトの表示情報と前記仮想空間上での処理を実行するためのスクリプトとを有するオブジェクトデータを取得するデータ取得部と、
前記オブジェクトデータの信頼度に関係する1以上のオブジェクト属性値を取得する属性値取得部と、
前記1以上のオブジェクト属性値を用いて行われた判断の結果であり、前記オブジェクトデータに含まれる前記スクリプトを実行するか否かを判断するための実行条件であり、前記オブジェクトデータの信頼度に関する実行条件の判断結果を取得する判断部と、
前記判断結果に応じて、前記スクリプトの実行を制限する制御部とを具備するオブジェクト処理装置。