1 |
1
메모리;네이티브 어플리케이션을 중간 언어로 변환하여 IR 코드를 생성하고, 상기 IR 코드에서 서버로 오프로딩 할 함수 또는 반복문을 타겟 연산으로 결정하고, 상기 타겟 연산을 오프로딩 하여 실행할 모바일 IR 코드 및 서버 IR 코드를 각각 생성하고,상기 모바일 IR 코드를 모바일 바이너리로 변환하고, 상기 서버 IR 코드를 서버 바이너리로 변환하는 컴파일러; 및상기 서버를 통해 상기 타겟 연산을 오프로딩 하여, 상기 모바일 바이너리를 실행하는 프로세서를 포함하는 모바일 디바이스
|
2 |
2
제 1 항에 있어서,상기 컴파일러는 상기 IR 코드에 포함된 함수 또는 반복문 중에서 기계-의존(machine-dependent) 함수 또는 기계-의존 반복문을 상기 타겟 연산에서 제외하고, 상기 서버에서 실행될 경우 연산 시간이 단축될 함수 또는 반복문을 상기 타겟 연산으로 결정하는 것을 특징으로 하는 모바일 디바이스
|
3 |
3
제 1 항에 있어서,상기 컴파일러는 출력 명령어를 원격 출력 명령어로 변경하여, 상기 출력 명령어를 포함하는 함수 또는 반복문을 상기 타겟 연산으로 결정하는 것을 특징으로 하는 모바일 디바이스
|
4 |
4
제 1 항에 있어서,상기 컴파일러는 상기 함수 또는 상기 반복문의 연산의 실행 시간 및 네트워크 통신 시간을 고려하여 상기 함수 또는 상기 반복문을 오프로딩 하였을 때, 시간이 단축되는 경우에 상기 함수 또는 상기 반복문을 상기 타겟 연산으로 결정하는 것을 특징으로 하는 모바일 디바이스
|
5 |
5
제 4 항에 있어서,상기 프로세서는 상기 타겟 연산을 오프로딩 할 때, 오프로딩의 이득을 재산정하여, 상기 타겟 연산을 오프로딩 할지 여부를 재결정하는 것을 특징으로 하는 모바일 디바이스
|
6 |
6
제 1 항에 있어서,상기 컴파일러는 상기 모바일 디바이스와 상기 서버가 동일한 가상 메모리 주소(virtual memory address)를 갖도록 동일한 오브젝트에 동일한 주소를 부여하고, 포인터를 통해 접근하는 전역 변수를 Heap 영역에 재할당하는 것을 특징으로 하는 모바일 디바이스
|
7 |
7
제 1 항에 있어서,상기 프로세서는 상기 타겟 연산에 따라 상기 서버에서 사용할 데이터를 미리 전송하고, 상기 서버로부터 요청이 있는 경우 요청된 데이터를 상기 서버로 전송하는 것을 특징으로 하는 모바일 디바이스
|
8 |
8
제 1 항에 있어서,상기 프로세서는 상기 타겟 연산을 수행한 결과를 나타내는 압축된 페이지들을 상기 서버로부터 수신하는 것을 특징으로 하는 모바일 디바이스
|
9 |
9
네이티브 어플리케이션을 중간 언어로 변환하여 IR 코드를 생성하고, 상기 IR 코드에서 서버로 오프로딩 할 함수 또는 반복문을 타겟 연산으로 결정하고, 상기 타겟 연산을 오프로딩 하여 실행할 모바일 IR 코드 및 서버 IR 코드를 각각 생성하는 단계;상기 모바일 IR 코드를 모바일 바이너리로 변환하고, 상기 서버 IR 코드를 서버 바이너리로 변환하는 단계; 및상기 서버를 통해 상기 타겟 연산을 오프로딩 하여, 상기 모바일 바이너리를 실행하는 단계를 포함하는 네이티브 어플리케이션의 오프로딩 방법
|
10 |
10
제 9 항에 있어서, 상기 모바일 IR 코드 및 상기 서버 IR 코드를 각각 생성하는 단계는 상기 IR 코드에 포함된 함수 또는 반복문 중에서 기계-의존 함수 또는 기계-의존 반복문을 상기 타겟 연산에서 제외하고, 상기 서버에서 실행될 경우 연산 시간이 단축될 함수 또는 반복문을 상기 타겟 연산으로 결정하는 것을 특징으로 하는 네이티브 어플리케이션의 오프로딩 방법
|
11 |
11
제 9 항에 있어서, 상기 모바일 IR 코드 및 상기 서버 IR 코드를 각각 생성하는 단계는 출력 명령어를 원격 출력 명령어로 변경하여, 상기 출력 명령어를 포함하는 함수 또는 반복문을 상기 타겟 연산으로 결정하는 것을 특징으로 하는 네이티브 어플리케이션의 오프로딩 방법
|
12 |
12
제 9 항에 있어서, 상기 모바일 IR 코드 및 상기 서버 IR 코드를 각각 생성하는 단계는 상기 함수 또는 상기 반복문의 연산의 실행 시간 및 네트워크 통신 시간을 고려하여 상기 함수 또는 상기 반복문을 오프로딩 하였을 때, 시간이 단축되는 경우에 상기 함수 또는 상기 반복문을 상기 타겟 연산으로 결정하는 것을 특징으로 하는 네이티브 어플리케이션의 오프로딩 방법
|
13 |
13
제 12 항에 있어서,상기 모바일 바이너리를 실행하는 단계는 상기 타겟 연산을 오프로딩 할 때, 오프로딩의 이득을 재산정하여, 상기 타겟 연산을 오프로딩 할지 여부를 재결정하는 것을 특징으로 하는 네이티브 어플리케이션의 오프로딩 방법
|
14 |
14
제 9 항에 있어서,상기 모바일 IR 코드 및 상기 서버 IR 코드를 각각 생성하는 단계는 상기 모바일 디바이스와 상기 서버가 동일한 가상 메모리 주소를 갖도록 동일한 오브젝트에 동일한 주소를 부여하고, 포인터를 통해 접근하는 전역 변수를 Heap 영역에 재할당하는 것을 특징으로 하는 네이티브 어플리케이션의 오프로딩 방법
|
15 |
15
제 9 항에 있어서,상기 모바일 바이너리를 실행하는 단계는 상기 타겟 연산에 따라 상기 서버에서 사용할 데이터를 미리 전송하고, 상기 서버로부터 요청이 있는 경우 요청된 데이터를 상기 서버로 전송하는 것을 특징으로 하는 네이티브 어플리케이션의 오프로딩 방법
|
16 |
16
제 9 항에 있어서,상기 모바일 바이너리를 실행하는 단계는 상기 타겟 연산을 수행한 결과를 나타내는 압축된 페이지들을 상기 서버로부터 수신하는 것을 특징으로 하는 네이티브 어플리케이션의 오프로딩 방법
|
17 |
17
제9항 내지 제16항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
|