KR20000057718A - 자각-개시 푸시를 제공하기 위한 방법 및 장치 - Google Patents
자각-개시 푸시를 제공하기 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR20000057718A KR20000057718A KR1020000000284A KR20000000284A KR20000057718A KR 20000057718 A KR20000057718 A KR 20000057718A KR 1020000000284 A KR1020000000284 A KR 1020000000284A KR 20000000284 A KR20000000284 A KR 20000000284A KR 20000057718 A KR20000057718 A KR 20000057718A
- Authority
- KR
- South Korea
- Prior art keywords
- client entity
- network
- entity
- specific
- operational state
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer 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
본 발명은 컴퓨터 네트워크에서의 데이터 전송에 관한 것으로서, 특히, 의도된 수신자(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는 자각 서버의 구성요소를 도시한 도면.
도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)
- 네트워크내의 적어도 하나의 소스 엔티티(source entity)로부터 상기 네트워크내의 적어도 하나의 클라이언트 엔티티 - 상기 클라이언트 엔티티는 특정 동작 상태를 가짐 - 로 데이터를 전송하기 위한 방법에 있어서,상기 클라이언트 엔티티가 상기 특정 동작 상태에 있게 될 때까지 상기 클라이언트 엔티티의 상태를 반복적으로 판단하는 단계; 및통지를 전송함으로써 상기 상태를 상기 소스 엔티티로 통신하는 단계 - 여기서, 상기 소스 엔티티는 상기 통지에 응답하여 상기 클라이언트 엔티티로 데이터를 전송함 -를 포함하는 데이터 전송 방법.
- 제 1 항에 있어서,상기 소스 엔티티는 소스 서버이고, 상기 소스 서버는 상기 통지를 요구하는데이터 전송 방법.
- 제 2 항에 있어서,상기 소스 엔티티는 중간 프록시(intermediary proxy)를 포함하고, 상기 중간 프록시는 소스 서버로부터 푸시 요구를 수신하고 상기 통지를 요구하는데이터 전송 방법.
- 제 3 항에 있어서,상기 통지에 명시된 정보를 이용하여 데이터가 전송되는데이터 전송 방법.
- 제 4 항에 있어서,상기 특정 동작 상태는 상기 클라이언트 엔티티가 상기 네트워크에 접속되어 있는 상태를 포함하는데이터 전송 방법.
- 제 5 항에 있어서,상기 특정 동작 상태는 상기 클라이언트 엔티티가 상기 네트워크에 접속된 접속 형태를 포함하는데이터 전송 방법.
- 제 4 항에 있어서,상기 특정 동작 상태는 특정 클라이언트 엔티티가 상기 네트워크에 접속되어 있는 상태를 포함하는데이터 전송 방법.
- 제 7 항에 있어서,상기 특정 동작 상태는 상기 특정 클라이언트 엔티티가 상기 네트워크에 접속된 접속 형태를 포함하는데이터 전송 방법.
- 제 4 항에 있어서,상기 특정 동작 상태는 특정 이용자가 상기 네트워크에 접속되어 있는 상태를 포함하고, 상기 통지에서 상기 특정 이용자의 현재 장치의 어드레스가 전송되는데이터 전송 방법.
- 제 9 항에 있어서,상기 특정 동작 상태는 상기 특정 이용자가 특정 클라이언트 엔티티를 이용하고 있는 상태를 포함하는데이터 전송 방법.
- 제 4 항에 있어서,상기 특정 동작 상태는 상기 클라이언트 엔티티가 특정 애플리케이션을 실행하고 있는 상태를 포함하는데이터 전송 방법.
- 제 11 항에 있어서,상기 특정 동작 상태는 상기 클라이언트가 상기 특정 애플리케이션을 실행하고 있는 방식을 포함하는데이터 전송 방법.
- 제 4 항에 있어서,상기 특정 동작 상태는 상기 클라이언트 엔티티를 능동적으로 모니터링함으로써 판단되는데이터 전송 방법.
- 제 13 항에 있어서,상기 클라이언트 엔티티의 능동적 모니터링은 상기 네트워크 상에서의 상기 클라이언트 엔티티의 폴링(polling)에 의해 수행되는데이터 전송 방법.
- 제 4 항에 있어서,상기 특정 동작 상태는 상기 클라이언트 엔티티로부터의 통신에 의해 판단되는데이터 전송 방법.
- 제 4 항에 있어서,상기 특정 동작 상태는 상기 네트워크내의 하나 또는 그 이상의 엔티티로부터의 통신에 의해 판단되는데이터 전송 방법.
- 제 4 항에 있어서,상기 특정 동작 상태에 근거하여 상기 데이터를 상기 클라이언트 엔티티로 전송하기 위한 최소 비용 방법을 판단하는 단계를 더 포함하는 데이터 전송 방법.
- 네트워크내의 적어도 하나의 소스 엔티티(source entity)로부터 상기 네트워크내의 적어도 하나의 클라이언트 엔티티 - 상기 클라이언트 엔티티는 특정 동작 상태를 가짐 - 로 데이터를 전송하기 위한 장치에 있어서,상기 클라이언트 엔티티가 상기 특정 동작 상태에 있게 될 때까지 상기 클라이언트 엔티티의 상태를 반복적으로 판단하기 위한 수단; 및통지를 전송함으로써 상기 상태를 상기 소스 엔티티로 통신하기 위한 수단 - 여기서, 상기 소스 엔티티는 상기 통지에 응답하여 상기 클라이언트 엔티티로 데이터를 전송함 -을 포함하는 데이터 전송 장치.
- 제 18 항에 있어서,상기 소스 엔티티는 소스 서버이고, 상기 소스 서버는 상기 통지를 요구하는데이터 전송 장치.
- 제 19 항에 있어서,상기 소스 엔티티는 중간 프록시(intermediary proxy)를 포함하고, 상기 중간 프록시는 소스 서버로부터 푸시 요구를 수신하고 상기 통지를 요구하는데이터 전송 장치.
- 네트워크내의 적어도 하나의 소스 엔티티(source entity)로부터 상기 네트워크내의 적어도 하나의 클라이언트 엔티티 - 상기 클라이언트 엔티티는 특정 동작 상태를 가짐 - 로 데이터를 전송하기 위한 방법의 단계들을 수행하기 위해 머신에 의해 실행가능한 명령어 프로그램을 실체적으로 구현하는 머신 판독가능 컴퓨터 프로그램 장치에 있어서,상기 방법은,상기 클라이언트 엔티티가 상기 특정 동작 상태에 있게 될 때까지 상기 클라이언트 엔티티의 상태를 반복적으로 판단하는 단계; 및통지를 전송함으로써 상기 상태를 상기 소스 엔티티로 통신하는 단계 - 여기서, 상기 소스 엔티티는 상기 통지에 응답하여 상기 클라이언트 엔티티로 데이터를 전송함 -를 포함하는 컴퓨터 프로그램 장치.
- 제 21 항에 있어서,상기 소스 엔티티는 소스 서버이고, 상기 소스 서버는 상기 통지를 요구하는컴퓨터 프로그램 장치.
- 제 22 항에 있어서,상기 소스 엔티티는 중간 프록시(intermediary proxy)를 포함하고, 상기 중간 프록시는 소스 서버로부터 푸시 요구를 수신하고 상기 통지를 요구하는컴퓨터 프로그램 장치.
- 제 23 항에 있어서,상기 통지에 명시된 정보를 이용하여 데이터가 전송되는컴퓨터 프로그램 장치.
- 제 24 항에 있어서,상기 특정 동작 상태는 상기 클라이언트 엔티티가 상기 네트워크에 접속되어 있는 상태를 포함하는컴퓨터 프로그램 장치.
- 제 25 항에 있어서,상기 특정 동작 상태는 상기 클라이언트 엔티티가 상기 네트워크에 접속된 접속 형태를 포함하는컴퓨터 프로그램 장치.
- 제 24 항에 있어서,상기 특정 동작 상태는 특정 클라이언트 엔티티가 상기 네트워크에 접속되어 있는 상태를 포함하는컴퓨터 프로그램 장치.
- 제 27 항에 있어서,상기 특정 동작 상태는 상기 특정 클라이언트 엔티티가 상기 네트워크에 접속된 접속 형태를 포함하는컴퓨터 프로그램 장치.
- 제 24 항에 있어서,상기 특정 동작 상태는 특정 이용자가 상기 네트워크에 접속되어 있는 상태를 포함하고, 상기 통지에서 상기 특정 이용자의 현재 장치의 어드레스가 전송되는컴퓨터 프로그램 장치.
- 제 29 항에 있어서,상기 특정 동작 상태는 상기 특정 이용자가 특정 클라이언트 엔티티를 이용하고 있는 상태를 포함하는컴퓨터 프로그램 장치.
- 제 24 항에 있어서,상기 특정 동작 상태는 상기 클라이언트 엔티티가 특정 애플리케이션을 실행하고 있는 상태를 포함하는컴퓨터 프로그램 장치.
- 제 31 항에 있어서,상기 특정 동작 상태는 상기 클라이언트가 상기 특정 애플리케이션을 실행하고 있는 방식을 포함하는컴퓨터 프로그램 장치.
- 제 24 항에 있어서,상기 특정 동작 상태는 상기 클라이언트 엔티티를 능동적으로 모니터링함으로써 판단되는컴퓨터 프로그램 장치.
- 제 33 항에 있어서,상기 클라이언트 엔티티의 능동적 모니터링은 상기 네트워크 상에서의 상기 클라이언트 엔티티의 폴링(polling)에 의해 수행되는컴퓨터 프로그램 장치.
- 제 24 항에 있어서,상기 특정 동작 상태는 상기 클라이언트 엔티티로부터의 통신에 의해 판단되는컴퓨터 프로그램 장치.
- 제 24 항에 있어서,상기 특정 동작 상태는 상기 네트워크내의 하나 또는 그 이상의 엔티티로부터의 통신에 의해 판단되는컴퓨터 프로그램 장치.
- 제 24 항에 있어서,상기 특정 동작 상태에 근거하여 상기 데이터를 상기 클라이언트 엔티티로 전송하기 위한 최소 비용 방법을 판단하는 단계를 더 포함하는 컴퓨터 프로그램 장치.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 | ||
US09/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 true KR20000057718A (ko) | 2000-09-25 |
KR100359366B1 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 (117)
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 |
ATE278220T1 (de) * | 2000-03-31 | 2004-10-15 | Ritzaus Medienet As | Verfahren und system zum schieben von informationen |
GB2367663A (en) * | 2000-04-03 | 2002-04-10 | Ibm | Method, system and program for efficiently distributing aerial electronic publications |
US7051073B1 (en) | 2000-04-03 | 2006-05-23 | International Business Machines Corporation | Method, system and program for efficiently distributing serial electronic publications |
US7283805B2 (en) | 2000-11-20 | 2007-10-16 | Cingular Wireless Ii, Llc | Methods and systems for providing application level presence information in wireless communication |
US8156209B1 (en) * | 2001-02-15 | 2012-04-10 | Cisco Technology, Inc. | Aggregation devices processing keep-alive messages of point-to-point sessions |
CA2439373A1 (en) | 2001-03-14 | 2002-09-19 | Nokia Corporation | Realization of presence management |
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 |
WO2002084975A2 (en) | 2001-04-12 | 2002-10-24 | Research In Motion Limited | System and method for dynamically pushing information 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 | 삼성전자주식회사 | 홈네트워크내의 기기에 서비스를 제공하는 시스템과 그방법 및 홈네트워크에서 서비스를 제공받는 시스템과 그방법 |
US7076244B2 (en) * | 2001-07-23 | 2006-07-11 | 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 |
DE602006004847D1 (de) * | 2006-05-02 | 2009-03-05 | 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 |
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 |
US8224919B2 (en) | 2007-04-04 | 2012-07-17 | Research In Motion Limited | Mobile communications system including intermediate service provider and related methods |
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 | 通信装置、方法およびプログラムならびに通信システム |
JP5595503B2 (ja) * | 2009-09-09 | 2014-09-24 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 移動ネットワークにおけるコンテンツ送信の適合化 |
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 |
US10486068B2 (en) | 2015-05-14 | 2019-11-26 | Activision Publishing, Inc. | System and method for providing dynamically variable maps in a video game |
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 |
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 |
US10213682B2 (en) | 2015-06-15 | 2019-02-26 | 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 |
US10099140B2 (en) | 2015-10-08 | 2018-10-16 | Activision Publishing, Inc. | System and method for generating personalized messaging campaigns for video game players |
US11185784B2 (en) | 2015-10-08 | 2021-11-30 | 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 |
US10376781B2 (en) | 2015-10-21 | 2019-08-13 | Activision Publishing, Inc. | System and method of generating and distributing 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 |
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 |
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 |
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 |
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 |
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 |
US10864443B2 (en) | 2017-12-22 | 2020-12-15 | Activision Publishing, Inc. | Video game content aggregation, normalization, and publication systems and methods |
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 |
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 |
US11115712B2 (en) | 2018-12-15 | 2021-09-07 | Activision Publishing, Inc. | Systems and methods for indexing, searching for, and retrieving 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 | 北京沃东天骏信息技术有限公司 | 本地缓存处理方法、装置、设备及计算机可读存储介质 |
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 |
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 |
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 |
US12097430B2 (en) | 2020-12-28 | 2024-09-24 | Activision Publishing, Inc. | Methods and systems for generating and managing active objects in video games |
US11853439B2 (en) | 2020-12-30 | 2023-12-26 | Activision Publishing, Inc. | Distributed data storage system providing enhanced security |
US12064688B2 (en) | 2020-12-30 | 2024-08-20 | Activision Publishing, Inc. | Methods and systems for determining decal projections intersecting spatial units in a frame of a game space |
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)
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 |
-
1999
- 1999-01-13 US US09/231,081 patent/US6311206B1/en not_active Expired - Lifetime
- 1999-12-17 CA CA002292678A patent/CA2292678C/en not_active Expired - Lifetime
-
2000
- 2000-01-05 KR KR1020000000284A patent/KR100359366B1/ko not_active IP Right Cessation
- 2000-01-11 JP JP2000002117A patent/JP3470955B2/ja not_active Expired - Lifetime
- 2000-01-11 EP EP00300148A patent/EP1021021B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
KR100359366B1 (ko) | 2002-11-01 |
JP3470955B2 (ja) | 2003-11-25 |
CA2292678A1 (en) | 2001-06-17 |
EP1021021A2 (en) | 2000-07-19 |
US6311206B1 (en) | 2001-10-30 |
CA2292678C (en) | 2005-07-05 |
EP1021021B1 (en) | 2005-09-07 |
EP1021021A3 (en) | 2002-07-17 |
JP2000232446A (ja) | 2000-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100359366B1 (ko) | 자각-개시 푸시를 제공하기 위한 방법 및 장치 | |
JP3980596B2 (ja) | サーバを遠隔かつ動的に構成する方法およびシステム | |
US7043525B2 (en) | Techniques for updating live objects at clients using a dynamic routing network | |
US6393475B1 (en) | Method of performing a network management transaction using a web-capable agent | |
US6490617B1 (en) | Active self discovery of devices that participate in a network | |
US5996010A (en) | Method of performing a network management transaction using a web-capable agent | |
US20170149715A1 (en) | System and method for providing an actively invalidated client-side network resource cache | |
US20190132276A1 (en) | Unified event processing for data/event exchanges with existing systems | |
JP2006072978A (ja) | サービス要求装置、サービス提供装置、サービス要求方法、サービス提供方法、サービス要求プログラム、サービス提供プログラム及び記録媒体 | |
KR20070029818A (ko) | 분산 데이터 처리 시스템에서의 테스트 방법, 데이터 처리시스템 및 컴퓨터 판독가능 기록 매체 | |
US20060168079A1 (en) | System and method for automatically connecting a client computer to a server | |
US7793113B2 (en) | Guaranteed deployment of applications to nodes in an enterprise | |
US20210334185A1 (en) | Task based service management platform | |
US6934761B1 (en) | User level web server cache control of in-kernel http cache | |
CN111726400A (zh) | 反向连接的方法、装置和服务端系统 | |
CN114268631A (zh) | 低延迟网络系统及其通信连接方法及可读存储介质 | |
US9077764B2 (en) | Communications handles and proxy agents | |
US7206977B2 (en) | Intelligent self-configurable adapter | |
CN108259576B (zh) | 一种软硬件实时信息传输系统和方法 | |
CN112162868B (zh) | 应用于集群处理的数据通信方法、装置及存储介质 | |
KR100450605B1 (ko) | 웹-어플리케이션 서버 및 그의 동적 컨텐츠 제공 방법 | |
US20240289107A1 (en) | System and method to identify and improve connection issues | |
US20240289106A1 (en) | Method and system to improve the turnaround time for providing upgrades | |
Campos et al. | Improving the scalability of DPWS-based networked infrastructures | |
CN117971516A (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 |