KR20060060654A - 요청을 비동기적으로 처리하기 위한 방법, 시스템 및프로그램 제품 - Google Patents

요청을 비동기적으로 처리하기 위한 방법, 시스템 및프로그램 제품 Download PDF

Info

Publication number
KR20060060654A
KR20060060654A KR1020067000039A KR20067000039A KR20060060654A KR 20060060654 A KR20060060654 A KR 20060060654A KR 1020067000039 A KR1020067000039 A KR 1020067000039A KR 20067000039 A KR20067000039 A KR 20067000039A KR 20060060654 A KR20060060654 A KR 20060060654A
Authority
KR
South Korea
Prior art keywords
response
client
request
url
identifier
Prior art date
Application number
KR1020067000039A
Other languages
English (en)
Other versions
KR100737298B1 (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 KR20060060654A publication Critical patent/KR20060060654A/ko
Application granted granted Critical
Publication of KR100737298B1 publication Critical patent/KR100737298B1/ko

Links

Images

Classifications

    • 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
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Circuits Of Receivers In General (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명에 따르면, 유니폼 리소스 로케이터(URL)에 대한 요청이 서버(14) 상에서 클라이언트(12)로부터 수신된다. 수신시, 대응하는 세션 개체가 취득되고, 응답 식별자가 형성된다. 응답 식별자에 기초하여, URL이 클라이언트에 의해 이미 요청되었는지의 여부가 판정된다. 그렇지 않다면, 최종 응답의 형성이 시작된다. 응답이 형성되고 있으면, 응답 갱신 헤더가 형성되어 임시 응답으로 클라이언트에 보내진다. 응답 갱신 헤더는 클라이언트가 URL에 대한 후속 요청을 자동으로 보낼 수 있도록 하기 위한 시간 값을 포함한다. 최종 응답의 형성이 완료된 후에, 이것은 응답 식별자에 따라 캐시(40)에 저장되게 된다. 다음에, 후속 요청이 클라이언트로부터 수신되면, 최종 응답이 캐시로부터 검색되어 클라이언트에 보내진다.
클라이언트, 응답 식별자, URL, 응답 갱신 헤더, 캐시, 세션 개체,

Description

요청을 비동기적으로 처리하기 위한 방법, 시스템 및 프로그램 제품{METHOD, SYSTEM AND PROGRAM PRODUCT FOR ASYNCHRONOUSLY PROCESSING REQUESTS}
본 발명은 요청을 비동기적으로 처리하기 위한 방법, 시스템 및 프로그램 제품에 관한 것이다. 본 발명은 특히 클라이언트와의 지속적인 연결을 유지하지 않고도 네트워크 계통의 요청 (예를 들어, 웹 요청)이 어플리케이션 서버에 의해 처리될 수 있도록 한다.
인터넷의 이용이 더욱 보편화되면서, 웹 유저는 정보원으로 월드 와이드 웹에 점차 더 의존하게 된다. 전형적인 구현예로, 유저는 클라이언트에서 웹 브라우저를 운용하게 되며, 특정 웹 페이지의 "요청"을 서버에 제출한다. 서버 상의 하나 이상의 "서블렛" (등)이 요청을 처리하여 적당한 웹 페이지를 브라우저에 보내게 된다. 이렇게 보편적으로 이용되고 있는 하나의 특정 기술이 웹 포털 페이지의 개념이다. 일반적으로, 웹 포털 페이지는 유저가 목표로 하는 개인화된 컨텐트를 수신하는 메커니즘을 제공한다. 통상, 포털 페이지는 각각 유저의 선호도에 따라 선택되어 포맷된 특정 포털 컨텐트를 포함하는 섹션이나 실제 포틀렛을 포함한다. 예를 들어, 유저는 뉴스, 날씨 및 스포츠의 섹션을 갖는 그들만의 포털 페이지를 만들 수 있다. 포털 페이지가 요청되면, 서버 상의 포털 프로그램은 적당한 컨텐 트 프로바이더로부터 원하는 컨텐트를 취득하게 된다. 일단 취득되면, 포털 컨텐트가 모아지고, 다음에 웹 포털 페이지로서 적당한 섹션에 디스플레이된다. 이 기술은 개인 웹 유저가 개인화 "홈" 페이지의 전개에 이를 수 있게 한다.
불행히도, 이들 각각의 경우에, 요청과 응답의 취급은 동기적으로 행해지지 않는다. 즉, 요청을 서버에 보내고, 클라이언트와 서버 간의 연결은 응답이 돌아올 때 까지 유지되게 된다. 이런 식으로 연결을 유지하는 것은 다른 작업을 실행하려는 클라이언트의 능력을 제한하거나 방해할 뿐만 아니라, 서버가 다른 클라이언트와 연결하는 능력을 제한하거나 방해할 수 있다. 이것은 응답이 서블렛/포틀렛으로 처리되어야 하는 경우 특히 그렇다. 예를 들어, 포털 페이지의 경우, 요청에 대한 응답을 형성하는 것은 수많은 컨텐트 소스와의 인터페이싱을 필요로 한다. 이와 같이, 응답의 형성은 수초 걸릴 수 있다. 클라이언트와 서버 간의 연결을 이 전 시간에 걸쳐 유지하는 경우, 상기한 문제가 발생하게 된다.
이 기술에서는 알려진 바와 같이, 하이퍼텍스트 트랜스퍼 프로토콜 (HTTP)에서는, 서버가 일반적으로, 클라이언트와의 연결을 초기화할 수가 없다. 그보다, 클라이언트가 서버와의 연결을 초기화해야 한다. 따라서, 클라이언트와 서버 간의 연결이 요청이 처리되고 있는 동안 종료되게 되면, 클라이언트만이 새로운 연결을 초기화하여 응답을 수신할 수 있다. 현재, 기존의 기술로는 나중에 연결을 재성립하기 위해 클라이언트의 세심한 수동적 변경을 필요로 하지 않고는, 요청이 처리되고 있는 중에 클라이언트와 서버 간의 연결이 종료되는 것이 가능하지가 않다.
본 발명은 클라이언트로부터의 요청이 처리되고 있는 동안 클라이언트와 서버 간의 연결이 종료되게 하고 클라이언트 측에서의 수정이나 신중한 동작을 필요로 하지 않고 나중에 클라이언트가 서버와의 새로운 연결을 자동으로 설정할 수 있게 한다.
일반적으로, 본 발명은 요청을 비동기식으로 처리하기 위한 방법, 시스템 및 프로그램 제품을 제공한다. 특히, 본 발명에서는, 유니폼 리소스 로케이터(URL)의 요청이 서버상에서 클라이언트로부터 수신된다. 수신시, 대응하는 세션 개체가 취득되고, 응답 식별자가 형성된다. 응답 식별자에 기초하여, URL이 클라이언트에 의해 이미 요청되었는지가 판정된다. 그렇지 않다면, 최종 응답의 형성이 시작된다. 응답이 형성되고 있기 때문에, 응답 갱신 헤더가 형성되어 임시 응답으로 클라이언트에 보내진다. 응답 갱신 헤더는 클라이언트가 URL에 대한 후속의 요청을 자동으로 보내도록 하기 위한 시간 값을 포함한다. 최종 응답의 형성이 완료된 후에, 이것은 응답 식별자에 따라 캐시에 저장된다. 다음에, 후속의 요청이 응답 갱신 헤더의 시간 값 만료 이후에 클라이언트로부터 수신될 때, 최종 응답이 응답 식별자에 기초하여 캐시로부터 검색되어, 클라이언트에 보내진다.
본 발명의 제1 형태는 클라이언트로부터 유니폼 리소스 로케이터(URL)에 대한 요청을 수신하는 단계; 요청에 대응하는 세션 개체를 취득하는 단계; 세션 식별자와 URL에 기초하여 응답 식별자를 형성하는 단계; URL이 응답 식별자에 기초하여 클라이언트에 의해 이미 요청되었는지를 판정하는 단계; 및 클라이언트가 URL에 대한 후속의 요청을 자동으로 보내게 하기 위한 시간 값을 포함하는 응답 갱신 헤더를 생성하는 단계를 포함하는, 요청을 비동기적으로 처리하기 위한 방법을 제공한다.
본 발명의 제2 형태는 클라이언트로부터 유니폼 리소스 로케이터(URL)에 대한 요청을 수신하는 단계; 요청에 대응하는 세션 개체를 취득하는 단계; 세션 식별자와 URL에 기초하여 응답 식별자를 형성하는 단계; URL이 응답 식별자에 기초하여 클라이언트에 의해 이미 요청되었는지를 판정하는 단계; URL이 이미 클라이언트에 의해 요청된 경우, 응답 식별자에 기초하여 요청에 대한 최종 응답에 대해 캐시를 체킹하는 단계; 및 최종 응답이 완료되지 않은 경우, 클라이언트가 URL에 대한 후속의 요청을 자동으로 보내도록 하기 위한 시간 값을 포함하는 응답 갱신 헤더를 형성하는 단계를 포함하는, 요청을 비동기적으로 처리하기 위한 방법을 제공한다.
본 발명의 제3 형태는 클라이언트로부터 수신된 유니폼 리소스 로케이터 (URL)에 대한 요청에 대해 세션 개체를 취득하기 위한 개체 시스템; 세션 식별자와 URL에 기초하여 응답 식별자를 형성하기 위한 응답 식별자 시스템; URL이 클라이언트에 의해 이미 요청되었는지를 판정하기 위한 요청 체킹 시스템; 및 클라이언트가 URL에 대한 후속의 요청을 자동으로 보내도록 하기 위한 시간 값을 포함하는 응답 갱신 헤더를 형성하기 위한 헤더 형성 시스템을 포함하는, 요청을 비동기적으로 처리하기 위한 시스템을 제공한다.
본 발명의 제4 형태는 요청을 비동기적으로 처리하기 위한 기록 가능 매체 상에 저장된 프로그램 제품을 제공하며, 이것은 실행시, 클라이언트로부터 수신된 유니폼 리소스 로케이터(URL)에 대한 요청에 대해 세션 개체를 취득하기 위한 프로그램 코드; 세션 식별자와 URL에 기초하여 응답 식별자를 형성하기 위한 프로그램 코드; URL이 클라이언트에 의해 이미 요청되었는지를 판정하기 위한 프로그램 코드; 및 클라이언트가 URL에 대한 후속의 요청을 자동으로 보내도록 하기 위한 시간 값을 포함하는 응답 갱신 헤더를 형성하기 위한 프로그램 코드를 포함한다.
본 발명은 첨부한 도면에서 나타낸 바와 같이, 바람직한 실시예를 참조하여 오직 예시적으로만 이하 설명될 것이다.
도 1은 본 발명에 따라서 요청을 비동기식으로 처리하기 위한 시스템을 도시한다.
도 2는 도 1의 요청 처리 시스템을 더욱 상세히 나타낸다.
도 3은 본 발명에 따른 방법의 흐름도를 나타낸다.
도면은 본 발명의 특정 파라미터를 표현하고자 하는 것이 아니고, 단순히 개략적으로 나타내고 있는 것이다. 또한 이 도면은 본 발명의 전형적인 실시예만을 나타내기 위한 것이지, 본 발명의 영역을 한정하고자 하는 것이 아니다. 도면에서 유사한 부호는 유사한 소자를 나타낸다.
상술한 바와 같이, 본 발명은 요청을 비동기적으로 처리하기 위한 방법, 시스템 및 프로그램 제품을 제공한다. 구체적으로, 본 발명에서는 유니폼 리소스 로케이터 (URL)에 대한 요청이 서버 상의 클라이언트로부터 수신되게 된다. 수신시, 대응하는 세션 개체가 취득되고, 응답 식별자가 형성된다. 응답 식별자에 기초하 여, URL이 클라이언트에 의해 이미 요청되었는지가 판정된다. 그렇지 않다면, 최종 응답의 형성이 시작된다. 응답이 형성되고 있기 때문에, 응답 갱신 헤더가 형성되어 임시 응답으로 클라이언트에 보내진다. 응답 갱신 헤더는 클라이언트가 URL에 대한 후속의 요청을 자동으로 보내도록 하기 위한 시간 값을 포함한다. 최종 응답의 형성이 완료된 후에, 이것은 응답 식별자에 따라 캐시에 저장된다. 다음에, 후속의 요청이 응답 갱신 헤더의 시간 값 만료 이후에 클라이언트로부터 수신될 때, 최종 응답이 응답 식별자에 기초하여 캐시로부터 검색되어, 클라이언트에 보내진다. 따라서 여기에 개시된 것은 하이퍼텍스트 트랜스퍼 프로토콜 (HTTP)를 지원하는 모든 브라우저/시스템과 관련하여 구현될 수 있다.
먼저 여기에서 이용되는 용어 "요청"은 웹 요청과 같이 클라이언트로부터 서버에 발해진 네트워크 계통의 요청을 말한다는 것을 이해해야 한다. 통상적으로, 요청은 특정 유니폼 리소스 로케이터 (URL)에 대한 것이다. 이렇게 이하 후술되는 바와 같이, 요청은 하나 이상의 서블렛, 포틀렛 등에 의해 서버 상에서 처리될 수 있다.
이하 도 1을 참조하여 설명하면, 요청을 비동기식으로 처리하기 위한 시스템(10)이 나타나 있다. 본 발명에서, 클라이언트(12) 및 서버(14)는 임의 유형의 컴퓨터화 시스템를 나타낼 수 있다. 예를 들어, 클라이언트(12) 및/또는 서버(14)는 퍼스널 컴퓨터, 워크스테이션, 랩톱, 핸드헬드 장치 등일 수 있다. 일반적으로, 클라이언트(12)는 네트워크 상에서 서버(14)와 통신한다. 더구나, 이하 후술되는 바와 같이 클라이언트(12)와 서버(14) 간의 통신은 인터넷과 같은 임의 유형의 공 중 네트워크 또는 근거리 통신망 (LAN), 원거리 통신망(WAN), 가상 사설망(VPN) 등의 임의의 사설망에서 발생할 수 있다. 일 실시예에서, 서버(14)는 포털 페이지를 클라이언트(12)에 전달하는 포털 서버 등의 어플리케이션 서버이다. 어느 경우에나 유저(16)는 웹 페이지를 서버(14)로부터 요청하기 위해 클라이언트(12)에서 웹 브라우저(18)를 운용하게 된다. 서버(14)는 여러 컨텐트 소스(20)로부터 컨텐트를 취득함으로써 웹 페이지 (예를 들어, 요청에 대한 최종 응답)를 형성하게 된다. 이것이 일단 형성되면, 웹 페이지는 요청한 클라이언트(12)로 다시 돌아간다.
나타낸 바와 같이, 서버(14)는 일반적으로 중앙 연산 유닛(CPU; 22), 메모리(24), 버스(26), 입/출력(I/O) 인터페이스(28), 외부 장치/리소스(30) 및 저장 유닛(32)를 포함한다. CPU(22)는 하나의 처리 유닛를 포함하거나, 예를 들어, 클라이언트와 컴퓨터 시스템 상에서, 하나 이상의 위치에서 하나 이상의 처리 유닛에 걸쳐 분산될 수 있다. 메모리(24)는 자기 매체, 광학 매체, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 데이터 캐시(40), 데이터 개체 등을 포함하는 임의의 공지된 유형의 데이터 저장소 및/또는 전송 매체를 포함할 수 있다. 더구나, CPU(22)와 유사하게, 메모리(24)는 하나 이상의 유형의 데이터 저장소를 포함하는 하나의 물리적 위치에 놓일 수 있거나, 여러 유형으로 된 복수의 물리적 시스템에 걸쳐 분산될 수 있다.
I/O 인터페이스(28)는 외부 소스에/로부터 정보를 교환하기 위한 시스템을 포함할 수 있다. 외부 장치/리소스(30)는 스피커, CRT, LCD 스크린, 핸드 헬드 장치, 키보드, 마우스, 음성 인식 시스템, 음성 출력 시스템, 프린터, 모니터/디스플 레이, 팩시밀리, 페이저 등을 포함하는 공지된 유형의 외부 장치를 포함할 수 있다. 버스(26)는 서버(14)의 각 구성 요소 간의 통신 링크를 제공하며 유사하게 전기, 광학, 무선 등을 포함하는 공지된 유형의 전송 링크를 포함할 수 있다.
저장 유닛(32)은 본 발명에서 정보 저장을 제공할 수 있는 시스템(예를 들어, 데이터베이스)일 수 있다. 이런 정보는 무엇 보다도, 세션 개체, 응답 식별자, 임시 응답 등을 포함할 수 있다. 이와 같이, 저장 유닛(32)은 자기 디스크 드라이브 또는 광 디스크 드라이브 등의 하나 이상의 저장 장치를 포함한다. 다른 실시예에서, 저장 유닛(32)은 예를 들어, 근거리 통신망(LAN), 원거리 통신망(WAN), 또는 저장 장치 영역망(SAN)(도시 생략)에 걸쳐 분산된 데이터를 포함한다.
상기된 바와 같이, 본 발명의 개시는 인터넷, 원거리 통신망 (WAN), 근거리 통신망(LAN), 가상 사설망(VPN), 등에 의한 네트워크 환경에서 보통 구현된다. 이렇게 클라이언트(12)와 서버(14) 간의 통신은 직접적 유선 연결 (예를 들어, 직렬 포트)를 통해, 또는 유선 및/또는 무선 전송법의 조합을 이용할 수 있는 어드레스 가능한 연결을 통해 발생할 수 있다. 서버(14)와 클라이언트(12)는 토큰 링(Token Ring), 이더넷(Ethernet), WiFi 또는 그 외 종래의 통신 표준과 같은 종래의 네트워크 연결을 이용할 수 있다. 더구나, 종래의 TCP/IP 소켓 게통의 프로토콜에 의해서도 연결이 제공될 수 있다. 이 경우, 클라이언트(12)는 인터넷 서비스 프로바이더를 이용하여 서버(14)에의 연결을 성립할 수 있다.
메모리(24)에는 요청 처리 시스템(36), 서블렛/포틀렛(38) 및 캐시(40)가 나타나 있다. 일반적으로, 요청 처리 시스템(36)은 클라이언트(12) 또는 브라우저 (18) 측에서의 수정이나 동작을 요하지 않고, 클라이언트(12)로부터의 요청이 비동기적으로 처리될 수 있도록 한다. 또한 요청 처리 시스템(36)은 현재의 포털 또는 어플리케이션 서버 프로그램의 구성 요소 중 일부나 모두를 포함할 수 있다. 예를 들어, 요청 처리 시스템(36)은 웹스피어(WebSphere) 어플리케이션 서버 및/또는 웹스피어 포털 서버의 구성 요소와 결합될 수 있다 (웹스피어는 IBM사의 등록 상표임).
도 1 및 도 2를 함께 참조하여, 이하 본 발명을 더욱 상세히 설명한다. 도 2에 나타낸 요청 처리 시스템(36)의 실시예는 오직 설명을 위한 것임을 미리 이해해 두어야 한다. 이와 같이, 이의 서브시스템은 더 많거나 적은 서브시스템으로 구현될 수 있다. 예를 들어, 입력 시스템(50) 및 출력 시스템(68)은 하나의 "통신 시스템"에 결합될 수 있다. 어느 경우에서나, 본 발명에 의하면 요청이 클라이언트(12)로부터 보내지면, 입력 시스템(50)에 의해 수신되게 된다. 수신시, 개체 시스템(52)은 클라이언트(12)와 서버 시스템(14) 간의 세션에 대응하는 세션 개체를 취득하게 된다. 세션 개체는 무엇보다도, 세션에 대응하는 세션 식별자를 나타낸다. 세션이 새로운 세션이면, 개체 시스템(52)은 세션 개체를 형성하여 이를 저장 유닛(32)에 저장한다. 반대로, 세션이 이미 형성되어 있는 경우에는, 개체 시스템(52)은 저장 유닛(32)으로부터 세션 개체를 검색할 수 있다. 그래도, 일단 세션 개체가 취득되면, 응답 식별자 시스템(54)는 응답 식별자를 형성한다. 통상, 응답 식별자는 세션 개체로부터의 세션 식별자 및 요청된 유니폼 소스 로케이터(URL)의 해쉬 (hash)를 포함한다. 이로써 요청된 특정 세션과 URL 둘다를 참조할 수가 있 다.
응답 식별자가 형성되면, 요청 체킹 시스템(56)은 URL이 클라이언트(12)에 의해 이미 요청된 것인지를 판정하게 된다. 구체적으로, 요청 체킹 시스템(56)은 세션 개체의 "요청" 테이블을 액세스하게 된다. 응답 식별자가 여기에 목록화되어 있는 경우, 이것은 URL이 클라이언트(12)에 의해 이미 요청된 것을 의미한다. 이 경우, 캐시 체킹 시스템(58)은 캐시(40)를 체크하여 요청에 대한 최종 응답이 완료되었는지를 판정한다. 일반적으로, 요청에 대한 최종 응답은 응답 식별자에 따라 응답 캐시 시스템(66)에 의해 캐시된다. 따라서, 캐시 체킹 시스템은 일치하는 응답 식별자에 대해 캐시(40)를 체크할 수 있다. 최종 응답이 완료되면, 이것은 출력 시스템(68)을 거쳐 클라이언트(12)로 돌아간다.
그러나, 요청 체킹 시스템(56)이 응답 식별자가 세션 개체의 요청 테이블에 목록화되어 있지 않다고 (즉, URL이 클라이언트(12)에 의해 이미 요청되지 않았다고) 판정하게 되면, 이 요청을 명령 캐싱 시스템(66)에 대한 명령으로 통신하게 된다. 이 명령은 요청에 대한 최종 응답이 응답 식별자에 따라 캐시(40)에 저장되는 것을 나타낸다. 동시에, 응답 형성 시스템(64)은 최종 응답의 형성을 시작하게 된다. 통상의 실시예에서, 응답 형성 시스템(64)은 컨텐트 소스(20)로부터 대응하는 컨텐트를 취득하게 되는 하나 이상의 서블렛/포틀렛(38) (도 1)을 호출하게 된다. 이렇게, 서블렛/포틀렛(38)은 표준 또는 원격 포틀렛 (예를 들어, 원격 포탈용 웹 서비스)를 포함하는 반면, 컨텐트 소스(20)는 독자적 기구, 데이터 구조, 저장 유닛 등을 포함할 수 있다. 어느 경우에나, 최종 응답이 형성되고 있으면, 헤더 형 성 시스템(60)은 클라이언트(12)가 동일한 URL에 대한 후속의 요청을 자동으로 보낼 수 있도록 하기 위한 시간 값을 포함하는 응답 갱신 헤더를 형성하게 된다. 이 시간 값은 프로그래머(44) (도 1)에 의해 성립될 수 있으며 최종 응답을 형성하는 데에 걸리게 되는 시간양이 된다. 예를 들어, 이 요청에 대한 최종 응답이 일반적으로 생성하여 돌아가는데 10초 정도 걸리면, 응답 갱신 헤더의 시간 값은 11초가 될 수 있다. 이로 인해 클라이언트(12)와 서버(14) 간의 연결이 최종 응답이 형성되고 있는 동안에 종료될 수가 있다.
응답 갱신 헤더는 임시 응답 시스템(62)에 의해 형성되는 임시 응답과 함께 출력 시스템(68)에 의해 클라이언트에 돌아가게 된다. 시간 값과 유사하게, 임시 응답은 프로그래머(44)에 의해 정의 가능하다. 예를 들어, 임시 응답은 "요청이 처리되고 있음"이라고 기재된 페이지일 수 있다. 최종 응답이 완료되면, 응답 캐싱 시스템(66)은 이를 응답 식별자에 따라 캐시(40)에 저장하므로, 쉽게 상호 참조될 수가 있다.
클라이언트(12)는 브라우저(18)에서 응답 갱신 헤더 및 임시 응답을 수신하게 된다. 응답 갱신 헤더의 시간 값의 만료 이후에, 브라우저(18)는 URL에 대한 후속의 요청을 자동으로 서버(14)에 보내게 된다. 구체적으로, HTTP에서는, 브라우저(18)가 본 발명의 응답 갱신 헤더와 같은 헤더를 취급 및 처리하도록 구성되어 유저(16) 측의 세심한 수동적인 동작 없이도 요청을 자동으로 형성하여 보낼 수가 있다. 따라서, 응답 갱신 헤더는 클라이언트(12) 또는 브라우저(18)의 변형 없이도 요청 프로세스가 비동기적이 되게 할 수 있다.
후속의 응답은 입력 시스템(50)에 의해 수신되게 된다. 이전의 요청과 유사하게, 개체 시스템(52)은 대응하는 세션 개체를 취득하게 된다. 이것이 후속의 응답이기 때문에, 세션 개체는 이미 존재한다. 따라서, 개체 시스템(52)은 이를 저장 유닛(32)으로부터 검색할 수 있다. 세션 개체를 취득한 후에, 응답 식별자는 응답 식별자 시스템(54)에 의해 재형성된다. 상기한 바와 같이, 응답 식별자는 세션 식별자와 요청된 URL의 해쉬를 포함한다. 응답 식별자를 이용하여, 응답 체킹 시스템(56)은 URL이 이미 요청되었는지를 판정한다. 구체적으로, 요청 체킹 시스템(56)은 세션 개체의 요청 테이블을 체크하게 된다. URL이 클라이언트(12)에 의해 이미 요청되었기 때문에, 응답 식별자는 요청 테이블에 목록화되어 있다. 따라서, 캐시 체킹 시스템(58)은 캐시(40)를 체크하여 최종 응답이 완료되었는지를 판정한다. 구체적으로, 캐시 체킹 시스템(58)은 응답 식별자를 이용하여 최종 응답을 체크한다. 최종 응답이 완료되면, 캐시 체킹 시스템(58)에 의해 캐시(40)로부터 검색되어 브라우저(18)에서의 디스플레이를 위해 출력 시스템(68)를 거쳐 클라이언트(12)에 보내진다. 그러나, 최종 응답이 아직 완료되지 않았다면, 헤더 형성 시스템(60)은 시간 값을 갖는 새로운 응답 갱신 헤더를 형성하게 된다. 이 시간 값은 이전의 응답 갱신 헤더와 동일할 수도 있고, 새로운 다른 값일 수도 있다. 어쨋든, 새로운 응답 갱신 헤더가 새로운 임시 응답으로 출력 시스템(68)을 거쳐 클라이언트(12)에 보내진다. 새로운 응답 갱신 헤더에서의 시간 값의 만료 이후에, 클라이언트(12)는 URL에 대한 다른 요청을 제출하고, 이는 유사한 방식으로 처리되게 된다.
이하 도 3을 참조하여, 본 발명의 흐름도(100)를 나타낸다. 도시된 바와 같이, URL의 요청은 단계 S1에서 수신된다. 단계 S2에서, 세션 개체가 취득되고, 단계 S3에서 응답 식별자가 형성된다. 단계 S4에서, URL이 응답 식별자에 기초하여 클라이언트에 의해 이미 요청되었는지가 판정된다. URL이 이미 요청되지 않았다면, 최종 응답의 형성은 단계 S5에서 시작된다. 단계 S6에서, 명령은 응답 식별자에 따라서 최종 응답을 완료시 캐시에 저장하기 위해 응답 캐싱 시스템에 요청으로 전달된다. 최종 응답이 형성되고 있으면, 응답 갱신 헤더가 단계 S7에서 형성된다. 응답 갱신 헤더는 단계 S8에서 임시 응답과 함께 클라이언트에 보내진다.
응답 갱신 헤더의 시간 값의 만료 이후, 단계 S9에서 클라이언트는 URL에 대한 후속의 요청을 보낸다. 단계 S1에서의 수신시, 단계 S2-S4가 반복된다. 구체적으로, 세션 개체가 취득되고, 응답 식별자가 형성되고, URL이 클라이언트에 의해 이미 요청되었는지가 판정되게 된다. URL이 클라이언트에 의해 이미 요청되었기 때문에, 단계 S10에서 요청에 대한 최종 응답이 완료되었는지를 판정하기 위해 캐시가 체크된다. 완료되면, 단계 S11에서 최종 응답이 캐시로부터 검색되어 클라이언트에 보내진다. 최종 응답이 아직 완료되지 않은 경우, 단계 S7에서 새로운 응답 갱신 헤더가 형성되게 되어 단계 S8에서 새로운 임시 응답으로 클라이언트에 보내진다. 프로세스는 최종 응답이 클라이언트에 보내질 때까지 계속 반복될 수 있다.
본 발명이 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로 실현될 수 있다는 것이 이해되어야 한다. 어느 종류의 컴퓨터/컴퓨터 시스템 - 또 는 그 외 상술된 방법을 실현하는 데에 적합한 장치라도 적합하다. 통상의 하드웨어와 소프트웨어의 조합이 로딩되어 실행될 때 여기 개시된 각 방법을 실행하는 컴퓨터 프로그램을 갖는 범용의 컴퓨터 시스템일 수 있다. 다르게, 본 발명의 기능적 작업들 중 하나 이상을 실행하기 위한 특수 하드웨어를 포함하는 특정한 용도의 컴퓨터를 이용할 수 있다. 본 발명은 또한 컴퓨터 프로그램 제품으로 구체화될 수 있으며, 이는 여기 개시된 방법의 구현을 가능하게 하는 모든 각각의 특성을 포함하며, 또한 컴퓨터 시스템에 로딩될 때 이들 방법을 실행할 수 있다. 컴퓨터 프로그램, 소프트웨어 프로그램, 프로그램, 또는 소프트웨어는 본 컨텍스트에서 정보 처리 능력을 갖는 시스템이 특정 기능을 직접적으로 또는 (a) 다른 언어, 코드 또는 주해로의 변환; 및/또는 (b) 여러 재료 유형으로의 재형성 중 하나나 둘 다 이후에 실행할 수 있도록 하는, 언어, 코드 또는 주해로 된 명령의 세트의 표현을 의미한다.
본 발명의 바람직한 실시예의 다음 설명은 설명의 목적으로 제시된 것이다. 본 발명을 정확히 개시된 형태로 제한하고자 하는 것은 아니고 여러가지 수정 및 변형이 가능하다. 당업자에게는 명백하게 되는 이런 수정 및 변형은 첨부한 청구범위에 의해 정의되는 바와 같이 본 발명의 영역 내에 포함되는 것이다.

Claims (21)

  1. 요청을 비동기적으로 처리하기 위한 방법에 있어서:
    클라이언트로부터 수신된 유니폼 리소스 로케이터(URL)의 세션 개체를 취득하는 단계; 세션 식별자와 상기 URL에 기초하여 응답 식별자를 형성하는 단계; 상기 URL이 상기 응답 식별자에 기초하여 상기 클라이언트에 의해 이미 요청되었는지를 판정하는 단계; 및 상기 클라이언트가 상기 URL에 대한 후속의 요청을 자동으로 보내게 하기 위한 시간 값을 포함하는 응답 갱신 헤더를 형성하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 요청에 대한 임시 응답 및 상기 응답 갱신 헤더를 상기 클라이언트에 보내는 단계를 더 포함하는 방법.
  3. 제1항 또는 제2항에 있어서, 상기 응답 식별자에 따라서 상기 요청에 대한 최종 응답을 캐시하기 위한 명령으로 상기 요청을 응답 캐싱 시스템에 보내는 단계를 더 포함하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 요청은 웹 요청인 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 응답 식별자는 상기 세션 식별자 및 상기 URL의 해쉬를 포함하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 형성 단계 이전에 상기 요청에 대한 최종 응답이 완료되었는지를 판정하는 단계; 상기 최종 응답이 완료된 경우 상기 클라이언트에 상기 최종 응답을 보내는 단계를 더 포함하고, 상기 갱신 헤더는 상기 최종 응답이 완료된 경우 형성되지 않아 상기 임시 응답으로 클라이언트에 보내지 않는 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 요청에 대한 최종 응답의 형성을 시작하는 단계; 및 상기 최종 응답이 완료될 때 상기 응답 식별자에 따라 상기 최종 응답을 캐시에 저장하는 단계를 포함하는 방법.
  8. 제7항에 있어서, 상기 응답 갱신 헤더의 상기 시간 값의 만료 이후에 상기 클라이언트로부터 상기 URL에 대한 후속 요청을 수신하는 단계; 상기 세션 개체를 취득하는 단계; 상기 응답 식별자를 생성하는 단계; 상기 URL이 상기 응답 식별자에 기초하여 이미 요청되었는지를 판정하는 단계; 상기 응답 식별자에 기초하여 요청에 대한 상기 최종 응답에 대해 상기 캐시를 체킹하는 단계; 및 상기 최종 응답이 완료되면 상기 클라이언트에 상기 최종 응답을 보내는 단계를 더 포함하고, 상기 최종 응답이 완료되지 않은 경우 새로운 갱신 헤더가 형성되어 새로운 임시 응답으로 상기 클라이언트에 보내지는 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 판정 단계는 상기 응답 식별자에 대해 상기 세션 개체의 테이블을 체킹하여 상기 URL이 상기 클라이언트에 의해 이미 요청되었는지를 판정하는 단계를 포함하는 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 클라이언트로부터 유니폼 리소스 로케이터 (URL)에 대한 요청을 수신하는 단계를 더 포함하는 방법.
  11. 제2항 내지 제10항 중 어느 한 항에 있어서, 상기 URL이 상기 클라이언트에 의해 이미 요청된 경우 상기 응답 식별자에 기초하여 상기 요청에 대한 상기 최종 응답에 대해 캐시를 체킹하는 단계를 더 포함하는 방법.
  12. 요청을 비동기적으로 처리하기 위한 시스템에 있어서: 클라이언트로부터 수신된 유니폼 리소스 로케이터 (URL)에 대한 요청에 대해 세션 개체를 취득하기 위한 개체 시스템; 세션 식별자와 상기 URL에 기초하여 응답 식별자를 형성하기 위한 응답 식별자 시스템; 상기 URL이 상기 클라이언트에 의해 이미 요청되었는지를 판정하기 위한 요청 체킹 시스템; 및 상기 클라이언트가 URL에 대한 후속의 요청을 자동으로 보내도록 하기 위한 시간 값을 포함하는 응답 갱신 헤더를 형성하기 위한 헤더 형성 시스템을 포함하는 시스템.
  13. 제12항에 있어서, 상기 응답 식별자에 따라 상기 요청에 대한 최종 응답을 캐시에 저장하기 위한 응답 캐싱 시스템을 더 포함하는 시스템.
  14. 제12항 또는 제13항에 있어서, 상기 응답 식별자에 기초하여 상기 요청에 대한 최종 응답에 대해 캐시를 체크하기 위한 캐시 체킹 시스템을 더 포함하고, 상기 최종 응답은 완료시 상기 클라이언트에 보내지는 시스템.
  15. 제13항 내지 제14항 중 한 항에 있어서, 상기 응답 갱신 헤더 및 상기 요청에 대한 임시 응답을 상기 클라이언트에 보내기 위한 출력 시스템을 더 포함하는 시스템.
  16. 제13항 내지 제15항 중 한 항에 있어서, 상기 응답 식별자는 상기 세션 식별자와 상기 URL의 해쉬를 포함하는 시스템.
  17. 제13항 내지 제16항 중 한 항에 있어서, 상기 요청 체킹 시스템은 상기 URL이 상기 클라이언트에 의해 이미 요청되었는지를 판정하기 위해 상기 세션 개체의 테이블을 체크하는 시스템.
  18. 제13항 내지 제17항 중 한 항에 있어서, 상기 요청을 수신하기 위한 입력 시스템을 더 포함하는 시스템.
  19. 제13항 내지 제18항 중 한 항에 있어서, 상기 응답 갱신 헤더의 상기 시간 값의 만료 이후에 상기 클라이언트로부터 상기 URL에 대한 후속 요청을 수신하기 위한 입력 시스템을 더 포함하는 시스템.
  20. 제19항에 있어서, 상기 세션 개체를 취득하기 위한 수단; 상기 응답 식별자를 형성하기 위한 수단; 상기 URL이 상기 응답 식별자에 기초하여 이미 요청되었는지를 판정하기 위한 수단; 상기 응답 식별자에 기초하여 요청에 대한 상기 최종 응답에 대해 상기 캐시를 체킹하기 위한 수단; 및 상기 최종 응답이 완료된 경우 상기 클라이언트에 상기 최종 응답을 보내기 위한 수단을 더 포함하고, 상기 최종 응답이 완료되지 않은 경우 새로운 갱신 헤더가 형성되어 새로운 임시 응답으로 상기 클라이언트에 보내지는 시스템.
  21. 제1항 내지 제11항 중 어느 한 항의 모든 단계를 실행하는 데에 적합한 프로그램 코드 수단을 포함하고, 컴퓨터 상에서 실행되는 컴퓨터 프로그램.
KR1020067000039A 2003-07-31 2004-07-15 요청을 비동기적으로 처리하기 위한 방법, 시스템 및프로그램 제품 KR100737298B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/632,073 2003-07-31
US10/632,073 US7349968B2 (en) 2003-07-31 2003-07-31 Method, system and program product for asynchronously processing requests

Publications (2)

Publication Number Publication Date
KR20060060654A true KR20060060654A (ko) 2006-06-05
KR100737298B1 KR100737298B1 (ko) 2007-07-09

Family

ID=34104275

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067000039A KR100737298B1 (ko) 2003-07-31 2004-07-15 요청을 비동기적으로 처리하기 위한 방법, 시스템 및프로그램 제품

Country Status (9)

Country Link
US (2) US7349968B2 (ko)
EP (1) EP1649662B1 (ko)
JP (1) JP4755590B2 (ko)
KR (1) KR100737298B1 (ko)
CN (1) CN1830192B (ko)
AT (1) ATE342626T1 (ko)
DE (1) DE602004002783T2 (ko)
IL (1) IL173423A0 (ko)
WO (1) WO2005013579A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100862354B1 (ko) * 2007-04-10 2008-10-13 전자부품연구원 비동기 검색 환경을 지원하는 멀티미디어 검색 방법

Families Citing this family (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343413B2 (en) 2000-03-21 2008-03-11 F5 Networks, Inc. Method and system for optimizing a network by independently scaling control segments and data flow
WO2003058879A1 (en) 2002-01-08 2003-07-17 Seven Networks, Inc. Secure transport for mobile communication network
CA2406713C (en) * 2002-10-04 2009-06-30 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for relaying session information from a portal server
US7853563B2 (en) 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
US8468126B2 (en) * 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US7917468B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US7349968B2 (en) * 2003-07-31 2008-03-25 International Business Machines Corporation Method, system and program product for asynchronously processing requests
US7685258B2 (en) * 2004-05-21 2010-03-23 Bea Systems, Inc. Disconnectible applications
US7809837B2 (en) * 2004-10-20 2010-10-05 Bea Systems, Inc. User interface for configuring web services for remote portlets
US7792969B2 (en) * 2004-10-20 2010-09-07 Bea Systems, Inc. Message interface for configuring web services for remote portlets
WO2006045102A2 (en) 2004-10-20 2006-04-27 Seven Networks, Inc. Method and apparatus for intercepting events in a communication system
US7706781B2 (en) 2004-11-22 2010-04-27 Seven Networks International Oy Data security in a mobile e-mail service
US7788340B2 (en) * 2004-11-22 2010-08-31 Bea Systems Inc. System and method for event based interportlet communications
FI117152B (fi) 2004-12-03 2006-06-30 Seven Networks Internat Oy Sähköpostiasetusten käyttöönotto matkaviestimelle
US7640296B2 (en) * 2004-12-21 2009-12-29 Sap Ag Mapping of a content request for a cache server
US8001456B2 (en) * 2005-02-28 2011-08-16 International Business Machines Corporation Methods for maintaining separation between markup and data at a client
US7877703B1 (en) * 2005-03-14 2011-01-25 Seven Networks, Inc. Intelligent rendering of information in a limited display environment
CA2602900A1 (en) * 2005-04-06 2006-10-12 Merck & Co., Inc. Multi-fielded web browser-based searching of data stored in database
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US9218329B2 (en) 2005-06-30 2015-12-22 International Business Machines Corporation Independent submission of forms in a portal view
US8214731B2 (en) 2005-06-30 2012-07-03 International Business Machines Corporation Independently refreshing portlet content in a portal view
US8069166B2 (en) * 2005-08-01 2011-11-29 Seven Networks, Inc. Managing user-to-user contact with inferred presence information
US20070153495A1 (en) * 2005-12-29 2007-07-05 Wang Michael Dongxue Illumination mechanism for mobile digital imaging
US20070162560A1 (en) * 2006-01-11 2007-07-12 Bea Systems, Inc. System and method for asynchronous request response
US8271602B2 (en) 2006-01-11 2012-09-18 Oracle International Corporation System and method for conversation based on web service addressing
US7769395B2 (en) 2006-06-20 2010-08-03 Seven Networks, Inc. Location-based operations and messaging
US7937361B2 (en) * 2006-04-28 2011-05-03 Research In Motion Limited Method of reflecting on another device a change to a browser cache on a handheld electronic device, and associated device
US7987231B2 (en) * 2006-06-09 2011-07-26 Global Information Solutions, Inc. Facilitating interaction between web browsers
US20080001717A1 (en) * 2006-06-20 2008-01-03 Trevor Fiatal System and method for group management
CN101166129A (zh) * 2006-10-20 2008-04-23 华为技术有限公司 获取应用服务器标识信息的方法、终端、设备和系统
US9112808B2 (en) * 2007-02-06 2015-08-18 At&T Intellectual Property Ii, L.P. Devices, systems, and methods for providing data
CN101296176B (zh) * 2007-04-25 2010-12-22 阿里巴巴集团控股有限公司 一种基于群集的数据处理方法和装置
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8693494B2 (en) * 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
US8185610B2 (en) * 2007-12-04 2012-05-22 International Business Machines Corporation Method for client-side aggregation of asynchronous, context-sensitive request operations for java server pages (JSP)
US8364181B2 (en) 2007-12-10 2013-01-29 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US9002828B2 (en) * 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8107921B2 (en) 2008-01-11 2012-01-31 Seven Networks, Inc. Mobile virtual network operator
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US8787947B2 (en) 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US8078158B2 (en) 2008-06-26 2011-12-13 Seven Networks, Inc. Provisioning applications for a mobile device
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
KR101183675B1 (ko) 2009-06-23 2012-09-17 경기대학교 산학협력단 비동기 웹서비스에 기반한 회신 처리 방법 및 장치
US8566531B2 (en) * 2009-08-21 2013-10-22 Google Inc. System and method of selectively caching information based on the interarrival time of requests for the same information
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US8335819B2 (en) * 2009-12-31 2012-12-18 Nokia Corporation Method and apparatus for providing client-side caching
US9141625B1 (en) 2010-06-22 2015-09-22 F5 Networks, Inc. Methods for preserving flow state during virtual machine migration and devices thereof
US10015286B1 (en) 2010-06-23 2018-07-03 F5 Networks, Inc. System and method for proxying HTTP single sign on across network domains
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
WO2012018556A2 (en) 2010-07-26 2012-02-09 Ari Backholm Mobile application traffic optimization
GB2495877B (en) 2010-07-26 2013-10-02 Seven Networks Inc Distributed implementation of dynamic wireless traffic policy
JP5620578B2 (ja) 2010-07-26 2014-11-05 セブン ネットワークス インコーポレイテッド 複数のアプリケーションにわたるモバイルネットワークトラフィック調整
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
EP2633667B1 (en) 2010-10-29 2017-09-06 F5 Networks, Inc System and method for on the fly protocol conversion in obtaining policy enforcement information
US8484314B2 (en) * 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8903954B2 (en) 2010-11-22 2014-12-02 Seven Networks, Inc. Optimization of resource polling intervals to satisfy mobile device requests
WO2012061430A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
CN103620576B (zh) 2010-11-01 2016-11-09 七网络公司 适用于移动应用程序行为和网络条件的缓存
US8166164B1 (en) 2010-11-01 2012-04-24 Seven Networks, Inc. Application and network-based long poll request detection and cacheability assessment therefor
US9330196B2 (en) 2010-11-01 2016-05-03 Seven Networks, Llc Wireless traffic management system cache optimization using http headers
US9060032B2 (en) 2010-11-01 2015-06-16 Seven Networks, Inc. Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
CA2798523C (en) 2010-11-22 2015-02-24 Seven Networks, Inc. Aligning data transfer to optimize connections established for transmission over a wireless network
EP2661697B1 (en) 2011-01-07 2018-11-21 Seven Networks, LLC System and method for reduction of mobile network traffic used for domain name system (dns) queries
US10135831B2 (en) 2011-01-28 2018-11-20 F5 Networks, Inc. System and method for combining an access control system with a traffic management system
WO2012145541A2 (en) 2011-04-19 2012-10-26 Seven Networks, Inc. Social caching for device resource sharing and management
EP2702500B1 (en) 2011-04-27 2017-07-19 Seven Networks, LLC Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
EP2556441B8 (en) 2011-04-27 2015-11-25 Seven Networks, LLC System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief
US9246819B1 (en) 2011-06-20 2016-01-26 F5 Networks, Inc. System and method for performing message-based load balancing
US9239800B2 (en) 2011-07-27 2016-01-19 Seven Networks, Llc Automatic generation and distribution of policy information regarding malicious mobile traffic in a wireless network
US8918503B2 (en) 2011-12-06 2014-12-23 Seven Networks, Inc. Optimization of mobile traffic directed to private networks and operator configurability thereof
EP2789138B1 (en) 2011-12-06 2016-09-14 Seven Networks, LLC A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation
EP2788889A4 (en) 2011-12-07 2015-08-12 Seven Networks Inc FLEXIBLE AND DYNAMIC INTEGRATION SCHEMES OF A TRAFFIC MANAGEMENT SYSTEM WITH VARIOUS NETWORK OPERATORS TO REDUCE NETWORK TRAFFIC
US9277443B2 (en) 2011-12-07 2016-03-01 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
EP2792188B1 (en) 2011-12-14 2019-03-20 Seven Networks, LLC Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system
US9832095B2 (en) 2011-12-14 2017-11-28 Seven Networks, Llc Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
US8861354B2 (en) 2011-12-14 2014-10-14 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
US9270766B2 (en) 2011-12-30 2016-02-23 F5 Networks, Inc. Methods for identifying network traffic characteristics to correlate and manage one or more subsequent flows and devices thereof
WO2013103988A1 (en) 2012-01-05 2013-07-11 Seven Networks, Inc. Detection and management of user interactions with foreground applications on a mobile device in distributed caching
WO2013116856A1 (en) 2012-02-02 2013-08-08 Seven Networks, Inc. Dynamic categorization of applications for network access in a mobile network
WO2013116852A1 (en) 2012-02-03 2013-08-08 Seven Networks, Inc. User as an end point for profiling and optimizing the delivery of content and data in a wireless network
US10230566B1 (en) 2012-02-17 2019-03-12 F5 Networks, Inc. Methods for dynamically constructing a service principal name and devices thereof
US9231879B1 (en) 2012-02-20 2016-01-05 F5 Networks, Inc. Methods for policy-based network traffic queue management and devices thereof
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
WO2013155208A1 (en) 2012-04-10 2013-10-17 Seven Networks, Inc. Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network
EP2853074B1 (en) 2012-04-27 2021-03-24 F5 Networks, Inc Methods for optimizing service of content requests and devices thereof
WO2014011216A1 (en) 2012-07-13 2014-01-16 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US9307493B2 (en) 2012-12-20 2016-04-05 Seven Networks, Llc Systems and methods for application management of mobile device radio state promotion and demotion
US9241314B2 (en) 2013-01-23 2016-01-19 Seven Networks, Llc Mobile device with application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US10187317B1 (en) 2013-11-15 2019-01-22 F5 Networks, Inc. Methods for traffic rate control and devices thereof
JPWO2015122197A1 (ja) * 2014-02-17 2017-03-30 日本電気株式会社 画面描画システム、画面描画方法及びポータルクライアント
JP6373025B2 (ja) * 2014-03-20 2018-08-15 シャープ株式会社 情報処理装置、情報処理システム、情報処理方法、及びコンピュータプログラム
US10015143B1 (en) 2014-06-05 2018-07-03 F5 Networks, Inc. Methods for securing one or more license entitlement grants and devices thereof
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US10122630B1 (en) 2014-08-15 2018-11-06 F5 Networks, Inc. Methods for network traffic presteering and devices thereof
CN105635083A (zh) * 2014-11-14 2016-06-01 航天信息股份有限公司 基于服务器和客户端架构的业务处理方法及业务处理系统
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US20160306780A1 (en) * 2015-04-20 2016-10-20 International Business Machines Corporation Non-disruptive method for page rendering in a portal when a performance constraint is not fulfilled
US10505818B1 (en) 2015-05-05 2019-12-10 F5 Networks. Inc. Methods for analyzing and load balancing based on server health and devices thereof
US11350254B1 (en) 2015-05-05 2022-05-31 F5, Inc. Methods for enforcing compliance policies and devices thereof
US9720693B2 (en) * 2015-06-26 2017-08-01 Microsoft Technology Licensing, Llc Bulk allocation of instruction blocks to a processor instruction window
US10346168B2 (en) 2015-06-26 2019-07-09 Microsoft Technology Licensing, Llc Decoupled processor instruction window and operand buffer
US11757946B1 (en) 2015-12-22 2023-09-12 F5, Inc. Methods for analyzing network traffic and enforcing network policies and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US11178150B1 (en) 2016-01-20 2021-11-16 F5 Networks, Inc. Methods for enforcing access control list based on managed application and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US10791088B1 (en) 2016-06-17 2020-09-29 F5 Networks, Inc. Methods for disaggregating subscribers via DHCP address translation and devices thereof
US11063758B1 (en) 2016-11-01 2021-07-13 F5 Networks, Inc. Methods for facilitating cipher selection and devices thereof
US10505792B1 (en) 2016-11-02 2019-12-10 F5 Networks, Inc. Methods for facilitating network traffic analytics and devices thereof
US10812266B1 (en) 2017-03-17 2020-10-20 F5 Networks, Inc. Methods for managing security tokens based on security violations and devices thereof
US10540282B2 (en) * 2017-05-02 2020-01-21 International Business Machines Corporation Asynchronous data store operations including selectively returning a value from cache or a value determined by an asynchronous computation
US10437724B2 (en) * 2017-05-02 2019-10-08 International Business Machines Corporation Providing data values in a timely fashion using asynchronous data store operations including selectively returning a value from a cache or a value determined by an asynchronous computation
US10972453B1 (en) 2017-05-03 2021-04-06 F5 Networks, Inc. Methods for token refreshment based on single sign-on (SSO) for federated identity environments and devices thereof
US11343237B1 (en) 2017-05-12 2022-05-24 F5, Inc. Methods for managing a federated identity environment using security and access control data and devices thereof
US11122042B1 (en) 2017-05-12 2021-09-14 F5 Networks, Inc. Methods for dynamically managing user access control and devices thereof
US11122083B1 (en) 2017-09-08 2021-09-14 F5 Networks, Inc. Methods for managing network connections based on DNS data and network policies and devices thereof
CN110995817B (zh) * 2019-11-27 2022-05-20 广州华多网络科技有限公司 请求回调方法、装置及客户端设备
US11271968B2 (en) 2020-03-04 2022-03-08 International Business Machines Corporation Zero round trip time transmission for anticipatory request messages

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2313524A (en) * 1996-05-24 1997-11-26 Ibm Providing communications links in a computer network
US6253252B1 (en) * 1996-07-11 2001-06-26 Andrew Schofield Method and apparatus for asynchronously calling and implementing objects
US5845074A (en) * 1996-11-22 1998-12-01 E-Parcel, Llc Smart internet information delivery system having a server automatically detects and schedules data transmission based on status of clients CPU
US6070184A (en) * 1997-08-28 2000-05-30 International Business Machines Corporation Server-side asynchronous form management
CA2220578A1 (en) * 1997-11-10 1999-05-10 Northern Telecom Limited Distributed service network
US6362836B1 (en) * 1998-04-06 2002-03-26 The Santa Cruz Operation, Inc. Universal application server for providing applications on a variety of client devices in a client/server network
US6026424A (en) * 1998-02-23 2000-02-15 Hewlett-Packard Company Method and apparatus for switching long duration tasks from synchronous to asynchronous execution and for reporting task results
US6055564A (en) * 1998-03-11 2000-04-25 Hewlett Packard Company Admission control where priority indicator is used to discriminate between messages
US6157941A (en) * 1998-03-18 2000-12-05 Oracle Corporation Architecture for client-server communication over a communication link
US7103666B2 (en) * 2001-01-12 2006-09-05 Siemens Medical Solutions Health Services Corporation System and user interface supporting concurrent application operation and interoperability
US20020099795A1 (en) * 2001-01-19 2002-07-25 Robert Betros System and method for maintaining two-way asynchronous notification between a client and a web server
US20030206192A1 (en) * 2001-03-31 2003-11-06 Mingte Chen Asynchronous message push to web browser
JP2003091504A (ja) * 2001-09-18 2003-03-28 Itfor Inc 双方向通信ネットワークにおける識別情報認証方法及びその通信システム並びにプログラム
US6766422B2 (en) * 2001-09-27 2004-07-20 Siemens Information And Communication Networks, Inc. Method and system for web caching based on predictive usage
US6687792B2 (en) * 2001-09-27 2004-02-03 Siemens Information & Communication Networks, Inc. Method and system for selectively caching web elements
US7076544B2 (en) * 2002-04-08 2006-07-11 Microsoft Corporation Caching techniques for streaming media
US20030225885A1 (en) * 2002-05-31 2003-12-04 Comverse, Ltd. Caching for limited bandwidth networks
US7051161B2 (en) * 2002-09-17 2006-05-23 Nokia Corporation Memory admission control based on object size or request frequency
US7349968B2 (en) * 2003-07-31 2008-03-25 International Business Machines Corporation Method, system and program product for asynchronously processing requests

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100862354B1 (ko) * 2007-04-10 2008-10-13 전자부품연구원 비동기 검색 환경을 지원하는 멀티미디어 검색 방법
US8239545B2 (en) 2007-04-10 2012-08-07 Korea Electronics Technology Institute Method for asynchronous multimedia retrieval

Also Published As

Publication number Publication date
EP1649662B1 (en) 2006-10-11
US20050027869A1 (en) 2005-02-03
JP2007500889A (ja) 2007-01-18
DE602004002783D1 (de) 2006-11-23
KR100737298B1 (ko) 2007-07-09
WO2005013579A1 (en) 2005-02-10
US20080140774A1 (en) 2008-06-12
EP1649662A1 (en) 2006-04-26
ATE342626T1 (de) 2006-11-15
IL173423A0 (en) 2006-06-11
CN1830192B (zh) 2010-09-15
DE602004002783T2 (de) 2007-08-16
US7349968B2 (en) 2008-03-25
US7756982B2 (en) 2010-07-13
CN1830192A (zh) 2006-09-06
JP4755590B2 (ja) 2011-08-24

Similar Documents

Publication Publication Date Title
KR100737298B1 (ko) 요청을 비동기적으로 처리하기 위한 방법, 시스템 및프로그램 제품
CA2293156C (en) Methods and apparatus for enabling shared web-based interaction in stateful servers
US20080275982A1 (en) System and program product for tracking web user sessions
US7861174B2 (en) Method and system for assembling concurrently-generated content
US20160269477A1 (en) Network resource modification for higher network connection concurrence
US20020083172A1 (en) Systems, methods and computer program products for responding to client requests directed to networked embedded devices via proxy services
US6836786B1 (en) Method and apparatus for terminal server addressability via URL specification
US20060059246A1 (en) System and method for connection optimization
US20040168122A1 (en) System, method and computer readable medium for transferring and rendering a web page
JP2000508153A (ja) ネットワーク・コンピュータに関する汎用のユーザ認証方法
US20080120418A1 (en) Method, system and program product for delayed disconnection of a client from a server
WO2002080014A1 (en) Assembling concurrently-generated personalized web pages
WO2004107100A2 (en) Peer-to-peer dynamic web page sharing
US5960432A (en) Multi-level captioning for enhanced data display
US7617233B2 (en) Method, system, and computer program product for sharing information between hypertext markup language (HTML) forms using a cookie
CA2848175A1 (en) Methods for optimizing a web content proxy server and devices thereof
EP1325424A2 (en) Method and system for assembling concurrently-generated content
WO2001089170A2 (en) Method for state preservation in http-based communications
JP4988307B2 (ja) コンテキスト・ベースのナビゲーション
US8725792B1 (en) Rapid loading of multiple frames' content
JP2004157973A (ja) 異なる端末器間のセッション保持方法
JP2000020415A (ja) Wwwサーバプロキシとwwwブラウザプロキシおよびwwwシステム
AU2004244194B2 (en) Peer-to-peer dynamic web page sharing
EP1360598B1 (en) Assembling concurrently-generated personalized web pages
JPH1139244A (ja) Wwwを利用したクライアントサーバシステム

Legal Events

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

Payment date: 20130701

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140624

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee