KR100359366B1 - 자각-개시 푸시를 제공하기 위한 방법 및 장치 - Google Patents

자각-개시 푸시를 제공하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR100359366B1
KR100359366B1 KR1020000000284A KR20000000284A KR100359366B1 KR 100359366 B1 KR100359366 B1 KR 100359366B1 KR 1020000000284 A KR1020000000284 A KR 1020000000284A KR 20000000284 A KR20000000284 A KR 20000000284A KR 100359366 B1 KR100359366 B1 KR 100359366B1
Authority
KR
South Korea
Prior art keywords
client
entity
network
delete delete
operational state
Prior art date
Application number
KR1020000000284A
Other languages
English (en)
Other versions
KR20000057718A (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 KR20000057718A publication Critical patent/KR20000057718A/ko
Application granted granted Critical
Publication of KR100359366B1 publication Critical patent/KR100359366B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
    • 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/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • 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/566Grouping or aggregating service requests, e.g. for unified processing
    • 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
    • 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 Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 특정 클라이언트가 특정 상태로 들어가는 것에 근거하여 소스 서버나 또는 중간 프록시 서버로부터 자주 분리되는 클라이언트 컴퓨터로의 데이터 전송을 개시시키기 위한 상태 통지를 가능하게 한다. 중간 프록시 서버는 소스 서버로부터 타겟 클라이언트로의 푸시 요구를 큐잉한다. 상태 통지는 상이한 기준에 근거한 상태 정보를 포함한다. 상태 통지에는 소정의 데이터를 전송할 최소 비용 장치를 판단하기 위해 이용될 수 있는 푸시 정보가 명시될 수 있다. 이러한 상태 통지는 또한, 각각의 폴(poll)을 개시함으로써 네트워크 폴링 부하를 감소시킨다.

Description

자각-개시 푸시를 제공하기 위한 방법 및 장치{METHOD AND APPRATUS FOR PROVIDING AWARENESS-TRIGGERED PUSH}
본 발명은 컴퓨터 네트워크에서의 데이터 전송에 관한 것으로서, 특히, 의도된 수신자(intented recipients)의 특정 상태에 따라 데이터가 수신자에게 전송되는 고유의 데이터 푸시(push) 기술에 관한 것이다.
표준 클라이언트-서버 정보 푸시 모델은 대부분의 시간 동안 네트워크로부터 분리되어 있는 원거리 컴퓨팅(pervasive computing:PvC) 엔티티에는 효율적이지 못하다. 서버가 분리된 클라이언트로 데이터를 푸시하기 위해 헛되게 시도함으로써, CPU, RAM 및 네트워크 대역폭과 같은 자원을 낭비한다.
푸시(push)
HTTP 푸시와 같은 표준 푸시 모델에서, 소정의 푸시 소스 서버(PSS)는 새로운 정보를 모든 가입된 클라이언트로 전송한다. 이것은 클라이언트가 대부분의 시간 동안 네트워크에 능동적으로 접속되어 있고, 네트워크가 충분한 전송 대역폭을 갖고 있는 경우에 네트워크에서 양호하게 작용한다. 이러한 클라이언트는 그 전송된 것을 수신할 수 있다. 그러나, PvC 장치는 대부분 네트워크로부터 분리되어 있기 때문에, 대부분의 전송이 실패하게 되며, 따라서, 이 모델은 도움이 되지 않는다.
푸시 소스 서버는 각각의 전송 이전에 목표 클라이언트의 가용성(availability)을 검사하여 분리된 클라이언트로의 전송을 피하기 위해 시도할 수 있다. 이러한 방법은 여전히 매우 많은 상태 검사 프로브(status checking probe)로 인해 네트워크에 심한 부하를 초래한다.
풀(pull)
소정의 클라이언트 머신이 예를 들어, HTTP GET 요구를 이용하여 그것으로 전송되는 모든 정보를 요구하도록 강요된 경우에, 모든 데이터 전송은 이용가능한 클라이언트로 보내지도록 보장된다. 이러한 풀(pull) 방식에 있어서의 문제점은 소정의 소스 서버가 새로운 정보를 갖고 있는지 여부 또는 그 때를 소정의 클라이언트가 알도록 할 방법이 없기 때문에, 클라이언트는 모든 새로운 정보가 검색되도록 보장하기 위해서는 불필요한 많은 풀 요구를 해야한다. 이것도 역시 매우 많은 불필요한 풀 요구로 인해 네트워크에 심한 부하를 초래하게 된다.
폴(poll)
풀 기술과 유사한 또다른 방법으로는, 개인화된 뉴스 및 정보를 직접 클라이언트의 컴퓨터 스크린으로 방송하는 인터넷 뉴스 서비스인, 포인트캐스트 네트워크(PointCast Network)(http://www.pointcast.com)에 의해 이용되는 것과 같은 폴링 방법이 있다. 푸시 방법과 마찬가지로 폴링 방법에 있어서도, 모든 새로운데이터가 검색되도록 보장하기 위해, 실제적으로 이용가능한 새로운 정보가 없는 경우 조차도 지속적으로 소스 서버로부터 정보를 요구해야 하는 클라이언트에 의해 추가적인 네트워크 부하가 생성된다.
PvC 엔티티는 이미 대역폭 한계에 다다랐기 때문에, 정보, 특히, 버그 픽스(bug fixes) 또는 바이러스 첵커 갱신과 같이, 중요하고 드물게 제공되는 것에 대한 정보의 자동적인 배달을 가능하게 하는 방법이 요구된다.
전술한 요구에 따라, 본 발명의 목적은 네트워크 서버가 예를 들어, 네트워크로의 접속과 같은 클라이언트 엔티티의 특정 상태에 근거하여, 소스 서버로부터 특히, PvC 장치와 같이 자주 분리되는 클라이언트 엔티티로의 데이터의 전송을 개시할 수 있도록 하기 위한 방법 및 장치를 제공하는 것이다. 네트워크 서버(이하, "자각 서버(awareness server)"로 칭함)는 이용자, 장치, 애플리케이션 등과 같은 네트워크 클라이언트 엔티티의 일시적 상태 정보(transient status information)에 대한 억세스를 제공한다. 상태 정보는 소정의 장치가 네트워크에 접속되어 있는지, 소정의 이용자가 로깅되어 있는지, 그리고 소정의 이용자가 소정의 애플리케이션에 능동적으로 참여하고 있는지를 명시한다. 자각 서버가 데이터 전송을 개시하는 프로세스는 다음의 단계를 포함한다. 즉,
소스 서버가 특정 클라이언트 엔티티가 특정 상태에 있게 되는 때를 통지하도록 자각 서버에게 요구하는 단계;
상기 클라이언트 엔티티가 특정 상태에 있거나 또는 특정 상태로 들어가는 단계;
자각 서버가 특정 클라이언트 엔티티의 상태를 학습한 이후에 상기 요구한 서버로 통지를 전송하는 단계; 및
상기 소스 서버가 통지를 수신하고 특정 클라이언트 엔티티로 데이터를 전송하는 단계
를 포함한다.
또한, 자각 서버는 소스 서버로부터 타겟 클라이언트 엔티티로의 푸시 요구가 큐잉되어 있는 중간 프록시 서버로부터 데이터 전송을 개시할 수 있다. 상이한 기준에 근거하여 자각 통지가 발생될 수 있도록 하는 다른 방법도 제공된다. 상이한 기준은 다음의 기준을 포함한다.
* 소정의 클라이언트 엔티티가 접속되었는지 여부 및 접속 방식. 예를 들어, 타겟 클라이언트 엔티티는 14.4 Kbps 또는 그 이상의 속도로 링크된 TCP/IP가 된다.
* 소정의 클라이언트 엔티티가 예를 들어, 웹 브라우저와 같은 특정 애플리케이션을 실행하고 있는지 여부 및 그 실행 방식.
* 예를 들어, 타겟 클라이언트 엔티티가 SSL을 이용하여 링크될 때, 소정의 클라이언트 엔티티에 대한 접속이 안전한지 여부 및 접속 방식.
* 소정의 이용자가 현재 네트워크에 접속되어 있는지 여부. 통지에서 이용자의 현재 장치의 네트워크 어드레스를 전송함.
* 예를 들어, 타겟 클라이언트 엔티티가 특정 이용자에 의해 이용되고 있을 때, 누가 소정의 클라이언트 엔티티를 이용하고 있는지에 관한 정보.
또한, 다음의 단계를 수행함으로써 자각 서버가 상태 정보를 얻기 위한 방법이 제공된다.
요구한 상태 및 상태 변화를 능동적으로 모니터링하는 단계;
타겟 클라이언트 엔티티 자체로부터 상태 또는 상태 변화를 학습하는 단계; 및
예를 들어, 소정의 클라이언트가 네트워크에 접속될 때 인터넷 억세스 공급자로부터 학습하는 것과 같이, 다른 서버로부터 상태 또는 상태 변화를 학습하는 단계.
또한, 다음의 단계를 수행하는 다른 방법이 제공된다.
예를 들어, 소정의 푸시를 전송할 애플리케이션의 포트 넘버와 같은 푸시에 필요한 정보를 자각 통지에 명시하는 단계;
자각 서버를 이용하여 소정의 데이터를 전송할 최소 비용 클라이언트 장치를 판단하는 단계; 및
자각 통지에 의해 각각의 폴(poll)을 개시함으로써, 네트워크 SNMP-기반 관리 서버에 의해 수행되는 바와 같은 네트워크 상의 폴링의 부하를 감소시키는 단계.
도1은 독립형 푸시 프록시를 포함하는 본 발명의 특징을 가진 네트워크를 도시한 도면.
도2는 자각 서버(awareness server)의 구성요소를 도시한 도면.
도3은 자각 요구 핸들러를 포함하는 자각 서버 로직의 흐름도.
도4는 자각 통지 핸들러의 흐름도.
도5는 푸시 프록시의 구성요소를 도시한 도면.
도6은 프록시형 푸시 요구 핸들러 및 프록시형 푸시 핸들러를 포함하는 푸시 프록시 로직의 흐름도.
도7은 서버측 푸시 프록시를 포함하는 본 발명의 특징을 가진 네트워크를 도시한 도면.
* 도면의 주요 부분에 대한 부호의 설명
1000:네트워크 1010:자각 서버
1020,1030:PSS 1040:푸시 프록시
1050,1060:클라이언트
본 발명의 전술한 목적 및 장점은 첨부도면과 함께 하는 바람직한 실시예에 관한 다음의 상세한 설명을 참조함으로써 이 기술분야에 통상의 지식을 가진 자에게 보다 쉽게 이해될 것이다. 도면에서, 유사한 구성요소들은 동일한 참조번호로 표시되어 있다.
바람직한 실시예에서, 본 발명은 HTTP 푸시 전송을 제공하기 위한 방법 및 장치와 관련된 것이다. 이 기술분야에 통상의 지식을 가진 자는 e-메일 및 멀티미디어 방송을 포함하여 다른 형태의 전송도 역시 유사하게 처리될 수 있다는 것을 이해할 것이다.
도1은 전체적인 논리적 네트워크 토폴로지를 도시하고 있다. PSS(Push Source Server)(1020,1030), 자각 서버(1010) 및 푸시 프록시 서버(1040)는 네트워크(1000)에 직접 접속된다. 이러한 네트워크(1000)의 예로는 인터넷, 월드 와이드 웹, 인트라넷 및 근거리 통신망(LAN) 등이 있으며, 이들에 제한되는 것은 아니다.
클라이언트 장치(1050,1060)는 푸시 프록시 서버(1040)에 지역적으로 접속된다. 클라이언트(1050,1060)와 네트워크(1000) 사이의 모든 통신은 푸시 프록시 서버(1040)를 통해 전달된다. 비록 2개의 PSS(1020,1030)만이 도시되어 있지만, 본 발명은 어떠한 수의 서버에도 적용될 수 있다는 것을 이해할 것이다. 마찬가지로, 본 발명은 어떠한 수의 클라이언트에도 적용될 수 있다.
PSS(1020,1030)는 IBM사의 인터넷 접속 서버(ICS)를 포함하여, 기본적으로 표준 HTTP 서버이다. PSS(1020,1030)의 유일한 특징은 이들이 특정 푸시 프록시 서버(1040)를 통해 모든 푸시를 라우팅한다는 것이다. 이러한 특징은 ICS 서버의 동작을 개별화(customize)하는 모듈을 개발하고 포함시키는 것을 가능하게 하는 ICS의 API(ICSAPI)를 이용한 ICS-기반 서버에 부가될 수 있다. ICS 서버는 요구를 처리하는 동안에 특정 포인트에 있는 모듈에 대한 제어를 핸드-오프(hand-off)하도록 구성될 수 있다. 모듈은 그 태스크를 수행하고, 다음에 전송을 완료하기 위해 제어를 서버로 복귀시킬 수 있으며, 또는 그 자체적으로 전송을 완료하고 그것이 수행되면 서버로 통지할 수도 있다.
PSS(1020,1030)의 경우에, 부가된 모듈은 데이터를 클라이언트(1050,1060)로 전송하는 것이 아니라 데이터가 가입된 클라이언트(1050,1060)로 최종적으로 푸시되기 전에 제어를 행하고, 푸시 프록시(1040)에 접속하고, 데이터가 전송되어야 하는 장소를 명시한다. 이러한 프록시 라우팅은 HTTPD RFC에 명시된 HTTP 표준의 일부이다. 자각 서버(1010)와 PSS(1020,1030) 및 푸시 프록시 서버(1040)는 IBM S/390 SYSPLEX, SP2, 또는 RS6000 워크스테이션과 같은 제품을 포함하여 어떠한 컴퓨팅 노드에서도 구현될 수 있으며, 이들에 제한되는 것은 아니다.
클라이언트(1050,1060)는 IBM WorkPad, PC, 다양한 워크스테이션, 셋탑 박스 등을 포함할 수 있다. 클라이언트(1050,1060) 상에서 실행되는 소프트웨어는 넷스케이프 네비게이터 웹 브라우저를 포함할 수 있으며, 이것에 제한되는 것은 아니다.
자각 서버(1010)는 특정 클라이언트 또는 타겟이 예를 들어, 네트워크에 접속된 상태와 같은 원하는 상태에 도달했을 때의 통지를 제공한다. 도2에 도시된 바와 같이, 자각 서버(1010)(도1)는 CPU(3000), RAM과 같은 메모리(3020), 및 디스크 또는 다른 직접 억세스 저장 장치(DASD)와 같은 저장 장치(3010)를 포함한다.
바람직하게는 실행가능한 컴퓨터 코드로 구현되는 자각 서버(1010)(도1) 로직은 CPU(3000)에 의한 실행을 위해, 네트워크를 통해 원격으로, 또는 CD-ROM이나, 디스크와 같은 자기 저장장치 또는 DASD(3010)로부터 국부적으로 메모리(3020)로 로딩된다. 메모리(3020)로 로딩된 실행가능한 컴퓨터 코드는 바람직하게는, 클라이언트의 요구를 수신하고 그 요구에 서비스하기 위한 자각 요구 핸들러(3030), 이들 요구의 상태를 클라이언트로 통지하기 위한 자각 통지 핸들러(3040) 및 현재의 요구를 저장하기 위한 요구 버퍼(3050)를 포함한다.
도3에 도시된 바와 같이, 자각 서버(1010)(도1)는 단계(4000)에서, 입력, 즉, 네트워크로부터 수신되는 상태 통지를 위한 요구를 포함하여 가능한 입력을 대기한다. 입력이 수신된 이후에, 단계(4010)에서는 그 입력이 자각 요구(awareness request)인지, 즉, 특정 클라이언트가 특정 상태에 도달했다는 것을 통지하기 위한 요구인지 판단한다. 만일 그 요구가 상태 통지를 위한 요구가 아니면, 단계(4030)에서 각종 핸들러가 호출된다. 단계(4030)에서의 각종 핸들러의 실행 이후에, 프로그램 제어는 또다른 입력을 대기하기 위해 단계(4000)로 복귀한다.
그러나, 만일 입력이 자각 통지 요구라면, 자각 요구 핸들러(4020)가 호출된다. 단계(5010)에서, 요구 핸들러는 그 요구로부터 요구자(requestor) 및 타겟 클라이언트의 ID, 예를 들어, 통지받을 것을 요구한 서버의 호스트명(hostname) 및 그 상태가 알려져 있는 클라이언트 장치의 호스트명을 판독한다. 단계(5020)에서, 자각 요구 핸들러(4020)는 요구자 및 타겟 클라이언트의 추출된 ID들을 나타내는 새로운 엔트리를 요구 버퍼(3050)(도2)에 추가한다. 자각 요구 핸들러(4020)의 실행 이후에, 프로그램 제어는 또다른 입력을 대기하기 위해 단계(4000)로 복귀한다.
도4는 자각 서버(1010)의 CPU(3000)에서 백그라운드 프로세스(background process)로서 지속적으로 실행되고 있는 자각 통지 핸들러(3040)의 처리를 도시하고 있다.
단계(6000)에서, 요구 버퍼(3050)내의 제1 엔트리로 로컬 포인터가 이동된다. 단계(6010)에서는, 요구자 및 클라이언트의 ID들이 지시된 엔트리로부터 판독된다. 다음에, 단계(6020)에서 타겟 클라이언트의 상태가 검사된다.
상태는 접속 상태가 될 수 있으며, PING과 같은 프로그램에 의해 검사되거나 또는 소정의 클라이언트 장치가 접속할 때마다 타겟 클라이언트 장치로부터 수신되는 통지로부터 검사될 수 있다. 특정 애플리케이션에 참여하거나 또는 활성적으로 접속된 소정의 타겟 클라이언트의 상태를 확인하는 것은 애플리케이션 서버로부터 타겟 클라이언트의 상태를 요구함으로써 달성될 수 있다. 자각 서버(1010)는 그 자신이 외부 서버에 의해 통지받도록 요구할 수 있다. 예를 들어, 자각 서버는 소정의 클라이언트가 접속할 때 타겟 클라이언트의 인터넷 억세스 공급자에게 통지할 것을 요구함으로써 소정의 타겟 클라이언트가 접속하는 때를 학습할 수도 있다. 만일 통지가 수신되면, 타겟 클라이언트는 접속된 것이고, 만일 그렇지 않으면 클라이언트는 여전히 분리되어 있는 것이다.
단계(6030)에서는, 타겟 클라이언트가 원하는 상태에 도달했는지 여부에 관한 판단이 이루어진다. 만일 타겟 클라이언트가 원하는 상태에 도달했다면, 단계(6040)에서 TCP, UCP 또는 e-메일과 같은 다른 네트워크 트랜스포트 프로토콜 또는 그 상위 레벨의 애플리케이션을 이용하여 요구자에게 통지가 전송된다. 다음에는, 단계(6050)에서 요구 버퍼(3050)로부터 현재 엔트리가 삭제된다. 그러나, 만일 타겟 클라이언트가 필요한 상태에 도달하지 못했다면, 이들 단계(6040,6050)는 스킵된다.
단계(6060)에서, 만일 요구 버퍼(3050)에 더 이상의 요구가 없는 것으로 판단이 이루어지면, 처리는 단계(6000)에서 계속된다. 만일 요구 버퍼(3050)에 다른 요구가 있다면, 단계(6070)에서 로컬 포인터는 다음 엔트리로 나아가고, 처리는 단계(6010)에서 계속된다.
자각 서버(1010)(도1)는 여러 가지 이유로 통지를 전송할 수 있다. 이들 이유중 일부는 다음 사항을 포함할 수 있다.
* 소정의 클라이언트 엔티티가 접속되었는지 여부 또는 접속 방식. 예를 들어, 타겟 클라이언트 엔티티는 14.4 Kbps 또는 그 이상의 속도로 링크된 TCP/IP가 된다.
* 예를 들어, 타겟 클라이언트 엔티티가 웹 브라우저를 실행하고 있는 경우에 소정의 클라이언트 엔티티가 특정 애플리케이션을 실행하고 있는지 여부 또는 그 애플리케이션의 실행 방식.
* 소정의 클라이언트 엔티티에 대한 접속이 안전한지 여부 및 접속 방식. 예를 들어, 클라이언트 엔티티는 SSL을 이용하여 링크됨.
* 누가 소정의 클라이언트 엔티티를 이용하고 있는가, 예를 들어, 특정 이용자가 클라이언트임.
또한, 자각 서버(1010)는 통지에서 웹 브라우저와 같은 타겟 클라이언트 엔티티의 푸시 수신자(recipient) 애플리케이션이 실행되고 있는 포트 넘버와 같은 임계(critical) 정보를 전송할 수도 있다. 이러한 임계 정보는 통지가 수신될 때 푸시 프록시 서버(1040)(도1)에 의해 판독되어 이용될 수 있다.
도5에 도시된 푸시 프록시 서버(1040)는 푸시 요구를 큐잉하고 있다가, 소정의 클라이언트 장치가 전송 신호를 수신할 수 있다는 것을 자각 서버가 통지한 이후에 타겟 클라이언트 장치로 최종 전송을 실행한다. 푸시 프록시 서버(1040)(도1)는 CPU(10000), RAM과 같은 메모리(10020) 및 디스크나 DASD와 같은 저장 장치(10010)를 포함하고 있다.
본 발명에 따르면, 실행가능한 컴퓨터 코드로 구현된 푸시 프록시 로직은 CPU(10000)에 의한 실행을 위해, 네트워크를 통해 원격으로, 또는 광학 CD-ROM이나, 디스크와 같은 자기 저장장치 또는 DASD(10010)로부터 국부적으로 메모리(10020)로 로딩된다. 메모리(10020)로 로딩된 컴퓨터 코드는 프록시형(proxied) 푸시 요구 핸들러(10030), 프록시형 푸시 핸들러(10040) 및 IBM사의 sDB2 데이터베이스 제품과 같은 프록시형 푸시 데이터베이스(10050)를 포함한다.
도6은 푸시 프록시 프로그램 흐름을 도시하고 있다. 도6에 도시된 바와 같이, 푸시 프록시는 단계(11000)에서 입력을 대기한다. 입력이 수신되면, 단계(11010)에서 그 입력이 푸시 요구인지 여부에 관한 판단이 이루어진다. 만일 푸시요구이면, 프록시형 푸시 요구 핸들러(11020)가 호출된다. 만일 그렇지 않으면, 처리는 단계(11030)에서 계속되어, 그 입력이 자각 통지인지 여부에 관한 판단이 이루어진다. 만일 입력이 자각 통지이면, 프록시형 푸시 핸들러(11040)가 호출된다. 만일 그렇지 않고 입력이 자각 통지가 아니면, 적절한 각종 핸들러가 호출되며, 그 이후에 처리는 단계(11000)에서 계속된다.
프록시형 푸시 요구 핸들러(11020)는 PSS(1020,1030)로부터의 푸시 요구를 큐잉한다. 단계(12000)에서는 데이터 및 클라이언트의 호스트명 또는 IP 어드레스와 같은 타겟 클라이언트의 ID가 요구로부터 판독된다. 만일 단계(12010)에서 소정의 ID가 프록시형 푸시 데이터베이스(10050)(도5)에 이미 엔트리를 갖고 있지 않은 것으로 판단이 이루어지면, 단계(12020)에서 엔트리가 생성된다.
단계(12030)에서는, 판독된 ID를 위해 큐잉된 데이터에 새로운 데이터가 추가된다. 단계(12040)에서는, 자각 서버(1010)(도1)로 그 자체 및 타겟 클라이언트에 대한 ID를 명시하는 통지 요구가 전송되고, 그 이후에 처리는 단계(11000)에서 계속된다.
전술한 바와 같이, 특정 클라이언트 장치를 위한 자각 서버(1010)(도1)로부터 통지를 수신한 이후에, 프록시형 푸시 핸들러(11040)는 큐잉된 데이터를 그 특정 클라이언트 장치로 푸시한다.
특히, 단계(13000)에서 프록시형 푸시 핸들러는 이 통지로부터 클라이언트의 ID를 판독하고, 단계(13010)에서 프록시형 푸시 데이터베이스(10050)(도5)로부터 소정의 ID에 대해 큐잉된 데이터를 검색한다. 다음에, 단계(13020)에서 이 데이터는 타겟 클라이언트로 푸시된다. 단계(13030)에서는, 소정의 ID에 대한 프록시형 푸시 데이터베이스 엔트리가 검출되고, 처리는 단계(11000)에서 계속된다.
타겟 클라이언트가 네트워크에 접속되어 청취하고 있다는 것을 통지받은 이후에만 큐잉된 푸시를 전송함으로써, 이러한 지식이 없는 경우에는 실행될 수도 있었던 많은 불필요한 전송 시도를 없앨 수 있다. 본 발명의 이러한 관점은 또한, 예를 들어, SNMP-기반 네트워크 관리 애플리케이션에 의해 수행되는 상태 폴링(status polling)과 같은 폴링 애플리케이션을 최적화시키기 위해 이용될 수 있다. 만일 자각 서버로부터의 통지에 의해 나타나는 바와 같이 타겟 네트워크 장치가 접속된 이후에만 상태 요구가 전송되는 경우에는, 분리된 장치에 대한 자원-대기 요구를 없앨 수 있다.
도7에 도시된 바와 같이, 푸시 프록시 서버(1040)(도1)는 독립형 머신이 될 필요가 없다. 원격으로 실행되는 푸시 프록시를 구비하는 대신에, 각각의 PSS(2020,2030)는 PSS 시스템과 병렬로 동시에 실행되는 그 고유의 서버측 프록시를 구비할 수도 있다. 이러한 구성에 있어서, 소정의 PSS는 그 고유의 호스트명 또는 IP 어드레스를 푸시 프록시의 호스트명 또는 IP 어드레스로서 이용하게 된다.
처리 및 네트워크 부하를 분산시키기 위해 복수의 푸시 프록시가 사용될 수도 있다. 복수의 푸시 프록시를 이용하는 경우에, 각각의 PSS는 어느 것을 이용할것인지 선택하게 된다. 처리 및 네트워크 부하를 분산시키는 다른 방식은 복수의 자각 서버를 사용함으로써, 푸시 프록시가 하나 이상의 자각 서버로부터 통지를 요구할 수 있도록 하는 것이다.
자각 서버(2010)로 전송된 타겟 클라이언트의 ID는 192.62.1.1 등의 네트워크 어드레스와 같은 장치 ID가 아니라 "LuandChen" 등의 이름과 같은 이용자 ID가 될 수 있다. 이용자 ID가 주어지면, 자각 서버는 그 이용자의 현재 장치의 어드레스를 통지에 명시함으로써 특정 이용자가 접속될 때 푸시 프록시에 통지할 수 있다.
또한, 자각 서버 통지는 가능한 한 비용이 절감되는 방식으로 전송을 라우팅하기 위해 이용될 수 있는데, 예를 들어, 특정 이용자에 대한 자각 통지 요구에 응답하여, 자각 서버(2010)는 현재 이용가능한 모든 이용자 장치를 판단하고, 데이터를 전송하기 위한 최소 비용의 장치를 판단하고, 마지막으로 그 장치의 어드레스를 명시하는 통지를 함으로써 통지 요구에 응답할 수 있다.
비록 본 발명이 그 바람직한 실시예에 관해 특정하여 도시 및 설명되었지만, 이 기술분야에 통상의 지식을 가진 자는 첨부된 청구범위에 의해서만 제한되어야 하는 본 발명의 사상 및 범위를 벗어나지 않고 그 형태 및 세부사항에서 다른 변경이 이루어질 수도 있다는 것을 이해할 것이다.
전술한 바와 같은 본 발명의 데이터 푸시 기술에 따르면, 서버가 자주 분리되는 클라이언트로 데이터를 푸시하기 위해 불필요하게 시도하는 것을 방지함으로써, CPU, RAM 및 네트워크 대역폭과 같은 자원의 낭비를 줄일 수 있는 효과가 있다.

Claims (37)

  1. 네트워크내의 적어도 하나의 소스 엔티티(source entity)로부터 상기 네트워크내의 적어도 하나의 클라이언트 엔티티 - 상기 클라이언트 엔티티는 특정 동작 상태를 가짐 - 로 데이터를 전송하기 위한 방법에 있어서,
    a. 상기 클라이언트 엔티티로의 후속의 전송을 위하여, 상기 적어도 하나의 소스 엔티티로부터 푸시 프록시 엔티티(push proxy entity)로 데이터를 전송하는 단계와,
    b. 상기 클라이언트 엔티티의 상기 특정 동작 상태에 관한 통지를 요청하는 단계와,
    c. 상기 클라이언트 엔티티가 상기 특정 동작 상태로 갈 때까지 상기 클라이언트 엔티티의 상태를 모니터링하고, 상기 푸시 프록시 엔티티로 상기 상태를 전달하는 통지를 전송하는 단계와,
    d. 상기 통지에 응답하여 상기 클라이언트 엔티티로 데이터를 전송하는 단계
    를 포함하는 데이터 전송 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 소스 엔티티는 푸시 프록시 엔티티를 포함하는 것인 데이터 전송 방법.
  4. 제 3 항에 있어서,
    상기 통지에 규정된 정보를 이용하여 데이터가 전송되는 것인 데이터 전송 방법.
  5. 제 4 항에 있어서,
    상기 특정 동작 상태는 상기 클라이언트 엔티티가 상기 네트워크에 접속되어 있는 상태를 포함하는 것인 데이터 전송 방법.
  6. 제 5 항에 있어서,
    상기 특정 동작 상태는 상기 클라이언트 엔티티가 상기 네트워크에 접속된 접속 형태를 포함하는 것인 데이터 전송 방법.
  7. 제 4 항에 있어서,
    상기 특정 동작 상태는 특정 클라이언트 엔티티가 상기 네트워크에 접속되어 있는 상태를 포함하는 것인 데이터 전송 방법.
  8. 제 7 항에 있어서,
    상기 특정 동작 상태는 상기 특정 클라이언트 엔티티가 상기 네트워크에 접속된 접속 형태를 포함하는 것인 데이터 전송 방법.
  9. 제 4 항에 있어서,
    상기 특정 동작 상태는 특정 이용자가 상기 네트워크에 접속되어 있는 상태를 포함하고, 상기 통지에서 상기 특정 이용자의 현재 장치의 어드레스가 전송되는 것인 데이터 전송 방법.
  10. 제 9 항에 있어서,
    상기 특정 동작 상태는 상기 특정 이용자가 특정 클라이언트 엔티티를 이용하고 있는 상태를 포함하는 것인 데이터 전송 방법.
  11. 제 4 항에 있어서,
    상기 특정 동작 상태는 상기 클라이언트 엔티티가 특정 애플리케이션을 실행하고 있는 상태를 포함하는 것인 데이터 전송 방법.
  12. 제 11 항에 있어서,
    상기 특정 동작 상태는 상기 클라이언트가 상기 특정 애플리케이션을 실행하고 있는 방식을 포함하는 것인 데이터 전송 방법.
  13. 제 4 항에 있어서,
    상기 특정 동작 상태는 상기 클라이언트 엔티티를 능동적으로 모니터링함으로써 판단되는 것인 데이터 전송 방법.
  14. 제 13 항에 있어서,
    상기 클라이언트 엔티티의 능동적 모니터링은 상기 네트워크 상에서의 상기 클라이언트 엔티티의 폴링(polling)에 의해 수행되는 것인 데이터 전송 방법.
  15. 제 4 항에 있어서,
    상기 특정 동작 상태는 상기 클라이언트 엔티티로부터의 통신에 의해 판단되는 것인 데이터 전송 방법.
  16. 제 4 항에 있어서,
    상기 특정 동작 상태는 상기 네트워크내의 하나 또는 그 이상의 엔티티로부터의 통신에 의해 판단되는 것인 데이터 전송 방법.
  17. 제 4 항에 있어서,
    상기 특정 동작 상태에 근거하여 상기 데이터를 상기 클라이언트 엔티티로 전송하기 위한 최소 비용 방법을 판단하는 단계
    를 더 포함하는 데이터 전송 방법.
  18. 네트워크내의 적어도 하나의 소스 장치로부터 상기 네트워크내의 적어도 하나의 클라이언트 장치 - 상기 클라이언트 장치는 특정 동작 상태를 가짐 - 로 데이터를 전송하기 위한 장치에 있어서,
    상기 적어도 하나의 소스 장치로부터 상기 클라이언트 장치로 푸시될 데이터를 수신하고, 상기 데이터의 수신에 응답하여 모니터링 장치로부터 상기 클라이언트 장치의 상기 특정 상태에 관한 통지를 요청하는 푸시 프록시 장치를 포함하고,
    상기 모니터링 장치는 상기 클라이언트 장치가 상기 특정 동작 상태로 갈 때까지 상기 클라이언트 장치의 상태를 결정하고, 상기 상태를 상기 푸시 프록시 장치로 전달하는 통지를 전송하는 것이고,
    상기 푸시 프록시 장치는 상기 통지에 응답하여 상기 클라이언트 장치로 데이터를 전송하는 것인 데이터 전송 장치.
  19. 삭제
  20. 삭제
  21. 제1항 및 제3항 내지 제17항 중 어느 한 항의 방법을 실행하는 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
KR1020000000284A 1999-01-13 2000-01-05 자각-개시 푸시를 제공하기 위한 방법 및 장치 KR100359366B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US09/231,081 1999-01-13
US09/231,081 US6311206B1 (en) 1999-01-13 1999-01-13 Method and apparatus for providing awareness-triggered push
US9/231,081 1999-01-13
CA002292678A CA2292678C (en) 1999-01-13 1999-12-17 Method and apparatus for providing awareness-triggered push

Publications (2)

Publication Number Publication Date
KR20000057718A KR20000057718A (ko) 2000-09-25
KR100359366B1 true KR100359366B1 (ko) 2002-11-01

Family

ID=25681411

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000000284A KR100359366B1 (ko) 1999-01-13 2000-01-05 자각-개시 푸시를 제공하기 위한 방법 및 장치

Country Status (5)

Country Link
US (1) US6311206B1 (ko)
EP (1) EP1021021B1 (ko)
JP (1) JP3470955B2 (ko)
KR (1) KR100359366B1 (ko)
CA (1) CA2292678C (ko)

Families Citing this family (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6970925B1 (en) * 1999-02-03 2005-11-29 William H. Gates, III Method and system for property notification
US6721795B1 (en) * 1999-04-26 2004-04-13 America Online, Inc. Data transfer server
JP2000315198A (ja) * 1999-05-06 2000-11-14 Hitachi Ltd 分散処理システム及びその性能モニタリング方法
US7457857B1 (en) * 1999-05-26 2008-11-25 Broadcom Corporation Method and apparatus for a network hub to diagnose network operation and broadcast information to a remote host or monitoring device
AU2001246394A1 (en) * 2000-03-31 2001-10-23 Ritzaus Medienet A/S A method and system for pushing information
US7051073B1 (en) 2000-04-03 2006-05-23 International Business Machines Corporation Method, system and program for efficiently distributing serial electronic publications
GB2367663A (en) * 2000-04-03 2002-04-10 Ibm Method, system and program for efficiently distributing aerial electronic publications
AU2002219796A1 (en) 2000-11-20 2002-06-03 At And T Wireless Services, Inc. Systems for providing wireless communication presence information
US8156209B1 (en) * 2001-02-15 2012-04-10 Cisco Technology, Inc. Aggregation devices processing keep-alive messages of point-to-point sessions
US7302634B2 (en) 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
US7024662B2 (en) 2001-03-14 2006-04-04 Microsoft Corporation Executing dynamically assigned functions while providing services
US20030028597A1 (en) * 2001-03-14 2003-02-06 Matti Salmi Separation of instant messaging user and client identities
US7610045B2 (en) 2001-04-12 2009-10-27 Research In Motion Limited Advanced system and method for dynamically discovering, provisioning and accessing host services on wireless data communication devices
US20020156841A1 (en) * 2001-04-13 2002-10-24 Bjorn Landfeldt Accessing distributed proxy configurations
KR100757466B1 (ko) * 2001-04-17 2007-09-11 삼성전자주식회사 홈네트워크내의 기기에 서비스를 제공하는 시스템과 그방법 및 홈네트워크에서 서비스를 제공받는 시스템과 그방법
CA2394503A1 (en) * 2001-07-23 2003-01-23 Research In Motion Limited System and method for pushing information to a mobile device
US7711819B2 (en) * 2001-10-31 2010-05-04 Fujitsu Limited Load balancer
KR100460087B1 (ko) * 2001-11-06 2004-12-04 엘지전자 주식회사 데이터 송수신 시 각 태스크 사이의 데이터 트래픽 제어방법
US7254614B2 (en) * 2001-11-20 2007-08-07 Nokia Corporation Web services push gateway
US7565158B1 (en) 2002-03-28 2009-07-21 Nokia Corporation Push page user interface in a short range radio enabled mobile terminal
US9886309B2 (en) 2002-06-28 2018-02-06 Microsoft Technology Licensing, Llc Identity-based distributed computing for device resources
JP4693363B2 (ja) * 2003-05-28 2011-06-01 キヤノン株式会社 テレビジョン装置及びその制御方法
EP1523154A1 (en) * 2003-10-08 2005-04-13 France Telecom System and method for offering push services to a mobile user using a push proxy which monitors the state of the mobile user equipment
US8156175B2 (en) * 2004-01-23 2012-04-10 Tiversa Inc. System and method for searching for specific types of people or information on a peer-to-peer network
US7577721B1 (en) * 2004-06-08 2009-08-18 Trend Micro Incorporated Structured peer-to-peer push distribution network
FI20055046A0 (fi) * 2005-02-01 2005-02-01 Nokia Corp Tulevan datan käsittely
US7643825B2 (en) * 2005-04-18 2010-01-05 Research In Motion Limited System and method for managing data to be pushed to a wireless device when the device may be outside of a coverage range
DE102005018768A1 (de) * 2005-04-22 2006-11-02 Avaya-Tenovis Gmbh & Co. Kg Pushen von Informationen in Telekommunikationsanlagen mit drahtlos angebundenen Endgeräten
CN100442704C (zh) * 2005-07-19 2008-12-10 上海华为技术有限公司 通信系统中升级基站的方法
DE102006010821B4 (de) * 2006-03-07 2011-12-22 Joachim Becker Selbstzielsuchendes Datenübertragungssystem und Verfahren hierzu
EP1853027A1 (en) * 2006-05-02 2007-11-07 Research In Motion Limited Registration method and apparatus for push content delivery
ATE421220T1 (de) * 2006-05-02 2009-01-15 Research In Motion Ltd Push-architektur zur zustellung von dynamischen mobilen inhalten
US8024452B2 (en) * 2006-05-02 2011-09-20 Research In Motion Limited Dynamic syndicated content delivery system and method
US8949312B2 (en) * 2006-05-25 2015-02-03 Red Hat, Inc. Updating clients from a server
US7987471B2 (en) * 2007-01-26 2011-07-26 Microsoft Corporation Mobile device management proxy system
US8224919B2 (en) 2007-04-04 2012-07-17 Research In Motion Limited Mobile communications system including intermediate service provider and related methods
EP1978468A1 (en) * 2007-04-04 2008-10-08 Sap Ag A method and a system for secure execution of workflow tasks in a distributed workflow management system within a decentralized network system
US20080307037A1 (en) * 2007-06-07 2008-12-11 Yahoo! Inc. Client Notification Mechanism Over HTTP
EP2031816B1 (en) * 2007-08-29 2012-02-22 NTT DoCoMo, Inc. Optimal operation of hierarchical peer-to-peer networks
US8127235B2 (en) 2007-11-30 2012-02-28 International Business Machines Corporation Automatic increasing of capacity of a virtual space in a virtual world
US20090164919A1 (en) 2007-12-24 2009-06-25 Cary Lee Bates Generating data for managing encounters in a virtual world environment
US8266253B2 (en) * 2008-01-08 2012-09-11 Nec Corporation Server system and event message transmission method therefor, client terminal and connection method and program therefor, and recording medium
JP5159375B2 (ja) 2008-03-07 2013-03-06 インターナショナル・ビジネス・マシーンズ・コーポレーション メタバースにおけるオブジェクトの真贋判断システム、方法及びそのコンピュータ・プログラム
JP2010141851A (ja) * 2008-12-15 2010-06-24 Nec Corp 通信装置、方法およびプログラムならびに通信システム
US20120265873A1 (en) * 2009-09-09 2012-10-18 Telefonaktiebolaget Lm Ericsson (Publ) Adaptation of Content Transmission in Mobile Networks
US9205328B2 (en) 2010-02-18 2015-12-08 Activision Publishing, Inc. Videogame system and method that enables characters to earn virtual fans by completing secondary objectives
US9682324B2 (en) 2010-05-12 2017-06-20 Activision Publishing, Inc. System and method for enabling players to participate in asynchronous, competitive challenges
US8848625B2 (en) 2010-10-05 2014-09-30 Blackberry Limited Method, server and system for propagating a wireless communication device state
EP2439906B1 (en) * 2010-10-05 2016-12-07 BlackBerry Limited Method, server and system for propagating a wireless communication device state
US9984097B2 (en) * 2010-11-10 2018-05-29 International Business Machines Corporation Systems and computer program products for transferring reserves when moving virtual machines across systems
US20120239782A1 (en) * 2011-03-18 2012-09-20 Research In Motion Limited Method and Apparatus Pertaining to Pushing Content Via A Push Proxy Gateway
US8954555B2 (en) 2011-10-27 2015-02-10 International Business Machines Corporation Using push notifications to reduce open browser connections
FR2997259B1 (fr) * 2012-10-23 2015-11-20 Sagem Defense Securite Carte pcmcia pour le transfert de donnees de vol
US10137376B2 (en) 2012-12-31 2018-11-27 Activision Publishing, Inc. System and method for creating and streaming augmented game sessions
CN104144098B (zh) * 2013-05-07 2018-04-03 腾讯科技(深圳)有限公司 消息推送方法、系统及推送服务器设备
CN104283849A (zh) * 2013-07-04 2015-01-14 深圳市天趣网络科技有限公司 弹窗数据推送、展示方法及装置、系统
US10764379B2 (en) 2013-09-06 2020-09-01 Nokia Technologies Oy Method, apparatus and system for enhancing a user's engagement with a service
US9736256B2 (en) 2014-02-13 2017-08-15 Microsoft Technology Licensing, Llc Implementing server push at server stack
US10376792B2 (en) 2014-07-03 2019-08-13 Activision Publishing, Inc. Group composition matchmaking system and method for multiplayer video games
CN105656853B (zh) * 2014-11-14 2018-11-20 华为技术有限公司 一种消息传递方法及相关装置
US11351466B2 (en) 2014-12-05 2022-06-07 Activision Publishing, Ing. System and method for customizing a replay of one or more game events in a video game
US10118099B2 (en) 2014-12-16 2018-11-06 Activision Publishing, Inc. System and method for transparently styling non-player characters in a multiplayer video game
US10315113B2 (en) 2015-05-14 2019-06-11 Activision Publishing, Inc. System and method for simulating gameplay of nonplayer characters distributed across networked end user devices
US10286314B2 (en) 2015-05-14 2019-05-14 Activision Publishing, Inc. System and method for providing continuous gameplay in a multiplayer video game through an unbounded gameplay session
US10486068B2 (en) 2015-05-14 2019-11-26 Activision Publishing, Inc. System and method for providing dynamically variable maps in a video game
US10086266B2 (en) 2015-06-15 2018-10-02 Activision Publishing, Inc. System and method for uniquely identifying physical trading cards and incorporating trading card game items in a video game
US10471348B2 (en) 2015-07-24 2019-11-12 Activision Publishing, Inc. System and method for creating and sharing customized video game weapon configurations in multiplayer video games via one or more social networks
US11185784B2 (en) 2015-10-08 2021-11-30 Activision Publishing, Inc. System and method for generating personalized messaging campaigns for video game players
US10099140B2 (en) 2015-10-08 2018-10-16 Activision Publishing, Inc. System and method for generating personalized messaging campaigns for video game players
US10232272B2 (en) 2015-10-21 2019-03-19 Activision Publishing, Inc. System and method for replaying video game streams
US10245509B2 (en) 2015-10-21 2019-04-02 Activision Publishing, Inc. System and method of inferring user interest in different aspects of video game streams
US10376781B2 (en) 2015-10-21 2019-08-13 Activision Publishing, Inc. System and method of generating and distributing video game streams
US10694352B2 (en) 2015-10-28 2020-06-23 Activision Publishing, Inc. System and method of using physical objects to control software access
US10226703B2 (en) 2016-04-01 2019-03-12 Activision Publishing, Inc. System and method of generating and providing interactive annotation items based on triggering events in a video game
US10226701B2 (en) 2016-04-29 2019-03-12 Activision Publishing, Inc. System and method for identifying spawn locations in a video game
US10179289B2 (en) 2016-06-21 2019-01-15 Activision Publishing, Inc. System and method for reading graphically-encoded identifiers from physical trading cards through image-based template matching
US10573065B2 (en) 2016-07-29 2020-02-25 Activision Publishing, Inc. Systems and methods for automating the personalization of blendshape rigs based on performance capture data
US10463964B2 (en) 2016-11-17 2019-11-05 Activision Publishing, Inc. Systems and methods for the real-time generation of in-game, locally accessible heatmaps
US10709981B2 (en) 2016-11-17 2020-07-14 Activision Publishing, Inc. Systems and methods for the real-time generation of in-game, locally accessible barrier-aware heatmaps
US10500498B2 (en) 2016-11-29 2019-12-10 Activision Publishing, Inc. System and method for optimizing virtual games
WO2018106271A1 (en) * 2016-12-05 2018-06-14 Google Llc Systems and methods for stateless maintenance of a remote state machine
US10055880B2 (en) 2016-12-06 2018-08-21 Activision Publishing, Inc. Methods and systems to modify a two dimensional facial image to increase dimensional depth and generate a facial image that appears three dimensional
US10861079B2 (en) 2017-02-23 2020-12-08 Activision Publishing, Inc. Flexible online pre-ordering system for media
US11233867B2 (en) * 2017-03-13 2022-01-25 Microsoft Technology Licensing, Llc On-demand push notification mechanism
US10818060B2 (en) 2017-09-05 2020-10-27 Activision Publishing, Inc. Systems and methods for guiding motion capture actors using a motion reference system
US10974150B2 (en) 2017-09-27 2021-04-13 Activision Publishing, Inc. Methods and systems for improved content customization in multiplayer gaming environments
US10561945B2 (en) 2017-09-27 2020-02-18 Activision Publishing, Inc. Methods and systems for incentivizing team cooperation in multiplayer gaming environments
US11040286B2 (en) 2017-09-27 2021-06-22 Activision Publishing, Inc. Methods and systems for improved content generation in multiplayer gaming environments
US10463971B2 (en) 2017-12-06 2019-11-05 Activision Publishing, Inc. System and method for validating video gaming data
US10537809B2 (en) 2017-12-06 2020-01-21 Activision Publishing, Inc. System and method for validating video gaming data
US10981051B2 (en) 2017-12-19 2021-04-20 Activision Publishing, Inc. Synchronized, fully programmable game controllers
US10864443B2 (en) 2017-12-22 2020-12-15 Activision Publishing, Inc. Video game content aggregation, normalization, and publication systems and methods
US10596471B2 (en) 2017-12-22 2020-03-24 Activision Publishing, Inc. Systems and methods for enabling audience participation in multi-player video game play sessions
US11278813B2 (en) 2017-12-22 2022-03-22 Activision Publishing, Inc. Systems and methods for enabling audience participation in bonus game play sessions
US11263670B2 (en) 2018-11-19 2022-03-01 Activision Publishing, Inc. Systems and methods for dynamically modifying video game content based on non-video gaming content being concurrently experienced by a user
US11192028B2 (en) 2018-11-19 2021-12-07 Activision Publishing, Inc. Systems and methods for the real-time customization of video game content based on player data
US20200196011A1 (en) 2018-12-15 2020-06-18 Activision Publishing, Inc. Systems and Methods for Receiving Digital Media and Classifying, Labeling and Searching Offensive Content Within Digital Media
US11679330B2 (en) 2018-12-18 2023-06-20 Activision Publishing, Inc. Systems and methods for generating improved non-player characters
US11305191B2 (en) 2018-12-20 2022-04-19 Activision Publishing, Inc. Systems and methods for controlling camera perspectives, movements, and displays of video game gameplay
US11344808B2 (en) 2019-06-28 2022-05-31 Activision Publishing, Inc. Systems and methods for dynamically generating and modulating music based on gaming events, player profiles and/or player reactions
US11097193B2 (en) 2019-09-11 2021-08-24 Activision Publishing, Inc. Methods and systems for increasing player engagement in multiplayer gaming environments
US11423605B2 (en) 2019-11-01 2022-08-23 Activision Publishing, Inc. Systems and methods for remastering a game space while maintaining the underlying game simulation
US11712627B2 (en) 2019-11-08 2023-08-01 Activision Publishing, Inc. System and method for providing conditional access to virtual gaming items
US11537209B2 (en) 2019-12-17 2022-12-27 Activision Publishing, Inc. Systems and methods for guiding actors using a motion capture reference system
US11420122B2 (en) 2019-12-23 2022-08-23 Activision Publishing, Inc. Systems and methods for controlling camera perspectives, movements, and displays of video game gameplay
US11563774B2 (en) 2019-12-27 2023-01-24 Activision Publishing, Inc. Systems and methods for tracking and identifying phishing website authors
US11524234B2 (en) 2020-08-18 2022-12-13 Activision Publishing, Inc. Multiplayer video games with virtual characters having dynamically modified fields of view
US11351459B2 (en) 2020-08-18 2022-06-07 Activision Publishing, Inc. Multiplayer video games with virtual characters having dynamically generated attribute profiles unconstrained by predefined discrete values
CN113760975A (zh) * 2020-09-21 2021-12-07 北京沃东天骏信息技术有限公司 本地缓存处理方法、装置、设备及计算机可读存储介质
US11833423B2 (en) 2020-09-29 2023-12-05 Activision Publishing, Inc. Methods and systems for generating level of detail visual assets in a video game
US11724188B2 (en) 2020-09-29 2023-08-15 Activision Publishing, Inc. Methods and systems for selecting a level of detail visual asset during the execution of a video game
US11717753B2 (en) 2020-09-29 2023-08-08 Activision Publishing, Inc. Methods and systems for generating modified level of detail visual assets in a video game
US11439904B2 (en) 2020-11-11 2022-09-13 Activision Publishing, Inc. Systems and methods for imparting dynamic and realistic movement to player-controlled avatars in video games
US11853439B2 (en) 2020-12-30 2023-12-26 Activision Publishing, Inc. Distributed data storage system providing enhanced security
US11794107B2 (en) 2020-12-30 2023-10-24 Activision Publishing, Inc. Systems and methods for improved collision detection in video games

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3329932B2 (ja) * 1994-03-31 2002-09-30 三菱電機ビルテクノサービス株式会社 クライアントサーバ型ネットワークシステム
EP0777394A1 (en) * 1995-12-01 1997-06-04 ALCATEL BELL Naamloze Vennootschap Method and apparatus for electronic mail transmission as short messages towards a mobile radio terminal
US5915207A (en) * 1996-01-22 1999-06-22 Hughes Electronics Corporation Mobile and wireless information dissemination architecture and protocols
US6195678B1 (en) * 1996-09-03 2001-02-27 Fujitsu Limited Remote resource management system for automatically downloading required files from application server depending on contents of selected files on requesting computer
US6026430A (en) * 1997-03-24 2000-02-15 Butman; Ronald A. Dynamic client registry apparatus and method
US5861883A (en) * 1997-05-13 1999-01-19 International Business Machines Corp. Method and system for portably enabling awareness, touring, and conferencing over the world-wide web using proxies and shared-state servers
US6029196A (en) * 1997-06-18 2000-02-22 Netscape Communications Corporation Automatic client configuration system
US5987430A (en) * 1997-08-28 1999-11-16 Atcom, Inc. Communications network connection system and method
US6035423A (en) * 1997-12-31 2000-03-07 Network Associates, Inc. Method and system for providing automated updating and upgrading of antivirus applications using a computer network
US6240453B1 (en) * 1998-11-12 2001-05-29 International Business Machines Corporation Managing unused resources in a service application

Also Published As

Publication number Publication date
US6311206B1 (en) 2001-10-30
CA2292678A1 (en) 2001-06-17
JP2000232446A (ja) 2000-08-22
EP1021021A2 (en) 2000-07-19
EP1021021A3 (en) 2002-07-17
KR20000057718A (ko) 2000-09-25
JP3470955B2 (ja) 2003-11-25
CA2292678C (en) 2005-07-05
EP1021021B1 (en) 2005-09-07

Similar Documents

Publication Publication Date Title
KR100359366B1 (ko) 자각-개시 푸시를 제공하기 위한 방법 및 장치
CN107590001B (zh) 负载均衡方法及装置、存储介质、电子设备
JP3980596B2 (ja) サーバを遠隔かつ動的に構成する方法およびシステム
US6393475B1 (en) Method of performing a network management transaction using a web-capable agent
US7043525B2 (en) Techniques for updating live objects at clients using a dynamic routing network
US5996010A (en) Method of performing a network management transaction using a web-capable agent
US20190132276A1 (en) Unified event processing for data/event exchanges with existing systems
US8140644B2 (en) Method and apparatus for updating application servers
US8935708B2 (en) Communication system and communication apparatus and control method thereof
KR20070029818A (ko) 분산 데이터 처리 시스템에서의 테스트 방법, 데이터 처리시스템 및 컴퓨터 판독가능 기록 매체
JP2006072978A (ja) サービス要求装置、サービス提供装置、サービス要求方法、サービス提供方法、サービス要求プログラム、サービス提供プログラム及び記録媒体
WO2021151312A1 (zh) 一种确定服务间依赖关系的方法及相关装置
CN101313292A (zh) 对等数据传送指挥协调
US7363355B2 (en) Transparent disconnected services discovery and use
US7793113B2 (en) Guaranteed deployment of applications to nodes in an enterprise
US20060168079A1 (en) System and method for automatically connecting a client computer to a server
US6934761B1 (en) User level web server cache control of in-kernel http cache
CN111726400A (zh) 反向连接的方法、装置和服务端系统
US20060230263A1 (en) Method and apparatus to guarantee configuration settings in remote data processing systems
US9077764B2 (en) Communications handles and proxy agents
WO2012173899A2 (en) Remotely retrieving information from consumer devices
US7206977B2 (en) Intelligent self-configurable adapter
CN108259576B (zh) 一种软硬件实时信息传输系统和方法
CN114268631A (zh) 低延迟网络系统及其通信连接方法及可读存储介质
CN112162868B (zh) 应用于集群处理的数据通信方法、装置及存储介质

Legal Events

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

Payment date: 20100824

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee