KR102208867B1 - 이종 디바이스 유형들을 위한 피어-투-피어 분산 컴퓨팅 시스템 - Google Patents
이종 디바이스 유형들을 위한 피어-투-피어 분산 컴퓨팅 시스템 Download PDFInfo
- Publication number
- KR102208867B1 KR102208867B1 KR1020197003669A KR20197003669A KR102208867B1 KR 102208867 B1 KR102208867 B1 KR 102208867B1 KR 1020197003669 A KR1020197003669 A KR 1020197003669A KR 20197003669 A KR20197003669 A KR 20197003669A KR 102208867 B1 KR102208867 B1 KR 102208867B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- message
- container
- portable code
- required set
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 82
- 230000006870 function Effects 0.000 claims abstract description 54
- 238000004364 calculation method Methods 0.000 claims abstract description 41
- 230000008569 process Effects 0.000 claims description 46
- 230000015654 memory Effects 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 3
- 229910052709 silver Inorganic materials 0.000 claims 1
- 239000004332 silver Substances 0.000 claims 1
- 230000001052 transient effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 6
- 239000000203 mixture Substances 0.000 description 6
- 239000011800 void material Substances 0.000 description 5
- 244000035744 Hura crepitans Species 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 231100000957 no side effect Toxicity 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
도 2는 본 발명의 일 실시예에 따른 예시적인 분산 컴퓨팅 시스템 개요를 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른, 피어 디바이스에 포터블 코드를 제공하는 예시적인 프로세스 흐름을 도시한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 피어 디바이스들의 예시적인 구성을 도시한 블록도이다.
도 5는 본 발명의 일 실시예에 따른, 피어 디바이스들 사이의 메시징 프로세스 흐름을 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른, 데몬 레벨 메시지에 대한 예시적인 구조를 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른, 워커 레벨(worker-level) 메시지에 대한 예시적인 구조를 도시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 예시적인 데이터 컨테이너를 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른, 데이터 컨테이너 내의 선형화된 데이터의 예를 예시한 도면이다.
도 10은 본 발명의 실시예에 따른, 1개 또는 2개의 컨테이너들을 사용하는 블렌드(blend) 함수의 예를 도시한 도면이다.
도 11은 본 발명의 일 실시예에 따른, 입력 데이터의 필요한 세트를 획득하는 것에 응답하여 프로세스를 수행하는 방법의 흐름도이다.
도 12는 본 발명의 일 실시예에 따른, 포터블 코드를 분석 및 컴파일링하는 방법의 흐름도이다.
도 13은 예시적인 컴퓨팅 시스템을 도시한 블록도로서, 예시적인 컴퓨팅 시스템은 본 발명의 실시예들 중 하나 이상과 함께 사용될 수 있다.
Claims (20)
- 컴퓨팅 장치의 하나 이상의 프로세서들에 의해 실행될 때, 상기 컴퓨팅 장치가 동작들을 수행하게 하는 명령어들을 저장하는 비일시적 기계 판독가능 매체로서, 상기 동작들은:
제1 디바이스 상에서 제1 레벨 프로토콜을 사용하여, 그리고 데몬(daemon) 프로세스에 의해, 제2 디바이스로부터 제1 메시지를 수신하는 것 - 상기 제1 메시지는, 컴파일링될 때, 분산 컴퓨팅 시스템 내에서 상기 제1 디바이스에 의한 계산을 수행하기 위한 하나 이상의 함수들을 제공하는 포터블 코드(portable code)를 포함함 -;
제2 레벨 프로토콜을 사용하여, 그리고 워커(worker) 프로세스와 별개인 상기 데몬 프로세스에 의해 생성된 상기 워커 프로세스에 의해, 상기 제2 디바이스로부터 제2 메시지를 수신하는 것 - 상기 제2 메시지는 제1 작업(job) 요청을 포함하고, 상기 제1 작업 요청은 상기 하나 이상의 함수들 중 제1 함수의 표시, 및 상기 제1 함수를 수행하기 위한 입력 데이터의 필요한 세트의 표시를 포함하고, 상기 워커 프로세스는 상기 제1 레벨 프로토콜의 메시지들과 상이한 상기 제2 메시지를 포함하는 상기 제2 레벨 프로토콜의 메시지들을 관리하고, 상기 워커 프로세스는 상기 데몬 프로세스에 의해 인스턴스화됨 -; 및
상기 제1 디바이스가 상기 입력 데이터의 필요한 세트를 획득하는 것에 응답하여, 상기 제1 디바이스가 상기 제1 작업 요청을 이행하기 위해 상기 계산을 수행하도록 상기 제1 함수를 실행하는 것을 포함하는, 비일시적 기계 판독가능 매체. - 제1항에 있어서, 상기 동작들은, 상기 포터블 코드가 상기 제1 디바이스 상에서 실행하기에 안전하다고 결정하는 것에 응답하여, 상기 데몬 프로세스에 의해, 상기 포터블 코드의 적어도 일부분을 컴파일링하는 것을 더 포함하는, 비일시적 기계 판독가능 매체.
- 제2항에 있어서, 상기 포터블 코드는 LLVM IR(low level virtual machine intermediate representation)이며, 상기 제1 디바이스 및 상기 제2 디바이스는 상이한 유형들의 디바이스들이고, 각각은 상이한 운영 체제를 사용하여 동작하는, 비일시적 기계 판독가능 매체.
- 제1항에 있어서, 상기 동작들은 상기 제1 작업 요청을 수신하는 것에 응답하여, 상기 제1 함수에 대응하는 상기 포터블 코드의 일부분만을 JIT(just-in-time) 컴파일링하는 것을 더 포함하는, 비일시적 기계 판독가능 매체.
- 제1항에 있어서, 상기 제1 메시지는 상기 하나 이상의 함수들에 대한 인덱스를 포함하고, 상기 제1 작업 요청의 상기 제1 함수의 상기 표시는 상기 제1 함수에 대응하는 상기 인덱스 내의 값을 포함하는, 비일시적 기계 판독가능 매체.
- 제1항에 있어서, 상기 제2 디바이스는 상기 제1 디바이스의 하나 이상의 특성들에 기초하여 상기 제1 작업 요청을 수행하기 위한 상기 제1 디바이스를 선택하고, 상기 하나 이상의 특성들은 상기 제1 디바이스에 대한 프로세싱 능력 및 현재 전원을 포함하는, 비일시적 기계 판독가능 매체.
- 제1항에 있어서, 상기 동작들은
상기 제2 레벨 프로토콜을 사용하고, 그리고 상기 제1 디바이스에서, 제3 디바이스로부터 제3 메시지를 수신하는 것 - 상기 제3 메시지는 데이터의 제1 컨테이너를 포함함 -, 및
상기 데이터를 상기 제1 디바이스의 데이터 저장소에 저장하는 것을 더 포함하는, 비일시적 기계 판독가능 매체. - 제7항에 있어서, 상기 입력 데이터의 필요한 세트를 획득하는 것은
상기 입력 데이터의 필요한 세트가 상기 제1 디바이스의 상기 데이터 저장소에 저장된다고 결정하는 것, 및
상기 데이터 저장소로부터 상기 입력 데이터의 필요한 세트를 검색하는 것을 포함하는, 비일시적 기계 판독가능 매체. - 제8항에 있어서, 상기 제1 작업 요청은 상기 제1 함수로부터의 출력 데이터를 저장하기 위한 데이터의 제2 컨테이너에 대한 레퍼런스를 더 포함하며, 상기 동작들은:
상기 실행된 제1 함수로부터의 상기 출력 데이터를 상기 데이터의 제2 컨테이너에 저장하는 것; 및
상기 제2 레벨 프로토콜을 사용하여, 상기 데이터의 제2 컨테이너를 포함하는 제4 메시지를 제4 디바이스로 전송하는 것을 더 포함하는, 비일시적 기계 판독가능 매체. - 제1항에 있어서, 상기 입력 데이터의 필요한 세트를 획득하는 것은
상기 입력 데이터의 필요한 세트의 적어도 일부분이 상기 제1 디바이스의 데이터 저장소에 저장되지 않았음을 결정하는 것, 및 이에 응답하여, 데이터 저장소에 저장되지 않은 상기 입력 데이터의 필요한 세트의 상기 일부분을 제3 디바이스로부터 검색하는 것을 포함하는, 비일시적 기계 판독가능 매체. - 제10항에 있어서, 상기 입력 데이터의 필요한 세트의 상기 일부분을 검색하는 것은
상기 제2 레벨 프로토콜을 사용하고, 그리고 상기 제1 디바이스로부터, 제3 메시지를 상기 제3 디바이스로 전송하는 것 - 상기 제3 메시지는 데이터의 제1 컨테이너에 대한 요청을 포함하며, 상기 요청은 상기 입력 데이터의 필요한 세트의 상기 일부분을 식별하는 하나 이상의 레퍼런스들을 포함함 -, 및
상기 제2 레벨 프로토콜을 사용하고, 그리고 상기 제1 디바이스에서, 상기 제3 디바이스로부터 제4 메시지를 수신하는 것 - 상기 제4 메시지는 상기 입력 데이터의 필요한 세트의 상기 일부분을 포함하는 상기 데이터의 제1 컨테이너를 포함함 -을 포함하는, 비일시적 기계 판독가능 매체. - 제1항에 있어서, 상기 입력 데이터의 필요한 세트를 획득하는 것은
상기 입력 데이터의 필요한 세트의 적어도 일부분이 상기 제1 디바이스의 데이터 저장소에 저장되지 않는다고 결정하는 것, 및 이에 응답하여, 상기 제1 디바이스의 작업 큐 내에서 제2 작업에 대한 상기 계산을 수행하도록 상기 하나 이상의 함수들 중 제2 함수를 실행하는 것을 포함하며, 상기 실행된 제2 함수는 상기 입력 데이터의 필요한 세트의 상기 일부분을 출력하는, 비일시적 기계 판독가능 매체. - 제1항에 있어서, 상기 제1 레벨 프로토콜은 적어도 상기 워커 프로세스를 생성하기 위한 제1 커맨드, 및 상기 분산 컴퓨팅 시스템 내의 다른 디바이스가 상기 워커 프로세스에 연결하게 하는 제2 커맨드를 포함하는, 비일시적 기계 판독가능 매체.
- 제1항에 있어서, 상기 제2 레벨 프로토콜은 적어도 상기 분산 컴퓨팅 시스템 내의 다른 디바이스로 데이터의 컨테이너를 전송하라는 제1 커맨드, 및 상기 분산 컴퓨팅 시스템 내의 다른 디바이스로부터의 데이터의 컨테이너를 검색하기 위한 제2 커맨드를 포함하는, 비일시적 기계 판독가능 매체.
- 제9항에 있어서, 상기 출력 데이터를 저장하기 위한 상기 제2 컨테이너는 컨테이너들의 어레이인, 비일시적 기계 판독가능 매체.
- 제1 디바이스로서,
명령어들을 저장하는 메모리; 및
상기 메모리에 연결되어 상기 메모리로부터의 상기 명령어들을 실행하는 프로세서를 포함하고, 상기 프로세서는:
데몬 프로세스에 의해, 제1 레벨 프로토콜을 사용하여 제2 디바이스로부터 제1 메시지를 수신하고 - 상기 제1 메시지는, 컴파일링될 때, 분산 컴퓨팅 시스템 내에서 상기 제1 디바이스에 의한 계산을 수행하기 위한 하나 이상의 함수들을 제공하는 포터블 코드를 포함함 -;
상기 데몬 프로세스에 의해 인스턴스화되는 워커 프로세스에 의해, 제2 레벨 프로토콜을 사용하여 상기 제2 디바이스로부터 제2 메시지를 수신하고 - 상기 제2 메시지는 제1 작업 요청을 포함하며, 상기 제1 작업 요청은
상기 하나 이상의 함수들 중 제1 함수의 표시,
상기 제1 함수를 수행하기 위한 입력 데이터의 필요한 세트의 표시, 및
상기 제1 함수로부터의 출력 데이터를 저장하기 위한 데이터의 제1 컨테이너에 대한 레퍼런스를 포함함 -;
상기 제2 메시지를 수신하는 것에 응답하여, 상기 제1 디바이스 상에서 상기 포터블 코드를 분석함으로써 상기 포터블 코드가 상기 제1 디바이스 상에서 실행되기에 안전하다고 결정한 후에 상기 제1 함수를 생성하도록 상기 포터블 코드를 컴파일링하고;
상기 제1 디바이스가 상기 입력 데이터의 필요한 세트를 획득하는 것에 응답하여 그리고 상기 포터블 코드가 실행되기에 안전하다고 결정한 후에, 상기 제1 디바이스가 상기 제1 작업 요청을 이행하기 위해 상기 계산을 수행하도록 상기 제1 함수를 실행하도록 구성되는, 제1 디바이스. - 제16항에 있어서, 상기 제1 레벨 프로토콜은 상기 데몬 프로세스에 의해 사용되고, 상기 제2 레벨 프로토콜은 상기 데몬 프로세스에 의해 인스턴스화되는 상기 워커 프로세스에 의해 사용되는, 제1 디바이스.
- 제16항에 있어서, 상기 프로세서는:
상기 제1 디바이스에 의해 수행된 상기 제1 함수로부터의 상기 출력 데이터를 상기 데이터의 제1 컨테이너에 저장하고;
상기 데이터의 제1 컨테이너를 제3 디바이스로 전송하도록 더 구성되는, 제1 디바이스. - 컴퓨터 구현 방법으로서,
데몬 프로세스에 의해, 무선 프로토콜을 사용하고, 그리고 제1 디바이스 상에서, 포터블 코드를 포함하는 제1 메시지를 수신하는 단계 - 상기 포터블 코드는 실행가능하지 않은 데이터로서 수신되며, 실행될 때, 상기 제1 디바이스가 분산 컴퓨팅 시스템 내의 리소스들을 제2 디바이스를 포함하는 하나 이상의 다른 디바이스들과 공유하게 함 -;
상기 제1 디바이스 상에서, 상기 포터블 코드를 컴파일링하기 전에 상기 포터블 코드를 분석하여 상기 포터블 코드가 상기 제1 디바이스 상에서 실행되기에 안전한지 여부를 결정하는 단계;
상기 데몬 프로세스에 의해 인스턴스화되는 워커 프로세스에 의해, 상기 제1 디바이스에서, 데이터의 제1 컨테이너를 수신하는 단계, 및 상기 데이터를 상기 제1 디바이스의 데이터 저장소에 저장하는 단계;
상기 제1 디바이스에서, 상기 제1 디바이스가 작업 요청에 대한 하나 이상의 계산들을 수행하게 하도록 상기 포터블 코드를 컴파일링하는 단계 - 상기 작업 요청은 상기 제1 디바이스에 의해 수행될 제1 계산의 표시, 및 상기 데이터의 제1 컨테이너 내의 상기 제1 계산을 수행하기 위한 입력 데이터의 필요한 세트의 표시를 포함함 -; 및
상기 제1 디바이스가 상기 입력 데이터의 필요한 세트를 획득하는 것에 응답하여, 상기 제1 디바이스에 의해 제1 작업에 대한 상기 제1 계산을 수행하는 단계를 포함하는, 컴퓨터 구현 방법. - 제19항에 있어서, 상기 분석하는 단계는 제어 흐름 무결성의 검사를 포함하고, 상기 제1 디바이스는 상기 제1 작업으로부터의 출력 데이터를 저장하기 위한 데이터의 제2 컨테이너를 생성하며, 상기 컴퓨터 구현 방법은:
상기 제1 디바이스에 의해 수행된 상기 제1 작업으로부터의 상기 출력 데이터를 상기 데이터의 제2 컨테이너에 저장하는 단계; 및
상기 데이터의 제2 컨테이너를 상기 제2 디바이스로 전송하는 단계를 더 포함하는, 컴퓨터 구현 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/274,748 | 2016-09-23 | ||
US15/274,748 US10768979B2 (en) | 2016-09-23 | 2016-09-23 | Peer-to-peer distributed computing system for heterogeneous device types |
PCT/US2017/051202 WO2018057352A1 (en) | 2016-09-23 | 2017-09-12 | Peer-to-peer distributed computing system for heterogeneous device types |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190026860A KR20190026860A (ko) | 2019-03-13 |
KR102208867B1 true KR102208867B1 (ko) | 2021-01-27 |
Family
ID=59969235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197003669A KR102208867B1 (ko) | 2016-09-23 | 2017-09-12 | 이종 디바이스 유형들을 위한 피어-투-피어 분산 컴퓨팅 시스템 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10768979B2 (ko) |
EP (2) | EP4242846A3 (ko) |
KR (1) | KR102208867B1 (ko) |
CN (2) | CN109791502B (ko) |
AU (1) | AU2017330520B2 (ko) |
WO (1) | WO2018057352A1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10503612B1 (en) | 2018-06-25 | 2019-12-10 | Rubrik, Inc. | Application migration between environments |
US11663085B2 (en) * | 2018-06-25 | 2023-05-30 | Rubrik, Inc. | Application backup and management |
CN111124332B (zh) * | 2019-11-18 | 2024-03-01 | 北京小米移动软件有限公司 | 设备呈现内容的控制方法、控制装置及存储介质 |
US20230315406A1 (en) * | 2022-03-31 | 2023-10-05 | SambaNova Systems, Inc. | Iterative compilation to optimize translation in reconfigurable dataflow architectures |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040098447A1 (en) * | 2002-11-14 | 2004-05-20 | Verbeke Jerome M. | System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment |
US20110321051A1 (en) * | 2010-06-25 | 2011-12-29 | Ebay Inc. | Task scheduling based on dependencies and resources |
US20130226890A1 (en) * | 2012-02-29 | 2013-08-29 | Red Hat Inc. | Supporting transactions in distributed environments using a local copy of remote transaction data and optimistic locking |
US20130332941A1 (en) | 2012-06-08 | 2013-12-12 | Apple Inc. | Adaptive Process Importance |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5758186A (en) | 1995-10-06 | 1998-05-26 | Sun Microsystems, Inc. | Method and apparatus for generically handling diverse protocol method calls in a client/server computer system |
US8176480B1 (en) * | 2006-02-27 | 2012-05-08 | Symantec Operating Corporation | Adaptive instrumentation through dynamic recompilation |
US8402455B2 (en) * | 2008-03-17 | 2013-03-19 | Landis+Gyr Innovations, Inc. | Methods and systems for distributing firmware through an over-the-air network |
US20120047504A1 (en) * | 2010-08-17 | 2012-02-23 | Robert Paul Morris | Methods, systems, and computer program products for maintaining a resource based on a cost of energy |
US9141360B1 (en) | 2011-03-16 | 2015-09-22 | Google Inc. | Web application module translation service |
US8515350B2 (en) | 2011-04-11 | 2013-08-20 | Qualcomm Innovation Center, Inc. | Resolving an application service change in a system using bluetooth |
GB201107978D0 (en) | 2011-05-13 | 2011-06-29 | Antix Labs Ltd | Method of distibuting a multi-user software application |
US10425411B2 (en) * | 2012-04-05 | 2019-09-24 | Arizona Board Of Regents On Behalf Of Arizona State University | Systems and apparatuses for a secure mobile cloud framework for mobile computing and communication |
CN103685416B (zh) * | 2012-09-20 | 2019-04-26 | 联想(北京)有限公司 | 分布式任务分配与认领方法以及电子设备 |
US20140095695A1 (en) * | 2012-09-28 | 2014-04-03 | Ren Wang | Cloud aware computing distribution to improve performance and energy for mobile devices |
US20140105273A1 (en) * | 2012-10-15 | 2014-04-17 | Broadcom Corporation | Adaptive power management within media delivery system |
CN102932957A (zh) * | 2012-10-19 | 2013-02-13 | 中国人民解放军理工大学 | 一种虚拟重构的异构融合泛在网络体系架构 |
US9110661B2 (en) * | 2012-12-28 | 2015-08-18 | International Business Machines Corporation | Mobile device offloading task to a peer device and receiving a completed task when energy level is below a threshold level |
US9300760B2 (en) | 2013-01-28 | 2016-03-29 | Google Inc. | Machine-specific instruction set translation |
US9342557B2 (en) | 2013-03-13 | 2016-05-17 | Cloudera, Inc. | Low latency query engine for Apache Hadoop |
US9392054B1 (en) | 2013-05-31 | 2016-07-12 | Jisto Inc. | Distributed cloud computing platform and content delivery network |
CN103685535A (zh) * | 2013-12-20 | 2014-03-26 | 广东电子工业研究院有限公司 | 一种大规模分布异构数据处理的云数据库系统接口设计 |
US9390260B2 (en) * | 2014-06-09 | 2016-07-12 | Lehigh University | Methods for enforcing control flow of a computer program |
US20150363196A1 (en) * | 2014-06-13 | 2015-12-17 | The Charles Stark Draper Laboratory Inc. | Systems And Methods For Software Corpora |
EP2958044B1 (en) * | 2014-06-20 | 2019-09-18 | Secure-IC SAS | A computer implemented method and a system for controlling dynamically the execution of a code |
CN105530163A (zh) * | 2014-10-22 | 2016-04-27 | 阿里巴巴集团控股有限公司 | 发送信息的方法及其系统 |
US10120904B2 (en) * | 2014-12-31 | 2018-11-06 | Cloudera, Inc. | Resource management in a distributed computing environment |
US10397373B2 (en) * | 2015-05-20 | 2019-08-27 | Qualcomm Incorporated | Renewing registrations for client applications installed on different proximate client devices |
US10111024B2 (en) * | 2015-07-10 | 2018-10-23 | Lg Electronics Inc. | Method and apparatus for an input data processing via a local computing or offloading based on power harvesting in a wireless communication system |
US11683393B2 (en) * | 2019-09-11 | 2023-06-20 | Intel Corporation | Framework for computing in radio access network (RAN) |
US20230308853A1 (en) * | 2020-07-24 | 2023-09-28 | Intel Corporation | Computing workload management in next generation cellular networks |
-
2016
- 2016-09-23 US US15/274,748 patent/US10768979B2/en active Active
-
2017
- 2017-09-12 EP EP23189081.5A patent/EP4242846A3/en active Pending
- 2017-09-12 EP EP17772807.8A patent/EP3458956B1/en active Active
- 2017-09-12 WO PCT/US2017/051202 patent/WO2018057352A1/en unknown
- 2017-09-12 AU AU2017330520A patent/AU2017330520B2/en active Active
- 2017-09-12 CN CN201780058414.1A patent/CN109791502B/zh active Active
- 2017-09-12 KR KR1020197003669A patent/KR102208867B1/ko active IP Right Grant
- 2017-09-12 CN CN202311775808.2A patent/CN117591299A/zh active Pending
-
2020
- 2020-08-18 US US16/947,803 patent/US20210034418A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040098447A1 (en) * | 2002-11-14 | 2004-05-20 | Verbeke Jerome M. | System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment |
US20110321051A1 (en) * | 2010-06-25 | 2011-12-29 | Ebay Inc. | Task scheduling based on dependencies and resources |
US20130226890A1 (en) * | 2012-02-29 | 2013-08-29 | Red Hat Inc. | Supporting transactions in distributed environments using a local copy of remote transaction data and optimistic locking |
US20130332941A1 (en) | 2012-06-08 | 2013-12-12 | Apple Inc. | Adaptive Process Importance |
Also Published As
Publication number | Publication date |
---|---|
EP3458956A1 (en) | 2019-03-27 |
CN109791502B (zh) | 2024-01-12 |
WO2018057352A1 (en) | 2018-03-29 |
CN109791502A (zh) | 2019-05-21 |
US10768979B2 (en) | 2020-09-08 |
US20210034418A1 (en) | 2021-02-04 |
AU2017330520B2 (en) | 2020-02-27 |
US20180088986A1 (en) | 2018-03-29 |
CN117591299A (zh) | 2024-02-23 |
EP3458956B1 (en) | 2023-11-01 |
EP4242846A2 (en) | 2023-09-13 |
KR20190026860A (ko) | 2019-03-13 |
AU2017330520A1 (en) | 2019-01-17 |
EP4242846A3 (en) | 2023-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11010681B2 (en) | Distributed computing system, and data transmission method and apparatus in distributed computing system | |
US9086924B2 (en) | Executing a distributed java application on a plurality of compute nodes | |
US20210034418A1 (en) | Peer-to-peer distributed computing system for heterogeneous device types | |
US8281311B2 (en) | Executing a distributed software application on a plurality of compute nodes according to a compilation history | |
US9244662B2 (en) | Optimizing just-in-time compiling for a java application executing on a compute node | |
US10620988B2 (en) | Distributed computing architecture | |
CN110716748B (zh) | 业务处理方法、装置、计算机可读介质及电子设备 | |
US20090125611A1 (en) | Sharing loaded java classes among a plurality of nodes | |
KR20210021261A (ko) | 가속기에서 이종 컴포넌트들을 구성하기 위한 방법들 및 장치 | |
KR102443171B1 (ko) | 이기종 컴퓨팅 환경에서 데이터 타입 변환을 지원하기 위한 시스템 및 방법 | |
KR100738004B1 (ko) | 하이브리드 p2p 네트워크 지능형 분산 컴파일러 시스템및 그 방법과 상기 방법을 실현시키기 위한 프로그램을기록한 컴퓨터로 읽을 수 있는 기록매체 | |
US9442782B2 (en) | Systems and methods of interface description language (IDL) compilers | |
US11620126B2 (en) | Dynamic multiple repository package management through continuous integration | |
Pellegrini et al. | A lightweight C++ interface to MPI | |
Sheng et al. | Fifo exploration in mapping streaming applications onto the ti omap3530 platform: Case study and optimizations | |
US20240220266A1 (en) | Systems, methods, and apparatus for intermediary representations of workflows for computational devices | |
EP4394601A1 (en) | Systems, methods, and apparatus for intermediary representations of workflows for computational devices | |
US20230333879A1 (en) | System for the Remote Execution of Applications | |
WO2024060256A1 (en) | Self-evolving and multi-versioning code | |
CN115543566A (zh) | 利用多线程执行计算图的方法和系统 | |
Sensor | Programming and Virtualization of Distributed Multitasking Sensor Networks | |
Botev | Actor-based Concurrency in Newspeak 4 | |
US20090288085A1 (en) | Scaling and Managing Work Requests on a Massively Parallel Machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0105 | International application |
Patent event date: 20190207 Patent event code: PA01051R01D Comment text: International Patent Application |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20200508 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20201230 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20210122 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20210122 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20231218 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20241216 Start annual number: 5 End annual number: 5 |