WO2016117783A1 - 파일 공유 시스템 및 그 방법 - Google Patents

파일 공유 시스템 및 그 방법 Download PDF

Info

Publication number
WO2016117783A1
WO2016117783A1 PCT/KR2015/008080 KR2015008080W WO2016117783A1 WO 2016117783 A1 WO2016117783 A1 WO 2016117783A1 KR 2015008080 W KR2015008080 W KR 2015008080W WO 2016117783 A1 WO2016117783 A1 WO 2016117783A1
Authority
WO
WIPO (PCT)
Prior art keywords
shared file
file
identifier
message
server
Prior art date
Application number
PCT/KR2015/008080
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
Application filed by 주식회사 악어스캔 filed Critical 주식회사 악어스캔
Priority to JP2017539026A priority Critical patent/JP6462138B2/ja
Publication of WO2016117783A1 publication Critical patent/WO2016117783A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/08Annexed information, e.g. attachments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Definitions

  • the present invention relates to a file sharing system and a method thereof. More specifically, the present invention relates to a system and a method for exchanging messages using a file identifier of a shared file and managing a version of the shared file.
  • CVS Concurrent Versions System
  • SVN Subversion
  • the present invention has been made in an effort to provide a file sharing system and method for transmitting / receiving a message regarding a shared file.
  • Another technical problem to be solved by the present invention is to provide a file sharing system and method for managing a version of a shared file among a plurality of users even if the file path or file name is different.
  • the file sharing system for solving the above technical problem, the message related to the shared file to one or more devices that have stored the shared file, the right to access the message related to the shared file It may include a server configured to transmit / receive.
  • a file sharing system for solving the technical problem, stores the shared file having at least one version and the identifier of the shared file, and the identifier of the shared file and the shared file from at least one device And a server configured to determine a version of the received shared file corresponding to the identifier of the shared file using the hash value and the modification time of the shared file.
  • a file sharing method wherein the shared file is stored in at least one device storing the shared file, the server having a right to access a message related to a shared file. And transmitting one or more messages related to.
  • a method of sharing a file comprising: storing, by a server, the shared file having at least one version and an identifier of a shared file; Receiving a shared file and an identifier of the shared file, and determining, by the server, a version of the received shared file corresponding to the identifier of the shared file using a hash value and a modification time of the shared file. can do.
  • a user message can be exchanged in real time using a file identifier of a shared file among a plurality of users sharing a specific file.
  • the user message can be exchanged without changing the contents of the file, other users sharing the file and sending and receiving the message through e-mail or instant messenger, etc. are not excluded in the conventional manner.
  • the version of the shared file is managed using the file identifier inserted in the metadata field of the shared file, even if each user sharing the file stores a file path or file name differently in his or her terminal according to each need, You can manage versions of shared files.
  • FIG. 1 is a view for explaining file sharing in an embodiment of the present invention.
  • FIG. 2 is a flowchart illustrating an operation of storing a user message received by a message management server in correspondence with a file identifier of a shared file in an embodiment of the present invention.
  • FIG. 3 is a diagram for explaining real time transmission of a user message received by a message management server to another user stored corresponding to a file identifier of a shared file in an embodiment of the present invention.
  • FIG. 4 is a diagram for explaining that a user of another terminal storing a shared file inquires a user message stored in correspondence with a file identifier of a shared file to a message management server in an embodiment of the present invention.
  • FIG. 5 is a diagram for explaining a file identifier generation of a shared file, an authentication key generation of a shared file, and inserting the authentication key and the file identifier into a shared file in some embodiments of the present disclosure.
  • 6A to 6C are diagrams for describing inserting an authentication key of a shared file and a file identifier of a shared file into a shared file in some embodiments of the present disclosure.
  • FIG. 7 is a flowchart illustrating an operation of storing a shared file received by a message management server in correspondence with a file identifier of a shared file in an embodiment of the present invention.
  • FIG. 8 illustrates an embodiment of storing a shared file received by a message management server and transmitting a system message regarding registration of a shared file to another user stored in correspondence with a file identifier of the shared file in real time. It is a figure for following.
  • FIG. 9 is a diagram for explaining that a user of another terminal storing a shared file inquires a file version of the shared file stored in correspondence with the file identifier of the shared file to the message management server according to an embodiment of the present invention.
  • FIG. 10 is a diagram for explaining an example in which each terminal displays an image indicating a file version of a shared file owned by each terminal by superimposing it on an icon of the shared file.
  • FIG. 11 is a diagram for explaining downloading a specific version of a shared file stored in correspondence with a file identifier of a shared file to a message management server according to an embodiment of the present invention.
  • FIG. 12 is a diagram for describing providing a user menu differently according to a file version of a shared file in one embodiment of the present invention.
  • FIG. 13 is a diagram for describing a user UI for inputting and inquiring a user message regarding a shared file, which is used in an embodiment of the present invention.
  • FIG. 14 is a hardware configuration diagram of a message management server used in one embodiment of the present invention.
  • 15 is a conceptual diagram illustrating a file sharing system according to an embodiment of the present invention.
  • FIG. 1 is a view for explaining file sharing in an embodiment of the present invention.
  • the user of the first terminal 101a can freely transfer a specific file he has to the user of the second terminal 101b through e-mail, USB, FTP, or a file sharing service.
  • the user of the second terminal 101b that has received the shared file from the user of the first terminal 101a may change the file path or file name and store the file as needed.
  • the user of the first terminal 101a has delivered the "monthly business report.docx" file which he has to the user of the second terminal 101b, and the user of the second terminal 101b Save the file with the file name "2015.04 report.docx".
  • the same file can be recognized by using the file identifier inserted in the shared file.
  • the description of the file identifier of the shared file and the insertion of the file identifier into the shared file will be described in detail with reference to FIGS. 6A to 6C.
  • users with the shared file can send and receive messages in real time. It may have a separate user front-end to send and receive messages about the shared file, but may be integrated with the file manager of the operating system of each terminal for intuitive and convenient use. For example, you can provide the ability to send and receive messages via the "Explorer” in the Windows operating system or the "User” menu for shared files in the "Finder" in the Mac operating system.
  • a user of the first terminal 101a may select a shared file in the window explorer 103a and activate a context menu by right-clicking the mouse.
  • selecting the menu to paste the message, and enter the message "Please review the work report content" to send to the user of the second terminal 101b the message is sent to the user of the second terminal 101b having the shared file.
  • the user of the second terminal 101b selects a shared file in the window explorer 103b, clicks a message pasting menu, and inputs a message, "Apr. 2015 sales volume needs to be corrected.”
  • the message is sent to the user of the first terminal 101a having the file.
  • the file manager provided by the operating system can be used to easily manage the file version of the shared file.
  • the file manager provided by the operating system can be used to easily manage the file version of the shared file.
  • the file version of the shared file can be managed There is this.
  • File version management of the shared file in which the file identifier is inserted will be described in detail with reference to FIGS. 7 to 11.
  • FIG. 2 is a flowchart illustrating an operation of storing a user message received by a message management server in correspondence with a file identifier of a shared file in an embodiment of the present invention.
  • an authentication message of a first terminal, a file identifier of a shared file, and a user message regarding a shared file are received from the first terminal (S1100).
  • the first terminal is a terminal for transmitting a user message about a shared file to a message management server, and has a storage capable of storing a shared file such as a personal computer (PC), a smart phone, and the like.
  • the authentication information of the first terminal and the file identifier of the shared file will be described in detail later with reference to FIG. 5.
  • the user message related to the shared file is mainly a text that the user of the first terminal wants to transmit with respect to the shared file, but is not limited thereto.
  • the message management server may receive a user message regarding authentication information, a file identifier of a shared file, and a shared file of the first terminal through a mobile communication or a wired or wireless network.
  • the authentication of the first terminal is performed using the authentication information of the first terminal (S1200).
  • the authentication information of the first terminal may be generated by a hash function that uses the authentication key of the shared file and the file identifier of the shared file as seed values.
  • the message management server may check whether the user message is received from the terminal having the right authority by using the authentication information of the first terminal.
  • the user message is stored in correspondence with the file identifier of the shared file (S1300). Since the user message is stored in correspondence with the file identifier of the shared file, the message management server can send the user message to another user. In addition, a user of another terminal storing the shared file may also query the user message using the file identifier of the shared file. This will be described in detail with reference to FIGS. 3 to 4.
  • FIG. 3 is a diagram for explaining real time transmission of a user message received by a message management server to another user stored corresponding to a file identifier of a shared file in an embodiment of the present invention.
  • the message management server 10 stores the user message received from the first terminal 101a in correspondence with the file identifier of the shared file (S1300). Thereafter, another user stored in correspondence with the file identifier of the shared file is searched for (S1400). The other user is a user of another terminal that stores the same shared file as the first terminal 101a, and the device identifier of the other user matches the file identifier of the shared file in advance and is stored in the message management server 10. Storage of the device identifier of the other terminal in correspondence with the file identifier of the shared file will be described in detail with reference to FIG. 4.
  • the message management server 10 transmits a user message to each terminal corresponding to the retrieved device identifier (S1500).
  • the user of the second terminal 101b is also searched as a user having the same shared file as the first terminal 101a, and the message management server 10 receives the message from the first terminal 101a.
  • a user message about one shared file is sent to the second terminal 101b.
  • a user message may be exchanged in real time using a file identifier of a shared file among a plurality of users sharing a file.
  • FIG. 4 is a diagram for explaining that a user of another terminal storing a shared file inquires a user message stored in correspondence with a file identifier of a shared file to a message management server in an embodiment of the present invention.
  • the user message received from the first terminal 101a is automatically transmitted to another user who has stored the shared file by the message management server 10 (S1500).
  • the message management server 10 may receive a message inquiry request and transmit a user message stored corresponding to the shared file identifier in response.
  • an authentication information of the second terminal, a file identifier of the shared file, and a message inquiry request are received from the second terminal 101b to inquire a user message regarding the shared file from the message management server 10 (S1600).
  • authentication of the second terminal 101b is performed using the authentication information of the second terminal (S1700).
  • the authentication information of the second terminal 101b and the authentication of the second terminal 101b may be performed by performing authentication of the first terminal 101a and the authentication of the first terminal 101a described with reference to FIG. 2. Same as the process.
  • the user message stored corresponding to the file identifier of the shared file is searched for (S1800).
  • the retrieved user message is transmitted to the second terminal 101b (S1900).
  • the message inquiry request may be automatically sent to the message management server 10. Even if a user of the second terminal 101b does not separately transmit a message inquiry request to the message management server 10, the user message stored in correspondence with the file identifier of the shared file may be inquired only by executing the shared file. Through this, even when the user of the first terminal 101a transmits the user message, even if the second terminal 101b cannot receive the user message in real time due to offline or the like, the message is searched with the execution of the shared file later. By sending the request automatically, a user message can be received. Furthermore, the message inquiry request may be transmitted when not only the second terminal 101b activates the shared file but also when the operating system of the second terminal 101b is started.
  • the transmitting of the retrieved user message to the second terminal 101b may include storing the device identifier of the second terminal 101b in correspondence with the shared file identifier. Can be. If the second terminal 101b is a terminal storing the shared file but the device identifier of the terminal is not yet stored corresponding to the shared file identifier, the user terminal may receive a user message in real time through a message inquiry request. Can be.
  • FIG. 5 is a diagram for explaining a file identifier generation of a shared file, an authentication key generation of a shared file, and inserting the authentication key and the file identifier into a shared file in some embodiments of the present disclosure.
  • the file identifier of the shared file Since the message is exchanged and versioned using the file identifier of the shared file, the file identifier of the shared file must have a globally unique value within the message management server 10 and each terminal. Therefore, the shared file identifier is generally subjected to a process of being generated and assigned by the message management server 10. That is, a file identifier generation request for a shared file is received from the first terminal 101a to first transmit a user message regarding a specific shared file to the message management server 10 (S1110), and the message management server 10 After generating a file identifier of a globally unique shared file (S1120), the file identifier of the generated shared file is transmitted to the first terminal 101a (S1130).
  • the step of generating a file identifier of the shared file is sufficient for the first time, and after that, the user may send or receive a user message or request a message inquiry by using the generated file identifier of the shared file.
  • a process of generating a file identifier of the shared file may be performed in each terminal.
  • a file identifier of a shared file may be generated by combining a device identifier of each terminal and a value of a linear counter managed in each terminal.
  • the first terminal 101a which intends to first transmit a user message about the shared file to the message management server 10, may generate an authentication key of the shared file (S1140).
  • the first terminal 101a may generate authentication information by a hash function using the authentication key as a seed value of the authentication key and the shared file identifier (S1150).
  • the hash function collectively refers to an algorithm that can map data of variable length, ie, seeds, to some fixed length of data.
  • the operation result of the hash function is mapped fixed-length data, called hash values, hash codes, hash sums, check sums, hashes, and the like.
  • the hash function is a one-way function that is difficult to recalculate from the results derived from the seed.
  • the message management server 10 performs authentication for each terminal by using the authentication information generated by the hash function whose seed key is the authentication key and the file identifier of the shared file, and performs a user message transmission or message inquiry request. Can be.
  • the authentication information and the file identifier of the shared file are essential parameters for all transactions occurring through the shared file. Therefore, the user of each terminal storing the shared file must have the authentication information and the file identifier of the shared file.
  • the authentication information and the file identifier of the shared file may be transferred separately from the transfer of the shared file, but it is preferable to be delivered with the shared file in terms of convenience.
  • it is preferable in terms of security to transmit an authentication key together with a shared file that can generate authentication information, rather than directly transmitting the authentication information.
  • the first terminal 101a to first transmit a user message about the shared file to the message management server 10 may have a step of inserting an authentication key of the shared file and a file identifier of the shared file into the shared file (S1160). . Inserting the file identifier into the shared file will be described in detail with reference to FIGS. 6A to 6C.
  • the first terminal 101a may encrypt the user message using the authentication key of the shared file (S1170) and transmit the encrypted user message to the message management server 10. (S1100). That is, when the first terminal 101a for transmitting a user message encrypts the user message using the authentication key inserted into the shared file and transmits the user message to the message management server 10, the encrypted message is transmitted to the message management server 10. The message is saved.
  • the second terminal 101b receiving the encrypted user message from the message management server 10 may extract the authentication key inserted into the shared file to decrypt the user message.
  • the encrypted message is stored in the message management server 10 to enhance security, and each terminal having a shared file can encrypt and decrypt the user message using an authentication key inserted in the shared file. have.
  • 6A to 6C are diagrams for describing inserting an authentication key of a shared file and a file identifier of a shared file into a shared file in some embodiments of the present disclosure.
  • the first terminal 101a may change the file name of the shared file to include an authentication key of the shared file and a file identifier of the shared file (S1160).
  • a shared file whose original file name is "2015 closing report.docx” may be changed to a file name such as "2015 closing report #authentication key @ file identifier # .docx".
  • the authentication key of the shared file and the file identifier of the shared file may be inserted into the metadata field of the shared file (S1160).
  • document file formats such as PPT, DOC, XLS, image file formats such as JPEG and TIFF, and music file formats such as MP3 and MP4 may be used to write various additional information such as attributes, EXIF, ID3, etc. It has a metadata field called etc.
  • the authentication key and the file identifier are inserted into the metadata field, the authentication key and the file identifier are not directly exposed to the user as compared to the insertion into the file name.
  • the authentication key and file identifier of the shared file are inserted into the metadata field 1161 of the file.
  • the authentication key of the shared file and the file identifier of the shared file may be inserted into the header or footer and combined with the original shared file (S1160). That is, a new shared-only format file is created that combines a header or footer with the shared file. As such, combining a header or footer containing an authentication key and a file identifier with the original shared file to create a new format file can provide more security than inserting the authentication key and file identifier into a metadata field.
  • the file system filter driver provided by the operating system may be configured to allow an application connected to the original shared file to access the original shared file except the header and the footer in the file of the new shared format.
  • the authentication key and file identifier 1163 of the shared file are inserted into the file header 1167 of the share-only format, and the original shared file is inserted into the body 1165 of the share-only format file.
  • the user can access the file in the share-only format using an application connected to the original shared file through the file filter driver 1169 of the operating system.
  • the shared file in which the authentication key of the shared file and the file identifier of the shared file are inserted is transferred to another user, the other user who has received the shared file does not need to generate the authentication key again or request to generate the file identifier. Instead, the authentication key and the file identifier inserted into the shared file can be extracted to send and receive a user message about the shared file or to request a message inquiry.
  • the method of inserting the authentication key and the file identifier into the file name of the shared file or the metadata field of the shared file does not change the contents of the shared file. In other words, if the authentication key or the file identifier is inserted without changing the contents of the file, it does not exclude other users who share the file and send and receive the message through e-mail or instant messenger.
  • the method of inserting the authentication key and the file identifier into the metadata field of the shared file or the file header or the footer of a separate share-only format enhances security in that the authentication key and the file identifier are not exposed to the user. There is this.
  • FIG. 7 is a flowchart illustrating an operation of storing a shared file received by a message management server in correspondence with a file identifier of a shared file in an embodiment of the present invention.
  • an authentication information of the first terminal, a file identifier of the shared file, and a shared file are received from the first terminal to register the shared file in the message manager server (S2100).
  • authentication of the first terminal is performed using the authentication information of the first terminal (S2200).
  • the shared file is stored in correspondence with the file identifier of the shared file (S2300).
  • the authentication information of the first terminal and the file identifier of the shared file are the same as those described with reference to FIGS. 2 to 5.
  • file version management of the shared file using the file identifier is possible. This will be described in detail with reference to FIG. 9.
  • the file identifier of the shared file is inserted in the file name of the shared file or the metadata field of the shared file, the authentication information of the first terminal, the file identifier of the shared file, and the authentication information of the first terminal instead of receiving the shared file.
  • a file identifier may be extracted from the shared file, and the shared file may be stored in correspondence with the extracted file identifier.
  • FIG. 8 illustrates an embodiment of storing a shared file received by a message management server and transmitting a system message regarding registration of a shared file to another user stored in correspondence with a file identifier of the shared file in real time. It is a figure for following.
  • a user message is transmitted to a user of each terminal storing the shared file in real time using the file identifier of the shared file.
  • the message management server 10 may transmit not only user messages but also system messages corresponding to the file identifiers of the shared files and transmitted to each user.
  • the message management server 10 stores the shared file received from the first terminal 101a in correspondence with the file identifier of the shared file (S2300), and searches for another user stored corresponding to the file identifier of the shared file (S2400). .
  • the message management server 10 transmits a system message to each terminal corresponding to the retrieved device identifier (S2500).
  • the system message is a message generated by the message management server 10 regarding the registration of the shared file. For example, a system message such as "OOO user registered the OOO shared file on XX date XX day XX hour XX minute XX second 2015" can be automatically generated and sent to the user of each terminal that saved the shared file. Can be. Through this, information about the update of the shared file can be easily guided to the user of each terminal storing the shared file.
  • the message management server 10 may not only store the received shared file but also manage a file version of the shared file based on the hash value and the modification date and time of the shared file. That is, when the message storage server 10 receives the shared file, the message storage server 10 may compare the hash value and the modified date and time of the received shared file with the hash value and the modified date and time of the pre-stored shared file to determine whether the file is new or already stored. have. If the received shared file is a new file, the file version of the received shared file may be determined and the received shared file may be stored in the message storage server 10. Through this, the various versions of the shared file stored corresponding to the file identifier of the shared file can be inquired for each version.
  • the file version of the determined shared file may be inserted into the received shared file, and the shared file in which the file version is inserted may be stored in the message management server 10.
  • the file version of the shared file may be generated by using a counter value that increases linearly for each shared file, and the file version of the shared file may be inserted into the metadata field of the shared file.
  • the version difference between the shared file stored in the terminal and the latest version of the shared file stored in the server is numbered in an icon according to an embodiment of the present invention. In addition, it can also reduce the burden on the server.
  • FIG. 9 is a diagram for explaining that a user of another terminal storing a shared file inquires a file version of the shared file stored in correspondence with the file identifier of the shared file to the message management server according to an embodiment of the present invention.
  • an authentication information of the second terminal, a file identifier of the shared file, and a file version inquiry request are received from the second terminal 101b to inquire the file version of the shared file (S2600).
  • the authentication of the second terminal 101b is performed using the authentication information of the second terminal (S2700).
  • the shared file stored in correspondence with the file identifier of the shared file is searched (S2800).
  • the file version of the retrieved shared file is transmitted to the second terminal 101b (S2900).
  • the file version inquiry request can be automatically transmitted to the message management server 10. Even if the user of the second terminal 101b does not separately send a file version inquiry request to the message management server 10, the file version of the shared file stored in correspondence with the file identifier of the shared file is queried simply by executing the shared file. can do. Furthermore, the file version inquiry request may be transmitted when not only the second terminal 101b activates the shared file but also when the operating system of the second terminal 101b starts.
  • the second terminal 101b may determine the file version of the shared file held by the second terminal 101b by using the file version of the shared file received from the message management server 10.
  • the file version of the shared file held by the user can be inserted into the shared file held by the user.
  • the file version of the shared file owned by the user may be visually displayed through an icon or the like.
  • FIG. 10 is a diagram for explaining that each terminal displays an image indicating a version of a shared file owned by each terminal by superimposing an icon on the shared file.
  • the shared file held by the terminal may be indicated by an S (save) display on the icon.
  • the icon may be represented by N (new). If the shared file held by the terminal is a version older than the shared file stored in the message management server 10, the difference between the versions may be represented by a number on the icon. If the shared file held by the terminal is newer than the shared file stored in the message management server 10, that is, the shared file is modified but not yet stored in the message management server 10, M (modify) is displayed on the icon. It can be represented as.
  • step A a user of the first terminal 101a has a file identifier of a shared file of “10928” and generates a shared file having a content of “BBB”. Since it is not yet stored in the message management server 10, the icon is displayed in the icon as "S”. Then, in step B, if the user of the first terminal 101a delivers the shared file to the second terminal 101b user and also registers the message management server 10, the first terminal 101a and the second terminal 101b.
  • step C if the user of the first terminal 101a changes the contents of the shared file to "CCC" in step C, the first terminal 101a Since the file has been modified, it is displayed on the icon as "M.” Then, in step D, when the user of the first terminal 101a registers the shared file with the message management server 10, the first terminal 101a is updated. Since the file has a version, "N" is displayed on the icon, but since the second terminal 101b has the file of the old version, "1" indicating the version difference is displayed on the icon. The user of (101b) has the latest version of the file on the message management server (10). When downloading, the second terminal (101b) is shown in Figure as "N" icon.
  • the user of the first terminal 101a needs to deliver a shared file of "10928" to the user of the second terminal 101b only once. 2 It is not necessary to re-deliver the file to the user of the terminal 101b. Instead of re-delivering the changed file by the user of the first terminal 101a, the user of the second terminal 101b may download the latest version of the file from the message management server 10 by itself. This allows you to easily manage file versions and share the latest version of files.
  • FIG. 11 is a diagram for explaining downloading a specific version of a shared file stored in correspondence with a file identifier of a shared file to a message management server according to an embodiment of the present invention.
  • the message management server 10 may additionally support to backup using the version information or to update to the latest shared file.
  • an authentication information, a file identifier of a shared file, and a specific version download request are received from a second terminal 101b to download a specific version of a shared file from the message management server 10 (S3600).
  • the authentication of the second terminal 101b is performed using the authentication information of the second terminal (S3700).
  • a specific version of the shared file stored corresponding to the file identifier of the shared file is searched for (S3800).
  • the specific version of the searched shared file is transmitted to the second terminal 101b (S3900).
  • the file version can be updated and updated.
  • FIG. 12 is a diagram for describing providing a user menu differently according to a version of a shared file in an embodiment of the present invention.
  • the functions such as transmission of user messages, message inquiry request, registration of shared file, file version inquiry request, and specific version download request may have a separate user front end. It can also be integrated with the operating system's file manager.
  • the user of the first terminal 101a runs a searcher in the Windows operating system of the first terminal 101a that stores the shared file and searches for a path in which the shared file is stored.
  • the explorer can display an icon pointing to a shared file in the corresponding path, and provide various functions related to the shared file through the context menu provided by right-clicking the icon.
  • a separate UI for entering a user message is provided.
  • a separate UI for inputting a user message will be similar to a message input window of a general instant messenger.
  • the first terminal 101a receives the message content through the UI and transmits the received message to the message management server.
  • the message management server may transmit the received message content to each terminal storing the shared file.
  • an icon of "N" is displayed with [Paste message], [Query message], and [Query file version].
  • a menu may be provided.
  • a menu such as [Paste Message], [Query Message], [Register Latest File], and [Query File Version] may be provided along with an icon of "M”.
  • the icon of "1” indicating the version difference of the shared file with [Paste message], [Inquire message], [Download latest file] and A menu called [Query file version] may be provided.
  • FIG. 13 is a diagram for describing a user UI for inputting and inquiring a user message regarding a shared file, which is used in an embodiment of the present invention.
  • the user message input and inquiry UI 310 regarding the shared file may be similar to the message input UI of the instant messenger.
  • information about the file may be provided, such as creation date and time of creation, person recently registered and date of registration, file size, and simple content of the file.
  • a file upload and download function may be provided as a button.
  • a message exchanged between users having a shared file may be provided, and an input window may be provided at the bottom to input a user message.
  • FIG. 14 is a hardware configuration diagram of a message management server used in one embodiment of the present invention.
  • the message management server 10 may include one or more processors 510, a memory 520, a storage 560, and an interface 570.
  • the processor 510, the memory 520, the storage 560, and the interface 570 transmit and receive data through the system bus 550.
  • the processor 510 executes a computer program loaded in the memory 520, and the memory 520 loads the computer program in the storage 560.
  • the computer program may include a message receiving operation 521, an authentication operation 523, and a message storing operation 525.
  • the message receiving operation 521 may receive the authentication information of the first terminal 101a, the identifier of the shared file, and the user message regarding the shared file through the network 570, and load the message into the memory 520.
  • the authentication operation 523 may perform authentication on the first terminal using the authentication information of the first terminal, and generate a result.
  • the message storing operation 525 may store the user message by matching the identifier of the shared file only when the authentication result generated by the authentication operation 523 is successful.
  • the matched data may be stored as the shared file data 561 and the user message data 563 of the storage 560 through the system bus 550, respectively.
  • the message management server 10 provides an interface for inquiring the shared file data 561 and the user message data 563 through the network interface 570.
  • Each component of FIG. 14 may refer to software or hardware such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC).
  • FPGA field programmable gate array
  • ASIC application-specific integrated circuit
  • the components are not limited to software or hardware, and may be configured to be in an addressable storage medium, or may be configured to execute one or more processors.
  • the functions provided in the above components may be implemented by more detailed components, or may be implemented as one component that performs a specific function by combining a plurality of components.
  • 15 is a conceptual diagram illustrating a file sharing system according to an embodiment of the present invention.
  • the file sharing system may include a message management server 10, a first terminal 101a, and a second terminal 101b.
  • the message management server 10 may include a shared file DB 561 for storing a shared file and a message DB 563 for storing a message.
  • a message receiving unit 521 for receiving a message related to a shared file from each terminal
  • a message authenticating unit 523 for authenticating whether the received message is from a legitimate user, and sharing the received message only when authentication is successful.
  • It may include a message processing unit 525 for transmitting to another user having a file.
  • it may include a file version management unit 527 for managing the version of the shared file received from each terminal and a shared file storage unit 529 for storing the shared file in the shared file DB 561 for each version.
  • Each terminal receives a message from a user and sends a message to the message management server 10, a message transmitter 621, a message receiver 623 for receiving a message transmitted by a user of another terminal from the message management server 10, and message management. It may include a shared file management unit 627 to download the latest version of the file from the server 10, or upload the modified file.

Landscapes

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

Abstract

본 발명의 일 태양에 따른 파일 공유 시스템은, 공유 파일에 관련된 메시지에 액세스할 수 있는 권한을 가진, 상기 공유 파일을 저장한 하나 이상의 기기에 상기 공유 파일에 관련된 메시지를 송/수신하도록 설정된 서버를 포함할 수 있다. 본 발명의 다른 태양에 따른 파일 공유 시스템은, 하나 이상의 버전 및 공유 파일의 식별자를 가지는 상기 공유 파일을 저장하고, 하나 이상의 기기로부터 상기 공유 파일 및 상기 공유 파일의 식별자를 수신하고, 상기 공유 파일의 해시값과 수정 시간을 이용하여 상기 공유 파일의 식별자에 대응하는 상기 수신된 공유 파일의 버전을 결정하도록 설정된 서버를 포함할 수 있다.

Description

파일 공유 시스템 및 그 방법
본 발명은 파일 공유 시스템 및 그 방법에 관한 것이다. 보다 자세하게는, 공유 파일의 파일 식별자를 이용하여 메시지를 주고 받고, 공유 파일의 버전을 관리하는 시스템 및 그 방법에 관한 것이다.
인스턴트 메시지를 주고 받는 다자간 메시지 공유 서비스가 있으나, 대부분 메시지 중심의 서비스이기 때문에, 파일 공유는 부가적인 기능에 그친다. 즉, 실시간으로 메시지를 주고 받고, 간단한 파일을 공유하기에는 편리하지만, 특정 파일에 관한 메시지를 주고 받거나 파일의 버전을 관리하는 용도로는 불편하다.
한편, 권한을 가진 다수의 사용자들이 파일을 업로드 하고 다운로드 하는 파일 공유 서비스도 있으나, 대부분 파일 중심의 서비스이기 때문에, 특정 파일에 관한 메시지를 주고 받기 위해서는 별도의 채널을 이용하여야 한다. 즉, 이메일이나 인스턴트 메신저 등을 통하여, 파일의 등록이나 변경을 별도로 알려야 하고, 특정 파일에 관한 메시지를 별도로 주고 받아야 하는 불편이 있다.
또한, 다수의 사용자 간에 파일의 버전을 관리하기 위하여 특화된 CVS(Concurrent Versions System)나 SVN(Subversion)과 같은 서비스도 있으나, 대부분 파일의 버전을 관리하기 위하여 파일 경로나 파일명에 대한 제약이 따른다. 즉, 동일한 내용의 파일이 사용자에 따라 파일 경로나 파일명이 다르게 저장되어 있더라도, 동일한 파일로 인식하고 파일의 버전을 관리할 수 있는 기능은 없다.
그렇기 때문에, 대부분의 사용자는 파일명에 날짜나 버전 정보를 삽입하고, 이메일이나 인스턴트 메신저 등을 통하여 파일을 공유한다. 그리고, 이메일이나 인스턴트 메신저 등을 통하여 파일에 관한 메시지를 주고 받는다. 그러다가, 파일이 수정되는 경우에, 다시 파일명에 날짜나 버전 정보를 변경하여 삽입하고, 파일을 공유하는 불편을 겪고 있다.
본 발명이 해결하고자 하는 기술적 과제는, 공유 파일에 관한 메시지를 송/수신 하는 파일 공유 시스템 및 그 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 파일 경로나 파일명이 다르더라도, 다수의 사용자 간에 공유 파일의 버전을 관리하는 파일 공유 시스템 및 그 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 태양에 따른 파일 공유 시스템은, 공유 파일에 관련된 메시지에 액세스할 수 있는 권한을 가진, 상기 공유 파일을 저장한 하나 이상의 기기에 상기 공유 파일에 관련된 메시지를 송/수신하도록 설정된 서버를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 태양에 따른 파일 공유 시스템은, 하나 이상의 버전 및 공유 파일의 식별자를 가지는 상기 공유 파일을 저장하고, 하나 이상의 기기로부터 상기 공유 파일 및 상기 공유 파일의 식별자를 수신하고, 상기 공유 파일의 해시값과 수정 시간을 이용하여 상기 공유 파일의 식별자에 대응하는 상기 수신된 공유 파일의 버전을 결정하도록 설정된 서버를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 태양에 따른 파일 공유 방법은, 서버가, 공유 파일에 관련된 메시지에 액세스할 수 있는 권한을 가진, 상기 공유 파일을 저장한 하나 이상의 기기에 상기 공유 파일에 관련된 하나 이상의 메시지를 송신하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 태양에 따른 파일 공유 방법은, 서버가, 하나 이상의 버전 및 공유 파일의 식별자를 가지는 상기 공유 파일을 저장하는 단계와 상기 서버가, 하나 이상의 기기로부터 상기 공유 파일 및 상기 공유 파일의 식별자를 수신하는 단계 및 상기 서버가, 상기 공유 파일의 해시값과 수정 시간을 이용하여 상기 공유 파일의 식별자에 대응하는 상기 수신된 공유 파일의 버전을 결정하는 단계를 포함할 수 있다.
상기와 같은 본 발명에 따르면, 특정 파일을 공유하고 있는 다수의 사용자들 간에 공유 파일의 파일 식별자를 이용하여 실시간으로 사용자 메시지를 주고 받을 수 있다. 특히, 파일의 내용을 변경하지 않고도 사용자 메시지를 주고 받을 수 있기 때문에, 기존의 방법대로 이메일이나 인스턴트 메신저 등을 통하여 파일을 공유하고 메시지를 주고 받는 다른 사용자를 배제하지 않는다.
또한, 공유 파일의 메타 데이터 필드에 삽입된 파일 식별자를 이용하여 공유 파일의 버전을 관리하기 때문에, 파일을 공유하고 있는 각 사용자들이 각각의 필요에 따라 자신의 단말에 파일 경로나 파일명을 다르게 저장하더라도 공유 파일의 버전을 관리할 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
도 1은 본 발명의 일 실시예에서, 파일을 공유하는 것을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에서, 메시지 관리 서버가 수신한 사용자 메시지를 공유 파일의 파일 식별자에 대응시켜 저장하는 것을 설명하기 위한 순서도이다.
도 3은 본 발명의 일 실시예에서, 메시지 관리 서버가 수신한 사용자 메시지를 공유 파일의 파일 식별자에 대응되어 저장된 다른 사용자에게 실시간으로 송신하는 것을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에서, 공유 파일을 저장하는 다른 단말의 사용자가 메시지 관리 서버에 공유 파일의 파일 식별자와 대응되어 저장된 사용자 메시지를 조회하는 것을 설명하기 위한 도면이다.
도 5는 본 발명의 몇몇 실시예들에서, 공유 파일의 파일 식별자 생성, 공유 파일의 인증키 생성 및 상기 인증키와 상기 파일 식별자를 공유 파일에 삽입하는 것을 설명하기 위한 도면이다.
도 6a 내지 도 6c는 본 발명의 몇몇 실시예들에서, 공유 파일의 인증키와 공유 파일의 파일 식별자를 공유 파일에 삽입하는 것을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에서, 메시지 관리 서버가 수신한 공유 파일을 공유 파일의 파일 식별자에 대응시켜 저장하는 것을 설명하기 위한 순서도이다.
도 8은 본 발명의 일 실시예에서, 메시지 관리 서버가 수신한 공유 파일을 저장하고, 공유 파일의 등록에 관한 시스템 메시지를 공유 파일의 파일 식별자에 대응되어 저장된 다른 사용자에게 실시간으로 송신하는 것을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에서, 공유 파일을 저장한 다른 단말의 사용자가 메시지 관리 서버에 공유 파일의 파일 식별자와 대응되어 저장된 공유 파일의 파일 버전을 조회하는 것을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에서, 각 단말이 자신이 보유한 공유 파일의 파일 버전을 가리키는 이미지를 공유 파일의 아이콘에 중첩시켜 표시하는 것을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에서, 메시지 관리 서버에 공유 파일의 파일 식별자와 대응되어 저장된 공유 파일의 특정 버전을 다운로드 하는 것을 설명하기 위한 도면이다.
도 12는 본 발명의 일 실시예에서, 공유 파일의 파일 버전에 따라 사용자 메뉴를 다르게 제공하는 것을 설명하기 위한 도면이다.
도 13은 본 발명의 일 실시예에서 사용되는, 공유 파일에 관한 사용자 메시지를 입력하고 조회하는 사용자 UI를 설명하기 위한 도면이다.
도 14는 본 발명의 일 실시예에서 사용되는, 메시지 관리 서버의 하드웨어 구성도이다.
도 15는 본 발명의 일 실시예에 따른 파일 공유 시스템을 예시한 개념도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명에 대하여 첨부된 도면에 따라 보다 상세히 설명한다.
도 1은 본 발명의 일 실시예에서, 파일을 공유하는 것을 설명하기 위한 도면이다.
제1 단말(101a)의 사용자는 자신이 가지고 있는 특정 파일을 제2 단말(101b)의 사용자에게 이메일이나, USB, FTP, 파일 공유 서비스 등을 통하여 자유롭게 전달할 수 있다. 또한, 제1 단말(101a)의 사용자로부터 공유 파일을 전달받은 제2 단말(101b)의 사용자는 해당 파일을 필요에 따라 파일 경로나 파일명을 변경하여 저장할 수 있다.
도 1을 참조하면, 제1 단말(101a)의 사용자는 자신이 가지고 있는"월간 업무 보고서.docx"파일을 제2 단말(101b)의 사용자에게 전달하였고, 제2 단말(101b)의 사용자는 해당 파일을 "2015.04 보고서.docx"라는 파일명으로 저장하였다. 이렇게 두 사용자가 동일한 파일을 서로 다른 경로와 파일명으로 저장하더라도, 공유 파일에 삽입된 파일 식별자를 이용하면 동일한 파일로 인식할 수 있다. 공유 파일의 파일 식별자에 대한 설명과, 파일 식별자를 공유 파일에 삽입하는 것에 대해서는 도 6a 내지 도 6c에서 자세히 살펴보기로 한다.
파일 식별자가 삽입된 공유 파일을 매개로 하여, 공유 파일을 가진 사용자들끼리 메시지를 실시간으로 주고 받을 수 있다. 공유 파일에 관한 메시지를 주고 받기 위해 별도의 사용자 프론트 엔드(front-end)를 가질 수도 있으나, 직관적으로 간편하게 사용할 수 있도록 각 단말의 운영체제의 파일 관리자와 통합되어 구동될 수도 있다. 예를 들면, 윈도우 운영체제의 "탐색기"나, 맥 운영체제의 "파인더"상에서 공유 파일에 관한 사용자 메뉴를 통해 메시지를 주고 받는 기능을 제공할 수 있다.
도 1을 참조하면, 제1 단말(101a)의 사용자는 윈도우 탐색기(103a)에서 공유 파일을 선택하고 마우스 우클릭을 통해서 컨텍스트 메뉴를 활성화 시킬 수 있다. 여기서, 메시지 붙이기를 메뉴를 선택하고, 제2 단말(101b)의 사용자에게 전하고 싶은 메시지 "업무 보고서 내용 검토해주세요."를 입력하면, 공유 파일을 가진 제2 단말(101b)의 사용자에게 메시지가 송신된다. 마찬가지로, 제2 단말(101b)의 사용자도 윈도우 탐색기(103b)에서 공유 파일을 선택하고, 메시지 붙이기 메뉴를 클릭하여, "2015년 04월 판매량의 수정이 필요합니다."라는 메시지를 입력하면, 공유 파일을 가진 제1 단말(101a)의 사용자에게 해당 메시지가 송신된다. 이처럼, 공유 파일을 가진 사용자 간에 운영체제에서 제공하는 파일 관리자를 이용하여, 간편하게 메시지를 주고 받음으로써, 이메일이나 인스턴트 메신저 등과 같은 별도의 채널을 이용하여 파일에 관한 메시지를 주고 받는 것보다 효과적인 의사 전달이 가능하다. 공유 파일을 가진 사용자 간에 실시간으로 메시지를 주고 받는 것에 대해서는 도 2 내지 도 5에서 자세히 살펴보기로 한다.
또한, 운영체제에서 제공하는 파일 관리자를 이용하여, 간편하게 공유 파일의 파일 버전을 관리할 수 있다. 특히, 공유 파일에 삽입된 파일 식별자를 이용하여 버전 관리를 함으로써, 각 단말의 사용자가 필요에 따라 공유 파일의 파일 경로나 파일 명을 다르게 저장하고 있더라도, 공유 파일의 파일 버전을 관리할 수 있는 장점이 있다. 파일 식별자가 삽입된 공유 파일의 파일 버전 관리에 대해서는 도 7 내지 도 11에서 자세히 살펴보기로 한다.
도 2는 본 발명의 일 실시예에서, 메시지 관리 서버가 수신한 사용자 메시지를 공유 파일의 파일 식별자에 대응시켜 저장하는 것을 설명하기 위한 순서도이다.
먼저, 제1 단말의 인증 정보, 공유 파일의 파일 식별자, 공유 파일에 관한 사용자 메시지를 제1 단말로부터 수신한다(S1100). 제1 단말은, 공유 파일에 관한 사용자 메시지를 메시지 관리 서버에 송신하려는 단말로써, PC(Personal Computer), 스마트 폰(Smart Phone) 등 공유 파일을 저장할 수 있는 스토리지를 가진 단말이다. 제1 단말의 인증 정보와 공유 파일의 파일 식별자에 대해서는 추후 도 5에서 자세히 설명하기로 한다. 공유 파일에 관한 사용자 메시지는 공유 파일에 관해 제1 단말의 사용자가 송신하고 싶은 메시지로서 텍스트가 주로 될 것이나, 이에 한정되는 것은 아니다. 일반적으로, 인스턴트 메신저 상에서 주고 받을 수 있는 이미지나 링크, 이모티콘과 같은 것도 사용자 메시지에 포함될 수 있다. 메시지 관리 서버는 이동통신, 유무선 네트워크 등을 통하여, 제1 단말의 인증 정보, 공유 파일의 파일 식별자, 공유 파일에 관한 사용자 메시지를 수신할 수 있다.
다음 단계로, 제1 단말의 인증 정보를 이용하여, 제1 단말에 대한 인증을 수행한다(S1200). 제1 단말의 인증 정보는 공유 파일의 인증키와 공유 파일의 파일 식별자를 시드값으로 하는 해시 함수에 의해 생성될 수 있다. 메시지 관리 서버는 제1 단말의 인증 정보를 이용하여, 정당한 권한을 가진 단말로부터 사용자 메시지가 수신되었는지 확인할 수 있다.
다음 단계로, 제1 단말에 대한 인증이 성공한 경우에 한하여, 사용자 메시지를 공유 파일의 파일 식별자에 대응시켜 저장한다(S1300). 사용자 메시지를 공유 파일의 파일 식별자에 대응시켜 저장하기 때문에, 메시지 관리 서버가 사용자 메시지를 다른 사용자에게 송신할 수 있다. 또한, 공유 파일을 저장한 다른 단말의 사용자도, 공유 파일의 파일 식별자를 이용하여 사용자 메시지를 조회할 수 있다. 이에 대해서는 도 3 내지 도 4에서 자세히 살펴보기로 한다.
도 3은 본 발명의 일 실시예에서, 메시지 관리 서버가 수신한 사용자 메시지를 공유 파일의 파일 식별자에 대응되어 저장된 다른 사용자에게 실시간으로 송신하는 것을 설명하기 위한 도면이다.
메시지 관리 서버(10)는 제1 단말(101a)로부터 수신한 사용자 메시지를 공유 파일의 파일 식별자에 대응시켜 저장한다(S1300). 그 후, 공유 파일의 파일 식별자에 대응되어 저장된 다른 사용자를 검색한다(S1400). 다른 사용자는 제1 단말(101a)과 같은 공유 파일을 저장한 다른 단말의 사용자로써, 사전에 다른 사용자의 기기 식별자가 공유 파일의 파일 식별자에 매칭되어 메시지 관리 서버(10)에 저장되어 있다. 다른 단말의 기기 식별자를 공유 파일의 파일 식별자에 대응시켜 저장하는 것에 대해서는 도 4에서 자세히 살펴보기로 한다.
다음 단계로, 메시지 관리 서버(10)는 검색된 기기 식별자에 상응하는 각 단말에 사용자 메시지를 송신한다(S1500). 도 3를 참고하면, 제2 단말(101b)의 사용자도 제1 단말(101a)과 같은 공유 파일을 가지고 있는 사용자로 검색이 되었고, 이에 메시지 관리 서버(10)는 제1 단말(101a)로부터 수신한 공유 파일에 관한 사용자 메시지를 제2 단말(101b)로 송신한다. 이를 통해서, 파일을 공유하고 있는 다수의 사용자들 간에 공유 파일의 파일 식별자를 이용하여, 실시간으로 사용자 메시지를 주고 받을 수 있다.
도 4는 본 발명의 일 실시예에서, 공유 파일을 저장하는 다른 단말의 사용자가 메시지 관리 서버에 공유 파일의 파일 식별자와 대응되어 저장된 사용자 메시지를 조회하는 것을 설명하기 위한 도면이다.
제1 단말(101a)로부터 수신한 사용자 메시지는 자동으로 메시지 관리 서버(10)에 의해서 공유 파일을 저장한 다른 사용자에게도 송신이 된다(S1500). 그러나 경우에 따라서는, 공유 파일을 저장하고 있는 단말임에도 아직 단말의 기기 식별자가 공유 파일 식별자에 대응되어 저장되지 않을 수도 있다. 또는, 단말에서 개별적으로 공유 파일 식별자에 대응되어 저장된 사용자 메시지를 조회하는 경우도 있다. 이런 경우를 대비하여, 메시지 관리 서버(10)는 메시지 조회 요청을 받고, 이에 대한 응답으로 공유 파일 식별자에 대응되어 저장된 사용자 메시지를 송신할 수 있다.
먼저, 공유 파일에 관한 사용자 메시지를 메시지 관리 서버(10)로부터 조회하려는 제2 단말(101b)로부터, 제2 단말의 인증 정보, 공유 파일의 파일 식별자 및 메시지 조회 요청을 수신한다(S1600). 다음 단계로, 제2 단말의 인증 정보를 이용하여, 제2 단말(101b)에 대한 인증을 수행한다(S1700).
제2 단말(101b)의 인증 정보 및 제2 단말(101b)에 대한 인증을 수행하는 과정은 도 2에서 설명한 제1 단말(101a)의 인증 정보 및 제1 단말(101a)에 대한 인증을 수행하는 과정과 동일하다.
다음 단계로, 제2 단말(101b)에 대한 인증이 성공한 경우에 한하여, 공유 파일의 파일 식별자에 대응되어 저장된 사용자 메시지를 검색한다(S1800). 다음 단계로, 메시지 조회 요청에 응답하여, 검색된 사용자 메시지를, 제2 단말(101b)로 송신한다(S1900). 이를 통해서, 파일을 공유하고 있는 다수의 사용자들 간에 실시간으로 사용자 메시지를 주고 받는 것뿐만 아니라, 이전에 주고 받은 사용자 메시지를 조회하여 볼 수도 있다.
본 발명의 일 실시예를 따르면, 제2 단말(101b)이 공유 파일을 활성화시키면, 메시지 조회 요청을 메시지 관리 서버(10)로 자동으로 송신할 수 있다. 제2 단말(101b)의 사용자가 별도로 메시지 조회 요청을 메시지 관리 서버(10)로 송신하지 않더라도, 공유 파일을 실행하는 것만으로도 공유 파일의 파일 식별자에 대응되어 저장된 사용자 메시지를 조회할 수 있다. 이를 통하여, 제1 단말(101a)의 사용자가 사용자 메시지를 송신할 때에, 제2 단말(101b)이 오프라인 등의 이유로 사용자 메시지를 실시간으로 수신할 수 없었더라도, 추후 공유 파일의 실행과 함께 메시지 조회 요청을 자동으로 송신함으로써, 사용자 메시지를 수신할 수 있다. 나아가, 제2 단말(101b)이 공유 파일을 활성화시키는 경우뿐만 아니라, 제2 단말(101b)의 운영체제가 시작되는 경우에 메시지 조회 요청을 송신할 수도 있다.
본 발명의 일 실시예를 따르면, 검색된 사용자 메시지를 제2 단말(101b)로 송신하는 단계(S1900)는, 제2 단말(101b)의 기기 식별자를 공유 파일 식별자에 대응시켜 저장하는 단계를 포함할 수 있다. 만약, 제2 단말(101b)이 공유 파일을 저장하고 있는 단말임에도 아직 단말의 기기 식별자가 공유 파일 식별자에 대응되어 저장되지 않는 경우라면, 메시지 조회 요청을 통해서, 추후에는 사용자 메시지를 실시간으로 수신할 수 있다.
도 5는 본 발명의 몇몇 실시예들에서, 공유 파일의 파일 식별자 생성, 공유 파일의 인증키 생성 및 상기 인증키와 상기 파일 식별자를 공유 파일에 삽입하는 것을 설명하기 위한 도면이다.
지금까지, 도 2 내지 도 3에서 사용자 메시지 송신을, 도 4에서 메시지 조회 요청을 살펴보았다. 지금부터는, 사용자 메시지 송신이나, 메시지 조회 요청에서 공통적으로 사용되는 각 단말의 인증 정보와 공유 파일의 파일 식별자를 생성하는 과정을 살펴보도록 한다.
공유 파일의 파일 식별자를 이용하여 메시지를 주고 받고, 버전 관리를 하기 때문에, 공유 파일의 파일 식별자는, 메시지 관리 서버(10) 및 각 단말 내에서 전역적으로 고유한 값을 가져야 한다. 그러므로, 공유 파일 식별자는, 일반적으로 메시지 관리 서버(10)에서 생성되고 할당되는 과정을 과정을 거치게 된다. 즉, 특정 공유 파일에 관한 사용자 메시지를 메시지 관리 서버(10)에 최초로 송신하려는 제1 단말(101a)로부터, 공유 파일에 대한 파일 식별자 생성 요청을 수신하고(S1110), 메시지 관리 서버(10)에서 전역적으로 고유한 공유 파일의 파일 식별자를 생성한 후(S1120), 생성된 공유 파일의 파일 식별자를 제1 단말(101a)로 송신한다(S1130). 공유 파일의 파일 식별자를 생성하는 단계는 최초 1회의 작업으로 충분하며, 그 이후에는 생성된 공유 파일의 파일 식별자를 이용하여 사용자 메시지를 주고 받거나, 메시지 조회 요청을 할 수 있다. 다만, 공유 파일의 파일 식별자가 가지는, 전역으로 고유한 특성이 보장될 수 있다면, 공유 파일의 파일 식별자를 생성하는 과정은 각 단말에서 수행될 수도 있다. 예를 들면, 각 단말의 기기 식별자와 각 단말 내에서 관리하는 선형 카운터의 값을 조합하여 공유 파일의 파일 식별자를 생성할 수도 있을 것이다.
또한, 공유 파일에 관한 사용자 메시지를 메시지 관리 서버(10)에 최초로 송신하려는 제1 단말(101a)은, 공유 파일의 인증키를 생성할 수도 있다(S1140). 제1 단말(101a)은, 인증키를 이용하여 인증키와 공유 파일 식별자를 시드값으로 하는 해시 함수에 의해 인증 정보를 생성할 수 있다(S1150). 여기서, 해시 함수는 가변 길이의 데이터, 즉 시드를 어떤 고정된 길이의 데이터로 상사(mapping)할 수 있는 알고리즘을 통칭한다. 해시 함수의 연산 결과는 매핑된 고정 길이의 데이터로서, 해시값, 해시 코드, 해시섬, 체크섬, 해시 등으로 불린다. 해시 함수는 시드에서 도출된 결과로부터 다시 시드를 산출하기 어려운 단방향의 함수이다.
메시지 관리 서버(10)는 인증키와 공유 파일의 파일 식별자를 시드값으로 하는 해시 함수에 의해 생성된 인증 정보를 이용하여, 각 단말에 대한 인증을 수행하고, 사용자 메시지 송신이나 메시지 조회 요청을 할 수 있다. 즉, 인증 정보와 공유 파일의 파일 식별자는 공유 파일을 매개로 하여 발생하는 모든 트랜잭션에 필수적인 파라미터이다. 그러므로, 공유 파일을 저장한 각 단말의 사용자는 인증 정보와 공유 파일의 파일 식별자를 가지고 있어야 한다. 물론 공유 파일의 전달과 별도로 인증 정보와 공유 파일의 파일 식별자를 전달할 수도 있으나, 그보다는 공유 파일과 함께 전달되는 것이 편의성 측면에서 바람직하다. 또한, 인증 정보를 직접 전달하기 보다, 인증 정보를 생성할 수 있는 인증키를 공유 파일과 함께 전달하는 것이 보안성 측면에서 바람직하다.
공유 파일에 관한 사용자 메시지를 메시지 관리 서버(10)에 최초로 송신하려는 제1 단말(101a)은, 공유 파일의 인증키와 공유 파일의 파일 식별자를 공유 파일에 삽입하는 단계를 가질 수 있다(S1160). 파일 식별자를 공유 파일에 삽입하는 것에 대해서는 도 6a 내지 도 6c에서 자세히 살펴보기로 한다.
본 발명의 일 실시예를 따르면, 제1 단말(101a)는 공유 파일의 인증키를 이용하여, 사용자 메시지를 암호화하고(S1170), 메시지 관리 서버(10)로 암호화된 사용자 메시지를 송신할 수 있다(S1100). 즉, 사용자 메시지를 송신하기 위한 제1 단말(101a)에서 공유 파일에 삽입된 인증키를 이용하여 사용자 메시지를 암호화해서 메시지 관리 서버(10)에 송신하면, 메시지 관리 서버(10)에는 암호화된 사용자 메시지가 저장된다. 그리고 암호화된 사용자 메시지를 메시지 관리 서버(10)로부터 수신한 제2 단말(101b)에서는 공유 파일에 삽입된 인증키를 추출하여 사용자 메시지를 복호화할 수 있다. 이를 통해서, 메시지 관리 서버(10)에는 암호화된 사용자 메시지가 저장되어 보안성을 강화할 수 있고, 공유 파일을 가진 각 단말은, 공유 파일에 삽입된 인증키를 이용하여 사용자 메시지를 암호화 및 복호화 할 수 있다.
도 6a 내지 도 6c는 본 발명의 몇몇 실시예들에서, 공유 파일의 인증키와 공유 파일의 파일 식별자를 공유 파일에 삽입하는 것을 설명하기 위한 도면이다.
제1 단말(101a)은 공유 파일의 파일명을 공유 파일의 인증키와 공유 파일의 파일 식별자를 포함하도록 변경할 수 있다(S1160). 도 6a를 참조하면, 원래의 파일명이 "2015 결산 보고.docx"인 공유 파일을 "2015 결산 보고#인증키@파일 식별자#.docx"와 같은 파일명으로 변경할 수 있다. "#"과 "@"를 구분자로 하여 파일명에서 인증키와 파일 식별자를 추출할 수 있다.
공유 파일의 인증키와 공유 파일의 파일 식별자는 공유 파일의 메타 데이터 필드에 삽입될 수 있다(S1160). 예를 들면, PPT, DOC, XLS 등의 문서 파일 포맷들, JPEG, TIFF 등의 이미지 파일 포맷들, MP3, MP4 등의 음악 파일 포맷들은, 다양한 부가 정보를 기입할 수 있도록, 속성, EXIF, ID3 등으로 불리는 메타 데이터 필드를 가진다. 이처럼, 메타 데이터 필드에 인증키와 파일 식별자를 삽입한다면, 파일명에 삽입하는 것에 비해서 인증키와 파일 식별자가 사용자에게 직접 노출되지 않는 장점이 있다. 도 6b의 예시에서는, 파일의 메타 데이터 필드(1161)에 공유 파일의 인증키와 파일 식별자가 삽입되어 있다.
공유 파일의 인증키와 공유 파일의 파일 식별자는 헤더 또는 풋터에 삽입되어, 원래의 공유 파일과 결합될 수 있다(S1160). 즉, 공유 파일에 헤더 또는 풋터를 결합한 새로운 공유 전용 포맷의 파일이 생성되는 것이다. 이처럼, 인증키와 파일 식별자를 포함한 헤더 또는 풋터를 원래의 공유 파일과 결합하여 새로운 포맷의 파일을 생성하는 것은, 메타 데이터 필드에 인증키와 파일 식별자를 삽입하는 것보다 보안성을 강화할 수 있다. 그러나, 새로운 포맷의 파일이므로 원래의 공유 파일에 연결된 어플리케이션에서 새로운 공유 포맷의 파일을 확인할 수 없는 단점이 있다. 이를 극복하기 위해서, 운영체제에서 제공하는 파일 시스템 필터 드라이버를 설정하여, 원래의 공유 파일에 연결된 어플리케이션이 새로운 공유 포맷의 파일에서 헤더와 풋터를 제외한 원래의 공유 파일에 접근하도록 설정할 수 있다.
도 6c의 예시에서는, 공유 전용 포맷의 파일 헤더(1167)에 공유 파일의 인증키 및 파일 식별자(1163)가 삽입되고, 공유 전용 포맷 파일의 바디(1165)에 원래의 공유 파일이 삽입되어 있다. 사용자는 이러한 공유 전용 포맷의 파일을 운영 체제의 파일 필터 드라이버(1169)를 통해 원래의 공유 파일에 연결된 어플리케이션을 이용하여 접근할 수 있다.
이처럼, 공유 파일의 인증키와 공유 파일의 파일 식별자가 삽입된 공유 파일을 다른 사용자에게 전달하면, 공유 파일을 전달받은 다른 사용자는 다시 인증키를 생성하거나, 파일 식별자 생성 요청을 할 필요가 없다. 대신, 공유 파일에 삽입된 인증키와 파일 식별자를 추출하여 공유 파일에 관한 사용자 메시지를 주고 받거나, 메시지 조회 요청을 할 수 있다.
특히, 인증키와 파일 식별자를 공유 파일의 파일명에 삽입하거나, 공유 파일의 메타 데이터 필드에 삽입하는 방법은 공유 파일의 내용을 변경하지 않는다. 즉, 파일의 내용을 변경하지 않고도 인증키나 파일 식별자를 삽입하게 되면, 기존의 방법대로 이메일이나 인스턴트 메신저 등을 통하여 파일을 공유하고 메시지를 주고 받는 다른 사용자를 배제하지 않는다는 장점이 있다. 또한 인증키와 파일 식별자를 공유 파일의 메타 데이터 필드에 삽입하거나 별도의 공유 전용 포맷의 파일 헤더 또는 푸터에 삽입하는 방법은 인증키와 파일 식별자를 사용자에게 노출하지 않는 점에서 보안성이 강화되는 장점이 있다.
도 7은 본 발명의 일 실시예에서, 메시지 관리 서버가 수신한 공유 파일을 공유 파일의 파일 식별자에 대응시켜 저장하는 것을 설명하기 위한 순서도이다.
먼저, 공유 파일을 메시지 관리자 서버에 등록하려는 제1 단말로부터, 제1 단말의 인증 정보, 공유 파일의 파일 식별자, 공유 파일을 수신한다(S2100). 다음 단계로, 제1 단말의 인증 정보를 이용하여, 제1 단말에 대한 인증을 수행한다(S2200). 다음 단계로, 제1 단말에 대한 인증이 성공한 경우에 한하여, 공유 파일을 공유 파일의 파일 식별자에 대응시켜 저장한다(S2300).
여기서, 제1 단말의 인증 정보나, 공유 파일의 파일 식별자는 도 2 내지 도 5에서 설명한 것과 동일하다. 공유 파일을 공유 파일의 파일 식별자에 매칭하여 메시지 관리 서버(10)에 저장함으로써, 파일 식별자를 이용한 공유 파일의 파일 버전 관리가 가능하다. 이에 대해서는 도 9에서 자세히 설명하도록 한다.
또한, 공유 파일의 파일명 또는 공유 파일의 메타 데이터 필드에 공유 파일의 파일 식별자가 삽입되어 있으므로, 제1 단말의 인증 정보, 공유 파일의 파일 식별자, 공유 파일을 수신하는 대신 제 1 단말의 인증 정보와 공유 파일을 수신할 수도 있다. 공유 파일로부터 파일 식별자를 추출하고, 공유 파일을 추출된 파일 식별자에 대응시켜 저장할 수도 있다.
도 8은 본 발명의 일 실시예에서, 메시지 관리 서버가 수신한 공유 파일을 저장하고, 공유 파일의 등록에 관한 시스템 메시지를 공유 파일의 파일 식별자에 대응되어 저장된 다른 사용자에게 실시간으로 송신하는 것을 설명하기 위한 도면이다.
도 3에서는 공유 파일의 파일 식별자를 이용하여, 공유 파일을 저장한 각 단말의 사용자에게 사용자 메시지를 실시간으로 송신하는 것을 살펴보았다. 마찬가지로, 메시지 관리 서버(10)는 사용자 메시지뿐만 아니라, 시스템 메시지도 공유 파일의 파일 식별자에 대응되어 저장돤 각 사용자에게 송신할 수도 있다.
메시지 관리 서버(10)는 제1 단말(101a)로부터 수신한 공유 파일을 공유 파일의 파일 식별자에 대응시켜 저장하고(S2300), 공유 파일의 파일 식별자에 대응되어 저장된 다른 사용자를 검색한다(S2400). 다음 단계로, 메시지 관리 서버(10)는 검색된 기기 식별자에 상응하는 각 단말에 시스템 메시지를 송신한다(S2500). 여기서, 시스템 메시지는 공유 파일의 등록에 관하여 메시지 관리 서버(10)가 생성한 메시지이다. 예를 들면, "OOO 사용자가 OOO 공유 파일을 2015년 XX월 XX일 XX시 XX분 XX초에 등록하였습니다"와 같은 시스템 메시지를 자동으로 생성하여, 공유 파일을 저장한 각 단말의 사용자에게 송신할 수 있다. 이를 통해서, 공유 파일의 업데이트에 관한 정보를 간편하게 공유 파일을 저장한 각 단말의 사용자에게 안내할 수 있다.
메시지 관리 서버(10)는 수신한 공유 파일을 단순히 저장하는 것에 그치는 것이 아니라, 공유 파일의 해시값 및 수정 일시에 기초하여 공유 파일의 파일 버전을 관리할 수 있다. 즉, 메시지 저장 서버(10)가 공유 파일을 수신하면, 수신한 공유 파일의 해시값 및 수정 일시를, 기 저장된 공유 파일의 해시값 및 수정 일시와 비교하여 새로운 파일인지 이미 저장된 파일인지 판단할 수 있다. 만약, 수신한 공유 파일이 새로운 파일이면, 수신한 공유 파일의 파일 버전을 결정하고, 메시지 저장 서버(10)에 수신한 공유 파일을 저장할 수 있다. 이를 통하여, 공유 파일의 파일 식별자에 대응되어 저장된 다양한 버전의 공유 파일을 버전별로 조회할 수 있다.
나아가, 결정된 공유 파일의 파일 버전을 수신한 공유 파일에 삽입하여, 파일 버전이 삽입된 공유 파일을 메시지 관리 서버(10)에 저장할 수 있다. 여기서, 공유 파일의 파일 버전은 각 공유 파일에 대해 선형으로 증가하는 카운터 값을 이용하여 생성할 수 있으며, 공유 파일의 메타 데이터 필드에 공유 파일의 파일 버전을 삽입할 수 있다. 공유 파일에 파일 버전을 삽입하여 메시지 관리 서버(10)에 저장하게 되면, 후술할 본 발명의 일 실시예에서 단말에 저장된 공유 파일과 서버에 저장된 공유 파일의 최신 버전과의 버전 차이를 아이콘에 숫자로 표시할 때에 서버의 부담을 줄일 수 있는 효과도 있다.
도 9는 본 발명의 일 실시예에서, 공유 파일을 저장한 다른 단말의 사용자가 메시지 관리 서버에 공유 파일의 파일 식별자와 대응되어 저장된 공유 파일의 파일 버전을 조회하는 것을 설명하기 위한 도면이다.
먼저, 공유 파일의 파일 버전을 조회하려는 제2 단말(101b)로부터, 제2 단말의 인증 정보, 공유 파일의 파일 식별자 및 파일 버전 조회 요청을 수신한다(S2600). 다음 단계로, 제2 단말의 인증 정보를 이용하여, 제2 단말(101b)에 대한 인증을 수행한다(S2700). 다음 단계로, 제2 단말(101b)에 대한 인증이 성공한 경우에 한하여, 공유 파일의 파일 식별자에 대응되어 저장된 공유 파일을 검색한다(S2800). 다음 단계로, 파일 버전 조회 요청에 응답하여, 검색된 공유 파일의 파일 버전을, 제2 단말(101b)에 송신한다(S2900). 파일 버전 조회 요청을 통하여, 제2 단말(101b)이 보유한 공유 파일이 가장 최신의 파일인지, 아니면 그 후에 메시지 관리 서버(10)에 업데이트된 공유 파일이 있는지 확인할 수 있다.
본 발명의 일 실시예를 따르면, 제2 단말(101b)이 공유 파일을 활성화시키면, 파일 버전 조회 요청을 메시지 관리 서버(10)로 자동으로 송신할 수 있다. 제2 단말(101b)의 사용자가 별도로 파일 버전 조회 요청을 메시지 관리 서버(10)로 송신하지 않더라도, 공유 파일을 실행하는 것만으로도 공유 파일의 파일 식별자에 대응되어 저장된 공유 파일의 파일 버전을 조회할 수 있다. 나아가, 제2 단말(101b)이 공유 파일을 활성화시키는 경우뿐만 아니라, 제2 단말(101b)의 운영체제가 시작되는 경우에 파일 버전 조회 요청을 송신할 수도 있다.
본 발명의 일 실시예를 따르면, 제2 단말(101b)은 메시지 관리 서버(10)로부터 수신한 공유 파일의 파일 버전을 이용하여, 자신이 보유한 공유 파일의 파일 버전을 결정할 수 있다. 그리고, 자신이 보유한 공유 파일의 파일 버전을, 자신이 보유한 공유 파일에 삽입할 수 있다. 또한, 자신이 보유한 공유 파일의 파일 버전을 아이콘 등을 통하여 시각적으로 표시할 수도 있다.
도 10은 본 발명의 일 실시예에서, 각 단말이 자신이 보유한 공유 파일의 버전을 가리키는 이미지를 공유 파일의 아이콘에 중첩시켜 표시하는 것을 설명하기 위한 도면이다.
예를 들면, 단말이 보유한 공유 파일이 아직 메시지 관리 서버(10)에 저장되어 버전 관리를 하고 있는 파일이 아닌 경우, 아이콘에 S(save) 표시로 나타낼 수 있다. 또는, 단말이 보유한 공유 파일이 메시지 관리 서버(10)에 저장된 공유 파일과 동일한 경우, 아이콘에 N(new) 표시로 나타낼 수 있다. 만약, 단말이 보유한 공유 파일이 메시지 관리 서버(10)에 저장된 공유 파일보다 오래된 버전인 경우, 버전의 차이를 아이콘에 숫자로 나타낼 수 있다. 만약, 단말이 보유한 공유 파일이 메시지 관리 서버(10)에 저장된 공유 파일보다 최신인 경우, 즉 공유 파일을 수정하였으나, 아직 메시지 관리 서버(10)에 저장하지 않은 경우에는 아이콘에 M(modify) 표시로 나타낼 수 있다.
도 10을 참조하면, A 단계에서 제1 단말(101a)의 사용자가 "10928"의 공유 파일의 파일 식별자를 가지고, "BBB"의 내용을 가지는 공유 파일을 생성하였다. 아직 메시지 관리 서버(10)에 저장하기 전이므로 아이콘에는 "S" 로 아이콘에 표시된다. 그 후 B 단계에서 제1 단말(101a)의 사용자가 공유 파일을 제2 단말(101b) 사용자에게도 전달하고, 메시지 관리 서버(10)에도 등록하면, 제1 단말(101a) 및 제2 단말(101b) 모두 최신 버전의 파일을 가지고 있으므로 "N 으로 아이콘에 표시된다. 그 후 C 단계에서 제1 단말(101a)의 사용자가 공유 파일의 내용을 "CCC"로 변경하면, 제1 단말(101a)은 수정된 파일을 가지고 있으므로 "M"으로 아이콘에 표시된다. 그 후 D 단계에서 제1 단말(101a)의 사용자가 공유 파일을 메시지 관리 서버(10)에 등록하면, 제1 단말(101a)는 최신 버전의 파일을 가지고 있으므로 "N"으로 아이콘에 표시되나, 제2 단말(101b)는 오래된 버전의 파일을 가지고 있으므로 버전 차이를 나타내는 "1"이 아이콘에 표시된다. 마지막으로 E 단계에서 제2 단말(101b)의 사용자가 메시지 관리 서버(10)에서 최신 버전의 파일을 다운로드 받으면, 제2 단말(101b)도 "N"으로 아이콘에 표시된다.
도 10의 예시처럼 제1 단말(101a)의 사용자는 "10928"의 공유 파일을 제2 단말(101b)의 사용자에게 최초 1회만 전달을 하면 충분하며, 그 후에는 파일의 내용이 변경되더라도 다시 제2 단말(101b)의 사용자에게 파일을 재전달 할 필요가 없다. 제1 단말(101a)의 사용자가 변경된 파일을 재전달 하는 대신, 제2 단말(101b)의 사용자가 스스로 메시지 관리 서버(10)에서 최신 버전의 파일을 다운로드 받으면 된다. 이를 통해 손쉽게 파일 버전을 관리하고, 최신 버전의 파일을 공유할 수 있는 장점이 있다.
도 11은 본 발명의 일 실시예에서, 메시지 관리 서버에 공유 파일의 파일 식별자와 대응되어 저장된 공유 파일의 특정 버전을 다운로드 하는 것을 설명하기 위한 도면이다.
앞서 살펴본 것처럼, 메시지 관리 서버(10)를 통해 공유 파일의 파일 버전을 관리하는 경우, 추가적으로 버전 정보를 이용한 백업이나, 최신 공유 파일로 업데이트 하도록 지원할 수 있다.
먼저, 공유 파일의 특정 버전을 메시지 관리 서버(10)로부터 다운로드 받으려는 제2 단말(101b)로부터, 제2 단말의 인증 정보, 공유 파일의 파일 식별자 및 특정 버전 다운로드 요청을 수신한다(S3600). 다음 단계로, 제2 단말의 인증 정보를 이용하여, 제2 단말(101b)에 대한 인증을 수행한다(S3700). 다음 단계로, 제2 단말(101b)에 대한 인증이 성공한 경우에 한하여, 공유 파일의 파일 식별자에 대응되어 저장된 공유 파일의 특정 버전을 검색한다(S3800). 다음 단계로, 특정 버전 다운로드 요청에 응답하여, 검색된 공유 파일의 특정 버전을, 제2 단말(101b)로 송신한다(S3900).
공유 파일의 파일 식별자를 이용하여, 공유 파일의 파일 버전을 관리함으로써, 파일을 공유하고 있는 각 사용자들이 필요에 따라 파일 경로나 파일명을 다르게 변경하여 저장하고 있더라도 파일의 버전 관리 및 업데이트가 가능하다.
도 12는 본 발명의 일 실시예에서, 공유 파일의 버전에 따라 사용자 메뉴를 다르게 제공하는 것을 설명하기 위한 도면이다.
지금까지 살펴본, 사용자 메시지의 전송, 메시지 조회 요청, 공유 파일의 등록, 파일 버전 조회 요청, 특정 버전 다운로드 요청 등의 기능은 별도의 사용자 프론트 엔드를 가질 수도 있지만, 직관적으로 간편하게 사용할 수 있도록 각 단말의 운영체제의 파일 관리자와 통합되어 구동될 수도 있다.
예를 들면, 제1 단말(101a)의 사용자는, 공유 파일을 저장하는 제1 단말(101a)의 윈도우 운영체제에서 탐색기를 실행하여 공유 파일이 저장된 경로를 탐색한다. 탐색기는 해당 경로에서, 공유 파일을 가리키는 아이콘을 디스플레이 하고, 아이콘을 마우스 우클릭하면 제공되는 컨텍스트 메뉴를 통해 공유 파일에 관한 다양한 기능을 제공할 수 있다.
여기서, 사용자 메시지를 전송하는 경우를 예로 살펴본다. 아이콘을 마우스 우클릭하여 제공된 컨텍스트 메뉴에서 메시지 붙이기라는 메뉴를 선택하면, 사용자 메시지를 입력하기 위한 별도의 UI가 제공된다. 여기서 사용자 메시지를 입력하기 위한 별도의 UI는 일반적인 인스턴트 메신저의 메시지 입력창과 유사할 것이다. 제1 단말(101a)이, 상기 UI를 통해 메시지 컨텐츠를 입력받고, 입력받은 메시지를 메시지 관리 서버에 송신한다. 메시지 관리 서버는 상기 공유 파일을 저장하는 각 단말에 수신된 메시지 컨텐츠를 송신할 수 있다.
도 12를 참조하면, 공유 파일의 버전에 따라 제공되는 기능들이 달라지는 것을 확인할 수 있다. 이하 메뉴를 기재할 때는 [] 표시와 함께 설명하기로 한다. 아직 공유 파일의 파일 식별자가 생성되지 않은 일반적인 파일이라면(210), [메시지 붙이기]라는 메뉴만 제공될 것이다. 또는 [파일 식별자 생성하기]라는 메뉴만 제공될 수 있다. 그 다음, 파일 식별자가 삽입된 공유 파일이 아직 버전 관리가 되지 않은 경우라면(220), "S"표시의 아이콘과 함께 [메시지를 붙이기]와 송수신한 메시지를 조회하는 [메시지 조회하기] 및 [파일 등록하기]라는 메뉴가 제공될 수 있다. 만약, 공유 파일을 메시지 관리 서버(10)에 등록하였다면(230), 최신 버전의 파일이므로 "N"표시의 아이콘과 함께 [메시지를 붙이기]와 [메시지 조회하기] 및 [파일 버전 조회하기]라는 메뉴가 제공될 수 있다. 파일이 수정된 경우에는(240), "M"표시의 아이콘과 함께 [메시지를 붙이기]와 [메시지 조회하기], [최신 파일 등록하기] 및 [파일 버전 조회하기]라는 메뉴가 제공될 수 있다. 다른 단말의 사용자가 공유 파일을 업데이트 한 경우에는(250), 공유 파일의 버전 차이를 나타내는 "1" 표시의 아이콘과 함께 [메시지를 붙이기]와 [메시지 조회하기], [최신 파일 다운받기] 및 [파일 버전 조회하기]라는 메뉴가 제공될 수 있다. 이처럼, 공유 파일에 관한 메시지 전파 및 파일 버전 관리를 운영체제의 파일 관리자와 결합하여 제공함으로써, 사용자들이 운영체제의 파일 관리자를 메시지 보드로 하여, 파일에 포스트잇을 붙이듯이 간편하게 정보를 입력하고 공유할 수 있다.
도 13은 본 발명의 일 실시예에서 사용되는, 공유 파일에 관한 사용자 메시지를 입력하고 조회하는 사용자 UI를 설명하기 위한 도면이다.
본 발명의 일 실시예를 따르면, 공유 파일에 관한 사용자 메시지 입력과 조회 UI(310)는 인스턴스 메신저의 메시지 입력 UI와 유사할 수 있다. 상단에는 파일에 관한 정보, 이를테면 생성 일시와 생성한 사람, 최근 등록 일시와 등록한 사람, 파일의 용량, 파일의 간단한 내용 등이 제공될 수 있다. 또한, 파일 업로드와 다운로드 기능이 버튼으로 제공될 수 있다. 중단에는 공유 파일을 가진 사용자 간에 주고 받은 메시지가 제공되고, 하단에는 사용자 메시지를 입력할 수 있는 입력창이 제공될 수 있다.
도 14는 본 발명의 일 실시예에서 사용되는, 메시지 관리 서버의 하드웨어 구성도이다.
도 14를 참조하면, 메시지 관리 서버(10)는 하나 이상의 프로세서(510), 메모리(520), 스토리지(560) 및 인터페이스(570)을 포함할 수 있다. 프로세서(510), 메모리(520), 스토리지(560) 및 인터페이스(570)는 시스템 버스(550)를 통하여 데이터를 송수신한다.
프로세서(510)는 메모리(520)에 로드 된 컴퓨터 프로그램을 실행하고, 메모리(520)는 상기 컴퓨터 프로그램을 스토리지(560)에서 로드(load) 한다. 상기 컴퓨터 프로그램은, 메시지 수신 오퍼레이션(521), 인증 오퍼레이션(523), 메시지 저장 오퍼레이션(525)을 포함할 수 있다.
메시지 수신 오퍼레이션 (521)은 네트워크(570)를 통해 제1 단말(101a)의 인증 정보, 공유 파일의 식별자 및 공유 파일에 관한 사용자 메시지를 수신받고 이를 메모리(520)에 로드할 수 있다. 인증 오퍼레이션(523)은 제1 단말의 인증 정보를 이용하여, 제1 단말에 대한 인증을 수행하고, 그 결과를 생성할 수 있다. 메시지 저장 오퍼레이션(525)는 인증 오퍼레이션(523)이 생성한 인증 결과가 성공인 경우에 한하여, 사용자 메시지를 공유 파일의 식별자에 매칭하여 저장할 수 있다. 여기서, 매칭된 데이터를 각각 시스템 버스(550)을 통해 스토리지(560)의 공유 파일 데이터(561)와 사용자 메시지 데이터(563)로 저장할 수 있다.
메시지 관리 서버(10)는, 네트워크 인터페이스(570)을 통해 공유 파일 데이터(561)와 사용자 메시지 데이터(563)를 조회하기 위한 인터페이스를 제공한다.
도 14의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.
도 15는 본 발명의 일 실시예에 따른 파일 공유 시스템을 예시한 개념도이다.
도 15를 참조하면, 파일 공유 시스템은 메시지 관리 서버(10), 제1 단말(101a), 및 제2 단말(101b)을 포함할 수 있다.
메시지 관리 서버(10)는 공유 파일을 저장하기 위한 공유 파일 DB(561)와 메시지를 저장하기 위한 메시지 DB(563)를 포함할 수 있다. 또한, 각 단말로부터 공유 파일과 관련된 메시지를 수신하는 메시지 수신부(521), 수신된 메시지가 정당한 사용자로부터 송신된 것인지 인증을 하는 메시지 인증부(523) 및 인증이 성공한 경우에 한하여 수신된 메시지를 공유 파일을 가진 다른 사용자에게 송신하는 메시지 처리부(525)를 포함할 수 있다. 또한, 각 단말로부터 수신한 공유 파일의 버전을 관리하는 파일 버전 관리부(527) 및 공유 파일을 버전별로 공유 파일 DB(561)에 저장하는 공유 파일 저장부(529)를 포함할 수 있다.
각 단말은 사용자로부터 메시지를 입력 받아 메시지 관리 서버(10)에 송신하는 메시지 송신부(621), 메시지 관리 서버(10)로부터 다른 단말의 사용자가 송신한 메시지를 수신하는 메시지 수신부(623) 및 메시지 관리 서버(10)로부터 최신 버전의 파일을 다운로드 받거나, 수정된 파일을 업로드 하는 공유 파일 관리부(627)을 포함할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (59)

  1. 공유 파일에 관련된 메시지에 액세스할 수 있는 권한을 가진, 상기 공유 파일을 저장한 하나 이상의 기기에 상기 공유 파일에 관련된 메시지를 송/수신하도록 설정된 서버를 포함하는, 파일 공유 시스템.
  2. 제1항에 있어서,
    상기 서버는, 상기 하나 이상의 기기로부터 인증 정보 및 상기 공유 파일의 식별자를 수신하도록 설정된, 파일 공유 시스템.
  3. 제2항에 있어서,
    상기 서버는, 상기 하나 이상의 기기가 상기 공유 파일에 관련된 메시지에 액세스할 수 있는 권한을 가지고 있는지 여부를 상기 인증 정보 및 상기 공유 파일의 식별자를 이용하여 체크하도록 설정된, 파일 공유 시스템.
  4. 제2항에 있어서,
    상기 인증 정보는, 해시 함수에 의해 인증 키 및 상기 공유 파일의 식별자로부터 생성된, 파일 공유 시스템.
  5. 제1항에 있어서,
    상기 서버는, 상기 공유 파일의 식별자에 상기 수신된 메시지를 대응시켜 저장하도록 설정된, 파일 공유 시스템.
  6. 제5항에 있어서,
    상기 서버는, 상기 공유 파일의 식별자에 대응되어 저장된 메시지를 상기 하나 이상의 기기에 송신하도록 설정된, 파일 공유 시스템.
  7. 제1항에 있어서,
    상기 서버는, 상기 공유 파일의 식별자에 상기 하나 이상의 기기의 각 기기 식별자를 대응시켜 저장하도록 설정된, 파일 공유 시스템.
  8. 제7항에 있어서,
    상기 서버는, 기기 식별자가 상기 공유 파일의 식별자에 대응되어 저장된 상기 하나 이상의 기기에 상기 메시지를 송신하도록 설정된, 파일 공유 시스템.
  9. 제5항에 있어서,
    상기 서버는, 상기 공유 파일에 관련된 메시지 검색 요청에 대한 응답으로 상기 공유 파일의 식별자에 대응되어 저장된 상기 메시지를 상기 하나 이상의 기기에 송신하도록 설정된, 파일 공유 시스템.
  10. 제9항에 있어서,
    상기 공유 파일에 관련된 메시지 검색 요청을 생성하도록 설정된 상기 하나 이상의 기기를 포함하는, 파일 공유 시스템.
  11. 제10항에 있어서,
    상기 하나 이상의 기기는, 상기 공유 파일의 실행에 대한 응답으로 상기 메시지 검색 요청을 생성하도록 설정된, 파일 공유 시스템.
  12. 제1항에 있어서,
    상기 서버는, 상기 하나 이상의 기기로부터 요청에 대한 응답으로 상기 공유 파일의 식별자를 생성하도록 설정된, 파일 공유 시스템.
  13. 제2항에 있어서,
    상기 공유 파일의 파일명은, 상기 인증 정보 및 상기 공유 파일의 식별자를 포함하는, 파일 공유 시스템.
  14. 제13항에 있어서,
    상기 인증 정보 (및/또는 공유 파일의 식별자)와 상기 파일명의 다른 부분 사이에, 및/또는 상기 인증 정보와 상기 공유 파일의 식별자 사이에, 구별을 위해서 하나 이상의 사전 정의된 문자를 상기 파일명에 삽입하는, 파일 공유 시스템.
  15. 제2항에 있어서,
    상기 인증 정보 및 상기 공유 파일의 식별자가 상기 공유 파일의 메타 데이터 필드에 삽입된, 파일 공유 시스템.
  16. 제2항에 있어서,
    상기 인증 정보 및 상기 공유 파일의 식별자가 파일의 헤더 또는 푸터로 포함되는 새로운 포맷의 파일로 생성되고, 상기 공유 파일이 상기 새로운 포맷 파일의 바디로 포함되는, 파일 공유 시스템.
  17. 제4항에 있어서,
    상기 서버 및/또는 상기 하나 이상의 기기는, 상기 공유 파일과 관련된 메시지를 암호화 하도록 설정되고,
    상기 하나 이상의 기기는, 상기 인증키를 이용하여 상기 암호화된 메시지를 복호화 하도록 설정된, 파일 공유 시스템.
  18. 제1항에 있어서,
    상기 서버는, 상기 하나 이상의 기기에 시스템 메시지를 송신하도록 설정된, 파일 공유 시스템.
  19. 제1항에 있어서,
    상기 공유 파일과 관련된 메시지를 출력하거나 표시하도록 설정된 하나 이상의 기기를 포함하는, 파일 공유 시스템.
  20. 제19항에 있어서,
    상기 하나 이상의 기기는, 상기 공유 파일의 실행에 대한 응답으로 상기 공유 파일과 관련된 상기 메시지를 출력하거나 표시하도록 설정된, 파일 공유 시스템.
  21. 제1항에 있어서,
    상기 서버는, 상기 공유 파일의 해시값과 수정 시간을 이용하여 상기 공유 파일의 버전을 관리하도록 설정된, 파일 공유 시스템.
  22. 하나 이상의 버전 및 공유 파일의 식별자를 가지는 상기 공유 파일을 저장하고,
    하나 이상의 기기로부터 상기 공유 파일 및 상기 공유 파일의 식별자를 수신하고,
    상기 공유 파일의 해시값과 수정 시간을 이용하여 상기 공유 파일의 식별자에 대응하는 상기 수신된 공유 파일의 버전을 결정하도록 설정된 서버를 포함하는, 파일 공유 시스템.
  23. 제22항에 있어서,
    상기 서버는, 상기 수신된 공유 파일의 결정된 버전의 정보를 상기 하나 이상의 기기로 송신하도록 설정된, 파일 공유 시스템.
  24. 제22항에 있어서,
    상기 서버는, 상기 공유 파일의 식별자에 대응하는 상기 수신된 공유 파일이 상기 서버에 저장되어 있지 않은 경우에는 상기 수신된 공유 파일에 새로운 버전을 할당하도록 설정된, 파일 공유 시스템.
  25. 제22항에 있어서,
    상기 하나 이상의 기기는, 상기 공유 파일에 관련된 메시지에 액세스할 수 있는 권한을 가진, 파일 공유 시스템.
  26. 제22항에 있어서,
    상기 서버는, 상기 공유 파일의 식별자에 대응되는 상기 공유 파일의 버전 이력을 제공하도록 설정된, 파일 공유 시스템.
  27. 제22항에 있어서,
    상기 서버는, 상기 하나 이상의 기기가 요청한 버전의 상기 공유 파일을 송신하도록 설정된, 파일 공유 시스템.
  28. 제23항에 있어서,
    상기 공유 파일의 실행에 대한 응답으로 상기 공유 파일의 버전 정보 요청을 송신하도록 설정된 하나 이상의 기기를 포함하는, 파일 공유 시스템.
  29. 제22항에 있어서,
    상기 공유 파일의 아이콘에 상기 공유 파일의 버전을 출력하거나 표시하도록 설정된 상기 하나 이상의 기기를 포함하는, 파일 공유 시스템.
  30. 서버가, 공유 파일에 관련된 메시지에 액세스할 수 있는 권한을 가진, 상기 공유 파일을 저장한 하나 이상의 기기에 상기 공유 파일에 관련된 하나 이상의 메시지를 송신하는 단계를 포함하는, 파일 공유 방법.
  31. 제30항에 있어서,
    상기 서버가, 상기 하나 이상의 기기로부터 상기 공유 파일과 관련된 상기 하나 이상의 메시지를 수신하는 단계를 포함하는, 파일 공유 방법.
  32. 제31항에 있어서,
    상기 서버가, 상기 하나 이상의 기기로부터 인증 정보 및 상기 공유 파일의 식별자를 수신하는 단계를 포함하는, 파일 공유 방법.
  33. 제32항에 있어서,
    상기 서버가, 상기 하나 이상의 기기가 상기 공유 파일에 관련된 메시지에 액세스할 수 있는 권한을 가지고 있는지 여부를 상기 인증 정보 및 상기 공유 파일의 식별자를 이용하여 체크하는 단계를 포함하는, 파일 공유 방법.
  34. 제32항에 있어서,
    상기 서버 또는 상기 하나 이상의 기기가, 해시 함수에 의해 인증 키 및 상기 공유 파일의 식별자로부터 상기 인증 정보를 생성하는 단계를 포함하는, 파일 공유 방법.
  35. 제31항에 있어서,
    상기 서버가, 상기 공유 파일의 식별자에 상기 수신된 메시지를 대응시켜 저장하는 단계를 포함하는, 파일 공유 방법.
  36. 제35항에 있어서,
    상기 서버가, 상기 공유 파일의 식별자에 대응되어 저장된 메시지를 상기 하나 이상의 기기에 송신하는 단계를 포함하는, 파일 공유 방법.
  37. 제30항에 있어서,
    상기 서버가, 상기 공유 파일의 식별자에 상기 하나 이상의 기기의 각 기기 식별자를 대응시켜 저장하는 단계를 포함하는, 파일 공유 방법.
  38. 제37항에 있어서,
    상기 서버가, 기기 식별자가 상기 공유 파일의 식별자에 대응되어 저장된 상기 하나 이상의 기기에 상기 메시지를 송신하는 단계를 포함하는, 파일 공유 방법.
  39. 제35항에 있어서,
    상기 서버가, 상기 공유 파일에 관련된 메시지 검색 요청에 대한 응답으로 상기 공유 파일의 식별자에 대응되어 저장된 상기 메시지를 상기 하나 이상의 기기에 송신하는 단계를 포함하는, 파일 공유 방법.
  40. 제39항에 있어서,
    상기 하나 이상의 기기가, 상기 공유 파일에 관련된 메시지 검색 요청을 생성하는 단계를 포함하는, 파일 공유 방법.
  41. 제40항에 있어서,
    상기 하나 이상의 기기가, 상기 공유 파일의 실행에 대한 응답으로 상기 메시지 검색 요청을 생성하는, 파일 공유방법.
  42. 제30항에 있어서,
    상기 서버가, 상기 하나 이상의 기기로부터 요청에 대한 응답으로 상기 공유 파일의 식별자를 생성하는 단계를 포함하는, 파일 공유 시스템.
  43. 제32항에 있어서,
    상기 공유 파일의 파일명이, 상기 인증 정보 및 상기 공유 파일의 식별자를 포함하도록 상기 공유 파일의 파일명을 생성하거나 변경하는 단계를 포함하는, 파일 공유 방법.
  44. 제43항에 있어서,
    상기 인증 정보 (및/또는 공유 파일의 식별자)와 상기 파일명의 다른 부분 사이에, 및/또는 상기 인증 정보와 상기 공유 파일의 식별자 사이에, 하나 이상의 사전 정의된 문자를 삽입하는 단계를 포함하는, 파일 공유 방법.
  45. 제32항에 있어서,
    상기 인증 정보 및 상기 공유 파일의 식별자를 상기 공유 파일의 메타 데이터 필드에 삽입하는 단계를 포함하는, 파일 공유 방법.
  46. 제32항에 있어서,
    상기 인증 정보 및 상기 공유 파일의 식별자를 파일의 헤더 또는 푸터로, 상기 공유 파일을 파일의 바디로 구성하는 새로운 포맷의 파일을 생성하는 단계를 포함하는, 파일 공유 방법.
  47. 제34항에 있어서,
    상기 서버 및/또는 상기 하나 이상의 기기가, 상기 공유 파일과 관련된 메시지를 암호화 하는 단계,
    상기 하나 이상의 기기가, 상기 인증키를 이용하여 상기 암호화된 메시지를 복호화 하는 단계를 포함하는, 파일 공유 방법.
  48. 제30항에 있어서,
    상기 서버가, 상기 하나 이상의 기기에 시스템 메시지를 송신하는 단계를 포함하는, 파일 공유 방법.
  49. 제30항에 있어서,
    상기 하나 이상의 기기가, 상기 서버로부터 수신된 상기 공유 파일과 관련된 메시지를 출력하거나 표시하는 단계를 포함하는, 파일 공유 방법.
  50. 제49항에 있어서,
    상기 하나 이상의 기기가, 상기 공유 파일의 실행에 대한 응답으로 상기 공유 파일과 관련된 메시지를 출력하거나 표시하는 단계를 포함하는, 파일 공유 방법.
  51. 제30항에 있어서,
    상기 서버가, 상기 공유 파일의 해시값과 수정 시간을 이용하여 상기 공유 파일의 버전을 관리하는 단계를 포함하는, 파일 공유 방법.
  52. 서버가, 하나 이상의 버전 및 공유 파일의 식별자를 가지는 상기 공유 파일을 저장하는 단계;
    상기 서버가, 하나 이상의 기기로부터 상기 공유 파일 및 상기 공유 파일의 식별자를 수신하는 단계; 및
    상기 서버가, 상기 공유 파일의 해시값과 수정 시간을 이용하여 상기 공유 파일의 식별자에 대응하는 상기 수신된 공유 파일의 버전을 결정하는 단계를 포함하는, 파일 공유 시스템.
  53. 제52항에 있어서,
    상기 서버가, 상기 수신된 공유 파일의 결정된 버전의 정보를 상기 하나 이상의 기기로 송신하는 단계를 포함하는, 파일 공유 방법.
  54. 제52항에 있어서,
    상기 서버가, 상기 공유 파일의 식별자에 대응하는 상기 수신된 공유 파일이 상기 서버에 저장되어 있지 않은 경우에는 상기 수신된 공유 파일에 새로운 버전을 할당하는 단계를 포함하는, 파일 공유 방법.
  55. 제52항에 있어서,
    상기 서버가, 상기 하나 이상의 기기가 상기 공유 파일에 관련된 메시지에 액세스할 수 있는 권한을 가지고 있는지 여부를 체크하는 단계를 포함하는, 파일 공유 방법.
  56. 제52항에 있어서,
    상기 서버가, 상기 공유 파일의 식별자에 대응되는 상기 공유 파일의 버전 이력을 제공하는 단계를 포함하는, 파일 공유 방법.
  57. 제52항에 있어서,
    상기 하나 이상의 기기가, 상기 서버에 저장된 특정 버전의 상기 공유 파일을 요청하는 단계; 및
    상기 서버가, 상기 하나 이상의 기기가 요청한 특정 버전의 상기 공유 파일을 송신하는 단계를 포함하는, 파일 공유 방법.
  58. 제52항에 있어서,
    상기 하나 이상의 기기가, 상기 공유 파일의 실행에 대한 응답으로 상기 공유 파일의 버전 정보 요청을 송신하는 단계를 포함하는, 파일 공유 방법.
  59. 제52항에 있어서,
    상기 하나 이상의 기기가, 상기 공유 파일의 아이콘에 상기 공유 파일의 버전을 출력하거나 표시하는 단계를 포함하는, 파일 공유 방법.
PCT/KR2015/008080 2015-01-23 2015-08-03 파일 공유 시스템 및 그 방법 WO2016117783A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017539026A JP6462138B2 (ja) 2015-01-23 2015-08-03 ファイル共有システムおよびその方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150011455A KR101623742B1 (ko) 2015-01-23 2015-01-23 파일 연관 메시지 공유 방법 및 메시지 공유 시스템
KR10-2015-0011455 2015-01-23

Publications (1)

Publication Number Publication Date
WO2016117783A1 true WO2016117783A1 (ko) 2016-07-28

Family

ID=56114585

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/008080 WO2016117783A1 (ko) 2015-01-23 2015-08-03 파일 공유 시스템 및 그 방법

Country Status (4)

Country Link
US (1) US20160219058A1 (ko)
JP (1) JP6462138B2 (ko)
KR (1) KR101623742B1 (ko)
WO (1) WO2016117783A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10353689B2 (en) * 2015-08-28 2019-07-16 Ncr Corporation Method for transferring a file via a mobile device and mobile device for performing same
CN107911483A (zh) * 2017-12-12 2018-04-13 阿里巴巴集团控股有限公司 一种信息传输方法和装置
CN108418747B (zh) * 2018-02-23 2020-09-22 平安科技(深圳)有限公司 基于即时通讯的信息发送方法、装置、设备和存储介质
US10803011B2 (en) * 2018-05-09 2020-10-13 Bank Of America Corporation Dynamic data management system for selectively transferring data files
US11386112B2 (en) * 2018-08-08 2022-07-12 Microsoft Technology Licensing, Llc Visualization platform for reusable data chunks
US20230195695A1 (en) * 2020-05-15 2023-06-22 Huawei Technologies Co., Ltd. File Sharing Method and Terminal Device
CN114189505B (zh) * 2021-10-29 2024-04-19 深圳市酷开网络科技股份有限公司 文件共享方法、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050118463A (ko) * 2004-06-14 2005-12-19 주식회사 넥스다임 유료 파일 공유 서비스 방법
KR100912420B1 (ko) * 2004-05-12 2009-08-14 노키아 코포레이션 파일 선택 및 단말기로의 파일 전송
KR20100068279A (ko) * 2007-10-09 2010-06-22 알카텔-루센트 유에스에이 인코포레이티드 인증 방법 및 네트워크 확립 방법
US20110161430A1 (en) * 2009-12-29 2011-06-30 International Business Machines Corporation Instant messaging based virtual file system
US20130198304A1 (en) * 2012-02-01 2013-08-01 Nhn Corporation Group messaging system and method for providing file sharing through bidirectional interlock with a cloud server

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004320465A (ja) * 2003-04-16 2004-11-11 Canon Inc 画像データの受渡し装置
JP2005234655A (ja) * 2004-02-17 2005-09-02 Fuji Xerox Co Ltd ファイル配信管理装置および方法およびプログラム
JP4497983B2 (ja) * 2004-03-31 2010-07-07 株式会社日本総合研究所 ファイル共有制御システム、共有制御サーバおよび共有制御プログラム
JP2007058595A (ja) * 2005-08-24 2007-03-08 Ricoh Co Ltd データ共有装置、共有データ管理装置、共有データ管理システム、共有データ更新プログラム、共有データ連携プログラム、共有データ管理プログラム及びコンピュータ読み取り可能な記録媒体
JP2008271091A (ja) * 2007-04-19 2008-11-06 Ricoh Co Ltd 画像配信装置および画像形成装置
JP5723177B2 (ja) * 2011-03-03 2015-05-27 株式会社日立システムズ 電子マニュアル更新通知システム
US9049176B2 (en) * 2011-06-22 2015-06-02 Dropbox, Inc. File sharing via link generation
US9626340B2 (en) * 2012-08-28 2017-04-18 Dropbox, Inc. Bookmarking shared file and folder links
US9385980B2 (en) * 2012-09-27 2016-07-05 Dropbox, Inc. Automatic routing of electronic mail file attachments to a user directory in a file management system, by a recipient electronic mail server, based on email sender defined processing rules
US8930698B2 (en) * 2012-12-27 2015-01-06 Dropbox, Inc. Encrypting globally unique identifiers at communication boundaries
EP2965234A1 (en) * 2013-03-08 2016-01-13 Dropbox, Inc. Sharing a content item
JP6120650B2 (ja) * 2013-04-05 2017-04-26 キヤノン株式会社 コンテンツ管理装置、コンテンツ管理方法及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100912420B1 (ko) * 2004-05-12 2009-08-14 노키아 코포레이션 파일 선택 및 단말기로의 파일 전송
KR20050118463A (ko) * 2004-06-14 2005-12-19 주식회사 넥스다임 유료 파일 공유 서비스 방법
KR20100068279A (ko) * 2007-10-09 2010-06-22 알카텔-루센트 유에스에이 인코포레이티드 인증 방법 및 네트워크 확립 방법
US20110161430A1 (en) * 2009-12-29 2011-06-30 International Business Machines Corporation Instant messaging based virtual file system
US20130198304A1 (en) * 2012-02-01 2013-08-01 Nhn Corporation Group messaging system and method for providing file sharing through bidirectional interlock with a cloud server

Also Published As

Publication number Publication date
JP6462138B2 (ja) 2019-01-30
JP2018509688A (ja) 2018-04-05
US20160219058A1 (en) 2016-07-28
KR101623742B1 (ko) 2016-05-25

Similar Documents

Publication Publication Date Title
WO2016117783A1 (ko) 파일 공유 시스템 및 그 방법
US9552492B2 (en) Secure application access system
US9047480B2 (en) Secure application access system
US9792633B2 (en) Method and system for intelligent processing of electronic information with cloud computing
WO2018161818A1 (zh) 一种打印处理方法、装置、打印端、物流平台及服务器
KR20190061078A (ko) 특정 식별 정보를 공개하지 않고 식별자들 간의 링크를 설정
US20070198633A1 (en) System and method for delivery of PC content through a server based relay system using really simple syndication
CN102393844B (zh) 应用注册和统一媒体搜索
CN111475841A (zh) 一种访问控制的方法、相关装置、设备、系统及存储介质
US7818813B2 (en) Server apparatus and control method
CN107820614B (zh) 隐私增强的个人搜索索引
CN108989040A (zh) 一种基于区块链的信息处理方法和装置
CN113645226A (zh) 一种基于网关层的数据处理方法、装置、设备及存储介质
WO2020052518A1 (zh) 数据处理方法、终端以及计算机可读存储介质
JP6742847B2 (ja) サーバ装置、無害化方法、およびプログラム
JP2003273860A (ja) 暗号化文書閲覧方法、暗号化文書閲覧システム、暗号化文書閲覧プログラム、暗号化文書閲覧プログラムを格納する記憶媒体、暗号化文書閲覧システムに用いられる管理装置、暗号化文書のデータ構造、暗号化文書のデータ構造生成装置、及び暗号化文書のデータ構造生成プログラム
CN114553612B (zh) 数据加密、解密方法、装置、存储介质及电子设备
WO2015102279A1 (ko) 인터넷 환경에서의 사용자 보안 인증 시스템 및 그 방법
WO2016058385A1 (zh) 信息存储方法、装置及终端
JP2002163170A (ja) コンテンツ発注方法並びにその端末、コンテンツ提供方法並びにそのシステム
CN113704273A (zh) 数据管理方法、装置、存储介质及服务器
CN113204790A (zh) 一种视图权限处理方法、装置、设备及介质
JP7174870B1 (ja) プログラム、情報処理装置、情報処理システム、情報処理方法
KR20200137520A (ko) 근거리 영역 네트워크(lan) 환경에서 기기 간 데이터 동기화가 가능한 데이터베이스 구조 및 이를 이용한 데이터 동기화 방법
JP7249453B1 (ja) 契約管理プログラム、情報処理装置、情報処理システム、情報処理方法

Legal Events

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

Ref document number: 15879037

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017539026

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15879037

Country of ref document: EP

Kind code of ref document: A1