KR20130099733A - 데이터 공유 시스템 및 방법 - Google Patents
데이터 공유 시스템 및 방법 Download PDFInfo
- Publication number
- KR20130099733A KR20130099733A KR1020120021460A KR20120021460A KR20130099733A KR 20130099733 A KR20130099733 A KR 20130099733A KR 1020120021460 A KR1020120021460 A KR 1020120021460A KR 20120021460 A KR20120021460 A KR 20120021460A KR 20130099733 A KR20130099733 A KR 20130099733A
- Authority
- KR
- South Korea
- Prior art keywords
- layout
- application
- resource
- layout file
- file
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
- G06F15/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
애플리케이션의 사용자 인터페이스 공유를 통해 서로 다른 OS 환경에서 동작하는 디바이스 간의 데이터를 공유할 수 있도록 하는 데이터 공유 시스템 및 방법에 관한 것으로, 애플리케이션 공유 요청에 따라 송신 디바이스에서 공유를 요청받은 애플리케이션을 추출한 후, 추출된 애플리케이션의 레이아웃 파일을 추출하여 이를 수신 디바이스로 전송하고, 수신 디바이스는 송신 디바이스로부터 수신한 레이아웃 파일을 분석하여 사용자 인터페이스 화면을 구성한 후, 송신 디바이스로 화면을 구성하는 레이아웃과 오브젝트의 리소스를 요청하여 수신하고, 수신한 리소스를 레이아웃과 오브젝트에 적용하여 화면에 출력한다.
이에 따라, 디바이스 간의 데이터 공유가 이루어지게 된다.
이에 따라, 디바이스 간의 데이터 공유가 이루어지게 된다.
Description
본 발명은 데이터 공유 시스템 및 방법에 관한 것으로서, 특히 애플리케이션의 사용자 인터페이스 공유를 통해 서로 다른 OS 환경에서 동작하는 디바이스 간의 데이터를 공유할 수 있도록 하는 데이터 공유 시스템 및 방법에 관한 것이다.
최근, 한 명의 사용자가 스마트폰, PC, 스마트 TV, 차량용 네비게이션, 태블릿 PC 등과 같은 다양한 디바이스를 보유하는 경우가 점차 늘어나고 있는 추세이다.
전술한 바와 같이, 한 명의 사용자가 복수의 디바이스를 보유함에 따라, 디바이스 간의 공유 문제가 하나의 이슈로 제기되고 있으며, 디바이스 간의 공유는 크게 데이터 공유와 실행 환경의 공유로 구분된다.
여기서, 데이터 공유를 위한 방법으로는 웹 기반의 클라우드 환경을 이용한 공유 방법이 있다.
도 1은 종래 기술에 따른 클라우드를 이용한 디바이스 간의 데이터 공유를 설명하기 위한 도로, OS(Operating System) 환경이 서로 동일한 디바이스 간에서는 데이터를 공유하여, 공유된 데이터를 디바이스에서 모두 사용할 수 있게 된다.
그러나, OS 환경이 서로 다른 디바이스 간에는 데이터 공유가 이루어진다 하더라도 공유된 데이터를 두 디바이스에서 모두 사용할 수 없게 되는 문제점이 있다.
예를 들어, 윈도우즈 환경에서 작동하는 제1디바이스가 안드로이드 환경에서 작동하는 제2디바이스와 특정 데이터를 공유한다고 가정했을 때, 제1디바이스와 제2디바이스 간에 데이터 공유가 이루어진다 하더라도, 공유된 데이터 처리에 이용되는 애플리케이션이 윈도우즈 환경에서는 실행되나 안드로이드 환경에서는 실행되지 않으면, 제2디바이스에서 공유된 데이터를 사용할 수 없게 되는 문제점이 있다.
이러한 문제점을 해결하기 위해 종래에는 원격 컨트롤 방법, OS별로 애플리케이션을 개발하는 방법, 클라우드 환경에서 애플리케이션을 구동하는 방법 등을 사용하여 데이터를 공유한다.
전술한, 원격 컨트롤 방법은 도 2에 도시하는 바와 같이 서로 다른 OS 환경에서 동작하는 디바이스 간의 데이터를 공유하기 위해 제2디바이스(2)에서 제1디바이스(1)를 원격 컨트롤한다.
우선, 제2디바이스(2)는 제1디바이스(1)에 연결하여 화면 전송을 요청하고, 제1디바이스(1)는 자신의 현재 화면을 캡쳐하여 제2디바이스(2)로 전송한다. 제2디바이스(2)는 제1디바이스(1)로부터 수신한 이미지를 자신의 화면에 출력하고, 해당 화면을 통해 사용자 입력이 발생하면 해당 위치의 좌표를 제1디바이스(1)로 다시 전송한다. 제1디바이스(1)는 제2디바이스(2)로부터 수신한 좌표를 제1디바이스(1)의 좌표에 맞도록 변환한 후, 해당 좌표에 대한 처리를 수행하고, 그 결과를 자신의 화면에 반영하며, 반영된 화면을 다시 캡쳐하여 제2디바이스(2)로 전송한다.
그러나, 전술한 원격 컨트롤 방법은 화면의 변화에 따라 화면을 캡쳐하여 전송하므로, 네트워크 트래픽에 부하가 걸리게 되고, 이로 인해 처리 속도가 늦어지게 되는 문제점이 있다.
또한, 최근 출시되고 있는 디바이스의 스크린 크기가 점차 커지고 있으며, 이에 따라 화면 캡쳐에 따른 이미지 크기도 점차 커져, 트래픽 부하가 더 증가하게 되는 문제점이 있다.
또한, 제1 및 제2디바이스(1, 2)가 서로 다른 화면 크기를 가지는 경우, 동일한 위치에 대한 처리를 위해서 제1디바이스(1)는 제2디바이스(2)로부터 수신한 좌표를 제1디바이스(1)의 좌표에 맞게 변환할 필요가 있다. 이러한 좌표 변환은 실시간 처리를 필요로 하는 동작에서는 부담으로 작용하고, 화면 비율 및 입력 위치에 따라 오차가 발생할 수 있으며, 이러한 오차는 오동작을 발생시킬 수 있는 문제점이 있다.
또한, 제1 및 제2디바이스(1, 2)가 서로 다른 화면 크기를 가지며, 화면이 더 작은 제2디바이스(2)에서 화면이 더 큰 제1 디바이스(1)로 원격 연결을 한다고 가정했을 경우, 제2디바이스(2)는 자신의 화면보다 큰 이미지를 디스플레이해야 하므로, 화면이 잘려 보이거나 전체를 보여주기 위해 스크롤이 필요할 수 있으며, 화면을 축소하는 경우에는 화면 깨짐 현상이 발생하여 사용자가 인식하기 어려워지는 문제가 발생할 수 있다.
한편, OS별로 애플리케이션을 개발하는 방법은 도 3에 도시하는 바와 같이, 각각의 OS 환경에서 동작하는 애플리케이션을 별도로 개발한다.
그러나, 각각의 OS 환경에서 동작하는 애플리케이션을 별도로 개발하는 경우, 개발자는 어느 한 애플리케이션에 대해 윈도우즈용 애플리케이션, 안드로이드용 애플리케이션, iOS용 애플리케이션 등으로 모두 개발해야 하므로, 개발에 부담이 가중되는 문제점이 있다.
한편, 클라우드 환경의 애플리케이션을 제공하는 방법은 도 4에 도시하는 바와 같이, 서버에서 실행이 이루어지는 웹 애플리케이션을 제공한다.
OS에 따라 웹 브라우저는 서로 다르게 제작된다. 그러나 웹 브라우저를 이용하여 표현하는 컨텐츠는 HTML(HyperText Markup Language), PHP(Personal Hypertext Preprocessor), JSP(Java Server Pages) 등으로 OS와는 무관하게 전 세계적으로 통일되어 있다.
이러한 점에 착안하여, 디바이스가 웹을 통해 접속된 서버에서 실행이 이루어지는 클라우드 환경의 웹 애플리케이션을 제공한다.
전술한, 웹 애플리케이션의 실행은 웹을 통해 접속된 서버에서 이루어지고, 디바이스에서는 웹을 통하여 접속된 서버로부터 결과만을 수신하여 출력하므로, 서로 다른 OS 환경에서도 동작이 가능하다.
그러나, 클라우드 환경의 웹 애플리케이션은 그 종류가 다양하지 않으며, 웹 애플리케이션을 제공하는 업체별로 데이터 포맷이 달라 공통으로 사용이 불가능한 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위해 안출된 것으로서, 애플리케이션의 사용자 인터페이스를 구성하는 레이아웃의 공유를 통해 애플리케이션의 사용자 인터페이스를 공유함으로써, 서로 다른 OS 환경에서 동작하는 디바이스 간의 데이터를 공유할 수 있도록 하는 데이터 공유 시스템 및 방법을 제공함에 그 목적이 있다.
전술한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 송신 디바이스는, 애플리케이션을 추출하는 애플리케이션 추출부; 상기 애플리케이션의 레이아웃 파일을 추출하는 레이아웃 파일 추출부; 추출된 레이아웃 파일을 저장하는 레이아웃 파일 저장부; 및 상기 추출된 레이아웃 파일을 수신 디바이스로 전송하는 송신부를 포함하여 이루어지는 것이 바람직하다.
한편, 본 발명의 일 실시예에 따른 수신 디바이스는, 레이아웃 파일을 분석하여 레이아웃을 구성하고, 상기 레이아웃 내의 오브젝트를 추출하는 레이아웃 파일 분석부; 상기 레이아웃 처리를 위해 필요한 정보를 관리하는 정보 관리부; 상기 송신 디바이스 또는 서버로부터 상기 레이아웃과 오브젝트에 적용하기 위한 리소스를 요청하여 수신하는 리소스 처리부; 및 상기 수신한 리소스를 상기 레이아웃과 오브젝트에 적용하여 구성된 사용자 인터페이스를 화면에 출력하는 사용자 인터페이스 출력부를 포함하여 이루어지는 것이 바람직하다.
한편, 본 발명의 일 실시예에 따른 데이터 공유 시스템은, 애플리케이션의 레이아웃 파일을 추출하여 전송하는 송신 디바이스; 및 상기 송신 디바이스로부터 수신한 상기 애플리케이션의 레이아웃 파일을 분석하여 레이아웃을 구성하고, 상기 레이아웃 내의 오브젝트를 추출하고, 상기 송신 디바이스 또는 서버로 요청하여 수신한 리소스를 상기 레이아웃과 오브젝트에 적용하여 구성한 사용자 인터페이스를 화면에 출력하는 적어도 하나 이상의 수신 디바이스를 포함하여 이루어지는 것이 바람직하다.
한편, 본 발명의 일 실시예에 따른 데이터 공유 방법은, 애플리케이션 공유를 요청받는 과정; 공유를 요청받은 애플리케이션을 추출하는 애플리케이션 추출 과정; 상기 애플리케이션의 레이아웃 파일을 추출하는 레이아웃 파일 추출 과정; 및 상기 레이아웃 파일을 상기 수신 디바이스로 전송하는 과정을 포함하여 이루어지는 것이 바람직하다.
한편, 본 발명의 다른 실시예에 따른 데이터 공유 방법은, 송신 디바이스로부터 레이아웃 파일을 수신하는 과정; 및 레이아웃 파일을 분석하여 구성한 사용자 인터페이스를 화면에 출력하는 분석 및 출력 과정을 포함하여 이루어지는 것이 바람직하다.
한편, 본 발명의 또 다른 실시예에 따른 데이터 공유 방법은, 송신 디바이스에서, 애플리케이션 공유를 요청받는 과정; 상기 애플리케이션을 추출하는 애플리케이션 추출 과정; 상기 애플리케이션의 레이아웃 파일을 추출하는 레이아웃 파일 추출 과정; 상기 레이아웃 파일을 상기 수신 디바이스로 전송하는 과정; 및 상기 수신 디바이스에서, 상기 레이아웃 파일을 분석하여 구성한 사용자 인터페이스를 화면에 출력하는 분석 및 출력 과정을 포함하여 이루어지는 것이 바람직하다.
본 발명의 데이터 공유 시스템 및 방법에 따르면, 레이아웃의 공유를 통해 애플리케이션의 사용자 인터페이스를 공유함으로써, 서로 다른 OS 환경에서 동작하는 디바이스 간의 데이터 공유가 가능해 진다.
또한, 용량이 작은 레이아웃 공유를 통해 애플리케이션의 사용자 인터페이스를 공유함으로써, 네트워크에 부하를 주지 않고도 데이터를 공유할 수 있게 되고, 실시간 처리가 가능해 진다.
또한, 오브젝트의 ID 전달을 통해 이벤트 처리를 수행하므로, 좌표 변환에 따른 오버헤드 및 화면 비율에 따른 오차를 없앨 수 있게 된다.
또한, 애플리케이션의 사용자 인터페이스 공유를 통해 애플리케이션의 사용자 인터페이스 화면을 그대로 구성하여 사용하되, 화면 배치의 실제 크기가 아닌 전체 화면에서의 비율을 이용하여 사용자 인터페이스 화면을 구성하므로, 동적인 화면 구성이 가능하며, 디바이스 간의 해상도가 서로 다르더라도 이미지, 텍스트 등을 깨짐 없이 정상적으로 제공할 수 있게 된다.
도 1 내지 도 4는 종래 기술을 설명하기 위한 도면.
도 5는 본 발명에 적용되는 송신 디바이스의 구성을 개략적으로 보인 도면.
도 6은 본 발명에 적용되는 수신 디바이스의 구성을 개략적으로 보인 도면.
도 7 및 도 8은 본 발명에 적용되는 수신 디바이스 내의 구성 요소 간의 동작 시퀀스 다이어그램을 나타내는 도면.
도 9 및 도 10은 본 발명의 일 실시예에 따른 데이터 공유 방법을 설명하기 위한 처리도.
도 11 내지 도 15는 본 발명에 따른 동작을 설명하기 위한 도면.
도 5는 본 발명에 적용되는 송신 디바이스의 구성을 개략적으로 보인 도면.
도 6은 본 발명에 적용되는 수신 디바이스의 구성을 개략적으로 보인 도면.
도 7 및 도 8은 본 발명에 적용되는 수신 디바이스 내의 구성 요소 간의 동작 시퀀스 다이어그램을 나타내는 도면.
도 9 및 도 10은 본 발명의 일 실시예에 따른 데이터 공유 방법을 설명하기 위한 처리도.
도 11 내지 도 15는 본 발명에 따른 동작을 설명하기 위한 도면.
이하에서는 첨부한 도면을 참조하여 본 발명의 바람직한 실시예에 따른 데이터 공유 시스템 및 방법에 대해서 상세하게 설명한다.
우선, 최근 개발되고 있는 대부분의 애플리케이션은 MVC(Model-View-Controller) 패턴에 의한 구현 방식을 따른다.
MVC 패턴이란 애플리케이션을 크게 모델(Model), 뷰(View), 컨트롤러(Controller)의 세 영역으로 구분하고 영역 간의 결합도를 최소화하는 패턴이다.
여기서, 모델은 애플리케이션의 정보(데이터)를 나타내며, 뷰는 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타내고, 컨트롤러는 데이터와 비즈니스 로직 사이의 상호동작을 관리한다.
전술한, MVC 패턴에 따라 애플리케이션을 개발하게 되면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있게 된다.
전술한 바와 같이, MVC 패턴에 따라 개발된 애플리케이션은 사용자 인터페이스를 독립된 하나의 모듈로 구성할 수 있게 되며, 안드로이드(Android)의 경우에는 XML(eXtensible Markup Languag), 윈도우즈(Windows)의 경우에는 XAML(eXtensible Application Markup Language), iOS의 경우에는 XIB(Xiamen International Bank)를 이용하여 사용자 인터페이스를 구성한다.
XML, XAML, XIB는 그 표현 형식에 있어 약간의 차이는 있으나, 모두 XML의 일종으로 볼 수 있다. 이에 따라, XML을 이용하여 모든 OS 환경의 사용자 인터페이스를 표현할 수 있게 된다.
이에, 본 발명에서는 애플리케이션의 사용자 인터페이스 표현에 활용되는 레이아웃의 공유를 통해 서로 다른 OS 환경에서 동작하는 복수의 디바이스가 애플리케이션의 사용자 인터페이스를 공유하여 데이터를 공유할 수 있도록 한다.
전술한 바와 같이, 서로 다른 OS 환경에서 동작하는 디바이스 사이에서 애플리케이션의 사용자 인터페이스 공유에 사용되는 레이아웃 파일은 XML 파일로 구현되며, 일례로 표 1에 나타내는 바와 같이 데이터(Data), 고유값(ID), 여백(Padding), 크기(Size), 위치(Position) 정보 등을 포함하여 이루어진다.
여기서, 데이터는 해당 레이아웃에 표현되는 데이터의 속성으로, 해당 레이아웃에 표현되는 데이터의 ID와 해당 데이터가 표현되는 방법을 나타낸다.
고유값(ID)은 해당 레이아웃 자체의 고유 ID 값을 나타낸다.
여백은 레이아웃의 상하좌우 여백을 표현하기 위한 값을 나타낸다.
크기는 레이아웃의 가로, 세로 크기를 나타낸다.
위치는 레이아웃이 화면상에 표현되기 위한 위치를 나타낸다.
Type | XML Properties | Description |
Data |
background | Source |
src | ||
scale Type | ||
ID | Id | 고유값 |
Padding |
padding Bottom | 여백 |
padding Left | ||
padding Right | ||
padding Top | ||
Size | layout_height | 크기 |
layout_width | ||
Position |
layout_above | 위치 |
layout_below | ||
layout_toLeftOf | ||
layout_toRightOf | ||
layout_alignParentBottom | ||
layout_alignParentLeft | ||
layout_alignParentRight | ||
layout_alignParentTop |
표 1은 본 발명에 적용되는 레이아웃 파일이 갖는 속성을 예시적으로 나타낸 것으로, 레이아웃 파일은 표 1에 기재되어 있는 속성으로만 한정되지 않고, 이 외에도 추가적인 속성이 고려될 수도 있다.
본 발명은 안드로이드, 윈도우즈, iOS 환경에서 모두 동일한 방법으로 적용 가능하나, 본 발명의 실시예에서는 안드로이드 환경에서 동작하는 디바이스가 윈도우즈나 iOS 환경에서 동작하는 디바이스와 데이터를 공유하는 경우를 예를 들어 설명한다.
도 5는 본 발명에 적용되는 송신 디바이스의 구성을 개략적으로 보인 도면이다.
도 5에 도시하는 바와 같이, 본 발명에 적용되는 송신 디바이스(10)는 애플리케이션 추출부(11), 레이아웃 파일 추출부(12), 레이아웃 파일 저장부(13), 송신부(14), 리소스 처리부(15), 이벤트 처리부(16)를 포함하여 이루어진다.
애플리케이션 추출부(11)는 이종의 OS 환경에서 동작하는 적어도 하나 이상의 수신 디바이스(20)와의 공유를 요청받은 애플리케이션을 추출한다.
전술한, 애플리케이션 추출부(11)는 공유를 요청받은 애플리케이션의 고유 식별값인 패키지 이름을 획득한 후, 해당 패키지 이름을 갖는 애플리케이션을 내장 메모리(플래쉬 메모리)의 system/app 영역 또는 data/app 영역에서 탐색하여 애플리케이션을 추출한다.
레이아웃 파일 추출부(12)는 애플리케이션 추출부(11)에서 추출된 애플리케이션의 레이아웃 파일을 추출한다.
전술한, 레이아웃 파일 추출부(12)는 애플리케이션 추출부(11)에서 추출된 애플리케이션의 실행 화면에 대한 리소스 ID를 획득한 후, 실행 화면 리소스 ID에 매칭되어 있는 레이아웃 파일명을 획득하고, 획득한 레이아웃 파일명으로 레이아웃 파일을 추출한다.
레이아웃 파일 저장부(13)는 레이아웃 파일 추출부(12)를 통해 추출된 레이아웃 파일을 저장한다.
송신부(14)는 추출된 레이아웃 파일 및 송신 디바이스(10)에 대한 정보를 근거리 무선 통신망(예를 들어, 지그비(Zigbee), 블루투스(Bluetooth), 와이파이(WiFi) 등), 유선 인터넷망, 무선 인터넷망(예를 들어, WCDMA 망, 4세대 이동 통신망, LTE(Long Term Evolution) 망, All-IP 망 등) 등을 통해 통신 연결되어 있는 수신 디바이스(20)로 전송한다.
여기서, 송신 디바이스(10)와 수신 디바이스(20)는 데이터 공유가 이루어지는 동안 지속적으로 통신이 연결되어 있을 수도 있고, 데이터 송수신이 필요할 때만 통신이 연결될 수도 있다.
송신부(14)를 통해 수신 디바이스(20)로 전송하는 송신 디바이스(10)에 대한 정보는 전화 번호, IP 주소, 네트워크 정보 등과 같이 수신 디바이스(20)가 송신 디바이스(10)와 통신 연결을 하기 위해 필요한 정보이다.
리소스 처리부(15)는 수신 디바이스(20)로부터 리소스 요청을 수신하면, 리소스 요청에 이용된 리소스 ID를 이용하여 리소스(애플리케이션이 사용하는 자원, 예를 들어, 이미지, 오디오, 비디오, 텍스트 문자열, 레이아웃, XML 파일 등. R.java 내에 리소스 ID가 자동 부여된다.)를 탐색하고, 탐색된 리소스를 송신부(14)를 통해 수신 디바이스(20)로 전송한다.
이벤트 처리부(16)는 수신 디바이스(20)로부터 이벤트 처리 요청을 수신하면, 이벤트 처리 요청에 포함되어 있는 오브젝트 ID, 이벤트 종류, 레이아웃 ID, 애플리케이션 ID 등에 의거하여 해당 이벤트가 종료 이벤트인 지를 확인하고, 해당 이벤트가 종료 이벤트이면 종료 처리를 수행하고, 해당 이벤트가 종료 이벤트가 아닌 경우에는 처리를 요청받은 이벤트(사용자와 애플리케이션 사이 또는 애플리케이션들 사이에 일어나는 어떤 일을 의미하는 것으로, 사용자가 프로그램을 사용하기 위해 화면을 터치하거나 키를 누르는 일 등이 이벤트에 해당한다.)의 리스너(Listener:특정 이벤트를 처리하는 인터페이스)를 수행시킨다. 그리고, 해당 리스너의 수행에 따라 오브젝트의 리소스만 변경되는 경우에는 레이아웃 파일 저장부(13)에서 리소스를 추출한 후, 이를 송신부(14)를 통해 수신 디바이스(20)로 전송하고, 레이아웃이 변경되는 경우에는 레이아웃 파일 저장부(13)에서 레이아웃 파일을 추출한 후, 이를 송신부(14)를 통해 수신 디바이스(20)로 전송한다.
도 6은 본 발명에 적용되는 수신 디바이스의 구성을 개략적으로 보인 도면이다.
도 6에 도시하는 바와 같이, 본 발명에 적용되는 수신 디바이스(20)는 레이아웃 파일 분석부(21), 정보 관리부(22), 리소스 처리부(23), 출력부(24), 입력부(25), 입력 판단부(26), 이벤트 처리부(27)를 포함하여 이루어진다.
레이아웃 파일 분석부(21)는 송신 디바이스(10)로부터 수신한 레이아웃 파일을 분석하여 화면을 구성하는 레이아웃과 해당 레이아웃 내의 오브젝트(텍스트 뷰, 이미지 뷰, 버튼 등과 같이 사용자의 입력을 받거나 화면에 데이터를 표시하는 객체)를 추출한 후, 이를 트리 형태로 표현하고, 트리 형태로 표현된 레이아웃과 오브젝트를 이용하여 화면 레이어를 구성한다.
전술한, 레이아웃 파일 분석부(21)는 XML 분석기의 일종인 DOM(Document Object Model) 분석기를 이용하여 레이아웃 파일을 분석한다.
정보 관리부(22)는 레이아웃 처리를 위해 필요한 정보, 즉, 송신 디바이스 정보, 애플리케이션 정보, 레이아웃 정보, 오브젝트 정보, 리소스 정보 등을 저장한다.
송신 디바이스 정보는 송신 디바이스(10)로 추가 정보를 요청하기 위해서 송신 디바이스(10)와의 통신 연결에 필요한 정보로, 전화 번호, IP 주소, 네트워크 정보 등일 수 있다.
전술한, 송신 디바이스 정보는 송신 디바이스(10)로부터 레이아웃 파일을 수신할 때 함께 수신한다.
애플리케이션 정보는 송신 디바이스(10)와 공유가 이루어져 수신 디바이스(20)에서 실행되는 애플리케이션에 대한 정보로, 해당 애플리케이션에 어떤 레이아웃이 종속되어 있는 지에 대한 정보를 관리한다.
이에 따라, 애플리케이션 정보는 레이아웃이 어떤 애플리케이션에 종속되어 있는 레이아웃인 지를 판단하기 위한 기준으로 활용될 수 있다.
레이아웃 정보는 송신 디바이스(10)와 공유가 이루어져 수신 디바이스(20)에서 실행되는 애플리케이션의 실행 화면에 종속되어 있는 레이아웃에 대한 정보로, 각 레이아웃에 어떤 오브젝트가 종속되어 있는 지에 대한 정보를 관리한다.
이에 따라, 레이아웃 정보는 오브젝트가 어떤 레이아웃에 종속되어 있는 오브젝트인 지를 판단하기 위한 기준으로 활용될 수 있다.
오브젝트 정보는 각각의 레이아웃에 종속되어 있는 오브젝트에 대한 정보로, 수신 디바이스(20)에서 발생한 이벤트 처리를 송신 디바이스(10)로 요청하거나, 리소스를 적용하기 위해 송신 디바이스(10)로 리소스를 요청할 때 애플리케이션의 범위를 명시하기 위해 관리된다. 전술한 오브젝트 정보에 따라 송신 디바이스(10)는 이벤트 처리 또는 리소스 요청이 발생한 오브젝트를 구별할 수 있게 된다.
리소스 정보는 각각의 오브젝트에 적용된 리소스에 대한 정보로, 이벤트 처리 결과에 따라 실시간으로 변경될 수 있다.
리소스 처리부(23)는 레이아웃 파일 분석부(21)에서 추출된 레이아웃과 오브젝트에 포함된 리소스 ID를 추출한 후, 추출한 리소스 ID를 송신 디바이스(10) 또는 클라우드 서버(미도시)로 전송하여 리소스를 요청하고, 송신 디바이스(10) 또는 클라우드 서버(미도시)로부터 그 처리 결과를 수신한다.
출력부(24)는 리소스 처리부(23)를 통해 수신한 리소스를 레이아웃 파일 분석부(21)에서 추출된 레이아웃과 오브젝트에 적용하여 사용자 인터페이스를 구성한 후, 이를 화면에 출력한다.
입력부(25)는 사용자의 물리적인 입력을 판단하되, 물리적인 입력의 위치와 물리적인 입력의 종류(터치, 플리킹 등)를 입력 판단부(26)에 전달한다.
입력 판단부(26)는 입력부(25)를 통해 입력받은 사용자 입력에 의거하여 정보 관리부(22)에서 사용자 입력이 발생한, 즉 이벤트가 발생한 오브젝트의 ID, 이벤트의 종류, 레이아웃 ID, 애플리케이션의 ID, 송신 디바이스 정보를 추출한다.
이벤트 처리부(27)는 입력 판단부(26)에서 추출한 송신 디바이스 정보를 이용하여 송신 디바이스(10)와 통신을 연결한 후, 오브젝트 ID, 이벤트 종류, 레이아웃 ID, 애플리케이션의 ID를 송신 디바이스(10)로 전송하여 이벤트 처리를 요청하고, 그에 대한 결과를 수신한다.
도 7 및 도 8은 본 발명에 적용되는 수신 디바이스 내의 구성 요소 간의 동작 시퀀스 다이어그램을 나타내는 도면이다.
우선, 송신 디바이스(10)로부터 레이아웃 파일을 수신함에 따라[1], 수신 디바이스(20)의 레이아웃 파일 분석부(21)는 XML 파일로 구현된 레이아웃 파일을 XML 분석기의 일종인 DOM(Document Object Model) 분석기로 분석하여 부모-자식 노드 관계를 이루는 DOM 트리를 생성한다[2].
전술한 바와 같이 DOM 트리를 생성함에 따라 레이아웃 파일 분석부(21)는 화면을 구성하는 레이아웃과 레이아웃 내의 오브젝트를 구분할 수 있게 되고, 이와 같이 구분된 레이아웃과 오브젝트의 정보를 정보 관리부(22)에 저장한다[3].
정보 관리부(22)는 각각의 레이아웃과 오브젝트에 리소스를 적용하기 위해 레이아웃과 오브젝트에 포함된 리소스 ID를 추출한 후, 이를 리소스 처리부(23)로 인가하여 리소스를 요청한다[4].
리소스 처리부(23)는 레이아웃과 오브젝트의 리소스가 어디에 존재하는 지에 따라 리소스가 송신 디바이스(10)에 존재하는 경우에는 도 7에 도시하는 바와 같이 송신 디바이스(10)로 리소스 ID를 전송하여 리소스를 요청하여 수신하고[5, 6], 리소스가 클라우드 서버(30)에 존재하는 경우에는 도 8에 도시하는 바와 같이 클라우드 서버(30)로 리소스 ID를 전송하여 리소스를 요청하여 수신한다[5, 6].
여기서, 클라우드 서버(30)에 리소스가 존재하는 경우에는 XML 파일에 클라우드 서버(30) 접속에 필요한 URL(Uniform Resource Locator) 정보가 포함되어 있다.
전술한 바와 같이 송신 디바이스(10) 또는 클라우드 서버(30)로부터 리소스를 수신한 리소스 처리부(23)는 수신한 리소스를 정보 관리부(22)에 저장한다[7].
이후, 출력부(24)는 레이아웃 파일 분석부(21)에 의해 분석된 레이아웃과 오브젝트에 리소스 처리부(23)를 통해 확보한 리소스를 적용시켜 구성한 사용자 인터페이스를 화면에 출력한다[8].
이후, 입력부(25)를 통해 사용자 입력이 발생하면, 입력부(25)는 사용자 입력에 대한 정보인 입력 위치와 종류를 입력 판단부(26)로 전달한다[9].
입력부(25)로부터 사용자 입력 위치와 종류를 전달받은 입력 판단부(26)는 정보 관리부(22)와의 연동을 통해 이벤트가 발생한 오브젝트의 ID, 이벤트의 종류, 레이아웃 ID, 애플리케이션의 ID, 송신 디바이스 정보를 추출하고[10, 11], 이를 이벤트 처리부(27)로 전달하여 이벤트 처리를 요청한다[12].
이벤트 처리부(27)는 입력 판단부(26)로부터 전달받은 송신 디바이스 정보를 이용하여 송신 디바이스(10)와 통신을 연결한 후, 오브젝트 ID, 이벤트 종류, 레이아웃 ID, 애플리케이션의 ID를 송신 디바이스(10)로 전송하여 이벤트 처리를 요청한다[13].
도 9 및 도 10은 본 발명의 일 실시예에 따른 데이터 공유 방법을 설명하기 위한 처리도이다.
본 발명에 따른 데이터 공유 방법은 도 9에 도시하는 바와 같이, 송신 디바이스(10)에서 애플리케이션의 공유를 요청받는 과정(S10), 공유를 요청받은 애플리케이션을 추출하는 과정(S20), 공유를 요청받은 애플리케이션의 레이아웃 파일을 추출하는 과정(S30), 추출된 레이아웃 파일을 수신 디바이스(20)와 송수신하는 과정(S40), 수신 디바이스(20)가 송신 디바이스(10)로부터 수신한 레이아웃 파일을 분석하여 구성한 사용자 인터페이스를 화면에 출력하는 과정(S50) 및 사용자 인터페이스를 통해 발생한 사용자 입력을 처리하는 과정(S60)을 포함하여 이루어진다.
이하에서는 도 10을 참조하여 각각의 과정에 대해 좀 더 상세히 설명하기로 한다. 본 발명은 서로 다른 OS 환경에서 동작하는 복수의 디바이스 간의 데이터 공유에 적용 가능하나, 본 발명의 실시예에서는 두 디바이스 간의 데이터 공유를 예를 들어 설명한다. 또한, 본 발명의 실시예에서는 현재 포어그라운드 모드로 동작중인 애플리케이션을 공유하는 경우를 예를 들어 설명한다. 그러나, 공유하는 애플리케이션을 포어그라운드 모드로 동작중인 애플리케이션으로 한정하는 것이 아니며, 현재 실행되고 있지 않은 애플리케이션도 공유 대상이 될 수 있음을 밝힌다.
우선, 송신 디바이스(10)에 설치되어 있는 애플리케이션을 공유하고자 하는 수신 디바이스(20)는 송신 디바이스(10)로 애플리케이션 공유를 요청한다(S11).
상기한 과정 S11은 수신 디바이스(20)가 송신 디바이스(10)로 애플리케이션 공유를 요청하도록 구현되어 있으나, 이는 송신 디바이스(10)에서 수신 디바이스(20)로 특정 애플리케이션의 공유를 요청하는 것으로 구현될 수도 있다.
상기한 과정 S11을 통해 수신 디바이스(20)로부터 애플리케이션 공유를 요청받은 송신 디바이스(10)는 이를 사용자에게 통지하여 사용자로부터 애플리케이션 공유 여부를 수락받는데, 사용자가 애플리케이션 공유를 거절하게 되면, 데이터 공유 절차를 종료하고, 사용자가 애플리케이션 공유를 수락하게 되면(S12), 공유를 요청받은 애플리케이션을 추출하는 과정(S20)으로 진입한다.
상기한 과정 S11을 통해 수신 디바이스(20)로부터 애플리케이션 공유를 요청받은 송신 디바이스(10)의 애플리케이션 추출부(11)는 현재 포어그라운드 모드로 동작중인 애플리케이션을 확인한다(S21).
상기한 과정 S21에서 포어그라운드 모드로 동작중인 애플리케이션의 확인에는 안드로이드의 경우 패키지 매니저(Package Manager)가 활용될 수 있다.
이후, 송신 디바이스(10)는 상기한 과정 S21을 통해 확인된 애플리케이션의 고유 식별값인 패키지 이름(예를 들어, com.pantech.app.test)을 확인한다(S22).
상기한 과정 S22에서 패키지 이름의 확인에는 애플리케이션의 확인 때와 마찬가지로 패키지 매니저가 활용될 수 있다.
애플리케이션의 고유 식별값인 패키지 이름은 디바이스 내에서 유일성을 보장하므로, 같은 패키지 이름을 갖는 애플리케이션이 존재할 수 없게 된다. 이에 따라, 패키지 이름으로 애플리케이션을 구분할 수 있고, 이 패키지 이름을 이용하여 애플리케이션을 탐색할 수 있게 된다.
이후에는, 상기한 과정 S22를 통해 확인된 패키지 이름으로 내장 메모리인 플래쉬 메모리의 system/app 영역을 탐색하여, system/app 영역에 해당 패키지 이름을 갖는 애플리케이션이 존재하는 지를 확인한다(S24).
상기한 과정 S24의 판단결과 system/app 영역에 해당 패키지 이름을 갖는 애플리케이션이 존재하는 경우에는, 공유를 요청받은 애플리케이션의 레이아웃 파일을 추출하는 과정(S30)으로 진입한다.
한편, 상기한 과정 S24의 판단결과 system/app 영역에 해당 패키지 이름을 갖는 애플리케이션이 존재하지 않는 경우에는, 해당 애플리케이션이 data/app 영역에 있는 것으로 간주할 수 있으므로, data/app 영역에서 해당 패키지 이름을 갖는 애플리케이션을 탐색한 후(S25), 공유를 요청받은 애플리케이션의 레이아웃 파일을 추출하는 과정(S30)으로 진입한다.
도 11은 내장 메모리의 data/app 영역 내에 공유를 요청받은 애플리케이션의 패키지 이름(예를 들어, com.pantech.app.test)이 존재하는 경우를 예시적으로 보인 도면이다.
전술한 바와 같이, 공유를 요청받은 애플리케이션을 추출하는 과정(S20)이 완료되면, 송신 디바이스(10)의 레이아웃 파일 추출부(12)는 추출된 애플리케이션의 현재 실행 화면에 대한 리소스 ID를 획득한다(S31).
상기한 과정 S31을 통해 현재 실행 화면에 대한 리소스 ID를 획득하면, R.java(리소스 관리하는 string.xml 파일에 정의된 텍스트 리소스, res/drawable 폴더 내의 이미지 리소스, res/layout 폴더 내의 xml 파일 등에 대한 메모리를 관리하는 것으로, 자동으로 생성된다.)에 선언되어 있는 리소스 ID의 레이아웃 파일명 중에서, 상기한 과정 S31을 통해 획득한 실행 화면 리소스 ID의 레이아웃 파일명을 획득한다(S32).
그리고, 상기한 과정 S32를 통해 획득한 레이아웃 파일명으로 상기한 과정 S20을 통해 추출된 애플리케이션 내의 res/layout 내부에 저장되어 있는 레이아웃 파일을 탐색하여(S33), 해당 레이아웃 파일명에 매칭되어 있는 레이아웃 파일을 추출한다(S34).
예를 들어, 도 12에 도시하는 바와 같이, 포어그라운드 모드로 동작중인 애플리케이션의 현재 실행 화면에 대한 리소스 ID가 Ox7F030000으로 확인되었다고 가정했을 때, 해당 리소스 ID의 레이아웃 파일명은 'main'임을 확인할 수 있게 된다. 따라서, 확인된 레이아웃 파일명 'main'으로, 공유를 요청받은 애플리케이션(예를 들어, com.pantech.app.test)의 res/layout 경로를 탐색하면, 해당 레이아웃 파일명(main)에 매칭되어 있는 레이아웃 파일(main.xml 파일)을 추출할 수 있게 된다.
상기한 과정 S34를 통해 추출된 레이아웃 파일은 앞서 설명한 바 있듯이 XML 파일로 구현되어 있다.
이후, 송신 디바이스(10)는 상기한 과정 S34를 통해 추출된 레이아웃 파일을 수신 디바이스(20)와 송수신한다(S41, S42).
상기한 과정 S41 및 과정 S42에서 송신 디바이스(10)와 수신 디바이스(20)는 HTTP, WiFi 다이렉트(Direct) 등 기존의 다양한 네트워크 프로토콜을 이용하여 레이아웃 파일을 송수신한다.
상기한 과정 S41을 통해 송신 디바이스(10)가 전송한 레이아웃 파일을 수신한 수신 디바이스(20)의 레이아웃 파일 분석부(21)는 XML 분석기의 일종인 DOM 분석기를 이용하여 XML 파일로 구현된 레이아웃 파일을 분석하고(S51), 분석 결과에 따른 레이아웃의 구성 요소를 DOM 트리 형태로 표현한다(S52).
상기한 과정 S52를 통해 DOM 트리 형태로 표현된 레이아웃의 구성 요소 각각은 화면을 구성하는 레이아웃과 화면에 표현되는 오브젝트를 의미하며, 트리의 깊이(Depth)는 화면 레이아웃의 레이어(Layer) 수를 나타낸다.
이후에는 레이아웃과 오브젝트를 깊이(Depth)에 따라 레이어로 구분하여 화면 레이어를 구성한다(S53).
예를 들어, 1개의 렐러티브 레이아웃(RelativeLayout:부모와 위젯과의 관계, 위젯끼리의 상호 위치 관계를 지정하여 뷰를 배치하는 레이아웃), 1개의 버튼(Button), 1개의 이미지 뷰(ImageView)로 구성되는 레이아웃 파일(main.xml 파일)을 분석하여 표현된 DOM 트리 구성은 도 13에 도시하는 바와 같이, 깊이(Depth)1에 렐러티브 레이아웃(RelativeLayout)을 포함하고, 렐러티브 레이아웃(RelativeLayout)의 하위에 깊이(Depth)2로 버튼(Button)과 이미지 뷰(ImageView)를 하나씩 가진다.
이러한 DOM 트리 구성에 따라 구성된 화면 레이어를 살펴보면, 최하위에 렐러티브 레이아웃(RelativeLayout)을 포함하는 하나의 레이어가 표현되고, 그 위에 이미지 뷰(ImageView)와 버튼(Button)이 동일 레이어에 표현된다.
상기한 과정 S53을 통해 화면 레이어가 구성될 때, 화면을 구성하는 레이아웃과 해당 레이아웃 내 오브젝트의 크기가 반영되고, 크기 반영에는 match_parent, wrap_content 속성이 사용될 수 있다.
이후에는, 각각의 레이아웃과 오브젝트에 리소스를 적용하기 위해 레이아웃 파일에서 레이아웃과 오브젝트에 포함된 리소스 ID를 추출한다(S54).
상기한 과정 S54의 리소스 ID 추출은 소스(src), 백그라운드(background), 텍스트(text) 등과 같은 오브젝트의 실제 데이터 표현에 사용되는 속성의 추출 과정을 의미한다.
이후에는 상기한 과정 S54를 통해 추출된 리소스 ID를 송신 디바이스(10)로 전송하여 리소스를 요청한다(S55).
상기한 과정 S55에서 리소스가 클라우드 서버(30)에 존재하는 경우에는 클라우드 서버(30)로 리소스 ID를 전송하여 리소스를 요청한다.
상기한 과정 S55를 통해 수신 디바이스(20)로부터 리소스를 요청받은 송신 디바이스(10)의 리소스 처리부(15)는 수신 디바이스(20)로부터 수신한 리소스 ID를 이용하여 리소스를 탐색하고(S56), 탐색된 리소스를 수신 디바이스(20)와 송수신한다(S57, S58).
상기한 과정 S58을 통해 송신 디바이스(10)로부터 리소스를 수신한 수신 디바이스(20)의 출력부(24)는 상기한 과정 S51 내지 과정 S53을 통해 분석된 레이아웃과 오브젝트에 상기한 과정 S54 내지 과정 S58을 통해 확보한 리소스를 적용시켜 구성한 사용자 인터페이스를 화면에 출력한다(S59).
예를 들어, 송신 디바이스(10)로부터 main.xml 파일을 수신한 수신 디바이스(20)는 수신한 main.xml 파일을 분석하여 도 13에 도시하는 바와 같이 하나의 레이아웃과 해당 레이아웃 내에 버튼 및 이미지 뷰(ImageView) 오브젝트를 포함하는 화면 레이어를 구성한 후에는, 각각의 레이아웃과 오브젝트에 리소스를 적용하기 위해 레이아웃 파일에서 레이아웃과 버튼 및 이미지 뷰 오브젝트에 포함된 리소스 ID를 추출한다. 리소스 ID 추출 결과, 도 14에 도시하는 바와 같이 이미지 뷰(ImageView) 오브젝트에 포함될 리소스로 소스(src)인 '@drawable/vega_lte'가 추출되면, 이를 송신 디바이스(10)로 전송하여 리소스를 요청한다. 리소스를 요청받은 송신 디바이스(10)는 '@drawable/vega_lte'에 대응하는 이미지를 수신 디바이스(20)로 전송하고, 이를 수신한 수신 디바이스(20)는 수신한 이미지를 이미지 뷰(ImageView) 오브젝트에 적용하여 화면에 출력한다.
이후, 화면에 출력된 사용자 인터페이스를 통해 사용자 입력이 발생하면(S61), 사용자 입력 위치와 종류에 의거하여 이벤트가 발생한 오브젝트의 ID, 이벤트의 종류, 레이아웃 ID, 애플리케이션의 ID, 송신 디바이스 정보를 추출한 후(S62), 송신 디바이스 정보를 이용하여 통신 연결된 송신 디바이스(10)로 오브젝트 ID, 이벤트 종류, 레이아웃 ID, 애플리케이션의 ID를 전송하여 이벤트 처리를 요청한다(S63).
상기한 과정 S63을 통해 수신 디바이스(20)로부터 이벤트 처리를 요청받은 송신 디바이스(10)는 이벤트 처리 요청에 포함되어 있는 오브젝트 ID, 이벤트 종류, 레이아웃 ID, 애플리케이션 ID 등에 의거하여 해당 이벤트가 종료 이벤트인 지를 확인하고(S64), 확인 결과 해당 이벤트가 종료 이벤트이면 종료 처리를 수행하고, 해당 이벤트가 종료 이벤트가 아닌 경우에는 처리를 요청받은 이벤트의 리스너(Listener)를 수행시킨다(S65).
해당 리스너의 수행에 따라 오브젝트의 리소스만 변경되는 경우에는(S66), 상기한 과정 S56으로 진행하여 리소스를 탐색한 후, 탐색된 리소스를 수신 디바이스(20)와 송수신한다(S57, S58).
상기한 과정 S58을 통해 송신 디바이스(10)로부터 리소스를 수신한 수신 디바이스(20)는 해당 오브젝트에 수신한 리소스를 적용시켜 화면에 출력함으로써(S59), 변경된 오브젝트만을 갱신할 수 있게 된다.
한편, 해당 리스너의 수행에 따라 레이아웃이 변경되는 경우에는(S66), 상기한 과정 S31로 진행하여 변경될 화면의 리소스 ID를 획득하고, 이후의 과정을 반복 수행하여 수신 디바이스(20)로 레이아웃 파일을 전송하고, 수신 디바이스(20)는 송신 디바이스(10)로부터 수신한 레이아웃 파일을 분석하여 변경된 레이아웃을 화면에 다시 출력한다.
예를 들어, 화면에 출력된 사용자 인터페이스를 통해 도 15에 도시하는 바와 같이, 버튼을 터치하는 사용자 입력이 발생하면, 레이아웃 파일에서 해당 버튼의 오브젝트 ID인 '@id/button1'을 추출한 후, 이를 송신 디바이스(10)로 전송하여 이벤트 처리를 요청하고, 송신 디바이스(10)는 수신 디바이스(20)의 이벤트 처리 요청에 따라, '@id/button1'에 정의된 리스너를 수행한다. 리스너의 수행에 따라 이미지 뷰 오브젝트의 리소스만 다음 이미지로 변경되는 경우에는 다음 이미지를 탐색한 후, 탐색된 리소스(다음 이미지)를 수신 디바이스(20)로 전송하고, 수신 디바이스(20)는 이미지 뷰 오브젝트에 송신 디바이스(10)로부터 수신한 리소스인 다음 이미지를 적용시켜 이미지만을 다음 이미지로 갱신할 수 있게 된다.
이상에서 살펴본 바와 같이, 본 발명의 실시예에서는 포어그라운드 모드로 동작중인 애플리케이션을 공유하는 경우를 예를 들어 설명하였다.
한편, 포어그라운드 모드로 동작중이 아닌 애플리케이션을 공유하고자 하는 경우, 송신 디바이스(10)는 공유를 요청받은 애플리케이션을 추출한 후, 추출된 애플리케이션의 실행에 따라 제공되는 실행 화면 예를 들어, 메인 화면에 대한 리소스 ID를 획득한다. 여기서, 공유를 선택받은 애플리케이션은 백그라운드 모드로 동작을 하게 된다.
전술한 바와 같이, 메인 화면 리소스 ID에 매칭되어 있는 레이아웃 파일명을 획득한 송신 디바이스(10)는 획득한 레이아웃 파일명으로 레이아웃 파일을 추출한 후, 이를 수신 디바이스(20)로 전송한다. 이후의 과정은 포어그라운드 모드로 동작중인 애플리케이션을 공유하는 과정과 동일하게 수행되므로, 이에 대한 설명은 생략하기로 한다.
이상에서 살펴본 바와 같이, 본 발명에 따라 레이아웃 파일의 공유를 통해 애플리케이션의 사용자 인터페이스를 공유함으로써, 서로 다른 OS 환경에서 동작하는 디바이스 간에 텍스트, 이미지, 오디오, 동영상 등의 데이터를 공유할 수 있게 된다.
예를 들어, 안드로이드 환경에서 동작하는 송신 디바이스가 iOS 환경에서 동작하는 수신 디바이스와 안드로이드 환경에서 동작하는 특정 데이터를 공유하고자 하는 경우, 송신 디바이스는 수신 디바이스와 공유하고자 하는 데이터의 처리에 이용되는 애플리케이션의 사용자 인터페이스를 본 발명에 따라 수신 디바이스와 공유하여 해당 데이터를 수신 디바이스와 공유할 수 있게 된다.
한편, 본 발명에 따라 레이아웃 파일의 공유를 통해 애플리케이션의 사용자 인터페이스를 공유하여 서로 다른 OS 환경에서 동작하는 디바이스 간의 데이터를 공유하게 되면, 디바이스 간의 해상도가 서로 다른 경우에도 이미지가 흐려보이거나 깨져 보이는 현상이 발생하지 않게 된다.
즉, 본 발명에서는 해상도가 서로 다른 디바이스 간의 레이아웃만을 공유하고, 레이아웃 내에 포함되는 리소스는 레이아웃에 정의되어 있는 대로 표현되므로, 이미지가 흐려보이거나 깨져 보이는 현상이 발생하지 않게 된다.
한편, 본 발명은 디바이스 간의 원격 컨트롤에 적용될 수도 있다. 즉, 텍스트로 구성된 레이아웃 파일의 공유를 통해 원격으로 타 디바이스를 제어할 수 있게 된다.
나아가, 본 발명은 애플리케이션의 사용자 인터페이스를 구성하는 레이아웃의 공유를 통해 애플리케이션의 사용자 인터페이스를 공유함으로써, 서로 다른 OS 환경에서 동작하는 디바이스 간에 애플리케이션을 공유할 수 있도록 한다.
이에 따라, 특정 OS 환경(예를 들어, iOS 환경)에서만 동작하는 애플리케이션을 다른 OS 환경(예를 들어, 윈도우즈 환경)에서 동작하는 디바이스가 공유하여 사용할 수 있게 된다.
예를 들어, 스마트 폰에 설치되어 있는 모바일 인스턴트 메신저(예를 들어, 카카오톡)를 윈도우즈 환경에서 동작하는 PC에서 공유하여 사용할 수 있게 된다.
이때, PC에서는 화면 출력과 사용자 입력만이 이루어지고, 그 외의 모든 처리는 스마트 폰에서 이루어지게 된다.
본 발명의 데이터 공유 시스템 및 방법은 전술한 실시예에 국한되지 않고 본 발명의 기술 사상이 허용하는 범위 내에서 다양하게 변형하여 실시할 수 있다.
10. 송신 디바이스, 11. 애플리케이션 추출부,
12. 레이아웃 파일 추출부, 13. 레이아웃 파일 저장부,
14. 송신부, 15, 23. 리소스 처리부,
16, 27. 이벤트 처리부, 20. 수신 디바이스,
21. 레이아웃 파일 분석부, 22. 정보 관리부,
24. 출력부, 25. 입력부,
26. 입력 판단부, 30. 클라우드 서버
12. 레이아웃 파일 추출부, 13. 레이아웃 파일 저장부,
14. 송신부, 15, 23. 리소스 처리부,
16, 27. 이벤트 처리부, 20. 수신 디바이스,
21. 레이아웃 파일 분석부, 22. 정보 관리부,
24. 출력부, 25. 입력부,
26. 입력 판단부, 30. 클라우드 서버
Claims (25)
- 애플리케이션을 추출하는 애플리케이션 추출부;
상기 애플리케이션의 레이아웃 파일을 추출하는 레이아웃 파일 추출부;
추출된 레이아웃 파일을 저장하는 레이아웃 파일 저장부; 및
상기 추출된 레이아웃 파일을 수신 디바이스로 전송하는 송신부를 포함하여 이루어지는 송신 디바이스.
- 제 1항에 있어서,
상기 레이아웃 파일은, XML 파일로 구성되며,
레이아웃에 표현되는 데이터의 ID와 상기 데이터가 표현되는 방법을 나타내는 데이터;
레이아웃 자체의 고유 ID 값을 나타내는 고유값;
레이아웃의 상하좌우 여백을 표현하기 위한 값을 나타내는 여백 정보;
레이아웃의 가로, 세로 크기를 나타내는 크기 정보; 및
레이아웃이 화면상에 표현되기 위한 위치를 나타내는 위치 정보를 포함하여 이루어지는 것을 특징으로 하는 송신 디바이스.
- 제 1항에 있어서,
상기 수신 디바이스로부터 수신한 리소스 요청에 따라 리소스를 탐색한 후, 탐색된 리소스를 상기 송신부를 통해 상기 수신 디바이스로 전송하는 리소스 처리부를 더 포함하여 이루어지는 것을 특징으로 하는 송신 디바이스.
- 제 3항에 있어서,
상기 리소스는,
애플리케이션이 사용하는 이미지, 오디오, 비디오, 텍스트 문자열, 레이아웃, XML 파일 중에서 적어도 어느 하나인 것을 특징으로 하는 송신 디바이스.
- 제 1항에 있어서,
상기 수신 디바이스로부터 수신한 이벤트 처리 요청에 따라 처리를 요청받은 이벤트의 처리 함수를 수행시키고, 상기 처리 함수의 수행에 따라 오브젝트의 리소스만 변경되는 경우에는 상기 저장부에서 리소스를 추출하고, 레이아웃이 변경되는 경우에는 상기 저장부에서 레이아웃 파일을 추출한 후, 이벤트 처리 결과를 상기 송신부를 통해 상기 수신 디바이스로 전송하는 이벤트 처리부를 더 포함하여 이루어지는 것을 특징으로 하는 송신 디바이스.
- 제 1항에 있어서,
상기 애플리케이션 추출부는,
공유를 요청받은 애플리케이션의 고유 식별값을 획득한 후, 상기 고유 식별값을 갖는 애플리케이션을 메모리에서 탐색하여 애플리케이션을 추출하는 것을 특징으로 하는 송신 디바이스.
- 제 1항에 있어서,
상기 레이아웃 파일 추출부는,
상기 애플리케이션의 실행 화면에 대한 리소스 식별 정보를 획득한 후, 상기 실행 화면의 리소스 식별 정보에 매칭되어 있는 레이아웃 파일명을 획득하고, 상기 레이아웃 파일명으로 레이아웃 파일을 추출하는 것을 특징으로 하는 송신 디바이스.
- 레이아웃 파일을 분석하여 레이아웃을 구성하고, 상기 레이아웃 내의 오브젝트를 추출하는 레이아웃 파일 분석부;
상기 레이아웃 처리를 위해 필요한 정보를 관리하는 정보 관리부;
상기 송신 디바이스 또는 서버로부터 상기 레이아웃과 오브젝트에 적용하기 위한 리소스를 요청하여 수신하는 리소스 처리부; 및
상기 수신한 리소스를 상기 레이아웃과 오브젝트에 적용하여 구성된 사용자 인터페이스를 화면에 출력하는 사용자 인터페이스 출력부를 포함하여 이루어지는 수신 디바이스.
- 제 8항에 있어서,
상기 사용자 인터페이스를 통해 사용자 입력이 발생하면, 상기 송신 디바이스로 상기 사용자 입력에 대한 이벤트 처리를 요청하고, 그 처리 결과를 수신하는 이벤트 처리부를 더 포함하여 이루어지는 것을 특징으로 하는 수신 디바이스.
- 제 8항에 있어서,
상기 레이아웃 파일 분석부는,
XML 분석기를 이용하여 상기 레이아웃 파일을 분석하는 것을 특징으로 하는 수신 디바이스.
- 제 8항에 있어서,
상기 레이아웃 처리를 위해 필요한 정보는,
상기 송신 디바이스와의 통신 연결에 필요한 정보인 송신 디바이스 정보;
수신 디바이스에서 실행되는 애플리케이션에 대한 정보인 애플리케이션 정보;
상기 애플리케이션의 실행 화면에 종속되어 있는 레이아웃에 대한 정보인 레이아웃 정보;
각각의 레이아웃에 종속되어 있는 오브젝트에 대한 정보인 오브젝트 정보;
각각의 오브젝트에 적용된 리소스에 대한 정보인 리소스 정보 중에서 적어도 어느 하나를 포함하여 이루어지는 것을 특징으로 하는 수신 디바이스.
- 제 8항에 있어서,
상기 리소스 처리부는,
상기 레이아웃 파일 분석부에서 추출된 레이아웃과 상기 레이아웃 내의 오브젝트에 포함되어 있는 리소스 식별 정보를 이용하여 상기 송신 디바이스 또는 서버로 리소스를 요청하는 것을 특징으로 하는 수신 디바이스.
- 애플리케이션의 레이아웃 파일을 추출하여 전송하는 송신 디바이스; 및
상기 송신 디바이스로부터 수신한 상기 애플리케이션의 레이아웃 파일을 분석하여 레이아웃을 구성하고, 상기 레이아웃 내의 오브젝트를 추출하고, 상기 송신 디바이스 또는 서버로부터 수신한 리소스를 상기 레이아웃과 오브젝트에 적용하여 구성한 사용자 인터페이스를 화면에 출력하는 적어도 하나 이상의 수신 디바이스를 포함하여 이루어지는 데이터 공유 시스템.
- 제 13항에 있어서,
상기 송신 디바이스와 수신 디바이스는 서로 다른 OS 환경에서 동작하는 것을 특징으로 하는 데이터 공유 시스템.
- 애플리케이션 공유를 요청받는 과정;
공유를 요청받은 애플리케이션을 추출하는 애플리케이션 추출 과정;
상기 애플리케이션의 레이아웃 파일을 추출하는 레이아웃 파일 추출 과정; 및
상기 레이아웃 파일을 상기 수신 디바이스로 전송하는 과정을 포함하여 이루어지는 데이터 공유 방법.
- 제 15항에 있어서,
상기 애플리케이션 추출 과정은,
공유를 요청받은 애플리케이션의 고유 식별값을 획득하는 과정; 및
상기 고유 식별값을 갖는 애플리케이션을 메모리에서 탐색하여 애플리케이션을 추출하는 과정을 포함하여 이루어지는 것을 특징으로 하는 데이터 공유 방법.
- 제 15항에 있어서,
상기 레이아웃 파일 추출 과정은,
상기 애플리케이션의 실행 화면에 대한 리소스 식별 정보를 획득하는 과정;
상기 실행 화면의 리소스 식별 정보에 매칭되어 있는 레이아웃 파일명을 획득하는 과정; 및
상기 레이아웃 파일명으로 레이아웃 파일을 추출하는 과정을 포함하여 이루어지는 것을 특징으로 하는 데이터 공유 방법.
- 제 15항에 있어서,
상기 수신 디바이스로부터 이벤트 처리를 요청받는 과정;
처리를 요청받은 이벤트가 종료 이벤트가 아니면, 상기 이벤트에 대응하는 이벤트의 처리 함수를 수행시키는 과정; 및
상기 처리 함수의 수행에 따라 상기 오브젝트의 리소스만 변경되는 경우에는 상기 오브젝트에 대한 리소스를 추출하여 상기 수신 디바이스로 전송하는 과정을 더 포함하여 이루어지는 것을 특징으로 하는 데이터 공유 방법.
- 제 18항에 있어서,
상기 처리 함수의 수행에 따라 레이아웃이 변경되는 경우에는 레이아웃 파일 추출 과정을 반복 수행하여 상기 수신 디바이스로 레이아웃 파일을 전송하는 과정을 더 포함하여 이루어지는 것을 특징으로 하는 데이터 공유 방법.
- 송신 디바이스로부터 레이아웃 파일을 수신하는 과정; 및
레이아웃 파일을 분석하여 구성한 사용자 인터페이스를 화면에 출력하는 분석 및 출력 과정을 포함하여 이루어지는 데이터 공유 방법.
- 제 20항에 있어서,
상기 분석 및 출력 과정은,
상기 레이아웃 파일을 분석하여 화면을 구성하는 레이아웃과 상기 레이아웃 내의 오브젝트를 추출하고, 이를 트리 형태로 표현하는 과정;
트리 형태로 표현된 레이아웃과 오브젝트를 이용하여 화면 레이어를 구성하는 과정;
상기 레이아웃과 오브젝트에 포함된 리소스 식별 정보를 추출하는 과정;
상기 리소스 식별 정보를 송신 디바이스 또는 서버로 전송하여 리소스를 요청하는 과정;
송신 디바이스 또는 서버에서 상기 리소스 식별 정보로 리소스를 탐색하는 과정;
탐색된 리소스를 수신 디바이스로 전송하는 과정;
상기 수신 디바이스에서 상기 수신한 리소스를 상기 레이아웃과 오브젝트에 적용하여 사용자 인터페이스를 구성하는 과정; 및
상기 사용자 인터페이스를 화면에 출력하는 과정을 포함하여 이루어지는 것을 특징으로 하는 데이터 공유 방법.
- 제 20항에 있어서,
상기 사용자 인터페이스를 통해 사용자 입력이 발생하면, 상기 송신 디바이스로 상기 사용자 입력에 대한 이벤트 처리를 요청하고, 상기 송신 디바이스로부터 이벤트 처리 결과를 수신하여 화면에 출력하는 이벤트 처리 과정을 더 포함하여 이루어지는 것을 특징으로 하는 데이터 공유 방법.
- 제 22항에 있어서,
상기 이벤트 처리 과정은,
상기 사용자 인터페이스를 통해 사용자 입력이 발생하면, 사용자 입력이 발생한 오브젝트의 ID를 추출하는 과정;
추출된 정보를 이용하여 송신 디바이스로 이벤트 처리를 요청하는 과정;
상기 이벤트 처리 요청에 대한 응답으로 리소스를 수신하는 과정; 및
상기 수신한 리소스를 이용하여 오브젝트를 갱신하는 과정을 포함하여 이루어지는 것을 특징으로 하는 데이터 공유 방법.
- 제 23항에 있어서,
상기 이벤트 처리 요청에 대한 응답으로 레이아웃 파일을 수신하는 경우에는 분석 및 출력 과정을 반복 수행하여, 변경된 레이아웃을 화면에 출력하는 과정을 더 포함하여 이루어지는 것을 특징으로 하는 데이터 공유 방법.
- 송신 디바이스에서, 애플리케이션 공유를 요청받는 과정;
상기 애플리케이션을 추출하는 애플리케이션 추출 과정;
상기 애플리케이션의 레이아웃 파일을 추출하는 레이아웃 파일 추출 과정;
상기 레이아웃 파일을 상기 수신 디바이스로 전송하는 과정; 및
상기 수신 디바이스에서, 상기 레이아웃 파일을 분석하여 구성한 사용자 인터페이스를 화면에 출력하는 분석 및 출력 과정을 포함하여 이루어지는 데이터 공유 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120021460A KR101340780B1 (ko) | 2012-02-29 | 2012-02-29 | 데이터 공유 시스템 및 방법 |
US13/737,554 US20130227014A1 (en) | 2012-02-29 | 2013-01-09 | Data sharing system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120021460A KR101340780B1 (ko) | 2012-02-29 | 2012-02-29 | 데이터 공유 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130099733A true KR20130099733A (ko) | 2013-09-06 |
KR101340780B1 KR101340780B1 (ko) | 2013-12-11 |
Family
ID=49004475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120021460A KR101340780B1 (ko) | 2012-02-29 | 2012-02-29 | 데이터 공유 시스템 및 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130227014A1 (ko) |
KR (1) | KR101340780B1 (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016159654A1 (ko) * | 2015-04-01 | 2016-10-06 | 삼성전자 주식회사 | 위젯 제공 시스템 및 방법 |
KR20180008480A (ko) * | 2015-05-15 | 2018-01-24 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 애플리케이션 관련 사용자 데이터를 추출하고 공유하기 위한 시스템 및 방법 |
KR20210051918A (ko) * | 2019-10-31 | 2021-05-10 | 주식회사 앱포스터 | 복수의 장치에 대한 화면 설정 데이터를 제공하기 위한 장치 및 방법 |
WO2023277241A1 (ko) * | 2021-06-29 | 2023-01-05 | 한국과학기술원 | 앱의 기능 단위 사용량을 분석하는 방법 및 장치 |
WO2024034769A1 (en) * | 2022-08-12 | 2024-02-15 | Samsung Electronics Co., Ltd. | A content sharing method and an electronic apparatus thereof |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9049176B2 (en) * | 2011-06-22 | 2015-06-02 | Dropbox, Inc. | File sharing via link generation |
US9397878B2 (en) | 2013-01-29 | 2016-07-19 | Qualcomm Incorporated | Cross-platform module that is shared by client applications for access to rich communications suite resources on a client device |
US9455876B1 (en) * | 2013-02-01 | 2016-09-27 | Ingram Micro Inc. | Method and standard for integrating applications into a cloud |
WO2014134794A1 (en) * | 2013-03-06 | 2014-09-12 | Empire Technology Development Llc | Content-based desktop sharing |
US9230139B2 (en) * | 2013-03-14 | 2016-01-05 | Intel Corporation | Selective content sharing on computing devices |
KR102032182B1 (ko) * | 2013-03-25 | 2019-10-15 | 삼성전자주식회사 | 데이터 공유 제어 방법 및 데이터 공유 제어 단말 |
US10650187B2 (en) * | 2013-10-11 | 2020-05-12 | Adobe Inc. | Visual path resolution in a context separated authoring environment of a REST- and component-based content management system |
CN103595760B (zh) * | 2013-10-15 | 2017-06-06 | 北京航空航天大学 | 基于云端的文件画面共享方法 |
TWI610221B (zh) * | 2014-06-18 | 2018-01-01 | 緯創資通股份有限公司 | 螢幕播送方法以及使用該方法的系統與裝置 |
EP2996346A1 (en) | 2014-09-12 | 2016-03-16 | Samsung Electronics Co., Ltd. | Multi-screen control method and device supporting multiple window applications |
CN106406839A (zh) * | 2015-07-31 | 2017-02-15 | 华为软件技术有限公司 | 屏幕适配文件的处理方法和装置 |
CN106254467A (zh) * | 2016-08-05 | 2016-12-21 | 北京小米移动软件有限公司 | 文件分享方法及装置 |
CN107360165B (zh) * | 2017-07-13 | 2021-02-12 | 北京元心科技有限公司 | 终端设备、云服务器以及管控操作系统的方法及装置 |
CN107650863B (zh) * | 2017-09-19 | 2022-05-03 | 大陆投资(中国)有限公司 | 车辆共享方法及系统 |
CN110110510A (zh) * | 2019-04-17 | 2019-08-09 | 中国石油化工股份有限公司 | 一种基于云计算的工程计算模型管理方法 |
CN110389736A (zh) | 2019-06-05 | 2019-10-29 | 华为技术有限公司 | 一种投屏显示方法及电子设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010044321A (ko) * | 2001-02-06 | 2001-06-05 | 김남중 | Xml문서 응용 프로그램 |
PL1911207T3 (pl) * | 2005-08-05 | 2016-12-30 | Sterowanie sprzętem multimedialnym z terminala mobilnego | |
KR101092661B1 (ko) * | 2009-03-05 | 2011-12-13 | 한국전자통신연구원 | 웹 콘텐츠의 브라우저 호환성 검사 방법 및 그 장치 |
KR20100110205A (ko) * | 2009-04-02 | 2010-10-12 | 주식회사 디디에이치 | 온라인 매거진 서비스 시스템 그리고 이를 이용한 전자문서 발행 및 배포 방법 |
US8818350B2 (en) * | 2010-06-21 | 2014-08-26 | Microsoft Corporation | Context-driven data sharing |
US8498573B2 (en) * | 2010-07-02 | 2013-07-30 | International Business Machines Corporation | Dynamic changes to a user profile based on external service integration |
US20130252223A1 (en) * | 2010-11-23 | 2013-09-26 | Srikanth Jadcherla | System and method for inculcating explorative and experimental learning skills at geographically apart locations |
US9251287B2 (en) * | 2011-08-26 | 2016-02-02 | International Business Machines Corporation | Automatic detection of item lists within a web page |
US8786517B2 (en) * | 2012-02-21 | 2014-07-22 | Blackberry Limited | System and method for displaying a user interface across multiple electronic devices |
-
2012
- 2012-02-29 KR KR1020120021460A patent/KR101340780B1/ko not_active IP Right Cessation
-
2013
- 2013-01-09 US US13/737,554 patent/US20130227014A1/en not_active Abandoned
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016159654A1 (ko) * | 2015-04-01 | 2016-10-06 | 삼성전자 주식회사 | 위젯 제공 시스템 및 방법 |
KR20160118000A (ko) * | 2015-04-01 | 2016-10-11 | 삼성전자주식회사 | 위젯 제공 시스템 및 방법 |
US10789033B2 (en) | 2015-04-01 | 2020-09-29 | Samsung Electronics Co., Ltd. | System and method for providing widget |
KR20180008480A (ko) * | 2015-05-15 | 2018-01-24 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 애플리케이션 관련 사용자 데이터를 추출하고 공유하기 위한 시스템 및 방법 |
KR20210051918A (ko) * | 2019-10-31 | 2021-05-10 | 주식회사 앱포스터 | 복수의 장치에 대한 화면 설정 데이터를 제공하기 위한 장치 및 방법 |
WO2023277241A1 (ko) * | 2021-06-29 | 2023-01-05 | 한국과학기술원 | 앱의 기능 단위 사용량을 분석하는 방법 및 장치 |
WO2024034769A1 (en) * | 2022-08-12 | 2024-02-15 | Samsung Electronics Co., Ltd. | A content sharing method and an electronic apparatus thereof |
Also Published As
Publication number | Publication date |
---|---|
KR101340780B1 (ko) | 2013-12-11 |
US20130227014A1 (en) | 2013-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101340780B1 (ko) | 데이터 공유 시스템 및 방법 | |
US10613916B2 (en) | Enabling a web application to call at least one native function of a mobile device | |
US9720658B2 (en) | Application creation method and apparatus | |
US20170010870A1 (en) | Optimized retrieval of custom string resources | |
US9552338B2 (en) | Mechanisms to compose, execute, save, and retrieve hyperlink pipelines in web browsers | |
US20170277703A1 (en) | Method for Displaying Webpage and Server | |
KR20120087213A (ko) | 이미지 코드를 이용하여 정보를 전달하는 시스템 및 방법 | |
CN113158619B (zh) | 文档处理方法、装置、计算机可读存储介质及计算机设备 | |
US20160316020A1 (en) | Web page information presentation method and system | |
AU2017301770A1 (en) | Systems and methods for presentation of a terminal application screen | |
US20140089825A1 (en) | Apparatus and method for writing mash-up using mash-up block user interface | |
US10567472B2 (en) | Manipulation of PDF files using HTML authoring tools | |
JP6291961B2 (ja) | 情報処理システム、情報処理端末、コンテンツ管理装置、及び情報処理方法 | |
CN111814086A (zh) | 一种用于对网页进行截图方法和系统 | |
RU2634221C2 (ru) | Способ и устройство для отрисовки представления электронного документа на экране | |
KR101712138B1 (ko) | 사용자 서버를 이용한 파일 제어 시스템 및 방법 | |
KR101170263B1 (ko) | 모바일 웹페이지를 효율적으로 개발하기 위한 크로스 플랫폼 솔루션 및 크로스 플랫폼 모바일 소스 생성 시스템 | |
KR100419568B1 (ko) | 네트워크 기반 홈페이지 자동 편집 방법 | |
US10460005B2 (en) | Data consumption between heterogeneous web applications | |
JP6572249B2 (ja) | コンテンツ変換装置、コンテンツ変換方法、プログラム及び記録媒体 | |
JP6128503B1 (ja) | 電子マニュアルに関連するサービスを提供するためのプログラム、サーバおよびシステム | |
KR101370714B1 (ko) | 다중 스크린 장치 사용을 위한 웹 페이지 스크린 분할 방법 및 시스템 | |
KR20120042296A (ko) | 크로스 플랫폼 솔루션을 이용해 개발된 모바일 웹페이지를 자동으로 생성하는 시스템 및 방법 | |
US20240168752A1 (en) | Multi-mode in-context service integration | |
KR101485636B1 (ko) | 코멘트 제공 방법, 그 장치 및 서버 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170529 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |