KR20200039606A - Method for providing service platform using mobile storage apparatus and apparauts thereof - Google Patents

Method for providing service platform using mobile storage apparatus and apparauts thereof Download PDF

Info

Publication number
KR20200039606A
KR20200039606A KR1020190127285A KR20190127285A KR20200039606A KR 20200039606 A KR20200039606 A KR 20200039606A KR 1020190127285 A KR1020190127285 A KR 1020190127285A KR 20190127285 A KR20190127285 A KR 20190127285A KR 20200039606 A KR20200039606 A KR 20200039606A
Authority
KR
South Korea
Prior art keywords
mobile storage
storage device
content
server
instruction
Prior art date
Application number
KR1020190127285A
Other languages
Korean (ko)
Inventor
김선일
윤흥수
박영훈
Original Assignee
주식회사 해시블록
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 해시블록 filed Critical 주식회사 해시블록
Priority to KR1020190127285A priority Critical patent/KR20200039606A/en
Publication of KR20200039606A publication Critical patent/KR20200039606A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2869Terminals specially adapted for communication
    • H04L67/2809
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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
    • H04L67/2814
    • H04L67/36
    • H04L67/42
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Provided are a method of providing an online service using a mobile storage device and a device thereof. According to an embodiment of the present invention, a mobile storage device comprises: a connector for providing a connection to the Internet through a host device by being electrically connected to the host device connected to the Internet; a storage; and a processor which is connected to the connector and the storage and executes a plurality of instructions for providing an online service according to a server-client model to an external terminal using data stored in the storage.

Description

모바일 스토리지 장치를 이용한 서비스 플랫폼 제공 방법 및 그 장치{METHOD FOR PROVIDING SERVICE PLATFORM USING MOBILE STORAGE APPARATUS AND APPARAUTS THEREOF}Method for providing a service platform using a mobile storage device and its device {METHOD FOR PROVIDING SERVICE PLATFORM USING MOBILE STORAGE APPARATUS AND APPARAUTS THEREOF}

본 발명은 서버를 통해서 서비스를 제공하는 플랫폼에 관한 것이다. 보다 자세하게는, 서버를 구성할 수 있는 장치와 구성된 서버가 서비스를 제공하기 위해 다른 장치에 연결할 수 있도록 중개하는 방법에 관한 것이다.The present invention relates to a platform for providing a service through a server. More specifically, it relates to a device capable of configuring a server and a method of mediating the configured server to connect to other devices to provide a service.

이 부분에 기술된 내용은 본 실시 예에 대한 배경 정보를 제공하는 것이며, 이 부분에 기재된 것만으로 종래의 기술에 속하는 것은 아니다.The content described in this section provides background information for the present embodiment, and is not included in the prior art merely by describing this part.

네트워크(예를 들어, 인터넷)를 통한 서비스를 제공하기 위해서 서버를 사용하게 된다. 예를 들어, 이메일 서비스의 경우, 메일 송수신을 처리할 수 있는 메일 서버가 네트워크를 통해서 이메일 서비스를 제공한다. 메일 서버는 포털을 이용하여 수행되는 회원 가입 프로세스를 통해서 사용자에 대한 계정을 생성하고, 생성된 계정을 활용하여 메일의 송수신을 처리한다. 사용자는 개인 컴퓨터의 메일 사용자 에이전트(Mail User Agent; MUA)를 이용하여 메일 서버를 통해 메일을 송수신할 수 있다. 인터넷으로 상기 계정에 대한 메일 주소를 지정한 메일이 발송되면 메일 서버에 메일 내용과 첨부된 파일이 저장되고 메일 서버는 해당 계정의 사용자에 대한 알림을 발송할 수 있다. 즉, 사용자는 메일 서버를 포함하는 인프라를 구축한 서비스 제공자를 통해서 메일 서비스를 제공 받을 수 있다.A server is used to provide a service through a network (for example, the Internet). For example, in the case of an email service, a mail server capable of processing mail transmission and reception provides an email service through a network. The mail server creates an account for a user through a membership registration process performed using a portal, and processes the sending and receiving of mail using the created account. A user can send and receive mail through a mail server using a mail user agent (MUA) of a personal computer. When a mail specifying an email address for the account is sent to the Internet, mail contents and attached files are stored in the mail server, and the mail server can send a notification to the user of the account. That is, the user can be provided with a mail service through a service provider who has built an infrastructure including a mail server.

홈페이지 제공 서비스의 경우도 유사하게 웹호스팅 서버의 인프라를 구축하고 홈페이지가 조회될 수 있도록 서비스를 제공하는 웹호스팅 서비스 제공자를 통해서 사용자가 홈페이지 제공 서비스를 제공 받을 수 있었다. 또한, 소셜 미디어(Social Media) 서비스도 게시글 등을 등록하고 다른 사용자에 의해 조회될 수 있도록 하는 서버를 구축한 서비스 제공자에 의해서 제공될 수 있다. 영상이나 음악 등의 미디어도 미디어 배달 중개자(Media Delivery Agent)를 필요로 한다.In the case of the homepage provision service, the user could be provided with the homepage provision service through a webhosting service provider that similarly builds the infrastructure of the webhosting server and provides the service so that the homepage can be viewed. In addition, a social media service may also be provided by a service provider that has built a server that registers posts and so on and can be viewed by other users. Media such as video and music also require a media delivery agent.

본 발명이 해결하고자 하는 기술적 과제는, 많은 비용이 소모되는 서버 및 인프라 구축을 대신하여 낮은 비용만으로도 서비스를 사용할 수 있도록 하는 장치 및 방법을 제공하는 것이다.The technical problem to be solved by the present invention is to provide an apparatus and method for enabling a service to be used at a low cost instead of building a server and infrastructure that consumes a large amount of cost.

또한 본 발명이 해결하고자 하는 다른 기술적 과제는, 널리 상용화된 모바일 스토리지를 이용하여 서비스를 제공할 수 있도록 하는 방법 및 장치를 제공하는 것이다.In addition, another technical problem to be solved by the present invention is to provide a method and apparatus for providing a service using a widely commercialized mobile storage.

또한 본 발명이 해결하고자 하는 또 다른 기술적 과제는, 고정 IP 주소를 가지고 서비스를 제공하는 서버와 같이 서비스를 제공할 수 있기 위하여 모바일 스토리지 장치가 다른 장치와 데이터를 송수신하는 방법을 제공하는 것이다.In addition, another technical problem to be solved by the present invention is to provide a method for a mobile storage device to transmit and receive data to and from another device in order to provide a service such as a server providing a service with a fixed IP address.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 해결하기 위한, 일 실시예에 따른 모바일 스토리지 장치는, 인터넷에 연결된 호스트 장치에 전기적으로 연결됨으로써, 상기 호스트 장치를 통해 상기 인터넷에 연결을 제공하는 커넥터; 스토리지; 및 상기 커넥터 및 상기 스토리지와 연결되고, 상기 스토리지에 저장된 데이터를 이용하여 서버-클라이언트 모델에 따른 온라인 서비스를 외부 단말에 제공하기 위한 복수의 인스트럭션(instruction)을 실행하는 프로세서를 포함하되, 상기 복수의 인스트럭션은, 상기 커넥터가 상기 호스트 장치에 연결되어 상기 모바일 스토리지 장치가 상기 인터넷에 연결되면, 자동으로 상기 외부 단말에 상기 모바일 스토리지 장치의 주소 정보를 제공하는 중개 서버에 등록 요청을 송신하되, 상기 등록 요청은 상기 커넥터가 상기 호스트 장치에 연결됨에 따라 상기 모바일 스토리지 장치에 할당되는 주소 정보를 포함하는 것인, 인스트럭션과, 상기 외부 단말이 상기 중개 서버로부터 상기 모바일 스토리지 장치의 주소 정보를 획득한 후, 상기 온라인 서비스의 제공을 위한 패킷을 상기 외부 단말과 홀 펀칭(hole punching) 방식으로 p2p 송수신하는 인스트럭션을 포함할 수 있다.To solve the above technical problem, a mobile storage device according to an embodiment includes: a connector that provides a connection to the Internet through the host device by being electrically connected to a host device connected to the Internet; storage; And a processor that is connected to the connector and the storage and executes a plurality of instructions for providing an online service according to a server-client model to an external terminal using data stored in the storage. The instruction, when the connector is connected to the host device and the mobile storage device is connected to the Internet, automatically transmits a registration request to an intermediary server that provides address information of the mobile storage device to the external terminal. The request includes address information allocated to the mobile storage device as the connector is connected to the host device, and after the instruction and the external terminal obtain the address information of the mobile storage device from the intermediary server, Provision of the above online service It may include an instruction for transmitting and receiving a packet for p2p in the hole punching (hole punching) method with the external terminal.

또한, 다른 몇몇 실시 예에 따르면, 상기 복수의 인스트럭션은, 모바일 스토리지 장치 인증 인스트럭션을 더 포함하되, 상기 모바일 스토리지 장치 인증 인스트럭션은, 상기 커넥터가 상기 호스트 장치에 연결됨으로써 상기 모바일 스토리지 장치가 최초로 상기 인터넷에 연결되는 것에 응답하여, 자동으로 상기 인터넷에 연결된 장치 인증 서버에 인증 요청을 송신하되, 상기 인증 요청에는 상기 모바일 스토리지 장치의 제조시 기록된 장치 식별자가 포함되는, 인스트럭션; 상기 장치 인증 서버로부터 인증 성공을 가리키는 데이터가 수신된 경우, 회원 가입 정보를 입력 받기 위한 GUI가 표시되기 위한 데이터를 상기 호스트 장치에 제공하는 인스트럭션; 및 플랫폼 인증 서버로부터 상기 모바일 스토리지 장치에 발급되는 장치 고유 키를 상기 스토리지에 저장하되, 상기 장치 고유 키는 상기 회원 가입 정보에 매치되는 것인, 인스트럭션을 포함할 수 있다.Further, according to some other embodiments, the plurality of instructions, further comprising a mobile storage device authentication instruction, the mobile storage device authentication instruction, the connector is connected to the host device, the mobile storage device is the first Internet In response to being connected to, an instruction for automatically transmitting an authentication request to a device authentication server connected to the Internet, wherein the authentication request includes a device identifier recorded at the time of manufacture of the mobile storage device; An instruction for providing data to the host device for displaying a GUI for receiving member subscription information when data indicating authentication success is received from the device authentication server; And storing a device-specific key issued to the mobile storage device from the platform authentication server in the storage, wherein the device-specific key matches the member subscription information.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 모바일 스토리지 장치 인증 인스트럭션은, 상기 커넥터가 상기 호스트 장치에 연결됨으로써 상기 모바일 스토리지 장치가 상기 인터넷에 연결되는 것에 응답하여, 자동으로 상기 플랫폼 인증 서버에 의하여 발급된 장치 고유 키에 대한 정보를 포함하는 인증 요청을 상기 플랫폼 인증 서버에 송신하는 인스트럭션을 포함할 수 있다.In addition, according to another exemplary embodiment, the mobile storage device authentication instruction is automatically issued by the platform authentication server in response to the mobile storage device being connected to the Internet by connecting the connector to the host device. It may include an instruction for transmitting an authentication request including information about the device-specific key to the platform authentication server.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 모바일 스토리지 장치 인증 인스트럭션은, 상기 인증 요청에 대한 인증 성공을 나타내는 데이터에 대한 응답으로, 상기 플랫폼 인증 서버로부터 공개키를 수신하여 상기 장치 고유 키를 업데이트하는 인스트럭션을 더 포함할 수 있다.Further, according to another exemplary embodiment, the mobile storage device authentication instruction receives a public key from the platform authentication server and updates the device unique key in response to data indicating authentication success for the authentication request. It may further include an instruction.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 모바일 스토리지 장치는 사용자에 의하여 상태 정보를 출력할 수 있는 인디케이터를 더 포함하되, 상기 모바일 스토리지 장치 인증 인스트럭션은, 상기 플랫폼 인증 서버로부터 인증 실패를 가리키는 데이터가 수신되는 경우, 상기 인디케이터가 상태 정보를 출력할 수 있도록 하는 제어 신호를 출력하는 인스트럭션을 포함할 수 있다.In addition, according to some other embodiments, the mobile storage device further includes an indicator capable of outputting status information by the user, wherein the mobile storage device authentication instruction includes data indicating authentication failure from the platform authentication server. When received, it may include an instruction for outputting a control signal that allows the indicator to output status information.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 복수의 인스트럭션은, 모바일 스토리지 장치 인증 인스트럭션을 더 포함하되, 상기 모바일 스토리지 장치 인증 인스트럭션은, 상기 모바일 스토리지 장치에 저장된 개인 키와 블록 체인 시스템의 노드를 구성하는 플랫폼 인증 서버에 저장된 공개 키를 조합하여 장치 고유 키를 활성화하는 인스트럭션과, 상기 플랫폼 인증 서버로부터 상기 장치 고유 키를 갱신 받는 인스트럭션을 포함할 수 있다.Further, according to another exemplary embodiment, the plurality of instructions further includes a mobile storage device authentication instruction, wherein the mobile storage device authentication instruction comprises a private key stored in the mobile storage device and a node of the blockchain system. It may include an instruction for combining a public key stored in the platform authentication server to activate a device-specific key, and an instruction to update the device-specific key from the platform authentication server.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 복수의 인스트럭션은, 상기 모바일 스토리지 장치의 주소 정보가 변경된 경우, 상기 중개 서버에 주소 정보의 업데이트를 요청하는 인스트럭션을 더 포함할 수 있다.In addition, according to some other embodiments, the plurality of instructions may further include an instruction for requesting the intermediary server to update address information when the address information of the mobile storage device is changed.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 업데이트를 요청하는 인스트럭션은, 상기 커넥터에 연결된 호스트 장치의 주소 정보가 변경되거나, 상기 커넥터에 연결된 호스트 장치가 변경된 경우에 상기 모바일 스토리지 장치의 주소 정보가 변경된 것으로 판단할 수 있다.In addition, according to another exemplary embodiment, the instruction requesting the update may change the address information of the host device connected to the connector or the address information of the mobile storage device when the host device connected to the connector is changed. You can judge that.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 프로세서는, 부팅 완료 후 상기 복수의 인스트럭션을 자동으로 실행하고, 상기 복수의 인스트럭션은, 상기 모바일 스토리지 장치 제조 시에, 바로 실행 가능하도록 설치된 온라인 서비스 제공 소프트웨어에 포함된 것을 특징으로 할 수 있다.In addition, according to another exemplary embodiment, the processor automatically executes the plurality of instructions after completion of booting, and the plurality of instructions are installed in an online service providing software that is installed to be executable immediately when manufacturing the mobile storage device. It may be characterized by being included in.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 온라인 서비스 제공 소프트웨어는, 상기 스토리지의 사용자 레벨 접근 불가능 영역에 설치된 것을 특징으로 할 수 있다.In addition, according to another exemplary embodiment, the online service providing software may be installed in a user level inaccessible area of the storage.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 모바일 스토리지 장치는, ROM(Read Only Memory)를 더 포함하고, 상기 온라인 서비스 제공 소프트웨어는, 상기 ROM에 설치된 것을 특징으로 할 수 있다.Further, according to some other embodiments, the mobile storage device further includes a read only memory (ROM), and the online service providing software may be installed in the ROM.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 복수의 인스트럭션은, 상기 온라인 서비스의 제공에 따라 상기 스토리지에 저장된 컨텐츠의 리드(read) 억세스 트래픽이 기준치를 초과하는 경우, 상기 컨텐츠를 상기 인터넷에 연결된 컨텐츠 딜리버리 서버에 송신하는 인스트럭션; 및 상기 컨텐츠에 대한 리드 억세스를 상기 컨텐츠 딜리버리 서버로 리다이렉션(redirection) 하는 인스트럭션을 더 포함할 수 있다.In addition, according to another exemplary embodiment, the plurality of instructions, when the read access traffic of the content stored in the storage in accordance with the provision of the online service exceeds a reference value, the content connected to the Internet An instruction to transmit to the delivery server; And an instruction for redirecting read access to the content to the content delivery server.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 컨텐츠는, 상기 모바일 스토리지 장치가 상기 호스트 장치에서 연결 해제 되면, 상기 컨텐츠 딜리버리 서버에서 비활성화 또는 삭제될 수 있다.Further, according to another exemplary embodiment, when the mobile storage device is disconnected from the host device, the content may be deactivated or deleted in the content delivery server.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 컨텐츠는, 상기 컨텐츠의 리드(read) 억세스 트래픽이 기준치를 하회하는 경우, 상기 컨텐츠 딜리버리 서버에서 삭제될 수 있다.In addition, according to another exemplary embodiment, the content may be deleted from the content delivery server when the read access traffic of the content falls below a reference value.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 모바일 스토리지 장치는 사용자에 의하여 상태 정보를 출력할 수 있는 인디케이터를 더 포함하고, 상기 컨텐츠를 상기 인터넷에 연결된 컨텐츠 딜리버리 서버에 송신하는 인스트럭션은, 상기 인디케이터의 출력을 제어하는 제어 신호를 출력하는 인스트럭션을 포함할 수 있다.In addition, according to another exemplary embodiment, the mobile storage device further includes an indicator capable of outputting status information by a user, and the instruction to transmit the content to the content delivery server connected to the Internet includes: It may include an instruction for outputting a control signal for controlling the output.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 컨텐츠는, 기 지정된 기준을 만족하는 경우, 상기 컨텐츠가 저장된 상기 모바일 스토리지 장치와 p2p 접속된 바 없는 외부 단말들이 접속할 수 있는 미디어 포털 서비스에 노출될 수 있다.In addition, according to another exemplary embodiment, when the content satisfies a predetermined criterion, the content may be exposed to a media portal service that can be accessed by external terminals that are not p2p connected to the mobile storage device in which the content is stored. .

또한, 또 다른 몇몇 실시 예에 따르면, 상기 모바일 스토리지 장치는 상태 정보를 출력할 수 있도록 구비된 인디케이터를 더 포함하고, 상기 컨텐츠는, 상기 모바일 스토리지 장치가 상기 호스트 장치에서 연결 해제 되면, 상기 컨텐츠 딜리버리 서버에서 비활성화 또는 삭제되고, 상기 복수의 인스트럭션은, 상기 컨텐츠가 상기 미디어 포털 서비스에 노출된 것을 가리키는 데이터를 수신하는 것에 응답하여, 상기 인디케이터를 제어하는 제어 신호를 출력하는 인스트럭션을 포함할 수 있다.In addition, according to another exemplary embodiment, the mobile storage device further includes an indicator provided to output status information, and the content is delivered when the mobile storage device is disconnected from the host device. Deactivated or deleted at the server, the plurality of instructions may include instructions for outputting a control signal for controlling the indicator in response to receiving data indicating that the content is exposed to the media portal service.

상기 기술적 과제를 해결하기 위한, 일 실시예에 따른 컴퓨팅 장치에 의하여 수행되는 방법은, 호스트 장치에 연결된 모바일 스토리지 장치로부터, 상기 모바일 스토리지 장치에 발급된 장치 고유 키 및 상기 호스트 장치에 연결됨에 따라 상기 모바일 스토리지 장치에 할당 된 주소 정보를 포함한 등록 요청을 수신하는 단계; 상기 등록 요청을 반영하여 매칭 테이블을 업데이트 하는 단계; 외부 단말로부터 로그인 정보를 수신하는 단계; 상기 매칭 테이블을 이용하여 상기 로그인 정보에 대응되는 장치 고유 키를 조회하는 단계; 및 상기 조회된 장치 고유 키의 주소 정보를 상기 외부 단말에 송신하고, 상기 조회된 장치 고유 키를 가진 모바일 스토리지 장치에 상기 외부 단말의 주소 정보를 송신함으로써, 홀펀칭을 중개하는 단계를 포함할 수 있다.To solve the above technical problem, a method performed by a computing device according to an embodiment includes: a device unique key issued to the mobile storage device and a connection to the host device from a mobile storage device connected to the host device; Receiving a registration request including address information assigned to the mobile storage device; Updating a matching table by reflecting the registration request; Receiving login information from an external terminal; Querying a device-specific key corresponding to the login information using the matching table; And transmitting the address information of the inquired device-specific key to the external terminal and mediating hole punching by transmitting the address information of the external terminal to the mobile storage device having the inquired device-specific key. have.

상기 기술적 과제를 해결하기 위한, 다른 일 실시예에 따른 컴퓨팅 장치에 의하여 수행되는 방법은, 호스트 장치에 연결된 모바일 스토리지 장치로부터, 상기 모바일 스토리지 장치에 발급된 장치 고유 키 및 상기 호스트 장치에 연결됨에 따라 상기 모바일 스토리지 장치에 할당 된 주소 정보를 포함한 등록 요청을 수신하는 단계; 상기 등록 요청을 반영하여 매칭 테이블을 업데이트 하는 단계; 상기 호스트 장치를 통해서 수신자 선택 사용자 인터페이스를 제공하는 단계; 상기 모바일 스토리지 장치로부터 상기 수신자 선택 사용자 인터페이스를 통해 선택된 외부 단말에 대한 컨텐츠의 송신 요청을 수신하는 단계; 상기 외부 단말의 연결 상태가 상기 컴퓨팅 장치에 연결되지 않은 상태인 경우, 상기 컨텐츠를 하나 이상의 주변 모바일 스토리지 장치에 저장되도록 상기 매칭 테이블을 이용하여 상기 모바일 스토리지 장치와 상기 하나 이상의 주변 모바일 스토리지 장치 사이의 홀펀징을 중개하는 단계; 및 상기 외부 단말이 상기 컴퓨팅 장치에 연결된 경우, 상기 컨텐츠가 상기 외부 단말로 전송되도록 상기 하나 이상의 주변 모바일 스토리지 장치와 상기 외부 단말 사이의 홀펀칭을 중개하는 단계;를 더 포함할 수 있다.In order to solve the above technical problem, a method performed by a computing device according to another embodiment may include a device unique key issued to the mobile storage device and a connection to the host device from a mobile storage device connected to the host device. Receiving a registration request including address information assigned to the mobile storage device; Updating a matching table by reflecting the registration request; Providing a recipient selection user interface through the host device; Receiving a request to transmit content to an external terminal selected through the recipient selection user interface from the mobile storage device; When the connection state of the external terminal is not connected to the computing device, between the mobile storage device and the one or more peripheral mobile storage devices using the matching table so that the content is stored in one or more peripheral mobile storage devices Mediating hole punching; And when the external terminal is connected to the computing device, mediating hole punching between the one or more peripheral mobile storage devices and the external terminal so that the content is transmitted to the external terminal.

또한, 다른 몇몇 실시 예에 따르면, 상기 컨텐츠의 전송 이력에 대한 로그를 저장하는 단계; 및 상기 컨텐츠에 대한 송신 요청 또는 제공 요청이 수신되는 경우, 상기 로그를 이용하여 홀펀칭을 중개하는 단계;를 더 포함할 수 있다.In addition, according to some other embodiments, storing a log of the transmission history of the content; And when the request for transmission or provision of the content is received, mediating hole punching using the log.

도 1은 몇몇 실시 예에 따라 모바일 스토리지 장치가 외부 단말과 통신을 수행하기 위한 구조를 설명하기 위한 도면이다.
도 2는 몇몇 실시 예에 따른 모바일 스토리지 장치의 구조를 간단히 도시한 구조도이다.
도 3은 몇몇 실시 예에 따라 모바일 스토리지 장치를 이용하여 서비스를 제공하는 시스템의 구조를 설명하기 위한 도면이다.
도 4는 몇몇 실시 예에 따라 모바일 스토리지 장치가 서비스를 제공하기 위해 외부 단말과 연결하는 프로세스를 도시한 도면이다.
도 5 내지 10은 몇몇 실시 예에 따라 모바일 스토리지 장치가 호스트 장치에 연결된 경우에 수행될 수 있는 프로세스를 도시한 도면이다.
도 11은 몇몇 실시 예에 따라 중개 서버가 모바일 스토리지 장치와 외부 단말 사이에 홀 펀칭(Hole Punching)을 수행하는 프로세스를 설명하기 위한 도면이다.
도 12는 몇몇 실시 예에 따른 매칭 테이블의 예시를 도시한 도면이다.
도 13 내지 15는 몇몇 실시 예에 따라 개인 간(Peer to peer; P2P) 파일 공유 방식을 이용하여 컨텐츠를 제공하는 방법을 설명하기 위한 도면이다.
도 16은 몇몇 실시 예에 따라 모바일 스토리지 장치가 컨텐츠 딜리버리 서버를 이용하여 컨텐츠를 제공하는 방법을 설명하기 위한 도면이다.
도 17은 몇몇 실시 예에 따라 컨텐츠가 미디어 포털 서버에서 제공하는 미디어 포털 서비스를 통해 노출된 경우에 수행될 수 있는 프로세스를 도시한 도면이다.
도 18은 몇몇 실시 예에 따라 모바일 스토리지 장치가 다른 모바일 스토리지 장치에 컨텐츠를 전송하는 프로세스를 도시한 도면이다.
도 19는 수신자 선택 사용자 인터페이스(User Interface; UI)의 예시를 도시한 도면이다.
도 20 내지 22는 몇몇 실시 예에 따라 모바일 스토리지 장치가 다른 모바일 스토리지 장치에 컨텐츠를 전송하는 구조를 설명하기 위한 도면이다.
1 is a diagram for describing a structure for a mobile storage device to communicate with an external terminal according to some embodiments.
2 is a structural diagram briefly illustrating a structure of a mobile storage device according to some embodiments.
3 is a diagram illustrating a structure of a system for providing a service using a mobile storage device according to some embodiments.
4 is a diagram illustrating a process in which a mobile storage device connects with an external terminal to provide a service according to some embodiments.
5 to 10 are diagrams illustrating a process that may be performed when a mobile storage device is connected to a host device according to some embodiments.
11 is a diagram illustrating a process in which an intermediary server performs hole punching between a mobile storage device and an external terminal according to some embodiments.
12 is a diagram illustrating an example of a matching table according to some embodiments.
13 to 15 are diagrams for explaining a method of providing content using a peer-to-peer (P2P) file sharing method according to some embodiments.
16 is a diagram for describing a method in which a mobile storage device provides content using a content delivery server according to some embodiments.
17 is a diagram illustrating a process that may be performed when content is exposed through a media portal service provided by a media portal server according to some embodiments.
18 is a diagram illustrating a process in which a mobile storage device transmits content to another mobile storage device according to some embodiments.
19 is a diagram illustrating an example of a recipient selection user interface (UI).
20 to 22 are diagrams for describing a structure in which a mobile storage device transmits content to another mobile storage device according to some embodiments.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention, and methods for achieving them will be clarified with reference to embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only the embodiments allow the publication of the present invention to be complete, and general knowledge in the technical field to which the present invention pertains. It is provided to fully inform the holder of the scope of the invention, and the invention is only defined by the scope of the claims.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used in a sense that can be commonly understood by those skilled in the art to which the present invention pertains. In addition, terms defined in the commonly used dictionary are not ideally or excessively interpreted unless specifically defined. The terminology used herein is for describing the embodiments and is not intended to limit the present invention. In this specification, the singular form also includes the plural form unless otherwise specified in the phrase.

다른 정의가 없다면, 본 명세서에서 어떤 구성요소가 다른 구성요소와 "연결"되었다고 함은 물리적으로 연결된 경우만이 아니라 통신 가능하도록 연결된 경우를 포함한다.Unless otherwise defined, the term "connected" to another component in the present specification includes a case in which communication is made to be communicative as well as physically connected.

이하, 도면들을 참조하여 본 발명의 몇몇 실시예들을 설명한다.Hereinafter, some embodiments of the present invention will be described with reference to the drawings.

도 1은 몇몇 실시 예에 따라 모바일 스토리지 장치(100)가 외부 단말(130)과 통신을 수행하기 위한 구조를 설명하기 위한 도면이다.1 is a diagram for describing a structure for a mobile storage device 100 to communicate with an external terminal 130 according to some embodiments.

몇몇 실시 예에 따른 모바일 스토리지 장치(100)는 호스트 장치(110)에 연결될 수 있다. 예를 들어, 모바일 스토리지 장치(100)는 호스트 장치(110)의 USB(Universal Serial Bus) 포트에 연결될 수 있다. 다만, 이에 한정되지 아니하며, 모바일 스토리지 장치(110)는 다른 형태의 데이터 통신 포트나 무선 통신 모듈을 이용하여 호스트 장치(110)에 연결될 수도 있다. 모바일 스토리지 장치(100)는 데이터를 저장할 수 있는 저장 매체를 구비하고, 호스트 장치(110)에 저장된 데이터를 전송하거나 호스트 장치(110)로부터 수신된 데이터를 저장할 수 있다. 모바일 스토리지 장치(100)는, 예를 들어 플래시 메모리를 구비하는 개인저장매체의 형태일 수 있다.The mobile storage device 100 according to some embodiments may be connected to the host device 110. For example, the mobile storage device 100 may be connected to the Universal Serial Bus (USB) port of the host device 110. However, the present invention is not limited thereto, and the mobile storage device 110 may be connected to the host device 110 using another type of data communication port or wireless communication module. The mobile storage device 100 includes a storage medium capable of storing data, and may transmit data stored in the host device 110 or store data received from the host device 110. The mobile storage device 100 may be, for example, in the form of a personal storage medium having a flash memory.

호스트 장치(110)는 네트워크(예를 들어, 인터넷)에 연결할 수 있는 장치를 의미한다. 예를 들어, 호스트 장치(110)는 네트워크에 연결된 데스크톱 PC, 랩톱, 스마트폰, 태블릿 PC와 같은 컴퓨팅 장치일 수 있다. 또는, 다른 예를 들면 호스트 장치(110)는 인터넷 IP 주소 공유기나 억세스 포인트(Access Point; AP) 장치와 같이 다른 장치를 네트워크에 연결하기 위한 네트워크 장치일 수도 있다.The host device 110 refers to a device that can connect to a network (eg, the Internet). For example, the host device 110 may be a computing device such as a desktop PC, laptop, smartphone, or tablet PC connected to a network. Alternatively, for example, the host device 110 may be a network device for connecting other devices to the network, such as an Internet IP address sharer or an access point (AP) device.

외부 단말(130)은 서비스 제공을 위해 호스트 장치(110)를 통해서 모바일 스토리지 장치(100)와 데이터를 송수신하는 장치이다. 몇몇 실시 예에 따르면, 외부 단말(130)은 모바일 스토리지 장치(100)와 동일하거나 유사한 형태의 다른 모바일 스토리지 장치일 수 있다. 이 경우 다른 모바일 스토리지 장치는 다른 호스트 장치를 통해서 호스트 장치(110)와 연결될 수 있다. 다른 실시 예에 따르면, 외부 단말(130)은 네트워크에 연결된 데스크톱 PC, 랩톱, 스마트폰, 태블릿 PC와 같은 컴퓨팅 장치일 수 있다.The external terminal 130 is a device that transmits and receives data to and from the mobile storage device 100 through the host device 110 to provide a service. According to some embodiments, the external terminal 130 may be another mobile storage device of the same or similar form to the mobile storage device 100. In this case, another mobile storage device may be connected to the host device 110 through another host device. According to another embodiment, the external terminal 130 may be a computing device such as a desktop PC, laptop, smart phone, or tablet PC connected to a network.

몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)는 서비스 제공을 위해 개인 간(Peer to peer; P2P) 통신 방식을 통해서 외부 단말(130)과 통신할 수 있다. 여기서, 서비스는 프로그램이 실행되어 네트워크를 통해서 사용자에게 제공될 수 있는 것을 의미한다. 예를 들어, 서비스는 메일링 서비스, 파일 공유 서비스, 미디어 제공 서비스 및 웹 호스팅 서비스 중 어느 하나 이상을 포함할 수 있다. 모바일 스토리지 장치(100)는 호스트 장치(110)에 연결되면 호스트 장치(110)로부터 전력을 공급받을 수 있으며, 서비스를 제공하기 위한 인스트럭션을 실행할 수 있다. 또한, 몇몇 실시 예에 따르면, 서비스는 서버-클라이언트 모델에 따른 온라인 서비스일 수 있다. 즉, 모바일 스토리지 장치(100)가 서버의 기능을 수행하여 클라이언트인 외부 단말(130)에 서비스를 제공할 수 있다.According to some embodiments, the mobile storage device 100 may communicate with the external terminal 130 through a peer-to-peer (P2P) communication method for providing a service. Here, the service means that a program can be executed and provided to a user through a network. For example, the service may include one or more of a mailing service, a file sharing service, a media providing service, and a web hosting service. When connected to the host device 110, the mobile storage device 100 may receive power from the host device 110 and execute an instruction for providing a service. Further, according to some embodiments, the service may be an online service according to a server-client model. That is, the mobile storage device 100 may perform a server function to provide a service to the external terminal 130 as a client.

도 2는 몇몇 실시 예에 따른 모바일 스토리지 장치(100)의 구조를 간단히 도시한 구조도이다. 도 2에 도시된 모바일 스토리지 장치(100)의 구조는 일부 실시 예를 설명하기 위한 것이며, 실시 예에 따라 모바일 스토리지 장치(100)는 다른 구성요소를 더 포함하거나 도 2에 도시된 구성요소 중 일부를 포함하지 않을 수 있다.2 is a structural diagram simply illustrating a structure of a mobile storage device 100 according to some embodiments. The structure of the mobile storage device 100 illustrated in FIG. 2 is for describing some embodiments, and the mobile storage device 100 further includes other components or some of the components illustrated in FIG. 2 according to an embodiment It may not include.

몇몇 실시 예에 따른 모바일 스토리지 장치(100)는 커넥터(101), 프로세서(102), 및 스토리지(103) 를 포함할 수 있다. 커넥터(101)는 모바일 스토리지 장치(100)가 호스트 장치(110)와 연결하여 신호를 송수신하기 위한 인터페이스를 포함할 수 있다. 예를 들어, 커넥터(101)는 USB 포트에 연결하기 위한 인터페이스를 포함할 수 있다. 다른 예를 들면, 커넥터(101)는 무선 통신을 수행하는 무선 통신 모듈로 대체될 수도 있다. 또한, 몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)는 인디케이터(indicator)(104)를 더 포함할 수도 있다.The mobile storage device 100 according to some embodiments may include a connector 101, a processor 102, and a storage 103. The connector 101 may include an interface through which the mobile storage device 100 connects to the host device 110 to transmit and receive signals. For example, the connector 101 may include an interface for connecting to a USB port. For another example, the connector 101 may be replaced with a wireless communication module that performs wireless communication. Further, according to some embodiments, the mobile storage device 100 may further include an indicator 104.

프로세서(102)는 커넥터(101)를 통해서 모바일 스토리지 장치(100)가 호스트 장치(110)에 전기적으로 연결되면 호스트 장치(110)를 통해서 네트워크(예를 들어, 인터넷)에 연결될 수 있다. 프로세서(102)는 모바일 스토리지 장치(100)가 네트워크에 연결되는 것에 응답하여 스토리지(103)에 저장된 데이터를 이용하여 온라인 서비스를 외부 단말(130)에 제공하기 위한 인스트럭션(instruction)들을 실행할 수 있다. 프로세서(102)는 인스트럭션을 실행하여 모바일 스토리지 장치(100)에 의해 수행되는 동작을 제어할 수 있다.The processor 102 may be connected to a network (eg, the Internet) through the host device 110 when the mobile storage device 100 is electrically connected to the host device 110 through the connector 101. The processor 102 may execute instructions for providing an online service to the external terminal 130 using data stored in the storage 103 in response to the mobile storage device 100 being connected to the network. The processor 102 may execute an instruction to control an operation performed by the mobile storage device 100.

프로세서(102)는 커넥터(101)를 통해서 스토리지(103)에 저장된 데이터를 외부로 전송하거나 데이터를 수신할 수 있다. 또한, 프로세서(102)는 스토리지(103)에 데이터를 기록하거나 스토리지(103)로부터 데이터를 읽을 수 있다. 또한, 프로세서(102)는 인디케이터(104)를 제어하여 신호를 출력할 수 있다.The processor 102 may transmit data stored in the storage 103 to the outside or receive data through the connector 101. Further, the processor 102 may write data to or read data from the storage 103. Further, the processor 102 may control the indicator 104 to output a signal.

인디케이터(104)는 프로세서(103)의 제어에 따라 간단한 정보를 출력하기 위한 장치를 의미한다. 몇몇 실시 예에 따르면, 인디케이터(104)는 LED 램프를 포함할 수 있다. 다른 실시 예에 따르면, 인디케이터(104)는 음향을 출력하는 스피커를 포함할 수도 있다.The indicator 104 means an apparatus for outputting simple information under the control of the processor 103. According to some embodiments, the indicator 104 may include an LED lamp. According to another embodiment, the indicator 104 may include a speaker that outputs sound.

스토리지(103)는 데이터를 저장할 수 있는 기록매체를 포함할 수 있다. 예를 들어, 스토리지(103)는 플래시 메모리 타입의 메모리, 솔리드 스테이트 드라이브(Solid State Drive) 타입의 메모리, 실리콘 디스크 드라이브(Silicon Disk Drive) 타입의 메모리, 하드디스크(Hard Disk) 타입의 메모리, 멀티미디어 카드 마이크로(Multimedia Card Micro) 타입의 메모리, 카드 타입의 메모리, 램(Random Access Memory; RAM), SRAM(Static Random Access Memory), 롬(Read-only Memory; ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장 매체를 포함할 수 있다. 스토리지(103)는 서비스를 위해 제공되는 컨텐츠를 저장할 수 있다. 예를 들어, 컨텐츠는 동영상, 사진, 음악 등의 멀티미디어 데이터이거나 전자 문서를 포함할 수 있다. 모바일 스토리지 장치(100)는 스토리지(103)에 저장된 컨텐츠를 외부 단말(130)에 직접 제공할 수 있으므로 별도의 서버에 컨텐츠를 전송할 필요 없이 컨텐츠를 제공할 수 있다.The storage 103 may include a recording medium capable of storing data. For example, the storage 103 includes a flash memory type memory, a solid state drive type memory, a silicon disk drive type memory, a hard disk type memory, and multimedia. Card Micro type memory, Card type memory, Random Access Memory (RAM), Static Random Access Memory (SRAM), Read-only Memory (ROM), Electrically Erasable Programmable Read-EEPROM It may include a storage medium of at least one type of Only Memory (PROM), Programmable Read-Only Memory (PROM), magnetic memory, magnetic disk, and optical disk. The storage 103 may store content provided for service. For example, the content may be multimedia data such as videos, photos, music, or electronic documents. Since the mobile storage device 100 can directly provide the content stored in the storage 103 to the external terminal 130, the mobile storage device 100 can provide the content without transmitting the content to a separate server.

몇몇 실시 에에 따르면, 스토리지(103)에는 사적 영역(Private Region), 제한적 공개 영역, 무제한 공개 영역 중 하나 이상이 설정될 수 있다. 사적 영역은 모바일 스토리지 장치(100)의 사용자 이외에는 억세스가 금지되는 영역을 의미한다. 제한적 공개 영역은 임의의 사용자의 읽기 억세스는 허용되고, 쓰기 억세스는 모바일 스토리지 장치(100)의 사용자에게만 허용되는 영역을 의미한다. 무제한 공개 영역은 임의의 사용자에 대해 읽기 억세스와 쓰기 억세스가 허용되는 영역을 의미한다.According to some implementations, one or more of a private region, a limited public region, and an unlimited public region may be set in the storage 103. The private area means an area where access is prohibited except for the user of the mobile storage device 100. The limited public area means an area in which any user's read access is allowed, and the write access is allowed only to the user of the mobile storage device 100. The unrestricted public area means an area in which read access and write access are permitted to any user.

또한, 다른 몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)는 스토리지(103)의 용량을 확장하여 사용하기 위한 외부 저장매체 연결 포트를 더 포함할 수도 있다.In addition, according to some other embodiments, the mobile storage device 100 may further include an external storage medium connection port for expanding and using the capacity of the storage 103.

몇몇 실시 예에 따른 모바일 스토리지 장치(100)는 USB 저장 장치를 개조하여 간단하게 구성될 수 있다.The mobile storage device 100 according to some embodiments may be simply configured by converting a USB storage device.

도 3은 몇몇 실시 예에 따라 모바일 스토리지 장치(100)를 이용하여 서비스를 제공하는 시스템의 구조를 설명하기 위한 도면이다.3 is a view for explaining the structure of a system for providing a service using the mobile storage device 100 according to some embodiments.

호스트 장치(110)에 연결된 모바일 스토리지 장치(100)는 네트워크(10)를 통해서 외부 단말(130)에 온라인 서비스를 제공할 수 있다. 모바일 스토리지 장치(100)가 외부 단말(130)에 연결하고 서비스를 제공하기 위해 장치 인증 서버(121), 플랫폼 인증 서버(122), 중개 서버(123), 컨텐츠 딜리버리 서버(Contents Delivery Server)(124) 및 미디어 포털 서버(125) 등이 시스템에 포함될 수 있다. The mobile storage device 100 connected to the host device 110 may provide an online service to the external terminal 130 through the network 10. In order for the mobile storage device 100 to connect to the external terminal 130 and provide services, the device authentication server 121, the platform authentication server 122, the mediation server 123, and the content delivery server (124) ) And the media portal server 125 may be included in the system.

도 3에서 장치 인증 서버(121), 플랫폼 인증 서버(122), 중개 서버(123), 컨텐츠 딜리버리 서버(124) 및 미디어 포털 서버(125)는 별도의 구성요소로 도시되었으나, 반드시 물리적으로 각각 별개의 컴퓨팅 장치로 구성되어야 하는 것은 아니다. 도 3에 장치 인증 서버(121), 플랫폼 인증 서버(122), 중개 서버(123), 컨텐츠 딜리버리 서버(124) 및 미디어 포털 서버(125) 중에서 둘 이상이 하나의 물리적인 컴퓨팅 장치 상에서 가상 머신으로 구현될 수도 있다. 또한, 장치 인증 서버(121), 플랫폼 인증 서버(122), 중개 서버(123), 컨텐츠 딜리버리 서버(124) 및 미디어 포털 서버(125) 중에서 하나 이상이 분산 시스템으로 구성될 수도 있다. 또한, 실시 예에 따라서 시스템은 다른 구성요소를 더 포함하거나, 도 3에 도시된 구성요소 중 일부 구성요소를 생략할 수도 있다.In FIG. 3, the device authentication server 121, the platform authentication server 122, the mediation server 123, the content delivery server 124, and the media portal server 125 are shown as separate components, but must be physically distinct from each other. It does not have to be composed of computing devices. 3, two or more of the device authentication server 121, the platform authentication server 122, the mediation server 123, the content delivery server 124, and the media portal server 125, as a virtual machine on one physical computing device It may be implemented. In addition, one or more of the device authentication server 121, the platform authentication server 122, the mediation server 123, the content delivery server 124, and the media portal server 125 may be configured as a distributed system. In addition, according to an embodiment, the system may further include other components, or may omit some of the components shown in FIG. 3.

시스템을 제공하는 제공자 입장에서는 모바일 스토리지 장치(100)의 판매를 위해 제공자로부터 모바일 스토리지 장치(100)를 구매한 사용자에 한해서만 외부 단말(130)에 서비스가 가능하도록 지원할 필요가 있다. 이를 위해, 장치 인증 서버(121)는 모바일 스토리지 장치(100)를 인증할 수 있다.From a provider's point of view of providing a system, it is necessary to support the external terminal 130 to enable service only for a user who purchases the mobile storage device 100 from the provider for the sale of the mobile storage device 100. To this end, the device authentication server 121 may authenticate the mobile storage device 100.

모바일 스토리지 장치(100)는 모바일 스토리지 장치(100)를 구매한 사용자가 호스트 장치(110)를 통해서 네트워크(10)에 최초로 연결된 경우 모바일 스토리지 장치 인증 인스트럭션을 실행할 수 있다. 모바일 스토리지 장치 인증 인스트럭션은 장치 인증 서버(121)를 통해서 모바일 스토리지 장치(100)가 네트워크(10)에 최초로 연결된 경우에 한해서 실행되고, 모바일 스토리지 장치(100)가 장치 인증 서버(121)를 통한 인증이 완료된 이후에는 실행되지 않을 수 있다.The mobile storage device 100 may execute a mobile storage device authentication instruction when a user who purchases the mobile storage device 100 is connected to the network 10 for the first time through the host device 110. The mobile storage device authentication instruction is executed only when the mobile storage device 100 is connected to the network 10 for the first time through the device authentication server 121, and the mobile storage device 100 authenticates through the device authentication server 121. After this is completed, it may not be executed.

모바일 스토리지 장치 인증 인스트럭션은 장치 인증 서버(121)에 인증 요청을 송신하는 인스트럭션을 포함할 수 있다. 여기서, 인증 요청은 모바일 스토리지 장치(100)를 식별하는 식별자를 포함할 수 있다. 또한, 식별자는 장치 인증 서버(121)가 시스템의 제공자에 의해 제조된 식별자인지 여부를 판단할 수 있도록 모바일 스토리지 장치(100)의 제조시에 모바일 스토리지 장치(100)에 기록된 장치 식별자일 수 있다.The mobile storage device authentication instruction may include an instruction that sends an authentication request to the device authentication server 121. Here, the authentication request may include an identifier that identifies the mobile storage device 100. Further, the identifier may be a device identifier recorded in the mobile storage device 100 at the time of manufacture of the mobile storage device 100 so that the device authentication server 121 can determine whether it is an identifier manufactured by a provider of the system. .

또한, 모바일 스토리지 장치 인증 인스트럭션은 장치 인증 서버(121)로부터 인증 성공을 나타내는 데이터가 수신된 경우, 사용자 정보를 입력 받기 위한 그래픽 사용자 인터페이스(GUI)가 표시되기 위한 데이터를 호스트 장치(110)에 제공할 수 있다. 이 경우, 호스트 장치(110)는 디스플레이 장치를 구비한 장치일 수 있다. 사용자 정보를 입력 받기 위한 GUI는 사용자 정보를 통해서 사용자의 계정을 생성하기 위한 회원 가입 프로세스를 진행하는 회원 가입 GUI이거나 또는 사용자 계정에 대한 정보를 입력 받아 로그인 프로세스를 처리하기 위한 로그인 GUI일 수 있다.In addition, the mobile storage device authentication instruction provides data for displaying a graphical user interface (GUI) for receiving user information to the host device 110 when data indicating authentication success is received from the device authentication server 121. can do. In this case, the host device 110 may be a device having a display device. The GUI for receiving user information may be a member registration GUI that performs a member registration process for creating a user account through user information or a login GUI for processing a login process by receiving information about a user account.

장치 인증 서버(121)를 통해서 인증이 완료된 모바일 스토리지 장치(100)는 플랫폼 인증 서버(122)로부터 사용자 정보에 매칭된 장치 고유 키를 발급받을 수 있다. 장치 고유 키는 인증이 완료된 모바일 스토리지 장치(100)에 대해 부여되는 비밀 키(Private Key)일 수 있다. 몇몇 실시 예에 따르면, 플랫폼 인증 서버(122)는 보안을 위해 블록 체인(Block Chain)의 노드로 구성될 수 있다. 이 경우, 플랫폼 인증 서버(122)는 블록 체인을 기반으로 분산된 데이터를 기초로 모바일 스토리지 장치(100)에 대한 인증을 수행할 수 있다.The mobile storage device 100 that has been authenticated through the device authentication server 121 may receive a device-specific key matched with user information from the platform authentication server 122. The device-specific key may be a private key that is granted to the mobile storage device 100 that has been authenticated. According to some embodiments, the platform authentication server 122 may be configured as a node of a block chain for security. In this case, the platform authentication server 122 may perform authentication for the mobile storage device 100 based on the distributed data based on the blockchain.

모바일 스토리지 장치(100)는 발급받은 고유 키를 이용하여 인증을 받을 수 있다. 따라서, 모바일 스토리지 장치(100)는 사용자 정보를 입력 받기 위한 입력 장치나 디스플레이 장치가 없는 인터넷 IP 주소 공유기와 같은 장치에 연결되는 경우에도 인증을 받을 수 있다.The mobile storage device 100 may be authenticated using the issued unique key. Therefore, the mobile storage device 100 can be authenticated even when connected to a device such as an Internet IP address sharer without an input device or a display device for receiving user information.

중개 서버(123)는 모바일 스토리지 장치(100)의 요청에 따라 모바일 스토리지 장치(100)의 인터넷 IP 주소 정보를 등록할 수 있다. 중개 서버(123)는 모바일 스토리지 장치(100)가 외부 단말(130)에 서비스를 제공할 수 있도록 홀 펀칭(Hole Punching)을 수행하여 모바일 스토리지 장치(100)와 외부 단말(130) 사이의 P2P 통신을 연결할 수 있다. 몇몇 실시 예에 따르면, 중개 서버(123)는 모바일 스토리지 장치(100)와 외부 단말(130)이 서로 연결되기 위한 랑데부 서버의 역할을 수행할 수 있다.The intermediary server 123 may register Internet IP address information of the mobile storage device 100 at the request of the mobile storage device 100. The intermediary server 123 performs hole punching so that the mobile storage device 100 can provide a service to the external terminal 130, P2P communication between the mobile storage device 100 and the external terminal 130 Can connect. According to some embodiments, the mediation server 123 may serve as a rendezvous server for connecting the mobile storage device 100 and the external terminal 130 to each other.

몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)는 컨텐츠 딜리버리 서버(124)를 통해서 컨텐츠를 외부 단말(130)에 제공할 수 있다. 모바일 스토리지 장치(100)는 낮은 가격에 소형으로 제공되기 위하여 처리 가능한 트래픽에 한계가 있다. 따라서, 모바일 스토리지 장치(100)는 감당하기 어려운 수준의 트래픽이 발생할 경우 컨텐츠를 컨텐츠 딜리버리 서버(124)에 제공하고, 컨텐츠 딜리버리 서버(124)가 컨텐츠를 제공하도록 할 수 있다. 예를 들어, 모바일 스토리지 장치(100)에 저장된 컨텐츠에 대한 리드(read) 억세스 트래픽이 기준치를 초과하는 경우에 모바일 스토리지 장치(100)는 컨텐츠에 대한 리드 억세스 트래픽을 컨텐츠 딜리버리 서버(124)로 리다이렉션(redirection)할 수 있다.According to some embodiments, the mobile storage device 100 may provide content to the external terminal 130 through the content delivery server 124. The mobile storage device 100 is limited in traffic that can be processed in order to be provided in a small size at a low price. Accordingly, the mobile storage device 100 may provide the content to the content delivery server 124 when traffic that is difficult to handle is generated, and allow the content delivery server 124 to provide the content. For example, when the read access traffic for the content stored in the mobile storage device 100 exceeds a reference value, the mobile storage device 100 redirects the read access traffic for the content to the content delivery server 124 (redirection).

미디어 포털 서버(125)는 외부 단말(130)에 포털(portal) 서비스를 제공할 수 있다. 미디어 포털 서버(125)는 모바일 스토리지 장치(100)에 저장된 컨텐츠를 노출시켜 모바일 스토리지 장치(100)와 P2P 연결된 적 없는 외부 단말들이 컨텐츠에 접속할 수 있는 경로를 제공할 수 있다. 예를 들어, 미디어 포털 서버(125)는 컨텐츠 딜리버리 서버(124)에 저장된 컨텐츠 중에서 선호도가 높은 컨텐츠에 관련된 정보를 표시하고 그 링크를 제공하는 포털 페이지를 외부 단말(130)에 제공할 수 있다. 외부 단말(130)은 포털 페이지를 통해서 컨텐츠에 접근할 수 있다.The media portal server 125 may provide a portal service to the external terminal 130. The media portal server 125 may expose content stored in the mobile storage device 100 to provide a path through which external terminals that have never been P2P connected to the mobile storage device 100 can access the content. For example, the media portal server 125 may provide information related to the content having high preference among contents stored in the content delivery server 124 and provide a portal page to the external terminal 130 providing the link. The external terminal 130 can access the content through the portal page.

도 4는 몇몇 실시 예에 따라 모바일 스토리지 장치(100)가 서비스를 제공하기 위해 외부 단말(130)과 연결하는 프로세스를 도시한 도면이다.4 is a diagram illustrating a process in which the mobile storage device 100 connects with the external terminal 130 to provide a service according to some embodiments.

먼저, 단계 S410에서 모바일 스토리지 장치(100)는 호스트 장치(110)와 전기적으로 연결될 수 있다. 모바일 스토리지 장치(100)는 호스트 장치(110)와 연결됨으로써 호스트 장치(110)를 통해 네트워크(10)에 연결될 수 있다. 이 경우, 모바일 스토리지 장치(100)는 호스트 장치(110)로부터 전력을 공급 받아서 실시간 운영체제를 부팅할 수 있다. 몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)의 프로세서(101)는 부팅이 완료되면 모바일 스토리지 장치(100)의 제조시에 설치된 온라인 서비스 제공 소프트웨어에 포함된 복수의 인스트럭션을 자동으로 실행할 수 있다. 여기서, 온라인 서비스 제공 소프트웨어는 스토리지(103)의 사용자 레벨에서 접근이 불가능한 영역에 설치되거나, 모바일 스토리지 장치(100)의 Read-Only Memory(ROM)에 설치된 것일 수 있다.First, in step S410, the mobile storage device 100 may be electrically connected to the host device 110. The mobile storage device 100 can be connected to the network 10 through the host device 110 by being connected to the host device 110. In this case, the mobile storage device 100 may receive power from the host device 110 to boot a real-time operating system. According to some embodiments, when the booting is completed, the processor 101 of the mobile storage device 100 may automatically execute a plurality of instructions included in online service provision software installed at the time of manufacture of the mobile storage device 100. Here, the online service providing software may be installed in an area inaccessible at the user level of the storage 103 or may be installed in a read-only memory (ROM) of the mobile storage device 100.

또한, 모바일 스토리지 장치(100)가 호스트 장치(110)에 연결되는 경우, 모바일 스토리지 장치(100)는 스토리지(103)에 저장된 프로그램이 실행되어 서비스 제공을 위한 시스템에 로그인을 시도할 수 있다. 여기서, 몇몇 실시 예에 따르면 모바일 스토리지 장치(100)는 블록체인 인증을 통해서 인증을 받을 수 있다.In addition, when the mobile storage device 100 is connected to the host device 110, the mobile storage device 100 may execute a program stored in the storage 103 and attempt to log into a system for providing a service. Here, according to some embodiments, the mobile storage device 100 may be authenticated through blockchain authentication.

여기서, 로그인 시 모바일 스토리지 장치(100)에 저장된 개인 키(Private Key) 또는 장치 식별자가 유효한지 여부에 따라서 모바일 스토리지 장치(100)가 인증될 수 있다. 여기서, 모바일 스토리지 장치(100)가 유효하게 인증된 경우, 로그인이 완료됨에 따라서 공개 키(Public key)를 이용하여 개인 키를 갱신하고 기록할 수 있다.Here, the mobile storage device 100 may be authenticated according to whether a private key or a device identifier stored in the mobile storage device 100 is valid at login. Here, when the mobile storage device 100 is effectively authenticated, the private key can be updated and recorded using a public key as the login is completed.

또한, 몇몇 실시 예에 따르면, 모바일 스토리지 장치(100) 또는 플랫폼 인증 서버(122)는 플랫폼 인증 서버(122)가 가진 공개 키와 사용자가 보유한 개인 키를 조합하여 장치 고유 키로 활성화할 수 있다. 이후 모바일 스토리지 장치(100)는 사용자에 대한 인증(예를 들어, 휴대폰을 이용한 인증)의 절차를 거쳐서 플랫폼 인증 서버(122)로부터 장치 고유 키를 갱신 받고 다시 로그인 절차를 속행할 수 있다.Further, according to some embodiments, the mobile storage device 100 or the platform authentication server 122 may activate the device-specific key by combining the public key of the platform authentication server 122 with the private key of the user. Thereafter, the mobile storage device 100 may renew the device-specific key from the platform authentication server 122 through the procedure of authentication for the user (for example, authentication using a mobile phone) and continue the login process again.

모바일 스토리지 장치(100)에 대한 인증이 완료된 경우, 현재의 모바일 스토리지 장치(100)에 대한 주소 정보와 서비스와 관련된 주요 정보가 중개 서버(123)로 전달되고, 중개 서버(123)에 의해 매칭 테이블이 업데이트될 수 있다. 여기서, 서비스에 관련된 주요 정보는, 예를 들어, 개인 메일 계정, 웹 호스팅 주소 또는 제공되는 미디어 파일의 위치 등을 포함할 수 있다.When authentication for the mobile storage device 100 is completed, address information and service related key information for the current mobile storage device 100 are transmitted to the intermediary server 123, and the matching table is provided by the intermediary server 123. This can be updated. Here, the main information related to the service may include, for example, a personal mail account, a web hosting address, or a location of a media file provided.

여기서, 모바일 스토리지 장치(100)는 여러 가지 호스트 장치에 연결될 수 있다. 따라서, 모바일 스토리지 장치(100)가 다른 호스트 장치에 연결되거나, 호스트 장치의 IP 주소가 동적 IP 주소인 경우 모바일 스토리지 장치(100)에 할당되는 주소가 변경될 수 있다. 또는, 모바일 스토리지 장치(100)에 할당되는 IP 주소나 외부 단말(130)의 IP 주소가 사설 IP 주소인 경우, 사설 IP 주소를 할당한 네트워크 주소 변환기(Network Address Translator; NAT) 하위의 장비는 자신의 사설 IP 주소만 알 수 있을 뿐 어떤 공인 IP 주소로 외부와 통신하고 있는지 알 수 없다. 또한, NAT의 외부에서 NAT 하위 장비와 통신하는 피어는 상대방의 공인 IP 주소와 NAT가 할당한 포트만 알 수 있으며 사설 IP 주소는 알 수 없다. 또한 NAT 외부의 피어는 먼저 NAT 하위의 장비로 통신을 시작(initiate)할 수 없는 문제가 있다. 따라서, 이 경우에는 모바일 스토리지 장치(100)와 외부 단말(130)이 직접 통신을 시작할 수 없는 문제가 있다.Here, the mobile storage device 100 may be connected to various host devices. Accordingly, when the mobile storage device 100 is connected to another host device or when the IP address of the host device is a dynamic IP address, the address assigned to the mobile storage device 100 may be changed. Or, if the IP address assigned to the mobile storage device 100 or the IP address of the external terminal 130 is a private IP address, the device under the Network Address Translator (NAT) that assigned the private IP address is itself You can only know your private IP address, not what public IP address you are communicating with. In addition, peers communicating with NAT sub-devices outside of NAT can know only the other party's public IP address and the port assigned by NAT, not the private IP address. In addition, there is a problem that a peer outside the NAT cannot initiate communication with a device under the NAT first. Therefore, in this case, there is a problem that the mobile storage device 100 and the external terminal 130 cannot directly start communication.

따라서, 모바일 스토리지 장치(100)는 외부 단말(130)과 연결하기 위해 모바일 스토리지 장치(100)와 외부 단말(130) 간에 통신이 가능할 있도록 IP 주소와 포트 정보를 확보할 필요가 있다. IP 주소와 포트 정보를 확보하기 위해 중개 서버(123)가 이용될 수 있다. 단계 S420에서 모바일 스토리지 장치(100)는 자동으로 중개 서버(123)에 모바일 스토리지 장치(100)에 등록 요청을 송신할 수 있다. 여기서 등록 요청은 커넥터가 호스트 장치(110)에 연결되었을 때 모바일 스토리지 장치(100)에 할당되는 주소 정보를 포함할 수 있다.Therefore, the mobile storage device 100 needs to secure IP address and port information to enable communication between the mobile storage device 100 and the external terminal 130 to connect with the external terminal 130. The intermediary server 123 may be used to secure IP address and port information. In step S420, the mobile storage device 100 may automatically transmit a registration request to the mobile storage device 100 to the intermediary server 123. Here, the registration request may include address information allocated to the mobile storage device 100 when the connector is connected to the host device 110.

이후, 단계 S430에서 모바일 스토리지 장치(100)는 중개 서버(123)를 이용하여 외부 단말(130)과 연결하고, 데이터를 P2P 송수신할 수 있다. 여기서, 중개 서버(123)는 모바일 스토리지 장치(100)와 외부 단말(130) 사이의 홀 펀칭(Hole Punching)을 수행할 수 있다.Thereafter, in step S430, the mobile storage device 100 may connect to the external terminal 130 using the mediation server 123, and transmit and receive data P2P. Here, the intermediary server 123 may perform hole punching between the mobile storage device 100 and the external terminal 130.

현재의 인터넷 주소 체계의 방식은 글로벌(global) 주소 영역, 개인(private) 주소 영역들이 네트워크 주소 변환(Network Address Transform)을 통해서 연결되는 주소 체계이다. 따라서, 서로 다른 개인 네트워크에 존재하는 두 피어(peers)인 모바일 스토리지 장치(100) 및 외부 단말(130)이 직접적으로 통신하기 위한 방법이 필요하다. 여기서, 홀 펀칭이란 직접적인 TCP/UDP 통신 등이 불가능한 피어(peer)들 간에 직접적인 통신이 가능할 수 있도록 IP 주소와 포트를 확보하는 것을 의미한다. 홀 펀칭을 이용하여, 서로 다른 네트워크에 존재하는 모바일 스토리지 장치(100)와 외부 단말(130) 간의 P2P 연결을 구성할 수 있다.The current method of Internet address system is an address system in which global address areas and private address areas are connected through a network address transform. Accordingly, there is a need for a method for two mobile peers existing in different private networks, the mobile storage device 100 and the external terminal 130 to communicate directly. Here, hole punching means securing an IP address and a port so that direct communication is possible between peers that cannot directly communicate with TCP / UDP. Using hole punching, a P2P connection between the mobile storage device 100 and the external terminal 130 existing in different networks may be configured.

예를 들어, 모바일 스토리지 장치(100)를 이용하여 메일링 서비스를 제공할 때, 모바일 스토리지 장치(100)는 외부 단말(130)로부터 메일을 수신하거나, 외부 단말(130)로 메일을 전송할 수 있다. 메일을 수신하는 경우를 로 들면, 외부 단말(130)에서 수신자 메일 주소를 포함하는 메일이 발송된 경우, 중개 서버(123)에 의해 모바일 스토리지 장치(100)의 메일 주소와 일치하는 메일이 감지되면, 중개 서버(123)는 발송된 메일이 모바일 스토리지 장치(100)에 의해 제공되는 메일 서버로 전송되고 모바일 스토리지 장치(100)에 저장되도록 할 수 있다.For example, when providing a mailing service using the mobile storage device 100, the mobile storage device 100 may receive mail from the external terminal 130 or send mail to the external terminal 130. . When receiving mail, for example, when an email including a recipient's email address is sent from the external terminal 130, when an email matching the email address of the mobile storage device 100 is detected by the intermediary server 123 , The intermediary server 123 may allow the sent mail to be transmitted to the mail server provided by the mobile storage device 100 and stored in the mobile storage device 100.

또는, 모바일 스토리지 장치(100)를 이용하여 미디어 서비스를 제공하는 경우를 예로 들면, 미디어 포털 서버(125)가 포털 페이지를 통해서 미디어에 대한 재생을 요청 받을 수 있다. 이 경우, 중개 서버(123)는 해당 미디어의 파일을 저장하고 있는 모바일 스토리지 장치(100)와 외부 단말(130)이 그 파일을 송수신할 수 있도록 P2P 연결을 수립시킬 수 있다.Alternatively, for example, in the case of providing a media service using the mobile storage device 100, the media portal server 125 may be requested to play media through the portal page. In this case, the intermediary server 123 may establish a peer-to-peer connection so that the mobile storage device 100 and the external terminal 130 storing the media file can transmit and receive the file.

중개 서버(123)는, 예를 들어 메일 서비스의 경우 블록 체인 서버에 의해 업데이트된 매칭 테이블에서 서비스가 정확한 위치에 전달될 수 있도록 서비스를 중개한다. 메일 전송 서비스의 경우 메일 서비스에 대한 사용자 가입 시 등록된 가상 고정 주소에 모바일 스토리지 장치(100)에 동적으로 할당된 주소를 매핑하여 메일이 전송될 수 있다. 미디어 파일을 전송하는 경우, 포털 페이지에 표시된 미디어의 썸네일 등이 사용자 입력에 의해 선택된 경우 그 미디어의 파일의 위치가 가상 고정 주소와 모바일 스토리지 장치(100)에 동적으로 할당된 주소와 매핑하여 미디어 제공 서비스가 제공된다. 웹 호스팅의 경우에도 중개서버에 의해 가상 고정 주소와 동적으로 할당되는 주소를 매핑하여 서비스가 제공될 수 있다.The mediation server 123, for example, in the case of a mail service, mediates the service so that the service can be delivered to the correct location in the matching table updated by the blockchain server. In the case of the mail transmission service, mail may be transmitted by mapping an address dynamically allocated to the mobile storage device 100 to a virtual fixed address registered when a user subscribes to the mail service. When transmitting a media file, if the thumbnail of the media displayed on the portal page is selected by user input, the location of the media file is mapped to a virtual fixed address and an address dynamically assigned to the mobile storage device 100 to provide the media Service is provided. In the case of web hosting, a service can be provided by mapping a virtual fixed address and a dynamically allocated address by an intermediary server.

도 5 내지 10은 몇몇 실시 예에 따라 모바일 스토리지 장치(100)가 호스트 장치(110)에 연결된 경우에 수행될 수 있는 프로세스를 도시한 도면이다.5 to 10 are diagrams illustrating processes that may be performed when the mobile storage device 100 is connected to the host device 110 according to some embodiments.

도 5를 참조하면, 단계 S501에서 모바일 스토리지 장치(100)가 호스트 장치(110)에 연결되면, 모바일 스토리지 장치(100)가 전력을 공급받아 모바일 스토리 장치(100)에 내장된 운영체제를 부팅하고 네트워크에 연결할 수 있다. 이후, 모바일 스토리지 장치(100)는 단계 S502에서 모바일 스토리지 장치(100)가 네트워크에 최초로 연결된 것인지 여부를 판단할 수 있다. 예를 들어, 모바일 스토리지 장치(100)는 모바일 스토리지 장치(100)에 저장된 연결 로그를 조회할 수 있다. 여기서, 연결 로그는 모바일 스토리지 장치(100)가 호스트 장치(110)를 통해서 네트워크에 연결된 이력을 저장한 것을 의미할 수 있다. 또는, 다른 예를 들면, 모바일 스토리지 장치(100)는 모바일 스토리지 장치(100)에 플랫폼 인증 서버(122)로부터 발급된 장치 고유 키가 저장되어 있는지 여부에 따라서 모바일 스토리지 장치(100)가 호스트 장치(110)에 최초로 연결된 것인지 여부를 판단할 수도 있다. 즉, 모바일 스토리지 장치(100)는 장치 고유 키가 조회되지 않는 경우 호스트 장치(110)에 최초로 연결된 상태인 것으로 판단할 수 있다. 또 다른 예를 들면, 모바일 스토리지 장치(100)는 호스트 장치(110)와 연결되었던 이력이 있는지 여부를 나타내는 상태 정보를 저장하고, 그 상태 정보를 이용하여 호스트 장치(110)와의 연결이 최초 연결인지 여부를 판단할 수 있다. 다만, 모바일 스토리지 장치(100)에 호스트 장치(110)와의 연결이 최초 연결인지 여부를 판단하는 방법은 상술한 예시에 한정되어야 하는 것은 아니다.Referring to FIG. 5, when the mobile storage device 100 is connected to the host device 110 in step S501, the mobile storage device 100 is supplied with power to boot an operating system built in the mobile story device 100 and network. Can connect to Thereafter, the mobile storage device 100 may determine whether the mobile storage device 100 is connected to the network for the first time in step S502. For example, the mobile storage device 100 may query the connection log stored in the mobile storage device 100. Here, the connection log may mean that the mobile storage device 100 stores the history connected to the network through the host device 110. Alternatively, for another example, the mobile storage device 100 may be configured to host the mobile storage device 100 according to whether the device-specific key issued from the platform authentication server 122 is stored in the mobile storage device 100. It may be determined whether or not it is connected to 110 for the first time. That is, the mobile storage device 100 may determine that the device is initially connected to the host device 110 when the device unique key is not retrieved. For another example, the mobile storage device 100 stores status information indicating whether there is a history associated with the host device 110 and uses the status information to determine whether the connection to the host device 110 is the first connection. You can judge whether or not. However, the method for determining whether the connection to the host device 110 is the first connection to the mobile storage device 100 is not limited to the above-described example.

사용자가 모바일 스토리지 장치(100)를 구매하여 최초로 호스트 장치(110)에 연결한 경우, 모바일 스토리지 장치(100)는 모바일 스토리지 장치(100)를 등록하기 위한 인스트럭션들을 실행할 수 있다.When the user purchases the mobile storage device 100 and connects to the host device 110 for the first time, the mobile storage device 100 may execute instructions for registering the mobile storage device 100.

몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)는 모바일 스토리지 장치(100)의 제조시에 설정된 장치 식별자를 이용하여 최초 인증을 수행할 수 있다. 도 6을 참조하면, 도 5의 단계 S502에서 모바일 스토리지 장치(100)가 호스트 장치(110)에 최초로 연결된 것으로 판단된 이후에, 단계 S511에서 모바일 스토리지 장치(100)는 장치 식별자를 포함하는 인증 요청을 장치 인증 서버(121)로 전송할 수 있다. 여기서, 장치 식별자는 모바일 스토리지 장치(100)를 식별하기 위한 고유의 정보일 수 있다. 또한, 장치 식별자는 모바일 스토리지 장치(100)가 제조될 때 모바일 스토리지 장치(100)에 설정된 정보일 수 있다. 또한, 장치 식별자는 장치 인증 서버(121)에도 저장되어 있을 수 있다. 장치 인증 서버(121)는 저장되어 있는 장치 식별자와 모바일 스토리지 장치(100)로부터 수신된 장치 식별자를 비교하여 모바일 스토리지 장치를 식별 내지 인증 할 수 있다.According to some embodiments, the mobile storage device 100 may perform initial authentication using a device identifier set at the time of manufacturing the mobile storage device 100. Referring to FIG. 6, after it is determined in step S502 of FIG. 5 that the mobile storage device 100 is first connected to the host device 110, in step S511, the mobile storage device 100 requests an authentication including a device identifier. To the device authentication server 121. Here, the device identifier may be unique information for identifying the mobile storage device 100. Also, the device identifier may be information set in the mobile storage device 100 when the mobile storage device 100 is manufactured. Also, the device identifier may be stored in the device authentication server 121. The device authentication server 121 may identify or authenticate the mobile storage device by comparing the stored device identifier with the device identifier received from the mobile storage device 100.

단계 S512에서 장치 인증 서버(121)에 의해 모바일 스토리지 장치(100)의 인증이 성공하면, 장치 인증 서버(121)는 인증 결과를 플랫폼 인증 서버(122)로 전달할 수 있다. 인증 결과를 전달받은 플랫폼 인증 서버(122)는 장치 고유 키를 활성화하고 장치 고유 키를 모바일 스토리지 장치(100)에 발급할 수 있다(S513). If authentication of the mobile storage device 100 is successful by the device authentication server 121 in step S512, the device authentication server 121 may transmit the authentication result to the platform authentication server 122. The platform authentication server 122 receiving the authentication result may activate the device-specific key and issue the device-specific key to the mobile storage device 100 (S513).

몇몇 실시 예에 따르면, 플랫폼 인증 서버(122)는 장치 인증 서버(121)로부터 인증 결과와 함께 장치 식별자를 수신하고, 장치 식별자와 플랫폼 인증 서버(122)에 저장된 공개 키를 조합하여 장치 고유 키를 생성할 수 있다.According to some embodiments, the platform authentication server 122 receives a device identifier along with an authentication result from the device authentication server 121, and combines the device identifier and a public key stored in the platform authentication server 122 to obtain a device unique key. Can be created.

또는, 다른 실시 예에 따르면, 플랫폼 인증 서버(122)는 모바일 스토리지 장치(100)에 저장된 장치 고유 키가 유효한지 확인 하고, 장치 고유 키가 유효한 경우 모바일 스토리지 장치(100)의 인증을 처리하고 공개 키와 조합하여 장치 고유 키를 갱신할 수 있다. 플랫폼 인증 서버(122)가 장치 고유 키를 발급하는 프로세스는 실시 예에 따라 다르게 변경될 수도 있다.Alternatively, according to another embodiment, the platform authentication server 122 checks whether the device unique key stored in the mobile storage device 100 is valid, and if the device unique key is valid, processes and publishes the authentication of the mobile storage device 100 The device-specific key can be updated in combination with the key. The process of the platform authentication server 122 issuing a device-specific key may be changed differently according to an embodiment.

몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)는 사용자로부터 사용자 정보를 입력 받아 모바일 스토리지 장치(100)의 사용자에 대한 인증을 받을 수도 있다. 도 7을 참조하면, 단계 S521에서 모바일 스토리지 장치(100)는 호스트 장치(110)를 통해서 회원 가입 GUI(Graphic User Interface)를 디스플레이할 수 있다. 이 경우, 호스트 장치(110)는 디스플레이 장치를 구비하거나, 별도의 디스플레이 장치를 통해서 화면을 출력할 수 있는 장치일 수 있다. 예를 들어, 호스트 장치(110)는 PC나 스마트폰(smartphone)과 같은 인터넷에 연결된 컴퓨팅 장치일 수 있다. 또는, 호스트 장치(110) 커넥티드 TV(connected television)와 같이 인터넷에 연결된 디스플레이 장치일 수도 있다. 또한, 실시 예에 따라서, 단계 S521에서 모바일 스토리지 장치(100)는 호스트 장치(110)와 별개의 디스플레이 장치를 통해서 회원 가입 GUI를 디스플레이할 수도 있다.According to some embodiments, the mobile storage device 100 may receive user information from a user and receive authentication for the user of the mobile storage device 100. Referring to FIG. 7, in step S521, the mobile storage device 100 may display a membership registration GUI (Graphic User Interface) through the host device 110. In this case, the host device 110 may include a display device or a device capable of outputting a screen through a separate display device. For example, the host device 110 may be a computing device connected to the Internet, such as a PC or a smartphone. Alternatively, the host device 110 may be a display device connected to the Internet, such as a connected television. Also, according to an embodiment, in step S521, the mobile storage device 100 may display a membership registration GUI through a display device separate from the host device 110.

몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)는 호스트 장치(110)가 웹 브라우저를 통해 미리 설정된 URL(Uniform Resource Locator)을 이용하여 회원 가입 GUI를 포함하는 웹 페이지를 표시하도록 할 수 있다. 또는, 다른 실시 예에 따르면, 모바일 스토리지 장치(100)는 모바일 스토리지 장치(100)에 내장된 애플리케이션을 실행하여 회원 가입 GUI를 포함하는 애플리케이션 실행 화면을 호스트 장치(110)를 통해서 출력할 수도 있다.According to some embodiments, the mobile storage device 100 may cause the host device 110 to display a web page including a membership registration GUI using a preset Uniform Resource Locator (URL) through a web browser. Alternatively, according to another embodiment, the mobile storage device 100 may execute an application built in the mobile storage device 100 and output an application execution screen including a membership registration GUI through the host device 110.

이후, 사용자가 회원 가입 GUI를 이용하여 회원 가입 정보를 입력하면, 단계 S522에서 모바일 스토리지 장치(100)는 호스트 장치(110)를 통해서 회원 가입 정보를 획득할 수 있다. 모바일 스토리지 장치(100)는 획득된 회원 가입 정보를 플랫폼 인증 서버(122)에 전송하여 모바일 스토리지 장치(100)를 회원 가입 정보를 입력한 사용자의 장치로 등록할 수 있다. 이 경우, 플랫폼 인증 서버(122)는 단계 S523에서 모바일 스토리지 장치(100)를 식별하기 위한 정보와 회원 가입 정보에 포함된 사용자 정보를 매칭하여 등록할 수 있다.Thereafter, when the user inputs membership registration information using the membership registration GUI, in step S522, the mobile storage device 100 may acquire membership registration information through the host device 110. The mobile storage device 100 may transmit the acquired member subscription information to the platform authentication server 122 to register the mobile storage device 100 as a device of a user who inputs membership information. In this case, the platform authentication server 122 may register by matching information for identifying the mobile storage device 100 and user information included in the member subscription information in step S523.

다른 몇몇 실시 예에 따르면 모바일 스토리지 장치(100)는 장치 식별자와 함께 회원 가입 정보를 장치 인증 서버(121)로 전송할 수도 있다. 장치 인증 서버(121)는 먼저 장치 식별자가 유효한지 여부를 검증할 수 있다. 장치 식별자가 유효한 경우, 장치 인증 서버(121)는 회원 가입 정보에 포함된 사용자 정보를 등록할 수 있다.According to some other embodiments, the mobile storage device 100 may transmit membership registration information to the device authentication server 121 along with the device identifier. The device authentication server 121 may first verify whether the device identifier is valid. When the device identifier is valid, the device authentication server 121 may register user information included in the member subscription information.

또 다른 몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)는 장치 식별자를 이용하여 장치 인증 서버(121)로부터 장치에 대한 인증을 받은 경우에 한해서 회원 가입 프로세스를 실행할 수도 있다. 도 8을 참조하면, 먼저 단계 S531에서 모바일 스토리지 장치(100)는 장치 식별자를 포함하는 인증 요청을 장치 인증 서버(121)로 전송할 수 있다.According to some other embodiments, the mobile storage device 100 may execute the member registration process only when the device authentication server 121 authenticates the device using the device identifier. Referring to FIG. 8, first, in step S531, the mobile storage device 100 may transmit an authentication request including the device identifier to the device authentication server 121.

이후, 단계 S532에서 모바일 스토리지 장치(100)는 장치 식별자를 이용하여 인증에 성공한 경우, 인증이 성공하였음을 나타내는 정보를 수신할 수 있다. 인증에 성공한 경우, 단계 S533에서 모바일 스토리지 장치(100)는 호스트 장치(100)를 통해서 회원 가입 GUI를 디스플레이할 수 있다.Thereafter, in step S532, the mobile storage device 100 may receive information indicating that authentication is successful when authentication is successful using the device identifier. If authentication is successful, in step S533, the mobile storage device 100 may display the membership registration GUI through the host device 100.

이후, 디스플레이된 회원 가입 GUI에 사용자가 회원 가입 정보를 입력하면, 단계 S534에서 모바일 스토리지 장치(100)는 입력된 회원 가입 정보를 획득할 수 있다. 또한 모바일 스토리지 장치(100)는 회원 가입 정보를 플랫폼 인증 서버(122)에 전송할 수 있다. 실시 예에 따라서, 모바일 스토리지 장치(100)는 회원 가입 정보를 장치 인증 서버(121)를 통해서 플랫폼 인증 서버(122)로 전달할 수도 있다.Thereafter, when the user inputs membership information in the displayed membership registration GUI, in step S534, the mobile storage device 100 may acquire the input membership information. In addition, the mobile storage device 100 may transmit membership subscription information to the platform authentication server 122. According to an embodiment, the mobile storage device 100 may transmit the membership subscription information to the platform authentication server 122 through the device authentication server 121.

플랫폼 인증 서버(122)는 모바일 스토리지 장치(100)가 최초로 로그인한 경우, 모바일 스토리지 장치(100)에 대한 장치 고유키를 생성할 수 있다. 모바일 스토리지 장치(100)는 플랫폼 인증 서버(122)로부터 생성된 장치 고유키를 획득할 수 있다(S535).When the mobile storage device 100 logs in for the first time, the platform authentication server 122 may generate a device unique key for the mobile storage device 100. The mobile storage device 100 may obtain a device unique key generated from the platform authentication server 122 (S535).

모바일 스토리지 장치(100)는 입력된 회원 가입 정보를 플랫폼 인증 서버(122)에 등록할 수 있다. 여기서, 플랫폼 인증 서버(122)는 생성된 장치 고유키를 회원 가입 정보와 매칭하여 저장할 수 있다(S536). 회원 가입 정보가 플랫폼 인증 서버(122)에 등록되면, 모바일 스토리지 장치(100)는 회원 가입 정보에 포함된 로그인 정보를 이용하여 플랫폼 인증 서버(122)에 로그인할 수 있다.The mobile storage device 100 may register the input member subscription information to the platform authentication server 122. Here, the platform authentication server 122 may match and store the generated device unique key with the membership subscription information (S536). When the membership registration information is registered in the platform authentication server 122, the mobile storage device 100 may log in to the platform authentication server 122 using the login information included in the membership registration information.

몇몇 실시 예에 따르면, 장치 고유키를 보유한 모바일 스토리지 장치(100)가 호스트 장치(110)에 연결될 경우, 플랫폼 인증 서버(122)가 모바일 스토리지 장치(100)의 고유키의 유효성을 검증할 수 있다. 모바일 스토리지 장치(100)의 고유키가 유효한 경우, 고유키에 매칭되어 저장된 회원 가입 정보를 조회하고, 조회된 회원 가입 정보에 포함된 로그인 정보를 이용하여 모바일 스토리지 장치(100)에 대한 로그인 절차를 수행할 수 있다. 즉, 구매한 모바일 스토리지 장치(100)를 사용자가 최초 사용시에 회원 가입 정보와 매칭하여 등록한 이후에는 사용자가 별도로 로그인 정보를 입력하지 않고도 장치 고유키를 이용하여 모바일 스토리지 장치(100)가 플랫폼 인증 서버(122)에 로그인할 수 있다. 따라서, 모바일 스토리지 장치(100)가 입력 장치가 없는 호스트 장치(110)(예를 들어, 인터넷 IP 주소 공유기)에 연결된 경우에도 플랫폼 인증 서버(122)에 로그인할 수 있다. 플랫폼 인증 서버(122)에 로그인한다고 함은 플랫폼 인증 서버(122)로부터 사용자에 대한 인증을 받아 모바일 스토리지 장치(100)의 사용자를 확인하는 동작을 의미한다.According to some embodiments, when the mobile storage device 100 having the device unique key is connected to the host device 110, the platform authentication server 122 may verify the validity of the unique key of the mobile storage device 100. . When the unique key of the mobile storage device 100 is valid, the member registration information stored by matching the unique key is inquired, and a login procedure for the mobile storage device 100 is performed using the login information included in the inquired member subscription information can do. That is, after the user registers the purchased mobile storage device 100 by matching the member subscription information at the first use, the mobile storage device 100 uses the device unique key to enter the platform authentication server without separately entering the login information. You can log in at (122). Therefore, even when the mobile storage device 100 is connected to the host device 110 (for example, an Internet IP address sharer) without an input device, it is possible to log in to the platform authentication server 122. Logging in to the platform authentication server 122 means an operation of authenticating a user from the platform authentication server 122 and confirming the user of the mobile storage device 100.

도 7 및 도 8에 도시된 프로세스에서, 회원 가입 정보 및 회원 가입 GUI는, 사용자의 회원 가입 정보가 기 등록되어 있는 경우, 로그인 정보 및 로그인 정보를 입력 받기 위한 로그인 GUI일 수도 있다. 사용자의 회원 가입 정보는 장치 인증 서버(121)에 등록되어 있을 수 있다. 또는, 사용자의 회원 가입 정보는 플랫폼 인증 서버(122)에 등록되어 있을 수도 있다. 여기서, 로그인 정보는 사용자가 로그인을 수행하기 위한 정보일 수 있다. 예를 들어, 로그인 정보는 사용자 ID, 패스워드 및 생체 정보 중 하나 이상을 포함할 수 있다.In the process illustrated in FIGS. 7 and 8, the member registration information and the member registration GUI may be a login GUI for receiving login information and login information when the user's membership registration information is previously registered. The user's membership registration information may be registered in the device authentication server 121. Alternatively, the user's membership registration information may be registered in the platform authentication server 122. Here, the login information may be information for a user to log in. For example, the login information may include one or more of user ID, password, and biometric information.

도 5의 단계 S502에서 모바일 스토리지 장치(100)가 호스트 장치(110)를 통해서 네트워크에 연결된 이력이 있는 것으로 판단된 경우, 모바일 스토리지 장치(100)는 플랫폼 인증 서버(122)에 로그인하고 외부 단말(130)과 연결될 수 있다. 또는, 모바일 스토리지 장치(100)가 플랫폼 인증 서버(122)에 등록이 완료(S513, S523 또는 S536)된 이후에도, 모바일 스토리지 장치(100)는 플랫폼 인증 서버(122)에 로그인하고 외부 단말(130)과 연결하기 위한 인스트럭션을 실행할 수 있다.If it is determined in step S502 of FIG. 5 that the mobile storage device 100 has a history connected to the network through the host device 110, the mobile storage device 100 logs into the platform authentication server 122 and external terminals ( 130). Alternatively, even after the mobile storage device 100 has been registered with the platform authentication server 122 (S513, S523, or S536), the mobile storage device 100 logs into the platform authentication server 122 and the external terminal 130 You can execute the instruction to connect with.

도 9를 참조하면, 몇몇 실시 예에 따른 모바일 스토리지 장치(100)는 단계 S541에서 플랫폼 인증 서버(122)에 인증 요청을 전송할 수 있다. 여기서, 몇몇 실시 예에 따르면, 플랫폼 인증 서버(122)로 전송되는 인증 요청은 모바일 스토리지 장치(100)가 발급 받은 장치 고유키에 대한 정보를 포함할 수 있다. 장치 고유키에 대한 정보는 장치 고유키 자체이거나 장치 고유키와 관련된 정보일 수 있다. 또는 다른 몇몇 실시 예에 따르면, 플랫폼 인증 서버(122)로 전송되는 인증 요청은 사용자에 대한 로그인 정보를 포함할 수도 있다.Referring to FIG. 9, the mobile storage device 100 according to some embodiments may transmit an authentication request to the platform authentication server 122 in step S541. Here, according to some embodiments, the authentication request transmitted to the platform authentication server 122 may include information about a device unique key issued by the mobile storage device 100. The device-specific key information may be the device-specific key itself or information related to the device-specific key. Alternatively, according to some other embodiments, the authentication request transmitted to the platform authentication server 122 may include login information for the user.

플랫폼 인증 서버(122)로 전송된 인증 요청에 상응하는 인증에 성공하면, 단계 S543에서 중개 서버(123)에 모바일 스토리지 장치(100)의 주소 정보가 등록될 수 있다. 인증에 실패할 경우, 모바일 스토리지 장치(100)는 다른 방식으로 인증을 시도하거나, 인증을 재차 시도하거나, 또는 프로세스를 종료할 수 있다. 또한, 몇몇 실시 예에 따르면, 플랫폼 인증 서버(122)로부터 인증 실패를 가리키는 데이터가 수신되는 경우, 모바일 스토리지 장치(100)의 프로세서(101)는 인디케이터(104)가 인증 실패에 대한 상태 정보를 출력할 수 있도록 하는 제어 신호를 출력할 수 있다. 여기서, 주소 정보는 모바일 스토리지 장치(100)에 현재 할당된 IP 주소를 포함할 수 있다. 실시 예에 따라서, 단계 S543에서 모바일 스토리지 장치(100)는 주소 정보를 플랫폼 인증 서버(122)로 전달하고, 플랫폼 인증 서버(122)가 주소 정보를 중개 서버(123)에 등록할 수 있다. 또는, 모바일 스토리지 장치(100)가 인증에 성공하였음을 나타내는 데이터를 수신하고, 수신된 데이터에 대한 응답으로 모바일 스토리지 장치(100)의 주소 정보를 중개 서버(123)에 전송할 수도 있다. 또는, 모바일 스토리지 장치(100)는 다른 프로세스를 통해서 주소 정보를 중개 서버(123)에 등록할 수도 있다.If the authentication corresponding to the authentication request transmitted to the platform authentication server 122 is successful, the address information of the mobile storage device 100 may be registered in the intermediary server 123 in step S543. If authentication fails, the mobile storage device 100 may attempt authentication in another way, attempt authentication again, or terminate the process. Further, according to some embodiments, when data indicating authentication failure is received from the platform authentication server 122, the processor 101 of the mobile storage device 100 outputs status information about the authentication failure by the indicator 104. You can output a control signal that allows you to. Here, the address information may include an IP address currently assigned to the mobile storage device 100. According to an embodiment, in step S543, the mobile storage device 100 may transmit address information to the platform authentication server 122, and the platform authentication server 122 may register the address information to the intermediary server 123. Alternatively, the mobile storage device 100 may receive data indicating that authentication is successful, and may transmit address information of the mobile storage device 100 to the intermediary server 123 in response to the received data. Alternatively, the mobile storage device 100 may register address information to the mediation server 123 through another process.

중개 서버(123)에 모바일 스토리지 장치(100)의 주소 정보가 등록되면, 단계 S544에서 모바일 스토리지 장치(100)는 중개 서버(122)를 이용하여 외부 단말(130)과 홀 펀칭 프로세스를 통해서 연결될 수 있다. 모바일 스토리지 장치(100)와 외부 단말(130) 사이에 홀 펀칭을 수행하는 방법은 실시 예에 따라 변경될 수 있다. 예를 들어, 실시 예에 따라서 모바일 스토리지 장치(100)와 외부 단말(130) 사이의 홀 펀칭은 중계(Relaying) 방식을 통해서 수행될 수도 있으며, 연결 역전(Connection Reversal) 방식에 의해서 수행될 수도 있다.When the address information of the mobile storage device 100 is registered in the intermediary server 123, in step S544, the mobile storage device 100 may be connected to the external terminal 130 through the hole punching process using the intermediary server 122. have. The method of performing hole punching between the mobile storage device 100 and the external terminal 130 may be changed according to an embodiment. For example, according to an embodiment, hole punching between the mobile storage device 100 and the external terminal 130 may be performed through a relaying method or a connection reversal method. .

모바일 스토리지 장치(100)와 외부 단말(130)이 홀 펀칭 방식으로 P2P 데이터 송수신을 하므로, 사용자는 외부에 위치하는 서버에 컨텐츠를 업로드할 필요 없이 자신이 가진 모바일 스토리지 장치(100)의 스토리지(103)에 저장된 컨텐츠만으로 온라인 서비스를 제공할 수 있다.Since the mobile storage device 100 and the external terminal 130 transmit and receive P2P data through a hole punching method, the user does not need to upload the content to a server located outside, so that the storage 103 of the mobile storage device 100 owned by the user ) Can provide an online service with only the content stored in it.

따라서, 클라이언트의 역할을 하는 외부 단말(130)이 서버에 접근하는 것과 같이 모바일 스토리지 장치(100)에 연결될 수 있다. 몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)의 주소 정보와 매칭된 회원 가입 정보에 기초하여 URL(Uniform Resource Locator)이 구성될 수 있다. 예를 들어, 회원 가입 정보에 포함된 사용자 ID가 "username"인 경우, 중개 서버(123)는 모바일 스토리지 장치(100)에 대한 URL은 "https://username.hashblk.com/"일 수 있다. 외부 단말(130)이 "https://username.hashblk.com/video/ucc.mp4"에 대한 주소 정보를 중개 서버(123)에 요청할 경우, 중개 서버(123)는 "https://username.hashblk.com/"에 상응하는 모바일 스토리지 장치(100)의 주소 정보를 중개 서버(123)에 저장된 매칭 테이블에서 조회할 수 있다. 중개 서버(123)는 조회된 주소 정보를 이용하여 모바일 스토리지 장치(100)가 외부 단말(130)과 연결되도록 할 수 있다. 이 경우, 외부 단말(130)은 모바일 스토리지 장치(100)의 스토리지(103)의 "video" 폴더에 저장된 "ucc.mp4"라는 파일을 제공 받을 수 있다.Accordingly, the external terminal 130 serving as a client may be connected to the mobile storage device 100 as if accessing the server. According to some embodiments, a URL (Uniform Resource Locator) may be configured based on membership information matched with address information of the mobile storage device 100. For example, when the user ID included in the membership subscription information is "username", the mediation server 123 may have a URL for the mobile storage device 100 as "https://username.hashblk.com/". . When the external terminal 130 requests address information for "https://username.hashblk.com/video/ucc.mp4" to the mediation server 123, the mediation server 123 displays "https: // username. Address information of the mobile storage device 100 corresponding to hashblk.com/ "may be searched in the matching table stored in the mediation server 123. The intermediary server 123 may allow the mobile storage device 100 to be connected to the external terminal 130 using the inquired address information. In this case, the external terminal 130 may be provided with a file called “ucc.mp4” stored in the “video” folder of the storage 103 of the mobile storage device 100.

다만, 모바일 스토리지 장치(100)가 서버-클라이언트 모델의 서비스에서 서버의 기능을 하기 위해서는, 클라이언트가 고정된 IP 주소를 가지는 서버에 연결하듯이, 외부 단말(130)에 모바일 스토리지 장치(100)에 고정된 주소를 이용하여 연결 가능할 필요가 있다. 그러나, 모바일 스토리지 장치(100)가 동적 IP 주소를 가지는 호스트 장치(110)를 통해서 연결되거나, 모바일 스토리지 장치(100)가 연결된 호스트 장치(110)가 변경되는 경우 모바일 스토리지 장치(100)에 접근하기 위한 주소가 변경될 수 있다. 따라서, 모바일 스토리지 장치(100)는 도 10의 단계 S551에서 모바일 스토리지 장치(100)의 주소 정보를 확인하고, 단계 S552에서 모바일 스토리지 장치(100)의 주소 정보가 변경되었는지 여부를 판단할 수 있다. 모바일 스토리지 장치(100)는 모바일 스토리지 장치(100)의 주소 정보가 중개 서버(123)에 등록된 주소 정보와 일치하는지 여부를 판단할 수 있다. 몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)는 모바일 스토리지 장치(100)에 연결된 호스트 장치(110)가 변경되거나 호스트 장치(110)의 주소 정보가 변경된 경우 모바일 스토리지 장치(100)의 주소 정보가 변경된 것으로 판단할 수 있다.However, in order for the mobile storage device 100 to function as a server in the service of the server-client model, the mobile storage device 100 is connected to the external terminal 130 as if a client connects to a server having a fixed IP address. You need to be able to connect using a fixed address. However, when the mobile storage device 100 is connected through the host device 110 having a dynamic IP address, or when the host device 110 to which the mobile storage device 100 is connected is changed, accessing the mobile storage device 100 The address for can be changed. Accordingly, the mobile storage device 100 may check the address information of the mobile storage device 100 in step S551 of FIG. 10, and determine whether the address information of the mobile storage device 100 is changed in step S552. The mobile storage device 100 may determine whether the address information of the mobile storage device 100 matches the address information registered in the intermediary server 123. According to some embodiments, the mobile storage device 100 may display the address information of the mobile storage device 100 when the host device 110 connected to the mobile storage device 100 is changed or the address information of the host device 110 is changed. It can be judged as changed.

주소 정보가 변경된 경우, 모바일 스토리지 장치(100)는 단계 S553에서 중개 서버(123)에 모바일 스토리지 장치(100)의 확인된 주소 정보를 포함하는 주소 정보 업데이트 요청을 중개 서버(123)에 전송할 수 있다. 모바일 스토리지 장치(100)가 자신의 주소 정보를 확인하여 주소 정보가 변경된 경우 고정된 주소에 매칭된 모바일 스토리지 장치(100)의 주소 정보를 업데이트할 수 있다. 따라서, 고정된 주소를 이용하여 외부 단말(130)이 모바일 스토리지 장치(100)에 연결될 수 있다.When the address information is changed, the mobile storage device 100 may transmit to the intermediary server 123 an address information update request including the verified address information of the mobile storage device 100 to the intermediary server 123 in step S553. . When the address information is changed by the mobile storage device 100 confirming its address information, the address information of the mobile storage device 100 matched to the fixed address may be updated. Therefore, the external terminal 130 may be connected to the mobile storage device 100 using a fixed address.

도 11은 몇몇 실시 예에 따라 중개 서버(123)가 모바일 스토리지 장치(100)와 외부 단말(130) 사이에 홀 펀칭(Hole Punching)을 수행하는 프로세스를 설명하기 위한 도면이다.11 is a diagram illustrating a process in which the mediation server 123 performs hole punching between the mobile storage device 100 and the external terminal 130 according to some embodiments.

모바일 스토리지 장치(100)는 단계 S1110에서 중개 서버(123)에 주소 정보를 포함하는 등록 요청을 전송할 수 있다. 등록 요청을 수신한 중개 서버(123)는 수신된 주소 정보에 따라서 매칭 테이블을 업데이트할 수 있다. 매칭 테이블은 모바일 스토리지 장치(100)의 주소 정보를 다른 정보와 매칭하여 저장된 데이터를 의미한다. 다른 정보는, 예를 들어, 모바일 스토리지 장치(100)를 식별하기 위한 정보, 사용자를 식별하기 위한 로그인 정보, 및 모바일 스토리지 장치(100)에 의해 제공되는 서비스에 대한 정보 중 하나 이상을 포함할 수 있다.The mobile storage device 100 may transmit a registration request including address information to the intermediary server 123 in step S1110. The mediation server 123 receiving the registration request may update the matching table according to the received address information. The matching table refers to data stored by matching the address information of the mobile storage device 100 with other information. Other information may include, for example, one or more of information for identifying the mobile storage device 100, login information for identifying the user, and information about a service provided by the mobile storage device 100. have.

모바일 스토리지 장치(100)에 할당된 IP 주소가 사설 IP 주소인 경우, 모바일 스토리지 장치(100)는 공인 IP 주소는 알 수 없다. 공인 IP 주소를 획득하기 위해, 단계 S1110에서 모바일 스토리지 장치(100)는 중개 서버(123)에 패킷을 전송할 수 있다. 송신된 패킷의 헤더에는 NAT가 할당 받은 공인 IP 주소와 NAT가 외부 단말(130)에 부여한 포트가 기록된다. 따라서 중개 서버(123)는 모바일 스토리지 장치(100)가 NAT 외부와 통신을 위해 사용하는 공인 IP 주소 및 포트를 알 수 있다. 필요시 중개 서버(123)는 모바일 스토리지 장치(100)에 모바일 스토리지 장치(100)에 대한 공인 IP 주소 및 포트를 통지할 수 있다. 이 과정을 통해서 모바일 스토리지 장치(100)는 NAT 외부와 통신을 위해 사용되는 공인 IP 주소 및 포트를 알 수 있다.When the IP address assigned to the mobile storage device 100 is a private IP address, the mobile storage device 100 does not know the public IP address. In order to obtain a public IP address, in step S1110, the mobile storage device 100 may transmit a packet to the intermediary server 123. In the header of the transmitted packet, a public IP address assigned by NAT and a port assigned by NAT to the external terminal 130 are recorded. Therefore, the intermediary server 123 can know the public IP address and port used by the mobile storage device 100 to communicate with the outside of the NAT. If necessary, the intermediary server 123 may notify the mobile storage device 100 of the public IP address and port for the mobile storage device 100. Through this process, the mobile storage device 100 can know the public IP address and port used for communication with the outside of the NAT.

이후, 단계 S1130에서 외부 단말(130)이 중개 서버(123)에 모바일 스토리지 장치(100)의 주소 정보에 대한 주소 정보 요청을 전송할 수 있다. 몇몇 실시 예에 따르면, 주소 정보 요청은 모바일 스토리지 장치(100)의 주소 정보를 매칭 테이블에서 조회하기 위한 정보를 포함할 수 있다. 예를 들어, 모바일 스토리지 장치(100)가 메일을 수신하는 메일 수신 서비스를 이용하여 외부 단말(130)에 메일을 전송하고자 하는 경우, 외부 단말(130)은 메일 주소를 포함하는 주소 정보 요청을 전송할 수 있다. 이 경우, 중개 서버(123)는 메일 주소에 상응하는 모바일 스토리지 장치(100)의 주소 정보를 조회할 수 있다. Thereafter, in step S1130, the external terminal 130 may transmit an address information request for the address information of the mobile storage device 100 to the intermediary server 123. According to some embodiments, the address information request may include information for querying the address information of the mobile storage device 100 in the matching table. For example, when the mobile storage device 100 wants to send mail to the external terminal 130 using a mail receiving service that receives mail, the external terminal 130 transmits an address information request including an email address. You can. In this case, the mediation server 123 may query address information of the mobile storage device 100 corresponding to the mail address.

다른 예를 들면, 모바일 스토리지 장치(100)가 제공하는 미디어 공유 서비스를 통해 미디어 컨텐츠를 제공 받고자 하는 경우, 외부 단말(130)은 미디어 파일의 위치를 나타내는 URL을 포함하는 주소 정보 요청을 중개 서버(123)에 전송할 수 있다.For another example, when media content is to be provided through the media sharing service provided by the mobile storage device 100, the external terminal 130 requests the address information including the URL indicating the location of the media file through the mediation server ( 123).

또 다른 예를 들면, 외부 단말(130)이 모바일 스토리지 장치(100)로 미디어 컨텐츠를 전송하고자 하는 경우, 외부 단말(130)은 모바일 스토리지 장치(100)의 사용자 ID를 포함하는 주소 정보 요청을 중개 서버(123)에 전송할 수 있다.As another example, when the external terminal 130 wants to transmit media content to the mobile storage device 100, the external terminal 130 mediates an address information request including the user ID of the mobile storage device 100. It can be transmitted to the server 123.

또 다른 예를 들면, 외부 단말(130)이 모바일 스토리지 장치(100)의 웹호스팅 서비스를 통해서 웹 페이지를 제공 받고자 하는 경우, 외부 단말(130)은 웹 페이지의 위치를 나타내는 URL을 포함하는 주소 정보 요청을 중개 서버(123)에 전송할 수 있다.For another example, when the external terminal 130 wants to receive a web page through the web hosting service of the mobile storage device 100, the external terminal 130 includes address information including a URL indicating the location of the web page. The request can be sent to the mediation server 123.

이후, 단계 S1140에서, 중개 서버(123)는 주소 정보 요청에 대한 응답으로 조회된 주소 정보를 외부 단말(130)로 전송할 수 있다. 몇몇 실시 예에 따르면, 중개 서버(123)가 외부 단말(130)에 전송하는 주소 정보는 모바일 스토리지 장치(100)와 관련된 공인 IP 주소, 사설 IP 주소 및 포트 정보를 포함할 수 있다.Thereafter, in step S1140, the intermediary server 123 may transmit the searched address information to the external terminal 130 in response to the address information request. According to some embodiments, the address information transmitted by the intermediary server 123 to the external terminal 130 may include a public IP address, a private IP address, and port information associated with the mobile storage device 100.

이후, 단계 S1150에서, 외부 단말(130)은 중개 서버(123)로부터 획득된 주소 정보를 이용하여 모바일 스토리지 장치(100)에 패킷을 전송할 수 있다. 단계 S1150에서, 외부 단말(130)은 사설 IP 주소 및 포트에 대해 패킷을 전송할 수 있다. 이후 단계 S1160에서 모바일 스토리지 장치(100)에 외부 단말(130)이 전송한 패킷에 대한 응답 패킷을 외부 단말(130)로 전송하는 경우, 외부 단말(130)은 패킷을 전송한 사설 IP 주소 및 포트를 기초로 모바일 스토리지 장치(100)와 P2P 송수신을 할 수 있다.Thereafter, in step S1150, the external terminal 130 may transmit a packet to the mobile storage device 100 using the address information obtained from the intermediary server 123. In step S1150, the external terminal 130 may transmit a packet to the private IP address and port. In step S1160, when a response packet for the packet transmitted from the external terminal 130 is transmitted to the mobile storage device 100 to the external terminal 130, the external terminal 130 transmits the packet to the private IP address and port. Based on the P2P transmission and reception with the mobile storage device 100 may be.

단계 S1150에서 사설 IP 주소 및 포트로 전송한 패킷에 대한 응답이 없을 경우, 외부 단말(130)은 공인 IP 주소 및 포트로 패킷을 전송할 수 있다. 이후, 모바일 스토리지 장치(100)로부터 응답 패킷이 외부 단말(130)로 전송되는 경우(S1160), 외부 단말(130)은 공인 IP 주소 및 포트를 이용하여 모바일 스토리지 장치(100)와 P2P 송수신을 수행할 수 있다(S1170).If there is no response to the packet transmitted to the private IP address and port in step S1150, the external terminal 130 may transmit the packet to the public IP address and port. Thereafter, when a response packet is transmitted from the mobile storage device 100 to the external terminal 130 (S1160), the external terminal 130 performs P2P transmission and reception with the mobile storage device 100 using a public IP address and port. It can be done (S1170).

공인 IP 주소 및 포트로 전송된 패킷에 대해서도 응답 패킷이 수신되지 않을 경우, 외부 단말(130)은 중개 서버(123)에 패킷의 송수신을 위임할 수도 있다.If a response packet is not received even for a packet transmitted to the public IP address and port, the external terminal 130 may delegate the transmission and reception of the packet to the intermediary server 123.

또한, 외부 단말(130)과 모바일 스토리지 장치(100)가 서로 반대의 동작을 실행하여 홀 펀칭이 시도될 수도 있다. 홀 펀칭이 성공하여 외부 단말(130)과 모바일 스토리지 장치(100)간의 연결이 수립된 경우, 외부 단말(130) 및 모바일 스토리지 장치(100) 중 적어도 하나는 주기적으로 외부 단말(130)과 모바일 스토리지 장치(100) 간의 연결이 유효한지 여부를 확인기 위한 하트비트(Heartbeat) 메시지를 발송할 수 있다.In addition, hole punching may be attempted by the external terminal 130 and the mobile storage device 100 performing opposite operations. When the hole punching is successful and the connection between the external terminal 130 and the mobile storage device 100 is established, at least one of the external terminal 130 and the mobile storage device 100 periodically changes the external terminal 130 and the mobile storage. A heartbeat message may be sent to confirm whether the connection between the devices 100 is valid.

도 12는 몇몇 실시 예에 따른 매칭 테이블(1200)의 예시를 도시한 도면이다.12 is a diagram illustrating an example of a matching table 1200 according to some embodiments.

몇몇 실시 예에 따르면, 매칭 테이블(1200)은 장치 식별자(1211), 공인 IP 주소(1212), 사설 IP 주소(1213), 포트 정보(1214), 사용자 ID(1215), 패스워드(1216) 및 장치 고유키(1217)를 포함할 수 있다. 다만, 도 12에 도시된 매칭 테이블(1200)은 몇몇 실시 예의 설명을 위한 예시일 뿐이다. 매칭 테이블(1200)은 도 12에 도시된 항목과 다른 항목을 포함하거나, 도 12에 도시된 항목 중 일부를 포함하지 않거나, 또는 다른 항목을 더 포함할 수도 있다.According to some embodiments, the matching table 1200 includes a device identifier 1211, a public IP address 1212, a private IP address 1213, port information 1214, a user ID 1215, a password 1216, and a device. A unique key 1217 may be included. However, the matching table 1200 illustrated in FIG. 12 is merely an example for describing some embodiments. The matching table 1200 may include an item different from the item illustrated in FIG. 12, may not include some of the items illustrated in FIG. 12, or may further include other items.

도 13 내지 15는 몇몇 실시 예에 따라 개인 간(Peer to peer; P2P) 파일 공유 방식을 이용하여 컨텐츠를 제공하는 방법을 설명하기 위한 도면이다.13 to 15 are diagrams for explaining a method of providing content using a peer-to-peer (P2P) file sharing method according to some embodiments.

도 13을 참조하면, 제1 모바일 스토리지 장치(100-1)는 컨텐츠(1)를 저장하고 있을 수 있다. 여기서, 컨텐츠(1)는 데이터 전송을 통해 공유될 수 있는 객체일 수 있다. 예를 들어, 컨텐츠(1)는 음향 파일이나 동영상 파일과 같은 미디어 파일을 포함하거나, 또는 텍스트를 포함하는 전자 문서일 수 있다. 또한 제1 모바일 스토리지 장치(100-1) 및 제2 모바일 스토리지 장치(100-2)는 중개 서버(123)에 등록된 장치일 수 있다. 여기서, 중개 서버(123)는 제1 모바일 스토리지 장치(100-1) 및 제2 모바일 스토리지 장치(100-2)에 저장된 컨텐츠에 대한 정보를 포함하는 매칭 테이블을 가질 수 있다.Referring to FIG. 13, the first mobile storage device 100-1 may store the content 1. Here, the content 1 may be an object that can be shared through data transmission. For example, the content 1 may be an electronic document including a media file such as an audio file or a video file, or text. Also, the first mobile storage device 100-1 and the second mobile storage device 100-2 may be devices registered to the intermediary server 123. Here, the intermediary server 123 may have a matching table including information on contents stored in the first mobile storage device 100-1 and the second mobile storage device 100-2.

중개 서버(110)는 제1 모바일 스토리지 장치(100-1)에 저장된 컨텐츠(1)가 제2 모바일 스토리지 장치(100-2)에 저장될 수 있도록 제1 모바일 스토리지 장치(100-1) 및 제2 모바일 스토리지 장치(100-2)를 연결시킬 수 있다. 예를 들어, 중개 서버(123)는 제2 모바일 스토리지 장치(100-2)가 컨텐츠(1)에 대한 요청을 전송한 경우 제1 모바일 스토리지 장치(100-2)와 제2 모바일 스토리지 장치(100-2) 사이의 연결을 중개할 수 있다. 또는, 다른 예를 들면, 컨텐츠(1)에 대한 트래픽이 증가하면, 제1 모바일 스토리지 장치(100-1) 주변의 처리되는 트래픽의 양이 작거나 사용 가능한 저장 공간이 많은 제2 모바일 스토리지 장치(100-2)를 검색할 수도 있다. 여기서, 중개 서버(123)는 제2 모바일 스토리지 장치(100-2)가 컨텐츠(1)를 저장하고 있음을 나타내는 정보를 매칭 테이블에 업데이트할 수 있다. 도 14에 도시된 바와 같이, 제2 모바일 스토리지 장치(100-2)는 제1 모바일 스토리지 장치(100-1)로부터 컨텐츠(1)를 수신하고 저장할 수 있다.The intermediary server 110 includes the first mobile storage device 100-1 and the first mobile storage device 100-1 so that the content 1 stored in the first mobile storage device 100-1 can be stored in the second mobile storage device 100-2. 2 The mobile storage device 100-2 may be connected. For example, when the second mobile storage device 100-2 transmits a request for the content 1, the mediation server 123 may include the first mobile storage device 100-2 and the second mobile storage device 100. -2) You can broker the connection between. Or, for example, when the traffic to the content 1 increases, the amount of the traffic processed around the first mobile storage device 100-1 is small or the second mobile storage device having a lot of available storage space ( 100-2). Here, the intermediary server 123 may update information indicating that the second mobile storage device 100-2 stores the content 1 in the matching table. As illustrated in FIG. 14, the second mobile storage device 100-2 may receive and store the content 1 from the first mobile storage device 100-1.

이후, 중개 서버(123)가 제3 모바일 스토리지 장치(100-3)로부터 컨텐츠(1)에 대한 제공 요청을 수신할 수 있다. 예를 들어, 제3 모바일 스토리지 장치(100-3)의 사용자에 의해 미디어 포털 서버(125)에서 제공하는 포탈 페이지에 표시된 컨텐츠(1)에 대한 항목이 선택된 경우, 제3 모바일 스토리지 장치(100-3)는 미디어 포탈 서버(125)에 컨텐츠(1)에 대한 주소 정보를 저장된 중개 서버(123)로 전달할 수 있다. 중개 서버(123)는 제1 모바일 스토리지 장치(100-1) 및 제2 모바일 스토리지 장치(100-2) 중 하나 이상과 제3 모바일 스토리지 장치(100-3)사이의 연결을 중개할 수 있다. 이 경우, 도 15에 도시된 바와 같이, 제3 모바일 스토리지 장치(100-3)는 제1 모바일 스토리지 장치(100-1) 및 제2 모바일 스토리지 장치(100-2) 중 어느 하나로부터 컨텐츠(1)를 수신하거나, 또는 제1 모바일 스토리지 장치(100-1) 및 제2 모바일 스토리지 장치(100-2)로부터 컨텐츠(1)를 분할하여 수신할 수 있다.Thereafter, the mediation server 123 may receive a request for providing content 1 from the third mobile storage device 100-3. For example, when an item for the content 1 displayed on the portal page provided by the media portal server 125 is selected by the user of the third mobile storage device 100-3, the third mobile storage device 100- 3) may transmit the address information for the content 1 to the media portal server 125 to the stored mediation server 123. The mediation server 123 may mediate a connection between one or more of the first mobile storage device 100-1 and the second mobile storage device 100-2 and the third mobile storage device 100-3. In this case, as illustrated in FIG. 15, the third mobile storage device 100-3 includes content 1 from either the first mobile storage device 100-1 or the second mobile storage device 100-2. ), Or may be received by dividing the content 1 from the first mobile storage device 100-1 and the second mobile storage device 100-2.

도 13 내지 도 15에서 도시된 바와 같이 다수의 모바일 스토리지 장치들 간에 P2P 송수신을 통해서 컨텐츠(1)를 공유하여, 컨텐츠(1)를 제공할 수 있는 모바일 스토리지 장치의 수를 증가시킬 수 있다. 따라서, 컨텐츠(1)를 공유하기 위한 트래픽이 증가하더라도 한 모바일 스토리지 장치에 트래픽이 집중되어 과부하가 발생하는 것을 방지할 수 있다.As illustrated in FIGS. 13 to 15, the number of mobile storage devices capable of providing the content 1 may be increased by sharing the content 1 through P2P transmission and reception between a plurality of mobile storage devices. Therefore, even if the traffic for sharing the content 1 increases, it is possible to prevent an overload due to traffic being concentrated in one mobile storage device.

도 16은 몇몇 실시 예에 따라 모바일 스토리지 장치(100)가 컨텐츠 딜리버리 서버(124)를 이용하여 컨텐츠를 제공하는 방법을 설명하기 위한 도면이다.16 is a diagram for describing a method in which the mobile storage device 100 provides content using the content delivery server 124 according to some embodiments.

단계 S1610에서, 모바일 스토리지 장치(100)는 모바일 스토리지 장치(100)에 저장된 컨텐츠에 대한 리드 억세스 트래픽(read access traffic)을 산출할 수 있다. 즉, 모바일 스토리지 장치(100)는 컨텐츠에 대한 요청이 발생하는 양을 산출할 수 있다. 이후, 단계 S1620에서, 모바일 스토리지 장치(100)는 산출된 리드 억세스 트래픽이 기준치를 초과하는지 여부를 판단할 수 있다. 다른 실시 예에 따르면, S1610 및 S1620은 중개 서버(123)에 의해서 수행될 수도 있다.In step S1610, the mobile storage device 100 may calculate read access traffic for content stored in the mobile storage device 100. That is, the mobile storage device 100 may calculate the amount of the request for the content. Thereafter, in step S1620, the mobile storage device 100 may determine whether the calculated read access traffic exceeds a reference value. According to another embodiment, S1610 and S1620 may be performed by the intermediary server 123.

리드 억세스 트래픽이 기준치를 초과하는 경우, 단계 S1630에서 모바일 스토리지 장치(100)는 그 컨텐츠를 컨텐츠 딜리버리 서버(124)에 송신할 수 있다. 몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)는 컨텐츠를 컨텐츠 딜리버리 서버(124)에 송신할 경우, 컨텐츠가 컨텐츠 딜리버리 서버(124)에 송신된 상태 정보를 출력하기 위해 인디케이터(104)의 출력을 제어하는 제어 신호를 출력할 수 있다.If the read access traffic exceeds the reference value, in step S1630, the mobile storage device 100 may transmit the content to the content delivery server 124. According to some embodiments, when the mobile storage device 100 transmits content to the content delivery server 124, the content outputs the indicator 104 to output status information transmitted to the content delivery server 124. A control signal to be controlled can be output.

이후, 모바일 스토리지 장치(100)는 단계 S1640에서 컨텐츠에 대한 리드 억세스가 수신되는 경우, 단계 S1650에서 수신된 리드 억세스를 컨텐츠 딜리버리 서버로 리다이렉션(redirection)할 수 있다.Thereafter, when the read access to the content is received in step S1640, the mobile storage device 100 may redirect the read access received in step S1650 to the content delivery server.

즉, 컨텐츠가 다수의 사용자에 의해 요청될 경우, 트래픽을 처리할 수 있는 용량에 한계가 있는 모바일 스토리지 장치(100)가 컨텐츠에 대한 리드 억세스를 충분히 처리하지 못할 수도 있다. 따라서, 모바일 스토리지 장치(100)는 요청되는 횟수가 많은 컨텐츠는 컨텐츠 딜리버리 서버(124)에 업로드하여 컨텐츠 딜리버리 서버(124)가 컨텐츠를 제공하도록 할 수 있다.That is, when the content is requested by a large number of users, the mobile storage device 100, which has a limited capacity to process traffic, may not be able to sufficiently process read access to the content. Therefore, the mobile storage device 100 may upload the content requested frequently to the content delivery server 124 so that the content delivery server 124 provides the content.

또한, 컨텐츠 딜리버리 서버(124)에 업로드된 컨텐츠는 그 컨텐츠에 대한 리드 억세스 트래픽이 기준치를 하회하게 되면 컨텐츠 딜리버리 서버(124)에서 비활성화 또는 삭제될 수 있다.In addition, the content uploaded to the content delivery server 124 may be deactivated or deleted in the content delivery server 124 when the read access traffic for the content falls below the reference value.

도 17은 몇몇 실시 예에 따라 컨텐츠가 미디어 포털 서버(125)에서 제공하는 미디어 포털 서비스를 통해 노출된 경우에 수행될 수 있는 프로세스를 도시한 도면이다.17 is a diagram illustrating a process that may be performed when content is exposed through a media portal service provided by the media portal server 125 according to some embodiments.

미디어 포털 서버(125)는 모바일 스토리지 장치(100)에 의해 공유 대상이 되는 컨텐츠 중 하나 이상에 대한 정보를 노출시킬 수 있다. 예를 들어, 미디어 포털 서버(125)는 리드 억세스가 다수 발생한 컨텐츠나 미디어 포털 서버(125)의 관리자에 의해 선정된 컨텐츠에 대한 정보를 노출시킬 수 있다. 또한, 미디어 포털 서버(125)의 미디어 포털 서비스를 통해 노출된 컨텐츠는 리드 억세스가 다수 발생하는 컨텐츠이므로 컨텐츠 딜리버리 서버(124)에 업로드된 컨텐츠일 수 있다.The media portal server 125 may expose information on one or more of contents to be shared by the mobile storage device 100. For example, the media portal server 125 may expose information on content with multiple read accesses or content selected by the administrator of the media portal server 125. In addition, the content exposed through the media portal service of the media portal server 125 may be content uploaded to the content delivery server 124 because the content with multiple read accesses occurs.

미디어 포털 서버(125)는 모바일 스토리지 장치(100)에 저장된 컨텐츠를 미디어 포털 서비스에 노출시킨 경우, 모바일 스토리지 장치(100)에 컨텐츠가 미디어 포털 서비스에 노출된 상태임을 나타내는 데이터를 전송할 수 있다. 단계 S1710에서 모바일 스토리지 장치(100)는 컨텐츠가 미디어 포털 서비스에 노출된 것을 가리키는 데이터를 수신하면, 단계 S1720에서 모바일 스토리지 장치(100)가 제공하는 컨텐츠가 미디어 포털 서비스에 노출된 상태임을 나타내는 상태 정보를 출력하도록 인디케이터(104)를 제어할 수 있다.When the content stored in the mobile storage device 100 is exposed to the media portal service, the media portal server 125 may transmit data indicating that the content is exposed to the media portal service to the mobile storage device 100. In step S1710, when the mobile storage device 100 receives data indicating that the content is exposed to the media portal service, status information indicating that the content provided by the mobile storage device 100 is exposed to the media portal service in step S1720. Indicator 104 can be controlled to output.

모바일 스토리지 장치(100)를 통해서 컨텐츠를 공유하는 사용자는 모바일 스토리지 장치(100)에 저장된 컨텐츠에 대한 공유를 중단하기 위해 모바일 스토리지 장치(100)와 호스트 장치(110) 사이의 연결을 해제할 수 있다. 이 경우, 컨텐츠 딜리버리 서버(124)를 통한 컨텐츠의 공유도 중단되어야 한다. 따라서, 단계 S1730에서 모바일 스토리지 장치(100)의 호스트 장치(110)에 대한 연결이 해제된 경우, 컨텐츠는 단계 S1740에서 컨텐츠 딜리버리 서버(124)에서 비활성화되거나 삭제될 수 있다.A user sharing content through the mobile storage device 100 may release the connection between the mobile storage device 100 and the host device 110 to stop sharing the content stored in the mobile storage device 100. . In this case, sharing of content through the content delivery server 124 should also be stopped. Therefore, when the connection to the host device 110 of the mobile storage device 100 is released in step S1730, the content may be deactivated or deleted in the content delivery server 124 in step S1740.

도 18은 몇몇 실시 예에 따라 모바일 스토리지 장치(100)가 다른 모바일 스토리지 장치에 컨텐츠를 전송하는 프로세스를 도시한 도면이다.18 is a diagram illustrating a process in which the mobile storage device 100 transmits content to another mobile storage device according to some embodiments.

단계 S1810에서, 중개 서버(123)는 송신측 모바일 스토리지 장치(100-4) 또는 송신측 모바일 스토리지 장치(100-4)에 연결된 호스트 장치(110)를 통해서 수신자 선택 사용자 인터페이스(User Interface; UI)를 제공할 수 있다. 여기서, 수신자 선택 UI는 송신측 모바일 스토리지 장치(100)의 사용자가 컨텐츠를 수신할 사용자를 선택하는 입력을 받기 위한 UI일 수 있다. 예를 들어, 도 19를 참조하면, 수신자 선택 UI는 송신측 모바일 스토리지 장치(100-4)의 사용자에 대해 관계가 설정된 사용자들의 목록을 포함하는 그래픽 사용자 인터페이스(Graphic User Interface; GUI)(2)일 수 있다.In step S1810, the intermediary server 123 selects a recipient user interface (UI) through the transmitting mobile storage device 100-4 or the host device 110 connected to the transmitting mobile storage device 100-4. Can provide. Here, the receiver selection UI may be a UI for receiving an input for a user of the mobile storage device 100 of the transmitting side to select a user to receive the content. For example, referring to FIG. 19, the recipient selection UI is a graphical user interface (GUI) 2 that includes a list of users who are established with respect to a user of the transmitting mobile storage device 100-4. Can be

이후, 단계 S1820에서, 중개 서버(123)는 송신측 모바일 스토리지 장치(100-4)로부터 수신자 선택 UI를 통해 선택된 사용자에 대한 컨텐츠의 송신 요청을 수신할 수 있다. 이 경우, 중개 서버(123)는 선택된 사용자에 매칭되어 저장된 수신측 모바일 스토리지 장치(100-5)를 조회할 수 있다.Subsequently, in step S1820, the mediation server 123 may receive a request to transmit content to the selected user through the recipient selection UI from the mobile storage device 100-4 on the sender side. In this case, the intermediary server 123 may query the receiving mobile storage device 100-5 stored matching the selected user.

이후, 단계 S1830에서, 중개 서버(123)는 수신측 모바일 스토리지 장치(100-5)가 네트워크를 통해서 중개 서버(123)와 연결되어 있는지 여부를 판단할 수 있다. 몇몇 실시 예에 따르면, 인증이 완료된 모바일 스토리지 장치(100)는 중개 서버(123)에 모바일 스토리지 장치(100)의 위치 정보를 반복적으로 전송할 수 있다. 미리 정해진 시간 이상 모바일 스토리지 장치(100)의 위치 정보가 수신되지 않으면, 중개 서버(123)는 그 모바일 스토리지 장치(100)는 연결이 해제된 것으로 판단할 수 있다.Thereafter, in step S1830, the intermediary server 123 may determine whether the receiving mobile storage device 100-5 is connected to the intermediary server 123 through a network. According to some embodiments, the mobile storage device 100 that has been authenticated may repeatedly transmit the location information of the mobile storage device 100 to the intermediary server 123. If the location information of the mobile storage device 100 is not received for a predetermined time or longer, the intermediary server 123 may determine that the mobile storage device 100 is disconnected.

수신측 모바일 스토리지 장치(100-5)가 연결되어 있는 경우, 중개 서버(123)는 송신측 모바일 스토리지 장치(100-4)와 수신측 모바일 스토리지 장치(100-5)의 P2P 연결을 중개하여 컨텐츠가 전송되도록 할 수 있다. 예를 들어, 도 20을 참조하면, 중개 서버(123)는 송신측 모바일 스토리지 장치(100-4)로부터 수신측 모바일 스토리지 장치(100-5)로 컨텐츠의 송신에 대한 요청을 수신한 경우, 송신측 모바일 스토리지 장치(100-4)와 수신측 모바일 스토리지 장치(100-5) 사이의 연결을 중개할 수 있다.When the receiving mobile storage device 100-5 is connected, the mediation server 123 mediates the P2P connection between the transmitting mobile storage device 100-4 and the receiving mobile storage device 100-5. Can be transmitted. For example, referring to FIG. 20, when the mediation server 123 receives a request for transmission of content from the mobile storage device 100-4 on the sender side to the mobile storage device 100-5 on the receiver side, transmission The connection between the mobile storage device 100-4 on the side and the mobile storage device 100-5 on the receiving side may be brokered.

그러나, 단계 S1830에서 수신측 모바일 스토리지 장치(100-5)가 연결되어 있지 않은 경우, 중개 서버(123)는 송신측 모바일 스토리지 장치(100-4)와 수신측 모바일 스토리지 장치(100-5)를 연결하여 컨텐츠가 송신되도록 할 수 없다. 이 경우, 수신측 모바일 스토리지 장치(100-5)가 이후에 중개 서버(123)에 연결되었을 때에는 송신측 모바일 스토리지 장치(100-4)가 컨텐츠를 송신할 수 없는 상태일 수 있다. 예를 들면, 송신측 모바일 스토리지 장치(100-4)가 네트워크에 연결되어 있지 않거나, 송신측 모바일 스토리지 장치(100-4)에서 컨텐츠가 삭제되어 있을 수도 있다. 따라서, 수신측 모바일 스토리지 장치(100-5)에 대한 컨텐츠의 전달이 보장되지 않을 수 있다.However, in step S1830, when the receiving mobile storage device 100-5 is not connected, the intermediary server 123 uses the sending mobile storage device 100-4 and the receiving mobile storage device 100-5. You cannot connect and allow content to be transmitted. In this case, when the receiving mobile storage device 100-5 is subsequently connected to the intermediary server 123, the transmitting mobile storage device 100-4 may not be able to transmit content. For example, the transmitting mobile storage device 100-4 may not be connected to the network, or the content may be deleted from the transmitting mobile storage device 100-4. Therefore, delivery of content to the mobile storage device 100-5 on the receiving side may not be guaranteed.

따라서, 중개 서버(123)는 단계 S1851에서 송신 대상 데이터를 분산 저장할 수 있다. 몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)는 데이터의 분산 저장을 위한 분산 저장 공유 공간을 스토리지(103) 내에 구비할 수 있다. 또한, 다른 몇몇 실시 예에 따르면, 분산 저장 공유 공간은 블록 체인의 노드로 활용하여 블록 체인 서비스에 적용될 수도 있다.Therefore, the intermediary server 123 may distribute and store the data to be transmitted in step S1851. According to some embodiments, the mobile storage device 100 may include a distributed storage shared space in the storage 103 for distributed storage of data. In addition, according to some other embodiments, the distributed storage shared space may be applied to a blockchain service by utilizing it as a node of the blockchain.

도 21을 참조하면, 하나 이상의 주변 모바일 스토리지 장치(100-6)를 결정하고, 송신 요청에 따라 컨텐츠를 전달하기 위해 송신 대상이 되는 데이터를 주변 모바일 스토리지 장치(100-6)에 P2P 송수신을 통해 분산 저장할 수 있다. 몇몇 실시 예에 따르면, 중개 서버(123)는 미리 설정된 정책에 따라서 하나 이상의 주변 모바일 스토리지 장치(100-6)를 결정할 수 있다. 예를 들어, 중개 서버(123)는 수신측 모바일 스토리지 장치(100-5)가 마지막으로 연결된 위치로부터의 거리를 기준으로 주변 모바일 스토리지 장치(100-6)를 결정하거나, 사용 가능한 저장 용량이나 해당 모바일 스토리지 장치에 발생하는 트래픽을 기준으로 결정할 수 있다.Referring to FIG. 21, one or more peripheral mobile storage devices 100-6 are determined, and data to be transmitted is transmitted to the peripheral mobile storage devices 100-6 through P2P transmission and reception in order to deliver content according to a transmission request. Can be distributed and stored. According to some embodiments, the mediation server 123 may determine one or more peripheral mobile storage devices 100-6 according to a preset policy. For example, the intermediary server 123 determines the peripheral mobile storage device 100-6 based on the distance from the location where the receiving mobile storage device 100-5 was last connected, or the available storage capacity or the corresponding It can be determined based on the traffic occurring to the mobile storage device.

이후, 단계 S1852에서 수신측 모바일 스토리지 장치(100-5)가 연결되면, 도 22에 도시된 바와 같이 중개 서버(123)는 주변 모바일 스토리지 장치(100-6)를 이용하여 송신 대상이 되는 데이터를 수신측 모바일 스토리지 장치(100-5)에 제공할 수 있다.Thereafter, when the receiving-side mobile storage device 100-5 is connected in step S1852, as shown in FIG. 22, the intermediary server 123 transmits the data to be transmitted using the peripheral mobile storage device 100-6. It can be provided to the receiving mobile storage device (100-5).

단계 S1840 또는 단계 S1853 이후에, 중개 서버(123)는 전송 결과 로그를 기록할 수 있다. 여기서, 전송 결과 로그는 데이터 전송의 성공/실패 여부 및 전송 과정에 대한 이력을 포함할 수 있다. 전송 과정에 대한 이력은 송신측 모바일 스토리지 장치(100-4)가 수신측 모바일 스토리지 장치(100-5)에 컨텐츠를 전송할 때 직접 전송하였는지, 다른 모바일 스토리지 장치에 분산 저장 이후에 전송하였는지에 관한 정보를 의미할 수 있다. 중개 서버(123)는 전송 결과 로그를 이용하여 컨텐츠에 대한 검색 기능을 제공할 수 있다. 일부 실시 예에 따르면, 중개 서버(123)는 컨텐츠를 다른 장치에 전송할 것을 요청하는 송신 요청이나 컨텐츠를 제공받고자 하는 제공 요청이 수신되면 전송 결과 로그를 이용하여 연결될 장치를 결정하고 홀 펀칭을 중개할 수 있다.After step S1840 or step S1853, the intermediary server 123 may record a transmission result log. Here, the transmission result log may include a success / failure of data transmission and a history of the transmission process. The history of the transmission process transmits information on whether the transmitting mobile storage device 100-4 directly transmits content when transmitting content to the receiving mobile storage device 100-5 or after distributed storage to another mobile storage device. Can mean The mediation server 123 may provide a search function for content using a log of transmission results. According to some embodiments, the mediation server 123 determines a device to be connected using the transmission result log and mediates hole punching when a transmission request requesting to transmit content to another device or a provision request to receive content is received. You can.

지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 인스트럭션을 포함하는 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 컴퓨팅 장치를 모두 포함한다.The methods according to the embodiments of the present invention described so far may be performed by execution of a computer program including instructions embodied in computer readable code. The computer program may be transmitted from a first computing device to a second computing device through a network such as the Internet and installed in the second computing device, and thus used in the second computing device. The first computing device and the second computing device include both server devices, physical servers belonging to a server pool for cloud services, and fixed computing devices such as desktop PCs.

상기 컴퓨터프로그램은 DVD-ROM, 플래시 메모리 장치 등의 기록매체에 저장된 것일 수도 있다.The computer program may be stored in a recording medium such as a DVD-ROM or flash memory device.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.Although the embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art to which the present invention pertains may be implemented in other specific forms without changing the technical spirit or essential features of the present invention. Can understand. Therefore, it should be understood that the above-described embodiments are illustrative in all respects and not restrictive.

Claims (20)

모바일 스토리지 장치에 있어서,
인터넷에 연결된 호스트 장치에 전기적으로 연결됨으로써, 상기 호스트 장치를 통해 상기 인터넷에 연결을 제공하는 커넥터;
스토리지; 및
상기 커넥터 및 상기 스토리지와 연결되고, 상기 스토리지에 저장된 데이터를 이용하여 서버-클라이언트 모델에 따른 온라인 서비스를 외부 단말에 제공하기 위한 복수의 인스트럭션(instruction)을 실행하는 프로세서를 포함하되,
상기 복수의 인스트럭션은,
상기 커넥터가 상기 호스트 장치에 연결되어 상기 모바일 스토리지 장치가 상기 인터넷에 연결되면, 자동으로 상기 외부 단말에 상기 모바일 스토리지 장치의 주소 정보를 제공하는 중개 서버에 등록 요청을 송신하되, 상기 등록 요청은 상기 커넥터가 상기 호스트 장치에 연결됨에 따라 상기 모바일 스토리지 장치에 할당되는 주소 정보를 포함하는 것인, 인스트럭션; 및
상기 외부 단말이 상기 중개 서버로부터 상기 모바일 스토리지 장치의 주소 정보를 획득한 후, 상기 온라인 서비스의 제공을 위한 패킷을 상기 외부 단말과 홀 펀칭(hole punching) 방식으로 p2p 송수신하는 인스트럭션을 포함하는,
모바일 스토리지 장치.
In a mobile storage device,
A connector that is electrically connected to a host device connected to the Internet, thereby providing a connection to the Internet through the host device;
storage; And
It includes a processor that is connected to the connector and the storage, and executes a plurality of instructions for providing an online service according to a server-client model to an external terminal using data stored in the storage,
The plurality of instructions,
When the connector is connected to the host device and the mobile storage device is connected to the Internet, a registration request is automatically transmitted to an intermediary server that provides address information of the mobile storage device to the external terminal. An instruction that includes address information allocated to the mobile storage device as a connector is connected to the host device; And
After the external terminal obtains the address information of the mobile storage device from the intermediary server, and including a p2p instructions for transmitting and receiving a packet for providing the online service in a hole punching (hole punching) method with the external terminal,
Mobile storage device.
제1항에 있어서,
상기 복수의 인스트럭션은,
모바일 스토리지 장치 인증 인스트럭션을 더 포함하되,
상기 모바일 스토리지 장치 인증 인스트럭션은,
상기 커넥터가 상기 호스트 장치에 연결됨으로써 상기 모바일 스토리지 장치가 최초로 상기 인터넷에 연결되는 것에 응답하여, 자동으로 상기 인터넷에 연결된 장치 인증 서버에 인증 요청을 송신하되, 상기 인증 요청에는 상기 모바일 스토리지 장치의 제조시 기록된 장치 식별자가 포함되는, 인스트럭션;
상기 장치 인증 서버로부터 인증 성공을 가리키는 데이터가 수신된 경우, 회원 가입 정보를 입력 받기 위한 GUI가 표시되기 위한 데이터를 상기 호스트 장치에 제공하는 인스트럭션; 및
플랫폼 인증 서버로부터 상기 모바일 스토리지 장치에 발급되는 장치 고유 키를 상기 스토리지에 저장하되, 상기 장치 고유 키는 상기 회원 가입 정보에 매치되는 것인, 인스트럭션을 포함하는,
모바일 스토리지 장치.
According to claim 1,
The plurality of instructions,
The mobile storage device authentication instructions further include,
The mobile storage device authentication instruction,
In response to the first connection of the mobile storage device to the Internet by connecting the connector to the host device, an authentication request is automatically sent to a device authentication server connected to the Internet, and the authentication request is manufactured. An instruction, which includes a device identifier recorded at the time;
An instruction for providing data to the host device for displaying a GUI for receiving member subscription information when data indicating authentication success is received from the device authentication server; And
A device-specific key issued to the mobile storage device from a platform authentication server is stored in the storage, wherein the device-specific key is matched with the member subscription information, including an instruction.
Mobile storage device.
제2항에 있어서,
상기 모바일 스토리지 장치 인증 인스트럭션은,
상기 커넥터가 상기 호스트 장치에 연결됨으로써 상기 모바일 스토리지 장치가 상기 인터넷에 연결되는 것에 응답하여, 자동으로 상기 플랫폼 인증 서버에 의하여 발급된 장치 고유 키에 대한 정보를 포함하는 인증 요청을 상기 플랫폼 인증 서버에 송신하는 인스트럭션을 포함하는,
모바일 스토리지 장치.
According to claim 2,
The mobile storage device authentication instruction,
In response to the connection of the mobile storage device to the Internet by connecting the connector to the host device, an authentication request including information on a device unique key issued by the platform authentication server is automatically sent to the platform authentication server. Containing the sending instruction,
Mobile storage device.
제3항에 있어서,
상기 모바일 스토리지 장치 인증 인스트럭션은,
상기 인증 요청에 대한 인증 성공을 나타내는 데이터에 대한 응답으로, 상기 플랫폼 인증 서버로부터 공개키를 수신하여 상기 장치 고유 키를 업데이트하는 인스트럭션을 더 포함하는,
모바일 스토리지 장치.
According to claim 3,
The mobile storage device authentication instruction,
In response to the data indicating the authentication success for the authentication request, further comprising an instruction for receiving a public key from the platform authentication server to update the device-specific key,
Mobile storage device.
제3항에 있어서,
상기 모바일 스토리지 장치는 사용자에 의하여 상태 정보를 출력할 수 있는 인디케이터를 더 포함하되,
상기 모바일 스토리지 장치 인증 인스트럭션은,
상기 플랫폼 인증 서버로부터 인증 실패를 가리키는 데이터가 수신되는 경우, 상기 인디케이터가 상태 정보를 출력할 수 있도록 하는 제어 신호를 출력하는 인스트럭션을 포함하는,
모바일 스토리지 장치.
According to claim 3,
The mobile storage device further includes an indicator capable of outputting status information by the user,
The mobile storage device authentication instruction,
When the data indicating the authentication failure is received from the platform authentication server, including an instruction for outputting a control signal to enable the indicator to output status information,
Mobile storage device.
제1항에 있어서,
상기 복수의 인스트럭션은,
모바일 스토리지 장치 인증 인스트럭션을 더 포함하되,
상기 모바일 스토리지 장치 인증 인스트럭션은,
상기 모바일 스토리지 장치에 저장된 개인 키와 블록 체인 시스템의 노드를 구성하는 플랫폼 인증 서버에 저장된 공개 키를 조합하여 장치 고유 키를 활성화하는 인스트럭션과,
상기 플랫폼 인증 서버로부터 상기 장치 고유 키를 갱신 받는 인스트럭션을 포함하는,
모바일 스토리지 장치.
According to claim 1,
The plurality of instructions,
The mobile storage device authentication instructions further include,
The mobile storage device authentication instruction,
An instruction for combining a private key stored in the mobile storage device and a public key stored in a platform authentication server constituting a node of the blockchain system to activate a device unique key;
Including an instruction to update the device-specific key from the platform authentication server,
Mobile storage device.
제1항에 있어서,
상기 복수의 인스트럭션은,
상기 모바일 스토리지 장치의 주소 정보가 변경된 경우, 상기 중개 서버에 주소 정보의 업데이트를 요청하는 인스트럭션을 더 포함하는,
모바일 스토리지 장치.
According to claim 1,
The plurality of instructions,
When the address information of the mobile storage device is changed, further comprising an instruction for requesting the intermediary server to update the address information,
Mobile storage device.
제7항에 있어서,
상기 업데이트를 요청하는 인스트럭션은,
상기 커넥터에 연결된 호스트 장치의 주소 정보가 변경되거나, 상기 커넥터에 연결된 호스트 장치가 변경된 경우에 상기 모바일 스토리지 장치의 주소 정보가 변경된 것으로 판단하는,
모바일 스토리지 장치.
The method of claim 7,
The instruction requesting the update,
When the address information of the host device connected to the connector is changed or the host device connected to the connector is changed, it is determined that the address information of the mobile storage device is changed,
Mobile storage device.
제1항에 있어서,
상기 프로세서는,
부팅 완료 후 상기 복수의 인스트럭션을 자동으로 실행하고,
상기 복수의 인스트럭션은, 상기 모바일 스토리지 장치 제조 시에, 바로 실행 가능하도록 설치된 온라인 서비스 제공 소프트웨어에 포함된 것인,
모바일 스토리지 장치.
According to claim 1,
The processor,
After the booting is completed, the plurality of instructions are automatically executed,
The plurality of instructions are included in the online service providing software installed to be immediately executable when the mobile storage device is manufactured.
Mobile storage device.
제9항에 있어서,
상기 온라인 서비스 제공 소프트웨어는, 상기 스토리지의 사용자 레벨 접근 불가능 영역에 설치되는,
모바일 스토리지 장치.
The method of claim 9,
The online service providing software is installed in a user level inaccessible area of the storage,
Mobile storage device.
제9항에 있어서,
상기 모바일 스토리지 장치는, ROM(Read Only Memory)를 더 포함하고,
상기 온라인 서비스 제공 소프트웨어는, 상기 ROM에 설치되는,
모바일 스토리지 장치.
The method of claim 9,
The mobile storage device further includes a read only memory (ROM),
The online service providing software is installed in the ROM,
Mobile storage device.
제1항에 있어서,
상기 복수의 인스트럭션은,
상기 온라인 서비스의 제공에 따라 상기 스토리지에 저장된 컨텐츠의 리드(read) 억세스 트래픽이 기준치를 초과하는 경우, 상기 컨텐츠를 상기 인터넷에 연결된 컨텐츠 딜리버리 서버에 송신하는 인스트럭션; 및
상기 컨텐츠에 대한 리드 억세스를 상기 컨텐츠 딜리버리 서버로 리다이렉션(redirection) 하는 인스트럭션을 더 포함하는,
모바일 스토리지 장치.
According to claim 1,
The plurality of instructions,
An instruction for transmitting the content to a content delivery server connected to the Internet when the read access traffic of the content stored in the storage exceeds a reference value according to the provision of the online service; And
Further comprising instructions for redirecting the read access to the content to the content delivery server (redirection),
Mobile storage device.
제12항에 있어서,
상기 컨텐츠는, 상기 모바일 스토리지 장치가 상기 호스트 장치에서 연결 해제 되면, 상기 컨텐츠 딜리버리 서버에서 비활성화 또는 삭제되는,
모바일 스토리지 장치.
The method of claim 12,
The content is deactivated or deleted in the content delivery server when the mobile storage device is disconnected from the host device.
Mobile storage device.
제12항에 있어서,
상기 컨텐츠는, 상기 컨텐츠의 리드(read) 억세스 트래픽이 기준치를 하회하는 경우, 상기 컨텐츠 딜리버리 서버에서 삭제되는,
모바일 스토리지 장치.
The method of claim 12,
The content is deleted from the content delivery server when the read access traffic of the content falls below a reference value.
Mobile storage device.
제12항에 있어서,
상기 모바일 스토리지 장치는 사용자에 의하여 상태 정보를 출력할 수 있는 인디케이터를 더 포함하고,
상기 컨텐츠를 상기 인터넷에 연결된 컨텐츠 딜리버리 서버에 송신하는 인스트럭션은,
상기 인디케이터의 출력을 제어하는 제어 신호를 출력하는 인스트럭션을 포함하는,
모바일 스토리지 장치.
The method of claim 12,
The mobile storage device further includes an indicator capable of outputting status information by the user,
The instruction to transmit the content to the content delivery server connected to the Internet,
Including an instruction for outputting a control signal for controlling the output of the indicator,
Mobile storage device.
제12항에 있어서,
상기 컨텐츠는, 기 지정된 기준을 만족하는 경우, 상기 컨텐츠가 저장된 상기 모바일 스토리지 장치와 p2p 접속된 바 없는 외부 단말들이 접속할 수 있는 미디어 포털 서비스에 노출되는,
모바일 스토리지 장치.
The method of claim 12,
When the content satisfies a predetermined criterion, the mobile storage device in which the content is stored is exposed to a media portal service that can be accessed by external terminals that are not p2p connected.
Mobile storage device.
제16항에 있어서,
상기 모바일 스토리지 장치는 상태 정보를 출력할 수 있도록 구비된 인디케이터를 더 포함하고,
상기 컨텐츠는, 상기 모바일 스토리지 장치가 상기 호스트 장치에서 연결 해제 되면, 상기 컨텐츠 딜리버리 서버에서 비활성화 또는 삭제되고,
상기 복수의 인스트럭션은,
상기 컨텐츠가 상기 미디어 포털 서비스에 노출된 것을 가리키는 데이터를 수신하는 것에 응답하여, 상기 인디케이터를 제어하는 제어 신호를 출력하는 인스트럭션을 포함하는,
모바일 스토리지 장치.
The method of claim 16,
The mobile storage device further includes an indicator provided to output status information,
The content is deactivated or deleted in the content delivery server when the mobile storage device is disconnected from the host device,
The plurality of instructions,
And in response to receiving data indicating that the content has been exposed to the media portal service, an instruction to output a control signal for controlling the indicator.
Mobile storage device.
컴퓨팅 장치에 의하여 수행되는 방법에 있어서,
호스트 장치에 연결된 모바일 스토리지 장치로부터, 상기 모바일 스토리지 장치에 발급된 장치 고유 키 및 상기 호스트 장치에 연결됨에 따라 상기 모바일 스토리지 장치에 할당 된 주소 정보를 포함한 등록 요청을 수신하는 단계;
상기 등록 요청을 반영하여 매칭 테이블을 업데이트 하는 단계;
외부 단말로부터 로그인 정보를 수신하는 단계;
상기 매칭 테이블을 이용하여 상기 로그인 정보에 대응되는 장치 고유 키를 조회하는 단계; 및
상기 조회된 장치 고유 키의 주소 정보를 상기 외부 단말에 송신하고, 상기 조회된 장치 고유 키를 가진 모바일 스토리지 장치에 상기 외부 단말의 주소 정보를 송신함으로써, 홀펀칭을 중개하는 단계를 포함하는,
홀펀칭 중개 방법.
In the method performed by the computing device,
Receiving, from a mobile storage device connected to a host device, a registration request including a device unique key issued to the mobile storage device and address information assigned to the mobile storage device as connected to the host device;
Updating a matching table by reflecting the registration request;
Receiving login information from an external terminal;
Querying a device-specific key corresponding to the login information using the matching table; And
And mediating hole punching by transmitting address information of the inquired device-specific key to the external terminal, and transmitting address information of the external terminal to a mobile storage device having the inquired device-specific key,
Hole punching mediation method.
컴퓨팅 장치에 의하여 수행되는 방법에 있어서,
호스트 장치에 연결된 모바일 스토리지 장치로부터, 상기 모바일 스토리지 장치에 발급된 장치 고유 키 및 상기 호스트 장치에 연결됨에 따라 상기 모바일 스토리지 장치에 할당 된 주소 정보를 포함한 등록 요청을 수신하는 단계;
상기 등록 요청을 반영하여 매칭 테이블을 업데이트 하는 단계;
상기 호스트 장치를 통해서 수신자 선택 사용자 인터페이스를 제공하는 단계;
상기 모바일 스토리지 장치로부터 상기 수신자 선택 사용자 인터페이스를 통해 선택된 외부 단말에 대한 컨텐츠의 송신 요청을 수신하는 단계;
상기 외부 단말의 연결 상태가 상기 컴퓨팅 장치에 연결되지 않은 상태인 경우, 상기 컨텐츠를 하나 이상의 주변 모바일 스토리지 장치에 저장되도록 상기 매칭 테이블을 이용하여 상기 모바일 스토리지 장치와 상기 하나 이상의 주변 모바일 스토리지 장치 사이의 홀펀징을 중개하는 단계; 및
상기 외부 단말이 상기 컴퓨팅 장치에 연결된 경우, 상기 컨텐츠가 상기 외부 단말로 전송되도록 상기 하나 이상의 주변 모바일 스토리지 장치와 상기 외부 단말 사이의 홀펀칭을 중개하는 단계;를 더 포함하는,
홀펀칭 중개 방법.
In the method performed by the computing device,
Receiving, from a mobile storage device connected to a host device, a registration request including a device unique key issued to the mobile storage device and address information assigned to the mobile storage device as connected to the host device;
Updating a matching table by reflecting the registration request;
Providing a recipient selection user interface through the host device;
Receiving a request to transmit content to an external terminal selected through the recipient selection user interface from the mobile storage device;
When the connection state of the external terminal is not connected to the computing device, between the mobile storage device and the one or more peripheral mobile storage devices using the matching table so that the content is stored in one or more peripheral mobile storage devices Mediating hole punching; And
Further comprising, when the external terminal is connected to the computing device, intermediary hole punching between the one or more peripheral mobile storage devices and the external terminal so that the content is transmitted to the external terminal.
Hole punching mediation method.
제19항에 있어서,
상기 컨텐츠의 전송 이력에 대한 로그를 저장하는 단계; 및
상기 컨텐츠에 대한 송신 요청 또는 제공 요청이 수신되는 경우, 상기 로그를 이용하여 홀펀칭을 중개하는 단계;를 더 포함하는,
홀펀칭 중개 방법.
The method of claim 19,
Storing a log of the transmission history of the content; And
When the request for transmission or provision of the content is received, mediating hole punching using the log; further comprising,
Hole punching mediation method.
KR1020190127285A 2019-10-14 2019-10-14 Method for providing service platform using mobile storage apparatus and apparauts thereof KR20200039606A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190127285A KR20200039606A (en) 2019-10-14 2019-10-14 Method for providing service platform using mobile storage apparatus and apparauts thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190127285A KR20200039606A (en) 2019-10-14 2019-10-14 Method for providing service platform using mobile storage apparatus and apparauts thereof

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190045869A Division KR102034296B1 (en) 2019-04-19 2019-04-19 Method for providing service platform using mobile storage apparatus and apparauts thereof

Publications (1)

Publication Number Publication Date
KR20200039606A true KR20200039606A (en) 2020-04-16

Family

ID=70454948

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190127285A KR20200039606A (en) 2019-10-14 2019-10-14 Method for providing service platform using mobile storage apparatus and apparauts thereof

Country Status (1)

Country Link
KR (1) KR20200039606A (en)

Similar Documents

Publication Publication Date Title
US11665146B2 (en) Migrating authenticated content towards content consumer
US9231904B2 (en) Deploying and managing networked devices
US10623272B2 (en) Authenticating connections and program identity in a messaging system
US9866556B2 (en) Common internet file system proxy authentication of multiple servers
US9276926B2 (en) Secure and automated credential information transfer mechanism
CN109691057B (en) Interchangeably retrieving sensitive content via a private content distribution network
US11240314B2 (en) Systems and methods for remote management of appliances
EP3203709B1 (en) Cloud service server and method for managing cloud service server
US9178868B1 (en) Persistent login support in a hybrid application with multilogin and push notifications
EP1157344B1 (en) Proxy server augmenting a client request with user profile data
US20090013063A1 (en) Method for enabling internet access to information hosted on csd
US9225721B2 (en) Distributing overlay network ingress information
US20120278854A1 (en) System and method for device addressing
CN106254319B (en) Light application login control method and device
US20240039739A1 (en) Automation of user identity using network protocol providing secure granting or revocation of secured access rights
EP4268101A1 (en) Authentication using device and user identity
US20080263126A1 (en) Internet bridge for applications and web servers
JP2017523508A (en) Secure integrated cloud storage
KR101972349B1 (en) Method for providing service platform using mobile storage apparatus and apparauts thereof
JP6185934B2 (en) Integrate server applications with many authentication providers
JP6280471B2 (en) Connection management method, program, and connection management system
KR102034296B1 (en) Method for providing service platform using mobile storage apparatus and apparauts thereof
JP6848275B2 (en) Program, authentication system and authentication cooperation system
KR20200039606A (en) Method for providing service platform using mobile storage apparatus and apparauts thereof
CN112333134A (en) Cryptographically secure dynamic third party resources