KR20050117521A - 클라이언트 데이터 프로세싱 방법 및 장치 - Google Patents

클라이언트 데이터 프로세싱 방법 및 장치 Download PDF

Info

Publication number
KR20050117521A
KR20050117521A KR1020057015056A KR20057015056A KR20050117521A KR 20050117521 A KR20050117521 A KR 20050117521A KR 1020057015056 A KR1020057015056 A KR 1020057015056A KR 20057015056 A KR20057015056 A KR 20057015056A KR 20050117521 A KR20050117521 A KR 20050117521A
Authority
KR
South Korea
Prior art keywords
request
web service
web
client
requirements
Prior art date
Application number
KR1020057015056A
Other languages
English (en)
Other versions
KR100800350B1 (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 KR20050117521A publication Critical patent/KR20050117521A/ko
Application granted granted Critical
Publication of KR100800350B1 publication Critical patent/KR100800350B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • 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/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • 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/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Library & Information Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer And Data Communications (AREA)
  • Peptides Or Proteins (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 웹 서비스에 대한 클라이언트 요청이 인터셉트되고 요청의 목표가 클라이언트와 연관된 폴리시 데이터에 따라 업데이트되는 방법, 장치 및 컴퓨터 프로그램 제품을 제공한다. 또한, 웹 클라이언트 요청이 지정되는 애플리케이션 층 프로토콜은 변경될 수 있고 또는 요청에 정보가 부가될 수 있다. 결과적으로, 목표 웹 서비스가 하드 코딩되는 요청을 구성하는 웹 클라이언트는 웹 클라이언트의 요건에 보다 근사하게 매칭되는 서비스 품질 특성을 제공하는 웹 서비스로의 액세스를 야기하도록 웹 서비스로의 관리된 액세스를 이용할 수 있다.

Description

클라이언트 데이터 프로세싱 방법 및 장치{CLIENT WEB SERVICE ACCESS}
본 발명은 웹 서비스로의 클라이언트 액세스에 관한 것으로, 좀 더 구체적으로 웹 서비스에 액세스하기 위해 웹 클라이언트로부터의 요청을 다루는 것에 관한 것이다.
최근 몇 년간에 걸쳐 웹 서비스는 예를 들어 웹 클라이언트가 인터넷을 통해 상점으로부터 물품을 구입할 수 있게 해주는 웹 서비스를 제공하는 상점에 있어서는 평범한 것이 되어 가고 있다. 이러한 인터넷의 성공적인 사용은 계속해서 증가하였고, 웹 클라이언트 및 웹 사업의 요건은 점점 복잡해진다. 이로부터 새롭고 보다 나은 방식으로 클라이언트가 웹 서비스를 액세스하고, 또한 상점들이 웹 서비스를 구현할 수 있게 해주는 미들웨어 제공물이 야기되었다.
예를 들어, 서비스 버스는 웹 서비스에 대해 가요성의 관리 기반구조를 제공한다. 일반적으로, 서비스 버스로 운영하는 클라이언트 및 웹 서비스 제공자는 서비스 버스에 소속되기 위해 스마트 클라이언트 "온-램프(on-ramp)"를 사용하고 이것은 문맥 및 다른 환경 정보가 클라이언트/웹 서비스 상호작용에 더해져, 예를 들어 보안, 트랜잭션 및 다른 프로세싱은 웹 서비스 및 그것의 클라이언트의 요건에 따라 정확하게 처리될 수 있다. 또한, 클라이언트가 웹 서비스에 액세스하기를 원하는 경우, 클라이언트가 클라이언트에 의해 요구되는 기능에 기초하여 발견되는 웹 서비스를 사용할 수 있도록 하는 방식으로 서비스 선택 및 발견이 이루어지도록 허용한다. 예를 들어, 클라이언트는 UK로 배달하여 IBM 컴퓨터 장비를 판매하고 아메리컨 익스프레스로 지불을 수용하는 웹 서비스를 요청할 수 있다. 이러한 스마트 클라이언트 "온-램프" 및 서비스 버스 아키텍쳐는 발명자 Flurry 및 Holdsworth에 의한 미국 출원 번호 10/322053 호의 "Apparatus and method for selecting a web service in response to a request from a client device"에 개시되어 있다.
그러나, 서비스 버스 환경에서의 몇몇 클라이언트 또는 웹 서비스는 버스 기반구조를 인식할 수 없는데, 예를 들어 클라이언트는 특정 URL 및 포맷을 사용하여 웹 서비스를 액세스하도록 하드 코딩되는 .NET, C, 또는 Python/Perl/JavaScript SOAP 클라이언트일 수 있다. 또한, 이러한 클라이언트는 서비스 버스 기반구조, 예를 들어 웹 서비스 호출 프레임워크(WSIF) 또는 자바 JSR109 프로그래밍 모델(자바 커뮤니티 프로세스 웹 사이트로부터 입수가능)(자바는 선 마이크로시스템사의 상표임)을 액세스하기 위해 지정된 애플리케이션 프로그래밍 인터페이스(API)를 사용하여 기록되지 않는다. 전형적으로, 이러한 클라이언트로부터의 요청을 처리하는 서비스 버스에 대해, 클라이언트 요청은 서비스 버스에 의한 프로세싱을 위해 허브 중개물 또는 게이트웨이에 전달된다. 예를 들어, 게이트웨이는 웹 서비스의 제공자로서 사용되고 클라이언트 요청의 수신시 이 요청을, 서비스 버스 인식 클라이언트에도 사용될 수 있는 관리 방식으로 발견 및 선택되는 적절한 웹 서비스 제공자에게 라우팅한다. 그러나, 이것은 클라이언트가 그것의 요청 내에 지정된 URL을 허브 중개물의 URL로 변경하도록 업데이트가능할 것을 요구하고, 몇몇 경우에서, 클라이언트는 이러한 방식으로 업데이트될 수 없다. 또한, 중개물은 클라이언트만이 수행할 수 있는, 예를 들어 클라이언트 특정 정보를 요청에 더하는 동작을 수행할 수 없다.
도 1은 본 발명의 바람직한 실시예가 바람직하게 적용되는 데이터 프로세싱 환경의 블록도,
도 2는 종래의 기술에 따라 클라이언트 프로세스로부터의 요청을 웹 서비스에 전송하는 웹 클라이언트의 예를 도시하는 개략도,
도 3은 본 발명의 바람직한 실시예에 따라 클라이언트 프로세스로부터의 요청을 웹 서비스에 전송하는 웹 클라이언트의 개략도,
도 4는 웹 클라이언트로부터 유래되는 요청을 처리하는, 도 3의 온-램프의 개략도,
도 5는 도 3의 클라이언트 데이터 프로세싱 호스트의 주요 프로세싱 단계의 흐름도,
도 6은 도 3의 온 램프의 주요 프로세싱 단계의 흐름도.
따라서, 제 1 관점에 따르면, 본 발명은 웹 클라이언트로부터의 요청을 변형하는 클라이언트 데이터 프로세싱 호스트의 클라이언트 데이터 프로세싱 방법을 제공하는데, 이 방법은 요청을 인터셉트하는 단계와, 요청에 지정된 제 1 웹 서비스 구현을 제 2 웹 서비스 구현으로 변경하는 단계, 및 이 요청을 제 2 웹 서비스 구현에 전송하여 제 2 웹 서비스 구현이 요청을 처리할 수 있도록 하되, 제 2 웹 서비스 구현은 웹 클라이언트와 연관된 폴리시 데이터에 기초하여 선택되는 단계를 포함한다.
제 2 관점에 따르면, 본 발명은 웹 클라이언트로부터의 요청을 변형하는 클라이언트 데이터 프로세싱 장치를 제공하는데, 이 장치는 요청을 인터셉트하는 수단과, 요청에 지정된 제 1 웹 서비스 구현을 제 2 웹 서비스 구현으로 변경하는 수단, 및 이 요청을 제 2 웹 서비스 구현에 전송하여 제 2 웹 서비스 구현이 요청을 처리할 수 있도록 하되, 제 2 웹 서비스 구현은 웹 클라이언트와 연관된 폴리시 데이터에 기초하여 선택되는 수단을 포함한다.
제 3 관점에 따르면, 본 발명은 데이터 프로세싱 호스트 상에서 실행되는 경우 제 1 관점에 따른 방법을 데이터 프로세싱 호스트가 수행하도록 야기하는 인스트럭션을 포함하는 컴퓨터 프로그램 제품을 제공한다.
따라서, 본 발명은 특정 웹 서비스에 대한 클라이언트 요청이 클라이언트 호스트 내에서 인터셉트될 수 있도록 하고 또한 관리된 방식으로 선택된 다른 웹 서비스에 대한 요청으로 변형될 수 있도록 한다. 예를 들어, 폴리시 데이터는 웹 클라이언트에 대한 특정 서비스 품질 요건을 지정할 수 있고 그 결과 웹 클라이언트 서비스 품질 요건에 보다 근접하게 일치하는 웹 서비스가 액세스된다.
웹 클라이언트로부터의 요청은 애플리케이션 층 프로토콜, 예를 들어 하이퍼텍스트 전송 프로토콜을 통한 간단한 객체 액세스 프로토콜(SOAP/HTTP), IIOP, 또는 자바 메시지 서비스(JMS)를 통한 SOAP에서 지정될 수 있다. 선택에 따라, 요청은 웹 클라이언트 요청이 지정된 프로토콜과 다른 애플리케이션 층 프로토콜로 더 수정될 수 있다. 예를 들어, SOAP/HTTP 요청에서 IIOP 요청으로 변경될 수 있다.
요청이 인터셉트될 수 있는 방법에 대한 몇몇 다른 실시예가 있다. 선택에 따라 클라이언트 데이터 프로세싱 호스트의 프로토콜 스택이 SOCKS 지원을 포함하는 경우, SOCKS 지원은 클라이언트에 대해 로컬인 SOCKS 프록시로 구성될 수 있고 요청을 인터셉트하는 단계는 프로토콜 스택이 요청을 프로세싱하는 경우 호출되는 SOCKS 프록시로부터 야기될 수 있다. 그와 달리, 클라이언트 데이터 프로세싱 호스트의 프로토콜 스택이 HTTP 지원을 포함하는 경우, 그것은 HTTP 프록시를 갖는 구성을 지원할 수 있으며, 이 경우 요청의 인터셉트 단계는 호출되는 로컬 HTTP 프록시로부터 야기된다. 이와 달리, 프로토콜 스택은 프로세싱 동안 요청을 인터셉트하도록 수정되고 요청의 변경 단계를 인에이블링하는데 사용되는 루틴을 호출한다.
바람직하게, 제 2 웹 서비스 구현을 선택하기 위해, 요청을 다루는 하나 이상의 또 다른 웹 서비스 구현이 발견되고 그런 다음 이 제 2 웹 서비스 구현은 폴리시 데이터에 기초하여 발견된 구현으로부터 선택, 예를 들어 웹 서비스 폴리시 프레임워크(WS-폴리시)를 사용하여 공개된다.
선택에 따라, 하나 이상의 또 다른 웹 서비스 구현은 제 1 웹 서비스 구현에 대한 웹 서비스 정의 언어(WSDL)를 획득하고 또한 요청을 다루기 위해 하나 이상의 또 다른 웹 서비스 구현 각각에 대한 WSDL 문서를 얻기 위해 이 WSDL 문서로부터의 정보를 이용하여 발견된다.
선택에 따라, 보안 폴리시가 요청에 적용된다. 예를 들어, 적어도 요청의 일부분은 암호화되고 또는 클라이언트 키는 요청에 부가되며, 요청을 전송하는 전송 메카니즘은 웹 서비스 보안 프로토콜(WS-보안) 또는 다른 정보를 사용하여 표시되는 그의 보안 특성에 기초하여 선택된다. 클라이언트 키는 예를 들어 클라이언트 식별자 또는 사용자 식별자와 같은 식별자일 수 있다. 또한, 클라이언트 키는 예를 들어 패스워드를 포함할 수 있다.
선택에 따라, 클라이언트 특정 정보는 요청에 부가될 수 있다. 그 예로, 클라이언트 키, 클라이언트 데이터 프로세싱 호스트의 머신 식별자 및/또는 클라이언트 데이터 프로세싱 호스트의 IP 어드레스가 있다. 이러한 정보는 예를 들어 회계 감사 또는 보안 목적의 웹 서비스 구현에 의해 사용된다.
폴리시 데이터는 예를 들어 응답 시간 요건, 보안 레벨 요건, 트랜잭션 요건, 비용 요건, 유용성 요건, 애플리케이션 층 프로토콜 요건, 부가적인 정보 요건 및 웹 서비스 구현 요건 중 하나 이상을 지정할 수 있다.
이제 첨부된 도면을 예시되어 있는 본 발명의 바람직한 실시예를 참조하여 단지 예로서 본 발명을 설명할 것이다.
도면에서 유사한 번호는 유사한 부분을 나타내는데 사용된다.
도 1은 본 발명의 바람직한 실시예가 바람직하게 적용되는 데이터 프로세싱 환경의 개략도이다. 도 1에서, 클라이언트/서버 데이터 프로세싱 호스트(10)는 예컨대 인터넷일 수 있는 네트워크(11)를 통해 다른 클라이언트/서버 데이터 프로세싱 호스트(12 및 13)에 접속된다. 예를 들어, 본 발명에 따르면, 호스트(10) 상에서 실행되는 웹 클라이언트는 호스트(12) 내에서 이용가능한 웹 서비스에 대한 요청을 구성할 수 있고, 클라이언트 내에서 실행되는 소프트웨어는 이 요청을 호스트(13) 내에서 이용가능한 웹 서비스에 대한 요청을 변환할 수 있되, 호스트(13) 내의 웹 서비스는 웹 클라이언트와 연관된 폴리시 데이터에 기초하여 선택된다. 클라이언트/서버(10)는 클라이언트/서버(10)의 동작을 제어하는 프로그램을 실행하는 프로세서(101), RAM 휘발성 메모리 소자(102), 비 휘발성 메모리(103) 및 다른 클라이언트/서버(12 및 13)와의 통신을 위해 네트워크(11)와 인터페이싱하는데 사용되는 네트워크 커넥터(104)를 포함한다.
도 2는 종래 기술에 따라 요청(208)을 웹 서비스 구현(211)에 전송하는 웹 클라이언트(201)의 예를 도시하는 개략도이다. 웹 클라이언트 및 웹 서비스는 각각 TCP/IP 프로토콜 스택을 사용하여 데이터 프로세싱 호스트(200 및 210)에서 제각각 실행된다.
도 2에서, 웹 클라이언트는 URL http://www.bank.com/(209)로 뱅크 서비스에 연결되는 뱅크 서비스 동작에 대한 요청을 구성한다. 웹 클라이언트(201)는 요청을 프로토콜 스택의 애플리케이션 층(202)에 전달한다(205). 이 애플리케이션 층은 고레벨 프로토콜을 제공하는데, 이 프로토콜을 통해 웹 클라이언트/서비스는 예를 들어 TCP/IP 프로토콜 스택을 액세스할 수 있고, 이 예에서 하이퍼텍스트 전송 프로토콜(HTTP)에 걸쳐 간단한 객체 액세스 프로토콜(SOAP)을 제공한다. 이와 달리, 예를 들어, 애플리케이션 층은 IIOP(Internet Inter-Orb Protocol)을 제공할 수 있다. 이 애플리케이션 층(202)은 요청을 수정하고 그런 다음 그것을 전송 및 네트워크 층(203)에 전달한다(206). 전송 및 네트워크 층은 네트워크를 통해 데이터 전달을 제공하고 이 예에서 이 층은 인터넷 프로토콜(IP)에 걸쳐 전송 제어 프로토콜(TCP)에 대한 지원을 제공한다. 이와 달리, 예를 들어 전송 및 네트워크 층은 사용자 데이터그램 프로토콜(UDP)을 제공할 수 있다. 네트워크 및 전송 층(203)은 요청을 수정하고 그것을 클라이언트 하드웨어와 인터페이싱하는 네트워크 인터페이스 층(204)에 전달하고(207) 이 요청을 네트워크(11)를 통해 전송한다(208).
요청이 웹 서비스 구현의 호스트(210)에 도달하는 경우, 그것은 네트워크 인터페이스 층(214)에 의해 수신되고 이 인터페이스 층은 이 요청을 TCP/IP에 대한 지원을 제공하는 전송 및 네트워크 층(213)에 전달한다(215). 전송 및 네트워크 층은 클라이언트 네트워크 및 전송 층에서 메시지에 대해 이루어진 변경을 원상태로 돌려놓고 그런 다음 그것을 SOAP/HTTP에 대한 지원을 제공하는 애플리케이션 층(212)에 전달한다(216). 애플리케이션 층은 클라이언트 애플리케이션 층에서 요청에 대해 이루어진 변경을 원상태로 돌려놓고 그것을 목표 웹 서비스 구현(211)에 전달한다(217). 따라서, 클라이언트 요청은 프로세싱을 위해 수신되었다. 웹 서비스 프로토콜 스택은 웹 클라이언트 요청을 성공적으로 처리하기 위해 클라이언트 스택에서 사용되는 동일한 프로토콜(즉, SOAP/HTTP 및 TCT/IP)에 대한 지원을 제공해야 한다는 것을 인지해야 한다.
그러나, 도 2에 대한 종래의 문제점은, 웹 클라이언트는 요청이 전송될 웹 서비스 구현의 URL(http://www.banka.com)로 하드 코딩된다는 것이다. 결과적으로, 클라이언트는 예를 들어 웹 클라이언트와 연관된 폴리시 데이터에 기초하여 요청을 다루기 위해 웹 서비스 구현을 선택할 수 있는 서비스 버스를 사용할 수 없다.
도 3은 본 발명의 바람직한 실시예에 따라 수정된 도 2의 클라이언트 데이터 프로세싱 호스트(200)에 대한 개략도이다. 이 실시예에서, TCP/IP 층은 SOCKS 지원(305)을 더 포함한다. 정상적인 사용에 있어서, SOCKS는 웹 클라이언트 요청을 SOCKS 프록시(또는 서버)로 재-라우팅하도록 구성되고, 그런 다음 SOCKS 프록시는 요청에서 지정된 목적지로 웹 클라이언트 요청이 처리도록 허용하기 전에 소정 레벨의 보안 검사를 수행한다. 그러나, 본 발명의 바람직한 실시예에 따르면, SOCKS 지원(305)은 클라이언트에 대해 국부적인(local) 적응된 SOCKS 프록시(306)로 웹 클라이언트 요청을 재-라우팅하도록 구성된다. 결과적으로, 웹 클라이언트 요청이 TCP/IP 전송 및 네트워크 층(203)에 전달되는 경우, SOCKS 지원(305)은 호출되고 이것은 요청을 로컬 적응된 SOCKS 프록시(306)로 새로 방향을 설정하고 그런 다음 이 프록시는 요청을 URL 필터(307)에 전송한다(323). 이 URL 필터는 웹 클라이언트 요청의 목표로서 지정된 URL인 변경에 적절한지를 결정하는데 사용되는 세부사항을 포함하는 구성 파일로 웹 클라이언트 요청의 목표로서 지정된 URL을 체크한다. 예를 들어, 이 구성 파일은 정확한 매치가 요구되는 특정 URL의 리스트 또는 유사한 매치가 요구되는 와일드카드를 포함하는 URL 리스트를 포함할 수 있다. URL이 변경에 적절하지 않은 경우, 웹 클라이언트 요청은 정상적인 프로세싱을 위해 TCP/IP 전송 및 네트워크 층(203)에 반환된다(도시되어 있지 않음). 그러나, URL이 변경이 적절한 경우, 요청은 웹 클라이언트 요청의 URL이 첨부된 임의의 데이터와 같은 정보를 추출할 수 SOAP/HTTP 파서(parser)(308)에 전달된다(324). 요구되는 정보를 추출하게 되면, 이 요청은 온 램프(309)로 전달되고(325) 그런 다음 이 온 램프는 다양한 프로토콜을 사용하여 다양한 웹 서비스로의 액세스를 제공하는 서비스 버스로 전달되기에 적절하도록 요청을 수정한다. 도 3의 바람직한 실시예에 따르면, 클라이언트에 이용가능한 서비스 버스는 두 개의 프로토콜 조합, 즉 IIOP(310) 및 SOAP/HTTP(311) 중 하나를 사용하여 웹 서비스 구현으로의 액세스를 제공하고 온 램프는 서비스 버스를 통해 또한 IIOP 요청을 사용하여 이용가능한 또 다른 웹 서비스 구현에 적합하도록 웹 클라이언트 요청을 수정한다. 결과적으로, 온 램프(309)는 또 다른 웹 서비스 구현에 적절한 요청을 IIOP 애플리케이션 층(310)에 전달하고(326) 이 애플리케이션 층은 그것을 TCP/IP 전송 및 네트워크 층(203)에 전달하여(327) 네트워크를 통해 전송하는 네트워크 인터페이스 층(204)에 의한 네트워크에 전달된다(328).
도 4는 도 3의 온 램프(309) 및 이와 인터페이싱하는 구성요소, 즉 서비스 버스의 SOAP/HTTP 파서(308), SOAP/HTTP(310) 및 IIOP(311) 애플리케이션 층에 대한 보다 세부적인 개략도이다. 웹 클라이언트 요청은 SOAP/HTTP 파서로부터 온 램프(309)의 매칭 엔진(401)에 전달된다. 이 매칭 엔진은 폴리시 파일(402)에서 웹 클라이언트에 대해 지정된 폴리시를 검색한다. 폴리시 파일은 예를 들어 응답 시간 요건, 보안 레벨 요건, 트랜잭션 요건, 비용 요건, 유용성 요건, 애플리케이션 층 프로토콜 요건, 부가적인 정보 요건, 및/또는 웹 서비스 구현 요건의 클라이언트에 대한 세부사항을 포함할 수 있다. 이 때, 매칭 엔진은 웹 클라이언트 요청으로부터 SOAP/HTTP 파서에 의해 추출된 폴리시 정보 및 요청 정보를 사용하여 발견(403), 선택(404) 및 보안(405) 메카니즘을 사용하는 요청을 수정한다. 이 발견 메카니즘(403)은 서비스 버스 상에서 이용가능하고 예를 들어 요청 내에 지정된 URL에 기초하여 웹 클라이언트 요청을 처리할 수 있는 또 다른 웹 서비스 구현을 발견하는데 사용된다. 선택 메카니즘(404)은 발견된 또 다른 웹 서비스 구현으로부터 특정 웹 서비스 구현을 선택하는데 사용된다. 선택된 하나이 구현은 폴리 파일 내에 지정된 요건에 거의 일치할 것이다. 선택 메카니즘은 서비스 버스로부터 이용가능하고 웹 서비스 구현을 액세스하는데 사용될 수 있는 프로토콜 중에서 적절한 프로토콜을 더 선택할 수 있다. 보안 메카니즘(405)은 선택 목적, 예를 들어 클라이언트 또는 웹 서비스의 보안 요건에 일치하는 적절한 프로토콜을 선택하는데 사용될 수도 있다. 예를 들어, 클라이언트 또는 웹 서비스 구현은 SOAP, 보안 HTTP(HTTPS), 또는 보안 IIOP(IIOPS)를 통한 WS-보안과 같은 보다 보안적인 프로토콜을 통한 통신을 요구할 수 있다. 또한, 보안 메카니즘은 예를 들어 SOAP 암호화를 사용하여 메시지를 암호화할 수 있고 또는 웹 클라이언트 또는 웹 서비스 구현의 보안 요건에 기초하여 클라이언트 키와 같은 정보를 요청에 부가할 수 있다. 이들 메카니즘을 사용하는 바람직한 실시예에서, 매칭 엔진(401)은 적절한 웹 서비스를 선택하여 웹 클라이언트 요청을 다루고 그것을 적절한 전송 프로토콜, 예를 들어 SOAP/HTTP 또는 IIOP(311 및 310)에 각각 제공한다.
예를 들어, 폴리시 파일은, 보다 빠른 전송 프로토콜 또는 보증된 응답 시간을 제공하는 웹 서비스의 사용을 요구하는 응답 시간 요건과, 요청의 암호화를 요구하거나 또는 HTTPS와 같은 보안 프로토콜의 사용을 요구하는 보안 레벨 요건과, 웹 서비스 또는 저비용 접속을 제공하는 통신 프로토콜의 사용을 통해 제공되는 상품에 대한 최대 가격 범위를 지정하는 비용 요건과, 24×7 유용성을 제공하는 웹 서비스의 사용 또는 트랜잭션 JMS와 같은 보증된 요청 전달을 갖는 프로토콜의 사용을 요구하는 유용성 요건과, 요청의 전송에 사용되어야 하거나 또는 사용되지 말아야하는 하나 이상의 애플케이션 층 프로토콜을 지정하는 애플리케이션 층 프로토콜 요건과, 요청에 부가될 클라이언트 데이터 프로세싱 호스트의 IP 어드레스 및/또는 머신 식별자를 요구하는 부가적인 정보 요건, 및 IBM 승인 상인 또는 어메리칸 익스프레스를 통해 지불을 받아들이는 USA 내에 기반을 둔 상인에 의해 제공되는 웹 서비스 구현을 요구하는 웹 서비스 구현 요건 중 하나를 포함할 수 있다.
따라서, 본 발명의 바람직한 실시예는 웹 클라이언트 요청이 인터셉트되고 변형되는 것에 대하여 설명된다. 요청의 변형은 요청이 전송되는 웹 서비스를 변경하는 단계와, 선택에 따라 요청을 전송하는데 사용되는 애플리케이션 층 프로토콜, 즉 요청을 위해 사용되는 보안 프로토콜과 같은 것을 변경하는 단계, 또는 요청에 정보를 부가하는 단계를 포함한다. 그러나, 설명한 것에 대해 다수의 또 다른 실시예가 존재할 수 있다.
설명한 실시예에서, 도 3을 참조하면, 웹 클라이언트는 SOAP/HTTP 애플리케이션 층(202)을 사용하다. 그러나, 또 다른 실시예에서, 이것은 예를 들어 IIOP, IIOPS, HTTP, HTTPS, JMS를 통한 SOAP, IIOP를 통한 원격 방법 호출(RMI), 자바 메시지 서비스(JMS)를 통한 XML, 간단한 메일 전송 프로토콜(SMTP), 또는 엔터프라이즈 자바빈(EJB)(자바빈은 썬 마이크로시스템즈사의 등록된 상표이다)일 수 있다. 예를 들어, 애플리케이션 층이 IIOP인 경우, SOAP/HTTP 파서(308)는 IIOP 파서로 대체될 수 있다.
또한, 예를 들어, 설명된 실시예에서, 도 3을 참조하면, 웹 클라이언트 요청은 SOCKS 지원(305)에 의해 전송 및 네트워크 층(203)에서 인터셉트된다. 그러나, 또 다른 실시예에서, 이것은 다른 수단에 의해 달성될 수 있다. 예를 들어, HTTP 층은 로컬 HTTP 프록시를 호출하여, SOCKS 서버(306)를 HTTP 프록시로 대체하고, SOAP/HTTP 애플리케이션 층(202)에서 있게 될 웹 클라이언트 요청의 인터셉트를 변경하도록 구성될 수 있다.
또한, 예를 들어, 설명된 실시예에서, 도 3을 참조하면, 온 램프(309)는 요청을 전송을 위한 IIOP(310) 또는 SOAP/HTTP(311)의 애플리케이션 층 프로토콜을 제공하는 서비스 버스를 사용할 수 있다. 또 다른 실시예에서, 하나 이상의 이들 애플리케이션 층 프로토콜은 생략 및/또는 대체 및/또는 부가될 수 있다. 예를 들어, 서비스 버스에 의해 제공되는 다른 부가적인/또 다른 층은 IIOP, IIOPS, HTTP, HTTPS, JMS를 통한 SOAP, IIOP를 통한 RMI, JMS를 통한 XML, SMTP를 통한 SOAP, 또는 EJBDLF 수 있다. 또한, 이들 애플리케이션 층 프로토콜에 이용가능한 전송 및 네트워크 층 프로토콜은 변경 및/또는 부가될 수 있는데, 예를 들어 UDP/IP는 TCP/IP에 덧붙여 이용가능할 수 있다.
도 4를 참조하면, 예를 들어 발견 메카니즘(4O3)이 클라이언트 요청의 목표가 될 수 있는 하나 이상의 또 다른 웹 서비스 구현을 발견하는 경우, 그것은 웹 서비스 정의 언어(WSDL) 문서에 기초하여 이것을 수행할 수 있다. 이것은 클라이언트가 WSDL 문서를 사용하여 요청에 대한 목표 서비스 구현의 정의를 얻은 경우 가능하다. 이 경우에, 요청을 인터셉트한 후, 발견 메카니즘은 먼저 목표 서비스 WSDL 문서를 얻을 수 있고, 그런 다음 이 WSDL의 정보에 기초하여 예를 들어 UDDI(Universal Description, Discovery and Integration) 레지스트리로부터 적절한 또 다른 웹 서비스 구현에 대한 WSDL 문서를 얻을 수 있다. WSDL 문서는 포트 유형, 바인딩, 포트, 메시지, 유형 등과 같은 목표 서비스의 세부사항을 포함한다. 포트 유형은 목표 서비스에 의해 제공되는 동작 및 동작 파라미터를 정의하고, 바인딩은 전송 메카니즘을 지정하며, 포트는 전송 메카니즘을 사용하여 목표 서비스로의 액세스를 제공하는 채널에 대한 최종 지점 어드레스를 지정한다. 예를 들어, 그와 달리, DARPA 에이전트 마크업 언어(DAML) 서비스 문서는 WSDL 문서를 대신하여 사용될 수 있다.
또한, 예를 들어, 바람직한 실시예에서, 도 4를 참조하면, 매칭 엔진은 발견, 선택 및 보안 메카니즘을 사용하여 요청을 변형시킨다. 또 다른 실시예에서, 하나 이상의 이들 메카니즘은 생략 및/또는 대체 및/또는 부가 및/또는 매칭 엔진 내로 캡슐화될 수 있다. 예를 들어, 부가적인 또는 또 다른 메카니즘은 웹 클라이언트로부터의 하나 이상의 요청을 일의 단위로 포위함으로써 트랜잭션을 제공한다. 또한, 클라이언트 폴리시는 예를 들어 메카니즘 내에 캡슐화될 수 있거나, 또는 랜덤 폴리시가 적용될 수 있다. 또한, 웹 클라이언트 요청은 먼저 파싱되는 일없이 매칭 엔진에 직접 전달될 수 있고 그와 달리 매칭 엔진은 필요에 따라 파서를 호출할 수 있다.
도 5는 본 발명의 바람직한 실시예에서의 주요 단계에 대한 흐름도이다. 단계(501)에서, 웹 클라이언트 요청은 인터셉트된다. 단계(502)에서, 웹 클라이언트 요청의 목표로서 지정된 URL이 획득되고, 단계(503)에서, 이 URL이 온 램프(도 3의 309)에 의한 변형에 적절한 URL로서 구성 파일에 나열되어 있지를 알아보기 위한 체크가 이루어진다. URL이 변형에 적절하지 않은 경우, 웹 클라이언트 요청은 단계(504)에서 목표 URL에 전송된다. 그러나, 이 URL이 단계(505)에서 변형에 적절한 경우, 웹 클라이언트 요청은 파싱되어 요청과 함께 전송된 임의의 파라미터와 같은 부가적인 정보, 예를 들어 요청이 목표를 두는 웹 서비스의 특정 관점에 대한 세부사항, 또는 요청이 목표를 두는 웹 서비스를 설명하는 WSDL 문서의 세부사항을 얻는다. 그런 다음, 단계(506)에서, 웹 클라이언트 요청은 클라이언트 폴리시 데이터에 기초하여 수정된다. 예를 들어, 요청은 본래의 요청의 것과 동일한 서비스를 제공하나 회사 폴리시 데이터에 기초하여 클라이언트에 의해 사용이 승인된 웹 서비스로 방향이 새로 정해진다. 요청이 수정되면, 그것은 방향이 새로 정해진 웹 서비스로 단계(504)에서 전송된다.
도 6은 도 5의 단계(506)에서 수행된 프로세싱의 보다 상세한 흐름도이다. 단계(601)에서, 클라이언트에 대한 폴리시 데이터는 구성 파일로부터 획득되고 단계(602)에서 발견 메카니즘은 웹 클라이언트 요청을 다루는 적절한 또 다른 웹 서비스 구현을 발견하는데 사용된다. 예를 들어 또 다른 구현은 URL 및 웹 클라이언트 요청에 지정된 임의의 부가적인 데이터에 기초하여 발견될 수 있다. 또한, 폴리시 데이터는 발견 메카니즘에 의해 사용될 수 있다. 단계(603)에서, 선택 메카니즘은 발견된 리스트의 적절한 또 다른 구현으로부터 웹 서비스 구현을 선택하여 요청을 다룬다. 예를 들어, 웹 서비스는 웹 서버가 UK에 기반을 두어야 하고 아메리칸 익스프레스로 지불을 제공해야 한다는 것을 지정하는 클라이언트 폴리시 데이터에 기초하여 선택될 수 있다. 선택 메카니즘은 서비스 버스로부터 이용가능하고 선택된 웹 서비스 구현이 접촉할 수 있는 것에 기초하여 요청을 전송하는 애플리케이션 층 프로토콜을 더 선택할 수 있다. 선택된 웹 서비스를 통해, 단계(604)에서, 보안 메카니즘은 적절한 보안 폴리시를 요청에 적용하는데 사용될 수 있으며, 예를 들어 선택된 웹 서비스는 암호화되는 모든 통신 및/또는 사용될 보안 애플리케이션 층 프로토콜을 필요로할 수 있다. 단계(605)에서, 선택에 따라 클라이언트 특정 정보, 예를 들어 IP 어드레스 또는 머신과 같은 클라이언트 데이터 프로세싱 호스트를 식별하는데 사용될 수 있는 식별자 또는 웹 클라이언트 또는 웹 클라이언트 사용자를 식별하는데 사용될 수 있는 식별자가 요청에 부가된다. 끝으로, 단계(606)에서, 변형된 요청은 적절한 애플리케이션 층 프로토콜, 예를 들어 IIOP 또는 SOAP/HTTP에 제공된다. 예를 들어, 요청 프로토콜은 선택된 웹 서비스의 것과 일치하도록 선택될 수 있고 또는 예를 들어 필요로 하는 응답 시간을 지정하는 클라이언트 폴리시에 기초하여 선택된 웹 서비스에 의해 지원되는 몇몇 프로토콜로부터 선택될 수 있다.
본 발명의 바람직한 실시예가 일반적인 용어로 설명되었지만, 당업자라면 본 발명은 데이터 프로세싱 방법, 데이터 프로세싱 장치 또는 데이터 프로세싱 방법을 수행하는 인스트럭션을 포함하는 컴퓨터 프로그램 제품으로 구현될 수 있다는 것을 이해할 수 있다.
따라서 본 발명은 웹 서비스에 대한 클라이언트 요청이 인터셉트되고 요청의 목표가 클라이언트와 연관된 폴리시 데이터에 따라 업데이트되는 방법, 장치 및 컴퓨터 프로그램 제품을 제공한다. 또한, 웹 클라이언트 요청이 지정되는 애플리케이션 층 프로토콜은 변경될 수 있고 또는 요청에 정보가 부가될 수 있다. 결과적으로, 목표 웹 서비스가 하드 코딩되는 요청을 구성하는 웹 클라이언트는 웹 클라이언트의 요건에 보다 근사하게 매칭되는 서비스 품질 특성을 제공하는 웹 서비스로의 액세스를 야기하도록 웹 서비스로의 관리된 액세스를 이용할 수 있다.

Claims (19)

  1. 웹 클라이언트로부터의 요청을 변형하는 클라이언트 데이터 프로세싱 방법에 있어서,
    상기 요청을 인터셉트하는 단계와,
    상기 요청에 지정된 제 1 웹 서비스 구현을 제 2 웹 서비스 구현으로 변경하는 단계와,
    상기 요청을 상기 제 2 웹 서비스 구현에 전송하여 상기 제 2 웹 서비스 구현이 상기 요청을 처리할 수 있도록 하는 단계
    를 포함하되, 상기 제 2 웹 서비스 구현은 상기 웹 클라이언트와 연관된 폴리시 데이터에 기초하여 선택되는
    클라이언트 데이터 프로세싱 방법.
  2. 제 1 항에 있어서,
    상기 요청은 제 1 애플리케이션 층 프로토콜에서 지정되고, 상기 방법은 제 2 애플리케이션 층 프로토콜로 지정되도록 상기 요청을 수정하는 단계를 더 포함하는 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    클라이언트 프로세싱 호스트는 SOCKS 프록시를 포함하고, 상기 요청을 인터셉트하는 상기 단계는 상기 SOCK 프록시를 호출하는 단계와 상기 요청의 호출 세부사항을 포함하는 단계를 포함하는 방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    클라이언트 데이터 프로세싱 호스트는 HTTP 프록시를 포함하고, 상기 요청을 인터셉트하는 상기 단계는 HTTP 프록시를 호출하는 단계와 상기 요청의 호출 세부사항을 포함하는 단계를 포함하는 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 요청을 다루기 위한 하나 이상의 또 다른 웹 서비스 구현을 발견하는 단계와,
    발견된 상기 하나 이상의 또 다른 웹 서비스로부터 상기 제 2 웹 서비스 구현을 선택하는 단계
    를 더 포함하는 방법.
  6. 제 5 항에 있어서,
    상기 발견 단계는,
    상기 제 1 웹 서비스 구현에 대한 제 1 웹 서비스 구현 웹 서비스 정의 언어(WSDL) 문서를 획득하는 단계와,
    상기 웹 서비스 구현 WSDL 문서로부터의 정보를 이용하여 상기 요청을 다루기 위한 상기 하나 이상의 또 다른 웹 서비스 구현에 각각에 대한 WSDL 문서를 획득하는 단계
    를 포함하는 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    보안 폴리시를 상기 요청에 적용하는 단계를 더 포함하되,
    상기 보안 폴리시를 적용하는 상기 단계는,
    상기 요청의 적어도 일부분을 암호화하는 단계와,
    상기 요청에 웹 클라이언트 키를 부가하는 단계와,
    보안 애플리케이션 층 프로토콜을 사용하여 상기 요청을 전송하는 단계
    중 하나 이상을 포함하는 방법.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 웹 클라이언트에 특정적인 정보를 상기 요청에 부가하는 단계를 더 포함하되, 상기 부가 단계는,
    상기 클라이언트 데이터 프로세싱 호스트의 IP 어드레스를 부가하는 단계와,
    상기 클라이언트 데이터 프로세싱 호스트의 머신 식별자를 부가하는 단계와,
    웹 클라이언트 키를 부가하는 단계
    중 하나 이상을 포함하는 방법.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 폴리시 데이터는 응답 시간 요건, 보안 레벨 요건, 트랜잭션 요건, 비용 요건, 유용성 요건, 애플리케이션 층 프로토콜 요건, 부가적인 정보 요건 및 웹 서비스 구현 요건 중 하나 이상을 지정하는 방법.
  10. 웹 클라이언트로부터의 요청을 변형하는 클라이언트 데이터 프로세싱 장치에 있어서,
    상기 요청을 인터셉트하는 수단과,
    상기 요청에 지정된 제 1 웹 서비스 구현을 제 2 웹 서비스 구현으로 변경하는 수단과
    상기 요청을 상기 제 2 웹 서비스 구현에 전송하여 상기 제 2 웹 서비스 구현이 요청을 처리할 수 있도록 하는 수단
    을 포함하되, 상기 제 2 웹 서비스 구현을 변경하는 수단은 상기 웹 클라이언트와 연관된 폴리시 데이터에 기초하여 상기 제 2 웹 서비스 구현을 선택하도록 동작가능한
    장치.
  11. 제 10 항에 있어서,
    상기 요청은 제 1 애플리케이션 층 프로토콜에서 지정되고, 상기 장치는 제 2 애플리케이션 층 프로토콜로 지정되도록 상기 요청을 수정하는 수단을 더 포함하는 장치.
  12. 제 10 항 또는 제 11 항에 있어서,
    SOCKS 프록시를 더 포함하고, 상기 요청을 인터셉트하는 상기 수단은 상기 SOCK 프록시를 호출하고 상기 요청의 호출 세부사항을 포함하도록 동작가능한 장치.
  13. 제 10 항 또는 제 11 항에 있어서,
    HTTP 프록시를 포함하고, 상기 요청을 인터셉트하는 상기 수단은 HTTP 프록시를 또한 호출하고 상기 요청의 호출 세부사항을 포함하도록 동작가능한 장치.
  14. 제 10 항 내지 제 13 항 중 어느 한 항에 있어서,
    상기 요청을 다루기 위한 하나 이상의 또 다른 웹 서비스 구현을 발견하는 수단과,
    발견된 상기 하나 이상의 또 다른 웹 서비스부터 상기 제 2 웹 서비스 구현을 선택하는 수단
    을 더 포함하는 장치.
  15. 제 14 항에 있어서,
    상기 발견 수단은,
    상기 제 1 웹 서비스 구현에 대한 제 1 웹 서비스 구현 웹 서비스 정의 언어(WSDL) 문서를 획득하는 수단과,
    상기 웹 서비스 구현 WSDL 문서로부터의 정보를 이용하여 상기 요청을 다루기 위한 상기 하나 이상의 또 다른 웹 서비스 구현에 각각에 대한 WSDL 문서를 획득하는 수단
    을 포함하는 장치.
  16. 제 10 항 내지 제 15 항 중 어느 한 항에 있어서,
    보안 폴리시를 상기 요청에 적용하는 수단을 더 포함하되,
    상기 보안 폴리시를 적용하는 상기 수단은,
    상기 요청의 적어도 일부분을 암호화하는 수단과,
    상기 요청에 웹 클라이언트 키를 부가하는 수단과,
    보안 전송 메카니즘을 사용하여 상기 요청을 전송하는 수단
    중 하나 이상을 포함하는 장치.
  17. 제 10 항 내지 제 16 항 중 어느 한 항에 있어서,
    상기 웹 클라이언트에 특정적인 정보를 상기 요청에 부가하는 수단을 더 포함하되, 상기 부가 수단은,
    상기 클라이언트 데이터 프로세싱 호스트의 IP 어드레스를 부가하는 수단과,
    상기 클라이언트 데이터 프로세싱 호스트의 머신 식별자를 부가하는 수단과,
    웹 클라이언트 키를 부가하는 수단
    중 하나 이상을 포함하는 장치.
  18. 제 10 항 내지 제 17 항 중 어느 한 항에 있어서,
    상기 폴리시 데이터는 응답 시간 요건, 보안 레벨 요건, 트랜잭션 요건, 비용 요건, 유용성 요건, 애플리케이션 층 프로토콜 요건, 부가적인 정보 요건 및 웹 서비스 구현 요건 중 하나 이상을 지정하는 장치.
  19. 데이터 프로세싱 호스트 상에서 실행되는 경우 상기 데이터 프로세싱 호스트가 청구항 1 항 내지 9 항의 방법을 수행하도록 야기하는 인스트럭션을 포함하는 컴퓨터 프로그램 제품.
KR1020057015056A 2003-03-15 2003-12-05 클라이언트 데이터 프로세싱 방법 및 장치, 컴퓨터 판독가능 저장 매체 KR100800350B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0305959.9A GB0305959D0 (en) 2003-03-15 2003-03-15 Client web service access
GB0305959.9 2003-03-15

Publications (2)

Publication Number Publication Date
KR20050117521A true KR20050117521A (ko) 2005-12-14
KR100800350B1 KR100800350B1 (ko) 2008-02-04

Family

ID=9954841

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057015056A KR100800350B1 (ko) 2003-03-15 2003-12-05 클라이언트 데이터 프로세싱 방법 및 장치, 컴퓨터 판독가능 저장 매체

Country Status (9)

Country Link
US (1) US20070005777A1 (ko)
EP (1) EP1604506B1 (ko)
KR (1) KR100800350B1 (ko)
CN (1) CN100563260C (ko)
AT (1) ATE353518T1 (ko)
AU (1) AU2003285597A1 (ko)
DE (1) DE60311684T2 (ko)
GB (1) GB0305959D0 (ko)
WO (1) WO2004084522A1 (ko)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7249195B2 (en) 2001-03-30 2007-07-24 Minor Ventures, Llc Apparatus and methods for correlating messages sent between services
GB0308523D0 (en) * 2003-04-12 2003-05-21 Ibm Access to web services
US9106479B1 (en) * 2003-07-10 2015-08-11 F5 Networks, Inc. System and method for managing network communications
US7404189B2 (en) * 2003-12-30 2008-07-22 International Business Machines Corporation Scheduler supporting web service invocation
US7802007B2 (en) 2004-05-19 2010-09-21 Salesforce.Com, Inc. Techniques for providing connections to services in a network environment
US7653008B2 (en) 2004-05-21 2010-01-26 Bea Systems, Inc. Dynamically configurable service oriented architecture
US7681202B2 (en) * 2004-05-21 2010-03-16 Sap Portals Israel Ltd. Portal runtime framework
US7774485B2 (en) * 2004-05-21 2010-08-10 Bea Systems, Inc. Dynamic service composition and orchestration
US8615601B2 (en) * 2004-05-21 2013-12-24 Oracle International Corporation Liquid computing
US8312132B2 (en) 2004-08-20 2012-11-13 Core Wireless Licensing S.A.R.L. Context data in UPNP service information
US20060106856A1 (en) * 2004-11-04 2006-05-18 International Business Machines Corporation Method and system for dynamic transform and load of data from a data source defined by metadata into a data store defined by metadata
EP1675022A1 (en) * 2004-12-22 2006-06-28 Sap Ag A method and a system for integrating semantic web services into a existing web service infrastructure
US7509398B2 (en) * 2005-01-13 2009-03-24 International Business Machines Corporation System and method for protocol independent access and invocation of web services
FR2880716A1 (fr) * 2005-01-13 2006-07-14 Gemplus Sa Personnalisation de service dans un dispositif terminal
US7657924B2 (en) * 2005-04-06 2010-02-02 International Business Machines Corporation Method and system for implementing authorization policies for web services
US9692725B2 (en) 2005-05-26 2017-06-27 Citrix Systems, Inc. Systems and methods for using an HTTP-aware client agent
US9407608B2 (en) 2005-05-26 2016-08-02 Citrix Systems, Inc. Systems and methods for enhanced client side policy
US8943304B2 (en) * 2006-08-03 2015-01-27 Citrix Systems, Inc. Systems and methods for using an HTTP-aware client agent
US9621666B2 (en) 2005-05-26 2017-04-11 Citrix Systems, Inc. Systems and methods for enhanced delta compression
FR2887718A1 (fr) * 2005-09-30 2006-12-29 France Telecom Dispositif et procede pour realiser l'interface entre un equipement informatique et un serveur http
US8819181B2 (en) * 2006-03-17 2014-08-26 Apple Inc. Adaptable network service access through dynamic request routing
US8561155B2 (en) * 2006-08-03 2013-10-15 Citrix Systems, Inc. Systems and methods for using a client agent to manage HTTP authentication cookies
US8392977B2 (en) * 2006-08-03 2013-03-05 Citrix Systems, Inc. Systems and methods for using a client agent to manage HTTP authentication cookies
CN101127757B (zh) * 2006-08-18 2011-02-09 国际商业机器公司 控制Web服务策略的方法和装置
US20080104203A1 (en) * 2006-10-31 2008-05-01 Microsoft Corporation Viewing Digital Information Over a Network
GB0623904D0 (en) * 2006-11-30 2007-01-10 Ibm A method,apparatus and computer program for modifying an endpointreference representing a web service endpoint
US8380880B2 (en) * 2007-02-02 2013-02-19 The Mathworks, Inc. Scalable architecture
US20080244078A1 (en) * 2007-03-26 2008-10-02 Pieter Viljoen Web services intermediary
US7822828B2 (en) * 2007-09-17 2010-10-26 Gm Global Technology Operations, Inc. System for using non-standard transfer protocol from software received at in-vehicle communications gateway for exchanging data with client device
US7818403B2 (en) * 2007-09-17 2010-10-19 Gm Global Technology Operations, Inc. System for using non-standard transfer protocol from software received at client device for exchanging data with in-vehicle communications gateway
US7849224B2 (en) * 2007-09-17 2010-12-07 Gm Global Technology Operations, Inc. Method and apparatus for implementing a mobile server
US20090132463A1 (en) * 2007-11-19 2009-05-21 Emericon, L.L.C. System and method for facilitating transition between ibm® websphere® mq workflow and ibm® websphere® process server
US8769660B2 (en) 2008-01-26 2014-07-01 Citrix Systems, Inc. Systems and methods for proxying cookies for SSL VPN clientless sessions
US8254381B2 (en) * 2008-01-28 2012-08-28 Microsoft Corporation Message processing engine with a virtual network interface
DE102008002787A1 (de) * 2008-02-29 2009-09-03 Schneider Electric Gmbh 4-Phasen-Interaktionsmuster basierend auf Port-Typ-Protokollen für die Verwendung von Lebenszyklen von Services, welche durch serviceorientierte Geräte bereitgestellt werden
US7904561B2 (en) * 2008-05-15 2011-03-08 International Business Machines Corporation Brokering mobile web services
US20090307233A1 (en) * 2008-06-02 2009-12-10 Guorui Zhang Efficient Handling of PMU Data for Wide Area Power System Monitoring and Visualization
US20100031309A1 (en) * 2008-07-31 2010-02-04 International Business Machines Corporation Policy based control of message delivery
US8661334B1 (en) * 2010-03-30 2014-02-25 Amazon Technologies, Inc. Mapping behavior to data
US8380845B2 (en) 2010-10-08 2013-02-19 Microsoft Corporation Providing a monitoring service in a cloud-based computing environment
US8843632B2 (en) 2010-10-11 2014-09-23 Microsoft Corporation Allocation of resources between web services in a composite service
US8959219B2 (en) 2010-10-18 2015-02-17 Microsoft Technology Licensing, Llc Dynamic rerouting of service requests between service endpoints for web services in a composite service
US8874787B2 (en) * 2010-10-20 2014-10-28 Microsoft Corporation Optimized consumption of third-party web services in a composite service
US8510426B2 (en) 2010-10-20 2013-08-13 Microsoft Corporation Communication and coordination between web services in a cloud-based computing environment
US8862870B2 (en) 2010-12-29 2014-10-14 Citrix Systems, Inc. Systems and methods for multi-level tagging of encrypted items for additional security and efficient encrypted item determination
CN102790712B (zh) * 2011-05-17 2015-07-15 北京航空航天大学 Web服务安全处理方法及系统
US9609077B1 (en) * 2012-05-30 2017-03-28 Crimson Corporation Forwarding content on a client based on a request
RU2635276C1 (ru) * 2016-06-24 2017-11-09 Акционерное общество "Лаборатория Касперского" Безопасная аутентификация по логину и паролю в сети Интернет с использованием дополнительной двухфакторной аутентификации
CN109284968B (zh) * 2017-07-19 2022-02-01 华润微电子(重庆)有限公司 签核系统的管理方法、签核系统、可读存储介质及服务器
DE102022107431B3 (de) 2022-03-29 2023-05-11 Volkswagen Aktiengesellschaft Verfahren zum Nachrüsten einer Socks-Kompatibilität für zumindest eine Anwendung in einem Kraftfahrzeug sowie entsprechend eingerichtetes Kraftfahrzeug

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6097882A (en) * 1995-06-30 2000-08-01 Digital Equipment Corporation Method and apparatus of improving network performance and network availability in a client-server network by transparently replicating a network service
US6029175A (en) * 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
US5781550A (en) * 1996-02-02 1998-07-14 Digital Equipment Corporation Transparent and secure network gateway
US5673322A (en) * 1996-03-22 1997-09-30 Bell Communications Research, Inc. System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks
US6016516A (en) * 1996-08-07 2000-01-18 Fuji Xerox Co. Ltd. Remote procedure processing device used by at least two linked computer systems
US5892903A (en) * 1996-09-12 1999-04-06 Internet Security Systems, Inc. Method and apparatus for detecting and identifying security vulnerabilities in an open network computer communication system
US6173322B1 (en) * 1997-06-05 2001-01-09 Silicon Graphics, Inc. Network request distribution based on static rules and dynamic performance data
US6247050B1 (en) * 1997-09-12 2001-06-12 Intel Corporation System for collecting and displaying performance improvement information for a computer
US6598167B2 (en) * 1997-09-26 2003-07-22 Worldcom, Inc. Secure customer interface for web based data management
CA2228687A1 (en) * 1998-02-04 1999-08-04 Brett Howard Secured virtual private networks
US6732175B1 (en) * 2000-04-13 2004-05-04 Intel Corporation Network apparatus for switching based on content of application data
US6922832B2 (en) * 2000-12-12 2005-07-26 Lockheed Martin Corporation Execution of dynamic services in a flexible architecture for e-commerce
GB2400961B (en) * 2001-05-02 2004-12-29 Virtual Access Ltd Secure payment method and system
US20030163450A1 (en) * 2001-05-25 2003-08-28 Joram Borenstein Brokering semantics between web services
US7254614B2 (en) * 2001-11-20 2007-08-07 Nokia Corporation Web services push gateway

Also Published As

Publication number Publication date
KR100800350B1 (ko) 2008-02-04
EP1604506B1 (en) 2007-02-07
CN100563260C (zh) 2009-11-25
AU2003285597A1 (en) 2004-10-11
ATE353518T1 (de) 2007-02-15
WO2004084522A1 (en) 2004-09-30
DE60311684T2 (de) 2007-11-22
US20070005777A1 (en) 2007-01-04
GB0305959D0 (en) 2003-04-23
CN1692617A (zh) 2005-11-02
EP1604506A1 (en) 2005-12-14
DE60311684D1 (de) 2007-03-22

Similar Documents

Publication Publication Date Title
KR100800350B1 (ko) 클라이언트 데이터 프로세싱 방법 및 장치, 컴퓨터 판독가능 저장 매체
EP1379045B1 (en) Arrangement and method for protecting end user data
US5987523A (en) Applet redirection for controlled access to non-orginating hosts
US7739382B2 (en) Dynamic extension of network-accessible services
US7003799B2 (en) Secure routable file upload/download across the internet
US7853674B2 (en) System and method for provisioning component applications
US7729363B2 (en) System and method for managing communication for component applications
US7565533B2 (en) Systems and methods for providing object integrity and dynamic permission grants
US7921152B2 (en) Method and system for providing user control over receipt of cookies from e-commerce applications
JP4363847B2 (ja) インタラクティブ・テレビ用のデジタル・テレビ・アプリケーション・プロトコル
US6343323B1 (en) Resource retrieval over a source network determined by checking a header of the requested resource for access restrictions
US7003574B1 (en) Session load balancing and use of VIP as source address for inter-cluster traffic through the use of a session identifier
US11915183B2 (en) Method and system for accessing local computer resources through a web browser
US7903656B2 (en) Method and system for message routing based on privacy policies
KR100404294B1 (ko) 서버측 쿠키 단지를 사용하는 url 기반의 스티키라우팅 토큰
EP1533982A2 (en) System and method for pre-fetching secure content in a proxy architecture via transparent secure connections
KR20040071203A (ko) 프록시를 이용하여 데이터를 다운로딩하기 위한 시스템 및방법
JP2004529410A (ja) インタラクティブ・テレビ用のサービス・ゲートウェイ
US20070124477A1 (en) Load Balancing System
CA2533608C (en) System and method for provisioning component applications
EP1684482B1 (en) System and method for managing communication for component applications
US8499031B1 (en) Markup language messaging service for secure access by edge applications
CN106355101B (zh) 一种面向简易存储服务的透明文件加解密系统及其方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20130102

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131227

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141215

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151228

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161228

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20171227

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee