説明

情報処理装置及び情報処理方法

【課題】ソフトウェアの流通回数に応じてソフトウェアにより提供される機能を制限することを可能とする。
【解決手段】アカウント識別情報を取得する識別情報取得部と、前記識別情報取得部により取得された前記アカウント識別情報が流通履歴ファイルに存在する場合、前記アカウント識別情報に対応する履歴番号を前記流通履歴ファイルから取得する履歴番号取得部と、前記履歴番号取得部により取得された前記履歴番号に応じてソフトウェアにより提供される機能を制御する機能制御部と、を備える、情報処理装置が提供される。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置及び情報処理方法に関する。
【背景技術】
【0002】
1つのソフトウェアは様々な情報処理装置により実行され得るため、ユーザは新品のソフトウェアよりも安く入手できる中古のソフトウェアを購入する場合がある。しかし、新品のソフトウェアを販売する企業は、一度新品のソフトウェアを販売した後は、中古のソフトウェアの販売に際して直接的に利益を得ることができないのが通例である。したがって、新品のソフトウェアを販売する企業は、ユーザによる新品のソフトウェアの購入を促進するため、様々な試みを行っている。
【0003】
その試みの一例として、記録媒体に記録されているソフトウェアが中古であると判断した場合に、そのソフトウェアにより提供される機能を制限する技術が知られている。例えば、記録媒体に記録されている固有コードが再生装置に登録されているか否かを判断し、固有コードが再生装置に登録されていない場合には、そのソフトウェアにより提供される機能を制限する技術が開示されている(例えば、特許文献1参照。)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−103239号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、新品のソフトウェアを購入したユーザと中古のソフトウェアを購入したユーザとの間でソフトウェアにより提供される機能に差をつけることができるが、ソフトウェアの流通回数に応じてソフトウェアにより提供される機能を制限することはできない。したがって、ソフトウェアの流通回数に応じてソフトウェアにより提供される機能を制限する技術が提供されることが望ましい。
【課題を解決するための手段】
【0006】
本開示によれば、アカウント識別情報を取得する識別情報取得部と、前記識別情報取得部により取得された前記アカウント識別情報が流通履歴ファイルに存在する場合、前記アカウント識別情報に対応する履歴番号を前記流通履歴ファイルから取得する履歴番号取得部と、前記履歴番号取得部により取得された前記履歴番号に応じてソフトウェアにより提供される機能を制御する機能制御部と、を備える、情報処理装置が提供される。
【0007】
また、本開示によれば、アカウント識別情報を取得することと、前記アカウント識別情報が流通履歴ファイルに存在する場合、前記アカウント識別情報に対応する履歴番号を前記流通履歴ファイルから取得することと、前記履歴番号に応じてソフトウェアにより提供される機能を制御することと、を含む、情報処理方法が提供される。
【発明の効果】
【0008】
以上説明したように、本開示によれば、ソフトウェアの流通回数に応じてソフトウェアにより提供される機能を制限することができる。
【図面の簡単な説明】
【0009】
【図1】本開示の実施形態に係る情報処理システムの構成例を示す図である。
【図2】情報処理装置の機能構成を示す図である。
【図3】流通履歴ファイルの構成を示す図である。
【図4】新品ソフトウェア購入時における流通履歴ファイルの取り扱いを説明するための図である。
【図5】中古ソフトウェア購入時における流通履歴ファイルの取り扱いを説明するための図である。
【図6】中古から新品への更新時における流通履歴ファイルの取り扱いを説明するための図である。
【図7】ソフトウェア起動時における動作を示すフローチャートである。
【図8】ソフトウェア起動時における動作を示すフローチャートである。
【図9】ソフトウェア実行時における動作を示すフローチャートである。
【図10】中古から新品への更新時における動作を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。以下において、複数の情報処理装置10(例えば、情報処理装置10A、10B及び10C)を区別しない場合には、情報処理装置10と記すこととする。
【0011】
また、以下の順序で説明を行う。
1.実施形態
1−1.情報処理システムの構成例
1−2.情報処理装置の構成例
1−3.情報処理装置の動作の流れ
2.まとめ
【0012】
<1.実施形態>
[1−1.情報処理システムの構成例]
まず、本開示の実施形態に係る情報処理システムの構成例について説明する。図1は、本開示の実施形態に係る情報処理システムの構成例を示す図である。図1に示すように、本開示の実施形態に係る情報処理システム1は、情報処理装置10とアカウント管理サーバ20と更新サーバ60とを備える。情報処理装置10とアカウント管理サーバ20と更新サーバ60とはネットワーク30に接続され、ネットワーク30を介して相互に通信を行うことが可能である。
【0013】
情報処理装置10は、新品又は中古のソフトウェアを実行することが可能である。ソフトウェアが記録されるメディアの流通履歴ファイルには、ソフトウェアの流通序数を示す履歴番号及びそのソフトウェアに対してユーザが与えられるアカウントを識別するためのアカウント識別情報(以下、「Account ID」とも言う。)が対応付けられた流通履歴が記録されている。すなわち、履歴番号は、ソフトウェアがユーザから他のユーザに販売される度に増加することになる。
【0014】
ユーザがソフトウェアを購入し、情報処理装置10にソフトウェアを起動させる操作を行うと、情報処理装置10は、流通履歴ファイルの流通履歴を更新する。また、ユーザが情報処理装置10にソフトウェアを実行させる操作を行うと、情報処理装置10は、ユーザのAccount IDに対応する履歴番号に応じてソフトウェアにより提供される機能を制御することができる。情報処理装置10は、例えば、ゲーム機、PC(Personal Computer)などの任意の種類の装置であってよい。
【0015】
アカウント管理サーバ20は、情報処理装置10からの要求に従って、情報処理装置10を使用するユーザのAccount IDを返信する。Account IDは、ユーザごとに割り当てられるIDであり、アカウント管理サーバ20にあらかじめ登録されている。アカウント管理サーバ20にAccount IDを登録する手法は、特に限定されないが、例えば、情報処理装置10からのAccount IDの登録要求に従って、アカウント管理サーバ20は、情報処理装置10を使用するユーザのAccount IDを発行する。アカウント管理サーバ20により発行されたAccount IDは、アカウント管理サーバ20のDBに格納される。ただし、ユーザにより情報処理装置10に入力されたAccount IDが使用される場合には、アカウント管理サーバ20は存在しなくてもよい。
【0016】
更新サーバ60は、情報処理装置10からの要求に従って、情報処理装置10を使用するユーザのAccount IDに対応する履歴番号を初期値に更新するための事前処理を行う。事前処理が完了すれば、情報処理装置10は、ユーザのAccount IDに対応する履歴番号を初期値に更新することができる。履歴番号が初期値に更新された後は、情報処理装置10は、初期値に応じたソフトウェアの機能を提供することができる。
【0017】
[1−2.情報処理装置の構成例]
続いて、情報処理装置10の構成例について説明する。図2は、情報処理装置10の機能構成を示す図である。図2に示すように、情報処理装置10は、例えば、通信部110、入力部120、記憶部130、制御部140及び出力部150を備える。制御部140は、判断部141、識別情報取得部142、記録制御部143、処理部144、履歴番号取得部145、機能制御部146及び更新部147を備える。制御部140が有する機能は、例えば、履歴管理モジュール513により提供される。
【0018】
通信部110は、アカウント管理サーバ20と通信を行う機能、更新サーバ60と通信を行う機能を有する。入力部120は、ユーザによりなされる操作を受け付ける機能を有する。記憶部130は、制御部140により実行されるプログラムやプログラム実行に際して使用される各種データを記憶する機能を有する。出力部150は、制御部140による制御に従って、各種情報を出力する機能を有する。制御部140が有する機能については、後に詳細に述べる。
【0019】
メディア(記録媒体)50に記録されたソフトウェアや流通履歴ファイルは、制御部140により読み込まれる。また、流通履歴ファイルには、制御部140により1又は複数の流通履歴が書き込まれる。1又は複数の流通履歴は暗号化され得る。図3は、流通履歴ファイルの構成を示す図である。図3に示すように、流通履歴ファイルは、ヘッダ部、ボディ部及び署名部を有している。ヘッダ部は、メディア50を一意に識別するためのMedia ID、ボディ部のサイズ及び署名部のサイズを含んでいる。Media ID、ボディ部のサイズ及び署名部のサイズの各々のフィールド長は、固定長とすることができる。
【0020】
ヘッダ部に含まれるMedia IDは、情報処理装置10によるソフトウェア起動時及び実行時に、メディア50の書き込み不可領域に記録されているMedia ID511と一致することが制御部140により確認される。このため、流通履歴ファイルのすり替えを防止することができる。ボディ部のサイズは、ボディ部が読み込まれる際に使用され、署名部のサイズは、署名部が読み込まれる際に使用され得る。
【0021】
ボディ部は、履歴番号が記録される履歴番号フィールド、情報処理装置10を一意に識別するためのDevice IDが記録されるDevice IDフィールド及びAccount IDが記録されるAccount IDフィールドを有している。履歴番号フィールド、Device IDフィールド及びAccount IDフィールドの各々のサイズは、固定長とすることができる。履歴番号、Device ID及びAccount IDの組み合わせは、流通履歴として流通履歴ファイルに記録される。
【0022】
履歴番号は、上記したように、ソフトウェアの流通序数を示し、1人目のユーザによりソフトウェアが起動されると履歴番号に初期値(例えば「1」)が設定された流通履歴が流通履歴ファイルに記録される。続いて、そのソフトウェアが2人目のユーザにより起動されると履歴番号に次の値(例えば、「2」)が設定された流通履歴が流通履歴ファイルに記録される。その後、そのソフトウェアが3人目のユーザに起動されると履歴番号に次の値(例えば、「3」)が設定された流通履歴が流通履歴ファイルに記録される。
【0023】
Device IDは、情報処理装置10を一意に識別するための情報であり、例えば、情報処理装置10の記憶部130に記憶されている。ユーザによりソフトウェアが起動されるとDevice IDに情報処理装置10を一意に識別するための情報が設定された流通履歴が流通履歴ファイルに記録される。
【0024】
Account IDは、上記したように、ソフトウェアに対してユーザが与えられるアカウントを識別するためのアカウント識別情報であり、例えば、アカウント管理サーバ20から取得される。ユーザによりソフトウェアが起動されるとAccount IDに情報処理装置10を使用するユーザのアカウント識別情報が設定された流通履歴が流通履歴ファイルに記録される。デバイス(情報処理装置10)を一度もオンライン状態としていない場合は、そのユーザのAccount IDフィールドにはAccount IDが設定されない。
【0025】
ボディ部は、情報処理装置10により暗号化された状態で流通するようにしてもよい。その場合には、情報処理装置10は、ボディ部から読み込んだ情報を復号する必要がある。また、情報処理装置10は、ボディ部に情報を書き込む場合には、暗号化された情報を書き込む必要がある。このようにボディ部を暗号化することにより、ボディ部の不正な読み取りを防止することができる。
【0026】
署名部は、署名が記録されるフィールドを有している。署名フィールドのサイズは、固定長とすることができる。署名は、ヘッダ部及びボディ部に対してサインして得られる情報である。上記したように、ボディ部は暗号化済みであってもよい。ヘッダ部及びボディ部に対するサインは、どのようになされてもよい。例えば、ヘッダ部及びボディ部に基づいてハッシュ値が算出され、算出されたハッシュ値とヘッダ部及びボディ部とに対して暗号化が施されることによりサインがなされる。署名が付されることにより流通履歴ファイル521の改竄を防止することができる。
【0027】
図4は、新品ソフトウェア購入時における流通履歴ファイルの取り扱いを説明するための図である。図4に示されたように、メディア50は、書き込み不可領域51及び書き込み可能領域52を有している。書き込み不可領域51には、Media ID511とソフトウェア512とが記録されている。履歴管理モジュール513はソフトウェア512に含まれているが、例えば、履歴管理モジュール513は、メモリ42に記録されていてもよい。流通履歴ファイルに対する処理は、履歴管理モジュール513がCPU41により実行されることによりなされる。
【0028】
書き込み可能領域52には、流通履歴ファイル521が記録されており、流通履歴ファイル521には、上記したように、ヘッダ部、ボディ部及び署名部が含まれている。なお、ソフトウェア512により提供される機能は、CPU41によりメディア50からソフトウェア512が読み出されてメモリ42に展開され、実行されることにより実現される。また、情報処理装置10が提供する基本的な動作は、CPU41により記憶装置43からOS44が読み出されてメモリ42に展開され、実行されることにより実現される。
【0029】
記憶装置43は、図2に示した例では記憶部130に相当し、暗号化用の鍵及び署名用の鍵を記憶している。暗号化用の鍵及び署名用の鍵の各々は、全デバイス(全ての情報処理装置10)に共通である。
【0030】
ここでは、Aさんが新品のソフトウェアを購入したと仮定する。Aさんが新品ソフトウェアを情報処理装置10Aに起動させると(ステップR11)、判断部141は、暗号化用の鍵及び署名用の鍵を記憶装置43から取得し(ステップR12)、署名用の鍵を用いてヘッダ部及びボディ部の署名を検証し、署名の検証に成功した場合に、暗号化用の鍵を用いてボディ部を復号する。
【0031】
続いて、識別情報取得部142は、AさんのAccount IDを取得する。例えば、識別情報取得部142は、アカウント管理サーバ20を動作させるアカウント管理ソフトウェア21の機能によりAccount IDの認証が行われ(ステップR13)、認証が正常になされれば、DB22に登録されているAさんのAccount IDを取得することができる。記録制御部143は、流通履歴ファイル521に書き込まれている流通履歴の件数に所定値(例えば「1」)を加算して得られる履歴番号と識別情報取得部142により取得されたAccount IDとが対応付けられてなる流通履歴を流通履歴ファイル521に追記する。
【0032】
図4に示した場合においては、Aさんが新品のソフトウェアを購入したと仮定しているため、流通履歴ファイル521に書き込まれている流通履歴の件数は「0」であり、「0」に対して「1」を加算して得られる履歴番号「1」と、AさんのAccount IDとが対応付けられてなる流通履歴を流通履歴ファイル521に追記する。記録制御部143は、流通履歴を追記するときには、暗号化された流通履歴を追記する。
【0033】
追記される情報は、Account ID及び履歴番号だけに限定されない。例えば、記録制御部143は、識別情報取得部142により取得されたDevice IDがAccount ID及び履歴番号にさらに対応付けられてなる流通履歴を流通履歴ファイル521に追記してもよい。上記したように、Device IDは、例えば、情報処理装置10Aの記憶部130に記憶されている。
【0034】
また、処理部144は、記録制御部143により流通履歴が流通履歴ファイル521に追記された後、流通履歴ファイル521に書き込まれている1又は複数の流通履歴に基づいて作成される署名を流通履歴ファイル521に書き込んでもよい。より詳細には、処理部144は、流通履歴ファイル521のヘッダ部を更新するとともに、流通履歴ファイル521の署名部の署名をヘッダ部と暗号化済みのボディ部とに対してサインして得られる署名に更新してもよい(ステップR14)。
【0035】
続いて、Aさんがソフトウェアでの特定の操作を行うことにより新品ソフトウェアを情報処理装置10Aに実行させると(ステップP11)、判断部141は、暗号化用の鍵及び署名用の鍵を記憶装置43から取得し(ステップP12)、署名用の鍵を用いてヘッダ部及びボディ部の署名を検証し、署名の検証に成功した場合に、暗号化用の鍵を用いてボディ部を復号する。
【0036】
続いて、識別情報取得部142は、AさんのAccount IDを取得する。例えば、識別情報取得部142は、アカウント管理サーバ20を動作させるアカウント管理ソフトウェア21の機能によりAccount IDの認証が行われ(ステップP13)、認証が正常になされれば、DB22に登録されているAさんのAccount IDを取得することができる。履歴番号取得部145は、識別情報取得部142により取得されたAccount IDが流通履歴ファイル521に存在する場合、Account IDに対応する履歴番号を流通履歴ファイル521から取得する(ステップP14)。
【0037】
図4に示した場合においては、識別情報取得部142により取得されたAccount IDが流通履歴ファイル521に存在するため、Account IDに対応する履歴番号「1」を流通履歴ファイル521から取得する。その後、機能制御部146は、履歴番号取得部145により取得された履歴番号に応じてソフトウェアにより提供される機能を制御することができる。図4に示した場合においては、履歴番号取得部145により履歴番号「1」が取得されるため、履歴番号「1」に応じた機能を提供することができる。履歴番号「1」は、ソフトウェアが新品であることを意味するため、特に機能制限を設けなくてもよい。
【0038】
識別情報取得部142は、Device IDをさらに取得してもよい。上記したように、Device IDは、例えば、情報処理装置10Aの記憶部130に記憶されている。そして、履歴番号取得部145は、識別情報取得部142により取得されたAccount IDが流通履歴ファイル521に存在しない場合、かつ、識別情報取得部142により取得されたDevice IDが流通履歴ファイル521に存在する場合、Device IDに対応する履歴番号を流通履歴ファイル521から取得してもよい。
【0039】
このようにすれば、Account IDが流通履歴ファイル521に存在しなくても、Device IDが流通履歴ファイル521に存在しさえすれば、履歴番号取得部145により履歴番号が取得される。したがって、Account IDが流通履歴ファイル521に存在しなくても、履歴番号取得部145により取得された履歴番号に基づいてソフトウェアの機能が提供され得るため、流通履歴ファイル521に存在するAccount IDを持っていないユーザを救済することができる。
【0040】
図5は、中古ソフトウェア購入時における流通履歴ファイルの取り扱いを説明するための図である。ここでは、Bさんがn番目に中古でソフトウェアを購入したと仮定する。Bさんが中古ソフトウェアを情報処理装置10Aに起動させると(ステップR21)、判断部141は、暗号化用の鍵及び署名用の鍵を記憶装置43から取得し(ステップR22)、署名用の鍵を用いてヘッダ部及びボディ部の署名を検証し、署名の検証に成功した場合に、暗号化用の鍵を用いてボディ部を復号する。
【0041】
続いて、識別情報取得部142は、BさんのAccount IDを取得する。例えば、識別情報取得部142は、アカウント管理サーバ20を動作させるアカウント管理ソフトウェア21の機能によりAccount IDの認証が行われ(ステップR23)、認証が正常になされれば、DB22に登録されているBさんのAccount IDを取得することができる。記録制御部143は、流通履歴ファイル521に書き込まれている流通履歴の件数に所定値(例えば「1」)を加算して得られる履歴番号と識別情報取得部142により取得されたAccount IDとが対応付けられてなる流通履歴を流通履歴ファイル521に追記する。
【0042】
図5に示した場合においては、Bさんがn番目に中古でソフトウェアを購入したと仮定しているため、流通履歴ファイル521に書き込まれている流通履歴の件数は「n−1」であり、「n−1」に対して「1」を加算して得られる履歴番号「n」と、BさんのAccount IDとが対応付けられてなる流通履歴を流通履歴ファイル521に追記する。記録制御部143は、流通履歴を追記するときには、暗号化された流通履歴を追記する。
【0043】
追記される情報は、Account ID及び履歴番号だけに限定されない。例えば、記録制御部143は、識別情報取得部142により取得されたDevice IDがAccount ID及び履歴番号にさらに対応付けられてなる流通履歴を流通履歴ファイル521に追記してもよい。上記したように、Device IDは、例えば、情報処理装置10Bの記憶部130に記憶されている。
【0044】
また、処理部144は、記録制御部143により流通履歴が流通履歴ファイル521に追記された後、流通履歴ファイル521に書き込まれている1又は複数の流通履歴に基づいて作成される署名を流通履歴ファイル521に書き込んでもよい。より詳細には、処理部144は、流通履歴ファイル521のヘッダ部を更新するとともに、流通履歴ファイル521の署名部の署名をヘッダ部と暗号化済みのボディ部とに対してサインして得られる署名に更新してもよい(ステップR24)。
【0045】
続いて、Bさんがソフトウェアでの特定の操作を行うことにより中古ソフトウェアを情報処理装置10Bに実行させると(ステップP21)、判断部141は、暗号化用の鍵及び署名用の鍵を記憶装置43から取得し(ステップP22)、署名用の鍵を用いてヘッダ部及びボディ部の署名を検証し、署名の検証に成功した場合に、暗号化用の鍵を用いてボディ部を復号する。
【0046】
続いて、識別情報取得部142は、BさんのAccount IDを取得する。例えば、識別情報取得部142は、アカウント管理サーバ20を動作させるアカウント管理ソフトウェア21の機能によりAccount IDの認証が行われ(ステップP23)、認証が正常になされれば、DB22に登録されているBさんのAccount IDを取得することができる。履歴番号取得部145は、識別情報取得部142により取得されたAccount IDが流通履歴ファイル521に存在する場合、Account IDに対応する履歴番号を流通履歴ファイル521から取得する(ステップP24)。
【0047】
図5に示した場合においては、識別情報取得部142により取得されたAccount IDが流通履歴ファイル521に存在するため、Account IDに対応する履歴番号「n」を流通履歴ファイル521から取得する。その後、機能制御部146は、履歴番号取得部145により取得された履歴番号に応じてソフトウェアにより提供される機能を制御することができる。図5に示した場合においては、履歴番号取得部145により履歴番号「n」が取得されるため、履歴番号「n」に応じた機能を提供することができる。
【0048】
例えば、履歴番号「n」が大きいほど、流通序数が大きいことを意味するため、機能制御部146は、機能制限を厳しくすることができる。機能制限は、例えば、ソフトウェアの実行により出現するアイテム(又はキャラクタ)の数を少なくしたりアイテムの出現する時間を短くしたりすることにより厳しくすることができる。
【0049】
識別情報取得部142は、Device IDをさらに取得してもよい。上記したように、Device IDは、例えば、情報処理装置10Bの記憶部130に記憶されている。そして、履歴番号取得部145は、識別情報取得部142により取得されたAccount IDが流通履歴ファイル521に存在しない場合、かつ、識別情報取得部142により取得されたDevice IDが流通履歴ファイル521に存在する場合、Device IDに対応する履歴番号を流通履歴ファイル521から取得してもよい。
【0050】
このようにすれば、Account IDが流通履歴ファイル521に存在しなくても、Device IDが流通履歴ファイル521に存在しさえすれば、履歴番号取得部145により履歴番号が取得される。したがって、Account IDが流通履歴ファイル521に存在しなくても、履歴番号取得部145により取得された履歴番号に基づいてソフトウェアの機能が提供され得るため、流通履歴ファイル521に存在するAccount IDを持っていないユーザを救済することができる。
【0051】
図6は、中古から新品への更新時における流通履歴ファイルの取り扱いを説明するための図である。ここでは、Cさんが2番目に中古でソフトウェアを購入したと仮定する。Cさんが中古から新品への更新操作を行うと(ステップR31)、制御部140は、更新サーバ60との連携により中古から新品への更新手続きを行う(ステップS32)。判断部141は、暗号化用の鍵及び署名用の鍵を記憶装置43から取得し(ステップR33)、署名用の鍵を用いてヘッダ部及びボディ部の署名を検証し、署名の検証に成功した場合に、暗号化用の鍵を用いてボディ部を復号する。
【0052】
続いて、識別情報取得部142は、CさんのAccount IDを取得する。例えば、識別情報取得部142は、アカウント管理サーバ20を動作させるアカウント管理ソフトウェア21の機能によりAccount IDの認証が行われ(ステップR34)、認証が正常になされれば、DB22に登録されているCさんのAccount IDを取得することができる。更新部147は、識別情報取得部142により取得されたAccount IDに対応する履歴番号が流通履歴ファイル521に書き込まれている場合、流通履歴ファイル521に書き込まれている履歴番号を初期値(例えば、「1」)に更新する。
【0053】
図6に示した場合においては、Cさんが2番目に中古でソフトウェアを購入したと仮定しているため、識別情報取得部142により取得されたAccount IDに対応する履歴番号は「2」が流通履歴ファイル521に書き込まれているため、履歴番号「2」を初期値(例えば「1」)に更新する。更新部147は、履歴番号を更新するときには、暗号化された履歴番号を書き込む。
【0054】
このようにすれば、中古から新品への更新手続きを行うことにより、ソフトウェアの状態を新品に更新することができる。新品に更新された後は、新品ソフトウェアにより提供される機能と同様の機能が提供される。更新手続きを行うためには、例えば、所定の金額の支払いが必要となる。
【0055】
また、処理部144は、更新部147により履歴番号が更新された後、流通履歴ファイル521に書き込まれている1又は複数の流通履歴に基づいて作成される署名を流通履歴ファイル521に書き込んでもよい。より詳細には、処理部144は、流通履歴ファイル521のヘッダ部を更新するとともに、流通履歴ファイル521の署名部の署名をヘッダ部と暗号化済みのボディ部とに対してサインして得られる署名に更新してもよい(ステップR35)。
【0056】
[1−3.情報処理装置の動作の流れ]
図7及び図8は、ソフトウェア起動時における動作を示すフローチャートである。ソフトウェア起動時には、主に流通履歴ファイル521に対する書き込み処理がなされる。まず、ユーザがソフトウェアを購入し、情報処理装置10にソフトウェアを起動させる操作を行うと、判断部141は、流通履歴ファイル521がメディア50にあるか否かを判断する(ステップS11)。判断部141は、流通履歴ファイル521がメディア50にないと判断した場合には(ステップS11で「No」)、流通履歴ファイル521に対する書き込み処理を終了する。
【0057】
判断部141は、流通履歴ファイル521がメディア50にあると判断した場合には(ステップS11で「Yes」)、流通履歴ファイル521のヘッダのMedia IDが正しいか否かを判断する(ステップS12)。より詳細には、判断部141は、流通履歴ファイル521のヘッダ部に書き込まれているMedia IDとメディア50の書き込み不可領域に記録されているMedia ID511とが一致するか否かを判断する。判断部141は、流通履歴ファイル521のヘッダのMedia IDが誤っていると判断した場合には(ステップS12で「No」)、流通履歴ファイル521に対する書き込み処理を終了する。
【0058】
判断部141は、流通履歴ファイル521のヘッダのMedia IDが正しいと判断した場合には(ステップS12で「Yes」)、記憶装置43に記憶されている署名用の鍵を読み込み、署名の検証を行う(ステップS13)。判断部141は、流通履歴ファイル521の署名が誤っていると判断した場合には(ステップS14で「No」)、流通履歴ファイル521に対する書き込み処理を終了する。一方、判断部141は、流通履歴ファイル521の署名が正しいと判断した場合には(ステップS14で「Yes」)、流通履歴ファイル521のボディ部を鍵で復号する(ステップS15)。
【0059】
続いて、判断部141は、情報処理装置10がネットワーク30に繋がっているか否かを判断する(ステップS16)。判断部141は、情報処理装置10がネットワーク30に繋がっていると判断した場合には(ステップS16で「Yes」)、ステップS31に進むが、情報処理装置10がネットワーク30に繋がっていないと判断した場合には(ステップS16で「No」)、ステップS21に進む。
【0060】
ステップS21に進んだ場合、判断部141は、流通履歴ファイル521にDevice IDがあるか否かを判断する(ステップS21)。ここでのDevice IDは、情報処理装置10を識別するための情報である。判断部141は、流通履歴ファイル521にDevice IDがないと判断した場合には(ステップS21で「No」)、流通履歴ファイル521に対する書き込み処理を終了する。
【0061】
一方、記録制御部143は、判断部141により流通履歴ファイル521にDevice IDがあると判断された場合には(ステップS21で「Yes」)、流通履歴ファイル521に履歴番号及びDevice IDを追記して(ステップS22)、ステップS36に進む。ここでの履歴番号は、流通履歴ファイル521のボディ部のレコード数(流通履歴の件数)に所定値(例えば「1」)を加算した値である。
【0062】
ステップS31に進んだ場合、識別情報取得部142は、Account IDを取得する(ステップS31)。ここでのAccount IDは、情報処理装置10を使用するユーザのAccount IDである。続いて、記録制御部143は、識別情報取得部142により取得されたAccount IDが流通履歴ファイル521にあるか否かを判断する(ステップS32)。記録制御部143は、識別情報取得部142により取得されたAccount IDが流通履歴ファイル521にないと判断した場合には(ステップS32で「No」)、流通履歴ファイル521に対する書き込み処理を終了する。
【0063】
一方、記録制御部143は、識別情報取得部142により取得されたAccount IDが流通履歴ファイル521にあると判断した場合には(ステップS32で「Yes」)、流通履歴ファイル521にDevice IDがあるか否かを判断する(ステップS33)。ここでのDevice IDは、情報処理装置10を識別するための情報である。記録制御部143は、流通履歴ファイル521にDevice IDがないと判断した場合には(ステップS33で「No」)、流通履歴ファイル521に履歴番号、Account ID及びDevice IDを追記し(ステップS34)、ステップS36に進む。ここでの履歴番号は、流通履歴ファイル521のボディ部のレコード数(流通履歴の件数)に所定値(例えば「1」)を加算した値である。
【0064】
一方、記録制御部143は、流通履歴ファイル521にDevice IDがあると判断した場合には(ステップS33で「Yes」)、流通履歴ファイル521で見つかったDevice IDの後の空の領域にAccount IDを書き込み(ステップS35)、ステップS36に進む。
【0065】
ステップS36に進んだ場合には、処理部144は、流通履歴ファイル521のボディ部を鍵で暗号化し(ステップS36)、流通履歴ファイル521のヘッダ部及びボディ部に対する署名を作成して、流通履歴ファイル521の署名を書き換える(ステップS37)。その後、処理部144は、流通履歴ファイル521に対する書き込み処理を終了する。
【0066】
図9は、ソフトウェア実行時における動作を示すフローチャートである。ソフトウェアの実行時には任意のタイミングにおいて、以下のような動作がなされる。まず、判断部141は、流通履歴ファイル521がメディア50にあるか否かを判断する(ステップS41)。判断部141は、流通履歴ファイル521がメディア50にないと判断した場合には(ステップS41で「No」)、流通履歴ファイル521が存在しない旨を示すエラーを制御部140に返して(ステップS42)、履歴番号取得処理を終了する。
【0067】
判断部141は、流通履歴ファイル521がメディア50にあると判断した場合には(ステップS41で「Yes」)、流通履歴ファイル521のヘッダのMedia IDが正しいか否かを判断する(ステップS43)。より詳細には、判断部141は、流通履歴ファイル521のヘッダ部に書き込まれているMedia IDとメディア50の書き込み不可領域に記録されているMedia ID511とが一致するか否かを判断する。判断部141は、流通履歴ファイル521のヘッダのMedia IDが誤っていると判断した場合には(ステップS43で「No」)、ステップS52に進む。
【0068】
判断部141は、流通履歴ファイル521のヘッダのMedia IDが正しいと判断した場合には(ステップS43で「Yes」)、記憶装置43に記憶されている署名用の鍵を読み込み、署名の検証を行う(ステップS44)。判断部141は、流通履歴ファイル521の署名が誤っていると判断した場合には(ステップS45で「No」)、ステップS52に進む。一方、判断部141は、流通履歴ファイル521の署名が正しいと判断した場合には(ステップS45で「Yes」)、ステップS46に進む。
【0069】
続いて、判断部141は、情報処理装置10がネットワーク30に繋がっているか否かを判断する(ステップS46)。判断部141は、情報処理装置10がネットワーク30に繋がっていると判断した場合には(ステップS46で「Yes」)、ステップS47に進むが、情報処理装置10がネットワーク30に繋がっていないと判断した場合には(ステップS46で「No」)、ステップS51に進む。
【0070】
ステップS47に進んだ場合、履歴番号取得部145は、識別情報取得部142により取得されたAccount IDが流通履歴ファイル521にあるか否かを判断する(ステップS47)。履歴番号取得部145は、識別情報取得部142により取得されたAccount IDが流通履歴ファイル521にないと判断した場合には(ステップS47で「No」)、ステップS51に進む。一方、履歴番号取得部145は、識別情報取得部142により取得されたAccount IDが流通履歴ファイル521にあると判断した場合には(ステップS47で「Yes」)、Account IDに対応する履歴番号を制御部140に返して(ステップS53)、履歴番号取得処理を終了する。

【0071】
ステップS51に進んだ場合、判断部141は、流通履歴ファイル521にDevice IDがあるか否かを判断する(ステップS51)。ここでのDevice IDは、情報処理装置10を識別するための情報である。判断部141は、流通履歴ファイル521にDevice IDがないと判断した場合には(ステップS51で「No」)、ステップS52に進む。一方、履歴番号取得部145は、判断部141により流通履歴ファイル521にDevice IDがあると判断された場合には(ステップS51で「Yes」)、Device IDに対応する履歴番号を制御部140に返して(ステップS53)、履歴番号取得処理を終了する。
【0072】
ステップS52に進んだ場合、判断部141は、流通履歴ファイル521が不正である旨を示すエラーを制御部140に返して(ステップS52)、履歴番号取得処理を終了する。
【0073】
履歴番号取得処理が終了すると、機能制御部146は、履歴番号取得部145により取得された履歴番号(流通回数)に応じた機能制御を行う(ステップS61)。例えば、流通履歴ファイル521が存在しない場合や、流通履歴ファイル521が不正である場合には、履歴番号取得部145により履歴番号が取得されないため、機能制御部146は、ソフトウェアにより提供される機能を停止してもよい。
【0074】
図10は、中古から新品への更新時における動作を示すフローチャートである。更新サーバ60との間における手続きが完了すると(例えば、中古から新品への更新の権利を購入すると)(ステップS71)、以下のような動作がなされる。まず、判断部141は、流通履歴ファイル521がメディア50にあるか否かを判断する(ステップS81)。判断部141は、流通履歴ファイル521がメディア50にないと判断した場合には(ステップS81で「No」)、新品へのアップグレード処理を終了する。
【0075】
判断部141は、流通履歴ファイル521がメディア50にあると判断した場合には(ステップS81で「Yes」)、流通履歴ファイル521のヘッダのMedia IDが正しいか否かを判断する(ステップS82)。より詳細には、判断部141は、流通履歴ファイル521のヘッダ部に書き込まれているMedia IDとメディア50の書き込み不可領域に記録されているMedia ID511とが一致するか否かを判断する。判断部141は、流通履歴ファイル521のヘッダのMedia IDが誤っていると判断した場合には(ステップS82で「No」)、新品へのアップグレード処理を終了する。
【0076】
判断部141は、流通履歴ファイル521のヘッダのMedia IDが正しいと判断した場合には(ステップS82で「Yes」)、記憶装置43に記憶されている署名用の鍵を読み込み、署名の検証を行う(ステップS83)。判断部141は、流通履歴ファイル521の署名が誤っていると判断した場合には(ステップS84で「No」)、新品へのアップグレード処理を終了する。一方、判断部141は、流通履歴ファイル521の署名が正しいと判断した場合には(ステップS84で「Yes」)、流通履歴ファイル521のボディ部を鍵で復号する(ステップS85)。
【0077】
続いて、判断部141は、情報処理装置10がネットワーク30に繋がっているか否かを判断する(ステップS91)。判断部141は、情報処理装置10がネットワーク30に繋がっていると判断した場合には(ステップS91で「Yes」)、ステップS92に進むが、情報処理装置10がネットワーク30に繋がっていないと判断した場合には(ステップS91で「No」)、新品へのアップグレード処理を終了する。
【0078】
ステップS92に進んだ場合、更新部147は、識別情報取得部142により取得されたAccount IDが流通履歴ファイル521にあるか否かを判断する(ステップS92)。更新部147は、識別情報取得部142により取得されたAccount IDが流通履歴ファイル521にないと判断した場合には(ステップS92で「No」)、新品へのアップグレード処理を終了する。
【0079】
一方、更新部147は、識別情報取得部142により取得されたAccount IDが流通履歴ファイル521にあると判断した場合には(ステップS92で「Yes」)、Account IDに対応する履歴番号を初期値(例えば「1」)に書き換え(ステップS93)、処理部144は、流通履歴ファイル521のボディ部を鍵で暗号化し(ステップS94)、流通履歴ファイル521のヘッダ部及びボディ部に対する署名を作成して、流通履歴ファイル521の署名を書き換える(ステップS95)。その後、処理部144は、新品へのアップグレード処理を終了する。
【0080】
<2.まとめ>
本節で説明した実施形態によれば、新品のソフトウェアを購入したユーザと中古のソフトウェアを購入したユーザとの間でソフトウェアにより提供される機能に差をつけることができる。これにより、ユーザによる新品のソフトウェアの購入を促進することが可能となる。特に、本節で説明した実施形態によれば、ソフトウェアの流通回数に応じてソフトウェアにより提供される機能を制限することができる。そのために、例えば、本節で説明したように、流通回数に応じた履歴番号を流通履歴ファイルに書き込んでおき、この履歴番号に応じてソフトウェアにより提供される機能を制限すればよい。
【0081】
なお、本明細書において説明した各装置による一連の制御処理は、ソフトウェア、ハードウェア、及びソフトウェアとハードウェアとの組合せのいずれを用いて実現されてもよい。ソフトウェアを構成するプログラムは、例えば、各装置の内部又は外部に設けられるコンピュータ読取可能な記録媒体に予め格納される。そして、各プログラムは、例えば、実行時にRAM(Random Access Memory)に読み込まれ、CPU(Central Processing Unit)などのプロセッサにより実行される。
【0082】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0083】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
アカウント識別情報を取得する識別情報取得部と、
前記識別情報取得部により取得された前記アカウント識別情報が流通履歴ファイルに存在する場合、前記アカウント識別情報に対応する履歴番号を前記流通履歴ファイルから取得する履歴番号取得部と、
前記履歴番号取得部により取得された前記履歴番号に応じてソフトウェアにより提供される機能を制御する機能制御部と、
を備える、情報処理装置。
(2)
前記識別情報取得部は、前記情報処理装置を識別するためのデバイス識別情報をさらに取得し、
前記履歴番号取得部は、前記識別情報取得部により取得された前記アカウント識別情報が前記流通履歴ファイルに存在しない場合、かつ、前記識別情報取得部により取得された前記デバイス識別情報が前記流通履歴ファイルに存在する場合、前記デバイス識別情報に対応する履歴番号を前記流通履歴ファイルから取得する、
前記(1)に記載の情報処理装置。
(3)
前記情報処理装置は、前記流通履歴ファイルに書き込まれている流通履歴の件数に所定値を加算して得られる履歴番号と前記識別情報取得部により取得された前記アカウント識別情報とが対応付けられてなる流通履歴を前記流通履歴ファイルに追記する記録制御部をさらに備え、
前記履歴番号取得部は、前記記録制御部により追記された前記流通履歴から前記履歴番号を取得する、
前記(1)又は(2)に記載の情報処理装置。
(4)
前記記録制御部は、前記識別情報取得部により取得された前記デバイス識別情報が前記アカウント識別情報及び前記履歴番号にさらに対応付けられてなる流通履歴を前記流通履歴ファイルに追記する、
前記(3)に記載の情報処理装置。
(5)
前記情報処理装置は、前記記録制御部により前記流通履歴が前記流通履歴ファイルに追記された後、前記流通履歴ファイルに書き込まれている1又は複数の流通履歴に基づいて作成される署名を前記流通履歴ファイルに書き込む処理部をさらに備える、
前記(3)又は(4)に記載の情報処理装置。
(6)
前記情報処理装置は、前記流通履歴ファイルに書き込まれている署名が正しいか否かを判断する判断部をさらに備え、
前記履歴番号取得部は、前記判断部により前記流通履歴ファイルに書き込まれている署名が正しくないと判断された場合には、前記履歴番号を前記流通履歴ファイルから取得することを禁止する、
前記(1)〜(5)のいずれか一項に記載の情報処理装置。
(7)
前記情報処理装置は、前記識別情報取得部により取得された前記アカウント識別情報に対応する履歴番号が前記流通履歴ファイルに書き込まれている場合、前記流通履歴ファイルに書き込まれている前記履歴番号を初期値に更新する更新部をさらに備える、
前記(1)〜(6)のいずれか一項に記載の情報処理装置。
(8)
前記流通履歴ファイルには、前記ソフトウェアの流通序数を示す履歴番号とアカウント識別情報とデバイス識別情報とが対応付けられてなる流通履歴が1又は複数書き込まれる、
前記(1)〜(7)のいずれか一項に記載の情報処理装置。
(9)
前記1又は複数の流通履歴は、暗号化されている、
前記(8)に記載の情報処理装置。
(10)
アカウント識別情報を取得することと、
前記アカウント識別情報が流通履歴ファイルに存在する場合、前記アカウント識別情報に対応する履歴番号を前記流通履歴ファイルから取得することと、
前記履歴番号に応じてソフトウェアにより提供される機能を制御することと、
を含む、情報処理方法。
【符号の説明】
【0084】
1 情報処理システム
10(10A,10B,10C) 情報処理装置
110 通信部
120 入力部
130 記憶部
140 制御部
141 判断部
142 識別情報取得部
143 記録制御部
144 処理部
145 履歴番号取得部
146 機能制御部
147 更新部
150 出力部
20 アカウント管理サーバ
30 ネットワーク
41 CPU
42 メモリ
43 記憶装置
50 メディア
51 不可領域
52 可能領域
521 流通履歴ファイル
512 ソフトウェア
513 履歴管理モジュール
60 更新サーバ



【特許請求の範囲】
【請求項1】
アカウント識別情報を取得する識別情報取得部と、
前記識別情報取得部により取得された前記アカウント識別情報が流通履歴ファイルに存在する場合、前記アカウント識別情報に対応する履歴番号を前記流通履歴ファイルから取得する履歴番号取得部と、
前記履歴番号取得部により取得された前記履歴番号に応じてソフトウェアにより提供される機能を制御する機能制御部と、
を備える、情報処理装置。
【請求項2】
前記識別情報取得部は、前記情報処理装置を識別するためのデバイス識別情報をさらに取得し、
前記履歴番号取得部は、前記識別情報取得部により取得された前記アカウント識別情報が前記流通履歴ファイルに存在しない場合、かつ、前記識別情報取得部により取得された前記デバイス識別情報が前記流通履歴ファイルに存在する場合、前記デバイス識別情報に対応する履歴番号を前記流通履歴ファイルから取得する、
請求項1に記載の情報処理装置。
【請求項3】
前記情報処理装置は、前記流通履歴ファイルに書き込まれている流通履歴の件数に所定値を加算して得られる履歴番号と前記識別情報取得部により取得された前記アカウント識別情報とが対応付けられてなる流通履歴を前記流通履歴ファイルに追記する記録制御部をさらに備え、
前記履歴番号取得部は、前記記録制御部により追記された前記流通履歴から前記履歴番号を取得する、
請求項1に記載の情報処理装置。
【請求項4】
前記記録制御部は、前記識別情報取得部により取得された前記デバイス識別情報が前記アカウント識別情報及び前記履歴番号にさらに対応付けられてなる流通履歴を前記流通履歴ファイルに追記する、
請求項3に記載の情報処理装置。
【請求項5】
前記情報処理装置は、前記記録制御部により前記流通履歴が前記流通履歴ファイルに追記された後、前記流通履歴ファイルに書き込まれている1又は複数の流通履歴に基づいて作成される署名を前記流通履歴ファイルに書き込む処理部をさらに備える、
請求項3に記載の情報処理装置。
【請求項6】
前記情報処理装置は、前記流通履歴ファイルに書き込まれている署名が正しいか否かを判断する判断部をさらに備え、
前記履歴番号取得部は、前記判断部により前記流通履歴ファイルに書き込まれている署名が正しくないと判断された場合には、前記履歴番号を前記流通履歴ファイルから取得することを禁止する、
請求項1に記載の情報処理装置。
【請求項7】
前記情報処理装置は、前記識別情報取得部により取得された前記アカウント識別情報に対応する履歴番号が前記流通履歴ファイルに書き込まれている場合、前記流通履歴ファイルに書き込まれている前記履歴番号を初期値に更新する更新部をさらに備える、
請求項1に記載の情報処理装置。
【請求項8】
前記流通履歴ファイルには、前記ソフトウェアの流通序数を示す履歴番号とアカウント識別情報とデバイス識別情報とが対応付けられてなる流通履歴が1又は複数書き込まれる、
請求項1に記載の情報処理装置。
【請求項9】
前記1又は複数の流通履歴は、暗号化されている、
請求項8に記載の情報処理装置。
【請求項10】
アカウント識別情報を取得することと、
前記アカウント識別情報が流通履歴ファイルに存在する場合、前記アカウント識別情報に対応する履歴番号を前記流通履歴ファイルから取得することと、
前記履歴番号に応じてソフトウェアにより提供される機能を制御することと、
を含む、情報処理方法。



【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2013−25607(P2013−25607A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2011−160607(P2011−160607)
【出願日】平成23年7月22日(2011.7.22)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】