KR20060111358A - 원격 애플리케이션 탐색을 위한 웹 서비스 - Google Patents

원격 애플리케이션 탐색을 위한 웹 서비스 Download PDF

Info

Publication number
KR20060111358A
KR20060111358A KR1020057008050A KR20057008050A KR20060111358A KR 20060111358 A KR20060111358 A KR 20060111358A KR 1020057008050 A KR1020057008050 A KR 1020057008050A KR 20057008050 A KR20057008050 A KR 20057008050A KR 20060111358 A KR20060111358 A KR 20060111358A
Authority
KR
South Korea
Prior art keywords
application
remote
information
intranet
user
Prior art date
Application number
KR1020057008050A
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 KR20060111358A publication Critical patent/KR20060111358A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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
    • 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/104Grouping of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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]

Abstract

원격 터미널 서비스 애플리케이션 탐색을 위한 웹 서비스의 시스템들 및 방법들이 설명된다. 일 태양에서는, 인트라넷의 웹 서비스가 제공된다. 웹 서비스는 공중 통신망에 연결된다. 웹 서비스는, 원격 클라이언트 컴퓨터가 상기 공중 통신망을 통하여 인트라넷에 배치되어 있는 애플리케이션(들)에 대응하는 정보를 탐색하는 것을 용이하게 한다. 원격 클라이언트 컴퓨터는 인트라넷 외부에 위치한다. 애플리케이션(들)은 원격 클라이언트 컴퓨터의 사용자를 위한 터미널 서버 기반 액세스를 위하여 구성된다.
원격 애플리케이션 탐색, 웹 서비스, 터미널 서버 기반 액세스, 인트라넷

Description

원격 애플리케이션 탐색을 위한 웹 서비스{A WEB SERVICE FOR REMOTE APPLICATION DISCOVERY}
본 발명은 원격 터미널 서비스 애플리케이션 탐색에 관한 것이다.
통상적으로, 애플리케이션을 배포(publishing)하는 것은 배포된 애플리케이션을 로컬 머신상에 설치하고 실행하는 것을 수반한다. 이것은, 관리자가 특정한 클라이언트 머신들상으로 후속적으로 다운로드되고 설치되는, 관리자 배포 패키지들에 의해 수행될 수 있다. 애플리케이션 소프트웨어에 따라, 이러한 머신(클라이언트)에 대한 하드웨어 요구 사항들은 높은 수준일 수 있다. 또한, 설치 자체는 상당량의 시간 및 자원들을 요하며, 심지어 기존 애플리케이션 설치들과 충돌할 수도 있다.
이와 같은 종래의 애플리케이션 배포 제한들의 관점에서, 터미널 서비스들은, 기업 인트라넷에 설치되어 실행되는 자원들에 씬 클라이언트 컴퓨팅 모델(thin client computing model)을 제공하기 위해, 분산 컴퓨팅 환경들에서 사용될 수 있다. 터미널 서비스들(terminal services; TSs)을 사용함으로써, 원격 컴퓨팅 장치(즉, 인트라넷 외부의 클라이언트 장치)는 기업 서버상에 설치되어 있는 애플리케이션에 액세스하여 애플리케이션을 기업 서버상에서 실행시키며, 애플리케이션들의 사용자 인터페이스(user interface; UI)를 원격 클라이언트상에 디스플레이할 수 있다. 애플리케이션이 기업 서버상에서 실행되기 때문에, TS들은 원격 클라이언트로 하여금, 원격 클라이언트가 자원들을 클라이언트 장치상에서 지역적으로 실행시키기에 적합한 하드웨어 및 소프트웨어를 갖고 있는지의 여부와 무관하게, 기업 기반 구조 자원들을 이용할 수 있게 한다.
관리 엔티티(administrative entity)는, 특정 사용자, 사용자들의 그룹들 및/또는 애플리케이션으로의 클라이언트 장치 액세스를 위한 기업 인트라넷을 구성하기 위해, 통상적으로 애플리케이션을 설치하고, 명백한 애플리케이션 액세스 정책들 및 디폴트/맞춤형 애플리케이션 동작들을 특정해야 한다. 이러한 기업-단의 준비들(corporate-end preparations)은 자원들에 대한 최종-사용자 액세스 이전에 수행되기 때문에, 일반적으로 이러한 준비들이 원격 클라이언트 사용자의 최종적인 애플리케이션 사용 경험에 부정적인 영향을 미치지는 않는다. 그러나, 이와 같은 기업-단의 준비들의 관점에서도, 원격 클라이언트 사용자는 여전히, 어떤 애플리케이션들이 사용자 액세스를 위해 허가되었는지를 판정하고, 원격적으로 액세스한 다음, 기업 인트라넷에 설치되어 있는 애플리케이션(들)을 TS들을 통해 실행시키기 위해, 상당히 노동 집약적이며 시간 소모적인 절차들을 책임져야 한다.
예를 들어, 오늘날 사용자는 기업 네트워크로의 VPN(Virtual Private Network) 접속을 설정해야 하고, 원격 클라이언트를 시동해야 하며, 원격 컴퓨터의 이름 및 사용자 증명을 입력한 다음, TS들을 사용해 데스크탑에 접속하고, 그 데스크탑으로부터 애플리케이션들을 시동해야 한다. 더욱 나쁜 것은, 소비자가 TS 서 비스들을 통해 애플리케이션들에 원격적으로 액세스하고자 할 때마다 이러한 최종-사용자 활동들이 소비자에 의해 수행되어야 한다는 점이다.
원격 클라이언트 사용자가 후속적인 원격 TS 실행에 이용 가능한 사설 네트워크상의 애플리케이션들을 식별하기 위해 통상적으로 책임져야 하는 상당히 노동 집약적이고 시간 소모적인 이러한 절차들의 관점에서, 원격 클라이언트 사용자는 TS 액세스를 위해 이용 가능한 기업 자원들을 끊김 없이(seamlessly) 식별할 수 없다.
원격 터미널 서비스 애플리케이션 탐색을 위한 웹 서비스의 시스템들 및 방법들이 설명된다. 일 태양에서는, 인트라넷의 웹 서비스가 제공된다. 웹 서비스는 공중 통신망에 연결된다. 웹 서비스는, 원격 클라이언트 컴퓨터가 상기 공중 통신망을 통하여 인트라넷에 배치되어 있는 애플리케이션(들)에 대응하는 정보를 탐색하는 것을 용이하게 한다. 원격 클라이언트 컴퓨터는 인트라넷 외부에 위치한다. 애플리케이션(들)은 원격 클라이언트 컴퓨터의 사용자를 위한 터미널 서버 기반 액세스를 위하여 구성된다.
도면들에서, 컴포넌트 참조 번호의 제일 좌측 숫자는, 컴포넌트가 처음으로 등장한 소정 도면을 식별한다.
도 1은 원격 애플리케이션 탐색을 위한 웹 서비스를 위해 후속적으로 설명되는 시스템들, 장치들 및 방법들이 완전히 또는 부분적으로 구현될 수 있는 적당한 컴퓨팅 환경의 일례를 도시한다.
도 2는 원격 애플리케이션 탐색을 위한 공중 통신망 서비스의 예시적 절차를 나타낸다.
도 3은 원격 클라이언트 컴퓨터가 LAN의 사무용 컴퓨터(102)에 설치되어 있는 원격 애플리케이션들을 탐색하는 예시적인 컴포넌트 데이터 흐름을 나타낸다. 원격 애플리케이션 탐색은 인터넷과 같은 공중 통신망을 통해 액세스되는 웹 서비스를 통해 실현된다.
도 4는 터미널 서버 액세스를 위해 인트라넷상에 설치되어 있는 애플리케이션들을 인트라넷 외부의 클라이언트 컴퓨팅 장치의 사용자에게 열거하고 제시하는 예시적인 절차를 나타낸다.
개요
원격 애플리케이션 탐색을 위한 웹 서비스를 위해 다음에 설명되는 시스템들 및 방법들은, 조직 인트라넷(organizational intranet)상의 서버에 의한 터미널 서비스 실행을 위해 애플리케이션들에 액세스할 때의 원격 클라이언트 경험을 상당히 단순화한다. 이처럼 액세스가 단순화되는 한가지 이유는, 본 시스템들 및 방법들이, 임의의 개수의 기업 인트라넷 애플리케이션 설치 포인트들(installation points)을 통해, 원격 액세스를 위해 구성되어 있는 애플리케이션들을 탐색하기 때문이다. 이를 위해, 본 시스템들 및 방법들은, 조직 엔티티(organization entity)로 하여금, 다양한 정보 소스 메커니즘들을 사용해 원격 애플리케이션들을 배포하 고 애플리케이션들에 대한 하나의 통합된 뷰를 인터넷을 통해 원격 클라이언트들에 제공하게 할 수 있다. 이러한 애플리케이션 배포를 RAP(Remote Application Publishing)이라고 한다. 사용자, 사용자들의 그룹 및/또는 특정 컴퓨팅 장치에 의한 액세스를 위해 RAP을 통해 배포된 애플리케이션들의 원격 클라이언트 컴퓨터 장치 탐색은 원격 애플리케이션 탐색이라 한다.
좀더 구체적으로, 조직 인트라넷의 엔티티는 기업 인트라넷의 서버들 및/또는 최종-사용자 컴퓨팅 장치들에 소정 개수의 애플리케이션들을 설치하거나 배치한다. 예를 들어, 관리 엔티티는 원격 TS-기반 액세스를 위해 기업 서버상에 애플리케이션을 설치할 수 있다. 관리 엔티티는 RAP을 사용하여, 배치된 애플리케이션들과 특정 사용자(들), 사용자들의 그룹(들) 및/또는 특정 클라이언트 컴퓨팅 장치(들) 간의 관련들(associations)을 생성한다. 그 다음, 이러한 관련들은 하나 이상의 데이터베이스들/정보 소스들에 저장된다. 이와 같은 데이터베이스들로는, 예를 들어, SMS(Systems Management Server) 및/또는 디렉토리 서비스(데이터베이스들)를 들 수 있다. 다른 예에서, 인트라넷의 컴퓨터(예를 들어, 범용 컴퓨터, 워크스테이션 등)의 사용자는 RAP을 사용해, 컴퓨터상에 배치되어 있는 애플리케이션이 사용자에 의한 원격 TS-기반 액세스에 이용될 수 있다는 것을 지정한다.
VPN 등을 통해 기업 네트워크에 접속되어 있는 원격 클라이언트 장치는, 그것이 기업 방화벽 외부에 존재하는지의 여부에 관계없이, 인터넷과 같은 공중 통신망상에 배치되어 있는 신규 RAP 웹 서비스(RAP Web Service; RWS)를 통해 이러한 애플리케이션들을 탐색한다. 일 구현에서, 원격 클라이언트 장치의 최종-사용자 는, 웹 브라우저 또는 사용자 인터페이스 셸(shell)을 사용해, 원격 클라이언트 장치 또는 최종-사용자와 관련되어 있는 각각의 애플리케이션을 탐색/열거한다. RAP 탐색 요청의 수신에 응답하여, RWS는, 원격 클라이언트 장치와 관련되어 있는 각각의 애플리케이션 또는 원격 클라이언트 장치와 관련되어 있는 단일 사용자를 식별하기 위해, 데이터베이스들을 조회한다. RWS는, 애플리케이션들에 대해 조회되고 있는 상이한 데이터베이스들 각각과 통신하기 위한 프로토콜들의 세부 사항들을 숨긴다.
사용자에 의한 원격 클라이언트 TS-기반 액세스를 위해 구성된 하나 이상의 애플리케이션들을 식별한 후, 애플리케이션들과 관련되어 있는 설치 포인트들의 수 및 유형들과는 무관하게, RWS는 각각의 식별된 애플리케이션 및 그것의 설치 포인트를 애플리케이션들의 포괄적인 단일 목록으로 통합한다. 통합된 목록은, 예를 들어, 사용자 인터페이스(UI) 셸, 웹 브라우저 윈도우 등에서의 쇼트컷들(shortcuts)로서, 프레젠테이션을 위해, 요청 중인 원격 클라이언트 장치로 송신된다. 제시된 쇼트컷들은 하나 이상의 애플리케이션 소스들 상에 원격적으로 배치되어 있는 애플리케이션들의 집합을 표현하므로, RAP 쇼트컷들이 단일 소스(설치 포인트)로부터 기인하는지 또는 다수의 별개 정보 소스들로부터 기인하는지의 여부는 최종-사용자에게 매우 자명하다. 이런 식으로, 허가된 사용자들은 원격지로부터 터미널 서버(TS) 팜들(farms) 및/또는 그들의 사무용 컴퓨터상에 배치되어 있는 애플리케이션들을 끊김 없이 탐색하고 사용할 수 있다. UI 셸 향상을 통해 이와 같은 쇼트컷들을 제시함으로써, 임의의 개수의 원격 서버들 및/또는 데스크탑들에 걸 쳐 배치되어 있는 기업 자원들로의 끊김 없는 TS-기반 액세스가 최종 사용자에게 제공된다.
이제 원격 애플리케이션 탐색을 위한 웹 서비스용 시스템들 및 방법들의 이러한 태양들 및 다른 태양들을 좀더 상세하게 설명한다.
원격 애플리케이션 탐색을 위한 예시적인 시스템
동일한 참조 번호들이 동일한 요소들을 나타내는 도면들로 돌아가면, 본 발명이 적당한 컴퓨팅 환경에서 구현되는 것으로 도시되어 있다. 반드시 그래야 하는 것은 아니지만, 개인용 컴퓨터에 의해 실행되는, 프로그램 모듈들과 같은, 컴퓨터-실행 가능 명령어들의 일반적인 문맥에서 본 발명을 설명할 것이다. 프로그램 모듈들은 일반적으로, 특정한 태스크들을 수행하거나 특정한 추상적 데이터형들을 구현하는 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 등을 포함한다.
원격 탐색을 위해 조직 인트라넷상에 애플리케이션들 설치하기
도 1은 원격 애플리케이션 탐색을 위한 웹 서비스를 위해 후속적으로 설명되는 시스템들, 장치들 및 방법들이 전체적으로 또는 부분적으로 구현될 수 있는 적당한 컴퓨팅 환경의 일례를 도시한다. 환경(100)은 애플리케이션(들)(104; 예를 들어, 104-1 및 104-2)을 특정 사용자(들), 사용자들의 그룹(들) 및/또는 원격 클라이언트 컴퓨팅 장치(들)(106)와 관련짓는 사무용 컴퓨터(102) 형태의 범용 컴퓨팅 장치를 포함한다. 사무용 컴퓨터는 인트라넷의 기업 방화벽(108-1) 뒤에 위치한다. 이러한 구현에서, 인트라넷은, 안전한 내부 네트워크(즉, LAN(112))와 인터넷과 같은 불안전한 외부 네트워크(113) 사이에 위치하는 서브-네트워크(110)를 포 함한다. 서브-네트워크(110)는 방화벽들(108-1 및 108-2)에 의해 윤곽이 그려지는 DMZ(demilitarized zone)이다. 서브-네트워크(110)는, 인터넷을 통해 원격 클라이언트 장치(106)의 사용자에 의해 열거될 수 있도록 하기 위해, 다수 소스들로부터의 터미널 서비스들의 원격 애플리케이션 정보/쇼트컷들을 통합하는 RAP 웹 서버(114)를 포함한다.
애플리케이션(들)(104)은 LAN(112)의 하나 이상의 설치 포인트들상에 배치되고 배포된다. 예를 들어, 애플리케이션(104-1)은 하나 이상의 사무용 컴퓨터(들)(102)상에 배포되어 있고 그리고/또는 애플리케이션(104-2)은 하나 이상의 애플리케이션 서버(들)(116)상에 배포되어 있다. 애플리케이션(104-1)을 사무용 컴퓨터(102)상에 배포하기 위해, 사무용 컴퓨터(102)의 사용자는 개인용 배포(personal publishing)를 위한 RAP 마법사(118)와 인터페이스한다. RAP 마법사(118)로 인해, 사용자는 배포될 애플리케이션을 특정해 맵(120)을 생성할 수 있다. 맵(120)은 각각의 사무용 컴퓨터(102)를 특정 사용자와 연관시킨다. 맵(120)은 후속적으로, 후술되는 바와 같이, 사용자에 의한 후속적인 원격 터미널 서버(TS) 액세스를 위해, 배포되어 있는 애플리케이션들(104-1)에 대한 원격 애플리케이션 탐색을 사용자에게 제공하는데 이용된다.
애플리케이션 서버(116)상에 애플리케이션(104-2)을 배포하기 위해, 관리 엔티티는 시스템 정책 편집기 또는 다른 관리 애플리케이션을 사용해 특정 사용자(들), 사용자들의 그룹(들) 및/또는 원격 클라이언트 장치(들)(106)를 애플리케이션들(104-2) 각각과 관련짓는다. 관리 엔티티는 설치 패키지(예를 들어, 설치 패키 지들(121-1 내지 121-3))를 생성하기 위해 설치 패키지 인스톨러(예를 들어, MSI) 마법사(119)를 사용한다. 설치 패키지(121)는, 하나 이상의 애플리케이션 서버들(116)상의 설치 포인트를 가르키기에 충분한, 애플리케이션(104-2)에 관한 정보를 포함한다. 예를 들어, 일 구현에서, 각각의 설치 패키지(121)는 애플리케이션(104-2)의 이름 및 애플리케이션 서버(116)의 이름(예를 들어, 별명, IP 주소 등)을 특정한다.
설치 패키지들(121)은, 사무용 컴퓨터(102) 및/또는 애플리케이션 서버(들)(116)상에 배포되어 있는 애플리케이션(들)(104)과 관련될 때, 하나 이상의 데이터베이스들(정보 소스들)상에 저장될 수 있다. 데이터베이스 액세스 기술의 임의의 유형(예를 들어, LDAP 등)을 LAN(112)에 대한 특정 아키텍처 구현들의 함수로서 사용하는 임의의 개수의 데이터베이스들이 설치 패키지들(121)을 저장하는데 사용될 수 있다. 일 구현에서, 설치 패키지(121)는 (도시되지 않은) 도메인 컨트롤러의 디렉토리 서비스(122)와 관련된 설치 패키지(121-1)로서 데이터베이스에 저장된다. 다른 구현에서는, 설치 패키지(121-1)가 시스템 관리 서버(SMS; 128)를 통해 관리되는 데이터베이스(126)상의 설치 패키지(121-2)로서 저장된다. 디렉토리 서비스(122) 및 SMS(128)는 개개의 네트워크 서비스들을 제공해 LAN(112) 자원들을 식별하고 그것들이 사용자들 및 애플리케이션들에 이용될 수 있게 한다.
예를 들어, 디렉토리 서비스(122)는 배포된 애플리케이션들(104)의 목록과 같은 사용자마다의 정보(per-user information) 뿐만 아니라 방화벽(108) 네비게이션 구성(들)과 같은 다른 정보를 포함한다. 사무용 컴퓨터(102)상에 배포된 애플 리케이션(들)(104)이 하나 이상의 데이터베이스들상에 저장될 수도 있지만, 이러한 사무용 컴퓨터 매핑들(120-1)은 관련된 사무용 컴퓨터(102)상에만 저장될 수도 있다.
RAP 웹 서버 서비스
도 1을 참조하면, RAP 웹 서버(114)는, 인터넷을 통해 원격 클라이언트 장치(106)의 사용자에 의해 열거될 수 있도록 하기 위해, 다수 소스들로부터의 터미널 서비스들의 원격 애플리케이션 정보/쇼트컷들을 통합한다. 이를 위해, RAP 웹 서버(114)는, 예를 들어, SOAP(Simple Object Access Protocol)(구조화된 정보를 분산 환경에서 교환하기 위한 공지의 경량 프로토콜)을 사용해, 원격 클라이언트 장치(106)로부터 탐색 요청(132)을 수신하는 RAP 웹 서비스(RWS; 130)를 포함한다. 탐색 요청(132)이 SOAP를 통해 RWS(130)로 전달되었으므로, 원격 클라이언트(106)는, 후술되는 바와 같이, 탐색 요청(132)의 결과들을 획득하기 위해 LAN(112)으로의 가상 사설 네트워크(VPN) 접속을 확립할 필요가 없다.
이러한 구현에서, RWS(130)는 인증, 스레딩(threading) 및 HTTP 핸들링과 같은 서비스들을 위해 (도시되지 않은) 인터넷 정보 서버를 이용한다.
원격 애플리케이션 탐색 요청을 수신하는 것에 응답하여, RWS(130)는 탐색된 원격 애플리케이션들의 통합 목록(통합 목록; 136)을 생성하기 위해 다수의 가능한 인트라넷 원격 애플리케이션 정보 소스 액세서 모듈들(134; 예를 들어, 모듈들 134-1 내지 134-3) 각각과 인터페이스한다. 각각의 액세서 모듈(accessor modules; 134-1 내지 134-3)은 구현된 애플리케이션 프로그래밍 인터페이스들(API 들) 및 특정 데이터 소스와 통신하도록 구성되어 있는 동작들의 시퀀스들을 통해 특정 유형의 데이터 소스 또는 데이터베이스와 인터페이스하도록 설계된다. 인터넷 TS-액세스를 위한 애플리케이션(들)(104)의 바람직한 배치의 함수로서 그리고 LAN(112)의 특정 아키텍처 구현의 함수로서 임의의 개수의 액세서 모듈들(134)이 존재할 수 있다.
이런 방식으로, LAN(112)의 관리자는 임의의 개수의 방법들 및 방법들의 조합을 사용해 애플리케이션들(104)을 배포할 수 있다. 예를 들어, 기업 환경에서, 관리자는 애플리케이션들(104)을 배포하기 위해 디렉토리 서비스(122)와 함께 소프트웨어 업데이트 서비스(SUS) 기술을 사용할 것을 선택할 수 있다. 다른 방법은 시스템 관리 서버(SMS)일 수 있다. 로밍 환경(Roaming environment)에서, 사용자는 그의 애플리케이션들을 개인용 사무용 컴퓨터(102)의 중앙 위치에 배포하거나 단지 기업 식별 정보를 사용해 애플리케이션들을 디렉토리 서비스(122)에 배포할 수 있다. 홈 환경(home environment)에서, 홈-사용자는 공지의 서비스 버스 기술을 사용하여 애플리케이션들을 배포할 수 있다.
본 구현에서는, 예를 들어, 액세서 모듈들(134)이 SMS 액세서(134-1), 디렉토리 서비스 액세서(134-2) 및 워크스테이션 액세서(134-3)를 포함한다. SMS 액세서(134-1)는 애플리케이션 획득 요청(get applications request; "요청"; 138)을, 예를 들어, HTTP를 통해, SMS 서버(128)로 송신한다. 획득 요청(138)을 수신하는 것에 응답하여, SMS 서버는, 원격 클라이언트(106)의 사용자가 SMS 서버 도메인(128) 내에 배치되어 있는 임의의 애플리케이션들(104)과 관련되어 있는지의 여부 를 판정하기 위해, 매핑(120-3)을 평가한다. 관련되어 있다면, SMS 서버는 관련된 애플리케이션(들)(104) 및 그들 각각의 설치 포인트(들)(예를 들어, 컴퓨터(들)(102), 애플리케이션 서버(들)(106) 등)을 식별하는 애플리케이션 획득 응답(get application response; "응답"; 140)을 SMS 액세서로 역송신하고, SMS 액세서는 이 응답(140)을 웹 서비스(130)로 반환한다.
일 구현에서, 원격 애플리케이션 탐색 응답(140)은, 실제 애플리케이션(104)이 상주하고 있는 장소를 판정하기에 유용한 파라미터들을 포함하는 텍스트 파일(예를 들어, XML, RDP 등)이다. 이와 같은 파라미터들은, 예를 들어, 서버명, 애플리케이션 경로, 리다이렉션 설정들(redirection settings), 원격 애플리케이션(104)과 관련되어 있는 파일 확장자들 등을 포함한다.
더 간단하게 설명하고 표시하기 위해, 하나의 애플리케이션(들) 획득 요청(138) 및 하나의 애플리케이션 획득 응답(140)이 도시되어 있다. 즉, 각 유형의 액세서 모듈(134)로부터의 개별적인 애플리케이션 획득 요청 및 애플리케이션 획득 응답을 나타내는 별개의 획득 요청들(138) 및 획득 응답들(140)이 도시될 수도 있지만, 하나의 요청(138) 및 하나의 응답(140)이 액세서 모듈들(134) 각각으로부터의 개별적인 획득 요청들 및 응답들을 표현한다.
본 구현에서, 디렉토리 서비스 액세서(DSA; 130-2)는, 이 예에서, Active Directory®인 디렉토리 서비스(122)와 인터페이스한다. DSA는, 예를 들어, LDAP(디렉토리 서비스와 인터페이스하기 위한 공통 프로토콜)를 사용해 개개의 애플리케이션 획득 요청(138)을 디렉토리 서비스(122)로 송신한다. 요청(138)을 수신하는 것에 응답하여, 디렉토리 서비스는 설치된 애플리케이션-대-사용자 매핑(120)을 평가한다. 이러한 평가는, 원격 클라이언트 장치(106)의 사용자가 허가되었는지/애플리케이션들(104) 중의 특정한 것들과 관련되어 있는지의 여부를 판정한다. 이와 같은 임의의 애플리케이션들(104)에 대한 개개의 설치 포인트(들)를 포함하는 이러한 평가의 결과들은 디렉토리 서비스(122)에 의해 개개의 응답(140)으로서 웹 서비스(130)로 반환된다.
개인용 컴퓨터(PC) 액세서(134-3)는 인터넷-기반 원격 애플리케이션 탐색을 위해 LAN(112)상의 사무용 컴퓨터(102)상에 설치된 애플리케이션들(104-1)을 열거한다. 이를 위해, PC 액세서(134-3)는 원격 컴퓨팅 장치(106)의 사용자에게 할당된 사무용 컴퓨터(102)의 인트라넷 주소를 식별한다. 이를 위해, PC 액세서(134-3)는 자원 획득 요청(139)을 디렉토리 서비스(122)로 전달한다. 자원 획득 요청(139)은 사용자의 기업 식별 정보(corporate identity)를 지시하는데, 기업 식별 정보는, 다음에서 부연되는 바와 같이, LAN(112)상의 관리 엔티티에 의해 미리 설정되고 RAP 설정 모듈(148)에 의해 후속적으로 판정된다. 자원 획득 요청(139)을 수신하는 것에 응답하여, 디렉토리 서비스는 사용자의 사무용 컴퓨터(102)의 (도시되지 않은) 인트라넷 주소(예를 들어, IP 주소, NAT-기반 주소, 별명 등)를 식별한다. 디렉토리 서비스는 네트워크 주소를 PC 액세서 모듈(134-3)로 전달한다.
일 구현에서, 사용자의 원격 컴퓨팅 장치(102)는, 자원 획득 요청(139)이 디렉토리 서비스(122)로 전달될 때, LAN(112)의 인트라넷에 접속되지 않거나 (VPN 접속을 통해) "터널링(tunneling)"된다. 대신, RWS(130)는 디렉토리 서비스(122)와 통신함으로써 중개자로서 동작한다. 본 구현에서, 자원 획득 요청(139)은 LDAP 또는 다른 적합한 프로토콜을 통해 통신될 수 있다.
사용자의 사무용 컴퓨터(102)의 인트라넷 주소를 수신하는 것에 응답하여, PC 액세서(134-3)는 개개의 애플리케이션 획득 요청(138)을 사용자의 사무용 컴퓨터(102)상에 배치되어 있는 RAP 웹 서비스(142)로 송신한다. 일 구현에서, 애플리케이션 획득 요청(138)은 SOAP를 통해 전달된다.
개개의 애플리케이션(들) 획득 요청(138)을 수신하는 것에 응답하여, 웹 서비스(142)는, 사용자의 사무용 컴퓨터에 대응되는, LAN(112)상에 설치되어 있는 애플리케이션(들)(104)과 관련된 정보를 검색하기 위해, 디렉토리 서비스들(122)과 인터페이스한다. 웹 서비스(142)는 사용자의 사무용 컴퓨터(102)의 데스크탑/셸상에 설치되어 있는 애플리케이션(들)을 식별하기 위해 셸 액세서(144)와 인터페이스한다. 예를 들어, 운영 체제 서비스를 통해, 컴퓨터상에 설치되어 있는 애플리케이션들을 식별하기 위한 기술들이 공지되어 있다. 이 정보는 사용자 데스크탑/작업 공간상에 설치되어 있는 이와 같은 임의의 애플리케이션들(104-1)에 대한 개개의 설치 포인트(들) 및 원격 클라이언트 장치(106)와의 TS 클라이언트 세션(session)을 통해 애플리케이션(들)을 실행하는데 필요한 임의의 정보를 포함한다. 이 정보는 디렉토리 서비스(122)에 의해 개개의 애플리케이션(들) 획득 응답(140)으로서 RWS(130)로 반환된다.
RWS(130)는 액세서 모듈(들)(134) 각각으로부터 응답(들)(140)을 수신한다. RWS(130)는 수신된 응답(들)(140)에 포함되어 있는 데이터로부터 통합 목록(136)을 생성한다. RWS(130)는 원격 애플리케이션 탐색 요청(132)을 개시한 원격 클라이언트 장치(106)로 통합 목록(136)을 송신한다. 일 구현에서, 통합 목록은 SOAP/HTTP를 통해 원격 클라이언트 장치(106)로 전달된다. 추가적으로, 목록(136)을 통합 목록이라고 언급하지만, 개개의 애플리케이션 획득 응답들(140)이 통합 목록을 형성하기 위해 조합될 필요는 없으며, 하나 이상의 데이터 소스들(예를 들어, 서버(들), 사무용 컴퓨터(들) 등)로부터 탐색된 설치된 애플리케이션(들)(104) 정보를 포함하는 목록(들)(140)으로서 전달될 수도 있다.
도 2는 원격 애플리케이션 탐색을 위한 공중 통신망 서비스의 예시적인 절차(200)를 나타낸다. 논의 및 예시의 목적을 위해, 도 2의 동작들은 도 1의 대응되는 컴포넌트들과 관련하여 설명된다. (도면들에서, 컴포넌트 참조 번호의 제일 좌측 숫자는 그 컴포넌트가 처음으로 등장한 소정 도면을 식별한다.)
블록(202)에서는, 원격 애플리케이션 탐색 요청(RADR; 132; 도 1)이 RAP 웹 서버(RWS; 130)에 의해 원격 클라이언트 컴퓨팅 장치(106)로부터 수신된다. 상술된 바와 같이, RWS(130)는 LAN(112)과 같은 인트라넷에 위치한다. 원격 클라이언트 컴퓨팅 장치(106)는 LAN(112) 외부에 위치한다. 예를 들어, 일 구현에서, 원격 클라이언트(106)는 인터넷과 같은 외부의 공중 통신망(113)을 통해 RWS(130)에 연결된다.
블록(204)에서, RWS(130)는 인트라넷상에 배치되어 있는 하나 이상의 정보 소스들로부터 애플리케이션 데이터를 요청한다. 이러한 요청은 개개의 메시지(들)(138)를 통해 이루어질 수 있다. 일 구현에서, RWS(130)는 하나의 메시지(138)를 개별적인 각각의 데이터 소스로 송신한다. 애플리케이션 데이터는 설치되어 원격 컴퓨팅 장치(106)의 사용자와 관련되어 있는 애플리케이션(들)(104)에 대응된다. 정보 소스들은, 예를 들어, 사무용 컴퓨터들(102), 디렉토리 서비스들(122) 및/또는 SMS 서버(128)를 포함한다.
일 실시예에서, 원격 애플리케이션 탐색 요청(132)은, 관심 있는 하나 이상의 데이터 소스들뿐만 아니라 원격 컴퓨팅 장치(106) 사용자의 로컬 로그인 및/또는 기업 식별 정보를 지시한다. 예를 들어, 요청(132)은, 사용자와 관련된 사무용 컴퓨터(102)상에 설치되어 있는 애플리케이션들(104-1)이 탐색되어야 한다는 것을 지시할 수 있다. 기업 식별 정보는 LAN(112)상의 사용자 식별 정보에 대응된다.
블록(206)에서, RWS(130)는, 예를 들어, 인트라넷상의 데이터 소스들 각각으로부터의 개개 응답(들)(140)을 통해, 요청한 애플리케이션 데이터를 수신한다. 블록(208)에서, RWS(130)는, RAP 웹 서버(114)로 송신된 원격 애플리케이션 탐색 요청(132)의 응답으로서, 요청 중인 클라이언트 장치(102)로 (예를 들어, 메시지(들)(136)를 통해) 애플리케이션 데이터를 통신한다.
이제 원격 클라이언트 컴퓨팅 장치(106)의 예시적 태양들을 설명한다.
원격 클라이언트 장치
다음에 설명된 컴포넌트들로 인해, 원격 클라이언트 장치(106)는, 사설 인트라넷상의 최종-사용자 사무실 내의 사용자의 사무용 컴퓨터(102)에 설치되어 있는, 원격 액세스를 위한 애플리케이션들을 (공중 통신망을 통해) 자동적으로 열거할 수 있다. 이 실시예에서, 원격 클라이언트 컴퓨팅 장치("원격 클라이언트"; 106)는 사용자 증명(user credentials)(예를 들어, 기업 식별 정보)을 수집하고 수신된 구성 데이터를 사용해 TS 액세스를 위한 원격 클라이언트(106)를 구성하고 RWS(130)를 통해 원격 애플리케이션 탐색을 개시하기 위한 마법사(146)를 포함한다. 마법사(146)는 로밍 지식 작업자 환경(roaming knowledge worker environment)의 판정을 위해 로밍 플러그-인 서비스들(roaming plug-in services)을 제공한다. 마법사(146)는 사용자에게 배포된 원격 애플리케이션들(146)의 목록을 획득하기 위해 RAP 웹 서비스(130)와 통신한다. 예를 들어, 마법사(146)는 LAN(112)으로의 액세스를 위한 사용자 증명들을 획득한다. 마법사(146)는, RAP 설정 모듈(148)을 통해, 이러한 증명들을 사용자의 사무용 컴퓨터(102)의 RAP 마법사(118)로 송신한다. RAP 마법사(118)는 (예를 들어, 기업 인증 서비스를 통해) LAN(112)으로의 사용자 액세스를 검증하기 위해 원격 클라이언트 구성(remote client configuration; RCC) 모듈(150)로 이러한 증명들을 송신한다. 사용자가 LAN 자원들에 액세스하도록 허가되었다면, RAP 마법사(118)는 LAN 액세스 허가 및 외향 RWS(outward-facing RAP Web server; 114)의 위치를 포함하는 메시지(152)를 RAP 설정 모듈(148)로 통신한다.
원격 클라이언트(106) 사용자가 LAN(112) 액세스를 위해 허가되었다면, 마법사(146)는 원격 애플리케이션들 탐색 요청(132)을 RWS(130)로 송신한다. 상기한 바와 같이, RWS(130)의 인터넷 주소/URL이 메시지(152)로 식별되거나 그리고/또는, 원격 클라이언트상에서 실행되는 구성 스크립트를 통하는 것과 같은 다른 방식으로 식별된다. 상술된 바와 같이, 탐색 요청(132)을 수신하는 것에 응답하여, RWS(130)는 사용자 TS 액세스를 위해 관련되거나 배포된 애플리케이션(들)(104)을 식별하기 위해 LAN상의 개개 데이터 소스들을 조회하는 하나 이상의 액세서(134)를 호출한다. RWS는 이 정보를 통합 목록(136)으로서 마법사(146)에게로 반환한다.
마법사(146)는 통합 목록(136)을 RAP 클라이언트 작업자(RAP client worker; 154)로 통신하는데, RAP 클라이언트 작업자(154)는 새롭게 탐색된 원격 애플리케이션들을 획득하여, 셸(156)을 통해, 사용자에게 제시한다. 일 구현에서는, 통합 목록(136)에서 식별된 애플리케이션들(104)을 표현하는 쇼트컷들(158)이 사용자에게 제시된다. 본 예에서, 각각의 쇼트컷(158)은, LAN(112) 설치 포인트상의 개개 애플리케이션(104)을 가리킨다. 쇼트컷(들)(158)으로 인해 사용자는, TS 클라이언트(160)에 의해 제공되는 TS들을 통해, LAN(112)에 저장되어 있는 파일들에 편리하게 액세스할 수 있다.
RAP 스포너(162; RAP spawner) 컴포넌트는, 사용자가 쇼트컷(158)과 관련된 애플리케이션(104)을 시작하기를 선택한 경우, TS 클라이언트(160)를 트리거한다(triggers). RAP 스포너가 사용될 때, 셸 항목들(각각의 쇼트컷들(158))은 셸 컴포넌트(156)에 의해 리프레시된다(refreshed). 예를 들어, 현재의 환경을 위한 서브-컴포넌트가, 원격 애플리케이션(104)이 배포되지 않았거나 업데이트되지 않았다고 판정하면, 서브-컴포넌트는 RAP 클라이언트 작업자(154)로 통지하고, RAP 클라이언트 작업자(154)는 서브-컴포넌트를 대신해서 데스크탑 쇼트컷들의 삭제 또는 업데이트를 다룬다.
도 3은 원격 클라이언트 컴퓨터(106)가 LAN(112)의 사무용 컴퓨터(102)상에 설치되어 있는 원격 애플리케이션들(104-1)을 탐색하는 예시적인 컴포넌트 데이터 흐름을 나타낸다. 원격 애플리케이션 탐색은, 인터넷과 같은 공중 통신망(113)을 통해 액세스되는 웹 서비스를 통해 실현된다. 논의 및 예시의 목적을 위해, 도 3의 동작들은 도 1의 대응되는 컴포넌트들과 관련하여 설명된다. 도면들에서, 컴포넌트 참조 번호의 제일 좌측 숫자는 그 컴포넌트가 처음으로 등장한 소정 도면을 나타낸다. 예를 들어, 컴포넌트들(122, 130, 134-3, 142, 및 144)은 도 1과 관련하여 처음으로 도입되었다. 각각의 컴포넌트들과 교차하는 수직선들은, 각각이 방향 화살표들로 도시되어 소정 컴포넌트로의 수신지 및/또는 소정 컴포넌트로부터의 발신지를 도시하는, 데이터 흐름들(302-322)과 관련하여 후술되는 바와 같은, 소정 메시지들 및 대응되는 응답들의 수신을 나타내는데 사용된다.
방향 화살표(302)는 RAP 웹 서비스(130)로의 데이터 흐름을 나타낸다. 데이터 흐름(302)은 원격 애플리케이션 탐색을 위한 요청에 대응된다. 도 1의 원격 애플리케이션 탐색 요청(132)이 이러한 요청을 도시한다. 본 예에서, 요청은, 특정 사용자와 관련된 원격 클라이언트 컴퓨터(104)상에 설치되어 있는 애플리케이션들(104-1)이 탐색을 위해 중요하다는 것을 지시한다. 이 요청에 응답하여 그리고 데이터 흐름(304)으로 나타낸 바와 같이, RAP 웹 서버(130)는 개개의 애플리케이션 획득 요청(138)을 PC 액세서(134-3)와 같은 사무용 컴퓨터 액세서로 통신한다. 본 예에서, 애플리케이션 획득 요청은 사용자의 대응되는 사무용 컴퓨터(102)를 식별하지 않는다. 따라서, PC 액세서는 이러한 사용자 특정 자원 데이터를 위해 LAN(112)의 디렉토리 서비스(122)를 문의하는데, DNS(Domain Name Service)를 통해 사용자 컴퓨팅 장치(102)에 대한 네트워크 주소를 획득하는 것을 나타내는 데이터 흐름(306)으로 이것이 표시된다. 이러한 인트라넷 특정 자원 데이터는 데이터 흐름(308)으로 표시된 바와 같이 디렉토리 서비스(122)에 의해 PC 액세서(134-3)로 전달된다.
이 시점에서, RAP 웹 서비스(130)는 사용자의 컴퓨터 장치(102)와 관련된 네트워크 주소를 가진다. 이러한 네트워크 주소를 사용해, RAP 웹 서버(114)의 RAP 웹 서비스(130)는 애플리케이션 획득 요청을 사용자의 사무용 컴퓨터(102)상에서 실행 중인 RAP 웹 서비스(142)로 통신한다. 데이터 흐름(310)으로 나타낸 바와 같이, 이러한 애플리케이션 획득 요청은 디렉토리 서비스(122)를 우회한다. 웹 서비스(142)는, 요청을 수신하는 것에 응답하여, 셸 액세서(144)와 인터페이스하며, 셸 액세서(144) 역시 사용자의 사무용 컴퓨터(102)상에서 실행되고 있다. 이러한 인터페이스가 데이터 흐름(312)으로 표현되어 있다. 셸 액세서(133)는, 사용자 또는 다른 관리 엔티티가 컴퓨터(102)상에 원격 클라이언트 인터넷 탐색 및 후속 TS 실행을 위해 마크된(marked) 임의의 애플리케이션(들)(104-1)을 배치했는지를 판정한다. 일 구현에서, 셸 액세서는 운영 체제에 의해 제공되는 컴퓨터 프로그램이다. 셸 액세서(144)는 사용자 컴퓨팅 장치(102)상에 설치된 애플리케이션(들)(104-1)을 열거하고, 데이터 흐름들(314 내지 320)에 의해 나타낸 바와 같이, 컴포넌트들 각각을 통해 이 정보를 반환하는데, 데이터 흐름(322)에 의해 나타낸 바와 같이, 궁극적으로는 원격 컴퓨팅 장치(106)에 도달된다.
도 4는 인트라넷 외부의 클라이언트 컴퓨팅 장치(102) 사용자에게 터미널 서 버 액세스를 위해 인트라넷상에 설치된 애플리케이션들을 열거하고 제시하는 예시적인 절차(400)를 나타낸다. 논의의 목적을 위해, 도 4의 동작들은 도 1의 대응되는 컴포넌트들과 관련하여 설명된다. 블록(402)에서, 원격 클라이언트 컴퓨팅 장치(102)는 원격 애플리케이션 탐색 요청(132)을 RAP 웹 서비스(114)의 RAP 웹 서버(130)로 송신한다. 일 구현에서, 요청(132)은, 원격 클라이언트 장치(102)의 사용자가 LAN(112)을 통해 하나 이상의 특정 설치 포인트들에 설치된 애플리케이션들(104)에 대응되는 정보를 수신하는 것에 관심이 있다는 것을 지시한다. 즉, 관심 있는 데이터 소스들 각각 및/또는 유형들이 원격 애플리케이션 탐색 요청으로 특정될 수 있다.
블록(404)에서는, 원격 클라이언트 장치(102)가, 사설 인트라넷에 배치되어 있는 하나 이상의 데이터 소스들에 걸쳐, 설치된 애플리케이션들(104)을 식별하는 RAP 웹 서비스(130)로부터 탐색 응답(136)을 수신한다. 이러한 데이터 소스들은, 예를 들어, 사용자 워크스테이션(들)(예를 들어, 사무용 컴퓨터 102) 및, 디렉토리 서비스(122), SMS 서버(128) 및/또는 LAN(122)상에 배치되어 있는 여타 유형의 정보 소스를 통해 액세스될 수 있는 다양한 설치 포인트들을 포함한다.
블록(406)에서, 원격 클라이언트 장치(106)는 설치된 이들 애플리케이션(들)(104)에 대한 쇼트컷들(158)을 사용자에게 제시하는데, 쇼트컷들은 하나 이상의 응답들(136)로부터 추출된 정보에서 생성된다. 탐색된 이들 원격 애플리케이션들의 제시는 끊김이 없는데, 이것은 애플리케이션(들)(104) 각각에 대한 쇼트컷들이 그들의 개별적인 데이터 소스들과 무관하게, 예를 들어, "시작" 메뉴를 통해 원격 컴퓨팅 장치(106)의 데스크탑에, 브라우저(104)를 통해 사용자에 의해 액세스되는 웹 페이지상에, 또는 다른 사용자 인터페이스로 제시된다는 것을 의미한다. 끊김 없는 제시는, 최종-사용자들이 액세스를 갖고 있는 모든 애플리케이션들에 대해 최종-사용자에게 제시되는 통합된 뷰를 표현하는데, 이러한 애플리케이션들은 다수의 네트워크 식별 정보들과 관련될 수 있으며 다수의 상이한 소스들로부터 유래할 수 있다.
사용자는 공지의 터미널 서비스들, 예를 들어, HTTP를 수신하고, 그것을 RDP(Remote Desktop Protocol) 또는 등가의 것으로 변환하며, LAN(112)의 (도시되지 않은) 적절한 터미널 서버로 전달하는 (도시되지 않은) TS 프락시를 통해, 관련된 애플리케이션(104)을 원격적으로 런칭하기 위해, 제시된 쇼트컷(들)(158) 중 어느 하나를 선택할 수 있다. 따라서, 애플리케이션(104)이 원격 설치 포인트에서 실행될 때, 사용자 경험은, 애플리케이션이 원격 클라이언트 장치(106)에 지역적으로 설치되어 있는 상태(예를 들어, 오디오, 클라이언트 측 인쇄 장치들, 작업 표시줄 등의 완전 통합이 존재하는 경우)의 경험과 사실상 동일하다.
일 구현에서, 블록(406)의 동작들은, 상술된 바와 같이, 마법사(146), RAP 클라이언트 작업자(156), 셸(156) 및/또는 RAP 스포너(162) 간의 개별적인 인터페이스들을 통해 수행된다.
예시적인 동작 환경
도 5는 원격 애플리케이션 탐색을 위한 웹 서비스를 위해 후속적으로 설명된 시스템들, 장치들 및 방법들이 (완전히 또는 부분적으로) 구현될 수 있는 적당한 컴퓨팅 환경(500)의 일례를 도시한다. 예시적인 컴퓨팅 환경(100)은 적당한 컴퓨팅 환경의 일례일 뿐이며, 여기에서 설명된 시스템들 및 방법들의 사용 또는 기능 범위를 한정하려는 것은 아니다. 컴퓨팅 환경(500)은 컴퓨팅 환경(500)에 도시된 컴포넌트들 중의 어느 하나 또는 컴포넌트들의 조합과 관련하여 어떠한 의존성이나 요구사항을 갖는 것으로 해석되어서는 안 된다.
여기에서 설명된 방법들 및 시스템들은 다수의 다른 범용 또는 특수 목적의 컴퓨팅 시스템 환경들 또는 구성들로도 동작할 수 있다. 사용하기에 적당할 수 있는 주지의 컴퓨팅 시스템들, 환경들 및/또는 구성들의 예로는 개인용 컴퓨터들, 서버 컴퓨터들, 멀티-프로세서 시스템들, 마이크로프로세서-기반 시스템들, 네트워크 PC들, 미니컴퓨터들, 메인프레임 컴퓨터들, 상기 시스템들 또는 장치들 중 하나를 포함하는 분산 컴퓨팅 환경 등을 들 수 있지만, 이에 한정되는 것은 아니다. 프레임워크의 압축 또는 서브세트 버전들이, 핸드헬드 컴퓨터들(handheld computers)과 같은, 한정된 자원들의 클라이언트들 또는 다른 컴퓨팅 장치들로 구현될 수도 있다. 본 발명은, 통신 네트워크를 통해 링크되어 있는 원격 프로세싱 장치들에 의해 태스크들이 수행되는 분산 컴퓨팅 환경들에서 실시된다. 분산 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 및 원격 메모리 저장 장치들 모두에 배치될 수 있다.
도 5를 참조하면, 원격 애플리케이션 탐색을 위한 예시적 시스템은 컴퓨터(510) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(510)의 다음에 설명된 태양들은 도 2의 사무용 컴퓨터(102), 도 2의 RAP 웹 서버(114) 및/또는 도 2의 원격 클라이언트 컴퓨팅 장치(106)의 예시적인 태양들이다. 이러한 관점에서, 컴퓨터 (510)의 컴포넌트들로는 프로세싱 유닛(520), 시스템 메모리(530) 및 시스템 메모리를 포함하여 다양한 시스템 컴포넌트들을 프로세싱 유닛(520)에 연결시키는 시스템 버스(521)를 들 수 있지만, 이에 한정되는 것은 아니다. 시스템 버스(521)는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스 및 다양한 버스 아키텍처들 중 하나를 사용하는 로컬 버스를 포함하는 몇 가지 유형의 버스 구조들 중 하나일 수 있다. 한정이 아닌 일례로써, 이러한 아키텍처들로는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스 및 Mezzanine 버스라고도 하는 PCI(peripheral Component Interconnects) 버스를 들 수 있다.
컴퓨터(510)는 통상적으로 다양한 컴퓨터 판독가능 매체들을 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(510)에 의해 액세스될 수 있는 이용 가능한 임의의 매체일 수 있으며, 휘발성 및 비휘발성 매체, 착탈식 및 고정식 매체 모두를 포함한다. 한정이 아닌 일례로써, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 구비할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 착탈식 및 고정식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD 또는 다른 광학 디스크 저장 장치, 자기 카세트들, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치들, 또는 소정 정보를 저장하는데 사용될 수 있으며 컴퓨터(510)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 한정되는 것은 아니다.
통신 매체는 통상적으로 컴퓨터 판독 가능 명령어들, 데이터 구조들, 프로그램 모듈들 또는 반송파와 같은 변조 데이터 신호나 다른 전송 방식의 다른 데이터를 구현하며 임의의 정보 전달 매체를 포함한다. "변조 데이터 신호"라는 용어는, 그것의 특징들에 대한 하나 이상의 세트를 가지며 정보를 신호로 인코딩하는 방식으로 변경된 신호를 의미한다. 한정이 아닌 일례로써, 통신 매체는 유선 네트워크 또는 직접-유선 접속과 같은 유선 매체, 및 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다. 상기한 것들의 임의 조합들 또한 컴퓨터 판독 가능 매체의 범위 내에 포함되어야 한다.
시스템 메모리(530)는 ROM(read only memory; 531) 및 RAM(random access memory; 532)과 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 스타트-업(start-up) 동안과 같은 때에, 컴퓨터(510) 내의 요소들 사이에서 정보 전달을 돕는 기본적 루틴들을 포함하는 BIOS(basic input/output system; 533)는 통상적으로 ROM(531)에 저장된다. RAM(532)은 통상적으로, 프로세싱 유닛(520)으로 즉시 액세스될 수 있거나 그리고/또는 프로세싱 유닛(520)에 의해 현재 연산 중인 데이터 및/또는 프로그램 모듈들을 포함한다. 한정이 아닌 일례로써, 도 5는 운영 체제(534), 애플리케이션 프로그램들(535), 다른 프로그램 모듈들(536) 및 프로그램 데이터(537)를 도시한다.
컴퓨터(510)는 다른 착탈식/고정식, 휘발성/비휘발성 컴퓨터 저장 매체도 포함할 수 있다. 단지 일례로써, 도 5는 고정식, 비휘발성 자기 매체로부터 판독하 고 그에 기입하는 하드 디스크 드라이브(541), 착탈식, 비휘발성 자기 디스크(552)로부터 판독하고 그에 기입하는 자기 디스크 드라이브(551), 및 CD-ROM 또는 다른 광학 매체와 같은 착탈식, 비휘발성 광학 디스크(556)로부터 판독하고 그에 기입하는 광학 디스크 드라이브(555)를 도시한다. 예시적 동작 환경에 사용될 수 있는 다른 착탈식/고정식, 휘발성/비휘발성 컴퓨터 저장 매체로는 자기 테이프 카세트들, 플래시 메모리 카드들, DVD들, 디지털 비디오 테이프, 반도체 RAM, 반도체 ROM 등을 들 수 있지만, 이에 한정되는 것은 아니다. 하드 디스크 드라이브(541)는 통상적으로 인터페이스(540)와 같은 고정식 메모리 인터페이스를 통해 시스템 버스(521)에 접속되고, 자기 디스크 드라이브(551) 및 광학 디스크 드라이브(555)는 통상적으로, 인터페이스(550)와 같은, 착탈식 메모리 인터페이스에 의해 시스템 버스(521)에 접속된다.
상술되고 도 5에 도시된 드라이브들 및 그들과 관련된 컴퓨터 저장 매체는 컴퓨터(510)에 컴퓨터-실행 가능 명령어들, 데이터 구조들, 프로그램 모듈들 및 다른 데이터의 저장을 제공한다. 도 5에는, 예를 들어, 하드 디스크 드라이브(541)가 운영 체제(544), 애플리케이션 프로그램들(545), 다른 프로그램 모듈들(546) 및 프로그램 데이터(547)를 저장하는 것으로 도시되어 있다. 이들 컴포넌트들은 운영 체제(534), 애플리케이션 프로그램들(535), 다른 프로그램 모듈들(536), 및 프로그램 데이터(537)와 동일하거나 상이할 수 있다. 여기에서는, 최소한, 이들이 상이한 복사본임을 지시하기 위해, 운영 체제(544), 애플리케이션 프로그램들(545), 다른 프로그램 모듈들(546) 및 프로그램 데이터(547)에 상이한 번호가 부여되어 있 다.
사용자는 키보드(562) 및, 일반적으로 마우스, 트랙볼 또는 터치 패드라고 하는 포인팅 장치(561)와 같은 입력 장치들을 통해 명령들 및 정보를 컴퓨터(510)에 입력할 수 있다. (도시되지 않은) 다른 입력 장치들로는 마이크로폰, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 들 수 있다. 이들 및 다른 입력 장치들은 대개, 시스템 버스(521)에 연결되어 있는 사용자 입력 인터페이스(560)를 통해 프로세싱 유닛(520)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus)와 같은, 다른 인터페이스 및 버스 구조들에 의해 접속될 수도 있다.
모니터(591) 또는 다른 유형의 디스플레이 장치 또한, 비디오 인터페이스(590)와 같은, 인터페이스를 통해 버스(521)에 접속된다. 모니터 이외에, 컴퓨터들은 출력 주변 장치 인터페이스(595)를 통해 접속될 수 있는, 스피커들(597) 및 프린터(596)와 같은, 다른 주변 출력 장치들도 포함할 수 있다.
컴퓨터(510)는, 원격 컴퓨터(580)와 같은, 하나 이상의 원격 컴퓨터들로의 논리적 접속들을 사용하는 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(580)는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치, 또는 다른 공통 네트워크 노드일 수 있으며, 도 5에는 메모리 저장 장치(581)만이 도시되어 있지만, 통상적으로 컴퓨터(510)와 관련하여 상술한 요소들 중 많은 것을 또는 그 전부를 포함한다. 도 5에 도시된 논리적 접속들은 LAN(local area network; 571) 및 WAN(wide area network; 573)을 포함하지만, 다른 네트워크들을 포함할 수도 있다. 이러한 네트워킹 환경들은 사무실들, 기업-범위의 컴퓨터 네트워크들, 인트라넷들 및 인터 넷에서 흔히 볼 수 있다.
LAN 네트워킹 환경에서 사용될 경우, 컴퓨터(510)는 네트워크 인터페이스 또는 어댑터(570)를 통해 LAN(571)에 접속된다. WAN 네트워킹 환경에서 사용될 경우, 컴퓨터(510)는 통상적으로, 인터넷과 같은, WAN(579)을 통해 통신을 확립하기 위한 모뎀(572) 또는 다른 수단을 포함한다. 내장형이거나 외장형일 수 있는 모뎀(572)은 사용자-입력 인터페이스(560) 또는 다른 적절한 메커니즘을 통해 시스템 버스(521)에 접속될 수 있다. 네트워크 환경에서, 컴퓨터(510)와 관련하여 도시된 프로그램 모듈들 또는 그것의 일부는 원격 메모리 저장 장치에 저장될 수도 있다. 한정이 아닌 일례로써, 도 5는 원격 애플리케이션 프로그램들(585)을 메모리 장치(581)상에 상주하는 것으로 도시하고 있다. 나타낸 네트워크 접속들은 예시적인 것이며 컴퓨터 간에 통신 링크를 확립하는 다른 수단이 사용될 수도 있다.
결론
구조적 사양들 및/또는 방법적 연산들 또는 동작들에 특징적인 언어로 본 발명을 설명하였지만, 첨부된 청구항들로 정의되는 본 발명이, 설명된 특정 사양들 또는 동작들로 한정될 필요는 없다는 것을 알 수 있을 것이다. 오히려, 특정 사양들 및 동작들은 청구된 발명을 구현하기에 바람직한 형태들로서 개시되어 있다.

Claims (23)

  1. 인트라넷(Intranet)에서, 공중 통신망(public network)에 연결되어 있는 웹 서비스를 제공하는 단계; 및
    상기 웹 서비스에 의해, 상기 공중 통신망을 통한 정보의 원격 클라이언트 컴퓨터 탐색을 실행하는 단계
    를 포함하며,
    상기 정보는 상기 인트라넷상에 배치된 적어도 하나의 애플리케이션(application)에 대응하고, 상기 애플리케이션은 상기 원격 클라이언트 컴퓨터의 사용자를 위한 후속적인 터미널 서버(terminal server; TS) 기반 액세스를 위해 구성되며, 상기 원격 컴퓨터는 상기 인트라넷 외부에 있는 방법.
  2. 제1항에 있어서,
    상기 적어도 하나의 애플리케이션은 다수의 애플리케이션들이며, 상기 다수의 애플리케이션들 각각은 상기 인트라넷상의 다수의 정보 소스들에 의해 배포된(published) 방법.
  3. 제1항에 있어서,
    상기 적어도 하나의 애플리케이션은 다수의 애플리케이션들이고, 상기 다수의 애플리케이션들 각각은 상기 인트라넷상의 다수의 정보 소스들에 의해 배포된 것이며, 상기 다수의 정보 소스들은 상기 사용자와 연관된 사무용 컴퓨터, 디렉토리 서비스(directory service) 및/또는 시스템 관리 서버(SMS)를 포함하는 방법.
  4. 제1항에 있어서,
    상기 원격 클라이언트 컴퓨터는 가상 사설 네트워크(VPN)를 통해 상기 인터넷에 연결되지 않는 방법.
  5. 제1항에 있어서,
    상기 실행하는 단계는,
    상기 웹 서비스에 의해, 상기 원격 클라이언트 컴퓨터로부터 원격 애플리케이션 탐색 요청을 수신하는 단계 - 상기 원격 애플리케이션 탐색 요청은 상기 사용자의 식별 정보(identity information)를 포함하며, 상기 원격 애플리케이션 탐색 요청은 상기 공중 통신망을 통해 상기 웹 서비스로 통신됨 -;
    상기 원격 애플리케이션 탐색 요청을 수신하는 단계에 응답하여, 상기 웹 서비스에 의해, 상기 인트라넷상에 배치된 하나 이상의 정보 소스들로 애플리케이션 획득 요청(get applications request)을 통신하는 단계 - 상기 애플리케이션 획득 요청은 상기 하나 이상의 정보 소스들 각각에게 상기 정보를 상기 식별 정보의 함수로서 반환하도록 지시함 -;
    상기 통신하는 단계에 응답하여, 상기 정보를 수신하는 단계; 및
    상기 사용자에 의한 후속적인 TS-기반 액세스를 위해 구성된 원격적으로 배 치된 애플리케이션들 각각과 연관된 사용자 인터페이스 객체들의 통합된 프레젠테이션을 위하여 상기 원격 클라이언트 컴퓨터로 상기 정보를 전달하는 단계
    를 더 포함하는 방법.
  6. 제5항에 있어서,
    상기 적어도 하나의 애플리케이션은 상기 사용자와 연관된 사무용 컴퓨터상에 설치되고,
    상기 애플리케이션 획득 요청을 통신하는 단계는,
    상기 인트라넷상에 배치된 디렉토리 서비스로 네트워크 주소 획득 요청을 송신하는 단계; 및
    상기 네트워크 주소 획득 요청을 송신하는 단계에 응답하여, 상기 사무용 컴퓨터의 네트워크 주소를 식별하는 응답을 수신하는 단계
    를 더 포함하고,
    상기 애플리케이션 획득 요청은 상기 사무용 컴퓨터의 상기 네트워크 주소로 통신되는 방법.
  7. 원격 애플리케이션 탐색을 위한 컴퓨터-실행 가능 명령어들을 포함하는 컴퓨터-판독 가능 매체로서,
    상기 컴퓨터-프로그램 명령어들은,
    인트라넷에서, 공중 통신망에 연결되어 있는 웹 서비스를 제공하기 위한 명 령어들; 및
    상기 웹 서비스에 의해, 상기 공중 통신망을 통한 정보의 원격 클라이언트 컴퓨터 탐색을 실행하기 위한 명령어들
    을 포함하며,
    상기 정보는 상기 인트라넷상에 배치된 적어도 하나의 애플리케이션에 대응하고, 상기 애플리케이션은 상기 원격 클라이언트 컴퓨터의 사용자를 위한 후속적인 터미널 서버(TS) 기반 액세스를 위해 구성되며, 상기 원격 컴퓨터는 상기 인트라넷 외부에 있는 컴퓨터-판독 가능 매체.
  8. 제7항에 있어서,
    상기 적어도 하나의 애플리케이션은 다수의 애플리케이션들이며, 상기 다수의 애플리케이션들 각각은 상기 인트라넷상의 다수의 정보 소스들에 의해 배포된 컴퓨터-판독 가능 매체.
  9. 제7항에 있어서,
    상기 적어도 하나의 애플리케이션은 다수의 애플리케이션들이고, 상기 다수의 애플리케이션들 각각은 상기 인트라넷상의 다수의 정보 소스들에 의해 배포된 것이며, 상기 다수의 정보 소스들은 상기 사용자와 연관된 사무용 컴퓨터, 디렉토리 서비스 및/또는 시스템 관리 서버(SMS)를 포함하는 컴퓨터-판독 가능 매체.
  10. 제7항에 있어서,
    상기 원격 클라이언트 컴퓨터는 가상 사설 네트워크(VPN)를 통해 상기 인터넷에 연결되지 않는 컴퓨터-판독 가능 매체.
  11. 제7항에 있어서,
    상기 실행하기 위한 명령어들은,
    상기 웹 서비스에 의해, 상기 원격 클라이언트 컴퓨터로부터 원격 애플리케이션 탐색 요청을 수신하기 위한 명령어들 - 상기 원격 애플리케이션 탐색 요청은 상기 사용자의 식별 정보를 포함하며, 상기 원격 애플리케이션 탐색 요청은 상기 공중 통신망을 통해 상기 웹 서비스로 통신됨 -;
    상기 원격 애플리케이션 탐색 요청 수신에 응답하여, 상기 웹 서비스에 의해, 상기 인트라넷상에 배치된 하나 이상의 정보 소스들로 애플리케이션 획득 요청을 통신하기 위한 명령어들 - 상기 애플리케이션 획득 요청은 상기 하나 이상의 정보 소스들 각각에게 상기 정보를 상기 식별 정보의 함수로서 반환하도록 지시함 -;
    상기 통신에 응답하여, 상기 정보를 수신하기 위한 명령어들; 및
    상기 사용자에 의한 후속적인 TS-기반 액세스를 위해 구성된 원격적으로 배치된 애플리케이션들 각각과 연관된 사용자 인터페이스 객체들의 통합된 프레젠테이션을 위하여 상기 원격 클라이언트 컴퓨터로 상기 정보를 전달하기 위한 명령어들
    을 더 포함하는 컴퓨터-판독 가능 매체.
  12. 제11항에 있어서,
    상기 애플리케이션 획득 요청을 하나 이상의 정보 소스들로 통신하기 위한 명령어들은 하나 이상의 액세서 모듈들(accessor modules) 각각에 걸쳐 구현되며, 각각의 액세서 모듈은 상기 정보 소스들 중 하나의 특정 정보 소스와 통신하도록 구성되어 있는 컴퓨터-판독 가능 매체.
  13. 제11항에 있어서,
    상기 적어도 하나의 애플리케이션은 상기 사용자와 연관된 사무용 컴퓨터상에 설치되고,
    상기 애플리케이션 획득 요청을 통신하기 위한 명령어들은,
    상기 인트라넷상에 배치된 디렉토리 서비스로 네트워크 주소 획득 요청을 송신하기 위한 명령어들; 및
    상기 네트워크 주소 획득 요청 송신에 응답하여, 상기 사무용 컴퓨터의 네트워크 주소를 식별하는 응답을 수신하기 위한 명령어들
    을 더 포함하고,
    상기 애플리케이션 획득 요청은 상기 사무용 컴퓨터의 상기 네트워크 주소로 통신되는 컴퓨터-판독 가능 매체.
  14. 프로세서; 및
    상기 프로세서에 연결된 메모리
    를 포함하며,
    상기 메모리는 원격 애플리케이션 탐색을 위해 상기 프로세서에 의해 실행 가능한 컴퓨터-프로그램 명령어들을 포함하며,
    상기 컴퓨터-프로그램 명령어들은,
    인트라넷에서, 공중 통신망에 연결되어 있는 웹 서비스를 제공하기 위한 명령어들; 및
    상기 웹 서비스에 의해, 상기 공중 통신망을 통한 정보의 원격 클라이언트 컴퓨터 탐색을 실행하기 위한 명령어들
    을 포함하며,
    상기 정보는 상기 인트라넷상에 배치된 적어도 하나의 애플리케이션에 대응하고, 상기 애플리케이션은 상기 원격 클라이언트 컴퓨터의 사용자를 위한 후속적인 터미널 서버(TS) 기반 액세스를 위해 구성되며, 상기 원격 컴퓨터는 상기 인트라넷 외부에 있는 컴퓨팅 장치.
  15. 제14항에 있어서,
    상기 적어도 하나의 애플리케이션은 다수의 애플리케이션들이며, 상기 다수의 애플리케이션들 각각은 상기 인트라넷상의 다수의 정보 소스들에 의해 배포된 컴퓨팅 장치.
  16. 제14항에 있어서,
    상기 적어도 하나의 애플리케이션은 다수의 애플리케이션들이고, 상기 다수의 애플리케이션들 각각은 상기 인트라넷상의 다수의 정보 소스들에 의해 배포된 것이며, 상기 다수의 정보 소스들은 상기 사용자와 연관된 사무용 컴퓨터, 디렉토리 서비스 및/또는 시스템 관리 서버(SMS)를 포함하는 컴퓨팅 장치.
  17. 제14항에 있어서,
    상기 원격 클라이언트 컴퓨터는 가상 사설 네트워크(VPN)를 통해 상기 인터넷에 연결되지 않는 컴퓨팅 장치
  18. 제14항에 있어서,
    상기 실행하기 위한 명령어들은,
    상기 웹 서비스에 의해, 상기 원격 클라이언트 컴퓨터로부터 원격 애플리케이션 탐색 요청을 수신하기 위한 명령어들 - 상기 원격 애플리케이션 탐색 요청은 상기 사용자의 식별 정보를 포함하며, 상기 원격 애플리케이션 탐색 요청은 상기 공중 통신망을 통해 상기 웹 서비스로 통신됨 -;
    상기 원격 애플리케이션 탐색 요청 수신에 응답하여, 상기 웹 서비스에 의해, 상기 인트라넷상에 배치된 하나 이상의 정보 소스들로 애플리케이션 획득 요청을 통신하기 위한 명령어들 - 상기 애플리케이션 획득 요청은 상기 하나 이상의 정보 소스들 각각에게 상기 정보를 상기 식별 정보의 함수로서 반환하도록 지시함 -;
    상기 통신에 응답하여, 상기 정보를 수신하기 위한 명령어들; 및
    상기 사용자에 의한 후속적인 TS-기반 액세스를 위해 구성된 원격적으로 배치된 애플리케이션들 각각과 연관된 사용자 인터페이스 객체들의 통합된 프레젠테이션을 위하여 상기 원격 클라이언트 컴퓨터로 상기 정보를 전달하기 위한 명령어들
    을 더 포함하는 컴퓨팅 장치.
  19. 제18항에 있어서,
    상기 애플리케이션 획득 요청을 하나 이상의 정보 소스들로 통신하기 위한 명령어들은 하나 이상의 액세서 모듈들(accessor modules) 각각에 의해 구현되며, 각각의 액세서 모듈은 상기 정보 소스들 중 하나의 특정 정보 소스와 통신하도록 구성되어 있는 컴퓨팅 장치.
  20. 인트라넷에서, 공중 통신망에 연결되어 있는 웹 서비스를 제공하기 위한 수단; 및
    상기 웹 서비스에 의해, 상기 공중 통신망을 통한 정보의 원격 클라이언트 컴퓨터 탐색을 실행하기 위한 수단
    을 포함하며,
    상기 정보는 상기 인트라넷상에 배치된 적어도 하나의 애플리케이션에 대응하고, 상기 애플리케이션은 상기 원격 클라이언트 컴퓨터의 사용자를 위한 후속적 인 터미널 서버(TS) 기반 액세스를 위해 구성되며, 상기 원격 컴퓨터는 상기 인트라넷 외부에 있는 컴퓨팅 장치.
  21. 제20항에 있어서,
    상기 적어도 하나의 애플리케이션은 다수의 애플리케이션들이며, 상기 다수의 애플리케이션들 각각은 상기 인트라넷상의 다수의 정보 소스들에 의해 배포된 컴퓨팅 장치.
  22. 제20항에 있어서,
    상기 적어도 하나의 애플리케이션은 다수의 애플리케이션들이고, 상기 다수의 애플리케이션들 각각은 상기 인트라넷상의 다수의 정보 소스들에 의해 배포된 것이며, 상기 다수의 정보 소스들은 상기 사용자와 연관된 사무용 컴퓨터, 디렉토리 서비스 및/또는 시스템 관리 서버(SMS)를 포함하는 컴퓨팅 장치.
  23. 제20항에 있어서,
    상기 실행하기 위한 수단은,
    상기 웹 서비스에 의해, 상기 원격 클라이언트 컴퓨터로부터 원격 애플리케이션 탐색 요청을 수신하기 위한 수단 - 상기 원격 애플리케이션 탐색 요청은 상기 사용자의 식별 정보(identity information)를 포함하며, 상기 원격 애플리케이션 탐색 요청은 상기 공중 통신망을 통해 상기 웹 서비스로 통신됨 -;
    상기 원격 애플리케이션 탐색 요청 수신에 응답하여, 상기 웹 서비스에 의해, 상기 인트라넷상에 배치된 하나 이상의 정보 소스들로 애플리케이션 획득 요청을 통신하기 위한 수단 - 상기 애플리케이션 획득 요청은 상기 하나 이상의 정보 소스들 각각에게 상기 정보를 상기 식별 정보의 함수로서 반환하도록 지시함 -;
    상기 통신에 응답하여, 상기 정보를 수신하기 위한 수단; 및
    상기 사용자에 의한 후속적인 TS-기반 액세스를 위해 구성된 원격적으로 배치된 애플리케이션들 각각과 연관된 사용자 인터페이스 객체들의 통합된 프레젠테이션을 위하여 상기 원격 클라이언트 컴퓨터로 상기 정보를 전달하기 위한 수단
    을 더 포함하는 컴퓨팅 장치.
KR1020057008050A 2003-11-24 2004-07-22 원격 애플리케이션 탐색을 위한 웹 서비스 KR20060111358A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/721,514 2003-11-24
US10/721,514 US7720906B2 (en) 2003-11-24 2003-11-24 Web service for remote application discovery

Publications (1)

Publication Number Publication Date
KR20060111358A true KR20060111358A (ko) 2006-10-27

Family

ID=34619941

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057008050A KR20060111358A (ko) 2003-11-24 2004-07-22 원격 애플리케이션 탐색을 위한 웹 서비스

Country Status (11)

Country Link
US (1) US7720906B2 (ko)
EP (1) EP1642197B1 (ko)
JP (1) JP4738344B2 (ko)
KR (1) KR20060111358A (ko)
CN (1) CN101014945B (ko)
AU (1) AU2004279168A1 (ko)
BR (1) BRPI0406410A (ko)
CA (1) CA2501568A1 (ko)
MX (1) MXPA05006620A (ko)
RU (1) RU2359314C2 (ko)
WO (1) WO2005057324A2 (ko)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613812B2 (en) 2002-12-04 2009-11-03 Microsoft Corporation Peer-to-peer identity management interfaces and methods
US20040254977A1 (en) * 2003-06-13 2004-12-16 Microsoft Corporation Extensible peer-to-peer graphing messages
US20050091309A1 (en) * 2003-09-29 2005-04-28 Peter Bookman Mobility device management server
US7949996B2 (en) 2003-10-23 2011-05-24 Microsoft Corporation Peer-to-peer identity management managed interfaces and methods
US7496648B2 (en) * 2003-10-23 2009-02-24 Microsoft Corporation Managed peer name resolution protocol (PNRP) interfaces for peer to peer networking
US7590713B2 (en) * 2003-11-24 2009-09-15 Microsoft Corporation Presenting a merged view of remote application shortcuts from multiple providers
US7475125B2 (en) 2003-11-24 2009-01-06 Microsoft Corporation Seamless discovery of workstation-installed remote applications from an extranet
US7720906B2 (en) * 2003-11-24 2010-05-18 Microsoft Corporation Web service for remote application discovery
US8156175B2 (en) * 2004-01-23 2012-04-10 Tiversa Inc. System and method for searching for specific types of people or information on a peer-to-peer network
US8688803B2 (en) 2004-03-26 2014-04-01 Microsoft Corporation Method for efficient content distribution using a peer-to-peer networking infrastructure
FR2879385A1 (fr) * 2004-12-09 2006-06-16 Thomson Licensing Sa Methode d'agregation de decouverte de service dans un reseau local et appareil implementant la methode
US8595323B2 (en) * 2005-04-14 2013-11-26 Accenture Global Services Limited Providing excess resources as a service
US8036140B2 (en) * 2005-04-22 2011-10-11 Microsoft Corporation Application programming interface for inviting participants in a serverless peer to peer network
US7571228B2 (en) 2005-04-22 2009-08-04 Microsoft Corporation Contact management in a serverless peer-to-peer system
US20070002367A1 (en) * 2005-06-29 2007-01-04 Eric Yuan Methods and apparatuses for selectively controlling a remote device
US7904563B2 (en) * 2006-03-31 2011-03-08 Microsoft Corporation Establishing and utilizing terminal server dynamic virtual channels
US20070250590A1 (en) * 2006-04-21 2007-10-25 Microsoft Corporation Ad-hoc proxy for discovery and retrieval of dynamic data such as a list of active devices
FR2903268A1 (fr) * 2006-06-30 2008-01-04 Thomson Licensing Sas Procede de reception de services audio/video, terminal et systeme correspondants
US8185605B2 (en) * 2006-07-18 2012-05-22 Cisco Technology, Inc. Methods and apparatuses for accessing an application on a remote device
US20080018649A1 (en) * 2006-07-18 2008-01-24 Zheng Yuan Methods and apparatuses for utilizing an application on a remote device
US8656342B2 (en) * 2007-02-23 2014-02-18 Accenture Global Services Limited Composing integrated systems using GUI-based applications and web services
US8201218B2 (en) * 2007-02-28 2012-06-12 Microsoft Corporation Strategies for securely applying connection policies via a gateway
US7945949B2 (en) * 2007-03-19 2011-05-17 Microsoft Corporation Providing remote services to legacy applications
US20080313545A1 (en) * 2007-06-13 2008-12-18 Microsoft Corporation Systems and methods for providing desktop or application remoting to a web browser
US7673056B1 (en) * 2007-06-27 2010-03-02 American Megatrends, Inc. Redirection gateway
US7937452B2 (en) 2008-02-19 2011-05-03 Microsoft Corporation Framework for rendering plug-ins in remote access services
US8683062B2 (en) * 2008-02-28 2014-03-25 Microsoft Corporation Centralized publishing of network resources
US8161160B2 (en) * 2008-02-28 2012-04-17 Microsoft Corporation XML-based web feed for web access of remote resources
US7991734B2 (en) 2008-03-07 2011-08-02 Microsoft Corporation Remote pointing
CA2720398C (en) 2008-04-02 2016-08-16 Twilio Inc. System and method for processing telephony sessions
KR20090110202A (ko) 2008-04-17 2009-10-21 삼성전자주식회사 개인화된 사용자 인터페이스를 디스플레이하는 방법 및 장치
KR101545137B1 (ko) * 2008-04-17 2015-08-19 삼성전자주식회사 사용자 인터페이스를 생성하는 방법 및 장치
US8612862B2 (en) * 2008-06-27 2013-12-17 Microsoft Corporation Integrated client for access to remote resources
US8463918B2 (en) * 2010-01-22 2013-06-11 Microsoft Corporation Loss tolerant protocol for remoting desktop graphics
US9137338B2 (en) 2010-01-22 2015-09-15 Microsoft Technology Licensing, Llc Multi-link remote protocol
US9247008B2 (en) 2010-03-18 2016-01-26 Microsoft Corporation Unified web service discovery
US20110321022A1 (en) * 2010-06-25 2011-12-29 Mitel Networks Corporation Code generation through metadata programming for mobile devices and web platforms to ease access to web services
RU2016123705A (ru) * 2010-09-21 2018-11-30 ПэйПэл, Инк. Способ и система (варианты) инициализации услуг программирования
US8438259B2 (en) 2010-10-30 2013-05-07 Hewlett-Packard Development Company, L.P. Web application usage of accessory device directly connected to electronic device in non-networked manner
US20120227035A1 (en) * 2011-03-03 2012-09-06 Microsoft Corporation Cross platform service notification
US20120260246A1 (en) * 2011-04-06 2012-10-11 International Business Machines Corporation Software application installation
CN102207866B (zh) * 2011-05-25 2014-07-09 上海盛轩网络科技有限公司 基于WebOS的应用程序开发、发布、安装、运行系统及方法
US8589481B2 (en) * 2011-09-14 2013-11-19 Microsoft Corporation Multi tenant access to applications
US20130080603A1 (en) 2011-09-27 2013-03-28 Microsoft Corporation Fault Tolerant External Application Server
CN102902934B (zh) * 2011-09-27 2016-10-05 微软技术许可有限责任公司 主机不可知集成和互操作系统
US9256447B2 (en) * 2011-10-25 2016-02-09 Citrix Systems, Inc. Integrated application launching in heterogeneous cloud computing environment
TWI501675B (zh) * 2012-11-20 2015-09-21 Inst Information Industry 適地性服務提供系統、方法及其電腦可讀取紀錄媒體
US10860304B2 (en) * 2015-10-27 2020-12-08 Airwatch Llc Enforcement of updates for devices unassociated with a directory service
US11900090B2 (en) 2015-10-27 2024-02-13 Airwatch Llc Enforcement of updates for devices unassociated with a directory service
US10114616B2 (en) 2016-08-04 2018-10-30 International Business Machines Corporation Discovery for pattern utilization for application transformation and migration into the cloud pattern

Family Cites Families (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69432199T2 (de) 1993-05-24 2004-01-08 Sun Microsystems, Inc., Mountain View Graphische Benutzerschnittstelle mit Verfahren zur Schnittstellebildung mit fernsteuernden Einrichtungen
US6901433B2 (en) 1995-06-07 2005-05-31 Microsoft Corporation System for providing users with a filtered view of interactive network directory obtains from remote properties cache that provided by an on-line service
US6088515A (en) 1995-11-13 2000-07-11 Citrix Systems Inc Method and apparatus for making a hypermedium interactive
US5838910A (en) 1996-03-14 1998-11-17 Domenikos; Steven D. Systems and methods for executing application programs from a memory device linked to a server at an internet site
US5903905A (en) 1996-04-30 1999-05-11 Microsoft Corporation Method for simultaneously constructing and displaying a dynamic preview of a document that provides an accurate customized document
US5845081A (en) 1996-09-03 1998-12-01 Sun Microsystems, Inc. Using objects to discover network information about a remote network having a different network protocol
US5845267A (en) 1996-09-06 1998-12-01 At&T Corp System and method for billing for transactions conducted over the internet from within an intranet
CA2279845A1 (en) 1996-11-18 1998-05-28 Mci Worldcom, Inc. A communication system architecture
AU736350C (en) 1997-06-16 2002-05-09 Swisscom Mobile Ag Chipcard and method for communication between an external device and a chipcard
US6131120A (en) 1997-10-24 2000-10-10 Directory Logic, Inc. Enterprise network management directory containing network addresses of users and devices providing access lists to routers and servers
US6247052B1 (en) 1997-12-23 2001-06-12 Alcatel Usa Sourcing, L.P. Graphic user interface system for a telecommunications switch management system
RU2220453C2 (ru) 1998-05-27 2003-12-27 Дайболд, Инкорпорейтед Устройство, содержащее автоматический банковский аппарат (варианты), и способ формирования сообщения о финансовых операциях и файла на нем
US6279001B1 (en) 1998-05-29 2001-08-21 Webspective Software, Inc. Web service
US6836885B1 (en) 1998-09-21 2004-12-28 Wyse Technology Inc. Method and apparatus for display of windowing application programs on a terminal
US6760748B1 (en) 1999-01-20 2004-07-06 Accenture Llp Instructional system grouping student terminals
US6263363B1 (en) 1999-01-28 2001-07-17 Skydesk, Inc. System and method for creating an internet-accessible working replica of a home computer on a host server controllable by a user operating a remote access client computer
US6081900A (en) 1999-03-16 2000-06-27 Novell, Inc. Secure intranet access
US6356933B2 (en) * 1999-09-07 2002-03-12 Citrix Systems, Inc. Methods and apparatus for efficiently transmitting interactive application data between a client and a server using markup language
US7424543B2 (en) 1999-09-08 2008-09-09 Rice Iii James L System and method of permissive data flow and application transfer
US20010047385A1 (en) 1999-12-30 2001-11-29 Jeffrey Tuatini Passthru to shared service funtionality
US6654784B1 (en) 2000-01-14 2003-11-25 Nexaweb Technologies, Inc Computing architecture
US7155455B2 (en) * 2000-03-24 2006-12-26 Inner Circle Logistics, Inc. Method and system for business information networks
US6968500B2 (en) 2000-04-05 2005-11-22 Dmitry Mikhailov Automatic forms handling system
US6785713B1 (en) 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for communicating among a network of servers utilizing a transport mechanism
US6898618B1 (en) 2000-05-09 2005-05-24 Sun Microsystems, Inc. Client-specified display services in a distributed computing environment
US6970869B1 (en) 2000-05-09 2005-11-29 Sun Microsystems, Inc. Method and apparatus to discover services and negotiate capabilities
US7496637B2 (en) 2000-05-31 2009-02-24 Oracle International Corp. Web service syndication system
US6990513B2 (en) 2000-06-22 2006-01-24 Microsoft Corporation Distributed computing services platform
US20020054090A1 (en) 2000-09-01 2002-05-09 Silva Juliana Freire Method and apparatus for creating and providing personalized access to web content and services from terminals having diverse capabilities
US20020040434A1 (en) 2000-09-12 2002-04-04 Keith Elliston Techniques for providing and obtaining research and development information technology on remote computing resources
US20030018725A1 (en) 2000-10-20 2003-01-23 Tod Turner System and method for using an instant messaging environment to establish a hosted application sharing session
CN1130879C (zh) * 2000-11-06 2003-12-10 郝立华 一种远程接入局域网的方法和系统
FI113898B (fi) 2000-11-21 2004-06-30 Nokia Corp Menetelmä sisällön tuottamiseksi langattomaan viestintälaitteeseen
US7072936B2 (en) 2000-12-13 2006-07-04 Riskspan, Inc. System and method for aggregating data having data and application dependencies
US20020116454A1 (en) 2000-12-21 2002-08-22 William Dyla System and method for providing communication among legacy systems using web objects for legacy functions
US20030009385A1 (en) 2000-12-26 2003-01-09 Tucciarone Joel D. Electronic messaging system and method thereof
US20030014476A1 (en) 2001-01-03 2003-01-16 Peterson David Allen Thin client computer operating system
US6999912B2 (en) 2001-03-13 2006-02-14 Microsoft Corporation Provisioning computing services via an on-line networked computing environment
US7047177B1 (en) 2001-03-21 2006-05-16 Unisys Corporation Thin client sizing tool for enterprise server farm solution configurator
JP4590765B2 (ja) 2001-03-29 2010-12-01 住友電気工業株式会社 サービス提供者へのアクセスの切替サービスを提供するサーバ装置とネットワーク上の任意のユーザ端末との間の通信を中継するためのアクセス装置および方法、ならびにコンピュータを当該アクセス装置として動作させるためのプログラムとそのプログラムを記録したコンピュータ読取可能な記録媒体
US6836786B1 (en) 2001-04-30 2004-12-28 Microsoft Corporation Method and apparatus for terminal server addressability via URL specification
US7117504B2 (en) 2001-07-10 2006-10-03 Microsoft Corporation Application program interface that enables communication for a network software platform
US20030065943A1 (en) 2001-09-28 2003-04-03 Christoph Geis Method and apparatus for recognizing and reacting to denial of service attacks on a computerized network
WO2003058476A1 (en) 2001-09-28 2003-07-17 Infocus Corporation Network projector interface system
US7546606B2 (en) 2001-10-18 2009-06-09 Bea Systems, Inc. System and method using a connector architecture for application integration
JP2003173224A (ja) 2001-12-05 2003-06-20 Casio Comput Co Ltd ネットワーク情報表示方法、ネットワーク情報表示プログラムおよび情報処理端末
US7603469B2 (en) 2002-01-15 2009-10-13 International Business Machines Corporation Provisioning aggregated services in a distributed computing environment
US7139551B2 (en) * 2002-01-19 2006-11-21 Sasken Communication Technologies Ltd. System and method for automatically downloading software applications to a remote terminal
US20030149728A1 (en) * 2002-02-05 2003-08-07 Bandu Wewalaarachchi Remote application publication and communication system
US8135843B2 (en) * 2002-03-22 2012-03-13 Citrix Systems, Inc. Methods and systems for providing access to an application
US7010782B2 (en) 2002-04-04 2006-03-07 Sapphire Infotech, Inc. Interactive automatic-test GUI for testing devices and equipment using shell-level, CLI, and SNMP commands
US7191217B2 (en) * 2002-04-10 2007-03-13 Nippon Telegraph And Telephone Corporation Distributed server-based collaborative computing
US7363363B2 (en) 2002-05-17 2008-04-22 Xds, Inc. System and method for provisioning universal stateless digital and computing services
US7240109B2 (en) 2002-06-27 2007-07-03 Sun Microsystems, Inc. Remote services system service module interface
US7210143B2 (en) 2002-07-17 2007-04-24 International Business Machines Corporation Deployment of applications in a multitier compute infrastructure
US7254786B2 (en) 2002-11-05 2007-08-07 Microsoft Corporation System for transmitting and displaying icon resources group associated with remote application to a local computing system to facilitate virtualization of the remote application
GB2395638B (en) 2002-11-20 2005-11-09 Fujitsu Serv Ltd Multiple network access
US20040177073A1 (en) 2003-01-17 2004-09-09 Harry Snyder Executable application access management system
US20040255289A1 (en) * 2003-06-11 2004-12-16 Citycites.Com Corp. Remote access software solution for rapidly deploying a desktop
US7296022B2 (en) 2003-07-14 2007-11-13 Microsoft Corporation Method and system for accessing a network database as a web service
WO2005010681A2 (en) 2003-07-18 2005-02-03 Archer-Daniels-Midland Company Method and system for managing regulatory information
US7577743B2 (en) 2003-08-01 2009-08-18 Sentillion, Inc. Methods and apparatus for performing context management in a networked environment
US7716357B2 (en) * 2003-10-24 2010-05-11 Microsoft Corporation Service discovery and publication
US7146420B2 (en) * 2003-11-20 2006-12-05 Square D Company Internet listener/publisher
US7475125B2 (en) 2003-11-24 2009-01-06 Microsoft Corporation Seamless discovery of workstation-installed remote applications from an extranet
US7720906B2 (en) * 2003-11-24 2010-05-18 Microsoft Corporation Web service for remote application discovery

Also Published As

Publication number Publication date
CN101014945B (zh) 2011-02-23
CA2501568A1 (en) 2005-05-24
MXPA05006620A (es) 2005-10-21
RU2005114495A (ru) 2006-01-20
US20050125560A1 (en) 2005-06-09
EP1642197A4 (en) 2011-06-22
JP4738344B2 (ja) 2011-08-03
EP1642197A2 (en) 2006-04-05
RU2359314C2 (ru) 2009-06-20
WO2005057324A2 (en) 2005-06-23
WO2005057324A3 (en) 2006-09-08
BRPI0406410A (pt) 2005-10-04
EP1642197B1 (en) 2015-03-25
CN101014945A (zh) 2007-08-08
JP2007512616A (ja) 2007-05-17
US7720906B2 (en) 2010-05-18
AU2004279168A1 (en) 2005-06-23

Similar Documents

Publication Publication Date Title
KR20060111358A (ko) 원격 애플리케이션 탐색을 위한 웹 서비스
JP4800966B2 (ja) ワークステーションにインストールされたリモートアプリケーションのエクストラネットからのシームレスなディスカバリ
US7590713B2 (en) Presenting a merged view of remote application shortcuts from multiple providers
AU2004279168A2 (en) A web service for remote application discovery
US7912822B2 (en) System and method for launching a resource in a network
US7903656B2 (en) Method and system for message routing based on privacy policies
US20040006586A1 (en) Distributed server software distribution
JP2009536377A (ja) リモートユーザに対するコンピューティング環境の提供を加速するためのシステムおよび方法
Cisco Configuring SESM Portal Applications
Cisco Overview
AU2004279175A1 (en) Presenting a merged view of remote application shortcuts from multiple providers
BRPI0406407B1 (pt) Method for enumerating applications through a remote client computer and remote client computer

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