(57)【要約】ネットワーク化されたコンピュータシステムにより、１つ以上のトランザクションが安全に実行されることが可能となる。イニシエータは、制御サーバにサービス要求を送信する。制御サーバは、サービス要求により要求されたトランザクションを実行することを唯一の目的として、存在するトランザクションサーバを作成または選択する。トランザクションサーバが既に存在するものである場合、そのトランザクションサーバは、アクセス不可能な状態にあり、サービス要求の受信に応じてアクセス可能にされ得る。制御サーバはイニシエータに、作成したトランザクションサーバを通知する。イニシエータ（及び場合によっては他の１つ以上の承認済み参加者）は、制御サーバとは無関係に、トランザクションサーバとのトランザクションに携わる。トランザクションサーバは、トランザクションの完了時、タイムアウト時間の満了時、または別のサーバ終了基準の充足時などに、終了する。このようなワンタイムトランザクションサーバの使用により、セキュリティ、プライバシー、及び匿名性は向上する。【選択図】図１
2019537167.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの非一時的コンピュータ可読媒体に実体的に格納されたコンピュータプログラム命令を実行する少なくとも１つのコンピュータプロセッサにより実行される方法であって、
（Ａ）イニシエータからトランザクションを実行する要求を、ネットワークを介して制御サーバにて受信することと、
（Ｂ）前記要求に基づいて、トランザクションサーバを作成することと、
（Ｃ）前記トランザクションサーバのアドレスを含む前記トランザクションサーバに関する情報を、前記イニシエータに提供することと、
（Ｄ）前記トランザクションサーバを使用して、前記制御サーバとは無関係に、前記トランザクションを実行することと、
を含む前記方法。
【請求項２】
前記（Ｃ）は、前記トランザクションサーバに関する前記情報を含むメッセージを、ネットワークを介して前記イニシエータへ送信することを含む、請求項１に記載の方法。
【請求項３】
（Ｅ）前記トランザクションが完了したという判断に応じて、前記トランザクションサーバを終了すること
をさらに含む、請求項１に記載の方法。
【請求項４】
（Ｅ）タイムアウト時間が満了したという判断に応じて、前記トランザクションサーバを終了すること
をさらに含む、請求項１に記載の方法。
【請求項５】
（Ｅ）前記トランザクションが異常条件を満たすという判断に応じて、前記トランザクションサーバを終了すること
をさらに含む、請求項１に記載の方法。
【請求項６】
前記トランザクションサーバを使用して、前記制御サーバとは無関係に、前記トランザクションを実行することは、前記制御サーバと通信することなく、前記トランザクションを実行することを含む、請求項１に記載の方法。
【請求項７】
前記制御サーバは第１のＩＰアドレスを有し、前記トランザクションサーバは第２のＩＰアドレスを有し、前記第１のＩＰアドレスは、前記第２のＩＰアドレスとは異なる、請求項１に記載の方法。
【請求項８】
前記（Ｂ）は、前記トランザクションのタイプを識別して、前記識別したタイプのトランザクションを実行可能な前記トランザクションサーバを作成することを含む、請求項１に記載の方法。
【請求項９】
前記（Ｂ）は、前記要求が指定するプロパティを識別して、前記識別したプロパティを有する前記トランザクションサーバを作成することを含む、請求項１に記載の方法。
【請求項１０】
少なくとも１つの非一時的コンピュータ可読媒体を備えるシステムであって、前記少なくとも１つの非一時的コンピュータ可読媒体は、方法を実行するために少なくとも１つのコンピュータプロセッサにより実行可能なコンピュータプログラム命令を含み、前記方法は、
（Ａ）イニシエータからトランザクションを実行する要求を、ネットワークを介して制御サーバにて受信することと、
（Ｂ）前記要求に基づいて、トランザクションサーバを作成することと、
（Ｃ）前記トランザクションサーバのアドレスを含む前記トランザクションサーバに関する情報を、前記イニシエータに提供することと、
（Ｄ）前記トランザクションサーバを使用して、前記制御サーバとは無関係に、前記トランザクションを実行することと、
を含む、前記システム。
【請求項１１】
前記（Ｃ）は、前記トランザクションサーバに関する前記情報を含むメッセージを、ネットワークを介して前記イニシエータへ送信することを含む、請求項１０に記載のシステム。
【請求項１２】
前記方法はさらに、
（Ｅ）前記トランザクションが完了したという判断に応じて、前記トランザクションサーバを終了すること
を含む、請求項１０に記載のシステム。
【請求項１３】
前記方法はさらに、
（Ｅ）タイムアウト時間が満了したという判断に応じて、前記トランザクションサーバを終了すること
を含む、請求項１０に記載のシステム。
【請求項１４】
前記方法はさらに、
（Ｅ）前記トランザクションが異常条件を満たすという判断に応じて、前記トランザクションサーバを終了すること
を含む、請求項１０に記載のシステム。
【請求項１５】
前記トランザクションサーバを使用して、前記制御サーバとは無関係に、前記トランザクションを実行することは、前記制御サーバと通信することなく、前記トランザクションを実行することを含む、請求項１０に記載のシステム。
【請求項１６】
前記制御サーバは第１のＩＰアドレスを有し、前記トランザクションサーバは第２のＩＰアドレスを有し、前記第１のＩＰアドレスは、前記第２のＩＰアドレスとは異なる、請求項１０に記載のシステム。
【請求項１７】
前記（Ｂ）は、前記トランザクションのタイプを識別して、前記識別したタイプのトランザクションを実行可能な前記トランザクションサーバを作成することを含む、請求項１０に記載のシステム。
【請求項１８】
前記（Ｂ）は、前記要求が指定するプロパティを識別して、前記識別したプロパティを有する前記トランザクションサーバを作成することを含む、請求項１０に記載のシステム。
【請求項１９】
ネットワークを介してアドレス指定不可能なトランザクションサーバと共に使用するコンピュータ実施方法であって、
（Ａ）イニシエータからトランザクションを実行する要求を、ネットワークを介して制御サーバにて受信することと、
（Ｂ）前記要求に応じて、前記トランザクションサーバをアドレス指定可能にすることと、
（Ｃ）前記トランザクションサーバのアドレスを含む前記トランザクションサーバに関する情報を、前記イニシエータに提供することと、
（Ｄ）前記トランザクションサーバを使用して、前記制御サーバとは無関係に、前記トランザクションを実行することと、
を含む、前記方法。
【請求項２０】
前記（Ｂ）は、
前記制御サーバにて、前記要求に応じて、前記トランザクションサーバをアドレス指定可能にすること
を含む、請求項１９に記載の方法。
【請求項２１】
（Ｅ）前記要求に応じて、前記トランザクションサーバにＩＰアドレスを割り当てること
をさらに含む、請求項１９に記載の方法。
【請求項２２】
（Ｅ）前記（Ｂ）の後に、新たなトランザクションサーバをプロビジョニングすることと、
（Ｆ）前記新たなトランザクションサーバを、前記ネットワークを介してアドレス指定不可能にすることと
をさらに含む、請求項１９に記載の方法。
【請求項２３】
（Ｅ）サーバ終了基準が満たされたという判断に応じて、前記トランザクションサーバを終了すること
をさらに含む、請求項１９に記載の方法。
【請求項２４】
（Ｅ）前記（Ｂ）の前に、複数のトランザクションサーバから前記トランザクションサーバを選択すること
をさらに含む、請求項１９に記載の方法。
【請求項２５】
少なくとも１つの非一時的コンピュータ可読媒体を備えるシステムであって、前記少なくとも１つの非一時的コンピュータ可読媒体は、方法を実行するために少なくとも１つのコンピュータプロセッサにより実行可能なコンピュータプログラム命令を含み、前記方法は、
（Ａ）イニシエータからトランザクションを実行する要求を、ネットワークを介して制御サーバにて受信することと、
（Ｂ）前記要求に応じて、前記トランザクションサーバをアドレス指定可能にすることと、
（Ｃ）前記トランザクションサーバのアドレスを含む前記トランザクションサーバに関する情報を、前記イニシエータに提供することと、
（Ｄ）前記トランザクションサーバを使用して、前記制御サーバとは無関係に、前記トランザクションを実行することと、
を含む、前記システム。
【請求項２６】
前記（Ｂ）は、
前記制御サーバにて、前記要求に応じて、前記トランザクションサーバをアドレス指定可能にすること
を含む、請求項２５に記載のシステム。
【請求項２７】
前記方法はさらに、
（Ｅ）前記要求に応じて、前記トランザクションサーバにＩＰアドレスを割り当てること
を含む、請求項２５に記載のシステム。
【請求項２８】
前記方法はさらに、
（Ｅ）前記（Ｂ）の後に、新たなトランザクションサーバをプロビジョニングすることと、
（Ｆ）前記新たなトランザクションサーバを、前記ネットワークを介してアドレス指定不可能にすることと
を含む、請求項２５に記載のシステム。
【請求項２９】
前記方法はさらに、
（Ｅ）サーバ終了基準が満たされたという判断に応じて、前記トランザクションサーバを終了すること
を含む、請求項２５に記載のシステム。
【請求項３０】
前記方法はさらに、
（Ｅ）前記（Ｂ）の前に、複数のトランザクションサーバから前記トランザクションサーバを選択すること
を含む、請求項２５に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータシステムにより実行されるトランザクションは、セキュリティ上、様々な脆弱性を有する。増大する価値を有するトランザクションは、インターネット上で、インターネットを介してアクセス可能なコンピュータにより実行されているため、このようなトランザクションは、攻撃に対してますます脆弱になっている。
【０００２】
従って、トランザクション及びこのようなトランザクションによりアクセスされるデータを、攻撃から保護する改良された技術が求められている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
（対応する記載なし）
【課題を解決するための手段】
【０００４】
（対応する記載なし）
【０００５】
ネットワーク化されたコンピュータシステムにより、１つ以上のトランザクションが安全に実行されることが可能となる。イニシエータは、制御サーバにサービス要求を送信する。制御サーバは、サービス要求により要求されたトランザクションを実行することを唯一の目的として、存在するトランザクションサーバを作成または選択する。トランザクションサーバが既に存在するものである場合、そのトランザクションサーバは、アクセス不可能な状態にあり、サービス要求の受信に応じてアクセス可能にされ得る。制御サーバはイニシエータに、作成したトランザクションサーバを通知する。イニシエータ（及び場合によっては他の１つ以上の承認済み参加者）は、制御サーバとは無関係に、トランザクションサーバとのトランザクションに携わる。トランザクションサーバは、トランザクションの完了時、タイムアウト時間の満了時、または別のサーバ終了基準の充足時などに、終了する。このようなワンタイムトランザクションサーバの使用により、セキュリティ、プライバシー、及び匿名性は向上する。
【０００６】
本発明の様々な態様及び実施形態の他の特徴及び利点は、下記の説明及び特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態による、トランジェントサーバを使用して１つ以上のトランザクションを実行するシステムのデータフロー図である。
【図２】本発明の一実施形態による、図１のシステムが実行する方法のフローチャートである。
【図３】本発明の一実施形態による、１つ以上のトランザクションを実行するために、存在するがアドレス指定不可能なトランザクションサーバをアドレス指定可能にするシステムのデータフロー図である。
【図４】本発明の一実施形態による、図３のシステムが実行する方法のフローチャートである。
【図５】本発明の一実施形態による、ＩＰアドレスのプールを使用して経時的にトランザクションサーバのＩＰアドレスを変更するシステムのデータフロー図である。
【図６】図５のシステムが実行する方法のフローチャートである。
【図７】本発明の一実施形態による、トランザクションサーバを継続的にプロビジョニングするシステムのデータフロー図である。
【図８】本発明の一実施形態による、図７のシステムが実行する方法のフローチャートである。
【発明を実施するための形態】
【０００８】
本発明の実施形態には、有限数（例えば１つ）のトランザクションを処理するために使用される仮想サーバをプロビジョニングし、その後サーバをプロビジョニング解除するシステム及び方法が含まれる。このようなシステム及び方法は、トランザクションを外部干渉からより安全に保護し、このようなトランザクション及びそれによりアクセスされるデータの匿名性及びプライバシーを高める能力など、様々な利点を有する。
【０００９】
例えば、図１を参照すると、本発明の一実施形態による、トランザクションを実行するシステム１００のデータフロー図が示される。図２を参照すると、本発明の一実施形態による、図１のシステム１００が実行する方法２００のフローチャートが示される。
【００１０】
システム１００は、制御サーバ１０２を含む。制御サーバ１０２は、「コンピュータシステム」であり、本明細書ではこの用語が使用されている。本明細書において用語「コンピュータシステム」は、入力及び／または記憶されたデータに対し動作を実行して出力を生成する命令を実行するように、互いに協調して作動する任意の１つ以上のコンピュータを指す。制御サーバ１０２などのコンピュータシステムは、例えば、任意の種類の単一のコンピュータ（例えばサーバ、デスクトップＰＣ、ラップトップＰＣ、スマートフォン、タブレットコンピュータ、ＰＤＡ）、または任意の種類（複数可）の任意の数のコンピュータの任意の組み合わせから成り得る。コンピュータシステム及び／またはその構成要素コンピュータのうちのいずれかは、物理マシンまたは仮想マシンであり得る。従って、コンピュータシステムは、任意の１つ以上の物理マシン及び／または任意の１つ以上の仮想マシンを、任意の組み合わせで、２つ以上のマシンが互いにローカルに存在する構成、またはネットワークを介して互いに遠隔からアクセス可能な構成を含む任意の相対的な場所に、備え得る。コンピュータシステム内の構成要素コンピュータは、１つ以上の電線、バス、ケーブル、有線ネットワーク接続、無線ネットワーク接続、アプリケーションプログラムインターフェース（ＡＰＩ）、またはこれらの任意の組み合わせなど、任意の機構（複数可）を介して、互いに通信し得る。
【００１１】
本明細書において、コンピュータシステム１０２は「サーバ」と称されるが、制御サーバ１０２は、クライアントサーバアーキテクチャに従って作動する必要はない。本明細書において用語「サーバ」は、制御サーバ１０２、及び単なる便宜目的で本明細書に開示される他のサーバを指すために使用され、並びに制御サーバ１０２が要求に応答してサービスを提供することを示すために使用される。本明細書で使用される用語「サーバ」は、コンピュータシステムがクライアントサーバアーキテクチャに従って作動するか否かにかかわらず、任意の種類のコンピュータシステムを指す。従って、制御サーバ１０２及び本明細書で開示される他のサーバは、従来使用されている用語の「サーバ」である必要はないが、より一般的に任意の種類のコンピュータシステムであり得る。
【００１２】
システム１００はまた、イニシエータ１０４を含む。イニシエータ１０４は、必ずしもではないがコンピュータシステムであり得る。イニシエータ１０４は、トランザクションの要求１０６を制御サーバ１０２に提供し、制御サーバ１０２は要求１０６を受信する（図２の動作２０２）。用語「トランザクション」及び「サービス」は、本明細書において互換可能に使用される。用語「サービス要求」及び「トランザクション要求」は、本明細書において、サービス／トランザクションを実行する要求を指すために使用される。
【００１３】
制御サーバ１０２は、要求１０６などの通信をアドレス指定するためのアドレスを有し得る。制御サーバ１０２のアドレスは、例えば、公衆インターネットプロトコル（ＩＰ）アドレス及び／またはポートであり得るが、これは本発明における限定ではない。別の例では、制御サーバ１０２のアドレスは、企業または他の個人のファイアウォールの背後にあるアドレスであり得る。制御サーバ１０２は、安全な通信を要求し携わることを、行っても行わなくてもよい。例えば、制御サーバ１０２が携わる要求１０６及び他の通信は、安全な通信であり得る。別の例では、制御サーバ１０２は、自身の接続を周知のイニシエータにのみ制限し得る、またはイニシエータ１０４及び他のイニシエータを認証するのに、ハードウェアキーデバイス及び／またはバイオメトリクスなど他のセキュリティ対策を講じ得る。
【００１４】
イニシエータ１０４は、必ずしもではないが、要求１０６により要求されるトランザクションに携わる意図のあるエンドユーザまたはマシンであり得る。例えば、プロキシ（図示せず）はトランザクションを開始することができ、これは、イニシエータ１０４が要求１０６を制御サーバ１０２に提供することを引き起こし得る。
【００１５】
システム１００が制御サーバ１０２のアドレスで制御サーバ１０２に要求１０６を配信し得ることに応じて、イニシエータ１０４は、要求１０６を制御サーバ１０２のアドレス（例えばＩＰアドレス及び／またはポート）にアドレス指定することにより、要求１０６を制御サーバ１０２に提供（例えば送信）し得る。イニシエータ１０４は、１つ以上の電線、バス、ケーブル、有線ネットワーク接続、無線ネットワーク接続、アプリケーションプログラムインターフェース（ＡＰＩ）、またはこれらの任意の組み合わせを介して要求１０６を提供（例えば送信）するなど、様々な方法のうちのいずれかにより様々な機構のうちのいずれかを使用して、要求１０６を制御サーバ１０２に提供し得る。これと同じことが、本明細書で開示される任意の他の通信にも等しく当てはまる。
【００１６】
一般に、要求１０６は、特定のトランザクションを実行する要求を示すデータを含む。このようなデータは、例えば、実行するトランザクションのタイプ、トランザクションの１つ以上のパラメータ、及びこのような各パラメータの１つ以上の値、以上のうちの任意の１つ以上を任意の組み合わせで示し得る。要求１０６は、任意のタイプのサービス型ソフトウェア（ＳａａＳ）トランザクションなど、任意のタイプのトランザクションを要求し得る。このようなトランザクションの例として、デジタル資産取引サービス、健康管理記録サービス、安全なメッセージングサービス、及び産業用インターネット端末のソフトウェア／ファームウェア更新サービスが挙げられるが、これらに限定されない。
【００１７】
要求１０６は、例えば、以下のプロパティのうち任意の１つ以上を表すデータを含み得る。
【００１８】
トランザクションタイプ。これは、要求１０６により要求されるトランザクションのタイプである。トランザクションのタイプは、作成すべきトランザクションサーバ１０８の種類を決定する。例として、デジタル資産の転送、安全なメッセージ配信、ソフトウェア配布、並びにデータ操作及び分析が挙げられる。
【００１９】
タイムアウト。タイムアウトは、トランザクションサーバ１０８が存在し続けるべき最長時間を指定する。通常、トランザクションサーバ１０８は、トランザクションが完了した後に自己終了するが、何らかの理由でトランザクションがタイムアウト時間内に完了しなかった場合、トランザクションサーバ１０８は、トランザクションが完了する前に終了する。
【００２０】
トランザクション特有プロパティ。特定のトランザクションタイプは、処理されるトランザクションに関連する追加プロパティを有し、トランザクションサーバ１０８が作成される前に特定される必要があり得る。例として、転送可能な最大メッセージサイズ、及び取引可能な最大通貨額が挙げられる。これらのパラメータは、承認済みの任意の参加者がトランザクションサーバと通信する直前に適用される。
【００２１】
プライバシー。他のトランザクションプロパティは、個人的なものであり得る、または制御サーバ１０２を迂回して、トランザクションサーバ１０８にのみ直接配信されるものであり得る。これらのプロパティの例として、ファイルの最大ダウンロード数、及び第２の参加者がトランザクションに入るために必要なパスワードが挙げられる。
【００２２】
承認済み参加者。サービス要求時に、承認済み参加者のリストが特定され得る。特定された場合、これらの参加者のみが、トランザクションに参加するためにトランザクションサーバ１０８と通信することを許可される。承認済み参加者は、マシンのＩＰアドレス、ユーザ名及びパスワード、または参加者がトランザクションサーバ１０８と連絡し得る他の方法（ブラウザタイプ、デバイスタイプなど）により、特定され得る。
【００２３】
認証方法。これは、トランザクションサーバ１０８へのエンティティの認証方法を特定する。認証方法の例として、認証不要（公共サービス）、マシンアドレス認証（例えばＩＰアドレス）、ソフトウェア認証（ユーザ／パスワードのペア）、２要素認証、コードまたはトークンの確認、承認済みブラウザ拡張の使用、生体認証、または上記の組み合わせが挙げられる。
【００２４】
プライバシーレベル／ロギング。トランザクションサーバ１０８は、トランザクション完了後に自己終了するため、トランザクションの記録は永久に記憶されない。イニシエータ１０４がトランザクションの記録を存続させたい場合がある。そのような場合、トランザクションサーバ１０８は、ログファイルの永続的記憶場所への複製、及び／または終了前の存在時のトランザクションサーバ１０８（またはその一部）のスナップショットの撮影など、トランザクションサーバ１０８及び／またはトランザクションの永続的記録を作成するための情報を、制御サーバ１０２または別のサーバ（図示せず）へ送信し得る。
【００２５】
図１の実施例では、単一の制御サーバ１０２が示されている。このような制御サーバ１０２は、例えば汎用サーバであり得、すなわち多く（例えば全て）のタイプの要求１０６を処理することが可能であり得る。別の例では、制御サーバ１０２は、専用サーバであり得、すなわち１つのみまたは有限集合の要求タイプを処理することが可能であり得る。後者の場合、システム１００は、複数の制御サーバ１０２を含み得、それぞれの制御サーバ１０２が１つ以上のタイプの要求を処理することが可能であり得る。
【００２６】
システム１００はまた、トランザクションサーバ１０８を含む。イニシエータ１０４が要求１０６を制御サーバ１０２に提供する前に、トランザクションサーバ１０８は存在し得ない（例えばプロビジョニングされ得ない）。代わりに、制御サーバ１０２は、要求１０６の受信に応じて、トランザクションサーバ１０８を作成（例えばプロビジョニング）し得る（１１０）（図２の動作２０４）。制御サーバ１０２は、例えば、要求１０６のコンテンツに基づいて、トランザクションサーバ１０８を作成し得る（１１０）。例えば、制御サーバ１０２は、要求１０６が示すトランザクションのタイプを実行できるようにトランザクションサーバ１０８を生成し得る。付加的または代替的に、要求１０６は、要求されるトランザクションを実行するのに必要である及び／または望まれるサーバの１つ以上のプロパティを表すデータを含むことができ、この場合、制御サーバ１０２は、要求１０６が表すプロパティを有するトランザクションサーバ１０８を作成し得る。付加的または代替的に、制御サーバ１０２は、多数の事前定義されたトランザクションサーバ画像にアクセスすることができ、制御サーバ１０２は、これらの画像からトランザクションサーバ１０８を作成し得る。異なるトランザクションサーバ画像を使用して、例えば、異なるタイプのトランザクションが実行され得る（例えばあるトランザクションサーバ画像は第１のタイプのトランザクション実行用であり、別のトランザクションサーバ画像は第２のタイプのトランザクション実行用である）、または同じタイプのトランザクションであるが、トランザクション要求１０６で指定されるプロパティが異なるトランザクションが実行され得る。
【００２７】
図１の要素１１０は、制御サーバ１０２によるトランザクションサーバ１０８の作成を表す。このような作成は、様々な方法のうちの任意の方法で実行され得る。例えば、制御サーバ１０２は、要求１０６を処理するためにトランザクションサーバ１０８がプロビジョニングされることを指定する作成要求を、クラウドサービスプロバイダ（図示せず）に提供（例えば送信）し得る。例えば、要求１０６が表すＳａａＳ要求のタイプを処理するために以前構築された業界標準マシン画像を使用して（要求１０６のタイプを示す要求１０６内の情報を使用して識別され得るなど）、トランザクションサーバ１０８は作成され得る。このようなマシン画像は、例えば、全ての必要なカスタマイズ及び構成を含む、要求１０６により要求されるトランザクションを実行するために必要なソフトウェアの全てを含み得る。トランザクションの参加者、トランザクションにより取り引きされるデータ及び／または資産のタイプ、及びトランザクションで合意された取引レートなど、任意のトランザクション特有のパラメータは、トランザクションサーバ１０８が始動時に利用可能な制御ファイルにより、またはトランザクションサーバ１０８を作成するプロセスにおいて、指定され得る。
【００２８】
トランザクションサーバ１０８は、「コンピュータシステム」の一例であり、本明細書ではこの用語が使用されている。トランザクションサーバ１０８は、例えば、物理または仮想サーバ（例えば公共のＩＰアドレスを介してインターネットによりアクセス可能なコンピュータシステム）であり得る、あるいは複数の仮想またはクラウドサーバを含み得る。トランザクションサーバ１０８は、要求１０６により要求されるトランザクションを実行する際、トランザクションサーバ１０８を支援するオンデマンドリソース、例えばプライベートデータベース、高速ディスクキャッシュ、並びに／あるいは第３者サービス及び／またはソフトウェアなどを含み得る。
【００２９】
制御サーバ１０２は、トランザクションサーバ１０８をアクセス可能なアドレスを特定（例えば受信）する（１１２）（図２の動作２０６）。制御サーバ１０２は、例えば、トランザクションサーバ１０８が制御サーバ１０２へ送信したメッセージ内で、トランザクションサーバ１０８のアドレスを受信し得る。別の例では、制御サーバ１０２は、トランザクションサーバ１０８のアドレスを生成し、生成したアドレスをトランザクションサーバ１０８に割り当てる。トランザクションサーバ１０８はまた、要求１０６でイニシエータ１０４が要求するトランザクションを実行する準備がトランザクションサーバ１０８はできていることを、制御サーバ１０２に示し得る（制御サーバ１０２に好適なメッセージを送信することによるなど）。従って、一般に、図１の要素１１２では、トランザクションサーバ１０８の作成後、トランザクションサーバ１０８は、イニシエータ１０４及び／または承認済み参加者１１６ａ〜ｎがトランザクションサーバ１０８と接続し通信するのに必要な全ての情報を、制御サーバ１０２に提供することが示される。
【００３０】
制御サーバ１０２は、例えばトランザクションサーバ１０８のアドレスを含むメッセージをイニシエータ１０４に送信することにより（図２の動作２０８）、トランザクションサーバ１０８のアドレスをイニシエータ１０４に提供する（１１４）。このようなメッセージは、インターネットなどのデジタル通信ネットワークにより送信され得る。このメッセージは、例えば、イニシエータ１０４からの要求１０６に応じて送信され得る。より一般的に、図１の要素１１４では、制御サーバ１０２は、要求１０６により要求されるトランザクションを実行する準備をトランザクションサーバ１０８ができていることを、イニシエータ１０４に示し、イニシエータ１０４がトランザクションサーバ１０８と通信するのに必要な全ての情報、例えばトランザクションサーバ１０８のアドレスを、イニシエータ１０４に提供することが示される。
【００３１】
簡単に上述したように、システム１００は、イニシエータ１０４に加えて、要求１０６により要求されるトランザクションに参加することを承認された１つ以上の参加者１１６ａ〜ｎも含み得る。ｎは、０、１、２、またはそれより大きい数などの任意の数であり得ることに留意されたい。ｎ＝０である場合、イニシエータ１０４は、要求１０６により要求されるトランザクションの唯一の参加者である。ｎ＝１である場合、イニシエータ１０４及び承認済み参加者１１６ａのみが、要求１０６により要求されるトランザクションに参加し、システム１００は承認済み参加者１１６ｎを含まない。本発明の特定の実施形態では、イニシエータ１０４は、トランザクションサーバ１０８の作成には参加するが、トランザクションサーバ１０８により実行されるトランザクションには参加しない。このような実施形態では、承認済み参加者（複数可）１１６ａ〜ｎは、トランザクションサーバ１０８により実行されるトランザクション（複数可）に参加するが、イニシエータ１０４はこのようなトランザクションに参加しない。
【００３２】
制御サーバ１０２がイニシエータ１０４にトランザクションサーバ１０８に関して通知するのと同様に、特定の実施形態では、制御サーバ１０２は、承認済み参加者１１６ａ〜ｎにトランザクションサーバ１０８に関して通知し得る。あるいは、例えば、制御サーバ１０２がイニシエータ１０４にトランザクションサーバ１０８に関して通知した後、イニシエータ１０４は、承認済み参加者１１６ａ〜ｎにトランザクションサーバ１０８に関して通知し得る。
【００３３】
一度、トランザクションサーバ１０８が作成され、イニシエータ１０４（及び場合によっては承認済み参加者１１６ａ〜ｎ）がトランザクションサーバ１０８に関して通知を受けると、イニシエータ１０４は、要求１０６により要求されるトランザクションサーバ１０８とのトランザクションに携わり得る（１１８）（図２の動作２１０）。イニシエータ１０４は、制御サーバ１０２からイニシエータ１０４が受信した（１１４）アドレスを使用してトランザクションサーバ１０８をアドレス指定することで、トランザクションサーバ１０８に情報を提供（例えば送信）し得る。承認済み参加者１１６ａ〜ｎとトランザクションサーバ１０８との間で通信が行われるならば、同じことが当てはまる。
【００３４】
承認済み参加者１１６ａ〜ｎがトランザクションに参加する場合、承認済み参加者１１６ａ〜ｎも、要求１０６により要求されるトランザクションサーバ１０８とのトランザクションに携わり得る（１２０ａ〜ｎ）。一般に、図１の要素１１８及び１２０ａ〜ｎは、トランザクションサーバ１０８によるトランザクションの実行に関与するイニシエータ１０４、承認済み参加者１１６ａ〜ｎ、及びトランザクションサーバ１０８の間の全ての対話を表す。このような対話には、ネットワーク（インターネットなど）を介してメッセージを送信すること及び受信することが含まれ得（例えばトランザクションサーバ１０８からイニシエータ１０４及び／または他の参加者へ、あるいはイニシエータ及び／または他の参加者からトランザクションサーバ１０８へ）、このようなメッセージには、コマンド及び／またはデータが含まれ得る。
【００３５】
トランザクションサーバ１０８がトランザクションの実行を完了した後のある時点で、トランザクションサーバ１０８は終了する（例えばプロビジョニング解除される、あるいは削除、破壊、または無効化される）（図２の動作２１２）。例えば、トランザクションサーバ１０８は、トランザクションの完了直後に終了し得る、あるいはトランザクションの完了に応じて、またはトランザクションが完了していなくとも、トランザクション開始後、ある所定のタイムアウト時間満了後に（及び満了に応じて）、終了し得る。これらのサーバ終了基準は、単なる実施例であり、本発明を限定するものではない。トランザクションサーバ１０８は、任意の１つ以上のサーバ終了基準が満たされたことに応じて終了し得、例えば、トランザクションサーバ１０８がある所定数のトランザクションを完了したこと、トランザクションサーバ１０８により実行されているトランザクションが、異常条件を満たす、あるいは何らかの異常を示す（例えば許容値範囲外の１つ以上のパラメータ値を有する）と判断されること、少なくともある所定数の参加者がトランザクションサーバ１０８とのトランザクションに参加したと判断されること、トランザクションサーバ１０８により実行されるトランザクションに関して、任意の二値基準が満たされたこと、トランザクションサーバ１０８（またはトランザクションサーバ１０８全体）により実行されるトランザクションが、少なくともある所定量のデータを転送したと判断されること、及びトランザクションサーバ１０８（またはトランザクションサーバ全体）により実行されるトランザクションが、少なくともある所定量のファイルを転送したと判断されること、以上のことに応じてトランザクションサーバ１０８は終了する。
【００３６】
このように、特定の実施形態では、トランザクションサーバ１０８は終了する前に、最大１つ（例えばちょうど１つ）のトランザクションを実行し得る。本発明の別の実施形態では、トランザクションサーバ１０８は、終了する前に、１より大きい有限数のトランザクションを実行する、または終了する前に、ある所定の有限時間（本明細書ではタイムアウト時間と称する）内に任意の数のトランザクションを実行する。別の例では、トランザクションサーバ１０８は、特定のプロパティを有するトランザクションを実行した後に（場合によっては１つ以上の追加のトランザクションを実行した後に）、終了し得る。より一般的には、システム１００は、トランザクションサーバ１０８に対し、１つ以上の終了基準を適用し得る。システム１００は、終了基準が満たされたという判断に応じて、トランザクションサーバ１０８を終了し得る。本明細書で明示的に開示される終了基準の特定の例（例えば最大トランザクション数、最長時間、トランザクションタイプ）は、単なる実施例であり、本発明を限定するものではない。
【００３７】
上記の説明が意味するように、制御サーバ１０２は、トランザクションサーバ１０８の作成には関与するが、それ以外のトランザクションサーバ１０８によるトランザクションの実行には参加しない。例えば、制御サーバ１０２は、図１の要素１１０、１１２、及び１１４に示されるように、トランザクションサーバ１０８を作成して、トランザクションサーバ１０８の作成及び可用性に関する情報を取得するように要求される以外、任意の情報（例えばコマンド及び／またはデータ）をトランザクションサーバ１０８と送受信し合うことはない。本発明のいくつかの実施形態では、制御サーバ１０２は、トランザクションサーバ１０８を作成するプロセスにおいて、トランザクションサーバ１０８と情報を送受信し合わないため、この場合、制御サーバ１０２は、トランザクションサーバ１０８と情報を送受信し合うことが全くないということになる。
【００３８】
具体的には、トランザクションサーバ１０８が作成された後、トランザクションサーバ１０８は、制御サーバ１０２の関与なしに、要求１０６により要求されるトランザクションを実行する。例えば、トランザクションサーバ１０８は、制御サーバ１０２の関与なしに、イニシエータ１０４及び承認済み参加者１１６ａ〜ｎとの全ての通信１１８及び１２０ａ〜ｎに携わる。別の例では、トランザクションサーバ１０８は、制御サーバ１０２の関与なしに、終了する。別の例では、重要なデータ、私的データ、または機密データなどのトランザクションに関与するコマンドまたはデータは、制御サーバ１０２を通過できない。
【００３９】
制御サーバ１０２は、トランザクションサーバ１０８の終了に関与してもしなくてもよい。例えば、制御サーバ１０２は、トランザクションサーバ１０８に終了命令を送信することにより、または別の機構を介するなどして、トランザクションサーバ１０８を終了し得る。あるいは、例えば、制御サーバ１０２の関与なしに、トランザクションサーバ１０８は自身を終了し得る。
【００４０】
前述のように、制御サーバ１０２及びトランザクションサーバ１０８はそれぞれ、各サーバをアドレス指定可能な少なくとも１つのアドレス（例えばＩＰアドレス）を有する。制御サーバ１０２のアドレスは、トランザクションサーバ１０８のアドレスとは別物であり、異なる。例えば、制御サーバ１０２は、１つのＩＰアドレスを有し得、トランザクションサーバ１０８は、制御サーバ１０２のＩＰアドレスとは異なる別のＩＰアドレスを有し得る。別の例では、制御サーバ１０２及びトランザクションサーバ１０８は、同じＩＰアドレスの異なるポートでアクセス可能であり得る。制御サーバ１０２は物理マシンであり得、トランザクションサーバ１０８は、制御サーバ１０２とは異なる別の物理マシンであり得る。さらに別の例では、制御サーバ１０２及びトランザクションサーバ１０８は、同じ物理コンピュータシステムに存在する異なる仮想マシンであり得る。
【００４１】
図１のシステム１００及び図２の方法２００など、本発明の実施形態の１つの利点は、これらの実施形態により、要求１０６により要求されるトランザクションを、従来技術のシステムよりも安全に実行することが可能になることである。有限数のトランザクション（例えば１つのトランザクション）に対してのみトランザクションサーバ１０８を作成及び使用し、制御サーバ１０２とは無関係にトランザクションを実行することは、トランザクションサーバ１０８のトランザクション実行に対するいずれの攻撃も、他のトランザクションまたは他のトランザクションがアクセス可能なデータにアクセスできないため、そのトランザクションに対して攻撃が成功した時、他のトランザクション及び他のトランザクションがアクセス可能なデータも危殆化するというリスクから守られる。従って、本発明の実施形態には、コンピュータセキュリティにおける未解決の技術的問題、すなわち他のサーバへの攻撃による危殆化からサーバを保護する方法の技術的問題に対処する改良されたコンピュータシステム及び方法が含まれる。この問題、及び本発明の実施形態によるその解決策は、本質的にコンピュータ技術に根ざしており、コンピュータ技術の向上を表し、非従来のコンピュータ技術の特定の組み合わせを使用して、これまで実現しなかった技術的利益を生み出す。
【００４２】
図３〜８に示される本発明の実施形態の１つの利点は、これらの実施形態は、トランザクションサーバが必要になる前にそれらをプロビジョニングすることで、従来技術のシステムと比べてより早く効率的にコンピュータによりトランザクションを実行することを可能にすることであり、これにより、このようなトランザクションサーバが必要になってからプロビジョニングする場合に生じる遅延なしに、このようなトランザクションサーバを利用できることが可能になる。従って、図３〜８に示される実施形態は、仮想サーバがより効率的にトランザクションを実行できるようにする方法の技術的問題を解決し、その解決策は、本質的にコンピュータ技術に根ざしており、コンピュータ技術の向上であり、非従来のコンピュータ技術の特定の組み合わせを使用して、これまで実現しなかった技術的利益を生み出す。
【００４３】
前述のように、本発明のいくつかの実施形態では、トランザクションサーバ１０８は、制御サーバ１０２が要求１０６を受信する前には存在し得ない（例えばプロビジョニングされ得ない）。しかしながら、本発明の他の実施形態では、トランザクションサーバ１０８は、制御サーバが要求１０６を受信する前に存在し得る。しかしながら、このような実施形態において、要求１０６が受信される前では、制御サーバ１０２以外の少なくともシステム１００のいずれの構成要素も、トランザクションサーバ１０８にアクセス不可能であり得る。要求１０６が受信される前では、さらに制御サーバ１０２を含むシステム１００のいずれの構成要素も、トランザクションサーバ１０８にアクセス不可能であり得る。さらに詳しく後述されるように、このような実施形態では、要求１０６の受信に応じて、制御サーバ１０２がトランザクションサーバ１０８をアクセス可能にすることができ（例えばイニシエータ１０４及び承認済み参加者１１６ａ〜ｎに対し）、その結果、トランザクションサーバ１０８は、前述の方法のうちのいずれかで１つ以上のトランザクションを実行することができるようになる。
【００４４】
より具体的には、図３を参照すると、１つ以上の「隠し」トランザクションサーバ３０８ａ〜ｍを含むシステム３００が、隠しトランザクションサーバ３０８ａ〜ｍのうちの１つを、トランザクションサーバ３０８として使用するためにアクセス可能にするデータフロー図が示される。図４を参照すると、本発明の一実施形態による、図３のシステム３００が実行する方法４００のフローチャートが示される。本明細書の説明は複数の隠しトランザクションサーバ３０８ａ〜ｍを示し、本明細書の説明は複数の隠しトランザクションサーバ３０８ａ〜ｍに言及するが、全てのこのような参照は、たった１つのトランザクションサーバを含む任意の数のトランザクションサーバを指すことを理解されたい。
【００４５】
図３のシステム３００は、図１のシステム１００の機能の一部または全てを実行し得る。例示及び説明を簡易にするために、図１のシステム１００と異なる図３のシステム３００の態様のみが、本明細書において説明される。図３のシステム３００に関連して、図１のシステム１００の態様の説明が本明細書にないことは、図３のシステム３００がこれらの態様を有さないという意味ではない。図２の方法２００に関して、図４の方法４００にも、同じことが当てはまる。
【００４６】
制御サーバ１０２は、イニシエータ１０４が制御サーバ１０２に要求１０６を提供する前でも、１つ以上のトランザクションサーバ３０８ａ〜ｍ（本明細書で「隠し」トランザクションサーバと称される）をプロビジョニングし得る（３１０）（図４の動作４０２）。制御サーバ１０２が要求１０６を受信する前に隠しトランザクションサーバ３０８ａ〜ｍをプロビジョンすることが有益であり得る１つの理由は、制御サーバ１０２が要求１０６を受信した時間と、トランザクションサーバ（例えば図１のトランザクションサーバ１０８）がプロビジョニングされ、トランザクションを実行するのに完全に利用可能となり得る時間に、顕著な遅延が生じ得るからである。このような遅延は望まないことではあり得ず、トランザクションサーバを使用して時間的に制約のあるトランザクションを実行する場合には、このような遅延を軽減または排除することが有益であり得る。５秒以上の遅延は数多くの環境において望ましくなく、いくつかの状況では、このような遅延は、２、３分、またはそれ以上の長さになり得る。さらに詳しく後述されるように、本発明の実施形態を使用して、トランザクションサーバ１０８は一時的に存在するという性質のセキュリティ上の利点を維持しながら、このような遅延が軽減または排除され得る。
【００４７】
制御サーバ１０２は、隠しトランザクションサーバ３０８ａ〜ｍをアドレス指定不可能にする方法で、隠しトランザクションサーバ３０８ａ〜ｍをプロビジョニングする。このアドレス指定不可能性が、隠しトランザクションサーバ３０８ａ〜ｍを「隠された」状態にする。制御サーバ１０２は、隠しトランザクションサーバ３０８ａ〜ｍをプロビジョニングする際、即座にそれらをアドレス不可能にし得るため、隠しトランザクションサーバ３０８ａ〜ｍは、後述の方法のうちのいずれかの方法などで、後でアドレス指定可能にされない限り、アドレス指定可能ではない。
【００４８】
制御サーバ１０２は、様々な方法のうちのいずれかの方法で、隠しトランザクションサーバ３０８ａ〜ｍをアドレス指定不可能にし得る。例えば、制御サーバ１０２は、隠しトランザクションサーバ３０８ａ〜ｍをアドレス指定不可能にするように、隠しトランザクションサーバ３０８ａ〜ｍを提供するサーバプロバイダの１つ以上のセキュリティポリシーを設定し得る。
【００４９】
隠しトランザクションサーバは、アドレス指定不可能であっても、送出要求を作ることが尚も可能であり得る。サーバはアドレス指定不可能であるが、トランザクションサーバにまだアサインされていないトランザクション要求を制御サーバ３０２が受信したか否かを判定するために、サーバは制御サーバ３０２をポーリングし得る。さらに詳しく後述されるように、制御サーバ３０２は、トランザクション要求を隠しトランザクションサーバに割り当て、トランザクションパラメータ及び他の情報を、トランザクション要求を処理するのに必要な場合、隠しトランザクションサーバに提供し得る。
【００５０】
制御サーバ１０２が隠しトランザクションサーバ３０８ａ〜ｍをアドレス指定不可能にするために使用する特定の機構に関係なく、一般に、このようなアドレス指定不可能性には、システム３００の構成要素（イニシエータ１０４、承認済み参加者１１６ａ〜ｎ、さらに制御サーバ１０２自身など）が、ネットワーク上で隠しトランザクションサーバ３０８ａ〜ｍを検知すること、及び隠しトランザクションサーバ３０８ａ〜ｍへネットワークトラフィックを送信する、または隠しトランザクションサーバ３０８ａ〜ｍからネットワークトラフィックを受信することを、禁じる効果がある。結果的に、システム３００のこのような構成要素は、隠しトランザクションサーバがアドレス指定不可能な（隠された）状態であり間は、隠しトランザクションサーバ３０８ａ〜ｍの設定を変更する、または隠しトランザクションサーバ３０８ａ〜ｍの所定の動作を変更することはできない。
【００５１】
ここで、図１及び２に関連して上記に示され説明されたように、制御サーバ１０２がトランザクション要求１０６を受信したと仮定する。要求１０６の受信に応じて、制御サーバ１０２は、隠しトランザクションサーバ３０８ａ〜ｍのうちの１つを選択し（３１２）、選択した隠しトランザクションサーバをネットワークを介してアドレス指定可能にする（３１４）（図４の動作４０４）。その結果得られるアドレス指定可能な（隠されていない）トランザクションサーバが、図３のトランザクションサーバ３０８として示される。
【００５２】
制御サーバ１０２は、トランザクションサーバ３０８とネットワークトラフィックを送受信し合うことを可能にするようにサーバプロバイダのセキュリティポリシーを更新するなど、様々な方法のうちのいずれかの方法で、トランザクションサーバ３０８をアドレス指定可能にし得る。このような更新は、トランザクションサーバ３０８と通信することを承認された特定のエンティティ（例えばイニシエータ１０４及び／または承認済み参加者１１６ａ〜ｎ）を指定し得るため、これらのエンティティのみがトランザクションサーバ３０８と通信することができ、他のエンティティはトランザクションサーバ３０８と通信することはできない。結果的に、イニシエータ１０４、承認済み参加者１１６ａ〜ｎ、及び制御サーバ１０２自身などのシステム３００の構成要素は、トランザクションサーバ３０８がアドレス指定可能な（隠されていない）状態である間は、ネットワーク上にトランザクションサーバ３０８を検知することができ、トランザクションサーバ３０８とネットワークトラフィックを送受信し合うことができる。制御サーバ３０２が要求１０６を受信する前に、トランザクションサーバ３０８をアドレス指定不可能な状態でプロビジョニングし、その後要求１０６の受信に応じてトランザクションサーバ３０８をアドレス指定可能にすることの効果は、トランザクションサーバ３０８は要求１０６が受信されるまでアクセス不可能であり、よって改ざんされることは不可能であることから、要求１０６の受信に応じてトランザクションサーバ３０８をプロビジョニングすることに、セキュリティの観点では類似するが、要求１０６を受信した後にトランザクションサーバ３０８をプロビジョニングするのに必要な時間が削除されることで、要求１０６が受信されるまでトランザクションサーバ３０８がプロビジョニングされない場合と比べ、より早くトランザクション参加者（例えばイニシエータ１０４及び／または承認済み参加者１１６ａ〜ｎ）に対しトランザクションサーバ３０８をアクセス可能にすることができるようになった。
【００５３】
制御サーバ３０２は、新たな隠しトランザクションサーバをプロビジョニングし（３１６）、新たにプロビジョニングされたサーバを、隠しトランザクションサーバ３０８ａ〜ｍのプールに含め得る（図４の動作４０６）。制御サーバ３０２は、隠しトランザクションサーバ３０８ａ〜ｍのプロビジョニング（３１０）（図４の動作４０２）に関連して上記で開示された方法のうちのいずれかの方法で、新たな隠しトランザクションサーバをプロビジョニングし得る。新たにプロビジョニングされたサーバはその後、方法４００の動作４０４が次回行われる時にトランザクションサーバとして選択することができる。
【００５４】
その後、トランザクションサーバ３０８は終了する（３１６）（図４の動作４０８）。例えば、トランザクションサーバ３０８が担当のトランザクションを完了したことに応じて、またはトランザクションサーバ３０８が担当のトランザクションを完了する前にタイムアウト時間が経過したことに応じて、トランザクションサーバ３０８を終了するなど、図１のトランザクションサーバ１０８の終了（図２の動作２１２）に関連して本明細書で開示される方法のうちのいずれかの方法など、様々な方法のうちのいずれかの方法で、トランザクションサーバ３０８は終了し得る。制御サーバ３０２は、複雑な条件を含む様々な条件のうちのいずれかの条件が満たされたことに応じて、新たな隠しトランザクションサーバをプロビジョニングし得る。例えば、制御サーバ３０２は、存在するトランザクションサーバ３０８を業務時間中に作動させ、業務時間外に２時間待機モードで作動させた後に、存在するトランザクションサーバ３０８を終了し得る。
【００５５】
制御サーバ３０２は、本明細書で開示される方法のうちのいずれかの方法でトランザクションサーバ３０８を終了したことに応じて、新たな隠しトランザクションサーバを、隠しトランザクションサーバ３０８ａ〜ｍのプール内にプロビジョニングし得る。新たにプロビジョニングされたサーバはその後、方法４００の動作４０４が次回行われる時にトランザクションサーバとして選択することができる。
【００５６】
動作４０８でトランザクションサーバ３０８を終了することは、１つの可能性に過ぎず、本発明を限定するものではない。あるいは、例えば、トランザクションサーバ３０８を終了する代わりに、トランザクションサーバ３０８は、アドレス指定不可能な状態に戻されてもよく（本明細書で開示される技術のうちのいずれかの技術を使用して）、これにより、再びトランザクションサーバ３０８ａ〜ｍのプールの一部となり、１つ以上の追加のトランザクションを実行するために再び選択可能となる。結果得られる隠しトランザクションサーバは、既にトランザクションを実行したため初期の状態ではないが、再びアドレス指定不可能な状態になり、これにより任意の外部のエンティティがその機能に影響を与えることは防がれる。このような実施形態は、トランザクションサーバが終了する実施形態と比べて、システム３００の全体的な運用費用を削減し、迅速にサーバをプロビジョニングし終了する必要なく大量のトランザクションを処理する能力を、大量トランザクションシステムに提供する。
【００５７】
本発明の特定の実施形態は、隠しトランザクションサーバのプール（図３に示される隠しトランザクションサーバ３０８ａ〜ｍのプールなど）、及びＩＰアドレスのプールの両方を保持し得る。このような実施形態が、図５のシステム５００、及び図６の対応方法６００により、例示される。
【００５８】
図５のシステム５００は、図３の制御サーバ３０２と同一または同様であり得る制御サーバ５０２を含む。図５のシステム５００はまた、図３の隠しトランザクションサーバ３０８ａ〜ｍのプールと同一または同様であり得る隠しトランザクションサーバ５０８ａ〜ｍのプールを含む。例示及び説明を簡易にするために、図３のシステム３００と異なる図５のシステム５００の態様のみが、本明細書において説明される。図５のシステム５００に関連して、図３のシステム３００の態様の説明が本明細書にないことは、図５のシステム５００がこれらの態様を有さないという意味ではない。図４の方法４００に関して、図６の方法６００にも、同じことが当てはまる。
【００５９】
図３のシステム３００及び図４の方法４００のように、図５のシステム５００において、イニシエータ１０４が要求１０６を制御サーバ５０２に提供する前でも、制御サーバ５０２は、上記に開示された技術のうちのいずれかの技術を使用して、トランザクションサーバ５０８ａ〜ｍのうちの１つ以上をプロビジョニングし得る（図６の動作６０２）。同様に、図３のシステム３００及び図４の方法４００のように、図５のシステム５００において、制御サーバ５０２は、図１及び２に関連して示され説明されたように、トランザクション要求１０６を受信し得る。要求１０６の受信に応じて、制御サーバ５０２は、隠しトランザクションサーバ５０８ａ〜ｍのうちの１つを選択し（５１０）、選択した隠しトランザクションサーバをネットワークを介してアドレス指定可能にする（５１４）（図６の動作６０４）。その結果得られるアドレス指定可能な（隠されていない）トランザクションサーバが、図５のトランザクションサーバ５０８として示される。
【００６０】
制御サーバ５０２はまた、システム５００内のＩＰアドレスのプール５２０からＩＰアドレスのうちの１つを選択し（５１２）（例えばランダムに）、選択したＩＰアドレスを選択したトランザクションサーバ５０８に割り当てる（図６の動作６０６）。選択したＩＰアドレスはその後、選択または任意の他のサーバへの割り当てに、利用できなくなる。
【００６１】
制御サーバ１０２は、選択したＩＰアドレスにおいてトランザクションサーバ５０８とネットワークトラフィックを送受信し合うことが可能になるように、サーバプロバイダのセキュリティポリシーを更新することなどにより、選択したトランザクションサーバ５０８を、選択したＩＰアドレスでアドレス指定可能になるようにする（５１４）（図６の動作６０８）。
【００６２】
その後（トランザクションサーバ５０８が担当のトランザクションを完了したことに応じて、またはトランザクションサーバ５０８がトランザクションを完了することなくタイムアウト時間が経過したことに応じてなど）、制御サーバ１０２は以下の２つの動作を行う（５１６）。（１）選択したＩＰアドレスをトランザクションサーバ５０８から切り離し、選択したＩＰアドレスを再び、ＩＰアドレスのプール５２０の中から選択可能にしてもしなくてもよく（図６の動作６１０）、（２）トランザクションサーバ５０８をアドレス指定不可能にし、トランザクションサーバ５０８を再び、隠しトランザクションサーバ５０８ａ〜ｍのプールから使用選択可能にする（図６の動作６１２）。
【００６３】
図５のシステム５００及び図６の方法６００により、トランザクションサーバ５０８ａ〜ｍは複数回使用されることが可能になり（実際に複数回使用されるかどうかに関係なく）、これにより、新たなトランザクション要求ごとに応じて新たなサーバをプロビジョニングするのに必要な時間が短縮または削減されるという利点が得られ、同時に、使用を開始するトランザクションサーバに割り当てられるＩＰアドレスをランダムに抽出することで、サーバの再利用によりもたらされるセキュリティのリスクが低減または排除される。さらに、トランザクションサーバ５０８ａ〜ｍのそれぞれが終了する前に実行したトランザクションの数に関係なく、図５のシステム５００及び図６の方法６００は、隠しトランザクションサーバのＩＰアドレスを、トランザクションで使用するために有効化するまで、認識不可能にするという利点を有する。
【００６４】
本発明のさらに別の実施形態が、トランザクションサーバを継続的にプロビジョニングするシステム７００のデータフロー図である図７、及び本発明の一実施形態による図７のシステム７００が実行する方法８００のフローチャートである図８により、例示される。
【００６５】
制御サーバ７０２（本明細書で開示される他の制御サーバ１０２、３０２、及び５０２のうちのいずれかと同一または同様であり得る）は、繰り返し（例えば定期的に）隠しトランザクションサーバのプール７０６に、新たな隠しトランザクションサーバをプロビジョニングする（７１２）（図８の動作８０２）。制御サーバ７０２は、例えば一度に、１つの隠しトランザクションサーバをプロビジョニングして隠しトランザクションサーバのプール７０６に追加し、その後、別の隠しトランザクションサーバをプロビジョニングして隠しトランザクションサーバのプール７０６に追加し得る。制御サーバ７０２はこのプロセスを、任意の時間分、任意の数の隠しトランザクションサーバに対し、繰り返し得る。制御サーバ７０２は、プール７０６内の隠しトランザクションサーバのそれぞれを、本明細書で開示される方法のうちのいずれかの方法で、「隠された」（アドレス指定不可能な）トランザクションサーバとしてプロビジョニングし得る。
【００６６】
イニシエータ７０４（図１のイニシエータ１０４と同一または同様であり得る）は、図１及び２に関連して上記に開示された方法のうちのいずれかの方法などで、トランザクションサーバを要求する（７１４）（図８の動作８０４）。
【００６７】
トランザクションサーバプール７０６内の新たな隠しトランザクションサーバが初期化を終了して、トランザクションを実行する準備ができた時はいつの時点でも、そのトランザクションサーバは、トランザクションサーバがトランザクションを実行する準備ができたことを制御サーバ７０２に通知する（７１６）（図８の動作８０６）。新たに開始されたトランザクションサーバは、イニシエータ７０４が制御サーバ７０２にトランザクションサーバを要求する（７１４）前及び／または後など、いつの時点でも、その可用性に関して制御サーバ７０２に通知し得ることに留意されたい。
【００６８】
新たに開始されたトランザクションサーバが制御サーバ７０２に、新たに開始されたトランザクションサーバがトランザクションを実行可能であることを知らせた時に、制御サーバ７０２に保留中のトランザクション要求が存在しない場合には、トランザクションサーバは終了する（７１６）（図８の動作８０８）。制御サーバ７０２は、例えば、保留中のトランザクション要求を何も有さないことを判断し、このような判断に応じて、トランザクションサーバを終了し得る、またはトランザクションサーバに終了するよう命令し得る。
【００６９】
要求７１４の受信に応じて、制御サーバ７０２は、以下の動作を行う。（１）トランザクションを実行可能な隠しトランザクションサーバが存在するならば、それを選択し、これは、隠しトランザクションサーバが利用可能になるのを待つことを含む場合があり、（２）選択したトランザクションサーバをアドレス指定可能にするなどして、選択したトランザクションサーバを通信可能にし、（３）選択したトランザクションサーバのアドレスを、イニシエータ７０４に通知する（７１６）（図８の動作８１０）。イニシエータ７０４及び選択したトランザクションサーバ（もう「隠された」状態ではない）はその後、互いに通信することができ、トランザクションサーバは、本明細書で開示される方法のうちのいずれかの方法で、イニシエータ７０４のために１つ以上のトランザクションを実行し得る。
【００７０】
図７のシステム７００において、継続的にプロビジョニングされるサーバの数を経時的にずらすことにより、サービス要求７１４と、要求に対処するサーバの可用性との間の遅延を全て排除することができ、同時に、本明細書で開示されるトランジェントトランザクションサーバのセキュリティ上の利点は維持される。
【００７１】
本明細書で開示される本発明の実施形態は、様々な方法で互いに組み合わせることができる。例えば、図１及び２のシステム１００及び方法はそれぞれ、図３〜８のシステム及び方法と様々な方法で組み合わせることができ、これは当業者には明らかであろう。
【００７２】
本発明の実施形態は、以下のような様々な用途に使用することができるが、これらは単なる例示であり、網羅的ではない。
【００７３】
相手先商標製造会社（ＯＥＭ）からのソフトウェア更新またはパッチのプッシュ
ソフトウェア更新を認証して、遠隔のスマートマシン１１６ｎへ送信するために、トランザクションサーバ１０８が、スマートマシンＯＥＭ１０４、または承認済みの第三者により使用され得る。
【００７４】
インターネットに接続された、マイクロプロセッサ、プログラマブル論理制御（ＰＬＣ）、監視制御及びデータ収集（ＳＣＡＤＡ）システム、及び分散制御システム（ＤＣＳ）を有するマシンは、スマートマシン１１６ｎとして知られ、これらは定期的なソフトウェア更新を必要とする。これらのスマートマシンは、安全な通信システム、または送信者もしくはソフトウェアパッケージを認証するシステムを欠いていることが多く、これらのスマートマシンは、スマートマシンに対する不正制御の確保、または有害なソフトウェアのインストールを試みる悪意のある行為者から、不正なソフトウェア更新を受信することがある。
【００７５】
それらの遠隔のスマートマシン１１６ｎの分散に対し、ソフトウェア更新をインストールするために、本発明の実施形態を使用され得る。ＯＥＭは、イニシエータ１０８として機能し、特定のパラメータを使用してトランザクションサーバ１０８が作成されるように要求１０６を制御サーバ１０２に送信することで、トランザクションサーバ１０８を確立する。この場合、トランザクションサーバ１０８のパラメータは、認証情報であり得る、またはそれを含み得る。トランザクションサーバ１０８は、一度作成されると、ＯＥＭ１０４を認証し、ソフトウェアがＯＥＭ１０４からトランザクションサーバ１０８へ転送される（１１８）。認証されたソフトウェアは次に、トランザクションサーバ１０８からスマートマシン１１６ｎへ送信される（１２０ｎ）。
【００７６】
前述のソフトウェア更新／パッチの実施形態の利点には、以下が含まれる。（１）悪意のあるソフトウェアのインストールから保護する。（２）拡大縮小可能である、すなわち、無制限の数のトランザクションサーバを作成することができる。（３）無制限のスマートマシンは、単一または複数のトランザクションサーバから更新することができる。（４）冗長性がある、すなわち、様々なプラットフォーム上もしくは様々な環境において、または様々な送信方法により、対象とするデバイスに更新が確実に伝達されるように、トランザクションサーバは冗長的な更新を行うように作成され得る。
【００７７】
健康記録の送信
本発明の実施形態は、トランザクションサーバ１０８を使用して、デジタル健康記録への不正アクセス、及び記録の生成者１１６ａから別の承認済み参加者１１６ｂへのデジタル健康記録の転送の可能性及び危険度を軽減し得る。イニシエータ１０４は、記録を作成した医療グループ、患者、保険会社、または記録を必要とする別の医療施設であり得る。
【００７８】
この例では、イニシエータ１０４は、被保険者の医療記録を必要とする被保険者の保険会社であり得、承認済み参加者１１６ａは、記録を作成した医療グループであり得る。保険会社（イニシエータ１０４）は、指定されたパラメータでトランザクションサーバ１０８を確立する（１１０）ように、制御サーバ１０２に連絡する（１０６）。これらのパラメータは、認証、サイバーセキュリティ、並びに保険及びＨＩＰＰＡ、または他の健康規制及び業界要件に従ったデータ記録保持及び報告要件であり得る。トランザクションサーバ１０８は、イニシエータ１０４、及び医療グループすなわち指定されたパラメータに従って作成された承認済み参加者１１６ａに、医療グループ１１６ａが健康記録をトランザクションサーバ１０８へ送信するように（１２０ａ）、通知し得る（１１８及び１２０ａ）。トランザクションサーバ１０８は次いで、健康記録を保険会社１０４へ転送する（１１８）。トランザクションサーバ１０８は、その後終了する（２１２）。全ての通信及びデータ転送は、暗号キーで保護される。
【００７９】
前述の健康記録の送信の実施形態の利点には、以下が含まれる。（１）転送中に悪意のある行為者が記録を狙う中間者攻撃を防ぐ。（２）直接繰り返される継続的な通信リンクの脆弱性を排除する。（３）暗号化されたフォーマットでビッグデータを保存する基盤を確立する。（４）トランザクションサーバ上で利用可能な記録を、実行されている特定のトランザクションに必要な記録のみに限定することで、リスクを大幅に削減する。
【００８０】
トランジェント資産エスクロー及び取引
トランザクションサーバ１０８は、信託及び金融会社、デジタル取引事業者、権原会社、並びに証券取引所、証券会社、または清算機関のデジタル資産を安全に取り引きするために使用され得る。
【００８１】
一実施例として、デジタル取引事業者であるイニシエータ１０４は、デジタル資産の取り引きを望む（売買注文一致による）２つのトレーダ、すなわち承認済み参加者１１６ａ及び１１６ｂを識別する。デジタル資産は、Ｂｉｔｃｏｉｎ（ビットコイン）もしくはＬｉｔｅｃｏｉｎ（ライトコイン）、デジタル不換通貨、デジタル証書、または任意の他の価値あるデジタル資産などの暗号通貨であり得る。デジタル取引所が、デジタル資産または資産の秘密暗号キーを管理する必要はない。売買注文が一致し、トランザクションを進める準備ができるまで、資産は２つの所有者にとどまる。
【００８２】
承認済み参加者１１６ａ及び承認済み参加者１１６ｂが資産を取引する準備ができると、デジタル取引事業者すなわちイニシエータ１０４は、トランザクションサーバ１０８及びエスクローを作成する（１１０）制御サーバ１０２と通信する（１１８）。トランザクションサーバ１０８は、自身がイニシエータ１０４の指定したパラメータに従って確立されたことを、好適なメッセージを制御サーバ１０２、イニシエータ１０４、及びトレーダすなわち承認済み参加者（１１６ａ及び１１６ｂ）へ伝えることで（１１２）、確認する。各承認済み参加者（１１６ａ及び１１６ｂ）は、自身の資産をエスクロー及びトランザクションサーバ１０８へ送信する。トランザクションサーバ１０８は、詳細を確認し、指定されたパラメータに従って、当事者及びトランザクションを認証する。資産の保管が、（ブロックの）指定された期間に関して関連ブロックチェーン上で一旦確認されると（制御サーバ１０２により指定されたトランザクション保証のレベル、または決済リスクに基づいて）、トランザクションサーバ１０８は、資産をそれぞれの受取者である承認済み参加者（１１６ａ及び１１６ｂ）へ移動させる（１２０ａ及び１２０ｂ）。トランザクションサーバ１０８は、パラメータに従って、対象となる受取者が新たなデジタル資産を受信したことを、確認してもしなくてもよい。一旦トランザクションが完了すると、トランザクションサーバ１０８は、制御サーバ１０２がパラメータにおいて指定した情報を送信し、そして終了する（２１２）。トランザクションサーバ１０８は、存在している間に、１つのトランザクションまたは複数のトランザクションを制御し得る。
【００８３】
前述のトランジェント資産エスクロー及び取引の実施形態の利点には、以下が含まれる。（１）システムが、本物のエスクローを確立する。（２）トランザクションサーバはわずかな時間のみ存在するため、悪意のある行為者には、トランザクションサーバを見つけ出し、標的にし、侵入する時間が十分にない。（３）トランザクションサーバはランダムな外部サーバ上に作成されるため、悪意のある行為者は、トランザクションサーバをホストするサーバの場所またはアドレスを知らない。（４）取引事業者は当事者の秘密キーにアクセスできないため、資産は集められず、デジタル取引事業者をフィッシングしても、取引事業者システムでこれまで得られていたような集合預入プールへのアクセスは得られない。（５）デジタル取引事業者の準備通貨要件及びサイバーセキュリティ費用が削減される。
【００８４】
本発明は、特定の実施形態に関して上記で説明されたが、前述の実施形態は、例示としてのみ提供されており、本発明の範囲を限定または定義するものではないことを理解されたい。下記を含むがこれらに限定されない様々な他の実施形態も、特許請求の範囲に含まれる。例えば、本明細書で説明される要素及び構成要素は、追加の構成要素にさらに分割されてもよく、または同じ機能を実行するより少ない構成要素を形成するために結集されてもよい。
【００８５】
本明細書で開示される機能のうちのいずれも、これらの機能を実行する手段を使用して実施され得る。このような手段は、後述されるコンピュータ関連構成要素など、本明細書で開示される構成要素のうちのいずれかを含むが、これに限定されない。
【００８６】
前述の技術は、例えば、ハードウェア、１つ以上のコンピュータ可読媒体上に実体的に格納された１つ以上のコンピュータプログラム、ファームウェア、またはこれらの任意の組み合わせで実施され得る。前述の技術は、プロセッサ、プロセッサによる読み出し可能及び／または書き込み可能な記憶媒体（例えば揮発性及び不揮発性メモリ、並びに／または記憶素子を含む）、入力デバイス、及び出力デバイス、以上のうちの任意の数の任意の組み合わせを含むプログラム可能なコンピュータ上で作動する（またはこれにより実行可能な）１つ以上のコンピュータプログラムで実施され得る。入力デバイスを使用して入力された入力にプログラムコードを適用して、説明された機能が実行され得、出力デバイスを使用して出力が生成され得る。
【００８７】
本発明の実施形態は、１つ以上のコンピュータ、コンピュータプロセッサ、及び／またはコンピュータシステムの他の要素を使用してのみ実行することが可能及び／または好適な特徴を含む。このような特徴を思考及び／または手動により実施することは、不可能である、または実用的ではない。例えば、本発明の実施形態には、制御サーバ１０２及びトランザクションサーバ１０８など、それ自体がコンピュータシステムであり、インターネットなどのデジタル通信ネットワークを介して互いに通信する様々な構成要素を含むコンピュータシステムが含まれる。本発明の実施形態は、従って、コンピュータ技術の向上に向けられる。
【００８８】
コンピュータ、プロセッサ、メモリ、または同様のコンピュータ関連要素を肯定的に必要とする本明細書の任意の特許請求項は、このような要素を必要とする意図があり、このような要素がこのような特許請求項に存在しない、またはこのような特許請求項が必要としないかのように解釈されるべきではない。このような特許請求項は、挙げられるコンピュータ関連要素を欠く方法及び／またはシステムを対象とする意図はなく、そのように解釈されるべきではない。例えば、特許請求される方法がコンピュータ、プロセッサ、メモリ、及び／または同様のコンピュータ関連要素により実行されることを挙げる本明細書の任意の方法の特許請求項は、挙げられるコンピュータ関連要素（複数可）により実行される方法を包含する意図があり、そのようにのみ解釈されるべきである。このような方法の特許請求項は、例えば、思考または手動により（例えば鉛筆と紙を使用して）行われる方法を包含すると解釈されるべきではない。同様に、特許請求される製品がコンピュータ、プロセッサ、メモリ、及び／または同様のコンピュータ関連要素を含むことを挙げる本明細書の任意の製品の特許請求項は、挙げられるコンピュータ関連要素（複数可）を含む製品を包含する意図があり、そのようにのみ解釈されるべきである。このような製品の特許請求項は、例えば、挙げられるコンピュータ関連要素（複数可）を含まない製品を包含すると解釈されるべきではない。
【００８９】
下記の特許請求の範囲内の各コンピュータプログラムは、アセンブリ言語、マシン語、高次手続き型プログラミング言語、またはオブジェクト指向プログラミング言語など、任意のプログラミング言語で実装され得る。プログラミング言語は、例えば、コンパイル型またはインタプリタ型のプログラミング言語であり得る。
【００９０】
このような各コンピュータプログラムは、コンピュータプロセッサにより実行されるために、マシン可読記憶装置に実体的に具現化されたコンピュータプログラム製品に実装され得る。本発明の方法ステップは、入力に作動して出力を生成することにより本発明の機能を実行するために、コンピュータ可読媒体に実体的に具現化されたプログラムを実行する１つ以上のコンピュータプロセッサにより実行され得る。好適なプロセッサは、例として、汎用及び専用の両方のマイクロプロセッサを含む。一般に、プロセッサは、メモリ（読み出し専用メモリ及び／またはランダムアクセスメモリなど）から命令及びデータを受信し（読み出し）、命令及びデータをメモリに書き込む（記憶する）。コンピュータプログラム命令及びデータを実体的に具現化するのに好適な記憶装置には、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリデバイスを含む半導体メモリデバイス、内部ハードディスク及びリムーバブルディスクなどの磁気ディスク、光磁気ディスク、並びにＣＤ‐ＲＯＭなど、全形態の不揮発性メモリが含まれる。前述のいずれも、特別設計ＡＳＩＣ（特定用途向け集積回路）またはＦＰＧＡ（フィールドプログラマブルゲートアレイ）により補完され得る、またはこれらの中に組み込まれ得る。コンピュータはまた、一般に、内部ディスク（図示せず）またはリムーバブルディスクなどの非一時的コンピュータ可読記憶媒体からプログラム及びデータを受信し（読み出し）、非一時的コンピュータ可読記憶媒体にプログラム及びデータを書き込む（記憶する）ことができる。これらの要素は、従来のデスクトップまたはワークステーションコンピュータ、並びに本明細書で説明される方法を実施するコンピュータプログラムを実行するのに好適な他のコンピュータにも見られ、これらは、任意のデジタル印刷エンジンまたはマーキングエンジン、表示モニタ、あるいは紙、フィルム、表示画面、または他の出力媒体上に色画素またはグレースケール画素を生成することが可能な他のラスタ出力デバイスと併せて使用され得る。
【００９１】
本明細書で開示される任意のデータは、例えば、非一時的コンピュータ可読媒体に実体的に格納された１つ以上のデータ構造に実装され得る。本発明の実施形態は、このようなデータをこのようなデータ構造（複数可）に格納し、このようデータをこのようなデータ構造（複数可）から読み出し得る。
【図１】
2019537167.tif 000003
【図２】
2019537167.tif 000004
【図３】
2019537167.tif 000005
【図４】
2019537167.tif 000006
【図５】
2019537167.tif 000007
【図６】
2019537167.tif 000008
【図７】
2019537167.tif 000009
【図８】
2019537167.tif 000010
【国際調査報告】
2019537167.tif 000011
2019537167.tif 000012