KR20010111257A - 라우팅 - Google Patents

라우팅 Download PDF

Info

Publication number
KR20010111257A
KR20010111257A KR1020017009955A KR20017009955A KR20010111257A KR 20010111257 A KR20010111257 A KR 20010111257A KR 1020017009955 A KR1020017009955 A KR 1020017009955A KR 20017009955 A KR20017009955 A KR 20017009955A KR 20010111257 A KR20010111257 A KR 20010111257A
Authority
KR
South Korea
Prior art keywords
message
director
client
handset
server
Prior art date
Application number
KR1020017009955A
Other languages
English (en)
Other versions
KR100705439B1 (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 KR20010111257A publication Critical patent/KR20010111257A/ko
Application granted granted Critical
Publication of KR100705439B1 publication Critical patent/KR100705439B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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/544Buffers; Shared memory; Pipes
    • 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/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • 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
    • 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/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • 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/1036Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name 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/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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/02Details of telephonic subscriber devices including a Bluetooth interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Medicines Containing Material From Animals Or Micro-Organisms (AREA)
  • Peptides Or Proteins (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)

Abstract

클라이언트로부터의 메시지를 리소스를 액세스하는 복수의 서버들 중 선택된 서버로 라우팅하고 상기 선택된 서버로부터의 상기 리소스의 응답을 상기 클라이언트에 라우팅하는 디렉터. 각 메시지는 그 기점의 표시와, 그 목적지의 표시 및 메시지 본문을 구비한다. 상기 메시지 본문은, 상기 클라이언트로부터의 제1 입력 메시지를 수신하기 위한 제1 입력 수단과, 제1 출력 메시지를 상기 선택된 서버에 제공하기 위한 제1 출력 수단과, 상기 클라이언트를 식별하는 표시인, 상기 제1 출력 메시지에 응답하여 상기 선택된 서버로부터 제2 입력 메시지를 수신하기 위한 제2 입력 수단 및 그 소스를 상기 라우팅 수단으로서 나타내고 그 목적지를 상기 하나의 클라이언트로서 나타내는, 상기 제2 입력 메시지에 응답하여 제2 출력 메시지를 상기 하나의 클라이언트에 제공하기 위한 제2 출력 수단을 포함한다.

Description

라우팅{Routing}
예를 들어 무선 핸드셋과 같은 전자 장치의 펑션들(functions)은 클라이언트들과 서버들을 정의함으로써 생성될 수 있다. 상기 서버들은 서비스 또는 리소스(resource)의 일련의 서비스들을 제공한다. 상기 클라이언트들은 적합한 서버에 요구 메시지들을 송신함으로써 상기 서비스들에 액세스한다. 그다음 상기 액세스의 결과는 응답 메시지로서 상기 클라이언트에 반환된다.
그러나, 상기 장치는 유사한 서비스들을 제공하는 복수의 유사한 리소스들을 구비할지도 모른다. 상기 중복된 서비스들은 어떤 한 때에라도 적합한 복수의 리소스들 중 단지 하나와 상호 독립적일지도 모른다. 상기 중복된 리소스들 각각은 관련된 서버를 가질 것이다.
그러므로, 서비스를 위한 요구 메시지를 기점이 되는 클라이언트로부터 복수의 중복 서버들 중 적합한 서버로 라우팅하고 상기 적합한 서버로부터의 응답 메시지를 상기 기점이 되는 클라이언트로 라우팅하기 위하여 라우팅 수단이 필요하다. 이러한 라우팅 수단은 알려져 있다. 그러나, 상기 라우팅 수단은 복잡하고 메시지 식별자를 상기 기점이 되는 클라이언트와 연관시키기 위한 메모리들을 구비한다. 상기 식별자는 상기 메시지내에서 상기 적합한 리소스로 송신되고 상기 응답 메시지에서 반환된다. 그다음 상기 메모리는 상기 응답이 유도되어야 하는 상기 기점이되는 클라이언트를 식별하기 위하여 액세스된다.
기점이 되는 클라이언트로부터의 서비스를 위한 요구 메시지를 복수의 중복 서버들 중 적합한 서버로 라우팅하고 상기 적합한 서버로부터의 응답 메시지를 상기 기점이 되는 클라이언트로 라우팅할 수 있는, 그러나 수신될 때 상기 응답 메시지가 정확하게 라우팅될 수 있도록 수신된 각 요구 메시지를 위한 정보를 저장할 필요가 없는 라우팅 수단을 제공하는 것이 바람직할 것이다.
본 발명은 클라이언트로부터의 메시지들을 복수의 서버들 중 하나의 서버로 라우팅하는 것과 상기 서버로부터 되돌아오는 응답메시지를 상기 클라이언트로 라우팅하는 것에 관한 것이다. 본 발명은 특히 상기 라우팅을 달성하기 위한 메시지들의 적합화에 관한 것이다.
도 1 및 도 2는 무선 핸드셋과 부속 장치를 도해한 것이다.
도 3은 핸드셋과 부속 장치 사이의 전화기 특징들의 부분을 도해한 것이다.
도 4는 연결층을 도해한 것이다.
도 5a 및 도 5b는 기호 라우팅 표들을 도해한 것이다.
도 6은 핸드셋과 부속 장치내의 태스크들을 개략적으로 도해한 것이다.
도 7은 애플리케이션 객체와 서버 객체를 도해한 것이다.
도 8은 인터-태스크 메시지 배달을 도해한 것이다.
도 9는 프록시 객체를 도해한 것이다.
도 10a 및 도 10b는 인터-태스크 메시지 배달을 도해한 것이다.
도 11a는 디렉터에 의한 메시지들의 라우팅을 도해한 것이다.
도 11b는 메시지들의 재포맷을 도해한 것이다.
도 12는 디렉터와 유도된 서버 객체들을 도해한 것이다.
도 13a 및 도 13b는 단일 태스크내의 메시지 라우팅을 도해한 것이다.
본 발명의 일 태양에 의하면, 클라이언트로부터의 메시지를 리소스에 액세스하는 복수의 서버들 중 선택된 서버로 라우팅하고 상기 선택된 서버로부터의 상기 리소스의 응답을 상기 클라이언트에 라우팅하며, 각 메시지는 그 기점의 표시와, 그 목적지의 표시 및 메시지 본문을 구비하는, 디렉터(director)에 있어서, 그 소스를 상기 클라이언트로서 나타내고 그 목적지를 라우팅 수단으로서 나타내는, 상기 클라이언트로부터 제1 입력 메시지를 수신하기 위한 제1 입력 수단; 그 소스를 상기 클라이언트로서 나타내고 그 목적지를 상기 선택된 서버로서 나타내는, 제1 출력 메시지를 상기 선택된 서버에 제공하기 위한 제1 출력 수단; 그 소스를 상기선택된 서버로서 나타내고 그 목적지를 상기 라우팅 수단으로서 나타내며, 부가물로서 상기 클라이언트를 식별하는 표시를 구비하는, 상기 제1 출력 메시지에 응답하여 상기 선택된 서버로부터 제2 입력 메시지를 수신하기 위한 제2 입력 수단; 및 그 소스를 상기 라우팅 수단으로서 나타내고 그 목적지를 상기 하나의 클라이언트로서 나타내는, 상기 제2 입력 메시지에 응답하여 제2 출력 메시지를 상기 하나의 클라이언트에 제공하기 위한 제2 출력 수단을 포함하며, 출력 메시지들로서 입력 메시지들을 라우팅하도록 정해지고, 상기 제1 입력 메시지의 목적지의 표시를 적합화함으로써 상기 제1 출력 메시지를 생성하며, 상기 제2 입력 메시지의 목적지의 표시와 소스의 표시를 적합화함으로써 그리고 상기 제2 입력 메시지로부터 상기 부가물을 제거함으로써 상기 제2 출력 메시지를 생성하는 디렉터를 제공한다.
상기 디렉터가, 상기 클라이언트와 서버 사이의 중재자와 대비하여 상기 클라이언트에 의해 요구된 상기 서비스를 제공하는 상기 리소스의 서버였던 것 처럼 상기 클라이언트와 인터페이스하는 것은 이해되어야 한다. 더욱이, 상기 디렉터는 상기 클라이언트를 메시지 또는 서버와 연관시키는, 라우팅 표와 같은 정보를 저장하지 않는다.
상기 디렉터가 메시지들을 재포맷함으로써, 특히 기점과 목적지의 표시들을 재포맷함으로써 그리고 필요하다면 상기 부가물을 제거하여 상기 메시지를 편집함으로써 수신된 메시지를 라우팅하는 것이 바람직하다.
상기 디렉터는 상기 제1 입력 메시지들의 포맷과 상이한 그리고 또한 상기 출력 메시지들의 포맷과 상이한 소정의 포맷을 구비한 제2 입력 메시지들을 적합화하도록 정해질지도 모른다. 상기 제2 입력 메시지를 위한 포맷은 그것에 첨부된 상기 부가물을 구비함으로써 달라질지도 모른다.
상기 클라이언트가 요구된 서비스를 식별하는 기호 리소스 주소를 사용하는 것이 바람직하다. 상기 기호 주소는 상기 서비스를 제공하는 상기 서버들에 대한 액세스의 컨트롤러로서 상기 디렉터를 식별한다.
무선 핸드셋은 클라이언트들과 서버들 사이에서 통신함으로써 상기 핸드셋의 펑션들을 수행하기 위하여, 상기 디렉터 및 메모리를 포함하는 프로세서 수단을 포함할지도 모른다. 상기 클라이언트, 서버 및 디렉터는 각각 실체이고 특히 동일한 기본 클래스(base class)의 특화물들(specialisations)이 되는 객체들이다. 실체들 중 몇몇은 상기 핸드셋내에 존재할지도 모르고, 다른 실체들은 부속 장치내에 존재할지도 모른다.
상기 무선 핸드셋은 또한, 상기 부속 장치에 연결하고 상기 핸드셋의 펑션들을 증대시키기 위하여 상기 부속장치와 함께 통신하기 위한 상기 프로세서 수단에 연결된 인터페이스; 및 상기 프로세서 수단에 연결되고, 상기 핸드셋내에서의 실체와의 트랜잭션(transaction)을 위한 상기 핸드셋에서의 프록시 실체의 생성과, 상기 부속 장치내에서의 실체와의 트랜잭션을 위한 상기 부속 장치에서의 프록시 실체의 생성 및 상기 인터페이스를 통한 상기 핸드셋과 부속 장치 간의 통신을 가능하게함으로써 상기 핸드셋내의 실체와 상기 부속 장치내의 실체 사이의 통신을 제공하도록 정해지는 라우팅 수단을 포함할지도 모른다. 상기 인터페이스는 무선 송수신기를 포함할지도 모른다.
상기 핸드셋내의 상기 라우팅 수단은 상기 핸드셋내의 각 실체를 태스크와 연관시키도록 정해질지도 모르고 하나 이상의 인트라-태스크(intra-task) 트랜잭션들, 그리고 필요하다면 인터-태스크(inter-task) 통신을 사용함으로써 기점 태스크에서의 기점이 되는 실체와 목적지 태스크에서의 목적지 실체 사이의 통신을 제공하도록 정해질지도 모르며, 각 트랜잭션은 동일한 태스크와 관련된 2개의 실체들을 포함하고, 상기 라우팅 수단은, 상기 기점 및 목적지 태스크들이 동일한 경우, 상기 기점이 되는 실체와 상기 목적지 실체의 트랜잭션을 가능하게 함으로써 그리고, 상기 기점 및 목적지 태스크들이 다른 경우, 상기 기점이 되는 실체와의 트랜잭션을 위한 상기 기점 태스크에서의 프록시 실체의 생성과, 상기 목적지 실체와의 트랜잭션을 위한 상기 목적지 태스크에서의 프록시 실체의 생성 및 필요하다면 상기 인터페이스를 거쳐 상기 기점 및 목적지 태스크들 사이의 통신을 가능하게 함으로써 기점이 되는 실체와 목적지 실체 사이의 통신을 제공하도록 정해진다.
상기 클라이언트는 상기 서비스를 식별하는 기호 주소를 사용하여 서비스를 요구하도록 정해질지도 모른다. 그다음 상기 라우팅 수단은, 상기 서비스가 상기 핸드셋 또는 상기 기점 태스크내에 제공되는 경우 상기 기호 주소로부터 결정되도록 정해진다. 상기 서비스는 상기 디렉터에 의해 제공될지도 모르는데, 상기 디렉터는 상기 클라이언트에 대한 서버로서 동작한다.
본 발명의 더 나은 이해를 위하여 그리고 본 발명이 어떻게 수행될 수 있는지를 이해하기 위하여 이제 첨부된 도면들이 단지 예시로서 참조될 것이다.
도 1 및 도 2는 이후에 단말 또는 무선 핸드셋(2)으로서 지칭되는 손으로 휴대가능한 무선 통신 장치를 도해한 것이다. 상기 단말(2)은 손으로 휴대하기에 충분할 정도로 작고 재킷의 주머니에 맞는 크기인 것이 바람직하다. 상기 단말은 전파를 사용하여 다른 단말들 또는 장치들과 통신한다.
상기 단말(2)은 입력을 위해 키들(24a)을 구비한 키패드(24)와 마이크로폰(20)과 출력을 위해 스피커(18) 및 디스플레이(14)를 포함하는 사용자인터페이스를 구비한다. 키패드(24)와 디스플레이(14)의 크기는 상기 단말(2)의 크기에 의해 필연적으로 제한된다. 상기 단말(2)은 컨트롤러(4)에 의해 제어되고 배터리(26)에 의해 전력을 공급받는다. 상기 컨트롤러(4)는 상기 마이크로폰(20)과 상기 키패드(24)로부터 신호들을 수신하고 신호들을 상기 디스플레이(14)와 상기 스피커(18)에 제공한다. 상기 단말(2)은 인터페이스(34)와 송수신기(3)를 구비하는데, 상기 인터페이스(34)와 송수신기(3)는 상기 단말(2)의 외부와 통신하는데 사용된다. 상기 인터페이스(34)는 버스(32)를 통해 상기 컨트롤러에 접속된다. 상기 인터페이스는 무선 또는 적외선 통신용 송수신기 및/또는 직접 전기 접속용 포트를 구비할지도 모른다. 상기 송수신기(3)는 안테나(28)와 컨트롤러(4)에 접속된 무선 주파 송수신기이다. 그것은 무선 주파 인터페이스(30)를 통해 통신하도록 정해진다. 상기 송수신기(3)는 상기 컨트롤러(4)로부터 수신된 신호들을 변조하기 위한 변조기(8)와 상기 변조된 신호들을 상기 안테나(28)에 제공하기 위한 송신기(6)를 포함한다. 또한, 상기 송수신기(3)는 상기 안테나(28)에서 수신된 신호들을 처리하고 상기 컨트롤러(4)에 복조된 신호들을 제공하는 복조기(10)에 상기 처리된 신호들을 제공하는 수신기(12)를 포함한다. 상기 단말(2)은 버스를 통해 상기 컨트롤러(4)에 접속된 램(RAM) 메모리(16)를 구비한다. 또한 상기 단말은 상기 단말(2)이 이동전화로서 기능하도록 허용하는 정보를 제공하는 상기 컨트롤러(4)에 접속된 심(SIM) 메모리(22)를 구비한다. 이동전화로서 기능할 때, 상기 단말(2)은 상기 안테나(28)를 통해 무선 주파 신호들을 송신하고 수신한다.
상기 단말(2)은 상기 인터페이스(34)를 통해 부속 장치(40)의인터페이스(42)에 접속된다. 상기 인터페이스(34)와 인터페이스(42) 간의 접속(36)은 많은 방법들로 달성될지도 모른다. 예를들어 전파들이 사용될 수 있다. 한가지 적합한 무선 통신 프로토콜은 "무선 애플리케이션 프로토콜(wireless applications protocol, WAP) 아키텍쳐 버젼 1998년 4월 30일"에 설명된 무선 애플리케이션 프로토콜(WAP)이다. 이것은 인터페이스(34)가 WAP 스택과 무선 송수신기를 포함할 것을 요구하고, 마찬가지로 인터페이스(42)가 WAP 스택과 무선 송수신기를 포함할 것을 요구한다. 다른 적합한 프로토콜은, 그 내용이 여기에 참조로써 통합되고, 인터페이스(34)와 인터페이스(42)가 저전력 RF 송수신기를 포함할 것을 요구하는, 공동계류 중인 영국 특허 출원 번호 9820859.8에 설명된 블루투스(Bluetooth) 프로토콜이다.
비록 단일 부속 장치(40)가 도 1 및 도 2에 도시될지라도, 상기 단말(2)은 복수의 부속 장치들과 동시에 접속할 수 있다. 비록 상기 송수신기(4)/안테나(28) 및 상기 인터페이스(34)가 개별적으로 도시될지라도, 그들은 통합될지도 모른다.
상기 단말(2)의 기본적인 펑션들은 상기 컨트롤러(4)와 상기 메모리(16)의 결합에 의해 제공된다. 상기 부속 장치(40)는 상기 버스(32)와 인터페이스(34)를 통해 상기 컨트롤러(4)에 의해 액세스될지도 모르고 따라서 상기 단말(2)의 기능성을 증대시킨다.
상기 단말(2)은 무선 통신 능력(WAP, 블루투스, GSM, AMPS 또는 다른 통신 프로토콜들을 포함하는지 어떤지)과 관련된 시스템 펑션들과 상기 단말이 데이터베이스, 퍼스널 오거나이저(personal organiser), 워드 프로세서 또는 웹 브라우저의특징들을 제공하도록 허용하는 다른 펑션들을 포함하는 많은 기본적인 펑션들을 구비한다. 상기 기본 펑션들은 상기 단말의 특징들을 제공하기 위하여 코히어런트(coherent)한 방법으로 함께 통합된다.
상기 전화기의 기본 펑션들은 리소스들로서 논리 그룹들로 조직된다. 각 리소스는 "서버"를 통해 액세스된다. 상기 서버는 그것을 통해 상기 리소스가 액세스되는 인터페이스를 제공하기 위하여 상기 리소스를 캡슐화한다. "애플리케이션들"은 상기 서버들을 통해 리소스들에 액세스하고 상기 단말의 특징들을 제공하기 위하여 그들을 로직과 함께 링크한다. 상기 애플리케이션들과 리소스들은 연결층(connectivity layer, CL)을 통해 접속된다.
도 3은 전화기로서 동작하는 단말(2)의 펑션들의 부분을 도해한 것이다. 상기 전화기는 전화 호출들(telephone calls)을 형성하고 수신하기 위한 전화기의 펑션들을 캡슐화하는 호출 서버(50), 단문 메시지 서비스(short message service, SMS) 메시지들을 형성하고 수신하는 것에 관한 상기 전화기의 펑션들을 캡슐화하는 SMS 서버(52) 및 이름들과 전화번호들과 관련된 데이터베이스를 캡슐화하는 전화번호부 서버 #2(54)를 예시적으로 구비한다. 상기 전화기는 상기 전화번호부 서버 #2(54)에 의해 제공되는 상기 전화번호부 데이터베이스내의 이름을 탐색하는데 사용될 수 있는 이름 탐색 애플리케이션(56)과 상기 호출 서버(50)를 통해 호출(call)을 형성하는데 사용될 수 있는 스피드 다이얼 애플리케이션(speed dial application, 58)을 구비한다. 상기 부속 장치(40)는 전화번호들과 이름들과 관련된 데이터베이스를 캡슐화하는 전화번호부 서버 #1(62)과 텍스트 메시지들을 생성하고 편집하기 위한 텍스트 메시지 애플리케이션(64)을 구비한다. 상기 전화기내의 상기 서버들(50, 52, 54)과 애플리케이션들(56, 58)은 연결층(70)을 통해 서로 접속되고 상기 부속 장치(40)내의 상기 서버(62)와 애플리케이션(64)에 접속된다. 상기 인터페이스들(34, 42)과 상기 접속(36)을 통한 상기 연결층(70)은 상기 단말(2)과 상기 부속 장치(40) 간의 통신을 제공한다. 상기 부속 장치(40)가 상기 연결층을 통해 상기 전화기에 접속될 때 상기 텍스트 메시지 애플리케이션(64)은 상기 전화기를 통해 이용될지도 모르고 상기 SMS 서버(52)에 액세스하는데 사용될지도 모르며, 더욱이, 이름 탐색 애플리케이션(56)은 상기 부속 장치(40)내의 상기 전화번호부 서버 #1(62)을 통해 상기 부속 장치내의 상기 전화번호부에 액세스할지도 모른다.
상기 단말(2)내의 상기 컨트롤러(4)는 전형적으로 코드에 의해 제어되는 마이크로프로세서이다. 단말내에 상기 컨트롤러에 의해 병렬적으로 수행될 필요가 있는 많은 동시에 작용하는 펑션들이 존재할지도 모른다. 그러나, 상기 컨트롤러는 단지 한꺼번에 하나의 코드를 수행할지도 모르고 상기 펑션들에 태스크(task)를 부과해야 할 것이다. 상기 문맥에서 태스크를 부과한다는 것(태스킹, tasking)은 상기 컨트롤러가 그것의 처리 리소스들을 주기적으로 할당한다는 것을 의미한다. 즉, 그것은 순서가 정해진 일련의 태스크들에서의 각 태스크에 짧은 시간을 순차적으로 소비하고 그다음 상기 순서를 반복한다. 그러므로, 태스크들은 시분할 다중되지만 논리적으로 구별된다. 따라서, 몇몇 순서들의 추이에 걸쳐 펑션을 수행하는데 필요한 태스크들이 수행된다. 태스크들을 사용하는 것은 상기 컨트롤러 상의 처리 로드가 균형잡히도록 허용한다.
애플리케이션은 상기 컨트롤러(4)상에서 실행되는 하나의 코드이다. 상기 애플리케이션은 상기 메모리에서 객체로서 정의된다. 상기 메모리(16)는 상기 단말(2)에서 사용된다. 상기 객체는 상기 객체가 상기 메모리에서 어드레싱되도록 허용하는 객체 주소를 구비하고 연결층(CL) 기본 클래스의 특화물이다. 상기 애플리케이션은 특징들을 만들기 위하여 하나 이상의 서버들 중 상기 서비스들을 사용하고 상기 사용자에게 상기 특징들을 제공할 수 있다.
서버는 표준 인터페이스를 가진 리소스를 캡슐화한다. 그것은 메모리에 저장된 객체이다. 상기 메모리(16)는 상기 단말(2)에서 사용된다. 상기 객체는 상기 객체가 상기 메모리에서 어드레싱되도록 허용하는 객체 주소를 구비하고 연결층(CL) 기본 클래스의 특화물이다. 각 서버는 리소스 또는 다른 서버를 제어함으로써 서비스를 제공한다. 그것은 상기 연결층(70)만을 통해 액세스될 수 있는 리소스에 표준 인터페이스를 제공한다.
애플리케이션들은 요구된 서비스를 나타내지만 상기 서버의 상기 객체 주소가 아닌 기호 리소스 주소를 사용하여 서버에 액세스한다.
상기 연결층(70)은 도 4에 더 상세히 도해된다. 상기 연결층은 통신 관리자들(communication managers, 이하 CM이라 함, 80)과 메시지 프로토콜(82)의 조합이다. 단일 통신 관리자는 각 태스크를 제어한다. 상기 CM(80)은 상기 메시지의 소스 객체와 상기 메시지의 목적지 객체를 포함하는 트랜잭션들을 사용하여 태스크내의 객체들 간의 메시지들(인트라-태스크 메시지들)을 전송한다. 상기 메시지프로토콜(82)은 태스크들 간의 메시지들(인터-태스크 메시지들)의 라우팅(routing)을 제어한다. 상기 인터-태스크 통신은 WAP, 블루투스 또는 다른 장치 또는 다른 태스크에 대한 버스와 같은 다양한 통신 중 어떤 하나를 취할지도 모른다.
각 통신 관리자는 기호 라우팅 표를 구비한다. 상기 기호 라우팅 표는, 상기 통신 관리자(80)가 그것의 태스크, 로컬 태스크를 정의하기 위하여 상호 연결하는, 각 객체(각 애플리케이션 및 서버)를 위한 엔트리(entry)를 포함한다. 애플리케이션들은 기호 주소들을 구비하지 않으며 각 애플리케이션 객체 주소는 디폴트 기호 주소와 관련된다. 상기 통신 관리자(80)에 접속된 서버들 각각은 캡슐화하는 리소스에 의해 제공되는 서비스를 식별하는 상기 기호 주소와 관련된 객체 주소를 구비한다. 모든 애플리케이션들과 서버들이 동일한 태스크내에 있다고 가정하면, 도 3에서 상기 전화기(2)를 위한 기호 라우팅 표의 예가 도 5a에 도해된다. 명확성을 위해서 도 3에서 사용된 참조 번호들은 예시적으로 객체 주소들로서 사용된다.
상기 통신 관리자(80)는, 상기 기호 주소와 관련된 서버가 상기 로컬 태스크내에 있는지 그리고 상기 관련된 객체 주소를 상기 애플리케이션에 제공하는지를, 애플리케이션에 의해 제공되는 기호 주소로부터 식별하기 위하여 상기 기호 라우팅 표를 사용할 수 있다. 애플리케이션에 의해 요구된 상기 서비스가 상기 로컬 태스크내에 있지 않다면, 상기 통신 관리자(80)는 제어를 상기 메시지 프로토콜(82)로 넘긴다. 상기 메시지 프로토콜(82)은 상기 원래의 통신 관리자로부터의 요구를 적합한 서버에 상호 연결된 상기 통신 관리자로 송신한다. 상기 특별-태스크(extra-task) 메시지들을 송신하는데 어떤 적합한 프로토콜이 사용될지도 모른다. 태스크들 간의 통신은 비동기식이다.
상기 통신 관리자는 인트라-태스크 메시지들을 큐잉(queuing)한다. 그것은 그 로컬 태스크 외부로 갈 필요가 있는 것들과 그 로컬 태스크의 외부로부터 수신된 것들과 같은 특별-태스크 메시지들을 처리한다. 상기 통신 관리자는 한번에 하나의 메시지를 처리하고 수신된 특별-태스크 메시지들을 서비스하기 전에 상기 통신 관리자가 인트라-태스크 메시지들을 정리하는 것이 선호된다.
상기 연결층(70)은 리소스의 물리적 위치를 표준 인터페이스 뒤에 숨긴다. 상기 CL은 애플리케이션들이 적합한 서버와 요구 메시지를 송신함으로써 캡슐화하는 리소스에 액세스하기 위하여 기호 어드레싱을 사용하도록 허용하는 간접 메시지 라우팅 메카니즘을 제공한다. 상기 CL은 응답 메시지를 송신함으로써 상기 서버가 상기 액세스의 결과들을 적합한 애플리케이션에 반환하도록 허용한다. 애플리케이션들은 상기 리소스 또는 상기 리소스를 제어하는 서버가 구현되는 곳을 아는 것 없이 또는 관심을 가지지 않고 리소스들에 액세스할 수 있다. 그러므로 상기 리소스는 상기 단말(2) 또는 상기 부속 장치(40)내에 존재할지도 모른다. 상기 애플리케이션은 리소스의 기호 주소와 그것을 액세스하고 사용할 수 있도록 하는 연결층과 인터페이스하기 위한 프로토콜 만을 알 필요가 있다.
도 6은 도 1 및 도 2와 관련하여 전술된 상기 단말(2), 연결(36) 및 상기 부속 장치(40)를 도해한 것이다. 상기 도면은 상기 부속 장치의 태스크들()과 상기 단말의 태스크들()이 어떻게 상기 연결층(70)을 통해 상호 연결되는지를 개략적으로 도해한 것이다. 논리적으로, 태스크는 통신 관리자에 의해 링크된 애플리케이션들과 서버들을 포함하는 것으로 간주될지도 모른다. 상기 태스크내에서 그자체인 상기 CM은 상기 기호 라우팅 표를 사용하여, 그것이 제어하는 상기 태스크내의 객체들(즉 애플리케이션들과 서버들)을 정의한다. 상기 CM과 태스크내의 객체들은 상기 메모리의 "로컬" 부분들에 저장된다. 포인터들이 상기 동일한 태스크내의 객체들을 지시하기 위하여 상기 로컬 메모리내에서 사용될 수 있다. 태스크들 사이에서 충돌을 일으킬지 모르기 때문에 포인터들은 하나의 태스크로부터 다른 태스크까지를 지시하는데 사용되지 않아야 하며 "포인터"라는 용어의 사용은 이러한 관점에서 이해되어야 한다.
상기 메시지 프로토콜(82)은 상기 통신 관리자들(80)의 각각을 상호 연결한다. 도 6은 상이한 태스크들()의 독립성의 예시이다. 상기 태스크 경계들은 점선들로 도해되고 상기 태스크 경계들은 중복되지 않는다. 각 태스크()는 상기 메시지 프로토콜(82)과 양방향 통신하는 관련된 통신 관리자()를 구비한다. 또한 상기 태스크는 많은 객체들(100)을 포함한다. 상기 객체들은 애플리케이션들(102) 또는 서버들(104)일지도 모른다. 상기 서버는 리소스(106)를 캡슐화한다.
태스크내의 객체는 다른 객체와 직접 통신할 수 없는데, 그것은 단지 태스크의 통신 관리자(80)와 통신할 수 있다. 상기 통신 관리자(80)는 그들이 필요로하는 상기 서비스들/리소스들로부터 상기 애플리케이션들을 효과적으로 분리한다. 상기 애플리케이션은 단지 상기 필요한 리소스에 대한 액세스를 용이하게 하는 상기 통신 관리자(80)로부터 상기 바라던 서비스를 요청하는 것이 필요하다. 상기 리소스는, 상기 애플리케이션과 같은 동일한 태스크내에 존재할지도 모르거나 동일한 장치내의 다른 태스크 또는 다른 장치내의 다른 태스크에 존재할지도 모르지만 상기 메시지 프로토콜(82)을 통해 원래의 태스크에 링크될지도 모른다. 상기 목적지 서버는 그 자신의 태스크내의 상기 통신 관리자(80)로부터 요구를 수신하고 상기 통신 관리자(80)에 응답하며, 상기 통신 관리자(80)는 상기 응답이 정확한 애플리케이션에 다시 라우팅된다는 것을 보장한다.
도 7은 상기 통신 관리자(80)에서의 객체 지향 캡슐화를 도해한 것이다. 이후에 연결층(CL) 클래스로서 지칭되는, 기본 또는 추상 클래스(110)는 3개의 부분들을 구비한다: 이름(112), 속성들(114) 및 펑션들(116). 상기 추상 CL 클래스는 2개의 특화물들(120, 130)을 구비한다. 상기 특화물(120)은 애플리케이션 객체(102)를 나타낸다. 상기 특화물(120)은 이름(122), 속성들(124, 비어있음) 및 펑션들(126)을 구비한다. 상기 특화물(130)은 서버 객체를 나타내며 이름(132), 속성(134, 비어있음) 및 펑션들(136)을 구비한다. 상기 특화물들(120, 130)은 단일 펑션(126), RECVMESSAGE 펑션을 구비한다. 상기 특화물들 자체는 아무런 속성들을 가지지 않는다.
추상 클래스의 특화물은 상기 속성들(114)과 상기 추상 CL 클래스(110)의 펑션들(116)을 사용한다. 상기 추상 CL 클래스(110)는 속성들로서 객체 주소와 기호 리소스 주소를 포함한다. 상기 추상 CL 클래스(110)의 펑션들은 SENDREQUEST 펑션과 SENDRESPONSE 펑션을 포함한다. 그러므로, 상기 추상 CL 클래스(110)의 모든 객체들은 동일한 속성들(114) 및 펑션들(118)을 공유한다. 상기 애플리케이션 객체(102)는 부가적으로 RECVMESSAGE 펑션(126)을 구비한다. 상기 서버 객체(104)는 부가적으로 RECVMESSAGE 펑션(136)을 구비한다. 객체는 동일한 태스크의 다른 객체내의(와 거래하는) 펑션만을 요청할 수 있다.
제1 객체(애플리케이션 또는 서버)는 제2 객체(서버)에 의해 캡슐화된 리소스로부터 서비스들을 요구할 수 있다. 이것은 다른 서버로 메시지를 송신하고 거기서부터 응답 메시지를 수신함으로써 달성된다. 동일한 태스크내의 제1 및 제2 객체들을 위하여, 상기 CM(80)에서의 트랜잭션들은 다음과 같다. 상기 CM(80)은 상기 제2 객체가 상기 로컬 태스크내에 있지 않은 경우 상이하게 동작한다.
인트라-태스크 통신의 프로세스가 도 8에 도해된다. 상기 통신 관리자(80)는 애플리케이션(102)과 응답(106)을 캡슐화하는 서버(104) 사이의 통신을 중재한다. 상기 애플리케이션 및 서버는 동일한 태스크(90)내에 존재한다. 상기 애플리케이션은 서비스에 액세스하기를 희망한다. 그것은 그것이 필요로하는 서비스와 상기 서비스의 기호 주소를 알고 있다. 그것은 상기 서비스를 제공하는 서버의 객체 주소를 알고 있지 않다. 상기 애플리케이션은 상기 기호 주소를 상기 통신 관리자(80)에 제공하고 응답으로서 적합한 서버에 대한 포인터(*SERV)를 수신한다. 상기 통신 관리자는 상기 펑션을 수행하기 위하여 그것의 기호 라우팅 표를 사용한다.
상기 애플리케이션은 객체 주소 APP를 구비하고 상기 애플리케이션에 대한 포인터는 *APP로 지칭된다. 상기 서버는 객체 주소 SERV를 구비하고 상기 서버에 대한 포인터는 *SERV로 지칭된다. 상기 애플리케이션은 인수들 *APP, *SERV 및*MSG를 가진 상기 펑션 SENDREQUEST를 호출함으로써 상기 서버쪽으로 메시지 MSG를 송신하는데, *MSG는 상기 메시지 MSG에 대한 포인터이다. 상기 펑션은, 기점이 되는 제1 객체에 대한 포인터(즉, 상기 제1 객체의 주소), 상기 제2 목적지에 대한 포인터(즉, 상기 제2 객체의 주소) 및 상기 요구되는 서비스를 정의하는 상기 메시지 본문에 대한 포인터를 그것의 인수들로서 취한다. 상기 통신 관리자는 상기 메시지를 큐잉하고 그다음 상기 서버에서의 상기 펑션 RECVMESSAGE을 호출함으로써 상기 서버쪽으로 전방으로 송신한다. 상기 RECVMESSAGE 펑션은 그것의 인수들로서 *APP, *SERV 및 *MSG를 구비한다. 상기 RECVMESSAGE 펑션은, 기점이 되는 제1 객체에 대한 포인터(즉, 상기 제1 객체의 주소), 상기 제2 목적지에 대한 포인터(즉, 상기 제2 객체의 주소) 및 상기 메시지 본문에 대한 포인터를 그것의 인수들로서 취한다. 상기 서버는 상기 메시지를 수신하고 상기 리소스(106)에 액세스하는 상기 메시지를 처리한다. 그다음 상기 서버는 상기 애플리케이션쪽으로 응답 메시지(RMSG)를 송신한다. 이것은 상기 애플리케이션 객체(102)에서의 상기 펑션 SENDRESPONSE을 호출함으로써 달성된다. 상기 펑션은 인수들로서 *SERV, *APP 및 상기 응답 메시지 RMSG에 대한 포인터인 *RMSG를 구비한다. 상기 통신 관리자(80)는 상기 메시지를 그것의 내부 큐에 위치시킨다. 그다음 상기 응답 메시지 RMSG는 상기 애플리케이션 객체에서의 상기 펑션 RECVMESSAGE를 호출함으로써 상기 애플리케이션으로 송신된다. 상기 RECVMESSAGE 펑션은 그것의 인수들로서 *SERV, *APP 및 *RMSG를 구비한다. 따라서, 상기 애플리케이션은 상기 응답 메시지를 수신한다.
그러므로, 제1 객체가 메시지들을 송신함으로써 상기 통신 관리자(80)를 통해 제2 객체(62)와 통신한다는 것은 이해될 것이다. 상기 메시지들은 하나 이상의 트랜잭션들을 포함하는 특별한 형태의 메시지들이다. 인트라-태스크 메시지들은 상기 메시지가 유도되는 객체내의(와 트랜잭트하는) 펑션을 호출하는 것을 상기 메시지가 일으키는 객체에 의해 개시된다. 상기 펑션은 상기 기점이 되는 객체에 대한 포인터, 상기 목적지 객체에 대한 포인터 및 상기 메시지의 본문에 대한 포인터를 포함한다. 상기 메시지, 상기 제1 객체 및 상기 제2 객체는 상기 CM(80)에 의해 단일 로컬 태스크에 할당된 로컬 메모리 영역내에 모두 존재한다. 이러한 방법으로, 태스크내의 메시지 배달은 다른 태스크들에서의 메시지 배달과 완전히 격리된다. 그러나, 액세스가 애플리케이션 또는 다른 서버에 의해 요구되는 서버가 동일한 로컬 태스크내에 존재하지 않을 때 문제가 발생된다. 상기 목적지 객체는 동일한 로컬 태스크내에 존재하지 않는다. 상기 문제는 상기 기점이 되는 객체로서 동일한 로컬 태스크내의 프록시 객체를 생성하고 상기 목적지 객체로서 동일한 로컬 태스크에서의 프록시 객체를 생성함으로써 다루어진다. 상기 기점이 되는 태스크에서의 상기 프록시 객체들은 그것이 상기 목적지 객체인 것처럼 상기 기점이 되는 객체쪽을 보고 상기 기점이 되는 객체와 트랜잭트(transact)한다. 상기 목적지 태스크에서의 상기 프록시 객체들은 그것이 상기 기점이 되는 객체인 것처럼 상기 목적지 객체쪽을 보고 상기 목적지 객체와 트랜잭트한다.
상기 프록시 객체들은 메시지들이 태스크들 간에 송신되는 상기 메카니즘을 캡슐화한다. 따라서, 제1 태스크에서의 제1 객체는 상기 제1 태스크에서의 프록시 객체와 거래함으로써 제2 태스크에서의 제2 객체에 메시지를 송신할 수 있다. 그후 상기 프록시 객체는 상기 메시지 프로토콜(82)을 통해 상기 제1 태스크로부터 상기 제2 태스크까지의 통신을 처리할 수 있다.
도 9는 상기 연결층(CL) 프록시를 나타내는 상기 특화물(140)을 포함하는 상기 통신 관리자(80)에서의 객체 지향 캡슐화를 도해한 것이다. 상기 특화물(140)은 프록시 객체(108)를 나타낸다. 상기 특화물(140)은 이름(142), 속성들(144, 비어있음) 및 펑션들(146)을 구비한다. 상기 특화물(140)은 2가지 펑션들을 구비한다; 상기 SEND REQUEST 펑션 및 상기 SEND RESPONSE 펑션. 상기 CL 프록시 객체에서의 상기 SEND REQUEST 펑션과 SEND RESPONSE 펑션을 호출하는 효과들은 상기 애플리케이션 또는 서버 객체들에서의 상기 SEND REQUEST 또는 SEND RESPONSE 펑션들을 호출할 때 야기되는 효과들과 상이하다. 상기 프록시 객체는 다른 태스크에서 실행하는 객체를 나타내고, 그것은 결코 메시지에 대한 마지막 목적지가 아니라 태스크들 간의 인터페이스이다.
인터-태스크 통신의 프로세스가 도 10a와 도 10b에 도해된다. 상기 기점이 되는 태스크의 통신 관리자(80)와, 상기 목적지 태스크의 통신 관리자(80) 및 상기 인터 링킹(inter linking) 메시지 프로토콜(82)을 포함하는 상기 연결층은 상기 기점이 되는 태스크에서의 애플리케이션(102)과 상기 목적지 태스크에서의 리소스(106)를 캡슐화하는 서버(104) 간의 통신을 중재한다. 상기 애플리케이션(102)은 서비스에 액세스하기를 희망한다. 앞서와 같이 인터-태스크 통신에 있어서, 상기 애플리케이션은 바라던 리소스의 기호 주소를 상기 기점이 되는 태스크의 통신 관리자(80)에 제공한다. 상기 통신 관리자(80)는, 상기 기호 주소가 다른 태스크에 제공된 서비스와 관련되기 때문에 그것의 라우팅 표내의 관련된 객체 주소를 발견할 수 없다. 그러므로, 그것은 바라던 서비스가 그것이 제어하는 태스크 바깥에 존재한다는 것을 알고 있다. 상기 통신 관리자는 프록시 서버를 생성하고 상기 프록시 서버를 지시하는 포인터 *P_SERV를 상기 애플리케이션(102)에 반환한다. 상기 기점이 되는 태스크에서의 통신 관리자(80)는 또한, 생성된 상기 프록시 서버의 객체 주소 P_SERV와 함께 수신된 기호 리소스 주소와 관련된 그것의 리소스 라우팅 표에서의 임시 엔트리를 생성한다. 상기 임시 엔트리는 프록시로서 플래그(flag)된다. 상기 프록시 서버에 대한 포인터를 수신할 때 상기 애플리케이션(102)은 상기 프록시 서버에서의 상기 SENDREQUEST 펑션을 호출한다. 상기 SENDREQUEST 펑션은, 상기 애플리케이션(102)에 대한 포인터 *APP와, 상기 프록시 서버를 지시하는 포인터 *P_SERV 및 송신하고 있는 메시지의 본문을 지시하는 포인터 *MSG를, 그것의 인수들로서 구비한다. 상기 통신 관리자(80)는 상기 연결층(70)에서의 상기 메시지 프로토콜(82)에 액세스함으로써 상기 프록시 서버에서의 SENDREQUEST의 호출에 응답한다. 상기 메시지 프로토콜(82)은 상기 기점이 되는 태스크로부터의 메시지를 상기 태스크 경계를 가로질러 상기 목적지 태스크까지 전송한다. 송신된 상기 특별-태스크 메시지는 상기 기점이 되는 애플리케이션(102)의 주소 APP와 상기 포인터 *P_SERV와 관련된 기호 리소스 주소 및 송신하고 있는 메시지의 주소를 포함한다.
상기 목적지 태스크에서의 상기 통신 관리자(80)는 상기 태스크 경계를 가로질러 송신된 상기 메시지를 수신한다. 그안에 포함된 상기 기호 리소스 주소로부터, 상기 통신 관리자는 요구되는 상기 서비스가 그것이 제어하는 태스크내에 존재한다는 것을 깨닫는다.
그러므로 상기 통신 관리자(80)는 주소 P_OBJ를 구비한 프록시 객체(109)를 생성한다. 상기 통신 관리자(80)는 상기 기호 리소스 주소와 관련된 상기 객체 주소 SERV를 획득하기 위하여 그것의 기호 라우팅 표에 액세스한다. 그다음 상기 통신 관리자(80)는 상기 태스크 경계를 가로질러 상기 메시지에서 수신된 상기 애플리케이션 주소 APP와 상기 생성된 프록시 객체(109) 간의 연관을 형성한다. 바람직하게는, 상기 연관은 상기 프록시 객체의 주소를 상기 주소 APP와 동일한 것으로 만든다. 그다음 상기 통신 관리자(80)는 상기 메시지 MSG를 포함하고 상기 포인터 *MSG에 의해 지시된 메모리의 부분을 그 자신의 태스크에 할당한다.
그다음 상기 통신 관리자(80)는 상기 서버(104)에서 상기 RECVMESSAGE 펑션을 호출한다. 상기 RECVMESSAGE 펑션은 상기 프록시 객체(109)를 지시하는 포인터 *P_OBJ, 상기 서버(104)를 지시하는 포인터 *SERV 및 이제 상기 목적지 태스크내의 상기 메시지 본문을 지시하는 포인터 *MSG를, 그것의 인수들로서 구비한다. 따라서 상기 RECVMESSAGE 펑션은 단지 상기 목적지 태스크내의 포인터들이다. 상기 트랜잭션은 상기 태스크 경계를 넘지 않는다. 상기 서버는 상기 MSG를 수신하고 상기 리소스(106)에 액세스하는 그것을 처리한다. 그다음 상기 서버는 상기 요구의 기점쪽으로 다시 응답 메시지(RMSG)를 송신한다. 상기 응답 메시지는 상기 프록시 객체(109)에서의 상기 펑션 SENDRESPONSE를 호출함으로써 송신된다. 상기 펑션은 인수들로서, *SERV, *P_OBJ 및 상기 응답 메시지의 본문에 대한 포인터인 *RMSG를구비한다. 상기 프록시 객체에서의 상기 펑션 SENDRESPONSE은 그것을 호출함으로써 송신된 메시지가 다른 태스크를 위해 의도된다는 것을 암시적으로 정의한다. 그다음 상기 통신 관리자(80)는 그것의 태스크로부터의 응답 메시지를 상기 메시지 프로토콜(82)을 거쳐 상기 태스크 경계를 가로질러 상기 기점 태스크까지 다시 송신한다. 상기 통신 관리자는 상기 서버(104)의 주소(SERV)를 상기 기호 리소스 주소로 대치하기 위하여 그것의 기호 라우팅 표를 사용하고, 상기 태스크 경계를 가로질러 상기 메시지에서 상기 기호 주소, 상기 애플리케이션 주소 APP 및 상기 응답 메시지(RMSG)의 주소를 송신하기 위하여 상기 통신 관리자가 이전에 생성했던 연관을 사용한다. 그다음 상기 통신 관리자(80)는 상기 프록시 객체(109)를 릴리스하고, 상기 프록시 객체 주소와 상기 기점이 되는 애플리케이션 주소 APP 간의 연관을 제거하며 상기 메시지 MSG를 보유했던 상기 메모리의 부분의 할당을 해제한다.
상기 기점 태스크(18)에서의 상기 통신 관리자는 상기 메시지 프로토콜(82)을 통해 상기 목적지 태스크로부터 특별-태스크 메시지를 수신한다. 상기 통신 관리자(80)는 상기 메시지 RMSG를 보유하는 상기 메모리(16)의 부분을 그것이 제어하는 태스크에 할당한다. 상기 통신 관리자는, 상기 애플리케이션(102)에서 상기 SENDRESPONSE 펑션을 호출하기 위하여 상기 목적지 태스크로부터의 수신된 메시지에 포함된 상기 기호 리소스 주소와 상기 프록시 서버(108)의 주소 사이에서 그것이 이전에 형성했던 연관을 사용한다. 상기 펑션은 그것의 인수들로서, 상기 프록시 서버를 지시하는 *P_SERV, 상기 애플리케이션(102)을 지시하는 *APP 및 이제 동일한 태스크의 부분인 상기 응답 메시지를 지시하는 *RMSG를 취한다. 상기 펑션SENDRESPONSE의 모든 인수들이 상기 기점 태스크내의 포인터들인 것은 이해될 것이다. 상기 트랜잭션은 상기 태스크 경계를 넘지 않는다. 따라서, 상기 애플리케이션(102)은 상기 응답 메시지(RMSG)를 수신한다. 그다음 상기 통신 관리자(80)는 상기 프록시 서버(108)를 릴리스하고, 상기 프록시 서버와 그것의 기호 라우팅 표로부터의 상기 기호 리소스 주소와의 연관을 제거하며, 상기 메시지 RMSG를 보유하는 상기 메모리(16)의 부분의 할당을 해제한다.
서버는 일련의 서비스를 어떤 애플리케이션에도 제공하고 상기 단말(2)의 내부 또는 외부에 존재할 수 있다. 상기 연결층은 애플리케이션들로부터의 요구들을 상기 적합한 서버로 유도한다. 어떤 리소스를 위한 디폴트 서버는 상기 연결층이 상기 리소스에 대한 모든 요구들을 유도하는 서버이다.
단말과 부속 장치의 결합, 또는 상기 단말 그자체는 2개 이상의 유사한 리소스들, 즉, 동일한 기호 리소스 주소에 의해 식별되는 동일한 서비스를 제공하는 리소스들이다. 상기 유사한 리소스들 각각은 서버를 구비한다. 이것은, 중복된 서버들이 존재할 것이라는 것을 의미한다. 예를 들어 중복된 전화번호부들, 즉 상기 단말(2)에 하나 그리고 상기 부속 장치에 다른 하나가 존재할지도 모른다. 양쪽 전화번호부들은 그들 자신의 서버들을 구비할 것이다. 다른 예로써, 다중-모드 전화기로서 동작하는 단말(2)은 호출을 형성하고 수신하기 위한 2가지 형태의 리소스들과 각 리소스를 위한 중복된 서버들을 구비할 것이다. 제1 중복 서버는 제1 셀룰러/무선 시스템에 액세스하고 제2 중복 서버는 제2 셀룰러/무선 시스템에 액세스한다. 상기 셀룰러 시스템은 GSM, AMPS, UMTS 등을 위한 것일지도 모른다. 상기 무선 시스템은 DECT일지도 모른다. 상기 전화기는 셀룰러/셀룰러 이중 모드들 또는 셀룰러/무선 이중 모드들을 구비할지도 모른다.
중복 서버들이 존재할 때 디렉터(driector)는 상위 레벨의 제어를 행해야 하고 상기 중복 서버들 사이에서 중재해야 한다. 상기 디렉터는 중복 서버들 중 어떤 서버가 어떤 때에 디폴트 서버가 되는지를 정의한다. 상기 디렉터는 상기 중복 서버들 중 하나일지도 모르고 완전히 다른 실체일지도 모른다.
상기 디렉터는 상기 요구를 정확한 리소스에 라우팅하고 상기 리소스로부터의 어떤 응답을 상기 요구가 행해진 상기 기점 애플리케이션으로 반환하는 라우터이다.
도 11a는 메시지가 어떻게 라우팅되는지를 도해한 것이다. 2개의 분리된 애플리케이션들 APP1(152)과 APP2(154)가 도해된다. 각각은 중복 서버들 SERV1(156)과 SERV2(158)의 리소스들에 액세스하도록 요구할 수 있다. 상기 요구 메시지(160)는 디렉터(150)에 대해 행해지는데, 상기 디렉터는 중복 서버들 중 어떤 서버가 디폴트 서버인지 중재한다. 상기 디렉터(150)는 상기 요구 메시지(162)를 상기 디폴트 중복 서버, 본 예에서 SERV1(156)로 송신한다. 상기 서버 SERV1(156)은 그것의 펑션을 수행하고 응답 메시지(164)를 상기 디렉터(150)에 반환한다. 응답으로 상기 디렉터(150)는 상기 응답 메시지(166)를 상기 애플리케이션 APP1(152)에 제공한다. 상기 디렉터(150)는 상기 중재 프로세스를 제어하는데 사용되는 입력 신호들(151)을 수신한다. 따라서, 상기 신호(151), 상기 신호(160) 또는 양 신호들의 조합에 따라, 상기 디렉터는 메시지(162)로서 상기 메시지를 서버들 SERV1과 SEV2 중 어떤서버가 라우팅할 것인지 선택한다.
메시지들 160, 162, 164 및 166 각각은 특별한 메시지의 기점과 목적지를 식별한다. 상기 메시지(160)는 상기 기점으로서 기점 애플리케이션 APP1(152)을 식별하고 상기 목적지로서 상기 디렉터(150)를 식별한다.
상기 디렉터는 상기 메시지(162)를 생성하기 위하여 상기 메시지(160)를 수정한다. 상기 메시지는 상기 메시지(162)가 상기 목적지로서 상기 디폴트 서버를 식별하도록 재포맷된다. 상기 기점의 식별은 변경되지 않는다.
상기 디폴트 서버는 그것이 유도된 서버이고 그것이 단지 상기 디렉터로부터 메시지들을 수신할 수 있다는 것을 안다. 상기 서버 SERV1(156)에 의해 생성된 상기 응답 메시지(164)는 상기 기점으로서 상기 디폴트 서버 SERV1을 식별하고 상기 목적지로서 상기 디렉터(150)를 식별한다. 더욱이 상기 응답 메시지는 상기 기점 애플리케이션을 식별한다. 이것은 상기 기점 애플리케이션 APP1(152)의 주소가 상기 메시지(164)의 말단에 부가된 포맷을 사용함으로써 달성될지도 모른다.
상기 디렉터는 상기 디폴트 중복 서버 SERV1(156)로부터 수신된 상기 응답 메시지(164)를 수정한다. 상기 메시지는 재포맷된다. 메시지(164)에 대한 부가물이제거되고, 상기 디렉터(150)는 상기 기점으로서 식별되며 상기 기점 애플리케이션 APP1(152)은 상기 목적지로서 식별된다. 상기 수정된 응답 메시지는 메시지(166)로서 상기 기점 애플리케이션으로 송신된다.
도 11b는 다른 메시지들(160, 162, 164 및 166) 각각의 정의된 기점 및 정의된 목적지를 설명하고 메시지가 그것에 첨부된 부가적인 주소를 구비하는지를 설명하는 표이다.
도 12는 디렉터(150)와 유도된 서버들(156, 158)이 어떻게 상기 연결층의 객체 지향 캡슐화를 사용하여 구현될 수 있는지를 도해한 것이다. 기본 클래스(110)와 실제 서버 특화물(130)은 도 7을 참조하여 전술되었다. 상기 디렉터는 상기 기본 클래스(110)의 특화물(170)로서 형성된 객체이다. 그것은 그것의 속성들(174)로서 유도된 서버들의 리스트를 구비한다. 그것은 펑션들(176)로서 SENDRESQUEST, SENDRESPONSE 및 RECVMESSAGE를 구비한다.
상기 유도된 서버는 그자체가 상기 기본 클래스(110)의 특화물인 상기 기본 클래스(180)의 특화물(190)로서 형성된 객체이다. 상기 특화물(180)도 그것의 특화물(190)도 속성들을 가지지 않는다. 상기 특화물(180)은 펑션들로서, SENDREQUEST와 SENDRESPONSE를 구비한다. 상기 유도된 서버를 나타내는 특화물(190)은 펑션으로서 RECVMESSAGE를 구비한다.
도 13a 및 도 13b는 상기 메시지들(160, 162, 164 및 166)이 다른 객체의 펑션을 호출하는 하나의 객체에 의해 어떻게 전송되는지를 도해한 것이다. 상기 애플리케이션 APP1은 상기 애플리케이션의 태스크의 상기 통신 관리자에 대해 요구되는 상기 서비스를 식별하는 기호 리소스 주소를 송신함으로써 서비스를 요구한다. 상기 디렉터가 동일한 태스크에 존재한다고 가정하면, 상기 통신 관리자는 그것의 기호 라우팅 표에 액세스함으로써 상기 디렉터 객체를 지시하는 포인터 *DIR을 반환한다. 그렇지 않으면 프록시가 전술된 바와 같이 생성될 것이다.
상기 애플리케이션 APP1은 상기 디렉터 객체에서 펑션 SENDREQUEST를 호출한다. 상기 펑션은 그것의 인수들로서, 상기 메시지의 기점을 지시하는 *APP, 상기 메시지의 목적지인 상기 디렉터를 지시하는 *DIR 및 송신된 상기 메시지의 본문을 지시하는 *MSG를 구비한다.
상기 디렉터는 그것의 중재 프로세스를 수행하고 그것이 제어하는 상기 중복 서버들 중 어떤 서버가 디폴트 서버, 본 예에서 상기 서버 SERV1인지를 결정한다. 상기 디렉터는 상기 객체 SERV1에서 상기 SENDREQUEST 펑션을 호출한다. 상기 펑션은 그것의 인수들로서, 상기 메시지의 유효한 기점인 상기 애플리케이션 APP1을 지시하는 *APP, 상기 메시지의 목적지인 서버 SERV1을 지시하는 *SERV1 및 송신된 상기 메시지의 본문을 지시하는 *MSG를 구비한다. 상기 메시지는 상기 통신 관리자에서 큐잉되고, 그다음 상기 객체 SERV1에서 상기 펑션 RECEIVEMESSAGE를 호출한다. 상기 펑션은 그것의 인수들로서, 상기 메시지의 유효한 기점인 상기 애플리케이션 APP1을 지시하는 *APP, 상기 메시지의 목적지인 서버 SERV1을 지시하는 *SERV1 및 송신된 상기 메시지의 본문을 지시하는 *MSG를 구비한다.
상기 서버 SERV1은 그것의 펑션을 수행하고 상기 디렉터 객체에서 상기 펑션 SENDRESPONSE를 호출함으로써 상기 기점 애플리케이션쪽으로 다시 응답 메시지를 송신한다(도 13b 참조). 상기 펑션은 그것의 인수들로서, 상기 메시지의 기점인 서버 SERV1를 지시하는 *SERV1, 상기 메시지의 목적지인 상기 디렉터를 지시하는 *DIR 및 송신하고 있는 상기 응답 메시지의 본문을 지시하는 *RMSG를 구비한다. 상기 응답 메시지는 상기 기점 애플리케이션에 대한 포인터 *APP를 구비한다. 상기 응답 메시지는 상기 통신 관리자에서 큐잉되고 그다음 상기 디렉터 객체에서 상기펑션 RECEIVEMESSAGE를 호출한다. 상기 펑션은 그것의 인수들로서, 상기 메시지의 기점인 서버 SERV1를 지시하는 *SERV1, 상기 메시지의 목적지인 상기 디렉터를 지시하는 *DIR 및 상기 응답 메시지의 본문을 지시하는 *RMSG를 구비한다.
상기 디렉터는 상기 메시지를 처리한다. 상기 디렉터는 상기 애플리케이션 객체 APP1에서 상기 펑션 SENDRESPONSE를 호출한다. 상기 펑션은 그것의 인수들로서, 상기 메시지의 기점인 디렉터를 지시하는 *DIR, 상기 메시지의 목적지인 상기 애플리케이션 APP1을 지시하는 *APP1 및 상기 응답 메시지의 본문을 지시하는 *RMSG를 구비한다. 상기 메시지는 상기 통신 관리자에서 큐잉되고, 그다음 상기 애플리케이션 APP1에서 상기 펑션 RECEIVEMESSAGE를 호출한다. 상기 펑션은 그것의 인수들로서, 상기 메시지의 기점인 디렉터를 지시하는 *DIR, 상기 메시지의 목적지인 상기 애플리케이션 APP1을 지시하는 *APP1 및 상기 응답 메시지의 본문을 지시하는 *RMSG를 구비한다.
전술한 설명은 본 발명의 바람직한 구현과 본 발명의 바람직한 응용들을 설명한 것이다. 다른 구현들과 응용들이 청구되는 바와 같이 본 발명의 범위를 벗어나지 않고 이용될지도 모른다는 것은 이해되어야 한다.

Claims (15)

  1. 리소스를 액세스하기 위하여 클라이언트로부터의 메시지를 복수의 서버들 중 선택된 서버로 라우팅하고 상기 선택된 서버로부터의 상기 리소스의 응답을 상기 클라이언트에 라우팅하며, 각 메시지는 그 기점의 표시와, 그 목적지의 표시 및 메시지 본문을 구비하는, 디렉터에 있어서,
    그 소스를 상기 클라이언트로서 나타내고 그 목적지를 라우팅 수단으로서 나타내는, 상기 클라이언트로부터의 제1 입력 메시지를 수신하기 위한 제1 입력 수단;
    그 소스를 상기 클라이언트로서 나타내고 그 목적지를 상기 선택된 서버로서 나타내는, 제1 출력 메시지를 상기 선택된 서버에 제공하기 위한 제1 출력 수단;
    그 소스를 상기 선택된 서버로서 나타내고 그 목적지를 상기 라우팅 수단으로서 나타내며, 부가물로서 상기 클라이언트를 식별하는 표시를 구비하는, 상기 제1 출력 메시지에 응답하여 상기 선택된 서버로부터 제2 입력 메시지를 수신하기 위한 제2 입력 수단; 및
    그 소스를 상기 라우팅 수단으로서 나타내고 그 목적지를 상기 하나의 클라이언트로서 나타내는, 상기 제2 입력 메시지에 응답하여 제2 출력 메시지를 상기 하나의 클라이언트에 제공하기 위한 제2 출력 수단을 포함하며,
    출력 메시지들로서 입력 메시지들을 라우팅하도록 정해지고, 상기 제1 입력 메시지의 목적지의 표시를 적합화함으로써 상기 제1 출력 메시지를 생성하며, 상기제2 입력 메시지의 목적지의 표시와 소스의 표시를 적합화함으로써 그리고 상기 제2 입력 메시지로부터 상기 부가물을 제거함으로써 상기 제2 출력 메시지를 생성하는 것을 특징으로 하는 디렉터.
  2. 무선 핸드셋에 있어서,
    청구항 1에 청구된 디렉터; 및
    클라이언트들과 서버들 사이에서 통신함으로써 상기 핸드셋의 펑션들을 수행하기 위한, 메모리를 구비하는 프로세서 수단을 포함하는 것을 특징으로 하는 무선 핸드셋.
  3. 제2항에 있어서, 상기 복수의 서버들 각각은 다른 무선 통신 표준에 따라 호출(call)을 형성 및/또는 수신하기 위한 수단에 액세스하는 것을 특징으로 하는 무선 핸드셋.
  4. 제1항 내지 제3항 중의 어느 한 항에 있어서, 상기 디렉터는,
    입력들을 수신하기 위한 제3 입력 수단을 구비하고 상기 복수의 서버들로부터 상기 선택된 서버를 결정하기 위하여 그에 응답하는 중재 수단을 더 포함하는 것을 특징으로 하는 디렉터 또는 핸드셋.
  5. 제1항 내지 제4항 중의 어느 한 항에 있어서, 상기 디렉터는 상기 제1 입력메시지들의 포맷과 상이한 소정의 포맷을 구비한 제2 입력 메시지들을 적합화하도록 정해진 것을 특징으로 하는 디렉터 또는 핸드셋.
  6. 제1항 내지 제5항 중의 어느 한 항에 있어서, 상기 제2 입력 메시지의 포맷은 말단에 상기 부가물을 구비한다는 점에서 상기 제1 입력 메시지의 포맷과 상이한 것을 특징으로 하는 디렉터 또는 다중 모드 핸드셋.
  7. 제1항 내지 제6항 중의 어느 한 항에 있어서, 상기 클라이언트, 선택된 서버 및 디렉터는 각각 동일한 기본 클래스의 특화물이 되는 제1, 제2, 및 제3 객체들인 것을 특징으로 하는 디렉터 또는 핸드셋.
  8. 제7항에 있어서, 기점 객체로부터 목적지 객체까지의 메시지 송신은 상기 목적지 객체에서의 펑션의 호출을 포함하는 것을 특징으로 하는 디렉터 또는 핸드셋.
  9. 제8항에 있어서, 상기 펑션은 그 인수들로서 상기 기점 객체에 대한 포인터 또는 주소와 상기 목적지 객체에 대한 포인터 또는 주소를 취하는 것을 특징으로 하는 디렉터 또는 핸드셋.
  10. 제2항에 종속되는 제3항 내지 제9항 중의 어느 한 항에 있어서, 상기 클라이언트는 상기 프로세서 수단내에서 정의되는 것을 특징으로 하는 핸드셋.
  11. 제10항에 있어서, 상기 디렉터는 상기 핸드셋의 프로세서 수단 또는 상기 부속 장치에서 정의되는 것을 특징으로 하는 핸드셋.
  12. 제11항에 있어서, 상기 선택된 서버는 상기 핸드셋의 프로세서 수단 또는 상기 부속 장치에서 정의되는 것을 특징으로 하는 핸드셋.
  13. 제7항에 종속되는 제10항 내지 제12항 중의 어느 한 항에 있어서, 상기 제3 객체는 서비스를 제공하기 위한 리소스를 캡슐화하는 것을 특징으로 하는 핸드셋.
  14. 제7항에 종속되는 제10항 내지 제13항 중의 어느 한 항에 있어서, 상기 제2 객체는 메시지들을 재포맷하기 위한 수단을 캡슐화하는 것을 특징으로 하는 핸드셋.
  15. 제1항 내지 제14항 중의 어느 한 항에 있어서, 상기 클라이언트는 서비스를 식별하는 기호 주소를 사용하여 상기 서비스를 요구하도록 정해지고 그에 대한 응답으로 상기 서비스를 제공하는 중복 서버들에 대한 액세스를 제어하는 상기 디렉터를 식별하여 수신하도록 정해지는 것을 특징으로 하는 핸드셋.
KR1020017009955A 1999-02-12 2000-02-10 라우팅 KR100705439B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9903262A GB2346766A (en) 1999-02-12 1999-02-12 Routing messages between a client and a selected server
GB9903262.5 1999-02-12

Publications (2)

Publication Number Publication Date
KR20010111257A true KR20010111257A (ko) 2001-12-17
KR100705439B1 KR100705439B1 (ko) 2007-04-09

Family

ID=10847689

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017009955A KR100705439B1 (ko) 1999-02-12 2000-02-10 라우팅

Country Status (10)

Country Link
US (1) US6959185B1 (ko)
EP (1) EP1173946B1 (ko)
JP (1) JP2002537684A (ko)
KR (1) KR100705439B1 (ko)
CN (1) CN1197321C (ko)
AT (1) ATE246422T1 (ko)
AU (1) AU2909100A (ko)
DE (1) DE60004197T2 (ko)
GB (1) GB2346766A (ko)
WO (1) WO2000048351A2 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999565B1 (en) 2000-02-01 2006-02-14 Envoyworldwide, Inc. Multi-mode message routing and management
US6842772B1 (en) 2000-03-14 2005-01-11 Envoy World Wide, Inc Application program interface for message routing and management system
US8516047B2 (en) 2000-11-06 2013-08-20 Rick Castanho System and method for service specific notification
WO2002087095A1 (en) 2001-04-25 2002-10-31 Envoy Worldwide, Inc. Wireless messaging system to multiple
US6931463B2 (en) * 2001-09-11 2005-08-16 International Business Machines Corporation Portable companion device only functioning when a wireless link established between the companion device and an electronic device and providing processed data to the electronic device
US7454195B2 (en) 2001-11-16 2008-11-18 At&T Mobility Ii, Llc System for the centralized storage of wireless customer information
US8660537B2 (en) * 2001-11-16 2014-02-25 At&T Mobility Ii Llc System for the storage and retrieval of messages
US7870201B2 (en) * 2004-12-03 2011-01-11 Clairmail Inc. Apparatus for executing an application function using a mail link and methods therefor
US7844674B2 (en) * 2004-12-03 2010-11-30 Clairmail Inc. Architecture for general purpose trusted personal access system and methods therefor
US7870202B2 (en) * 2004-12-03 2011-01-11 Clairmail Inc. Apparatus for executing an application function using a smart card and methods therefor
EP1955184A2 (en) * 2005-11-15 2008-08-13 Clairmail Inc. Application access utilizing a message link
WO2009023258A2 (en) * 2007-08-15 2009-02-19 Clairmail, Inc. Machine-implemented system and method for providing timed targeted promotional offers to individual payment account users with feedback

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU6957794A (en) * 1993-05-21 1994-12-20 Candle Distributed Solutions, Inc. Method of selecting a server object to service a client object request within a network environment
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
WO1998026530A1 (en) * 1996-12-09 1998-06-18 Motorola Inc. System, device, and method for routing dhcp packets in a public data network
GB9715966D0 (en) * 1997-07-30 1997-10-01 Ibm Data communications management for use with networking applications and for mobile communications environments
US6253061B1 (en) * 1997-09-19 2001-06-26 Richard J. Helferich Systems and methods for delivering information to a transmitting and receiving device
US6230004B1 (en) * 1997-12-01 2001-05-08 Telefonaktiebolaget Lm Ericsson Remote procedure calls using short message service
GB2341963B (en) 1998-09-24 2003-07-02 Nokia Mobile Phones Ltd Paging

Also Published As

Publication number Publication date
EP1173946B1 (en) 2003-07-30
EP1173946A2 (en) 2002-01-23
AU2909100A (en) 2000-08-29
US6959185B1 (en) 2005-10-25
GB2346766A (en) 2000-08-16
CN1197321C (zh) 2005-04-13
KR100705439B1 (ko) 2007-04-09
CN1352847A (zh) 2002-06-05
WO2000048351A2 (en) 2000-08-17
DE60004197D1 (de) 2003-09-04
ATE246422T1 (de) 2003-08-15
GB9903262D0 (en) 1999-04-07
WO2000048351A3 (en) 2001-11-08
JP2002537684A (ja) 2002-11-05
DE60004197T2 (de) 2004-04-15

Similar Documents

Publication Publication Date Title
KR100705439B1 (ko) 라우팅
EP1111505A1 (en) Architecture for executing applications in a data communications environment
KR100731151B1 (ko) 무선 핸드셋
WO2006051858A1 (ja) 携帯電話装置及びそのファイル共有方法
US7953862B2 (en) Methods for accessing a phone-based web server with a private IP address and related electronic devices and computer program products
CN108431763B (zh) 通过网络服务管理多个云存储装置
EP1391130A1 (en) A system, device and computer readable medium for providing a managed wireless network using short-range radio signals
JP2002543676A (ja) インターネットをブラウズするための無線端末装置
KR100652161B1 (ko) 무선 핸드셋
JP2004064755A (ja) 呼確立シグナリングによりデータ要求を行うための方法およびコンピュータプログラムプロダクト
CN116056076B (zh) 通信系统、方法及电子设备
JP2002520722A (ja) インターネット型ネットワークの中でサーバーとして使用するためのチップカードの組織システム
CN110188842A (zh) 机器人召唤方法及装置
JP2004537886A (ja) 統合ネットワーク・サービス・プロバイダ向けのサービス・アプリケーション・アーキテクチャ
JP3785262B2 (ja) メッセージデータ処理装置
KR102289026B1 (ko) 이중 착신전환 기반의 가상번호 연결 방법 및 시스템
WO2023024589A1 (zh) 请求的处理方法及相关装置
TW201828684A (zh) 通知訊息處理方法及裝置
CN117278509A (zh) 一种富媒体消息交互的方法、客户端、云设备及通信系统
KR20010029046A (ko) 피디에이에서 지니를 이용한 부가 서비스 방법
CN116405538A (zh) 网络代理方法、装置、服务器及存储介质
CN114697928A (zh) 数据通信方法、通信终端
KR20050066093A (ko) 이동 통신 단말기의 개인 정보 관리 방법
JP2003324521A (ja) 通話処理システム

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