KR101109371B1 - 이름 분해를 위한 시스템 및 방법 - Google Patents

이름 분해를 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101109371B1
KR101109371B1 KR1020057007527A KR20057007527A KR101109371B1 KR 101109371 B1 KR101109371 B1 KR 101109371B1 KR 1020057007527 A KR1020057007527 A KR 1020057007527A KR 20057007527 A KR20057007527 A KR 20057007527A KR 101109371 B1 KR101109371 B1 KR 101109371B1
Authority
KR
South Korea
Prior art keywords
computer system
user
request
identity information
documents
Prior art date
Application number
KR1020057007527A
Other languages
English (en)
Other versions
KR20060113352A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=34522412&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101109371(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20060113352A publication Critical patent/KR20060113352A/ko
Application granted granted Critical
Publication of KR101109371B1 publication Critical patent/KR101109371B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/4547Network directories; Name-to-address mapping for personal communications, i.e. using a personal identifier
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • H04L2101/37E-mail addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/65Telephone numbers
    • 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/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

다양한 양태들에 따르면, 본 발명은, 네트워크 환경에서 함께 접속되어 있는 2개의 컴퓨터 시스템들 또는 노드들 사이에서 다큐먼트들을 액세스하고 공개하는 것에 관한 것이다. 이름 분해를 위한 시스템 및 방법은, 이메일 어드레스와 같은, 아이덴티티 정보를 의미하는 사용자-친화적 핸들 및 다큐먼트들이 저장되는 공개 컴퓨터 시스템에 대한, IP 어드레스와 같은, 기계 위치를 포함하는 아이덴티티 정보 다큐먼트를 저장한다. 다음으로, 본 시스템 및 방법은, 네트워크 사용자들이 사용자-친화적 핸들에 대한 지식만으로 이러한 다큐먼트들에 쉽게 액세스하도록 하기 위해, 초기 요구가 사용자-친화적 핸들을 포함할 경우, 다큐먼트들에 액세스하기 위한 초기 요구를 인터셉트하여 사용자-친화적 핸들을 기계 위치로 대체한다.
아이덴티티 정보 다큐먼트, 액세스, 공개, 사용자-친화적 핸들, 기계 위치

Description

이름 분해를 위한 시스템 및 방법{SYSTEM AND METHOD FOR NAME RESOLUTION}
발명의 분야
본 발명은 분산 네트워크의 개별 기계들 또는 노드들상에 저장되어 있는 다큐먼트들 및 정보를 공개하고 이 다큐먼트들을 네트워크의 다른 노드들과 공유하는 것에 관한 것이다. 좀더 구체적으로, 본 발명은 이와 같은 공개된 다큐먼트들로의 액세스를 다른 사용자에게 제공하는 시스템들 및 방법들에 관한 것이다.
발명의 배경
접속된 많은 노드들 또는 프로세스들을 가진 분산 네트워크들 또는 시스템들에서, 네트워크의 노드들 사이에서 파일들, 다큐먼트들, 및 정보를 공유하는 능력은 중요하다.
액세스가 누구에게나 개방되거나 패스워드 보호 시스템에 의해 사전-승인된 사용자들에게만 한정될 수 있는 웹 서버들상에 다큐먼트들을 호스팅하는 것을 포함하여, 사용자들이 파일들 및 다큐먼트들을 공유할 수 있는 몇가지 종래의 방법들이 존재한다. 이러한 시스템에서의 문제점은 2가지이다. 첫번째, 서버 컴퓨터상에 다큐먼트들을 유지하는 것은 통상적으로, 웹-호스팅 서비스와 같은, 제3자를 필요로 하며, 이것은 일반적으로 초기 설정 비용 및 되풀이해서 발생하는 유지 비용을 필요로 한다. 두번째, 제3자의 관여는 본질적으로 웹 서버상에 저장되어 있는 파일들 또는 다큐먼트들에 대한 사용자 제어를 감소시킨다.
분산 네트워크의 다른 사용자들 사이에서 파일들을 공유하는 다른 방법은, 파일들을 다른 사용자("액세서(accesser)")와 공유하고자 하는 사용자("공개자(publisher)")가 액세서에게 그의 또는 그녀의 기계 위치 및 다큐먼트들이 저장되어 있는 기계상의 경로 이름을 제공하는 것이다. 액세서는 공개자의 기계에 접속하기 위해 기계 위치 및 경로 이름을 웹 브라우저 또는 다른 액세스 프로그램에 입력하는 것에 의해 공개자의 다큐먼트들에 액세스한다. 이러한 상황에서, 공개자의 기계는 통상적으로, 승인된 액세싱 사용자들에게만 액세스를 허용하는 보안 시스템을 제공한다.
기계 위치를 입력하기 위해서는, 사용자가 기계 위치를 알고 있어야 한다. 기계 위치를 입력하는 한가지 방법은 인터넷 프로토콜("IP") 어드레스를 입력하는 단계를 수반한다. "IP 어드레스"는 인터넷상의 컴퓨터를 식별하는 숫자들의 고유한 스트링이다. IP 어드레스들은, 123.123.023.002처럼, 0과 255사이의 3-자리 숫자들의 4개 세트들로 조직된 32-비트를 포함한다. 인터넷상의 모든 기계들은 IP 어드레스를 가져야 하고 2개의 컴퓨터 시스템들이 동시에 동일한 IP 어드레스들을 가질 수는 없다. IP 어드레스들은 동적이거나 정적일 수 있다. 정적인 IP 어드레스는, 컴퓨터 시스템에 영구적으로 할당된 IP 어드레스로서, 그 시스템에 의해 사용되는 유일한 IP 어드레스이다. 동적인 IP 어드레스는, 예를 들어, 조직에 할당된 IP 어드레스들의 그룹으로부터 플라이(fly)에 할당되는 IP 어드레스이다. 하나의 IP 어드레스가 동시에 2개의 컴퓨터 시스템들에 대해 사용될 수는 없지만, 각각의 컴퓨터 시스템이 상이한 여러 개의 IP 어드레스들을 사용할 수도 있다. IP 어 드레스들은, 의미를 쉽게 이해할 수 없는 숫자들만을 포함하기 때문에, 사용자-친화적이지 않다. 이런 이유 때문에, 사람들이, 다른 사람들 소유의 기계들에 대한 IP 어드레스들은 물론이고, 그들 자신의 IP 어드레스들을 기억하는 것도 거의 불가능하다.
DNS(Domain Name System)는, 난해한 IP 어드레스 대신 문자들의 익숙한 스트링("도메인 네임")이 사용되게 함으로써, 기계 위치들을 찾아내는 것을 좀더 용이하게 한다. 그래서, 66.201.69.207을 기억하고 타이핑하는 대신, 사용자들은 www.microsoft.com을 타이핑할 수 있다. 또한, 도메인 네임들은 이-메일 어드레스들 및 다른 인터넷 애플리케이션들에 접속하는데도 사용된다. 도메인 네임들은, 인터넷 전체에 걸쳐 배치되어 있는 다수의 서버들상에서 호스트되는 서비스를 통해, 분해(resolution), 즉, 도메인 네임에서 IP 어드레스로 변환된다. 그러나, DNS는 2가지 이상의 제한들을 가진다. 첫번째, DNS는 이름 분해를 핸들링하기 위해 제3자 장비(DNS 서버들)를 사용해야 한다. 두번째, 거의 모든 사람들이 임의의 컴퓨터 시스템에 대한 특정 기계 이름 및 위치를 결정할 수 있기 때문에, 그다지 안전하지 않다. 따라서, 종래의 DNS는 컴퓨터 시스템에 리소스들을 공개하기에 그다지 효과적인 방법은 아니다.
기계 위치를 취하는 다른 방법은 공개 키를 사용하는 것이다. 공개 키들은 특정한 사람과 관련되어 있으며 긴 바이트 스트링, 예를 들어, KP12JSP2345L1298FE23KLKSERQOC38S와 같은, 32개의 숫자들 및 문자들로 이루어진다. 공개 키들은 통상적으로, 인터넷과 같은, 불안전한 공중 통신망의 사용자들로 하여금 신뢰할 수 있는 기관을 통해 획득되고 공유되는 공개 및 비밀 암호 키 쌍을 사용해 안전하고 은밀하게 데이터를 교환할 수 있게 한다. 공개 키 암호화는 메시지 송신자를 인증하거나 메시지를 암호화하기 위한 인터넷상의 가장 흔한 방법이다. 공개 키들은 다양한 방법으로 획득될 수 있다. 예를 들어, 공개 키는, 컴퓨터 시스템상에 사용자 어카운트를 생성할 때, 오퍼레이팅 시스템에 의해 생성 및 할당될 수 있다. 다른 방법으로, 공개 키 암호화에서, 공개 키 및 비밀 키는 인증 기관에 의해 동일한 알고리즘을 사용해 동시에 생성된다.
공개 키들은, 각 사람의 공개 키를 그들의 현재 위치와 함께 공개적으로 이용 가능한 테이블 또는 검색 가능한 다른 데이터 구조에 저장하는 PNRP(peer name resolution protocol)를 사용해 기계 위치들에 접속된다. 따라서, 그 사람의 공개 키를 알고 있다면, PNRP를 사용해, 대개는 IP 어드레스 형태인, 그와 관련된 현재의 기계 위치를 결정할 수 있다. 그러나, IP 어드레스와 마찬가지로, 공개 키는, 의미를 갖지 않으며 IP 어드레스 자체보다 더 기억하기 힘든 많은 비트들의 스트링이다.
기계 위치를 결정하는 또 다른 방법은, 기계 위치를 통합하거나 포함하는 링크를 (이메일 등을 통해) 수신하는 단계를 수반한다. 링크가 선택될 때, 브라우저는 링크와 관련된 IP 어드레스 또는 공개 키를 자동적으로 브라우저에 입력한다. 그러나 불행하게도, 액세싱 프린시플(accessing principal)은 이메일을 저장해야 하며, 액세싱 노드가 공개 노드의 리소스들을 액세스하고자 할 때마다, 이메일을 찾아서 열어야 한다. 이것은 시간 소모적이고, 번거로우며, 액세싱 기계상의 저장 용량을 낭비한다.
본 발명은 컴퓨터 프로세스, 컴퓨팅 시스템, 또는 컴퓨터 프로그램 제품 또는 컴퓨터 판독가능 매체들과 같은 제품으로 구현될 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 판독가능하며 컴퓨터 프로세스를 실행하기 위한 명령어들의 컴퓨터 프로그램을 인코딩하는 컴퓨터 저장 매체들일 수 있다. 또한, 컴퓨터 프로그램 제품은 컴퓨팅 시스템에 의해 판독가능하며 컴퓨터 프로세스를 실행하기 위한 명령어들의 컴퓨터 프로그램을 인코딩하는, 캐리어를 통해 전파되는 신호일 수도 있다.
다음의 상세한 설명 및 관련 도면들의 개요를 판독하는 것을 통해, 본 발명을 특징짓는 이러한 특징들 및 다른 여타 특징들 뿐만 아니라 이점들이 명백해질 것이다.
발명의 요약
본 발명은 네트워크 환경에서 함께 접속되어 있는 2개의 컴퓨터 시스템들 또는 노드들 사이에서 다큐먼트들을 액세스하고 공개하는 것에 관한 것으로서, 보다 구체적으로는, 네트워크 사용자들이 사용자-친화적 핸들에 대한 지식을 통해 이러한 다큐먼트들에 용이하게 액세스할 수 있도록 하기 위해, 다큐먼트들이 저장되어 있는 기계 위치를 가진 아이덴티티 정보를 나타내는 사용자-친화적 핸들(user-friendly handle) 사이에서 이름을 분해하는 시스템 및 방법에 관한 것이다. 다시 말해, 다큐먼트들이 저장되어 있는 기계 위치로 분해되는, 사용자 및 관심있는 다큐먼트들을 설명하는 경로 이름을 식별하는 사용자-친화적 핸들을 사용해, 사용자 의 다큐먼트들이 액세스될 수 있다. 이메일 어드레스는 사용자-친화적 핸들의 일례이고 IP 어드레스들 또는 공개 키들은 기계 위치들의 예들이다. 다큐먼트들이 저장되어 있는 컴퓨터 시스템 또는 노드는 공개 컴퓨터 시스템 또는 노드라고 하고, 공개 노드상에 저장되어 있는 다큐먼트들에 액세스하고자 하는 컴퓨터 시스템은 액세싱 컴퓨터 시스템 또는 노드라고 한다.
소정 양태들에 따르면, 제 2 액세싱 컴퓨터 시스템을 통해 제 1 공개 컴퓨터 시스템에 저장되어 있는 다큐먼트들에 액세스하는 방법은, 제 1 컴퓨터 시스템으로부터의 아이덴티티 정보 다큐먼트가 제 2 컴퓨터 시스템에 저장될 때 시작된다. 아이덴티티 정보 다큐먼트는, 최소한, 제 1 컴퓨터 시스템에 대한 프린시플 및 기계 위치를 식별하는 사용자-친화적 핸들을 가진다. 사용자-친화적 핸들을 포함하는, 다큐먼트들로의 액세스를 위한 초기 요구(initial request)이 형성될 때, 그것은 제 2 컴퓨터 시스템에 의해 인터셉트(intercept)된다. 제 2 컴퓨터 시스템은 사용자-친화적 핸들을 기계 위치로 대체하고 수정된 요구를 제 1 컴퓨터 시스템의 기계 위치로 송신한다. 이 방법은, 제 2 컴퓨터 시스템으로 하여금 사용자-친화적 핸들에 대한 지식만으로 제 1 컴퓨터 시스템상의 다큐먼트들에 액세스할 수 있게 한다. 제 1 컴퓨터 시스템에 대한 기계 위치, IP 어드레스, 또는 공개 키의 지식은 불필요하다.
다른 양태들에 따르면, 본 발명은 네트워크 환경에서 접속되어 있는 복수개의 노드들 사이에서 다큐먼트들을 공개하는 방법에 관한 것이다. 본 방법은, 공개 노드로부터의 아이덴티티 정보 다큐먼트를 액세싱 노드로 송신하는 것으로 시작한 다. 아이덴티티 정보 다큐먼트는 적어도 공개 노드에 대한 프린시플 및 기계 위치를 식별하는 사용자-친화적 핸들을 포함한다. 그 후, 아이덴티티 정보 다큐먼트는 액세싱 노드상에 저장된다. 다큐먼트들로의 액세스를 위한 초기 요구가 액세싱 노드로부터 공개 노드로 형성될 때, 사용자-친화적 핸들은 기계 위치로 분해된다. 다음으로, 다큐먼트들로의 액세스를 위한 수정된 요구가 액세싱 노드로부터 공개 노드의 기계 위치로 송신된다.
또 다른 양태에 따르면, 본 발명은 제 2 컴퓨터 시스템으로부터 수신된 아이덴티티 정보 다큐먼트를 저장하기 위한 저장 모듈 및 저장 모듈에 접속되어 있는 이름 분해 모듈을 구비하는 컴퓨터 시스템에 관한 것이다. 이름 분해 모듈은 아이덴티티 정보 다큐먼트의 사용자-친화적 핸들에 저장되어 있는 다큐먼트들로의 액세스를 위한 요구들을 인터셉트하고 사용자-친화적 핸들을 수정해 아이덴티티 정보 다큐먼트로부터의 기계 위치로 대체한다.
또 다른 양태들에 따르면, 본 발명은 이름 분해를 위한 컴퓨터 프로세스를 실행하기 위한 명령어들의 컴퓨터 프로그램을 인코딩하는 컴퓨터-판독가능 매체에 관한 것이다. 프로세스는 공개 컴퓨터 시스템으로부터의 아이덴티티 정보 다큐먼트를 저장하는 저장 연산으로 시작한다. 다음으로는, 초기 요구가 사용자-친화적 핸들을 포함할 경우, 인터셉트 연산이 공개 컴퓨터 시스템에 저장되어 있는 다큐먼트들로의 액세스를 위한 초기 요구를 인터셉트한다. 마지막으로는, 수정 연산이 요구를 수정해 사용자-친화적 핸들을 기계 위치로 대체한다.
도면의 간단한 설명
도 1은 본 발명의 양태들을 통합하는 노드들의 통신 또는 분산 네트워크를 도시한다.
도 2는 본 발명의 소정 양태들에 따라 사용될 수 있는 컴퓨터 시스템을 도시한다.
도 3은 본 발명의 소정 양태들에 따른 아이덴티티 정보 다큐먼트들의 구조를 도시한다.
도 4는 본 발명의 양태들에 따른 소프트웨어 환경 표현을 도시한다.
도 5는 액세싱 노드에 관한 본 발명의 연산 특징들의 흐름도를 도시한다.
도 6은 액세싱 노드 및 공개 노드에 관한 본 발명의 다른 실시예의 연산 특징들에 대한 흐름도를 도시한다.
도 7은 액세싱 노드 및 공개 노드에 관한 본 발명의 또 다른 실시예의 연산 특징들에 대한 흐름도를 도시한다.
바람직한 실시예의 상세한 설명
본 발명의 양태들을 통합하는 분산 환경(100)이 도 1에 도시되어 있다. 환경(100)은 하나 이상의 컴퓨터 시스템(102) 및 108, 110, 및 152와 같은 잠재적인 다른 컴퓨터 시스템들을 갖는데, 다양한 컴퓨터 시스템들을 "노드들" 또는 "기계들"이라고 한다. 여기에서 사용되는 바와 같이, "컴퓨터 시스템"은 광범위하게 해석될 것이며 "텍스트, 그래픽, 심볼들, 오디오, 비디오, 및/또는 숫자들을 디스플레이 및 조작하기 위한 프로그램들을 실행하는 하나 이상의 장치들 또는 기계들"로서 정의된다. 네트워크의 노드들은, 제한없이, 노드 108과 같은 전화기, 노드 110 과 같은 PDA, 노드 102 및 노드 152와 같은 데스크탑 컴퓨터, (나타내지 않은) 랩탑 컴퓨터, 및 여타의 많은 것들을 포함하는, 임의 유형의 컴퓨터 시스템일 수 있다. 또한, 컴퓨터 시스템들로서 표시되어 있지만, 노드들(102, 108, 110, 및 152)은, 다른 방법으로, 컴퓨터 시스템내의 컴퓨터 프로세스들일 수도 있다. 다른 방법으로, 노드들(102, 108, 110, 및 152)은 LAN, WAN, 또는 개개 네트워크 통신들의 조합을 통해 분산되어 있는 개별적인 컴퓨터 시스템들의 조합일 수도 있다.
상기한 바와 같이, 컴퓨터 시스템들(102, 108, 110, 및 152) 각각은 환경(100)내의 다른 노드들과 통신하거나 다른 네트워크 노드들과 다큐먼트들, 정보, 및 리소스들을 공유할 수 있는 환경(100)내의 노드들로 간주된다. 또한, 노드들은, 인터넷(106)과 같은 네트워크들상에 구현되어 있는, TCP/IP 또는 다른 네트워크 및/또는 통신 프로토콜들과 같은 개개 프로토콜들을 통해 통신할 수 있다. 즉, 직통인 것처럼 보이는 화살표들에 의해 접속되어 있는 것으로 표시되어 있지만, 개개 노드들(102, 108, 110, 및 152)은 사실상 다른 간접 경로들을 통해 다른 노드들과 통신하고 있을 수도 있다. 사실, 100에 도시된 접속들은 단순히, 노드가 다른 노드와 통신할 수 있다는 것을 지시할 뿐이다.
기계들(102, 108, 110, 및 152)간의 통신은, 상술된 바와 같이, 많은 통신 프로토콜들에 의해 실현될 수 있다. 여기에서 사용되는 통신의 정의는 하나의 노드에서 다른 노드로의 메시지, 이벤트, 또는 다른 임의 정보의 전달에 관한 것이다. 일 실시예에서, 환경(100)의 노드들은 네트워크(100)의 다른 모든 노드들과 통신할 수 있지만, 이러한 요구 사항이 반드시 필요한 것은 아니다. 제 1 노드에 서 제 2 노드로 정보를 통신하기 위해, 제 1 노드는 액세싱 노드에 대한 기계 위치 또는 다른 아이덴티티 정보를 필요로 한다. 기계 위치를 사용함으로써, 송신 노드는 임의의 전송 프로토콜을 사용해 정보를 송신할 수 있다.
도 1에는 4개의 노드들(102, 108, 110, 및 152)만이 표시되어 있지만, 네트워크 환경은 다른 노드들을 포함할 수도 있다. 실제로, 환경(100)을 위한 노드들의 수는 수천에서 수만개의 노드들 또는 그 이상을 포함하는 상당한 범위일 수 있다. 따라서, 본 발명은 필요에 따라 환경(100)을 스케일링하는 이점이 있으므로, 실제로는 임의 갯수의 노드들이 본 발명에 따라 정보를 통신할 수 있다.
본 발명은 네트워크 노드("공개 노드")에 저장되어 있는 리소스들을 다른 네트워크 노드("액세싱 노드")에 공개하거나 다른 네트워크 노드("액세싱 노드")와 공유하는 사용자-친화적 시스템 및 방법에 관한 것이다. 컴퓨터 시스템(102)은 공개 노드의 일례이며, 하나 이상의 디렉토리들 또는, 폴더들(118, 120, 122, 및 124)과 같은, 폴더들로 조직된 데이터를 가진 데이터베이스(104)를 포함한다. 데이터베이스(104)는 전자 다큐먼트들을 저장하고 검색하기 위한 일반적인 파일 시스템 또는 조직된 다른 데이터 시스템을 의미한다. 이와 같이, 데이터베이스(104)는, 여기에서 "다큐먼트들"이라고 하는, 임의 유형의 데이터 또는 파일을 포함할 수 있다. "다큐먼트들"이라는 용어는 광범위하게 해석되어야 하며, 컴퓨터 시스템상에 저장되어 있는 사진들, 비디오 클립들, 텍스트 파일들, 프레젠테이션들, 소프트웨어 코드, 또는 다른 개인적인 리소스를 포함할 수 있지만, 이에 한정되는 것은 아니다. 다큐먼트들은, 제한없이, 설명적인 이름들을 가진 폴더들 및 하부 폴더들 을 포함하여, 임의의 방법으로 데이터베이스내에 조직될 수 있다. 예를 들어, 폴더(118)는 "jpeg" 파일들을 포함할 수 있으며 "photos"로 명명될 수 있고, 폴더(120)는 오디오 클립들을 포함할 수 있으며 "music"이라 명명될 수 있고, 폴더(122)는 "mpeg" 파일들을 포함할 수 있으며 "movies"라 명명될 수 있고, 폴더(124)는 실행 가능한 코드를 포함할 수 있으며 "software"라 명명될 수 있다. 생략 부호(126)는, 임의 유형의 다큐먼트들을 포함하는 데이터베이스(104)에 일반적으로 임의 갯수의 폴더들이 존재할 수 있다는 것을 지시한다.
하나의 데이터베이스(104)만이 표시되어 있지만, 생략 부호(128)는, 기계(102)이 데이터베이스(104)와 동일한 방식으로 또는 상이한 방식으로 조직된 하나 이상의 데이터베이스를 가질 수 있다는 것을 지시한다. 예를 들어, 데이터베이스(104)는 기계의 프린시플 사용자에 대해 특정적일 수 있고 기계(102)에 위치하는 프린시플의 프로필에 저장될 수 있다. 여기에서 사용되는 바와 같이, "프린시플"은 광범위하게 해석되어야 하며 디지털적으로 동작할 수 있는 임의의 엔티티(entity)로서 정의된다. 프린시플들은 제한없이 개개의 사람들, 개인들을 의미하는 사람들의 그룹들 또는 세트들, 가족들, 조직들, 명시적인 그룹들, 및 공통적인 역할의 사람들이나 소정 종류의 속성들을 공유하는 사람들 뿐만 아니라 그를 통해 이러한 개인들이 동작하는 다양한 전자 장치들을 포함한다. 다른 프린시플은, 그 프린시플에 의해서만 액세스될 수 있는, 기계(102)에 저장되어 있는 상이한 데이터베이스를 가질 수 있다.
컴퓨터 시스템(102)은 추가적으로, 컴퓨터 시스템(102)에 의해 또는 컴퓨터 시스템(102)을 사용해 표현되는 프린시플에 관한 다양한 정보를 구비하는 셀프-아이덴티티 정보의 세트(set of self-identity information;130)를 보유한다. 이 정보는, 예를 들어, 프린시플의 컴퓨터 시스템에 대한 이름, 이메일 어드레스, 웹사이트 URL, 물리적인 메일링 어드레스, 기계 위치, 및 다른 개인적인 정보 뿐만 아니라 이 정보가 어떻게 사용될 수 있는지를 설명하는 사용 폴리시(usage policy)을 포함할 수 있다. 상이한 이들 식별 요소들 각각을 이하에서는 아이덴티티 정보 클레임들(identity claims)이라고 할 것이다. 중요한 것은, 아이덴티티 정보 클레임들의 세트는 적어도 컴퓨터 시스템(102) 및 기계 위치를 식별하는 사용자-친화적 핸들을 포함한다는 것이다.
컴퓨터 시스템(102)은 셀프-아이덴티티 정보(130)의 일부 또는 전부를 포함하는 아이덴티티 정보 다큐먼트(116)를 생성할 수 있으며, 도 1에 점선 화살표들(132)로써 나타낸 바와 같이, 아이덴티티 정보 다큐먼트(116)를 환경의 다른 임의 노드로 송신할 수 있다. 여기에서 사용되는 바와 같이, "아이덴티티 정보 다큐먼트"는, 아이덴티티 정보 다큐먼트를 수신하는 장치로 하여금 프린시플 및 프린시플의 관련 디지털 이벤트들을 식별할 수 있도록 하기 위해, 하나의 기계에서 다른 기계으로 전송되는 프린시플에 대한 아이덴티티 정보의 서브세트를 의미할 것이다. 아이덴티티 정보 다큐먼트(116)를 위한 한가지 가능한 포맷의 세부 사항들이 도 3을 참조하여 후술될 것이다. 그러나, 일반적으로 말해, 아이덴티티 정보 다큐먼트(116)는 다양한 유형들의 채널들을 통해 개개 시스템들 사이에서 정보를 전달하기에 적합한 포맷일 수 있다. 아이덴티티 정보 다큐먼트(116)를 컴퓨터 시스템(102) 에서, 컴퓨터 시스템(152)과 같은, 수신 시스템으로 전달하는데 사용되는 채널은 가능한 여러 매체들 중 하나일 수 있다. 예를 들어, 이메일, 인스턴트 메시징, 비밍, 및 많은 여타 메커니즘들이 채널들로서 사용될 수 있다. 또한, 채널은 안전할 수도 그렇지 않을 수도 있다.
컴퓨터 시스템(152)은 액세싱 노드의 일례이고 입력되는 아이덴티티 정보 다큐먼트(116)를 판독하고 상이한 변수들에 따라 그것을 수용하거나 거부하는 제어 모듈(154)을 포함한다. 예를 들어, 아이덴티티 정보 다큐먼트(116)가 공지의 프린시플로부터 유래한다면, 컴퓨터 시스템(152)은 아이덴티티 정보 다큐먼트(116)를 수용하고 저장할 것이다. 그러나, 아이덴티티 정보 다큐먼트(116)가 미지의 프린시플로부터 도달한다면 또는 사기꾼들이 아이덴티티 정보 다큐먼트(152)를 열어 변경하거나 위조하기에 충분한 동기를 가진다는 우려가 존재한다면, 컴퓨터 시스템(152)은 아이덴티티 정보 다큐먼트(116)를 거부하거나 그것의 인증에 대한 추가 검증을 시도할 수 있다.
일 실시예에서, 아이덴티티 정보 다큐먼트(116)가 일단 수용되고 나면, 그것이 포함하는 아이덴티티 정보 클레임들이 컴퓨터 시스템(152)의 인식된 아이덴티티 정보 데이터베이스(156)에 추가되는데, 컴퓨터 시스템(152)은 이 정보를, 그렇지 않으면 신뢰될 수 없는, 장차의 컴퓨터 시스템(102) 및 그 프린시플과 상호 작용 중인 이용 채널들을 검증 및 인증하는데 사용할 수 있다. 그 다음, 아이덴티티 정보 다큐먼트(116)에 의해 표현된 프린시플에게는, 예를 들어, 컴퓨터 시스템(102)의 데이터베이스(104)와 유사한 데이터베이스에 저장되어 있는 다큐먼트들과 같은 컴퓨터 시스템(152)상의 리소스들로의 액세스가 검증되고 부여될 수 있다.
또한, 컴퓨터 시스템(152)이 아이덴티티 정보 다큐먼트(116)를 자신의 데이터베이스(156)에 수용하고 저장한 다음, 컴퓨터 시스템(152)은, 도 4 내지 도 6을 참조하여 부연되는 바와 같이, 컴퓨터 시스템(102)의 프린시플에 대한 아이덴티티 정보 클레임들을 사용해 컴퓨터 시스템(102)의 데이터베이스(104)에 포함된 다큐먼트들에 좀더 쉽고 빠르게 액세스할 수 있을 것이다.
그러나, 일반적으로, 컴퓨터 시스템(152)은, 컴퓨터 시스템(152)을 사용하는 프린시플로부터 유래하거나 자동적으로 발생할 수 있는, 컴퓨터 시스템(102)상의 다큐먼트들을 액세스하기 위한 요구들을 인터셉트하는 분해 모듈(160)을 가진다. 프린시플로부터의 초기 요구는 사용자-친화적 핸들, 예를 들어, 컴퓨터 시스템(102)으로부터의 사용자 친화적인 핸들 아이덴티티 정보 클레임을 포함한다. 분해 모듈(160)은 사용자-친화적 핸들을, 컴퓨터 시스템(102)으로부터도 수신되는, 기계 위치로 전환하고, 적절한 정보를 컴퓨터 시스템(152)의 웹 브라우저에 입력하는데, 이제, 컴퓨터 시스템(152)은 컴퓨터 시스템(102)상의 요구된 데이터에 액세스한다. 분해 모듈(160)의 분해 연산 때문에, 컴퓨터 시스템(152)의 프린시플은 컴퓨터 시스템(102)에 대한 기계 위치, IP 어드레스, 또는 공개 키를 기억할 필요는 없는 대신, 사용자-친화적 핸들(및 관련 경로)만을 기억하면 된다.
본 발명의 일 실시예에서, 컴퓨터 시스템(152)은 (나타내지 않은) 셀프-아이덴티티 정보도 포함하고, 컴퓨터 시스템(102)은 (나타내지 않은) 제어 모듈 및 (나타내지 않은) 인식된 식별 데이터베이스도 포함한다. 컴퓨터 시스템(152)의 프린 시플이 컴퓨터 시스템(102)의 데이터베이스(104)의 다큐먼트들에 액세스하기 위해, 컴퓨터 시스템(152)의 프린시플은, 그에게 또는 그녀에게 데이터베이스(104)의 다큐먼트들에 대한 액세스가 부여되기 전에, 자신만의 아이덴티티 정보 다큐먼트(158)를 컴퓨터 시스템(102)으로 송신해야 한다. 다시 말해, 데이터베이스(104)의 다큐먼트들에 대한 액세스를 용이하게 요구하고 획득하기 위해, 컴퓨터 시스템(152)의 프린시플에 대한 아이덴티티 정보 다큐먼트들(116 및 158)의 상호 교환이 있어야 한다. 다른 방법으로, 컴퓨터 시스템(102)은 어떠한 검증 및 인증 프로세스도 필요로 하지 않을 수 있으며 임의의 액세싱 프린시플로 하여금 데이터베이스(104)에 포함된 다큐먼트들에 액세스하도록 허용할 수도 있다. 이 경우에는, 시스템(152)이 데이터베이스(104)에 액세스하도록 하기 위해, 컴퓨터 시스템(102)만이 아이덴티티 정보 다큐먼트(116)를 컴퓨터 시스템(152)으로 송신하면 된다. 즉, 공개 노드로부터 액세싱 노드로의, 아이덴티티 정보 다큐먼트들의 일방 교환만 있으면 된다.
도 2는, 본 발명에 따라 정보를 수신하고 유포하며 다큐먼트들을 공개하고 공유하는, 도 1에 나타낸 102 또는 152와 같은, 노드들 중 하나를 표현할 수 있는 컴퓨터 시스템(200)을 나타낸다. 시스템(200)은 하나 이상의 프로세서(202) 및 메모리(204)를 가진다. 프로세서(202)는 메모리(204)를 사용해, 데이터베이스(104)와 같은, 데이터베이스의 다큐먼트들, 셀프-아이덴티티 정보(130), 및 인식된 식별 데이터베이스(156)를 저장한다.
컴퓨터 시스템(200)의 가장 기본적인 구성이, 도 2에 점선(206)으로 도시되 어 있다. 추가적으로, 시스템(200)은, 자기 또는 광학 디스크들 또는 테이프를 포함하지만 그에 한정되는 것은 아닌, 추가적인 저장 장치(탈착가능 및/또는 탈착불가)를 포함할 수도 있다. 이러한 추가적인 저장 장치가 도 2에는 탈착가능 저장 장치(208) 및 탈착불가 저장 장치(210)로서 도시되어 있다. 컴퓨터 저장 매체들은, 컴퓨터 판독가능 명령어들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터와 같은, 정보의 저장을 위해 임의의 방법 또는 기술로 구현된 휘발성 및 비-휘발성, 탈착가능 및 탈착불가 매체들을 포함할 수 있다. 메모리(204), 탈착가능 저장 장치(208), 및 탈착불가 저장 장치(210)는 모두 컴퓨터 저장 매체의 예들이다. 컴퓨터 저장 매체들은 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disks) 또는 다른 광학 저장 장치, 자기 카세트들, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치들, 또는 소정 정보를 저장하는데 사용될 수 있으며 시스템(200)에 의해 액세스될 수 있는 임의의 여타 매체를 포함하지만, 이에 한정되는 것은 아니다. 임의의 이러한 컴퓨터 저장 매체들은 시스템(200)의 일부일 수 있다. 컴퓨팅 장치의 구성 및 유형에 다라, 메모리(204)는 휘발성, 비-휘발성, 또는 양자의 어떤 조합일 수 있다.
또한, 시스템(200)은, 본 장치가, 도 1에 나타낸 다른 노드들(108, 110, 또는 152)과 같은, 다른 장치들과 통신할 수 있게 하는 통신 접속부(들)(212)을 포함할 수도 있다. 추가적으로, 시스템(200)은, 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등과 같은, 입력 장치(들)(214)을 가질 수도 있다. 디스플레이, 스피커들, 프린터 등과 같은, 출력 장치(들)(216)도 포함될 수 있다. 이러한 장치 들 모두는 업계에 널리 공지되어 있으므로 여기에서 상세히 논의될 필요는 없다.
컴퓨터 시스템(200)은 통상적으로 컴퓨터 판독가능 매체들의 적어도 일부 형태를 포함한다. 컴퓨터 판독가능 매체는, 시스템(200)에 의해 액세스될 수 있는 이용 가능한 임의의 매체일 수 있다. 한정이 아닌 일례로써, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 구비할 수 있다. 컴퓨터 저장 매체는 상술되었다. 통신 매체는 통상적으로 컴퓨터 판독가능 명령어들, 데이터 구조들, 프로그램 모듈들 또는, 반송파나 다른 전송 메커니즘과 같은, 변조 데이터 신호의 다른 데이터에 의해 구현되며 임의의 정보 전달 매체들을 포함한다. "변조 데이터 신호"라는 용어는, 그것에 대한 특징들의 세트 중 하나 이상을 갖거나 정보를 신호로 인코딩하는 방식으로 변경된 신호를 의미한다. 한정이 아닌 일례로써, 통신 매체는 유선 네트워크 또는 직접-유선 접속과 같은 유선 매체, 및 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다. 상기한 것들의 임의 조합들 또한 컴퓨터 판독가능 매체의 범위내에 포함되어야 한다.
도 3은, 도 1에 나타낸 아이덴티티 정보 다큐먼트들(116 및 158) 중 하나 또는 양자를 표현할 수 있는 아이덴티티 정보 다큐먼트(300)에 대한 예시적인 포맷을 도시한다. 데이터 구조로서, 아이덴티티 정보 다큐먼트(300)는 아이덴티티 정보 클레임들 및, 공개 키에 바인딩될 수 있으며 매입된 사용 폴리시에 의해 지배될 수 있는 다른 속성/특성 클레임들의 집합이다. XML은 아이덴티티 정보 다큐먼트에 대한 인코딩 언어로서 사용될 수 있다. 그러나, 다른 포맷들도 마찬가지로 적당한 것으로 간주된다. 또한, 아이덴티티 정보 다큐먼트(300)의 요소들이 기밀성 (confidentiality)이 유지되어야 하는 정보를 포함한다면, 아이덴티티 정보 다큐먼트(300)의 요소들도 선택적으로 암호화될 수 있다.
아이덴티티 정보 다큐먼트(300)내의 데이터는, 논리적 컴포넌트들의 세트(302) 및 속성 태그들의 세트(316)를 포함하는, 2개의 카테고리들로 분할될 수 있다. 아이덴티티 정보 다큐먼트(300)는 6개의 중요한 논리적 컴포넌트들: 1) 프린시플 식별자(304; 2) 프린시플의 하나 이상의 아이덴티티 정보 클레임들(306; 3) 프린시플의 디스플레이 이름 및 0개 이상의 선택적으로 개시되는 속성들(308; 4) 임의의 수용 가능한 포맷들로 포장된(enveloped) 프린시플에 대한 하나 이상의 키들(310)(예를 들어, X509v3 인증서들의 공개 키들; 5) 프린시플의 사적 요구 사항들을 표현하는 사용 폴리시(312; 및 6) 데이터의 무결성(integrity)을 보호하며 아이덴티티 정보 업데이트들의 경우에 송신자를 인증하는, 아이덴티티 정보의 전체 내용에 대한 디지털 서명을 가진다. 이러한 6개의 논리적 컴포넌트들(302) 각각이 차례로 후술된다.
프린시플 식별자(304)는, 아이덴티티 정보 다큐먼트(300)에 포함된 아이덴티티 정보 클레임들의 프린시플인 프린시플을 식별하는 사용자-친화적 핸들이다. 프린시플이 사람이라면, 바람직한 프린시플 식별자(304)는 이메일 어드레스이다. 그러나, 프린시플 식별자는, 프린시플을 고유하게 식별하는 임의 유형의 사용자-친화적 핸들로서 광범위하게 해석되어야 하며, 이메일 어드레스들, 전화번호들, 휴대폰 번호들 등을 포함할 수 있지만, 이에 한정되는 것은 아니다.
아이덴티티 정보 클레임들(306)은, 아이덴티티 정보 다큐먼트의 주제인 프린 시플에 관한 추가적 구조 정보를 포함한다. 아이덴티티 정보 클레임들은, 물리적 메일링 어드레스들, 전화 및 팩스 번호들, 직장 정보, 생일 등을 포함할 수 있지만 이에 한정되는 것은 아닌, 프린시플에 관한 설명적인 정보로서 광범위하게 해석되어야 한다. 좀더 구체적으로, "아이덴티티 정보 클레임들"은 하나의 엔티티(사람, 조직 등)에 관해 고유하게 적용된다. 따라서, 일부 경우들에서는, 전화번호가 한사람에 대한 유효한 아이덴티티 정보 클레임일 수 있다. 예를 들어, 휴대폰 번호, 직통 전화번호, 또는 집 전화번호가, 휴대폰이나 직통 전화번호를 공유하지 않거나 혼자 사는 사람에 대한 유효한 아이덴티티 정보 클레임일 수 있다. 집 전화번호가 가족들에 의해 공유되는 경우와 같은, 다른 경우에서는, 전화번호가 한사람에 대한 유효한 아이덴티티 정보 클레임이 될 수 없다. 이러한 경우에는, 집 전화번호가, 개인이 아닌, 가족을 표현하는 아이덴티티 정보 클레임이 될 수 있다.
기계 위치(308)은 프린시플의 컴퓨터 시스템에 대한 고유 어드레스를 제공하며, 제한없이, IP 어드레스 또는 공개 키를 포함할 수 있다. 물리적 거리 주소와 마찬가지로, 기계 위치는 분산 네트워크내에서 컴퓨터 시스템을 찾아내고 컴퓨터 시스템에 접속하거나 컴퓨터 시스템과 통신하는데 필요하다. 프린시플이 하나 이상의 컴퓨터 시스템을 갖거나 컴퓨터 시스템이, 랩탑 컴퓨터 시스템 또는 PDA와 같은, 모바일이라면, 기계 위치(308)은 실제로 기계 위치들의 리스트를 포함할 수 있다. 일 실시예에서, 각각의 기계 위치는 그러한 기계 위치에 저장되어 있는 다큐먼트들의 리스트를 포함할 수 있다. 예를 들어, 프린시플이 "photos" 경로 이름에 jpeg 파일들을 저장하는 제 1 컴퓨터 시스템 및 "music" 경로 이름에 사운드 레코 딩들을 저장하는 제 2 컴퓨터 시스템을 포함한다면, 기계 위치(308)은 제 1 및 제 2 컴퓨터 시스템들 각각에 대한 IP 어드레스 및 "photos"가 제 1 컴퓨터 시스템에 대한 기계 위치에 저장되어 있고 "music"이 제 2 컴퓨터 시스템에 대한 기계 위치에 저장되어 있다는 지시를 포함할 수 있다.
키 부분(310;keys portion)은, 인증서 포맷(예를 들어, X509v3 인증서들)내에 보호되어 있는(encapsulated) 공개 키들과 같은, 하나 이상의 키들을 포함한다. 키들(310)은 공개 키들일 수 있고 아이덴티티 정보의 인식 정보 또는 주제로서 아이덴티티 정보에 포함될 수 있다. 인증서가 사용된다면, 인증서는 자체-서명되거나 인증 기관에 의해 발행될 수 있다.
사용 폴리시(312)은 아이덴티티 정보 다큐먼트(300)의 내용들에 대해 허용될 수 있는 사용들에 관한 프린시플의 명령어들을 전달한다. 예를 들어, 사용 폴리시(312)은, 아이덴티티 정보의 내용들이 다른 사람들에게 누설되지 말아야 한다는 것을 지시할 수 있다. 도 1의 데이터베이스(156)와 같은, 수신자의 인식된 아이덴티티 정보 데이터베이스는 프린시플을 정의하는 나머지 정보와 함께 사용 폴리시를 저장할 것이다.
디지털 서명(314)은 프린시플에 아이덴티티 정보 다큐먼트내의 데이터에 서명하는 능력을 제공한다. XML 서명들은 다큐먼트의 서명에 관한 3가지 방식들:enveloping, enveloped, 및 detached을 가진다. 본 발명의 일 실시예에 따르면, 아이덴티티 정보 다큐먼트들은 아이덴티티 정보 내용에 서명할 때 XML enveloped 서명들을 사용한다.
아이덴티티 정보 다큐먼트(300)는 아이덴티티 정보 다큐먼트(300) 자체에 관한 6개 이상의 속성 태그들(316)을 전달할 수 있다. 나타내지는 않았지만, 속성 태그들은 아이덴티티 정보 다큐먼트(300)에 대한 ID 값, 다큐먼트(300)에 대한 버전 정보, 및/또는 다큐먼트(300)가 표현하는 프린시플 유형, 예를 들어, 사람, 컴퓨터, 또는 조직,을 포함할 수 있다. 다른 속성 태그들도 이용될 수 있다.
일 실시예에서, 아이덴티티 정보 다큐먼트는 일반화된 방식으로, 각각, 도 1 및 도 4와 관련하여 상술된 시스템들(102 및 402)과 같은, 일차 컴퓨터 시스템(primary computer system)상에 저장된다.
도 4는 2 이상의 컴퓨터 시스템들(402 및 450) 사이에서 다큐먼트들을 액세스하고 공유하거나 공개하는 것에 관한 펑션 컴포넌트들을 도시한다. 즉, 도 4는 본 발명의 양태들에 따른 소프트웨어 컴포넌트들 또는 모듈들을 나타낸다. 구체적으로, 도 4는 본 발명에 따라 다큐먼트들을 공개하고 액세스하는데 사용되는 공개 노드 또는 컴퓨터 시스템(402) 및 액세싱 노드 또는 컴퓨터 시스템(452)과 그들과 관련된 모듈들을 도시한다. 컴퓨터 시스템(402)은, 표시되지 않은 다른 모듈들과 더불어, 다음의 컴포넌트들: 1) 데이터베이스(404; 2) 아이덴티티 정보 다큐먼트 모듈(414; 3) 사용자-인터페이스 모듈(416; 4) 검증 및 공개 모듈(418; 5) 메모리 액세스 모듈(420; 6) 통신 모듈(422; 및 7) 셀프-아이덴티티 정보 데이터베이스(424)를 가진다.
도 1에 나타낸 데이터베이스(104)와 마찬가지로, 데이터베이스(404)는 폴더들(406, 408, 410, 및 412)로 조직될 수 있는 다큐먼트들을 포함한다. 이 예에서, 이들 다큐먼트들은 시스템(452)에 공개됨으로써 시스템(452)에 의해 액세스될 다큐먼트들을 표현한다.
사용자-인터페이스 모듈(416)로 인해, 컴퓨터 시스템(402)의 프린시플은, 제한없이, 메모리 액세스 모듈(420), 아이덴티티 정보 다큐먼트 모듈(414), 및 통신 모듈(422)을 포함하는 다른 모듈들 중 하나에 액세스하고 그것을 제어할 수 있다. 본 발명 및 특히 도 4에 나타낸 예가 시스템(402)에 대한 사용자 상호 작용을 의도하긴 하지만, 이것이 본 발명의 양태들을 실현하는데 반드시 필요한 것은 아니다.
메모리 액세스 모듈(420)로 인해, 컴퓨터 시스템(402) 및/또는 프린시플은 데이터베이스(402)에 포함되어 있는 데이터 및/또는 셀프-아이덴티티 정보 데이터베이스(424)에 포함되어 있는 데이터와 같은, 시스템상에 저장되어 있는 데이터에 액세스할 수 있다. 다른 방법으로, 컴퓨터 시스템(402)은, 아이덴티티 정보 다큐먼트 모듈(414) 또는 검증 및 공개 모듈(418)과 같은, 다른 모듈들을 통해 메모리 액세스 모듈(420)에 액세스할 수 있다. 프린시플은 사용자-인터페이스 모듈(416)을 사용해 메모리 액세스 모듈(414)을 제어한다.
아이덴티티 정보 다큐먼트 모듈(414)은, 메모리 액세스 모듈(414)을 사용해 셀프-아이덴티티 정보 데이터베이스(424)로부터 데이터를 끌어내는 것에 의해, 도 3에 나타낸 아이덴티티 정보 다큐먼트(300)와 같은, 아이덴티티 정보 다큐먼트들을 생성한다. 아이덴티티 정보 다큐먼트 모듈(414)은 사용자 인터페이스 모듈(416)을 통해 프린시플로부터 명령이 수신될 때 아이덴티티 정보 다큐먼트를 생성하거나 프린시플로부터의 직접적인 명령없이 표준화된 절차를 통해 아이덴티티 정보 다큐먼 트들을 생성할 수 있다. 아이덴티티 정보 다큐먼트 모듈(414)은 아이덴티티 정보 다큐먼트를 네트워크의 다른 노드들로의 통신을 위한 통신 모듈(422)로 전달한다. 다른 실시예들에서는, 아이덴티티 정보 다큐먼트가 단순히 메모리에 저장되고, 요구시에, 다큐먼트는 통신 모듈(422)을 통해 다른 시스템으로 전송된다.
통신 모듈(422)은, 컴퓨터 시스템(452)과 같은 다른 네트워크 노드들과의 정보 송수신을 포함하여, 컴퓨터 시스템(402)과 네트워크의 다른 노드들간의 통신을 제어한다. 일반적으로, 프린시플은 사용자 인터페이스 모듈(416)을 통해 통신 모듈(422)을 제어하고, 이 프로세스를 통해, 아이덴티티 정보 다큐먼트가 컴퓨터 시스템(452)과 같은 다른 컴퓨터 시스템들로 송신될 것을 명령할 수 있다. 또한, 통신 모듈(422)은 프린시플로 하여금, 이메일과 같은, 정보의 다른 유형들을 네트워크의 다른 노드들로 송신할 수 있게 한다.
검증 및 공개 모듈(420)은 통신 모듈(422)을 통해 다른 네트워크 노드들로부터, 데이터베이스(404)의 다큐먼트들과 같은, 다큐먼트들을 액세스하고 공개하기 위한 요구들을 수신한다. 일 실시예에서, 검증 및 공개 모듈(422)은 게이트 키핑 펑션(gate-keeping function)을 수행하며, 액세싱 컴퓨터 시스템이, 공개된 다큐먼트들을 수신하기 위한, 프린시플로부터의 사용 권한을 가지는지의 검증을 시도한다. 사용 권한이 존재하면, 검증 및 공개 모듈(420)은 메모리 액세스 모듈(420)을 사용해 요구된 다큐먼트들을 검색하고 검색된 다큐먼트들을 액세싱 컴퓨터 시스템으로의 통신을 위해 통신 모듈(422)로 송신하는 것에 의해 다큐먼트들을 공개한다. 사용 권한이 존재하지 않으면, 검증 및 공개 모듈(420)은 공개 요구를 거부하는데, 이것은 통신 모듈(422)을 통해 액세서로 통신된다. 다른 실시예에서는, 검증 및 공개 모듈(420)이 게이트-키퍼로서 동작하지 않으며, 요구된 모든 다큐먼트들을 검색하고 공개한다.
컴퓨터 시스템(452)은, 도 1의 노드(152)와 유사한, 액세싱 노드의 일례이고 다음의 컴포넌트들: 1) 통신 모듈(454; 2) 검증 모듈(460; 3) 저장 모듈(458; 4) 이름 분해 모듈(456; 및 5) 사용자-인터페이스 모듈(462)을 포함한다.
사용자-인터페이스 모듈(416)과 마찬가지로, 사용자-인터페이스 모듈(462)로 인해, 컴퓨터 시스템(452)의 프린시플은, 제한없이, 통신 모듈(422)을 포함하는 다른 모듈들 중 하나에 액세스하고 그것을 제어할 수 있다. 그래서, 예를 들어, 시스템(452)의 프린시플은, 사용자-인터페이스 모듈(416)을 사용해, 다큐먼트들을 공개하기 위한 요구를 공개 노드(402)로 송신할 것을 통신 모듈(422)에 지시할 수 있다.
통신 모듈(422)과 마찬가지로, 통신 모듈(454)은, 컴퓨터 시스템(402)과 같은 다른 네트워크 노드들과의 정보 송수신을 포함하여, 컴퓨터 시스템(452)과 네트워크의 다른 노드들간의 통신을 제어한다. 통신 모듈(454)은, 그것이 다른 네트워크 노드들로부터 수신하는 아이덴티티 정보 다큐먼트들을 검증 모듈(460)로 전달하는 것을 책임진다.
검증 모듈(460)은 아이덴티티 정보 다큐먼트들을 전환하고, 이들이 안전한 소스, 안전한 채널로부터 유래한 것인지 또는 인증될 수 있는지의 여부를 결정하는 것을 책임진다. 아이덴티티 정보 다큐먼트가 수용되면, 검증 모듈은 아이덴티티 정보 다큐먼트를 저장 모듈(458)로 전달한다. 본질적으로, 검증 모듈(460)은, 입력되는 아이덴티티 정보 다큐먼트(116)를 판독하고 상이한 변수들에 따라 그것을 수용하거나 거부한다는 점에서, 제어 모듈(154)의 소정 펑션과 관련이 있다.
저장 모듈(458)은 컴퓨터 시스템(452)에 의한 후속적인 사용들을 위해 아이덴티티 정보 다큐먼트를 저장한다. 검증 모듈(460)과 마찬가지로, 저장 모듈(458) 또한, 그것이 수용된 아이덴티티 정보 다큐먼트들을 저장한다는 점에서, 도 1과 관련하여 도시되고 설명된 제어 모듈(154)의 펑션들 중 일부를 수행한다.
마지막으로, 이름 분해 모듈(456)은 통신 모듈(454)로부터 사용자-친화적 핸들의 형태로 다른 네트워크 노드로부터 공개된 다큐먼트들에 액세스하기 위한 요구를 인터셉트하는 것을 책임진다. 상술된 바와 같이, 요구는 사용자-인터페이스 모듈(462)을 통해 프린시플로부터 발생할 가능성이 매우 높다. 또한, 이름 분해 모듈(456)은, 인터셉트된 사용자-친화적 핸들과 매칭되는 (도 3의 프린시플 식별자(304)와 같은) 프린시플 식별자를 가진 아이덴티티 정보 다큐먼트를 위한 저장 모듈(458)을 검색하고, 요구를 수정해 아이덴티티 정보 다큐먼트에서 기술된 기계 위치로 사용자-친화적 핸들을 대체 또는 교체하며, 다큐먼트들을 공개하기 위한 요구를 기계 위치 형태로 통신 모듈(454)로 재송신하는 것을 책임진다. 이름 분해 모듈(456)은, 액세싱 노드로부터의 다큐먼트들에 액세스하기 위한 요구들을 인터셉트하고, 사용자-친화적 핸들을 공개 노드에 대한 기계 위치로 변환하며, 적절한 정보를, 공개 노드상의 요구된 데이터를 액세스하는 컴퓨터 시스템(152)의 웹 브라우저에 입력한다는 점에서, 도 1의 분해 모듈(160)과 유사하다.
도 5는, 도 1의 컴퓨터 시스템(102) 또는 도 4의 컴퓨터 시스템(402)과 같은, 공개 컴퓨터 시스템상에 위치하는 다큐먼트들을 도 1의 컴퓨터 시스템(152) 또는 도 4의 컴퓨터 시스템(452)과 같은, 액세싱 컴퓨터 시스템에 공개하는 방법을 나타낸다. 흐름도(500)는 일반적으로 액세싱 노드에 의해 수행되는 프로세스에 관한 것이다.
흐름도(500)는, 공개 노드로부터의 아이덴티티 정보 다큐먼트와 같은, 아이덴티티 정보 다큐먼트가, 도 1의 인식된 식별 데이터베이스(156)에서와 같이, 액세싱 컴퓨터 시스템상의 위치에 저장되는 저장 연산(502)으로 시작한다. 도 3에 나타낸 아이덴티티 정보 다큐먼트(300)와 마찬가지로, 수신된 아이덴티티 정보 다큐먼트는 최소한, 이메일 어드레스와 같은, 공개 시스템의 프린시플을 식별하는 사용자-친화적 핸들 및, IP 어드레스와 같은, 프린시플의 컴퓨터 시스템에 대한 기계 위치를 포함할 것이다. 그 이후 조만간, 인터셉트 연산(504)이 공개 노드상에 저장되어 있는 공개 다큐먼트들에 액세스하기 위한 초기 요구를 인터셉트한다. 요구는 액세싱 노드의 프린시플에 의해 개시되는 요구, 액세싱 컴퓨터 시스템내의 다른 모듈들에 의해 개시되는 요구, 또는 자동적인 요구일 수 있다. 요구는 공개 노드의 프린시플 또는 공개 노드 자체를 식별하는 사용자-친화적 핸들의 형태이거나 사용자-친화적 핸들을 포함할 것이다. 예를 들어, 요구는 이-메일 어드레스에 위치하는 다큐먼트들에 액세스하기 위한 것일 수도 있다.
다음으로는, 검색 연산(506)이, 프린시플 식별자가 요구 연산(504)에서 수신된 사용자-친화적 핸들과 매칭되는지의 여부를 결정하기 위해, 사전에 수신되고 저 장된 아이덴티티 정보 다큐먼트들을 검색한다. 시스템이 매칭되는 아이덴티티 정보 다큐먼트를 단계 506에서 찾아낼 수 없다면, 흐름도(500)는, 프린시플 또는 다른 모듈에 요구가 실패했다는 것을 통지하는 507로 분기한다. 요구가 실패했다는 것을 프린시플에 통지할 때, 프로세스(500)는 종료된다. 이때, 프로세스를 다시 시작하기 위해 요구 또는 유사한 다른 요구를 재입력할 수 있다.
검색 연산(506)이 매칭되는 아이덴티티 정보 다큐먼트, 즉, 단계 504에서 수신된 이-메일 어드레스와 매칭되는 프린시플 식별자를 아이덴티티 정보 다큐먼트를 찾아낸다면, 흐름도(500)는 예(YES)인 결정 연산 508로 분기한다. 결정 연산(508)은, 단계 506에서 찾아낸 아이덴티티 정보 다큐먼트에 포함되어 있는 기계 위치를 결정한다.
결정 연산(508)에 수반하여, 분해 연산(510)은 사용자-친화적 핸들, 예를 들어, 이메일 어드레스를 기계 위치, 예를 들어, IP 어드레스 123.123.023.002로 대체한다. 다음으로, 송신 연산(512)은, 사용자-친화적 핸들이 아니라, 기계 위치 형태의 다큐먼트들을 공개하기 위한 요구를 공개 노드로 송신한다.
단계들(506 및 508-512)은 화면들 이면에서 발생하며 프린시플에 드러나지 않는다. 오히려, 프린시플에게는, 공개된 다큐먼트들에 액세스하기 위한 그의 또는 그녀의 요구가, 의미없는 기계 위치가 아니라, 사용자-친화적 핸들, 예를 들어, 이메일 어드레스의 형태로 전달되는 것처럼 보인다. 이런 식으로, 프린시플은 공개 컴퓨터 시스템의 프린시플을 식별하는 사용자-친화적 핸들에 대한 지식만으로 상이한 컴퓨터 시스템상에서 찾아낸 다큐먼트들에 액세스할 수 있다. 액세싱 시스 템의 프린시플은 이러한 다큐먼트들에 액세스하기 위해, IP 어드레스들과 같은, 성가신 숫자들을 알거나 기억할 필요가 없다.
도 6은 마찬가지로 공개 컴퓨터 시스템상에서 찾아낸 다큐먼트들을 공개하는 방법을 나타내지만, 컴퓨터 시스템(102 또는 402)과 같은, 공개 노드 및, 컴퓨터 시스템(152 또는 452)과 같은, 액세싱 노드에 의해 수행되는 프로세스들 모두를 나타낸다.
흐름도(600)는, 액세싱 노드와 같은, 다른 노드로 하나 이상의 다큐먼트들의 위치에 대한 경로 이름 및 공개 노드의 프린시플을 식별하는 사용자-친화적 핸들을 전달하는 전달 연산(602)으로 시작한다. 예를 들어, 송신 연산은, 이름이 Bob인 공개 노드의 프린시플로부터의 "check out my photos at [email protected]/photos"라는 내용의 이메일 메시지를 구비할 수 있다. 다른 방법으로, 프린시플은 전화 통화, 팩스 다큐먼트, 또는 소정의 다른 수단을 통해, 경로 이름 및 사용자-친화적 핸들을 액세싱 노드 또는 프린시플로 송신할 수 있다. 흐름도(600)는, 액세싱 기계가 다큐먼트들에 대한 경로 이름 및 공개 기계의 프린시플을 식별하는 사용자-친화적 핸들을 수신하는 수신 연산(604)으로 이동한다. 다음으로, 송신 연산(606)은 공개 기계의 프린시플에 대한 아이덴티티 정보 다큐먼트, 이 예에서는, Bob의 아이덴티티 정보 다큐먼트를 액세싱 노드로 송신한다. 아이덴티티 정보 다큐먼트를, 도 1과 관련하여 설명되고 도시된 데이터베이스(156)와 유사한, 인식된 식별 데이터베이스에 저장하는 저장 연산(609)이 수반되는, 수신 연산(608)은 Bob의 아이덴티티 정보 다큐먼트를 수신한다.
다른 실시예에서는, (나타내지 않은) 검증 연산이 수신 연산(608) 이후와 저장 연산(609)이전에 발생한다. 검증 연산은 아이덴티티 정보 다큐먼트로써 표현된 프린시플의 인증을 시도하며 아이덴티티 정보 다큐먼트를 수용하고 저장할 것인지의 여부에 관해 결정한다.
그 이후 조만간, 인터셉트 연산(610)이 다큐먼트들로의 액세스를 위한 초기 요구를 인터셉트한다. 초기 요구는 프린시플 또는 다른 소스로부터 기인할 수 있으며, [email protected]/photos와 같은, 사용자-친화적 핸들/경로 이름의 다큐먼트들에 대한 액세스를 획득하고자 시도한다. 다음으로는, 분해 연산(612)이, 도 5에서 상세하게 설명된 프로세스를 사용해 사용자-친화적 핸들을 기계 위치로 대체하는 것에 의해, 즉, 매칭되는 아이덴티티 정보 다큐먼트를 찾아내고, 기계 위치를 결정하며, 사용자-친화적 핸들을 기계 위치로 대체하는 것에 의해, 초기 요구를 분해해 수정된 요구를 생성한다.
다른 실시예에서는, (나타내지 않은) 파싱 연산이 사용자-친화적 핸들 및 경로 이름을 분리하고 초기 요구의 사용자-친화적 핸들 부분과의 매칭만을 검색한다. 예를 들어, 파싱 연산은 "/photos"를 누락하고 [email protected]의 Bob 이메일로 프린시플 식별자를 검색할 것이다.
또 다른 실시예에서, 프린시플의 아이덴티티 정보 다큐먼트는 하나 이상의 기계 위치 및, 어떤 기계 위치가 인터셉트된 요구에 포함된 경로 이름을 포함하는지를 결정하기 위해 아이덴티티 정보 다큐먼트의 기계 위치 각각을 검색하는 (나타내지 않은) 추가적인 검색 연산을 포함한다. 그 다음, 분해 연산(612)은 초기 요구에서 기술된 경로 이름으로 대응되는 기계 위치를 대체한다.
분해 연산(612)이 완결된 후, 송신 연산(614)은 사용자-친화적 핸들 대신에 기계 위치를 사용해 공개된 다큐먼트들에 대한 수정된 요구를 송신한다. 경로 이름이 관련된다면, 송신 연산(614)은 그 경로에서 찾아낸 다큐먼트들에 액세스하기 위한 요구를 더 포함한다.
이 시점에서, 흐름도(600)는, 특정 경로, 이 경우, 도 1의 폴더(118)과 같은, photos 폴더의 다큐먼트들을 액세스하기 위한 수정된 요구를 수신하는, 공개 기계의 수신 연산(616)으로 다시 이동한다. 다음으로는, 검증 연산(618)이, 액세싱 노드의 프린시플이 요구된 다큐먼트들을 볼 수 있도록 인증되었는지의 여부를 결정한다. 액세싱 프린시플이 인증되지 않았다면, 흐름도(600)는, 다큐먼트들로의 액세스 요구를 거부하는, 거부 연산(620), 아니오(NO)로 분기하고, 프로세스는 종료된다.
액세싱 프린시플이 인증되었다면, 흐름도(600)는, 송신 연산(614)에 포함된 경로 이름을 사용해 요구된 다큐먼트들을 찾아내는, 찾아내기 연산(622), 예(YES)로 분기한다. 마지막으로, 공개 연산(624)이 요구된 다큐먼트들을 공개하며, 흐름도(600)는 종료된다.
본 발명의 일 실시예에서, 검증 연산(618)은, 액세싱 프린시플이 인식된 식별 데이터베이스에 열거되어 있는지의 여부, 즉, 액세싱 프린시플이 그의 또는 그녀의 아이덴티티 정보 다큐먼트를 사전에 공개 노드로 송신했는지의 여부를 결정하기 위해 검사한다. 대답이 예라면, 검증 연산(618)은 찾아내기 연산(622), 예 (YES)로 분기한다. 따라서, 이 실시예에서는, 하나의 기계에서 다른 기계으로 공개될 다큐먼트들에 대한 아이덴티티 정보 다큐먼트들의 상호 교환이 요구된다. 이것이 다큐먼트들을 공개하는 가장 안전한 방법이다.
본 발명의 다른 실시예에서는, 검증 연산(618)이, 액세싱 프린시플이 자신의 아이덴티티 정보 다큐먼트를 송신할 것을 요하지 않는다. 대신에, 검증 연산(618)은, 요구된 다큐먼트들로의 액세스를 허용할 것인지의 여부를 결정함에 있어 다른 변수를 고려하거나 검증 연산(618) 및 거부 연산(620)이 흐름도(600)로부터 모두 누락될 수 있다. 오히려, 흐름도(600)는 수신 연산(616)에서 찾아내기 연산(622)으로 바로 진행할 것이다. 다시 말해, 공개 기계는, 자신의 아이덴티티 정보 다큐먼트를 가진 모든 사람에게 자신의 시스템상의 다큐먼트들에 액세스하도록 허용할 것인지를 결정할 수 있다. 이 방법이 마지막 방법보다 간단하긴 하지만, 아이덴티티 정보 다큐먼트들의 상호 교환을 요하는 것만큼 안전하지는 않다.
또 다른 실시예에서는, (나타내지 않은) 통지 연산이, 다큐먼트들에 액세스하기 위한 요구가 거부되었다는 것을 액세싱 노드에 통지한다. 통지시에, (나타내지 않은) 다른 송신 연산은 액세싱 노드 또는 액세싱 노드의 프린시플을 표현하는 아이덴티티 정보 다큐먼트를 공개 노드로 송신하며 인터셉트 연산(610)에서 프로세스를 다시 시작할 수 있다. 공개 노드가 액세싱 노드의 아이덴티티 정보 다큐먼트를 수신했다면, 흐름도(600)는 거부 연산(620), 아니오(NO)로 분기하기보다는 찾아내기 연산(622), 예(YES)로 분기할 가능성이 크다.
본 발명의 또 다른 실시예에서, 아이덴티티 정보 다큐먼트의 기계 위치 부분 은 IP 어드레스가 아니라 공개 키를 포함할 수도 있다. 여기에서 사용되는 바와 같이, "공개 키"는 광범위하게 해석되어야 하며, 의미가 인식되지 않는 숫자들 및/또는 문자들로 이루어진, 프린시플에 고유한 코드로서 정의되어야 한다. 상기 시스템 및 방법들은, 후술되는 바와 같이, 한가지를 제외하면, 상술된 바와 같이 동작할 것이다.
공개 키가 아이덴티티 정보 다큐먼트의 기계 위치로 사용될 경우, 공개 키는, PNRP를 사용해, IP 어드레스일 수 있는, 프린시플의 현재 기계 위치를 탐색하는데 사용된다. PNRP는 일반적으로, 공개 키들 및 현재 기계 위치들의 해시들을 포함하는, 지식의 분산 시스템으로 이루어진다. 따라서, 공개 키는 프린시플의 "현재" 기계 위치를 찾아내는데 사용된다. 여기에서 사용되는 바와 같이, "현재 기계 위치"는 소정 시점에서의 기계 위치를 의미하는 것으로 광범위하게 해석되어야 한다. 예를 들어, 컴퓨터 시스템이 동적인 IP 어드레스를 사용한다면, 그것의 현재 기계 위치는 제 1 시점에서 제 2 시점으로 달라질 수 있다. 공개 키 및 PNRP의 사용으로 인해, 액세싱 노드는, 공개 노드가 동적인 IP 어드레스를 사용하는 경우라 하더라도, 공개 노드로부터의 다큐먼트들을 액세스할 수 있다.
다른 방법으로, 기계가, 랩탑 컴퓨터 시스템 또는 PDA와 같은, 모바일이라면, 현재의 기계 위치는 달라질 수 있다. PNRP는 모바일 기계들에 대한 현재의 기계 위치들을 추적할 수도 있다. 또한, 공개 키 및 PNRP의 사용으로 인해, 액세싱 노드는, 공개 노드가 모바일인 경우라 하더라도, 공개 노드로부터의 다큐먼트들에 액세스할 수 있다.
공개 키가 기계 위치로 사용된다면, 액세싱 노드는, 공개 노드의 다큐먼트들에 대한 액세스를 획득하기 위해, 공개 노드의 공개 키를 알고 있어야 한다. 액세싱 노드가 공개 노드의 공개 키를 획득하는 유일한 방법은 공개 노드가 자신의 키를 공개 노드로 송신하는 것이다. 이런 식으로, 공개 노드는, 자신이 공개 키를 송신하는 사람들을 제어하는 것에 의해, 자신의 리소스들에 액세스할 수 있는 사람들을 효과적으로 제어할 수 있다.
도 7은, 컴퓨터 시스템(102 또는 402)과 같은, 공개 컴퓨터 시스템상에서 찾아낸 다큐먼트들을, 컴퓨터 시스템(152 또는 452)와 같은, 액세싱 컴퓨터 시스템으로 공개하는 방법에 관한 본 발명의 또 다른 실시예를 나타낸다.
흐름도(700)는, 암호화된 기계 이름 및 호스트 도메인을 등록하고, 등록된 기계 위치를 종래의 DNS 서버와 관련짓는 등록 연산으로 시작한다. DNS 서버들은 일반적으로, IP 어드레스와 같은, 대응되는 등록된 기계 위치와 함께 호스트 도메인들에 첨부된 기계 이름들을 테이블에 저장한다. 네트워크 사용자들은 DNS 서버를 사용해 특정 기계들에 대한 등록된 IP 어드레스들을 탐색한다. 여기에서 사용되는 바와 같이, "암호화된 기계 이름"은, 공개 키가, 사람들이 이해할 수 없거나 보통의 장비에서는 사용할 수 없는 비밀 코드로 변경되었음을 의미할 것이다. 암호화된 기계 이름을 생성하는 한가지 방법은 공개 키에 알고리즘을 적용하는 것이다.
다음으로는, 전달 연산(706)이 하나 이상의 다큐먼트들의 위치에 대한 경로 이름 및 공개 노드의 프린시플을 식별하는 사용자-친화적 핸들을 전달한다. 흐름 도(700)는, 액세싱 기계가 다큐먼트들에 대한 경로 이름 및 공개 기계의 프린시플을 식별하는 사용자-친화적 핸들을 수신하는 수신 연산(706)으로 이동한다. 그 후에 조만간, 송신 연산(708)은 공개 기계의 프린시플에 대한 아이덴티티 정보 다큐먼트를 액세싱 노드로 송신한다. 아이덴티티 정보 다큐먼트는 적어도 프린시플 식별자, 공개 키, 및 공개 노드의 프린시플에 대한 도메인 호스트를 포함한다. 아이덴티티 정보 다큐먼트를 도 1과 관련하여 설명되고 도시된 데이터베이스(156)와 유사한 인식된 식별 데이터베이스에 저장하는 저장 연산(712)이 수반되는, 수신 연산(610)이 아이덴티티 정보 다큐먼트를 수신한다.
그 후에 조만간, 인터셉트 연산(712)은 다큐먼트들로의 액세스를 위한 요구들을 인터셉트한다. 초기 요구는 프린시플이나 여타 소스로부터 기인할 수 있으며 사용자-친화적 핸들/경로 위치의 다큐먼트들에 대한 액세스를 획득하고자 한다. 다음으로는, 분해 연산(714)이 초기 요구의 사용자-친화적 핸들을, 도 5에서 상세하게 설명된 프로세스를 사용해, 사용자-친화적 핸들과 매칭되는 프린시플 식별자를 가진 아이덴티티 정보 다큐먼트에서 기술된 공개 키 및 도메인 호스트로 분해한다.
다음으로는, 변환 연산(718)이 공개 키에 대한 계산을 수행해 그것을 암호화된 기계 이름으로 변환하고, 첨부 연산(720)이 암호화된 기계 이름을 도메인 호스트에 첨부한다. 일 실시예에서, 변환 연산은 공개 키에 대해 알고리즘을 수행하는 단계를 구비하는데, 알고리즘은 등록 연산(702)에서 공개 노드에 의해 사용되는 것과 동일한 알고리즘이다. 알고리즘은 많은 네트워크 노드들에 의해 공통적으로 사 용되는 표준 알고리즘이거나 다른 방법으로 액세싱 노드에 의해 수신된 특정 알고리즘일 수 있다.
그 다음, 흐름도(700)는, 암호화된 기계 이름/도메인 호스트 조합을 사용해 DNS 서버상에서 등록된 기계 위치를 탐색하는, 탐색 연산(722)으로 이동한다. 탐색 연산(722)이 완결된 후, 수정 연산(724)은 초기 요구를 수정해 사용자-친화적 핸들을 등록된 기계 위치로 대체하고, 사용자-친화적 핸들 대신에 등록된 기계 위치를 사용해 공개된 다큐먼트들에 대한 수정된 요구를 송신한다. 경로 이름이 관련되면, 송신 연산(614)은 그 경로에서 찾아낸 다큐먼트들에 액세스하기 위한 요구를 더 포함한다.
흐름도(700)에 의해 도시된 방법을 사용하는 이점은, 그것이 공개 기계으로 하여금, 종래의 DNS 서버들을 이용하면서 추가적인 보안 대책들을 이용할 수 있게 한다는 점이다. 보통, DNS 어드레스들은 공개적으로 이용될 수 있으며 잠재적인 해커들은 DNS 서버들을 사용해 공개 노드의 기계 이름 및 기계 위치를 알 수 있다. 그 다음, 해커들은 이 정보를 사용해 공개 노드 리소스들로의 인증되지 않은 액세스를 획득할 수 있다. DNS 서버에 암호화된 기계 이름을 등록하면 해커들은 공개 노드의 기계 이름을 알 수 없지만, 인증된 사용자가 공개 노드 리소스들로의 액세스를 획득하는 것이 어려워진다. 프로세스(700)로 인해, 인증된 액세스 노드들은 사용자-친화적 핸들에 대한 지식만으로 공개 노드의 리소스들에 액세스할 수 있다. 공개 노드의 리소스들에 액세스하기 위해, 공개 노드가, 익숙하지 않은 암호화된 기계 이름 또는 도메인 호스트를 알 필요는 없다. 이름 분해 방법을 이용하기 위 해 액세싱 노드는 공개 노드의 아이덴티티 정보 다큐먼트를 수신해야 하므로, 보안이 향상된다.
컴퓨터의 구조적 사양들 및 방법적인 동작들에 특징적인 언어 및 컴퓨터 판독가능 매체에 의해 본 발명을 설명하였지만, 첨부된 청구항들에서 정의되는 본 발명이 반드시, 설명된 특정 구조들, 동작들, 또는 매체들에 한정될 필요는 없다는 것을 이해할 수 있을 것이다. 일례로서, XML 이외의 다른 포맷들이 아이덴티티 정보를 인코딩하는데 사용될 수 있다. 따라서, 특징적인 구조적 사양들, 동작들, 및 매체들은 청구된 발명을 구현하는 예시적인 실시예들로서 개시되어 있다.
상술된 이름 분해의 방법들을 사용해, 공개 기계의 프린시플을 식별하는 사용자-친화적 핸들이 기계 위치와 관련되거나 기계 위치로 분해되므로, 액세싱 기계의 프린시플은 공개 기계상의 요구된 다큐먼트들에 액세스하기 위해 사용자-친화적 핸들만을 알면 되는 본 발명이 확립되었다. 또한, 관련 프로세스는 투명하며, 프린시플의 지식 또는 관련없이, 발생한다.
상기 설명, 예들, 및 데이터는 본 발명의 구성에 대한 제작 및 사용의 완전한 설명을 제공한다. 본 발명의 정신 및 범위를 벗어나지 않으면서 본 발명의 많은 실시예들이 만들어질 수 있으므로, 본 발명은 다음에 첨부되어 있는 청구항들에 의해 결정된다.

Claims (42)

  1. 제2 컴퓨터 시스템을 통하여 제1 컴퓨터 시스템상에 저장되어 있는 다큐먼트(document)들에 액세스하는 방법으로서,
    상기 제1 및 제2 컴퓨터 시스템들은 네트워크 환경에서 접속되어 있고,
    상기 방법은,
    상기 제2 컴퓨터 시스템에서, 상기 제1 컴퓨터 시스템으로부터의 아이덴티티(identity) 정보 다큐먼트를 인식된 식별 데이터베이스에 저장하는 단계 - 상기 아이덴티티 정보 다큐먼트는 프린시플(principal)을 식별하는 사용자-친화적 핸들(user-friendly handle) 및 상기 제1 컴퓨터 시스템의 머신 위치를 포함함 -;
    상기 제2 컴퓨터 시스템상에 구현된 사용자 인터페이스에서, 상기 제1 컴퓨터 시스템상에 저장된 다큐먼트들에 액세스하기 위한 요구를 수신하는 단계 - 상기 요구는 상기 사용자-친화적 핸들을 포함하고 상기 제1 컴퓨터 시스템을 향한 것임 -;
    상기 제2 컴퓨터 시스템에서, 상기 요구가 상기 사용자-친화적 핸들을 포함하는 경우에, 상기 제2 컴퓨터 시스템의 사용자로부터 다큐먼트들에 액세스하기 위한 상기 요구를 인터셉트(intercept)하는 단계;
    상기 제2 컴퓨터 시스템에서, 상기 요구의 상기 사용자-친화적 핸들을 상기 머신 위치로 대체하는 단계; 및
    상기 제2 컴퓨터 시스템에서, 상기 제1 컴퓨터 시스템의 머신 위치에 다큐먼트에 액세스하기 위한 상기 요구를 송신하는 단계
    를 포함하는 액세스 방법.
  2. 제1 항에 있어서,
    상기 사용자-친화적 핸들은 이메일 어드레스를 포함하는 액세스 방법.
  3. 제1 항에 있어서,
    상기 제2 컴퓨터 시스템에서, 상기 제1 컴퓨터 시스템으로부터 상기 아이덴티티 정보 다큐먼트를 수신하는 초기 단계를 더 포함하는 액세스 방법.
  4. 네트워크 환경에서 접속되어 있는 복수의 노드들 사이에서 다큐먼트들을 공개하는 방법으로서,
    공개 노드로부터 액세싱 노드로, 상기 공개 노드의 프린시플을 식별하는 사용자-친화적 핸들 및 상기 공개 노드의 머신 위치를 포함하는 아이덴티티 정보 다큐먼트를 송신하는 단계;
    상기 아이덴티티 정보 다큐먼트를 상기 액세싱 노드상에 저장하는 단계와,
    상기 액세싱 노드에서, 다큐먼트들에 액세스하기 위한 요구에서 상기 머신 위치로 상기 사용자-친화적 핸들을 분해(resolve)하는 단계 - 상기 요구는 상기 액세싱 노드상에 구현된 사용자 인터페이스에 의해 상기 액세싱 노드의 사용자로부터 상기 공개 노드로 행해짐 -; 및
    상기 액세싱 노드로부터 상기 다큐먼트들에 액세스하기 위한 요구를 상기 공개 노드로 송신하는 단계
    를 포함하는 공개 방법.
  5. 제4 항에 있어서,
    상기 머신 위치는 공개 키를 포함하는 공개 방법.
  6. 제5 항에 있어서,
    상기 공개 키를 이용하여 상기 공개 노드에 대한 현재의 머신 위치를 결정하는 단계를 더 포함하는 공개 방법.
  7. 제5 항에 있어서,
    암호화된 머신 이름 및 상기 공개 노드에 대한 등록된 머신 위치를 DNS 서버에 등록하는 단계와,
    상기 사용자-친화적 핸들을 상기 공개 키로 분해(resolve)하는 단계와,
    상기 공개 키를 상기 암호화된 머신 이름으로 변환하는 단계와,
    상기 암호화된 머신 이름을 이용하여 상기 DNS 서버 상의 상기 공개 노드의 상기 등록된 머신 위치를 탐색하는 단계와,
    상기 등록된 머신 위치에 상기 다큐먼트들에 액세스하기 위한 요구를 송신하는 단계를 더 포함하는 공개 방법.
  8. 제4 항에 있어서,
    상기 요구된 다큐먼트들을 공개하기 전에, 상기 요구된 다큐먼트들을 검토하기 위하여 상기 액세싱 노드가 상기 공개 노드로부터의 인증을 가지고 있는지를 검증하는 단계를 더 포함하는 공개 방법.
  9. 제4 항에 있어서,
    상기 분해 단계는,
    상기 다큐먼트들에 액세스하기 위한 요구가 상기 사용자-친화적 핸들로 향하고 있는 경우에 상기 요구를 인터셉트하는 단계와,
    상기 요구에서 상기 사용자-친화적 핸들과 매칭되는 사용자-친화적 핸들을 갖는 매칭되는 아이덴티티 정보 다큐먼트를 찾아내는 단계와,
    상기 매칭되는 아이덴티티 정보 다큐먼트로부터 상기 머신 위치를 결정하는 단계와,
    상기 사용자-친화적 핸들을 상기 머신 위치로 대체하기 위해 상기 요구를 수정하는 단계를 더 포함하는 공개 방법.
  10. 제4 항에 있어서,
    상기 사용자-친화적 핸들과 조합된 경로 이름을 상기 액세싱 노드로 전달하는 단계와,
    상기 머신 위치에 의한 상기 사용자-친화적 핸들의 분해에 앞서, 상기 사용자-친화적 핸들로부터의 상기 경로 이름을 파싱하는 단계를 더 포함하는 공개 방법.
  11. 사용자-친화적 핸들을 이용하여 네트워크 환경의 제1 컴퓨터 시스템상에 저장되어 있는 다큐먼트들에 액세스하는 방법으로서,
    제2 컴퓨터 시스템에서, 상기 제1 컴퓨터 시스템으로부터의 아이덴티티 정보 다큐먼트를 인식된 식별 데이터베이스에 저장하는 단계 - 상기 아이덴티티 정보 다큐먼트는 상기 제1 컴퓨터 시스템의 제1 사용자를 식별하는 사용자-친화적 핸들 및 상기 제1 컴퓨터 시스템의 머신 위치를 포함함 -;
    상기 제2 컴퓨터 시스템의 제2 사용자가 상기 제1 컴퓨터 시스템상에 저장된 다큐먼트들에 액세스 요구를 가능하게 하는 상기 제2 컴퓨터 시스템상의 사용자 인터페이스를 구현하는 단계;
    상기 제2 컴퓨터 시스템상에 구현된 사용자 인터페이스에서, 상기 제1 컴퓨터 시스템상에 저장된 다큐먼트들 중 제1 다큐먼트에 액세스하기 위한 상기 제2 컴퓨터 시스템의 상기 제2 사용자로부터의 요구를 수신하는 단계 - 상기 요구는 상기 사용자-친화적 핸들을 포함하고 상기 제1 컴퓨터 시스템을 향한 것임 -;
    상기 제2 컴퓨터 시스템에서, 상기 제1 다큐먼트에 액세스하기 위한 상기 사용자 인터페이스로부터의 요구를 인터셉트하는 단계;
    상기 제2 컴퓨터 시스템에서, 상기 사용자-친화적 핸들을 상기 제1 컴퓨터 시스템의 머신 위치로 대체하기 위해 상기 요구를 수정하는 단계;
    상기 제2 컴퓨터 시스템으로부터 상기 제1 컴퓨터 시스템의 머신 위치로 상기 수정된 요구를 송신하는 단계; 및
    상기 제2 컴퓨터 시스템에서, 상기 제1 다큐먼트를 액세스하는 단계
    를 포함하는 액세스 방법.
  12. 제11 항에 있어서,
    상기 머신 위치는 공개 키를 포함하고,
    상기 방법은
    상기 공개 키를 이용하여 상기 공개 노드에 대한 현재의 머신 위치를 결정하는 단계를 더 포함하는 액세스 방법.
  13. 이름 분해를 위한 제1 컴퓨터 시스템으로서,
    제2 컴퓨터 시스템으로부터 수신된 아이덴티티 정보 다큐먼트를 인식된 식별 데이터베이스에 저장하는 저장 모듈 - 상기 아이덴티티 정보 다큐먼트는 상기 제2 컴퓨터 시스템의 프린시플을 식별하는 사용자-친화적 핸들 및 상기 제2 컴퓨터 시스템의 머신 위치를 포함함 -;
    상기 제1 컴퓨터 시스템의 사용자로부터 상기 제2 컴퓨터 시스템상에 저장된 다큐먼트들에 액세스하기 위한 요구를 전송하기 위한, 상기 저장 모듈에 통신가능하게 접속되어 있는 통신 모듈;
    상기 제2 컴퓨터 시스템상에 저장되어 있는 다큐먼트들에 액세스하기 위한 요구들을 인터셉트하고, 상기 사용자-친화적 핸들을 상기 머신 위치로 대체하기 위한 각 요구를 수정하기 위한, 상기 저장 모듈 및 통신 모듈에 통신가능하게 접속되어 있는 이름 분해 모듈; 및
    상기 제1 컴퓨터 시스템의 상기 사용자가, 상기 저장 모듈, 상기 통신 모듈, 및 상기 이름 분해 모듈 중 임의의 것을 액세스하고 제어하도록 할 수 있게 구성된 사용자 인터페이스 모듈
    을 포함하는 이름 분해를 위한 제1 컴퓨터 시스템.
  14. 제13 항에 있어서,
    상기 제 2 컴퓨터 시스템과의 통신을 송수신하도록 상기 이름 분해 모듈에 접속되어 있는 통신 모듈을 더 포함하는, 이름 분해를 위한 제1 컴퓨터 시스템.
  15. 이름 분해를 위해 컴퓨터 프로세스를 실행하는 명령어들의 컴퓨터 프로그램을 인코딩하는 컴퓨터 판독가능 기록 매체로서,
    상기 컴퓨터 프로세스는,
    액세싱 컴퓨터 시스템에서, 공개 컴퓨터 시스템으로부터의 아이덴티티 정보 다큐먼트를 저장하는 단계 - 상기 아이덴티티 정보 다큐먼트는 프린시플을 식별하는 사용자-친화적 핸들 및 상기 공개 컴퓨터 시스템의 머신 위치를 포함함 -;
    상기 액세싱 컴퓨터 시스템상에 구현된 사용자 인터페이스에서, 상기 공개 컴퓨터 시스템상에 저장된 다큐먼트들에 액세스하기 위한 요구를 생성하기 위한 상기 액세싱 컴퓨터 시스템의 사용자로부터의 명령들을 수신하는 단계 - 상기 요구는 상기 사용자-친화적 핸들을 포함함 -;
    상기 공개 컴퓨터 시스템상에 저장되어 있는 다큐먼트들에 액세스하기 위한 상기 요구를 인터셉트하는 단계 - 상기 요구는 상기 사용자-친화적 핸들을 포함함 -; 및
    상기 액세싱 컴퓨터 시스템에서, 상기 사용자-친화적 핸들을 상기 머신 위치로 대체하기 위해 상기 요구를 수정하는 단계
    를 포함하는 컴퓨터 판독가능 기록 매체.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
KR1020057007527A 2003-10-23 2004-07-29 이름 분해를 위한 시스템 및 방법 KR101109371B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/693,516 2003-10-23
US10/693,516 US8473634B2 (en) 2003-10-23 2003-10-23 System and method for name resolution
PCT/US2004/024341 WO2005045741A2 (en) 2003-10-23 2004-07-29 System and method for name resolution

Publications (2)

Publication Number Publication Date
KR20060113352A KR20060113352A (ko) 2006-11-02
KR101109371B1 true KR101109371B1 (ko) 2012-01-30

Family

ID=34522412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057007527A KR101109371B1 (ko) 2003-10-23 2004-07-29 이름 분해를 위한 시스템 및 방법

Country Status (11)

Country Link
US (1) US8473634B2 (ko)
EP (2) EP2728489B1 (ko)
JP (1) JP5065682B2 (ko)
KR (1) KR101109371B1 (ko)
CN (1) CN1820264B (ko)
AU (1) AU2004279198B2 (ko)
BR (1) BRPI0406385A (ko)
CA (1) CA2501466A1 (ko)
MX (1) MXPA05006610A (ko)
RU (1) RU2373572C2 (ko)
WO (1) WO2005045741A2 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9715500B2 (en) * 2004-04-27 2017-07-25 Apple Inc. Method and system for sharing playlists
US8261058B2 (en) * 2005-03-16 2012-09-04 Dt Labs, Llc System, method and apparatus for electronically protecting data and digital content
US20070271136A1 (en) * 2006-05-19 2007-11-22 Dw Data Inc. Method for pricing advertising on the internet
US7975143B2 (en) * 2006-06-12 2011-07-05 International Business Machines Corporation Method, system, and program product for generating and validating digital signatures
US7995568B2 (en) * 2006-06-12 2011-08-09 International Business Machines Corporation Capturing user interface switch states
US8572751B2 (en) * 2006-06-12 2013-10-29 International Business Machines Corporation Method, system, and program product for preventing unauthorized changes to an electronic document
US20080126950A1 (en) * 2006-11-28 2008-05-29 Patrick Leo Glenski Smart Reply Function on Web Pages
US10552391B2 (en) * 2008-04-04 2020-02-04 Landmark Graphics Corporation Systems and methods for real time data management in a collaborative environment
US8806190B1 (en) 2010-04-19 2014-08-12 Amaani Munshi Method of transmission of encrypted documents from an email application
TWI441498B (zh) * 2011-06-07 2014-06-11 Hon Hai Prec Ind Co Ltd 終端設備及其交換網路協定語音信令的方法
WO2013112015A1 (ko) * 2012-01-27 2013-08-01 삼성전자 주식회사 이동 통신 시스템 환경 에서 재난 메시지를 보안상 효율적으로 관리하는 방법 및 장치
WO2013143137A1 (en) * 2012-03-31 2013-10-03 France Telecom Research & Development Beijing Company Limited Content centric m2m system
KR102264992B1 (ko) 2014-12-31 2021-06-15 삼성전자 주식회사 무선 통신 시스템에서 서버 할당 방법 및 장치
US11663310B2 (en) * 2017-06-28 2023-05-30 Apple Inc. Entitlement system
US11249988B2 (en) 2020-05-20 2022-02-15 Snowflake Inc. Account-level namespaces for database platforms
US11593354B2 (en) 2020-05-20 2023-02-28 Snowflake Inc. Namespace-based system-user access of database platforms
US11501010B2 (en) 2020-05-20 2022-11-15 Snowflake Inc. Application-provisioning framework for database platforms
CN115543924B (zh) * 2022-11-29 2023-08-15 粤港澳大湾区数字经济研究院(福田) 一种基于可信管理平台的任务处理方法及相关装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020114324A1 (en) * 1995-12-11 2002-08-22 Hewlett-Packard Company Method and apparatus for determining a telephone number for accessing a target entity
US20020143989A1 (en) * 2001-04-02 2002-10-03 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4509119A (en) * 1982-06-24 1985-04-02 International Business Machines Corporation Method for managing a buffer pool referenced by batch and interactive processes
US4660169A (en) * 1983-07-05 1987-04-21 International Business Machines Corporation Access control to a shared resource in an asynchronous system
IT1227711B (it) * 1988-11-18 1991-05-06 Caluso Torino Sistema multiprocessore di elaborazione dati a risorse distribuite condivise e prevenzione di stallo.
US5222238A (en) * 1991-09-05 1993-06-22 International Business Machines Corp. System and method for shared latch serialization enhancement
CA2120381C (en) 1993-04-05 2005-07-26 Gregory Barton Vatt Distributed multi-outlet paging
US6119151A (en) 1994-03-07 2000-09-12 International Business Machines Corp. System and method for efficient cache management in a distributed file system
US5812776A (en) * 1995-06-07 1998-09-22 Open Market, Inc. Method of providing internet pages by mapping telephone number provided by client to URL and returning the same in a redirect command by server
US5872847A (en) * 1996-07-30 1999-02-16 Itt Industries, Inc. Using trusted associations to establish trust in a computer network
US6047376A (en) * 1996-10-18 2000-04-04 Toshiba Information Systems (Japan) Corporation Client-server system, server access authentication method, memory medium stores server-access authentication programs, and issuance device which issues the memory medium contents
US6026433A (en) * 1997-03-17 2000-02-15 Silicon Graphics, Inc. Method of creating and editing a web site in a client-server environment using customizable web site templates
US5937199A (en) * 1997-06-03 1999-08-10 International Business Machines Corporation User programmable interrupt mask with timeout for enhanced resource locking efficiency
US5991810A (en) * 1997-08-01 1999-11-23 Novell, Inc. User name authentication for gateway clients accessing a proxy cache server
US6092196A (en) * 1997-11-25 2000-07-18 Nortel Networks Limited HTTP distributed remote user authentication system
US6219694B1 (en) * 1998-05-29 2001-04-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device having a shared electronic address
AP2001002373A0 (en) 1999-05-27 2001-12-31 Internet Man Systems Inc Systems and methods for communicating across various communication applications using single address strings.
US7100195B1 (en) * 1999-07-30 2006-08-29 Accenture Llp Managing user information on an e-commerce system
US7131001B1 (en) * 1999-10-29 2006-10-31 Broadcom Corporation Apparatus and method for secure filed upgradability with hard wired public key
JP2001297027A (ja) 2000-04-13 2001-10-26 Nec Corp データファイル共有装置およびデータファイル共有方法
US7000012B2 (en) * 2000-04-24 2006-02-14 Microsoft Corporation Systems and methods for uniquely identifying networks by correlating each network name with the application programming interfaces of transport protocols supported by the network
JP4742427B2 (ja) * 2001-02-05 2011-08-10 ソニー株式会社 受信装置、受信方法および名前解決方法
JP3955181B2 (ja) 2001-02-05 2007-08-08 株式会社エヌジェーケー ピア・ツー・ピアで情報を共有し活用する方法
JP2002278903A (ja) 2001-03-15 2002-09-27 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
US7698433B2 (en) 2001-03-20 2010-04-13 Verizon Business Global Llc User aliases in communication system
US7761326B2 (en) * 2001-04-20 2010-07-20 Nippon Telegraph And Telephone Corporation Token type content providing system and token type content providing method and portable user terminal
US20040117404A1 (en) * 2001-07-31 2004-06-17 Crivella Arthur R. System for utilizing audible, visual and textual data with alternative combinable multimedia forms of presenting information for real-time interactive use by multiple users in differnet remote environments
US6990495B1 (en) * 2001-09-05 2006-01-24 Bellsouth Intellectual Property Corporation System and method for finding persons in a corporate entity
US7171457B1 (en) * 2001-09-25 2007-01-30 Juniper Networks, Inc. Processing numeric addresses in a network router
US7373406B2 (en) 2001-12-12 2008-05-13 Valve Corporation Method and system for effectively communicating file properties and directory structures in a distributed file system
JP2003218941A (ja) 2002-01-23 2003-07-31 Murata Mach Ltd 通信装置及びプログラム
US6990465B1 (en) * 2002-01-25 2006-01-24 Accenture Global Services Gmbh Establishment of preferred business partners using a vendor certification program
US7139840B1 (en) * 2002-06-14 2006-11-21 Cisco Technology, Inc. Methods and apparatus for providing multiple server address translation
US7139828B2 (en) * 2002-08-30 2006-11-21 Ip Dynamics, Inc. Accessing an entity inside a private network
JP2004363685A (ja) 2003-06-02 2004-12-24 Kazuo Oku ユビキタスサーバシステム
JP2006053581A (ja) 2005-09-30 2006-02-23 Fuji Xerox Co Ltd 画像形成装置及びそのカートリッジ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020114324A1 (en) * 1995-12-11 2002-08-22 Hewlett-Packard Company Method and apparatus for determining a telephone number for accessing a target entity
US20020143989A1 (en) * 2001-04-02 2002-10-03 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith

Also Published As

Publication number Publication date
AU2004279198A8 (en) 2008-09-18
RU2373572C2 (ru) 2009-11-20
WO2005045741A3 (en) 2005-12-22
EP1625511B1 (en) 2014-03-05
EP1625511A4 (en) 2011-08-03
KR20060113352A (ko) 2006-11-02
AU2004279198B2 (en) 2010-06-17
EP1625511A2 (en) 2006-02-15
WO2005045741A2 (en) 2005-05-19
US20050091402A1 (en) 2005-04-28
US8473634B2 (en) 2013-06-25
CN1820264B (zh) 2011-06-29
EP2728489A1 (en) 2014-05-07
CN1820264A (zh) 2006-08-16
RU2005120234A (ru) 2006-01-20
AU2004279198A1 (en) 2005-06-30
JP2007509574A (ja) 2007-04-12
MXPA05006610A (es) 2005-08-16
BRPI0406385A (pt) 2005-08-09
EP2728489B1 (en) 2020-02-12
JP5065682B2 (ja) 2012-11-07
CA2501466A1 (en) 2005-04-23

Similar Documents

Publication Publication Date Title
KR101109371B1 (ko) 이름 분해를 위한 시스템 및 방법
US8925108B2 (en) Document access auditing
US8627077B2 (en) Transparent authentication process integration
US7930757B2 (en) Offline access in a document control system
US8627489B2 (en) Distributed document version control
US8832047B2 (en) Distributed document version control
KR101130405B1 (ko) 아이덴티티 인식 방법 및 시스템
US8082451B2 (en) Data access control
US6732277B1 (en) Method and apparatus for dynamically accessing security credentials and related information
US20130212707A1 (en) Document control system
KR20090015026A (ko) 인덱스 저장소 사용 방법, 컴퓨터 시스템, 및 컴퓨터 판독가능 매체
US20230206219A1 (en) Identification token, systems and methods for identification and identity verification.
Jenkins et al. The JSON Meta Application Protocol (JMAP)
JP2008198190A (ja) 電子メールメッセージを安全に交換する方法及びシステム
De Biasi Improving the trust model of Self-Sovereign Identity on blockchain
Carlisle Adams et al. Assertions and Protocol for the OASIS Security Assertion Markup Language (SAML)

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
FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20191217

Year of fee payment: 9