KR102570329B1 - 멀티북 제작 및 판매 서비스를 제공하는 서비스 플랫폼 - Google Patents

멀티북 제작 및 판매 서비스를 제공하는 서비스 플랫폼 Download PDF

Info

Publication number
KR102570329B1
KR102570329B1 KR1020220157603A KR20220157603A KR102570329B1 KR 102570329 B1 KR102570329 B1 KR 102570329B1 KR 1020220157603 A KR1020220157603 A KR 1020220157603A KR 20220157603 A KR20220157603 A KR 20220157603A KR 102570329 B1 KR102570329 B1 KR 102570329B1
Authority
KR
South Korea
Prior art keywords
book
data
block
terminal
information
Prior art date
Application number
KR1020220157603A
Other languages
English (en)
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 KR1020220157603A priority Critical patent/KR102570329B1/ko
Application granted granted Critical
Publication of KR102570329B1 publication Critical patent/KR102570329B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0613Third-party assisted
    • G06Q30/0619Neutral agent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces

Abstract

본 발명은 적어도 하나의 단말기와 통신 연결을 수행하는 통신부와, 적어도 하나의 도서 제공자로부터 제공된 원작 도서에 대한 기 설정된 단위 별로 블록화된 도서 데이터를 저장하는 도서 데이터 저장부와, 제1 단말기의 요청에 따라 상기 도서 데이터의 일부를 스캔하고, 스캔된 도서 데이터의 일부에 대응하는 블록의 블록 고유 정보를 추출하는 스캔부와, 상기 스캔된 도서 데이터의 일부와 상기 추출된 블록 고유 정보를 포함하는 발췌 데이터를 생성하는 발췌 데이터 생성부 및, 상기 제1 단말기의 요청에 따라, 상기 제1 단말기에서 입력되는 저작 컨텐츠 및 상기 발췌 데이터의 적어도 일부를 포함하는 멀티북을 제작하고, 상기 멀티북에 삽입되는 상기 저작 컨텐츠 또는 상기 발췌 데이터의 적어도 일부가 상기 기 설정된 단위를 형성하는 경우 상기 삽입되는 저작 컨텐츠 또는 상기 발췌 데이터의 적어도 일부를 블록화 및, 상기 발췌 데이터의 적어도 일부를 포함하여 생성되는 블록에, 상기 추출된 블록 고유 정보를 더 포함하는 블록 정보를 매칭시키는 제어부를 포함하는 것을 특징으로 한다.

Description

멀티북 제작 및 판매 서비스를 제공하는 서비스 플랫폼{A SERVICE PLATFORM THAT PROVIDES MULTI-BOOK PRODUCTION AND SALES SERVICES}
본 발명은, 전자도서(E-book)를 제작 및 판매하는 서비스 플랫폼에 대한 것이다.
통상적으로 도서의 경우, 다양한 정보들이 각각의 챕터별로 하나의 도서를 구성한다. 이에 따라 사용자가 도서로부터 자주 확인하거나 또는 사용자가 좋아하는 부분 등은 책갈피 등을 이용하여 책에 마킹하고 상기 책갈피 등을 통해 자신이 원하는 페이지를 펼침으로서, 사용자가 선호하는 도서의 일부분을 확인할 수 있다.
그런데 이와 같이 사용자가 선호하는 도서의 일부분을 확인하는 방법의 경우, 하나의 도서인 경우에는 용이할 수 있다. 그러나 사용자가 복수의 도서로부터 자신이 즐겨찾는 부분들을 자주 확인하려면, 사용자가 직접 자신이 원하는 도서들을 선택하고 선택된 도서에서 미리 마킹한 부분을 찾아야 한다는 문제가 있다.
한편 정보 통신망 관련 기술이 발전하면서, 다양한 정보들이 디지털 데이터의 형태로 제공되고 있다. 더욱이 PC 또는 이동 단말기 관련 기술이 발전하면서, 종래 하드 카피(hard copy)의 형태로 제공되던 정보들을 디지털 데이터의 형태로 제공하는 사례가 증가하고 있다.
이러한 디지털 데이터 활용 방안의 일환으로, 컨텐츠를 종이 매체를 이용하지 않고 디지털 데이터의 형태로 생성하여 제공하는 전자책(E-book)이 등장하였다. 전자책은 종이 매체가 아닌 디지털 형태로 출간된 책을 의미하는 것으로, 사용자의 PC 또는 이동 단말기를 통해 사용자가 이용할 수 있어서 매우 편리하다는 이점이 있다.
그러나 이처럼 도서가 전자화되어 사용자가 많은 수의 하드 카피 도서를 가지고 다니지 않아도 다양한 전자도서로부터 원하는 부분을 확인할 수 있다고 하여도, 사용자가 직접, 자신이 마킹한 도서를 선택하고 선택된 도서에서 상기 마킹된 부분을 찾아서 확인하여야 한다는 문제가 있다. 더욱이 도서가 전자화되어, 하드 카피 도서의 물리적인 제한이 사라지면서, 보다 많은 수의 다양한 도서로부터 사용자가 자신이 원하는 부분만을 발췌하여 확인할 수 있도록 하고자 하는 사회적 니즈(needs)가 등장하게 되었다.
더욱이 특정 분야에 대한 정보 검색 등에 경험이 많은 사용자의 경우, 다양한 분야에 대한 정보들을 포함하는 도서로부터 사용자의 경험을 살려 상기 특정 분야에 대한 자신만의 전문적인 지식이 집대성된 전자도서를 만들고자 하는 니즈가 발생하였다. 그리고 이러한 니즈는, 상기 특정 지식에 대한 전문적인 지식을 가진 사용자로 하여금, 사용자 자신의 경험, 즉 노하우(know-how)를 활용하여 상기 특정 분야에 대해 필수적인 지식들 및 그 지식들의 조합들만을 다양한 도서들로부터 추출하고, 자신의 노하우에 따라 추출 및 편집된 지식들을 다른 사용자에게 제공함으로써, 이윤을 창출하고자 하는 니즈로 고도화되는 추세에 있다.
본 발명은 전술한 문제 및 다른 문제를 해결하는 것을 목적으로 하는 것으로, 복수의 다른 도서로부터 사용자가 원하는 부분을 취합하고, 취합된 부분을 사용자가 편집한 사용자 맞춤형 전자도서(이하 멀티북(Multi-book))의 제작 서비스를 제공하는 서비스 플랫폼을 그 목적으로 한다.
또한 본 발명은 사용자가 작성한 멀티북을 판매 가능한 상태로 게시하고, 상기 멀티북이 판매되는 경우, 상기 멀티북의 판매 대금을 상기 판매된 멀티북을 구성하는 각 발췌 부분에 대응하는 도서의 도서 제공자와, 상기 멀티북의 저작자에게 공정하게 분배될 수 있도록 하는 멀티북 판매 서비스를 제공하는 서비스 플랫폼을 제공하는 것을 그 목적으로 한다.
상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따르면, 본 발명의 실시 예에 따른 서비스 플랫폼은 적어도 하나의 단말기와 통신 연결을 수행하는 통신부와, 적어도 하나의 도서 제공자로부터 제공된 원작 도서에 대한 기 설정된 단위 별로 블록화된 도서 데이터를 저장하는 도서 데이터 저장부와, 제1 단말기의 요청에 따라 상기 도서 데이터의 일부를 스캔하고, 스캔된 도서 데이터의 일부에 대응하는 블록의 블록 고유 정보를 추출하는 스캔부와, 상기 스캔된 도서 데이터의 일부와 상기 추출된 블록 고유 정보를 포함하는 발췌 데이터를 생성하는 발췌 데이터 생성부 및, 상기 제1 단말기의 요청에 따라, 상기 제1 단말기에서 입력되는 저작 컨텐츠 및 상기 발췌 데이터의 적어도 일부를 포함하는 멀티북을 제작하고, 상기 멀티북에 삽입되는 상기 저작 컨텐츠 또는 상기 발췌 데이터의 적어도 일부가 상기 기 설정된 단위를 형성하는 경우 상기 삽입되는 저작 컨텐츠 또는 상기 발췌 데이터의 적어도 일부를 블록화 및, 상기 발췌 데이터의 적어도 일부를 포함하여 생성되는 블록에, 상기 추출된 블록 고유 정보를 더 포함하는 블록 정보를 매칭시키는 제어부를 포함하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 기 설정된 단위는, 문장, 단락, 페이지 또는 챕터 중 어느 하나임을 특징으로 한다.
일 실시 예에 있어서, 상기 발췌 데이터 생성부는, 상기 스캔된 도서 데이터의 일부에 대응하는 이미지 데이터를 문자열 데이터로 인코딩(encoding) 및, 인코딩된 문자열 데이터의 기 설정된 위치에 상기 제1 단말기의 식별정보 및 상기 제1 단말기 사용자의 식별정보 중 어느 하나를 드로잉 키로서 삽입하고, 상기 드로잉 키가 삽입된 문자열 데이터에 상기 추출된 블록 고유 정보를 매칭하여 상기 발췌 데이터로서 저장하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 제어부는, 상기 제1 단말기로부터 상기 블록화된 도서 데이터의 적어도 일부에 대한 발췌 요청이 수신되면, 상기 발췌 요청이 수신된 시각을 검출 및, 상기 발췌 요청에 따라 생성된 발췌 데이터의 블록 고유 정보에 상기 발췌 요청 시각을 매칭하고, 발췌 데이터에 매칭된 상기 발췌 요청 시각을 상기 제1 단말기에 전송하고, 상기 제1 단말기의 식별정보, 상기 제1 단말기 사용자의 식별정보, 및 상기 발췌 요청 시각 정보 중 어느 하나를, 상기 인코딩된 문자열 데이터의 기 설정된 위치에 상기 드로잉 키로서 삽입하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 제어부는, 상기 문자열 데이터의 처음에 상기 드로잉 키에 해당하는 문자들을 삽입하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 제어부는, 기 저장된 발췌 데이터에 대하여 상기 제1 단말기로부터 열람 요청이 수신되는 경우, 상기 저장된 발췌 데이터에 매칭되는 발췌 요청 시각, 상기 제1 단말기의 식별정보, 상기 제1 단말기 사용자의 식별정보를 상기 제1 단말기로부터 수신하고, 상기 인코딩된 문자열 데이터의 기 설정된 위치로부터 상기 발췌 요청 시각, 상기 제1 단말기의 식별정보, 상기 제1 단말기 사용자의 식별정보 중 어느 하나에 대응하는 문자열을 제거 및, 제거된 문자들에 따라 쉬프트가 이루어진 문자열 데이터를 이진 데이터로 디코딩한 데이터를, 상기 열람 요청에 대한 응답으로 상기 제1 단말기에 제공하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 제1 단말기는, 상기 서비스 플랫폼에 저장된 발췌 데이터에 대한 열람 요청에 대한 응답으로, 상기 드로잉 키가 삽입된 문자열 데이터를 수신하고, 수신된 문자열 데이터의 기 설정된 위치로부터 상기 발췌 요청 시각, 상기 제1 단말기의 식별정보, 상기 제1 단말기 사용자의 식별정보 중 어느 하나에 대응하는 문자열을 제거하며, 상기 제거된 문자들에 따라 쉬프트가 이루어진 문자열 데이터를 이진 데이터로 디코딩하고, 상기 이진 데이터에 대응하는 이미지를 상기 제1 단말기의 디스플레이부 상에 표시하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 제어부는, 상기 제1 단말기의 식별정보 또는 상기 제1 단말기 사용자의 식별정보에 대응하는 QR(Quick response) 코드를 포함하는 배경 이미지를 상기 제1 단말기에 전송하고, 상기 발췌 데이터에 대한 열람 요청에 대한 응답으로 표시되는 이미지를, 상기 QR 코드를 포함하는 배경 이미지 상에서 표시되도록 상기 제1 단말기를 제어하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 제어부는, 상기 발췌 데이터가 생성되면, 생성된 발췌 데이터에 포함된 상기 일부의 도서 데이터에 대한 요약 정보를 상기 도서 데이터 저장부로부터 검출 및 검출된 요약 정보를, 상기 발췌 데이터에 포함된 블록 고유 정보에 매칭하고, 상기 제1 단말기의 요청에 따라, 기 저장된 발췌 데이터들 각각의 블록 고유 정보에 매칭되는 요약 정보들을 목록화하여 상기 제1 단말기에 제공하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 제어부는, 상기 제1 단말기로부터 입력되는 문자, 이미지 및 동영상 중 적어도 하나를 포함하는 상기 저작 컨텐츠가 상기 기 설정된 단위를 형성하면, 상기 원작 도서의 일부에 대응하는 블록 고유 정보를 포함하지 않는 제네시스 블록으로 상기 저작 컨텐츠를 블록화하고, 상기 제네시스 블록을 포함하는 멀티북을 제작하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 제어부는, 상기 원작 도서의 일부에 대응하는 블록 고유 정보를 포함하는 발췌 블록을 구성하는 적어도 하나의 문자 또는 이미지가 변경되거나 또는 상기 발췌 블록 내에 적어도 하나의 문자 또는 이미지가 추가되는 경우, 상기 발췌 블록을, 상기 변경 또는 추가된 적어도 하나의 문자 또는 이미지를 중심으로, 동일한 원작 도서의 일부에 대응하는 블록 고유 정보를 포함하는 서로 다른 블록 정보에 매칭되는 서로 다른 발췌 블록들로 분할하고, 상기 변경 또는 추가된 문자 또는 이미지를, 상기 제네시스 블록으로 블록화하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 서비스 플랫폼은, 상기 제작된 멀티북의 도서 데이터를 판매할 수 있는 마켓 플레이스를 더 제공하며, 상기 제어부는, 상기 멀티북에 적어도 일부가 포함된 각각의 발췌 데이터에 대응하는 적어도 하나의 원작 도서의 기 설정된 가격들 및 상기 멀티북을 제작한 제작자가 설정한 저작료를 합산하여 상기 멀티북의 가격을 결정하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 제어부는, 상기 원작 도서의 기 설정된 가격들과 기 설정된 산출 단위에 따라 단위 금액을 산출하고, 상기 산출 단위에 따른 단위 금액에 근거하여 상기 멀티북에 포함된 발췌 데이터의 적어도 일부에 대한 표준 금액을 산출하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 제어부는, 상기 원작 도서의 기 설정된 가격에 따라 상기 표준 금액을 산출하고, 상기 원작 도서의 각 단락별로 중요도를 산출하며, 서로 다른 중요도 값에 따라, 산출된 중요도 값이 같은 원작 도서 단락들의 개수를 검출하고, 서로 다른 중요도 값에 대응하는 원작 도서 단락들의 개수 분포가 기 설정된 분포 곡선을 따르도록 하는 중요도의 중앙값을 결정하며, 결정된 중앙값을 기준으로 상기 분포 곡선에서 서로 다른 가격 증감률을 가지는 영역들을 결정하고, 결정된 각 영역별 가격 증감률과 상기 산출된 각 단락의 표준 금액에 근거하여 상기 원작 도서의 각 단락별 가격을 결정하며, 결정된 각 단락의 가격에 근거하여 상기 멀티북에 포함된 발췌 데이터의 적어도 일부에 대한 가격을 결정하는 것을 특징으로 한다.
본 발명에 따른 멀티북 제작 및 판매 서비스를 제공하는 서비스 플랫폼의 효과에 대해 설명하면 다음과 같다.
본 발명의 실시 예들 중 적어도 하나에 의하면, 본 발명은 사용자가 구매한 전자도서 또는 검색 및 발췌가 허용된 전자도서로부터, 사용자가 원하는 부분을 발췌하고, 발췌된 부분을 사용자가 임의로 편집하여 사용자의 노하우에 따라 다양한 도서로부터 추출된 정보들을 포함하는 멀티북을 제작할 수 있도록 한다는 효과가 있다.
또한 본 발명은 상기 멀티북을 구성하는 각각의 부분들에 대하여, 상기 각 부분들이 다른 도서로부터 발췌된 부분인 경우, 발췌된 도서, 원작 도서로부터 고유 정보를 추출하고 추출된 고유 정보를 상기 발췌된 부분에 매칭되도록 함으로써, 상기 멀티북의 일부로서 상기 발췌 부분이 포함되는 경우에도 상기 원작 도서에 대한 정보가 유지될 수 있도록 한다. 따라서 상기 발췌 부분의 원작 도서에 대한 트래킹(tracking)이 가능하도록 한다는 효과가 있다.
또한 본 발명은 멀티북이 판매되는 경우, 상기 멀티북에 포함된 각 피스에 대응하는 각 원작 도서의 저작자 또는 상기 저작자로부터 도서 제공의 허락을 받은 도서 제공자에게, 상기 멀티북의 판매로 발생한 수익금을 상기 판매된 멀티북을 구성하는 각 피스에 상응하는 대가를 지불함으로써, 상기 멀티북을 제작한 제작자 뿐만 아니라, 상기 판매된 멀티북을 구성하는 각 피스에 대한 원작 도서의 정당한 소유자들에게도 수익을 창출할 수 있다는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 서비스 플랫폼을 포함하는 멀티북 제작 및 판매 시스템의 구성을 도시한 블록도이다.
도 2는 본 발명의 실시 예에 따라, 제작자 단말기와 도서 제공자들 사이에서 제작 서버가 멀티북 제작 서비스가 제공되는 구조를 도시한 블록도이다.
도 3a는 본 발명의 실시 예에 따른 서비스 플랫폼에 구비되는 제작 서버의 구성을 도시한 블록도이다.
도 3b는 본 발명의 실시 예에 따른 서비스 플랫폼에 연결되는 제작자 단말기의 구성을 도시한 블록도이다.
도 4는, 도 3a에서 도시한 제작 서버가, 본 발명의 실시 예에 따라 멀티북을 생성하는 동작 과정을 도시한 흐름도이다.
도 5는 본 발명의 실시 예에 따른 서비스 플랫폼의 제작 서버가, 제작자의 요청에 따라 검색된 도서의 일부를 발췌하여 발췌 데이터를 생성하는 동작 과정을 도시한 흐름도이다.
도 6은 본 발명의 실시 예에 따른 서비스 플랫폼의 제작 서버가, 발췌 데이터들 중 선택된 어느 하나의 발췌 데이터를 표시하는 동작 과정을 도시한 흐름도이다.
도 7은 본 발명의 실시 예에 따른 서비스 플랫폼의 제작 서버가, 발췌 데이터 또는 제작자가 입력하는 저작 데이터를 이용하여 멀티북을 제작하는 동작 과정을 도시한 흐름도이다.
도 8은 원작 도서가 블록화된 예 및, 상기 원작 도서로부터 발췌된 발췌 블록이, 멀티북을 구성하는 피스로서 멀티북에 삽입되는 예를 도시한 예시도이다.
도 9는 본 발명의 실시 예에 따른 서비스 플랫폼의 제작 서버가, 멀티북에 피스로서 삽입된 발췌 블록에 대한 수정이 있는 경우, 수정된 부분을 중심으로 피스를 구분하는 동작 과정을 도시한 흐름도이다.
도 10은, 상기 도 9의 동작 과정에 따라, 발췌 블록이 상기 수정 또는 추가된 부분을 포함하는 제네시스 블록과 발췌 블록으로 구분되는 예를 도시한 예시도이다.
도 11은 발췌된 부분이 이미지인 경우, 상기 도 5의 동작 과정에 따라 편집된 부분과 이미지 원본 각각에 대한 블록 정보가 생성되는 예를 도시한 예시도이다.
도 12는 본 발명의 실시 예에 따른 서비스 플랫폼의 판매 서버가, 멀티북 제작자와 도서 제공자들에게 멀티북 판매로 발생한 수익금을 분배하는 구조를 도시한 블록도이다.
도 13은 작성이 완료된 멀티북의 판매 게시가 요청되는 경우, 상기 서비스 플랫폼의 판매 서버가, 상기 멀티북에 포함된 피스들의 가격에 근거하여 상기 멀티북의 가격을 결정하는 동작 과정을 도시한 흐름도이다.
도 14a는 원작 도서의 부분별 중요도에 근거하여, 각 원작 도서의 부분별 가격을 결정하는 동작 과정을 도시한 흐름도이다.
도 14b는 상기 도 14a의 동작 과정에 따라 원작 도서의 각 부분별 가격을 결정하기 위한 가격 분포의 예를 도시한 예시도이다.
도 15는 상기 판매 서버가, 멀티북의 판매로 발생한 수익금을 멀티북 제작자와 도서 제공자들에게 분배하여 지급하는 동작 과정을 도시한 흐름도이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다
본 명세서에서, "구성된다." 또는 "포함한다." 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에 개시된 기술을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 기술의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 또한 이하에서 설명되는 각각의 실시 예들 뿐만 아니라, 실시 예들의 조합은 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물 내지 대체물로서, 본 발명의 사상 및 기술 범위에 해당될 수 있음은 물론이다.
도 1은 본 발명의 실시 예에 따른 서비스 플랫폼(10)을 포함하는 멀티북 제작 및 판매 시스템의 구성을 도시한 블록도이다.
도 1을 참조하여 살펴보면 본 발명의 실시 예에 따른 멀티북 제작 및 판매 시스템은, 멀티북의 피스로서 삽입될 도서 데이터를 제공하는 적어도 하나의 도서 제공자(51, 52), 상기 적어도 하나의 도서 제공자(51, 52)가 제공하는 도서 데이터를 멀티북을 구성하는 각 부분, 즉 피스(piece)로서 가공 및, 편집하는 제작자의 단말기(이하 제작자 단말기)(20), 그리고 상기 도서 데이터의 가공 및 편집 기능을 제공하며, 상기 제작자 단말기(20)의 요청에 따라 멀티북을 제작하는 제작 서버(11), 상기 제작 서버(11)에서 제작된 멀티북을 판매 가능한 상태로 게시하며, 상기 멀티북의 도서 데이터가 판매되면, 상기 멀티북의 도서 데이터를 구매한 구매자의 단말기(이하 구매자 단말기)(30)로부터 판매 대금을 수신하고, 상기 판매 대금을 상기 판매된 멀티북을 구성하는 피스에 대응하는 도서 데이터를 제공하는 도서 제공자(51, 52) 및 상기 멀티북의 제작자에 분배하여 지급하는 판매 서버(12)를 포함하여 구성될 수 있다.
여기서 상기 제작 서버(11)와 상기 판매 서버(12)는, 본 발명의 실시 예에 따른 멀티북의 제작 및 판매 서비스를 제공하는 서비스 플랫폼(10)을 구성할 수 있다.
먼저 제1 도서 제공자(51)와 제2 도서 제공자(52)는 본 발명의 실시 예에 따른 멀티북의 제작을 위해 이용되는 원작 도서의 도서 데이터를 제공하는 정당한 도서 데이터의 소유자일 수 있다. 일 예로 상기 제1 도서 제공자(51)와 제2 도서 제공자(52)는 각각 제1 원작 도서의 저작자와 제2 원작 도서의 저작자(또는 저작권자)일 수 있다. 또는 상기 제1 도서 제공자(51)와 제2 도서 제공자(52)는, 제1 원작 도서의 저작자(또는 저작권자)와 제2 원작 도서의 저작자(또는 저작권자)와 맺어진 별도의 제휴 계약을 통해 제1 원작 도서 및 제2 원작 도서에 대한 도서 데이터의 제공 허락을 받은 자들일 수 있다.
상기 제1 도서 제공자(51) 또는 제2 도서 제공자(52)는 제작 서버의 요청에 따라 제1 원작 도서 또는 제2 원작 도서의 전자화된 도서 데이터 적어도 일부들을 제작 서버(11)에 제공할 수 있다. 여기서 상기 제1 원작 도서와 제2 원작 도서는 제작자 단말기(20)의 검색 요청에 의해 검색되는 도서일 수 있다. 이러한 검색을 위해 상기 제1 도서 제공자(51) 또는 제2 도서 제공자(52)는 제작 서버(11)에 상기 제1 원작 도서 및 제2 원작 도서의 요약 정보를 제공할 수 있다. 따라서 상기 요약 정보를 통해 제작자 단말기(20)는 제작 서버(11)에 상기 제1 원작 도서 또는 제2 원작 도서의 검색을 요청할 수 있으며, 제작 서버(11)는 요청된 검색에 대한 응답으로 상기 제1 원작 도서 및 제2 원작 도서의 도서 데이터 적어도 일부를, 멀티북의 제작을 위해 상기 제작자 단말기(20)에 제공할 수 있다.
한편 제작자 단말기(20)는 상기 제작 서버(11)를 통해 멀티북의 제작을 위한 원작 도서의 검색을 요청할 수 있다. 그리고 요청에 의해 검색된 원작 도서의 도서 데이터 적어도 일부를 상기 제작 서버(11)를 통해 제공받을 수 있다.
그리고 제작자 단말기(20)는 상기 제작 서버(11)에 멀티북을 생성하기 위한 제작 요청을 전송할 수 있다. 상기 멀티북의 제작 요청은 상기 제공된 원작 도서의 도서 데이터의 적어도 일부에 대한 발췌 및 가공 요청을 포함할 수 있다. 그리고 제작 서버(11)는 상기 제작자 단말기(20)로부터 수신되는 멀티북 제작 요청에 따라, 상기 원작 도서의 도서 데이터 일부를 발췌하고, 발췌된 부분을 블록화하여 발췌 데이터를 생성할 수 있다.
한편 제작자 단말기(20)는 상기 발췌 데이터의 적어도 일부를 이용하여 멀티북(multi-book)을 구성하는 각 부분, 즉 피스(piece)를 생성할 수 있다. 일 예로 제작자 단말기(20)는 상기 제작 서버(11)를 통해 상기 발췌 데이터의 적어도 일부를 스캔 및 인식하고, 인식된 부분을 상기 피스로서 멀티북에 삽입할 수 있다. 그리고 다른 발췌 데이터, 즉, 상기 원작 도서의 다른 일부분이나 또는 다른 원작 도서로부터 생성된 발췌 데이터의 적어도 일부를 상기 피스로서 상기 멀티북의 다른 위치에 삽입할 수 있다. 즉, 본 발명의 실시 예에 따른 멀티북은, 제작자 단말기(20)의 요청에 따라 서로 다른 복수의 원작 도서로부터 발췌된 도서 데이터들을, 제작자가 임의로 편집한 편집 도서를 의미할 수 있으며, 상기 원작 도서로부터 발췌되어 멀티북의 일부로서 삽입된 상기 발췌 데이터들의 적어도 일부를, 상기 멀티북을 구성하는 피스라고 하기로 한다.
제작 서버(11)는 상술한 바와 같이 제작자 단말기(20)로부터 수신되는 제1 원작 도서 또는 제2 원작 도서의 검색 요청에 따라 제1 도서 제공자(51) 또는 제2 도서 제공자(52)로부터 제1 원작 도서의 도서 데이터 또는 제2 원작 도서의 도서 데이터를 수신할 수 있다. 그리고 수신된 도서 데이터를 상기 검색 요청에 대한 응답으로 제작자 단말기(20)에 제공할 수 있다.
여기서 상기 도서 데이터의 제공은, 상기 제작자 단말기(20)가 상기 제공된 도서 데이터의 열람이 가능하도록 허용하는 것을 의미할 수 있다. 즉, 상기 제작자 단말기(20)가 상기 제작 서버(11)에 접속하여, 상기 제작 서버(11)에 저장된 도서 데이터를 열람하고 그 내용을 확인할 수 있도록 하는 것을 의미할 수 있다. 따라서 상기 검색 요청된 도서 데이터는 제작자 단말기(20)의 디스플레이부 상에 표시될 수는 있으나, 상기 검색 요청된 도서 데이터가 상기 제작자 단말기(20)에 저장되지 않을 수 있다. 이처럼 상기 검색 요청된 도서 데이터가 상기 제작자 단말기(20)에 전송되지 않도록 함으로써, 상기 도서 데이터가 상기 제작자 단말기(20)를 통해 무단으로 유통되는 것을 방지할 수 있다.
이처럼 검색된 도서 데이터가 제작자 단말기(20)에 저장되지 않으므로, 상기 제작자 단말기(20)는 제작 서버(11)를 통해서만 상기 요청에 따라 검색된 도서 데이터의 내용을 확인할 수 있다. 그리고 상기 제작 서버(11)에 대한 멀티북 제작 요청에 의해서만 상기 도서 데이터의 일부를 발췌 및 가공하여 발췌 데이터로 생성할 수 있다. 이 경우 역시 상기 발췌 데이터는 제작자 단말기(20)에 저장되지 않을 수 있으며, 이에 따라 상기 발췌 데이터에 상응하는 도서 데이터의 일부가 제작자 단말기(20)를 통해 무단으로 유통되는 것을 방지할 수 있다.
한편 제작 서버(11)는 제작자 단말기(20)의 요청에 따라, 현재까지 생성된 발췌 데이터를 상기 제작자 단말기(20)가 식별 가능하도록 표시할 수 있다. 그리고 상기 발췌 데이터로부터 선택되는 상기 발췌 데이터의 적어도 일부를 피스로서 포함하는 멀티북을 생성할 수 있다.
한편 제작자 단말기(20)는 멀티북의 생성이 완료되면, 제작 서버(11)에 상기 생성된 멀티북에 대한 판매 게시 요청을 전송할 수 있다. 그러면 제작 서버(11)는 상기 생성이 완료된 멀티북의 도서 데이터를 판매 서버(12)에 제공할 수 있다.
한편 멀티북의 도서 데이터가 수신되면, 판매 서버(12)는 수신된 멀티북의 도서 데이터에 대한 가격을 결정할 수 있다. 일 예로 상기 멀티북의 가격은 멀티북에 포함된 피스들 각각에 대하여 산정되는 금액에, 멀티북 제작자가 요청한 멀티북 저작료를 포함하여 형성될 수 있다. 그리고 멀티북의 가격이 결정되면, 결정된 가격 정보를 제작자 단말기(20)에 전송 및 제작자 단말기(20)의 판매 게시 요청에 따라 상기 멀티북을 판매 가능하도록 게시할 수 있다. 그리고 상기 멀티북의 판매를 위해 상기 멀티북의 제작자가 제작한 멀티북의 소개글을 포털 사이트 등을 통해 제공 및 광고할 수 있다.
그리고 상기 멀티북을 구매하고자 하는 구매자 단말기가, 멀티북의 도서 데이터 구매를 요청하면, 판매 서버(12)는 상기 구매 요청에 대한 응답으로 멀티북의 도서 데이터를 구매자 단말기(30)에 제공할 수 있다. 그러면 판매된 멀티북의 도서 데이터는 구매자 단말기(30)에 전송될 수 있다.
또한 상기 멀티북 도서 데이터의 판매에 따라 판매 대금이 구매자 단말기(30)로부터 지급되면, 판매 서버(12)는 상기 판매 대금을, 상기 판매된 멀티북의 도서 데이터에 포함된 피스들에 대응하는 원작 도서의 도서 제공자들과 제작자에게 분배할 수 있다. 이를 위해 판매 서버(12)는 상기 판매된 멀티북의 각 도서 데이터에 포함된 피스들에 상응하는 금액들, 즉 서로 다른 원작 도서의 도서 제공자에게 지급되는 피스 대금들을 산출할 수 있다.
한편 상술한 설명에서는 도서 제공자가 제1 원작 도서의 도서 제공자(51)와 제2 원작 도서의 도서 제공자(52)를 포함하는 것으로 가정하여 설명하였으나, 얼마든지 더 적거나 더 많은 도서 제공자가 있을 수 있음은 물론이다.
도 2는 이러한 본 발명의 실시 예에 따라, 제작자 단말기(20)와 도서 제공자들(51, 52) 사이에서 제작 서버가 멀티북 제작 서비스가 제공되는 구조를 도시한 블록도이다.
먼저 제1 및 제2 도서 제공자 단말기(51, 52, 이하 도서 제공자)는 각각 제1 원작 도서의 도서 요약 정보와 제2 원작 도서의 도서 요약 정보를 제작 서버(11)에 제공할 수 있다. 여기서 상기 제1 및 제2 도서 제공자(51, 52)의 운영 주체는 제1 및 제2 원작 도서의 도서 데이터를 제공할 정당한 권리가 있는 권리자로서, 상기 제1 및 제2 원작 도서의 저작자 또는 상기 제1 및 제2 원작 도서의 저작자로부터 상기 도서 데이터를 제공할 수 있는 권리를 위임받는 정당한 권리자일 수 있다. 또한 상기 제1 도서 제공자(51)와 제2 도서 제공자(52)의 운영 주체는 멀티북의 제작을 위한 도서 데이터를 제공할 수 있도록, 본 발명의 실시 예에 따른 서비스 플랫폼(10)의 운영 주체와 별도의 제휴 계약을 통해 제휴된 상태일 수 있다.
또는 상기 제1 도서 제공자(51) 또는 제2 도서 제공자(52)의 운영 주체는 상기 제작자 단말기(20)의 운영 주체와 직접 제휴 계약을 맺은 상태일 수 있다. 이 경우 상기 제작자 단말기(20)의 운영 주체는 제1 원작 도서 및 제2 원작 도서를 구매하면서, 상기 제1 원작 도서의 저작자와 제2 원작 도서의 저작자로부터, 상기 멀티북의 제작을 위해 상기 제1 원작 도서 및 제2 원작 도서를 이용할 권리를 확보한 권리자일 수 있다.
상기 제1 및 제2 도서 제공자(52)로부터 제1 원작 도서의 도서 요약 정보 및 제2 원작 도서의 도서 요약 정보가 수신되면, 제작 서버(11)는 수신된 도서 요약 정보를, 별도의 제휴 계약을 통해 제휴된 적어도 하나의 포털 사이트(200)를 통해 광고 및 게시할 수 있다. 여기서 상기 도서 요약 정보는, 상기 원작 도서에 관련된 요약 정보로서, 상기 원작 도서의 표지, 서지 사항, 상기 원작 도서의 내용에 대한 간략한 요약이나 개요, 또는 상기 원작 도서에 수록된 대표 삽화 등에 대한 정보를 포함할 수 있다.
한편 제작 서버(11)는 제1 및 제2 도서 제공자(52)로부터 제공되는 도서 요약 정보에 근거하여 포털 사이트(200)에 상기 제1 및 제2 원작 도서에 대한 광고 및 게시를 수행할 수 있다. 이 경우 제작 서버(11)는 상기 도서 요약 정보를 게시물의 형태로 제휴된 포털 사이트(200)에 업로드 할 수 있으며, 관련된 검색어가 입력될 때 상기 업로드된 게시물이 검색 결과의 상위에 게시될 수 있도록, 검색 엔진 최적화(Search Engine Optimization, 또는 Search Engine Optimizer, SEO) 기법을 통해 상기 포털 사이트(200)에 업로드된 게시물을 관리할 수 있다.
한편 상기 도서 요약 정보는, 제1 및 제2 원작 도서의 도서 데이터를 제공받은 제작 서버(11)에 대한 링크 정보를 포함할 수 있다. 그러면 제작자 단말기(20)는, 상기 링크 정보를 통해 제작 서버(11)에 접속할 수 있다. 그리고 제작자 단말기(20)가 상기 링크 정보를 통해 제작 서버(11)에 접속되는 경우, 상기 제작자 단말기(20)의 디스플레이부 상에, 멀티북의 제작을 위해 상기 제작 서버(11)가 제공하는 기능들을 포함하는 인터페이스 화면이 표시될 수 있다.
여기서 상기 제작 서버(11)가 제공 가능한 기능들은, 상기 제1 및 제2 원작 도서들에 대한 검색 기능을 포함할 수 있다. 상기 검색 기능의 일환으로 제작 서버(11)는, 상기 제1 및 제2 원작 도서의 도서 데이터로부터 목차 정보를 추출할 수 있다. 그리고 추출된 목차 정보로부터 각 목차에 포함된 각 항목들의 정보, 예를 들어 항목의 명칭, 항목에 대응하는 페이지들이나 단락들에 대한 정보 등을 상기 검색 기능의 일환으로서 제공할 수 있다.
또는 제작 서버(11)는, 제작자 단말기(20)부터 검색 키워드가 입력되는 경우, 입력된 검색 키워드에 대한 검색을 수행할 수 있다. 그리고 검색된 원작 도서로부터, 상기 검색 키워드를 포함하는 단락들이나 페이지들의 정보, 또는 상기 검색 키워드가 포함된 단락을 포함하는 적어도 하나의 목차나 항목에 대한 정보를 제공할 수 있다.
한편 상기 제작 서버(11)는 상기 검색 요청에 따른 검색 결과로서, 상기 검색 키워드를 포함하는 적어도 하나의 부분별 도서 데이터를 제공할 수도 있다. 여기서 상기 부분별 도서 데이터는, 상기 원작 도서의 일부로서, 상기 원작 도서의 목차에 따른 항목들 중 특정 항목에 대응하는 내용을 포함하는 도서 데이터이거나 또는 특정 페이지에 대응하는 내용을 포함하는 도서 데이터일 수 있다. 또는 상기 원작 도서의 단락들 중 어느 하나의 단락이나 특정 문장을 포함하는 도서 데이터일 수 있다.
그리고 상기 제작 서버(11)는 상기 검색 결과와 함께 검색된 부분별 도서 데이터에, 제작자 단말기(20)가 열람이 가능하도록 상기 제작자 단말기(20)의 접근을 허용할 수 있다. 이에 따라 상기 검색 요청에 대한 응답으로 검색된 적어도 하나의 원작 도서의 부분별 도서 데이터는, 제작자 단말기(20)의 디스플레이부 상에, 상기 제작자 단말기(20)의 운영 주체, 즉 제작자가 식별할 수 있도록 표시될 수 있다.
한편 도서 검색 요청에 대한 응답으로 도서 데이터들의 제공되면, 제작자 단말기(20)는 멀티북을 제작하기 위한 제작 요청을 제작 서버(11)에 전송할 수 있다. 여기서 상기 멀티북 제작 요청은, 멀티북의 배경 데이터를 생성하기 위한 배경 데이터 생성 요청, 상기 멀티북에 피스로서 삽입할 발췌 데이터를 생성하기 위한 발췌 데이터 생성 요청, 생성된 발췌 데이터의 적어도 일부를 상기 멀티북의 배경 데이터에 삽입하기 위한 삽입 요청, 및 상기 삽입된 피스들에 대한 편집을 요청하는 편집 요청 등 다양한 요청들을 포함할 수 있다. 그리고 제작 서버(11)는 상기 제작자 단말기(20)로부터 수신되는 멀티북 제작 요청들에 근거하여 멀티북을 제작할 수 있다.
그리고 제작 서버(11)는, 멀티북의 제작이 완료된 경우, 제작자 단말기(20)로부터 상기 제작 완료된 멀티북에 대한 판매 게시 요청을 수신할 수 있다. 그러면 제작 서버(11)는 상기 제작 완료된 멀티북을, 판매 서버(12)에 제공할 수 있다.
도 3a는 이러한 본 발명의 실시 예에 따른 서비스 플랫폼(10)에 구비되는 제작 서버(11)의 구성을 도시한 블록도이다.
도 3a를 참조하여 살펴보면, 본 발명의 실시 예에 따른 서비스 플랫폼(10)의 제작 서버(11)는 제어부(300)와, 상기 제어부(300)와 연결되며 상기 제어부(300)에 의해 제어되는 통신부(310), 스캔부(320), 블록화부(330), 발췌 데이터 생성부(340) 및, 메모리(350)를 포함하여 구성될 수 있다. 도 3a에 도시된 구성요소들은 제작 서버(11)를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 제작 서버(11)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
먼저 통신부(310)는 제1 및 제2 도서 제공자(51, 52), 제작자 단말기(20) 및 판매 서버(12)와 유선 또는 무선 통신망을 통해 연결할 수 있다. 상기 통신부(110)는 상기 제1 및 제2 도서 제공자(51, 52)와 연결되어, 상기 제1 및 제2 도서 제공자(51, 52)로부터 제공되는 도서 요약 정보와 도서 데이터 등을 수신할 수 있다. 그리고 제어부(300)의 제어에 따라 수신된 도서 요약 정보를 포털 사이트에 전송하거나, 상기 수신된 도서 데이터를 제어부(300)에 전송할 수 있다. 또한 제작자 단말기(20)로부터 원작 도서의 검색 및 멀티북 작성을 위한 요청, 즉 멀티북 제작 요청들을 수신할 수 있으며, 수신된 요청들을 제어부(300)에 전송할 수 있다. 또한 제어부(300)의 제어에 따라 원작 도서의 도서 데이터 또는 발췌 데이터가 저장된 메모리(350)의 일 영역에 대하여 상기 제작자 단말기(20)의 접속을 허용할 수 있다. 또한 제작자 단말기(20)로부터 수신되는 판매 게시 요청에 대한 응답으로, 제어부(300)의 제어에 따라 완성된 멀티북의 도서 데이터를 판매 서버(12)에 제공할 수 있다.
한편 스캔부(320)는, 제작자 단말기(20)의 요청에 따라 열람이 허용된 원작 도서의 도서 데이터에 대하여, 제작자가 선택한 일부분을 스캔할 수 있다. 그리고 스캔된 도서 데이터의 일부분을 문자열 또는 이미지로 인식할 수 있다. 이 경우 스캔부(320)는 OCR(Optical Character Recognition) 인식과 같이, 상기 스캔된 도서 데이터의 일부로부터 문자들을 인식할 수 있으며, 문자로 인식이 어려운 이미지의 경우 이미지 그 자체로 인식할 수 있다. 그리고 인식된 문자들과 이미지들은 원작 도서로부터 발췌된 데이터(이하 발췌 데이터)로서 메모리(350)에 저장될 수 있다. 이를 위해 상기 스캔부(320)는 스캔된 데이터로부터 문자열 및 이미지를 인식하기 위한 인식부(321)를 포함할 수 있다.
여기서 인식부(321)는 상기 스캔된 도서 데이터에 대한 단락 구조에 따라 문자들과 이미지들을 인식할 수 있다. 따라서 상기 스캔된 도서 데이터의 단락 구조와 동일한 단락 구조를 가지는 문자들과 이미지들이 인식될 수 있으며, 인식된 문자들과 이미지들이 발췌 데이터로서 저장될 수 있다.
또한 상기 스캔부(320)는 상기 원작 도서의 스캔된 일부분으로부터, 상기 원작 도서의 스캔된 일 부분에 대응하는 고유 해시(hash)값을 추출할 수 있다. 이를 위해 상기 스캔부(320)는 스캔 및 인식된 원작 도서의 일 부분에 대응하는 적어도 하나의 고유 해시값을 추출하기 위한 추출부(322)를 더 포함할 수 있다. 여기서 상기 스캔된 원작 도서의 도서 데이터 일 부분이 페이지, 문장, 단락 또는 챕터별로 블록화된 상태라면, 상기 추출부(322)는 상기 스캔 및 인식된 도서 데이터 일 부분의 페이지, 문장, 단락 또는 챕터에 따라 적어도 하나의 고유 해시값을 추출할 수 있다. 그리고 추출된 적어도 하나의 고유 해시값을 상기 발췌 데이터에 매칭시킬 수 있다. 즉, 원작 도서로부터 스캔 및 인식된 도서 데이터의 일 부분과, 그 일부분의 고유 해시값이 발췌 데이터로서 저장될 수 있다.
한편 블록화부(330)는, 상기 제작자 단말기(20)로부터 입력되는 도서 데이터를 페이지, 문장, 단락 또는 챕터 등 기 설정된 단위 별로 블록화를 수행할 수 있다. 일 예로 상기 기 설정된 단위가 '단락'인 경우, 상기 블록화부(330)는 제1 도서 제공자(51) 또는 제2 도서 제공자(52)로부터 제공되는 원작 도서 데이터들을 단락별로 블록화할 수 있다.
한편 상기 블록화부(330)는 형성된 블록에 대응하는 블록 정보를 생성할 수 있다. 상기 블록 정보는, 블록의 고유 정보인 고유 해시값, 생성된 블록의 순서에 따른 블록 일렬번호 및, 상기 블록이 생성 또는 수정 시각의 정보, 즉 타임 스탬프(time stamp) 정보를 포함할 수 있다. 여기서 상기 고유 해시값은 기 설정된 자릿수에 따른 알파벳 및 숫자들로 구성될 수 있으며, 불변값일 수 있다. 이러한 블록 정보를 생성하기 위해 상기 블록화부(330)는 블록 정보 생성부(331)를 포함할 수 있다.
따라서 상기 제1 도서 제공자(51) 또는 제2 도서 제공자(52)로부터 제1 원작 도서 또는 제2 원작 도서의 도서 데이터가 수신되는 경우, 블록화부(330)는 상기 도서 데이터를, 기 설정된 단위에 따라 블록 고유 정보(고유 해시값)를 가지는 블록들로 블록화할 수 있다. 그리고 블록화된 도서 데이터들을 메모리(350)에 저장할 수 있다. 그리고 상기 메모리(350)에 저장된 블록화된 도서 데이터들을, 제작자 단말기(20)의 요청에 대한 응답으로 열람이 가능하도록 제공할 수 있다.
한편 상기 블록화부(330)는 제작자 단말기(20)의 멀티북 제작 요청에 따라 제작 중인 멀티북의 도서 데이터에 대해서도 상기 블록화를 수행할 수 있다. 따라서 제작자 단말기(20)의 요청에 따라 어느 하나의 발췌 데이터로부터 피스가 생성되어 멀티북 제작을 위해 멀티북 배경 데이터에 삽입되면, 블록화부(330)는 멀티북에 삽입된 상기 피스를 블록화할 수 있다.
여기서 상기 멀티북 배경 데이터는, 각각의 피스들이 배치되는 멀티북의 배경을 의미하는 것으로, 제작자 단말기(20)의 멀티북 제작 요청(배경 데이터 생성 요청)에 의해 각 피스들이 삽입될 배경 페이지 수가 결정될 수 있으며, 각 배경 페이지에 제작자 단말기(20)에 의해 블록화된 피스들이 삽입되면서, 멀티북이 제작될 수 있다.
이 경우 상기 블록화부(330)는, 상기 피스를, 블록 고유 정보인 고유 해시값, 생성된 블록의 순서에 따른 블록 일렬번호 및, 상기 블록이 생성 또는 수정 시각의 정보, 즉 타임 스탬프(time stamp) 정보를 포함하는 블록 정보가 매칭되는 블록으로 블록화할 수 있다.
그런데 발췌 데이터의 경우, 상기 스캔부(320)에서 추출된 원작 도서의 일 부분에 대한 고유 해시값이 이미 매칭된 상태일 수 있다. 이러한 경우 블록화부(330)는, 상기 원작 도서의 일 부분에 대한 고유 해시값을 더 포함하는 블록 정보를 생성하고, 상기 원작 도서로부터 추출된 고유 해시값을 더 포함하는 블록 정보를 상기 블록화된 피스에 매칭시킬 수 있다. 이에 따라 상기 발췌 데이터로부터 생성된 피스를 블록화한 경우, 상기 피스는 제작되는 멀티북에 따른 블록 고유 정보(고유 해시값)와, 블록 일렬번호 및 타임 스탬프 정보 외에, 상기 원작 도서로부터 추출된 고유 해시값을 더 포함하는 블록 정보에 매칭될 수 있다. 이하 상기 원작 도서로부터 추출된 고유 해시값과 상기 제작되는 멀티북에 따른 블록 고유 정보(고유 해시값)를 구분하기 위하여, 상기 원작 도서로부터 추출된 고유 해시값을, '해시 포인터'라고 하기로 한다.
한편 본 발명의 실시 예에 따른 멀티북은 제작자가 직접 입력하는 문자나 이미지 또는 동영상과 같은 컨텐츠를, 상기 멀티북을 구성하는 피스로서 입력받을 수 있다. 이 경우 블록화부(330)는 상기 제작자 단말기(20)로부터 직접 입력되는 컨텐츠를 블록화하고, 제어부(300)의 제어에 따라 제작자 단말기(20)로부터 요청된 위치에 상기 블록화된 컨텐츠를 상기 멀티북을 구성하는 피스로서 멀티북에 삽입할 수 있다.
한편 이처럼 제작자가 직접 입력한 컨텐츠, 즉 저작 데이터에 의해 피스가 구성되는 경우, 상기 피스에 대응하는 블록은 원작 도서로부터 추출된 고유 해시값이 포함되지 않을 수 있다. 즉, 원작 도서로부터 발췌되지 않고 제작자가 직접 제작하여 입력한 피스의 경우, 제작자가 저작자이며, 그 피스 자체가 원작 도서 데이터이므로, 제작되는 멀티북에 따른 블록 고유 정보(고유 해시값)와, 블록 일렬번호 및 타임 스탬프 정보만을 가지는 블록 정보가 매칭될 수 있다.
이처럼 본 발명의 실시 예에 따른 멀티북은, 원작 도서로부터 발췌된 발췌 데이터로부터 생성되는 피스들과, 제작자가 직접 제작하여 입력한 저작 데이터로부터 생성되는 피스들의 조합으로 구성될 수 있다. 이 경우 상기 발췌 데이터로부터 생성되는 피스들은 상기 원작 도서로부터 추출된 원작 도서의 고유 해시값, 즉 해시 포인터 정보를 블록 정보로서 더 포함하는 블록으로 블록화되는 반면, 상기 저작 데이터로부터 생성되는 피스들은 상기 해시 포인터 정보를 포함하지 않는 블록 정보로서 포함하는 블록으로 블록화될 수 있다. 이하 상기 해시 포인터를 가지는 블록, 즉 원작 도서로부터 발췌된 내용을 포함하는 블록을 발췌 블록이라고 하기로 하고, 상기 해시 포인터를 가지지 않는 블록, 즉 제작자가 제작한 저작 데이터의 내용을 포함하는 블록을 제네시스 블록이라고 하기로 한다.
한편 본 발명의 실시 예에 따른 제작 서버(11)는 도서 제공자로부터 제공된 도서 데이터로부터 일부를 발췌하여 발췌 데이터를 생성하는 발췌 데이터 생성부(340)를 포함할 수 있다.
일 예로 상기 발췌 데이터는, 스캔부(320)를 통해 스캔된 원작 도서의 도서 데이터 일 부분과, 상기 스캔된 일 부분에 대응하는 상기 원작 도서의 일 부분에 대응하는 블록 고유 정보로 형성될 수 있다. 그런데 이러한 발췌 데이터는 상기 원작 도서의 도서 데이터 일부분이며, 제작자의 멀티북 제작을 위해 발췌된 부분일 수 있다. 이에 따라 상기 원작 도서의 도서 데이터에 대한 보안성을 강화하고, 더불어 적합한 부분을 발췌하고자 하는 상기 제작자의 노력에 따른 발췌 부분에 대한 보안성을 강화하기 위하여, 본 발명의 실시 예에 따른 제작 서버(11)는 지정된 제작자의, 지정된 제작자 단말기(20)가 아닌 경우에는, 정상적으로 디스플레이부 상에 표시되지 않도록 설정된 발췌 데이터를 제작자 단말기(20)에 제공할 수도 있음은 물론이다. 이를 위해 제작 서버(11)는 발췌 데이터 생성부(340)를 포함할 수 있다.
발췌 데이터 생성부(340)는 상기 스캔부(320)를 통해 이미지화된 상기 원작 도서의 일 부분에 대응하는 이미지 데이터를 기 설정된 인코딩 방식으로 인코딩하여 문자열로 변환하는 변환부(341)를 포함할 수 있다. 그리고 기 설정된 드로잉(drawing) 키를 상기 변환된 문자열에 삽입하는 키 삽입부(342)를 포함할 수 있다.
일 예로 변환부(341)는 상기 이미지 데이터를 base64 알고리즘에 따라 인코딩할 수 있다. 이 경우 상기 이미지 데이터에 대응하는 이진 데이터는 6개의 비트마다 서로 다른 문자로 변환될 수 있다. 따라서 상기 이미지화된 상기 원작 도서의 일 부분은, 하나의 긴 문자열의 형태(문자열 데이터)로 변환될 수 있다.
그리고 키 삽입부(342)는 기 저장된 제작자의 식별 정보, 상기 제작자 단말기(20)의 식별 정보, 및 상기 발췌가 요청된 시각(이하 발췌 요청 시각)의 정보 중 적어도 하나를 임의로 상기 변환부(341)에서 인코딩된 문자열의 기 설정된 위치에 드로잉 키로서 삽입할 수 있다. 여기서 상기 드로잉 키가 삽입되는 위치는 제작 서버(11)와 제작 단말기(20) 사이에 미리 정해진 위치일 수 있다. 일 예로 상기 드로잉 키는 상기 인코딩된 문자열 데이터의 처음 또는 처음으로부터 일정 개수의 문자 다음에 삽입될 수 있다. 보다 바람직하게 드로잉 키는 문자열 데이터의 앞 부분에 삽입될 수 있다. 이는 드로잉 키가 첫 문자로부터 가까운 부분에 삽입될수록 더 많은 문자열 데이터가 쉬프트 될 수 있기 때문이다.
또한 상기 제작자의 식별 정보, 제작자 단말기(20)의 식별 정보, 그리고 발췌 요청 시각의 정보는 모두 같은 개수의 문자로 이루어지는 문자열일 수 있다. 그리고 발췌 데이터 생성부(340)는 상기 드로잉 키가 인코딩된 문자열에 삽입된 데이터를 발췌 데이터로 메모리(350)에 저장할 수 있다. 이 경우 상기 발췌 데이터에 대응하는 발췌 요청 시각의 정보는 제작자 단말기(20)와 공유될 수 있다.
한편 제작자 단말기(20)로부터 발췌 데이터에 대한 요청이 수신되는 경우, 제어부(300)는 상기 드로잉 키가 인코딩된 문자열에 삽입된 데이터를 발췌 데이터가 저장된 메모리(350) 상의 일 영역에 대한 제작자 단말기(20)의 접근을 허용할 수 있다. 그러면 제작자 단말기(20)는 상기 발췌 데이터, 즉 문자열 데이터로부터 먼저 제작자의 식별 정보나 제작자 단말기(20)의 식별 정보, 또는 발췌 요청 시각의 정보 중 어느 하나에 대응하는 드로잉 키를 상기 문자열 데이터의 지정된 위치로부터 제거할 수 있다. 그리고 상기 제작자의 식별 정보나 제작자 단말기(20)의 식별 정보, 또는 발췌 요청 시각의 정보 중 어느 하나 대응하는 문자들의 개수 만큼 상기 지정된 위치 이후의 문자열을 쉬프트(shift)하고 쉬프트 된 문자열을 이진 데이터로 디코딩할 수 있다. 그리고 디코딩된 이진 데이터에 대응하는 이미지를 제작자 단말기(20)의 디스플레이부 상에 표시할 수 있다.
따라서 상기 제작자 단말기(20)가 올바르게 드로잉 키를 제거한 경우, 상기 이미지화된 원작 도서의 일 부분에 대응하는 문자열 데이터가 복원될 수 있다. 그러면 제작자 단말기(20)는 상기 복원된 문자열 데이터를 상기 원작 도서의 일 부분에 대응하는 이진 데이터로 디코딩할 수 있으며, 상기 디코딩된 이진 데이터를 상기 제작자 단말기(20)의 디스플레이부 상에 드로잉하는 형태로 표시할 수 있다. 이를 위해 상기 제작자 단말기(20)는 문자열 데이터를 이진 데이터로 디코딩하는 디코딩부 및, 디코딩된 이진 데이터를 제작자 단말기(20) 디스플레이부 상의 일 영역에 다시 그리는 형태로 이미지를 표시하는 드로잉부를 포함하여 구성될 수 있다. 이하 도 3b를 참조하여 상기 제작자 단말기(20)의 구성을 보다 자세히 살펴보기로 한다.
한편 올바르게 드로잉 키가 제거되지 않은 경우, 즉 드로잉 키가 제거되지 않거나, 또는 잘못된 위치에서 드로잉 키가 제거된 경우, 또는 잘못된 개수의 문자들이 드로잉 키로서 제거된 경우, 드로잉 키의 적어도 일부가 문자열에 잔존하거나 또는 이미지화된 원작 도서의 일 부분에 대응하는 문자열 데이터의 일부가 제거 및 쉬프트 될 수 있다. 이처럼 적어도 하나의 추가된 문자(드로잉 키)가 잔존하거나 또는 더 제거된 문자가 있는 경우 상기 드로잉 키의 제거를 위한 문자열의 쉬프트가 이루어지면 이미지화된 원작 도서의 일 부분에 대응하는 문자열 데이터와 다른 문자열을 가지는 문자열 데이터가 복원될 수 있다.
그러면 제작자 단말기(20)의 디코딩부는 상기 이미지화된 원작 도서의 일 부분에 대응하는 이진 데이터와 다른 이진 데이터로 상기 잘못된 문자열 데이터를 디코딩할 수 있으며, 이에 따라 드로잉부에서 드로잉 되는 이미지는, 상기 원작 도서의 일 부분과 상이한 이미지를 드로잉 할 수 있다. 즉, 제작자 단말기(20) 사용자(제작자)의 식별 정보나 제작자 단말기(20)의 식별 정보, 또는 해당 발췌 데이터에 대응하는 발췌 요청 시각의 정보가 잘못된 경우, 그리고 제작 서버(11)와 미리 약속된 드로잉 키 삽입 위치가 설정되지 않은 경우, 올바른 발췌 데이터가 제작자 단말기(20)에서 표시되지 않을 수 있다.
한편 제작 서버(11)의 메모리(350)는, 제작 서버(11)의 다양한 기능을 지원하는 데이터 및 명령어들을 저장한다. 메모리(350)는 제작 서버(11)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 제작 서버(11)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다.
예를 들어 상기 메모리(350)는 스캔부(320)에서 스캔 및 인식, 그리고 추출을 위한 알고리즘과 명령어들 그리고 데이터들을 저장할 수 있다. 또한 블록화부(330)에서 블록 정보를 생성하기 위한 명령어 및 데이터들을 저장할 수 있다. 또한 발췌 데이터 생성부(340)에서 인코딩을 위한 알고리즘과 명령어들, 그리고 데이터들, 예를 들어 base64 인코딩 방식에 따라 이미지 데이터를 문자열로 인코딩하기 위한 명령어와 데이터들을 저장할 수 있다.
또한 메모리(350)는 제1 및 제2 도서 제공자(51, 52)로부터 제공된 전자 도서의 도서 데이터들이 저장되는 도서 데이터 저장부(360)를 포함할 수 있다. 상기 도서 데이터 저장부(360)에 저장되는 도서 데이터들은 블록화부(330)를 통해 기 설정된 단위, 예를 들어 문장, 단락, 페이지 또는 챕터 별로 블록화가 이루어진 블록들일 수 있으며, 각각의 블록에 매칭되는 블록 고유 정보(고유 해시값)를 포함하는 블록 정보가 매칭되는 블록들일 수 있다.
이 경우 상기 도서 데이터의 블록들 중, 다른 도서 데이터의 블록으로부터 발췌된 내용을 포함하는 블록은, 발췌된 상기 다른 도서 데이터의 블록 고유 정보를 해시 포인터 정보로 포함하는 블록, 즉 발췌 블록일 수 있다. 즉, 상기 제1 도서 제공자(51) 또는 제2 도서 제공자(52)로부터 제공되는 도서 데이터들 역시 제네시스 블록과 발췌 블록으로 이루어지는 도서 데이터들일 수 있다.
한편 여기서 상기 발췌 블록의 경우, 해시 포인터 값은 원문, 즉 발췌된 다른 도서 데이터 블록의 블록 고유 정보(고유 해시값)일 수 있다. 이 경우 상기 해시 포인터 값에 의해 지정되는 원문의 블록 역시, 다른 원문의 블록으로부터 발췌된 발췌 블록일 수 있다. 이 경우 상기 원문의 발췌 블록의 블록 정보에는 다른 원문 블록의 고유 해시값을 해시 포인터 값으로 포함하는 블록 정보가 매칭될 수 있다. 따라서 고유 해시값 외에 해시 포인터 값을 더 가지는 발췌 블록들의 경우, 상기 해시 포인터 값에 근거하여 단계적으로 트래킹이 가능하므로, 상기 발췌 블록의 내용을 최초 작성한 원작자의 도서 데이터에 대한 트래킹이 제공될 수 있다.
한편 메모리(350)는 제작자 단말기(20)의 사용자, 즉 제작자의 데이터가 저장되는 사용자 데이터 저장부(370)를 포함할 수 있다. 상기 사용자 데이터 저장부(370)는 현재 제작자가 제작자 단말기(20)를 통해 제작하고 있는 멀티북의 데이터들이 저장되는 멀티북 데이터 저장부(371) 및, 제작자가 상기 멀티북을 생성하기 위해 적어도 하나의 다른 도서 데이터로부터 발췌한 발췌 데이터들이 저장되는 발췌 데이터 저장부(372)를 포함할 수 있다.
여기서 상기 멀티북 데이터 저장부(371)는 현재 작성중인 멀티북 데이터 및 상기 멀티북 데이터 작성을 위해 제작자로부터 입력되는 문자열과 이미지등 저작 데이터들이 저장될 수 있다.
또한 상기 발췌 데이터 저장부(372)는 제작자가 적어도 하나의 원작 도서 데이터로부터 발췌한 도서 데이터들의 일부분을 문자열 데이터로 인코딩 및, 기 설정된 위치에 드로잉 키가 삽입된 문자열 데이터와, 상기 발췌한 도서 데이터들의 일 부분에 대응하는 블록으로부터 추출된 블록 고유 정보(고유 해시값)를 포함하는 발췌 데이터 및, 각 발췌 데이터에 대응하는 원작 도서의 정보를 포함하는 도서 데이터 정보가 저장될 수 있다. 이 경우 상기 도서 데이터 정보는 상기 추출된 고유 해시값을 매개로 상기 발췌 데이터에 연관될 수 있다.
한편 제어부(300)는 연결된 각 구성 요소를 제어 및, 제작 서버(11)의 전반적인 동작을 제어한다. 예를 들어, 제작 서버(11)는 제1 및 제2 도서 제공자(51, 52)로부터 제공되는 전자 도서들을 블록화한 도서 데이터들을 저장하고, 제작자 단말기(20)의 요청에 따라 상기 블록화된 도서 데이터(이하 원작 도서 데이터)들의 열람을 상기 제작자 단말기(20)에 허용할 수 있다. 그리고 상기 제작자 단말기(20)의 요청에 따라 상기 원작 도서 데이터의 적어도 일부를 스캔하여 이미지화하고, 상기 스캔된 원작 도서 데이터의 적어도 일부에 대응하는 블록 고유 정보(고유 해시값)를 추출하도록 스캔부(320)를 제어할 수 있다.
그리고 제어부(300)는 발췌 데이터 생성부(340)를 제어하여, 상기 스캔된 원작 도서 데이터의 이미지에 대응하는 이진 데이터를 문자열 데이터로 인코딩할 수 있다. 그리고 제작자의 식별 정보, 제작자 단말기(20)의 식별 정보, 그리고 발췌가 요청된 시각의 정보 중 적어도 하나를 임의로 상기 인코딩된 문자열의 기 설정된 위치에 드로잉 키로서 삽입할 수 있다.
이를 위해 제어부(300)는 제작자 단말기(20)에서 상기 원작 도서 데이터의 적어도 일부에 대한 발췌 요청 시각을 검출할 수 있다. 그리고 제어부(300)는 검출된 발췌 요청 시각의 정보를, 상기 원작 도서 데이터의 적어도 일부에 대한 스캔, 즉 발췌를 요청한 제작자 단말기(20)에 제공할 수 있다. 이 경우 상기 검출된 발췌 요청 시각의 정보는 상기 스캔된 원작 도서 데이터의 블록으로부터 추출된 고유 해시값에 매칭될 수 있다. 즉, 상기 발췌 요청 시각의 정보는 상기 고유 해시값을 매개로 발췌 데이터와 연관될 수 있다.
그리고 제어부(300)는 제작자 단말기(20)의 요청에 따라, 저장된 발췌 데이터에 대한 제작자 단말기(20)의 열람을 허용할 수 있다. 따라서 제작자 단말기(20)는 드로잉 키가 삽입된 문자열 데이터에 접근할 수 있다. 그러면 제작자 단말기(20)는 제작자 식별 정보, 제작자 단말기(20)의 식별 정보 또는 발췌 요청 시각의 정보에 근거하여 문자열로부터 드로잉 키가 제거 및 문자열을 쉬프트 할 수 있으며, 이를 이진 데이터로 디코딩하여 디스플레이부 상에 표시할 수 있다.
한편 발췌 데이터에 대한 제작자 단말기(20)의 접근을 허용하면, 제어부(300)는 열람이 허용된 발췌 데이터의 일부를 선택하기 위한 제작자 단말기(20)의 입력을 수신할 수 있다. 일 예로 상기 제작자 단말기(20)의 입력은 열람이 허용된 발췌 데이터의 일 영역을 선택하기 위한 마킹 입력일 수 있다. 그러면 제어부(300)는 상기 제작자 단말기(20)가 마킹한 발췌 데이터의 일 영역을 스캔하거나 인식할 수 있으며, 스캔된 이미지나 인식된 문자열을 제작자의 선택에 따른 멀티북의 배경 데이터 내 임의의 위치에 삽입할 수 있다.
그리고 삽입된 이미지나 문자열이, 기 설정된 단위, 예를 들어 문장, 단락, 페이지 또는 챕터를 형성하는 경우, 상기 기 설정된 단위를 형성한 삽입된 이미지나 문자열을 하나의 블록으로 블록화하고, 제작 중인 멀티북에 따른 블록 고유 정보, 즉 고유 해시값 및, 블록의 순서에 따른 블록 일렬정보와 블록이 형성된 시각(타임 스탬프) 정보 및, 상기 발췌 데이터의 고유 해시값을 해시 포인터로 포함하는 블록 정보를 생성할 수 있다. 그리고 생성된 블록 정보를, 상기 발췌 데이터로부터 스캔 또는 인식된 이미지나 문자열을 포함하여 생성된 블록에 매칭시켜 저장할 수 있다. 이 경우 상기 발췌 데이터로부터 스캔 또는 인식된 이미지나 문자열을 포함하여 생성된 블록은 해시 포인터 정보를 포함하는 발췌 블록으로 멀티북에 포함될 수 있다.
한편 제어부(300)는 제작자 단말기(20)로부터 직접 입력되는 문자나 이미지 또는 동영상이나 음악 등의 멀티미디어 데이터를 상기 멀티북에 삽입할 수도 있다. 이 경우 상기 제작자 단말기(20)로부터 직접 입력되는 문자나 이미지 또는 동영상이나 음악 등의 멀티미디어 데이터, 즉 저작 컨텐츠가 기 설정된 단위를 형성하는 경우 상기 기 설정된 단위를 형성한 삽입된 저작 컨텐츠를 하나의 블록으로 블록화하고, 제작 중인 멀티북에 따른 블록 고유 정보, 즉 고유 해시값 및, 블록의 순서에 따른 블록 일렬정보와 블록이 형성된 시각(타임 스탬프) 정보를 포함하는 블록 정보를 생성할 수 있다. 이 경우 상기 저작 컨텐츠를 포함하여 생성된 블록은 해시 포인터 정보를 포함하지 않는 제네시스 블록으로 멀티북에 포함될 수 있다.
한편 상기 발췌 블록 또는 제네시스 블록을 삽입하여 멀티북이 생성될 수 있다. 그리고 생성된 멀티북에 대하여 제작자 단말기(20)로부터 제작 완료가 요청되면, 제어부(300)는 상기 제작이 완료된 멀티북의 도서 데이터에 대한 판매 게시 여부를 제작자 단말기(20)에 확인할 수 있다.
그리고 제작자 단말기(20)가 판매 게시 요청을 전송하는 경우, 상기 제작이 완료된 멀티북의 도서 데이터를 판매 서버(12)에 제공 및, 상기 멀티북의 도서 데이터를 판매 가능한 상태로 게시하도록 상기 판매 서버(12)에 요청할 수 있다. 그러면 판매 서버(12)는 멀티북의 도서 데이터에 근거하여 가격 정보를 제작자 단말기(20)에 전송하고, 제작자와 협의된 가격 정보에 따라 상기 멀티북의 도서 데이터를 판매 가능한 상태로 게시할 수 있다. 이하 판매 서버(12)의 이러한 동작에 대해서는 하기 도 12 내지 도 14를 참조하여 보다 자세하게 살펴보기로 한다.
한편 도 3b는 본 발명의 실시 예에 따른 서비스 플랫폼(10)에 연결되는 제작자 단말기(20)의 구성을 도시한 블록도이다.
도 3b를 참조하여 살펴보면, 상기 제작자 단말기(20)는 제어부(400)와, 상기 제어부(400)에 연결되는 통신부(410), 디코딩부(420), 디스플레이부(430), 드로잉 부(440), 메모리(450) 및 입력부(460)를 포함하여 구성될 수 있다. 도 3b에 도시된 구성요소들은 제작자 단말기(20)를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 제작자 단말기(20)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
먼저 통신부(410)는 포털 사이트의 서버 또는 제작 서버(11) 등의 외부 서버와 제작자 단말기(20) 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 또한, 상기 통신부(410)는, 제작자 단말기(20)를 하나 이상의 네트워크에 연결하는 하나 이상의 모듈을 포함할 수 있다. 이를 위해 상기 통신부(410)는 제작자 단말기(20)가 무선 인터넷 접속을 할 수 있도록 모듈로서, 무선 인터넷 기술들에 따른 통신망에서 무선 신호를 송수신하도록 형성될 수 있다.
한편 상술한 제작 서버(11)의 설명과 같이, 제작 서버(11)는 제작자의 요청에 따라 발췌된 원작 도서의 적어도 일부에 대응하는 이미지 데이터를 문자열로 인코딩한 데이터에 대한 제작자 단말기(20)의 열람을 제공할 수 있다. 따라서 본 발명의 실시 예에 따른 제작자 단말기(20)는 상기 문자열로 인코딩된 데이터를 이미지 데이터에 대응하는 이진 데이터로 디코딩하는 디코딩부(420)를 구비할 수 있다.
일 예로 상기 디코딩부(420)는 base64 인코딩된 문자열 데이터를 이진 데이터로 디코딩할 수 있다. 이 경우 디코딩부(420)는 상기 문자열 데이터에 포함된 각 문자를, 각 문자에 대응하는 6개의 비트로 변환할 수 있다. 따라서 상기 문자열 데이터가 이진 데이터로 변환될 수 있으며, 상기 이진 데이터는 제작자의 요청에 따라 발췌된 원작 도서의 적어도 일부에 대응하는 이미지 데이터일 수 있다.
한편 제작자 단말기(20)는 상기 이미지 데이터를 디스플레이부(430)에 표시할 수 있다. 그런데 이미지 데이터를 파일 형태로 디스플레이부(430) 상에 출력하는 경우 상기 이미지 데이터 자체에 대한 무단 복제가 발생할 수 있다. 이에 따라 본 발명의 실시 예에 따른 제작자 단말기(20)는 상기 이미지 데이터(이진 데이터)에 대응되는 이미지를 디스플레이부(430)의 지정된 영역에 드로잉하는 형태로 표시할 수 있다. 이에 따라 제작자 단말기(20)는 상기 이미지 데이터(이진 데이터)에 대응하는 이미지를 디스플레이부(430) 상의 기 설정된 영역에 드로잉하는 드로잉부(440)를 포함할 수 있다.
상기 드로잉부(440)는 상기 이진 데이터에 대응하는 이미지를 디스플레이부(430) 상의 일 영역에 그릴 수 있다. 즉, 드로잉부(440)에 의하여 이미지 파일이 출력되는 것이 아니라, 이진 데이터에 대응하는 이미지가 디스플레이부(430)의 일 영역에 다시 그려지는 형태로 이미지가 표시될 수 있다. 이러한 드로잉부(440)는 CANVAS API 등으로 구현될 수 있다.
그리고 디스플레이부(430)는 제작자 단말기(20)에서 처리되는 다양한 정보를 표시(출력)할 수 있다. 예를 들어, 디스플레이부(430)는 제작자 단말기(20)에서 구동되는 응용 프로그램의 실행화면 정보, 또는 이러한 실행화면 정보에 따른 UI(User Interface), GUI(Graphic User Interface) 정보를 표시할 수 있다.
한편 입력부(460)는 제작자로부터 정보를 입력받기 위한 것으로서, 문자 또는 이미지를 입력받기 위한 적어도 하나의 기계식 (mechanical) 입력 수단 및 터치식 입력수단을 포함할 수 있다. 일 예로서, 터치식 입력수단은, 터치스크린에 표시되는 가상 키(virtual key), 소프트 키(soft key) 또는 비주얼 키(visual key)등으로 이루어질 수 있다.
한편 메모리(450)는 제작자 단말기(20)의 다양한 기능을 지원하는 데이터 및 명령어들을 저장한다. 메모리(450)는 제작자 단말기(20)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 및 제작자 단말기(20)의 동작을 위한 다양한 데이터들과 명령어들을 저장할 수 있다.
일 예로 메모리(450)는 멀티북을 생성하기 위해 입력부(460)를 통해 입력되는 문자열 및 이미지 등을 임시 저장할 수 있다. 또한 제작 서버(11)로부터 접근이 허용된 발췌 데이터에 접근하여, 발췌 데이터로 저장된 문자열 데이터를 임시 저장할 수 있다. 또한 저장된 문자열 데이터를 디코딩한 이진 데이터를, 드로잉부(440)가 디스플레이부(430) 상에 드로잉 할 때까지 임시 저장할 수 있다.
또한 메모리(450)는 상기 제작 서버(11)에서 제공되는 발췌 요청 시각 정보들을 저장할 수 있다. 상기 발췌 요청 시각 정보들은 발췌 데이터에 각각 매칭되는 블록 고유 정보, 즉 고유 해시값에 매칭된 데이터일 수 있다. 그리고 제작 서버(11)로부터 특정 발췌 데이터에 대한 접근이 허용되면, 접근이 허용된 발췌 데이터의 고유 해시값에 매칭되는 어느 하나의 발췌 요청 시각 정보를 검출할 수 있다. 그리고 검출된 발췌 요청 시각의 정보는 상기 접근이 허용된 발췌 데이터, 즉 문자열 데이터로부터 드로잉 키를 제거하기 위해 사용될 수 있다.
그리고 제어부(400)는 연결된 각 구성요소를 제어하며, 제작자 단말기(20)의 전반적인 기능을 제어할 수 있다.
먼저 제어부(400)는 통신부(410)를 통해 제작 서버(11)에 통신 연결을 수행할 수 있으며, 멀티북 제작을 위한 다양한 요청(멀티북 제작 요청)을 제작 서버(11)에 전송할 수 있다. 일 예로 멀티북 생성을 위한 배경 데이터를 생성하기 위한 배경 데이터 생성을 요청할 수 있으며, 원작 도서 데이터의 요청 및 상기 원작 도서 데이터의 적어도 일부를 발췌하고 발췌된 데이터와 상기 원작 도서 데이터의 고유 해시값을 추출하여 발췌 데이터를 생성하기 위한 발췌 데이터 생성 요청을 전송할 수 있다. 또한 멀티북의 제작을 위해 기 생성된 발췌 데이터의 열람을 요청할 수 있으며, 열람이 허용된 발췌 데이터로부터 일부를 스캔 및 인식하고, 스캔 및 인식된 상기 발췌 데이터의 일부를 상기 멀티북의 배경 데이터에 삽입하기 위한 삽입 요청을 전송할 수 있다.
이 경우 상기 발췌 데이터는, 원작 도서 데이터의 일부를 스캔한 이미지 데이터를 기 설정된 방식으로 문자열 데이터로 인코딩한 데이터일 수 있다. 이에 상기 제작자 단말기(20)는, 디코딩부(420)를 제어하여 상기 문자열로 인코딩된 데이터를 이진 데이터로 디코딩할 수 있다.
한편 상기 문자열 데이터는, 상술한 바와 같이 제작자의 식별 정보나 제작자 단말기(20)의 식별 정보, 또는 발췌 요청 시각의 정보 중 어느 하나가 드로잉 키로 삽입된 데이터일 수 있다. 이에 제어부(400)는 상기 열람이 허용된 발췌 데이터의 문자열 데이터의 기 설정된 위치로부터, 상기 제작자의 식별 정보나 제작자 단말기(20)의 식별 정보, 또는 발췌 요청 시각의 정보 중 어느 하나가 포함되어있는지 여부를 검출하고, 검출 결과에 따라 상기 제작자의 식별 정보나 제작자 단말기(20)의 식별 정보, 또는 발췌 요청 시각의 정보 중 어느 하나를 상기 문자열로부터 제거할 수 있다. 그리고 제거된 문자들의 개수 만큼 문자열 데이터를 쉬프트 및, 쉬프트 된 문자열 데이터를 이진 데이터로 디코딩하도록 상기 디코딩부(420)를 제어할 수 있다. 그리고 디코딩부(420)에서 디코딩된 이진 데이터를 디스플레이부(430) 상의 일 영역에 표시하도록 드로잉부(440)를 제어할 수 있다.
한편 상술한 과정을 통해 발췌 데이터에 대응하는 원작 도서 데이터(발췌된 원작 도서 데이터)가 디스플레이부(430) 상에 표시되면, 제어부(400)는 제작자의 입력에 따라 상기 디스플레이부(430) 상에 표시되는 발췌된 원작 도서 데이터의 적어도 일부를 스캔 및 인식하도록 제작 서버(11)에 요청할 수 있다. 그리고 제작 서버(11)에 의해 스캔 및 인식된 상기 발췌된 원작 도서 데이터의 적어도 일부를, 제작 중인 멀티북의 배경 데이터에 삽입할 수 있다.
그리고 입력부(460)를 통해 제작자가 상기 멀티북의 제작 완료 및 제작된 멀티북의 판매 게시를 요청하는 경우, 상기 제작자의 요청을 상기 제작 서버(11)에 전송할 수 있다. 그러면 제작 서버(11)는 상기 제작자의 요청에 따라 멀티북의 제작을 완료하고, 완료된 멀티북이 판매 가능한 상태로 게시되도록 판매 서버(12)에 상기 제작이 완료된 멀티북의 도서 데이터를 제공할 수 있다.
한편 상술한 설명에서는 본 발명의 실시 예에 따른 서비스 플랫폼(10)의 제작 서버(11)와 상기 제작 서버(11)와 연동되어 멀티북을 제작하는 제작자 단말기(20)의 구조를 자세히 살펴보았다.
이하에서는, 상기 제작자 단말기(20)의 요청에 따라 제작 서버(11)가 멀티북을 제작하는 동작 과정을, 도 4 내지 도 11을 참조하여 자세하게 살펴보기로 한다.
먼저 도 4는, 도 3a에서 도시한 제작 서버(11)가, 본 발명의 실시 예에 따라 멀티북을 생성하는 동작 과정을 도시한 흐름도이다.
도 4를 참조하여 살펴보면, 본 발명의 실시 예에 따른 서비스 플랫폼(10)의 제작 서버(11)는 먼저 복수의 도서 제공자로부터 제공된 전자도서를 기 설정된 단위(예 : 문장, 단락, 페이지, 또는 챕터)로 블록화할 수 있다. 그리고 블록화된 도서 데이터를 도서 데이터 저장부(360)에 저장할 수 있다(S400). 여기서 상기 도서 제공자는, 멀티북의 제작자와 상기 멀티북의 제작을 위해 전자 도서의 도서 데이터 사용을 사전에 합의한 상기 전자 도서의 정당한 권리자일 수 있다. 일 예로 상기 도서 제공자는 상기 전자도서의 저작권자이거나 또는 상기 저작권자로부터 도서 데이터의 사용을 허가 받은 자일 수 있다. 일 예로 멀티북의 제작자는 구매 등으로 상기 도서 데이터의 사용을 허가 받은 경우, 상기 멀티북의 제작자가 상기 도서 제공자일 수도 있다.
상기 S400 단계에서 도서 제공자로부터 전자도서가 제공되는 경우, 제작 서버(11)는 상기 제공된 전자도서의 도서 요약 정보를 제공할 수 있다. 예를 들어 도서 요약 정보는 상기 포털 사이트(200)에 게시할 수 있으며, 포털 사이트(200)에 게시된 도서 요약 정보가 제작자 단말기(20)를 통해 검색되어, 상기 도서 요약 정보가 제작자에게 제공될 수 있다(S402).
한편 제작자 단말기(20)를 통해 제공된 도서 요약 정보를 바탕으로 제작자는 멀티북에 포함시킬 내용을 포함하는 원작 도서를 선택할 수 있다. 그리고 상기 멀티북에 포함시킬 내용을 포함하는 원작 도서의 도서 데이터에 대한 열람을 제작 서버(11)에 요청할 수 있다. 그러면 요청에 대한 응답으로 제작 서버(11)는 제작자 단말기(20)에 상기 선택된 원작 도서의 도서 데이터에 대한 열람을 허용하여, 상기 원작 도서의 도서 데이터를 상기 제작자 단말기(20)에 제공할 수 있다(S404).
그리고 제작 서버(11)는 제작자 단말기(20)로부터, 열람이 허용된 도서 데이터에 대한 발췌가 요청되었는지 여부를 판별할 수 있다(S406). 그리고 S406 단계의 판별 결과, 도서 데이터에 대한 발췌가 요청된 경우라면, 발췌 요청에 따라 도서 데이터의 일부를 스캔하고, 스캔된 도서 데이터의 일부를, 상기 스캔된 도서 데이터의 일부로부터 추출된 고유 해시값을 포함하는 발췌 데이터로 생성 및, 생성된 발췌 데이터를 저장할 수 있다(S408). 이하 상기 발췌 데이터를 생성 및 저장하는 상기 S408 단계를, 하기 도 5를 참조하여 보다 자세하게 살펴보기로 한다.
한편 상기 S406 단계의 판별 결과, 도서 데이터에 대한 발췌가 요청되지 않았거나, 상기 S408 단계에서 발췌 데이터가 생성 및 저장된 경우라면, 제작 서버(11)는 제작자 단말기(20)로부터 멀티북의 제작 요청이 수신되었는지 여부를 판별할 수 있다(S410). 그리고 S410 단계의 판별 결과 멀티북의 제작 요청이 수신되지 않은 경우라면, 제작 서버(11)는 다시 S406 단계로 진행하여 상기 도서 데이터의 다른 부분 또는 다른 도서 데이터의 일부에 대한 발췌 요청이 수신되었는지 여부를 판별할 수 있다. 그리고 발췌 요청이 수신된 경우라면 S408 단계로 다시 진행하여 상기 도서 데이터의 다른 부분 또는 다른 도서 데이터의 일부에 대응하는 발췌 데이터를 생성할 수 있다.
반면 S410 단계의 판별 결과 멀티북의 제작 요청이 수신된 경우라면, 제작 서버(11)는 제작자의 선택에 따라 현재까지 생성된 발췌 데이터들을 목록화하여 표시할 수 있다. 그리고 목록화된 발췌 데이터들 중 어느 하나가 제작자에 의해 선택되면, 선택된 발췌 데이터가 저장된 메모리(350) 상의 일 영역에 대한 제작자 단말기(20)의 접근을 허용하여, 상기 선택된 발췌 데이터에 대응하는 이미지가 상기 제작자 단말기(20)에 표시될 수 있도록 통신부(310)를 제어할 수 있다(S412).
한편 상기 발췌 데이터는 문자열 데이터로 인코딩된 데이터일 수 있으며, 기 설정된 드로잉 키가 삽입된 상태일 수 있다. 이 경우 제작 서버(11)는 상기 드로잉 키가 삽입된 문자열 데이터를 직접 제작자 단말기(20)에 제공하여, 제작자 단말기(20)가 상기 드로잉 키를 제거 및, 드로잉 키가 제거된 문자열 데이터를 이진 데이터로 디코딩하여 상기 발췌 데이터에 대응하는 이미지가 제작자 단말기(20)의 디스플레이부(430) 상에 표시되도록 할 수 있다.
또는 제작 서버(11)는 어느 하나의 발췌 데이터가 선택되면, 선택된 발췌 데이터에 대응하는 발췌 요청 시각의 정보를 제작자 단말기(20)로부터 수신할 수 있다. 또한 제작 서버(11)는 제작자 식별정보와 상기 제작자 단말기(20)의 식별정보를 수신할 수 있다. 그리고 상기 드로잉 키가 삽입된 문자열 데이터의 기 설정된 위치로부터, 상기 수신된 발췌 요청 시각 정보, 제작자 식별정보 또는 제작자 단말기(20) 식별정보 중 어느 하나에 대응하는 드로잉 키를 제거 및, 드로잉 키가 제거된 문자열 데이터를 이진 데이터로 디코딩할 수 있다. 그리고 디코딩된 이진 데이터를 제작자 단말기(20)에 제공할 수 있다. 이 경우 제작자 단말기(20)는 디코딩 과정 없이 바로 상기 발췌 데이터에 대응하는 이미지를 디스플레이부(430) 상에 표시할 수 있다.
이하 이처럼 제작 서버(11)가 제작자 단말기(20)로부터 제공받은 정보들에 근거하여 드로잉 키를 제거하고 드로잉 키가 제거된 문자열 데이터를 디코딩한 이진 데이터를 수신하는 동작 과정을, 하기 도 6을 참조하여 보다 자세하게 살펴보기로 한다.
한편 발췌 데이터에 대응하는 이미지가 제작자 단말기(20)의 디스플레이부(430) 상에 표시되면, 제작 서버(11)는 제작자 단말기(20)로부터 수신되는 요청에 따라 상기 디스플레이된 이미지의 적어도 일부를 스캔 및 인식하여, 현재 제작 중인 멀티북을 구성하는 피스로서 삽입할 수 있다. 이 경우 제작 서버(11)는 피스로서 입력되는 상기 스캔 또는 인식된 이미지의 적어도 일부가, 기 설정된 단위(예 : 문장, 단락, 페이지 또는 챕터)를 형성하는 경우 상기 스캔 또는 인식된 이미지의 적어도 일부를 발췌 블록으로 블록화할 수 있다(S414). 또한 상기 S414 단계에서는 제작자가 직접 입력하는 문자열 또는 이미지 등을 현재 제작 중인 멀티북을 구성하는 피스로서 삽입할 수 있으며, 마찬가지로 기 설정된 단위를 형성하는 경우 블록화(제네시스 블록)할 수 있다. 이하 이처럼 발췌 블록과 제네시스 블록을 포함하여 멀티북이 제작되는 상기 S414 단계의 동작 과정을, 하기 도 7을 참조하여 보다 자세하게 살펴보기로 한다.
한편 상기 S414 단계에서 제네시스 블록 또는 발췌 블록을 삽입하는 멀티북 제작 단계가 수행되면, 제작 서버(11)는 S406 단계로 진행하여, 상기 제작자 단말기(20)로부터 도서 데이터에 대한 발췌 요청이 있는지 여부를 판별할 수 있다. 그리고 발췌 요청이 있는 경우라면 S408 단계를 수행하고, 발췌 요청이 없는 경우라면 S410 단계로 바로 진행하여 멀티북의 제작이 요청되었는지 여부를 판별할 수 있다. 그리고 멀티북의 제작이 요청되었다면 S412 단계 이후의 과정을, 멀티북의 제작이 요청되지 않았다면 다시 S406 단계로 진행하여 상기 제작자 단말기(20)로부터 도서 데이터에 대한 발췌 요청이 있는지 여부를 판별할 수 있다. 즉, 멀티북의 제작이 완료될 때까지 상기 S406 단계 내지 S416 단계에 이르는 동작 과정을 제작자 단말기(20)의 요청에 따라 반복하여 수행할 수 있다.
한편 도 5는 본 발명의 실시 예에 따른 서비스 플랫폼(10)의 제작 서버(11)가, 도 4의 S408 단계에서 제작자 단말기(20)로부터 수신되는 요청에 따라 검색된 도서 데이터의 일부를 발췌하여, 발췌 데이터를 생성 및 저장하는 동작 과정을 도시한 흐름도이다.
도 5를 참조하여 살펴보면, 본 발명의 실시 예에 따른 제작 서버(11)는 제작자 단말기(20)로부터 수신된 검색 요청에 따라, 기 저장된 블록화된 원작 도서의 도서 데이터 중 검색된 도서 데이터에 대한 제작자 단말기(20)의 접근을 허용할 수 있다. 그러면 상기 검색된 도서 데이터에 대한 상기 제작자 단말기(20)의 접근이 허용됨에 따라, 상기 검색된 도서 데이터의 일부분이 상기 제작자 단말기(20)의 디스플레이부(430) 상에 표시될 수 있다(S500).
한편 상기 S500 단계에서 표시되는 도서 데이터는, 표시가 제한된 도서 데이터일 수 있다. 즉 제작자 단말기(20)가 상기 접근이 허용되어 디스플레이부(430) 상에 표시된 도서 데이터의 무단 복제가 방지될 수 있도록, 제작 서버(11)는 상기 제작자 단말기(20)의 디스플레이부(430) 상에 도서 데이터가 표시되는 배경 이미지 상에, 상기 제작자 단말기(20)의 식별 정보 또는 제작자의 식별정보에 대응하는 QR(Quick response) 코드를 표시할 수 있다. 여기서 상기 QR 코드는 정보를 나타내는 패턴 블록이 2차원 매트릭스 형태로 표시될 수 있다.
한편 생성된 QR 코드에 포함된 패턴 블록의 색상은 상기 도서 데이터가 표시되는 배경 이미지로 지정된 색상과 기 설정된 색 거리를 가지는 색상일 수 있다. 따라서 상기 배경 이미지와 구분될 수 있다. 이 경우 상기 배경 이미지의 색상이 달라지면 상기 QR 코드를 나타내는 패턴 블록의 색상 역시 달라질 수 있다.
한편 제작 서버(11)는 S500 단계에서, 접근 허용을 통해 도서 데이터가 제작자 단말기(20)에 제공되는 상태에서, 제작자 단말기(20)로부터 상기 표시되는 도서 데이터의 일부에 대한 선택이 있는지 여부를 검출할 수 있다(S502). 일 예로 제작 서버(11)는 상기 배경 이미지 상에 표시되는 도서 데이터의 적어도 일부분을 선택하기 위한 제작자의 입력을 검출할 수 있으며, 상기 제작자의 입력에 따라 선택된 도서 데이터의 일부분을 발췌 영역으로 설정할 수 있다. 그리고 설정된 발췌 영역에 대한 발췌 요청을 수신할 수 있다. 그리고 발췌가 요청된 발췌 요청 시각을 저장할 수 있다. 그리고 저장된 발췌 요청 시각을 제작자 단말기(20)에 전송할 수 있다.
그리고 상기 S504 단계에서, 현재 설정된 발췌 영역에 대한 발췌 요청이 수신되면, 제작 서버(11)는 발췌가 요청된 상기 도서 데이터의 일부분, 즉 상기 발췌가 요청된 도서 데이터의 일 부분에 해당하는 적어도 하나의 블록을 스캔할 수 있다(S504). 그리고 상기 발췌가 요청된 도서 데이터의 정보 및, 상기 스캔된 도서 데이터의 적어도 하나의 블록으로부터 적어도 하나의 블록 고유 정보, 즉 고유 해시값을 추출할 수 있다(S506).
이 경우 상기 발췌가 요청된 상기 도서 데이터의 일부분이 복수의 블록을 포함하는 경우라면 복수의 블록에 각각 대응하는 복수의 이미지가 상기 S504 단계의 스캔을 통해 생성될 수 있다. 각각의 블록에 대응하는 이미지 별로, 상기 도서 데이터로부터 추출된 각각의 블록에 대응하는 블록 고유 정보들이 매칭될 수 있다.
한편 상기 S506 단계에서, 적어도 하나의 블록이 스캔되어 이미지화되면, 제작 서버(11)는 각 이미지 별로, 각 이미지에 대응하는 이진 데이터를 문자열 데이터로 인코딩할 수 있다(S508). 그리고 각 이미지에 대응하는 인코딩된 문자열에, 제작자의 식별정보, 제작자 단말기(20)의 식별정보, 및 상기 저장된 발췌 요청 시각의 정보 중 어느 하나를, 상기 인코딩된 문자열의 기 설정된 위치에 드로잉 키로 삽입할 수 있다(S510). 여기서 제작자의 식별정보, 제작자 단말기(20)의 식별정보는 제작 서버(11)의 메모리(350)에 상기 제작자에 관련된 정보로서 기 저장된 정보일 수 있다.
한편 상기 기 설정된 위치는 제작자 단말기(20)와 미리 약정된 위치일 수 있다. 하기 [예]는, 문자열 데이터의 5번째 문자 위치에 14자리로 생성된 발췌 요청 시각의 정보가 드로잉 키로 삽입되는 예를 도시한 것이다.
[드로잉 키가 삽입되는 예]
aaaaKKbtmsTTasdf1243omksdf09... : 인코딩된 문자열 데이터
20221010101930 : 발췌 요청 시각(2022년10월10일 오후10시19분30초)
aaaaK20221010101930KbtmsTTasdf1243omksdf09... : 발췌 요청 시각이 드로잉 키의 지정된 위치(5번째 문자 뒤)로 삽입
그리고 상기 기 설정된 위치는, 제작자 단말기(20) 별로 서로 다를 수 있다. 또한 상기 드로잉 키가 삽입된 위치는, 상기 문자열 데이터의 처음 또는 처음으로부터 기 설정된 개수의 문자 이내의 위치로 설정될 수 있다. 이는 문자열 데이터의 앞 부분에 드로잉 키가 삽입될수록 쉬프트 되는 문자열이 많아지므로, 보안성이 보다 강화될 수 있기 때문이다.
한편 제작 서버(11)는 드로잉 키가 삽입된 각 이미지의 문자열 데이터들과 상기 스캔된 도서 데이터의 각 블록으로부터 추출된 고유 해시값들을 상기 S502 단계에서 수신된 발췌 요청에 대한 발췌 데이터로 저장할 수 있다(S512). 그리고 제작 서버(11)는 상기 발췌 데이터에, 상기 원작 도서의 정보를 포함하는 도서 데이터 정보를 매칭하여 저장할 수 있다(S514). 이 경우 도서 데이터 정보는, 상기 원작 도서의 명칭, 저작자, 그리고 상기 스캔된 원작 도서의 페이지 정보 중 적어도 하나일 수 있다.
한편 상술한 설명에 따르면, 제작자 단말기(20)가 디코딩부(420)를 포함하고, 드로잉 키를 제거 및 문자열을 직접 쉬프트 하는 기능을 구비하는 경우, 상기 제작 서버(11)는, 목록화된 발췌 데이터들 중 제작자 단말기(20)의 요청에 따른 어느 하나를 상기 제작자 단말기(20)에 제공함으로써, 선택된 발췌 데이터가 상기 제작자 단말기(20)에서 표시되도록 할 수 있다.
이 경우 제작자 단말기(20)는 상기 수신된 발췌 데이터로부터 스캔된 블록에 대응하는 고유 해시값을 검출하고, 검출된 고유 해시값에 대응하는 발췌 요청 시각 정보를 검출 및, 검출된 발췌 요청 시각, 제작자 식별정보 및 제작자 단말기의 식별정보 중 어느 하나에 대응하는 드로잉 키를, 상기 문자열 데이터로부터 직접 제거할 수 있다. 그리고 드로잉 키가 제거된 문자열 데이터를, 이진 데이터로 디코딩하고, 디코딩된 이진 데이터에 대응하는 이미지를 드로잉부(420)가 디스플레이부(430)에 상에 드로잉함으로써, 선택된 발췌 데이터에 대응하는 원작 도서 데이터의 일부에 대응하는 이미지가, 제작자 단말기(20)의 디스플레이부(430) 상에 표시될 수 있다.
그런데 이처럼 디코딩부(420) 또는 드로잉 키의 제거 능력을 가지지 않는 제작자 단말기(20)의 경우에도, 제작자 단말기(20)의 요청에 따라 어느 하나의 발췌 데이터에 대응하는 이미지가 표시될 수 있도록, 디코딩된 발췌 데이터를 제작 서버(11)가 제공할 수도 있음은 물론이다.
도 6은 이처럼 본 발명의 실시 예에 따른 서비스 플랫폼(10)의 제작 서버(11)가, 제작자 단말기(20)의 요청에 따라 선택된 어느 하나의 발췌 데이터를 제작자 단말기(20)에서 표시가능하게 디코딩하여 제공하는 동작 과정을 도시한 흐름도이다.
도 6을 참조하여 살펴보면, 본 발명의 실시 예에 따른 제작 서버(11)는, 도 4의 S412 단계가 진행되는 경우, 먼저 발췌 데이터 저장부(372)에 저장된 각 발췌 데이터에 대응하는 도서 데이터 정보를, 각 발췌 데이터에 따른 순서대로 목록화하여 표시할 수 있다(S600).
일 예로 제작 서버(11)는 발췌 데이터가 저장된 시간적 순서에 따라 각 발췌 데이터들을 정렬하고, 정렬된 순서에 따라 각 발췌 데이터에 대응하는 도서 데이터 정보를 나열하여 목록화할 수 있다. 또는 각 도서 데이터 정보에 근거하여 동일한 도서 데이터(원작 도서)에서 발췌된 발췌 데이터들을 검출하고, 원작 도서 별로 각 도서 데이터들을 그룹화 및 정렬하여 목록화할 수 있다.
그리고 제작 서버(11)는 목록화된 도서 데이터 정보들 중 어느 하나에 대한 선택에 근거하여, 제작자 단말기(20)에 의해 선택된 발췌 데이터를 검출할 수 있다(S602). 즉, 어느 하나의 도서 데이터 정보가 선택되는 경우 제작 서버(11)는 선택된 도서 데이터 정보에 대응하는 발췌 데이터에 대한 제작자 단말기(20)의 선택이 있는 것으로 판단할 수 있다.
상기 S602 단계에서, 어느 하나의 발췌 데이터에 대한 선택이 있는 경우라면, 제작 서버(11)는 현재 연결된 제작자 단말기(20)로부터 제작자 식별정보, 제작자 단말기(20) 식별정보의 전송을 요청할 수 있다. 또한 상기 선택된 발췌 데이터에 포함된 적어도 하나의 고유 해시값 각각에 대응하는 발췌 요청 시각의 정보를 제작자 단말기(20)에 요청할 수 있다. 그리고 요청에 대한 응답으로 상기 제작자 식별정보, 제작자 단말기(20) 식별정보 및 상기 선택된 발췌 데이터에 대응하는 발췌 요청 시각의 정보를 수신할 수 있다(S604).
그러면 제작 서버(11)는 발췌 데이터 저장부(372)로부터, 현재 선택된 발췌 데이터에 포함된 문자열 데이터를 로드할 수 있다(S606). 그리고 로드된 문자열 데이터의 기 설정된 위치에 포함된 문자열을, 상기 S604 단계에서 수신된 제작자 식별정보, 제작자 단말기(20) 식별정보 및 상기 발췌 요청 시각의 정보 중 어느 하나와 비교할 수 있다.
그리고 비교 결과 문자열 데이터의 기 설정된 위치에 포함된 문자열과 상기 S604 단계에서 수신된 제작자 식별정보, 제작자 단말기(20) 식별정보 및 상기 발췌 요청 시각의 정보 중 어느 하나가 일치하는 경우라면, 상기 문자열 데이터의 기 설정된 위치에 포함된 문자열을 제거할 수 있다. 그리고 제거된 문자열에 따른 문자 개수 만큼 문자열을 쉬프트(예 : 레프트 쉬프트(left shift))할 수 있다(S608).
[드로잉 키가 제거되는 예]
aaaaK20221010101930KbtmsTTasdf1243omksdf09... : 드로잉 키가 삽입된 문자열 데이터
kkk0111-arena2 : 제작자의 식별 정보
dlfk0100fhd023 : 제작자 단말기 식별 정보
20221010101930 : 발췌 요청 시각(2022년10월10일 오후10시19분30초)
aaaaKKbtmsTTasdf1243omksdf09... : 드로잉 키가 삽입된 문자열 데이터로부터, 발췌 요청 시각 정보에 일치하는 문자열을 제거 및 레프트 쉬프트 된 문자열 데이터
그러면 제작 서버(11)는 상기 드로잉 키가 제거된 문자열 데이터를 이진 데이터로 디코딩(예 : 변환부(341)를 통해)할 수 있다(S610). 그리고 디코딩된 이진 데이터를 메모리(350)에 설정된 임시 영역에 저장 및, 저장된 임시 영역에 대하여 상기 제작자 단말기(20)에 대한 접근을 허용할 수 있다(S612). 따라서 제작자 단말기(20)로부터 전송된 제작자 식별정보, 제작자 단말기(20) 식별정보 및 발췌 요청 시각의 정보에 대한 응답으로 상기 드로잉 키가 제거된 문자열 데이터의 디코딩 결과가 제공될 수 있으며, 제작자 단말기(20)는 디코딩된 이진 데이터를 수신하여 기 설정된 배경 이미지 상에 드로잉함으로써 상기 발췌 데이터에 대응하는 이미지를 제작자 단말기(20)의 디스플레이부(430) 상에 표시할 수 있다. 여기서 상기 배경 이미지는 제작자 단말기(20)의 식별 정보 또는 제작자의 식별정보에 대응하는 QR(Quick response) 코드가 2차원 매트릭스 형태로 표시된 패턴 블록을 포함하는 이미지일 수 있다.
한편 도 7은 본 발명의 실시 예에 따른 서비스 플랫폼(10)의 제작 서버(11)가, 발췌 데이터 또는 제작자가 입력하는 저작 데이터를 이용하여 멀티북을 제작하는 동작 과정을 도시한 흐름도이다.
도 7을 참조하여 살펴보면, 본 발명의 실시 예에 따른 제작 서버(11)는 멀티북을 구성하는 피스를 삽입하는 상기 도 4의 S414 단계가 시작되면, 제작자 단말기(20)의 접근이 허용된 발췌 데이터의 적어도 일부에 대한 선택이 있는지 여부를 검출할 수 있다(S700). 그리고 접근이 허용된 발췌 데이터, 즉 제작자 단말기(20)의 디스플레이부(430) 상에 표시되는 이미지에 대응하는 발췌 데이터에 대한 선택이 있는 경우, 상기 발췌 데이터에 대응하는 이미지 중, 제작자 단말기(20)에 의해 선택된 적어도 일부를 추출할 수 있다(S701).
여기서 상기 발췌 데이터에 대응하는 이미지의 적어도 일부는, 스캔 및 인식을 통해 추출될 수 있다. 일 예로 제작 서버(11)는 스캔부(320)를 통해 상기 발췌 데이터에 대응하는 이미지의 적어도 일부를 스캔하여 상기 발췌 데이터에 대응하는 이미지의 적어도 일부에 대응하는 이미지를 추출하거나, 또는 상기 스캔된 상기 발췌 데이터에 대한 문자 인식을 수행하여, 상기 발췌 데이터에 대응하는 이미지의 적어도 일부에 대응하는 문자열을 추출할 수 있다.
그리고 제작 서버(11)는 제작되는 멀티북에 따른 블록 고유 정보(고유 해시값)와 상기 이미지 또는 문자열이 추출된 발췌 데이터의 블록 고유 정보를 모두 포함하는 블록 정보를 생성할 수 있다. 이 경우 상기 발췌 데이터의 블록 고유 정보는 해시 포인터로서 상기 블록 정보에 포함될 수 있다. 그리고 상기 S701 단계에서 추출된 이미지 또는 문자열을, 해시 포인터 정보를 포함하는 블록 정보에 매칭되는 블록, 즉 발췌 블록으로 블록화할 수 있다(S702). 그리고 생성된 발췌 블록을, 멀티북을 구성하는 피스로서, 제작자 단말기(20)에 의해 지정되는 멀티북 상의 위치에 삽입할 수 있다(S704).
한편 상기 S700 단계에서 현재 접근이 허용된 발췌 데이터의 일부에 대한 선택이 없거나, 또는 제작자 단말기(20)의 선택에 따라 발췌 블록이 멀티북 상의 지정된 위치에 삽입되면, 제작 서버(11)는 멀티북에 피스로서 포함될 저작 컨텐츠가 입력되었는지 여부를 판별할 수 있다(S706). 여기서 저작 컨텐츠는, 제작자가 직접 입력하는 문자열, 이미지 또는 동영상 등 멀티미디어 데이터일 수 있다.
상기 S706 단계에서 저작 컨텐츠가 제작자 단말기(20)를 통해 입력되면, 제작 서버(11)는 제작되는 멀티북에 따른 블록 고유 정보(고유 해시값)를 포함하는 블록 정보를 생성할 수 있다. 이 경우 상기 저작 컨텐츠는, 발췌 데이터로부터 발췌된 것이 아니므로, 상기 발췌 데이터로부터 추출된 블록 고유 정보, 즉 해시 포인터를 포함하지 않는 블록 정보가 생성될 수 있다. 그리고 상기 S706 단계에서 입력되는 저작 컨텐츠를, 상기 해시 포인터를 가지는 블록 정보에 매칭되는 블록, 즉 제네시스 블록으로 블록화할 수 있다(S708). 그리고 생성된 제네시스 블록을, 멀티북을 구성하는 피스로서, 제작자 단말기(20)에 의해 지정되는 멀티북 상의 위치에 삽입할 수 있다(S710).
그리고 제작 서버(11)는 제작자 단말기(20)로부터 멀티북의 배경을 형성하는 배경 정보에 대한 편집 요청을 수신할 수 있다(S712). 그리고 배경 정보 편집 요청이 있는 경우, 요청에 따라 제작 중인 멀티북의 배경 정보를 편집할 수 있다(S714). 그리고 배경 정보의 편집이 완료되거나, 또는 상기 S712 단계에서 배경 정보의 편집 요청이 없는 경우, 도 4의 S416 단계로 진행하여 멀티북의 제작이 완료되었는지 여부를 확인할 수 있다.
그리고 상기 도 4의 S416 단계의 확인 결과, 멀티북의 제작이 완료되지 않은 경우라면, 제작 서버(11)는 다시 도 4의 S406 단계로 진행하여 새로운 발췌 데이터를 생성하거나, 또는 발췌 요청의 수신 여부에 따라 다시 도 4의 S410 단계로 진행하여 기 저장된 발췌 데이터에 따른 멀티북 제작이 요청되었는지 여부를 판별할 수 있다. 그리고 멀티북 제작 요청이 있는지 여부에 따라 도 4의 S412 단계로 진행하여 도 6에서 도시한 과정들에 따라 목록화된 발췌 데이터를 제공 및 어느 하나에 대한 접근을 허용하고, 도 4의 S414 단계로 진행하여 상기 도 7에서 도시한 과정들에 따라 접근이 허용된 발췌 데이터 또는 저작 컨텐츠에 따른 피스를 멀티북에 삽입할 수 있다. 그리고 이러한 과정들을 멀티북 제작이 완료될 때까지(도 4의 S416 단계) 반복하여 수행할 수 있다.
한편 도 8은 원작 도서의 도서 데이터가 블록화된 예 및, 상기 원작 도서로부터 발췌된 발췌 블록이, 멀티북을 구성하는 피스로서 멀티북에 삽입되는 예를 도시한 예시도이다.
도 8을 참조하여 살펴보면, 도 8의 (a)에서 보이고 있는 제1 도서(800)는 원작 도서의 도서 데이터일 수 있다. 도 8의 (a)에서 보이고 있는 바와 같이, 본 발명의 실시 예에 따른 서비스 플랫폼(10)의 제작 서버(11)는 기 설정된 단위, 예를 들어 단락 별로 블록화를 수행할 수 있다. 이 경우 각각의 블록은 각각 서로 다른 고유 해시값을 포함하는 블록 정보에 매칭될 수 있다.
한편 이처럼 원작 도서의 도서 데이터가 블록화된 상태에서 제작자는 제1 도서(800) 중 일부(810)를 선택할 수 있다. 그러면 상기 제1 도서(800)의 일부(810)는 다른 영역과 구분되게 마킹될 수 있으며, 제작자의 요청에 따라 제1 도서(800)로부터 발췌되어 발췌 데이터로 저장될 수 있다.
이 경우 제작 서버(10)는 상기 발췌가 요청된 상기 제1 도서(800)의 일부(810)를 스캔할 수 있다. 그리고 스캔된 상기 제1 도서(800)의 일부(810)에 대응하는 제1 도서(800)의 블록에 대응하는 블록 정보(811)로부터, 블록 고유 정보, 즉 고유 해시값(HASH, 812)을 추출할 수 있다. 그리고 추출된 고유 해시값(812)과 상기 스캔을 통해 이미지화된 제1 도서(800)의 일부(810)를 발췌 데이터로 저장할 수 있다.
한편 제작 서버(11)는 제작자 단말기(20)의 요청에 따라 상기 저장된 발췌 데이터에 대한 접근을 허용할 수 있다. 따라서 상기 이미지화된 제1 도서(800)의 일부(810)가 제작자 단말기(20)의 디스플레이부(430) 상에 표시될 수 있으며, 적어도 일부가 멀티북에 삽입될 피스로서 선택될 수 있다.
한편 도 8의 (b)에서 보이고 있는 제2 도서(850)는, 제작자가 현재 제작 중인 멀티북일 수 있다. 이 경우 제작자는 발췌 데이터 목록으로부터 상기 제1 도서(800)의 일부(810)에 대응하는 발췌 데이터를 선택 및, 선택된 발췌 데이터의 적어도 일부를 선택할 수 있다. 그리고 선택된 일부를 스캔 및 인식하고, 스캔 및 인식된 발췌 데이터의 적어도 일부를 멀티북에 삽입할 수 있다.
따라서 상기 제2 도서(850)에서 보이고 있는 바와 같이, 제작자는 상기 제1 도서(800)의 일부(810)를 스캔한 이미지 또는 인식한 문자열을 멀티북의 제1 피스로서 삽입할 수 있다. 이 경우 제작 서버(11)는 도 8의 (b)에서 보이고 있는 바와 같이, 멀티북에 삽입된 상기 제1 도서(800)의 일부(810)를 블록화할 수 있다. 그리고 제작되는 멀티북에 따른 블록 고유 정보, 즉 고유 해시값(HASH, 862)과 상기 제1 도서(800)의 일부(810)에 매칭되는 블록 정보(811)로부터 추출된 블록 고유 정보(812)를 해시 포인터(PRE. HASH, 863)로서 포함하는 제1 블록 정보(861)를 생성할 수 있다.
그리고 생성된 제1 블록 정보(861)를 상기 제1 도서(800)의 일부(810)에 대응하는 멀티북의 제1 블록(860)에 매칭할 수 있다. 이 경우 상기 제1 블록(860)은 다른 도서, 즉 제1 도서(800)의 일부(810)로부터 발췌된 내용을 포함하는 멀티북의 피스로서, 발췌 블록일 수 있다.
한편 제작자는 자신이 직접 입력한 저작 컨텐츠를 상기 도 8의 (b)에서 보이고 있는 바와 같이 멀티북의 제2 피스(870)로서 삽입할 수 있다. 이 경우 제작 서버(11)는 멀티북에 삽입된 저작 컨텐츠를 블록화할 수 있다. 그리고 제작되는 멀티북에 따른 블록 고유 정보, 즉 고유 해시값(HASH)을 포함하는 제2 블록 정보(871)를 생성 및 생성된 제2 블록 정보(871)를 상기 저작 컨텐츠로 이루어진 블록에 매칭할 수 있다. 이 경우 상기 제2 블록(870)은 제작자가 직접 입력한 저작 컨텐츠로 구성된 멀티북의 피스로서, 해시 포인터를 포함하지 않는 제네시스 블록일 수 있다.
한편, 제작자는 발췌 데이터의 일부를 발췌하면서, 발췌 데이터로부터 스캔 및 인식된 인식 데이터의 일부 수정하거나 또는 내용을 추가하여 멀티북에 삽입할 수 있다. 이 경우 제작 서버(11)는 상기 발췌 데이터에 삽입된 수정 및 추가된 부분은 제작자가 입력한 저작 컨텐츠에 따른 블록(제네시스 블록)으로 블록화하고, 발췌 블록과 구분되게 저장할 수 있다.
도 9는 본 발명의 실시 예에 따른 서비스 플랫폼(10)의 제작 서버(11)가, 멀티북에 피스로서 삽입된 발췌 블록에 대한 수정이 있는 경우, 수정된 부분을 중심으로 피스를 구분하는 동작 과정을 도시한 흐름도이다.
도 9를 참조하여 살펴보면, 본 발명의 실시 예에 따른 제작 서버(11)는 멀티북을 구성하는 피스를 삽입하는 도 4의 S414 단계에서, 발췌 블록에 대한 수정이 있는지 여부를 더 검출할 수 있다(S900).
여기서 상기 발췌 블록의 수정은, 문자 또는 이미지의 변경 또는 문자 또는 이미지의 추가를 포함할 수 있다. 따라서 제작 서버(11)는, 상기 S900 단계에서, 상기 게재된 발췌 블록에 대하여 상기 발췌 블록을 구성하는 문자들 또는 이미지들에 대한 변경이나, 문자들 또는 이미지의 추가가 있는지 여부를 검출할 수 있다. 그리고 상기 S900 단계의 검출 결과, 상기 발췌 블록을 구성하는 문자들 또는 이미지들에 대한 변경이나 문자 또는 이미지의 추가가 없는 경우라면, 발췌 블록에 대한 수정이 없는 것으로 판단하고, 도 9의 과정을 종료하고 도 4의 S416 단계로 진행할 수 있다.
그러나 상기 S900 단계의 검출 결과, 상기 발췌 블록을 구성하는 문자들 또는 이미지들에 대한 변경이나 문자 또는 이미지의 추가가 있는 경우라면, 제작 서버(11)는 상기 발췌 블록에 대한 수정이 있는 것으로 판단할 수 있다. 그러면 제작 서버(10)는 상기 발췌 블록 중, 수정된 부분, 즉 문자 또는 이미지가 변경되거나 추가된 부분의 앞 부분과, 상기 수정된 부분의 뒷 부분을, 동일한 해시 포인터 정보를 가지는 서로 다른 발췌 블록들로 분할할 수 있다(S902).
그리고 제작 서버(11)는, 상기 발췌 블록 중, 상기 수정된 부분을 상기 발췌 블록과 구분되는 제네시스 블록으로 블록화할 수 있다(S904). 따라서 상기 발췌 블록 중, 멀티북의 제작자가 변경하거나 내용을 추가한 부분은, 해시 포인터 정보를 가지지 않는 블록 정보에 대응하는 제네시스 블록으로 블록화될 수 있다.
그리고 제작 서버(11)는 복수의 발췌 블록과 적어도 하나의 제네시스 블록으로 분할된 발췌 블록과, 제네시스 블록을 멀티북의 피스로서 삽입할 수 있다(S906). 그리고 다시 S900 단계로 진행하여, 제작자가 발췌 블록의 일부를 다시 수정하였는지 여부를 검출할 수 있다. 그리고 발췌 블록에 대한 추가적인 수정이 발생한 경우라면, 상기 S902 단계 내지 S905 단계에 이르는 과정을 다시 수행할 수 있다. 그러나 수정이 없는 경우라면, 도 4의 S416 단계로 진행하여 멀티북 제작의 종료가 요청되었는지 여부를 검출할 수 있다.
도 10은, 상기 도 9의 동작 과정에 따라, 발췌 블록이 상기 수정 또는 추가된 부분을 포함하는 제네시스 블록과 발췌 블록으로 구분되는 예를 도시한 예시도이다.
먼저 도 10의 (a)를 참조하여 살펴보면, 도 10의 (a)는 발췌 블록(860)과 제네시스 블록(870)을 포함하는 멀티북(850)의 예를 보이고 있는 것이다. 이 경우 제네시스 블록(870)은 제네시스 블록(870)의 블록 정보(871)에서 보이고 있는 바와 같이, 해시 포인터 정보(Pre.HASH)를 가지지 않을 수 있다. 반면 발췌 블록(860)은 발췌 블록(860)의 블록 정보(861)에서 보이고 있는 바와 같이, 블록 고유 정보인 고유 해시값(HASH, 862) 뿐만 아니라, 원문 도서의 고유 정보(고유 해시값)를 해시 포인터 정보(Pre.HASH, 863)로서 포함할 수 있다.
이처럼 발췌 블록(860)이 멀티북(450)에 삽입 및, 발췌 블록(860)의 블록 정보(861)가 저장된 상태에서, 제작 서버(11)는 발췌 블록(860)에 추가되는 멀티북(850) 제작자의 저작 데이터를 검출할 수 있다. 즉, 발췌 블록(860) 중에 제작자가 문자열 또는 이미지를 입력하는 경우 도 10의 (b)에서 보이고 있는 멀티북(851)과 같이, 발췌 블록(860) 내에 제작자가 입력한 저작 데이터(1000), 즉, 문자열 또는 이미지가 추가될 수 있다.
그러면 제작 서버(11)는 상기 발췌 블록(860) 내에 추가된 제작자의 저작 데이터(1000)를 중심으로, 상기 저작 데이터(1000)의 앞 부분에 해당되는 발췌 블록(860)의 제1 부분(860-1)과, 상기 저작 데이터(1000)의 뒷 부분에 해당되는 발췌 블록(860)의 제2 부분(860-2)을 각각 서로 다른 발췌 블록으로 블록화할 수 있다. 이 경우 상기 제1 부분(860-1)에 대응하는 발췌 블록(이하 제1 발췌 블록)과 상기 제2 부분(860-2)에 대응하는 발췌 블록(이하 제2 발췌 블록)은, 블록 일렬번호, 타임 스탬프 정보, 그리고 블록 고유 정보인 고유 해시값이 서로 다른, 서로 별개의 블록으로 블록화될 수 있다.
이 경우 상기 도 10의 (b)에서 보이고 있는 제1 발췌 블록(860-1)의 블록 정보(861-1)와 제2 발췌 블록(860-2)의 블록 정보(861-2)와 같이, 상기 제1 발췌 블록(860-1)에 대응하는 고유 해시값(1001)과 제2 발췌 블록(860-2)에 대응하는 고유 해시값(1003)은 서로 다를 수 있다. 또한 기존 발췌 블록(860)의 고유 해시값(862)과도 서로 다를 수 있다. 그러나 상기 제1 발췌 블록(860-1)에 대응하는 블록 정보(861-1)와 제2 발췌 블록(860-2)에 대응하는 블록 정보(861-2)는, 동일한 해시 포인터 정보(1011 또는 1013)를 가질 수 있다. 즉, 상기 제1 발췌 블록(860-1)과 제2 발췌 블록(860-2)은 동일한 해시 포인터 정보를 블록 정보로 포함하는 발췌 블록일 수 있다.
한편 상기 발췌 블록(860) 내에 추가된 제작자의 저작 데이터(1000)는 해시 포인터 정보를 포함하지 않는 블록 정보(1010)에 매칭되는 제네시스 블록으로 생성될 수 있다. 이 경우 새로 생성된 제네시스 블록에 대응하는 블록 정보(1010)는 고유한 블록 정보(고유 해시값, 1002) 및 블록 일련번호와 타임 스탬프 정보를 포함할 수 있다. 이 경우 상기 새로 생성된 제네시스 블록에 대응하는 블록 정보(1010)의 고유 해시값(1002) 역시, 기존 발췌 블록(860)의 블록 정보(861)의 고유 해시값(862)과 다른 값을 가질 수 있다.
한편 상술한 설명에서는 발췌 블록 내에 제작자로부터 입력되는 저작 데이터가 추가되는 경우를 설명하였으나, 상기 발췌 블록 내의 일부분을 삭제 및 삭제된 부분을 대체하는 저작 데이터가 입력되는 발췌 블록의 변경이 이루어지는 경우에도 상기 도 9 및 도 10에서 살펴본 바와 유사하게 발췌 블록이 복수의 발췌 블록 및 적어도 하나의 제네시스 블록으로 분할될 수 있다. 이 경우 분할된 각각의 블록들에 대응하는 블록 정보들은 각각 서로 다른 고유 해시값을 가질 수 있다. 반면 상기 분할된 블록들 중 발췌 블록들의 블록 정보들은, 분할 전 발췌 블록의 해시 포인터 정보와 동일한 해시 포인터 정보를 포함할 수 있다.
한편 상술한 설명에서는 발췌 블록 내에 제작자로부터 입력되는 저작 데이터가 추가되는 경우를 설명하였으나, 발췌 블록이 하나의 이미지로 구성되고, 제작자가 상기 이미지(발췌 블록)를 수정하는 경우에도 본 발명이 적용될 수 있음은 물론이다.
도 11은 이처럼 발췌된 부분이 이미지인 경우, 상기 도 5의 동작 과정에 따라 편집된 부분과 이미지 원본 각각에 대한 블록 정보가 생성되는 예를 도시한 예시도이다.
먼저 도 11의 (a)를 참조하여 살펴보면, 도 11의 (a)는 발췌 블록이 하나의 이미지(1100)(이하 발췌 이미지)로 생성되는 경우를 가정한 것이다. 예를 들어 원작 도서의 발췌 데이터로부터 이미지가 선택되어 발췌되는 경우, 발췌 이미지(1100)는 상기 발췌 데이터의 이미지에 대응하는 고유 해시값을 해시 포인터 정보(1112)로 포함 및, 작성 중인 멀티북에 포함되는 발췌 블록으로서의 블록 고유 정보인 고유 해시값(1111)을 포함하는 블록 정보(1101)에 매칭될 수 있다.
이러한 경우 제작 서버(11)는 상기 발췌 이미지(1100)에 대한 제작자의 편집 요청을 수신할 수 있다. 그러면 상기 발췌 이미지(1100)는 제작 서버(11)에서 제공되는 다양한 편집 기능을 통해 편집될 수 있다. 예를 들어 도 11의 (b)에서 보이고 있는 바와 같이, 상기 제작자가 편집을 통해 추가한 이미지 영역(1160)과 기존 발췌 이미지(1100)에 대응하는 이미지 영역(1140)을 포함하는 편집 이미지(1160)가 생성될 수 있다.
그러면 제작 서버(11)는 먼저 제작자가 편집을 통해 추가한 이미지 영역(1160)에 대응하는 신규 블록 정보(1151)를 생성할 수 있다. 이 경우 상기 신규 블록 정보(1151)는 블록 일렬번호와 타임 스탬프 정보, 그리고 제작 중인 멀티북에 따른 고유 해시값(1161)을 포함하는 제네시스 블록의 블록 정보로 생성될 수 있다. 즉, 해시 포인터 정보를 포함하지 않는 블록 정보일 수 있다. 그리고 제작 서버(11)는 상기 편집 이미지(1160)에 상기 생성된 제네시스 블록 정보(1151)를 매칭시킬 수 있다.
그리고 제작 서버(11)는 기존 발췌 이미지(1100)에 대응하는 기존 블록 정보(1101), 즉 해시 포인터(1112)를 가지는 발췌 블록 정보(1101)를 상기 편집 이미지(1160)에 더 매칭시킬 수 있다. 따라서 도 11의 (b)에서 보이고 있는 바와 같이, 기존의 발췌 이미지(1100)를 편집하여 생성된 편집 이미지(1160)는, 해시 포인터(1112)를 가지지 않는 제네시스 블록 정보(1151)와 해시 포인터(1112)를 가지는 발췌 블록 정보(1101)에 모두 매칭될 수 있다.
즉, 제작 서버(11)는 발췌 데이터로부터 발췌된 이미지의 편집 과정 추적을 통해, 이미지 중 편집되지 않은 부분과 편집된 부분을 구분하고, 상기 이미지 중 편집되지 않은 부분과 편집된 부분에, 각각 발췌 블록 정보(1101) 및, 제네시스 블록 정보(1151)를 매칭할 수 있다. 따라서 상기 편집된 부분과 편집되지 않은 부분을 모두 포함하는 편집 이미지(1160)는 제네시스 블록 정보(1151)와 발췌 블록 정보(1101) 모두에 매칭될 수 있다.
한편 본 발명의 실시 예에 따른 서비스 플랫폼(10)은, 도서 데이터를 판매할 수 있는 마켓 플레이스를 제공하는 판매 서버(12)를 더 포함할 수 있다. 상기 판매 서버(12)는 제작자 단말기(20)의 요청에 따라, 상기 제작 서버(11)를 통해 제작된 멀티북의 도서 데이터를 제공받아 상기 마켓 플레이스(1200)에 판매 가능한 상품으로 게시할 수 있다.
이 경우 상기 판매 서버(12)는 상기 멀티북의 도서 데이터에 포함된 각 발췌 블록들의 가격을 산정하고, 산정된 가격과 멀티북 제작자가 요청한 수수료를 포함하여 상기 멀티북 도서 데이터의 판매 가격을 결정할 수 있다. 그리고 상기 판매 가격이 멀티북 제작자와 협의되면, 상기 멀티북 제작자의 요청에 따라 상기 멀티북의 도서 데이터를 판매 가능한 상태로 마켓 플레이스에 개시할 수 있다. 그리고 마켓 플레이스를 통해 멀티북의 도서 데이터가 판매되면, 멀티북의 판매로 발생한 수익을 멀티북의 제작자와 상기 멀티북에 포함된 피스들을 제공한 도서 제공자들에게 기 설정된 기준에 따라 분배할 수 있다.
도 12는 본 발명의 실시 예에 따른 서비스 플랫폼(10)의 판매 서버(12)가, 멀티북 제작자와 도서 제공자들에게 멀티북 판매로 발생한 수익금을 분배하는 구조를 도시한 블록도이다. 이하의 설명에서는 설명의 편의상, 제1 도서 제공자(51)로부터 제공되는 제1 도서 및, 제2 도서 제공자(52)로부터 제공되는 제2 도서에서 발췌되는 발췌 데이터들의 내용이, 피스로서 삽입된 멀티북을 가정하여 설명하기로 한다.
도 12를 참조하여 살펴보면, 본 발명의 실시 예에 따른 서비스 플랫폼(10)의 판매 서버(12)는 멀티북에 그 내용이 포함된 제1 발췌 블록의 원작 도서(제1 도서)를 제공한 제1 도서 제공자(51), 제2 발췌 블록의 원작 도서(제2 도서)를 제공한 제2 도서 제공자(52)로부터, 상기 제1 도서에 대응하는 제1 도서 데이터 가격 정보와 상기 제2 도서에 대응하는 제2 도서 데이터 가격 정보를 제공받을 수 있다. 그리고 멀티북을 제작한 제작자의 단말기(20)로부터 멀티북의 제작에 따라 제작자가 설정한 멀티북 저작료 정보를 제공받을 수 있다. 그리고 제1 도서 데이터 가격 정보와 제2 도서 데이터의 가격 정보, 그리고 멀티북 저작료 정보에 근거하여, 상기 멀티북 제작자가 제작한 멀티북의 가격을 결정할 수 있다. 그리고 결정된 멀티북의 가격을 멀티북 제작자의 설정에 따라 조정할 수 있다. 이하 도 13을 참조하여, 판매 서버(12)가 현재 제작이 완료된 멀티북으로부터, 상기 멀티북의 가격을 초기 결정하는 동작 과정을 살펴보기로 한다.
한편 판매 서버(12)는 멀티북의 도서 데이터를 판매 가능한 상품으로 게시할 수 있는 마켓 플레이스(1200)를 제공할 수 있다. 그리고 결정된 멀티북의 가격에 따라 상기 마켓 플레이스(1200)에 상기 멀티북을 게시할 수 있다.
이를 위해 판매 서버(12)는 상기 멀티북의 요약 정보 및 판매 서버(12)의 링크 정보를 포털 사이트(1210)를 통해 게시할 수 있다. 여기서 상기 멀티북의 요약 정보는 상기 멀티북 제작자로부터 입력되는 정보일 수 있다.
그리고 판매 서버(12)는 상기 멀티북 요약 정보를, 게시물의 형태로 미리 제휴된 포털 사이트(1210)에 업로드 할 수 있다. 그리고 관련된 검색어가 입력될 때 상기 업로드된 게시물이 검색 결과의 상위에 게시될 수 있도록, 검색 엔진 최적화(SEO) 기법을 통해 상기 포털 사이트(1210)에 업로드된 게시물을 관리할 수 있다.
그리고 상기 포털 사이트(1210)에 대한 검색을 통해 구매자 단말기(30)가 멀티북의 검색을 요청하면, 포털 사이트(1210)는 상기 판매 서버(12)의 링크 정보를 제공할 수 있다. 따라서 구매자 단말기(30)와 판매 서버(12)가 연결될 수 있다.
한편 판매 서버(12)와 구매자 단말기(30)가 연결되면, 구매자 단말기(30)는 멀티북에 대한 검색 요청을 판매 서버(12)에 전송할 수 있다. 그러면 판매 서버(12)는 멀티북에 대한 검색 요청에 대한 응답으로, 멀티북에 관련된 제한된 정보를 제공할 수 있다. 일 예로 상기 멀티북에 관련된 제한된 정보는, 멀티북의 제작자가 기재한 요약 정보, 멀티북에 포함된 발췌 데이터들에 대응하는 원작 도서들 중 일부의 정보, 상기 멀티북의 일부 페이지에 대한 정보를 상기 제한된 정보로서 제공할 수 있다.
그러면 구매자 단말기(30)는 마켓 플레이스(1200)에 게시된 멀티북의 가격에 따른 멀티북의 구매 대금을 판매 서버(12)에 지급하고, 상기 멀티북의 구매를 요청할 수 있다. 그러면 판매 서버(12)는 지급된 구매 대금에 대한 응답으로, 상기 멀티북의 도서 데이터를 구매자 단말기(30)에 전송할 수 있다.
한편 판매 서버(12)는 상기 지급된 멀티북의 구매 대금을, 기 설정된 기준에 따라 제1 도서 제공자와 제2 도서 제공자, 그리고 멀티북 제작자에게 분배할 수 있다. 일 예로 판매 서버(12)는 판매된 멀티북에 포함된 피스들 중, 제1 도서로부터 발췌된 내용을 포함하는 피스들, 즉 제1 피스들에 상당하는 금액(제1 피스 상당 금액)을 제1 도서 제공자에게 할당할 수 있다. 또한 멀티북에 포함된 피스들 중, 제2 도서로부터 발췌된 내용을 포함하는 피스들, 즉 제2 피스들에 상당하는 금액(제2 피스 상당 금액)을 제2 도서 제공자에게 할당할 수 있다. 그리고 멀티북 제작자에게는 멀티북 저작료로서, 상기 구매 대금으로부터 상기 제1 도서 제공자와 제2 도서 제공자에게 할당된 금액들을 제외한 나머지 금액을 할당할 수 있다. 여기서 판매 서버(12)는, 상기 제1 피스 상당 금액과 제2 피스 상당 금액, 그리고 멀티북 저작료에서, 멀티북 도서 데이터의 판매에 따른 수수료를 각각 차감하여 지급할 수도 있음은 물론이다. 이하 상기 각 도서 제공자와 멀티북의 제작자에게 기 구매 대금의 일부를 할당하는 판매 서버(12)의 동작 과정을 하기 도 14를 참조하여 보다 자세하게 살펴보기로 한다.
한편 상술한 설명에 따르면, 본 발명의 실시 예에 따른 서비스 플랫폼(10)의 판매 서버(12)는 제1 도서 데이터 가격 정보와 제2 도서 데이터의 가격 정보, 그리고 멀티북 저작료 정보에 근거하여, 상기 멀티북 제작자가 제작한 멀티북의 가격을 결정할 수 있음을 언급한 바 있다.
도 13은, 이처럼 본 발명의 실시 예에 따른 서비스 플랫폼(10)의 판매 서버(12)가, 멀티북에 포함된 피스들의 가격에 근거하여 상기 멀티북의 가격을 결정하는 동작 과정을 도시한 흐름도이다.
먼저 판매 서버(12)는 발췌된 피스들 각각의 원작 도서를 검출하여, 원작 도서별로 발췌된 피스들을 분류할 수 있다(S1300). 일 예로 판매 서버(12)는 멀티북에 포함된 피스들 중, 발췌 블록을 포함하는 피스들을 검출하고, 검출된 피스들로부터 발췌 블록을 검출할 수 있다. 그리고 검출된 발췌 블록에 매칭되는 블록 정보 중 해시 포인터에 근거하여 각 발췌 블록에 대응하는 원작 도서를 검출할 수 있다. 그리고 검출된 각각의 원작 도서 별로 각 발췌된 블록들을 분류할 수 있다.
그리고 판매 서버(12)는 어느 하나의 원작 도서를 선택할 수 있다(S1302). 그리고 선택된 원작 도서의 가격 정보를 검출할 수 있다(S1304). 여기서 상기 원작 도서의 가격 정보는, 그 원작 도서의 도서 제공자로부터 제공된 도서 데이터 가격 정보에 따른 것일 수 있다. 일 예로 도서 제공자는 초기에 원작 도서의 도서 데이터를 판매 서버(12)에 제공할 때에 상기 원작 도서 전체의 가격 정보를 설정할 수 있으며, 설정된 가격 정보가 상기 S1304 단계에서 검출될 수 있다.
예를 들어 판매 서버(12)는 원작 도서 전체, 즉 한권 전체의 가격과 기 설정된 산출 단위(예 : 페이지, 단락, 글자, 줄)에 따라 산출되는 단위 가격에 근거하여 결정될 수 있다. 즉 원작 도서의 한권 전체의 가격을 페이지 별, 단락 별, 또는 글자 별로 균등하게 분할하고, 발췌 블록에 포함된 페이지, 단락, 글자 또는 줄 수에 따라 상기 발췌 블록의 가격을 산출할 수 있다.
그런데 전자도서에 있어서, 주제에 밀접한 관련이 있거나, 또는 전체 내용에 큰 영향을 미치는 부분의 경우, 그렇지 않은 부분에 비하여 중요도가 높을 수 있다. 일 예로 일부의 내용으로 인해 상기 전자도서의 전체 내용에 대해 유추가 가능한 부분의 경우 독자는 상기 일부의 내용만을 읽음으로써 전자도서 전체를 읽는 것과 동일한 효과를 가질 수 있다.
이 경우 상기 일부의 내용을 전자도서의 다른 일부와 동일하게 가격을 결정하는 것은 도서 제공자에 대해 불합리한 손해를 가져올 수 있다. 이에 도서 데이터의 부분별 내용에 따라 가격이 다르게 결정되는 임의 가격 결정 방식에 따라 상기 발췌 블록의 가격을 결정할 수도 있음은 물론이다.
이하 이처럼 도서 데이터의 각 부분별로 산출되는 중요도에 근거하여 원작 도서의 부분별 가격을 결정하는 예를 하기 도 14a 및 도 14b를 참조하여 보다 자세하게 살펴보기로 한다.
한편 판매 서버(12)는 상기 S1304 단계에서, 발췌된 피스들 각각에 대한 원작 도서의 부분별 가격이 결정되면, 결정된 가격에 근거하여 현재 멀티북에 포함된 발췌 피스들 각각의 가격을 결정할 수 있다(S1306).
그리고 상기 S1306 단계에서, 발췌 피스들 각각에 대응하는 원작 도서의 부분별 도서 데이터의 가격에 따라 상기 발췌 피스들 각각의 가격이 결정되면, 판매 서버(12)는 가격이 결정되지 않은 발췌 피스들에 대응하는 다른 원작 도서가 있는지 여부를 검출할 수 있다(S1308). 그리고 상기 S1308 단계의 검출 결과, 가격이 결정되지 않은 발췌 피스들에 대응하는 다른 원작 도서가 있는 경우라면, 발췌 피스들의 가격을 결정하기 위해 다른 원작 도서를 선택할 수 있다(S1310). 그리고 S1304 단계로 진행하여 현재 선택된 원작 도서의 가격 정보를 검출 및 S1306 단계로 진행하여 검출된 원작 도서의 가격에 근거하여, 현재 가격이 결정되지 않은 다른 발췌된 피스들 각각의 가격을 결정할 수 있다.
한편 상기 S1308 단계의 검출 결과, 가격이 결정되지 않은 발췌 피스들에 대응하는 다른 원작 도서가 없는 경우라면, 판매 서버(12)는 발췌된 피스들 각각에 대하여 결정된 가격을 합산할 수 있다(S1302). 그리고 합산된 가격에 멀티북 제작자가 미리 설정한 멀티북 저작료를 반영하여 상기 멀티북의 가격을 결정할 수 있다(S1314). 그리고 결정된 가격을 판매 가격으로 설정하여 상기 멀티북을 판매 가능한 상태로 마켓 플레이스에 게시할 수 있다. 이 경우 상기 결정된 멀티북의 가격 정보를 제작자 단말기(20)에 전송하고, 상기 멀티북 제작자의 요청에 따라 상기 멀티북의 가격을 변경할 수도 있음은 물론이다.
한편 도 14a는 원작 도서의 부분별 중요도에 근거하여, 각 원작 도서의 부분별 가격을 결정하는 동작 과정을 도시한 흐름도이다. 그리고 도 14b는 상기 도 14a의 동작 과정에 따라 원작 도서의 각 부분별 가격을 결정하기 위한 가격 분포의 예를 도시한 예시도이다. 설명의 편의상 이하의 설명에서는 기 설정된 단위를 단락으로 설정하여, 단락별로 가격을 결정하는 것을 가정하여 설명하기로 한다. 그러나 본 발명이 이에 한정되는 것이 아님은 물론이다. 즉, 얼마든지 페이지나 챕터 또는 문장이나 줄 수에 근거하여 서도 하기에서 설명되는 바와 유사하게 가격이 결정될 수 있음은 물론이다.
먼저 부분별 도서 데이터의 가격을 결정하는 동작 과정을 도시한 도 14a를 참조하여 살펴보면, 판매 서버(12)는 도서 전체, 즉 원작 도서의 정가, 즉 제1 도서 제공자로부터 입력받는 원작 도서의 가격을 기준으로 원작 도서의 각 단락에 대한 표준 금액을 산출할 수 있다(S1400). 예를 들어 판매 서버(12)는 원작 도서의 정가와 기 설정된 산출 단위에 따른 단위 금액을 산출할 수 있다. 즉, 산출 단위가 '글자'인 경우, 판매 서버(12)는 상기 원작 도서로부터 글자 수를 검출하고, 원작 도서의 정가를 상기 검출된 글자 수로 나누어 각 글자에 대한 일률적인 금액, 즉 단위 금액을 결정할 수 있다. 그리고 원작 도서의 각 단락 별로, 그 단락에 포함된 글자 수에 상기 단위 금액을 곱하여, 해당 단락에 대한 표준 금액을 산출할 수 있다.
한편 산출 단위가 다른 경우에도 이와 유사한 방식으로 각 단락별 표준 금액이 산출될 수 있다. 일 예로 산출 단위가 '줄(line)' 인 경우, 판매 서버(12)는 원작 도서의 줄 수를 검출하고, 원작 도서의 정가를 상기 검출된 줄 수로 나누어 각 줄에 대한 단위 금액을 결정할 수 있다. 그리고 원작 도서의 각 단락별 줄 수에 근거하여 각 단락의 표준 금액을 산출할 수 있다.
한편 산출 단위가 '단락'인 경우, 원작 도서로부터 검출된 단락 수로 상기 원작 도서의 정가를 나누어 단락별 단위 금액을 결정할 수 있다. 이 경우 상기 단락별 단위 금액이 상기 각 단락의 표준 금액이 될 수 있다.
상기 S1400 단계에서 단락별로 표준 금액이 산출되면, 판매 서버(12)는 각 단락별로 중요도를 산출할 수 있다(S1402). 여기서 상기 단락별 중요도는, 각 단락이 원작 도서의 주제와 얼마나 밀접한 관련을 가지는지 여부에 따라 결정될 수 있다. 이러한 단락별 중요도는 원작 도서의 도서 제공자 등에 의하여 미리 결정되거나, 또는 각 단락에 포함된 단어들에 따라 자동으로 산출될 수도 있다.
예를 들어, 미리 지정된 중요 단어들이 보다 많이 포함된 단락일수록 보다 주제와 밀접한 관련을 가지는 단락으로 분류될 수 있다. 즉, 특정 사람 이름(예를 들어 주인공의 이름), 특정 지역 또는 특정 사물의 명칭 등 미리 설정된 중요 단어가 포함된 횟수에 따라 각 단락의 중요도가 산출될 수 있다. 여기서 상기 중요 단어들은 중요도 가중치가 서로 다르게 설정될 수 있으며, 이 경우 각 단락에 포함된 중요 단어들의 가중치 합에 근거하여 각 단락의 중요도가 산출될 수 있다.
한편 상기 S1402 단계에서 각 단락별 중요도가 산출되면, 판매 서버(12)는, 산출된 단락별 중요도 및 각 중요도에 매칭되는 단락들의 수가 기 설정된 분포 곡선을 따르도록 하는 중요도의 중앙값을 결정할 수 있다(S1404).
상기 분포 곡선은 서로 다른 중요도 값에 대한 단락들의 개수에 대한 분포를 나타낸 것으로, 상기 중요도의 중앙값(m)은 도 14b에서 보이고 있는 바와 같이 중요도 값에 대한 단락들의 개수 분포가 정규 분포 곡선을 따르도록 하는 특정 중요도의 값일 수 있다.
이를 위해 판매 서버(12)는, 단락별로 산출된 각 중요도의 값들을 기준으로, 같은 중요도 값을 가지는 인자들, 즉 단락들의 개수를 검출할 수 있다. 그리고 인자들의 개수가 가장 많은 중요도 값을 중앙값(m)으로 결정할 수 있다. 또는 판매 서버(12)는 단락별로 산출된 중요도 값들의 평균을 구하고, 산출된 평균에 가장 인접한 중요도 값을 상기 중앙값(m)으로 결정할 수 있다.
한편 상기 S1404 단계에서 중요도의 중앙값이 결정되면, 결정된 중앙값을 중심으로 각 중요도 값에 대응하는 단락들의 개수를 검출할 수 있다. 이에 따라 도 14b에서 보이고 있는 바와 같이, 중앙값을 중심으로 각 중요도 값에 대응하는 단락들의 개수가 정규 분포 곡선과 유사한 형태로 분포될 수 있다.
이처럼 각 중요도 값에 대응하는 단락들의 개수가 정규 분포 곡선과 유사하게 분포되도록 하는 중앙값이 결정되면, 판매 서버(12)는 상기 분포 곡선에 근거하여 각 중요도 값에 대응하는 가격을 결정할 수 있다(S1406).
이 경우 판매 서버(12)는 중앙값을 중심으로 가격 증감률이 서로 다르게 결정되는 복수의 영역을 결정할 수 있다. 일 예로 상기 중앙값을 중심으로, 상기 분포 곡선에서 전체 단락들 중 50%가 포함되는 영역(제1 영역)과, 35%가 포함되는 영역(제2 영역), 그리고 나머지 15%가 포함되는 영역(제3 영역)을 구분하고, 구분된 각 영역에 따라 가격의 증감률을 각각 다르게 결정할 수 있다.
예를 들어 상기 제1 영역은 가격 증감률이 10%에 해당하는 영역일 수 있다. 제1 영역은 가격 증감률이 10%에 해당하는 영역으로서 중앙값(m)을 초과하는 중요도 값을 가지는 경우 +10%, 중앙값(m) 미만의 중요도 값을 가지는 경우 -10%의 가격 증감률을 가질 수 있다. 즉, 상기 중앙값(m)을 초과하는 제1 영역(1410a)의 중요도 값들은 +10%, 상기 중앙값(m) 미만의 제1 영역(1410b)의 중요도 값들은 -10%의 가격 증감률을 가질 수 있다. 그리고 같은 방식으로, 상기 중앙값(m)을 초과하는 제2 영역(1420a)의 중요도 값들 및 제3 영역(1430a)의 중요도 값들은 각각 +20% 및 +30%, 상기 중앙값(m) 미만의 제2 영역(1420b)의 중요도 값들 및 제3 영역(1430b)의 중요도 값들은 각각 -20% 및 -30%의 가격 증감률을 가질 수 있다. 여기서 중앙값(m)에 대응하는 중요도 값의 가격 증감률은 0% 일 수 있다.
이와 같이 각 중요도에 대한 가격 증감률이 결정되는 경우, 판매 서버(12)는 각 중요도에 대응하는 가격 증감률에 따라 각 단락별 가격을 결정할 수 있다. 즉, 판매 서버(12)는 상기 S1402 단계에서 산출된 각 단락의 중요도에 근거하여 각 단락의 가격 증감률을 결정할 수 있다. 그리고 결정된 가격 증감률을, 상기 S1400 단계에서 산출된 각 단락의 표준 금액에 곱하여, 각 단락에 대한 가격을 결정할 수 있다. 이 경우 중요도가 높은 단락은 표준 가격 결정 방식에 따라 산출되는 표준 금액의 최대 30% 높은 가격이 결정될 수 있고, 중요도가 낮은 단락은 표준 금액의 최대 30% 낮은 가격이 결정될 수 있다.
한편 상기 도 14b에서 보이고 있는 바와 같이, 각 중요도 값에 대한 단락들의 개수가 결정된 중앙값(m)에 의하여 정규 분포 곡선을 따르고, 가격 증감률이 다르게 결정되는 영역이 상기 중앙값을 중심으로 대칭으로 형성되는 경우 전체 가격 증감률의 평균은 0일 수 있다. 즉, 비록 단락의 내용에 따라 각 단락의 가격이 다르게 설정됨에도 불구하고, 전체 단락의 가격 총합은 상기 전자도서의 정가와 같아질 수 있다.
상기 단락별 표준 금액과 각 단락별 가격 증감률에 근거하여 각 단락의 가격이 결정되면, 판매 서버(12)는 결정된 각 단락의 가격에 근거하여 각 발췌 피스의 가격을 결정할 수 있다(S1408).
한편 도 15는, 본 발명의 실시 예에 따른 서비스 플랫폼(10)의 판매 서버(12)가, 멀티북의 판매로 발생한 수익금을 멀티북 제작자와 도서 제공자들에게 분배하여 지급하는 동작 과정을 도시한 흐름도이다.
도 15를 참조하여 살펴보면, 본 발명의 실시 예에 따른 서비스 플랫폼(10)의 판매 서버(12)는 먼저 판매된 멀티북의 도서 데이터에 포함된 피스들을 검출할 수 있다(S1500). 여기서 상기 멀티북은 한 권 전체가 아니라 상기 멀티북의 도서 데이터 중 일부만 판매될 수도 있다. 이 경우 판매 서버(12)는 판매된 멀티북의 부분별 데이터에 포함된 피스들을 검출할 수 있다(S1502).
상기 S1502 단계의 검출 결과, 멀티북 부분별 도서 데이터 중 판매된 적어도 일부가, 다른 원작 도서로부터 발췌된 피스들을 포함하고 있는 경우라면, 판매 서버(12)는 멀티북의 부분별 도서 데이터 판매 대금으로부터, 각 원작 도서에서 발췌된 피스들에 상당하는 금액을 차감할 수 있다(S1504). 여기서 상기 각 원작 도서에서 발췌된 피스들에 상당하는 금액은, 상기 도 13의 S1306 단계에서 결정된 각 발췌 피스들의 가격일 수 있다.
그러면 판매 서버(12)는 차감한 금액 중 각 발췌 피스에 상당하는 금액을, 각 원작 도서의 도서 제공자에게 지급할 수 있다. 이 경우 판매 서버(12)는 각 원작 도서의 도서 제공자에게 지급되는 금액에서 판매 서버(12)의 수수료를 차감할 수 있다. 또한 판매 서버(12)는 상기 멀티북의 부분별 도서 데이터 판매 대금으로부터 각 발췌 피스들에 상당하는 금액을 차감한 나머지 금액을, 멀티북의 제작에 따른 저작료로서 멀티북 제작자에게 지급할 수 있다(S1506). 이 경우 마찬가지로 판매 서버(12)는 멀티북 제작자에게 지급되는 멀티북 저작료에서 판매 서버(12)의 수수료를 차감할 수 있다.
따라서 발췌 피스를 포함하는 멀티북의 적어도 일부가 판매되는 경우, 판매 대금은, 멀티북의 제작자와 상기 판매된 멀티북의 적어도 일부에 포함된 발췌 피스들에 대응하는 원작 도서의 도서 제공자에게 분할되어 지급될 수 있다.
한편 상기 S1502 단계의 검출 결과, 멀티북 부분별 도서 데이터 중 판매된 적어도 일부가, 다른 원작 도서로부터 발췌된 피스들을 포함하고 있지 않은 경우라면, 멀티북의 부분별 도서 데이터의 판매 대금을, 멀티북의 제작에 따른 저작료로서 멀티북 제작자에게 지급할 수 있다(S1508). 발췌 피스들을 포함하지 않는 멀티북의 일부가 판매된 경우, 이는 멀티북 제작자가 직접 입력한 저작 컨텐츠에 해당하는 내용이 판매된 것이기 때문이다. 이 경우 마찬가지로 판매 서버(12)는 멀티북 제작자에게 지급되는 멀티북 저작료에서 판매 서버(12)의 수수료를 차감할 수 있다.
한편 상술한 설명에서는 멀티북의 제작 서비스를 제공하는 제작 서버(11)와 상기 멀티북의 판매 서비스를 제공하는 판매 서버(12)로 서비스 플랫폼(10)이 구성되는 것을 예로 들어 설명하였으나, 상기 제작 서버(11)와 판매 서버(12)는 상기 서비스 플랫폼(10)을 구성하는 하나의 통합된 서버로 구현될 수도 있음은 물론이다. 이러한 경우 상기 하나의 서버, 즉 서비스 플랫폼(10)은 상기 제작 서버(11)의 기능 뿐만 아니라 상기 판매 서버(12)의 기능을 모두 제공할 수 있다. 이 경우 상기 제작 서버(11)의 제어부(300)는 제작 서버(11)의 제어부일 뿐만 아니라 상기 판매 서버(12)의 제어부일 수도 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 따라서 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (14)

  1. 적어도 하나의 단말기와 통신 연결을 수행하는 통신부;
    적어도 하나의 도서 제공자로부터 제공된 원작 도서에 대한 기 설정된 단위 별로 블록화된 도서 데이터를 저장하는 도서 데이터 저장부;
    제1 단말기의 요청에 따라 상기 도서 데이터의 일부를 스캔하고, 스캔된 도서 데이터의 일부에 대응하는 블록의 블록 고유 정보를 추출하는 스캔부;
    상기 스캔된 도서 데이터의 일부와 상기 추출된 블록 고유 정보를 포함하는 발췌 데이터를 생성하는 발췌 데이터 생성부; 및,
    상기 제1 단말기의 요청에 따라, 상기 제1 단말기에서 입력되는 저작 컨텐츠 및 상기 발췌 데이터의 적어도 일부를 포함하는 멀티북을 제작하고, 상기 멀티북에 삽입되는 상기 저작 컨텐츠 또는 상기 발췌 데이터의 적어도 일부가 상기 기 설정된 단위를 형성하는 경우 상기 삽입되는 저작 컨텐츠 또는 상기 발췌 데이터의 적어도 일부를 블록화 및, 상기 발췌 데이터의 적어도 일부를 포함하여 생성되는 블록에, 상기 추출된 블록 고유 정보를 더 포함하는 블록 정보를 매칭시키는 제어부를 포함하며,
    상기 제어부는,
    상기 제1 단말기로부터 입력되는 문자, 이미지 및 동영상 중 적어도 하나를 포함하는 상기 저작 컨텐츠가 상기 기 설정된 단위를 형성하면, 상기 원작 도서의 일부에 대응하는 블록 고유 정보를 포함하지 않는 제네시스 블록으로 상기 저작 컨텐츠를 블록화하고, 상기 제네시스 블록을 포함하는 멀티북을 제작하는 것을 특징으로 하는 서비스 플랫폼.
  2. 제1항에 있어서, 상기 기 설정된 단위는,
    문장, 단락, 페이지 또는 챕터 중 어느 하나임을 특징으로 하는 서비스 플랫폼.
  3. 제1항에 있어서, 상기 발췌 데이터 생성부는,
    상기 스캔된 도서 데이터의 일부에 대응하는 이미지 데이터를 문자열 데이터로 인코딩(encoding) 및, 인코딩된 문자열 데이터의 기 설정된 위치에 상기 제1 단말기의 식별정보 및 상기 제1 단말기 사용자의 식별정보 중 어느 하나를 드로잉 키로서 삽입하고,
    상기 드로잉 키가 삽입된 문자열 데이터에 상기 추출된 블록 고유 정보를 매칭하여 상기 발췌 데이터로서 저장하는 것을 특징으로 하는 서비스 플랫폼.
  4. 제3항에 있어서, 상기 제어부는,
    상기 제1 단말기로부터 상기 블록화된 도서 데이터의 적어도 일부에 대한 발췌 요청이 수신되면, 상기 발췌 요청이 수신된 발췌 요청 시각을 검출 및, 상기 발췌 요청에 따라 생성된 발췌 데이터의 블록 고유 정보에 상기 발췌 요청 시각을 매칭하고, 발췌 데이터에 매칭된 상기 발췌 요청 시각을 상기 제1 단말기에 전송하고,
    상기 제1 단말기의 식별정보, 상기 제1 단말기 사용자의 식별정보, 및 상기 발췌 요청 시각 정보 중 어느 하나를, 상기 인코딩된 문자열 데이터의 기 설정된 위치에 상기 드로잉 키로서 삽입하는 것을 특징으로 하는 서비스 플랫폼.
  5. 제3항 또는 제4항에 있어서, 상기 제어부는,
    상기 문자열 데이터의 처음에 상기 드로잉 키에 해당하는 문자들을 삽입하는 것을 특징으로 하는 서비스 플랫폼.
  6. 제4항에 있어서, 상기 제어부는,
    기 저장된 발췌 데이터에 대하여 상기 제1 단말기로부터 열람 요청이 수신되는 경우, 상기 저장된 발췌 데이터에 매칭되는 발췌 요청 시각, 상기 제1 단말기의 식별정보, 상기 제1 단말기 사용자의 식별정보를 상기 제1 단말기로부터 수신하고,
    상기 인코딩된 문자열 데이터의 기 설정된 위치로부터 상기 발췌 요청 시각, 상기 제1 단말기의 식별정보, 상기 제1 단말기 사용자의 식별정보 중 어느 하나에 대응하는 문자열을 제거 및, 제거된 문자들에 따라 쉬프트가 이루어진 문자열 데이터를 이진 데이터로 디코딩한 데이터를, 상기 열람 요청에 대한 응답으로 상기 제1 단말기에 제공하는 것을 특징으로 하는 서비스 플랫폼.
  7. 제4항에 있어서, 상기 제1 단말기는,
    상기 서비스 플랫폼에 저장된 발췌 데이터에 대한 열람 요청에 대한 응답으로, 상기 드로잉 키가 삽입된 문자열 데이터를 수신하고,
    수신된 문자열 데이터의 기 설정된 위치로부터 상기 발췌 요청 시각, 상기 제1 단말기의 식별정보, 상기 제1 단말기 사용자의 식별정보 중 어느 하나에 대응하는 문자열을 제거하며,
    상기 제거된 문자들에 따라 쉬프트가 이루어진 문자열 데이터를 이진 데이터로 디코딩하고,
    상기 이진 데이터에 대응하는 이미지를 상기 제1 단말기의 디스플레이부 상에 표시하는 것을 특징으로 하는 서비스 플랫폼.
  8. 제7항에 있어서, 상기 제어부는,
    상기 제1 단말기의 식별정보 또는 상기 제1 단말기 사용자의 식별정보에 대응하는 QR(Quick response) 코드를 포함하는 배경 이미지를 상기 제1 단말기에 전송하고, 상기 발췌 데이터에 대한 열람 요청에 대한 응답으로 표시되는 이미지를, 상기 QR 코드를 포함하는 배경 이미지 상에서 표시되도록 상기 제1 단말기를 제어하는 것을 특징으로 하는 서비스 플랫폼.
  9. 제1항에 있어서, 상기 제어부는,
    상기 발췌 데이터가 생성되면, 생성된 발췌 데이터에 포함된 일부의 도서 데이터에 대한 요약 정보를 상기 도서 데이터 저장부로부터 검출 및 검출된 요약 정보를, 상기 발췌 데이터에 포함된 블록 고유 정보에 매칭하고,
    상기 제1 단말기의 요청에 따라, 기 저장된 발췌 데이터들 각각의 블록 고유 정보에 매칭되는 요약 정보들을 목록화하여 상기 제1 단말기에 제공하는 것을 특징으로 하는 서비스 플랫폼.
  10. 삭제
  11. 제1항에 있어서, 상기 제어부는,
    상기 원작 도서의 일부에 대응하는 블록 고유 정보를 포함하는 발췌 블록을 구성하는 적어도 하나의 문자 또는 이미지가 변경되거나 또는 상기 발췌 블록 내에 적어도 하나의 문자 또는 이미지가 추가되는 경우,
    상기 발췌 블록을, 상기 변경 또는 추가된 적어도 하나의 문자 또는 이미지를 중심으로, 동일한 원작 도서의 일부에 대응하는 블록 고유 정보를 포함하는 서로 다른 블록 정보에 매칭되는 서로 다른 발췌 블록들로 분할하고,
    상기 변경 또는 추가된 문자 또는 이미지를, 상기 제네시스 블록으로 블록화하는 것을 특징으로 하는 서비스 플랫폼.
  12. 제1항에 있어서,
    상기 서비스 플랫폼은,
    상기 제작된 멀티북의 도서 데이터를 판매할 수 있는 마켓 플레이스를 더 제공하며,
    상기 제어부는,
    상기 멀티북에 적어도 일부가 포함된 각각의 발췌 데이터에 대응하는 적어도 하나의 원작 도서의 기 설정된 가격들 및 상기 멀티북을 제작한 제작자가 설정한 저작료를 합산하여 상기 멀티북의 가격을 결정하는 것을 특징으로 하는 서비스 플랫폼.
  13. 제12항에 있어서,
    상기 제어부는,
    상기 원작 도서의 기 설정된 가격들과 기 설정된 산출 단위에 따라 단위 금액을 산출하고, 상기 산출 단위에 따른 단위 금액에 근거하여 상기 멀티북에 포함된 발췌 데이터의 적어도 일부에 대한 표준 금액을 산출하는 것을 특징으로 하는 서비스 플랫폼.
  14. 삭제
KR1020220157603A 2022-11-22 2022-11-22 멀티북 제작 및 판매 서비스를 제공하는 서비스 플랫폼 KR102570329B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220157603A KR102570329B1 (ko) 2022-11-22 2022-11-22 멀티북 제작 및 판매 서비스를 제공하는 서비스 플랫폼

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220157603A KR102570329B1 (ko) 2022-11-22 2022-11-22 멀티북 제작 및 판매 서비스를 제공하는 서비스 플랫폼

Publications (1)

Publication Number Publication Date
KR102570329B1 true KR102570329B1 (ko) 2023-08-25

Family

ID=87846978

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220157603A KR102570329B1 (ko) 2022-11-22 2022-11-22 멀티북 제작 및 판매 서비스를 제공하는 서비스 플랫폼

Country Status (1)

Country Link
KR (1) KR102570329B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140144365A (ko) * 2013-06-10 2014-12-19 이상현 편집책 생성 시스템 및 그 생성 방법
KR102372172B1 (ko) * 2021-09-08 2022-03-08 미러 주식회사 전자도서 판매 시스템 및 전자도서 판매 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140144365A (ko) * 2013-06-10 2014-12-19 이상현 편집책 생성 시스템 및 그 생성 방법
KR102372172B1 (ko) * 2021-09-08 2022-03-08 미러 주식회사 전자도서 판매 시스템 및 전자도서 판매 방법

Similar Documents

Publication Publication Date Title
CN101960753B (zh) 注释视频区间
CA2684955C (en) Providing annotations of a digital work
JP5872753B2 (ja) サーバ装置、電子機器、電子書籍提供システム、サーバ装置の電子書籍提供方法、電子機器の電子書籍表示方法及びプログラム
US10282386B1 (en) Sampling a part of a content item
US8032565B2 (en) Automated creation of media asset illustrations
CN101286171B (zh) 信息处理系统及装置、服务器装置、信息处理方法和程序
EP2131365A1 (en) Information processing device, information processing method and program
KR20090069300A (ko) 페이퍼 및 전자 문서내의 주석의 캡처 및 디스플레이
CN101542455A (zh) 过滤可扩展应用程序标记语言(xaml)文件以便于索引
US20120173578A1 (en) Method and apparatus for managing e-book contents
US20130076771A1 (en) Generating a visual depiction of a cover for a digital item
CN101568969A (zh) 故事共享自动化
Leggett Digitization and digital archiving: a practical guide for librarians
US7831907B2 (en) Grouping of information items on a page
US20140161423A1 (en) Message composition of media portions in association with image content
JP6730757B2 (ja) サーバおよびプログラム、動画配信システム
US20100131849A1 (en) Method and apparatus for providing advertising moving picture
US20140163956A1 (en) Message composition of media portions in association with correlated text
JP6603925B1 (ja) 動画編集サーバおよびプログラム
US20130159843A1 (en) Methods, Apparatuses, Systems, and Computer Readable Media for Copying Contents from a Layout File
JP6730760B2 (ja) サーバおよびプログラム、動画配信システム
KR102570329B1 (ko) 멀티북 제작 및 판매 서비스를 제공하는 서비스 플랫폼
KR20140098929A (ko) 사용자 지향적 개인 출판물 저작 도구를 이용하는 웹 기반의 온라인 전자책 출판 방법 및 웹 기반의 온라인 전자책 출판 시스템
KR102553332B1 (ko) 라이브 방송 플랫폼에서 콘텐츠 편집 방법 및 장치
JP6713183B1 (ja) サーバおよびプログラム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant