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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2869—Terminals specially adapted for communication
-
- H04L67/2809—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H04L67/2814—
-
- H04L67/36—
-
- H04L67/42—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data 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
Description
본 발명은 서버를 통해서 서비스를 제공하는 플랫폼에 관한 것이다. 보다 자세하게는, 서버를 구성할 수 있는 장치와 구성된 서버가 서비스를 제공하기 위해 다른 장치에 연결할 수 있도록 중개하는 방법에 관한 것이다.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
몇몇 실시 예에 따른 모바일 스토리지 장치(100)는 호스트 장치(110)에 연결될 수 있다. 예를 들어, 모바일 스토리지 장치(100)는 호스트 장치(110)의 USB(Universal Serial Bus) 포트에 연결될 수 있다. 다만, 이에 한정되지 아니하며, 모바일 스토리지 장치(110)는 다른 형태의 데이터 통신 포트나 무선 통신 모듈을 이용하여 호스트 장치(110)에 연결될 수도 있다. 모바일 스토리지 장치(100)는 데이터를 저장할 수 있는 저장 매체를 구비하고, 호스트 장치(110)에 저장된 데이터를 전송하거나 호스트 장치(110)로부터 수신된 데이터를 저장할 수 있다. 모바일 스토리지 장치(100)는, 예를 들어 플래시 메모리를 구비하는 개인저장매체의 형태일 수 있다.The
호스트 장치(110)는 네트워크(예를 들어, 인터넷)에 연결할 수 있는 장치를 의미한다. 예를 들어, 호스트 장치(110)는 네트워크에 연결된 데스크톱 PC, 랩톱, 스마트폰, 태블릿 PC와 같은 컴퓨팅 장치일 수 있다. 또는, 다른 예를 들면 호스트 장치(110)는 인터넷 IP 주소 공유기나 억세스 포인트(Access Point; AP) 장치와 같이 다른 장치를 네트워크에 연결하기 위한 네트워크 장치일 수도 있다.The
외부 단말(130)은 서비스 제공을 위해 호스트 장치(110)를 통해서 모바일 스토리지 장치(100)와 데이터를 송수신하는 장치이다. 몇몇 실시 예에 따르면, 외부 단말(130)은 모바일 스토리지 장치(100)와 동일하거나 유사한 형태의 다른 모바일 스토리지 장치일 수 있다. 이 경우 다른 모바일 스토리지 장치는 다른 호스트 장치를 통해서 호스트 장치(110)와 연결될 수 있다. 다른 실시 예에 따르면, 외부 단말(130)은 네트워크에 연결된 데스크톱 PC, 랩톱, 스마트폰, 태블릿 PC와 같은 컴퓨팅 장치일 수 있다.The
몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)는 서비스 제공을 위해 개인 간(Peer to peer; P2P) 통신 방식을 통해서 외부 단말(130)과 통신할 수 있다. 여기서, 서비스는 프로그램이 실행되어 네트워크를 통해서 사용자에게 제공될 수 있는 것을 의미한다. 예를 들어, 서비스는 메일링 서비스, 파일 공유 서비스, 미디어 제공 서비스 및 웹 호스팅 서비스 중 어느 하나 이상을 포함할 수 있다. 모바일 스토리지 장치(100)는 호스트 장치(110)에 연결되면 호스트 장치(110)로부터 전력을 공급받을 수 있으며, 서비스를 제공하기 위한 인스트럭션을 실행할 수 있다. 또한, 몇몇 실시 예에 따르면, 서비스는 서버-클라이언트 모델에 따른 온라인 서비스일 수 있다. 즉, 모바일 스토리지 장치(100)가 서버의 기능을 수행하여 클라이언트인 외부 단말(130)에 서비스를 제공할 수 있다.According to some embodiments, the
도 2는 몇몇 실시 예에 따른 모바일 스토리지 장치(100)의 구조를 간단히 도시한 구조도이다. 도 2에 도시된 모바일 스토리지 장치(100)의 구조는 일부 실시 예를 설명하기 위한 것이며, 실시 예에 따라 모바일 스토리지 장치(100)는 다른 구성요소를 더 포함하거나 도 2에 도시된 구성요소 중 일부를 포함하지 않을 수 있다.2 is a structural diagram simply illustrating a structure of a
몇몇 실시 예에 따른 모바일 스토리지 장치(100)는 커넥터(101), 프로세서(102), 및 스토리지(103) 를 포함할 수 있다. 커넥터(101)는 모바일 스토리지 장치(100)가 호스트 장치(110)와 연결하여 신호를 송수신하기 위한 인터페이스를 포함할 수 있다. 예를 들어, 커넥터(101)는 USB 포트에 연결하기 위한 인터페이스를 포함할 수 있다. 다른 예를 들면, 커넥터(101)는 무선 통신을 수행하는 무선 통신 모듈로 대체될 수도 있다. 또한, 몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)는 인디케이터(indicator)(104)를 더 포함할 수도 있다.The
프로세서(102)는 커넥터(101)를 통해서 모바일 스토리지 장치(100)가 호스트 장치(110)에 전기적으로 연결되면 호스트 장치(110)를 통해서 네트워크(예를 들어, 인터넷)에 연결될 수 있다. 프로세서(102)는 모바일 스토리지 장치(100)가 네트워크에 연결되는 것에 응답하여 스토리지(103)에 저장된 데이터를 이용하여 온라인 서비스를 외부 단말(130)에 제공하기 위한 인스트럭션(instruction)들을 실행할 수 있다. 프로세서(102)는 인스트럭션을 실행하여 모바일 스토리지 장치(100)에 의해 수행되는 동작을 제어할 수 있다.The
프로세서(102)는 커넥터(101)를 통해서 스토리지(103)에 저장된 데이터를 외부로 전송하거나 데이터를 수신할 수 있다. 또한, 프로세서(102)는 스토리지(103)에 데이터를 기록하거나 스토리지(103)로부터 데이터를 읽을 수 있다. 또한, 프로세서(102)는 인디케이터(104)를 제어하여 신호를 출력할 수 있다.The
인디케이터(104)는 프로세서(103)의 제어에 따라 간단한 정보를 출력하기 위한 장치를 의미한다. 몇몇 실시 예에 따르면, 인디케이터(104)는 LED 램프를 포함할 수 있다. 다른 실시 예에 따르면, 인디케이터(104)는 음향을 출력하는 스피커를 포함할 수도 있다.The
스토리지(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
몇몇 실시 에에 따르면, 스토리지(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
또한, 다른 몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)는 스토리지(103)의 용량을 확장하여 사용하기 위한 외부 저장매체 연결 포트를 더 포함할 수도 있다.In addition, according to some other embodiments, the
몇몇 실시 예에 따른 모바일 스토리지 장치(100)는 USB 저장 장치를 개조하여 간단하게 구성될 수 있다.The
도 3은 몇몇 실시 예에 따라 모바일 스토리지 장치(100)를 이용하여 서비스를 제공하는 시스템의 구조를 설명하기 위한 도면이다.3 is a view for explaining the structure of a system for providing a service using the
호스트 장치(110)에 연결된 모바일 스토리지 장치(100)는 네트워크(10)를 통해서 외부 단말(130)에 온라인 서비스를 제공할 수 있다. 모바일 스토리지 장치(100)가 외부 단말(130)에 연결하고 서비스를 제공하기 위해 장치 인증 서버(121), 플랫폼 인증 서버(122), 중개 서버(123), 컨텐츠 딜리버리 서버(Contents Delivery Server)(124) 및 미디어 포털 서버(125) 등이 시스템에 포함될 수 있다. The
도 3에서 장치 인증 서버(121), 플랫폼 인증 서버(122), 중개 서버(123), 컨텐츠 딜리버리 서버(124) 및 미디어 포털 서버(125)는 별도의 구성요소로 도시되었으나, 반드시 물리적으로 각각 별개의 컴퓨팅 장치로 구성되어야 하는 것은 아니다. 도 3에 장치 인증 서버(121), 플랫폼 인증 서버(122), 중개 서버(123), 컨텐츠 딜리버리 서버(124) 및 미디어 포털 서버(125) 중에서 둘 이상이 하나의 물리적인 컴퓨팅 장치 상에서 가상 머신으로 구현될 수도 있다. 또한, 장치 인증 서버(121), 플랫폼 인증 서버(122), 중개 서버(123), 컨텐츠 딜리버리 서버(124) 및 미디어 포털 서버(125) 중에서 하나 이상이 분산 시스템으로 구성될 수도 있다. 또한, 실시 예에 따라서 시스템은 다른 구성요소를 더 포함하거나, 도 3에 도시된 구성요소 중 일부 구성요소를 생략할 수도 있다.In FIG. 3, the
시스템을 제공하는 제공자 입장에서는 모바일 스토리지 장치(100)의 판매를 위해 제공자로부터 모바일 스토리지 장치(100)를 구매한 사용자에 한해서만 외부 단말(130)에 서비스가 가능하도록 지원할 필요가 있다. 이를 위해, 장치 인증 서버(121)는 모바일 스토리지 장치(100)를 인증할 수 있다.From a provider's point of view of providing a system, it is necessary to support the
모바일 스토리지 장치(100)는 모바일 스토리지 장치(100)를 구매한 사용자가 호스트 장치(110)를 통해서 네트워크(10)에 최초로 연결된 경우 모바일 스토리지 장치 인증 인스트럭션을 실행할 수 있다. 모바일 스토리지 장치 인증 인스트럭션은 장치 인증 서버(121)를 통해서 모바일 스토리지 장치(100)가 네트워크(10)에 최초로 연결된 경우에 한해서 실행되고, 모바일 스토리지 장치(100)가 장치 인증 서버(121)를 통한 인증이 완료된 이후에는 실행되지 않을 수 있다.The
모바일 스토리지 장치 인증 인스트럭션은 장치 인증 서버(121)에 인증 요청을 송신하는 인스트럭션을 포함할 수 있다. 여기서, 인증 요청은 모바일 스토리지 장치(100)를 식별하는 식별자를 포함할 수 있다. 또한, 식별자는 장치 인증 서버(121)가 시스템의 제공자에 의해 제조된 식별자인지 여부를 판단할 수 있도록 모바일 스토리지 장치(100)의 제조시에 모바일 스토리지 장치(100)에 기록된 장치 식별자일 수 있다.The mobile storage device authentication instruction may include an instruction that sends an authentication request to the
또한, 모바일 스토리지 장치 인증 인스트럭션은 장치 인증 서버(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
장치 인증 서버(121)를 통해서 인증이 완료된 모바일 스토리지 장치(100)는 플랫폼 인증 서버(122)로부터 사용자 정보에 매칭된 장치 고유 키를 발급받을 수 있다. 장치 고유 키는 인증이 완료된 모바일 스토리지 장치(100)에 대해 부여되는 비밀 키(Private Key)일 수 있다. 몇몇 실시 예에 따르면, 플랫폼 인증 서버(122)는 보안을 위해 블록 체인(Block Chain)의 노드로 구성될 수 있다. 이 경우, 플랫폼 인증 서버(122)는 블록 체인을 기반으로 분산된 데이터를 기초로 모바일 스토리지 장치(100)에 대한 인증을 수행할 수 있다.The
모바일 스토리지 장치(100)는 발급받은 고유 키를 이용하여 인증을 받을 수 있다. 따라서, 모바일 스토리지 장치(100)는 사용자 정보를 입력 받기 위한 입력 장치나 디스플레이 장치가 없는 인터넷 IP 주소 공유기와 같은 장치에 연결되는 경우에도 인증을 받을 수 있다.The
중개 서버(123)는 모바일 스토리지 장치(100)의 요청에 따라 모바일 스토리지 장치(100)의 인터넷 IP 주소 정보를 등록할 수 있다. 중개 서버(123)는 모바일 스토리지 장치(100)가 외부 단말(130)에 서비스를 제공할 수 있도록 홀 펀칭(Hole Punching)을 수행하여 모바일 스토리지 장치(100)와 외부 단말(130) 사이의 P2P 통신을 연결할 수 있다. 몇몇 실시 예에 따르면, 중개 서버(123)는 모바일 스토리지 장치(100)와 외부 단말(130)이 서로 연결되기 위한 랑데부 서버의 역할을 수행할 수 있다.The
몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)는 컨텐츠 딜리버리 서버(124)를 통해서 컨텐츠를 외부 단말(130)에 제공할 수 있다. 모바일 스토리지 장치(100)는 낮은 가격에 소형으로 제공되기 위하여 처리 가능한 트래픽에 한계가 있다. 따라서, 모바일 스토리지 장치(100)는 감당하기 어려운 수준의 트래픽이 발생할 경우 컨텐츠를 컨텐츠 딜리버리 서버(124)에 제공하고, 컨텐츠 딜리버리 서버(124)가 컨텐츠를 제공하도록 할 수 있다. 예를 들어, 모바일 스토리지 장치(100)에 저장된 컨텐츠에 대한 리드(read) 억세스 트래픽이 기준치를 초과하는 경우에 모바일 스토리지 장치(100)는 컨텐츠에 대한 리드 억세스 트래픽을 컨텐츠 딜리버리 서버(124)로 리다이렉션(redirection)할 수 있다.According to some embodiments, the
미디어 포털 서버(125)는 외부 단말(130)에 포털(portal) 서비스를 제공할 수 있다. 미디어 포털 서버(125)는 모바일 스토리지 장치(100)에 저장된 컨텐츠를 노출시켜 모바일 스토리지 장치(100)와 P2P 연결된 적 없는 외부 단말들이 컨텐츠에 접속할 수 있는 경로를 제공할 수 있다. 예를 들어, 미디어 포털 서버(125)는 컨텐츠 딜리버리 서버(124)에 저장된 컨텐츠 중에서 선호도가 높은 컨텐츠에 관련된 정보를 표시하고 그 링크를 제공하는 포털 페이지를 외부 단말(130)에 제공할 수 있다. 외부 단말(130)은 포털 페이지를 통해서 컨텐츠에 접근할 수 있다.The
도 4는 몇몇 실시 예에 따라 모바일 스토리지 장치(100)가 서비스를 제공하기 위해 외부 단말(130)과 연결하는 프로세스를 도시한 도면이다.4 is a diagram illustrating a process in which the
먼저, 단계 S410에서 모바일 스토리지 장치(100)는 호스트 장치(110)와 전기적으로 연결될 수 있다. 모바일 스토리지 장치(100)는 호스트 장치(110)와 연결됨으로써 호스트 장치(110)를 통해 네트워크(10)에 연결될 수 있다. 이 경우, 모바일 스토리지 장치(100)는 호스트 장치(110)로부터 전력을 공급 받아서 실시간 운영체제를 부팅할 수 있다. 몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)의 프로세서(101)는 부팅이 완료되면 모바일 스토리지 장치(100)의 제조시에 설치된 온라인 서비스 제공 소프트웨어에 포함된 복수의 인스트럭션을 자동으로 실행할 수 있다. 여기서, 온라인 서비스 제공 소프트웨어는 스토리지(103)의 사용자 레벨에서 접근이 불가능한 영역에 설치되거나, 모바일 스토리지 장치(100)의 Read-Only Memory(ROM)에 설치된 것일 수 있다.First, in step S410, the
또한, 모바일 스토리지 장치(100)가 호스트 장치(110)에 연결되는 경우, 모바일 스토리지 장치(100)는 스토리지(103)에 저장된 프로그램이 실행되어 서비스 제공을 위한 시스템에 로그인을 시도할 수 있다. 여기서, 몇몇 실시 예에 따르면 모바일 스토리지 장치(100)는 블록체인 인증을 통해서 인증을 받을 수 있다.In addition, when the
여기서, 로그인 시 모바일 스토리지 장치(100)에 저장된 개인 키(Private Key) 또는 장치 식별자가 유효한지 여부에 따라서 모바일 스토리지 장치(100)가 인증될 수 있다. 여기서, 모바일 스토리지 장치(100)가 유효하게 인증된 경우, 로그인이 완료됨에 따라서 공개 키(Public key)를 이용하여 개인 키를 갱신하고 기록할 수 있다.Here, the
또한, 몇몇 실시 예에 따르면, 모바일 스토리지 장치(100) 또는 플랫폼 인증 서버(122)는 플랫폼 인증 서버(122)가 가진 공개 키와 사용자가 보유한 개인 키를 조합하여 장치 고유 키로 활성화할 수 있다. 이후 모바일 스토리지 장치(100)는 사용자에 대한 인증(예를 들어, 휴대폰을 이용한 인증)의 절차를 거쳐서 플랫폼 인증 서버(122)로부터 장치 고유 키를 갱신 받고 다시 로그인 절차를 속행할 수 있다.Further, according to some embodiments, the
모바일 스토리지 장치(100)에 대한 인증이 완료된 경우, 현재의 모바일 스토리지 장치(100)에 대한 주소 정보와 서비스와 관련된 주요 정보가 중개 서버(123)로 전달되고, 중개 서버(123)에 의해 매칭 테이블이 업데이트될 수 있다. 여기서, 서비스에 관련된 주요 정보는, 예를 들어, 개인 메일 계정, 웹 호스팅 주소 또는 제공되는 미디어 파일의 위치 등을 포함할 수 있다.When authentication for the
여기서, 모바일 스토리지 장치(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
따라서, 모바일 스토리지 장치(100)는 외부 단말(130)과 연결하기 위해 모바일 스토리지 장치(100)와 외부 단말(130) 간에 통신이 가능할 있도록 IP 주소와 포트 정보를 확보할 필요가 있다. IP 주소와 포트 정보를 확보하기 위해 중개 서버(123)가 이용될 수 있다. 단계 S420에서 모바일 스토리지 장치(100)는 자동으로 중개 서버(123)에 모바일 스토리지 장치(100)에 등록 요청을 송신할 수 있다. 여기서 등록 요청은 커넥터가 호스트 장치(110)에 연결되었을 때 모바일 스토리지 장치(100)에 할당되는 주소 정보를 포함할 수 있다.Therefore, the
이후, 단계 S430에서 모바일 스토리지 장치(100)는 중개 서버(123)를 이용하여 외부 단말(130)과 연결하고, 데이터를 P2P 송수신할 수 있다. 여기서, 중개 서버(123)는 모바일 스토리지 장치(100)와 외부 단말(130) 사이의 홀 펀칭(Hole Punching)을 수행할 수 있다.Thereafter, in step S430, the
현재의 인터넷 주소 체계의 방식은 글로벌(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
예를 들어, 모바일 스토리지 장치(100)를 이용하여 메일링 서비스를 제공할 때, 모바일 스토리지 장치(100)는 외부 단말(130)로부터 메일을 수신하거나, 외부 단말(130)로 메일을 전송할 수 있다. 메일을 수신하는 경우를 로 들면, 외부 단말(130)에서 수신자 메일 주소를 포함하는 메일이 발송된 경우, 중개 서버(123)에 의해 모바일 스토리지 장치(100)의 메일 주소와 일치하는 메일이 감지되면, 중개 서버(123)는 발송된 메일이 모바일 스토리지 장치(100)에 의해 제공되는 메일 서버로 전송되고 모바일 스토리지 장치(100)에 저장되도록 할 수 있다.For example, when providing a mailing service using the
또는, 모바일 스토리지 장치(100)를 이용하여 미디어 서비스를 제공하는 경우를 예로 들면, 미디어 포털 서버(125)가 포털 페이지를 통해서 미디어에 대한 재생을 요청 받을 수 있다. 이 경우, 중개 서버(123)는 해당 미디어의 파일을 저장하고 있는 모바일 스토리지 장치(100)와 외부 단말(130)이 그 파일을 송수신할 수 있도록 P2P 연결을 수립시킬 수 있다.Alternatively, for example, in the case of providing a media service using the
중개 서버(123)는, 예를 들어 메일 서비스의 경우 블록 체인 서버에 의해 업데이트된 매칭 테이블에서 서비스가 정확한 위치에 전달될 수 있도록 서비스를 중개한다. 메일 전송 서비스의 경우 메일 서비스에 대한 사용자 가입 시 등록된 가상 고정 주소에 모바일 스토리지 장치(100)에 동적으로 할당된 주소를 매핑하여 메일이 전송될 수 있다. 미디어 파일을 전송하는 경우, 포털 페이지에 표시된 미디어의 썸네일 등이 사용자 입력에 의해 선택된 경우 그 미디어의 파일의 위치가 가상 고정 주소와 모바일 스토리지 장치(100)에 동적으로 할당된 주소와 매핑하여 미디어 제공 서비스가 제공된다. 웹 호스팅의 경우에도 중개서버에 의해 가상 고정 주소와 동적으로 할당되는 주소를 매핑하여 서비스가 제공될 수 있다.The
도 5 내지 10은 몇몇 실시 예에 따라 모바일 스토리지 장치(100)가 호스트 장치(110)에 연결된 경우에 수행될 수 있는 프로세스를 도시한 도면이다.5 to 10 are diagrams illustrating processes that may be performed when the
도 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
사용자가 모바일 스토리지 장치(100)를 구매하여 최초로 호스트 장치(110)에 연결한 경우, 모바일 스토리지 장치(100)는 모바일 스토리지 장치(100)를 등록하기 위한 인스트럭션들을 실행할 수 있다.When the user purchases the
몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)는 모바일 스토리지 장치(100)의 제조시에 설정된 장치 식별자를 이용하여 최초 인증을 수행할 수 있다. 도 6을 참조하면, 도 5의 단계 S502에서 모바일 스토리지 장치(100)가 호스트 장치(110)에 최초로 연결된 것으로 판단된 이후에, 단계 S511에서 모바일 스토리지 장치(100)는 장치 식별자를 포함하는 인증 요청을 장치 인증 서버(121)로 전송할 수 있다. 여기서, 장치 식별자는 모바일 스토리지 장치(100)를 식별하기 위한 고유의 정보일 수 있다. 또한, 장치 식별자는 모바일 스토리지 장치(100)가 제조될 때 모바일 스토리지 장치(100)에 설정된 정보일 수 있다. 또한, 장치 식별자는 장치 인증 서버(121)에도 저장되어 있을 수 있다. 장치 인증 서버(121)는 저장되어 있는 장치 식별자와 모바일 스토리지 장치(100)로부터 수신된 장치 식별자를 비교하여 모바일 스토리지 장치를 식별 내지 인증 할 수 있다.According to some embodiments, the
단계 S512에서 장치 인증 서버(121)에 의해 모바일 스토리지 장치(100)의 인증이 성공하면, 장치 인증 서버(121)는 인증 결과를 플랫폼 인증 서버(122)로 전달할 수 있다. 인증 결과를 전달받은 플랫폼 인증 서버(122)는 장치 고유 키를 활성화하고 장치 고유 키를 모바일 스토리지 장치(100)에 발급할 수 있다(S513). If authentication of the
몇몇 실시 예에 따르면, 플랫폼 인증 서버(122)는 장치 인증 서버(121)로부터 인증 결과와 함께 장치 식별자를 수신하고, 장치 식별자와 플랫폼 인증 서버(122)에 저장된 공개 키를 조합하여 장치 고유 키를 생성할 수 있다.According to some embodiments, the
또는, 다른 실시 예에 따르면, 플랫폼 인증 서버(122)는 모바일 스토리지 장치(100)에 저장된 장치 고유 키가 유효한지 확인 하고, 장치 고유 키가 유효한 경우 모바일 스토리지 장치(100)의 인증을 처리하고 공개 키와 조합하여 장치 고유 키를 갱신할 수 있다. 플랫폼 인증 서버(122)가 장치 고유 키를 발급하는 프로세스는 실시 예에 따라 다르게 변경될 수도 있다.Alternatively, according to another embodiment, the
몇몇 실시 예에 따르면, 모바일 스토리지 장치(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
몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)는 호스트 장치(110)가 웹 브라우저를 통해 미리 설정된 URL(Uniform Resource Locator)을 이용하여 회원 가입 GUI를 포함하는 웹 페이지를 표시하도록 할 수 있다. 또는, 다른 실시 예에 따르면, 모바일 스토리지 장치(100)는 모바일 스토리지 장치(100)에 내장된 애플리케이션을 실행하여 회원 가입 GUI를 포함하는 애플리케이션 실행 화면을 호스트 장치(110)를 통해서 출력할 수도 있다.According to some embodiments, the
이후, 사용자가 회원 가입 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
다른 몇몇 실시 예에 따르면 모바일 스토리지 장치(100)는 장치 식별자와 함께 회원 가입 정보를 장치 인증 서버(121)로 전송할 수도 있다. 장치 인증 서버(121)는 먼저 장치 식별자가 유효한지 여부를 검증할 수 있다. 장치 식별자가 유효한 경우, 장치 인증 서버(121)는 회원 가입 정보에 포함된 사용자 정보를 등록할 수 있다.According to some other embodiments, the
또 다른 몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)는 장치 식별자를 이용하여 장치 인증 서버(121)로부터 장치에 대한 인증을 받은 경우에 한해서 회원 가입 프로세스를 실행할 수도 있다. 도 8을 참조하면, 먼저 단계 S531에서 모바일 스토리지 장치(100)는 장치 식별자를 포함하는 인증 요청을 장치 인증 서버(121)로 전송할 수 있다.According to some other embodiments, the
이후, 단계 S532에서 모바일 스토리지 장치(100)는 장치 식별자를 이용하여 인증에 성공한 경우, 인증이 성공하였음을 나타내는 정보를 수신할 수 있다. 인증에 성공한 경우, 단계 S533에서 모바일 스토리지 장치(100)는 호스트 장치(100)를 통해서 회원 가입 GUI를 디스플레이할 수 있다.Thereafter, in step S532, the
이후, 디스플레이된 회원 가입 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
플랫폼 인증 서버(122)는 모바일 스토리지 장치(100)가 최초로 로그인한 경우, 모바일 스토리지 장치(100)에 대한 장치 고유키를 생성할 수 있다. 모바일 스토리지 장치(100)는 플랫폼 인증 서버(122)로부터 생성된 장치 고유키를 획득할 수 있다(S535).When the
모바일 스토리지 장치(100)는 입력된 회원 가입 정보를 플랫폼 인증 서버(122)에 등록할 수 있다. 여기서, 플랫폼 인증 서버(122)는 생성된 장치 고유키를 회원 가입 정보와 매칭하여 저장할 수 있다(S536). 회원 가입 정보가 플랫폼 인증 서버(122)에 등록되면, 모바일 스토리지 장치(100)는 회원 가입 정보에 포함된 로그인 정보를 이용하여 플랫폼 인증 서버(122)에 로그인할 수 있다.The
몇몇 실시 예에 따르면, 장치 고유키를 보유한 모바일 스토리지 장치(100)가 호스트 장치(110)에 연결될 경우, 플랫폼 인증 서버(122)가 모바일 스토리지 장치(100)의 고유키의 유효성을 검증할 수 있다. 모바일 스토리지 장치(100)의 고유키가 유효한 경우, 고유키에 매칭되어 저장된 회원 가입 정보를 조회하고, 조회된 회원 가입 정보에 포함된 로그인 정보를 이용하여 모바일 스토리지 장치(100)에 대한 로그인 절차를 수행할 수 있다. 즉, 구매한 모바일 스토리지 장치(100)를 사용자가 최초 사용시에 회원 가입 정보와 매칭하여 등록한 이후에는 사용자가 별도로 로그인 정보를 입력하지 않고도 장치 고유키를 이용하여 모바일 스토리지 장치(100)가 플랫폼 인증 서버(122)에 로그인할 수 있다. 따라서, 모바일 스토리지 장치(100)가 입력 장치가 없는 호스트 장치(110)(예를 들어, 인터넷 IP 주소 공유기)에 연결된 경우에도 플랫폼 인증 서버(122)에 로그인할 수 있다. 플랫폼 인증 서버(122)에 로그인한다고 함은 플랫폼 인증 서버(122)로부터 사용자에 대한 인증을 받아 모바일 스토리지 장치(100)의 사용자를 확인하는 동작을 의미한다.According to some embodiments, when the
도 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
도 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
도 9를 참조하면, 몇몇 실시 예에 따른 모바일 스토리지 장치(100)는 단계 S541에서 플랫폼 인증 서버(122)에 인증 요청을 전송할 수 있다. 여기서, 몇몇 실시 예에 따르면, 플랫폼 인증 서버(122)로 전송되는 인증 요청은 모바일 스토리지 장치(100)가 발급 받은 장치 고유키에 대한 정보를 포함할 수 있다. 장치 고유키에 대한 정보는 장치 고유키 자체이거나 장치 고유키와 관련된 정보일 수 있다. 또는 다른 몇몇 실시 예에 따르면, 플랫폼 인증 서버(122)로 전송되는 인증 요청은 사용자에 대한 로그인 정보를 포함할 수도 있다.Referring to FIG. 9, the
플랫폼 인증 서버(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
중개 서버(123)에 모바일 스토리지 장치(100)의 주소 정보가 등록되면, 단계 S544에서 모바일 스토리지 장치(100)는 중개 서버(122)를 이용하여 외부 단말(130)과 홀 펀칭 프로세스를 통해서 연결될 수 있다. 모바일 스토리지 장치(100)와 외부 단말(130) 사이에 홀 펀칭을 수행하는 방법은 실시 예에 따라 변경될 수 있다. 예를 들어, 실시 예에 따라서 모바일 스토리지 장치(100)와 외부 단말(130) 사이의 홀 펀칭은 중계(Relaying) 방식을 통해서 수행될 수도 있으며, 연결 역전(Connection Reversal) 방식에 의해서 수행될 수도 있다.When the address information of the
모바일 스토리지 장치(100)와 외부 단말(130)이 홀 펀칭 방식으로 P2P 데이터 송수신을 하므로, 사용자는 외부에 위치하는 서버에 컨텐츠를 업로드할 필요 없이 자신이 가진 모바일 스토리지 장치(100)의 스토리지(103)에 저장된 컨텐츠만으로 온라인 서비스를 제공할 수 있다.Since the
따라서, 클라이언트의 역할을 하는 외부 단말(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
다만, 모바일 스토리지 장치(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
주소 정보가 변경된 경우, 모바일 스토리지 장치(100)는 단계 S553에서 중개 서버(123)에 모바일 스토리지 장치(100)의 확인된 주소 정보를 포함하는 주소 정보 업데이트 요청을 중개 서버(123)에 전송할 수 있다. 모바일 스토리지 장치(100)가 자신의 주소 정보를 확인하여 주소 정보가 변경된 경우 고정된 주소에 매칭된 모바일 스토리지 장치(100)의 주소 정보를 업데이트할 수 있다. 따라서, 고정된 주소를 이용하여 외부 단말(130)이 모바일 스토리지 장치(100)에 연결될 수 있다.When the address information is changed, the
도 11은 몇몇 실시 예에 따라 중개 서버(123)가 모바일 스토리지 장치(100)와 외부 단말(130) 사이에 홀 펀칭(Hole Punching)을 수행하는 프로세스를 설명하기 위한 도면이다.11 is a diagram illustrating a process in which the
모바일 스토리지 장치(100)는 단계 S1110에서 중개 서버(123)에 주소 정보를 포함하는 등록 요청을 전송할 수 있다. 등록 요청을 수신한 중개 서버(123)는 수신된 주소 정보에 따라서 매칭 테이블을 업데이트할 수 있다. 매칭 테이블은 모바일 스토리지 장치(100)의 주소 정보를 다른 정보와 매칭하여 저장된 데이터를 의미한다. 다른 정보는, 예를 들어, 모바일 스토리지 장치(100)를 식별하기 위한 정보, 사용자를 식별하기 위한 로그인 정보, 및 모바일 스토리지 장치(100)에 의해 제공되는 서비스에 대한 정보 중 하나 이상을 포함할 수 있다.The
모바일 스토리지 장치(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
이후, 단계 S1130에서 외부 단말(130)이 중개 서버(123)에 모바일 스토리지 장치(100)의 주소 정보에 대한 주소 정보 요청을 전송할 수 있다. 몇몇 실시 예에 따르면, 주소 정보 요청은 모바일 스토리지 장치(100)의 주소 정보를 매칭 테이블에서 조회하기 위한 정보를 포함할 수 있다. 예를 들어, 모바일 스토리지 장치(100)가 메일을 수신하는 메일 수신 서비스를 이용하여 외부 단말(130)에 메일을 전송하고자 하는 경우, 외부 단말(130)은 메일 주소를 포함하는 주소 정보 요청을 전송할 수 있다. 이 경우, 중개 서버(123)는 메일 주소에 상응하는 모바일 스토리지 장치(100)의 주소 정보를 조회할 수 있다. Thereafter, in step S1130, the
다른 예를 들면, 모바일 스토리지 장치(100)가 제공하는 미디어 공유 서비스를 통해 미디어 컨텐츠를 제공 받고자 하는 경우, 외부 단말(130)은 미디어 파일의 위치를 나타내는 URL을 포함하는 주소 정보 요청을 중개 서버(123)에 전송할 수 있다.For another example, when media content is to be provided through the media sharing service provided by the
또 다른 예를 들면, 외부 단말(130)이 모바일 스토리지 장치(100)로 미디어 컨텐츠를 전송하고자 하는 경우, 외부 단말(130)은 모바일 스토리지 장치(100)의 사용자 ID를 포함하는 주소 정보 요청을 중개 서버(123)에 전송할 수 있다.As another example, when the
또 다른 예를 들면, 외부 단말(130)이 모바일 스토리지 장치(100)의 웹호스팅 서비스를 통해서 웹 페이지를 제공 받고자 하는 경우, 외부 단말(130)은 웹 페이지의 위치를 나타내는 URL을 포함하는 주소 정보 요청을 중개 서버(123)에 전송할 수 있다.For another example, when the
이후, 단계 S1140에서, 중개 서버(123)는 주소 정보 요청에 대한 응답으로 조회된 주소 정보를 외부 단말(130)로 전송할 수 있다. 몇몇 실시 예에 따르면, 중개 서버(123)가 외부 단말(130)에 전송하는 주소 정보는 모바일 스토리지 장치(100)와 관련된 공인 IP 주소, 사설 IP 주소 및 포트 정보를 포함할 수 있다.Thereafter, in step S1140, the
이후, 단계 S1150에서, 외부 단말(130)은 중개 서버(123)로부터 획득된 주소 정보를 이용하여 모바일 스토리지 장치(100)에 패킷을 전송할 수 있다. 단계 S1150에서, 외부 단말(130)은 사설 IP 주소 및 포트에 대해 패킷을 전송할 수 있다. 이후 단계 S1160에서 모바일 스토리지 장치(100)에 외부 단말(130)이 전송한 패킷에 대한 응답 패킷을 외부 단말(130)로 전송하는 경우, 외부 단말(130)은 패킷을 전송한 사설 IP 주소 및 포트를 기초로 모바일 스토리지 장치(100)와 P2P 송수신을 할 수 있다.Thereafter, in step S1150, the
단계 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
공인 IP 주소 및 포트로 전송된 패킷에 대해서도 응답 패킷이 수신되지 않을 경우, 외부 단말(130)은 중개 서버(123)에 패킷의 송수신을 위임할 수도 있다.If a response packet is not received even for a packet transmitted to the public IP address and port, the
또한, 외부 단말(130)과 모바일 스토리지 장치(100)가 서로 반대의 동작을 실행하여 홀 펀칭이 시도될 수도 있다. 홀 펀칭이 성공하여 외부 단말(130)과 모바일 스토리지 장치(100)간의 연결이 수립된 경우, 외부 단말(130) 및 모바일 스토리지 장치(100) 중 적어도 하나는 주기적으로 외부 단말(130)과 모바일 스토리지 장치(100) 간의 연결이 유효한지 여부를 확인기 위한 하트비트(Heartbeat) 메시지를 발송할 수 있다.In addition, hole punching may be attempted by the
도 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
도 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
중개 서버(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
이후, 중개 서버(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
도 13 내지 도 15에서 도시된 바와 같이 다수의 모바일 스토리지 장치들 간에 P2P 송수신을 통해서 컨텐츠(1)를 공유하여, 컨텐츠(1)를 제공할 수 있는 모바일 스토리지 장치의 수를 증가시킬 수 있다. 따라서, 컨텐츠(1)를 공유하기 위한 트래픽이 증가하더라도 한 모바일 스토리지 장치에 트래픽이 집중되어 과부하가 발생하는 것을 방지할 수 있다.As illustrated in FIGS. 13 to 15, the number of mobile storage devices capable of providing the
도 16은 몇몇 실시 예에 따라 모바일 스토리지 장치(100)가 컨텐츠 딜리버리 서버(124)를 이용하여 컨텐츠를 제공하는 방법을 설명하기 위한 도면이다.16 is a diagram for describing a method in which the
단계 S1610에서, 모바일 스토리지 장치(100)는 모바일 스토리지 장치(100)에 저장된 컨텐츠에 대한 리드 억세스 트래픽(read access traffic)을 산출할 수 있다. 즉, 모바일 스토리지 장치(100)는 컨텐츠에 대한 요청이 발생하는 양을 산출할 수 있다. 이후, 단계 S1620에서, 모바일 스토리지 장치(100)는 산출된 리드 억세스 트래픽이 기준치를 초과하는지 여부를 판단할 수 있다. 다른 실시 예에 따르면, S1610 및 S1620은 중개 서버(123)에 의해서 수행될 수도 있다.In step S1610, the
리드 억세스 트래픽이 기준치를 초과하는 경우, 단계 S1630에서 모바일 스토리지 장치(100)는 그 컨텐츠를 컨텐츠 딜리버리 서버(124)에 송신할 수 있다. 몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)는 컨텐츠를 컨텐츠 딜리버리 서버(124)에 송신할 경우, 컨텐츠가 컨텐츠 딜리버리 서버(124)에 송신된 상태 정보를 출력하기 위해 인디케이터(104)의 출력을 제어하는 제어 신호를 출력할 수 있다.If the read access traffic exceeds the reference value, in step S1630, the
이후, 모바일 스토리지 장치(100)는 단계 S1640에서 컨텐츠에 대한 리드 억세스가 수신되는 경우, 단계 S1650에서 수신된 리드 억세스를 컨텐츠 딜리버리 서버로 리다이렉션(redirection)할 수 있다.Thereafter, when the read access to the content is received in step S1640, the
즉, 컨텐츠가 다수의 사용자에 의해 요청될 경우, 트래픽을 처리할 수 있는 용량에 한계가 있는 모바일 스토리지 장치(100)가 컨텐츠에 대한 리드 억세스를 충분히 처리하지 못할 수도 있다. 따라서, 모바일 스토리지 장치(100)는 요청되는 횟수가 많은 컨텐츠는 컨텐츠 딜리버리 서버(124)에 업로드하여 컨텐츠 딜리버리 서버(124)가 컨텐츠를 제공하도록 할 수 있다.That is, when the content is requested by a large number of users, the
또한, 컨텐츠 딜리버리 서버(124)에 업로드된 컨텐츠는 그 컨텐츠에 대한 리드 억세스 트래픽이 기준치를 하회하게 되면 컨텐츠 딜리버리 서버(124)에서 비활성화 또는 삭제될 수 있다.In addition, the content uploaded to the
도 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
미디어 포털 서버(125)는 모바일 스토리지 장치(100)에 의해 공유 대상이 되는 컨텐츠 중 하나 이상에 대한 정보를 노출시킬 수 있다. 예를 들어, 미디어 포털 서버(125)는 리드 억세스가 다수 발생한 컨텐츠나 미디어 포털 서버(125)의 관리자에 의해 선정된 컨텐츠에 대한 정보를 노출시킬 수 있다. 또한, 미디어 포털 서버(125)의 미디어 포털 서비스를 통해 노출된 컨텐츠는 리드 억세스가 다수 발생하는 컨텐츠이므로 컨텐츠 딜리버리 서버(124)에 업로드된 컨텐츠일 수 있다.The
미디어 포털 서버(125)는 모바일 스토리지 장치(100)에 저장된 컨텐츠를 미디어 포털 서비스에 노출시킨 경우, 모바일 스토리지 장치(100)에 컨텐츠가 미디어 포털 서비스에 노출된 상태임을 나타내는 데이터를 전송할 수 있다. 단계 S1710에서 모바일 스토리지 장치(100)는 컨텐츠가 미디어 포털 서비스에 노출된 것을 가리키는 데이터를 수신하면, 단계 S1720에서 모바일 스토리지 장치(100)가 제공하는 컨텐츠가 미디어 포털 서비스에 노출된 상태임을 나타내는 상태 정보를 출력하도록 인디케이터(104)를 제어할 수 있다.When the content stored in the
모바일 스토리지 장치(100)를 통해서 컨텐츠를 공유하는 사용자는 모바일 스토리지 장치(100)에 저장된 컨텐츠에 대한 공유를 중단하기 위해 모바일 스토리지 장치(100)와 호스트 장치(110) 사이의 연결을 해제할 수 있다. 이 경우, 컨텐츠 딜리버리 서버(124)를 통한 컨텐츠의 공유도 중단되어야 한다. 따라서, 단계 S1730에서 모바일 스토리지 장치(100)의 호스트 장치(110)에 대한 연결이 해제된 경우, 컨텐츠는 단계 S1740에서 컨텐츠 딜리버리 서버(124)에서 비활성화되거나 삭제될 수 있다.A user sharing content through the
도 18은 몇몇 실시 예에 따라 모바일 스토리지 장치(100)가 다른 모바일 스토리지 장치에 컨텐츠를 전송하는 프로세스를 도시한 도면이다.18 is a diagram illustrating a process in which the
단계 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
이후, 단계 S1820에서, 중개 서버(123)는 송신측 모바일 스토리지 장치(100-4)로부터 수신자 선택 UI를 통해 선택된 사용자에 대한 컨텐츠의 송신 요청을 수신할 수 있다. 이 경우, 중개 서버(123)는 선택된 사용자에 매칭되어 저장된 수신측 모바일 스토리지 장치(100-5)를 조회할 수 있다.Subsequently, in step S1820, the
이후, 단계 S1830에서, 중개 서버(123)는 수신측 모바일 스토리지 장치(100-5)가 네트워크를 통해서 중개 서버(123)와 연결되어 있는지 여부를 판단할 수 있다. 몇몇 실시 예에 따르면, 인증이 완료된 모바일 스토리지 장치(100)는 중개 서버(123)에 모바일 스토리지 장치(100)의 위치 정보를 반복적으로 전송할 수 있다. 미리 정해진 시간 이상 모바일 스토리지 장치(100)의 위치 정보가 수신되지 않으면, 중개 서버(123)는 그 모바일 스토리지 장치(100)는 연결이 해제된 것으로 판단할 수 있다.Thereafter, in step S1830, the
수신측 모바일 스토리지 장치(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
그러나, 단계 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
따라서, 중개 서버(123)는 단계 S1851에서 송신 대상 데이터를 분산 저장할 수 있다. 몇몇 실시 예에 따르면, 모바일 스토리지 장치(100)는 데이터의 분산 저장을 위한 분산 저장 공유 공간을 스토리지(103) 내에 구비할 수 있다. 또한, 다른 몇몇 실시 예에 따르면, 분산 저장 공유 공간은 블록 체인의 노드로 활용하여 블록 체인 서비스에 적용될 수도 있다.Therefore, the
도 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
이후, 단계 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
단계 S1840 또는 단계 S1853 이후에, 중개 서버(123)는 전송 결과 로그를 기록할 수 있다. 여기서, 전송 결과 로그는 데이터 전송의 성공/실패 여부 및 전송 과정에 대한 이력을 포함할 수 있다. 전송 과정에 대한 이력은 송신측 모바일 스토리지 장치(100-4)가 수신측 모바일 스토리지 장치(100-5)에 컨텐츠를 전송할 때 직접 전송하였는지, 다른 모바일 스토리지 장치에 분산 저장 이후에 전송하였는지에 관한 정보를 의미할 수 있다. 중개 서버(123)는 전송 결과 로그를 이용하여 컨텐츠에 대한 검색 기능을 제공할 수 있다. 일부 실시 예에 따르면, 중개 서버(123)는 컨텐츠를 다른 장치에 전송할 것을 요청하는 송신 요청이나 컨텐츠를 제공받고자 하는 제공 요청이 수신되면 전송 결과 로그를 이용하여 연결될 장치를 결정하고 홀 펀칭을 중개할 수 있다.After step S1840 or step S1853, the
지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 인스트럭션을 포함하는 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제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.
상기 복수의 인스트럭션은,
모바일 스토리지 장치 인증 인스트럭션을 더 포함하되,
상기 모바일 스토리지 장치 인증 인스트럭션은,
상기 커넥터가 상기 호스트 장치에 연결됨으로써 상기 모바일 스토리지 장치가 최초로 상기 인터넷에 연결되는 것에 응답하여, 자동으로 상기 인터넷에 연결된 장치 인증 서버에 인증 요청을 송신하되, 상기 인증 요청에는 상기 모바일 스토리지 장치의 제조시 기록된 장치 식별자가 포함되는, 인스트럭션;
상기 장치 인증 서버로부터 인증 성공을 가리키는 데이터가 수신된 경우, 회원 가입 정보를 입력 받기 위한 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.
상기 모바일 스토리지 장치 인증 인스트럭션은,
상기 커넥터가 상기 호스트 장치에 연결됨으로써 상기 모바일 스토리지 장치가 상기 인터넷에 연결되는 것에 응답하여, 자동으로 상기 플랫폼 인증 서버에 의하여 발급된 장치 고유 키에 대한 정보를 포함하는 인증 요청을 상기 플랫폼 인증 서버에 송신하는 인스트럭션을 포함하는,
모바일 스토리지 장치.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.
상기 모바일 스토리지 장치 인증 인스트럭션은,
상기 인증 요청에 대한 인증 성공을 나타내는 데이터에 대한 응답으로, 상기 플랫폼 인증 서버로부터 공개키를 수신하여 상기 장치 고유 키를 업데이트하는 인스트럭션을 더 포함하는,
모바일 스토리지 장치.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.
상기 모바일 스토리지 장치는 사용자에 의하여 상태 정보를 출력할 수 있는 인디케이터를 더 포함하되,
상기 모바일 스토리지 장치 인증 인스트럭션은,
상기 플랫폼 인증 서버로부터 인증 실패를 가리키는 데이터가 수신되는 경우, 상기 인디케이터가 상태 정보를 출력할 수 있도록 하는 제어 신호를 출력하는 인스트럭션을 포함하는,
모바일 스토리지 장치.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.
상기 복수의 인스트럭션은,
모바일 스토리지 장치 인증 인스트럭션을 더 포함하되,
상기 모바일 스토리지 장치 인증 인스트럭션은,
상기 모바일 스토리지 장치에 저장된 개인 키와 블록 체인 시스템의 노드를 구성하는 플랫폼 인증 서버에 저장된 공개 키를 조합하여 장치 고유 키를 활성화하는 인스트럭션과,
상기 플랫폼 인증 서버로부터 상기 장치 고유 키를 갱신 받는 인스트럭션을 포함하는,
모바일 스토리지 장치.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.
상기 복수의 인스트럭션은,
상기 모바일 스토리지 장치의 주소 정보가 변경된 경우, 상기 중개 서버에 주소 정보의 업데이트를 요청하는 인스트럭션을 더 포함하는,
모바일 스토리지 장치.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.
상기 업데이트를 요청하는 인스트럭션은,
상기 커넥터에 연결된 호스트 장치의 주소 정보가 변경되거나, 상기 커넥터에 연결된 호스트 장치가 변경된 경우에 상기 모바일 스토리지 장치의 주소 정보가 변경된 것으로 판단하는,
모바일 스토리지 장치.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.
상기 프로세서는,
부팅 완료 후 상기 복수의 인스트럭션을 자동으로 실행하고,
상기 복수의 인스트럭션은, 상기 모바일 스토리지 장치 제조 시에, 바로 실행 가능하도록 설치된 온라인 서비스 제공 소프트웨어에 포함된 것인,
모바일 스토리지 장치.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.
상기 온라인 서비스 제공 소프트웨어는, 상기 스토리지의 사용자 레벨 접근 불가능 영역에 설치되는,
모바일 스토리지 장치.The method of claim 9,
The online service providing software is installed in a user level inaccessible area of the storage,
Mobile storage device.
상기 모바일 스토리지 장치는, 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.
상기 복수의 인스트럭션은,
상기 온라인 서비스의 제공에 따라 상기 스토리지에 저장된 컨텐츠의 리드(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.
상기 컨텐츠는, 상기 모바일 스토리지 장치가 상기 호스트 장치에서 연결 해제 되면, 상기 컨텐츠 딜리버리 서버에서 비활성화 또는 삭제되는,
모바일 스토리지 장치.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.
상기 컨텐츠는, 상기 컨텐츠의 리드(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.
상기 모바일 스토리지 장치는 사용자에 의하여 상태 정보를 출력할 수 있는 인디케이터를 더 포함하고,
상기 컨텐츠를 상기 인터넷에 연결된 컨텐츠 딜리버리 서버에 송신하는 인스트럭션은,
상기 인디케이터의 출력을 제어하는 제어 신호를 출력하는 인스트럭션을 포함하는,
모바일 스토리지 장치.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.
상기 컨텐츠는, 기 지정된 기준을 만족하는 경우, 상기 컨텐츠가 저장된 상기 모바일 스토리지 장치와 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.
상기 모바일 스토리지 장치는 상태 정보를 출력할 수 있도록 구비된 인디케이터를 더 포함하고,
상기 컨텐츠는, 상기 모바일 스토리지 장치가 상기 호스트 장치에서 연결 해제 되면, 상기 컨텐츠 딜리버리 서버에서 비활성화 또는 삭제되고,
상기 복수의 인스트럭션은,
상기 컨텐츠가 상기 미디어 포털 서비스에 노출된 것을 가리키는 데이터를 수신하는 것에 응답하여, 상기 인디케이터를 제어하는 제어 신호를 출력하는 인스트럭션을 포함하는,
모바일 스토리지 장치.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.
상기 컨텐츠의 전송 이력에 대한 로그를 저장하는 단계; 및
상기 컨텐츠에 대한 송신 요청 또는 제공 요청이 수신되는 경우, 상기 로그를 이용하여 홀펀칭을 중개하는 단계;를 더 포함하는,
홀펀칭 중개 방법.
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.
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) |
-
2019
- 2019-10-14 KR KR1020190127285A patent/KR20200039606A/en unknown
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 |