| 번호 | 청구항 |
|---|---|
| 1 | 제1 스마트 기기(이하 '호스트 기기(host device)'라 한다)의 특정 애플리케이션 수행시, 상기 호스트 기기의 플랫폼 역할을 수행하는 프로그램(이하 '호스트 플랫폼'이라 한다)의 동작에 의해 제2 스마트 기기(이하 '게스트 기기(guest device)'라 한다)로 사용자 인터페이스(user interface, UI)를 분산시키기 위한, 컴퓨터로 구현되는 방법으로서,(a) 근거리에 위치하여 게스트 기기로 사용될 수 있는 기기의 리스트 및, 다른 기기와의 다중 UI 화면을 이용하는 상호작용이 가능한 애플리케이션(이하 '상호작용 애플리케이션'이라 한다)의 리스트를 호스트 기기 화면에 디스플레이 하는 단계;(b) 사용자의 입력에 따라 선택된 기기(이하 '게스트 기기'라 한다)로, 사용자의 입력에 따라 선택된 애플리케이션의 패키지 파일을 송신하는 단계; 및,(c) 상기 단계(b)의 애플리케이션 중 하나의 애플리케이션(이하 '호스트 앱'이라 한다)의 동작 중, 상기 호스트 앱에서 사용하는 UI 객체(UI object)를 상기 단계(b)에서 선택된 게스트 기기로 송신하는 단계를 포함하고,상기 단계(c)에서 선택된 게스트 기기로 송신하는 정보에는,사용자의 선택에 따라, 상기 UI를 상기 게스트 기기로 이동(migration)할 것인지 또는 복사(replication)할 것인지에 대한 정보를 더 포함하고,복사(replication)로 선택된 경우,상기 단계(c) 이후,(d) 상기 선택된 UI를 렌더링(rendering)하여 상기 호스트 기기의 화면에 디스플레이하는 단계를 더 포함하며,복사(replication)로 선택된 경우, 또는 이동(migration)으로 선택된 경우,상기 단계(c) 이후, 상기 호스트 기기 화면에 디스플레이되는 UI 상태의 업데이트(이하 UI 상태의 업데이트를 'UI 업데이트'라 한다)를 위한 호스트 앱의 함수 호출(local function call)시, (e) 상기 함수 호출을 상기 호스트 앱이 인식하지 못하는 가운데 가로채어, 이를 기기간 함수 호출(cross-device function calls)(이하 ‘RPC(remote procedure call)’라 한다) 메시지로 변환하여 상기 게스트 기기로 송신하는 단계를 더 포함하고,이로써 동일 기기 내에서의 UI 사용을 위한 함수 호출(local function call) 기능만을 가지고 있는 기존의 호스트 앱의 코드를 전혀 수정하지 않고도, 그 호스트 앱이 전혀 인식하지 못하는 가운데 호스트 플랫폼의 동작에 의해 기기간 함수 호출(cross-device function calls)이 이루어지게 되도록 하는,게스트 기기로 사용자 인터페이스를 분산시키기 위한, 컴퓨터로 구현되는 방법. |
| 2 | 청구항 1에 있어서,상기 단계(a) 이전에,(a0) 상기 호스트 기기에 설치된 상호작용 애플리케이션의 코드로부터 해당 애플리케이션에서 사용하는 UI 객체의 후보군(candidates)을 추출하여 저장하는 정적 코드 분석(static code analysis)'을 수행하는 단계를 더 포함하고,상기 정적 코드 분석의 입력은 애플리케이션 코드 전체가 되며,상기 정적 코드 분석의 출력은 해당 애플리케이션에서 사용하는 UI 객체 및 UI 자원들의 후보군(candidates)인 것을 특징으로 하는, 게스트 기기로 사용자 인터페이스를 분산시키기 위한, 컴퓨터로 구현되는 방법. |
| 3 | 청구항 2에 있어서,상기 단계(c)는,(c11) 상기 호스트 앱의 동작 중, 상기 호스트 앱에서 사용하는 UI 중에서, 게스트 기기로 보내기 위한 UI element의 선택을 위한 사용자의 입력을 수신하는 단계;(c12) 상기 단계(a0)에서 추출된 UI 객체 후보군 중, 상기 단계(c11)에서 선택된 UI element를 게스트 기기에서 실행하기 위하여 실제로 사용되는 UI 객체를 추출하는 단계;(c13) 상기 단계(c12)에서 추출된 UI 객체를 상기 게스트 기기로 송신하는 단계; 및,(c14) 상기 단계(c11)에서 선택된 UI element를 호스트 플랫폼의 플랫폼 레이아웃 파일에 저장하는 단계를 포함하는 것을 특징으로 하는, 게스트 기기로 사용자 인터페이스를 분산시키기 위한, 컴퓨터로 구현되는 방법. |
| 4 | 청구항 2에 있어서,상기 단계(c)는,(c21) 상기 호스트 앱의 동작 중, 해당 앱의 레이아웃 파일 또는 호스트 플랫폼의 플랫폼 레이아웃 파일(이하 통칭하여 ‘레이아웃 파일’이라 한다)을 파싱(parsing) 하는 단계;(c22) 상기 레이아웃 파일에 설정되어 있는 UI 객체를 추출하는 단계; 및,(c23) 상기 단계(c22)에서 추출된 UI 객체를 상기 게스트 기기로 송신하는 단계를 포함하는 것을 특징으로 하는, 게스트 기기로 사용자 인터페이스를 분산시키기 위한, 컴퓨터로 구현되는 방법. |
| 5 | 청구항 2에 있어서,상기 단계(c)에서,상기 UI 객체가 포함된 화면 전체를 게스트 기기로 보내주는 미러링(mirroring)을 수행하는 것을 특징으로 하는, 게스트 기기로 사용자 인터페이스를 분산시키기 위한, 컴퓨터로 구현되는 방법. |
| 6 | 청구항 1에 있어서,상기 호스트 기기와 게스트 기기는,기본 플랫폼으로서 같은 플랫폼을 사용하거나, 또는,서로 다른 기본 플랫폼을 사용하는 경우에는 상기 호스트 앱이 플랫폼에 무관한 코드를 사용하는 앱인 것을 특징으로 하는, 게스트 기기로 사용자 인터페이스를 분산시키기 위한, 컴퓨터로 구현되는 방법. |
| 7 | 삭제 |
| 8 | 삭제 |
| 9 | 청구항 1에 있어서,복사(replication)로 선택된 경우,상기 UI 업데이트를 위한 호스트 앱의 함수 호출이, 상기 게스트 기기에서의 사용자 입력에 의해 발생되는 경우, 상기 단계(e) 이전에,(e01) 상기 게스트 기기로부터, 상기 UI를 통하여 사용자에 의해 입력된 데이터를 수신하여 상기 호스트 기기 화면에 디스플레이하는 단계를 더 포함하는 것을 특징으로 하는, 게스트 기기로 사용자 인터페이스를 분산시키기 위한, 컴퓨터로 구현되는 방법. |
| 10 | 청구항 1에 있어서,복사(replication)로 선택된 경우,상기 UI 업데이트를 위한 호스트 앱의 함수 호출이, 상기 호스트 기기에서의 사용자 입력에 의해 발생되는 경우, 상기 단계(e) 이전에,(e02) 상기 호스트 기기의 UI를 통하여 사용자에 의해 입력된 데이터를 수신하는 단계를 더 포함하는 것을 특징으로 하는, 게스트 기기로 사용자 인터페이스를 분산시키기 위한, 컴퓨터로 구현되는 방법. |
| 11 | 청구항 1에 있어서,복사(replication)로 선택된 경우,(g) 호스트 기기에서 UI 업데이트를 수행하는 단계를 더 포함하는 것을 특징으로 하는, 게스트 기기로 사용자 인터페이스를 분산시키기 위한, 컴퓨터로 구현되는 방법. |
| 12 | 청구항 1에 있어서,복사(replication)로 선택된 경우,(h1) 상기 게스트 기기로부터 사용자 입력 데이터를 수신시 이를 호스트 기기 화면의 UI를 통하여 디스플레이하는 단계를 더 포함하는 것을 특징으로 하는, 게스트 기기로 사용자 인터페이스를 분산시키기 위한, 컴퓨터로 구현되는 방법. |
| 13 | 청구항 1에 있어서,복사(replication)로 선택된 경우,(h21) 상기 호스트 기기의 UI를 통하여 사용자에 의해 입력된 데이터를 수신시 이를 호스트 기기 화면의 UI를 통하여 디스플레이하는 단계; 및,(h22) 상기 사용자에 의해 입력된 데이터를 게스트 기기로 송신하는 단계를 더 포함하는 것을 특징으로 하는, 게스트 기기로 사용자 인터페이스를 분산시키기 위한, 컴퓨터로 구현되는 방법. |
| 14 | 청구항 1에 있어서,상기 단계(e)는,(e11) 상기 함수의 호출시, 미리 교체 설정되어 있는 코드변환함수가 호출되는 단계;(e12) 상기 코드변환함수에 의해 상기 함수를 RPC 메시지로 변환하는 단계; 및,(e13) 상기 RPC 메시지를 상기 게스트 기기로 송신하는 단계를 포함하는 것을 특징으로 하는, 게스트 기기 사용자 인터페이스를 분산시키기 위한, 컴퓨터로 구현되는 방법. |
| 15 | 청구항 1에 있어서,상기 단계(e) 이후,(f1) 상기 RPC 수행 후에 돌아올 리턴 어드레스를 저장하는 단계;(f2) 상기 게스트 기기로부터 상기 RPC에 대한 리턴값 또는 에러 코드를 수신하는 단계; 및,(f3) 상기 리턴 어드레스로 돌아가 다음 단계를 수행하는 단계를 더 포함하는 것을 특징으로 하는, 게스트 기기로 사용자 인터페이스를 분산시키기 위한, 컴퓨터로 구현되는 방법. |
| 16 | 청구항 1에 있어서,이동(migration)으로 선택된 경우,(i) 상기 게스트 기기로부터 호스트 앱 함수 호출을 위한 RPC 메시지를 수신한 경우, 해당 호스트 앱 함수를 호출하는 단계를 더 포함하는 것을 특징으로 하는, 게스트 기기로 사용자 인터페이스를 분산시키기 위한, 컴퓨터로 구현되는 방법. |
| 17 | 청구항 1 또는 청구항 14에 있어서,상기 RPC 메시지의 포함 인자(argument)가 참조형 인자(reference type argument)인 경우, 상기 RPC 메시지와 함께, 상기 참조형 인자가 가리키는 데이터 값을 상기 게스트 기기로 송신하는 것을 특징으로 하는, 게스트 기기 사용자 인터페이스를 분산시키기 위한, 컴퓨터로 구현되는 방법. |
| 18 | 제1 스마트 기기(이하 '호스트 기기(host device)'라 한다)의 특정 애플리케이션 수행시, 제2 스마트 기기(이하 '게스트 기기(guest device)'라 한다)의 플랫폼 역할을 수행하는 프로그램(이하 '게스트 플랫폼'이라 한다)의 동작에 의해, 상기 호스트 기기로부터 사용자 인터페이스(user interface, UI)를 받아 상기 게스트 기기에서 상기 UI를 수행하기 위한, 컴퓨터로 구현되는 방법으로서,(a) 호스트 기기로부터, 사용자의 입력에 따라 선택된 애플리케이션(이하 '호스트 앱'이라 한다)의 패키지 파일을 수신하는 단계;(b) 호스트 기기로부터 UI 객체(UI object)를 수신하는 단계; 및,(c) 상기 단계(b)에서 수신한 UI 객체에 따라 UI를 렌더링(rendering)하여 상기 게스트 기기의 화면에 디스플레이하는 단계를 포함하고,상기 단계(b)에서 수신하는 정보에는, 상기 UI가 상기 게스트 기기로 이동(migration)되는 것인지 또는 복사(replication)되는 것인지에 대한 정보를 더 포함하며,상기 UI가 상기 게스트 기기로 이동(migration)된 경우,(j1) 상기 게스트 기기의 UI를 통하여 사용자에 의해 입력된 데이터를 수신하는 단계; 및,(j2) 상기 단계(j1)에서 입력된 데이터에 따라, 호스트 앱 수행을 위한 함수 호출(local function call)을 인지한 경우, 이를 가로채어 RPC(remote procedure call)로 변환하여 상기 호스트 기기로 송신하는 단계를 더 포함하는,호스트 기기로부터 분산되는 사용자 인터페이스를 수행하기 위한, 컴퓨터로 구현되는 방법. |
| 19 | 청구항 18에 있어서,상기 단계(b)에서, 상기 UI 객체가 포함된 화면 전체를 수신한 경우,상기 단계(b)와 단계(c) 사이에,(b1) 상기 수신한 화면에서, UI element의 선택을 위한 사용자의 입력을 수신하는 단계를 더 포함하고,상기 단계(c)의 수신한 UI 객체는,상기 단계(b1)에서 선택된 UI element에 대한 UI 객체인 것을 특징으로 하는, 호스트 기기로부터 분산되는 사용자 인터페이스를 수행하기 위한, 컴퓨터로 구현되는 방법. |
| 20 | 삭제 |
| 21 | 청구항 18에 있어서,상기 단계(c) 이후,(d) 상기 호스트 기기로부터, 상기 게스트 기기 화면에 디스플레이되는 UI 상태의 업데이트(이하 UI 상태의 업데이트를 'UI 업데이트'라 한다)를 위한 기기간 함수 호출(cross-device function calls)(이하 ‘RPC(remote procedure call)’라 한다) 메시지 메시지를 수신한 경우, 상기 호스트 기기 화면의 UI에 대한 UI 업데이트를 수행하는 단계를 더 포함하는 것을 특징으로 하는, 호스트 기기로부터 분산되는 사용자 인터페이스를 수행하기 위한, 컴퓨터로 구현되는 방법. |
| 22 | 청구항 18에 있어서,상기 UI가 상기 게스트 기기로 복사(replication)된 경우,(e) 상기 게스트 기기의 UI를 통하여 사용자에 의해 입력된 데이터를 수신한 경우, 그 데이터를 상기 호스트 기기로 송신하는 단계를 더 포함하는 것을 특징으로 하는, 호스트 기기로부터 분산되는 사용자 인터페이스를 수행하기 위한, 컴퓨터로 구현되는 방법. |
| 23 | 청구항 22에 있어서,(f) 상기 단계(e)에서 수신한 데이터에 따라, 호스트 앱 수행을 위한 함수 호출(local function call)을 인지하는 단계를 더 포함하고, 이 경우 호출된 함수를 RPC(remote procedure call)로 변환하지 않는(suppression) 것을 특징으로 하는, 호스트 기기로부터 분산되는 사용자 인터페이스를 수행하기 위한, 컴퓨터로 구현되는 방법. |
| 24 | 청구항 23에 있어서,상기 단계(f) 이후,(g) 상기 호스트 기기로부터 수신하는, 상기 단계(f)에서 호출된 함수의 리턴값을 수신하여, 상기 호출된 함수 수행 다음 단계로 진행하는 단계를 더 포함하는 것을 특징으로 하는, 호스트 기기로부터 분산되는 사용자 인터페이스를 수행하기 위한, 컴퓨터로 구현되는 방법. |
| 25 | 청구항 18에 있어서,상기 UI가 상기 게스트 기기로 복사(replication)된 경우,(h) 상기 호스트 기기로부터 사용자 입력 데이터를 수신시, 이를 게스트 기기 화면의 UI를 통하여 디스플레이하는 단계를 더 포함하는 것을 특징으로 하는, 호스트 기기로부터 분산되는 사용자 인터페이스를 수행하기 위한, 컴퓨터로 구현되는 방법. |
| 26 | 청구항 25에 있어서,(i) 상기 단계(h)에서 수신한 데이터에 따라, 호스트 앱 수행을 위한 함수 호출(local function call)을 인지하는 단계를 더 포함하고, 이 경우 호출된 함수를 RPC(remote procedure call)로 변환하지 않는(suppression) 것을 특징으로 하는, 호스트 기기로부터 분산되는 사용자 인터페이스를 수행하기 위한, 컴퓨터로 구현되는 방법. |
| 27 | 삭제 |
| 28 | 청구항 18에 있어서,상기 단계(j2)는,(j21) 상기 함수의 호출시, 미리 교체 설정되어 있는 코드변환함수가 호출되는 단계;(j22) 상기 코드변환함수에 의해 상기 함수를 RPC 메시지로 변환하는 단계; 및,(j23) 상기 RPC 메시지를 호스트 기기로 송신하는 단계를 포함하는 것을 특징으로 하는, 호스트 기기로부터 분산되는 사용자 인터페이스를 수행하기 위한, 컴퓨터로 구현되는 방법. |
| 29 | 청구항 23 또는 청구항 26에 있어서,청구항 23의 단계(f) 이후, 또는 청구항 26의 단계(i) 이후,상기 호스트 기기로부터 수신하는, 청구항 23의 단계(f) 또는 청구항 26의 단계(i)에서 호출된 함수의 리턴값을 수신하여, 상기 호출된 함수 수행 다음 단계로 진행하는 단계를 더 포함하는 것을 특징으로 하는, 호스트 기기로부터 분산되는 사용자 인터페이스를 수행하기 위한, 컴퓨터로 구현되는 방법. |
| 30 | 특정 애플리케이션 수행시, 제2 스마트 기기(이하 '게스트 기기(guest device)'라 한다)로 사용자 인터페이스(user interface, UI)를 분산시키는 기능을 수행하는 제1 스마트 기기(이하 '호스트 기기(host device)'라 한다)로서,적어도 하나의 프로세서; 및컴퓨터로 실행가능한 명령을 저장하는 적어도 하나의 메모리를 포함하되,상기 적어도 하나의 메모리에 저장된 상기 컴퓨터로 실행가능한 명령은, 상기 적어도 하나의 프로세서에 의하여, (a) 근거리에 위치하여 게스트 기기로 사용될 수 있는 기기의 리스트 및, 다른 기기와의 다중 UI 화면을 이용하는 상호작용이 가능한 애플리케이션(이하 '상호작용 애플리케이션'이라 한다)의 리스트를 호스트 기기 화면에 디스플레이 하는 단계;(b) 사용자의 입력에 따라 선택된 기기(이하 '게스트 기기'라 한다)로, 사용자의 입력에 따라 선택된 애플리케이션의 패키지 파일을 송신하는 단계; 및,(c) 상기 단계(b)의 애플리케이션 중 하나의 애플리케이션(이하 '호스트 앱'이라 한다)의 동작 중, 상기 호스트 앱에서 사용하는 UI 객체(UI object)를 상기 단계(b)에서 선택된 게스트 기기로 송신하는 단계가 실행되도록 하고,상기 단계(c)에서 선택된 게스트 기기로 송신하는 정보에는,사용자의 선택에 따라, 상기 UI를 상기 게스트 기기로 이동(migration)할 것인지 또는 복사(replication)할 것인지에 대한 정보를 더 포함하고,복사(replication)로 선택된 경우,상기 단계(c) 이후,(d) 상기 선택된 UI를 렌더링(rendering)하여 상기 호스트 기기의 화면에 디스플레이하는 단계가 더 실행되도록 하며,복사(replication)로 선택된 경우, 또는 이동(migration)으로 선택된 경우,상기 단계(c) 이후, 상기 호스트 기기 화면에 디스플레이되는 UI 상태의 업데이트(이하 UI 상태의 업데이트를 'UI 업데이트'라 한다)를 위한 호스트 앱의 함수 호출(local function call)시, (e) 상기 함수 호출을 상기 호스트 앱이 인식하지 못하는 가운데 가로채어, 이를 기기간 함수 호출(cross-device function calls)(이하 ‘RPC(remote procedure call)’라 한다) 메시지로 변환하여 상기 게스트 기기로 송신하는 단계가 더 실행되도록 하고,이로써 동일 기기 내에서의 UI 사용을 위한 함수 호출(local function call) 기능만을 가지고 있는 기존의 호스트 앱의 코드를 전혀 수정하지 않고도, 그 호스트 앱이 전혀 인식하지 못하는 가운데 호스트 플랫폼의 동작에 의해 기기간 함수 호출(cross-device function calls)이 이루어지게 되도록 하는,호스트 기기. |
| 31 | 제1 스마트 기기(이하 '호스트 기기(host device)'라 한다)의 특정 애플리케이션 수행시, 상기 호스트 기기로부터 사용자 인터페이스(user interface, UI)를 받아, 상기 UI를 수행하는 제2 스마트 기기(이하 '게스트 기기(guest device)'라 한다)로서,적어도 하나의 프로세서; 및컴퓨터로 실행가능한 명령을 저장하는 적어도 하나의 메모리를 포함하되,상기 적어도 하나의 메모리에 저장된 상기 컴퓨터로 실행가능한 명령은, 상기 적어도 하나의 프로세서에 의하여, (a) 호스트 기기로부터, 사용자의 입력에 따라 선택된 애플리케이션(이하 '호스트 앱'이라 한다)의 패키지 파일을 수신하는 단계;(b) 호스트 기기로부터 UI 객체(UI object)를 수신하는 단계; 및,(c) 상기 단계(b)에서 수신한 UI 객체에 따라 UI를 렌더링(rendering)하여 상기 게스트 기기의 화면에 디스플레이하는 단계가 실행되도록 하고,상기 단계(b)에서 수신하는 정보에는, 상기 UI가 상기 게스트 기기로 이동(migration)되는 것인지 또는 복사(replication)되는 것인지에 대한 정보를 더 포함하며,상기 UI가 상기 게스트 기기로 이동(migration)된 경우,(j1) 상기 게스트 기기의 UI를 통하여 사용자에 의해 입력된 데이터를 수신하는 단계; 및,(j2) 상기 단계(j1)에서 입력된 데이터에 따라, 호스트 앱 수행을 위한 함수 호출(local function call)을 인지한 경우, 이를 가로채어 RPC(remote procedure call)로 변환하여 상기 호스트 기기로 송신하는 단계가 더 실행되도록 하는,게스트 기기. |
| 32 | 제1 스마트 기기(이하 '호스트 기기(host device)'라 한다)의 특정 애플리케이션 수행시, 제2 스마트 기기(이하 '게스트 기기(guest device)'라 한다)로 사용자 인터페이스(user interface, UI)를 분산시키기 위하여 상기 호스트 기기 상에서 동작하는, 비일시적 저장매체에 저장된 컴퓨터 프로그램(이하 '호스트 플랫폼'이라 한다)으로서,비일시적 저장 매체에 저장되며, 프로세서에 의하여,(a) 근거리에 위치하여 게스트 기기로 사용될 수 있는 기기의 리스트 및, 다른 기기와의 다중 UI 화면을 이용하는 상호작용이 가능한 애플리케이션(이하 '상호작용 애플리케이션'이라 한다)의 리스트를 호스트 기기 화면에 디스플레이 하는 단계;(b) 사용자의 입력에 따라 선택된 기기(이하 '게스트 기기'라 한다)로, 사용자의 입력에 따라 선택된 애플리케이션의 패키지 파일을 송신하는 단계; 및,(c) 상기 단계(b)의 애플리케이션 중 하나의 애플리케이션(이하 '호스트 앱'이라 한다)의 동작 중, 상기 호스트 앱에서 사용하는 UI 객체(UI object)를 상기 단계(b)에서 선택된 게스트 기기로 송신하는 단계가 실행되도록 하는 명령을 포함하고,상기 단계(c)에서 선택된 게스트 기기로 송신하는 정보에는,사용자의 선택에 따라, 상기 UI를 상기 게스트 기기로 이동(migration)할 것인지 또는 복사(replication)할 것인지에 대한 정보를 더 포함하고,복사(replication)로 선택된 경우,상기 단계(c) 이후,(d) 상기 선택된 UI를 렌더링(rendering)하여 상기 호스트 기기의 화면에 디스플레이하는 단계가 실행되도록 하는 명령을 더 포함하며,복사(replication)로 선택된 경우, 또는 이동(migration)으로 선택된 경우,상기 단계(c) 이후, 상기 호스트 기기 화면에 디스플레이되는 UI 상태의 업데이트(이하 UI 상태의 업데이트를 'UI 업데이트'라 한다)를 위한 호스트 앱의 함수 호출(local function call)시, (e) 상기 함수 호출을 상기 호스트 앱이 인식하지 못하는 가운데 가로채어, 이를 기기간 함수 호출(cross-device function calls)(이하 ‘RPC(remote procedure call)’라 한다) 메시지로 변환하여 상기 게스트 기기로 송신하는 단계가 실행되도록 하는 명령을 더 포함하고,이로써 동일 기기 내에서의 UI 사용을 위한 함수 호출(local function call) 기능만을 가지고 있는 기존의 호스트 앱의 코드를 전혀 수정하지 않고도, 그 호스트 앱이 전혀 인식하지 못하는 가운데 호스트 플랫폼의 동작에 의해 기기간 함수 호출(cross-device function calls)이 이루어지게 되도록 하는,비일시적 저장매체에 저장된 컴퓨터 프로그램. |
| 33 | 제1 스마트 기기(이하 '호스트 기기(host device)'라 한다)의 특정 애플리케이션 수행시, 상기 호스트 기기로부터 사용자 인터페이스(user interface, UI)를 받아 제2 스마트 기기(이하 '게스트 기기(guest divece)'라 한다)에서 상기 UI를 수행하기 위하여 상기 게스트 기기 상에서 동작하는, 비일시적 저장매체에 저장된 컴퓨터 프로그램(이하 '게스트 플랫폼'이라 한다)으로서,비일시적 저장매체에 저장되며, 프로세서에 의하여,(a) 호스트 기기로부터, 사용자의 입력에 따라 선택된 애플리케이션(이하 '호스트 앱'이라 한다)의 패키지 파일을 수신하는 단계;(b) 호스트 기기로부터 UI 객체(UI object)를 수신하는 단계; 및,(c) 상기 단계(b)에서 수신한 UI 객체에 따라 UI를 렌더링(rendering)하여 상기 게스트 기기의 화면에 디스플레이하는 단계가 실행되도록 하는 명령을 포함하고,상기 단계(b)에서 수신하는 정보에는, 상기 UI가 상기 게스트 기기로 이동(migration)되는 것인지 또는 복사(replication)되는 것인지에 대한 정보를 더 포함하며,상기 UI가 상기 게스트 기기로 이동(migration)된 경우,(j1) 상기 게스트 기기의 UI를 통하여 사용자에 의해 입력된 데이터를 수신하는 단계; 및,(j2) 상기 단계(j1)에서 입력된 데이터에 따라, 호스트 앱 수행을 위한 함수 호출(local function call)을 인지한 경우, 이를 가로채어 RPC(remote procedure call)로 변환하여 상기 호스트 기기로 송신하는 단계가 실행되도록 하는 명령을 더 포함하는,비일시적 저장매체에 저장된 컴퓨터 프로그램. |