KR20060053170A - 호스트된 애플리케이션의 온라인 활용을 위해 터미널서비스 계정 및 세션을 관리하는 시스템, 컴퓨터 프로그램제품 및 방법 - Google Patents

호스트된 애플리케이션의 온라인 활용을 위해 터미널서비스 계정 및 세션을 관리하는 시스템, 컴퓨터 프로그램제품 및 방법 Download PDF

Info

Publication number
KR20060053170A
KR20060053170A KR1020050076212A KR20050076212A KR20060053170A KR 20060053170 A KR20060053170 A KR 20060053170A KR 1020050076212 A KR1020050076212 A KR 1020050076212A KR 20050076212 A KR20050076212 A KR 20050076212A KR 20060053170 A KR20060053170 A KR 20060053170A
Authority
KR
South Korea
Prior art keywords
account
session
language
time
accounts
Prior art date
Application number
KR1020050076212A
Other languages
English (en)
Other versions
KR101150042B1 (ko
Inventor
랄프 아브도
제프 알렌 케이스
찌-밍 린
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20060053170A publication Critical patent/KR20060053170A/ko
Application granted granted Critical
Publication of KR101150042B1 publication Critical patent/KR101150042B1/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • 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/2135Metering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Technology Law (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

호스트된 애플리케이션의 온라인 활용을 위해 터미널 서비스(terminal services:TS) 계정 및 세션을 관리하는 시스템, 컴퓨터 프로그램 제품 및 방법이 제공된다. 시스템은 사용가능한 TS 계정의 공급을 모니터하고, 사용가능한 TS 계정의 공급이 최소 개수 이하인 경우를 검출하는 것에 응하여 TS 계정을 생성하도록 동작한다. TS 세션을 액세스하기 위한 요청이 검출되는 경우, 시스템은 사용자가 자격 증명(credentials)을 입력하지 않고 TS 세션을 즉시 액세스할 수 있도록 TS 계정을 프로비전한다(provision). 프로비전된 TS 계정은 액세스를 제공하고, 이것은 고유의 프로필과 관련된다. 시스템은 또한 호스트된 애플리케이션을 액세스하고 사용자를 위해 생성된 자격 증명을 해독하기 위해 요청을 수신하도록 동작한다. 방법은 액세스를 요청하는 사용자에게 할당된 사용자이름을 판독하는 단계, 사용자이름과 관련된 TS 계정을 찾는 단계, TS 계정과 관련된 언어를 식별하는 단계, 그 언어로 호스트된 애플리케이션을 론칭하는 단계를 포함한다.
호스트된 애플리케이션, TS 계정, TS 세션

Description

호스트된 애플리케이션의 온라인 활용을 위해 터미널 서비스 계정 및 세션을 관리하는 시스템, 컴퓨터 프로그램 제품 및 방법{MANAGING TERMINAL SERVICES ACCOUNTS AND SESSIONS FOR ONLINE UTILIZATION OF A HOSTED APPLICATION}
도 1은 본 발명의 예시적인 실시예에 따라 계정 관리 시스템(AMS) 서버와 터미널 서비스(TS) 환경 간의 상호작용을 보여주는 하이 레벨 도면.
도 2는 본 발명의 예시적인 실시예에 따라 계정 관리 시스템 서버에 대한 컴퓨팅 시스템 아키텍처를 도시하는 도면.
도 3은 본 발명의 예시적인 실시예에 따라 도 2의 AMS 서버와 통신하는 서버 팜의 TS 서버에 대한 컴퓨팅 시스템 아키텍처를 도시하는 도면.
도 4는 본 발명의 예시적인 실시예에 따라 AMS 데이터베이스의 매개변수 필드를 도시하는 블록도.
도 5는 본 발명의 예시적인 실시예에 따라 호스트된 애플리케이션의 온라인 활용 및/또는 평가를 위해 TS 계정 및 세션을 관리하는 작업 흐름도.
도 6은 본 발명의 예시적인 실시예에 따라 사용가능한 TS 계정을 생성하는 작업 흐름도.
도 7은 본 발명의 예시적인 실시예에 따라, 사용하기 위해 TS 계정을 프로비전하는 작업 흐름도.
도 8a 및 8b는 본 발명의 예시적인 실시예에 따라 TS 세션 및 TS 계정을 관리하는 작업 흐름도.
도 9는 본 발명의 예시적인 실시예에 따라 프로비전된 TS 계정을 디프로비전하는 작업 흐름도.
<도면의 주요부분에 대한 부호의 설명>
218 :데이터베이스
220a:OU 언어 A
224a:계정 제어 매개변수
225:시간 매개변수
222:계정 정보 매개변수
228:세션 메트릭
본 발명은 일반적으로 하나 이상의 터미널 서비스에 대해 터미널 서비스 세션 및 계정을 관리하는 것에 관한 것이다. 보다 구체적으로는, 본 발명은 계정에 대한 사용자 서명(signing up) 없이 및/또는 호스트된 애플리케이션을 사용자의 컴퓨터로 다운로드하지 않고 호스트된 애플리케이션의 온라인 평가(evaluation) 또는 시험(trials)을 관리하는 것에 관한 것이다.
잠재 고객에게 소프트웨어 애플리케이션을 평가하거나 또는 시험할 수 있는 기회를 제공함으로써 소프트웨어 제조업자들은 판매량을 증가시킬 수 있다. 그러나, 소프트웨어 제품의 시험판을 획득하고 설치하는 데에 필요한 노력으로 인해 잠재 고객은 시간 또는 시스템 자원을 투자하는 것을 단념할 수 있다. 또한, 사용자들은 종종 자신의 시스템에 대한 잠재적인 리스크로 인해 익숙하지 않은 소프트웨어를 설치하는 것을 꺼려한다. 이것은 잠재 구매자가 제품에 대해 잘 알지 못하고 구매자들이 기대하는 가치에 대해 확신할 수 없는 버전 1의 제품에 대해 특히 그러하다. 애플리케이션의 시험버전을 제공하는 한 가지 옵션은 시험 CD를 우편으로 보내는 것이다. 이 옵션은 통상적으로 비용이 들고, 무게가 나가지는 않지만, 소프트웨어가 저작권 침해(piracy)되기 쉽다. CD의 또 다른 단점은 그 시험 제품을 수신하고 실제로 설치하는 목표 사용자들의 퍼센트를 추적하는 수단이 제공되지 않는다는 것이다.
터미널 서비스는 처리 부하의 대부분이 클라이언트에서 서버로 이동되는 네트워크 기반 클라이언트/서버 컴퓨팅 환경을 제공하기 위해 클라이언트와 함께 작동한다. 클라이언트 및 터미널 서버는 소위 신 클라이언트(thin-client) 컴퓨팅 환경이라 불리는 환경에서 동작한다. TS는 서버로의 원격 액세스를 허용하는, 서버 운영 체제의 한 컴포넌트이다. 이 환경의 서버는 다수의 사용자를 위해 TS 세션 및 애플리케이션을 동시에 관리해야 한다. 그러나, 이전의 TS 플랫폼은 사용자가 계정에 대한 서명 또는 자가 인증의 엔트리를 제공하고 소프트웨어의 시험버전을 다운로드하는 것을 필요로 한다.
이전의 TS 플랫폼은 사용자별 개인 프로필을 설정하기 위해 각 사용자로부터 서명 입력을 수신하지 않고, 다수의 사용자가 동일한 프로필을 공유한다. 그 결과, 동일한 데스크톱 환경 및/또는 동일한 프로필 폴더를 사용하는 다수의 사용자들은 서로의 문서를 상호작용할 수 있게 되었고, 서로에게 의심스러운 문서를 전송할 수 있게 되었다. 여기에는 바이러스와 같이 동일한 프로필을 사용하는 다수의 사용자와 관련된 다른 보안 리스크가 있다. 이전의 TS 플랫폼은 또한 분석을 위해 커스텀 코딩 메트릭(custom-coded metrics)을 로그시키는 기능을 제공하지 않는다.
이전 TS 플랫폼의 또 다른 결점은 웹 페이지로부터 TS 세션으로 커스텀 데이터를 전달하는 기능을 제공하지 않고, 또한 잠겨진(locked down) 세션을 제공하지 않는다는 것이다. 잠겨진 세션은 사용자가 호스트된 애플리케이션이 수행중인 시스템에 충격을 주는 것을 방지한다. TS로 계정이 생성되어야 하고 사용자에게 주어져야 한다. 그리고 나서 사용자는 자격 증명을 타이핑하고, 접속을 클릭하고, 적절한 서버를 가리킨다. 이전의 TS 플랫폼은 TS의 첫 페이지가 소정의 서버를 가리키도록 코딩될 수 있었고, 계정이 하드 코딩될 수 있었다. 그러나, 그 페이지에 도달하는 모든 사용자들이 동일한 계정 및 동일한 프로필을 사용한다는 문제가 여전히 남아 있었다.
본 발명은 이러한 고려 사항 및 기타 고려 사항에 관한 것이다.
본 발명의 실시예들은 호스트된 애플리케이션의 온라인 활용 또는 평가을 위해 TS 계정 및 세션을 관리하는 방법, 시스템 및 컴퓨터 판독가능 매체를 제공한다. 본 발명은 TS 가능 액티브 디렉토리 계정을 자동으로 미리 생성하고 프로비전 하는(provision) 계정 관리 시스템(account management system:AMS)에 관한 것이다. 시스템은 임의의 소정의 언어에 대해 사용가능한 계정의 개수를 모니터하는 계정 모니터링 서비스를 지닌다. 계정 모니터링 서비스가, 환경이 임의의 소정의 언어에 대해 사용가능한 계정에 낮게 수행되고 있다는 것을 검출할 때, AMS는 적절한 언어에 대한 많은 계정을 자동으로 생성하고 구성한다.
두 번째로, 본 발명의 실시예는 호스트된 애플리케이션의 기능을 블럭(block)할 수 있고, 세션 메트릭을 추적하고 저장할 수 있고, TS 세션 길이를 제한하고, 경고 시에 커스텀 메세지를 제공할 수 있는 온라인의 호스트된 애플리케이션 서비스를 제공한다. 온라인의 호스트된 애플리케이션 서비스는 또한 제거될(purging) 준비가 되어 있는 계정을 플래그하기 위해 TS 계정 데이터베이스를 업데이트한다. 사용자가 로그인한 후 즉시 계정이 사용불가하게 된다. 따라서, 사용자는, 자신의 세션이 종료된 후 그러나 계정이 제거되기 전에, 계정으로 다시 로깅할 수 없다. 이 기능은 매 TS 세션마다 수행되는 TS 애플리케이션에 의해 제공된다. 이 TS 컨트롤러는 호스트된 평가 TS 세션동안 TS 세션 구성요소를 잠그는 미세한 제어를 허용한다.
한 실시예는 호스트된 애플리케이션의 온라인 활용을 위해 TS 계정을 관리하는 방법에 관한 것이다. 방법은 사용가능한 TS 계정의 공급, TS 계정에 대한 수요, 및/또는 각 TS 계정의 상태의 모니터링을 포함한다. 사용가능한 TS 계정의 공급이 사용가능한 상태를 지니는 TS 계정의 최소한의 수 이하라는 것이 검출되는 것에 응하여, 더 많은 TS 계정이 생성된다. 사용가능한 상태를 지니는 TS 계정의 최 소한의 수는 버퍼 레벨이라 지칭된다. 소정의 언어에 대해 사용가능한 계정의 수가 버퍼 레벨 이하로 감소하는 경우, 그 언어에 대해 미리 구성된 수만큼의 계정이 벌크로 생성된다. 따라서, 온라인 TS 세션을 통해 호스트된 애플리케이션을 활용하는 다수의 사용자에 대해 TS 계정의 사용가능성이 보장된다.
방법은 또한 TS 세션을 액세스하는 데에 사용할 TS 계정을 프로비전하는 단계를 포함하고, 프로비전된 각각의 TS 계정은 사용자를 대표하여 생성된 고유의 프로필과 관련된다. TS 세션은 호스트된 애플리케이션의 온라인 사용을 제공한다. 이 방법은 또한 TS 세션이 종료될(closed) 때 사용자로부터 TS 계정을 디프로비전하는(de-provision) 단계를 포함한다.
또 다른 실시예는 호스트된 애플리케이션의 온라인 활용을 위해 TS 계정을 관리하는 시스템이다. 이 시스템은 사용가능한 TS 계정의 공급, TS 계정의 수요, 및/또는 각 TS 계정의 상태를 모니터하도록 동작하는 제1 컴퓨터를 포함한다. 제 1 컴퓨터는 또한 사용가능한 TS 계정의 공급이, 사용가능한 상태를 지니는 TS 계정의 최소 개수인 버퍼 레벨 이하임을 검출하는 것에 응하여 TS 계정을 생성하도록 동작한다. 사용가능한 TS 계정의 공급은 사용가능한 TS 계정의 공급이 버퍼 레벨 이하가 될 때마다 보충된다. 또한, 호스트된 애플리케이션을 사용하기 위해 TS 세션을 액세스하고자 하는 사용자로부터의 요청이 검출되는 경우, 제1 컴퓨터는 사용자가 자격 증명을 입력하지 않고 또는 임의의 장기의 인증없이 사용자가 즉시 TS 세션을 액세스하도록 TS 계정을 프로비전하도록 동작한다. TS 세션은 호스트된 애플리케이션의 온라인 사용을 제공한다. 프로비전된 TS 계정은 TS 세션으로의 액세 스를 제공하고, 고유의 프로필과 관련된다.
또한, 시스템은 웹 페이지를 통해 호스트된 애플리케이션을 액세스하는 요청을 수신하고, 사용자를 대표하여 IP 주소로 전송된 자격 증명의 암호를 해독하도록 동작하는 제2의 컴퓨터를 포함한다. 이후 제2 컴퓨터는 웹 페이지를 통해 사용자에게 자격 증명을 렌더링한다. 사용자가 자격 증명을 입력하지 않고 호스트된 애플리케이션으로의 액세스를 제공하는 TS 세션을 액세스하기 위해 TS 계정이 프로비전된다. 시스템은 또한 사용자의 액세스 요청에 응하여 프로비전된 TS 계정과 관련된 사용자 고유의 프로필을 수신하고 저장하도록 동작하는 제3 컴퓨터를 포함한다.
또 다른 실시예는 호스트된 애플리케이션의 온라인 평가를 위한 TS 세션 및 TS 계정을 관리하는 방법에 관한 것이다. 방법은 호스트된 애플리케이션을 평가하기 위해, TS 세션으로의 액세스를 요청하는 사용자에게 할당된 사용자이름을 판독하는 단계를 포함한다. 방법은 또한 할당된 사용자이름과 관련되고 사용중인 TS 계정을 찾고, 검색된 TS 계정과 관련된 언어를 식별하는 단계를 포함한다. 언어는 사용자가 액세스를 요청했던 언어 및 호스트된 애플리케이션이 사용자에게 렌더링되는 언어를 포함한다. 이후 방법은 검색된 TS 계정과 관련된 언어로 호스트된 애플리케이션을 론칭하는 단계를 포함한다.
본 발명의 양상들은 컴퓨터 프로세스, 컴퓨팅 시스템으로서, 또는 컴퓨터 프로그램 제품 또는 컴퓨터 판독가능 매체와 같이 제조된 물건으로서 구현될 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 판독가능한 컴퓨터 저장 매체 일 수 있고, 컴퓨터 프로세스를 실행하는 명령어의 컴퓨터 프로그램 인코딩일 수 있다. 컴퓨터 프로그램 제품은 또한 컴퓨터 시스템에 의해 판독가능한 반송파의 송신 전파이거나, 컴퓨터 프로세스를 실행하는 명령어의 컴퓨터 프로그램 인코딩일 수 있다.
본 발명을 특징짓는 이들 및 다른 특징 및 이점은 이하의 상세 설명을 읽고 및 관련 도면을 리뷰함으로써 명백해질 것이다. 전술된 일반적인 설명 및 이하의 상세한 설명은 둘 다 도시적이고 설명을 위한 것으로 본 발명의 청구항을 제한하는 것이 아니라는 것을 이해할 것이다.
간단히 상술된 바와 같이, 본 발명의 실시예는 호스트된 애플리케이션의 온라인 활용 및/또는 평가를 위해 TS 계정 및 세션을 관리하는 시스템, 방법 및 컴퓨터 판독가능 매체에 관한 것이다. 이하의 상세한 설명에서, 본 명세서의 일부를 형성하는 첨부 도면이 참조되고, 이 도면에서 특정 실시예 또는 예제가 실례로서 도시된다. 이 실시예들은 결합될 수 있고, 기타 실시예가 활용될 수 있고, 본 발명의 취지 또는 범위에서 벗어나지 않고 구조적인 변경이 있을 수 있다. 그러므로 이하의 상세한 설명은 제한하고자 하는 것이 아니며, 본 발명의 범위는 첨부되는 청구항 및 그 동등물에 의해 정의된다.
도면에서, 동일한 참조번호는 여러 도면에 걸쳐 동일한 구성요소를 나타내고, 본 발명의 양상 및 예시적인 운영 환경이 설명될 것이다. 도 1 내지 도 4 및 이하의 설명에서 본 발명의 실시예가 구현되기에 적합한 컴퓨팅 환경의 간단하고 일반적인 설명을 제공하고자 한다. 본 발명이 호스트된 애플리케이션의 온라인 활용 및/또는 평가를 위한 TS 계정 및 세션을 관리하도록 실행하는 프로그램 모듈의 일반적인 문맥으로 설명될 것이지만, 당업자들은 본 발명이 또한 기타 프로그램 모듈의 조합으로 구현될 수 있다는 것을 이해할 것이다.
일반적으로, 프로그램 모듈은 특정 태스크를 수행하고 또는 특정 추상 데이터 유형을 구현하는 루틴, 동작, 프로그램, 컴포넌트, 데이터 구조 및 다른 유형의 구조를 포함한다. 또한, 당업자들은 본 발명이 핸드-헬드 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능한 소비자 가전제품, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하는 기타 컴퓨터 시스템 구성으로 실행될 수 있다는 것을 이해할 것이다. 본 발명은 또한 통신 네트워크를 통해 링크된 원격 처리 장치들에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서도 실행될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘 다에 위치할 수 있다.
도 1은 본 발명의 예시적인 실시예에 따라 계정 관리 시스템(account management system:AMS) 서버(107)와 터미널 서비스(terminal services:TS) 환경(100)간의 상호작용을 도시하는 하이 레벨 도면이다. TS 환경(100)은 TS 서버(110a)를 지니는 터미널 서버 팜(110), AMS 백업 서버(107')를 지니는 AMS 서버(107), 로밍 프로필(114)을 저장하는 사용자 프로필 파일 저장 서버(112) 및 웹 서버(104)를 포함한다. 웹 서버(104)는 사용자(102)가 자신의 컴퓨팅 장치 및 포트(108)를 통해 네트워크상에서 웹 페이지(117)와 인터페이스하는 프론트 엔드(front end)(105)에 웹 페이지(117)를 제공한다. 웹 페이지(117)를 이용하여 사용자(102)는 프론트 엔드 네트워크(120)를 통해 터미널 서버 팜(110)을 액세스할 수 있다. 웹 페이지(117)는 워싱턴 레드먼드의 마이크로소프트사의 마이크로소프트 ASP.NET 파일인 '.aspx'와 같은 액티브 서버 페이지(ASP)이다. 웹 페이지(117)는, 사용자(102)에게 프로비전되고 적절한 언어의 사용가능한 TS 계정을 자동으로 검색하고, 이 ㅍ로비젼된 TS 계정을 사용하여 호스트된 애플리케이션(111)이 상주하고 있는 터미널 서버 팜(110)을 액세스한다. TS 서버 팜(110) 및 AMS(107)를 사용하는 사용자(102)에 대한 로밍 프로필(114)은 백 엔드 네트워크(back-end network)(122)를 통해 액세스되는 파일 서버(112)에 저장되어 있다. 로밍 프로필(114)은 레지스트리 설정, 애플리케이션 데이터 및 기타 다른 것의 사용자 문서를 포함한다. 로밍 프로필(114)은 일부 샘플 문서의 추가와 함께, 표준 프로필이 포함하는 모든 것을 또한 포함할 수 있다. 사용가능하거나 또는 '프리(free)' TS 계정을 생성하고 사용하기 위해 TS 계정을 프로비전하는 것에 관한 추가의 상세사항은 도 5 내지 도 7에 관해 이하에 설명될 것이다.
도 2에서는, 본 발명의 예시적인 실시예에 따라 AMS 서버(107)의 컴퓨팅 시스템 아키텍처를 도시하고 있다. AMS 서버(107)는 SQL 서버와 같은 컴퓨팅 시스템으로서, 이것은 TS 계정과 그 관련 데이터를 저장하는 SQL 데이터베이스와 같은 데이터베이스(218), 중앙 처리 장치(CPU)(210), 시스템 메모리(202) 및 시스템 메모리(202)를 처리 장치(210)에 결합하는 시스템 버스(252)를 포함한다. 시스템 메모리(202)는 판독 전용 메모리(ROM)(206) 및 랜덤 액세스 메모리(RAM)(204)를 포함한 다. 시동 시 RMS(160) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(208)은 ROM(206)에 저장되어 있다. AMS 서버(107)는 또한 운영 체제(216), 계정 관리자 애플리케이션(250) 및 데이터베이스 매개변수에 대해 허용되는 값을 설명하는 도메인 컨트롤러(227)를 저장하는 대용량 저장 장치(mass storage device:MSD)(214)를 포함한다.
MSD(214)는 또한 OU(organizational unit) 파일(220a 내지 220n)을 저장하는 데이터베이스(218)를 저장할 수 있다. 여기서 n은 AMS가 지원할 수 있는 호스트된 애플리케이션간의 변형 및/또는 각 언어에 대해 존재하는 개별 OU의 개수이다. 액티브 디렉토리 계정 객체가 각각의 OU에서 생성된다. 이 설계는 필요시 소정의 언어 및/또는 변형에 대해 신속한 계정 생성을 가능하게 한다. OU 파일(220a)에 대한 계정 객체(219a-219x)와 같이, 각각의 OU 파일(220)은 각 TS 계정에 대한 계정 객체를 저장한다. OU 파일(220)은 또한 TS 계정이 지원하는 언어, 얼마나 많은 수의 TS 계정이 생성되어야 하는지 및 더 많은 계정이 생성되기 전에 허용되는 TS 계정의 최소 개수가 얼마인지와 같은 계정의 특징을 지정하는 계정 제어 매개변수(224a-224n)를 또한 저장한다. 계정 제어 매개변수에 대한 추가의 상세사항은 도 4 및 도 6과 관련하여 이하에 설명될 것이다.
데이터베이스(218)는 사용가능한 TS 계정의 수를 점검하기 위해 OU 파일(220)을 폴링하는 빈도, TS 세션 및 TS 계정에 대한 지속 시간 제한 및 경고 통지(waning notice) 전의 TS 세션 사용량 등과 같이 계정을 관리하기 위해 시간 제한 및/또는 빈도를 지정하는 시간 매개변수(225)를 또한 저장한다. 데이터베이스 (218)는 또한 세션 메트릭(session metrics)(228) 및 계정 정보 매개변수를 저장한다. 시간 매개변수(225), 세션 메트릭(228) 및 계정 정보 매개변수에 대한 추가의 상세사항은 도 4, 도 7, 도 8a-8b, 및 도 9와 관련하여 이하에서 설명될 것이다.
MSD(214)는 시스템 버스(252)에 접속된 대용량 저장 장치 컨트롤러(도시 생략)를 통해 CPU(210)에 접속된다. MSD(214) 및 그 관련 컴퓨터 판독가능 매체는 AMS 서버(107)에 비휘발성 저장 장치를 제공한다. 본 명세서에 포함된 컴퓨터 판독가능 매체에 대한 설명이 하드 디스크 또는 CD-ROM 드라이브와 같은 대용량 저장 장치에 관한 것이지만, 당업자들은 CPU(210)에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있다는 것을 이해할 것이다.
예제로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함하지만 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위해 모든 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 이동불가식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 기타 고체 메모리 기술, CD-ROM, DVD 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 CPU(210)에 의해 액세스되고 원하는 정보를 저장할 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다.
통신 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에서 컴 퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는, 신호내의 정보를 암호화하기 위한 방식으로 그 신호의 하나 이상의 특성을 설정 또는 변경시킨 신호를 의미한다. 예제로서, 통신 매체는 유선 네트워크 또는 다이렉트 유선 접속과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함하지만 이에 제한되는 것은 아니다. 상술된 매체들의 모든 조합이 또한 컴퓨터 판독가능 매체의 범위 안에 포함되어야 한다. 컴퓨터 판독가능 매체는 또한 컴퓨터 프로그램 제품으로 지칭될 수 있다.
본 발명의 각종 실시예에 따라, AMS 서버(107)는 인터넷, 인트라넷 또는 LAN과 같은 네트워크(120 및 122)를 통해 원격 컴퓨터로의 논리 접속을 사용하는, 도 1에 도시된 네트워크화된 환경에서 동작한다. AMS(107)는 시스템 버스(252)에 접속된 네트워크 인터페이스 유닛(212)을 통해 네트워크(120)에 접속될 수 있다. 네트워크 인터페이스 유닛(212)은 또한 다른 유형의 네트워크 및 원격 컴퓨터 시스템에 접속하는 데에 활용될 수 있다는 것을 이해할 것이다. AMS(107)는 또한 키보드 및 마우스(도시 생략)를 포함하는 다수의 장치로부터 입력을 수신하고 처리하는 입/출력 컨트롤러(224)를 포함할 수 있다. 유사하게, 입/출력 컨트롤러(224)는 디스플레이 스크린, 프린터 또는 다른 유형의 출력 장치에 출력을 제공할 수 있다. AMS 서버(107)의 동작에 관한 추가의 상세사항은 도 3 내지 도 9를 참조하여 이하에서 설명될 것이다.
도 3은 본 발명의 예시적인 실시예에 따라 도 2의 AMS 서버(107)와 통신하는 서버 팜(110)의 TS 서버(110a)에 대한 컴퓨팅 시스템 아키텍처를 도시하고 있다. TS 서버(110a)는 도 2와 관련하여 상술된 것과 유사한 컴포넌트를 포함하는 TS 컴퓨팅 시스템이다. TS 서버(110a)는 또한 운영 체제(316), 터미널 서비스 컨트롤러(307), 호스트된 애플리케이션(111) 및 호스트된 애플리케이션(111)을 사용자에게 렌더링할 때 적절한 용어를 적용시키는 언어 팩(302)을 저장하는 MSD(314)를 포함한다.
호스트된 애플리케이션(111)의 로컬화된 버전 각각에 적용되는 그룹 정책에 대한 개별적인 제어(granular control)를 허용하기 위해 지원되는 언어 별로 개개의 OU가 생성된다. 이것은 많은 경우에 유용하고, 커스터마이즈된 경험이 호스트된 애플리케이션(111)이 제공되는 각 언어의 필요성을 매치할 수 있도록 해 주면서, TS 서버 세트(110)가 모든 언어를 서비스할 수 있도록 도와준다. 이러한 기능의 한 특정 예는, 언어 팩(302)을 적용하기 위해 각 OU에 대해 로그인 스크립트가 생성되는 것이다. 그 결과 적절한 언어의 언어 팩이 각 OU의 사용자 TS 계정에 적용될 것이다. 로그온 스크립트 특징과 결합되고 상술된 OU 설계는 소정의 TS 팜이 지원되는 모든 언어의 서비스 사용자에게 영향을 줄 수 있다는 것을 의미한다. 이러한 설계로, 무료 또는 사용가능한 TS 계정은 그것을 가장 필요로 하는 사용자 세트에 할당될 수 있고, 따라서 하드웨어 사용을 최적화할 수 있다. 지원되는 언어에 대한 언어 팩(302)은 TS 서버 팜(110)의 각 TS 서버에 설치된다.
간단히 상술된 바와 같이, TS 서버(110a)는 TS 컨트롤러(307)를 저장한다. TS 컨트롤러(307)가 TS 서버 팜(110)의 각 TS 서버에 저장된다는 것을 이해할 것이 다. TS 컨트롤러(307)는, 호스트된 애플리케이션(111)의 기능을 블록킹(block)하고, 세션 메트릭을 추적하고, TS 세션 길이를 제한하고, 경고 시에 커스텀 메세지를 제공하고 및 계정 데이터에비스를 업데이트하여 제거될 준비가 된 것으로 계정을 플래그하는 온라인의 TS 호스트된 애플리케이션이다. 이 기능은 매 TS 세션에 TS 컨트롤러(307)를 시작하도록 그룹 정책을 설정함으로써 제공될 수 있다. TS 컨트롤러는 동일한 서버의 서로 다른 호스트된 애플리케이션에 대해 서로 다르게 할당된 시간 제한을 관리하도록 동작한다. 그룹 정책은 소정의 호스트된 애플리케이션에 대해, 시험 또는 사용별이 아니라 서버별로 서로 다른 시간 제한을 허용한다. 따라서, 서로 다른 마케팅 시도는 TS 컨트롤러를 이용하여 서로 다른 시간 제한을 각각 지정할 수 있다. TS 컨트롤러는 숨겨져서 실행하고 사용자 입력을 수용하지 않도록 설계된다. TS 컨트롤러(307)에 대한 추가의 상세사항은 도 8a-8b를 참조하여 이하에 설명될 것이다.
도 4에 본 발명의 예시적인 실시예에 따라 AMS 데이터베이스(218)의 매개변수 필드를 도시하는 블록도가 설명된다. 도 2에 관해 간단히 상술된 대로, 데이터베이스(218)는 각 OU에 대해 계정 제어 매개변수(224), 시간 매개변수(225), 계정 정보 매개변수(222) 및 세션 메트릭(228)을 저장한다. 이하는 TS 계정 데이터 구성요소를 저장하는 매개변수 필드의 상세한 설명이다.
TS 계정 제어 매개변수
계정 제어 매개변수(220a)는 언어 매개변수(402)를 포함하고, 이것은 AMS에 의해 제공되고 데이터베이스(218) 레코드의 소정의 필드내의 언어 매개변수에 기술 된 자격 증명으로 사용자가 TS 세션을 로그인할 때의 호스트된 애플리케이션(111)의 언어를 나타낸다. 버퍼 레벨(404) 또한 포함되는데, 이는 AMS가 더 많은 TS 계정을 생성하기에 앞서, OU에 존재할 수 있고 사용가능한 상태를 지닌 TS 계정의 최소 개수를 나타낸다. 또한, 계정 제어 매개변수는 벌크 생성 매개변수(405)를 포함한다. 벌크 생성 매개변수(405)는 더 많은 TS 계정이 생성될 필요가 있다는 것이 AMS에 의해 검출될 때, 소정의 OU 및/또는 언어에 대해 생성될 TS 계정의 개수를 나타낸다.
시간 매개변수
시간 매개변수(225)는 더 많은 TS 계정이 생성되어야 하는지 여부를 검출하기 위한 TS 계정의 주기적 질의 간의 시간 값을 나타내는 폴링 빈도(407), 임의의 TS 계정이 제거되거나 삭제되어야하는지 여부를 검출하는 TS 계정의 주기적 질의 간의 시간 값을 나타내는 폴링 빈도(408), 및 TS 계정을 프로비전하고 프로비전된 TS 계정을 삭제하는 것 간의 시간 간격(time span)을 나타내는 TS 계정 지속시간(410)을 포함한다. 시간 매개변수(225)는 또한 TS 계정을 프로비전하는 것과 TS 세션 동안 사용자에게 경고를 렌더링하는 것 간의 시간 간격을 나타내는 경고 시간(412) 및 TS 세션이 접속 해제될 때의 시간 제한을 나타내는 TS 세션 지속 시간(414)을 포함한다.
계정 정보 매개변수
계정 정보 매개변수(222)는 각 계정과 관련된 레코드 또는 테이블로 구성되어 있다. 계정 정보 매개변수는, 생성된 TS 계정과 관련되고, TS 계정이 사용가능 한지, 사용중인지 또는 정리하도록(cleanup) 지정되어 있는지를 나타내는 상태(418)를 포함한다. '프리(free)' 상태는 TS 계정이 프리이거나, 또는 사용할 수 있도록 프로비전되는 것이 가능한 경우를 나타내고, '사용중(in use)' 상태는 TS 계정이 프로비전되었다는 것을 나타내고, '정리(cleanup)' 상태는 TS 계정이 삭제를 위해 태그되어 있다는 것을 나타낸다. 계정 정보 매개변수(222)는 또한 TS 계정의 요구에 응하여 생성되고, 프로비전된 TS 계정과 관련되는 사용자이름(415) 및 TS 계정의 요구에 응하여 생성되고, 암호화되고, 프로비전된 TS 계정과 관련되는 암호(417)를 포함한다. 상술된 언어 매개변수(402) 또한 계정 정보 매개변수로 포함될 수 있다. "삭제-재시도(deletion-retry)" 필드(444)가 존재하고, 이것은 AMS 서버가 각 계정에 대해 시도했던 삭제 시도의 횟수를 추적하는 데에 사용된다.
세션 메트릭
세션 메트릭(228)은 TS 컨트롤러(307)에 의해 수집되어 데이터베이스(218)에 저장될 수 있다. 세션 메트릭(228)은 사용자가 TS 세션으로의 액세스를 요청한 날짜를 나타내는 로그온 날짜(425), 상술한 프로비전 시간(422), 및 호스트된 애플리케이션이 로딩되고 TS 세션이 시작되었기 때문에 사용자가 호스트된 애플리케이션을 사용할 수 있는 때를 나타내는 로그온 시간(427)을 포함한다. 세션 메트릭은 또한, 호스트된 애플리케이션(111)이 론칭되는 시간을 나타내는 애플리케이션 시작 시간(430), 사용자가 TS 세션으로의 액세스를 요청한 시간과 호스트된 애플리케이션이 론칭되는 시간 간의 시간 차를 나타내는 초기화 시간(428) 및 TS 세션의 접속 상태가 접속 해제된 것으로 검출되는 시간을 나타내는 접속 해제 시간(432)을 포함 한다.
또한, 세션 메트릭(228)은 검색된 TS 계정과 관련하여 상술된 언어(402), TS 세션이 접속 해제된 시간 및 TS 세션이 로딩되어 사용자가 호스트된 애플리케이션을 사용할 수 있게 된 시간 간의 시간 차를 나타내는 세션 길이(434) 및 사용자가 자신의 TS 세션에서 사용했던 자산의 식별자(420)를 포함한다. 자산 ID(420)는 호스트된 평가에 대해 엔트리 포인트로서 기능하는 자산의 고유한 ID이다. 엔트리 포인트 자산은 웹 페이지(117) 상에서 호스트된다. 마지막으로, 세션 메트릭(228)은 사용자가 TS 세션을 액세스하는 IP 주소(424) 및 TS 세션을 위해 활용되는 터미널 서버의 이름(425)을 포함한다. 터미널 서버 이름(425)은 이름-ID 매핑 테이블의 서버 ID로부터 매핑될 수 있다.
도 2, 도 3 및 도 5에서, 본 발명의 예시적인 실시예에 따라 호스트된 애플리케이션의 온라인 활용 및/또는 평가를 위해 TS 계정 및 세션을 관리하는 작업 흐름도가 설명된다. 작업 흐름(500)은 동작(502)에서 시작되고 여기서 AMS는 TS 계정을 관리하는 언어 및/또는 각 OU에 대해 제어 매개변수(224a)를 설정한다. 다음, 작업 흐름(500)은 동작(504)으로 계속되고, 여기서 AMS(107)는 TS 계정의 공급, 수요 및 상태를 모니터링한다. 그 후 작업 흐름(500)은 이하에 설명되는 동작(505, 508 및 507)으로 계속된다.
동작(505)에서, AMS(107)는, 하나의 OU 및/또는 언어에 대해 사용가능한 TS 계정의 공급이 최소 값 또는 최소 레벨 이하로 감소하였다는 것을 검출할 때, 그 OU 및/또는 언어에 대해 TS 계정을 생성한다. 이후 작업 흐름(500)은 동작(512)으 로 계속되고, 여기서 작업 흐름은 상술된 동작(504)으로 리턴된다. 작업 흐름(500)은 끊임없이 실행하는 운영 체제 서비스이다. 미리 설정된 빈도로, 소정의 언어에 대해 충분한 TS 계정이 있는지를 검증하고 또는 검출하는 일부 동작이 수행된다. 동작(505)에 관한 추가의 상세사항이 도 6과 관련하여 이하에 설명될 것이다.
동작(508)에서, AMS(107)는 액세스 요청 검출에 기초하여 TS 세션을 액세스하는 데에 사용하기 위해 사용가능한 TS 계정을 프로비전한다. 동작(508)에 관한 추가의 상세사항이 도 7과 관련하여 이하에 설명될 것이다. 다음, 작업 흐름(500)은 동작(508)에서 동작(510)으로 계속되고, 동작(510)에서 TS 컨트롤러(307)는 TS 세션을 관리하고, 세션 메트릭(228)을 수집하고 AMS(107)에 이것을 저장한다. 이후 작업 흐름(500)은 상술된 동작(512)으로 계속된다. 동작(510)에 관한 추가의 상세사항이 도 8a-8b와 관련하여 이하에 설명될 것이다.
동작(507)에서, AMS는 삭제를 위해, 식별된 TS 계정 각각을 디프로비전한다. 이후 작업 흐름(500)은 상술된 동작(512)으로 계속된다. 동작(507)에 관한 추가의 상세사항이 도 9와 관련하여 이하에 설명될 것이다.
도 2, 도 4 및 도 6에서, 본 발명의 예시적인 실시예에 따라 사용가능한 TS 계정을 생성하는 작업 흐름도가 설명된다. 작업 흐름(600)은 동작(602)에서 시작되고 여기서 AMS(107)는 사용가능한 TS 계정의 양을 검출하기 위해 데이터베이스(218)가 주기적으로 질의되는 폴링 빈도(407)를 검출한다. 예를 들어 폴링 빈도 0은 AMS에게 계정의 공급을 생성하기 위해 질의하지 않도록 지시할 것이다. 이러한 유형의 설정은 테스트 목적으로 활용될 수 있다.
다음, 작업 흐름(600)은 동작(604)으로 계속되고, 여기서 데이터베이스(218)의 각 언어 및/또는 OU에 대해 버퍼 레벨(404)이 검색된다. 버퍼 레벨은 더 많은 TS 계정이 생성되기 이전에 허용되고 사용가능한 계정의 최소 개수이다. 이후 작업 흐름(600)은 동작(605)으로 계속되고, 여기서 폴링 빈도(407)에 따라 사용가능한 TS 계정에 대해 데이터베이스(218)가 질의된다. 다음, 작업 흐름(600)은 검출 동작(607)으로 계속되고, 여기서, 각 OU에 대해, 사용가능한 TS 계정의 수가 버퍼 레벨(404)보다 작은지 여부를 판정한다. 그 OU에 대해, 사용가능한 상태를 지니는 TS 계정의 수가 버퍼 레벨보다 크거나 같은 경우, 작업 흐름은 동작(614)으로 리턴되고, 여기서 상술된 동작(512)으로 제어가 전달된다.
AMS(107)가 한 OU에 대해 TS 계정의 수가 버퍼 레벨(404) 이하인 것을 검출하는 경우, 작업 흐름(600)은 동작(608)으로 계속되고, 여기서 벌크 생성 값(405)이 검출된다. 벌크 생성 값(405)은 버퍼 레벨(404)이 충족되지 못할 때 생성될 TS 계정의 개수이다. 이후 작업 흐름(600)은 동작(610)으로 계속되고, 여기서 AMS(107)는 버퍼 레벨(404) 이하로 사용가능한 TS 계정을 지니는 OU에 대해 벌크 생성 값(405)에 따라 TS 계정을 생성한다. 이후 AMS(107)는 동작(612)에서 생성된 TS 계정 각각에 대한 레코드를 데이터베이스(218)에 추가한다. 이후 작업 흐름(600)은 상술된 리턴 동작(614)으로 계속된다.
도 1, 도 4 및 도 7에서, 본 발명의 예시적인 실시예에 따라, 사용할 TS 계정을 프로비전하는 작업 흐름도가 설명된다. 작업 흐름(700)은 동작(701)에서 개 시되고, 여기서 웹 서비스(104)는 사용자로부터 호스트된 애플리케이션을 활용하기 위해 TS 세션을 액세스하는 요청을 수신한다. 작업 흐름(700)은 동작(702)으로 계속되고, 여기서 세션 page.aspx와 같은 웹 페이지(117)는 TS 세션을 시작하기 위해 사용자 요청을 검출한다. 웹 페이지(117)는 TS 세션이 사용자에게 디스플레이되는 페이지를 말한다.
다음, 동작(704)에서, 요청의 검출에 응하여, 웹 페이지(117)는 요청 언어와 매칭하는 계정 언어(402) 및 '프리' 또는 사용가능한 상태를 지니는 상태(418)를 지니는 TS 계정에 대한 계정 정보 매개변수(222)를 질의한다.
동작(705)에서, 웹 페이지(117)가 호출하는 SQL 내장 함수(stored procedure)는 검색된 계정의 상태(418)를 '사용중'으로 변환하고, 상술된 프로비전 시간(422)을 설정한다. 이후, 웹 페이지(117)는 동작(707)에서 프로비전 시간(422), 자산 ID(420) 및 자격 증명이 리턴될 IP 주소(424)를 저장한다.
이후 작업 흐름(700)은 동작(707)에서 동작(708)으로 계속되고, 동작(708)에서 웹 페이지(117)는 자격 증명, 즉 사용자이름(415) 및 암호(417)를 IP 주소(424) 필드에 식별되어 있는 IP 주소로 전송한다. 암호(417)는 데이터베이스(218)에서 암호화될 수 있다. 동작(710)에서, 웹 서버(104)는 자격 증명을 수신하여 암호를 해독한다. 이후, 동작(712)에서, 웹 서버는 세션 웹 페이지(117)를 통해 암호가 해독된 자격 증명을 렌더링한다. 따라서, 웹 페이지(117)는 계정의 암호를 해독하고, 터미널 서비스 세션을 론칭하고, 일단 요청이 만들어지면 사용자로부터의 입력을 필요로 하지 않을 수 있도록 그 계정에 대해 터미널 서비스 인증 대화 상자로 자격 증명을 자동으로 입력한다. 이후 작업 흐름(700)은 리턴 동작(714)으로 계속되고, 여기서 도 5와 관련하여 상술된 동작(510)으로 제어가 리턴된다.
도 1, 도 3, 도 4 및 도 8a-8b에서, 본 발명의 예시적인 실시예에 따라 TS 세션 및 TS 계정을 관리하는 작업 흐름도가 설명된다. 작업 흐름(800)은 동작(802)에서 시작되고, 여기서 TS 컨트롤러(307)는 호스트된 애플리케이션(111)으로의 액세스를 요청하는 사용자에게 할당된 사용자이름을 검출한다. TS 컨트롤러(307)는 또한 사용자가 TS 세션에 로그인한 로그인 날짜 및 로그인 시간을 검출한다.
이후 흐름(800)은 동작(804)으로 계속되고, 여기서 TS 컨트롤러는 사용자이름과 사용중인 TS 계정과 관련된 사용자이름(415)을 매치하기 위해 계정 정보 매개변수(222)를 질의한다. TS 컨트롤러(307)는 또한 자산 ID(420) 및 검색된 TS 계정과 관련된 언어(402)를 식별한다. TS 컨트롤러(307) 및 로그인 스크립트는 서로 다른 고객에 대해 "로컬화된 경험"을 설정할 것이다. 일본어 및 독일어와 같은 각종 언어에 대해, 사용자는 날짜/시간 포맷, 환율 포맷 및 기타 언어 고유의 특징에 대해 자신의 키보드 및 로컬화된 언어 설정을 사용할 수 있다. 이것은 서로 다른 언어에 대해 고유의 레그-키(reg-key) 값을 설정하는 로그인 스크립트, 및 특정 사용자가 사용하는 키보드의 유형을 전환하는 TS 컨트롤러(307)를 통해 달성될 수 있다.
다음, 동작(805)에서, TS 컨트롤러는 호스트된 애플리케이션(111)을 론칭하기 위해 론칭 명령에 대한 세션 구성 정보를 질의한다. 이후, 동작(808)에서, TS 컨트롤러는 검색된 TS 계정과 관련된 세션 경고 시간(412) 및 TS 세션 지속 시간(414)과 같은 시간 제한 매개변수를 검출한다.
다음, 작업 흐름(800)은 동작(808)에서 동작(810)으로 계속되고, 여기서 경고와 같은 적절한 대화 상자가 검색된 TS 계정과 관련된 언어로 검색된다. 다음, 동작(812)에서, TS 컨트롤러(307)는 적절한 언어 팩(302)(도 3 참조)을 적용함으로써 식별된 언어로 호스트된 애플리케이션(111)을 론칭한다. TS 컨트롤러는 또한 동작(814)에서 호스트된 애플리케이션이 론칭되거나 로딩된 시간을 검출한다.
이후, 작업 흐름(800)은 동작(814)에서 동작(817)으로 계속되고, 여기서 TS 컨트롤러는 호스트된 애플리케이션(111)의 지정된 특징 및/또는 기능을 제한한다. 예를 들어, 최소화 버튼 및/또는 복원 기능이 제한될 수 있고, 이러한 특징 및/또는 함수를 사용하기 위해 사용자의 시도위에 커스텀 대화박스가 생성될 수 있다.
도 8b에서, 동작(817)에서 검출 동작(820)으로 작업 흐름이 계속되고, 동작(820)에서 호스트된 애플리케이션(111)이 종료되었는지(closed) 여부에 대해 판정한다. 호스트된 애플리케이션이 종료된 경우, 작업 흐름(800)은 이하에 설명된 동작(828)으로 계속된다. 호스트된 애플리케이션(111)이 아직도 오픈되어 있다면, 작업 흐름(800)은 검출 동작(822)으로 계속된다.
검출 동작(822)에서, 세션 지속 시간(414)에 도달하였는지 여부를 판정한다. 세션 지속 시간(414)에 도달한 경우, 작업 흐름(800)은 동작(827)으로 계속되고, 여기서 호스트된 애플리케이션(111)은 종료한다. 이후, 작업 흐름은 이하에 설명되는 동작(828)으로 계속된다. 동작(822)에서, TS 세션 지속 시간에 도달하지 않 았다고 판정되는 경우, 작업 흐름(800)은 검출 동작(824)으로 계속된다.
검출 동작(824)에서, 경고 시간(412)에 도달하였는지 여부를 판정한다. 경고 시간에 도달한 경우, 동작(825)은 사용자에게 경고 메세지를 렌더링하고, 이하에 설명되는 검출 동작(820)으로 제어를 전달한다. 경고 시간에 도달하지 않았다고 판정되는 경우, 작업 흐름은 검출 동작(824)에서 상술된 검출 동작(820)으로 리턴한다.
동작(828)에서, TS 세션이 접속 해제되고, 세션 메트릭에 대해 접속 해제된 시간이 검출된다. 이후, 작업 흐름(800)은 동작(830)으로 계속되고, 여기서 사용중인 TS 계정의 상태(418)는 사용중에서 정리로 변경된다. 다음, 동작(832)에서 초기화 시간(428)이 계산된다. 초기화 시간은 사용자가 TS 세션으로의 액세스를 요청한 시간과 호스트된 애플리케이션(111)이 론칭된 시간 간의 시간 차이를 나타낸다.
다음, 동작(834)에서, 세션 메트릭(228)이 AMS(107)의 데이터베이스(218)로 저장된다. 이후, TS 컨트롤러(307)는 동작(837)에서 TS 세션을 로그아웃한다. 동작(834)에서 생성된 레포트의 형태로 세션 메트릭을 레포트할 수 있다는 것을 이해할 것이다. 이후 작업 흐름(800)은 동작(838)으로 리턴되고, 여기서 상술된 동작(512)으로 제어가 전달된다.
도 1, 도 4 및 도 9에서, 본 발명의 예시적인 실시예에 따라 프로비전된 TS 계정을 디프로비전하는 작업 흐름도가 설명된다. 작업 흐름(900)은 동작(902)에서 시작되고, 여기서 AMS(107)는 삭제 표시에 대해 TS 계정을 질의한다. TS 계정은 상술된 폴링 빈도(408)로 삭제 질의를 한다. 다음, 검출 동작(904)에서, 상태 매개변수(418)가 정리로 표시되었는지 또는 정리로 설정되었는지 여부를 판정한다. 상태 매개변수(418)이 정리로 설정된 경우, 작업 흐름(900)은 동작(910)으로 계속된다.
동작(910)에서, AMS(107)는 정리 상태를 지니는 TS 계정과 관련된 로밍 프로필(114)을 프로필 저장 서버(112)로부터 삭제한다. 이후 동작(912)에서, AMS(107)는 TS 계정을 나타내는 액티브 디렉토리 TS 계정 객체를 데이터베이스(218)로부터 삭제한다. 일부 이유로 인해 계정이 삭제될 수 없는 경우, AMS(107) 시스템은 소정의 재시도 횟수(예를 들어 5회)까지 계정의 삭제를 재시도할 것이다. 간단히 상술된 대로, AMS(107)는 또한 사용자가 이후에 그 계정 정보를 사용하여 다시 로그인 할 수 없도록 하기 위해 사용자 로그인 후 그 계정을 사용불가하게 만든다. AMS는 우선 사용자가 로그인할 때 계정을 사용불가하게 하고, 이후 사용자가 로그 아웃할 때 계정 정보를 삭제한다. 이것은 계정이 언제 사용중인가를 알아보기 위해 데이터베이스를 모니터링함으로써 행해진다. 이후 작업 흐름(900)은 검출 동작(907)으로 계속되고, 여기서 질의할 TS 계정이 더 있는지 여부를 판정한다.
동작(907)에서, 질의할 TS 계정이 더 있는 경우, 작업 흐름(900)은 상술된 동작(902)으로 리턴한다. 질의할 TS 계정이 더 없는 경우, 작업 흐름(900)은 리턴 동작(908)으로 계속되고, 여기서 상술된 동작(512)으로 제어가 전달된다.
검출 동작(904)에서, 상태(418)가 정리로 설정되지 않은 경우, 작업 흐름(900)은 검출 동작(905)으로 계속된다. 검출 동작(905)에서, 집행된 삭제에 대해 TS 세션 지속 시간(414)에 도달했는지 여부를 판정한다. TS 세션에 의해 TS 세션 지속 시간(414)에 도달한 경우, 작업 흐름은 상술된 동작(910)으로 계속된다. TS 세션 지속 시간(414)에 도달하지 않은 경우, 작업 흐름(900)은 상술된 검출 동작(907)으로 계속된다.
따라서, 본 발명은 현재, 호스트된 애플리케이션의 온라인 활용을 위해 TS 계정 및/또는 세션을 관리하는 컴퓨터 프로그램을 인코딩하는 컴퓨터 프로그램 매체 또는 컴퓨터 판독가능 제품, 시스템, 방법으로 현재 구현된다.
본 발명의 취지를 벗어나지 않고, 상술된 시스템 구성요소, 소프트웨어 모듈 및 방법에 각종 변경이 일어날 수 있고, 첨부된 도면에 도시되고 상술된 설명에 포함되는 모든 사항은 한정하는 것이 아니라 예시적인 것으로서 해석되어야 한다. 본 발명의 많은 실시예가 본 발명의 취지 및 범위를 벗어나지 않고 행해질 수 있고, 본 발명은 이하에 첨부된 청구항에 귀속된다.
본 발명의 실시예들을 통해, 호스트된 애플리케이션의 온라인 활용 또는 평가을 위해 TS 계정 및 세션을 관리하는 방법, 시스템 및 컴퓨터 판독가능 매체를 제공받을 수 있다.

Claims (43)

  1. 호스트된 애플리케이션의 온라인 활용을 위해 터미널 서비스(terminal services:TS) 계정을 관리하는 방법에 있어서,
    사용가능한 TS 계정의 공급, TS 계정의 수요 및 각 TS 계정의 상태 중 적어도 하나를 모니터링하는 단계;
    상기 사용가능한 TS 계정의 공급이 버퍼 레벨 이하임을 검출하는 것에 응하여 하나 이상의 TS 계정을 생성하는 단계 -상기 버퍼 레벨은 사용가능한 상태를 지니는 TS 계정의 최소 개수를 포함함-; 및
    상기 호스트된 애플리케이션의 온라인 사용을 제공하는 TS 세션을 액세스하는 데에 사용하기 위해 TS 계정을 프로비전하는(provisioning) 단계 -프로비전된 TS 계정 각각은 고유의 프로필과 관련됨-;
    를 포함하고,
    상기 사용가능한 TS 계정의 공급은 이것이 상기 버퍼 레벨 이하일 때마다 보충됨으로써, 온라인 TS 세션을 통해 상기 호스트된 애플리케이션을 활용하는 복수의 사용자들에 대해 TS 계정이 사용가능하다는 것을 보장하는 방법.
  2. 제1항에 있어서, TS 세션 메트릭(TS session metrics)을 수신하고 저장하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서, 상기 TS 세션이 종료될 때(closed) 사용으로부터 상기 TS 계정을 디프로비전하는(de-provisioning) 단계를 더 포함하는 방법.
  4. 제1항에 있어서, 상기 TS 계정을 관리하기 위해 계정 제어 매개변수, 시간 매개변수 및 계정 정보 매개변수 중 적어도 하나를 수신하고 저장하는 단계를 더 포함하고,
    상기 제어 매개변수는,
    생성된 각각의 TS 계정과 관련된 언어;
    상기 버퍼 레벨; 및
    상기 사용가능한 TS 계정의 공급이 상기 버퍼 레벨 이하일 경우 생성될 TS 계정의 수를 포함하는 벌크 생성 값(a bulk-create value)
    중 적어도 하나를 포함하고,
    상기 시간 매개변수는,
    계정을 생성하는 TS 계정의 주기적 질의 간의 시간 값을 포함하는 제1 폴링 빈도;
    계정을 제거하는(purging) TS 계정의 주기적 질의 간의 시간 값을 포함하는 제2 폴링 빈도;
    TS 계정의 프로비전과 상기 계정의 삭제 간의 시간 간격을 포함하는 TS 계정 지속 시간;
    TS 계정의 프로비전과 TS 세션동안 사용자에게 경고를 렌더링하는 것 간의 시간 간격을 포함하는 경고 시간; 및
    TS 세션이 접속 해제되었을 때의 시간 제한을 포함하는 TS 세션 지속 시간;
    중 적어도 하나를 포함하고,
    상기 계정 정보 매개변수는,
    생성된 각각의 TS 계정과 관련되고, 사용가능함, 사용중 및 정리(cleanup) 중 하나를 포함하는 상태 - 상기 사용중인 상태는 상기 TS 계정이 프로비전되었음을 나타내고, 상기 정리 상태는 상기 계정이 삭제를 위해 태그되었다는 것을 나타냄 -;
    상기 TS 계정에 대한 수요에 응하여 생성되고, 프로비전된 TS 계정과 관련되는 사용자이름;
    상기 TS 계정과 관련되고, 상기 TS 계정에 행해진 삭제 시도의 횟수를 추적하는 데에 사용되는 "삭제-재시도(delete-retry)" 필드; 및
    상기 TS 계정에 대한 수요에 응하여, 생성되고, 암호화되고 상기 프로비전된 TS 계정과 관련되는 암호
    중 적어도 하나를 포함하는 방법.
  5. 제4항에 있어서, 상기 TS 계정을 생성하는 단계는,
    상기 호스트된 애플리케이션이 사용가능한 각각의 언어에 대해, 하나의 언어에 대해 사용가능한 TS 계정의 공급이 상기 버퍼 레벨 이하인 경우, 그 언어와 관련된 TS 계정을 생성하는 단계를 포함하는 방법.
  6. 제5항에 있어서, 각각의 언어는 서로 다른 OU(organizational unit)와 관련되고, 각각의 OU에 대해 서로 다른 제어 매개변수 및 시간 매개변수가 수신되고 저장되는 방법.
  7. 제5항에 있어서, 상기 TS 계정을 생성하는 단계는,
    상기 제1 폴링 빈도를 검출하는 단계; 및
    상기 호스트된 애플리케이션이 사용가능한 각각의 언어에 대해,
    상기 언어와 관련된 버퍼 레벨을 검색하는 단계;
    상기 제1 폴링 빈도로 상기 언어와 관련된 TS 계정을 질의하는 단계;
    사용가능한 상태를 지니고 상기 언어와 관련된 TS 계정의 공급이 상기 언어와 관련된 버퍼 레벨 이하인지 여부를 판정하는 단계;
    상기 언어와 관련되고, 사용가능한 상태를 갖는 상기 TS 계정의 공급이 상기 언어와 관련된 상기 버퍼 레벨 이하인 것에 응하여, 상기 언어와 관련된 상기 벌크 생성 값에 따라 TS 계정을 생성하는 단계; 및
    상기 생성된 TS 계정과 관련된 계정 정보를 저장하는 단계
    를 더 포함하는 방법.
  8. 제1항에 있어서, 상기 TS 계정을 프로비전하는 단계는, 상기 TS 계정에 대한 요구에 응하여, 상기 TS 계정을 프로비전하는 단계를 포함하며, 상기 요구는 상기 호스트된 애플리케이션으로 액세스하기 위한 요청을 포함하는 방법.
  9. 제8항에 있어서, 상기 TS 계정을 프로비전하는 단계는,
    상기 요청의 언어와 매치하는 언어와 관련된 TS 계정에 대해, 상기 사용가능한 TS 계정의 공급을 질의하는 단계;
    상기 언어와 관련된 TS 계정 중 하나의 상태를 사용가능에서 사용중으로 변환하는 단계;
    상기 변환된 상태를 지니는 상기 TS 계정이 프로비전될 IP 주소를 식별하는 단계;
    상기 요청을 하는 사용자를 위해 자격 증명(credentials)을 제공하고 저장하는 단계;
    상기 자격 증명을 상기 사용자에 대한 고유의 프로필과 관련시키는 단계;
    상기 자격 증명을 상기 IP 주소로 전송하는 단계; 및
    상기 자격 증명이 상기 IP 주소로 전송될 때의 시간을 식별하고 저장하는 단계
    를 더 포함하고,
    사용자는 TS 계정에 대해 서명할 필요 없이 및 인증을 위해 기다릴 필요 없이 자기 고유의 프로필을 즉시 생성케 하는 방법.
  10. 제3항에 있어서, 상기 사용으로부터 상기 TS 계정을 디프로비전하는 단계는,
    정리 상태를 지니는 TS 계정에 대해 상기 TS 계정 정보를 질의하는 단계;
    상기 정리 상태를 지니는 TS 계정의 검출에 응하여, 상기 TS 계정의 로밍 프로필을 삭제하고 상기 TS 계정을 삭제하는 단계;
    사용 중 상태를 지니는 TS 계정의 검출에 응하여, 상기 사용중 상태를 지니는 상기 TS 계정에 대한 상기 TS 세션의 지속 시간이 삭제 시간 간격에 도달했는지 여부를 판정하는 단계;
    상기 TS 세션의 지속 시간이 상기 삭제 시간 간격에 도달했다는 판정에 응하여, 상기 사용중 상태를 지니는 상기 TS 계정의 로밍 프로필을 삭제하고, 상기 사용중 상태를 지니는 상기 TS 계정을 삭제하는 단계
    를 포함하는 방법.
  11. 컴퓨터로 하여금 호스트된 애플리케이션의 온라인 활용을 위해 터미널 서비스(TS) 계정을 관리하도록 하는 제어 로직이 저장된 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품에 있어서, 상기 제어 로직은 상기 컴퓨터로 하여금,
    사용가능한 TS 계정의 공급, TS 계정의 수요 및 각 TS 계정의 상태 중 적어도 하나를 모니터링하고; 및
    상기 사용가능한 TS 계정의 공급이 버퍼 레벨 -상기 버퍼 레벨은 사용가능한 상태를 지니는 TS 계정의 최소 개수를 포함하고, 상기 사용가능한 TS 계정의 공급은 그것이 상기 버퍼 레벨 이하로 될 때마다 보충됨- 이하임을 검출하는 것에 응하여 하나 이상의 TS 계정을 생성하도록 하는
    컴퓨터 판독가능 프로그램 코드 수단을 포함하는 컴퓨터 프로그램 제품.
  12. 제11항에 있어서, 상기 제어 로직은, 상기 호스트된 애플리케이션의 온라인 사용을 제공하는 TS 세션을 액세스하는 데에 사용하기 위해, 상기 컴퓨터로 하여금 TS 계정을 프로비전하도록 하는 컴퓨터 판독가능 프로그램 코드 수단을 더 포함하며, 프로비전된 각각의 TS 계정은 고유의 프로필과 관련되는 컴퓨터 프로그램 제품.
  13. 제12항에 있어서, 상기 제어 로직은 상기 컴퓨터로 하여금,
    상기 TS 세션이 종료될 때 사용으로부터 상기 TS 계정을 디프로비전하고; 및
    TS 세션 메트릭을 수신하고 저장하도록 하는
    컴퓨터 판독가능 프로그램 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  14. 제11항에 있어서, 상기 컴퓨터로 하여금 상기 TS 계정을 생성하도록 하는 상기 컴퓨터 판독가능 프로그램 코드 수단은,
    상기 호스트된 애플리케이션이 사용가능한 각각의 언어에 대해, 그 언어에 대한 사용가능한 TS 계정의 공급이 상기 버퍼 레벨 이하인 경우, 상기 컴퓨터로 하여금 그 언어와 관련된 TS 계정을 생성하도록 하는 컴퓨터 판독가능 프로그램 코드 수단을 포함하는 컴퓨터 프로그램 제품.
  15. 호스트된 애플리케이션의 온라인 활용을 위해 TS 계정을 관리하는 시스템에 있어서,
    사용가능한 TS 계정의 공급, TS 계정의 수요 및 각 TS 계정의 상태 중 적어도 하나를 모니터하고;
    상기 사용가능한 TS 계정의 공급이 버퍼 레벨 이하임을 검출하는 것에 응하여 하나 이상의 TS 계정을 생성하고 -상기 버퍼 레벨은 사용가능한 상태를 지니는 TS 계정의 최소 개수를 포함함-; 및
    상기 호스트된 애플리케이션의 온라인 사용을 제공하는 TS 세션을 액세스하는 데에 사용하기 위해 TS 계정을 프로비전하도록 -프로비전된 각각의 TS 계정은 고유의 프로필과 관련됨-
    동작하는 제1 컴퓨터를 포함하고,
    상기 사용가능한 TS 계정의 공급은 이것이 상기 버퍼 레벨 이하일 때마다 보충됨으로써, 온라인 TS 세션을 통해 상기 호스트된 애플리케이션을 활용하는 복수의 사용자들에 대해 TS 계정이 사용가능하다는 것을 보장하는 시스템.
  16. 제15항에 있어서, 상기 제1 컴퓨터는,
    TS 세션 메트릭을 수신하고 저장하고, 상기 TS 세션이 종료될 때 사용으로부터 상기 TS 계정을 디프로비전하도록 또한 동작하는 시스템.
  17. 제15항에 있어서, 상기 제1 컴퓨터는 상기 TS 계정을 관리하기 위해 계정 제 어 매개변수, 시간 매개변수 및 계정 정보 매개변수 중 적어도 하나를 수신하고 저장하도록 또한 동작하고,
    상기 제어 매개변수는,
    생성된 각각의 TS 계정과 관련된 언어;
    상기 버퍼 레벨; 및
    상기 사용가능한 TS 계정의 공급이 상기 버퍼 레벨 이하일 경우 생성될 TS 계정의 수를 포함하는 벌크 생성 값
    중 적어도 하나를 포함하고,
    상기 시간 매개변수는,
    계정을 생성하는 TS 계정의 주기적 질의 간의 시간 값을 포함하는 제1 폴링 빈도;
    계정을 제거하는 TS 계정의 주기적 질의 간의 시간 값을 포함하는 제2 폴링 빈도;
    TS 계정의 프로비전과 상기 TS 계정의 삭제 간의 시간 간격을 포함하는 TS 계정 지속 시간;
    TS 계정의 프로비전과 TS 세션동안 사용자에게 경고를 렌더링하는 것 간의 시간 간격을 포함하는 경고 시간; 및
    TS 세션이 접속 해제되었을 때의 시간 제한을 포함하는 TS 세션 지속 시간;
    중 적어도 하나를 포함하고,
    상기 계정 정보 매개변수는,
    생성된 각각의 TS 계정과 관련되고, 사용가능함, 사용중 및 정리 중 하나를 포함하는 상태 - 상기 사용중인 상태는 상기 TS 계정이 프로비전되었음을 나타내고, 상기 정리 상태는 상기 계정이 삭제를 위해 태그되었다는 것을 나타냄 -;
    상기 TS 계정에 대한 수요에 응하여 생성되고, 프로비전된 TS 계정과 관련되는 사용자이름; 및
    상기 TS 계정에 대한 수요에 응하여, 생성되고, 암호화되고 상기 프로비전된 TS 계정과 관련되는 암호
    중 적어도 하나를 포함하는 시스템.
  18. 제17항에 있어서, 상기 호스트된 애플리케이션이 사용가능한 각각의 언어에 대해, 하나의 언어에 대해 사용가능한 TS 계정의 공급이 상기 버퍼 레벨 이하인 경우, 상기 제1 컴퓨터가 그 언어와 관련된 TS 계정을 생성하도록 동작하는 시스템.
  19. 제17항에 있어서, 상기 제1 컴퓨터는 상기 TS 계정을 생성할 때,
    상기 제1 폴링 빈도를 검출하고; 및
    상기 호스트된 애플리케이션이 사용가능한 각각의 언어에 대해,
    상기 언어와 관련된 상기 버퍼 레벨을 검색하고;
    상기 제1 폴링 빈도로 상기 언어와 관련된 상기 TS 계정을 질의하고;
    사용가능한 상태를 지니고 상기 언어와 관련된 TS 계정의 공급이 상기 언어와 관련된 상기 버퍼 레벨 이하인지 여부를 판정하고;
    상기 언어와 관련되고, 사용가능한 상태를 갖는 상기 TS 계정의 공급이 상기 언어와 관련된 상기 버퍼 레벨 이하인 것에 응하여, 상기 언어와 관련된 상기 벌크 생성 값에 따라 TS 계정을 생성하고; 및
    상기 생성된 TS 계정과 관련된 계정 정보를 저장하도록
    동작하는 시스템.
  20. 제15항에 있어서, 상기 제1 컴퓨터는, TS 계정에 대한 수요에 응하여 상기 TS 계정을 프로비전하고, 상기 수요는 상기 호스트된 애플리케이션으로의 액세스 요청을 포함하는 시스템.
  21. 제20항에 있어서, 상기 TS 계정을 프로비전할 때 상기 제1 컴퓨터는,
    상기 요청의 언어와 매치하는 언어와 관련된 TS 계정에 대해 상기 사용가능한 TS 계정의 공급을 질의하고;
    상기 언어와 관련된 TS 계정 중 하나의 상태를 사용가능에서 사용중으로 변환하고;
    상기 상태가 변환된 상기 TS 계정이 프로비전될 IP 주소를 식별하고;
    상기 요청을 하는 사용자의 고유의 프로필과 관련된 자격 증명을 제공 및 저장하고;
    상기 자격 증명을 상기 IP 주소로 전송하고; 및
    상기 자격 증명이 상기 IP 주소로 전송될 때의 시간을 식별하고 저장하도록
    또한 동작하는 시스템.
  22. 제21항에 있어서,
    제2 컴퓨터를 더 포함하고, 상기 제2 컴퓨터는,
    웹 페이지를 통해 상기 호스트된 애플리케이션을 액세스하기 위해 상기 요청을 수신하고;
    상기 IP 주소로 전송된 상기 자격 증명의 암호를 해독하고; 및
    TS 계정이 프로비전되고, 상기 웹 페이지를 통해 상기 자격 증명을 사용자에게 렌더링하도록 동작하여 사용자가 자격 증명을 입력하지 않아도 TS 세션이 상기 호스트된 애플리케이션으로의 액세스를 제공하는
    시스템.
  23. 제22항에 있어서, 사용자 고유의 프로필을 수신하고 저장하도록 동작하는 제3 컴퓨터를 더 포함하는 시스템.
  24. 호스트된 애플리케이션의 온라인 평가를 위해 TS 세션 및 TS 계정을 관리하는 방법에 있어서,
    상기 호스트된 애플리케이션을 평가하기 위해 TS 세션으로의 액세스를 요청하는 사용자에게 할당된 사용자이름을 검출하는 단계;
    상기 할당된 사용자이름과 관련되고 사용중인 TS 계정을 검색하는 단계;
    상기 검색된 TS 계정과 관련된 언어를 식별하는 단계 -상기 언어는 사용자가 액세스를 요청했던 언어를 포함함-; 및
    검색된 TS 계정과 관련된 상기 언어로 상기 호스트된 애플리케이션을 론칭하는 단계
    를 포함하는 방법.
  25. 제24항에 있어서, 상기 호스트된 애플리케이션의 지정된 기능 및 지정된 특징을 제한하는 단계를 더 포함하는 방법.
  26. 제24항에 있어서, 상기 사용자가 상기 TS 세션으로의 액세스를 요청했을 때의 날짜 및 시간 중 적어도 하나를 검출하는 단계를 더 포함하는 방법.
  27. 제24항에 있어서, 상기 호스트된 애플리케이션에 대해 엔트리 포인트로서 기능하는 자산을 식별하는 단계 및 식별된 상기 자산에 기초하여 도움말(help content) 및 상기 호스트된 애플리케이션 중 적어도 하나를 론칭하는 단계를 더 포함하는 방법.
  28. 제24항에 있어서, 검색된 상기 TS 계정과 관련된 시간 매개변수를 검출하는 단계를 더 포함하고, 상기 시간 매개변수는,
    상기 TS 계정의 프로비전과 상기 TS 계정의 삭제 간의 시간 간격을 포함하는 TS 계정 지속 시간;
    TS 계정의 프로비전과 TS 세션동안 사용자에게 경고를 렌더링하는 것 간의 시간 간격을 포함하는 경고 시간; 및
    TS 세션이 접속 해제될 때의 시간 제한을 포함하는 TS 세션 지속 시간
    중 적어도 하나를 포함하는 방법.
  29. 제25항에 있어서,
    상기 검색된 TS 계정과 관련된 언어에 기초하여 대화 상자(dialog) 정보를 검색하는 단계 및
    상기 지정되고 제한된 특징 및 상기 지정되고 제한된 기능 중 적어도 하나를 사용하기 위한 사용자 시도에 응하여, 상기 대화 상자 정보를 상기 사용자에게 렌더링하는 단계
    를 더 포함하는 방법.
  30. 제26항에 있어서, 상기 호스트된 애플리케이션이 론칭되는 시간을 검출하는 단계를 더 포함하는 방법.
  31. 제30항에 있어서,
    상기 호스트된 애플리케이션이 종료되었는지 여부를 판정하는 단계;
    상기 호스트된 애플리케이션이 종료됨에 응하여, 상기 TS 세션을 접속 해제 하는 단계; 및
    상기 TS 계정의 상태를 사용중에서 정리로 변경하는 단계
    를 더 포함하는 방법.
  32. 제31항에 있어서,
    상기 호스트된 애플리케이션이 종료됨에 응하여,
    상기 TS 세션이 접속 해제된 시간을 검출하는 단계;
    사용자가 상기 TS 세션으로의 액세스를 요청했던 시간과 상기 호스트된 애플리케이션이 론칭되는 시간과의 시간 차를 계산하는 단계;
    세션 메트릭을 저장하는 단계; 및
    상기 TS 세션을 로깅 아웃하는 단계
    를 더 포함하는 방법.
  33. 제28항에 있어서,
    상기 TS 세션 지속 시간에 도달했는지 여부를 판정하는 단계; 및
    상기 TS 지속 시간에 도달했다는 판정에 응하여, 상기 호스트된 애플리케이션을 종료하는 단계
    를 더 포함하는 방법.
  34. 제28항에 있어서,
    상기 경고 시간에 도달했는지 여부를 판정하는 단계; 및
    상기 경고 시간에 도달했다는 판정에 응하여, 경고 메세지를 렌더링하는 단계
    를 더 포함하는 방법.
  35. 제32항에 있어서, 상기 세션 메트릭을 저장하는 단계는,
    사용자가 상기 TS 세션으로의 액세스를 요청했던 날짜;
    사용자가 상기 TS 세션으로의 액세스를 요청했던 시간;
    상기 TS 계정이 프로비전된 시간;
    상기 호스트된 애플리케이션이 론칭되는 시간;
    사용자가 상기 TS 세션으로의 액세스를 요청했던 시간과 상기 호스트된 애플리케이션이 론칭되는 시간과의 시간 차;
    상기 TS 세션이 접속 해제되는 시간;
    상기 TS 세션이 접속 해제되는 시간과 사용자가 상기 TS 세션으로의 액세스를 요청했던 시간과의 시간 차;
    검색된 상기 TS 계정과 관련된 언어;
    상기 TS 계정이 검색된 자산의 ID;
    사용자가 상기 TS 세션을 액세스하는 IP 주소; 및
    상기 TS 세션동안 활용되는 터미널 서버의 이름
    중 적어도 하나를 저장하는 단계를 포함하는 방법.
  36. 호스트된 애플리케이션의 온라인 평가를 위해 컴퓨터로 하여금 TS 세션 및 TS 계정을 관리하게 하는 제어 로직이 저장되어 있는 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품에 있어서,
    상기 제어 로직은 상기 컴퓨터로 하여금,
    상기 호스트된 애플리케이션을 평가하기 위해 TS 세션으로의 액세스를 요청하는 사용자에게 할당된 사용자이름을 검출하고,
    상기 할당된 사용자이름과 관련되고, 사용중인 TS 계정을 검색하고,
    상기 검색된 TS 계정과 관련된 언어를 식별하고 -상기 언어는 사용자가 액세스를 요청했던 언어를 포함함-; 및
    검색된 TS 계정과 관련된 상기 언어로 상기 호스트된 애플리케이션을 론칭하도록 하는
    컴퓨터 판독가능 프로그램 코드 수단을 포함하는 컴퓨터 프로그램 제품.
  37. 제36항에 있어서, 상기 제어 로직은 상기 컴퓨터로 하여금 상기 호스트된 애플리케이션의 지정된 기능 및 지정된 특징을 제한하도록 하는 컴퓨터 판독가능 프로그램 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  38. 제36항에 있어서, 상기 제어 로직은 상기 컴퓨터로 하여금 사용자가 상기 TS 세션으로의 액세스를 요청했을 때의 날짜 및 시간 중 적어도 하나를 검출하도록 하 는 컴퓨터 판독가능 프로그램 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  39. 제36항에 있어서, 상기 제어 로직은,
    상기 컴퓨터로 하여금 상기 호스트된 애플리케이션에 대해 엔트리 포인트로서 기능하는 자산을 식별하도록 하고,
    상기 식별된 자산에 기초하여 도움말 및 상기 호스트된 애플리케이션 중 적어도 하나를 론칭하는
    컴퓨터 판독가능 프로그램 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  40. 제36항에 있어서, 상기 제어 로직은 상기 컴퓨터로 하여금 검색된 상기 TS 계정과 관련된 시간 매개변수를 검출하도록 하는 컴퓨터 판독가능 프로그램 코드 수단을 더 포함하고, 상기 시간 매개변수는,
    상기 TS 계정의 프로비전과 상기 TS 계정의 삭제 간의 시간 간격을 포함하는 TS 계정 지속 시간;
    TS 계정의 프로비전과 TS 세션동안 사용자에게 경고를 렌더링하는 것 간의 시간 간격을 포함하는 경고 시간; 및
    TS 세션이 접속 해제될 때의 시간 제한을 포함하는 TS 세션 지속 시간
    중 적어도 하나를 포함하는 컴퓨터 프로그램 제품.
  41. 제37항에 있어서, 상기 제어 로직은 상기 컴퓨터로 하여금,
    검색된 상기 TS 계정과 관련된 언어에 기초하여 대화 상자 정보를 검색하게 하고;
    상기 지정되고 제한된 특징 및 상기 지정되고 제한된 기능 중 적어도 하나를 사용하기 위한 사용자 시도에 응하여, 상기 대화 상자 정보를 상기 사용자에게 렌더링하도록 하는
    컴퓨터 판독가능 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  42. 제38항에 있어서, 상기 제어 로직은 상기 컴퓨터로 하여금,
    상기 호스트된 애플리케이션이 론칭되는 시간을 검출하고;
    상기 호스트된 애플리케이션이 종료되었는지 여부를 검출하고;
    상기 호스트된 애플리케이션이 종료됨에 응하여, 상기 TS 세션을 접속 해제하고; 및
    상기 TS 계정의 상태를 사용중에서 정리로 변경하도록 하는
    컴퓨터 판독가능 프로그램 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
  43. 제42항에 있어서, 상기 제어 로직은 상기 호스트된 애플리케이션이 종료됨에 응하여 상기 컴퓨터로 하여금,
    상기 TS 세션이 접속 해제된 시간을 검출하고;
    사용자가 상기 TS 세션으로의 액세스를 요청했던 시간과 상기 호스트된 애플리케이션이 론칭한 시간과의 시간 차를 계산하고;
    세션 메트릭을 저장하고; 및
    상기 TS 세션을 로그 아웃하도록 하는
    컴퓨터 판독가능 프로그램 코드 수단을 더 포함하는 컴퓨터 프로그램 제품.
KR1020050076212A 2004-09-30 2005-08-19 호스트된 애플리케이션의 온라인 활용을 위해 터미널서비스 계정 및 세션을 관리하는 시스템, 컴퓨터 프로그램제품 및 방법 KR101150042B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/955,688 US7509406B2 (en) 2004-09-30 2004-09-30 Managing terminal services accounts and sessions for online utilization of a hosted application
US10/955,688 2004-09-30

Publications (2)

Publication Number Publication Date
KR20060053170A true KR20060053170A (ko) 2006-05-19
KR101150042B1 KR101150042B1 (ko) 2012-06-01

Family

ID=35149106

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050076212A KR101150042B1 (ko) 2004-09-30 2005-08-19 호스트된 애플리케이션의 온라인 활용을 위해 터미널서비스 계정 및 세션을 관리하는 시스템, 컴퓨터 프로그램제품 및 방법

Country Status (5)

Country Link
US (1) US7509406B2 (ko)
EP (1) EP1643342A1 (ko)
JP (1) JP5249493B2 (ko)
KR (1) KR101150042B1 (ko)
CN (1) CN1756192B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101442659B1 (ko) * 2013-03-27 2014-09-23 (주)티베로 벌크 dml 처리가 가능한 psm 컴파일러 최적화 장치 및 방법

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4001297B2 (ja) * 2005-11-10 2007-10-31 株式会社日立製作所 情報処理システム及びその管理サーバ
US8144875B2 (en) * 2006-09-06 2012-03-27 Paul McGough Method and system for establishing real-time authenticated and secured communications channels in a public network
JP4990399B2 (ja) * 2007-09-06 2012-08-01 マイクロソフト コーポレーション セッションブローカ拡張性アプリケーションプログラムインターフェース
US8090847B2 (en) 2008-05-02 2012-01-03 Microsoft Corporation Session broker extensibility application program interface
US8683034B2 (en) * 2007-10-02 2014-03-25 At&T Intellectual Property I, L.P. Systems, methods and computer program products for coordinated session termination in an IMS network
US8464256B1 (en) 2009-04-10 2013-06-11 Open Invention Network, Llc System and method for hierarchical interception with isolated environments
US8418236B1 (en) 2009-04-10 2013-04-09 Open Invention Network Llc System and method for streaming application isolation
US8401940B1 (en) * 2009-04-10 2013-03-19 Open Invention Network Llc System and method for usage billing of hosted applications
US9058599B1 (en) * 2009-04-10 2015-06-16 Open Invention Network, Llc System and method for usage billing of hosted applications
US10419504B1 (en) 2009-04-10 2019-09-17 Open Invention Network Llc System and method for streaming application isolation
US8555360B1 (en) 2009-04-10 2013-10-08 Open Invention Network Llc System and method for on-line and off-line streaming application isolation
US11538078B1 (en) * 2009-04-10 2022-12-27 International Business Machines Corporation System and method for usage billing of hosted applications
US8401941B1 (en) * 2009-04-10 2013-03-19 Open Invention Network Llc System and method for usage billing of hosted applications
US9577893B1 (en) 2009-04-10 2017-02-21 Open Invention Network Llc System and method for cached streaming application isolation
US8694777B2 (en) 2010-08-13 2014-04-08 International Business Machines Corporation Securely identifying host systems
TW201423472A (zh) * 2012-12-04 2014-06-16 Hon Hai Prec Ind Co Ltd 訪問許可權管控系統及訪問許可權管控方法
CN103384254A (zh) * 2013-07-19 2013-11-06 北京小米科技有限责任公司 应用账户登陆方法、服务器、客户端及系统
US9813432B2 (en) * 2015-01-23 2017-11-07 Cisco Technology, Inc. Tracking anomaly propagation at the network level
US10303653B2 (en) 2016-04-22 2019-05-28 Microsoft Technology Licensing, Llc Automatic computer user account management on multi account computer system
TWI606349B (zh) * 2016-12-21 2017-11-21 財團法人工業技術研究院 線上雲端服務處理系統與線上評測方法及其電腦程式產品
US11438439B1 (en) * 2021-03-31 2022-09-06 Microsoft Technology Licensing, Llc Detecting non-personal network and connectivity attributes for classifying user location

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04372036A (ja) * 1991-06-21 1992-12-25 Fujitsu Ltd 多言語対応メッセージ表示方式
MX9700198A (es) * 1994-07-08 1997-04-30 Dartmouth College Compuestos peptidos de proinsulina para detectar y tratar diabetes tipo 1.
US5845065A (en) * 1994-11-15 1998-12-01 Wrq, Inc. Network license compliance apparatus and method
US5708709A (en) 1995-12-08 1998-01-13 Sun Microsystems, Inc. System and method for managing try-and-buy usage of application programs
US6446225B1 (en) * 1998-04-23 2002-09-03 Microsoft Corporation Server system with scalable session timeout mechanism
JP3144481B2 (ja) * 1998-07-06 2001-03-12 日本電気株式会社 データ処理方法および装置、情報記憶媒体
US6499035B1 (en) * 1998-07-15 2002-12-24 Microsoft Corporation Licensing java objects
EP1411429A3 (en) 1998-12-29 2007-12-26 Citrix Systems, Inc. An apparatus and method for determining a program neighbourhood for a client node in a client-server network
US6948168B1 (en) * 2000-03-30 2005-09-20 International Business Machines Corporation Licensed application installer
JP2002202949A (ja) * 2000-12-28 2002-07-19 Ducomm Inc ネットワーク接続端末、ネットワーク接続方法および装置
JP2002251478A (ja) * 2001-02-22 2002-09-06 Hitachi Ltd 電子モールシステム
US8812613B2 (en) * 2004-06-03 2014-08-19 Maxsp Corporation Virtual application manager

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101442659B1 (ko) * 2013-03-27 2014-09-23 (주)티베로 벌크 dml 처리가 가능한 psm 컴파일러 최적화 장치 및 방법

Also Published As

Publication number Publication date
CN1756192B (zh) 2011-02-23
JP5249493B2 (ja) 2013-07-31
JP2006107489A (ja) 2006-04-20
KR101150042B1 (ko) 2012-06-01
US20060085546A1 (en) 2006-04-20
CN1756192A (zh) 2006-04-05
EP1643342A1 (en) 2006-04-05
US7509406B2 (en) 2009-03-24

Similar Documents

Publication Publication Date Title
KR101150042B1 (ko) 호스트된 애플리케이션의 온라인 활용을 위해 터미널서비스 계정 및 세션을 관리하는 시스템, 컴퓨터 프로그램제품 및 방법
CN102306256B (zh) 对获取的文件进行信誉检查
US8800023B2 (en) Remote access architecture enabling a client to perform an operation
TWI599976B (zh) 用於客戶裝置之遠端管理的應用程式商店介面
US20070033395A1 (en) Method and system for hierarchical license servers
US20130215126A1 (en) Managing Font Distribution
JP2007148738A (ja) 情報監視方法、システム及びプログラム
US8347382B2 (en) Malicious software prevention using shared information
CN110704872B (zh) 数据查询方法、装置、电子设备和计算机可读存储介质
CN101971164A (zh) 用户解决方案的可伸缩托管
CN111539775B (zh) 应用程序的管理方法及设备
CN108632354B (zh) 物理机纳管方法、装置及云桌面管理平台
US10089166B2 (en) Configuring and utilizing call-home systems
US8341127B1 (en) Client initiated restore
JP2008117078A (ja) ユーザ装置、サーバ、アップグレードサービスシステム、その方法およびプログラム
JP6778722B2 (ja) 予めスクレイプしたビッグデータを用いたクラウドスクレイピングシステム及び方法と、そのためのコンピュータプログラム
CN101978665B (zh) 对网络通信请求的选择性过滤
CN108925145B (zh) 设备供应
US7383326B1 (en) Methods and computer systems for directing a client to network locations for network hosted services
US20230092948A1 (en) Pattern detection for tenant-specific performance data
US11556402B2 (en) Metadata plane for application programming interface
JP6578770B2 (ja) ライセンス数管理システム、ライセンス数管理装置、ライセンス数管理プログラムおよびライセンス数管理方法
CN111324872A (zh) 一种登录记录及操作记录的重定向集中审计方法、系统
US11994952B2 (en) Self-healing data protection system matching system attributes in alert messages to relevant scripts
US20240036987A1 (en) Self-healing data protection system matching system attributes to relevant scripts using weighted attributes

Legal Events

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