KR101611790B1 - 인스턴스 메신저 서비스 데이터 관리 방법 및 시스템 - Google Patents
인스턴스 메신저 서비스 데이터 관리 방법 및 시스템 Download PDFInfo
- Publication number
- KR101611790B1 KR101611790B1 KR1020150041840A KR20150041840A KR101611790B1 KR 101611790 B1 KR101611790 B1 KR 101611790B1 KR 1020150041840 A KR1020150041840 A KR 1020150041840A KR 20150041840 A KR20150041840 A KR 20150041840A KR 101611790 B1 KR101611790 B1 KR 101611790B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- server
- members
- instant messenger
- conversation
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/046—Interoperability with other network applications or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G06F17/30091—
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
인스턴스 메신저 서비스 데이터 관리 방법 및 시스템이 개시된다. 본 발명의 일 실시예에 따른 인스턴스 메신저 서비스 데이터 관리 방법은 인스턴스 메신저 서버에서의 데이터 관리 방법에 있어서, 복수의 대화 구성원들에 대한 채팅방을 생성하는 단계; 상기 복수의 대화 구성원들 중 한 구성원에 의해 업로드된 데이터를 수신하여 저장하는 단계; 미리 결정된 일정 기간 내에 나머지 대화 구성원 모두에 의한 상기 데이터의 다운로드 여부를 판단하는 단계; 및 상기 일정 기간 내에 상기 나머지 대화 구성원 모두에 의해 상기 데이터가 다운로드되면 상기 데이터를 미리 결정된 특정 서버로 이동시켜 저장하는 단계를 포함한다.
Description
본 발명은 인스턴스 메신저 서비스에서의 데이터 관리 기술에 관한 것으로서, 인스턴스 메신저 서버의 성능 저하를 최소화하고 자원 사용 효율성을 향상시킬 수 있는 인스턴스 메신저 서비스 데이터 관리 방법 및 시스템에 관한 것이다.
인스턴스 메신저 서비스(instance messenger service) 예를 들어, 카카오톡, 라인 등을 제공하기 위하여 다수의 서버가 운영된다. 서버는 각 사용자가 전송한 대화, 사진, 동영상, 음성 파일 등의 데이터를 다른 사용자에게 전송하는 역할을 한다. 스마트 기기의 보편화와 네트워크 기술의 발전으로 인스턴스 메신저 서비스는 계속 증가할 것이며, 그 사용자 및 사용률 또한 무한히 증가할 전망이다.
인스턴스 메신저 서비스의 서버가 전달하는 데이터는 인스턴스 메신저 서비스의 특성 상 매우 개인적 정보일 가능성이 높다. 대한민국 공개특허공보 제2011-0023519호를 살펴보면, 인스턴스 메신저 서비스 제공사는 사용자 간에 전송하는 대화, 사진, 동영상, 음성 등을 항시 저장하고 있는 것이 아니고, 일정 기간 예를 들어, 1~2주 동안만 보유하며, 시간이 지난 데이터는 영구 삭제하고 있다. 더구나 전송할 대화, 사진, 동영상, 음성 등의 데이터는 암호화되는 경우가 있으며, 허락된 사용자가 아닐 경우 해당 데이터에 접근할 수 없도록 보안 설정되어 있다. 여기서, 허락된 사용자란 채팅창에 초대되어 있는 대화 상대이다. 즉, 인스턴스 메신저 서비스에서의 데이터는 채팅창에 초대된 대화 상대를 제외하고는 다른 누구에게 제공되지 않고 있다.
인스턴스 메신저 서비스는 다른 종류의 서비스에 비해 초당 서비스 요청율이 매우 높지만, 요청 데이터의 크기가 작으므로 큰 문제를 겪지 않았으며, 운영 서버 역시 적절한 효율을 가지고 있었다.
그러나, 스마트 기기의 보편화로 인하여, 요청 데이터의 크기가 기하급수적으로 커졌고, 요청율 또한 더욱 높아졌기 때문에 인스턴스 메신저 서비스 제공사는 이를 감당하기 위해 고사양의 서버를 계속 증축하고 있는 실정이다. 서버가 증축되면 유지보수 비용 뿐만 아니라 소비 전력이 매우 많아지기 때문에 서버에서 데이터를 효율적으로 관리하는 것이 매우 중요하다.
따라서, 인스턴스 메신저 서버에서 성능 저하를 최소화하고 효율성을 향상시킬 수 있는 데이터 관리 방법의 필요성이 대두된다.
본 발명의 실시예들은, 인스턴스 메신저 서비스의 특성을 이용하여 인스턴스 메신저 서버의 성능 저하를 최소화하고 자원 사용 효율성을 향상시킬 수 있는 인스턴스 메신저 서비스 데이터 관리 방법 및 시스템을 제공한다.
본 발명의 일 실시예에 따른 인스턴스 메신저 서비스 데이터 관리 방법은 인스턴스 메신저 서버에서의 데이터 관리 방법에 있어서, 복수의 대화 구성원들에 대한 채팅방을 생성하는 단계; 상기 복수의 대화 구성원들 중 한 구성원에 의해 업로드된 데이터를 수신하여 저장하는 단계; 미리 결정된 일정 기간 내에 나머지 대화 구성원 모두에 의한 상기 데이터의 다운로드 여부를 판단하는 단계; 및 상기 일정 기간 내에 상기 나머지 대화 구성원 모두에 의해 상기 데이터가 다운로드되면 상기 데이터를 미리 결정된 특정 서버로 이동시켜 저장하는 단계를 포함한다.
나아가, 본 발명에 따른 방법은 상기 일정 기간 동안 상기 나머지 대화 구성원 모두에 의해 상기 데이터가 다운로드되지 않으면 상기 데이터를 상기 특정 서버로 이동시켜 저장하는 단계를 더 포함할 수 있다.
더 나아가, 본 발명에 따른 방법은 상기 데이터가 상기 특정 서버에 저장된 상태에서 대화 구성원에 의한 상기 데이터의 다운로드 요청 시 상기 특정 서버에 저장된 상기 데이터의 다운 링크 정보를 해당 대화 구성원에게 제공하는 단계를 더 포함할 수 있다.
더 나아가, 본 발명에 따른 방법은 상기 데이터가 상기 특정 서버에 저장된 상태에서 대화 구성원에 의한 상기 데이터의 다운로드 요청 시 상기 특정 서버로부터 상기 데이터를 수신하여 해당 대화 구성원에게 제공하는 단계를 더 포함할 수 있다.
상기 데이터의 다운로드 여부를 판단하는 단계는 상기 데이터의 업로드 시점에서부터 상기 일정 기간 동안 상기 나머지 대화 구성원 모두에 의한 상기 데이터의 다운로드 여부를 판단할 수 있다.
상기 특정 서버로 이동시켜 저장하는 단계는 상기 나머지 대화 구성원 모두에 의해 상기 데이터가 다운로드된 시점에 상기 데이터를 상기 특정 서버로 이동시켜 저장할 수 있다.
상기 데이터는 일정 용량 이상의 크기를 가지는 데이터일 수 있다.
본 발명의 일 실시예에 따른 인스턴스 메신저 서비스 데이터 관리 시스템은 복수의 대화 구성원들에 대한 채팅방을 생성하는 생성부; 상기 복수의 대화 구성원들 중 한 구성원에 의해 업로드된 데이터를 수신하여 저장하는 저장부; 미리 결정된 일정 기간 내에 나머지 대화 구성원 모두에 의한 상기 데이터의 다운로드 여부를 판단하는 판단부; 및 상기 일정 기간 내에 상기 나머지 대화 구성원 모두에 의해 상기 데이터가 다운로드되면 상기 데이터에 대해 미리 결정된 특정 서버로의 이동 저장을 결정하는 결정부를 포함한다.
상기 결정부는 상기 일정 기간 동안 상기 나머지 대화 구성원 모두에 의해 상기 데이터가 다운로드되지 않으면 상기 데이터에 대해 상기 특정 서버로의 이동 저장을 결정할 수 있다.
나아가, 본 발명에 따른 시스템은 상기 데이터가 상기 특정 서버에 저장된 상태에서 대화 구성원에 의한 상기 데이터의 다운로드 요청 시 상기 특정 서버에 저장된 상기 데이터의 다운 링크 정보를 해당 대화 구성원에게 제공하는 제공부를 더 포함할 수 있다.
더 나아가, 본 발명에 따른 시스템은 상기 데이터가 상기 특정 서버에 저장된 상태에서 대화 구성원에 의한 상기 데이터의 다운로드 요청 시 상기 특정 서버로부터 상기 데이터를 수신하여 해당 대화 구성원에게 제공하는 제공부를 더 포함할 수 있다.
상기 판단부는 상기 데이터의 업로드 시점에서부터 상기 일정 기간 동안 상기 나머지 대화 구성원 모두에 의한 상기 데이터의 다운로드 여부를 판단할 수 있다.
상기 결정부는 상기 나머지 대화 구성원 모두에 의해 상기 데이터가 다운로드된 시점에 상기 데이터에 대해 상기 특정 서버로의 이동 저장을 결정할 수 있다.
상기 데이터는 일정 용량 이상의 크기를 가지는 데이터일 수 있다.
본 발명의 실시예들은, 인스턴스 메신저 서비스의 특성을 이용하여 인스턴스 메신저 서버의 성능 저하를 최소화하고 자원 사용 효율성을 향상시킬 수 있다.
본 발명의 실시예들은 자주 요청 받는 데이터를 성능이 더 좋은 서버에 두고, 거의 요청 받지 않는 데이터를 효율이 더 좋은 서버에 저장함으로써, 성능 저하를 최소화하면서 유지비용, 운영비 등을 절감할 수 있다.
본 발명의 실시예들은, 채팅방을 구성하는 대화 구성원들의 수와 다운로드 수를 고려하여 데이터의 저장 위치를 결정함으로써, 성능 저하를 최소화하고 자원 사용 효율성을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 인스턴스 메신저 서비스 데이터 관리 시스템에 대한 구성을 나타낸 것이다.
도 2는 도 1에 도시된 제1 서버에 대한 일 실시예 구성을 나타낸 것이다.
도 3은 본 발명에 대한 동작을 설명하기 위한 일 예시도를 나타낸 것이다.
도 4는 본 발명의 일 실시예에 따른 인스턴스 메신저 서비스 데이터 관리 방법에 대한 동작 흐름도를 나타낸 것이다.
도 5는 본 발명에 따른 방법의 일 실시예 추가 동작 흐름도를 나타낸 것이다.
도 6은 본 발명에 따른 방법의 다른 일 실시예 추가 동작 흐름도를 나타낸 것이다.
도 2는 도 1에 도시된 제1 서버에 대한 일 실시예 구성을 나타낸 것이다.
도 3은 본 발명에 대한 동작을 설명하기 위한 일 예시도를 나타낸 것이다.
도 4는 본 발명의 일 실시예에 따른 인스턴스 메신저 서비스 데이터 관리 방법에 대한 동작 흐름도를 나타낸 것이다.
도 5는 본 발명에 따른 방법의 일 실시예 추가 동작 흐름도를 나타낸 것이다.
도 6은 본 발명에 따른 방법의 다른 일 실시예 추가 동작 흐름도를 나타낸 것이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
인스턴스 메신저 서비스를 제공하는 서버는 말하는 사람의 대화, 사진, 동영상, 음성 등을 같은 채팅방 안에 있는 대화 상대 또는 대화 구성원에게 전달하는 역할을 한다. 이 때, 대화 구성원의 수가 정해져 있으므로, 서버는 정해진 수를 전송한 이후에는 다시 데이터를 전송할 경우는 거의 없다.
물론, 사용자 입장에서는 예전에 다운로드하거나 전송한 사진을 다시 조회하는 경우가 있지만, 이 경우에는 서버로 요청하지 않고 해당 기기 내 캐시 공간에서 데이터를 가져오기 때문에 서버와는 상관이 없다. 즉, 서버는 대화 구성원 수만큼 데이터를 전송한 이후에는 사내 정책 및 네트워크 오류로 인한 재전송 요청 등 특이 상황을 위해서만 데이터를 저장하고 있다. 이러한 데이터는 굳이 고성능 서버에 저장할 필요 없이, 백업 디스크로 이주하여도 서비스 품질(QoS)에 지장이 없다.
본 발명의 실시예들은, 인스턴스 메신저 서비스를 제공하는 서버에서 데이터가 생성된 시간(대화 구성원이 데이터를 업로드하여 서버에서 수신한 시간, 요청율(또는 접근율), 대화 구성원 수, 다운로드 수 등을 고려하여 데이터를 관리함으로써, 서버의 성능 저하를 최소화하고 자원 사용 효율성을 향상시킬 수 있으며, 인스턴스 메신저 서비스의 고성능 설비 투자금 절감, 유지보수 비용 절감, 소비 전력 절감하는 것을 그 요지로 한다.
도 1은 본 발명의 일 실시예에 따른 인스턴스 메신저 서비스 데이터 관리 시스템에 대한 구성을 나타낸 것이다.
도 1을 참조하면, 본 발명에 따른 시스템(100)은 제1 서버(110)와 제2 서버(120)를 포함한다.
제1 서버(110)는 인스턴스 메신저 서비스를 제공하는 주요 서버로서, 요청율이 높은 데이터를 저장하는 고성능 서버일 수 있다.
여기서, 제1 서버(110)는 인스턴스 메신저 서비스 예를 들어, 카카오톡, 라인 등을 제공하는 주요 서버로서, 사용자들 예를 들어, 사용자 A, 사용자 B, 사용자 C를 대화 구성원으로 하는 채팅방을 생성하고, 채팅방의 대화 구성원에 의해 전송된 또는 업로드된 데이터 예를 들어, 음성, 파일, 동영상, 사진 등을 수신하여 저장하며, 다른 대화 구성원에 의한 요청 시 구성원에 의해 전송된 데이터를 다른 구성원에게 제공할 수 있다.
제1 서버(110)는 복수의 대화 구성원들에 대한 채팅방을 생성하고, 채팅방의 대화 구성원들 중 한 구성원 예를 들어, 사용자 A에 의해 데이터가 전송 또는 업로드되면 업로드된 데이터를 수신하여 저장하며, 저장된 데이터가 미리 결정된 일정 기간 예를 들어, 1~2주 내에 나머지 대화 구성원 모두 예를 들어, 사용자 B, 사용자 C에 의해 다운로드되거나 구성원에 의한 다운로드 여부와 무관하게 데이터 저장 기간이 일정 기간을 경과하면 데이터를 제2 서버로 이동 저장시키고 저장된 데이터를 삭제한다.
즉, 제1 서버(110)는 데이터가 생성된 시점에서 일정 기간을 경과하지 않은 상태에서 대화 구성원들에 의해 모두 다운로드된 경우라면 오래된 데이터(cold data)로 판단하여 해당 데이터를 백업 서버인 제2 서버(120)로 이동시켜 저장하고, 제1 서버(110)에 저장된 데이터를 삭제함으로써, 제1 서버(110)의 성능 저하를 최소화하고 자원 사용 효율성을 향상시킬 수 있다.
물론, 제1 서버(110)는 서버가 전송해야 하는 데이터가 생성 시점에서부터 일정 기간을 경과하거나 요청율이 일정 크기 이상이면 이 또한 오래된 데이터로 판단하여 해당 데이터를 제2 서버(120)로 이동시켜 저장하고 해당 데이터를 제1 서버(110)에서 삭제할 수 있다.
제2 서버(1210)는 제1 서버(110)에 의해 이동 결정된 데이터 예를 들어, 오래된 데이터를 저장하는 백업 서버로서, 제1 서버(110)에 비해 성능은 떨어지지만 제1 서버(110)에 비해 효율이 좋은 서버이다.
제2 서버(120)는 제1 서버(110)에 의한 요청 시 저장된 데이터를 제1 서버(110)로 제공할 수도 있고, 저장된 데이터에 대한 다운 링크 정보를 제1 서버(110)로 제공하거나 해당 데이터를 요청한 사용자 기기로 전송할 수도 있다.
상술한 바와 같이, 제1 서버(110)는 서버가 전송해야 할 데이터의 나이(데이터 생성 시점에서부터 경과한 시간 또는 기간)가 일정 기간을 지나거나 요청율이 일정 크기를 지나면 오래된 데이터(cold data)로 판단하여 백업 디스크인 제2 서버(12)로 옮기는 것 뿐만 아니라 대화 구성원의 수만큼 전송할 경우 나이 및 요청율에 상관없이 오래된 데이터로 판단하여 제2 서버(120)로 이동시켜 저장한다. 따라서, 제1 서버(110)의 성능 저하를 최소화하면서 효율성을 향상시킬 수 있다.
도 1은 인스턴스 메신저 서비스 시스템이 두 개의 서버로 구성된 경우를 예로 설명하였지만, 이에 한정하지 않으면 복수의 서버들로 구성된 경우를 포함할 수 있다. 즉, 도 1은 두 개의 서버만을 사용하는 2계층만을 도시하였지만, 2 개 이상의 계층을 가질 수 있으며, 각 계층에 데이터를 분산 저장하는 기준이 정책일 수 있다.
예를 들어, 인스턴스 메신저 서비스를 제공하는 주요 서버인 제1 서버와, 전송 데이터의 종류에 따른 복수의 백업 서버들을 구성할 수도 있다. 즉, 고성능 서버, 동영상 데이터 백업 서버, 음성 데이터 백업 서버, 사진 데이터 백업 서버 등 데이터 종류에 따른 백업 서버를 포함하도록 인스턴스 메신저 서비스 시스템을 구성할 수도 있다. 이러한 본 발명의 실시예에 따른 시스템은 분산 파일 시스템에 적용할 수도 있다. 분산 파일 시스템은 저장할 파일 또는 데이터를 분할 및 복제하여 다수의 스토리지 서버에 저장하는 것으로, 어느 스토리지 서버에 어느 데이터를 저장할지는 사전에 설정된 정책을 따른다. 이러한 정책은 분산 파일 시스템 종류에 따라 매우 다르며, 정책에 따라 서버의 성능 및 효율이 달라질 수 있다.
인스턴스 메신저 서비스는 다른 서비스와 매우 다른 특성이 있기 때문에 일반적 정책을 사용하기 보다는 별도의 정책을 사용하는 것이 유리하며, 따라서 대화 구성원 수를 고려함으로써, 서버의 성능 저하를 최소화하고 효율성을 향상시킬 수 있다.
도 2는 도 1에 도시된 제1 서버에 대한 일 실시예 구성을 나타낸 것이다.
도 2를 참조하면, 제1 서버(110)는 생성부(210), 저장부(220), 판단부(230), 결정부(240) 및 제공부(250)를 포함한다.
생성부(210)는 인스턴스 메신저 서비스에 대한 채팅방을 생성한다.
여기서, 채팅방은 인스턴스 메신저 서비스를 사용하는 사용자들의 요청에 의해 생성될 수 있으며, 채팅방을 구성하는 대화 구성원들은 적어도 두 명 이상일 수 있다. 물론, 채팅방을 구성하는 복수의 대화 구성원들이 채팅방을 나가는 경우 한 명으로 채팅방이 구성될 수도 있다.
저장부(220)는 채팅방을 구성하는 복수의 대화 구성원들 중 한 구성원에 의해 업로드된 또는 전송된 데이터를 수신하여 저장하며, 업로드되는 데이터는 음성, 동영상, 사진 등과 같은 일정 용량 이상의 크기를 가지는 데이터일 수 있다.
이 때, 저장부(220)는 인스턴스 메신저 서비스를 제공하기 위한 다양한 소프트웨어, 데이터 등을 저장할 수 있으며, 본 발명을 수행하기 위한 데이터를 저장할 수 있다.
판단부(230)는 업로드된 데이터에 대해 미리 결정된 일정 기간 내에 나머지 대화 구성원 모두에 의해 다운로드 되었는지 그 여부를 판단하여 오래된 데이터인지 아닌지 판단한다.
예컨대, 판단부(230)는 데이터 다운로드를 위한 요청율(또는 접근율)과 대화 구성원들을 수를 이용하여 데이터의 업로드 시점에서부터 일정 기간 동안 다운로드 수가 나머지 대화 구성원 수와 같으면 나머지 대화 구성원들 모두가 업로드된 데이터 예를 들어, 사진을 다운로드 한 것으로 판단할 수 있다.
즉, 판단부(230)는 업로드된 데이터의 저장 시점에서부터 일정 기간 동안 나머지 대화 구성원 모두에 의한 데이터의 다운로드 여부를 판단하여 나머지 대화 구성원 모두에 의해 데이터가 다운로드되면 해당 데이터를 오래된 데이터로 판단할 수 있다.
결정부(240)는 판단부(230)에 의한 판단 결과 일정 기간 내에 나머지 대화 구성원 모두에 의해 데이터가 다운로드되면 업로드된 데이터에 대해 미리 결정된 특정 서버 즉, 제2 서버로의 이동 저장을 결정한다.
이 때, 결정부(240)는 나머지 대화 구성원 모두에 의해 해당 데이터가 다운로드된 시점에 해당 데이터를 제2 서버로 이동시켜 저장한 후 해당 데이터를 삭제할 수 있다.
결정부(240)는 구성원에 의해 전송된 데이터가 일정 기간 동안 나머지 대화 구성원들에 의해 다운로드 되지 않은 경우 해당 데이터를 오래된 데이터로 결정함으로써, 해당 데이터를 제2 서버로 이동시켜 저장하고 해당 데이터를 삭제한다.
제공부(250)는 나머지 대화 구성원들에 모두에 의해 해당 데이터가 다운로드 되지 않고 해당 데이터가 제2 서버에 이동 저장된 상태에서 대화 구성원에 의해 해당 데이터를 요청 받는 경우 제2 서버에 저장된 해당 데이터를 다운로드할 수 있도록, 해당 데이터의 다운 링크 정보를 해당 대화 구성원에게 제공한다. 즉, 해당 구성원은 다운 링크 정보를 이용하여 제2 서버로부터 해당 데이터를 직접 다운로드할 수 있다.
나아가, 제공부(250)는 제2 서버에 저장된 해당 데이터를 수신하여 해당 대화 구성원에게 제공할 수도 있다. 예컨대, 제공부(250)는 나머지 대화 구성원들에 모두에 의해 해당 데이터가 다운로드 되지 않고 해당 데이터가 제2 서버에 이동 저장된 상태에서 대화 구성원에 의해 해당 데이터를 요청 받는 경우 제2 서버로 해당 데이터를 요청하여 제2 서버로부터 수신하고, 수신된 해당 데이터를 해당 대화 구성원에게 제공한다. 물론, 해당 데이터가 대화 구성원에게 제공되면 해당 데이터는 제1 서버에서 삭제될 수 있다.
이와 같은 구성을 포함하는 제1 서버에서의 데이터 관리를 도 3을 참조하여 설명하면 다음과 같다.
도 3에 도시된 바와 같이, 채팅방의 대화 구성원들 중 한 구성원에 의해 음성, 사진, 동영상 등과 같은 일정 용량 이상의 크기를 가지는 데이터가 전송 또는 업로드되면, 데이터 업로드 시점(t1)부터 일정 기간(T) 동안 나머지 구성원들에 의해 업로드된 데이터가 다운로드 되었는지 판단한다.
모든 나머지 구성원들에 의해 t2 시점에서 업로드된 데이터가 다운로드되면, 제1 서버는 업로드된 데이터를 모든 구성원들이 다운로드하였기 때문에 해당 데이터를 오래된 데이터로 판단하고, 해당 시점(t2)에서 해당 데이터를 제2 서버로 이동시켜 저장하며 제1 서버에서 해당 데이터를 삭제한다.
반면, 제1 서버는 업로드된 데이터가 모든 구성원들에 의해 다운로드되지 않은 상태로 일정 기간(T)이 경과되면 t3 시점에 해당 데이터를 오래된 데이터로 판단하여 해당 데이터를 제2 서버로 이동시켜 저장하며 제1 서버에서 해당 데이터를 삭제한다. 일정 기간이 경과되어 제2 서버로 이동 저장된 데이터는 해당 시점 이후에 대화 구성원의 요청에 의해 해당 대화 구성원으로 제공될 수 있다.
이와 같이, 본 발명에 따른 시스템은 고성능 서버인 제1 서버에서 대화 구성원들 수를 고려하여 데이터를 관리함으로써, 제1 서버의 성능 저하를 최소화하고 제2 서버를 이용하여 효율성을 향상시킬 수 있다. 그리고, 이러한 데이터 관리를 통해 서버 유지비용, 운영비 등을 절감할 수도 있다.
상술한 바와 같이, 본 발명의 실시예에 따른 시스템은 고성능 서버인 제1 서버에 파일을 배치했다가, 파일을 전송하면서 그 횟수를 기록하고 나머지 대화 구성원 수 이상이면, 파일의 나이 및 요청율에 상관없이 백업 서버인 제2 서버로 이동시켜 저장하는 정책을 사용한다. 이는 불필요한 파일을 보다 빠르게 효율이 좋은 서버로 이주시킴으로써, 성능 저하 없이 높은 효율을 얻을 수 있다.
도 4는 본 발명의 일 실시예에 따른 인스턴스 메신저 서비스 데이터 관리 방법에 대한 동작 흐름도를 나타낸 것으로 도 1과 도 2에 도시된 제1 서버(110)에서의 동작 흐름도를 나타낸 것이다.
도 4를 참조하면, 본 발명의 실시예에 따른 방법은 사용자 요청에 의하여 복수의 대화 구성원들에 대한 채팅방을 생성한다(S410).
채팅방의 대화 구성원들 중 한 구성원에 의해 데이터가 업로드 또는 전송되면 업로드된 데이터를 수신하여 저장하고, 해당 데이터에 대해 일정 기간이 경과하였는지 판단하여 해당 데이터가 오래된 데이터인지 판단한다(S420, S430).
여기서, 오래된 데이터 여부를 판단하는 대상 데이터는 일정 용량 이상의 크기를 가지는 데이터로, 음성, 사진, 동영상 등과 같은 데이터일 수 있다.
이 때, 단계 S430 판단 결과, 해당 데이터가 해당 데이터가 업로드된 시점 또는 해당 데이터가 저장된 시점에서부터 일정 기간 경과한 것으로 판단되면 해당 데이터를 오래된 데이터로 판단하고, 해당 데이터를 미리 결정된 특정 서버 예를 들어, 도 1의 제2 서버(120)로 이동시켜 저장한 후 제1 서버에 저장된 해당 데이터를 삭제한다(S450, S460).
단계 S430에 의해 해당 데이터가 일정 기간을 경과하지 않은 경우에는 해당 데이터에 대해 채팅방의 모든 구성원 즉, 데이터를 업로드 또는 전송한 구성원 이외의 나머지 대화 구성원들에 의해 해당 데이터가 다운로드 되었는지 판단한다(S440).
즉, S440은 해당 데이터가 일정 기간을 경과하지 않은 상태에서 모든 대화 구성원들의 다운로드 여부를 통해 오래된 데이터인지 아닌지를 판단하기 위한 단계이다.
단계 S440 판단 결과, 해당 데이터가 모든 구성원에 의해 다운로드 되지 않은 상태라면 단계 S430으로 피드백하여 해당 데이터가 일정 기간을 경과하였는지를 다시 판단하면, 단계 S440 판단 결과 해당 데이터가 모든 구성원에 의해 다운로드된 상태라면 해당 데이터를 오래된 데이터로 판단함으로써, 해당 시점에서 해당 데이터를 미리 결정된 특정 서버 예를 들어, 도 1의 제2 서버(120)로 이동시켜 저장한 후 제1 서버에 저장된 해당 데이터를 삭제한다(S450, S460).
도 5는 본 발명에 따른 방법의 일 실시예 추가 동작 흐름도를 나타낸 것으로, 도 2에 도시된 제공부(250)에 대한 일 실시예의 동작 흐름도를 나타낸 것이다.\
도 5에 도시된 바와 같이, 본 발명에 따른 방법은 채팅방의 나머지 대화 구성원들에 모두에 의해 해당 데이터가 다운로드 되지 않고 해당 데이터가 제2 서버에 이동 저장된 상태에서 대화 구성원에 의해 해당 데이터의 다운로드 요청이 수신되면 제2 서버에 저장된 해당 데이터를 다운로드할 수 있도록, 해당 데이터의 다운 링크 정보를 해당 대화 구성원에게 제공한다(S510, S520).
상술한 바와 같이, 도 5는 해당 데이터의 다운 링크 정보를 이용하여 제2 서버로부터 해당 데이터를 직접 다운로드하는 과정이다.
도 6은 본 발명에 따른 방법의 다른 일 실시예 추가 동작 흐름도를 나타낸 것으로, 도 2에 도시된 제공부(250)에 대한 다른 일 실시예의 동작 흐름도를 나타낸 것이다.
도 6에 도시된 바와 같이, 본 발명에 따른 방법은 채팅방의 나머지 대화 구성원들에 모두에 의해 해당 데이터가 다운로드 되지 않고 해당 데이터가 제2 서버에 이동 저장된 상태에서 대화 구성원에 의해 해당 데이터의 다운로드 요청이 수신되면 제2 서버에 저장된 해당 데이터를 다운로드할 수 있도록, 해당 데이터를 제2 서버로 요청하여 수신하고 수신된 해당 데이터를 해당 대화 구성원에게 제공한다(S610, S620).
이 때, 단계 S620에 의해 해당 데이터가 대화 구성원에게 제공되면 해당 데이터는 제1 서버에서 삭제될 수 있다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템, 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예들에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (14)
- 인스턴스 메신저 서버에서의 데이터 관리 방법에 있어서,
복수의 대화 구성원들에 대한 채팅방을 생성하는 단계;
상기 복수의 대화 구성원들 중 한 구성원에 의해 업로드된 데이터를 수신하여 저장하는 단계;
미리 결정된 일정 기간 내에 나머지 대화 구성원 모두에 의한 상기 데이터의 다운로드 여부를 판단하는 단계; 및
상기 일정 기간 내에 상기 나머지 대화 구성원 모두에 의해 상기 데이터가 다운로드되면 상기 데이터를 미리 결정된 특정 서버로 이동시켜 저장하는 단계
를 포함하는 인스턴스 메신저 서비스 데이터 관리 방법.
- 제1항에 있어서,
상기 일정 기간 동안 상기 나머지 대화 구성원 모두에 의해 상기 데이터가 다운로드되지 않으면 상기 데이터를 상기 특정 서버로 이동시켜 저장하는 단계
를 더 포함하는 인스턴스 메신저 서비스 데이터 관리 방법.
- 제2항에 있어서,
상기 데이터가 상기 특정 서버에 저장된 상태에서 대화 구성원에 의한 상기 데이터의 다운로드 요청 시 상기 특정 서버에 저장된 상기 데이터의 다운 링크 정보를 해당 대화 구성원에게 제공하는 단계
를 더 포함하는 인스턴스 메신저 서비스 데이터 관리 방법.
- 제2항에 있어서,
상기 데이터가 상기 특정 서버에 저장된 상태에서 대화 구성원에 의한 상기 데이터의 다운로드 요청 시 상기 특정 서버로부터 상기 데이터를 수신하여 해당 대화 구성원에게 제공하는 단계
를 더 포함하는 인스턴스 메신저 서비스 데이터 관리 방법.
- 제1항에 있어서,
상기 데이터의 다운로드 여부를 판단하는 단계는
상기 데이터의 업로드 시점에서부터 상기 일정 기간 동안 상기 나머지 대화 구성원 모두에 의한 상기 데이터의 다운로드 여부를 판단하는 인스턴스 메신저 서비스 데이터 관리 방법.
- 제1항에 있어서,
상기 특정 서버로 이동시켜 저장하는 단계는
상기 나머지 대화 구성원 모두에 의해 상기 데이터가 다운로드된 시점에 상기 데이터를 상기 특정 서버로 이동시켜 저장하는 인스턴스 메신저 서비스 데이터 관리 방법.
- 제1항에 있어서,
상기 데이터는
일정 용량 이상의 크기를 가지는 데이터인 인스턴스 메신저 서비스 데이터 관리 방법.
- 복수의 대화 구성원들에 대한 채팅방을 생성하는 생성부;
상기 복수의 대화 구성원들 중 한 구성원에 의해 업로드된 데이터를 수신하여 저장하는 저장부;
미리 결정된 일정 기간 내에 나머지 대화 구성원 모두에 의한 상기 데이터의 다운로드 여부를 판단하는 판단부; 및
상기 일정 기간 내에 상기 나머지 대화 구성원 모두에 의해 상기 데이터가 다운로드되면 상기 데이터에 대해 미리 결정된 특정 서버로의 이동 저장을 결정하는 결정부
를 포함하는 인스턴스 메신저 서비스 데이터 관리 시스템.
- 제8항에 있어서,
상기 결정부는
상기 일정 기간 동안 상기 나머지 대화 구성원 모두에 의해 상기 데이터가 다운로드되지 않으면 상기 데이터에 대해 상기 특정 서버로의 이동 저장을 결정하는 인스턴스 메신저 서비스 데이터 관리 시스템.
- 제9항에 있어서,
상기 데이터가 상기 특정 서버에 저장된 상태에서 대화 구성원에 의한 상기 데이터의 다운로드 요청 시 상기 특정 서버에 저장된 상기 데이터의 다운 링크 정보를 해당 대화 구성원에게 제공하는 제공부
를 더 포함하는 인스턴스 메신저 서비스 데이터 관리 시스템.
- 제9항에 있어서,
상기 데이터가 상기 특정 서버에 저장된 상태에서 대화 구성원에 의한 상기 데이터의 다운로드 요청 시 상기 특정 서버로부터 상기 데이터를 수신하여 해당 대화 구성원에게 제공하는 제공부
를 더 포함하는 인스턴스 메신저 서비스 데이터 관리 시스템.
- 제8항에 있어서,
상기 판단부는
상기 데이터의 업로드 시점에서부터 상기 일정 기간 동안 상기 나머지 대화 구성원 모두에 의한 상기 데이터의 다운로드 여부를 판단하는 인스턴스 메신저 서비스 데이터 관리 시스템.
- 제8항에 있어서,
상기 결정부는
상기 나머지 대화 구성원 모두에 의해 상기 데이터가 다운로드된 시점에 상기 데이터에 대해 상기 특정 서버로의 이동 저장을 결정하는 인스턴스 메신저 서비스 데이터 관리 시스템.
- 제8항에 있어서,
상기 데이터는
일정 용량 이상의 크기를 가지는 데이터인 인스턴스 메신저 서비스 데이터 관리 시스템.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150041840A KR101611790B1 (ko) | 2015-03-25 | 2015-03-25 | 인스턴스 메신저 서비스 데이터 관리 방법 및 시스템 |
PCT/KR2015/007383 WO2016153119A1 (ko) | 2015-03-25 | 2015-07-16 | 폐쇄형 데이터 공유 서비스 데이터 관리 방법 및 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150041840A KR101611790B1 (ko) | 2015-03-25 | 2015-03-25 | 인스턴스 메신저 서비스 데이터 관리 방법 및 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101611790B1 true KR101611790B1 (ko) | 2016-04-14 |
Family
ID=55801484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150041840A KR101611790B1 (ko) | 2015-03-25 | 2015-03-25 | 인스턴스 메신저 서비스 데이터 관리 방법 및 시스템 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101611790B1 (ko) |
WO (1) | WO2016153119A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190095676A (ko) | 2018-02-07 | 2019-08-16 | 주식회사 트위니 | 메신저 어플리케이션 실행 장치 및 방법 |
KR20190095707A (ko) | 2018-02-07 | 2019-08-16 | 주식회사 트위니 | 인스턴트 메신저를 이용한 고객센터 운영 장치 및 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110086647A1 (en) | 2009-10-14 | 2011-04-14 | Research In Motion Limited | System and method for managing messages in conversational-type messaging applications |
US20130198304A1 (en) | 2012-02-01 | 2013-08-01 | Nhn Corporation | Group messaging system and method for providing file sharing through bidirectional interlock with a cloud server |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030236823A1 (en) * | 2002-06-19 | 2003-12-25 | Robert Patzer | Information sharing groups, server and client group applications, and methods therefor |
US8238947B2 (en) * | 2004-05-27 | 2012-08-07 | France Telecom | Method and installation for transmitting a message with predetermined duration of validity addressed to a subscriber terminal |
CN102685018B (zh) * | 2011-03-07 | 2016-06-01 | 腾讯科技(深圳)有限公司 | 一种网络即时通信信息处理的方法、***及即时通信设备 |
-
2015
- 2015-03-25 KR KR1020150041840A patent/KR101611790B1/ko active IP Right Grant
- 2015-07-16 WO PCT/KR2015/007383 patent/WO2016153119A1/ko active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110086647A1 (en) | 2009-10-14 | 2011-04-14 | Research In Motion Limited | System and method for managing messages in conversational-type messaging applications |
US20130198304A1 (en) | 2012-02-01 | 2013-08-01 | Nhn Corporation | Group messaging system and method for providing file sharing through bidirectional interlock with a cloud server |
Non-Patent Citations (1)
Title |
---|
Lee, Jaemyoun, Kyungtae Kang, and Chang Song. "Analyzing I/O patterns for the design of energy-efficient image servers." IEEE 2014 Performance Computing and Communications Conference (IPCCC) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190095676A (ko) | 2018-02-07 | 2019-08-16 | 주식회사 트위니 | 메신저 어플리케이션 실행 장치 및 방법 |
KR20190095707A (ko) | 2018-02-07 | 2019-08-16 | 주식회사 트위니 | 인스턴트 메신저를 이용한 고객센터 운영 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2016153119A1 (ko) | 2016-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9065835B2 (en) | Redirecting web content | |
US9992786B2 (en) | Facilitation of multipath scheduling | |
US8775648B1 (en) | Control systems and methods for cloud resource management | |
KR102308269B1 (ko) | 프록시 기반 네트워크 통신들에서의 제어 데이터의 전송 | |
US10116989B1 (en) | Buffer reduction using frame dropping | |
US9727579B2 (en) | Systems and methods for storing digital content | |
US20150065085A1 (en) | Data sharing with mobile devices | |
US20140095646A1 (en) | Data caching among interconnected devices | |
EP3777101B1 (en) | Group enhanced content delivery | |
US9912682B2 (en) | Aggregation of network traffic source behavior data across network-based endpoints | |
US20140095729A1 (en) | Client-side class-of-service-based bandwidth management in over-the-top video delivery | |
EP3417367B1 (en) | Implementing a storage system using a personal user device and a data distribution device | |
US10015224B1 (en) | Buffer reduction using frame dropping | |
Al-Abbasi et al. | Fasttrack: Minimizing stalls for cdn-based over-the-top video streaming systems | |
CN113517985B (zh) | 文件数据处理方法、装置、电子设备及计算机可读介质 | |
US20220400297A1 (en) | Method and apparatus for multicast control of a live video stream | |
US9998377B2 (en) | Adaptive setting of the quantized congestion notification equilibrium setpoint in converged enhanced ethernet networks | |
US11689636B2 (en) | Delegating network data exchange | |
KR101611790B1 (ko) | 인스턴스 메신저 서비스 데이터 관리 방법 및 시스템 | |
JP2020043568A (ja) | 適応型レート制御及びトラフィック管理のシステム及び方法 | |
US20220337615A1 (en) | Dynamic sessional redirection and proxy | |
EP4000239B1 (en) | 3rd generation partnership project (3gpp) framework for live uplink streaming (flus) sink capabilities determination | |
US20140149499A1 (en) | Remote request fulfillment and delivery | |
Braun et al. | Mobile peer-to-peer assisted coded streaming | |
US20180234477A1 (en) | Scheduling downloads based on metadata in a client-server topology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190401 Year of fee payment: 4 |