(57)【特許請求の範囲】
【請求項１】
各々が、複数の実体のそれぞれ異なる一の実体により制御され関連付けられている、複数の処理デバイスのネットワークを用いて、中央サーバインフラストラクチャの指揮下のコンピュータタスクを行う方法であって、
前記複数の処理デバイスの各々が、アルゴリズムの初期プールを作成する段階と、
前記複数の処理デバイスの各々が、前記アルゴリズムを経時的に進化させて、進化した前記アルゴリズムを評価する段階と、
前記複数の処理デバイスの各々が、前記中央サーバインフラストラクチャからの予め定められた条件に応じて、進化した前記アルゴリズムから１以上の前記アルゴリズムを選択する段階と、
オペレーティングコンソールが、選択された１以上の前記アルゴリズムを適用して金融アルゴリズムを表す前記コンピュータタスクを実行する段階と
を備え、
少なくとも１つの前記初期プールは、他の前記初期プールと異なる方法。
【請求項２】
前記アルゴリズムを選択する段階は、前記複数の処理デバイスにおいて進化した前記アルゴリズムの遺伝子と、前記中央サーバインフラストラクチャが有する遺伝子のうち最も悪い遺伝子とを比較する段階を有する請求項１に記載の方法。
【請求項３】
前記複数の実体に関連する処理デバイスが利用されると、前記複数の処理デバイスの各々が、前記複数の実体に対価を与える段階を更に備える請求項１または２に記載の方法。
【請求項４】
前記複数の処理デバイスの少なくとも１つは、中央処理装置のクラスタを含む請求項１から３の何れか１項に記載の方法。
【請求項５】
前記複数の実体の少なくとも１つは金銭的な対価を受ける請求項１から４の何れか１項に記載の方法。
【請求項６】
前記複数の処理デバイスの少なくとも１つは、中央処理装置およびホストメモリを含む請求項１から５の何れか１項に記載の方法。
【請求項７】
前記アルゴリズムの少なくとも１つは、１以上の資産のリスク調整した後の業績を計測する請求項１から６の何れか１項に記載の方法。
【請求項８】
前記複数の実体の少なくとも１つは商品／サービスによる対価を受ける請求項１から７の何れか１項に記載の方法。
【請求項９】
前記複数の処理デバイスの各々が、各自のアルゴリズムの初期プールをランダムに作成する請求項１から８の何れか１項に記載の方法。
【請求項１０】
前記複数の実体に関連付けられた複数の処理デバイスが、前記コンピュータタスクに割り当てられたＣＰＵ動作の指標に基づいて前記複数の実体の少なくとも１つに対する対価額を決定する段階と、
実体に対して決定された前記対価額に従って、前記複数の処理デバイスの各々が、前記複数の実体の少なくとも１つに対価を与える段階と
をさらに備える請求項１から９の何れか１項に記載の方法。
【請求項１１】
各々が、複数の実体のそれぞれ異なる一の実体により制御され関連付けられている、複数の処理デバイスのネットワークを用いて、コンピュータタスクを実行するネットワークコンピュータシステムであって、
経時的に進化するアルゴリズムの初期プールを各々が作成し、作成された前記アルゴリズムを評価する複数の処理デバイスと、
予め定められた条件に応じて、前記複数の処理デバイスに、進化した前記アルゴリズムから１以上のアルゴリズムを選択させる中央サーバインフラストラクチャと、
前記選択された１以上のアルゴリズムを適用して、金融アルゴリズムを表す前記コンピュータタスクを実行するモジュールと
を備え、
少なくとも１つの前記初期プールは、他の前記初期プールと異なるネットワークコンピュータシステム。
【請求項１２】
前記複数の処理デバイスの各々の対価レベルを保持するモジュールをさらに備える請求項１１に記載のネットワークコンピュータシステム。
【請求項１３】
前記複数の処理デバイスの少なくとも１つは、中央処理装置のクラスタを含む請求項１１または１２に記載のネットワークコンピュータシステム。
【請求項１４】
少なくとも１つの対価は、金銭的な対価である請求項１１から１３の何れか１項に記載のネットワークコンピュータシステム。
【請求項１５】
前記複数の処理デバイスの少なくとも１つは、中央処理装置およびホストメモリを含む請求項１１から１４の何れか１項に記載のネットワークコンピュータシステム。
【請求項１６】
前記アルゴリズムの少なくとも１つは、１以上の資産のリスク調整した後の業績を計測する請求項１１から１５の何れか１項に記載のネットワークコンピュータシステム。
【請求項１７】
少なくとも１つの対価は商品／サービスである請求項１１から１６の何れか１項に記載のネットワークコンピュータシステム。
【請求項１８】
前記複数の処理デバイスの各々は、各自のアルゴリズムの初期プールをランダムに作成する請求項１１から１７の何れか１項に記載のネットワークコンピュータシステム。
【請求項１９】
前記複数の処理デバイスのそれぞれは、複数の実体のそれぞれに制御され、かつ関連付けられ、
中央サーバインフラストラクチャは、前記複数の実体に関連付けられた複数の処理デバイスによって、前記コンピュータタスクに割り当てられたＣＰＵ動作の指標に基づいて前記複数の実体の各々に対する対価額を決定し、
実体に対して決定された前記対価額に従って、前記複数の処理デバイスが、前記複数の実体の少なくとも１つに対価を与える、請求項１１から１８の何れか１項に記載のネットワークコンピュータシステム。
【請求項２０】
各々が、複数の実体のそれぞれ異なる一の実体により制御され関連付けられている、複数の処理デバイスのネットワークを用いて、中央制御装置の指揮下のコンピュータタスクを実行する方法であって、
前記中央制御装置が、前記複数の処理デバイスの各々へ、実行されるクライアント側のソフトウェアコードを提供する段階を含む段階と、
前記複数の処理デバイスの各々が、各自の、前記クライアント側のソフトウェアに経時的に進化させられるアルゴリズムの初期プールを作成する段階と、
前記複数の処理デバイスの各々が、進化した前記アルゴリズムを評価する段階と、
前記複数の処理デバイスの各々が前記中央制御装置からの予め定められた条件に応じて、進化した前記アルゴリズムから１以上のアルゴリズムを選択する段階と、
オペレーティングコンソールが、前記選択された１以上のアルゴリズムを適用して金融アルゴリズムを表す前記コンピュータタスクを実行する段階と
を備え、
少なくとも１つの前記初期プールは、他の前記初期プールと異なる方法。
【請求項２１】
前記複数の実体に関連付けられた複数の処理デバイスによって、前記コンピュータタスクに割り当てられたＣＰＵ動作の指標に基づいて前記複数の実体の少なくとも１つに対する対価額を決定する段階と、
実体に対して決定された前記対価額に従って、前記複数の処理デバイスの各々が、前記複数の実体の少なくとも１つに対価を与える段階と
をさらに備える請求項２０に記載の方法。
【請求項２２】
各々が、複数の実体のそれぞれ異なる一の実体により制御され関連付けられている、複数の処理デバイスのネットワークを用いて、中央サーバインフラストラクチャの指揮下の金融アルゴリズムに関するコンピュータタスクを実行する方法であって、
前記複数の処理デバイスの各々が、アルゴリズムの初期プールを作成する段階と、
前記複数の処理デバイスの各々が、前記コンピュータタスクの異なるサブタスクを実行して複数の解決法を生成する段階と、
前記複数の処理デバイスの各々が、生成された複数の解決法を評価する段階と、
前記複数の処理デバイスの各々が、前記中央サーバインフラストラクチャの予め定められた条件に応じて、前記複数の解決法を選択する段階と、
前記中央サーバインフラストラクチャが、前記複数の解決法を組み合わせて前記コンピュータタスクの結果を生成し、前記コンピュータタスクの結果を評価する段階と、
前記複数の実体に関連付けられた前記複数の処理デバイスが、前記サブタスクに割り当てられたＣＰＵ動作の指標に基づいて前記複数の実体の各々に対する対価額を決定する段階と、
前記複数の処理デバイスの各々が、前記対価額に従って前記複数の実体に対価を与える段階と
を備え、
前記コンピュータタスクは金融アルゴリズムを表し、
少なくとも１つの前記初期プールは、他の前記初期プールと異なる方法。
【請求項２３】
前記複数の処理デバイスの少なくとも１つは、中央処理装置のクラスタを含む請求項２２に記載の方法。
【請求項２４】
前記複数の実体の少なくとも１つは金銭的な対価を受ける請求項２２または２３に記載の方法。
【請求項２５】
前記複数の処理デバイスの少なくとも１つは、中央処理装置およびホストメモリを含む請求項２２から２４の何れか１項に記載の方法。
【請求項２６】
前記結果は、１以上の資産のリスク調整した後の業績の計測である請求項２２から２５の何れか１項に記載の方法。
【請求項２７】
前記複数の実体の少なくとも１つは商品／サービスによる対価を受ける請求項２２から２６の何れか１項に記載の方法。
【請求項２８】
前記決定する段階がＣＰＵ動作の最小閾値に適合され、前記最小閾値に達しなかった場合には対価は支払われない請求項２２から２７の何れか１項に記載の方法。
【請求項２９】
前記ＣＰＵ動作の指標は、利用されるＣＰＵサイクルの数を含む請求項２２から２８の何れか１項に記載の方法。
【請求項３０】
前記複数の処理デバイスのうち所与の１つが、前記中央サーバインフラストラクチャへ送られる解決法の最小適合度レベルを前記中央サーバインフラストラクチャから学ぶ段階と、
前記複数の処理デバイスが、前記最小適合度レベルを超える適合度レベルを有する前記所与の処理デバイスの解決法のみを前記中央サーバインフラストラクチャへ送る段階と
を更に備える請求項２２から２９の何れか１項に記載の方法。
【請求項３１】
各々が、複数の実体のそれぞれ異なる一の実体により制御され関連付けられている、複数の処理デバイスのネットワークを用いて、コンピュータタスクを実行し、中央サーバインフラストラクチャを有するネットワークコンピュータシステムであって、
アルゴリズムの初期プールを作成し、前記アルゴリズムを含む複数のサブタスクに応じて生成された複数の解決法を評価するモジュールと、
前記中央サーバインフラストラクチャの予め定められた条件に応じて、前記複数の解決法を選択するモジュールと、
前記コンピュータタスクの複数のサブタスクに応じて生成された複数の解決法を組み合わせて前記コンピュータタスクの結果を生成するモジュールと、
前記複数のサブタスクに割り当てられたＣＰＵ動作の指標に基づいて、前記複数の解決法を生成する複数の実体の各々に対する対価額を、前記複数の実体に関連付けられた複数の処理デバイスによって決定するモジュールと
を備え、
前記コンピュータタスクは金融アルゴリズムを表し、
少なくとも１つの前記初期プールは、他の前記初期プールと異なるネットワークコンピュータシステム。
【請求項３２】
前記複数の解決法の少なくとも１つは、中央処理装置のクラスタにより生成される請求項３１に記載のネットワークコンピュータシステム。
【請求項３３】
前記対価は、金銭的な対価である請求項３１または３２に記載のネットワークコンピュータシステム。
【請求項３４】
前記結果は、１以上の資産のリスク調整した後の業績の計測である請求項３１から３３の何れか１項に記載のネットワークコンピュータシステム。
【請求項３５】
前記複数の実体の少なくとも１つへの前記対価は、商品／サービスである請求項３１から３４の何れか１項に記載のネットワークコンピュータシステム。
【請求項３６】
前記対価額の決定においては、ＣＰＵ動作の最小閾値を利用する請求項３１から３５の何れか１項に記載のネットワークコンピュータシステム。
【請求項３７】
前記ＣＰＵ動作の指標は、利用されるＣＰＵサイクルの数を含む請求項３１から３６の何れか１項に記載のネットワークコンピュータシステム。
【請求項３８】
各々が、複数の実体のそれぞれ異なる一の実体により制御され関連付けられている、複数の処理デバイスのネットワークを用いて、中央制御装置の指揮下の金融アルゴリズムに関するコンピュータタスクを実行する方法であって、
異なる処理デバイスの各々が、アルゴリズムの初期プールを作成する段階と、
前記異なる処理デバイスの各々が、前記アルゴリズムを含む複数のサブタスクに応じて生成された複数の解決法を評価する段階と、
前記異なる処理デバイスの各々が、前記中央制御装置の予め定められた条件に応じて、前記複数の解決法を選択する段階と、
前記中央制御装置が、複数の実体のうち異なる１つに制御されかつ関連付けられる、複数の処理デバイスのネットワークを形成する、実行されるクライアント側のソフトウェアコードを前記複数の処理デバイスの各々へ提供するステップを含む段階と、
前記中央制御装置が、前記ソフトウェアコードを手段として、複数の処理デバイスの各々に、前記コンピュータタスクのさまざまのサブタスクを実行させ、複数の解決法の生成をもたらす段階と、
前記中央制御装置が、前記複数の解決法を組み合わせ、前記コンピュータタスクの結果を生成する段階と、
前記複数の実体に関連付けられた前記複数の処理デバイスによって、前記サブタスクに割り当てられたＣＰＵ動作の指標に基づいて前記複数の実体の各々に対する対価額を決定する段階と、
前記異なる処理デバイスの各々が、前記対価額に従って前記複数の実体に対価を与える段階と
を備え、
前記コンピュータタスクは金融アルゴリズムを表し、
少なくとも１つの前記初期プールは、他の前記初期プールと異なる方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２００７年１１月８日出願の「Distributed Network for Performing Complex Algorithms」なる名称の米国仮特許出願第６０／９８６，５３３号明細書、および、２００８年６月２５日出願の「Distributed Network for Performing Complex Algorithms」なる名称の米国仮特許出願第６１／０７５，７２２号明細書の利益を、合衆国法典ＵＳＣ３５巻１１９条（ｅ）項の下で主張しており、これらの内容全体をここに参照として組み込む。
【背景技術】
【０００２】
従来、複雑な金融トレンドおよびパターン分析処理は、通常会社のファイヤウォール内に配置され、会社の情報技術（ＩＴ）グループが所有運営するスーパコンピュータ、メインフレーム、または強力なワークステーションおよびＰＣで行われてきた。これらハードウェアおよびそれを動かすソフトウェアへの投資が重要である。また、これらインフラストラクチャの維持費（保守、修理、パッチ）および運営費（電気、セキュリティデータセンタ）も重要である。
【０００３】
株価のトレンドは、概して予測不能であるが、時としては予測可能なパターンを呈することもある。株式取引用には、従来、遺伝的アルゴリズム（ＧＡ）が利用されてきた。この用途は主に株式のカテゴリー化に対するものであった。一理論では、任意の時点において、株式の５パーセントがトレンドに従うとのことである。このように遺伝的アルゴリズムをトレンドに従う、または従わない株式をカテゴリー化する用途において利用することで、成功する場合もある。
【０００４】
遺伝的アルゴリズムの上位集合である進化アルゴリズムは、混沌とした検索空間に利用されるのに好適である。Koza, J.R.著「Genetic Programming: On the Programming of Computers by Means of Natural Selection」1992年、ＭＩＴプレスにも示されているように、進化アルゴリズムを利用して、宣言的表記法によって完全にプログラムを進化させることができる。進化アルゴリズムの基本要素は、環境、遺伝モデル、適合度関数、および、再生関数である。環境は、任意の課題を提起するモデルであってよい。遺伝子は、環境内でのその行動を統括する一式の規則により定義されてよい。規則は、環境で行われる動作に次いで起こる状況のリストである。適合度関数は、一式の進化規則が、環境と合致している度合いにより定義されてよい。適合度関数はこのように、環境における各遺伝子の適合度を評価するのに利用される。再生関数は、親の遺伝子のうち最も適合しているものとの混合規則により新たな遺伝子を生成する。各世代において、新たな遺伝子集団が生成される。
【０００５】
進化プロセスの初めに、一遺伝子を構成する構成ブロックまたはアルファベットを寄せ集めることにより、初代集団を構成する遺伝子を完全に無作為に生成する。遺伝的プログラミングにおいて、このアルファベットは、環境内の遺伝子行動を統括する規則を構成する一式の条件および動作である。集団が形成されると、適合度関数を用いて評価が行われる。その後、適合度の最も高い遺伝子を利用して、再生と称されるプロセスで次世代を生成する。再生によって、親の遺伝子の規則を混合して、特には突然変異株を形成して、一式の新たな規則を形成する。この一式の新たな規則は、その後、新たな世代のメンバーとなる子の遺伝子に対して適用される。転生するうちに、エリートと称される前世代で最も適合度の高かったメンバーも、次世代に複写により受け継がれることがある。
【発明の概要】
【０００６】
本発明によると、拡張可能且つ効率的なコンピュータ装置および方法により、金融取引における有利な立場を経時的に提供および維持することができる。これは、一部には、（ｉ）進化した人口知能（ＡＩ）および機械学習アルゴリズム（遺伝的アルゴリズムおよび人口生命構成等を含む）と、（ｉｉ）アルゴリズム的処理用に適応させた高度に拡張可能な分散型コンピュータモデルと、（ｉｉｉ）金融産業のコストは最小限に抑えつつ、先例をみないスケールクラウドコンピューティング能力を提供する固有のコンピュータ環境とを組み合わせることにより達成される。
【０００７】
以下に詳述するように、演算能力（資産）を提供する主体との関係は、幾らかの方法により活用される。このように提供される大型の演算能力を低コストに提供することで、従来のものよりも格段に大きな解決空間における検索が可能となる。既に知られているように、株式、指標、取引方針（trading policies）等を高速に検索することが重要である、というのも、予測の成功に影響をもつパラメータは経時的に変化する可能性が高いからである。さらに、処理能力が高まれば、処理可能な検索空間も大きくなるので、より良い解決法を保証することができるようになる。
【０００８】
ウィルス係数（viral coefficient）（本発明がＣＰＵ保有者／プロバイダに広まり、採用され、本発明のコンピュータネットワークに参加させる誘因となる速度を決定する係数）を上げるべく、演算能力のプロバイダに対して本発明のシステムを利用可能とすることに対する対価あるいは奨励金を与え、さらには、他の人々に参加を呼びかけることについても対価あるいは奨励金も与える。
【０００９】
本発明の一側面においては、プロバイダが自身のＣＰＵの演算サイクル、ダイナミックメモリ、および自身の帯域幅を利用させたことに対して、適宜対価を与える。本発明の幾らかの実施形態においては、この関係の側面によりウィルスマーケティングが可能となる。対価レベル（金銭的、商品／サービスの形態による、あるいは情報等）を知ったプロバイダは、友人、同僚、家族等に対して、コンピュータインフラストラクチャに対する現在の投資から利益を得る可能性について知らせるようになる。これにより、システムに対して貢献するプロバイダの数は恒常的に増え続けることとなり、この結果、より高い処理能力およびより高い性能を達成することができる。性能が高いほど、リクルートに費やせる資源が増え、より多くのプロバイダの加入に繋がる。
【００１０】
本発明の幾らかの実施形態によると、メッセージおよび媒体配信サービス（例えば定期的なニュースのブロードキャスト、ニュース速報、ＲＳＳ提供、ティッカーテープ、フォーラムおよびチャット、ビデオ等）をプロバイダに提供してもよい。
【００１１】
本発明の幾らかの実施形態は、処理能力のマーケットの生成を促す触媒の役目を果たす。従って、本発明の実施形態によるプロバイダが提供する処理能力のうち一定の割合が、このような能力に対してアクセスすることに関心を持つ他人に対して提供されうる。
【００１２】
本発明の実施形態のウィルスマーケティングおよび採用速度を速める目的から参照システムを採用することができる。例えば、幾らかの実施形態では、友人を勧誘する目的を有する「ウィルスコイン」が提供される。ウィルスコインは、典型的な顧客獲得コスト以下のレートで、慈善のための寄付または他の情報面での寄与という形式による換金が可能である。
【００１３】
本発明の一実施形態によるコンピュータタスクを実行する方法は、一部に、各処理デバイスが異なる実体により制御され関連付けられているような処理デバイスのネットワークを形成すること；コンピュータタスクをサブタスクへ分割し、各サブタスクをそれぞれ異なる一の処理デバイスで実行して複数の解決法を生成し、複数の解決法を組み合わせてコンピュータタスクの結果を生成すること；および、実体に対して、関連する処理デバイスの利用について対価を与えること、を含む。
【００１４】
一実施形態では、コンピュータタスクは、金融アルゴリズムを表す。一実施形態では、処理デバイスの少なくとも１つが、中央処理装置のクラスタを含む。一実施形態では、実体の少なくとも１つは、金銭的な対価を受ける。一実施形態では、処理デバイスの少なくとも１つが、中央処理装置およびホストメモリを含む。一実施形態では、結果は、１以上の資産の、リスク調節した後の業績の計測である。一実施形態では、実体の少なくとも１つは、商品／サービスによる対価を受ける。
【００１５】
本発明の一実施形態によるコンピュータタスクを行う方法は、一部に、各処理デバイスがそれぞれ異なる一の実体により制御され関連付けられているような処理デバイスのネットワークを形成すること、処理デバイス間で無作為に１以上のアルゴリズムを分配すること、１以上のアルゴリズムを経時的に進化させること、進化したアルゴリズムを予め定められた条件に従って選択すること、および、選択したアルゴリズムを用いてコンピュータタスクを実行すること、を含む。コンピュータタスクは、金融アルゴリズムを表す。
【００１６】
一実施形態では、実体は、自身の処理デバイスの利用に対する対価を受ける。一実施形態では、処理デバイスの少なくとも１つが、中央処理装置のクラスタを含む。一実施形態では、実体の少なくとも１つは、金銭的な対価を受ける。一実施形態では、処理デバイスの少なくとも１つが、中央処理装置およびホストメモリを含む。一実施形態では、アルゴリズムの少なくとも１つは、１以上の資産の、リスク調節した後の業績を計測する。一実施形態では、実体の少なくとも１つは、商品／サービスによる対価を受ける。
【００１７】
本発明の一実施形態によるコンピュータタスクを行うよう構成されたネットワークコンピュータシステムは、一部に、コンピュータタスクを複数のサブタスクに分割するモジュールと、複数のコンピュータタスクに応じて生成された複数の解決法を組み合わせて、コンピュータタスクの結果を生成するモジュールと、解決法を生成する実体の対価レベルを保持するモジュールとを含む。コンピュータタスクは、金融アルゴリズムを表す。
【００１８】
一実施形態では、解決法の少なくとも１つは、中央処理装置のクラスタにより生成される。一実施形態では、対価は、金銭的な対価である。一実施形態では、結果は、１以上の資産の、リスク調節した後の業績の計測である。一実施形態では、実体の少なくとも１つに対する対価は、商品／サービスによる。
【００１９】
本発明の一実施形態によるコンピュータタスクを行うよう構成されたネットワークコンピュータシステムは、一部に、複数のアルゴリズムを分配して、経時的に複数の処理デバイス間で無作為に進化させる機能を持つモジュールと、予め定められた条件に応じて進化したアルゴリズムの１以上を選択するモジュールと、選択した１または複数のアルゴリズムを利用してコンピュータタスクを実行するモジュールとを含む。コンピュータタスクは、金融アルゴリズムを表す。
【００２０】
一実施形態では、ネットワークコンピュータシステムはさらに、処理デバイスの各々の対価レベルを保持するモジュールを含む。一実施形態では、処理デバイスの少なくとも１つは、中央処理装置のクラスタを含む。一実施形態では、少なくとも１つの対価の形態が、金銭的な対価である。一実施形態では、処理デバイスの少なくとも１つが、中央処理装置およびホストメモリを含む。一実施形態では、アルゴリズムの少なくとも１つは、１以上の資産の、リスク調節した後の業績を計測する。一実施形態では、少なくとも１つの対価の形態が、商品／サービスによる対価である。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態によるネットワークコンピュータシステムのハイレベルブロック図の一例を示す。
【００２２】
【図２】本発明の一例示的な実施形態によるクライアント‐サーバ間のアクションを示す。
【００２３】
【図３】図２のクライアントおよびサーバに設けられる幾らかのコンポーネント／モジュールを示す。
【００２４】
【図４】図１の各処理デバイスのブロック図である。
【発明を実施するための形態】
【００２５】
本発明の一実施形態においては、高度なソフトウェアベースの金融トレンドおよびパターン分析を行うコストを、このような分析を達成するのに必要な処理能力を、世界中の多数（例えば数千、数百万等）の個々のまたはクラスター化されたコンピュータノードに対して分散させ、インターネットに対してブロードバンド接続により接続された数百万の中央処理装置（ＣＰＵ）またはグラフィック処理装置（ＧＰＵ）を活用することにより、顕著に低減させる。以下の記載はＣＰＵに関しているが、本発明の実施形態は同様のＧＰＵにも適用可能である。
【００２６】
ここで用いられる用語は以下の通りである。
・システムは、ハードウェアシステム、ソフトウェアシステム、または、ハードウェア／ソフトウェアシステムの組み合わせのことである。
・プロバイダは、本発明の分散型ネットワークコンピュータシステムに参加することに同意し、１以上の中央処理装置（ＣＰＵ）を所有、維持、運営、管理、または制御する個人、会社、または組織を含む。
・ネットワークは、中央または発生／終端コンピュータインフラストラクチャおよび任意の数Ｎのプロバイダを含む幾らかの要素により形成され、各プロバイダは、それぞれが任意の数の処理デバイスを有する１以上のノードと関連づけられている。各処理デバイスは、少なくとも１つのＣＰＵおよび／またはホストメモリ（例えばＤＲＡＭ）を含む。
・ＣＰＵは、ネットワークの一部を形成する１以上のノードをサポートする。ノードは、コンピュータタスクを実行する機能を持つネットワーク要素である。マルチコアプロセッサの複数のＣＰＵ等のように、単一のノードが複数のＣＰＵ上に駐在してよい。
・ブロードバンド接続は、ケーブル、ＤＳＬ、ＷｉＦｉ、３Ｇ無線、４Ｇ無線、または、ＣＰＵをインターネットに接続し、ＣＰＵ同士を互いに接続するために開発される任意のその他の既存または将来の有線または無線の規格として定義される。
【００２７】
図１は、本発明の一実施形態によるネットワークコンピュータシステム１００のハイレベルブロック図の一例を示す。図中においてネットワークコンピュータシステム１００は、４つのプロバイダ１２０、１４０、１６０、１８０、および、１以上の中央サーバインフラストラクチャ（ＣＳＩ）２００を含む。プロバイダ１２０の一例としては、プロバイダ１２０が所有、運営、維持、管理、または制御する幾らかのノードをホストするＣＰＵのクラスタが含まれる。このクラスタは、処理デバイス１２２、１２４、および１２６を含む。本例において、処理デバイス１２２はラップトップコンピュータであり、処理デバイス１２４および１２６はデスクトップコンピュータである。同様に、プロバイダ１４０の一例としては、処理デバイス１４２（ラップトップコンピュータ）および、プロバイダ１２０が所有、運営、維持、管理、または制御するノードをホストする処理デバイス１４４（ハンドヘルドデジタル通信／コンピュータデバイス）に配置される複数のＣＰＵが含まれる。一例として示されるプロバイダ１６０は、処理デバイス１６２（ラップトップコンピュータ）に配置されるＣＰＵを含み、一例として示されるプロバイダ１８０は、処理デバイス１８２（セルラー式／ＶｏＩＰハンドヘルドデバイス）に配置されるＣＰＵを含む。本発明によるネットワークコンピュータシステムは、任意の数Ｎのプロバイダを含んでよく、各プロバイダは、１つの、またはそれ以上の数のノードと関連付けられ任意の数の処理デバイスを含んでよいことが理解されよう。各処理デバイスは、少なくとも１つのＣＰＵおよび／またはホストメモリ（ＤＲＡＭ等）を含む。
【００２８】
ブロードバンド接続により、プロバイダがＣＳＩ２００に接続され、本発明のコンピュータ演算が実行される。これら接続は、ケーブル、ＤＳＬ、ＷｉＦｉ、３Ｇ無線、４Ｇ無線、または、ＣＰＵをインターネットに接続するために開発される任意のその他の既存または将来の有線または無線の規格であってよい。幾らかの実施形態では、図１に示すように、さらにノード同士で接続したり、情報を渡したりする機能を有していてもよい。図１のプロバイダ１４０、１６０、および１８０は、互いに直接通信を行い、情報を渡す。本発明によるクライアントソフトウェアがＣＰＵ上で実行可能な場合には、任意のＣＰＵを利用することができる。幾らかの実施形態では、マルチクライアントソフトウェアがマルチＣＰＵデバイスに命令を提供し、これらデバイスで利用可能なメモリを利用する。
【００２９】
一実施形態では、ネットワークコンピュータシステム１００は、金融アルゴリズム／分析を実装し、取引方針を計算する。これを実行するべく、アルゴリズム／分析に関連付けられたコンピュータタスクを、複数のサブタスクに分割し、各サブタスクが、それぞれ異なる一のノードに割り当てられ処理をゆだねられる。これらノードが得た演算結果は、ＣＳＩ２００により収集され組み合わせられ、懸案のタスクに対する解決法が得られる。各ノードが受信するサブタスクには、関連するアルゴリズムまたは演算コード、アルゴリズムが実装すべきデータ、および、関連するアルゴリズムおよびデータを用いて解決する対象である１以上の課題／問題が含まれていてよい。従ってこれら実施形態では、ＣＳＩ２００は、ノードに配置されている複数のＣＰＵが提供する部分的な解決法同士を受信して、組み合わせることで、要求されている演算問題の解決法を生成してもよく、これについては以下に詳述する。ネットワークコンピュータシステム１００が処理中のコンピュータタスクが金融アルゴリズムに関するものである場合、複数のノードが供給する部分的な解決法同士を統合することで得られる最終結果は、１以上の資産の取引に関する助言に関していてよい。
【００３０】
進化アルゴリズムの拡張は、２次元で行われてよい、つまり、プールサイズ、および／または、評価面で行われてよい。進化アルゴリズムでは、プールが大きいほど、あるいは、遺伝子集団が大きいほど、検索空間における多様性も大きくなる。これは、より適合度の高い遺伝子を見つける可能性が高くなることを意味する。こうするためには、プールを多くの処理クライアント間で分散するという方法が考えられる。各プロセッサは、自身の遺伝子プールを評価して、最も適合度の高い遺伝子をサーバに送るが、これについては後述する。
【００３１】
本発明の一実施形態によると、金融的な報酬は、規制上の要件に従って、成功したノードに関連付けられた成功したアルゴリズム（１または複数）が示唆する取引方針を実行することにより生じる。アルゴリズム（例えば遺伝子アルゴリズムまたは実施形態で実装される後述するＡＩアルゴリズム）の遺伝子または実体は、考えられうるうちの最高の解決法を目指して、および最良の結果を得るべく、競合するよう構成されてよい。これらアルゴリズムでは、各プロバイダ（例えば図１のプロバイダ１２０、１４０、１６０、および１８０）は、無作為に演算用の完全なアルゴリズム（コード）を受け取り、１以上のノードＩＤを割り当てられる。一実施形態では、各プロバイダは、さらに、経時的に、自身に関連するアルゴリズムに対して知識および決定を追加することができる。アルゴリズムは進化することができ、その幾らかは他のものよりも成功することもある。言い換えると、当初無作為に割り当てられたアルゴリズムの１以上が、他のものよりも高い知性レベルを得て、成功したアルゴリズムとなり、取引に関する助言を実行するのに利用することができる場合がある。成功したアルゴリズムを生成するノードのことを、成功したノードと称する。ノードＩＤは、成功したアルゴリズムをそれらのノードまで辿り、成功したノードを特定するのに利用される。ＣＳＩ２００は、最高のアルゴリズムを選択することにより、または、複数のＣＰＵから得られた部分的なアルゴリズム同士を組み合わせることにより、アルゴリズムを構成してよい。構成されたアルゴリズムは、成功したアルゴリズムのみから定義されてもよいし、複数のノードまたはＣＰＵが生成した部分的なアルゴリズム同士の組み合わせにより定義されてもよい。構成されたアルゴリズムは、取引を実行するのに利用される。
【００３２】
図２に示すような幾らかの実施形態では、フィードバックループを利用して、複数のＣＰＵに、自身のアルゴリズムの進化の最新情報を与える。これらには、自身に関連するＣＰＵが計算したアルゴリズムまたは関連プロバイダが関心を持つ資産についてのアルゴリズムが含まれてよい。これは、経時的なアルゴリズムコンポーネントの向上についてのウィンドウに類似しており、該アルゴリズムにより動作しているプロバイダ数、経た世代数等の情報を提供する。これは、共同作業に参加する経験をさせることから、自身の演算能力の共有についてさらなる動機付けをプロバイダに対して与える。
【００３３】
幾らかの実施形態では、本発明の個々のＣＰＵまたはネットワークコンピュータシステムが実装するアルゴリズムは、ある資産または資産群のリスク調節した後の業績を計測し、この計測は、金融業界では通常、資産または資産群のアルファと称されている。アルファは、通常、安全保障基金またはミューチュアルファンド等の超過リターン等の資産を、Ｓ＆Ｐ５００の超過リターンに回帰することで生成される。別のよく知られているベータというパラメータは、リスク（勾配係数）を調節するのに利用され、アルファは切片である。
【００３４】
例えば、ミューチュアルファンドが２５％のリターンを有し、短期金利が５％（超過リターンが２０％）であると仮定する。同じ時期に、マーケットの超過リターンが９％であるとする。さらに、ミューチュアルファンドのベータが２．０であると仮定する。言い換えると、このミューチュアルファンドは、Ｓ＆Ｐ５００より２倍のリスクを有することになる。リスクを想定して予想される超過リターンは２Ｘ９％＝１８％となる。実際の超過リターンは２０％である。故に、アルファは２％または２００ベーシスポイントとなる。アルファは、ジェンセン指標（Jensen Index）としても知られており、以下の式で表される。
【数１】
0005466163.tif 000002
上の式において、ｎ＝観察数（例えば３６ヶ月）、ｂ＝ファンドのベータ、ｘ＝マーケットのリターン率、および、ｙ＝ファンドのリターン率である。
【００３５】
人口知能（ＡＩ）または機械学習グレードアルゴリズム（Machine Learning-grade algorithms）を利用して、トレンドを知り分析を行う。ＡＩアルゴリズムの例には、識別器、エキスパートシステム、事例に基づく推論、ベイジアンネットワーク、行動ベースＡＩ、ニューラルネットワーク、ファジーシステム、進化的計算法、および、ハイブリッド知的システムが含まれる。これらアルゴリズムの簡単な説明は下記のウィキピディアでなされている。
【００３６】
識別器は例により調節することのできる機能である。幅広い範囲の識別器が利用可能であり、各々に長所短所がある。最も幅広く利用されている識別器は、ニューラルネットワーク、サポートベクターマシン、ｋ最近傍アルゴリズム、ガウス混合モデル、単純ベイズ分類器、および決定木である。エキスパートシステムでは、結論に到達するのに推論能力を利用する。エキスパートシステムでは、大量の既知の情報を処理して、それに基づいて結論を得る。
【００３７】
事例に基づく推論システムでは、事例と称される組織化されたデータ構造における問題と答えのセットが記憶されている。事例に基づく推論システムは、課題とともに提示されると、新たな課題に最も密接に関連している事例を自身の知識を基に見つけ、その解決法を適切な修正とともに、出力として提示する。行動ベースＡＩは、ＡＩシステムを手動で構築するモジュール方式の方法である。ニューラルネットワークは、非常に強力なパターン認識機能を有する訓練可能なシステムである。
【００３８】
ファジーシステムは、不確実性下の推論技術を提供し、現代の産業および消費者製品制御システムで幅広く利用されている。進化的計算法では、人口、変異、および、最も適したものの生き残りといった生物学に触発されたコンセプトを利用して、課題に益々適した解決法が生成されてゆく。これら方法は、最も顕著には、進化アルゴリズム（例えば遺伝的アルゴリズム）および群知識（蟻アルゴリズム）に分けられる。ハイブリッド知的システムは、上述のものの任意の組み合わせである。ＡＩ等の他のアルゴリズムを利用することもできる。
【００３９】
下記のプロバイダに関連してノード間で交換される金融データの安全性を保護しながらこのような分散を可能とするべく、且つ、成功するパターンの整合性を保つべく、いかなるノードも、ｉ）トレンド／パターン計算全体またはその一部を提起しているか、および、ｉｉ）ノードの計算の結果が、システムの金融取引方針に関する決定、該取引方針上での実行に活用されるか、を知らせられない。
【００４０】
アルゴリズムの処理は、取引オーダの実行から切り離される。取引オーダの取引および実行に関する決定は、インフラストラクチャがクライアント‐サーバまたはピア‐ツー‐ピアの格子演算モデルとして組織化されるか否かに応じて、１または複数の中央サーバまたは終端サーバにより行われる。取引に関する決定は、プロバイダのノードでは行われない。プロバイダは、ここではノード所有者またはノードとも称されるが、以下に詳述するように、本発明の分散型ネットワークに参加することに同意し、１以上のＣＰＵを所有、維持、運営、管理、または制御する個人、会社、または組織のことである。プロバイダは、故に下請け企業として扱われ、法的または金銭的にいかなる取引の責任も負わない。
【００４１】
本発明におけるプロバイダは、ここでは、合意条件を統括するプロバイダライセンス契約（ＰＬＡ）と称される書類に署名することで、自身のＣＰＵの処理能力およびメモリ容量をリースし、利用可能とする。ＰＬＡは、本発明により各プロバイダが自身のＣＰＵを共有させることに同意する最低限の要件を規定し、秘密保持および責任に関する事項を規定する。ＰＬＡは、関連プロバイダがエンドユーザではなく、自身のＣＰＵの演算処理の結果から利益を得ないことを規定している。ＰＬＡはさらに、自身の演算インフラストラクチャをリースする際に報酬を受け取るために満たすべき条件を規定している。
【００４２】
プロバイダは、自身のＣＰＵ能力およびメモリ容量を本発明のネットワークシステムに対してアクセス可能とさせることで、対価を受ける。対価は、定期的（月ごと）または不定期的に支払われてよく、各期間で同じ額であっても、期間ごとに異なった額であってもよく、（利用可能性を決定する）ピン機構により計測されうる最小のコンピュータ利用可能性／利用率の閾値に関していてよく、または、（利用率を決定するべく）利用されるＣＰＵサイクルで、または、ＣＰＵ動作の他の可能性ある指標で計算されてよい。一実施形態では、利用可能性／利用率の閾値に達しない場合に、対価を支払わないこともある。これにより、（ｉ）プロバイダに対して定期的に利用可能なＣＰＵに対してライブでブロードバンド接続を維持する動機付けを与え、（ｉｉ）プロバイダが自身の利用可能なＣＰＵの能力を他のタスクに利用させない動機付けを与える。さらに、対価は、ＣＰＵ一台について支払われることで、プロバイダに対して、本発明に利用可能なＣＰＵの数を増やさせる動機付けを与えることができる。ＣＰＵファームを本発明に対して提供したプロバイダに対してはさらにボーナスを与えてもよい。他の金銭ではない形の対価または動機付けスキームは、単独で利用することもできるが、金銭ベースの対価スキームと組み合わせて利用することもでき、これについては後述する。
【００４３】
プロバイダは、本発明のネットワークシステムに登録および参加すると、自身のＣＰＵ型および特性に適しており、自動インストールするよう、または、プロバイダによりインストールされるよう構成されたクライアントソフトウェアをダウンロードする。クライアントソフトウェアは、スクリーンセーバ等のサービスの簡単な視覚表示を提供する。この表示は、プロバイダに対して、各期間に稼げる金額を示す。この表示は例えば、金銭登録機に小銭が入るような形態をとってもよい。これにより、本発明のネットワークシステムに参加することで享受される利益を視覚的に示す効果が高まる。クライアントソフトウェアは背景で運用されるので、コンピュータでは認知される効果が感じられない。
【００４４】
クライアントソフトウェアは、関連プロバイダのインタラクティブな体験を高めるよう定期的に更新されてよい。これを達成するべく、一実施形態では、「クラウドソーシング」知識モジュールをクライアントソフトウェアに配置して、個人に対して、例えばマーケット予測させたり、本発明の学習アルゴリズムの１以上の側面である全体像を活用（to leverage aggregate perspectives）させたりする。
【００４５】
よりインタラクティブな体験を発展させる一貫として、プロバイダは自身のＣＰＵに分析させたい資産（ファンド、商品、株式、通貨等）を選択する機会を与えられてもよい。このような選択は、プロバイダに提出される資産のリストまたはポートフォリオから無料（on a free basis）で行うことができるようにしてよい。
【００４６】
一実施形態では、スクリーンセーバ／インタラクティブなクライアントソフトウェアを定期的に１以上の資産についてのニュース（会社報、株価チャート等）で更新する。プロバイダに対するこのような提示の「好感度を与える」効果は、特に経験豊富な投資家ではない人々には重要である。本発明をダウンロードして、例えば関心のある株式を幾らか選択することで、プロバイダは、金融界に関与している気分を味わうことができる。本発明の高度に見える金融スクリーンセーバは、金融に携わっているという印象（本発明のウィルスマーケティングコンセプトを高める役割を果たす「ハロー」効果）を高めるよう設計されている。
【００４７】
プロバイダは、本発明により金銭を得、得られる報償に満足し始めると、友人、同僚、家族等に対して、コンピュータインフラストラクチャに対する現在の投資から元をとるまたは報奨を受ける機会があることについて知らせるようになる。これにより、サービスに対して貢献するノードの数は恒常的に増え続けることとなり、この結果、より高い処理能力およびより高い業績を達成することができる。業績が高いほど、リクルートに費やせる資源が増え、より多くのプロバイダの加入に繋がる。
【００４８】
幾らかの実施形態では、以下に示すように、本発明の会員加入速度およびウィルスマーケティングの側面を高めるような動機付けを与える。例えば、一実施形態では、既存のプロバイダが新たなプロバイダを紹介した際に紹介料を支払う紹介システムを設けることもできる。プロバイダはさらに、周期的なくじ引きメカニズムに参加する権利を与えられ、任意の期間中にＣＰＵ容量の最小閾値にあたる量を提供した各プロバイダに対して抽選型のくじ引きに参加させるようにしてもよい。抽選の当選者には、例えばボーナス金、その他の形態の報酬を与えられる。他の形態の報酬には、例えば、（ｉ）アルゴリズム性能を追跡して、成功したノード（任意の期間内に最も利益を上げたアルゴリズムを構築したと判断されるノードのこと）を持つので成功したアルゴリズムを有するプロバイダに対して、報酬を与えること、（ｉｉ）成功したアルゴリズムのサブセットを追跡して、これらサブセットそれぞれをＩＤでタグ付けして、成功したノードを特定し、コンピュータ生成アルゴリズムサブセットのＩＤがその成功したアルゴリズムに見つかる全てのプロバイダに対して報酬を与えること、および、（ｉｉｉ）任意の期間において最高の利用可能性を提供したＣＰＵ（１または複数）を追跡して報酬を与えること、が含まれる。
【００４９】
幾らかの実施形態では、個人プロバイダが他の人とともに加入した場合、あるいは、他の人に「プロバイダチーム」を形成する勧誘をして、ボーナス報奨金を勝ち得る可能性を高めた場合、奨励金を与える。他の実施形態では、「クラウドソーシング」知識から正しいまたは最良のものを予測したことに対してボーナスを与えるといったゲームプランをボーナスの基礎として利用してもよい。
【００５０】
幾らかの実施形態では、口座および金銭処理に纏わるロジスティックを最小限に抑えるべく、ウィルス預金口座を各プロバイダに提供する。各口座は、定期的に入金され（例えば毎月等）、上述のようにプロバイダに対して報酬金が支払われる。いかなる預金口座への入金も、プロバイダが自身の物理的な銀行への銀行振替を要求するまでは実際の金銭流出がないような、記帳された費用であってよい。
【００５１】
プロバイダは、他の様々な方法で自身のＣＰＵの共有利用について報酬を与えられてよい。例えば、プロバイダは、金銭の代わりに取引に関する助言（trading tip）を提供されてもよい。取引に関する助言には、特定の株式の、または、他の資産の売買を促すものを含む。取引助言を提供することについての現行の法律により、取引に関する助言は、例えば、無作為に与えられても、本発明を利用する実体が取引していない、または、取引するつもりのない資産のリストから与えられてもよい。このような取引に関する助言は、さらには、プロバイダがグループとしてあるいは個人的に所有している資産に対して提供されてもよいし、上述したように関心を示した資産に対して提供されてもよい。幾らかの実施形態では、維持費は、プロバイダの口座に関する処理について支払いが可能なようにプロバイダの口座に対して請求される。
【００５２】
プロバイダのＣＰＵ上にクライアントソフトウェアがあることにより、マーケティング業者および広告業者に対して宣伝する機会を与える。高度に対象を絞られた宣伝は、プロバイダの関心のある分野について知ることにより可能となる（例えば、資産タイプ、特定の会社、ファンド等）。加えて、ＣＰＵクライアントは、例えばニュースのブロードキャスト、ニュース速報、ＲＳＳ提供、ティッカーテープ、フォーラムおよびチャット、ビデオ等）のメッセージおよび媒体配信の機会を提供してもよい。全てのこれらサービスは、料金を支払うことにより利用可能であってよく、プロバイダの口座から直接差し引かれてよい。スクリーンセーバの代わりに利用され、背景で実行される関連ルーチンを含むインタラクティブなフロントエンドのアプリケーションにより、この機能が提供される。
【００５３】
取引信号は、プロバイダおよび非プロバイダに対して、現行の法律および規制によって、個人ベースまたは組織ベースで売られてよい。取引信号は、本発明により実行されるトレンドおよび分析処理により生成される。クライアントソフトウェアは、最適な方法でこのような信号を配信するようにカスタマイズされてよい。サービス料金は、プロバイダの口座に対して自動的に請求されてよい。例えば、プロバイダは、月額ベースで支払う契約の場合には、毎月所定の数の株式に関する情報を受け取ってよい。
【００５４】
幾らかのＡＰＩ、アプリケーションプログラミングインタフェースコンポーネントおよびツールが、第三者のマーケットへの参加者（例えばミューチュアルファンドまたはヘッジファンドのマネージャ）に対して提供されて、本発明が提供する多くの利益を享受することができる。第三者の参加者は、例えば、（ｉ）本発明が提供する取引モデルで取引すること、（ｉｉ）本発明が提供するソフトウェア、ハードウェア、および処理インフラストラクチャを利用して自身の取引モデルを構築して、他の金融機関との間でこれらモデルを共有したり、他の金融機関に対してこれらモデルを売却したりすることができる。例えば、投資銀行は、Ｚ時間の間、本発明を利用する実体から、例えば石油の将来に関する最新のトレンドおよび取引パターンを判断するべくＷドルで、Ｘ百万の演算サイクルおよびＹ個のプログラミングルーチン一式（ＡＩベースの実行可能ソフトウェア）をリースしたとする。このように、本発明は、固有の強力なトレンド／パターン分析アーキテクチャを活用する包括的な取引方針決定ツールおよび実行プラットフォームを提供する。
【００５５】
プロバイダの口座は、さらに、１以上のオンライン証券会社との間で口座を開設するための取引口座または資金源として利用することもできる。紹介料はこのようにして、顧客の既知のベースを提供することによる見返りとして、オンライン証券会社から収集することができる。本発明のインフラストラクチャ（ハードウェア、ソフトウェア）ＡＰＩおよびツール等は、さらに、遺伝学、化学工学、経済学、シナリオ分析、顧客行動分析、気象分析、防衛および諜報分野といった他の分野における同様に複雑なコンピュータタスクを解決する目的に拡張されてもよい。
＜クライアント‐サーバ構成＞
【００５６】
本発明の一実施形態によるネットワークは、少なくとも５個の要素を含み、そのうち３つの要素は（以下に示すｉ、ｉｉ、およびｉｉｉ）、本発明の様々な実施形態によるソフトウェアを実行する。これら５つの要素には、（ｉ）中央サーバインフラストラクチャ、（ｉｉ）オペレーティングコンソール、（ｉｉｉ）ネットワークノード（または）ノード、（ｉｖ）実行プラットフォーム（その一部は通常プライムブローカーに属する）、および（ｉｖ）通常はプライムブローカーまたは金融情報供給会社に属するデータ供給サーバが含まれる。
【００５７】
図３を参照すると、ＣＳＩ２００は、１以上のコンピュータサーバを含む。ＣＳＩ２００は、ノードの処理動作の統括者として、および、その管理者として機能するよう構成される。ＣＳＩ２００のこの「管制塔」的な役割は、どのノードが演算を行い、どの順序で行い、懸案になっている様々な課題およびデータのうちのどの種類の課題およびデータに対して演算を行うかといった演算処理の管理的な側面といった両面からの理解可能である。ＣＳＩ２００の処理はさらに、ノードが演算を要求される演算課題のフォーマッティング、特定の性能閾値と比したノードの演算結果の評価、および、結果が適切であるとされた場合に処理の続行中止を判断することといった演算課題の決定および解決からの側面からも理解可能である。
【００５８】
ＣＳＩ２００は、ノードの心拍および定期的な要求をリッスンして、ネットワークの演算利用可能性を理解し管理するログサーバ（不図示）を含んでよい。ＣＳＩ２００はさらに、データフィード１０２、１０４、および１０６、および、他の外部情報源にアクセスして、関連情報（つまり、現在の課題を解決するのに必要な情報）を取得してよい。課題およびデータのパッケージングがＣＳＩ２００で行われてよい。しかし、ノードは、法的および実際上可能な限りにおいて、自身の情報収集用に構成されてもいるが、これについては後述する。
【００５９】
本実施形態のＣＳＩ２００は単一のブロックとして、且つ、単一の機能的実体として示されているが、幾らかの実施形態のＣＳＩ２００は分散型のプロセッサであってよい。ＣＳＩ２００はさらに、階層的、連合型のトポロジーの一部であってよく、ここではＣＳＩは実際にはノードになりすまして（以下を参照）、クライアントとして親のＣＳＩに接続することができる。
【００６０】
幾らかの実施形態によると、例えば遺伝的アルゴリズムを利用する際、ＣＳＩは、段階的システムとして構成され、さらに連合型のクライアント‐サーバアーキテクチャと称される。これらの実施形態では、ＣＳＩは、遺伝的アルゴリズムが達成する殆どの結果を維持する。幾らかのノードを含む第２のコンポーネントは、遺伝的アルゴリズムを処理して、以下で詳述する「遺伝子」を生成するタスクを割り当てられる。第３のコンポーネントは遺伝子を評価する。これを達成する目的から、第３のコンポーネントは、第２の段階から形成され訓練された遺伝子を受け取り、解決法空間の部分においてそれらを評価する。これら評価を第２の段階で統合して、この特定の時点において、ＣＳＩに維持される遺伝子が達成する最小性能レベルが何であるかにより閾値一式に対して計測を行う。閾値とよく似た遺伝子（またはその一部）は、システムの第３の段階でＣＳＩに提出される。この実施形態では、以下のアクション１２で示すようにＣＳＩが評価を行わなくてよく、システムのより効率的な動作が可能となる。
【００６１】
本発明による段階的なシステムに関しては幾つもの利点がある。第一に、クライアントサーバ通信の拡張性が向上する、というのは、複数の仲介サーバがあるので、ノード数を増やすことができるからである。第二に、これら結果をメインサーバに転送する前に、連合型のサーバにおいて結果を異なるレベルでフィルタリングすることで、中央サーバへの負荷を減らすことができることである。つまり、ノード（クライアント）は、中央サーバと通信する自身のローカルサーバと通信するので、中央サーバに対する負荷が低減されるのである。第三に、任意のタスクをネットワークの特定のセグメントに分配することができる。この結果、現在のタスクに対して割り当てる処理能力を制御するべくネットワークの選択された部分を特化することができる。これらの実施形態では任意の数の段階を利用することができる。
＜オペレーティングコンソール＞
【００６２】
オペレーティングコンソールは、システムとインタラクトする人間のオペレータに必要な人間‐機械のインタフェースコンポーネントである。オペレーティングコンソール２２０を利用することで、人間のオペレータは、アルゴリズムによる解決を望む特定の課題の決定要素を入力することができ、利用を望むアルゴリズムの種別を選択することができ、または、アルゴリズムの組み合わせを選択することができる。オペレータは、ネットワークの大きさを調節することができる（特に、任意の処理タスクに対して確保しておきたいノード数を調節することができる）。オペレータは、アルゴリズムの目的および性能閾値を入力することができる。オペレータは、任意の時点において処理の結果を視覚化し、これら結果を幾らかのツールを利用して分析して、この結果生じる取引方針をフォーマッティングして、取引シミュレーションを実行することができる。コンソールはさらに、ネットワークの負荷、故障、およびフェイルオーバの発生を追跡する監視的な役割を果たす。コンソールはさらに、任意の時点で利用可能な容量についての情報を提供し、ネットワークの故障、過負荷または速度上の問題、安全性の問題について警告を出し、過去の処理ジョブの履歴を取る。オペレーティングコンソール２ｓ０は、実行プラットフォーム３００とインタフェースして、取引方針を実行する。取引方針のフォーマッティングおよびその実行は、人による介入無しに自動で行われる、または、人による点検承認処理により動作を制御される。オペレーティングコンソールは、人間のオペレータに、上述のうちいずれかを選ばせる。
＜ネットワークノード＞
【００６３】
ネットワークノード、またはノードは、現在の課題を演算する。５つのこのようなノード（つまり、ノード１、２、３、４、および５）を図１に示す。ノードは、ＣＳＩ２００に自身の処理結果を戻す。この結果は、一部または全体であってよい進化アルゴリズム（１または複数）、および、該アルゴリズムの動作状況を示すデータであってよい。ノードは、現行の法律で許可され、現実的である場合に、さらにデータフィード１０２、１０４、１０６、および他の外部情報源にアクセスして、解決を要求されている課題に関連する情報を取得することができる。システムの高度な段階では、進化したノードは、インタラクティブ体験の形式でプロバイダにフィードバックを行うさらなる機能を提供することにより、プロバイダが関心のある資産、金融トレンドに関する意見等を入力することを可能とする。
＜実行プラットフォーム＞
【００６４】
通常、実行プラットフォームは第三者が運営するコンポーネントである。実行プラットフォーム３００は、オペレーティングコンソール２２０から送られた取引方針を受け取り、例えばニューヨーク証券取引所、ナスダック、シカゴマーカンタイル取引所等の金融マーケットに関して要求された処理を実行する。実行プラットフォームは、オペレーティングコンソール２２０から受け取った命令を、取引オーダに変換して、これら取引オーダのステータスに関して任意の時点において助言して、取引オーダが実行されると、オペレーティングコンソール２２０およびその他の「バックオフィス」システムに報告する（取引の価格、大きさ、オーダに適用されるその他の制約または条件等の取引オーダの詳細を含む）。
＜データ供給サーバ＞
【００６５】
データ供給サーバは、通常、システムの第三者が運営するコンポーネントでもある。データ供給サーバ１０２、１０４、１０６等のデータ供給サーバは、リアルタイム且つ過去の金融データを幅広い範囲の取引資産（例えば、株式、債券、商品、通貨、および、選択売買権、先物契約等のそれらのデリバティブ等）に提供する。これらは直接ＣＳＩ２００とインタフェースされる、または、ノードとインタフェースされてよい。データ供給サーバは、さらに、アルゴリズムにより自身の処理の「条件」または「見通し（perspective）」として利用されうる金融指標（ＭＡＣＤ、ボリンジャーバンド、ＡＤＸ，ＲＳＩ等）等のある範囲の技術分析ツールへのアクセスを提供する。適切なＡＰＩを利用することにより、データ供給サーバは、アルゴリズムに技術分析ツールのパラメータを変更させて、条件および見通しの範囲を広げさせることができるので、アルゴリズムの検索空間を大きくすることができる。このような技術指標は、さらに、システムによりデータ供給サーバを介して受信された金融情報に基づいて計算することもできる。データ供給サーバはさらに、非構造化または定性的情報を含み、アルゴリズムがこれら情報を利用することで、システムは自身の検索空間で、構造化データおよび非構造化データを考慮に入れることができる。
＜クライアント‐サーバ構成‐データおよび処理フロー＞
【００６６】
以下は、本発明の１つの例示的な実施形態によるデータおよび処理フローの一例である。以下に示す様々なアクションは、図２を参照して示されている。矢印とそれに関するアクションは、同じ参照番号で識別される。
＜アクション１＞
【００６７】
人間のオペレータが、オペレーティングコンソールを用いて、課題空間および該課題空間を解決する１以上のアルゴリズムを選択する。オペレータは、オペレーティングコンソール２２０を用いて、ＣＳＩ２００のアクション１に関する以下のパラメータを供給する。
【００６８】
＜目的＞
目的は、処理から生じることが予期される取引方針の種別を定義して、適宜、アルゴリズムの性能の閾値を設定することである。一例を以下に示す。取引方針は、特定のインストラメント（株式、商品、通貨、指標、選択売買権、先物契約、それらの組み合わせ等）を「買い」「売り」「空売り（sell short）」、「売り決済（buy to cover）」「持ち（hold）」するべく発行されてよい。取引方針は、てこ入れ（leverage）を可能とする。取引方針は、取引されるインストラメントについて合意された量を含んでよい。取引方針は、金融上のインストラメントを夜間保持することを可能としてよく、その位置づけが日中の特定の時刻に自動的に清算されることを要求するようなものであってよい。
【００６９】
＜検索空間＞
検索空間は、アルゴリズムで許可されている条件または見通しを定義する。例えば、条件または見通しには、（ａ）金融上のインストラメント（株式、商品、先物契約等）、（ｂ）「ティック」（特定の時点におけるインストラメントのマーケット価格）、取引量、かつ株式の場合には空売り総額、先物契約の場合には建玉等の特定のインストラメントについての未加工のマーケットデータ、（ｃ）Ｓ＆Ｐ５００株価指数データ、部門別のＮＹＳＥ金融株指数等の株価指数（部門特定の指標）等の一般マーケットデータ等が含まれる。さらには、（ｄ）「テクニカル指標」等の未加工のマーケットデータのデリバティブ（数学的変換）を含めてもよい。２００８年６月４日付のウィキペディアの「テクニカル分析」によると、一般的なテクニカル指標には以下が含まれる。
・「蓄積／分配指標」とは、その日の範囲の大引け（close）に基づく
・「平均レンジ幅（ＡＴＲ）」とは、その日の取引範囲の平均である。
・「ボリンジャーバンド」とは、価格の乱高下（volatility）の範囲のことである。
・「ブレイクアウト」とは、価格が上下の抵抗線（support or resistance）を突き抜けた状態で維持されること。
・「商品チャネル指標」とは、周期的なトレンドを特定する。
・「コポック」とは、エドウィン・コポック氏が、上げ相場の開始を特定することを唯一の目的として作成したコポック指標のことである。
・「エリオット波動理論」および「ゴールデンレシオ（golden ratio）」とは、連続した価格変動および綾戻しを計算するために利用される。
・「ヒッカケパターン（Hikkake Pattern）」とは、反転および継続を特定するパターンである。
・「ＭＡＣＤ」とは、移動平均収束分岐のことである。
・「モメンタム」とは、価格の変動率である。
・「マネーフロー」とは、価格が上がった日に取引された株式の量である。
・「移動平均」とは、価格行動の遅れである。
・「オンバランスボリューム」とは、株式の売り買いのモメンタムのことである。
・「ＰＡＣチャート」とは、量を価格レベルでチャートにする二次元法のことである。
・「パラボリックＳＡＲ」とは、トレンドの強い間に放物線内に留まる傾向のある価格に基づくワイルダー氏の提唱したトレーリングストップである。
・「ピボットポイント」とは、特定の通貨または株式の高値、低値、および終値の平均数値を計算することで得られる。
・「ポイントアンドフィギュアチャート」とは、時間に関わらない価格に基づくチャートである。
・「収益性」とは、異なる取引システム間またはあるシステム内の異なる投資間で性能を比較する際の基準である。
・「ＢＰＶレーティング」とは、量および価格両方を利用して反転を特定するためのパターンである。
・「ＲＳＩ（相対力指数）」とは、価格の強さを示すオシレーターである。
・「抵抗(resistance)」とは、売り（selling）が増えた領域のことである。
・「Ｒａｈｕｌ  Ｍｏｈｉｎｄａｒオシレーター」とは、指標を特定するトレンドのことである。
・「ストキャスティックオシレーター」とは、最新のトレーディング範囲内の閉位置（close position）のことである。
・「サポート（support）」とは、買いが増えた領域のことである。
・「トレンドライン」とは、サポートまたは抵抗の勾配線のことである。
・「トリックス（Trix）」とは、三度平滑化された（triple-smoothed）指数移動平均の勾配を示すオシレーターのことであり、１９８０年代にジャック・ハットソン氏により考案された。
【００７０】
条件または見通しは、さらに、（ｅ）基本分析指標を含んでよい。この種類の指標は、インストラメントが関連する組織（例えば企業の収益率またはギアリング率）、（ｆ）マーケットニュース、部門ニュース、収益公開等の定性的データに関している。これらは通常、アルゴリズムにより可読となるには、前処理および組織化が必要な非構造化データである。条件または見通しはさらに、（ｇ）アルゴリズムの現在の取引状況についての認識（例えば、アルゴリズムが特定のインストラメントに対して「長期的」あるいは「短期的」であるかの認識）および現在の利益損失状況を含んでよい。
【００７１】
＜調節可能なアルゴリズム＞
調節可能なアルゴリズムは、規則毎の最大許容可能な規則または条件／見通し等の特定の設定を定義する。例えば、１つのアルゴリズムは、５つの「買い」規則および５つの「売り」規則を有することが許されていてよい。これら規則各々は、１０つの条件を有することが許されていてよい（例えば、５つの株式に特定のテクニカル指標、３つの株式に特定の「ティック」データポイント、および２つの一般的なマーケット指標）。
【００７２】
＜ガイダンス＞
ガイダンスは、アルゴリズムを検索空間のセクションへと導きより良い性能をより速く達成するための、既存の、または既に学習された条件または見通しを定義する（人為的に生成されたものであっても、前の処理サイクルから生成されたものであってもよい）。例えば、ガイダンス条件は、株式の市場価格の非常に強力な早期の高騰（early morning rise）により、阻止（interdiction）がトリガされて、アルゴリズムがその日の株式の売り持ち（short position）（ベアリッシュポジション）をとることを定めることができる。
【００７３】
＜データ要件＞
データ要件は、過去から現在までの金融データを定義しており、アルゴリズムがｉ）自身を訓練する目的から、ｉｉ）テストする目的から必要とする。データは、考案された特定のインストラメント用の、またはマーケットまたは部門用の未加工のマーケットデータを含んでよい（例えば、ティックデータ、取引量データ、テクニカル分析指標データ、基本分析指標データ、および、可読フォーマットに組織化された非構造化データであってよい）。このデータは、上で定義した「検索空間」の範囲において提供されることが必要である。「現時点」は、動的値として理解されてよく、ここではデータは継続的に更新されアルゴリズムに提供される。
【００７４】
＜適時性＞
適時性により、オペレータは、処理タスクを完了する時点を選ぶことができるようになる。これにより、ＣＳＩによるコンピュータタスクの優先順位に影響がでる。
【００７５】
＜処理能力分配＞
処理能力分配に応じて、オペレータは、特定の処理タスクを他のタスクより優先的に行うことができ、処理キューをバイパスすることができる（以下を参照のこと）。オペレーティングコンソールは、上述の情報をＣＳＩに伝送する。
【００７６】
＜取引実行＞
取引実行に応じて、オペレータは、オペレーティングコンソールが、処理動作（およびこれら取引の期間、例えば、取引にかかる量等）の結果に基づいて自動的に取引を実行するか、または、取引を実行するには人為的な決定が必要であるか否かを規定する。これら設定の全てまたは一部は、ネットワークが自身の処理を実行している間に修正可能である。
＜アクション２＞
【００７７】
このアクションには２つのシナリオが存在する。いずれの場合にも、ＣＳＩ２００は、検索空間が未所有のデータを必要とするか否かを特定する。
【００７８】
シナリオＡ：アクション１の命令をオペレーティングコンソール２００から受信後に、ＣＳＩ２００は、ノード（クライアント側）実行可能コードでアルゴリズムをフォーマッティングする。
【００７９】
シナリオＢ：ＣＳＩ２００は、クライアント側（ノード）実行可能コードではアルゴリズムをフォーマッティングしない。このシナリオでは、ノードが既にアルゴリズムコードを所有しており、これらはアクション１０で後述するように時折アップグレードされうる。コードはノード上で実行され、その結果はＣＳＩ２００により累積または選択される。
＜アクション３＞
【００８０】
ＣＳＩ２００は、１以上のデータ供給サーバに対してＡＰＩ呼び出しを行い、見当たらないデータを取得する。例えば、図２に示すように、ＣＳＩ２００は、１９９５年から１９９９年の間のジェネラルエレクトリック社株の５分間のティッカデータが見当たらないと判断すると、データ供給サーバ１０２および１０４に対してＡＰＩ呼び出しを行って情報を入手する。
＜アクション４＞
【００８１】
このアクションにより、データ供給サーバは、要求されたデータをＣＳＩにアップロードする。例えば図２に示すように、データ供給サーバ１０２および１０４は、要求された情報をＣＳＩ２００にアップロードする。
＜アクション５＞
【００８２】
データ供給サーバから要求したデータを受信すると、ＣＳＩ２００は、このデータを、実行するべきアルゴリズムと整合させて、要求した全てのデータが利用可能であることを確かめる。このデータをその後、ＣＳＩ２００に転送する。データが不完全である場合、ＣＳＩ２００は、フラグをたてて、ネットワークノードに対して、ネットワークノード自身がこのデータをフェッチすることを要求するが、これに関しては後述する。
＜アクション６＞
【００８３】
このアクションには２つのシナリオがある。第１のシナリオにおいては、ノードは定期的にＣＳＩに対して接続を確認し（ping）、自身が利用可能であることを知らせる。第２のシナリオにおいては、ノードは、ノードクライアントがクライアントマシンで実行されると、命令およびデータを要求してよい。ＣＳＩ２００は、クライアントがＣＳＩ２００に対してアクセスしたときにおいてのみクライアントを確認することができる。このシナリオでは、ＣＳＩ２００は全ての接続クライアントについての状態テーブルを維持しない。
＜アクション７＞
【００８４】
ノードの心拍信号（つまり、ノードが生成する利用可能性を示す信号）、または、第２のシナリオではそれらの命令およびデータ要求を累積することにより、ＣＳＩ２００は常に利用可能な処理容量を認識しておくことができる。さらに以下で説明するように、累積とは、各ノードに関する心拍信号の数を足し合わせる処理のことである。しかもＣＳＩ２００はオペレーティングコンソール２２０にこの情報をリアルタイムで提供する。この情報およびオペレーティングコンソールから受信した他の命令（例えばアクション１に関して上述した適時性、優先処理等）に基づいて、ＣＳＩ２００は、（ｉ）優先処理割り当てをその直後に任意の数のノードに対して強制する（つまり、クライアント処理能力をタスクの優先度に基づいて割り当てる）、あるいは、（ｉｉ）新たな処理タスクをノードの処理キューに追加し、適時性要件に基づいてキューを管理する、のいずれかを決定する。
【００８５】
後述するように、ＣＳＩは定期的且つ動的に目的に対する演算の進捗状況を評価し、タスクスケジュールマネージャにより処理キューに対して容量を整合させる。優先処理が必要な場合（アクション１参照）を除き、ＣＳＩは、処理容量利用率の最適化を、処理キューの要請を提起するべく整合および分割することによって達成しようと試みる。このアクションは図２には示されていない。
＜アクション８＞
【００８６】
アクション７で上述した利用可能なネットワークノードの数、目的／閾値、適時性要件、その他の要素に基づいて、ＣＳＩ２００は１以上の分配パッケージを形成するが、これは、その後、処理用に選択した利用可能なノードに対して配信される。分配パッケージには、例えば（ｉ）アルゴリズムの一部または全体の表現（例えばＸＭＬ表現）、遺伝子アルゴリズムの場合には遺伝子を含む、（ｉｉ）対応するデータ（部分的または全体的）（上述のアクション５参照）、（ｉｉｉ）ノードの演算処理設定および実行命令、これには、ノード特定の、または包括的な演算目的／閾値、処理タイムライン、データ供給サーバに対してノードから直接、足りないデータを要求するための呼び出しをトリガするフラグ等が含まれる。閾値パラメータは、一例では、ＣＳＩ２００に存在している中で性能が最も悪いアルゴリズムの適合度またはコア性能メトリックとして定義されてもよい。処理タイムラインには、例えば１時間または２４時間が含まれてよい。またはタイムラインは、オープンエンドであってもよい。図２では、ＣＳＩ２００はノード３および４と通信して、優先処理割り当てを行い、パッケージをこれらノード間で分配していることが分かる。
【００８７】
アクション２に示したように、ノードが既にアルゴリズムコードおよび実行命令を含んでいる場合、そのノードがＣＳＩから受信するパッケージは、通常、そのアルゴリズムを実行するのにノードが必要とするデータのみを含む。図２のノード５はアルゴリズムを含むと仮定されており、アクション８に関するデータのみを受信するべくＣＳＩ２００と通信するとして示されている。
＜アクション９＞
【００８８】
このアクションには、どの実装を選択するかによって、２つの可能なシナリオがある。第１のシナリオでは、ＣＳＩ２００は分配パッケージ（１または複数）を、処理用に選択した全てのノードに対して送る。第２のシナリオでは、ＣＳＩ２００は、ノードにより要求されると、分配パッケージ、または要求に応じたその関連部分を、該要求を送信した各ノードに対して送る。このアクションは図２には示されていない。
＜アクション１０＞
【００８９】
選択された各ノードは、ＣＳＩ２００から送られてきたパッケージのコンテンツを傍受して、要求された命令を実行する。ノードは並列計算を行い、ここでは各ノードがそのノードに対して割り当てられたタスクを解決するよう指定される。あるノードで演算にさらなるデータが必要な場合には、関連命令により、ノードはＣＳＩ２００からさらなる／異なるデータを該ノードのローカルデータベースへアップロードするようプロンプトされてよい。または、ノードが自身でデータ供給サーバにアクセスしてデータアップロード要求を発することができるよう構成することもできる。図２ではノード５は、要求されたデータをアップロードするべくデータ供給サーバ１０６と通信するとして示されている。
【００９０】
ノードは、さらなる遺伝子（遺伝的アルゴリズムを利用する際）およびデータを求めてＣＳＩに対して定期的に接続を確認してよい。ＣＳＩ２００は、自身が様々なノードに対して無作為に送信する命令／データを管理するよう構成されてよい。この結果、該当する実施形態では、ＣＳＩはどの特定のノードにも頼らない。
【００９１】
ノードのクライアントコード（クライアントにインストールされている実行可能コード）に対するアップデータも必要となる場合もある。従って、実行命令を定義するコードは、ノードのクライアントがコードの最新バージョンをダウンロードおよびインストールするよう促すことができる。ノードのクライアントは、その処理結果を定期的にノードのローカルドライブにロードして、ＣＳＩによる割り込みまたはアクシデントによる割り込みのあった場合に、ノードがそこで止まってしまった箇所を覚えておいて、そこから継続することができるようにしてよい。従って、本発明により実行される処理は、特定のノードの利用可能性に依存しないことになる。故に何らかの理由によりノードがダウンして利用不可能になった場合でも、特定のタスクを再度割り当てる必要がない。
＜アクション１１＞
【００９２】
（ｉ）アクション８で説明した特定の目的／閾値、（ｉｉ）アクション８で説明した演算に割り当てられた最大時間に達すると、または、（ｉｉｉ）ＣＳＩの要求に応じて、ノードは、ＣＳＩで実行されているＡＰＩを呼び出す。ＡＰＩに対する呼び出しは、ノードの現在の利用可能性、その現在の容量（イベント条件（ｉ）または（ｉｉ）が前には満たされていなかった場合、および／または、クライアントがさらに処理容量を持つ場合）、最後の通信からの処理履歴、関連処理結果（課題に対する最新の解決法）、およびノードのクライアントのコードに対してアップグレードが必要か否かのチェックに関するデータを含んでよい。このような通信は同期して（つまり、全てのノードが自身の結果を同時に送信する）行われても、非同期に（つまり、ノードの設定またはノードに送信される命令に応じてそれぞれ異なるノードが自身の結果を異なる時点に送信する）行われてもよい。図２では、ノード１がＡＰＩ呼び出しをＣＳＩ２００に対して行うと示されている。
＜アクション１２＞
【００９３】
１以上のノードから結果を受信すると、ＣＳＩは、その結果をｉ）当初の目的および／またはｉｉ）他のノードから得られた結果と比較する。ＣＳＩは任意の時点でノードが生成した最良の解決法のリストを維持する。遺伝的アルゴリズムの場合には、最良の解決法は、例えば、上位１，０００個の遺伝子であってよく、これは、性能順にランク付けされるので、ノードが自身の処理を継続する中で越えるべき最小閾値を設定することができる。アクション１２は図２には示されていない。
＜アクション１３＞
【００９４】
アクション１１で記載したように、あるノードがＣＳＩ２００とコンタクトをとると、ＣＳＩ２００は、そのノードに対して指示を戻して、例えば新たなデータのアップロード、自身のアップグレード（クライアント実行可能コードの最新バージョンのダウンロードおよびインストール）、シャットダウン等を行わせてよい。ＣＳＩは、さらに、分配パッケージのコンテンツを動的に進化させるよう構成されていてもよい。このような進化は、（ｉ）アルゴリズム、（ｉｉ）アルゴリズムの訓練または実行用に選択されたデータセット、または、（ｉｉｉ）ノードの演算処理設定に関して実行可能である。アルゴリズムの進化は、ノードの処理の結果である向上点を組み込むことにより、または、アルゴリズムがその中で動作する検索空間のサイズを拡張することにより行うことができる。ＣＳＩ２００は、アクション４で上述したようにクライアント実行可能コードでノードをシードする。この結果、新たな、向上したアルゴリズムを進化により得ることができる。
＜アクション１４＞
【００９５】
上述のアクションに纏わる処理は、以下の条件のいずれかが満たされるまで継続して繰り返される。条件とは、ｉ）目的が達成された、ｉｉ）処理タスクが完了すべき時間に達した（上述のアクション２参照のこと）、ｉｉｉ）優先タスクがスケジューリングされ、割り込み処理中となった、ｉｖ）ＣＳＩのタスクスケジュールマネージャが、処理キューの管理の優先順位を変えた（上述のアクション７参照）、または、ｖ）人間のオペレータが演算を中断または中止した、である。
【００９６】
上述したｉｉｉ）またはｉｖ）に場合のようにタスクが中断されると、アルゴリズムの状態、データセット、結果の履歴、およびノード処理設定をＣＳＩ２００にキャッシュしておいて、次に処理能力が回復したときにそのタスクを再開できるようにする。処理終了を知らせる信号は、ＣＳＩ２００によって、ＣＳＩ２００とコンタクトしたノード全てに対して送られる。任意の時点において、ＣＳＩ２００は、ノードのコンタクト要求を無視する、ノードをシャットダウンする、ノードに対して手元のジョブ完了を通知する信号を送信する、等の選択を行うことができる。
＜アクション１５＞
【００９７】
ＣＳＩ２００は、オペレーティングコンソール２２０へのタスク処理の実行状況に関する助言を、（ｉ）定期的に、（ｉｉ）オペレーティングコンソール２２０の要請に応じて、（ｉｉｉ）処理の完了時に（例えば、処理タスクの目的に達したら）、または、（ｉｖ）処理タスクが完了すべき時に達したら、行ってよい。各ステータスの更新時、または処理の完了時に、ＣＳＩ２００は、ステータスの更新または完了時の、所謂「最良のアルゴリズム」と称されるものを提供する。最良のアルゴリズムとは、ノードおよびＣＳＩ２００による処理の結果、および、ネットワークが行った結果および進化処理に対して行われる比較分析の結果である。
＜アクション１６＞
【００９８】
最良のアルゴリズム（１または複数）による取引方針（１または複数）に基づいて取引を行うか行わないかの決定を行う。この決定は、そのタスクに対して選択されている設定に応じて（アクション１参照）、オペレーティングコンソール２２０により自動に行われても、オペレータによる承認の下で行われてもよい。このアクションは図２には示されていない。
＜アクション１７＞
【００９９】
オペレーティングコンソール２２０は、取引オーダをフォーマッティングして、実行プラットフォームのＡＰＩフォーマットに合致させる。取引オーダは通常、（ｉ）インストラメント、（ｉｉ）インストラメントの取引額面金額量、（ｉｉｉ）オーダが指値注文または成行注文のいずれかであるかの判断、（ｉｖ）選択された最良のアルゴリズムの取引方針により、売り、買い、または売り決済、または空売りのいずれかの決定を含む。このアクションは図２には示されていない。
＜アクション１８＞
【０１００】
オペレーティングコンソールが、実行プラットフォーム３００に対して取引オーダを送る。
＜アクション１９＞
【０１０１】
実行プラットフォーム３００において、金融マーケットでの取引を実行する。
【０１０２】
図３はクライアント３００およびサーバ３５０に設けられる幾らかのコンポーネント／モジュールを示す。図示のように、各クライアントは、クライアントが最初に無作為に作成した遺伝子全てのプール３０２を含む。無作為に作成された遺伝子は、評価モジュール３０４を用いて評価される。評価は、プールの全ての遺伝子に対して行われる。各遺伝子は、多くの日数間（例えば１００日間）かけて無作為に選択された複数の株式または株価指数に対して実行される。評価は、プールの全ての遺伝子に対して行われる。全ての遺伝子に対する評価が終了すると、最良の実績をあげた（上位５％）の遺伝子を選択して、エリートプール３０６に配置する。
【０１０３】
エリートプールの遺伝子は再生を許可される。これを行うべく、遺伝子再生モジュール３０８は、例えば親の遺伝子の作成に利用された規則を組み合わせることにより、２以上の遺伝子を無作為に選択して組み合わせる。その後、プール３０２に、新たに作成された遺伝子（子の遺伝子）と、すでにエリートプールに存在していた遺伝子を再配置する。古い遺伝子プールは破棄する。プール３０２の新たな遺伝子群には、引き続き上述の評価を行う。
【０１０４】
遺伝子選択モジュール３１０は、要請に応じて、より良い、より適合度の高い遺伝子をサーバ３５０に供給するよう構成される。例えば、サーバ３５０は、「私の最も悪い遺伝子はＸですが、あなたはこれよりも業績のよい遺伝子をお持ちですか？」等の質問を遺伝子選択モジュール３１０へ送ることができる。遺伝子選択モジュール３１０は、「私はこれらより良い遺伝子を１０個を持っています」等の応答を返して、これら遺伝子をサーバへ送る準備をすることができる。
【０１０５】
新たな遺伝子がサーバ３５０に受け入れられるためには、その遺伝子は、サーバに設けられている不正検出モジュール３５２による不正検出処理を受ける必要がある。貢献／総計モジュール３５４は、この貢献を総計するべく、各クライアントからの貢献を記録するよう構成される。クライアントの中でも有効度が異なる。クライアントのなかには他のクライアントよりもずっと高速のマシン上で実行されているものがある。クライアントデータベース３５６は、貢献／総計モジュール３５４により、各クライアントが貢献した処理能力で更新される。
【０１０６】
遺伝子受け入れモジュール３６０は、クライアントから到着する遺伝子が、サーバプール３５８に既存の遺伝子より優れていることを確認してから、サーバプール３５８へ追加する。遺伝子受け入れモジュール３６０は、受け入れた遺伝子各々にＩＤをつけて、受け入れた遺伝子をサーバプール３５８へ追加する前にハウスクリーニング処理を行う。
【０１０７】
図４は、図１の各処理デバイスに配置される様々なコンポーネントを示す。各処理デバイスは、バスサブシステム４０４を介して複数の周辺デバイスと通信する少なくとも１つのプロセッサ４０２を含むとして示されている。これら周辺デバイスは、一部にメモリサブシステム４０８およびファイル格納サブシステム４１０を含む格納サブシステム４０６と、ユーザインタフェース入力デバイス４１２と、ユーザインタフェース出力デバイス４１４と、およびネットワークインタフェースサブシステム４１６とを含んでよい。入出力デバイスは、データ処理システム４０２との間のユーザインタラクションを可能とする。
【０１０８】
ネットワークインタフェースサブシステム４１６は、他のコンピュータシステム、ネットワーク、及び格納資源４０４をインタフェースする。ネットワークは、インターネット、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線ネットワーク、イントラネット、プライベートネットワーク、パブリックネットワーク、公衆回線ネットワーク、または任意の他の適切な通信ネットワークを含んでよい。ネットワークインタフェースサブシステム４１６は、他のソースからデータを受信して、処理デバイスから他のソースへデータを送信するインタフェースとして機能する。ネットワークインタフェースサブシステム４１６の実施形態には、イーサネット（登録商標）カード、モデム（電話、衛星、ケーブル、ＩＳＤＮ等）、（非同期）デジタル加入者線（ＤＳＬ）ユニット等が含まれる。
【０１０９】
ユーザインタフェース入力デバイス４１２は、キーボード、マウス等のポインティングデバイス、トラックボール、タッチパッド、またはグラフィックタブレット、スキャナ、バーコードスキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム等のオーディオ入力デバイス、マイクロフォン、およびその他の種類の入力デバイスを含んでよい。一般的には、入力デバイスという用語は、処理デバイスに情報を入力する全ての種類のデバイスおよび方法を含むことが意図されている。
【０１１０】
ユーザインタフェース出力デバイス４１４は、表示サブシステム、プリンタ、ファックス機、またはオーディオ出力デバイス等の非視覚ディスプレイを含んでよい。表示サブシステムは、ブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）等のフラットパネルデバイス、またはプロジェクションデバイスであってよい。一般的には、出力デバイスという用語は、処理デバイスから情報を出力する全ての種類のデバイスおよび方法を含むことが意図されている。格納サブシステム４０６は、本発明の実施形態による機能を提供する基礎プログラミングおよびデータ構成を格納するよう構成されてよい。例えば、本発明の一実施形態では、本発明の機能を実装するソフトウェアモジュールが格納サブシステム２０６に格納されていてよい。これらソフトウェアモジュールは、プロセッサ（１または複数）４０２により実行されてよい。格納サブシステム４０６は、さらに、本発明により利用されるデータを格納するリポジトリを提供してもよい。格納サブシステム４０６は例えば、メモリサブシステム４０８およびファイル／ディスク格納サブシステム４１０を含んでよい。
【０１１１】
メモリサブシステム４０８は、プログラム実行中の命令およびデータ格納用のメイン無作為アクセスメモリ（ＲＡＭ）４１８、および、固定命令を格納する読み出し専用メモリ（ＲＯＭ）４２０を含む複数のメモリを含むことができる。ファイル格納サブシステム４１０は、プログラムおよびデータファイルの永続的な（不揮発性）格納装置を提供し、ハードディスクドライブ、関連する着脱可能な媒体を含むフロッピー（登録商標）ディスクドライブ、ＣＤ−ＲＯＭドライブ、光学ドライブ、着脱可能媒体カートリッジ、およびその他の同様の格納媒体を含むことができる。
【０１１２】
バスサブシステム４０４は、処理デバイスの様々なコンポーネントおよびサブシステム間の通信を可能とするメカニズムを提供する。バスサブシステム４０４は、単一のバスとして概略表示されているが、バスサブシステムの他の実施形態では多数のバスが使用されてもよい。
【０１１３】
処理デバイスは、パソコン、携帯コンピュータ、ワークステーション、ネットワークコンピュータ、メインフレーム、キオスク、または任意の他のデータ処理システム等の様々な種類であってよい。図４に示す処理デバイスの説明は、一例であり、多くの他の構成におけるコンポーネント数は、図２に示したシステムのものより多くても少なくてもよい。
【０１１４】
本発明に関して上述した実施形態は、例示を目的としており限定は意図していない。様々な代替例および均等物が可能である。本開示に鑑みれば他の追加、省略、または変形例も自明であり、これらも添付請求項の範囲に含まれる。
【図１】
0005466163.tif 000003
【図２】
0005466163.tif 000004
【図３】
0005466163.tif 000005
【図４】
0005466163.tif 000006