KR20050076750A - 인터-포지션된 메시지 변경을 사용하는, 코드에 대한 수신메시지의 적응성 디스패치 - Google Patents

인터-포지션된 메시지 변경을 사용하는, 코드에 대한 수신메시지의 적응성 디스패치 Download PDF

Info

Publication number
KR20050076750A
KR20050076750A KR1020050005683A KR20050005683A KR20050076750A KR 20050076750 A KR20050076750 A KR 20050076750A KR 1020050005683 A KR1020050005683 A KR 1020050005683A KR 20050005683 A KR20050005683 A KR 20050005683A KR 20050076750 A KR20050076750 A KR 20050076750A
Authority
KR
South Korea
Prior art keywords
message
dispatch
receive path
change
received
Prior art date
Application number
KR1020050005683A
Other languages
English (en)
Other versions
KR101143222B1 (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 KR20050076750A publication Critical patent/KR20050076750A/ko
Application granted granted Critical
Publication of KR101143222B1 publication Critical patent/KR101143222B1/ko

Links

Classifications

    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/10015Access to distributed or replicated servers, e.g. using brokers
    • 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]

Abstract

메시지를 수신할 때, 디스패치 컴포넌트에 전달되기 전에 메시지의 수신 경로에 위치한 하나 이상의 수신 경로 컴포넌트를 통해 메시지가 전달되는 메카니즘들이 제공된다. 하나 이상의 수신 경로 컴포넌트는 디스패치를 실행하기 위해 디스패치 컴포넌트에 유용할 수 있는 정보를 포함하도록 메시지를 변경할 수 있다. 디스패치 컴포넌트는 변경된 메시지를 수신하고, (변경 자체를 잠정적으로 포함하는) 변경된 메시지로부터의 정보를 사용해서 디스패치를 수행한다. 메시지가 디스패치 컴포넌트에 유용한 추가 정보를 포함하도록 변경되므로, 디스패치 컴포넌트는 메시지와 함께 발생하는 프로세싱을 식별하는 데 있어서 보다 유연할 수 있다. 따라서, 메시지에 이상적으로 적합한 특정 유연한 프로세싱이 인에이블될 수 있다.

Description

인터-포지션된 메시지 변경을 사용하는, 코드에 대한 수신 메시지의 적응성 디스패치{ADAPTIVE DISPATCH OF RECEIVED MESSAGES TO CODE USING INTER-POSITIONED MESSAGE MODIFICATION}
본 발명은 컴퓨팅 기술에 관한 것으로, 특히, 디스패치 전에 인터-포지션된 메시지 변경을 사용하는 동적인 방식으로, 수신 메시지를 코드에 디스패치하는 메카니즘에 관한 것이다.
컴퓨팅 기술은 인간의 일과 놀이의 방식을 변형시켜 왔다. 컴퓨팅 시스템은 현재 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 PC, 퍼스널 디지털 어시스턴트(PDA), 가전 제품 등을 포함하는 매우 다양한 형태들을 갖는다. 가장 기본적인 형태로, 컴퓨팅 시스템은 시스템 메모리 및 하나 이상의 프로세서들을 포함한다. 시스템 메모리의 소프트웨어는 프로세서에 의해 실행되어, 컴퓨팅 시스템의 다른 하드웨어가 희망 기능들을 수행하게 한다.
소프트웨어는 꽤 복잡할 수 있으며, 주로 수천 또는 수백만 행의 소스 코드로부터 컴파일 또는 해석된다. 소프트웨어 개발 프로세스를 조직화하기 위해, 태스크가 보다 특정한 단계들을 실행하는 관리 가능한 서브루틴들 또는 메쏘드들로 분할될 수 있다. 그리고, 메쏘드들은 소프트웨어의 보다 복잡한 기능을 총체적으로 수행하기 위한 상호 관계를 갖는다. 메시지 프로세싱 시스템에서, 수신 메시지는 디스패치 메카니즘이 액세스할 수 있는 주변 관련 사실들에 따라, 하나 이상의 메쏘드들에 의한 프로세싱을 위해 디스패치 메카니즘에 의해 디스패치된다.
가장 적합한 디스패치를 수행하기 위해, 디스패치 컴포넌트가 가능한한 많은 관련 정보에 액세스하는 것이 유익하다. 그러나, 시스템의 모든 컴포넌트들이 정보에 동일하게 액세스할 수 있는 것은 아니다. 예를 들어, 디스패치 메카니즘은 메시지가 수신되는 접속, 메시지를 전달하는 데 사용되는 프로토콜, 메시지 교환 히스토리, 현 로드 밸런싱 상태, 메시지가 수신된 시간, 메시지 송신원의 중요도 등에 관한 다이렉트 정보를 갖지 않을 수 있다. 또한, 관련 정보가 메시지 자체에 존재하지 않을 수 있으며, 적어도 메시지로부터 쉽게 액세스될 수 없다.
따라서, 메시지를 적절히 프로세싱하는 데에 있어서 보다 더 많은 유연성을 허용하기 위하여, 디스패치 메카니즘이 메시지를 디스패치할 때 종래에는 몰랐거나 액세스하기 어려웠던 정보를 보다 쉽게 이용할 수 있게 하는 메카니즘이 유익하다.
종래 기술의 상술된 문제점들이 본 발명의 원리들에 의해 극복된다. 본 발명은 네트워크 환경의 다른 컴퓨팅 시스템으로부터 메시지를 수신할 수 있는 수신 컴퓨팅 시스템을 포함하는 네트워크 환경에서 구현될 수 있다. 수신 컴퓨팅 시스템은 차후 프로세싱을 위해 하나 이상의 메쏘드의 그룹에 수신 메시지를 디스패치하는 디스패치 컴포넌트를 포함한다. 본 발명의 원리는, 디스패치 메카니즘이 디스패치에 관련된 소정의 정보에 직접 액세스하지 못하더라도, 또한, 해당 정보가 수신 컴퓨팅 시스템에 의해 수신된 메시지로부터 쉽게 획득되지 않거나 존재하지 않더라도, 디스패치 컴포넌트가 수신 메시지를 디스패치하는 메카니즘과 관련된다.
메시지를 수신할 때, 메시지는 디스패치 컴포넌트에 전달되기 전에 메시지의 수신 경로에 위치한 하나 이상의 수신 경로 컴포넌트를 통해 전달된다. 하나 이상의 수신 경로 컴포넌트는 디스패치를 실행하기 위해 디스패치 컴포넌트에 유용할 수 있는 정보를 포함하도록 메시지를 변경할 수 있다. 예를 들어, 상기 정보는 메시지가 수신된 접속, 메시지 수신에 사용된 프로토콜 타입, 메시지가 수신된 시간, 메시지의 처리 우선 순위, 메시지의 송신원의 상태, 컴퓨팅 시스템의 로드, 또는 디스패치에 유용한 임의의 다른 정보를 포함할 수 있다. 디스패치 컴포넌트는 변경된 메시지를 수신하고, (변경 자체를 잠정적으로 포함하는) 변경된 메시지로부터의 정보를 사용해서 디스패치를 실행한다.
메시지가 디스패치 컴포넌트에 유용한 추가 정보를 포함하도록 변경되므로, 디스패치 컴포넌트는 메시지에 행해져야 하는 프로세싱을 식별하는 데 있어서 보다 유연할 수 있다. 따라서, 메시지에 이상적으로 적합한 특별하고 유연한 프로세싱이 인에이블될 수 있다. 예를 들어, 송신원이 대량 주문 고객인 경우, 메시지는 송신원이 소량 주문 고객인 경우와 다른 코드로 특별하게 프로세스될 수 있다. 이러한 경우에, 고객 데이터베이스에 액세스할 수 있는 수신 경로 내의 컴포넌트는 적합한 고객 상태를 메시지에 추가하여, 메시지가 디스패치 컴포넌트에 의해 적합하게 디스패치되게 할 수 있다.
본 발명의 추가 특징들 및 장점들은 이하에 후술되며, 부분적으로 이하의 설명으로부터 명백해질 것이며, 본 발명의 구현으로 학습될 수 있다. 본 발명의 특징 및 장점은 특히 첨부된 청구항들에 기술된 기구 및 결합에 의해 구현 및 획득될 수 있다. 본 발명의 여타 특징들은 이하의 설명 및 첨부된 청구항들로부터 더욱 명백해질 것이며, 후술된 바와 같은 본 발명의 구현으로 학습될 수 있다.
본 발명의 원리는 메시지를 수신할 때, 디스패치 컴포넌트에 전달되기 전에 메시지의 수신 경로에 위치한 하나 이상의 수신 경로 컴포넌트를 통해 메시지가 전달되는 메카니즘들에 관한 것이다. 하나 이상의 수신 경로 컴포넌트는 디스패치를 실행하기 위해 디스패치 컴포넌트에 유용할 수 있는 정보를 포함하도록 메시지를 변경할 수 있다. 디스패치 컴포넌트는 변경된 메시지를 수신하고, (변경 자체를 잠정적으로 포함하는) 변경된 메시지로부터의 정보를 사용해서 디스패치를 실행한다. 메시지가 디스패치 컴포넌트에 유용한 추가 정보를 포함하도록 변경되므로, 디스패치 컴포넌트는 메시지에 행해져야 하는 프로세싱을 식별하는 데 있어서 보다 유연할 수 있다. 따라서, 메시지에 이상적으로 적합한 특별하고 유연한 프로세싱이 인에이블될 수 있다.
도면들에서, 유사한 참조 부호들은 유사한 소자들을 나타내며, 본 발명이 적합한 컴퓨팅 환경에서 구현되는 것으로 도시되어 있다. 이하의 설명은 본 발명의 도시된 실시예들을 근거로 한 것이며 본 명세서에 명백하게 기술되지 않은 다른 실시예들에 대해 본 발명을 제한하려는 것이 아니다.
이하의 설명에서, 달리 언급되지 않는 한, 본 발명은 하나 이상의 컴퓨터들에 의해 실행되는 단계 및 동작의 기호 표현을 참조하여 기술된다. 종종 컴퓨터 실행이라고 표현되는 이러한 단계 및 동작은 구조화된 형태로 데이터를 나타내는 전기 신호들의 컴퓨터의 프로세싱 유닛에 의한 조작을 포함한다는 것을 알 것이다. 이러한 조작은 데이터를 변형하거나 컴퓨터의 메모리 시스템의 로케이션들에 데이터를 유지하며, 이것은 본 기술 분야에 숙련된 자들이 잘 아는 방법으로 컴퓨터의 동작을 재구성하거나 변경한다. 데이터가 유지되는 데이터 구조는 데이터의 포맷에 의해 정의된 특정 속성들을 갖는 메모리의 물리 로케이션이다. 그러나, 본 발명이 상술된 문맥으로 기술되더라도, 이는 제한을 위한 것이 아니며, 본 기술 분야에 숙련된 자들은 후술된 수개의 단계 및 동작이 하드웨어로도 구현될 수 있음을 알 것이다. 도 1은 상기 장치들을 위해 사용될 수 있는 예시적인 컴퓨터 아키텍처의 개략도이다.
설명을 위해, 도시된 아키텍처는 적합한 환경의 일례일 뿐이며 본 발명의 용도 또는 기능의 범위에 어떠한 한계를 제시하려는 것이 아니다. 컴퓨팅 시스템은 도 1에 도시된 컴포넌트들 중 임의의 컴포넌트 또는 결합과 관련해서 임의의 종속성 또는 요구 사항을 갖는 것으로 해석돼서는 안된다.
본 발명은 다수의 다른 범용 또는 특정 용도 컴퓨팅 또는 통신 환경 또는 구성들로 동작 가능하다. 본 발명에 따라 사용되기에 적합한 널리 공지된 컴퓨팅 시스템, 환경 및 구성의 일례들은 휴대폰, 포켓 컴퓨터, 퍼스널 컴퓨터, 서버, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 미니컴퓨터, 메인프레임 컴퓨터, 및 상술된 시스템들 또는 디바이스들 중 임의의 시스템 또는 디바이스를 포함하는 분산 컴퓨팅 환경을 포함하지만, 이들로만 제한되는 것은 아니다.
가장 기본적인 구성에서, 컴퓨팅 시스템(100)은 통상 적어도 하나의 프로세싱 유닛(102) 및 메모리(104)를 포함한다. 메모리(104)는 휘발성(예를 들면, RAM), 비휘발성(예를 들면, ROM, 플래시 메모리 등), 또는 그 둘의 소정의 결합일 수 있다. 가장 기본적인 구성은 도 1에 점선(106)으로 도시되어 있다.
기억 매체 장치들은 추가 특징 및 기능을 가질 수 있다. 예를 들어, 기억 매체 장치들은 PCMCIA 카드, 자기 및 광 디스크, 및 자기 테이프를 포함하지만 이들로만 제한되지 않는 추가 스토리지(분리 가능 및 분리 불가능)를 포함할 수 있다. 이러한 추가 스토리지는 분리 가능 스토리지(108) 및 분리 불가능 스토리지(110)로 도 1에 도시되어 있다. 컴퓨터 기억 매체는 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 기억을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리 가능 및 분리 불가능 매체들을 포함한다. 메모리(104), 분리 가능 스토리지(108), 및 분리 불가능 스토리지(110)는 모두 컴퓨터 기억 매체의 일례들이다. 컴퓨터 기억 매체는 RAM, ROM, EEPROM, 플래시 메모리, 다른 메모리 기술, CD-ROM, DVD, 다른 광 스토리지, 자기 카셋트, 자기 테이프, 자기 디스크 스토리지, 다른 자기 기억 장치, 및 컴퓨팅 시스템에 의해 액세스될 수 있고 희망 정보를 기억하는 데 사용될 수 있는 임의의 다른 매체들을 포함하지만, 이들로만 제한되는 것은 아니다.
본 명세서에서 사용되는 용어 "모듈" 또는 "컴포넌트"는 컴퓨팅 시스템에서 실행되는 소프트웨어 객체 또는 루틴일 수 있다. 본 명세서에 기술된 상이한 컴포넌트들, 모듈들, 엔진들 및 서비스들은 컴퓨팅 시스템에서 실행되는 객체들 또는 프로세스들로서(예를 들어, 개별 스레드로서) 구현될 수 있다. 본 명세서에 기술된 시스템 및 방법들은 양호하게 소프트웨어로 구현되어 있지만, 소프트웨어 및 하드웨어 또는 하드웨어로도 또한 구현될 수 있다.
컴퓨팅 시스템(100)은 호스트가 네트워크(120)를 통해 다른 시스템들 및 디바이스들과 통신할 수 있게 해주는 통신 채널들(112)을 포함할 수 있다. 통신 채널들(112)은 통신 매체들의 일례들이다. 통신 매체들은 통상 컴퓨터-판독 가능 명령들, 데이터 구조, 프로그램 모듈들, 또는 반송파 또는 다른 전송 메카니즘과 같은 변조된 데이터 신호의 다른 데이터를 포함하며, 임의의 정보-전달 매체들을 포함한다. 제한의 의미가 아니라 일례로서, 통신 매체는 유선망 및 직접 배선 접속과 같은 유선 매체, 및 음향, 라디오, 적외선 및 다른 무선 매체와 같은 무선 매체들을 포함한다. 본 명세서에서 사용되는 컴퓨터 판독 가능 매체라는 용어는 기억 매체 및 통신 매체 양자 모두를 포함한다.
컴퓨팅 시스템(100)은 또한 키보드, 마우스, 펜, 음성-입력 컴포넌트, 터치-입력 디바이스 등과 같은 입력 컴포넌트들(114)을 포함할 수 있다. 출력 컴포넌트들(116)은 스크린 디스플레이, 스피커, 프린터 등을 포함하고, 상기 컴포넌트들을 구동하기 위한 렌더링 모듈들(종종 "어댑터"라고 함)을 포함한다. 컴퓨팅 시스템(100)은 전원(118)을 갖는다. 모든 컴포넌트들은 본 기술 분야에 공지된 것으로 장황하게 설명될 필요가 없다.
도 2는 본 발명의 원리에 따라 수신 메시지의 유연한 디스패치를 실행하기 위해 협동해서 상호 작용할 수 있는 다양한 컴포넌트들(200)을 도시한다. 도 1의 컴퓨팅 시스템(100)의 문맥에서 구현될 때, 다양한 컴포넌트들은 메모리(104) 내에서 인스턴스화될 수 있고/있거나, 분리 가능 스토리지(108) 및/또는 분리 불가능 스토리지(110) 등과 같은 불변 메모리에 존속될 수 있다. 불변 메모리는 예를 들면 자기 디스크일 수 있다.
메시지(201)는 하나 이상의 수신 경로 컴포넌트를 포함하는 메시지 수신 경로(202)에서 수신된다. 예를 들어, 메시지 수신 경로(202)는 잠정적으로 "...(202B)"로 표시된 것들 중에서도 특히 수신 경로 컴포넌트(202A)를 포함하는 것으로 도시되어 있다. 예를 들어, 수신 경로 컴포넌트들은 접속 층, 디스크립션 층, 액세스 제어 층, 환경 분석 층, 접속 관리자, 애플리케이션 프로그램, 또는 메시지가 디스패치 컴포넌트(205)에 제공되기 전에 메시지(201)에 액세스한 임의의 다른 컴포넌트일 수 있다. 예를 들어, 다양한 수신 경로 컴포넌트들이 도 1의 컴퓨팅 시스템(100)의 메모리에서 구현될 수 있다.
수신 경로 컴포넌트들 중 적어도 하나는 적어도 하나의 변경으로 메시지를 변경하도록 구성된다. 변경된 메시지는 추가 정보(204)로 표시된 변경에 의해 표시된 추가 정보를 갖는 변경된 메시지(201')로 도 2에 도시되어 있다. 변경은 예를 들어, 하나 이상의 데이터 필드의 추가, 하나 이상의 데이터 필드의 삭제 및/또는 하나 이상의 데이터 필드의 변경을 포함할 수 있다. 예를 들어, 메시지(201)가 SOAP(Simple Object Access Protocol) 엔벨로프인 경우, 메시지(201) 본문의 데이터 필드의 변경이 본 발명의 원리에 의해 배제되지 않더라도, 추가 정보(204)는 추가, 삭제 또는 변경된 SOAP 헤더(들)일 수 있다. 추가 정보(204)는 변경에 의해 학습 또는 획득될 수 있는 임의의 새로운 정보를 나타낸다. 예를 들어, 디스패치 코드는 변경의 수행 여부에만 관심을 가지며, 그 변경이 어떤 것이었는지에 대해서는 관심이 없을 수 있다.
디스패치 컴포넌트(205)는 변경된 메시지(201')를 수신하고 (잠정적으로 추가 정보(204)를 포함하는) 변경된 메시지(201')로부터의 정보 및 디스패치 규칙(206)을 사용해서 메시지를 어떤 그룹의 하나 이상의 메쏘드들로 송신하는지를 식별한다. 도시된 일례에서, 변경된 메시지(201')는 예를 들어, 차후 프로세싱을 위해 메쏘드(207)로 송신될 수 있다. 수신 경로 컴포넌트들은 디스패치 컴포넌트(205)에 의해서는 쉽게 액세스될 수 없거나 전혀 액세스될 수 없는 정보에 액세스할 수 있다. 예를 들어, 수신 경로 컴포넌트(202A)에 의해 액세스될 수 있는 정보(203A)는 변경된 메시지(201')에 의해서는 액세스될 수 없을 수 있다. 따라서, 수신 경로 컴포넌트들이 정보를 메시지(201)에 추가할 수 있게 함으로써, 디스패치 컴포넌트(205)는 통상 쉽게 액세스할 수 없는(또는 전혀 액세스할 수 없는) 정보를 사용해서 메시지(201')를 어디로 디스패치할 지에 대한 보다 더 지능적인 결정을 할 수 있다.
도 3은 디스패치 메카니즘이 디스패치에 관련된 소정의 정보에 직접 액세스하지 못하더라도, 또한 해당 정보가 수신 컴퓨팅 시스템에 의해 수신된 메시지로부터 쉽게 획득되지 않거나 존재하지 않더라도 수신 메시지를 디스패치하는 디스패치 메카니즘에 대한 방법(300)의 흐름도를 도시한다. 먼저, 메시지가 수신된다(단계(301)). 그 후 메시지는 디스패치 컴포넌트에 전달되기 전에 메시지의 수신 경로에 위치한 하나 이상의 수신 경로 컴포넌트를 통해 전달된다(단계(302)). 이러한 일이 발생할 때, 적어도 하나의 수신 경로 컴포넌트(들)가 적어도 하나의 변경으로 메시지를 변경한다(단계(303)). 상기 변경은 예를 들어, 접속 층, 디스크립션 층, 액세스 제어 층, 환경 분석 층, 접속 관리자, 애플리케이션 프로그램, 또는 디스패치 컴포넌트에 의해 수신되기 전의 메시지의 경로 내에 있는 임의의 다른 컴포넌트와 같은 수신 경로 컴포넌트들 중 하나 이상에 의해 실행될 수 있다. 디스패치 컴포넌트는 메시지의 잠정적으로 다른 정보와 함께 메시지의 변경을 수신하여(단계(304)), 디스패치 규칙의 리스트를 평가함으로써, 변경된 메시지를 어디로 디스패치할지를 결정한다(단계(305)).
도 4는 변경된 메시지를 사용해서 디스패치하기 위한 방법(400)의 흐름도를 도시한다. 먼저, 디스패치 컴포넌트는 메시지에 대한 변경에 존재하는 정보를 참조하는 디스패치 규칙에 액세스한다(단계(401)). 그 후, 디스패치 컴포넌트는 디스패치 규칙에 따라 메시지를 디스패치한다. 한 실시예에서, 메시지는 계층적으로 구조화된 문서일 수 있다. 그러한 경우, 요구되지 않더라도, 디스패치 규칙은 XPATH 문을 사용해서 표현될 수 있다.
추가 정보(204)는 예를 들어, 메시지가 수신된 접속을 식별하는 접속 식별일 수 있다. 이는 디스패치 메카니즘이 해당 인스턴스에 대응하는 적합한 코드 인스턴스에 메시지를 디스패치할 수 있게 해준다.
대안으로, 추가 정보는 예를 들어, 메시지 수신에 사용된 프로토콜 타입일 수 있다. 이는 해당 프로토콜에 적합한 코드로 디스패치하는 것을 돕는다. 예를 들어, 특정 코드는 특정 프로토콜에 순응한다고 단언하는 메시지들을 검사하도록 적응될 수 있다.
추가 정보는 메시지가 수신된 시간을 포함할 수 있다. 작업 시간 동안에 비해, 작업을 하지 않는 시간 중에 수신된 경우, 메시지에 대해 실행되는 특정 프로세싱이 있을 수 있다. 이러한 경우, 디스패치 메카니즘은 수신 시간이 주어지면 적합한 코드로 디스패치할 수 있다.
추가 정보는 처리 우선 순위를 포함할 수 있다. 예를 들어, 대량의 물품들에 대한 주문을 나타내는 메시지 및 새로운 고객들로부터의 메시지가 높은 우선 순위로 결정될 수 있다. 수신 경로 컴포넌트들 중 하나는 처리 우선 순위가 식별되게 하는 고객 데이터베이스에 액세스할 수 있다. 따라서, 처리 우선 순위가 수신된 메시지 자체에 지정되어 있지 않았더라도, 디스패치 컴포넌트는 처리 우선 순위가 주어지면 적합한 코드로 메시지를 디스패치할 수 있다.
추가 정보는 또한 송신원의 상태와 관련된 정보를 포함할 수 있다. 예를 들어, 단골 고객들이 특정 상태 식별자를 가질 수 있으며, 새로운 고객들이 다른 상태 식별자를 가지며, 소량 주문 고객들이 또 다른 상태 식별자를 가질 수 있다. 상기 정보는 메시지 송신원의 상태가 주어지면 적합하게 디스패치하도록 메시지에 추가될 수 있다.
추가 정보는 또한 컴퓨팅 시스템의 현재의 작업 부하를 포함할 수 있다. 부하가 적은 코드로 메시지를 송신하는 것이 적합할 수 있다.
이들은 메시지 디스패치에 유용한 추가 정보의 타입의 일례들을 나타낸다. 이는 모든 것을 열거하도록 의도된 것은 아니다. 본 기술 분야에 숙련된 자들은 (본 명세서를 검토한 후에) 본 발명의 원리에 의해 임의의 다양한 정보가 수신 경로에서 메시지에 추가될 수 있음을 알 것이다. 따라서, 매우 다양한 정보가 보다 유연하게 또한 적합하게 메시지들을 디스패치하는 데 사용될 수 있다.
본 발명은 원리 또는 필수 특징들의 범위 내에서 다른 특정 형태들로 포함될 수 있다. 기술된 실시예들은 설명을 목적으로 한 것으로 제한의 의미가 아니다. 따라서, 본 발명의 범위는 상술된 설명이 아니라 첨부된 청구항들에 의해서 지시된다. 청구항들과 동등한 의미 및 범위 내에 속한 모든 변경이 본 발명의 범위에 속한다.
본 발명에 따르면, 디스패치 메카니즘은, 디스패치에 관련된 소정의 정보에 직접 액세스하지 못하더라도, 또한, 해당 정보가 수신 컴퓨팅 시스템에 의해 수신된 메시지로부터 쉽게 획득되지 않거나 존재하지 않더라도 수신 메시지를 디스패치할 수 있다.
도 1은 본 발명의 특징들을 구현할 수 있는 적합한 컴퓨팅 시스템을 도시한 도면.
도 2는 본 발명의 원리들에 따라 수신 메시지의 유연한 디스패치를 실행하기 위해 협동해서 상호 작용할 수 있는 다양한 컴포넌트들을 도시한 도면.
도 3은 본 발명의 원리들에 따라 수신 메시지의 유연한 디스패치를 실행하는 컴퓨팅 시스템의 방법의 흐름도.
도 4는 변경된 메시지를 사용해서 디스패치하는 방법의 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
100 : 컴퓨팅 시스템 201 : 메시지
201': 변경된 메시지 202 : 메시지 수신 경로
204 : 추가 정보 205 : 디스패치 컴포넌트
206 : 디스패치 규칙 207 : 메쏘드

Claims (34)

  1. 수신 컴퓨팅 시스템을 포함하는 네트워크 환경 -상기 수신 컴퓨팅 시스템은 상기 네트워크 환경 내의 다른 컴퓨팅 시스템들로부터 메시지들을 수신할 수 있고,차후의 프로세싱을 위해 하나 이상의 메쏘드들의 그룹들로 수신 메시지들을 디스패치하는 디스패치 컴포넌트를 포함함- 에서, 디스패치 메카니즘이 디스패치에 관련된 소정의 정보에 직접 액세스할 수 없더라도, 또한 상기 디스패치에 관련된 소정의 정보가 상기 수신 컴퓨팅 시스템에 의해 수신된 메시지로부터 쉽게 획득되지 않거나 존재하지 않더라도, 상기 디스패치 메카니즘이 수신 메시지를 디스패치하는 방법에 있어서,
    메시지를 수신하는 단계;
    상기 수신된 메시지를, 상기 디스패치 컴포넌트에 전달하기 전에, 상기 메시지의 수신 경로에 위치한 하나 이상의 수신 경로 컴포넌트를 통해 전달하는 단계;
    상기 하나 이상의 수신 경로 컴포넌트 중 적어도 하나가 적어도 하나의 변경(modification)으로 메시지를 변경하는 단계;
    상기 디스패치 메카니즘이 상기 수신 경로로부터 상기 변경된 메시지를 수신하는 단계; 및
    상기 디스패치 메카니즘이 상기 적어도 하나의 변경으로부터 획득될 수 있는 정보를 사용하여, 상기 메시지를 상기 차후의 프로세싱을 위해 하나 이상의 메쏘드들의 그룹으로 디스패치하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 메시지는 SOAP(Simple Object Access Protocol) 엔벨로프를 포함하고,
    상기 하나 이상의 수신 경로 컴포넌트 중 적어도 하나가 메시지를 변경하는 단계는, 추가 정보를 갖는 SOAP 헤더를 상기 메시지에 추가하는 단계를 포함하는 방법.
  3. 제1항에 있어서,
    상기 하나 이상의 수신 경로 컴포넌트 중 적어도 하나가 메시지를 변경하는 단계는, 적어도 하나의 데이터 필드를 상기 메시지에 추가하는 단계를 포함하는 방법.
  4. 제1항에 있어서,
    상기 하나 이상의 수신 경로 컴포넌트 중 적어도 하나가 메시지를 변경하는 단계는, 상기 메시지 내의 적어도 하나의 데이터 필드를 변경하는 단계를 포함하는 방법.
  5. 제1항에 있어서,
    상기 하나 이상의 수신 경로 컴포넌트 중 적어도 하나가 메시지를 변경하는 단계는, 적어도 하나의 데이터 필드를 상기 메시지로부터 삭제하는 단계를 포함하는 방법.
  6. 제1항에 있어서,
    상기 하나 이상의 수신 경로 컴포넌트 중 적어도 하나가 메시지를 변경하는 단계는, 수신 컴포넌트가 상기 메시지를 변경하는 단계를 포함하는 방법.
  7. 제1항에 있어서,
    상기 하나 이상의 수신 경로 컴포넌트 중 적어도 하나가 메시지를 변경하는 단계는, 수신 컴포넌트가 아닌 수신 경로 컴포넌트가 상기 메시지를 변경하는 단계를 포함하는 방법.
  8. 제1항에 있어서,
    상기 하나 이상의 수신 경로 컴포넌트 중 적어도 하나가 메시지를 변경하는 단계는, 단일의 수신 경로 컴포넌트가 상기 메시지를 변경하는 단계를 포함하는 방법.
  9. 제1항에 있어서,
    상기 하나 이상의 수신 경로 컴포넌트 중 적어도 하나가 상기 메시지를 변경하는 단계는, 복수의 수신 경로 컴포넌트가 상기 메시지를 변경하는 단계를 포함하는 방법.
  10. 제1항에 있어서,
    상기 적어도 하나의 변경은 상기 메시지가 수신된 접속을 식별하는 접속 식별을 포함하는 방법.
  11. 제1항에 있어서,
    상기 적어도 하나의 변경은 상기 메시지를 수신하는 데 사용된 프로토콜 타입을 포함하는 방법.
  12. 제1항에 있어서,
    상기 적어도 하나의 변경은 상기 메시지가 수신된 시간을 포함하는 방법.
  13. 제1항에 있어서,
    상기 적어도 하나의 변경은 상기 메시지의 처리 우선 순위와 관련된 정보를 포함하는 방법.
  14. 제1항에 있어서,
    상기 적어도 하나의 변경은 상기 메시지의 송신원의 상태와 관련된 정보를 포함하는 방법.
  15. 제1항에 있어서,
    상기 적어도 하나의 변경은 상기 컴퓨팅 시스템의 부하와 관련된 정보를 포함하는 방법.
  16. 제1항에 있어서,
    상기 디스패치 메카니즘이 적어도 하나의 변경을 사용하여 메시지를 차후의 프로세싱을 위해 하나 이상의 메쏘드들의 그룹으로 메시지를 단계는,
    상기 메시지에 대한 적어도 하나의 변경에 존재하는 정보를 참조하는 디스패치 규칙에 액세스하는 단계; 및
    상기 디스패치 규칙에 따라 상기 메시지를 디스패치하는 단계
    를 포함하는 방법.
  17. 제16항에 있어서,
    상기 디스패치 규칙은 하나 이상의 XPATH 문을 사용하여 표현되는 방법.
  18. 수신 컴퓨팅 시스템을 포함하는 네트워크 환경 -상기 수신 컴퓨팅 시스템은 네트워크 환경의 다른 컴퓨팅 시스템들로부터 메시지들을 수신할 수 있고, 차후의 프로세싱을 위해 하나 이상의 메쏘드들의 그룹들로 수신 메시지들을 디스패치하는 디스패치 컴포넌트를 포함함- 에서 사용되기 위한 것으로, 디스패치 메카니즘이 디스패치에 관련된 소정의 정보에 직접 액세스할 수 없더라도, 또한 상기 디스패치에 관련된 소정의 정보가 상기 수신 컴퓨팅 시스템에 의해 수신된 메시지로부터 쉽게 획득되지 않거나 존재하지 않더라도, 디스패치 메카니즘이 수신 메시지를 디스패치하는 방법을 수행하기 위한 컴퓨터 프로그램 제품에 있어서,
    상기 컴퓨팅 시스템의 하나 이상의 프로세서들에 의해 실행될 때, 상기 컴퓨팅 시스템이,
    수신된 메시지에 액세스하는 단계;
    적어도 하나의 변경으로 상기 메시지를 변경하는 단계; 및
    상기 변경된 메시지를 적어도 간접적으로 하나 이상의 다른 수신 경로 컴포넌트를 통해 상기 디스패치 메카니즘에 제공하여, 상기 디스패치 메카니즘이 상기 적어도 하나의 변경으로부터 획득될 수 있는 정보를 사용하여, 상기 메시지를 차후의 프로세싱을 위해 하나 이상의 메쏘드들의 그룹으로 디스패치할 수 있게 하는 단계
    를 수행하게 하는 컴퓨터 실행 가능 명령들을 갖는 하나 이상의 컴퓨터 판독 가능 매체를 포함하는 컴퓨터 프로그램 제품.
  19. 제18항에 있어서,
    상기 메시지는 SOAP(Simple Object Access Protocol) 엔벨로프를 포함하고,
    상기 적어도 하나의 변경으로 메시지를 변경하는 단계를 수행하기 위한 컴퓨터 실행 가능 명령들은, 추가 정보를 갖는 SOAP 헤더를 상기 메시지에 추가하는 단계를 수행하기 위한 컴퓨터 실행 가능 명령을 포함하는 컴퓨터 프로그램 제품.
  20. 제18항에 있어서,
    상기 적어도 하나의 변경으로 메시지를 변경하는 단계를 수행하기 위한 컴퓨터 실행 가능 명령들은, 적어도 하나의 데이터 필드를 상기 메시지에 추가하는 단계를 수행하기 위한 컴퓨터 실행 가능 명령을 포함하는 컴퓨터 프로그램 제품.
  21. 제18항에 있어서,
    상기 적어도 하나의 변경으로 메시지를 변경하는 단계를 수행하기 위한 컴퓨터 실행 가능 명령들은, 상기 메시지 내의 적어도 하나의 데이터 필드를 변경하는 단계를 수행하기 위한 컴퓨터 실행 가능 명령을 포함하는 컴퓨터 프로그램 제품.
  22. 제18항에 있어서,
    상기 적어도 하나의 변경으로 메시지를 변경하는 단계를 수행하기 위한 컴퓨터 실행 가능 명령들은, 상기 메시지로부터 적어도 하나의 데이터 필드를 삭제하는 단계를 수행하기 위한 컴퓨터 실행 가능 명령을 포함하는 컴퓨터 프로그램 제품.
  23. 제18항에 있어서,
    상기 적어도 하나의 변경은 상기 메시지가 수신된 접속을 식별하는 접속 식별을 포함하는 컴퓨터 프로그램 제품.
  24. 제18항에 있어서,
    상기 적어도 하나의 변경은 상기 메시지를 수신하는 데 사용된 프로토콜 타입을 포함하는 컴퓨터 프로그램 제품.
  25. 제18항에 있어서,
    상기 적어도 하나의 변경은 상기 메시지가 수신된 시간을 포함하는 컴퓨터 프로그램 제품.
  26. 제18항에 있어서,
    상기 적어도 하나의 변경은 상기 메시지의 처리 우선 순위와 관련된 정보를 포함하는 컴퓨터 프로그램 제품.
  27. 제18항에 있어서,
    상기 적어도 하나의 변경은 상기 메시지의 송신원의 상태와 관련된 정보를 포함하는 컴퓨터 프로그램 제품.
  28. 제18항에 있어서,
    상기 적어도 하나의 변경은 상기 컴퓨팅 시스템의 부하와 관련된 정보를 포함하는 컴퓨터 프로그램 제품.
  29. 제18항에 있어서,
    상기 하나 이상의 컴퓨터 판독 가능 매체는 물리적 메모리 매체를 포함하는 컴퓨터 프로그램 제품.
  30. 제29항에 있어서,
    상기 물리적 메모리 매체는 불변 메모리를 포함하는 컴퓨터 프로그램 제품.
  31. 제29항에 있어서,
    상기 물리 메모리 매체는 시스템 메모리를 포함하는 컴퓨터 프로그램 제품.
  32. 수신 컴퓨팅 시스템을 포함하는 네트워크 환경 -상기 수신 컴퓨팅 시스템은 상기 네트워크 환경 내의 다른 컴퓨팅 시스템들로부터 메시지들을 수신할 수 있고,차후의 프로세싱을 위해 하나 이상의 메쏘드들의 그룹들로 수신 메시지들을 디스패치하는 디스패치 컴포넌트를 포함함- 에서, 디스패치 메카니즘이 디스패치에 관련된 소정의 정보에 직접 액세스할 수 없더라도, 또한 상기 디스패치에 관련된 소정의 정보가 상기 수신 컴퓨팅 시스템에 의해 수신된 메시지로부터 쉽게 획득되지 않거나 존재하지 않더라도, 상기 디스패치 메카니즘이 수신 메시지를 디스패치하는 방법에 있어서,
    수신된 메시지를 상기 디스패치 메카니즘에 제공하기 전에 적어도 하나의 변경으로 수신 메시지를 변경하는 단계; 및
    디스패치 메카니즘이 상기 적어도 하나의 변경으로부터 획득될 수 있는 정보를 사용하여, 상기 메시지를 차후의 프로세싱을 위해 하나 이상의 메쏘드들의 그룹으로 메시지를 디스패치하는 단계
    를 포함하는 방법.
  33. 제32항에 있어서,
    상기 수신된 메시지를 변경하는 단계는,
    메시지를 수신하는 단계;
    상기 수신된 메시지를, 상기 디스패치 컴포넌트에 전달하기 전에, 상기 메시지의 수신 경로에 위치한 하나 이상의 수신 경로 컴포넌트를 통해 전달하는 단계;
    상기 하나 이상의 수신 경로 컴포넌트 중 적어도 하나가 적어도 하나의 변경으로 상기 메시지를 변경하는 단계; 및
    상기 디스패치 메카니즘이 상기 수신 경로로부터 상기 변경된 메시지를 수신하는 단계
    를 포함하는 방법.
  34. 컴퓨팅 시스템에 있어서,
    하나 이상의 프로세서;
    시스템 메모리;
    하나 이상의 컴퓨터 판독 가능 매체
    를 포함하고,
    상기 컴퓨터 판독 가능 매체는, 하나 이상의 프로세서들에 의해 실행될 때, 상기 컴퓨팅 시스템이 시스템 메모리 내에서,
    메시지가 상기 디스패치 컴포넌트에 전달되기 전의 수신 경로에 위치한 하나 이상의 수신 경로 컴포넌트 -상기 수신 경로 컴포넌트 중 적어도 하나는 적어도 하나의 변경으로 상기 메시지를 변경하도록 구성됨-; 및
    수신된 메시지를, 차후의 프로세싱을 위해 하나 이상의 메쏘드들의 그룹들로 수신 메시지들을 디스패치하는 디스패치 컴포넌트 -상기 디스패치 컴포넌트는 상기 적어도 하나의 변경으로부터 획득될 수 있는 정보를 사용하여 상기 메시지를 디스패치함-
    를 인스턴스화하게 하는 컴퓨터 실행 가능 명령들을 포함하는 컴퓨팅 시스템.
KR1020050005683A 2004-01-23 2005-01-21 인터-포지션된 메시지 변경을 사용하는, 코드에 대한 수신메시지의 적응성 디스패치 KR101143222B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/763,448 2004-01-23
US10/763,448 US7565451B2 (en) 2004-01-23 2004-01-23 Adaptive dispatch of received messages to code using inter-positioned message modification

Publications (2)

Publication Number Publication Date
KR20050076750A true KR20050076750A (ko) 2005-07-27
KR101143222B1 KR101143222B1 (ko) 2012-05-18

Family

ID=34634609

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050005683A KR101143222B1 (ko) 2004-01-23 2005-01-21 인터-포지션된 메시지 변경을 사용하는, 코드에 대한 수신메시지의 적응성 디스패치

Country Status (7)

Country Link
US (1) US7565451B2 (ko)
EP (1) EP1557990B1 (ko)
JP (1) JP5042454B2 (ko)
KR (1) KR101143222B1 (ko)
CN (1) CN1645841B (ko)
AT (1) ATE397344T1 (ko)
DE (1) DE602005007073D1 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060184462A1 (en) 2004-12-10 2006-08-17 Hawkins Jeffrey C Methods, architecture, and apparatus for implementing machine intelligence and hierarchical memory systems
US7739208B2 (en) 2005-06-06 2010-06-15 Numenta, Inc. Trainable hierarchical memory system and method
US7941389B2 (en) 2006-02-10 2011-05-10 Numenta, Inc. Hierarchical temporal memory based system including nodes with input or output variables of disparate properties
US20080208966A1 (en) * 2007-02-28 2008-08-28 Numenta, Inc. Hierarchical Temporal Memory (HTM) System Deployed as Web Service
US20070192267A1 (en) 2006-02-10 2007-08-16 Numenta, Inc. Architecture of a hierarchical temporal memory based system
US8732098B2 (en) 2006-02-10 2014-05-20 Numenta, Inc. Hierarchical temporal memory (HTM) system deployed as web service
US7937342B2 (en) 2006-11-28 2011-05-03 Numenta, Inc. Method and apparatus for detecting spatial patterns
US8112367B2 (en) 2007-02-28 2012-02-07 Numenta, Inc. Episodic memory with a hierarchical temporal memory based system
US7941392B2 (en) 2007-02-28 2011-05-10 Numenta, Inc. Scheduling system and method in a hierarchical temporal memory based system
WO2008106615A1 (en) 2007-02-28 2008-09-04 Numenta, Inc. Spatio-temporal learning algorithms in hierarchical temporal networks
EP2162853A1 (en) 2007-06-29 2010-03-17 Numenta, Inc. Hierarchical temporal memory system with enhanced inference capability
US8505030B2 (en) * 2007-11-16 2013-08-06 Microsoft Corporation Coordinating resources using a volatile network intermediary
US8719841B2 (en) * 2007-11-16 2014-05-06 Microsoft Corporation Dispatch mechanism for coordinating application and communication medium state
US9021503B2 (en) * 2007-11-16 2015-04-28 Microsoft Technology Licensing, Llc Coordinating application state and communication medium state
US8175984B2 (en) 2007-12-05 2012-05-08 Numenta, Inc. Action based learning
US8175985B2 (en) 2008-03-19 2012-05-08 Numenta, Inc. Plugin infrastructure for hierarchical temporal memory (HTM) system
US7983998B2 (en) 2008-03-21 2011-07-19 Numenta, Inc. Feedback in group based hierarchical temporal memory system
US8407166B2 (en) 2008-06-12 2013-03-26 Numenta, Inc. Hierarchical temporal memory system with higher-order temporal pooling capability
US8195582B2 (en) 2009-01-16 2012-06-05 Numenta, Inc. Supervision based grouping of patterns in hierarchical temporal memory (HTM)
US8301706B2 (en) 2009-06-15 2012-10-30 Microsoft Corporation Routing of pooled messages via an intermediary
US9189745B2 (en) 2010-03-15 2015-11-17 Numenta, Inc. Temporal memory using sparse distributed representation
US11651277B2 (en) 2010-03-15 2023-05-16 Numenta, Inc. Sparse distributed representation for networked processing in predictive system
US8549538B2 (en) * 2010-03-18 2013-10-01 Microsoft Corporation Coordinating communication medium state for subtasks
US8250234B2 (en) 2010-04-26 2012-08-21 Microsoft Corporation Hierarchically disassembling messages
US9141447B2 (en) 2010-12-15 2015-09-22 Microsoft Technology Licensing, Llc Conditional deferred queuing
US8645291B2 (en) 2011-08-25 2014-02-04 Numenta, Inc. Encoding of data for processing in a spatial and temporal memory system
US8504570B2 (en) 2011-08-25 2013-08-06 Numenta, Inc. Automated search for detecting patterns and sequences in data using a spatial and temporal memory system
US8825565B2 (en) 2011-08-25 2014-09-02 Numenta, Inc. Assessing performance in a spatial and temporal memory system
US9159021B2 (en) 2012-10-23 2015-10-13 Numenta, Inc. Performing multistep prediction using spatial and temporal memory system
US9385935B2 (en) * 2013-03-06 2016-07-05 Microsoft Technology Licensing, Llc Transparent message modification for diagnostics or testing
US10318878B2 (en) 2014-03-19 2019-06-11 Numenta, Inc. Temporal processing scheme and sensorimotor information processing
US11681922B2 (en) 2019-11-26 2023-06-20 Numenta, Inc. Performing inference and training using sparse neural network

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557798A (en) * 1989-07-27 1996-09-17 Tibco, Inc. Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US6823369B2 (en) * 2001-03-14 2004-11-23 Microsoft Corporation Using state information in requests that are transmitted in a distributed network environment
US7055143B2 (en) * 2001-07-10 2006-05-30 Microsoft Corporation System and methods for providing a declarative syntax for specifying SOAP-based web services
US8001189B2 (en) * 2001-10-16 2011-08-16 Microsoft Corporation Routing of network messages
US7039701B2 (en) * 2002-03-27 2006-05-02 International Business Machines Corporation Providing management functions in decentralized networks
US20030212587A1 (en) * 2002-05-13 2003-11-13 International Business Machines Corporation Apparatus and methods for coordinating Web services using role based interpretation of coordination plans
US7103676B2 (en) * 2002-11-04 2006-09-05 Nokia Corporation User-identifier translator and linking apparatus for XML-based services and corresponding method
US7356616B2 (en) * 2002-11-06 2008-04-08 Microsoft Corporation Maintaining structured time data for electronic messages
US7418485B2 (en) * 2003-04-24 2008-08-26 Nokia Corporation System and method for addressing networked terminals via pseudonym translation

Also Published As

Publication number Publication date
CN1645841B (zh) 2010-06-16
DE602005007073D1 (de) 2008-07-10
JP5042454B2 (ja) 2012-10-03
US20050198390A1 (en) 2005-09-08
JP2005222533A (ja) 2005-08-18
CN1645841A (zh) 2005-07-27
ATE397344T1 (de) 2008-06-15
US7565451B2 (en) 2009-07-21
EP1557990B1 (en) 2008-05-28
KR101143222B1 (ko) 2012-05-18
EP1557990A1 (en) 2005-07-27

Similar Documents

Publication Publication Date Title
KR101143222B1 (ko) 인터-포지션된 메시지 변경을 사용하는, 코드에 대한 수신메시지의 적응성 디스패치
CN107133052B (zh) 流程创建的方法及装置
US9361648B2 (en) Rule authoring for events in a grid environment
US7877091B2 (en) Method and system for executing a container managed application on a processing device
IL169411A (en) System and method for preference application installation and execution
EP1581854A2 (en) Personalized folders
KR20060114625A (ko) 애플리케이션 환경설정 클래스들을 확장하기 위한 시스템및 방법
CN110888972A (zh) 一种基于Spark Streaming的敏感内容识别方法及装置
CN111831432B (zh) Io请求的调度方法、装置、存储介质及电子设备
CN113127050A (zh) 一种应用资源打包过程监控方法、装置、设备和介质
EP1557756B1 (en) Deterministic rule-based dispatch of objects to code for processing objects
CN114356516A (zh) 资源调度方法及相关装置、设备和存储介质
US20080052671A1 (en) System, method and program product for providing content based designations for programming objects
CN112860235A (zh) 处理文本的方法、装置、设备和存储介质
CN111400058A (zh) 调用消息的方法、装置、计算机设备及存储介质
CN111831437A (zh) 设备管理方法、装置、存储介质及电子设备
US6591259B1 (en) Method and system for automating dependent entity actions in response to information change
KR102407940B1 (ko) Rpc에 기반하여 외부 장치의 함수 또는 프로시저를 호출하는 전자 장치가 rpc 서비스를 사용하기 위한 인터페이스를 생성하는 방법, 그 컴퓨터 프로그램 및 그 전자 장치
CN113127051B (zh) 一种应用资源打包过程监控方法、装置、设备和介质
US20230110520A1 (en) Ui service package generation and registration method and apparatus, and ui service loading method and apparatus
CN114510334A (zh) 类实例的调用方法、装置、电子设备及自动驾驶车辆
WO2024081073A1 (en) Visualization of application capabilities
CN113392014A (zh) 测试用例生成方法、装置、电子设备和介质
CN114528220A (zh) 测试案例的生成方法、装置、计算机设备及存储介质
CN112015394A (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
LAPS Lapse due to unpaid annual fee