KR101463404B1 - 사설 네트워크 시스템 및 그를 구현하는 방법 - Google Patents

사설 네트워크 시스템 및 그를 구현하는 방법 Download PDF

Info

Publication number
KR101463404B1
KR101463404B1 KR1020070103494A KR20070103494A KR101463404B1 KR 101463404 B1 KR101463404 B1 KR 101463404B1 KR 1020070103494 A KR1020070103494 A KR 1020070103494A KR 20070103494 A KR20070103494 A KR 20070103494A KR 101463404 B1 KR101463404 B1 KR 101463404B1
Authority
KR
South Korea
Prior art keywords
entity
cloud
entities
data
vpn
Prior art date
Application number
KR1020070103494A
Other languages
English (en)
Other versions
KR20080034084A (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
Priority claimed from AU2006905700A external-priority patent/AU2006905700A0/en
Application filed by 쿼파 홀딩스 리미티드 filed Critical 쿼파 홀딩스 리미티드
Publication of KR20080034084A publication Critical patent/KR20080034084A/ko
Application granted granted Critical
Publication of KR101463404B1 publication Critical patent/KR101463404B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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
    • H04L63/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • 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/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4535Network directories; Name-to-address mapping using an address exchange platform which sets up a session between two nodes, e.g. rendezvous servers, session initiation protocols [SIP] registrars or H.323 gatekeepers
    • 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/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication

Abstract

보안 가상 사설망(VPN(100))을 형성하는 방법이 개시된다. 상기 보안 가상 사설망은 각각의 엔티티가 VPN 상의 적어도 하나의 다른 디바이스와의 링크를 가지는 인터넷 연결 기능을 가진 2 개 이상의 링크된 엔티티로 구성된다. 상기 방법은, VPN에 연결가능한 것으로 알려진 엔티티의 업데이트가능한 인덱스를, 공지된 어드레스를 가지는 검색 디바이스(104, 246)에 제공하는 단계에 의해 특성화된다. VPN 상의 적어도 하나의 미리지정된 접촉 엔티티(238)가 수신된 합류 요청에 대해 검색 디바이스(104)로 주기적으로 폴링하도록 한다. 상기 검색 디바이스는 VPN으로 링크하기를 원하는 공지된 엔티티("합류 엔티티")로부터의 요청을 수락한다. 상기 검색 디바이스(104)는 상기 VPN(100)으로 접속하기 위한 합류 엔티티로부터의 요청을 수신한다. 합류 요청에 대한 폴링에 응답하여 상기 검색 디바이스(104)는 상기 폴링 접촉 엔티티(238)에게 적어도 각 합류 엔티티(236)의 어드레스를 통지한다. 접촉 엔티티(238)가 VPN으로의 접속을 허용한다면, 상기 접촉 엔티티는 자신의 어드레스를 상기 합류 엔티티로 전달하도록 적어도 자신의 어드레스를 검색 디바이스에 제공한다. 합류 엔티티(236)와 접촉 엔티티(238)는 그들 사이의 제 1 링크(254)를 구축한다. 상기 합류 엔티티와 접촉 엔티티는 상기 제1 링크에 대한 인증 프로세스를 수행한다. 상기 인증 프로세스가 성공적이라면, 상기 접촉 엔티티는 상기 합류 엔티티에게 적어도 VPN에 속하는 다른 엔티티들의 상태를 통지하고, 합류 디바이스가 VPN에 합류하고 있다는 것을 VPN 상의 모든 엔티티들에게 통지한 다. 그것이 접속할 하나 또는 2 개의 이웃하는 엔티티를 포함하는 VPN에서의 자신의 노드 위치를 연산하기 위해 상기 VPN에 속하는 다른 엔티티의 상태를 상기 합류 디바이스가 이용한다. 상기 하나 또는 2 개의 이웃하는 엔티티는 합류 엔티티와 하나 이상의 제 2 링크를 구축하기 위해 검색 엔티티와 접속하는 상기 지정된 유형의 프로세스를 초기화하고 제 1 링크를 종료한다. 상기 합류 엔티티와 적어도 하나의 이웃하는 엔티티는, 성공적인 경우 상기 하나 이상의 제 2 링크를 유지하는 상호간의 인증 프로세스를 수행한다.
Figure R1020070103494
엔티티, VPN,, 디바이스, 링크, 인터넷, 인덱스, 어드레스, 검색 디바이스, 합류 엔티티, 접촉 엔티티, 제 1 링크, 제 2 링크, 인증 프로세스

Description

사설 네트워크 시스템 및 그를 구현하는 방법{A PRIVATE NETWORK SYSTEM AND METHOD}
본 발명은 다수의 컴퓨터 사이, 또는 이동 전화, 개인휴대정보단말기(PDA), 등과 같은 기타 전자 디바이스와 데이터를 공유하는 방법에 관한 것이다. 상기 데이터는 상기 디바이스들 사이의 전자적 연결, 특히 인터넷, 또는 예를 들면 LAN, WAN, 무선 네트워크와 같은 기타 수단을 통해 공유된다. 특히, 본 발명은 보안 방식으로, 선택적으로 암호화를 이용하여, 특별한 보안 파티션을 이용하여 인터넷상의 개별 디바이스 상에 저장된 데이터를 공유하는 것에 관한 것이다. 본 발명은 보안 파티션, 보안 파티션을 생성하는 방법을 실행하기 위한 애플리케이션과 보안 파티션을 생성하는 방법에 관한 것이다. 본 발명은 또한 하나 이상의 원격 디바이스에 포함된 데이터와 기능에 대한 액세스를 제공하기 위한 컴퓨터 시스템, 방법 및 인터페이스에 관한 것이다.
많은 사람들은 정보를 저장하는 다수의 디지털 디바이스를 사용한다. 예를 들면 사용자는 스마트폰, 집에서는 랩탑, 직장에서는 개인용 컴퓨터를 사용할 수 있다. 일반적으로, 이것은 상기 데이터가 하나의 디바이스에서 다른 것으로 상호 간에 전송되어야만 하기 때문에 수행하기에 어려움이 있다. 2 개 이상의 디바이스 사이의 데이터를 동기화할 수 있는 기타 수단이 있지만, 이것은 일반적으로 그를 수행하는 전용 소프트웨어 애플리케이션이 필요하다.
어디에서나 이러한 디바이스에 저장된 정보에 보안이 되도록 액세스할 수 있는 필요성이 증가하고 있다. 이것은 임의의 사용자의 전자 디바이스상에서 가용한 각 유형의 데이터에 액세스하고 그를 변조하는 임의의 유형의 데이터, 및 소프트웨어 애플리케이션을 운영하고, 관리하고, 그를 허용하는 것이 간단해야만 한다. 데이터는 예를 들면 WAN, 또는 인터넷과 같은 네트워크를 통해 액세스되고, 데이터 공유 시스템은 또한 데이터의 소유자만이, 현재 사용되고 있는 디바이스가 무엇이라고 하더라도, 그 데이터에 접속하는 것을 허용하는 효과적인 보안성을 가져야만한다.
다양한 시스템 및 방법이 다수의 디바이스를 링크하기 위한 시도로 개발되어왔다. 예를 들면 Changwen 등의 GB2411092는 예를 들면 랩탑과 같은 모바일 노드에 대한 보안 네트워크 경로의 생성을 기술한다. 상기 방법은 모바일 노드와 프록시 보조주소(proxy care-of address)에 대한 고정된 네트워크 주소를 지정하는 홈 에이전트로 등록 요청을 전송하는 것을 포함한다. 상기 프록시 보조주소는 모바일 노드와의 통신에 사용된다.
또다른 예는 Fontijn 등의 WO04081818이고, 여기서는 피어-투-피어 네트워크에서의 디바이스 사이의 소유권의 변경을 전송하는 방법을 기술한다. 상기 방법은 그 변경이 연관된 하나 이상의 디바이스들로 변경사항을 전달하는 것을 포함한다. 상기 변경을 인도할 책임은 디바이스 간에 전달된다.
본 명세서에서 사용된 "구비하다"라는 용어는 "적어도 부분적으로 그를 구성하고 있다"는 것을 의미한다. "구비하다"라는 용어를 포함하는 본 명세서의 각 문단을 해석할 때, 상기 용어에 의해 전제된 것이 아닌 특징들도 나타날 수도 있다. "구비하다" "구비하다"와 같은 연관된 용어는 동일한 의미로 해석되어야 한다.
본 문에 사용된 "및/또는"은 "및"이나 "또는", 또는 그 둘다를 의미한다.
본문에 사용된 명사에 이어지는 "(들)"은 복수 및/또는 명사의 단수 형태를 의미한다.
본 문에 개시된 수의 범위의 참조(예를 들면 1 내지 10)는 또한 그 범위 내의 모든 유리수(예를 들면 1, 1.1, 2, 3, 3.9, 4, 5, 6.5, 7, 8, 9 및 10)와 그 범위 내의 유리수의 임의의 범위(예를 들면 2 내지 8, 1.5 내지 5.5, 및 3.1 내지 4.7)에 대한 참조를 통합한다.
그것들이 있다면, 상기 및 하기에 인용된 모든 출원, 특허, 및 공개는 본문에 참조로서 통합되어 있다.
특허명세서 및 다른 문서를 포함하는 정보의 외부 소수에 대해 참조가 이루어진 본 명세서에서, 이는 일반적으로 본 발명의 특징을 논의하기 위한 취지를 제공하는 목적을 위한 것이다. 달리 언급이 없으면, 이러한 정보의 소스에 대한 참조는, 이러한 정보의 소스가 해당 기술 분야에서 공통의 일반적인 지식의 일부 또는 종래 기술이라고 인정하는 것으로서 어떠한 관련이 있는 것으로도 해석되지 말아야한다.
본 발명은 일반적인 용어로 기술된다. 본 발명의 목적은 개선된 개인용 네트워크 또는 적어도 유용한 선택 사항을 공공 또는 산업계에 제공하는 것이다.
제 1 측면에 있어서, 본 발명은, 각 엔티티가 VPN 상의 적어도 하나의 다른 디바이스와의 링크를 가지는 인터넷 연결기능을 가지는 2 개 이상의 링크된 엔티티로 구성되는 보안 가상 사설망(VPN(100))을 형성하는 방법에 있어서,
(a) 공지된 어드레스를 가지는 검색 디바이스(104, 246)로서, VPN에 링크되기를 원하는 공지된 엔티티("합류 엔티티")로부터의 요청을 수락하는 검색 디바이스에 VPN에 연결가능한 것으로 알려진 엔티티의 업데이트 가능한 인덱스를 제공하는 단계,
(b) VPN 상의 적어도 하나의 미리지정된 접촉 엔티티(238)가 수신된 합류 요청에 대해 검색 디바이스(104)로 주기적으로 폴링하도록 하는 단계,
(c) 상기 검색 디바이스(104)가 상기 VPN(100)으로 접속하기 위한 합류 엔티티로부터의 요청을 수신하는 단계,
(d) 합류 요청에 대한 폴링에 응답하여 상기 검색 디바이스(104)가 상기 폴링 접촉 엔티티(238)에게 적어도 각 합류 엔티티(236)의 어드레스를 통지하는 단계,
(e) 접촉 엔티티(238)가 VPN으로의 접속을 허용한다면, 상기 접촉 엔티티가, 자신의 어드레스를 상기 합류 엔티티로 전달하도록, 적어도 상기 자신의 어드레스를 검색 디바이스에 제공하는 단계,
(f) 합류 엔티티(236)와 접촉 엔티티(238)가 그들 사이의 제 1 링크(254)를 구축하는 단계,
(g) 상기 합류 엔티티와 접촉 엔티티가 상기 제1 링크에 대한 인증 프로세스를 수행하는 단계,
(h) 상기 인증 프로세스가 성공적이라면, 상기 접촉 엔티티는 상기 합류 엔티티에게 적어도 VPN에 속하는 다른 엔티티들의 상태를 통지하고, 합류 디바이스가 VPN에 합류한다는 것을 VPN 상의 모든 엔티티들에게 통지하는 단계,
(i) 합류 엔티티가 접속할 하나 또는 2 개의 이웃하는 엔티티를 포함하는 VPN에서의 자신의 노드 위치를 연산하기 위해 상기 VPN에 속하는 다른 엔티티의 상태를 상기 합류 디바이스가 이용하는 단계,
(j) 상기 하나 또는 2 개의 이웃하는 엔티티들이 상기 합류 엔티티와 하나 이상의 제 2 링크를 구축하기 위해 상기 검색 엔티티로 상기 단계 (c) 내지 (f)에서 지정된 유형의 프로세스를 초기화하고 상기 제 1 링크를 종료하는 단계,
(k) 상기 합류 엔티티와 적어도 하나의 이웃하는 엔티티가, 성공적인 경우 상기 하나 이상의 제 2 링크를 지원하는 상호간의 인증 프로세스를 수행하는 단계,를 포함하는 방법을 포함한다.
바람직하게는, 상기 방법은, 초기 등록 단계를 포함하고, 그에 의해 엔티티(270)가 하나 이상의 원하는 VPN으로의 액세스에 대해 검색 디바이스(104, 274)로 등록하고, 그렇게 등록된 엔티티만 검색 디바이스에 실질적으로 등록되거나 공지되는 등록 단계로서, 상기 등록 단계는:
엔티티(270)가 적어도 사용자명과 암호를 포함하는 등록 정보를 검색 디바이스로 전송하고, 상기 검색 디바이스(104, 274)는 등록된 엔티티가 검색 디바이스로 VPN 합류 요청을 전송할 때 식별 목적으로 상기 등록 정보를 저장하는 방법을 포함한다.
바람직하게는, 상기 등록 단계는, 상기 검색 디바이스(104, 274)가 등록 엔티티와 같은 엔티티들에게 등록이 이루어지고 그에 대해 다른 엔티티들이 등록된 VPN에 고유한 보안키에 대한 액세스를 허용하는 보안 키(278)를 상기 등록 엔티티에 전송하는 검색 디바이스(104, 274)를 포함한다.
바람직하게는, 상기 단계(h)에서 상기 접촉 엔티티는 상기 합류 엔티티에게 상기 VPN에 속하는 다른 엔티티들의 식별자를 더 통지한다.
바람직하게는, 상기 단계(i)에서 상기 합류 엔티티는 자신의 노드 위치를 연산하기 위해 상기 VPN에 속하는 다른 엔티티들의 엔티티 식별자를 추가로 이용한다.
바람직하게는, 상기 엔티티 식별자는 어드레스이다.
바람직하게는, 상기 인증 프로세스는 2 개의 엔티티 각각이 다른 엔티티의 공지된 식별에 대해 고유한 키(304)를 이용하여 다른 것들에 질문하는 것과, 각각의 것이 다른 엔티티로의 전송(604), 다른 엔티티로부터의 응답(612) 및 상기 응답이 정확한 지 그 질문한 엔티티에 의해 검증하는 것을 포함하는 것을 질문하는 것 으로 구성된다.
바람직하게는, 제 1 엔티티와 제 2 엔티티 사이에서 각각 질문하는 것은,
(a) 제1 엔티티가 데이터(AB'600)의 랜덤 시퀀스를 생성하고, 그것을 저장하고, 그를 제 2 엔티티의 공개키(304)로 암호화하고, 그 결과인 암호문을 제 2 엔티티로 전송하는 단계;
(b) 상기 제 2 엔티티가 상기 제 1 엔티티로부터 암호문을 수신하고, 그것을 제 2 엔티티의 공개키(306)를 이용하여 복호화하고, 제 1 엔티티의 공개키(302)로 그 결과문인 평문을 암호화하여, 그를 제 1 엔티티로 전송하는 단계,
(c) 제 1 엔티티가 상기 제 2 엔티티로부터 암호문을 수신하고, 그를 제 1 엔티티의 비밀키(300)를 이용하여 복호화하고, 그 결과인 평문을 상기 제 2 엔티티가 인증되는 것을 수락하는 매칭이 있는지 상기 저장된 데이터(AB'600)의 랜덤 시퀀스와 비교하는 단계;를 포함한다.
바람직하게는, VPN에 연결된 엔티티 사이의 데이터 트래픽은 대칭형 키를 이용하여 암호화 되고, 상기 대칭형 키는 데이터(AB'600)의 상기 랜덤 시퀀스이다.
바람직하게는, 상기 인증 프로세스는 주기적으로 반복되고, 상기 주기적으로 반복되는 랜덤 데이터 시퀀스는 동적 대칭 세션키로서 사용된다.
바람직하게는, 상기 엔티티들은 인터넷에 연결될 수 있는 프로세서를 가진 디바이스이다.
바람직하게는, 상기 디바이스는 컴퓨터, PDA, PPC, 이동 전화 및 스마트폰, 및 내장 디바이스를 포함한다.
다른 형태에서, 본 발명은 검증 체크를 위해 사용되는 비밀 키 및 데이터를 각각 포함하는 둘 이상의 디바이스를 포함하는 보안 인터넷 파티션을 제공하고, 파티션의 사용에 있어서, 각각의 디바이스는 하나 이상의 이웃한 디바이스와 연관되어 있고; 파티션의 사용에 있어서, 각각의 디바이스는, 또한, 이웃한 디바이스 사이에 데이터 트래픽의 암호화 및/또는 복호화를 위해 사용되는 암호 키, 및 이웃한 디바이스의 공개 키를 포함하고; 파티션의 사용에 있어서, 각각의 디바이스는 프라이빗 키 및 이웃의 공개 키를 사용하여 이웃한 디바이스의 검증 체크를 수행하도록 동작하고, 이웃한 디바이스가 검증되면, 암호 키를 사용하여 이웃한 디바이스로 데이터를 전송한다.
이웃한 디바이스는 루프를 형성할 수 있다. 보안 인터넷 파티션은 셋 이상의 디바이스로 구성되고, 각각의 디바이스는 두 개의 이웃한 디바이스를 가질 수 있다.
검증 체크는 질문(challenge) 및 응답 인증을 기초로 할 수 있다. 검증 체크는 주기적으로 수행될 수 있다. 검증 체크는 주기적으로 업데이트된 검증 시퀀스를 기초로 할 수 있다.
암호 키는 대칭 키일 수 있고, 각각의 디바이스는 실질적으로 동일한 암호 키를 가질 수 있다.
파티션은 파티션을 포함하는 디바이스의 리스트를 유지하는 검색 포인트를 더 포함할 수 있다. 추가 디바이스는 추가 디바이스의 이웃할 파티션 내의 디바이스의 어드레스 세부사항를 검색 포인트로부터 획득함으로써 그 파티션에 합류할 수 있다.
파티션의 디바이스는 일 세트의 디바이스를 포함할 수 있는데, 이 일 세트의 디바이스는 추가 파티션을 형성한다.
또한, 본 발명은 보안 인터넷 파티션을 생성하는 방법에 관한 것이다. 다른 형태에서, 본 발명은 보안 인터넷 파티션을 생성하는 방법을 수행하기 위해, 디바이스 상에 설치된 어플리케이션 소프트웨어이다. 또 다른 형태에서, 본 발명은 추가 디바이스가 보안 인터넷 파티션에 합류하기 용이하게 하는 검색 포인트에 관한 것이다.
다른 형태에서, 본 발명은 인터넷 상에서 데이터를 안전하게 전송하기 위한 보안 인터넷 파티션을 제공하는데, 이 파티션은 제2디바이스로 전송될 데이터, 암호 키, 및 검증 시퀀스를 포함하는 제1디바이스; 및 제2디바이스 및 암호 키를 검증하기 위해 제1디바이스로부터 수신된 검증 시퀀스를 포함하는 제2디바이스를 포함하고, 파티션의 사용에 있어서, 제1디바이스는 그것의 검증 시퀀스 및 암호 키를 사용하여 데이터를 암호화하도록 동작하고, 제2디바이스는 그것의 암호 키 및 검증 시퀀스를 사용하여 데이터를 복호화한다.
제1디바이스는 암호 키와 파티션 시퀀스를 결합함으로써, 그리고, 결합된 암호 키와 파티션 시퀀스를 사용하여 데이터를 암호화함으로써, 암호 키를 사용하여 데이터를 암호화하도록 동작할 수 있다. 데이터는 패킷으로 패킷화될 수 있고, 결합된 암호 키 및 파티션 시퀀스는 패킷의 암호화에 사용된다. 이 패킷은 헤더 및 바디를 포함할 수 있고, 암호화된 부분은 바디일 수 있다.
제1디바이스는 검증 시퀀스를 가진 파티션 시퀀스를 암호화함으로써, 그리고 그것을 제2디바이스로 전송된 데이터에 더함으로써, 검증 시퀀스를 사용하여 데이터를 암호화하도록 동작할 수 있다. 데이터는 헤더 및 바디를 가진 패킷으로 패킷화될 수 있고, 암호화된 파티션 시퀀스는 헤더에 추가될 수 있다.
제2디바이스는 파티션 시퀀스를 판정하기 위해 검증 시퀀스를 사용함으로써, 그것의 검증 시퀀스를 사용하여 데이터를 복호화할 수 있다. 또한, 제2디바이스는 판정된 파티션과 암호 키를 결합함으로써, 그리고 데이터를 복호화하기 위해 그것을 사용함으로써, 그것의 암호 키를 사용하여 데이터를 복호화한다.
파티션 시퀀스는 동적일 수 있다, 즉 주기적으로 변경될 수 있다. 파티션 시퀀스는 랜덤하게 발생될 수 있다. 검증 시퀀스는 동적일 수 있다, 즉 주기적으로 변경될 수 있다. 파티션 시퀀스는 랜덤하게 발생될 수 있다.
검증 시퀀스는 제1 및 제2디바이스에 고유한 것일 수 있다. 검증 시퀀스는 제1디바이스에서 제2디바이스로의 데이터 전송에 고유한 것일 수 있다. 검증 시퀀스는 질문/응답 인증의 일부와 같이, 제1디바이스로부터 수신될 수 있다. 제2디바이스는 추가 검증 시퀀스를 포함할 수 있고, 제1디바이스는 제1디바이스를 검증하기 위해 제2디바이스로부터 수신되는 추가 검증 시퀀스를 포함할 수 있다.
파티션은 모두 암호 키를 포함하는 추가 디바이스를 포함할 수 있다. 파티션은 추가 디바이스를 포함할 수 있고, 파티션 시퀀스는 파티션의 임의의 디바이스로 데이터를 전송할 때, 제1디바이스에 의해 사용된다.
다른 형태에서, 본 발명은 인터넷 상에서 데이터를 안전하게 전송하는 방법 에 관한 것이다. 또 다른 형태에서, 본 발명은 인터넷 상에서 데이터를 안전하게 수신하는 방법에 관한 것이다. 다른 형태에서, 본 발명은 인터넷 상에서 데이터를 안전하게 전송하고 수신하는 방법을 수행하기 위한 소프트웨어 어플리케이션에 관한 것이다.
다른 형태에서, 본 발명은 하나 이상의 원격 디바이스에 포함된 데이터 및 기능으로의 액세스를 제공하기 위한 컴퓨터 네트워크를 제공하는데, 본 컴퓨터 시스템은 데이터로의 액세스를 가능하게 하고, 기능을 제공하는 실 객체를 각각 포함하는 둘 이상의 디바이스를 포함하고, 사용에 있어서, 각각의 디바이스는 한 쌍의 가상 객체를 사용함으로써 원격 디바이스 내의 데이터 및 기능에 액세스할 수 있고, 그 중, 제1가상 객체는 실 객체와 통신하기 위해 디바이스 내에 위치하고, 제2가상 객체는 제1가상 객체와 통신하기 위해 원격 디바이스 내에 위치한다.
가상 객체는 데이터 및 기능을 실제 객체의 운영체제에 독립적으로 만들기 위해, 실 객체로부터 데이터 및 기능을 추출할 수 있다. 객체는 데이터를 저장할 수 있고, 데이터 조절 기능을 제공하는 소프트웨어 어플리케이션일 수 있다.
사용에 있어서, 각각의 디바이스는 한 쌍의 메타 객체를 사용함으로써 원격 디바이스 내의 추가 기능에 액세스할 수 있는데, 그 중, 제1메타 객체는 가상 객체와 통신하기 위해 디바이스 내에 위치될 수 있고, 메타 객체는 추가 기능을 제공하고, 제2메타 객체는 제1가상 객체에 추가 기능을 제공하기 위해 제1가상 객체와 통신하기 위해 원격 디바이스에 위치될 수 있다. 객체는 복수의 액션을 포함할 수 있다.
또 다른 형태에서, 본 발명은 하나 이상의 원격 디바이스에 포함된 데이터 및 기능에 액세스를 제공한다. 다른 형태에서, 본 발명은 하나 이상의 원격 디바이스에 포함된 데이터 및 기능에 액세스를 제공하기 위해, 전자 디바이스에 대한 인터페이스를 제공한다.
본 발명의 실시예는 사람들이 단일 인터페이스를 통해 복수의 디바이스의 네트워크 상에 저장된 데이터 컨텐츠에 액세스하는 보안성 있고, 유연하고, 간단한 방법을 제공한다. 상이할 수 있는 각각의 디바이스 사용자는 디바이스 사용자가 다른 사람이 단일 인터페이스를 사용하여 액세스할 수 있는 그들 디바이스 상의 컨텐츠를 컨트롤할 수 있게 한다.
데이터는 문서, 음악, 그림, 이-메일, 경고, 및 업데이트와 같은 임의의 디지털 파일일 수 있다. 또한, 액세스되는 데이터는 디바이스로부터 온도를 읽는 디지털 입력 카드 또는 디바이스로부터의 스크린 샷 같은 다이나믹 소스로부터 획득될 수 있다. 인터넷과 같은 네트워크에 연결될 수 있는 임의의 디바이스는 본 발명과 결합하여 사용될 수 있다.
본 명세서에서 사용된 바와 같이, 용어 "인터넷"은 컴퓨터, 모바일 텔레폰, PDAs 등과 같은 전자 디바이스를 모두 연결하는 다른 타입의 네트워크를 포함하도록 넓은 의미로 해석되어야 하고, 용어 "인터넷"은 인트라넷, WAN, LAN, 무선 네트워크 등과 같은 다른 전자 통신 네트워크를 포함할 것이다.
본 발명에 따르면, 다수의 컴퓨터 사이, 또는 이동 전화, 개인휴대정보단말 기(PDA), 등과 같은 기타 전자 디바이스와 데이터를 공유하는 방법으로서, 특히, 상기 데이터는 상기 디바이스들 사이의 전자적 연결, 특히 인터넷, 또는 예를 들면 LAN, WAN, 무선 네트워크와 같은 기타 수단을 통해 공유되는 방법이 제공된다. 특히, 본 발명은 보안 방식으로, 선택적으로 암호화를 이용하여, 특별한 보안 파티션을 이용하여 인터넷상의 개별 디바이스 상에 저장된 데이터를 공유하는 방법을 제공한다.
인터넷의 보안 파티션의 예가 지금부터 설명될 것이다. 본 설명에서, 보안 인터넷 파티션은 "클라우드"로 불려질 것이다.
디바이스 - 프로세서를 가진 임의의 디바이스이고, (TCP/IP를 사용하는 것과 같이) 인터넷에 연결될 수 있고, 보안 인터넷 파티션의 일부를 형성하기 위해 클라우드에 연결될 수 있다. 이러한 디바이스는, 또한, 특정 최소 시스템 요구사항을 충족해야 한다. 디바이스의 예는 ("Windows, "Linux", "Macintosh", 및 다른 오픈 소스 운영체제와 같은 임의의 운영체제를 가진) PC; "Palm OS", "Windows CE/Mobile" 등과 같은 운영체제를 가진 PDAs, PPC; "BlackBerry", 자바 폰, Nokia "Symbian" 운영체제 모바일 폰과 같은 모바일 텔레폰 또는 스마트폰; 및 내장된 디바이스를 포함한다.
엔티티 - 엔티티는 가상 프라이빗 네트워크(VPN) 또는 "클라우드" 내의 기본 단위(또는 노드)이다. 엔티티는 객체의 집합체이고, 디바이스 또는 클라우드 또는 VPN 그 자체에 의해 생성될 수 있다.
객체 - 객체는 엔티티(즉, 디바이스 또는 클라우드)와 연관된다. 객체는 클라우드 내의 디바이스 상의 데이터 및 기능으로의 액세스를 가능하게 하는 기능을 포함한다. 즉, 객체는 인스턴스 액션의 집합체이다. 객체는 액션의 집합체이다. 객체는 클라우드 내의 객체가 모든 신뢰된 디바이스로부터 사용가능하도록 클라우드 내의 각각의 디바이스로부터 클라우드에 추가될 수 있다.
클라우드 - VPN은 알려진 신뢰된 엔티티 사이에서 생성된다. 클라우드는 디바이스가 신뢰된 것인지, 그리고 이들 엔티티의 상태를 인식한다. 또한, 클라우드는 디바이스 및/또는 다른 클라우드의 VPN일 수 있다. 객체는 클라우드 내의 각각의 엔티티로부터 추가될 수 있다.
검색 포인트( Lookup Point ) - 검색 포인트는 엔티티가 서로 찾을 수 있게 하기 위해 시스템 내에 사용된다. 공유된 검색 포인트는 중앙식 등록 및 클라우드 컨트롤을 가능하게 한다. 검색 포인트는 클라우드 내의 하나의 디바이스 상에 위치될 수 있다. 대안으로, 검색 포인트는, 또한, 개별 디바이스 상에 있을 수 있다.
이러한 개념은 도 1 내지 20을 참조하여 더 설명될 것이다.
도 1은 단일 클라우드(100)의 아키텍처를 개략적으로 도시한다. 클라우드(100)는 4개의 엔티티(A 내지 D)로부터 생성된다. 엔티티(A)는 데스크탑 컴퓨터, 노트북, PDA 및 스마트폰을 포함하는 일 세트의 디바이스가 포함된 클라우드이다. 엔티티(B)는 다른 데스크탑 컴퓨터이다. 엔티티(C)는 다른 스마트 폰이다. 엔티티(D)는 다른 클라우드이다. 각각의 엔티티(A 내지 D)는 방화벽(106) 뒤에 구 성되고, 인터넷(102)에 연결된다. 다른 디바이스 상에서 유지되는, 4개의 엔티티(A 내지 D)에 대한 공유된 검색 포인트(104)가 있다.
각각의 엔티티(A 내지 D)는 각각 (108a 내지 108d)로 라벨링된 상이한 콘텐츠와 연관된다. 콘텐츠(108a 내지 108d)는 클라우드 상에서 객체 형태로 공유된다. 각각의 엔티티(A 내지 D) 상에, 모든 콘텐츠(108a 내지 108d)의 조정 및 풀 액세스가 있다. 이것은 참조번호 (110)으로 개략적으로 도시되어 있다.
도 2는 공유된 검색 포인트(104)를 사용하는 3개의 별개의 클라우드 E, F 및 G를 도시하고 있다. 클라우드 H는 별도로 존재하고 비밀 검색 포인트(105)를 가지고 있다. 클라우드 E, F 및 G의 엔티티는 공유된 검색 포인트(104)를 사용한다. 클라우드 H의 엔티티는 비밀 검색 포인트를 사용한다. 클라우드 H는 이격되고, 클라우드 H에 결합되는 임의의 디바이스는 클라우드 H 비밀 검색 포인트(105)를 인식하고 그것에 등록될 필요가 있다.
클라우드(114)내의 모든 엔티티가 검색 포인트(104)를 공유한다면, 클라우드는 중앙 관리되는 것으로 여겨진다. 각각이, 중앙관리되는 클라우드(114)를 함께 형성하는 클라우드 또는 디바이스일 수 있는 4개의 엔티티 A,B,C 및 D가 존재한다.
엔티티 사이의 모든 트래픽이 선택적으로 암호화된다. 적어도 모든 엔티티는 인증되어야한다. 암호화가 사용된다면, 이 암호화는 클라우드(114) 고유이고, 물론 엔티티 A,B,C 또는 D 고유이다.
도 3 및 도 4에 보다 상세하게 도시되어 있다.
무결성 링크는 도면에서 120로서 표시되어 있다. 오직 하나의 링크만이 2개 의 엔티티 사이에 설치되어 있지만 이러한 링크는 데이터 및 무결성과 같은 복수 타입의 정보 링크를 위해 사용될 수 있다. 이러한 예에서, 링크(120)는 무결성 링크를 나타낸다. 이러한 무결성 링크(120)는 클라우드내의 모든 엔티티 주변의 완전한 원을 유지한다. 이러한 무결성 링크(120)는 클라우드(116)내의 엔티티 A 내지 D의 인증을 검사하는데 사용된다. 클라우드내의 각 엔티티는 클라우드내의 2개의 다른 엔티티의 각각에 의해 두번 검사되는 것이 바람직하다. 예를 들어, 엔티티 B는 B의 무결성 링크(120)의 각 측에 있는 A 및 C에 의해 검증된다.
상기 검증은 엔티티가 그것이 말하는 그것인지 그리고, 엔티티가 시스템에 액세스하는 사용자가 누구인지를 안다는 것을 확인하는 질문-응답 메커니즘을 통해 이루어진다. A가 B에 질문한다면, 질문자 A는 질문받는 B인 엔티티의 공개키를 사용하여 암호화되는 랜덤 데이터 시퀀스를 생성한다. 엔티티 A는 이러한 데이터를 엔티티 B에 전송한다. 그다음, 질문받는 엔티티 B는 그 비밀키를 사용하여 랜덤 데이터를 해독하고 그것을 질문받는 A인 디바이스의 공개키를 사용하여 재암호화한다. 이 재암호화된 데이터는 매칭을 행하기 위해 B로부터 질문자 A로 전송된다. 매칭되었다면 포지티브 검사가 나타난다.
검사는 디바이스의 보안이 협상되거나 디바이스가 오프라인으로 가는 경우에 무결성 원이 엔티티를 제거하도록 자동으로 재조정되는 방식으로 간격을 두고 반복된다(아래에 보다 상세하게 설명된다).
데이터 링크는 도면에서 122로 표시되어 있다. 도 3에서, 점선은 클라우드(116)내의 엔티티 A 내지 D 사이에 통신하기 위해 사용되는 데이터 링크(122)를 나타낸다. 데이터 링크(122)는 먼저 무결성 링크(120)로서 설치되어 또 다른 엔티티를 검사한다. 데이터 링크(122)는 무결성가 설치될 때까지 유효하지 않다. 데이터는 아무런 다이렉트 링크가 데이터를 변화시키기를 원하는 엔티티 사이에 존재하지 않는 경우에 중계함으로써 전송될 수 있다.
이러한 데이터 링크(122)는 필요에 따라 생성되고 아이들일 때 닫힌다. 복수의 메시지가 2개의 엔티티 사이에 전송될 때 엔티티 사이의 직접 데이터 링크(122)가 요구되고 자동으로 발생한다. 그다음, 직접 데이터 링크(122)는 사전결정된 주기의 시간동안 아이들일 때 닫힌다. A 및 C와 같은 2개의 엔티티 사이의 무결성 링크를 이미 갖고 있지 않는 2개의 엔티티 사이의 링크를 개방하기 위해 엔티티는 먼저 서로를 검사할 것이다.
이러한 데이터 링크(122)는 신뢰(trusted) 엔티티의 현 리스트와 같은 클라우드 상태 정보를 동기화시키기 위해 사용될 수 있다. 이 데이터 링크(122)는 또한 클라우드를 통해 동기화된 클라우드(116) 레코드를 유지하기 위해 사용될 수 있다. 데이터 링크는 엔티티 사이의 모든 데이터를 전송하기 위해 사용된다. 데이터 링크로 전송된 데이터는 데이터 타입을 식별하는 헤더 정보를 포함한다. 동기화는 각각의 엔티티가 클라우드(116)의 모든 엔티티 A 내지 D에 유용한 콘텐트의 최신 리스트를 볼 수 있다는 것을 의미한다. 이러한 레코드는 클라우드 세팅을 포함하지만 또한 애플리케이션에 고유할 수 있다. 또한 데이터 링크(122)는 클라우드 객체와 통신하기 위해 사용될 수 있다. 데이터 링크를 통해 전송된 패킷내의 헤더 정보는 특정 클라우드 객체를 어드레싱할 수 있다.
검색 링크는 도면에서 124로 표시되어 있다. 또한 클라우드(116)는 검색 링크(124) 내지 검색 포인트(104)를 포함한다. 도 3에 도시된 예에서, 검색 포인트는 그 위에 DBMS를 갖는 컴퓨터이다. 검색 포인트는 그것이 항상 발견될 수 있도록 URL 또는 고정된 IP 주소를 가지고 있어야 한다. 검색 링크(124)는 A로 불리는 엔티티가 클라우드(116)와 함께 엔티티 A의 현 위치를 등록하려고 할 때 사용된다. 엔티티 A는 검색 포인트(104)를 통해 다른 엔티티 B,C 및 D를 발견할 수 있다. 이러한 등록 통신은 엔티티 A의 세션동안 사용하기 위해 대칭 키를 바꾸는 공개/비밀 키 메커니즘을 사용하여 암호화된다.
검색 포인트(104)는 엔티티 A,B,C 및 D의 위치를 홀딩한다. 검색 포인트(104)는 사용자를 위한 새로운 엔티티의 생성을 제어한다. 이것은 또한 클라우드로의 상기 엔티티들의 결합을 제어할 수 있다.
디바이스 마스터 키는 각 등록된 디바이스를 위한 검색 포인트에서 홀딩된다. 이러한 키는 클라우디 애플리케이션을 위해 모든 비밀 데이터를 로킹하는데 사용된다. 디바이스가 예를 들어 훔쳐질 수 있다면, 검색 포인트(104)로부터 이러한 키를 수신하는 것을 차단함으로써 훔친 디바이스를 사용하여 사용자의 클라우드에 액세스하는 것이 방지된다.
검색 포인트(104)는 각 사용자의 클라우드의 명칭을 등록하는데 사용된다. 또한 이것은 사용자가 선택하는 경우에 클라우드에 결합할 필요가 있는 제2 암호인 요구(invitation) 암호를 등록할 수 있다.
사용자가 합류할 수 있는 클라우드의 리스트를 얻기 위해 검색 포인트(104) 에 저장된 DBMS에서 조인 쿼리가 실행될 수 있다. 조인 검색은 합류를 실행하기 위해 클라우드에 접속하도록 검색 포인트(104)에서 실행될 수 있다. 검색은 클라우드 명칭 및 선택적으로 요구 암호를 매칭함으로써 실행된다.
클라우드(130)는 또한 비밀리에 관리될 수 있고 이것의 예는 도 4에 도시되어 있다. 단순함을 위해, 동일한 부재 번호가 도 3에 도시된 것과 동일한 아이템을 나타내도록 사용되었다.
이러한 클라우드(130)는 검색 포인트가 클라우드 디바이스중 하나, 이러한 경우에 엔티티 B의 디바이스에 위치되는 것을 제외하고 클라우드(116)와 유사하다. 이러한 배열에서 검색 포인트는 하나의 클라우드 또는 복수의 클라우드를 관리할 수 있다. 클라우드(116)와는 달리, 엔티티 B는 다른 엔티티 A,C 또는 D가 검색 포인트에 액세스하기 위해 엔티티 B를 발견할 수 있도록 등록된 URL 또는 고정된 IP 주소를 가지고 있어야만 한다. 검색 포인트는 상기 클라우드를 실행시키고 있는 것과 동일한 소프트웨어내에 통합될 수 있다.
디바이스와 엔티티 사이의 관계는 이제 도 5(a) 내지 5(c)를 참조하여 설명할 것이다.
도 5(a)에서 디바이스는 엔티티를 생성할 수 있다. 일단 엔티티가 생성되면(즉, 디바이스를 클라우드에 접속함으로써), 디바이스상의 엔티티 소프트웨어 객체에 링킹함으로써 기능이 추가될 수 있다. 이러한 예에서, 디바이스(136)상의 실제 객체(134)는 다시 실제 객체(134)에 링킹하는 가상 객체(138)를 생성함으로써 엔티티(135)에 추가된다. 최종 결과는 엔티티 I이다.
복수의 엔티티가 추가 엔티티를 생성하기 위해 합류될 수 있다. 도 5(b)에서, 엔티티 I,J,K 및 L는 새로운 엔티티 M을 생성하기 위해 합류되어 있다. 엔티티 I 내지 L이 단일 디바이스로부터 생성되어 있어야 한다는 아무런 제약도 존재하지 않는다. 예를 들어, 엔티티 M은 하나의 클라우드를 생성하기 위해 함께 합류된 4개의 디바이스 또는 클라우드 M을 생성하기 위해 함께 합류된 4개의 클라우드를 나타낼 수 있다. 대안으로, 클라우드 또는 2개의 디바이스 및 2개의 클라우드는 함께 합류되어 클라우드등을 생성한다. 엔티티 M 및 N을 결합함으로써 엔티티 X가 생성된 일예가 도 5(c)에 도시되어 있다. 엔티티 M은 엔티티 I,J,K 및 L에 포함되어 있고 엔티티 N은 엔티티 O 내지 R을 결합함으로써 생성된다.
도 6은 객체가 복수의 디바이스에 대한 단일 뷰를 생성하기 위해 어떻게 동작하는지 도시한다. 이러한 예에서, 클라우드(144)를 생성하기 위해 함께 결합된 3개의 디바이스(136,140,142)가 존재한다. 도 6에는 3가지 타입의 객체, 즉, 실제 객체(146,148,150); 가상 객체(152,154,156); 원격 객체(158,160,162,164,166,168)이 존재한다.
실제 객체(146,148,150)는 각각 디바이스(136,140,142)상의 실제 객체이다. 이러한 객체는 데이터로의 액세스와 디바이스로부터의 기능을 허용한다. 각각 특정 타입의 기능을 제공하는, 디바이스상의 복수의 실제 객체가 존재할 수 있다.
실제 객체의 예는 다음과 같다: 파일 및 폴더로의 액세스를 허용하는 파일 브라우저; 이메일 콘텐트 및 기능으로의 액세스를 허용하는 메일 브라우저; 칼렌더로의 액세스를 허용하는 칼렌더 브라우저; 음악 컨텐트로의 액세스를 허용하는 뮤 직 스트리머; VOIP를 위한 디바이스 마이크로폰 및 스피커로의 액세스를 허용하는 보이스 모듈; 비디오 콘텐트로의 액세스를 허용하는 비디오 스트리머; 문자 메시징을 허용하는 채트 모듈; 디바이스 미디어 플레이어의 원격 제어를 허용하는 미디어플레이어 원격; 원격 애플리케이션 뷰잉 및 인터랙션을 서용하는 원격 애플리케이션 모듈; 클라우드 사용자 특정 정보를 가지고 있고 웹에 도달하고 광고를 풀링 인할 수 있는 광고 모듈; 안전 디바이스상의 은행 인증서를 저장하고 트랜잭션을 원격 실행하는 뱅킹 모듈 클라우드로부터 프린터로의 액세스를 허용하는 프린터 모듈; 다른 디바이스로부터의 패닉 경고를 디스플레이하는 패닉 모듈; 웹 RSS 피드 모듈; 클라우드로부터 존재하는 FTP 서버로의 액세스를 허용하는 FTP 서버 모듈; 클라우드로부터의 BLOG의 갱신을 허용하는 BLOG 갱신 모듈;클라우드에서 레가시 애플리케이션으로의 액세스를 허용하는 레가시 모듈; 클라우드에서 데이터베이스 액세스를 허용하는 데이터베이스 모듈; 클라우드내의 스트리밍 비디오에 액세스하는 웹 카메라 모듈.
가상 객체(152,154,156)는 실제 객체(146,148,150)에 각각 링킹하는 엔티티(135,170,172)에 추가되는 객체이다. 실제 객체에 링킹되는 각 가상 객체는 개별적인 선호 세트를 가질 수 있다. 이로 인해 하나의 엔티티내의 하나의 가상 객체는 상이한 데이터에 액세스할 수 있고, 그다음 또 다른 엔티티내의 동일한 실제 객체로부터 또 다른 가상 객체에 액세스할 수 있다. 이러한 방식으로, 상이한 폴더는 동일한 파일 공유 객체로부터의 엔티티의 각각에서 공유될 수 있다.
원격 객체(158 내지 168)는 데이터 링크(174)를 통해 가상 객체에 링킹되는 객체이다. 원격 객체(158 내지 168)는 클라우드상의 또 다른 엔티티로부터의 가상 객체에 액세스하도록 사용된다.
원격 객체 및 가상 객체의 표면은 동일한데, 오직 언더라이잉 통신 메커니즘만이 상이하다. 엔티티(135)는 상기 언더라이잉 통신 메커니즘을 통해 실제 객체(146,148,150)로의 액세스를 허용하는 객체(152,158,160)으로의 액세스를 가지고 있다. 마찬가지로, 엔티티(170)는 상기 언더라이잉 통신 메커니즘을 통해 실제 객체(146,148,150)로의 액세스를 허용하는 객체(154,162,164)로의 액세스를 가지고 있다. 다시, 엔티티(172)는 상기 언더라이잉 통신 메커니즘을 통해 실제 객체(146,148,150)로의 액세스를 허용하는 객체(156,166,168)로의 액세스를 가지고 있다. 이러한 기능 및 액세스 방법에 의해 엔티티(135,170,172)의 각각은 3개의 디바이스(136,140,142)를 통해 공유된 단일 뷰를 사용하여 동일 기능 및 데이터로의 액세스를 가질 수 있다.
도 7은 메타객체인 또 다른 타입의 객체를 개략적으로 도시하고 있다. 이것은 실제 객체에 링킹하는 대신에, 메타객체가 동일한 엔티티내의 다른 객체에 링킹되어 있다는 것을 제외하고 가상 객체와 유사하고, 상기 링킹된 객체는 자체가 원격 객체, 가상 객체 또는 다른 메타객체일 수 있다.
이러한 예에서 클라우드(176)는 3개의 엔티티(178,180,182) 사이에 생성되었다. 디바이스(186)상의 실제 객체(184)는 가상 객체(185)를 통해 클라우드(176)와 공유되었다. 메타객체(188)는 원격 객체(190)에 연결된다.
노멀 원격 객체(190, 196)와 기능에 있어서 동일한 2개의 원격 메타객 체(192,194)가 존재한다. 여기에서, 메타객체(188)는 원격 객체(190)로부터 그 기능 및 데이터를 획득한다. 실제 객체(185)는 실제 객체(184)로부터 그 기능 및 데이터를 획득하다.
메타객체(188)는 그것이 링킹하는 객체내에 포함되지 않는 추가 기능을 생성할 수 있는 추가 로직을 포함한다. 단일 메타객체는 클라우드내의 복수의 (잠재적으로 모든) 다른 객체에 링킹할 수 있다.
메타 객체의 예는 다음을 포함한다: 체인지를 위해 하나의 객체를 감시하고 다른 객체에 작용하는 경고 객체; 가상 폴더에 저장되는 임의의 데이터가 백업 로케이션 및, 예를 들어, 무제한의 포토 저장을 위해 사용될 수 있는 유한의 저장 공간을 가진 모바일 디바이스로 자동 이동되도록 가상 폴더를 더하도록 파일 페처 객체를 사용하는 가상 폴더 객체; 클라우드내의 임의의 장소로부터의 파일을 첨부할 수 있는 센드 메일 액션을 구현하기 위해 모든 파일 페처 객체 및 메일 객체를 링킹하는 메일 첨부 객체; 소프트웨어상의 임의의 법적 필요조건을 위한 백도어를 구현하기 위해 모든 클라우드 객체로의 액세스를 허용하는 백도어 객체; 다른 디바이스를 유기적으로 또는 동시에 경고하기 위해 패닉 모듈 객체에 링킹하는 패닉 경고 객체.
도 8은 액션과 객체 사이의 관계를 개략적으로 도시하고 있다. 임의의 객체는 액션을 포함하고 있다. 이러한 예에서, 객체(194)는 액션(i), (ii), (iii)을 포함한다. 메타객체(196)는 액션(iv), (v), (vi)를 포함한다.
객체에 대한 액션의 사용을 이제 도 9를 참조하여 설명한다. 클라우드(198) 는 2개의 디바이스(200, 202) 사이에 생성되었다. 가상 객체(204)는 디바이스(200)상의 실제 객체(208)로부터 엔티티(206)에 추가되었다. 메타객체(210)는 디바이스(200)상의 엔티티(206)에 추가되었다. 실제 객체(208)는 2개의 액션 (i) 및 (ii)을 포함한다. 이러한 액션은 (vi) 및 (vii)와 같이 가상 객체(204)에서 그리고 (vi) 및 (vii)와 같이 원격 객체(220)에 유용하다.
액션의 인스턴스는 액션을 사용하도록 생성된다. 디바이스(202)에서 액션(vi)의 3개의 인스턴스가 (pi), (pii), (piii)로서 생성되었다. 일 예로서, 객체가 "파일페처"이고 액션이 "겟파일"이라면, 3개의 동시의 파일 요청(pi), (pii), (piii)을 행할 수 있다. 엔티티(226)상의 객체(220)상의 액션(vi)은 엔티티(206)상의 객체(204)상의 액션(vi)에 맵핑한다. 이것은 디바이스(200)상의 객체(208)상의 액션(i)에 맵핑한다.
디바이스(202)상의 액션 인스턴스(ai)는 엔티티(226)상의 원격 메타 객체(232)로부터 액션 (mi)에 맵핑한다. 액션 (mi)은 엔티티(206)상의 메타 객체(210)상의 액션(bi)에 맵핑한다. 액션(bi)은 가상 객체(204)상의 액션(vi)의 액션 인스턴스(bii)를 생성한다. 이러한 예에서 액션(bi)은 상이한 객체 또는 동일한 객체로부터의 복수의 액션 인스턴스와 상호작용하는것이 가능하지만 오직 단일 객체객체용한다.
이제 미싱 엔티티를 검출하기 위해 상술된 무결성 링크의 사용에 대해 도 10(a)를 참조하여 설명할 것이다. 이러한 예에서, 검색 포인트(246)를 포함하는 클라우드(244)를 형성한 4개의 엔티티(236,238,240,242)가 존재한다. 무결성 링크는 모든 엔티티(236,238,240,242)를 함께 링킹하는 원을 완성하는 링크(248,250,252,254)에 의해 생성된다. 도 10(b)에 도시된 바와 같이, 엔티티(236)가 오프 라인이 된다면, 새로운 무결성 링크(256)가 엔티티(238,242) 사이에 생성된다. 모든 다른 링크는 영향을 받지 않은 상태로 남는다.
동일한 방법으로, 링크는 클라우드에 접속하기를 원하는 새로운 디바이스를 위치시키도록 사용될 수 있다. 도 11을 참조하면, 클라우드(260)는 엔티티(238,240,242) 사이에 생성된다. 무결성 링크(248,250,256)가 이러한 엔티티 사이에 존재한다.
엔티티(236)가 온라인이 된다면, 커넥션(262)이 검색 포인트(246)에 대해 생성된다. 엔티티(236)는 클라우드(260)의 위치에 대한 검색 포인트(246)를 요청한다. 이 검색 포인트(246)는 엔티티(238)가 등록된 클라우드(260) 콘택트 포인트인지를 결정하여 검색 포인트(246)는 엔티티(236)로부터의 커넥션이 허용가능한지를 엔티티(238)에게 문의한다(264). 그것은 또한 엔티티(236)에 관한 로케이션 정보를 엔티티(238)에 전송하였다. 엔티티(238)가 상기 커넥션이 허용가능하다고 응답한다면(266), 검색 포인트(246)는 엔티티(238)의 로케이션에 대해 엔티티(236)과 통신한다(267).
그다음, 커넥션(254)은 엔티티(236)와 엔티티(238) 사이에 생성된다. 엔티티(236) 및 엔티티(238)는 서로 질문하고 검사한다(아래에 보다 상세히 설명되어 있다). 엔티티(236)는 엔티티(238)로부터 엔티티(236)의 클라우드 상태 정보를 복사함으로써 상기 갱신된 클라우드 상태 정보를 갖고 있다. 상기 갱신 정보는 클라 우드 멤버의 리스트 및 또 다른 클라우드 멤버의 상태의 동기화이다. 이러한 (클라우드내의 또 다른 엔티티의 온라인 및 검증된 상태를 포함하는) 상태 갱신에 의해 엔티티(236)는 그것이 무결성 링크 원내로 어디에서 슬롯팅하는지 그리고 무엇이 클라우드에서 그것에 유용한지를 알 수 있다. 그다음, 엔티티(236, 242)는 무결성 링크 원을 완성하기 위해 새로운 무결성 링크(252)를 생성한다.
보안을 증가시키기 위해, 디바이스가 임의의 클라우드에 접속할 수 있기 전에 먼저 등록해야 한다. 이것은 도 12를 참조하여 설명될 것이다. 이들의 디바이스를 사용하여 사용자는 등록 정보를 입력하여야 한다. 등록 정보는 보통 사용자이름 및 암호를 포함할 수 있다.
이러한 예에서, 디바이스(270)는 검색 포인트(274)와의 접속(272)을 생성한다. 등록 사용자이름; 등록 암호의 솔팅된 해시; 상기 디바이스에 대한 고유 식별자; 및 로컬 네트워크 어드레스 정보를 포함하는 등록 메시지가 커넥션(272)을 통해 전송된다.
등록이 검색 포인트(274)에 의해 수락되면, 그 후 하기의 정보가 디바이스(270)로 되보내진다: 클라우디 애플리케이션(cloudy application) 정보를 비잠금하기 위해 사용된 마스터 키(278)(이것은 디바이스 정보; 디바이스 보안 키; 암호화 파일 시스템 키; 클라우드 정보; 클라우드 보안 키;를 포함한다).
클라우디 애플리케이션은 디바이스를 결코 떠나지 않는 국지 기억 키(280)와, 디바이스 상에 전혀 기억되지 않는 마스터 키(278)인 검색 포인트 기억 정보 모두를 사용함으로써 디바이스(270)상에서 비잠금된다.
도 11에 도시된 바와 같이 엔티티가 클라우드를 결합할 때 보안키를 사용하는 것에 대해서 도 13을 참조하여 이제 설명할 것이다. 클라우드(288)는 디바이스(290)와 디바이스(292) 사이에 설정된다. 디바이스(290)는 하기의 보안 정보를 함유한다: 클라우드 대칭 키(294); 검색 포인트 공개 키(296); 비밀 키(300); 공개 키(302); 및 공개 키(304).
클라우드 대칭 키(294)는 각각의 클라우드에 독특한 랜덤 생성 시퀀스이다. 데이터 메시지의 모든 클라우드 특정 포션은, 정해진 시간간격으로 변화하고 각각의 엔티티와는 다른 랜덤 생성 시드와 결합되어 있는 클라우드 대칭 키(294)로 암호화된다(자세한 내용은 도 15(b), 15(c) 및 15(d)를 참조하여 아래에 기술되어 있다).
검색 포인트 공개 키(296)는 검색 포인트(298)과 통신하는 데 사용된다. 디바이스(290)에 대한 비밀 키(300)는 다른 디바이스로부터 송신된 메시지를 비잠금하는데 사용된다. 대칭 키들이 무결성 링크 설정 동안 교환될 때 그것은 초기 무결성 링크 설정을 위해 단지 사용된다. 디바이스(290)에 대한 공개 키(302)는 신뢰 엔티티(trusted entities)에게 넘겨져 신뢰 엔티티는 무결성 링크 설정 동안 디바이스(290)와 통신할 수 있다. 디바이스(292)에 대한 공개 키(304)는 디바이스(292)로부터 수신되어 디바이스(290)는 디바이스(290)와 무결성 링크를 설정할 수 있다.
디바이스(292)는 하기의 보안 정보를 함유한다: 클라우드 대칭 키(294); 검 색 포인트 공개 키(296); 디바이스(292)에 대한 비밀 키(306); 디바이스(292)에 대한 공개 키(304); 및 디바이스(290)에 대한 공개 키(302).
각 엔티티(290) 및 (292)는 각각, 간소화를 위해 본 실시예에서는 생략되었지만 자세한 내용이 도 15(b), 15(c) 및 15(d)를 참조하여 아래에 설명되어 있는 추가 키를 함유한다.
디바이스(310)는 클라우드(288)의 멤버가 아니며, 단지 검색 포인트 공개 키(296), 디바이스(310)에 대한 비밀 키(312); 및 디바이스(310)에 대한 공개 키(314);를 함유한다.
검색 포인트(298)은 검색 포인트 공개 키(296) 및 검색 포인트 비밀 키(316)을 함유한다.
도 13에 도시된 클라우드(288)에 기초하여, 디바이스(310)가 클라우드를 결합하는 방법이 도 14를 참조하여 이제 기술될 것이다.
먼저, 디바이스(310)상의 사용자는 하기의 정보를 클라우디 애플리케이션에 등록한다: 클라우드 이름(C); 클라우드 요구 넘버(I); 클라우드 사용자 이름(U); 및 클라우드 사용자 암호(P).
디바이스(310)는 검색 포인트(298)로 클라우드 이름(C) 및 요구 넘버를 함유하는 결합 검색 메시지를 송신한다(330). 검색 포인트(298)는 이 클라우드를 찾아서 클라우드에 대한 독특한 엔티티 식별자를 되보낸다(332).
그 후, 디바이스(310)는 이 엔티티 ID에 대한 연결 요청을 검색 포인트(298)로 송신한다(334). 검색 포인트(298)는 연결 요청을 엔티티(290)로 송신한 다(336). 디바이스(290)는 연결 수락 메시지로 검색 포인트(298)에 응답한다(338). 검색 포인트(298)는 요청 수락 메시지를 디바이스(310)에 송신한다(340).
다음으로, 디바이스(290) 및 디바이스(310)는 연결(342)를 설정한다. 먼저, 디바이스(310)는 결합 메시지를 구성하여 디바이스(290)로 송신한다. 메시지는 C, U, P 및 I의 해쉬 버전(hashed versions))과 랜덤 시퀀스(S)를 사용하여 스스로 암호화된다. 디바이스(290)는 결합 메시지를 체크하고 만약 OK이면 디바이스(290)는 디바이스(310)에 대한 정보를 요청한다.
응답으로, 디바이스(310)는 하기의 정보를 디바이스(290)으로 송신한다: 디바이스(310)에 대한 공개 키(314) 및 디바이스(310)에 대한 엔티티 ID.
디바이스(290)는 이 정보를 수신하고, 클라우드 대칭 키(294); 디바이스(290)에 대한 공개 키(302); 및 디바이스(290)에 대한 엔티티 ID;를 함유하는 요구로 응답한다.
디바이스(290) 및 디바이스(310)는 무결성 링크를 설정하고, 클라우드 상태는 이 링크 상에서 동기화된다. 상태 정보는 클라우드의 각 멤버에 대한 엔티티 ID들의 리스트를 포함한다. 그것은 각 클라우드 엔티티의 온라인 상태를 수신한다. 클라우드 레코드는 동기화되고, 이러한 레코드는 클라우드, 엔티티 및 객체 정보를 함유한다. 클라우드 레코드는 클라우드 사용자/암호 뿐만 아니라 클라우드에서의 엔티티 리스트를 함유한다. 클라우드 멤버 레코드(각 엔티티에 대한 하나)는 멤버에 대한 디스플레이 이름 뿐만 아니라 그 멤버들에 대한 객체 리스트를 함 유한다. 객체 레코드(각 객체에 대한 하나)는 이용가능한 기능성 타입 뿐만 아니라 클래스 객체 지원의 리스트를 함유한다.
또한, 동기화는 다른 클라우드 엔티티들에 대한 공개 키들을 포함한다. 이러한 방법으로 엔티티(310)가 엔티티(292)에 대한 공개 키를 수신하여, 엔티티(310) 및 엔티티(292)는 무결성 링크를 생성할 수 있고 무결성 서클을 완성할 수 있다. 도 15(a)는 마지막 상태를 도시한다.
디바이스(290)는 하기의 보안 정보를 함유한다: 클라우드 대칭 키(294); 디바이스(290)에 대한 비밀 키(300); 디바이스(290)에 대한 공개 키(302); 디바이스(310)에 대한 공개 키(314); 및 디바이스(292)에 대한 공개 키(304).
디바이스(292)는 하기의 보안 정보를 함유한다: 클라우드 대칭 키(294); 디바이스(292)에 대한 비밀 키(306); 디바이스(292)에 대한 공개 키(304); 디바이스(310)에 대한 공개 키(314); 및 디바이스(290)에 대한 공개 키(302).
디바이스(310)는 하기의 보안 정보를 함유한다: 클라우드 대칭 키(294); 디바이스(310)에 대한 비밀 키(312); 디바이스(310)에 대한 공개 키(314); 디바이스(290)에 대한 공개 키(302); 및 디바이스(292)에 대한 공개 키(304).
만약 디바이스(290) 및 디바이스(292) 사이의 무결성 서클에 위치된 추가 엔티티가 있었다면, 엔티티(310) 및 엔티티(290) 사이의 동기화동안 엔티티(310)는 또한 추가 엔티티에 대한 공개 키를 수신했을 것이다. 이러한 방법으로, 만약 엔티티(210)와 추가 엔티티가 엔티티(290) 또는 엔티티(290)을 통해 데이터를 중계하기 보다는 데이터를 공유하기를 원한다면, 엔티티(310)와 추가 엔티티는 검증 질문 및 요청을 수행함으로써 그리고 그 새로운 연결 상에서 데이터 트래픽을 전송함으로써 직접 무결성 링크를 설정할 수 있다.
정적 키이며 클라우드에서의 모든 엔티티들에게 공용인 클라우드 대칭 키(294)에 더하여, 추가 동적 키들이 무결성 링크들을 설정하기 위해 그리고 데이터 교환을 위해 사용된다. 이러한 내용은 도 15(b), 도 15(c) 및 도 15(d)를 참조하여 이제 설명될 것이다.
먼저 도 15(b)(i)를 참조하여, 키 교환을 포함하는, 무결성 링크 질문와 응답 방법이 기술될 것이다. 이 실시예에서, 무결성 링크는 엔티티 A와 B 사이에서 설정된다.
엔티티 A 상에서: 여기서 무결성 동적 키라고 불리는 랜덤 생성 시퀀스가 각각의 질문에 대하여 발생되고 (일정 간격으로 재발생된다). 이 무결성 동적 키는 대칭 키 AB'(600)로써 사용된다. AB'(600)은 B의 공개 키(304)를 사용하여 암호화되고, 이 암호화된 버전은 질문으로써 B로 송신된다(604).
엔티티 B 상에서: 질문은 수신되고 B의 비밀 키(306)를 사용하여 복호화된다. AB''(608)로써 도시된 AB'(600)의 복호화된 버전은 B상에 기억된다. AB''(608)는 A의 공개 키(302)를 사용하여 암호화되고, 응답은 A로 다시 송신된다(612).
엔티티 A 상에서: 응답은 수신되고 A의 비밀 키(300)를 사용하여 복호화된다. 복호화된 데이터와 최초 AB'(600)의 비교가 이루어지고, 만약 매치가 이루어지면 링크는 유효한 것으로 마크된다. 수락 메시지(616)가 B로 다시 송신된다.
엔티티 B 상에서: 수락 응답이 수신되고, 링크는 수락되는 것으로 마크된다.
이 방법은 엔티티 A가 엔티티 B를 질문하는 것이다. 또한, 동일한 방법으로 엔티티 B로부터 엔티티 A로의 질문이 존재하지만, 본 경우에서 사용된 무결성 동적 키는 BA'(620)이다. 이 방법은 도 15(b)(ii)에 도시되어 있다. 만약 B가 A를 검증하기를 원한다면, B상에 수신된 최초 질문은 B로부터의 반대 질문을 유발할 것이다. 그 두 질문는 동시에 발생할 수 있다.
일단 A로부터 B로 그리고 B로부터 A로의 무결성 링크가 수락되는 것을 마크되면, 그 후 그 링크 상의 데이터 채널이 개방된다. 마지막 상태가 도 15(b)(iii)에 도시되어 있는 데, 상기 과정이 다음 질문 서클에서 반복된다(예를 들면, 매 10초 마다). 구 키들(AB', AB'', BA', BA'')이 데이터 링크에 대해 여전히 유효한 동안에 일시적 겹침 기간이 존재할 수 있다. 이 겹침 기간 동안, 무결성 동적 키들의 구버전 및 신버전 모두가 유효하다. 이것은 데이터-링크가 후속 질문 동안에 개방된 상태로 남아있는 것을 허용한다.
그 두개의 엔티티 A 및 B 사이의 데이터 트래픽을 암호화하는 방법이 도 15(c)를 참조하여 이제 설명될 것이다.
클라우드는 데이터 D를 엔티티 A로부터 엔티티 B로 송신하기를 원한다. 무결성 링크는 도 15(b)를 참조하여 설명되었던 것처럼 설정되어 있어 그 엔티티 A 및 B는 무결성 동적 키들을 교환한다.
엔티티 A가 클라우드의 일부인 각 클라우드에 대하여, 엔티티 A는 데이터 메시지를 송신하기 위해 사용되는 시퀀스 R을 랜덤하게 발생시킨다. 이 시퀀스는 클 라우드 정적 대칭 키 C와 결합되어 신 데이터 동적 대칭 키인 CA'(650)을 생성한다. R과 이에 따른 CA'는 임의의 질문-응답 발생과 무관한 정해진 시간간격으로 재발생된다.
엔티티 A 상에서: 신 메시지는 시작된다(656). R은 AB'(600)을 사용하여 암호화되고(652), 어드레싱 정보를 함유하는 메시지(656)의 헤더(660)에 추가된다(654). D는 CA'(650)을 사용하여 암호화되고(664), 메시지(656)의 바디(662)에 추가된다. 메시지는 엔티티 A로부터 엔티티 B로 송신된다(668).
엔티티 B 상에서: 메시지는 수신된다. 헤더(660)는 AB''(608)을 사용하여 h복호화되고(690), R'는 추출된다(692). 클라우드 정적 대칭 키 C(294)와 R'는 결합되어(694), CA''(650)을 생산한다. CA''(650)는 메시지 바디(662)를 복호하기 위해 그리고 데이터 D를 추출하기 위해(700) 사용된다(696).
네트워크 최적화는 플래그가 헤더에 놓여지는 것을 허용하여 B에게 그 헤더를 기억하라고 말한다. 만약 메시지 헤더가 두개의 구별되는 피어들 사이의 순차적인 메시지들에 대하여 동일하다면, 플래그는 헤더에 놓여져 수신자(이 경우에는 엔티티 B)가 헤더를 캐시(cache)해야 하는 것을 신호한다. 그 후, 다음 메시지는 엔티티 B에게 캐시 헤더를 사용하라고 말하는 플래그 세트를 갖을 수 있다.
만약 엔티티 A가 메시지들을 동일한 클라우드의 멤버였던 엔티티 C로 송신하기를 바란다면, 엔티티 A는 메시지들을 엔티티 B에게 송신하는 데 사용되었던 동일한 값 R을 사용한다.
간소화를 위해, 본 실시예는 엔티티 A 및 B가 단지 하나의 클라우드를 공유 하는 것을 기술하였다. 만약 엔티티 A 및 B 모두가 두 번째 클라우드의 멤버이고, 엔티티 A가 엔티티 B와 통신하기를 원한다면, 추가의 별도 랜덤 시퀀스 R이 발생되고, 그 클라우드 상에서 통신될 때 사용된다.
클라우드를 결합하는 과정은 도 15(d)를 참조하여 이제 설명될 것이다. 도 15(d)에서 엔티티 A, B 및 C는 동일한 클라우드의 멤버이고, 서로 질문하며, 대칭 키들을 교환한다.
엔티티 D는 클라우드를 결합하는 과정 중에 있다. 엔티티 D는 엔티티 C의 공개 키와, 정적 클라우드 키를 함유하는 인비테이션을 수신하고, 그것의 공개 키를 결합 요청에 있는 C로 송신한다.
질문는 성공적으로 수행되었고, C와 D는 무결성 동적 대칭 키들을 교환하였다.
엔티티 D는 C로부터 B의 공개 키를 요청하는 과정 중에 있어 그것은 B를 질문할 수 있고 무결성 링크를 완성할 수 있다.
클라우드를 등록하고, 결합하고, 분리하고, 생성하는 방법과 클라우드 상의 컨텐트를 공유하는 방법은 각각의 디바이스와 검색 포인트 상에 설치되어 있는 애플리케이션 소프트웨어에 의해 제어되어 디바이스들이 상기에서 기술된 방법들에 따라 동작하도록 만든다. 이 애플리케이션 소프트웨어에 대한 적합한 프로그래밍 언어의 예로는 C++ 와 자바가 있으나, 임의의 다른 프로그래밍 환경이 대신 사용되거나 추가로 사용될 수 있다.
도 16은 소프트웨어의 메인 소프트웨어 모듈들을 도시한다. 소프트웨어는 3 개의 부분으로 나누어진다: 사용자 인터페이스인 그래픽 사용자 인터페이스(GUI, 400); 보안, 디바이스 연결, 클라우드를 유지하고, 엔티티를 생성하고 링크하는 기본 엔진인 코어(402); 및 기능성과 데이터를 엔티티에게 추가하는 객체들(404).
신 애플리케이션들은 GUI와 객체들을 변화시킴으로써 생성될 수 있다. 예를 들면, 폴더들과 파일들을 도시하고 엑세스할 수 있는 파일 패칭 객체의 추가에 의한 파일 공유; 일 디바이스가 메시지를 다른 디바이스로 송신하는 것을 허용하는 채트 객체의 추가에 의한 메시징; 부착된 디바이스로부터 보이스 데이터를 송신할 수 있는 보이스 객체의 추가에 의한 VoIP(Voice over Internet Protocol); 및 다른 애플리케이션들.
소프트웨어의 디자인이 도 17에 개략적으로 도시되어 있다. 코어는 모든 서브 시스템과 클라우드를 생성하고 초기화하는 메인 매니저(410)를 함유한다.
OS 래퍼(412)는 하위 디바이스와 통신하는 소프트웨어 모듈이다. 그것은 암호화된 파일 기억과, 새로운/존재하는 엔티티들이 사용할 수 있는 가능 객체들에 대한 라이브러리를 제공한다. OS 래퍼(412)는 시각 객체들과 원격 객체들을 생성하기 위해 사용된다. 네트워킹(414)은 디바이스들 사이에서의 모든 통신을 관리하는 소프트웨어 모듈이고, 그것은 엔티티 검색; 무결성 링크 설정; 메시지 중계; 및 디바이스 특정 암호화를 수행한다.
클라우드(416)는 특저 엔티티와 디바이스상의 관련 클라우드를 관리하는 소프트웨어 모듈이다. 각각의 클라우드에 대한 이 모듈의 예가 있다. 클라우드(416)은 클라우드 특정 암호화; 클라우드 정적 동기화; 클라우드 레코드 동기화; 객체 및 액션 메시지; 및 클라우드 무결성 링크 유지;를 수행한다.
클라우드(418)의 예는 디바이스 상의 간단한 클라우드에 대한 레이아웃을 도시한다. OS 래퍼(420)는 메인 매니저 OS 래퍼(412)로부터 직접적으로 획득된다. 엔티티 네트워킹(422)은 414로부터 획득된다.
클라우드(424)는, 메인 매니저(410)에 의해 관리되는 클라우드의 또 다른 예이다. 그것은 클라우드와 동일한 소프트웨어를 함유한다.
클라우드(426)는, 실제 클라우드(424)인 클라우드(426)상의 엔티티인 클라우드(424)상에 형성된 클라우드이다. 클라우드(426)는 메인 매니저(410)의 뒤 보다는 클라우드(424)를 언급한다. OS 래퍼(428)는 클라우드(424)로부터의 OS 래퍼(430)로부터 획득된다. 클라우드(426)로부터의 임의의 저장 비사용자 데이터는 클라우드(424)를 가로질러 자동적으로 전파된다. 이것은 클라우드 상태를 포함하지만 객체 데이터 요청으로부터의 데이터는 포함하지 않는다. 클라우드(426)에 추가될 수 있는 가능 객체의 라이브러리는 클라우드(424)로부터의 것들이다. 엔티티 네트워킹(430)은 클라우드(424)로부터의 엔티티 네트워킹(432)로부터 획득된다.
추가로, 클라우드(434)는 클라우드(426)상에 형성되어 있는 클라우드이다. OS 래퍼(436)는 클라우드(426)으로부터의 OS 래퍼(440)으로부터 획득된다. 클라우드(434)로부터의 임의의 클라우드 상태 정보는 클라우드(426)을 가로질러 자동적으로 전파된다. 다시, 클라우드(434)에 추가될 수 있는 가능 객체의 라이브러리는 클라우드(426)으로부터의 것들이다. 엔티티 네트워킹(442)은 클라우드(426)로부터의 엔티티 네트워킹(444)로부터 획득된다.
도 18을 참조하여 두개의 상호연결 클라우드에 관련된 소프트웨어가 이제 기술될 것이다. 전체 5개의 디바이스와 2개의 클라우드가 있다. 클라우드 A는 디바이스들(450,452, 454)를 함유한다( 이 경우에 디바이스들은 또한 엔티티들이다). 클라우드 B는 디바이스들(454, 456, 458)을 함유한다. 링크(460)은 클라우드 A에 대한 무결성 링크를 포함한다. 링크(462)는 클라우드 B에 대한 무결성 링크를 포함한다.
디바이스(450)상에서의 사용자가 클라우드 B와 상호작용한다면, 데이터가 디바이스(456)상의 실제 객체에 송신될 필요가 있다. 엔티티 네트워킹 메시지는 디바이스(450)으로부터 디바이스(456)로 송신된다. 이 메시지는 클라우드 A에 대한 클라우드 B 컨택 포인트(디바이스(454))에 중계된다.
5개의 디바이스(470, 472, 474, 476, 478)에 퍼져 있는 세 개의 클라우드(A, B, C)상의 링크와 소프트웨어가 도 19의 개략적 도면을 참조하여 이제 기술될 것이다.
클라우드 A는 디바이스(470, 472, 474)상에 존재하는 엔티티들로 구성된다. 클라우드 B는 디바이스(470, 476, 478)상에 존재하는 엔티티들과 클라우드 A로 구성된다. 클라우드 C는 디바이스(472, 474) 상에 존재하는 엔티티들로 구성된다.
클라우드 A에 대한 무결성 링크는 디바이스(470)를 디바이스(474)에, 디바이스(470)를 디바이스(472)에, 마지막으로 디바이스(472)를 디바이스(474)에 연결하는 링크(480)로 이루어져 있다. 클라우드 B에 대한 무결성 링크는 클라우드 A 를 디바이스(478)에, 클라우드 A 를 디바이스(470)에, 디바이스(470)을 디바이스(476) 에, 디바이스(4)를 디바이스(478)로 연결하는 링크(486)로 이루어져 있다. 마지막으로, 클라우드 C 에 대한 무결성 링크는 디바이스(472)를 디바이스(474)로 링크하는 링크(490)이다.
추가의 실시예상의 소프트웨어와 링크가 도 20 을 참조하여 설명될 것이다. 이 예에서 클라우드 A, B, C, D의 4개가 있다.
클라우드 A 는 디바이스(500, 502, 504)를 포함한다. 클라우드 B 는 디바이스(500, 506, 508)를 포함한다. 클라우드 C 는 디바이스(502, 504)를 포함한다. 마지막으로 클라우드 D 는 클라우드 A, 클라우드 B, 클라우드 C 를 포함한다. 링크(510)는 클라우드 A 에 대한 무결성 링크를 포함한다. 링크(512)는 클라우드 B 에 대한 무결성 링크를 형성한다. 링크(514)는 클라우드 C 에 대한 무결성 링크를 형성한다. 마지막으로, 링크(516)는 클라우드 D 에 대한 무결성 링크를 형성한다.
도 20 에 제시한 클라우드의 응용은 아래와 같다: 클라우드 A=사장 작업 클라우드; 디바이스(500) = 사장 작업실 피시; 디바이스(502)=사장 휴대폰; 디바이스(504)=사장 노트북. 클라우드 B=사장 공유 클라우드; 클라우드 A=사장 작업 클라우드(이 클라우드로부터 공유 콘텐츠로 액세스를 허용); 디바이스(500)=사장 작업실 피시(클라우드 A의 일부로서 공유되지 않은 피시상의 콘텐츠로 액세스를 허용; 디바이스(506)=접수원 피시(사장의 스케줄 등에 액세스 허용); 디바이스(508)=비서 피시; 클라우드 C=사장의 휴대폰(502)와 노트북(504)간의 개인 클라우드; 클라우드 D=관리자 클라우드(회원드로부터 이 클라우드에 액세스 가능한 개인 데이터는 가지고 있지 않을 수 있다. 그리고 이것은 단지 디바이스 유지 관리 및 모니터링 객체 에 액세스 가능하도록 허용할 수 있다).
소프트웨어를 사용한 예가 도 21 내지 도 47 을 참조하여 설명될 것이다.
도 21 은 검색 포인트 GUI 에 대한 GUI를 도시하고 있는데, 애플리케이션 타이틀은 아직 변경하지 않았다. 예를 들어, 이것은 도 2 의 검색 포인트를 작동하는 서버의 사용자에게 표현되는 인터페이스일 수 있다. 이 GUI 에서, 클라우디 관리자에 등록된 디바이스는 시스템에 등록되어 있다.
도 22 는 동일한 GUI 를 도시하고 있지만, 이 예에서 관리자에 등록된 모든 사용자가 디스플레이된다. 여기서, "제이슨"이라는 하나의 등록된 사용자가 있는데 200 디바이스 중의 39개 디바이스와 400 클라우드 중의 14개 클라우드에 연관되어 있다. 이것은 사용자 "제이슨"은 200개의 다른 디바이스를 검색 포인트에 등록할 수 있고, 이들 디바이스를 이용하여 400개의 클라우드를 생성할 수 있다는 것을 의미한다. 현재, 39개의 디바이스가 14개의 클라우드와 함께 등록되어 있다.
사용자의 관점에서, 상술한 디바이스중의 어느 디바이스상에서 사용자에게 표현되는 인터페이스가 도 23 에 도시된다. 이 예에서, 디바이스는 개인 컴퓨터이고, "TELPAC_DEV"로 언급된다. 이것이 사용자에 대한 도입/환영 스크린이다.
사용자가 검색 포인터에 이미 등록되어 있다면, 사용자는 그들이 이미 존재하는 사용자임을 지시하기 위해 "올드(Old)"를 선택할 수 있다. 도 24 에 도시된 바와 같이, 사용자 이름과 암호를 입력하도록 프롬프트된다. 사용자가 "오케이"를 클릭하면, 이 정보는 도 12 를 참조하여 이미 설명한 바와 같이 검색 포인트로 전송된다. 디바이스는 그 후 검색 포인트로부터 이 디바이스상의 애플리케이션을 잠 금해제하는 키를 수신한다. 이제 디바이스상의 소프트웨어 애플리케이션의 완정한 기능들을 이용할 수 있다.
도 25 에 도시된 바와 같이, 애플리케이션이 구동되나 디바이스는 어떤 클라우드에 연결되어 있지 않다. 클라우드를 생성하기 위해, 사용자는 "새로운 클라우드 생성"을 선택하고, 도 26 에 도시한 바와 같이 대화박스가 나타난다. 사용자는 클라우드의 이름, 사용자의 이름, 암호를 입력한다. 이것은 검색 포인트에 새로운 클라우드 데모를 등록한다.
디스플레이는 검색 포인트와 동기화되어 클라우드 데모를 개요를 도 27 에 도시된 바와 같이 펼침가능한 트리로서 사용자에게 디스플레이되도록 해준다. 클라우든 3개의 객체: 파일, 메일, 디바이스로 이루어져 있다. 현재 공유된 콘텐츠는 없고 "TELPAC_DEV"는 클라우드 상의 유일한 디바이스이다.
사용자가 데모 클라우드상의 자신의 메일를 공유하고자 한다면 그들은 데모클라우드의 개요를 클릭함으로써 나타나는 "로컬 메일 공유" 팝업 박스를 선택한다. 이것은 도 28의 대화박스가 나타나게 하고, 사용자는 "공유 메일"을 체크박스를 선택한다. 이것은 디바이스 이름 "TELPAC_DEV"이 도 29 에 도시된 바와 같이 데모 클라우드의 개요내의 "메일" 헤딩아래 리스트되도록 한다. "메일" 헤딩 아래의 "TELPAC_DEV" 를 선택함으로써 "TELPAC_DEV"상의 이용가능한 메일의 개요가 인터페이스의 우측에 디스플레이된다. 이 개요를 이용하여 사용자는 "TELPAC_DEV" 상에 저장된 메일 폴더를 네비게이팅할 수 있다.
사용자는 파일을 공유할 수 있다. 도 30 에 도시된 바와 같이, 데모 클라우 드 개요를 클릭함으로써, 사용자는 "로컬 파일 공유"의 옵션을 선택할 수 있다. 이것은 도 31 의 대화박스가 디스플레이되게 한다. 사용자는 대화박스에서 "추가"를 선택하여 도 32 의 대화박스가 도시되도록 한다. 여기서 사용자는 개요에 리스트되어야 할 파일의 타이트를 입력하는데, 이 예에서 "Docs"가 선택되었다. 사용자는 또는 공유되어야 할 폴더를 선택하도록 브라우저할 수 있다. 이 예에서, 폴더는 경로 이름 'C:\Documents and Settings\Jason\My Documents" 에 의해 식별된다. 사용자는 "오케이"를 선택하여 도 31 의 대화박스로 돌아가도록 한다. 그러나, 도 33에 도시된 바와 같이, 선택된 폴더 및 공유 이름이 대화박스에 리스트되어 있다. 대화박스내의 "오케이"를 선택함으로써, 폴더는 이제 클라우드상에서 이용가능하다. 이것은 도 34 에 도시된 데모 클라우드의 갱신된 개요에 도시되고, "파일"이라는 헤딩 파일아래 "TELPAC_DEV"가 리스트되어 있다. "TELPAC_DEV"에 의해 공유되는 폴더의 개요는 인터페이스의 우측에 도시된다.
사용자는 다른 디바이스로부터 클라우디 애플리케이션을 사용할 수 있다. 이하의 실시예에서 사용자는 "WM_Jason" 이라는 피디에이(PDA)를 사용하고 있다. 피디에이상에서 사용자에게 보여지는 인터페이스가 기술된다.
도 35 에서 도시된 바와 같이, 환영 스크린이 사용자에게 보여진다. 도 24 와 유사하게 도 36 에 도시된 바와 같이 사용자는 애플리케이션을 잠금해제하기 위해서는 로그인을 해야 한다.
도 37 에 도시된 바와 같이, 일단 로그인하게 되면 아직 사용자가 클라우드에 등록을 하지 않았기 때문에 어떠한 콘텐츠도 보이질 않는다. 클라우드에 등록하 는 단계는 도 38, 39 및 40 에 도시된다. 도 14와 관련하여 상술한 바와 같이, 먼저 사용자가 "클라우드에 가입"을 선택하고 클라우드 이름(내부 가입으로부터 생성된 선택 리스트로부터 가능함), 클라우드상의 사용자 이름, 암호, 클라우드 ㅇ요구 번호를 기입한다. 이 예에서, 사용자는 "데모"로 불리는 클라우드에 가입하고자 한다.
사용자의 디바이스는 클라우드내의 하나 이상의 디바이스에 무결성 링크를 생성함으로써 자동적으로 클라우드에 가입하고, 클라우드의 상태는 이 링크를 통해 동기화된다. 이러한 동기화는 클라우드상에서 이미 이용가능한 데이타를 상기 디바이스가 접근할 수 있도록 해준다.
도 41 에 도시된 바와 같이 클라우드 데모는 이용가능한 콘테츠를 가지고 있다. 헤딩 데모를 클릭함으로써 콘테츠 트리 리스트가 도 42 에 도시된 바와 같이 펼쳐진다. 이것은 클라우드상에서 데모에 "TELPAC_DEV"와 "WM_Jason"의 두개의 디바이스가 연결되어 있다는 것을 보여준다. 클라우드에 연결된 디바이스 "TELPAC_DEV"로부터 메일, 콘택츠, 파일이 이용가능하다.
도 43 은 디바이스상의 인터페이스를 이용하여 어떻게 TELPAC_DEV상의 콘텐츠가 네비게이트될 수 있는 지를 보여준다. "파일" 헤딩아래 "TELPAC_DEV"가 "Docs" 이름 아래 공유된 폴더 및 그 아래에 리스트된 모든 하위폴더의 트리도를 디스플레이하도록 선택될 수 있다. 하위폴더 "Telpac"(미도시)가 선택되면 그 폴더에 포함된 문서의 리스트가 도 44 에 도시된 바와 같이 디스플레이된다. 이 문서들 중의 하나를 선택하는 것에 의해, TELPAC_DEV로부터 디바이스로 바람직하게는 두 디바이스간의 직접 데이터 링크를 사용하여 다운로드될 것이다.
예로서, 사용자는 도 45 에 도시된 바와 같이 디바이스상에서 보여질 수 있는 그래픽 파일을 포함하고 있는 "백업" 폴더를 선택할 수 있다.
도 42 를 다시 참조하여 보면, 메일 헤딩 아래의 TELPAC_DEV이 선택될 수 있고, 이 경우 도 46 에 도시된 바와 같이 TELPAC_DEV 상에서 공유된 메일 폴더의 개요를 보여줄 것이다. 개요 트리를 이용하여 폴더가 선택되면 도 47 에 도시된 바와 같이 클라우드를 이용하여 액세스될 수 있는 이메일의 개요 상세를 보여줄 것이다.
본 분야의 당업자라면 포괄적으로 기재된 본 발명의 기술적 개념을 벗어남이 없이 상기 구체적인 실시예에서 도시된 발명의 다양한 변형이나 수정이 가능함을 이해할 것이다.
예를 들어, 클라우드상의 엔터티에 의해 보여질 수 있는 공유 인터페이스는 미적으로 표현될 수 있다. 즉, 집내의 공유된 콘텐츠에 액세스하기 위해 책장이나 티브이와 같은 디바이스를 선택할 수 있도록 집을 네비게이팅할수 있다는 것이다.
실시예
몇몇 추가적인 실시예가 제공된다.
도 48 에서, "Razberry"로 불리는 애플리케이션의 시동 절차를 개략적으로 보여주는 흐름도(600)가 도시된다. 시동은 이 실시예에서 자동화되어 있다. 애플리케이션이 디바이스에서 개시되면, 스플래시 스크린(601-"A")이 디스플레이되고, 사용자가 사용자 이름 및 암호를 순서대로 기입해야 하는 등록 스크린(602-"B")가 뒤따른다. 사용자 이름 및 암호는 저장된 정보의 검색 프로그램으로써 확인된다. 도 49 에 로그인 스크린의 예가 도시된다. 로그인 스크린은 도 49 에 도시된 바와 같이, 그들 사용자 상세사항을 잃어버렸을 때 사용자를 도와주는 기능을 가질 수 있다.
성공적인 등록에 이어 검색으로부터 복귀된 정보를 이용하여(상세 사항은 도 50 참조), 사용자가 애플리케이션을 잠금해제하면(603-"C"), 애플리케이션은 원시 "Razberry" 클라우드가 디바이스상에서 이용가능한지를 체크한다(604-"D"). 그렇지 않다면(605), 사용자는 이 클라우드를 생성하도록 안내된다. 원시 클라우드가 이미 디바이스상에서 이용가능하면, 이것은 시작한다(606). 시작되면 GUI가 디스플레이되고(607), 사용자가 "Razberry" 애플리케이션을 이용하도록 허락한다.
"Razberry" 클라우드가 이 디바이스상에서 이미 설정되었는지를 알아보기 위해 잠금해제된 데이타가 체크된다("D"). 이 디바이스가 "Razberry" 클라우드에 가입되어 있지 않다면("E"), 검색으로부터의 요청이 현재 등록된 사용자가 어떤 클라우드를 가지는 것을 발견하기 위해 수행된다(상세 사항은 도 51 참조). 결과가 체크되어("F"), "Razberry" 클라우드가 이전에 생성되었는지를 알아본다. 이미 가지고 있다면("G"), 관리자 암호가 입력되거나 고정된 암호가 애플리케이션에 의해 사용될 수 있다. 이 암호는 클라우드에 새로운 디바이스를 추가하는 데 필요하다. 유일한 클라우드 아이디가 검색에 의해 체크된다("H"). 클라우드 아이디 체크가 실패할 때마다("I"), 로컬 Razberry 클라우드 데이타가 제거된다. Razberry 클라우드에 가입하기 위해 가입이 애플리케이션에 의해 수행된다("J"). 가입이 실패하면("K"), 사용자에게 새로운 클라우드를 시작하라고 프롬프트된다. 사용자가 새로운 클라우 드를 시작하려고 선택하면("L") 검색은 현재의 클라우드를 삭제한다. 새로운 관리자 암호가 사용자 또는 애플리케이션에 의해 설정된다("M"). Razberry 클라우드는 새로운 관리자 암호를 이용하여 생성된다("N"). 현존하는 클라우드는 로컬로 저장된 데이타를 이용하여 시동된다.
상술한 바와 같이, 클라우드는 복수의 디바이스, 각 디바이스의 등록의 상세를 포함하고 있음이 도 50 에 도시된 바와 같이, 흐름도내에 도시되어 있다.
디바이스는 그 디바이스에 대한 유일한 랜덤 발생 아이디와 등록 사용자 이름과 암호를 전달함으로써 검색에 등록한다("A"). 검색은 이 디바이스가 이 사용자로 등록되었는지를 확인하기 위해 사용자 등록을 체크한다("B"). 현재 사용자에 대해 알려지지 않은 디바이스인 경우("C"), 검색은 새로운 디바이스를 추가할 수 있는 지를 알아보기 위해 이 사용자에 대한 등록 상세를 체크한다. 새로운 디바이스가 추가될 수 있다면("D"), 검색에 이 디바이스에 대해 새로운 등록 기록이 생성된다. 새로운 등록 기록은 랜덤하게 생성된 보안 키를 포함한다. 랜덤하게 생성된 보안 키는 디바이스로 다시 전달된다("E"). 디바이스는 이 랜덤하게 생성된 보안 키를 이용하여 로컬 클라우드 애플리케이션 데이타를 잠금해제한다("F").
또한, 사용자는 다수의 클라우드에 대한 액세스를 가질 수 있고, 그들 리스트를 획득하기 위한 단계가 도 51 에 도시되어 있다. 디바이스는 사용자의 등록에 묶여져 있는 이용 가능한 클라우드의 리스트를 요청한다("A"). 검색은 상기 요청을 수신하고("B"), 요청 디바이스 등록에 대한 등록된 클라우드의 리스트를 조회한다. 이 리스트는 요청 디바이스로 다시 전달된다("C"). 이용가능한 클라우드의 리스트 는 상기 디바이스에 의해 수신된다("D").
사용자가 액세스를 할 권한을 가지는 클라우드에 사용자가 가입하도록 허용하는 프로세스가 도 52 에 도시된다. 클라우드 이름과 요구가 검색에 전달되어 검색 가입을 수행한다("A"). 검색은 현재 등록에 대한 클라우드 이름과 요구에 대한 매치를 위해 등록된 클라우드를 검색한다("B"). 매칭된 클라우드에 대한 유일한 클라우드 식별자는 디바이스로 복귀된다("C"). 디바이스는 클라우드 아이디를 수신하고 상기 아이디를 이용하여 검색을 수행한다("D"). 상기 검색을 통해 클라우드로 직접 연결이 확립된다("E")(도 59 참조).
가입 요청이 클라우드에 대한 접촉 디바이스로 전달된다("F"). 접촉 디바이스는 클라우드와 접촉하는 선호 최초 포인트에 등록되어 있는 현재의 디바이스이다. 이 요청은 상기 클라우드로의 요구에 대한 클라우드 이름, 요구 이름, 사용자이름/암호를 포함한다. 수신된 클라우드 가입 자격 증명은 클라우드에 대한 다른 유효 요구에 대하여 체크된다("G"). 요구는 클라우드 이름, 요구 및 사용자 이름/암호를 매칭함으로써 검증된다("H"). 가입이 받아들여졌다는 응답이 가입자에게 보내진다("I"). 가입자에게 그 디바이스 정보에 대한 요청이 보내진다("J"). 디바이스 정보는 클라우드 접촉 디바이스에 다시 보내진다("K"). 이정보는 가입 디바이스에 대한 식별자 및 가입 디바이스에 대한 공개키를 포함한다. 수신된 디바이스 정보는 메모리에 저장된다("L"). 클라우드 식별자, 클라우드 보안키, 클라우드상의 디바이스에 대한 현재 디바이스 아이디의 리스트 및 이 디바이스의 공개키를 포함하는 요구가 가입자에게 다시 보내진다("M"). 가입자는 클라우드를 애플리케이션 데이터에 추가하고, 클라우드를 시동 및 초기화한다("N"). 가입자는 클라우드 접촉 디바이스에 오케이라고 응답한다("O").
클라우드 접촉 디바이스는 오케이를 수신하고 메모리에 저장된 가입자의 정보를 애플리케이션 데이타로 로드한다("P"). 가입 디바이스는 이 클라우드에 대한 디바이스 리스트에 추가된다("Q"). 검증 프로세스가 가입자와 클라우드 접촉 디바이스 사이에서 수행된다("R"). 피어간의 표준 동기화 프로세스가 클라우드에 대한 디바이스 및 객체 기록과 함께 클라우드상의 다른 디바이스의 보안키로 가입자를 갱신한다("S").
사용자가 클라우드를 생성하기 위한 프로세스가 도 53 에 도시된다. 디바이스에 의해 클라우드에 대한 유일 식별자, 클라우드 이름 및 클라우드에 가입하는데 사용되는 요구를 포함하고 있는 생성 메지지가 검색으로 전달된다("A"). 검색은 클라우드 이름이 이 디바이스의 등록을 위해 사용되었는지를 체크한다("B"). 동일한 이름은 각 등록에 대해 단지 사용될 수 있다. 검색은 현재 등록이 새로운 클라우드의 생성을 허용하는지를 체크한다("C"). 클라우드의 기록이 등록 데이터베이스에 추가된다("D"). 검색은 디바이스가 클라우드를 생성하도록 허용되어 있음을 통지한다("E"). 디바이스는 클라우드의 시동 및 초기화를 진행한다("F"). 각 디바이스는 속해있는 클라우드에 대한 유일한 식별자의 리스트를 포함한다("G"). 이 리스트는 새로운 클라우드 식별자로 갱신된다. 사용자가 클라우드에 추가된다("H"). 다른 디바이스가 이 클라우드에 가입할 수 있도록 해주는 요구가 클라우드에 추가된다("I"). 새로운 클라우드의 생성이 사용자에게 표현되기 위해 GUI에 통지된 다("J").
사용자가 액세스할 수 있는 클라우드가 결정되면, 각 클라우드의 콘텐츠가 사용자에게 활용가능하다. 디바이스에 등록된 각각의 클라우드에 대한 시동 프로세스를 위한 흐름도가 도 54 에 도시된다. 디바이스는 검색으로 특정 클라우드 유일 식별자가 상기 검색에 등록되어 있는 지를 확인하기 위해 질문 메시지를 전송한다("A"). 유일 클라우드 식별자의 리스트가 각각의 디바이스상의 애플리케이션에 의해 상기 디바이스가 속해 있는 클라우드에 대해 저장된다. 검색은 그 데이터베이스에서 클라우드 식별자를 검색한다("B"). 검색의 결과가 디바이스로 전달된다("C"). 유일 클라우드 식별자가 검색에서 발견되면("D") 디바이스는 클라우드를 초기화하도록 진행한다. GUI 가 사용자에게로의 표현을 위해 이용가능한 클라우드에 대해 통지된다("E"). 클라우드 유일 식별자가 검색에서 발견되지 않으면 클라우드는 이 디바이스로부터 삭제된다("F").
초기화 절차 플로우차트가 도 55에 도시되어 있다. 각각의 클라우드는 이미디바이스에 등록되어 있어서, 이러한 결과에 대한 메시지는 검색에 보내진다("A"). 클라우드 아이디는 검색 데이터베이스에서 볼 수 있다("B"). 클라우드를 발견하면("C"), 클라우드는 초기화된다("D"). 각각의 클라우드("D")는 클라우드 특정 통신을 위해 사용되는 고유 대칭 암호화 키를 가지고 있다. 각각의 클라우드("E")는 클라우드의 무결성을 유지하기 위해 사용되는 무결성 쓰레드를 가지고 있는데, 이것은: 클라우드 데이터의 동기화; 클라우드 상태 데이터의 유지; 클라우드 무결성 서클의 유지; 그리고 클라우드 보안의 유지를 포함한다. 각각의 클라우드("F")는 이러한 디바이스에서 객체에 액션 요청을 처리하는데 사용되는 객체 액션 워커 쓰스레드를 포함하고 있다. 새로운 클라우드("G")에 대해서, 클라우드 레코드는 클라우드, 유저, 요구(invites) 그리고 맴버를 위해 추가된다. 이러한 디바이스 레코드를 위해 기록이 추가된다("H"). 클라우드 레코드는 동기화를 위해 등록된다("I"). 모든 액티브 클라우드 요구는 요구자 모듈로 등록되어("J") 다른 디바이스가 이러한 클라우드에 합류하게 한다.
도 56은 클라우드 객체에서 모든 디바이스를 통해 싱글 뷰를 채우기 위한 프로세스 단계를 표시하는 프로우차트가 되어 있는데, 이것은 이들 객체와 상호작용을 위해 클라우드 내의 모든 객체가 유저에게 나타나게 한다. 도 56A에 도시된 바와 같이, 시스템은 3개의 메인 층을 가지고 있는데, GUI, 통신 코어 그리고 객체로서, 디바이스에서 데이터와 기능성을 나타낸다. 도 56A의 다이어그램은 3개의 디바이스를 위한 배열을 도시하고 있다. 좌측의 제 1 디바이스는 그 코어가 모두 3개의 디바이스를 통해 뻗어있는 것으로서 작동된다. 이것은 제 1 디바이스상에서 GUI가 모두 3개의 디바이스에 의해 이네이블된 기능과 데이터 모두에 엑세스할 수 있게 한다. 이러한 상황은 3개 디바이스 모두에서 반복된다.
도 56B에 도시된 바와 같이, 코어 사이의 링크는 인터넷 또는 디바이스를 연결하는 다른 네트워크을 통해 유지된다.
도 56C에 도시된 바와 같이, 디바이스의 특정 그루핑(즉, 클라우드)을 위해서, 상기 데이터 레코드는 각각의 디바이스에서 유지된다. 이들 레코드는 클라우드에서 레코드 매니저에 의해 동기화가 유지된다. 각각의 기록은 각각의 클라우드 에 대하여 다른 고유 확인자에 의해 확인된다.
"클라우드 레코드"는 클라우드를 위한 마스터 레코드인데, 이것은 디바이스 레코드, 사용자 레코드, 및 요구 레코드에 대한 레퍼런스를 담고 있다. 이러한 레코드는 클라우드 전체를 통해 동기화를 유지하고 그리고 클라우드의 초기 생성후 변하지않는다. "디바이스 레코드"는 클라우드에서 각각의 디바이스를 위한 "디바이스 레코드"에 대한 레퍼런스 리스트를 담고 있다. 디바이스 레코드는 새로운 디바이스가 클라우드에 합류될 때 업데이트된다. "디바이스(A) 레코드"는 디바이스(A)를 위해 유지된 레코드다. 디바이스(A)는 이러한 레코드를 만들고 그리고 이러한 레코드를 업데이트할 수 있는 유일한 디바이스이다. 레코드는 A에서 각각의 객체를 위해 유지되는 객체 레코드에 대한 레퍼런스의 리스트를 담고 있다. "객체(A1) 레코드"는 객체(A1)에서 실행가능한 가능한 액션의 리스트를 포함하고 있다. 액션은 폴더 리스트의 획득, 파일 리스트의 획득, 이메일 송신, 컨텍트의 추가 등을 할 수 있다. 레코드는 또한 객체에 포함된 클래스를 리스트할 수 있다. 클래스는 필요한 액션의 예정된 세트이다. 클래스의 예는 파일 브라우저, 이메일 브라우저, 컨텍트, 캘린더 등이다. 객체가 특정의 클래스를 가지면, 액션의 특정 서브세트를 담고있다고 할 수 있다. 이것은 객체의 표준화를 허용한다.
도 57은 객체를 공유하는 단계를 세팅하는 플로우차트이다. 플로우차트에서 "A" 내지 "H"로 언급되는 단계는 객체 공유를 수행하는 것이다.
도 58은 가능한 객체 통신의 플로우차트이다. 이것은 XML을 통해서 발생하는 상호작용의 예를 제공하고 있다. 다양한 포맷에서의 데이터는 본 실시예에서 도시된 바와 같이, XML이 될 수 있는 공통 표준, 또는 다른 표준에 의해 운영된다. 하지만, XML이 장황하고 그리고 중복적인 경향이 있으므로, 특정적이고 더 함축적인 표준이 "Razberry" 어플리케이션과 함께 사용하기 위해 개발될 수 있는데, 이것은 단지 운영에 필요한 정보만을 포함하고 있다. 도 58의 실시예에서, 메시지는 XML을 사용하여 전후진할 수 있어서, 활동을 발생시킨다. 단계("A")는 플로우차트에 도시된 바와 같이 실행된다.
도 59는 디바이스 연결 및 검색 방법을 세팅하는 플로우차트이다. 이것은 연결 매트릭스를 이용하고 있다.
도 59에서, 디바이스(R)는 디바이스(L)에 연결되기를 원하고 그리고 디바이스 연결/검색 요청을 검색으로 보낸다("a"). 검색은 그 디바이스 등록 데이터베이스를 찾아서("b"), 디바이스(L)에 관한 네트워크 어드레스 정보를 회수한다. 이러한 정보는 디바이스(L)를 위한 검색에 의해 보여지는 IP 어드레스와 마찬가지로 디바이스(L)에서 IP 어드레스이다. 검색은 새로운 연결 링크를 위한 연결 매트릭스에 요청을 보낸다. 연결 매트릭스는 2개의 새로운 네트워크 포트를 할당하는데("c") 이것은 이들 2개 사이에서 데이터를 명확하게 전달하기 위해서 링크된다. 이들 2개의 링크된 어드레스(M1,M2)는 검색에 복귀한다.
검색은 연결 매트릭스를 수신한다("d"). 연결 요청은 디바이스(L)에 보내진다("e"). 이러한 연결은 디바이스(R,M2)를 위한 네트워크 어드레스 정보를 요청한다(연결 링크의 절반). 디바이스(L)는 요청을 수신하고("f") 그리고 연결을 허용할지를 결정한다. 이러한 결정은 허용된 또는 금지된 IP 어드레스 리스트를 근거 로 할 수 있다. 디바이스(L)는 연결이 허용되었다고 응답한다("g"). 이것은 연결 매트릭스에서 M2에 연결된다("h"). 디바이스(L)는 디바이스(R)와 직접 연결을 시도한다("i"). 이러한 직접 연결 시도는 검색에서 볼 수 있는 어드레스와 디바이스(R)의 실제 어드레스 양자를 사용한다. 검색은 연결을 위해 디바이스(L)로부터 오케이를 수신하고 그리고 디바이스(L)의 로케이션을 연결 매트릭스(M1)와 함께 디바이스(R)로 보낸다("j"). 디바이스(R)는 디바이스(L)를 위한 연결 정보를 수신한다("k"). 디바이스(R)는 M1을 사용하여 연결 매트릭스에서 M1에 연결된다("l"). 연결 매트릭스에서, M1 및 M2 양자로의 연결의 존재는 연결 링크를 오픈한다("m"). 이것이 오픈될 때 디바이스(R)와 디바이스(L)는 응답확인방식의 메시지를 수신하는데 이들은 직접 통신을 시작하는데 사용될 수 있다. 디바이스(R)는 디바이스(L)와 직접 연결을 만든다("n"). 이러한 연결이 설정되면, 연결 매트릭스 링크는 해제되고 그리고 모든 디바이스 통신은 직접 링크에 한결같이 스위칭된다.
도 60에서, "Razberry" 애플리케이션의 메시지 스위칭을 위한 프로세스를 예시하는 플로우차트가 도시되어 있다. 이것은 클라우드에서 여러가지 서브시스템이 어드레스되는 방식이다. 스위칭 통신 박스에 의해 수신된 네트워크 데이터는 데이터의 수신자를 식별하는 헤더 정보를 포함하고 있다(("a")참조).
수신자는 (ⅰ)이러한 디바이스에서 클라우드를 위한 합류 요청을 관리하고 처리하며 그리고 그 요청을 수용 또는 거절하는 요구자, (ⅱ)클라우드 컨텍트 디바이스를 통해서 클라우드에 클라우드 합류 요청을 관리하는 합류자, (ⅲ)합류자와 요구자 사이의 중계 포인트인 메디에이터, (ⅳ)디바이스 질문 메시지(H)와 디바이 스/클라우드 메시지(I)를 운영하는 피어 통신, (ⅴ)모든 클라우드를 위한 검색으로 통신을 운영하고 그리고 검색으로부터으 연결 요청을 또한 운영하는 검색 통신이 될 수 있다.
디바이스 클라우드 통신은 메시지가 수신되는 이러한 디바이스에서 클라우드 디바이스 쌍을 확인하는 제 2 헤더를 포함하고 있다("b"). 이러한 메시지는 올바른 클라우드로 스위칭된다.
클라우드 메시지는 그 타입과 클라우드 메시지의 수신자를 식별하는 제 3 헤더를 포함하고 있다(("(c)"참조). 수신자는: (ⅰ)이들 메시지가 클라우드 상태의 변경 그리고 클라우드 보안 키의 동기화를 수행하는 무결성 매니저, (ⅱ)이들 메시지가 단일 뷰를 형성하는데 사용되는 클라우드 특정 기록을 동기화하는 기록 동기화 매니저, (ⅲ)이러한 디바이스 상에서 객체에 액션을 수행하기 위한 요청이 수신되는 액션 요청을 위한 큐 중에 하나이다.
더욱이, 메시지의 스위칭은 파일 객체, 메일 객체, 차트 객체 등과 같은 특정 객체에 메시지를 타겟하기 위해 실행된다("(d)"). 이것이 원격 객체라면, 메시지는 원격 메시지로부터 요청된 특정 액션으로 스위칭된다("(e)").
클라우드 무결성의 유지를 위한 단계들의 예를 도시하는 플로우차트가 도 61에 구비되어 있다. 클라우드는 어플리케이션의 메모리 풋프린트를 감소시키기 위해서 더이상 엑세스되지 않는 클라우드 레코드가 메모리로부터 제거된다("(a)"). 디바이스가 클라우드를 위한 어떤 다른 디바이스를 인식하지 못할 때("(b)"), 클라우드를 참조한다. 클라우드가 발견되지않으면 디바이스는 클라우드 콘택 포인트에 서 검색으로 등록된다. 이것이 도 63에 더 설명되어 있다. 디바이스가 온-라인 및 오프-라인으로 올 때마다, 이들이 새로운 클라우드 콘택 포인트가 되는지 결정하기 위해서 결정이 클라우드에서 각각의 온라인 디바이스에 의해 이루어진다("(d)"). 좌측 무결성 링크는 일정한 간격으로 체크되고("(e)") 그리고 한 세트의 시간 기간후에 링크가 질문이 이루어지지 않으면, 새로운 질문이 실행된다. 다른 세트의 시간 기간 후에 질문에 응답하지않으면, 피어가 오프라인으로 마크되고 더 이상 유효하지 않게 된다. 클라우드에서 모든 다른 디바이스는 이러한 디바이스의 오프라인 상태로 즉시 업데이트된다. 우측 무결성 링크("(f)")는 ("e")와 동일한 기능을 한다.
피어 정보의 동기화를 예시하는 플로우차트가 도 62에 구비되어 있다. 유사하게, 클라우드 정보의 동기화를 예시하는 플로우차트가 도 63에 구비되어 있다.
도 64에서, 검색 포인트의 메시지 핸들링 기능이 예시되어 있고, 여기에 포함되는 메시지 그리고 메시지 헤더의 가능한 구조를 도시하고 있다.
도 65에서, 합류 쿼리의 메시지 핸들링 기능이 예시되어 있고, 여기에 포함되는 메시지의 가능한 구조를 도시하고 있다.
도 66 내지 도 70에서, "Razberry" 어플리케이션의 여러가지 스크린 샷이 구비되어 있다. 도 66은 이메일 서브-시스템을 도시하고 있는데, 이것은 탑에서 툴바의 버튼 리스트로부터 선택되고, 그리고 클라우드에 함께 모여있는 마이크로소프트 "아웃룩" 이메일 폴더를 담고 있는 다수의 디바이스를 도시하고 있다. 하나의 선택된 디바이스를 위한 이메일이 도 67에 도시되어 있다. 도 68은 디바이스를 위 해 선택된 파일 운영 서브-시스템으로 선택되는 하나의 디바이스를 도시하고 있다. 도 69에서, 캘린더 기능이 탑 툴바로부터 선택되어 있는데, 이것은 "Razberry" 어플리케이션을 통해서 마이크로소프트 "아웃룩" 캘린더 데이터를 디스플레이하고 있다. 도 770은 "Razberry" 어플리케이션을 통해서 열리는 하나의 이메일을 도시하고 있다.
작동 실시예
"Razberry" 어플리케이션의 작동을 도시하는 실시예로서, 존이 파일을 찾고 있다고 가정하자.
그는 자신의 PDA에서 Razberry를 시작하고 그리고 사용자 이름과 암호를 검색에 등록시키기 위해서 입력했다. PDA는 검색으로부터 존의 Razberry의 로케이션을 요청하고 그리고 그의 홈 PC에 식별자를 받아들인다.
PDA는 홈 PC에 직접 연결되고, 그리고 보안 인증 그리고 상태 그리고 헤더 레코드 동기화가 PDA와 홈 PC 사이에서 발생한다. PDA는 워크 PC가 온라인에 있는 것을 알고 그리고 워크 PC의 로케이션을 위해 검색을 요청한다. PDA와 워크 PC는 함께 연결되고 그리고 무결성 링크가 3개의 디바이스 사이에서 설정된다.
존은 워크 PC에서 파일을 보고 싶고, 그리고 Razberry 어플리케이션 GUI에서 이러한 기능을 선택했다. PDA는 워크 PC에 디바이스 레코드를 탐색하고 그리고 이것을 사용하여 워크 PC 상에서 객체를 얻었다. PDA는 객체를 통해 조사하여 객체 클라스"파일"로 객체를 찾는다. PDA는 워크 PC 상에서 파일 객체에 어드레스된 새로운 객체/액션을 만들고 그리고 이러한 액션 요청을 처리하고 송신자에게 응답 메 시지를 보낸다. PDA는 액션 요청 메시지에 대한 응답을 수신하고 그리고 PDA GUI를 사용하여 워크 PC 상에서 폴더의 리스트를 디스플레이할 수 있다.
Razberry 기능의 실시예:
·파일 브라우저-파일 및 폴더에 엑세스 허용(도 67 참조)
·메일 브라우저-이메일 컨텐츠와 기능에 엑세스 허용(도 66 및 도 68 참조)
·캘린더 브라우저-캘린더에 엑세스 허용(도 69 참조)
·뮤직 스트림머-뮤직 컨텐츠에 엑세스 허용
·보이스 모듈-VOIP를 위해 디바이스 마이크로폰 및 스피커에 엑세스 허용
·비디오 스트리머-비디오 컨텐츠에 엑세스 허용
·채트 모듈-텍스트 메시징을 허용
·미디어플레이어 원격-디바이스 미디어 플레이어의 원격 제어 허용
·원격 어플리케이션 모듈-원격 어플리케이션 뷰잉 및 인터액션
·광고 모듈-클라우드 유저 특정 정보를 가지고 있고 그리고 웹과 풀 인 광고에 도달
·뱅킹 모듈- 은행 인증서를 안전한 디바이스에 저장하고 그리고 원격에서 트랜잭션을 실행
·프린터 모듈-클라우드로부터 프린터로 엑세스 허용
·패닉 모듈-다른 디바이스로부터 패닉 경보를 디스플레이
·웹 RSS 피드 모듈
·FTP 서버 모듈-클라우드로부터 기존 FTP 서버로의 엑세스 허용
·BLOG 업데이트 모듈-클라우드로부터 BLOG의 업데이트를 허용
·레거시 모듈-클라우드에서 레거시 어플리케이션에 엑세스 허용
·데이터베이스 모듈-클라우드에서 데이터베이스 엑세스 허용
·웹 카메라 모듈-클라우드에서 프트리밍 비디오 엑세스
본 발명의 당업자라면, 첨부된 청구범위의 영역을 벗어나지 않고 본 발명의 상기 실시예들과 다른 여러가지 개량과 변경을 가할 수 있다. 여기에 개시되고 설명된 것은 순전히 예시적인 것이고 본 발명의 범위를 제한하려는 것은 아니다.
본 발명의 예는 아래의 첨부된 도면을 참조하여 설명된 것이다.
도 1은 단일 클라우드 아키텍처의 개략적인 도면을 도시한다.
도 2는 복수의 클라우드 아키텍처의 개략적인 도면을 도시한다.
도 3은 중앙적으로 관리되는 복수의 엔티티의 개략적인 도면을 도시한다.
도 4는 개별적으로 관리되는 복수의 엔티티의 개략적인 도면을 도시한다.
도 5는 디바이스와 엔티티 사이의 관계를 개략적으로 도시한다.
도 6은 복수의 디바이스에 걸쳐 생성될 수 있는 데이터 및 기능의 단일 도면을 생성하기 위해 객체가 어떻게 동작하는지를 도시한다.
도 7은 실제, 가상, 원격, 메타 객체 사이의 관계를 개략적으로 도시한다.
도 8은 액션 및 객체 사이의 관계를 개략적으로 도시한다.
도 9는 인스턴스 액션이 객체에서 어떻게 생성되는지 개략적으로 도시한다.
도 10은 일 엔티티가 손실된 후, 클라우드 내의 무결성 링크를 개략적으로 도시한다.
도 11은 일 엔티티가 합류한 후, 클라우드 내의 무결성 링크를 개략적으로 도시한다.
도 12는 디바이스 등록 동안 검색 포인트 및 디바이스 상의 키의 배열을 도시한다.
도 13, 14, 및 15a는 디바이스가 클라우드에 합류할 때 키의 배열을 도시한다.
도 15b는 두 엔티티 사이의 무결성 링크의 성립을 개략적으로 도시한다.
도 15c는 클라우드 내의 두 엔티티 사이에 데이터 트래픽을 전송하는 프로세스를 개략적으로 도시한다.
도 15d는 엔티티가 클라우드에 합류하는 프로세스를 개략적으로 도시한다.
도 16은 본 발명의 소프트웨어에 대한 모듈의 배열을 개략적으로 도시한다.
도 17은 복수의 클라우드 내의 소프트웨어 모듈 사이의 관계를 도시한다.
도 18, 19, 및 20은 복수의 클라우드를 공유하는 디바이스 사이의 관계의 예를 도시한다.
도 21 내지 47은 본 발명의 사용자에게 나타날 수 있는 그래픽 사용자 인터페이스(GUIs)의 샘플을 도시한다.
도 48은 개시 프로시저의 플로우 차트를 도시한다.
도 49는 로그온 스크린의 일 예를 제공한다.
도 50은 디바이스 개시 프로시저의 플로우 차트를 도시한다.
도 51은 합류 검색 요청에 대한 프로시저의 플로우 차트를 도시한다.
도 52는 플로우 차트를 사용하는 클라우드 합류 프로세스를 도시한다.
도 53은 클라우드 합류 프로시저의 플로우 차트를 도시한다.
도 54는 클라우드 개시 프로시저의 플로우 차트를 도시한다.
도 55는 클라우드 초기화 프로시저의 플로우 차트를 도시한다.
도 56은 클라우드 내의 모든 디바이스에 걸쳐 단일 뷰를 생성하는 플로우 차트를 도시한다.
도 56A, 56B, 및 56C는 단일 뷰에 걸친, 디바이스 사이의 개략적인 관계를 도시한다.
도 57은 클라우드 개시 프로시저의 플로우 차트를 도시한다.
도 58은 객체 통신의 플로우 차트를 도시한다.
도 59는 디바이스 검색 및 연결 프로시저에 대한 플로우 차트를 도시한다.
도 60은 메시지 스위칭 프로시저의 플로우 차트를 도시한다.
도 61은 클라우드 무결성 유지 프로시저의 플로우 차트를 도시한다.
도 62는 피어 정보 동기화 프로시저의 플로우 차트를 도시한다.
도 63은 클라우드 정보 동기화 프로시저의 플로우 차트를 도시한다.
도 64는 검색 포인트 메시지 핸들링 프로시저에 대한 몇몇 세부사항을 도시한다.
도 65는 합류 문의 메시징 프로시저에 대한 몇몇 세부사항을 도시한다.
도 66 내지 70은 사용자가 본 발명을 내장한 소프트웨어 어플리케이션을 동작하게 하는 스크린의 몇몇 추가 예를 제공한다.

Claims (12)

  1. 각 엔티티가 VPN 상의 적어도 하나의 다른 디바이스와의 링크를 가지는 인터넷 연결기능을 가지는 2 개 이상의 링크된 엔티티로 구성되는 보안 가상 사설망(VPN(100))을 형성하는 방법에 있어서,
    (a) 공지된 어드레스를 가지는 검색 디바이스(104, 246)로서, VPN에 링크되기를 원하는 공지된 엔티티("합류 엔티티")로부터의 요청을 수락하는 검색 디바이스에 VPN에 연결가능한 것으로 알려진 엔티티의 업데이트 가능한 인덱스를 제공하는 단계,
    (b) VPN 상의 적어도 하나의 미리지정된 접촉 엔티티(238)가 수신된 합류 요청에 대해 검색 디바이스(104)로 주기적으로 폴링하도록 하는 단계,
    (c) 상기 검색 디바이스(104)가 상기 VPN(100)으로 접속하기 위한 합류 엔티티로부터의 요청을 수신하는 단계,
    (d) 합류 요청에 대한 폴링에 응답하여 상기 검색 디바이스(104)가 상기 폴링 접촉 엔티티(238)에게 적어도 각 합류 엔티티(236)의 어드레스를 통지하는 단계,
    (e) 접촉 엔티티(238)가 VPN으로의 접속을 허용한다면, 상기 접촉 엔티티가, 자신의 어드레스를 상기 합류 엔티티로 전달하도록, 적어도 상기 자신의 어드레스를 검색 디바이스에 제공하는 단계,
    (f) 합류 엔티티(236)와 접촉 엔티티(238)가 그들 사이의 제 1 링크(254)를 구축하는 단계,
    (g) 상기 합류 엔티티와 접촉 엔티티가 상기 제1 링크에 대한 인증 프로세스를 수행하는 단계,
    (h) 상기 인증 프로세스가 성공적이라면, 상기 접촉 엔티티는 상기 합류 엔티티에게 적어도 VPN에 속하는 다른 엔티티들의 상태를 통지하고, 합류 디바이스가 VPN에 합류한다는 것을 VPN 상의 모든 엔티티들에게 통지하는 단계,
    (i) 합류 엔티티가 접속할 하나 또는 2 개의 이웃하는 엔티티를 포함하는 VPN에서의 자신의 노드 위치를 연산하기 위해 상기 VPN에 속하는 다른 엔티티의 상태를 상기 합류 디바이스가 이용하는 단계,
    (j) 상기 하나 또는 2 개의 이웃하는 엔티티들이 상기 합류 엔티티와 하나 이상의 제 2 링크를 구축하기 위해 상기 검색 엔티티로 상기 단계 (c) 내지 (f)에서 지정된 유형의 프로세스를 초기화하고 상기 제 1 링크를 종료하는 단계,
    (k) 상기 합류 엔티티와 적어도 하나의 이웃하는 엔티티가, 성공적인 경우 상기 하나 이상의 제 2 링크를 지원하는 상호간의 인증 프로세스를 수행하는 단계,를 포함하는 것을 특징으로 하는 보안 가상 사설망을 형성하는 방법.
  2. 제 1 항에 있어서,
    초기 등록 단계를 포함하고, 그에 의해 엔티티(270)가 하나 이상의 원하는 VPN으로의 액세스에 대해 검색 디바이스(104, 274)로 등록하고, 그렇게 등록된 엔티티만 검색 디바이스에 실질적으로 등록되거나 공지되는 등록 단계로서, 상기 등 록 단계는:
    엔티티(270)가 적어도 사용자명, 암호를 포함하는 등록 정보를 검색 디바이스로 전송하고, 상기 검색 디바이스(104, 274)는 등록된 엔티티가 검색 디바이스로 VPN 합류 요청을 전송할 때 식별 목적으로 상기 등록 정보를 저장하는 것을 포함하는 것을 특징으로 하는 보안 가상 사설망을 형성하는 방법.
  3. 제 2 항에 있어서,
    상기 등록 단계는, 상기 검색 디바이스(104, 274)가 등록 엔티티와 같은 엔티티들에게 등록이 이루어지고 그에 대해 다른 엔티티들이 등록된 VPN에 고유한 보안키에 대한 액세스를 허용하는 보안 키(278)를 상기 등록 엔티티에 전송하는 것을 포함하는 것을 특징으로 하는 보안 가상 사설망을 형성하는 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 단계(h)에서 상기 접촉 엔티티는 상기 합류 엔티티에게 상기 VPN에 속하는 다른 엔티티들의 식별자를 더 통지하는 것을 특징으로 하는 보안 가상 사설망을 형성하는 방법.
  5. 제 4 항에 있어서,
    상기 단계(i)에서 상기 합류 엔티티는 자신의 노드 위치를 연산하기 위해 상기 VPN에 속하는 다른 엔티티들의 엔티티 식별자를 추가로 이용하는 것을 특징으로 하는 보안 가상 사설망을 형성하는 방법.
  6. 제 4 항에 있어서,
    상기 엔티티 식별자는 어드레스인 것을 특징으로 하는 보안 가상 사설망을 형성하는 방법.
  7. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 인증 프로세스는 2 개의 엔티티 각각이 다른 엔티티의 공지된 식별에 대해 고유한 키(304)를 이용하여 다른 것들에 질문하는 단계와, 각각 질문이 다른 엔티티로의 전송, 다른 엔티티로부터의 응답(612) 및 상기 응답이 정확한 엔티티에 질문하는 것에 의한 검증을 구비하는 것으로 구성되는 것을 특징으로 하는 보안 가상 사설망을 형성하는 방법.
  8. 제 7 항에 있어서,
    제 1 엔티티와 제 2 엔티티 사이의 각각의 질문은,
    (a) 상기 제1 엔티티가 데이터(AB'600)의 랜덤 시퀀스를 생성하고, 그것을 저장하고, 그를 제 2 엔티티의 공개키(304)로 암호화하고, 그 결과인 암호문을 제 2 엔티티로 전송하는 단계;
    (b) 상기 제 2 엔티티가 상기 제 1 엔티티로부터 암호문을 수신하고, 그것을 제 2 엔티티의 비밀키(306)를 이용하여 복호화하고, 제 1 엔티티의 공개키(302)로 그 결과인 평문을 암호화하여, 그를 제 1 엔티티로 전송하는 단계, 및
    (c) 상기 제 1 엔티티가 상기 제 2 엔티티로부터 암호문을 수신하고, 그를 제 1 엔티티의 비밀키(300)를 이용하여 복호화하고, 매칭이 있는지 여부를 그 결과인 평문을 상기 저장된 데이터(AB'600)의 랜덤 시퀀스와 비교하여 상기 제 2 엔티티가 인증되는 것을 수락하는 단계;를 포함하는 것을 특징으로 하는 보안 가상 사설망을 형성하는 방법.
  9. 제 8 항에 있어서,
    VPN에 연결된 엔티티 사이의 데이터 트래픽은 대칭 키를 이용하여 암호화 되고, 상기 대칭 키는 데이터(AB'600)의 상기 랜덤 시퀀스인 것을 특징으로 하는 보안 가상 사설망을 형성하는 방법.
  10. 제 9 항에 있어서,
    상기 인증 프로세스는 주기적으로 반복되고, 상기 주기적으로 생성된 랜덤 데이터 시퀀스는 동적 대칭 세션키로서 사용되는 것을 특징으로 하는 보안 가상 사설망을 형성하는 방법.
  11. 제 1 항 내지 3 항 중 어느 한 항에 있어서,
    상기 엔티티들은 인터넷에 연결될 수 있는 프로세서를 가진 디바이스인 것을 특징으로 하는 보안 가상 사설망을 형성하는 방법.
  12. 제 11 항에 있어서,
    상기 디바이스는 컴퓨터, PDA, PPC, 이동 전화 및 스마트폰, 및 내장 디바이스를 포함하는 것을 특징으로 하는 보안 가상 사설망을 형성하는 방법.
KR1020070103494A 2006-10-13 2007-10-15 사설 네트워크 시스템 및 그를 구현하는 방법 KR101463404B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
AU2006905700A AU2006905700A0 (en) 2006-10-13 Cloudy electronic portability
AU2006905700 2006-10-13
AU2006906696A AU2006906696A0 (en) 2006-11-29 Data Sharing System
AU2006906696 2006-11-29
AU2006906705 2006-11-30
AU2006906705A AU2006906705A0 (en) 2006-11-30 Data Sharing System

Publications (2)

Publication Number Publication Date
KR20080034084A KR20080034084A (ko) 2008-04-18
KR101463404B1 true KR101463404B1 (ko) 2014-11-19

Family

ID=38924483

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070103494A KR101463404B1 (ko) 2006-10-13 2007-10-15 사설 네트워크 시스템 및 그를 구현하는 방법

Country Status (15)

Country Link
US (2) US20080091763A1 (ko)
EP (2) EP1912413B1 (ko)
JP (2) JP5242134B2 (ko)
KR (1) KR101463404B1 (ko)
AT (1) ATE455429T1 (ko)
AU (2) AU2007224392B2 (ko)
CA (1) CA2606718A1 (ko)
DE (1) DE602007004273D1 (ko)
DK (1) DK1912413T3 (ko)
ES (1) ES2339711T3 (ko)
HK (1) HK1112544A1 (ko)
NZ (2) NZ576245A (ko)
PL (1) PL1912413T3 (ko)
PT (1) PT1912413E (ko)
SG (3) SG10201505437QA (ko)

Families Citing this family (162)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509588B2 (en) 2005-12-30 2009-03-24 Apple Inc. Portable electronic device with interface reconfiguration mode
US10313505B2 (en) 2006-09-06 2019-06-04 Apple Inc. Portable multifunction device, method, and graphical user interface for configuring and displaying widgets
SG10201505437QA (en) * 2006-10-13 2015-08-28 Quipa Holdings Ltd A method for sharing functionality and/or data between two or more linked entities
US8519964B2 (en) 2007-01-07 2013-08-27 Apple Inc. Portable multifunction device, method, and graphical user interface supporting user navigations of graphical objects on a touch screen display
US9317179B2 (en) 2007-01-08 2016-04-19 Samsung Electronics Co., Ltd. Method and apparatus for providing recommendations to a user of a cloud computing service
US7937451B2 (en) 2007-01-08 2011-05-03 Mspot, Inc. Method and apparatus for transferring digital content from a computer to a mobile handset
US8619038B2 (en) 2007-09-04 2013-12-31 Apple Inc. Editing interface
US8326814B2 (en) 2007-12-05 2012-12-04 Box, Inc. Web-based file management system and service
US8464059B2 (en) 2007-12-05 2013-06-11 Netauthority, Inc. System and method for device bound public key infrastructure
JP5159899B2 (ja) * 2008-02-11 2013-03-13 ドルビー ラボラトリーズ ライセンシング コーポレイション プライベートネットワークのダイナミックdnsシステム
US8812701B2 (en) 2008-05-21 2014-08-19 Uniloc Luxembourg, S.A. Device and method for secured communication
US8108912B2 (en) * 2008-05-29 2012-01-31 Red Hat, Inc. Systems and methods for management of secure data in cloud-based network
US9104738B2 (en) * 2008-06-19 2015-08-11 Tropare, Inc. Leveraging collaborative cloud services to build and share apps
US8863234B2 (en) * 2008-08-06 2014-10-14 The Boeing Company Collaborative security and decision making in a service-oriented environment
US9614924B2 (en) * 2008-12-22 2017-04-04 Ctera Networks Ltd. Storage device and method thereof for integrating network attached storage with cloud storage services
US20100321208A1 (en) * 2009-06-23 2010-12-23 Craig Stephen Etchegoyen System and Method for Emergency Communications
US8903653B2 (en) * 2009-06-23 2014-12-02 Uniloc Luxembourg S.A. System and method for locating network nodes
US8452960B2 (en) 2009-06-23 2013-05-28 Netauthority, Inc. System and method for content delivery
US8736462B2 (en) 2009-06-23 2014-05-27 Uniloc Luxembourg, S.A. System and method for traffic information delivery
US9141489B2 (en) 2009-07-09 2015-09-22 Uniloc Luxembourg S.A. Failover procedure for server system
US8462952B2 (en) * 2009-08-25 2013-06-11 Verizon Patent And Licensing Inc. Synchronizing management signaling in a network
US8510835B1 (en) 2009-09-18 2013-08-13 Trend Micro Incorporated Techniques for protecting data in cloud computing environments
US8826013B1 (en) 2009-09-23 2014-09-02 Trend Micro Incorporated Protection of customer data in cloud virtual machines using a central management server
US20110078243A1 (en) * 2009-09-30 2011-03-31 Boopsie, Inc. Leveraging Collaborative Cloud Services to Build and Share Apps
US8726407B2 (en) 2009-10-16 2014-05-13 Deviceauthority, Inc. Authentication of computing and communications hardware
US9082128B2 (en) 2009-10-19 2015-07-14 Uniloc Luxembourg S.A. System and method for tracking and scoring user activities
US8468345B2 (en) 2009-11-16 2013-06-18 Microsoft Corporation Containerless data for trustworthy computing and data services
US9537650B2 (en) 2009-12-15 2017-01-03 Microsoft Technology Licensing, Llc Verifiable trust for data through wrapper composition
US10348693B2 (en) * 2009-12-15 2019-07-09 Microsoft Technology Licensing, Llc Trustworthy extensible markup language for trustworthy computing and data services
US9817622B2 (en) 2010-01-20 2017-11-14 Hewlett-Packard Development Company, L.P. Cloud printer with a common user print experience
US8477350B2 (en) * 2010-03-16 2013-07-02 Google Inc. Cloud-based print service
US10788976B2 (en) 2010-04-07 2020-09-29 Apple Inc. Device, method, and graphical user interface for managing folders with multiple pages
AU2014274556B2 (en) * 2010-04-07 2016-08-11 Apple Inc. Device, method, and graphical user interface for managing folders
US8458615B2 (en) 2010-04-07 2013-06-04 Apple Inc. Device, method, and graphical user interface for managing folders
US9432373B2 (en) 2010-04-23 2016-08-30 Apple Inc. One step security system in a network storage system
WO2011149558A2 (en) 2010-05-28 2011-12-01 Abelow Daniel H Reality alternate
US9729625B1 (en) * 2010-06-30 2017-08-08 Lenovoemc Limited Personal cloud network
KR101631618B1 (ko) * 2010-07-06 2016-06-27 삼성전자주식회사 가상 개인화 그룹 생성 방법 및 가상 개인화 그룹을 이용하는 통신 기기와 허브를 포함하는 네트워크
US20120023065A1 (en) * 2010-07-20 2012-01-26 Deweese William System and method for managing data on an occasionally connected mobile device
US20120030343A1 (en) 2010-07-29 2012-02-02 Apple Inc. Dynamic migration within a network storage system
US9043445B2 (en) 2010-09-22 2015-05-26 International Business Machines Corporation Linking instances within a cloud computing environment
US9639315B2 (en) * 2010-10-26 2017-05-02 Hewlett-Packard Development Company, L.P. Content production
US20120109886A1 (en) * 2010-11-01 2012-05-03 Ko George Data management system
US8693689B2 (en) 2010-11-01 2014-04-08 Microsoft Corporation Location brokering for providing security, privacy and services
US8775575B2 (en) 2010-11-03 2014-07-08 International Business Machines Corporation Differentiating image files in a networked computing environment
JP5876647B2 (ja) 2010-11-18 2016-03-02 株式会社オプティム ポーリングによる通信接続システム、方法及びプログラム
WO2012099617A1 (en) 2011-01-20 2012-07-26 Box.Net, Inc. Real time notification of activities that occur in a web-based collaboration environment
FI123551B (fi) * 2011-02-22 2013-07-15 Tosibox Oy Menetelmä ja laitejärjestely kiinteistöjen etähallinnan toteuttamiseksi
FI124341B (fi) * 2011-05-24 2014-07-15 Tosibox Oy Laitejärjestely kiinteistöjen etähallinnan toteuttamiseksi
US8769531B2 (en) 2011-05-25 2014-07-01 International Business Machines Corporation Optimizing the configuration of virtual machine instances in a networked computing environment
US9063912B2 (en) 2011-06-22 2015-06-23 Box, Inc. Multimedia content preview rendering in a cloud content management system
US9652741B2 (en) 2011-07-08 2017-05-16 Box, Inc. Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof
GB2503625A (en) 2011-07-08 2014-01-01 Box Inc Collaboration sessions in a workspace on cloud-based content management system
WO2013009954A1 (en) * 2011-07-13 2013-01-17 Carson-Dellosa Publishing Co., Inc. Digital content management system
US8892875B1 (en) 2011-07-29 2014-11-18 Trend Micro Incorporated Methods and apparatus for controlling access to encrypted computer files
US9197718B2 (en) 2011-09-23 2015-11-24 Box, Inc. Central management and control of user-contributed content in a web-based collaboration environment and management console thereof
US8515902B2 (en) 2011-10-14 2013-08-20 Box, Inc. Automatic and semi-automatic tagging features of work items in a shared workspace for metadata tracking in a cloud-based content management system with selective or optional user contribution
US9098474B2 (en) 2011-10-26 2015-08-04 Box, Inc. Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience
US10389692B2 (en) * 2011-11-05 2019-08-20 Jianping He Peer-to-peer device management, monitor and control
US9031920B2 (en) 2011-11-07 2015-05-12 Sap Se Objects in a storage environment for connected applications
US8990307B2 (en) 2011-11-16 2015-03-24 Box, Inc. Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform
US9773051B2 (en) 2011-11-29 2017-09-26 Box, Inc. Mobile platform file and folder selection functionalities for offline access and synchronization
US9019123B2 (en) 2011-12-22 2015-04-28 Box, Inc. Health check services for web-based collaboration environments
US8320558B1 (en) * 2011-12-29 2012-11-27 Google Inc. Encryption of synchronization information
US9904435B2 (en) 2012-01-06 2018-02-27 Box, Inc. System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment
FI125972B (fi) 2012-01-09 2016-05-13 Tosibox Oy Laitejärjestely ja menetelmä kiinteistöjen etähallinnassa käytettävän tiedonsiirtoverkon luomiseksi
US9164997B2 (en) * 2012-01-19 2015-10-20 Microsoft Technology Licensing, Llc Recognizing cloud content
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
EP2812833A1 (en) * 2012-02-06 2014-12-17 Redigi Inc. Digital data commerce system and methods with digital media object to cloud redirection
AU2012100463B4 (en) 2012-02-21 2012-11-08 Uniloc Usa, Inc. Renewable resource distribution management system
KR101280753B1 (ko) * 2012-02-22 2013-07-05 주식회사 팬택 클라우드 서비스 액세스 장치, 클라우드 서비스 액세스 방법 및 클라우드 서비스 액세스 시스템
US9965745B2 (en) 2012-02-24 2018-05-08 Box, Inc. System and method for promoting enterprise adoption of a web-based collaboration environment
US9069501B2 (en) 2012-02-28 2015-06-30 Hewlett-Packard Development Company, L.P. Mechanism that allows initiating print without being aware of the printer email address
US9195636B2 (en) 2012-03-07 2015-11-24 Box, Inc. Universal file type preview for mobile devices
US9053348B2 (en) * 2012-03-26 2015-06-09 Microsoft Technology Licensing, Llc Secure cloud computing platform
US9054919B2 (en) 2012-04-05 2015-06-09 Box, Inc. Device pinning capability for enterprise cloud service and storage accounts
US9575981B2 (en) 2012-04-11 2017-02-21 Box, Inc. Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system
GB2505272B (en) 2012-05-04 2014-07-09 Box Inc Repository redundancy implementation of a system which incrementally updates clients with events that occurred via cloud-enabled platform
US9535749B2 (en) 2012-05-11 2017-01-03 Infosys Limited Methods for managing work load bursts and devices thereof
US9691051B2 (en) 2012-05-21 2017-06-27 Box, Inc. Security enhancement through application access control
US9027108B2 (en) 2012-05-23 2015-05-05 Box, Inc. Systems and methods for secure file portability between mobile applications on a mobile device
US8914900B2 (en) 2012-05-23 2014-12-16 Box, Inc. Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform
EP2864894B1 (en) 2012-06-26 2020-06-10 Hewlett-Packard Development Company, L.P. Exposing network printers to wi-fi clients
US9021099B2 (en) * 2012-07-03 2015-04-28 Box, Inc. Load balancing secure FTP connections among multiple FTP servers
US9712510B2 (en) 2012-07-06 2017-07-18 Box, Inc. Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform
GB2505072A (en) 2012-07-06 2014-02-19 Box Inc Identifying users and collaborators as search results in a cloud-based system
US9792320B2 (en) 2012-07-06 2017-10-17 Box, Inc. System and method for performing shard migration to support functions of a cloud-based service
US9237170B2 (en) 2012-07-19 2016-01-12 Box, Inc. Data loss prevention (DLP) methods and architectures by a cloud service
US9794256B2 (en) 2012-07-30 2017-10-17 Box, Inc. System and method for advanced control tools for administrators in a cloud-based service
US8745267B2 (en) 2012-08-19 2014-06-03 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
US9369520B2 (en) 2012-08-19 2016-06-14 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
GB2513671A (en) 2012-08-27 2014-11-05 Box Inc Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment
US9135462B2 (en) 2012-08-29 2015-09-15 Box, Inc. Upload and download streaming encryption to/from a cloud-based platform
US9311071B2 (en) 2012-09-06 2016-04-12 Box, Inc. Force upgrade of a mobile application via a server side configuration file
US9195519B2 (en) 2012-09-06 2015-11-24 Box, Inc. Disabling the self-referential appearance of a mobile application in an intent via a background registration
US9117087B2 (en) 2012-09-06 2015-08-25 Box, Inc. System and method for creating a secure channel for inter-application communication based on intents
US9292833B2 (en) 2012-09-14 2016-03-22 Box, Inc. Batching notifications of activities that occur in a web-based collaboration environment
US10200256B2 (en) 2012-09-17 2019-02-05 Box, Inc. System and method of a manipulative handle in an interactive mobile user interface
US9553758B2 (en) 2012-09-18 2017-01-24 Box, Inc. Sandboxing individual applications to specific user folders in a cloud-based service
US10915492B2 (en) 2012-09-19 2021-02-09 Box, Inc. Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction
US9450784B2 (en) * 2012-09-27 2016-09-20 Blackberry Limited Communicating data among personal clouds
US9959420B2 (en) 2012-10-02 2018-05-01 Box, Inc. System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment
US9705967B2 (en) 2012-10-04 2017-07-11 Box, Inc. Corporate user discovery and identification of recommended collaborators in a cloud platform
US9495364B2 (en) 2012-10-04 2016-11-15 Box, Inc. Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform
US9665349B2 (en) 2012-10-05 2017-05-30 Box, Inc. System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform
GB2507191B (en) 2012-10-17 2015-03-04 Box Inc Remote key management in a cloud-based environment
US9756022B2 (en) 2014-08-29 2017-09-05 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
DE102012020974A1 (de) 2012-10-25 2014-04-30 Volkswagen Aktiengesellschaft Vorrichtung und Verfahren zur Bereitstellung multimedialer Daten in einem Kraftfahrzeug
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
US8763085B1 (en) 2012-12-19 2014-06-24 Trend Micro Incorporated Protection of remotely managed virtual machines
US9396245B2 (en) 2013-01-02 2016-07-19 Box, Inc. Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9953036B2 (en) 2013-01-09 2018-04-24 Box, Inc. File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
EP2755151A3 (en) 2013-01-11 2014-09-24 Box, Inc. Functionalities, features and user interface of a synchronization client to a cloud-based environment
US10599671B2 (en) 2013-01-17 2020-03-24 Box, Inc. Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform
US9130944B2 (en) * 2013-03-13 2015-09-08 Futurewei Technologies, Inc. Mechanism and protocol to authorize bilateral sessions between websites based on open authorization
US9038195B2 (en) * 2013-03-15 2015-05-19 Google Technology Holdings LLC Accessing a cloud-based service using a communication device linked to another communication device via a peer-to-peer ad hoc communication link
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
US10846074B2 (en) 2013-05-10 2020-11-24 Box, Inc. Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client
US9170828B2 (en) * 2013-05-16 2015-10-27 Microsoft Technology Licensing, Llc. Extraction of operating system-specific characteristics via a communication interface
KR20140143971A (ko) * 2013-06-10 2014-12-18 삼성전자주식회사 홈 화면 공유 장치 및 방법
GB2515192B (en) 2013-06-13 2016-12-14 Box Inc Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
US9805050B2 (en) 2013-06-21 2017-10-31 Box, Inc. Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
US8838836B1 (en) * 2013-06-25 2014-09-16 Actiontec Electronics, Inc. Systems and methods for sharing digital information between mobile devices of friends and family using multiple LAN-based embedded devices
US10229134B2 (en) 2013-06-25 2019-03-12 Box, Inc. Systems and methods for managing upgrades, migration of user data and improving performance of a cloud-based platform
US9525991B2 (en) 2013-06-25 2016-12-20 Actiontec Electronics, Inc. Systems and methods for sharing digital information between mobile devices of friends and family using embedded devices
US10110656B2 (en) 2013-06-25 2018-10-23 Box, Inc. Systems and methods for providing shell communication in a cloud-based platform
US9535924B2 (en) 2013-07-30 2017-01-03 Box, Inc. Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9367806B1 (en) 2013-08-08 2016-06-14 Jasmin Cosic Systems and methods of using an artificially intelligent database management system and interfaces for mobile, embedded, and other computing devices
GB2518298A (en) 2013-09-13 2015-03-18 Box Inc High-availability architecture for a cloud-based concurrent-access collaboration platform
US9213684B2 (en) 2013-09-13 2015-12-15 Box, Inc. System and method for rendering document in web browser or mobile device regardless of third-party plug-in software
US9535909B2 (en) 2013-09-13 2017-01-03 Box, Inc. Configurable event-based automation architecture for cloud-based collaboration platforms
US9704137B2 (en) 2013-09-13 2017-07-11 Box, Inc. Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform
US10509527B2 (en) 2013-09-13 2019-12-17 Box, Inc. Systems and methods for configuring event-based automation in cloud-based collaboration platforms
US8892679B1 (en) 2013-09-13 2014-11-18 Box, Inc. Mobile device, methods and user interfaces thereof in a mobile device platform featuring multifunctional access and engagement in a collaborative environment provided by a cloud-based platform
US9197419B1 (en) 2013-10-14 2015-11-24 Trend Micro Incorporated Security system for data stored in the cloud
US9275242B1 (en) 2013-10-14 2016-03-01 Trend Micro Incorporated Security system for cloud-based emails
US10866931B2 (en) 2013-10-22 2020-12-15 Box, Inc. Desktop application for accessing a cloud collaboration platform
DE102013017789A1 (de) 2013-10-25 2015-04-30 LowoTec GmbH System für eine abgesicherte LAN-über-WAN-Übertragung
EP3063970B1 (en) * 2013-10-30 2020-10-21 Nec Corporation Apparatus, system and method for secure direct communcation in proximity based services
KR102405189B1 (ko) 2013-10-30 2022-06-07 애플 인크. 관련 사용자 인터페이스 객체를 표시
US9405904B1 (en) * 2013-12-23 2016-08-02 Symantec Corporation Systems and methods for providing security for synchronized files
US10395024B2 (en) 2014-03-04 2019-08-27 Adobe Inc. Authentication for online content using an access token
US9548963B2 (en) 2014-04-01 2017-01-17 At&T Intellectual Property I, L.P. Method and system to enable a virtual private network client
US10530854B2 (en) 2014-05-30 2020-01-07 Box, Inc. Synchronization of permissioned content in cloud-based environments
US9602514B2 (en) 2014-06-16 2017-03-21 Box, Inc. Enterprise mobility management and verification of a managed application by a content provider
US9258117B1 (en) 2014-06-26 2016-02-09 Amazon Technologies, Inc. Mutual authentication with symmetric secrets and signatures
US10574442B2 (en) 2014-08-29 2020-02-25 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US10038731B2 (en) 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US9894119B2 (en) 2014-08-29 2018-02-13 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
US10142301B1 (en) * 2014-09-17 2018-11-27 Amazon Technologies, Inc. Encrypted data delivery without intervening decryption
US10255302B1 (en) 2015-02-27 2019-04-09 Jasmin Cosic Systems, methods, apparatuses, and/or interfaces for associative management of data and inference of electronic resources
US10122689B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Load balancing with handshake offload
US20160373441A1 (en) * 2015-06-16 2016-12-22 Avaya Inc. Providing secure networks
US10122692B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Handshake offload
US20170046531A1 (en) * 2015-08-14 2017-02-16 Strong Bear Llc Data encryption method and system for use with cloud storage
US10091190B2 (en) * 2015-12-11 2018-10-02 International Business Machines Corporation Server-assisted authentication
US9733999B1 (en) 2016-03-24 2017-08-15 Wells Fargo Bank, N.A. Dynamic optimization of application workflows
DK201670595A1 (en) 2016-06-11 2018-01-22 Apple Inc Configuring context-specific user interfaces
US11816325B2 (en) 2016-06-12 2023-11-14 Apple Inc. Application shortcuts for carplay
US10671746B2 (en) * 2017-08-28 2020-06-02 International Business Machines Corporation Controlling access when processing intents in a dispersed storage network
US11475108B2 (en) * 2019-04-25 2022-10-18 Stanton Kee Nethery Secure hardware backdoor for digital devices
US11675476B2 (en) 2019-05-05 2023-06-13 Apple Inc. User interfaces for widgets

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040058354A (ko) * 2001-11-29 2004-07-03 지멘스 악티엔게젤샤프트 네트워크 오퍼레이터 및 사업 파트너들을 갖는 원격통신사용자의 인증 및 허가를 위한 단말내의 공개키 키쌍의 사용

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5881230A (en) * 1996-06-24 1999-03-09 Microsoft Corporation Method and system for remote automation of object oriented applications
GB2315193B (en) * 1996-07-10 2000-11-15 Orange Personal Comm Serv Ltd Mobile communications system
US6324682B1 (en) * 1997-02-14 2001-11-27 Velocity.Com Organicware applications for computer systems
US6633922B1 (en) * 1997-12-15 2003-10-14 International Business Machines Corporation Object access mechanism that dynamically switches between multiple distributed access models
US6079020A (en) * 1998-01-27 2000-06-20 Vpnet Technologies, Inc. Method and apparatus for managing a virtual private network
US6839759B2 (en) * 1998-10-30 2005-01-04 Science Applications International Corp. Method for establishing secure communication link between computers of virtual private network without user entering any cryptographic information
US6636898B1 (en) * 1999-01-29 2003-10-21 International Business Machines Corporation System and method for central management of connections in a virtual private network
US6862735B1 (en) * 1999-02-11 2005-03-01 Sun Microsystems, Inc. Mechanism by which platform independent software may bind to and access platform dependent software
US6081900A (en) * 1999-03-16 2000-06-27 Novell, Inc. Secure intranet access
FR2793365B1 (fr) * 1999-05-06 2001-07-13 Cit Alcatel Systeme de traitement de l'information permettant la securisation des communications entre composants logiciels
US6922685B2 (en) * 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
US6871278B1 (en) * 2000-07-06 2005-03-22 Lasercard Corporation Secure transactions with passive storage media
AU2002234258A1 (en) * 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7127742B2 (en) * 2001-01-24 2006-10-24 Microsoft Corporation Establishing a secure connection with a private corporate network over a public network
US7185066B2 (en) * 2001-10-11 2007-02-27 Raytheon Company Secure data sharing system
US20030120928A1 (en) * 2001-12-21 2003-06-26 Miles Cato Methods for rights enabled peer-to-peer networking
US7024470B2 (en) * 2002-02-04 2006-04-04 Atreus Systems Corp. System and method for setting up user self-activating network-based services
US7127613B2 (en) * 2002-02-25 2006-10-24 Sun Microsystems, Inc. Secured peer-to-peer network data exchange
US6938042B2 (en) * 2002-04-03 2005-08-30 Laplink Software Inc. Peer-to-peer file sharing
US7392255B1 (en) * 2002-07-31 2008-06-24 Cadence Design Systems, Inc. Federated system and methods and mechanisms of implementing and using such a system
US7616597B2 (en) 2002-12-19 2009-11-10 Intel Corporation System and method for integrating mobile networking with security-based VPNs
US7437440B2 (en) * 2003-01-27 2008-10-14 Microsoft Corporation Peer-to-peer networking framework application programming interfaces
CN100478945C (zh) 2003-03-10 2009-04-15 皇家飞利浦电子股份有限公司 用于在对等系统中对事务进行所有权转移的方法和设备
US7949785B2 (en) * 2003-03-31 2011-05-24 Inpro Network Facility, Llc Secure virtual community network system
EP1645169A1 (en) 2003-07-04 2006-04-12 Koninklijke Philips Electronics N.V. System for operating a plurality of negative dynamical impedance loads
US6947246B2 (en) * 2003-08-29 2005-09-20 Hitachi Global Storage Technologies Netherlands, B.V. Large protrusion recording head for controlled magnetic spacing recording/reading
US8060619B1 (en) * 2003-11-07 2011-11-15 Symantec Operating Corporation Direct connections to a plurality of storage object replicas in a computer network
WO2005072405A2 (en) * 2004-01-27 2005-08-11 Transpose, Llc Enabling recommendations and community by massively-distributed nearest-neighbor searching
CN1939028B (zh) 2004-02-13 2011-12-07 诺基亚有限公司 从多个设备存取网络存储器上的保护数据
US7536467B2 (en) * 2004-04-20 2009-05-19 Microsoft Corporation Peer-to-peer (P2P) mobility system, and method
US7437558B2 (en) * 2004-06-01 2008-10-14 Cisco Technology, Inc. Method and system for verifying identification of an electronic mail message
JP4543837B2 (ja) * 2004-09-02 2010-09-15 株式会社Kddi研究所 Vpn設定システム、方法及び前記システムで用いる携帯端末用プログラム
US7793338B1 (en) * 2004-10-21 2010-09-07 Mcafee, Inc. System and method of network endpoint security
US7877786B2 (en) * 2004-10-21 2011-01-25 Alcatel-Lucent Usa Inc. Method, apparatus and network architecture for enforcing security policies using an isolated subnet
JP4339234B2 (ja) * 2004-12-07 2009-10-07 株式会社エヌ・ティ・ティ・データ Vpn接続構築システム
US20080130516A1 (en) * 2004-12-21 2008-06-05 Electronics And Telecommunications Research Institute P2p Overplay Network Construction Method and Apparatus
WO2006080083A1 (ja) * 2005-01-28 2006-08-03 Argo-Notes, Inc. BitTorrentプロトコルによるファイルのダウンロード方法
US7620981B2 (en) * 2005-05-26 2009-11-17 Charles William Frank Virtual devices and virtual bus tunnels, modules and methods
US8375386B2 (en) * 2005-06-29 2013-02-12 Microsoft Corporation Failure management for a virtualized computing environment
EP1752925A1 (en) * 2005-07-20 2007-02-14 Siemens Aktiengesellschaft Method and system for distribution of digital protected content data via a peer-to-peer data network
WO2007066354A1 (en) 2005-09-21 2007-06-14 Ajay Madhok A system and method to share digital data in a secure and fine grained controlled manner over a communication network
WO2007072814A1 (ja) * 2005-12-19 2007-06-28 Nippon Telegraph And Telephone Corporation 端末識別方法、認証方法、認証システム、サーバ、端末、無線基地局、プログラムおよび記録媒体
US7680937B2 (en) * 2005-12-22 2010-03-16 Microsoft Corporation Content publication
US20080066182A1 (en) * 2006-09-12 2008-03-13 Andrew Hickmott Security techniques for cooperative file distribution
SG10201505437QA (en) * 2006-10-13 2015-08-28 Quipa Holdings Ltd A method for sharing functionality and/or data between two or more linked entities

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040058354A (ko) * 2001-11-29 2004-07-03 지멘스 악티엔게젤샤프트 네트워크 오퍼레이터 및 사업 파트너들을 갖는 원격통신사용자의 인증 및 허가를 위한 단말내의 공개키 키쌍의 사용

Also Published As

Publication number Publication date
PL1912413T3 (pl) 2010-07-30
AU2010214680A1 (en) 2010-09-16
US8196181B2 (en) 2012-06-05
EP1912413A1 (en) 2008-04-16
US20080134316A1 (en) 2008-06-05
ATE455429T1 (de) 2010-01-15
AU2007224392B2 (en) 2010-09-16
ES2339711T3 (es) 2010-05-24
US20080091763A1 (en) 2008-04-17
SG10201505437QA (en) 2015-08-28
HK1112544A1 (en) 2008-09-05
JP2008236719A (ja) 2008-10-02
SG161266A1 (en) 2010-05-27
SG142251A1 (en) 2008-05-28
NZ562522A (en) 2009-05-31
DK1912413T3 (da) 2010-05-25
PT1912413E (pt) 2010-04-20
EP2230819A1 (en) 2010-09-22
KR20080034084A (ko) 2008-04-18
DE602007004273D1 (de) 2010-03-04
NZ576245A (en) 2011-07-29
AU2007224392A1 (en) 2008-05-01
AU2010214680B2 (en) 2013-01-17
EP1912413B1 (en) 2010-01-13
JP2013048472A (ja) 2013-03-07
JP5242134B2 (ja) 2013-07-24
CA2606718A1 (en) 2008-04-13

Similar Documents

Publication Publication Date Title
KR101463404B1 (ko) 사설 네트워크 시스템 및 그를 구현하는 방법
KR102243754B1 (ko) 블록체인 네트워크에서의 데이터 격리
JP5298599B2 (ja) 局所超流通及び鍵交換によるセキュアな事前キャッシュ
US20090187982A1 (en) Systems and methods for authenticating communications in a network medium
US7437440B2 (en) Peer-to-peer networking framework application programming interfaces
KR20230021642A (ko) 너츠: 유연한 계위 객체 그래프
CN108055352A (zh) 用于密钥链同步的系统和方法
CN109635581A (zh) 一种数据处理方法、设备、系统及存储介质
CN107113164A (zh) 加密数据的重复删除
JP2010224655A (ja) データベース処理方法、データベース処理プログラム、および、暗号化装置
JP2023539168A (ja) 自己認証識別子及びそのためのアプリケーション
WO2009127904A1 (en) A private network system and method
KR20010078921A (ko) 순수 p2p 서비스에서 사용자 인증 방법 및 운영시스템
Hahn Security and privacy for location services and the internet of things
JPH11331145A (ja) 情報共有システム、情報保管装置およびそれらの情報処理方法、並びに記録媒体
AU2013204382B2 (en) A private network and system
JP6750347B2 (ja) 文書閲覧制御装置、文書閲覧制御システム及びプログラム
Pfister et al. Privacy-preserving photo sharing based on blockchain
RAJA et al. Assemblage Interrogatives Information Basis as a Service Pattern
Strauch Privacy in Social Networks
Farrington Mindshare: a collaborative peer-to-peer system for small groups
Roman et al. Rapid Deployment of Coordination Middleware Supporting Ad Hoc Mobile Systems
Wu A new framework of decentralized social networks
Tech FRAMEWORK FOR PEER-TO-PEER DATA SHARING OVER WEB BROWSERS
Kammüller et al. Privacy Analysis of a Hidden Friendship Protocol

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee