WO2016171401A1 - 공동 편집 문서를 공유하는 방법 및 장치 - Google Patents

공동 편집 문서를 공유하는 방법 및 장치 Download PDF

Info

Publication number
WO2016171401A1
WO2016171401A1 PCT/KR2016/002926 KR2016002926W WO2016171401A1 WO 2016171401 A1 WO2016171401 A1 WO 2016171401A1 KR 2016002926 W KR2016002926 W KR 2016002926W WO 2016171401 A1 WO2016171401 A1 WO 2016171401A1
Authority
WO
WIPO (PCT)
Prior art keywords
document
server
editing
client
command
Prior art date
Application number
PCT/KR2016/002926
Other languages
English (en)
French (fr)
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
Priority claimed from KR1020160029623A external-priority patent/KR101701110B1/ko
Application filed by 주식회사 인프라웨어 filed Critical 주식회사 인프라웨어
Priority to CN201680000215.0A priority Critical patent/CN107924391A/zh
Priority to US15/027,931 priority patent/US20170134495A1/en
Publication of WO2016171401A1 publication Critical patent/WO2016171401A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Definitions

  • the present invention relates to a method and apparatus for sharing a co-edited document, and more particularly, to a method and apparatus for sharing a co-edited document that can efficiently share a co-edited document.
  • a cloud service is provided for users who use a terminal to store data or files in a virtual storage and to exchange data or files through the virtual storage. It's called a cloud service. Cloud services give users the freedom to use data or files. Specifically, the cloud service allows a user to download or upload data or files without being limited by time and space, and may share data or files with other users.
  • cloud services are provided on a shared server, a repository for storing and sharing data or files. Specifically, users can store and share document files through a shared server, and users can edit document files through their respective terminals.
  • the shared server receives an edit input from each terminal of the user, reflects the edited contents in the shared document, and updates the shared document. ). Accordingly, as the number of terminals sharing a shared document increases, the shared server needs more engines to reflect the contents of editing the shared document, and the data to be processed by the shared server as many engines are used. Also increases the load. That is, as the number of terminals sharing the shared document increases, the load for reflecting the edited content in the shared document increases on the shared server, the performance of the shared server may decrease, and the quality of the cloud service may decrease.
  • the problem to be solved by the present invention is a method and apparatus for sharing a co-editing document that can quickly edit a shared document (hereinafter referred to as a co-editing document) for editing by multiple clients using less resources. To provide.
  • Another problem to be solved by the present invention is to share a co-editing document that can quickly provide an updated co-editing document to a new client added when a new client shares the co-editing document while editing the co-editing document. It is to provide a method and apparatus.
  • the apparatus for sharing the co-edited document receives at least two edit instructions associated with the co-edited document from at least one client included in a client group comprising at least two clients, and receives the at least two edit instructions.
  • the co-editing based on the command list collected based on the order in which the received editing instructions are received based on the order in which the command delivery server transmits to each of the clients included in the client group based on the order and a preset condition is satisfied; It may include an engine-pool server that updates the seed document file associated with the document.
  • the method may further include a command storage server generating a command list collected based on the received order of the received edit commands, and transmitting the command list to the engine-pool server when a predetermined condition is met. have.
  • the predetermined condition may be configured to detect an end of connection of at least one client or an accumulation of an editing command more than a threshold value in the command storage server when the editing command is not received from the at least one client for a predetermined time. It may be one case.
  • storing a seed document file generated based on a document file uploaded to a shared server and transmitting the seed document file to at least one client included in a client group including at least two clients. It may further include a seed document server.
  • the engine-full server may send the update seed document file to the seed document server, and the seed document server may store the update seed document file along with the seed document file.
  • the seed document server when an additional client not included in the client group is connected to the seed document server to co-edit the document file, the seed document server sends the updated seed document file to the additional client and stores instructions.
  • the server may transmit the stored additional edit command to the command delivery server after the command list is sent to the engine-full server, and the command delivery server may transmit the additional edit command to the additional client.
  • a sharing server when a sharing server receives a sharing signal for sharing the document file with a client included in the client group or with additional clients not included in the client group, a shortcut file is generated based on the document file. It can include more top file servers.
  • the shortcut file may include information about a location where the seed document file is stored, and the seed document server may include at least one client included in the client group through the shortcut file in the seed document file, or You can have additional clients receive.
  • a method of sharing a co-edited document performed in an apparatus for sharing a co-edited document may comprise transmitting a seed document file from a seed document server to at least one client included in a client group comprising at least two clients, at the command delivery server, from the at least one client.
  • Receiving at least two edit instructions associated with an edit document sending, at the command delivery server, to each of the clients included in the client group based on the order in which the at least two edit instructions were received;
  • the seed document file associated with the co-editing document is updated and updated based on the command list collected based on the received order of the received edit instructions. May include generating a document file have.
  • the addition The method may further include transmitting a stored additional edit command to the client after the update seed document file is generated.
  • the method may further include transmitting, at the seed document server, the seed document file to each additional client or to at least one client included in the client group connected through the shortcut file generated based on the document file. have.
  • the computer-readable recording medium includes instructions for causing a seed document server to transmit a seed document file to at least one client included in a client group comprising at least two clients, wherein, at the command delivery server, the at least one client To receive at least two editing instructions associated with a co-editing document from the command delivery server, to send to each of the clients included in the client group based on the order in which the at least two editing instructions were received.
  • the method includes transmitting an editing command for editing a co-edited document to the command delivery server for delivery to a command delivery server via a command delivery server to at least one other client included in a client group comprising at least two clients.
  • the method comprises: sending a co-editing request for a co-editing document being edited in a client group comprising at least two clients to a seed document server, wherein the client with an engine pool server included in the client group Receiving an update seed document file generated based on the seed document and at least one editing instruction for editing the received co-editing document prior to generating an update seed document file from the command storage server, the command being included in the client group.
  • Edit command may comprise the step of generating based on the updated joint editing documents to.
  • the present invention has the effect of providing a method and apparatus for sharing a co-editing document that can quickly edit a shared document for editing by multiple clients using less resources.
  • the present invention provides a method and apparatus for sharing a co-editing document that can quickly provide an updated co-editing document to an added new client when a new client shares the co-editing document while editing the co-editing document. It can be effective.
  • FIG. 1 illustrates a relationship between a device for sharing a co-edited document and a shared server, a shortcut file server, and a client according to an embodiment of the present invention.
  • FIG. 2 illustrates a procedure for sharing a co-edited document file according to a method of sharing a co-edited document according to an embodiment of the present invention.
  • FIG. 3 illustrates a relationship between a client and a configuration of an apparatus for sharing a co-edited document according to an embodiment of the present invention.
  • 4A and 4B illustrate exemplary output screens of a client and an engine of a client sharing a co-edited document by a method of sharing a co-edited document according to an embodiment of the present invention.
  • FIG. 5 illustrates a relationship between a client and a configuration of an apparatus for sharing a co-edited document according to another embodiment of the present invention.
  • 6A and 6B illustrate exemplary output screens of a client sharing a co-edited document by a method of sharing a co-edited document according to another embodiment of the present invention.
  • FIG. 7 illustrates a relationship between a client and a configuration of an apparatus for sharing a co-edited document according to another embodiment of the present invention.
  • 8A and 8B illustrate exemplary output screens of a client and an engine of a client sharing a co-edited document by a method of sharing a co-edited document according to another embodiment of the present invention.
  • FIG. 9 illustrates a schematic configuration of a collaborative document sharing device according to a second embodiment of the present invention and a relationship between a collaborative document sharing device and a sharing server, a collaborative document sharing device, and a document editing terminal.
  • FIG. 10 illustrates a procedure for updating a joint document file according to a joint document sharing method using a dualized server according to the second embodiment of the present invention.
  • FIG. 11 is an exemplary diagram for describing a method of sharing a common document file and receiving and storing an editing command according to a common document sharing method using a dual server according to a second embodiment of the present invention.
  • FIG. 12 is an exemplary diagram for describing a method of sharing a joint document with a document editing document terminal according to a joint document sharing method using a dual server according to a second embodiment of the present invention.
  • FIG. 13 exemplarily illustrates an update condition selectable in a joint document sharing method using a dual server according to a second embodiment of the present invention.
  • Shapes, sizes, ratios, angles, numbers, and the like disclosed in the drawings for describing the embodiments of the present invention are exemplary, and the present invention is not limited to the illustrated items.
  • the detailed description of the related known technology may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
  • 'comprises', 'haves', 'consists of' and the like mentioned in the present specification other parts may be added unless 'only' is used.
  • constituent elements being used in the singular, the plural includes the plural unless specifically stated otherwise.
  • first, second, etc. are used to describe various components, these components are not limited by these terms. These terms are only used to distinguish one component from another. Therefore, the first component mentioned below may be a second component within the technical spirit of the present invention.
  • each of the features of the various embodiments of the present invention may be combined or combined with each other in part or in whole, various technically interlocking and driving as can be understood by those skilled in the art, each of the embodiments may be implemented independently of each other It may be possible to carry out together in an association.
  • a document editing terminal is a terminal capable of editing an electronic document file, and means a terminal capable of editing the contents and settings of the electronic document file while sharing the electronic document file stored in a shared server such as a cloud server. .
  • a co-editing document is a document created by collaboration shared by a plurality of document editing terminals, and means an electronic document shared by the document editing terminals.
  • the co-editing document may mean an electronic document stored in a cloud server to which document editing terminals access to share an electronic document.
  • a co-edited document file means a path through which a co-edited document itself or a co-document shared and editable through a plurality of document editing terminals can be accessed.
  • a co-edited document file may be a co-document itself that is transmitted from a shared server such as a cloud server and temporarily stored on a co-document sharing device, or may be a link that allows a document editing terminal to access the co-document. .
  • the seed document file is an editing file corresponding to a document file (hereinafter, a co-editing document file) that the client intends to edit jointly, and refers to an editing document file shared by the client before the editing command is applied. do.
  • a seed document file may be stored in a device sharing a co-editing document and transmitted to the client when the client requests sharing of the document file.
  • an editing command is a command for editing a document shared by a client, and includes various commands input to a co-editing document.
  • the editing command may include a delete command for deleting at least some content of the co-editing document, a command for adding, a command for changing the format of the document, and an insert command for inserting an object such as a picture.
  • the editing command entered by any client may be sent to a device sharing the co-editing document and then to a client connected to the device sharing the co-editing document.
  • the command list is a list that receives the edit command and stores the received edit command according to a predetermined rule.
  • the command list may be a list storing the edit command received until the preset condition is satisfied.
  • an additional client refers to a client connected to a device sharing a co-editing document after at least one editing command for the document file is input to the device sharing the co-editing document. That is, the additional client refers to a client connected to the device sharing the co-editing document after the client connected to the device sharing the co-editing document edits the seed document file. In other words, an additional client may mean a client that is not included in a client group including clients connected to a device sharing a co-editing document.
  • FIG. 1 illustrates a relationship between a device for sharing a co-edited document and a shared server, a shortcut file server, and a client according to an embodiment of the present invention.
  • a device for sharing a co-editing document may include a seed document server 110, a command delivery server 120, a command storage server 130, and an engine-pool. (engine-pool) server 140.
  • the co-editing document sharing apparatus 100 may be connected to communicate with at least one client 900 and the additional client 910.
  • the co-editing document sharing apparatus 100 may be connected to communicate with the sharing server 1000 and the shortcut file server 1200.
  • At least one client connected to the co-editing document sharing apparatus 100 may form a client group 900.
  • the client group 900 may mean a group including at least two clients associated with a co-editing document, but is not limited thereto.
  • the one client may also be referred to as the client group 900.
  • the client group 900 may consist of all or some of the clients accessible to the same co-edited document.
  • the document that the client group 900 co-edits may be one document or a plurality of documents.
  • the plurality of documents may be a combination of the same type (e.g., a spreadsheet document) or a combination of different types (e.g., a spreadsheet document and a text document). May be combined).
  • Clients belonging to one client group 900 may belong to other client groups at the same time.
  • One or more client groups 900 may be created for one co-edited document.
  • Client group 900 may include clients that need to share any event or share editing instructions for any reason.
  • "at least one client” may mean one or more clients belonging to the client group 900, or may be used to describe the collective operation of the entire client group 900.
  • the seed document server 110 may store the seed document file and the update seed document file and provide the seed document file to the engine-pull server 140.
  • the seed document server 110 stores a seed document file generated based on the document file uploaded to the sharing server 1000 and includes the seed document file in a client group including at least two clients. Can be sent to at least one client.
  • the command delivery server 120 receives the edit command from the at least one client 900 and transmits the edit command to the at least one client 900 again.
  • the command delivery server 120 receives at least two edit commands associated with a co-edited document from at least one client included in a client group 900 including at least two clients, and receives the at least two edit commands. It may transmit to each of the clients included in the client group on the basis of the order. For example, the command delivery server 120 transmits the edit command received from the second client 902 to at least one client 900. In addition, the command delivery server 120 transmits the edit command received from the at least one client 900 to the command storage server 130.
  • the instruction storage server 130 stores the editing instructions transmitted from the instruction delivery server 120.
  • the command storage server 130 may store the editing commands in the order transmitted by the command delivery server 120.
  • the order in which the command delivery server 120 transmits may be the same as the order in which the command delivery server 120 receives the editing command.
  • the command storage server 130 may generate the command list by storing the editing commands in the order in which they are received, and transmit the command list to the engine-pull server 140 according to a predetermined condition.
  • the command storage server 130 generates a command list collected based on the order in which the edit commands received by the command transmission server 120 are received, and if the predetermined condition is satisfied, the engine-full server 140 Can be sent by
  • the predetermined condition may include a case in which an editing command is not received from the at least one client for a predetermined time, a case in which an editing command is accumulated in a command storage server more than a threshold value, or when the termination of connection of at least one client is detected. can do.
  • the command storage server 130 may be a different module of a server that is physically the same as the command delivery server 120, or may be a physically separated server.
  • the engine-pull server 140 receives a seed document file from the seed document server 110 and receives a list of instructions from the instruction storage server 130 to generate an updated seed document file based on the seed document file and the list of instructions. do.
  • the engine-pool server 140 may generate an update seed document file by merging editing commands included in the command list with the seed document file.
  • the engine-pull server 140 may include an engine that generates an update co-editing document file based on the seed document file and the editing instruction or based on the update seed document file and the further editing instruction. When the preset condition is met, the engine-pool server 140 may update the seed document file associated with the co-editing document based on the command list collected based on the received order of the received editing instructions. . Engine-full server 140 also sends the update seed document file back to seed document server 110.
  • At least one client 900 includes a first client 901, a second client 902, and a third client 903.
  • FIG. 1 illustrates that at least one client 900 includes three clients, the number of clients included in the at least one client 900 is not limited thereto.
  • the first to third clients may form a client group 900.
  • At least one client 900 may upload a document file to the sharing server 1000.
  • any one of the at least one client 900, for example, the first client 901 may upload a document file to be shared to the sharing server 1000.
  • a method of sharing a co-editing document based on a case where the first client 901 uploads a document file to the sharing server 1000 will be described.
  • Each of the at least one client 900 also includes an engine that generates an update co-editing document file based on the seed document file and the editing instructions or based on the update seed document file and the further editing instructions. Specific functions of the engine included in each of the at least one client 900 will be described later with reference to FIGS. 4 and 8.
  • the sharing server 1000 may provide information about a document file to the co-editing document sharing apparatus 100.
  • the sharing server 1000 may copy the document file and provide the seed document file to the co-editing document sharing apparatus 100.
  • the shortcut file server 1200 is connected to communicate with the sharing server 1000.
  • the shortcut file server 1200 generates a shortcut file based on the document file uploaded to the sharing server 1000.
  • a shared server eg, a shared server
  • the shortcut file server 1200 When the 1000 file is received, the shortcut file server 1200 generates a shortcut file based on the uploaded document file. A detailed description of the shortcut file will be described later with reference to FIGS. 7 and 8.
  • the co-editing document sharing device 100 including the command delivery server 120 and the engine-pull server 140 which dualizes the delivery of the command and the update of the seed document file receives the editing command through one server.
  • the server wastes resources and decreases the update speed and performance of the common document file.
  • the co-editing document sharing apparatus 100 separates a function of transferring an editing command received from a client to another client and a function of merging the editing command into a co-editing document, thereby increasing the number of clients.
  • the number of engines does not have to be increased correspondingly, thereby preventing a surge in resource demand and reducing the burden on the server.
  • Each component of the co-editing document sharing apparatus 100 is merely illustrated as a separate configuration for convenience of description, and may be implemented as one configuration or one configuration may be divided into two or more configurations according to an implementation method.
  • FIG. 2 illustrates a procedure for sharing a co-edited document file according to a method of sharing a co-edited document according to an embodiment of the present invention.
  • 3 illustrates a relationship between a client and a configuration of an apparatus for sharing a co-edited document according to an embodiment of the present invention. For convenience of explanation, it will be described with reference to FIG. 1.
  • the method of sharing a co-edited document according to the present invention is initiated by the seed document server 110 sending a seed document file generated based on the document file uploaded to the shared server 1000 to the at least one client 900. (S210).
  • the seed document server 110 stores the seed document file and transmits the seed document file to a client connected to the co-editing document sharing apparatus 100 and requesting co-editing.
  • the seed document server 110 may store a plurality of seed document files. For example, when a seed document file is generated by a client request, the seed document server 110 stores the generated seed document file.
  • the seed document server 110 may also store the updated seed document file.
  • the first seed document file 111 is generated at the request of the client, the first seed document file 111 is stored in the seed document server 110, and the first seed document file 111 and the command list.
  • the second seed document file is generated based on the updated seed document file, the second seed document file is also stored in the seed document server 110. Accordingly, the seed document server 110 may store at least one seed document file.
  • the seed document server 110 may transmit the stored seed document file to at least one client 900.
  • the seed document server 110 may transmit a seed document file corresponding to the document file requested to be shared to the client. A detailed process of transmitting the seed document file to the client by the seed document server 110 will be described later with reference to FIGS. 5 and 6.
  • the seed document server 110 requests an additional co-editing in addition to the client connected to the co-editing document sharing apparatus 100 to update the seed document file to the additional client 910 connected to the co-editing document sharing apparatus 100. Can be sent. A detailed process of transmitting the update seed document to the additional client 910 will be described later with reference to FIGS. 7 and 8.
  • the command delivery server 120 receives an editing command from at least one client 900 (S220). Subsequently, the command delivery server 120 transmits the edit command to each of the at least one client 900 in response to the order in which the edit command is received (S230).
  • the command delivery server 120 upon receiving an editing command from any one of the at least one client 900, transmits the received editing command to each of the clients included in the at least one client 900. do.
  • the command transfer server 120 receives the first edit command 131 and transmits the first edit command 131 to each of the at least one client 900.
  • the command delivery server 120 may correspond to the order in which the edit command is received. 132 is first transmitted to each of the at least one client 900 and then a third editing command 133 is sent to each of the at least one client 900.
  • the editing command is transmitted from the first client 901, but the present invention is not limited thereto, and the editing command may be arbitrarily transmitted from each of the at least one client 900.
  • the command delivery server 120 transmits the editing command to the command storage server 130 in the received order.
  • the command delivery server 120 receives the edit command from the at least one client 900 in the order of the first edit command 131, the second edit command 132, and the third edit command 133.
  • the command delivery server 120 also transmits the edit command to the command storage server 130 in the order of the first edit command 131, the second edit command 132, and the third edit command 133.
  • each of the at least one client 900 receives the editing command in real time through the command delivery server 120, and applies the editing command to the seed document file that each of the at least one client 900 has in real time. You can create an update co-editing document.
  • Each of the at least one client 900 sends an editing command for editing a co-editing document to the command delivery server for delivery to the at least one other client included in a client group comprising at least two clients via a command delivery server.
  • each of the at least one client 900 may generate the update co-editing document.
  • a detailed process of each of the at least one client 900 generating the updated co-editing document will be described later with reference to FIG. 4.
  • the command storage server 130 stores the edit command in response to the order in which the edit command is received (S240).
  • the step of transmitting the edit command to the command storage server 130 by the command delivery server 120 may be performed simultaneously with the step of transmitting the edit command to the at least one client 900 by the command delivery server 120.
  • command storage server 130 may generate a command list and store the edit command in the order of receiving the edit command.
  • command storage server 130 may transmit the edit command or the command list stored by the predetermined condition to the engine-pool server 140. A detailed transmission relationship between the edit command and the command list between the command storage server 130 and the engine-full server 140 will be described later with reference to FIGS. 7 and 8.
  • the co-editing document sharing apparatus 100 transmits the editing command directly to the at least one client 900 via the command delivery server 120, thereby efficiently collaborating on the document file with only a small processing load and low resource usage. Edit and update can be implemented.
  • the co-editing document sharing apparatus 100 stores the received edit commands in the command storage server 130 in order, so that even if a client who wants to co-edit a document file is additionally connected, the co-edited document sharing device 100 is updated based on the latest edited commands. Editing documents may be provided to additional clients 910.
  • 4A and 4B illustrate exemplary output screens of a client and an engine of a client sharing a co-edited document by a method of sharing a co-edited document according to an embodiment of the present invention.
  • At least one client 900 each includes an engine 940.
  • the engine 940 generates an update co-edit document based on the seed document file and the edit instruction. For example, when each of the at least one client 900 co-edits with the first seed document file 111, the engine 940 at each of the at least one client 900 receives the received first editing instructions 131. ) Is applied to the first seed document file 111 to generate an update co-editing document. That is, each of the at least one client 900 may generate and output an updated co-editing document based on the seed document file through the engine 940 whenever an editing command is received.
  • the co-edited document output screen 400 is output to each of the at least one client 900.
  • the co-editing document output screen 400 may output the seed document file, and output the updated co-editing document generated by applying an editing command to the seed document file.
  • the first co-edited document output screen 401 outputs the first seed document file 111.
  • the second co-editing document output screen 402 may transmit the first seed document file 111 and the first seed document file through the engine 940.
  • the updated co-editing document generated based on the editing command 431 is output.
  • editing instructions sent from the command delivery server 120 are applied to the seed document file by the engine 940 at each of the at least one client 900 such that each of the at least one client 900 is an update co-editing document. It can generate and output the updated co-editing document applying the editing commands transmitted in real time.
  • the command delivery server 120 does not include an engine for generating an update co-editing document by applying an editing command to a seed document file and transmitting the edit command to at least one client 900 as it is received. Can be. Accordingly, the co-editing document sharing apparatus 100 may reduce resources and load for the engine for generating the co-editing document, and may transmit an editing command to each of the at least one client 900 in real time. That is, each of the at least one client 900 may output the co-edited document more quickly through the co-edited document sharing apparatus 100.
  • FIG. 5 illustrates a relationship between a client and a configuration of an apparatus for sharing a co-edited document according to another embodiment of the present invention.
  • FIG. 5 illustrates a process in which a seed document file is generated and transmitted to a client, and redundant description of components already described with reference to FIG. 3 will be omitted.
  • one of the at least one client 900 uploads a document file to the sharing server 1000.
  • the sharing server 1000 may transmit the uploaded document file to the shortcut file server 1200.
  • the shared server 1000 may copy the uploaded document file to generate a seed document file and transmit the seed document file to the seed storage server 110.
  • the seed document file is stored in the seed storage server 110
  • the shortcut file server 1200 generates a shortcut file based on the uploaded document file.
  • the shortcut file includes information about a location where the seed document file is stored.
  • the shortcut file may include an address of the seed storage server 110 in which the seed document file generated based on the corresponding document file is stored, and information about a specific location stored in the seed storage server 110.
  • each of the at least one client 900 receives a seed document file from the seed document server 110 through a shortcut file.
  • the at least one client 900 shares the document file uploaded to the sharing server 1000
  • the at least one client 900 does not directly share the uploaded document file, but seeds through the shortcut file.
  • at least one client 900 performs co-editing on the basis of the received seed document file, and transmits the edit command input for co-editing to the command delivery server 120.
  • Specific aspects in which the at least one client 900 shares the seed document file via the shortcut file will be described later with reference to FIG. 6.
  • the apparatus 100 for co-editing document sharing stores a seed document file for co-editing and transmits the seed document file to at least one client 900 to separate the document file actually uploaded to the sharing server 1000. This allows you to save document files for collaborative editing. That is, a client uploading a document file can manage a document file for co-editing and a personally owned document file separately.
  • 6A and 6B illustrate exemplary output screens of a client sharing a co-edited document by a method of sharing a co-edited document in accordance with another embodiment of the present invention.
  • the co-edited document output screen 610 displays a document file output from any client.
  • the co-editing document output screen 610 displays a sharing button 611. Accordingly, a user of an arbitrary client may transmit a sharing signal to the sharing server 1000 by clicking the sharing button 611 on the currently output document file.
  • the document file management screen 620 is an exemplary screen of an application managing a document file output from any client.
  • the document file management screen 620 may be an exemplary screen of a file manager capable of storing a document file and managing whether the document file is shared.
  • the document file management screen 620 displays a share button 621, and displays a document file 631 and a shortcut file 632.
  • the document file management screen 620 may overlap the document file 631 or the shortcut file 632 to further display a drop-down menu 622. Accordingly, a user of an arbitrary client may transmit a sharing signal to the sharing server 1000 by selecting 'sharing' from the sharing button 621 or the drop-down menu 622 in the currently output document file.
  • the sharing server 1000 receiving the sharing signal transmits a signal such that the shortcut file server 1200 generates a shortcut file, generates a seed document file, and transmits the seed document file to the seed storage server 110.
  • FIG. 7 illustrates a relationship between a client and a configuration of an apparatus for sharing a co-edited document according to another embodiment of the present invention.
  • FIG. 7 illustrates a process of transmitting an update seed document file and an additional edit command to an additional client, and duplicate descriptions of components already described with reference to FIGS. 3 and 5 will be omitted.
  • the seed document server 110 transmits an update seed document file to the additional client 910.
  • the additional client 910 may generate a document in the seed document server 110 after each of the at least one client 900 generates an update co-editing document based on the first seed document file 111 and the at least one editing command.
  • the client may have requested to co-edit the file.
  • the additional client 910 may be a client not included in the client group 900.
  • the additional client 910 may be included in the client group 900 after connecting to the collaborative document editing apparatus 100 described below and generating an updated collaborative edit document.
  • the seed document server 110 transmits the seed document file to the engine-pool server 140 according to a predetermined condition. For example, when no edit command is received from the at least one client 900 for a predetermined time, when 200 or more edit commands are stored in the command storage server 130 or any one of the at least one client 900 is When the connection is terminated to the co-editing document sharing apparatus 100, the seed document server 110 transmits the first seed document file 111 to the engine-pool server 140.
  • the instruction storage server 130 transmits the instruction list 730 generated according to a predetermined condition to the engine-pool server 140.
  • the command list 730 includes at least one edit command.
  • the command list 730 may be generated including the first edit command 131 and the second edit command 132.
  • the command storage server 130 transmits a command list 730 generated based on at least one edit command to the engine-pool server 140 according to a predetermined condition. For example, when no edit command is received from the at least one client 900 for a predetermined time, when 200 or more edit commands are stored in the command storage server 130 or any one of the at least one client 900 is When the connection to the co-editing document sharing device 100 is terminated, the command storage server 130 may transmit the command list 730 to the engine-pool server 140.
  • the engine-pool server 140 generates an update seed document file based on the received seed document file and the command list 730. For example, the engine-pool server 140 receives the first seed document file 111 and receives the command list 730 to send the first edit instruction 131 and the first edited document to the first seed document file 111.
  • the second seed document file 112, which is an update seed document file, is applied by applying the two editing instructions 132.
  • the engine-pull server 140 transmits the generated update seed document file to the seed document server 110, and the seed document server 110 together with the first seed document file 111 is the first seed document file. 2 Save the seed document file 112. Accordingly, when the additional client 910 is connected, the seed document server 110 may transmit the updated seed document file to the additional client 910.
  • the command storage server 130 transmits the stored additional edit command 133 to the command delivery server 120 after the command list 730 is transmitted to the engine-pull server 140.
  • the edit command received by the command storage server 130 becomes an additional edit command.
  • the additionally received third edit command 133 becomes an additional edit command.
  • the command delivery server 120 transmits an additional editing command 133 to the additional client 910. Specifically, when the additional client 910 is connected to the seed document server 110, the third editing command 133, which is an additional editing command, is transmitted to the command delivery server 120, and is added through the command delivery server 120. The third editing instruction 133, which is an editing instruction, is sent to the additional client 910.
  • the additional client 910 may receive the update seed document file from the seed document server 110 and generate only the update editing command from the command delivery server 120 to generate an update co-editing document.
  • An engine for generating an update co-editing document will be described later with reference to FIG. 8.
  • the additional client 910 transmits a co-editing request for the co-editing document being edited in the client group 900 including at least two clients to the seed document server 110, and from the seed document server 110.
  • Receives a document file receives from the command storage server 130, at least one additional editing command for generating the update seed document file from the client included in the client group, and then edit the received co-edited document, Update seed document file received from the seed document server 110 and from the command storage server 130 Placed on the basis of further editing instruction may generate updated joint document editing.
  • receiving both the first seed document file 111 and at least one editing instruction may cause the document to be lost. It can be inefficient for co-editing.
  • the co-editing document sharing apparatus 100 stores the editing command as the command list 730 according to a predetermined condition, and generates an update seed document file using the engine-pull server 140, thereby generating additional client ( 910 may co-edit the document file more efficiently by receiving only an update seed document file and an additional edit command.
  • the command delivery server 120 delivers individual edit commands or additional edit commands directly to the at least one client 900 and the additional client 910 in real time, and the engine-pull server 140 sends the seed document file and the commands.
  • the co-editing document sharing device 100 executes the command transfer and the update of the seed document file on a dualized server having different functions. The processing load can be reduced and the additional client 910 can be quickly provided with files for co-editing. Accordingly, the co-editing document sharing apparatus 100 can more efficiently and quickly perform editing of document files shared by many clients.
  • 8A and 8B illustrate exemplary output screens of a client and an engine of a client sharing a co-edited document by a method of sharing a co-edited document according to another embodiment of the present invention.
  • the additional client 910 also includes an engine 940.
  • Such an engine 940 has the same function as the engine 940 included in each of the at least one client 900 as shown in FIG. 4A. Specifically, the engine 940 generates an update co-editing document based on the received update seed document file 112 and the additional edit command 133.
  • the co-edited document output screen 800 is a screen output to the additional client 910 and outputs an updated co-edited document. Specifically, the co-edited document output screen 800 displays an updated co-edited document including a display 833 to which the additional edit command 133 is applied to the updated seed document file 112.
  • the co-editing document output screen 800 displays an updated co-editing document including an indication to which the deletion is applied.
  • the co-edited document output screen 800 is displayed as displaying that the deletion is applied.
  • the part to which the deletion is applied may not be displayed, and the co-editing document may be displayed according to the characteristics of the additional editing command 133. It may or may not be displayed on the output screen 800.
  • the apparatus 100 for co-editing document sharing generates an update seed document file through the engine-pull server 140, so that only additional editing commands are added through the command delivery server 120. ) So that the command delivery server 120 does not include an engine for updating the co-edited document. Accordingly, the command delivery server 120 does not need to add an engine for updating the co-edited document as the client is added, and does not increase the processing load due to the increase of the engine. That is, the co-editing document sharing apparatus 100 reduces or minimizes the engine for updating the co-editing document, thereby enabling efficient and rapid co-editing of the document even though the number of clients increases.
  • a document editing terminal is a terminal that can edit an electronic document file, and can edit contents and settings of the electronic document file while sharing an electronic document file stored in a shared server such as a cloud server.
  • a shared server such as a cloud server.
  • a collaborative document is a document created by collaboration shared by a plurality of document editing terminals and means an electronic document shared by the document editing terminals.
  • the joint document may mean an electronic document stored in a cloud server to which document editing terminals access to share an electronic document.
  • the common document file refers to a shared document itself or a path through which the shared document can be accessed through a plurality of document editing terminals.
  • the collaborative document file may be a collaborative document itself transmitted from a shared server such as a cloud server and temporarily stored in the collaborative document sharing device, or a link that allows a document editing terminal to access the collaborative document.
  • an editing command is a command for editing a common document file shared by a document editing terminal.
  • the editing command may be generated in a document editing terminal for editing a common document file and transmitted to the shared document sharing device.
  • the editing command may include a delete command for deleting the contents of the collaborative document file and an insert command for inserting an object such as a picture.
  • the edit command list is a list stored in the order in which the command is received by the command delivery server and stored in the received order, and is a list in which the edit command received until the update condition is satisfied is stored.
  • the additional document editing terminal refers to a document editing terminal in which the document editing terminal additionally requests the sharing server to share the common document file after sharing the common document file through the sharing server.
  • FIG. 9 illustrates a schematic configuration of a collaborative document sharing device according to a second embodiment of the present invention and a relationship between a collaborative document sharing device and a sharing server, a collaborative document sharing device, and a document editing terminal.
  • a common document sharing apparatus 1002 includes an engine-pool server 1102 and a command delivery server 1202.
  • the engine-pull server 1102 includes various types of engines. Specifically, the various types of engines may be engines that can execute or edit a joint document file.
  • the engine-pull server 1102 may include an engine for receiving a collaborative document file, an engine for executing the collaborative document file, an engine for applying the edited content to the collaborative document file, and the like.
  • engine-pull server 1102 includes an engine for updating a collaborative document file.
  • the command delivery server 1202 includes a command received from the document editing terminal 2802. Specifically, the command delivery server 1202 receives an editing command for editing a collaborative document file from the document editing terminal 2802. In addition, the command delivery server 1202 stores the received edit command in the edit command list. In detail, the command delivery server 1202 may temporarily store the editing commands in the editing command list in the received order until the update condition for updating the collaborative document file is satisfied.
  • the common document sharing apparatus 1002 is connected to a sharing server 2102 and a document editing terminal 2802.
  • the common document sharing apparatus 1002, the sharing server 2102, and the document editing terminal 2802 may be connected to communicate with each other, and the document editing terminal 2802 may be connected to share and edit the joint document file. have.
  • the shared server 2102 is a server that stores a common document file.
  • the shared server 2102 may provide the shared document file to at least one of the shared server 2102 and the document editing terminal 2802.
  • the sharing server 2102 may transmit the collaborative document file to the collaborative document sharing device 1002, and receive and store the updated collaborative document file.
  • the document editing terminal 2802 may send a request to share a common document to the common document sharing apparatus 1002 or the sharing server 2102, and may receive and share the common document file.
  • the document editing terminal 2802 may be represented as one for convenience of description, but may include two or more terminals sharing a common document file.
  • the engine-pull server 1102 is connected to communicate with the command delivery server 1202 and may receive a list of editing commands from the command delivery server 1202. That is, the collaborative document sharing device 1002 transmits a list of editing instructions to the engine-pull server 1102 and the engine-pull server 1102 including the collaborative document file and the updated collaborative document file. Is dualized.
  • the collaborative document sharing apparatus 1002 including the dualized server is a server resource waste and update rate of the collaborative document file generated when the collaborative document file is updated every time an editing command is received through one server.
  • the degradation of performance can be improved.
  • Each component of the common document sharing apparatus 1002 is merely illustrated as a separate configuration for convenience of description, and may be implemented as one configuration or one configuration may be divided into two or more configurations according to an implementation method.
  • FIG. 10 illustrates a procedure for updating a joint document file according to a joint document sharing method using a dualized server according to the second embodiment of the present invention. For convenience of explanation, this will be described with reference to FIG. 9.
  • the joint document sharing method using the dual server according to the present invention is started by the engine-pull server 1102 providing a joint document file to the document editing terminal 2802 (S212).
  • the engine-pull server 1102 may receive a common document file from the sharing server 2102 and provide it to the document editing terminal 2802. That is, the engine-full server 1102 may serve as a medium for providing the document editing terminal 2802 with the joint document file stored in the shared server 2102.
  • the common document file in engine-pull server 1102 may be transmitted from shared server 2102 separate from engine-pull server 1102 and temporarily stored in engine-pull server 1102.
  • the command delivery server 1202 receives an editing command for editing the common document file from the document editing terminal 2802 (S222). Subsequently, the command delivery server 1202 stores the editing commands in the editing command list in the order in which the editing commands are received until the update condition for updating the collaborative document file is satisfied (S232).
  • the command delivery server 1202 receives an editing command for editing a collaborative document file from a document editing terminal 2802 that shares and edits a collaborative document file.
  • the command delivery server 1202 includes a list of editing commands.
  • the edit command list may be generated as the edit command arrives at the command delivery server 1202, or may be generated in advance and stored in the command delivery server 1202.
  • the command delivery server 1202 then stores the edit commands in the edit command list in the order in which the edit commands arrive at the command delivery server 1202.
  • the edit command may be stored in a stack structure in the edit command list in the order of reaching the command delivery server 1202.
  • the command delivery server 1202 may adjust the number of editing commands temporarily stored in the command delivery server 1202 including an update condition.
  • the update condition may be set directly in the command delivery server 1202, or may be transmitted to and stored in the command delivery server 1202 from the engine-pull server 1102 or the shared server 2102. An example of the update condition will be described later with reference to FIG. 5.
  • the command delivery server 1202 receives the edit command from the document editing terminal 2802 and temporarily stores it, and sends the list of edit commands to the engine-pull server 1102, thereby causing the command delivery server 1202 to edit.
  • the editing command can be managed functionally and efficiently from the engine-pull server 1102.
  • the engine-full server 1102 updates the collaborative document file based on the collaborative document file and the list of editing instructions through the engine for updating the collaborative document file ( S242).
  • the engine-pull server 1102 updates the common document file through the engine in the engine-pull server 1102 when an update condition for updating the common document file is satisfied.
  • the engine-pull server 1102 may update the common document file based on the editing instruction list and the common document file through an idle engine in the engine-pull server 1102.
  • the engine-pool server 1102 updates the common document file by using an idle engine among the various engines in the engine pool, thereby efficiently using the engine and improving the updating speed of the common document file. Can be.
  • FIG. 11 is an exemplary diagram for describing a method of sharing a common document file and receiving and storing an editing command according to a common document sharing method using a dual server according to a second embodiment of the present invention.
  • the engine-pool server 1102 includes a common document file 1112 and an engine-pool 1132. Specifically, the engine-pool server 1102 temporarily stores the joint document file 1112 received from the sharing server 2102 while the document editing terminal 2802 shares and edits the joint document file 1112. Accordingly, the document editing terminal 2802 can share a common document file through the engine-pull server 1102.
  • the engine-pull 1132 may include various engines, but the engine-pull server 1102 does not receive the edit instruction list 3002 so that the engine for updating the joint document file is not activated.
  • the command delivery server 1202 includes an edit command list 3002 and update conditions 3102. Specifically, the command delivery server 1202 receives an editing command for editing a collaborative document file from the document editing terminal 2802 and stores it in the editing command list 3002 in the order in which the editing commands are received. That is, the edit command list 3002 stores the first edit command 3012 that first reaches the command delivery server 1202 at the bottom of the edit command list 3002, and then reaches the command delivery server 1202. The second edit command 3022 is stored on the first edit command 3012 and the third edit command 3032 is stored on the second edit command 3022 according to the editing command order.
  • the edit command list 3002 has a stack structure, and in the edit command list 3002, 'copy', which is the first edit command 3012, first reaches the command delivery server 1202, and the second edit.
  • the document editing terminal 2802 is efficiently operated through the dualized server. You can share a collaborative document file while simultaneously delivering editing commands.
  • FIG. 12 is an exemplary diagram for describing a method of sharing a joint document with a document editing document terminal according to a joint document sharing method using a dual server according to a second embodiment of the present invention.
  • FIG. 12 illustrates a process of updating the common document file 1112 when the update condition is satisfied, and redundant description of the components already described with reference to FIG. 11 will be omitted.
  • the command delivery server 1202 transmits an edit command list 3002 to the engine-pool server 1102 when the update condition 3102 is met. For example, if the update condition 3102 is 'receive five edit commands', the command delivery server 1202 stores the first to fifth edit commands 301 to 3052 in the edit command list 3002. The edit instruction list 3002 can be sent to the engine-pool server 1102 at the moment.
  • the engine-pull server 1102 receives the edit instruction list 3002 and based on the common document file 1112 and the edit instruction list 3002 via the engine 1142 in the engine-pool 1132.
  • the common document file 1112 can be updated.
  • the engine 1142 may update the joint document file 1112 based on the joint document file 1112 and the edit instruction list 3002 when the edit instruction list 3002 reaches the engine-pull server 1102. ) Can be created.
  • the engine 1142 may be a randomly selected engine among idle engines not being used in the engine-pool 1132.
  • the engine-pool server 1102 then sends the updated common document file 4112 to the document editing terminal 2802. That is, the engine-pool server 1102 receives the edit command list 3002 transmitted by satisfying the update condition, and at the moment when the updated joint document file 4112 is generated through the engine 1142, the document editing terminal 2802 is generated.
  • the updated joint document file 4112 can be transmitted.
  • the engine-pool server 1102 when an increase in the number of document editing terminals requesting to share the common document file 1112, the engine-pool server 1102 further connects the updated common document file 4112 to the engine-pool server 1102. Additional document editing terminal 2902 can be sent. That is, the engine-full server 1102 additionally edits the joint document file before the update to the additional document editing terminal 2902 requesting sharing of the joint document file 1112 after the updated joint document file 4112 is generated. It is possible to provide an updated joint document file 4112 directly without the need to share 1112.
  • the additional document editing terminal 2902 can quickly share the updated joint document file 4112 by reflecting the most recent edited content from the point in time at which the joint document file is requested to be shared.
  • FIG. 13 exemplarily illustrates an update condition selectable in a joint document sharing method using a dual server according to a second embodiment of the present invention.
  • the update condition list 5102 may include various update conditions.
  • the update condition list 5102 may be a case in which the size of the edit instruction list 3002 is greater than or equal to the size of the predetermined stack, or a case where a predetermined update time has elapsed to update the common document file.
  • the update condition list 5102 may include a plurality of update conditions, and includes a first update condition 5112 that is 'when five edit instructions are received' and a second update that is 'when the second second update time elapses'. Conditions (5122) and the like.
  • each update condition may be specifically set or changed by a user who sets the update condition.
  • each update condition may be specifically set or changed by a user who sets the update condition.
  • the update condition list 5102 only one update condition may be selected as the update condition, and the number of edit commands received in the first update condition 5112 is '5' by the user. It may be set.
  • the update condition may be specifically set or changed freely by the user, and in some cases, the update condition is changed so that the joint document sharing device 1002 efficiently shares and edits the joint document file, thereby updating the updated joint document file. Can be shared quickly.
  • each block or each step may represent a portion of a module, segment or code comprising one or more executable instructions for executing a specified logical function (s).
  • a specified logical function s.
  • the functions noted in the blocks or steps may occur out of order.
  • the two blocks or steps shown in succession may in fact be executed substantially concurrently or the blocks or steps may sometimes be performed in the reverse order, depending on the functionality involved.
  • the steps of a method or algorithm described in connection with the embodiments disclosed herein may be implemented directly in hardware, a software module or a combination of the two executed by a processor.
  • the software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM or any other form of storage medium known in the art.
  • An exemplary storage medium is coupled to the processor, which can read information from and write information to the storage medium.
  • the storage medium may be integral to the processor.
  • the processor and the storage medium may reside in an application specific integrated circuit (ASIC).
  • the ASIC may reside in a user terminal.
  • the processor and the storage medium may reside as discrete components in a user terminal.
  • the invention can be used in digital devices and the like for co-editing of documents over a network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)

Abstract

본 발명의 일 실시 예에 따라 공동 편집 문서를 공유하는 장치가 개시된다. 상기 공동 편집 문서를 공유하는 장치는 적어도 두 개의 클라이언트를 포함하는 클라이언트 그룹에 포함된 적어도 하나의 클라이언트로부터 공동 편집 문서와 관련되는 적어도 두 개의 편집 명령어들을 수신하고, 상기 적어도 두 개의 편집 명령어들을 수신된 순서에 기초하여 상기 클라이언트 그룹에 포함된 클라이언트들 각각에 송신하는 명령어 전달 서버 및 미리 설정된 조건이 충족되면, 상기 수신된 편집 명령어들이 수신된 순서에 기초하여 수집된 명령어 리스트에 기초하여, 상기 공동 편집 문서와 관련되는 시드 문서 파일을 갱신하는 엔진-풀(engine-pool) 서버를 포함할 수 있다.

Description

공동 편집 문서를 공유하는 방법 및 장치
본 발명은 공동 편집 문서를 공유하는 방법 및 장치에 관한 것으로서, 보다 상세하게는 공동으로 편집하는 문서를 효율적으로 공유할 수 있는 공동 편집 문서를 공유하는 방법 및 장치에 관한 것이다.
최근 통신 기술이 발달함에 따라, 인터넷을 통해 다양한 서비스가 제공되고 있다. 특히, 인터넷을 통해 대용량의 파일들이 이동되고 대량의 데이터가 송수신된다. 이에 따라, 인터넷을 통해 언제 어디서든지 다양한 파일을 공유하는 기술도 발달하게 되었다.
이와 같이 다양한 통신 기술(예를 들어, 인터넷)을 기초로 단말기를 사용하는 사용자들이 가상의 저장소에 데이터 또는 파일을 저장하고 가상의 저장소를 통해 데이터 또는 파일을 주고 받고 공유도 할 수 있는 서비스를 클라우드(cloud)서비스라고 한다. 클라우드 서비스를 통해 사용자는 데이터 또는 파일을 자유롭게 사용할 수 있다. 구체적으로, 클라우드 서비스를 통해 사용자는 시간과 공간의 제약을 받지 않고 데이터 또는 파일을 다운로드(download)또는 업로드(upload)할 수 있고, 데이터 또는 파일을 다른 사용자들과 공유할 수도 있다.
이러한 클라우드 서비스는 데이터 또는 파일을 저장하고 공유하는 저장소인 공유 서버를 기반으로 제공된다. 구체적으로, 사용자들은 공유 서버를 통해 문서 파일을 저장 및 공유하고, 사용자들은 각자의 단말기를 통해 문서 파일을 편집할 수 있다.
다만, 사용자들이 각자의 단말기에서 공유하는 공유 문서를 편집하는 경우, 공유 서버는 사용자들의 단말기 각각에서 입력하는 편집 내용을 수신하여, 편집 내용을 공유 문서에 반영하고 공유 문서를 갱신하기 위한 엔진(engine)을 포함한다. 이에 따라, 공유 문서를 공유하는 단말기의 수가 증가함에 따라 공유 서버는 공유 문서를 편집하는 내용을 반영하기 위해 요구되는 엔진을 더 많이 필요로 하고, 많은 엔진을 사용함에 따라 공유 서버가 처리해야 할 데이터의 부하도 증가한다. 즉, 공유 문서를 공유하는 단말기의 수가 증가함에 따라 공유 서버에서 공유 문서에 편집 내용을 반영하기 위한 부하가 증가되고 공유 서버의 성능도 저하되고 클라우드 서비스의 질이 저하되는 문제점이 발생할 수 있다.
따라서, 공유 및 편집을 위한 공유 문서를 제공하는 서버의 부하를 감소시키고 효율적으로 공유 문서를 공유하고 편집하기 위해 복수의 서버를 이용하여 공유 문서를 공유하는 방법을 제공할 필요성이 증대되었다.
[관련기술문헌]
문서협업 방법(한국공개특허 제 10-2014-0028040 호)
본 발명이 해결하고자 하는 과제는 적은 리소스를 사용하여 다수의 클라이언트가 편집할 수 있도록 공유되는 문서(이하, 공동 편집 문서라 한다.)를 신속하게 편집할 수 있는 공동 편집 문서를 공유하는 방법 및 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 공동 편집 문서를 편집하는 중 새로운 클라이언트가 공동 편집 문서를 공유하는 경우, 추가된 새로운 클라이언트에 갱신된 공동 편집 문서를 신속하게 제공할 수 있는 공동 편집 문서를 공유하는 방법 및 장치를 제공하는 것이다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시 예에 따라 공동 편집 문서를 공유하는 장치가 개시된다. 상기 공동 편집 문서를 공유하는 장치는 적어도 두 개의 클라이언트를 포함하는 클라이언트 그룹에 포함된 적어도 하나의 클라이언트로부터 공동 편집 문서와 관련되는 적어도 두 개의 편집 명령어들을 수신하고, 상기 적어도 두 개의 편집 명령어들을 수신된 순서에 기초하여 상기 클라이언트 그룹에 포함된 클라이언트들 각각에 송신하는 명령어 전달 서버 및 미리 설정된 조건이 충족되면, 상기 수신된 편집 명령어들이 수신된 순서에 기초하여 수집된 명령어 리스트에 기초하여, 상기 공동 편집 문서와 관련되는 시드 문서 파일을 갱신하는 엔진-풀(engine-pool) 서버를 포함할 수 있다.
대안적으로, 상기 수신된 편집 명령어들이 수신된 순서에 기초하여 수집된 명령어 리스트를 생성하고, 미리 결정된 조건이 충족되면 상기 명령어 리스트를 상기 엔진-풀 서버로 송신하는 명령어 저장 서버를 더 포함할 수 있다.
대안적으로, 상기 미리 결정된 조건은, 상기 적어도 하나의 클라이언트로부터 편집 명령어를 일정 시간 동안 수신 하지 않는 경우, 편집 명령어가 명령어 저장 서버에 임계 값 이상 누적된 경우 또는 적어도 하나의 클라이언트의 접속 종료를 감지한 경우일 수 있다.
대안적으로, 공유 서버에 업로드된 문서 파일을 기초로 생성된 시드(seed)문서 파일을 저장하고, 상기 시드 문서 파일을 적어도 두 개의 클라이언트를 포함하는 클라이언트 그룹에 포함된 적어도 하나의 클라이언트에게 전송하는 시드 문서 서버를 더 포함할 수 있다.
대안적으로, 상기 엔진-풀 서버는, 상기 갱신 시드 문서 파일을 상기 시드 문서 서버로 송신하고, 상기 시드 문서 서버는, 상기 시드 문서 파일과 함께 상기 갱신 시드 문서 파일을 저장할 수 있다.
대안적으로, 상기 문서 파일을 공동 편집하도록 상기 시드 문서 서버에 상기 클라이언트 그룹에 포함되지 않는 추가 클라이언트가 연결된 경우, 상기 시드 문서 서버는, 상기 추가 클라이언트에 상기 갱신 시드 문서 파일을 송신하고, 명령어 저장 서버는, 상기 명령어 리스트가 상기 엔진-풀 서버에 송신된 이후 저장된 추가 편집 명령어를 상기 명령어 전달 서버에 전송하고, 상기 명령어 전달 서버는, 상기 추가 클라이언트에 상기 추가 편집 명령어를 송신할 수 있다.
대안적으로, 상기 문서 파일을 클라이언트 그룹에 포함된 클라이언트 또는 클라이언트 그룹에 포함되지 않은 추가 클라이언트와 공유하고자 하는 공유 신호를 공유 서버가 수신하는 경우, 상기 문서 파일을 기초로 바로가기 파일을 생성하는 바로가기 파일 서버를 더 포함 할 수 있다.
대안적으로, 상기 바로가기 파일은 상기 시드 문서 파일이 저장된 위치에 대한 정보를 포함하고, 시드 문서 서버는 상기 바로가기 파일을 통해 상기 시드 문서 파일을 상기 클라이언트 그룹에 포함된 적어도 하나의 클라이언트 각각 또는 추가 클라이언트가 수신하게 할 수 있다.
본 발명의 일 실시 예에 따라 공동 편집 문서를 공유하는 장치에서 수행되는 공동 편집 문서를 공유하는 방법이 개시된다. 상기 공동 편집 문서를 공유하는 방법은 시드 문서 서버에서 시드 문서 파일을 적어도 두 개의 클라이언트를 포함하는 클라이언트 그룹에 포함된 적어도 하나의 클라이언트에게 전송하는 단계, 명령어 전달 서버에서, 상기 적어도 하나의 클라이언트로부터 공동 편집 문서와 관련되는 적어도 두 개의 편집 명령어들를 수신하는 단계, 명령어 전달 서버에서, 상기 적어도 두 개의 편집 명령어들을 수신한 순서에 기초하여 상기 클라이언트 그룹에 포함된 클라이언트들 각각에 송신하는 단계 및 엔진-풀(engine-pool)서버에서, 미리 설정된 조건이 충족되면, 상기 수신된 편집 명령어들이 수신된 순서에 기초하여 수집된 명령어 리스트에 기초하여, 상기 공동 편집 문서와 관련되는 시드 문서 파일을 갱신하여 갱신 시드 문서 파일을 생성하는 단계를 포함할 수 있다.
대안적으로, 명령어 저장 서버에서 상기 수신된 편집 명령어들이 수신된 순서에 기초하여 수집된 명령어 리스트를 생성하는 단계 및 미리 결정된 조건이 충족되면 상기 명령어 리스트를 상기 엔진-풀 서버로 송신하는 하는 단계를 더 포함할 수 있다.
대안적으로, 상기 문서 파일을 공동 편집하도록 상기 클라이언트 그룹에 포함되지 않는 추가 클라이언트가 연결된 경우, 시드 문서 서버에서, 상기 추가 클라이언트에 상기 갱신 시드 문서 파일을 송신하는 단계 및 명령어 전달 서버에서, 상기 추가 클라이언트에 상기 갱신 시드 문서 파일이 생성된 이후 저장된 추가 편집 명령어를 송신하는 단계를 더 포함할 수 있다.
대안적으로, 시드 문서 서버에서 상기 문서 파일을 기초로 생성된 바로가기 파일을 통해 연결된 상기 클라이언트 그룹에 포함된 적어도 하나의 클라이언트 각각 또는 추가 클라이언트로 상기 시드 문서 파일을 송신하는 단계를 더 포함할 수 있다.
본 발명의 일 실시 예에 따라 하나 이상의 프로세서에 의해 실행되는 복수의 명령들을 포함하는 컴퓨터에서 실행가능한 컴퓨터-판독가능 기록매체가 개시된다. 상기 컴퓨터-판독가능 기록매체는, 시드 문서 서버에서 시드 문서 파일을 적어도 두 개의 클라이언트를 포함하는 클라이언트 그룹에 포함된 적어도 하나의 클라이언트에게 전송하도록 하기 위한 명령, 명령어 전달 서버에서, 상기 적어도 하나의 클라이언트로부터 공동 편집 문서와 관련되는 적어도 두 개의 편집 명령어들를 수신하도록 하기 위한 명령, 명령어 전달 서버에서, 상기 적어도 두 개의 편집 명령어들을 수신한 순서에 기초하여 상기 클라이언트 그룹에 포함된 클라이언트들 각각에 송신하도록 하기 위한 명령 및 엔진-풀(engine-pool)서버에서, 미리 설정된 조건이 충족되면, 상기 수신된 편집 명령어들이 수신된 순서에 기초하여 수집된 명령어 리스트에 기초하여, 상기 공동 편집 문서와 관련되는 시드 문서 파일을 갱신하여 갱신 시드 문서 파일을 생성하도록 하기 위한 명령을 포함할 수 있다.
본 발명의 일 실시 예에 따라 클라이언트 디바이스에서 수행되는 공동 편집 문서를 공유하는 방법이 개시된다. 상기 방법은, 공동 편집 문서를 편집하는 편집 명령어를 명령어 전달 서버를 통해 적어도 두 개의 클라이언트를 포함하는 클라이언트 그룹에 포함된 적어도 하나의 다른 클라이언트에게 전달되도록 상기 명령어 전달 서버로 전송하는 단계, 상기 명령어 전달 서버로부터 전송된, 다른 클라이언트에서 행해진 상기 공동 편집 문서에 대한 편집을 나타내는 공동 편집 문서를 편집하는 편집 명령어를 수신하는 단계, 상기 적어도 하나의 다른 클라이언트로부터의 수신된 공동 편집 문서를 편집하는 편집 명령어 및 상기 공동 편집 문서를 기초로 갱신 공동 편집 문서를 생성하는 단계를 포함할 수 있다.
본 발명의 일 실시 예에 따라 클라이언트 디바이스에서 수행되는 공동 편집 문서를 공유하는 방법이 개시된다. 상기 방법은, 적어도 두 개의 클라이언트를 포함하는 클라이언트 그룹에서 편집 중인 공동 편집 문서에 대한 공동 편집 요청을 시드 문서 서버로 전송하는 단계, 상기 시드 문서 서버로부터, 엔진 풀 서버가 상기 클라이언트 그룹에 포함된 클라이언트로부터 갱신 시드 문서 파일을 생성하기 전에 수신된 공동 편집 문서를 편집 하는 적어도 하나의 편집 명령어 및 시드 문서에 기초하여 생성된 갱신 시드 문서 파일을 수신하는 단계, 명령어 저장 서버로부터, 상기 클라이언트 그룹에 포함된 클라이언트로부터 상기 갱신 시드 문서 파일을 생성한 후 수신된 공동 편집 문서를 편집 하는 적어도 하나의 추가 편집 명령어를 수신하는 단계 및 상기 시드 문서 서버로부터 수신된 갱신 시드 문서 파일 및 상기 명령어 저장 서버로부터 수신된 추가 편집 명령어를 기초로 갱신 공동 편집 문서를 생성하는 단계를 포함할 수 있다.
본 발명은 적은 리소스를 사용하여 다수의 클라이언트가 편집할 수 있도록 공유되는 문서를 신속하게 편집할 수 있는 공동 편집 문서를 공유하는 방법 및 장치를 제공할 수 있는 효과가 있다.
본 발명은 공동 편집 문서를 편집하는 중 새로운 클라이언트가 공동 편집 문서를 공유하는 경우, 추가된 새로운 클라이언트에 갱신된 공동 편집 문서를 신속하게 제공할 수 있는 공동 편집 문서를 공유하는 방법 및 장치를 제공할 수 있는 효과가 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 공동 편집 문서를 공유하는 장치와 공유 서버, 바로가기 파일 서버 및 클라이언트 사이의 관계를 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 공동 편집 문서를 공유하는 방법에 따라 공동 편집 문서 파일을 공유하기 위한 절차를 도시한 것이다.
도 3은 본 발명의 일 실시예에 따른 공동 편집 문서를 공유하는 장치의 구성 및 클라이언트 사이의 관계를 도시한 것이다.
도 4a 및 도 4b는 본 발명의 일 실시예에 따른 공동 편집 문서를 공유하는 방법에 의해 공동 편집 문서를 공유하는 클라이언트의 엔진 및 클라이언트의 예시적인 출력 화면을 도시한 것이다.
도 5는 본 발명의 다른 실시예에 따른 공동 편집 문서를 공유하는 장치의 구성 및 클라이언트 사이의 관계를 도시한 것이다.
도 6a 및 도 6b는 본 발명의 다른 실시예에 따른 공동 편집 문서를 공유하는 방법에 의해 공동 편집 문서를 공유하는 클라이언트의 예시적인 출력 화면을 도시 한 것이다.
도 7은 본 발명의 또 다른 실시예에 따른 공동 편집 문서를 공유하는 장치의 구성 및 클라이언트 사이의 관계를 도시한 것이다.
도 8a 및 도 8b는 본 발명의 또 다른 실시예에 따른 공동 편집 문서를 공유하는 방법에 의해 공동 편집 문서를 공유하는 클라이언트의 엔진 및 클라이언트의 예시적인 출력 화면을 도시한 것이다.
도 9 는 본 발명의 제 2 실시 예에 따른 공동 문서 공유 장치의 개략적인 구성 및 공동 문서 공유 장치와 공유 서버, 공동 문서 공유 장치와 문서 편집 단말기 사이의 관계를 도시한 것이다.
도 10 은 본 발명의 제 2 실시 예에 따른 이원화된 서버를 이용한 공동 문서 공유 방법에 따라 공동 문서 파일을 갱신하기 위한 절차를 도시한 것이다.
도 11은 본 발명의 제 2 실시 예에 따른 이원화된 서버를 이용한 공동 문서 공유 방법에 따라 공동 문서 파일을 공유하고 편집 명령어를 수신하여 저장하는 방법을 설명하기 위한 예시도이다.
도 12는 본 발명의 제 2 실시 예에 따른 이원화된 서버를 이용한 공동 문서 공유 방법에 따라 추거 편집 문서 단말기와 공동 문서를 공유하는 방법을 설명하기 위한 예시도이다.
도 13은 본 발명의 제 2 실시 예에 따른 이원화된 서버를 이용한 공동 문서 공유 방법에서 선택 가능한 갱신 조건을 예시적으로 도시한 것이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예를 설명하기 위한 도면에 개시된 형상, 크기, 비율, 각도, 개수 등은 예시적인 것이므로 본 발명이 도시된 사항에 한정되는 것은 아니다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다. 본 명세서 상에서 언급된 '포함한다', '갖는다', '이루어진다' 등이 사용되는 경우 '~만'이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성요 소를 단수로 표현한 경우에 특별히 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함한다.
구성요소를 해석함에 있어서, 별도의 명시적 기재가 없더라도 오차 범위를 포함하는 것으로 해석한다.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않는다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.
별도로 명시하지 않는 한 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
이하, 본 명세서에서 사용되는 용어에 대해 정의한다.
본 명세서에서 문서 편집 단말기란, 전자 문서 파일을 편집할 수 있는 단말기로서, 클라우드 서버와 같은 공유 서버에 저장된 전자 문서 파일을 공유 하면서 전자 문서 파일의 내용 및 설정 등을 편집할 수 있는 단말기를 의미한다.
본 명세서에서 공동 편집 문서란, 다수의 문서 편집 단말기가 공유하는 협업에 의해 작성되는 문서로서, 문서 편집 단말기가 공유하는 전자 문서를 의미한다. 공동 편집 문서는 문서 편집 단말기들이 전자 문서를 공유하기 위해 접속한 클라우드 서버에 저장된 전자 문서를 의미할 수 있다.
본 명세서에서 공동 편집 문서 파일이란, 다수의 문서 편집 단말기를 통해 공유되고 편집 가능한 공동 편집 문서 자체 또는 공동 문서에 접근할 수 있는 경로(path)를 의미한다. 예를 들어, 공동 편집 문서 파일은 클라우드 서버와 같은 공유 서버로부터 전송되어 공동 문서 공유 장치에 일시적으로 저장되어 있는 공동 문서 자체이거나 문서 편집 단말기가 공동 문서에 접근할 수 있는 링크(link)일 수 있다.
본 명세서에서 시드 문서 파일이란, 클라이언트가 공동으로 편집하고자 하는 문서 파일(이하, 공동 편집 문서 파일)에 대응하는 편집용 파일로서, 편집 명령어가 적용되기 이전에 클라이언트가 공유하는 편집용 문서 파일을 의미한다. 이러한 시드 문서 파일은 공동 편집 문서를 공유하는 장치에 저장되어 있다가 클라이언트가 문서 파일의 공유를 요청하는 경우 클라이언트로 송신될 수 있다.
본 명세서에서 편집 명령어란, 클라이언트에서 공유하는 문서를 편집하는 명령어로서, 공동 편집 문서에 입력되는 다양한 명령어를 포함한다. 예를 들어, 편집 명령어는 공동 편집 문서의 적어도 일부 내용을 삭제하는 삭제 명령어, 추가하는 명령어, 문서의 서식 등을 변경하는 명령어 및 그림과 같은 객체를 삽입하는 삽입 명령어 등을 포함할 수 있다. 임의의 클라이언트에서 입력한 편집 명령어는 공동 편집 문서를 공유하는 장치로 송신된 후 공동 편집 문서를 공유하는 장치에 연결된 클라이언트로 송신될 수 있다.
본 명세서에서 명령어 리스트란, 편집 명령어를 수신하여 미리 정해진 규칙에 따라 수신한 편집 명령어를 저장한 리스트이다. 예를 들어, 명령어 리스트는 미리 설정된 조건이 충족되기 전까지 수신된 편집 명령어를 저장한 리스트일 수 있다.
본 명세서에서 추가 클라이언트란, 문서 파일에 대한 편집 명령어가 공동 편집 문서를 공유하는 장치에 적어도 하나 입력된 이후, 공동 편집 문서를 공유하는 장치에 연결된 클라이언트를 의미한다. 즉, 추가 클라이언트는 이미 공동 편집 문서를 공유하는 장치에 연결된 클라이언트가 시드 문서 파일을 편집한 이후 공동 편집 문서를 공유하는 장치에 연결된 클라이언트를 의미한다. 다시 말하면, 추가 클라이언트는 공동 편집 문서를 공유하는 장치에 연결된 클라이언트들을 포함하는 클라이언트 그룹에 포함되지 않는 클라이언트를 의미할 수 있다.
도 1은 본 발명의 일 실시예에 따른 공동 편집 문서를 공유하는 장치와 공유 서버, 바로가기 파일 서버 및 클라이언트 사이의 관계를 도시한 것이다.
도 1을 참조하면, 공동 편집 문서를 공유하는 장치(이하, 공동 편집 문서 공유 장치)(100)는 시드 문서 서버(110), 명령어 전달 서버(120), 명령어 저장 서버(130)및 엔진-풀(engine-pool)서버(140)를 포함한다. 공동 편집 문서 공유 장치(100)는 적어도 하나의 클라이언트(900)및 추가 클라이언트(910)와 통신 가능하도록 연결될 수 있다. 또한, 공동 편집 문서 공유 장치(100)는 공유 서버(1000)및 바로가기 파일 서버(1200)와도 통신 가능하도록 연결될 수 있다. 공동 편집 문서 공유 장치(100)에 연결된 적어도 하나의 클라이언트들은, 클라이언트 그룹(900)을 구성할 수 있다. 클라이언트 그룹(900)은 공동 편집 문서와 연관된 적어도 두 개의 클라이언트를 포함하는 그룹을 의미할 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 클라이언트 그룹(900)에 속한 클라이언트들이 클라이언트 그룹(900)에서 탈퇴하여 하나의 클라이언트만이 클라이언트 그룹(900)에 속하는 경우에도, 상기 하나의 클라이언트 또한 클라이언트 그룹(900)으로 지칭될 수 있다. 클라이언트 그룹(900)이 생성되고 하나의 클라이언트만이 지정된 경우에도, 상기 하나의 클라이언트 또한 클라이언트 그룹(900)으로 지칭될 수 있다. 클라이언트 그룹(900)은 동일한 공동 편집 문서에 액세스 가능한 클라이언트들 전체 또는 일부로 구성될 수 있다. 클라이언트 그룹(900)이 공동으로 편집하는 문서는 하나의 문서이거나 또는 복수의 문서일 수 있다. 클라이언트 그룹(900)이 공동으로 편집하는 문서가 복수인 경우, 복수의 문서들은 동일한 타입(예를 들어, 스프레드 시트 문서)의 조합이거나, 상이한 타입의 조합(예를 들어, 스프레드 시트 문서와 텍스트 문서의 조합)일 수 있다. 하나의 클라이언트 그룹(900)에 속한 클라이언트는 동시에 다른 클라이언트 그룹에 속할 수도 있다. 하나의 공동 편집 문서에 대하여 하나 이상의 클라이언트 그룹(900)이 생성될 수 있다. 클라이언트 그룹(900)은 임의의 이벤트를 공유하거나, 임의의 사유로 인하여 편집 명령어들을 공유할 필요성이 있는 클라이언트들을 포함할 수 있다. 이하 문서에서, "적어도 하나의 클라이언트"는 클라이언트 그룹(900)에 속한 하나 이상의 클라이언트를 의미하거나, 또는 클라이언트 그룹(900)전체의 집합적인 동작을 서술하기 위해 사용될 수 있다.
시드 문서 서버(110)는 시드 문서 파일 및 갱신 시드 문서 파일을 저장하고, 엔진-풀 서버(140)에 시드 문서 파일을 제공할 수 있다. 또한, 시드 문서 서버(110)는 공유 서버(1000)에 업로드된 문서 파일을 기초로 생성된 시드(seed)문서 파일을 저장하고, 상기 시드 문서 파일을 적어도 두 개의 클라이언트를 포함하는 클라이언트 그룹에 포함된 적어도 하나의 클라이언트에게 전송할 수 있다.
명령어 전달 서버(120)는 적어도 하나의 클라이언트(900)로부터 편집 명령어를 수신하여 다시 적어도 하나의 클라이언트(900)로 편집 명령어를 송신한다. 명령어 전달 서버(120)는 적어도 두 개의 클라이언트를 포함하는 클라이언트 그룹(900)에 포함된 적어도 하나의 클라이언트로부터 공동 편집 문서와 관련되는 적어도 두 개의 편집 명령어들을 수신하고, 상기 적어도 두 개의 편집 명령어들을 수신된 순서에 기초하여 상기 클라이언트 그룹에 포함된 클라이언트들 각각에 송신할 수 있다. 예를 들어, 명령어 전달 서버(120)는 제2 클라이언트(902)로부터 수신한 편집 명령어를 적어도 하나의 클라이언트(900)모두에 송신한다. 또한, 명령어 전달 서버(120)는 적어도 하나의 클라이언트(900)로부터 수신한 편집 명령어를 명령어 저장 서버(130)로 전송한다.
명령어 저장 서버(130)는 명령어 전달 서버(120)로부터 전송된 편집 명령어들을 저장한다. 구체적으로, 명령어 저장 서버(130)는 명령어 전달 서버(120)가 전송한 순서대로 편집 명령어들을 저장할 수 있다. 여기서, 명령어 전달 서버(120)가 전송한 순서는 명령어 전달 서버(120)가 편집 명령어를 수신 한 순서와 동일할 수 있다. 나아가, 명령어 저장 서버(130)는 편집 명령어를 수신한 순서대로 저장하여 명령어 리스트를 생성할 수 있고, 미리 결정된 조건에 따라 명령어 리스트를 엔진-풀 서버(140)로 송신할 수 있다. 명령어 저장 서버(130)는 명렁어 전달 서버(120)가 수신한 편집 명령어들이 수신된 순서에 기초하여 수집된 명령어 리스트를 생성하고, 미리 결정된 조건이 충족되면 명령어 리스트를 엔진-풀 서버(140)로 송신할 수 있다. 상기 미리 결정된 조건은, 상기 적어도 하나의 클라이언트로부터 편집 명령어를 일정 시간 동안 수신 하지 않는 경우, 편집 명령어가 명령어 저장 서버에 임계 값 이상 누적된 경우 또는 적어도 하나의 클라이언트의 접속 종료를 감지한 경우를 포함할 수 있다. 명령어 저장 서버(130)는 명령어 전달 서버(120)와 물리적으로 동일한 서버의 상이한 모듈일 수도 있고, 물리적으로 구분된 서버일 수도 있다.
엔진-풀 서버(140)는 시드 문서 서버(110)로부터 시드 문서 파일을 수신하고, 명령어 저장 서버(130)로부터 명령어 리스트를 수신하여, 시드 문서 파일 및 명령어 리스트를 기초로 갱신 시드 문서 파일을 생성한다. 예를 들어, 엔진-풀 서버(140)는 시드 문서 파일에 명령어 리스트에 포함된 편집 명령어를 병합하여, 갱신 시드 문서 파일을 생성할 수 있다. 또한, 엔진-풀 서버(140)는 시드 문서 파일 및 편집 명령어를 기초로 하거나 갱신 시드 문서 파일 및 추가 편집 명령어를 기초로 갱신 공동 편집 문서 파일을 생성하는 엔진(engine)을 포함할 수 있다. 엔진-풀 서버(140)는 미리 설정된 조건이 충족되면, 상기 수신된 편집 명령어들이 수신된 순서에 기초하여 수집된 명령어 리스트에 기초하여, 상기 공동 편집 문서와 관련되는 시드 문서 파일을 갱신할 수 있다. 또한, 엔진-풀 서버(140)는 갱신 시드 문서 파일을 다시 시드 문서 서버(110)로 전송한다.
도 1을 참조하면, 적어도 하나의 클라이언트(900)는 제1 클라이언트(901), 제2 클라이언트(902)및 제3 클라이언트(903)를 포함한다. 도 1에는 적어도 하나의 클라이언트(900)가 3개의 클라이언트를 포함하는 것으로 도시되었으나, 적어도 하나의 클라이언트(900)에 포함되는 클라이언트의 수는 이에 제한되지 않는다. 제1 내지 제3 클라이언트들은 클라이언트 그룹(900)를 구성할 수 있다.
도 1을 참조하면, 적어도 하나의 클라이언트(900)는 공유 서버(1000)에 문서 파일을 업로드할 수 있다. 구체적으로, 적어도 하나의 클라이언트(900)중 임의의 하나의 클라이언트, 예를 들어, 제1 클라이언트(901)가 공유 서버(1000)에 공유하고자 하는 문서 파일을 업로드할 수 있다. 이하, 제1 클라이언트(901)가 공유 서버(1000)에 문서 파일을 업로드한 경우를 기준으로 공동 편집 문서를 공유하는 방법을 설명한다.
또한, 적어도 하나의 클라이언트(900)각각은 시드 문서 파일 및 편집 명령어를 기초로 하거나 갱신 시드 문서 파일 및 추가 편집 명령어를 기초로 갱신 공동 편집 문서 파일을 생성하는 엔진(engine)을 포함한다. 적어도 하나의 클라이언트(900)각각에 포함된 엔진의 구체적인 기능에 대해서는 도 4 및 도 8을 참조하여 후술한다.
도 1을 참조하면, 공유 서버(1000)는 공동 편집 문서 공유 장치(100)에 문서 파일에 관한 정보를 제공할 수 있다. 예를 들어, 공유 서버(1000)는 문서 파일을 복사하여 공동 편집 문서 공유 장치(100)에 시드 문서 파일을 제공할 수 있다.
도 1을 참조하면, 바로가기 파일 서버(1200)는 공유 서버(1000)와 통신 가능하도록 연결된다. 구체적으로, 바로가기 파일 서버(1200)는 공유 서버(1000)에 업로드된 문서 파일을 기초로 바로가기 파일을 생성한다. 예를 들어, 제1 클라이언트(901)로부터 문서 파일을 클라이언트 그룹(900)에 포함된 다른 클라이언트들 또는 클라이언트 그룹(900)에 포함되지 않은 추가 클라이언트(910)와 공유하고자 하는 공유 신호를 공유 서버(1000)가 수신하는 경우, 바로가기 파일 서버(1200)는 업로드된 문서 파일을 기초로 바로가기 파일을 생성한다. 바로가기 파일에 대한 구체적인 설명은 도 7 및 도 8을 참조하여 후술한다.
이에 따라, 명령어의 전달과 시드 문서 파일의 갱신을 이원화한 명령어 전달 서버(120)및 엔진-풀 서버(140)를 포함하는 공동 편집 문서 공유 장치(100)는 하나의 서버를 통해 편집 명령어가 수신될 때마다 공동 문서 파일이 갱신되는 경우 발생하는 서버의 리소스 낭비와 공동 문서 파일의 갱신 속도 및 성능의 저하를 개선할 수 있다.
본 발명의 일 실시 예에 공동 편집 문서 공유 장치(100)는 클라이언트로부터 수신된 편집 명령어를 다른 클라이언트로 전달하는 기능과, 편집 명령어를 공동 편집 문서에 병합하는 기능을 분리하여, 클라이언트 수의 증가에 따라 엔진의 수를 상응하게 증가시키지 않아도 되므로 리소스 요구량의 급증을 방지할 수 있고, 서버의 부담을 절감할 수 있다.
공동 편집 문서 공유 장치(100)의 각 구성들은 설명의 편의상 개별적인 구성으로 도시한 것일 뿐, 구현 방법에 따라 하나의 구성으로 구현되거나 하나의 구성이 2 이상의 구성으로 분리될 수 있다.
도 2는 본 발명의 일 실시예에 따른 공동 편집 문서를 공유하는 방법에 따라 공동 편집 문서 파일을 공유하기 위한 절차를 도시한 것이다. 도 3은 본 발명의 일 실시예에 따른 공동 편집 문서를 공유하는 장치의 구성 및 클라이언트 사이의 관계를 도시한 것이다. 설명의 편의를 위해 도 1을 참조하여 설명한다.
본 발명에 따른 공동 편집 문서를 공유하는 방법은 시드 문서 서버(110)가 공유 서버(1000)에 업로드된 문서 파일을 기초로 생성된 시드 문서 파일을 적어도 하나의 클라이언트(900)로 송신함으로써 개시된다(S210).
도 3을 참조하면, 시드 문서 서버(110)는 시드 문서 파일을 저장하고, 공동 편집 문서 공유 장치(100)에 연결되어 공동 편집을 요청한 클라이언트에 시드 문서 파일을 송신한다. 구체적으로, 시드 문서 서버(110)는 복수의 시드 문서 파일을 저장할 수 있다. 예를 들어, 클라이언트의 요청에 의해 시드 문서 파일이 생성되면 시드 문서 서버(110)는 생성된 시드 문서 파일을 저장한다.
또한, 시드 문서 서버(110)는 시드 문서 파일 및 명령어 리스트를 기초로 갱신 시드 문서 파일이 생성되면, 갱신 시드 문서 파일도 저장할 수 있다. 예를 들어, 제1 시드 문서 파일(111)이 클라이언트의 요청에 의해 생성되면 제1 시드 문서 파일(111)은 시드 문서 서버(110)에 저장되고, 제1 시드 문서 파일(111)및 명령어 리스트를 기초로 갱신 시드 문서 파일인 제2 시드 문서 파일이 생성되면 제2 시드 문서 파일도 시드 문서 서버(110)에 저장된다. 이에 따라, 시드 문서 서버(110)는 적어도 하나의 시드 문서 파일을 저장할 수 있다.
도 3을 참조하면, 시드 문서 서버(110)는 저장한 시드 문서 파일을 적어도 하나의 클라이언트(900)에 송신할 수 있다. 구체적으로, 적어도 하나의 클라이언트(900)가 문서 파일을 공유하고자 하는 경우, 시드 문서 서버(110)는 공유 요청한 문서 파일에 대응하는 시드 문서 파일을 클라이언트에 송신할 수 있다. 시드 문서 서버(110)가 시드 문서 파일을 클라이언트에 송신하는 구체적인 과정에 대해서는 도 5 및 도 6을 참조하여 후술한다.
나아가, 시드 문서 서버(110)는 공동 편집 문서 공유 장치(100)에 연결되어 있는 클라이언트 이외에 추가로 공동 편집을 요청하여 공동 편집 문서 공유 장치(100)에 연결된 추가 클라이언트(910)에 갱신 시드 문서 파일을 송신 할 수 있다. 추가 클라이언트(910)에 갱신 시드 문서를 송신하는 구체적인 과정에 대해서는 도 7 및 도 8을 참조하여 후술한다.
이어서, 명령어 전달 서버(120)는 적어도 하나의 클라이언트(900)로부터 편집 명령어를 수신한다(S220). 이어서, 명령어 전달 서버(120)는 편집 명령어를 수신한 순서에 대응하여 편집 명령어를 적어도 하나의 클라이언트(900)각각으로 송신한다(S230).
도 3을 참조하면, 명령어 전달 서버(120)는 적어도 하나의 클라이언트(900)중 어느 하나로부터 편집 명령어를 수신하면 곧바로 적어도 하나의 클라이언트(900)에 포함된 모든 클라이언트 각각에 수신한 편집 명령어를 송신한다. 예를 들어, 제1 클라이언트(901)가 제1 편집 명령어(131)를 입력하면 명령어 전달 서버(120)는 제1 편집 명령어(131)를 수신하여 적어도 하나의 클라이언트(900)각각으로 송신한다. 나아가, 제1 클라이언트(901)가 제2 편집 명령어(132)및 제3 편집 명령어(133)를 순서대로 입력하면 명령어 전달 서버(120)는 편집 명령어를 수신한 순서에 대응하여 제2 편집 명령어(132)를 먼저 적어도 하나의 클라이언트(900)각각으로 송신하고 그 다음 제3 편집 명령어(133)를 적어도 하나의 클라이언트(900)각각에 송신한다. 도 3에서는 제1 클라이언트(901)로부터 편집 명령어가 전달되는 것으로 도시되었으나, 이에 제한되지 않고 편집 명령어는 적어도 하나의 클라이언트(900)각각으로부터 임의로 송신될 수 있다.
또한, 명령어 전달 서버(120)는 수신한 순서대로 편집 명령어를 명령어 저장 서버(130)에 전송한다. 예를 들어, 적어도 하나의 클라이언트(900)각각으로부터 제1 편집 명령어(131), 제2 편집 명령어(132)및 제3 편집 명령어(133)순서로 명령어 전달 서버(120)가 편집 명령어를 수신한 경우, 명령어 전달 서버(120)도 편집 명령어를 제1 편집 명령어(131), 제2 편집 명령어(132)및 제3 편집 명령어(133)순서로 명령어 저장 서버(130)에 전송한다.
이에 따라, 적어도 하나의 클라이언트(900)각각은 명령어 전달 서버(120)를 통해 편집 명령어를 실시간으로 수신하고, 적어도 하나의 클라이언트(900)각각이 갖고 있는 시드 문서 파일에 편집 명령어를 적용하여 실시간으로 갱신 공동 편집 문서를 생성할 수 있다. 적어도 하나의 클라이언트(900)각각은 공동 편집 문서를 편집하는 편집 명령어를 명령어 전달 서버를 통해 적어도 두 개의 클라이언트를 포함하는 클라이언트 그룹에 포함된 적어도 하나의 다른 클라이언트에게 전달되도록 상기 명령어 전달 서버로 전송하고, 상기 상기 명령어 전달 서버로부터 전송된, 다른 클라이언트에서 행해진 상기 공동 편집 문서에 대한 편집을 나타내는 공동 편집 문서를 편집하는 편집 명령어를 수신하고, 상기 적어도 하나의 다른 클라이언트로부터의 수신된 공동 편집 문서를 편집하는 편집 명령어 및 상기 공동 편집 문서를 기초로 갱신 공동 편집 문서를 생성함으로써, 적어도 하나의 클라이언트(900)각각이 갱신 공동 편집 문서를 생성할 수 있다. 적어도 하나의 클라이언트(900)각각이 갱신 공동 편집 문서를 생성하는 구체적인 과정에 대해서는 도 4를 참조하여 후술한다.
이어서, 명령어 저장 서버(130)는 편집 명령어를 수신한 순서에 대응하여 편집 명령어를 저장한다(S240).
여기서, 명령어 전달 서버(120)가 명령어 저장 서버(130)로 편집 명령어를 송신하는 단계는 명령어 전달 서버(120)가 적어도 하나의 클라이언트(900)에 편집 명령어를 송신하는 단계와 동시에 이루어질 수도 있다.
또한, 명령어 저장 서버(130)는 편집 명령어를 수신한 순서대로 명령어 리스트를 생성하여 편집 명령어를 저장할 수 있다. 나아가, 명령어 저장 서버(130)는 미리 결정된 조건에 의해 저장된 편집 명령어 또는 명령어 리스트를 엔진-풀 서버(140)로 전송할 수 있다. 명령어 저장 서버(130)및 엔진-풀 서버(140)사이에서 편집 명령어 및 명령어 리스트의 구체적인 전송 관계에 대해서는 도 7 및 도 8을 참조하여 후술한다.
이에 따라, 공동 편집 문서 공유 장치(100)는 편집 명령어를 명령어 전달 서버(120)를 통해 곧바로 적어도 하나의 클라이언트(900)에 전송함으로써, 적은 처리 부하 및 적은 리소스 사용만으로 효율적으로 문서 파일에 대한 공동 편집과 갱신을 구현할 수 있다. 또한, 공동 편집 문서 공유 장치(100)는 수신한 편집명령어를 순서대로 명령어 저장 서버(130)에 저장함으로써, 문서 파일을 공동 편집하고자 하는 클라이언트가 추가적으로 연결되더라도 저장된 편집 명령어를 기초로 최신의 갱신 공동 편집 문서를 추가 클라이언트(910)에 제공할 수 있다.
도 4a 및 도 4b는 본 발명의 일 실시예에 따른 공동 편집 문서를 공유하는 방법에 의해 공동 편집 문서를 공유하는 클라이언트의 엔진 및 클라이언트의 예시적인 출력 화면을 도시한 것이다.
도 4a를 참조하면, 적어도 하나의 클라이언트(900)각각은 엔진(940)을 포함한다. 엔진(940)은 시드 문서 파일 및 편집 명령어를 기초로 갱신 공동 편집 문서를 생성한다. 예를 들어, 적어도 하나의 클라이언트(900)각각이 제1 시드 문서 파일(111)을 갖고 공동 편집하는 경우, 적어도 하나의 클라이언트(900)각각에서 엔진(940)은 수신한 제1 편집 명령어(131)를 제1 시드 문서 파일(111)에 적용하여 갱신 공동 편집 문서를 생성한다. 즉, 적어도 하나의 클라이언트(900)각각은 편집 명령어를 수신할 때마다 엔진(940)을 통해 시드 문서파일을 기초로 갱신 공동 편집 문서를 생성하여 출력할 수 있다.
도 4b를 참조하면, 공동 편집 문서 출력 화면(400)이 적어도 하나의 클라이언트(900)각각에 출력된다. 구체적으로, 공동 편집 문서 출력 화면(400)은 시드 문서 파일을 출력하고, 시드 문서 파일에 편집 명령어가 적용되어 생성된 갱신 공동 편집 문서를 출력할 수도 있다. 예를 들어, 제1 공동 편집 문서 출력 화면(401)은 제1 시드 문서 파일(111)을 출력한다. 이후, 적어도 하나의 클라이언트(900)각각이 제1 편집 명령어(431)를 수신하면, 제2 공동 편집 문서 출력 화면(402)은 엔진(940)을 통해 제1 시드 문서 파일(111)및 제1 편집 명령어(431)를 기초로 생성된 갱신 공동 편집 문서를 출력한다.
이에 따라, 명령어 전달 서버(120)로부터 송신된 편집 명령어들은 적어도 하나의 클라이언트(900)각각에서 엔진(940)에 의해 시드 문서 파일에 적용되어, 적어도 하나의 클라이언트(900)각각은 갱신 공동 편집 문서를 생성하여 실시간으로 전송된 편집 명령어들을 적용한 갱신 공동 편집 문서를 출력할 수 있다.
본 발명의 실시예에 따른 명령어 전달 서버(120)는 편집 명령어를 시드 문서 파일에 적용시켜 갱신 공동 편집 문서를 생성하는 엔진을 포함하지 않고 편집 명령어를 수신하는대로 적어도 하나의 클라이언트(900)로 전송할 수 있다. 이에 따라, 공동 편집 문서 공유 장치(100)는 공동 편집 문서를 생성하기 위한 엔진을 위한 리소스 및 부하를 절감할 수 있고, 편집 명령어를 실시간으로 적어도 하나의 클라이언트(900)각각에 송신할 수 있다. 즉, 공동 편집 문서 공유 장치(100)를 통해 적어도 하나의 클라이언트(900)각각은 보다 신속하게 공동 편집 문서를 출력할 수 있다.
도 5는 본 발명의 다른 실시예에 따른 공동 편집 문서를 공유하는 장치의 구성 및 클라이언트 사이의 관계를 도시한 것이다. 도 5는 시드 문서 파일이 생성되고 클라이언트에 송신되는 과정을 도시한 것으로서, 도 3을 참조하여 이미 설명된 구성요소에 대한 중복 설명을 생략한다.
도 5를 참조하면, 적어도 하나의 클라이언트(900)중 어느 하나는 공유 서버(1000)에 문서 파일을 업로드한다. 공유 서버(1000)가 공유 신호를 수신하는 경우, 공유 서버(1000)는 업로드된 문서 파일을 바로가기 파일 서버(1200)로 전송할 수 있다. 또한, 공유 서버(1000)는 업로드된 문서 파일을 복사하여 시드 문서 파일을 생성하고, 시드 문서 파일을 시드 저장 서버(110)에 송신할 수 있다. 이에, 시드 문서 파일은 시드 저장 서버(110)에 저장되고, 바로 가기 파일 서버(1200)는 업로드된 문서 파일을 기초로 바로가기 파일을 생성한다. 여기서, 바로가기 파일은 시드 문서 파일이 저장된 위치에 대한 정보를 포함한다. 구체적으로, 바로가기 파일은 대응하는 문서 파일을 기초로 생성된 시드 문서 파일이 저장된 시드 저장 서버(110)의 주소, 시드 저장 서버(110)내에서 저장된 구체적인 위치에 대한 정보를 포함할 수 있다.
도 5를 참조하면, 적어도 하나의 클라이언트(900)각각은 바로가기 파일을 통해 시드 문서 파일을 시드 문서 서버(110)로부터 수신한다. 구체적으로, 적어도 하나의 클라이언트(900)가 공유 서버(1000)에 업로드된 문서 파일을 공유하는 경우, 적어도 하나의 클라이언트(900)는 업로드된 문서 파일을 직접 공유하지 않고, 바로가기 파일을 통해 시드 문서 파일을 수신한다. 이에 따라, 적 어도 하나의 클라이언트(900)각각은 수신한 시드 문서 파일을 기초로 공동 편집을 하고, 공동 편집을 위해 입력한 편집 명령어를 명령어 전달 서버(120)로 송신한다. 적어도 하나의 클라이언트(900)가 바로가기 파일을 통해 시드 문서 파일을 공유하는 구체적인 태양에 대해서는 도 6을 참조하여 후술한다.
본 발명의 실시예에 따른 공동 편집 문서 공유 장치(100)는 공동 편집을 위한 시드 문서 파일을 저장하고 적어도 하나의 클라이언트(900)로 송신함으로써, 공유 서버(1000)에 실제로 업로드된 문서 파일과 별개로 공동 편집을 위한 문서 파일을 저장할 수 있다. 즉, 문서 파일을 업로드한 클라이언트는 공동 편집을 위한 문서 파일과 개인 소유의 문서 파일을 분리하여 관리할 수 있게 된다.
도 6a 및 도 6b는 본 발명의 다른 실시예에 따른 공동 편집 문서를 공유하는 방법에 의해 공동 편집 문서를 공유하는 클라이언트의 예시적인 출력 화면을 도시한 것이다.
도 6a를 참조하면, 공동 편집 문서 출력 화면(610)은 임의의 클라이언트에서 출력되는 문서 파일을 표시한다. 또한, 공동 편집 문서 출력 화면(610)은 공유 버튼(611)을 표시한다. 이에, 임의의 클라이언트의 사용자는 현재 출력되고 있는 문서 파일에서 공유 버튼(611)을 클릭하여 공유 신호를 공유 서버(1000)로 송신할 수 있다.
도 6b를 참조하면, 문서 파일 관리 화면(620)은 임의의 클라이언트에서 출력되는 문서 파일을 관리하는 어플리케이션의 예시적인 화면이다. 예를 들어, 문서 파일 관리 화면(620)은 문서 파일을 저장하고 문서 파일의 공유 여부를 관리할 수 있는 파일 매니저(file manager)의 예시적인 화면일 수 있다. 여기서, 문서 파일 관리 화면(620)은 공유 버튼(621)을 표시하고, 문서 파일(631)및 바로가기 파일(632)을 표시한다. 또한, 문서 파일 관리 화면(620)은 문서 파일(631)또는 바로가기 파일(632)에 중첩되어 드롭-다운 메뉴(dropdownmenu)(622)를 더 표시할 수 있다. 이에, 임의의 클라이언트의 사용자는 현재 출력되고 있는 문서 파일에서 공유 버튼(621)또는 드롭-다운 메뉴(622)에서의 ‘공유’를 선택하여 공유 신호를 공유 서버(1000)로 송신할 수 있다.
이에 따라, 공유 신호를 수신한 공유 서버(1000)는 바로가기 파일 서버(1200)가 바로가기 파일을 생성하도록 신호를 전송하고, 시드 문서 파일을 생성하여 시드 저장 서버(110)로 송신한다.
도 7은 본 발명의 또 다른 실시예에 따른 공동 편집 문서를 공유하는 장치의 구성 및 클라이언트 사이의 관계를 도시한 것이다. 도 7은 추가 클라이언트에 갱신 시드 문서 파일 및 추가 편집 명령어를 송신하는 과정을 도시한 것으로서, 도 3 및 도 5를 참조하여 이미 설명된 구성요소에 대한 중복 설명을 생략한다.
도 7을 참조하면, 문서 파일을 공동 편집하도록 시드 문서 서버(110)에 추가 클라이언트(910)가 연결된 경우, 시드 문서 서버(110)는 추가 클라이언트(910)에 갱신 시드 문서 파일을 송신한다. 여기서, 추가 클라이언트(910)는 적어도 하나의 클라이언트(900)각각이 제1 시드 문서 파일(111)및 적어도 하나의 편집 명령어를 기초로 갱신 공동 편집 문서를 생성한 이후 시드 문서 서버(110)에 문서 파일의 공동 편집을 요청한 클라이언트일 수 있다. 여기서 추가 클라이언트(910)는 클라이언트 그룹(900)에 포함되지 않은 클라이언트 일 수 있다. 추가 클라이언트(910)는 이하에서 서술하는 공동 문서 편집 장치(100)에 연결 후, 갱신 공동 편집 문서를 생성한 후에는 클라이언트 그룹(900)에 포함될 수 있다.
먼저, 시드 문서 서버(110)는 미리 결정된 조건에 따라 시드 문서 파일을 엔진-풀 서버(140)로 송신한다. 예를 들어, 적어도 하나의 클라이언트(900)로부터 편집 명령어를 일정 시간 동안 수신하지 않는 경우, 편집 명령어가 명령어 저장 서버(130)에 200개 이상 저장된 경우 또는 적어도 하나의 클라이언트(900)중 어느 하나가 공동 편집 문서 공유 장치(100)에 접속을 종료한 경우, 시드 문서 서버(110)는 제1 시드 문서 파일(111)을 엔진-풀 서버(140)로 송신한다.
또한, 명령어 저장 서버(130)는 미리 결정된 조건에 따라 생성된 명령어 리스트(730)를 엔진-풀 서버(140)로 송신한다. 여기서, 명령어 리스트(730)는 적어도 하나의 편집 명령어를 포함한다. 예를 들어, 명령어 리스트(730)는 제1 편집 명령어(131)및 제2 편집 명령어(132)를 포함하여 생성될 수 있다.
도 7을 참조하면, 명령어 저장 서버(130)는 미리 결정된 조건에 따라 적어도 하나의 편집 명령어를 기초로 생성된 명령어 리스트(730)를 엔진-풀 서버(140)로 송신한다. 예를 들어, 적어도 하나의 클라이언트(900)로부터 편집 명령어를 일정 시간 동안 수신하지 않는 경우, 편집 명령어가 명령어 저장 서버(130)에 200개 이상 저장된 경우 또는 적어도 하나의 클라이언트(900)중 어느 하나가 공동 편집 문서 공유 장치(100)에 접속을 종료한 경우, 명령어 저장 서버(130)는 명령어 리스트(730)를 엔진-풀 서버(140)로 송신할 수 있다.
이어서, 엔진-풀 서버(140)는 수신한 시드 문서 파일 및 명령어 리스트(730)를 기초로 갱신 시드 문서 파일을 생성한다. 예를 들어, 엔진-풀 서버(140)는 제1 시드 문서 파일(111)을 수신하고 명령어 리스트(730)를 수신하여, 제1 시드 문서 파일(111)에 제1 편집 명령어(131)및 제2 편집 명령어(132)를 적용하여 갱신 시드 문서 파일인 제2 시드 문서 파일(112)을 생성한다.
이어서, 엔진-풀 서버(140)는 생성된 갱신 시드 문서 파일을 시드 문서 서버(110)로 송신하고, 시드 문서 서버(110)는 제1 시드 문서 파일(111)과 함께 갱신 시드 문서 파일인 제2 시드 문서 파일(112)을 저장한다. 이에 따라, 시드 문서 서버(110)는 추가 클라이언트(910)가 연결된 경우, 갱신 시드 문서 파일을 추가 클라이언트(910)에 송신할 수 있다.
도 7을 참조하면, 명령어 저장 서버(130)는 명령어 리스트(730)가 엔진-풀 서버(140)에 송신된 이후 저장된 추가 편집 명령어(133)를 명령어 전달 서버(120)에 전송한다. 명령어 리스트(730)가 엔진-풀 서버(140)로 송신된 이후, 명령어 저장 서버(130)가 수신한 편집 명령어는 추가 편집 명령어가 된다. 예를 들어, 명령어 리스트(730)가 엔진-풀 서버(140)로 송신된 이후 추가적으로 수신된 제3 편집 명령어(133)는 추가 편집 명령어가 된다.
도 7을 참조하면, 명령어 전달 서버(120)는 추가 클라이언트(910)에 추가 편집 명령어(133)를 송신한다. 구체적으로, 시드 문서 서버(110)에 추가 클라이언트(910)가 연결된 경우, 추가 편집 명령어인 제3 편집 명령어(133)는 명령어 전달 서버(120)로 송신되고, 명령어 전달 서버(120)를 통해 추가 편집 명령어인 제3 편집 명령어(133)가 추가 클라이언트(910)로 송신된다.
즉, 추가 클라이언트(910)는 시드 문서 서버(110)로부터 갱신 시드 문서 파일을 수신하고, 명령어 전달 서버(120)로부터 추가 편집 명령어만을 수신하여 갱신 공동 편집 문서를 생성할 수 있다. 갱신 공동 편집 문서를 생성하는 엔진에 대해서는 도 8을 참조하여 후술한다.
즉, 추가 클라이언트(910)는 적어도 두 개의 클라이언트를 포함하는 클라이언트 그룹(900)에서 편집 중인 공동 편집 문서에 대한 공동 편집 요청을 시드 문서 서버(110)로 전송하고, 상기 시드 문서 서버(110)로부터, 엔진 풀 서버(140)가 상기 클라이언트 그룹(900)에 포함된 클라이언트로부터 갱신 시드 문서 파일을 생성하기 전에 수신된 공동 편집 문서를 편집 하는 적어도 하나의 편집 명령어 및 시드 문서에 기초하여 생성된 갱신 시드 문서 파일을 수신하고, 명령어 저장 서버(130)로부터, 상기 클라이언트 그룹에 포함된 클라이언트로부터 상기 갱신 시드 문서 파일을 생성한 후 수신된 공동 편집 문서를 편집 하는 적어도 하나의 추가 편집 명령어를 수신하여, 상기 시드 문서 서버(110)로부터 수신된 갱신 시드 문서 파일 및 상기 명령어 저장 서버(130)로부터 수신된 추가 편집 명령어를 기초로 갱신 공동 편집 문서를 생성할 수 있다.
이와 같은 추가 클라이언트(910)가 이미 갱신 공동 편집 문서로 변환된 제1 시드 문서 파일(111)을 수신하는 경우, 제1 시드 문서 파일(111)및 적어도 하나의 편집 명령어를 모두 수신하는 것은 문서를 공동 편집하는데 비효율적일 수 있다.
이에 따라, 공동 편집 문서 공유 장치(100)는 미리 결정된 조건에 따라 편집 명령어를 명령어 리스트(730)로 저장하고, 엔진-풀 서버(140)를 이용하여 갱신 시드 문서 파일을 생성함으로써, 추가 클라이언트(910)는 갱신 시드 문서 파일 및 추가 편집 명령어만을 수신하여 보다 효율적으로 문서 파일을 공동 편집할 수 있다.
나아가, 명령어 전달 서버(120)는 실시간으로 개별 편집 명령어 또는 추가 편집 명령어를 직접 적어도 하나의 클라이언트(900)및 추가 클라이언트(910)에 전달하고, 엔진-풀 서버(140)는 시드 문서 파일과 명령어 리스트(730)만을 기초로 갱신 시드 문서 파일을 생성하여, 공동 편집 문서 공유 장치(100)가 명령어의 전달과 시드 문서 파일의 갱신을 서로 다른 기능을 갖는 이원화된 서버에서 실행하도록 함으로써, 서버 각각의 처리 부하를 저감시킬 수 있고 신속하게 추가 클라이언트(910)에 공동 편집을 위한 파일을 제공할 수 있다. 이에 따라, 공동 편집 문서 공유 장치(100)를 통해 많은 클라이언트들이 공유하는 문서 파일의 편집을 보다 효율적이고 신속하게 실행할 수 있다.
도 8a 및 도 8b는 본 발명의 또 다른 실시예에 따른 공동 편집 문서를 공유하는 방법에 의해 공동 편집 문서를 공유하는 클라이언트의 엔진 및 클라이언트의 예시적인 출력 화면을 도시한 것이다.
도 8a를 참조하면, 추가 클라이언트(910)도 엔진(940)을 포함한다. 이와 같은 엔진(940)은 도 4a에 도시된 바와 같이 적어도 하나의 클라이언트(900)각각에 포함된 엔진(940)과 동일한 기능을 한다. 구체적으로, 엔진(940)은 수신한 갱신 시드 문서 파일(112)및 추가 편집 명령어(133)를 기초로 갱신 공동 편집 문서를 생성한다.
도 8b를 참조하면, 공동 편집 문서 출력 화면(800)은 추가 클라이언트(910)에 출력되는 화면으로서, 갱신 공동 편집 문서를 출력한다. 구체적으로, 공동 편집 문서 출력 화면(800)은 갱신 시드 문서 파일(112)에 추가 편집 명령어(133)가 적용된 표시(833)를 포함한 갱신 공동 편집 문서를 표시한다.
예를 들어, 추가 편집 명령어(133)가 ‘하느님이 보우하사’ 줄을 삭제하는 것이면, 공동 편집 문서 출력 화면(800)은 삭제가 적용된 표시를 포함한 갱신 공동 편집 문서를 표시한다. 도 8b에서는 공동 편집 문서 출력 화면(800)이 삭제가 적용된 것으로 표시하는 것으로 도시되었으나, 실시예에 따라 삭제가 적용된 부분은 표시되지 않을 수 있으며, 추가 편집 명령어(133)의 특성에 따라 공동 편집 문서 출력 화면(800)에 표시되거나 표시되지 않을 수 있다.
본 발명의 실시예에 따른 공동 편집 문서 공유 장치(100)는 엔진-풀 서버(140)를 통해서 갱신 시드 문서 파일을 생성함으로써, 명령어 전달 서버(120)를 통해서는 추가 편집 명령어만을 추가 클라이언트(910)에 송신하도록 하여 명령어 전달 서버(120)가 공동 편집 문서의 갱신을 위한 엔진을 포함하지 않을 수 있게 된다. 이에 따라, 명령어 전달 서버(120)는 클라이언트가 추가됨에 따라 공동 편집 문서의 갱신을 위한 엔진을 추가하지 않아도 되며, 엔진의 증가에 따른 처리 부하도 증가하지 않게 된다. 즉, 공동 편집 문서 공유 장치(100)는 공동 편집 문서의 갱신을 위한 엔진을 감소시키거나 최소화하여 클라이언트의 수가 증가하더라도 효율적이고 신속한 문서의 공동 편집을 가능하게 한다.
이하에서는 본 발명의 제 2 실시 예에 따른 이원화된 서버를 이용한 공동 문서 공유 방법 및 장치에 관해 서술한다. 이하에서 기재되는 실시 예들은 전술한 실시 예들과 독립적일 수 있으며, 이하에서 기재되는 실시 예들에 포함되는 구성요소들은 전술한 실시 예와는 상이한 동작을 수행할 수 있다.
이하에서는 본 발명의 제 2 실시 예를 설명하기 위하여 사용되는 용어에 대해 정의한다.
본 발명의 제 2 실시 예에서 문서 편집 단말기란, 전자 문서 파일을 편집할 수 있는 단말기로서, 클라우드 서버와 같은 공유 서버에 저장된 전자 문서 파일을 공유하면서 전자 문서 파일의 내용 및 설정 등을 편집할 수 있는 단말기를 의미한다.
본 발명의 제 2 실시 예에서 공동 문서란, 다수의 문서 편집 단말기가 공유하는 협업에 의해 작성되는 문서로서, 문서 편집 단말기가 공유하는 전자 문서를 의미한다. 공동 문서는 문서 편집 단말기들이 전자 문서를 공유하기 위해 접속한 클라우드 서버에 저장된 전자 문서를 의미할 수 있다.
본 발명의 제 2 실시 예에서 공동 문서 파일이란, 다수의 문서 편집 단말기를 통해 공유되고 편집 가능한 공동 문서 자체 또는 공동 문서에 접근할 수 있는 경로(path)를 의미한다. 예를 들어, 공동 문서 파일은 클라우드 서버와 같은 공유 서버로부터 전송되어 공동 문서 공유 장치에 일시적으로 저장되어 있는 공동 문서 자체이거나 문서 편집 단말기가 공동 문서에 접근할 수 있는 링크(link)일 수 있다.
본 발명의 제 2 실시 예에서 편집 명령어란, 문서 편집 단말기에서 공유하는 공동 문서 파일을 편집하는 명령어로서, 공동 문서 파일을 편집하는 문서 편집 단말기에서 생성되어 공동 문서 공유 장치로 전송될 수 있다. 예를 들어, 편집 명령어는 공동 문서 파일의 내용을 삭제하는 삭제 명령어 및 그림과 같은 객체를 삽입하는 삽입 명령어 등을 포함할 수 있다.
본 발명의 제 2 실시 예에서 편집 명령어 리스트란, 명령어 전달 서버에서 편집 명령어를 수신하여 수신된 순서대로 저장한 리스트로서, 갱신 조건이 충족되기 전까지 수신된 편집 명령어를 저장한 리스트이다.
본 발명의 제 2 실시 예에서 추가 문서 편집 단말기란, 문서 편집 단말기가 공유 서버를 통해 공동 문서 파일을 공유한 이후에 추가적으로 공유 서버에 공동 문서 파일의 공유를 요청한 문서 편집 단말기를 의미한다.
도 9 는 본 발명의 제 2 실시 예에 따른 공동 문서 공유 장치의 개략적인 구성 및 공동 문서 공유 장치와 공유 서버, 공동 문서 공유 장치와 문서 편집 단말기 사이의 관계를 도시한 것이다.
도 9을 참조하면, 공동 문서 공유 장치(1002)는 엔진-풀(enginepool)서버(1102)및 명령어 전달 서버(1202)를 포함한다.
엔진-풀 서버(1102)는 다양한 종류의 엔진을 포함하며, 구체적으로, 다양한 종류의 엔진이란, 공동 문서 파일을 실행하거나 편집할 수 있는 엔진일 수 있다. 예를 들어, 엔진-풀 서버(1102)는 공동 문서 파일을 수신하는 엔진, 공동 문서 파일을 실행하는 엔진 또는 공동 문서 파일에 편집된 내용을 적용하는 엔진 등을 포함할 수 있다. 특히, 엔진-풀 서버(1102)는 공동 문서 파일을 갱신하는 엔진을 포함한다.
명령어 전달 서버(1202)는 문서 편집 단말기(2802)로부터 수신된 명령어를 포함한다. 구체적으로, 명령어 전달 서버(1202)는 문서 편집 단말기(2802)로부터 공동 문서 파일을 편집하는 편집 명령어를 수신한다. 또한, 명령어 전달 서버(1202)는 수신된 편집 명령어를 편집 명령어 리스트에 저장한다. 구체적으로, 명령어 전달 서버(1202)는 공동 문서 파일을 갱신하기 위한 갱신 조건이 충족되기 전까지 수신된 순서대로 편집 명령어를 편집 명령어 리스트에 일시적으로 저장할 수 있다.
도 9을 참조하면, 공동 문서 공유 장치(1002)는 공유 서버(2102)및 문서 편집 단말기(2802)와 연결된다. 구체적으로, 공동 문서 공유 장치(1002), 공유 서버(2102)및 문서 편집 단말기(2802)는 서로 통신 가능하도록 연결되며, 문서 편집 단말기(2802)가 공동 문서 파일을 공유하고 편집할 수 있도록 연결될 수 있다.
공유 서버(2102)는 공동 문서 파일을 저장하는 서버로서, 공동 문서에 대한 공유 요청을 수신하는 경우 공동 문서 파일을 공유 서버(2102)및 문서 편집 단말기(2802)중 적어도 하나에 제공할 수 있다. 공유 서버(2102)는 공동 문서 공유 장치(1002)에 공동 문서 파일을 전송할 수 있으며, 갱신된 공동 문서 파일을 수신하여 저장할 수 있다.
문서 편집 단말기(2802)는 공동 문서 공유 장치(1002)또는 공유 서버(2102)에 공동 문서를 공유하는 요청을 전송할 수 있고 공동 문서 파일을 수신하여 공유할 수 있다. 또한, 문서 편집 단말기(2802)는 설명의 편의상 하나로 표현되었으나 공동 문서 파일을 공유하는 2 이상의 단말기를 포함할 수 있다.
엔진-풀 서버(1102)는 명령어 전달 서버(1202)와 통신 가능하도록 연결되며, 명령어 전달 서버(1202)로부터 편집 명령어 리스트를 수신할 수 있다. 즉, 공동 문서 공유 장치(1002)는 공동 문서 파일 및 갱신된 공동 문서 파일을 포함하는 엔진-풀 서버(1102)와 엔진-풀 서버(1102)에 편집 명령어 리스트를 전달하는 명령어 전달 서버(1202)로 이원화된다.
이에 따라, 이원화된 서버를 포함하는 공동 문서 공유 장치(1002)는 하나의 서버를 통해 편집 명령어가 수신될 때마다 공동 문서 파일이 갱신되는 경우 발생하는 서버의 리소스 낭비와 공동 문서 파일의 갱신 속도 및 성능의 저하를 개선할 수 있다.
공동 문서 공유 장치(1002)의 각 구성들은 설명의 편의상 개별적인 구성으로 도시한 것일 뿐, 구현 방법에 따라 하나의 구성으로 구현되거나 하나의 구성이 2 이상의 구성으로 분리될 수 있다.
도 10 은 본 발명의 제 2 실시 예에 따른 이원화된 서버를 이용한 공동 문서 공유 방법에 따라 공동 문서 파일을 갱신하기 위한 절차를 도시한 것이다. 설명의 편의를 위해 도 9를 참조하여 설명한다.
본 발명에 따른 이원화된 서버를 이용한 공동 문서 공유 방법은 엔진-풀 서버(1102)가 문서 편집 단말기(2802)에 공동 문서 파일을 제공함으로써 개시된다(S212).
구체적으로, 엔진-풀 서버(1102)는 공유 서버(2102)로부터 공동 문서 파일을 수신하여 문서 편집 단말기(2802)에 제공할 수 있다. 즉, 엔진-풀서버(1102)는 공유 서버(2102)에 저장된 공동 문서 파일을 문서 편집 단말기(2802)에 제공해주는 매개체(medium)역할을 할 수 있다. 여기서, 엔진-풀 서버(1102)내의 공동 문서 파일은 엔진-풀 서버(1102)와 분리된 공유 서버(2102)로부터 전송되어 엔진-풀 서버(1102)내에 임시로 저장될 수 있다.
엔진-풀 서버(1102)가 갱신 전/후의 공동 문서 파일을 문서 편집 단말기(2802)에 제공하는 과정에 대해서는 도 11 내지 도 12를 참조하여 후술한다.
이어서, 명령어 전달 서버(1202)는 문서 편집 단말기(2802)로부터 공동 문서 파일을 편집하는 편집 명령어를 수신한다(S222). 이어서, 명령어 전달 서버(1202)는 공동 문서 파일을 갱신하기 위한 갱신 조건을 충족시킬 때까지 편집 명령어가 수신된 순서대로 편집 명령어를 편집 명령어 리스트에 저장한다(S232).
구체적으로, 명령어 전달 서버(1202)는 공동 문서 파일을 공유하고 편집하는 문서 편집 단말기(2802)로부터 공동 문서 파일을 편집하는 편집 명령어를 수신한다. 여기서, 명령어 전달 서버(1202)는 편집 명령어 리스트를 포함한다. 편집 명령어 리스트는 편집 명령어가 명령어 전달 서버(1202)에 도달하면서 생성될 수도 있고, 미리 생성되어 명령어 전달 서버(1202)내에 저장될 수도 있다.
이어서, 명령어 전달 서버(1202)는 편집 명령어가 명령어 전달 서버(1202)에 도달하는 순서대로 편집 명령어 리스트에 편집 명령어를 저장한다. 구체적으로, 편집 명령어는 명령어 전달 서버(1202)에 도달하는 순서대로 편집 명령어 리스트에 스택(stack)구조로 저장될 수 있다. 또한, 명령어 전달 서버(1202)는 갱신 조건을 포함하여 명령어 전달 서버(1202)에 일시적으로 저장되는 편집 명령어의 수를 조절할 수 있다. 여기서, 갱신 조건은 명령어 전달 서버(1202)내에서 직접 설정될 수도 있고, 엔진-풀 서버(1102)또는 공유 서버(2102)로부터 명령어 전달 서버(1202)에 전송되어 저장될 수도 있다. 갱신 조건에 대한 예시는 도 5를 참조하여 후술한다.
이에 따라, 명령어 전달 서버(1202)는 문서 편집 단말기(2802)로부터 편집 명령어를 수신하고 일시적으로 저장하며, 편집 명령어 리스트를 엔진-풀 서버(1102)에 송신함으로써, 명령어 전달 서버(1202)는 편집 명령어를 일시적으로 저장하고 송신하여, 엔진-풀 서버(1102)와 기능적으로 분리되고 효율적으로 편집 명령어를 관리할 수 있다.
명령어 전달 서버(1202)가 편집 명령어를 수신하고 갱신 조건에 따라 편집 명령어 리스트를 송신하는 과정에 대해서는 도 3 및 도 4를 참조하여 후술한다.
이어서, 엔진-풀 서버(1102)는 공동 문서 파일을 갱신하기 위한 갱신 조건이 충족되는 경우, 공동 문서 파일을 갱신하는 엔진을 통해 공동 문서 파일과 편집 명령어 리스트를 기초로 공동 문서 파일을 갱신한다(S242).
구체적으로, 엔진-풀 서버(1102)는 공동 문서 파일을 갱신하기 위한 갱신 조건이 충족되는 경우, 엔진-풀 서버(1102)내의 엔진을 통해 공동 문서 파일을 갱신한다. 구체적으로, 엔진-풀 서버(1102)는 엔진-풀 서버(1102)내의 유휴(遊休)엔진을 통해 편집 명령어 리스트 및 공동 문서 파일을 기초로 공동 문서 파일을 갱신할 수 있다.
이에 따라, 엔진-풀 서버(1102)는 엔진-풀 내의 다양한 엔진들 중 동작하지 않고 쉬고 있는 엔진을 이용하여 공동 문서 파일을 갱신함으로써, 엔진을 효율적으로 사용하고 공동 문서 파일의 갱신 속도를 향상시킬 수 있다.
도 11은 본 발명의 제 2 실시 예에 따른 이원화된 서버를 이용한 공동 문서 공유 방법에 따라 공동 문서 파일을 공유하고 편집 명령어를 수신하여 저장하는 방법을 설명하기 위한 예시도이다.
도 11을 참조하면, 엔진-풀 서버(1102)는 공동 문서 파일(1112)및 엔진-풀(1132)을 포함한다. 구체적으로, 엔진-풀 서버(1102)는 문서 편집 단말기(2802)가 공동 문서 파일(1112)을 공유하고 편집하는 동안 공유 서버(2102)로부터 수신한 공동 문서 파일(1112)을 일시적으로 저장한다. 이에 따라, 문서 편집 단말기(2802)는 엔진-풀 서버(1102)를 통해 공동 문서 파일을 공유할 수 있다. 여기서, 엔진-풀(1132)은 다양한 엔진을 포함할 수 있으나, 엔진-풀 서버(1102)가 편집 명령어 리스트(3002)를 수신하지 않아 공동 문서 파일을 갱신하기 위한 엔진이 활성화되지는 않는다.
명령어 전달 서버(1202)는 편집 명령어 리스트(3002)및 갱신 조건(3102)을 포함한다. 구체적으로, 명령어 전달 서버(1202)는 문서 편집 단말기(2802)로부터 공동 문서 파일을 편집하는 편집 명령어를 수신하고, 편집 명령어를 수신하는 순서대로 편집 명령어 리스트(3002)에 저장한다. 즉, 편집 명령어 리스트(3002)는 명령어 전달 서버(1202)에 가장 먼저 도달한 제1 편집 명령어(3012)를 편집 명령어 리스트(3002)의 최하단에 저장하고, 이후 명령어 전달 서버(1202)에 도달하는 편집 명령어 순서에 따라 제2 편집 명령어(3022)를 제1 편집 명령어(3012)상에 저장하고 제3 편집 명령어(3032)를 제2 편집 명령어(3022)상에 저장한다. 예를 들어, 편집 명령어 리스트(3002)는 스택 구조를 갖고, 편집 명령어 리스트(3002)에서 제1 편집 명령어(3012)인 ‘복사’가 가장 먼저 명령어 전달 서버(1202)에 도달하였고, 제2 편집 명령어(3022)인 ‘붙여넣기’가 제1 편집 명령어(3012)다음에 명령어 전달 서버(1202)에 도달하였고, 제3 편집 명령어(3032)인 ‘1페이지 3째줄 삭제’가 제2 편집 명령어(3022)다음에 명령어 전달 서버(1202)에 도달하였다.
이에 따라, 공동 문서 파일의 공유는 엔진-풀 서버(1102)를 통해서 실행되고 편집 명령어의 저장은 명령어 전달 서버(1202)를 통해서 실행되므로, 문서 편집 단말기(2802)는 이원화된 서버를 통해 효율적으로 공동 문서 파일을 공유하면서 동시에 편집 명령어를 전달할 수 있다.
도 12는 본 발명의 제 2 실시 예에 따른 이원화된 서버를 이용한 공동 문서 공유 방법에 따라 추거 편집 문서 단말기와 공동 문서를 공유하는 방법을 설명하기 위한 예시도이다. 도 12는 갱신 조건을 만족하는 경우 공동 문서 파일(1112)을 갱신하는 과정을 도시한 것으로서, 도 11을 참조하여 이미 설명된 구성요소에 대한 중복 설명을 생략한다.
도 12를 참조하면, 명령어 전달 서버(1202)는 갱신 조건(3102)이 충족되는 경우, 편집 명령어 리스트(3002)를 엔진-풀 서버(1102)로 송신한다. 예를 들어, 갱신 조건(3102)이 ‘편집 명령어를 5개 수신’이라면, 명령어 전달 서버(1202)는 편집 명령어 리스트(3002)에 제1 편집 명령어 내지 제5 편집 명령어(301 내지 3052)가 저장되는 순간 편집 명령어 리스트(3002)를 엔진-풀 서버(1102)로 송신할 수 있다.
이에 따라, 엔진-풀 서버(1102)는 편집 명령어 리스트(3002)를 수신하고, 엔진-풀(1132)내의 엔진(1142)을 통해 공동 문서 파일(1112)및 편집 명령어 리스트(3002)를 기초로 공동 문서 파일(1112)을 갱신할 수 있다. 구체적으로, 엔진(1142)은 편집 명령어 리스트(3002)가 엔진-풀 서버(1102)에 도달하는 경우, 공동 문서 파일(1112)및 편집 명령어 리스트(3002)를 기초로 갱신된 공동 문서 파일(4112)을 생성할 수 있다. 여기서, 엔진(1142)은 엔진-풀(1132)내에서 사용되고 있지 않는 유휴(遊休)엔진 중 임의로 선택된 엔진일 수 있다.
이어서, 엔진-풀 서버(1102)는 갱신된 공동 문서 파일(4112)을 문서 편집 단말기(2802)에 송신한다. 즉, 엔진-풀 서버(1102)는 갱신 조건을 충족하여 전송된 편집 명령어 리스트(3002)를 수신하여 엔진(1142)을 통해 갱신된 공동 문서 파일(4112)이 생성되는 순간 문서 편집 단말기(2802)로 갱신된 공동 문서 파일(4112)을 송신할 수 있다.
나아가, 공동 문서 파일(1112)에 대한 공유를 요청하는 문서 편집 단말기가 증가하는 경우, 엔진-풀 서버(1102)는 갱신된 공동 문서 파일(4112)을 엔진-풀 서버(1102)에 추가로 연결된 추가 문서 편집 단말기(2902)에 송신할 수 있다. 즉, 엔진-풀 서버(1102)는 갱신된 공동 문서 파일(4112)이 생성된 이후에 추가적으로 공동 문서 파일(1112)에 대한 공유를 요청하는 추가 문서 편집 단말기(2902)에는 갱신 이전의 공동 문서 파일(1112)을 공유할 필요 없이 곧바로 갱신된 공동 문서 파일을(4112)을 제공할 수 있다.
이에 따라, 추가 문서 편집 단말기(2902)는 공동 문서 파일의 공유를 요청한 시점으로부터 가장 최근 편집된 내용이 반영되어 갱신된 공동 문서 파일(4112)을 신속하게 공유할 수 있다.
도 13은 본 발명의 제 2 실시 예에 따른 이원화된 서버를 이용한 공동 문서 공유 방법에서 선택 가능한 갱신 조건을 예시적으로 도시한 것이다.
도 13을 참조하면, 갱신 조건 리스트(5102)는 다양한 갱신 조건을 포함할 수 있다. 구체적으로, 갱신 조건 리스트(5102)는 편집 명령어 리스트(3002)의 크기가 미리 결정된 스택의 크기 이상인 경우이거나 공동 문서 파일을 갱신하기 위해 미리 결정된 갱신 시간이 경과된 경우일 수 있다. 예를 들어, 갱신 조건 리스트(5102)는 복수의 갱신 조건들을 포함할 수 있으며, ‘편집 명령어 5개 수신시’인 제1 갱신 조건(5112)및 ‘2초 갱신 시간 경과시’인 제2 갱신 조건(5122)등을 포함할 수 있다.
갱신 조건 리스트(5102)에서 갱신 조건은 하나만 선택될 수도 있다. 또한, 각각의 갱신 조건들은 갱신 조건을 설정하는 사용자에 의해 구체적으로 설정되거나 변경될 수도 있다. 예를 들어, 갱신 조건 리스트(5102)에서 갱신 조건은 제1 갱신 조건(5112)하나만이 선택될 수도 있으며, 제1 갱신 조건(5112)중 수신되는 편집 명령어의 개수는 사용자에 의해 ‘5’로 설정될 수도 있다.
이에 따라, 갱신 조건은 사용자에 의해 구체적으로 설정되거나 자유롭게 변경될 수 있으며, 경우에 따라 갱신 조건을 변경하여 공동 문서 공유 장치(1002)가 공동 문서 파일을 효율적으로 공유하고 편집하여 갱신된 공동 문서 파일을 신속하게 공유할 수 있다.
본 명세서에서, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈 또는 그 2 개의 결합으로 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC)내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
상기와 같이 발명의 실시를 위한 최선의 형태에서 관련 내용을 기술하였다.
본 발명은 네트워크를 통한 문서의 공동 편집을 위한 디지털 디바이스 등에 사용될 수 있다.

Claims (15)

  1. 적어도 두 개의 클라이언트를 포함하는 클라이언트 그룹에 포함된 적어도 하나의 클라이언트로부터 공동 편집 문서와 관련되는 적어도 두 개의 편집 명령어들을 수신하고, 상기 적어도 두 개의 편집 명령어들을 수신된 순서에 기초하여 상기 클라이언트 그룹에 포함된 클라이언트들 각각에 송신하는 명령어 전달 서버; 및
    미리 설정된 조건이 충족되면, 상기 수신된 편집 명령어들이 수신된 순서에 기초하여 수집된 명령어 리스트에 기초하여, 상기 공동 편집 문서와 관련되는 시드 문서 파일을 갱신하는 엔진-풀(engine-pool) 서버;
    를 포함하는,
    공동 편집 문서를 공유하는 장치.
  2. 제1항에 있어서,
    상기 수신된 편집 명령어들이 수신된 순서에 기초하여 수집된 명령어 리스트를 생성하고, 미리 결정된 조건이 충족되면 상기 명령어 리스트를 상기 엔진-풀 서버로 송신하는 명령어 저장 서버;
    를 더 포함하는,
    공동 편집 문서를 공유하는 장치.
  3. 제2항에 있어서,
    상기 미리 결정된 조건은,
    상기 적어도 하나의 클라이언트로부터 편집 명령어를 일정 시간 동안 수신 하지 않는 경우, 편집 명령어가 명령어 저장 서버에 임계 값 이상 누적된 경우 또는 적어도 하나의 클라이언트의 접속 종료를 감지한 경우인,
    공동 편집 문서를 공유하는 장치.
  4. 제 1 항에 있어서,
    공유 서버에 업로드된 문서 파일을 기초로 생성된 시드(seed)문서 파일을 저장하고, 상기 시드 문서 파일을 적어도 두 개의 클라이언트를 포함하는 클라이언트 그룹에 포함된 적어도 하나의 클라이언트에게 전송하는 시드 문서 서버;
    를 더 포함하는,
    공동 편집 문서를 공유하는 장치.
  5. 제4항에 있어서,
    상기 엔진-풀 서버는,
    상기 갱신 시드 문서 파일을 상기 시드 문서 서버로 송신하고,
    상기 시드 문서 서버는,
    상기 시드 문서 파일과 함께 상기 갱신 시드 문서 파일을 저장하는,
    공동 편집 문서를 공유하는 장치.
  6. 제5항에 있어서,
    상기 문서 파일을 공동 편집하도록 상기 시드 문서 서버에 상기 클라이언트 그룹에 포함되지 않는 추가 클라이언트가 연결된 경우,
    상기 시드 문서 서버는,
    상기 추가 클라이언트에 상기 갱신 시드 문서 파일을 송신하고,
    명령어 저장 서버는,
    상기 명령어 리스트가 상기 엔진-풀 서버에 송신된 이후 저장된 추가 편집 명령어를 상기 명령어 전달 서버에 전송하고,
    상기 명령어 전달 서버는,
    상기 추가 클라이언트에 상기 추가 편집 명령어를 송신하는, 공동 편집 문서를 공유하는 장치.
  7. 제1항에 있어서,
    상기 문서 파일을 클라이언트 그룹에 포함된 클라이언트 또는 클라이언트 그룹에 포함되지 않은 추가 클라이언트와 공유하고자 하는 공유 신호를 공유 서버가 수신하는 경우, 상기 문서 파일을 기초로 바로가기 파일을 생성하는 바로가기 파일 서버;
    를 더 포함하는,
    공동 편집 문서를 공유하는 장치.
  8. 제7항에 있어서,
    상기 바로가기 파일은 상기 시드 문서 파일이 저장된 위치에 대한 정보를 포함하고,
    시드 문서 서버는 상기 바로가기 파일을 통해 상기 시드 문서 파일을 상기 클라이언트 그룹에 포함된 적어도 하나의 클라이언트 각각 또는 추가 클라이언트가 수신하게 하는,
    공동 편집 문서를 공유하는 장치.
  9. 시드 문서 서버에서 시드 문서 파일을 적어도 두 개의 클라이언트를 포함하는 클라이언트 그룹에 포함된 적어도 하나의 클라이언트에게 전송하는 단계;
    명령어 전달 서버에서, 상기 적어도 하나의 클라이언트로부터 공동 편집 문서와 관련되는 적어도 두 개의 편집 명령어들를 수신하는 단계;
    명령어 전달 서버에서, 상기 적어도 두 개의 편집 명령어들을 수신한 순서에 기초하여 상기 클라이언트 그룹에 포함된 클라이언트들 각각에 송신하는 단계; 및
    엔진-풀(engine-pool)서버에서, 미리 설정된 조건이 충족되면, 상기 수신된 편집 명령어들이 수신된 순서에 기초하여 수집된 명령어 리스트에 기초하여, 상기 공동 편집 문서와 관련되는 시드 문서 파일을 갱신하여 갱신 시드 문서 파일을 생성하는 단계;
    를 포함하는,
    공동 편집 문서를 공유하는 장치에서 수행되는 공동 편집 문서를 공유하는 방법.
  10. 제9항에 있어서,
    명령어 저장 서버에서 상기 수신된 편집 명령어들이 수신된 순서에 기초하여 수집된 명령어 리스트를 생성하는 단계; 및
    미리 결정된 조건이 충족되면 상기 명령어 리스트를 상기 엔진-풀 서버로 송신하는 하는 단계;
    를 더 포함하는,
    공동 편집 문서를 공유하는 방법.
  11. 제9항에 있어서,
    상기 문서 파일을 공동 편집하도록 상기 클라이언트 그룹에 포함되지 않는 추가 클라이언트가 연결된 경우,
    시드 문서 서버에서, 상기 추가 클라이언트에 상기 갱신 시드 문서 파일을 송신하는 단계; 및
    명령어 전달 서버에서, 상기 추가 클라이언트에 상기 갱신 시드 문서 파일이 생성된 이후 저장된 추가 편집 명령어를 송신하는 단계;
    를 더 포함하는,
    공동 편집 문서를 공유하는 방법.
  12. 제9항에 있어서,
    시드 문서 서버에서 상기 문서 파일을 기초로 생성된 바로가기 파일을 통해 연결된 상기 클라이언트 그룹에 포함된 적어도 하나의 클라이언트 각각 또는 추가 클라이언트로 상기 시드 문서 파일을 송신하는 단계;
    를 더 포함하는,
    공동 편집 문서를 공유하는 방법.
  13. 하나 이상의 프로세서에 의해 실행되는 복수의 명령들을 포함하는 컴퓨터에서 실행가능한 컴퓨터-판독가능 기록매체로서,
    상기 컴퓨터-판독가능 기록매체는,
    시드 문서 서버에서 시드 문서 파일을 적어도 두 개의 클라이언트를 포함하는 클라이언트 그룹에 포함된 적어도 하나의 클라이언트에게 전송하도록 하기 위한 명령;
    명령어 전달 서버에서, 상기 적어도 하나의 클라이언트로부터 공동 편집 문서와 관련되는 적어도 두 개의 편집 명령어들를 수신하도록 하기 위한 명령;
    명령어 전달 서버에서, 상기 적어도 두 개의 편집 명령어들을 수신한 순서에 기초하여 상기 클라이언트 그룹에 포함된 클라이언트들 각각에 송신하도록 하기 위한 명령; 및
    엔진-풀(engine-pool)서버에서, 미리 설정된 조건이 충족되면, 상기 수신된 편집 명령어들이 수신된 순서에 기초하여 수집된 명령어 리스트에 기초하여, 상기 공동 편집 문서와 관련되는 시드 문서 파일을 갱신하여 갱신 시드 문서 파일을 생성하도록 하기 위한 명령;
    을 포함하는,
    하나 이상의 프로세서에 의해 실행되는 복수의 명령들을 포함하는 컴퓨터에서 실행가능한 컴퓨터-판독가능 기록매체.
  14. 클라이언트 디바이스에서 수행되는 공동 편집 문서를 공유하는 방법으로서,
    공동 편집 문서를 편집하는 편집 명령어를 명령어 전달 서버를 통해 적어도 두 개의 클라이언트를 포함하는 클라이언트 그룹에 포함된 적어도 하나의 다른 클라이언트에게 전달되도록 상기 명령어 전달 서버로 전송하는 단계;
    상기 명령어 전달 서버로부터 전송된, 다른 클라이언트에서 행해진 상기 공동 편집 문서에 대한 편집을 나타내는 공동 편집 문서를 편집하는 편집 명령어를 수신하는 단계;
    상기 적어도 하나의 다른 클라이언트로부터의 수신된 공동 편집 문서를 편집하는 편집 명령어 및 상기 공동 편집 문서를 기초로 갱신 공동 편집 문서를 생성하는 단계;
    를 포함하는,
    클라이언트 디바이스에서 수행되는 공동 편집 문서를 공유하는 방법.
  15. 클라이언트 디바이스에서 수행되는 공동 편집 문서를 공유하는 방법으로서,
    적어도 두 개의 클라이언트를 포함하는 클라이언트 그룹에서 편집 중인 공동 편집 문서에 대한 공동 편집 요청을 시드 문서 서버로 전송하는 단계;
    상기 시드 문서 서버로부터, 엔진 풀 서버가 상기 클라이언트 그룹에 포함된 클라이언트로부터 갱신 시드 문서 파일을 생성하기 전에 수신된 공동 편집 문서를 편집 하는 적어도 하나의 편집 명령어 및 시드 문서에 기초하여 생성된 갱신 시드 문서 파일을 수신하는 단계;
    명령어 저장 서버로부터, 상기 클라이언트 그룹에 포함된 클라이언트로부터 상기 갱신 시드 문서 파일을 생성한 후 수신된 공동 편집 문서를 편집 하는 적어도 하나의 추가 편집 명령어를 수신하는 단계; 및
    상기 시드 문서 서버로부터 수신된 갱신 시드 문서 파일 및 상기 명령어 저장 서버로부터 수신된 추가 편집 명령어를 기초로 갱신 공동 편집 문서를 생성하는 단계;
    를 포함하는,
    클라이언트 디바이스에서 수행되는 공동 편집 문서를 공유하는 방법.
PCT/KR2016/002926 2015-04-20 2016-03-23 공동 편집 문서를 공유하는 방법 및 장치 WO2016171401A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201680000215.0A CN107924391A (zh) 2015-04-20 2016-03-23 共享协同编辑文档的方法和装置
US15/027,931 US20170134495A1 (en) 2015-04-20 2016-03-23 Method and apparatus for sharing collaboratively edited document

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2015-0055170 2015-04-20
KR20150055170 2015-04-20
KR10-2016-0029623 2016-03-11
KR1020160029623A KR101701110B1 (ko) 2016-03-11 2016-03-11 공동 편집 문서를 공유하는 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2016171401A1 true WO2016171401A1 (ko) 2016-10-27

Family

ID=57143273

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/002926 WO2016171401A1 (ko) 2015-04-20 2016-03-23 공동 편집 문서를 공유하는 방법 및 장치

Country Status (3)

Country Link
US (1) US20170134495A1 (ko)
CN (1) CN107924391A (ko)
WO (1) WO2016171401A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10754519B2 (en) 2015-06-30 2020-08-25 Microsoft Technology Licensing, Llc Graphical user interface facilitating uploading of electronic documents to shared storage
US10154078B2 (en) * 2015-06-30 2018-12-11 Microsoft Technology Licensing, Llc Graphical user interface facilitating uploading of electronic documents to shared storage
CN110210007B (zh) * 2018-05-30 2023-05-23 腾讯科技(深圳)有限公司 一种文档的处理方法、终端以及计算机设备
CN110309112A (zh) * 2019-06-18 2019-10-08 深圳壹账通智能科技有限公司 一种数据处理方法、设备、服务器及可读存储介质
CN112395836B (zh) * 2019-08-01 2023-08-08 珠海金山办公软件有限公司 一种编辑文档的方法、装置、计算机存储介质及终端
US20210081365A1 (en) * 2019-09-16 2021-03-18 Oracle International Corporation Applying Rules to Client Updates on Shared Records to Trigger System-Generated Updates
CN110765744B (zh) * 2019-10-22 2024-01-30 思必驰科技股份有限公司 多人协同文档编辑方法及***
CN111858523A (zh) * 2019-12-20 2020-10-30 北京嘀嘀无限科技发展有限公司 一种文档在线协同编辑方法、客户端及服务器
CN113595853A (zh) * 2020-04-30 2021-11-02 北京字节跳动网络技术有限公司 一种邮件附件的处理方法、装置、电子设备及存储介质
EP4099646A4 (en) 2020-04-30 2023-07-26 Beijing Bytedance Network Technology Co., Ltd. METHOD AND DEVICE FOR EXCHANGE OF INFORMATION, ELECTRONIC DEVICE AND RECORDING MEDIUM
CN112069353B (zh) * 2020-09-15 2024-04-02 杭州网易云音乐科技有限公司 音乐播放控制方法、装置、存储介质及电子设备
CN116738943A (zh) * 2023-08-14 2023-09-12 佳瑛科技有限公司 基于云服务器的文档内容定向共享编辑方法及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060047218A (ko) * 2004-04-20 2006-05-18 마이크로소프트 코포레이션 복수의 컴퓨터 시스템을 통해 전자 문서를 거의 실시간으로공동 작업 가능하게 하기 위한 방법, 시스템 및 장치
JP2007501969A (ja) * 2003-08-07 2007-02-01 インターナショナル・ビジネス・マシーンズ・コーポレーション 共同制作電子メール文書を作成するための方法、システム、およびコンピュータ・プログラム(共同制作電子メール)
KR20110000655A (ko) * 2008-03-14 2011-01-04 마이크로소프트 코포레이션 웹-기반 다중사용자 협업
KR101169642B1 (ko) * 2011-11-01 2012-08-03 주식회사 한글과컴퓨터 WebDAV 프로토콜 기반의 문서 편집 장치 및 방법
KR20140092831A (ko) * 2011-11-09 2014-07-24 마이크로소프트 코포레이션 문서 협업 기법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8434002B1 (en) * 2011-10-17 2013-04-30 Google Inc. Systems and methods for collaborative editing of elements in a presentation document
US20130191451A1 (en) * 2012-01-19 2013-07-25 Microsoft Corporation Presence-based Synchronization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007501969A (ja) * 2003-08-07 2007-02-01 インターナショナル・ビジネス・マシーンズ・コーポレーション 共同制作電子メール文書を作成するための方法、システム、およびコンピュータ・プログラム(共同制作電子メール)
KR20060047218A (ko) * 2004-04-20 2006-05-18 마이크로소프트 코포레이션 복수의 컴퓨터 시스템을 통해 전자 문서를 거의 실시간으로공동 작업 가능하게 하기 위한 방법, 시스템 및 장치
KR20110000655A (ko) * 2008-03-14 2011-01-04 마이크로소프트 코포레이션 웹-기반 다중사용자 협업
KR101169642B1 (ko) * 2011-11-01 2012-08-03 주식회사 한글과컴퓨터 WebDAV 프로토콜 기반의 문서 편집 장치 및 방법
KR20140092831A (ko) * 2011-11-09 2014-07-24 마이크로소프트 코포레이션 문서 협업 기법

Also Published As

Publication number Publication date
CN107924391A (zh) 2018-04-17
US20170134495A1 (en) 2017-05-11

Similar Documents

Publication Publication Date Title
WO2016171401A1 (ko) 공동 편집 문서를 공유하는 방법 및 장치
WO2015020471A1 (en) Method and apparatus for distributing data in hybrid cloud environment
WO2014010992A1 (ko) 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법
WO2018076889A1 (zh) 数据备份的方法、装置、***、存储介质及服务器
WO2013151374A1 (en) Method and system for transfering data between plurality of devices
WO2014107045A1 (en) Method of sharing contents by using personal cloud device, and electronic device and personal cloud system using the same
CN104247376A (zh) 云存储的文件上传方法、客户端、应用服务器及云存储***
WO2012124985A2 (en) Method and apparatus for synchronizing personal inforamtion
WO2020071809A1 (en) Method and apparatus for enhanced assertion management in cloud media processing
WO2014126335A1 (ko) 클라우드 컴퓨팅 기반의 데이터 관리 방법, 이를 위한 시스템 및 장치
WO2010147362A2 (en) Widget activation and communication method
WO2017034139A1 (en) Method and image forming apparatus for generating workflow of image forming job
WO2018076812A1 (zh) 数据请求的响应方法、装置、存储介质、服务器及***
WO2020116896A1 (ko) 미디어 콘텐트 처리를 관리하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
WO2009145499A2 (en) Method and apparatus for managing tokens for digital rights management
WO2018076829A1 (zh) 终端数据的处理方法、装置、***、存储介质及服务器
WO2018076873A1 (zh) 数据分享方法、装置、介质、电子设备及***
WO2019137217A1 (zh) 应用程序中的页面跳转方法、终端及存储介质
WO2014073902A1 (en) Method and apparatus for providing web service in wireless communication system
WO2018076869A1 (zh) 一种数据备份方法、装置、存储介质和电子设备
WO2013183944A1 (en) Apparatus and method for transmitting and receiving files in general purpose device
WO2016035979A1 (en) Method and system for controlling operation of image forming apparatus by using wearable device
WO2021141441A1 (ko) 스크래핑 기반 서비스 제공 방법 및 이를 수행하는 어플리케이션
WO2019117625A1 (en) Apparatus and method for sharing content
WO2019017549A1 (en) CONTENT TRANSMISSION USING A CLOUD SERVER

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 15027931

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16783335

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 15.03.2018)

122 Ep: pct application non-entry in european phase

Ref document number: 16783335

Country of ref document: EP

Kind code of ref document: A1