JP4794217B2 - ソフトウェア製品ライセンスの単一の再アクティブ化のための方法およびシステム - Google Patents

ソフトウェア製品ライセンスの単一の再アクティブ化のための方法およびシステム Download PDF

Info

Publication number
JP4794217B2
JP4794217B2 JP2005158663A JP2005158663A JP4794217B2 JP 4794217 B2 JP4794217 B2 JP 4794217B2 JP 2005158663 A JP2005158663 A JP 2005158663A JP 2005158663 A JP2005158663 A JP 2005158663A JP 4794217 B2 JP4794217 B2 JP 4794217B2
Authority
JP
Japan
Prior art keywords
software product
reactivation
application
hardware
software
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.)
Expired - Fee Related
Application number
JP2005158663A
Other languages
English (en)
Other versions
JP2006048648A5 (ja
JP2006048648A (ja
Inventor
ティー.ハッグス エイダン
ガンヤクティ キャグラー
ハトレリッド クリストジャン
ナス パンドヤ ラビンドラ
タン シャオシー
リュー ユー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006048648A publication Critical patent/JP2006048648A/ja
Publication of JP2006048648A5 publication Critical patent/JP2006048648A5/ja
Application granted granted Critical
Publication of JP4794217B2 publication Critical patent/JP4794217B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction

Description

本発明は、一般には、コンピュータソフトウェアライセンス付与の分野に関する。より詳細には、本発明は、1つまたは複数のソフトウェアアプリケーションライセンスの再アクティブ化の方法に関する。
ソフトウェアの不正使用は、ソフトウェアメーカーにとっての財政上の大きな懸念である。ソフトウェアメーカーからの現在の動向は、アプリケーションの1つまたは複数のコピーの個人的な使用のためにユーザにライセンスを付与することであるが、ユーザはしばしば、ライセンス条件に違反し、ライセンスが付与された数よりも多くのコンピュータ上でアプリケーションを使用しようと試み得る。あるいは、ソフトウェアは、それを使用しようとし得る非ライセンスユーザの手に渡ることがある。
こうした非ライセンス行為を防止する1つの方法は、ライセンスユーザに、初期インストールの直後にソフトウェアアプリケーションのアクティブ化を行うように求めることである。このプロセスでは、ユーザは、ソフトウェアメーカーに、ソフトウェアの製品およびシリアル番号などの情報を提供する。これは、オンラインまたは電話で、要求された情報を表す数字を入力することによって実施され得る。製品およびシリアル番号はしばしば、数十桁の長さである。次いで、ソフトウェアメーカーは、その特定の製品のソフトウェアライセンスが有効であることを確認することができる。このプロセスの一環として、その特定のユーザマシンではなく、ソフトウェアがインストールされるハードウェアの構成を識別するハードウェア識別子(HWID:hardware identifier)が一般に生成される。このHWIDは、ソフトウェアをアクティブ化するときにユーザが有する初期ハードウェア構成として記録される。
一般に、メーカーは、ユーザが提供した製品、シリアル番号およびHWID情報に、その情報が有効であることの確認を付けて応答する。ユーザのためにソフトウェアアプリケーションが機能できるようにするために、アクティブ化コードがユーザコンピュータに発行され得る。動作において、インストールされたアプリケーションは次いで、後のアプリケーションアクセス時に、そのHWIDを用いて、ハードウェア構成が大きく変化していないことを確認することができる。アプリケーションアクセス時にHWIDが変更されている場合、それは、アプリケーションがソフトウェア契約に違反して別のマシンに移されたことの表れであり得る。こうした状況では、ユーザは、アプリケーションにアクセスするのを妨げられる。このように、アクティブ化のプロセスは、不正使用の状況においてソフトウェアアプリケーションを使用できないようにすることによって、ソフトウェアライセンス契約を保護するものとなり得る。
しかし、ユーザコンピュータ内のHWID変更の理由は、契約違反ではなかったかもしれない。HWIDの変更は、正当なライセンス所有者がそのライセンスソフトウェアを実行するために使用している主要なハードウェアアップグレードの結果であり得る。こうした状況では、アプリケーションは、ソフトウェアがユーザによってアクセスされ得る前に、再アクティブ化の動作がうまく完了することを求める。再アクティブ化は、ユーザが製品に関する情報、およびシリアル番号情報の一部またはすべてを再入力することを求める。この場合もやはり、これは、数十桁を手入力することを伴い得る、オンラインまたは電話対話によって実施され得る。アクティブ化保護を備えるすべてのアプリケーションが、主要なハードウェア変更後に再アクティブ化を要求するので、それぞれのアプリケーションは、あらゆるアプリケーションに対して再アクティブ化が実施されるまで、正当なユーザがそのライセンスソフトウェアにアクセスするのを妨げることができる。これは、特に電話の通信リンクを介して手入力で実施される場合には、長い退屈な作業であり得る。
図1Aに、複数の再アクティブ化が行われ得る典型的な従来技術のシナリオを示す。このシナリオでは、ユーザは、単一のコンピュータ上で、時点T=0に、アプリケーション1をアクティブ化する。上記で論じたように、そのアクティブ化は、特定のHWIDが、アプリケーション1のアクティブ化の時点のコンピュータのハードウェア構成を示すように構成されるようにする。大きなハードウェア変更は行われず、またユーザが時点T=1およびT=2にアプリケーション2およびアプリケーション3をそれぞれアクティブ化すると想定する。時点T=3に、正当なユーザのコンピュータはハードウェア変更を受け、このハードウェア変更は、様々なアプリケーション内で不正使用対策のアクティブ化ソフトウェアによって設定された許容閾値を超える。ハードウェア変更の閾値が超過されると、不正使用保護されたアプリケーションへの新しいどのアクセスによっても、再アクティブ化要求の発生が引き起こされる。
時点T=4で、ユーザは、アプリケーション1にアクセスする。アプリケーションの不正使用対策ソフトウェアは、大きなハードウェア変更が行われたことを検出する。次いで、アプリケーションは、ユーザに再アクティブ化プロセスを実施するように求める。時点T=5で、再アクティブ化プロセスが行われ、ユーザにソフトウェアへの継続アクセスが許可される。次いで、ユーザは、時点T=6で、無作為の順序で次のアプリケーション、すなわちアプリケーション3にアクセスする。その不正使用保護されたソフトウェアは、大きなハードウェア変更を再び検出し、再アクティブ化を要求する。時点T=7で、ユーザは、編集を行い、アプリケーション3を再アクティブ化する。時点T=8で、ユーザは、次のアプリケーション、ここではアプリケーション2にアクセスする。この場合も、不正使用検出ソフトウェアは、大きなハードウェア変更を検出し、アプリケーション2の再アクティブ化を要求する。ユーザは、アプリケーション3へのアクセスを希望するならば従わなければならず、したがって。時点T=9で、再アクティブ化が行われる。このプロセスは、元のHWIDに関連付けられている、ユーザがインストールした、ありとあらゆるアプリケーションについて継続され得る。
図1Bに、よりよいシナリオが示されている。この図では、T=0からT=5まで、同じ時系列が示されている。ユーザは、T=0からT=2まで、ソフトウェアをアクティブ化し、T=3で、大きなハードウェア変更に遭遇し、T=4およびT=5で、アプリケーション1へのアクセスおよび再アクティブ化をそれぞれ行う。しかし、T=6およびT=8で、アプリケーション3およびアプリケーション2にそれぞれアクセスするときに、再アクティブ化が必要とされないならば、ユーザにとってより好都合である。しかし、このシナリオは、現行の不正使用対策アクティブ化方式、特に電話リンク再アクティブ化技術を使用する方式のもとでは、ユーザは現在使用することができない。
したがって、互換性のあるHWIDを有するソフトウェアを再アクティブ化しなければならないライセンスユーザの手間を省くために、正当なソフトウェアを再アクティブ化するさらに好都合な方法を可能にする方法が求められている。本発明は、本明細書で述べる利点によって、上記のニーズに対処し、それを解決する。
本発明の一実施形態は、ソフトウェアライセンスを再アクティブ化し、追加のアプリケーションの再アクティブ化が不要になるように、その再アクティブ化を1つまたは複数の追加のソフトウェアアプリケーションに適用させるための方法を含む。最初に、第1のアプリケーションのアクティブ化によって、第1のハードウェア識別子を第1の再アクティブ化ポリシーグループに関連付ける。第1アプリケーションは、第1再アクティブ化ポリシーグループのメンバである。少なくとも1つの追加のアプリケーションは、それが第1再アクティブ化ポリシーグループと互換性がある場合に、第1ハードウェア識別子に関連付けられ得る。再アクティブ化ポリシーグループ内の第1のアプリケーションが再アクティブ化される場合、再アクティブ化ポリシーグループ内の他のソフトウェアアプリケーションの再アクティブ化は不要である。第1アプリケーションの再アクティブ化によって、第1再アクティブ化ポリシーグループに関連する新しいハードウェア識別子が格納され、その新しいハードウェア識別子が、ユーザに他のアプリケーションの再アクティブ化を要求しないようにするために、他のアプリケーションによって使用される。
本発明の一実施形態では、あるアプリケーションと別のアプリケーションの間の互換性は、結合リスト内で確かめることができ、この結合リストは、2つのアプリケーションが、同じハードウェア識別子を共有することによって同じ再アクティブ化ポリシーグループに加わることができるようにし得る。したがって、一方のアプリケーション上で再アクティブ化が必要になる場合、他方のアプリケーションは、ユーザへのサービスの提供を続けるために、再アクティブ化される必要はない。
上記の要約、および例示的な実施形態についての以下の詳細な説明は、添付の図面と併せ読めばよりよく理解される。本発明の実施形態について例示するため、図面に本発明の例示的な構成を示すが、しかし、本発明は、開示する特定の方法および手段に限定されない。
概要
ソフトウェアの不正使用(piracy)を撲滅する1つの方法は、ソフトウェアがあるマシンから別のマシンに移されていることを示すハードウェア環境の変化をソフトウェアアプリケーションが検出することを可能とする手段として、ハードウェア識別子を使用することである。このトリガによって、ソフトウェアは、ソフトウェアライセンスの再アクティブ化を要求することができる。しかし、ハードウェアのアップグレードによって不正使用検出ソフトウェアがすべてのライセンスの再アクティブ化を強制される場合、顧客は、所有しライセンス付与されたソフトウェアのそれぞれを再アクティブ化しているのを容易に気づくことができる。すべてのライセンスソフトウェアを再アクティブ化することにユーザの時間を浪費しないようにするために、本発明の一実施形態は、互換性のあるソフトウェアを単一の再アクティブ化ポリシーグループ内に置く。
再アクティブ化ポリシーグループは、ソフトウェアアプリケーションの1つの再アクティブ化が、ポリシーグループに属するすべてのソフトウェアアプリケーションにとって十分なものとなることを可能にする。多くのポリシーグループが存在しえ、それぞれがハードウェア変更に対してそれぞれ異なる許容度(tolerance)を有し、またはそれぞれが異なる信頼連鎖(trust chains)をもつ。再アクティブ化は、電話またはオンラインで実施され得る。本発明は、単一の再アクティブ化がポリシーグループ内のすべてのアプリケーションにとって有効であることを可能にし、またソフトウェアアクティブ化の顧客体験を劇的に改善することができ、既存の製品アクティブ化技術へのアドオン(add−on)となり得る。
本発明の例示的な実施形態
図2に、本発明のアクティブ化の態様を表すフローチャート200を示す。最初に、ユーザは、購入したソフトウェアの製品識別子およびシリアル番号などの情報を入力することによって、コンピュータ上でソフトウェアライセンスをアクティブ化する(ステップ205)。この情報は、オンライン接続、または顧客が電話のキーパッドを使用して情報を入力する電話リンクを介して送信され得る。ライセンスソフトウェアがアクティブ化されるときのユーザコンピュータのハードウェア構成情報を表すハードウェア識別子(HWID)も送信される。このHWIDは一般に、製品識別子、および製品のシリアル番号に関する情報と共にサーバ内に格納される。ソフトウェアを使用できるようにする確認がユーザコンピュータに送信され、またHWIDが、ソフトウェアアプリケーションポリシーのインディケーション(indication)と共に格納される(ステップ207)。
他の互換性のあるソフトウェアアプリケーションが同じ再アクティブ化ポリシーを共有することができるように、ソフトウェアライセンス再アクティブ化ポリシーが存在する。例えば、同じハードウェア変更許容度を有する、同じソフトウェアメーカーからの複数の異なるアプリケーションがある場合、それは潜在的に、同じ再アクティブ化ポリシーを共有することができる。例えば、こうしたアプリケーションを単一のポリシーのもとでグループ化することによって、すべての互換性のあるアプリケーションは、同じポリシーを使用することができる。異なるハードウェア変更許容度を有し、または異なる信頼連鎖を有するソフトウェアアプリケーションには、異なる再アクティブ化ポリシーグループが与えられ、またはそれに当てはめられ得る。本発明のある態様によれば、ソフトウェアアプリケーションは、再アクティブ化ポリシーグループをホストすることができ、またはコンピュータシステム上に既に存在しているものに加わることができる。グループに加わる1つの方法は、HWIDの互換性の比較であり得る。図2のフローチャートでは、以前にインストールされた再アクティブ化ポリシーグループが存在せず、また第1アプリケーションが再アクティブ化ポリシーグループを確立すると想定する。図2に戻ると、次いで、アクティブ化のときに、HWIDが、第1アプリケーションに関する対応するソフトウェア再アクティブ化ポリシーグループ情報と共にユーザコンピュータ上に格納され得る(ステップ210)。上述したように、同じ情報が、ソフトウェアメーカーのサーバにも格納され得る。
同様に、ソフトウェアシリアル番号および製品識別子を入力することによって、第2のアプリケーションが、ユーザコンピュータ上でアクティブ化され得る(ステップ215)。本発明の一態様では、第2アプリケーションは、互換性があるかどうか確かめるために、第1再アクティブ化ポリシーグループに対してチェックされ得る(ステップ220)。この場合、それらに互換性があるかを判断するために、第2アプリケーションソフトウェア再アクティブ化ポリシーグループと、第1再アクティブ化ポリシーグループ間の比較が行われる。それらに互換性がない場合、第2のソフトウェアアプリケーションポリシーグループのインディケーションが、現在のコンピュータハードウェア構成のHWIDと共に格納される(ステップ230)。ソフトウェア再アクティブ化ポリシーグループに互換性がある場合、第2アプリケーションに、第1アプリケーションポリシーグループのHWIDが、第1再アクティブ化ポリシーのインディケーションと共に与えられる(ステップ225)。第2アプリケーションは、それが単一の再アクティブ化ポリシーグループに加わり得る前に、少なくとも1度はアクティブ化されることに留意されたい。これは、第1アプリケーションが、それが確立した再アクティブ化ポリシーグループに依然として結合されていると想定している。
上述したように、第2アプリケーションが第1アプリケーションと互換性があるかどうかチェックするためのテストが実施され得る。このテストは、再アクティブ化ポリシーグループに関連して設けられるハードウェア変更許容度、または信頼連鎖のチェックであり得る。第2アプリケーションが、それが信頼するアプリケーションをリストアップする結合リストを有し、第1アプリケーションがそのリストのメンバである場合、またハードウェア変更許容度が許容できるものである場合、第2アプリケーションは、第1アプリケーションの再アクティブ化ポリシーグループに加わることができ、第1アプリケーションHWIDをそれ自身のものとして格納し得る(ステップ225)。ソフトウェアアプリケーションの互換性は、結合リストを使用して達成され得る。結合リストは、アプリケーションと共に提供される、既知の互換アプリケーションをリストアップする一覧である。所与のメーカーからのこうしたリストは、メーカーがアプリケーションスイートを形成するために通常バンドルするアプリケーションを含み得る。ワシントン、レッドモンドのMicrosoft(登録商標)Corporation社から入手可能なMicrosoft Office(商標)は、こうしたアプリケーションスイートの一例である。この例では、Word、Excel、Power Point、Outlook、AccessおよびVisioのアプリケーションは、ライセンス付与のために同じハードウェア変更許容度を有し、また結合リストを介した単一の再アクティブ化ポリシーグループ内に置かれる候補であり得る。そのメーカーが製造しないアプリケーションを含めて、他の任意のアプリケーションが、結合リスト内に入れられ得る。結合リストは、別のアプリケーションが、再アクティブ化されるソフトウェア再アクティブ化ポリシーグループのライセンスと互換性があるかどうかを評価するために、アプリケーション再アクティブ化が必要とされるときにアクセスされ得る。
図3は、本発明の単一再アクティブ化の態様を示すフローチャート300である。図2に関して参照したユーザが、そのコンピュータにハードウェア変更を行ったと想定する。またそのハードウェア変更が、単一の再アクティブ化ポリシーグループのために存在するハードウェア変更閾値を超えると想定する。ユーザが、現在許容範囲外(out−of−tolerance)の再アクティブ化ポリシーグループ内にある任意のアプリケーション、例えば第1アプリケーションにアクセスする場合、アクティブ化ソフトウェアは、大きく変更されたハードウェア環境を検出する(ステップ305)。このステップで、第1アプリケーションからアクセス可能な位置(信頼されたストア)に格納されているHWIDが、現在生成されたHWIDと比較される。製品再アクティブ化ソフトウェアは次に、更新されたHWIDが、同じ再アクティブ化ポリシーグループの他のメンバアプリケーションに関連して格納されているかどうか確かめるために、再アクティブ化ポリシーグループをチェックする(ステップ310)。使用可能なより最近のHWIDがあり、またその新しいHWIDがハードウェア変更許容度を超えない場合、第1アプリケーションは最新のHWIDを採用し、再アクティブ化は、実施される必要はない(ステップ315)。
第1ポリシーグループの再アクティブ化ポリシーの許容範囲(tolerance)内に入る、より新しいHWIDがない場合、それはハードウェア許容の範囲外であり、また許容範囲外の状態が、ソフトウェアが不正使用されたことを示し得るので、第1アプリケーションは、再アクティブ化されなければならない(ステップ320)。再アクティブ化の成功の一環として、より新しい現在のHWIDが生成され、アプリケーションメーカーから確認が受信された後に、第1再アクティブ化ポリシーグループに関連する記憶装置に置かれる(ステップ320)。次いで、第2のアプリケーションがアクセスされ、許容範囲外のハードウェア構成が検出される(ステップ325)。この場合もやはり、そのアクティブ化のときに、現在のHWIDを第2ソフトウェアアプリケーションに対応する格納されているHWIDと比較することによって、許容範囲外ハードウェアのインディケーションが生成される。次いで、製品再アクティブ化ソフトウェアは、そのポリシーグループについて別のさらに新しいHWIDが存在するかどうか確かめるために、第2アプリケーション再アクティブ化ポリシーグループを探索する(ステップ330)。この場合、第1アプリケーションおよび第2アプリケーションが同じ再アクティブ化ポリシーグループに属すると想定し、製品再アクティブ化ソフトウェアは、そのポリシーグループに対応するさらに新しいHWIDを見つけることができる。そのさらに新しいHWIDは、第1アプリケーションの再アクティブ化によってもたらされたものである。許容範囲内のそのより新しいHWIDを検出すると、第2アプリケーションについて再アクティブ化が要求される必要はない(ステップ335)。このようにして、第1および第2アプリケーションは同じ再アクティブ化ポリシーグループに加わっており、またそのポリシーグループは以前にステップ320で再アクティブ化されているので、ユーザは、第2アプリケーションの再アクティブ化を行わないで済む。したがって、ステップ335では、第2アプリケーションのために新しい再アクティブ化が実施される必要はない。
しかし、第1アプリケーションおよび第2アプリケーションが同じ再アクティブ化ポリシーグループに属さない場合、第2アプリケーションの再アクティブ化が、第2アプリケーションポリシーのための新しいHWIDをそれに相応して生成するのに伴って必要とされる(ステップ340)。本発明の一態様によれば、第2アプリケーションが加入している第2ポリシーグループと互換性がある他の任意のアプリケーションは、その後にユーザによってアクセスされる場合に再アクティブ化される必要はない。
本発明の別の実施形態では、HWIDは、特定のユーザマシンを具体的に識別しないための、疑似的な一意の汎用ハードウェア識別子であり得る。この手法には、ユーザプライバシーについての懸念を小さくする利点がある。一般に、HWIDは、定数ではなく、識別子がハードウェア変更に応じて変化するという点で、ハードウェア構成変更の影響を受ける。HWIDは、コンピュータ群のハードウェア構成を表す値のハッシュであり得る。ユーザのソフトウェアアプリケーションがアクティブ化されるときに、アクティブ化のときのコンピュータハードウェア構成を表すHWID、および単一の再アクティブ化ポリシーグループが、リンクとして作成され、信頼されるストア内に格納され得る。これは、ソフトウェアアプリケーションが再アクティブ化ポリシーグループをホストすると想定している。本発明の一態様によれば、アプリケーションは、再アクティブ化ポリシーグループ、結合リスト、またはその両方をホストすることができる。
本出願と同一の出願人による、2003年11月12日に出願された「Obfuscated State Store For Rights Management System And The Like」という名称の同時係属の特許出願第10/706018号を参照することにより援用する。この同時係属の出願は、ユーザコンピュータ上で格納される状態情報ストアについて開示している。この状態情報は、ハードウェア構成識別子として使用され得る。コンピューティング装置の構成に少なくともほぼ一意である情報を取得することができ、状態ストアの少なくとも一部が格納されるべき複数の位置が決定され得る。取得された情報の少なくとも1部に基づいて、疑似ランダムのファイル名、および対応するパスが生成されることができ、それによって、生成されたファイル名、および対応するパスも同様に、コンピューティング装置に対して少なくともほぼ一意となる。生成されたファイル名およびパスは対にされて、上記位置を形成する。その後に、状態ストアは、生成された位置に従って格納される。この技術の使用によって、ユーザがその位置を発見し得る可能性がほとんどなしに、HWIDを生成し、ユーザコンピュータ上に格納することが可能になる。この構成法(arrangement)の使用は、ユーザがHWID情報へのアクセスを取得し、それを変更して、大きなハードウェア構成変更後の再アクティブ化の不正使用保護機構を使用不可能にすることを防ぐのに役立つ。
一実施形態では、上記の手法で使用される、信頼され隠された格納位置は、ユーザまたはクライアント側で永続するものであり、汎用の疑似一意HWIDで署名された、ソフトウェアメーカーのサーバにリンクされる。クライアント側HWIDが変更されないままであり、信頼されたソフトウェア製品の再アクティブ化プロセスによって、新しい疑似一意HWIDがアクティブ化される場合、古い疑似一意HWIDによってアクティブ化された他のソフトウェア製品は、本発明の態様に従って再アクティブ化を必要としない。
本発明の一実施形態では、再アクティブ化ポリシーグループは、それぞれ異なるポリシーグループを表現するために、XrML(eXtensible Right Markup Language:拡張可能権利マークアップ言語)で生成される。他の実施形態では、再アクティブ化ポリシーグループは、当業者に知られている他の適切な生成方法を使用して生成され得る。本発明の一態様として、ソフトウェア製品群が同じライセンス付与ハードウェア変更許容のポリシーを共有する場合、そのソフトウェア群のための単一の再アクティブ化が可能である。こうしたポリシーグループ内のソフトウェア製品は、双方向の信頼または単一方向の信頼として指定され得る。双方向の信頼では、対応するハードウェアがグループ内のソフトウェア製品のいずれか1つによって再アクティブ化される場合、すべてのソフトウェア製品が再アクティブ化され得る。単一方向の信頼では、対応するハードウェアが1つまたは複数の指定されたソフトウェア製品によって再アクティブ化される場合だけ、すべてのソフトウェア製品が再アクティブ化される。ある実施形態では、双方向または単一方向のポリシーグループに加わる際の認証機構が存在し得る。
上述したように、ソフトウェアアプリケーションは、再アクティブ化ポリシーグループ、結合リスト、またはその両方をホストすることができる。したがって、あるコンピュータ上でそれぞれ異なるときにインストールされ、アクティブ化された2つのアプリケーションが、2つの異なる再アクティブ化ポリシーグループによってカバーされている状態になり得る。しかし、2つのアプリケーションが、他のアプリケーションを含む結合リストなどの互換性がある関係であれば、その2つのアプリケーションは、同じ再アクティブ化ポリシーグループ内で結局は同期が取られ得る。このイベントは、アプリケーションのうちの1つについて再アクティブ化のイベントが保証されている場合に発生し得る。この再アクティブ化イベント要求は、ポリシーグループを許容範囲外に至らせるユーザコンピュータのハードウェア変更によってトリガされ得る。許容範囲外アプリケーションの再アクティブ化の後に、そのアプリケーションの再アクティブ化ポリシーグループに関連して、新しいHWIDが提供される。第2のアプリケーションにアクセスし、それが第2の再アクティブ化ポリシーグループの許容範囲外になる場合、互換性チェックを実施することができ、第2アプリケーションは、第1グループポリシーと互換性があることが分かり得る。次いで、第2アプリケーションは、その第1グループに加わり、従って、その再アクティブ化HWIDを採用することによって、第1アプリケーションと同期するようになる。したがって、第2アプリケーションが、第1アプリケーションポリシーグループ、そのHWID、および互換アプリケーションをリストした結合リストからの恩恵を受けるので、第2アプリケーションの再アクティブ化は不要になる。
例示的なコンピューティング装置
図4および以下の議論は、本発明が実施され得る適切なコンピューティング環境についての簡潔で一般的な説明を提供するためのものである。汎用コンピュータについて以下に述べているが、これは一例にすぎず、本発明の実施形態は、ネットワーク/バスの相互運用性(interoperability)および相互作用性(interaction)を有するクライアントなどの他のコンピューティング装置で実施され得る。したがって、本発明の実施形態は、非常に少ないまたは最小のクライアントリソースが関与するネットワークホストサービス(networked hosted services)の環境、例えばクライアント装置が、機器内に置かれたオブジェクトや、他のコンピューティング装置およびオブジェクトなどの単にネットワーク/バスとのインターフェースとして働くネットワーク環境内で実施され得る。要するに、データを格納することができ、またはデータを取り出すことができるいずれのところも、動作するのに望ましいまたは適切な環境である。
必須ではないが、本発明は、装置またはオブジェクトのためのサービスの開発者によって使用するために、オペレーティングシステムを介して実施され、かつ/またはアプリケーションソフトウェア内に含められ得る。ソフトウェアは、クライアントワークステーション、サーバ、または他の装置などの1つまたは複数のコンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的なコンテキストで説明され得る。一般に、プログラムモジュールは、特定のタスクを実施し、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造体などを含む。プログラムモジュールの機能は通常、様々な実施形態で望まれるように組み合わせることも、分散されることもできる。さらに、本発明の様々な実施形態は、他のコンピュータ構成で実施され得ることが当業者には理解されよう。使用に適し得る他の周知のコンピューティングシステム、環境および/または構成には、それだけに限らないが、パーソナルコンピュータ(PC:personal computer)、現金自動預け払い機、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラマブルな家庭電化製品、ネットワークPC、機器、ライト、環境制御要素、ミニコンピュータ、メインフレームコンピュータなどが含まれる。本発明の実施形態は、通信ネットワーク/バス、または他のデータ伝送媒体を介してリンクされたリモート処理装置によってタスクが実施される分散コンピューティング環境内で実施することもできる。分散コンピューティング環境内では、プログラムモジュールは、メモリ記憶装置を含めて、ローカルとリモートの両方のコンピュータ記憶媒体内に配置されることができ、またクライアントノードも同様に、サーバノードとして振る舞い得る。
したがって、図4に、本発明の諸実施形態が実施され得る適切なコンピューティングシステム環境600の一例を示すが、上記で明らかにしたように、コンピューティングシステム環境600は、適切なコンピューティング環境の一例にすぎず、本発明の実施形態の使用または機能の範囲に関する制限を示唆することを意図するものではない。コンピューティング環境600は、例示的なオペレーティング環境600内に示した構成要素のいずれか1つまたはその組合せに関するいずれかの依存関係または要件を有するものと解釈すべきでない。
図4を参照すると、本発明の一実施形態を実施するための例示的なシステムが、コンピュータシステム610の形の汎用コンピューティング装置を含んでいる。コンピュータシステム610の構成要素は、それだけに限らないが、処理装置620、システムメモリ630、およびシステムメモリを含めて様々なシステム構成要素を処理装置620に結合するシステムバス621を含み得る。システムバス621は、メモリバスまたはメモリコントローラ、周辺バス、および様々なバスアーキテクチャのいずれかを用いたローカルバスを含めて、いくつかのタイプのバス構造のいずれかであり得る。限定のためではなく、例を挙げると、こうしたアーキテクチャには、業界標準アーキテクチャ(ISA:Industry Standard Architecture)バス、マイクロチャネルアーキテクチャー(MCA:Micro Channel Architecture)バス、拡張ISA(EISA:Enhanced ISA)バス、ビデオ電子規格協会(VESA:Video Electronics Standards Association)ローカルバス、および周辺コンポーネント相互接続(PCI:Peripheral Component Interconnects)バス(メザニンバスとも呼ばれる)が含まれる。
コンピュータシステム610は一般に、様々なコンピュータ読取り可能媒体を含む。コンピュータ読取り可能媒体は、コンピュータシステム610からアクセスすることができる任意の使用可能な媒体とすることができ、揮発性と不揮発性、取出し可能と取出し不可能の両方の媒体を含む。限定のためではなく、例を挙げると、コンピュータ読取り媒体は、コンピュータ記憶媒体および通信媒体を含み得る。コンピュータ記憶媒体は、コンピュータ読取り可能命令、データ構造体、プログラムモジュールまたは他のデータなどの情報を格納するための任意の方法または技術で実装された揮発性と不揮発性、取出し可能と取出し不可能の両方の媒体を含む。コンピュータ記憶媒体には、それだけに限らないが、ランダムアクセスメモリ(RAM:Random Access Memory)、読み出し専用メモリ(ROM:Read Only Memory)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM:Electrically Erasable Programmable Read Only Memory)、フラッシュメモリまたは他のメモリ技術、コンパクトディスク読み出し専用メモリ(CDROM:Compact Disk Read Only Memory)、コンパクトディスク再書込み可能(CDRW:compact disc−rewritable)、デジタル多用途ディスク(DVD:digital versatile disk)または他の光ディスクス記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、あるいは所望の情報を格納するために使用することができ、またコンピュータシステム610によってアクセスすることができる他の任意の媒体が含まれる。通信媒体は一般に、コンピュータ読取り可能命令、データ構造体、プログラムモジュール、または搬送波や他のトランスポート機構などの変調されたデータ信号内の他のデータを備え、また任意の情報送達媒体を含む。用語「変調されたデータ信号」は、信号内の情報を符号化するやり方でその特性の1つまたは複数が設定されまたは変更された信号を意味する。限定するためではなく、例を挙げると、通信媒体には、有線ネットワークや直接有線接続などの有線媒体、ならびに音響などの無線媒体、RF、赤外線、および他の無線媒体が含まれる。上記内容のいずれかの組合せもまた、コンピュータ読取り可能媒体の範囲内に含まれるべきである。
システムメモリ630は、読み出し専用メモリ(ROM:read only memory)631およびランダムアクセスメモリ(RAM)632など、揮発性および/または不揮発性の形のコンピュータ記憶媒体を含む。起動時などにコンピュータシステム610内の要素間で情報を転送する助けをする基本ルーチンを含む基本入出力システム(BIOS:basic input/output system)633は一般に、ROM631に格納される。RAM632は一般に、処理装置620によって即時にアクセス可能であり、かつ/またはそれによる操作を現在受けているデータおよび/またはプログラムモジュールを含む。限定するためではなく、例示するために、図4に、オペレーティングシステム634、アプリケーションプログラム635、他のプログラムモジュール636、およびプログラムデータ637を示す。
コンピュータシステム610は、他の取出し可能/取出し不可能、揮発性/不揮発性のコンピュータ記憶媒体をも含み得る。例示するためだけに、図4に、取出し不可能な不揮発性の磁気媒体から読み出し、またはそこに書き込むハードディスクドライブ641、取出し可能な不揮発性の磁気ディスク652から読み出し、またはそこに書き込む磁気ディスクドライブ651、およびCD−ROM、CDRW、DVD、他の光メディアなどの取出し可能な不揮発性の光ディスク656から読み出し、またはそこに書き込むための光ディスクドライブ655を示す。この例示的なオペレーティング環境で使用され得る他の取出し可能/取出し不可能、揮発性/不揮発性のコンピュータ記憶媒体には、それだけに限らないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROMなどが含まれる。ハードディスクドライブ641は一般に、インターフェース640などの取出し不可能なメモリインターフェースを介してシステムバス621に接続され、磁気ディスクドライブ651および光ディスクドライブ655は一般に、インターフェース650などの取出し可能なメモリインターフェースによってシステムバス621に接続される。
上記で論じ、また図4に示したドライブおよびその関連のコンピュータ記憶媒体によって、コンピュータシステム610用の、コンピュータ読取り可能命令、データ構造体、プログラムモジュール、およびその他のデータの記憶を提供する。図4では、例えば、ハードディスクドライブ641は、オペレーティングシステム644、アプリケーションプログラム645、他のプログラムモジュール646およびプログラムデータ647を格納するものとして示されている。こうした構成要素は、オペレーティングシステム634、アプリケーションプログラム635、他のプログラムモジュール636およびプログラムデータ637と同じであることも、それとは異なることもあることに留意されたい。少なくともそれらがそれぞれ異なるコピーであることを示すために、ここではオペレーティングシステム644、アプリケーションプログラム645、他のプログラムモジュール646およびプログラムデータ647に異なる番号が付与されている。ユーザは、キーボード662、および一般にマウス、トラックボールまたはタッチパッドと称されるポインティング装置661などの入力装置を用いて、コンピュータシステム610にコマンドおよび情報を入力することができる。他の入力装置(図示せず)は、マイク、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナなどを含み得る。これらのおよび他の入力装置はしばしば、システムバス621に結合されたユーザ入力インターフェース660を介して処理装置620に接続されるが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(USB:universal serial bus)など、他のインターフェースおよびバス構造によって接続されることもできる。モニタ691または他のタイプの表示装置もまた、ビデオインターフェース690などのインターフェースを介してシステムバス621に接続され、このインターフェースは、ビデオメモリ(図示せず)と通信し得る。コンピュータシステムは、モニタ691に加えて、出力周辺装置インターフェース695を介して接続され得るスピーカ697およびプリンタ696などの他の周辺出力装置をも含み得る。
コンピュータシステム610は、リモートコンピュータ680などの1つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化されまたは分散された環境で動作することができる。リモートコンピュータ680は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードとすることができ、また図4にはメモリ記憶装置681だけが示されているが、コンピュータシステム610に関して上記で述べた要素の多くまたはすべてを一般に含む。図4に示す論理接続は、ローカルエリアネットワーク(LAN:local area network)671、および広域ネットワーク(WAN:wide area network)673を含むが、他のネットワーク/バスをも含み得る。こうしたネットワーキング環境は、家庭、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットでは一般的である。
LANネットワーキング環境内で使用される場合、コンピュータシステム610は、ネットワークインターフェースまたはアダプタ670を介してLAN671に接続される。WANネットワーキング環境内で使用される場合、コンピュータシステム610は一般に、モデム672、またはインターネットなどのWAN673を介して通信を確立する他の手段を含む。内部にあることも、外部にあることもあるモデム672は、ユーザ入力インターフェース660または他の適切な機構を介してシステムバス621に接続され得る。ネットワーク環境では、コンピュータシステム610に関して示したプログラムモジュール、またはその一部は、リモートメモリ記憶装置内に格納され得る。限定のためではなく、例示するため、図4に、メモリ装置681内に常駐するリモートアプリケーションプログラム685を示す。図示するネットワーク接続は例であり、コンピュータ間の通信リンクを確立する他の手段が使用され得ることが理解されよう。
パーソナルコンピューティングとインターネットの集中に鑑みて、様々な分散コンピューティングフレームワークが開発され、また開発されている。個人およびビジネスユーザには同様に、アプリケーションおよびコンピューティング装置のためのシームレスに相互運用可能な、ウェブ対応のインターフェースが提供され、コンピューティング活動をますますウェブブラウザまたはネットワーク指向のものにしている。
例えば、Microsoft Corporation社から入手可能なMICROSOFT(登録商標)のNET(商標)プラットフォームは、サーバ、ウェブベースのデータストレージなどのビルディングブロックサービス、およびダウンロード可能な装置ソフトウェアを含む。例示的な実施形態について、コンピューティング装置内に常駐するソフトウェアに関連して本明細書では述べているが、操作が、NET(商標)の言語およびサービスのすべて、および他の分散コンピューティング環境フレームワークなどによって実施され、そこでサポートされ、またはそれを介してアクセスされるように、本発明の実施形態の1つまたは複数の部分は、オペレーティングシステム、アプリケーションプログラミングインターフェース(API:application programming interface)、あるいはコプロセッサ、表示装置および要求側オブジェクトのうちのいずれかの間の「ミドルマン(middle man)」オブジェクトを介して実施することもできる。
上述したように、本発明の例示的な実施形態について、様々なコンピューティング装置およびネットワークアーキテクチャに関連して説明したが、基本の概念は、不正使用対策のソフトウェア機構を実装することが望まれる任意のコンピューティング装置またはシステムに適用することができる。したがって、本発明の例示的な実施形態に関して述べた方法およびシステムは、様々なアプリケーションおよび装置に適用され得る。例示的なプログラミング言語、名前および例は、様々な選択肢を表すものとしてここでは選択されているが、こうした言語、名前および例は、限定することを意図するものではない。本発明の実施形態によって達成されるものと同じ、類似のまたは等価のシステムおよび方法を達成するオブジェクトコードを提供する複数の方法があることが当業者には理解されよう。
本明細書で述べた様々な技術は、ハードウェアまたはソフトウェア、あるいは適切な場合にはその組合せと共に実装され得る。したがって、本発明の方法および装置、またはその特定の態様またはその一部は、フロッピー(登録商標)ディスク、CD−ROM、ハードドライブ、または他の任意のマシン読取り可能記憶媒体などの有形媒体中に具現化されたプログラムコード(すなわち命令)の形を取ることができ、該プログラムコードがロードされて、コンピュータなどのマシンによって実行されるときに、該マシンは、本発明を実施するための装置になる。プロブラマブルなコンピュータ上でプログラムコードを実行する場合、コンピューティング装置は一般に、プロセッサ、プロセッサによって読取り可能な記憶媒体(揮発性と不揮発性のメモリおよび/または記憶要素)、少なくとも1つの入力装置、および少なくとも1つの出力装置を含む。例えばデータ処理APIなどを使用することによって本発明の一実施形態の信号処理サービスを使用し得る1つまたは複数のプログラムは、コンピュータと通信するために、ハイレベルの手続き型またはオブジェクト指向型のプログラミング言語で実装されることが好ましい。しかし、そのプログラムは、所望であれば、アセンブリまたはマシン言語で実装され得る。いずれの場合も、言語は、コンパイルされまたは解釈された言語であり、ハードウェア実装と組み合わせられ得る。
本発明の態様について、様々な形の好ましい諸実施形態に関連して述べたが、他の類似の実施形態を使用することができ、あるいはそこから逸脱せずに、本発明の同じ機能を実施するために、説明した諸実施形態に対して修正および追加が行われ得ることを理解されたい。さらに、特に複数の無線ネットワーク装置が増加し続けているので、ハンドヘルド装置のオペレーティングシステム、および他のアプリケーション固有のオペレーティングシステムを含めて、様々なコンピュータプラットフォームが企図されることを強調しておく。したがって、特許請求された本発明は、単一の実施形態に限定されるべきではなく、添付の特許請求の範囲による幅および範囲において解釈すべきである。
ライセンスソフトウェアの複数の再アクティブ化の従来技術シナリオの時系列を示す図である。 ライセンスソフトウェアの複数の再アクティブ化を大幅に取り除くことができるより望ましいシナリオの時系列を示す図である。 本発明のアクティブ化の態様のフローチャートである。 本発明の再アクティブ化の態様のフローチャートである。 本発明の態様が実施され得る例示的なコンピューティング環境を示すブロック図である。
符号の説明
600 コンピューティング環境
620 処理装置
621 システムバス
630 システムメモリ
634 オペレーティングシステム
635 アプリケーションプログラム
636 他のプログラムモジュール
637 プログラムデータ
640 取出し不可能な不揮発性メモリインターフェース
644 オペレーティングシステム
645 アプリケーションプログラム
646 他のプログラムモジュール
647 プログラムデータ
650 取出し可能な不揮発性メモリインターフェース
660 ユーザ入力インターフェース
661 マウス
662 キーボード
670 ネットワークインターフェース
671 ローカルエリアネットワーク
672 モデム
673 広域ネットワーク
680 リモートコンピュータ
685 リモートアプリケーションプログラム
690 ビデオインターフェース
691 モニタ
695 出力周辺装置インターフェース
696 プリンタ
697 スピーカ

Claims (20)

  1. コンピュータがサーバーと通信してソフトウェア製品を再アクティブ化するための方法であって、
    サーバーに第1のソフトウェア製品のアクティブ化を要求するステップであって、前記第1ソフトウェア製品は、再アクティブ化ポリシーグループをホストするものである、そのようなステップと、
    第1のハードウェア識別子を前記第1ソフトウェア製品に関連付けるステップと、
    サーバーに第2のソフトウェア製品のアクティブ化を要求するステップであって、前記第2ソフトウェア製品は、結合リストを含むものである、そのようなステップと、
    前記第2ソフトウェア製品の前記結合リストが前記再アクティブ化ポリシーグループおよび前記第1ソフトウェア製品との互換性を示す場合、前記第2ソフトウェア製品を前記第1ハードウェア識別子に関連付けるステップと
    前記第1ソフトウェア製品の再アクティブ化イベントを要求するステップと、
    前記第1ソフトウェア製品の前記再アクティブ化イベントを前記第2ソフトウェア製品のものと見なし、前記第2ソフトウェア製品の再アクティブ化イベントの要求をすることなく、前記第2のソフトウェア製品をアクティブ化するステップとを備え、
    前記再アクティブ化ポリシーグループとの互換性は、前記再アクティブ化ポリシーグループに関連するハードウェア変更許容度に対する、現在のハードウェア識別子の、前記第1ハードウェア識別子との比較によって示されることを特徴とする方法。
  2. 第1のソフトウェア製品のアクティブ化を要求する前記ステップは、第1のソフトウェア製品をコンピュータ上でアクティブ化することを要求するステップをさらに含み、前記コンピュータは、メモリ内に格納された前記第1ハードウェア識別子を有していることを特徴とする請求項1に記載の方法。
  3. 前記ハードウェア識別子は、前記第1ソフトウェア製品のアクティブ化時のハードウェア構成の表現を含むことを特徴とする請求項2に記載の方法。
  4. 前記表現は、前記コンピュータ上にインストールされたコンポーネント識別子のハッシュ値を含むことを特徴とする請求項3に記載の方法。
  5. コンピュータがサーバーと通信してソフトウェア製品を再アクティブ化するための方法であって、
    サーバーに第1のソフトウェア製品のアクティブ化を要求するステップであって、前記第1ソフトウェア製品は、再アクティブ化ポリシーグループをホストするものである、そのようなステップと、
    第1のハードウェア識別子を前記第1ソフトウェア製品に関連付けるステップと、
    サーバーに第2のソフトウェア製品のアクティブ化を要求するステップであって、前記第2ソフトウェア製品は、結合リストを有するものである、そのようなステップと、
    前記第2ソフトウェア製品の前記結合リストが前記再アクティブ化ポリシーグループおよび前記第1ソフトウェア製品との互換性を示す場合、前記第2ソフトウェア製品を前記第1ハードウェア識別子に関連付けるステップと、
    サーバーに前記第1ソフトウェア製品の再アクティブ化イベントを要求するステップと、
    前記第1ソフトウェア製品の前記再アクティブ化イベントを前記第2ソフトウェア製品のものと見なし、前記第2ソフトウェア製品の再アクティブ化イベントの要求をすることなく、前記第2のソフトウェア製品をアクティブ化するステップとを備え、
    前記第1のソフトウェア製品のアクティブ化を要求する前記ステップは、ハードウェア変更許容範囲を含む前記再アクティブ化ポリシーグループをホストするステップをさらに含み、
    前記再アクティブ化イベントを要求するステップは、現在のハードウェア識別子と前記第1のハードウェア識別子とを比較した結果、前記ハードウェア変更許容範囲が超過されかつ前記第1ソフトウェア製品がアクセスされる場合にトリガされることを特徴とする方法。
  6. 前記第1ソフトウェア製品の再アクティブ化の後に、前記現在のハードウェア識別を第2のハードウェア識別子として前記再アクティブ化ポリシーグループに関連付けるステップをさらに備えることを特徴とする請求項に記載の方法。
  7. 前記第2ハードウェア識別子は、前記第1ソフトウェア製品の前記再アクティブ化時のハードウェア構成を表すことを特徴とする請求項に記載の方法。
  8. コンピュータがサーバーと通信してソフトウェア製品を再アクティブ化するための方法であって、
    サーバーに第1のソフトウェア製品のアクティブ化を要求するステップであって、前記第1ソフトウェア製品は、再アクティブ化ポリシーグループをホストするものである、そのようなステップと、
    第1のハードウェア識別子を前記第1ソフトウェア製品に関連付けるステップと、
    サーバーに第2のソフトウェア製品のアクティブ化を要求するステップであって、前記第2ソフトウェア製品は、結合リストを有するものである、そのようなステップと、
    前記第2ソフトウェア製品の前記結合リストが前記第1ソフトウェア製品との互換性を示す場合、前記第2ソフトウェア製品を前記第1ハードウェア識別子に関連付けるステップと、
    前記第1ソフトウェアアプリケーションにアクセスするステップと、
    現在のハードウェア識別子を前記第1ハードウェア識別子と比較して、ハードウェア差異インディケーションを生成するステップと、
    前記ハードウェア差異インディケーションが、前記再アクティブ化ポリシーグループに関連するハードウェア変更許容範囲より大きい場合、再アクティブ化イベントを要求するステップと
    前記第1ソフトウェア製品の前記再アクティブ化イベントを前記第2ソフトウェア製品のものと見なし、前記第2ソフトウェア製品の再アクティブ化イベントの要求をすることなく、前記第2のソフトウェア製品をアクティブ化するステップと
    を備えることを特徴とする方法。
  9. コンピュータが複数のソフトウェアアプリケーションを再アクティブ化するための方法であって、
    サーバーに第1アプリケーションのアクティブ化を要求し、第1のハードウェア識別子を再アクティブ化ポリシーグループに関連付けるステップであって、前記第1アプリケーションは、前記再アクティブ化ポリシーグループを所有するものである、そのようなステップと、
    サーバーに少なくとも1つの追加のアプリケーションのアクティブ化を要求し、前記少なくとも1つの追加のアプリケーションが前記再アクティブ化ポリシーグループに属する場合でありかつ現在のハードウェア構成識別子が前記第1ハードウェア識別子の許容範囲内である場合に、再アクティブ化結合リストに対して、前記少なくとも1つの追加のアプリケーションを前記第1アプリケーションに関連付けるステップであって、前記許容範囲は、前記再アクティブ化ポリシーグループに関連付けられているステップと、
    サーバーに前記アプリケーションのいずれか1つの再アクティブ化を要求するステップと、
    残りのアプリケーションが前記再アクティブ化ポリシーグループに関連付けられる場合に、前記残りのアプリケーション再アクティブ化イベントを要求することなく、前記残りのアプリケーションをアクティブ化するステップと
    を備えることを特徴とする方法。
  10. 前記アプリケーションのいずれか1つの再アクティブ化の後に、前記現在のハードウェア構成識別子を第2のハードウェア識別子として前記再アクティブ化ポリシーグループに関連付けるステップをさらに備えることを特徴とする請求項に記載の方法。
  11. メモリへのアクセスを有するプロセッサを備えるシステムであって、前記メモリは、実行時に、
    第1のソフトウェアアプリケーションがアクセスされるときに、現在のハードウェア識別子を第1のハードウェア識別子と比較するステップであって、前記第1ハードウェア識別子は、前記第1ソフトウェアアプリケーションのアクティブ化時に再アクティブ化ポリシーグループに関連付けられるものである、そのようなステップと、
    前記現在のハードウェア識別子が前記第1ハードウェア識別子からの差異の閾値を超える場合に、サーバーに前記第1アプリケーションの再アクティブ化を要求するステップと
    前記現在のハードウェア識別子を前記再アクティブ化ポリシーグループに関連付けるステップと、
    少なくとも1つの他のソフトウェアアプリケーションが、結合リストに基づいて前記第1のソフトウェアアプリケーションと同一の再アクティブ化ポリシーグループに属すると判断される場合、少なくとも1つの他のソフトウェアアプリケーションの再アクティブ化イベントを要求することなく、前記少なくとも1つの他のソフトウェアアプリケーションをアクティブ化するするステップであって、前記結合リストは、現在のハードウェア識別子の、前記第1ハードウェア識別子との比較が、前記再アクティブ化ポリシーグループに関連するハードウェア変更許容度の範囲内である場合に、前記少なくとも1つの他のソフトウェアアプリケーションと第1のソフトウェアアプリケーションとを関連付けるものである、そのようなステップと
    を含む方法を実施する命令を有することを特徴とするシステム。
  12. 前記第1ハードウェア識別子は、信頼されるストア内に格納されることを特徴とする請求項11に記載のシステム。
  13. 前記第1ハードウェア識別子は、ハッシュ値を含むことを特徴とする請求項11に記載のシステム。
  14. サーバーに第1のソフトウェア製品のアクティブ化を要求するステップであって、前記第1ソフトウェア製品は、ハードウェア変更許容範囲を含む再アクティブ化ポリシーグループをホストし、且つ第1のハードウェア識別子と現在のハードウェア識別子を比較した結果、前記ハードウェア変更許容範囲が超過されかつ前記第1ソフトウェア製品がアクセスされる場合に、再アクティブ化イベントトリガされるものである、そのようなステップと、
    前記現在のハードウェア識別子を第1のハードウェア識別子として前記第1ソフトウェア製品に関連付けるステップと、
    サーバーに第2のソフトウェア製品のアクティブ化を要求するステップであって、前記第2ソフトウェア製品は、結合リストを有するものである、そのようなステップと、
    前記第2ソフトウェア製品の前記結合リストが前記再アクティブ化ポリシーグループおよび前記第1ソフトウェア製品との互換性を示す場合、前記第2ソフトウェア製品を前記第1ハードウェア識別子に関連付けるステップと、
    サーバーに前記第1ソフトウェア製品の再アクティブ化イベントを要求するステップと、
    前記第1ソフトウェア製品の前記再アクティブ化イベントを前記第2ソフトウェア製品のものと見なし、前記第2ソフトウェア製品の再アクティブ化イベントの要求をすることなく、前記第2のソフトウェア製品をアクティブ化するステップと
    コンピュータに実行させるコンピュータ実行可能命令を記録したコンピュータ読取り可能記録媒体。
  15. 前記第2ソフトウェア製品を前記第1ハードウェア識別子に関連付ける前記ステップは、前記再アクティブ化ポリシーグループおよび前記第1ソフトウェア製品のうちの少なくとも1つとの互換性を示す結合リストを含むことを特徴とする請求項14に記載のコンピュータ読取り可能記録媒体。
  16. 前記第1ソフトウェア製品の再アクティブ化の後に、前記現在のハードウェア識別を第2ハードウェア識別子として前記再アクティブ化ポリシーグループに関連付けるステップをさらに備えることを特徴とする請求項14に記載のコンピュータ読取り可能記録媒体。
  17. 前記第2ハードウェア識別子は、前記第1ソフトウェア製品の前記再アクティブ化時のハードウェア構成を表すことを特徴とする請求項16に記載のコンピュータ読取り可能記録媒体。
  18. サーバーに第1のソフトウェア製品のアクティブ化を要求するステップであって、前記第1ソフトウェア製品は、再アクティブ化ポリシーグループをホストするステップと、
    第1のハードウェア識別子を前記第1ソフトウェア製品に関連付けるステップと、
    サーバーに第2のソフトウェア製品のアクティブ化を要求するステップであって、前記第2ソフトウェア製品は、結合リストを有するものである、そのようなステップと、
    前記第2ソフトウェア製品の前記結合リストが前記第1ソフトウェア製品との互換性を示す場合、前記第2ソフトウェア製品を前記第1ハードウェア識別子に関連付けるステップと、
    前記第1ソフトウェアアプリケーションにアクセスするステップと、
    現在のハードウェア識別子を前記第1ハードウェア識別子と比較して、ハードウェア差異インディケーションを生成するステップと、
    前記ハードウェア差異インディケーションが、前記再アクティブ化ポリシーグループに関連するハードウェア変更許容範囲より大きい場合、再アクティブ化イベントを要求するステップと、
    前記第1ソフトウェア製品の前記再アクティブ化イベントを前記第2ソフトウェア製品のものと見なし、前記第2ソフトウェア製品の再アクティブ化イベントの要求をすることなく、前記第2のソフトウェア製品をアクティブ化するステップと
    コンピュータに実行させるコンピュータ実行可能命令を有するコンピュータ読取り可能記録媒体。
  19. サーバーに第1アプリケーションのアクティブ化を要求し、第1のハードウェア識別子を再アクティブ化ポリシーグループに関連付けるステップであって、前記第1アプリケーションは、前記再アクティブ化ポリシーグループを所有するものである、そのようなステップと、
    サーバーに少なくとも1つの追加のアプリケーションのアクティブ化を要求し、前記少なくとも1つの追加のアプリケーションが前記再アクティブ化ポリシーグループに属する場合でありかつ現在のハードウェア構成識別子が前記第1ハードウェア識別子の許容範囲内である場合に、再アクティブ化結合リストに対して、前記少なくとも1つの追加のアプリケーションを前記第1アプリケーションに関連付けるステップであって、前記許容範囲は、前記再アクティブ化ポリシーグループに関連付けられている、そのようなステップと、
    サーバーに前記アプリケーションのいずれか1つの再アクティブ化を要求するステップと、
    残りのアプリケーションが前記再アクティブ化ポリシーグループに関連付けられている場合に、前記残りのアプリケーションの再アクティブ化イベントを要求することなく、前記残りのアプリケーションをアクティブ化するステップと
    コンピュータに実行させるコンピュータ実行可能命令を有するコンピュータ読取り可能記録媒体。
  20. 前記コンピュータ実行可能命令は前記コンピュータに、前記アプリケーションのいずれか1つの再アクティブ化の後に、前記現在のハードウェア構成識別子を第2のハードウェア識別子として前記再アクティブ化ポリシーグループに関連付けるステップをさらに実行させることを特徴とする請求項19に記載のコンピュータ読取り可能記録媒体。
JP2005158663A 2004-07-30 2005-05-31 ソフトウェア製品ライセンスの単一の再アクティブ化のための方法およびシステム Expired - Fee Related JP4794217B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/903,942 2004-07-30
US10/903,942 US7379918B2 (en) 2004-07-30 2004-07-30 Method and system for single reactivation of software product licenses

Publications (3)

Publication Number Publication Date
JP2006048648A JP2006048648A (ja) 2006-02-16
JP2006048648A5 JP2006048648A5 (ja) 2008-07-17
JP4794217B2 true JP4794217B2 (ja) 2011-10-19

Family

ID=35241323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005158663A Expired - Fee Related JP4794217B2 (ja) 2004-07-30 2005-05-31 ソフトウェア製品ライセンスの単一の再アクティブ化のための方法およびシステム

Country Status (5)

Country Link
US (1) US7379918B2 (ja)
EP (1) EP1622061A3 (ja)
JP (1) JP4794217B2 (ja)
KR (1) KR101159316B1 (ja)
CN (1) CN100478828C (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7273415B2 (en) 2000-09-07 2007-09-25 Igt Gaming device having a bonus scheme with multiple selection groups
US8103592B2 (en) * 2003-10-08 2012-01-24 Microsoft Corporation First computer process and second computer process proxy-executing code on behalf of first process
US7979911B2 (en) * 2003-10-08 2011-07-12 Microsoft Corporation First computer process and second computer process proxy-executing code from third computer process on behalf of first process
US7788496B2 (en) * 2003-10-08 2010-08-31 Microsoft Corporation First computer process and second computer process proxy-executing code on behalf thereof
US7379918B2 (en) * 2004-07-30 2008-05-27 Microsoft Corporation Method and system for single reactivation of software product licenses
US7666093B2 (en) 2004-08-03 2010-02-23 Igt Gaming method and device involving progressive wagers
US7963847B2 (en) 2004-08-19 2011-06-21 Igt Gaming system having multiple gaming machines which provide bonus awards
US8021230B2 (en) 2004-08-19 2011-09-20 Igt Gaming system having multiple gaming machines which provide bonus awards
US7892093B2 (en) 2004-08-19 2011-02-22 Igt Gaming system having multiple gaming machines which provide bonus awards
US8251791B2 (en) 2004-08-19 2012-08-28 Igt Gaming system having multiple gaming machines which provide bonus awards
US7621809B2 (en) 2004-08-19 2009-11-24 Igt Gaming system having multiple gaming machines which provide bonus awards
WO2006089352A1 (en) * 2005-02-22 2006-08-31 United Electrical Software P/L Method and system for monitoring computer systems
US9547780B2 (en) 2005-03-28 2017-01-17 Absolute Software Corporation Method for determining identification of an electronic device
US8738822B2 (en) * 2005-05-03 2014-05-27 Flexera Software Llc System and method for controlling operation of a component on a computer system
US8137188B2 (en) 2005-09-09 2012-03-20 Igt Server based gaming system having multiple progressive awards
US7841939B2 (en) 2005-09-09 2010-11-30 Igt Server based gaming system having multiple progressive awards
US8128491B2 (en) 2005-09-09 2012-03-06 Igt Server based gaming system having multiple progressive awards
US7676803B2 (en) * 2005-12-06 2010-03-09 Dell Products L.P. Method of defining packaging applicability
US7780520B2 (en) 2006-03-15 2010-08-24 Igt Gaming device having multiple different types of progressive awards
JP4769608B2 (ja) * 2006-03-22 2011-09-07 富士通株式会社 起動検証機能を有する情報処理装置
US8909746B2 (en) 2006-07-25 2014-12-09 Nvidia Corporation System and method for operating system installation on a diskless computing platform
US9003000B2 (en) 2006-07-25 2015-04-07 Nvidia Corporation System and method for operating system installation on a diskless computing platform
US8070597B2 (en) * 2006-08-03 2011-12-06 Igt Gaming device and method having multiple progressive award levels and a secondary game for advancing through the progressive award levels
US8839451B1 (en) * 2006-08-07 2014-09-16 Moka5, Inc. Activation and security of software
US8523665B2 (en) * 2006-10-11 2013-09-03 Igt Gaming system and method having multi-level mystery triggered progressive awards
US20080108430A1 (en) 2006-11-08 2008-05-08 Igt Gaming system and method which provides players an opportunity to win a progressive award
US9047733B2 (en) 2006-11-08 2015-06-02 Igt Gaming system and method for providing multiple level progressive awards with increased odds of winning higher level progressive awards
US7963845B2 (en) 2006-11-08 2011-06-21 Igt Gaming system and method with multiple progressive award levels and a skill based determination of providing one of the progressive award levels
US8105149B2 (en) 2006-11-10 2012-01-31 Igt Gaming system and method providing venue wide simultaneous player participation based bonus game
US9002745B2 (en) * 2006-12-21 2015-04-07 Igt Secure media distribution in a wager gaming system
US20090171747A1 (en) * 2007-12-26 2009-07-02 Microsoft Corporation Product activation/registration and offer eligibility
WO2009105002A1 (en) * 2008-02-20 2009-08-27 Telefonaktiebolaget Lm Ericsson (Publ) Flexible node identity for telecom nodes
US8037693B2 (en) * 2008-05-13 2011-10-18 Ge Intelligent Platforms, Inc. Method, apparatus, and system for cooling an object
US8376836B2 (en) 2008-11-07 2013-02-19 Igt Server based gaming system and method for providing deferral of bonus events
US20100293103A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Interaction model to migrate states and data
US9424399B2 (en) 2009-05-12 2016-08-23 Microsoft Technology Licensing, Llc Availability of permission models in roaming environments
US20100293536A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Enhanced product functionality based on user identification
US8781985B2 (en) * 2010-12-14 2014-07-15 Microsoft Corporation Addressing system degradation by application disabling
CN103186725B (zh) * 2011-12-31 2016-10-05 北大方正集团有限公司 软件授权方法和装置
US8708804B2 (en) 2012-06-22 2014-04-29 Igt Gaming system and method providing a collection game including at least one customizable award collector
CN112667973B (zh) * 2020-11-30 2023-12-26 新华三技术有限公司 一种网络设备的管理软件的激活方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291598A (en) * 1992-04-07 1994-03-01 Gregory Grundy Method and system for decentralized manufacture of copy-controlled software
US6360362B1 (en) * 1998-02-20 2002-03-19 Intel Corporation Automatic update of camera firmware
US6243468B1 (en) 1998-04-29 2001-06-05 Microsoft Corporation Software anti-piracy system that adapts to hardware upgrades
US7503072B2 (en) * 1998-04-29 2009-03-10 Microsoft Corporation Hardware ID to prevent software piracy
JP2002328874A (ja) * 2001-05-01 2002-11-15 Shunji Sugaya 電子メールの管理方法と管理装置
US7152243B2 (en) * 2002-06-27 2006-12-19 Microsoft Corporation Providing a secure hardware identifier (HWID) for use in connection with digital rights management (DRM) system
US20070107067A1 (en) 2002-08-24 2007-05-10 Ingrian Networks, Inc. Secure feature activation
US7302590B2 (en) * 2003-01-06 2007-11-27 Microsoft Corporation Systems and methods for providing time-and weight-based flexibly tolerant hardware ID
US7379918B2 (en) * 2004-07-30 2008-05-27 Microsoft Corporation Method and system for single reactivation of software product licenses

Also Published As

Publication number Publication date
EP1622061A2 (en) 2006-02-01
CN100478828C (zh) 2009-04-15
CN1728036A (zh) 2006-02-01
EP1622061A3 (en) 2012-03-21
US20060026604A1 (en) 2006-02-02
KR20060046261A (ko) 2006-05-17
JP2006048648A (ja) 2006-02-16
US7379918B2 (en) 2008-05-27
KR101159316B1 (ko) 2012-06-22

Similar Documents

Publication Publication Date Title
JP4794217B2 (ja) ソフトウェア製品ライセンスの単一の再アクティブ化のための方法およびシステム
RU2375739C2 (ru) Способ и система для ограничения обновлений программного обеспечения
US8001596B2 (en) Software protection injection at load time
JP4902636B2 (ja) マシン属性を使用して企業環境におけるソフトウエア海賊版を防止する方法およびシステム
KR101301332B1 (ko) 보안 기계 카운팅
US7257835B2 (en) Securely authorizing the performance of actions
EP1443381B1 (en) System and method for secure software activation with volume licenses
RU2372653C2 (ru) Системы и способы для обеспечения идентификатора оборудования с гибкими границами допусков в зависимости от времени и веса
US7665139B1 (en) Method and apparatus to detect and prevent malicious changes to tokens
US7890756B2 (en) Verification system and method for accessing resources in a computing environment
CN102955915B (zh) 一种Java应用安全访问控制方法及其装置
CN111052117A (zh) 在没有多元化创作的情况下安全地定义操作系统组成
CN114398686A (zh) 基于区块链的文件存储方法、装置、设备和存储介质
WO2006021132A1 (en) Method for protecting the computer data
JP4457640B2 (ja) 不正インストール防止プログラム、そのプログラムが記録されたコンピュータ読み取り可能な記録媒体、及び不正インストール防止システム
KR20150116298A (ko) 프로세스 보안 방법 및 시스템

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080602

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110531

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110701

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: 20110719

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110726

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140805

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees