KR20070083566A - 업스트림 실패 검출 및 실패 복구를 위한 기술들 - Google Patents

업스트림 실패 검출 및 실패 복구를 위한 기술들 Download PDF

Info

Publication number
KR20070083566A
KR20070083566A KR1020077006144A KR20077006144A KR20070083566A KR 20070083566 A KR20070083566 A KR 20070083566A KR 1020077006144 A KR1020077006144 A KR 1020077006144A KR 20077006144 A KR20077006144 A KR 20077006144A KR 20070083566 A KR20070083566 A KR 20070083566A
Authority
KR
South Korea
Prior art keywords
data center
client
addresses
application
failure
Prior art date
Application number
KR1020077006144A
Other languages
English (en)
Other versions
KR101164698B1 (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 KR20070083566A publication Critical patent/KR20070083566A/ko
Application granted granted Critical
Publication of KR101164698B1 publication Critical patent/KR101164698B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic
    • 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
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • 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/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • 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/55Push-based network services
    • 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/562Brokering proxy services
    • 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
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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

Abstract

콘텐트 제공자(106)는 콘텐트를 제 1 데이터 센터(104-1)에 제공하며, 이는 콘텐트를 클라이언트(102)에 제공한다. 클라이언트(102)는 콘텐트 제공자(106) 및 제 1 데이터 센터(104-1) 사이에 실패가 발생했는지를 결정한다. 클라이언트가 실패가 발생했다고 결정할 때, 클라이언트(102)는 제 2 데이터 센터(104-2)를 통해 콘텐트 제공자(106)로부터 콘텐트를 수신하기 위하여 제 2 데이터 센터(104-2)에 접속할 수 있다. 따라서, 실패는 검출되고, 덧붙여, 자동 실패 복구가 클라이언트(102)에 제공될 수 있다.
실패 복구, 실패 검출, 콘텐트 제공자, 서버, 클라이언트

Description

업스트림 실패 검출 및 실패 복구를 위한 기술들{TECHNIQUES FOR UPSTREAM FAILURE DETECTION AND FAILURE RECOVERY}
본원은 2004년 8월 17일에 출원된 "실시간 라우팅 네트워크, 모듈러 이벤트-구동 구조, 모듈러 이벤트-구동 프로세싱 및 뷰어 대체작동으로 맞춤화된 콘텐트를 전달하는 기술들"이란 제목의 동시 계속 출원 중인 미국 가특허출원 번호 60/602,539호로부터 우선권을 주장하며, 모든 목적을 위해 본 명세서에 완전히 설명된 것과 같이 참조로서 본 명세서에 포함된다.
본 발명의 실시예들은 일반적으로 원격통신과, 업스트림 실패 검출 및 실패 복구 제공을 위한 기술들에 관한 것이다.
회사는 콘텐트 제공자로부터 클라이언트로 콘텐트를 라우팅하는 데이터 센터를 보유할 수 있다. 복수의 데이터 센터들이 콘텐트 제공자로부터 수신된 콘텐트를 클라이언트들에게 개별적으로 라우팅하는데 이용될 수 있다.
스포츠 점수현황, 주식 시세, 뉴스 텔레캐스트 등이 콘텐트 제공자로부터 데이터 센터를 거쳐 클라이언트에게 라우팅될 수 있다. 클라이언트가 어떤 콘텐트를 수신하기 원할 때, 클라이언트는 회사의 데이터 센터들 중 하나에 접속할 수 있다.
콘텐트를 전달할 때, 클라이언트와 데이터 센터 사이 또는 콘텐트 제공자와 데이터 센터 사이에 실패가 발생할 수 있다. 클라이언트는 데이터 센터와 연결되어 있기 때문에, 클라이언트는 클라이언트와 데이터 센터 사이의 실패가 발생했는지를 검출할 수 있다. 클라이언트는 콘텐트 제공자와 데이터 센터 사이의 접속이 실패했는지를 결정할 수는 없을 것이다. 이것은 콘텐트 제공자와 데이터 센터 사이의 접속이 클라이언트에 독립적이기 때문이다.
본원 제 1 항 발명에 따르면, 실패 복구를 제공할 수 있는 클라이언트에 있어서, 상기 클라이언트에서 제 1 데이터 센터로부터 애플리케이션을 수신할 수 있는 논리; 상기 제 1 데이터 센터로부터 콘텐트를 수신할 수 있는 논리; 및 상기 클라이언트에서 콘텐트 제공자와 상기 제 1 데이터 센터 사이에 실패가 발생했음을 결정할 수 있는 논리를 포함하고, 상기 콘텐트 제공자는 상기 제 1 데이터 센터에 콘텐트를 제공할 수 있고, 상기 클라이언트에서, 상기 애플리케이션은 상기 실패가 발생했다는 결정에 응답하여 제 2 데이터 센터로부터 콘텐트를 수신하기 위하여 상기 제 2 데이터 센터에 자동으로 접속하는 클라이언트에 의해, 실패 복구가 끊김없이 이루어질 수 있다.
도 1은 일 실시예에 따른, 실패 검출 및 실패 복구를 제공하기 위한 시스템을 도시한다.
도 2는 도 1의 시스템의 실시예를 도시한다.
도 3은 일 실시예에 따른, 실패가 발생했음을 결정하는 방법의 간략화된 흐름도를 도시한다.
도 4는 일 실시예에 따른, 상이한 데이터 센터들에 안전하게 접속하는 방법의 간략화된 흐름도를 도시한다.
여기에 개시된 주제의 속성 및 장점들에 대한 추가적인 이해는 명세서의 나머지 부분들 및 첨부된 도면들을 참조하여 이루어질 수 있을 것이다.
도 1은 일 실시예에 따른 업스트림 실패 검출 및 실패 복구 제공을 위한 시스템(100)을 도시한다. 도시된 바와 같이, 시스템(100)은 클라이언트(102), 하나 이상의 데이터 센터들(104), 및 콘텐트 제공자(106)를 포함할 수 있다. 다수의 클라이언트들(102), 2 이상의 데이터 센터들(104) 및 다수의 콘텐트 제공자들(106)과 같이 상기 시스템들의 임의의 개수가 시스템(100)에 포함될 수 있다는 것을 이해할 수 있을 것이다.
클라이언트(102)는 데이터 센터(104)로부터 콘텐트를 수신할 수 있는 임의의 엔티티일 수 있다. 클라이언트(102)는 컴퓨팅 디바이스, 휴대 디바이스, 개인 디지털 보조기(PDA), 셀룰러 폰, 블랙베리(Blackberry) 디바이스, 굿링크(Goodlink) 디 바이스, 휴대 이메일 디바이스, 개인 컴퓨터, 랩톱 컴퓨터, 텔레비전, 포켓 PC 등에서 동작하는 인터페이스를 포함할 수 있다. 일 실시예에서, 인터페이스는 웹 브라우저, 예컨대 마이크로소프트사의 인터넷 익스플로러TM, 넷스케이프사의 네비게이터TM, 모질라사의 파이어폭스TM 등일 수 있다. 웹 브라우저는 웹 페이지들을 다운로드할 수 있다. 이 웹 페이지들은 콘텐트 제공자(106)로부터 수신된 정보 또는 콘텐트를 디스플레이한다. 예를 들어, CNN과 같은 콘텐트 제공자는 웹 페이지를 제공할 것이다. 웹 페이지는 www.CNN.com과 같은 URL 또는 임의의 다른 식별자를 사용하여 다운로드될 것이다. 웹 페이지가 설명되었지만, 임의의 다른 소프트웨어 애플리케이션 예컨대, 스프레드쉬트, 워드 프로세싱 프로그램, 이메일 프로그램 등이 콘텐트를 수신하는데 클라이언트(102)에서 이용될 수 있을 것이다.
데이터 센터(104)는 콘텐트를 클라이언트(102)에 제공할 것이다. 콘텐트는 오디오, 비디오, 메타데이터, 웹 페이지들, 스포츠 점수현황 등일 수 있다. 일 실시예에서, 데이터 센터(104)는 콘텐트 제공자(106)로부터 콘텐트를 수신할 수 있고, 또한 콘텐트를 클라이언트(102)에게 전달하는 라우팅 네트워크를 포함할 수 있을 것이다. 라우팅 네트워크의 예들은 2001년 12월 14일에 출원된 "동적 라우팅 네트워크를 이용한 비동기 메시징"이란 제목의 미국 특허 출원 번호 10/017,182; 2002년 3월 21일에 출원된 "동적 라우팅 네트워크에서 노드 특수화 구조를 이용한 비동기 메시징"이란 제목의 미국 특허 출원 번호 10/105,018호; 및 2002년 8월 5일에 출원된 "동적 콘텐트 라우팅 네트워크에서의 상태 저장"이란 제목의 미국 특허 출원 번호 10/213,269호에 개시되어 있으며, 이들은 여러 목적으로 참조로서 완전히 포함되었다.
콘텐트 제공자(106)는 콘텐트를 공급하는 임의의 시스템일 수 있다. 예를 들어, 콘텐트 제공자(106)는 뉴스 제공자, 스포츠 제공자, 케이블 프로그래밍 제공자들, 전화 회사들, 주문시 영화를 제공하는 시스템들, 음악 제공자들 등과 연관된 시스템일 수 있다. 일 실시예에서, 콘텐트 제공자(106)는 라이브 콘텐트를 제공한다. 라이브 콘텐트는 시간에 걸쳐 동적으로 변화할 수 있는 콘텐트일 수 있다. 예를 들어, 스포츠 점수현황은 게임이 진행함에 따라 업그레이드될 수 있다. 부가적으로, 뉴스 피드가 뉴스 배선을 통해 전파됨에 따라 제공될 것이며, 또는 주식 시세가 실시간으로 제공될 수 있다.
시스템(100)을 통한 데이터의 흐름은 일 실시예에 따른 실패 검출 및 실패 복구 기술들에 덧붙여 설명될 것이다. 클라이언트(102)는 콘텐트 제공자(106)로부터의 콘텐트에 대한 접속을 요청할 수 있다. 예를 들어, 클라이언트(102)는 URL을 이용하여 콘텐트 제공자(106)로부터의 웹 페이지를 요청할 수 있다. 데이터 센터(104)는 요청을 수신하고, 클라이언트(102)가 콘텐트를 수신하도록 할 수 있다.
데이터 센터(104-1)(또는 다른 실시예들에서는 데이터 센터(104-2))는 콘텐트 제공자(106)로부터의 콘텐트를 클라이언트(102)에 제공하기 위하여 클라이언트(102)와의 접속을 설정할 것이다. 일 실시예에서, 웹 페이지가 클라이언트(102)에 다운로드될 것이며, 콘텐트가 디스플레이될 것이다. 웹 페이지는 라이브 콘텐트를 포함할 것이다. 일 실시예에서 라이브 콘텐트는 동적으로 업데이트될 수 있다. 이 경우, 콘텐트는 콘텐트 제공자(106)로부터 데이터 센터(104-1)로 전송될 것이다. 그 후, 데이터 센터(104-1)는 콘텐트를 클라이언트(102)로 전송하는데, 여기에서 콘텐트는 웹 페이지 상에서 동적으로 업데이트될 수 있다.
일 실시예에서, 클라이언트(102)는 콘텐트 제공자(106)와 데이터 센터(104-1)의 접속 사이에 실패가 발생했는지를 결정할 수 있다. 실패는 많은 이유들에 기초하여 결정될 수 있다. 예를 들어, 데이터는 콘텐트 제공자(106)로부터 특정 간격으로 클라이언트(102)에 수신되어야 한다. 데이터가 클라이언트(102)에 수신되지 않는다면, 실패로 결정될 수 있다. 데이터는 네트워크 실패, 전송 중의 데이터 손실 등과 같은 많은 이유로 수신되지 못할 수 있다.
상태 메시지가 설정될 수 있는데, 클라이언트(102)는 특정 간격으로 상태 메시지를 모니터링한다. 상태 메시지는 콘텐트 제공자(106)에 의해, 알려진 간격으로 전송되는 임의의 메시지일 수 있다. 예를 들어, 상태 메시지는 웹 페이지 상에 디스플레이되는 임의의 라이브 객체일 수 있다. 특정 간격 후에도 상태 메시지가 수신되지 않으면, 클라이언트(102)는 콘텐트 제공자(106) 및 데이터 센터(104-1) 사이에 업스트림 실패가 발생했다고 결정할 수 있다. 일 실시예에서, 실패는 상태 메시지가 수신되지 않을 때 결정될 수 있다. 실패가 발생하지 않았지만, 메시지가 소실되는 경우가 발생할 수 있다. 따라서, 클라이언트(102)는 가능성 있는 소실된 메시지들에 대해 보상하기 위하여, 실패가 발생했다는 결정을 하기에 앞서 특정 기간을 기다릴 수 있다. 이 시간은 수 초, 분 등일 수 있다. 상태 메시지를 이용하는 것에 대해 설명되었지만, 실패를 결정하는 다른 방법들이 있을 수 있다는 것을 이 해할 수 있을 것이다.
실패가 결정될 때, 클라이언트(102)는 자동으로 다른 데이터 센터, 예컨대 데이터 센터(104-2)로의 접속을 시도할 수 있다. 데이터 센터(104-2)는 또한 콘텐트 제공자(106)로부터의 데이터 피드(feed)를 수신할 수 있으나, 그것은 다른 네트워크 또는 경로를 통해 수신될 수 있을 것이다. 예를 들어, 데이터 센터(104-2)는 뉴욕 데이터 센터일 수 있고, 데이터 센터(104-1)는 샌프란시스코 데이터 센터일 수 있다.
클라이언트(102)는 새로운 데이터 피드를 수신하기 위하여 데이터 센터(104-2)에 새로운 접속 요청을 송신할 수 있다. 종래에는, 클라이언트(102)는 사용자 개재(intervention)를 요구하는 새로운 요청을 초기화해야 했다. 예를 들어, 사용자는 콘텐트 제공자(106)에 대한 URL을 타이핑하거나, URL에 대한 요청을 송신해야 했고, 또는 인터페이스상에 리프레쉬 버튼을 선택하는 것과 같은 다른 동작을 수행해야 했다. 이하에서 논의되는 바와 같이, 애플리케이션이 접속을 설정하는데 이용될 수 있는 서버로부터 다운로드될 수 있다. 인터페이스 보안 요건들은 서버로부터 다운로드된 애플리케이션이 상이한 서버(데이터 센터)로 접속하는 것을 허용하지 않을 수 있다. 예를 들어, 애플리케이션이 서명되지 않고 인터페이스 내에서 동작할 것이라면, 인터페이스는 애플리케이션이 다운로드되었던 동일한 IP 어드레스를 갖는 서버들과의 접속을 개설하도록만 허용될 것이다. 따라서, 새로운 요청은 새로운 데이터 센터에 접속하기 위하여 수행되어야 한다. 그러나 일 실시예에서, 애플리케이션은 사용자 개재없이 끊김 없는(seamless) 방식으로 데이터 센터(104-2)에 자동으로 접속하도록 허용될 수 있다.
어떤 실시예들에서는, 클라이언트(102)는 콘텐트 제공자(106)와 데이터 센터(104) 사이에 실패가 발생했다고 결정될 때 새로운 데이터 센터(104)에 접속할 수 있다. 라이브 정보가 수신되고 있dmf 때 희망하지 않은 데이터 피드에서의 중단(interruption)은 회피될 수 있다. 또한, 수신되고 있는 정보가 민감한 정보라면, 클라이언트(102)는 이 정보의 어떠한 부분도 소실되는 것을 원하지 않는다. 따라서, 일 실시예에서, 콘텐트 제공자(106) 및 데이터 센터(104) 사이의 업스트림 실패가 발생했다는 결정은 끊김 없는 실패 복구를 제공하는 것과 덧붙여 수행될 수 있다.
도 2는 도 1의 시스템(100)의 실시예를 도시한다. 클라이언트(102)는 식별자 예컨대 URL에 대한 제 1 접속 요청을 송신할 수 있다. URL 요청은 콘텐트 제공자(106)로부터의 콘텐트를 위한 것일 수 있다. 요청을 송신하는 것에 응답하여, 문서, 웹 페이지, 소프트웨어 애플리케이션 등과 같은 정보가 콘텐트 제공자(106)에 대해 콘텐트를 라우팅할 수 있는 데이터 센터들(104) 중 하나로부터 수신될 수 있다. 일 실시예에서, 어떤 데이터 센터(104)가 우선적으로 요청을 처리할 것인지를 결정하기 위하여 알고리즘들이 이용될 수 있다. 예를 들어, 클라이언트(102)가 샌프란시스코에 가장 근접하다면, 샌프란시스코 데이터 센터(104-1)가 요청을 서비스하도록 선택될 수 있다. 논의의 목적으로, 샌프란시스코 데이터 센터(104-1)가 요청을 처리하도록 선택됐다고 가정한다.
요청에 응답하여, 정보가 클라이언트(102)에 다운로드될 수 있다. 이 정보는 애플리케이션을 다운로딩할 수 있는 애플리케이션 다운로드 정보(예컨대, 애플릿 태그)를 포함한다. 애플리케이션은 자바스크립트 애플릿, VB스크립트, 또는 임의의 다른 스크립트 언어 애플리케이션, 또는 소프트웨어 코드들일 수 있다. 일 실시예에서, 정보는 애플리케이션의 명칭, URL과 같은 식별자, 및 애플리케이션을 다운로드하는데 요구될 수 있는 임의의 파라미터들을 포함할 수 있다.
그 후, 클라이언트(102)는 애플리케이션 다운로드 정보 예컨대 URL을 이용하여 애플리케이션을 다운로드하는 것을 시도한다. 애플리케이션을 다운로드하는 것을 시도할 때, 클라이언트(102)는 URL과 연관된 서버의 IP 어드레스를 해결해야한다. 예를 들어, URL이 https://appserver.bangnetworks.net/filename이라면, 서버는 "appserver"라고 부를 것이다. 따라서 클라이언트(102)는 appserver에 대한 IP 어드레스를 결정해야만 한다.
단일의 URL은 특정한 수, 예컨대 열 개의 IP 어드레스를 결정할 수 있다. IP 어드레스들이 설명되었지만, IP 어드레스들 이외의 주소들이 이용될 수 있다는 것을 이해할 수 있을 것이다. 전형적인 경우에 있어서, 목적 URL을 관리하는 회사는 특정 URL에 대해 리턴할 다수의 IP 어드레스를 제공하는 도메인 네임 서버(DNS)를제공한다. 다수의 IP 어드레스들은 URL과 연관된 문서를 서비스할 수 있는 서버들에 대응한다. 클라이언트(102)는 제 1 리턴된 IP 어드레스와의 접속을 시도하고, 그 후 제 1 IP 어드레스가 실패하면 제 2 IP 어드레스를 시도하고, 다음은 이를 반복한다. 리턴되는 IP 어드레스들의 순서는 그것들이 클라이언트(102)에 전송될 때 변경될 수 있다. 일 기술은 순차적인 요청들에 기초하여 라운드 로빈(round robin) 방식으로 어드레스들을 교대시키는 것일 것이다. 또다른 기술은 클라이언트(102)에 가장 근접한 서버를 우선 찾기 위하여 IP 어드레스들의 배열이 수행되는, 스마트 IP 어드레스를 이용하는 것일 것이다. 또다른 기술은 URL을 관리할 수 있는 콘텐트 제공자(106)가 URL들을 요청자들에게 전송하기 위한 모듈을 제공하는 플러그-인 설비(facility)를 제공하는 것일 것이다.
일 실시예에서, IP 어드레스들은 하나 이상의 그룹들 예를 들어, 글로벌 및/또는 특정하게 리턴될 수 있다. 글로벌 IP 어드레스들은 애플리케이션에 의해 원래 요청되는 URL, https://appserver.bangnetworks.net에 대응할 수 있으며, 이는 SF 데이터 센터(104-1) 또는 NY 데이터 센터(104-2)에서 발견되는 서버들에 대응할 수 있다. 특정 IP 어드레스들은 SF 또는 NY 데이터 센터 URL들 예컨대, https://sfappserver.bangnetworks.net 또는 https://nyappserver.bangnetworks.net에 대응할 수 있다. 따라서, 특정 IP 어드레스들은 글로벌 IP 어드레스에 대응하는 URL과 상이한 URL들에 대응할 수 있다.
IP 어드레스들은 글로벌 IP 어드레스들 및/또는 특정 IP 어드레스들을 포함하는 리스트로 리턴될 수 있다. 일 실시예에서, IP 어드레스들은 글로벌 IP 어드레스에 대해 IP1 - n 으로 특정 IP 어드레스에 대해서 IPa -z로서 불려질 수 있다. 따라서, URL https://appserver.bangnetworks.net에 대한 IP 어드레스들의 결정에 응답하여 전송된 IP 어드레스 리스트는 IP1,IP2,IP3,...IP6|IPa,IPb,...일 수 있다.
일 실시예에서, IP 어드레스 리스트는 고정 순서로 리턴될 수 있다. 그러나, 그룹들 중 임의의 그룹에서 IP 어드레스들의 순서는 변경될 수 있다. 일 실시예에서, 글로벌 IP 어드레스들은 우선적으로 위치될 것이다. 이는 제 1 접속이 이루어질 때, 서버에 접속하기 위하여 리스트 상의 제 1 IP 어드레스가 애플리케이션에 의해 시도될 수 있기 때문이다. 이러한 IP 어드레스들의 일부가 동작하지 않는다면, IP 어드레스들은 순서에 따라 이어서 시도될 것이다. 특정 IP 어드레스를 말단에 제공함으로써, 그것들은 분명 글로벌 IP 어드레스들 중 하나에 접속되기 전까지 시도되지 않을 가능성이 높다.
도 2에 도시된 바와 같이, 특정 IP 어드레스들은 상이한 서버들에 대응할 수 있으며, 이는 글로벌 appservers(202) 또는 특정 appservers(204)일 수 있다. 글로벌 appservers는 appservers(202-1) 및 appservers(202-2)로 라벨이 붙여질 수 있고, 특정 appservers는 sfappservers(204-1) 및 nyappservers(204-2)로 라벨이 붙여질 수 있다. appservers(202-1,202-2)는 글로벌 URL에 대응하고, SF 데이터 센터(104-1) 및 NY 데이터 센터(104-2) 모두에서 발견될 수 있다. 또한 SFappservers(204-1)은 SF 데이터 센터(104-1)에 특정적이고, SF 데이터 센터 URL에 대응한다. NYappservers(204-2)은 NY 데이터 센터(104-2)에 연관되고, NY 데이터 센터 URL에 대응한다.
다양한 IP 어드레스들이 상기 글로벌 appservers(202) 및 특정 appservers(204)에 연관될 수 있다. 이들 IP 어드레스들은 각각의 데이터 센터(104)에 연관된 상이한 서버들에 대응할 수 있다. 요청되는 IP 어드레스에 따라, 상이한 서버가 클라이언트(102)에 콘텐트를 서비스하도록 선택될 것이다. 도시된 바와 같이, SF 데이터 센터(104-1)에서 발견되는 appservers는 IP 어드레스 IP1,IP3,IP5 등을 포함할 수 있고, NY 데이터 센터(104-2)에서 발견되는 appservers는 IP 어드레스 IP2,IP4,IP6 등을 포함할 수 있다. 따라서, 상이한 글로벌 IP 어드레스들이 SF 데이터 센터(104-1) 및 NY 데이터 센터(104-2)의 상이한 서버들에 연관될 수 있다. SFappservers(204-1) 및 NYappservers(204-2)는 또한 SF 데이터 센터(104-1)에 대해 IPSFA, IPSFB 등, 및 NY 데이터 센터(104-2)에 대해 IPNYA, IPNYB 등으로 라벨이 붙는 상이한 IP 어드레스들에 연관될 수 있을 것이다.
수신된 문서 내의 애플리케이션 다운로드 정보는 글로벌 IP 어드레스들 중 하나를 이용하여 글로벌 URL, https://appserver.bangnetworks.net로부터 애플리케이션을 다운로드하는데 이용될 수 있다. 클라이언트(102)는 리스트에서 우선적으로 리턴되는 IP 어드레스를 이용하여 애플리케이션을 요청하기 시작할 것이다. 따라서, 글로벌 IP 어드레스들이 리스트의 앞에서 발견되기 때문에, 애플리케이션은 글로벌 IP 어드레스들 중 하나로부터 다운로드될 것이라고 기대될 것이다. 글로벌 IP 어드레스들 중 하나에 대응하는 서버가 요청을 수신한다. 이것은 SF 데이터 센터(104-1) 또는 NY 데이터 센터(104-2)에 있는 appserver일 것이다.
일 실시예에서, 보안 접속을 제공하기 위하여, 서버는 글로벌 IP 어드레스들 중 하나를 이용한 URL 요청에 응답하여 그 자신을 "appserver"로 식별하는 인증서를 이용하는 논리를 포함한다. 이것은 보안 접속을 허용한다. 그 후 애플리케이션은 서버로부터 클라이언트(102)로 다운로드될 것이다. 논의의 목적으로, 요청시 이 용된 글로벌 IP 어스레스가 appservers(202-1)의 서버에 대응한다고 가정한다.
일 실시예에서, 다운로드되는 애플리케이션은 서명이 없는 애플리케이션이다. 서명이 없는 애플리케이션은 이를 실행하기 위하여 통상적으로 클라이언트(12)에게 허가를 클라이언트(102)에게 물어볼 필요가 없다는 점에서 사용자에게 이해가 쉬울 수 있다. 예를 들어, 서명이 있는 애플리케이션이 이용되면, 이것은 사용자에게 "이 애플리케이션을 신뢰하기를 원하는가?"라고 질문하는 대화 상자를 브라우저가 띄우도록 할 것이다. 이것은 사용자가 수락할 것인지 또는 수락하지 않을 것인지를 클릭하도록 요구한다. 이것은 사용자에게 혼동을 유발할 수 있고, 따라서 서명이 없는 애플리케이션이 이용될 것이다; 그러나, 서명이 있는 애플리케이션이 또한 이용될 수 있다는 것을 이해할 수 있을 것이다.
그 후 애플리케이션은 SF 데이터 센터(104-1)를 통해 콘텐트 제공자(106)로부터 콘텐트를 수신하기 위하여 선택된 서버(202-1)와의 접속을 생성할 수 있다. 접속을 제공하기 위하여, 애플리케이션은 데이터 센터들에 대한 IP 어드레스들을 URL로 전환하기 위한 역 조회를 수행한다. 이것은 표준 프로토콜들이 IP 어드레스와 연관된 URL들을 이용하여 접속들에 대한 요청이 되어야 한다고 규정하기 때문에 수행될 수 있다.
일 실시예에서, 클라이언트(102)는 클라이언트(102)에게 콘텐트를 서비스하는데 이용되는 객체 ID들을 등록한다. 그 후, 콘텐트는 SF 데이터 센터(104-1)를 통해 콘텐트 제공자(106)로부터 클라이언트(102)에 제공될 수 있다. 일 실시예에서, 콘텐트 제공자(106)는 ID들에 대한 콘텐트를 제공할 수 있다. 이어서, SF 데이 터 센터(104-1)는 어떤 ID들에 대해 클라이언트(102)가 등록했는지를 결정하며, 이 ID들에 대한 콘텐트를 클라이언트(102)에 제공한다.
ID들을 등록할 때, 클라이언트(102)는 상태 메시지를 설정할 수 있다. 상태 메시지는 순환하는 간격들로 콘텐트 제공자(106)로부터 클라이언트(102)에게 전송될 수 있는 임의의 메시지일 수 있다. 일 실시예에서, 등록은 상태 메시지로서 이용될 수 있는 ID를 특정할 수 있는 클라이언트(102)가 특정 간격으로 콘텐트 제공자(106)로부터 서비스될 콘텐트가 제공되는 ID를 선택한다. 예를 들어, 일 ID에 대한 콘텐트가 60초 간격으로 서비스된다면, 그 후 그 ID는 클라이언트(102)에 의해 상태 메시지로서 선택될 수 있다. 따라서, ID에 대한 주식 시세가 매 60초 마다 업데이트된다면, 그 후 주식 시세에 대한 ID는 상태 메시지로서 이용될 수 있다. 어떠한 ID들도 충분히 짧은 간격으로 업데이트되지 않는다면, 그 후 상태 메시지를 위한 ID가 생성될 것이다. 이 ID는 임의의 종류의 데이터(예컨대, 더미 데이터)와 함께 선택된 간격으로 업데이트될 것이다.
콘텐트 제공자(106)는 상태 메시지를 제공할 수 있을 것이다. 일 실시예에서, 콘텐트 제공자(106)는 상태 메시지 전송을 임의의 엔티티, 예컨대 또다른 소스, 제 3 당사자 등에게 위임할 수 있다. 또한, 상태 메시지에 대한 모니터링은 클라이언트(102)에서 설정되는 것으로 논의되었지만, 모니터링은 다른 위치들 예컨대 제 3 자 또는 택일적으로 SF 데이터 센터(104-1)에서 수행될 수 있다.
그 후, 클라이언트(102)는 콘텐트가 그 ID에 대한 특정 간격으로 수신되는지를 알기 위하여 상태 메시지를 모니터링한다. 콘텐트가 수신되지 않는다면, 클라이 언트(102)는 콘텐트 제공자(106)와 SF 데이터 센터(104-1) 사이에 실패가 발생했다는 것을 결정할 것이다. 일 실시예에서, 클라이언트(102)는 특정 조건들 또는 규칙들에 기초하여 실패가 발생했다고 결정할 수 있을 것이다. 예를 들어, 데이터가 일정 수의 간격들 예컨대 2 또는 3 간격들 후에 수신되지 않는다면, 이때 실패가 결정될 수 있다.
실패가 결정될 때, 클라이언트(102)의 애플리케이션은 콘텐트 제공자(106)로부터 콘텐트를 수신하기 위하여 상이한 데이터 센터(104)에 접속할 수 있을 것이다. 이것은 클라이언트(102)에 대한 임의의 다운 시간을 제거한다. 이러한 변화는 클라이언트(102)의 사용자에게 끊김없을 것이다.
서명이 없는 애플리케이션(예컨대, 자바 애플릿)은 인터페이스로 다운로드될 수 있고, 애플리케이션이 다운로드된 서버와 동일한 IP 어드레스를 갖는 서버들과의 접속을 열 수 있도록 인터페이스에서 실행될 수 있다. 이 제약은 애플리케이션이 인터넷과 같은 네트워크를 통해 데이터를 전송하지 못하도록 하는데 적절하다. 또한, 보안 접속들을 이용하는 것은 복잡한 문제들 일 것이다.. 애플리케이션은 다른 것들이 콘텐트 업데이트들을 방해하지 못하도록 하기 위하여 보안 접속을 이용할 수 있다. 보안 접속들은 인증서 교환을 이용하여 설정될 수 있다. 각각의 인증서는 인증서를 보낸 서버의 URL을 명확하게 식별하는 텍스트 필드를 포함할 수 있다. 인증서의 URL이 인증서가 얻어진 서버와 연관된 실제 URL과 일치하지 않는다면, 에러가 일어난 것이다. 이것은 높은 레벨로 발생하고, 클라이언트(102) 상에서의 애플리케이션 실행에 의해 변경될 수 없다. 따라서, 상이한 URL로부터의 인증서 가 애플리케이션에 전달된다면, 에러가 일어난다.
전술된 바와 같이, 글로벌 IP 어드레스들 및 특정 IP 어드레스들은 DNS 변환(resolution)이 우선 클라이언트(102)에 의해 수행될 때 리턴될 수 있다. 애플리케이션은 실패가 결정되면 특정 IP 어드레스들 중 하나에 접속할 수 있다. 상기의 경우에, IP 어드레스들 IPNYA, IPNYB,...IPNYZ은 DNS 변환에서 특정 IP 어드레스들로서 리턴되었을 것이다.
애플리케이션은 특정 IP 어드레스들 중 첫 번째 것에 접속을 시도할 것이다. 이러한 프로세스에서, IP 어드레스는 IP 어드레스에 대응하는 명칭으로 결정될 것이다. 예를 들어, IP 어드레스 IPNYA는 https://nyappserver.bangnetworks.net의 특정 URL로 변환한다. 이 특정 IP 어드레스는 애플리케이션이 다운로드되었던 글로벌 IP 어드레스와 상이할 것이다. 접속 요청이 있을 때, URL https://nyappserver.bangnetworks.com과 연관된 IP 어드레스를 결정하기 위하여 DNS 변환이 수행될 수 있다. 이 경우, NY 데이터 URL에 대한 특정 IP 어드레스들이 원래의 DNS 변환에 포함되어 있었기 때문에, 애플리케이션은 특정 URL에 대한 이 IP 어드레스들에 접속하는 것이 허용된다. 그러나, 클라이언트(102)가 글로벌 URL에 접속할 때 특정 IP 어드레스들이 원래의 DNS 변환에 포함되어 있지 않다면, 그 후 접속은 허용되지 않을 것이다.
특정 IP 어드레스 예컨대, IPNYA에 대응하는 서버는, 이 서버에 접속하는데 이용되는 특정 URL에 대응하는 인증서를 리턴할 것이다. 애플리케이션은 서버에 접 속하기 위해 이 특정 URL을 이용하기 때문에, 보안 접속이 허용될 수 있고, 보안 접속이 확립될 수 있다.
그 후, 애플리케이션은 객체 ID들을 등록할 수 있고, 또 다른 하트비트(heartbeat)를 설정할 수 있으며, 콘텐트 제공자(106)로부터의 콘텐트 피드를 설정하기 위해 원래 수행되었던 임의의 다른 단계들을 수행할 수 있다. 따라서, 이전에 등록되었던 ID들에 대한 동일한 콘텐트가 여전히 클라이언트(102)에 의해 수신될 것이다. 그러나, 콘텐트는 SF 데이터 센터(104-1)를 대신하여 NY 데이터 센터(104-2)를 통해 콘텐트 제공자(106)로부터 제공될 수 있다.
따라서, 결정된 실패를 고려하여, 클라이언트(102)는 자동으로 상이한 데이터 센터(104)에 접속할 수 있을 것이다. 데이터 센터 및 실패 복구는 상이한 URL 어드레스들을 갖지만, 사용자에게는 투명한 끊김없는 방식으로 전환이 이루어진다. 따라서, 업스트림 실패 후에 콘텐트 제공자(106)로의 재접속을 위하여 사용자는 단언적인 단계들을 취할 필요는 없다. 예를 들어, 사용자는 인터페이스 상의 "리프레쉬" 버튼을 선택하거나 또는 제 2 데이터 센터를 자동으로 접속하기 위한 임의의 다른 확정적인 동작을 수행할 필요가 없다. 또한, 새로운 데이터 센터로부터의 애플리케이션은 새로운 서버로 접속하기 위하여 다운로드될 필요가 없다.
도 3은 일 실시예에 따라 실패가 발생한 것을 결정하는 방법의 간략화된 흐름도(300)를 도시한다. 단계(302)에서, 상태 메시지가 설정될 수 있다. 예를 들어, 상태 메시지는 ID에 연관될 수 있다. 상태 메시지는 콘텐트가 콘텐트 제공자(106)로부터 서비스되는 임의의 ID일 수 있다.
단계(304)에서, ID에 대한 콘텐트가 업데이트되어야 하는 간격이 결정될 수 있다. 이 간격은 콘텐트 제공자(106) 또는 클라이언트(102)에 의해 설정될 수 있다.
단계(306)에서, 상태 메시지가 지정된 간격으로 수신되지 않는지가 결정될 수 있다. 상태 메시지가 수신됐다면, 프로세스는 상태 메시지가 수신되지 않는지 특정 간격으로 지속적으로 체크하는 것을 반복한다.
단계(308)에서, 실패가 선언되어야 하는지를 결정하기 위하여 상태 메시지에 대해 규칙들이 체크될 수 있다. 예를 들어, 규칙들은 실패가 결정되기 전에 어떤 조건들이 만족되어야 하는지를 지시할 수 있다. 상태 메시지가 일정 횟수로 수신되지 않으면 실패가 결정된다는 것이 하나의 규칙일 수 있다. 다른 인자들, 예컨대 네트워크 통계들이 또한 실패가 결정되기 전에 검색 및 평가될 수 있다. 또한, 상태 메시지를 한번 수신하지 못한 것이 실패가 발생했다는 결정을 하기에 충분할 수 있다.
단계(310)에서, 규칙들이 만족되면, 실패가 결정되고, 제 2 데이터 센터에의 접속이 시작될 것이다.
도 4는 일 실시예에 따라 상이한 데이터 센터들(104)에 보안 접속하기 위한 방법의 간략화된 흐름도(400)를 도시한다. 단계(402)에서, URL 또는 임의의 다른 식별자에 대한 IP 어드레스 변환이 수행될 것이다.
단계(404)에서, 글로벌 및 특정 IP 어드레스들이 URL과 연관된 서버로부터 수신될 수 있다.
단계(406)에서, 보안 접속을 허용하기 위한 인증서가 서버로부터 수신될 수 있다. 인증서는 접속을 요청하는데 이용되는 URL과 연관될 수 있다. 예를 들어, 인증서에서 텍스트 부분은 URL을 포함한다.
단계(408)에서, 접속은 글로벌 IP 어드레스들 중 하나를 이용하여 데이터 센터(104-1)를 통해 생성될 수 있다.
단계(410)에서, 데이터 센터(104-1)로부터의 데이터 피드에서 실패가 결정될 수 있다. 실패는 콘텐트 제공자(106) 및 데이터 센터(104-1) 사이의 업스트림 실패일 수 있다.
단계(412)에서, 특정 IP 어드레스들 중 하나를 이용하여 제 2 데이터 센터(104-2)로의 접속이 생성될 수 있다. 단계(402)에서의 접속을 생성하기 위해 이용되었던 것과는 상이한 URL에 대한 접속이 이루어질 수 있다. 일 실시예에서, 특정 IP 어드레스들에 대한 역 조회가 상이한 URL을 결정하는데 이용될 수 있다.
단계(414)에서, 인증서가 제 2 서버로부터 수신되어 제 2 URL과 연관된 접속을 허용할 수 있도록 한다. 인증서는 제 2 데이터 센터(104-2)로의 접속을 요청하는데 이용되었던 제 2 URL로 결정할 수 있기 때문에, 보안 접속이 허용될 수 있다.
많은 장점들이 제공될 수 있다. 예를 들어, 업스트림 실패 검출이 라이브 데이터의 유실이 최소화되도록 실패 복구가 제공될 수 있다. 실패 복구는 클라이언트에서 자동으로 수행될 수 있다. 사용자는 또한 실패 복구시 임의의 단계를 취할 필요가 없다. 애플리케이션은 자동으로 상이한 어드레스의 또다른 데이터 센터로 접속을 옮긴다. 따라서, 사용자는 실패 복구 동작에 관여하지 않는다.
일 실시예에서, "및/또는"이란 용어는 "및/또는"에 의해 연결되는 구성요소들의 임의의 조합이 이용될 수 있다는 것을 나타낸다. 예를 들어, "및/또는"을 이용하는 구에서의 두 단어 또는 표현들은 하나 또는 나머지 하나 또는 양자를 모두 의미할 수 있다. 일 실시예에서 "실질적으로"는 대부분을 의미하는 것으로 지정되는 전체를 또는 지정된 모두를 의미하는 것이 아니다. 예를 들면, 동작을 수행할 수 있다는 용어는 요소가 동작을 수행할 수 있다는 것을 의미하며, 동작을 수행하도록 구성되고/구성되거나 동작을 수행하도록 적응될 수 있음을 의미한다.
개시된 주제는 소프트웨어 또는 하드웨어 또는 그 둘 모두의 조합으로 제어 논리의 형태로 구현될 수 있다. 제어 논리는 일 실시예에서 개시된 단계들의 세트를 정보 처리 디바이스가 수행하도록 지시하는데 이용되는 복수의 명령어들로서 정보 저장 매체에 저장될 수 있다. 여기에 제공된 발명 및 기술들에 기초하여, 당업자는 본 발명의 주제를 구현하기 위한 방법을 이해할 수 있을 것이다.
상기 설명은 예시적이지만 제한적인 것은 아니다. 본 발명의 다양한 변형이 본 개시의 검토 하에 당업자에게 명백할 것이다. 따라서 본 발명의 범위는 상기 설명을 참조하여 결정되어서는 안 되며, 청구항을 참조하여 그 전체 범위 또는 균등물에 따라 결정되어야 할 것이다.

Claims (25)

  1. 실패 복구를 제공할 수 있는 클라이언트에 있어서,
    상기 클라이언트에서, 제 1 데이터 센터로부터 애플리케이션을 수신할 수 있는 논리;
    상기 제 1 데이터 센터로부터 콘텐트를 수신할 수 있는 논리; 및
    상기 클라이언트에서, 콘텐트 제공자와 상기 제 1 데이터 센터 사이에 실패가 발생했음을 결정할 수 있는 논리를 포함하고,
    상기 콘텐트 제공자는 상기 제 1 데이터 센터에 콘텐트를 제공할 수 있고,
    상기 애플리케이션은 상기 클라이언트에서, 상기 실패가 발생했다는 결정에 응답하여 제 2 데이터 센터로부터 콘텐트를 수신하기 위하여 상기 제 2 데이터 센터에 자동으로 접속할 수 있는, 클라이언트.
  2. 제 1 항에 있어서,
    상태 메시지를 설정할 수 있는 논리를 더 포함하고, 상기 상태 메시지는 상기 클라이언트에서 상기 제 1 데이터 센터를 통해 상기 콘텐트 제공자로부터 수신되고, 상기 상태 메시지는 상기 실패를 결정하는데 이용되는, 클라이언트.
  3. 제 2 항에 있어서,
    상기 실패는 상기 상태 메시지가 특정 시간 기간 동안 수신되지 않을 때 검 출되는, 클라이언트.
  4. 제 1 항에 있어서,
    제 1 식별자를 이용하여 정보에 대한 요청을 전송할 수 있는 논리로서, 상기 요청은 상기 제 1 데이터 센터에 의해 서비스되는, 상기 전송 논리; 및
    복수의 IP 어드레스들을 수신할 수 있는 논리로서, 상기 IP 어드레스들은 상기 제 1 식별자에 대응하는 글로벌 IP 어드레스들과 제 2 식별자에 대응하는 특정 IP 어드레스들을 포함하는, 상기 복수의 IP 어드레스들을 포함하고,
    상기 애플리케이션은 상기 실패가 결정될 때 상기 제 2 데이터 센터에 대한 특정 IP 어드레스를 이용하여 상기 제 2 데이터 센터에 자동으로 접속할 수 있는, 클라이언트.
  5. 제 4 항에 있어서,
    상기 애플리케이션은 서명이 없는(unsigned) 애플리케이션인, 클라이언트.
  6. 실패 복구를 위한 시스템에 있어서,
    콘텐트 제공자 및 제 1 데이터 센터 사이에 실패가 발생했음을 결정할 수 있고 자동으로 제 2 데이터 센터에 자동으로 접속할 수 있는 애플리케이션을 포함하는 상기 제 1 데이터 센터를 포함하고,
    상기 제 1 데이터 센터는,
    클라이언트로부터 접속 요청을 수신하고;
    상기 요청에 응답하여 상기 클라이언트에게 상기 애플리케이션을 전송하고;
    상기 콘텐트 제공자로부터 콘텐트를 수신하고;
    상기 수신된 콘텐트를 상기 클라이언트에게 전송할 수 있는, 실패 복구 시스템.
  7. 제 6 항에 있어서,
    상기 애플리케이션은 상기 콘텐트 제공자 및 상기 제 1 데이터 센터 사이에 상기 실패가 발생했다는 것을 상기 클라이언트에서 결정할 수 있고, 및 상기 실패가 발생했다는 결정에 응답하여 상기 제 2 데이터 센터로부터 콘텐트를 수신하기 위하여 상기 클라이언트에서 상기 제 2 데이터 센터에 자동으로 접속할 수 있는, 실패 복구 시스템.
  8. 제 6 항에 있어서,
    상기 애플리케이션은 상태 메시지를 설정할 수 있고,
    상기 상태 메시지는 상기 클라이언트에서 상기 데이터 센터를 통해 상기 콘텐트 제공자로부터 수신되고,
    상기 상태 메시지는 상기 실패를 결정하는데 이용되는, 실패 복구 시스템.
  9. 제 8 항에 있어서,
    상기 실패는 상기 상태 메시지가 특정 시간 기간 동안 수신되지 않을 때 검출되는, 실패 복구 시스템.
  10. 제 6 항에 있어서,
    상기 제 1 데이터 센터는 복수의 IP 어드레스들을 상기 클라이언트에 전송할 수 있고, 상기 IP 어드레스들은 글로벌 및 특정 IP 어드레스들을 포함하고, 상기 글로벌 IP 어드레스들은 상기 제 1 식별자에 대응하고, 상기 특정 IP 어드레스들은 제 2 식별자에 대응하고, 상기 애플리케이션은 상기 실패가 결정될 때 상기 제 2 데이터 센터에 대한 특정 IP 어드레스를 이용하여 상기 제 2 데이터 센터에 자동으로 접속할 수 있는, 실패 복구 시스템.
  11. 제 10 항에 있어서,
    상기 제 1 식별자는 제 1 URL을 포함하고, 상기 제 2 식별자는 제 2 URL을 포함하는, 실패 복구 시스템.
  12. 제 6 항에 있어서,
    상기 애플리케이션은 서명이 없는 애플리케이션인, 실패 복구 시스템.
  13. 실패 복구를 위한 방법에 있어서,
    제 1 데이터 센터에서 클라이언트로부터 접속 요청을 수신하는 단계;
    상기 요청에 응답하여 상기 클라이언트에게 애플리케이션을 전송하는 단계;
    상기 제 1 데이터 센터에서 상기 콘텐트 제공자로부터 콘텐트를 수신하는 단계; 및
    상기 콘텐트 제공자로부터 상기 콘텐트를 상기 클라이언트로 전송하는 단계를 포함하고,
    상기 애플리케이션은 상기 클라이언트에서, 상기 콘텐트 제공자 및 상기 제 1 데이터 센터 사이에서 실패가 발생했다는 것을 결정할 수 있고, 상기 실패가 발생했다는 결정에 응답하여 제 2 데이터 센터로부터 콘텐트를 수신하기 위하여 상기 클라이언트에서 상기 제 2 데이터 센터에 자동으로 접속하는, 실패 복구 방법.
  14. 제 13 항에 있어서,
    상기 애플리케이션은 상태 메시지를 설정할 수 있고,
    상기 상태 메시지는 상기 클라이언트에서 상기 데이터 센터를 통해 상기 콘텐트 제공자로부터 수신되고,
    상기 상태 메시지는 상기 실패를 결정하는데 이용되는, 실패 복구 시스템.
  15. 제 14 항에 있어서,
    상기 실패는 상기 상태 메시지가 특정 시간 동안 수신되지 않을 때 검출되는 방법.
  16. 제 13 항에 있어서,
    복수의 IP 어드레스들을 상기 클라이언트에 전송하는 단계를 더 포함하고,
    상기 IP 어드레스들은 글로벌 및 특정 IP 어드레스들을 포함하고,
    상기 글로벌 IP 어드레스들은 상기 제 1 식별자에 대응하고, 상기 특정 IP 어드레스들은 제 2 식별자에 대응하고,
    상기 애플리케이션은 상기 실패가 결정될 때 상기 제 2 데이터 센터에 대한 특정 IP 어드레스를 이용하여 상기 제 2 데이터 센터에 자동으로 접속할 수 있는, 실패 복구 방법.
  17. 제 16 항에 있어서,
    상기 애플리케이션은 서명이 없는 애플리케이션인, 실패 복구 방법.
  18. 제 16 항에 있어서,
    상기 제 1 식별자는 제 1 URL을 포함하고, 상기 제 2 식별자는 제 2 URL을 포함하는, 실패 복구 방법.
  19. 실패 복구를 제공하는 시스템에 있어서,
    제 1 식별자에 대한 요청들을 처리할 수 있고, 제 1 데이터 센터에 특정한 제 2 식별자에 대한 요청들을 처리할 수 있는 제 1 데이터 센터; 및
    상기 제 1 식별자에 대한 요청들을 처리할 수 있고, 제 2 데이터 센터에 특정한 제 3 식별자에 대한 요청들을 처리할 수 있는 제 2 데이터 센터 서버들을 포함하고,
    상기 제 1 데이터 센터 또는 제 2 데이터 센터는 상기 제 1 식별자를 이용하여 정보에 대한 클라이언트로부터의 요청을 처리하고,
    상기 제 1 데이터 센터 또는 상기 제 2 데이터 센터는 상기 클라이언트에 애플리케이션을 전송하고,
    상기 애플리케이션은 상기 콘텐트 제공자 및 상기 요청을 처리했던 상기 제 1 또는 제 2 데이터 센터 사이에 실패가 발생했음을 결정할 수 있고, 상기 실패가 결정될 때 상기 요청을 처리하지 않았던 상기 제 1 또는 상기 제 2 데이터 센터에 자동으로 접속하기 위하여 상기 제 2 식별자 또는 상기 제 3 식별자를 상기 클라이언트에서 이용하는, 실패 복구 제공 시스템.
  20. 제 19 항에 있어서,
    상기 제 1 데이터 센터는 상기 제 1 식별자에 연관된 하나 이상의 글로벌 IP 어드레스들의 제 1 세트와, 상기 제 2 식별자에 연관된 하나 이상의 특정 IP 어드레스들의 제 1 세트에 연관되고,
    상기 제 2 데이터 센터는 상기 제 1 식별자에 연관되는 하나 이상의 글로벌 IP 어드레스들의 제 2 세트와, 상기 제3 식별자에 연관되는 하나 이상의 특정 IP 어드레스들의 제 2 세트에 연관되는, 실패 복구 제공 시스템.
  21. 제 19 항에 있어서,
    상기 제 1 데이터 센터가 상기 요청을 처리하면, 상기 애플리케이션을 갖는 상기 특정 IP 어드레스들의 제 2 세트를 상기 클라이언트에 전송하고,
    상기 제 2 데이터 센터가 상기 요청을 처리하면, 상기 애플리케이션을 갖는 상기 특정 IP 어드레스들의 제 1 세트를 상기 클라이언트에 전송하는, 실패 복구 제공 시스템.
  22. 제 1 데이터 센터로부터 실패 복구를 제공할 수 있는 시스템에 있어서,
    제 2 데이터 센터를 포함하고,
    상기 제 2 데이터 센터는, 클라이언트의 애플리케이션으로부터 접속 요청을 수신할 수 있고, 상기 애플리케이션은 상기 제 1 데이터 센터로부터 상기 클라이언트로 다운로드된 것이고;
    상기 애플리케이션이 상기 제 2 데이터 센터에 접속하도록 할 수 있고;
    상기 콘텐트 제공자로부터 콘텐트를 수신할 수 있고;
    상기 콘텐트 제공자로부터 수신된 상기 콘텐트를 상기 클라이언트에 전송할 수 있는, 실패 복구 제공 시스템.
  23. 제 22 항에 있어서,
    상기 제 1 데이터 센터는 상기 제 1 식별자에 연관된 하나 이상의 글로벌 IP 어드레스들의 제 1 세트와, 상기 제 2 식별자에 연관된 하나 이상의 특정 IP 어드레스들의 제 1 세트에 연관되고, 상기 제 2 데이터 센터는 상기 제 1 식별자에 연관되는 하나 이상의 글로벌 IP 어드레스들의 제 2 세트와, 상기 제3 식별자에 연관되는 하나 이상의 특정 IP 어드레스들의 제 2 세트에 연관되는, 실패 복구 제공 시스템.
  24. 제 23 항에 있어서,
    상기 클라이언트에게 상기 제 1 데이터 센터에 대한 애플리케이션을 갖는 상기 하나 이상의 글로벌 IP 어드레스들의 제 1 세트와 상기 특정 IP 어드레스들의 제 2 세트가 전송되는, 실패 복구 제공 시스템.
  25. 제 24 항에 있어서,
    상기 접속 요청은 상기 제 2 데이터 센터와 연관된 상기 특정 IP 어드레스들의 제 2 세트 중 하나를 포함하는, 실패 복구 제공 시스템.
KR1020077006144A 2004-08-17 2005-08-15 업스트림 실패 검출 및 실패 복구를 위한 기술들 KR101164698B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US60253904P 2004-08-17 2004-08-17
US60/602,539 2004-08-17
PCT/US2005/029162 WO2006023508A1 (en) 2004-08-17 2005-08-15 Techniques for upstream failure detection and failure recovery

Publications (2)

Publication Number Publication Date
KR20070083566A true KR20070083566A (ko) 2007-08-24
KR101164698B1 KR101164698B1 (ko) 2012-07-11

Family

ID=35510945

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020077006144A KR101164698B1 (ko) 2004-08-17 2005-08-15 업스트림 실패 검출 및 실패 복구를 위한 기술들
KR20077006107A KR101059904B1 (ko) 2004-08-17 2007-03-16 실시간 라우팅 네트워크로 개인화된 콘텐트를 전달하는기술
KR20077006143A KR101049501B1 (ko) 2004-08-17 2007-03-16 모듈러 이벤트-구동 처리

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR20077006107A KR101059904B1 (ko) 2004-08-17 2007-03-16 실시간 라우팅 네트워크로 개인화된 콘텐트를 전달하는기술
KR20077006143A KR101049501B1 (ko) 2004-08-17 2007-03-16 모듈러 이벤트-구동 처리

Country Status (6)

Country Link
US (1) US9043635B2 (ko)
EP (1) EP1779636B1 (ko)
JP (1) JP4668271B2 (ko)
KR (3) KR101164698B1 (ko)
CN (3) CN101057476B (ko)
WO (1) WO2006023508A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043635B2 (en) 2004-08-17 2015-05-26 Shaw Parsing, Llc Techniques for upstream failure detection and failure recovery

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7051070B2 (en) * 2000-12-18 2006-05-23 Timothy Tuttle Asynchronous messaging using a node specialization architecture in the dynamic routing network
US8505024B2 (en) 2000-12-18 2013-08-06 Shaw Parsing Llc Storing state in a dynamic content routing network
US7711847B2 (en) 2002-04-26 2010-05-04 Sony Computer Entertainment America Inc. Managing users in a multi-user network game environment
US20030217135A1 (en) 2002-05-17 2003-11-20 Masayuki Chatani Dynamic player management
US8560707B2 (en) 2007-10-05 2013-10-15 Sony Computer Entertainment America Llc Seamless host migration based on NAT type
US8131802B2 (en) 2007-10-05 2012-03-06 Sony Computer Entertainment America Llc Systems and methods for seamless host migration
JP5162240B2 (ja) 2004-08-17 2013-03-13 ショー パーシング リミティド ライアビリティ カンパニー リアルタイム配信ネットワークによって個別コンテンツを配信する技法
WO2006023506A1 (en) * 2004-08-17 2006-03-02 Shaw Parsing Llc Modular event-driven processing
US20070250626A1 (en) * 2006-04-21 2007-10-25 Electronic Data Systems Corporation System and method for uniform disaster recovery system access
US20080090555A1 (en) * 2006-10-17 2008-04-17 Patel Pulin R Managing Faults and Filters in Providing Foreign Services
US8984326B2 (en) * 2007-10-31 2015-03-17 Hewlett-Packard Development Company, L.P. Testing disaster recovery elements
US8171111B1 (en) * 2008-08-07 2012-05-01 United Services Automobile Association (Usaa) Systems and methods for non-specific address routing
US8706878B1 (en) 2008-08-21 2014-04-22 United Services Automobile Association Preferential loading in data centers
CN104811486B (zh) * 2009-06-19 2019-06-14 日本技术贸易株式会社 内容管理装置和内容管理方法
US9300525B2 (en) * 2010-07-02 2016-03-29 At&T Intellectual Property I, L.P. Method and system to identify a source of signal impairment
KR101064143B1 (ko) * 2010-08-20 2011-09-15 주식회사 파수닷컴 Drm 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
US8738736B2 (en) * 2010-11-23 2014-05-27 Edgecast Networks, Inc. Scalable content streaming system with server-side archiving
CN104980333B (zh) * 2014-04-14 2018-03-27 纬创资通股份有限公司 Pushlet即时通信方法及平台
CN104168269B (zh) * 2014-07-24 2016-05-04 深圳市腾讯计算机系统有限公司 安全连接建立方法、装置及系统
US9967309B2 (en) * 2014-10-06 2018-05-08 Microsoft Technology Licensing, Llc Dynamic loading of routes in a single-page application
CN107291575B (zh) * 2016-03-31 2020-10-16 阿里巴巴集团控股有限公司 一种数据中心故障时的处理方法和设备
CN107360240A (zh) * 2017-07-20 2017-11-17 广东小天才科技有限公司 一种数据更新方法及系统
US11888840B2 (en) * 2017-11-09 2024-01-30 Mitsubishi Electric Corporation Apparatus and method for selection and transmission of server certificate
US10765952B2 (en) 2018-09-21 2020-09-08 Sony Interactive Entertainment LLC System-level multiplayer matchmaking
US10695671B2 (en) 2018-09-28 2020-06-30 Sony Interactive Entertainment LLC Establishing and managing multiplayer sessions
US11570073B1 (en) * 2019-11-21 2023-01-31 Juniper Networks, Inc. Service status notification

Family Cites Families (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5230048A (en) 1986-09-03 1993-07-20 Wang Laboratories, Inc. Data processing system with tree and list data structure
US5535335A (en) 1992-12-22 1996-07-09 International Business Machines Corporation Method and system for reporting the status of an aggregate resource residing in a network of interconnected real resources
FR2702579B1 (fr) 1993-03-12 1995-05-24 Bull Sa Dispositif de communication entre au moins un client et au moins un serveur, procédé d'utilisation du dispositif et utilisation du dispositif.
US6052447A (en) 1993-05-28 2000-04-18 Sprint Communications Company L.P. Method and apparatus for aggregating customer information for a telecommunications system
US5974457A (en) 1993-12-23 1999-10-26 International Business Machines Corporation Intelligent realtime monitoring of data traffic
US5692193A (en) 1994-03-31 1997-11-25 Nec Research Institute, Inc. Software architecture for control of highly parallel computer systems
US6769009B1 (en) 1994-05-31 2004-07-27 Richard R. Reisman Method and system for selecting a personalized set of information channels
US6460036B1 (en) 1994-11-29 2002-10-01 Pinpoint Incorporated System and method for providing customized electronic newspapers and target advertisements
US5758257A (en) 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US5706516A (en) 1995-01-23 1998-01-06 International Business Machines Corporation System for communicating messages among agent processes
US5819284A (en) 1995-03-24 1998-10-06 At&T Corp. Personalized real time information display as a portion of a screen saver
US6240451B1 (en) 1995-05-25 2001-05-29 Punch Networks Corporation Method and apparatus for automatically disseminating information over a network
US5740549A (en) 1995-06-12 1998-04-14 Pointcast, Inc. Information and advertising distribution system and method
US6002667A (en) 1995-07-19 1999-12-14 Fujitsu Network Communications, Inc. Minimum guaranteed cell rate method and apparatus
US5878420A (en) 1995-08-31 1999-03-02 Compuware Corporation Network monitoring and management system
US6029175A (en) 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
EP0941515A1 (en) 1995-10-31 1999-09-15 Frederick S.M. Herz System for customized electronic identification of desirable objects
US5938733A (en) 1996-03-08 1999-08-17 International Business Machines Corporation Object oriented representation of network requests in a client server model
US5964839A (en) 1996-03-29 1999-10-12 At&T Corp System and method for monitoring information flow and performing data collection
US6018619A (en) 1996-05-24 2000-01-25 Microsoft Corporation Method, system and apparatus for client-side usage tracking of information server systems
US5822543A (en) 1996-07-08 1998-10-13 International Business Machines Corporation Gathering data handling statistics in non-synchronous data communication networks
US7249037B2 (en) 1996-09-09 2007-07-24 Bancorp Services L.L.P. System for managing a stable value protected investment plan
US5886643A (en) 1996-09-17 1999-03-23 Concord Communications Incorporated Method and apparatus for discovering network topology
US6055493A (en) 1997-01-29 2000-04-25 Infovista S.A. Performance measurement and service quality monitoring system and process for an information system
US6578077B1 (en) 1997-05-27 2003-06-10 Novell, Inc. Traffic monitoring tool for bandwidth management
JP3932462B2 (ja) 1997-05-27 2007-06-20 ソニー株式会社 クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体
JP3799134B2 (ja) 1997-05-28 2006-07-19 ソニー株式会社 システムおよび通知方法
US6490610B1 (en) * 1997-05-30 2002-12-03 Oracle Corporation Automatic failover for clients accessing a resource through a server
US5983227A (en) 1997-06-12 1999-11-09 Yahoo, Inc. Dynamic page generator
US6233600B1 (en) 1997-07-15 2001-05-15 Eroom Technology, Inc. Method and system for providing a networked collaborative work environment
US6173406B1 (en) 1997-07-15 2001-01-09 Microsoft Corporation Authentication systems, methods, and computer program products
US6112240A (en) 1997-09-03 2000-08-29 International Business Machines Corporation Web site client information tracker
GB2344265B (en) 1997-11-20 2003-07-16 Xacct Technologies Inc Network accounting and billing system and method
US6324587B1 (en) 1997-12-23 2001-11-27 Microsoft Corporation Method, computer program product, and data structure for publishing a data object over a store and forward transport
US6449638B1 (en) 1998-01-07 2002-09-10 Microsoft Corporation Channel definition architecture extension
US6094681A (en) 1998-03-31 2000-07-25 Siemens Information And Communication Networks, Inc. Apparatus and method for automated event notification
US6138158A (en) 1998-04-30 2000-10-24 Phone.Com, Inc. Method and system for pushing and pulling data using wideband and narrowband transport systems
US6363421B2 (en) 1998-05-31 2002-03-26 Lucent Technologies, Inc. Method for computer internet remote management of a telecommunication network element
JP4634547B2 (ja) * 1998-06-30 2011-02-16 株式会社東芝 リアルタイム情報配信方法
US6108703A (en) 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US6314459B1 (en) 1998-08-13 2001-11-06 U.S. Philips Corporation Home-network autoconfiguration
US6560611B1 (en) 1998-10-13 2003-05-06 Netarx, Inc. Method, apparatus, and article of manufacture for a network monitoring system
US6308209B1 (en) 1998-10-22 2001-10-23 Electronic Data Systems Corporation Method and system for measuring usage of a computer network by a network user
ATE273538T1 (de) 1998-10-28 2004-08-15 Verticalone Corp Gerät und verfahren für automatische aggregation und abgabe von elektronischer persönlicher information oder daten
US6691165B1 (en) 1998-11-10 2004-02-10 Rainfinity, Inc. Distributed server cluster for controlling network traffic
US6366926B1 (en) 1998-12-31 2002-04-02 Computer Associates Think, Inc. Method and apparatus for the dynamic filtering and routing of events
US6567411B2 (en) 1998-12-31 2003-05-20 Qwest Communications International, Inc. Method and apparatus for continuous narrowcast of individualized information over a data network
US6446257B1 (en) 1999-02-04 2002-09-03 Hewlett-Packard Company Method and apparatus for pre-allocation of system resources to facilitate garbage collection
US6970924B1 (en) 1999-02-23 2005-11-29 Visual Networks, Inc. Methods and apparatus for monitoring end-user experience in a distributed network
US6408282B1 (en) 1999-03-01 2002-06-18 Wit Capital Corp. System and method for conducting securities transactions over a computer network
US20020013852A1 (en) 2000-03-03 2002-01-31 Craig Janik System for providing content, management, and interactivity for thin client devices
US6609138B1 (en) 1999-03-08 2003-08-19 Sun Microsystems, Inc. E-mail list archiving and management
US6751663B1 (en) 1999-03-25 2004-06-15 Nortel Networks Limited System wide flow aggregation process for aggregating network activity records
US6539427B1 (en) 1999-06-29 2003-03-25 Cisco Technology, Inc. Dynamically adaptive network element in a feedback-based data network
US6829642B1 (en) 1999-07-01 2004-12-07 International Business Machines Corporation Method and system for automatically and optimally selecting a TN3270 server in an internet protocol network
US6789115B1 (en) 1999-07-09 2004-09-07 Merrill Lynch & Company System for collecting, analyzing, and reporting high volume multi-web server usage
US6553412B1 (en) 1999-09-10 2003-04-22 Avantgo, Inc. System, method, and computer program product for web content aggregation and development, and web content delivery to clients
US6873693B1 (en) 1999-09-13 2005-03-29 Microstrategy, Incorporated System and method for real-time, personalized, dynamic, interactive voice services for entertainment-related information
US7293074B1 (en) 1999-09-20 2007-11-06 Fusionone, Inc. Performing server actions using template with field that can be completed without obtaining information from a user
US6792458B1 (en) 1999-10-04 2004-09-14 Urchin Software Corporation System and method for monitoring and analyzing internet traffic
US6484143B1 (en) 1999-11-22 2002-11-19 Speedera Networks, Inc. User device and system for traffic management and content distribution over a world wide area network
US20020010757A1 (en) 1999-12-03 2002-01-24 Joel Granik Method and apparatus for replacement of on-line advertisements
US6418448B1 (en) 1999-12-06 2002-07-09 Shyam Sundar Sarkar Method and apparatus for processing markup language specifications for data and metadata used inside multiple related internet documents to navigate, query and manipulate information from a plurality of object relational databases over the web
US6687729B1 (en) 1999-12-20 2004-02-03 Unisys Corporation System and method for providing a pool of reusable threads for performing queued items of work
US6606643B1 (en) 2000-01-04 2003-08-12 International Business Machines Corporation Method of automatically selecting a mirror server for web-based client-host interaction
US7454457B1 (en) * 2000-02-07 2008-11-18 Parallel Networks, Llc Method and apparatus for dynamic data flow control using prioritization of data requests
US6871346B1 (en) 2000-02-11 2005-03-22 Microsoft Corp. Back-end decoupled management model and management system utilizing same
US7392281B1 (en) 2000-02-25 2008-06-24 Navic Systems, Inc. System and method for providing guaranteed delivery of messages to embedded devices over a data network
US20010047426A1 (en) 2000-03-31 2001-11-29 Hunter Kevin D. Device-based routing for web content retrieval
US7209959B1 (en) 2000-04-04 2007-04-24 Wk Networks, Inc. Apparatus, system, and method for communicating to a network through a virtual domain providing anonymity to a client communicating on the network
US6654804B1 (en) 2000-04-27 2003-11-25 Micron Electronics, Inc. Method and apparatus for automatic dial-up dial-down web hosting
ATE289140T1 (de) 2000-05-05 2005-02-15 Nomadix Inc Gerät und verfahren zur überwachung der netzwerkauslastung
US6918084B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Spawning new repository spaces using information provided in advertisement schema messages
US7577834B1 (en) 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US6769010B1 (en) 2000-05-11 2004-07-27 Howzone.Com Inc. Apparatus for distributing information over a network-based environment, method of distributing information to users, and method for associating content objects with a database wherein the content objects are accessible over a network communication medium by a user
US6658652B1 (en) 2000-06-08 2003-12-02 International Business Machines Corporation Method and system for shadow heap memory leak detection and other heap analysis in an object-oriented environment during real-time trace processing
US20030041110A1 (en) * 2000-07-28 2003-02-27 Storymail, Inc. System, Method and Structure for generating and using a compressed digital certificate
US6944662B2 (en) 2000-08-04 2005-09-13 Vinestone Corporation System and methods providing automatic distributed data retrieval, analysis and reporting services
US7139844B2 (en) 2000-08-04 2006-11-21 Goldman Sachs & Co. Method and system for processing financial data objects carried on broadcast data streams and delivering information to subscribing clients
US20020024536A1 (en) 2000-08-25 2002-02-28 Michal Kahan Method and apparatus for information aggregation and personalized display of the aggregated information
US7752214B2 (en) 2000-09-01 2010-07-06 Op40, Inc. Extended environment data structure for distributed digital assets over a multi-tier computer network
US7107326B1 (en) 2000-10-13 2006-09-12 3Com Corporation Method and system for integrating IP address reservations with policy provisioning
US20020087630A1 (en) 2000-10-20 2002-07-04 Jonathan Wu Enhanced information and presence service
US7249197B1 (en) 2000-10-20 2007-07-24 Nortel Networks Limited System, apparatus and method for personalising web content
US20020073165A1 (en) 2000-10-23 2002-06-13 Pingpong Technology, Inc. Real-time context-sensitive customization of user-requested content
US6970939B2 (en) 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US6725446B1 (en) 2000-11-01 2004-04-20 Digital Integrator, Inc. Information distribution method and system
JP2002236626A (ja) * 2000-12-06 2002-08-23 Site Rock Corp サイト監視方法、および、サイト監視システム
US8505024B2 (en) 2000-12-18 2013-08-06 Shaw Parsing Llc Storing state in a dynamic content routing network
US7051070B2 (en) * 2000-12-18 2006-05-23 Timothy Tuttle Asynchronous messaging using a node specialization architecture in the dynamic routing network
US20020078251A1 (en) 2000-12-18 2002-06-20 Philips Electronics North America Corp. Self-determining command path architecture
US7043525B2 (en) 2000-12-18 2006-05-09 Bang Networks, Inc. Techniques for updating live objects at clients using a dynamic routing network
US7127720B2 (en) 2000-12-18 2006-10-24 Charles E Cano Storing state in a dynamic content routing network
US7177917B2 (en) 2000-12-27 2007-02-13 Softwired Ag Scaleable message system
US6836886B2 (en) 2001-03-19 2004-12-28 Autodesk, Inc. Method and apparatus for delivering electronic information
JP2002343578A (ja) * 2001-05-10 2002-11-29 Nec Corp 発光体、発光素子、および発光表示装置
IL161389A0 (en) 2001-10-15 2004-09-27 Semandex Networks Inc Dynamic content based multicast routing in mobile networks
US7970876B2 (en) 2002-07-23 2011-06-28 Avaya Communication Israel Ltd. Global server load balancer
EP1394701A3 (en) * 2002-07-31 2006-05-03 Hewlett-Packard Development Company, L.P. Establishment of network connections
US7207043B2 (en) 2002-12-31 2007-04-17 International Business Machines Corporation Programmatic response-time based workload distribution techniques
JP2004234123A (ja) 2003-01-28 2004-08-19 Fujitsu Ltd マルチスレッドコンピュータ
US7159034B1 (en) * 2003-03-03 2007-01-02 Novell, Inc. System broadcasting ARP request from a server using a different IP address to balance incoming traffic load from clients via different network interface cards
US7467390B2 (en) 2003-04-01 2008-12-16 International Business Machines Corporation Enhanced staged event-driven architecture
US7350213B2 (en) 2003-06-19 2008-03-25 Sap Ag System and method for dynamic selection of stateless/stateful software components
US8549078B2 (en) * 2003-08-08 2013-10-01 Teamon Systems, Inc. Communications system providing load balancing based upon connectivity disruptions and related methods
GB0325691D0 (en) * 2003-11-04 2003-12-10 Dotworlds Ltd Resolution of network names
US20050125557A1 (en) * 2003-12-08 2005-06-09 Dell Products L.P. Transaction transfer during a failover of a cluster controller
EP1628278A1 (en) * 2004-08-16 2006-02-22 Alcatel Method and system for detecting available parking places
CN101057476B (zh) 2004-08-17 2014-01-08 肖分析有限公司 用实时路由网络递送个人化内容的方法和装置
JP5162240B2 (ja) 2004-08-17 2013-03-13 ショー パーシング リミティド ライアビリティ カンパニー リアルタイム配信ネットワークによって個別コンテンツを配信する技法
WO2006023506A1 (en) 2004-08-17 2006-03-02 Shaw Parsing Llc Modular event-driven processing
WO2006046516A1 (ja) * 2004-10-26 2006-05-04 Olympus Corporation 内視鏡形状検出装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043635B2 (en) 2004-08-17 2015-05-26 Shaw Parsing, Llc Techniques for upstream failure detection and failure recovery

Also Published As

Publication number Publication date
KR20070095273A (ko) 2007-09-28
KR20070057838A (ko) 2007-06-07
KR101164698B1 (ko) 2012-07-11
US9043635B2 (en) 2015-05-26
JP2008510436A (ja) 2008-04-03
JP4668271B2 (ja) 2011-04-13
CN101189852A (zh) 2008-05-28
US20060075279A1 (en) 2006-04-06
KR101059904B1 (ko) 2011-08-29
KR101049501B1 (ko) 2011-07-15
EP1779636B1 (en) 2015-05-27
CN100527086C (zh) 2009-08-12
CN101040261A (zh) 2007-09-19
EP1779636A1 (en) 2007-05-02
WO2006023508A1 (en) 2006-03-02
CN101057476A (zh) 2007-10-17
CN101189852B (zh) 2012-10-03
CN101057476B (zh) 2014-01-08

Similar Documents

Publication Publication Date Title
KR101164698B1 (ko) 업스트림 실패 검출 및 실패 복구를 위한 기술들
US11611607B2 (en) System providing faster and more efficient data communication
US8868760B2 (en) Systems and methods for determining the location of a request on a content delivery network
US8805950B1 (en) Client web cache
US9762678B2 (en) Method, apparatus and computer program for modifying an endpoint reference representing a web service endpoint
US20230088115A1 (en) Generating early hints informational responses at an intermediary server

Legal Events

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

Payment date: 20160629

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 7