KR20140072919A - 통신 시스템 내에서 통신 세션과 연관된 데이터의 교환 - Google Patents

통신 시스템 내에서 통신 세션과 연관된 데이터의 교환 Download PDF

Info

Publication number
KR20140072919A
KR20140072919A KR1020147013712A KR20147013712A KR20140072919A KR 20140072919 A KR20140072919 A KR 20140072919A KR 1020147013712 A KR1020147013712 A KR 1020147013712A KR 20147013712 A KR20147013712 A KR 20147013712A KR 20140072919 A KR20140072919 A KR 20140072919A
Authority
KR
South Korea
Prior art keywords
data
access terminal
application server
session
packet
Prior art date
Application number
KR1020147013712A
Other languages
English (en)
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 KR20140072919A publication Critical patent/KR20140072919A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1089In-session procedures by adding media; by removing media
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • H04W72/0446Resources in time domain, e.g. slots or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/56Allocation or scheduling criteria for wireless resources based on priority criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

일 실시형태에서는, 액세스 단말은 적어도 제 1, 제 2 및 제 3 기능적 계층들을 포함하는데, 여기서 제 1 기능적 계층 (예컨대, MAC 계층) 은 제 3 기능적 계층 (예컨대, 애플리케이션 계층) 대신에 서빙 네트워크를 통해서 애플리케이션 서버로 데이터 패킷을 송신하려고 시도한다. 제 1 기능적 계층이 서빙 네트워크가 데이터 패킷을 수신했다는 ACK를 수신하면, 제 3 기능적 계층에는 이 ACK가 통보된다. 제 1 기능적 계층이 데이터 패킷을 서빙 네트워크로 송신하려는 시도가 실패하였다는 것을 결정하면, 제 3 기능적 계층에는 이러한 송신 실패가 통보된다. 다른 실시형태에서는, 통신 세션을 위해서 트래픽 채널 (TCH)을 셋업하는 동안에, 액세스 단말은 시그널링 포트 상에서 애플리케이션 계층 및 전송 계층 접속 정보를 포함하는 메시지를 애플리케이션 서버로 송신하여 통신 세션에 대한 데이터 포트의 셋업을 용이하게 한다. 일 실시형태에서는, 통신 디바이스가 제 1 액세스 단말과 제 2 액세스 단말 사이에서 제 1 타입의 통신 세션과 연관된 고 우선순위 데이터 및 또한 제 2 타입의 통신 세션과 연관된 저 우선순위 데이터를 교환한다. 통신 디바이스가 제 1 액세스 단말의 더 낮은 데이터 레이트 환경으로의 천이를 결정하면, 통신 디바이스는 제 1 액세스 단말과 애플리케이션 서버 사이에 교환되는 데이터 패킷들의 크기를 제 2 타입의 통신 세션에 대하여 감소시킨다. 통신 디바이스가 업커밍 데이터 패킷이 낮은 데이터 패킷 (예를 들어, 침묵 패킷 (silence packet)) 이라고 결정하면, 낮은 데이터 패킷은 억제된다. 통신 디바이스가, 제 1 액세스 단말이 시퀀스 내의 최후 또는 최후 근접 데이터 패킷들의 일 세트의 송신을 시도했다는 것을 결정하면, 통신 디바이스는 ACK들을 대기하지 않고 최후 또는 최후 근접 데이터 패킷들의 세트를 재송신한다. 일 실시형태에서는, 객체들은 어떤 윈도우(들) 가 액세스 단말 (AT) 상에 현저하게 디스플레이 되는지에 기초하여 AT로 다운로드된다. 다른 실시형태에서는, 객체들은 사용자 특정 객체 다운로드 우선순위들의 일 세트에 기초하여 AT로 다운로드된다. 다른 실시형태에서는, AT로의 스트리밍 데이터 세선의 부분은 스트리밍 데이터 세션과 연관된 윈도우들의 제 1 세트로부터 상이한 세션과 연관된 윈도우들의 제 2 세트로의 AT의 디스플레이의 천이에 응답하여 비우선순위화된다. 예를 들어, 비우선순위화는 생략되거나 감소되는 부분 (예컨대, 오디오 및 비디오 화상 회의의 비디오 부분) 을 야기할 수 있다. 다른 실시형태에서는, AT가 제한된 환경에 진입하는 것에 응답하여, AT로 다운로드되고 있는 객체들은 AT의 제한된 환경에 순응하도록 동적으로 변경될 수 있다.

Description

통신 시스템 내에서 통신 세션과 연관된 데이터의 교환{EXCHANGING DATA ASSOCIATED WITH A COMMUNICATION SESSION WITHIN A COMMUNICATIONS SYSTEM}
35 U.S.C. §119 하의 우선권 주장
본 특허출원은 발명의 명칭이 "EXCHANGING DATA ASSOCIATED WITH A COMMUNICATION SESSION WITHIN A COMMUNICATIONS SYSTEM" 이고 2010년 4월 30일에 출원되었으며 본 양수인에게 양도된 US 가출원 번호 제 61/330,179 호에 대한 우선권을 주장하고 그에 의해 본 명세서 내에 참조로서 명시적으로 통합된다.
본 발명의 실시형태들은 통신 시스템 내에서 통신 세션과 연관된 데이터의 교환에 관련된다.
무선 통신 시스템들은 다양한 세대들을 통해서 발전하여 왔는데, 여기에는 1세대 아날로그 무선 전화 서비스 (1G), 2세대 (2G) 디지털 무선 전화 서비스 (중간의 2.5G 및 2.75G 네트워크들 포함) 및 3세대 (3G) 고속 데이터 / 인터넷-가능 무선 서비스가 포함된다. 현재는 이용중인 수많은 상이한 타입들의 무선 통신 시스템들이 존재하는데, 여기에는 셀룰러 및 개인용 통신 서비스 (Personal Communications Service, PCS) 시스템들이 포함된다. 알려진 셀룰러 시스템들의 예에는, 셀룰러 AMPS (Analog Advanced Mobile Phone System), 및 CDMA (Code Division Multiple Access), FDMA (Frequency Division Multiple Access), TDMA (Time Division Multiple Access), TDMA의 GSM (Global System for Mobile access) 변형에 기반한 디지털 셀룰러 시스템들, 및 TDMA 및 CDMA 기술들 양쪽 모두 이용하는 더 신규한 하이브리드 디지털 통신 시스템들이 포함된다.
CDMA 모바일 통신을 제공하기 위한 방법은, 미국에서 통신 산업 협회/전자공학 산업 협회 (Telecommunications Industry Association/Electronic Industries Association) 에 의한 명칭이 "Mobile Station-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular System" 인 TIA/EIA/IS-95-A에서 표준화되었는데, 본원에서는 IS-95 라고 지칭된다. 결합된 AMPS & CDMA 시스템들은 TIA/EIA 표준 IS-98 에서 설명된다. 다른 통신 시스템들은, WCDMA (wideband CDMA), (예를 들어, CDMA2000 1xEV-DO 표준들과 같은) CDMA 2000, 또는 TD-SCDMA 라고 지칭되는 기술들을 커버하는, IMT-2000/UM, 또는 International Mobile Telecommunications System 2000/Universal Mobile Telecommunications System, 표준들에서 설명된다.
무선 통신 시스템에서, 이동국들, 핸드셋들, 또는 액세스 단말 (access terminal, AT) 은, 기지국들에 인접하거나 둘러싸는 특정 지리적 지역 내에서 통신 링크들 또는 서비스를 지원하는 고정 위치 기지국들 (셀 사이트들 또는 셀들 이라고도 지칭된다) 로부터 신호들을 수신한다. 기지국들은, 일반적으로 QoS (Quality of Service) 요건들에 기초하여 트래픽을 분화 (differentiate) 하기 위한 방법들을 지원하는 표준 IETF (Internet Engineering Task Force) 기반 프로토콜들을 이용하는 패킷 데이터 네트워크인 액세스 네트워크 (AN) /무선 액세스 네트워크 (radio access network, RAN) 로의 진입 지점들 (entry points)을 제공한다. 그러므로, 기지국들은 일반적으로 무선 인터페이스 (air interface) 를 통하여 AT들과 상호작용하고, 그리고 IP (Internet Protocol) 네트워크 데이터 패킷들을 통하여 AN과 상호작용한다.
무선 통신 시스템에서, 서비스 섹터들 및 소비자들에게 푸시-투-토크 (Push-to-talk, PTT) 기능이 점점 인기를 얻고 있다. PTT는 CDMA, FDMA, TDMA, GSM 등과 같은 표준 상업적 무선 인프라구조들 상에서 동작하는 "디스패치 (dispatch) " 음성 서비스를 지원할 수 있다. 디스패치 모델에서, 종단점들 (AT들) 간의 통신은 가상 그룹들 내에서 발생되는데, 여기서 한 "화자" 의 음성은 하나 이상의 "청자들" 에게로 송신된다. 이러한 타입의 통신의 단일 예는 흔히 디스패치 호 (dispatch call), 또는 단순히 PTT 호라고 지칭된다. PTT 호는 그룹의 인스턴스화 (instantiation) 인데, 이것이 호의 특징들을 정의한다. 본질적으로 그룹은 구성원 목록 및, 그룹 명칭 또는 그룹 식별자과 같은 연관 정보에 의하여 정의된다.
종래에는, 무선 통신 네트워크 내에서 데이터 패킷들은 단일 목적지 또는 액세스 단말로 전송되도록 구성되어 왔다. 단일 목적지로의 데이터의 송신은 "유니캐스트" 라고 지칭된다. 이동 통신들이 증가함에 따라서, 주어진 데이터를 동시에 다중 액세스 단말들로 송신하기 위한 능력이 더욱 중요해졌다. 따라서, 다중 목적지들 또는 타겟 액세스 단말들로의 동일한 패킷 또는 메시지의 동시 데이터 송신을 지원하기 위한 프로토콜들이 채택되어 왔다. "브로드캐스트" 란 (예를 들어, 주어진 서비스 제공자 등에 의하여 서브 (serve) 되는 주어진 셀 내의) 모든 목적지들 또는 액세스 단말들로의 데이터 패킷들의 송신을 지칭하는 한편, "멀티캐스트"는 목적지들 또는 액세스 단말들의 주어진 그룹으로의 데이터 패킷들의 송신을 지칭한다. 일 예에서, 목적지들의 주어진 그룹 또는 "멀티캐스트 그룹" 은, (예를 들어, 주어진 서비스 제공자에 의하여 서브되는 주어진 그룹 내의) 가능한 목적지들 또는 액세스 단말들의 하나보다 많고 전부보다는 적은 것을 포함할 수도 있다. 그러나, 어떤 경우들에서는 유니캐스트와 유사하게 멀티캐스트 그룹이 오직 하나의 액세스 단말만을 포함하는 것, 또는 대안적으로는 멀티캐스트 그룹이 브로드캐스트와 유사하게 (예를 들면, 셀 또는 섹터 내의) 모든 액세스 단말들을 포함하는 것이 적어도 가능하다.
브로드캐스트 및/또는 멀티캐스트는, 예컨대 복수의 순차적인 유니캐스트 동작들을 수행함으로써 멀티캐스트 그룹을 수용하는 것, 동시에 다중 데이터 송신을 핸들링하기 위하여 고유 브로드캐스트/멀티캐스트 채널 (broadcast/multicast channel, BCH) 을 할당하는 것 등과 같은 다수의 방식들로 무선 통신 시스템 내에서 수행될 수도 있다. 푸시-투-토크 통신을 위하여 브로드캐스트 채널을 이용하는 종래의 시스템이, 발명의 명칭이 "Push-To-Talk Group Call System Using CDMA 1x-EVDO Cellular Network" 인 2007 년 3 월 1 일자의 미국 특허 출원 공개 번호 제2007/0049314 호에 설명되어 있는데, 이것의 내용은 참조에 의해 전부 본원에 원용된다. 공개 번호 제 2007/0049314 호에 설명된 바와 같이, 브로드캐스트 채널은 종래의 시그널링 기법을 이용한 푸시-투-토크 호들을 위하여 이용될 수 있다. 비록 브로드캐스트 채널의 이용은 종래의 유니캐스트 기법들에 비하여 대역폭 요건들을 개선할 수는 있지만, 브로드캐스트 채널의 종래의 시그널링은 여전히 추가적인 오버헤드 및/또는 지연을 발생시킬 수 있고, 따라서 시스템 성능을 저하시킬 수도 있다.
3 세대 파트너십 프로젝트 2 (3rd Generation Partnership Project 2, "3GPP2") 는 CDMA2000 네트워크들에서 멀티캐스트 통신을 지원하기 위한 BCMCS (broadcast-multicast service) 사양을 정의한다. 따라서, 2006 년 2 월 14 일자의, 명칭이 "CDMA2000 High Rate Broadcast-Multicast Packet Data Air Interface Specification" 인 3GPP2의 BCMCS 사양의 일 버전인 버전 1.0 C.S0054-A 가 참조에 의해 전부 본원에 원용된다.
요약
일 실시형태에서는, 액세스 단말은 적어도 제 1, 제 2 및 제 3 기능적 계층들을 포함하는데, 여기서 제 1 기능적 계층 (예컨대, MAC 계층) 은 제 3 기능적 계층 (예컨대, 애플리케이션 계층) 대신에 서빙 네트워크를 통해서 애플리케이션 서버로 데이터 패킷을 송신하려고 시도한다. 제 1 기능적 계층이 서빙 네트워크가 데이터 패킷을 수신했다는 ACK를 수신하면, 제 3 기능적 계층에는 이 ACK가 통보된다. 제 1 기능적 계층이 데이터 패킷을 서빙 네트워크로 송신하려는 시도가 실패하였다는 것을 결정하면, 제 3 기능적 계층에는 이러한 송신 실패가 통보된다. 다른 실시형태에서는, 통신 세션을 위해서 트래픽 채널 (TCH) 의 셋업 동안에, 액세스 단말은 시그널링 포트 상에서 애플리케이션 계층 및 전송 계층 접속 정보 양자 모두를 포함하는 메시지를 애플리케이션 서버로 송신하여 통신 세션에 대한 데이터 포트의 셋업을 용이하게 한다.
일 실시형태에서는, 통신 디바이스가 제 1 액세스 단말과 제 2 액세스 단말 사이에서 제 1 타입의 통신 세션과 연관된 더 높은 우선순위 데이터 및 또한 제 2 타입의 통신 세션과 연관된 더 낮은 우선순위 데이터를 교환한다. 통신 디바이스가 제 1 액세스 단말의 더 낮은 데이터 레이트 환경으로의 천이를 결정하면, 통신 디바이스는 제 2 타입의 통신 세션에 대하여 제 1 액세스 단말과 애플리케이션 서버 사이에 교환되는 데이터 패킷들의 크기를 감소시킨다. 통신 디바이스가 업커밍 (upcoming) 데이터 패킷이 낮은 데이터 패킷 (예를 들어, 침묵 패킷 (silence packet)) 이라고 결정하면, 낮은 데이터 패킷은 억제된다. 통신 디바이스가, 제 1 액세스 단말이 시퀀스 내의 최후 또는 최후 근접 데이터 패킷들의 세트의 송신을 시도했다는 것을 결정하면, 통신 디바이스는 ACK들을 대기하지 않고 최후 또는 최후 근접 데이터 패킷들의 세트를 재송신한다.
일 실시형태에서는, 객체들은 어떤 윈도우(들) 가 액세스 단말 (AT) 상에 현저하게 디스플레이되는지에 기초하여 AT로 다운로드된다. 다른 실시형태에서는, 객체들은 사용자 특정 객체 다운로드 우선순위들의 세트에 기초하여 AT로 다운로드된다. 다른 실시형태에서는, AT로의 스트리밍 데이터 세션의 부분은 스트리밍 데이터 세션과 연관된 윈도우들의 제 1 세트로부터 상이한 세션과 연관된 윈도우들의 제 2 세트로의 AT의 디스플레이의 천이에 응답하여 비우선순위화 (de-prioritize) 된다. 예를 들어, 비우선순위화는 생략되거나 감소되는 부분 (예컨대, 오디오 및 비디오 화상 회의의 비디오 부분) 을 야기할 수 있다. 다른 실시형태에서는, AT가 제한된 환경에 진입하는 것에 응답하여, AT로 다운로드되고 있는 객체들은 AT의 제한된 환경에 순응하도록 동적으로 변경될 수 있다.
본 발명의 비제한적인 예시를 위해서만 제시되는 첨부도면들과 관련하여 고려될 때 다음의 상세한 설명을 참조하는 것에 의해 더 잘 이해되므로, 본 발명의 실시형태들 및 그의 다수의 수반하는 장점들에 대한 보다 완전한 이해가 손쉽게 획득될 것이고, 여기서:
도 1은 본 발명의 적어도 하나의 실시형태에 따른 액세스 단말들 및 액세스 네트워크들을 지원하는 무선 네트워크 아키텍처의 도면이다.
도 2a는 본 발명의 일 실시형태에 따른 캐리어 네트워크를 예시한다.
도 2b는 도 1의 무선 통신의 일 예를 더 상세하게 예시한다.
도 3은 본 발명의 적어도 하나의 실시형태에 따른 액세스 단말 (AT)의 예시이다.
도 4a는 파일이 통신 시스템 내의 AT들 간에 교환될 수 있는 종래의 방식을 예시한다.
도 4b는 파일이 통신 시스템 내의 AT들 간에 교환될 수 있는 다른 종래의 방식을 예시한다.
도 4c 및 도 4d는 본 발명의 일 실시형태에 따른 발신 AT 및 타겟 AT 간의 파일 전송 세션의 셋업과 연관된 시그널링을 예시한다.
도 5a 내지 도 5d는 통신 세션 동안 발신 또는 타겟 액세스 단말의 상이한 기능성 계층들 간의 상호작용들의 상이한 실시형태들을 예시한다.
도 6a는 스트리밍 또는 실시간 통신 세션과 동시에 파일 전송 세션을 지원하는 종래의 메커니즘을 예시한다.
도 6b는 비스트리밍 세션들, 예컨대 파일 전송 세션들을 위한 데이터 패킷들의 크기가 동적으로 수정되어, 실시간 또는 스트리밍 세션들의 패킷 송신들에 대한 지연들이 감소 및/또는 회피되는, 본 발명의 일 실시형태를 예시한다.
도 6c는 스트리밍 또는 실시간 통신 세션과 동시에 파일 전송 세션을 지원하는 종래의 다른 메커니즘을 예시한다.
도 6d는 다운링크 비스트리밍 세션들, 예컨대 파일 전송 세션들을 위한 데이터 패킷들의 크기가 애플리케이션 서버 및/또는 액세스 네트워크에서 동적으로 수정되어, 실시간 또는 스트리밍 세션들의 패킷 송신들에 대한 지연들이 감소 및/또는 회피되는, 본 발명의 일 실시형태를 예시한다.
도 7a는 스트리밍 또는 실시간 통신 세션과 동시에 파일 전송 세션을 지원하는 종래의 메커니즘을 예시한다.
도 7b는 스트리밍 멀티미디어 세션에 대한 침묵 프레임들 (silence frames)이 억제되고 낮은 QoS (Quality-of-Service) 또는 비 QoS (non-QoS) 파일 전송 세션에 대한 데이터 패킷들의 증가된 수가 송신되는, 본 발명의 일 실시형태를 예시한다.
도 7c는 스트리밍 멀티미디어 세션에 대한 침묵 프레임들이 억제되고 낮은 QoS 또는 비 QoS 파일 전송 세션에 대한 증가된 수의 데이터 패킷들이 송신되는, 본 발명의 다른 실시형태를 예시한다.
도 8a는 종래의 파일 전송 세션의 종료 또는 완료에 초점을 맞춘 프로세스를 예시한다.
도 8b의 다른 종래의 프로세스는 파일 전송 세션의 종료시에 송신 AT 및 애플리케이션 서버 간의 시그널링에 초점을 맞추고, 그래서 수신 AT 및 애플리케이션 서버 간의 이러한 시그널링은 점선을 통하여 도시된다.
도 8c 및 도 8d는 각각, 송신 AT가 트래픽 채널 (TCH) 을 가지며 데이터를 송신하고 있지 않은 기간들 동안, 데이터 패킷들의 기회적 (opportunistic) 또는 선점적 (preemptive) 재송신에 관련되는 프로세스에 관한 것이다.
도 8e는 본 발명의 일 실시형태에 따라서 송신 AT가 트래픽 채널 (TCH) 을 가지며 데이터를 송신하고 있지 않은 기간들 동안, 데이터 패킷들의 기회적 또는 선점적 재송신에 관련되는 다른 프로세스에 관한 것이다.
도 9a 내지 도 9d 각각은 본 발명의 실시형태들에 따른 파일 전송 세션과 연관되는 상이한 콘텐츠-기반 통신적 프로세스를 예시한다.
본 발명의 양태들은 다음의 상세한 설명 및 본 발명의 특정한 실시형태들에 관한 관련 도면들에서 개시된다. 다른 실시형태들이 본 발명의 범위를 벗어나지 않으면서 고안될 수도 있다. 또한, 본 발명의 주지 요소들은 본 발명의 관련 있는 상세 사항들을 모호하게 하지 않도록 상세히 설명되지 않거나 또는 생략될 것이다.
"예시적인" 및/또는 "예" 라는 용어는 본 명세서에서는 "예, 실례 (instance), 또는 예시의 역할을 하는"을 의미하는 것으로 사용된다. "예시적인" 및/또는 "예"로서 본 명세서에서 설명되는 임의의 실시형태는 다른 실시형태들에 비하여 바람직하거나 유리한 것으로 반드시 해석될 필요가 없다. 마찬가지로, "본 발명의 실시형태들"이란 용어는 본 발명의 모든 실시형태들이 논의되는 피쳐 (feature), 장점 또는 동작 모드를 포함할 것을 필요로 하지 않는다.
또한, 많은 실시형태들은 예를 들어 컴퓨팅 디바이스의 구성 요소들에 의하여 수행될 동작들의 시퀀스의 관점에서 설명된다. 본 명세서에서 설명되는 다양한 동작들이 특수한 회로들 (예를 들어, 주문형 집적 회로 (application specific integrated circuit, ASIC)) 에 의하여, 하나 이상의 프로세서에 의하여 실행되는 프로그램 명령들에 의하여, 또는 양자 모두의 조합에 의하여 수행될 수 있다는 것이 이해될 것이다. 또한, 본 명세서에서 설명되는 이러한 동작들의 시퀀스는, 실행될 때 연관된 프로세서로 하여금 본 명세서에서 설명되는 기능들을 수행하도록 하는 대응하는 세트의 컴퓨터 명령들이 저장된 임의의 형태의 컴퓨터 판독가능 저장 매체 내에 전체로서 포함된다고 간주될 수 있다. 그러므로, 본 발명의 다양한 양태들은 다수의 상이한 형태로서 구현될 수도 있으며, 이들 모두는 청구된 본 발명의 요지의 범위 내에 속하는 것으로 고려된다. 또한, 본 명세서에서 설명되는 실시형태들의 각각에 대하여, 대응하는 형태의 임의의 그러한 실시형태들은, 본 명세서에서, 예를 들어 설명된 동작을 수행하도록 "구성되는 로직" 으로서 설명될 수도 있다.
본 명세서에서 액세스 단말 (AT) 이라고 지칭되는 고 데이터 레이트 (High Data Rate, HDR) 가입자 국은 이동식이거나 고정식일 수 있고, 그리고 본 명세서에서 모뎀 풀 송수신기 (modem pool transceivers, MPT) 또는 기지국 (base stations, BS) 이라고 지칭되는 하나 이상의 HDR 기지국과 통신할 수도 있다. 액세스 단말은 데이터 패킷을 하나 이상의 모뎀 풀 송수신기들을 통하여 모뎀 풀 제어기 (modem pool controller, MPC), 기지국 제어기 (base station controller, BSC) 및/또는 패킷 제어 기능 (packet control function, PCF) 이라고 지칭되는, HDR 기지국 제어기에 대해 송신 및 수신한다. 모뎀 풀 송수신기 및 모뎀 풀 제어기는 액세스 네트워크라고 지칭되는 네트워크의 부분들이다. 액세스 네트워크는 다중 액세스 단말들 간에 데이터 패킷들을 전송한다.
액세스 네트워크는 또한 기업 인트라넷 (corporate intranet) 또는 인터넷과 같은 액세스 네트워크 외부의 추가적인 네트워크에 접속될 수도 있고, 데이터 패킷들을 각 액세스 단말과 이러한 외부 네트워크들 사이에 전송할 수도 있다. 하나 이상의 모뎀 풀 송수신기와 능동 트래픽 채널 접속을 확립한 액세스 단말은 능동 액세스 단말이라고 불리고, 트래픽 상태에 있다고 한다. 하나 이상의 모뎀 풀 송수신기와의 능동 트래픽 채널 접속을 확립하는 과정에 있는 액세스 단말은 접속 셋업 상태 (connection setup state) 에 있다고 한다. 액세스 단말은, 무선 채널을 통하여, 또는 예를 들어 광섬유 또는 동축 케이블들을 이용한 유선 채널을 통하여 통신하는 임의의 데이터 디바이스일 수도 있다. 또한, 액세스 단말은 PC 카드, 콤팩트 플래시, 외부 또는 내부 모뎀, 또는 무선 또는 유선 전화를 포함하는 다수의 타입들의 디바이스들 중 어느 것일 수 있지만 이에 한정되는 것은 아니다. 상기 액세스 단말이 모뎀 풀 송수신기로 신호를 전송하는 통신 링크는 역방향 링크 (reverse link) 또는 트래픽 채널이라고 지칭된다. 모뎀 풀 송수신기가 액세스 단말로 신호들을 전송하는 통신 링크는 순방향 링크 (forward link) 또는 트래픽 채널이라고 지칭된다. 본 명세서에서 이용되는 트래픽 채널이라는 용어는 순방향 또는 역방향 트래픽 채널 중 어느 하나를 지칭할 수 있다.
도 1 은 본 발명의 적어도 하나의 실시형태에 따른 무선 시스템 (100) 의 하나의 예시적인 실시형태의 블록도를 예시한다. 시스템 (100) 은, 패킷 교환 데이터 네트워크 (예를 들어, 인트라넷, 인터넷, 및/또는 캐리어 네트워크 (carrier network, 126)) 와 액세스 단말들 (102, 108, 110, 112) 사이에 데이터 접속성을 제공하는 네트워크 장비로 액세스 단말 (102) 을 접속시킬 수 있는 액세스 네트워크 또는 무선 액세스 네트워크 (RAN; 120) 와 무선 인터페이스를 통하여 통신하는 셀룰러 전화기 (102) 와 같은 액세스 단말들을 포함할 수 있다. 여기에 도시된 바와 같이, 액세스 단말은 셀룰러 전화기 (102), 개인 디지털 정보단말 (personal digital assistant, 108), 여기서 양방향 텍스트 페이저로 도시된 페이저 (pager; 110), 또는, 심지어 무선 통신 포털을 가지는 분리된 컴퓨터 플랫폼 (separate computer platform; 112) 일 수 있다. 그러므로, 본 발명의 실시형태들은 무선 모뎀들, PCMCIA 카드들, 개인용 컴퓨터들, 전화기들, 또는 이들의 임의의 조합 또는 하위-조합을 비한정적으로 포함하여 무선 통신 포털을 포함하거나 무선 통신 기능을 가지는 임의의 형태의 액세스 단말 상에 구현될 수 있다. 또한, 본 명세서에서 이용되는 바처럼 용어 "액세스 단말", "무선 디바이스", "클라이언트 디바이스", "모바일 단말", 및 이들의 변형들은 상호 교환 가능하게 이용될 수도 있다.
다시 도 1 을 참조하면, 무선 네트워크 (100) 의 구성 요소들 및 본 발명의 예시적인 실시형태의 요소들의 상호 관계는 예시된 구성 (configuration) 에 한정되는 것이 아니다. 시스템 (100) 은 단지 예시일 뿐이며, 무선 클라이언트 컴퓨팅 디바이스들 (102, 108, 110, 112) 과 같은 원격 액세스 단말들이 공중으로 (over-the-air) 서로 간에, 및/또는 (캐리어 네트워크 (126), 인터넷, 및/또는 다른 원격 서버를 비한정적으로 포함하는) 에어 인터페이스 (104) 및 RAN (120) 을 통해서 접속된 구성 요소들 간에 통신하는 것을 허용하는 임의의 시스템을 포함할 수 있다.
RAN (120) 은 기지국 제어기 (base station controller, BSC) /패킷 제어 기능 (packet control function, PCF) (122) 으로 전송된 (통상적으로는 데이터 패킷으로서 전송된) 메시지들을 제어한다. BSC/PCF (122) 는 패킷 데이터 서비스 노드 (packet data service node, "PDSN") (100) 및 액세스 단말들 (102/108/110/112) 간의 베어러 채널들 (bearer channels) (예를 들어, 데이터 채널들) 의 시그널링, 확립, 및 해체 (tearing down) 을 담당한다. 링크 계층 암호화 (encryption) 가 인에이블되면, BSC/PCF (122) 는 또한 콘텐츠를 에어 인터페이스 (104) 상에서 포워딩하기 전에 이를 암호화한다. BSC/PCF (122) 의 기능은 당업계에서는 주지된 것이므로, 설명의 간략화를 위하여 추가적으로 논의되지 않을 것이다. 캐리어 네트워크 (126) 는 네트워크, 인터넷, 및/또는 공중 교환 전화망 (public switched telephone network, PSTN) 에 의해 BSC/PCF (122) 와 통신할 수도 있다. 대안적으로는, BSC/PCF (122) 는 인터넷 또는 외부 네트워크로 직접 접속될 수도 있다. 통상적으로는, 캐리어 네트워크 (126) 및 BSC/PCF (122) 간의 네트워크 또는 인터넷 접속은 데이터를 전송하고, PSTN은 음성 정보를 전송한다. BSC/PCF (122) 는 다중 기지국들 (BS) 또는 모뎀 풀 송수신기 (modem pool transceivers, MPT) (124) 에 접속될 수 있다. 캐리어 네트워크에 유사한 방식으로, BSC/PCF (122) 는 통상적으로 데이터 전송 및/또는 음성 정보를 위하여 네트워크, 인터넷 및/또는 PSTN 에 의하여 MPT/BS (124) 에 접속된다. MPT/BS (124) 는 무선으로 셀룰러 전화기 (102) 와 같은 액세스 단말들로 데이터 메시지들을 브로드캐스트할 수 있다. MPT/BS (124), BSC/PCF (122) 및 다른 구성 요소들이 당업계에 알려진 바와 같이 RAN (120) 을 형성할 수 있다. 그러나, 대안적인 구성들도 이용될 수 있고, 본 발명은 예시된 구성에 한정되지 않는다. 예를 들어, 다른 실시형태에서 BSC/PCF (122) 및 하나 이상의 MPT/BS (124) 기능이 BSC/PCF (122) 및 MPT/BS (124) 의 양쪽 모두의 기능들을 갖는 단일 "하이브리드" 모듈로 콜랩스 (collapse) 될 수도 있다.
도 2a 는 본 발명의 일 실시형태에 따른 캐리어 네트워크 (126) 를 예시한다. 도 2a 에 도시된 실시형태에서, 캐리어 네트워크 (126) 는 패킷 데이터 서빙 노드 (packet data serving node, PDSN) (160), 브로드캐스트 서빙 노드 (broadcast serving node, BSN) (165), 애플리케이션 서버 (170) 및 인터넷 (175) 을 포함한다. 그러나, 애플리케이션 서버 (170) 및 다른 구성 요소들은, 대안적인 실시형태에서는 캐리어 네트워크의 외부에 위치할 수도 있다. PDSN (160) 은, 예를 들어, CDMA 2000 무선 액세스 네트워크 (RAN) (예를 들어, 도 1 의 RAN (120)) 을 이용하여, 이동국들 (예를 들어, 도 1 로부터의 102, 108, 110, 112 와 같은 액세스 단말들) 에 대해 인터넷 (175), 인트라넷, 및/또는 원격 서버들 (예를 들어, 애플리케이션 서버 (170)) 로의 액세스를 제공한다. 액세스 게이트웨이로서 동작하면서, PDSN (160) 은 단순 IP 및 모바일 IP 액세스, 외부 에이전트 지원, 및 패킷 전송을 제공할 수도 있다. PDSN (160) 은 AAA (Authentication, Authorization, and Accounting) 서버들 및 다른 지원하는 인프라구조 (supporting infrastructure) 를 위한 클라이언트로서 동작할 수 있고, 이동국들에게 당업계에 알려진 바와 같은 IP 네트워크로의 게이트웨이를 제공한다. 도 2a 에 도시된 바와 같이, PDSN (160) 은 종래의 A10 접속 (A10 connection) 을 통하여 RAN (120) (예를 들어, BSC/PCF (122)) 과 통신할 수도 있다. A10 접속은 당업계에 주지되어 있고, 명세서의 간략화를 위하여 추가적으로 설명되지 않을 것이다.
도 2a 를 참조하면, 브로드캐스트 서빙 노드 (broadcast serving node, BSN) (165) 는 멀티캐스트 및 브로드캐스트 서비스를 지원하도록 구성될 수 있다. BSN (165) 은 이하 더 상세히 설명될 것이다. BSN (165) 은 RAN (120) (예를 들어, BSC/PCF (122)) 과 브로드캐스트 (broadcast, BC) A10 접속을 통하여 통신하고, 애플리케이션 서버 (170) 와 인터넷 (175) 을 통하여 통신한다. BCA10 접속은 멀티캐스트 및/또는 브로드캐스트 메시징을 전송하는데 이용된다. 따라서, 애플리케이션 서버 (170) 는 유니캐스트 메시징을 PDSN (160) 으로 인터넷 (175) 을 통하여 전송하고, 그리고 멀티캐스트 메시징을 BSN (165) 으로 인터넷 (175) 을 통하여 전송한다.
일반적으로, 상세히 후술되는 바와 같이, RAN (120) 은 BSN (165) 으로부터 수신된 멀티캐스트 메시지들을 BCA10 접속을 통하여 에어 인터페이스 (104) 의 브로드캐스트 채널 (BCH) 상에서 하나 이상의 액세스 단말들 (200) 로 송신한다.
도 2b는 도 1 의 무선 통신 (100) 의 일 예를 더 상세히 예시한다. 특히, 도 2b 를 참조하면, AT 1...N 들은 상이한 패킷 데이터 네트워크 종단점에 의하여 서비스되는 위치들에서 RAN (120) 에 접속되는 것으로 도시된다. 따라서, AT 1 및 3 들은 (예를 들어, PDSN (160), BSN (165), HA (home agent), FA (foreign agent) 등에 대응할 수도 있는) 제 1 패킷 데이터 네트워크 종단점 (162) 에 의하여 서빙되는 부분에서 RAN (120) 에 접속된다. 차례로, 제 1 패킷 데이터 네트워크 종단점 (162) 은 라우팅 유닛 (routing unit, 188) 을 통하여, 인터넷 (175) 및/또는 AAA (Authentication, Authorization, and Accounting) 서버 (182), 프로비져닝 서버 (provisioning server, 184), IMS (Internet Protocol (IP) Multimedia Subsystem) / SIP (Session Initiation Protocol) 등록 서버 (186) 및/또는 애플리케이션 서버 (170) 중 하나 이상에 접속된다. AT 2 및 AT 5...N들은 (예를 들어, PDSN (160), BSN (165), FA, HA 등에 대응될 수 있는) 제 2 패킷 데이터 네트워크 종단점 (164) 에 의하여 서빙되는 부분에서 RAN (120) 에 접속된다. 제 1 패킷 데이터 네트워크 종단점 (162) 과 유사하게, 제 2 패킷 데이터 네트워크 종단점 (164) 은 차례로 라우팅 유닛 (188) 을 통하여 인터넷 (175) 및/또는 AAA 서버 (182), 프로비져닝 서버 (184), IMS / SIP 등록 서버 (186) 및/또는 애플리케이션 서버 (170) 중 하나 이상에 접속된다. AT 4 는 인터넷 (175) 에 직접 접속되고, 그 후에 인터넷 (175) 을 통하여 전술된 시스템 구성 요소들 중 어느 것에도 접속될 수 있다.
도 2b를 참조하면, AT 1, 3 및 5...N 들은 무선 셀 전화기인 것으로 예시되고, AT 2 는 무선 태블릿 PC 인 것으로 예시되며, AT 4 는 유선 데스크톱 스테이션인 것으로 예시된다. 그러나, 다른 실시형태들에서는, 무선 통신 시스템 (100) 이 임의의 타입의 AT에 접속될 수 있으며, 도 2b 에 예시된 예들은 시스템 내에 구현될 수 있는 AT의 타입을 제한하려고 의도된 것이 아니라는 것이 이해될 것이다. 또한, 비록 AAA 서버 (182), 프로비져닝 서버 (184), IMS/SIP 등록 서버 (186) 및 애플리케이션 서버 (170) 가 구조적으로 분리된 서버인 것으로 각각 예시되지만, 이러한 서버들 중 하나 이상이 본 발명의 적어도 하나의 실시형태에서 통합될 수도 있다.
또한, 도 2b를 참조하면, 애플리케이션 서버 (170) 는 복수의 매체 제어 복합체들 (media control complexes, MCC) 1...N (170B), 및 복수의 지역 디스패처들 (regional dispatchers) 1...N (170A) 을 포함하는 것으로 예시된다. 집합적으로, 지역 디스패처들 (170A) 및 MCC들 (170B) 은 애플리케이션 서버 (170) 내에 포함되는데, 이것은 적어도 하나의 실시형태에서는 무선 통신 시스템 (100) 내의 통신 세션들 (예를 들어, IP 유니캐스팅 및/또는 IP 멀티캐스팅 프로토콜을 통한 반-듀플렉스 그룹 통신 세션들) 을 중재하도록 집합적으로 기능하는 서버들의 분산 네트워크에 대응할 수 있다. 예를 들어, 애플리케이션 서버 (170) 에 의하여 중재되는 통신 세션들이 이론상 시스템 (100) 내의 어디에나 위치된 AT들 간에서도 발생될 수 있기 때문에, 다중 지역 디스패쳐들 (170A) 및 MCC들이 중재된 통신 세션들에 대한 레이턴시를 감소시키기 위해 분산된다 (예를 들어, 그래서 북미에 있는 MCC 는 중국에 위치한 세션 참가자들 간에서 매체를 전후로 (back-and-forth) 릴레이하고 있지 않게 된다). 그러므로, 애플리케이션 서버 (170) 를 참조하면, 연관된 기능성이 하나 이상의 지역 디스패처들 (170A) 및/또는 하나 이상의 MCC들 (170B) 에 의하여 강제될 수 있다는 것이 이해될 것이다. 일반적으로, 지역 디스패처들 (170A) 이 통신 세션을 확립하는 것에 관련된 임의의 기능 (예를 들어, AT들 간의 시그널링 메시지들의 핸들링, 및/또는 알림 메시지들의 스케줄링 및/또는 전송 등) 을 담당하는 반면에, MCC들 (170B) 은 중재된 통신 세션 동안의 착신 시그널링 (in-call signaling) 및 매체의 실제 교환을 포함하는 호 인스턴스 (call instance) 의 지속 시간 동안에 통신 세션을 호스팅하는 것을 담당한다. 따라서, 본 발명의 다른 실시형태에서는, 중재된 통신 세션들이 PTT 호들에 대응된다고 가정하면, MCC들 (170B) 은 PTT 애플리케이션 서버들 및/또는 PTT 매체-분산 서버들 (media-distribution servers) 이라고 지칭될 수도 있다.
도 3 을 참조하면, 셀룰러 전화기와 같은 액세스 단말 (200) (여기서는 무선 디바이스) 은, 궁극적으로는 캐리어 네트워크 (126), 인터넷 및/또는 다른 원격 서버들 및 네트워크들로부터 나올 수도 있는, RAN (120) 으로부터 송신된 소프트웨어 애플리케이션들, 데이터 및/또는 커맨드들을 수신하고 실행할 수 있는 플랫폼 (202) 을 가진다. 플랫폼 (202) 은, 주문형 집적 회로 (application specific integrated circuit, "ASIC") (208), 또는 다른 프로세서, 마이크로프로세서, 로직 회로, 또는 다른 데이터 프로세싱 디바이스에 동작 가능하도록 커플링되는 송수신기 (206) 를 포함할 수 있다. ASIC (208) 또는 다른 프로세서는, 무선 디바이스의 메모리 (212) 내의 임의의 상주 프로그램들과 인터페이스하는 애플리케이션 프로그래밍 인터페이스 (application programming interface, "API') (210) 계층을 실행한다. 메모리 (212) 는 판독 전용 또는 임의 접근 메모리 (RAM 및 ROM), EEPROM, 플래시 카드, 또는 컴퓨터 플랫폼들에 공통되는 임의의 메모리로 구성될 수 있다. 또한, 플랫폼 (202) 은 메모리 (212) 에서 활발하게 이용되지 않는 애플리케이션들을 홀드 (hold) 할 수 있는 로컬 데이터베이스 (214) 를 포함할 수 있다. 통상적으로, 로컬 데이터베이스 (214) 는 플래시 메모리 셀이지만, 마그네틱 매체, EEPROM, 광학 미디어, 테이프, 소프트 디스크 또는 하드 디스크 등과 같이 당업계에 공지된 임의의 2 차 저장 장치일 수 있다. 또한, 내부 플랫폼 (202) 구성 요소들은, 당업계에 공지된 바처럼 다른 구성 요소들 중, 안테나 (222), 디스플레이 (224), 푸시-투-토크 버튼 (228) 및 키패드 (226) 와 같은 외부 장치들에 동작 가능하도록 접속될 수 있다.
따라서, 본 발명의 일 실시형태는 본 명세서에서 설명되는 기능들을 수행하는 기능을 포함하는 액세스 단말을 포함할 수 있다. 당업자들에게 이해될 것인 바와 같이, 다양한 로직 요소들이 이산 요소들, 프로세서에서 실행되는 소프트웨어 모듈들, 또는 소프트웨어 및 하드웨어의 임의의 조합의 형태로서 구현되어 본 명세서에서 개시되는 다양한 기능성들을 달성할 수 있다. 예를 들어, ASIC (208), 메모리 (212), API (210) 및 로컬 데이터베이스 (214) 모두는 본 명세서에서 개시된 다양한 기능들을 로드하고, 저장하며, 실행하는데 협동적으로 이용될 수도 있고, 따라서 이러한 기능들을 실행하기 위한 로직은 다양한 요소들 상에 분산될 수도 있다. 대안적으로는, 이러한 기능은 하나의 이산 구성 요소 (discrete component) 내에 포함될 수도 있다. 그러므로, 도 3 의 액세스 단말의 특징들은 단지 예시적인 것으로 고려되어야 하며, 본 발명은 예시된 특징들 또는 배열에 한정되지 않는다.
액세스 단말 (102) 및 RAN (120) 간의 무선 통신은, 코드 분할 다중 접속 (CDMA), WCDMA, 시분할 다중 접속 (TDMA), 주파수 분할 다중 접속 (FDMA), 직교 주파수 분할 다중화 (OFDM), 이동 통신 세계화 시스템 (GSM), 또는 무선 통신 네트워크 또는 데이터 통신 네트워크에서 이용될 수 있는 다른 프로토콜들과 같은 상이한 기술들에 기초할 수 있다. 통상적으로, 데이터 통신은 클라이언트 장치 (102), MPT/BS (124) 과 BSC/PCF (122) 사이에 있다. BSC/PCF (122) 는 캐리어 네트워크 (126), PSTN, 인터넷, 가상 사설 네트워크 (virtual private network) 등과 같은 다중 데이터 네트워크들에 접속될 수 있으며, 따라서 액세스 단말 (102) 이 더 광범위한 통신 네트워크에 액세스하는 것을 허용한다. 이전에 이미 논의되고 당업계에 공지된 바와 같이, 음성 송신 및/또는 데이터는 다양한 네트워크 및 구성들을 이용하여 RAN 으로부터 액세스 단말들로 송신될 수 있다. 따라서, 본 명세서에서 제공된 예시들은 본 발명의 실시형태들을 제한하고자 의도되는 것이 아니고, 단지 본 발명의 실시형태들의 양태들의 설명을 돕기 위한 것일 뿐이다.
만일 주어진 액세스 단말 (AT) 이 특정한 타겟으로 전송할 대량의 데이터를 가지고 있으면, 파일 전송 세션의 셋업 시간은 상대적으로 낮은 중요성을 가지는데, 그 이유는 파일 전송 세션과 관련된 시간이 파일 전송 세션의 셋업 시간과 비교할 때 상대적으로 높을 것이기 때문이다. 그러나, 상대적으로 소량의 데이터가 교환될 경우에는 파일 전송 세션들에 대한 셋업 시간은, 세션 자체의 지속 시간에 비교할 때 불균형적으로 높을 수 있다.
도 4a는 파일이 통신 시스템 내의 AT들 사이에서 교환될 수 있는 종래의 방식을 예시한다. 특히, 도 4a 는 송신 AT가 이미 통신 세션에 속박되어 있을 때 어떻게 송신 AT가 파일을 타겟 AT로 전송할지에 대한 종래의 예를 예시한다.
도 4a를 참조하면, 주어진 AT ("AT (1) ") 는 파일 전송 세션을 개시할지를 결정한다 (400A). AT 1 이 파일 전송 세션을 개시하지 않는 것을 결정하면, AT 1 은 통신 세션에 대한 자원들을 셋업하지 않고, 프로세스는 400A에 남는다.
그와 달리, AT1 이 파일 전송 세션을 개시하는 것을 결정하면, AT 1 은 파일 전송 세션을 위하여 RAN (120) 과의 TCH를 셋업한다 (405A). 그러면, 파일 전송 세션에 대한 TCH를 획득할 때, AT 1 은 애플리케이션 서버 (170) 와의 파일 전송 세션 동안에 데이터를 교환하기 위한 데이터-포트를 획득하기 위하여, 3-방향 TCP 핸드쉐이크에 관여함으로써 파일 전송 세션에 대한 AT 1의 전송 접속을 셋업한다 (410A). TCP는 당업계에 주지되며 표준 네트워크 계층화 프로토콜들을 이용한다. 일반적으로, 클라이언트, 예컨대 AT 1 이 서버, 예컨대 애플리케이션 서버 (170) 와 접속하려고 시도하기 전에, 서버는 우선 포트에 바인딩 (binding) 되어 접속들을 위해서 클라이언트를 오픈해야 하는데, 이것은 '수동 오픈 (passive open) ' 이라고 불린다. 수동 오픈이 확립되고 나면, 클라이언트는 '능동 오픈 (active open) '을 개시할 수도 있다. 전송 또는 TCP 접속을 실질적으로 확립하기 위하여, 3-방향 (또는 3-단계) 핸드쉐이크가 발생하고, 그것에 의하여 SYN을 서버로 전송하는 클라이언트에 의해서 능동 오픈이 수행되고, 서버는 SYN-ACK로 답신하며, 클라이언트는 ACK를 서버로 다시 전송한다. 이 시점에서, 이 경우에는 AT 1인 클라이언트는 애플리케이션 서버 (170) 와의 AT 1의 전송 접속을 활성화였으며, 메시지들을 애플리케이션 서버 (170) 로 태그 (tag) 할 데이터 포트를 가진다. 비록 도 4a에 명시적으로 도시되어 있지는 않지만, 위에서 설명된 TCP-핸드쉐이크는 또한 통신 세션에 대한 타겟 측에서 발생한다. 타겟 측에서 발생하는 셋업은 도 4b를 참조하여 밑에서 설명된다.
전송 접속을 셋업한 이후에, AT 1은, AT 1 에서의 파일 전송 세션을 핸들링하며 AT 2로의 송신을 위하여 애플리케이션 계층 데이터 (즉, 전송될 파일) 를 애플리케이션 서버 (170) 로 전송하는 것 (415A) 을 시작할 수 있는 애플리케이션을 셋업할 수 있다. AT 1은 파일 전송 세션 동안에 전송될 파일(들) 이 AT 2로의 송신을 위하여 애플리케이션 서버 (170) 로 성공적으로 전송되었는지를 주기적으로 결정할 수 있다 (420A). AT 1이 하나 이상의 파일들 또는 파일-부분들이 그들의 송신을 아직 완료하지 않았다고 420A에서 결정하면, 프로세스는 415A로 복귀하고, AT 1은 405A 및 410A에서 획득된 자원들을 이용하여 AT 2로의 송신을 위한 파일(들) 또는 파일-부분들을 애플리케이션 서버 (170) 로 계속 전송한다. 그렇지 않으면, 프로세스는 415A의 파일 전송 세션에 대한 모든 파일들의 전송이 송신을 완료한 이후에 425A으로 진행한다.
425A에서, AT 1은 415A의 데이터 송신을 위하여 획득된 세션 자원들을 해제 (release) 하여, 405A로부터의 TCH가 해체되고 410A의 전송 접속이 종결되도록 한다. 얼마 후의 시점에서, AT 1은 임의의 추가적인 파일들을 AT 2로 전송할지를 결정한다 (430A). 그렇다면, 프로세스는 405A로 복귀하여, AT 1이 세션 자원들 (예컨대, TCH, 전송 접속 등) 을 다시 획득하고 AT 2로의 다른 파일 전송 세션 동안에 하나 이상의 파일(들)을 전송한다.
도 4b 는 파일이 통신 시스템 내의 AT들 사이에서 교환될 수 있는 종래의 방식을 예시한다. 특히, 도 4a 는 어떻게 타겟 AT 가 송신 AT 로부터 파일을 수신하는지의 종래의 일 예를 예시한다. 도 4b 는 일 예로서, 도 4a 의 프로세스 동안에 타겟 AT 또는 AT 2 에서 발생할 수 있는 프로세스를 도시한다.
도 4b 를 참조하면, 애플리케이션 서버 (170) 가 AT 1 이 AT 2 로 포워딩될 데이터를 전송할 것이라는 것을 통보받은 이후에, 애플리케이션 서버 (170) 는 오픈 메시지 (Open message) 를 (예컨대, 페이지 메시지를) RAN (120) 으로 전송하고 (401B), 그러면 이것은 RAN (120) 에 의하여 AT 2 로 송신된다 (402B). AT 2 는 오픈 메시지를 수신하고 트래픽 채널 (TCH) 을 셋업하기 시작한다 (405B). 다음으로, 410B에서는, AT 2 가 AT 1 에서 발생된 프로세스 (410A) 와 유사한 TCP 핸드쉐이크를 통하여 전송 접속을 셋업한다.
이러한 프로세스 동안에 어떤 시점에서, AT 1 은 415A 에서 통신 세션에 대한 AT 1의 확립된 데이터 포트를 통해서 데이터를 애플리케이션 서버 (170) 로 전송하기를 시작한다. 애플리케이션 서버 (170) 는 AT 1 로부터의 데이터의 버퍼링을 시작하는데 (416B), 그 이유는 AT 2 와의 TCP 핸드쉐이크가 아직 완료되지 않았고 및/또는 애플리케이션 서버 (170) 가 데이터 패킷들을 시퀀스로 (in-sequence) 전송할 것이 요청되며, 패킷들이 순서에 맞지 않게 도착할 수 있기 때문이다. AT 2 가 SYN-ACK 메시지를 ACK함으로써 TCH-핸드쉐이크를 완료하고나면, 애플리케이션 서버 (170) 는 버퍼링된 데이터를 AT 2 로 포워딩하는 것을 시작할 수 있다 (420B). 그러나, 416B의 버퍼링은 반드시 ACK가 수신되는 순간 종료되어야 하는 것이 아니며, 소정 시간 기간 동안 계속될 수 있다.
이해될 수 있는 바와 같이, 415A 에서 애플리케이션 서버 (170) 에 도달한 데이터 패킷들은 무선 링크 내의 손실에 기인하여 순서가 맞지 않거나 시퀀스가 맞지 않을 수도 있다. 그러므로, 애플리케이션 서버 (170) 는 416B 에서 모든 패킷들을 버퍼링할 것이다. 데이터 포트가 AT 2 로 확립되면, 애플리케이션 서버 (170) 는 버퍼링된 데이터 패킷들을 AT 2 로 전달하기 시작할 수 있다 (420B). 종래에는, 패킷 p+1 이 여전히 빠져있기 때문에 n-1 개의 패킷들이 이용 가능하더라도 l 내지 p 의 연속적인 패킷들만이 AT 2 로 전달될 수 있다. 이것은 업계에서는 'HOL 블로킹 (head-of-line blocking) ' 이라고 알려지며 종래의 TCP에서의 문제점이다. 좀더 상세히 이하에서 설명될 바와 같이, 본 발명의 적어도 하나의 실시형태에서는, HOL 블로킹은 감소 및/또는 제거될 수 있다. 따라서, 도 4a 및/또는 도 4b 와 연관된 지연들은 부분적으로, TCP 내의 파일들이, 파일들이 순서대로 또는 시퀀스로 전달되도록 강제하기 때문에 발생한다.
이해될 수 있는 바와 같이, AT1 이 400A 에서 파일 전송 세션을 개시하는 것을 결정한 시간 내지 AT 1 이 415A에서 파일 전송 세션에 대한 데이터 패킷들의 전송을 시작할 수 있는 시간 사이에 상대적으로 긴 시간이 발생될 수 있다. 예를 들어, TCH를 셋업하기 위하여 약 300 ms 가 소요될 수 있고, 다음으로 전송 접속을 셋업하기 위하여 추가 시간이 소요될 수 있다. 따라서, 본 발명의 실시형태들은 AT가 사전-확립된 통신 세션 (예컨대, VoIP 세션 등) 내에 동시에 관여될 때 AT가 파일 전송 세션에 대해 데이터의 송신을 더 신속하게 시작하도록 허용하는 것에 관한 것이다.
도 4c 및 도 4d 는 본 발명의 일 실시형태에 따른, 발신 AT 1 및 타겟 AT 2 사이의 파일 전송 세션의 셋업과 연관되는 시그널링을 예시한다. 구체적으로 말하면, 도 4c 는 파일 전송 세션의 셋업 동안에 AT 1 과 애플리케이션 서버 (170) 사이에서 발생하는 시그널링에 중점을 두고, 도 4d 는 파일 전송 세션의 셋업 동안에 애플리케이션 서버 (170) 와 AT 2 사이에서 발생하는 시그널링에 중점을 둔다.
도 4c 를 참조하면, 주어진 AT ("AT 1 ") 는 파일 전송 세션을 개시할지를 결정한다 (400C). AT 1 이 파일 전송 세션을 개시하지 않는 것을 결정하면, 그러면 프로세스는 400C 에 남는다. 그와 달리, AT1 이 파일 전송 세션을 개시하는 것을 결정하면, AT 1 은 AT 1 에 의하여 이미 확립된 통신 세션이 파일 전송 세션에 대한 파일(들) 의 송신을 위해서 현재 이용가능한 세션 자원들로의 접속을 가지는지를 결정한다 (405C). 예를 들어, AT 1 이 405C 에서 이미 다른 파일 전송 세션에 관여되어 있다면, 그러면 AT 1 는 간단하게 신규하게 개시된 파일 전송 세션에 대해서 다른 파일 전송 세션의 TCH 및 전송 접속을 이용할 수 있다. 그와 달리, 기존 세션 자원들이 파일 전송 세션에 대해서 이용가능하지 않으면, 프로세스는 410C 로 진행한다.
도 4c 를 참조하면, AT 1 은 파일 전송 세션에 대해 RAN (120) 과의 TCH의 셋업을 시작한다 (410C). 도 4a 와는 달리 415C 에서는 TCH가 셋업을 완료하는 것을 대기하는 대신에, AT 1 은 대신 전송 데이터 및 애플리케이션 데이터를 포함하도록 DoS (data-over-signaling) 메시지를 구성하고, 그 다음 DoS 메시지를 역방향 링크 액세스 채널 상에서 RAN (120) 으로 전송하고, 이는 DoS 메시지를 애플리케이션 서버 (170) 로 포워딩함으로써 전송 접속 및 애플리케이션 계층 접속의 셋업을 선점적으로 시작한다. 일 예에서, 415C 에서 송신된 DoS 메시지는 AT 1 의 시그널링 메시지들에 대해서 이미 셋업된 시그널링 또는 DoS 포트를 이용할 수 있다. 예를 들어, 어떤 AT들은 AT들의 말단-사용자들에게 프로비져닝되기 이전에 서비스 제공자 (예컨대, 스프린트 사, 버라이즌 사 등) 에 의하여 DoS 포트들로 사전구성될 수 있다. 그 후에, AT들은 그들의 연관된 DoS 포트를 이용하도록, RAN (120) 에 의하여 커버리지 (coverage) 가 제공될 수 있는 한, 허용된다.
따라서, AT 1 은 415C 에서, 이전에 확립된 시그널링 포트를 레버리지 (leverage) 하여 파일 전송 세션에 대한 전송 및 애플리케이션 계층 접속들을 셋업한다. 애플리케이션 서버 (170) 는 415C에서 DoS 메시지 내에 포함된 특정 정보 (예컨대, 시그널링 포트와 같은, 데이터를 전송하는데 이용되고 있는 포트와는 상이한 포트 상에서 전달되고 있는 메시지) 를 인식하고, AT 1 이 파일 전송 세션 동안에 데이터를 AT 2 로 전송하기 위하여 전송 접속을 셋업하려고 시도하고 있다는 것을 결정한다. 따라서, 애플리케이션 서버 (170) 는 415C 로부터 DoS 메시지 내에 포함된 전송 계층 파라미터들을 이용하여 파일 전송 세션 동안에 이용할 AT 1 에 대한 데이터 포트를 선택한다 (417C).
애플리케이션 서버 (170) 는 시작 메시지를 401D 에서 AT 2 로 전송하여 AT 2 에게 파일 전송 세션에 대해 준비하라고 명령한다. 401D 는 아래에서 도 4d 를 참조하여 더 상세히 논의되는데, 이것은 애플리케이션 서버 (170) 및 타겟 AT 2 사이의 시그널링을 커버한다.
얼마 후의 시점에서, AT 1 이 그의 TCH 셋업을 완료한다고 가정한다 (420C). 또한, AT 1 은 애플리케이션 서버 (170) 로부터 415C 의 DoS 메시지에 대한 답신을 417C에서 AT 1 에 대해서 셋업되는 데이터 포트 상에서 수신한다 (425C). 이 시점에서, AT 1 은 데이터 포트에서 AT 2 로 포워딩될 데이터를 애플리케이션 서버 (170) 으로 전송하는 것을 시작한다 (430C). 이해될 수 있는 바와 같이, 데이터 포트 상에서 TCH를 거쳐 RAN (120) 으로 전송되어 애플리케이션 서버 (170) 으로 포워딩될 초기 데이터 메시지 (431C) 가 425C 로부터의 답신 메시지에 대한 ACK로서 기능하여, AT 1 이 답신 메시지에 대한 명시적 ACK를 전송할 필요가 없게 된다. (예를 들어, AT 2 가 데이터를 수신할 준비가 될 때까지 소정의 시간 기간 동안 데이터를 버퍼링한 이후에) 애플리케이션 서버 (170) 는 445D 에서 AT 1 로부터 AT 2 로 데이터를 포워딩하는데, 이것은 도 4d 를 참조하여 아래에서 더 상세히 논의된다.
위에서 논의된 바와 같이, 415C 의 DoS 메시지는 SYN 메시지로서 기능할 수 있다. 그 후에, 425C 의 답신 메시지는 SYN-ACK 메시지로서 기능할 수 있으며, 430C 및 431C 에서 데이터 포트 상에서 데이터를 전송함으로써 데이터 포트의 셋업을 완료할 수 있는데, 이것은 답신 메시지를 ACK 하는 기능한다. 따라서, 415C, 425C 및 431C 는 집합적으로 도 4a 의 415A에 도시된 TCP-핸드쉐이킹을 수행하는 상이한 방식에 대응하고, 그에 의하여 전송 접속은 TCH가 획득되기 이전에 셋업을 시작할 수 있다.
일 예에서, (예컨대, 도 4a 의 410A 에 도시된) TCP SYN 메시지는 415C 의 DOS 메시지 내에 임베딩될 수 있다. TCP SYN 메시지의 주요 콘텐츠는 소스 및 목적지 포트들 및 초기 시퀀스 번호를 포함한다. 애플리케이션 서버 (170) 는 SYN_ACK 메시지 (예컨대, 425C 의 답신 메시지 내에 임베딩될 수 있으며, 이것에 대해서는 아래에서 더 상세히 논의된다) 로 응답할 수 있거나, 또는 SYN ACK 메시지의 주요 콘텐츠를 (예컨대, 소스 및 목적지 포트들 및 초기 시퀀스 번호) AT 1 로 전송된 다른 메시지, 예를 들어 호 요청 메시지에 대한 ACK (예를 들어, 사용자 데이터그램 프로토콜 (UDP) 상의 Call-ACK 메시지) 에서 인코딩할 수 있다. 어느 하나의 경우에, AT 1 의 파일 전송 세션에 대한 TCP 전송 접속은 통상적으로 애플리케이션 계층 통신 세션 (예컨대, 둘 이상의 참여자들 간의 멀티미디어 세션) 에 대해서 이용되는 시그널링 세션 파라미터들을 레버리지한다. 415C 에서 전송 접속의 셋업을 개시함으로써, SYN 메시지는 애플리케이션 서버 (170) 로 더 신속하게 통신될 수 있고, 그리고 결과적으로 TCP 접속의 셋업이 참여자들 간의 단-대-단 호 (end-to-end call) 에 대해서 더 신속하게 발생될 수 있다. 다시 말하면, TCP 접속을 셋업하기 위한 3-웨이 (way) 핸드쉐이크를 수행하는 것과 연관된 지연 (도 4a 의 410A 에서와 같은) 은 도 4c 의 실시형태에서는 감소된다.
425C 의 답신 메시지는 시그널링 포트 대신에 데이터 포트 상에서 전송되고, 425C 에서 답신 메시지 (예컨대, SYN-ACK 메시지와 유사한 정보를 포함하는 메시지) 가 전송된 이후에, AT 1 은 파일 전송 세션 동안에 데이터의 송신들을 위해서 데이터 포트를 이용하기 시작할 수 있다. 따라서, TCH 를 가져오기 (bring up) 위한 그리고 파일 전송 세션에 대해 전송 접속을 획득하기 위한 프로세스들을 동시에 개시함으로써, AT 1 은 파일 전송 세션에 대한 애플리케이션 계층 데이터를 더욱 신속하게 전송하기를 시작할 수 있다. 도 4c 와 관련하여 위에서 언급된 바와 같이, 430C 및 431C 에서 전송된 데이터 패킷들은 무선 링크 내의 손실 때문에 순서에 맞지 않게 애플리케이션 서버 (170) 에 도달할 수도 있다. 이러한 경우에 애플리케이션 서버 (170) 는 모든 패킷들을 버퍼링할 것이다. 종래에는, 패킷 p+1 이 여전히 빠져있기 때문에 n-1 개의 패킷들이 이용 가능하더라도 l 내지 p 의 연속적인 패킷들만이 AT 2 로 전달될 수 있다. 이것은 업계에서는 'HOL 블로킹 (head-of-line blocking) ' 이라고 알려져 있고 종래의 TCP에서의 문제점이다. 좀더 상세히 이하에서 설명될 바와 같이, 본 발명의 적어도 하나의 실시형태에서는, HOL 블로킹은 감소 및/또는 제거될 수 있다 (예를 들어, 데이터 포트가 UDP에 대응하면, 블로킹은 모두 제거된다). 예를 들어, 좀더 상세히 이하에서 설명될 바와 같이, 버퍼링은, 종래의 도 4a 및 도 4b 와 비교할 때, 도 4d 의 440D 에서 타겟 AT 2 로부터 답신 메시지가 수신될 때까지만 계속될 수도 있고 그에 의해 버퍼링은 주어진 파일이 그의 전송을 완료할 때까지 발생한다.
AT 1 은 파일 전송 세션 동안에 전송될 파일(들) 이 AT 2 로의 송신을 위하여 애플리케이션 서버 (170) 로 성공적으로 전송되었는지를 주기적으로 결정할 수 있다 (440C). AT 1 이 하나 이상의 파일들 또는 파일-부분들이 그들의 송신을 아직 완료하지 않았다고 440C 에서 결정하면, 프로세스는 430C 로 복귀하고, AT 1 은 AT 2 로의 송신을 위해 파일(들) 또는 파일-부분들을 애플리케이션 서버 (170) 로 계속 전송한다. 그와 달리, 프로세스는 430C 의 파일 전송 세션에 대해 모든 파일들의 전송이 그들의 송신을 완료한 이후에 445C 로 진행한다. 445C 에서는, AT 1 은 임의의 추가적인 파일들을 AT 2 로 전송할지를 결정한다. 그렇다면, 프로세스는 430C 로 복귀하고, AT 1 은 AT 2 로의 다른 파일 전송 세션 동안에 하나 이상의 파일(들) 을 전송하기 위하여 이전 파일 전송 세션에 대해서 410C 내지 435C 동안에 확립된 세션 자원들을 재사용한다. 그와 달리, AT 1이 445C 에서 AT 2 로의 송신을 요청하는 더 이상의 데이터가 없다고 결정하면, AT 1 은 430C 및 431C 의 데이터 송신에 대해서 획득된 세션 자원들을 해제하여, 410C 및 420C 로부터의 TCH가 해체되고 전송 접속 (즉, 데이터 포트) 이 종결되도록 한다.
도 4c 의 검토로부터 인식되는 바와 같이, 시그널링 포트는 SYN-메시지 (또는 등가 정보) 를 전송하기 위해 이용되고, 그리고 그 이후로 데이터는 데이터 포트를 통해서 애플리케이션 서버 (170) 로 전송된다. 따라서, 전송 접속은 실제 세션에 대해서 현재 셋업되고 있는 포트와는 상이한 포트 상에서 셋업된다.
도 4d 는, 본 발명의 일 실시형태에 따라서, 도 4c 의 프로세스 동안에 애플리케이션 서버 (170) 와 타겟 AT 2 사이에서 발생하는 동작들을 예시한다. 특히, 도 4d 는 도 4c 의 401D 와 445D 사이에서, 애플리케이션 서버 (170) 와 타겟 AT 2 사이의 시그널링을 예시한다.
도 4d 를 참조하면, 도 4c 의 415C 에서 AT 1 로부터 시작 메시지를 수신하면, 애플리케이션 서버 (170) 은 파일 전송 세션에 대한 각각의 의도된 타겟을 식별 및 로케이팅 (locating) 하고, 다음으로 시작 메시지를 각각의 식별되고 로케이팅된 타겟으로 전송한다 (401D). 도 4d 에서는, 설명의 편의를 위하여, 단일 타겟 AT 2 가 도시된다. 401D 의 시작 메시지(들) 은 전송 데이터, 예컨대 타이머 지연들 및 메시지 윈도우 크기들과 함께 몇 개의 애플리케이션 데이터 예컨대 애플리케이션 서버 (170) 가 AT 2 로부터의 데이터를 수신할 것으로 예상하는 포트의 지정 (designation) 을 포함한다. 이해될 바처럼, 파일 전송 세션의 타겟(들) 로 할당된 데이터 포트(들) 은 AT 2 로 할당된 데이터-포트와 동일할 필요가 없다. 401D 의 시작 메시지는 시그널링 포트, 예컨대 DoS 포트 상에서 전송된다. 따라서, 시작 메시지는 AT 1 로부터의 415C 에서처럼 모바일-발신된 (mobile-originated, MO) DoS 메시지와 대조되는 모바일-종결 (mobile-termination, MT)-DoS 메시지에 대응할 수 있다.
시작 메시지를 수신하면, AT 2가 이미 기존 통신 세션에 관여되어, AT 2 가 이미 TCH를 갖는지를 AT 2가 결정한다 (410D). AT 2 가 410D 에서 TCH를 가지지 않는 것으로 AT 2 가 결정하면, AT 2 는 415D 에서 TCH를 가져온다.
다시 AT 1 으로 돌아가면, AT 1 이 데이터 포트를 획득한 이후에 (예컨대, AT 1 이 도 4c 의 425C 에서 답신 메시지를 수신한 이후에) AT 1 은 데이터 포트에서 데이터를 애플리케이션 서버 (170) 로 전송하기를 시작한다 (430D). 도 4d 에서는, 431C 는 AT 1 로부터 데이터 포트 상에서 전송된 초기 데이터 패킷에 대응하고, 도 4d 의 431C는 또한 도 4c 와 관련하에 위에서 논의된 같은 번호의 신호에 대응한다.
도 4d 의 실시형태에서는, AT 2 에 대해서 의도된 AT 1 로부터의 데이터는 AT 2 가 데이터를 수신할 준비가 되기 이전에 AT 1 의 데이터 포트 상에서 애플리케이션 서버 (170) 에 도달하기 시작한다고 가정된다. 따라서, 애플리케이션 서버 (170) 는 425D 에서 AT 1 로부터의 데이터의 버퍼링을 시작하고, 애플리케이션 서버 (170) 는 적어도 AT 2 가 애플리케이션 서버 (170) 로부터의 데이터를 다운로드할 준비되어 있음 (readiness) 을 표시할 때까지 425D 에서 데이터를 계속 버퍼링한다.
415D 에서 TCH를 셋업하거나 AT 2 가 410D 에서 이미 TCH를 가졌다는 것을 확인한 이후에, AT 2 는 답신 메시지를 애플리케이션 서버 (170) 로 전송한다 (440D). 440C 의 답신 메시지는 AT 2 가 파일 전송 세션에 대하여 이용하고 있는 포트와 같은 정보를 포함한다. 답신 메시지를 AT 2 로부터 수신하면, 애플리케이션 서버 (170) 는 파일 전송 세션에 대해서 AT 2 에 의하여 이용되는 데이터 포트를 알게 되고, 그에 의해 425C 의 버퍼링된 데이터를 AT 2 로 전송하는 것을 시작한다 (445D).
비록 도 4d 에는 도시되지 않았지만, 431C 에서 AT 1 로부터의 데이터가 애플리케이션 서버 (170) 에 도달하기 이전에 440D 의 답신 메시지가 애플리케이션 서버 (170) 에 도달할 수 있다는 것이 가능하다. 예를 들어, AT 1 이 TCH 없이 도 4c 의 프로세스를 시작하고, AT 2 가 TCH를 가지고 도 4d 의 프로세스를 시작하면, AT 1 이 그 자신의 TCH를 셋업하고 데이터의 전송을 시작할 수 있는 것보다 더 신속하게 AT 2 는 시작 메시지에 응답가능할 수도 있다. 이러한 경우에는, 애플리케이션 서버 (170) 는 425D 의 버퍼링을 수행할 필요가 없으며, 오히려 AT 1 로부터의 데이터가 애플리케이션 서버 (170) 에 도착하기 시작하는 대로 AT 1 로부터의 데이터를 AT 2 로 포워딩하는 것을 시작할 수 있다.
비록 도 4c 및 도 4d 가 어떻게 파일 전송 세션이 셋업될 수 있는지에 관한 것이지만, 무선 통신 시스템들에서의 파일 전송 세션들에 대한 다른 양태는 발신 또는 타겟 액세스 단말의 상이한 기능적 계층들 간의 상호작용이다. 도 5a 내지 도 5d 에서, AT 1 의 기능적 계층들 "1", "2" 및 "3" 에 대해서 참조한다. 이 상이한 기능적 계층들은 상이한 계층들에서 특정 기능을 수행하는 것을 담당하는 소프트웨어 및/또는 하드웨어의 조합에 대응한다. 그러나, 아래에서 설명되는 실시형태들이 설명의 편의를 위해서 세개 (3) 의 기능성 계층들에 중점을 두고 있지만, 실시형태들은 3 개의 기능성 계층들에 한정되지 않으며 그 대신에 임의의 수의 기능성 계층들을 포함할 수 있다는 것이 이해될 것이다.
일 예에서, 기능적 계층 1 은 MAC 계층이라고 지칭될 수 있고, 기능적 계층 2 는 전송 계층이라고 지칭될 수 있으며, 기능적 계층 3 은 애플리케이션 계층이라고 지칭될 수 있다. 기능적 계층 1 은 RAN (120) 으로의 역방향-링크 물리적 계층 채널 상에서 송신을 위해 큐잉된 (queued) 데이터 패킷들을 홀딩하는 송신 윈도우 또는 송신 큐를 갖는 것을 특징으로 한다. 기능적 계층 2 는 어떤 패킷들이 기능적 계층 1 의 송신 윈도우에 추가될 것을 요청할 수 있으며, 그리고 이 패킷들은 실제로 기능적 계층 3 에 의하여 더 높은 레벨 또는 더 높은 계층에서 발생될 수 있다.
일 예에서, 기능적 계층 3 은 애플리케이션 계층 인터페이스, 예컨대 세션 개시 프로토콜 (SIP) 클라이언트 또는 임의의 다른 멀티미디어 애플리케이션 계층 인터페이스 프로세스에 대응할 수 있다. 예를 들어, SIP 클라이언트는 매체 애플리케이션 (예컨대, VoIP 애플리케이션, PTT 애플리케이션 등), 전송 계층 프로토콜, 및 더 낮은 계층 제어기 (예컨대, W-CDMA 시스템들에서 무선 링크 제어 (RLC) 계층의 제어기, EV-DO 시스템들 에서 무선 링크 프로토콜 (RLP) 계층의 제어기 등) 의 애플리케이션 계층 기능성을 관리하는 것을 담당할 수도 있다.
일반적으로, 기능적 계층 3 이 다른 세션 참여자 (예컨대, AT 2) 로 전송할 데이터를 가진다면, 기능적 계층 3 은 기능적 계층 2 에게 데이터를 전송하도록 요청하고, 기능적 계층 2 는 차례로 기능적 계층 1 에게 물리적-채널 상에서 데이터를 전송하도록 요청한다. 그러나, 기능적 계층 3 이 언제 데이터가 실제로 송신되는지에 대한 직접 제어를 갖기 않기 때문에, 기능적 계층 3 은 언제 데이터가 기능적 계층 1 에 의하여 물리적-채널 상에서 전송되는지를 결정할 수 없다. 그러므로, 기능적 계층 3 은 통상적으로 언제 기능적 계층 3 이 기능적 계층 2로의 데이터-패킷 송신 커맨드들을 이슈 (issue) 하는지를 추적하지만, 언제 기능적 계층 1 이 물리적 계층 상에서 (즉, 무선 인터페이스 (104) 상에서) 실제 데이터 패킷을 송신하는지를 추적하지 않는다.
도 5a 를 참조하면, AT 1 이 적어도 하나의 다른 세션 참여자와의 통신 세션 (예컨대, 스트리밍 매체 세션, 파일 전송 세션 등) 을 셋업하고 그에 참여하기 시작한다고 가정한다 (500A). 다음으로, 기능적 계층 3 은 기능적 계층 2에게 통신 세션에 대한 신규한 데이터 패킷을 송신하도록 요청하고 이는 애플리케이션 서버 (170) 로, 그리고 다음으로 적어도 하나의 다른 세션 참여자로 전송된다 (505A). 기능적 계층 2 에게 신규한 데이터 패킷을 송신하도록 요청한 이후에, 기능적 계층 3 은 주어진 만료 기간을 가지는 만료 타이머를 시작한다. 만료 타이머가 실행되는 동안에, 기능적 계층 3 은 송신된 데이터 패킷의 ACK를 수신하기 위해 대기하고, 이에 의하여 기능적 계층 3 은 만료 타이머가 만료되기 전에 ACK이 수신되지 않으면 데이터 패킷의 송신이 성공적이지 않았다고 추론할 것이다 (510A).
기능적 계층 2 가 신규한 데이터 패킷의 송신에 대한 요청을 수신하고 데이터 패킷을 기능적 계층 2 에 의하여 유지되는 송신 큐 또는 윈도우에 추가하고 (515A), 그 후에 기능적 계층 2 가 기능적 계층 1 에게 기능적 계층 2 의 송신 윈도우 내에 현재 스케줄링된 모든 데이터 패킷들을 송신하려고 시도하도록 명령한다 (520A). 이해될 바처럼, 본 발명의 모든 실시형태들이 기능적 계층 2 에게 그 자신의 송신 윈도우 또는 큐를 가지도록 요청하는 것은 아니다. 기능적 계층 2 가 이러한 송신 윈도우를 갖지 않았다면, 기능적 계층 2는 기능적 계층 3에 의한 송신을 위해 신규한 데이터 패킷이 요청될 때마다 기능적 계층 1의 송신 윈도우로 505A 에서 송신을 위해 요청된 데이터 패킷을 단순히 추가할 수 있다. 따라서, 비록 기능적 계층 2 가 그 자신의 송신 큐를 반드시 가질 필요가 없지만, 도 5a 내지 도 5d 의 실시형태들은 기능적 계층 2 가 그 자신의 송신 큐에 대한 액세스를 가진다는 가정하에 설명된다. 본 발명의 다른 실시형태들에서, 기능적 계층 2 에서 송신 큐의 결여를 수용하기 위해서 어떻게 도 5a 내지 도 5d 가 수정될 수 있는지는 당업자에 의해 쉽게 이해될 것이다.
기능적 계층 1 은 기능적 계층 2로부터 송신 순서를 수신하고, 기능적 계층 2 의 송신 윈도우로부터의 데이터 패킷들을 그 자신의 송신 윈도우에 추가한다 (525A). 530A 에서는, 기능적 계층 1 이 기능적 계층 1 의 송신 윈도우 내에 포함된 데이터 패킷들을 송신하는 것을 한 번 이상 시도한다. 530A 에서는, 기능적 계층 1 의 송신 윈도우 내의 데이터 패킷들 중 하나의 송신 시도가 성공적이지 않으면, 기능적 계층 1 은 데이터 패킷(들) 이 성공적으로 전송될 때까지 주어진 횟수만큼 비성공적으로 송신된 데이터 패킷들을 다시 기능적 계층 1 의 송신 윈도우에 추가한다. 따라서, 535A 는 기능적 계층 1 의 송신 윈도우로 다시 추가되고 있는 데이터 패킷이 그의 성공적인 송신을 초래하는 것을 도시한다. 당업자에게 이해될 수 있는 바와 같이, 기능적 계층 3 은 데이터 패킷을 전송하기 위한 이러한 개별적인 시도들이 성공적인지 비성공적인지 여부에 대하여 통보되지 않는다. 535A 에서 데이터 패킷의 성공적인 송신 이후에, 애플리케이션 서버 (170) 는 기능적 계층-3 ACK 메시지를 다시 AT 1 로 전송함으로써 데이터 패킷의 성공적인 수신을 확인한다 (540A).
위에서 설명된 데이터 패킷 송신 프로세스가 기능적 계층 1 에서 진행 중인 동안에, 기능적 계층 3 은 실질적으로 기능적 계층 1 에서 발생되는 동작들에 대해서 알지 못하며, 기능적 계층 3 은 단지 505A 에서의 송신을 위해 요청된 데이터 패킷에 대한 ACK가 기능적 계층 3 에서 수신되었는지를 단순히 모니터링한다. 따라서, 545A 에서는, 기능적 계층 3 이 505A 로부터 요청된 데이터 패킷에 대한 ACK가 만료 타이머가 만료되기 이전에 수신되었는지를 결정한다. 545A 에서 데이터 패킷이 성공적으로 ACK되었다고 기능적 계층 3 이 결정하면, 프로세스는 560A 로 진행한다. 그와 달리, 데이터 패킷이 545A 에서 성공적으로 ACK되지 않았다고 기능적 계층 3 이 결정하면, 기능적 계층 3 은 데이터 패킷에 대한 송신 실패를 추론하고, 그 데이터 패킷을 다시 송신하기 위한 다른 요청을 전송 계층 프로토콜로 이슈한다 (550A). 도 5a 의 실시형태에서는, 540A 의 ACK가 만료 타이머의 만료 이후에 수신되어, 기능적 계층 3 은 그의 데이터 패킷이 545A 에서 성공적으로 ACK되지 않았다고 이미 결정한다.
따라서, 기능적 계층 2 는 데이터 패킷의 송신을 위한 신규한 요청을 수신하고, 다시 데이터 패킷을 기능적 계층 2 의 송신 윈도우에 추가한다 (555A). 이 시점에서, 프로세스는 520A 로 복귀하고, 기능적 계층 1 에 의하여 데이터 패킷의 송신을 위한 신규한 요청에 대해 반복된다. 이해될 바처럼, 비록 기능적 계층 1 이 데이터 패킷을 전송하려고 계속 시도했지만, 기능적 계층 3 은 오직 데이터 패킷의 송신에 대한 신규한 요청을 트리거하는 만료 타이머가 만료되었다는 것만을 인식한다. 그러면, 이것은 기능적 계층 1 에게 데이터 패킷을 애플리케이션 서버 (170) 로 두 번 (즉, 505A 에서 기능적 계층 3 에 의해서 이슈된 각각의 패킷 송신 요청마다 한번씩) 전송하라고 요청할 것이다.
도 5a 의 실시형태에서는, 기능적 계층 3이 그것이 송신을 위해 요청한 데이터 패킷들 중 하나가 545A 에서 애플리케이션 서버 (170) 에 의하여 성공적으로 ACK되었다고 결정하면, 그러면 기능적 계층 3 은 애플리케이션 서버 (170) 로의 송신을 위하여 더 많은 데이터가 요청되야 하는지를 결정한다 (560A). 기능적 계층 3 이 560A 에서 애플리케이션 서버 (170) 로 더 많은 데이터를 송신하는 것을 결정하면, 프로세스는 505A 로 복귀하고 하나 이상의 추가적 데이터 패킷들의 송신에 대해서 반복된다. 그와 달리, 비록 500A 의 통신 세션이 일정 시간 기간 동안 데이터 패킷들을 전송함이 없이 데이터 패킷들을 수신하는 AT 1로 계속될 수 있지만, 도 5a 의 프로세스는 종결된다.
기능적 계층 3 및 기능적 계층 1 이 기능적 계층 1 에서의 송신을 대기하는 패킷의 상태에 관련된 정보를 교환할 수 있는 메커니즘에 관련된 본 발명의 실시형태가 이제 도 5b 를 참조하여 설명될 것이다.
도 5b 를 참조하면, AT 1 이 적어도 하나의 다른 세션 참여자와의 통신 세션을 셋업하고 그 통신 세션에 참여하기 시작한다고 가정한다 (500B). 다음으로, 기능적 계층 3 은 통신 세션에 대한 신규한 데이터 패킷이 애플리케이션 서버 (170) 로의, 그리고 다음으로 적어도 하나의 다른 세션 참여자로의 송신을 위하여 기능적 계층 2로 전송되어야 한다고 요청한다 (505B). 그러나, 도 5a 와는 다르게, 기능적 계층 2 에게 505B 에서 신규한 데이터 패킷을 전송하라고 요청한 이후에, 기능적 계층 3 이 데이터 패킷에 대한 ACK을 대기할 시간 기간을 정의하는 만료 타이머를 기능적 계층 3 이 아직 시작하지 않는다.
다음으로, 도 5b 의 510B 내지 530B 는 일반적으로 도 5a 의 515A 내지 535A 에 각각 대응하고, 그래서 간결성을 위해서 더 상세히 설명되지 않을 것이다. 기능적 계층 1 이 530B 에서 물리적-계층 상에서 데이터 패킷을 RAN (120) 으로 성공적으로 송신한 이후에, RAN (120) 은 계층 1-ACK를 AT 1 의 기능적 계층 1 로 전송하고 (534B), 그 후에 기능적 계층 1 은 505B 에서 송신을 위해 요청된 데이터 패킷이 AT 1으로부터 송신되었다는 것을 표시하는 통보 메시지를 기능적 계층 3으로 전송한다 (535B). 예를 들어, 기능적 계층 1 로부터 기능적 계층 3 으로의 통보 메시지는 콜-백 (call-back) API 로서 구현될 수도 있다. 비록 도 5b 에 명시적으로 도시되어 있지는 않지만, 535B 의 통보는, 각각의 데이터 패킷들이 기능적 계층 1 에서 AT 1 로부터 송신될 때 기능적 계층 3 에 의하여 송신을 위해 요청된 각각의 데이터 패킷에 대해서 수행될 수 있다.
기능적 계층 3 은 종래에는 기능적 계층 3 그 자체가 데이터 패킷 송신을 요청할 때 만료 타이머를 시작하고, 이것은 데이터 패킷이 AT 1 로부터 송신될 수 있기 이전에 기능적 계층들 2 및/또는 1 에서의 지연들을 고려하지 않는다. 도 5b 의 실시형태에서는, 535B 에서 기능적 계층 3 에서 데이터 패킷 송신의 통보를 수신하면, 기능적 계층 3 은 505B 에서 데이터 패킷 송신 요청이 이슈되는 때 대신에 540B 에서 만료 타이머를 시작한다. 당업자에게 이해될 수 있는 바와 같이, 이러한 나중의 시점에서 만료 기간을 시작하면, 데이터 패킷의 송신 이전에 발생하는 AT 1 의 기능성 계층들 2 및/또는 1 에서의 지연들에 기인하여 기능적 계층 3 이 동일한 데이터 패킷을 송신하라는 요청들을 재이슈할 가능성을 감소시킨다. 또한, 스루풋이 에지 시나리오 (edge scenario) 에서를 제외하고는 열화될 필요가 없다. 또한, 비록 540B 에서 시작된 만료 타이머가 510A 에서의 만료 타이머보다 더 짧은 시간 기간동안 실행하는 것으로 도시되었지만, 510A 및 540B 의 시간들에 대한 실제 만료 기간들은 동일할 수 있다는 것이 이해될 수 있을 것이다. 그러나, 540B 에서 만료 타이머가 나중의 시점에서 시작하기 때문에, 540B 의 만료 타이머는 더 짧은 기간 동안 실행할 수 있는데, 이는 ACK가 타이머의 시작에 후속하여 더 신속하게 수신될 것이기 때문이다.
다시 기능적 계층 1 로 돌아오면, 530B 에서의 데이터 패킷의 성공적인 송신 이후에, 애플리케이션 서버 (170) 는 계층-3 또는 SIP-계층 ACK 메시지를 다시 AT 1 로 전송함으로써 데이터 패킷의 성공적인 수신을 확인한다 (545B).
550B 에서는, 기능적 계층 3 이, 505B 로부터 요청되고 530B 에서 AT 1 로부터 송신된 데이터 패킷에 대한 ACK가 만료 타이머가 만료되기 이전에 수신되었는지를 결정한다. 다시, 도 5b 에서의 만료 타이머는 505B 에서 기능적 계층 3으로부터 실제 데이터 패킷 송신 요청이 이슈되기 이전 대신에 535B 의 통보 이후에 시작하는데, 이것은 일반적으로 도 5b 의 만료 타이머가 기능적 계층 3 에 의하여 반복-송신이 요청되기 이전에 초기 데이터 패킷의 송신을 ACK할 더 긴 타이머를 애플리케이션 서버 (170) 에게 허락할 것이라는 것을 의미한다. 기능적 계층 3 이 데이터 패킷이 550B 에서 성공적으로 ACK되었다고 결정하면, 프로세스는 565B 로 진행한다. 그와 달리, 기능적 계층 3 이 데이터 패킷이 550B 에서 성공적으로 ACK되지 않았다고 결정하면, 기능적 계층 3 은 데이터 패킷에 대한 송신 실패를 추론하고, 데이터 패킷을 다시 송신하기 위한 다른 요청을 기능적 계층 2에 이슈한다 (555B). 기능적 계층 2 는 데이터 패킷의 송신에 대한 신규한 요청을 수신하고, 데이터 패킷을 다시 기능적 계층 2 의 송신 윈도우에 추가한다 (560B). 이 시점에서, 프로세스는 515B 로 복귀하고 데이터 패킷의 송신을 위한 신규한 요청에 대해 반복된다. 도 5b 의 예에서는, 550B의 결정 블록이, 505B 의 송신 요청 대신에 535B 의 통보에 응답하여 만료 타이머를 시작하는 기능적 계층 3 에 적어도 부분적으로 기초하여, 만료 기간 내에 수신되는 애플리케이션 서버 (170) 로부터의 ACK 에 대해 평가한다는 것이 인식될 것이다.
따라서, 도 5b 는 기능적 계층 3으로부터의 불필요한 반복 데이터 패킷 송신 요청들의 수가, 언제 무선 또는 물리적 계층 상에서 RAN (120) 로의 데이터 패킷 송신이 성공적인지에 관련하여 기능적 계층 1 이 기능적 계층 3 에게 통보하는 메커니즘을 구현함으로써, 어떻게 감소될 수 있는지를 설명하는 예시적인 일 실시형태이다. 따라서, 도 5a 및 도 5b 가 주어진 데이터 패킷의 성공적인 물리적-계층 송신의 기능적 계층 3 에의 조기 통보와 연관된 혜택들을 예시하는 반면에, 도 5c 및 도 5d 는 주어진 데이터 패킷의 비성공적인 물리적-계층 송신의 기능적 계층 3 에의 조기 통보와 연관된 혜택들을 예시한다.
도 5c 를 참조하면, AT 1 이 적어도 하나의 다른 세션 참여자와의 통신 세션 (예컨대, 스트리밍 매체 세션, 파일 전송 세션 등) 을 셋업하고 그 통신 세션에 참여하기 시작한다고 가정한다 (500C). 다음으로, 기능적 계층 3 은 신규한 데이터 패킷의 애플리케이션 서버 (170) 에의, 그리고 다음으로 적어도 하나의 다른 세션 참여자에의 송신에 대한 요청을 기능적 계층 2로 이슈한다 (505C). 기능적 계층 2 에게 신규한 데이터 패킷을 송신하도록 요청한 이후에, 기능적 계층 3 은 도 5a 의 510A 에서처럼 주어진 만료 기간을 가지는 만료 타이머를 시작한다. 만료 타이머가 실행되는 동안에, 기능적 계층 3 은 송신된 데이터 패킷의 ACK를 수신하기를 대기하는데, 이에 의하여 기능적 계층 3 은 만료 타이머가 만료되기 전에 ACK가 수신되지 않는다면 데이터 패킷의 송신이 성공적이지 않았다고 추론할 것이다 (510C).
기능적 계층 2 는 신규한 데이터 패킷의 송신에 대한 신규한 요청을 수신하고 데이터 패킷을 기능적 계층 2 의 송신 윈도우에 추가하며 (515C), 그 후에 기능적 계층 2 는 기능적 계층 1 에게 기능적 계층 2 의 송신 윈도우 내에 현재 스케줄링된 데이터 패킷들 모두를 송신하려고 시도하도록 명령한다 (520C). 기능적 계층 1 은 기능적 계층 2로부터 송신 명령을 수신하고, 다음으로 기능적 계층 2 의 송신 윈도우로부터의 데이터 패킷들을 그 자신의 송신 윈도우에 추가한다 (525C). 530C 에서, 기능적 계층 1 은 기능적 계층 1 의 송신 윈도우 내에 포함된 데이터 패킷들을 송신하는 것을 한 번 이상 시도한다. 530C 에서, 기능적 계층 1 의 송신 윈도우 내의 데이터 패킷들 중 하나의 송신 시도가 성공적이지 않으면, 데이터 패킷(들) 이 성공적으로 전송되거나 반복된 송신 시도들의 횟수가 임계치를 초과할 때까지 기능적 계층 1 은 주어진 횟수만큼 비성공적으로 송신된 데이터 패킷들을 기능적 계층 1 의 송신 윈도우에 다시 추가한다. 따라서, 530C 는 데이터 패킷을 애플리케이션 서버로 송신하려는 비성공적인 시도를 도시하고, 이것에 의해 데이터 패킷은 RAN (120) 으로 성공적으로 전송되지 않는다.
RAN (120) 이 애플리케이션 서버 (170) 로의 데이터 패킷의 송신을 완료할 수 없기 때문에, RAN (120) 은 계층-1 네가티브 ACK (NACK) 를 AT 1 의 기능적 계층 1로 전송한다 (540C). 대안적으로는, 명시적 NACK이 RAN (120) 에 의하여 전송될 필요가 없으며, 이 경우에는 기능적 계층 1 이 RAN (120) 으로부터 수신되는 ACK (즉, ACK-타임아웃) 없이 시간의 임계 기간 이후에 물리적 계층 상의 데이터 패킷의 송신의 실패를 간단하게 유추할 것이다. 그러나, 기능적 계층 1 이 NACK-프레임을 수신하거나 ACK이 수신되지 않을 때 패킷-손실을 추론하지만, 기능적 계층 1 은 데이터 패킷의 시도된 송신이 이미 실패했다는 것을 기능적 계층 3 에게 통보하지는 않는다.
도 5c 의 실시형태에서는, 위에서 설명된 데이터 패킷 송신 프로세스가 기능적 계층 1 에서 진행되고 있는 동안에, 기능적 계층 3 은 실제로 기능적 계층 1 에서 발생되는 동작들을 알지 못하며, 기능적 계층 3 은 단지 505C 에서 송신을 위해 요청된 데이터 패킷에 대한 ACK이 기능적 계층 3 에서 수신되었는지를 단순히 모니터링한다. 따라서, 545C 에서는, 기능적 계층 3 이 505C 로부터 요청된 데이터 패킷에 대한 ACK가 만료 타이머가 만료되기 이전에 수신되었는지를 결정한다. 545C 에서 데이터 패킷이 성공적으로 ACK되었다고 기능적 계층 3 이 결정하면, 프로세스는 560C 로 진행한다. 그와 달리, 데이터 패킷이 545C 에서 성공적으로 ACK되지 않았다고 기능적 계층 3 이 결정하면, 기능적 계층 3 은 데이터 패킷에 대한 송신 실패를 추론하고, 그 데이터 패킷을 송신하기 위한 다른 요청을 기능적 계층 2로 이슈한다 (550C). 기능적 계층 2 는 데이터 패킷의 송신에 대한 신규한 요청을 수신하고, 데이터 패킷을 기능적 계층 2 의 송신 윈도우에 다시 추가한다 (555C). 이 시점에서, 프로세스는 520C 로 복귀하고, 데이터 패킷의 송신을 위한 신규한 요청에 대해서 반복한다.
이해될 바처럼, 비록 기능적 계층 1 이 (예를 들어, RAN (120) 으로부터의 ACK의 수신 실패 또는 명시적 NACK 으로부터) 540C 에서 패킷-실패 또는 패킷-손실을 결정하더라도, 기능적 계층 3 은 545C 에서 만료 타이머의 만료시에만 송신 실패를 가정한다. 따라서, 도 5a 의 만료 타이머에 의존한 것이 ACK가 늦게 도달한 경우에 데이터 패킷의 불필요한 반복-송신을 야기했고, 도 5c 의 만료 타이머에 의존하는 것은 송신 시도가 실제로 실패할 경우에 데이터 패킷의 반복-송신을 명령하기 이전에 불필요한 지연을 야기했다.
다시 도 5c 을 참조하면, 기능적 계층 3 은 그것이 송신을 위해 요청한 데이터 패킷들 중 하나가 545C 에서 애플리케이션 서버 (170) 에 의하여 성공적으로 ACK되었다고 결정하면, 그러면 기능적 계층 3 은 애플리케이션 서버 (170) 로의 송신을 위하여 더 많은 데이터가 요청되어야 하는지를 결정한다 (560C). 기능적 계층 3 이 560C 에서 애플리케이션 서버 (170) 로 더 많은 데이터를 송신하는 것을 결정하면, 프로세스는 505C 로 복귀하고 하나 이상의 추가적 데이터 패킷들의 송신에 대해서 반복된다. 그와 달리, 비록 500C 의 통신 세션이 일정 시간 기간 동안 데이터 패킷들을 전송함이 없이 데이터 패킷들을 수신하는 AT 1 로 계속될 수 있지만, 도 5c 의 프로세스는 종결된다.
기능적 계층 1 에서의 송신을 대기하는 패킷의 상태에 관련되어 기능적 계층 1 및 기능적 계층 3 이 정보를 교환하는 메커니즘에 관한 본 발명의 일 실시형태가 이제 도 5d 를 참조하여 설명될 것이다.
도 5d 를 참조하면, AT 1 이 적어도 하나의 다른 세션 참여자와의 통신 세션을 셋업하고 그 통신 세션에 참여하기 시작한다고 가정한다 (500D). 다음으로, 기능적 계층 3 은 통신 세션에 대한 신규한 데이터 패킷이 애플리케이션 서버 (170) 로의, 그리고 다음으로 적어도 하나의 다른 세션 참여자로의 송신을 위하여 기능적 계층 2로 전송되어야 한다고 요청한다 (505D). 그러나, 도 5c 와는 다르게, 기능적 계층 2 에게 505D 에서 신규한 데이터 패킷을 전송하라고 요청한 이후에, 기능적 계층 3 이 데이터 패킷에 대한 ACK을 대기할 시간 기간을 정의하는 만료 타이머를 기능적 계층 3 이 아직 시작하지 않는다.
다음으로, 도 5d 의 510D 내지 530D 는 일반적으로 도 5c 의 515C 내지 535C 에 각각 대응하고, 그래서 간결성을 위해서 더 상세히 설명되지 않을 것이다. 기능적 계층 1 이 530B 에서 임의의 데이터 패킷들을 RAN (120) 으로 성공적으로 전송할 수 있었다면, 기능적 계층 1 은 505D 에서 송신을 위해 요청된 데이터 패킷이 도 5b 의 535B 와 유사하게 AT 1 로부터 송신되었다는 것을 표시하는 통보 메시지를 기능적 계층 3으로 전송한다 (535D). 그러나, 535D 다음에 곧, RAN (120) 이 AT 1 의 기능적 계층 1 로 데이터 패킷에 대한 계층-1 NACK을 전송하거나, 또는 대안적으로 기능적 계층 1 이 RAN (120) 이 데이터 패킷을 ACK 하는 것을 실패할 경우에 패킷-손실 또는 패킷-실패를 추론한다고 가정한다 (540D). 도 5c 에서는, 540C 에서의 패킷-송신 실패의 표시는 데이터 패킷에 대한 후속 송신 시도들의 중지를 야기했다. 그러나, 도 5d 에서는, 540D 에서의 패킷-송신 실패의 표시가 또한, 535D 에서 기능적 계층 3 으로 표시된, 데이터 패킷을 송신하려는 시도가 실패했다는 기능적 계층 3 에 대한 통보를 야기한다 (545D). 도 5b 의 535B 의 통보 및/또는 도 5d 의 535D 의 통보와 유사하게, 545D 에서의 기능적 계층 1 로부터 기능적 계층 3 으로의 통보 메시지는 콜-백 API 로서 구현될 수도 있다.
비록 도 5d 에 도시되어 있지는 않지만, 기능적 계층 3 은 535D 의 송신-통보의 수신 시에 만료 타이머를 시작할 수 있다. 그러나, 545D 에서 송신-실패의 통보의 후속 수신 시에는, 기능적 계층 3 은 이러한 만료 타이머가 만료되도록 대기할 필요가 없으며, 오히려 이로부터 데이터 패킷이 기능적 계층 1로부터의 통보를 통해서 재송신을 요청한다고 추론할 수 있다.
따라서, 기능적 계층 1로부터의 송신-실패 통보에 응답하여, 기능적 계층 3 은 데이터 패킷을 송신하기 위한 다른 요청을 기능적 계층 2로 이슈한다 (550D) (예를 들어, 소정 시간에 대응하는 만료 타이머가 데이터 요청 송신을 재이슈하는 것을 삼가할지 또는 ACK를 대기할지에 상관없이 만료된다). 기능적 계층 2 는 데이터 패킷의 송신에 대한 신규한 요청을 수신하고 데이터 패킷을 기능적 계층 2 의 송신 윈도우에 추가한다 (555D). 그 후에 기능적 계층 2 는 기능적 계층 1 에게 기능적 계층 2 의 송신 윈도우 내의 패킷들 모두를 송신하려고 시도하도록 명령한다 (560D). 기능적 계층 1 은 기능적 계층 2로부터 송신 순서 (transmission order) 를 수신하고, 다음으로 기능적 계층 2 의 송신 윈도우로부터의 데이터 패킷들을 그 자신의 송신 윈도우에 추가한다 (565D). 570D 에서, 기능적 계층 1 이 데이터 패킷을 RAN (120) 으로 성공적으로 송신하고, RAN (120) 이 성공적으로 데이터 패킷을 애플리케이션 서버 (170) 로 포워딩한다고 가정한다. 따라서, 애플리케이션 서버 (170) 는 계층-3 ACK 메시지를 다시 AT 1 로 전송함으로써, 데이터 패킷의 성공적인 수신을 확인한다 (575D).
ACK를 수신하면, 기능적 계층 3 은 다른 데이터 패킷을 송신할지를 결정한다 (580D). 기능적 계층 3 이 다른 데이터 패킷을 송신할 것을 결정하면, 프로세스는 505D 로 복귀한다. 그와 달리, 기능적 계층 3 이 580D 에서 다른 데이터 패킷을 송신하지 않기로 결정하면, 비록 500D 의 통신 세션이 일정 시간 기간 동안 데이터 패킷들을 전송함이 없이 데이터 패킷들을 수신하는 AT 1으로 계속될 수 있지만, 도 5d 의 프로세스는 종결된다.
시그널링 도를 간략화하기 위해서 비록 도 5d 에 명시적으로 도시되어 있지는 않지만, 550D 와 575D 사이에서의 데이터 패킷을 송신하려는 반복되는 시도가, 적절히 535D 및 545D 의 통보들과도 연관될 수 있다는 것이 이해될 수 있을 것이다. 이러한 통보 메시지들은 명확화를 위해서 생략되었는데, 하지만 예를 들어 송신-통보가 570D 후에 기능적 계층 1 로부터 기능적 계층 3으로 전송될 수 있다는 것이 이해될 것이며, 예를 들면, 이것은 기능적 계층 3 에서 만료 타이머가 시작되는 것을 초래할 수 있다.
추가 예로, 도 5d 를 참조하면, 개선된 다중-흐름 패킷 애플리케이션 (Enhanced Multi-flow Packet Application) 을 이용할 때, RLP 계층 (예컨대, 기능적 계층 1) 이 최대 송신 유닛들 (maximum transmission units, MTUs) 의 프레이밍 (framing) 및 디-프레이밍 (de-framing) 을 수행한다. RLP NACK 이 기능적 계층 1 에서 수신되면, (예컨대, 도 5b 의 535B 또는 도 5d 의 535D 에서처럼) RLP 계층이 패킷을 임계 횟수만큼 재송신하면 더 높은 계층 (예컨대, 기능적 계층 3) 에, MTU가 성공적으로 송신되었는지 여부를 표시할 수 있다. RLP NACK들이 디스에이블되지만 MTU가 다수의 RLP 패킷들 상에서 프래그먼트화 (framented) 되고, 이 RLP 패킷들이 또한 물리적인 계층 패킷들 상에서 세그멘트화된 다음, 세그먼트의 손실이 물리적 계층 NACK들 (Physical Layer NACKs) 에 의해서 추론될 수 있다. RLP 패킷은 이러한 물리적인 계층 NAK들에 기초하여 성공적인 것으로 추론될 수 있다. 그러나, 심지어 물리적 계층 세그먼트들 중 하나가 완전히 손실된다면, 그러면 MTU 는 손실되고, 이러한 정보는 더 높은 계층에 의하여 이용되어 MTU의 재송신을 인보크 (invoke) 할 수 있다 (예컨대, 다시 말하면, 임의의 패킷 '세그먼트'에 대한 NACK 또는 패킷 송신-실패가 전체 패킷의 송신의 실패를 추론하기 위하여 이용될 수 있다). 손실이 RLC 계층에 의하여 연역된다면, 유사한 프로시져들이 WCDMA 물리적 계층들에서 달성될 수 있다. 따라서, 540D 의 NACK 또는 패킷-송신 실패는 임의의 특정 세그먼트에 대한 NACK 또는 패킷-송신 실패일 수 있다.
도 6a 는 파일 전송 세션을 스트리밍 또는 실시간 통신 세션과 동시에 지원하는 종래의 메커니즘을 예시한다. 따라서, 도 6a 를 참조하면, 애플리케이션 서버 (170) 가 AT 1 및 AT 2 사이의 스트리밍 통신 세션 (예컨대, VoIP 세션) 에 대응하는 제 1 세션을 셋업하고 (600A), 다음으로 애플리케이션 서버 (170) 가 파일 전송 세션에 대응하는 제 2 세션을 셋업하여 AT 1 로부터 AT 2 로의 하나 이상의 파일들의 전송을 용이하게 한다고 가정한다 (605A). 600A 의 제 1 세션이 (예컨대, QoS (Quality of Service) 를 전혀 가지지 않을 수도 있는) 605A 의 제 2 세션과 비교할 때 더 높은 정도의 QoS를 가진다는 것이 또한 가정될 수도 있다.
또한, 이 시점에서, 제 1 세션 (즉, 스트리밍 통신 세션) 에 대한 AT 1 의 실시간 매체 송신들을 지원할 수 있고 또한 제 2 세션 (즉, 파일 전송 세션) 에 대한 주어진 페이로드-크기에서의 AT 1 의 패킷 송신을 동시에 지원할 수 있는 상대적으로 '고속' 네트워크 내에 AT 1 이 배치되어 있다고 가정한다.
따라서, AT 1 은 제 1 세션에 대한 스트리밍 패킷 #1 을 송신하고 (610A), 그리고 다음으로 AT 1 은 제 2 세션에 대한 데이터 패킷 #1 을 송신한다 (615A 및 616A). 그러면, AT 1 은 제 1 세션에 대한 스트리밍 패킷 #2 를 송신하고, (620A), 그리고 다음으로 AT 1 은 제 2 세션에 대한 데이터 패킷 #2 를 송신한다 (625A 및 626A). 그러면, AT 1 은 제 1 세션에 대한 스트리밍 패킷 #3 을 송신한다 (630A).
이하에서, '더 낮은' 데이터 레이트 환경 및 '더 높은' 데이터 레이트 환경에 대한 참조들이 이루어진다. 이해될 바처럼, 전송중인 데이터의 타입 (및 얼마나 많은 데이터가 현재 일제히 또는 동시에 전송되고 있는지) 에 기초하여, 사용자가 '양호한' 사용자 경험을 가지기 위한 어떤 시간의 기대치 (expectation) 가 존재한다. 이러한 경우에는, 대부분의 사용자들이 그들의 경험-수준이 만족스럽다고 간주할 것으로 기대되는 공칭 데이터 레이트가 결정될 수 있다. 공칭 데이터 레이트는 상이한 네트워크 기술들 (예컨대, EV-DO, LTE, WiFi 등) 사이에서 변경될 수 있으며, 또한 심지어 개개의 사용자-성능 기대치들 및/또는 다른 인자들에 기초하여 변경할 수 있다. 따라서, 본 명세서에서 사용되는 바와 같이, 더 낮은 데이터 레이트 환경은 더 높은 데이터 레이트 환경과 비교할 때 더 낮은 기대 또는 실제 데이터 레이트와 연관된다. 또한, 본 명세서에서 사용되는 바와 같이, 더 낮은 데이터 레이트 환경은 관련 공칭 데이터 레이트보다 더 낮은 실제 또는 기대 데이터 레이트와 연관되고, 더 높은 데이터 레이트 환경은 관련 공칭 데이터 레이트 이상인 실제 또는 기대 데이터 레이트와 연관된다.
이 시점에서, AT 1 이 (예컨대, EV-DO 로부터 1x 시스템으로의 핸드오프를 통하여, 다른 네트워크로의 핸드오프를 갖지 않는 네트워크 조건들 (conditions) 의 열화에 기인하여, 같은 물리적 채널 자원들이 다중 세션들 또는 애플리케이션에 의해 공유되는 것등에 기인하여) 더 낮은 데이터 레이트 환경으로 천이한다고 가정한다 (635A). 따라서, AT 1 은 스케쥴링된 바처럼 제 2 세션에 대한 데이터 패킷 #3 을 여전히 전송하고 (640A), 그리고 애플리케이션 서버 (170) 는 데이터 패킷 #3 을 AT 2 로 전송한다 (641A). 그러나, 더 낮은 데이터 레이트 환경에 기인하여, 데이터 패킷 #3 의 송신은 더 긴 시간량이 소요되며, 제 1 세션에 대한 스트리밍 패킷 #4 가 스케줄링되는 동안 슬롯과 부분적으로 중첩된다. 따라서, 제 1 세션에 대한 스트리밍 패킷 #4 는 (645A) 에서 그의 스케줄링된 슬롯 동안에 드롭 (drop) 되거나 지연되어, 제 2 세션에 대한 데이터 패킷 #3 은 그의 송신을 완료할 수 있게 된다. 그러면, 제 1 세션에 대한 스트리밍 패킷 #4 는 650A 에서 제 2 세션에 대한 데이터 패킷 #3 의 송신 이후의 슬롯에 대해서 송신을 위해 재스케줄링된다.
이해될 바처럼, 도 6a 에서는, 비록 제 1 세션이 일반적으로 패킷-송신의 지연들에 더욱 민감하지만, 더 낮은 데이터 레이트 환경은 데이터 패킷 #3 의 송신이 제 1 세션에 대한 다음 스트리밍 패킷의 송신을 지연시키게 한다. 예를 들어, 기능적 계층 1 이 그의 송신 큐 내에 이미 특정 수의 패킷들을 가지고 있기 때문에, 제 2 세션의 패킷들이 이미 큐 내에 있기 시작한 제 2 세션의 패킷들보다 높게 우선순위화되게 제 1 세션의 패킷들을 유지하는 것이 어려울 수 있다.
따라서, 도 6b 는 파일 전송 세션들과 같은 비스트리밍 세션들에 대한 데이터 패킷들의 크기가 동적으로 수정되어, 실시간 또는 스트리밍 세션들의 패킷송신에 대한 지연들이 감소 및/또는 전체적으로 회피되도록 하는, 본 발명의 일 실시형태를 예시한다. 도 6b 를 참조하면, 600B 내지 630B 는 실질적으로 각각 도 6a 의 600A 내지 630A 에 대응되고, 그래서 이들은 간략화를 위해서 더 설명되지 않을 것이다.
635B 에서는, AT 1 이 그것이 더 낮은 데이터 레이트 환경으로 천이했다는 것을 검출한다 (예컨대, 635A 에서, AT 1 은 반드시 천이 동안에 이러한 검출을 수행하지 않는다). 일 예에서는, 더 낮은 데이터 레이트 환경의 검출은 1x, GPRS (General Packet Radio Service), EV-DO (Evolution-Data Optimized) Rel.0 네트워크 또는 Rev.A 네트워크에 진입하는 것에 대응하며 QoS는 핸드셋 등에 이용가능하지 않다.
635B 에서 더 낮은 데이터 레이트 환경으로 천이한 이후에, AT 1 은 제 2 세션에 대한 패킷들 내의 데이터 페이로드의 크기를 동적으로 감소시킨다 (640B). 예를 들어, 640B 의 페이로드 사이즈 감소는 AT 1 이 천이한 네트워크에 기초하여 산출될 수 있다 (예컨대, 제 1 페이로드 사이즈가 EV-DO 네트워크들 상의 파일 전송 세션들에 대해서 이용되고, 제 2 페이로드 사이즈가 1x 네트워크들 상의 파일 전송 세션들에 대해서 이용되는 등이다). 대안적으로, 640B 의 페이로드 사이즈 감소는 더 낮은 데이터 레이트 환경에 대한 임의의 다른 타입의 추정에 기초하여 산출될 수 있어, 제 2 세션의 데이터 패킷들이 제 1 세션의 스트리밍 데이터 패킷들의 지연들 또는 재스케줄링을 야기하지 않을 것이다. 대안적으로, 애플리케이션 서버 (170) 는 다음 스트리밍 데이터 패킷에 지연들을 유발하지 않으면서 다음 데이터 패킷에 할당될 수 있는 크기를 산출할 수 있고, 그리고 애플리케이션 서버 (170) 는 (예컨대, ACK 패킷 등에서) AT 1 으로 수락가능한 데이터-패킷 사이즈를 전할 수 있다.
따라서, AT 1 은 제 2 세션에 대한 데이터 패킷 #3 를 송신한다 (645B 및 646B). 위에서 언급된 바와 같이, 데이터 패킷 #3 의 페이로드-부분은 615B 및 616B 및/또는 625B 및 626B 의 데이터 패킷들 #1 및/또는 #2 의 페이로드-부분들보다 더 작다. 다음으로, AT 1 은 제 1 세션에 대한 스트리밍 패킷 #4 를 송신한다 (650B). 645B 및 646B 와는 다르게, 제 1 세션에 대한 스트리밍 패킷 #4 는 시간에 맞게 그리고 풀-페이로드 패킷으로서 전송될 수 있는데, 그 이유는 제 1 세션 대신에 제 2 세션에 대한 패킷들이 AT 1 의 더 낮은 데이터 레이트 환경에 순응하기 위하여 감소되기 때문이다. 세션들이 계속되고 그에 의해 AT 1 이 감소된 페이로드-부분을 가지는 제 2 세션에 대한 데이터 패킷 #3b 를 송신하고 (655B 및 656B), 다음으로 AT 1 은 재스케줄링 없이 그리고 풀 데이터 레이트에서 다른 스트리밍 데이터 패킷 #5 를 송신한다 (660B).
따라서, 파일 전송 세션에 비해 스트리밍 통신 세션을 우선순위화함으로써, AT 1 이 더 낮은 데이터 레이트 환경으로 천이하는 경우에 AT 1 은 스트리밍 통신 세션에 대한 실시간 패킷들을 재스케줄링 또는 지연시키는 것의 발생을 감소시킬 수 있다.
또한, 도 6b 가 AT 1이 높은 데이터 레이트 환경 또는 네트워크로부터 낮은 데이터 레이트 환경 또는 네트워크로 천이하는 특정한 예에 대해서 예시하지만, 도 6b 는 동적 레이트 제어 알고리즘 (dynamic rate control algorithm, DRCA) 을 더 폭 넓게 나타낸다는 것이 이해될 것이다. 예를 들어, DRCA 는 (도 6b 의 제 1 세션에서 처럼, 애플리케이션의 케이던스 (cadence) 마다) 일정한 간격으로 높은 우선순위의, 지연-민감성 스트리밍된 데이터를 스케줄링할 수 있고, 비 QoS 데이터 (예컨대, 도 6b 의 제 2 세션) 를 스트리밍된 데이터의 연속적인 송신들 사이의 시간 간격에서 볼륨-조절 방식 (volume-regulated manner) 으로 송신할 수 있다. 예를 들어, 네트워크 타입에 따라, 비 QoS 애플리케이션의 데이터량은 고정된 값으로 제한될 수 있다.
대안적으로, 비 QoS 애플리케이션 (즉, 도 6b 로부터의 제 2 세션) 의 데이터량은 하나의 적응적 또는 프로빙 (probing) 알고리즘들, 예컨대 보존 값 (conservative value) 으로 시작하며, 음성/QoS 패킷이 지연에 의해 영향받지 않는다면 MTU 크기를 증가시키고, 음성 패킷이 일정 지연에 의해서 영향 받는다면 송신되는 데이터량을 감소시키는 것에 기초하여, 연속적인 시간-간격 마다 조정될 수 있다. 예를 들어, 리워드-패널티 (reward-penalty) 알고리즘들과 같은 학습 알고리즘들 (learning algorithms) 이 이용될 수 있다. 다른 대안적인 예에서는, 비 QoS 애플리케이션 (즉, 도 6b 로부터의 제 2 세션) 의 데이터량은, QoS 스트리밍 데이터 및 지난 비 QoS 스트리밍 데이터를 송신하는데 요구되는 슬롯들의 수와 관련된 기능적 계층 1 의 정확한 정보에 기초하여 연속적인 시간-간격 마다 조정될 수 있고, 이 경우에는 다음 시간-간격에 대해서 스케줄링된 데이터의 양은 핸드셋 (예를 들어, 또는 그 후에 이 정보를 핸드셋 또는 AT 1으로 전할 수 있는 애플리케이션 서버 (170)) 에 의해서 산출될 수 있다.
그러므로 도 6b 는 더 낮은 데이터 레이트 환경으로의 진입 시의 데이터 페이로드 '감소'를 명시적으로 도시한다. 대안적인 예에서는, 도 6b 는 더 낮은 데이터 레이트 환경으로부터 더 높은 데이터 레이트 환경으로 천이하는 AT를 수용하도록 수정될 수 있다. 이 대안의 예에서는, 더 높은 데이터 레이트 환경으로의 진입 시에 페이로드가 증가되고, 다음 비 QoS 패킷에 대한 실제 페이로드를 계산하는 다양한 상이한 메커니즘들이 이용될 수 있다. 도 6c 는 스트리밍 또는 실시간 통신 세션과 동시에 파일 전송 세션을 지원하는 다른 종래의 메커니즘을 예시한다. 특히, 도 6c 는 타겟 AT 2 가 송신 AT 1 대신에 더 낮은 데이터 레이트 환경으로 천이한다는 것을 제외한 몇 가지 관점들에서는 도 6a 와 유사하다. 도 6c 를 참조하면, 600C 내지 630C 는 실질적으로 각각 도 6a 의 600A 내지 630A 및/또는 각각 도 6b 의 600B 내지 630B 에 대응하며, 그래서 이들은 간명화를 위하여 더 설명되지 않을 것이다.
이 시점에서, AT 2 가 (예컨대, EV-DO 로부터 1x 시스템으로의 핸드오프를 통하여, 다른 네트워크로의 핸드오프를 갖지 않는 네트워크 조건들의 열화 등에 기인하여) 더 낮은 데이터 레이트 환경으로 천이한다고 가정한다 (635C). 따라서, AT 1 은 스케쥴링된 바처럼 제 2 세션에 대한 데이터 패킷 #3 을 여전히 전송하고, (640C), 애플리케이션 서버 (170) 는 AT 2 로의 데이터 패킷 #3 의 송신을 시작한다 (641C). 데이터 패킷 #3 이 AT 2 로의 그의 송신을 완료하기 이전에, AT 1 은 제 1 세션에 대한 스트리밍 패킷 #4 를 AT 2 로의 송신을 위해서 애플리케이션 서버 (170) 로 전송한다. 애플리케이션 서버 (170) 는 AT 2 로의 스트리밍 패킷 #4 의 포워딩을 지연한다 (646C). 다시 말하면, AT 2의 더 낮은 데이터 레이트 환경 때문에, 애플리케이션 서버 (170) 로부터 AT 2 로의 데이터 패킷 #3 의 송신은 더 긴 시간량이 소요되며, 제 1 세션에 대한 스트리밍 패킷 #4 이 스케줄링되는 슬롯과 부분적으로 중첩된다. 따라서, 제 1 세션에 대한 스트리밍 패킷 #4 는 646C에서 지연된다. 그러면, 제 1 세션에 대한 스트리밍 패킷 #4 는 647C 에서 제 2 세션에 대한 데이터 패킷 #3 의 송신 이후 슬롯에 대한 송신을 위해 재스케줄링된다.
이해될 바처럼, 도 6c 에서는, 제 1 세션이 일반적으로 패킷-송신의 지연들에 더욱 민감하더라도, 더 낮은 데이터 레이트 환경은 데이터 패킷 #3 의 송신이 제 1 세션에 대한 다음 스트리밍 패킷의 송신을 지연시키게 한다.
따라서, 도 6d 는 파일 전송 세션들과 같은 다운링크 비스트리밍 세션들에 대한 데이터 패킷들의 크기가 애플리케이션 서버 (170) 및/또는 RAN (120) 에서 동적으로 수정되어, 실시간 또는 스트리밍 세션들의 패킷 송신에 대한 지연들이 감소 및/또는 전체적으로 회피되도록 하는, 본 발명의 일 실시형태를 예시한다. 도 6d 를 참조하면, 600D 내지 635D 는 실질적으로 각각 도 6c 의 600C 내지 635C 에 대응되고, 그래서 간략화를 위해서 더 설명되지 않을 것이다.
도 6d 를 참조하면, AT 2 가 635D 에서 더 낮은 데이터 레이트 환경으로 천이한 이후에, 애플리케이션 서버 (170) 는 더 낮은 데이터 레이트 환경으로의 AT 2 의 천이를 검출한다 (640D). 예를 들어, 더 낮은 데이터 레이트 환경으로의 AT 2 의 천이의 애플리케이션 서버 (170) 에서의 검출은, (i) AT 2 의 현재 데이터 레이트 환경에 관한, AT 2 또는 RAN (120) 으로부터의 통보, (ii) AT 2 로의 애플리케이션 서버 (170) 의 접속의 성능 열화의 검출, (iii) 애플리케이션 서버 (170) 가 특정 지리적 지역들 또는 서빙 영역들과 연관된 데이터 레이트의 지식을 갖는, AT 2 의 현재 위치의 보고, 및/또는 (iv) 애플리케이션 서버 (170) 가 그의, AT 2 로의 링크 또는 접속의 성능 특징들을 추론할 수 있는 임의의 다른 메커니즘에 대응할 수 있다.
640D 에서 AT 2 가 더 낮은 데이터 레이트 환경으로 천이되었다고 결정하면, 애플리케이션 서버 (170) 는 애플리케이션 서버 (170) 가 제 2 세션에 대해서 AT 2 로 포워딩하고 있는 개개의 데이터 패킷들의 페이로드를 감소시킨다 (645D). 예를 들어, 645D 의 페이로드 사이즈 감소는 AT 2 가 천이한 네트워크에 기초하여 산출될 수 있다 (예컨대, 제 1 페이로드 사이즈가 EV-DO 네트워크들 상의 파일 전송 세션들에 대해서 이용되고, 제 2 페이로드 사이즈가 1x 네트워크들 상의 파일 전송 세션들에 대해서 이용되는 등이다). 대안적으로, 645D 의 페이로드 사이즈 감소는 더 낮은 데이터 레이트 환경에 대한 예측의 임의의 다른 타입에 기초하여 산출될 수 있어, 제 2 세션의 데이터 패킷들이 제 1 세션의 스트리밍 데이터 패킷들의 지연들 또는 재스케줄링을 야기하지 않을 것이다. 대안적으로, AT 2 는 다음 스트리밍 데이터 패킷에 지연들을 유발하지 않으면서 다음 데이터 패킷에 할당될 수 있는 크기를 산출할 수 있고, 그리고 AT 2 는 수락가능한 데이터-패킷 사이즈를 (예컨대, ACK 패킷 등에서) 애플리케이션 서버 (170) 로 전할 수 있다.
따라서, AT 1 은 제 2 세션에 대하여 정상 또는 전체 크기의 페이로드 부분을 가지는 데이터 패킷 #3 을 송신한다 (650D). AT 1 로부터 데이터 패킷들 #3 을 수신하면, 애플리케이션 서버 (170) 는 데이터 패킷들 #3 의 페이로드-크기를 감소시켜 감소된 페이로드-부분을 가지는 데이터 패킷들 #3a 를 생성하는 한편, 데이터 패킷들 #3a 로부터 제외된 임의의 데이터-페이로드를 버퍼링한다. 그러면, 애플리케이션 서버 (170) 는 데이터 패킷 #3a 를 AT 2 로 전송한다 (651D). 다음으로, AT 1 은 제 1 세션에 대한 스트리밍 패킷 #4 를 애플리케이션 서버 (170) 로 송신하고 (655D), 애플리케이션 서버 (170) 는 도 6c 에 도시된 지연들을 유발하지 않으면서 스트리밍 패킷 #4 를 AT 2 로 전송할 수 있는데, 그 이유는 RAN (120) 이 데이터 패킷 #3a을 그의 감소된 페이로드 크기에 기인하여 더 신속하게 송신할 수 있기 때문이다 (656D). 660D 에서, 애플리케이션 서버 (170) 는 제 2 세션에 대하여 감소된 페이로드-부분을 가지는 데이터 패킷 #3b 를 송신한다.
따라서, 파일 전송 세션에 비해 스트리밍 통신 세션을 우선순위화함으로써, 타겟 AT 2 가 더 낮은 데이터 레이트 환경으로 천이할 경우에 애플리케이션 서버 (170) 는 스트리밍 통신 세션에 대한 실시간 패킷들을 재스케줄링 또는 지연시키는 것의 발생을 감소시킬 수 있다.
또한, 비록 도 6d가 AT 2 가 높은 데이터 레이트 환경 또는 네트워크로부터 낮은 데이터 레이트 환경 또는 네트워크로 천이하는 특정한 예에 대해서 예시하지만, 도 6d 는 동적 레이트 제어 알고리즘 (dynamic rate control algorithm, DRCA) 을 더 폭 넓게 나타낸 것이 이해될 수 있을 것이다. 예를 들어, DRCA 는 (도 6d 의 제 1 세션에서처럼, 애플리케이션의 케이던스마다) 규칙적인 간격으로 높은 우선순위의, 지연-민감성 스트리밍된 데이터를 스케줄링할 수 있고, 비 QoS 데이터 (예컨대, 도 6d 의 제 2 세션) 를 스트리밍된 데이터의 연속적인 송신들 사이의 시간 간격에서 볼륨-조절 방식으로 송신할 수 있다. 예를 들어, 네트워크 타입에 따라, 비 QoS 애플리케이션의 데이터량은 고정된 값으로 제한될 수 있다.
대안적으로, 비 QoS 애플리케이션 (즉, 도 6d 로부터의 제 2 세션) 의 데이터량은 하나의 적응적 또는 프로빙 알고리즘들, 예컨대 보존 값으로 시작하며, 음성/QoS 패킷이 지연에 의해 영향받지 않는다면 MTU 크기를 증가시키고, 음성 패킷이 일정 지연에 의해서 영향받는다면 송신되는 데이터량을 감소시키는 것에 기초하여, 연속적인 시간-간격 마다 조정될 수 있다. 예를 들어, 리워드-패널티 알고리즘들과 같은 학습 알고리즘들이 이용될 수 있다. 다른 대안의 예에서는, 비 QoS 애플리케이션 (즉, 도 6d 로부터의 제 2 세션) 의 데이터량은, QoS 스트리밍 데이터 및 지난 비 QoS 스트리밍 데이터를 송신하는데 요구되는 슬롯들의 수와 관련된 정확한 정보에 기초하여 연속적인 시간-간격 마다 조정될 수 있고, 이 경우에는 다음 시간-간격에 대해서 스케줄링된 데이터의 양은 애플리케이션 서버 (170) (예를 들어, 또는 다음에 이 정보를 애플리케이션 서버 (170) 로 전할 수 있는 핸드셋) 에 의해서 산출될 수 있다. 그러므로, 비록 도 6d 가 더 낮은 데이터 레이트 환경으로의 진입시의 데이터 페이로드의 '감소'에 대해서 명시적으로 도시하고 있지만, 다른 실시형태들에서 데이터 페이로드가 조정되는 방식은 (예를 들어, 더 높은 데이터 레이트 환경으로의 진입 시에) 페이로드를 증가시킬 수 있고, 다음 비 QoS 패킷에 대한 실제 페이로드를 계산하는 여러 상이한 메커니즘들이 이용될 수 있다.
또한, 비록 도 6d 가 비 QoS 또는 비 실시간 세션에 대한 동적 페이로드 감소를 수행하는 애플리케이션 서버 (170) 를 예시하지만, 본 발명의 다른 실시형태들에서는 이러한 동작들은 AT 2 의 RAN (120) 에 의해서 수행될 수 있다는 것이 이해될 것이다. 이 경우에는, 애플리케이션 서버 (170) 가 제 1 및 제 2 세션들에 대한 데이터 패킷들을 RAN (120) 로 포워딩하게 되고, 여기서 RAN (120) 이 스트리밍 패킷들의 페이로드 크기를 동적으로 감소시켜서 비스트리밍 패킷들의 송신이 스트리밍 세션에 대한 지연들을 유발하지 않도록 보장하는 것을 담당하게 된다.
도 7a 는 파일 전송 세션을 스트리밍 또는 실시간 통신 세션과 동시에 지원하는 종래의 메커니즘을 예시한다. 따라서, 도 7a 를 참조하면, 애플리케이션 서버 (170) 가 이 AT 1 및 AT 2 사이의 스트리밍 음성 통신 세션 (예컨대, VoIP 세션) 에 대응하는 제 1 세션을 셋업하고 (700A), 다음으로 애플리케이션 서버 (170) 가 파일 전송 세션에 대응하는 제 2 세션을 셋업하여 AT 1 로부터 AT 2 로의 하나 이상의 파일들의 전송을 용이하게 한다고 가정한다 (705A). 또한, 700A 의 제 1 세션이 (예컨대, QoS를 전혀 갖지 않을 수도 있는) 705A 의 제 2 세션과 비교할 때 더 높은 정도의 서비스 품질 (QoS)을 가진다는 것이 가정될 수도 있다. 특히, 도 7a에는, AT 1 의 사용자가 말한 질문 "Hollo, how are you doing today?"를 AT 2 로 전송하고 있으며, AT 2 의 사용자는 AT 1 의 사용자의 질문에 대해 "Good" 이라고 표시함으로써 응답하는 것이 설명되어 있다. 이러한 제 1 세션의 언어 (verbal) 교환 동안에, AT 1 은 또한 제 2 세션에 대한 데이터 패킷들을 AT 2 로 전송하고 있다고 가정한다.
따라서, AT 1 은 제 1 세션에 대한 음성 패킷 #1 ("Hollo, How") 을 형성하고 (710A), 다음으로 AT 1 은 제 2 세션에 대한 데이터 패킷 #1 을 송신한다 (715A 및 716A). 그러면, AT 1 은 제 1 세션에 대한 음성 패킷 #2 ("Are You") 을 송신하고 (720A), 다음으로 AT 1 은 이제 제 2 세션에 대한 데이터 패킷 #2 를 송신한다 (725A 및 726A). 그러면, AT 1 은 제 1 세션에 대한 음성 패킷 #3 ("Doing Today?") 을 송신하고 (730A), 다음으로 AT 1 은 이제 제 2 세션에 대한 데이터 패킷 #3 을 송신한다 (735A 및 736A).
이 시점에서, AT 1 의 사용자는 AT 1 의 마이크로폰으로 말하기를 중지한다고 가정한다. 그래서, AT 1 은 침묵 패킷을 음성 패킷 #4 로서 송신하고, 여기서 침묵 패킷은 침묵 프레임들만을 포함하는 음성 패킷에 대응한다 (740A). 침묵 패킷들은 상대적으로 작은 데이터 페이로드를 포함하고, 일반적으로는 백그라운드 '편안한' 잡음만을 포함하지만 네트워크 상에서는 '실제' 음성 패킷과 동일한 QoS로 처리된다. 이해될 바처럼, 동시 음성 및 매체 컨텍스트에서는, 이러한 침묵 패킷들은 파일 전송 세션 또는 제 2 세션에 대한 데이터가 대신 전송되었을 수 있는 패킷들이다. 그 후에, AT 1 은 제 2 세션에 대한 데이터 패킷 #4 를 전송하고 (745A 및 746A)들, 그리고 궁극적으로 AT 2 는 그 자신의 음성 응답 패킷 #1 ("Good.") 으로 응답함으로써 AT 1 의 질문에 대해 응답한다 (750A).
이해될 바처럼, 도 7a 에서, AT 1 은 그의 침묵 패킷을, 거기에 실제 음성-데이터가 거의 내지 전혀 포함되어 있지 않더라도 전송한다. 따라서, 파일 전송이 음성 (또는 다른 멀티미디어) 세션이 발생되는 것과 동일한 시간에 발생하는 동시 세션들에 대해서는, 침묵 패킷들이 억제될 수 있고, 파일 전송 세션에 대한 데이터 패킷들이 제 위치에서 전송될 수 있는데, 이것은 도 7b 를 참조하여 다음에 설명될 것이다.
따라서, 도 7b 는 스트리밍 멀티미디어 세션에 대한 침묵 프레임들이 억제되고 낮은 QoS 또는 비 QoS 파일 전송 세션에 대한 증가된 수의 데이터 패킷들이 송신되는, 본 발명의 일 실시형태를 예시한다. 도 7b 를 참조하면, 700B 내지 736B 는 각각 실질적으로 도 7a 의 700A 내지 736A 에 대응하고, 그래서 간결함을 위하여 더 이상 설명되지 않을 것이다.
735B 에서 제 2 세션에 대한 데이터 패킷 #3 을 송신한 이후에, AT 1 은 다음 큐잉된 스트리밍 음성 패킷이 침묵 패킷에 대응한다는 것을 결정한다 (740B). 본 명세서에서 사용되는 바와 같이, 침묵 패킷은 일련의 침묵 프레임들에 대응할 수 있다. 예를 들어, 침묵의 임계 시간 기간 (예를 들어, 100 ms) 에 달하는 일련의 침묵 프레임들이 740B 에서 검출되면, 이것은 침묵 패킷의 검출을 구성될 수도 있는데, 그 이유는 다음 음성 패킷 (예를 들어, RTP 패킷) 이 침묵 프레임들만을 포함할 것이고 실제 음성 데이터 (즉, 잡음) 를 포함하지 않을 것이기 때문이다. 일 예에서, EV-DO 프로토콜들은 침묵 프레임 당 20 ms 를 명시하고, 이 경우에 AT 1 은 다음 음성 패킷에 포함될 20 ms 프레임들의 수를 카운트할 수 있으며, 이러한 20 ms 프레임들 각각이 침묵 프레임들이라면, AT 1 은 다음 음성 패킷이 침묵 패킷이라고 결정한다.
또한, 침묵 프레임들은 각 침묵 프레임이 일반적으로 표준 방식으로 구성되기 때문에 상대적으로 검출하기가 용이할 수 있다. 따라서, AT 1 은 각각의 음성 프레임을 사전 결정된 침묵 프레임과 비교할 수 있다. 템플릿 (template) 으로서 사용할 단일 침묵 프레임을 저장함으로써, AT 1 은 템플릿 침묵 프레임을 그의 큐잉된 음성-패킷들과 비교하여 특정 음성-패킷이 침묵 프레임을 운반하고 있는지를 결정할 수 있다.
740B 에서 다음 큐잉된 스트리밍 음성 패킷이 침묵 패킷에 대응한다는 것을 결정한 이후에, AT 1 은 침묵-패킷을 억제하고, 침묵 패킷 또는 음성 패킷 #4 를 운반하려 했던 슬롯에서 제 2 세션에 대한 다음 큐잉된 데이터-패킷을 스케줄링한다 (745B). 그러면, AT 1 은 제 1 세션의 음성 패킷 #4 에 대해서 최초에 스케줄링되었던 슬롯에서 제 2 세션에 대한 다음 큐잉된 데이터-패킷 (즉, 데이터 패킷 #4 )을 송신한다 (750B). AT 2 는 751B에서 기대되지 않은 데이터 패킷 #4 를 수신하고 제 2 세션에 대한 비스트리밍 또는 비음성 데이터 패킷들의 연속 수신을 AT 1 이 제 1 세션에 대한 침묵 패킷을 억제하였다는 표시로서 해석하고, 그에 의해서 AT 1 이 일련의 침묵 프레임들을 포함하는 침묵 패킷을 실제로 송신하였다면, AT 2 가 갖게 되는 '편안한' 잡음을 플레이 (play) 한다 (755B).
그러면, AT 1 은 데이터 패킷 #4 가 침묵 패킷을 대체하기 전에, 데이터 패킷 #4 의 송신을 위해서 초기에 스케줄링되었던 슬롯에서 제 2 세션에 대한 데이터 패킷 #5를 송신한다 (760B). 얼마후 시점에서, AT 2 는 그 자신의 음성 응답 패킷 #1 ("Good.") 으로 응답함으로써 AT 1 의 질문에 응답한다 (765B). 따라서, 스트리밍 통신 세션이 파일 전송 세션과 동시에 수행될 때 침묵 패킷들을 억제함으로써, 통상적으로 스트리밍 세션의 음성 패킷들보다 더 낮은 우선순위를 가지는 파일 전송 세션에 대한 데이터 패킷들이 제 위치에서 전송된다.
도 7c 는 스트리밍 멀티미디어 세션에 대한 침묵 프레임들이 억제되고 낮은 QoS 또는 비 QoS 파일 전송 세션에 대한 증가된 수의 데이터 패킷들이 송신되는, 본 발명의 다른 실시형태를 예시한다. 특히, 도 7c는, 침묵 패킷 억제가 송신 AT 1 대신에 애플리케이션 서버 (170) 에서 발생한다는 것을 제외하고는 몇 가지 측면에서 도 7b 와 유사하다. 도 7c 를 참조하면, 700C 내지 736C 는 각각 실질적으로 도 7a 의 700A 내지 736A 에 그리고/또는 도 7b 의 700B 내지 736B 에 대응하고, 그래서 간결함을 위하여 더 이상 설명되지 않을 것이다.
도 7c 를 참조하면, 제 2 세션에 대한 데이터 패킷 #3 을 735C 및 736C 에서 송신한 이후에, AT 1 은 제 1 세션에 대한 음성 패킷 #4 를 애플리케이션 서버 (170) 로 송신한다 (740C). 도 7c 의 실시형태에서는, 음성 패킷 #4 이 주어진 수의 침묵 프레임들을 포함하는 침묵 패킷에 대응하는 것으로 가정될 수도 있다. 애플리케이션 서버 (170) 는 음성 패킷 #4 를 수신 및 평가하고, 음성 패킷 #4 가 침묵 패킷이라고 결정한다 (745C). 다음 스트리밍 음성 패킷 #4 가 침묵 패킷에 대응한다고 745C 에서 결정한 이후에, 애플리케이션 서버 (170) 는 침묵-패킷을 억제하고 음성 패킷 #4 를 전송하는 대신에 AT 1 로부터 수신된 다음 패킷 (예를 들어, 제 2 세션에 대한 데이터 패킷 또는 제 1 세션에 대한 비침묵 패킷) 을 AT 2 에 대해 스케줄링하는 것을 결정한다 (750C).
따라서, AT 1 은 다음으로 제 2 세션에 대한 다음 큐잉된 데이터-패킷 (즉, 데이터 패킷 #4 )을 애플리케이션 서버 (170) 로 송신한다 (755C). 이 예에서, 데이터 패킷 #4 는 그의 스케줄링된 슬롯에서 AT 1 에서 변경없이 전송된다. 애플리케이션 서버 (170) 는 데이터 패킷 #4 를 수신하고 초기에 제 1 세션에 대한 음성 패킷 #4 을 위해 스케줄링되었던 슬롯에서 AT 2 로 데이터 패킷 #4 를 포워딩한다 (756C). AT 2 는 기대되지 않은 데이터 패킷 #4 를 수신하고 그리고 제 2 세션에 대한 비스트리밍 또는 비음성 데이터 패킷들의 연속 수신을 애플리케이션 서버 (170) 가 제 1 세션에 대한 침묵 패킷을 억제한 표시로서 해석하고, 이에 의해 AT 1 이 일련의 침묵 프레임들을 포함하는 침묵 패킷을 실제로 송신하였다면, AT 2 가 갖게 될 '편안한' 잡음을 플레이한다 (760C).
얼마후 시점에서, AT 2 는 그 자신의 음성 응답 패킷 #1 ("Good.") 으로 응답함으로써 AT 1 의 질문에 응답한다 (765C). 따라서, 스트리밍 통신 세션이 파일 전송 세션과 동시에 수행될 때 침묵 패킷들을 억제함으로써, 통상적으로 스트리밍 통신 세션의 음성 패킷들보다 더 낮은 우선순위를 가지는 파일 전송 세션에 대한 데이터 패킷들이 제 위치에서 애플리케이션 서버 (170) 에 의하여 전송된다.
도 8a 는 종래의 파일 전송 세션의 종료 또는 완료에 중점을 두는 프로세스를 예시한다. 도 8a 를 참조하면, 애플리케이션 서버 (170) 는 파일 전송 세션을 셋업하여 AT 1 로부터 AT 2 로의 하나 이상의 파일들의 전송을 용이하게 한다 (800A). 도 8a의 예에서, 파일 전송 세션이 복수의 데이터 패킷들 1…N의 전송에 대응한다고 가정될 수도 있는데, 여기서 N >= 3 이다. 따라서, 800A 에서 파일 전송 세션이 셋업된 이후에, AT 1 은 파일 전송 세션에 대한 데이터 패킷들 1…N-2를 AT 2 로 전송한다 (805A 및 806A). 애플리케이션 서버 (170) 는 809A 에서 데이터 패킷들 1…N-2를 ACK한다. AT 2 가 데이터 패킷들 1…N-2 의 각각을 수신하고, 이에 의하여 AT 2 도 각 데이터 패킷들 1…N-2 에 대한 ACK들을 애플리케이션 서버 (170) 으로 다시 전송한다고 가정한다 (810A). 다음으로, AT 1 은 데이터 패킷 N-1 및 N을 전송하고, 이들은 파일 전송 세션에 대한 최후의 두 패킷들 (815A 및 816A, 그리고 820A 및 821A 들) 이다.
이 때, AT 1 이 파일 전송 세션에 대한 모든 그의 패킷들을 AT 2 로 송신했기 때문에, AT 1 은 825A 에서 데이터를 송신하는 것을 중지한다. 그러나, 825A 에서도, AT 1 이 그의 송신된 데이터 패킷들 (즉, 데이터 패킷들 N-1 및 N) 모두에 대한 ACK 들을 아직 수신하지 않았기 때문에, AT 1 은 그의 TCH를 보유 (retain) 하는데 그 이유는 데이터 패킷 N-1 및/또는 데이터 패킷 N에 대해서 NACK (또는 ACK-타임아웃) 이 수신될 가능성이 있기 때문이고, 이 경우에 패킷 재송신이 요구될 것이다. 애플리케이션 서버 (170) 는 829A 에서 데이터 패킷들 N-1 및 N을 ACK 하고, 그 후에 AT 1 은 TCH를 해체한다 (830A). 이 예에서, AT 2 가 궁극적으로 데이터 패킷들 N-1 및 N 양자 모두에 대해 ACK들을 송신한다고 가정한다 (835A).
이해될 바처럼, 도 8a에 도시된 바와 같이 데이터 패킷들 N-1 및 N 이 ACK 되는 경우에, AT 1 은 파일 전송 세션을 위해서 실제로 필요한 것보다 더 오랫 동안 그의 TCH 상에서 홀드할 필요는 없다. 또한, 데이터 패킷들 N-1 및/또는 N 의 재송신이 요구되는 경우에는, 이러한 데이터 패킷들의 초기 송신으로부터 그들의 궁극적인 재송신까지의 기간은, AT 1 이 TCH를 갖지만 실제로 데이터를 송신하고 있지 않은 '낭비된' 시간에 대응하는데, 이것은 다음에 도 8b 를 참조하여 설명될 것이다. 도 8b 의 다른 종래의 프로세스는 파일 전송 세션의 종료시 AT 1과 애플리케이션 서버 (170) 사이의 시그널링에 중점을 두고, 그래서 AT 2와 애플리케이션 서버 (170) 사이의 이러한 시그널링은 점선을 통해서 도시된다.
도 8b 를 참조하면, 800B 내지 810B 는 실질적으로 도 8a 의 800A 내지 810A 에 각각 대응하고, 그래서 이들은 간결함을 위하여 더 이상 설명되지 않을 것이다. 데이터 패킷들 1…N-2 에 대한 ACK 들을 수신한 이후에, AT 1 은 데이터 패킷 N-1을 송신하려고 시도하고 (820B), 데이터 패킷 N을 송신하려고 시도한다 (825B) (예를 들어, 815B 로부터의 ACK들 중 몇몇은 실제로 이러한 송신 시도들 중 하나 이상 이후에 수신될 수 있다). 도 8b 의 실시형태에서는, 데이터 패킷 N-1 및 N 양자 모두의 송신 시도들이 각각 820B 및 825B 에서 실패한다고 가정한다.
830B 에서는, 도 8a 의 825A 에서 처럼, AT 1 은 데이터 송신을 중단하고 자신의 TCH를 보유한다. 다음으로, 애플리케이션 서버 (170) 는 데이터 패킷들 N-1 및 N에 대한 NACK들을 AT 1 으로 전송한다 (837B). 또한, 주어진 시간 기간 이후에, AT 2 도 데이터 패킷들 N-1 및 N에 대한 NACK들을 애플리케이션 서버 (170) 로 전송하는 것을 결정하고, (839B), NACK들은 AT 2 로부터 애플리케이션 서버 (170) 로 838B 에서 전송된다. 따라서, AT 1 은 데이터 패킷들 N-1 및 N을 각각 840B과 841B, 그리고 845B과 846B 에서 재송신한다. 애플리케이션 서버 (170) 는 AT 1 로부터의 데이터 패킷들 N-1 및 N을 ACK하고, (849B), 그 후에 AT 1 는 TCH를 해체할 수 있다 (850B). 또한, AT 2 도 애플리케이션 서버 (170) 로부터 AT 2 에서 성공적으로 수신된 데이터 패킷들 N-1 및 N을 ACK한다 (855B).
도 8c 및 도 8d 와 관련하여 이제 설명될 것인 바와 같이, 본 발명의 실시형태들은 AT가 TCH를 가지며 데이터를 송신하고 있지 않은 기간들 동안의 기회적 또는 선점적 데이터 패킷들의 재송신에 관한 것이다. 도 8b와 유사하게, 도 8c 및 도 8d 는 각각 AT 1과 애플리케이션 서버 (170) 간의 시그널링에 중점을 두고, 그래서 AT 2과 애플리케이션 서버 (170) 사이의 이러한 시그널링은 점선을 통해서 도시된다.
도 8c 를 참조하면, 800C 내지 821C 는 실질적으로 도 8a의 800A 내지 821A 에 각각 대응하고, 그래서 간결함을 위하여 더 이상 설명되지 않을 것이다. 815C 및 816C 에서 데이터 패킷들 N-1 및 N을 각각 송신한 이후에, 단순히 TCH 상에 홀드하고 AT 2 로부터의 ACK 또는 NACK을 대기하는 대신에, AT 1 은 그의 TCH를 유지하고 이러한 데이터 패킷들에 대한 ACK들 또는 NACK들이 실제로 수신되기 전에 선점적으로 데이터 패킷들 N-1 및 N을 재송신하는 것을 결정한다 (825C).
따라서, AT 1 은 830C 및 835C 에서 데이터 패킷들 N-1 및 N을 애플리케이션 서버 (170) 로 재송신하고, 애플리케이션 서버 (170) 는 831C 및 836C 각각에서 데이터 패킷들 N-1 및 N을 AT 2 로 포워드한다. 애플리케이션 서버 (170) 는 데이터 패킷들 N-1 및 N을 ACK하고 (837C), 그 후에 AT 1 은 TCH를 해체한다 (840C). 또한, AT 2 는 데이터 패킷들 N-1 및 N을 애플리케이션 서버 (170) 으로 ACK한다 (845C). AT 1 에서 837C 에서 수신된 ACK 들이 815C 내지 820C 에서의 데이터 패킷들 N-1 및 N의 초기 송신에 대한 것이거나, 또는 830C 내지 835C 에서의 데이터 패킷들 N-1 및 N의 재송신에 대한 것 중 어느 하나 (또는 적어도 하나 ACK가 최초 송신에 대한 것이고 적어도 하나 ACK가 재송신에 대한 것인, 어떤 조합) 일 수 있다는 것이 이해될 수 있을 것이다 .
또한, 도 8c 가 데이터 패킷들 N-1 및 N의 단일 재송신을 도시하지만, AT 1 이 단순히 애플리케이션 서버 (170) 로부터 ACK 또는 NACK이 수신될 때까지, 또는 주어진 횟수 (예를 들어 3회 재송신 등) 에 대하여 데이터 패킷들 N-1 및 N의 재송신을 단순히 계속할 수 있다는 것이 이해될 것이다. 또한, 도 8c는 재송신들이 파일 전송 세션에 대한 데이터 패킷들의 스트림에서 최후 2개의 데이터 패킷들 (즉, 데이터 패킷들 N-1 및 N) 들에 대해서 수행되는 예에 관한 것이지만, 다른 실시형태들은, 최후 3개의 패킷들, 최후 4개의 패킷들, 또는 최후 패킷만 등과 같은 상이한 수의 패킷들에 대한 위에서 설명된 선점적 패킷 재송신(들)을 수행할 수 있다.
도 8d 를 참조하면, 800D 내지 825D 는 실질적으로 도 8b 의 800B 내지 825B 에 각각 대응되고, 그래서 간결함을 위하여 더 이상 설명되지 않을 것이다. 820D 및 825D 에서 데이터 패킷들 N-1 및 N을 각각 송신하려고 비성공적으로 송신한 이후에, 단순히 TCH 상에 홀드하고 ACK-타임아웃 또는 애플리케이션 서버 (170) 로부터의 ACK 또는 NACK을 대기하는 대신에, AT 1 은 그의 TCH를 유지하고 ACK들 또는 NACK들 이전에 데이터 패킷들 N-1 및 N을 선점적으로 재송신하는 것을 결정한다 (830D).
따라서, AT 1 은 831D 및 836D 에서 애플리케이션 서버 (170) 로 데이터 패킷들 N-1 및 N을 재송신하고, 애플리케이션 서버 (170) 는 데이터 패킷들 N-1 및 N을 836D 및 841D 에서 각각 포워드한다. 얼마 후의 시점에서, AT 1 이 애플리케이션 서버 (170) 으로부터 데이터 패킷들 N-1 및 N에 대한 ACK들을 수신한다고 가정한다 (845D) (예를 들어, 일 예로, 831D 및 835D 로부터의 데이터 패킷들 N-1 및 N의 조기 (earlier) 송신들에 대한 NACK 들이 또한 AT 1 에서 수신될 수도 있지만 이 경우에 재송신들 중 하나는 애플리케이션 서버 (170) 로 성공적으로 전송된다고 가정한다). 845D 에서 AT 1 에 수신된 ACK 들이 831D 및 835D 에서의 데이터 패킷들 N-1 및 N의 재송신에 대한 것이라는 것이 이해될 것이다 (예를 들어, 왜냐하면 이러한 데이터 패킷들의 초기 송신들이 비성공적인 것으로 간주되기 때문이다). 이 시점에서는, AT 1 은 TCH를 해체할 수 있다 (850D). 얼마 후의 시점에서, AT 2 는 또한 그의, 데이터 패킷들 N-1 및 N의 수신을 애플리케이션 서버 (170) 로 ACK 할 수 있다 (855D).
또한, 도 8d 가 데이터 패킷들 N-1 및 N의 단일 재송신을 도시하지만, AT 1 은 ACK-타임아웃이 결정되거나 또는 ACK 또는 NACK가 애플리케이션 서버 (170) 로부터 수신될 때까지, 또는 주어진 횟수 (예를 들어, 3회 재송신 등) 에 대해 데이터 패킷들 N-1 및 N을 단순히 계속 재송신할 수 있다는 것이 이해될 것이다. 또한, 도 8d 가 파일 전송 세션에 대한 데이터 패킷들의 스트림에서 최후의 2개의 데이터 패킷들 (즉, 데이터 패킷들 N-1 및 N) 에 대해서 재송신들이 수행되는 예에 관한 것이지만, 다른 실시형태들은, 최후 3개의 패킷들, 최후 4개의 패킷들, 또는 최후 패킷만 등과 같은 상이한 수의 패킷들에 대한 위에서 설명된 선점적 패킷 재송신(들)을 수행할 수 있다.
또한, 도 8c 및 도 8d 각각이 데이터 패킷들의 선점적 재송신이 파일 전송 세션의 기대된 종단점에 인접하여 발생되는 예들을 도시하지만, TCH가 AT에 의해서 유지되며 연속적으로 이용되지 않는 패킷들의 선점적 재송신을 트리거하기 위하여 다른 조건들이 이용될 수 있다는 것이 이해될 것이다. 예를 들어, 전송자는 정확한 네트워크 조건들을 측정하고 있을 수 있고, 네트워크 조건들이 좋지 않고 손실이 존재할 가능성이 높다고 결정되면, 그러면 전송자는 패킷들의 최후 윈도우를 낙관적으로 재송신할 수 있다. 다르게는, 전송자 (즉, AT 1) 는, (재송신 및 ACK로부터 이용가능한) 접속의 과정 동안에 얼마나 많은 패킷들이 손실되었는지 측정하고 언제 선점적 재송신들을 수행할지에 대한 교육된 추측 (educated guess) 을 하는 주어진 타입의 '학습' 알고리즘을 채용할 수 있다. 학습 알고리즘은 더 복잡할 수도 있으며 특정 타겟들, 로케이션, 하루 중 시간 등에의 특정 호들의 수명으로 연장할 수 있다. 일 예에서, 학습 알고리즘은 데이터 패킷들을 언제 선점적으로 재송신할지를 예측하는 것뿐만 아니라, 학습 알고리즘은 순서 또는 손실 가능성에 기초하여 어떤 패킷들을 재송신할 지도 예측할 수도 있다.
도 8e 는 본 발명의 일 실시형태에 따라, 송신 AT가 TCH 를 가지며 데이터를 송신하고 있지 않은 기간들 동안 데이터 패킷들의 다른 기회적 또는 선점적 재송신에 관한 것이다. 도 8c 및 도 8d 와는 다르게, 도 8e 는 기회적 또는 선점적 재송신이 송신 AT 1 대신에 애플리케이션 서버 (170) 으로부터 트리거되거나 발신되는 구현에 관한 것이다. 따라서, 도 8e 는 AT 2와 애플리케이션 서버 (170) 사이의 시그널링에 중점을 두고, 그래서 AT 1과 애플리케이션 서버 (170) 사이의 이러한 시그널링은 점선을 통해서 도시된다.
도 8e 를 참조하면, 800E 내지 810E 는 실질적으로 도 8d 의 800D 내지 810D 에 각각 대응하고, 그래서 간결함을 위하여 더 이상 설명되지 않을 것이다. 도 8c 와는 달리, 815 및 820E 에서는, AT 1 은 데이터 패킷들 N-1 및 N을 애플리케이션 서버 (170) 로 성공적으로 전송한다. 그러나, 애플리케이션 서버 (170) 는 816E 및 821E 에서는 데이터 패킷들 N-1 및 N을 AT 2 로 각각 성공적으로 송신할 수가 없다.
애플리케이션 서버 (170) 는 825E 에서 데이터 패킷들 N-1 및 N을 ACK하고, 그 후에 AT 1 은 그의 TCH를 해체할 수 있다 (826E). 830E 에서는, 단순히 데이터 패킷들 N-1 및 N 중 하나의 인스턴스를 포워딩하는 대신에, 애플리케이션 서버 (170) 는 이러한 데이터 패킷들에 대한 ACK들 또는 NACK들이 실제로 AT 2 로부터 수신되기 이전에 데이터 패킷들 N-1 및 N을 선점적으로 재송신하는 것을 결정한다. 일 예에서는, 830E 의 결정은, 일 예로, 데이터 패킷들 N-1 및 N이 통신 세션의 최후의 2개의 패킷들에 대응한다는 애플리케이션 서버 (170) 의 지식에 기초할 수 있다.
따라서, 애플리케이션 서버 (170) 는 AT 2 로 각각 835E 및 840E 에서 데이터 패킷들 N-1 및 N을 재송신한다. 얼마 후의 시점에서, 애플리케이션 서버 (170) 가 AT 2 로부터 데이터 패킷들 N-1 및 N에 대한 ACK들을 수신한다고 가정한다 (845E). 이 시점에서, 애플리케이션 서버 (170) 는 그의, 데이터 패킷들 N-1 및 N의 재송신을 중지할 수 있다 (애플리케이션 서버 (170) 가 이미 그렇게 하지 않았다면 중지할 수 있다) (850E).
또한, 도 8e 가 데이터 패킷들 N-1 및 N의 단일 재송신을 도시하지만, 애플리케이션 서버 (170) 는 ACK 또는 NACK가 AT 2 로부터 수신될 때까지, 또는 주어진 횟수 (예를 들어, 3회 재송신 등) 에 대하여 데이터 패킷들 N-1 및 N을 단순히 계속 재송신할 수 있다는 것이 이해될 것이다. 또한, 도 8e 가 파일 전송 세션에 대한 데이터 패킷들의 스트림에서 최후의 2개 데이터 패킷들 (즉, 데이터 패킷들 N-1 및 N) 에 대해서 재송신들이 수행되는 예에 관한 것이지만, 다른 실시형태들은, 최후 3개의 패킷들, 최후 4개의 패킷들, 또는 최후 패킷만 등과 같은 상이한 수의 패킷들에 대한 위에서 설명된 선점적 패킷 재송신(들)을 수행할 수 있다.
콘텐츠-기반 프로세스들의 실시형태들이 이제 도 9a 내지 도 9d를 참조하여 설명될 것이다. 본 명세서에서 사용되는 바와 같이, AT 상의 디스플레이의 컨텍스트에서, 윈도우는 디스플레이 상에서 보일 수 있도록 구성된 객체(들) 에 대응하며 AT 상에서 실행되는 특정 애플리케이션과 연관된다. 예를 들어, AT가 셀룰러 전화기에 대응하며, AT는 모바일 웹 브라우징 애플리케이션을 실행하고 있고, 그리고 특정 웹-페이지가 디스플레이 상에서 사용자에게 디스플레이되고 있다고 가정한다. 이러한 경우에는, 윈도우는 특정 웹-페이지를 AT의 사용자에게 디스플레이 상에서 제시하기 위해 모바일 웹 브라우징 애플리케이션에 의하여 사용되는 그래픽 구성 (graphical construct) 에 대응한다. 비록 본 명세서에서 사용되는 바와 같은 윈도우들이 AT의 디스플레이 상에서 보일 수 있도록 구성되지만, 각 윈도우가 AT의 디스플레이 상에서 항상 보일 수 있을 필요는 없다는 것이 이해될 수 있을 것이다. 예를 들어, AT의 디스플레이 상에서 다른 경우에는 보일 수 있을 특정 윈도우가 다른 윈도우에 의하여 최소화되거나 또는 중첩될 수도 있고, 이에 의해 일정 시간 기간 동안 AT의 디스플레이 상에서 보이지 않게 된다.
다른 예에서는, AT의 디스플레이 상의 상이한 윈도우들은 AT의 사용자가 다운로드를 위해 요청한 상이한 객체들과 연관될 수 있다. 모바일 웹 브라우징 애플리케이션의 경우에는, 상이한 객체들은 윈도우의 특정 웹 페이지와 연관되어 AT의 사용자에게 디스플레이 및/또는 제시될 객체들의 세트를 포함할 수 있다. 그러나, 모든 윈도우들보다 적은 수가, 주어진 시간에서 '활성화'될 수도 있다. 예를 들어, AT의 주어진 사용자는 네 개 (4개) 의 상이한 웹사이트들이 모바일 웹 브라우징 애플리케이션을 통하여 AT 상에 로딩되도록 요청할 수 있지만 주어진 사용자는 네 개의 웹사이트들 중 하나를 AT 상에서 '활성화' 되거나 보이는 상태가 되도록 설정할 수 있다. 대안적으로, 다수의 윈도우들이 보일 수 있지만 하나의 특정 윈도우 (즉, 활성 윈도우가 AT의 디스플레이 상에 완전히 보일 수 있고 다른 윈도우들은 부분적으로 및/또는 전체적으로 활성 윈도우에 의하여 중첩되거나 커버될 때와 같은 '활성화' 윈도우) 가 다른 것들보다 더 현저하게 제시될 수 있다. 이해될 바처럼, 이것은 사용자가 활성화 웹사이트를 다른 웹사이트들 앞에서 보는데 흥미가 있다는 것을 시사한다. 그러나, 종래에 4개의 웹사이트들의 객체들이 다운로드되는 서버는 주어진 사용자가 어떤 윈도우를 활성화 상태로 확립하였는지에 대해서는 알지 못한다. 따라서, 도 9a 는 본 발명의 일 실시형태의 콘텐츠-기반의 우선순위 방식에 따라서 AT로 파일 객체들을 선택적으로 다운로드하는 프로세스를 예시한다.
도 9a 를 참조하면, 주어진 AT ("AT 2") 는 다수의 객체들을 다운로드하라는 하나 이상의 사용자 요청들을 수신한다 (900A). 일 예에서, 900A 의 요청(들) 은 다운로드를 요청하는 AT 2 의 사용자, 또는 AT 1 의 사용자가 다중 객체들을 AT 2 로 전송하라고 요청하고 있다는 것을 표시하는 AT 1 으로부터 수신된 메시지, 또는 이들의 조합에 대응할 수 있다. 위에서 언급된 바와 같이, 900A 의 요청은 상이한 웹사이트들과 연관된 콘텐츠를 웹-브라우저의 다수의 윈도우들에서 로딩하라는 요청에 대응할 수 있다. 905A 에서는, AT 2 는 AT 2 상에서 어떤 윈도우가 현재 '활성'인지를 결정한다. 위에서 언급된 바와 같이, '활성' 윈도우는, AT 2 의 사용자에 의하여 현재 선택되지 않은 '숨김' 윈도우들에 반대로, 어떤 브라우저 윈도우 (또는 윈도우들) 이 AT 2 상에서 가장 현저한지에 대응할 수 있다. 다음으로, AT 2 는 현재의 활성 윈도우와 연관될 900A 로부터의 다중 객체들 중 적어도 하나를 결정한다 (910A). 예를 들어, 사용자가 900A 에서 스포츠 웹-사이트를 로딩하고 그리고 또한 뉴스-웹사이트를 로딩하라고 요청하고, 스포츠 웹-사이트가 디스플레이될 윈도우가 AT 2 상에서 가장 현저하게 디스플레이되면, 그러면 910A 에서 현재의 활성 윈도우와 연관되는 것으로 결정된 파일들 또는 객체들은 스포츠 웹-사이트와 연관된 객체들이다.
915A 에서는, AT 2 는 애플리케이션 서버 (170) 로부터 다중 객체들의 다운로드를 요청하는 하나 이상의 다운로드 요청들을 구성하고, 또한 어떤 객체들이 AT 2 의 현재 활성 윈도우와 연관되는지를 표시하도록 요청(들)을 구성한다 (915A). 이해될 바처럼, 어떤 객체들이 AT의 현재 활성 윈도우와 연관되는지에 대한 표시는 비연관 객체들에 비해 연관된 객체들을 우선순위화하도록 기능한다. 920A 에서는, AT 2 는 구성된 요청(들)을 애플리케이션 서버 (170) 로 전송한다 (920A). 그러면, 애플리케이션 서버 (170) 는 구성된 요청을 AT 1 으로 포워드한다 (922A). 920A 에서 수신된 구성된 요청(들) 에 응답하여, AT 1 은 922A 에서 AT 1 로 포워딩되었던 구성된 요청(들) 에서 표시된 객체 우선순위들에 따라서 다중 객체들을 AT 2 로 전송하기 시작한다 (924A). 예를 들어, AT 1 은 우선 AT 2 의 현재 활성 윈도우와 연관되는 객체들을 제공한 다음, 비연관된 객체들을 제공할 수 있다. 이와 유사하게, 애플리케이션 서버 (170) 는 AT 1 로부터 924A 에서 객체들을 수신하고, 다음으로 구성된 요청(들) 의 객체 우선순위들에 따라서 다중 객체들을 AT 2 로 제공하기 시작한다 (925A).
다수의 객체들을 다운로드하는 동안에, AT 2 는 그의 현재 활성 윈도우가 변경되었는지를 결정한다 (930A). 그렇지 않다면, AT 2 는 다운로드가 완료됐는지를 결정한다 (933A). 다운로드가 완료되면, 프로세스는 900A 로 복귀하고, 여기서 AT 2 는 다음 객체 다운로드 요청을 대기한다. 그와 달리, 현재 활성 윈도우가 변경되지 않았고 다운로드가 아직 완료되지 않았으면, AT 2 는 다수의 객체들의 다운로드들을 계속 모니터링한다. 그러나, AT 2 가 그의 현재 활성 윈도우가 변경되었다고 930A 에서 결정하면 (예를 들어, 사용자가 AT 2 를 상이한 활성 윈도우로 천이하면), 그러면 AT 2 는 900A 로부터의 다중 객체들 중 적어도 하나가 그의 신규한 현재 활성 윈도우와 연관되어야 한다는 것을 결정한다 (935A).
940A 에서는, AT 1 은 애플리케이션 서버 (170) 로부터 다중 객체들의 다운로드를 요청하도록 하나 이상의 보충적 다운로드 요청들을 구성하고, 그리고 또한 어떤 객체들이 AT 2 의 신규한 현재 활성 윈도우와 연관되는지를 표시하도록 보충적 요청(들)을 구성한다. 945A 에서는, AT 2 는 구성된 보충적 요청(들)을 애플리케이션 서버 (170) 로 전송한다. 945A 에서 수신된 구성된 보충적 요청(들) 에 응답하여, 애플리케이션 서버 (170) 는 다중 객체들을 애플리케이션 서버 (170) 로부터 AT 2 로 제공하기 위하여 다운로드 우선순위를 업데이트하고, 그리고 또한 AT 1 이 (예를 들어, 적어도 AT 1과 AT 2 사이의 1-대-1 통신 세션들에 대해서만) 다중 객체들을 애플리케이션 서버 (170) 로 업로드하는 업로드 우선순위를 업데이트한다 (950A). 또한 950A 에서는, 애플리케이션 서버 (170) 가, AT 1 로 하여금 그의 업로드 순서를 수정하여 AT 2 의 윈도우-변경에 기초하여 신규하거나 또는 업데이트된 객체 우선순위들에 순응하도록 요청하는 메시지를 AT 1 으로 전송할 수 있다. 일 예에서, 업로드 및 다운로드 순서들 또는 우선순위들은 동일하게 설정될 수 있다. 예를 들어, 파일들 A, B, C 및 D에 대해서는 다운로드 순서가 [A,B,C,D] 이고 업로드 순서도 [A,B,C,D] 일 수도 있다. 그러나, 대안적인 실시형태에서는, 업로드 및 다운로드 순서들은 동일할 필요가 없다. 예를 들어, 다운로드 순서는 [A,B,C,D] 일 수도 있고 파일 B 가 이미 애플리케이션 서버 (170) 에서 액세스가능하다면 업로드 순서는 [A,C,D] 일 수도 있다.
그 후에, AT 1 은 구성된 보충적 요청(들) 에서 표시된 객체 우선순위들에 따라서 애플리케이션 서버 (170) 로 다중 객체들의 전송을 계속하고, 마찬가지로 애플리케이션 서버 (170) 는 구성된 보충적 요청(들) 에서 표시된 객체 우선순위들에 따라서 AT 2 로 다중 객체들의 전송을 계속한다.
이해될 바처럼, 도 9a 는 사용자의 콘텐츠 우선순위들이 사용자가 어떤 윈도우를 활성화되게 설정하였는지에 기초하여 추론되고, 다음으로 추론된 사용자 우선순위가 다운로드 서버 (또는 애플리케이션 서버 (170)) 로 전해지는 프로세스를 설명한다. 다른 예에서는, 사용자는 객체들을 다운로드하기 위한 그의 우선순위들을 명시적으로 확립하여, 사용자의 행동으로부터 사용자의 기대된 우선순위들을 추론하는 것이 수행될 필요가 없도록 할 수 있다.
이와 같이, 도 9b 를 참조하면, AT 2 는 사용자 특정 객체 다운로드 우선순위들의 세트를 수신한다 (900B). 사용자 특정 객체 다운로드 우선순위들의 세트는 다수의 상이한 방법들로 구성될 수 있다.
예를 들어, 사용자 특정 객체 다운로드 우선순위들의 세트는 특정 마임 (mime) 타입들을 다른 마임 타입들에 비해 우선순위화하도록 (예를 들어, 텍스트를 그래픽 이미지들에 비해 우선순위화하거나, 비디오를 오디오에 비해 우선순위화하거나, 또는 오디오를 그래픽스에 비해 우선순위화하도록 하는 등으로) 구성될 수 있다. 예를 들어, AT 2 는 복수의 상이한 마임 타입들을 가지는 객체들이 이력적으로 다운로드된 주파수를 추적할 수 있고, 다음으로 더 빈번하게 다운로드된 마임 타입들에게 더 높은 우선순위를 할당할 수 있다. 다른 예에서는, 케스캐이딩 스타일 시트들 (cascading style sheets, CSS) 을 이용하는 상이한 계층들의 z-인덱스가 많은 웹사이트들에서 인기있는 것처럼 생성될 수 있고, 이에 의하여 z-인덱스는 주어진 페이지 내의 우선순위를 전할 수 있다. 그러므로, 특정 웹사이트가 음악-관련 웹사이트라면, 오디오가 다른 형태의 매체들 (예를 들어, 텍스트, 이미지들, 비디오 등) 에 비해 우선순위화될 수도 있다. 다른 예에서는, 특정 웹사이트가 그래픽 정지 이미지들 또는 기술에 관련된다면, 그러면 이미지들이 다른 형태의 매체들 (예를 들어, 텍스트, 오디오 등) 에 비해 우선순위화될 수도 있다. 다른 예에서는, 상이한 웹사이트들의 z-인덱스들이 웹사이트들 간의 우선순위들을 확립하는데 이용되어, AT 2 가 동시에 다중 웹사이트들의 로딩을 시도하면, 각각의 웹 사이트들의 객체들이 그들의 상대적 우선순위 레벨들에 따라서 다운로드될 수 있다. 다른 예에서는, CSS 요소들 (예를 들어, 백그라운드 템플릿, 네비게이션 바들, 본체 텍스트, 및/또는 다른 자바스크립트 위젯들)을 포함하는 웹페이지는 z-인덱스를 특정 순서로 (예를 들어, 보디 텍스트, 네비게이션 바들, 백그라운드 템플릿, 및 자바스크립트 위젯들 순서로) 조직함으로써 사용자 경험을 향상시킬 수 있다.
다른 실시형태에서는, 사용자 특정 객체 다운로드 우선순위들의 세트는 다른 애플리케이션들에 비해 특정 애플리케이션들에 대한 파일들을 우선순위화할 수 있다. 일 예에서, 애플리케이션의 타입은 그의 중요도 또는 긴급도를 표시하여, 더 중요하거나 더 긴급한 애플리케이션들에 우선순위가 주어져서, 예를 들어 웹-브라우징 세션이 수동 OS 업데이트에 비해 우선순위화될 수도 있다. 다른 예에서는, AT 2 는 얼마나 자주 애플리케이션들이 이용되거나 실행되는지에 관련된 정보를 추적할 수도 있다. 그러면, 애플리케이션들에 대한 이력 사용 정보가 애플리케이션들 간의 상대적 우선순위들을 확립하는데 이용되어, 더 자주 이용되는 애플리케이션들이 더 적은 빈도로 이용되는 애플리케이션들에 비해 우선순위화될 수 있다.
다른 예에서는, AT 2 의 사용자가 파일 다운로드를 요청할 때마다 (예를 들어, 사용자가 네비게이트하고 URL 상에서 클릭할 때마다 등), 파일 다운로드 요청과 연관된 시간 스탬프가 AT 2 에 저장될 수 있다. 그러면, AT 2 의 사용자가 각각의 파일 다운로드들을 요청하는 상대적 시간들이 파일 다운로드들 간의 상대적인 우선순위들을 확립하는데 이용될 수 있다. 예를 들어, 더 최근에 개시된 파일 다운로드 요청들이 더 이르거나 또는 더 오래된 파일 다운로드 요청들에 비해 우선순위화될 수 있다. 얼마 후의 시점에서, AT 2 는 다수의 객체들을 다운로드하라는 하나 이상의 사용자 요청들을 수신한다 (905B). 905B 의 요청은 일 예에서는 하나 이상의 웹사이트들과 연관된 콘텐츠를 로딩하라거나 또는 통신 세션 동안에 다른 AT로부터의 파일 전송을 수신하라는 요청에 대응할 수 있다. 910B 에서, AT 2 는 애플리케이션 서버 (170) 로부터 다수의 객체들의 다운로드를 요청하도록 하나 이상의 다운로드 요청들을 구성하고, 또한 900B 로부터의 사용자 특정 객체 다운로드 우선순위들의 세트를 표시하도록 요청(들) 을 구성한다. 915B 에서, AT 2 는 구성된 요청(들) 을 애플리케이션 서버 (170) 로 전송한다 (915B). 그러면, 애플리케이션 서버 (170) 는 구성된 요청을 AT 1 로 포워드한다 (918B). 구성된 요청(들) 에 응답하여, AT 1 은 구성된 요청(들) 에서 표시된 사용자 특정 객체 다운로드 우선순위들의 세트에 따라서 애플리케이션 서버 (170) 로 다수의 객체들을 전송하기 시작하고 (920B), 마찬가지로 애플리케이션 서버 (170) 는 구성된 요청(들) 에서 표시된 객체 우선순위들에 따라서 AT 2 로 다중 객체들을 전송한다 (925B). 이해될 바처럼, AT 1 의 관점에서 보면, 객체 우선순위들은 다운로드 우선순위 대신에 업로드 우선순위인 것으로 해석될 수 있다. 어느 경우든, 파일들이 AT 1 으로부터 업로드되는 순서는 파일들이 애플리케이션 서버 (170) 로부터 AT 2 로 다운로드되는 순서와 일치하게 유지된다.
다른 실시형태에서는, 도 9b 를 참조하면, AT 2 는 AT 1 로부터 객체들을 수신하고 있는 복수의 AT들을 나타낼 수도 있다. 이 경우에, 복수의 AT 들 모두가 AT 1 이 객체들을 복수의 AT들로 송신하고 있는 파일-순서에 영향을 주도록 허용되는 것은 아닐 수도 있다는 것이 이해될 것이다. 일 예에서, 애플리케이션 서버 (170) 는 복수의 AT들로부터 제 1 요청 사용자 특정 객체 다운로드 우선순위를 포워드할 수도 있고, 그 후에 나중 요청 사용자 특정 객체 다운로드 우선순위들을 거부할 수도 있다. 대안적인 예에서는, 애플리케이션 서버 (170) 는 나중 요청 사용자 특정 객체 다운로드 우선순위를 AT 1 으로 포워딩할 수도 있고, 그에 의해 AT 1 은 가장 최근에 포워딩된 사용자 특정 객체 다운로드 우선순위에 따를 것이지만, 오직 나중 요청 사용자 특정 객체 다운로드 우선순위가 제 1 요청 또는 조기 요청 사용자 특정 객체 다운로드 우선순위와 비교할 때 더 높은 우선순위 AT로부터 애플리케이션 서버 (170) 에서 수신된 경우에만 그러하다. 다른 예에서는, AT 2 가 복수의 AT들을 나타내는 경우에는, 애플리케이션 서버 (170) 가 각각의 AT들로부터의 상이한 요청 사용자 특정 객체 다운로드 우선순위들의 가중화 (weighting) 또는 평균화 (averaging) 를 수행할 수 있다. 예를 들어, 애플리케이션 서버 (170) 는 사용자 특정 객체 다운로드 우선순위들의 특정 세트에만, AT들의 백분율의 임계 수치가 사용자 특정 객체 다운로드 우선순위들의 동일한 세트를 요청할 때, 작용할 수도 있고, 애플리케이션 서버 (170) 는 다수의 요청 사용자 특정 객체 다운로드 우선순위들을 통한 공통 요소들을 결정하고 이러한 공통 요소들에 대해서만 작용할 수도 있는 등이다.
다른 실시형태에서는, 도 9b 를 참조하면, AT 1 은 객체들을 AT 2 로 송신하고 있는 복수의 AT들을 나타낼 수도 있다. 이러한 경우에는, 사용자 특정 객체 다운로드 우선순위들의 세트는 다른 AT들에 비해 특정 AT들로부터의 객체들을 우선순위화하도록 구성될 수 있다. 이러한 경우에는, 일 예에서, 915B 에서 구성된 다중 객체들에 대한 구성된 요청들은 AT 2 에 의하여 큐잉되고 다음으로 각 AT가 그의 각각의 객체 전송을 완료한 이후에 최고 우선순위로부터 최저 우선순위로의 순서로 연속적으로 복수의 AT들로 전송될 수 있다. 대안적으로, AT 2 는 애플리케이션 서버 (170) 에게 AT들의 AT 2 에 대한 각각의 우선순위들을 통보할 수도 있다. 이러한 경우에는, 915B 에서 다중 객체들에 대해서 구성된 요청들은 복수의 AT들의 각각으로 전송될 수 있고, 그러면 애플리케이션 서버 (170) 는 AT 2 의 사용자 특정 객체 다운로드 우선순위들의 세트에 대응하는 순서로 객체들을 AT 2로 전달하기 위해 복수의 AT들로부터 수신된 객체들을 버퍼링하려고 시도할 수 있다
다른 예에서는, 다음으로 도 9c 를 참조하여 설명될 바와 같이, AT 2 의 주어진 사용자는 상이한 통신 세션들 (예를 들어, 예컨대 스트리밍 비디오 화상 회의 세션 및 파일 전송 세션) 과 연관되는 윈도우들 사이에 네비게이트할 수 있다. 어떤 윈도우가 활성인지에 의존하여, (적어도 주어진 사용자가 다른 세션의 윈도우로 다시 네비게이트할 때까지) 활성 윈도우와 연관되지 않은 세션의 매체들의 전부 또는 일부는 비우선순위화될 수 있다. 예를 들어, AT 2 상의 윈도우들의 계층화에 기인하여, 부분 비디오만이 디스플레이된다고 가정한다. 이러한 경우에는, 도시되는 윈도우의 부분만이 비디오의 부분로서 전송될 수 있다. AT 2 는 디스플레이된 비디오 부분의 몇몇 표시자를 전할 수 있고 그러부터 애플리케이션 서버 (170) 가 보이지 않는 부분을 필터링할 수 있다.
도 9c 를 참조하면, AT 2 가 제 1 접속 상의 윈도우들의 제 1 세트와 연관된 스트리밍 통신 세션에 참여하고 있다고 가정한다 (900C). 일 예에서, 제 1 접속 (또는 접속 1) 은 단일 매체 타입 또는 다중 매체 타입들 (예를 들어, 비디오 및 오디오) 을 운반하는 단일 접속에 대응할 수 있다. 다른 예에서는, 제 1 접속은 복수의 상이한 접속들에 대응할 수 있고 각각의 타입의 스트리밍 매체들이 접속들 중 상이한 하나에 할당된다 (예를 들어, 오디오는 1x 상에서 수신되고 비디오는 EV-DO 상에서 수신되며, 비디오 및 오디오는 EV-DO 네트워크 내의 상이한 포트들 상에서 수신되는 등이다). 또한, 스트리밍 통신 세션은 AT 2와 서버, AT 1 또는 몇몇 다른 AT 사이에서 존재할 수 있고, 그래서 AT 1 은 도 9c 에서는 스트리밍 통신 세션의 부분로서 명시적으로 예시되지는 않았지만, 이것은 가능한 구현 형태이다.
다음으로, AT 2 는, 송신 AT 1 로부터 제 2 접속 상에서 하나 이상의 객체들을 전송하기 위한 파일 전송 세션을 개시하기 위하여 윈도우들의 제 2 세트로 스위치한다 (905C). 예를 들어, 스트리밍 통신 세션은 높은 QoS 접속 (즉, 제 1 접속) 에 의해서 지원되는 비디오 화상회의에 대응할 수 있고, 그리고 파일 전송 세션은 낮은 QoS 접속 또는 심지어 QoS의 임의의 수준이 보장되지 않는 접속에 의하여 지원될 수 있다.
AT 2 가 그의 현재 활성 윈도우를 스트리밍 통신 세션과 연관된 윈도우로부터 파일 전송 세션과 연관된 윈도우로 스위치했기 때문에, AT 2 는 스트리밍 통신 세션의 적어도 부분을 비우선순위화하라는 요청을 910C 에서 전송한다. 일 예에서, 스트리밍 통신 세션이 비디오-전용 세션에 대응하면, 비우선순위화 요청은 AT 2 가 심지어 비디오를 디스플레이하는 윈도우를 왓칭 (watching) 하고 있지 않기 때문에 비디오-피드 (video-feed) 가 더 이상 AT 2 로 전송되지 않게 요청할 수 있다. 다른 예에서는, 스트리밍 통신 세션이 비디오 및 오디오를 포함하는 피드에 대응하면, 비우선순위화 요청은 비디오-피드가 더 이상 AT 1 로 전송되지 않도록 요청하는 한편, 여전히 스트리밍 통신 세션의 오디오-피드 또는 부분이 AT 1 로 전송되도록 요청할 수 있다 (예를 들어, 비록 비디오가 이러한 인스턴스에서는 보이지 않더라도, 사용자는 여전히 사용자가 다른 윈도우로의 네비게이션하는 동안에 세션의 오디오 부분을 청취할 수 있기 때문이다). 이 예에서, 제 1 접속이 오디오 및 비디오에 대한 상이한 접속들을 포함하면, 비우선순위화 요청은 비디오 프레임들이 AT 2 로 전해지는 레이트가 감소되어야 한다거나, 또는 대안적으로 비디오 접속이 일시적으로 정지되거나 셧다운되야 한다고 요청하도록 구성될 수 있다. 따라서, 915C 에서는, 애플리케이션 서버 (170) 가 910C 로부터의 비우선순위화 요청에 따라서 AT 1 로의 스트리밍 통신 세션을 수정한다.
920C 에서는, AT 1 은 파일 전송 세션의 제 2 접속 상에서 하나 이상의 객체들을 다운로드하도록 요청하고, 애플리케이션 서버 (170) 는 다운로드 요청을 AT 1 으로 포워드한다 (922C). AT 1 은 요청된 객체들을 애플리케이션 서버 (170) 로 전송하기 시작하고, (924D), 그리고 애플리케이션 서버 (170) 는 요청된 객체(들)를 제 2 접속 상에서 AT 1 로부터 AT 2 로 전송한다 (925C). 일 예에서, 논의되고 있는 도면과 같이 AT 2 는 스트리밍 통신 세션의 세션 참여자 (예를 들어, AT 1 ) 로부터 AT 2 로 이메일된 사진을 다운로드할 수 있다. 대안적으로, 파일 전송 세션은 직접적으로 스트리밍 통신 세션과 연관될 필요가 없다.
이 시점에서, AT 2 가 다시 스트리밍 통신 세션으로 스위치하여, 윈도우들의 1 세트가 다시 활성화되고 AT 2 가 다시 스트리밍 통신 세션에 완전하게 참여할 수 있게 된다고 가정한다 (930C). 따라서, AT 1 은 '재'우선순위화 요청을 전송하여 스트리밍 통신 세션의 비우선순위화된 부분에 다시 높은 레벨의 우선순위가 주어져야 한다고 요청한다 (935C). 예를 들어, 재우선순위화 요청은 비디오-화상회의의 단절된 비디오-피드가 재개되어야 한다고 요청할 수 있다. 따라서, 940C 에서는, 애플리케이션 서버 (170) 는 935C 로부터의 재우선순위화 요청에 따라서 AT 1 으로의 스트리밍 통신 세션을 수정한다.
도 9c 의 실시형태에서는, 주어진 전송 프로토콜 (예를 들어, TCP 등) 이 특정 TCP 접속과 연관되어 윈도우들의 특정 세트가 애플리케이션 서버 (170) 및/또는 AT 1 로 애드버타이징되는 방식을 조정하는데 이용될 수 있다. 예를 들어, 제 1 TCP 접속은 윈도우들의 제 1 세트와 연관될 수 있고 그리고 제 2 TCP 접속은 윈도우들의 제 2 세트와 연관될 수 있다. 이로써, 910C 의 비우선순위화 요청은 윈도우들의 제 1 세트의 제 1 TCP 접속에 대한 더 작은 애드버타이징된 윈도우의 구성에 대응하여 윈도우들의 제 1 세트의 더 낮은 우선순위를 반영할 수 있으며, 935C 의 재우선순위화 요청은 윈도우들의 제 2 세트의 제 2 TCP 접속에 대한 더 큰 애드버타이징된 윈도우의 구성에 대응하여 윈도우들의 제 2 세트의 더 높은 우선순위를 반영할 수 있다. 윈도우들의 제 1 세트 및 제 2 세트가 각각 TCP 접속들과 관련되는 것으로 위에서 설명되지만, 본 발명의 다른 실시형태들에서는, 접속들 중 적어도 하나는 TCP 일 필요가 있는 것이 아니라, 오히려 UDP 또는 기타의 비윈도우 (windowless) 전송 프로토콜들일 수 있다는 것이 이해될 수 있을 것이다.
도 9a 내지 도 9c 가 객체들 또는 매체들이 콘텐츠의 추론된 우선순위 또는 명시적 우선순위 중 어느 하나에 기초하여 AT 2 로 선택적으로 제공되는 예들을 예시하지만, 도 9a 내지 도 9c 에서 실제로 AT 2 로 제공되는 임의의 데이터는 완전-품질 레벨 (full-quality level) 에서 전해진다는 것이 일반적으로 가정된다. 도 9d 를 참조하여 아래에서 설명되는 대안적인 실시형태에서는, AT 2 가 제한된 환경 내에 위치된다면, AT 2 는 제한된 환경에 순응하도록 재포맷 (re-formatted) 된 객체들의 다운로드를 프롬프트 (prompt) 할 수 있다.
본 명세서에서 사용되는 바와 같이, '제한된 환경' 이라는 용어는, AT 2 의 다운로드 요청에 대한 성능 열화와 연관되는 것으로 기대되는 임의의 조건의 질적 메트릭 (metric) 및/또는 양적 메트릭로서 정의된다. 예를 들어, 제한된 환경은, AT 2 가 고-간섭 구역, 1x 네트워크에서 동작하고 있거나 및/또는 AT 2 가 다중 세션들에 동시에 참여하고 있는 경우와 같이 AT 2 의 자원들이 변형 (strain) 되는 대역폭-제한된 환경으로서 대응할 수 있다. 다른 예에서는, AT 2 가 EV-DO 네트워크에 접속되고 EV-DO 의 T2P가 주어진 임계치 밑으로 떨어지거나 또는 캡프루브 (CapProbe) 또는 캡프루브-유사 프로그램을 이용한 대역폭 측정치가 사전 결정된 임계치 밑으로 떨어진다면, AT 2 는 제한된 환경 내에 있는 것으로 간주될 수 있다.
도 9d 를 참조하면, AT 2 는 다중 객체들을 다운로드하라는 적어도 하나의 요청을 수신한다 (900D). 위에서 지적된 바와 같이, 다중 객체 다운로드 요청은 일 예에서는 웹사이트를 로딩하라거나 또는 통신 세션 동안에 다른 AT로부터의 파일 전송을 수신하라는 요청에 대응할 수 있다. 다른 예에서는, 다중 객체 다운로드 요청은 사진 슬라이드쇼에 대응할 수 있다. 905D 에서는, AT 2 는 AT 2 가 다운로드 요청에 대하여 제한되는 것으로 기대되는 제한된 환경에서 현재 동작하고 있는지를 결정한다.
이해될 바처럼, AT 2 가 그의 현재 동작 환경이 (예를 들어, 다운로드 요청에 대하여 제한된) '제한된 환경' 인지를 결정할 수 있는 많은 상이한 방식들이 존재한다. 예를 들어, 합리적인 사용자가 데이터 량을 수신하는 것을 기대하는 시간에 대해 요청된 데이터 량의 비율이 소정량보다 더 오래 소요될 경우에는 환경은 다운로드 요청에 대하여 제한될 수 있다. 이러한 비율은 일 예에서는 각각의 AT들 또는 UE들 상에서 사전 구성될 수 있다. 따라서, AT에게 10 킬로바이트 (KB) 파일의 다운로드가 요청된다면 1x 네트워크에 접속된다는 것은 제한된 환경이 아니지만, 하지만 요청된 다운로드가 10 메가바이트 (MB) 파일에 대한 것이라면 1x 네트워크는 제한된 환경일 수 있다. 마찬가지로, AT에게 10 MB 파일의 다운로드가 요청된다면 4g 네트워크에 접속된다는 것은 제한된 환경이 아니지만, 요청된 다운로드가 10 기가바이트 (GB) 파일에 대한 것이라면 4G 네트워크라도 제한된 환경일 수 있다.
다른 예에서는, AT 2 가 1x 네트워크에서 동작하고 있으면, AT 2 는 간단히 그의 환경이 제한된 것이라고 가정할 수도 있다. 다른 예에서는, AT 2 는 최근 통신 세션에서 획득된 데이터 레이트를 평가할 수 있고, 데이터 레이트가 상대적으로 낮거나 임계치보다 낮다면 AT 2 는 그의 환경을 제한된 것으로 결정할 수 있다.
다른 예에서는, 애플리케이션 서버 (170) (또는 RAN (120)) 는 903D 에 도시된 바와 같이 AT 2 의 현재 접속 품질의 레벨을 표시하는 접속 품질 표시자 (connection quality indicator) 를 AT 2 로 전송할 수 있다. 예를 들어, 접속 품질 표시자는 애플리케이션 서버 (170) 에 의하여 측정된 바와 같은, AT 2 의 현재 서빙 네트워크와 연관된 네트워크 지연, 혼잡도 또는 손실을 표시할 수 있다. 이해될 바처럼, 대역폭이 증가하고 레이턴시가 감소함에 따라서, 사용자-경험 (user-experience) 또는 사용자-인지 (user-perception) 의 관점에서 수확 체감 (diminishing returns) 이 존재하게 되어, 특정 동작 환경이 제한되는지를 결정하기 위하여 대역폭 및/또는 레이턴시의 변화가 평가될 수 있는 지점이 궁극적으로 존재할 것이다. 다른 예에서는, AT 2 가 이미 애플리케이션 서버 (170) 와의 확립된 접속을 가진다면, 접속 품질 표시자는 애플리케이션 서버 (170) 에 의하여 AT 2 로 전송되는 ACK 패킷 또는 데이터 패킷 내에서 AT 2 로 전해질 수 있다. 예를 들어, 애플리케이션 서버 (170) 는 AT 2 의 현재 네트워크의 접속 품질에 관련된 특수한 지식을 가질 수도 있고, 이것은 예를 들어 부분적으로 AT 2 의 지리적 로케이션에 기초할 수 있다. 그러면, 애플리케이션 서버 (170) 는 AT 2 로의 패킷의 헤더 부분 (예를 들어, DSCP 필드) 를 특수한 지식을 전하기 위한 코드 또는 비트-세팅으로 구성할 수 있다.
905D 에서, AT 2 가 그의 환경이 제한된 환경인 것으로 결정한다는 것이 가정될 수도 있다. 따라서, AT 2는 애플리케이션 서버 (170) 로부터의 다중 객체들의 다운로드를 요청하도록 하나 이상의 다운로드 요청들을 구성하고, 또한 AT 2 가 제한된 환경에서 동작되고 있다는 것을 표시하도록 요청(들) 을 구성한다 (910D). 915D 에서는, AT 2 는 구성된 요청(들) 을 애플리케이션 서버 (170) 로 전송하고, 애플리케이션 서버 (170) 는 구성된 요청(들) 을 AT 1 로 포워드한다. 구성된 요청(들) 에 응답하여, AT 1 은 애플리케이션 서버 (170) 로의 그 자신의 접속을 통해서 요청된 객체들을 전송하기 시작한다 (920B). AT 1 로부터 다중 객체들을 수신하면, 애플리케이션 서버 (170) 는 변경되거나 수정될 적어도 하나의 객체의 전달 시간을 감소시키기 위하여, 다중 객체들 중 적어도 하나를 제 1 '실현 (realization)' 으로부터 제 2 '실현' 으로 변경하거나 수정한다 (922D). 일 예에서, 그래픽 객체 (예를 들어, JPEG, TIFF, 비트맵 등) 에 대해서는, 922D 의 수정은 그래픽 객체 (예를 들어, 또는 사진 슬라이드쇼의 경우에는 다중 그래픽 객체들) 의 (예를 들어, 정상-해상도로부터 썸네일 이미지로 등의) 해상도 감소에 대응할 수 있다. 다른 예에서는, 오디오 객체 (예를 들어, wav 파일, MP3 등) 에 대해서는, 922D 의 수정은 오디오 객체의 품질 감소에 대응할 수 있다. 922D 의 변경 이후에는, 애플리케이션 서버 (170) 가 다중 객체들을 AT 2 로 전송을 시작하여, 임의의 수정된 객체들이 그들의 비수정된 버전 대신에 전송된다 (925D).
930D 에서는, 얼마 후의 시점에서, 애플리케이션 서버 (170) 는 적어도 하나의 객체를 AT 2로 그들의 제 1 또는 비수정된 포맷에서 AT 2 로 전송할지를 결정한다. 일 예에서, 애플리케이션 서버 (170) 는, 시간의 임계 기간 등 후에 (예를 들어, 928D 에서의 접속 품질 업데이트 메시지를 통해서) AT 2 가 더 이상 제한된 환경에서 동작하지 않는다는 메시지에 응답하여, 모든 다른 다중 객체들이 AT 2 로 전송된 이후에 적어도 하나의 객체를 그의 '완전' 품질 제 1 포맷으로 전송하는 것을 결정할 수 있다. AT 2 가 적어도 하나의 객체를 그의 제 1 포맷에서 송신하지 않기로 결정하면, 프로세스는 925D 로 복귀하고, 애플리케이션 서버 (170) 는 (객체들의 전부를 AT 1 에 그들의 제 1 실현으로 전송함이 없이) 다중 객체들을 AT 2 로 계속 전송한다. 그와 달리, AT 2 가 적어도 하나의 객체를 그의 제 1 포맷에서 AT 2 로 송신하는 것을 결정하면, 애플리케이션 서버 (170) 는 다중 객체들을 AT 1 로 계속 전송하는 한편, 920D 에서 수정된 객체들을 AT 2 로 그들의 원래 또는 비수정된 제 1 실현에서 전송한다 (935D).
도 9d 에서는, 다운로드 요청 (900D) 이 실시간 또는 스트리밍 매체들에 대응하는 것이 가능하다. 이러한 경우에는, 예를 들어 저-해상도 비디오가 사용자에게 전송된다면, 사용자가 더 고성능의 네트워크로 재-접속하거나 또는 그렇지 않으면 그의 접속이 개선될 때 사용자에게 더 높은 해상도의 비디오를 전송함에 있어서 가치가 거의 없다는 것이 이해될 수 있을 것이다. 이러한 경우에는, 블록들 (930D 및 935D) 은, 본 발명의 실시형태에서 잠재적으로 스트리밍 또는 실시간 세션들에 대해서 생략될 수 있고, 여기서 '오래된' 파일들은, 더 오래된 파일들이 더 낮은 품질로 전송될지라도, 더 최근 파일들보다 더 낮은 가치를 갖는다.
비록 도 9a 내지 도 9d 가 위에서 분리된 프로세스들로서 설명되지만, 도 9a 내지 도 9d 중 두 개 이상이 본 발명의 다른 실시형태들에서는 합동 (coordinated) 방식으로 구현될 수 있다는 것이 이해될 수 있을 것이다. 예를 들어, 도 9a, 도 9b 및/또는 도 9c 의 우선순위화 중점 실시형태들은 도 9d 의 제한된 환경 중점 실시형태들과 함께 구현될 수 있다. 이러한 경우에는, 922D 에서 다중 객체들의 실현 형태들을 수정하는 것에 더하여 및/또는 그 대신에, AT 2 의 제한된 환경으로의 천이는 도 9a, 도 9b 및/또는 도 9c 의 객체 전송 우선순위들이 수정되게 할 수도 있다. 다른 예에서는, 도 9a, 도 9b 및/또는 도 9c 는 단순히 도 9d 와 병렬적으로 실행될 수도 있지만, 실제적으로는 도 9d 에 의해서 직접적으로 영향받지 않을 수도 있다. 예를 들어, 도 9d 에서 AT 1 로부터 AT 2 로 전송되는 것으로 설명된 다중 객체들은 도 9a, 도 9b 및/또는 도 9c 의 각각의 객체 전송 우선순위들에 기초한 순서로 제공될 수도 있다.
또한, 도 9a 내지 도 9d 각각은 객체들이 AT 1 로부터 AT 2 로 전송되는 실시형태들에 관한 것이지만, AT 1 및/또는 AT 2 중 어느 하나는 다중 AT들을 나타낼 수도 있다는 것이 이해될 수 있을 것이다. 다시 말하면 도 9a 내지 도 9d 에서 AT 2 에 도달하는 객체들은 대안적으로 단일 AT 1 대신에 다중 AT들로부터 발신될 수 있다. 또한, 도 9a 내지 도 9d 에서 AT 1 로부터 전송되는 객체들은 대안적으로 단일 AT 2 대신에 다중 타겟 AT들로 전송될 수 있다.
도 9a 내지 도 9c 를 참조하면, AT 1 로부터 객체들을 수신하고 있는 복수의 AT들 중 하나가 AT 2 인 경우에, AT 1 로부터 객체들을 수신하는 각 AT가 그 자신의 개별 객체 전송 우선순위와 연관될 수 있다는 것이 이해될 것이다. 따라서, 도 9a 내지 도 9c 의 프로세스들은 각각의 수신 AT 마다 실행되어, 잠재적으로 AT 2 로부터의 객체들이 상이한 순서로 각각의 수신 AT들로 전달되는 것을 야기할 수 있다. 도 9d 를 참조하면, 수신 AT들 중 하나의 제한된 환경으로의 진입이, 제한된 환경에 있지 않는 다른 수신 AT들로 전송되는 객체들을 제한할 필요가 없다는 것이 이해될 것이다. 그러므로, 도 9d 의 실행은 전부보다 적은 수신 AT들에 영향을 미칠 수도 있다.
또한, 도 9a 내지 도 9d 중 임의의 것에서, 전송 중인 객체들 중 하나 이상이 만료 시간과 연관될 수도 있고, 이에 의하여 만료 시간 이후에는 하나 이상의 객체들과 연관된 값이 감소되고 그리고/또는 전적으로 제거된다. 따라서, 객체 전송 동안에, 주어진 엔티티 (entity) 가, 하나 이상의 객체들에 대한 연관된 만료 시간들에 대하여 현재 시간을 체크하여 하나 이상의 객체들을 동적으로 비우선순위화할지 및/또는 이러한 하나 이상의 객체들을 전적으로 드롭할지 여부를 결정할 수 있다. 일 예에서, 이러한 동작은 도 9a 의 924A, 도 9b 의 920B, 도 9c 의 924C 및/또는 도 9d 의 920D 동안에 AT 1 에서 발생할 수도 있다. 대안적으로, 이러한 동작은 도 9a 의 925A, 도 9b 의 925B, 도 9c 의 925C 및/또는 도 9d 의 925D 동안에 애플리케이션 서버 (170) 에서 발생할 수도 있다. .
당업자들은 정보 및 신호들이 다양한 상이한 기술들 및 기법들 중 임의의 것을 이용하여 표현될 수도 있다는 것을 이해할 것이다. 예를 들어, 전술된 상세한 설명 전체에서 언급될 수 있는 데이터, 명령들 (instructions), 커맨드들 (commands), 정보, 신호들, 비트들, 심벌들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광학장들 (optical fields) 또는 광 입자들, 또는 이들의 임의의 조합에 의하여 표현될 수도 있다.
또한, 당업자들은 본 명세서에 개시된 실시형태들에 관련하여 설명되는 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자적 하드웨어, 컴퓨터 소프트웨어, 또는 양쪽 모두의 조합들로 구현될 수도 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 교환 가능성을 명백하게 예시하기 위하여, 다양한 예시적인 구성요소들, 블록들, 모듈들, 회로들, 및 단계들은 위에서 총괄적으로 그것들의 기능성의 관점에서 전술되어 왔다. 이러한 기능성이 하드웨어 또는 소프트웨어로 구현되는지는 특정 애플리케이션 및 전체 시스템에 부가되는 설계 제약조건들에 의존한다. 당업자들은 설명된 기능을 각각의 특정한 애플리케이션에 대하여 다양한 방식으로 구현할 수도 있지만, 이러한 구현 결정은 본 발명의 범위를 벗어나도록 하는 것으로 해석되지 않아야 한다.
본 명세서에 개시된 실시형태들과 함께 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 본 명세서에서 설명된 기능들을 수행하도록 설계된 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA) 또는 다른 프로그램가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 구성 요소들, 또는 이들의 임의의 결합으로써 구현되거나 실시될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대체예에서는, 이러한 프로세서는 임의의 종래 프로세서, 제어기, 마이크로제어기, 또는 상태 머신 (state machine) 일 수도 있다. 또한, 프로세서는 예를 들어 DSP 및 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 함께 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성과 같은 컴퓨팅 디바이스들의 조합으로서 구현될 수 있다.
본 명세서에서 개시된 실시형태들과 함께 설명된 방법들, 시퀀스들, 및/또는 알고리즘들은 직접적으로 하드웨어에서 구현되거나, 프로세서에 의하여 실행되는 소프트웨어 모듈에서 구현되거나, 또는 이들 양자의 조합에서 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 탈착식 디스크, CD-ROM 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수 있다. 예시적인 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독할 수 있고 그 저장 매체에 정보를 기록할 수 있도록 프로세서에 커플링된다. 대안적으로는, 저장 매체는 프로세서에 내장될 수 있다. 프로세서 및 저장 매체는 ASIC에 상주할 수도 있다. ASIC 은 사용자 단말 (예를 들어 액세스 단말) 에 상주할 수도 있다. 다르게는, 프로세서 및 저장 매체는 사용자 단말에서 이산 구성 요소로서 상주할 수도 있다.
하나 이상의 예시적인 실시형태들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되면, 그 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상에 저장되거나 이를 통해 송신될 수도 있다. 컴퓨터 판독가능 매체는 한 장소에서 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 컴퓨터 저장 매체 및 통신 매체 양자를 모두 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수도 있다. 비한정적인 예시로서, 이러한 컴퓨터 판독가능 미디어는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 스토리지, 자기 디스크 스토리지, 또는 다른 자기 저장 디바이스들, 또는 원하되는 프로그램 코드를 컴퓨터에 의해 액세스될 수 있는 명령들 또는 데이터 구조들의 형태로 운반하거나 저장하는데 사용될 수 있는 임의의 다른 매체를 포함할 수도 있다. 또한, 임의의 접속이 적합하게 컴퓨터 판독가능 매체라고 지칭된다. 예를 들어, 소프트웨어가 웹사이트, 서버, 또는 다른 원격 소스로부터 동축 케이블, 광섬유 케이블, 연선 (twisted pair), 디지털 가입자 회선 (DSL), 또는 무선 기술들 이를테면 적외선, 라디오, 및/또는 마이크로파를 이용하여 송신되면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들은 매체의 정의에 포함된다. 디스크 (Disk 및 disc) 는 여기서 사용되는 바와 같이, 콤팩트 디스크 (compact disc, CD), 레이저 디스크, 광 디스크, 디지털 다용도 디스크 (DVD), 플로피 디스크 (floppy disk) 및 블루레이 디스크를 포함하고, 여기서 디스크 (disk) 들은 보통 데이터를 자기적으로 재생하지만, 디스크 (disc) 들은 레이저들을 이용하여 광학적으로 데이터를 재생한다. 상기한 것들의 조합들도 컴퓨터 판독가능 미디어의 범위 내에 포함되어야 한다.
앞의 개시는 본 발명의 예시적인 실시형태들을 보여주지만, 첨부된 청구항들에 의하여 정의되는 바와 같은 본 발명의 범위에서 벗어나지 않으면서 다양한 변경들 및 수정들이 이루어질 수 있다는 것에 유의해야 한다. 본 명세서에서 설명되는 본 발명의 실시형태들에 따른 방법 청구항들의 기능들, 단계들 및/또는 동작들은 어느 특정 순서로만 수행될 필요는 없다. 또한, 본 발명의 구성 요소들이 단수형으로 설명되거나 청구될 수 있지만, 단수형으로의 한정이 명시적으로 언급되지 않는다면 복수형이 고려된다.

Claims (30)

  1. 통신 시스템 내의 제 1 액세스 단말과 제 2 액세스 단말 사이에 데이터를 교환하는 방법으로서,
    상기 제 1 액세스 단말과 상기 제 2 액세스 단말 사이에서, 제 1 타입의 통신 세션과 연관된 더 높은 우선순위 데이터 및 제 2 타입의 통신 세션과 연관된 더 낮은 우선순위 데이터를 교환하는 단계로서, 상기 제 1 타입의 통신 세션 및 상기 제 2 타입의 통신 세션은 애플리케이션 서버에 의하여 중재되는, 상기 교환하는 단계;
    상기 제 1 액세스 단말의 더 낮은 데이터 레이트 환경으로의 천이를 결정하는 단계; 및
    상기 결정에 응답하여, 상기 제 1 액세스 단말과 상기 애플리케이션 서버 사이에 교환되는 데이터 패킷들의 크기를 상기 제 2 타입의 통신 세션에 대하여 감소시키는 단계를 포함하는, 데이터를 교환하는 방법.
  2. 제 1 항에 있어서,
    상기 교환하는 단계, 상기 결정하는 단계, 및 상기 감소시키는 단계는 각각 상기 제 1 액세스 단말에 의하여 수행되는, 데이터를 교환하는 방법.
  3. 제 2 항에 있어서,
    상기 감소시키는 단계는, 역방향-링크 상에서 상기 제 1 액세스 단말에 의하여 상기 애플리케이션 서버로 송신되는 상기 데이터 패킷들의 크기를 감소시키는, 데이터를 교환하는 방법.
  4. 제 1 항에 있어서,
    상기 교환하는 단계, 상기 결정하는 단계, 및 상기 감소시키는 단계는 각각 상기 애플리케이션 서버에 의하여 수행되는, 데이터를 교환하는 방법.
  5. 제 4 항에 있어서,
    상기 감소시키는 단계는, 다운링크 상에서 상기 애플리케이션 서버에 의하여 상기 제 1 액세스 단말로 송신되며 상기 제 2 액세스 단말로부터 수신되는 상기 데이터 패킷들의 크기를 감소시키는, 데이터를 교환하는 방법.
  6. 제 4 항에 있어서,
    상기 애플리케이션 서버에 의한 상기 천이의 상기 결정은,
    (i) 상기 제 1 액세스 단말의 데이터 레이트 환경에 관한, 상기 제 1 액세스 단말 또는 상기 제 1 액세스 단말의 서빙 네트워크로부터의 통보,
    (ii) 상기 제 1 액세스 단말로의 상기 애플리케이션 서버의 접속의 성능 열화의 검출,
    (iii) 상기 제 1 액세스 단말의 현재 지리적 위치 또는 서빙 영역의 보고, 또는 이들의 조합에 기초하는, 데이터를 교환하는 방법.
  7. 제 1 항에 있어서,
    상기 제 1 타입의 상기 통신 세션은 스트리밍 또는 실시간 통신 세션에 대응하고, 상기 제 2 타입의 상기 통신 세션은 파일 전송 세션에 대응하는, 데이터를 교환하는 방법.
  8. 제 1 항에 있어서,
    상기 결정은, 주어진 타입의 네트워크로의 상기 제 1 액세스 단말의 천이에 기초하는, 데이터를 교환하는 방법.
  9. 제 8 항에 있어서,
    상기 주어진 타입의 상기 네트워크는 1x 네트워크, GPRS (General Packet Radio Service) 네트워크, EV-DO (Evolution-Data Optimized) Rel.0 네트워크 또는 Rev.A 네트워크에 대응하는, 데이터를 교환하는 방법.
  10. 제 1 항에 있어서,
    상기 제 1 타입의 통신 세션에 대한, 상기 제 1 액세스 단말과 상기 애플리케이션 서버 사이에 교환되는 데이터 패킷들의 크기는 상기 결정에 응답하여 감소되지 않는, 데이터를 교환하는 방법.
  11. 통신 시스템 내의 제 1 액세스 단말과 제 2 액세스 단말 사이에 데이터를 교환하는 방법으로서:
    상기 제 1 액세스 단말과 상기 제 2 액세스 단말 사이에서, 제 1 타입의 통신 세션과 연관된 더 높은 우선순위 데이터 및 제 2 타입의 통신 세션과 연관된 더 낮은 우선순위 데이터를 교환하는 단계로서, 상기 제 1 타입의 통신 세션 및 상기 제 2 타입의 통신 세션은 애플리케이션 서버에 의하여 중재되는, 상기 교환하는 단계;
    상기 제 1 타입의 통신 세션에 대하여 업커밍 (upcoming) 타임슬롯 내에서 상기 제 1 액세스 단말로부터 상기 제 2 액세스 단말로 전송될 제 1 데이터 패킷이 주어진 타입의 낮은 데이터 패킷에 대응한다는 것을 결정하는 단계;
    업커밍 데이터 패킷의 송신을 억제하는 단계; 및
    상기 제 2 타입의 통신 세션에 대하여 상기 업커밍 타임슬롯 내에서 상기 제 1 액세스 단말로부터 상기 제 2 액세스 단말로 상기 제 1 데이터 패킷 대신에 제 2 데이터 패킷을 송신하는 단계를 포함하는, 데이터를 교환하는 방법.
  12. 제 11 항에 있어서,
    상기 교환하는 단계, 상기 결정하는 단계, 상기 억제하는 단계 및 상기 송신하는 단계는 각각 상기 제 1 액세스 단말에 의하여 수행되는, 데이터를 교환하는 방법.
  13. 제 12 항에 있어서,
    상기 송신하는 단계는 역방향-링크 상의 상기 제 1 액세스 단말에 의한 상기 애플리케이션 서버로의 상기 제 2 데이터 패킷의 송신에 대응하는, 데이터를 교환하는 방법.
  14. 제 11 항에 있어서,
    상기 교환하는 단계, 상기 결정하는 단계, 상기 억제하는 단계 및 상기 송신하는 단계는 각각 상기 애플리케이션 서버에 의하여 수행되는, 데이터를 교환하는 방법.
  15. 제 14 항에 있어서,
    상기 송신하는 단계는, 다운링크 상에서 상기 애플리케이션 서버에 의하여 상기 제 2 액세스 단말로 송신되고 상기 제 1 액세스 단말로부터 수신되는 상기 제 2 데이터 패킷의 송신에 대응하는, 데이터를 교환하는 방법.
  16. 제 11 항에 있어서,
    상기 제 1 타입의 상기 통신 세션은 스트리밍 또는 실시간 통신 세션에 대응하고, 상기 제 2 타입의 상기 통신 세션은 파일 전송 세션에 대응하는, 데이터를 교환하는 방법.
  17. 제 11 항에 있어서,
    상기 제 1 타입의 상기 통신 세션은 음성 호 (voice call) 에 대응하고, 상기 낮은 타입의 데이터 패킷은 침묵 패킷 (silence packet) 에 대응하는, 데이터를 교환하는 방법.
  18. 제 17 항에 있어서,
    상기 제 2 액세스 단말은 상기 제 2 타입의 상기 통신 세션에 대한 연속적인 데이터 패킷들의 수신을 암시적 (implicit) 침묵 패킷의 표시로서 해석하도록 구성되는, 데이터를 교환하는 방법.
  19. 통신 시스템 내의 제 1 액세스 단말과 제 2 액세스 단말 사이에 데이터를 교환하는 방법으로서:
    애플리케이션 서버에 의하여 중재되고 있는 파일 전송 세션과 연관되어 상기 제 1 액세스 단말로부터 유래하고 상기 제 2 액세스 단말을 타겟으로 하는 데이터 패킷들의 시퀀스를 송신하는 단계;
    상기 제 1 액세스 단말이 상기 시퀀스 내의 최후 또는 최후 근접 (near-last) 데이터 패킷들의 일 세트의 송신을 시도했다는 것을 결정하는 단계; 및
    상기 시퀀스 내의 최후 또는 최후 근접 데이터 패킷들의 상기 세트를 송신하려는 초기 시도 이후에,
    상기 제 2 액세스 단말이 상기 시퀀스 내의 최후 또는 최후 근접 데이터 패킷들의 상기 세트를 송신하려는 초기 시도의 수신을 확인하는 것을 대기하지 않고, 상기 시퀀스 내의 최후 또는 최후 근접 데이터 패킷들의 상기 세트를 재송신하는 단계를 포함하는, 데이터를 교환하는 방법.
  20. 제 19 항에 있어서,
    상기 송신하는 단계, 상기 결정하는 단계, 및 상기 재송신하는 단계는 각각 상기 제 1 액세스 단말에 의하여 수행되는, 데이터를 교환하는 방법.
  21. 제 20 항에 있어서,
    상기 송신하는 단계는, 역방향-링크 상의 상기 제 1 액세스 단말에 의한 상기 애플리케이션 서버로의 데이터 패킷들의 상기 시퀀스의 송신에 대응하는, 데이터를 교환하는 방법.
  22. 제 20 항에 있어서,
    초기에 송신 또는 재송신된 최후 또는 최후 근접 데이터 패킷들의 세트에 대한 확인들의 세트를 수신하자마자, 상기 파일 전송 세션과 연관되는 트래픽 채널 (TCH) 을 해체하는 단계를 더 포함하는, 데이터를 교환하는 방법.
  23. 제 19 항에 있어서,
    상기 송신하는 단계, 상기 결정하는 단계, 및 상기 재송신하는 단계는 각각 상기 애플리케이션 서버에 의하여 수행되는, 데이터를 교환하는 방법.
  24. 제 23 항에 있어서,
    상기 송신하는 단계는, 다운링크 상에서 상기 애플리케이션 서버에 의하여 상기 제 2 액세스 단말로 송신되며 상기 제 1 액세스 단말로부터 수신되는 데이터 패킷들의 상기 시퀀스의 송신에 대응하는, 데이터를 교환하는 방법.
  25. 제 23 항에 있어서,
    초기에 송신 또는 재송신된 최후 또는 최후 근접 데이터 패킷들의 세트에 대한 확인들의 세트를 수신하자마자, 상기 재송신하는 단계를 중지하는 단계를 더 포함하는, 데이터를 교환하는 방법.
  26. 제 1 항에 있어서,
    상기 제 1 액세스 단말의 더 낮은 데이터 레이트 환경으로의 천이의 상기 결정은 제 1 RAT (radio access technology) 타입인 제 1 통신 네트워크로부터 제 2 RAT 타입인 제 2 통신 네트워크로 핸드오프를 완료하는 제 1 액세스 단말의 검출에 기초하며, 상기 제 2 통신 네트워크는 그들의 연관된 RAT 타입들에 기초하는 제 1 통신 네트워크와 비교할 때 더 낮은 데이터 레이트들을 지원하도록 기대되는, 데이터를 교환하는 방법.
  27. 제 1 항에 있어서,
    상기 제 1 액세스 단말의 더 낮은 데이터 레이트 환경으로의 천이의 상기 결정은, 핸드오프를 겪는 제 1 액세스 단말을 갖지 않는 현재 서빙 통신 네트워크 상에서 열화 조건들의 검출에 기초하는, 데이터를 교환하는 방법.
  28. 제 1 항에 있어서,
    크기가 감소된 데이터 패킷들은 상기 제 2 타입의 상기 통신 세션에 대한 미디어 패킷에 대응하는, 데이터를 교환하는 방법.
  29. 제 1 항 내지 제 28 항 중 어느 한 항에 기재된 방법을 수행하기 위한 수단을 포함하는, 통신 장치.
  30. 비일시적 컴퓨터 판독가능 저장 매체를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 비일시적 컴퓨터 판독가능 저장 매체는, 컴퓨터로 하여금 제 1 항 내지 제 28 항 중 어느 한 항에 기재된 방법을 수행하도록 하기 위한 적어도 하나의 명령을 포함하는, 컴퓨터 프로그램 제품.
KR1020147013712A 2010-04-30 2011-04-29 통신 시스템 내에서 통신 세션과 연관된 데이터의 교환 KR20140072919A (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US33017910P 2010-04-30 2010-04-30
US61/330,179 2010-04-30
US13/096,473 2011-04-28
US13/096,700 2011-04-28
US13/096,458 2011-04-28
US13/096,458 US20120110115A1 (en) 2010-04-30 2011-04-28 Exchanging Data Associated With A Communication Session Within A Communications System
US13/096,700 US9100459B2 (en) 2010-04-30 2011-04-28 Exchanging data associated with a communication session within a communications system
US13/096,473 US9083772B2 (en) 2010-04-30 2011-04-28 Exchanging data associated with a communication session within a communications system
PCT/US2011/034432 WO2011137282A1 (en) 2010-04-30 2011-04-29 Exchanging data associated with a communication session within a communications system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020127031389A Division KR101534382B1 (ko) 2010-04-30 2011-04-29 통신 시스템 내에서 통신 세션과 연관된 데이터의 교환

Publications (1)

Publication Number Publication Date
KR20140072919A true KR20140072919A (ko) 2014-06-13

Family

ID=45973896

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020147013713A KR20140077981A (ko) 2010-04-30 2011-04-29 통신 시스템 내에서 통신 세션과 연관된 데이터의 교환
KR1020147013711A KR20140077980A (ko) 2010-04-30 2011-04-29 통신 시스템 내에서 통신 세션과 연관된 데이터의 교환
KR1020147013712A KR20140072919A (ko) 2010-04-30 2011-04-29 통신 시스템 내에서 통신 세션과 연관된 데이터의 교환
KR1020127031389A KR101534382B1 (ko) 2010-04-30 2011-04-29 통신 시스템 내에서 통신 세션과 연관된 데이터의 교환

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020147013713A KR20140077981A (ko) 2010-04-30 2011-04-29 통신 시스템 내에서 통신 세션과 연관된 데이터의 교환
KR1020147013711A KR20140077980A (ko) 2010-04-30 2011-04-29 통신 시스템 내에서 통신 세션과 연관된 데이터의 교환

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020127031389A KR101534382B1 (ko) 2010-04-30 2011-04-29 통신 시스템 내에서 통신 세션과 연관된 데이터의 교환

Country Status (6)

Country Link
US (5) US9100459B2 (ko)
EP (2) EP2564625A1 (ko)
JP (4) JP2013532403A (ko)
KR (4) KR20140077981A (ko)
CN (1) CN102870458A (ko)
WO (1) WO2011137282A1 (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7903540B2 (en) * 2007-08-02 2011-03-08 Alvarion Ltd. Method and device for synchronization in wireless networks
US9100459B2 (en) * 2010-04-30 2015-08-04 Qualcomm Incorporated Exchanging data associated with a communication session within a communications system
US8422464B2 (en) * 2010-12-29 2013-04-16 General Electric Company System and method for dynamic data management in a wireless network
US8358590B2 (en) * 2010-12-29 2013-01-22 General Electric Company System and method for dynamic data management in a wireless network
US8422463B2 (en) * 2010-12-29 2013-04-16 General Electric Company System and method for dynamic data management in a wireless network
BRPI1100064A2 (pt) * 2011-04-29 2016-05-03 Nii Holdings Inc método para estabelecer uma conexão ce comunicação
US8656013B2 (en) * 2011-06-14 2014-02-18 Sony Computer Entertainment America Llc Real-time data monitoring based on data push
US10218756B2 (en) * 2012-01-06 2019-02-26 Comcast Cable Communications, Llc Streamlined delivery of video content
GB2504124A (en) * 2012-07-20 2014-01-22 Ibm Managing concurrent conversations over a communications link between a client computer and a server computer
US9554389B2 (en) * 2012-08-31 2017-01-24 Qualcomm Incorporated Selectively allocating quality of service to support multiple concurrent sessions for a client device
US9275642B2 (en) * 2012-11-13 2016-03-01 Unified Computer Intelligence Corporation Voice-operated internet-ready ubiquitous computing device and method thereof
CN104904269B (zh) * 2013-01-06 2019-04-23 联发科技(新加坡)私人有限公司 快速恢复方法及其装置
US9258292B2 (en) * 2013-01-14 2016-02-09 Futurewei Technologies, Inc. Adapting federated web identity protocols
US9100877B2 (en) * 2013-02-01 2015-08-04 Intel Deutschland Gmbh Communication devices and methods for controlling a communication device
US9357359B2 (en) * 2013-02-05 2016-05-31 Qualcomm Incorporated Dynamic quality of service (QoS) for services over cellular
US9756543B2 (en) * 2013-03-01 2017-09-05 Apple Inc. Application-based radio-access technology switching
GB2513345B (en) * 2013-04-23 2017-07-26 Gurulogic Microsystems Oy Data communication system and method
US10609179B2 (en) * 2013-09-18 2020-03-31 Kabushiki Kaisha Toshiba Method and system establishing a network connection
KR101469490B1 (ko) * 2013-10-30 2014-12-12 에스케이플래닛 주식회사 모바일 인터넷 전화 서버 시스템, 모바일 인터넷 전화 서버 부하 분산 방법 및 이를 위한 장치
US10660002B2 (en) * 2013-11-19 2020-05-19 At&T Intellectual Property I, L.P. System and method for differentiated system continuity when changing networks
US20150180794A1 (en) * 2013-12-20 2015-06-25 Qualcomm Incorporated Systems and methods for controlling modems in a computing device
JP2015207819A (ja) * 2014-04-17 2015-11-19 株式会社リコー 情報処理装置、情報処理システム、通信制御方法およびプログラム
KR102151457B1 (ko) * 2014-08-25 2020-09-03 삼성전자 주식회사 통신 시스템에서 페이지 로딩 시간 단축 방법 및 장치
EP3024156A1 (en) * 2014-11-19 2016-05-25 Motorola Solutions, Inc. Method, device and system for transmitting short data during an active TDMA call
US10362074B2 (en) * 2015-02-03 2019-07-23 Kodiak Networks, Inc Session management and notification mechanisms for push-to-talk (PTT)
US9763024B2 (en) * 2015-04-09 2017-09-12 Yahoo Holdings, Inc. Mobile ghosting
WO2016209054A1 (en) * 2015-06-26 2016-12-29 Samsung Electronics Co., Ltd. Communication method between terminals and terminal for performing the communication
US10554700B2 (en) * 2015-08-04 2020-02-04 At&T Intellectual Property I, L.P. Method and apparatus for management of communication conferencing
CN105187543A (zh) * 2015-09-23 2015-12-23 深圳市金立通信设备有限公司 一种文件下载方法和终端
GB2557548B (en) * 2015-10-23 2022-03-16 Kodiak Networks Inc System and method for implementing call session quality indicator
US10135596B2 (en) * 2016-01-20 2018-11-20 Qualcomm Incorporated Narrow band ACK / NACK transmissions
US9900837B2 (en) 2016-06-09 2018-02-20 Google Llc Multi-channel communications for sending push notifications to mobile devices
RU2711023C1 (ru) * 2016-07-15 2020-01-14 Хуавей Текнолоджиз Ко., Лтд. Способ обращения за разрешением на медиапередачу и способ и устройство для отмены разрешения на медиапередачу
US10750400B2 (en) 2016-09-30 2020-08-18 Qualcomm Incorporated Processing a data packet received over control plane in congestion scenario
CN112713970B (zh) * 2016-11-02 2022-05-13 华为技术有限公司 一种发送报文的方法、装置、芯片及终端
CN106453663B (zh) * 2016-12-13 2019-10-22 河北思达歌数据科技投资有限公司 改进的基于云服务的存储扩容方法及装置
CN108347406B (zh) * 2017-01-24 2021-07-23 展讯通信(上海)有限公司 多方通话中切换组织者的方法、装置、终端及网络侧设备
US10356680B1 (en) * 2018-05-04 2019-07-16 Nokia Technologies Oy Voice retainability evaluation
US10805191B2 (en) 2018-12-14 2020-10-13 At&T Intellectual Property I, L.P. Systems and methods for analyzing performance silence packets
US10798617B1 (en) * 2019-01-23 2020-10-06 Cisco Technology, Inc. Providing low latency traffic segregation for mobile edge computing network environments
US11399208B2 (en) * 2019-09-24 2022-07-26 International Business Machines Corporation Packet priority for visual content

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757771A (en) * 1995-11-14 1998-05-26 Yurie Systems, Inc. Queue management to serve variable and constant bit rate traffic at multiple quality of service levels in a ATM switch
US5826031A (en) 1996-06-10 1998-10-20 Sun Microsystems, Inc. Method and system for prioritized downloading of embedded web objects
JPH1074206A (ja) 1996-08-30 1998-03-17 Matsushita Electric Ind Co Ltd 情報提供システム
US6990069B1 (en) * 1997-02-24 2006-01-24 At&T Corp. System and method for improving transport protocol performance in communication networks having lossy links
US6282196B1 (en) * 1997-04-14 2001-08-28 Lucent Technologies Inc. Dynamic build-out approach for use in packet voice systems
JP3529621B2 (ja) * 1997-05-12 2004-05-24 株式会社東芝 ルータ装置、データグラム転送方法及び通信システム
US6049537A (en) 1997-09-05 2000-04-11 Motorola, Inc. Method and system for controlling speech encoding in a communication system
US6546009B1 (en) * 1998-08-11 2003-04-08 At&T Corp. Method of reducing delays in packet data transmission
US6560196B1 (en) * 1998-11-19 2003-05-06 Cisco Technology, Inc. Method and apparatus for controlling the transmission of cells across a network
JP2000244463A (ja) 1999-02-23 2000-09-08 Nippon Telegr & Teleph Corp <Ntt> 無線パケット送受信方法及び装置
US6654376B1 (en) * 1999-12-28 2003-11-25 Nortel Networks Limited ATM packet scheduler
US7401118B1 (en) 2000-07-19 2008-07-15 Hitachi, Ltd. Web information preferential transfer system
US6983331B1 (en) * 2000-10-17 2006-01-03 Microsoft Corporation Selective display of content
US7746798B2 (en) * 2000-11-22 2010-06-29 Silicon Image, Inc. Method and system for integrating packet type information with synchronization symbols
US7738407B2 (en) * 2001-08-03 2010-06-15 At&T Intellectual Property Ii, L.P. Method and apparatus for delivering IPP2T (IP-push-to-talk) wireless LAN mobile radio service
JP3927027B2 (ja) * 2001-12-21 2007-06-06 株式会社エヌ・ティ・ティ・ドコモ リソース制御システム、リソース制御方法、及びこれらに用いて好適な基地局
US7453898B1 (en) * 2002-03-30 2008-11-18 Cisco Technology, Inc. Methods and apparatus for simultaneously scheduling multiple priorities of packets
US7688764B2 (en) 2002-06-20 2010-03-30 Motorola, Inc. Method and apparatus for speaker arbitration in a multi-participant communication session
KR100606016B1 (ko) 2002-09-13 2006-07-26 삼성전자주식회사 이동 통신시스템에서 양방향 데이터 서비스 제공 방법
US7369567B2 (en) 2002-12-31 2008-05-06 Motorola, Inc. Methods for affiliating endpoints with a group and determining common communication capabilities for the affiliated endpoints
US7122222B2 (en) 2003-01-23 2006-10-17 Air Products And Chemicals, Inc. Precursors for depositing silicon containing films and processes thereof
US7653405B2 (en) 2003-12-05 2010-01-26 Nortel Networks Limited Communicating application control and data information using a traffic flow over a wireless link
US7500009B2 (en) * 2004-02-11 2009-03-03 Cisco Technology, Inc. Rate computations of particular use in scheduling activities or items such as the sending of packets
GB0408876D0 (en) * 2004-04-21 2004-05-26 Level 5 Networks Ltd User-level stack
US7835761B2 (en) 2004-06-21 2010-11-16 Qualcomm Incorporated Method for distinguishing different types of data content in data packets in a wireless communication system
CN1994005A (zh) * 2004-06-21 2007-07-04 高通股份有限公司 区分无线通信系统中数据包中的不同类型数据内容的方法
KR100690752B1 (ko) 2004-07-28 2007-03-09 엘지전자 주식회사 피티티 서비스 시스템의 발언권 할당방법
US7711835B2 (en) 2004-09-30 2010-05-04 Citrix Systems, Inc. Method and apparatus for reducing disclosure of proprietary data in a networked environment
US8099482B2 (en) 2004-10-01 2012-01-17 E-Cast Inc. Prioritized content download for an entertainment device
CA2632579A1 (en) 2004-12-13 2006-06-22 Coldspark, Inc. Electronic message delivery system including a network device
US20060168123A1 (en) 2004-12-14 2006-07-27 Alcatel Queue and load for wireless hotspots
US20060172752A1 (en) 2005-02-03 2006-08-03 Harris John M Method and apparatus for providing talk permit notification for a PTT call
US20060259585A1 (en) * 2005-05-10 2006-11-16 International Business Machines Corporation Enabling user selection of web page position download priority during a download
US7574212B2 (en) 2005-06-22 2009-08-11 Sprint Spectrum L.P. Method and system for managing communication sessions during multi-mode mobile station handoff
US20060294245A1 (en) 2005-06-22 2006-12-28 Newstep Networks, Inc. Method and system for a communications session join function to facilitate the provision of enhanced communications services
US7970425B2 (en) 2005-08-30 2011-06-28 Alcatel-Lucent Usa Inc. Push-to-talk group call system using CDMA 1x-EVDO cellular network
US8514711B2 (en) 2005-10-21 2013-08-20 Qualcomm Incorporated Reverse link lower layer assisted video error control
US7567515B2 (en) 2005-11-04 2009-07-28 Via Telecom, Inc. Inter-layer communication of receipt confirmation for releasing retransmission buffer contents
US7535857B2 (en) * 2005-11-18 2009-05-19 Motorola, Inc. Method for transmitting data from a participant device in a session in an internet protocol (IP) system
US8495613B2 (en) * 2005-12-22 2013-07-23 Microsoft Corporation Program execution service windows
JP4926495B2 (ja) 2006-02-22 2012-05-09 興和株式会社 イブプロフェン含有コーティング顆粒
JP4781880B2 (ja) 2006-03-31 2011-09-28 富士通株式会社 中継装置、中継方法、中継プログラムおよび通信システム
JP4780657B2 (ja) 2006-03-31 2011-09-28 Kddi株式会社 放送通信融合システムのメッセージ受信装置および視聴者端末
US8346220B2 (en) * 2006-03-31 2013-01-01 Airvana Network Solutions, Inc. Signaling for push-to-talk
US20070250571A1 (en) * 2006-04-07 2007-10-25 Griffin Paul P Jr Method and apparatus for interfacing a network with a television or stereo for enhanced access of media content
WO2007142488A1 (en) * 2006-06-09 2007-12-13 Samsung Electronics Co., Ltd. Method and system for initiating poc session including different answer modes according to media types
US8086946B2 (en) * 2006-09-05 2011-12-27 Adobe Systems Incorporated Methods and apparatus for optimizing responsiveness of portable documents
US7707273B2 (en) 2006-09-11 2010-04-27 Apple Inc. Management and prioritization of media item downloading
US8213295B2 (en) 2006-09-12 2012-07-03 Qualcomm Incorporated Transaction timeout handling in communication session management
US7826356B2 (en) 2006-11-08 2010-11-02 International Business Machines Corporation Method and system for controlling flow in an asymmetric communication channel
US20080146252A1 (en) 2006-12-13 2008-06-19 Ashu Razdan Tandem transmission of data over signaling and paging
EP1973277A1 (en) * 2007-03-23 2008-09-24 NTT DoCoMo, Inc. Method and apparatus for real time scheduling of traffic in wireless networks
WO2008126260A1 (ja) 2007-03-30 2008-10-23 Fujitsu Limited 基地局装置、通信システム及びコンピュータプログラム
JP2008300936A (ja) 2007-05-29 2008-12-11 Nec Access Technica Ltd 通信システム、通信システムに用いられる端末装置、及び、通信システムの通信方法
US7787418B2 (en) * 2007-06-08 2010-08-31 Intel Corporation Apparatus and method to support VoIP calls for mobile subscriber stations
US9210202B2 (en) 2007-06-20 2015-12-08 Qualcomm Incorporated System and method for sharing media in a group communication among wireless communication devices
US9414429B2 (en) 2007-06-28 2016-08-09 Qualcomm Incorporated Method and apparatus for maintaining an always-on data session in a wireless communication network
US8457044B2 (en) 2007-09-24 2013-06-04 Qualcomm Incorporated Selective review of bundled messages from a wireless communication device
US20090103438A1 (en) * 2007-10-19 2009-04-23 Aricent Inc. Grant Based Adaptive Media Access Control Scheduling
US8448190B2 (en) 2008-03-24 2013-05-21 MFV.com, Inc. Methods, systems, and computer readable media for high reliability downloading of background assets using a manifest in a virtual world application
US20110116475A1 (en) * 2008-07-23 2011-05-19 Panasonic Corporation Vertical handoff method, vertical handoff system, home agent, and mobile node
US20100070588A1 (en) 2008-09-15 2010-03-18 Yahoo! Inc. Reliability for instant messaging based on end point acknowledgements
US8824481B2 (en) * 2008-10-28 2014-09-02 International Business Machines Corporation System, method, and apparatus to correlate a TCAP web service request to an application server session
US20110209079A1 (en) 2010-02-23 2011-08-25 Paccar Inc. Graphical display with hierarchical gauge placement
US9100459B2 (en) 2010-04-30 2015-08-04 Qualcomm Incorporated Exchanging data associated with a communication session within a communications system

Also Published As

Publication number Publication date
JP2014171246A (ja) 2014-09-18
JP5795660B2 (ja) 2015-10-14
WO2011137282A1 (en) 2011-11-03
KR101534382B1 (ko) 2015-07-06
US20120106327A1 (en) 2012-05-03
CN102870458A (zh) 2013-01-09
US9083772B2 (en) 2015-07-14
EP2564625A1 (en) 2013-03-06
US9100459B2 (en) 2015-08-04
JP5795661B2 (ja) 2015-10-14
KR20140077981A (ko) 2014-06-24
US20120110115A1 (en) 2012-05-03
EP2645767A3 (en) 2014-01-08
JP2013532403A (ja) 2013-08-15
JP2014171245A (ja) 2014-09-18
US20150195835A1 (en) 2015-07-09
JP2014209734A (ja) 2014-11-06
EP2645767A2 (en) 2013-10-02
US20150195317A1 (en) 2015-07-09
US20120102131A1 (en) 2012-04-26
KR20140077980A (ko) 2014-06-24
KR20130004934A (ko) 2013-01-14

Similar Documents

Publication Publication Date Title
KR101534382B1 (ko) 통신 시스템 내에서 통신 세션과 연관된 데이터의 교환
JP5531115B2 (ja) ワイヤレス通信システム内でのサービス品質(QoS)の取得およびプロビジョニング
TWI379545B (en) Detection for end of service using dynamic inactivity timer thresholds
EP2632224B1 (en) Physical-layer system prioritization and communication session management within a wireless communications system
TWI403140B (zh) 用於動態地建立及釋放一通信器件與一接取網路之間的一連結之方法、通信器件及電腦程式產品
KR101322490B1 (ko) 무선 통신 시스템 내의 고-우선순위 통신 세션들
KR101532825B1 (ko) 무선 통신 시스템 내에서 통신 세션 동안 콜 셋업 서비스 품질 (QoS) 리소스 예약들을 선택적으로 프로비져닝하는 것
JP4782226B2 (ja) リアルタイムサービスのための優先度特定の方法及び装置
US20150271231A1 (en) Transport accelerator implementing enhanced signaling
US8984158B2 (en) Data communication system and method
WO2011008790A1 (en) Group communication sessions between session participants communicating via two or more different contact protocols within a wireless communications system
JP2010506455A (ja) 効率化のための通信信号のバンドリング
EP2795868A1 (en) Exchanging a compressed version of previously communicated session information in a communications system
US20120127973A1 (en) System and method of sending acknowledgments through control channels to prevent unnecessary retransmission in a limited bandwidth wireless communication network
JP2012523753A (ja) ワイヤレス通信デバイス間でのメディアの協調共有のためのシステムおよび方法
RU2439844C2 (ru) Устройство и способ выполнения передачи обслуживания в сети связи
US20210289519A1 (en) Systems, methods, and media for scheduling traffic of a communication session between an application on a wifi network and another device

Legal Events

Date Code Title Description
A107 Divisional application of patent
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid