JP7072535B2 - Memory systems, computer systems and information protection methods - Google Patents
Memory systems, computer systems and information protection methods Download PDFInfo
- Publication number
- JP7072535B2 JP7072535B2 JP2019066502A JP2019066502A JP7072535B2 JP 7072535 B2 JP7072535 B2 JP 7072535B2 JP 2019066502 A JP2019066502 A JP 2019066502A JP 2019066502 A JP2019066502 A JP 2019066502A JP 7072535 B2 JP7072535 B2 JP 7072535B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- adjustment
- host computer
- content
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、人工知能機能を搭載したコンピュータシステムにおける情報を保護する技術に関する。 The present invention relates to a technique for protecting information in a computer system equipped with an artificial intelligence function.
従来より、ホストコンピュータとメモリシステムとを接続したコンピュータシステムが知られている。このようなコンピュータシステムとして、例えば、タブレットにメモリカードを装着したシステムなどが考えられる。 Conventionally, a computer system in which a host computer and a memory system are connected has been known. As such a computer system, for example, a system in which a memory card is attached to a tablet can be considered.
このようなコンピュータシステムでは、メモリカードにアプリケーションプログラムやコンテンツ情報を格納しておき、メモリカードを装着しているときにアプリケーションプログラムをホストコンピュータにロードする。そして、ロードしたアプリケーションプログラムをホストコンピュータが実行しつつ、装着されたメモリカードからコンテンツ情報を読み出して使用することにより、様々なアプリケーションを実現する。 In such a computer system, the application program and content information are stored in the memory card, and the application program is loaded into the host computer when the memory card is installed. Then, while the host computer executes the loaded application program, the content information is read from the installed memory card and used to realize various applications.
一方、昨今では、コンピュータによって提供されるアプリケーションにおいて人工知能技術を提供し、人工知能による推論処理により決定した事象に応じてアプリケーションを変更する技術が提案されている。このような技術として、例えば、特許文献1に記載されている技術が提案されている。特許文献1には、プレイヤーの操作入力から推論された事象に応じて、ゲームキャラクタの行動を決定する技術が記載されている。
On the other hand, recently, a technique has been proposed in which an artificial intelligence technique is provided in an application provided by a computer and the application is changed according to an event determined by inference processing by the artificial intelligence. As such a technique, for example, the technique described in
ところが、ホストコンピュータとメモリシステムとを接続したコンピュータシステムにおいて、ホストコンピュータに人工知能アルゴリズムによる推論処理を行わせるために、推論によって選択され得る全てのコンテンツ情報を、一旦ホストコンピュータに転送すると、コンテンツ情報を不正に抜き取られやすいという問題がある。 However, in a computer system in which a host computer and a memory system are connected, once all the content information that can be selected by inference is transferred to the host computer in order to cause the host computer to perform inference processing by an artificial intelligence algorithm, the content information There is a problem that it is easy to be illegally extracted.
本発明は、上記課題に鑑みてなされたものであり、人工知能機能を搭載したコンピュータシステムにおける情報を保護する技術を提供することを目的とする。 The present invention has been made in view of the above problems, and an object of the present invention is to provide a technique for protecting information in a computer system equipped with an artificial intelligence function.
上記の課題を解決するため、請求項1の発明は、入力情報を作成するホストコンピュータに接続されるメモリシステムであって、前記ホストコンピュータによって実行されるアプリケーションプログラムと、前記ホストコンピュータによって使用可能な様々なコンテンツ候補情報を複数の調整候補識別情報のうちのいずれかと関連づけたコンテンツデータベースと、前記ホストコンピュータから入力される前記入力情報とを記憶する記憶手段と、コントローラとを備え、前記コントローラは、人工知能アルゴリズムによる推論を実行することにより、前記入力情報に応じて、前記複数の調整候補識別情報のうちから特定の調整候補識別情報を調整識別情報として推論する推論手段と、前記調整識別情報に対応する調整候補識別情報に関連づけられた前記コンテンツ候補情報を前記コンテンツデータベースから選択して調整用コンテンツ情報とする選択手段と、前記調整用コンテンツ情報を前記ホストコンピュータに向けて出力するインタフェース手段とを備える。
In order to solve the above problems, the invention of
また、請求項2の発明は、請求項1の発明に係るメモリシステムであって、前記コントローラは、前記ホストコンピュータから入力される入力情報を分析して実行情報として前記記憶手段に記憶させる分析手段をさらに備え、前記推論手段は、前記実行情報に応じて前記調整識別情報を推論することにより、前記入力情報に応じて前記調整識別情報を推論する。
The invention of
また、請求項3の発明は、請求項1または2の発明に係るメモリシステムであって、前記アプリケーションプログラムは、前記ホストコンピュータが前記入力情報を特定するための要求情報を含み、前記入力情報は、前記要求情報に従って収集された情報である。
The invention of
また、請求項4の発明は、請求項1ないし3のいずれかの発明に係るメモリシステムであって、前記コントローラは、前記インタフェース手段が前記ホストコンピュータに対して出力する前記調整用コンテンツ情報の出力タイミングを決定するタイミング決定手段をさらに備え、前記インタフェース手段は、前記タイミング決定手段により決定された前記出力タイミングに応じて、前記選択手段により選択された前記調整用コンテンツ情報を前記ホストコンピュータに出力する。
The invention of claim 4 is the memory system according to any one of
また、請求項5の発明は、コンピュータシステムであって、入力情報を作成するホストコンピュータと、前記ホストコンピュータに接続されるメモリシステムとを備え、前記メモリシステムは、前記ホストコンピュータによって実行されるアプリケーションプログラムと、前記ホストコンピュータによって使用可能な様々なコンテンツ候補情報を複数の調整候補識別情報のうちのいずれかと関連づけたコンテンツデータベースと、前記ホストコンピュータから入力される入力情報とを記憶する記憶手段と、コントローラとを備え、前記コントローラは、人工知能アルゴリズムによる推論を実行することにより、前記入力情報に応じて、前記複数の調整候補識別情報のうちから特定の調整候補識別情報を調整識別情報として推論する推論手段と、前記調整識別情報に対応する調整候補識別情報に関連づけられた前記コンテンツ候補情報を前記コンテンツデータベースから選択して調整用コンテンツ情報とする選択手段と、前記調整用コンテンツ情報を前記ホストコンピュータに向けて出力するインタフェース手段とを備える。 The invention of claim 5 is a computer system, comprising a host computer for creating input information and a memory system connected to the host computer, wherein the memory system is an application executed by the host computer. A storage means for storing the program, a content database in which various content candidate information available by the host computer is associated with any one of a plurality of adjustment candidate identification information, and input information input from the host computer. A controller is provided, and the controller infers specific adjustment candidate identification information from the plurality of adjustment candidate identification information as adjustment identification information according to the input information by executing inference by an artificial intelligence algorithm. The inference means, the selection means for selecting the content candidate information associated with the adjustment candidate identification information corresponding to the adjustment identification information from the content database and using the adjustment content information as the adjustment content information, and the adjustment content information as the host computer. It is provided with an interface means for outputting to.
また、請求項6の発明は、請求項5の発明に係るコンピュータシステムであって、前記ホストコンピュータは、収集された情報を分析して前記入力情報を生成する分析手段をさらに備える。 The invention of claim 6 is the computer system according to the invention of claim 5, wherein the host computer further includes an analysis means for analyzing the collected information and generating the input information.
また、請求項7の発明は、入力情報を作成するホストコンピュータに接続されるメモリシステムに記憶される情報の情報保護方法であって、前記ホストコンピュータによって実行されるアプリケーションプログラムと、前記ホストコンピュータによって使用可能な様々なコンテンツ候補情報を複数の調整候補識別情報のうちのいずれかと関連づけたコンテンツデータベースと、前記ホストコンピュータから入力される前記入力情報とを記憶手段に記憶させる工程と、前記メモリシステムが備えるコントローラによって、人工知能アルゴリズムによる推論を実行することにより、前記入力情報に応じて、前記複数の調整候補識別情報のうちから特定の調整候補識別情報を調整識別情報として推論する工程と、前記コントローラによって、前記調整識別情報に対応する調整候補識別情報に関連づけられた前記コンテンツ候補情報を前記コンテンツデータベースから選択して調整用コンテンツ情報とする工程と、前記メモリシステムが備えるインタフェース手段によって、前記調整用コンテンツ情報を前記ホストコンピュータに向けて出力する工程とを有する。
The invention according to
入力情報を作成するホストコンピュータに接続されるメモリシステムにおいて、コントローラが、人工知能アルゴリズムによる推論を実行することにより、入力情報に応じて、複数の調整候補識別情報のうちから特定の調整候補識別情報を調整識別情報として推論する推論手段と、当該調整識別情報に対応する調整候補識別情報に関連づけられたコンテンツ候補情報をコンテンツデータベースから選択して調整用コンテンツ情報とする選択手段と、調整用コンテンツ情報をホストコンピュータに向けて出力するインタフェース手段とを備えることにより、複数のコンテンツ候補情報のうちから選択された一部の調整用コンテンツ情報しかホストコンピュータに出力しない。したがって、すべてのコンテンツ候補情報をホストコンピュータに出力し、ホストコンピュータ側で推論して実際に使用する調整用コンテンツ情報を選択する場合に比べて、コンテンツ候補情報を不正に抜き取られる危険性が低下する。 In the memory system connected to the host computer that creates the input information, the controller performs inference by an artificial intelligence algorithm, so that specific adjustment candidate identification information can be selected from a plurality of adjustment candidate identification information according to the input information. The inference means for inferring as the adjustment identification information, the selection means for selecting the content candidate information associated with the adjustment candidate identification information corresponding to the adjustment identification information from the content database and using it as the adjustment content information, and the adjustment content information. By providing an interface means for outputting the information to the host computer, only a part of the adjustment content information selected from the plurality of content candidate information is output to the host computer. Therefore, compared to the case where all the content candidate information is output to the host computer and the host computer infers and selects the adjustment content information to be actually used, the risk of unauthorized extraction of the content candidate information is reduced. ..
以下、本発明の好適な実施の形態について、添付の図面を参照しつつ、詳細に説明する。ただし、以下の説明において特に断らない限り、方向や向きに関する記述は、当該説明の便宜上、図面に対応するものであり、例えば実施品、製品または権利範囲等を限定するものではない。 Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, unless otherwise specified in the following description, the description regarding the direction and the direction corresponds to the drawings for the convenience of the description, and does not limit, for example, the product, the product, the scope of rights, or the like.
<1. 第1の実施の形態>
図1は、第1の実施の形態におけるコンピュータシステム1のブロック図である。コンピュータシステム1は、ホストコンピュータ2とメモリシステム3とを備えている。
<1. First Embodiment>
FIG. 1 is a block diagram of a
なお、以下の説明では、特に断らない限り、コンピュータシステム1において提供されるアプリケーションプログラム311がゲームプログラムである例について説明する。このようなコンピュータシステム1としては、例えば、家庭用のゲーム機などを想定することができる。ただし、コンピュータシステム1によって提供されるアプリケーションはゲームに限定されるものではない。アプリケーションとしては、例えば、ユーザの健康を管理するものや、道案内を提供するものなどが想定される。ユーザは、アプリケーションプログラム311を変更することにより、コンピュータシステム1において様々なアプリケーションを動作させることが可能である。
In the following description, unless otherwise specified, an example in which the
ホストコンピュータ2は、CPU20、記憶装置21、操作部22および表示部23を備えている。
The
図1に示す起動プログラム210は、ホストコンピュータ2の起動時にCPU20によって実行されるプログラムである。
The
収集情報211は、ホストコンピュータ2において要求情報312に従って収集(記録)される情報であり、かつ、メモリシステム3に向けて転送される情報である。ホストコンピュータ2では、収集タイミングが到来するたびに、後述する様々なハードウェアを制御することにより情報を収集し、収集情報211を作成する。以下の説明では、特に断らない限り、収集タイミングは、所定の周期で到来するように設定されているものとする。収集タイミングは、例えば、アプリケーションプログラム311に定義しておくことができる。なお、収集情報211の詳細は、後述する。
The collected
アプリケーションプログラム311は、メモリシステム3に記憶されているプログラムであるが、ホストコンピュータ2に向けてロード(転送)されて、記憶装置21に記憶される。アプリケーションプログラム311は、要求情報312を含んでいる。
The
要求情報312は、ホストコンピュータ2が収集可能な情報のうち、どのような情報をメモリシステム3(アプリケーションプログラム311)が収集情報211(入力情報314)として要求するかを示す情報である。
The
CPU20は、起動プログラム210や、メモリシステム3からロードされたアプリケーションプログラム311を適宜読み取りつつ実行する。これにより、CPU20は、各種データの演算や制御信号の生成等を行う。すなわち、CPU20は、ホストコンピュータ2が備える各構成を制御するとともに、各種データを演算し作成する機能を有している。したがって、ホストコンピュータ2は、一般的なコンピュータを構成している。
The
なお、図1に示すように、メモリシステム3に記憶されているアプリケーションプログラム311は要求情報312を含んでいる。したがって、アプリケーションプログラム311がホストコンピュータ2に向けてロードされるときに、要求情報312もホストコンピュータ2に向けて転送されて記憶装置21に記憶される。
As shown in FIG. 1, the
このように、アプリケーションプログラム311が要求情報312を含んでいることにより、アプリケーションプログラム311ごとに専用の要求情報312を準備することができる。ただし、要求情報312は、必ずしもアプリケーションプログラム311に含まれていなければならないわけではない。記憶装置31内において、アプリケーションプログラム311と要求情報312とは別に記憶されていてもよい。例えば、アプリケーションプログラム311が記憶装置31内のROMに記憶され、要求情報312が記憶装置内の読み書き可能な記憶領域に記憶されていてもよい。すなわち、アプリケーションプログラム311が、当該アプリケーションプログラム311用の要求情報312と互いに対応付けられていればよい。
As described above, since the
記憶装置21は、ホストコンピュータ2において各種データを記憶する機能を提供する。言い換えれば、記憶装置21がホストコンピュータ2において電子的に固定された情報を保存する。
The
記憶装置21としては、CPU20の一時的なワーキングエリアとして使用されるRAMやバッファ、読み取り専用のROM、不揮発性のメモリ(例えばNANDメモリなど)、比較的大容量のデータを記憶するハードディスク、専用の読み取り装置に装着された可搬性の記憶媒体(CD-ROM、DVD-ROM、BD-ROM、PCカード、SDカード、USBメモリなど)等が該当する。図1においては、記憶装置21を、あたかも1つの構造物であるかのように図示している。しかし、通常、記憶装置21は、上記例示した各種装置(あるいは媒体)のうち、必要に応じて採用される複数種類の装置から構成されるものである。すなわち、記憶装置21は、データを記憶する機能を有する装置群の総称である。
The
また、現実のCPU20は高速にアクセス可能なRAMを内部に備えた電子回路である。しかし、このようなCPU20が備える記憶装置も、説明の都合上、記憶装置21に含めて説明する。すなわち、厳密にはCPU20自体が記憶するデータも、記憶装置21が記憶するとして説明する。
Further, the
図1に示すように、記憶装置21は、収集情報211および要求情報312を記憶するために使用される。ただし、記憶装置21が記憶する情報は、収集情報211および要求情報312に限定されるものではない。記憶装置21に記憶される情報としては、例えば、CPU20の起動プログラム210、メモリシステム3からロードされたアプリケーションプログラム311、後述する調整用コンテンツ情報320(図3参照)、表示部23に表示される情報、あるいは、スピーカ27に再生される音声情報なども記憶される。
As shown in FIG. 1, the
操作部22は、ホストコンピュータ2に対して、コンピュータシステム1のユーザが指示を入力するために操作するハードウェアである。操作部22としては、例えば、各種キーやボタン類、スイッチ、タッチパネル、ポインティングデバイス、あるいは、ジョグダイヤルなどが該当する。操作部22がユーザによって操作されると、操作に応じて、様々な情報が入力される。このようにして入力された情報はCPU20に伝達される。
The
CPU20は、要求情報312を参照して、操作部22から入力された情報を取捨選択し、その一部または全部を収集情報211として記憶装置21に記憶させる。すなわち、収集情報211は、ユーザが操作部22を操作することによって入力された情報を含む。ただし、収集情報211に含まれる情報は要求情報312によって決定されるため、収集情報211は必ずしも操作部22から入力された情報を含まなければならないわけではない。
The
このように、要求情報312を参照することによって、ホストコンピュータ2(CPU20)は効率よく収集情報211を収集することができる。ただし、要求情報312は、本発明を実施するための必須の要件ではない。要求情報312が存在しなくても、ホストコンピュータ2が収集情報211を収集することは可能である。例えば、操作部22から入力される情報を、CPU20が全て収集情報211としてもよい。
In this way, by referring to the
表示部23は、各種データを表示することによりユーザ等に対して出力する機能を有するハードウェアである。表示部23としては、例えば、ランプやLED、CRT、液晶ディスプレイや液晶パネルなどが該当する。
The
また、ホストコンピュータ2は、センサ24、カメラ25、マイク26、スピーカ27およびインタフェース部28を備えている。
Further, the
センサ24は、周囲の環境を計測して数値化(情報化)し、電気信号としてCPU20に伝達する。センサ24としては、例えば、加速度センサ、ジャイロセンサ、磁気センサ、GPS(位置センサ)、振動センサ、温度センサ、あるいは、湿度センサなどが該当する。ただし、このようなセンサに限定されるものではないし、ここに例示したセンサを全て備えていなければならないわけでもない。
The
CPU20は、要求情報312を参照して、センサ24から入力された各種情報を取捨選択し、その一部または全部を収集情報211として記憶装置21に記憶させる。すなわち、収集情報211は、センサ24によって取得された情報を含む。
The
なお、図1においては、センサ24を、あたかも1つの構造物であるかのように図示している。しかし、通常、センサ24は、各種装置のうち、必要に応じて採用される1以上の装置から構成されるものである。すなわち、センサ24は、周囲の環境を計測して情報化(数値化)する機能を有する装置群の総称である。
In addition, in FIG. 1, the
また、CPU20は、予め要求情報312を参照して、必要なセンサ24にのみ情報を要求してもよい。あるいは、例えば、要求情報312において地磁気に関する情報が要求されていない場合には、CPU20は、磁気センサをスリープ状態(磁気の検出を停止した状態)にしてもよい。このように、CPU20が必要のないセンサ24を停止させることにより、コンピュータシステム1の負荷を軽減することができる。
Further, the
さらに、すでに説明したように、収集情報211に含まれる情報は、要求情報312によって決定されるため、収集情報211は必ずしもセンサ24から入力された情報を含まなければならないわけではない。
Further, as described above, since the information contained in the collected
カメラ25は、図示しない光学系および光電変換素子などを備えており、一般的なデジタルカメラを構成している。カメラ25は、周囲における撮像範囲内の被写体を撮像することにより撮像情報(画像情報)を取得し、CPU20に伝達する。CPU20は、要求情報312を参照して、カメラ25から入力された情報を取捨選択し、その一部または全部を収集情報211として記憶装置21に記憶させる。すなわち、収集情報211は、カメラ25によって取得された画像情報を含む。ただし、すでに説明したように、収集情報211に含まれる情報は要求情報312によって決定されるため、収集情報211は必ずしもカメラ25から入力された情報を含まなければならないわけではない。
The
マイク26は、周囲の環境における音(空気振動)を電気信号(音声情報)に変換し、CPU20に伝達する。CPU20は、要求情報312を参照して、マイク26から入力された音声情報を取捨選択し、その一部または全部を収集情報211として記憶装置21に記憶させる。すなわち、収集情報211は、マイク26によって取得された音声情報を含む。さらに、すでに説明したように、収集情報211に含まれる情報は要求情報312によって決定されるため、収集情報211は必ずしもマイク26から入力された情報を含まなければならないわけではない。
The
スピーカ27は、音声情報に基づいて音を再生し出力する機能を有するハードウェアである。スピーカ27は、CPU20からの制御に従って、例えば、ゲーム音楽や効果音、あるいは、人物の声などを再生する。
The
インタフェース部28は、メモリシステム3のインタフェース部38との間で情報通信が可能な状態で、かつ、着脱自在に接続する機能を有している。すなわち、メモリシステム3のインタフェース部38がインタフェース部28に装着されることにより、ホストコンピュータとメモリシステムとの間で情報通信が可能となる。この状態で、電力もメモリシステム3に供給される。すなわち、メモリシステム3はインタフェース28に装着されることによりホストコンピュータ2側から電力の供給を受ける。さらに、ユーザは、装着されているメモリシステム3を抜き取って別のメモリシステム3を装着することにより、メモリシステム3を交換することが可能である。
The
なお、ホストコンピュータ2は、図1に示す構成以外にも、例えば、通信部を備え、インターネットなどに接続する機能を有していてもよい。例えば、インターネットを介して外部のサーバ装置から様々な情報をダウンロードするように構成してもよい。あるいは、ホストコンピュータ2は、バイブレータを備えていてもよい。アプリケーションプログラム311の実行状況などに応じてバイブレータを振動させることにより、例えば、ユーザの臨場感を増大させることができる。
In addition to the configuration shown in FIG. 1, the
ホストコンピュータ2に接続されるメモリシステム3は、図1に示すように、コントローラ30と、記憶装置31と、インタフェース部38とを備えている。先述のように、メモリシステム3は着脱自在に構成されている。したがって、ユーザはメモリシステム3を交換することができる。ただし、メモリシステム3は、必ずしも着脱自在でなければならないわけではない。
As shown in FIG. 1, the
以下の説明では、コントローラ30は、FPGA(Field-Programmable Gate Array)として説明する。FPGAは、プログラム可能な論理コンポーネント(論理ブロック)を備えており、これらの論理ブロックを相互接続する再構成可能な配線階層を備えている。これによりFPGAは、製造後に構成を設定することができる集積回路である。FPGAは、並列演算や畳み込み演算に威力を発揮するハードウェアである。ただし、コントローラ30は、DSPや、比較的汎用性の高いCPUなどの処理装置であってもよい。
In the following description, the
コントローラ30は、各種データの演算を行う。これにより、コントローラ30は、各種データを作成する機能を有している。このようにメモリシステム3は一種のコンピュータとして構成されている。
The
記憶装置31は、メモリシステム3において各種データを記憶する機能を提供する。言い換えれば、記憶装置31がメモリシステム3において電子的に固定された情報を保存する。
The
記憶装置31としては、コントローラ30の一時的なワーキングエリアとして使用されるRAMやバッファ、読み取り専用のROM、不揮発性のメモリ(例えばNANDメモリなど)等が該当する。図1においては、記憶装置31を、あたかも1つの構造物であるかのように図示している。しかし、通常、記憶装置31は、上記例示した各種装置(あるいは媒体)のうち、必要に応じて採用される複数種類の装置から構成されるものである。すなわち、記憶装置31は、データを記憶する機能を有する装置群の総称である。
The
また、FPGAであるコントローラ30は、現実には、高速にアクセス可能なメモリや不揮発性のメモリを内部に備えた電子回路である。しかし、このようなコントローラ30が備える記憶装置も、説明の都合上、記憶装置31に含めて説明する。すなわち、厳密にはコントローラ30自体が記憶するデータも、記憶装置31が記憶するとして説明する。図1に示すように、記憶装置31は、プログラム310、アプリケーションプログラム311、学習結果情報313、入力情報314、実行情報315およびコンテンツデータベース316を記憶するために使用される。ただし、記憶装置31に記憶される情報はこれらに限定されるものではない。
Further, the
プログラム310は、必要に応じてコントローラ30を再構成するための情報である。FPGAであるコントローラ30は、出荷前に、論理ブロックやそれらを相互接続する配線階層の状態などを決定することにより、コントローラ30における演算アルゴリズムを一旦固定する(以下の説明では、この状態のコントローラ30を「構成後のコントローラ30」と称する。)。一方で、構成後のコントローラ30は、プログラム310に基づいて再構成も可能(演算アルゴリズムを変更可能)である。ただし、以下の説明では、プログラム310によるコントローラ30の再構成については詳細な説明を省略する。なお、CPUやMPU(Micro Processing Unit)のように動作時にソフトウェアを必要とする演算回路としてコントローラ30を構成した場合には、プログラム310は動作中にコントローラ30によって実行されるプログラムである。
The
アプリケーションプログラム311は、ホストコンピュータ2によって実行されるプログラムである。アプリケーションプログラム311は、メモリシステム3から転送されて、ホストコンピュータ2の記憶装置21にロードされ(図示せず)、逐次、CPU20により読み出されて実行される。すでに説明したように、アプリケーションプログラム311は、要求情報312を含んでいる。
The
なお、詳細は後述するが、アプリケーションプログラム311は、「状況」に応じて、当該アプリケーションプログラム311が使用可能なコンテンツを表現した情報を変更することによって、「調整」が可能である。厳密には、アプリケーションが調整されるのは、変更されたコンテンツを表現した情報が実際にアプリケーションにおいて使用されたときである。しかし、以下の説明では、ホストコンピュータ2において使用可能なコンテンツを表現した情報の少なくとも一部が調整用コンテンツ情報320(図3参照)によって変更されることも、便宜上、「調整」と呼ぶものとする。一方で、アプリケーションプログラム311によって使用可能なコンテンツを表現した情報には、例えば、セーブデータなども想定される。しかし、セーブデータが変更されたとしても、これは調整用コンテンツ情報320によって変更されたものではないので、以下の説明における「調整」には該当しない。
Although the details will be described later, the
また、アプリケーションプログラム311は、調整に関わりなく(全ての調整に共通して)使用されるコンテンツを表現した情報(例えば、タイトル画面の情報)や、調整されるまでの間だけ初期的に使用されるコンテンツを表現した情報(例えば、調整後には削除されて出現しないキャラクタの情報や、調整後には書き替えられる情報)などを含んでいる。したがって、結果的に、何らの調整も行われなかったとしても、アプリケーションプログラム311は、ゲームを支障なく提供することができる。
Further, the
学習結果情報313は、後述するコントローラ30によって実現される人工知能による推論処理のときに使用される情報である。学習結果情報313は、例えば、推論処理に使用される演算係数や閾値などから構成されている。学習結果情報313は予め外部の装置などで実行された学習処理の結果作成された情報であり、記憶装置31に記憶されている。
The learning result
学習結果情報313の作成手法としては、例えば、遺伝的アルゴリズムによる学習や、教師なし学習で用いられるクラスタリング、教師あり学習で用いられるサポートベクターマシン、あるいは、多層ニューラルネットに用いられるディープラーニング(深層学習)などが知られている。つまり、学習結果情報313には、採用する人工知能アルゴリズムに関連した情報、例えば、採用する学習済みのネットワークモデル(層数、各層の種類、ノード/ユニット数、重み、活性化関数など)や、推論を行う際に必要とする入力情報314の種類、ビット/チャネル数などを含んだ情報である。ただし、採用する人工知能アルゴリズムによって学習結果情報313の内容や構造は異なる。
As a method for creating
説明の便宜上、学習結果情報313が記憶装置31に格納されているかのように説明した。しかし、コントローラ30がFPGAである本実施の形態では、より厳密には、学習結果情報313を反映した状態でコントローラ30が構成されている。ただし、コントローラ30にCPUなどのハードウェアを採用した場合、学習結果情報313は、記憶装置31上のパラメータ情報などとしてコントローラ30に与えられる。
For convenience of explanation, the learning
以下の説明では、学習結果情報313は、固定の情報として説明する。ただし、学習結果情報313は、出荷後の学習処理によって更新され、適宜コントローラ30によって参照されてもよい。あるいは、サーバへアップロードして、サーバ側でより最適化された学習結果情報313を生成してからダウンロードしてもよい。このようにして更新された学習結果情報313によってコントローラ30が再構成されてもよい。
In the following description, the learning
入力情報314は、ホストコンピュータ2からメモリシステム3に対して入力される収集情報211である。ホストコンピュータ2において収集(記録)された収集情報211は、メモリシステム3に転送されて、入力情報314として記憶装置31に記憶される。
The
実行情報315は、入力情報314をコントローラ30が分析した結果として得られる情報である。コントローラ30は、ホストコンピュータ2から入力される入力情報314(収集情報211)を分析して実行情報315を作成して記憶装置31に記憶させる。詳細は後述するが、コントローラ30は、実行情報315に応じて適切な調整を推論(人工知能による推論演算を実行)する。
The
なお、先述のように、実行情報315は、入力情報314に応じて作成される情報である。したがって、コントローラ30が実行情報315に応じて推論することは、間接的には、コントローラ30が入力情報314に応じて推論することに相当する。
As described above, the
図1に示すコンテンツデータベース316は、様々な情報を互いに関連づけたテーブル構造のデータベースである。
The
図2は、コンテンツデータベース316を示す図である。コンテンツデータベース316は、複数のレコードから構成されている。また、各レコードは、2つの項目(データ格納領域)を有している。
FIG. 2 is a diagram showing a
各レコードの第1項目には、調整候補識別情報317が格納されている。したがって、記憶装置31は、コンテンツデータベース316を記憶することによって、複数の調整候補識別情報317を記憶する。複数の調整候補識別情報317は、それぞれが互いに重複することのない固有の値である。これにより、コンテンツデータベース316には、値の異なる調整候補識別情報317ごとに1つのレコードが作成されることになる。
Adjustment
アプリケーションプログラム311の設計者(以下、単に「設計者」と称する。)は、アプリケーションプログラム311の実行中に想定される複数の状況に応じて、それぞれの状況に適した調整を決定し、予め準備する。すなわち、設計者は、想定される状況ごとに、適切な調整を設計する。これにより、準備される複数の調整はそれぞれ互いに異なる調整となる。
The designer of the application program 311 (hereinafter, simply referred to as “designer”) determines and prepares in advance the adjustment suitable for each situation according to a plurality of situations assumed during the execution of the
具体的には、例えば、ロールプレイングゲームにおいて、ユーザの「プレイヤーレベル」を「状況」として定義した場合、複数の状況としては、「低級者」、「中級者」あるいは「上級者」を想定することができる。そして、「低級者」、「中級者」、「上級者」といったそれぞれのプレイヤーレベルには、それぞれのプレイヤーレベルに適した調整が準備される。 Specifically, for example, in a role-playing game, when the user's "player level" is defined as "situation", "low-level", "intermediate" or "advanced" is assumed as a plurality of situations. be able to. Then, adjustments suitable for each player level are prepared for each player level such as "lower level", "intermediate level", and "advanced level".
例えば、「低級者」に対しては、「敵の動きを遅くする」、「敵の出現数を減らす」、「敵の武装を弱くする」、あるいは、「味方のキャラクタを出現させる」といった「低級者用の調整」が準備される。一方、「上級者」に対しては、「敵の動きを速くする」、「敵の出現数を増やす」、「敵の武装を強くする」、あるいは、「味方のキャラクタを出現させない」といった「上級者用の調整」が準備される。 For example, for "low-ranking players", "slow down the movement of enemies", "reduce the number of enemies appearing", "weaken the armament of enemies", or "make ally characters appear". "Adjustment for lower class" is prepared. On the other hand, for "advanced players", "fasten the movement of enemies", "increase the number of enemies appearing", "strengthen the armament of enemies", or "do not allow friendly characters to appear". "Adjustment for advanced users" is prepared.
このようにして準備されるそれぞれの調整は、コンピュータシステム1において提供されると決定されるまでは調整候補である。設計者は、1つの調整候補に、1つの調整候補識別情報317を対応付ける。これにより、それぞれの調整候補識別情報317は、準備された複数の調整候補に一対一で対応付けされる。したがって、調整候補識別情報317を特定すれば、複数の調整候補のうちから所望の調整候補を特定することができる。すなわち、調整候補識別情報317は、準備された複数の調整候補の中から特定の調整候補を識別するための識別子である。
Each adjustment thus prepared is a candidate for adjustment until it is determined to be provided in
先述の例で説明すると、「低級者用の調整」に対応する調整候補識別情報317として「1」を割り当て、「上級者用の調整」に対応する調整候補識別情報317として「3」を割り当てる。これにより、調整候補識別情報317が「1」であれば「低級者用の調整候補」、調整候補識別情報317が「3」であれば「上級者用の調整候補」であることがそれぞれ識別できる。
In the above example, "1" is assigned as the adjustment
なお、定義する状況としては、ゲーム(アプリケーション)を調整することが適当と考えられる事象に応じて定義することが望ましい。例えば、プレイ環境(屋内、屋外、車内、コントローラの種類など)、ユーザのプレイ履歴情報(回数、時間、選択履歴など)、ユーザの心理状況(イライラしているか、楽しんでいるかなど)、あるいは、ユーザの個人情報(年令、性別、国籍、居所、癖、好みなど)などが状況として想定される。ただし、これらに限定されるものではなく、また、これらの全てを想定しなければならないわけでもない。 It should be noted that it is desirable to define the situation according to the event in which it is considered appropriate to adjust the game (application). For example, play environment (indoor, outdoor, in-car, controller type, etc.), user's play history information (number of times, time, selection history, etc.), user's psychological status (whether frustrated or enjoyed, etc.), or The user's personal information (age, gender, nationality, whereabouts, habits, preferences, etc.) is assumed as the situation. However, it is not limited to these, and it is not necessary to assume all of them.
また、想定し得る複数の状況を組み合わせて、より総合的な1つの状況を定義してもよい。例えば、「プレイ回数が少ない」状況で、かつ、ユーザの操作の状況からユーザが「低級者」である状況を「初心者」という状況として定義してもよい。この場合、例えば、ゲームの背景(ストーリーなど)や操作方法の説明を詳細に表示するとともに、弱い敵キャラクタを出現させるように調整候補を設計する。一方で、同じく「低級者」であっても「プレイ回数が多い」状況のときは「初心者」ではなく別の状況として定義し、敵キャラクタは相変わらず弱いままとしつつも、「プレイ回数が多い」ことからゲームの背景や操作方法の説明は既に知っているものとして簡略化して表示するように調整候補を設計する。 In addition, a more comprehensive situation may be defined by combining a plurality of possible situations. For example, a situation in which the number of plays is small and the user is a "low-ranking person" from the situation of the user's operation may be defined as a situation of "beginner". In this case, for example, the background of the game (story, etc.) and the explanation of the operation method are displayed in detail, and the adjustment candidate is designed so that a weak enemy character appears. On the other hand, even if you are a "low-ranked person", if you are in a situation where you "play a lot", you define it as a different situation instead of "beginner", and while the enemy character remains weak as usual, you "play a lot". Therefore, the adjustment candidates are designed so that the background of the game and the explanation of the operation method are simplified and displayed as if they are already known.
図2に示すように、コンテンツデータベース316の各レコードの第2項目には、コンテンツ候補情報318が格納される。
As shown in FIG. 2, the
コンテンツ候補情報318は、設計者によって調整用に準備された情報であって、様々なコンテンツを表現するための情報である。準備され、コンテンツデータベース316に格納されている各コンテンツは、必ずしも全てが実際にアプリケーションプログラム311によって使用されるわけではない。例えば、状況(調整)に応じて択一的に使用されるコンテンツは、一方が使用されると他方は使用されない。また、アプリケーションプログラム311が使用するのではなく、ホストコンピュータ2において実行される他のプログラムが使用するものも含まれる。したがって、少なくとも使用されることが決定されるまでは、準備されただけの状態のコンテンツ(コンテンツデータベース316に収録されただけのコンテンツ)は、ホストコンピュータ2が使用可能なコンテンツの「候補」である。
The
コンテンツ候補情報318の具体例は、画像情報(登場人物や物体、風景など)、音声情報(効果音やBGM、登場人物の声など)、その他の出力情報(バイブレーションなど)、あるいは、パラメータ情報(キャラクタの行動パターンやスピード、強さなど)などである。もちろんここに列挙した情報に限定されるものではない。
Specific examples of the
また、異なるゲームにおいては、通常、異なるキャラクタが登場する。すなわち、アプリケーションプログラム311がどのようなコンテンツ候補情報318を必要とするかは、アプリケーションプログラム311ごとに異なっている。したがって、コンテンツ候補情報318は、アプリケーションプログラム311ごとに準備される情報である。
Also, in different games, different characters usually appear. That is, what kind of
同一のレコードに格納された調整候補識別情報317およびコンテンツ候補情報318は、互いに同一のレコードに格納されることにより、コンテンツデータベース316において互いに関連づけされている。すなわち、記憶装置31に記憶されるコンテンツデータベース316は、ホストコンピュータ2によって使用可能なコンテンツを表す情報(コンテンツ候補情報318)を複数の調整候補識別情報317のうちのいずれかと関連づけた情報である。
The adjustment
コンテンツ候補情報318は、アプリケーションプログラム311に使用される情報以外の情報を含んでいてもよい。例えば、コンテンツ候補情報318は、アプリケーションプログラム311と直接関係の薄い「広告」を表現した情報であってもよい。広告は、例えば、アプリケーションプログラム311が実行されていないとき(例えば、別のアプリケーションプログラムが実行されているとき)に提供されてもよい。具体的には、ユーザがスポーツ体験型のゲーム(アプリケーションプログラム311)を頻繁にプレイするという状況に備えて、ゲームのプレイ中以外のときにスポーツ用品の広告を提供するといった調整が考えられる。アプリケーションプログラム311の実行中(ゲームのプレイ中)に広告が表示されても、注目度が低下するおそれがあるが、ユーザが注目しやすい状況を検出して、そのタイミングで広告を表示すれば効果的な広告を提供できる。したがって、このような広告を表現したコンテンツ候補情報318は、ホストコンピュータ2によって使用可能な情報ではあるが、アプリケーションプログラム311によって使用される情報ではない。
The
通常は、特定の調整を実現するために変更されるコンテンツは複数存在する。したがって、特定の調整候補識別情報317に関連づけされるコンテンツ候補情報318は、当該調整候補識別情報317によって識別される調整を実現するために必要となるコンテンツを表現した情報の集合体となる。例えば、1つの調整候補識別情報317に関連づけられているコンテンツ候補情報318が、キャラクタA(1つのコンテンツ)の画像情報、および、キャラクタAとは異なるキャラクタB(もう1つのコンテンツ)の画像情報を含んでいる。ただし、調整ごとに変更されるコンテンツは複数でなくてもよい。すなわち、各調整において変更(調整)されるコンテンツが1つであってもよい。
Usually, there are multiple pieces of content that are modified to achieve a particular adjustment. Therefore, the
なお、異なる調整候補識別情報317にそれぞれ関連づけられるコンテンツ候補情報318において、一部の情報が共通していてもよい。先述の例で説明すれば、「低級者」に関連づけられたコンテンツ候補情報318には「味方のキャラクタA」および「味方のキャラクタB」を表現した情報がいずれも含まれており、「中級者」に関連づけられたコンテンツ候補情報318には「味方のキャラクタA」を表現した情報が含まれている一方で、「味方のキャラクタB」を表現した情報は含まれていなくてもよい。このような場合、「低級者」および「中級者」に対しては、いずれも「キャラクタA」が味方として登場するが、「中級者」に対しては「キャラクタB」は味方として登場することはない。すなわち、異なる調整候補識別情報317(異なる調整に対応する)に関連づけられるコンテンツ候補情報318は互いに完全に同一でさえなければ、これによって互いに異なる調整を実現することができる。
It should be noted that some information may be common in the
また、調整の対象となっていないコンテンツ(異なる調整において変更されないコンテンツ)を表現した情報を、全てのコンテンツ候補情報318に共通して含めるようにしてもよい。
In addition, information expressing content that is not the target of adjustment (content that is not changed in different adjustments) may be included in all
本実施の形態では、すでに説明したように、調整の対象となっていないコンテンツを表現した情報はアプリケーションプログラム311とみなしてアプリケーションプログラム311に含める。このような場合、アプリケーションプログラム311に含まれるコンテンツを表現した情報は、コンテンツデータベース316から除外される。すなわち、コンテンツデータベース316は、アプリケーションプログラム311が使用する全てのコンテンツを含んでいなければならないわけではない。
In the present embodiment, as described above, the information expressing the content that is not the target of adjustment is regarded as the
すでに説明したように、各調整候補識別情報317は、それぞれが互いに重複することのない固有の値である。したがって、調整候補識別情報317が特定されれば、特定された調整候補識別情報317を検索キーとしてコンテンツデータベース316を検索することができる。詳細は後述するが、このような検索を実行することにより、メモリシステム3は、検索キーとして使用された調整候補識別情報317に関連づけられたコンテンツ候補情報318をコンテンツデータベース316から選択(抽出)することができる。
As described above, each adjustment
インタフェース部38は、ホストコンピュータ2との間でデータ通信が可能な状態でメモリシステム3を着脱自在に接続する機能を有している。すなわち、インタフェース部38とインタフェース部28とは、いわゆるコネクタを構成している。これにより、ホストコンピュータ2から入力される情報は、インタフェース部38により受信される。また、インタフェース部38は、コントローラ30から伝達された情報をホストコンピュータ2に向けて送信する。
The
なお、図1では、ホストコンピュータ2とメモリシステム3の記憶装置31との間の情報の入力および出力を、すべてコントローラ30が制御するように図示している。ただし、記憶装置31へのアクセスを専門的に行うコントローラを、コントローラ30とは別構成として設けてもよい。
Note that FIG. 1 shows that the
図3は、第1の実施の形態における構成後のコントローラ30が備える機能ブロックをデータの流れとともに示す図である。図3に示す推論部300、分析部301、および、選択部302は、コントローラ30によって実現される機能ブロックである。
FIG. 3 is a diagram showing a functional block included in the
推論部300は、学習結果情報313を用いて人工知能アルゴリズムによる推論を実行することにより、入力情報314に応じて、複数の調整候補識別情報317のうちから特定の調整候補識別情報317を調整識別情報319として推論する。より詳細には、推論部300は、実行情報315に応じて調整識別情報319を推論することにより、入力情報314に応じて調整識別情報319を推論する。
The
言い換えれば、推論部300に入力される実行情報315に応じて、最適な調整識別情報319が推論されるように人工知能アルゴリズムおよび学習結果情報313が設計されている。そして、当該設計に応じてコントローラ30が構成される。なお、このような推論を実行するための人工知能アルゴリズムは、従来の技術を適宜採用することにより実現可能である。したがって、推論部300が実行する人工知能アルゴリズムについての詳細な説明は省略する。
In other words, the artificial intelligence algorithm and the learning result
実行情報315は、ホストコンピュータ2において観測され収集された収集情報211に基づいて作成される。したがって、実行情報315は、収集情報211が収集されたときの状況を表現した情報である。すなわち、推論部300による推論は、収集情報211に表現されている現実の状況が設計者によって想定された複数の状況のうちのいずれであるかを判定して、準備された複数の調整候補のうちから特定の調整候補を、最適な調整として推論するものである。
The
これにより、設計者によって準備された複数の調整候補(調整候補識別情報317によって識別される各調整)の中から、実際に提供される調整(調整識別情報319によって識別される調整)が決定される。なお、推論部300は、調整識別情報319を記憶装置31に記憶させる機能も有している。
As a result, the adjustment actually provided (adjustment identified by the adjustment identification information 319) is determined from the plurality of adjustment candidates (each adjustment identified by the adjustment candidate identification information 317) prepared by the designer. To. The
分析部301は、ホストコンピュータ2から入力される入力情報314を分析して、その分析結果を実行情報315として記憶装置31に記憶させる。
The
すでに説明したように、入力情報314は、収集情報211と等価な情報である。そして、収集情報211は、ホストコンピュータ2において、操作部22、センサ24、カメラ25およびマイク26によって検出された情報である。収集情報211(入力情報314)は、要求情報312によって取捨選択されている。とはいえ、入力情報314は、センサ24からの生のバイナリ情報や、カメラ25からの画像情報などを含んでいる場合があり、依然として情報の項目や容量が膨大な情報である。
As described above, the
分析部301は、入力情報314に対して、圧縮、分類といった処理を施すことにより、推論部300による推論処理に対する入力として、より適した実行情報315を作成する。
The
例えば、分析部301は、入力情報314に含まれる画像情報や音声情報に、単純な間引き処理を行って実行情報315とすることにより、入力情報314を圧縮してもよい。入力情報314に含まれる画像情報や音声情報などは、カメラ25やマイク26の性能に従ったサンプリングレートで作成されている。このような情報を予め分析部301が間引くことによって、推論部300の負荷が軽減される。
For example, the
また、分析部301は、ユーザを撮像した画像情報と、ユーザの音声を含む音声情報とが入力情報314に含まれている場合に、これらの情報に基づいて認識処理を実行してユーザの心理状態を判定して実行情報315としてもよい。このような認識処理は、推論部300による推論処理に類似した処理も採用可能である。推論部300による推論処理に類似した認識処理を採用して当該推論処理の前段に実行することによっても、直接、入力情報314に対して推論部300が推論処理を行う場合に比べてコントローラ30の負荷が軽減される場合がある。
Further, when the
また、分析部301は、入力情報314に含まれる画像情報にエッジ処理を施して、検出したエッジに関する情報を実行情報315としてもよい。すなわち、画素情報をエッジ情報に変換することにより、入力情報314を圧縮してもよい。
Further, the
ゲームにおいて年令が1つ違うだけで調整する必要はあまりないと想定される。したがって、分析部301は、ユーザの年令が入力情報314に含まれていた場合に、単純に適当な閾値と比較することによって、ユーザの年令を、例えば、10才未満、10代前半、10代後半、20代、30代、40代以上のように分類して実行情報315としてもよい。あるいは、日付を示す入力情報314を分析して、季節を示す実行情報315としてもよい。
It is assumed that there is not much need to adjust in the game with only one age difference. Therefore, when the user's age is included in the
また、分析部301は、一度入力されれば一定期間変更されないような入力情報314については、入力情報314から一定期間削除してもよい。このような情報としては、例えば、ユーザの個人情報やハードウェア構成情報、日付情報などが想定される。このような情報は、ゲーム中に頻繁に変更されるものではない。
Further, the
また、分析部301は、操作部22によって収集された操作部22に対する物理的な操作量を、アプリケーションにおける操作量に変換して実行情報315としてもよい。例えば、カーレーシングゲームが提供されているときに得られた入力情報314に、操作部22の現実の操作量が含まれている場合に、この現実の操作量を、当該カーレーシングゲームにおけるハンドルの操作量に変換するといったことが想定される。
Further, the
ここに示した分析は、あくまでも分析部301による分析の例示であって、上記の例に限定されるものではない。ただし、分析部301による分析は、当該分析を実行することによって、推論部300が直接入力情報314に対する推論を実行する場合に比べて全体としてコントローラ30の負荷が軽減されるとともに、推論結果に大きな影響がでないような分析であることが好ましい。
The analysis shown here is merely an example of the analysis by the
選択部302は、調整識別情報319に対応する調整候補識別情報317に関連づけられたコンテンツ候補情報318をコンテンツデータベース316から選択して調整用コンテンツ情報320とする機能を有している。
The
より詳細には、選択部302は、調整識別情報319(推論処理により特定された調整候補識別情報317)を検索キーとしてコンテンツデータベース316を検索する。これにより、選択部302は、検索キーとして使用した調整候補識別情報317に関連づけられたコンテンツ候補情報318をコンテンツデータベース316から選択(抽出)する。さらに、選択部302は、抽出したコンテンツ候補情報318を調整用コンテンツ情報320とする。すなわち、調整用コンテンツ情報320は、調整識別情報319(特定された調整候補識別情報317)に関連づけられたコンテンツ候補情報318に相当する。
More specifically, the
調整候補識別情報317に関連づけられたコンテンツ候補情報318は、当該調整候補識別情報317によって識別される調整を実現するために必要となるコンテンツを表現した情報である。したがって、調整用コンテンツ情報320は、調整識別情報319によって識別される調整を実現するために必要なコンテンツを表現した情報である。
The
このように、選択部302により選択された調整用コンテンツ情報320をホストコンピュータ2が使用することによって、入力情報314(実行情報315)により表現された状況に応じた最適な調整(そのように準備された調整)が実現される。これにより、コンピュータシステム1は、ユーザに意識(例えば、選択操作)させることなく、状況に応じて、最適な状態にアプリケーション(ゲーム)を調整することができる。
In this way, by using the
また、第1の実施の形態における選択部302は、インタフェース部38がホストコンピュータ2に対して出力すべき調整用コンテンツ情報320の出力タイミングを決定する機能も有している。すなわち、選択部302は、タイミング決定手段としても構成されている。
Further, the
第1の実施の形態における選択部302は、入力情報314を監視しつつ、入力情報314に示される情報(例えば、時刻、ユーザによる選択操作、進捗状況など)に応じて出力タイミングを決定する。選択部302は、決定した出力タイミングが到来したときに、調整識別情報319を参照して、調整用コンテンツ情報320を作成する。インタフェース部38は、調整用コンテンツ情報320が作成されたタイミングで、当該調整用コンテンツ情報320をホストコンピュータ2に向けて転送する。すなわち、第1の実施の形態では、調整用コンテンツ情報320の作成タイミングが実質的に出力タイミングに相当する。
The
想定される状況に応じて準備される調整は、当該状況が生じたときに直ちに提供されなければならないとは限らない。例えば、所定の時間が経過した後に提供されるべき場合や、次回の起動時に提供されるべき場合などもあり得る。しかし、選択部302が出力タイミングを決定し、決定された出力タイミングに応じて調整が実現されるタイミングが実質的に決定されることにより、コンピュータシステム1は、効果的なタイミングで調整することができる。
Adjustments prepared for the assumed situation do not necessarily have to be provided immediately when the situation arises. For example, it may be provided after a predetermined time has elapsed, or it may be provided at the next startup. However, the
ただし、出力タイミングを決定する手法は、このような手法に限定されるものではない。例えば、選択部302は、出力タイミングにかかわらず、調整用コンテンツ情報320を作成し、別途、入力情報314に応じて決定した出力タイミングが到来したときに、インタフェース部38に対して制御信号(出力タイミングが到来したことを示す信号)を伝達してもよい。インタフェース部38は、この制御信号が伝達されたタイミングで、調整用コンテンツ情報320をホストコンピュータ2に向けて転送することができる。このように構成することによっても、調整用コンテンツ情報320の出力タイミングを適切に制御することができる。
However, the method for determining the output timing is not limited to such a method. For example, the
コンテンツ候補情報318は、様々なコンテンツを表現した情報の集合体である。これらの情報による調整は、必ずしも、同時に提供されなければならないわけではない。例えば、ゲームの強さを調整するコンテンツはゲーム中に使用される必要があるが、先述の例における広告を表現したコンテンツはゲーム中に使用されない方が好ましい。したがって、選択部302は、調整識別情報319に応じて選択されるコンテンツ候補情報318に含まれるコンテンツごとに、出力タイミングを決定する。
The
ここで、メモリシステム3においてセキュリティレベルが向上する原理について説明する。
Here, the principle of improving the security level in the
アプリケーションプログラム311を複製しただけでは、アプリケーションプログラム311によるアプリケーションを再現することはできない。アプリケーションを再現するためには、アプリケーションプログラム311だけでなく、全てのコンテンツ候補情報318(コンテンツデータベース316)を複製することが必要である。これらを不正に複製しようとする者(以下、「悪意者」と称する。)は、これらの情報がメモリシステム3からホストコンピュータ2に向けて読み出される(転送される)ときに、インタフェース部38などに接続した装置などで不正にモニターして複製する。
It is not possible to reproduce the application by the
メモリシステム3は、アプリケーションプログラム311については、例えば、起動時にホストコンピュータ2から与えられるコマンド等により一挙にホストコンピュータ2に転送する。しかし、メモリシステム3は、コンテンツ候補情報318を、一挙に転送することはない(通常、そのようなコマンドは存在しない。)。各コンテンツ候補情報318は、それぞれについて想定された状況を表現した入力情報314がインタフェース部38に入力されない限り、記憶装置31から読み出されることはない。しかも、どのような状況がどれだけの数だけ想定されているか(コンテンツデータベース316内のレコードの数)、あるいは、各状況を表現する入力情報314がどのようなものか(どのような入力情報314を再現すれば、調整用コンテンツ情報320が読み出されるのか)について、悪意者は全く知ることができない。
The
したがって、準備されている複数のコンテンツ候補情報318を、悪意者が不正に複製しようとしても、各コンテンツ候補情報318を読み出すコマンドはなく、再現が困難な入力情報314を入力としなければ読み出すことができない。したがって、コンテンツ候補情報318のうちの1つすらもメモリシステム3から読み出すことは容易ではない。
Therefore, even if a malicious person attempts to illegally duplicate the prepared plurality of
あるいは、でたらめな入力情報314によって何らかのコンテンツ候補情報318が読み出せたとしても、それがどのような状況に対応して提供されるものかを知ることも困難である。すなわち、入力情報314とコンテンツ候補情報318は、読み出しコマンドとその対象情報のような一対一の対応ではなく、多対一の対応である。したがって、ある入力情報314から特定のコンテンツ候補情報318が読み出せたとしても、当該コンテンツ候補情報318から、これを読み出す入力情報314(ある意味では無限に存在する)を特定することはできない。すなわち、例え、1つのコンテンツ候補情報318が複製できたとしても、コンテンツデータベース316のレコードを構築することはできない。
Alternatively, even if some
さらに、コンテンツ候補情報318は、出力タイミングが制御されていて、単に状況を再現した入力情報314を入力しただけでは直ちに出力されないものまで存在する。このような状態で、全てのコンテンツ候補情報318を完全に読み出して複製することは相当困難である。
Further, the
このような原理により、メモリシステム3は、不正な複製に対するセキュリティレベルを高めることができる。
By such a principle, the
以上が、コンピュータシステム1の構成および機能の説明である。次に、コンピュータシステム1を用いて情報を保護する方法について説明する。
The above is a description of the configuration and functions of the
図4は、コンピュータシステム1を用いた情報保護方法を示す流れ図である。なお、図4に示す各工程が開始されるまでに、すでにコントローラ30は構成後の状態であるものとする。さらに、記憶装置31には、プログラム310、アプリケーションプログラム311、学習結果情報313、および、コンテンツデータベース316が格納されているものとする。すなわち、各情報を記憶装置31に記憶させる工程は、すでに完了しているものとする。
FIG. 4 is a flow chart showing an information protection method using the
図4に示す工程が開始されると、コンピュータシステム1が起動する(ステップS1)。これにより、少なくともホストコンピュータ2に電源が投入され、ホストコンピュータ2が起動する。このとき、CPU20は、起動用プログラム210の実行を開始する。なお、ステップS1が実行されたときにメモリシステム3がすでに装着されている場合には、メモリシステム3に対する電力供給が開始される。この場合、メモリシステム3も起動する。
When the process shown in FIG. 4 is started, the
次に、CPU20は、インタフェース部28を監視し、メモリシステム3が装着されているか否かを判定する(ステップS2)。メモリシステム3が装着されていない場合(ステップS2においてNo。)、コンピュータシステム1はステップS2を繰り返しながら待機する。
Next, the
メモリシステム3が装着されていると判定すると(ステップS2においてYes。)、CPU20は、アプリケーションプログラム311を転送するようにメモリシステム3に要求する。コンピュータシステム1が起動しており、かつ、メモリシステム3が装着されている場合には、通常、メモリシステム3は起動している。なお、メモリシステム3が、例えば、スリープモードであることも想定されるが、その場合であっても、CPU20からの要求によって復帰する。
If it is determined that the
したがって、CPU20からの要求に応じて、メモリシステム3からアプリケーションプログラム311がロード(転送)される(ステップS3)。すでに説明したように、このときロードされるアプリケーションプログラム311には要求情報312が含まれている。要求情報312は、記憶装置21に記憶される。
Therefore, the
アプリケーションプログラム311がロードされると、コンピュータシステム1は、図4に示すアプリケーション実行処理(ステップS4)を実行する。ステップS4を実行することにより、ホストコンピュータ2は、ロードされたアプリケーションプログラム311の実行を開始するが、詳細は後述する。
When the
アプリケーション実行処理を終了すると、CPU20は、アプリケーションを終了するか否かを判定する(ステップS5)。ステップS5における判定は、例えば、ユーザが操作部22を操作するなどして、アプリケーションを終了させる指示を入力したか否かに応じて判定することができる。ただし、ユーザ操作に限定されるものではなく、例えば、アプリケーションプログラム311自体がアプリケーションを終了させてもよい。
When the application execution process is completed, the
ステップS5においてアプリケーションを終了すると判定すると(ステップS5においてYes。)、CPU20はアプリケーションを終了する(ステップS7)。すなわち、アプリケーションプログラム311の実行を停止する。ステップS5における判定は、例えば、ユーザが操作部22を操作することにより入力される情報などに基づいて判定することができる。
When it is determined in step S5 that the application is terminated (Yes in step S5), the
一方、ステップS5においてアプリケーションを終了しないと判定すると(ステップS5においてNo。)、CPU20は、さらに、メモリシステム3が装着されているか否かを判定する(ステップS6)。そして、メモリシステム3が装着されていない場合(ステップS6においてNo。)、CPU20はステップS7を実行する。すなわち、何らかの理由でメモリシステム3が抜き取られた場合にも、CPU20はアプリケーションを終了させる。
On the other hand, if it is determined in step S5 that the application is not terminated (No. in step S5), the
ステップS6においてYesと判定すると、コンピュータシステム1はステップS4に戻って処理を継続する。このように、コンピュータシステム1は、ステップS5においてYesと判定するか、あるいは、ステップS6においてNoと判定するまで、アプリケーションを提供し続ける。
If it is determined Yes in step S6, the
ステップS7が実行されてアプリケーションが終了すると、CPU20は、コンピュータシステム1による処理を終了するか否かを判定する(ステップS8)。
When step S7 is executed and the application is terminated, the
ステップS8においてNoと判定すると、コンピュータシステム1は、ステップS2の処理に戻って、新たなメモリシステム3が装着されるまで待機する。図4において図示をしていないが、ホストコンピュータ2は、この待機期間に調整してもよい。この期間は、アプリケーションプログラム311が実行されておらず、アプリケーションは提供されていないので、例えば、調整用コンテンツ情報320を使用して広告を表示するように調整すれば、ユーザの注目度を向上させることが期待できる。なお、広告を表現した調整用コンテンツ情報320は、先述のように、アプリケーションプログラム311によって使用されなくてもよいコンテンツを表現した情報として構成できる。
If No is determined in step S8, the
一方、ステップS8においてYesと判定すると、コンピュータシステム1は処理を終了する。このとき、ホストコンピュータ2およびメモリシステム3は動作を停止する。
On the other hand, if it is determined Yes in step S8, the
次に、ステップS4に示すアプリケーション実行処理におけるホストコンピュータ2の動作について説明する。
Next, the operation of the
図5は、アプリケーション実行処理において、第1の実施の形態におけるホストコンピュータ2が実行する処理を示す流れ図である。
FIG. 5 is a flow chart showing a process executed by the
アプリケーション実行処理が開始されると、CPU20は、アプリケーションプログラム311を実行する(ステップS11)。ステップS11が実行されるまでに、図4のステップS1,S3が実行されている。したがって、ステップS11を実行するとき、すでにCPU20がアプリケーションプログラム311を実行する準備は整っている。
When the application execution process is started, the
なお、アプリケーションプログラム311がロード(ステップS3)されてから初めてステップS11が実行されるときとは、アプリケーションが開始されるときに相当する。その後は、ステップS7を実行することによりアプリケーションを終了するまで、ステップS4を繰り返し実行する。ステップS4が実行されるたびにステップS11が実行されることにより、アプリケーションプログラム311が逐次実行され、アプリケーションが進行する。
The time when step S11 is executed for the first time after the
ステップS11を実行すると、CPU20は、収集タイミングが到来しているか否かを判定する(ステップS12)。すでに説明したように、収集タイミングとは、収集情報211を収集するタイミングであり、周期的に到来するように定義されている。
When step S11 is executed, the
収集タイミングが到来している場合(ステップS12においてYes。)、CPU20は、要求情報312に要求されている情報を収集するために必要なハードウェアを特定し、それらのハードウェアがすべて正常に作動しているか(情報収集が可能な状態か)否かを判定する(ステップS13)。ステップS13において判定の対象となるハードウェアとは、操作部22、センサ24、カメラ25、および、マイク26のうち、要求情報312において要求されている情報の収集に必要なハードウェアである。
When the collection timing has arrived (Yes in step S12), the
必要なハードウェアが作動していない場合(ステップS13においてNo。)、CPU20は、該当するハードウェアを作動させる(ステップS14)。したがって、ステップS14を実行した後、CPU20は、必要な情報の収集(操作部22によるユーザ操作の記録、センサ24によるセンシング、カメラ25による撮像、および、マイク26による収録のうちの必要な収集)が可能な状態となる。一方で、CPU20は、ステップS13において、必要のないハードウェアを停止させてもよい。なお、必要な全てのハードウェアが作動している場合(ステップS13においてYes。)、CPU20は、ステップS14をスキップする。
When the required hardware is not operating (No. in step S13), the
ステップS13,S14が実行されて、情報の収集に必要な全てのハードウェアが作動している状態となると、CPU20は、これらのハードウェアからの入力信号に基づいて、収集情報211を作成する(ステップS15)。このとき、CPU20は、再び要求情報312を参照して、得られた入力信号の要否を判定しつつ収集情報211を作成する。したがって、収集情報211は要求情報312に従って収集された情報となる。
When steps S13 and S14 are executed and all the hardware necessary for collecting information is in operation, the
ステップS15を実行するときには、すでにCPU20は、要求情報312を参照して、収集情報211を作成するために必要なハードウェアのみを作動させている。しかし、ハードウェアを取捨選択しただけでは、要求情報312に従った収集情報211が作成できない場合がある。例えば、白黒画像情報を要求されているために、CPU20がカメラ25を作動させたが、カメラ25はカラー画像情報を取得する場合が考えられる。このような場合、CPU20は、カメラ25から得られたカラー画像情報を、要求情報312に従って白黒画像情報に変換して収集情報211を作成する。
By the time step S15 is executed, the
なお、上記の説明では、便宜上、CPU20がすべての情報をほぼ同時に収集して、ほぼ同時に収集情報211とすると説明した。しかし、各ハードウェアごとに収集タイミングが異なっていてもよい。
In the above description, for convenience, the
すでに説明したように、メモリシステム3に向けて送信された収集情報211は、メモリシステム3において入力情報314として記憶される。したがって、CPU20がステップS15を実行して収集情報211を作成することは、メモリシステム3に向けてホストコンピュータ2から入力される入力情報314を、ホストコンピュータ2が作成することに相当する。すなわち、ステップS15は、ホストコンピュータ2が入力情報314を作成する処理ともいえる。
As described above, the collected
ステップS15を実行することにより、新しい収集情報211を作成すると、CPU20は、作成した収集情報211をメモリシステム3に向けて送信する(ステップS16)。
When the new collected
なお、ステップS12において収集タイミングが到来していない場合(ステップS12においてNo。)、CPU20は、ステップS13ないしS16をスキップする。これにより、収集タイミングが到来していないとき、収集情報211は作成されない。
If the collection timing has not arrived in step S12 (No. in step S12), the
ステップS12においてNoと判定されるか、または、ステップS16が実行されると、CPU20は、調整用コンテンツ情報320を受信した否かを判定する(ステップS17)。
When No is determined in step S12 or step S16 is executed, the
調整用コンテンツ情報320を受信した場合(ステップS17においてYes。)、CPU20は、受信した調整用コンテンツ情報320を記憶装置21に記憶させる。このようにして、コンピュータシステム1は、ホストコンピュータ2により使用可能なコンテンツを表現した情報を調整用コンテンツ情報320によって調整する(ステップS18)。ステップS18においてCPU20は、ステップS18が実行されるときまで記憶装置21に記憶されていたコンテンツを表現した情報(調整前の情報)を新たに受信した調整用コンテンツ情報320によって書き替える。ただし、すでに説明したように、調整前の情報は存置しつつ、調整用コンテンツ情報320を追加してもよい。あるいは、単に、調整前の情報に使用不可を示す識別子(調整用コンテンツ情報320)を付加した状態にしてもよい。さらには、調整前の情報を削除してもよいが、その場合は、調整用コンテンツ情報320は記憶されない。
When the
ステップS18を実行するか、あるいは、ステップ17においてNoと判定すると、ホストコンピュータ2はアプリケーション実行処理(図4:ステップS4)を終了する。
If step S18 is executed or if No is determined in step 17, the
以上がアプリケーション実行処理におけるホストコンピュータ2の動作の説明である。
The above is a description of the operation of the
次に、ステップS4に示すアプリケーション実行処理におけるメモリシステム3の動作について説明する。
Next, the operation of the
図6は、アプリケーション実行処理において、第1の実施の形態におけるメモリシステム3が実行する処理を示す流れ図である。なお、図6に示す各工程が開始されるまでに、メモリシステム3は、ホストコンピュータ2からのロード要求に応じて、アプリケーションプログラム311の送信を完了している。
FIG. 6 is a flow chart showing a process executed by the
アプリケーション実行処理が開始されると、メモリシステム3は、ホストコンピュータ2から入力情報314(収集情報211)を受信したか否かを判定する(ステップS21)。
When the application execution process is started, the
入力情報314を受信した場合(ステップS21においてYes。)、メモリシステム3は、当該入力情報314を記憶装置31に記憶する(ステップS22)。
When the
また、選択部302が入力情報314を参照して、入力情報314に応じて、調整用コンテンツ情報320の出力タイミングを決定する(ステップS23)。
Further, the
例えば、入力情報314に所定の操作がされたことが示されており、それによって出力タイミングが到来したことを検出すると、選択部302はステップS23において、出力タイミングが到来したことを示すフラグ(以下、「タイミングフラグ」と称する。)を直ちにオンにする。出力するタイミングを制御しない調整用コンテンツ情報320についても、選択部302は同様に直ちにタイミングフラグをオンにする。一方、例えば、所定の時間経過後に出力タイミングが到来することを検出した場合、選択部302は、当該所定の時間をタイマ(図示せず)にセットし、所定の時間が経過した後にタイミングフラグがオンに切り替わるようにタイマを制御する。ただし、ここに示す例に限定されるものではない。
For example, when the
また、分析部301が入力情報314の分析により実行情報315を作成し(ステップS24)、記憶装置31に記憶させる。なお、分析部301による分析については、すでに説明したのでここでは省略する。
Further, the
ステップS24が実行されて実行情報315が作成されると、推論部300が、人工知能アルゴリズムにより、実行情報315に対して推論処理を実行する(ステップS25)。ステップS25において、推論部300は、複数の調整候補識別情報317の中から、推論により決定した特定の調整候補識別情報317を調整識別情報319とする。
When step S24 is executed and the
なお、ステップS21においてNoと判定すると、メモリシステム3は、ステップS22ないしS25の処理をスキップする。
If No is determined in step S21, the
ステップS21においてNoと判定するか、または、ステップS25を実行すると、メモリシステム3は、調整用コンテンツ情報320の出力タイミングが到来しているか否かを判定する(ステップS26)。ステップS26における判定は、例えば、選択部302がタイミングフラグがオンであるか否かを判定することにより判定できる。
When it is determined as No in step S21 or when step S25 is executed, the
出力タイミングが到来している場合(ステップS26においてYes。)、選択部302は、調整識別情報319に対応する調整候補識別情報317に関連づけられたコンテンツ候補情報318をコンテンツデータベース316から選択して調整用コンテンツ情報320とする(ステップS27)。このとき、選択部302は、選択したコンテンツ候補情報318の中から、出力タイミングが到来した情報のみを選択して、調整用コンテンツ情報320とする。すなわち、選択部302は、未だ出力タイミングが到来していない情報は調整用コンテンツ情報320に含めることはない。
When the output timing has arrived (Yes in step S26), the
ステップS27が実行され、新たな調整用コンテンツ情報320が作成されると、インタフェース部38が当該調整用コンテンツ情報320をホストコンピュータ2に向けて送信する(ステップS28)。
When step S27 is executed and new
ステップS26においてNoと判定すると、メモリシステム3はステップS27およびS28の処理をスキップする。
If it is determined as No in step S26, the
なお、ステップS26においてNoと判定するか、または、ステップS28を実行すると、メモリシステム3はアプリケーション実行処理(図4:ステップS4)を終了して図4に示す処理にもどる。
If No is determined in step S26 or step S28 is executed, the
以上のように、第1の実施の形態におけるメモリシステム3は、入力情報314(収集情報211)を作成するホストコンピュータ2に接続される。そして、メモリシステム3は、ホストコンピュータ2によって実行されるアプリケーションプログラム311と、ホストコンピュータ2において使用可能な様々なコンテンツ候補情報318を複数の調整候補識別情報317のうちのいずれかと関連づけたコンテンツデータベース316と、ホストコンピュータ2から入力される入力情報314とを記憶する記憶装置31と、コントローラ30とを備える。さらに、コントローラ30は、人工知能アルゴリズムによる推論を実行することにより、入力情報314に応じて、複数の調整候補識別情報317のうちから特定の調整候補識別情報317を調整識別情報319として推論する推論部300と、調整識別情報319に対応する調整候補識別情報317に関連づけられたコンテンツ候補情報318をコンテンツデータベース316から選択して調整用コンテンツ情報320とする選択部302と、調整用コンテンツ情報320をホストコンピュータ2に出力するインタフェース部38とを備える。これにより、複数のコンテンツ候補情報318のうちから選択された一部の調整用コンテンツ情報320しかホストコンピュータ2に出力しない。したがって、例えば、すべてのコンテンツ候補情報318をホストコンピュータ2に出力し、ホストコンピュータ2側で推論して実際に使用する調整用コンテンツ情報320を選択する場合に比べて、コンテンツ候補情報318を不正に抜き取られる危険性が低下する。
As described above, the
また、コントローラ30は、ホストコンピュータ2から入力される入力情報314を分析して実行情報315として記憶装置31に記憶させる分析部301をさらに備え、推論部300は、実行情報315に応じて調整識別情報319を推論することにより、入力情報314に応じて調整識別情報319を推論する。これにより、入力情報314から直接推論する場合に比べて推論処理を軽減することができる。
Further, the
また、アプリケーションプログラム311は、ホストコンピュータが入力情報314を特定するための要求情報312を含み、入力情報314は、要求情報312に従って収集された情報である。アプリケーションプログラム311に応じて必要となる入力情報314に絞り込んでホストコンピュータ2に要求することができる。したがって、アプリケーション毎に必要な情報のみが入力情報314として入力されるので、不要な入力情報314がメモリシステム3に入力されることを抑制できる。
Further, the
また、コントローラ30は、インタフェース部38がホストコンピュータ2に対して出力すべき調整用コンテンツ情報320の出力タイミングを決定する選択部302をさらに備え、インタフェース部38は、選択部302により決定された出力タイミングに応じて、選択部302により選択された調整用コンテンツ情報320をホストコンピュータ2に出力する。これにより、リアルタイムに調整するだけでなく、任意のタイミングで調整することができる。例えば、次回以降の起動時に調整することなどもできる。
Further, the
<2. 第2の実施の形態>
第1の実施の形態では、メモリシステム3において入力情報314(収集情報211)を分析して実行情報315を作成すると説明した。しかし、このような構成に限定されるものではない。例えば、実行情報315に相当する情報の作成が、ホストコンピュータ2において実行されてもよい。
<2. Second Embodiment>
In the first embodiment, it has been described that the
図7は、第2の実施の形態におけるコンピュータシステム1aを示す図である。コンピュータシステム1aは、ホストコンピュータ2の代わりにホストコンピュータ2aを備える点と、メモリシステム3の代わりにメモリシステム3aを備える点がコンピュータシステム1と異なっている。
FIG. 7 is a diagram showing a computer system 1a according to the second embodiment. The computer system 1a is different from the
なお、以下の説明では、第2の実施の形態におけるコンピュータシステム1aにおいて、第1の実施の形態におけるコンピュータシステム1と異なる点について説明し、共通する点については適宜説明を省略する。
In the following description, the differences between the computer system 1a in the second embodiment and the
ホストコンピュータ2aは、CPU20の代わりにCPU20aを備えている点がホストコンピュータ2と異なっている。また、ホストコンピュータ2aの記憶装置21は、要求情報312の代わりに要求情報312aを記憶する点と、実行情報215を記憶する点がホストコンピュータ2と異なっている。
The
要求情報312aは、メモリシステム3aの記憶装置31に記憶される要求情報312aである。要求情報312aは、要求情報312と同様に、どのような情報に基づいて収集情報211を作成するかを示す情報を含んでいる。ただし、要求情報312aは、収集情報211に応じて、どのような実行情報215を作成するかを示す情報も含まれている点が要求情報312と異なっている。
The
実行情報215は、ホストコンピュータ2aで作成される情報であって、実行情報315と等価な情報である。実行情報215は、メモリシステム3aに向けて転送され、入力情報314aとして記憶装置31に記憶される。
The
図8は、第2の実施の形態におけるホストコンピュータ2aが備える機能ブロックをデータの流れとともに示す図である。図8に示す分析部200aは、アプリケーションプログラム311をCPU20aが実行することにより実現される機能ブロックである。
FIG. 8 is a diagram showing a functional block included in the
第1の実施の形態における分析部301は、収集情報211(入力情報314)に対する分析を行って、その分析結果として実行情報315を作成した。一方、分析部200aは、収集情報211に対する分析を行い、分析結果として実行情報215を作成する機能を有している。すなわち、分析部200aは、分析部301と同様の機能を有している。
The
分析部200aによって作成された実行情報215は、インタフェース部28を介して、メモリシステム3aに向けて送信される。
The
図7に戻って、メモリシステム3aは、コントローラ30の代わりにコントローラ30aを備えている点がメモリシステム3と異なっている。また、メモリシステム3aの記憶装置31は、アプリケーションプログラム311の代わりに要求情報312aを含んだアプリケーションプログラム311aを記憶する点と、入力情報314の代わりに入力情報314aを記憶する記憶する点がメモリシステム3と異なっている。なお、メモリシステム3aの記憶装置31は、実行情報315を記憶することはない。
Returning to FIG. 7, the
図9は、第2の実施の形態における構成後のコントローラ30aが備える機能ブロックをデータの流れとともに示す図である。図9に示す推論部300a、および、選択部302aは、コントローラ30aによって実現される機能ブロックである。
FIG. 9 is a diagram showing a functional block included in the
コントローラ30aは、推論部300および選択部302の代わりに、推論部300aおよび選択部302aを備えている点がコントローラ30と異なっている。また、コントローラ30aは、分析部301を備えていない点がコントローラ30と異なっている。
The
推論部300aは、入力情報314aに対する推論処理を実行し、推論結果として調整識別情報319を作成する。
The
すでに説明したように、ホストコンピュータ2aは、収集情報211の代わりに、収集情報211を分析することにより作成された実行情報215をメモリシステム3aに向けて送信する。これにより、メモリシステム3aは、収集情報211ではなく、実行情報215を入力情報314aとして記憶する。また、実行情報215は実行情報315と等価な情報である。したがって、推論部300aに入力される入力情報314aは実行情報315と等価な情報である。すなわち、推論部300aは、推論部300が実行する推論処理と等価な推論処理を実行することにより、推論結果として、調整識別情報319を作成することができる。
As described above, the
選択部302aは、入力情報314(収集情報211)の代わりに、入力情報314a(収集情報211を分析して作成される実行情報215)を参照して出力タイミングを決定する点が選択部302と異なっている。
The
以上のように構成したコンピュータシステム1aにおいても、コンテンツデータベース316をホストコンピュータ2aに向けて送信する必要はない。したがって、コンピュータシステム1と同様にメモリシステム3aのセキュリティレベルが向上する。
Even in the computer system 1a configured as described above, it is not necessary to transmit the
また、コンピュータシステム1aは、収集情報211に対する分析を、ホストコンピュータ2aが行う。これにより、メモリシステム3aは、分析部301に相当する機能ブロックを備える必要がない。したがって、ホストコンピュータ2aのCPU20aに比べて、演算能力の低いメモリシステム3aのコントローラ30aの負担を軽減することができる。
Further, in the computer system 1a, the
<3. 変形例>
以上、本発明の実施の形態について説明してきたが、本発明は上記実施の形態に限定されるものではなく様々な変形が可能である。
<3. Modification example>
Although the embodiments of the present invention have been described above, the present invention is not limited to the above embodiments and can be modified in various ways.
例えば、上記実施の形態に示した各工程は、あくまでも例示であって、上記に示した順序や内容に限定されるものではない。すなわち、同様の効果が得られるならば、適宜、順序や内容が変更されてもよい。例えば、図6に示すステップS23とステップS24の順序は入れ替わってもよいし、並行的に実行してもよい。 For example, each step shown in the above embodiment is merely an example, and is not limited to the order and contents shown above. That is, if the same effect can be obtained, the order and contents may be changed as appropriate. For example, the order of steps S23 and S24 shown in FIG. 6 may be interchanged, or may be executed in parallel.
上記実施の形態では、選択部302がタイミング決定手段としての機能を有する例について説明した。しかし、インタフェース部38がタイミング決定手段としての機能を有していてもよい。例えば、インタフェース部38が、入力情報314に示される情報を監視し、調整用コンテンツ情報320の出力タイミングを決定してもよい。インタフェース部38は、ホストコンピュータ2から受信した収集情報211に基づいて入力情報314を記憶させるときに、当該入力情報314に示される情報を監視することができる。
In the above embodiment, an example in which the
また、上記実施の形態に示した機能ブロック(例えば、分析部200a)は、CPU20aがアプリケーションプログラム311aに従って動作することにより、ソフトウェア的に実現されると説明した。しかし、このような機能ブロックの一部または全部を専用の論理回路で構成し、ハードウェア的に実現してもよい。
Further, it has been explained that the functional block (for example, the
1,1a コンピュータシステム
2,2a ホストコンピュータ
20,20a CPU
21,31 記憶装置
200a,301 分析部
210 起動プログラム
211 収集情報
215,315 実行情報
22 操作部
23 表示部
24 センサ
25 カメラ
26 マイク
27 スピーカ
28,38 インタフェース部
3,3a メモリシステム
30,30a コントローラ
300,300a 推論部
302,302a 選択部
310 プログラム
311,311a アプリケーションプログラム
312,312a 要求情報
313 学習結果情報
314,314a 入力情報
316 コンテンツデータベース
317 調整候補識別情報
318 コンテンツ候補情報
319 調整識別情報
320 調整用コンテンツ情報
1,
21, 31
Claims (7)
前記ホストコンピュータによって実行されるアプリケーションプログラムと、前記ホストコンピュータによって使用可能な様々なコンテンツ候補情報を複数の調整候補識別情報のうちのいずれかと関連づけたコンテンツデータベースと、前記ホストコンピュータから入力される前記入力情報とを記憶する記憶手段と、
コントローラと、
を備え、
前記コントローラは、
人工知能アルゴリズムによる推論を実行することにより、前記入力情報に応じて、前記複数の調整候補識別情報のうちから特定の調整候補識別情報を調整識別情報として推論する推論手段と、
前記調整識別情報に対応する調整候補識別情報に関連づけられた前記コンテンツ候補情報を前記コンテンツデータベースから選択して調整用コンテンツ情報とする選択手段と、
前記調整用コンテンツ情報を前記ホストコンピュータに向けて出力するインタフェース手段と、
を備えるメモリシステム。 A memory system connected to the host computer that creates the input information.
An application program executed by the host computer, a content database in which various content candidate information available by the host computer is associated with any one of a plurality of adjustment candidate identification information, and the input input from the host computer. A storage means for storing information and
With the controller
Equipped with
The controller
An inference means that infers specific adjustment candidate identification information from the plurality of adjustment candidate identification information as adjustment identification information according to the input information by executing inference by an artificial intelligence algorithm.
A selection means for selecting the content candidate information associated with the adjustment candidate identification information corresponding to the adjustment identification information from the content database and using it as the adjustment content information.
An interface means for outputting the adjustment content information to the host computer, and
Memory system with.
前記コントローラは、前記ホストコンピュータから入力される入力情報を分析して実行情報として前記記憶手段に記憶させる分析手段をさらに備え、
前記推論手段は、前記実行情報に応じて前記調整識別情報を推論することにより、前記入力情報に応じて前記調整識別情報を推論するメモリシステム。 The memory system according to claim 1.
The controller further includes an analysis means that analyzes the input information input from the host computer and stores it in the storage means as execution information.
The inference means is a memory system that infers the adjustment identification information according to the input information by inferring the adjustment identification information according to the execution information.
前記アプリケーションプログラムは、前記ホストコンピュータが前記入力情報を特定するための要求情報を含み、
前記入力情報は、前記要求情報に従って収集された情報であるメモリシステム。 The memory system according to claim 1 or 2.
The application program includes request information for the host computer to identify the input information.
The input information is a memory system which is information collected according to the request information.
前記コントローラは、前記インタフェース手段が前記ホストコンピュータに対して出力する前記調整用コンテンツ情報の出力タイミングを決定するタイミング決定手段をさらに備え、
前記インタフェース手段は、前記タイミング決定手段により決定された前記出力タイミングに応じて、前記選択手段により選択された前記調整用コンテンツ情報を前記ホストコンピュータに出力するメモリシステム。 The memory system according to any one of claims 1 to 3.
The controller further includes timing determining means for determining the output timing of the adjusting content information output by the interface means to the host computer.
The interface means is a memory system that outputs the adjustment content information selected by the selection means to the host computer according to the output timing determined by the timing determination means.
入力情報を作成するホストコンピュータと、
前記ホストコンピュータに接続されるメモリシステムと、
を備え、
前記メモリシステムは、
前記ホストコンピュータによって実行されるアプリケーションプログラムと、前記ホストコンピュータによって使用可能な様々なコンテンツ候補情報を複数の調整候補識別情報のうちのいずれかと関連づけたコンテンツデータベースと、前記ホストコンピュータから入力される入力情報とを記憶する記憶手段と、
コントローラと、
を備え、
前記コントローラは、
人工知能アルゴリズムによる推論を実行することにより、前記入力情報に応じて、前記複数の調整候補識別情報のうちから特定の調整候補識別情報を調整識別情報として推論する推論手段と、
前記調整識別情報に対応する調整候補識別情報に関連づけられた前記コンテンツ候補情報を前記コンテンツデータベースから選択して調整用コンテンツ情報とする選択手段と、
前記調整用コンテンツ情報を前記ホストコンピュータに向けて出力するインタフェース手段と、
を備えるコンピュータシステム。 It ’s a computer system,
The host computer that creates the input information and
The memory system connected to the host computer and
Equipped with
The memory system is
An application program executed by the host computer, a content database in which various content candidate information available by the host computer is associated with any one of a plurality of adjustment candidate identification information, and input information input from the host computer. A storage means to memorize and
With the controller
Equipped with
The controller
An inference means that infers specific adjustment candidate identification information from the plurality of adjustment candidate identification information as adjustment identification information according to the input information by executing inference by an artificial intelligence algorithm.
A selection means for selecting the content candidate information associated with the adjustment candidate identification information corresponding to the adjustment identification information from the content database and using it as the adjustment content information.
An interface means for outputting the adjustment content information to the host computer, and
A computer system equipped with.
前記ホストコンピュータは、収集された情報を分析して前記入力情報を生成する分析手段をさらに備えるコンピュータシステム。 The computer system according to claim 5.
The host computer is a computer system further comprising an analysis means for analyzing the collected information and generating the input information.
前記ホストコンピュータによって実行されるアプリケーションプログラムと、前記ホストコンピュータによって使用可能な様々なコンテンツ候補情報を複数の調整候補識別情報のうちのいずれかと関連づけたコンテンツデータベースと、前記ホストコンピュータから入力される前記入力情報とを記憶手段に記憶させる工程と、
前記メモリシステムが備えるコントローラによって、人工知能アルゴリズムによる推論を実行することにより、前記入力情報に応じて、前記複数の調整候補識別情報のうちから特定の調整候補識別情報を調整識別情報として推論する工程と、
前記コントローラによって、前記調整識別情報に対応する調整候補識別情報に関連づけられた前記コンテンツ候補情報を前記コンテンツデータベースから選択して調整用コンテンツ情報とする工程と、
前記メモリシステムが備えるインタフェース手段によって、前記調整用コンテンツ情報を前記ホストコンピュータに向けて出力する工程と、
を有する情報保護方法。 It is an information protection method for information stored in the memory system connected to the host computer that creates the input information.
An application program executed by the host computer, a content database in which various content candidate information available by the host computer is associated with any one of a plurality of adjustment candidate identification information, and the input input from the host computer. The process of storing information in a storage means,
A step of inferring specific adjustment candidate identification information from the plurality of adjustment candidate identification information as adjustment identification information according to the input information by executing inference by an artificial intelligence algorithm by a controller included in the memory system. When,
A step of selecting the content candidate information associated with the adjustment candidate identification information corresponding to the adjustment identification information from the content database and using it as the adjustment content information by the controller.
A process of outputting the adjustment content information to the host computer by the interface means provided in the memory system, and a process of outputting the adjustment content information to the host computer.
Information protection method with.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019066502A JP7072535B2 (en) | 2019-03-29 | 2019-03-29 | Memory systems, computer systems and information protection methods |
US16/831,839 US11709963B2 (en) | 2019-03-29 | 2020-03-27 | Memory system, computer system, and information protection method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019066502A JP7072535B2 (en) | 2019-03-29 | 2019-03-29 | Memory systems, computer systems and information protection methods |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020166562A JP2020166562A (en) | 2020-10-08 |
JP7072535B2 true JP7072535B2 (en) | 2022-05-20 |
Family
ID=72716269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019066502A Active JP7072535B2 (en) | 2019-03-29 | 2019-03-29 | Memory systems, computer systems and information protection methods |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7072535B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030204403A1 (en) | 2002-04-25 | 2003-10-30 | Browning James Vernard | Memory module with voice recognition system |
JP2011509456A (en) | 2007-12-27 | 2011-03-24 | インテル・コーポレーション | How to deliver protected media using a portable memory device |
JP2012168765A (en) | 2011-02-15 | 2012-09-06 | Dainippon Printing Co Ltd | Memory card and digital content system |
JP2016126801A (en) | 2014-12-31 | 2016-07-11 | 三星電子株式会社Samsung Electronics Co.,Ltd. | Electronic system with learning mechanism and method of operation thereof, and non-volatile computer readable storage medium |
-
2019
- 2019-03-29 JP JP2019066502A patent/JP7072535B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030204403A1 (en) | 2002-04-25 | 2003-10-30 | Browning James Vernard | Memory module with voice recognition system |
JP2011509456A (en) | 2007-12-27 | 2011-03-24 | インテル・コーポレーション | How to deliver protected media using a portable memory device |
JP2012168765A (en) | 2011-02-15 | 2012-09-06 | Dainippon Printing Co Ltd | Memory card and digital content system |
JP2016126801A (en) | 2014-12-31 | 2016-07-11 | 三星電子株式会社Samsung Electronics Co.,Ltd. | Electronic system with learning mechanism and method of operation thereof, and non-volatile computer readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP2020166562A (en) | 2020-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2309671C (en) | Robot apparatus, method of controlling robot apparatus, method of display, and medium | |
JP4979660B2 (en) | Method and apparatus for enhancing entertainment software through the introduction of bodily sensations | |
US9393489B2 (en) | Game device | |
US8523681B2 (en) | Content server, content providing system, and content providing method | |
MX2014000231A (en) | Remote control of a first user's gameplay by a second user. | |
EP1088575A2 (en) | Game program production method, game system, and recording medium | |
CN102737676A (en) | Music playback device, music playback method, program, and data creation device | |
CN117940197A (en) | NFT framework for transferring and using digital assets between gaming platforms | |
US8041860B2 (en) | Method for producing a mapping tool, a PC game having the mapping tool and operation method therefore | |
WO2020075594A1 (en) | Information processing device and content file playback method | |
JP2006142097A (en) | Control method of game development, game apparatus and recording medium | |
JP7072535B2 (en) | Memory systems, computer systems and information protection methods | |
JPH1176609A (en) | Method for diagnosing affinity with game character, video game device and record medium | |
CN116963809A (en) | In-game dynamic camera angle adjustment | |
JP6744896B2 (en) | Information processing program, information processing apparatus, and information processing system | |
JP7118921B2 (en) | Computer system and information protection method | |
JP6728004B2 (en) | Virtual musical instrument playing program, virtual musical instrument playing device, and virtual musical instrument playing method | |
US11709963B2 (en) | Memory system, computer system, and information protection method | |
WO2021075250A1 (en) | Information processing device and motion video editing method | |
WO2020075593A1 (en) | Information processing system, information processing device, and content file generation method | |
KR20210068016A (en) | Data management and performance tracking system for walking or interactive virtual reality | |
JP7424936B2 (en) | Information processing program, information processing method, information processing device, and information processing system | |
KR102433903B1 (en) | Method for displaying media contents in a personalized way | |
JP7071667B2 (en) | Game program and game system | |
CN110121380A (en) | It is recorded again by emulation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210329 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220323 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220419 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220510 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7072535 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |