KR100600959B1 - 분산 컴퓨팅 환경에서 집합화된 서비스의 공급 - Google Patents

분산 컴퓨팅 환경에서 집합화된 서비스의 공급 Download PDF

Info

Publication number
KR100600959B1
KR100600959B1 KR1020047001467A KR20047001467A KR100600959B1 KR 100600959 B1 KR100600959 B1 KR 100600959B1 KR 1020047001467 A KR1020047001467 A KR 1020047001467A KR 20047001467 A KR20047001467 A KR 20047001467A KR 100600959 B1 KR100600959 B1 KR 100600959B1
Authority
KR
South Korea
Prior art keywords
service
services
aggregated
user
access
Prior art date
Application number
KR1020047001467A
Other languages
English (en)
Other versions
KR20040068106A (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 KR20040068106A publication Critical patent/KR20040068106A/ko
Application granted granted Critical
Publication of KR100600959B1 publication Critical patent/KR100600959B1/ko

Links

Images

Classifications

    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

집합화된 웹서비스에서 사용되는 소프트웨어 자원을 공급하기 위한 방법, 시스템 및 컴퓨터 프로그램 제품이 개시된다. 개시된 기술은 이종 신원(identity) 시스템이 동적인 실행시간 웹서비스 통합 환경에서 결합되는 것을 가능케 한다. 이제 인증 및 허가가 집합화된 서비스뿐만 아니라 그의 세부 서비스에 대하여 수행될 수 있다. 예로서, SOAP("Simple Object Access Protocol") 메시지가 분산 서비스들에 신원 정보를 중계하기 위해 사용될 수 있으며, SOAP 메시지 본문에 지정된 서비스 요청을 수반하기 위해 SOAP 메시지 헤더에 증명서가 기재될 수 있다.
집합화된 웹서비스, 분산 컴퓨터 환경, SOAP

Description

분산 컴퓨팅 환경에서 집합화된 서비스의 공급{Provisioning aggregated services in a distributed computing environment}
본 발명은 미국특허출원번호 제 09/955,788호(발명의 명칭:"다른 서비스들의 집합으로서 분산 소프트웨어 서비스의 구축"), 미국특허출원번호 제 09/956,268호(발명의 명칭:"콘텐트 프레임 환경에서 소프트웨어 자원의 프로그램적인 관리"), 그리고, 미국특허출원 제09/956,276호(발명의 명칭: "콘텐트 프레임워크 서비스를 통한 서비스 자원의 동적인 실시간 통합")와 관련 있으며, 이 모든 출원은 IBM사에 공통으로 양도되었으며, 2001년 9월 19일에 출원되었다. 이러한 미국 특허 출원들은 본 명세서에서 "관련 발명"으로 참조되고, 본 명세서의 일부로서 참조된다.
본 발명은 컴퓨터 소프트웨어에 관한 것으로서, 분산 컴퓨팅 환경에서 집합화된 서비스를 공급하기 위한 기술에 특히 관련되어 있다.
분산 컴퓨팅 환경 및 네트워크 컴퓨팅의 인기가 최근 수년동안 엄청나게 증가하였으며, 이의 주요 원인은 비즈니스 및 고객들의 월드 와이드 웹"(또는, 간단히 "웹")이라 알려진 공공연한 인터넷 및 이들의 부집합사용이 증가하기 때문이다. 회사 인트라넷 및 엑스트라넷과 같은 다른 유형의 분산 컴퓨팅 네트워크도 또한 점점 대중화되고 있다. 솔루션 제공자들이 개선된 웹-기반 컴퓨팅을 전달하는데 초 점을 두기 때문에, 개발된 솔루션의 대부분은 다른 분산 컴퓨팅 환경에도 적용될 수 있다. 따라서, 본 명세서에서는 설명의 목적상 인터넷 및 웹에 대해 참조하지만, 이로 제한되는 것은 아니다.
분산 컴퓨팅 환경에서 진보가 이루어지는 영역은 소위 "웹 서비스" 주도(initiative)에 있다. 이러한 주도는 또한 분산 컴퓨팅을 위한 "서비스-지향 구조(service-oriented architecture)"로서 흔히 언급된다. 웹 서비스는 인터넷에서 분산 어플리케이션의 통합을 위해 급속히 떠오르는 기술이다. 일반적으로, "웹 서비스"는 네트워크-액세스가능한 동작의 집합을 기술하는 인터페이스이다. 웹 서비스는 특정 타스크 또는 타스크 집합을 완료한다. 그들은 그들의 복잡한 작업흐름 또는 비즈니스 거래 부분을 수행하기 위해 상호작용적인 방식으로 하나 또는 그 이상의 다른 웹 서비스들과 작업할 수 있다. 예를 들어, 복잡한 구매 주문 거래를 완료하기 위해서는, 주문하는 비즈니스에서의 주문 배치 서비스(즉, 주문 배치 소프트웨어)와 그의 하나 이상의 비즈니스 파트너에서의 주문 완료 서비스간의 자동적인 상호동작이 필요할 수 있다.
대부분의 산업 전문가들은 서비스-기반 웹 서비스 주도를 인터넷 진보의 다음 단계로 고려한다. 웹 서비스 덕분에, 인간의 개입 필요없이, 소프트웨어에 대한 분산 네트워크 액세스는 프로그램-프로그램 동작에 광범위하게 이용가능해질 것이다.
일반적으로, 웹 서비스는 네트워크-액세스가능 서비스를 제공하는 기업이 네트워크-액세스가능 레지스트리(registry)에 대한 서비스를 공표하고(publish), 서 비스를 필요로 하는 다른 기업들은 서비스의 이용가능성을 알기 위해 레지스트리에 질의할 수 있는 모델을 이용하여 구조화된다. 이러한 컴퓨팅 모델의 참가자들은 (1) 서비스 제공자, (2) 서비스 요청자, 및 (3) 서비스 중개자로 흔히 지칭된다. 이러한 참가자들 및 그들간에 메시지를 교환하는데 관련된 기본적인 동작들은 도 1에 도시되어 있다. 서비스 제공자(100)는 이용가능한 서비스를 갖춘 개체이고, 이러한 서비스가 공표되는(110) 레지스트리는 서비스 중개인(120)에 의해 유지된다. 서비스 요청자(150)는 서비스를 필요로 하며 서비스 중개인의 레지스트리를 질의하는(140) 개체이다. 레지스트리를 이용하여 원하는 서비스가 발견되면, 서비스 요청자는 해당 서비스를 사용하기 위해 파악된 서비스 제공자에 바인드한다(bind, 130). 이러한 동작들은 인간의 간섭없이 프로그램적으로 발생하도록 설계되어, 서비스 요청자가 특정 서비스를 검색하고 해당 서비스를 동적으로 실시간 이용할 수 있도록 해준다. 웹 서비스 모델은 이론적으로 어느 유형의 컴퓨팅 어플리케이션에도 이용가능하다. 그러나, 현재 레지스트리로부터 액세스될 수 있는 웹 서비스는 "Hello, world1" 데모 프로그램, 특정 우편 코드에 대한 현재 온도를 찾아주는 프로그램, 환율 계산을 수행하는 프로그램 등과 같은 비교적 간단한 프로그램들에 제한되어 있다.
웹 서비스 작업이 구축되는 핵심적인 표준 집합은 HTTP(Hypertext Transfer Protocol), SOAP("Simple Object Access Protocol") 및/또는 XML("Extensible Markup Language") 프로토콜, WSDL("Web Services Description Language"), 및 UDDI("Universal Description, Discovery, and Integration")를 포함한다. HTTP는 인터넷과 같은 TCP/IP("Transmission Control Protocol/Internet Protocol") 네트워크를 통해 메시지를 교환하기 위해 통상 이용된다. SOAP는 분산 환경에서 메소드(method)를 불러내기 위한 메시지를 전송하는데 사용되는 XML-기반 프로토콜이다. XML 프로토콜은 어플리케이션-어플리케이션 메시지 전달을 가능하게 해줄 어플리케이션층 전송 프로토콜용 월드와이드웹 컨소시움("W3C")의 개발된 사양이며, 이는 SOAP와 하나로 모아질 수 있다. WSDL은 분산 네트워크 서비스를 기술하기 위한 XML 포맷이다. UDDI는 비즈니스들이 그들의 서비스를 열거하고 서비스 요청자들이 특정 서비스를 제공하는 비즈니스를 찾을 수 있도록 해주는 XML-기반 레지스트리 기술이다. SOAP에 대한 좀더 상세한 정보를 위해서는 "Simple Object Access Protocol(SOAP) 1.1, W3C Note 2000/5/8"을 참조하기 바라며, 이는 인터넷상의 http://www.w3.org/TR/2000/NOTE-SOAP-20000508"의 주소에서 이용가능하다. XML 프로토콜 및 XML 프로토콜 표준의 생성에 대한 상세한 정보는 http://www.w3.org/2000/xp를 참조하기 바란다. WSDL 사양서는 "Web Services Description Language (WSDL) 1.1, W3C note 2001/3/15"이란 제목으로 되어 있으며, 인터넷 상에서 http://www.w3.org/TR/2001/NOTE-wsdl-20010315에서 찾을 수 있다. UDDI에 대한 좀더 상세한 정보에 대해서는 "UDDI 버전 2.0 API 사양서, UDDI 개방 초안 사양서, 2001/6/8" 이란제목의 UDDI 사양서를 참조하기 바라며, 이는 인터넷상에서 htp://www.uddi.org/specification.html에 발견된다. HTTP는 "HyperText Transfer Protocol -- Http/1.1"(1999,6월)이란 제목의, 인터넷 엔지니어링 타스크 포스의 RFC(Request For Comments) 2616에 기재되어 있다.
이러한 개방형 표준을 이용하여 어플리케이션을 통합하기 위해서는 몇가지 단계가 요구된다. 웹 서비스가 불려지는 메소드 명칭과, 메소드의 입력 및 출력 파라미터 및 그들의 데이터 유형 등을 포함하여, 웹 서비스에 대한 인터페이스가 기재되어야 한다. WSDL 문서가 이러한 정보를 제공하며, 이는 UDDI 사양서에 따라 구현되는 레지스트리에 UDDI 공표 동작을 이용하여 전송된다. 서비스가 UDDI 레지스트리에 등록되면, 서비스 요청자는 분산 서비스를 찾기 위해 UDDI 파악 요청을 송출할 수 있다. 이러한 방식으로 서비스를 찾는 서비스 요청자는 UDDI 바인드 요청을 송출하고, 이는 WSDL 문서의 서비스 정보를 이용하여 파악된 서비스에 해당 요청자를 동적으로 바인딩한다. (이러한 UDDI 동작은 상위 수준에서 도 1에 도시되어 있다). WSDL 문서 및 UDDI 요청을 전송하기 위해 SOAP/XML 프로토콜 및 HTTP 메시지들이 흔히 사용된다. (이하에서, SOAP에 대한 지칭은 XML 프로토콜의 의미적으로 유사한 특징을 균등하게 지칭하는 것으로 해석되어야 한다.) 더욱이, 본 명세서에서 "HTTP"에 대한 지칭은 HTTP-유사 기능들을 지칭하는 일반적인 의미로 해석되어야 할 것이다. 예를 들어, 일부 UDDI 동작들은 HTTP 대신에 HTTPS를 필요로 하는데, HTTPS는 HTTP의 보안 향상 버전이다. 이러한 차이는 본 발명에만 그러한 것이 아니므로, 이하에서 HTTP를 논의할 때 구별되지 않는다.
웹 서비스의 목적은 서비스 요청자에게 하나 이상의 원격 위치에 존재하는 프로그램 컴포넌트들에 대한 투명한 엑세스를 제공하는 것이고, 이러한 컴포넌트들은 요청자들과 상이한 운영 체계상에서 실행되고 상이한 프로그래밍 언어로 작성되어 있을 수도 있다. 웹 서비스가 기반을 둘 목적, 구조 및 표준들을 정의하기 위 해 상당량의 작업이 이루어졌지만, 웹 서비스를 효과적이고 효율적으로 작동시키기 위해서는 행하여야 할 작업들이 많이 남아있다.
구체적으로, 종래 방식으로 제공되는 다수의 어플리케이션 서비스들은 사용자가 그들 서비스를 사용하기 이전에 인증되고 허가받는 것을 필요로 한다. 이러한 관점에서의 인증(authentication)은 사용자가 실제로 자기라고 주장하는 사람인지를 판단하는 것을 의미하고, 허가(authorization)는 전형적으로 이러한 사용자의 액세스 특권이 무엇인지를 판단하는 것 또는 이 사용자가 특정 서비스 또는 특정 기능을 액세스하도록 허용되어 있는지 여부를 판단하는 것을 의미한다. 웹 서비스 환경에서, 의도는 서비스 제공자가 특정 서비스를 수행하기 위해 동적으로 파악될 수 있다는 것이다. 복수의 서비스 제공자들이 이용가능하면, 이들 서비스 제공자들중 특성 제공자가 이러한 제공자의 서비스를 이용하는 가격, 이러한 제공자 서비스의 응답 시간 보장 등에 기반하여 선택될 수 있다. 각각의 제공자는 인증 및 허가 정보에 대하여 상이한 포맷을 가지고 있을 뿐 아니라, 인증 및 허가 기능을 액세스하는데 특유의 방식을 가지고 있을 수 있다. 웹 서비스 환경에서 이종의 독자적인 시스템들을 연합하거나 결합하기 위한 어떠한 기술도 본 발명에 알려진 바 없으며, 이는 집합화된 웹 서비스의 사용에 중대한 방해자가 될 것이다.
본 발명은 컴퓨팅 네트워크에서 집합화된 서비스를 제공하기 위한 방법, 시스템 및 컴퓨터 프로그램 제품을 제공한다. 바람직한 실시예에서, 하나 이상의 소프트웨어 자원은 집합화된(aggregated) 서비스를 제공하고, 이는, 상기 집합화된 서비스의 공급 인터페이스를 제공하는 단계와, 서비스 기재 문서로 상기 공급 인터페이스를 규정하는 단계와, 상기 서비스 기재 문서에 따라 상기 집합화된 서비스에 대한 사용자의 증명서(credentials)를 획득하는 단계와, 상기 획득된 증명서를 분석하는 단계와, 상기 분석에 의해 나타내지는 경우에 상기 사용자가 상기 집합화된 서비스를 수행하도록 허락하는 단계를 포함한다.
본 기술은 상기 집합화된 서비스의 하나 이상의 소프트웨어 자원중 적어도 하나의 공급 인터페이스를 정의하는 단계와, 상기 적어도 하나의 소프트웨어 자원 각각에 대하여, 상기 서비스 기재 문서 또는 하나 이상의 다른 서비스 기재 문서에 상기 소프트웨어 자원에 의해 수행되는 서비스의 공급 인터페이스를 규정하는 단계를 더 포함한다. 이 경우에, 상기 집합화된 서비스에 대하여 상기 사용자의 증명서를 획득하는 것에 부가하여, 상기 서비스 기재 문서 또는 상기 하나 이상의 다른 서비스 기재 문서에 따라, 상기 적어도 하나의 소프트 자원에 대하여 증명서가 또한 획득될 수 있다. 다음에, 사용자는, 이들 증명서의 분석에 의해 나타내어지는 경우에, 상기 적어도 하나의 소프트웨어 자원의 공급 인터페이스에 의해 표시되는 선택된 서비스를 수행하도록 바람직하게 허용된다.
바람직한 실시예에서, 상기 분석은 상기 증명서의 (1) 인증 및 (2) 허가중 적어도 하나를 포함한다.
상기 집합화된 서비스의 소프트웨어 자원에 의해 수행되는 분산 서비스들에 신원확인(identity) 정보가 프로그램적으로 중계될 수 있다. 바람직하게, 프로그램적인 중계는 메시지 헤더에 증명서를 기재하고 메시지 본문에 서비스 요청을 기재한 메시지를 전송하는 단계를 포함한다. 예를 들어, 메시지는 SOAP("Simple Object Access Protocol") 메시지이다.
바람직하게는 서비스 기재 문서를 기재하기 위해 마크업 언어가 사용된다. 바람직하게, 마크업 언어는 웹서비스 기재 언어("WSDL")이다.
본 기술은 서비스 기재 문서를 레지스트리에 등록하는 단계를 더 포함하는데, 레지스트리는 표준화된 메시지를 이용하여 액세스되는 네트워크-액세스가능 레지스트리이다.
이제, 본 발명의 바람직한 실시예 이하의 도면들을 참조하여 예시적으로만 설명될 것이며, 도면상에서 유사한 도면부호는 전체에 걸쳐서 동일한 요소를 지칭한다.
도 1은 종래기술에 따라 서비스-기반 구조의 참여자 및 기본 동작을 도시하는 블록도이다.
도 2는 관련 발명들의 바람직한 실시예에 따라 웹 서비스 프록시로서 구조화된 포틀렛(portlet)을 도시한 블록도이다.
도 3a 및 3b는 관련 발명의 바람직한 실시예에 따라, 전개(deployment) 인터페이스 및 시스템 인터페이스를 각각 규정하는 샘플 WSDL 문서의 내용을 도시한다.
도 4는 관련 발명들에 개시된 바와 같이, 서비스 집합(aggregation)에 대한 웹 서비스 스택 접근방식을 예시한다.
도 5a 내지 5e는 본 발명의 바람직한 실시예에 따라 공급 서비스 인터페이스 를 기재한 샘플 WSDL 문서 부분을 예시한다.
도 6은 본 발명의 바람직한 실시예를 구현하는 데 사용될 수 있는 논리를 도시한 흐름도를 제공한다.
도 7a 및 7b는, 종래 기술에 따라, 헤더에 디지털 서명을 수반하는 SOAP 인벨로프(envelope)의 예를 제공한다.
웹서비스의 전망은 이전과 달리 상이한 어플리케이션들이 상호작용할 수 있게 되어, 엔터프라이즈 시스템의 개방 및 보편화(urbanization)를 통해 새로운 유형의 경계없는 고차원 통합 어플리케이션을 제공하는 것이다. 웹서비스는 분산된 소프트웨어 자원들을 좀더 광범위하게 이용하도록 할 것이고, 소프트웨어가 서비스로서 판매되도록 허용할 것이다. 하나 이상의 서비스 제공자의 서비스들은 각각의 특정 사용자가 현재 관심이 있는 타스크 또는 서비스를 수행하기 위해 필요한 기능들을 사용자에게 제공하기 위해 동적으로 모아질 것이다. 이러한 동적으로 통합된 서비스를 효율적으로 사용하기 위해, 그들이 사용하는 이종 시스템들을 자동적으로 그리고 동적으로 합치할 수 있는 것이 필요하다. 이는 사용자들이(사람 또는 프로그램) 서비스 사용을 위해 끊김없이(seamlessly) 인증, 허가 또는 확인될 수 있도록 실시간으로 행해져야만 한다. 더욱이, (여러개의 세부 서비스들을 포함하는) 특정 서비스의 진행중에 한 사용자에게 반복적으로 그들의 신원을 확인시키도록 요구한다면 이는 사용자를 지치게 하고 시간 낭비적이며 비효율적이기 때문에, 단 한번의 서명(sign-on)을 이용하여 끊김없는 확인을 제공하는 것이 바람직하다. 이하 에서 설명되는 바와 같이, 본 발명은 이러한 요구사항에 대한 해법을 제공하며, 그렇게 함에 있어서 다수의 개방형 산업 표준 기술들에 영향을 준다.
실시예에 대한 상세한 내용을 설명하기 이전에, 본 발명의 바람직한 실시예가 구축되는 기술들을 포함하는 배경 정보를 간단히 검토해보는 것이유익하다. 관련 발명들은 웹 서비스를 관리하고 서비스들이 그 다음에 전개되는 새로운 서비스를 형성하기 위해 합쳐질 수 있는 집합 지점을 제공하기 위한 기술들을 정의하였다. 관련 발명들의 바람직한 실시예는 포털 플랫폼과 같은 콘텐트 프레임워크상에 구축되는데, 이러한 유형의 프레임워크가, 지속성, 개별화 및 트랜스코딩과 같은 서비스 호스팅 및 콘텐트 관리를 위한 다수의 내장형(built-in) 서비스를 제공하기 때문이다. 관련 발명들에 개시된 기술들은 웹 서비스의 집합, 전개 및 관리를 제공하기 위해 플랫폼을 확장시킨다. 모델링 구성(composition) 툴이 개시되었는데, 이는 집합화된 서비스를 정의하기 위해 사용될 수 있으며, 이러한 집합화된 서비스 정의에 따라 소프트웨어 자원들이 프로그램적으로 통합될 수 있다. 또한, 집합화된 서비스들은 자동 방식으로 관리될 수 있다.
본 발명은 관련 발명들의 사용으로부터 발생하는 집합화된 서비스를 공급하기 위한 기술을 정의한다. 이러한 기술들은 또한, 본 발명의 범위를 벗어나지 않고, 다른 방식으로 생성된 집합화된 서비스에도 적용될 수 있다. 더욱이, 본 명세서에서의 논의는 "집합화된" 서비스의 공급 측면에 있지만, 집합화된 서비스 그 자체가 (세부 서비스들로 이루어진) 웹 서비스이며, 따라서, 본 발명은 단위(atomic) 서비스로서 간주될 수 있는 그러한 웹 서비스들에도 유용하게 사용될 수 있다. ( 따라서, 단위 서비스는 집합화된 "세부 서비스"집합이 하나의 멤버를 갖는 퇴보된 경우이다.)
본 발명( 및 관련 발명들)의 실시예가 구현될 수 있는 상업적으로 이용가능한 포털 플랫폼의 한가지 예는 IBM사의 웹스피어(WebSphere) 포털 서버("WPS")이다. ("Websphere"는 IBM사의 등록 상표이다.) 관련 발명들 및 본 발명에 대한 설명이 포털 플랫폼의 측면에 있기는 하지만, 본 발명의 개념은 유사한 기능을 제공하는 다른 유형의 콘텐트 프레임워크에도 적용될 수 있으며, WPS 이외의 포털에도 또한 적용될 수 있으므로, 포털 및 그의 포털릿 패러다임에 대한 참조는 단지 예시적인 것이며, 제한 사항은 아니다.
관련 발명들에 의해 가능해진 웹서비스의 동적인 실시간 통합은 새로운 웹 서비스들을 집합시키기 위한 구성 툴을 사용할 수 있다. 이러한 구성 툴을 이용하여, 시스템 관리자(또는, 대등하게, 서비스 구성자 또는 다른 사람)는 좀더 세분화된 서비스들로 이루어지는 새로운 서비스를 정의할 수 있다. 이로부터 다른 서비스들이 구축되는 세분화된 서비스들은 국부적으로(locally) 또는 원격에 존재할 수 있으며, 관련 발명들의 기술은 그들이 국부적으로 있든지 또는 떨어져 있든지에 상관없는 투명한 방식으로 이러한 서비스들을 참조하고 이용할 수 있도록 해준다. 세분화된 서비스에는, 스크립트 프로그램, 자바(Java) 클래스, COM 클래스, EJB("Enterprise Javabean"), 저장된 절차, IMS 또는 다른 데이터베이스 거래, 레거시 어플리케이션 등을 포함하는 임의의 유형의 프로그래밍 로직을 포함할 수 있다. ("Java" 및 "엔터프라이즈 자바빈"은 Sun Microsystem사의 상표이다.) 이러한 방식으로 생성된 웹 서비스는 포털 플랫폼에 의해 자동으로 관리될 수 있으며, 관련 발명들에 기재된 바와 같이, 되부름(recursive) 방식으로 새로운 웹 서비스를 생성하는데도 사용될 수 있다.
관련 발명들은 포털 인터페이스로서 포틀렛을 도입하고(leverage), 또한 원격 포틀렛 인터페이스 개념(이러한 개념은 프로그램적인 포틀렛에 적용되도록 확장됨)을 구축하여, 소프트웨어 자원에 대한 액세스를 가능하게 해준다. 이러한 방식의 포틀렛 기능은 "웹서비스 중개" 또는 "웹서비스 프록시"로 지칭될 수 있다. 즉, 관련 발명들은 포틀렛이 특정 서비스를 요청하는 어플리케이션 또는 소프트웨어 자원과 해당 서비스를 제공하는 소프트웨어간에 중개자로서 역할할 수 있도록 해준다. 특정 기능을 수행하는 소프트웨어 자원은 웹서비스 프록시에 (예를 들어, 개발 시점에서) 정적으로 바인딩되거나, 웹서비스 프록시가 (예를 들어, 실행시간에 평가되는 기준에 근거하여) 동적으로 선택되는 소프트웨어 자원에 바인딩될 수 있다. 어느 경우이든, 포틀렛 프록시는 요청 메시지를 수신하고 그가 바인딩된 소프트웨어 자원에 그것을 전달한다. 소프트웨어 자원이 요청된 기능을 완수하면, 그 응답을 포틀렛 프록시에 리턴하고, 프록시는 요청자에게 응답을 전달한다.
집합화된 서비스를 수행하기 위해 불려지는 소프트웨어 자원들은 프로그램-프로그램 상호작용을 위해 설계되지만, 사실상 선택적으로 가시적일 수 있다. 예를 들어, 가시화-지향적인(visually-oriented) 자원이 프로그램-프로그램 방식으로 주로 동작하는 웹 서비스의 실행중에 호출될 수 있다. 용어 "프로그램에 의한(programmatic) 포틀렛"은 본 명세서에서 관련 발명들 및 본 발명에 따라 포틀 렛 프록시를 일반적으로 일컫는 용어로서, 그 기본이 되는 소프트웨어 자원이 가시화-지향적인 코드를 포함하고 있는지 여부에 상관없다.
관련 발명들에 따라, 웹서비스 프록시로서 구조화된 포틀렛을 예시하는 블록도가 도 2에 도시되어 있다. 도시된 바와 같이, 포틀렛 프록시(240)는 전개 인터페이스(210), 시스템 인터페이스(220) 및 기능적 인터페이스(230)를 포함한다. 포틀렛 프록시는 이러한 인터페이스들을 이용하여 포털 플랫폼(200)과 통신하여, 포털 플랫폼과 관심 기능을 수행하는 소프트웨어 자원(250)간의 중개자로서 역할한다. 각 기능 인터페이스의 상세사항은 소프트웨어 자원(250)에 의해 제공되는 웹 서비스에 특정되며, 관련 발명들의 일부를 형성하는 것은 아니다. 그러나, 관련 발명들은 소프트웨어 자원(250)의 기능 인터페이스가 포틀렛 프록시의 인터페이스(230)로서 이용가능하도록 해준다. (WSDL 정의 및 SOAP 서비스를 이요하여 기능 인터페이스를 노출시키는 것은, 관련 발명들에서 설명한 바와 같이, 전개 프로세스중에 IBM 웹 서비스 툴킷(Web Services Toolkit:"WSTK")과 같은 상업적으로 이용가능한 툴을 이용하여 달성될 수 있다.)
전개 인터페이스 및 시스템 인터페이스는 관련 발명들에 상세하게 설명되어 있으므로, 이에 대해서는 간략하게 설명하겠다. 관련 발명들의 바람직한 실시예에 따르면, 전개 인터페이스와 시스템 인터페이스는 웹서비스 프록시로 역할하는 각각의 포틀렛에 대하여 정의된다.(대안적인 실시예에서는, 이들 인터페이스들중 하나가 구현될 수 있다.) 이러한 새로운 인터페이스들은 각각 전개 포트 유형 및 시스템 포트 유형으로 지칭될 수도 있다. 따라서, 관련 발명들에 따른 포틀렛은 소프트웨어 자원의 포털 통합 및 서비스 상호작용 및 관리에 필요한 포트 유형을 포함하는 서비스 제공자 유형을 정의한다. ("포트 유형"은 포틀렛의 동작의 상세사항을 의미하기 위해 본 기술분야에서 사용되는 용어이고, "서비스 제공자 유형"은 포트 유형의 집합을 의미하기 위해 사용되는 용어이다.)
전개 인터페이스는 포틀렛 프록시(즉, 포트렛 프록시에 의해 나타내지는 집합화된 웹서비스)가 관련 발명들에 따라 되부름 방식으로 이후의 웹서비스 구성 동작에서 사용될 수 있도록 해준다. 예를 들어, 포틀렛"A"의 전개 인터페이스는 새로운 웹 서비스 "Z"를 형성하기 위해 포틀렛 "A"가 다른 포틀렛과 집합화될 때 사용하기 위한 포틀렛 "A"에 대한 정보를 제공한다. 관련 발명들에 따라, 웹 서비스 "Z"에 대한 전개 인터페이스를 정의함으로써, 웹 서비스 Z에 대한 정보는 이후에 웹 서비스 Z가 다른 새로운 서비스를 조합하기 위해 사용될 때 제공될 수 있다.
시스템 인터페이스는 포틀렛(즉, 포틀렉 프록시에 의해 제시되는 웹 서비스)의 실행시간 관리를 위해 사용된다. 시스템 인터페이스를 사용함으로써, 포틀렛 플랫폼은 이벤트 로깅(logging), 비용 청구(billing) 및 웹 서비스의 실행에 관한 다른 유형의 관리적인 동작들과 같은 기능을 수행할 수 있다. 포털 플랫폼과 포틀렛 프록시간의 양방향 통신은 이러한 목적을 위해 사용된다.
도 3a 및 3b는 전개 인터페이스 사양 및 시스템 인터페이스 사양을 설명하는 샘플 WSDL 문서를 각각 제공한다. 관련 발명들의 바람직한 실시예에 따르면, 전개 및 시스템 포트 유형들은 WSDL 문서로서 기술되고, 이는 그 후에 레지스트리에 등록될 수 있다. 도 3a의 WSDL 문서의 부분(310)에 보여지는 바와 같이, 예시적인 전개 인터페이스의 명칭은 "Deployment"이고, "getDisplayName" 및 "getDisplayIcon6x16"과 같은 동작을 포함한다( 요소(330) 참조). 이러한 동작들은, 예를 들어, 웹 서비스 구성 툴의 팔레트(palette)상에 배치하기 위해 웹 서비스를 상징하는 그래픽 이미지를 검색하고 웹서비스의 기술적(descriptive) 명칭을 검색하기 위해 사용된다. WSDL 사양서에 따르면, 서비스와 통신하기 위해 사용되는 입력 및 출력 메시지들은 "<message>" 요소(320)에 지정되어 있으며, 이러한 메시지들에 의해 사용되는 파라미터들은 "<part>" 요소로서 정의된다. 따라서, 메시지 요소는 이러한 포트 유형에 지정된 각 동작의 각 메시지에 대해 정의된다. (WSDL 문서의 상세사항에 대한 좀더 자세한 정보를 위해서는 WSDL 사양서를 참조하기 바란다.)
도 3b의 WSDL 문서(350)는 시스템 인터페이스를 정의하는데, 예에서, 명칭은 "System"(요소 360) 이다. 이러한 예에서, "Event"라는 복잡한 데이터 명칭이 정의되는데 (요소 370 참조), 이는 2개의 스트링 파라미터와 날짜 파라미터를 포함한다. 이러한 데이터 유형은, 예를 들어, 검사(audit) 로그 파일에 기록될 로깅 데이터를 주고받을 때 사용될 수 있다. "logEvent" 동작이 또한 정의되는데(요소 390 참조), 이러한 예에서는 Event 유형의 파라미터를 갖는 "logEventReceive" 메시지(요소 380 참조)를 이용하여 호출되는 한-방향 동작이다. 또한, 상기 예는 2개의 메시지 "reportInput"과 "reportOutput"을 갖는 "reportUsage" 동작을 정의한다.
본 발명의 바람직한 실시예는 전개 인터페이스를 집합화된 웹서비스에 관한 공급 정보를 포함하도록 확장시킬 수 있다. 본 발명의 범위를 벗어나지 않는 범위에서, 대안적으로, 이러한 목적을 위해 별개의 공급 인터페이스가 정의될 수도 있다. 도 5a 내지 5e에 샘플 공급 인터페이스 사양서(500)가 도시되어 있다. 여기에 개시된 바와 같이, WSDL 문서로서 공급 포트 유형 또는 인터페이스를 기술함으로써, 웹서비스를 위한 공급 정보는 프로그램적으로 레지스트리에 등록될 수 있으며, 공급 인터페이스에 대한 정보는 실행 시간에 프로그램적으로 파악되거나 바인딩될 수 있다.
공급 인터페이스가 전개 인터페이스의 확장으로 구현된다면, 특정 웹서비스에 대한 인터페이스 사양서는 바람직하게는 전개 인터페이스 정의의 공급 포트유형 요소내에 그 동작을 기술한다. 예를 들어, 전개 인터페이스 사양서(도 3a의 300)는 배치 포트유형(portType) 요소를 포함하도록 확장될 수 있다. 이러한 방식을 이용하면, 도 5a 내지 5e에 설명된 샘플 메시지 사양서들이 전개 사양서( 도 3a의 요소(320)에 도시됨)내에 정의된 다른 메시지들에 추가될 수 있으며, 도 5d 및 5e에 설명된 것과 같은 추가적인 포트유형 요소는 전개 동작을 위한 포트유형(330)과 함께 기술될 수 있다. 대안적으로, 공급을 위해 별개의 WSDL 문서가 구체적으로 제공될 수 있으며, 이러한 별개의 문서는 그 자신의 <types>요소, <schema> 요소 등을 갖추고 있다. 이러한 대안에서, WSDL 문서의 <definitions> 요소는 도 5a 내지 5e의 인터페이스 사양서에 설명된 것과 같은 공급 메시지 및 동작들로 이루어진다.
WSDL 사양서에 따르면, 웹서비스와 통신하기 위해 사용되는 입력 및 출력 메 시지는 "<messages>" 요소에 기술되며, 이러한 메시지들에 의해 사용되는 파라미터들은 "<part>" 요소로서 정의된다. 따라서, 이러한 포트 유형에 대해 지정된 각 동작의 각 메시지에 대해 메시지 요소가 정의된다. (WSDL 문서의 상세사항에 대한 좀더 자세한 정보를 위해서는 WSDL 사양서를 참조하기 바란다.)
관련 발명들에 기재된 바와 같이, 다른 웹 서비스들(즉, 세부-서비스들)로 이루어진 집합화된 웹서비스를 실행하는데 관련된 동작들을 모델링하기 위해 바람직하게는 직접 그래프(direct graph)가 사용된다.
선택된 포틀렛 동작들은 그래프의 노드를 나타내고, 노드들을 연결시키는 그래프 에지는 하나의 서버스 동작 또는 프로세스로부터 또다른 것으로의 잠재적인 전이를 나타낸다. 이러한 서비스 링크는 하나 이상의 전이 조건 및 또한, 적용될 수 있다면, 데이터 매핑 정보로 한정될 수 있다. 조건은 다음에 연결되는 서비스가 어떠한 조건하에서 호출되어야 하는지를 규정한다. 종종, 이러한 조건들은 이전 서비스 호출의 결과를 이용하여 판단될 것이다. 데이터 매핑은 포틀렛 포트 유형간의 동작을 연결시키고 하나의 동작으로부터 또다른 동작에 데이터를 전송할 수 있는 능력을 일컫는다. 예를 들어, 데이터 매핑 정보는 하나의 서비스의 출력 파라미터가 또다른 서비스의 입력 파라미터에 매핑되는 것을 나타낼 수 있다.
바람직하게는, 이러한 직접 그래프 지원을 위해 웹서비스 흐름 언어(Web Services Flow Languages: "WSFL")가 도입된다. 구체적으로, 직접 그래프를 이용하는 WSFL의 지속적인 저장 기법 및 실행 시간 평가 기법이 서비스 구성자에 의해 생성된 그래프에 대해 작동하기 위해 웹 서비스 스택에 추가될 수 있다. WSFL의 상세한 설명에 대해서는, WSFL 사양서를 참조하기 바라며, 이는 "Web Services Flow Language (WSFE 1.0)"(Prof. Dr. F. Leyman 작성, 2001/5)라는 제목으로, 인터넷상에서 IBM의 주소 http://www-4.ibm.com/software/solutions/webservices/pdf/WEFL.pdf에서 이용가능하며, 이는 전체로서 본 명세서의 일부로 통합되어 있다.
관련 발명들에 개시된 바와 같이 서비스 통합을 위한 웹 서비스 스택 방식이 도 4에 도시되어 있다. 웹서비스 스택(400)은 바람직하게는 서비스를 정의하고 실행하기 위해 WSFL 서비스 흐름 지원(410)을 이용하고, 서비스 발견(420) 및 서비스 공표(430)는 바람직하게 UDDI를 이용하여 제공된다. 웹서비스 스택은 서비스 기술 문서를 지원하기 위해 WSDL층(440)을 또한 포함한다. XML-기반 메시징(450)을 제공하기 위해 SOAP가 사용될 수 있다. 네트워크 지원(460)을 위해 HTTP, 파일전송프로토콜(FTP), 이메일, 메시지 큐잉(message queuing: MQ) 등이 사용될 수 있다. 관련 발명들에서 설명된 바와 같이, 웹서비스 포트 유형을 정의하고 이러한 포트 유형들의 동작을 어떻게 호출할 것인지를 정의하기 위해 WSDL이 사용되고, 웹 서비스를 통합하기 위해 (그리고, 이에 따라 그들의 인터페이스를 통합하기 위해) WSFL이 사용된다. 실행시간에, UDDI 서비스 파악 프로세스를 이용하여 레지스트리 내에서 서비스가 발견되고, 그들의 WSDL 정의의 정보를 사용하도록 바인딩된다. 그 다음에, WSFL 실행 시간은 이러한(포트 유형) 정의를 사용하여 서비스를 통합한다. (전형적으로 동작의 특징들은 일대일로 매치되지 않기 때문에, 관련 발명들에서 설명된 바와 같이 단순한 방식으로 인터페이스들을 매핑하기 위해 WSFL 사양서에 정의된"플러그 링크(plug link)"메커니즘이 프록시 모델에 사용될 수 있으며, 이에 의해 동작 인터페이스들간에 대응성을 제공한다. 관련 발명들은 웹 서비스를 구현하기 위해 통합 포틀렛 프록시의 영속적인 정의로서 이러한 플러그 링크 메커니즘을 이용하는 것을 개시한다.)
웹서비스로서 전개될 소프트웨어 자원의 소스 코드를 생성하는 개발자는 인증, 허가, 및/또는 해당 서비스에 의해 제공될 구성 방법들을 규정한다. 그리고 나서, 서비스는 관련 발명들에 개시된 바와 같이 집합화될 수 있으며, 본 발명의 기술들은 집합화된 서비스를 공급하기 위해 사용될 수 있다. 예를 들어, 인간 사용자를 위해 이메일 서비스를 제공하기 위해 집합화된 서비스가 설계된다고 가정한다. 사용자의 이메일 계정을 개설하기 위한 세부 서비스가 제공될 수 있다. 전형적으로, 이러한 계정 개설세부 서비스는 사용자의 전체 성명, 그 사람에 연관될 이메일 사용자 식별자, 그 사람이 자신의 이메일 계정을 액세스할 수 있는 패스워드와 같은 입력 정보와, 때에 따라서는 이러한 사용자 이메일 메시지에 할당되어야 하는 저장량과 같은 구성 정보를 필요로 할 것이다. (저장된 패스워드는, 사용자가 집합화된 이메일 서비스의 또다른 세부 서비스를 이용하여 자신의 이메일 메시지를 액세스할 때 그를 인증하기 위해, 사용자 식별자와 공동으로, 이후에 사용될 수 있다.) 또한, 액세스 권리 정보가 계정 개설 세부 서비스에 대한 입력으로서 제공될 수 있다. 예를 들어, 시스템 관리자인 사용자에게는, 또다른 사용자에 대한 저장 공간 할당량의 증가, 또다른 사용자의 이메일 삭제 등과 같은 동작을 수행하기 위한 부가적인 액세스 권리가 주어질 수 있다. 각각의 세부 서비스에 의해 제공될 동작들과 그러한 동작들을 호출하기 위해 사용되는 메시지 및 파라미터들을 정의하기 위해 WSDL 문서가 사용될 수 있다.
관련 발명들에서 설명된 바와 같이, WSDL 문서를 생성하는 것은 인간 사용자에 의해 수행되거나, 프로그램 동작을 이용하여 수행되거나, 또는 이들의 조합을 통해 수행될 수 있다. (예를 들어, 인간 사용자는 포트 유형 명칭, 명칭 공간 정보의 위치 등과 같은 정보를 공급하도록 요구받을 수 있고, 프로그램 동작은 소트웨어 자원의 퍼블릭(public) 메소드에 대한 <operation>과 <message>를 생성한다. IBM의 WSTK는 기존 소프트웨어 자원에 대한 WSDL을 프로그램적으로 생성하기 위해 사용될 수 있는 상업적으로 이용가능한 제품의 예이다. (IBM에 의해 인터넷상에 공개된 "The Web services (r)evolution: Part 4, Web Services Description Language (WSDL)", G. Glass (Feb, 2001)" (http://www-106.ibm.com/deloperworks/webservices/library/ws-peer4) 문헌을 참조하기 바란다. 이 문헌은 "gettemp"와 "setTemp"동작을 구비하는 간단한 날씨 서비스에 대한 WSDL 문서를 프로그램적으로 생성하는 예를 제공한다).
본 발명에 따라 동적으로 통합되는 서비스의 신원확인 시스템들을 결합시키기 위해, 각 서비스의 공급 인터페이스는 WSDL 문서를 이용하여 UDDI 레지스트리에 공표된다. 그 다음에, 집합화된 서비스의 공급 인터페이스는 집합을 구성하는 세부 서비스들의 인터페이스들로부터 수동적으로 또는 프로그램적으로 선택함으로써 생성될 수 있고, WSDL 문서는 이러한 새로운 공급 인터페이스를 위해 생성될 수 있으며, 되부름(recursive) 방식으로 공표될 수 있다.
단일화된 인증 및 허가 동작들은 분산된 서비스들의 파악 및 호출의 동적 특성에 의해 더욱 어렵게 된다. 본 명세서에 개시된 기술은 동작들이 WSDL 문서를 이용하여 확인되고 작업 흐름 정의내에서 SOAP 메시지를 이용하여 호출되는 웹 서비스 작업 흐름의 배경(context)내에서 집합화된 서비스가 공급될 수 있도록 함으로써 이러한 문제점을 해결한다.
집합화된 서비스들은 노출된 그들의 동작들에 대한 액세스를 충분한 증명서를 갖추고 노출된 인증 동작을 이용하여 이러한 증명서를 성공적으로 입증하는 사용자들로 제한할 수 있다. 또한, 집합화된 서비스들에 걸치는(span) 사용자 프로파일 생성을 가능케 해주고, 이러한 사용자 프로파일이 대응 서비스 동작들을 이용하여 질의되고, 변경되고, 및/또는 삭제되는 것을 선택적으로 허용해주는 것이 유용할 수 있다.
도 5a 내지 5e에 도시된 샘플 메시지 및 동작들이 본 발명이 어떻게 분산 컴퓨팅 환경에서 집합화된 서비스의 공급을 가능케 하는지를 설명하는기 위해 사용될 것이다. (본 기술분야의 숙련자에게 자명한 바와 같이, 도 5a 내지 5e에 도시된 메시지 및 동작들과 그들의 파라미터들은 예시적인 목적으로만 제공된다. 실제적인 공급 인터페이스는 본 발명의 범위를 벗어나지 않고 다른 메시지 및 동작들을 포함할 수 있다.)
"InResolveProvisioningIDRequest" 메시지(502)는 서비스에 누가 인증된 특정 사용자 또는 개체인지에 대한 그의 견해(view)를 서비스에 질의하기 위해 사용될 수 있는 입력 요청 메시지를 설명한다. (이하에서는, 특별히 조건이 없는 한, 용어 "사용자"는 인간 사용자 또는 자동화된 서비스와 같은 프로그램 개체에 균등하게 적용되는 것으로 해석될 수 있다.) 메시지 사양서(502)는 이러한 요청이 스트링 타입의 "authToken" 이라는 명칭의 파라미터를 취하고 있음을 선언한다. 예를 들어, 인간 사용자가 집합화된 서비스에 인증되었으며, 집합화된 서비스는 그 사용자에 대한 인증 토큰 "X"를 보유하고 있다고 가정한다. 또한, 집합화된 서비스는 이러한 인간 사용자가 특정의 세부 서비스 "ServiceABC"에 어떻게 알려지는 지를 프로그램적으로 판단하기를 원한다고 가정한다. 집합화된 서비스는 해당 사용자에 대한 정보를 갖고 있는 공급 시스템을 파악할 필요가 있다. 메시지(502 및 504)는 이러한 기능을 제공하기 위해 사용될 수 있는데, 토큰 "X"는 "ServiceABC"의 "ResolveProvisioningID" 동작에 전달된다 (바람직하게는, 도 7a 내지 7b를 참조하여 설명되는 바와 같이, SOAP 메시지를 이용하여 이루어진다). 도 5d에 도시된 바와 같이, "ResolveProvisioningID"(552)는 "InResolveProvisioningIDRequest" 메시지(도 5의 요소(502) 참조) 뿐만 아니라 "OutResolveProvisioningIDResponse" 메시지(도 5a의 요소(504) 참조)를 구비한 동작이다. "OutResolveProvisioningIDResponse" 메시지(504)는 (스트링 타입의) "Identifier"라는 명칭의 파라미터를 리턴하는 것으로 정의되어 있다. 바람직하게, 리턴된 식별자는 원격 공급 시스템의 식별자이다. 이러한 식별자는, 상기 경우와 같이, 사용자 프로파일 또는 서비스 구성 정보를 관리하고 있는 공급 시스템을 지정하기 위해, 후속 동작들에 대한 입력 파라미터로서 사용될 수 있다. (예를 들어, 이하에서 설명되는 메시지(506, 510 및 526)를 참조하기 바란다.)
이제, 도 7a 및 7b를 참조하면, 본 발명의 바람직한 실시예들이 웹서비스들간에 통신을 위해 SOAP 메시지를 사용하는 것이 설명된다. 예시적인 SOAP 메시지(700)는 종래 기술에 따라 그 헤더에 디지털 서명을 수반하는 SOAP 인벨로프를 포함한다. 도 7a에 헤더(710)와 디지털 서명(720)이 보인다. 이러한 디지털 서명은 SOAP 메시지 본문에 담겨진 서비스 요청을 제출한 요청자의 인증을 위해 사용될 수 있다. 도 7b에 메시지 본문(730) 및 요청(740)이 보인다. 이러한 샘플 메시지(700)에서, 메시지 본문은 "GetLAastTradePrice" 메시지를 기술하는데, 이에 대한 <m:symbol> 자식 요소는 "IBM" 값을 갖는다. 이는 주식 시세 서비스의 호출이고, 이 서비스는 사용자의 인증을 필요로 하는 것으로 가정될 수 있다. 따라서, 사용자의 디지털 서명이 SOAP 헤더로 공급되었다. (이러한 방식으로 SOAP 메시지를 사용하는 것에 대한 좀더 상세한 정보에 대해서는, "SOAP Security Extensions: Digital Signature, W3C NOTE 2001/02/06"(인터넷 주소 http://www.w3.org/TR/SOAP-dsig/)를 참조하기 바란다.)
본 실시예는 집합화된 서비스의 사용자를 인증하는 것에 관련된 정보를 전하고, 이러한 사용자들의 권한을 판단하고, 및/또는 집합화된 웹서비스를 구성하기 위해 디지털 서명 기술을 도입한다.
도 5a의 샘플 공급 인터페이스 메시지에 대한 설명으로 돌아와서, "InResolveUserRequest" 메시지(506)는 특정 서비스에 액세스하도록 권한 부여된 사용자 집합을 판단하기 위해 사용되는 입력 요청 메시지를 설명한다. 예에서, 인증 토큰이 질의되는 서비스에 전달되고, 이 메시지에서, 바람직하게는 정보 요청자(즉, 권한있는 사용자 정보를 요청하는 프로그램 개체 또는 인간 사용자)를 인증하는 역할을 한다. "provID" 파라미터는 서비스 제공자에 의해 호스팅되는 공급 시스템의 주소(예, "URI")를 제공하는데 사용된다. 서비스의 "ResolveUsers" 동작( 도 5d의 요소(554) 참조)은 "InResolveUsersRequest" 메시지(506)를 수신하고 "OutResolveUsersResponse" 메시지(508)로 응답한다. 예에서, 이러한 출력 메시지(508)는 "UserSet"이란 명칭의 어레이를 리턴하는 것으로서 정의된다. 메시지(508)의 부분 요소의 신택스 "SOAP-ENC"는 명칭공간 접두어(namespace prefix)이고, 어레이 정의를 한정하기 위해 사용된다. (이러한 출력 어레이는 "ResolveUsers" 동작(554)을 호스팅하는 특정 서비스의 권한있는 사용자들을 추측 식별하고, 이 동작은 UDDI를 사용하고 SOAP 메시지를 이용하여 호출되는 것으로 한정된다. "ResolveUser" 동작이 실행되면, 공급 시스템에게 권한있는 사용자의 판단을 수행하도록 요청할 수 있다.)
"InCreateUserProfileRequest" 메시지(510)는 사용자 프로파일을 생성하는 입력 요청 메시지의 인터페이스가 어떻게 설계될 수 있는지를 보여준다. 다른 예시적인 메시지처럼, 이는 원격 서비스에 전달되는 입력 파라미터의 하나로서 인증 토큰을 포함하여, 원격 서비스가 정보 요청자를 인증하고 이 요청자가 "InCreateUserProfileRequest" 메시지(510)를 드러내는 "CreateUserProfile"(556) 서비스를 사용할 권한이 있는지를 판단할 수 있도록 해주는 것이 유익하다. "provID" 파라미터는, 전술한 바와 같이, 공급 시스템의 URI 또는 다른 어드레스를 제공하는데 사용될 수 있으며, 사용자의 프로파일은 이 공급 시스템에 저장될 것이 다. "userID" 파라미터는 바람직하게는 프로파일이 생성되는 인간 사용자 또는 프로그램 사용자를 식별해준다. " password" 파라미터는 이 사용자에 연관된 패스워드를 확립하기 위해 제공될 수 있다. ( 필요한 경우에는, 패스워드 이외의 신용증명이 이러한 목적으로 사용될 수 있다.) 기반 서비스의 필요에 따라서는, 사용자의 전체 명칭이 "FullName" 파라미터로 전달될 수 있다. 마지막으로, 이러한 샘플 메시지에서, 사용자의 액세스 권한은 어레이로서 제공된다. "CreateUserProfile" 동작(556)은 "IncreateUserProfileRequest" 메시지(510)를 수신하고, "OutCreateUserProfileResponse" 메시지(512)로 응답한다. 이러한 예에서, 이러한 출력 메시지(512)는 프로파일 생성의 성공 여부를 나타내는 불린(Boolean) 값을 리턴한다.
"InQueryUserProfileRequest" 메시지(514)는 사용자의 기저장된 프로파일로부터 정보를 검색하는데 사용되는 입력 요청 메시지이다. 메시지 파라미터는 정보 요청자를 인증하기 위한 인증 토큰 "authToken"과, 프로파일이 저장되는 공급 시스템을 식별하기 위한 공급 식별자 "provID"와, 프로파일 정보가 요청되는 사용자를 식별해주는 사용자 식별자 "UserID"를 포함한다. 이 메시지(514)는 "QueryUserProfile (558) 서비스에 대한 입력 인터페이스로서 제공되며, 이러한 예의 "OutQueryUserProfileResponse" 메시지(516)는 저장된 프로파일로부터 사용자 패스워드, 전체 명칭, 액세스 권한을 리턴한다.
"InUpdateUserProfileRequest" 메시지(518)는 "InCreateUserProfileRequest" 메시지(510)와 유사하고, 상기 예와 동일한 파라미터를 사용한다. "UpdateUserProfile" 동작(560)은 "InUpdateUserProfileRequest" 메시지(518)를 수신하고 "OutCreateUserProfileResponse" 메시지(512)와 유사한 "OutUpdateUserProfileResponse" 메시지(520)로 응답한다. 이 예에서, 이러한 출력 메시지(520)는 프로파일 갱신(update)의 성공 여부를 나타내는 불린값(boolean value)을 리턴한다.
"InDeleteUserProfileRequest" 메시지(522)와 "OutDeleteUserProfileResponse" 메시지(524)는 "DeleteUserProfile" 동작(562)의 입력 및 출력 인터페이스로서 제공되고(도 5e 참조), 프로파일이 "CreateUserProfile" 동작(556) 및 "UpdateUserProfile" 동작(560)으로 생성되거나 갱신되는 것과 유사한 방법으로 사용자 프로파일의 삭제를 가능케 할 수 있다.
전술한 바와 같은 인증 및 허가 메시지에 부가하여, 집합화된 웹 서비스의 구성에 관한 메시지 및 동작을 정의하는 것이 또한 유용하다. 도 5e에 "SetConfigParameter"(564) 및 "GetConfigParameter"(566) 동작의 예가 도시되어 있다.
"setConfigParameter"(564) 동작의 샘플 입력 메시지는 "InSetConfigParameterRequest"(526)이고, 샘플 출력 메시지는 "OutSetConfigParamterResponse"(528)이다. 상기 예의 입력 메시지(526)는 요청자에 대한 인증 토큰 "authToken"과, 파라미터값이 저장되어야 하는 공급 시스템을 식별하는 공급 식별자 "provID"와, 이러한 파라미터에 연관되어야 하는 사용자를 식별하는 사용자 식별자 "userID"와, 구성 파라미터의 명칭 "parameterName"과 값 "parameterValue"를 포함한다. 출력 메시지(528)는 "SetConfigParamter" 동작이 성공하였는지를 나타내는 불린값 "result"를 리턴한다.
"GetConfigParameter" (566) 동작에 대한 샘플 입력 메시지는 "InGetConfigParameterRequest"(530)이고, 샘플 출력 메시지는 "OutGetConfigParameterResponse"(532)이다. 상기 예에서 입력 메시지(530)는 "parameterValue" 파라미터가 생략되는 것만 제외하고는 "InSetConfigParameterRequest" 메시지(526)의 입력 파라미터와 동일한 입력 파라미터를 갖는다. 출력 메시지(532)는 "parameterValue" 파라미터를 이용하여 요청된 파라미터의 값을 리턴한다.
이제, 도 6을 참조하면, 본 발명의 바람직한 실시예에 따라, 집합화된 서비스 및 웹 서비스 작업 흐름 배경(context)내에서 그의 세부 서비스들의 식별 및/구성 동작들을 실행시키는데 사용되는 로직이 도시되어 있다.
본 발명에 따라,"통합 로그인(unified login)" 또는 단일 사인-온(sign-on) 능력이 집합화된 서비스에 제공될 수 있으며, 집합화된 서비스의 공급 인터페이스가 집합화된 서비스를 실행시키는 시작 시점에 사용자로부터 요구된 모든 정보를 간청하는데 사용될 수 있다. (자명하겠지만, 실행중에 사용자로부터 일부 정보가 요청될 필요가 있을 때가 발생할 수 있으며, 따라서 본 발명은 이러한 요청을 최소화시키는 것을 가능케 하는 것으로 고려되어야 할 것이다.)
집합화된 WSFL 작업 흐름내에서 순차적으로 정의되는 동작들은 작업 흐름 정의에 따라 실행된다. 사용자로부터 획득된 로그인 정보는 바람직하게는 로그인 정보의 개별 요소들이 관계하는 세부 서비스에 의해 사용되기 위해 "스택된다(stacked)". 모듈의 스택화는 단일 사인-온 능력을 제공하는 신원확인(identity) 시스템 및 인증 시스템에 익숙한 이들에게는 공지되어 있다. 스택화는 암호화키로서"제1의(primary)" 패스워드를 사용하며, 따라서 암호화된 정보는 하나 이상의 "제2의(secondary)" 패스워드를 포함하는 것을 일컫는다. 스택화 프로세스가 본 발명에서 사용되면, 제2의 패스워드는 세부-서비스들에 사용되는 패스워드이며, 제1의 패스워드는 집합화된 서비스의 범위에 적용되고 제2의 패스워드를 보호한다. 세부 서비스들은 WSFL 정의에 따라 지정된 순서로 불려지며, 그런 후에 스택화된 패스워드가 언스택(unstack)되어 적합한 인증 또는 인증 세부 서비스에 제시된다.
이 프로세스는 도 6의 사용자 식별자 및 패스워드(또는 이와 유사한 유형의 인증 입력)가 획득되는 블록(600)에서 시작한다. (본명세서에서 언급되는 "패스워드"는 지원될 수 있는 신용증명(credentials)의 유형을 제한하는 것으로 해석되는 것은 아니다. 신용증명은 클리어 텍스트, 암호화된 스트링, 티켓, X.509 증명서와 같은 공중키 보안 증명서를 포함하는 다양한 방식으로 제공될 수 있다.) 이러한 인증 정보는 원격 서비스에 대한 입력으로 전달될 수 있으며, 인증 동작이 호출되면, 인증 토큰을 생성할 것이다(블럭 610).
바람직하게, 블록(610)에서 생성된 인증 토큰은 XML 프래그먼트로서 생성되고, 이는 SOAP 메시지 헤더에 포함될 수 있다. 이러한 방식으로, 사용자 신원확인은 웹서비스에 액세스할 때 전달될 수 있다. 도 7a 내지 7b의 샘플 SOAP 메시지(700)를 참조하면, 이는 디지털 서명이 XML 구문을 이용하여 SOAP 헤더에 어 떻게 포함되는지를 보여준다. (도시된 바와 같이, 디지털 서명 토큰은 제한된(qualified) 명칭공간을 사용하고, 이에 따라서 "ds" 문자가 앞선다.) 인증 시스템 및 정책 시스템은 또한 SOAP 메시지를 이용하여 서비스 동작에 바인딩될 수 있다. 바람직하게, WSDL 기재사항은 SOAP 헤더와 본문의 조합으로서 동작을 모델링한다. 즉, 신원 증명을 필요로 하는 모든 동작은 바람직하게는 사용자 신용증명서가 교환될 것을 요구한다. 상기 예에서 사용된 SOAP 보안 확장 기술은 이것이 어떻게 달성되는가에 대한 한가지 예이다. 보안 연관 마크업 언어(Security Assciation Markup Language: SAML), 일반 보안 서비스(Generic Security Services:GSS) API, 공통 보안 호환성(Common Secure Interoperability:"CSI") 구조는 제1의 신용증명서를 안전하게 교환하기 위한 수단을 또한 제공한다. (SAML 버전은 인터넷상에 http://www.oasis-open.org/committees/security/docs/draft-sstc-saml-spec-00.PDF, (2001.4.11))에서 찾을 수 있다. GSS-API는 RFC 2743, "Generic Security Service Application Program Interface, Version 2, Update 1"에 정의되어 있다. CSI는 "Common Secure Interoperability V2 Specification"에 정의되어 있으며, 이는 인터넷상에서 http://www.omg.org/cgi-bin/doc?ptc/2001-03-02d에서 이용가능하다.
블록(600)에서 획득된 입력 정보를 이용하여 블록(610)에서 생성된 토큰은 본명세서에서 "범용" 인증 토큰으로 지칭되는데, 이는 바람직하게는 집합화된 서비스의 다양한 세부 서비스들에 사용자를 식별해주기 위해 이후에 사용될 수 있는 사용자의 대리(surrogate)로서 역할을 하기 때문이다. (즉, 이 토큰은 바람직하게는 임의의 한가지 세부 서비스 또는 동작에 특정되지 않는다.)
블록(620)의 테스트는 이러한 사용자가 (여전히) 전체적으로(즉, 집합화된 서비스에 대하여) 인증된 것인지를 알아보기 위해 검사한다. 바람직한 실시예에서, 일단 사용자기 인증되면, 그/그녀의 신용증명서는 상기 흐름의 나머지 부분에 대한 요청(즉, 집합화된 서비스에 따른 호출)에 연관되어 있다. 그러나, 도 6의 로직은, 예를 들어, 흐름 모델에 지정된 동작 순서중에 로그오프할지도 모르는 사용자를 위해서, 블록(620)의 테스트를 1번 이상 수행하도록 설계된다. 테스트 결과가 부정적이라면, 이 사용자는 계속해서 집합화된 서비스를 작동시키도록 허용되지 않으며, 바람직하게는 오류 코드가 리턴되고(블럭 640), 도 6의 프로세싱은 종료한다. 테스트가 긍정적인 결과를 가지면, 프로세싱은 블록(630)에서 계속되며, 블록(630)은 사용자가 국부적으로(locally) (즉, WSFL 흐름 모델에 따라 판단되어 수행될 다음 서비스에 대하여) 인증되어 있는지를 알아보기 위해 테스트한다. 이 테스트가 부정적인 결과를 가지면, 제어는 블록(650)으로 전달되고, 그렇지 않은 경우에는 블록(670)으로 전달된다.
블록(650)에서, 수행될 다음 동작에 대한 스택화된 신원확인 정보가 검색된다. 검색된 정보는 다음 동작의 인증 서비스에 전달되고, 이는 상기 신원확인 정보를 이용하여 동작에 특정되는 토큰을 생성(또는 검색)한다.
블록(660)에서, 동작에 특정되는 토큰은 (도 7a 및 7b에 기재된 바와 같이) SOAP 헤더를 사용하여 호출자에게 리턴된다. (도 5a 내지 5c의 응답 메시지들은 인증 토큰을 리턴하는 것에 대하여 기재하지 않지만, 필요하면 이러한 토큰이 추가될 수 있다.) 다음, 블록(670)은 상기 수신된 동작-특정된 토큰을 사용하여 사용자의 동작-특정된 인증여부를 판단한다. (사용자들은 특정 부류의 동작들에 대해 그들의 신용증명을 판단하는 다수의 역할을 가질 수도 있다. 관리자인 사람은 그의 관리자 역할로서 행동할 때 자신의 직원들의 인사 기록을 볼 수 있도록 허용될 수 있지만, 1가지 예로서, 직원으로서 자신의 역할을 수행할 때에는 동일한 동작을 사용하여 자신의 인사 기록을 보는 것이 허용되지 않을 수도 있다.) 바람직하게, 블록(670)에서의 인증 호출은 블록(660)에서 수신된 동작-특정되는 토큰을 전달하기 위하여, SOAP 헤더를 또한 사용한다. 인증 동작의 결과가 사용자가 집합화된 서비스중 다음에 수행될 동작에 대해 인증되었음을 나타낸다면, 프로세싱은 블록(680)으로 진행한다. (그렇지 않으면, 오류가 발생하고/하거나 흐름이 다른 동작으로 진행할 수 있다. 구체적인 프로세싱은 구현에 따라 달라질 수 있으며, 따라서 도 6에는 도시되지 않는다.) 본 기술분야의 당업자에게는 적절한 로직이 도 6에 어떻게 추가될 수 있을 지가 자명할 것이다.)
블록(680)은 다음 순서의 동작을 호출한다. 이러한 호출은, 사용자 신용증명이 필요한 경우에, 블록(660)에서 수신된 동작-특정된 토큰을 전달하기 위하여, SOAP 헤더를 또한 이용할 수 있다. (인증 토큰이 블록(670)의 처리 결과로서 수신된다면, 토큰은 블록(650)의 토큰에 부가하여 또는 그 대신에 전달될 수 있다.) 동작이 완료된 후에, 블록(690)은 순서상 동작이 또 있는지를 알아보기 위해 검사한다. 그렇지 않다면, 도 6의 프로세싱은 종료한다. 반대의 경우에, 제어는 블록(620)으로 돌아가서 사용자가 집합화된 서비스에 대하여 여전히 인증되어 있는지를 판단하다. (그 후에, 전술한 바와 같이, 블록(630)은 다음 서비스에 대해 사용자가 인증되어 있는지를 판단할 것이다.)
이제껏 증명된 바와 같이, 본 발명은 집합화된 웹서비스를 공급하기 위해 유용한 기술을 제공한다. SOAP 헤더가 신원확인 정보를 전달하기 위해 바람직하게 사용된다. 개시된 기술은 상이한 종류의 신원확인 시스템이 웹서비스의 동적인, 실행시간 통합 환경에서 결합되는 것을 가능케 해준다. 개방형 표준이 도입된다. 본 발명의 바람직한 실시예를 설명하기 위해 (WSFL 및 SOAP와 같은) 구체적인 표준이 참조되었지만, 이는 본 발명의 발명 개념을 설명하기 위한 목적일 뿐이다. 본 발명의 범위를 벗어나지 않고 유사한 기능을 제공하기 위한 대체 수단이 사용될 수 있다.
본 기술분야의 숙련자들에 의해 이해되는 바와 같이, 본 발명의 실시예들은 방법, 시스템 또는 컴퓨터 프로그램 제품으로서 제공될 수 있다. 따라서, 본 발명은 전체가 하드웨어 구현으로, 전체가 소프트웨어 구현으로 또는 소프트웨어 및 하드웨어 특징을 조합한 구현으로 될 수 있다. 또한, 본 발명은 내부에 컴퓨터 사용가능 프로그램 코드가 내장된 (디스크 저장장치, CD-ROM, 광 저장장치 등을 포함하는(이에 제한되는 것은 아닌)) 하나 이상의 컴퓨터 사용가능 저장 매체상에 구현되는 컴퓨터 프로그램 제품의 형태를 취할 수 있다.
본 발명은 본 발명의 실시예에 따른 방법, 장치(시스템), 및 컴퓨터 프로그램 제품의 흐름도 및/또는 블록도를 참조하여 설명되었다. 흐름도/블록도의 각각의 단계 및/또는 블록 및 이들의 조합은 컴퓨터 프로그램 명령어에 의해 구현될 수 있음을 이해할 것이다. 이러한 컴퓨터 프로그램 명령어들은 범용 컴퓨터, 특수목적 컴퓨터, 머신을 형성하기 위한 내장형 프로세서 또는 다른 프로그래머블 데이터 처리 장치에 제공되며, 명령어들은 컴퓨터 프로세서 또는 다른 프로그래머블 데이터 처리 장치를 통해 실행되고, 이는 흐름도 또는 흐름 및/또는 블록도 또는 블록에 지정된 기능드를 구현하기 위한 수단을 생성한다.
또한, 이러한 컴퓨터 프로그램 명령어들은 컴퓨터 또는 다른 프로그래머블 데이터 처리 장치가 특정의 방식으로 기능하도록 지시하여, 컴퓨터 판독가능 메모리에 저장된 명령어들이 흐름도의 흐름 및/또는 블록도의 블록에 지정된 기능을 구현하는 명령어 수단을 포함하는 제조물을 산출하도록 한다.
또한, 컴퓨터 프로그램 명령어들은 컴퓨터 또는 다른 프로그래머블 데이터 처리 장치에 로드되어 일련의 동작 단계들이 컴퓨터 구현 프로세스를 산출하기 위해 컴퓨터 또는 다른 프로그래머블 장치상에서 수행되도록 야기하여, 컴퓨터 또는 다른 프로그래머블 장치를 실행시키는 명령어들이 흐름도의 흐름 및/또는 블록도의 블록에 지정된 기능을 구현하기 위한 수단을 제공하도록 한다.
본 발명의 바람직한 실시예들이 기재되었지만, 본 기술분야의 당업자들이 본 발명의 기본 개념을 습득한다면 이들에 의해 상기 실시예에 부가적인 변형 및 변경이 발생할 수 있다. 따라서, 첨부된 청구항들은 본 발명의 바람직한 실시예 및 본 발명의 범위내에 속하는 이러한 모든 변형 및 변경을 모두 포함하도록 해석될 것이다.

Claims (21)

  1. 컴퓨터 네트워크에서 집합화된(aggregated) 서비스를 제공하는 컴퓨터-구현 방법에 있어서,
    상기 집합화된 서비스에 액세스를 요청하는 사용자의 증명서를 획득하는 단계와,
    네트워크-액세스가능한 레지스트리에서, 상기 집합화된 서비스에 대한 공급 인터페이스를 기재한 서비스 기재문서를 발견하는 단계 -상기 집합화된 서비스는 다수의 세부-서비스의 집합과, 상기 집합화된 서비스의 신원확인 기능을 어떻게 호출하는 지를 기재한 상기 공급인터페이스를 포함함- 와,
    상기 공급 인터페이스 내의 기재에 따라, 상기 사용자가 상기 집합화된 서비스에 액세스하도록 인증되었는지를 판단하기 위해 상기 하나 이상의 신원확인 기능을 호출(invoke)하여 상기 획득된 증명서(credential)를 분석하는 단계와,
    상기 분석 단계에서 상기 사용자가 상기 집합화된 서비스에 액세스하도록 인증된 사용자라는 것이 판단되면, 상기 사용자가 상기 집합화된 서비스를 액세스하도록 허용하는 단계
    를 포함하는 컴퓨터-구현 방법.
  2. 제1항에 있어서, 상기 집합화된 서비스의 신원확인 기능 각각의 구현은 상기 세부-서비스 중 적어도 하나에 의해 제공되는 컴퓨터-구현 방법.
  3. 제1항에 있어서,
    상기 적어도 하나의 세부-서비스는 로컬 공급 인터페이스 -상기 로컬 공급 인터페이스는 대응하는 서비스 기재 문서에 기재되며 상기 세부-서비스의 하나 이상의 신원확인 기능을 어떻게 호출하는 지에 대한 기재(specification)를 포함함- 를 가지며,
    상기 집합화된 서비스의 상기 공급 인터페이스 내의 상기 신원확인 기능은 상기 로컬(local) 공급 인터페이스에서 선택되며,
    상기 로컬 공급 인터페이스를 갖는 상기 세부-서비스 각각에 대한 액세스를 제어하는 단계를 더 포함하며,
    상기 제어단계는
    상기 로컬 공급 인터페이스 내의 기재에 따라, 상기 세부-서비스의
    상기 하나 이상의 신원확인 기능 중 적어도 하나를 호출하여, 상기 사
    용자가 상기 세부-서비스를 액세스하도록 승인되었는지를 판단하는
    단계와,
    상기 판단단계에서 상기 사용자가 상기 세부-서비스를 액세스하도록
    승인되었다고 판단하면, 상기 사용자에게 상기 세부-서비스를
    액세스하도록 허용해주는 단계를 포함하는 컴퓨터-구현 방법.
  4. 제3항에 있어서,
    상기 사용자의 증명서를 획득하는 단계는 또한 상기 로컬 공급 인터페이스를 갖는 상기 세부-서비스 중 적어도 하나에 대한 세부-서비스 증명서를 획득하며,
    상기 판단단계는 상기 획득된 세부-서비스 증명서를 이용하는 컴퓨터-구현 방법.
  5. 제1항에 있어서,
    적어도 하나의 상기 세부-서비스의 하나 이상의 동작(operation)은 액세스 -보호되었으며(acess-protected),
    상기 획득단계는 적어도 하나의 액세스-보호된 동작에 대한 상기 사용자의 동작-특정된(operation-specific) 증명서를 획득하는 단계를 더 포함하며,
    적어도 하나의 상기 각각의 액세스-보호된 동작에 대한 액세스를 제어하는 단계를 포함하며,
    상기 액세스를 제어하는 단계는,
    상기 공급 인터페이스 내의 상기 기재에 따라, 상기 사용자가 상기 액
    세스-보호된 동작에 액세스 가능한 지를 판단하기 위해, 상기 하나이
    상의 신원확인 기능을 호출하여 상기 획득된 동작-특정된 증명서
    를 분석하는 단계, 및
    상기 획득된 동작-특정된 증명서를 분석하는 단계는 상기 사용자가
    상기 액세스-보호된 동작을 액세스할 수 있다고 판단하면, 상기 사용
    자가 상기 액세스-보호 동작을 액세스하도록 허용하는 단계
    를 포함하는 컴퓨터-구현 방법.
  6. 삭제
  7. 제1항에 있어서,
    하나 이상의 상기 신원확인 기능을 호출하여 획득되는 신원확인(identity) 정보는 상기 집합화된 서비스의 상기 적어도 두 개의 세부-서비스 사이에 프로그램적으로 중계되는 컴퓨터-구현 방법.
  8. 제7항에 있어서, 상기 프로그램적 중계는, 메시지의 헤더에 상기 신원확인 정보를 기재하고, 상기 메시지의 본문에 서비스 요청을 기재하는 상기 메시지를 전송하는 단계를 포함하는 컴퓨터-구현 방법.
  9. 제8항에 있어서, 상기 메시지는 SOAP("Simple Object Access Protocol") 메시지인 컴퓨터-구현 방법.
  10. 제1항에 있어서, 상기 서비스 기재 문서는 마크업 언어로 기재되는 컴퓨터-구현 방법.
  11. 제10항에 있어서, 상기 마크업 언어는 웹서비스 기술 언어("Web Services Description Language: WSDL")인 컴퓨터-구현 방법.
  12. 제2항에 있어서, 상기 네트워크-액세스가능 레지스트리는 표준 메시지를 이용하여 액세스되는 컴퓨터-구현 방법.
  13. 컴퓨터 네트워크에서 집합화된 서비스를 제공하기 위한 시스템에 있어서,
    상기 집합화된 서비스의 공급 인터페이스를 정의하기 위한 수단과,
    서비스 기재 문서에 상기 공급 인터페이스를 기재하기 위한 수단과,
    상기 집합화된 서비스에 액세스를 요청하는 사용자의 증명서(credentials)를 획득하기 위한 수단과,
    네트워크-액세스가능 레지스트리에서, 상기 집합화된 서비스에 대한 공급 인터페이스를 기재한 상기 서비스 기재 문서를 발견하기 위한 수단 -상기 집합화된 서비스는 다수의 세부-서비스의 집합과, 상기 집합화된 서비스의 신원확인 기능을 호출하는 지를 기재한 상기 공급 인터페이스를 포함함- 과,
    상기 공급 인터페이스내의 기재에 따라, 상기 사용자가 상기 집합화된 서비스에 액세스하도록 인증되고 허가되었는지를 판단하기 위해 상기 하나 이상의 신원확인 기능을 호출하여 상기 획득된 증명서를 분석하기 위한 수단과,
    상기 분석 수단이 상기 사용자가 상기 집합화된 서비스에 액세스하도록 인증되고 허가된 사용자인 것이 판단되면 상기 사용자가 상기 집합화된 서비스를 액세스하도록 허용하기 위한 수단
    을 포함하는 시스템.
  14. 컴퓨터 네트워크에서 집합화된 서비스를 제공하기 위한 컴퓨터 프로그램이 기록된 컴퓨터 판독가능 기록매체에 있어서,
    상기 집합화된 서비스에 액세스를 요청하는 사용자의 증명서를 획득하기 위한 컴퓨터 판독가능 프로그램 코드와,
    네트워크-액세스가능한 레지스트리에서, 상기 집합화된 서비스에 대한 공급 인터페이스를 기재한 서비스 기재문서를 발견하기 위한 컴퓨터 판독가능 프로그램 코드 -상기 집합화된 서비스는 다수의 세부-서비스의 집합과, 상기 집합화된 서비스의 신원확인 기능을 호출하는 지를 기재한 상기 공급 인터페이스를 포함함- 와,
    상기 공급 인터페이스 내의 기재에 따라, 상기 사용자가 상기 집합화된 서비스에 액세스하도록 인증되었는지 또는 허가되었는지를 판단하기 위해 상기 하나 이상의 신원확인 기능을 호출하여 상기 획득된 증명서를 분석하기 위한 컴퓨터 판독가능 프로그램 코드와,
    상기 분석을 위한 컴퓨터 판독가능 프로그램 코드가 상기 사용자가 상기 집합화된 서비스를 액세스하도록 인증 또는 허가된 사용자인 것이 판단되면, 상기 사용자가 상기 집합화된 서비스를 액세스하도록 허용하기 위한 컴퓨터-판독가능 프로그램 코드
    를 포함하는 컴퓨터 판독가능 기록 매체.
  15. 제1항에 있어서, 상기 세부-서비스 중 적어도 하나의 구현은 실시간 동적으로 배치되는 컴퓨터-구현 방법.
  16. 제7항에 있어서, 상기 신원확인 정보는 상기 분석 단계의 결과로 초기에 획득되는 컴퓨터-구현 방법.
  17. 제7항에 있어서, 상기 신원확인 정보는 상기 호출된 신원확인 기능 중 하나에 의해 생성된 인증 토큰을 포함하는 컴퓨터-구현 방법.
  18. 제1항에 있어서,
    각 세부-서비스중 적어도 두 개는 액세스를 제어하기 위한 신원확인 시스템과 연관되어 있으며,
    상기 연관된 신원확인 시스템 중 적어도 두 개는 이종(heterogeneous)이며,
    상기 집합화된 서비스의 상기 신원확인 기능 중 선택된 적어도 하나는 상기 이종 신원확인 시스템 중 적어도 두 개를 동적으로 결합할 수 있는 컴퓨터-구현 방법.
  19. 제18항에 있어서,
    호출에 따라, 상기 적어도 하나의 선택된 신원확인 기능은 신원확인 시스템- 상기 신원확인 시스템과 연관된 세부-서비스의 사용자에 관련한 정보를 저장함- 을 식별하는 컴퓨터-구현 방법.
  20. 제19항에 있어서, 상기 동적 결합은, 상기 동적으로 결합된 신원확인 시스템 사이에서 상기 신원확인 시스템의 식별(identification)을 중계함으로써 달성되는 컴퓨터-구현 방법.
  21. 제1항에 있어서,
    상기 분석단계는 상기 사용자가 상기 집합화된 서비스를 액세스하도록 인증되었는지를 판단하는 단계를 더 포함하며,
    상기 허용단계는 상기 분석단계가 상기 집합화된 서비스를 액세스하도록 인증되고 허가되었는지를 판단하면 상기 사용자가 상기 집합화된 서비스를 액세스하도록 허용하는 단계를 더 포함하는 컴퓨터-구현 방법.
KR1020047001467A 2002-01-15 2002-12-11 분산 컴퓨팅 환경에서 집합화된 서비스의 공급 KR100600959B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/047,811 US7603469B2 (en) 2002-01-15 2002-01-15 Provisioning aggregated services in a distributed computing environment
US10/047,811 2002-01-15
PCT/GB2002/005626 WO2003060710A2 (en) 2002-01-15 2002-12-11 Provisioning aggregated services in a distributed computing environment

Publications (2)

Publication Number Publication Date
KR20040068106A KR20040068106A (ko) 2004-07-30
KR100600959B1 true KR100600959B1 (ko) 2006-07-13

Family

ID=21951105

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047001467A KR100600959B1 (ko) 2002-01-15 2002-12-11 분산 컴퓨팅 환경에서 집합화된 서비스의 공급

Country Status (11)

Country Link
US (1) US7603469B2 (ko)
EP (1) EP1483671B1 (ko)
JP (1) JP4594621B2 (ko)
KR (1) KR100600959B1 (ko)
CN (1) CN1291318C (ko)
AT (1) ATE353453T1 (ko)
AU (1) AU2002347391A1 (ko)
DE (1) DE60218069T2 (ko)
ES (1) ES2278066T3 (ko)
IL (1) IL162438A0 (ko)
WO (1) WO2003060710A2 (ko)

Families Citing this family (133)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035944B2 (en) * 2001-09-19 2006-04-25 International Business Machines Corporation Programmatic management of software resources in a content framework environment
US7343428B2 (en) * 2001-09-19 2008-03-11 International Business Machines Corporation Dynamic, real-time integration of software resources through services of a content framework
US7747856B2 (en) * 2002-07-26 2010-06-29 Computer Associates Think, Inc. Session ticket authentication scheme
US7266582B2 (en) * 2002-08-09 2007-09-04 Sun Microsystems, Inc. Method and system for automating generation of web services from existing service components
US7512975B2 (en) * 2002-08-16 2009-03-31 Intel Corporation Hardware-assisted credential validation
US20040064528A1 (en) * 2002-09-30 2004-04-01 Microsoft Corporation Safe interoperability among web services
CA2405673C (en) * 2002-09-30 2009-10-06 Ibm Canada Limited-Ibm Canada Limitee Provisioning web services
US8356067B2 (en) * 2002-10-24 2013-01-15 Intel Corporation Servicing device aggregates
US7178163B2 (en) * 2002-11-12 2007-02-13 Microsoft Corporation Cross platform network authentication and authorization model
SE0300368D0 (sv) * 2003-02-11 2003-02-11 Ericsson Telefon Ab L M System for internet privacy
US20040225656A1 (en) * 2003-05-07 2004-11-11 Panacea Corporation Web services method and system
JP5242915B2 (ja) * 2003-06-05 2013-07-24 インタートラスト テクノロジーズ コーポレイション ピア・ツー・ピアサービス編成ための相互運用システム及び方法
US7490127B2 (en) * 2003-06-13 2009-02-10 Microsoft Corporation Concurrent recipient resolution and certificate acquisition
US6959325B2 (en) * 2003-08-11 2005-10-25 Teamon Systems, Inc. System and method for generating configurations used for accessing electronic mailboxes
US7765540B2 (en) * 2003-10-23 2010-07-27 Microsoft Corporation Use of attribution to describe management information
US7539974B2 (en) * 2003-10-24 2009-05-26 Microsoft Corporation Scalable synchronous and asynchronous processing of monitoring rules
US7676560B2 (en) * 2003-10-24 2010-03-09 Microsoft Corporation Using URI's to identify multiple instances with a common schema
US7103874B2 (en) * 2003-10-23 2006-09-05 Microsoft Corporation Model-based management of computer systems and distributed applications
US7506307B2 (en) * 2003-10-24 2009-03-17 Microsoft Corporation Rules definition language
US7716357B2 (en) * 2003-10-24 2010-05-11 Microsoft Corporation Service discovery and publication
US7805713B2 (en) * 2003-10-27 2010-09-28 Hewlett-Packard Development Company, L.P. Transaction processing architecture
US7475125B2 (en) * 2003-11-24 2009-01-06 Microsoft Corporation Seamless discovery of workstation-installed remote applications from an extranet
US7590713B2 (en) * 2003-11-24 2009-09-15 Microsoft Corporation Presenting a merged view of remote application shortcuts from multiple providers
US7720906B2 (en) * 2003-11-24 2010-05-18 Microsoft Corporation Web service for remote application discovery
US7464142B2 (en) * 2003-12-12 2008-12-09 International Business Machines Corporation Port type agnostic proxy support for web services intermediates
ATE410873T1 (de) * 2003-12-12 2008-10-15 Ibm Agnostischer proxy-support des port-typs für web- dienste-zwischeneinrichtungen
US7676562B2 (en) * 2004-01-20 2010-03-09 Microsoft Corporation Computer system for accessing instrumentation information
DE102004004345A1 (de) * 2004-01-29 2005-08-18 Abb Research Ltd. System und Verfahren zur Kommunikation zwischen entfernten Objekten und lokalen Stellvertretern
CN101427220A (zh) * 2004-01-30 2009-05-06 国际商业机器公司 用于计算工具的计算环境的组件化自动供应和管理
JP4873852B2 (ja) * 2004-02-26 2012-02-08 株式会社リコー 第一の通信装置、情報処理装置、情報処理プログラム、記録媒体
US8862570B1 (en) 2004-03-02 2014-10-14 Rockstar Consortium Us Lp Method and apparatus for open management of multi-media services
US7975270B2 (en) * 2004-03-10 2011-07-05 International Business Machines Corporation Facilitating allocation of resources in a heterogeneous computing environment
US7467399B2 (en) 2004-03-31 2008-12-16 International Business Machines Corporation Context-sensitive confidentiality within federated environments
US7823192B1 (en) * 2004-04-01 2010-10-26 Sprint Communications Company L.P. Application-to-application security in enterprise security services
US20050228984A1 (en) * 2004-04-07 2005-10-13 Microsoft Corporation Web service gateway filtering
US8010783B1 (en) * 2004-04-15 2011-08-30 Aol Inc. Service provider invocation
US9088561B2 (en) * 2004-05-19 2015-07-21 Ca, Inc. Method and system for authentication in a computer network
US20060041669A1 (en) * 2004-05-19 2006-02-23 Lucent Technologies, Inc. Securing web services
US8615601B2 (en) * 2004-05-21 2013-12-24 Oracle International Corporation Liquid computing
US7774485B2 (en) * 2004-05-21 2010-08-10 Bea Systems, Inc. Dynamic service composition and orchestration
US8566461B1 (en) 2004-06-09 2013-10-22 Digital River, Inc. Managed access to media services
US20050283352A1 (en) * 2004-06-18 2005-12-22 Dieter Roller Evaluation of process expressions on the basis of deployment information
ATE405083T1 (de) * 2004-06-29 2008-08-15 Sap Ag Rechnersystem und datenverarbeitungsverfahren zum gebrauch eines webdienstes
US7739695B2 (en) * 2004-07-19 2010-06-15 Sap Ag Computer implemented method and system for running a plurality of business processes
US7647319B2 (en) * 2004-09-06 2010-01-12 Canon Kabushiki Kaisha Information processing apparatus, information processing method, program, and storage medium
US20060069995A1 (en) * 2004-09-30 2006-03-30 British Telecommunications Public Limited Company Personalised process automation
US7483994B1 (en) 2004-11-01 2009-01-27 Ameriprise Financial, Inc. System and method for creating a standard envelope structure
US7613830B2 (en) * 2004-12-10 2009-11-03 Microsoft Corporation Reliably transferring queued application messages
US20060136242A1 (en) * 2004-12-21 2006-06-22 International Business Machines Corporation Documents between services exchange and visualization of negotiation
US7657924B2 (en) * 2005-04-06 2010-02-02 International Business Machines Corporation Method and system for implementing authorization policies for web services
US7983209B2 (en) * 2005-04-18 2011-07-19 Research In Motion Limited System and method for producing notification based web services
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
US20060248082A1 (en) * 2005-04-29 2006-11-02 Amit Raikar Method and an apparatus for securely communicating between a management server and a managed node associated with a dynamic provisioning system
US8464317B2 (en) * 2005-05-06 2013-06-11 International Business Machines Corporation Method and system for creating a protected object namespace from a WSDL resource description
US8566462B2 (en) * 2005-05-12 2013-10-22 Digital River, Inc. Methods of controlling access to network content referenced within structured documents
US20060294383A1 (en) * 2005-06-28 2006-12-28 Paula Austel Secure data communications in web services
US8250226B2 (en) * 2005-07-21 2012-08-21 Ca, Inc. Generating one or more clients for generating one or more synthetic transactions with one or more web service operations
CN100401259C (zh) * 2005-08-15 2008-07-09 中兴通讯股份有限公司 一种分布式服务系统的服务提供方法
CN100454833C (zh) * 2005-08-19 2009-01-21 华为技术有限公司 一种识别网管接口参数的方法
US9626667B2 (en) 2005-10-18 2017-04-18 Intertrust Technologies Corporation Digital rights management engine systems and methods
CN102882677B (zh) * 2005-10-18 2015-11-25 英特托拉斯技术公司 数字权利管理的方法
CN100444148C (zh) * 2005-12-08 2008-12-17 北京北方微电子基地设备工艺研究中心有限责任公司 基于Web服务的工厂主机与集群控制器系统的控制方法
US8230487B2 (en) 2005-12-21 2012-07-24 International Business Machines Corporation Method and system for controlling access to a secondary system
ES2659651T3 (es) * 2006-01-17 2018-03-16 Microsoft Technology Licensing, Llc Integración ininterrumpida de múltiples entornos informáticos
EP1818820A1 (en) * 2006-02-03 2007-08-15 Research In Motion Limited System and method for installing custom services on a component-based application platform
US20070220035A1 (en) * 2006-03-17 2007-09-20 Filip Misovski Generating user interface using metadata
US7698251B2 (en) * 2006-04-27 2010-04-13 International Business Machines Corporation Fault tolerant facility for the aggregation of data from multiple processing units
US8280982B2 (en) 2006-05-24 2012-10-02 Time Warner Cable Inc. Personal content server apparatus and methods
US9386327B2 (en) 2006-05-24 2016-07-05 Time Warner Cable Enterprises Llc Secondary content insertion apparatus and methods
US8024762B2 (en) 2006-06-13 2011-09-20 Time Warner Cable Inc. Methods and apparatus for providing virtual content over a network
US9830145B2 (en) 2006-08-14 2017-11-28 Federal Home Loan Mortgage Corporation (Freddie Mac) Systems and methods for infrastructure and middleware provisioning
US8520850B2 (en) 2006-10-20 2013-08-27 Time Warner Cable Enterprises Llc Downloadable security and protection methods and apparatus
US20080147835A1 (en) * 2006-12-19 2008-06-19 Sunil Chandra Partially decentralized composition of web services
US20080178010A1 (en) 2007-01-18 2008-07-24 Vaterlaus Robert K Cryptographic web service
US8621540B2 (en) 2007-01-24 2013-12-31 Time Warner Cable Enterprises Llc Apparatus and methods for provisioning in a download-enabled system
US8181206B2 (en) 2007-02-28 2012-05-15 Time Warner Cable Inc. Personal content server apparatus and methods
US8166465B2 (en) * 2007-04-02 2012-04-24 International Business Machines Corporation Method and system for composing stream processing applications according to a semantic description of a processing goal
US8307372B2 (en) * 2007-04-02 2012-11-06 International Business Machines Corporation Method for declarative semantic expression of user intent to enable goal-driven information processing
US8098248B2 (en) * 2007-04-02 2012-01-17 International Business Machines Corporation Method for semantic modeling of stream processing components to enable automatic application composition
US8370812B2 (en) * 2007-04-02 2013-02-05 International Business Machines Corporation Method and system for automatically assembling processing graphs in information processing systems
US8863102B2 (en) * 2007-04-02 2014-10-14 International Business Machines Corporation Method and system for assembling information processing applications based on declarative semantic specifications
US8656472B2 (en) 2007-04-20 2014-02-18 Microsoft Corporation Request-specific authentication for accessing web service resources
US8117233B2 (en) * 2007-05-14 2012-02-14 International Business Machines Corporation Method and system for message-oriented semantic web service composition based on artificial intelligence planning
US8528058B2 (en) 2007-05-31 2013-09-03 Microsoft Corporation Native use of web service protocols and claims in server authentication
CN101335622B (zh) * 2007-06-27 2012-08-29 日电(中国)有限公司 使用匿名柔性凭证的用于分布式授权的方法和装置
US7991877B2 (en) * 2007-10-05 2011-08-02 International Business Machines Corporation Rogue router hunter
CN101488843A (zh) * 2008-01-16 2009-07-22 北京航空航天大学 一种基于冗余机制的高可用服务组合实现方法
US9503691B2 (en) 2008-02-19 2016-11-22 Time Warner Cable Enterprises Llc Methods and apparatus for enhanced advertising and promotional delivery in a network
US8364788B2 (en) * 2008-03-13 2013-01-29 Hewlett-Packard Development Company, L.P. Processing client requests for common services according to one or more canonical forms
US8601253B2 (en) * 2008-04-24 2013-12-03 International Business Machines Corporation Dynamic provisioning in data processing environment
US8893242B2 (en) * 2008-04-29 2014-11-18 Ebay Inc. System and method for pool-based identity generation and use for service access
CN101304410A (zh) * 2008-06-05 2008-11-12 郭丰亮 分布式web的智能信息平台
US8782065B2 (en) 2008-06-06 2014-07-15 Microsoft Corporation Interfacing an application to data sources via a web service interface
CN101616136B (zh) * 2008-06-26 2013-05-01 阿里巴巴集团控股有限公司 一种提供互联网服务的方法及服务集成平台系统
US9357247B2 (en) 2008-11-24 2016-05-31 Time Warner Cable Enterprises Llc Apparatus and methods for content delivery and message exchange across multiple content delivery networks
US9215423B2 (en) 2009-03-30 2015-12-15 Time Warner Cable Enterprises Llc Recommendation engine apparatus and methods
US11076189B2 (en) 2009-03-30 2021-07-27 Time Warner Cable Enterprises Llc Personal media channel apparatus and methods
US9602864B2 (en) 2009-06-08 2017-03-21 Time Warner Cable Enterprises Llc Media bridge apparatus and methods
US8555407B2 (en) * 2009-10-09 2013-10-08 Lockheed Martin Corporation On demand visibility services and smart directory
US8396055B2 (en) 2009-10-20 2013-03-12 Time Warner Cable Inc. Methods and apparatus for enabling media functionality in a content-based network
US10264029B2 (en) 2009-10-30 2019-04-16 Time Warner Cable Enterprises Llc Methods and apparatus for packetized content delivery over a content delivery network
US9519728B2 (en) 2009-12-04 2016-12-13 Time Warner Cable Enterprises Llc Apparatus and methods for monitoring and optimizing delivery of content in a network
US9342661B2 (en) 2010-03-02 2016-05-17 Time Warner Cable Enterprises Llc Apparatus and methods for rights-managed content and data delivery
US9906838B2 (en) 2010-07-12 2018-02-27 Time Warner Cable Enterprises Llc Apparatus and methods for content delivery and message exchange across multiple content delivery networks
CN102457555A (zh) * 2010-10-28 2012-05-16 中兴通讯股份有限公司 一种分布式存储的安全系统及方法
CN102546322A (zh) * 2010-12-31 2012-07-04 青岛海尔软件有限公司 数字家庭的Web服务系统
US20120239727A1 (en) * 2011-03-16 2012-09-20 Kddi Corporation Multimedia service network and method for providing the same
CN103597488B (zh) 2011-04-11 2016-08-24 英特托拉斯技术公司 信息安全系统和方法
CN103220259B (zh) * 2012-01-20 2016-06-08 华为技术有限公司 Oauth API的使用、调用方法、设备及系统
US9401904B1 (en) * 2012-03-15 2016-07-26 Motio, Inc. Security migration in a business intelligence environment
US9467723B2 (en) 2012-04-04 2016-10-11 Time Warner Cable Enterprises Llc Apparatus and methods for automated highlight reel creation in a content delivery network
US20140082645A1 (en) 2012-09-14 2014-03-20 Peter Stern Apparatus and methods for providing enhanced or interactive features
JP6066647B2 (ja) * 2012-09-27 2017-01-25 キヤノン株式会社 デバイス装置、その制御方法、およびそのプログラム
US9565472B2 (en) 2012-12-10 2017-02-07 Time Warner Cable Enterprises Llc Apparatus and methods for content transfer protection
GB2509723A (en) * 2013-01-10 2014-07-16 Ibm Invoking web services that are determined at the time of execution
US20140282786A1 (en) 2013-03-12 2014-09-18 Time Warner Cable Enterprises Llc Methods and apparatus for providing and uploading content to personalized network storage
CN103391294A (zh) * 2013-07-24 2013-11-13 佳都新太科技股份有限公司 一种基于服务描述的远程方法调用
CN103970214B (zh) * 2014-05-19 2018-05-04 浪潮电子信息产业股份有限公司 一种异构加速刀片式计算机系统架构
US9621940B2 (en) 2014-05-29 2017-04-11 Time Warner Cable Enterprises Llc Apparatus and methods for recording, accessing, and delivering packetized content
US11088807B2 (en) * 2014-05-30 2021-08-10 Apple Inc. Application-level acknowledgements
US10116676B2 (en) 2015-02-13 2018-10-30 Time Warner Cable Enterprises Llc Apparatus and methods for data collection, analysis and service modification based on online activity
US10574750B2 (en) * 2015-04-27 2020-02-25 Microsoft Technology Licensing, Llc Aggregation and federation of distributed service entities and associations
US9225711B1 (en) * 2015-05-14 2015-12-29 Fmr Llc Transferring an authenticated session between security contexts
US10404758B2 (en) 2016-02-26 2019-09-03 Time Warner Cable Enterprises Llc Apparatus and methods for centralized message exchange in a user premises device
US10657478B2 (en) 2016-09-11 2020-05-19 Bank Of America Corporation Aggregated entity resource tool
US11947978B2 (en) 2017-02-23 2024-04-02 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
US10831509B2 (en) 2017-02-23 2020-11-10 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
CN108037978A (zh) * 2017-12-22 2018-05-15 天津津航计算技术研究所 一种基于虚拟化技术的计算资源管理方法
US10984078B2 (en) 2018-07-16 2021-04-20 Vmware, Inc. Systems and methods for improved authentication
US11196837B2 (en) 2019-03-29 2021-12-07 Intel Corporation Technologies for multi-tier prefetching in a context-aware edge gateway
US11711268B2 (en) 2019-04-30 2023-07-25 Intel Corporation Methods and apparatus to execute a workload in an edge environment
US20200142735A1 (en) 2019-09-28 2020-05-07 Intel Corporation Methods and apparatus to offload and onload workloads in an edge environment
US20230015789A1 (en) * 2021-07-08 2023-01-19 Vmware, Inc. Aggregation of user authorizations from different providers in a hybrid cloud environment

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US184070A (en) * 1876-11-07 Improvement in gage-cocks
US34771A (en) * 1862-03-25 parmenter
US7976A (en) * 1851-03-11 Action
US111848A (en) * 1871-02-14 jackson
US59526A (en) * 1866-11-06 Improvement in carriages
US142760A (en) * 1873-09-16 Improvement in alloys to resemble silver
US4667882A (en) 1981-10-15 1987-05-26 West Point Pepperell, Inc. Device for applying foam to textiles
DE3582232D1 (de) 1984-12-28 1991-04-25 Mackie Donald E Geraet zum spielen eines spiels.
US5715453A (en) * 1996-05-31 1998-02-03 International Business Machines Corporation Web server mechanism for processing function calls for dynamic data queries in a web page
US5991535A (en) * 1996-07-03 1999-11-23 Sun Microsystems, Inc. Visual composition tool for constructing application programs using distributed objects on a distributed object network
JP3410324B2 (ja) 1997-04-30 2003-05-26 日本電信電話株式会社 オーダエントリ情報変換装置およびオーダエントリシステム
US5884317A (en) * 1997-08-20 1999-03-16 Bea Systems, Inc. Service interface repository
WO1999016226A1 (en) 1997-09-22 1999-04-01 Hughes Electronics Corporation Broadcast delivery newsgroup of information to a personal computer for local storage and access
AU3106099A (en) 1998-03-27 1999-10-18 Infoimage Incorporated Methods and apparatus for network applications using object tools
US6564251B2 (en) * 1998-12-03 2003-05-13 Microsoft Corporation Scalable computing system for presenting customized aggregation of information
US6738964B1 (en) * 1999-03-11 2004-05-18 Texas Instruments Incorporated Graphical development system and method
US6792605B1 (en) 1999-06-10 2004-09-14 Bow Street Software, Inc. Method and apparatus for providing web based services using an XML Runtime model to store state session data
US6560633B1 (en) * 1999-06-10 2003-05-06 Bow Street Software, Inc. Method for creating network services by transforming an XML runtime model in response to an iterative input process
US6516349B1 (en) * 1999-09-07 2003-02-04 Sun Microsystems, Inc. System for updating a set of instantiated content providers based on changes in content provider directory without interruption of a network information services
US6839680B1 (en) * 1999-09-30 2005-01-04 Fujitsu Limited Internet profiling
US7441232B2 (en) 1999-11-08 2008-10-21 British Telecommunications Public Limited Company Task management
US6851088B1 (en) * 1999-12-07 2005-02-01 International Business Machines Corporation Conditional highlighting of given cells in a dynamic HTML table
EP1117220A1 (en) * 2000-01-14 2001-07-18 Sun Microsystems, Inc. Method and system for protocol conversion
JP3711866B2 (ja) 2000-04-10 2005-11-02 日本電気株式会社 プラグアンドプレイ機能を有するフレームワークおよびその再構成方法
US6857008B1 (en) * 2000-04-19 2005-02-15 Cisco Technology, Inc. Arrangement for accessing an IP-based messaging server by telephone for management of stored messages
US6643650B1 (en) * 2000-05-09 2003-11-04 Sun Microsystems, Inc. Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment
WO2001086486A2 (en) 2000-05-09 2001-11-15 Sun Microsystems, Inc. Method and apparatus for proximity discovery of services
US6327628B1 (en) * 2000-05-19 2001-12-04 Epicentric, Inc. Portal server that provides a customizable user Interface for access to computer networks
WO2002015515A2 (en) * 2000-08-11 2002-02-21 Manugistics, Inc. System and method for integrating disparate networks for use in electronic communication and commerce
FR2813471B1 (fr) * 2000-08-31 2002-12-20 Schneider Automation Systeme de communication d'un equipement d'automatisme base sur le protocole soap
AU2001292692A1 (en) * 2000-09-15 2002-03-26 Wonderware Corporation A method and system for administering a concurrent user licensing agreement on amanufacturing/process control information portal server
US20020065946A1 (en) * 2000-10-17 2002-05-30 Shankar Narayan Synchronized computing with internet widgets
US6681221B1 (en) * 2000-10-18 2004-01-20 Docent, Inc. Method and system for achieving directed acyclic graph (DAG) representations of data in XML
US6829630B1 (en) * 2000-11-24 2004-12-07 Xerox Corporation Mechanisms for web-object event/state-driven communication between networked devices
US20020111848A1 (en) 2001-02-12 2002-08-15 White Craig R. Aggregation of services on network portals
US7283811B2 (en) 2001-02-23 2007-10-16 Lucent Technologies Inc. System and method for aggregation of user applications for limited-resource devices
US7236939B2 (en) 2001-03-31 2007-06-26 Hewlett-Packard Development Company, L.P. Peer-to-peer inter-enterprise collaborative process management method and system
US20020158899A1 (en) * 2001-04-30 2002-10-31 Robert Raymond Portal system and method for managing resources in a networked computing environment
US20020198973A1 (en) * 2001-04-30 2002-12-26 Besaw Lawrence M. System for dynamic customer filtering of management information presented through a web-based portal
US20030005090A1 (en) * 2001-06-30 2003-01-02 Sullivan Robert R. System and method for integrating network services
US7017162B2 (en) * 2001-07-10 2006-03-21 Microsoft Corporation Application program interface for network software platform
US6920461B2 (en) * 2001-07-10 2005-07-19 Microsoft Corp. Application program interface for network software platform

Also Published As

Publication number Publication date
IL162438A0 (en) 2005-11-20
EP1483671B1 (en) 2007-02-07
ATE353453T1 (de) 2007-02-15
DE60218069D1 (de) 2007-03-22
KR20040068106A (ko) 2004-07-30
AU2002347391A1 (en) 2003-07-30
JP2005515540A (ja) 2005-05-26
WO2003060710A3 (en) 2004-05-06
ES2278066T3 (es) 2007-08-01
WO2003060710A2 (en) 2003-07-24
US20030135628A1 (en) 2003-07-17
JP4594621B2 (ja) 2010-12-08
US7603469B2 (en) 2009-10-13
AU2002347391A8 (en) 2003-07-30
EP1483671A2 (en) 2004-12-08
CN1608248A (zh) 2005-04-20
CN1291318C (zh) 2006-12-20
DE60218069T2 (de) 2007-08-09

Similar Documents

Publication Publication Date Title
KR100600959B1 (ko) 분산 컴퓨팅 환경에서 집합화된 서비스의 공급
US9588828B2 (en) System and method for routing messages between applications
US9219678B2 (en) Method, system, and computer program product for sending and receiving messages
US7774485B2 (en) Dynamic service composition and orchestration
US7392391B2 (en) System and method for secure configuration of sensitive web services
KR100998515B1 (ko) 클라이언트-서버 네트워크에서 파일-유형 연관성을 이용한분산 프로그램 실행 방법
US7472349B1 (en) Dynamic services infrastructure for allowing programmatic access to internet and other resources
US6985958B2 (en) Messaging infrastructure for identity-centric data access
US20030163513A1 (en) Providing role-based views from business web portals
US20070283317A1 (en) Inter domain services manager
US20020116454A1 (en) System and method for providing communication among legacy systems using web objects for legacy functions
US20130019018A1 (en) Optimized service integration
US20060074703A1 (en) Providing and managing business processes
US9912722B2 (en) Method and system for facilitating the integration of a plurality of dissimilar systems
Pierce et al. The gateway computational web portal
Novotny et al. GridLab Portal Design
Credle et al. Implementing IBM CICS JSON Web Services for Mobile Applications
Paul et al. CRUD and REST APIs–Pillars of Efficient Data Exchange
Zhang et al. Domain-specific web services for scientific application developers
Braun et al. Web Services for Remote Portlets Specification
Kalyanasundaram Service-based marketplace for applications
Agenda What is & Why Web Services?
Shin www. javapassion. com
WebSphere Using Web Services for vices for Business Integration

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100428

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee