KR20060111253A - 컴퓨팅 환경에서 사용하기 위한 아이덴티티 시스템 - Google Patents

컴퓨팅 환경에서 사용하기 위한 아이덴티티 시스템 Download PDF

Info

Publication number
KR20060111253A
KR20060111253A KR1020057006876A KR20057006876A KR20060111253A KR 20060111253 A KR20060111253 A KR 20060111253A KR 1020057006876 A KR1020057006876 A KR 1020057006876A KR 20057006876 A KR20057006876 A KR 20057006876A KR 20060111253 A KR20060111253 A KR 20060111253A
Authority
KR
South Korea
Prior art keywords
identity
party
assertion
computing environment
main object
Prior art date
Application number
KR1020057006876A
Other languages
English (en)
Inventor
김 캐머론
도널드 제이. 헤이첼
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20060111253A publication Critical patent/KR20060111253A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

컴퓨팅 환경 내에서 당사자들을 식별하기 위한 시스템이 기술된다. 시스템은 아이덴티티 클레임을 포함하는 주 객체들을 포함한다. 주 객체들은 당사자들의 활성화된 리소스 객체들과의 연관성과 관련된 태스크들을 수행하기 위해 환경 내의 컴퓨터 프로세스에 의해 사용된다. 일례의 당사자들은 개인, 개인 그룹, 조직 및 컴퓨터 모듈 및 디바이스를 포함한다. 각각의 아이덴티티 클레임은 특정 스킴 내에서 특정 당사자를 고유하게 식별한다. 이를 달성하기 위해, 각각의 아이덴티티 클레임은 연관된 스킴 내에서 당사자에 고유한 식별 스트링을 지정하는 표명(assertion)을 포함한다. 개인을 위한 일례의 스킴(scheme)은 이메일 계정, 전화 번호, 신용 카드 계좌 번호 및 주민등록번호(social security number)를 포함한다. 그러므로, 개인을 위한 일례의 식별 스트링은 특정한 이메일 어드레스, 특정한 전화 번호 등이다. 개인 그룹 및 조직을 위한 일례의 스킴은 전화 번호 및 웹 페이지 어드레스를 포함한다. 그 시스템은 또한 두개의 주 객체들이 충돌하는지를 결정해서, 아이덴티티 폴트를 야기한다.
컴퓨터 시스템, 주 객체, 리소스, 데이터 저장부, 식별 스트링

Description

컴퓨팅 환경에서 사용하기 위한 아이덴티티 시스템{IDENTITY SYSTEM FOR USE IN A COMPUTING ENVIRONMENT}
본 발명은 경계 시스템 내의 엔티티들을 식별하는 것에 관한 것이며, 보다 구체적으로는 컴퓨팅 환경 내의 당사자들의 식별에 관한 것이다.
인터넷 및 조직적 인트라넷과 같은 분산형 컴퓨터 네트워크는, 예를 들어, 파일을 데이터 스토리지 디스크에 저장하여 그 디스크를 물리적으로 다른 컴퓨팅 시스템으로 전달하는 것과 같이, 이전 방법들보다 훨씬 더 빠른 속도로 다른 사용자들과 정보 교환을 할 수 있는 기능을 사용자들에게 제공한다. 이러한 분산 환경들에서, 이메일, 파일 공유 또는 다른 종래의 정보 전송 메카니즘들에 의해 정보가 전송될 수 있게 하는 통신 매체가 적어도 두개의 컴퓨터들 간에 설정된다. 분산형 컴퓨팅은 확실히 정보 교환에 있어서 종래의 방법들에 비해 이점들을 갖지만, 종래 실시에서 실현된 많은 동일한 단점을 분산형 컴퓨팅 세계에도 가져왔다.
상기 문제점들 중 하나는 인증이며, 이는 수신 사용자가 다른 사용자들로부터 송신된 정보를 보고 조작하는 기능과 관련된다. 즉, 정보를 수신하거나 액세스하는 사용자가 실제로 정보를 수신하거나 액세스하도록 인증된 사용자인가와 연관된 보안 문제가 존재한다. 다른 유사 문제점은 정보를 송신하는 사용자가 실제로 사용자가 클레임하는 엔티티인지의 여부에 관한 것이다. 상기 관련사항 둘 모두 단일 기본 개념-식별을 근거로 한다. 실제로, 시스템이 단독 자립형 컴퓨터인지 또는 분산 환경 내에서 상호 연결된 다수의 컴퓨터들인지와 무관하게, 현 시스템은 구현된 모든 리소스에 의해 시스템을 통해 사용될 수 있는 식별 프레임워크를 제공하지 않는다.
본 발명이 개발되어 온 것은 여타 고려 사항들에 관한 것이다.
본 발명에 따라, 컴퓨팅 환경 내의 당사자들을 식별하기 위한 아이덴티티 시스템에 의해 여타 문제점들이 해결된다. 아이덴티티 시스템은 컴퓨팅 환경 내에서 디지털 액션을 수행하기 위해 인증된 특정 당사자에 각각 대응하는 다수의 주 객체를 사용해서 구현된다. 이러한 주 객체들 각각은 그 주 객체에 대응하는 특정 당사자와 적어도 하나의 리소스 객체를 연관시키기 위해 컴퓨팅 환경 내에서 컴퓨터 프로세스에 의해 사용되도록 동작할 수 있다. 적어도 하나의 주 객체가 적어도 두개의 아이덴티티 클레임과 연관된다. 이러한 주 객체와 연관된 두 아이덴티티 클레임은 특정 당사자에 따라 객체를 개별적이며 고유하게 식별한다.
일실시예에 따라, 본 발명은 컴퓨팅 환경 내에서 디지털 액션을 수행하기 위해 인증된 당사자를 식별할 때 컴퓨터 프로세스에 의해 사용되도록 데이터 구조로 구현된다. 데이터 구조는 특정 식별 스킴 내에서 당사자를 고유하게 식별하는 값 표명 및 그 값 표명에 대응하는 특정 식별 스킴을 나타내는 타입 표명을 포함하는 여러가지 표명들을 포함한다. 또한, 데이터 구조는 특정 식별 스킴 내에서 값 표명에 의해 당사자를 고유하게 식별하는 시간 프레임을 지정하는 시간 기준 표명을 포함한다. 일실시예에서, 이러한 데이터 구조는 선행 단락에 요약된 아이덴티티 시스템의 아이덴티티 클레임을 나타낸다.
본 발명의 실시예들에 따라, 데이터 구조는 컴퓨터 프로그램 제품 또는 컴퓨터 판독 가능 매체와 같은 제조자의 아티클에서 인코딩된다. 컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 판독 가능하고 컴퓨터 프로세스를 수행하기 위한 명령으로 컴퓨터 프로그램을 인코딩하는 컴퓨터 저장 매체일 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 판독 가능하고 컴퓨터 프로세스를 수행하기 위한 명령으로 컴퓨터 프로그램을 인코딩하는 반송파로 전파되는 신호일 수 있다.
또 다른 실시예에 따라, 본 발명은 컴퓨팅 환경 내에서 디지털 액션을 수행하도록 인증된 당사자를 식별하기 위한 방법에 관한 것이다. 먼저, 주 객체는 다수의 리소스 객체들과 연관된 것으로 당사자를 식별하기 위해 컴퓨팅 환경 내에서 컴퓨터 프로세스에 의해 사용되도록 생성된다. 이러한 리소스 객체들은 컴퓨팅 환경 내에서 유지된다. 다음으로, 주 객체는 특정 식별 스킴 내에서 당사자를 고유하게 식별하는 아이덴티티 클레임과 연관된다. 이러한 고유한 식별은 고유한 식별 스트링들을 당사자 그룹에 할당함으로써 달성되며, 당사자는 이러한 당사자 그룹의 일부분이다.
이어서 본 방법은 다수의 리소스 객체들을 수신하는 단계를 포함한다. 상기 리소스 객체들은 다수의 어플리케이션 프로그램과 연관된 리소스들을 나타낸다. 또한, 다수의 리소스 객체들 각각은 각각의 리소스 객체를 주 객체와 링크하는 선언을 포함하는 아이덴티티 기준과 연관된다. 이어서 본 방법은 연관된 아이덴티티 기준에 포함된 선언 링크들을 근거로 이러한 수신된 리소스 객체 각각을 당사자와 연관되는 것으로 식별한다. 이어서 컴퓨터 프로세스는 당사자가 각각의 리소스 객체와 연관되는 것으로 식별된다는 사실을 사용하는 태스크를 수행한다.
선행 단락들에 기술된 실시예에 따른 방법은 컴퓨터 프로그램 제품 또는 컴퓨터 판독 가능 매체와 같은 제조자의 아티클에서 인코딩된 명령들로부터 유도된 컴퓨터 프로세스로서 일실시예에 따라 구현된다. 컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 판독 가능하고 컴퓨터 프로세스를 수행하기 위한 명령들로 컴퓨터 프로그램을 인코딩하는 컴퓨터 저장 매체일 수 있다. 컴퓨터 프로그램 제품은 또한 컴퓨터 시스템에 의해 판독 가능하고 컴퓨터 프로세스를 수행하기 위한 명령들로 컴퓨터 프로그램을 인코딩하는 반송파로 전파되는 신호일 수 있다.
본 발명은 일반적인 용어로 기술하였으며, 반드시 비율에 맞게 도시되어 있는 것은 아닌 첨부 도면을 참조할 것이다.
도 1은 본 발명에 따른 아이덴티티 시스템이 일실시예에 따라 실시되는 예시적인 환경을 도시한 도면.
도 2는 본 발명의 특정 양상들에 따라 사용될 수 있는 컴퓨터 시스템을 도시한 도면.
도 3은 도 1에 도시된 아이덴티티 시스템의 아이덴티티 클레임들과 아이덴티티 기준들 간의 관계 양상들을 논리적으로 도시한 블록도.
도 4는 본 발명의 일실시예에 따라 아이덴티티 클레임을 구현하는 데이터 구 조의 코드 리스팅의 예시적인 부분을 도시한 도면.
도 5는 본 발명의 일실시예에 따라 아이덴티티 기준을 구현하는 데이터 구조의 코드 리스팅의 예시적인 부분을 도시한 도면.
도 6은 본 발명의 일실시예에 따라 도 1의 컴퓨팅 환경의 리소스와 아이덴티티 시스템 내의 당사자 간의 연관성을 식별하기 위한 프로세스의 동작 특성을 도시한 흐름도.
도 7은 본 발명의 일실시예에 따라 도 1의 아이덴티티 시스템 내의 아이덴티티 클레임들 간의 충돌을 검출하기 위한 프로세스를 도시한 도면.
본 발명은 이제부터 본 발명의 실시예들이 도시된 첨부된 도면들을 참조해서 보다 상세히 기술될 것이다. 그러나, 본 발명은 다수의 상이한 형태들로 구현될 수도 있으며 본 명세서에 기술된 실시예들로만 제한되는 것으로 해석돼서는 안된다; 오히려, 실시예들은 본 설명을 완전하게 하기 위해 제공되는 것이다, 본 발명의 범위를 본 기술 분야의 숙련자들에게 충분히 전할 것이다. 같은 참조 부호는 전체적으로 같은 소자를 나타낸다.
일반적으로, 본 발명은 컴퓨팅 환경 내에서 당사자들을 식별하는 것에 관한 것이다. 본 발명의 대안의 실시예들에 따라, 컴퓨팅 환경은 단독 자립형 컴퓨터 시스템일 수도 있으며, 또는 인터넷 또는 인트라넷과 같은 분산형 컴퓨터 네트워크를 형성하도록 상호 연결된 다수의 컴퓨터 시스템들일 수도 있다.
본 명세서에 정의된 바와 같이, 당사자는 임의의 개인, 개인들의 그룹 또는 컴퓨팅 환경에서 몇가지 액션을 수행하는 컴퓨터 모듈이다. 일례의 당사자들은 운영 체제, 운영 체제에서 구현된 컴퓨터 어플리케이션 프로그램 및 프로세스, 개인, 및 사람들의 그룹(예를 들어, 가족, 회사, 조직 등)을 포함한다.
본 명세서에서 리소스는 전자 파일을 구성하는 방식으로 배열된 데이터의 기계 판독 가능 형태로서 정의된다. 일례의 리소스들은 웹 페이지, 전자 문서(이메일, 워드 프로세싱 문서, 스프레드시트, 드로잉, 그래픽 등), 사운드 파일, 영화 파일, 또는 컴퓨터 시스템에 의해 판독 가능한 임의의 다른 데이터 부분을 포함하지만, 이들로만 제한되는 것은 아니다. 본 발명의 실시예들을 명백하게 설명하기 위해, 본 명세서에서 도시되고 기술된 일례의 리소스들은 워드 프로세싱 문서들이다. 이처럼 "당사자" 및 "리소스"라는 용어들에 대한 정의들을 결합할 때, 컴퓨팅 환경 내에서, 당사자에 의해 실행될 수도 있는 일례의 액션은 워드 프로세싱 문서의 생성, 액세스, 수정 또는 삭제가 될 수 있다. 본 기술 분야의 숙련자들은 본 발명이 모든 다른 형태들의 리소스들에도 적용될 수 있음을 알 것이다.
상기 정의들 및 일례의 실시예들을 염두에 두고, 도 1은 본 발명의 실시예들이 실시되는 컴퓨팅 환경(100)을 논리적으로 도시한다. 컴퓨팅 환경(100)은 "분산형(distributed)" 컴퓨팅 환경을 형성하기 위해 통신 네트워크(150)로 상호 연결된 다수의 컴퓨터 시스템들(142)을 포함한다. 컴퓨터 시스템들(142)은 클라이언트 기계이거나 서버 기계일 수도 있다. 예를 들어, 본 발명의 실시예에서, 컴퓨터 시스템들(142) 중 적어도 하나는 다수의 클라이언트 기계들 간의 정보 교환을 관리하도록 동작하는 서버 기계라고 생각된다. 클라이언트 기계는 또한 통신 네트워크 (150)를 통해 서버 기계 및 다른 클라이언트 기계들의 파일에 액세스한다.
통신 네트워크(150)가 본 기술 분야의 숙련자들에게 공지된 임의의 네트워크 타입이거나 그와 등가물일 수 있다. 몇가지 일례의 네트워크들은 인터넷, 인트라넷, 프라이빗 라인 네트워크, 또는 컴퓨터 시스템들(142) 간의 다이렉트 통신 링크까지도 포함하지만, 이들로만 제한되는 것은 아니다. 통신 네트워크(150)가 실시예에 의해 요구된 기능들에 따라 임의의 수의 통신 기술들을 사용할 수 있다. 통신 네트워크(150)에서의 사용을 위해 고려되는 특정 기술들의 예들은 인터넷에 대한 지상, 셀룰러, 위성, 단파, 및 마이크로웨이브 커넥션들, 모뎀 또는 다른 인터페이스 디바이스들을 사용하는 설비들 간의 다이렉트 커넥션, 및 근거리 통신망(LAN) 또는 광역 통신망(WAN)과 같은 다른 통신 네트워크를 통한 커넥션들을 포함하지만, 이들로만 제한되는 것은 아니다. 여타 통신 네트워크들의 임의의 결합이 본 발명의 범위 내에서 사용될 수도 있다.
본 발명에 따라, 컴퓨팅 환경(100)의 당사자들을 식별하기 위한 시스템이 환경(100)의 적어도 하나의 컴퓨팅 시스템(142)에서 구현된다. 명명(nomenclature)을 위해, 도 1에 도시된 다양한 구조들의 집합으로 구현된 시스템은 이후부터 "아이덴티티 시스템"이라고 언급된다. 설명을 위해, 아이덴티티 시스템은 도 1에 도시되고 단독 컴퓨터 시스템(142')으로 구현된 것으로 후술된다. 그러나, 본 명세서에 기술된 아이덴티티 시스템은 실제로 환경(100)의 다른 컴퓨터 시스템들(142)로 구현된다. 본 발명의 일실시예에 따라, 아이덴티티 시스템은 모든 시스템들(142)로 구현된다. 대안으로, 이러한 아이덴티티 시스템은 환경(100)의 모든 시스 템들(142) 보다 적은 시스템들로 구현될 수도 있다.
아이덴티티 시스템은 "주 객체"(110)로서 본 명세서에서 언급된 당사자들의 전자 표현들을 포함한다. "주 객체" 이외의 다른 전자 표현들을 나타내는데 사용될 수도 있는 다른 이름들은 "아이덴티티 정보 객체" 및 "아이덴티티 정보 문서"이다. 주 객체(110)는 각각의 객체(110)가 대응하는 당사자를 고유하게 식별하는 아이덴티티 클레임(134) 및 당사자를 추가로 기술하는 속성 데이터 객체(138)와 연관된다. 아이덴티티 클레임(134)과 속성 데이터 객체(138) 간의 차이는 속성 데이터 객체(138)가 연관된 당사자를 고유하게 식별하지 않고, 당사자와 연관된 특징들 및 다른 속성들을 간단하게 기술하는 정보를 포함한다는 점이다.
아이덴티티 클레임(134)은 클레임(134)이 연관된 주 객체(110)를 고유하게 식별하는 정보(본 명세서에서는 "표명"이라고 함)를 포함하는 데이터 구조로 구현된다. 아이덴티티 클레임(134)을 형성하는데 사용될 수 있는 일례의 표명들은 이메일 어드레스, 전화 번호(지상라인 및 모바일), 신용 카드 계좌 번호, 주민등록번호, 운전 면허증 번호 등을 포함하지만, 이들로만 제한되는 것은 아니다. 당사자가 하나 이상의 표명을 사용하여 고유하게 식별될 수 있기 때문에(즉, 대부분의 사람들은 적어도 하나의 이메일 어드레스 및 전화 번호를 가지고 있음), 아이덴티티 시스템의 각각의 주 객체(110)는 하나 이상의 아이덴티티 클레임(134)과 연관되도록 동작할 수 있다. 속성 데이터 객체(138)를 아이덴티티 클레임(134)과 간략하게 대조하기 위해, 개인인 당사자의 일례의 속성 데이터 객체(138)는 개인의 나이, 성별, 키 및 몸무게에 관한 데이터를 포함한다. 이러한 타입의 정보는 임의의 개인 에게 고유한 것이 아니기 때문에, 아이덴티티 클레임(134)을 위한 표명이 될 수 없다.
주 객체(110), 아이덴티티 클레임(134) 및 속성 데이터 객체(138) 외에, 아이덴티티 시스템은 또한 아이덴티티 기준(136)을 포함한다. 아이덴티티 기준(136)은 연관된 당사자에 컴퓨팅 환경(100)의 리소스(104)를 링크하는 아이덴티티 클레임(134)에 대한 기준이다. 예를 들어, 워드 프로세싱 문서와 연관된 일례의 당사자는 저자(author)이다. 워드 프로세싱 문서를 위한 다른 일례의 아이덴티티 기준(136)은 문서를 뷰 및/또는 정정하도록 권한이 부여된 당사자들과 연관된 아이덴티티 클레임(134)에 링크하는 기준(136)일 수도 있다. 아이덴티티 클레임(134)과 아이덴티티 기준(136) 간의 관계 및 차이는 도 3 내지 도 5와 관련해서 더 상세히 후술된다.
일실시예에서, 주 객체(110), 아이덴티티 클레임(134), 아이덴티티 기준(136) 및 속성 데이터 객체(138)는 COM(Component Object Model)에 순응한 객체들이다. 이처럼, 컴퓨팅 환경(100)의 임의의 컴퓨터 시스템들(142)의 프로세스들 및 다른 객체들은 각각의 객체(110)와 연관된 어플리케이션 프로그램 인터페이스(API)(128)에 의해 이러한 객체(110)와 통신상으로 상호 작용한다. 본 기술 분야의 숙련자들에게 공지되어 있는 바와 같이, API(128)는 객체들(예를 들어, 110, 134, 136, 138)의 속성들 및 메쏘드들(데이터 및 기능 멤버들)을 컴퓨팅 환경(예를 들어, 100) 내의 프로세스들 및 다른 객체들에게 공개한다.
아이덴티티 기준(136), 아이덴티티 클레임(134) 및 속성 데이터 객체(138)가 다른 객체들에 의해 포함되기 때문에, 포함된 객체들은 포함 객체(즉, 아이덴티티 클레임(134) 및 속성 데이터 객체(138)를 위한 주 객체(110), 및 아이덴티티 기준(136)을 위한 리소스 객체(104))에만 공개되고 컴퓨팅 환경(100) 내의 다른 객체들에게는 공개되지 않는 API(128)를 각각 포함한다. 이처럼, 컴퓨팅 환경(100) 내의 객체 또는 프로세스가 아이덴티티 클레임(134) 또는 속성 데이터 객체(138)로의 액세스를 요청하기 위해, 객체 또는 프로세스는 해당 객체(110)를 위한 API(128)를 통해 연관된 주 객체(110)에 요청을 발행하고, 아이덴티티 클레임(134) 또는 속성 데이터 객체(138) 중 어떤 것이 요청되었든지 간에 API(128)를 통해 요청된 데이터에 액세스한다.
컴퓨터 시스템(142)의 프로세스 또는 모듈이 주 객체(110)들을 사용하기 위해, COM에 순응한 임의의 다른 객체들과 같은 객체들(예를 들어, 아이덴티티 클레임(134) 및 속성 데이터(138))에 포함된 데이터가 먼저 실증돼야만 한다. 객체(110)를 형성하는 데이터가 메모리에 로드되고 아이덴티티 클레임(134)의 데이터 및 속성 데이터(138)와 객체(110)의 임의의 기능 멤버들(즉, 메쏘드들)이 다른 객체들에게 유용할 때 주 객체(110)가 "실증되었다"라고 한다. 이러한 용어는 객체(110)를 실증하기 위해 메모리로 판독되어야 하는 생 데이터와 주 객체(110) 간의 구별에 유용하다. 그러나, 설명을 위해, 그리고 본 명세서 전체의 명료성을 위해, 도 3 내지 도 7과 관련해서 제공된 본 발명의 다양한 실시예들의 설명은 생 형태의 객체(예를 들어, 주 객체(110), 아이덴티티 클레임(134), 아이덴티티 기준(136) 및 속성 데이터 객체(138)) 및 실증된 형태의 객체에서 실행된 프로세스들을 구별하지 않는다. 오히려, 상기 형태들 모두 "객체"라는 용어로 간단하게 구현된다. 그럼에도 불구하고, 도 1은 주 객체(110)를 형성하는데 사용되는 생 데이터인 "주 데이터" 뿐만 아니라 컴퓨터 시스템(142')의 아이덴티티 클레임(134) 및 속성 데이터(138)를 구현하는 데이터를 데이터 저장부(108) 내에 포함시킴으로써 이러한 구별을 설명하고 있다.
도 2는 본 발명의 실시예들이 구현될 수도 있는 적절한 컴퓨팅 시스템(200)의 일례를 도시한다. 이처럼, 시스템(200)은 분산형 컴퓨팅 환경(100)의 컴퓨터 시스템(142)으로서 기능하는데 사용될 수도 있는 시스템을 대표한다. 가장 기본적인 구성에서, 시스템(200)은 적어도 하나의 프로세싱 유닛(202) 및 메모리(204)를 포함한다. 컴퓨팅 디바이스의 정확한 구성 및 타입에 따라, 메모리(204)는 휘발성(예를 들어, RAM), 비휘발성(예를 들어, ROM, 플래시 메모리 등) 또는 휘발성과 비휘발성의 몇가지 조합일 수 있다. 가장 기본적이 구성은 도 2에 점선(206)으로 도시되어 있다.
메모리(204)에 부가하여, 시스템(200)은 적어도 하나의 다른 형태의 컴퓨터 판독 가능 매체를 포함할 수도 있다. "컴퓨터 프로그램 제품"으로 언급되기도 하는 컴퓨터 판독 가능 매체는 시스템(200)에 의해 액세스될 수 있는 임의의 유용한 매체일 수 있다. 예를 들어, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있으나, 이들로만 제한되는 것은 아니다.
컴퓨터 저장 매체는 컴퓨터 판독 가능 명령들, 데이터 구조, 프로그램 모듈들 또는 다른 데이터와 같은 정보를 저장하기 위한 임의의 방법 또는 기술로 구현 된 휘발성 및 비휘발성, 분리형 및 비분리형 매체들을 포함한다. 메모리(204), 분리형 스토리지(208) 및 비분리형 스토리지(210)는 모두 컴퓨터 저장 매체의 예들이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 다른 광 스토리지, 자기 카셋트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 스토리지 장치, 또는 시스템(200)에 의해 액세스될 수 있으며 소망의 정보를 저장하는데 사용될 수 있는 임의의 다른 매체들을 포함하지만, 이들로만 제한되는 것은 아니다. 임의의 컴퓨터 저장 매체는 시스템(200)의 부분일 수도 있다.
일례의 컴퓨팅 시스템(200)은 또한 시스템이 다른 디바이스들과 통신할 수 있게 해주는 통신 커넥션(들)(212)을 포함할 수 있다. 통신 커넥션(들)(212)은 통신 매체의 일례이다. 통신 매체는 통상 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈, 또는 반송파 또는 다른 전송 메카니즘과 같은 변조된 데이터 신호로 된 다른 데이터를 포함하며, 임의의 정보 전달 매체를 포함한다. 용어 "변조된 데이터 신호"는 정보를 신호로 인코딩하는 방식으로 변경되거나 설정된 특징들 중 하나 이상의 특징을 갖는 신호를 의미한다. 일례로서, 통신 매체는 유선 네트워크 또는 직접-유선(direct-wired) 커넥션과 같은 유선 매체, 및 음향, RF, 적외선 및 기타 무선 매체 등과 같은 무선 매체들을 포함하지만, 이에 제한되는 것은 아니다. 본 명세서에서 사용되는 용어 컴퓨터 판독 가능 매체는 저장 매체 및 통신 매체를 모두 포함한다.
일실시예에 따라, 시스템(200)은 입력 장치(들)(214) 및/또는 출력 장치(들 )(216)와 같은 주변 장치를 포함한다. 일례의 입력 장치(214)는 키보드, 컴퓨터 마우스, 펜 또는 스타일러스, 음성 입력 장치, 촉각 입력 장치 등을 포함하지만, 이들로만 제한되는 것은 아니다. 일례의 출력 장치(들)(216)는 디스플레이, 스피커 및 프린터를 포함하지만, 이들로만 제한되는 것은 아니다. 상기 "주변 장치들" 각각은 본 기술 분야에 잘 공지되어 있는 것이므로, 본 명세서에는 상세히 설명하지 않는다.
컴퓨팅 환경을 염두에 두고, 본 발명의 실시예들은 본 발명의 다양한 실시예들을 구현하는 프로세스들을 구현하도록 실행되는 논리 동작들을 참조해서 기술된다. 이러한 논리 동작은 (1) 컴퓨팅 시스템에서 실행되는 컴퓨터 구현 단계들 또는 프로그램 모듈들의 시퀀스로서 및/또는 (2) 컴퓨팅 시스템 내에서 상호 접속된 기계 논리 회로 또는 회로 모듈로서 구현된다. 그 구현은 본 발명을 구현하는 컴퓨팅 시스템의 성능 요구 사항들에 따른 선택 사항이다. 따라서, 본 명세서에 기술된 본 발명의 실시예들을 구성하는 논리 동작은 다양하게 오퍼레이션, 구조 디바이스, 액션 또는 모듈로서 언급된다. 본 기술 분야의 숙련자들은 상기 오퍼레이션, 구조 디바이스, 액션 및 모듈이 소프트웨어, 펌웨어, 특수용 디지털 로직, 및 본 명세서에 첨부된 청구항들에서 인용된 본 발명의 원리 및 범위로부터 벗어나지 않는 임의의 조합으로 구현될 수 있다.
도 3을 참조하면, 아이덴티티 시스템(300) 내의 아이덴티티 기준(136)과 아이덴티티 클레임(134) 간의 관계가 본 발명의 실시예에 따라 논리적으로 도시되어 있다. 보다 구체적으로는, 도 3은 다수의 아이덴티티 기준들(136a, 136b, 136c)을 싱글 아이덴티티 클레임(134a)에 링크하는 것뿐만 아니라 싱글 아이덴티티 기준(136d)을 싱글 아이덴티티 클레임(134b)에 링크하는 것도 도시한다. 도 3은 아이덴티티 기준(136)과 아이덴티티 클레임(134) 간의 관계의 하이 레벨 도면이고, 임의의 수의 아이덴티티 기준(136)이 아이덴티티 클레임(134a 및 134b) 중 어느 하나의 임의의 수의 아이덴티티 클레임(134)에 링크될 수도 있다.
일실시예에서, 아이덴티티 시스템(300)을 구성하는 아이덴티티 기준(136) 및 아이덴티티 클레임(134)은 분산형 컴퓨팅 환경의 다수의 컴퓨터들로 구현된다. 설명하자면, 아이덴티티 기준(예를 들어, 136b)은 제1 컴퓨터 시스템(142)에 저장된 리소스와 관련될 수도 있는 반면, 상기 기준(136b)이 링크된 아이덴티티 클레임(134a)은 제2 컴퓨터 시스템(142)에 유지된 주 객체(110)에 포함된다. 대안으로, 아이덴티티 시스템(300)을 구성하는 아이덴티티 기준(136) 및 아이덴티티 클레임(134)은 단독 자립형 컴퓨터 시스템(142)에 저장된다. 아이덴티티 기준(136)과 아이덴티티 클레임(134) 간의 링크 설정은 도 4 및 도 5와 관련해서 상세히 기술되며, 따라서, 도 3을 기술할 때 반복하지 않는다. 대신, 상기 객체들 간의 논리 관계만을 기술한다.
싱글 아이덴티티 클레임(134a)에 링크된 아이덴티티 기준들(136a, 136b, 136c) 각각은 상이한 리소스들과 연관된다. 예를 들어, 아이덴티티 기준(136a)은 워드 프로세싱 문서와 연관될 수 있고, 아이덴티티 기준(136b)은 스프레드시트 문서와 연관될 수 있으며, 아이덴티티 기준(136c)은 이메일 문서와 연관될 수도 있다. 상기 아이덴티티 기준들(136a, 136b, 136c) 각각은 동일한 아이덴티티 클레임 (134a)에 링크되므로, 아이덴티티 클레임(134a)에 대응하는 당사자와 연관된 것으로 리소스들 각각을 식별한다. 상기 당사자는 예를 들어, 상기 문서들 각각을 작성한 개인이 될 수 있다. 또 다른 일례의 당사자는 작성한 개인을 고용한 단체가 될 수 있다. 유사하게, 아이덴티티 기준(136d)은 기준(136d)이 연관되어 있는 리소스를 아이덴티티 클레임(134b)에 링크한다. 이처럼, 아이덴티티 시스템(300)은 상기 리소스를 클레임(134b)에 대응하는 당사자와 연관된 것으로 식별한다.
도 4 및 도 5를 참조하면, 아이덴티티 클레임(134) 및 아이덴티티 기준(136)을 위한 일례의 데이터 구조들이 본 발명의 일실시예에 따라 각각 도시되어 있다. 일실시예에 따라, 상기 데이터 구조들 각각은 XML(Extensible Markup Language) 베이스 소프트웨어 모듈들이지만, 다른 프로그래밍 언어들도 상기 데이터 구조들을 생성하는데 사용될 수 있으며 이들 다른 언어들이 본 발명의 범위 내에서 숙고된다. 도 4에 대한 특정 참조로서, 아이덴티티 클레임(134)은 싱글 당사자를 총괄하여 고유하게 식별하는 다양한 표명들(402~414)을 포함한다. 상술된 바와 같이, 상기 당사자는 컴퓨터 엔티티 또는 디바이스, 컴퓨터 엔티티 또는 디바이스의 그룹, 개인 또는 개인들의 그룹이 될 수 있다. 그러나, 본 발명의 실시예들을 설명하기 위해, 아이덴티티 클레임(134)은 싱글 개인을 식별하는 것으로 후술된다.
아이덴티티 클레임(134)을 위한 데이터 구조는 구조를 아이덴티티 클레임(134)으로 식별하는 타입 선언(400)을 포함한다. 이처럼, 상기 타입 선언(400)은 "IdentityClaim"이라는 구절로 되어 있다. 데이터 구조는 타입 표명(402) 및 값 표명(404)을 더 포함한다. 선택 표명들은 디스플레이 표명(406), 웹 사이트 표명 (408), 시작 시간 프레임 표명(410), 종료 시간 프레임 표명(412) 및 서명 표명(414)을 포함한다.
타입 표명(402)은 아이덴티티 클레임(134)과 연관될 고유한 식별자 타입을 나타낸다. 일례의 타입 표명(402)은, 고유한 식별자가 전화 번호임을 나타내는 "tel" 또는 "fax"; 고유한 식별자가 이메일 어드레스임을 나타내는 "mailto"; 고유한 식별자가 웹 어드레스임을 나타내는 "http"; 고유한 식별자가 보안 식별자임을 나타내는 "sid"; 고유한 식별자가 주민등록번호임을 나타내는 "ssn"; 및 고유한 식별자가 신용 카드 번호임을 나타내는 "cc#"을 포함하지만, 이들로만 제한되는 것은 아니다. 많은 다른 타입의 고유한 표명들이 본 발명의 범위 내에서 고려되지만, 앞 문장에서 열거되지는 않았다. 실제로, 표명이 하나의 당사자에게만 특정한 값들을 지정하는 타입인 한, 표명은 타입 표명(402)으로서 기능하도록 동작할 수 있다.
값 표명(404)은 타입 표명(402)을 근거로 한 것이며, 당사자를 고유하게 식별하는 특징 시퀀스(영숫자 및/또는 심볼)를 나타낸다. 일례의 값 표명(404)은 전화 번호(예를 들어, 0018004568494), 이메일 어드레스(예를 들어, tempuser@sampleserver.com), 웹 어드레스(예를 들어, www.tempcompany.com), 주민등록번호(예를 들어, 427894478) 및 신용 카드 계좌 번호(예를 들어, 4417354398478474)를 포함하지만, 이들로만 제한되는 것은 아니다. 당사자의 아이덴티티는 값 표명(404)에 결합된다. 값 표명(404)이 개인 또는 디바이스를 식별하거나, 대안으로, 개인 또는 디바이스의 그룹을 식별할 수 있다. 예를 들어, 전화 번호는 개인, 가족 또는 회사를 식별할 수도 있다. 전화 번호가 가족 또는 회사에 속한 것이면, 식별된 당사자는 그룹을 식별하지만, 전화 번호가 개인에 속한 것이면, 식별되는 당사자는 개인이다.
특정 타입 표명(402)이 연관된 값 표명(404)이 상이한 시간 프레임 중에 상이한 당사자들을 고유하게 식별할 수 있는 타입이기 때문에, 아이덴티티 클레임(134)을 위한 데이터 구조는 시작 시간 프레임 표명(410) 및 종료 시간 프레임 표명(412)을 선택적으로 포함한다. 예를 들어, 상기 타입들이 시간에 따라 변하는 고유한 식별자 타입들을 나타내기 때문에 타입 표명이 "tel", "fax" 또는 "mailto" 타입일 때 이러한 표명들(410, 412)이 사용된다.
시작 시간 프레임 표명(410)은 값 표명(404)이 고유하게 식별하는 당사자와 연관되는 날짜를 지정한다. 종료 시간 프레임 표명(412)은 상기 연관이 종료되는 날짜를 지정한다. 설명하자면, 한 시간 프레임에서, 존 도우(John Doe)가 전화 번호 0018004763849에 의해 고유하게 식별될 수도 있지만, 다른 시간 프레임에서는, 제인 도우(Jane Doe)가 대신 상기 전화 번호에 의해 고유하게 식별될 수도 있다. 시작 시간 프레임 표명(410) 및 종료 시간 프레임 표명(412)은 상기 각각의 시간 프레임들에 대한 시작일 및 종료일을 지정함으로써, 존 및 제인 도우에 대한 상기 아이덴티티 클레임들(134)의 고유한 식별을 완료한다. 종료 시간 프레임 표명(412)이 제공되지 않지만, 시작 시간 프레임 표명(410)이 제공되면, 값 표명(404)과 당사자 간의 연관성은 여전히 진행 중임을 알아야만 한다.
다른 선택 표명은 디스플레이 표명(406)이다. 디스플레이 표명(406)은 값 표명(404)을 근거로 한 영숫자 문자 스트링이며 사람이 인식할 수 있는 형태로 되어 있다. 예를 들어, 디스플레이 표명(406)은 값 표명(404)이 이메일 어드레스인 경우 개인의 이메일 어드레스와 관련해서 디스플레이되는 개인 이름일 수도 있다. 또 다른 선택 표명은 웹 사이트 표명(408)이며, 이는 당사자에 관한 정보가 발견될 수도 있는 웹 어드레스를 나타낸다. 다른 선택 표명은 서명 표명(414)이며, 당사자의 서명의 디지털 표현을 나타낸다.
선택 표명들을 포함한, 앞서 말한 표명들 각각은 아이덴티티 클레임(134)을 특정 당사자에게 고유하게 링크하는데 사용된다. 아이덴티티 클레임(134)의 취지는 이와 같다. 아이덴티티 기준(136)은 다른 한편으로, 리소스(예를 들어, 전자 문서)를 당사자에게 연관시키는데 사용하기 위한 것이다. 상술된 바와 같이, 이는 아이덴티티 기준(136) 내에서 특정 아이덴티티 클레임(134)을 참조함으로써 달성된다. 도 5를 참조하면, 아이덴티티 기준(136) 내에서 이루어진 선언들을 도시하는 데이터 구조가 본 발명의 일실시예에 따라 도시되어 있다. 아이덴티티 기준(136)을 위한 데이터 구조는 구조를 아이덴티티 기준(136)으로서 식별하는 타입 선언(500)을 포함한다. 이처럼, 상기 타입 선언(500)은 "IdentityReference"라는 구절로 되어 있다.
특정 아이덴티티 클레임(134)을 지정하기 위해, 아이덴티티 기준(136)은 참조되는 아이덴티티 클레임(134)에 대응하는 타입 표명(502) 및 값 표명(504)을 포함한다. 이처럼, 리소스 개발자는 리소스 개발 중에 적합한 아이덴티티 클레임(134)에 대한 기준들을 설정한다. 기준 날짜 선언(506)이 또한 아이덴티티 기준 (136)을 위한 구조에 포함되며, 아이덴티티 기준(136)과 연관된 리소스가 해당 아이덴티티 클레임(134)에 유효하게 링크되는 날짜를 나타낸다.
컴퓨터 시스템(142)의 운영 체제가 아이덴티티 기준(136)이 연관되어 있는 리소스를 활성화시킴에 따라, 그 운영 체제는 적합한 주 객체(110)의 메쏘드들을 실증 및 호출하기 위해 아이덴티티 기준(136)을 실증하게 된다. 적합한 주 객체(110)는 아이덴티티 클레임(134)이 아이덴티티 기준(136)에 의해 참조되는 것을 근거로 결정된다. 적합한 주 객체(110) 및 대응 아이덴티티 클레임(134)이 실증된 후, 리소스 객체(104)의 메쏘드가 주 객체(110)에 대응하는 당사자에 리소스를 연관시키는 주 객체(110)의 메쏘드를 호출한다. 이어서 운영 체제는 주 객체(110)에 대한 리소스의 식별을 이용하여 리소스에 대한 태스크들을 실행한다. 일례의 태스크들은 리소스 뷰 및/또는 정정을 위한 허가, 리소스와 연관된 주요 특징 및 속성 디스플레이, 및 리소스를 통해 당사자에게 통신 매체를 제공하는 것을 포함하지만, 이들로만 제한되는 것은 아니다.
도 6을 참조하면, 리소스와 주 객체(110) 간의 연관성을 설정하기 위한 프로세스(600)(이후에는, "설정 프로세스")가 본 발명의 일실시예에 따라 도시되어 있다. 설정 프로세스(600)는 개시 오퍼레이션(602)으로 시작해서 종료 오퍼레이션(618)으로 끝나는 오퍼레이션의 흐름("동작 흐름(operation flow)")을 이용하여 실행된다. 개시 오퍼레이션(602)은 리소스가 컴퓨터 시스템(142)에서 몇가지 방식으로 액세스되는 것으로 개시된다. 개시 오퍼레이션(602)으로부터, 동작 흐름은 액세스된 리소스를 설정 프로세스(600)로 수신하여 리소스와 연관된 아이덴티티 기준 (136)의 위치를 지정하는 수신 오퍼레이션(604)으로 진행한다. 용어 "수신"은 컴퓨터 시스템(142)의 운영 체제에 의한 리소스의 액세스를 언급하기 위해 일반적인 의미로 사용되고 있다. 이처럼, 리소스의 수신은 다른 컴퓨터 시스템(142)으로부터 리소스를 수신하는 것 뿐만 아니라 리소스에 액세스하는 컴퓨터 시스템(142)에 국부적인 스토리지로부터 리소스를 수신하는 것까지도 포함한다. 실제로, 후자의 경우, 컴퓨터 시스템(142)의 사용자가 리소스를 활성화해야 할 필요가 있었다. 수신 오퍼레이션(604)으로부터, 동작 흐름은 제1 질의 오퍼레이션(606)으로 진행한다.
제1 질의 오퍼레이션(606)은 활성화된 리소스가 위치 지정된 아이덴티티 기준(136)에 매핑하는 아이덴티티 클레임(134)을 포함하는 주 객체(110)에 의해 수반되는지의 여부를 검출한다. 그렇다면, 주 객체(110)는 리소스에 대해 "피기백(piggy-backed)"되었다고 하고, 동작 흐름은 저장 오퍼레이션(607)으로 진행한다. 이러한 경우에, 아이덴티티 기준(136)과 관련 아이덴티티 클레임(134) 간의 링크는 연관된 아이덴티티 클레임(134)을 갖는 주 객체(110)에 대응하는 당사자와 식별된 리소스를 연관시킨다. 상기 식별 연관성은 임의의 식별 관련 태스크를 수행하기 위해 운영 체제에 의해 사용된다. 저장 오퍼레이션(607)은 차후에 아이덴티티 클레임(134)에 링크하는 여타 아이덴티티 기준(136)들간의 링크를 구현하는데 사용하기 위해 주 객체(110)를 데이터 저장부(108)에 저장한다. 저장 오퍼레이션(607)으로부터, 동작 흐름은 종료 오퍼레이션(618)에서 끝난다.
다른 한편, 제1 질의 오퍼레이션(606)이 수신된 리소스에 피기백된 주 객체 (110)를 검출하지 않으면, 동작 흐름은 액세스 데이터 저장 오퍼레이션(608)으로 진행한다. 액세스 데이터 저장 오퍼레이션(608)은 관련 아이덴티티 클레임(134)을 포함하는 주 객체(110)가 데이터 저장부(108)에 이미 저장되어 있는지를 조사하기 위해 위치 지정된 아이덴티티 기준(136)에 지정된 타입 표명(402) 및 값 표명(404)을 사용한다. 액세스 데이터 저장 오퍼레이션(608)으로부터, 동작 흐름은 제2 질의 오퍼레이션(610)으로 진행한다.
제2 질의 오퍼레이션(610)은 액세스 데이터 저장 오퍼레이션(608)이 위치 지정된 아이덴티티 기준(136)에 지정된 타입 표명(502) 및 값 표명(504)을 갖는 아이덴티티 클레임(134)을 포함하는 주 객체(110)를 찾았는지를 질의한다. 그렇다면, 동작 흐름은 링크 오퍼레이션(612)으로 진행한다. 링크 오퍼레이션(612)은 연관된 아이덴티티 클레임(134)에 아이덴티티 기준(136)을 링크함으로써 주 객체(110)에 대응하는 당사자와 리소스를 연관시켜서, 운영 체제가 리소스에서 식별 관련 태스크를 실행할 수 있도록 한다.
다른 한편, 제2 질의 오퍼레이션(610)이 위치 지정된 아이덴티티 기준(136)에 지정된 타입 표명(502) 및 값 표명(504)을 갖는 아이덴티티 클레임(134)을 포함하는 주 객체(110)를 찾지 않으면, 동작 흐름은 생성 중신 객체 오퍼레이션(614)으로 진행한다. 생성 중신 객체 오퍼레이션(614)은 아이덴티티 기준(136)이 링크할 수도 있는 아이덴티티 클레임(134)이 현재 아이덴티티 시스템에 없기 때문에 중신 주 객체를 생성한다. 아이덴티티 시스템이 전체 분산형 컴퓨팅 환경(100)을 스팬하는 일실시예에서, 데이터 저장부(108)는 환경(100)의 모든 컴퓨터 시스템(142)에 대해 동작할 수 있다. 따라서, 특정 아이덴티티 기준(136)과 연관된 아이덴티티 클레임(134)의 위치를 지정하는 것에 실패했음은 클레임(134)이 분산형 환경(100)의 파트를 형성하지 않는 시스템에 유지됨을 의미한다. 중신 주 객체는 아이덴티티 기준(136)에 지정된 타입 표명(502) 및 값 표명(504)을 갖는 아이덴티티 클레임(134)을 포함하도록 구성된다. 생성되기만 하면, 동작 흐름은 제2 저장 오퍼레이션(616)으로 진행한다.
제2 저장 오퍼레이션(616)은 먼저 아이덴티티 기준(136)을 중신 주 객체에 링크함으로써, 리소스를 중신 주 객체에 대응하는 당사자와 관련시켜서, 운영 체제가 리소스에 대한 식별 관련 태스크를 실행할 수도 있다. 중신 주 객체가 저장된 데이터 저장부(108)가 분산형 컴퓨팅 환경 내의 다른 컴퓨터 시스템(142)에 의해 원격으로 액세스될 수도 있다. 제2 질의 오퍼레이션(610)의 반복들로, 중신 주 객체는 데이터 저장부(108)로의 원격 커넥션을 통해 위치 지정 및 검색될 수도 있다. 대안으로, 환경이 자립형 컴퓨터 시스템이면, 중신 주 객체는 로컬 스토리지로부터 위치 지정 및 검색된다.
다음으로, 제2 저장 오퍼레이션(616)은 중신 주 객체를 데이터 저장부(108)에 저장해서, 객체는 중신 객체와 연관된 것으로 여타 리소스들을 이용하도록 차후에 사용될 수도 있다. 또한, 중신 객체에 포함된 정보를 보충하는 보다 많은 정보가 수신되면, 상기 정보는 보다 완전한 주 객체를 생성하기 위해 중신 객체로 병합될 수도 있다. 대안으로, 이러한 새로운 정보가 주 객체(110)를 구현하면, 중신 객체는 상기 새로운 정보로 대체된다. 제2 저장 오퍼레이션(616)으로부터, 동작 흐름은 종료 오퍼레이션(618)에서 끝난다.
도 7은 새로운 주 객체(110)가 수신되는 시간에 데이터 저장부(108)에 저장된 다른 주 객체(110)와 수신된 주 객체(110)가 충돌하는지를 검출하기 위한 프로세스(700)를 도시한다. 이러한 충돌은 "폴트"라고 언급되며 수신된 주 객체(110)가 데이터 저장부(108)에 이미 저장된 주 객체(110)에 포함된 아이덴티티 클레임(134)에서 지정된 표명과 동일한 표명을 지정하는 아이덴티티 클레임(134)을 포함하는 상황을 언급한다. 이 "검출" 프로세스(700)는 개시 오퍼레이션(700)에서 시작해서 종료 오퍼레이션(720)에서 끝나는 동작 흐름을 이용하여 수행된다.
개시 오퍼레이션(702)은 컴퓨팅 환경(100)에서 주 객체(110)가 수신되는 것에 응답하여 개시된다. 개시 오퍼레이션(700)으로부터, 동작 흐름은 수신 오퍼레이션(704)으로 진행하고, 검출 프로세스(700)로의 주 객체를 수신한다. 주 객체(110)는 적어도 하나의 아이덴티티 클레임(134)을 포함하며 속성 데이터 객체(들)(138)를 선택적으로 포함한다. 검출 프로세스(700)를 기술할 때 편의상, 수신된 주 객체(110)는 오직 하나의 아이덴티티 클레임(134)을 갖는 것으로 기술된다. 주 객체(110)는 다수의 아이덴티티 클레임들(134)을 포함할 수 있다. 다수의 아이덴티티 클레임들(134)이 수신된 주 객체(110)를 수반하는 상황에서, 액세스 오퍼레이션(706) 및 폴트 오퍼레이션(708)(둘 모두 후술됨)이 다수의 아이덴티티 클레임들(134) 각각에 대해 수행되어야 한다.
도 6의 흐름도에서처럼, 용어 "수신"은 컴퓨터 시스템(142)의 운영 체제에 의한 임의의 주 객체의 수신을 참조하기 위해 일반적인 의미로 사용되고 있다. 주 객체(110)의 수신을 야기하는 예시적 프로세스들은 사용자에 의한 주 객체(110)의 입력, 컴퓨터 시스템들(142) 간의 통신 네트워크(150)를 통한 주 객체(110)의 전송을 포함하지만, 이들로만 제한되는 것은 아니다. 예를 들어, 주 객체(110)는 송신 컴퓨터 시스템(142)으로부터 수신 컴퓨터 시스템(142)으로 송신된 리소스에 피기백될 수 있다. 주 객체(110)가 검출 프로세스(704)로 수신된 후에, 동작 흐름은 액세스 오퍼레이션(706)으로 진행한다.
액세스 오퍼레이션(706)은 아이덴티티 클레임(134)을 포함하는 주 객체(110)가 데이터 저장부(108)에 이미 저장되어 있는지를 조사하기 위해 아이덴티티 클레임(134)에서 지정된 타입 표명(402) 및 값 표명(404)을 사용한다. 액세스 오퍼레이션(706)으로부터, 동작 흐름은 제1 질의 오퍼레이션(708)으로 진행한다. 제1 질의 오퍼레이션(708)은 데이터 저장부(108)에서 룩업을 수행하기 위해 액세스 오퍼레이션(706)에 의해 사용된 아이덴티티 클레임(134)을 포함하는 주 객체(110)를 액세스 오퍼레이션(706)이 찾았는지를 질의한다. 일실시예에서, 이러한 검사는 타입 표명(402) 및 값 표명(404)을 근거로 수행되며, 선택적으로 수신된 주 객체(110)의 아이덴티티 클레임(134)에 지정된 시간 프레임 표명들(410 및 412)을 근거로 수행된다. 대안으로, 다른 표명들(즉, 서명 표명(414) 또는 웹페이지 표명(408))이 상기 검사에서 사용될 수 있다. 평가된 표명을 갖는 주 객체(110)가 데이터 저장부(108)에서 발견되지 않으면, 폴트가 없으며 동작 흐름은 저장 오퍼레이션(710)으로 진행한다. 저장 오퍼레이션(710)은 수신된 주 객체(110)를 그 주 객체에 포함된 아이덴티티 클레임(134)에 링크하는 아이덴티티 기준(136)과 연관된 식별 리소스들 에서 차후에 사용되도록 데이터 저장부(108)에 저장한다. 저장 오퍼레이션(710)으로부터, 동작 흐름은 종료 오퍼레이션(720)에서 종료한다.
제1 질의 오퍼레이션(708)이 액세스 오퍼레이션(706)에 의해 평가된 표명과 동일한 표명을 지정하는 아이덴티티 클레임(134)을 포함하는 주 객체(110)를 찾으면, 아이덴티티 폴트가 검출되어, 동작 흐름은 제2 질의 오퍼레이션(712)으로 진행한다. 아이덴티티 시스템에서 폴트가 생성될 수 있는 다양한 방법들이 존재한다. 한가지 방법은 사용자가 아이덴티티 시스템에 이미 존재하는 주 객체(110)를 추가하려고 시도하는 경우이다. 폴트가 생성될 수 있는 두번째 방법은 두개 이상의 시스템들이 동일한 당사자에 대응하는 주 객체들을 포함할 때이며, 개인 또는 어플리케이션이 분산형 환경(100)에서 객체들을 송신하기 때문에, 상기 객체들은 궁극적으로 동일한 아이덴티티 시스템에 로드된다. 세번째 방법은 어태커(attacker)가 아이덴티티 시스템에 가짜 객체를 주입하려고 시도하는 경우이다.
제2 질의 오퍼레이션(712)은 주 객체(110)가 도 6의 설정 프로세스(600)에 의해 생성된 중신 객체들과 같은 중신 객체인지를 결정하기 위해 폴팅 주 객체(110), 즉, 데이터 저장부(108)에서 발견된 주 객체(110)를 검사한다. 객체가 중신 객체이면, 동작 흐름은 삭제 오퍼레이션(714)으로 진행한다. 삭제 오퍼레이션(714)은 중신 객체를 삭제하여, 수신된 주 객체(110)가 저장 오퍼레이션(710)에 의해 데이터 저장부에 저장될 수도 있도록 한다. 이처럼, 삭제 오퍼레이션(714)으로부터, 동작 흐름은 저장 오퍼레이션(710)으로 진행하며 상술된 바와 같이 계속된다.
다른 한편, 폴팅 주 객체(110)가 중신 객체가 아니면, 동작 흐름은 병합 오퍼레이션(716)으로 진행한다. 병합 오퍼레이션(716)은 수신된 주 객체(110)와 연관된 모든 데이터를 폴팅 주 객체(110)로 병합한다. 예를 들어, 수신된 주 객체(110)는 디스플레이 표명(406)을 포함하지만, 폴팅 주 객체(110)는 디스플레이 표명(406)을 포함하지 않으면, 상기 디스플레이 표명(406)은 폴팅 객체(110)로 복사된다. 유사하게, 폴팅 객체(110)에 포함되지 않은 수신된 주 객체(110)의 속성 데이터 객체(138)에 포함된 데이터는 폴팅 객체에 복사된다. 몇몇 이유로, 데이터의 특정 표명들 또는 필드들이 충돌하고 동일한 데이터를 지정하지 않으면(즉, 수신 객체(110)의 디스플레이 표명(406)을 위한 디스플레이 스트링이 폴팅 객체(110)의 디스플레이 표명(406)과 상이하면), 사용자 또는 컴퓨터 어플리케이션이 폴팅 주 객체(110)에 포함된 두 대안들 중 하나를 선택하는 프로세스를 사용해서 폴트가 해결된다. 병합 오퍼레이션(716)으로부터, 동작 흐름은 저장 오퍼레이션(718)으로 진행한다.
저장 오퍼레이션(718)은 업데이트된 주 객체(110)를 데이터 저장부(108)에 저장하며, 이는 차후에 업데이트된 주 객체에 포함된 아이덴티티 클레임(134)으로 링크하는 아이덴티티 기준(136)과 연관된 리소스들을 식별하는데 사용된다. 저장 오퍼레이션(718)으로부터, 동작 흐름은 종료 오퍼레이션(720)에서 끝난다.
상술된 다양한 실시예들은 단지 일례로서 제공된 것으로, 본 발명을 제한하는 것으로 해석되어서는 안된다. 본 기술 분야의 숙련자들은 본 명세서에 기술되고 도시된 일례의 실시예들 및 어플리케이션들을 따르지 않고, 이하의 청구항들에 기술된 본 발명의 원리 및 범위로부터 벗어나지 않고, 본 발명에 대한 다양한 변경들 및 수정들이 달성될 수 있음을 쉽게 알 것이다.

Claims (38)

  1. 컴퓨팅 환경 내에서 당사자들을 식별하기 위한 시스템이며,
    다수의 주 객체들 - 각각의 주 객체가 상기 컴퓨팅 환경 내에서 디지털 액션을 수행하도록 인증된 특정 당사자에 대응하고, 각각의 주 객체가 주 객체에 대응하는 특정 당사자와 다수의 리소스 객체들을 연관시키기 위해 컴퓨팅 환경 내에서의 컴퓨터 프로세스에 의해 사용되도록 동작할 수 있음 - ; 및
    다수의 아이덴티티 클레임들 - 각각의 아이덴티티 클레임이 각각의 특정 주 객체에 대응하는 특정 당사자를 고유하게 식별하고, 다수의 주 객체들 중 적어도 하나가 적어도 하나의 주 객체에 대응하는 특정 당사자를 각각 고유하게 식별하는 둘 이상의 아이덴티티 클레임들을 포함함 -
    을 포함하는 시스템.
  2. 제1항에 있어서,
    다수의 아이덴티티 기준들 - 다수의 아이덴티티 기준들 각각은 컴퓨팅 환경 내에서의 리소스 객체와 연관되고, 다수의 아이덴티티 기준들 각각은 특정 아이덴티티 클레임에 대한 아이덴티티 기준 내의 링크 표명(link assertion)을 근거로 특정 당사자와 연관되는 것으로 상기 연관된 리소스 객체를 식별함 -
    을 더 포함하는 시스템.
  3. 제2항에 있어서,
    다수의 아이덴티티 클레임 각각은 각각의 아이덴티티 클레임들이 연관된 주 객체에 대응하는 특정 당사자를 총괄하여 식별하는 타입 표명(type assertion) 및 값 표명(value assertion)을 포함하는 시스템.
  4. 제3항에 있어서,
    상기 다수의 아이덴티티 기준들 각각의 링크 표명은 각각의 아이덴티티 기준이 링크된 특정 아이덴티티 클레임에서 지정된 타입 표명 및 값 표명을 포함하는 시스템.
  5. 제4항에 있어서,
    제1 주 객체와 연관된 제1 아이덴티티 클레임에 대한 제1 타입 표명은 상기 제1 아이덴티티 클레임의 값 표명이 상기 제1 주 객체에 대응하는 제1 당사자와 고유하게 연관된 이메일 어드레스를 포함함을 나타내는 시스템.
  6. 제5항에 있어서,
    상기 제1 아이덴티티 클레임은 상기 이메일 어드레스가 상기 제1 당사자와 초기에 연관된 시점을 나타내는 시작 시간 기준 표명을 더 포함하는 시스템.
  7. 제6항에 있어서,
    상기 제1 아이덴티티 클레임은 상기 이메일 어드레스와 상기 제1 당사자 간의 연관성이 소멸되는 시점을 나타내는 종료 시간 기준 표명을 더 포함하는 시스템.
  8. 제4항에 있어서,
    제1 주 객체와 연관된 제2 아이덴티티 클레임에 대한 제2 타입 표명이 상기 제2 아이덴티티 클레임의 값 표명이 상기 제1 당사자와 고유하게 연관된 전화 번호를 포함함을 나타내는 시스템.
  9. 제2항에 있어서,
    상기 컴퓨팅 환경은 분산형 컴퓨팅 시스템이며, 적어도 하나의 아이덴티티 기준은 상기 아이덴티티 기준에 링크된 아이덴티티 클레임이 유지되는 컴퓨터 시스템과는 상이한 컴퓨터 시스템에 유지되는 시스템.
  10. 컴퓨팅 환경 내에서 제1 당사자를 식별하기 위한 시스템 - 상기 제1 당사자는 상기 컴퓨팅 환경 내에서 디지털 액션을 수행하도록 인증됨 - 이며,
    상기 제1 당사자에 대응하는 제1 주 객체 - 상기 제1 주 객체는 제1 당사자와 적어도 하나의 리소스 객체를 연관시키기 위해 컴퓨팅 환경 내에서 컴퓨터 프로세스에 의해 사용되도록 동작할 수 있음 - ; 및
    다수의 아이덴티티 클레임 - 각각의 아이덴티티 클레임은 상기 제1 당사자를 고유하게 식별하고, 컴퓨터 프로세스가 다수의 아이덴티티 클레임들 중 임의의 것을 사용하여 적어도 하나의 리소스 객체를 제1 당사자와 연관시킬 수 있도록 상기 제1 주 객체가 상기 다수의 아이덴티티 클레임들을 포함함 -
    을 포함하는 시스템.
  11. 제10항에 있어서,
    상기 컴퓨팅 환경 내에서 제1 리소스 객체와 연관된 제1 아이덴티티 기준 - 상기 제1 아이덴티티 기준은 상기 다수의 아이덴티티 클레임들 중 제1 아이덴티티 클레임에 대한 상기 제1 아이덴티티 기준 내의 제1 링크 표명을 근거로 상기 제1 리소스 객체를 상기 제1 당사자와 연관된 것으로서 식별함 -
    을 더 포함하는 시스템.
  12. 제11항에 있어서,
    상기 컴퓨팅 환경 내에서 제2 리소스 객체와 연관된 제2 아이덴티티 기준 - 상기 제2 아이덴티티 기준은 상기 제1 아이덴티티 클레임에 대한 상기 제2 아이덴티티 기준 내의 제2 링크 표명을 근거로 상기 제2 리소스 객체를 상기 제1 당사자와 연관된 것으로서 식별함 -
    을 더 포함하는 시스템.
  13. 제12항에 있어서,
    제1 리소스 객체가 제1 어플리케이션 프로그램과 연관된 파일을 나타내고 제2 리소스 객체가 제2 어플리케이션 프로그램과 연관된 파일을 나타내는 것을 특징으로 하는 시스템.
  14. 제13항에 있어서,
    상기 제1 어플리케이션 프로그램은 워드 프로세싱 어플리케이션 프로그램인 시스템.
  15. 제12항에 있어서,
    다수의 아이덴티티 클레임들 각각은 상기 제1 당사자를 총괄하여 지정하는 타입 표명 및 값 표명을 포함하고, 상기 제1 및 제2 링크 표명들은 상기 제1 및 제2 아이덴티티 기준들이 링크된 아이덴티티 클레임에 지정된 타입 표명 및 값 표명을 포함하는 것을 특징으로 하는 시스템.
  16. 제15항에 있어서,
    상기 제1 아이덴티티 클레임에 대한 제1 타입 표명은 상기 제1 아이덴티티 클레임에 대한 값 표명이 상기 제1 당사자와 고유하게 연관된 이메일 어드레스를 포함함을 나타내는 시스템.
  17. 제16항에 있어서,
    상기 제1 아이덴티티 클레임은:
    상기 이메일 어드레스가 제1 당사자와 초기에 연관된 시점을 나타내는 시작 시간 기준 표명; 및
    상기 이메일 어드레스와 제1 당사자 간의 연관성이 소멸되는 시점을 나타내는 종료 시간 기준 표명
    을 더 포함하는 시스템.
  18. 제10항에 있어서,
    상기 제1 당사자는 상기 컴퓨팅 환경 내의 개인, 조직 및 모듈로 구성된 그룹으로부터 선택되는 시스템.
  19. 제10항에 있어서,
    상기 컴퓨팅 환경은 분산형(distributed) 컴퓨팅 시스템인 시스템.
  20. 제10항에 있어서,
    상기 컴퓨팅 환경은 자립형(stand-alone) 컴퓨팅 시스템인 시스템.
  21. 컴퓨팅 환경 내에서 디지털 액션을 수행하도록 인증된 당사자를 식별할 때 사용되도록 데이터 구조가 저장되어 있는 컴퓨터 판독 가능 매체이며, 상기 데이터 구조는:
    특정 식별 스킴으로 당사자를 고유하게 식별하는 값 표명;
    상기 값 표명에 대응하는 특정 식별 스킴을 나타내는 타입 표명; 및
    상기 특정 식별 스킴으로 상기 당사자가 상기 값 표명에 의해 고유하게 식별되는 시간 프레임을 지정하는 시간 기준 표명
    을 포함하는 컴퓨터 판독 가능 매체.
  22. 제21항에 있어서,
    상기 데이터 구조가 주 객체를 상기 당사자와 연관시키는 아이덴티티 클레임을 나타내고, 상기 주 객체가 적어도 하나의 리소스 객체를 상기 당사자와 연관시키기 위해 상기 컴퓨팅 환경 내에서 컴퓨터 프로세스에 의해 사용되도록 동작할 수 있는 컴퓨터 판독 가능 매체.
  23. 제22항에 있어서, 상기 시간 기준은:
    상기 값 표명이 상기 당사자와 초기에 연관된 시점을 나타내는 시작 시간 기준 표명; 및
    상기 값 표명과 상기 당사자 간의 연관성이 소멸되는 시점을 나타내는 종료 시간 기준 표명
    을 포함하는 컴퓨터 판독 가능 매체.
  24. 제22항에 있어서, 상기 데이터 구조는:
    상기 컴퓨팅 환경 내에서 사람이 인식할 수 있는 형태로 상기 값 표명을 지정하는 디스플레이 표명을 더 포함하고, 상기 컴퓨터 프로세스는 상기 당사자와 상기 적어도 하나의 리소스 객체 간의 연관성을 보기 위해 상기 사용자에 의한 요청에 응답하여 사용자에게 디스플레이 표명을 디스플레이하는 것을 특징으로 하는 컴퓨터 판독 가능 매체.
  25. 제21항에 있어서,
    상기 당사자는 컴퓨팅 환경 내의 개인, 조직 및 모듈로 구성된 군으로부터 선택되는 컴퓨터 판독 가능 매체.
  26. 제21항에 있어서,
    상기 타입 표명은 상기 값 표명이 당사자와 고유하게 연관된 이메일 어드레스를 포함함을 나타내는 컴퓨터 판독 가능 매체.
  27. 제21항에 있어서,
    상기 타입 표명은 상기 값 표명이 당사자와 고유하게 연관된 전화 번호를 포함함을 나타내는 컴퓨터 판독 가능 매체.
  28. 컴퓨팅 환경 내에서 디지털 액션을 수행하도록 인증된 제1 당사자를 식별하기 위한 방법이며,
    상기 제1 당사자를 컴퓨팅 환경 내에 유지된 다수의 리소스 객체들과 연관된 것으로서 식별하도록 컴퓨팅 환경 내에서 컴퓨터 프로세스에 의해 사용되도록 동작할 수 있는 주 객체를 생성하는 단계;
    특정 식별 스킴 내에서 상기 제1 당사자를 고유하게 식별하는 제1 아이덴티티 클레임을 주 객체와 연관시키는 단계 - 상기 특정 식별 스킴으로의 제1 당사자의 고유한 식별은 다수의 당사자들 각각에 고유한 식별 스트링들을 할당함으로써 달성됨 - ;
    다수의 어플리케이션 프로그램들과 연관된 다수의 리소스 객체들을 수신하는 단계 - 상기 다수의 리소스 객체들 각각은 상기 주 객체에 각각의 리소스 객체를 링크하는 선언(declaration)을 포함하는 아이덴티티 기준과 연관됨 - ; 및
    상기 연관된 아이덴티티 기준들에 포함된 상기 선언 링크들을 근거로 상기 제1 당사자와 연관된 것으로 다수의 리소스 객체들 각각을 컴퓨팅 환경 내에서 식별하는 단계 - 상기 컴퓨터 프로세스는 상기 제1 당사자에 대한 다수의 리소스 객체들 각각의 식별을 사용해서 각각의 식별된 리소스 객체와 관련해서 적어도 하나의 태스크를 수행함 -
    을 포함하는 방법.
  29. 제28항에 있어서, 상기 수신 동작은:
    상기 제1 당사자에 할당된 고유한 식별 스트링을 포함하는 제1 선언을 근거로 상기 제1 아이덴티티 클레임에 링크된 제1 아이덴티티 기준과 연관된 제1 리소 스 객체를 수신하는 단계 - 상기 제1 리소스 객체는 제1 어플리케이션 프로그램과 연관된 제1 파일을 나타냄 - ; 및
    상기 제1 당사자에 할당된 고유한 식별 스트링을 포함하는 제2 선언을 근거로 상기 제1 아이덴티티 클레임에 링크된 제2 아이덴티티 기준과 연관된 제2 리소스 객체를 수신하는 단계 - 상기 제2 리소스 객체는 제2 어플리케이션 프로그램과 연관된 제2 파일을 나타냄 -
    를 포함하는 방법.
  30. 제29항에 있어서, 상기 식별 동작은:
    상기 제1 아이덴티티 기준 및 상기 제2 아이덴티티 기준을 상기 제1 아이덴티티 클레임으로 링크하는 것을 근거로 상기 제1 파일 및 상기 제2 파일을 상기 제1 당사자와 연관된 것으로서 식별하는 단계를 포함하는 방법.
  31. 제28항에 있어서,
    상기 제1 당사자와 연관된 주 객체 속성들과 연관시키는 단계 - 상기 식별 동작에 응답하여 상기 컴퓨터 프로세스에 의해 수행되는 태스크는 상기 주 객체에 링크된 다수의 리소스들 중 적어도 하나의 그래픽 표현과 관련하여 상기 제1 당사자와 연관된 속성들의 그래픽 표현을 디스플레이하는 동작을 포함함 -
    를 더 포함하는 방법.
  32. 제30항에 있어서,
    상기 제1 당사자와 연관된 주 객체 속성들과 연관시키는 단계 - 상기 식별 동작에 응답하여 상기 컴퓨터 프로세스에 의해 수행되는 태스크는 상기 주 객체에 링크된 다수의 리소스들 중 적어도 하나에 대한 상기 제1 당사자에 의한 액세스를 인증하는 동작을 포함함 -
    를 더 포함하는 방법.
  33. 제28항에 있어서, 상기 생성 동작은:
    상기 주 객체에 상기 리소스 객체를 링크하지 않는 선언을 포함하는 아이덴티티 기준을 갖는 리소스 객체 수신에 응답하여 중신 주 객체를 생성하는 단계 - 상기 선언은 특정 식별 스킴 내에서 제2 당사자를 고유하게 식별하는 식별 스트링을 포함하고, 상기 중신 주 객체는 상기 제2 당사자에 할당된 상기 식별 스트링을 포함하도록 생성됨 - ; 및
    상기 제1 당사자에 대응하는 상기 주 객체를 포함하는 데이터 저장부에 상기 중신 주 객체를 저장하는 단계
    를 포함하는 방법.
  34. 제33항에 있어서,
    상기 제2 주 객체를 수신하는 단계 - 상기 제2 주 객체는 상기 제2 당사자에게 할당된 상기 식별 스트링을 포함하는 제2 아이덴티티 클레임을 포함함 - ; 및
    상기 중신 주 객체 및 상기 제2 당사자가 모두 상기 제2 당사자에 대응한다는 결정에 응답하여, 상기 중신 주 객체를 상기 데이터 저장부로부터 삭제하고 상기 제2 주 객체가 상기 식별 동작에 의해 사용되도록 상기 제2 주 객체를 상기 데이터 저장부에 저장하는 단계
    를 더 포함하는 방법.
  35. 제28항에 있어서,
    상기 제1 아이덴티티 클레임은 상기 컴퓨팅 환경에서 데이터 저장부에 저장되고, 상기 방법은:
    상기 데이터 저장부에 저장하기 위해 제2 아이덴티티 클레임을 수신하는 단계에 응답하여, 상기 제2 아이덴티티 클레임 및 상기 제1 아이덴티티 클레임 둘 모두 동일한 고유한 식별 스트링을 지정하는지를 판정하는 단계; 및
    상기 제1 아이덴티티 클레임 및 상기 제2 아이덴티티 클레임 둘 모두 상기 동일한 고유한 식별 스트링을 지정한다는 판정에 응답하여, 상기 식별 동작에 유용하며 상기 데이터 저장부에 저장될 주요 아이덴티티 클레임을 판정하도록 폴트 해결 프로세스를 호출하는 단계
    를 더 포함하는 방법.
  36. 제35항에 있어서,
    상기 호출하는 동작은 상기 제2 아이덴티티 클레임에 저장된 데이터를 상기 제1 아이덴티티 클레임에 병합하는 단계를 포함하는 방법.
  37. 제35항에 있어서, 상기 호출하는 동작은:
    상기 제1 아이덴티티 클레임을 삭제하는 단계; 및
    상기 제2 아이덴티티 클레임을 상기 데이터 저장부에 저장하는 단계
    를 포함하는 방법.
  38. 제28항의 방법을 수행하기 위해, 컴퓨터 시스템에 의해 판독 가능하고, 상기 컴퓨터 시스템에 의해 실행가능한 명령들의 프로그램을 명백하게 구현하는 컴퓨터 프로그램 제품.
KR1020057006876A 2003-10-23 2004-07-29 컴퓨팅 환경에서 사용하기 위한 아이덴티티 시스템 KR20060111253A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/693,021 US7631060B2 (en) 2003-10-23 2003-10-23 Identity system for use in a computing environment
US10/693,021 2003-10-23

Publications (1)

Publication Number Publication Date
KR20060111253A true KR20060111253A (ko) 2006-10-26

Family

ID=34522270

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057006876A KR20060111253A (ko) 2003-10-23 2004-07-29 컴퓨팅 환경에서 사용하기 위한 아이덴티티 시스템

Country Status (11)

Country Link
US (1) US7631060B2 (ko)
EP (1) EP1682966A4 (ko)
JP (1) JP4660483B2 (ko)
KR (1) KR20060111253A (ko)
CN (1) CN101180825B (ko)
AU (1) AU2004279188A1 (ko)
BR (1) BRPI0406214A (ko)
CA (1) CA2501848C (ko)
MX (1) MXPA05006639A (ko)
RU (1) RU2377641C2 (ko)
WO (1) WO2005045577A2 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181472B2 (en) * 2003-10-23 2007-02-20 Microsoft Corporation Method and system for synchronizing identity information
US8180834B2 (en) * 2004-10-07 2012-05-15 Computer Associates Think, Inc. System, method, and computer program product for filtering messages and training a classification module
US8104074B2 (en) * 2006-02-24 2012-01-24 Microsoft Corporation Identity providers in digital identity system
US8117459B2 (en) * 2006-02-24 2012-02-14 Microsoft Corporation Personal identification information schemas
US20070203852A1 (en) * 2006-02-24 2007-08-30 Microsoft Corporation Identity information including reputation information
US8078880B2 (en) * 2006-07-28 2011-12-13 Microsoft Corporation Portable personal identity information
US8407767B2 (en) * 2007-01-18 2013-03-26 Microsoft Corporation Provisioning of digital identity representations
US8087072B2 (en) * 2007-01-18 2011-12-27 Microsoft Corporation Provisioning of digital identity representations
US8689296B2 (en) * 2007-01-26 2014-04-01 Microsoft Corporation Remote access of digital identities
US8990896B2 (en) 2008-06-24 2015-03-24 Microsoft Technology Licensing, Llc Extensible mechanism for securing objects using claims
US8689004B2 (en) 2010-11-05 2014-04-01 Microsoft Corporation Pluggable claim providers
EP3629663B1 (en) * 2014-04-29 2022-03-09 Huawei Technologies Co., Ltd. Resource reuse apparatus, user equipment, and resource reuse method
US9674200B2 (en) 2015-07-14 2017-06-06 Mastercard International Incorporated Identity federation and token translation module for use with a web application

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2724471B1 (fr) * 1994-09-13 1996-10-25 Bull Sa Dispositif de generation d'interfaces orientees objet pour des bases de donnees relationnelles et procede mis en oeuvre par ledit dispositif
US5542078A (en) * 1994-09-29 1996-07-30 Ontos, Inc. Object oriented data store integration environment for integration of object oriented databases and non-object oriented data facilities
US5634052A (en) * 1994-10-24 1997-05-27 International Business Machines Corporation System for reducing storage requirements and transmission loads in a backup subsystem in client-server environment by transmitting only delta files from client to server
US7562392B1 (en) * 1999-05-19 2009-07-14 Digimarc Corporation Methods of interacting with audio and ambient music
US5778395A (en) * 1995-10-23 1998-07-07 Stac, Inc. System for backing up files from disk volumes on multiple nodes of a computer network
US7192352B2 (en) * 1996-04-22 2007-03-20 Walker Digital, Llc System and method for facilitating play of a video game via a web site
US6182188B1 (en) * 1997-04-06 2001-01-30 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US6370566B2 (en) * 1998-04-10 2002-04-09 Microsoft Corporation Generating meeting requests and group scheduling from a mobile device
US6237035B1 (en) * 1997-12-18 2001-05-22 International Business Machines Corporation System and method for preventing duplicate transactions in an internet browser/internet server environment
US6292880B1 (en) * 1998-04-15 2001-09-18 Inktomi Corporation Alias-free content-indexed object cache
JP2000122975A (ja) * 1998-10-14 2000-04-28 Toshiba Corp バイオメトリクスによるユーザー確認システム及び記憶媒体
US6125378A (en) * 1999-01-13 2000-09-26 Barbano; Paolo Emilio Method and apparatus for generating families of code signals using multiscale shuffling
GB9903124D0 (en) * 1999-02-11 1999-04-07 Nokia Telecommunications Oy An authentication method
US6687823B1 (en) * 1999-05-05 2004-02-03 Sun Microsystems, Inc. Cryptographic authorization with prioritized and weighted authentication
MXPA02001148A (es) * 1999-07-30 2003-09-22 Safewww Inc Un sistema y metodo para compras seguras por red.
US7137008B1 (en) * 2000-07-25 2006-11-14 Laurence Hamid Flexible method of user authentication
EP1195705A1 (en) * 2000-10-06 2002-04-10 Hewlett-Packard Company Method of performing transactions in an information technology network
EP1356363A2 (en) * 2000-12-06 2003-10-29 Waveset Technologies, Inc System and method for managing information objects
US7130466B2 (en) * 2000-12-21 2006-10-31 Cobion Ag System and method for compiling images from a database and comparing the compiled images with known images
GB0107967D0 (en) * 2001-03-29 2001-05-23 Ibm Workload management of stateful program entities
US7243343B2 (en) * 2001-04-10 2007-07-10 International Business Machines Corporation Method, compiler and platform independent framework for parsing and generating data structures
US7017162B2 (en) * 2001-07-10 2006-03-21 Microsoft Corporation Application program interface for network software platform
US20040128508A1 (en) * 2001-08-06 2004-07-01 Wheeler Lynn Henry Method and apparatus for access authentication entity
JP2003263471A (ja) * 2002-03-07 2003-09-19 Progress Interactive Inc 携帯情報端末を用いた印刷用データ送信・管理システム
US7308579B2 (en) * 2002-03-15 2007-12-11 Noel Abela Method and system for internationally providing trusted universal identification over a global communications network
US8611919B2 (en) * 2002-05-23 2013-12-17 Wounder Gmbh., Llc System, method, and computer program product for providing location based services and mobile e-commerce
US7275087B2 (en) * 2002-06-19 2007-09-25 Microsoft Corporation System and method providing API interface between XML and SQL while interacting with a managed object environment
US7490332B2 (en) * 2003-04-04 2009-02-10 Sesma Systems, Inc. System and method for accessing ActiveX objects in a platform dependent environment from objects in a platform independent environment
US7660864B2 (en) * 2003-05-27 2010-02-09 Nokia Corporation System and method for user notification
US7386863B2 (en) * 2003-06-26 2008-06-10 International Business Machines Corporation Administering devices in dependence upon user metric vectors with multiple users

Also Published As

Publication number Publication date
AU2004279188A1 (en) 2006-02-16
RU2005119658A (ru) 2006-01-20
AU2004279188A8 (en) 2008-08-21
US7631060B2 (en) 2009-12-08
JP4660483B2 (ja) 2011-03-30
US20050091264A1 (en) 2005-04-28
CN101180825B (zh) 2011-05-18
BRPI0406214A (pt) 2005-08-09
WO2005045577A3 (en) 2007-07-12
RU2377641C2 (ru) 2009-12-27
EP1682966A2 (en) 2006-07-26
WO2005045577A2 (en) 2005-05-19
JP2007519076A (ja) 2007-07-12
MXPA05006639A (es) 2005-08-16
CA2501848C (en) 2012-03-20
EP1682966A4 (en) 2012-05-30
CN101180825A (zh) 2008-05-14
CA2501848A1 (en) 2005-04-23

Similar Documents

Publication Publication Date Title
US11063896B2 (en) System and method for detecting confidential information emails
US8548997B1 (en) Discovery information management system
CA2826905C (en) Sharing information between nexuses that use different classification schemes for information access control
RU2439680C2 (ru) Синхронизация в реальном времени данных xml между приложениями
US20060259960A1 (en) Server, method and program product for management of password policy information
JP5023715B2 (ja) 情報処理システム、情報処理装置及びプログラム
US20070185834A1 (en) Method and apparatus for optimistic locking using SQL select, update, delete, and insert statements
US20080294903A1 (en) Authenticity assurance system for spreadsheet data
CN101441688A (zh) 一种用户权限分配方法和一种用户权限控制方法
JP2001265772A (ja) プライバシー・レベルを有する電子ビジネス・カードのアクセス方法
JP2010525449A (ja) ウェブサービスリソースへのアクセスの認可
CN106663083B (zh) 用于基于http的应用的网络浏览器策略
KR20060111253A (ko) 컴퓨팅 환경에서 사용하기 위한 아이덴티티 시스템
JP2007183954A (ja) ログコンテントに基づく洗練方法
JP4807364B2 (ja) 情報管理装置
CN104137073B (zh) 一种获取文件的方法和装置
US20110320927A1 (en) Methods and Apparatus Utilizing XooML: Cross (X) Tool Markup Language
Ye et al. Generating synthetic data to support entity resolution education and research
CN111367898B (zh) 数据处理方法、装置、系统、电子设备及存储介质
CN111104690B (zh) 文档监测方法、装置、服务器及存储介质
JP2007299093A (ja) 文書管理システム
US20220253467A1 (en) Method, device and program product for generating configuration information of storage system
Adams et al. Limiting Disclosure by Hiding the Identity-Attribute Pair
JP2005208901A (ja) 情報検索システム、およびプログラム
JP2023085088A (ja) 情報処理装置、情報処理方法及びコンピュータプログラム

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid