(58)【調査した分野】(Int.Cl.,DB名)
前記ラベルの前記測定された物理特性は、該ラベルの全てよりも小さい指定された区域のものであることを特徴とする請求項1から請求項6のいずれか一つに記載の方法。
受信したラベル識別コードを、該受信したラベル識別コードに基づいて関連の品目識別子を取り出す問合せを実行することによって検証する段階を更に含むことを特徴とする請求項1から請求項9のいずれか一つに記載の方法。
受信した品目識別子を、該受信した品目識別子に基づいて関連のラベル識別コードを取り出す問合せを実行することによって検証する段階を更に含むことを特徴とする請求項1から請求項10のいずれか一つに記載の方法。
前記ラベルの前記測定された物理特性は、該ラベルの全てよりも小さい指定された区域のものであることを特徴とする請求項12から請求項17のいずれか一つに記載の方法。
受信したラベル識別コードを、該受信したラベル識別コードに基づいて関連の品目識別子を取り出す問合せを実行することによって検証する段階を更に含むことを特徴とする請求項12から請求項20のいずれか一つに記載の方法。
受信した品目識別子を、該受信した品目識別子に基づいて関連のラベル識別コードを取り出す問合せを実行することによって検証する段階を更に含むことを特徴とする請求項12から請求項21のいずれか一つに記載の方法。
【発明を実施するための形態】
【0007】
システム処理の概要
ラベルは、例えばラベル全体又はラベルの特定の区域の高解像度走査によりラベルの識別子を発生させるために使用される。この走査は、ラベル識別コードを作成するのに使用される。一例として、識別コードは、一部の材料内で本質的にランダムであるラベルの繊維構造に基づく場合がある。ラベル識別コードは、次に、識別コードを担持する品目にラベルをセキュアに関連付けるために製品識別コードにリンクされる又は組み合わされる。本明細書に使用するコード及び識別子は、数字、アルファベット、又はグラフィック文字又は要素、又は数字、アルファベット、又はグラフィック文字又は要素のあらゆる組合せとすることができる。
【0008】
本明細書に説明するシステム及び方法は、ソフトウエア又はハードウエア、又はそのあらゆる組合せを用いて実施することができる。本明細書に説明するシステム及び方法は、物理的又は論理的に互いから別にすることができる又は別でなくてもよい1又は2以上のコンピュータデバイスを使用して実施することができる。一例示的実施形態が
図1に示されている。ラベル測定モジュール(105)は、ラベル特性符号器モジュール(110)と通信してラベル測定データを送信することができる。生産コード発生器モジュール(115)は、生産コード発生器モジュール(115)及びラベル特性符号器モジュール(110)からの入力に基づいて品目識別子を発生させることができる品目識別子発生器モジュール(120)と通信することができる。生産コード発生器モジュール(115)及びラベル特性符号器モジュール(110)の出力は、関連付けられて電子データストアモジュール(125)に格納することができる。品目識別子発生器モジュール(120)からの発生された品目識別子は、識別子プリンタモジュール(130)によって品目の上に印刷することができる。
【0009】
物理特性測定
商品のような品目上のラベルの物理特性又は特徴は測定することができる。非制限的な例として、測定された物理特性は、ラベルの繊維の特性とすることができるであろう。更に別の非制限的な例として、ラベルは、紙材料から単独で又は他の材料と組み合わせて製作することができるスタンプとすることができると考えられる。一部の実施形態では、ラベルは、スタンプで支持体上に押印される印とすることができるスタンプである場合がある。一部の実施形態では、ラベルは、品目のパッケージに直接に堆積されるインク又は材料とすることができる。本明細書に使用するラベルは、オリジナルパッケージング又はオリジナルパッケージングに取り付けられる材料を含むパッケージングの態様、属性、又は区域を識別するために指定された品目パッケージングのあらゆる任意の特徴とすることができると考えられる。
【0010】
ラベルの特徴の物理特性は、測定可能なあらゆる特性を含むことができる。特に、特性は、予め決められた巨視的な特徴、並びにランダムで再生不能な微視的特性を有する特徴とすることができ、微視的及び巨視的な特徴は、予め決められた画像化技術を使用して画像化することができる。非制限的な例として、測定することができる特徴の一部は、平均繊維長、繊維配向、要素間のコントラスト、繊維の2次元位置(例えば、10個の最も可視の繊維のX/Y位置、又はある一定の視認性の繊維の密度など)のいずれかとすることができる。一部の繊維に異なる色を付けることができ、検出は、色付け(一部の実施形態では、UV光の下でのみ見ることができる特徴を含む)に頼る場合がある。測定される特徴はまた、ラベルにインクを添加するプリンタの特徴的な特徴(「フィンガプリント」)とすることができる。測定される特性は、ラベルの金属又はプラスチック粒子又はチップからの反射とすることができる。一部の実施形態では、画像化されたラベルは、印刷デザインの顕在的及び潜在的偽造品耐性特徴を組み合わせたラベル上に印刷された層状セキュリティを使用することができる。
【0011】
特徴の予め決められた再生可能な巨視的特性は、顕在的な特徴のサイズ及び形状を含むことができる。顕在的特徴の形状は、コード、記号、グラフィック、又は英数字文字を含むことができ、顕在的特徴のサイズは、肉眼に識別することができる形状にレンダリングされ、又は顕在的特徴のサイズは、拡大の下でのみ識別することができる形状にレンダリングされる。顕在的特徴のランダムで再生不能な微視的特性は、予め決められた解像度、粗性、表面の粗さ、又は予め決められた画像化技術を使用してランダムで再生不能な微視的特性の再生可能な画像化を可能にする他の特性を含むことができる。再生不能な微視的特性は、拡大によって予め決められた画像化技術を使用して再生可能に画像化することができる。非制限的な例として、顕在的特徴は、異なる照明条件、可視又は紫外線蛍光印刷での固有の製造番号に基づくシリアル化、及びバーコードにおける様々な光学効果を含むことができる。
【0012】
非制限的な例として、紙の繊維構造又は繊維ラベルを潜在的特徴として使用することもでき、この特徴は、これに加えて、国別コード、製品の価格、パッケージ内の製品の数、暗号化された製作者、又は銘柄のようなラベルの他の可視又は顕在的情報を更に含む。ラベル特徴は、ラベルの物理構造の固有の不規則性、透かし、又はラベル上又はラベル内のインクから得ることができる。例えば、ラベル上又はラベル内にランダムに又は疑似ランダムに色を加えることを可能にするラベル印刷技術を使用することができる。
【0013】
潜在的特徴は、カスタマイズされたレーザ読取デバイスによってラベルに問い合わせることによってのみ見ることができるレーザ可読画像、ホログラムに微細に位置決めされたホクセル形状、マイクロテキスト(例えば、0.1及び0.2mmの間の高さで肉眼には見えない)、コントラスト又は回折テキストの文字、250mmバーコードのようなマイクロデータマトリクス、及びマイクロ画像(例えば、電子ビームを通じてレンダリングされる150ミクロン素子)を含むことができる。追加又は代替の潜在的セキュリティ特徴は、例えば、紙ラベル実施形態でパルプを混ぜることができるセキュリティタグとすることができる。
【0014】
ラベルの詳細な画像化は、異なる倍率(例えば、20Xから1000X)を達成することができるようにレンズのシステム(対象及び接眼レンズ)を有するマイクロスコープを使用して実行することができる。非制限的な例として、表面及び微細構造分析は、高解像度写真術、走査電子顕微鏡、原子間力顕微鏡、送信電子顕微鏡、走査プローブ顕微鏡、光学顕微鏡分析、オーガー電子分光計、ナノ材料分析、X線回折、低音電子顕微鏡、及び垂直走査、位相シフト干渉分光法によって実行することができる。任意に高解像度及び倍率が可能な他のシステム及び方法をラベルの特徴の高度詳細微細構造画像化に利用することができる。
【0015】
特徴読取装置は、発生された特徴の特性を読み取り、測定し、画像化し、又は他に決定するために特徴を発生させるのに利用された技術に従って必要な又は望ましいあらゆる構成要素又は態様を含むことができ、例えば、特性を測定又は決定するのに適するあらゆるセンサを含むことができる。この特徴読取装置は、特徴の測定又は画像化を容易にするための他の態様を含むか又は他の態様と協働することができ、一部の実施形態では、制御された光源を組み込むことができるホルダ、特別なレンズ及び予め決められた公差内の予め決められた位置にラベルが位置決めされるようにするロケータを含むことができる。特徴読取装置は、画像化システムを構成することができるカメラのような画像化センサを更に含むか又はこれと協働することができる。本発明のシステムは、特徴の測定又は画像を発生及び取得するために特徴読取装置又は画像化システムに接続されるか又は他にそれと協働する処理装置を含むことができる。
【0016】
カメラ又は他の特徴画像化又は検出装置から収集された画像を受信した処理装置には、必要に応じて画像を処理するように構成されたソフトウエアを設けることができ、又は他に画像を処理するように処理装置が構成される。例えば、処理装置は、画像を要素に分解し、要素を分類し、予め決められたアルゴリズムに従って要素を分析し、及びラベルの特徴を特徴付けるように構成することができる。
【0017】
トポロジカルマッピングのような画像又は他の特徴データは、ラベルの物理特性を表している。ラベルから収集されたこの物理特性データは、データストレージデバイスに電子的に格納することができる。物理特性データは、画像ファイル、データベースエントリ、又は生データのようなあらゆる実際的なファイルフォーマットで格納することができる。
【0018】
物理特性符号化
物理特性データを更に処理してラベル識別コードを作成することができる。非制限的な例として、ハッシュ関数を使用してラベル識別コードを作成することができる。一部の実施形態では、ラベル識別コードは、複数回繰り返すことができ、実質的に固有又は全地球的に固有である。この出願に使用する例示的ハッシュ関数は、あらゆる長さの入力(物理特性データ)も取り、出力として固定長ストリング(ラベル識別コード)を発生させる。ラベル識別コードは、特定のラベルの物理特性データの一部又は全てに基づいて発生させることができる。
【0019】
他の実施形態では、比較的小さい数の利用可能な識別子がある場合に十分とすることができる。これらの実施形態では、ラベル識別子へのアクセスにより、ラベル識別子に関連付けられた製品識別子を取り出すことができる。特に、ラベル走査デバイスが低解像度である場合にこの実施形態を利用することができる。
【0020】
一部の実施形態では、ラベル識別コードは署名モジュールを使用してデジタル署名として発生させることができる。署名モジュールは、物理特性データ、許可キー、セキュリティトークン、又はこれらのあらゆる組合せを受信することができる。一部の実施形態では、署名モジュールは、1又は2以上の固有の機械、製品、又は製品品目特性、又はこれらの特性のあらゆる組合せを単独で又は組み合わせで受信することができる。署名モジュールは、これらの入力のいずれか又は全てに基づいてデジタル署名を発生させることができる。
【0021】
デジタル署名を発生させるために、一部の実施形態では、署名モジュールは最初に物理特性データのダイジェスト又は他の表現を発生させることができる。一部の実施形態では、デジタル署名アルゴリズムを実行する署名モジュールによって提供されるデジタル署名アルゴリズムに従って構成データの暗号ハッシュ値を計算することによってダイジェストを発生させることができる。非制限的な例として、MD5(メッセージダイジェストアルゴリズム5)、SHA−1(セキュアハッシュアルゴリズム1)、SHA−2(セキュアハッシュアルゴリズム2)、SHA−3(セキュアハッシュアルゴリズム3)又はKeccakハッシュ又はメッセージダイジェスト関数のようなあらゆるメッセージダイジェスト又はハッシュ関数に従っても計算することができる。任意的に、ダイジェストは、署名モジュールによって得られた秘密鍵を使用して暗号化し、デジタル署名を発生させることができる。
【0022】
生産コード発生
生産された品目に対して生産コードを発生させることができる。生産コードは、次に、品目に関連付けることができる。品目に対する生産コードは、生産される品目に関連付けられたあらゆる任意データにも基づく場合がある。非制限的な例として、生産コードは、品目のための生産環境又は処理に関する構成データ、又は品目のための生産環境及び処理の組合せに基づく場合がある。供給される生産構成データは、限定されないが、生産の機械、生産ライン、工場、生産される製品、及び製品量を含むパラメータのいずれか又は全てを示すことができる。構成データは、識別子でマーク付けされることになる品目(例えば、製品)及びこれらの品目を生産することができる方法を示すことができる。構成データは、開始及び終了製品識別子のような製品の範囲を示すことができる。一部の実施形態では、範囲は、製品識別子のセットとすることができる。識別子は、マーク付けされることになる製品の生産の日付又は時間、又は日付及び時間の組合せを含むことができ、又はこれに基づく場合がある。
【0023】
構成データは、システムのオペレータによって提供することができ、又は動的又は自動的に発生させることができる。構成データは、実行可能命令又は解釈可能アルゴリズムを更に含むことができる。構成データは、オペレータ入力、又は生産する方法及び何を生産するかを示すための製造実行システム又は他の集中化システムの出力に基づく場合がある。
【0024】
一部の実施形態では、生産コードは検証することができる。1つのそのような実施形態は、電子データストアから構成データを電子的に受信する段階及び生産稼働に対する構成データを電子的に格納する段階を含み、生産稼働に対する構成データは、製品の生産に使用されるパラメータを指定する。構成データは、許可モジュールに送信される。許可モジュールでは、本発明のシステムは、生産稼働が許可されたか否かを決定するように構成される。生産稼働が許可された場合に、本発明のシステムは、複数の許可された品目識別子の鍵及び表現を含む検証された構成データを発生させる。一部の更に別の実施形態では、検証された構成データは、署名モジュールに送信することができ、署名モジュールでは、検証された構成データが署名される。
【0025】
品目識別子発生
生産コードは、品目識別子を発生させる方法と共に又は方法への入力として使用することができる。本発明の処理装置は、格納された測定物理特性又は特徴を例えばセキュア品目識別子を発生させることを含むあらゆる望ましい目的のために他の情報に組み合わせるように構成することができる。これに代えて、生産コードは、次に、品目識別子として製品に使用することができる。
【0026】
生産コード及び格納された測定物理特性又は特徴は、互いに関連付けられるように仮想的に対形成することができる。この対形成は記録されるか又は他に検索可能にされる。ラベル識別コード(格納された測定物理特性又は特徴によって表現)と生産コードの対形成は、あらゆる時間に実行することができる。例えば、対形成は、ラベル識別コードの発生前、同時、又は製品に関連の生産コードが発生された後に実行することができる。
【0027】
一実施形態では、対形成シーケンスは、以下のように実行することができると考えられ、すなわち、品目にラベルを添付し、ラベルの物理特性を測定し、測定された物理特性を符号化してラベル識別コードを発生し、品目に対する生産コードを発生し、生産コード及びラベル識別コードに基づく品目識別子を発生し、品目識別子とラベル識別コードを対形成し、及び品目に品目識別子を印刷する段階である。この対形成方法は、品目識別子がラベル識別コード及び構成データの集約又は組合せであるのでデータ数を小さくすることができる。
【0028】
生産コード及びラベル識別コードに基づいて品目識別子を発生させるために、ラベル識別コードを生産コードに適用される暗号化アルゴリズムの鍵として加えることができる。非制限的な例として、ラベル識別コードは、製品に添付することができる暗号化生産コードを取得するために生産コードに適用される対称鍵アルゴリズムの鍵として使用することができる。代替の実施形態では、ラベル識別コードによるXOR演算によって生産コードを加えて、製品に添付するための新しい品目識別コードを取得することができる。
【0029】
別の実施形態では、この対形成シーケンスは、以下のように実行することができると考えられ、すなわち、ラベルを品目上に添付し、品目に対する生産コードを発生し、生産コードに基づく品目識別子を発生し、品目識別子を品目の上に印刷し、ラベルの物理特性を測定し、測定された物理特性を符号化してラベル識別コードを発生し、品目上に印刷された品目識別子を走査し、及びラベル識別コードと品目識別子を対形成する段階である。
【0030】
他の実施形態では、ラベル発行エンティティは、ラベルの印刷時にラベルを走査し、対応するラベル識別コードを発生し、及びラベルにラベル識別コードを印刷することができる。そのような実施形態では、ラベル特徴の走査をランダムコード発生として使用することができる。これらの実施形態では、特に処理後に繊維構造を決定する必要はないと考えられる。
【0031】
これに代えて、ラベル発行エンティティは、異なるか又は追加のコードを発生させて、読取を容易にするためにこのコードをラベルに印刷することができる。この代替コードは、連続コード又は暗号化コードとすることができる。認証が対形成によって作られる。
【0032】
品目識別の添付
識別コードは、品目上に記録(例えば、印刷)することができる。上述のように、識別コードは、非制限的な例として、ラベル識別コード、ラベル識別コード及び生産コードから得られる組合せ、又はコードの対形成の結果とすることができる。
【0033】
品目認証
本明細書に説明するように、本発明のシステムは、ラベル識別コードと品目識別子を電子的に対形成するように構成することができる。一部の実施形態では、製品の生産を認証する方法を提供し、本方法は、品目識別コードと品目識別子を対形成する段階、品目識別コード又は品目識別子のいずれかを受信する段階、認証モジュールで入力ラベル識別コードに基づいて関連の品目識別子を取り出すための問合せを実行することによってラベル識別コードを検証する段階、又は入力品目識別子に基づいて関連のラベル識別コードを取り出すための問合せを実行することによって品目識別子を検証する段階を含む。この入力ラベル識別コード又は品目識別子は、独立にセキュアにすることができ、かつ問合せに関連して検証することができる。
【0034】
例示的実施形態
品目に対するセキュア品目識別子を発生させる方法に対する一例示的実施形態により、
図2に示すように、本発明の方法は、品目にラベルを添付する段階(205)、ラベルの物理特性を測定してラベル識別コードを作成する段階(210)、品目に対する生産コードを発生させる(215)及び生産コード及びラベル識別コードに基づく品目識別子を発生させる段階(220)、物理特性と生産コードを電子的に対形成する段階(225)、及び品目識別子を品目の上に印刷する段階(230)を含む。
【0035】
品目のセキュア品目識別子を発生させる方法に対する一例示的実施形態により、
図3に示すように、本発明の方法は、品目にラベルを添付する段階(305)、品目に対する生産コードを発生させる段階(310)、生産コードに基づく品目識別子を発生させて品目識別子を品目の上に印刷する段階(315)、ラベルの物理特性を測定する段階(320)、測定された物理特性を符号化してラベル識別コードを作成する段階(325)、品目上に印刷された品目識別子を走査する段階(330)、及びラベル識別コードと品目識別子を電子的に対形成する段階(335)を含む。
【0036】
生産施設で生産された製品をセキュアに識別するためのコードを発生させるための一例示的実施形態により、本発明の方法は、電子データストアから構成データを電子的に受信する段階、製品の生産に使用されるパラメータを指定する生産稼働に対する構成データを電子的に格納する段階、構成データを許可モジュールに送信する段階、許可モジュールで生産稼働が許可されたか否かを決定する段階、鍵、複数の許可された製品識別子の表現、及びセキュリティトークンを含む検証された構成データを発生させる段階、検証された構成データを署名モジュールに送信する段階、検証された構成データに署名モジュールで署名する段階、識別モジュールで製品識別子の要求を受信してこの要求に応答して製品識別子を発生させる段階、識別モジュールから署名モジュールに製品識別子を送信する段階、署名モジュールで製品識別子にデジタル署名する段階、及びデジタル署名された製品識別子をプリンタモジュールに送信する段階、デジタル署名された製品識別子をラベルとして品目上に添付する段階、ラベルの物理特性を測定してラベル識別コードを作成する段階、品目に対する生産コードを発生させる段階、生産コード及びラベル識別コードに基づく品目識別子を発生させる段階、及び測定された物理特性又は測定された物理特性に基づく情報を生産コード又は生産コードに基づく情報と電子的に対形成する段階を含む。
【0037】
代替又は追加の実施形態では、ラベル識別コードは、測定された物理特性を符号化することによって作成される。代替又は追加の実施形態では、ラベルの測定された物理特性は、ラベルのランダム物理構造から導出される。代替又は追加の実施形態では、ランダム物理構造は、ラベルの繊維構造である。代替又は追加の実施形態では、ラベルの測定された物理特性は、ラベルの色から導出される。代替又は追加の実施形態では、ラベルの測定された物理特性は、肉眼には見えない潜在的特徴である。代替又は追加の実施形態では、ラベルの測定された物理特性は、ラベルの全体ではない指定された区域のものである。代替又は追加の実施形態では、ラベルの測定された物理特性は、ラベルの実質的に区域全体である。代替又は追加の実施形態では、生産コードは、品目の生産環境に関する構成データに基づいて発生される。代替又は追加の実施形態では、本発明の方法は、受信したラベル識別コードに基づいて関連の品目識別子を取り出すための問合せを実行することによって受信したラベル識別コードを検証する段階を含む。代替又は追加の実施形態では、本発明の方法は、受信した品目識別子に基づいて関連のラベル識別コードを取り出すための問合せを実行することによって受信した品目識別子を検証する段階を含む。
【0038】
更に別の応用
監査目的では、対形成は、ラベル発行エンティティと共有することができる。これに加えて、本明細書に説明するシステム及び方法は、編成、測距、エラー訂正、暗号解読機能、及びモジュールと組み合わせて使用することができる。
【0039】
セキュア生産システムとの統合
セキュア識別コードを発生させるための上述のシステム及び方法は、生産と共に使用するセキュア識別子を発生させるための統合システムと組み合わせて使用することができる。
【0040】
本明細書に使用するエンティティは、i)製品の消費者のような個人、ii)小売業のような共通の関心を有する群のような群、iii)コンピュータデバイス、iv)ネットワーキングシステムのコンピュータノード、v)文書を格納するメモリストレージユニットのようなストレージ場所、vi)企業内のビジネス機能などを表すネットワークの仮想ポイントを指す場合がある。これに加えて、エンティティは、ワークフローの態様を担う個人又は自動化処理を提供するコンピュータデバイスによって実行することができる許可などのためのワークフローのポイントを表すことができる。エンティティという語は、これらの例のいずれか1つに制限されるものではなく、本明細書に説明する概念に矛盾しない他の状況にも拡大することができる。
【0041】
制御モジュール
図4を参照すると、制御モジュール(「オーケストレータ」としても公知)(410)は、他のモジュール又は外部ソースのいずれからも入力を受信することができ、事前に構成されたプログラム及び/又はこのプログラムへのオペレータ入力に基づいてシステム内の他のモジュールに命令を提供することができる。制御モジュールは、システムステータスのダッシュボードサマリを発生させることができる。
【0042】
制御モジュールへの入力は、いずれか又は全ての構成データ(405)を含むことができる。供給される構成データは、限定されないが、生産のための機械、生産ライン、工場、生産される製品、及び製品の量を含むパラメータのいずれか又は全てを示すことができる。この構成データは、セキュア識別子をマーク付けされることになる品目(例えば、製品)及びこれらの品目が生産される方法を示すことができる。この構成データは、開始及び終了製品識別子のような製品の範囲を示すことができる。一部の実施形態では、この範囲は、製品識別子のセットとすることができる。この構成データは、システムのオペレータによって提供することができ、又は動的又は自動的に発生させることができる。この構成データは、実行可能な命令又は解釈可能アルゴリズムを更に含むことができる。この構成データは、オペレータ入力、又は製造実行システム又は生産する方法及び製品を示すための他の集中化システムの出力に基づく場合がある。
【0043】
制御モジュール(410)は、限定されないが、許可モジュール(430)、識別モジュール(440)、及び署名モジュール(445)を含むあらゆるモジュールに構成データを送信することができる。
【0044】
制御モジュールは、生産作動を実行するための許可モジュールからの許可を要求することができる。この処理は、要求(構成データの一部又は全てを含む)を許可モジュールに送信する段階及び署名された又は暗号化された構成データを受信する段階を伴う。一部の実施形態では、許可モジュールは、構成データに取り付けられたデジタル署名を含む構成データを制御モジュールに戻すことができる。許可モジュールは、受信したデータに基づいて制御モジュールからの要求を許可するか否かを決定する。これに加えて、構成データに含まれる許可モジュールによって戻された情報を使用して、提供された許可によって発生されたコードを抑制することができる。データが許可モジュールによって署名された場合に、本発明のシステムは、構成データの修正を回避することができる。非制限的な例として、別の銘柄の代わりに1つの銘柄を生産する要求の修正を制御、許可、又は拒否することができる。
【0045】
許可モジュールから受信した許可は、検証モジュールに送信することができ、それによって検証要求をこれらの許可に対して続けて処理することができる。検証モジュールに送信されたデータは、セキュア識別子、並びに構成データのいずれかを含むことができる。一部の例では、許可モジュールに送信された構成データは、製品範囲情報を含むことができる。
【0046】
署名された又は検証された構成データは、生産中に効力を持ち続ける許可モジュールによって検証及び検証された制御モジュールの入力パラメータのセットの一部又は全てとすることができる。セキュリティトークンは、許可モジュールからの出力及び/又は制御モジュールの入力パラメータとすることができる。セキュリティトークンは、製品識別子が検証された構成データ及び従って許可された生産に対応する証明とすることができる。セキュリティトークンは、単一製品識別子に対する署名、又は単一製品識別子の署名、又は製品識別子自体、又は製品又は製品識別子の範囲を発生させるための署名モジュールへの入力とすることができる。セキュリティトークンは、固有コード、ランダムコード、又は疑似ランダムコードとすることができる。セキュリティトークンは、あらゆる数字、又はアルファベット、又は数字とアルファベットの組合せとすることができる。
【0047】
許可モジュール
許可モジュールは、許可に対する要求を検証して識別システム内でアクションを取るように作動する。一部の実施形態では、それは、ライセンスマネージャとして作動することができる。
【0048】
許可モジュールは、構成データを受信することができる。許可モジュールは、範囲及び/又はアルゴリズム情報を受信することができる。一部の実施形態では、許可モジュールは、制御モジュールから入力構成データを受信することができる。出力範囲は、任意的に、許可される製品の範囲、機械、工場、範囲、又は製品量を識別することができる。出力は、範囲情報を含む及び/又はセキュリティトークンを発生させるのに使用される実行可能又は解釈可能命令のセットを含むアルゴリズムを含むことができる。許可モジュールは、工場レベルで集中化させることができ、又は各生産ラインで分散させることができ、又はこの両方の組合せとすることができる。
【0049】
許可モジュールは、1又は2以上の暗号化鍵を格納する及び/又は発生させることができる。一部の実施形態では、許可モジュールによって格納される鍵は、公開鍵インフラストラクチャー(PKI)による秘密公開暗号化鍵とすることができる。一部の実施形態では、許可モジュールは、秘密鍵の唯一のコピーを格納する。他の実施形態では、許可モジュールは、鍵をインスタンス間で複製するいくつかのインスタンスにわたって分配される。PKIの場合に、許可モジュールは、署名された構成データを出力することができる。一部の実施形態では、許可モジュールは、構成データを暗号化する及び/又は構成データ出力に署名することができる。
【0050】
一部の実施形態では、本発明のシステムは、許可モジュールだけがセキュリティトークンの発生に必要な制御モジュールのセキュア入力パラメータを読み取ることができるように構成される。一部の実施形態では、この鍵は、別のソースから許可モジュールに提供される。
【0051】
許可モジュールは、ハードウエアセキュリティモジュール(HSM)、又は認証を格納して暗号化処理を提供するためのデジタル鍵を保護して管理する別のタイプの物理的コンピュータデバイスとして実施することができる。許可モジュール機能は、暗号化鍵又はPKI秘密鍵を備えた組み込み基板を有するコンピュータによって実行することができる。このモジュールには、データにアクセスする試みが、それを読取不能又はアクセス不能にレンダリングするような機能を備えることができる。
【0052】
許可モジュールへの入力が範囲及びアルゴリズムである場合に、許可モジュールは、許可の範囲におけるアイデンティティ及び識別子のセキュリティトークンを出力することができる。例えば、出力アイデンティティは、範囲における各品目に対するセキュリティトークンを備えた0から1,000の範囲とすることができる。
【0053】
許可モジュールは、制御モジュールに使用されるあらゆるパラメータからの鍵を発生させることができる。一部の実施形態では、許可モジュールは、単に1つの特定の許可モジュールがこの鍵を使用することができるように制御モジュールに使用されるあらゆるパラメータからの既存の鍵から鍵を発生又は取得することができる。この公開鍵技術を実施する機器及びソフトウエアは、非対称暗号システムを用いて実施することができる。
【0054】
許可モジュールの出力は、構成データのような情報、及び任意的に署名モジュールによって提供されるデジタル署名を備えた1又は2以上のセキュリティトークンとすることができる。これに代えて、許可モジュールの出力は、許可モジュールによって担持される鍵に暗号化された構成データとすることができる。許可モジュールの出力は、制御モジュールに提供することができる。
【0055】
一実施形態により、製品の生産を認証する方法は、製品の生産に使用されるパラメータを指定する生産稼働に対する構成データを電子的に格納する段階、生産稼働に対する構成データが許可されたか否かを決定する段階、生産稼働が許可された場合にセキュリティトークンを発生させてこのトークンを構成データに関連付ける段階、及びデジタル署名を発生させてこのデジタル署名を構成データに関連付けることによって構成データにデジタル署名する段階、生産機械でデジタル署名された構成データ及びデジタル署名を受信する段階、生産機械でデジタル署名された構成データに関連付けられたデジタル署名を検証する段階、デジタル署名された構成データに基づいてセキュア製品識別子のセットを計算する段階、デジタル署名された構成データに従って生産稼働において製品を生産する段階、及びデジタル署名された構成データに従って製品にセキュア製品識別子のセットを印刷する段階を含む。
【0056】
代替又は追加の実施形態では、構成データは、生産されることになる製品の範囲を表している。代替又は追加の実施形態では、構成データは、許可される製品の範囲、機械、工場、範囲、又は製品量を表している。代替又は追加の実施形態は、製品識別子を含む検証要求を受信する段階、及びライセンスマネージャを参照することによって生産稼働に対する構成データが許可されるか否かを決定する段階を含むことができる。代替又は追加の実施形態は、製品の範囲に対するセキュリティトークンを発生させる段階、及びセキュリティトークンを製品の範囲に関連付ける段階を含むことができる。
【0057】
署名モジュール
図4−6を参照すると、署名モジュールは、構成データ、許可鍵、セキュリティトークン、又はこれらのあらゆる組合せ、並びに識別モジュールによって発生された固有の製品識別子を受信することができる。一部の実施形態では、署名モジュールは、更に、1又は2以上の固有機械及び/又は製品特徴、及び/又は製品品目特性を受信することができる。署名モジュールは、構成データとして本明細書で一般的に引用される構成データの入力のいずれか又は全てに基づいてデジタル署名を発生させることができる。
【0058】
デジタル署名を発生させるために、一部の実施形態では、署名モジュールは、構成データのダイジェスト又は他の表現を最初に発生させることができる。一部の実施形態では、デジタル署名アルゴリズムを実行する署名モジュールによって提供されるデジタル署名アルゴリズムに従って構成データの暗号化ハッシュ値を計算することにより、このダイジェストを発生させることができる。非制限的な例として、このハッシュは、MD5、SHA−1、SHA−2、SHA−3/Keccak関数に従って計算することができる。署名モジュールによって得られた秘密鍵を使用してダイジェストを暗号化し、デジタル署名を発生させることができる。
【0059】
一部の実施形態では、デジタル署名は、公開鍵インフラストラクチャー(PKI)技術を使用して構成データの認証を設定することができる。PKIシステムは、証明書及び鍵を使用してエンティティ、個人、又は組織を識別する。認証モジュールは、秘密鍵を使用して構成データに署名し、構成データを認証モジュールによって使用された公開鍵を含む証明書に関連付ける。
【0060】
受信モジュールは、公開鍵を使用してデジタル署名及びそれによって署名された構成データの認証を検証する。支援技術を利用して署名の時間及び署名鍵のステータスのような他の非拒否特徴を設定することができる。公開鍵は、直接に又はオンラインリポジトリ又はディレクトリにおける公開によって受信エンティティに提供することができる。
【0061】
識別モジュール
識別モジュールは、構成データを受信してマーク付けされることになる品目の識別子を発生させることができる。識別モジュールは、固有の識別子と組み合わされることになる署名モジュールによって発生されたデジタル署名を受信して複合固有識別子を発生させることができる。
【0062】
識別子は、マーク付けされることになる製品の生産の日付及び/又は時間、及び署名モジュールから受信したデジタル署名を含むか又はこれらに基づく場合がある。一部の実施形態では、発生されたセキュア識別子は、固有又は実質的に固有とすることができる。一部の実施形態では、セキュア識別子は、セキュリティトークンとすることができる。
【0063】
範囲の場合に、識別モジュールは、発生された範囲内の範囲識別子及び識別子のセットを発生させることができる。
【0064】
作成された識別子は、製品への直接印刷のための印刷制御モジュールに出力することができ、又は製品パッケージに印刷される別のコードを発生させるための更に別の処理に入力することができる。
【0065】
検証モジュール
図6を参照すると、検証モジュール(450)は、上述の拡張された検証方法を使用するように構成することができる。検証モジュールは、検証された構成データを受信し、この検証された構成データに基づいて、報告された工場、機械、製品、又は生産量に対する許可の要求(605)を確認するように構成することができる。検証モジュールへの入力は、検証された構成データのいずれか又は全て、署名モジュールからの出力、識別子、セキュリティトークン、及び/又は範囲情報を含むことができる。検証モジュールは、製品識別子を検証/認証するためにこれらのパラメータを有する許可モジュールのための情報を発生させることができる。
【0066】
検証モジュールは、1又は2以上の識別子又は識別子の範囲(615)及び1又は2以上のセキュリティトークンを含む署名データ(610)を含む要求の暗号解読(620)を発生させることができる。
【0067】
セキュリティトークンが検証モジュールに入力された場合に、検証モジュールは、許可、構成データ、及び/又は範囲に関する情報を戻すことができる。単一セキュリティトークンが製品の範囲に使用された場合に、セキュリティトークンを検証モジュールに提供し、個々の製品ではなく製品の範囲に関連付けられたパラメータを検証することができる。この実施形態は、輸出規制の関連で特に有用とすることができる。
【0068】
システム処理
識別コード初期化
許可及びパラメータを検証するために識別コード初期化を実行することができる。一部の実施形態では、パフォーマンスの理由で、生産の最初に一度これを実行することができる。
図4を参照すると、制御モジュール(410)は、追加パラメータに関してデータストア(415)にアクセス可能であり、又は追加パラメータをモジュールに提供することができる。パラメータ及び構成データは、許可モジュール(430)によって一度署名された状態で、検証された構成データ(435)を形成する。制御モジュールは、許可モジュール(430)に対する要求に応答して上述したように検証された構成データを受信する。
【0069】
許可は、製品を生産する又は製品にあるIDをマーク付けする又はこの両方の許可とすることができる。構成データ及び追加パラメータは、許可モジュールに送信され、許可モジュールによって使用されてセキュリティトークンを発生させる。許可モジュールは、構成データ及び追加パラメータに署名することができ、署名された構成データを形成する。上述のように、構成データは、ある一定の生産稼働又は他の製品及び活動を指定することができる。許可モジュールは、鍵、許可された識別子、及びセキュリティトークンを含む許可ブロックを発生させることができる。一部の実施形態では、許可モジュールによって鍵を発生させることができ、又は許可モジュールに提供することができる。許可モジュールは、許可ブロックを制御モジュールに送信することができる。制御モジュールは、検証された構成データ、及び識別子のリスト、識別子の範囲、及び/又は1又は2以上のセキュリティトークンのような他の情報を署名モジュール(445)に送信することができる。署名モジュールは、データに署名し、署名したデータ及び署名を制御モジュールに送信することができる。識別モジュール(440)は、制御モジュールから製品に対する識別子及び/又は識別子の範囲を含む初期化ブロックを受信することができる。
【0070】
本発明の実施形態は、生産施設をセキュアに制御するための処理を開始する方法を含むことができ、本方法は、電子データストアから電子的に構成データを受信する段階、製品の生産に使用されるパラメータを指定する生産稼働に対する構成データを電子的に格納する段階、構成データを許可モジュールに送信する段階、許可モジュールで生産稼働が許可されたか否かを決定する段階、鍵、複数の許可された製品識別子の表現、及びセキュリティトークンを含む検証された構成データを発生させる段階、検証された構成データを署名モジュールに送信する段階、及び検証された構成データに署名モジュールで署名する段階を含む。
【0071】
代替又は追加の実施形態は、生産稼働に対する構成データが許可されたか否かを決定する段階、生産稼働が許可された場合にセキュリティトークンを発生させてトークンを構成データに関連付ける段階、及びデジタル署名を発生させてデジタル署名に構成データは関連付けられることにより、構成データにデジタル署名する段階を含むことができる。
【0072】
代替又は追加の実施形態は、生産機械でデジタル署名された構成データ及びデジタル署名を受信する段階、生産機械でデジタル署名された構成データに関連付けられたデジタル署名を検証する段階、及びデジタル署名された構成データに基づいてセキュア製品識別子のセットを計算する段階を含むことができる。
【0073】
代替又は追加の実施形態は、デジタル署名された構成データに従って生産稼働において製品を生産する段階、及びデジタル署名された構成データに従って製品にセキュア製品識別子のセットを印刷する段階を含むことができる。
【0074】
代替又は追加の実施形態は、生産稼働が許可されたか否かを決定する段階を含むことができ、ライセンス供与サーバからライセンス供与データを取り出す段階を更に含む。
【0075】
識別コード発生
図5を参照すると、コード発生処理は、生産工程中にコードを発生させる。識別コード発生処理は、その後に制御モジュール(410)に戻される識別子又は識別子の範囲に対する識別モジュール(440)への要求から開始することができる。識別子は、署名モジュール(445)に送信され、署名モジュールが識別子に署名し、署名した識別子を制御モジュールに戻す。署名モジュールは、セキュリティトークンを受信することができる。一部の実施形態では、署名モジュールは、外部命令によって制御する必要がなく、いずれかの識別コードが考慮されることになる場合に、コードは、単一セキュリティトークンにリンクさせることができる。署名モジュールは、許可モジュールによって制御することができる。制御モジュールは、出力データをプリンタモジュール(510)の印刷制御に送信することができる。印刷制御に送信される出力データは、送信の前に暗号化することができる。構成データは、次の検証要求の処理のために検証モジュール(450)に送信することができる。
【0076】
本発明の実施形態は、生産施設で生産された製品をセキュアに識別するコードを発生させる方法を含み、本方法は、電子データストアから電子的に構成データを受信する段階、製品の生産に使用されるパラメータを指定する生産稼働に対する構成データを電子的に格納する段階、構成データを許可モジュールに送信する段階、許可モジュールで生産稼働が許可されたか否かを決定する段階、鍵、複数の許可された製品識別子の表現、及びセキュリティトークンを含む検証された構成データを発生させる段階、検証された構成データを署名モジュールに送信する段階、検証された構成データに署名モジュールで署名する段階、識別モジュールで製品識別子に対する要求を受信してこの要求に応答して製品識別子を発生させる段階、識別モジュールからの製品識別子を署名モジュールに送信する段階、署名モジュールで製品識別子にデジタル署名する段階、及びデジタル署名された製品識別子をプリンタモジュールに送信する段階を含む。
【0077】
代替又は追加の実施形態は、電子データストアから電子的に構成データを受信する段階、製品の生産に使用されるパラメータを指定する生産稼働に対する構成データを電子的に格納する段階、構成データを許可モジュールに送信する段階、許可モジュールで生産稼働が許可されたか否かを決定する段階、鍵、複数の許可された製品識別子の表現、及びセキュリティトークンを含む検証された構成データを発生させる段階、検証された構成データを署名モジュールに送信する段階、検証された構成データに署名モジュールで署名する段階を含む。
【0078】
代替又は追加の実施形態では、要求は、識別子の範囲に対するものである。代替又は追加の実施形態は、生産稼働に対する構成データが許可されたか否かを決定する段階、生産稼働が許可された場合にセキュリティトークンを発生させてこのトークンに構成データが関連付けられる段階、及びデジタル署名を発生させてデジタル署名を構成データに関連付けることによって構成データにデジタル署名する段階を含むことができる。
【0079】
識別コードの検証
上述のように、検証モジュール(本明細書では複数の論理的又は物理的検証モジュールのシリアル又はパラレル関係として単数で考えられる)は、検証の要求を受信することができる。この要求は、1又は2以上の識別コードを含むことができる。検証モジュールは、受信した識別子コードを解読又は他に脱難読化することができる。解読された結果情報は、署名構成要素及び識別子を含むことができる。得られる識別子は、識別子に関連して以前に格納されたオリジナル構成データに対してリンクさせることができる。リンクされたデータは、範囲の他の識別子、セキュリティトークン、及びこの識別コードを担持する製品の生産に関して格納された他の情報を含むことができる。
【0080】
一部の実施形態は、コードの検証を要求する当事者に基づいて検証モジュールに提供される識別子を処理するための追加機能を含むことができる。異なる当事者に検証モジュールにアクセスする異なる手段を提供することができる。例えば、小売業又は他の形態の商人には、消費者とは異なるポータル又は通信チャネルを提供することができる。小売業者は、検証モジュールに対して自らを認証するように要求される場合もある。
【0081】
一部の実施形態では、消費者による検証が、検証されたとしてマーク付けされる識別子をもたらすように本発明のシステムを構成することができる。消費者によって望ましい検証のコードを格納するように本発明のシステムを更に構成することができる。以前に検証されたコードの検証に対するあらゆる次の要求も拒否する又は他に異なる方法で処理することができる。
【0082】
エクスポート機能
本発明の実施形態は、第三者へのコードエクスポートの関連に適用することができる。これらの実施形態は、この目的のための別のコードを発生させるように構成されたエクスポート機能を含むことができる。エクスポートされたコードは、1又は2以上の製品識別子及び/又はセキュリティトークンを収集し、かつこれらの識別子及び/又はトークンに署名することによって発生させることができる。識別子及び/又はトークンは、生産工程のあらゆるポイントで収集することができる。エクスポートコードの形態の署名された識別子及び/又はトークンは、署名された識別子及び/又はトークンを格納して識別子及び/又はトークンの有効性の検証を実行することができる第三者に提供することができる。
【0083】
システムアーキテクチャ
本発明の方法は、店舗用ハードウエア、店舗用仮想システム、又はホストプライベートインスタンスのいずれかとして構成された構成要素によって実行することができる。これらの実施形態及び方法の一部又は全ては、「ホストされた」又は「クラウド」にあると考えることができる。更に、本明細書に説明する方法の様々な態様は、他の機能に組み合わせるか又は統合することができる。本発明を実施するための例示的コンピュータ化システムが示されている。
【0084】
プロセッサ又はコンピュータシステムは、本明細書に説明する方法の一部又は全てを具体的に実行するように構成することができる。一部の実施形態では、本方法は、1又は2以上のコンピュータ又はプロセッサによって部分的に又は完全に自動化することができる。本発明は、ハードウエア、ファームウエア、ソフトウエア、又はその組合せのあらゆる組合せを使用して実施することができる。本発明(又はそのいずれかの部分又は機能)は、ハードウエア、ソフトウエア、ファームウエア、又はその組合せを使用して実施することができ、1又は2以上のコンピュータシステム又は他の処理システムを用いて実施することができる。一部の実施形態では、図示のシステム要素は、単一ハードウエアデバイスに組み合わせることができ、又は複数のハードウエアデバイスに分散させることができる。複数のハードウエアデバイスが使用される場合に、ハードウエアデバイスを互いに物理的に隣接させて又は離して位置付けることができる。説明及び図示する方法の実施形態は、例示のためであり、制限のためではないものとする。例えば、本方法の段階の一部又は全ては、異なる実施形態に組み合わせる、再構成する、又は省略することができる。
【0085】
一例示的実施形態では、本発明は、本明細書に説明する機能を実行することができる1又は2以上のコンピュータシステムに関する。例示的コンピュータデバイスは、限定されないが、Microsoft(登録商標)Windows(登録商標)のようないずれかのオペレーティングシステムを実行するパーソナルコンピュータ(PC)システムとすることができる。しかし、本発明は、これらのプラットフォームに制限されない。代わりに、本発明は、いずれかの適切なオペレーティングシステムを実行するあらゆる適切なコンピュータシステム上に実施することができる。限定されないが、コンピュータデバイス、通信デバイス、モバイル電話、電話デバイス、電話、携帯情報端末(PDA)、パーソナルコンピュータ(PC)、手持ち式PC、対話型テレビジョン(iTV)、デジタルビデオレコーダ(DVD)、クライアントワークステーション、シンクライアント、シッククライアント、プロキシサーバ、ネットワーク通信サーバ、リモートアクセスデバイス、クライアントコンピュータ、サーバコンピュータ、ルータ、ウェブサーバ、データ、メディア、オーディオ、ビデオ、電話、又はストリーミング技術サーバのような本発明の他の構成要素は、コンピュータデバイスを使用して実施することができる。例えば、限定されないが、対話型テレビジョン(iTV)、ビデオオンデマンドシステム(VOD)を使用して、及びデジタルビデオレコーダ(DVR)又は他のオンデマンドビューイングシステムを通じてオンデマンドでサービスを提供することができる。
【0086】
本発明のシステムは、1又は2以上のプロセッサを含むことができる。プロセッサは、限定されないが、通信バス、クロスオーババー、又はネットワークのような通信インフラストラクチャーに接続することができる。処理及びプロセッサは、同じ物理的位置に位置付ける必要はない。換言すると、処理は、例えば、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)接続を通じて1又は2以上の地理的に離れたプロセッサで実行することができる。コンピュータデバイスは、表示ユニットに表示するために通信インフラストラクチャーからグラフィック、テキスト、及び他のデータを転送することができるディスプレイインタフェースを含むことができる。
【0087】
本発明のコンピュータシステムは、限定されないが、主メモリ、ランダムアクセスメモリ(RAM)、及び2次メモリなどを含むことができる。この2次メモリは、例えば、ハードディスクドライブ又はコンパクトディスクドライブ(CD−ROM)のような着脱可能ストレージドライブを含むことができる。着脱可能ストレージドライブは、着脱可能ストレージユニットから読み取り、着脱可能ストレージユニットに書き込むことができる。理解されるように、着脱可能ストレージユニットは、コンピュータソフトウエア及びデータを格納しているコンピュータ使用可能ストレージ媒体を含むことができる。一部の実施形態では、機械アクセス可能媒体は、コンピュータによってアクセス可能なデータを格納するのに使用されるあらゆるストレージデバイスを指す場合がある。機械アクセス可能媒体の例は、例えば、限定されないが、磁気ハードディスク、フロッピーディスク、コンパクトディスク読取専用メモリ(CD−ROM)又はデジタル多機能ディスク(DVD)のような光学ディスク、磁気テープ、及びメモリチップなどを含むことができる。
【0088】
プロセッサはまた、データを格納するための1又は2以上のデータストレージデバイスを含むことができ、又はこれと通信するために作動的に結合することができる。そのようなデータストレージデバイスは、非制限的な例として、磁気ディスク(内部ハードディスク及び着脱可能ディスクを含む)、磁気光学ディスク、光学ディスク、読取専用メモリ、ランダムアクセスメモリ、及びフラッシュストレージを含むことができる。コンピュータプログラム命令及びデータを有形に具現化するのに適するストレージデバイスは、例えば、半導体メモリデバイス、及びフラッシュメモリデバイス、内部ハードディスク及び着脱可能ディスクのような磁気ディスク、磁気光学ディスク、及びCD−ROM及びDVD−ROMディスクを含む不揮発性メモリの全形態を含むことができる。プロセッサ及びメモリは、ASIC(特定用途向け集積回路)によって補足するか、又はASICに組み込むことができる。
【0089】
本発明の処理システムは、コンピュータ化データストレージシステムと通信することができる。データストレージシステムは、非関係又はMySQL(登録商標)又は他の関係データベースのような関係データストアを含むことができる。他の物理的及び論理的データベースタイプを使用することもできるであろう。データストアは、Microsoft SQLサーバ(登録商標)、Oracle(登録商標)、IBM DB2(登録商標)、SQLITE(登録商標)のようなデータベースサーバ、又は関係又はそれ以外のあらゆる他のデータベースソフトウエアとすることができる。データストアは、構文タグを識別する情報及び構文タグ上で演算するのに必要なあらゆる情報を格納することができる。一部の実施形態では、本発明の処理システムは、オブジェクト指向プログラミングを使用することができ、かつオブジェクトにデータを格納することができる。これらの実施形態では、本発明の処理システムは、オブジェクト−関係マッパー(ORM)を使用してデータオブジェクトを関係データベースに格納することができる。本明細書に説明するシステム及び方法は、あらゆる数の物理的データモデルを使用して実施することができる。一例示的実施形態では、関係データベース管理システム(EDBMS)を使用することができる。これらの実施形態では、RDBMSのテーブルは、座標を表す列を含むことができる。経済システムの場合に、会社、製品などを表すデータは、RDBMSのテーブルに格納することができる。テーブルは、テーブル間に事前に定義された関係を有することができる。テーブルはまた、座標に関連付けられた付属子を有することができる。
【0090】
代替の例示的実施形態では、2次メモリは、コンピュータプログラム又は他の命令をコンピュータシステムにロードすることを可能にするための他の類似のデバイスを含むことができる。そのようなデバイスは、例えば、着脱可能ストレージユニット及びインタフェースを含むことができる。そのようなデバイスの例は、プログラムカートリッジ及びカートリッジインタフェース(例えば、限定されないが、ビデオゲームデバイスに見られるものなど)、着脱可能メモリチップ(例えば、限定されないが、消去可能プログラマブル読取専用メモリ(EPROM)、又はプログラマブル読取専用メモリ(PROM)及び関連のソケット)、及びソフトウエア及びデータを着脱可能ストレージユニットからコンピュータシステムに転送することを可能にする他の着脱可能ストレージユニット及びインタフェースを含むことができる。
【0091】
コンピュータデバイスは、限定されないが、デジタイザのようなマウス又は他のポインティングデバイス、及びキーボード又は他のデータ入力デバイス(図示せず)のような入力デバイスを含むことができる。コンピュータデバイスは、限定されないが、ディスプレイ、及びディスプレイインタフェースのような出力デバイスを含むことができる。コンピュータは、限定されないが、通信インタフェース、ケーブル及び通信経路のような入力/出力(I/O)デバイスを含むことができる。これらのデバイスは、限定されないが、ネットワークインタフェースカード及びモデムを含むことができる。通信インタフェースは、ソフトウエア及びデータがコンピュータシステムと外部デバイスの間で転送されることを可能にすることができる。
【0092】
1又は2以上の実施形態では、本発明の実施形態は、コンピュータネットワークの環境又はネットワークを用いて実施される。ネットワークは、プライベートネットワーク、又はパブリックネットワーク(例えば、以下に説明するようなインターネット)、又はこれら両方の組合せを含むことができる。ネットワークは、ハードウエア、ソフトウエア、又は両方の組合せを含む。
【0093】
遠隔通信指向の観点からは、ネットワークは、通信施設によって相互接続されたハードウエアノードのセットとして説明することができ、1又は2以上の処理(ハードウエア、ソフトウエア、又はその組合せ)は、各々がそのようなノードで機能する。処理は、処理間通信経路を使用してこれらの間の通信経路を通じて互いに通信して情報を交換することができる。これらの経路では、適切な通信プロトコルが使用される。
【0094】
本発明の実施形態による例示的コンピュータ又は遠隔通信ネットワーク環境は、ハードウエア、ソフトウエア、又はハードウエアとソフトウエアの組合せを含むことができるノードを含むことができる。ノードは、通信ネットワーク上で相互接続することができる。各ノードは、ノードに組み込まれたプロセッサによって実行可能な1又は2以上の処理を含むことができる。単一処理を複数のプロセッサによって実行することができ、又は複数の処理を例えば単一プロセッサによって実行することができる。更に、ノードの各々は、ネットワークと外部世界の間にインタフェースポイントを提供することができ、サブネットワークの集合を組み込むことができる。
【0095】
例示的実施形態では、処理は、あらゆる通信プロトコルを通じて通信を支援する処理間通信経路を通じて互いに通信することができる。この経路は、順番に又は並行して、連続して又は間欠的に機能することができる。経路は、多くのコンピュータによって使用される標準的な並行命令セットに加えて通信ネットワークに関して本明細書に説明した通信規格、プロトコル、又は技術のいずれかを使用することができる。
【0096】
ノードは、処理機能を実行することができるあらゆるエンティティを含むことができる。これらの実施形態と共に使用することができるそのようなノードの例は、コンピュータ(パーソナルコンピュータ、ワークステーション、サーバ、又はメインフレームなど)、手持ち式無線デバイス及び有線デバイス(携帯情報端末(PDA)、処理機能を備えたモデム携帯電話、Blackberry(登録商標)デバイスを含む無線電子メールデバイスなど)、文書処理デバイス(スキャナ、プリンタ、ファクシミリ機械、又は多機能文書機械など)、又は複合エンティティ(ローカルエリアネットワーク又はワイドエリアネットワークなど)を含み、説明するようにプロセッサの集合がこれに接続される。例えば、本発明の関連では、ノード自体は、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、プライベートネットワーク(仮想プライベートネットワーク(VPN)など)、又はネットワークの集合とすることができる。
【0097】
ノード間の通信は、通信ネットワークによって可能にすることができる。ノードは、連続的又は間欠的のいずれかで通信ネットワークに接続することができる。一例として、本発明の関連では、通信ネットワークは、適切な帯域幅及び情報セキュリティを提供するデジタル通信インフラストラクチャーとすることができる。
【0098】
通信ネットワークは、あらゆるタイプの規格、プロトコル、又は技術を使用するあらゆる周波数での有線通信機能、無線通信機能、又は両方の組合せを含むことができる。更に、本発明の実施形態では、通信ネットワークは、プライベートネットワーク(例えば、VPN)又はパブリックネットワーク(例えば、インターネット)とすることができる。
【0099】
通信ネットワークによって使用される例示的無線プロトコル及び技術の非包括的リストは、「Bluetooth(登録商標)」、ジェネラルパケットラジオサービス(GPRS)、セルラーデジタルパケットデータ(CDPD)、モバイルソリューションプラットフォーム(MSP)、マルチメディアメッセージング(MMS)、無線アプリケーションプロトコル(WAP)、符号分割多元接続(CDMA)、ショートメッセージサービス(SMS)、無線マークアップ言語(WML)、手持ち式デバイスマークアップ言語(HDML)、無線のためのバイナリ実行時間環境(BREW)、ラジオアクセスネットワーク(RAN)、及びパケット交換コアネットワーク(PS−CN)を含むことができる。更に、様々な世代の無線技術が含まれる。通信ネットワークによって使用される1次有線プロトコル及び技術の例示的かつ非包括的リストは、非同期転送モード(ATM)、拡張インテリアゲートウェイ経路指定プロトコル(EIGRP)、フレームリレー(FR)、高レベルデータリンク制御(HDLC)、インターネット制御メッセージプロトコル(ICMP)、インテリアゲートウェイ経路指定プロトコル(IGRP)、ネットワーク間パケット交換(IPX)、ISDN、ポイント・ツー・ポイントプロトコル(PPP)、送信制御プロトコル/インターネットプロトコル(TCP/IP)、経路指定情報プロトコル(RIP)、及びユーザデータグラムプロトコル(UDP)を含む。当業者が理解するように、あらゆる他の公知の又は予想される無線又は有線プロトコル及び技術を使用することができる。
【0100】
本発明の実施形態は、本明細書の作動を実行するための装置を含むことができる。装置は、望ましい目的に対して具体的に構成することができ、又は装置は、デバイスに格納されたプログラムによって選択的に起動又は再構成される汎用デバイスを含むことができる。
【0101】
1又は2以上の実施形態では、本発明の実施形態は、機械実行可能命令を用いて実施される。この命令を使用して処理デバイス、例えば、命令を用いてプログラムされた汎用又は専用プロセッサに本発明の段階を実行させることができる。これに代えて、本発明の段階は、段階を実行するための有線論理部を収容する特定のハードウエア構成要素により、又はプログラムされたコンピュータ構成要素及びカスタムハードウエア構成要素のあらゆる組合せによって実行することができる。例えば、本発明は、上記に概説したようにコンピュータプログラム製品として提供することができる。この環境では、実施形態は、命令を格納している機械可読媒体を含むことができる。この命令を使用していずれかのプロセッサ又は複数のプロセッサ(又は他の電子デバイス)をプログラムし、本発明の例示的実施形態に従って処理又は方法を実行することができる。これに加えて、本発明をダウンロードしてコンピュータプログラム製品に格納することができる。従って、プログラムは、搬送波に埋め込まれたデータ信号又は通信リンク(例えば、モデム又はネットワーク接続)を通じた他の伝播媒体によって遠隔コンピュータ(例えば、サーバ)から要求側コンピュータ(例えば、クライアント)に転送することができ、最終的にこれらの信号は、次の実行のためにコンピュータシステムに格納することができる。
【0102】
本方法は、コンピュータ又はあらゆる命令実行システムによって又はこれに関して使用されるプログラムコードを提供するコンピュータ使用可能又はコンピュータ可読ストレージ媒体からアクセス可能なコンピュータプログラム製品を用いて実施することができる。コンピュータ使用可能又はコンピュータ可読ストレージ媒体は、コンピュータ又は命令実行システム、装置、又はデバイスによって又はこれに関して使用されるプログラムを収容又は格納することができるあらゆる装置とすることができる。
【0103】
対応するプログラムコードを格納又は実行するのに適するデータ処理システムは、メモリ要素のようなコンピュータ化データストレージデバイスに直接又は間接的に結合された少なくとも1つのプロセッサを含むことができる。入力/出力(I/O)デバイス(限定されないが、キーボード、ディスプレイ、ポインティングデバイスなどを含む)は、本発明のシステムに結合することができる。ネットワークアダプタを本発明のシステムに結合して、データ処理システムを介入プライベート又はパブリックネットワーク上で他のデータ処理システム又は遠隔プリンタ又はストレージデバイスに結合されるようにする。ユーザとの対話を提供するために、LCD(液晶ディスプレイ)のようなディスプレイデバイス、又はユーザに情報を表示するための別のタイプのモニタ、及びキーボード及びユーザがコンピュータに入力を提供することを可能にするマウス又はトラックボールのような入力デバイスの特徴は、コンピュータ上に実施することができる。
【0104】
コンピュータプログラムは、コンピュータ内で直接又は間接に使用することができる命令のセットとすることができる。本明細書に説明するシステム及び方法は、Flash(登録商標)、JAVA(登録商標)、C++、C、C#、Python、VisualBasic(登録商標)、JavaScript(登録商標)、PHP、XML、HTMLのようなプログラミング言語、又はコンパイル又は解釈言語を含むプログラミング言語の組合せを使用して実施することができ、独立型プログラムとして、又はモジュール、構成要素、サブルーチン、又はコンピュータ環境に使用するのに適する他のユニットとして含まれるあらゆる形態で配備することができる。ソフトウエアは、限定されないが、ファームウエア、駐在ソフトウエア、マイクロコードなどを含むことができる。SOAP/HTTPのようなプロトコルは、プログラミングモジュール間のインタフェースを実施する場合に使用することができる。本明細書に説明する構成要素及び機能は、限定されないが、MicrosoftWindows(登録商標)、Apple(登録商標)、Mac(登録商標)、iOS(登録商標)、Unix(登録商標)/X−Windows(登録商標)、Linux(登録商標)などを含むソフトウエア開発に適するあらゆるプログラミング言語を使用して仮想化又は非仮想化環境で実行されるあらゆるデスクトップオペレーティングシステム上に実施することができる。本発明のシステムは、ルビーオンレールズのようなウェブアプリケーションフレームワークを使用して実施することができると考えられる。
【0105】
命令のプログラムの実行に適するプロセッサは、限定されないが、汎用及び専用マイクロプロセッサ、及び単独プロセッサ又はあらゆる種類のコンピュータの複数のプロセッサ又はコアのうちの1つを含む。プロセッサは、本明細書に説明するデータストレージデバイスの読取専用メモリ、ランダムアクセスメモリ、これらの両方、又はあらゆる組合せのようなコンピュータ化データストレージデバイスから命令及びデータを受信及び格納することができる。プロセッサは、電子デバイスの作動及び性能を制御することができるあらゆる処理回路又は制御回路を含むことができる。
【0106】
本明細書に説明するシステム、モジュール、及び方法は、ソフトウエア又はハードウエア要素のあらゆる組合せを使用して実施することができる。本明細書に説明するシステム、モジュール、及び方法は、単独で又は互いに組み合わせて作動する1又は2以上の仮想機械を使用して実施することができる。物理的コンピュータ機械プラットフォームをハードウエアコンピュータプラットフォーム又はホストで実行される仮想化ソフトウエアの制御下で実行される仮想機械にカプセル封入するためにあらゆる適用可能な仮想化ソリューションを使用することができる。仮想機械は、仮想システムハードウエア及びゲストオペレーティングシステムソフトウエアの両方を有することができる。
【0107】
本明細書に説明するシステム及び方法は、データサーバのようなバックエンド構成要素を含み、又はアプリケーションサーバ又はインターネットサーバのようなミドルウェア構成要素を含み、又はグラフィカルユーザインタフェース又はインターネットブラウザを有するクライアントコンピュータのようなフロントエンド構成要素を含むコンピュータシステム又はこれらのあらゆる組合せを用いて実施することができる。本発明のシステムの構成要素は、通信ネットワークのようなデジタルデータ通信のあらゆる形態又は媒体によって接続することができる。通信ネットワークの例は、例えば、LAN、WAN、及びインターネットを形成するコンピュータ及びネットワークを含む。
【0108】
本発明の1又は2以上の実施形態は、手持ち式デバイス、マイクロプロセッサシステム、マイクロプロセッサベース又はプログラマブル消費者電子機器、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成によって実施することができる。本発明は、タスクがネットワーク上でリンクされた遠隔処理デバイスによって実行される分散コンピュータ環境でも実施することができる。
【0109】
「コンピュータプログラム媒体」及び「コンピュータ可読媒体」という語は、限定されないが、着脱可能ストレージドライブ、ハードディスクドライブにインストールされたハードディスクのような媒体を一般的に指すのに使用することができる。これらのコンピュータプログラム製品は、コンピュータシステムにソフトウエアを提供することができる。本発明は、そのようなコンピュータプログラム製品に関する場合がある。
【0110】
「一実施形態」、「実施形態」、「例示的実施形態」、「様々な実施形態」などへの参照は、説明する本発明の実施形態が特定の特徴、構造、又は特性を含むことができるが、全ての実施形態が必ずしも特定の特徴、構造、又は特性を含むものではないことを示す場合がある。更に、「一実施形態では」又は「例示的実施形態では」という句の反復使用は、必ずしも同じ実施形態を指すものではないが、同じ実施形態を指す場合もある。
【0111】
説明及び特許請求の範囲において、「結合された」及び「接続された」という語は、これらの派生語と共に使用することができる。これらの語は、互いに同意語として意図されるものではないことは理解されるものとする。むしろ、特定の実施形態では、「接続された」は、2又は3以上の要素が互いに物理的又は電気的に直接接触していることを示すのに使用される場合がある。「結合された」は、2又は3以上の要素が物理的又は電気的に直接接触していることを意味する場合がある。しかし、「結合された」はまた、2又は3以上の要素が互いに直接接触しているのではないが、依然として互いに協働又は相互作用していることを意味する場合がある。
【0112】
本明細書のアルゴリズムは、望ましい結果に至る行為又は作動の自己矛盾のないシーケンスであると一般的に考えることができる。これらは、物理量の物理的操作を含む。通常は、必ずではないが、これらの量は、格納、転送、結合、比較、及びそうでなければ操作することができる電気又は磁気信号の形態を取る。主として一般的使用の理由から、これらの信号は、ビット、値、要素、記号、文字、項目、又は数字などとして示すことが有利である場合があることが証明されている。しかし、これらのかつ類似の語の全ては、適切な物理量に関連付けられ、かつ単にこれらの量に適用される有利なラベルであることは理解されるものとする。
【0113】
他に具体的に明記されない限り、明細書を通した「処理する」、「演算する」、「計算する」、又は「決定する」のような語は、コンピュータシステムのレジスタ又はメモリ内の電気量のような物理的なものとして表されるデータをコンピュータシステムのメモリ、レジスタ又は他のそのような情報ストレージ、送信又はディスプレイデバイス内の物理量として同様に表される他のデータに操作又は変換するコンピュータ又はコンピュータシステム、又は類似の電子コンピュータデバイスのアクション又は処理を指すことを理解することができる。
【0114】
類似の方式で、「プロセッサ」という語は、レジスタ又はメモリからの電子データを処理してこの電子データをレジスタ又はメモリに格納することができる他の電子データに変換するあらゆるデバイス又はデバイスの一部を指す場合がある。「コンピュータプラットフォーム」は、1又は2以上のプロセッサを含むことができる。本明細書に使用する「ソフトウエア」処理は、例えば、タスク、スレッド、及びインテリジェントエージェントのような経時的に作業を実行するソフトウエア又はハードウエアエンティティを含むことができる。更に、各処理は、連続して又は並行して、連続的に又は間欠的に命令を実行するための複数の処理を指す場合がある。
【0115】
本発明の1又は2以上の実施形態を説明したが、その様々な変更、追加、置換、及び均等物は、本発明の範囲内に含まれる。
【0116】
実施形態の説明では、主張される主題の特定の実施形態を例示的に示して本明細書の一部を形成する添付の図面を参照している。他の実施形態を使用することができ、構造的変更のような変形又は変更を実行することができることは理解されるものとする。そのような実施形態、変形、又は変更は、必ずしも意図される主張する主題に対する本発明の範囲からの逸脱ではない。本明細書の段階をある一定の順序で提示したが、場合によっては説明するシステム及び方法の機能を変更することなく異なる時間に又は異なる順序である一定の入力が提供されるように順序付けを変更することができる。開示する手順は、異なる順序で実行することができる。これに加えて、本明細書の様々な演算を開示する順序で実行する必要はなく、演算の代替の順序付けを使用した他の実施形態を容易に実施することができる。再順序付けに加えて、演算はまた、同じ結果を有する副演算に分割することができると考えられる。