(57)【要約】  リソース転送システムのシステムおよび技法が提供される。第1のリソースプールから第2のリソースプールにリソースの第1の量を転送する命令が、受信され得る。ホールドが、第1のリソースプール内のリソースの第2の量にかけられ得る。第1のリソースのホールドされた第2の量は、ホールドが解放されるまで、第1のリソースプールから転送され得ない。ホールドに対する条件を満足するメッセージと転送を実行する命令との受信に応答して、ホールドが、解放される。第1のリソースプール内にあり、リソースに関連するレジスタが、第1の量だけ減分され得、第2のリソースプール内にあり、リソースに関連するレジスタが、第1の量だけ増分され得る。
2018535500.tif 000002
【特許請求の範囲】
【請求項１】
第1のリソースプールから第2のリソースプールに第1のリソースタイプの第1の量を転送する命令を受信するステップと、
前記第1のリソースプール内の前記第1のリソースタイプの第2の量にホールドをかける命令を受信するステップであって、前記ホールドの条件が、転送が一時的コンセンサスネットワークによって承認されたという指示の受信である、ステップと、
前記第1のリソースプール内の前記第1のリソースタイプの前記第2の量に前記ホールドをかけることの許可を受信するステップと、
前記許可の受信に応答して、前記第1のリソースタイプのホールドされた第2の量を作成するために前記第1のリソースプール内の前記第1のリソースタイプの前記第2の量にホールドをかけるステップであって、前記第1のリソースタイプの前記ホールドされた第2の量は、前記ホールドが解放されるまで、前記第1のリソースプールから転送され得ない、ホールドをかけるステップと、
前記ホールドの条件を満足するメッセージを受信するステップであって、前記ホールド条件を満足する前記メッセージが、前記一時的コンセンサスネットワークが前記転送を承認したという指示を含む、ステップと、
前記第1のリソースプールから前記第2のリソースプールへの前記第1のリソースタイプの前記第1の量の前記転送を実行する命令を受信するステップと、
前記ホールドに対する前記条件を満足する前記メッセージと前記転送を実行する前記命令との受信に応答して、前記第1のリソースタイプの前記ホールドされた第2の量に対する前記ホールドを解放し、前記第1のリソースプール内にあり、前記第1のリソースタイプに関連する第1のレジスタを前記第1の量だけ減分し、前記第2のリソースプール内にあり、前記第1のリソースタイプに関連する第2のレジスタを前記第1の量だけ増分するステップと
を含む、データ処理装置上で実行されるコンピュータ実施方法。
【請求項２】
前記一時的コンセンサスネットワークが、複数のメンバーノードを含む、請求項1に記載の方法。
【請求項３】
前記一時的コンセンサスネットワークが前記転送を承認したという前記指示が、前記一時的コンセンサスネットワークが前記転送を承認したという、閾値の数のメンバーノードからのステートメントを含む、請求項2に記載の方法。
【請求項４】
前記閾値の数のメンバーノードが、メンバーノードの数の1/3である、請求項3に記載の方法。
【請求項５】
定足数のメンバーノードが1つもしくは複数の準備済み転送レシートかまたは指定された当事者からのレシートかのいずれかに基づいて前記転送が承認されると判定する時、前記一時的コンセンサスネットワークが前記転送を承認した、請求項3に記載の方法。
【請求項６】
定足数が、メンバーノードの数の2/3である、請求項5に記載の方法。
【請求項７】
前記一時的コンセンサスネットワークの前記メンバーノードが、転送チェーン内のシステムからの信頼リストに共通するノードである、請求項2に記載の方法。
【請求項８】
前記第1のリソースタイプの前記第2の量に対する前記ホールドを解放し、前記第1のリソースプール内にあり、前記第1のリソースタイプに関連する第1のレジスタを前記第1の量だけ減分し、前記第2のリソースプール内にあり、前記第1のリソースタイプに関連する第2のレジスタを前記第1の量だけ増分するステップは、前記ホールドに対する前記条件を満足する前記メッセージと前記転送を実行する前記命令との受信時に決定論的に実行され、停止され得ない、請求項1に記載の方法。
【請求項９】
転送のイニシエータから信頼リストの要求を受信するステップと、
前記イニシエータへの信頼リストか、または、信頼リストを前記イニシエータに送信するようにとのリソース追跡システムへの命令かのいずれかを送信するステップと、
第1のリソースプール内の第1のリソースタイプの第1の量にホールドをかけることを許可することを求める、前記イニシエータからの要求を受信するステップと、
前記第1のリソースプール内の前記第1のリソースタイプの前記第1の量に前記ホールドをかけることを可能にする許可を送信するステップであって、前記ホールドの条件が、前記転送が一時的コンセンサスネットワークによって承認されたという指示の受信である、送信するステップと、
前記転送への参加の前記イニシエータへの肯定応答を送信するステップと、
前記一時的コンセンサスネットワークが前記転送を承認したという指示を含むメッセージを前記イニシエータから受信するステップと
を含む、データ処理装置上で実行されるコンピュータ実施方法。
【請求項１０】
前記一時的コンセンサスネットワークが前記転送を承認したという前記指示を含む前記メッセージの受信に応答して、第2のリソースプールから第3のリソースプールへの第2のリソースタイプの第2の量の転送を実行する命令を送信するステップをさらに含む、請求項9に記載の方法。
【請求項１１】
前記第2のリソースタイプの前記第2の量に対するホールドを解放するために、前記一時的コンセンサスネットワークが前記転送を承認したという前記指示を含む前記メッセージを送信するステップをさらに含む、請求項10に記載の方法。
【請求項１２】
前記信頼リストの前記要求を受信する前に、ソース転送および宛先転送を含む提案される転送を受信するステップをさらに含む、請求項9に記載の方法。
【請求項１３】
前記一時的コンセンサスネットワークが、複数のメンバーノードを含む、請求項9に記載の方法。
【請求項１４】
前記一時的コンセンサスネットワークが前記転送を承認したという前記指示が、前記一時的コンセンサスネットワークが前記転送を承認した閾値の数のメンバーノードからのステートメントを含む、請求項13に記載の方法。
【請求項１５】
前記閾値の数のメンバーノードが、メンバーノードの数の1/3である、請求項14に記載の方法。
【請求項１６】
定足数のメンバーノードが、1つもしくは複数の準備済み転送レシートかまたは指定された当事者からのレシートかのいずれかに基づいて前記転送が承認されると判定する時、前記一時的コンセンサスネットワークが前記転送を承認する、請求項14に記載の方法。
【請求項１７】
定足数が、メンバーノードの数の2/3である、請求項16に記載の方法。
【請求項１８】
前記一時的コンセンサスネットワークの前記メンバーノードが、転送チェーン内のシステムからの信頼リストに共通するノードである、請求項10に記載の方法。
【請求項１９】
複数の利害関係者のシステムおよび複数のリソース追跡システムを含む転送チェーン内の複数の利害関係者のシステムに信頼リストの要求を送信するステップと、
前記転送チェーン内の前記複数の利害関係者のシステムの各々のための信頼リストを受信するステップと、
一時的コンセンサスネットワークを生成するために前記受信された信頼リスト上のノードの共通部分を決定するステップと、
前記複数のリソース追跡システムのうちの指定された1つにおいて指定されたリソースプール内で指定されたリソースタイプの指定された量に前記利害関係者のシステムがホールドをかけるという要求を、宛先転送によって前記転送チェーン内の前記複数の利害関係者のシステムの各々に送信するステップと、
前記利害関係者のシステムが前記ホールドをかけるという確認を受信するステップであって、前記確認が、前記転送チェーン内の前記複数のリソース追跡システムの各々によって生成された準備済み転送レシートかまたは指定された当事者からのレシートかのいずれかを含む、受信するステップと、
前記転送に参加する同意の肯定応答を前記転送における各利害関係者のシステムから受信するステップと、
前記一時的コンセンサスネットワークの前記メンバーノードに前記準備済み転送レシートかまたは前記指定された当事者からの前記レシートかのいずれかを送信するステップと、
前記一時的コンセンサスネットワークが前記転送を承認したことを示すステートメントを、前記一時的コンセンサスネットワークの少なくとも閾値の数の前記メンバーノードから受信するステップと、
前記一時的コンセンサスネットワークの前記少なくとも閾値の数の前記メンバーノードからの前記ステートメントを前記利害関係者のシステムに送信するステップと
を含む、データ処理装置上で実行されるコンピュータ実施方法。
【請求項２０】
前記複数の利害関係者のシステムが、センダ、レシーバ、少なくとも1つのインターメディアリを含む、請求項19に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
【背景技術】
【０００２】
2つの当事者の間でのリソースの転送は、1つまたは複数の第三者の関与を必要とする場合がある。たとえば、送信当事者が、あるタイプの送信すべきリソース(ドルなど)を有するが、受信当事者が、異なるタイプのリソース(ユーロなど)の受信を期待する場合には、送信当事者のリソース(ドル)を受信当事者によって期待されるリソース(ユーロ)に変換するために第三者が必要とされる場合がある。より多くの当事者が、リソース転送に導入される可能性がある。たとえば、第1の仲介者はドルを円に変換することができ、第2の仲介者は受信当事者のために円をユーロに変換することができる。仲介者の数が増加するにつれて、転送に関与する当事者に関するリスクが高まる可能性がある。たとえば、送信当事者と受信当事者との間の第三者のうちの1つ(仲介者など)がリソース(送信当事者からのドルなど)を得るが、これを異なるタイプのリソース(たとえば、円)に変換して受信当事者に向けて別の仲介者に渡すのではなく、そのまま保持することが可能な場合がある。第三者がユーロなどのリソースを受信当事者に転送し、その後、送信当事者、または送信当事者と第三者との間の仲介者のいずれによっても払い戻され得ないことも可能である場合がある。悪意のある送信当事者は、他の当事者のうちの1つまたは複数によって保持されるリソースを一時的に取引に結び付けるために、故意に失敗するように設計されたリソース転送を開始することもできる。
【発明の概要】
【課題を解決するための手段】
【０００３】
本明細書で開示されるシステムおよび技法は、リソース転送システムを可能にすることができる。開示される主題の追加の特徴、利点、および実施形態は、以下の詳細な説明、図面、および特許請求の範囲に示され、またはこれを考慮することから明白になり得る。さらに、前述の要約と以下の詳細な説明との両方が、例であり、特許請求の範囲の範囲を限定せずにさらなる説明を提供することが意図されていることを理解されたい。
【０００４】
第1のリソースプールから第2のリソースプールに第1のリソースタイプの第1の量を転送する命令が、受信され得る。第1のリソースプール内の第1のリソースタイプの第2の量にホールドをかける命令が、受信され得る。第1のリソースプール内の第1のリソースタイプの第2の量にホールドをかけることの許可。許可の受信に応答して、ホールドが、第1のリソースタイプのホールドされた第2の量を作成するために第1のリソースプール内の第1のリソースタイプの第2の量にかけられ得る。第1のリソースタイプのホールドされた第2の量は、ホールドが解放されるまで、第1のリソースプールから転送され得ない。
【０００５】
ホールドの条件を満足するメッセージが、受信され得る。第1のリソースプールから第2のリソースプールへの第1のリソースタイプの第1の量の転送を実行する命令が、受信され得る。ホールドに対する条件を満足するメッセージと転送を実行する命令との受信に応答して、第1のリソースタイプのホールドされた第2の量に対するホールドが、解放され得、第1のリソースプール内にあり、第1のリソースタイプに関連する第1のレジスタが、第1の量だけ減分され得、第2のリソースプール内にあり、第1のリソースタイプに関連する第2のレジスタが、第1の量だけ増分され得る。
【０００６】
提案される転送を含むメッセージが、受信され得る。提案される転送は、第1のリソースプールから第2のリソースプールへの第1のリソースタイプの第1の量のソース転送と、第3のリソースプールから第4のリソースプールへの第2のリソースタイプの第2の量の宛先転送とを含むことができる。ホールドが第1のリソースプール内の第1のリソースタイプの第3の量にかけられたことを示すメッセージが、受信され得る。宛先転送の実行に関連するメッセージが、送信され得る。第1のリソースプール内の第1のリソースタイプの第3の量のホールドに関する条件が満足されたことを示すメッセージが、受信され得る。第1のリソースプールから第2のリソースプールへの第1のリソースタイプの第1の量のソース転送を実行する命令が、送信され得る。
【０００７】
準備済み転送レシートが、転送チェーン内の複数のリソース追跡システムのそれぞれから受信され得る。準備済み転送レシートは、リソース追跡システムの各々がそれぞれのリソースタイプのそれぞれの量にホールドをかけたことを示すことができる。署名されたメッセージが、複数のリソース追跡システムのそれぞれおよび複数のインターメディアリのそれぞれに送信され得る。署名されたメッセージは、リソース追跡システムのそれぞれによってかけられたホールドのそれぞれに関する条件を満足し、複数のインターメディアリのそれぞれに、転送を実行する少なくとも1つの命令を複数のリソース追跡システムうちの1つに送信させることができる。
【０００８】
添付図面は、開示される主題のさらなる理解を提供するために含まれるが、本明細書に組み込まれ、その一部を構成する。図面は、開示される主題の実施形態をも例示し、詳細な説明と一緒に、開示される主題の実施形態の原理を説明するように働く。開示される主題とこれを実践できる様々な形の基本的な理解に必要である可能性があるものより詳細に構造的詳細を示す試みは、行われていない。
【図面の簡単な説明】
【０００９】
【図１】開示される主題の実装形態によるリソース転送システムに適する例示的なシステムを示す図である。
【図２】開示される主題の実装形態によるリソース転送システムに適する例示的なシステムを示す図である。
【図３】開示される主題の実装形態によるリソース転送システムに適する例示的なシステムを示す図である。
【図４】開示される主題の実装形態によるリソース転送システムに適する例示的なシステムを示す図である。
【図５】開示される主題の実装形態によるリソース転送システムに適する例示的なシステムを示す図である。
【図６Ａ】開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す図である。
【図６Ｂ】開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す図である。
【図６Ｃ】開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す図である。
【図６Ｄ】開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す図である。
【図７Ａ】開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す図である。
【図７Ｂ】開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す図である。
【図７Ｃ】開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す図である。
【図８Ａ】開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す図である。
【図８Ｂ】開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す図である。
【図８Ｃ】開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す図である。
【図９Ａ】開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す図である。
【図９Ｂ】開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す図である。
【図９Ｃ】開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す図である。
【図１０】開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す図である。
【図１１】開示される主題の実装形態によるリソース転送システムに適する例のシーケンスを示す図である。
【図１２】開示される主題の実装形態によるリソース転送システムに適する例のシーケンスを示す図である。
【図１３Ａ】開示される主題の実装形態によるリソース転送システムに適する例のシーケンスを示す図である。
【図１３Ｂ】開示される主題の実装形態によるリソース転送システムに適する例のシーケンスを示す図である。
【図１４】開示される主題の実装形態によるリソース転送システムに適する例のシーケンスを示す図である。
【図１５】開示される主題の実装形態によるリソース転送システムに適する例のシーケンスを示す図である。
【図１６】開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す図である。
【図１７Ａ】開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す図である。
【図１７Ｂ】開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す図である。
【図１８Ａ】開示される主題の実装形態によるリソース転送システムに適する例の手順を示す図である。
【図１８Ｂ】開示される主題の実装形態によるリソース転送システムに適する例の手順を示す図である。
【図１９】開示される主題の実装形態によるリソース転送システムに適する例の手順を示す図である。
【図２０Ａ】開示される主題の実装形態によるリソース転送システムに適する例の手順を示す図である。
【図２０Ｂ】開示される主題の実装形態によるリソース転送システムに適する例の手順を示す図である。
【図２１】開示される主題の実装形態によるリソース転送システムに適する例の手順を示す図である。
【図２２】開示される主題の実施形態によるコンピュータを示す図である。
【図２３】開示される主題の実施形態によるネットワーク構成を示す図である。
【発明を実施するための形態】
【００１０】
本明細書で開示される実施形態によれば、リソース転送システムは、関与する当事者へのリスクを減らしながら、送信当事者から受信当事者への異なるタイプのリソースの転送と、1つまたは複数の第三者(仲介当事者など)の関与とを可能にすることができる。送信当事者は、任意の適切なコンピューティングデバイスを使用して、受信当事者へのリソースの転送を開始することができる。転送は、リソース追跡システムを使用して実行され得、このリソース追跡システムは、様々な当事者によるリソースの所有権を追跡する、任意の適切なコンピューティングデバイスとされ得る。送信当事者、受信当事者、および仲介当事者は、センダ、インターメディアリ、およびレシーバなどのコンピューティングデバイスを使用することができる。センダ、インターメディアリ、レシーバ、およびリソース追跡システムを、センダからレシーバへの転送チェーンの一部と考えることができる。
【００１１】
本明細書で使用される時に、転送の所与の当事者に関して、リソース追跡システム上でのその当事者へのリソースの転送を、「ソース転送」と称し、その当事者から離れるリソースの転送を、「宛先転送」と称する。同一の当事者に関するソース転送および宛先転送は、2つの別々のリソース追跡システムを使用して行われ得、このリソース追跡システムの両方が、その当事者によって制御されるリソースを追跡することができる。リソース追跡システムは、両方の当事者がリソース追跡システムによって追跡されるリソースを有する時に、2つの当事者の間にあるものとすることができ、その結果、リソース追跡システムは、当事者の間でリソースを転送できるようになる。
【００１２】
転送されるリソースに、ホールドをかけることができる。ホールドの目的は、転送チェーン内の1つまたは複数の参加者によって引き受けられるリスクの量を減らすことである。一般に、「ホールド」は、ホールドのある種の条件が満足されない限り、また、その条件が満足されるまで、ある量のリソースおよび/または特定のリソースの転送を防ぐ。これらの条件は、たとえば、転送を処理できることを示す、転送に参加する当事者のすべてによって信頼されるコンピューティングデバイスまたはコンピューティングシステムからの署名されたメッセージの受信、受信当事者またはレシーバが責任を委譲した何らかの第三者である可能性がある指定された当事者からの、予め合意された署名されたメッセージなどのレシートの受信とすることができる。指定された第三者は、たとえば、転送チェーン内のインターメディアリまたはリソース追跡システム、第三者公証人(notary)、または何らかのその他の適切な当事者のうちの1つとすることができる。条件は、たとえば、ある当事者からのリソースの宛先転送が行われたことの証拠とすることのできるメッセージ(「レシート」)の受信時に、その当事者へのリソースのソース転送が進行できることとすることもできる。もう1つの例として、条件は、転送チェーン内の1つまたは複数の異なる点で1つまたは複数の他のホールドがかけられていることの証拠の受信とすることができる。条件は、たとえば、スマートコントラクトが実行されつつあることの証拠、または、配送サービスによる物理的パッケージの成功の配送を確認するデジタル署名など、イベントの発生を示す第三者からのデジタル署名または他の署名されたメッセージとすることもできる。ホールドの条件は、たとえば、たとえば複数の他の当事者からの署名の受信を含む、複数の他の非ホールド条件の満足の証拠とすることもできる。
【００１３】
送信当事者は、送信側コンピューティングデバイスすなわち「センダ」を使用して、クォート(quote)を要求することによってレシーバへの転送を開始することができる。クォートは、センダからレシーバへの転送を行うのに必要なリソースに関するものとされ得る。クォートは、レシーバに転送されるべきリソースの量ならびに転送をもたらすためのすべての料金を含むことができる。そのような料金は、インターメディアリによって課金され得る。様々な仲介のコンピューティングデバイスまたはコンピューティングシステムと通信しているものとすることができる任意の適切なコンピューティングデバイスまたはコンピューティングシステムを用いて、任意の適切な当事者にクォートを要求することができる。
【００１４】
すべての転送チェーンに関して、ホールドされたリソースおよびインターメディアリの数に対する任意の条件を使用して、送信当事者は、クォートを受け入れ、転送されるべきそれ自体のリソースに対するホールドを許可することができる。ホールドは、送信当事者と転送チェーン内の第1の仲介当事者との間の、センダ-インターメディアリリソース追跡システムとされ得るリソース追跡システム上でかけられ得る。センダ-インターメディアリリソース追跡システムは、送信当事者によって制御されるある種のリソースと、第1の仲介当事者によって制御される他のリソースとを追跡することができる。一般に、ホールドは、転送チェーン内の隣接する当事者のリソースを追跡する責任を負うリソース追跡システム上でかけられ得る。たとえば、送信当事者のリソースの量およびタイプの記録を、リソース追跡システムの一部であるデータベース内に記憶することができる。送信当事者に属するリソースのある量にホールドをかける際に、リソース追跡システムは、ホールドの特定の条件が満足されない限り、その条件が満足されるまで、リソースのその量および/または特定のリソースの転送を防ぐことができる。送信当事者と転送チェーン内の次の当事者との両方のリソースは、同一のタイプを有するものとすることができる。ホールドが許可されたならば、転送の次の当事者、たとえば仲介コンピューティングデバイスすなわち「インターメディアリ」を使用する仲介当事者は、リソース追跡システムに、送信当事者によって許可されたリソースに対するホールドを実施させることができる。これは、送信当事者のリソースのうちのある量をロックアップし、他の転送が、センダ-インターメディアリリソース追跡システム上の送信当事者のリソースを、ある時間期間の間にホールドされた量未満に減らすことを防ぐことができる。センダ-インターメディアリリソース追跡システムは、計画された転送に備えて、要求されたホールドがリソースにかけられたことを示すことができるホールドレシート(「準備済み転送レシート」)を送信することができる。ホールドを、リソース追跡システム上のホールドするアカウントにホールドされたリソースを転送することによってかけることもできる。ホールドするアカウントは、リソース追跡システムのオペレータによって所有され、または第三者によって所有され得る。たとえば、第三者は、送信当事者が転送に使用されるべきリソースをそこに転送することのできるリソース追跡システム上にアカウントを確立することができる。送信当事者のリソースは、転送チェーン内の第1の仲介当事者のアカウントに転送される時に、リソース追跡システム上の第三者のアカウントから出て転送され得る。
【００１５】
単一のインターメディアリ転送チェーンに関して、ホールドされたリソースの転送を可能にするリソース追跡システムに関する条件を、転送が進行できることを示す信頼されるシステムからの署名されたメッセージを受信することとすることができる。インターメディアリは、センダ-インターメディアリリソース追跡システムによって送出された準備済み転送レシートを受信することができる。これに応答して、インターメディアリは、仲介当事者によって制御され、インターメディアリ-レシーバリソース追跡システムによって追跡されるリソースのある量に対してホールドをかけることができ、このインターメディアリ-レシーバリソース追跡システムは、受信当事者によって制御されるリソースをも追跡することができる。両方のリソース追跡システム上の転送に関するリソースのすべてが転送に関してホールドをかけられた時に、転送は、進行することができる。これは、転送全体が行わるのではない部分的転送を防ぐことができる。ホールドを解放する条件は、異なるリソース追跡システム上での転送に関与する適当なリソースがホールドをかけられたことと、転送が進行できることとを検証した信頼される第三者(「信頼されるシステム」)からの暗号的に署名されたステートメントの受信とすることができる。信頼されるシステムは、このステートメントを、たとえば、転送に関与するリソース追跡システム(センダ-インターメディアリリソース追跡システムおよびインターメディアリ-レシーバリソース追跡システム)からの、量がホールドされていることの検証されたメッセージに基づくものとすることができる。
【００１６】
信頼されるシステムは、ホールドが転送内の両方のリソース追跡システムにおいてリソースにかけられたことを示す準備済み転送レシート(ホールドレシート)を受信することができ、リソース追跡システムおよびインターメディアリに、転送が進行できることを示す署名されたメッセージを送信することができる。インターメディアリは、インターメディアリ-レシーバリソース追跡システムに、ホールドがかけられた仲介当事者のリソースを受信当事者に転送する命令を送信することができる。インターメディアリは、ホールドがかけられた送信当事者のリソースを仲介当事者に転送するようにセンダ-インターメディアリリソース追跡システムに命令することもできる。ホールド条件が、信頼されるシステムからの署名されたメッセージの受信によって満足されたものとされ得るので、リソース追跡システムは、インターメディアリによる命令の通りに転送を実行することができ、転送確認レシートをインターメディアリに送信することができる。インターメディアリは、たとえばレシーバコンピューティングデバイスすなわち「レシーバ」の受信当事者と、センダの送信当事者とに、転送が完了したことを通知することができる。
【００１７】
いくつかの実装形態では、転送チェーンのための信頼されるシステムは、一時的コンセンサスネットワーク(consensus network)とすることができる。転送チェーンのための一時的コンセンサスネットワークは、たとえば、転送チェーンの一部ではないリソース追跡システムまたはインターメディアリとされ得るいくつかのシステムまたはノードを含むことができる。一時的コンセンサスネットワーク内のノードは、転送チェーン内の利害関係者(stakeholder)から収集された信頼リスト(trust list)の共通部分に基づいて選択され得る。利害関係者は、たとえば、送信当事者、受信当事者、および転送チェーン内の任意の仲介当事者とすることができる。利害関係者の信頼リストは、転送チェーンのための一時的コンセンサスネットワークの一部であるとその利害関係者によって信頼されるノードのリストとすることができる。
【００１８】
転送チェーンがセットアップされる時、転送のイニシエータ(initiator)は、各利害関係者からの信頼リストを要求することができる。要求は、各利害関係者のための適当なシステム、たとえば、センダ、レシーバ、およびインターメディアリに送信され得る。イニシエータは、転送を開始する任意の当事者のシステムとすることができる。たとえば、イニシエータは、センダ、レシーバ、インターメディアリ、または転送チェーンをセットアップすることを課せられ得るが、転送チェーンの一部ではないものされ得るコーディネータ(coordinator)とすることができる。各利害関係者のシステムから信頼リストを受信すると、イニシエータは、受信された信頼リストのすべてと重なるかまたは受信された信頼リストのすべてに共通するノードの組を決定することができる。これらのノードは、転送チェーンのための一時的コンセンサスネットワークのメンバーノードとすることができる。一時的コンセンサスネットワーク内のメンバーノードの最小数は、信頼リストが収集された利害関係者によって指定された耐障害性に基づくことができる。利害関係者によって指定された耐障害性は、たとえば、一時的コンセンサスネットワークが耐えられなければならないビザンチン障害の最小数とすることができる。ノードの最小数は、たとえば、利害関係者からの最も高い指定された耐性の3倍を超える数とすることができる。収集された信頼リスト上に、一時的コンセンサスネットワークのためのノードの最小数を満足するのに十分な重なるノードが存在しない場合、転送は中止され得る。何らかの利害関係者は、独自の信頼リストを持たないかまたは保有しないものとされ得る。そのような利害関係者は、それらの利害関係者に代わって、たとえば、リソース追跡システムによって信頼リストが提供されることを許すことができる。リソース追跡システムは、利害関係者に代わって信頼リストを提供することができ、リソース追跡システムは、転送チェーンの一部として、その利害関係者にまたはその利害関係者からリソースを転送する。
【００１９】
イニシエータは、信頼リストから組み立てられる一時的コンセンサスネットワークによる転送の承認をホールドに対する条件として、利害関係者のシステムがそれらのそれぞれのリソースに適当なホールドをかけるという要求を転送チェーン内のそれらの利害関係者のシステムのすべてに送信することができる。利害関係者のシステム、たとえば、センダ、レシーバ、および任意のインターメディアリは、一時的コンセンサスネットワークが転送を承認したことが証明された場合にのみホールドが解放され得るという条件付きで、適当なリソース追跡システムにそれらのリソースにホールドをかけるように命令することができる。また、利害関係者のシステムは、それらの利害関係者のシステムが転送チェーンに参加することに同意することをイニシエータに知らせることができる。リソース追跡システムからの準備済み転送レシートが、イニシエータに送信され得る。肯定応答が利害関係者のシステムのすべてから受信されない場合、転送は中止され得る。
【００２０】
イニシエータは、たとえば、準備済み転送レシートを使用して、一時的コンセンサスネットワークのメンバーノードに、転送チェーンのための適当なホールドのすべてが利害関係者によってかけられたという証明を提示することができる。一時的コンセンサスネットワークのメンバーノードは、たとえば、準備済み転送レシートを調べて、それらの準備済み転送レシートが本物であり、準備済み転送レシートが転送チェーン内の各リソース追跡システムに関して受信され、一時的コンセンサスネットワークが転送を承認したことを示すメッセージの受信をホールド条件として、的確なリソースプールへの転送のために的確なリソースプールにおいて的確なリソースタイプの的確な量がホールドされたことを準備済み転送レシートが示すと判定することによって、適当なホールドがかけられたことを検証することができる。また、メンバーノードは、転送の期限またはタイムアウトの前にリソースがホールドされたことを保証するために、準備済み転送レシートのタイムスタンプを検証することができる。
【００２１】
一時的コンセンサスネットワークのメンバーノードは、転送を承認すべきかどうかについてのコンセンサスに達することができる。メンバーノードは、それらのメンバーノードの判断を伝達するための任意の適切な種類の通信を使用して任意の適切な形でコンセンサスに達することができる。たとえば、メンバーノードは、実用的耐ビザンチン障害性(Practical Byzantine Fault Tolerance)コンセンサスを使用することができる。コンセンサスは、定足数のメンバーノードによって達せられ得、定足数は、一時的コンセンサスネットワーク内のメンバーノードの2/3とすることができる。イニシエータは、転送を承認すべきか否かの一時的コンセンサスネットワークの判断を含む、一時的コンセンサスネットワークのメンバーノードの各々からの署名されたステートメントを要求することができる。ステートメントは、暗号的に署名され得る。イニシエータは、そのイニシエータがそのような署名されたステートメントを1/3を超えるメンバーノードから受信するまで待つことができる。
【００２２】
一時的コンセンサスネットワークが転送を承認する場合、イニシエータは、一時的コンセンサスネットワークが転送を承認したことを示す、1/3を超えるメンバーノードからの署名されたステートメントを利害関係者に提示することができる。それから、利害関係者は、ホールドされたリソースを解放し、それらのリソースが適当なリソースプールに転送されることを可能にするために、メンバーノードからの署名されたステートメントが転送チェーン内のリソース追跡システムに提示されるようにして、転送チェーンにまたがって転送の実行を進行することができる。一時的コンセンサスネットワークが、たとえば、遅い、失われた、偽造された、またはそれ以外の信頼できない準備済み転送レシートが原因で転送を承認しない場合、転送は中止され得る。イニシエータは、一時的コンセンサスネットワークが転送を承認しなかったことを示す、1/3を超えるメンバーノードからの署名されたステートメントを利害関係者に提示することができる。利害関係者は、転送をロールバックすることができる。
【００２３】
転送が完了されるまたは中止されるかのいずれかの後、一時的コンセンサスネットワークは、解散させられる可能性があり、または同じ利害関係者を含むさらなる転送のためにそのままに保たれ得る。一時的コンセンサスネットワーク内のメンバーノードは、それぞれ、定足数に至る際に同じ重み付けをされ得、またはたとえば計算能力によって重み付けされ得る。
【００２４】
リソースに対するホールドを解放するために満足されなければならない条件のもう1つの例を、リソースのある種の転送が行われたことの証拠とすることができる。たとえば、単一インターメディアリの転送チェーン内で、センダ-インターメディアリリソース追跡システムによって送出された準備済み転送レシートの受信に応答して、インターメディアリは、インターメディアリ-レシーバリソース追跡システムに、仲介当事者によって制御されるリソースを受信当事者に転送するように命令することができる。インターメディアリは、転送が完了した後に、インターメディアリ-レシーバリソース追跡システムから転送確認レシートを受信することができる。この転送確認レシートを、仲介当事者からのリソースの宛先転送が行われたことの証拠として、センダ-インターメディアリリソース追跡システムに送信することができる。これは、センダ-インターメディアリリソース追跡システムでの送信当事者のリソースに対するホールドを解放する条件を満足することができ、送信当事者のリソースを仲介当事者に転送することを可能にする。インターメディアリは、転送(センダからレシーバへの)が完了したことの通知をレシーバおよびセンダに送信することができる。
【００２５】
リソースに対するホールドを解放するために満足されなければならない条件の別の例を、レシーバからの、何らかの予め合意された署名されたメッセージである可能性があるレシートの受信とすることができる。たとえば、単一のインターメディアリ転送チェーンにおいては、センダ-インターメディアリリソース追跡システムによって送出された準備済み転送レシートの受信に応答して、インターメディアリは、仲介当事者によって制御され、受信当事者によって制御されるリソースも追跡し得るインターメディアリ-レシーバリソース追跡システムによって追跡される特定の量のリソースにホールドをかけるようにインターメディアリ-レシーバリソース追跡システムに命令することができる。レシーバは、インターメディアリ-レシーバリソース追跡システムにおいて、仲介当事者によって制御されるリソースがホールドをかけられたことを示すレシートを送信され得る。レシーバは、コンテンツが転送チェーン内の当事者によって予め合意された可能性があり、それら自体はチェーンの転送の状態に関するいかなることも示さない可能性がある署名されたメッセージをセンダ-インターメディアリリソース追跡システム、インターメディアリ-レシーバリソース追跡システム、およびインターメディアリに送出することができる。この署名されたメッセージは、暗号的に署名され得、センダ-インターメディアリリソース追跡システムにおいて送信当事者のリソースに対するホールドを解放し、送信当事者のリソースが仲介当事者に転送されることを可能にするための、およびレシーバインターメディアリリソース追跡システムにおいて仲介当事者のリソースに対するホールドを解放し、仲介当事者のリソースが受信当事者に転送されることを可能にするための条件を満足することができる。
【００２６】
インターメディアリは、ホールドがかけられた仲介当事者のリソースを受信当事者に転送するための命令をインターメディアリ-レシーバリソース追跡システムに送信することができる。また、インターメディアリは、ホールドがかけられた送信当事者のリソースを仲介当事者に転送するようにセンダ-インターメディアリリソース追跡システムに命令し得る。ホールド条件がレシーバからの署名されたメッセージの受信によって満足された可能性があるので、リソース追跡システムは、インターメディアリによって命じられたように転送を実行することができ、転送確認レシートをインターメディアリに送信することができる。インターメディアリは、たとえば、転送が完了されたことを、レシーバコンピューティングデバイスまたは「レシーバ」において受信当事者に知らせ、センダにおいて送信当事者に知らせることができる。
【００２７】
転送チェーン内のリソースに対するホールドの各々の条件がレシーバからのレシートの受信である時、レシーバは、着信する転送を拒絶し、転送チェーンを失敗させることができるものとされ得る。たとえば、仲介当事者のリソースにホールドがかけられたことを示す、インターメディアリ-レシーバリソース追跡システムからのレシートが、レシーバに送信され得る。受信当事者は、レシートを調べることができ、それらの受信当事者が転送を受け付けたくないと決定することができる。受信当事者は、レシーバに、転送チェーン内で現在ホールドされているすべてのリソースのホールドに対する条件を満足するレシートを送出しないように命じることができる。最後には、転送はタイムアウトし、失敗し、いかなるリソースも転送されることなく、ホールドのすべてが解放される。いくつかの実装形態では、レシーバは、受信当事者による介入なしに任意の適切な理由で転送を自動的に拒絶することができる。たとえば、レシーバは、受信当事者のアカウントへの転送のためにホールドされているリソースの量または値が誤っていることをインターメディアリ-レシーバリソース追跡システムからのレシートが示す時、転送を自動的に拒絶するように構成され得る。
【００２８】
また、受信当事者は、レシートを生成し、送信する責任を、受信当事者によって指定された何らかの第三者に委譲することができる。レシートに関する責任は、受信当事者の受信側が条件を満足するためにその責任をそれらの受信側の能力の範囲内に収めるか、条件を満足させ得るか、または第三者がそれらの受信側の代わりとして働くと信頼するかのいずれかである限り、任意の適切な当事者に委譲され得る。たとえば、受信当事者は、任意のレシートをインターメディアリ-レシーバリソース追跡システムから第三者公証人に転送することができ、第三者公証人は、正しい量のリソースがホールドされ、受信当事者のアカウントに転送されることをレシートが示すことを検証し、それから、受信当事者の代わりにホールド条件を満足するためにレシートを送出することができる。別の例として、受信当事者は、物理的商品の出荷者に責任を委譲することができ、転送チェーン内のリソースに対するホールドの条件は、予め合意されたメッセージとして物理的商品の出荷または配送を明示的にかまたは暗黙的にかのいずれかで示し得る出荷者からのレシートとすることができる。インターメディアリ-レシーバリソース追跡システムからのレシートは、出荷者に転送され得、出荷者は、正しい量のリソースがホールドされ、受信当事者のアカウントに転送されることをレシートが示すことを検証することができ、物理的商品の出荷または配送、ならびにその出荷者の行為を確認し、転送チェーン内のリソースに対するホールドを満足するためにレシートの生成および送出を進行することができる。
【００２９】
レシーバによって送信されるレシートは、たとえば、ハッシュ関数などの一方向関数を使用して実装され得る。たとえば、レシーバは、転送チェーンがセットアップされる時、秘密の値を一方向関数にかけることによって導出された値を公開することができ、その結果、その値は、転送チェーン内のその他のシステムによってアクセスされ得る。たとえば、導出された値は、秘密の値をハッシュした結果生じるハッシュ値とすることができ、レシーバは、ハッシュ値を公開することができ、その結果、そのハッシュ値は、転送チェーン内のインターメディアリおよびリソース転送システムによってアクセスされ得る。導出された値は、任意の適切な形で公開され得、たとえば、公開されているネットワークロケーション、予め合意されたネットワークロケーションにおいて利用可能にされ得、または転送のレシーバもしくはコーディネータによって転送チェーン内のシステムの各々に直接送信されることによって公開され得、または転送チェーン内のシステム間で逐次的にもしくは任意のその他の適切な形で受け渡されることによって公開され得る。導出された値を生成するためにレシーバによって使用される一方向関数も、公開され得る。秘密の値は、レシーバによって非公開に保たれ得る。転送チェーン内のリソースに対するホールドの条件は、秘密の値を含むレシートの受信であり得る。
【００３０】
レシーバが、たとえば、転送チェーン内の最後のリソース追跡システムから準備済み転送レシートを受信した後に転送を実行したい時、レシーバは、秘密の値を含むレシートを転送チェーン内のインターメディアリおよびリソース追跡システムに送出することができる。リソース追跡システムは、レシーバによって公開された一方向関数をレシート内の秘密の値に適用し、結果がレシーバによって公開された導出された値に合致するかどうかを判定することによってレシートを検証し得る。結果が導出された値に合致する場合、レシートは、レシーバからのものであり、リソースに対するホールドの条件を満足するものとして検証され得る。これは、リソースが転送されることを可能にし、転送の実行をもたらし得る。
【００３１】
いくつかの実装形態では、レシーバまたは受信当事者が責任を委譲した当事者のシステムからのレシートは、一時的コンセンサスネットワークに送信され得る。たとえば、転送チェーン内のリソース追跡システムにおけるリソースに対するホールドの条件は、転送チェーン内のレシーバ、センダ、およびインターメディアリからの信頼リストから組み立てられる一時的コンセンサスネットワークによる転送の承認であることができる。転送チェーン内の最後のインターメディアリから準備済み転送レシートを受信した後、レシーバまたは受信当事者によって責任が委譲された当事者のシステムは、転送チェーン内のイニシエータまたはコーディネータにレシートまたは署名されたメッセージを送信し得る。イニシエータまたはコーディネータは、一時的コンセンサスネットワークのメンバーノードにレシートを送信することができる。レシーバが、一時的コンセンサスネットワークのメンバーノードにレシートを直接送信することもできる。一時的コンセンサスネットワークのメンバーノードは、レシーバからのレシートを検証し、たとえば、レシートに対する暗号的な署名を検証して、そのレシートがレシーバまたは受信当事者が責任を委譲した当事者のシステムからのものであることを保証し得る。メンバーノードは、たとえば、レシートに署名し、レシートが一時的コンセンサスネットワークのメンバーノードに送られた時間によってレシートにタイムスタンプを押すことを通じてレシートを公証する(notarize)ことによって転送を承認し得る。冒頭署名のある(over signed)レシートは、イニシエータまたはコーディネータに送り返され得、イニシエータまたはコーディネータは、冒頭署名のあるレシートを、転送が承認されたという証明としてセンダ、レシーバ、インターメディアリ、およびリソース追跡システムに提示することができる。これは、転送チェーン内のリソース追跡システムにおけるリソースに対するホールドの条件を満足し、転送が実行されることを可能にし得る。
【００３２】
いくつかの場合に、複数のインターメディアリがある可能性があり、ホールドされたリソースの転送を可能にする、リソース追跡システムに関する条件は、信頼されるシステムからの署名されたメッセージとされ得る。信頼されるシステムは、たとえばコンセンサスネットワークおよび単純に独立の署名者ノード(signer node)など、任意の適切な集中型システムまたは分散型システムとされ得る。センダ-インターメディアリリソース追跡システムによって送出される準備済み転送レシートは、信頼されるシステムおよびインターメディアリによって受信され得る。これに応答して、インターメディアリは、その仲介当事者がその仲介当事者と転送チェーン内の次の仲介当事者との間のリソース追跡システムにおいて制御するリソースにホールドをかけ得る。複数インターメディアリ転送チェーンにおいては、リソース追跡システムは、2つの仲介当事者の間にある時に、インターメディアリ-インターメディアリリソース追跡システムとされ得る。転送チェーン内の2つのインターメディアリは、両方とも、インターメディアリのそれぞれの仲介当事者に属するリソースを追跡するリソース追跡システムへのアクセスを有することができる。たとえば、転送チェーンが、センダ、インターメディアリA、インターメディアリB、インターメディアリC、およびレシーバを含むことができる。そのような転送チェーンは、インターメディアリA-インターメディアリBリソース追跡システムおよびインターメディアリB-インターメディアリCリソース追跡システムをも含むことができる。いくつかの実装形態では、2つ以上のインターメディアリを有する転送チェーン内のリソースに対するホールドの条件は、レシーバからまたはレシーバが責任を委譲した当事者からのレシートの受信とすることができる。準備済み転送レシートは、転送チェーン内の最後のインターメディアリまたはリソース追跡システムからレシーバまたはレシーバによって指定された当事者もしくはシステムに送信され得、そして、レシーバまたはレシーバによって指定された当事者もしくはシステムは、インターメディアリのすべてを含む転送チェーン内のシステムに予め合意された署名されたメッセージを送出して転送を実行させ得る。
【００３３】
インターメディアリなどの当事者が、リソースにホールドをかける時に、ホールドされたリソースを追跡するリソース追跡システムは、準備済み転送レシートを信頼されるシステムに送信することができる。準備済み転送レシートを、転送チェーン内の次のインターメディアリ、転送チェーン内の前のインターメディアリ、または転送チェーンのセンダに、直接にまたは信頼されるシステムを介してのいずれかで送信することもできる。準備済み転送レシートは、ホールドされたリソースのタイプおよび量の指示、ホールドされたリソースの所有者、それに関連してリソースがホールドされる転送に対応する識別子、ホールドの時間制限、ならびに/またはホールドが解放されるために満足される必要がある他の条件を含むことができる。準備済み転送レシートの受信時に、次のインターメディアリは、その仲介当事者が次のリソース追跡システムで制御するリソースにホールドをかけ、もう1つの準備済み転送レシートをもたらすこともでき、この準備済み転送レシートは、やはり、転送チェーン内の最後のインターメディアリに達するまで、別のインターメディアリに送信され得る。転送チェーン内の最後のインターメディアリは、その仲介当事者が最後の仲介当事者と受信当事者との間のインターメディアリ-レシーバリソース追跡システムで制御するリソースにホールドをかけ、準備済み転送レシートを信頼されるシステムに送信することができる。信頼されるシステムは、適当なリソースが転送チェーン内のすべてのリソース追跡システムでホールドされていることを示す準備済み転送レシートを受信済みであり、転送が進行できることを示す署名されたメッセージを転送チェーン内のすべてのインターメディアリおよびリソース追跡システムに送信することができる。転送チェーン内のすべてのインターメディアリ(たとえば、インターメディアリAおよびB)は、その後、適当なリソース追跡システムに、ホールドされたリソースをその所期の宛先に転送するように命令することができる。たとえば、センダ-インターメディアリAリソース追跡システム上で送信当事者に属するホールドされた量を、仲介当事者Aに転送することができる。同様に、インターメディアリA-インターメディアリBリソース追跡システム上で仲介当事者Aに属するホールドされた量を、仲介当事者Bに転送することができる。インターメディアリBは、転送チェーン内で最後のリソース追跡システムとすることのできるインターメディアリB-レシーバリソース追跡システムに、仲介当事者のホールドされたリソースを受信当事者に転送するように命令することができる。転送は、任意の順序で、またはすべて同時にもしくは部分的に同時に、各リソース追跡システムでホールドされたリソースを転送する条件が信頼されるシステムからの署名されたメッセージによって満足されたものとされ得る時に、実行され得る。また、センダおよびレシーバは、信頼されるシステムおよびインターメディアリのうちのいずれかを含む、転送に関与する任意の適切なコンピューティングデバイスまたはコンピューティングシステムから、転送が完了したことの通知を送信され得る。
【００３４】
いくつかの実装形態では、各インターメディアリは、ホールドをかけることを命令するメッセージを受信した後に、その仲介当事者が制御するリソースにホールドをかけることができる。このメッセージは、たとえば、信頼されるシステムからの署名されたメッセージまたは別のインターメディアリからのメッセージとすることができる。そのような実装形態では、インターメディアリは、そのそれぞれの仲介当事者のリソースにホールドをかける前に、準備済み転送レシートを受信する必要がないものとすることができる。
【００３５】
いくつかの状況では、複数の仲介当事者がある可能性があり、ホールドされたリソースの転送を可能にする、リソース追跡システムに関する条件は、その当事者からのリソースの宛先転送が行われたことを示すレシートの受信とされ得る。その場合に、センダ-インターメディアリリソース追跡システムによって送出された準備済み転送レシートの受信に応答して、インターメディアリは、その仲介当事者が、その仲介当事者と次の仲介当事者との間のリソース追跡システム、たとえばインターメディアリA-インターメディアリBリソース追跡システムで制御するリソースにホールドをかけることができる。このホールドは、準備済み転送レシートが転送チェーン内の次のインターメディアリに送信されることをもたらすことができる。準備済み転送レシートの受信時に、次のインターメディアリも、その仲介当事者が次のリソース追跡システムで制御するリソースにホールドをかけることができ、もう1つの準備済み転送レシートがもたらされ、この準備済み転送レシートは、やはり、転送チェーン内の最後のインターメディアリが準備済み転送レシートを受信するまで、別のインターメディアリに送信され得る。転送チェーン内の最後のインターメディアリは、前のインターメディアリが、前の仲介当事者と最後の仲介当事者との間のリソース追跡システムでリソースにホールドをかけたことを示す準備済み転送レシートを受信することができる。これに応答して、転送チェーン内の最後のインターメディアリは、最後の仲介当事者と受信当事者との間のリソース追跡システム、たとえば最後のインターメディアリ-レシーバリソース追跡システムに、最後の仲介当事者によって制御されるリソースを受信当事者に転送するように命令することができる。仲介当事者と受信当事者との間のリソース追跡システムは、最後の仲介当事者が、それが制御するリソースを転送しているものとされ得、したがって、ホールドまたはすべての条件の他の条件満足が必要ではないものとされ得るので、転送を実行することができる。これを、最後の仲介当事者の宛先転送とすることができる。最後のインターメディアリは、転送が成功した後に、最後のインターメディアリ-レシーバリソース追跡システムから転送確認レシートを受信することができる。この転送確認レシートは、前の仲介当事者と最後の仲介当事者との間のリソース追跡システムに送信され得る。転送確認レシートは、最後の仲介当事者からのリソースの宛先転送が行われ、最後の仲介当事者への前の仲介当事者のホールドされたリソースのソース転送を可能にする条件が満足されたことの証拠とされ得る。これは、前のインターメディアリに送信され、前の仲介当事者の宛先転送を確認する転送確認レシートをもたらすことができる。前のインターメディアリは、この転送確認レシートを適当なリソース追跡システムに送信し、そのリソース追跡システムに、前の仲介当事者のソース転送を実行するように命令することができる。転送確認レシートは、前の仲介当事者からのリソースの宛先転送が行われ、前の仲介当事者へのホールドされたリソースのソース転送を可能にする条件が満足されたことの証拠とされ得る。このソース転送は、別の仲介当事者への宛先転送とすること��でき、別の転送確認レシートを生成することができ、この転送確認レシートは、仲介当事者が、別のリソース追跡システムにその仲介当事者のソース転送を実行させるための証拠として使用することができ、以下、センダ-インターメディアリリソース追跡システムが、仲介当事者のソース転送を実行するように命令され、送信当事者のリソースを転送するまで、同様である。最後のインターメディアリは、その仲介当事者のソース転送と宛先転送との両方を命令することができ、転送チェーン内の他のすべてのインターメディアリは、その仲介当事者の宛先転送を確認する転送確認レシートの受信時に、その仲介当事者のソース転送を命令することができる。転送チェーン内のリソース追跡システムは、最後の仲介当事者と受信当事者との間のリソース追跡システム、たとえば最後のインターメディアリ-レシーバリソース追跡システムから始めて、送信当事者と仲介当事者との間のリソース追跡システム、たとえばセンダ-インターメディアリリソース追跡システムで終わって、ホールドされたリソースを順番に転送することができる。いくつかの実装形態では、リソース追跡システムは、転送チェーン内で受信当事者により近いリソース追跡システムがまだホールドされたリソースを転送し終えていない場合に、ホールドされたリソースを転送しないものとされ得る。また、センダおよびレシーバは、信頼されるシステムおよびインターメディアリのいずれかを含む転送に関与するすべての適切なコンピューティングデバイスまたはコンピューティングシステムから、転送が完了したことの通知を送信され得る。いくつかの実装形態では、転送チェーン内の各仲介当事者は、下請業者とされ得る。たとえば、転送チェーンを、反復的に構成することができる。送信当事者は、受信当事者へのリソースの転送の責任を負うことに合意し得る第1の仲介当事者に連絡することができる。第1の仲介当事者は、下請業者として働き、第1の仲介当事者から受信当事者へリソースを転送する責任を負うことに合意する第2の仲介当事者を見つけることができる。第2の仲介当事者は、下請業者として働く第3の仲介当事者を見つけることができ、以下、受信当事者にリソースを直接に転送し、転送チェーンの構成を完了する仲介当事者が下請けにされるまで、同様とすることができる。
【００３６】
いくつかの実装形態では、インターメディアリは、リソース追跡システムに、いつでもそのリソース転送を実行するように命令することができる。たとえば、インターメディアリは、センダがクォートに基づいて転送を許可したことの指示を受信するや否や、インターメディアリと前のインターメディアリとの間のリソース追跡システムに、そのインターメディアリのソース転送を実行する命令を送信することができる。リソース追跡システムは、この命令をキャッシングすることができ、ソース転送に関するリソースに対する正しいホールドがかけられており、そのホールドの条件が、署名されたメッセージの受信または宛先転送が成功であったことの、転送確認レシートなどの証拠の受信のいずれかによって満足された後に限って、転送を実行することができる。
【００３７】
リソースが、たとえばインターメディアリ-レシーバリソース追跡システム上で、受信当事者に転送される時に、その転送は、送信当事者のアイデンティティおよび/または特定の転送に属する識別を示す受信当事者への通知を含むことができる。これは、受信当事者が、受信されたリソースの目的を判定することを可能にすることができる。たとえば、受信されたリソースを使用して、送信当事者が受信当事者に負う借金を返済することができる。借金が完済されたことを判定するために、リソースの転送は、たとえば、受信当事者が、送信当事者の借金に受信されたリソースを充当することができるようにするために、送信当事者に関連する口座番号または他の識別子を含むことができる。
【００３８】
センダは、送信当事者によって使用されるコンピューティングデバイスまたはコンピューティングシステムとすることができ、送信当事者は、何らかの他の当事者、たとえば受信当事者に彼の制御の下のリソースを送信しまたは転送することを望む任意の当事者とすることができる。センダは、たとえば、任意の適切な人、グループ、組織、またはコンピュータハードウェアおよびコンピュータソフトウェアによって使用され得、任意の適切なコンピューティングデバイスまたはコンピューティングシステムとされ得る。たとえば、センダは、リソースの転送を開始する人によって使用される、ラップトップなどの適切なコンピューティングデバイスとされ得る。センダは、たとえば、別の人、会社、または組織への通貨の転送を望む人によって使用され得る。センダは、送信当事者によって使用され得、あるいは、送信当事者の代わりに使用され得る。たとえば、送信当事者が、個人である場合があり、センダが、送信する、金を手放す当事者の代わりにリソースの転送を開始するのに使用され得る銀行コンピュータシステムである場合がある。センダは、たとえば、サーバシステム上で動作するサーバ管理システムによって使用されるサーバシステムともされ得る。センダは、たとえば転送に関するクォートを配置する適当なコンピューティングシステムまたはコンピューティングデバイスへの任意の適切な有線または無線の接続を介して通信を送信することによって、クォートを要求することによって転送を開始できるものとすることができる。接続は、WAN接続またはLAN接続などのネットワークと接続することができ、あるいは、たとえばコンピューティングシステム内の、内部バス接続とすることができる。送信当事者は、転送が望まれる量、レシーバが受け取ることが望まれる量、送信当事者から転送されるリソースのタイプ、受信当事者によって受信されるべきリソースのタイプ、および転送に関して受け入れ可能とすることのできる条件を含むことができるクォートに関する要求を送出するためにセンダを使用することができる。
【００３９】
クォートの要求は、送信当事者が送信することを望むリソースの量または受信当事者が受信することを送信当事者が望むリソースの量のいずれかを指定することができる。たとえば、送信当事者は、受信当事者に金銭を転送することを望み、転送すべき米国ドルを有する場合がある。受信当事者は、ユーロを受信することを期待するものとすることができる。送信当事者は、クォートを要求する時に、ある量の米国ドルを送出することを指定することができ、受信当事者は、転送中の為替レートと転送に課せられる可能性があるすべての料金とに基づいて、ある量のユーロを受信する。送信当事者は、その代わりに、受信当事者がある量のユーロを受信すべきであることを指定することができ、クォートは、受信当事者が為替レートおよび料金を考慮に入れて指定された量のユーロを受信することを保証するために送信当事者が送出する必要のある米国ドルの量を含むことができる。もう1つの例として、送信当事者が、送信当事者によって制御されるコンピューティングシステム上のプロセッササイクルなどの特定の計算リソースを、クラウドベースのストレージシステム上のコンピュータ可読ストレージスペースなどの異なるコンピューティングリソースを受け取ることを望む受信当事者に提供することを申し出る場合がある。そのような転送は、たとえば、様々なコンピューティングリソースを提供し、したがって、プロセッサ時間またはプロセッササイクルとストレージスペースとの両方を利用し、かつ/または提供することができるインターメディアリを介して発生することができる。この例を継続すると、センダは、プロセッサ動作またはストレージの量のいずれかで、転送されるべき量を指定することができる。クォートは、インターメディアリに従ってプロセッサ動作とストレージスペースとの間の有効な変換係数を考慮に入れて、送信当事者から要求される適当な量のプロセッサ動作を提供する。
【００４０】
センダがクォートを受信した後に、送信当事者は、クォートを受け入れ、センダを使用する転送を許可することができる。センダは、たとえば、送信当事者が転送しようとしているリソースにホールドをかけることを許可するメッセージを適当なシステムまたはコンピューティングデバイスに送信することによって、転送を許可することができる。許可は、たとえば、信頼されるシステムまたは転送を調整する責任を負うことのできる他のシステムに、送信当事者が送信を望むリソースを追跡するリソース追跡システムと同一のリソース追跡システムによって追跡されるリソースをその仲介当事者が有するインターメディアリに、または直接にリソース追跡システムに、送信され得る。センダが、転送の許可を送出し終えたならば、センダは、転送が成功したまたは失敗したことの通知を受信するのを待つことができる。送信当事者は、送信当事者のリソースの転送を検証するためにリソース追跡システムをチェックするのにセンダを使用することもできる。
【００４１】
リソース追跡システムは、様々な当事者によって所有されるリソースを追跡し、当事者の間でリソースを転送する、任意の適切なシステムとすることができる。リソース追跡システムは、たとえば金融機関によって運用されるシステム、サーバシステムもしくはコンピューティングデバイスのハードウェアコンポーネントもしくはソフトウェアコンポーネント、または、たとえば複数の異なるコンピューティングデバイス上に存在し、共同作業の形で調停され得る暗号通貨元帳(cryptocurrency ledger)もしくはブロックチェーンなどの分散システムなど、ハードウェアとソフトウェアとの任意の適切な組合せを有する任意の適切なコンピューティングデバイスまたはシステムとすることができ、あるいは集中化され得る。リソース追跡システムは、任意の数の当事者のリソースの所有権を追跡することができる。たとえば送信当事者、仲介当事者、または受信当事者などの当事者は、リソース追跡システム上にリソースプールを有することができる。リソース追跡システム上のある当事者のリソースプールは、その当事者の識別と、その当事者によって所有されるか制御され、そのリソース追跡システムによって追跡される各タイプのリソースの量とを含むことができる。当事者は、個々のリソース追跡システムによって追跡される複数のリソースタイプを有することができる。
【００４２】
たとえば、暗号通貨のブロックチェーンであるリソース追跡システムは、ある量の暗号通貨を所有する各当事者、たとえば個人または組織のリソースプールを含むことができる。リソースプールは、たとえば、リソースプールを用いて記憶された暗号公開鍵を使用し、対応する秘密鍵を有する当事者だけが暗号通貨にアクセスできるようにすることによって、暗号通貨の所有者を識別することができる。リソースプールは、暗号通貨の量をも含むことができる。金融機関のリソース追跡システムを、たとえばサーバシステム上でホスティングされる元帳とすることができる。リソースプールは、その金融機関の口座所有者によって所有される口座とすることができ、その口座所有者によって所有され、その金融機関によって追跡される様々な資産を追跡することができる。たとえば、ある当事者のリソースプールが、1つまたは複数の通貨のタイプおよび量と、株式、債権、定期預金証書、および類似物など、他のタイプの資産のタイプおよび量とを含むことができる。その代わりにまたはそれに加えて、リソースプールは、物品もしくは物品化され得る任意のリソース、完成した物理的商品、原材料、コンピューティングリソース、不動産、またはあるエンティティによって所有され、あるエンティティから別のエンティティに転送され得る任意の他のリソースなど、他のリソースの所有権を含みまたは記録することができる。口座所有者は、任意の適切な情報によって識別され得、口座にアクセスするために、たとえば口座のユーザ名およびパスワードなど、身元を証明するものを必要とする可能性がある。サーバシステムのリソース追跡システムは、たとえば、そのサーバシステム上のリソースとそのリソースの所有権とを追跡する、ハードウェアとソフトウェアとの任意の適切な組合せとすることができる。たとえば、サーバシステムのリソース追跡システムは、サーバシステムの様々なユーザによって所有されるストレージスペースまたはプロセッサ時間などのコンピューティングリソースを追跡することができ、ユーザは、物理的な個人もしくは組織、またはシステムアカウントなどのシステムの仮想ユーザ、またはサーバシステム上で走行する他のプロセスとすることができる。
【００４３】
リソース追跡システムは、任意のタイプのリソースを追跡することができる。たとえば、リソースは、通貨、暗号通貨、金融商品、物品、または、プロセッサ時間、揮発性および不揮発性のストレージスペース、ならびにネットワーク帯域幅などの計算リソースとすることができる。リソース追跡システムによるリソースの所有権および量の記録は、リソース自体とすることもでき、あるいは、別々に存在するリソースの所有権の記録とすることができる。たとえば、暗号通貨のブロックチェーンであるリソース追跡システムにおいて、ある量の暗号通貨の所有権の記録を、その暗号通貨とすることができる。物品の所有権を追跡するリソース追跡システムにおいて、所有権の記録は、物理的なリソース、たとえば、別々に存在する、黄金、油、または他の物品に対応することができる。そのようなリソースは、所有権を転送することによって転送され得るが、リソースの物理的なインスタンス化は、必ずしも移動されない。
【００４４】
リソース追跡システムは、提案される転送を受信できるものとすることができる。たとえば、センダが、転送に関してクォートを要求し、受け入れる時に、その転送に関与するリソース追跡システムは、センダによって受け入れられたクォートに基づいて、提案される転送を受信することができる。提案される転送は、ある種のリソースが、リソース追跡システムの1つのリソースプールすなわちソースリソースプールからそのリソース追跡システムの別のリソースプールすなわち宛先リソースプールに転送されることをリソース追跡システムに示すことができる。提案される転送は、転送されるリソースのタイプおよび量、ならびに、転送されるリソースに対するホールドを解放でき、リソースの転送をもたらすことができる条件を示すこともできる。提案される転送が受信された時に、リソース追跡システムは、転送されるリソースをホールドすることの許可も存在するかどうかを判定することができる。そのようなホールド許可が存在する場合には、リソース追跡システムは、リソースにホールドをかけ、準備済み転送レシートを送出することができる。そうではない場合には、リソース追跡システムは、提案される転送レシートを送出し、準備済み転送レシートを送出する前に、転送に関する正しいホールド許可を受信するのを待つことができる。提案される転送レシートおよび準備済み転送レシートは、たとえば信頼されるシステム、転送のコーディネータ、または、リソース追跡システム上の宛先リソースプールの所有者とすることのできる仲介当事者のインターメディアリなど、任意の適切なコンピューティングデバイスまたはコンピューティングシステムに送信され得る。
【００４５】
リソース追跡システムは、リソースにホールドをかけることができるものとされ得る。たとえば、リソース追跡システムは、転送に関連する指定されたタイプのリソースの指定された量にホールドをかけるために、リソース追跡システムによって追跡されるリソースを所有する当事者から許可を受信することができる。ホールド許可は、提案される転送と一緒に送信され得、あるいは、より後に到着する場合があり、それに関係する提案される転送を指定することができる。リソース追跡システムは、ホールド許可を送信した当事者によって所有されるリソースプール内の指定されたタイプのリソースの指定された量にホールドをかけることができる。ホールドは、ホールドの条件が満足されない限り、またその条件が満足されるまで、指定された量のリソースおよび/またはその量が指定された量と等しい特定のリソースの転送を防ぐことができる。たとえば、ホールドを、100ドルの残高を有する口座の20ドルにかけることができる。このホールドは、ホールドの条件が満足されたことを示すメッセージが受信されるまで、残高の20ドルが転送されるのを防ぐことができ、その口座が、ホールドがかけられている間は必ず少なくとも20ドルを有することを保証する。同様に、メモリの特定のブロックへのアクセスが転送される場合など、別個とすることのできるリソースに関して、ホールドは、ホールドの条件が満足されない限り、また、その条件が満足されるまで、特定のリソースの他の転送または使用を防ぐことができる。ホールドは、ある時間期間の間、存続することができる。時間期間は、秒またはその分数、分、時、または日を含む、任意の適切な時間期間とすることができる。リソース追跡システムは、時間期間が満了する時に、リソースに対するホールドを解放できるものとされ得る。ホールドは、解放されるために満足されなければならない1つまたは複数の条件を指定することができる。たとえば、ホールドは、ホールドが解放され得る前に、1つまたは複数の契約相手に関連する信頼のレベルを示すメッセージが第三者から受信されることを指定することができる。同様に、ホールドは、提案される転送が、関連する法、規制、および/またはルールに準拠することを示すメッセージが第三者から受信されることを指定することができる。
【００４６】
リソース追跡システムは、ホールドに関連する条件の満足および転送を実行する命令の受信時に、ソースリソースプールから宛先リソースプールへのホールドされたリソースの転送を自動的にもたらす(すなわち、転送を発生させる)ことができる。条件は、たとえば、転送が進行できることを示す信頼されるシステムからの署名されたメッセージの受信とすることができる。たとえば、リソース追跡システムは、それに関してリソースがホールドされている準備済み転送に関連して、信頼されるシステムから署名されたメッセージを受信することができる。信頼されるシステムからの署名されたメッセージと、準備済み転送に関する宛先リソースプールを所有する当事者によって、たとえばコンピューティングデバイスから送出された実行命令との受信時に、リソース追跡システムは、ホールドされたリソースをソースリソースプールから宛先リソースプールへ自動的に転送することができる。条件は、たとえば、ソース転送とすることのできる転送の宛先転送が別のリソース追跡システム上で行われたことの証拠とすることのできるレシートの受信とすることができる。たとえば、リソース追跡システムは、宛先リソースプールを所有する当事者が、別のリソース追跡システム上に彼らが所有するリソースを、そのリソース追跡システム上で、その転送チェーン内の別の当事者に転送させたことを示すことができる、暗号によって署名され得る、転送確認レシートを受信することができる。これは、ソース転送に関する宛先転送が完了したことの証拠とすることができる。転送確認レシートと、準備済み転送に関する宛先リソースプールを所有する当事者によって使用されるコンピューティングデバイスによって送信された実行命令との受信時に、リソース追跡システムは、ホールドされたリソースをソースリソースプールから宛先リソースプールへ自動的に転送することができる。条件は、たとえば、スマートコントラクトが実行されつつあることの証拠とすることができる。たとえば、転送チェーンが、スマートコントラクトに関連してセットアップされ得、スマートコントラクトの実行時に転送され得る。たとえばスマートコントラクトを実行するシステムからの、署名されたメッセージが、リソース追跡システムによって受信され得る。スマートコントラクトが実行されつつあることを示す署名されたメッセージの受信時に、リソース追跡システムは、ホールドされたリソースをソースリソースプールから宛先リソースプールへ自動的に転送することができる。条件は、たとえば、配送サービスによる物理的なパッケージまたは商品の配送など、イベントの発生を確認するデジタル署名とすることもできる。
【００４７】
転送が完了した時に、リソース追跡システムは、リソースの転送が成功であったことを示す転送確認レシートを送出できるものとされ得る。転送確認レシートは、たとえば、信頼されるシステム、転送のコーディネータ、または、たとえば転送のソースリソースプールを所有した当事者を含む、転送の任意の他の当事者によって使用されるコンピューティングデバイスもしくはコンピューティングシステムを含む、任意の適切なコンピューティングデバイスまたはコンピューティングシステムに送信され得る。リソース追跡システムからの転送確認レシートは、ソース転送の宛先転送が完了し、別のリソース追跡システムで転送条件が満足されたことの証拠とすることができる。
【００４８】
リソース追跡システムは、転送に関与するリソースプールを所有する当事者によってホールドされるものとして記録されたリソースの量を変更することによって、ホールドされたリソースの転送をもたらすことができる。たとえば、ホールドされたリソースをソースリソースプールから宛先リソースプールに転送するために、リソース追跡システムは、同時にまたは順次に、ソースリソースプールを所有する当事者によって所有されるものとして記録されたリソースの量を減少させ、宛先リソースプールを所有する当事者によって所有されるものとして記録されたリソースの量を増加させる。ソースリソースプール内に記録されたリソースの量を、宛先リソースプール内に記録されたリソースの量が増加されるのと同一の量だけ減少させることができる。この量は、たとえば、ホールドがかけられたリソースの量とすることができ、あるいは、たとえば転送に関与する正または負の料金を考慮するために、異なる量、たとえばより多い量またはより少ない量とすることができる。リソース追跡システムは、そのリソース追跡システム上のリソースプール内で追跡されるリソースの量を増減できるものとされ得、両方がそのリソース追跡システム上にリソースプールを有する2つの当事者の間でリソースを転送することだけができるものとされ得る。ホールドされたリソースが転送される時に、リソース転送システムは、ホールドされた特定のリソースを転送することができ、あるいは、ホールドされていた可能性がある任意の特定のリソースを含んでも含まなくてもよい、適当な量のリソースを転送することができる。たとえば、ホールドが、100米国ドルを有する口座の20米国ドルにかけられる場合に、そのホールドは、任意の20米国ドルまたは特定の米国ドル、たとえば米国ドル1〜20に対してかけられ得る。ホールドされた米国ドルが転送される時に、リソース追跡システムは、特にホールドされたドル、たとえば米国ドル1〜20を転送することができ、あるいは、任意の20米国ドル、たとえば米国ドル11〜30、または米国ドル81〜100、または米国ドル51〜60および75〜84を転送することができる。
【００４９】
いくつかの実装形態では、リソース追跡システムは、リソース追跡プールの間で特定のリソースを転送できるものとされ得る。たとえば、物品を転送する時に、リソース追跡システムは、リソースプールの間の特定の位置にホールドされた物品を転送できるものとされ得る。物理的インスタンス化を伴うリソースのリソース量は、物理的インスタンス化が配置されるところを示すこともできる。たとえば、黄金は、特定の貯蔵施設で保持され得る。リソース追跡システムは、両方のリソースプール内で、特定の位置に配置されたリソースの量を減分し、増分することによって、そのようなリソースを転送することができる。たとえば、リソースプールは、貯蔵施設Aと貯蔵施設Bとに貯蔵された黄金を含むことができる。リソース追跡システムは、貯蔵施設Aからの黄金だけを、別のリソースプールに転送することができる。リソース追跡システムは、ソースリソースプール内で貯蔵施設Aに貯蔵されたものとして記録された黄金の量を減分し、宛先リソースプール内で貯蔵施設Aに貯蔵されたものとして記録された黄金の量を増加させる。リソース追跡システムによって転送される特定のリソースは、たとえば、絵画、彫刻、および版画を含む芸術作品、人工品、スポーツの重要記事および漫画本などのコレクターズアイテム、宝飾品、宝石、および任意の他のそのような品目など、1つまたは少数のコピーとすることのできる物理的品目、またはスマートフォン、食料品などの大量に市場に出される商品をも含むことができる。
【００５０】
リソース追跡システムによるソースリソースプールから宛先リソースプールへのホールドされたリソースの転送は、ホールドに関連する条件の満足および転送を実行する命令の受信に基づいて決定論的とされ得る。リソース追跡システムは、ハードウェアとソフトウェアとの任意の適切な組合せを有するコンピューティングデバイスまたはコンピューティングシステムとして、条件が満足され、命令が受信された後には転送を中断しまたは停止させる能力を伴わずに、条件の満足および転送を実行する命令の受信の際に、ホールドされたリソースの転送を必ず自動的にもたらすことができる。これは、転送が、外部の当事者、人間、その他からの介入を受けずに行われ得るので、ホールドに関連する条件が満足され、転送する命令が受信された後であっても、ホールドされたリソースが転送されなくなるリスクを除去することができる。これは、宛先転送においてそこから転送されるリソースを有し、転送確認レシートを受信したすべての当事者が、転送実行命令および転送確認レシートを送信することによってソース転送においてそこにリソースを転送させることができることを保証することができる。
【００５１】
インターメディアリは、送信当事者と受信当事者との間の転送チェーンの一部として転送に参加することに合意する任意の仲介当事者によって使用されるコンピューティングデバイスまたはコンピューティングシステムとされ得る。インターメディアリは、たとえば、任意の適切な人、グループ、組織、または、プログラムもしくはプロセスなどのコンピュータハードウェアおよびコンピュータソフトウェアによって使用され得、任意の適切なコンピューティングデバイスまたはコンピューティングシステムとされ得る。たとえば、インターメディアリは、転送に参加するのに適切なコンピューティングデバイスを使用する人、取引所、金融機関、もしくはトレーダに属するコンピューティングシステム、または、たとえばサーバシステム上で走行するサーバ管理システムの一部とされ得る。インターメディアリは、たとえば送信当事者から受信当事者への転送チェーンを配置する責任を負うことのできる適切なコンピューティングシステムまたはコンピューティングデバイスへの任意の適切な有線または無線の接続を介して通信を送信することによって、クォートの要求を受信し、クォートを応答することができるものとされ得る。接続は、WAN接続またはLAN接続などのネットワーク接続とすることができ、あるいは、たとえばコンピューティングシステム内の、内部バス接続とすることができる。仲介当事者は、インターメディアリを使用して、クォート要求にクォートを応答することができ、このクォートは、たとえば、仲介当事者が転送できる可能性があるリソースの量に対する制限、仲介当事者が使用できる為替レート、仲介当事者が転送中に引き出すことのできる料金を含むことができる。
【００５２】
インターメディアリは、提案される転送を受信できるものとされ得る。インターメディアリによって送出されたクォートが、たとえばセンダを使用する送信当事者によって受け入れられた時に、インターメディアリは、送信当事者と受信当事者との間の転送チェーンに追加され得る。インターメディアリによって受信された提案される転送は、仲介当事者がその上で別の当事者からリソースを受信するリソース追跡システムと、仲介当事者がその上でリソースを転送するリソース追跡システムとを含む、インターメディアリが参加する転送全体の一部のみを示すことができる。提案される転送は、仲介当事者がリソースを転送する先の当事者と、仲介当事者がそこからリソースを受信当事者とを識別することもできる。提案される転送は、転送中にかけられるリソースに対するホールドに関連する条件を含むこともできる。インターメディアリは、ホールドに関する条件が、転送が進行できることを示す、転送に参加するすべての当事者によって信頼されるコンピューティングデバイスまたはコンピューティングシステムからの署名されたメッセージの受信、または、ある当事者へのリソースのソース転送が、その当事者からのリソースの宛先転送が行われたことの証拠とすることのできるレシートの受信時に、進行できることのいずれかであることを検証することができる。提案される転送が、ホールドに関するこれらの条件のいずれをも含まない場合には、インターメディアリは、転送への参加を拒絶することができる。
【００５３】
インターメディアリは、リソース追跡システムにおいて仲介当事者によって制御されるリソースにホールドをかけることができるものとされ得る。たとえば、信頼されるシステムがある場合に、インターメディアリは、提案される転送が受信され、検証された後に、インターメディアリの当事者のリソースを転送するリソース追跡システムに、仲介当事者のリソースをホールドすることの許可を送信することができる。信頼されるシステムがない場合には、インターメディアリは、仲介当事者に転送されるリソースが、そのリソースを仲介当事者に転送するリソース追跡システムでホールドされたことを示す準備済み転送レシートを受信した後に、仲介当事者のリソースを転送するリソース追跡システムに、仲介当事者のリソースをホールドすることの許可を送信することができる。これは、仲介当事者が、その宛先転送のリソースに対するホールドを許可する前に、仲介当事者が、そのソース転送のリソースがホールドされ、転送の準備ができていることを保証することを可能にすることができる。
【００５４】
仲介当事者は、信頼されるシステムから署名されたメッセージを受信し、署名されたメッセージの受信に基づいて、リソース追跡システムに実行命令を送信できるものとされ得る。たとえば、信頼されるシステムは、転送チェーン内のすべてのリソース追跡システムから準備済み転送レシートを受信した後に、転送チェーン内のすべてのコンピューティングデバイスおよびコンピューティングシステムに署名されたメッセージを送信することができる。署名されたメッセージの受信時に、インターメディアリは、リソース追跡システムに実行命令を送信することができる。たとえば、インターメディアリは、仲介当事者および仲介当事者に転送するためにリソースをホールドした当事者が、その上にリソースプールを有するリソース追跡システムに実行命令を送信し、仲介当事者のリソースプールにリソースを転送させることができる。仲介当事者および受信当事者がその上にリソースプールを有するリソース追跡システムもある場合には、インターメディアリは、仲介当事者から受信当事者へリソースを転送するために、そのリソース追跡システムに実行命令を送信することができる。信頼されるシステムからの署名されたメッセージが、すべてのホールドされたリソースを転送する条件を満足することができ、インターメディアリからの実行命令が受信されたものとされ得るので、リソース追跡システムは、転送を自動的に実行することができる。
【００５５】
インターメディアリは、準備済み転送レシートの受信に基づいて、リソース追跡システムに実行命令を送信できるものとされ得る。たとえば、信頼されるシステムがなく、インターメディアリが、転送チェーン内の最後のインターメディアリである場合に、そのインターメディアリは、仲介当事者に転送されるべきリソースが別のリソース追跡システムでホールドされたことを示す準備済み転送レシートの受信時に、受信当事者への仲介当事者のリソースの転送を実行するために、仲介当事者と受信当事者との間のリソース追跡システムに命令を送信することができる。これは、仲介当事者のソース転送として受信当事者に転送されるリソースがホールドされた時に、インターメディアリが、仲介当事者の宛先転送として受信当事者に仲介当事者のリソースを転送する命令を送信するのみであることを保証することができる。
【００５６】
インターメディアリは、リソース追跡システムから転送確認レシートを受信し、受信した転送確認レシートを別のリソース追跡システムに送信できるものとされ得る。たとえば、信頼されるシステムがある場合に、インターメディアリは、インターメディアリからの命令時にリソース追跡システムによって実行されるすべての転送の転送確認レシートを受信することができる。信頼されるシステムがない場合には、インターメディアリは、別の仲介当事者または受信当事者などの別の当事者に仲介当事者からリソースを転送する、仲介当事者の宛先転送がそこで発生したリソース追跡システムから転送確認レシートを受信することができる。その後、インターメディアリは、たとえば別の仲介当事者または送信当事者から仲介当事者に転送されるべきリソースが、仲介当事者のソース転送としてその上でホールドされたリソース追跡システムに転送確認レシートを送信することができる。インターメディアリは、転送確認レシートと一緒に、転送を実行する命令をリソース追跡システムに送信することもできる。転送確認レシートは、仲介当事者に転送されるべきリソースに対するホールドの条件を満足することができ、したがって、転送を実行する命令は、リソース追跡システムに、ホールドされたリソースを仲介当事者に自動的に転送させることができる。
【００５７】
信頼されるシステムは、送信当事者と受信当事者との間の転送チェーン内の関与する当事者およびシステムのすべてによって信頼され得る任意の適切なコンピューティングデバイスまたはコンピューティングシステムとされ得る。たとえば、信頼されるシステムは、金融機関もしくは取引所、コンピューティングリソース取引システム、エネルギ交換システムに関連するものとされ得、あるいは、サーバシステム上の信頼されるプロセスとされ得る。信頼されるシステムは、転送チェーン内の任意のコンピューティングデバイスまたはコンピューティングシステム、たとえばインターメディアリのうちの1つとされ得、あるいは、転送チェーンの外部のコンピューティングデバイスまたはコンピューティングシステムとされ得る。信頼されるシステムは、ネットワーク、たとえば、信頼されるシステムによってすべてが信頼される複数の仲介当事者の複数のインターメディアリを含むことができる交換ネットワークともされ得る。信頼されるシステムは、分散型コンセンサスネットワークともされ得る。信頼されるシステムは、スマートコントラクトに関する条件など、非ホールド条件の満足を検証できる独立のサーバのグループともされ得、転送チェーン内の様々なリソース追跡システム上でホールド条件を満足するために署名されたメッセージを供給することができる。
【００５８】
信頼されるシステムは、たとえば送信当事者によって選択され得、仲介当事者からのクォートに基づいてクォートを受信し、転送チェーン内の当事者、ならびにコンピューティングデバイスおよびコンピューティングシステムのすべてにまたがって転送を調整するのに、送信当事者によって使用もされ得る。信頼されるシステムは、レシーバと通信できる必要がない可能性があるが、信頼されるシステムは、ネットワーク接続を介するなど、任意の適切な形で転送チェーンに関与するすべてのコンピューティングデバイスおよびコンピューティングシステムと通信できるものとされ得る。信頼されるシステムは、提案される転送レシートおよび準備済み転送レシートを受信することができ、転送チェーン内のリソース追跡システムのすべてが準備済み転送レシートを送信し終えた時を検証できるものとされ得る。すべての準備済み転送レシートが受信された後に、信頼されるシステムは、転送チェーン内のインターメディアリおよびリソース追跡システムへの、たとえば暗号的に署名され得る、署名されたメッセージを送信することができる。信頼されるシステムからの署名されたメッセージは、リソース追跡システムでのリソースに対するホールドの条件を満足することができ、仲介当事者に、リソース追跡システムに転送実行命令を送信させることができ、リソース追跡システムがホールドされたリソースを自動的に転送することをもたらし、転送チェーンにまたがって転送を完了する。
【００５９】
たとえば、送信当事者は、ある量の米国ドルを含む、金融機関の口座を有する場合がある。送信当事者は、受信当事者に100米国ドルを送信するためにクォートを受け入れることができ、受信当事者は、ユーロを受信することを期待することができ、送信当事者と同一の金融機関に口座を有する仲介当事者であって、受信当事者も口座を有する別の金融機関の口座を有する仲介当事者を伴う転送チェーンに関与する。送信当事者によって使用されるセンダは、送信当事者が口座を有する金融機関のリソース追跡システムまたは元帳にホールド許可を送信することができる。金融機関のリソース追跡システムは、そのリソース追跡システムが送信当事者の口座から仲介当事者の口座に100米国ドルを転送しなければならないことを示す提案される転送をも受信することができる。センダによって送信されるホールド許可は、100米国ドルが送信当事者の口座においてホールドされるべきであることを示すことができる。金融機関のリソース追跡システムは、送信当事者の口座内で100米国ドルにホールドをかけることができ、ホールドがかけられたことを示す準備済み転送レシートを送出することができる。準備済み転送レシートは、信頼されるシステムに送信され得、信頼されるシステムは、その準備済み転送レシートをインターメディアリに送信することができ、あるいは、準備済み転送レシートは、転送のコーディネータに送信され、その後にインターメディアリに、またはインターメディアリに直接に送信され得る。
【００６０】
信頼されるシステムがある場合には、送信当事者の口座での100米国ドルのホールドの条件は、転送が進行できることを示す信頼されるシステムからの署名されたメッセージの受信とすることができる。信頼されるシステムは、送信当事者および仲介当事者が口座を有する金融機関のリソース追跡システムから準備済み転送レシートを受信することができる。その後、信頼されるシステムは、仲介当事者および受信当事者が口座を有する金融機関のリソース追跡システムから別の準備済み転送レシートを受信するのを待つことができる。送信当事者の口座で100米国ドルにホールドがかけられたことを示す準備済み転送レシートの受信時に、インターメディアリは、仲介当事者および受信当事者が口座を有する金融機関のリソース追跡システムでの仲介当事者の口座においてある量のユーロに対するホールドの許可を送出することができる。このホールドは、インターメディアリによって使用される為替レートに依存し、すべての料金について調整される、100米国ドルと等価値のユーロの量に関するものとされ得る。たとえば、インターメディアリが、1ユーロに対して1.10米国ドルの為替レートと0.5%の料金とを使用する場合に、インターメディアリは、90.46ユーロにホールドをかけることができ、ホールドの条件は、転送が進行できることを示す信頼されるシステムからの署名されたメッセージの受信である。リソース追跡システムは、仲介当事者の口座において90.46ユーロをホールドすることの許可の受信後に、90.46ユーロが仲介当事者の口座においてホールドされたことを示す準備済み転送レシートを信頼されるシステムに送信することができる。その後、信頼されるシステムは、転送が進行できることを示す署名されたメッセージを、リソース追跡システムおよびインターメディアリを含む、転送チェーン内の当事者のすべてのコンピューティングデバイスまたはコンピューティングシステムに送信することができる。いくつかの実装形態では、信頼されるシステムは、センダおよびレシーバに署名されたメッセージを送信しないものとされ得る。インターメディアリは、転送チェーン内の両方のリソース追跡システムに転送を実行する命令を送信することができ、この命令は、信頼されるシステムからの署名されたメッセージと組み合わされて、100米国ドルと90.46ユーロとの両方に対するホールドの条件を満足することができる。送信当事者および仲介当事者が口座を有する金融機関のリソース追跡システムは、たとえば送信当事者の口座を100米国ドルだけ減少させ、仲介当事者の口座を100米国ドルだけ増加させることによって、送信当事者の口座から仲介当事者の口座へホールドされた100米国ドルを自動的に転送することができる。仲介当事者および受信当事者が口座を有する金融機関のリソース追跡システムは、たとえば仲介当事者の口座を90.46ユーロだけ減少させ、受信当事者の口座を90.46ユーロだけ増加させることによって、仲介当事者の口座から受信当事者の口座へホールドされた90.46ユーロを自動的に転送することができる。レシーバは、両方のリソース追跡システムから転送確認レシートを受信することができ、転送の完了の通知は、センダおよびレシーバに送信され得る。
【００６１】
信頼されるシステムがない場合には、送信当事者の口座での100米国ドルのホールドの条件を、送信当事者から仲介当事者への100米国ドルの転送がそれに関してソース転送として働くことのできる別のリソース追跡システムでの宛先転送が発生したことの証拠の受信とすることができる。宛先転送は、たとえば、仲介当事者と受信当事者との両方が口座を有する金融機関のリソース追跡システムによる仲介当事者から受信当事者へのユーロの転送とすることができる。100米国ドルがホールドされたことを示す準備済み転送レシートの受信時に、インターメディアリは、仲介当事者と受信当事者との両方が口座を有する金融機関のリソース追跡システムに、仲介当事者の口座から受信当事者の口座へユーロを転送する命令を送信することができる。ユーロにはホールドがかけられていないので、その転送に関して、その所有者すなわち仲介当事者が転送を命令する限り、条件を満足する必要がない可能性がある。インターメディアリによって送信される命令は、90.46ユーロが仲介当事者の口座から受信当事者の口座に転送されなければならないことを示すことができる。この命令を受信するリソース追跡システムは、たとえば仲介当事者の口座を90.46ユーロだけ減少させ、受信当事者の口座を90.46ユーロだけ増加させることによって、転送を完了することができる。レシーバは、転送について通知され得る。90.46ユーロの転送の完了は、転送確認レシートがインターメディアリに送信されることをもたらすことができる。その後、インターメディアリは、送信当事者および仲介当事者が口座を有する金融機関のリソース追跡システムに転送確認レシートを送信することができる。この転送確認レシートは、ソース転送すなわち100米国ドルの転送に関する宛先転送すなわち90.46ユーロの転送が完了したことの証拠とすることができる。リソース追跡システムは、100米国ドルを転送する命令をインターメディアリから受信した時に、100米国ドルのホールドに関する条件が満足されたと判定することができ、たとえば送信当事者の口座を100米国ドルだけ減少させ、仲介当事者の口座を100米国ドルだけ増加させることによって、100米国ドルを自動的に転送することができる。インターメディアリは、転送確認レシートを受信することができ、センダは、転送が完
了したことを通知され得る。
【００６２】
たとえば、送信当事者が、ある量の米国ドルを含む口座を第1の銀行に有する場合がある。この口座が、第1の銀行の元帳に記録され得る。送信当事者は、受信当事者に100ユーロの借りがあるものとすることができる。送信当事者は、クォートの要求を送出することができる。この要求は、送信当事者が米国ドルを転送しようとしていることと、受信当事者が100ユーロを受信する必要があることとを指定することができる。クォート要求は、クォートを入手するために様々なトレーダに送信され得、転送チェーンが、それらのクォートから組み立てられ得る。送信当事者は、転送チェーンの一部であるトレーダのクォートから組み立てられ得るクォートを受信することができ、送信当事者が転送すべき米国ドルを何ドル有するのかと、受信当事者が100ユーロを受信するために米国ドルが転送される先のトレーダとを指定することができる。たとえば、転送チェーンにまたがる総転送コストが、受信当事者によって受信される額の1.5%であり、為替レートが1ユーロあたり1.10米国ドルである場合に、送信当事者は、受信当事者が100ユーロを受信するために、111.65米国ドルを転送する必要があるものとすることができる。転送中に、受信当事者が100ユーロを受信することを保証するために必要な1.65米国ドルすなわち110米国ドルの1.5%が、第1のトレーダおよび第2のトレーダによって、合計の転送コストとして占取され得る。
【００６３】
転送チェーンは、第1の銀行に米国ドル建ての口座を有し、分散型元帳上に暗号通貨口座を有するものとすることができる第1のトレーダと、分散型元帳上に暗号通貨口座を有し、第2の銀行の元帳に記録される、第2の銀行にユーロ建ての口座を有するものとすることができる第2のトレーダとを含むことができる。受信当事者も、第2の銀行にユーロ建ての口座を有することができる。暗号通貨は、1米国ドルあたり1000単位の為替レートでドルに変換され得る。
【００６４】
第1のトレーダ、第2のトレーダ、第1の銀行、分散型元帳、および第2の銀行は、それぞれ別々の提案される転送を受信することができる。提案される転送は、送信当事者がクォートを受け入れ、転送チェーンを介する転送を開始したことを示す、送信当事者によって第1の銀行に送信されるホールド許可の前、後、またはこれに関連して、受信され得る。提案される転送は、第1の銀行、分散型元帳、および第2の銀行によってかけられるすべてのホールドに関する条件を含むことができる。ホールド条件は、信頼されるシステムからの署名されたメッセージの受信または宛先転送が完了したことの証拠の受信のいずれかとすることができる。
【００６５】
第1の銀行によって受信される提案される転送は、第1の銀行が、送信当事者の口座において111.65米国ドルに対するホールドを受信し、送信当事者から許可が受信された後にホールドをかけ、ホールド条件が満足され、第1のトレーダから命令が受信された時に、第1のトレーダの口座に111.65米国ドルを転送することを示すことができる。
【００６６】
第1のトレーダによって受信される提案される転送は、第1のトレーダが、ソース転送として第1の銀行の口座で111.65米国ドルを受信し、110米国ドルの0.08%の転送コストを考慮して、宛先転送として第2のトレーダに転送されるべき、分散型元帳上の口座における110,770単位の暗号通貨へのホールドを許可することを示すことができる。
【００６７】
分散型元帳によって受信される提案される転送は、分散型元帳が、第1のトレーダの口座における110,770単位の暗号通貨に対するホールドを受信し、第1のトレーダから許可が受信された後にホールドをかけ、ホールド条件が満足され、第1のトレーダから命令が受信された時に、110,770単位を第2のトレーダの口座に転送することを示すことができる。
【００６８】
第2のトレーダによって受信される提案される転送は、第2のトレーダが、ソース転送として第1のトレーダから110,770単位の暗号通貨を受信し、受信当事者に送信されるべき第2の銀行の口座内の100ユーロに対するホールドを許可するか、または、宛先転送としてホールドなしでその口座から受信当事者の口座へ100ユーロを転送するように第2の銀行に指示するかのいずれかを行う(このどちらの場合でも、110米国ドルの0.07%の取引コストを考慮する)ことを示すことができる。
【００６９】
第2の銀行によって受信される提案される転送は、第2の銀行が、第2のトレーダの口座内の100ユーロに対するホールドを受信し、第2のトレーダから許可が受信された後にホールドをかけ、ホールド条件が満足され、第1のトレーダから命令が受信された時に、受信当事者の口座に100ユーロを転送するか、または、ホールドを一切かけずに、第2のトレーダから命令が受信される時に第2のトレーダの口座から受信当事者の口座に100ユーロを転送するかのいずれかを行うことを示すことができる。
【００７０】
送信当事者は、提案される転送に関連して第1の銀行が送信当事者の口座内の111.65米国ドルにホールドをかけることを許可するホールド許可を、第1の銀行の元帳に送信することができる。ホールド許可は、送信当事者からの暗号的に署名されたメッセージとすることができる。第1の銀行の元帳は、ホールド許可の受信時に、第1の銀行の元帳上の送信当事者の口座内の111.65米国ドルにホールドをかけることができ、第1の銀行のセンダの口座内の111.65米国ドルにホールドがかけられたことを示す準備済み転送レシートを送出することができる。
【００７１】
第1のトレーダは、第1の銀行の元帳によって送出された準備済み転送レシートを受信することができる。これは、第1のトレーダに転送される111.65米国ドルが、第1の銀行の送信当事者の口座内でホールドされたことを第1のトレーダに示すことができる。第1のトレーダは、提案される転送に関連して分散型元帳が第1のトレーダの口座内の110,770単位の暗号通貨にホールドをかけることを許可するホールド許可を分散型元帳に送信することができる。分散型元帳は、ホールド許可の受信時に、第1のトレーダの口座内の110,770単位の暗号通貨にホールドをかけることができ、分散型元帳の第1のトレーダの口座内の110,770単位の暗号通貨にホールドがかけられたことを示す準備済み転送レシートを送出することができる。
【００７２】
第2のトレーダは、分散型元帳によって送出された準備済み転送レシートを受信することができる。これは、第2のトレーダに転送される110,770単位の暗号通貨が分散型元帳の第1のトレーダの口座内でホールドされたことを第2のトレーダに示すことができる。
【００７３】
信頼されるシステムがあり、提案される転送内で示されるホールドの条件が、信頼されるシステムからの署名されたメッセージの受信である場合には、第2のトレーダは、提案される転送に関連して第2の銀行が第2のトレーダの口座内の100ユーロにホールドをかけることを許可するホールド許可を第2の銀行の元帳に送信することができる。第2の銀行の元帳は、ホールド許可の受信時に、第2のトレーダの口座内の100ユーロにホールドをかけることができ、第2の銀行の第2のトレーダの口座内の100ユーロにホールドがかけられたことを示す準備済み転送レシートを送出することができる。
【００７４】
信頼されるシステムは、第1の銀行の元帳、分散型元帳、および第2の銀行の元帳から準備済み転送レシートを受信することができる。信頼されるシステムは、正しい量の正しい資産タイプが転送チェーン内の各元帳でホールドされたことを確認することができる。その後、信頼されるシステムは、第1の銀行の元帳、第1のトレーダ、分散型元帳、第2のトレーダ、および第2の銀行の元帳に署名されたメッセージを送信することができる。
【００７５】
署名されたメッセージは、元帳のそれぞれにおけるホールドのそれぞれに関する条件を満足することができ、第1のトレーダに、第1の銀行の元帳に実行命令を送信させ、第2のトレーダに、分散型元帳および第2の銀行の元帳に実行命令を送信させることができる。第1の銀行の元帳は、信頼されるシステムからの署名されたメッセージおよび第1のトレーダからの実行命令の受信時に、送信当事者の口座内の111.65米国ドルに対するホールドを解放し、111.65米国ドルを送信当事者の口座から第1のトレーダの口座に転送することができる。分散型元帳は、信頼されるシステムからの署名されたメッセージおよび第2のトレーダからの実行命令の受信時に、第1のトレーダの口座内の110,770単位の暗号通貨に対するホールドを解放し、110,770単位の暗号通貨を第1のトレーダの口座から第2のトレーダの口座に転送することができる。第2の銀行の元帳は、信頼されるシステムからの署名されたメッセージおよび第2のトレーダからの実行命令の受信時に、第2のトレーダの口座内の100ユーロに対するホールドを解放し、100ユーロを第2のトレーダの口座から受信当事者の口座に転送することができる。各元帳は、成功の転送を確認するのに使用され得る転送確認レシートを送出することができる。
【００７６】
信頼されるシステムがなく、提案される転送内で示されるホールドの条件が、宛先転送が完了したことの証拠の受信である場合には、第2のトレーダは、分散型元帳からの準備済み転送レシートの受信時に、第2のトレーダの口座から受信当事者の口座に100ユーロを転送させるために、第2の銀行の元帳に実行命令を送信することができる。第2の銀行の元帳は、第2のトレーダからの実行命令の受信時に、第2のトレーダの口座から100ユーロをとり、受信当事者の口座に100ユーロを追加することによって、転送を実行することができる。第2の銀行の元帳は、第2のトレーダから受信当事者への100ユーロの転送の成功を示すことができる転送確認レシートを送出することができる。
【００７７】
第2のトレーダは、転送確認レシートを受信することができ、転送確認レシートおよび実行命令を分散型元帳に送信することができる。転送確認レシートは、第2のトレーダから受信当事者への100ユーロの宛先転送が成功して完了し、第1のトレーダの口座内の110,770単位の暗号通貨に対するホールド条件が満足されたことを、分散型元帳に示すことができる。分散型元帳は、第1のトレーダの口座内の110,770単位の暗号通貨に対するホールドを解放することができ、第1のトレーダの口座から第2のトレーダの口座へ110,770単位の暗号通貨を転送することができる。分散型元帳は、第1のトレーダから第2のトレーダへの110,770単位の暗号通貨の転送の成功を示すことができる転送確認レシートを送出することができる。
【００７８】
第1のトレーダは、転送確認レシートを受信することができ、転送確認レシートおよび実行命令を第1の銀行の元帳に送信することができる。転送確認レシートは、第1のトレーダから第2のトレーダへの110,770単位の暗号通貨の宛先転送が成功して完了し、送信当事者の口座内の111.65米国ドルに対するホールドの条件が満足されたことを、第1の銀行の元帳に示すことができる。第1の銀行の元帳は、送信当事者の口座内の111.65米国ドルに対するホールドを解放することができ、送信当事者の口座から第1のトレーダの口座に111.65米国ドルを転送することができる。第1の銀行の元帳は、送信当事者から第1のトレーダへの111.65米国ドルの転送の成功を示すことができる転送確認レシートを送出することができる。
【００７９】
この形で、送信当事者は、111.65米国ドルを送出することができ、受信当事者は、100ユーロを受信することができる。第1のトレーダは、111.65米国ドルを受信することができるので、0.88米国ドルの転送料金を占取することができ、110.77米国ドルに相当する110,770単位の暗号通貨を転送することができる。第2のトレーダは、110.77米国ドルに相当する110,770単位の暗号通貨を受信することができるので、770単位の暗号通貨の形で0.77米国ドルの転送料金を占取することができ、110米国ドルに相当する100ユーロを転送することができる。
【００８０】
各仲介当事者は、そのインターメディアリから送信されるクォートの一部として、保証された最小転送(guaranteed minimum transfer)を要求することができる。保証された最小転送は、転送が失敗する場合に仲介当事者に転送される、ある最小量のリソースを示すことができる。保証された最小転送は、たとえば、クォートのリクエスタまたは送信当事者が仲介当事者にとってどれほど信頼に値するのか、仲介当事者のリソースの何パーセントが転送中にホールドをかけられる必要が生じる可能性があるのか、およびインターメディアリが転送に関して要求しているロックタイムアウトに基づくものとされ得る。保証された最小転送は、たとえば送信当事者による悪意のある行為に起因して、転送が失敗する場合に、仲介当事者が、そのリソースにホールドをかけ、したがって転送が失敗する前の時間期間の間にそのリソースを彼らのために使用することができなかったことについて補償され得ることを保証することができる。転送チェーン内の各仲介当事者は、各仲介当事者が先行する仲介当事者より短いロックタイムアウトを必要とする可能性があるので、先行する仲介当事者より短い保証された最小転送を有することができ、各仲介当事者は、転送チェーン内のすべての後続の仲介当事者によって要求される可能性がある保証された最小転送を包含する必要がある可能性がある。
【００８１】
保証された最小転送は、転送が失敗し、リソースに対するホールドがロールバックされる時に発生する可能性がある。たとえば、送信当事者は、センダを使用して、クォートを要求し、承認し、転送をセットアップすることができる。センダ-インターメディアリリソース追跡システムで送信当事者のリソースにホールドをかけた後に、仲介当事者へのリソースの転送に備えて、センダは、転送を取り消し、送信当事者のリソースに対するホールドを除去する取り消しメッセージをリソース追跡システムに送信することができる。リソース追跡システムは、保証された最小転送を知ることができ、送信当事者のリソースのうちで、保証された最小転送によってカバーされない部分に対するホールドを解放することができる。この形で、インターメディアリは、それでも、送信当事者の保証された最小量のリソースを仲介当事者に転送させるために、リソース追跡システムに実行命令を送信することができる。同様に、転送に関与する他の仲介当事者がいる場合には、これらの当事者は、先行する仲介当事者のホールドされたリソースから保証された最小転送を請求することができる。仲介当事者の保証された最小転送は、その仲介当事者が保証された最小転送として請求することを望むリソースと、続く仲介当事者が保証された最小転送として請求するリソースとの両方を包含することができる。この形で、ある転送のすべての仲介当事者は、転送が失敗する時に送信当事者に何らかのリソースを請求することができ、悪意のある送信当事者が、仲介当事者に属するリソースを拘束するために複数の失敗する転送を意図的にセットアップすることが防がれる。
【００８２】
本明細書で使用される時に、ホールド(または「ロック」)タイムアウトは、インターメディアリが、そのリソースをリソース追跡システムでホールドさせることに合意する、指定された時間の長さを指す。送信当事者から受信当事者への転送が、ロックタイムアウトが満了する前に完了しない場合には、リソースに対するホールドは、解放され得、転送は、失敗し得る。ロックタイムアウトは、信頼されるシステムがない時には短くされ得、これは、悪意のある関係者が仲介当事者によって保持されるリソースを長い時間期間にわたって拘束することを防ぐことができる。信頼されるシステムがある時には、すべての当事者が、信頼されるシステムを信頼することができ、したがって、悪意のある関係者によって提示されるリスクに関する心配がより少ないので、ロックタイムアウトを長くすることができ、たとえば数日または無制限とすることができる。転送チェーンにおけるロックタイムアウトは、クォートのリクエスタ、たとえば送信当事者によって、または転送のコーディネータによって指定され得る。インターメディアリは、様々なリソース追跡システム上で転送に関する受け入れ可能なロックタイムアウトを公表することもできる。
【００８３】
任意の個数のリソースタイプが、送信当事者と受信当事者との間で使用され得る。たとえば、ある転送が、3つの仲介当事者の3つのインターメディアリを含む場合がある。送信当事者は、送信当事者および第1の仲介当事者がリソースプールを有する第1のリソース追跡システム上で第1の仲介当事者に米国ドルを転送することができる。第1の仲介当事者は、第1の仲介当事者および第2の仲介当事者がリソースプールを有する第2のリソース追跡システム上で第2の仲介当事者に暗号通貨を転送することができる。第2の仲介当事者は、第2の仲介当事者と第3の仲介当事者との両方がリソースプールを有する第3のリソース追跡システム上で第3の仲介当事者に物品、たとえば油を転送することができる。第3の仲介当事者は、第3の仲介当事者と受信当事者との両方がリソースプールを有する第4のリソース追跡システム上で受信当事者にユーロを転送することができる。この形で、送信当事者は、受信当事者にユーロを送信するのに米国ドルを使用することができる。
【００８４】
転送ごとに、ある当事者の宛先転送においてその当事者によって転送されるリソースの価値が、その当事者のソース転送においてその当事者に転送されたリソースの価値とは異なる場合がある。たとえば、第1の仲介当事者から第2の仲介当事者に転送された暗号通貨の価値が、送信当事者から第1の仲介当事者に転送された米国ドルの価値より少ない場合がある。価値の差は、たとえば仲介当事者によって転送に課せられる転送コストまたは転送料金とすることができる。同様に、第2の仲介当事者によって第3の仲介当事者に転送された油の価値が、第1の仲介当事者によって第2の仲介当事者に転送された暗号通貨の価値より少ない場合がある。仲介当事者によって提供されるクォートは、すべての料金または転送コストを含むことができ、送信当事者は、これらの料金または転送コストと、受信当事者が受信することを送信当事者が意図するリソースの価値とに基づいて、ホールドされるリソースの量を判定することができる。転送コストまたは転送料金は、0とされ得、あるいは、負とされ得、たとえば、ある当事者が、その当事者に転送されたリソースより高い価値のリソースを転送することをもたらすことができる。いくつかの実装形態では、転送コストは、ホールドされ、転送チェーン外の適当な当事者に転送され得る。たとえば、リソース追跡システムは、別のアカウントの当事者にリソースを転送する時、その当事者が原因である転送コストをホールドし得る。転送コストをカバーするためのリソースが、当事者のために全体としてホールドされ、いかなる特定の転送チェーンからも独立して、後でその当事者のアカウントに転送され得る。いくつかの実装形態では、リソース追跡システムは、転送チェーンの一部であるリソース転送に独自の転送コストを課すことができる。これらの転送コストは、リソース追跡システム上でそこにもしくはそこからリソースが転送されている仲介当事者からのクォートの一部として含まれ得、または別に見積もられ得る。リソース追跡システムは、転送が実行される時に転送コストを収集し、仲介当事者、受信当事者、またはループ取引においては送信当事者のアカウントにリソースを転送することに加えて独自のアカウントに適当なリソースを転送し得る。
【００８５】
転送は、送信当事者以外の当事者によって開始され得る。たとえば、受信当事者は、プル転送(pull transfer)を開始するのにレシーバを使用することができる。プル転送では、レシーバは、クォートを要求し、受信し、受け入れることができ、その後、転送を開始するために、送信当事者のリソースをホールドする、送信当事者の許可を入手することができる。送信当事者は、そのリソースに対するホールドを許可する義務を負わされ得、ホールド許可は、レシーバからの要求時にセンダから自動的に送信され得る。転送は、送信当事者でも受信当事者でもない当事者によっても開始され得る。たとえば、送信当事者および受信当事者が、スマートコントラクトに合意した場合があり、このスマートコントラクトは、契約条件が満足された時を判定し、契約の条項を実行するのにハードウェアとソフトウェアとの任意の適切な組合せを使用するコンピュータベースの契約とされ得る。たとえば、スマートコントラクトは、条件が満足される時に、送信当事者が受信当事者に100米国ドルをユーロで転送することを指定することができる。条件が満足されたことの検出時に、スマートコントラクトがその上でホスティングされるコンピューティングデバイスまたはコンピューティングシステムは、送信当事者から受信当事者へのユーロでの100米国ドルの転送のためのクォートを要求し、受信し、受け入れることができる。スマートコントラクトのコンピューティングデバイスは、転送を開始するために送信当事者のリソースすなわち100米国ドルにホールドをかけることができるものとされ得、あるいは、他の形で、そのようなホールド許可を自動的に送出するようにセンダに強制することができるものとされ得る。
【００８６】
転送チェーンは、並列経路を含むことができる。たとえば、送信当事者が、受信当事者に大量のリソースを転送することを望む場合がある。受信当事者がリソースプールを有するリソース追跡システム上で、受信当事者への転送を行うのに十分なリソースを単独で制御する、適切な仲介当事者がいない場合がある。送信当事者が複数の仲介当事者にリソースを転送し、受信当事者が複数の仲介当事者からリソースを受信するようにするために、並列経路を有する転送チェーンがセットアップされ得る。送信当事者は、すべての当事者がリソースプールを有する同一のリソース追跡システム上で、または別々のリソース追跡システム上で、仲介当事者にリソースを転送することができる。同様に、受信当事者は、受信当事者と受信当事者のリソースプールにリソースを転送するすべての当事者とがリソースプールを有するリソース追跡システム上で、または別々のリソース追跡システム上で、リソースを受信することができる。経路が並列にされ得るので、経路のうちの1つを介する転送が失敗すると同時に、他の経路上の転送が成功することが、可能になり得る。
【００８７】
たとえば、送信当事者が、受信当事者に1,000,000米国ドルをユーロで転送することを望む場合がある。どの単一の仲介当事者も、受信当事者がリソースプールを有するリソース追跡システム上のリソースプール内に、この転送を完了するのに十分なユーロを有しない場合がある。たとえば、第1の仲介当事者と受信当事者との間のリソース追跡システム上のリソースプール内に600,000米国ドル相当のユーロを有する第1の仲介当事者の第1のインターメディアリを介する第1の経路と、同一のリソース追跡システム上のリソースプール内に400,000米国ドル相当のユーロを有する第2の仲介当事者の第2のインターメディアリを介する第2の経路とを有する、並列経路が、転送チェーン内でセットアップされ得る。第1の経路および第2の経路に沿った転送は、並列に実行され得る。たとえば、センダは、送信当事者、第1の仲介当事者、および第2の仲介当事者のすべてがリソースプールを有するリソース追跡システムに、1,000,000米国ドルのホールド許可を送信することができる。このホールド許可は、600,000米国ドルが第1の仲介当事者のためにホールドされつつあり、400,000米国ドルが第2の仲介当事者のためにホールドされつつあることを示すことができる。準備済み転送レシートが、第1の仲介当事者および第2の仲介当事者に送信され得る。準備済み転送レシートの受信時に、第1のインターメディアリは、第1の仲介当事者が600,000米国ドル相当のユーロを有するリソース転送システムに、このユーロを受信当事者のリソースプールに転送する実行命令を送信することができ、第2のインターメディアリは、同一のリソース追跡システムに、400,000米国ドル相当のユーロを受信当事者のリソースプールに転送する実行命令を送信することができる。第1のインターメディアリと第2のインターメディアリとの両方が、転送確認レシートを受信することができ、その転送確認レシートを、実行命令と一緒に、送信当事者の1,000,000米国ドルがホールドされているリソース追跡システムに送信することができる。転送確認レシートは、1,000,000米国ドルのホールドの条件を満足することができ、実行命令は、リソース追跡システムが、600,000米国ドルを第1の仲介当事者のリソースプールに、400,0
00米国ドルを第2の仲介当事者のリソースプールに転送することをもたらし、転送を完了することができる。並列経路の一方が失敗し、たとえば、第2のインターメディアリが受信当事者への転送を実行しない場合に、他方の経路は、それでも成功することができ、たとえば、第1のインターメディアリは、それでも受信当事者への転送を実行し、転送確認レシートを受信し、送信当事者によって制御される1,000,000米国ドルのうちの600,000米国ドルのホールドの条件を満足するのに転送確認レシートを使用することができ、第1のインターメディアリのリソースプールへの600,000米国ドルの転送がもたらされる。
【００８８】
転送チェーンは、ループとすることができる。たとえば、送信当事者は、受信当事者からの購入を行っている可能性がある。転送チェーンは、任意の適切な数および配置のインターメディアリおよびリソース追跡システムを通じて送信当事者から受信当事者にリソースが転送され得る順方向部と、任意の適切な数および配置のインターメディアリを通じて受信当事者から送信当事者にリソースが転送され得る逆方向部とを含み得る。レシーバは、ループ転送チェーン内のインターメディアリと同様に働くことができる。たとえば、順方向の最後のインターメディアリが順方向の最後のリソース追跡システムにおいてリソースにホールドをかけたことを示す準備済み転送レシートをレシーバが受信する時、レシーバは、さらに、逆方向の第1のリソース追跡システムにおいて受信当事者のリソースにホールドをかけ得る。逆方向に1つのリソース追跡システムのみが存在する場合、ループ転送チェーン内のリソースにかけられるホールドの条件に応じて、センダまたは信頼されるシステムが、そのリソース追跡システムから準備済み転送レシートを受信する可能性があり、またはレシーバが、センダへの受信当事者のリソースの転送を実行するようにリソース追跡システムに命令する可能性がある。たとえば、ループ転送チェーンにおけるホールドの条件は、予め合意された署名されたレシートとすることができる。ループ転送チェーンにおいては、センダが、署名されたレシートを送出する責任を負うか、または第三者に責任を委譲する責任を負う可能性がある。ループ転送チェーンは、センダが転送チェーンの両端にある非ループ転送チェーンである可能性がある。
【００８９】
転送に含まれるリソースは、たとえば、CPU、GPU、暗号プロセッサ、または他の一般的なもしくは特殊化されたプロセッサタイプ上の処理時間、永久的またはレンタルベースのいずれかの、磁気プラッタベースのHDD、ソリッドステートディスク、および他の形の不揮発性フラッシュメモリなどの不揮発ストレージと、キャッシュおよびRAMなどの揮発性メモリとを含むストレージ、ならびに、たとえば着信および発信のネットワークトラフィックの総量と着信および発信のネットワークトラフィックの最高速度とを含む帯域幅などの計算リソースとされ得る。たとえば、送信当事者が、サーバシステム上で使用する資格を与えられ得る、ある量のプロセッサ時間を含む、サーバシステム上のアカウントを有する場合がある。送信当事者は、たとえば、サーバシステム上のアカウントを有するユーザまたは組織とされ得、あるいは、サーバシステム上でそれ自体のユーザアカウントを有してもしなくてもよいが、サーバシステム上で使用できる別々に追跡されるリソースを有することのできる、サーバシステム上で走行するプロセスまたはプログラムとされ得る。送信当事者は、CPU処理時間を受信することを期待するものとされ得る受信当事者に1テラバイトのSSDストレージの12ヵ月分を送信するためにクォートを受け入れることができ、仲介当事者を有する転送チェーンに関与し、仲介当事者は、送信当事者と同一のサーバシステム上にアカウントを有し、受信当事者もアカウントを有する別のサーバシステムにアカウントを有する。送信当事者によって使用されるセンダは、送信当事者がアカウントを有するサーバシステムのリソース追跡システムにホールド許可を送信することができる。サーバシステムのリソース追跡システムは、そのリソース追跡システムが送信当事者のアカウントから仲介当事者のアカウントに1TBのSSDストレージの12ヵ月分を転送しなければならないことを示す、提案される転送をも受信することができる。センダによって送信されたホールド許可は、1TBのSSDストレージの12ヵ月分が送信当事者のアカウント内でホールドされなければならないことを示すことができる。サーバシステムのリソース追跡システムは、送信当事者のアカウント内で1TBのSSDストレージの12ヵ月分にホールドをかけることができ、ホールドがかけられたことを示す準備済み転送レシートを送出することができる。準備済み転送レシートは、信頼されるシステムに送信され得、信頼されるシステムは、その後、準備済み転送レシートをインターメディアリに送信することができ、あるいは、準備済み転送レシートは、転送のコーディネータにおよびその後にインターメディアリに、または直接にインターメディアリに送信され得る。
【００９０】
信頼されるシステムがある場合には、送信当事者のアカウントにおける1TBのSSDストレージの12ヵ月分のホールドの条件は、転送が進行できることを示す信頼されるシステムからの署名されたメッセージの受信とされ得る。信頼されるシステムは、送信当事者および仲介当事者がアカウントを有する金融機関のリソース追跡システムから準備済み転送レシートを受信することができる。その後、信頼されるシステムは、仲介当事者および受信当事者がアカウントを有する金融機関のリソース追跡システムから別の準備済み転送レシートを受信するのを待つことができる。送信当事者のアカウントにおいて1TBのSSDストレージの12ヵ月分にホールドがかけられたことを示す準備済み転送レシートの受信時に、インターメディアリは、仲介当事者および受信当事者がアカウントを有する金融機関のリソース追跡システムにおける仲介当事者のアカウントにおける、ある量のCPU処理時間に対するホールドの許可を送出することができる。ホールドは、インターメディアリによって使用される交換レートに依存し、すべての料金について調整された、1TBのSSDストレージの12ヵ月分と等しい価値のCPU処理の量に関するものとされ得る。たとえば、インターメディアリが、600時間のCPU処理時間に関して1TB/1ヵ月のSSDストレージという交換レートと、0.5%の料金とを使用する場合に、インターメディアリは、7164時間のCPU処理時間にホールドをかけることができ、ホールドの条件は、転送が進行できることを示す信頼されるシステムからの署名されたメッセージの受信である。リソース追跡システムは、仲介当事者のアカウントにおいて7164時間のCPU処理時間をホールドすることの許可を受信した後に、仲介当事者のアカウントにおいて7164時間のCPU処理時間がホールドされたことを示す準備済み転送レシートを信頼されるシステムに送信することができる。信頼されるシステムは、その後、リソース追跡システムおよびインターメディアリを含む転送チェーン内の当事者のすべてのコンピューティングデバイスまたはコンピューティングシステムに、転送が進行できることを示す署名されたメッセージを送信することができる。いくつかの実装形態では、信頼されるシステムは、センダおよびレシーバには署名されたメッセージを送信しないもの
とされ得る。インターメディアリは、転送チェーン内の両方のリソース追跡システムに、転送を実行する命令を送信することができ、この命令は、信頼されるシステムからの署名されたメッセージと組み合わされて、1TBのSSDストレージの12ヵ月分と7164時間のCPU処理時間との両方に対するホールドの条件を満足することができる。送信当事者および仲介当事者がアカウントを有するサーバシステムのリソース追跡システムは、たとえば送信当事者のアカウントを1TBのSSDストレージの12ヵ月分だけ減少させ、仲介当事者のアカウントを1TBのSSDストレージの12ヵ月分だけ増加させることによって、送信当事者のアカウントから仲介当事者のアカウントへ1TBのSSDストレージのホールドされた12ヵ月分を自動的に転送することができる。仲介当事者および受信当事者がアカウントを有するサーバシステムのリソース追跡システムは、たとえば仲介当事者のアカウントを7164時間のCPU処理時間だけ減少させ、受信当事者のアカウントを7164時間のCPU処理時間だけ増加させることによって、仲介当事者のアカウントから受信当事者のアカウントへホールドされた7164時間のCPU処理時間を自動的に転送することができる。レシーバは、両方のリソース追跡システムから転送確認レシートを受信することができ、転送の完了の通知は、センダおよびレシーバに送信され得る。
【００９１】
信頼されるシステムがない場合には、送信当事者のアカウントにおける1TBのSSDストレージの12ヵ月分のホールドの条件は、送信当事者から仲介当事者への1TBのSSDストレージの12ヵ月分の転送がそれに関してソース転送として働くことができる宛先転送が別のリソース追跡システムで発生したことの証拠の受信とされ得る。宛先転送は、たとえば、仲介当事者と受信当事者との両方がアカウントを有するサーバシステムのリソース追跡システムによる、仲介当事者から受信当事者へのCPU処理時間の転送とされ得る。1TBのSSDストレージの12ヵ月分がホールドされたことを示す準備済み転送レシートの受信時に、インターメディアリは、仲介当事者と受信当事者との両方がアカウントを有するサーバシステムのリソース追跡システムに、仲介当事者のアカウントから受信当事者のアカウントへCPU処理時間を転送する命令を送信することができる。ホールドが、CPU処理時間に対してかけられていないので、その所有者すなわち仲介当事者が転送を命令する限り、その転送に関して条件を満足する必要はないものとされ得る。インターメディアリによって送信される命令は、7164時間のCPU処理時間が、仲介当事者のアカウントから受信当事者のアカウントに転送されなければならないことを示すことができる。この命令を受信するリソース追跡システムは、たとえば、仲介当事者のアカウントを7164時間のCPU処理時間だけ減少させ、受信当事者のアカウントを7164時間のCPU処理時間だけ増加させることによって、転送を完了することができる。レシーバは、この転送について通知され得る。7164時間のCPU処理時間の転送の完了は、転送確認レシートがインターメディアリに送信されることをもたらすことができる。その後、インターメディアリは、送信当事者および仲介当事者がアカウントを有するサーバシステムのリソース追跡システムに転送確認レシートを送信することができる。この転送確認レシートは、ソース転送すなわち1TBのSSDストレージの12ヵ月分の転送に関する宛先転送すなわち7164時間のCPU処理時間の転送が完了したことの証拠とされ得る。リソース追跡システムは、インターメディアリからの、1TBのSSDストレージの12ヵ月分を転送する命令の受信時に、1TBのSSDストレージの12ヵ月分のホー
ルドの条件が満足されたと判定することができ、たとえば送信当事者のアカウントを1TBのSSDストレージの12ヵ月分だけ減少させ、仲介当事者のアカウントを1TBのSSDストレージの12ヵ月分だけ増加させることによって、1TBのSSDストレージの12ヵ月分を自動的に転送することができる。インターメディアリは、転送確認レシートを受信することができ、センダは、転送が完了したことを通知され得る。
【００９２】
異なるサーバシステム上のアカウントにまたがる計算リソースの転送は、たとえば、異なるクラウドコンピューティングプラットフォームを使用する当事者の間での、所有される計算リソースの取引を可能にすることができる。この転送は、別々のクラウドコンピューティングプラットフォーム上に複数のアカウントを有する当事者が、異なるクラウドコンピューティングプラットフォームのサーバシステム上のアカウントのために計算リソースを入手するために、クラウドコンピューティングプラットフォームのうちの1つのサーバシステム上でその当事者が制御する計算リソースを使用することをも可能にすることができる。この場合には、同一の当事者が、両方のサーバシステムの両方のアカウントを制御できるので、送信当事者と受信当事者との両方になることができ、別のサーバシステム上の計算リソースを使用して1つのサーバシステム上で計算リソースを入手するのを容易にするのに、インターメディアリを使用していることが可能である。
【００９３】
転送に含まれるリソースは、たとえば、インターネットなどのネットワークに接続された任意の計算デバイスからの計算リソース、小規模製造デバイスおよび3D印刷デバイスからの出力、たとえば車両などのスマートデバイス上の時間の共有、ならびに出荷された物理的な商品ともされ得る。出荷された物理的な商品は、たとえば、物理的な黄金、または他の実物財貨もしくは品物とされ得る。出荷された物理的な商品に対するホールドは、たとえば、物理的な商品の配送をもたらす配送サービスによって実施され得る。
【００９４】
当事者のコンピューティングデバイスおよびコンピューティングシステムの間の通信は、たとえばセンダ、インターメディアリ、レシーバ、およびリソース追跡システムのいずれかの間で、直接に発生することができ、あるいは、任意の適切な形でルーティングされ得る。たとえば、通信は、信頼されるシステムを介して、または、信頼されるシステムではないものとされ得るが転送プロセスを調整することができる転送コーディネータを介して、ルーティングされ得る。転送コーディネータは、たとえばインターメディアリなど、転送チェーンの一部とされ得る任意の適切なコンピューティングデバイスまたはコンピューティングシステムとされ得、あるいは、転送チェーンの外部とすることができる。通信は、たとえばHTTPSなど、任意の適切な通信プロトコルを使用して直接に発生することができる。いくつかの実装形態では、メッセージが、あるコンピューティングデバイスまたはコンピューティングシステムによって別のコンピューティングデバイスまたはコンピューティングシステムに送信されるのではなく、1つのコンピューティングデバイスまたはコンピューティングシステムが、別のコンピューティングデバイスまたはコンピューティングシステム上のメッセージについてチェックすることができる。たとえば、転送チェーンに関する信頼されるシステムがある場合に、転送チェーン内の他のコンピューティングデバイスおよびコンピューティングシステムは、信頼されるシステムがメッセージを送出するのを待つのではなく、たとえば転送が進行できることを示す署名されたメッセージなどのメッセージについて、信頼されるシステムをチェックできるものとされ得る。
【００９５】
提案される転送、転送の実行命令、信頼されるシステムからの署名されたメッセージ、提案される転送レシート、準備済み転送レシート、および転送確認レシートを含む、当事者のコンピューティングデバイスおよびコンピューティングシステムの間でのすべての通信は、暗号的に署名され得る。たとえば、通信は、その通信を送信当事者によって保持される秘密鍵を用いて暗号的に署名され、通信が有効であることを確認するために、通信を受信当事者によって保持される対応する公開鍵を用いて検証され得る。これは、転送チェーンに関与する当事者だけが通信することができ、悪意のある当事者が転送チェーンに通信を挿入することを防ぐことを保証することができる。通信は、対称暗号または、通信するコンピューティングデバイスおよびコンピューティングシステムの間で共有される秘密もしくはトークンを使用することもできる。通信は、転送チェーン内のシステムが接続され得るプライベートネットワークを介して行われる可能性もある。プライベートネットワークは、暗号化され得る。通信のためのプライベートネットワークの使用は、転送チェーン内のシステムが、それらのシステムの間で受け渡される通信に対して暗号的な署名を使用することを割愛することを可能にし得る。通信は、たとえば、量子もつれを含む任意のその他の適切な安全な形態の通信を使用して転送チェーン内のシステム間で行われる可能性がある。
【００９６】
転送チェーンは、HTTPリクエストの支払いをするために使用され得る。たとえば、センダは、たとえば、任意の適切なウェブブラウザを通じてHTTPリクエストを送るために使用されるコンピューティングデバイスとすることができる。HTTPリクエストは、たとえば、ウェブ上でホストされる記事もしくはその他のコンテンツの種類のためのものであるか、またはファイルがダウンロードされるためのものであり得る。HTTPリクエストを送ることは、センダと、要求されているコンテンツまたはファイルのホスト、所有者、またはプロバイダとの間に転送チェーンをセットアップさせ得る。転送チェーンは、送信当事者に属する指定されたアカウントからの資金などのリソースを、受信当事者に受け付けられ得るいかなる形態でも、受信当事者であり得るホストまたは所有者に転送することができる。たとえば、送信当事者は、暗号通貨を送信することができ、受信当事者は、米国ドルを受信することができる。転送チェーンは、センダとレシーバとの間に任意の適切なインターメディアリを使用し得る。転送は、たとえば、少額決済とすることができる。
【００９７】
図1に、開示される主題の実装形態によるリソース転送システムに適する例示的なシステムを示す。仲介コンピューティングデバイス100は、エクスキュータ110、クォートジェネレータ120、およびストレージ140を含むことができる。仲介コンピューティングデバイス100は、エクスキュータ110、クォートジェネレータ120、およびストレージ140を実施する、たとえば、図22で説明されるコンピュータ20など、任意の適切なコンピューティングデバイスまたはそのコンポーネントとされ得る。仲介コンピューティングデバイス100は、単一のコンピューティングデバイスとされ得、あるいは、複数の接続されたコンピューティングデバイスを含むことができ、たとえば、ラップトップ、デスクトップ、個々のサーバ、サーバファーム、または分散サーバシステムとされ得、あるいは、仮想コンピューティングデバイスまたは仮想コンピューティングシステムとされ得る。仲介コンピューティングデバイス100は、コンピューティングシステムおよびネットワークインフラストラクチャの一部とされ得、あるいは、他の形でコンピューティングシステムおよびネットワークインフラストラクチャに接続され得る。エクスキュータ110は、提案される転送に対する条件を検証し、仲介当事者によって所有されるリソースがホールドされることを可能にするホールド許可を送出し、ストレージ140内のレシートおよびメッセージに基づいて、転送をもたらすために実行命令が発行され得る時を判定し、実行命令を送出するための、仲介コンピューティングデバイス100上のハードウェアとソフトウェアとの任意の適切な組合せとされ得る。クォートジェネレータ120は、クォート要求を受信し、クォート要求に応答してクォートを生成し、送出するための、仲介コンピューティングデバイス100上のハードウェアとソフトウェアとの任意の適切な組合せとされ得る。ストレージ140は、提案される転送メッセージ142、準備済み転送レシート144、転送確認レシート146、または信頼されるシステムからの署名されたメッセージ148などのレシートおよび他のメッセージを任意の適切な形で記憶することができる。仲介コンピューティングデバイス100は、たとえばトレーダ、取引所、またはサーバシステムのユーザなど、仲介当事者によって使用されるインターメデ
ィアリとされ得る。
【００９８】
エクスキュータ110は、提案される転送142に関する条件を検証し、準備済み転送レシート144に基づいて、仲介当事者によって所有されるリソースがホールドされることを可能にするホールド許可を送出し、準備済み転送レシート144、転送確認レシート146、または署名されたメッセージ148に基づいて、転送をもたらすために実行命令が発行され得る時を判定し、実行命令をたとえばリソース追跡システムに送出するための、ハードウェアとソフトウェアとの任意の適切な組合せとされ得る。エクスキュータ110は、ストレージ140から提案される転送142を受け取ることができるものとされ得る。提案される転送142は、たとえば仲介当事者によって送出され、送信当事者によって受け入れられたクォートの一部として、仲介コンピューティングデバイス100を使用する仲介当事者によって所有されるリソースを含むソース転送および宛先転送の指示を含むことができる。エクスキュータ110は、提案される転送142内のソース転送および宛先転送のリソースのホールドに関する条件が同一であり、たとえば信頼されるシステムから署名されたメッセージ148の受信であるかどうか、または、ソース転送が、宛先転送が成功したことを示す転送確認レシート146の受信に条件付けられているのかどうかを判定できるものとされ得る。いずれかが真であると判定される場合には、エクスキュータ110は、提案される転送142を受け入れることができるものとされ得る。エクスキュータ110は、提案される転送が、クォート要求に応答して仲介コンピューティングデバイス100によって送出された、転送コストまたは転送料金、保証された最小転送、およびロックタイムアウトを含むかどうかを判定し、それらのいずれかが含まれない場合には、提案される転送を拒絶することができるものともされ得る。エクスキュータ110は、準備済み転送レシート144が別のコンピューティングデバイスまたはコンピューティングシステムから受信された後にそこに記憶され得るストレージ140から、準備済み転送レシート144を受け取ることができるものとされ得る。エクスキュータ110は、準備済み転送レシート144に基づいて、リソース追跡システムで仲介当事者によって所有されるリソースに対するホールドを許可できるものとされ得、あるいは、準備済み転送レ
シート144に基づいて、リソース追跡システム上で転送をもたらすために実行命令を発行することができる。エクスキュータ110は、転送確認レシート146または署名されたメッセージ148が、別のコンピューティングデバイスまたはコンピューティングシステムから仲介コンピューティングデバイス100で受信された後にそこに記憶され得るストレージ140から、転送確認レシート146または署名されたメッセージ148を受け取ることができるものとされ得る。エクスキュータ110は、署名されたメッセージ148の受信時にリソース追跡システム上で転送をもたらすために実行命令を送信できるものとされ得、転送確認レシート146の受信時にリソース追跡システム上で転送をもたらすために転送確認レシート146および実行命令を送信できるものとされ得る。実行命令は、たとえば、仲介当事者によって所有されるリソースプールへまたは仲介当事者によって所有されるリソースプールからの、リソースの転送をもたらすことができる。
【００９９】
クォートジェネレータ120は、たとえば信頼されるシステム、転送コーディネータ、または他のコンピューティングデバイスもしくはコンピューティングシステムから、クォートの要求を受信できるものとされ得る。クォートの要求は、ソース転送と宛先転送との両方に含まれるリソースのタイプおよび量と当事者のアイデンティティとを含む、仲介コンピューティングデバイス100を使用して仲介当事者が行うようにクォートリクエスタが望むソース転送および宛先転送を含むことができる。クォート要求は、ソース転送および宛先転送がその上で行われるべきリソース追跡システムを識別することもできる。クォートジェネレータ120は、クォートの要求に応答してクォートを生成できるものとされ得る。クォートは、仲介当事者が、クォート要求に基づいて提案される転送の仲介当事者による受け入れの条件にすることを望み得る、任意の転送コストまたは転送料金、保証された最小転送、およびロックタイムアウトを含むことができる。
【０１００】
図2に、開示される主題の実装形態によるリソース転送システムに適する例示的なシステムを示す。リソース追跡コンピューティングデバイス200は、リソースマネージャ210、レシートジェネレータ220、およびストレージ240を含むことができる。リソース追跡コンピューティングデバイス200は、リソースマネージャ210、レシートジェネレータ220、およびストレージ240を実施するための、たとえば図22で説明されるコンピュータ20など、任意の適切なコンピューティングデバイスまたはそのコンポーネントとされ得る。リソース追跡コンピューティングデバイス200は、単一のコンピューティングデバイスとされ得、あるいは、複数の接続されたコンピューティングデバイスを含むことができ、たとえば、ラップトップ、デスクトップ、個々のサーバ、サーバファーム、または分散サーバシステムとされ得、あるいは、仮想コンピューティングデバイスまたは仮想コンピューティングシステムとされ得る。リソース追跡コンピューティングデバイス200は、コンピューティングシステムおよびネットワークインフラストラクチャの一部とされ得、あるいは、他の形でコンピューティングシステムおよびネットワークインフラストラクチャに接続され得る。リソースマネージャ210は、様々な当事者に属し、リソース追跡コンピューティングデバイス200によって追跡されるリソースを管理するための、リソース追跡コンピューティングデバイス200上のハードウェアとソフトウェアとの任意の適切な組合せとされ得る。リソースは、たとえばストレージ240内のリソースプール242および244などのリソースプール内で追跡され得る。レシートジェネレータ220は、リソースマネージャ210のアクションに基づいて、準備済み転送レシート144および転送確認レシート146などのレシートを生成するための、ハードウェアとソフトウェアとの任意の適切な組合せとされ得る。ストレージ240は、リソース追跡コンピューティングデバイス200によって追跡されるリソースを有する様々な当事者の、リソースプール242および244などのリソースプールと一緒に、保留中転送246を記憶することができる。ストレージ240は、転送確認レシート248または署名されたメッセージ250などのレシートを記憶することもできる。リソースプール24
2および244は、リソースのタイプおよび量と、リソースプール内のリソースを所有しまたは制御する当事者のアイデンティティとを含む、当事者によって所有され、リソース追跡コンピューティングデバイス200によって追跡されるリソースの記録とされ得る。リソース追跡コンピューティングデバイス200は、特定の個人または組織に密接に関連しまたは属してもしなくてもよいリソース追跡システムとされ得、あるいはサーバシステムのコンポーネントとされ得る。
【０１０１】
リソースマネージャ210は、様々な当事者に属し、リソース追跡コンピューティングデバイス200によって追跡されるリソースを管理するための、リソース追跡コンピューティングデバイス200上のハードウェアとソフトウェアとの任意の適切な組合せとされ得る。リソースマネージャ210は、提案される転送を受信できるものとされ得、提案される転送は、リソース追跡コンピューティングデバイス200によって追跡されるリソースが、リソース追跡コンピューティングデバイス200上のあるリソースプールからリソース追跡コンピューティングデバイス200上の別のリソースプールに転送されなければならないことと、提案される転送に関連してかけられるリソースに対する任意のホールドに関連する条件とを示すことができる。リソースマネージャ210は、提案される転送によって転送されるリソースに関するホールド許可も、転送されるリソースを制御する当事者から受信されるかどうかを判定できるものとされ得る。ホールド許可がまだ受信されていない時には、リソースマネージャ210は、保留中転送246を生成することができ、この保留中転送246は、ストレージ240に記憶され得、提案される転送がまだホールド許可を待っていることを示すことができる。
【０１０２】
ホールド許可が受信済みである時には、リソースマネージャ210は、提案される転送によって示された通りに、適当なリソースプール内のリソースのタイプおよび量にホールドをかけることができるものとされ得る。たとえば、リソースマネージャ210は、リソースがリソースプール242からリソースプール244に転送されなければならないことを提案される転送が示し、リソースプール242を所有する当事者からのホールド許可が受信済みである時に、リソースプール242内に記録されたリソースにホールドをかけることができる。リソースマネージャ210によってかけられたホールドは、ホールドがかけられたリソースを拘束することができ、その結果、リソースは、ホールドをもたらした提案される転送に関連する場合を除いて、移動されまたは転送されることが不可能になる。ホールドは、特定のリソースまたはある量のリソースを拘束することができる。ホールドは、ロックタイムアウトを含むことができ、このロックタイムアウトは、その後に、リソースマネージャ210がリソースを転送せずにホールドを解放することのできる時間期間とされ得る。ロックタイムアウトは、リソース追跡コンピューティングデバイス200によって受信される提案される転送内で示され得る。
【０１０３】
リソースマネージャ210は、リソースにかけられたホールドに関する条件が満足された時を検証できるものとされ得る。たとえば、ホールドが、宛先転送が発生したことの証拠の受信に条件付けられている場合に、リソースマネージャ210は、別のリソース追跡コンピューティングデバイスでの宛先転送を確認する転送確認レシート248が受信済みであるかどうかを判定できるものとされ得る。ホールドが、信頼されるシステムからの署名されたメッセージの受信に条件付けられている場合には、リソースマネージャ210は、信頼されるシステムが転送の進行を命令したことを示す署名されたメッセージ250が受信済みであるかどうかを判定できるものとされ得る。ホールドに関する条件が満足されていると判定する時に、リソースマネージャ210は、適当な仲介コンピューティングデバイス100から実行命令を受信し、リソースの転送を実行できるものとされ得る。リソースマネージャ210は、リソースに対するホールドの条件の満足と、これらのリソースの転送を実行する命令の受信とが、必ずこれらのリソースの自動的な転送をもたらすことができるようにするために、決定論的とされ得る。
【０１０４】
リソースマネージャ210は、一方のリソースプール内のリソースの量を減分し、他方のリソースプール内のリソースの量を同一の量だけ増分することによって、リソースプール242およびリソースプール244などのリソースプールの間でリソースを転送できるものとされ得る。たとえば、リソースマネージャ210は、リソースプール242によって記録された米国ドルの量を100だけ減分し、リソースプール244によって記録された米国ドルの量を100だけ増分することによって、リソースプール242からリソースプール244に100米国ドルを転送することができる。
【０１０５】
レシートジェネレータ220は、リソースマネージャ210のアクションに基づいて、準備済み転送レシート144および転送確認レシート146などのレシートを生成するためのハードウェアとソフトウェアとの任意の適切な組合せとされ得る。レシートジェネレータ220は、リソースマネージャ210が、提案される転送に関連してリソースプール内のリソースにホールドをかけた時を判定できるものとされ得、転送に必要なリソースがホールドされていることを示す、準備済み転送レシート144などの準備済み転送レシートを生成できるものとされ得る。準備済み転送レシートは、たとえば、タイプおよび量を含む、ホールドされているリソースの指示、ホールドされたリソースを所有する当事者、リソースに対するホールドの条件、およびリソースに対するホールドに関する任意のロックタイムアウトを含むことができる。レシートジェネレータ220によって生成された準備済み転送レシートは、たとえば信頼されるシステムもしくは転送コーディネータなどの任意の適切なコンピューティングデバイスもしくはコンピューティングシステムに、または仲介当事者のコンピューティングデバイス100に送信され得る。レシートジェネレータ220は、リソースマネージャ210が、リソース追跡コンピューティングデバイス200上のあるリソースプールから別のリソースプールへのリソースの転送を実行し終えた時を判定できるものとされ得、転送が実行されたことを示す、転送確認レシート146などの転送確認レシートを生成できるものとされ得る。転送確認レシートは、たとえば、タイプおよび量を含む、転送されたリソースの指示、リソースがそこから転送されたリソースプールを所有する当事者、リソースがそこに転送されたリソースプールを所有する当事者、転送されたリソースに対するホールドの条件、およびホールドの条件が満足され、転送の発生が可能にされたことの証拠の指示を含むことができる。レシートジェネレータ220によって生成された転送確認レシートは、たとえば信頼されるシステムもしくは転送コーディネータなどの任意の適切なコンピューティングデバイスもしくはコンピューティングシステムに、または仲介当事者のコンピューティングデバイス100に送信され得る。
【０１０６】
図3に、開示される主題の実装形態によるリソース転送システムに適する例示的なシステムを示す。送信側コンピューティングデバイス300は、オーソライザ310、クォートリクエスタ320、およびストレージ340を含むことができる。送信側コンピューティングデバイス300は、オーソライザ310、クォートリクエスタ320、およびストレージ340を実施するための、たとえば図22で説明されるコンピュータ20など、任意の適切なコンピューティングデバイスまたはそのコンポーネントとされ得る。送信側コンピューティングデバイス300は、単一のコンピューティングデバイスとされ得、あるいは、複数の接続されたコンピューティングデバイスを含むことができ、たとえば、ラップトップ、デスクトップ、個々のサーバ、サーバファーム、または分散サーバシステムとされ得、あるいは、仮想コンピューティングデバイスまたは仮想コンピューティングシステムとされ得る。送信側コンピューティングデバイス300は、コンピューティングシステムおよびネットワークインフラストラクチャの一部とされ得、あるいは、他の形でコンピューティングシステムおよびネットワークインフラストラクチャに接続され得る。オーソライザ310は、転送に関するクォート内に含まれるソース転送および宛先転送に関するホールド条件を検証し、クォート内の転送または送信側コンピューティングデバイス300によって受信された提案される転送などの転送に関連してリソース追跡コンピューティングデバイス200上で送信当事者によって所有されるリソースをホールドする許可を送信するための、送信側コンピューティングデバイス300上のハードウェアとソフトウェアとの任意の適切な組合せとされ得る。クォートリクエスタ320は、送信側コンピューティングデバイス300を使用して受信当事者に対して行われることを送信当事者が望むリソースの転送に関するクォートを要求するための、ハードウェアとソフトウェアとの任意の適切な組合せとされ得る。ストレージ340は、クォート342または提案される転送344を任意の適切な形で記憶することができる。送信側コンピューティングデバイス300は、送信当事者によって使用されるセンダとされ得、送信当事者は、受信当事者にリソースを転送することを望む可能性がある任意の適切な当事者とされ得る。送信当事
者は、転送チェーン内の別の当事者と同一当事者とされ得、あるいは、別々の当事者とされ得る。たとえば、送信当事者および受信当事者が、同一の当事者、たとえば、ある支部でホールドされたリソースを使用して別の支部のために別のタイプのリソースを入手する複数の支部を有する組織とされ得る。
【０１０７】
オーソライザ310は、ソース転送および宛先転送に関するホールド条件を検証し、転送に関連してリソース追跡コンピューティングデバイス200上で送信当事者によって所有されるリソースをホールドするための許可を送信するための、送信側コンピューティングデバイス300上のハードウェアとソフトウェアとの任意の適切な組合せとされ得る。オーソライザ310は、送信側コンピューティングデバイス300によって受信された、クォート342などの転送に関するクォートまたは提案される転送344などの提案される転送の一部とされ得、送信当事者が、受信当事者にリソースを送信するために参加を望むソース転送および宛先転送に関するホールド条件を検証できるものとされ得る。オーソライザ310は、ソース転送に関する送信当事者によって所有されるリソースのホールドに関する条件が、宛先転送が発生したことの証拠の受信または信頼されるシステムからの署名されたメッセージの受信のいずれかであるかどうかを判定できるものとされ得る。いずれかが真である場合には、オーソライザ310は、リソースがその上で追跡されるリソース追跡コンピューティングデバイス200に、リソースに関するホールド許可を送信できるものとされ得る。これは、送信当事者が、リソースプール242などのリソースプールをその上に有するリソース追跡コンピューティングデバイス200とされ得る。
【０１０８】
クォートリクエスタ320は、送信当事者が、送信側コンピューティングデバイス300を使用して受信当事者に対して行うことを望むリソースの転送に関するクォートを要求するためのハードウェアとソフトウェアとの任意の適切な組合せとされ得る。クォートリクエスタ320は、たとえば送信側コンピューティングデバイス300にパラメータを入力する送信当事者から、または送信側コンピューティングデバイスのストレージ340から、転送に関するパラメータを受け取ることができるものとされ得る。クォート要求のパラメータは、たとえば、転送の受信当事者の指示、送信当事者が転送するリソースのタイプ、受信当事者が受信を期待するリソースのタイプ、および送信当事者が転送するリソースの量または送信当事者が受信当事者に到達することを望むリソースの量のいずれかを含むことができる。たとえば、クォートは、送信当事者が100米国ドルを転送することと、受信当事者が、為替レートと、たとえば仲介当事者によって100米国ドルから演繹されたリソースの価値とに基づいてある量のユーロを受信することとを示すことができ、あるいは、クォートは、受信当事者が100ユーロを受信することを示すことができ、送信当事者によって転送される米国ドルの量は、受信当事者が為替レートおよびすべての演繹されるリソースを考慮して100ユーロを受信することを確実にするように決定され得る。クォート要求は、送信当事者が転送チェーン内で使用されることを望む仲介コンピューティングデバイスおよびリソース追跡コンピューティングデバイスのアイデンティティ、転送チェーン内の当事者のアイデンティティ、各当事者からおよび各当事者へ転送される量、ならびに、転送および転送チェーンに関する他の適当な詳細を含む、転送チェーンをも含むことができる。
【０１０９】
クォートリクエスタ320によって生成されたクォート要求は、任意の適切なコンピューティングデバイスまたはコンピューティングシステムに送信され得る。たとえば、クォート要求は、様々な可能な仲介コンピューティングデバイス100に送信され得、この仲介コンピューティングデバイス100は、クォート要求を評価し、受信当事者への転送チェーン内の転送への参加のためにクォートを応答することができる。クォート要求は、信頼されるシステム、転送コーディネータ、または、送信当事者と受信当事者との間で転送チェーンをセットアップするために様々な可能な仲介コンピューティングデバイス100からクォートを得るための経路探索を実行することのできる他のコンピューティングデバイスに送信され得る。たとえば、クォート要求が、送信当事者によって指定された転送経路を含む場合、または、クォート要求を受信したコンピューティングデバイスもしくはコンピューティングシステムが、様々な仲介コンピューティングデバイスおよびリソース追跡コンピューティングデバイスに関する流動性情報(liquidity information)を事前にインデクシングさせる場合には、経路探索が不要である可能性がある。
【０１１０】
図4に、開示される主題の実装形態によるリソース転送システムに適する例示的なシステムを示す。コーディネータ400は、転送チェーンジェネレータ410、クォートリクエスタ420、およびストレージ440を含むことができる。コーディネータ400は、転送チェーンジェネレータ410、クォートリクエスタ420、およびストレージ440を実施するための、たとえば図22で説明されるコンピュータ20など、任意の適切なコンピューティングデバイスまたはそのコンポーネントとされ得る。コーディネータ400は、単一のコンピューティングデバイスとされ得、あるいは、複数の接続されたコンピューティングデバイスを含むことができ、たとえば、ラップトップ、デスクトップ、個々のサーバ、サーバファーム、または分散サーバシステムとされ得、あるいは、仮想コンピューティングデバイスまたは仮想コンピューティングシステムとされ得、あるいは、たとえば仲介コンピューティングデバイス100および送信側コンピューティングデバイス200などの転送チェーン内の様々なコンピューティングデバイスおよびコンピューティングシステムの間で分散され得る。コーディネータ400は、コンピューティングシステムおよびネットワークインフラストラクチャの一部とされ得、あるいは、他の形でコンピューティングシステムおよびネットワークインフラストラクチャに接続され得る。転送チェーンジェネレータ410は、送信当事者から受信当事者までの転送チェーンを生成するための、たとえば、様々な仲介コンピューティングデバイス100から受信される様々な仲介当事者から収集された様々なクォートからチェーンを組み立てるための、ハードウェアとソフトウェアとの任意の適切な組合せとされ得る。クォートリクエスタ420は、送信当事者が送信側コンピューティングデバイス300を使用して受信当事者に対して行うことを望むリソースの転送に関するクォートを要求するための、ハードウェアとソフトウェアとの任意の適切な組合せとされ得る。ストレージ440は、準備済み転送レシート442などの準備済み転送レシートと、転送確認レシート444などの転送確認レシートとを、任意の適切な形で記憶することができる。コーディネータ400は、コンピューティングデバイスもしくはコンピューティングシステムとされ得、またはそのコンポーネントとさ
れ得、その機能性を複数のコンピューティングデバイスもしくはコンピューティングシステムの間で分散させることができる。コーディネータ400は、たとえば、信頼されるシステムとされ得、あるいは、送信当事者から受信当事者への転送に関する転送コーディネータとされ得る。コーディネータ400は、送信当事者と受信当事者との間の転送チェーン内の仲介コンピューティングデバイス100またはその一部とされ得る。
【０１１１】
コーディネータ400は、たとえば転送チェーンジェネレータ410およびクォートリクエスタ420を使用して、転送のために転送チェーンをセットアップできるものとされ得る。たとえば、コーディネータ400は、送信側コンピューティングデバイス300からクォート要求を受信できるものとされ得、クォートを満足するために転送チェーンの一部とされ得る仲介コンピューティングデバイス100を判定できるものとされ得、これらの仲介コンピューティングデバイス100に送信され得るクォート要求を生成することができ、転送チェーンジェネレータ410を使用して、クォートを要求した送信当事者とオリジナルのクォート要求内で示される受信当事者との間で転送チェーンを構成するために、仲介コンピューティングデバイス100から受信したクォートを使用できるものとされ得る。コーディネータ400は、ストレージ440内に、転送チェーンを構成するためにクォートリクエスタ420の代わりに使用され得る様々な仲介コンピューティングデバイスおよびリソース追跡コンピューティングデバイスの流動性情報のインデックスをも含むことができる。
【０１１２】
コーディネータ400は、転送チェーン内の様々なコンピューティングデバイスおよびコンピューティングシステムの間での通信およびメッセージパッシングを調整できるものとされ得る。たとえば、コーディネータ400は、準備済み転送レシート442および転送確認レシート444などの様々なレシートを受信し、これらを、転送チェーン内の仲介コンピューティングデバイス100およびリソース追跡コンピューティングデバイス200などの適当なコンピューティングデバイスおよびコンピューティングシステムに送信することができる。
【０１１３】
コーディネータ400は、信頼されるシステムとされ得る。コーディネータ400が信頼されるシステムである時には、転送チェーン内のリソース追跡コンピューティングデバイス200上でリソースにかけられるすべてのホールドに関する条件は、コーディネータ400からの署名されたメッセージの受信とされ得る。コーディネータ400は、転送チェーン内のすべてのリソース追跡コンピューティングデバイス200が、転送チェーン内で転送されるすべてのリソースがホールドされたことを示す準備済み転送レシートをコーディネータ400に送信し終えた時を判定できるものとされ得、署名されたメッセージを生成し、転送を進行させるために転送チェーン内の仲介コンピューティングデバイス100およびリソース追跡コンピューティングデバイス200のすべてに署名されたメッセージを分配できるものとされ得る。署名されたメッセージは、必要な場合には転送を取り消すことができるものとされ得る。
【０１１４】
図5に、開示される主題の実装形態によるリソース転送システムに適する例示的なシステムを示す。リソース追跡コンピューティングデバイス200上のリソースプール242は、リソース所有者識別子510と、リソース記録520および530とを含むことができる。リソース所有者識別子510は、リソースプール242内で記録されたリソースを所有する当事者の任意の適切な識別とされ得る。たとえば、リソース所有者識別子は、人、組織、またはサーバシステム上のユーザもしくはプロセスの名前、任意の名前、ユーザ名とパスワードとの組合せ、パスフレーズまたはパスコード、一意の数、あるいは暗号公開鍵とされ得る。リソース記録520および530は、リソースタイプ522および532と、リソース量524および534とを含むことができる。リソースタイプ522および532は、リソース記録520および530内に記録されたリソースのタイプを示すことができる。リソースタイプ522および532は、たとえば、通貨、暗号通貨、物品、金融商品、または計算リソースなど、資産の任意の適切なリソースとされ得る。リソース量524および534は、リソース所有者識別子510によって識別される当事者によって所有され、リソースプール242内で追跡されるリソースタイプ522および532の量を示すことができる。リソース量524および534は、たとえば、リソース追跡コンピューティングデバイス200上のレジスタまたはメモリセル内に記憶され得る。
【０１１５】
リソース追跡コンピューティングデバイス200は、任意の適切な形でリソースを追跡することができる。たとえば、リソース追跡コンピューティングデバイス200は、タイプによってリソースをプールすることができ、リソースプール242などの各リソースプールは、リソースタイプ522などの特定のリソースタイプを追跡する。次に、リソースプール242は、リソース所有者識別子510などのリソース所有者識別子を使用して、任意の量のリソースタイプ522を所有する各当事者によって保持されるリソースタイプ522のリソース量524を含むことができる。
【０１１６】
図6A〜図6Dに、開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す。図6Aでは、送信側コンピューティングデバイス300は、クォートの要求を送出することができる。クォートは、送信当事者が送信側コンピューティングデバイス300を使用してそれにリソースを転送することを望む受信当事者を示すことができる。クォートの要求は、たとえばコーディネータ400によって受信され得、コーディネータ400は、クォートの要求を様々な仲介コンピューティングデバイスに分配することができる。仲介コンピューティングデバイス100は、クォートを応答することができ、このクォートは、送信するコンピューティングデバイス300に送り返され得る。
【０１１７】
図6Bでは、送信するコンピューティングデバイス300は、クォートの受け入れを、たとえばコーディネータ400に送り返すことができる。たとえば、送信当事者は、クォート要求内で要求されたすべての転送コスト、保証された最小転送、およびロックタイムアウトを含む、仲介コンピューティングデバイス100からのクォートを受け入れることができる。コーディネータ400は、仲介コンピューティングデバイス100に、送信するコンピューティングデバイス300と仲介コンピューティングデバイス100との間でセンダ-インターメディアリリソース追跡システムとして働くことができるリソース追跡コンピューティングデバイス200に、および、受信当事者がリソース追跡コンピューティングデバイス600上にリソースプールを有することができるので仲介コンピューティングデバイス100とレシーバとの間にあり得るインターメディアリ-レシーバリソース追跡システムとして働くことができるリソース追跡コンピューティングデバイス600に、提案される転送を送信することができる。リソース追跡コンピューティングデバイス200および600は、提案される転送に関する条件を検証することができ、提案される転送レシートをコーディネータ400に返すことができる。提案される転送は、送信当事者によって望まれる転送をもたらすために、どのタイプおよびどの量のリソースがどのリソースプールの間で移動されなければならないのかを、リソース追跡システム200および600に示すことができる。
【０１１８】
図6Cでは、送信側コンピューティングデバイス300は、送信当事者がその上にリソースプールを有することのできるリソース追跡コンピューティングデバイス200にホールド許可を送信することができる。ホールド許可は、コーディネータ400を介して送信され得る。ホールド許可の受信時に、リソース追跡コンピューティングデバイス200は、転送内で使用されなければならない、送信当事者によって所有されるリソースにホールドをかけることができ、たとえばコーディネータ400を介して、たとえば仲介コンピューティングデバイス100に、準備済み転送レシートを送信することができる。
【０１１９】
図6Dでは、準備済み転送レシートの受信時に、仲介コンピューティングデバイス100が、実行命令または転送に関する許可をリソース追跡コンピューティングデバイス600に送信することができる。実行命令は、リソース追跡コンピューティングデバイス600に、リソース追跡コンピューティングデバイス600および仲介コンピューティングデバイス100に送信された提案される転送に従って、仲介コンピューティングデバイス100を使用する仲介当事者によって所有され得るリソースプール644から受信当事者によって所有され得るリソースプール642へリソースを転送させることができる。これは、仲介コンピューティングデバイス100を使用する仲介当事者の宛先転送とされ得る。仲介コンピューティングデバイス100が、転送に関する許可を送出する場合には、リソース追跡コンピューティングデバイス600は、コーディネータ400からの適切なメッセージの受信時に、リソースプール644からリソースプール642へリソースを転送することができる。
【０１２０】
リソース追跡コンピューティングデバイス600は、たとえば仲介コンピューティングデバイス100、コーディネータ400、またはその両方を介して、リソース追跡コンピューティングデバイス200に到達することができる宛先転送の転送確認レシートを送信することができる。仲介コンピューティングデバイス100は、実行命令をリソース追跡コンピューティングデバイス200に送信することもできる。転送確認レシートは、リソース追跡コンピューティングデバイス200上で送信当事者のリソースにかけられたホールドの条件を満足することができる。リソース追跡コンピューティングデバイス200は、実行命令の受信時に、送信当事者によって所有され得るリソースプール242から仲介コンピューティングデバイス100を使用する仲介当事者によって所有され得るリソースプール244に、ホールドされたリソースを自動的に転送することができる。
【０１２１】
図7A〜図7Cに、開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す。図7Aでは、送信側コンピューティングデバイス300は、送信当事者から受信当事者への転送に関するクォートを要求し、受信し、合意し終えているものとされ得る。コーディネータ400は、転送チェーン内のリソース追跡コンピューティングデバイス200、600、および720と仲介コンピューティングデバイス100および710とに、提案される転送を送信することができる。リソース追跡コンピューティングデバイス200、600、および720は、それらが提案される転送に関する条件を検証し終え、提案される転送によって示されるリソースをホールドする許可を待っていることを示す提案される転送レシートを、たとえばコーディネータ400に送出することができる。
【０１２２】
図7Bでは、送信側コンピューティングデバイス300は、送信当事者がその上にリソースプールを有することのできるリソース追跡コンピューティングデバイス200にホールド許可を送信することができる。ホールド許可は、コーディネータ400を介して送信され得る。ホールド許可の受信時に、リソース追跡コンピューティングデバイス200は、転送に使用されなければならない送信当事者によって所有されるリソースにホールドをかけることができ、たとえばコーディネータ400を介して、たとえば仲介コンピューティングデバイス100に、準備済み転送レシートを送信することができる。
【０１２３】
図7Cでは、仲介コンピューティングデバイス100は、仲介コンピューティングデバイス100を使用する仲介当事者がリソースプールをその上に有することのできるインターメディアリ-インターメディアリリソース追跡システムとして働くことができるリソース追跡コンピューティングデバイス600にホールド許可を送信することができる。ホールド許可は、コーディネータ400を介して送信され得る。ホールド許可の受信時に、リソース追跡コンピューティングデバイス600は、転送に使用されなければならない、仲介コンピューティングデバイス100を使用する仲介当事者によって所有されるリソースにホールドをかけることができ、たとえばコーディネータ400を介して、たとえば仲介コンピューティングデバイス710に、準備済み転送レシートを送信することができる。
【０１２４】
図8A〜図8Cに、開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す。転送が、信頼されるシステムを含まない場合には、仲介コンピューティングデバイス710は、図8Aのように転送確認レシートを受信した時に、インターメディアリ-レシーバリソース追跡システムとして働くことができるリソース追跡コンピューティングデバイス720に実行命令を送信することができる。実行命令は、リソース追跡コンピューティングデバイス720に、仲介コンピューティングデバイス710を使用する仲介当事者によって所有され得るリソースプール742から、受信当事者によって所有され得るリソースプール744へ、リソースを転送させることができる。転送されるリソースのタイプおよび量は、仲介コンピューティングデバイス710およびリソース追跡コンピューティングデバイス720に送信される提案される転送内で示される通りとされ得る。リソース追跡コンピューティングデバイス720は、転送確認レシートを送出することができ、この転送確認レシートは、たとえば仲介コンピューティングデバイス710に進むことができる。転送確認レシートまたは転送の何らかの他の通知は、受信当事者がリソースを成功して受信したことを送信当事者に通知するために、送信側コンピューティングデバイス300にも送信され得る。
【０１２５】
図8Bでは、仲介コンピューティングデバイス710は、リソース追跡コンピューティングデバイス720から受信された転送確認レシートを、たとえばコーディネータ400を介して、リソース追跡コンピューティングデバイス600に送信することができる。仲介コンピューティングデバイス710は、仲介コンピューティングデバイス100を使用する仲介当事者によって所有され、リソース追跡コンピューティングデバイス600においてリソースプール644内でホールドされたリソースの、仲介コンピューティングデバイス710を使用する仲介当事者によって所有されるリソースプール642への転送をもたらすために、リソース追跡コンピューティングデバイス600に実行命令を送信することもできる。これは、仲介コンピューティングデバイス710を使用する仲介当事者のソース転送とされ得る。転送確認レシートは、仲介コンピューティングデバイス710を使用する仲介当事者からのリソースの宛先転送が完了したことの証拠とされ得るので、仲介コンピューティングデバイス100を使用する仲介当事者によって所有されるリソースに対するホールドの条件を満足することができる。リソース追跡コンピューティングデバイス600は、仲介コンピューティングデバイス710からの実行命令の受信時に、ホールドされたリソースをリソースプール644からリソースプール642に自動的に転送することができる。リソース追跡コンピューティングデバイス600は、転送確認レシートを送出することができ、この転送確認レシートは、たとえば仲介コンピューティングデバイス100に進むことができる。
【０１２６】
図8Cでは、仲介コンピューティングデバイス100は、リソース追跡コンピューティングデバイス600から受信された転送確認レシートを、たとえばコーディネータ400を介して、リソース追跡コンピューティングデバイス200に送信することができる。仲介コンピューティングデバイス100は、送信側コンピューティングデバイス300を使用する送信当事者によって所有され、リソース追跡コンピューティングデバイス200においてリソースプール242内でホールドされたリソースの、仲介コンピューティングデバイス100を使用する仲介当事者によって所有されるリソースプール244への転送をもたらすために、実行命令をリソース追跡コンピューティングデバイス200に送信することもできる。これは、仲介コンピューティングデバイス100を使用する仲介当事者のソース転送とされ得る。転送確認レシートは、仲介コンピューティングデバイス100を使用する仲介当事者からのリソースの宛先転送が完了したことの証拠とされ得るので、送信側コンピューティングデバイス300を使用する送信当事者によって所有されるリソースに対するホールドの条件を満足することができる。リソース追跡コンピューティングデバイス200は、仲介コンピューティングデバイス100からの実行命令の受信時に、ホールドされたリソースをリソースプール242からリソースプール244へ自動的に転送することができる。これは、転送を完了することができる。というのは、受信当事者が、リソースを受信し終えたものとされ得、送信当事者が、リソースを送信し終えたものとされ得、仲介当事者が、転送チェーンを容易にするためにリソースの送信と受信との両方を終えたものとされ得るからである。
【０１２７】
図9A〜図9Cに、開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す。図9Aでは、転送が信頼されるシステム、たとえばコーディネータ400を含む場合に、仲介コンピューティングデバイス710は、図7Aのように準備済み転送確認レシートを受信した時に、リソース追跡コンピューティングデバイス720にホールド許可を送信することができる。ホールド許可の受信時に、リソース追跡コンピューティングデバイス720は、受信当事者に転送されるべき、仲介コンピューティングデバイス710を使用する仲介当事者によって所有されるリソースにホールドをかけることができ、たとえばコーディネータ400に、準備済み転送レシートを送信することができる。いくつかの実装形態では、コーディネータ400などの信頼されるデバイスがある時に、送信側コンピューティングデバイス300、仲介コンピューティングデバイス100、および仲介コンピューティングデバイス710は、そのそれぞれのホールド許可を同時に、たとえば転送が進行すべきことを示すメッセージをコーディネータ400から受信する時に、送信することができる。
【０１２８】
図9Bでは、コーディネータ400は、リソース追跡コンピューティングデバイス200、600、および720と仲介コンピューティングデバイス100および710とに署名されたメッセージを送信し、またはこれらによって取り出され得る署名されたメッセージを記憶することができる。たとえば、コーディネータ400は、転送チェーン内で転送されるべきリソースのすべてがホールド済みであることを示す準備済み転送レシートをリソース追跡コンピューティングデバイス200、600、および720から受信済みとされ得る。コーディネータ400は、転送が進行できると判定し、署名されたメッセージを送出することができ、この署名されたメッセージは、たとえば、コーディネータ400によって保持される秘密暗号鍵を用いて署名され、リソース追跡コンピューティングデバイス200、600、および720と仲介コンピューティングデバイス100および710とがそのコピーを有する対応する公開鍵を用いて検証可能なメッセージとされ得る。
【０１２９】
図9Cでは、仲介コンピューティングデバイス710は、そのソース転送および宛先転送に関する実行命令を、それぞれリソース追跡コンピューティングデバイス600および720に送信することができる。リソース追跡コンピューティングデバイス600および720によって受信された署名されたメッセージは、リソースプール644および742内のリソースに対するホールドの条件を満足済みとされ得る。リソース追跡コンピューティングデバイス720は、実行命令の受信時に、仲介コンピューティングデバイス710を使用する仲介当事者によって所有されるリソースプール742から受信当事者によって所有されるリソースプール744へ、ホールドされたリソースを自動的に転送することができる。リソース追跡コンピューティングデバイス720は、たとえば、受信当事者がリソースを受信し終えたことをセンダに通知するために送信側コンピューティングデバイス300に送信される、転送確認レシートまたは他の通知を生成することができる。リソース追跡コンピューティングデバイス600は、実行命令の受信時に、仲介コンピューティングデバイス100を使用する仲介当事者によって所有されるリソースプール644から仲介コンピューティングデバイス710を使用する仲介当事者によって所有されるリソースプール642へ、ホールドされたリソースを自動的に転送することができる。
【０１３０】
仲介コンピューティングデバイス100は、そのソースに関してリソース追跡コンピューティングデバイス200に実行命令を送信することができる。リソース追跡コンピューティングデバイス200によって受信された署名されたメッセージは、リソースプール242内のリソースに対するホールドの条件を満足済みとされ得る。リソース追跡コンピューティングデバイス200は、実行命令の受信時に、送信するコンピューティングデバイス300を使用する送信当事者によって所有されるリソースプール242から仲介コンピューティングデバイス100を使用する仲介当事者によって所有されるリソースプール244へ、ホールドされたリソースを自動的に転送することができる。
【０１３１】
図10に、開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す。リソースプール242からリソースプール244へのリソース追跡コンピューティングデバイス200上でホールドされたリソースの転送をもたらすためには、リソースに対するホールドの条件が満足されなければならない。この条件は、たとえば、仲介コンピューティングデバイス100からリソース追跡コンピューティングデバイス200への転送確認レシート1090の送信によって満足され得、ここで、転送確認レシート1090は、リソースプール242からリソースプール244へのリソースのソース転送に関する宛先転送が完了したことを示す。代替案では、信頼されるシステムが、リソース追跡コンピューティングデバイス200に署名されたメッセージを送信することができる。
【０１３２】
仲介コンピューティングデバイス100は、リソース追跡コンピューティングデバイス200に実行命令を送信することができる。実行命令は、リソースマネージャ210によって受信され得、リソースマネージャ210は、リソースに対するホールドの条件が満足されたことを検証することができる。その後、リソースマネージャ210は、リソースプール242内のリソース量524を、ホールドされたリソースの量だけ減分し、リソースプール244内のリソース量1024を同一の量だけ増分することができる。リソースタイプ522および1022は、同一とされ得る。これは、たとえば仲介コンピューティングデバイス100を使用する仲介当事者とされ得る、リソース所有者識別子1010によって識別される当事者が、増加された量のリソースタイプ1022を所有することを、リソースプール244が記録することをもたらすことができる。リソースプール242は、リソース所有者識別子510によって識別される当事者、たとえば送信当事者または他の仲介当事者が、今や、減少された量のリソースタイプ522を所有することを記録することができる。リソース追跡コンピューティングデバイス200によって追跡されるリソースタイプ522または1022の総量は、変化していないものとされ得、リソースプール242および244を所有する当事者によって所有されるリソースの量だけが、変化することができる。
【０１３３】
リソース量524および1024は、レジスタまたはメモリセル内に記憶されるカウンタとされ得る。リソース量524が減分される時には、カウンタによって記録される量は、ホールドされたリソースの量だけ減少され得るが、ホールドされたものとして識別される実際のリソースは、リソース量524が減分される時に除去されるリソースではないものとされ得る。たとえば、リソース量524は、米国ドルのリソースタイプ522に関して、1000とされ得る。ホールドが、米国ドルのうちの100米国ドルにかけられ得る。ホールド条件が満足され、転送が発生する時に、リソース量524は、100だけ減分され得るが、これは、リソース記録520からの100米国ドルの任意のセットの除去を表すことができる。ホールドは、転送すべき少なくとも100米国ドルがあることを保証するが、100を超える米国ドルがある場合には、米国ドルのいずれもが転送され得る。リソース量524および1024は、位置あるいは、物品もしくはメモリのブロックなどの物理的インスタンス化を有するリソースまたは金融商品もしくは個別に区別可能とされ得る他のリソースなど、特定のリソースに関する他の識別子をも含むことができる。これは、特定の位置に貯蔵された特定の物品、株式の特定の持ち分、特定の債権、たとえばオプション契約などの特定の契約、その他などの特定のリソースの転送を可能にすることができる。
【０１３４】
図11に、開示される主題の実装形態によるリソース転送システムに適する例のシーケンスを示す。転送チェーンは、転送チェーンの信頼されるシステムともされ得る、1つの仲介コンピューティングデバイスすなわち仲介コンピューティングデバイス100を有することができる。時刻1110に、送信側コンピューティングデバイス300は、仲介コンピューティングデバイス100にホールド許可を送信することができる。時刻1120に、仲介コンピューティングデバイス100は、センダ-インターメディアリリソース追跡システムとして働くことができるリソース追跡コンピューティングデバイス200に、送信当事者によって所有されるリソースにホールドをかけるように命令することができる。この命令は、送信側コンピューティングデバイス300からのホールド許可を含むことができる。仲介コンピューティングデバイス100は、インターメディアリ-レシーバリソース追跡システムとして働くことができるリソース追跡コンピューティングデバイス600に、仲介コンピューティングデバイス100を使用する仲介当事者によって所有されるリソースにホールドをかけるように命令することができる。時刻1130に、仲介コンピューティングデバイス100は、ホールドが送信当事者のリソースおよび仲介当事者のリソースにかけられたことを示す準備済み転送レシートを、リソース追跡コンピューティングデバイス200および600から受信することができる。時刻1140に、仲介コンピューティングデバイス100は、署名されたメッセージと実行命令との両方を、リソース追跡コンピューティングデバイス200と600との両方に送信することができる。時刻1150に、仲介コンピューティングデバイス100からの署名されたメッセージおよび実行命令の受信時にそれぞれの転送を実行し終えたものとされ得るリソース追跡コンピューティングデバイス200および600は、仲介コンピューティングデバイス100に転送確認レシートを送信することができる。リソース追跡コンピューティングデバイス600は、リソースの転送が完了したことの通知をレシーバコンピューティングデバイス1100に送信することもでき、レシーバコンピューティングデバイス1100は、受信当事者によって使用される任意の適切なコンピューティングデバイスとされ得る。時刻11
60に、仲介コンピューティングデバイス100は、転送が完了したことを送信側コンピューティングデバイス300に通知することができる。
【０１３５】
図12に、開示される主題の実装形態によるリソース転送システムに適する例のシーケンスを示す。転送チェーンは、1つの仲介コンピューティングデバイスすなわち仲介コンピューティングデバイス100を有することができ、信頼されるシステムを有しないものとされ得る。時刻1210に、送信側コンピューティングデバイス300は、センダ-インターメディアリリソース追跡システムとして働くことができるリソース追跡コンピューティングデバイス200に、ホールド許可を送信することができる。時刻1220に、仲介コンピューティングデバイス100は、ホールド許可によって許可される通りに、送信当事者によって所有されるリソースにホールドをかけるようにリソース追跡コンピューティングデバイス200に命令することができる。時刻1230に、仲介コンピューティングデバイス100は、送信当事者のリソースがホールドされたことを示す準備済み転送レシートをリソース追跡コンピューティングデバイス200から受信することができる。時刻1240に、仲介コンピューティングデバイス100は、インターメディアリ-レシーバリソース追跡システムとして働くことができるリソース追跡コンピューティングデバイス600に実行命令を送信することができる。時刻1250に、仲介コンピューティングデバイス100からの実行命令の受信時に仲介当事者から受信当事者へのリソースの転送を実行し終えたものとされ得るリソース追跡コンピューティングデバイス600は、転送確認レシートを仲介コンピューティングデバイス100に送信することができる。リソース追跡コンピューティングデバイス600は、リソースの転送が完了したことの通知をレシーバコンピューティングデバイス1100に送信することもできる。時刻1260に、仲介コンピューティングデバイス100は、実行命令とリソース追跡コンピューティングデバイス600からの転送確認レシートとをリソース追跡コンピューティングデバイス200に送信する。時刻1270に、送信当事者のリソースに対するホールドの条件を満足するために、仲介コンピューティングデバイス100からの実行命令と転送確認レシートとの受信時に送信当事者から受信当事者へのリソースの転送を実行し終えたものとされ得るリソース追跡コンピューティングデバイス200は、仲介当事者へのリソースの転送を
確認する転送確認レシートを仲介コンピューティングデバイス100に送信することができる。時刻1280に、仲介コンピューティングデバイス100は、転送が完了したことを送信側コンピューティングデバイス300に通知することができる。
【０１３６】
図13Aに、開示される主題の実装形態によるリソース転送システムに適する例のシーケンスを示す。転送チェーンは、2つの仲介コンピューティングデバイスすなわち、転送チェーンの信頼されるシステムともされ得る仲介コンピューティングデバイス100と、仲介コンピューティングデバイス710とを有することができる。時刻1310に、送信側コンピューティングデバイス300は、仲介コンピューティングデバイス100にホールド許可を送信することができる。時刻1315に、仲介コンピューティングデバイス100は、センダ-インターメディアリリソース追跡システムとして働くことができるリソース追跡コンピューティングデバイス200に、送信当事者によって所有されるリソースにホールドをかけるように命令することができる。この命令は、送信側コンピューティングデバイス300からのホールド許可を含むことができる。時刻1320に、仲介コンピューティングデバイス100は、送信当事者のリソースがホールドされたことを示す準備済み転送レシートをリソース追跡コンピューティングデバイス200から受信することができる。時刻1325に、仲介コンピューティングデバイス100は、インターメディアリ-インターメディアリリソース追跡システムとして働くことができるリソース追跡コンピューティングデバイス600に、仲介コンピューティングデバイス100を使用する仲介当事者によって所有されるリソースにホールドをかけるように命令することができる。時刻1330に、リソース追跡コンピューティングデバイス200は、準備済み転送レシートを仲介コンピューティングデバイス100に送信することができる。準備済み転送レシートは、たとえば仲介コンピューティングデバイス100によって、またはリソース追跡コンピューティングデバイス200によって、仲介コンピューティングデバイス710にも送信され得る。時刻1335に、仲介コンピューティングデバイス710は、インターメディアリ-レシーバリソース追跡システムとして働くことができるリソース追跡コンピューティングデバイス720に、仲介コンピューティングデバイス710を使用する仲介当事者によって所有されるリソースにホールドをかけるように命令することができる。時刻1340に、リソース追跡コンピューティングデバイス720は、準備済み転送レシ
ートを仲介コンピューティングデバイス710および仲介コンピューティングデバイス100に送信することができる。時刻1345に、転送チェーン内のまたは転送チェーンに関与する信頼されるシステムとされ得る仲介コンピューティングデバイス100は、準備済み転送レシートから、転送されるべきすべてのリソースがホールドされたと判定することができ、リソース追跡システム200、600、および720と仲介コンピューティングデバイス710とに署名されたメッセージを送信することができる。時刻1350に、仲介コンピューティングデバイス710は、リソース追跡コンピューティングデバイス600と720との両方に実行命令を送信することができ、仲介コンピューティングデバイス100は、リソース追跡コンピューティングデバイス200に実行命令を送信することができる。リソース追跡コンピューティングデバイス200、600、および720は、それぞれの転送を実行することができ、リソース追跡コンピューティングデバイス720は、仲介コンピューティングデバイス710を使用する仲介当事者から受信当事者へホールドされたリソースを転送し、リソース追跡コンピューティングデバイス600は、仲介コンピューティングデバイス100を使用する仲介当事者から仲介コンピューティングデバイス710を使用する仲介当事者へホールドされたリソースを転送し、リソース追跡コンピューティングデバイス200は、送信当事者から仲介コンピューティングデバイス100を使用する仲介当事者へホールドされたリソースを転送する。時刻1355に、リソース追跡コンピューティングデバイス720は、リソースの転送が完了したことの通知をレシーバコンピューティングデバイス1100に送信することができる。時刻1360に、仲介コンピューティングデバイス100は、転送が完了したことを送信側コンピューティングデバイス300に通知することができる。
【０１３７】
図13Bに、開示される主題の実装形態によるリソース転送システムに適する例のシーケンスを示す。転送チェーンは、2つの仲介コンピューティングデバイス、仲介コンピューティングデバイス100および仲介コンピューティングデバイス710を有することができる。転送チェーン内のリソースにかけられるホールドの条件は、レシーバコンピューティングデバイス1100からのレシート、たとえば、予め合意された署名されたメッセージの受信とすることができる。時刻1310に、送信側コンピューティングデバイス300は、仲介コンピューティングデバイス100にホールド許可を送信することができる。時刻1315に、仲介コンピューティングデバイス100は、センダ-インターメディアリリソース追跡システムとして働くことができるリソース追跡コンピューティングデバイス200に、送信当事者によって所有されるリソースにホールドをかけるように命令することができる。この命令は、送信側コンピューティングデバイス300からのホールド許可を含むことができる。時刻1320に、仲介コンピューティングデバイス100は、送信当事者のリソースがホールドされたことを示す準備済み転送レシートをリソース追跡コンピューティングデバイス200から受信することができる。時刻1325に、仲介コンピューティングデバイス100は、インターメディアリ-インターメディアリリソース追跡システムとして働くことができるリソース追跡コンピューティングデバイス600に、仲介コンピューティングデバイス100を使用する仲介当事者によって所有されるリソースにホールドをかけるように命令することができる。時刻1330に、リソース追跡コンピューティングデバイス200は、準備済み転送レシートを仲介コンピューティングデバイス100に送信することができる。準備済み転送レシートは、たとえば、仲介コンピューティングデバイス100によって、またはリソース追跡コンピューティングデバイス200によって、仲介コンピューティングデバイス710にも送信され得る。1335に、仲介コンピューティングデバイス710は、インターメディアリ-レシーバリソース追跡システムとして働くことができるリソース追跡コンピューティングデバイス720に、仲介コンピューティングデバイス710を使用する仲介当事者によって所有されるリソー
スにホールドをかけるように命令することができる。時刻1341に、リソース追跡コンピューティングデバイス720は、仲介コンピューティングデバイス710およびレシーバコンピューティングデバイス1100に準備済み転送レシートを送信することができる。時刻1346に、レシーバコンピューティングデバイス1100は、リソース追跡コンピューティングデバイス720から受信された準備済み転送レシートから、受信当事者に転送されるべきリソースがホールドされたと判定することができ、転送チェーン内のすべてのその他のリソースがホールドされたと推測することができる。レシーバコンピューティングデバイス1100は、レシート、たとえば、予め合意された署名されたメッセージをリソース追跡システム200、600、および720ならびに仲介コンピューティングデバイス100および710に送信することができる。1350に、仲介コンピューティングデバイス710は、リソース追跡コンピューティングデバイス600と720との両方に実行命令を送信することができ、仲介コンピューティングデバイス100は、リソース追跡コンピューティングデバイス200に実行命令を送信することができる。リソース追跡コンピューティングデバイス100、600、および720は、それぞれの転送を実行することができ、リソース追跡コンピューティングデバイス720は、仲介コンピューティングデバイス710を使用する仲介当事者から受信当事者にホールドされたリソースを転送し、リソース追跡コンピューティングデバイス600は、仲介コンピューティングデバイス100を使用する仲介当事者から仲介コンピューティングデバイス710を使用する仲介当事者にホールドされたリソースを転送し、リソース追跡コンピューティングデバイス200は、送信当事者から仲介コンピューティングデバイス100を使用する仲介当事者へホールドされたリソースを転送する。いくつかの実装形態では、そのレシーバコンピューティングデバイス1100は、リソース追跡コンピューティングデバイス720に実行命令を送信することができる。1355に、リソース追跡コンピューティングデバイス720は、リソースの転送が完了したことの通知をレシーバコンピューティングデバイス1100に送信することができる。時刻1360に、仲介コンピューティングデバイ
ス100は、転送が完了したことを送信側コンピューティングデバイス300に通知することができる。
【０１３８】
いくつかの実装形態では、リソース追跡コンピューティングシステム720からの準備済み転送レシートは、レシーバコンピューティングデバイス1100が責任を委譲した第三者に直接送信されるかまたはレシーバコンピューティングデバイス1100によってフォワーディングされ得る。転送チェーン内のリソースに対するホールドの条件は、この第三者からのレシートの受信とすることができる。第三者は、リソース追跡コンピューティングデバイス200、600、および720ならびに仲介コンピューティングデバイス100および710にレシートを送出することができる。レシートは、たとえば、予め合意されたコンテンツを有する暗号的に署名されたメッセージとすることができる。レシートは、いくつかの実装形態では、たとえば、転送チェーンの一部であるかまたは転送チェーンの外にあり得る物理的品目の出荷または配送などの何らかのイベントの発生の証拠とすることができる。いくつかの実装形態では、受信当事者は、責任をリソース追跡コンピューティングデバイス720または仲介コンピューティングデバイス710に委譲することができる。たとえば、リソース追跡コンピューティングデバイス720は、仲介コンピューティングデバイス710からその仲介当事者のリソースをホールドする命令を受信すると、転送を実行させるためにレシートを送出することができる。仲介コンピューティングデバイス710は、仲介コンピューティングデバイス710から準備済み転送レシートを受信すると転送を実行させるためにレシートを送出することができる。
【０１３９】
レシーバコンピューティングデバイス1100または責任が委譲された第三者によって送出されたレシートは、転送チェーン内のすべての適当なシステムに一度に送信され得る。たとえば、レシーバコンピューティングデバイス1100が、リソース追跡コンピューティングデバイス200、600、および720ならびに仲介コンピューティングデバイス100および710にレシートを送出することができる。また、レシートは、順にチェーンの中を伝えられ得る。たとえば、レシートは、レシーバコンピューティングデバイス1100からリソース追跡コンピューティングデバイス720に送信され得、リソース追跡コンピューティングデバイス720は、リソースのその転送を実行し、レシートを仲介コンピューティングデバイス710に渡すことができ、そして今度は、仲介コンピューティングデバイス710は、リソース追跡コンピューティングデバイス600にレシートを送信することができ、以下同様である。
【０１４０】
図14に、開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す。転送チェーンは、2つの仲介コンピューティングデバイスすなわち、仲介コンピューティングデバイス100および仲介コンピューティングデバイス710を有することができ、信頼されるシステムを有しないものとされ得る。時刻1410に、送信側コンピューティングデバイス300は、ホールド許可をリソース追跡コンピューティングデバイス200に送信することができる。時刻1415に、仲介コンピューティングデバイス100は、センダ-インターメディアリリソース追跡システムとして働くことができるリソース追跡コンピューティングデバイス200に、ホールド許可によって許可される通りに、送信当事者によって所有されるリソースにホールドをかけるように命令することができる。時刻1420に、仲介コンピューティングデバイス100は、送信当事者のリソースがホールドされたことを示す準備済み転送レシートをリソース追跡コンピューティングデバイス200から受信することができる。時刻1425に、仲介コンピューティングデバイス100は、インターメディアリ-インターメディアリリソース追跡システムとして働くことができるリソース追跡コンピューティングデバイス600に、仲介コンピューティングデバイス100を使用する仲介当事者によって所有されるリソースにホールドをかけるように命令することができる。時刻1430に、リソース追跡コンピューティングデバイス200は、準備済み転送レシートを仲介コンピューティングデバイス100に送信することができる。準備済み転送レシートは、たとえば仲介コンピューティングデバイス100によって、またはリソース追跡コンピューティングデバイス200によって、仲介コンピューティングデバイス710にも送信され得る。時刻1435に、仲介コンピューティングデバイス710は、インターメディアリ-レシーバリソース追跡システムとして働くことができるリソース追跡コンピューティングデバイス720に実行命令を送信することができる。時刻1440に、仲介コンピューティングデバイス710からの実行命令の受信時に仲介コンピューティングデバイス710を使用する仲介当事者から受信当事者へのリソースの転送を実行し終えたものとされ得るリソース追跡コンピューティングデバ
イス720は、転送確認レシートを仲介コンピューティングデバイス710に送信することができる。転送確認レシートは、リソース追跡コンピューティングデバイス600にも送信され得る。リソース追跡コンピューティングデバイス720は、リソースの転送が完了したことの通知をレシーバコンピューティングデバイス1100にも送信することができる。時刻1445に、仲介コンピューティングデバイス710は、実行命令をリソース追跡コンピューティングデバイス600に送信することができる。時刻1450に、仲介コンピューティングデバイス100を使用する仲介当事者から仲介コンピューティングデバイス710を使用する仲介当事者へホールドされたリソースを転送し終えたものとされ得るリソース追跡コンピューティングデバイス600は、転送確認レシートを仲介コンピューティングデバイス100に送信することができる。転送確認レシートは、リソース追跡コンピューティングデバイス200にも送信され得る。時刻1455に、仲介コンピューティングデバイス100は、実行命令をリソース追跡コンピューティングデバイス200に送信することができる。時刻1460に、送信当事者から仲介コンピューティングデバイス100を使用する仲介当事者へホールドされたリソースを転送し終えたものとされ得るリソース追跡コンピューティングデバイス200は、転送確認レシートを仲介コンピューティングデバイス100に送信することができる。時刻1465に、仲介コンピューティングデバイス100は、転送が完了したことを送信側コンピューティングデバイス300に通知することができる。
【０１４１】
図15に、開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す。転送チェーンは、3つ以上の仲介コンピューティングデバイスを含むことができるが、信頼されるシステムは含まない。たとえば、転送チェーンは、仲介コンピューティングデバイス1500を含むことができる。時刻1510に、仲介コンピューティングデバイス1500は、インターメディアリ-インターメディアリリソース追跡システムとして働くことができるリソース追跡コンピューティングデバイス200に、仲介コンピューティングデバイス1500を使用する仲介当事者によって所有されるリソースにホールドをかけるように命令することができる。仲介コンピューティングデバイス1500は、たとえば、送信当事者によって、または転送チェーン内で仲介コンピューティングデバイス1500の直前にある仲介コンピューティングデバイスを使用する別の仲介当事者によって所有されるリソースにホールドをかけ終えたものとされ得る別のリソース追跡システムから準備済み転送レシートを受信した後に、ホールドを命令することができる。時刻1515に、リソース追跡コンピューティングデバイス200は、直接に、もしくは仲介コンピューティングデバイス1500を介して、またはコーディネータ400として働くことができるシステムを介してのいずれかで、仲介コンピューティングデバイス100に準備済み転送レシートを送信することができる。たとえば、仲介コンピューティングデバイス100が、転送チェーンのコーディネータ400である場合に、仲介コンピューティングデバイス100は、リソース追跡コンピューティングデバイス200から直接に準備済み転送レシートを受信することができる。時刻1520に、仲介コンピューティングデバイス100は、インターメディアリ-インターメディアリリソース追跡システムとして働くことができるリソース追跡コンピューティングデバイス600に、仲介コンピューティングデバイス100を使用する仲介当事者によって所有されるリソースにホールドをかけるように命令することができる。時刻1525に、リソース追跡コンピューティングデバイス600は、直接に、もしくは仲介コンピューティングデバイス100を介して、またはコーディネータ400として働くことができるシステムを介してのいずれかで、仲介コ
ンピューティングデバイス710に準備済み転送レシートを送信することができる。時刻1530に、仲介コンピューティングデバイス710は、インターメディアリ-レシーバリソース追跡システムとして働くことができるリソース追跡コンピューティングデバイス720に実行命令を送信することができる。時刻1535に、仲介コンピューティングデバイス710からの実行命令の受信時に仲介コンピューティングデバイス710を使用する仲介当事者から受信当事者へのリソースの転送を実行し終えているものとされ得るリソース追跡コンピューティングデバイス720は、直接にまたはコーディネータ400として働くことができるシステムを介してのいずれかで、仲介コンピューティングデバイス710に転送確認レシートを送信することができる。転送確認レシートは、リソース追跡コンピューティングデバイス600にも送信され得る。リソース追跡コンピューティングデバイス720は、リソースの転送が完了したことの通知をレシーバコンピューティングデバイス1100に送信することもできる。時刻1540に、仲介コンピューティングデバイス710は、リソース追跡コンピューティングデバイス600に実行命令を送信することができる。時刻1545に、仲介コンピューティングデバイス100を使用する仲介当事者から仲介コンピューティングデバイス710を使用する仲介当事者へホールドされたリソースを転送し終えたものとされ得るリソース追跡コンピューティングデバイス600は、直接にまたはコーディネータ400として働くことができるシステムを介してのいずれかで、仲介コンピューティングデバイス100に転送確認レシートを送信することができる。転送確認レシートは、リソース追跡コンピューティングデバイス200にも送信され得る。時刻1550に、仲介コンピューティングデバイス100は、リソース追跡コンピューティングデバイス200に実行命令を送信することができる。時刻1555に、仲介コンピューティングデバイス1500を使用する仲介当事者から仲介コンピューティングデバイス100を使用する仲介当事者にホールドされたリソースを転送し終えたものとされ得るリソース追跡コンピューティングデバイス200は、直接に、もしくは仲介コンピューティングデバイス100を介して、またはコーディネータ400として働くことが
できるシステムを介してのいずれかで、仲介コンピューティングデバイス1500に転送確認レシートを送信することができる。時刻1560に、仲介コンピューティングデバイス1500は、仲介コンピューティングデバイス1500と送信側コンピューティングデバイス300または転送チェーン内で仲介コンピューティングデバイス1500の前の他の仲介コンピューティングデバイスとの間のリソース追跡コンピューティングデバイスに実行命令を送信することができる。これは、仲介コンピューティングデバイス1500を使用する仲介当事者へのリソースの転送をもたらすことができる。送信側コンピューティングデバイス300が、転送チェーン内で仲介コンピューティングデバイス1500の直前にある場合には、転送は、完了され得る。そうでない場合には、直前の仲介コンピューティングデバイスは、転送確認レシートを受信することができ、この転送確認レシートは、別のリソース追跡システムに送信され得、転送が完了するまでこれが繰り返される。
【０１４２】
図16に、開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す。転送チェーンは、保証された最小転送と、リソースにかけられるホールドに関するロックタイムアウトとを含むことができる。たとえば、保証された最小転送1610は、送信当事者から受信当事者への転送が失敗する時に発生する、送信当事者から仲介コンピューティングデバイス100を使用する仲介当事者へのリソースの転送とされ得る。保証された最小転送1610は、保証された最小転送1620より多いものとされ得、保証された最小転送1620は、送信当事者から受信当事者への転送が失敗する時に発生する、仲介コンピューティングデバイス100を使用する仲介当事者から仲介コンピューティングデバイス710を使用する仲介当事者へのリソースの転送とされ得る。この形で、両方の仲介当事者は、転送が最終的に失敗する場合に、彼らのリソースがホールドされた時間について補償を受け取ることができ、送信当事者が、それでも、失敗した転送でいくらかのリソースを転送するので、悪意のある送信当事者が失敗する転送を意図的に開始することを思いとどまらせる。
【０１４３】
ロックタイムアウト1625は、リソース追跡コンピューティングデバイス200が、仲介コンピューティングデバイス100を使用する仲介当事者によって所有されるリソースを転送せずに解放する前に、そのリソースをホールドする時間期間とすることができる。仲介コンピューティングデバイス100を使用する仲介当事者のロックタイムアウト1625は、仲介コンピューティングデバイス710を使用する仲介当事者のロックタイムアウト1635より長くされ得る。これは、ロックタイムアウトが満了する場合に転送が失敗し、ホールドされたリソースが解放されるので、悪意のある送信当事者が、仲介当事者によって所有されるリソースを無期限にロックアップすることができないことを保証することができる。ロックタイムアウトの満了は、保証された最小転送が行われることをももたらすことができる。
【０１４４】
図17Aに、開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す。受信当事者と送信当事者との間の転送チェーンは、並列経路を含むことができる。たとえば、ある転送チェーンが、仲介コンピューティングデバイス100、リソース追跡システム600、および仲介コンピューティングデバイス710を含む第1の経路と、仲介コンピューティングデバイス1700、リソース追跡システム1720、および仲介コンピューティングデバイス1740を含む第2の経路とを含むことができる。受信される当事者に転送されるリソースの総価値は、仲介コンピューティングデバイス710を使用する当事者から転送されるリソースの価値と仲介コンピューティングデバイス1740を使用する当事者から転送されるリソースの価値とが、合計して、受信当事者が受信することを送信当事者が意図する総価値になる限り、経路の間で任意の適切な形で分割され得る。
【０１４５】
図17Bに、開示される主題の実装形態によるリソース転送システムに適する例示的な配置を示す。受信当事者と送信当事者との間の転送チェーンは、ループとすることができる。たとえば、ある転送チェーンが、リソース追跡コンピューティングデバイス200、仲介コンピューティングデバイス100、リソース追跡システム600、仲介コンピューティングデバイス710、およびリソース追跡コンピューティングデバイス720を含む順方向経路と、リソース追跡コンピューティングデバイス1720を含む逆方向経路とを含むことができる。リソースは、送信側コンピューティングデバイス300を使用する送信当事者からレシーバコンピューティングデバイス1100を使用する受信当事者に順方向経路を通じて転送され得、受信当事者から送信当事者へ逆方向経路を通じて転送され得る。たとえば、リソース追跡コンピューティングデバイス1720は、株式仲買の元帳とすることができる。送信当事者は、順方向経路を通じて米国ドルを使用して受信当事者にユーロを受信させ得る。逆方向経路を使用して、受信当事者は、株式を送信当事者に転送することができる。ループ転送チェーン内のリソースにかけられるホールドの条件は、たとえば、信頼されるシステムからのメッセージの受信、当事者の宛先転送が完了したことを示すレシートの受信、または送信側コンピューティングデバイス300もしくは送信側コンピューティングデバイス300が責任を委譲した第三者からのレシートの受信とすることができる。レシーバコンピューティングデバイス1100は、非ループ転送チェーン内の仲介コンピューティングデバイスと同様に機能することができ、送信側コンピューティングデバイス300は、非ループ転送チェーンの始めの送信側コンピューティングデバイスおよび非ループ転送チェーンの終わりのレシーバコンピューティングデバイスと同様に機能することができる。たとえば、送信側コンピューティングデバイス300は、取引を開始することができ、リソース追跡コンピューティングデバイス200において送信当事者のリソースに転送チェーン内の第1のホールドをかけることができる。ホールド条件が送信側コンピューティングデバイス300からのレシートの受信である場合、送信側コンピューティングデバイス300は、受信当事者が送信当事者に転送されるべきリソース
にホールドをかけたことを示す、転送チェーン内の最後の準備済み転送レシートをリソース追跡コンピューティングデバイス720から受信することもできる。送信側コンピューティングデバイス300は、転送チェーン内でホールドされたリソースに対するホールドを解放することができるレシートを送出し、転送チェーンの順方向部と逆方向部との両方において転送が実行されることを可能にすることができる。ホールド条件が宛先転送の完了である場合、レシーバコンピューティングデバイス1100は、非ループ転送チェーン内の最後の仲介コンピューティングデバイスと同様に働くことができ、レシーバコンピューティングデバイス1100がリソース追跡コンピューティングデバイス720から準備済み転送レシートを受信すると、リソース追跡コンピューティングデバイス720における送信当事者へのリソースの転送を実行させることができる。レシーバコンピューティングデバイス1100が、リソース追跡コンピューティングデバイス720において転送を実行させることもできる。いくつかの実装形態では、リソース追跡コンピューティングデバイス720は、物理的商品の出荷者に属することができ、リソースの転送は、送信当事者への物理的商品の配送とすることができる。
【０１４６】
図18Aに、開示される主題の実装形態によるリソース転送システムに適する例の手順を示す。1800では、クォート要求が送信され得る。たとえば、送信当事者は、送信側コンピューティングデバイス300を使用して、送信当事者が受信当事者に対して行いたいと思うリソースの転送の指示を含むことができるクォートの要求を送出することができる。クォート要求は、たとえば、送信当事者が送出したいと思うリソースのタイプおよび量、レシーバが受信しなければならないリソースのタイプおよび量、送信当事者がそれが送出したいと思うリソースタイプを有するリソースプールを送信当事者がその上に有するリソース追跡コンピューティングデバイス200のアイデンティティ、受信当事者が受信当事者に転送されるリソースのタイプを受信することのできるリソースプールをその上に有するリソース追跡コンピューティングデバイス200のアイデンティティ、ならびに、たとえば、保証される最小転送の最大レベル、ロックタイムアウト、および送信当事者がクォート内で受け入れる転送コストまたは転送料金を含む任意の他の適切なパラメータを含むことができる。クォート要求は、クォートを入手し、送信当事者の転送のために転送チェーンをセットアップするために、任意の適切なコンピューティングデバイスまたはコンピューティングシステムに送信され得る。
【０１４７】
1802では、クォートが受信され得る。たとえば、送信側コンピューティングデバイス300は、送信当事者がそれに関してクォートを要求した転送をもたらすのに使用され得る転送チェーンのコストを示すことができるクォートを受信することができる。クォートは、たとえば、転送チェーンへの参加のためにクォートを返した仲介コンピューティングデバイス100のいずれかに関連する、すべての転送コストまたは転送料金、保証された最小転送、およびロックタイムアウトを示すことができる。クォートは、仲介コンピューティングデバイス100およびそれに関連する仲介当事者のアイデンティティを示しても示さなくてもよく、転送チェーン内の仲介当事者の間で転送され得るリソースのタイプおよび量を示しても示さなくてもよい。送信当事者のクォートの要求が、受信当事者が受信するリソースの特定の量またはリソースの量の価値を示す場合には、そのクォートは、送信当事者が転送しなければならないリソースの量を示すことができる。クォートは、送信当事者から転送チェーン内の第1の仲介当事者への提案される転送を含むことができる。
【０１４８】
1804では、送信当事者からクォート内の第1の仲介当事者への提案される転送に関する条件が、署名されたメッセージの受信または宛先転送の完了のいずれかであるかどうかが、検証され得る。たとえば、送信側コンピューティングデバイス300は、転送される、それが所有するリソースに対して送信当事者が許可し得るホールドに課せられる条件を判定するためにクォートを分析することができる。ホールドされたリソースが転送される前に満足されなければならないホールドの条件が、リソースがホールドされるリソース追跡コンピューティングデバイス200による、信頼されるシステムからの署名されたメッセージの受信か、予め合意されたコンテンツを含む署名されたメッセージとすることができ、もしくは前に受信された導出された値に基づいて一方向関数を使用して検証され得る、レシーバコンピューティングデバイス1100からのレシートの受信か、またはリソース追跡コンピューティングデバイス600などの別のリソース追跡コンピューティングデバイスにおいて宛先転送が行われたという、転送確認レシートなどの証拠かのいずれかである場合には、送信側コンピューティングデバイス300は、条件を検証することができ、流れは1806に進むことができる。そうでない場合には、流れは、クォートが拒絶される可能性がある1810に進むことができる。
【０１４９】
1806では、ホールド許可が送信され得る。たとえば、送信側コンピューティングデバイス300は、リソース追跡コンピューティングデバイス200にホールド許可を送信することができる。ホールド許可は、送信側コンピューティングデバイス300によって受信されたクォート内で提供される転送チェーンを介する転送の許可として働くことができる。ホールド許可は、リソース追跡コンピューティングデバイス200が、送信当事者によって所有されるリソースプール、たとえばリソースプール内のリソースにホールドをかけることを可能にすることができる。ホールドされるリソースのタイプおよび量は、ホールド条件が満足される時にリソースが転送される先の当事者と一緒に、ホールド許可内で指定され得る。リソース追跡コンピューティングデバイス200は、リソースのタイプおよび量と、ホールドされたリソースの転送に関する条件と、リソースが転送される先の当事者とを示す提案される転送を受信済みともされ得、ホールド許可は、リソースがそれに関してホールドされ得る提案される転送だけを示すことができる。
【０１５０】
1808では、転送が受信当事者に対して行われたことの通知が、受信され得る。たとえば、送信側コンピューティングデバイス300は、クォート要求内で送信当事者によって要求された通り、リソースが受信当事者に転送されたことを示す任意の適切な形の通知を受信することができる。送信側コンピューティングデバイス300は、たとえば、転送チェーン内の最後のリソース追跡コンピューティングデバイス、たとえばリソース追跡コンピューティングデバイス720が、最後の仲介当事者から受信当事者へのリソースの転送をもたらした時に生成された転送確認レシートを受信することができる。
【０１５１】
1810では、クォートが、拒絶され得る。たとえば、送信側コンピューティングデバイス300は、ホールドされたリソースが転送される前に満足されなければならないホールドの条件が、信頼されるシステムからの署名されたメッセージの、リソースがその上でホールドされているリソース追跡コンピューティングデバイス200による受信、または、宛先転送が別のリソース追跡コンピューティングデバイス、たとえばリソース追跡コンピューティングシステム600上で発生したことの、転送確認レシートなどの証拠のどちらでもないと判定することができる。これは、受信当事者が、送信当事者が受信当事者に転送することを望むリソースを受信し終えたまたはこれから受信することの保証なしで、送信当事者のリソースが転送され得、クォート内の転送チェーンが危険で信頼できないものにされることを示すことができる。送信当事者は、そのクォートを拒絶することができる。
【０１５２】
図18Bに、開示される主題の実装形態によるリソース転送システムに適する例示的な手順を示す。いくつかの実装形態では、転送は、一時的コンセンサスネットワークを使用し得る。1805では、1804の時点でクォートを受信した後、送信当事者からクォート内の第1の仲介当事者への提案される転送に関する条件が一時的コンセンサスネットワークによる転送の承認であるかどうかが、検証され得る。たとえば、送信側コンピューティングデバイス300は、転送される、それが所有するリソースに対して送信当事者が許可することができるホールドに課せられる条件を判定するためにクォートを分析することができる。ホールドされたリソースが転送される前に満足されなければならないホールドの条件が、メンバーノードが転送を承認するための定足数に達したことを示す一時的コンセンサスネットワークのメンバーノードの1/3からの署名されたステートメントの、リソースがホールドされるリソース追跡コンピューティングデバイス200による受信である場合には、送信側コンピューティングデバイス300は、条件を検証することができ、流れは、1807に進むことができる。そうでない場合には、流れは、クォートが拒絶され得る1810に進むことができる。
【０１５３】
1807では、信頼リストの要求が受信され得る。たとえば、送信側コンピューティングデバイス300は、転送のイニシエータから、送信当事者によって信頼されるシステムまたはノードを含むことができる、その送信側コンピューティングデバイス300の信頼リストの要求を受信することができる。イニシエータは、たとえば、転送チェーン内の送信側コンピューティングデバイス300自体、レシーバコンピューティングデバイス1100、仲介コンピューティングデバイス、またはコーディネータ400などの、転送を開始し、たとえば、クォートの要求を送出したものとされ得る任意のシステムとすることができる。
【０１５４】
1809では、信頼リストおよび肯定応答が送信され得る。たとえば、送信側コンピューティングデバイス300は、送信側コンピューティングデバイス300が転送チェーンに参加するという肯定応答と一緒に信頼リストをイニシエータに送信することができる。送信当事者は、独自の信頼リストを持たないかまたは保有しないものとされ得、その代わりに、たとえば、その送信当事者の代わりにリソース追跡コンピューティングデバイス200によって信頼リストを送信させ得る。
【０１５５】
1811では、1806の時点でホールド許可を送信した後、一時的コンセンサスネットワークが転送を承認したことを示すステートメントが受信され得る。たとえば、送信側コンピューティングデバイス300は、転送が承認されたことを示す署名されたステートメントを一時的コンセンサスネットワークのメンバーノードの1/3以上から受信することができる。送信側コンピューティングデバイス300は、イニシエータから、または送信側コンピューティングデバイス300がイニシエータである場合はメンバーノードから、署名されたステートメントを受信することができる。送信側コンピューティングデバイス300がイニシエータである場合、署名されたステートメントは、転送チェーン内のレシーバコンピューティングデバイス1100、仲介コンピューティングデバイス、およびリソース追跡コンピューティングデバイスを含むその他のシステムに送信され得る。署名されたステートメントは、たとえば、レシーバコンピューティングデバイス1100または受信当事者が責任を委譲した当事者のシステムからのレシートとすることもできる。レシートは、一時的コンセンサスネットワークのメンバーノードによって冒頭署名され、タイムスタンプを押され得る。
【０１５６】
図19に、開示される主題の実装形態によるリソース転送システムに適する例の手順を示す。1900で、提案される転送が受信され得る。たとえば、リソース追跡コンピューティングデバイス200は、コーディネータ400などの任意の適切なコンピューティングデバイスまたはコンピューティングシステムから提案される転送を受信することができる。提案される転送は、ホールドされるべき、リソースプール、たとえばリソースプール242内のリソースのタイプおよび量、ホールドの条件、およびホールド条件が満足され、実行命令が受信される時にリソースが転送される先のリソースプール、たとえばリソースプール244を示すことができる。
【０１５７】
1902では、ホールド許可が存在するかどうかが、判定され得る。たとえば、リソース追跡コンピューティングデバイス200は、ホールドがかけられなければならないことを提案される転送が示すリソースプール242によって追跡されるリソースを所有することができる送信当事者から、ホールド許可が受信されたかどうかを判定することができる。ホールド許可が存在する場合には、流れは1910に進むことができる。そうではなく、ホールド許可が存在しない場合には、流れは1904に進むことができる。
【０１５８】
1904では、転送が記憶され得る。たとえば、ホールド許可が存在しないと、リソース追跡コンピューティングデバイス200は、提案される転送内で示される通りに、リソースプール242内のリソースにホールドをかけることができない可能性がある。リソース追跡コンピューティングデバイス200は、ホールド許可を待っている間に、たとえばストレージ240内の保留中転送246として、提案される転送を記憶することができる。
【０１５９】
1906では、提案される転送レシートが送信され得る。たとえば、リソース追跡コンピューティングデバイス200は、コーディネータ400などの任意の適切なコンピューティングデバイスまたはコンピューティングシステムに、提案される転送レシートを送信することができる。提案される転送レシートは、リソース追跡コンピューティングデバイス200が提案される転送を受信したが、まだ正しいホールド許可を有しておらず、ホールド許可を待っている間に保留中転送246として提案される転送を記憶したことを示すことができる。提案される転送レシートは、たとえば、転送が進行できる前にホールド許可がまだ必要とされることを送信側コンピューティングデバイス300に示すのに、コーディネータ400によって使用され得る。
【０１６０】
1908では、ホールド許可が受信され得る。たとえば、リソース追跡コンピューティングデバイス200は、送信側コンピューティングデバイス300から、保留中転送246に関するホールド許可を受信することができる。ホールド許可は、リソース追跡コンピューティングデバイス200が、送信当事者によって所有される、リソースプール242によって追跡されるリソースにホールドをかけることができることの指示とされ得る。
【０１６１】
1910では、ホールドが、転送されるリソースにかけられ得る。たとえば、送信側コンピューティングデバイス300からホールド許可を受信したリソース追跡コンピューティングデバイス200は、リソースプール242内の送信当事者によって所有されるリソースにホールドをかけることができる。ホールドがかけられるリソースのタイプおよび量とホールドの条件とは、リソース追跡コンピューティングデバイス200によって受信された提案される転送に基づくものとされ得る。たとえば、ホールドが、仲介当事者によって所有されるリソースを追跡するリソースプール644などのリソースプール内のリソースにかけられる場合に、ホールドは、ロックタイムアウトの対象にもなり得る。ホールドは、たとえば、リソースが転送される先のリソースプール、リソースの転送をもたらす実行命令がそこから受信され得るコンピューティングデバイスまたはコンピューティングシステムなど、ホールドに関連する他のパラメータの指示をも含むことができる。ホールドは、ホールド条件が満足されるか、ロックタイムアウトが満了するか、または転送が失敗しもしくはたとえば送信当事者よって取り消されるまで、ホールドされたリソースが転送されまたは移動されるのを防ぐことができる。ロックタイムアウトが満了しまたは他の転送が失敗する場合には、ホールドは、解放され得るが、リソースの一部が、ホールドされたままになり、保証された最小転送の一部として仲介当事者に転送される場合がある。
【０１６２】
1912では、準備済み転送レシートが、送信され得る。たとえば、リソース追跡コンピューティングデバイス200は、ホールドが、リソースプール242内のリソースにかけられたことを示す準備済み転送レシートを、コーディネータ400または仲介コンピューティングデバイス100などの任意の適切なコンピューティングデバイスまたはコンピューティングシステムに送信することができる。準備済み転送レシートは、ホールドがかけられたことの証拠として働くことができ、たとえば、ホールドされたリソースのタイプおよび量、ホールドされたリソースが属する当事者、リソースが転送される先の当事者、リソースがそれに関連してホールドされている提案される転送、ならびに、リソース追跡コンピューティングデバイス200上の準備済み転送に関する任意の他の適切な情報の表示を含むことができる。準備済み転送レシートは、たとえば、仲介コンピューティングデバイス100が、リソース追跡システム600でリソースにホールドをかけることができ、あるいは、リソース追跡システム600で受信当事者へのリソース転送を実行することができることの指示として、仲介コンピューティングデバイス100によって使用され得る。準備済み転送レシートは、仲介コンピューティングデバイス100のソース転送に必要なリソースが、ホールドされ、使用可能であり、その結果、仲介コンピューティングデバイス100がその宛先転送を行えるようになっていることを仲介コンピューティングデバイス100に保証することができる。
【０１６３】
1914では、ホールド条件を満足するメッセージが受信され得る。たとえば転送チェーン内にまたはこれに関与する信頼されるシステムがある場合に、リソース追跡コンピューティングデバイス200におけるリソースプール242内のホールドされたリソースに関する条件は、信頼されるシステムからの署名されたメッセージの受信とされ得る。リソース追跡コンピューティングデバイス200は、たとえばコーディネータ400または転送チェーン内の任意の他のコンピューティングデバイスもしくはコンピューティングシステムとされ得る信頼されるシステムから署名されたメッセージを受信し、ホールドされたリソースに関する条件が満足されたと判定することができる。信頼されるシステムがない場合には、リソースプール242内のホールドされたリソースに関する条件は、ホールドされたリソースの転送がそれに関するソース転送になる宛先転送が発生したことの証拠の受信とされ得る。リソース追跡コンピューティングデバイス200は、たとえば、リソースプール242からのリソースのソース転送に関する宛先転送とされ得るリソースの転送の完了時にリソース追跡コンピューティングデバイス600によって生成された転送確認レシートを受信することができる。たとえば、リソース追跡コンピューティングデバイス600は、仲介当事者によって所有されるリソースを受信当事者にまたは第2の仲介当事者に転送済みであるものとされ得る。
【０１６４】
1916では、実行命令が受信され得る。たとえば、リソース追跡コンピューティングデバイス200は、リソース追跡コンピューティングデバイス200がリソースプール242からリソースプール244へのホールドされたリソースの転送をもたらさなければならないことを示す命令を受信することができる。実行命令は、ホールドされたリソースが転送される先の当事者またはホールドされたリソースがそこから転送される当事者のいずれかによって使用されるコンピューティングデバイスまたはコンピューティングシステムから受信され得る。たとえば、リソース追跡コンピューティングデバイス200は、仲介コンピューティングデバイス100を使用する仲介当事者へのリソースの転送をもたらすために、仲介コンピューティングデバイス100から実行命令を受信することができる。リソース追跡コンピューティングデバイス720は、仲介コンピューティングデバイス710を使用する仲介当事者から受信当事者へのリソースの転送をもたらすために、仲介コンピューティングデバイス710から実行命令を受信することができる。
【０１６５】
1918では、リソースが転送され得る。たとえば、ホールドされたリソースに関する条件を満足するメッセージと、リソースを送信当事者またはリソースを受信当事者のいずれかのコンピューティングデバイスからの実行命令とを受信したリソース追跡コンピューティングデバイス200は、提案する転送に従って、ホールドされたリソースを自動的に転送することができる。たとえば、リソース追跡コンピューティングデバイス200は、リソースプール242に関するリソース量524をホールドされたリソースの量だけ減分することができ、リソースプール244に関するリソース量1024を同一の量だけ増分することができる。これは、リソースのホールドされた量の所有権を送信当事者から仲介当事者に転送することができる。リソース追跡コンピューティングデバイス200によるホールドされたリソースの転送は、ホールドされたリソースに関する条件を満足するメッセージと、リソースを送信当事者またはリソースを受信当事者のいずれかのコンピューティングデバイスからの実行命令との受信に基づいて、決定論的とされ得る。メッセージおよび実行命令が受信されたならば、リソース追跡コンピューティングデバイス200は、中断または取り消しの機会を全く伴わずに、転送をもたらすことができる。これは、転送チェーン内の当事者のすべてに、彼らに転送されるリソースに関するホールド条件が満足されたならば、転送チェーン内の何らかの他の当事者による悪意のあるアクションに起因して、そのリソースが彼らに転送されなくなるリスクがほとんどまたは全くないことを保証することができる。
【０１６６】
いくつかの場合に、リソース追跡コンピューティングデバイスは、まだホールドされていないリソースを転送することができる。たとえば、リソース追跡コンピューティングデバイス720は、仲介コンピューティングデバイス710を使用する仲介当事者から受信当事者にリソースを転送することができる。仲介コンピューティングデバイス710は、リソース追跡コンピューティングデバイス720にホールド許可を送信しないものとされ得、リソース追跡コンピューティングデバイス600から準備済み転送レシートを受信した後に、転送に関する実行命令を送信することができる。準備済み転送レシートは、リソース追跡コンピューティングデバイス720上の宛先転送に関するリソース追跡コンピューティングデバイス600上のソース転送が準備済みであることを示すことができる。リソース追跡コンピューティングデバイス720上の転送は、チェーン内の最後の転送なので、それ自体のソース転送を有しないものとされ得、したがって、仲介コンピューティングデバイス710によって命令された時に進行することができる。
【０１６７】
1920では、転送確認レシートが送信され得る。たとえば、リソース追跡コンピューティングデバイス720は、たとえば仲介コンピューティングデバイス710を含む転送チェーン内の任意の適切なコンピューティングデバイスまたはコンピューティングシステムに転送確認レシートを送信することができる。転送確認レシートは、リソースの転送が成功して発生したことを確認することができる。転送確認レシートは、その受信側によって、宛先転送が完了し、別のリソース追跡コンピューティングシステムでのリソースに対するホールドに関する条件が満足されたことの証拠として使用され得る。たとえば、仲介コンピューティングデバイス710は、リソースが仲介コンピューティングデバイス710を使用する仲介当事者からリソース追跡コンピューティングデバイス720上の受信当事者に転送されたことを確認する転送確認レシートを受信することができる。この転送確認レシートは、リソース追跡コンピューティングデバイス600において仲介コンピューティングデバイス100を使用する仲介当事者に属するリソースに対するホールドの条件を満足するのに、仲介コンピューティングデバイス710によって使用され得る。リソース追跡コンピューティングデバイス600に転送確認レシートおよび実行命令を送信することによって、仲介コンピューティングデバイス710は、ホールドされたリソースをその仲介当事者へ転送させ、その仲介当事者が受信当事者に転送したリソースについてその仲介当事者に払い戻すことができる。
【０１６８】
図20Aに、開示される主題の実装形態によるリソース転送システムに適する例の手順を示す。2000では、クォート要求が受信され得る。たとえば、仲介コンピューティングデバイス100は、送信側コンピューティングデバイス300から直接に送信されたか、またはたとえばコーディネータ400によって分配されたものとされ得るクォートの要求を受信することができる。クォート要求は、仲介コンピューティングデバイス100を使用する仲介当事者がリソースを転送する先の当事者、仲介コンピューティングデバイス100を使用する仲介当事者がそこからリソースを転送する当事者、転送がその上で行われるリソース追跡コンピューティングデバイス、両方の転送に含まれる必要があるリソースのタイプおよび価値、ならびに、保証された最小転送、転送料金または転送コスト、およびロックタイムアウトの最大の許容可能な値など、転送に関する任意のパラメータを示すことができる。クォート要求は、転送チェーン内で仲介コンピューティングデバイス100に隣接する当事者に関する情報のみを含むことができ、送信当事者、受信当事者、または仲介コンピューティングデバイス100を使用する仲介当事者がそこにリソースを転送しないか、そこからリソースを受信しない他の仲介当事者に関する情報を必ずしも含まないものとされ得る。
【０１６９】
2002では、クォートが送信され得る。たとえば、仲介コンピューティングデバイス100は、クォートの要求がそこから受信されたコンピューティングデバイスまたはコンピューティングシステムにクォートを送信することができる。クォートは、仲介コンピューティングデバイス100がその下で転送チェーンに参加する条件またはパラメータを含むことができる。条件またはパラメータは、たとえば、仲介コンピューティングデバイス100が転送チェーンへの参加と交換に要求する、転送コストまたは転送料金、保証された最小転送、およびロックタイムアウトとされ得る。転送コストまたは転送料金は、任意の適切な形で、たとえば、仲介当事者に転送されるリソースの価値のパーセンテージまたは任意のリソースタイプの固定された量として示され得る。
【０１７０】
2004では、提案される転送が受信され得る。たとえば、仲介コンピューティングデバイス100は、そのクォートを受け入れさせた後に、コーディネータ400などの任意の適切なコンピューティングデバイスまたはコンピューティングシステムから、提案される転送を受信することができる。提案される転送は、仲介コンピューティングデバイス100を使用する仲介当事者が提案される転送に関する宛先転送としてリソースを転送する先の当事者、仲介コンピューティングデバイス100を使用する仲介当事者が提案される転送に関するソース転送としてそこからリソースを受信当事者、各転送内のリソースのタイプおよび量、転送がその上で行われるリソース追跡コンピューティングデバイス、ならびに転送のためにホールドされるリソースにかけられるすべてのホールドの条件を示すことができる。
【０１７１】
2006では、提案される転送内のソース転送のリソースに対するホールドの条件が、宛先転送のリソースに対するホールドの条件と同一であるかどうかが、判定され得る。たとえば、仲介コンピューティングデバイス100は、ソース転送と宛先転送との両方に関するリソースに対するホールドの条件が、信頼されるシステムからの署名されたメッセージの受信であり、したがって、ソース転送と宛先転送とのホールドの条件が同一であることを、提案される転送が示すと判定することができる。また、ソース転送と宛先転送との両方のためのリソースに対するホールドの条件は、レシーバコンピューティングデバイス1100から、予め合意された署名されたメッセージとすることができるレシートの受信とすることもできる。ホールドの条件を満足するレシートが、たとえば、受信当事者によって委譲された第三者によっても提供され得る。第三者は、たとえば、リソース追跡コンピューティングデバイス720、第三者公証人、物理的商品の出荷を確認するレシートを生成するサービス、または任意のその他の適切な当事者とすることができる。ソース転送および宛先転送が同一のホールド条件を有する場合には、流れは、2016に進むことができる。そうではない場合には、流れは、2008に進むことができる。
【０１７２】
2008では、提案される転送内のソース転送に関するリソースに対するホールドの条件が、宛先転送の完了の証拠であるかどうかが、判定され得る。たとえば、仲介コンピューティングデバイス100は、ソース転送に関するリソースに対するホールドの条件が、リソース追跡コンピューティングデバイス600からの転送確認レシートの形での、宛先転送が完了されたことの証拠の受信であることを、提案される転送が示すと判定することができる。リソース追跡コンピューティングデバイス600は、仲介コンピューティングデバイス100を使用する仲介当事者から別の仲介当事者または受信当事者へのリソースの宛先転送の責任を負うことができる。ソース転送に関するホールドの条件が、宛先完了の証拠の受信である場合には、流れは、2010に進むことができる。そうではない場合には、流れは2022に進むことができ、ここで、提案される転送が、拒絶され得る。
【０１７３】
2010では、転送確認レシートが受信され得る。たとえば、仲介コンピューティングデバイス100は、リソース追跡コンピューティングデバイス600から転送確認レシートを受信することができる。転送確認レシートは、宛先転送の完了の証拠とされ得、リソースは、たとえば、仲介コンピューティングデバイス100を使用する仲介当事者によって所有されるリソースプール644から、たとえば受信当事者または別の仲介当事者によって所有されるリソースプール642に転送される。仲介コンピューティングデバイス100は、たとえば受信当事者へのリソースの転送をもたらすために、リソース追跡コンピューティングデバイス600に実行命令を送信したものとされ得、あるいは、リソース追跡コンピューティングデバイス600は、仲介コンピューティングデバイス710から実行命令を受信したものとされ得る。
【０１７４】
2012では、転送確認レシートが送信され得る。たとえば、仲介コンピューティングデバイス100は、リソース追跡コンピューティングデバイス600から受信された転送確認レシートをリソース追跡コンピューティングデバイス200に送信することができる。転送確認レシートは、たとえば送信当事者によって所有されるリソースプール242内の、リソース追跡コンピューティングデバイス200でホールドされるリソースに対するホールドの条件を満足することができる。
【０１７５】
2014では、実行命令が送信され得る。たとえば、仲介コンピューティングデバイス100はリソース追跡コンピューティングデバイス200に実行命令を送信することができる。実行命令は、リソース追跡コンピューティングデバイス200に、送信当事者によって所有されるリソースプール242から仲介コンピューティングデバイス100を使用する仲介当事者によって使用されるリソースプール244へホールドされたリソースを転送する、仲介コンピューティングデバイス100のソース転送をもたらさせることができる。これは、ホールドされたリソースの所有権を送信当事者から仲介当事者に転送することができる。リソース追跡コンピューティングデバイス200は、リソースプール242内のリソースに対するホールドの条件が、仲介コンピューティングデバイス100によって送信された転送確認レシートの受信によって満足されたものとされ得るので、実行命令の受信時に転送を自動的に実行することができる。
【０１７６】
2016では、ホールド許可が送信され得る。たとえば、仲介コンピューティングデバイス100は、リソース追跡コンピューティングデバイス600にホールド許可を送信することができる。ホールド許可は、仲介コンピューティングデバイス100を使用する仲介当事者によって所有されるリソースプール644内で追跡されるリソースにホールドをかけることをリソース追跡コンピューティングデバイス600に許可することができる。ホールドされるリソースのタイプおよび量、ホールドの条件、ならびにホールド条件が満足された後にリソースが転送される先の当事者は、ホールド許可内で示され得、あるいは、提案される転送内でリソース追跡コンピューティングデバイス600に示されたものとされ得る。リソースに対するホールドの条件は、信頼されるシステムからの署名されたメッセージの受信とされ得る。ホールドされたリソースは、仲介コンピューティングデバイス100に関する宛先転送として、受信当事者または別の仲介当事者への転送のためのものとされ得る。
【０１７７】
2018では、ホールド条件を満足するレシートが受信され得る。たとえば、仲介コンピューティングデバイス100は、たとえば、コーディネータ400などの、転送チェーン内にあるもしくは転送チェーンと関わりのあるものとすることができる信頼されるシステムからの署名されたメッセージ、レシーバコンピューティングデバイス1100からの予め合意された署名されたメッセージ、またはレシートを生成する責任が受信当事者によって委譲された何らかの第三者からのレシートを受信することができる。署名されたメッセージは、暗号秘密鍵を用いて署名され得、仲介コンピューティングデバイス100は、対応する公開鍵を用いてこれを検証することができる。信頼されるシステムは、転送チェーン内のすべてのリソース追跡コンピューティングシステムから、たとえば準備済み転送レシートを受信し終えた時に、署名されたメッセージを送出することができる。
【０１７８】
2020では、実行命令が送信され得る。たとえば、仲介コンピューティングデバイス100は、リソース追跡コンピューティングデバイス200に実行命令を送信することができる。実行命令は、リソース追跡コンピューティングデバイス200に、送信当事者によって所有されるリソースプール242から仲介コンピューティングデバイス100を使用する仲介当事者によって所有されるリソースプール244へホールドされたリソースを転送する、仲介コンピューティングデバイス100のソース転送をもたらさせることができる。これは、ホールドされたリソースの所有権を送信当事者から仲介当事者に転送することができる。リソース追跡コンピューティングデバイス200は、リソースプール242内のリソースに対するホールドの条件が、信頼されるシステムからの署名されたメッセージの受信によって満足されたものとされ得るので、実行命令の受信時に転送を自動的に実行することができる。リソース追跡コンピューティングデバイス200は、仲介コンピューティングデバイス100と同時に署名されたメッセージを受信することができ、あるいは、仲介コンピューティングデバイス100は、リソース追跡コンピューティングデバイス200に署名されたメッセージを転送することができる。
【０１７９】
2022では、転送が拒絶され得る。たとえば、ソース転送に関するリソースに対するホールドの条件が、信頼されたシステムからの署名されたメッセージの受信でも、宛先転送が完了したことの証拠の受信でもない場合には、仲介コンピューティングデバイス100は、転送を拒絶することができる。
【０１８０】
図20Bに、開示される主題の実装形態によるリソース転送システムに適する例示的な手順を示す。いくつかの実装形態では、転送は、一時的コンセンサスネットワークを使用することができる。2007では、提案される転送のソース転送のためのリソースに対するホールドの条件が宛先転送のためのリソースに対するホールドの条件と同じであると2006の時点で判定した後、信頼リストの要求が受信され得る。たとえば、仲介コンピューティングデバイス100は、転送のイニシエータから、仲介当事者によって信頼されるシステムまたはノードを含むことができるその仲介コンピューティングデバイス100の信頼リストの要求を受信することができる。イニシエータは、たとえば、送信側コンピューティングデバイス300、レシーバコンピューティングデバイス1100、仲介コンピューティングデバイス100、または転送チェーン内の何らかのその他の仲介コンピューティングデバイス、またはコーディネータ400などの、転送を開始し、たとえば、クォートの要求を送出したとされ得る任意のシステムとすることができる。
【０１８１】
2009では、信頼リストおよび肯定応答が送信され得る。たとえば、仲介コンピューティングデバイス100は、仲介コンピューティングデバイス100が転送チェーンに参加するという肯定応答と一緒に信頼リストをイニシエータに送信することができる。仲介当事者は、独自の信頼リストを持たないかまたは保有しないとされ得、その代わりに、たとえば、その仲介当事者の代わりにリソース追跡コンピューティングデバイス200によって信頼リストを送信させ得る。
【０１８２】
2011では、2016の時点でホールド許可を送信した後、一時的コンセンサスネットワークが転送を承認したことを示すステートメントが受信され得る。たとえば、仲介コンピューティングデバイス100は、転送が承認されたことを示す署名されたステートメントを一時的コンセンサスネットワークのメンバーノードの1/3以上から受信することができる。仲介コンピューティングデバイス100は、イニシエータから、または仲介コンピューティングデバイス100がイニシエータである場合はメンバーノードから、署名されたステートメントを受信することができる。仲介コンピューティングデバイス100がイニシエータである場合には、署名されたステートメントは、転送チェーン内の送信側コンピューティングデバイス300、レシーバコンピューティングデバイス1100、仲介コンピューティングデバイス、およびリソース追跡コンピューティングデバイスを含むその他のシステムに送信され得る。署名されたステートメントは、仲介当事者に転送されるべきリソースに対するホールドを解放するために使用され、たとえば、リソース追跡コンピューティングデバイス200が2020の時点で送信された実行命令に従い、仲介コンピューティングデバイス100を使用する仲介当事者のリソースプールに送信当事者によってホールドされたリソースを転送することを可能にし得る。署名されたステートメントは、たとえば、レシーバコンピューティングデバイス1100または受信当事者が責任を委譲した当事者のシステムからのレシートとすることもできる。レシートは、一時的コンセンサスネットワークのメンバーノードによって冒頭署名され、タイムスタンプを押され得る。
【０１８３】
図21に、開示される主題の実装形態によるリソース転送システムに適した例示的な手順を示す。2102では、たとえば、送信側コンピューティングデバイス300、レシーバコンピューティングデバイス1100、または仲介コンピューティングデバイス710などの仲介コンピューティングデバイス、またはコーディネータ400とすることができるイニシエータが、転送チェーン内の任意の利害関係者のシステムから信頼リストを収集することができる。転送は、イニシエータによって要求されたものとされ得、またはイニシエータは、たとえば、転送を要求した送信側コンピューティングデバイス300もしくはレシーバコンピューティングデバイス1100の代わりに転送チェーンをセットアップしているとされ得るコーディネータ400とすることができる。利害関係者は、たとえば、送信当事者、受信当事者、および転送に利害関係があり得る転送チェーン内の任意の仲介当事者である可能性がある。たとえば、信頼リストは、送信側コンピューティングデバイス300、レシーバコンピューティングデバイス1100、および転送チェーン内の任意の仲介コンピューティングデバイスから収集され得る。利害関係者が独自の信頼リストを持たないかまたは保有しない場合には、信頼リストは、それらの利害関係者の代わりに、たとえば、リソース追跡コンピューティングデバイスによって提供され得る。リソース追跡コンピューティングデバイスが、利害関係者の代わりに信頼リストを提供することができ、リソース追跡コンピューティングデバイスは、取引の一部としてその利害関係者にまたはその利害関係者からリソースを転送する。利害関係者の信頼リストは、転送を承認するとその利害関係者によって信頼され得るシステムまたはノードを指定することができる。
【０１８４】
2102では、イニシエータは、利害関係者のシステムから収集された信頼リストの共通部分を計算することができる。収集された信頼リストの共通部分は、収集された信頼リストのすべてに現れるノードを含むことができる。信頼リストの重なるノードは、一時的コンセンサスネットワークのメンバーノードになることができる。
【０１８５】
ステップ2104では、イニシエータは、利害関係者のシステムが取引において使用されるリソースにホールドをかけることを要求するために転送チェーン内の利害関係者のシステムに連絡を取ることができる。一時的コンセンサスネットワークの判断でホールドが解放されるという条件付きで、ホールドがかけられ得る。ホールドされたリソースは、たとえば、任意の通貨もしくは暗号通貨の資金、または天然資源、コモディティ、商品、美術、工芸品、収集価値のあるもの、またはその他の貴重品などを含む任意のその他の経済的リソースであることができる。リソースは、転送チェーン内のリソース追跡コンピューティングデバイスにおいてホールドをかけられ得る。
【０１８６】
ステップ2105では、イニシエータは、利害関係者が転送チェーンに参加することに同意するかどうかを示す応答を利害関係者のシステムから受信することができ、利害関係者に転送されるべきリソースの成功裏のホールドが、確認され得る。応答は、たとえば、利害関係者の参加と転送されるべきリソースの成功裏のホールドとの両方を確認することができる、ホールド許可の受信に応答してリソース追跡コンピューティングデバイスによって生成された準備済み転送レシートを含むことができる。応答は、たとえば、レシーバまたはレシーバが責任を委譲した当事者のシステムからのレシートとすることもできる。レシートは、たとえば、転送チェーン内の最後の仲介コンピューティングデバイスから準備済み転送レシートの受信に応答してレシーバによって送信され得る予め合意されたコンテンツを有するレシーバからの署名されたステートメントとすることができる。レシートの存在は、転送されるべきリソースが成功裏にホールドされたことを確認することができる。個々の利害関係者は、イニシエータが転送に参加することに合意する応答をイニシエータに引き続き送信することができ、またはレシーバからのレシートが利害関係者が転送に参加するために適当なリソースをホールドしたことを確認するので、そのレシートが、利害関係者の参加する同意として働くことができる。
【０１８７】
ステップ2106では、利害関係者のすべてが取引に参加することに同意したかどうかが、判定され得る。利害関係者のすべてが参加することに同意した場合には、流れは、転送がコミットしようと試みるかまたは実行することができる2107に進むことができる。そうでない場合には、流れは、転送が中止され得る2113に進むことができる。
【０１８８】
ステップ2107では、イニシエータは、利害関係者のすべてが転送において使用されるべきリソースをホールドしたという証明を一時的コンセンサスネットワークのメンバーノードに提供することができる。たとえば、証明は、たとえば、準備済み転送レシートなどの、利害関係者のシステムまたはリソースがホールドされたリソース追跡コンピューティングデバイスからの準備済み転送レシートなどの署名されたレシートとすることができる。証明は、たとえば、転送チェーン内の最後のインターメディアリが準備済み転送レシートをレシーバに送信した時に、イニシエータに送信された予め合意されたコンテンツを含む署名されたメッセージなどの、レシーバまたはレシーバが責任を委譲したシステムからのレシートとすることができる。
【０１８９】
ステップ2108では、メンバーノードは、転送が成功であることに同意することができる。これは、転送を承認することができる。一時的コンセンサスネットワークのメンバーノードは、リソースのホールドおよび任意のその他の適切な基準に基づいて、転送が成功であると判定し、転送を承認することができる。たとえば、ホールドの条件が一時的コンセンサスネットワークの判断であるという条件付きで、転送のために必要とされるリソースのすべてが証明可能な形でホールドされる場合には、一時的コンセンサスネットワークがホールドが解放され得ることを信号で送り、転送チェーン内の各リソース追跡コンピューティングデバイスにおいてリソースが転送されることを可能にすると、取引のあらゆる利害関係者が適当なリソースを受け取ることができるので、転送は成功とすることができる。リソースがホールドされるという証明は、準備済み転送レシートとすることができる。準備済み転送レシートは、タイムスタンプを押され得、転送に関する何らかの期限またはタイムアウトが転送が一時的コンセンサスネットワークによって承認されることに関して期限切れになる前に準備される必要があるとされ得る。証明は、レシーバまたはレシーバが責任を委譲した当事者のシステムからのレシートとすることもできる。そのようなレシートは、転送自体のいかなる詳細も含まないとされ得、メンバーノードは、レシートの存在を、転送が成功裏に完了するために適当なホールドがかけられたという証明とみなすことができる。一時的コンセンサスネットワークが、転送が成功したことに同意せず、たとえば、遅い、失われた、偽造された、またはそれ以外の信頼できない準備済み転送レシートまたはレシーバからのレシートが原因で転送を承認しない場合には、ステップ2113の時点で、取引は、タイムアウトし、中止される。
【０１９０】
ステップ2109では、イニシエータは、メンバーノードの各々からの、一時的コンセンサスネットワークの意思決定の結果に関する暗号的に署名されたステートメントを要求することができる。
【０１９１】
ステップ2110では、イニシエータは、メンバーノードからの、一時的コンセンサスネットワークの意思決定の結果に関する、何らかの最小数の暗号的に署名されたステートメントを受信することができる。最小数は、一時的コンセンサスネットワーク内のメンバーノードの数の1/3とすることができる。レシーバからのレシートがメンバーノードに送られた場合には、暗号的に署名されたステートメントは、メンバーノードによって冒頭署名され、メンバーノードがレシートを受信した時間によってタイムスタンプを押されたレシーバからのレシートとすることができる。
【０１９２】
ステップ2111では、メンバーノードからの、一時的コンセンサスネットワークの意思決定の結果に関する、最小数以上の暗号的に署名されたステートメントが、イニシエータによって利害関係者のシステムに提示され得る。暗号的に署名されたステートメントは、転送が成功であり、承認されたという、利害関係者のシステムに対する証明とすることができ、転送チェーン内のホールドされたリソースに対する条件が、一時的コンセンサスネットワークの合意によって満足された。
【０１９３】
ステップ2112では、利害関係者は、転送を実行またはコミットすることができる。利害関係者のシステムは、転送チェーン内の任意のリソース追跡コンピューティングデバイスに任意の必要な命令を発効することができる。リソース追跡コンピューティングデバイスは、一時的コンセンサスネットワークの判断に基づいてホールドされたリソースを解放することができ、各リソース追跡コンピューティングデバイスは、リソース追跡コンピューティングデバイス上でリソースプールの間の、今や解放されたリソースの適当な転送を実行し、送信当事者から受信当事者へおよびループ転送チェーンの場合は送信当事者に戻るリソースの全体的な転送を結果として生じ、転送を完了することができる。
【０１９４】
ステップ2113では、イニシエータは、タイムアウトを待つことができる。一時的コンセンサスネットワークが、転送が成功であり、承認される定足数に到達しようと試みる何らかの設定時間の期間が、存在し得る。イニシエータは、タイムアウトが達せられるまで、この時間の期間の間待つことができる。
【０１９５】
ステップ2114では、メンバーノードは、転送が不成功であったという合意に達することができる。一時的コンセンサスネットワークが、タイムアウトに達する前に、転送が成功であり、承認された定足数に達することができない場合には、転送は不成功とすることができる。
【０１９６】
ステップ2115では、イニシエータは、メンバーノードの各々からの、一時的コンセンサスネットワークの意思決定の結果に関する暗号的に署名されたステートメントを要求することができる。
【０１９７】
ステップ2116では、イニシエータは、メンバーノードからの、一時的コンセンサスネットワークの意思決定の結果に関する、何らかの最小数の暗号的に署名されたステートメントを受信することができる。最小数は、一時的コンセンサスネットワーク内のメンバーノードの数の1/3とすることができる。
【０１９８】
ステップ2117では、メンバーノードからの、一時的コンセンサスネットワークの意思決定の結果に関する、最小数以上の暗号的に署名されたステートメントが、イニシエータによって利害関係者のシステムに提示され得る。暗号的に署名されたステートメントは、一時的コンセンサスネットワークが転送を承認するための定足数に達し得なかった時、取引が不成功であるという、利害関係者のシステムに対する証明とすることができる。
【０１９９】
2118では、利害関係者は、取引をロールバックすることができる。取引が不成功である時、利害関係者のシステムは、任意のリソース追跡コンピューティングデバイスにおいてそれらの利害関係者のシステムがホールドした任意のリソースに対するホールドを解放し、リソース追跡コンピューティングデバイス上のそれらの利害関係者のシステムのプールを転送前の状態に再設定することができる。
【０２００】
本明細書で開示される主題の実施形態は、様々なコンポーネントおよびネットワークアーキテクチャ内で実施され、これらと共に使用され得る。図22は、本明細書で開示される主題の実施形態を実施するのに適する例のコンピュータシステム20である。コンピュータ20は、1つまたは複数のプロセッサ24、RAM、ROM、フラッシュRAM、または類似物などのメモリ27、入出力コントローラ28、および、ハードドライブ、フラッシュドライブ、SANドライブまた類似物などの固定ストレージ23などのコンピュータ20の主要なコンポーネントを相互接続するバス21を含む。ディスプレイアダプタを介するディスプレイスクリーンなどのユーザディスプレイ、コントローラとキーボード、マウス、タッチスクリーン、または類似物などの関連するユーザ入力デバイスとなどのユーザ入力インターフェース、ならびに汎用コンピューティングシステム内でのまたはこれに関連する使用のために当技術分野で既知の他のコンポーネントなど、他のコンポーネントが、含まれても含まれなくてもよいことを理解されたい。
【０２０１】
バス21は、中央プロセッサ24とメモリ27との間のデータ通信を可能にする。RAMは、一般に、オペレーティングシステムおよびアプリケーションプログラムがロードされるメインメモリである。ROMまたはフラッシュメモリは、他のコードの中でも、周辺コンポーネントとの相互作用などの基本的なハードウェア動作を制御する基本入出力システム(BIOS)を含むことができる。コンピュータ20と共に存在するアプリケーションは、一般に、固定ストレージ23および/またはメモリ27、光ディスク、外部ストレージ機構、または類似物などのコンピュータ可読媒体上に記憶され、これを介してアクセスされる。
【０２０２】
図示の各コンポーネントは、コンピュータ20と一体とされ得、あるいは別々にされ、他のインターフェースを介してアクセスされ得る。ネットワークインターフェース29などの他のインターフェースは、電話リンク、有線もしくは無線のローカルエリアネットワーク接続もしくは広域ネットワーク接続、プロプライエタリネットワーク接続、または類似物を介するリモートシステムおよびリモートデバイスへの接続を提供することができる。たとえば、ネットワークインターフェース29は、コンピュータが、図23に示されているように1つまたは複数のローカルネットワーク、広域ネットワーク、または他のネットワークを介して他のコンピュータと通信することを可能にすることができる。
【０２０３】
文書スキャナ、デジタルカメラ、補助システム、補足システム、バックアップシステム、または類似物など、多くの他のデバイスまたはコンポーネント(図示せず)は、同様の形で接続され得る。逆に、図22に示されたコンポーネントのすべてが、本開示を実践するために存在する必要はない。コンポーネントは、図示とは異なる形で相互接続され得る。図22に示されたものなどのコンピュータの動作は、当技術分野でたやすく知られ、本願で詳細には議論されない。本開示を実施するコードは、メモリ27、固定ストレージ23、リモートストレージ位置、または当技術分野で既知の他のストレージ機構のうちの1つまたは複数などのコンピュータ可読記憶媒体内に記憶され得る。
【０２０４】
図23に、開示される主題の実施形態による例示的な配置を示す。ローカルコンピュータ、スマートフォン、タブレットコンピューティングデバイス、リモートサービス、および類似物などの1つまたは複数のクライアント10、11は、1つまたは複数のネットワーク7を介して他のデバイスに接続することができる。ネットワークは、ローカルネットワーク、広域ネットワーク、インターネット、または任意の他の適切な通信ネットワークとされ得、有線ネットワークおよび/または無線ネットワークを含む任意の適切なプラットフォーム上で実施され得る。クライアント10、11は、処理ユニット14、データベース15、およびユーザインターフェースシステム13などの1つまたは複数のコンピュータシステムと通信することができる。いくつかの場合に、クライアント10、11は、データベース15、処理ユニット14、または類似物などの1つまたは複数の他のシステムへのアクセスを提供することのできるユーザインターフェースシステム13と通信することができる。たとえば、ユーザインターフェース13は、1つまたは複数の他のコンピュータシステムからデータを提供するユーザアクセス可能ウェブページとされ得る。ユーザインターフェース13は、人間可読ウェブページがウェブブラウザクライアント10に提供され、コンピュータ可読APIまたは他のインターフェースがリモートサービスクライアント11に提供される場合など、異なるクライアントに異なるインターフェースを提供することができる。ユーザインターフェース13、データベース15、および処理ユニット14は、一体のシステムの一部とされ得、あるいは、プライベートネットワーク、インターネット、または任意の他の適切なネットワークを介して通信する複数のコンピュータシステムを含むことができる。処理ユニット14は、たとえば、やはりデータベース15および/またはユーザインターフェース13を含みまたはこれと通信することのできる、クラウドベースのコンピューティングシステム、検索エンジン、コンテンツデリバリシステム、または類似物などの分散システムの一部とされ得る。いくつかの配置では、分析システム5は、記憶されたデータまたは獲得されたデータが、処理ユニット14、データベース15、および/またはユーザインターフェース13への配送の前に分析システム5
によって前処理される場合など、バックエンド処理を提供することができる。たとえば、機械学習システム5は、様々な予測モデル、データ分析、または類似物を1つまたは複数の他のシステム13、14、15に提供することができる。
【０２０５】
前述の説明は、説明のために、特定の実施形態を参照して説明された。しかし、上の例示的な議論は、網羅的であることまたは開示される主題の実施形態を開示される正確な形態に限定することを意図されたものではない。多数の変更および変形が、上野教示に鑑みて可能である。実施形態は、開示される主題の実施形態の原理およびその実用的応用を説明し、これによって、当業者がこれらの実施形態ならびに企図される特定の使用に適するものとされ得る様々な変更を伴う様々な実施形態を利用することを可能にするために選択され、説明された。
【符号の説明】
【０２０６】
5  分析システム
7  ネットワーク
10  クライアント
11  クライアント
13  ユーザインターフェースシステム
14  処理ユニット
15  データベース
20  コンピュータ
21  バス
23  固定ストレージ
24  プロセッサ
27  メモリ
28  入出力コントローラ
29  ネットワークインターフェース
100  仲介コンピューティングデバイス
110  エクスキュータ
120  クォートジェネレータ
140  ストレージ
142  提案される転送メッセージ
144  準備済み転送レシート
146  転送確認レシート
148  署名されたメッセージ
200  リソース追跡コンピューティングデバイス
210  リソースマネージャ
220  レシートジェネレータ
240  ストレージ
242  リソースプール
244  リソースプール
246  保留中転送
248  転送確認レシート
250  署名されたメッセージ
300  送信側コンピューティングデバイス
310  オーソライザ
320  クォートリクエスタ
340  ストレージ
342  クォート
344  提案される転送
400  コーディネータ
410  転送チェーンジェネレータ
420  クォートリクエスタ
440  ストレージ
442  準備済み転送レシート
444  転送確認レシート
510  リソース所有者識別子
520  リソース記録
522  リソースタイプ
524  リソース量
530  リソース記録
532  リソースタイプ
534  リソース量
600  リソース追跡コンピューティングデバイス
642  リソースプール
644  リソースプール
710  仲介コンピューティングデバイス
720  リソース追跡コンピューティングデバイス
742  リソースプール
744  リソースプール
1010  リソース所有者識別子
1022  リソースタイプ
1024  リソース量
1090  転送確認レシート
1100  レシーバコンピューティングデバイス
1500  仲介コンピューティングデバイス
1610  保証された最小転送
1620  保証された最小転送
1625  ロックタイムアウト
1635  ロックタイムアウト
1700  仲介コンピューティングデバイス
1720  リソース追跡システム、リソース追跡コンピューティングデバイス
1740  仲介コンピューティングデバイス
【図１】
2018535500.tif 000003
【図２】
2018535500.tif 000004
【図３】
2018535500.tif 000005
【図４】
2018535500.tif 000006
【図５】
2018535500.tif 000007
【図６Ａ】
2018535500.tif 000008
【図６Ｂ】
2018535500.tif 000009
【図６Ｃ】
2018535500.tif 000010
【図６Ｄ】
2018535500.tif 000011
【図７Ａ】
2018535500.tif 000012
【図７Ｂ】
2018535500.tif 000013
【図７Ｃ】
2018535500.tif 000014
【図８Ａ】
2018535500.tif 000015
【図８Ｂ】
2018535500.tif 000016
【図８Ｃ】
2018535500.tif 000017
【図９Ａ】
2018535500.tif 000018
【図９Ｂ】
2018535500.tif 000019
【図９Ｃ】
2018535500.tif 000020
【図１０】
2018535500.tif 000021
【図１１】
2018535500.tif 000022
【図１２】
2018535500.tif 000023
【図１３Ａ】
2018535500.tif 000024
【図１３Ｂ】
2018535500.tif 000025
【図１４】
2018535500.tif 000026
【図１５】
2018535500.tif 000027
【図１６】
2018535500.tif 000028
【図１７Ａ】
2018535500.tif 000029
【図１７Ｂ】
2018535500.tif 000030
【図１８Ａ】
2018535500.tif 000031
【図１８Ｂ】
2018535500.tif 000032
【図１９】
2018535500.tif 000033
【図２０Ａ】
2018535500.tif 000034
【図２０Ｂ】
2018535500.tif 000035
【図２１】
2018535500.tif 000036
【図２２】
2018535500.tif 000037
【図２３】
2018535500.tif 000038
【国際調査報告】
2018535500.tif 000039
2018535500.tif 000040
2018535500.tif 000041