(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-14
(54)【発明の名称】送信器または受信器内の信号サンプルの自己同型変換
(51)【国際特許分類】
H04L 9/06 20060101AFI20240206BHJP
【FI】
H04L9/06 Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023548235
(86)(22)【出願日】2022-02-10
(85)【翻訳文提出日】2023-09-26
(86)【国際出願番号】 US2022015938
(87)【国際公開番号】W WO2022173919
(87)【国際公開日】2022-08-18
(32)【優先日】2021-02-10
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】519169742
【氏名又は名称】ランパート コミュニケーションズ,インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】ロビンソン,マシュー ブランドン
(72)【発明者】
【氏名】パルミサーノ,アンドリュー キース
(57)【要約】
方法は、プロセッサにおいてデータおよび複数の値を受信することを含む。データは、実数値データおよび/または複素数データを含むことができる。複数の値は、複数の乱数値または複数の擬似乱数値のうちの一つを含む。方法はまた、プロセッサを介して、複数の値に基づいて、自己同型を生成することと、プロセッサを介して、データを複数のデータブロックに区分化することと、も含む。自己同型は、線形変換または反線形変換のうちの少なくとも一つを含む。複数のデータブロックからの各データブロックは、事前に定義されたサイズを有することができる。方法はまた、プロセッサを介して、複数のデータブロックから各データブロックに自己同型を適用して、複数の変換されたデータブロックを生成することと、複数の変換されたデータブロックを表す信号の伝送を発生することと、も含む。
【選択図】
図2
【特許請求の範囲】
【請求項1】
方法であって、
プロセッサにおいてデータを受信することと、
前記プロセッサを介して、複数の乱数値または複数の擬似乱数値のうちの一つを含む複数の値を受信することと、
前記複数の値に基づいて、前記プロセッサを介して自己同型を生成することと、
前記プロセッサを介して、前記データを複数のデータブロックに区分化することと、
前記プロセッサを介して、前記自己同型を、複数のデータブロックから各データブロックに適用して、複数の変換されたデータブロックを生成することと、
前記複数の変換されたデータブロックを表す信号の伝送を発生することと、を含む、方法。
【請求項2】
前記複数のデータブロックからのいかなるデータブロックも、個々のビットからなってはいない、請求項1に記載の方法。
【請求項3】
前記複数の値が、前記複数の乱数値を含み、かつ前記複数の乱数値が、複素数値の対を含む、請求項1に記載の方法。
【請求項4】
前記自己同型が、次式として定義され、
【数1】
式中、(z
1,z
2)は、前記複素数値の対からの複素数値の対であり、かつ*は、複素共役を意味する、請求項3に記載の方法。
【請求項5】
前記複数の値が、前記複数の乱数値を含み、かつ前記複数の乱数値からの各乱数値が、式
【数2】
の乱数であり、式中、
である、請求項1に記載の方法。
【請求項6】
前記データが、実数値データを含む、請求項1に記載の方法。
【請求項7】
前記データが、複素数データを含む、請求項1に記載の方法。
【請求項8】
前記自己同型が、線形変換または反線形変換のうちの少なくとも一つを含む、請求項1に記載の方法。
【請求項9】
前記複数の値が、乱数発生器から受信される、請求項1に記載の方法。
【請求項10】
前記複数の値が、擬似乱数発生器から受信される、請求項1に記載の方法。
【請求項11】
システムであって、
プロセッサと、
命令を格納するメモリであって、前記プロセッサに、
数の乱数値または複数の擬似乱数値のうちの一つを含む複数の値を受信させ、
前記複数の値に基づいて自己同型を生成させ、
データセットを複数のデータブロックに分割させ、前記複数のデータブロックからの各データブロックが、事前に定義されたサイズを有し、
前記自己同型を、複数のデータブロックから各データブロックに適用して、複数の変換されたデータブロックを生成させ、かつ
前記複数の変換されたデータブロックを表す信号の伝送を発生させる命令を格納するメモリと、を備える、システム。
【請求項12】
前記自己同型がユニタリ行列からなる、請求項11に記載のシステム。
【請求項13】
前記自己同型が、線形変換または反線形変換のうちの少なくとも一つを含む、請求項11に記載のシステム。
【請求項14】
前記データセットが、ベースバンド信号データの実サンプルおよび複素サンプルを含む、請求項11に記載のシステム。
【請求項15】
前記複数のデータブロックからのいかなるデータブロックも、個々のビットからな
ってはいない、請求項11に記載のシステム。
【請求項16】
前記複数の値が、前記複数の乱数値を含み、かつ前記複数の乱数値が、複素数値の対を含む、請求項11に記載のシステム。
【請求項17】
前記自己同型が、次式として定義され、
【数3】
式中、(z
1,z
2)は、前記複素数値の対からの複素数値の対であり、かつ*は、複素共役を意味する、請求項11に記載のシステム。
【請求項18】
前記複数の値が、前記複数の乱数値を含み、かつ前記複数の乱数値からの各乱数値が、式
【数4】
の乱数であり、式中、
である、請求項11に記載のシステム。
【請求項19】
前記複数の値が、乱数発生器によって生成された複数の値である、請求項11に記載のシステム。
【請求項20】
前記複数の値が、擬似乱数発生器によって生成された複数の値である、請求項11に記載のシステム。
【請求項21】
システムであって、
プロセッサと、
命令を格納するメモリであって、前記プロセッサに、
複数の乱数値または複数の擬似乱数値のうちの一つを含む複数の値を受信させ、
前記複数の値に基づいて自己同型を生成させ、
データブロックを表す信号を受信させ、かつ
前記自己同型の逆を前記データブロックに適用して、修正されたデータブロックを得させる命令を格納するメモリと、を備える、システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年2月10日出願の、「Automorphic Transformations of Signal Samples Within a Transmitter or Receiver」と題する米国仮特許出願第63/147,919号の優先権および利益を主張し、その全体を参照により本明細書に組み込む。
【0002】
本開示は、データ通信における暗号化に関連し、より具体的には、信号処理コンテキスト内で信号サンプルに自己同型変換を適用することに関連する。
【背景技術】
【0003】
電気通信には、有線または無線のシステム内でのデータの伝送が関与する。無線通信は、電磁波を使用し、かつ導電体を使用しないで、通信チャネル内の点間でデータを交換することが関与する。基本的な電気通信システムは、送信器、伝送媒体、および受信器を含む。送信器はデータを信号に変換する。伝送媒体は、受信機に信号を伝え、受信機は次に、受取人のために信号をデータに変換して戻す。
【発明の概要】
【0004】
一部の実施形態では、方法は、データおよび複数の値をプロセッサにおいて受信することを含む。データは、実数値データおよび/または複素数データを含むことができる。複数の値は、複数の乱数値(例えば、乱数発生器によって生成される、および/または乱数発生器から受信される)、または複数の擬似乱数値(例えば、擬似乱数発生器によって生成される、および/または擬似乱数発生器から受信される)のうちの一つを含む。方法はまた、プロセッサを介して、複数の値に基づいて、自己同型を生成することと、プロセッサを介して、データを複数のデータブロックに区分化することと、も含む。自己同型は、線形変換または反線形変換のうちの少なくとも一つを含む。複数のデータブロックからの各データブロックは、事前に定義されたサイズを有することができる。方法はまた、プロセッサを介して、複数のデータブロックから各データブロックに自己同型を適用して、複数の変換されたデータブロックを生成することと、複数の変換されたデータブロックを表す信号の伝送を発生することと、も含む。受信されると、自己同型の逆を複数の変換されたデータブロックに適用して、複数の変換されたデータブロックをオリジナルのデータに変換することができる。
【0005】
一部の実施形態では、システムは、プロセッサと、プロセッサ実行可能命令を格納するメモリとを含む。プロセッサ実行可能命令は、複数の値を受信する命令と、複数の値に基づいて自己同型を生成する命令と、を含む。複数の値は、複数の乱数値または複数の擬似乱数値のうちの一つを含む。プロセッサ実行可能命令はまた、複数のデータブロックからの各データブロックが事前に定義されたサイズを有するように、データセットを複数のデータブロックに分割する命令も含む。プロセッサ実行可能命令はまた、複数のデータブロックからの各データブロックに自己同型を適用する命令と、複数の変換されたデータブロックを生成する命令と、複数の変換されたデータブロックを表す信号の伝送を発生する命令と、も含む。
【図面の簡単な説明】
【0006】
【
図1】
図1は、一実施形態による、通信システム内の伝送のために、データに自己同型変換を適用するための方法を図示するフローチャートである。
【
図2】
図2は、一実施形態による、通信システム内の伝送のために、データに自己同型変換を適用するためのシステムの線図である。
【発明を実施するための形態】
【0007】
一部の公知の通信システムでは、受信したデータサンプルは、データサンプル自体の値に基づいて変換される。例えば、第一のサンプルに適用される変換は、第二のサンプルの相または大きさに基づいてもよい。こうしたアプローチは、例えば、変換が非線形であり得る暗号化の状況で実装された場合、エラーを導入する可能性がある。対照的に、本開示の実施形態は、以下で考察するように、受信したデータサンプル自体の値に関係なく、受信データを、乱数発生器(RNG)または擬似乱数発生器(PRNG)の出力に基づいて変換する。RNGおよび/またはPRNG出力は、それ自体が非線形であるため、受信データに適用される変換は線形とすることができ、それによってデータへのノイズの導入を回避することができる。
【0008】
一部の実施形態によると、本開示のシステムは、乱数発生器(RNG)、擬似乱数発生器(PRNG)、または乱数値および/または擬似乱数値の任意の他の供与源を含むことができる。乱数値および/または擬似乱数値は、二進値、実数値、複素数値、および/または任意の他の数学的なリングもしくは分野からの値を含むことができる。少なくとも一つの自己同型(または、本明細書では変換とも呼ばれる「自己同型変換」)が生成され、各自己同型は、乱数値(すなわち、RNGの出力)、擬似乱数値(すなわち、PRNGの出力)、または外部要因のうちの一つに基づいて生成される。各自己同型は、線形、反線形、またはそれらの組み合わせとすることができる。
【0009】
一部の実施形態では、着信データ(例えば、実信号サンプルおよび/またはベースバンドI/Qなどの複素信号サンプルとして表される)が受信され(例えば、受信器を介して)、かつデータの複数のブロック(「データブロック」)に区分化される。複数のデータブロックからの各データブロックは、データブロックが自己同型と互換性があるように、事前に定義されたサイズ(例えば、ユーザー定義サイズまたはプロセッサ決定サイズ)を有することができる。各データブロックは、着信データのサブセットを含む。一部の実装では、データブロックはビットを含まない。自己同型は、一つ以上の乱数値および/または擬似乱数値に基づいて生成され、また信号送信器または受信器の状況(すなわち、内部)でデータブロックの各々に適用される。
【0010】
本明細書で使用される場合、自己同型変換、または「自己同型」とは、データブロックからそれ自体への同型写像を指し、ここで、同型写像は、逆写像によって反転することができる同じタイプの二つの構造間の構造保持写像である。本出願の特定の状況において、自己同型とは、信号サンプルのブロックの空間からの、複素ヒルベルト空間内の点として見たときに、それ自体への、反転可能な写像を指す。こうしたブロックは常に、寸法的に有限であるため、自己同型は、信号サンプルのブロック上で作用する一般的な線形群の要素として見ることができる。
【0011】
一部の実施形態では、RNGは、対(z
1、z
2)の複素数値を生成する。次に、各対は、例えば、以下のように、関連するユニタリ行列を形成するために使用される。
【数1】
ユニタリ行列が得られたら、複数のデータブロックからデータブロックの1対の複素サンプルに適用することができる。ユニタリ行列は、自己同型であり、またユニタリ行列は、複素サンプルの対からの信号サンプルに作用し、それらを二つの異なるサンプルに変換する。
【0012】
他の実施形態では、RNGは式
【数2】
の値を生成し、式中、
である。例えば、
【数3】
の値は次に、乗算によって、複数のデータブロックの複素サンプルに適用することができる。こうした実施形態では、自己同型は以下の通りである。
【数4】
【0013】
一部の実施形態では、自己同型は、RNG出力および/またはPRNG出力に基づいて生成される線形変換または反線形変換であり、また着信データまたはデータブロック内のいかなる値にも基づかない。代替的または追加的に、自己同型は、自己同型が適用される所与のデータブロックのサイズなど、別の要因に基づいて生成することができる。
【0014】
一部の実施形態では、自己同型は、RNG出力および/またはPRNG出力に基づいて生成される、恣意的な線形/反線形の自己同型であり、また事前に定義された変換リストからの二つの変換(例えば、順列およびプリミティブ行列)の階層化(同時(simultaneous)、同時(concurrent)、または逐次的のいずれの場合でも)を含まない。
【0015】
一部の実施形態では、自己同型の生成は、受信した(今後変換される)データに基づくものではなく、したがって、受信したデータを、大きさおよび符号ベクトルに分割すること、大きさを並べ替えること、または一連の非線形層を符号ベクトルに適用することを含まない。むしろ、本開示の自己同型は、RNG/PRNG出力に基づいて生成され、線形/反線形であり、また受信したデータのブロックに適用される。
【0016】
図1は、一実施形態による、通信システム内の伝送のために、データに自己同型変換を適用するための方法を図示するフローチャートである。
図1に示すように、方法100は、102においてデータ(例えば、実数値データおよび/または複素数データを含む)を受信し、また104においてデータを複数のデータブロックに区分化または下位分割することを含む。方法100はまた、106において、少なくとも一つの値、乱数値(例えば、乱数発生器によって生成される、および/または乱数発生器から受信される)または擬似乱数値(例えば、擬似乱数発生器によって生成される、および/または擬似乱数発生器から受信される)を含む少なくとも一つの値を受信することも含む。方法100はまた、108において、少なくとも一つの値に基づいて(かつ受信したデータに基づかないで)自己同型を生成することも含む。自己同型は、線形変換および/または反線形変換を含むことができる。一部の実装では、複数のデータブロックからの各データブロックは、共通の事前に定義されたサイズを有する。他の実装では、複数のデータブロックからのデータブロックは、例えば、所与の時間における複数のデータブロック内の、またはデータブロックサイズを変更する事前に定義されたパターンに従って経時的に変化する異なるサイズを有することができる。一部のこうした実装では、ブロックサイズの表現は、変換されたデータブロックで送信/通信されてもよい。方法100はまた、110において、複数のデータブロックから各データブロックに対して自己同型を適用して、複数の変換されたデータブロックを生成することと、112において、複数の変換されたデータブロックを表す信号の伝送発生することと、も含む。任意選択で、工程106~110は、112における伝送の前に事前に定義された回数(例えば、2回、3回、4回など)反復される。
【0017】
一部の実施形態では、方法は、データ(例えば、実数値データおよび/または複素数データを含む)を受信することと、データを複数のデータブロックに区分化または下位分割することと、を含む。次いで、一連の、もしくは連続した自己同型(例えば、二つ、三つ、四つ、またはそれ以上の自己同型)を、伝送の前に複数のデータブロックからの各データブロックに適用することができる。例えば、一実施形態では、変換中、第一の(例えば、第一のPRNG出力によって生成される)自己同型が、所与のデータブロックに適用されて、第一の変換されたデータブロックを生成する。次に、第二の(例えば、第一のPRNG出力とは異なる第二のPRNG出力によって生成される)自己同型が第一の変換されたデータブロックに適用されて、第二の変換されたデータブロックを生成する。次に、第三の自己同型(例えば、第一の外部要因に基づいて生成される)が第二の変換されたデータブロックに適用されて、第三の変換されたデータブロックを生成する。次に、第四の自己同型(例えば、第一の外部要因とは異なる第二の外部要因に基づいて生成される)が第三の変換されたデータブロックに適用されて、第四の変換されたデータブロックを生成する。前述の手順が、全てのデータブロックに適用されると、複数の第四の変換されたデータブロックがもたらされ、本方法は、複数の第四の変換されたデータブロックを表す信号の伝送を発生する(例えば、リモート受信器に対して)ことを含むことができる。
【0018】
図2は、一実施形態による、通信システム内の伝送のために、データに自己同型変換を適用するためのシステム200の線図である。
図2に示すように、システム200は、送信器220、受信器240、および任意選択で、乱数発生器(RNG)および/または擬似乱数発生器(PRNG)を含む計算デバイス230を含む。送信器220、受信器240、および計算デバイス230は、通信ネットワーク「N」(例えば、無線通信ネットワークまたは有線通信ネットワーク)を介して互いに通信することができる。送信器220は、プロセッサ222と、送信回路224(例えば、一つ以上のアンテナを含む)と、メモリ226とを含む。メモリ226は、データブロック226A(例えば、
図1の方法100の工程108で得られるような)と、ブロックサイズ226Bと、自己同型226C(例えば、
図1の方法100の工程106で生成されたような)と、任意選択で乱数発生器226Dおよび/または擬似乱数発生器226Eと、を格納する。ブロックサイズ226Bは、例えば、送信器220のグラフィカルユーザーインターフェース(GUI)を介して、管理者またはユーザーによって事前に定義することができるか、または、例えば、通信システムのセキュリティレベル、通信システムの性質、または所望の処理時間(例えば、より大きなデータブロックがより小さいデータブロックよりも処理に時間がかかる場合)のうちの一つ以上に基づいて、自動的に定義および変更することができる。送信220と同様に、受信器240は、プロセッサ242と、受信回路244(例えば、一つ以上のアンテナを含む)と、メモリ246と、を含む。メモリ246は、データブロック246Aと、ブロックサイズ246Bと、自己同型246Cと、任意選択で乱数発生器246Dおよび/または擬似乱数発生器246Eと、を格納する。
【0019】
一部の実施形態では、方法(例えば、データ伝送用)は、プロセッサにおいてデータおよび複数の値を受信することを含む。データは、実数値データおよび/または複素数データを含むことができる。複数の値は、複数の乱数値(例えば、乱数発生器によって生成される、および/または乱数発生器から受信される)、または複数の擬似乱数値(例えば、擬似乱数発生器によって生成される、および/または擬似乱数発生器から受信される)のうちの一つを含む。方法はまた、プロセッサを介して、複数の値に基づいて、自己同型を生成することと、プロセッサを介して、データを複数のデータブロックに区分化することと、も含む。自己同型は、線形変換または反線形変換のうちの少なくとも一つを含む。複数のデータブロックからの各データブロックは、事前に定義されたサイズを有することができる。方法はまた、プロセッサを介して、複数のデータブロックから各データブロックに自己同型を適用して、複数の変換されたデータブロックを生成することと、複数の変換されたデータブロックを表す信号の伝送を発生することと、も含む。
【0020】
一部の実施形態では、複数のデータブロックからのいかなるデータブロックも、個々のビットからなってはいない。むしろ、各データブロックは、一つ以上の実/複素信号サンプル(ビットの集合によって表されてもよい)を含み、その結果、自己同型は、個々のビットではなく実/複素信号サンプルに適用される。言い換えれば、数学的見地から、自己同型は、複数のデータブロックに対して二進演算を実行しない。これは、ビット上の直接的なアクションを伴う他の技法(例えば、暗号化、スクランブリングなど)とは対照的である。
【0021】
一部の実施形態では、複数の値は、複数の乱数値を含み、また複数の乱数値は、複素数値の対を含む。こうしたいくつかの実施形態では、自己同型は以下のように定義される。
【数5】
【0022】
一部の実施形態では、複数の値は、複数の乱数値を含み、また複数の乱数値からの各乱数値は、式
【数6】
であり、式中、
である。
【0023】
一部の実施形態では、システム(例えば、
図2の送信器220などの送信器)は、プロセッサおよびプロセッサ実行可能命令を格納するメモリを含む。プロセッサ実行可能命令は、複数の値を受信する命令と、複数の値に基づいて自己同型を生成する命令と、を含む。複数の値は、複数の乱数値または複数の擬似乱数値のうちの一つを含む。プロセッサ実行可能命令はまた、複数のデータブロックからの各データブロックが事前に定義されたサイズを有するように、データセットを複数のデータブロックに分割する命令も含む。プロセッサ実行可能命令はまた、複数のデータブロックからの各データブロックに自己同型を適用する命令と、複数の変換されたデータブロックを生成する命令と、複数の変換されたデータブロックを表す信号の伝送(例えば、
図2の受信器240などの受信機への)を発生する命令と、も含む。
【0024】
一部の実施形態では、自己同型は、行列の組み合わせまたは階層化ではなく、単一の行列(例えば、ユニタリ行列)からなる。
【0025】
一部の実施形態では、自己同型は、線形変換または反線形変換のうちの少なくとも一つを含む。
【0026】
一部の実施形態では、データセットは、実サンプルおよびベースバンド信号データの複素サンプルを含む。
【0027】
一部の実施形態では、複数のデータブロックからのいかなるデータブロックも、個々のビットからなってはいない。
【0028】
一部の実施形態では、複数の値は、複数の乱数値を含み、また複数の乱数値は、複素数値の対を含む。
【0029】
一部の実施形態では、自己同型は以下のように定義される。
【数7】
【0030】
一部の実施形態では、複数の値は、複数の乱数値を含み、また複数の乱数値からの各乱数値は、式
【数8】
であり、式中、
である。
【0031】
一部の実施形態では、複数の値は、乱数発生器が生成した複数の値である。
【0032】
一部の実施形態では、複数の値は、擬似乱数発生器が生成した複数の値である。
【0033】
一部の実施形態では、システム(例えば、
図2の受信器240などの受信器)は、プロセッサおよびメモリを含む。メモリは、プロセッサに、複数の乱数値または複数の擬似乱数値のうちの一つを含む複数の値を受信または生成させるための命令と、複数の値に基づいて自己同型を生成させるための命令と、を格納する。メモリはまた、プロセッサに、データブロックを表す信号を受信させる(例えば、
図2の送信器220などの送信器から)命令と、データブロックに自己同型の逆を適用して、修正されたデータブロックを得させる命令と、も格納する。受信したデータブロックは、変換されたデータを含んでもよく、また自己同型の逆の適用は、以前に適用された変換を元に戻して/逆転して、変換されたデータをオリジナルのデータに変換することができる。一部のこうした実施形態では、送信器および受信器の各々が、同じ時間、または相互から事前に定義された時間シフトのいずれかにおいて、同じ乱数値または擬似乱数値を生成または受信するように、送信器および受信器を同期化することができる。
【0034】
本明細書で使用される場合、「送信器」または「シグナル送信器」は、アンテナ、増幅器、ケーブル、デジタル・アナログ変換器、フィルタ、アップコンバータ、およびプロセッサの任意の組み合わせを含む、信号の伝送に使用される任意のコンポーネントの組み合わせを含むことができる。同様に、本明細書で使用される場合、「受信器」または「信号受信器」は、アンテナ、増幅器、ケーブル、アナログ・デジタル変換器、フィルタ、ダウンコンバータ、およびプロセッサの任意の組み合わせを含む、信号の受信に使用される任意のコンポーネントの組み合わせを含むことができる。
【0035】
本明細書に記載されるさまざまな技法の実装は、デジタル電子回路、またはコンピュータハードウェア、ファームウェア、ソフトウェア(ハードウェアで実行されるまたはハードウェア内に格納される)、もしくはそれらの組み合わせで実施されてもよい。実装は、コンピュータプログラム製品、すなわち、例えば、機械可読記憶装置(コンピュータ可読媒体、非一時的コンピュータ可読記憶媒体、有形コンピュータ可読記憶媒体、例えば、
図1の媒体112および114を参照)で、データ処理装置、例えば、プログラム可能なプロセッサ、コンピュータ、もしくは複数のコンピュータによって処理するために、またはそれらの演算を制御するために、有形に具体化されたコンピュータプログラムとして実装されてもよい。上述のコンピュータプログラムなどのコンピュータプログラムは、コンパイラ型言語またはインタープリタ型言語を含む任意の形態のプログラミング言語で記述することができ、またスタンドアローンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境での使用に適した他のユニットとして、任意の形態で展開することができる。コンピュータプログラムは、一つのコンピュータ上、または一つのサイトにある、もしくは複数のサイトで分散されている複数のコンピュータ上で処理されるように、かつ通信ネットワークによって相互接続されるように展開することができる。
【0036】
方法工程は、入力データを操作し、そして出力を生成することによって機能を果たすように、コンピュータプログラムを実行する一つ以上のプログラム可能なプロセッサによって実施されてもよい。方法工程はまた、特殊目的論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実施されてもよく、また装置は、特殊目的論理回路、例えば、FPGAまたはASICとして実装されてもよい。
【0037】
コンピュータプログラムの処理のために適したプロセッサとしては、例として、汎用および特殊目的の両方のマイクロプロセッサ、および任意の種類のデジタルコンピュータの任意の一つ以上のプロセッサが挙げられる。一般に、プロセッサは、読取専用メモリまたはランダムアクセスメモリ、またはその両方から命令およびデータを受信する。コンピュータの要素は、命令を実行するための少なくとも一つのプロセッサ、および命令およびデータを格納するための一つ以上のメモリデバイスを含んでもよい。一般に、コンピュータはまた、データを格納するための、一つ以上の大容量記憶装置、例えば、磁気、磁気光学ディスク、または光学ディスクを含んでもよく、またはそれからデータを受信する、もしくはそれらにデータを転送する、またはその両方のために動作可能に結合されてもよい。コンピュータプログラム命令およびデータを具体化するために適した情報キャリアとしては、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば、内部ハードディスクまたはリムーバブルディスク、磁気光学ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、不揮発性メモリのすべての形態が挙げられる。プロセッサおよびメモリは、特殊目的論理回路によって補完されてもよく、またはそれに組み込まれてもよい。
【0038】
ユーザーとの相互作用を提供するために、実装は、ユーザーに対して情報を表示するためのディスプレイデバイス、例えば、液晶表示ディスプレイ(LCDまたはLED)モニター、タッチスクリーンディスプレイ、ならびに、それによってユーザが入力をコンピュータに提供することができる、キーボードおよびポインティングデバイス、例えば、マウスまたはトラックボールを有してコンピュータ上に実装されてもよい。他の種類のデバイスを使用しても、ユーザーとの相互作用を提供することができる。例えば、ユーザーに提供されるフィードバックは、任意の形態の知覚フィードバック、例えば、視覚的フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、またユーザーからの入力は、音響、発話、または触覚入力を含む任意の形態で受信することができる。
【0039】
実装は、例えば、データサーバーとしてバックエンドコンポーネントを含む、またはミドルウェアコンポーネント、例えば、アプリケーションサーバーを含む、またはフロントエンドコンポーネント、例えば、グラフィカルユーザーインターフェースもしくはユーザーが実装と対話できるウェブブラウザを有するクライアントコンピュータを含む、またはこうしたバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの任意の組み合わせを含む、コンピューティングシステム内に実装されてもよい。コンポーネントは、例えば、通信ネットワークなどの任意の形態または媒体のデジタルデータ通信によって相互接続されてもよい。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)、例えば、インターネットが挙げられる。
【0040】
実装のある特定の特徴が本明細書に記載されるように例証されているが、当業者は、多くの修正、置換、変更、および等価物を生じるであろう。したがって、添付の特許請求の範囲は、こうした全ての修正および変更を実装の範囲内に収まるものとして包含することを意図していることが理解されるであろう。当然のことながら、それらは、限定する目的ではなく、例示する目的でのみ提示されており、また形態および詳細におけるさまざまな変更がなされてもよい。本明細書に記載の装置および/または方法の任意の部分は、互いに矛盾する組み合わせを除いて、任意の組み合わせで組み合わせられてもよい。本明細書に記載の実装は、記載した異なる実装の機能、コンポーネント、および/または特徴の様々な組み合わせおよび/または下位組み合わせを含むことができる。
【国際調査報告】