KR20100123817A - 복잡한 알고리즘들을 수행하기 위한 분산 네트워크 - Google Patents

복잡한 알고리즘들을 수행하기 위한 분산 네트워크 Download PDF

Info

Publication number
KR20100123817A
KR20100123817A KR1020107012595A KR20107012595A KR20100123817A KR 20100123817 A KR20100123817 A KR 20100123817A KR 1020107012595 A KR1020107012595 A KR 1020107012595A KR 20107012595 A KR20107012595 A KR 20107012595A KR 20100123817 A KR20100123817 A KR 20100123817A
Authority
KR
South Korea
Prior art keywords
algorithms
nodes
csi
data
processing
Prior art date
Application number
KR1020107012595A
Other languages
English (en)
Inventor
안토이네 블론듀
아담 체이어
바박 호드자트
피터 하리간
Original Assignee
제네틱 파이넨스 (바베이도스) 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 제네틱 파이넨스 (바베이도스) 리미티드 filed Critical 제네틱 파이넨스 (바베이도스) 리미티드
Publication of KR20100123817A publication Critical patent/KR20100123817A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

정교한 소프트웨어-기반 금융 추세 및 패턴 분석을 수행하는 비용은, 다수의 네트워킹된 개별적인 컴퓨팅 노드들 또는 컴퓨팅 노드들의 클러스터를 통해 분석 및 계산 태스크를 수행하기 위해 요구되는 처리 능력을 분산시킴으로써, 상당히 감소된다. 이것을 성취하기 위해, 계산 태스크는 다수의 서브 태스크들로 분할된다. 그 후 각각의 서브 태스크는 다수의 솔루션들을 생성하기 위해 다수의 처리 디바이스들 중 하나 상에서 실행된다. 이러한 솔루션들은 계산 태스크에 대한 결과를 생성하기 위해 그 후 결합된다. 처리 디바이스들을 제어하는 개인들은 그들의 연관된 처리 디바이스들의 이용에 대해 보상받는다. 알고리즘들은 시간을 통해 최적으로 진화할 수 있게 된다. 그 후, 진화된 알고리즘들 중 하나 이상은 미리 규정된 조건에 따라 선택된다.

Description

복잡한 알고리즘들을 수행하기 위한 분산 네트워크{DISTRIBUTED NETWORK FOR PERFORMING COMPLEX ALGORITHMS}
본 출원은 35 USC 119(e) 하에서, 2007년 11월 8일 출원된 발명의 명칭이 "Distributed Network for Performing Complex Algorithms"인 미국 임시특허출원 번호 제 60/986,533 호 및 2008년 6월 25일에 출원된 발명의 명칭이 "Distributed Network for Performing Complex Algorithms"인 미국 임시특허출원 번호 제 61/075722 호에 우선권을 주장하고, 이러한 출원들의 전체 내용들은 참조에 의해 본원에 통합된다.
종래 복잡한 금융 추세(trend) 및 패턴 분석 처리는, 회사의 방화벽 내에 전형적으로 위치하고 회사의 IT(information technology) 그룹에 의해 소유되고 작동되는, 수퍼컴퓨터들, 메인프레임들 또는 강력한 워크스테이션들 및 PC들에 의해 수행된다. 이러한 하드웨어 및 그것을 운영하기 위한 소프트웨어에 있어서의 투자는 상당히 규모가 크다. 이러한 인프라구조를 유지보수(수리, 수선, 패치)하고 작동(전기, 데이터 센터들의 보안화)시키는 비용 또한 그러하다.
주가(stock price)의 움직임들은 일반적으로 예측불가능하지만 때때로 예측가능한 패턴들을 나타낸다. 유전적 알고리즘(GA; Genetic Algorithm)들이 주식 거래 문제들을 위해 사용되어 왔다고 알려져 있다. 이러한 것은 전형적으로 주식 분류(categorization)에 적용되어 왔다. 한 이론에 따르면, 임의의 주어진 시간에 주식들 중 5%가 추세를 따른다. 따라서 유전적 알고리즘들은 때때로 추세를 따르거나 따르지 않는 것으로 주식을 분류하기 위해 이용되고, 몇몇은 성공적이다.
유전적 알고리즘의 수퍼세트인 진화적(evolutionary) 알고리즘들은 카오스 탐색 공간(chaotic search space)들을 이동(traverse)하는 것에 뛰어나다. MIT Press, 1992년 Koza, J.R.의 "Genetic Programming: On the Programming of Computers by Means of Natural Selection"에 의해 알려진 것처럼, 진화적 알고리즘은 선언적 표기(declarative notation)에 있어서 완전한 프로그램들을 진화시키기 위해 사용될 수 있다. 진화적 알고리즘의 기본적 엘리먼트들은 환경, 유전자에 대한 모델, 적합 함수(fitness function), 및 번식 함수(reproduction function)이다. 환경은 임의의 문제 진술에 대한 모델일 수 있다. 유전자는 상기 환경 내에서 그것의 행동을 지배하는 룰(rule)들의 세트에 의해 규정될 수 있다. 룰은 환경에서 실행될 동작이 뒤따르는 조건들의 목록이다. 적합 함수는 진화하는 룰 세트가 환경과 성공적으로 협상하는 정도에 의해 규정될 수 있다. 따라서 적합 함수는 환경에서 각각의 유전자의 적합성을 평가하기 위해 이용된다. 번식 함수는 부모 유전자들 중 최적자(fittest)와 룰들을 혼합함으로써 새로운 유전자들을 산출한다. 각각의 세대에서, 유전자들의 새로운 개체군이 생성된다.
진화적 프로세스의 시작에서 최초 개체군을 구성하는 유전자들은, 유전자를 구성하는 빌딩 블록들, 또는 알파벳을 조립(put together)함으로써, 전적으로 무작위로 생성된다. 유전적 프로그래밍에서, 이러한 알파벳은 환경 내에서의 유전자의 행동을 지배하는 룰들을 만들어 내는 조건들 및 동작들의 세트이다. 일단 개체군이 확립되면, 적합 함수를 이용하여 평가된다. 그 후 가장 높은 적합성을 갖는 유전자들은 번식이라 불리는 프로세스에서 다음 세대를 생성하는데 이용된다. 번식을 통해, 부모 유전자들에 대한 룰들은 혼합되고, 때때로 돌연변이를 일으켜(즉, 룰에서 무작위적 변화가 일어남) 새로운 룰 세트를 생성한다. 그 후 이러한 새로운 룰 세트는 새로운 세대의 멤버가 될 자식 유전자에게 할당된다. 몇몇 구체적인 예들에서, 엘리트들이라 불리는 이전 세대의 최적의 멤버들은 또한 다음 세대로 복제된다.
본 발명에 따라, 스케일러블하고 효율적인 컴퓨팅 장치 및 방법이 금융 거래 엣지(edge)를 제공 및 유지하고 시간을 통해 그것을 유지한다. 부분적으로, (i) 유전적 알고리즘들 및 인공 생명 구조들 등을 포함하는 기계 학습 알고리즘들과 개선된 인공 지능(AI); (ii) 알고리즘의 처리에 맞춰진 고도의(highly) 스케일러블 분산 컴퓨팅 모델; 및 (iii) 전례없는 규모로 그리고 소량의 금융 산업의 비용으로 클라우드 컴퓨팅 용량을 전달(deliver)하는 독특한 컴퓨팅 환경을 결합함으로써 이것이 성취된다.
이하에서 더 기술되는 것처럼, 컴퓨팅 능력을 공급하는 것들(자산들)과의 관계는 다수의 방법들로 레버리징된다(leveraged). 이렇게 공급되는 대규모 컴퓨팅 능력과 낮은 비용의 조합은 종래 기술분야에서 공지된 것들보다 상당히 큰 솔루션 공간(solution space)을 통하여 서칭(searching) 동작들을 가능하게 한다. 공지된 대로, 주식들, 지표(indicator)들, 거래 정책들 등의 큰 공간을 신속히 탐색하는 것이 중요한데, 이는 성공적인 예측들에 영향을 주는 파라미터들이 시간을 통해 변화할 수 있기 때문이다. 또한 처리 능력이 더 커질수록, 탐색 공간이 더 커질 수 있는 여유가 있고, 이는 보다 나은 솔루션들에 대한 전망을 제시한다.
바이러스성 계수(viral coefficient)(예를 들어, CPU 보유자들/제공자들이 본 발명의 컴퓨팅 네트워크에 가담(join)하도록 장려하기 위해 본 발명이 CPU 보유자들/제공자들로 퍼지는, 그리고 CPU 보유자들/제공자들에 의해 본 발명이 채용되는 속도를 결정하는 계수)를 증가시키기 위해, 컴퓨팅 능력의 제공자들은 그들의 컴퓨팅 능력을 본 발명의 시스템들에 이용가능하게 만들기 위한 인센티브를 보상받거나 부여받고, 다른 제공자들이 가담하도록 촉진 및 장려하기 위한 인센티브를 더 보상받거나 부여받을 수 있다.
본 발명의 일 양상에 따라, 제공자들의 CPU의 컴퓨팅 사이클들, 동적 메모리의 이용, 및 그들의 대역폭의 이용에 대한 적절한 보상이 제공자들에게 부여된다. 본 발명의 몇몇 실시예들에 따라 관계의 이러한 양상은 바이러스성 마케팅을 가능하게 한다. 금융상의, 또는 상품/서비스들, 정보 등의 형태일 수 있는 보상 레벨의 학습 시에, 제공자는 컴퓨팅 인프라 구조에서 그들의 기존 투자로부터 이득을 얻을 수 있는 기회에 대하여 그들의 친구들, 동료들, 가족 등과 통신하기 시작할 것이다. 이것은 시스템에 기여하는 제공자들의 수가 언제나 증가하는 결과를 낳고, 차례로 보다 높은 처리 능력 및 따라서 보다 높은 성과의 결과를 낳는다. 이러한 성과가 높아질수록, 보다 많은 리소스들이 보다 많은 제공자들을 모집하고 서명시키는 것(sign)에 할당된다.
본 발명의 몇몇 실시예들에 따라, 메시징 및 매체 전달 기회들, 예를 들어 정규적인 뉴스 방송, 속보들, RSS 피드들(feeds), 티커 테이프(ticker tape), 포럼들 및 채팅(chat)들, 비디오들, 등이 제공자들에게 공급될 수 있다.
본 발명의 몇몇 실시예들은 처리 능력에 대한 시장의 생성을 위한 촉매로서의 역할을 한다. 따라서, 본 발명의 실시예들에 따라 제공자들에 의해 공급되는 처리 능력의 일정 비율이 이러한 능력에 액세스 하는데 관심이 있는 다른 제공자들에게 제공될 수 있다.
바이러스성 마케팅의 속도를 높이고 및 본 발명의 실시예들의 채용 속도를 높이기 위해서, 리퍼럴(referral) 시스템이 설립될 수 있다. 예를 들어, 몇몇 실시예들에서, "가상(virtual) 동전들"이 친구들을 초대하는 것에 대해 제공된다. 가상 동전들은 전형적인 고객 획득 비용들과 작거나 같은 비율로 자선 선물들 또는 다른 정보 선물들을 통해 회수(redeemable)할 수 있다.
본 발명의 일 실시예에 따라, 계산(computational) 태스크를 수행하기 위한 방법은 부분적으로, 상이한 엔티티에 의해 제어되고 이러한 엔티티와 연관되는 각각의 처리 디바이스를 이용하여 처리 디바이스들의 네트워크를 형성하는 단계; 계산 태스크를 서브 태스크들로 분할하고, 다수의 솔루션들을 생성하기 위해 처리 디바이스들 중 상이한 하나의 디바이스 상에서 각각의 서브 태스크를 실행하며, 계산 태스크에 대한 결과를 생성하기 위해 다수의 솔루션들을 결합하는 단계; 및 엔티티들의 연관된 처리 디바이스들의 이용에 대해 엔티티들에게 보상하는 단계를 포함한다.
일 실시예에서, 계산 태스크는 금융 알고리즘을 나타낸다. 일 실시예에서, 처리 디바이스들 중 적어도 하나는 중앙 처리 장치들의 클러스터를 포함한다. 일 실시예에서, 엔티티들 중 적어도 하나는 금융상으로(financially) 보상된다. 일 실시예에서, 처리 디바이스들 중 적어도 하나는 중앙 처리 장치 및 호스트 메모리를 포함한다. 일 실시예에서, 그 결과는 하나 이상의 자산들에 대한 위험-조정 성과(risk-adjusted performance)의 측정(measure)이다. 일 실시예에서, 엔티티들 중 적어도 하나는 상품/서비스들로 보상된다.
본 발명의 일 실시예에 따라, 계산 태스크를 수행하기 위한 방법은 부분적으로, 엔티티들 중 상이한 하나의 엔티티에 의해 제어되고 이러한 하나의 엔티티와 연관되는 각각의 처리 디바이스를 이용하여 처리 디바이스들의 네트워크를 형성하는 단계, 처리 디바이스들 사이에서 무작위로 하나 이상의 알고리즘들을 분산시키는 단계, 하나 이상의 알고리즘들이 시간에 따라 진화할 수 있게 하는 단계, 미리규정된 조건에 따라 진화된 알고리즘들을 선택하는 단계, 및 계산 태스크를 수행하기 위해 선택된 알고리즘을 적용하는 단계를 포함한다. 계산 태스크는 금융 알고리즘을 나타낸다.
일 실시예에서, 엔티티들은 그들의 처리 디바이스들의 이용에 대해 보상된다. 일 실시예에서, 처리 디바이스들 중 적어도 하나는 중앙 처리 장치들의 클러스터를 포함한다. 일 실시예에서, 엔티티들 중 적어도 하나는 금융상으로 보상된다. 일 실시예에서, 처리 디바이스들 중 적어도 하나는 중앙 처리 장치 및 호스트 메모리를 포함한다. 일 실시예에서, 알고리즘들 중 적어도 하나는 하나 이상의 자산들에 대한 위험-조정 성과의 측정을 제공한다. 일 실시예에서, 엔티티들 중 적어도 하나는 상품/서비스들로 보상된다.
본 발명의 일 실시예에 따라서, 계산 태스크를 수행하도록 구성된 네트워킹된 컴퓨터 시스템은 부분적으로, 계산 태스크를 다수의 서브 태스크들로 분할하도록 구성된 모듈, 계산 태스크에 대한 결과를 생성하기 위해 다수의 계산 태스크에 응답하여 생성된 다수의 솔루션들을 결합하도록 구성된 모듈, 및 솔루션들을 생성하는 엔티티들을 위해 보상 레벨을 유지하도록 구성된 모듈을 포함한다. 계산 태스크는 금융 알고리즘을 나타낸다.
일 실시예에서, 솔루션들 중 적어도 하나는 중앙 처리 장치들의 클러스터에 의해 생성된다. 일 실시예에서, 이러한 보상은 금융 보상이다. 일 실시예에서, 그 결과는 하나 이상의 자산들에 대한 위험-조정 성과의 측정이다. 일 실시예에서, 엔티티들 중 적어도 하나에 대한 보상은 상품/서비스들로 이루어진다.
본 발명의 일 실시예에 따라서, 계산 태스크를 수행하도록 구성된 네트워킹된 컴퓨터 시스템은 부분적으로, 시간에 따라 진화할 수 있는 다수의 알고리즘들을 다수의 처리 디바이스들 사이에서 무작위로 분산시키도록 구성된 모듈, 미리 규정된 조건에 따라 진화된 알고리즘들 중 하나 이상을 선택하도록 구성된 모듈, 및 계산 태스크를 수행하기 위해 선택된 알고리즘(들)을 적용하도록 구성된 모듈을 포함한다. 계산 태스크는 금융 알고리즘을 나타낸다.
일 실시예에서, 네트워킹된 컴퓨터 시스템은 각각의 처리 디바이스들에 대한 보상 레벨을 유지하도록 구성된 모듈을 더 포함한다. 일 실시예에서, 처리 디바이스들 중 적어도 하나는 중앙 처리 장치들의 클러스터를 포함한다. 일 실시예에서, 적어도 하나의 보상은 금융 보상의 형태로 이루어진다. 일 실시예에서, 처리 디바이스들 중 적어도 하나는 중앙 처리 장치 및 호스트 메모리를 포함한다. 일 실시예에서, 알고리즘들 중 적어도 하나는 하나 이상의 자산들에 대한 위험-조정 성과의 측정을 제공한다. 일 실시예에서, 적어도 하나의 보상은 상품/서비스들의 형태로 이루어진다.
도 1은 본 발명의 일 실시예에 따른 네트워크 컴퓨팅 시스템에 대한 예시적인 하이-레벨 블록 다이어그램이다.
도 2는 본 발명의 일 예시적인 실시예에 따른 다수의 클라이언트-서버 동작들을 도시한다.
도 3은 도 2의 클라이언트 및 서버에 배치된 다수의 컴포넌트들/모듈들을 도시한다.
도 4는 도 1의 각각의 처리 디바이스에 대한 블록 다이어그램이다.
본 발명의 일 실시예에 따라서, 정교한 소프트웨어-기반 금융 추세 및 패턴 분석을 수행하는 비용은, 광대역 접속을 통해 인터넷에 접속된 수백만의 중앙 처리 장치들(CPU들) 또는 그래픽 처리 장치들(GPU들)을 레버리징(leverage)하는, 세계적으로 다수의, 예를 들어 수천의, 수백만의 개별적인 또는 클러스터링된 컴퓨팅 노드들을 통해, 이러한 분석을 하기 위해 요구되는 처리 능력을 분산시킴으로써 상당히 감소된다. 이하의 설명은 CPU들에 관하여 제공되지만, 본 발명의 실시예들은 GPU들에도 동일하게 적용될 수 있음이 이해된다.
본원에서 사용되는:
·시스템은 하드웨어 시스템, 소프트웨어 시스템, 또는 결합된 하드웨어/소프트웨어 시스템을 지칭한다;
·제공자는 본 발명의 분산 네트워크 컴퓨팅 시스템에 가담(join)하기로 합의하고 하나 이상의 중앙 처리 장치들(CPU)을 소유, 유지, 작동, 관리 또는 다른 식으로 제어하는 개인, 회사, 또는 조직을 포함할 수 있다;
·네트워크는 중앙 또는 오리엔테이션/터미네이션(orientation/termination) 컴퓨팅 인프라구조를 포함하는 몇몇의 엘리먼트들 및 임의의 수 N의 제공자들에 의해 형성되고, 각각의 제공자는 임의의 수의 처리 디바이스들을 각각 갖는 하나 이상의 노드들과 연관된다. 각각의 처리 디바이스는 적어도 하나의 CPU 및/또는 DRAM과 같은 호스트 메모리를 포함한다;
·CPU는 네트워크의 일부를 형성하기 위해 하나 이상의 노드들을 지원하도록 구성된다; 노드는 계산 태스크들을 수행하도록 적응된 네트워크 엘리먼트이다. 단일 노드가 멀티-코어 프로세서의 다수의 CPU들과 같은 둘 이상의 CPU 상에 상주할 수 있다; 그리고
·광대역 접속은 케이블, DSL, WiFi, 3G 무선, 4G 무선, 또는 CPU를 인터넷에 접속시키고 CPU들을 서로 접속시키도록 발전되는 임의의 다른 기존 또는 미래의 유선 또는 무선 표준을 통한 고속 데이터 접속으로서 규정된다.
도 1은 본 발명의 일 실시예에 따른 네트워크 컴퓨팅 시스템(100)에 대한 예시적인 하이-레벨 블록 다이어그램이다. 네트워크 컴퓨팅 시스템(100)은 4개의 제공자들(120, 140, 160, 180) 및 하나 이상의 중앙 서버 인프라 구조(CSI)(200)를 포함하는 것으로 도시된다. 예시적인 제공자(120)는 제공자(120)에 의해 소유, 작동, 유지, 관리 또는 다른 식으로 제어되는 몇몇 노드들을 호스팅하는 CPU들의 클러스터를 포함하는 것으로 도시된다. 이러한 클러스터는 처리 디바이스들(122, 124 및 126)을 포함한다. 이러한 예에서, 처리 디바이스(122)는 랩탑 컴퓨터인 것으로 도시되고, 처리 디바이스들(124 및 126)은 데스크탑 컴퓨터들인 것으로 도시된다. 유사하게, 예시적인 제공자(140)는 제공자(120)에 의해 소유, 작동, 유지, 관리 또는 다른 식으로 제어되는 노드들을 호스팅하는 처리 디바이스(142)(랩탑 컴퓨터) 및 처리 디바이스(144)(핸드헬드 디지털 통신/계산(computation) 디바이스)에 배치된 다수의 CPU들을 포함하는 것으로 도시된다. 예시적인 제공자(160)는 처리 디바이스(162)(랩탑 컴퓨터)에 배치된 CPU를 포함하는 것으로 도시되고, 예시적인 제공자(180)는 처리 디바이스(182)(셀룰러/VoIP 핸드헬드 디바이스)에 배치된 CPU를 포함하는 것으로 도시된다. 본 발명에 따라 네트워크 컴퓨팅 시스템은 임의의 수 N의 제공자들을 포함할 수 있고, 각각의 제공자는 하나 이상의 노드들과 연관되며 각각의 제공자는 임의의 수의 처리 디바이스들을 가질 수 있음이 이해된다. 각각의 처리 디바이스는 적어도 하나의 CPU 및/또는 DRAM과 같은 호스트 메모리를 포함한다.
광대역 접속은 본 발명의 컴퓨팅 동작들을 수행하기 위해 제공자들을 CSI(200)에 접속시킨다. 이러한 접속은 케이블, DSL, WiFi, 3G 무선, 4G 무선 또는 CPU를 인터넷에 접속시키도록 발전되는 임의의 다른 기존 또는 미래의 유선 또는 무선 표준일 수 있다. 몇몇 실시예들에서, 노드들은 또한 도 1에 도시된 것처럼, 정보를 서로에게 연결 및 전달(pass)할 수 있도록 된다. 도 1의 제공자들(140, 160 및 180)은 서로 직접 통신하는 것으로 도시되고 서로에게 정보를 전달한다. 클라이언트 소프트웨어가 본 발명에 따라 CPU 상에서 실행될 수 있도록 되는 경우, 임의의 CPU가 이용될 수 있다. 몇몇 실시예들에서, 다중-클라이언트 소프트웨어는 다중-CPU 디바이스들로 명령들을 제공하고 이러한 디바이스들에서 이용가능한 메모리를 사용한다.
일 실시예에서, 네트워크 컴퓨팅 시스템(100)은 금융 알고리즘들/분석을 구현하고 거래 정책(trading policy)들을 계산한다. 이를 성취하기 위해, 알고리즘들/분석과 연관된 계산 태스크는, 각각이 노드들 중 상이한 하나의 노드에 할당되고 위임(delegate)되는 다수의 서브-태스크들로 분할된다. 노드들에 의해 성취된 계산 결과들은 그 후, 당면한 태스크에 대한 솔루션에 도달하기 위해 CSI(200)에 의해 수집되고 결합된다. 각각의 노드에 의해 수신된 서브-태스크는 연관된 알고리즘 또는 계산 코드, 알고리즘에 의해 구현될 데이터, 및 연관된 알고리즘 및 데이터를 이용하여 풀이될 하나 이상의 문제들/질문들을 포함할 수 있다. 따라서 이러한 실시예들에서, 아래에서 더 기술되는 것처럼, CSI(200)는 요청된 계산 문제에 대한 솔루션을 생성하기 위해 노드들에 배치된 CPU(들)에 의해 공급된 부분적인(partial) 솔루션들을 수신하고 결합한다. 네트워크 컴퓨팅 시스템(100)에 의해 처리되는 계산 태스크가 금융 알고리즘들을 포함할 때, 노드들에 의해 공급된 부분적인 솔루션들의 통합(integration)에 의해 성취된 최종 결과는 하나 이상의 자산들의 거래에 관한 추천을 포함할 수 있다.
진화적 알고리즘의 스케일링은 2개의 차원(dimension)들, 즉 풀 사이즈 및/또는 평가에 의해 수행될 수 있다. 진화적 알고리즘에서, 풀 또는 유전자들의 개체군이 클수록, 탐색 공간을 통한 다양성은 더 크다. 이것은 보다 적합한(fitter) 유전자를 발견할 가능성이 상승함을 의미한다. 이것을 성취하기 위해, 풀은 많은 처리 클라이언트들을 통해 분산될 수 있다. 각각의 프로세서는 아래에서 더 기술되는 것처럼, 유전자들의 풀을 평가하고 서버로 최적의(fittest) 유전자들을 전송한다.
본 발명의 일 실시예에 따라, 금융 보상(reward)들은 위닝(winning) 노드와 연관된 위닝 알고리즘(들)에 의해 제안된 거래 정책들을 실행함으로써 그리고 규정(regulatory) 필요조건들에 따라 유도(derive)된다. 아래에서 더 기술되는, 이러한 실시예들에 의해 구현되는 유전적 알고리즘들 또는 AI 알고리즘과 같은 알고리즘들 내의 유전자들 또는 엔티티들은 최상의 가능한 솔루션을 위해 경합하고 최상의 결과들을 성취하도록 구조화(structure)될 수 있다. 이러한 알고리즘들에서, 각각의 제공자, 예를 들어 도 1의 제공자들(120, 140, 160 및 180)은 계산을 수행하기 위한 완전한 알고리즘(코드)을 무작위로 수신하고, 하나 또는 몇몇의 노드 ID들을 할당받는다. 일 실시예에서, 각각의 제공자는 또한 그것의 연관된 알고리즘에 그것의 지식(knowledge) 또는 결정들을 시간을 통해 부가할 수 있도록 된다. 알고리즘들은 진화할 수 있고 몇몇은 다른 것들보다 성공적인 것으로 판명될 것이다. 다시 말해서, 시간상으로, 알고리즘들 중 하나 이상은(최초에 무작위로 할당) 다른 것들보다 높은 레벨의 지능을 발전시킬 것이고 위닝 알고리즘들이 되어 거래 추천들을 실행하기 위해 사용될 수 있다. 위닝 알고리즘들을 발전시키는 노드들은 위닝 노드들이라 지칭된다. 노드 ID는, 위닝 노드들을 식별하도록 위닝 알고리즘들을 역으로 추적하여 그들의 노드들에 이르기 위해 이용된다. CSI(200)는, 최상의 알고리즘을 선택하거나 다수의 CPU들로부터 획득된 부분적인 알고리즘들을 결함함으로써 알고리즘을 구조화할 수 있다. 구조화된(structured) 알고리즘은, 전적으로 위닝 알고리즘에 의해 또는 다수의 노드들 또는 CPU들에 의해 생성된 부분적인 알고리즘들의 조합에 의해 규정될 수 있다. 구조화된 알고리즘은 거래들을 실행하기 위해 이용된다.
도 2에 도시된 것처럼 몇몇 실시예들에서, 각각의 알고리즘들이 얼마나 양호하게 진화하고 있는지에 관하여 업데이트들을 CPU들에 제공하기 위해 피드백 루프가 이용된다. 이것들은 연관된 CPU들이 계산한 알고리즘들 또는 연관된 제공자들에게 흥미있는 자산들에 관한 알고리즘들을 포함할 수 있다. 이것은 시간을 통한 알고리즘 컴포넌트들의 개선에 관한 윈도우와 유사하고, 알고리즘 상에서 작업중인 제공자들의 수, 경과된 세대들의 수, 등과 같은 정보를 제공한다. 이것은 제공자들이 그들의 컴퓨팅 능력을 공유하기 위한 추가적인 동기를 구성하는데, 이는 그것이 제공자들에게 집합적인 노력에 참여하는 경험을 제공하기 때문이다.
몇몇 실시예들에서, 개별적인 CPU들 또는 본 발명의 네트워크 컴퓨팅 시스템에 의해 구현된 알고리즘은 자산 또는 자산들의 그룹에 대한 위험-조정 성과의 측정을 제공한다; 이러한 측정은 금융 문헌에서 보통 자산 또는 자산들의 그룹의 알파로 지칭된다. 알파는 보통 S&P 500 초과 수익률에 관하여, 유가증권(security) 또는 뮤추얼 펀드의 초과 수익률과 같은 자산을 리그레스(regress)함으로써 생성된다. 보통 베타로 알려진 또 다른 파라미터는 위험을 조정하기 위해 사용되는 반면(기울기 계수; slope coefficient), 알파는 인터셉트이다.
예를 들어, 뮤추얼 펀드가 25%의 수익률을 가지고 단기 이자율이 5%(초과 수익률이 20%)라고 가정하자. 동일한 기간 동안 시장 초과 수익률이 9%라 가정하자. 뮤추얼 펀드의 베타는 2.0이라 추가로 가정하자. 다시 말해서, 뮤추얼 펀드는 S&P 500보다 2배 위험하다고 가정된다. 이러한 위험에 주어지는 기대되는 초과 수익률은 2 x 9% = 18%이다. 실제 초과 수익률은 20%이다. 따라서, 알파는 2% 또는 200 BP(basis point; 1/100 퍼센트)이다. 알파는 또한 젠슨 인덱스(Jensen Index)로 알려져 있고 다음의 식에 의해 규정된다:
Figure pct00001
여기서:
n = 관찰들의 수(예를 들어, 36 mos.);
b = 펀드의 베타;
x = 시장에 대한 수익률의 비율; 및
y = 펀드에 대한 수익률의 비율
인공 지능(AI) 또는 기계 학습-등급(Machine Learning-grade) 알고리즘들이 추세들을 식별하고 분석을 수행하기 위해 이용된다. AI 알고리즘들에 대한 예들은 클래시파이어들(Classifiers), 엑스퍼트 시스템들(Expert systems), 사례 기반 추론(case based reasoning), 베이지안 네트워크들(Bayesian networks), 행동 기반 AI(Behavior based AI), 신경 네트워크들(Neural networks), 퍼지 시스템들(Fuzzy systems), 진화적 계산(Evolutionary computation), 및 하이브리드 지능적 시스템들(hybrid intelligent systems)을 포함한다. 이러한 알고리즘들에 대한 간단한 설명이 위키피디아에서 제공되고 이하 기술된다.
클래시파이어들은 예들에 따라 조율(tune)될 수 있는 펑션들이다. 다양한 클래시파이어들이 이용가능하고 각각 그것의 강점들 및 약점들을 갖는다. 가장 널리 사용되는 클래시파이어들은 신경 네트워크들, 지원 벡터 기계들, k-최근접(k-nearest) 이웃 알고리즘들, 가우스 혼합 모델들(Gaussian mixture models), 나이브 베이즈 클래시파이어들(naive Bayes classifiers), 및 결정 트리들(decision trees)이다. 엑스퍼트 시스템들은 결론에 도달하기 위해 추론 능력들을 적용한다. 엑스퍼트 시스템은 많은 양의 공지된 정보를 처리하고 그것들에 기초하여 결론들을 제공할 수 있다.
사례-기반 추론 시스템은 문제들과 해답들의 세트를 사례들이라 불리는 조직화된 데이터 구조로 저장한다. 문제가 제시될 때 사례 기반 추론 시스템은 그것의 지식 기반(knowledge base)에서 새로운 문제와 가장 밀접하게 관련되는 사례를 발견하고 그것의 솔루션들을 적합한 수정들을 가진 출력으로서 제시한다. 행동 기반 AI는 AI 시스템들을 직접 세우는(build by hand) 모듈러(modular) 방법이다. 신경 네트워크들은 매우 강한 패턴 인지 능력들을 갖는 트레이닝 가능한 시스템들이다.
퍼지 시스템들은 불확실성 하에서의 추론을 위한 기술들을 제공하고 현대 산업 및 소비재(consumer product) 제어 시스템들에서 널리 사용되어 왔다. 진화적 계산은 문제에 대해 점점 더 양호한 솔루션들을 생성하기 위해 개체군들, 돌연변이 및 적자 생존과 같은 생물학적으로 영감을 받은 개념들을 적용한다. 이러한 방법들은 특히 진화적 알고리즘들(예를 들어, 유전적 알고리즘들) 및 무리(swarm) 지능(예를 들어, 개미 알고리즘들)으로 분할된다. 하이브리드 지능적 시스템들은 상기의 임의의 조합들이다. 임의의 다른 알고리즘, AI 등 또한 이용될 수 있음이 이해된다.
이러한 분산을 가능하게 하면서 동시에, 이하 더 기술되는 위닝 패턴의 통합성뿐만 아니라 이하 기술되는 제공자들과 연관된, 노드들 사이에서 교환되는 금융 데이터의 안전성을 보호하기 위하여, 어떠한 노드도 i) 그것이 전체 추세/패턴 계산을 다루고 있는지 또는 그것의 단지 일부를 다루고 있는지, 및 ii) 노드의 계산의 결과가, 금융 거래 정책에 관하여 결정하고 이러한 거래 정책을 실행하기 위해 시스템에 의해 레버리징되는지 여부를 알지 못할 것이다.
이러한 알고리즘의 처리는 거래 주문들의 실행으로부터 분리된다. 거래하겠다는 결정 및 거래 주문들의 실행은, 인프라구조가 클라이언트-서버로서 조직되는지 또는 피어-투-피어 그리드 컴퓨팅 모델로서 조직되는지 여부에 따라 하나 또는 몇몇 중앙 서버들 또는 터미네이션 서버들에 의해 이루어진다. 거래 결정들은 제공자의 노드들에 의해 이루어지지 않는다. 본원에서 노드 소유자 또는 노드로도 지칭되는 제공자는, 이하 더 기술되는 것처럼, 본 발명의 분산 네트워크에 가담하기로 합의하고 하나 이상의 CPU들을 소유, 유지, 작동, 관리 또는 다른 식으로 제어하는 개인, 회사, 또는 조직을 지칭한다. 따라서 제공자들은 하청-계약자(sub-contractor)들로서 취급되고 어떠한 거래에 대해서도 어떠한 방식으로도 법적 또는 금융적 책임을 부담하지 않는다.
본 발명에 따라, 제공자들은 인게이지먼트의 조건들을 지배하는, 본원에서 제공자 라이센스 합의(PLA; Provider License Agreement)로 지칭되는 서류에 서명함으로써, 자진하여 그들의 CPU의 처리 능력 및 메모리 용량을 리스(lease)하고 이용가능하게 한다. 본 발명에 따라, PLA는 각각의 제공자가 그것의 CPU를 공유하기로 합의한 최소 필요조건들을 규정하고, 비밀유지(confidentiality) 및 책임(liability) 이슈들을 규정한다. PLA는 연관된 제공자가 엔드-유저가 아니고 그것의 CPU의 컴퓨팅 동작들의 결과로부터 이득을 얻지 못함을 규정한다. PLA는 또한 제공자들의 컴퓨팅 인프라구조의 리스에 대한 보수를 받기 위해 제공자들에 의해 만족되어야 하는 조건들을 제시한다.
제공자들은 그들의 CPU 능력 및 메모리 용량을 본 발명의 네트워크 시스템에 액세스 가능하도록 하는 것에 대해 보상을 받는다. 이러한 보상은 정기적으로(예를 들어, 매달) 또는 비정기적으로 지불될 수 있다; 그것은 각각의 기간 동안 동일할 수 있거나 또는 그것은 상이한 기간들 동안 상이할 수 있고, 그것은 핑(ping) 메커니즘을 통해 측정될 수 있거나(이용가능성을 결정하기 위해) 또는 사용된 CPU 사이클들로 계산될 수 있는(사용량을 결정하기 위해), 최소 컴퓨터 이용가능성/사용량(usage) 임계값과 관련될 수 있거나, 또는 CPU 활동에 대한 임의의 다른 가능한 지표(indicator)일 수 있다. 일 실시예에서, 이용가능성/사용량 임계값에 도달하지 못한 경우 어떠한 보상도 지불되지 않는다. 이것은 제공자들을 격려하여 (i) 정기적으로 이용가능한 CPU에 라이브(live) 광대역 접속을 유지하게 하고/유지하게 하거나 (ii) 제공자들이 다른 태스크들을 위해 그들의 이용가능한 CPU 능력을 이용하는 것을 단념시킨다. 더욱이, 이러한 보상은 매 CPU당 지불되어, 제공자들이 본 발명에 이용가능하도록 만드는 CPU들의 수를 증가시키도록 격려할 수 있다. 본 발명에 CPU 팜(farm)들을 제공하는 제공자들에게 추가적인 보너스들이 지불될 수 있다. 비-현금 기반 보상의 다른 형태들 또는 인센티브 방식(scheme)들이 단독으로 이용될 수 있고, 또는 이하에서 더 기술되는 것처럼 현금 기반 보상 방식들과 조합하여 이용될 수 있다.
본 발명의 네트워크 시스템에 등록하고 가담할 때 제공자들은, 그들의 CPU 유형 및 특성에 적합한, 그리고 셀프-설치 또는 제공자에 의해 설치되도록 구성된 클라이언트 소프트웨어를 다운로드받는다. 클라이언트 소프트웨어는 스크린세이버와 같은 서비스의 단순하고 시각적인 표현(representation)을 제공한다. 이러한 표현들은 제공자들에게 각각의 기간 동안 그들이 벌 수 있는 돈의 양을 표시한다. 예를 들어, 이러한 표현은 금전 등록기 내로 굴러 들어오는(tumble) 동전들의 형태를 취할 수 있다. 이것은 본 발명의 네트워크 시스템에 가담함으로써 제공되는 이득들에 대한 시각적인 효과들을 높인다. 클라이언트 소프트웨어는 백그라운드로 실행되고 있기 때문에, 어떠한 인식가능한 효과도 컴퓨터들 상에서 경험되지 않는다.
클라이언트 소프트웨어는 그것의 연관된 제공자의 상호작용적인 경험을 향상시키기 위해서 정기적으로 업데이트될 수 있다. 이것을 성취하기 위해, 일 실시예에서, 예를 들어 개인들에게 시장 예측들을 수행하고 본 발명의 학습 알고리즘의 하나 이상의 양상들로서 집합적인 전망들(perspectives)을 레버리징하도록 요청하기 위해, "크라우드 소싱(crowd sourcing)" 지식 모듈이 클라이언트 소프트웨어에서 배치된다.
보다 상호작용적인 경험을 발전시키는 일부로서, 제공자들은 어떤 자산을 선택해야 할지, 예를 들어 그들의 CPU(들)가 분석하기를 원하는 펀드들, 상품들, 주식들, 통화들(currencies) 등을 선택할 수 있는 기회를 제공받을 수 있다. 이러한 선택은 자유롭게 수행될 수 있거나, 제공자들에게 제출된 자산들의 목록 또는 포트폴리오로부터 수행될 수 있다.
일 실시예에서, 스크린세이버/상호작용 클라이언트 소프트웨어는 회사 뉴스, 주식 차트들 등을 포함하는, 하나 이상의 자산들에 관한 뉴스를 이용하여 주기적으로 업데이트된다. 제공자들에게 이러한 증정의 "행복감(feel good)" 효과는 소식에 밝은(savvy) 투자자들이 아닌 사람들에게 특히 중요하다. 본 발명을 다운로드하고 예를 들어 관심 있는 몇몇 주식들을 선택함으로써, 제공자들은 금융의 세계에 관여하고 있다고 느낄 수 있다. 본 발명의 정교해-보이는 금융 스크린세이버는 금융에 관여하고 있다는 인상, 본 발명의 바이러스성 마케팅 개념을 개선시키는데 도움이 되는 "후광(halo)" 효과를 높이도록 설계된다.
일단 제공자들이 돈을 벌기 시작하거나 본 발명에 따라 받게 된 인센티브들로부터 만족을 얻기 시작하면, 제공자들은 컴퓨팅 인프라구조에 있어서의 그들의 기존 투자로부터 약간의 돈 또는 인센티브 "크레디트들"을 역으로 얻을 수 있는 기회에 관하여 그들의 친구들, 동료들, 가족 등과 통신하기 시작할 것이다. 이것은 결과적으로 서비스에 기여하는 노드들의 수가 언제나 증가하는 결과를 낳고, 이것은 차례로 보다 높은 처리 능력 및 따라서 보다 높은 비즈니스 성과의 결과를 낳는다. 비즈니스 성과가 높아질수록, 보다 많은 제공자들을 모집하고 추가하는데에 보다 많은 비용을 들일 수 있다.
몇몇 실시예들에서, 아래에서 더 기술되는 것처럼, 본 발명의 멤버쉽 및 바이러스성 마케팅 양상의 속도를 높이기 위해 인센티브가 추가된다. 예를 들어 일 실시예에서, 어느 기존 제공자들이 새로운 제공자들을 초대하도록 리퍼럴 수수료를 지불받았는지에 따라 리퍼럴 시스템이 설립된다. 제공자들은 또한 주기적인 복권 메커니즘에 참여할 자격이 있을 수 있고, 여기서 주어진 기간을 통해 CPU 용량 중 적어도 최소 임계값을 기여한 각각의 제공자는 행운-당첨(lucky-draw) 유형 복권으로 진입한다. 행운-당첨 위너는 예를 들어, 현금 보너스, 또는 어떤 다른 형태의 보상을 수여받을 수 있다. 수여(award)의 다른 형태들은, 예를 들어 (i) 알고리즘의 성과를 추적하고 위닝 노드, 즉 주어진 기간을 통해 가장 이익이 되는 알고리즘을 구조화한 것으로 결정되어 위닝 알고리즘을 갖는 노드를 가진 제공자에게 보상함으로써; (ii) 위닝 알고리즘의 서브세트들을 추적하고, 각각의 이러한 서브세트들에 ID를 태그(tag)하며, 위닝 노드를 식별하고, 그리고 그들의 컴퓨터-생성 알고리즘 서브세트들의 ID들이 위닝 알고리즘에서 발견되는 모든 제공자들에게 보상함으로써; 그리고 (iii) 주어진 기간을 통해 가장 높은 이용가능성을 가진 CPU(들)을 추적하여 보상함으로써 이루어진다.
몇몇 실시예들에서, 개별적인 제공자들이 다른 제공자들에 가담하거나 또는 다른 제공자들을 초대하여, 이용가능한 보너스 상금들을 획득할 수 있는 기회들을 증가시킬 수 있는 "제공자 팀들"을 형성할 때, 인센티브가 추가된다. 다른 실시예들에서, 교정(correct) 또는 "크라우드 소싱" 지식으로부터 최상의 예측에 대한 보너스를 획득할 수 있는 기회와 같은, 게임 계획이 보너스에 대한 기초로서 이용될 수 있다.
계좌 및 현금 취급 물류관리(cash handling logistics)를 최소화하기 위해, 몇몇 실시예들에서, 가상의 현금 계좌가 각각의 제공자에 대해 제공된다. 각각의 계좌는 위에서 기술된 것처럼, 제공자들에게 지불되는 보수 수수료를 이용하여 주기적으로, 예를 들어 매달 크레디트된다. 현금 계좌에 크레디트된 임의의 현금은 기장된(booked) 비용을 구성할 수 있다; 제공자가 그의/그녀의 실제 은행으로 은행 이체를 요청할 때까지 그것은 실제적인 현금 유출(outflow)로 변환되지 않을 것이다.
제공자들은 그들의 CPU들의 공유된 사용에 대해서 많은 다양한 방법들로 보상받을 수 있다. 예를 들어, 제공자들은 현금 대신에 거래 팁들을 제공받을 수 있다. 거래 팁은 특정 주식들, 또는 임의의 다른 자산들을 위한 매입 또는 매도 트리거들을 포함한다. 거래 어드바이스를 제공하는 것에 관한 보편적 법률들이 적용되는, 거래 팁들은, 예를 들어 무작위로, 본 발명을 이용하는 엔티티가 거래하고 있지 않거나 거래할 의도가 없는 자산들의 목록 상에서 인출될 수 있다. 이러한 거래 팁들은 또한, 위에서 기술된 것처럼 제공자들이 그룹으로서 소유하거나 개별적으로 소유가거나, 또는 관심을 표현한 자산들에 대해 제공될 수 있다. 몇몇 실시예들에서, 제공자들의 계좌-관련 동작들에 대해 지불하기 위해 유지 수수료가 제공자들의 계좌들에 대해 청구된다.
제공자의 CPU 상의 클라이언트 소프트웨어의 존재는 마케터(marketer)들 및 광고자(advertiser)들에게 판매(market)될 수 있는 광고 기회들(제공자들에게 광고함으로써)을 제공한다. 높게 목표를 정한 광고 기회들은 제공자들의 관심 영역들에 관한 지식을 획득함으로써, 예를 들어 자산 유형들, 특정 회사들, 펀드들 등의 관점에서 제시된다. 부가적으로, CPU 클라이언트는 메시징 및 매체 전달 기회들, 예를 들어 뉴스 방송, 속보들, RSS 피드들, 티커 테이프, 포럼들 및 채팅들, 비디오들 등을 제공한다. 모든 이러한 서비스들은 제공자의 계좌로부터 직접 결제(debit)되는, 수수료에 대한 대가로 이용가능할 수 있다. 백그라운드로 실행되는 연관된 루틴들을 포함하는 상호작용 프런트-엔드 애플리케이션-- 스크린 세이버 대신에 사용되는 --이 이러한 기능을 성취한다.
거래 신호들은, 보편적 법률들 및 규정들의 적용을 받는 제공자들뿐만 아니라 비-제공자들에게도 개인적으로 또는 기관 기반으로 판매될 수 있다. 거래 신호들은 본 발명에 의해 수행되는 추세 및 분석 작업으로부터 생성된다. 클라이언트 소프트웨어는 최적의 방식으로 이러한 신호들을 전달하도록 커스터마이징될 수 있다. 서비스 요금(charge)들은 제공자들의 계좌들에 자동적으로 적용될 수 있다. 예를 들어, 제공자는 월 단위로 합의된 수수료의 대가로 매달 미리 규정된 수의 주식들에 관한 정보를 받을 수 있다.
본 발명이 제공하는 많은 장점들로부터 이득을 얻기 위해, 많은 수의 API(Application Programming Interface) 들, API 컴포넌트들 및 툴들이 또한 제 3 자 시장 참여자(third-party market participant)들, 예를 들어 뮤추얼 펀드 및 헤지 펀드 매니저들에게 제공될 수 있다. 이러한 제 3 자 참여자들은 예를 들어, (i) 본 발명에 의해 제공된 거래 모델들에 기초하여 거래하고, (ii) 이러한 발명에 의해 제공된 소프트웨어, 하드웨어 및 프로세스 인프라구조를 이용함으로써 그들 자신의 거래 모델들을 세우고 차례로 다른 금융 기관들에게 이러한 모델들을 공유 또는 판매할 수 있다. 예를 들어, 투자 은행은 가령 석유 선물(future)들에 관한 최신의 추세들 및 거래 패턴들을 결정하기 위해 W 달러의 비용으로 본 발명을 이용하는 엔티티로부터 Z 시간의 기간 동안 X 백만 컴퓨팅 사이클들 및 Y 프로그래밍 루틴들의 세트(AI-기반 소프트웨어 익스큐터블들)를 리스할 수 있다. 이처럼, 본 발명은 독특하게 강력한 추세/패턴 분석 아키텍처를 레버리징하는 포괄적인 거래 정책 규정 툴 및 실행 플랫폼을 제공한다.
제공자들의 계좌는 또한 하나 이상의 온라인 중개 회사들과 계좌를 개설하기 위해 펀드들의 거래 계좌 또는 소스로서 이용될 수 있다. 따라서 리퍼럴 수수료는, 고객들의 알려진 베이스를 온라인 중개 회사들에게 소개하는 것에 대한 보답으로 온라인 중개 회사들로부터 수금될 수 있다. 본 발명의 인프라구조(하드웨어, 소프트웨어), API 및 툴들 등은 또한, 유전학, 화학 공학, 경제학, 시나리오 분석, 고객 행동 분석, 기후 및 날씨 분석, 방어 및 지능 등과 같은 다른 영역들에서 유사하게 복잡한 컴퓨팅 태스크들을 풀이하는 것까지 연장될 수 있다.
클라이언트-서버 구성
본 발명의 일 실시예에 따라 네트워크는 적어도 5개의 엘리먼트들을 포함하고, 이것들 중 3개는(아래에서 제시되는 i, ii, iii) 본 발명의 다양한 실시예들에 따라 소프트웨어를 실행한다. 이러한 5개의 엘리먼트들은 (i) 중앙 서버 인프라구조, (ii) 동작 콘솔, (iii) 네트워크 노드들(또는 노드들), (iv) 실행 플랫폼(이것의 일부는 전형적으로 프라임 브로커에 속함), 및 (v) 데이터 피드 서버들(이것은 전형적으로 프라임 브로커 또는 금융 정보 제공자에게 속함)을 포함한다.
도 3을 참조하면, CSI(200)는 하나 이상의 컴퓨팅 서버들을 포함한다. CSI(200)는 노드들의 처리 작업의 종합자(aggregator), 및 그들의 관리자로서 작동하도록 구성된다. CSI(200)의 이러한 "제어 탑(control tower)" 역할은 컴퓨팅 프로세스 관리 관점으로부터, 즉 어느 노드들이 어떤 순서로, 그리고 고려 중인 다양한 문제들 및 데이터 중에서부터 어떤 유형의 문제 및 데이터에 관해 계산하는지로부터 이해된다. CSI(200) 동작들은 또한 컴퓨팅 문제 규정 및 해결(resolution) 관점으로부터, 즉 노드들이 계산하라고 요청될 컴퓨팅 문제들의 포맷팅, 특정 성과 임계값에 대한 노드들의 컴퓨팅 결과들의 평가, 및 이러한 결과들이 적절한 것으로 간주되는 경우 처리를 계속해야 할지 또는 처리를 중단해야 할지의 결정으로부터 이해된다.
CSI(200)는 네트워크의 컴퓨팅 이용가능성을 이해하고 관리하기 위해, 노드들의 박동(heartbeat) 또는 정기적인 요청들에 귀를 기울이도록 적응된 로그 서버(미도시)를 포함할 수 있다. CSI(200)는 또한 관련된 정보 - 즉, 당면한 문제를 풀기 위해 요구되는 정보 - 를 획득하기 위해 데이터 피드들(102, 104 및 106) 및 다른 외부 정보 소스들에 액세스할 수 있다. 이러한 문제 및 데이터의 패키징은 CSI(200)에서 발생할 수 있다. 그러나 노드들은, 아래에서 더 기술되는 것처럼, 정보 수집이 법적으로 그리고 실제적으로 가능한 정도까지, 그들의 정보 수집 또한 행하도록 구성된다.
CSI(200)는 이러한 실시예에서 단일 블록으로서 그리고 하나의 기능적 엔티티로서 도시되지만, CSI(200)는 몇몇 실시예들에서 분산 프로세서일 수 있다. 나아가, CSI(200)는 또한 계층구조적인, 연합된(federated) 토폴로지들의 일부일 수 있고, 여기서 CSI는 실제로 부모 CSI에 클라이언트로서 접속된 노드(아래 도시됨)로서 가장(masquerade)될 수 있다.
몇몇 실시예들에 따라, 예를 들어 유전적 알고리즘이 이용될 때, CSI는 연합된 클라이언트-서버 아키텍처로도 지칭되는, 계층화된(tiered) 시스템으로 배열(arrange)된다. 이러한 실시예들에서, CSI는 유전적 알고리즘의 최상의 성취된 결과들을 유지한다. 다수의 노드들을 포함하는 제 2 컴포넌트에는 유전적 알고리즘을 처리하고 아래에서 더 기술되는 것과 같은 성과 "유전자들"(performing genes)을 생성하는 태스크를 할당받는다. 제 3 컴포넌트는 유전자들을 평가한다. 이것을 성취하기 위해, 제 3 컴포넌트는 제 2 계층(tier)으로부터 형성되고 트레이닝된 유전자들을 받고 솔루션 공간의 부분들 상에서 그것들을 평가한다. 그 후 이러한 평가들은 제 2 계층에 의해 종합(aggregate)되고, CSI에서 유지된 유전자들에 의해 성취된 이른바 -- 이러한 특정 시간에 -- 최소 성과 레벨에 의해 설정된 임계값에 대하여 측정된다. 이러한 임계값에 대하여 호의적으로 비교되는 유전자들은(또는 그것의 일부) 시스템의 제 3 계층에 의해 CSI로 제출된다. 이러한 실시예들은 아래 동작 12에 기술된 것처럼, CSI를 이러한 평가로부터 해방시키고 시스템의 보다 효율적인 동작을 가능하게 한다.
본 발명에 따라 계층화된-시스템과 연관된 수많은 장점들이 있다. 첫째로, 다수의 중개(intermediate) 서버들이 있고 이러한 서버들은 차례로 노드들의 수가 증가될 수 있게 하므로, 클라이언트 서버 통신의 스케일러빌리티가 향상된다. 둘째로, 연합된 서버들에서 결과들에 대한 여과(filtration)의 상이한 레벨들을 가짐으로써, 이러한 결과들이 메인 서버로 포워딩되기 전에, 중앙 서버 상의 부하가 감소된다. 다시 말해서, 노드들(클라이언트들)이 그들의 로컬 서버들과 통신하고 이것들은 차례로 중앙 서버들과 통신하기 때문에, 중앙 서버 상의 부하가 감소된다. 셋째로, 임의의 주어진 태스크가 네트워크의 특정 세그먼트에 할당될 수 있다. 결과적으로, 네트워크의 선택된 부분들이, 당면한 태스크에 할당된 처리 능력을 제어하기 위해 특수화(specialize)될 수 있다. 임의의 수의 계층들이 이러한 실시예들에서 이용될 수 있음이 이해된다.
동작 콘솔
동작 콘솔은 인간 운영자(operator)들이 시스템과 상호작용하기 위해 요구되는 인간-기계 인터페이스 컴포넌트이다. 동작 콘솔(220)을 이용하여, 인간 운영자는 그/그녀가 알고리즘들이 풀이하기를 바라는 특정 문제의 결정인자(determinant)들을 입력할 수 있고, 그/그녀가 이용하기를 원하는 알고리즘의 유형을 선택하거나, 알고리즘들의 조합을 선택할 수 있다. 운영자는 네트워크의 사이즈, 특히 그/그녀가 주어진 처리 태스크에 대해 예약하기를 원하는 노드들의 수를 특정 치수로 할 수 있다(dimension). 운영자는 목표(objective)들뿐만 아니라 알고리즘(들)에 대한 성과 임계값들도 입력할 수 있다. 운영자는 임의의 주어진 시간에 처리의 결과들을 시각화하고, 이러한 결과들을 수많은 툴들을 이용하여 분석하며, 결과적인 거래 정책들을 포맷팅할 뿐만 아니라, 거래 시뮬레이션들을 수행할 수 있다. 콘솔은 또한 네트워크 부하, 장애 및 장애-극복(fail-over) 이벤트들을 추적하는데 있어서 모니터링 역할로서 기능한다. 콘솔은 또한 임의의 시간에 이용가능한 용량에 관한 정보, 네트워크 장애에 대한 경고들, 과부하 또는 속도 이슈들, 보안 이슈들을 제공하고, 과거 처리 작업(job)들에 대한 히스토리를 유지한다. 동작 콘솔(220)은 거래 정책들을 실행하기 위해 실행 플랫폼(300)과 인터페이싱(interface)한다. 거래 정책들의 포맷팅 및 이들의 실행은 인간의 개입 없이 자동적으로 수행되거나, 또는 인간의 검토(review) 및 승인(approval) 프로세스에 의해 게이트 제어(gate)된다. 동작 콘솔은 인간 운영자가 위의 것들 중 하나를 선택할 수 있도록 한다.
네트워크 노드들
네트워크 노드들, 또는 노드들은 당면한 문제를 계산한다. 5개의 이러한 노드들, 즉 노드들(1, 2, 3, 4 및 5)이 도 2에 도시된다. 노드들은 그들의 처리의 결과를 CSI(200)으로 역으로 전송한다. 이러한 결과들은, 부분적이거나 완전할(full) 수 있는 진화된 알고리즘(들) 및 이러한 알고리즘(들)이 어떻게 수행했는지를 보여주는 데이터를 포함할 수 있다. 노드들이 보편적인 법률들 하에서 허용되고 실제적인 경우, 이러한 노드들은 또한, 풀이해달라고 요청받고 있는 문제에 관련된 정보를 획득하기 위해 데이터 피드들(102, 104, 106) 및 다른 외부 정보 소스들에 액세스 할 수 있다. 시스템의 개선된 양상들에서, 이러한 노드들은 제공자들에게 다시 돌아가기 위해 상호작용적인 경험의 형태로 추가적인 기능을 제공하도록 진화하여, 제공자들이 관심 있는 자산들, 금융 추세들에 관한 의견들, 등을 입력하도록 허용한다.
실행 플랫폼
실행 플랫폼은 전형적으로 제 3 자-실행(third-party-run) 컴포넌트이다. 실행 플랫폼(300)은 동작 콘솔(220)로부터 전송된 거래 정책들을 수신하고, 예를 들어 뉴욕 주식 거래소, 나스닥, 시카고 상품 거래소, 등과 같은 금융 시장들과 관련된 요구되는 실행들을 수행한다. 실행 플랫폼은 동작 콘솔(220)로부터 수신된 명령들을 거래 주문들로 변환하고, 임의의 주어진 시간에 이러한 거래 주문들의 상태를 통지(advise)하며, 가격, 거래의 사이즈, 거래에 적용되는 다른 제약들 또는 조건들과 같은 이러한 거래 주문의 세부사항들을 포함하여 거래 주문이 실행된 시기를 동작 콘솔(220) 및 다른 "백 오피스(back office)" 시스템들에 역으로 보고한다.
데이터 피드 서버들
데이터 피드 서버들 또한 전형적으로 시스템의 제 3 자-실행 컴포넌트들이다. 데이터 피드 서버들(102, 104, 106)과 같은 데이터 피드 서버들은 다양한 범위의 거래된 자산들, 예를 들어 주식들, 채권들, 상품들, 통화들, 및 옵션들, 선물들과 같은 파생상품들 등에 대하여 실시간(real-time) 및 히스토리(historical) 금융 데이터를 제공한다. 이것들은 CSI(200) 또는 노드들과 직접적으로 인터페이싱될 수 있다. 데이터 피드 서버들은 또한 다양한 기술적 분석 툴들, 예를 들어 금융 지표(indicator)들(MACD, 볼린저 밴드들(Bollinger Bands), ADX, RSI, 등)로 액세스를 제공할 수 있고, 이것들은 그들의 처리에 있어서 "조건들(conditions)" 또는 "전망들(perspective)"로서 알고리즘(들)에 의해 이용될 수 있다. 적절한 API들을 이용함으로써, 데이터 피드 서버들은 조건들 및 전망들의 범위를 넓혀서 알고리즘들의 탐색 공간의 차원들을 증가시키기 위해, 알고리즘(들)이 기술적 분석 툴들의 파라미터들을 수정할 수 있도록 한다. 이러한 기술적 지표들은 또한 데이터 피드 서버들을 통해 수신된 금융 정보에 기초하여 시스템에 의해 계산될 수 있다. 데이터 피드 서버들은 또한, 시스템이 그것의 탐색 공간에서 구조화된 데이터뿐만 아니라 비구조화된(unstructured) 데이터도 참작할 수 있게 하기 위해 알고리즘들에 의해 이용되기 위한 비구조화된, 또는 정성적인(qualitative) 정보를 포함할 수 있다.
클라이언트-서버 구성 -- 데이터 및 프로세스 흐름들
다음은 본 발명의 예시적인 일 실시예에 따른 데이터 및 프로세스 흐름에 관한 예시이다. 이하에서 기술되는 다양한 동작들은 도 2에 관하여 도시된다. 화살표들 및 그것의 연관된 동작들은 동일한 참조 번호들을 사용하는 것으로 식별된다.
동작 1
인간 운영자는 동작 콘솔을 이용하여 문제 공간을 선택하고 이러한 문제 공간을 다루기 위해 하나 이상의 알고리즘들을 선택한다. 운영자는 동작 콘솔(220)을 이용하여 동작 1과 연관된 다음 파라미터들을 CSI(200)로 공급한다.
목표들: 목표들은 처리로부터 기인하리라 예상되는 거래 정책의 유형을 규정하고, 필요하거나 적절하다면 알고리즘(들)에 대한 성과의 임계값을 규정한다. 예는 다음과 같다. 거래 정책은 특정 증서(instrument)들(주식들, 상품들, 통화들, 인덱스들, 옵션들, 선물들, 이들의 조합들 등)을 "매입", "매도", "공매도", "공매도 주식 재매입(buy to cover)" 또는 "홀드"하기 위해 발행(issue)된다. 이러한 거래 정책은 레버리지를 허용할 수 있다. 거래 정책은 거래된 증서에 대하여 인게이징(engage)될 양들을 포함할 수 있다. 거래 정책은 금융 증서들의 오버나잇 홀딩(overnight holding)을 허용할 수 있거나 포지션이 그날의 특정 시간에 자동적으로 현금화되도록(liquidate) 요구할 수 있다.
탐색 공간: 탐색 공간은 알고리즘(들)에서 허용되는 조건들 또는 전망들을 규정한다. 예를 들어, 조건들 또는 전망들은 (a) 금융 증서들(주식들, 상품들, 선물들 등) (b) "틱(tick)들"(특정 시간에 증서의 시장 가격), 거래 량, 주식들의 경우 차주 잔고(short interest), 또는 선물들의 경우 미결제 약정(open interest)과 같은 특정 증서에 대한 원시(raw) 시장 데이터, (c) S&P 500 주가 지수 데이터, 또는 NYSE 금융 섹터 지수(섹터 특정 지표) 등과 같은 일반 시장 데이터를 포함한다. 이것들은 또한 (d) "기술적 지표들"과 같은 원시 시장 데이터의 파생 상품들- 수학적인 변환(transformation)들 -을 포함할 수 있다. 보통의 기술적 지표들은 다음을 포함한다[2008년 6월 4일자, 위키피디아 상의 "기술적 분석" 표제어로부터]:
·축적/분포 지수( Accumulation / distribution index ) - 일일 범위 내에서 장 종료(close)에 기초
·ATR ( Average true range ) - 평균화된 일일 거래 범위
·볼린저 밴드들( Bollinger Bands ) - 가격 변동성(volatility)의 범위
·브레이크아웃 ( Breakout ) - 가격이 지지선 또는 저항선의 영역을 통과하고 그 영역 위에서 머무를 때
·CCI ( Commodity Channel Index ) - 순환적인 추세들을 식별
·코포크 ( Coppock ) - 에드윈 코포크가 단지 하나의 목적을 가지고 코포크 지표를 발전시킴 : 상승 장세(bull markets)의 시작을 식별하기 위해
·엘리엇 파동 원리황금비 - 연속적인 가격 이동들 및 되돌림(retracement)들을 계산하기 위함
·히카케 패턴( Hikkake Pattern ) - 전환(reversal)들 및 지속(continuation)들을 식별하기 위한 패턴
·MACD - 이동 평균 수렴/확산(convergence/divergence)
·모멘텀 - 가격 변동의 비율
·자금 흐름 - 가격이 오른 날들에 거래된 주식의 양
·이동 평균 - 가격 움직임(price action)에 뒤쳐짐(lag behind)
·OBV ( On - balance volume ) - 주식들의 매입 및 매도의 모멘텀
·PAC 차트들 - 가격 레벨에 의한 거래량(거래량 대 가격 레벨)을 차트로 만들기 위한 2-차원적 방법
·파라볼릭 사( Parabolic SAR ) - 강한 추세 동안 포물 곡선 내에서 머무르는 경향이 있는 가격들에 기초한 Wilder의 트레일링 스탑( trailing stop )
·피벗 포인트 - 특정 통화 또는 주식의 고가, 저가 및 종가의 수치적 평균을 계산함으로써 유도
·P & F 차트( Point and figure chart )들 - 시간 없이 가격에 기초한 차트들
·이윤율( profitablity ) - 상이한 거래 시스템들 또는 하나의 시스템 내의 상이한 투자들의 성과들을 비교하기 위한 측정치
·BPV 레이팅 - 거래량 및 가격을 이용하여 전환들을 식별하기 위한 패턴
·RSI ( Relative Strength Index ) - 가격 강세(price strength)를 보여주는 오실레이터
·저항선 - 증가된 매도를 가져오는 영역
·RMO ( Rahul Mohindar Oscillator ) - 추세 식별 지표
·확률적( Stochastic ) 오실레이터 - 최근 거래 범위 내의 클로즈 포지션
·지지선 - 증가된 매입을 가져오는 영역
·추세선 - 지지 또는 저항의 기울기 선
·트릭스 ( Trix ) - Jack Hutson에 의해 1980년대에 개발된, Trix(triple-smoothed exponential) 이동 평균의 기울기를 보여주는 오실레이터
조건들 및 전망들은 또한 (e) 펀더멘털 분석 지표들을 포함할 수 있다. 이러한 지표들은 증서가 예를 들어, 기업의 이익-수익 비율(profit-earnings ratio) 또는 기어링 비율(총자본에 대한 자기자본의 비율)과 연관된 조직, (f) 시장 뉴스, 섹터 뉴스, 수익 발표들 등과 같은 정성적인 데이터 등에 관한 것이다. 이것들은 전형적으로 알고리즘에 의해 판독가능하도록 미리-처리되고 조직(organize)될 필요가 있는 비구조화된 데이터이다. 조건들 또는 전망들은 또한 (g) 알고리즘의 현재 거래 포지션(예를 들어, 알고리즘이 특정 증서에 관해 "롱(long)" 또는 "쇼트(short)"임) 및 현재 이익/손실 상황에 대한 인식을 포함할 수 있다.
조정가능한 알고리즘: 조정가능한 알고리즘은 최대 허용 룰들 또는 룰에 대한 조건/전망들과 같은, 특정 설정들을 규정한다. 예를 들어, 알고리즘은 5개의 '매입' 룰들, 및 5개의 '매도' 룰들을 갖도록 허용될 수 있다. 각각의 이러한 룰들은 5개의 주식-특정 기술적 지표들, 3개의 주식-특정 "틱" 데이터 포인트들 및 2개의 일반적 시장 지표들과 같이 10개의 조건들을 부여받을 수 있다.
가이던스( guidance ): 가이던스는 보다 양호한 성과를 보다 신속하게 성취하기 위해, 알고리즘(들)을 탐색 공간의 섹션을 향해 조향(steer)할 임의의 기존 또는 학습된 조건들 또는 전망들(인간이 생성했든지 또는 이전 처리 사이클로부터 생성되었든지)을 규정한다. 예를 들어 가이던스 조건은 주식의 시장가격에 있어서 매우 강한 이른 아침 상승이, 알고리즘이 하루 동안 주식에 대해 쇼트 포지션을 취하도록(베어리쉬(bearish) 함) 금지를 트리거할 것이라고 조건으로 지정할 수 있다.
데이터 필요조건들: 데이터 필요조건들은 i) 알고리즘들을 트레이닝하기 위해, 그리고 ii) 테스트를 받기 위해 알고리즘들에 의해 요구되는 현재 시점까지의 히스토리 금융 데이터를 규정한다. 데이터는 고려되는 특정 증서에 대한 또는 시장 또는 섹터들에 대한 원시 시장 데이터, 예를 들어 틱 데이터 및 거래량 데이터, 기술적 분석 지표 데이터, 펀더멘털 분석 지표 데이터뿐만 아니라 판독가능한 포맷으로 조직화된 비구조화된 데이터를 포함할 수 있다. 데이터는 위에서 규정된 "탐색 공간"의 범위에 대해 제공될 필요가 있다. "현재 시점"은 동적인 값으로 이해될 수 있고, 여기서 데이터는 끊임없이 업데이트되고 지속적으로(on a constant basis) 알고리즘(들)에 공급된다.
적시성( timeliness ): 적시성은 처리 태스크가 완료되어야 할 시간을 특정하기 위한 옵션을 운영자에게 제공한다. 이것은 CSI가 어떻게 계산 태스크들의 우선순위를 매길지에 관해 영향을 준다.
처리 능력 할당: 처리 능력 할당에 따라, 운영자는 특정 처리 태스크들의 우선순위를 매기고 처리 큐(이하 참조)를 바이패스할 수 있다. 동작 콘솔은 CSI로 상기 정보를 통신한다.
거래 실행: 거래 실행에 따라 운영자는, 동작 콘솔이 처리 활동(activity)의 결과들(및 거래 활동에 대해 인게이징된 양과 같은, 이러한 거래들의 조건들)에 기초하여 자동적인 거래들을 실행할지 여부, 또는 인간의 결정이 거래를 실행하기 위해 요구될지 여부를 규정(stipulate)한다. 이러한 설정들의 모두 또는 그 일부는 네트워크가 처리 활동을 실행하는 동안 수정될 수 있다.
동작 2
이러한 동작에 대해 2개의 시나리오들이 있다. 어느 경우에도, CSI(200)는 탐색 공간이 이미 소유(possess)하고 있지 않은 데이터를 탐색 공간이 요청하는지 여부를 식별한다.
시나리오 A: 동작 콘솔(220)로부터 동작 1 명령들을 수신할 때, CSI(200)는 알고리즘(들)을 노드(클라이언트-측) 실행가능한 코드로 포맷팅한다.
시나리오 B: CSI(200)는 알고리즘들을 클라이언트-측(노드들) 실행가능한 코드로 포맷팅하지 않는다. 이러한 시나리오에서, 노드들은 이미 그들 자신의 알고리즘 코드를 포함하고, 이러한 코드는 동작 10에 관하여 아래에서 더 기술되는 것처럼 때때로 업그레이드될 수 있다. 코드는 CSI(200)에 의해 종합되거나 선택된 결과들 및 노드들 상에서 실행된다.
동작 3
CSI(200)는 빠뜨린(missing) 데이터를 획득하기 위해 하나 이상의 데이터 피드 서버들로 API 호출을 한다. 예를 들어, 도 2에 도시된 것처럼 CSI(200)는, 그것이 1995년 내지 1999년 동안 제너럴 일렉트릭(GE) 주식에 대하여 5분 티커(ticker) 데이터를 갖고 있지 않다고 결정할 때, 이러한 정보를 획득하기 위해 데이터 피드 서버들(102 및 104)로 API 호출을 한다.
동작 4
이러한 동작에 따라, 데이터 피드 서버들은 요청된 데이터를 CSI에 업로드한다. 예를 들어 도 2에 도시된 것처럼 데이터 피드 서버들(102 및 104)은 요청된 정보를 CSI(200)에 업로드한다.
동작 5
데이터 피드 서버들로부터 요청된 데이터를 수신할 때, CSI(200)는 수행될 알고리즘들과 이러한 데이터를 매칭하고 모든 요구된 데이터의 이용가능성을 확인(confirm)한다. 그 후 이러한 데이터는 CSI(200)로 포워딩된다. 데이터가 완전하지 않은 경우, CSI(200)는 이하 더 기술되는 것처럼, 네트워크 노드들에게 그들이 스스로 데이터를 인출(fetch)하도록 요구되고 있음을 알리기 위해 플래그를 올릴 수 있다.
동작 6
이러한 동작에 대하여 2개의 시나리오들이 있다. 제 1 시나리오에 따라, 노드들은 정기적으로 그들의 이용가능성을 통지하기 위해 CSI에 핑(ping) 테스트를 한다. 제 2 시나리오에 따라, 노드들은 클라이언트 머신 상에서 실행되는 노드 클라이언트 상의 명령들 및 데이터에 대한 요청을 할 수 있다. CSI(200)는 클라이언트의 CSI(200)에 대한 액세스 시에 비로소 클라이언트에 대해 인식하게 된다. 이러한 시나리오에서, CSI(200)는 모든 접속된 클라이언트들에 대해 상태 테이블을 유지하지는 않는다.
동작 7
노드들의 박동(heartbeat) 신호들, 즉 그것의 이용가능성을 표시하는 노드들에 의해 생성된 신호, 또는 제 2 시나리오와 부합하는 그들의 명령들 및 데이터 요청들을 종합함으로써, CSI(200)는 항상 이용가능한 처리 용량에 대해 인식을 하고 있다. 아래에서 더 기술되는 것처럼, 종합(aggregation)은 각각의 노드에 연관된 박동 신호들의 수를 더하는 프로세스를 지칭한다. CSI(200)는 또한 동작 콘솔(220)에 이러한 정보를 실시간으로 제공한다. 이러한 정보뿐만 아니라, 예를 들어 동작 1에 관해 위에서 기술된 것처럼 적시성, 우선순위 처리, 등에 관한, 동작 콘솔로부터 수신된 다른 명령들에 기초하여, CSI(200)는 (i) 그 후 곧 주어진 수의 노드들에 우선순위 처리 할당(즉, 태스크의 우선순위에 기초하여 클라이언트 처리 능력을 할당)을 시행(enforce)하기로, 또는 (ii) 노드들의 활동 큐(activity queue)들에 새로운 처리 태스크를 추가하고 적시성 필요조건들에 기초하여 큐들을 관리하기로 결정한다.
CSI는 아래에서 더 기술되는 것처럼 목표들에 대한 계산들의 진행을 정기적으로 그리고 동적으로 평가할 뿐만 아니라, 태스크 스케줄링 관리자를 통해 활동 큐들에 대해 용량을 매칭한다. 우선순위 처리가 요구되는 경우를 제외하고(동작 1 참조), CSI는 활동 큐의 요구들을 다루기 위해 처리 용량 이용을 매칭하고 세그먼팅(segment)함으로써 처리 용량 이용을 최적화하려고 시도한다. 이러한 동작은 도 2에 도시되지 않는다.
동작 8
위 동작 7에서 기술된 것처럼, 이용가능한 네트워크 노드들의 수, 목표들/임계값들, 적시성 필요조건들, 및 다른 이러한 요소들에 기초하여, CSI(200)는 하나 이상의 분산 패키지들을 형성하고, 그 후 CSI는 처리를 위해 선택된 이용가능한 노드들로 이러한 패키지들을 전달한다. 분산 패키지에는 예를 들어, (i) 유전적 알고리즘의 경우 유전자들을 포함하는 부분적 또는 완전한(full) 알고리즘의 표현(XML 표현), (ii) 대응하는 부분적 또는 완전한(complete) 데이터(위의 동작 5 참조), (iii) 노드의 컴퓨팅 활동 설정들 및 실행 명령들(이것은 노드-특정 또는 일반적인(generic) 컴퓨팅 목표/임계값, 처리 시간표(timeline), 노드로부터 직접 데이터 피드 서버들로 빠뜨린 데이터를 요청하는 호출을 트리거하기 위한 플래그 등을 포함할 수 있음)이 포함된다. 일 예에서 임계값 파라미터는 CSI(200)에 현재 존재하는 최악의-성과 알고리즘의 적합성 또는 코어 성과 메트릭으로서 규정될 수 있다. 예를 들어 처리 시간표는 한 시간 또는 24 시간을 포함할 수 있다. 대안적으로 시간표는 조정이 가능(open-ended)할 수 있다. 도 2를 참조하면, CSI(200)는 우선순위 처리 할당을 시행하고 노드들(3 및 4)로 패키지를 분산시키기 위해 노드들(3 및 4)과 통신하는 것으로 도시된다.
노드가 실행 명령들뿐만 아니라 위 동작 2에서 기술된 것처럼 이미 그 자신의 알고리즘 코드를 포함하는 경우, CSI로부터 그것이 수신하는 패키지는 전형적으로 그것의 알고리즘을 실행하기 위해 노드들이 요구하는 데이터만을 포함한다. 도 2의 노드(5)는 그 자신의 알고리즘을 포함하는 것으로 가정되고 동작 8과 연관된 데이터만을 수신하기 위해 CSI(200)과 통신하는 것으로 도시된다.
동작 9
선택된 구현에 따라 이러한 동작에 대해 2개의 가능한 시나리오들이 있다. 제 1 시나리오에 따라, CSI(200)는 처리를 위해 선택된 모든 노드들로 분산 패키지(들)을 전송한다. 제 2 시나리오에 따라, CSI(200)는 노드들에 의한 요청 시에, 이러한 요청을 전송한 각각의 노드로 분산 패키지, 또는 요청에 의해 지시되는 분산 패키지의 관련 부분을 전송한다. 이러한 동작은 도 2에 도시되지 않는다.
동작 10
각각의 선택된 노드는 CSI(200)에 의해 전송된 패키지의 내용을 해석하고 요구되는 명령들을 실행한다. 이러한 노드들은 병렬적으로 계산하고, 각각의 노드는 이러한 노드에 할당된 태스크를 풀이하도록 지향된다. 노드가 그것의 계산들을 수행하기 위해 추가적인 데이터를 요구하는 경우, 연관된 명령들은 이러한 노드가 CSI(200)으로부터 노드들의 로컬 데이터베이스로 보다 많은/상이한 데이터를 업로드하도록 촉구할 수 있다. 대안적으로, 그렇게 하도록 구성된 경우, 노드는 자발적으로 데이터 피드 서버들에 액세스하고 데이터 업로드 요청을 할 수 있다. 도 2의 노드(5)는 요청된 데이터를 업로드하기 위해 데이터 피드 서버(106)와 통신하는 것으로 도시된다.
노드들은 추가적인 유전자들(유전적 알고리즘이 이용될 때) 및 데이터를 위해 CSI에 정기적으로 핑 테스트를 하도록 구성될 수 있다. CSI(200)는 그것이 다양한 노드들에 무작위로 전송하는 명령들/데이터를 관리하도록 구성될 수 있다. 결과적으로 이러한 실시예들에서, CSI는 어떠한 특정 노드에도 의존하지 않는다.
때때로 노드들의 클라이언트 코드(즉, 클라이언트 상에 설치된 실행가능한 코드)에 대한 업데이트들도 필요하다. 따라서, 실행 명령들을 규정하는 코드는 노드들의 클라이언트에게 코드의 보다 새로운 버전을 다운로드하고 설치하라고 지시할 수 있다. CSI에 의해 유발될 수 있거나 우연히 일어날 수 있는 인터럽션의 경우에 노드가 중지했던 처리를 픽업하여 계속할 수 있도록, 노드들의 클라이언트는 정기적으로 노드의 로컬 드라이브로 그것의 처리 결과들을 로딩한다. 따라서, 본 발명에 따라 수행되는 처리는 어떠한 특정 노드의 이용가능성에도 의존하지 않는다. 그러므로, 노드가 다운되고 어떠한 이유로 이용가능하지 않게 된 경우에도 특정 태스크를 재할당할 필요가 없다.
동작 11
(i) 위에서 동작 8에 관해 기술된 것처럼 특정된 목표/임계값, (ii) 또한 위에서 동작 8에 관해 기술된 것처럼 계산을 위한 최대 할당된 시간에 도달할 때, 또는 (iii) CSI로부터 요청 시에, 노드는 CSI 상에서 실행되는 API를 호출한다. API에 대한 호출은 노드의 현재 이용가능성에 관한 데이터, 마지막 이러한 통신 이래로 그것의 현재 용량(조건들 (i) 또는 (ii)가 이전에 만족되지 않고/않거나 클라이언트가 추가적인 처리 용량을 갖는 경우) 프로세스 히스토리, 관련된 처리 결과들, 즉 문제에 대한 최근의 솔루션들, 및 노드의 클라이언트 코드가 업그레이드될 필요가 있는지 여부에 대한 체크를 포함할 수 있다. 이러한 통신이 동기적, 즉 모든 노드들이 동시에 그들의 결과들을 전송할 수 있거나, 또는 비동기적, 즉 노드들의 설정들 또는 노드들로 전송된 명령들에 따라 상이한 시간에 상이한 노드들이 그들의 결과들을 전송할 수 있다. 도 2에서, 노드 1은 CSI(200)로 API 호출을 하는 것으로 도시된다.
동작 12
하나 이상의 노드들로부터 결과들을 수신할 때, CSI는 이러한 결과들을 i) 초기 목표들; 및/또는 ii) 다른 노드들에 의해 획득된 결과들과 대조하여 비교하기 시작한다. CSI는 임의의 시점에 노드들에 의해 생성된 최상의 솔루션들의 목록을 유지한다. 유전적 알고리즘의 경우, 최상의 솔루션들은 예를 들어 상위 1000개의 유전자들일 수 있고, 이것은 성과 순으로 순위 매겨질 수 있고 따라서 그들의 처리 활동들을 계속함에 따라 이러한 유전자들로 하여금 노드들이 초과할 최소 임계값을 설정하도록 할 수 있다.
동작 13
노드가 동작 11에 기술된 것처럼 CSI(200)에 컨택(contact)할 때, CSI(200)는 이러한 노드로 하여금 예를 들어, 새로운 데이터를 업로드, 그 자신을 업그레이드(즉, 클라이언트 실행가능 코드의 최근 버전을 다운로드 및 설치), 셧-다운, 등을 하게 할 명령들을 이러한 노드로 리턴할 수 있다. CSI는 그것의 분산 패키지의 내용을 동적으로 진화시키도록 더 구성될 수 있다. 이러한 진화는 (i) 알고리즘, (ii) 알고리즘을 트레이닝 또는 실행하기 위해 선택된 데이터 세트들, (iii) 또는 노드의 컴퓨팅 활동 설정들에 대하여 수행될 수 있다. 알고리즘 진화는, 노드들의 처리의 결과로서 성취된 개선점들을 통합하거나, 알고리즘이 작동하는 탐색 공간에 차원들을 추가함으로써 수행될 수 있다. CSI(200)는 위에서 동작 4에 관해 기술된 것처럼 노드들로 클라이언트-실행가능 코드를 제공하도록(seed) 구성된다. 결과적으로 새로운, 개선된, 알고리즘(들)이 진화하는 것이 가능해진다.
동작 14
상기 동작들과 연관된 프로세스들은 다음 조건들 중 하나가 만족될 때까지 지속적으로 반복된다: i) 목표에 도달, ii) 처리 태스크가 완료되어야 하는 시간에 도달(위에서 기술된 동작 2 참조), iii) 우선순위 태스크가 처리에서 인터럽션을 초래하면서 스케줄링됨, iv) CSI의 태스크 스케줄 관리자가 활동 큐의 관리에서 우선순위들을 스위칭함(상기 동작 7 참조), 또는 v) 인간 운영자가 계산을 중지 또는 취소(cancel)함.
상기 iii) 또는 iv) 경우처럼 태스크가 인터럽트되는 경우, 알고리즘(들)의 상태, 데이터 세트들, 결과들의 히스토리 및 노드 활동 설정들은, 처리 용량이 다시 이용가능할 때 태스크가 재개되도록 허용하기 위해, CSI(200)에서 캐싱(cache)된다. 프로세스 종료는 또한 CSI(200)과 컨택한 임의의 노드로 CSI(200)에 의해 시그널링된다. 임의의 주어진 포인트에서, CSI(200)는 컨택을 위한 노드의 요청을 무시하기로 선택하고, 노드를 셧 다운하며, 당면한 작업이 종료되었음을 노드에게 시그널링 등을 할 수 있다.
동작 15
CSI(200)는 (i) 정기적으로, (ii) 동작 콘솔(220)로부터 요청 시에, (iii) 처리가 완료될 때, 즉 처리 태스크의 목표에 도달한 경우, 또는 (iv) 처리 태스크가 완료되어야 하는 시간에 도달할 때, 태스크 처리 활동들의 상태를 동작 콘솔(220)에 통지한다. 각각의 상태 업데이트 시에 또는 처리 활동의 완료 시에, CSI(200)는 상태 업데이트 시 또는 완료 시에 최상의 알고리즘으로 지칭되는 것을 제공한다. 최상의 알고리즘은 노드들 및 CSI(200)의 처리 활동들, 및 결과들 및 네트워크에 의해 착수된 진화 활동들에 대해 수행된 비교 분석의 결과이다.
동작 16
거래하겠다는 결정 또는 거래하지 않겠다는 결정이, 최상의 알고리즘(들)에 따른 거래 정책(들)에 기초하여 이루어진다. 이러한 결정은, 특정 태스크에 대해 선택된 설정들에 따라(동작 1 참조), 동작 콘솔(220)에 의해 자동적으로, 또는 운영자에 의한 승인 시에 이루어질 수 있다. 이러한 동작은 도 2에 도시되지 않는다.
동작 17
동작 콘솔(220)은 거래 주문이 실행 플랫폼의 API 포맷에 부합하도록 거래 주문을 포맷팅한다. 거래 주문은 전형적으로 (i) 증서, (ii) 거래될 증서의 액면금액(denomination)의 양, (iii) 주문이 지정가 주문(limit order)인지 또는 시장가 주문인지에 관한 결정, (iv) 선택된 최상의 알고리즘(들)의 거래 정책(들)에 따라 매입 또는 매도, 또는 공매도 주식 재매입(buy to cover) 또는 공매도를 해야할지 여부에 관한 결정을 포함할 수 있다. 이러한 동작은 도 2에 도시되지 않는다.
동작 18
동작 콘솔은 실행 플랫폼(300)으로 거래 주문을 전송한다.
동작 19
거래는 실행 플랫폼(300)에 의해 금융 시장들에서 실행된다.
도 3은 클라이언트(300) 및 서버(350)에 배치된 다수의 컴포넌트들/모듈들을 도시한다. 도시된 것처럼, 각각의 클라이언트는 클라이언트에 의해 무작위로 최초 생성된 모든 유전자들의 풀(302)을 포함한다. 무작위로 생성된 유전자들은 평가 모듈(304)을 이용하여 평가된다. 평가는 풀 내의 각각의 유전자에 대해 수행된다. 각각의 유전자는 많은 날들, 예를 들어 100일의 기간을 통해 무작위로 선택된 다수의 주식들 또는 주가 지수들을 통해 실행된다. 모든 유전자들에 대한 평가의 완료 시에, 유전자들 중 최상의 성과 유전자들(예를 들어, 상위 5%)이 선택되고 엘리트 풀(elitist pool)(306)에 위치된다.
엘리트 풀 내의 유전자들은 번식을 하도록 허용된다. 이것을 성취하기 위해 유전자 번식 모듈(308)은 무작위로 둘 이상의 유전자들을 선택 및 조합, 즉 부모 유전자들을 생성하기 위해 이용된 룰들을 혼합함으로써 조합한다. 풀(302)은 그 후, 엘리트 풀 내에 있던 유전자들뿐만 아니라 새로이 생성된 유전자들(자녀 유전자들)로 채워진다(repopulated). 오래된 유전자 풀은 폐기된다. 풀(302) 내의 유전자들의 새로운 개체군은 위에서 기술된 것처럼 계속하여 평가된다.
유전자 선택 모듈(310)은, 그렇게 하도록 요청될 때, 서버(350)로 보다 양호하고 보다 적합한(more fitting) 유전자들을 공급하도록 구성된다. 예를 들어, 서버(350)는 "나의 최악의 유전자에 대한 적합성은 X인데, 당신은 이보다 성과가 양호한 유전자들을 가지고 있습니까?"라고 진술하는 문의를 유전자 선택 모듈(310)에 전송할 수 있다. 유전자 선택 모듈(310)은 "나는 보다 양호한 이러한 10개의 유전자들을 가지고 있습니다"라고 진술함으로써 응답할 수 있고, 이러한 유전자들을 서버로 전송하려고 시도할 수 있다.
새로운 유전자가 서버(350)에 의해 수용되기 전에, 유전자는 서버에 배치된 부정 방지(fraud detection) 모듈에 의한 부정 방지 프로세스를 거친다. 기여/종합 모듈(354)은 각각의 클라이언트에 의한 기여를 추적하여 이러한 기여를 종합하도록 구성된다. 몇몇 클라이언트들은 매우 활동적일 수 있는 한편 다른 것들은 그렇지 않을 수 있다. 몇몇 클라이언트들은 다른 것보다 훨씬 빠른 머신들 상에서 실행될 수 있다. 클라이언트 데이터베이스(356)는 각각의 클라이언트에 의해 기여된 처리 능력을 이용하여 기여/종합 모듈(354)에 의해 업데이트된다.
유전자 수용(acceptance) 모듈(360)은, 유전자들이 서버 풀(358)에 추가되기 전에 이미 서버 풀(358)에 있는 유전자들보다 클라이언트로부터 도달한 유전자들이 더 양호함을 보장하도록 구성된다. 따라서, 유전자 수용 모듈(360)은 ID를 이용하여 각각의 수용된 유전자를 날인(stamp)하고, 수용된 유전자를 서버 풀(358)에 추가하기 전에 다수의 대청소 동작들을 수행한다.
도 4는 도 1의 각각의 처리 디바이스에 배치된 다양한 컴포넌트들을 도시한다. 각각의 처리 디바이스는, 버스 서브시스템(404)을 통해 다수의 주변(peripheral) 디바이스들과 통신하는 적어도 하나의 프로세서(402)를 포함하는 것으로 도시된다. 이러한 주변 디바이스들은 부분적으로 메모리 서브시스템(408) 및 파일 저장 서브시스템(410)을 포함하는 저장 서브시스템(406), 사용자 인터페이스 입력 디바이스들(412), 사용자 인터페이스 출력 디바이스들(414), 및 네트워크 인터페이스 서브시스템(416)을 포함할 수 있다. 입력 디바이스 및 출력 디바이스는 데이터 처리 시스템(402)과의 사용자 상호작용을 허용한다.
네트워크 인터페이스 서브시스템(416)은 다른 컴퓨터 시스템들, 네트워크들, 및 저장 리소스들(404)로 인터페이스를 제공한다. 이러한 네트워크들은 인터넷, 로컬 영역 네트워크(LAN), 광역 네트워크(WAN), 무선 네트워크, 인트라넷, 개인(private) 네트워크, 공공(public) 네트워크, 스위칭된 네트워크, 또는 임의의 다른 적합한 통신 네트워크를 포함할 수 있다. 네트워크 인터페이스 서브시스템(416)은 다른 소스들로부터 데이터를 수신하기 위한, 그리고 처리 디바이스로부터 다른 소스들로 데이터를 송신하기 위한 인터페이스로서 기능한다. 네트워크 인터페이스 서브시스템(416)의 실시예들은 이더넷 카드, 모뎀(전화, 위성, 케이블, IDSN 등), (비동기) 디지털 가입자 라인(DSL) 유닛들, 등을 포함한다.
사용자 인터페이스 입력 디바이스들(412)은 키보드, 마우스, 트랙볼, 터치패드와 같은 포인팅 디바이스들, 또는 그래픽 태블릿, 스캐너, 바코드 스캐너, 디스플레이로 통합된 터치스크린, 음성 인식 시스템들과 같은 오디오 입력 디바이스들, 마이크로폰들, 및 다른 유형의 입력 디바이스들을 포함할 수 있다. 일반적으로, 용어 입력 디바이스의 사용은 처리 디바이스에 정보를 입력하는 모든 가능한 유형의 디바이스들 및 방법들을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스들(414)은 디스플레이 서브시스템, 프린터, 팩스 머신, 또는 오디오 출력 디바이스들과 같은 비-시각적 디스플레이들을 포함할 수 있다. 디스플레이 서브시스템은 CRT(cathode ray tube), LCD(liquid crystal display)와 같은 플랫-패널 디바이스, 또는 프로젝션 디바이스일 수 있다. 일반적으로, 용어 출력 디바이스의 사용은 처리 디바이스로부터 정보를 출력하는 모든 가능한 유형의 디바이스들 및 방법들을 포함하도록 의도된다. 저장 서브시스템(406)은 본 발명의 실시예들에 따른 기능을 제공하는 기본 프로그래밍 및 데이터 구조들을 저장하도록 구성될 수 있다. 예를 들어, 본 발명의 일 실시예에 따라, 본 발명의 기능을 구현하는 소프트웨어 모듈들은 저장 서브시스템(406)에 저장될 수 있다. 이러한 소프트웨어 모듈들은 프로세서(들)(402)에 의해 실행될 수 있다. 저장 서브시스템(406)은 또한 본 발명에 따라 이용되는 데이터를 저장하기 위한 저장소를 제공할 수 있다. 저장 서브시스템(406)은 예를 들어 메모리 서브시스템(408) 및 파일/디스크 저장 서브시스템(410)을 포함할 수 있다.
메모리 서브시스템(408)은 프로그램 실행 동안 명령들 및 데이터의 저장을 위한 메인 랜덤 액세스 메모리(RAM)(418) 및 고정된 명령들이 저장되는 리드 온리 메모리(ROM)(420)를 포함하는 다수의 메모리들을 포함할 수 있다. 파일 저장 서브시스템(410)은 프로그램 및 데이터 파일들을 위해 지속성 있는(비-휘발성) 저장소를 제공하고, 연관된 휴대용(removable) 매체, CD-ROM(Compact Disk Read Only Memory) 드라이브, 광학 드라이브, 휴대용 매체 카트리지들, 및 다른 유사한 저장 매체와 함께 하드 디스크 드라이브, 플로피 디스크 드라이브를 포함할 수 있다.
버스 서브시스템(404)은 처리 디바이스의 다양한 컴포넌트들 및 서브시스템들이 서로 통신할 수 있도록 하기 위한 메커니즘을 제공한다. 버스 서브시스템(404)은 단일한 버스로 개략적으로 도시되지만, 버스 서브시스템의 대안적인 실시예들은 다수의 버스들을 이용할 수 있다.
처리 디바이스는 PC(personal computer), 포터블 컴퓨터, 워크스테이션, 네트워크 컴퓨터, 메인프레임, 키오스크, 또는 임의의 다른 데이터 처리 시스템을 포함하는 다양한 유형들을 가질 수 있다. 도 4에 도시된 처리 디바이스에 관한 설명은 단지 하나의 예시로서 의도되는 것임이 이해된다. 도 2에 도시된 시스템보다 많거나 적은 컴포넌트들을 가지는 많은 다른 구성들이 가능하다.
본 발명의 상기 실시예들은 예시적인 것이고, 제한적인 것은 아니다. 다양한 대안들 및 균등물들이 가능하다. 다른 추가들, 공제들(subtractions) 또는 수정들은 본 개시내용의 관점에서 명백하고, 첨부된 청구항들의 범위에 들도록 의도된다.

Claims (7)

  1. 계산(computational) 태스크를 수행하도록 구성된 네트워킹된(networked) 컴퓨터 시스템으로서,
    시간에 따라 진화(evolve)할 수 있게 되는 다수의 알고리즘들을 다수의 처리 디바이스들 사이에서 무작위로 분산(distribute)시키도록 구성된 모듈;
    미리 규정된(predefined) 조건에 따라 상기 진화된 다수의 알고리즘들 중 하나 이상을 선택하도록 구성된 모듈; 및
    상기 계산 태스크를 수행하기 위해 상기 선택된 하나 이상의 알고리즘들을 적용하도록 구성된 모듈을 포함하고,
    상기 계산 태스크는 금융 알고리즘을 나타내는,
    계산 태스크를 수행하도록 구성된 네트워킹된 컴퓨터 시스템.
  2. 제 1 항에 있어서,
    상기 다수의 처리 디바이스들 각각에 대하여 보상 레벨을 유지하도록 구성된 모듈을 더 포함하는,
    계산 태스크를 수행하도록 구성된 네트워킹된 컴퓨터 시스템.
  3. 제 1 항에 있어서,
    상기 처리 디바이스들 중 적어도 하나는 중앙 처리 장치들의 클러스터를 포함하는,
    계산 태스크를 수행하도록 구성된 네트워킹된 컴퓨터 시스템.
  4. 제 1 항에 있어서,
    적어도 하나의 보상은 금융 보상인,
    계산 태스크를 수행하도록 구성된 네트워킹된 컴퓨터 시스템.
  5. 제 1 항에 있어서,
    상기 처리 디바이스들 중 적어도 하나는 중앙 처리 장치 및 호스트 메모리를 포함하는,
    계산 태스크를 수행하도록 구성된 네트워킹된 컴퓨터 시스템.
  6. 제 1 항에 있어서,
    상기 다수의 알고리즘들 중 적어도 하나는 하나 이상의 자산들에 대한 위험-조정 성과(risk-adjusted performance)의 측정(measure)을 제공하는,
    계산 태스크를 수행하도록 구성된 네트워킹된 컴퓨터 시스템.
  7. 제 1 항에 있어서,
    적어도 하나의 보상은 상품/서비스들로 이루어지는,
    계산 태스크를 수행하도록 구성된 네트워킹된 컴퓨터 시스템.
KR1020107012595A 2007-11-08 2008-11-07 복잡한 알고리즘들을 수행하기 위한 분산 네트워크 KR20100123817A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US98653307P 2007-11-08 2007-11-08
US60/986,533 2007-11-08
US7572208P 2008-06-25 2008-06-25
US61/075,722 2008-06-25

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020157002601A Division KR101600303B1 (ko) 2007-11-08 2008-11-07 복잡한 알고리즘들을 수행하기 위한 분산 네트워크

Publications (1)

Publication Number Publication Date
KR20100123817A true KR20100123817A (ko) 2010-11-25

Family

ID=40624631

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020107012595A KR20100123817A (ko) 2007-11-08 2008-11-07 복잡한 알고리즘들을 수행하기 위한 분산 네트워크
KR1020157002601A KR101600303B1 (ko) 2007-11-08 2008-11-07 복잡한 알고리즘들을 수행하기 위한 분산 네트워크

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020157002601A KR101600303B1 (ko) 2007-11-08 2008-11-07 복잡한 알고리즘들을 수행하기 위한 분산 네트워크

Country Status (13)

Country Link
US (2) US20090125370A1 (ko)
EP (1) EP2208136A4 (ko)
JP (2) JP5466163B2 (ko)
KR (2) KR20100123817A (ko)
CN (2) CN106095570A (ko)
AU (1) AU2008323758B2 (ko)
BR (1) BRPI0819170A8 (ko)
CA (1) CA2706119A1 (ko)
IL (1) IL205518A (ko)
RU (2) RU2502122C2 (ko)
SG (1) SG190558A1 (ko)
TW (1) TWI479330B (ko)
WO (1) WO2009062090A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101474704B1 (ko) * 2014-03-28 2014-12-22 주식회사 지오그린이십일 유전자 알고리즘을 이용한 양수처리 최적화 방법 및 시스템

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8909570B1 (en) 2008-11-07 2014-12-09 Genetic Finance (Barbados) Limited Data mining technique with experience-layered gene pool
US8204717B2 (en) * 2009-04-01 2012-06-19 Honeywell International Inc. Cloud computing as a basis for equipment health monitoring service
US9412137B2 (en) * 2009-04-01 2016-08-09 Honeywell International Inc. Cloud computing for a manufacturing execution system
US8555381B2 (en) * 2009-04-01 2013-10-08 Honeywell International Inc. Cloud computing as a security layer
US9218000B2 (en) 2009-04-01 2015-12-22 Honeywell International Inc. System and method for cloud computing
US7970830B2 (en) * 2009-04-01 2011-06-28 Honeywell International Inc. Cloud computing for an industrial automation and manufacturing system
KR101689908B1 (ko) * 2009-04-28 2016-12-26 센티언트 테크놀로지스 (바베이도스) 리미티드 자산 관리 및 거래를 위한 분산 진화 알고리즘
JP5686795B2 (ja) * 2009-04-28 2015-03-18 センティエント テクノロジーズ (バルバドス) リミテッド クラスベースの資産管理及び資産取引の為の分散型進化的アルゴリズム
KR101079828B1 (ko) 2010-03-30 2011-11-03 (주)한양정보통신 그리드 컴퓨팅 시스템 및 그리드 컴퓨팅 서비스 제공방법
TWI549083B (zh) * 2010-05-14 2016-09-11 思騰科技(巴貝多)有限公司 用於資產管理與交易之以類別為基礎的分散式進化演算法
TWI503777B (zh) * 2010-05-17 2015-10-11 Sentient Technologies Barbados Ltd 用於資產管理與交易之分散式進化演算法
WO2012050576A1 (en) * 2010-10-13 2012-04-19 Hewlett-Packard Development Company, L.P. Automated negotiation
US20120116958A1 (en) * 2010-11-09 2012-05-10 Soholt Cameron W Systems, devices and methods for electronically generating, executing and tracking contribution transactions
US8583530B2 (en) 2011-03-17 2013-11-12 Hartford Fire Insurance Company Code generation based on spreadsheet data models
TWI560634B (en) * 2011-05-13 2016-12-01 Univ Nat Taiwan Science Tech Generating method for transaction modes with indicators for option
US9710764B1 (en) 2011-07-15 2017-07-18 Sentient Technologies (Barbados) Limited Data mining technique with position labeling
US9304895B1 (en) 2011-07-15 2016-04-05 Sentient Technologies (Barbados) Limited Evolutionary technique with n-pool evolution
US9367816B1 (en) * 2011-07-15 2016-06-14 Sentient Technologies (Barbados) Limited Data mining technique with induced environmental alteration
US9002759B2 (en) * 2011-07-15 2015-04-07 Sentient Technologies (Barbados) Limited Data mining technique with maintenance of fitness history
US9256837B1 (en) 2011-07-15 2016-02-09 Sentient Technologies (Barbados) Limited Data mining technique with shadow individuals
US9250966B2 (en) * 2011-08-11 2016-02-02 Otoy, Inc. Crowd-sourced video rendering system
US9269063B2 (en) 2011-09-23 2016-02-23 Elwha Llc Acquiring and transmitting event related tasks and subtasks to interface devices
US20130086589A1 (en) * 2011-09-30 2013-04-04 Elwha Llc Acquiring and transmitting tasks and subtasks to interface
US9536517B2 (en) 2011-11-18 2017-01-03 At&T Intellectual Property I, L.P. System and method for crowd-sourced data labeling
CN102737126B (zh) * 2012-06-19 2014-03-12 合肥工业大学 云计算环境下的分类规则挖掘方法
US9953137B2 (en) * 2012-07-06 2018-04-24 Nant Holdings Ip, Llc Healthcare analysis stream management
US10025700B1 (en) * 2012-07-18 2018-07-17 Sentient Technologies (Barbados) Limited Data mining technique with n-Pool evolution
CN102929718B (zh) * 2012-09-17 2015-03-11 厦门坤诺物联科技有限公司 一种基于任务调度的分布式gpu计算机系统
US20140106837A1 (en) * 2012-10-12 2014-04-17 Microsoft Corporation Crowdsourcing to identify guaranteed solvable scenarios
WO2014145006A1 (en) * 2013-03-15 2014-09-18 Integral Development Inc. Method and apparatus for generating and facilitating the application of trading algorithms across a multi-source liquidity market
CN104166538A (zh) * 2013-05-16 2014-11-26 北大方正集团有限公司 一种数据任务处理方法及系统
US9633317B2 (en) 2013-06-20 2017-04-25 Viv Labs, Inc. Dynamically evolving cognitive architecture system based on a natural language intent interpreter
US9594542B2 (en) 2013-06-20 2017-03-14 Viv Labs, Inc. Dynamically evolving cognitive architecture system based on training by third-party developers
US9519461B2 (en) 2013-06-20 2016-12-13 Viv Labs, Inc. Dynamically evolving cognitive architecture system based on third-party developers
US10474961B2 (en) 2013-06-20 2019-11-12 Viv Labs, Inc. Dynamically evolving cognitive architecture system based on prompting for additional user input
US10242407B1 (en) 2013-09-24 2019-03-26 Innovative Market Analysis, LLC Financial instrument analysis and forecast
CN103475672B (zh) * 2013-09-30 2016-08-17 南京大学 一种云计算平台中成本最小化的防火墙设置方法
JP2015108807A (ja) * 2013-10-23 2015-06-11 株式会社インテック データ秘匿型統計処理システム、統計処理結果提供サーバ装置及びデータ入力装置、並びに、これらのためのプログラム及び方法
CN103530784B (zh) * 2013-10-30 2017-03-22 无锡路凯科技有限公司 一种众包应用的补偿方法和装置
CN104133667B (zh) * 2013-11-29 2017-08-01 腾讯科技(成都)有限公司 实现人工智能行为的方法、装置及人工智能编辑器
US20150154706A1 (en) * 2013-12-02 2015-06-04 Finmason, Inc. Systems and methods for financial asset analysis
CN103812693B (zh) * 2014-01-23 2017-12-12 汉柏科技有限公司 一种基于不同类型服务的云计算防护处理方法及系统
US10268953B1 (en) 2014-01-28 2019-04-23 Cognizant Technology Solutions U.S. Corporation Data mining technique with maintenance of ancestry counts
US11288579B2 (en) 2014-01-28 2022-03-29 Cognizant Technology Solutions U.S. Corporation Training and control system for evolving solutions to data-intensive problems using nested experience-layered individual pool
US10430709B2 (en) 2016-05-04 2019-10-01 Cognizant Technology Solutions U.S. Corporation Data mining technique with distributed novelty search
US10795893B2 (en) 2014-03-07 2020-10-06 Capitalogix Ip Owner, Llc Systems and methods for allocating capital to trading strategies for big data trading in financial markets
CN106033332B (zh) * 2015-03-10 2019-07-26 阿里巴巴集团控股有限公司 一种数据处理方法及设备
US10503145B2 (en) 2015-03-25 2019-12-10 Honeywell International Inc. System and method for asset fleet monitoring and predictive diagnostics using analytics for large and varied data sources
WO2016207731A2 (en) 2015-06-25 2016-12-29 Sentient Technologies (Barbados) Limited Alife machine learning system and method
US10362113B2 (en) 2015-07-02 2019-07-23 Prasenjit Bhadra Cognitive intelligence platform for distributed M2M/ IoT systems
CN105117619A (zh) * 2015-08-10 2015-12-02 杨福辉 一种全基因组测序数据分析方法
US10430429B2 (en) 2015-09-01 2019-10-01 Cognizant Technology Solutions U.S. Corporation Data mining management server
CN108352034A (zh) * 2015-09-14 2018-07-31 赛义德·卡姆兰·哈桑 永久赠与系统
RU2018128029A (ru) 2016-01-05 2020-02-06 Сентиент Текнолоджис (Барбадос) Лимитед Система генерирования и тестирования веб-интерфейса на основе машинного обучения
US10657199B2 (en) 2016-02-25 2020-05-19 Honeywell International Inc. Calibration technique for rules used with asset monitoring in industrial process control and automation systems
US10776706B2 (en) 2016-02-25 2020-09-15 Honeywell International Inc. Cost-driven system and method for predictive equipment failure detection
TWI587153B (zh) * 2016-03-03 2017-06-11 先智雲端數據股份有限公司 藉由對執行中的工作負載之學習而部署儲存系統資源的方法
US10956823B2 (en) 2016-04-08 2021-03-23 Cognizant Technology Solutions U.S. Corporation Distributed rule-based probabilistic time-series classifier
US10853482B2 (en) 2016-06-03 2020-12-01 Honeywell International Inc. Secure approach for providing combined environment for owners/operators and multiple third parties to cooperatively engineer, operate, and maintain an industrial process control and automation system
US9965703B2 (en) * 2016-06-08 2018-05-08 Gopro, Inc. Combining independent solutions to an image or video processing task
US10423800B2 (en) 2016-07-01 2019-09-24 Capitalogix Ip Owner, Llc Secure intelligent networked architecture, processing and execution
JP6363663B2 (ja) * 2016-08-08 2018-07-25 三菱Ufj信託銀行株式会社 人工知能を用いたファンド運用システム
US10310467B2 (en) 2016-08-30 2019-06-04 Honeywell International Inc. Cloud-based control platform with connectivity to remote embedded devices in distributed control system
US11250327B2 (en) 2016-10-26 2022-02-15 Cognizant Technology Solutions U.S. Corporation Evolution of deep neural network structures
US10839938B2 (en) 2016-10-26 2020-11-17 Cognizant Technology Solutions U.S. Corporation Filtering of genetic material in incremental fitness evolutionary algorithms based on thresholds
KR101891125B1 (ko) * 2016-12-07 2018-08-24 데이터얼라이언스 주식회사 분산된 네트워크 노드의 서비스 기여도 산출 시스템 및 방법
CN108234565A (zh) * 2016-12-21 2018-06-29 天脉聚源(北京)科技有限公司 一种服务器集群处理任务的方法和系统
CN106648900B (zh) * 2016-12-28 2020-12-08 深圳Tcl数字技术有限公司 基于智能电视的超算方法及系统
US10387679B2 (en) 2017-01-06 2019-08-20 Capitalogix Ip Owner, Llc Secure intelligent networked architecture with dynamic feedback
US11403532B2 (en) 2017-03-02 2022-08-02 Cognizant Technology Solutions U.S. Corporation Method and system for finding a solution to a provided problem by selecting a winner in evolutionary optimization of a genetic algorithm
US10726196B2 (en) 2017-03-03 2020-07-28 Evolv Technology Solutions, Inc. Autonomous configuration of conversion code to control display and functionality of webpage portions
US10744372B2 (en) * 2017-03-03 2020-08-18 Cognizant Technology Solutions U.S. Corporation Behavior dominated search in evolutionary search systems
US11507844B2 (en) 2017-03-07 2022-11-22 Cognizant Technology Solutions U.S. Corporation Asynchronous evaluation strategy for evolution of deep neural networks
CN107172160B (zh) * 2017-05-23 2019-10-18 中国人民银行清算总中心 支付业务系统的服务控制管理组件装置
CN107204879B (zh) * 2017-06-05 2019-09-20 浙江大学 一种基于指数移动平均的分布式系统自适应故障检测方法
US11281977B2 (en) 2017-07-31 2022-03-22 Cognizant Technology Solutions U.S. Corporation Training and control system for evolving solutions to data-intensive problems using epigenetic enabled individuals
CN107480717A (zh) * 2017-08-16 2017-12-15 北京奇虎科技有限公司 训练作业处理方法及系统、计算设备、计算机存储介质
US10887235B2 (en) 2017-08-24 2021-01-05 Google Llc Method of executing a tuple graph program across a network
US10599482B2 (en) 2017-08-24 2020-03-24 Google Llc Method for intra-subgraph optimization in tuple graph programs
US10642582B2 (en) 2017-08-24 2020-05-05 Google Llc System of type inference for tuple graph programs method of executing a tuple graph program across a network
US11250314B2 (en) 2017-10-27 2022-02-15 Cognizant Technology Solutions U.S. Corporation Beyond shared hierarchies: deep multitask learning through soft layer ordering
WO2019118290A1 (en) 2017-12-13 2019-06-20 Sentient Technologies (Barbados) Limited Evolutionary architectures for evolution of deep neural networks
US11182677B2 (en) 2017-12-13 2021-11-23 Cognizant Technology Solutions U.S. Corporation Evolving recurrent networks using genetic programming
EP3731089B1 (en) * 2017-12-28 2023-10-04 Cambricon Technologies Corporation Limited Scheduling method and related apparatus
US11699093B2 (en) * 2018-01-16 2023-07-11 Amazon Technologies, Inc. Automated distribution of models for execution on a non-edge device and an edge device
US11574201B2 (en) 2018-02-06 2023-02-07 Cognizant Technology Solutions U.S. Corporation Enhancing evolutionary optimization in uncertain environments by allocating evaluations via multi-armed bandit algorithms
US11527308B2 (en) 2018-02-06 2022-12-13 Cognizant Technology Solutions U.S. Corporation Enhanced optimization with composite objectives and novelty-diversity selection
US11237550B2 (en) 2018-03-28 2022-02-01 Honeywell International Inc. Ultrasonic flow meter prognostics with near real-time condition based uncertainty analysis
US11755979B2 (en) 2018-08-17 2023-09-12 Evolv Technology Solutions, Inc. Method and system for finding a solution to a provided problem using family tree based priors in Bayesian calculations in evolution based optimization
KR20200053318A (ko) * 2018-11-08 2020-05-18 삼성전자주식회사 인공 신경망의 연산 처리 그래프를 관리하는 시스템 및 이를 이용한 연산 처리 그래프를 관리하는 방법
CN109769032A (zh) * 2019-02-20 2019-05-17 西安电子科技大学 一种分布式计算方法、系统及计算机设备
US11481639B2 (en) 2019-02-26 2022-10-25 Cognizant Technology Solutions U.S. Corporation Enhanced optimization with composite objectives and novelty pulsation
EP3938898A4 (en) 2019-03-13 2023-03-29 Cognizant Technology Solutions U.S. Corporation SYSTEM AND METHOD FOR IMPLEMENTING MODULAR UNIVERSAL RESETTING FOR DEEP MULTITASKING LEARNING ACROSS VARIOUS AREAS
EP3948692A4 (en) 2019-03-27 2023-03-29 Cognizant Technology Solutions U.S. Corporation PROCESS AND SYSTEM CONTAINING A SCALABLE SUBSTITUTE-ASSISTED PRESCRIPTIONS OPTIMIZATION ENGINE
CN110688227A (zh) * 2019-09-30 2020-01-14 浪潮软件股份有限公司 一种Oozie工作流程中尾端任务节点的处理方法
JP6801149B1 (ja) * 2020-01-20 2020-12-16 楽天株式会社 情報処理装置、情報処理方法およびプログラム
US11775841B2 (en) 2020-06-15 2023-10-03 Cognizant Technology Solutions U.S. Corporation Process and system including explainable prescriptions through surrogate-assisted evolution
CN111818159B (zh) * 2020-07-08 2024-04-05 腾讯科技(深圳)有限公司 数据处理节点的管理方法、装置、设备及存储介质
US11165646B1 (en) * 2020-11-19 2021-11-02 Fujitsu Limited Network node clustering

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819034A (en) * 1994-04-28 1998-10-06 Thomson Consumer Electronics, Inc. Apparatus for transmitting and receiving executable applications as for a multimedia system
JPH08110804A (ja) * 1994-10-11 1996-04-30 Omron Corp データ処理装置
US5845266A (en) * 1995-12-12 1998-12-01 Optimark Technologies, Inc. Crossing network utilizing satisfaction density profile with price discovery features
GB9517775D0 (en) * 1995-08-31 1995-11-01 Int Computers Ltd Computer system using genetic optimization techniques
GB2316504A (en) * 1996-08-22 1998-02-25 Ibm Distributed genetic programming / algorithm performance
US20080071588A1 (en) * 1997-12-10 2008-03-20 Eder Jeff S Method of and system for analyzing, modeling and valuing elements of a business enterprise
US5920848A (en) * 1997-02-12 1999-07-06 Citibank, N.A. Method and system for using intelligent agents for financial transactions, services, accounting, and advice
US6249783B1 (en) * 1998-12-17 2001-06-19 International Business Machines Corporation Method and apparatus for efficiently executing built-in functions
US6240399B1 (en) * 1998-12-24 2001-05-29 Glenn Frank System and method for optimizing investment location
US6779016B1 (en) * 1999-08-23 2004-08-17 Terraspring, Inc. Extensible computing system
US8095447B2 (en) * 2000-02-16 2012-01-10 Adaptive Technologies, Ltd. Methods and apparatus for self-adaptive, learning data analysis
JP2001325041A (ja) * 2000-05-12 2001-11-22 Toyo Eng Corp 計算機資源活用方法及びシステム
US7246075B1 (en) * 2000-06-23 2007-07-17 North Carolina A&T State University System for scheduling multiple time dependent events
US20020019844A1 (en) * 2000-07-06 2002-02-14 Kurowski Scott J. Method and system for network-distributed computing
US7596784B2 (en) * 2000-09-12 2009-09-29 Symantec Operating Corporation Method system and apparatus for providing pay-per-use distributed computing resources
JP2003044665A (ja) * 2001-07-31 2003-02-14 Cmd Research:Kk 金融市場における価格変動シミュレーションプログラム
US7444309B2 (en) * 2001-10-31 2008-10-28 Icosystem Corporation Method and system for implementing evolutionary algorithms
US7013344B2 (en) * 2002-01-09 2006-03-14 International Business Machines Corporation Massively computational parallizable optimization management system and method
US6933943B2 (en) * 2002-02-27 2005-08-23 Hewlett-Packard Development Company, L.P. Distributed resource architecture and system
JP4086529B2 (ja) * 2002-04-08 2008-05-14 松下電器産業株式会社 画像処理装置及び画像処理方法
RU2301498C2 (ru) * 2002-05-17 2007-06-20 Леново(Бейцзин) Лимитед Способ для реализации динамической организации сети и совместного использования ресурсов среди устройств
US20040039716A1 (en) * 2002-08-23 2004-02-26 Thompson Dean S. System and method for optimizing a computer program
US6917339B2 (en) * 2002-09-25 2005-07-12 Georgia Tech Research Corporation Multi-band broadband planar antennas
JP2004240671A (ja) * 2003-02-05 2004-08-26 Hitachi Ltd 分散計算機の処理方法及びシステム
JP3977765B2 (ja) * 2003-03-31 2007-09-19 富士通株式会社 グリッドコンピューティングを用いたシステムにおけるリソース提供方法,そのシステムにおける監視装置およびその監視装置用プログラム
WO2004088507A2 (en) 2003-04-03 2004-10-14 International Business Machines Corporation Apparatus and method for providing metered capacity of computer resources
US7627506B2 (en) * 2003-07-10 2009-12-01 International Business Machines Corporation Method of providing metered capacity of temporary computer resources
US7043463B2 (en) * 2003-04-04 2006-05-09 Icosystem Corporation Methods and systems for interactive evolutionary computing (IEC)
US20050033672A1 (en) * 2003-07-22 2005-02-10 Credit-Agricole Indosuez System, method, and computer program product for managing financial risk when issuing tender options
JP4458412B2 (ja) * 2003-12-26 2010-04-28 株式会社進化システム総合研究所 パラメータ調整装置
WO2005067614A2 (en) * 2004-01-07 2005-07-28 Maxspeed A system and method of commitment management
WO2005073854A2 (en) * 2004-01-27 2005-08-11 Koninklijke Philips Electronics, N.V. System and method for providing an extended computing capacity
US7469228B2 (en) * 2004-02-20 2008-12-23 General Electric Company Systems and methods for efficient frontier supplementation in multi-objective portfolio analysis
JP4855655B2 (ja) * 2004-06-15 2012-01-18 株式会社ソニー・コンピュータエンタテインメント 処理管理装置、コンピュータ・システム、分散処理方法及びコンピュータプログラム
US7689681B1 (en) * 2005-02-14 2010-03-30 David Scott L System and method for facilitating controlled compensable use of a remotely accessible network device
US7603325B2 (en) * 2005-04-07 2009-10-13 Jacobson David L Concurrent two-phase completion genetic algorithm system and methods
US7680718B2 (en) * 2005-06-29 2010-03-16 Itg Software Solutions, Inc. System and method for generating real-time indicators in a trading list or portfolio
US20070143759A1 (en) * 2005-12-15 2007-06-21 Aysel Ozgur Scheduling and partitioning tasks via architecture-aware feedback information
JP2007207173A (ja) * 2006-02-06 2007-08-16 Fujitsu Ltd 性能分析プログラム、性能分析方法、および性能分析装置
US7830387B2 (en) * 2006-11-07 2010-11-09 Microsoft Corporation Parallel engine support in display driver model
CN100508501C (zh) * 2006-12-15 2009-07-01 清华大学 基于开放网格服务体系结构的网格工作流虚拟服务调度法
US8275644B2 (en) * 2008-04-16 2012-09-25 International Business Machines Corporation Generating an optimized analytical business transformation
US8204717B2 (en) * 2009-04-01 2012-06-19 Honeywell International Inc. Cloud computing as a basis for equipment health monitoring service
US8555381B2 (en) * 2009-04-01 2013-10-08 Honeywell International Inc. Cloud computing as a security layer
US7970830B2 (en) * 2009-04-01 2011-06-28 Honeywell International Inc. Cloud computing for an industrial automation and manufacturing system
KR101689908B1 (ko) * 2009-04-28 2016-12-26 센티언트 테크놀로지스 (바베이도스) 리미티드 자산 관리 및 거래를 위한 분산 진화 알고리즘
US8583530B2 (en) * 2011-03-17 2013-11-12 Hartford Fire Insurance Company Code generation based on spreadsheet data models

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101474704B1 (ko) * 2014-03-28 2014-12-22 주식회사 지오그린이십일 유전자 알고리즘을 이용한 양수처리 최적화 방법 및 시스템

Also Published As

Publication number Publication date
EP2208136A1 (en) 2010-07-21
EP2208136A4 (en) 2012-12-26
KR101600303B1 (ko) 2016-03-07
JP2011503727A (ja) 2011-01-27
JP2014130608A (ja) 2014-07-10
CA2706119A1 (en) 2009-05-14
TWI479330B (zh) 2015-04-01
US20090125370A1 (en) 2009-05-14
RU2502122C2 (ru) 2013-12-20
JP5936237B2 (ja) 2016-06-22
CN101939727A (zh) 2011-01-05
RU2013122033A (ru) 2014-11-20
IL205518A0 (en) 2010-12-30
TW200947225A (en) 2009-11-16
WO2009062090A1 (en) 2009-05-14
US20120239517A1 (en) 2012-09-20
BRPI0819170A2 (pt) 2015-05-05
IL205518A (en) 2015-03-31
CN106095570A (zh) 2016-11-09
AU2008323758B2 (en) 2012-11-29
AU2008323758A1 (en) 2009-05-14
JP5466163B2 (ja) 2014-04-09
SG190558A1 (en) 2013-06-28
RU2010119652A (ru) 2011-11-27
BRPI0819170A8 (pt) 2015-11-24
RU2568289C2 (ru) 2015-11-20
KR20150034227A (ko) 2015-04-02

Similar Documents

Publication Publication Date Title
KR101600303B1 (ko) 복잡한 알고리즘들을 수행하기 위한 분산 네트워크
AU2011101785A4 (en) Method and system of trading a security in a foreign currency
US20220051332A1 (en) System and method for determining a likelihood of successfully trading a financial instrument in computer platforms designed for improved electronic execution of electronic transactions
US11468530B2 (en) System and method for controlling communications in computer platforms designed for improved electronic execution of electronic transactions
AU2012244171B2 (en) Distributed network for performing complex algorithms
US10325319B2 (en) Web platform with customized agents for automated web services
Backwell An Intuitive Introduction to Finance and Derivatives: Concepts, Terminology and Models
AU1438901A (en) Investment advice systems and methods
Jaimez-González et al. Towards a Multi-Agent System Architecture for Supply Chain Management
WO2021174082A1 (en) Computer platforms designed for improved electronic execution of electronic transactions and methods of use thereof
Krishnan Investment Thesis for International Business Machines Corp.
Guo Essays on market-based information systems design and e-supply chain

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
A107 Divisional application of patent
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20150129

Effective date: 20160323