以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、システム10の一例を概略的に示す。システム10は、管理サーバ100と、複数の通信装置とを備える。本実施形態に係る通信装置は、通信装置の作動オフを伴うユーザ操作の後にも作動状態を継続し、管理サーバ100からの指示に基づいて作動オフしてよい。管理サーバ100からの指示は、作動オフを指示するものとして予め定められた任意の信号であってよい。
図1では、複数の通信装置として、複数の車載装置310を例示している。車載装置310は、HV(Hybrid Vehicle)、PHEV/PHV(Plug−in Hybrid Vehicle)、及びEV(Electric Vehicle)等のように、バッテリ302を有する車両300に搭載される。なお、車載装置310は、いわゆるガソリン車及びFCV(Fuel Cell Vehicle)等に搭載されてもよい。
車載装置310は、ユーザによる車両300のエンジンオフ操作又は車両300の電源オフ操作後にも作動状態を継続し、管理サーバ100からの指示に基づいて作動オフする。ユーザによる車両300のエンジンオフ操作及びユーザによる車両300の電源オフ操作は、車載装置310の作動オフを伴うユーザ操作の例である。
車載装置310は、無線通信機能を有し、ネットワーク20を介して、管理サーバ100と通信する。車載装置310は、3G(3rd Generation)通信方式、LTE(Long Term Evolution)通信方式、5G(5th Generation)通信方式、及び6G(6th Generation)通信方式以降の通信方式等のセルラ通信方式による無線通信機能を有してよい。また、車載装置310は、WiFi通信方式による無線通信機能を有してもよい。ネットワーク20は、セルラ通信網及びインターネットを含む。管理サーバ100は、インターネットに配置されてよく、セルラ通信網に配置されてもよい。
管理サーバ100は、ネットワーク20を介したグリッドコンピューティングを管理する。図1に示す例において、管理サーバ100は、車載装置310から、グリッドコンピューティングへの参加が可能であることを示す信号(参加可能信号と記載する場合がある。)を受信してよい。管理サーバ100は、複数の処理装置200のそれぞれの計算資源の使用状況に基づいて複数の処理装置200の処理能力の不足状態を判定し、複数の処理装置200の少なくともいずれかの処理能力が不足している場合に、車載装置310からの参加可能信号への応答として、車載装置310にグリッドコンピューティングへの参加指示を送信してよい。
参加指示には、処理能力が不足している処理装置200を識別する識別情報が含まれてよい。識別情報は、処理装置200を識別することができればどのような情報であってもよい。識別情報の例としては、管理サーバ100によって複数の処理装置200のそれぞれに割り当てられるIDや、処理装置200に割り振られているIPアドレス等が挙げられる。
車載装置310は、参加指示に含まれる識別情報によって、処理能力を提供する対象となる処理装置200を識別する。そして、車載装置310は、処理装置200からの指示に従って処理を実行する。当該処理をグリッド処理と記載する場合がある。車載装置310は、バッテリ302に蓄積されている電力を用いて、グリッド処理を実行してよい。
車載装置310は、ユーザによる車両300のエンジンオフ操作又は電源オフ操作に応じて、参加可能信号を管理サーバ100に送信してよい。これにより、車両300がその後しばらく使用されない蓋然性が高いタイミングで、参加可能信号が管理サーバ100に送信される。例えば、ユーザが自宅の駐車場に車両300を駐車して、エンジンオフ操作又は電源オフ操作をしたタイミングで、車載装置310は、参加可能信号を管理サーバ100に送信する。
車載装置310は、比較的高い処理能力を有しているにもかかわらず、車両300が使用されていないときに、有効に活用されていない場合があった。本実施形態に係る車載装置310によれば、車両300が使用されない状況になったことに応じて、参加可能信号が送信されるので、車載装置310の計算資源を有効に活用可能にできる。
車載装置310は、ユーザによる車両300のエンジンオフ操作又は電源オフ操作が行われた後、予め定められた時間が経過する前に、車両300が充電器30に接続されて充電状態になったことを条件に、参加可能信号を管理サーバ100に送信するようにしてもよい。これにより、電力が供給された状態でグリッド処理を実行することができ、例えば、グリッド処理を実行中にバッテリ302の電力がなくなってしまうことを防止できる。なお、無線充電設備が整っている駐車場等、車両300を駐車したときに自動的に充電が開始するような環境においては、ユーザ操作が行われたときに車両300が充電状態であることを条件に、参加可能信号を管理サーバ100に送信するようにしてもよい。
図2は、車載装置310による処理の流れの一例を概略的に示す。ここでは、車載装置310の作動オフを伴うユーザ操作から、車載装置310が作動オフするまでの処理の流れの一例を説明する。図2に示す処理は、車載装置310が、ユーザ操作を検出したことに応じて開始される。図2に示す各処理は、車載装置310が備える制御部が主体となって実行される。
ステップ(ステップをSと省略して記載する場合がある。)102では、参加可能信号を管理サーバ100に送信する。S104では、S102において送信した参加可能信号に対して、参加指示を受信したか否かを判定する。
車載装置310は、参加可能信号を送信してから予め定められた時間が経過するまでの間に管理サーバ100から参加指示を受信しない場合、参加指示を受信しなかったと判定してよい。また、車載装置310は、管理サーバ100から参加不要を示す信号を受信した場合に、参加指示を受信しなかったと判定してもよい。参加指示を受信した場合、S106に進み、受信しなかった場合、S112に進む。
S106では、グリッド処理を実行する。S108では、グリッド処理が終了したか否かを判定する。例えば、処理能力の提供対象からグリッド処理の終了を指示された場合に、グリッド処理が終了する。
S110では、グリッド処理の処理結果を示す結果レポートを、管理サーバ100に送信する。S112では、作動オフする。そして、処理を終了する。
図3は、車載装置310による処理の流れの一例を概略的に示す。ここでは、車載装置310の作動オフを伴うユーザ操作から、車載装置310が作動オフするまでの処理の流れの一例を説明する。図3に示す処理は、車載装置310が、ユーザ操作を検出したことに応じて開始される。図3に示す各処理は、車載装置310が備える制御部が主体となって実行される。
S202では、ユーザ操作から所定時間が経過したか否かを判定する。当該所定時間は、予め設定されていてよく、また、ユーザによって設定可能であってもよい。所定時間が経過した場合、S216に進み、経過していない場合、S204に進む。S204では、車両300が充電状態であるか否かを判定する。充電状態である場合、S206に進み、充電状態でない場合、S202に戻る。
S206では、参加可能信号を管理サーバ100に送信する。S208では、S206において送信した参加可能信号に対して、参加指示を受信したか否かを判定する。
車載装置310は、参加可能信号を送信してから予め定められた時間が経過するまでの間に管理サーバ100から参加指示を受信しない場合、参加指示を受信しなかったと判定してよい。また、車載装置310は、管理サーバ100から参加不要を示す信号を受信した場合に、参加指示を受信しなかったと判定してもよい。参加指示を受信した場合、S210に進み、受信しなかった場合、S216に進む。
S210では、グリッド処理を実行する。S212では、グリッド処理が終了したか否かを判定する。例えば、処理能力の提供対象からグリッド処理の終了を指示された場合に、グリッド処理が終了する。
S214では、グリッド処理の処理結果を示す結果レポートを、管理サーバ100に送信する。S216では、作動オフする。そして、処理を終了する。
図3に示す処理では、ユーザ操作から予め定められた時間が経過する前に車両300が充電状態になった場合に参加可能信号を管理サーバ100に送信する。これにより、ユーザが車両300のエンジンオフ操作又は電源オフ操作をした後、車両300を降りて、車両300に電源プラグを差し込んで車両300の充電を開始したときに、参加可能信号を送信するようにできる。
図4は、車載装置310による処理の流れの一例を概略的に示す。図4に示す処理は、車載装置310が、ユーザ操作を検出したことに応じて開始される。ここでは、図3とは異なる点を主に説明する。
S302では、車両300が充電状態であるか否かを判定する。充電状態である場合、S304に進み、充電状態でない場合、S314に進む。S304では、参加可能信号を管理サーバ100に送信する。S306では、S304において送信した参加可能信号に対して、参加指示を受信したか否かを判定する。参加指示を受信した場合、S308に進み、受信しなかった場合、S314に進む。
S308では、グリッド処理を実行する。S310では、グリッド処理が終了したか否かを判定する。S312では、グリッド処理の処理結果を示す結果レポートを、管理サーバ100に送信する。S314では、作動オフする。そして、処理を終了する。
図5は、車載装置310の機能構成の一例を概略的に示す。車載装置310は、ユーザ操作検出部312、信号処理部314、グリッド処理実行部316、作動制御部318、レポート送信部320、情報取得部322、使用履歴格納部324、及びスケジュール情報取得部326を備える。なお、車載装置310がこれらのすべての構成を備えることは必須とは限らない。
ユーザ操作検出部312は、車載装置310の作動オフを伴うユーザ操作を検出する。ユーザ操作検出部312は、例えば、車載装置310が搭載されている車両300のエンジンオフ操作を検出する。また、ユーザ操作検出部312は、例えば、車載装置310が搭載されている車両300の電源オフ操作を検出する。
信号処理部314は、ユーザ操作検出部312によってユーザ操作が検出された場合に、グリッドコンピューティングへの参加が可能であることを示す信号を管理サーバ100に送信する。信号処理部314は、無線通信によって、ネットワーク20を介して管理サーバ100に参加可能信号を送信してよい。信号処理部314は、信号送信部の一例であってよい。
信号処理部314は、送信した参加可能信号に対して、参加指示を受信したか否かを判定する。信号処理部314は、参加可能信号を送信してから予め定められた時間が経過するまでの間に管理サーバ100から参加指示を受信しなかった場合、参加指示を受信しなかったと判定してよい。また、信号処理部314は、管理サーバ100から参加不要を示す信号を受信した場合に、参加指示を受信しなかったと判定してもよい。
グリッド処理実行部316は、信号処理部314によって送信された参加可能信号によって参加したグリッドコンピューティングにおいて、グリッド処理を実行する。グリッド処理実行部316は、例えば、管理サーバ100によって送信された参加指示に含まれる識別情報によって識別される処理装置200に対して、CPU及びメモリ等の計算資源を提供する。グリッド処理実行部316は、処理装置200から指示された処理を実行して、処理結果を処理装置200に送信してよい。
作動制御部318は、信号処理部314によって参加可能信号が管理サーバ100に送信された場合であって、管理サーバ100から参加指示を受信した場合、グリッド処理実行部316によるグリッド処理が終了したことに応じて、車載装置310の作動をオフにする。作動制御部318は、信号処理部314によって参加可能信号が管理サーバ100に送信された場合であって、参加指示を受信しなかった場合、車載装置310の作動をオフにする。
レポート送信部320は、グリッド処理実行部316によるグリッド処理の処理結果を示す結果レポートを、管理サーバ100に送信する。結果レポートは、例えば、車載装置310が実行したグリッド処理の内容を示す。例えば、結果レポートは、処理を実行した合計時間、処理したデータ量、対象処理の種類、CPUの使用量、及びメモリの使用量の少なくともいずれかを含む。
レポート送信部320は、例えば、グリッド処理実行部316によるグリッド処理の終了後、作動制御部318が車載装置310の作動をオフするまでの間に、結果レポートを管理サーバ100に送信する。レポート送信部320は、作動制御部318による車載装置310の作動オフ後、車載装置310の作動オン後に、結果レポートを管理サーバ100に送信してもよい。
管理サーバ100に送信した参加可能信号によってグリッドコンピューティングに参加した後、グリッドコンピューティングが終了する前に、車両300が走行可能状態になった場合に、グリッド処理実行部316は、グリッド処理を停止してよい。走行可能状態とは、例えば、車両300のエンジンがオンになった状態や、車両300の電源がオンになった状態であってよい。これにより、例えば、車両300が走行を開始したにもかかわらず、グリッド処理実行部316がグリッド処理を継続することによって、車載装置310の処理負荷が高まってしまい、車両300の走行に支障が生じてしまうことを防止できる。
また、管理サーバ100に送信した参加可能信号によってグリッドコンピューティングに参加した後、グリッドコンピューティングが終了する前に、車両300が走行可能状態になった場合であって、グリッド処理実行部316がグリッド処理を停止する前に、信号処理部314は、グリッドコンピューティングへの参加の停止要求を管理サーバ100に送信してよい。これにより、グリッド処理の停止を事前に管理サーバ100に知得させることができ、管理サーバ100に、代替の車載装置310を準備する時間を与えることができる。
情報取得部322は、各種情報を取得する。情報取得部322は、車載装置310の情報を取得してよい。情報取得部322は、例えば、車載装置310のCPUの能力値情報を取得する。また、情報取得部322は、例えば、車載装置310のメモリの能力値情報を取得する。また、情報取得部322は、例えば、車載装置310が提供可能な処理能力を示す処理能力情報を取得する。処理能力情報は、車載装置310のCPUの能力値情報であってよい。また、処理能力情報は、車載装置310のメモリの能力値情報であってよい。また、例えば、車載装置310が、メモリの全ての領域を提供可能でなく、一部の領域のみを提供可能である場合、処理能力情報は、提供可能な一部のメモリの領域を示す情報であってもよい。
また、情報取得部322は、車載装置310が搭載されている車両300の情報を取得してよい。情報取得部322は、例えば、車両300が有するバッテリ302のバッテリ残量情報を取得する。また、情報取得部322は、例えば、車両300が充電状態であるか否かを示す充電状態情報を取得する。
信号処理部314は、情報取得部322が取得した情報を参加可能信号に含めて、管理サーバ100に送信するようにしてもよい。信号処理部314は、車載装置310のCPUの能力値情報、車載装置310のメモリの能力値情報、処理能力情報、車両300が有するバッテリ302のバッテリ残量情報、及び充電状態情報の少なくともいずれかを参加可能信号に含めてよい。
信号処理部314は、ユーザ操作検出部312によってユーザ操作が検出されたときに、車両300が充電状態である場合に、参加可能信号を管理サーバ100に送信するようにしてもよい。また、信号処理部314は、ユーザ操作検出部312によってユーザ操作が検出されてから、予め定められた時間が経過する前に車両300が充電状態になった場合に、参加可能信号を管理サーバ100に送信するようにしてもよい。
使用履歴格納部324は、車載装置310が搭載されている車両300の使用履歴を格納する。使用履歴は、車両300が使用されていた期間の情報を含んでよい。使用履歴は、車両300が使用されていなかった期間の情報を含んでよい。
スケジュール情報取得部326は、車載装置310がグリッドコンピューティングに参加可能な期間を示すスケジュール情報を取得する。スケジュール情報取得部326は、例えば、ユーザによって入力されたスケジュール情報を取得する。
スケジュール情報取得部326は、使用履歴格納部324に格納されている車両300の使用履歴に基づいて、スケジュール情報を生成してもよい。スケジュール情報取得部326は、例えば、車両300の使用履歴に基づいて、車両300が使用されていない期間を特定し、特定した期間を、車載装置310がグリッドコンピューティングに参加可能な期間としたスケジュール情報を生成する。具体例として、例えば、車両300が、平日の20時から8時の間に使用されていない傾向にある場合、スケジュール情報取得部326は、20時から8時の期間を示すスケジュール情報を生成する。信号処理部314は、スケジュール情報取得部326によって取得されたスケジュール情報を含む参加要求を管理サーバ100に送信してもよい。
図6は、管理サーバ100による処理の流れの一例を概略的に示す。ここでは、管理サーバ100が、車載装置310から受信した参加可能信号を処理する流れを説明する。図6に示す各処理は、管理サーバ100が備える制御部が主体となって実行される。
S402では、車載装置310から参加可能信号を受信する。S404では、複数の処理装置200のそれぞれの計算資源の使用状況に基づいて、複数の処理装置200の処理能力の不足状態を判定する。
S406では、複数の処理装置200の少なくともいずれかの処理能力が不足しているか否かを判定する。不足していると判定した場合、S408に進み、不足していないと判定した場合、S410に進む。
S408では、S402において受信した参加可能信号に対する応答として、車載装置310に参加指示を送信する。S410では、S402において受信した参加可能信号に対する応答として、車載装置310に参加不要信号を送信する。そして、処理を終了する。
図7は、管理サーバ100による処理の流れの一例を概略的に示す。ここでは、管理サーバ100が、複数の車載装置310から受信した参加可能信号を処理する流れを説明する。図7に示す各処理は、管理サーバ100が備える制御部が主体となって実行される。
S502では、車載装置310から参加可能信号を受信する。S504では、S502において受信した参加可能信号を格納する。S506では、所定時間が経過したか否かを判定する。当該所定時間は、予め設定されていてよく、また、管理サーバ100のオペレータ等によって設定可能であってもよい。経過したと判定した場合、S508に進む。
S508では、複数の処理装置200のそれぞれの計算資源の使用状況に基づいて、複数の処理装置200の処理能力の不足状態を判定する。S510では、複数の処理装置200の少なくともいずれかの処理能力が不足しているか否かを判定する。不足していると判定した場合、S512に進み、不足していないと判定した場合、S516に進む。
S512では、参加可能信号を送信した複数の車載装置310から、グリッドコンピューティングに参加させる参加対象の車載装置310を決定する。S514では、参加可能信号を送信した複数の車載装置310に対して、応答を送信する。車両300は、S512においてグリッドコンピューティングに参加させることを決定した車載装置310に対しては参加指示を送信し、それ以外の車載装置310に対しては参加不要信号を送信する。S516では、参加可能信号を送信した複数の車載装置310の全てに対して、参加不要信号を送信する。そして、処理を終了する。
図8は、管理サーバ100の機能構成の一例を概略的に示す。管理サーバ100は、使用状況取得部102、信号受信部104、信号格納部106、状態判定部108、応答送信部110、装置決定部112、及びレポート受信部114を備える。なお、管理サーバ100がこれらのすべての構成を備えることは必須とは限らない。
使用状況取得部102は、複数の処理装置200のそれぞれの計算資源の使用状況を取得する。使用状況取得部102は、複数の処理装置200のそれぞれから、計算資源の使用状況を定期的又は断続的に受信してよい。また、使用状況取得部102は、後述する状態判定部108からの問い合わせに応じて、複数の処理装置200に対して要求を行うことにより、複数の処理装置200のそれぞれから、計算資源の使用状況を受信してもよい。
信号受信部104は、グリッドコンピューティングへの参加可能信号を受信する。信号受信部104は、例えば、車載装置310から参加可能信号を受信する。信号格納部106は、信号受信部104が受信した参加可能信号を格納する。
状態判定部108は、使用状況取得部102が取得した複数の処理装置200の計算資源の使用状況に基づいて、複数の処理装置200のそれぞれの処理能力の不足状態を判定する。状態判定部108は、例えば、処理装置200のCPU使用率が予め定められた閾値より高い場合に、処理能力が不足していると判定する。また、状態判定部108は、例えば、処理装置200のメモリ使用率が予め定められた閾値より高い場合に、処理能力が不足していると判定する。
応答送信部110は、状態判定部108による判定の結果、複数の処理装置200の少なくともいずれかの処理能力が不足している場合に、参加可能信号への応答として車載装置310にグリッドコンピューティングへの参加指示を送信する。応答送信部110は、複数の処理装置200のうち処理能力が不足している処理装置200を識別する識別情報を含む参加指示を車載装置310に送信してよい。
応答送信部110は、処理能力が不足している処理装置200に対して提供する処理能力を示す処理能力情報を含む参加指示を車載装置310に送信してよい。処理能力が不足している処理装置200に対して提供する処理能力とは、処理装置200に対して提供することを希望する処理能力であってよい。例えば、応答送信部110は、処理装置200に対して、1GBのメモリ領域を提供することを希望する場合、1GBのメモリ領域を示す処理能力情報を含む参加指示を車載装置310に送信する。
信号受信部104が受信する参加可能信号には、車載装置310が提供可能な処理能力を示す処理能力情報が含まれていてよく、応答送信部110は、参加可能信号を送信した複数の車載装置310のうち、処理能力が不足している処理装置200が必要とする処理能力よりも提供可能な処理能力が高い車載装置310に、参加指示を送信してよい。
装置決定部112は、信号格納部106に格納されている複数の参加可能信号を参照して、参加可能信号を送信した複数の車載装置310から、グリッドコンピューティングへの参加を指示する車載装置310を決定する。応答送信部110は、装置決定部112によって決定された車載装置310に、参加可能信号への応答として、参加指示を送信してよい。
装置決定部112は、例えば、複数の参加可能信号に含まれる、車載装置310が提供可能な処理能力を示す処理能力情報を参照して、複数の車載装置310のうち、提供可能な処理能力がより高い車載装置310を優先して、グリッドコンピューティングへの参加を指示する通信装置を決定する。具体例として、装置決定部112は、提供可能な処理能力が高い順に、グリッドコンピューティングへの参加を指示する通信装置を決定する。
装置決定部112は、複数の車載装置310のうち、処理能力を提供する対象となる処理装置200との通信距離がより短い車載装置310を優先して、グリッドコンピューティングへの参加を指示する通信装置を決定してもよい。具体例として、装置決定部112は、通信距離が短い順に、グリッドコンピューティングへの参加を指示する通信装置を決定する。装置決定部112は、例えば、複数の車載装置310のそれぞれに、処理能力を提供する対象となる処理装置200の識別情報を送信して、車載装置310と処理装置200との間の通信時間を測定させ、当該通信時間を通信距離として、車載装置310から受信してよい。
装置決定部112は、複数の参加可能信号のそれぞれにスケジュール情報が含まれている場合に、複数のスケジュール情報に基づいて、複数の車載装置310から、グリッドコンピューティングへの参加を指示する車載装置310を決定してもよい。装置決定部112は、例えば、グリッドコンピューティングに参加可能な期間がより長い車載装置310を優先して、グリッドコンピューティングへの参加を指示する通信装置を決定する。具体例として、装置決定部112は、グリッドコンピューティングに参加可能な期間が長い順に、グリッドコンピューティングへの参加を指示する通信装置を決定する。また、装置決定部112は、処理能力を提供する対象となる処理装置200が、処理能力の提供を希望する期間に、グリッドコンピューティングに参加可能な車載装置310を優先して、グリッドコンピューティングへの参加を指示する通信装置を決定する。
装置決定部112は、複数の参加可能信号のそれぞれにバッテリ残量情報が含まれている場合に、バッテリ残量情報に基づいて、複数の車載装置310からグリッドコンピューティングへの参加を指示する通信装置を決定してもよい。装置決定部112は、例えば、バッテリ残量がより多い車両300の車載装置310を優先して、グリッドコンピューティングへの参加を指示する通信装置を決定する。具体例として、装置決定部112は、バッテリ残量が多い順に、グリッドコンピューティングへの参加を指示する通信装置を決定する。
装置決定部112は、複数の参加可能信号のそれぞれに充電状態情報が含まれている場合に、充電状態情報に基づいて、複数の車載装置310からグリッドコンピューティングへの参加を指示する通信装置を決定してもよい。装置決定部112は、例えば、複数の車載装置310のうち、車両300が充電状態である車載装置310から、グリッドコンピューティングへの参加を指示する通信装置を決定する。
装置決定部112は、上述した複数の情報のうち、複数を組み合わせてグリッドコンピューティングへの参加を指示する通信装置を決定してよい。例えば、装置決定部112は、処理能力情報、処理能力を提供する対象となる処理装置200との通信距離、スケジュール情報、バッテリ残量情報、及び充電状態情報のうちの複数を組み合わせてグリッドコンピューティングへの参加を指示する通信装置を決定する。
レポート受信部114は、車載装置310によって送信された結果レポートを受信する。管理サーバ100は、例えば、レポート受信部114が受信した結果レポートに基づいて、結果レポートを送信した車載装置310に対して付与するインセンティブを導出する。例えば、管理サーバ100は、処理を実行した合計時間が長いほど多いインセンティブを導出する。また、例えば、管理サーバ100は、処理したデータ量が多いほど多いインセンティブを導出する。また、例えば、管理サーバ100は、CPUの使用量及びメモリの使用量が多いほど多いインセンティブを導出する。また、例えば、管理サーバ100は、対象処理の種類毎に予め設定されたインセンティブを選択する。
図9は、車載装置310又は管理サーバ100として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、上記実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、上記実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、上記実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、及びグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ1226、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブ1226は、DVD−ROMドライブ及びDVD−RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230及びタッチパネルのようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。コンピュータ1200は、ディスプレイデバイス1218を備えていなくてもよく、その場合、グラフィックコントローラ1216は、イメージデータが外部のディスプレイデバイスに表示されるようにする。
通信インタフェース1222は、無線通信ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVDドライブ1226は、プログラム又はデータをDVD−ROM1227等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、USBポート等を介して、様々な入出力ユニットを入出力コントローラ1220に接続してよい。
プログラムは、DVD−ROM1227又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD−ROM1227、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
また、CPU1212は、記憶装置1224、DVDドライブ1226(DVD−ROM1227)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
上で説明したプログラム又はソフトウェアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
上記実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD−ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。