KR101438102B1 - 클립보드 동기화 서버 및 그를 포함한 클립보드 동기화 시스템 - Google Patents

클립보드 동기화 서버 및 그를 포함한 클립보드 동기화 시스템 Download PDF

Info

Publication number
KR101438102B1
KR101438102B1 KR1020120078050A KR20120078050A KR101438102B1 KR 101438102 B1 KR101438102 B1 KR 101438102B1 KR 1020120078050 A KR1020120078050 A KR 1020120078050A KR 20120078050 A KR20120078050 A KR 20120078050A KR 101438102 B1 KR101438102 B1 KR 101438102B1
Authority
KR
South Korea
Prior art keywords
feed
clipboard
client terminal
client
stored
Prior art date
Application number
KR1020120078050A
Other languages
English (en)
Other versions
KR20140011164A (ko
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 안지윤
Priority to KR1020120078050A priority Critical patent/KR101438102B1/ko
Priority to US13/848,662 priority patent/US20140025727A1/en
Publication of KR20140011164A publication Critical patent/KR20140011164A/ko
Application granted granted Critical
Publication of KR101438102B1 publication Critical patent/KR101438102B1/ko
Priority to US16/740,969 priority patent/US20200252455A1/en

Links

Images

Classifications

    • 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
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 동일한 계정을 갖는 복수개의 클라이언트 단말기들 중 어느 하나의 클라이언트 단말기에서 특정 데이터를 잘라내기 하거나 또는 복사하여 생성된 피드를 공유할 수 있게 동기화시키는 클립보드 동기화 서버 및 그를 포함한 클립보드 동기화 시스템에 관한 것이다.
또한, 본 발명은 복수개의 클라이언트 단말기들에서 각각 생성한 피드의 동기화를 통해 모든 클라이언트 단말기들에서 공유하게 된 결과를 나열하여 보여줌으로써 보관 및 관리를 용이하게 하는 히스토리 키핑 기능을 제공하는 클립보드 동기화 서버 및 그를 포함한 클립보드 동기화 시스템에 관한 것이다.

Description

클립보드 동기화 서버 및 그를 포함한 클립보드 동기화 시스템{Synchronization server for clipboard and synchronization system for clipboard having the same}
본 발명은 클립보드 동기화 서버 및 그를 포함한 클립보드 동기화 시스템에 관한 것으로, 더욱 상세하게는 각각 시스템 클립보드를 가지고 있으며 동일한 계정을 갖는 복수개의 클라이언트 단말기들이 어느 하나의 클라이언트 단말기에서 특정 데이터를 잘라내기 하거나 또는 복사하여 생성된 피드(feed)를 공유할 수 있게 동기화시키는 클립보드 동기화 서버 및 그를 포함한 클립보드 동기화 시스템에 관한 것이다.
일반적으로 스마트 폰, 테블릿 PC 및 개인용 PC를 비롯하여 OS 기반(혹은, 오픈 소스 플랫폼 기반) 단말기 시스템에서는 응용 프로그램을 위해 특정 메모리 자원이 운용되며, 대표적으로 MS WINDOWS OS 기반의 시스템에서는 클립보드(clip board)를 사용한다.
클립보드는 이미지나 텍스트를 포함한 각종 데이터를 복사하기 또는 잘라내기를 한 이후에 동일 문서 또는 기타 문서에 붙여넣기를 할 수 있도록 그 선택된 데이터를 임시 저장하는 공간으로 사용되기 위해 확보되어 있는 메모리 영역이다.
즉, 워드프로세서나 엑셀 등과 같은 다양한 응용프로그램에서 잘라내기, 복사, 또는 붙여넣기 등을 하기 위해 클립보드를 사용함으로써, 클립보드를 통해 하나의 프로그램에서 다른 곳으로 데이터를 복사할 수 있다.
한편, 한국공개특허 제2006-0128196호에서는 사용자의 실행에 따라 다수개의 응용 프로그램으로부터 제공되는 데이터를 다중 클립보드에 저장한 이후에 클립보드의 데이터를 수정/삭제/위치 이동을 시킬 수 있게 하는 기술을 제공하고 있다.
또한, 한국공개특허 제2008-0064824호에서는 대화의 참가자들끼리 클립을 공유할 수 있도록 대화의 각 참가자들에게는 공유되는 클립보드의 내용을 비롯하여 공유되는 클립보드로의 액세스를 제공하는 기술을 제공하고 있다.
그러나, 이상과 같은 종래기술에서는 동일 계정을 갖는 복수개의 클라이언트 단말기들에 각각 탑재된 클립보드들을 서로 동기화시킴으로써, 어느 하나의 클라이언트 단말기에서 복사하거나 잘라내기한 데이터가 생성되면 다른 클라이언트 단말기로 자동으로 전송 및 저장되는 기능을 제공하지 않았다.
따라서, 스마트 폰과, 테블릿 PC 및 개인용 PC 등을 비롯하여 복수개의 클라이언트 단말기를 소유한 개인이 어느 하나의 특정 클라이언트 단말기에서 복사하거나 잘라내어 생성한 데이터를 자신의 다른 클라이언트 단말기에서 사용(즉, 붙여넣기)할 수 없다는 문제점이 있었다.
뿐만 아니라, 개인이 소유한 복수개의 클라이언트 단말기들에서 각각 생성한 데이터의 동기화를 통해 모든 클라이언트 단말기들에서 공유하게 된 결과를 나열하여 보여줌으로써 보관 및 관리를 용이하게 하는 히스토리 키핑(history keeping) 기능을 제공하지 않고 있어서 불편하다는 문제점이 있었다.
본 발명은 전술한 바와 같은 문제점을 해결하기 위해 제안된 것으로, 동일한 계정을 갖는 복수개의 클라이언트 단말기들 중 어느 하나의 클라이언트 단말기에서 특정 데이터를 잘라내기 하거나 또는 복사하여 생성된 피드를 공유할 수 있게 동기화시키는 클립보드 동기화 서버 및 그를 포함한 클립보드 동기화 시스템을 제공하고자 한다.
또한, 본 발명은 복수개의 클라이언트 단말기들에서 각각 생성한 피드의 동기화를 통해 모든 클라이언트 단말기들에서 공유하게 된 결과를 나열하여 보여줌으로써 보관 및 관리를 용이하게 하는 히스토리 키핑(history keeping) 기능을 제공하는 클립보드 동기화 서버 및 그를 포함한 클립보드 동기화 시스템을 제공하고자 한다.
이를 위해, 본 발명에 따른 클립보드 동기화 서버는 클라이언트 단말기에서 특정 데이터를 잘라내기 하거나 또는 복사하여 생성된 피드(feed)를 전송받아 저장하는 피드 DB와; 복수개의 클라이언트 단말기의 계정 정보가 각각 저장되어 있는 계정 DB; 및 상기 계정 DB를 참조하여 상기 피드 DB에 저장된 피드를 상기 피드를 전송한 클라이인트 단말기와 동일한 계정을 갖는 타 클라이언트 단말기로 전송하는 서버 어플리케이션;을 포함하는 것을 특징으로 한다.
이때, 상기 피드 DB에 저장된 하나 이상의 피드들을 관리하는 히스토리 관리부를 더 포함하는 것이 바람직하다.
또한, 상기 서버 어플리케이션은 상기 타 클라이언트 단말기로 전송되는 피드가 상기 히스토리 관리부에서 관리되는 기 저장된 피드와는 다른 새로운 피드인지 테스트하는 기능을 포함하고, 새로운 피드인 경우에만 상기 타 클라이언트 단말기로 전송하는 것이 바람직하다.
또한, 상기 클라이언트 단말기로부터 전송된 피드에 포함되어 있는 메타 데이터를 저장하는 메타 데이터 DB를 더 포함하는 것이 바람직하다.
한편, 본 발명에 따른 클립보드 동기화 시스템은 이상과 같은 클립보드 동기화 서버 및 클라이언트 단말기를 포함하되, 상기 클라이언트 단말기는 특정 데이터를 잘라내기 하거나 또는 복사하여 생성된 피드(feed)를 저장하는 시스템 클립보드(clip-board); 및 상기 시스템 클립보드에 저장된 피드를 상기 클립보드 동기화 서버로 전송하는 클라이언트 어플리케이션;을 포함하는 것을 특징으로 한다.
이때, 상기 잘라내기 또는 복사 명령 이벤트의 발생에 의해 상기 시스템 클립 보드에 피드가 저장되는지 감시하는 이벤트 감시부를 더 포함하고, 상기 클라이언트 어플리케이션은 상기 이벤트 감시부에서 상기 잘라내기 또는 복사 명령 이벤트를 감지하면, 상기 시스템 클립보드에 저장된 피드를 상기 클립보드 동기화 서버로 전송하는 것이 바람직하다.
또한, 상기 클라이언트 단말기는 상기 시스템 클립보드에 저장된 하나 이상의 피드에 대한 리스트를 관리하는 피드 리스트 관리부를 더 포함하는 것이 바람직하다.
또한, 상기 클라이언트 어플리케이션은 상기 클립보드 동기화 서버로 전송되는 피드가 상기 피드 리스트 관리부에서 관리되는 기 저장된 피드와는 다른 새로운 피드인지 테스트하는 기능을 포함하고, 새로운 피드인 경우에만 상기 클립보드 동기화 서버로 전송하는 것이 바람직하다.
또한, 상기 클라이언트 단말기는 상기 전송되는 피드에 포함되는 메타 데이터를 생성하는 메타 데이터 생성부를 더 포함하는 것이 바람직하다.
또한, 상기 클라이언트 단말기 또는 클립보드 동기화 서버 중 어느 하나 이상에는 상기 시스템 클립보드에 임시 저장된 피드들 중 사용자에 의해 선택된 것을 보관하는 메모리 자원인 킵 박스(keep box)를 더 포함하는 것이 바람직하다.
이상과 같은 본 발명에 의하면 동일한 계정을 갖는 복수개의 클라이언트 단말기들 중 어느 하나의 클라이언트 단말기에서 특정 데이터를 잘라내기 하거나 또는 복사하여 생성된 피드를 공유할 수 있게 동기화시킨다. 또한, 복수개의 클라이언트 단말기들에서 각각 생성한 피드의 동기화를 통해 모든 클라이언트 단말기들에서 공유하게 된 결과를 나열하여 보여준다.
따라서, 본 발명은 어느 하나의 특정 클라이언트 단말기에서 복사하거나 잘라내어 생성한 데이터는 그 즉시 자신의 다른 클라이언트 단말기에도 자동으로 기록 및 저장되므로 어느 사용자는 어느 클라이언트 단말기에서나 종래와 대비하여 간소한 절차로 자유롭게 붙여넣기할 수 있음은 물론, 이와 같이 동기화를 통해 공유된 모든 피드의 보관 및 관리를 용이하게 한다.
도 1은 본 발명에 따른 클립보드 동기화 시스템을 나타낸 개략 구성도이다.
도 2는 본 발명에 따른 클립보드 동기화 시스템의 클라이언트 단말기를 나타낸 블록 구성도이다.
도 3은 본 발명에 따른 클립보드 동기화 시스템의 클립보드 동기화 서버를 나타낸 블록 구성도이다.
도 4는 본 발명에 따른 클립보드 동기화 시스템 중 클라이언트 단말기에서 새로운 피드가 발생하였는지 테스트하는 과정을 나타낸 흐름도이다.
도 5는 본 발명에 따른 클립보드 동기화 시스템 중 클립보드 동기화 서버에서 새로운 피드가 발생하였는지 테스트하는 과정을 나타낸 흐름도이다.
도 6은 본 발명에 따른 클립보드 동기화 시스템에서의 피드 전송 방법을 나타낸 도이다.
도 7은 본 발명에 따른 클립보드 동기화 시스템의 클립보드 동기화 서버의 DB를 나타낸 도이다.
도 8은 본 발명에 따른 클립보드 동기화 시스템의 클라이언트 단말기가 웹 클라이언트인 경우의 실시예이다.
도 9는 본 발명에 따른 클립보드 동기화 시스템의 클라이언트 단말기가 iOS 클라이언트인 경우의 실시예이다.
도 10은 본 발명에 따른 클립보드 동기화 시스템의 클라이언트 단말기가 윈도우즈 클라이언트인 경우의 실시예이다.
도 11은 본 발명에 따른 클립보드 동기화 시스템의 클라이언트 단말기가 안드로이드 클라이언트인 경우의 실시예이다.
도 12는 본 발명에 따른 클립보드 동기화 시스템의 클라이언트 단말기가 MAC OS 클라이언트인 경우의 실시예이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 클립보드 동기화 서버 및 그를 포함한 클립보드 동기화 시스템에 대해 상세히 설명한다.
먼저, 도 1에 도시된 바와 같이 본 발명에 따른 클립보드 동기화 시스템(100, 200)은 동일 계정을 갖는 복수개의 클라이언트 단말기(100) 및 상기 클라이언트 단말기(100)들의 각 시스템 클립보드(110)를 동기화시키는 클립보드 동기화 서버(200)를 포함한다.
클라이언트 단말기(100)는 일 예로 스마트 폰(100a), 테블릿 PC(100b) 및 개인용 PC(100c)이며 이들은 보통 개인의 소유에 속하는 것으로서 동일한 계정을 사용하는 단말이다.
이때, 어느 하나의 클라이언트 단말기(100) 즉 스마트 폰(100a)에서 이미지 및 텍스트를 포함한 각종 데이터나 오브젝트를 복사하기 또는 잘라내기를 함으로써 피드(feed, 일반적인 클립보드에 저장되는 '클립'에 대응)가 생성되면, 그 생성된 피드는 스마트 폰(100a)의 시스템 클립보드(110)에 저장된다.
또한, 본 발명의 스마트 폰(100a)은 그 피드를 클립보드 동기화 서버(200)로 전송하고, 클립보드 동기화 서버(200)는 상기 전송된 피드를 다른 클라이언트 단말기(100) 즉, 테블릿 PC(100b) 및 개인용 PC(100c)로 전송한다.
따라서, 스마트 폰(100a)에서 생성된 피드는 해당 스마트 폰(100a)를 비롯하여, 그 외 테블릿 PC(100b) 및 개인용 PC(100c)를 포함한 모든 클라이언트 단말기(100)의 시스템 클립보드(110)에 저장되므로 어느 클라이언트 단말기(100)에서나 간단하면서도 자유롭게 붙여넣기 할 수 있게 된다.
이를 위해, 본 발명에 따른 클립보드 동기화 시스템의 클라이언트 단말기(100)는 도 2에 도시된 바와 같이, 시스템 클립보드(110)와, 어플리케이션 클립보드(111)와, 클라이언트 어플리케이션(120)과, 이벤트 감시부(130)와, 피드 리스트 관리부(140)와, 메타 데이터 생성부(150)와, 단말측 포맷 변환부(160)와, 킵 박스(170) 및 통지부(180)를 포함한다.
물론, 이에 한정되지 않고 클라이언트 단말기(100)가 스마트 폰(100a)인지, 테블릿 PC(100b)인지 혹은 개인용 PC(100c)인지 등에 따라 단말기 자체에 기본적으로 탑재된 유무선 통신부, 스피커, GPS 수신부, 메모리, 데이터 입력부/출력부, 키보드 또는 터치패널 등의 키입력부 등을 더 포함하고 있음은 자명하다.
여기서, 상기 시스템 클립보드(110)와 어플리케이션 클립보드(111)는 스마트 폰(100a)이나, 테블릿 PC(100b), 혹은 개인용 PC(100c)에 기본적으로 탑재되어 있는 것으로, 각 클라이언트 단말기(100)의 시스템 클립보드(110)들을 동기화시키기 위해 본 발명과 연동하게 된다는 점을 제외하면 이미 공지된 기술에 해당한다.
어플리케이션 클립보드(111)는 일 예로 MS 파워포인트에 탑재된 클립보드나, MS 액셀에 탑재된 클립보드 등을 의미하는 것으로 해당 응용프로그램에서 클립(즉, 피드)을 절단, 복사 및 붙여넣기 하는데 사용된다.
반면, 시스템 클립보드(110)는 본 발명에서 설명하는 클립보드(110)를 의미하는 것으로 각 클라이언트 단말기(100)가 피드를 공유하게 하는데 사용되는 단말 시스템 차원의 것으로, 일 예로 MS 파워포인트와 MS 액셀 같은 응용프로그램들 간에 피드의 이동이 발생할 때 사용된다.
다양한 포맷의 피드들이 어떤 응용프로그램에서 어떻게 될지 모르므로 이들 응용프로그램 간의 호환을 위해 시스템 클립보드(110)는 텍스트 및 이미지는 물론 그 외 다양한 형식의 오브젝트나 데이터를 수용한다.
이와 같이 본 발명은 클라이언트 단말기(100)에서 특정 데이터를 잘라내기 하거나 또는 복사하여 생성된 피드가 생성되면 시스템 클립보드(110)에 저장되고, 시스템 클립보드(110)에 저장된 피드는 클립보드 동기화 서버(200)로 전송하며, 클립보드 동기화 서버(200)는 다른 클라이언트 단말기(100)로 전송하여 해당 시스템 클립보드(110)에 저장되게 한다.
클라이언트 어플리케이션(120)은 시스템 클립보드(110)에 저장된 피드를 클립보드 동기화 서버(200)로 전송한다. 즉, 상술한 바와 같이 어느 하나의 클라이언트 단말기(100)에서 새로운 피드를 생성하면 이를 동일 계정의 동기화된 다른 클라이언트 단말기(100)에도 자동으로 전송되게 한다.
시스템 클립보드(110)에 저장된 피드를 클립보드 동기화 서버(200)로 전송하는 방식으로는 다양한 방법이 가능한데, 그러한 방법으로는 폴링(polling)과 푸쉬(push) 2가지를 예로 들 수 있다.
그 중 폴링은 클라이언트 어플리케이션(120)이 일정 시간(예: 약 1초)마다 가장 최근에 저장된 피드를 전송하는 방식으로서 일정 시간에 한 번씩 지속적으로 질의를 하여 변화를 체크하는 방식이다. 푸쉬는 인터럽트(interrupt)와 같은 역할로서 변화가 생겼을 때만 시그널을 주기 때문에 일정 시간에 한 번씩 체크할 필요는 없게 한다.
이러한 클라이언트 어플리케이션(120)은 프로세서로 구현될 수 있으며, 바람직하게는 클립보드 동기화 서버(200)에서 다운로드 가능한 어플리케이션(흔히, '앱' 또는 '어플'이라고도 함)을 설치함으로써 프로그램적으로 구현된다.
또한, 클라이언트 어플리케이션(120)은 클립보드 동기화 서버(200)로 전송되는 피드가 피드 리스트 관리부(140)에서 관리되는 기 저장된 피드와는 다른 새로운 피드인지 테스트하는 기능을 포함한다.
클라이언트 어플리케이션(120)에서 시스템 클립보드(110)를 감시하여 약 1초 간격으로 클립보드 동기화 서버(200)로 피드를 전송하면 클립보드 동기화 서버(200)에는 중복된 피드들로 가득차게 된다. 따라서, 테스트를 통해 새로운 피드인 경우에만 클립보드 동기화 서버(200)로 전송한다.
도 4에는 클라이언트 단말기(100) 측 즉, 클라이언트 어플리케이션(120)에서 테스트를 수행하여 전송될 피드가 새로운 것인지 테스트하는 방법이 도시되어 있다. 물론, 도 5에 도시된 바와 같이 클립보드 동기화 서버(200) 측에서 테스트할 수도 있으며, 이러한 테스트 방법 및 주체에 특별한 제한은 없다.
도 4와 같이 클라이언트 단말기(100)는 'System Clipboard polling'시나 'System Clipboard interrupt'시 새로운 피드인 경우에만 클립보드 동기화 서버(200)로 피드를 전송하고, 새로운 것이 아니면 전송하지 않고 계속해서 새로운 피드가 있는지 감시한다.
반면, 클립보드 동기화 서버(200) 측에서는 전송된 피드를 별도의 테스트 없이 바로 저장하였다가, 등록된(즉, 동일 계정으로 등록된) 다른 클라이언트 단말기(100)로 그 새로운 피드를 전송한다.
또한, 클라이언트 어플리케이션(120)은 클라이언트 단말기(100)의 화면을 통해 표시되는 피드 리스트들을 정렬(sorting)하는 기능을 제공한다. 정렬은 클라이언트 단말기(100)의 키 패드나 터치 패널을 통해 입력된 사용자 명령에 따른다.
예컨대, 정렬로는 시간에 대한 정렬 방식을 선택한 경우 피드가 생성된 순서로 오름차순이나 내림차순으로 정렬하여 화면에 표시하거나, 피드의 포맷별에 대한 정렬 방식을 선택한 경우 텍스트만 표시하거나, 이미지만 표시하거나, 혹은 이들 모두를 표시한다.
이러한 정렬은 동기화된 모든 클라이언트 단말기(100)에 동시에 적용될 수 있다. 또한, 그 외 클라이언트 별로 각각 독립적으로 수행할 수도 있다. 독립적으로 수행되는 경우에는 클립보드 동기화 서버(200)를 통해 타 클라이언트 단말기(100)에 접속하여 그 단말기의 정렬도 각각 바꿀수 있다. 예컨대, 스마트 폰(100a)의 정렬을 개인용 PC(100c)를 통해 바꿀 수도 있다.
이벤트 감시부(130)는 잘라내기 또는 복사 명령 이벤트의 발생에 의해 시스템 클립 보드에 피드가 저장되는지 감시한다. 이벤트 감시부(130)에서 감시한 결과는 클라이언트 어플리케이션(120)에 제공됨으로써 새로운 피드의 발생을 알리는 역할을 한다.
이벤트 감시부(130)를 추가로 구비하면 클라이언트 어플리케이션(120)에서 약 1초 간격으로 시스템 클립보드(110)를 감시할 필요가 없이 이벤트 발생시에만 시스템 클립보드(110)를 감시하면 된다는 점에서 컴퓨팅 처리량을 줄이고 클립보드 동기화 서버(200)로 중복된 피드를 전송할 가능성을 월등히 줄인다.
다만, 이러한 경우에도 사용자가 동일한 피드를 다시 한번 복사하거나 잘라내기하여 동일한 피드가 발생하는 경우가 있을 수 있으므로 상술한 바와 같은 테스트를 수행하여 주는 것이 바람직하다.
또한, 이벤트 감시부(130)의 기능은 클라이언트 어플리케이션(120)에서 수행할 수 있어서 클라이언트 어플리케이션(120)에 일체로 구비될 수 있고, 클라이언트 어플리케이션(120)은 프로세서에 의해 구현될 수 있으므로, 이벤트 감시부(130)와 클라이언트 어플리케이션(120)을 단일의 프로세서로 구현될 수 있다.
피드 리스트 관리부(140)는 시스템 클립보드(110)에 저장된 하나 이상의 피드에 대한 리스트를 관리한다. 피드 리스트 관리에는 시스템 클립보드(110)에 피드가 저장된 시간의 기록 및 표시는 물론, 시스템 클립보드(110)에 저장된 피드를 화면에 표시하는 기능을 비롯하여 다양한 타입의 관리를 포함한다.
특히, 외부에서 전송된 피드가 있는 경우에는 클라이언트 단말(100)에 피드 목록을 나열하고 그 중 사용자가 선택한 피드만 시스템 클립보드(110)에 저장되게 하는 기능도 포함한다. 물론, 설정을 통해 위와 같은 선택 없이 모든 피드들이 자동으로 시스템 클립보드(110)에 저장될 수도 있다.
또한, 피드 리스트 관리부(140)에 의해 클라이언트 단말기(100)의 화면에 표시되는 방식도 이미지나 텍스트 등의 파일 포맷으로 이루어진 피드 원본을 직접 표시할 수도 있고, 저장된 피드의 파일명만 나열하는 등 다양한 방식이 사용될 수 있다.
다만, 피드 리스트 관리부(140)의 기능은 클립보드 동기화 서버(200)에서 제공할 수 있으며, 클립보드 동기화 서버(200)에서 관리 기능을 제공하는 경우에는 클라이언트 단말기(100)에서 관리 목록을 실시간으로 다운로드 받아 표시된다. 후술하는 바와 같이 클립보드 동기화 서버(200)의 히스토리 관리부(240)가 이러한 기능을 제공한다.
메타 데이터 생성부(150)는 생성된 피드에 대한 메타 데이터를 생성하여 해당 피드에 삽입한다. 메타 데이터로는 피드의 생성시간, 피드의 파일 포맷 및 피드가 생성된 클라이언트 단말기(100)의 ID를 포함한 다양한 정보를 포함한다.
다만, 이러한 메타 데이터 생성부(150)의 기능 역시 클라이언트 어플리케이션(120)에 일체로 구비될 수 있으므로, 메타 데이터 생성부(150)와 클라이언트 어플리케이션(120)는 단일의 프로세서로 구현될 수 있다.
단말측 포맷 변환부(160)는 도 6에 도시된 바와 같이 피드를 클립보드 동기화 서버(200)로 전송시 시스템 클립보드(110)에 저장된 피드를 타 클라이언트 단말기(100)에서도 사용할 수 있는 포맷으로 변환한다.
즉, 시스템 클립보드(110)에 저장되어 있는 리치 텍스트(rich text)를 플래인 텍스트(plain 텍스트)로 변환시킴으로써, 플래인 텍스트의 피드가 클립보드 동기화 서버(200)로 전송되게 한다.
리치 텍스트를 MS WINDOWS 메모장에 붙여넣기 하면 암호문은 해독되고, 피드에 붙어 있는 각종 서식이 제거된 평범한 플래인 텍스트가 되는데, 플래인 텍스트는 데이터 용량이 월등히 작고 호환성이 보장되므로, 클립보드 동기화 서버(200)와 타 클라이언트 단말기(100)에 저장 및 사용시 유리하게 한다.
다만, 이러한 단말측 포맷 변환부(160)는 클립보드 동기화 서버(200)에 구비할 수 있고, 클립보드 동기화 서버(200)에 구비되는 경우에는 후술할 서버측 포맷 변환부(미도시)가 그 기능을 수행하며, 단말측 포맷 변환부(160)와 서버측 포맷 변환부 중 어느 하나만을 활성화시켜 사용 가능하다.
킵 박스(keep box)(170)는 시스템 클립보드(110)에 임시 저장된 피드들 중 사용자에 의해 선택된 것을 보관하는 메모리 자원으로, 피드 리스트 관리부(140)에 의해 클라이언트 단말기(100)에 표시된 피드들 중 사용자가 선택한 것을 장기간 보관하는데 사용되며, 별도의 삭제 명령이 없으면 영구적으로 보관한다.
시스템 클립보드(110)는 일 예로 피드가 100개 이상이 되면 새로운 피드를 저장하고 가장 오래된 피드는 자동으로 삭제되는 FIFO 방식이 사용된다. 따라서, 사용자가 선택한 피드나 중요한 피드(예: 100글자 이상으로 이루어진 피드)는 자동으로 킵 박스(170)에 저장한다. 킵 박스(170)에 저장된 피드도 클라이언트 어플리케이션(120)에 의해 정렬 가능하다.
다만, 이상과 같이 클라이언트 단말기(100)에 구비된 킵 박스(170)는 도시는 생략하였지만 클립보드 동기화 서버(200)에도 구비함으로써 어떠한 클라이언트 단말기(100)에서도 공유할 수 있도록 하는 것이 바람직할 것이다.
통지부(180)는 사용자에게 본 발명의 어플리케이션의 실행을 통해 포어그라운드(foreground) 상태의 동작이 필요한 상황이 발생하였다는 통지(push notification)한다. 이러한 통지부는 후술하는 바와 같이 'Setting Page'에서 통지 여부 및 방식 등을 설정할 수 있다.
백그라운드(background) 동작 상태에 있는 동안 타 클라이언트 단말기(100)에서 새로운 피드가 전송되거나 혹은 해당 클라이언트 단말기(100)에서 새로운 피드가 생성되어 새로운 피드를 받아들이는 경우 포어그라운드 상태의 동작이 필요하다는 통지는 한다.
백그라운드 동작 상태라 함은 멀티 태스킹을 기반에서 다른 응용프로그램(예: MS 파워포인트나 워드 등)을 사용하는 동안 항시 시스템 클립보드(110)를 감시하고, 또한 클립보드 동기화 서버(200)의 변화를 감시하여 동기화가 이루어지게 하는 상태로서, 사용자는 백그라운드 어플리케이션의 작동 상태를 인지하지 못한다.
반면, 포어그라운드 상태는 사용자가 화면 표시 등을 통해 직접 인지하고 사용할 수 있는 상태에 해당하는 것으로, 화면상에 표시된 GUI(Graphic User Interface) 등을 통해 직접 조작이 가능한 상태이다. 본 발명을 예로 들면 피드 리스트 관리부(140)를 통해 표시된 피드에서 원하는 내용을 찾아서 직접 사용하는 상태이다.
이하, 이상과 같은 동일 계정의 클라이언트 단말기들의 시스템 클립보드를 동기화시키는 클립보드 동기화 서버에 대해 설명한다.
본 발명에 따른 클립보드 동기화 서버(200)는 피드 데이터베이스(이하, 'DB'라 함)(210)와, 계정 DB(220)와, 서버 어플리케이션(230)과, 히스토리 관리부(240) 및 메타 데이터 DB(250)를 포함한다. 특히, 도시는 생략하였지만 상술한 바와 같이 단말측 포맷 변환부(160)에 대응하는 서버측 포맷 변환부를 포함할 수도 있다.
물론, 이상과 같은 구성 이외에 서버 자체에 기본적으로 탑재된 유무선 통신부, 메모리, 데이터 입력부/출력부, 키보드나 마우스 등의 키입력부 등을 더 포함하고 있음은 자명하다.
피드 DB(210)는 클라이언트 단말기(100)에서 특정 데이터를 잘라내기 하거나 또는 복사하여 생성된 피드를 전송받아 저장한다. 이와 같이 피드 DB(210)에 피드를 저장하면 동일 계정을 갖는 타 단말기로 해당 피드를 제공할 수 있다.
피드는 보통 동일 사용자가 소지한 복수개의 클라이언트 단말기(100)에만 전송됨으로써 동일 계정을 갖는 클라이언트 단말기(100)들끼리 동기화되고 공유해야 하므로, 피드 DB(210)는 피드들을 각 소유자의 계정별로 그룹화하여 저장한다.
계정 DB(220)는 복수개의 클라이언트 단말기(100)의 계정 정보가 각 소유자 별로 저장되는 것으로, 계정 정보는 사용자의 First name, Last name, e-mail address 및 Password 등을 포함하며, 후술하는 바와 같이 'Sign-Up Page'를 통해 가입하여 계정이 생성하면 자동으로 저장된다.
사용자별 계정의 구분은 ID 대신 e-mail address가 사용될 수 있으며, 동일한 e-mail address를 갖는 클라이언트 단말기(100)는 동일 계정을 갖는 단말기에 해당하는 것이므로, 어느 하나의 클라이언트 단말기(100)에서 제공된 피드는 동일한 e-mail address를 갖는 타 단말기로 전송된다.
서버 어플리케이션(230)은 계정 DB(220)를 참조하여 상기 피드 DB(210)에 저장된 피드를 상기 피드를 전송한 클라이언트 단말기(100)와 동일한 계정을 갖는 타 클라이언트 단말기(100)로 전송한다.
또한, 서버 어플리케이션(230)은 타 클라이언트 단말기(100)로 전송되는 피드가 히스토리 관리부(240)에서 관리되는 기 저장된 피드와는 다른 새로운 피드인지 테스트하는 기능을 포함하고, 새로운 피드인 경우에만 타 클라이언트 단말기(100)로 전송한다.
테스트는 클라이언트 단말기(100)와 클립보드 동기화 서버(200) 중 어디에서든 수행될 수 있는데, 클라이언트 단말기(100)에서 테스트가 수행되는 경우는 위에서 이미 설명하였고, 여기서는 클립보드 동기화 서버(200)에서 테스트가 수행되는 경우를 설명하는 것이다.
도 5에 도시된 바와 같이 테스트를 통해 새로운 피드인 경우에만 클립보드 동기화 서버(200)에서 받아들여 저장하도록 함으로써 동일한 피드의 중복 저장을 방지하도록 클립보드 동기화 서버(200) 측에서 테스트를 수행한다.
즉, 클립보드 동기화 서버(200)에서는 새로운 피드인 경우에만 피드 DB(210)에 저장하고, 그 새로운 피드만 타 클라이언트 단말기(100)에 전송되도록 하며, 새로운 피드가 아닌 경우에는 전송된 피드를 제거(삭제)한 후 계속해서 다음번의 피드를 전송받을 준비를 한다.
반면, 클라이언트 단말기(100) 측에서는 생성된 피드를 별도의 테스트 없이 바로 클립보드 동기화 서버(200)로 전송한다. 물론, 도 4를 통해 이미 설명한 바와 같이 클라이언트 단말기(100) 자체에서도 테스트를 수행한 후 새로운 피드만 시스템 클립보드(110)에 저장할 수 있다.
히스토리 관리부(240)는 피드 DB(210)에 저장된 하나 이상의 피드들을 관리한다. 이러한 히스토리 관리부(240)는 클라이언트 단말기(100)의 피드 리스트 관리부(140)와 유사한 기능을 수행하며 관리 결과는 클라이언트 단말기(100)에 제공된다.
도 7에는 히스토리 관리부(240)에 의해 제공되는 페이지가 도시되어 있는데, 사용자의 계정과 함께 피드를 나타내는 콘텐츠 표시, 생성 및 전송된 클라이언트 단말기(100) 및 생성된 시각 등을 제공한다.
콘텐츠 표시는 이미지나 텍스트 등의 피드 원본을 직접 보여주거나, 저장된 피드의 파일명만 나열하는 등 다양한 방식이 사용될 수 있다.
특히, 히스토리 관리부(240)는 클립보드 동기화 서버(200)에 접속한 클라이언트 단말기(100)에 피드 DB(210)에 저장된 피드들을 보여주는데, 만약 클라이언트 단말기(100)에서 보여진 피드들 중 필요한 것을 선택하면 그 선택된 피드가 클라이언트 단말기(100)의 시스템 클립보드(110)에 저장된다.
즉, 사용자는 클라이언트 단말기(100)의 시스템 클립보드(110)에 복사될 피드를 선택할 수 있다. 그러나, 본 발명은 이에 한정하는 것이 아니고, 히스토리 관리부(240)에서 피드를 보여주고 새로운 피드의 발생이 있는 경우에는 모든 피드들이 자동으로 시스템 클립보드(110)에 저장되게 할 수도 있다.
메타 데이터 DB(250)는 클라이언트 단말기(100)로부터 전송된 피드에 포함되어 있는 메타 데이터를 저장한다. 메타 데이터를 분석하여 피드를 전송한 클라이언트 단말기(100)와 그 외 타 클라이언트 단말기(100)를 구분할 수 있으므로, 상기 전송된 피드를 타 클라이언트 단말기(100)로 전송할 수 있다.
또한, 위에서 설명한 히스토리 관리부(240)에 메타 데이터를 제공함으로써, 도 7과 같은 표시를 가능하게 한다.
포맷 변환부로는 단말측 포맷 변환부(160)와 서버측 포맷 변환부 중 어느 하나만 있어도 그 목적이 달성되므로, 단말측 포맷 변환부(160)와 서버측 포맷 변환부를 각각 구비한 경우에는 어느 하나만 작동되도록 활성화시킬 수 있다.
이하, 이상과 같은 구성으로 이루어진 본 발명에 따른 클립보드 동기화 서버 및 그를 포함한 클립보드 동기화 시스템의 실시예에 대해 각 클라이언트 단말의 OS(혹은, 오픈 소스 플랫폼) 별로 설명한다.
도 8은 클라이언트 단말기가 웹 클라이언트이고, 도 9는 클라이언트 단말기가 iOS 클라이언트이고, 도 10은 클라이언트 단말기가 윈도우즈 클라이언트이고, 도 11은 클라이언트 단말기가 안드로이드 클라이언트이며, 도 12는 클라이언트 단말기가 MAC OS 클라이언트인 경우의 실시예이다.
먼저, 도 8에 도시된 바와 같이, 웹 클라이언트는 웹 브라우저를 직접 사용하는 경우를 의미하는 것으로, OS와, 웹 브라우저 및 웹 클라이언트가 서로 연동되는 방식으로 사용되므로 클라이언트 단말기(100)의 OS에 무관하게 웹 브라우저를 통해 작동된다.
이러한 웹 클라이언트는 웹 상에서 잘라내기 혹은 복사된 피드를 관리하고, 보통은 HTML 5를 기반으로 하며, 최초 웹 사이트에 접속하면 도 8a와 같은 웹 페이지를 제공한다. 도 8a에서 'ClipPick'은 본 발명의 클립보드 동기화 서버(200)를 나타낸다.
이때, 필요에 따라서는 최초 로그인 이후에는 사용자의 로그인 기록이 남겨지는데, 사용자가 로그 아웃을 하지 않을 경우에는 웹 브라우저만 자동으로 종료되고, 그 이후 클라이언트 단말기(100)를 통해 클립보드 동기화 서버(200)에 재접속하면 로그인 상태를 유지한다.
한편, 적용 가능한 다양한 실시예들 중 일 예로서 로그인이 된 후 피드들이 나열된 히스토리 페이지가 표시되면 웹 클라이언트가 실행된 상태에서는 일 예로 1초당 1회 클라이언트 단말기(100)의 피드가 웹 브라우저를 통해 클립보드 동기화 서버(200)로 업로드된다.
이때, 단말기 측이나 서버 측에서 새로운 피드인지 테스를 수행하고, 새로운 피드인 경우에는 동일 계정(즉, 동일한 e-mail address)을 갖는 타 클라이언트 단말기(100)로 피드가 전송되고, 전송받은 클라이언트 단말기(100)의 시스템 클립보드(110)에 저장된다.
또한, 로그인이 된 후 히스토리 페이지를 통해 각 피드들이 보여지며, 사용자는 보여진 피드를 삭제하거나, 킵 박스(170)나 다른 단말기로 복사하거나, 정렬할 수 있다. 상술한 바와 같이 정렬에는 시간에 따른 정렬, 피드 포맷에 따른 정렬 및 클라이언트 단말별 정렬 등이 있다.
이러한 웹 페이지의 전체적인 레이아웃은 도 8b에 도시되어 있으며, 히스토리 페이지 상의 각 피드는 동기화('sync')된 기기, 동기화된 시간 및 동기화된 내용 등 총 3개의 정보를 표시하고, 피드 삭제, 피드 복사 및 킵 박스(170)로 복사하기 등의 동작을 수행할 수 있다.
킵 박스(170)로 이동시 드래그&드롭 동작을 허용하므로, 해당 피드를 클릭한 후 킵 박스(170)로 옮기는 동작을 취하면 '킵 박스로 이동' 명령이 실행되며, 또한 피드의 길이가 100글자(띄어쓰기 포함)를 넘기게 되면 자동으로 킵 박스(170)에 복사된다.
킵 박스(170)는 일 예로 피드 저장 한계를 50개로 제한함으로써, 킵 박스(170)에 50개의 피드가 꽉 찬 상태에서 새로운 피드를 추가하는 명령이 실행되면 받아들이지 않고 경고를 띄운다. 킵 박스(170)에 새로운 피드를 추가하려면 부득이 기존의 피드를 삭제하여 킵 박스(170)를 비워야 한다.
히스토리 페이지가 보여지고 있는 상태에서 타 클라이언트 단말기(100)에서 새로운 피드가 생성되어 웹 클라이언트 상에서 업데이트되면, 그 새로운 피드는 이상과 같이 브라우즈(browse)하고 있는 클라이언트 단말기(100)의 시스템 클립보드(110)에 실시간으로 복사(즉, 저장)된다.
다음, 도 9에 도시된 바와 같이, iOS 클라이언트는 애플사의 아이폰이나 아이패드 등에 탑재된 오픈 소스 플랫폼을 의미하는 것으로, iOS는 다른 플랫폼과 다르게 어플리케이션 밖인 백그라운드 동작(혹은, background sync) 상태에서는 클립보드 동기화 서버(200)와 동기화할 수 없다.
애플의 앱 스토어에서는 정책적으로 이러한 백그라운드 동작을 제한하고 있으므로 도 9a에 도시된 바와 같이 본 발명의 클립보드 동기화 서버(200)와의 동기화를 위해서는 사용자 어플리케이션을 실행시켜서 포어그라운드(foreground) 상태가 되도록 해야한다.
또한, 도 9b에 도시된 바와 같이 iOS 상에서는 동기화가 포어그라운드 상태에서만 가능하므로, 당해 iOS 클라이언트 단말에서 잘라내기나 복사를 통해 새로운 피드가 생성되어 타 클라이언트 단말기(100)로 전송할 필요가 있거나, 타 클라이언트 단말기(100)에서 피드가 생성되어 이를 받아들일 필요가 있으면, 상술한 통지부(180)를 통해 통지한다.
이러한 기능은 클라이언트 단말기(100)를 통해 제공되는 셋팅 페이지(setting page)에서 사용 가능하도록 설정할 수 있으며 사용자는 통지 사용 허부를 결정한다.
또한, 도 9c에 도시된 바와 같이 클라이언트 단말기(100)를 통해서 환영 페이지(greeting page) 및 사인-업 페이지(sign-up page)를 제공하는데, 환영 페이지는 본 발명의 어플리케이션을 실행(launch)할 경우 제공된다.
일 예로 환영 페이지에는 로그인 및 사인-업과 같은 2개의 버튼이 포함되어 있으며, 만약 이전에 로그인을 한 적이 있으면 버튼을 누르지 않아도 해당 계정으로 자동 로그인이 이루어지고 히스토리 페이지로 이동한다.
반면, 처음 실행하는 경우라면 상기 2개의 버튼 중 어느 하나를 누를 때까지 대기하다가 로그인을 선택하면 셋팅 페이지로 이동하고, 사인-업을 선택하면 사인-업 페이지로 이동한다.
사인-업 페이지에서 사용자가 First name, Last name, e-mail address 및 Password 등을 입력하고, 제출(submit) 버튼을 누르면 상기 내용을 입력받아 백엔드(back-end) 상의 서버에서 계정이 생성되고, 이들 정보는 계정 DB(220)에 저장된다.
또한, 도 9d에 도시된 바와 같이 클라이언트 단말기(100)를 통해서 셋팅 페이지(setting page) 및 통지 페이지(push notification page)가 제공되는데, 셋팅 페이지는 이상과 같은 로그인 버튼을 클릭해야 제공된다.
셋팅 페이지에는 사용자의 e-mail address 및 Password가 보여지고, 이 페이지에서 상술한 바와 같은 정렬 방식(오름차순/내림차순 등)을 선택 및 저장할 수 있다.
설정이 끝난 후에는 저장(save) 버튼을 눌러 선택한 내용을 저장하고, 시간에 대한 정렬 정보는 해당 클라이언트 단말기(100)에 저장되며, 저장되지 않더라도 상단의 'ClipPick'이나 'KeepBox' 로고를 클릭하여 히스토리 페이지로 돌아가 실시간으로 설정할 수 있다.
통지 페이지에서는 iOS 클라이언트 단말에서 잘라내기나 복사를 통해 새로운 피드가 생성되어 타 클라이언트 단말기(100)로 전송할 필요가 있거나, 타 클라이언트 단말기(100)에서 피드가 생성되어 이를 받아들일 필요가 있으면 통지를 하도록 설정하며, 이는 사용자가 선택한다.
한편, iOS 클라이언트 단말에서도 히스토리 페이지와 킵 박스(170) 페이지를 제공하는데, 이들의 기능은 도 8b를 통해 설명한 바와 같으므로 이하에서는 그에 대한 상세한 설명은 생략한다.
다음, 도 10에 도시된 바와 같이, 윈도우즈(WINDOWS) 클라이언트는 마이크로소프트사의 OS를 의미하는 것으로, 클라이언트 단말기(100)가 개인용 PC(100c)인 경우가 보통이다.
도 10a에 도시된 바와 같이 윈도우즈 클라이언트는 공지된 것처럼 프론트 엔드(front-end) 및 백 엔드(back-end) 2가지로 구분되며, 백 엔드의 경우 OS의 하단 메뉴 바에 위치한 아이콘을 클릭시 드롭 업(Drop-UP) 메뉴를 보여준다.
드롭 업 메뉴에는 피드가 동기화된 시간과 날짜, 프론트 엔드 윈도우를 불러올 수 있는 'ClipPick Manager'버튼과, 웹 클라이언트를 웹 브라우저상에 불러올 수 있는 'ClipPick Web'버튼 및 어플리케이션 자체를 종료시킬 수 있는 'Quit ClipPick'버튼 등이 있다.
도 10b에 도시된 바와 같이 'ClipPick Manager'버튼을 클릭하면 상기 프론트 엔드 윈도우가 나타나며, 프론트 엔드 윈도에는 피드들이 나열된 히스토리 페이지가 포함되어 있다.
또한, 이상과 같이 나타난 프론트 엔드 윈도우에서 도 10c와 같은 킵 박스 페이지나 도 10d와 같은 셋팅 페이지로 들어갈 수 있으며, 킵 박스(170)나 셋팅에 대한 기능은 위에서 이미 설명한 바와 같다.
다음, 도 11에 도시된 바와 같이, 안드로이드(android) 클라이언트는 안드로이드사를 인수한 구글에 의해 제공되는 구글 안드로이드 오픈 소스 플랫폼을 의미하는 것이다.
안드로이드는 애플의 iOS와 다르게 백그라운드 동작(혹은, background sync) 상태에서도 클립보드 동기화 서버(200)와 동기화가 가능하므로, 본 발명의 어플리케이션이 실행되지 않는 경우에도 각 시스템 클립보드(110)들의 동기화가 가능하다.
따라서, 도 11a에 도시된 바와 같이 안드로이드 클라이언트에서는 해당 어플리케이션이 포어그라운드로 작동하고 있는지의 여부와 상관 없이 최신의 피드가 안드로이드의 시스템 클립보드(110)에 복사(즉, 저장) 된다.
또한, 해당 어플리케이션이 포어그라운드로 작동하고 있는지의 여부와 상관 없이 안드로이드 시스템 클립보드(110)에 저장된 피드에 변화가 있다면 타 클라이언트 단말기(100)로 전송할 수 있도록 업데이트 된다.
한편, 안드로이드 클라이언트 단말기(100)에서도 도 11b에 도시된 바와 같이 환영 페이지(greeting page) 및 사인-업 페이지(sign-up page)를 제공한다. 환영 페이지는 본 발명의 어플리케이션을 실행(launch)할 경우 보여진다.
또한, 도 11c에 도시된 바와 같이 제공된 버튼을 클릭하면 히스토리 페이지(history page) 및 셋팅 페이지(setting page)를 제공하며, 타 클라이언트 단말기(100)의 경우 제공된 히스토리 페이지에서 어느 하나의 피드를 선택하면 당해 타 클라이언트 단말기(100)의 시스템 클립보드(110)에 저장된다.
또한, 도 11d에 도시된 바와 같이 히스토리 페이지에 있는 피드를 오래 누르고 있으면 'Copy to Clipboard'과, 'Star this clip' 및 'Delete' 등과 같은 세가지 옵션이 생성됨으로써 좀더 편리하게 명령을 실행시킬 수 있다.
즉, 'Copy to Clipboard'를 클릭하면 이상과 같이 오래 누른 피드를 안드로이드의 시스템 클립보드(110)에 저장되게 하고, 'Delete'를 클릭하면 히스토리 페이지 상에서 피드를 삭제하며, 'Star this clip'을 클릭하면 해당 피드를 장시간 보관하도록 스타 체크한다.
스타 체크를 하면 히스토리 페이지 상에 나열된 피드의 좌측 상단에 '★'모양이 생기며, 이와 같이 '★'모양이 생긴 피드는 킵 박스(170)에 자동으로 저장되어 장기간 보관된다. 킵 박스(170)에 저장된 피드들도 오름차순/내림차순과 같은 시간별 정렬이 가능하고, All/Text Only/Image Only와 같은 피드 포맷별 정렬이 가능하다.
다음, 도 12에 도시된 바와 같이, MAC OS 클라이언트는 애플사의 매킨토시를 의미하는 것으로, 클라이언트 단말기(100)가 매킨토시를 사용하는 개인용 PC(100c)인 경우가 보통이다.
도 12a에 도시된 바와 같이 MAC 클라이언트도 프론트 엔드(front-end) 및 백 엔드(back-end) 2가지로 구분되며, 백 엔드의 경우 OS의 상단 메뉴 바에 위치하고 아이콘을 클릭시 드롭 다운(Drop-Down) 메뉴를 보여준다.
드롭 다운 메뉴에는 피드가 동기화된 시간과 날짜, 프론트 엔드 윈도우를 불러올 수 있는 'ClipPick Manager'버튼, 웹 클라이언트를 웹 브라우저상에 불러올 수 있는 'ClipPick Web'버튼 및 어플리케이션 자체를 종료시킬 수 있는 'Quit ClipPick'버튼 등이 있다.
도 12b에 도시된 바와 같이 'ClipPick Manager'버튼을 클릭하면 상기 프론트 엔드 윈도우가 나타나며, 프론트 엔드 윈도에는 피드들이 나열된 히스토리 페이지가 포함되어 있다.
또한, 이상과 같이 나타난 프론트 엔드 윈도우 상에서 도 12c와 같은 starred only 페이지 및 도 12d와 같은 셋팅 페이지로 들어갈 수 있으며, '★'모양이 생긴 피드를 킵 박스(170)에 자동으로 저장하는 starred only 페이지와 통지 설정 등을 포함한 기본값을 설정하는 셋팅에 대한 기능은 위에서 이미 설명한 바와 같다.
이상, 본 발명의 특정 실시예에 대하여 상술하였다. 그러나, 본 발명의 사상 및 범위는 이러한 특정 실시예에 한정되는 것이 아니라, 본 발명의 요지를 변경하지 않는 범위 내에서 다양하게 수정 및 변형이 가능하다는 것을 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 것이다.
따라서, 이상에서 기술한 실시예들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이므로, 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 하며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
100: 클라이언트 단말기 100a; 스마트 폰
100b: 테블릿 PC 100c: 개인용 PC
110: 시스템 클립보드 111: 어플리케이션 클립보드
120: 클라이언트 어플리케이션 130: 이벤트 감시부
140: 피드 리스트 관리부 150: 메타 데이터 생성부
160: 단말측 포맷 변환부 170: 킵 박스
180: 통지부 200: 서버
210: 피드 DB 220: 계정 DB
230: 서버 어플리케이션 240: 히스토리 관리부
250: 메타 데이터 DB

Claims (10)

  1. 클라이언트 단말기(100)들의 각 시스템 클립보드(110)를 동기화시키는 클립보드 동기화 서버(200)에 있어서,
    클라이언트 단말기(100)에서 특정 데이터를 잘라내기 하거나 또는 복사하여 생성된 피드(feed)를 전송받아 저장하는 피드 DB(210);
    복수개의 클라이언트 단말기(100)의 계정 정보가 각각 저장되어 있는 계정 DB(220);
    상기 계정 DB(220)를 참조하여 상기 피드 DB(210)에 저장된 피드를 상기 피드를 전송한 클라이인트 단말기와 동일한 계정을 갖는 타 클라이언트 단말기(100)로 전송하는 서버 어플리케이션(230); 및
    상기 피드 DB(210)에 저장된 하나 이상의 피드들을 관리하는 히스토리 관리부(240)를 포함하되,
    상기 서버 어플리케이션(230)은 상기 타 클라이언트 단말기(100)로 전송되는 피드가 상기 히스토리 관리부(240)에서 관리되는 기 저장된 피드와는 다른 새로운 피드인지 테스트하는 기능을 포함하고, 새로운 피드인 경우에만 상기 타 클라이언트 단말기(100)로 전송하는 것을 특징으로 하는 클립보드 동기화 서버(200).
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 클라이언트 단말기(100)로부터 전송된 피드에 포함되어 있는 메타 데이터를 저장하는 메타 데이터 DB(250)를 더 포함하는 것을 특징으로 하는 클립보드 동기화 서버(200).
  5. 상기 제1항 또는 제4항 중 어느 하나의 항과 같은 클립보드 동기화 서버(200) 및 상기 클립보드 동기화 서버(200)를 통해 각 시스템 클립보드(110)가 동기화되는 클라이언트 단말기(100)를 포함한 클립보드 동기화 시스템에 있어서,
    상기 클라이언트 단말기(100)는,
    특정 데이터를 잘라내기 하거나 또는 복사하여 생성된 피드(feed)를 저장하는 시스템 클립보드(clip-board)(110); 및
    상기 시스템 클립보드(110)에 저장된 피드를 상기 클립보드 동기화 서버(200)로 전송하는 클라이언트 어플리케이션(120);을 포함하는 것을 특징으로 하는 클립보드 동기화 시스템.
  6. 제5항에 있어서,
    상기 잘라내기 또는 복사 명령 이벤트의 발생에 의해 상기 시스템 클립 보드에 피드가 저장되는지 감시하는 이벤트 감시부(130)를 더 포함하고,
    상기 클라이언트 어플리케이션(120)은 상기 이벤트 감시부(130)에서 상기 잘라내기 또는 복사 명령 이벤트를 감지하면, 상기 시스템 클립보드(110)에 저장된 피드를 상기 클립보드 동기화 서버(200)로 전송하는 것을 특징으로 하는 클립보드 동기화 시스템.
  7. 제5항에 있어서,
    상기 클라이언트 단말기(100)는 상기 시스템 클립보드(110)에 저장된 하나 이상의 피드에 대한 리스트를 관리하는 피드 리스트 관리부(140)를 더 포함하는 것을 특징으로 하는 클립보드 동기화 시스템.
  8. 제7항에 있어서,
    상기 클라이언트 어플리케이션(120)은 상기 클립보드 동기화 서버(200)로 전송되는 피드가 상기 피드 리스트 관리부(140)에서 관리되는 기 저장된 피드와는 다른 새로운 피드인지 테스트하는 기능을 포함하고, 새로운 피드인 경우에만 상기 클립보드 동기화 서버(200)로 전송하는 것을 특징으로 하는 클립보드 동기화 시스템.
  9. 제5항에 있어서,
    상기 클라이언트 단말기(100)는 상기 전송되는 피드에 포함되는 메타 데이터를 생성하는 메타 데이터 생성부(150)를 더 포함하는 것을 특징으로 하는 클립보드 동기화 시스템.
  10. 제5항에 있어서,
    상기 클라이언트 단말기(100) 또는 상기 클립보드 동기화 서버(200) 중 어느 하나 이상에는 상기 시스템 클립보드(110)에 임시 저장된 피드들 중 사용자에 의해 선택된 것을 보관하는 메모리 자원인 킵 박스(keep box)(170)를 더 포함하는 것을 특징으로 하는 클립보드 동기화 시스템.
KR1020120078050A 2012-07-18 2012-07-18 클립보드 동기화 서버 및 그를 포함한 클립보드 동기화 시스템 KR101438102B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020120078050A KR101438102B1 (ko) 2012-07-18 2012-07-18 클립보드 동기화 서버 및 그를 포함한 클립보드 동기화 시스템
US13/848,662 US20140025727A1 (en) 2012-07-18 2013-03-21 Synchronization server for clipboard and synchronization system for clipboard having the same
US16/740,969 US20200252455A1 (en) 2012-07-18 2020-01-13 Synchronization server for clipboard and synchronization system for clipboard having the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120078050A KR101438102B1 (ko) 2012-07-18 2012-07-18 클립보드 동기화 서버 및 그를 포함한 클립보드 동기화 시스템

Publications (2)

Publication Number Publication Date
KR20140011164A KR20140011164A (ko) 2014-01-28
KR101438102B1 true KR101438102B1 (ko) 2014-09-11

Family

ID=49947465

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120078050A KR101438102B1 (ko) 2012-07-18 2012-07-18 클립보드 동기화 서버 및 그를 포함한 클립보드 동기화 시스템

Country Status (2)

Country Link
US (2) US20140025727A1 (ko)
KR (1) KR101438102B1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8555187B2 (en) * 2010-02-16 2013-10-08 Google Inc. Server-based data sharing in computer applications using a clipboard
CN103631827B (zh) 2012-08-29 2016-08-10 腾讯科技(深圳)有限公司 一种同步网页信息的方法及系统
US20150012861A1 (en) * 2013-07-02 2015-01-08 Dropbox, Inc. Syncing content clipboard
CN104683421B (zh) * 2013-12-03 2017-12-29 中国科学院声学研究所 一种支持多设备同步承载的web服务方法
CN105677306A (zh) * 2014-11-18 2016-06-15 中兴通讯股份有限公司 自动化脚本的编写方法和装置
CN105791347A (zh) * 2014-12-19 2016-07-20 珠海金山办公软件有限公司 一种数据传输方法及装置
US10021181B2 (en) * 2014-12-22 2018-07-10 Dropbox, Inc. System and method for discovering a LAN synchronization candidate for a synchronized content management system
CN104796462A (zh) * 2015-03-27 2015-07-22 惠州Tcl移动通信有限公司 一种安卓设备剪贴板内容同步方法及系统
CN108521443B (zh) * 2015-05-25 2019-09-06 Oppo广东移动通信有限公司 一种应用的升级方法及系统和终端和计算机可读存储介质
US10908774B2 (en) * 2015-12-28 2021-02-02 Successfactors, Inc. Copy-paste history on a mobile device
US10976923B2 (en) 2016-02-11 2021-04-13 Hyperkey, Inc. Enhanced virtual keyboard
US20170364260A1 (en) * 2016-02-11 2017-12-21 Hyperkey, Inc. Enhanced keyboard including multiple application execution
WO2017139619A1 (en) 2016-02-11 2017-08-17 Hyperkey, Inc. Social keyboard
US10171563B2 (en) * 2016-10-31 2019-01-01 Microsoft Technology Licensing, Llc Systems and methods for an intelligent distributed working memory
US10404797B2 (en) * 2017-03-03 2019-09-03 Wyse Technology L.L.C. Supporting multiple clipboard items in a virtual desktop infrastructure environment
KR102051396B1 (ko) 2017-09-08 2019-12-03 충북대학교 산학협력단 다중 디바이스 간 클립보드 동기화 및 문서 공유 시스템 및 방법
CN110209504B (zh) * 2018-04-10 2023-05-12 腾讯科技(深圳)有限公司 数据复制方法、数据粘贴方法、数据处理方法和系统
CN110113407B (zh) * 2019-04-30 2021-08-17 上海连尚网络科技有限公司 小程序状态同步方法、设备和计算机存储介质
US11057464B1 (en) * 2020-06-04 2021-07-06 Citrix Systems, Inc. Synchronization of data between local and remote computing environment buffers
CN112565425B (zh) * 2020-12-03 2021-08-06 南京机敏软件科技有限公司 在多个跨云服务器主机会话的云应用程序间进行拷贝粘贴的方法
KR20220126527A (ko) * 2021-03-09 2022-09-16 삼성전자주식회사 전자 장치 및 그의 클립보드 운영 방법
CN113420002A (zh) * 2021-06-24 2021-09-21 阿波罗智联(北京)科技有限公司 数据同步方法、装置、电子设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002288162A (ja) 2001-03-27 2002-10-04 Just Syst Corp データ管理システム、データ管理装置およびデータ管理方法
JP2005004263A (ja) 2003-06-09 2005-01-06 Sony Corp 情報機器、情報サーバ、情報処理システム、情報処理方法および情報処理プログラム
US20090144368A1 (en) 2007-12-03 2009-06-04 Microsoft Corporation Clipboard for application sharing

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2859559B2 (ja) * 1995-05-26 1999-02-17 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・ネットワーク・システム、コンピュータ・システム、及びクリップボード制御方法
US5781192A (en) * 1996-01-16 1998-07-14 Canon Information Systems, Inc. Data transfer system
US5964834A (en) * 1997-09-24 1999-10-12 International Business Machines Corporation System grouping clipboard memories associating with computers in a network into a shared clipboard memory for sharing data object in the network
US20030182388A1 (en) * 2002-03-20 2003-09-25 Alexander Geoffrey D. Method and system for portable persistent clipboard function
US20040210846A1 (en) * 2003-04-21 2004-10-21 Olsen Gregory P. Transparent network clipboard sharing
US20050004986A1 (en) * 2003-07-03 2005-01-06 Aoki Norihiro Edwin Remote population of computer clipboard via a messaging system
US7478336B2 (en) * 2003-11-06 2009-01-13 International Business Machines Corporation Intermediate viewer for transferring information elements via a transfer buffer to a plurality of sets of destinations
US7509345B2 (en) * 2004-09-29 2009-03-24 Microsoft Corporation Method and system for persisting and managing computer program clippings
US7870493B2 (en) * 2005-10-03 2011-01-11 Microsoft Corporation Distributed clipboard
US20080141136A1 (en) * 2006-12-12 2008-06-12 Microsoft Corporation Clipping Synchronization and Sharing
US7933296B2 (en) * 2007-03-02 2011-04-26 Microsoft Corporation Services for data sharing and synchronization
US9128784B2 (en) * 2007-05-08 2015-09-08 At&T Intellectual Property I, L.P. Data transfer using a network clipboard
US8832319B2 (en) * 2008-11-18 2014-09-09 Amazon Technologies, Inc. Synchronization of digital content
US8825597B1 (en) * 2009-08-13 2014-09-02 Dropbox, Inc. Network folder synchronization
US8555187B2 (en) * 2010-02-16 2013-10-08 Google Inc. Server-based data sharing in computer applications using a clipboard
US8572022B2 (en) * 2010-03-02 2013-10-29 Microsoft Corporation Automatic synchronization conflict resolution
US20120096368A1 (en) * 2010-10-14 2012-04-19 Microsoft Corporation Cloud-based virtual clipboard
US9294546B2 (en) * 2011-06-03 2016-03-22 Apple Inc. Sending files from one device to another device over a network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002288162A (ja) 2001-03-27 2002-10-04 Just Syst Corp データ管理システム、データ管理装置およびデータ管理方法
JP2005004263A (ja) 2003-06-09 2005-01-06 Sony Corp 情報機器、情報サーバ、情報処理システム、情報処理方法および情報処理プログラム
US20090144368A1 (en) 2007-12-03 2009-06-04 Microsoft Corporation Clipboard for application sharing

Also Published As

Publication number Publication date
US20200252455A1 (en) 2020-08-06
US20140025727A1 (en) 2014-01-23
KR20140011164A (ko) 2014-01-28

Similar Documents

Publication Publication Date Title
KR101438102B1 (ko) 클립보드 동기화 서버 및 그를 포함한 클립보드 동기화 시스템
US11601385B2 (en) Conversion of text relating to media content and media extension apps
EP3694147B1 (en) Processing message attachments in shared folder based integrated workspaces
CN110378593B (zh) 关于合规策略更新的应用的通信状态
US20160028796A1 (en) System, method, and computer program for enabling a user to synchronize, manage, and share folders across a plurality of client devices and a synchronization server
US20130283187A1 (en) Sharing files on a computer through use of uris
WO2016168726A1 (en) Systems and methods for notifying users of changes to files in cloud-based file-storage systems
KR102058465B1 (ko) 전자기기 원격제어 시스템 및 이의 운용방법
US20220342518A1 (en) Card-based information management method and system
US20140082512A1 (en) Mobile Device Interface Generator
KR102136474B1 (ko) 가상 세션에서의 클라이언트 측 키보드 레이아웃과 서버 측 키보드 레이아웃의 동기화
EP3242197B1 (en) Desktop sharing method and mobile terminal
CN112306325A (zh) 交互控制方法和装置
CN112764857A (zh) 信息处理方法、装置及电子设备
US20150149586A1 (en) Information processing apparatus, information processing method, and information processing system
CN102663070A (zh) 浏览器应用提供方法及系统
KR20160070254A (ko) 리얼타임 캔버스 제공 시스템, 리얼타임 캔버스 제공방법, 그 프로그램 및 이를 기록한 기록매체
WO2014097380A1 (ja) 情報処理装置、作業環境連携方法、及び作業環境連携プログラム
US20150067056A1 (en) Information processing system, information processing apparatus, and information processing method
US10929351B2 (en) Determining document libraries to sync to a local computing device
US9509772B1 (en) Visualization and control of ongoing ingress actions
KR20160070255A (ko) 리얼타임 캔버스 제공 시스템, 리얼타임 캔버스 제공방법, 그 프로그램 및 이를 기록한 기록매체
JP6100520B2 (ja) 情報処理装置、情報処理方法、プログラム、及び記録媒体
US20190138328A1 (en) System and method for designating multi-object favorites
CN102790730A (zh) 即时通信联系人对象声音属性的实现方法、客户端及系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180828

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190610

Year of fee payment: 6