KR20160107232A - 피드백에 기초한 모뎀 제어를 위한 시스템들 및 방법들 - Google Patents

피드백에 기초한 모뎀 제어를 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR20160107232A
KR20160107232A KR1020167021454A KR20167021454A KR20160107232A KR 20160107232 A KR20160107232 A KR 20160107232A KR 1020167021454 A KR1020167021454 A KR 1020167021454A KR 20167021454 A KR20167021454 A KR 20167021454A KR 20160107232 A KR20160107232 A KR 20160107232A
Authority
KR
South Korea
Prior art keywords
modem
active connections
connections
active
request
Prior art date
Application number
KR1020167021454A
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 KR20160107232A publication Critical patent/KR20160107232A/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
    • H04W28/0289Congestion control
    • 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/12Avoiding congestion; Recovering from congestion
    • H04L47/127Avoiding congestion; Recovering from congestion by using congestion prediction
    • 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/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • 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/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • H04W76/02
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

피드백에 기초한 모뎀 제어를 위한 시스템들 및 방법들이 개시된다. 하나의 실시형태에서, 모뎀 옵서버 모듈이 컴퓨팅 디바이스 내의 소프트웨어와 연관된다. 모뎀 옵서버는 업링크 대역폭 가용성에 관련된 모뎀으로부터의 정보 및/또는 업링크 대역폭에 영향을 미칠 수도 있는 네트워크 상황을 수신한다. 모뎀에서의 업링크 대역폭 가용성에 기초하여, 모뎀 옵서버는 애플리케이션들에 의해 액티브되는 접속들의 수를 스로틀링 또는 제한할 수도 있다.

Description

피드백에 기초한 모뎀 제어를 위한 시스템들 및 방법들{SYSTEMS AND METHODS FOR MODEM CONTROL BASED ON FEEDBACK}
우선권 주장
본 출원은 2014년 1월 10일자로 출원되고 발명의 명칭이 "SYSTEMS AND METHODS FOR MODEM CONTROL BASED ON FEEDBACK"인 미국 특허 출원 제14/152,290호의 우선권을 주장하며, 이는 그 전부가 참조로 본원에 통합된다.
본 개시물의 기술은 대체로 컴퓨팅 디바이스에서 모뎀을 제어하는 것에 관한 것이다.
모바일 통신 디바이스들이 현대 사회에서 흔하게 되었다. 이들 모바일 디바이스들의 보급은 이러한 디바이스들 상에서 이제 가능하게 된 많은 기능들에 의해 부분적으로 추진된다. 이들 기능들 중 다수는 모바일 디바이스로부터 제거된 인터넷 또는 다른 소스들 상의 웹사이트들과 통신하는 능력에 의존한다. 원격 소스들과의 통신에 의존하는 기능들 및 애플리케이션들의 확산은 모바일 디바이스의 무선 트랜시버 (예컨대, 셀룰러 모뎀) 를 통해 전달되는 패킷들에 의해 일반적으로 핸들링된다. 대부분의 이러한 모바일 디바이스들은 이러한 패킷들의 송신 및 수신을 핸들링하는 셀룰러 프로토콜들에 의존한다.
셀룰러 네트워크들이 이러한 모바일 디바이스들의 사용자들에게 이용 가능한 더욱 더 강건한 대역폭들을 가지지만, 모바일 디바이스는 모바일 디바이스의 셀룰러 모뎀에서 패킷들의 송신에서의 지연들을 여전히 겪고 있을 수도 있는데, 다양한 기능들 모두가 송신을 위한 패킷들을 동시에 제출하여서이다.
심지어 웹 브라우저와 같이 패킷들을 전송하는 하나의 기능만이 있다면, 웹 브라우저는 셀룰러 모뎀에서 다수의 패킷들을 생성하며, 따라서 셀룰러 모뎀에서의 혼잡에 기여할 수 있다. 다시 말하면, 브라우저가 수많은 송신 제어 프로토콜 (transmission control protocol, TCP) 접속들을 보통 동시에 개방하여, 양호한 네트워크 상황 (network conditions) 하에 더 많은 네트워크 이용을 달성할 것이다. TCP 흐름 제어 알고리즘들은 신뢰성 있는 접속을 제공하기 위해 수신확인 (ACK) 클로킹 메커니즘을 포함한다. 그러나, ACK 클로킹 메커니즘을 사용하는 것은 업링크 접속 상에서 수많은 ACK 패킷들을 전송하는 것을 수반한다. 양호한 네트워크 상황 하에서, 수많은 ACK 패킷들은 성능을 증가시킨다. 그러나, 네트워크 상황이 차선이라면, 다수의 ACK 패킷들은 성능에 부정적으로 영향을 미칠 수도 있다.
상세한 설명에서 개시되는 실시형태들은 피드백에 기초한 모뎀 제어를 위한 시스템들 및 방법들을 포함한다. 셀룰러 모뎀들과 함께 사용하기 위해 구체적으로 고려되지만, 예시적인 실시형태들은 모뎀을 구비하는 다른 컴퓨팅 디바이스들에 적용 가능하다. 어느 경우에나, 모뎀 옵서버 (modem observer) 모듈이 그 디바이스에서의 소프트웨어와 연관된다. 모뎀 옵서버는 업링크 대역폭 가용성에 관련된 모뎀으로부터의 정보 및/또는 업링크 대역폭에 영향을 미칠 수도 있는 네트워크 상황을 수신한다. 모뎀에서의 업링크 대역폭 가용성에 기초하여, 모뎀 옵서버는 접속들의 수를 스로틀링 또는 제한할 수도 있다. 제 1 실시형태에서, 액티브 접속 수는 제어된다. 제 2 실시형태에서, 총 접속 수는 제어된다 (즉, 개방되고 액티브 또는 유휴 중 어느 하나가 된다).
이에 관하여 하나의 실시형태에서, 모바일 단말을 제어하는 방법이 개시된다. 그 방법은 모바일 단말의 모뎀에 이용 가능한 대역폭의 표시를 수신하는 단계를 포함한다. 그 방법은 최대 액티브 접속 수를 결정하는 단계를 또한 포함한다. 그 방법은 현재 액티브 접속 수를 결정하는 단계를 또한 포함한다. 그 방법은 하나 이상의 새로운 액티브 접속들을 개방하라는 요청을 수신하는 단계를 또한 포함한다. 그 방법은 최대 액티브 접속 수를 현재 액티브 접속 수 더하기 새로운 액티브 접속들에 대한 요청과 비교하는 단계를 또한 포함한다. 그 방법은 최대 액티브 접속 수 이하로 총 액티브 접속 수를 제한하는 단계를 또한 포함한다.
다른 실시형태에서, 명령들을 갖는 소프트웨어를 포함하는 비일시적 컴퓨터 판독가능 매체가 개시된다. 그 소프트웨어는 모바일 단말의 모뎀에 이용 가능한 대역폭의 표시를 수신하기 위한 명령들을 포함한다. 그 소프트웨어는 최대 액티브 접속 수를 결정하기 위한 명령들을 또한 포함한다. 그 소프트웨어는 현재 액티브 접속 수를 결정하기 위한 명령들을 또한 포함한다. 그 소프트웨어는 하나 이상의 새로운 액티브 접속들을 개방하라는 요청을 수신하기 위한 명령들을 또한 포함한다. 소프트웨어는 최대 액티브 접속 수를 현재 액티브 접속 수 더하기 새로운 액티브 접속들에 대한 요청과 비교하기 위한 명령들을 또한 포함한다. 그 소프트웨어는 최대 액티브 접속 수 이하로 총 액티브 접속 수를 제한하기 위한 명령들을 또한 포함한다.
다른 실시형태에서, 모바일 단말이 개시된다. 그 모바일 단말은 사용자 인터페이스를 포함한다. 그 모바일 단말은 모뎀을 또한 포함한다. 그 모바일 단말은 사용자 인터페이스 및 모뎀에 동작적으로 커플링된 제어 시스템을 또한 포함한다. 제어 시스템은 모뎀에 이용 가능한 대역폭의 표시를 수신하도록 구성된다. 그 제어 시스템은 최대 액티브 접속 수를 결정하도록 또한 구성된다. 그 제어 시스템은 현재 액티브 접속 수를 결정하도록 또한 구성된다. 그 제어 시스템은 하나 이상의 새로운 액티브 접속들을 개방하라는 요청을 수신하도록 또한 구성된다. 그 제어 시스템은 최대 액티브 접속 수를 현재 액티브 접속 수 더하기 새로운 액티브 접속들에 대한 요청과 비교하도록 또한 구성된다. 그 제어 시스템은 최대 액티브 접속 수 이하로 총 액티브 접속 수를 제한하도록 또한 구성된다.
다른 실시형태에서, 컴퓨팅 디바이스가 개시된다. 그 컴퓨팅 디바이스는 사용자 인터페이스를 포함한다. 그 컴퓨팅 디바이스는 모뎀을 또한 포함한다. 그 컴퓨팅 디바이스는 사용자 인터페이스 및 모뎀에 동작적으로 커플링된 제어 시스템을 또한 포함한다. 그 제어 시스템은 모뎀에 이용 가능한 대역폭의 표시를 수신하도록 구성된다. 그 제어 시스템은 최대 액티브 접속 수를 결정하도록 또한 구성된다. 그 제어 시스템은 현재 액티브 접속 수를 결정하도록 또한 구성된다. 그 제어 시스템은 하나 이상의 새로운 액티브 접속들을 개방하라는 요청을 수신하도록 또한 구성된다. 그 제어 시스템은 최대 액티브 접속 수를 현재 액티브 접속 수 더하기 새로운 액티브 접속들에 대한 요청과 비교하도록 또한 구성된다. 그 제어 시스템은 최대 액티브 접속 수 이하로 총 액티브 접속 수를 제한하도록 또한 구성된다.
도 1은 피드백 메커니즘을 통해 제어될 수도 있는 모뎀과 네트워크에서 통신하는 예시적인 컴퓨팅 디바이스의 단순화된 도면이며;
도 2는 피드백 메커니즘을 통해 제어될 수도 있는 모뎀과 셀룰러 네트워크에서 통신하는 예시적인 모바일 단말의 사시도이며;
도 3은 도 2의 모바일 단말의 컴포넌트들의 블록도이며;
도 4는 모뎀의 피드백 기반 제어를 용이하게 하는 모뎀 옵서버를 갖는, 도 1의 컴퓨팅 디바이스 또는 도 2 및 도 3의 모바일 단말의 소프트웨어의 예시적인 블록도이며;
도 5는 피드백 기반 모뎀 제어의 프로세스를 도시하는 예시적인 흐름도이며;
도 6은 피드백에 기초하여 모뎀을 제어하는 소프트웨어의 초기화의 예시적인 논리적 흐름도들이며; 그리고
도 7은 모뎀을 제어함에 있어서 사용되는 소프트웨어에 제공된 피드백의 예시적인 논리적 흐름도들이다.
이제 도면들을 참조하여, 본 개시물의 여러 예시적인 실시형태들이 설명된다. 단어 '예시적인 (exemplary) '은 본원에서 '예, 사례, 또는 예시로서 역할을 한다'는 의미로 사용된다. "예시적인" 것으로서 본원에서 설명되는 어떤 실시형태라도 다른 실시형태들보다 바람직하거나 유익하다고 생각할 필요는 없다.
상세한 설명에서 개시되는 실시형태들은 피드백에 기초한 모뎀 제어를 위한 시스템들 및 방법들을 포함한다. 셀룰러 모뎀들과 함께 사용하기 위해 구체적으로 고려되지만, 예시적인 실시형태들은 모뎀을 구비하는 다른 컴퓨팅 디바이스들에 적용 가능하다. 어느 경우에나, 모뎀 옵서버 모듈이 그 디바이스에서의 소프트웨어와 연관된다. 모뎀 옵서버는 업링크 대역폭 가용성에 관련된 모뎀으로부터의 정보 및/또는 업링크 대역폭에 영향을 미칠 수도 있는 네트워크 상황을 수신한다. 모뎀에서의 업링크 대역폭 가용성에 기초하여, 모뎀 옵서버는 접속들의 수를 스로틀링 또는 제한할 수도 있다. 제 1 실시형태에서, 액티브 접속 수는 제어된다. 제 2 실시형태에서, 총 접속 수는 제어된다 (즉, 개방되고 액티브 또는 유휴 중 어느 하나가 된다).
본원에서 개시된 실시형태들은 컴퓨팅 디바이스 (모바일이거나 또는 아님) 가 이용 가능한 업링크 대역폭을 평가한 다음 추가적인 접속들이 이루어져야 하는지의 여부를 결정하는 것을 허용한다. 업링크 대역폭이 네트워크 혼잡 또는 열악한 신호 강도 때문에 제한된다면, 소프트웨어는 접속들이 개방되지 못하게 또는 기존의 접속들이 액티브되지 못하게 할 수도 있다. 이런 방식으로, 업링크 채널 상에서 전송된 패킷들의 총 수는 이용 가능한 대역폭에 의해 결정된 임계값 미만의 수로 스로틀링된다. 이런 방식으로 패킷들의 수를 제어하는 것은 업링크 채널의 성능을 개선시키는데, 그러한 제어가 업링크 상에서 이동하는 패킷들에 부가되는 고도로 변화하는 레이턴시들을 감소시키기 때문이다. 높은 변동량 (variance) 을 갖는 이러한 레이턴시들은 클라이언트 측 및 서브 측 둘 다에서 열악한 왕복 지연 시간 (round trip delay time, RTT) 추정을 초래할 수 있다. 열악한 RTT는 손실되지 않았던 패킷들의 불필요한 재송신, 네트워크에서 손실되었던 데이터의 늦은 재송신, 및 감소된 다운링크 대역폭을 초래할 수도 있는데, 서버가 혼잡한 업링크 및 혼잡한 다운링크 조건들 간을 구별할 수 없기 때문이다. 이들 조건들 중 임의의 조건에서의 감소 또는 개선은 전체 성능을 개선시킬 것이다.
본 개시물의 예시적인 실시형태가 셀룰러 모뎀을 사용하는 셀룰러 폰과 같은 모바일 단말에서의 사용을 도모하고 있지만, 본 개시물은 그렇게 한정되지는 않는다. 이와 관련하여, 도 1은 예시적인 실시형태에서 인터넷인 네트워크 (12) 에 커플링된 컴퓨팅 디바이스 (10) 를 예시한다. 컴퓨팅 디바이스 (10) 는 중앙 처리 유닛 (CPU, 도시되지 않음) 을 그 속에 갖는 하우징 (14) 을 구비할 수도 있다. 사용자가 모니터 (때때로 디스플레이라고 지칭됨) (16), 키보드 (18), 및/또는 마우스 (20) 와 같은 입출력 엘리먼트들로부터 형성된 사용자 인터페이스를 통해 컴퓨팅 디바이스 (10) 와 상호작용할 수도 있다. 몇몇 실시형태들에서, 모니터 (16) 는 하우징 (14) 속에 통합될 수도 있다. 키보드 (18) 와 마우스 (20) 가 예시된 입력 디바이스들이지만, 모니터 (16) 는, 입력 디바이스로서 키보드 (18) 및 마우스 (20) 를 보완 또는 대체할 수도 있는 터치스크린 디스플레이일 수도 있다. 다른 입출력 디바이스들이 데스크톱 또는 랩톱 스타일 컴퓨팅 디바이스들과 연계하여 잘 이해되므로 또한 존재할 수도 있다. 예시되지 않았지만, 하우징 (14) 은 그 속에 모뎀을 또한 구비할 수도 있다. 모뎀은 잘 이해되는 바와 같이 네트워크 인터페이스 카드 (network interface card, NIC) 상에 위치될 수도 있다. 마찬가지로, 라우터 및/또는 추가적인 모뎀이 하우징 (14) 외부에 있을 수도 있다. 예를 들어, 컴퓨팅 디바이스 (10) 는 잘 이해되는 바와 같이 라우터 및 케이블 모뎀을 통해 네트워크 (12) 에 커플링될 수도 있다. 그러나, 심지어 이러한 외부 라우터들 및 모뎀들이 존재하는 경우에도, 컴퓨팅 디바이스 (10) 는 이러한 외부 라우터들 및 모뎀들과의 통신을 유발하기 위해 내부 모뎀을 가질 가능성이 있다.
컴퓨팅 디바이스들 (10) 외에도 본 개시물의 예시적인 실시형태들은 모바일 단말 상에 또한 구현될 수도 있다. 이와 관련하여, 모바일 단말 (22) 의 예시적인 실시형태가 도 2에 예시된다. 모바일 단말 (22) 은 SAMSUNG GALAXY™ 또는 APPLE iPHONE®과 같은 스마트 폰일 수도 있다. 스마트 폰 대신, 모바일 단말 (22) 은 셀룰러 전화기, 태블릿, 랩톱, 또는 다른 모바일 컴퓨팅 디바이스일 수도 있다. 모바일 단말 (22) 은 기지국 (base station, BS) (26) 에 연관된 원격 안테나 (24) 와 통신할 수도 있다. BS (26) 는 공중 육상 이동 네트워크 (public land mobile network, PLMN) (28), 공중전화망 (public switched telephone network, PSTN, 미도시), 또는 네트워크 (12) (예컨대, 인터넷) 와 통신할 수도 있다. PLMN (28) 은 인터넷 (예컨대, 네트워크 (12)) 과는 직접적으로 또는 개재 네트워크 (예컨대, PSTN) 를 통해 통신하는 것이 또한 가능하다. 대부분의 현대의 모바일 단말들 (22) 은 네트워크 (12) 의 엘리먼트들과의 다양한 유형들의 통신을 허용한다는 것이 이해되어야 한다. 예를 들어, 스트리밍 오디오, 스트리밍 비디오, 및/또는 웹 브라우징은 대부분의 현대의 모바일 단말들 (22) 상에서 모두가 일반적인 기능들이다. 이러한 기능들은, 모바일 단말 (22) 의 메모리에 저장되고 모바일 단말 (22) 의 무선 트랜시버를 사용하는 애플리케이션들을 통해 가능하게 된다.
모바일 단말 (22) 의 컴포넌트들의 더 상세한 묘사가 도 3을 참조하여 제공된다. 이와 관련하여, 모바일 단말 (22) 의 엘리먼트들 중 일부의 블록도가 예시된다. 모바일 단말 (22) 은 수신기 경로 (30), 송신기 경로 (32), 안테나 (34), 스위치 (36), 기저대역 프로세서 (baseband processor, BBP) (38), 제어 시스템 (40), 주파수 신시사이저 (42), 사용자 인터페이스 (44) 및 소프트웨어 (48) 를 그 속에 저장한 메모리 (46) 를 구비할 수도 있다.
수신기 경로 (30) 는 기지국 (예컨대, BS (26)) 에 의해 제공된 하나 이상의 원격 송신기들로부터 정보 함유 (bearing) 무선 주파수 (RF) 신호들을 수신한다. 저잡음 증폭기 (미도시) 가 그 신호를 증폭한다. 필터 (미도시) 가 수신된 신호에서의 광대역 간섭을 최소화하는 한편, 다운 변환 및 디지털화 회로 (미도시) 는 필터링된 수신된 신호를 중간 또는 기저대역 주파수 신호로 다운 컨버팅하며, 그 신호는 그 다음에 하나 이상의 디지털 스트림들로 디지털화된다. 수신기 경로 (30) 는 주파수 신시사이저 (42) 에 의해 생성된 하나 이상의 혼합 주파수들을 통상 사용한다. BBP (38) 는 디지털화된 수신된 신호를 프로세싱하여 그 신호에서 운반된 정보 또는 데이터 비트들을 추출한다. 이처럼, BBP (38) 는 하나 이상의 디지털 신호 프로세서들 (DSP들) 로 통상 구현된다.
도 3을 계속 참조하면, 송신 측에서, BBP (38) 는 제어 시스템 (40) 으로부터 음성, 데이터, 또는 제어 정보를 나타낼 수도 있는 디지털화된 데이터를 수신하며, 송신을 위해 인코딩한다. 인코딩된 데이터는 송신기 경로 (32) 로 출력되며, 송신기 경로에서 인코딩된 데이터는 변조기 (미도시) 에 의해 캐리어 신호를 소망의 송신 주파수로 변조하기 위해 사용된다. RF 전력 증폭기 (미도시) 가 변조된 캐리어 신호를 송신을 위한 레벨 적절한로 증폭하고, 증폭되고 변조된 캐리어 신호를 스위치 (36) 를 통해 안테나 (34) 로 전달한다. 총칭하여, BBP (38), 수신기 경로 (30), 송신기 경로 (32) 및 주파수 신시사이저 (42) 는 무선 모뎀 (50) 으로 간주될 수도 있다. 무선 모뎀 (50) 이 셀룰러 신호에 연관된 RF 신호들에 관해서 구체적으로 설명되지만, 본 개시물은 그렇게 제한되지 않는다. 예를 들어, 다른 무선 프로토콜들에 따라 동작하는 무선 모뎀이 본 개시물의 실시형태들의 포함으로부터 또한 이익을 얻을 수도 있다. 따라서, 블루투스, 다양한 IEEE 802.11 표준들, 유니버셜 이동 통신 시스템 (Universal Mobile Telecommunications System, UMTS), 고속 패킷 액세스 (High Speed Packet Access, HSPA), 장기 진화 (Long Term Evolution, LTE), 및 다른 무선 프로토콜들과 같은 표준들에 따라 동작하는 모뎀들은 본 개시물의 실시형태들을 모두 사용할 수도 있다.
도 3을 계속 참조하면, 사용자가 모바일 단말 (22) 과는 사용자 인터페이스 (44), 이를테면 마이크로폰, 스피커, 키패드, 및 디스플레이를 통해 상호작용할 수도 있다. 수신된 신호에 인코딩된 오디오 정보가 BBP (38) 에 의해 복원되고, 스피커를 구동하기에 적합한 아날로그 신호로 변환된다. 키패드와 디스플레이는 사용자가 모바일 단말 (22) 과 상호작용하는 것을 가능하게 한다. 예를 들어, 키패드와 디스플레이는 사용자가 전화를 걸려는 번호들을 입력하는 것, 주소록 정보 등에 액세스하는 것, 뿐만 아니라 호출 진행상황 (call progress) 정보를 모니터링하는 것을 가능하게 할 수도 있다. 메모리 (46) 는 본 개시물의 예시적인 실시형태들을 유효하게 할 수도 있는 위에서 언급된 바와 같은 소프트웨어 (48) 를 그 속에 가질 수도 있다.
예시되지 않았지만, 더 작은 모바일 컴퓨팅 디바이스 (10) 가 유사한 엘리먼트들을 가질 수도 있지만, 무선 모뎀 (50) 대신, NIC는 통신을 유효하게 하기 위한 유선 기반 인터페이스를 가질 수도 있다는 것이 이해되어야 한다.
컴퓨팅 디바이스가 모바일 단말 (22) 인지 또는 추가의 고정된 컴퓨팅 디바이스 (10) 인지에 상관 없이, 본 개시물의 예시적인 실시형태들은 제어 시스템 (예컨대, 제어 시스템 (40)) 이 업링크 큐 레이턴시에 대해 모뎀을 폴링하고 애플리케이션들에 이루어진 접속들을 선택적으로 제어함으로써 모뎀 (예컨대, 모뎀 (50)) 에서의 혼잡을 제어하는 것을 허용한다. 다시 말하면, 많은 웹 애플리케이션들이 복수의 접속들을 생성한다. 네트워크 상황이 혼잡하지 않은 경우, 이러한 복수의 접속들은 웹 애플리케이션이 복수의 접속들 상의 데이터를 효과적으로 동시에 수신하는 것을 허용한다. 이 거의 동시 수신은 더 나은 다운로드 효율을 초래한다. 예를 들어, 웹 브라우저가 웹 페이지의 상이한 부분들을 복수의 접속들 중 상이한 것들 (예컨대, 하나의 접속 상의 텍스트, 다른 하나의 접속 상의 이미지들, 다른 접속들 상의 자바 스크립트 등) 을 통해 다운로드할 수도 있다. 그러나, 각각의 접속은 통신 링크의 업링크 부분 상에서 패킷들을 생성하는 셋업 프로세스를 통하여야만 한다. 충분한 수의 이들 패킷들이 열악한 네트워크 상황에서 모뎀에 도착하는 경우, 패킷 충돌들이 발생할 수도 있으며, 패킷들이 업링크를 통해 전송되기 위해 기다리는 모뎀 큐 내에 머무르므로 레이턴시는 증가하고, 패킷들은 손실될 수도 있다. 액티브 접속 수를 제어함으로써, 예시적인 실시형태들은 성능을 개선한다. 다시 말하면, 위에서 언급했듯이, 네트워크 혼잡은 높은 변동을 갖는 레이턴시들을 초래할 수도 있으며, 이는 클라이언트 및 서브 측 양쪽 모두에서 열악한 RTT 추정을 야기할 수 있다. 열악한 RTT는 손실되지 않았던 패킷들의 불필요한 재송신, 네트워크에서 손실되었던 데이터의 늦은 재송신, 및 감소된 다운링크 대역폭을 초래할 수도 있는데, 서버가 혼잡한 업링크 및 혼잡한 다운링크 조건들 간을 구별할 수 없기 때문이다. 개방, 액티브 접속들의 수를 스로틀링하는 것에 의한 이들 조건들 중 임의의 조건에서의 감소 또는 개선들은 전체 성능을 개선할 것이다.
접속들의 수를 통한 제어를 제공하기 위해, 예시적인 실시형태들은 모뎀 옵서버를 컴퓨팅 디바이스 (10, 22) 의 소프트웨어 (48) 에 추가함으로써 모뎀 피드백을 사용한다. 모뎀 옵서버는 모뎀 (50) 에 대한 네트워크 상황 및/또는 이용 가능한 업링크 대역폭을 확인하기 위해 모뎀 (50) 을 폴링한다. 네트워크 상황이 혼잡하고 그리고/또는 이용 가능한 업링크 대역폭이 미리 정의된 임계값 미만이면, 모뎀 옵서버는 네트워크 스택에게 액티브 접속 수를 제한할 것을 지시한다. 제 1 실시형태에서, 모뎀 옵서버는 각각의 애플리케이션과 연관되며, 즉, 각각의 웹 기반 애플리케이션 (예컨대, 브라우저, 비디오 스트리밍, 오디오 스트리밍 등) 에 대해 별개의 모뎀 옵서버가 있다. 제 2 실시형태에서, 모뎀 옵서버는 웹 기반 애플리케이션들의 모두에 연관된 하이퍼 텍스트 전송 프로토콜 (http) 스택 내에 있다 (즉, 모든 웹 기반 애플리케이션들 중에서 공유된 하나의 모뎀 옵서버가 있다). 이해되는 바와 같이, 웹 브라우저 애플리케이션을 위한 http 스택이 http 트랜잭션들을 관리하는 것을 담당하는, 브라우저 모듈들 중 하나의 브라우저 모듈이다. http 스택은 브라우저 네트워크 접속들을 개방하고 http 요청들을 원격 서버들로 전송한다.
이와 관련하여, 도 4는, 네트워크 혼잡을 확인하고 모뎀 (50) 을 통해 라우팅되는 액티브 접속들을 제어하기 위해 모뎀 (50) 으로부터의 피드백을 수신하는 모뎀 옵서버 (60) 를 갖는 소프트웨어 (48) 의 예시적인 실시형태들의 블록도를 도시한다. 액티브 접속들의 이 제어는 성능을 개선시킨다. 예시된 바와 같이, 모뎀 옵서버 (60) 는 모든 웹 애플리케이션들 (64) 을 위한 http 스택 (62) 과 연관된다. 그러나, 위에서 언급했듯이, 별개의 모뎀 옵서버 (60) 가 웹 애플리케이션들 (64) 내의 각각의 애플리케이션에 대한 네트 스택에 연관될 수도 있다. 이해되는 바와 같이, 웹 애플리케이션들 (64) 은 논리적으로는 송신 제어 프로토콜/인터넷 프로토콜 (transmission control protocol/internet protocol, TCP/IP) 스택 (66) 위에 자리한다. TCP/IP 스택 (66) 은 웹 애플리케이션들 (64) 로부터의 패킷들을 어셈블링하고 그것들을 네트 드라이버 (68) 로 전달하며, 그 네트 드라이버는 패킷들을 버스 (70) 를 통해 모뎀 (50) 으로 전달한다. 버스 (70) 는 공유 메모리 드라이버 (shared memory driver, SMD), 보안 디지털 입출력 (secure digital input/output, SDIO), 고속 인터 칩 (high speed inter chip, HSIC) 프로토콜 (유니버셜 직렬 버스 (USB) 2.0의 부분) 등에 따라 동작할 수도 있다. 모뎀 옵서버 (60) 는 모뎀 인터페이스 소프트웨어 (74) 내의 모뎀 인터페이스 데몬 (72) 과 통신한다. 모뎀 인터페이스 소프트웨어 (74) 는 네트 인터페이스 (78) 및 버스 (70) 를 통해 모뎀 (50) 을 제어하기 위해 모뎀 드라이버 (76) 를 사용한다.
도 4를 계속 참조하면, 모뎀 (50) 은 제어 채널 모듈 (82) 및 데이터 채널 모듈 (84) 을 갖는 네트워크 인터페이스 (80) 를 구비한다. 네트워크 인터페이스 (80) 는 모뎀 드라이버 (86) 와 통신하며, 모뎀 드라이버는 모뎀 서비스 모듈 (88) 과 통신한다. 모뎀 서비스 모듈 (88) 은 업링크 채널을 통해 전송되기 위해 대기하는 패킷들의 수에 관한 정보를 제공할 뿐만 아니라 상기 모뎀에 이용 가능한 상기 대역폭 (50) 및 다른 네트워크 상황에 관한 정보를 제공할 수 있다. 따라서, 모뎀 인터페이스 데몬 (72) 이 네트워크 혼잡에 관련한 정보에 대해 모뎀 (50) 을 폴링하는 경우, 모뎀 서비스 모듈 (88) 은 요청된 정보를 이용하여 응답하는 소프트웨어이다. 모뎀 (50) 은 네트 드라이버 (68) 로부터 패킷들을 수신하는 네트워크 입출력 (90) 을 또한 구비한다. 패킷들은 네트워크 입출력 (90) 으로부터 셀룰러 프로토콜 모듈 (92) 로 전달되며 셀룰러 프로토콜 모듈에서 그 패킷들은 NIC 또는 안테나 (26) 를 통한 송신을 위해 프로세싱된다.
모뎀 (50) 으로부터의 피드백을 보안화하고 그로 인해 모뎀을 제어하는 예시적인 프로세스가 도 5를 참조하여 제공된다. 프로세스 (100) 는 너무 많은 개방 및 액티브 접속들이 모뎀 (50) 에서의 추가적인 혼잡으로 초래되도록 하는 네트워크 상황인 경우 시스템의 전체 성능을 개선하기 위해서 모뎀 (50) 으로부터의 정보를 보안화하고 액티브 접속 수를 제한한다. 따라서, 프로세스 (100) 는 컴퓨팅 디바이스 (10, 22) 상의 웹 애플리케이션들의 설치로 시작한다 (블록 102). 웹 애플리케이션들의 설치는 다운로드 프로세스, 착탈식 매체 (예컨대, 디스크, cd, dvd 등) 를 통한 설치, 또는 컴퓨팅 디바이스 (10, 22) 의 제조 동안에 미리 설치될 수도 있는 소프트웨어를 통해 행해질 수도 있다. 모뎀 옵서버 (60) 가 설치된다 (블록 104). 위에서 언급했듯이, 단일 모뎀 옵서버 (60) 가 http 스택 (62) 을 위해 설치될 수도 있거나 또는 다수의 모뎀 옵서버들 (60) 이, 각각의 웹 애플리케이션에 대해 하나씩 설치될 수도 있다. 블록들 (102, 104) 은 비교적 동시 발생으로 또는 많은 개재 시간과 함께 행해질 수도 있다는 것이 이해되어야 한다. 예를 들어, 모뎀 옵서버 (60) 는 운영 체제 업그레이드 또는 패치의 부분으로서 설치될 수도 있고 웹 애플리케이션들은 언제라도 사용자에 의해 개시될 수도 있다.
도 5를 계속 참조하면, 설치 후 얼마 뒤에, 사용자는 컴퓨팅 디바이스 (10, 22) 의 사용자 인터페이스를 사용하여 웹 애플리케이션을 론칭할 수도 있다 (블록 106). 예시적인 실시형태에서, 웹 애플리케이션은 GOOGLE CHROME, APPLE SAFARI, INTERNET EXPLORER, MOZILLA FIREFOX 등과 같은 웹 브라우저이다. 다른 예시적인 실시형태에서, 웹 애플리케이션은 오디오 또는 비디오 스트리밍 프로그램일 수도 있다. 또 다른 웹 애플리케이션들은 쉽사리 이해되는 바와 같이 본 개시물의 범위 내에 또한 포함된다. 모뎀 옵서버 (60) 는, 웹 애플리케이션의 론치에 응답하여, 업링크 채널을 위한 이용 가능한 대역폭에 대해 모뎀 (50) 을 폴링한다 (블록 108). 다른 예시적인 실시형태에서, 모뎀 옵서버 (60) 는 웹 애플리케이션의 론치에 대한 특정한 참조 없이 모뎀 (50) 을 주기적으로 폴링할 수도 있다. 어느 경우든, 이용 가능한 대역폭 및/또는 다른 네트워크 상황에 기초하여, 제어 시스템 (40) 은 최대 액티브 접속 수를 결정할 수도 있다 (블록 110). 본원에서 사용되는 바와 같이, 액티브 접속이, 개방이고 원격 로케이션과 데이터를 교환하는 접속이다. 추가의 설명에 의하여, 개방 접속이 데이터를 교환하고 있지 않다면 인엑티브인 것으로 여전히 간주될 수도 있다.
도 5를 계속 참조하면, 제어 시스템 (40) 은 현재 액티브 접속 수를 결정한다 (블록 112). 이들 액티브 접속들은 이전에 개방된 웹 애플리케이션들 등으로부터 유래할 수도 있다. 웹 애플리케이션은 http 스택 (62) 이 하나 이상의 접속들을 활성화할 것을 요청한다 (블록 114). 제어 시스템 (40) 은 현재의액티브 접속들 더하기 새로이 요청된 접속들을 최대 접속 수와 비교한다 (블록 116). 제어 시스템 (40) 은 그 다음에 총 액티브 접속 수를 최대 접속 수 이하로 제한한다 (블록 118). 액티브 접속들을 제한하는 것은 요청들을 TCP/IP 모듈 (66) 로 전달하는데 실패 또는 요청들을 늦춤으로써 행해질 수도 있다.
도 5를 계속 참조하면, 제어 시스템 (40) 은 개방이지만 인액티브 (즉, 데이터를 교환하지 않는) 접속이 재개되었는지를 결정한다 (블록 120). 다시 말하면, 휴면했던 접속이 이를테면 사용자가 웹 페이지를 리프레시하는 경우 또는 유사한 상황에서 웹 애플리케이션에 의해 재활성화될 수도 있다. 블록 120에 대한 대답이 예이면, 프로세스 (100) 는 블록 108로 다시 이동하여 블록 108에서 모뎀 옵서버 (60) 는 이용 가능한 대역폭에 대해 모뎀 (50) 을 폴링한다. 블록 120에 대한 대답이 아니오이면, 개방이지만 인액티인 접속들의 재개는 없으며, 프로세스 (100) 는 계속되어 제어 시스템 (40) 은 사용자가 새로운 애플리케이션을 론칭하였는지를 결정한다 (블록 122). 블록 122에 대한 대답이 예이면, 사용자는 새로운 애플리케이션을 론칭하며; 프로세스는 나타낸 바와 같이 블록 106에서의 시작을 반복한다. 블록 122에 대한 대답이 아니오이면, 사용자는 새로운 애플리케이션을 론칭하지 않고, 프로세스는 개방이지만 인액티브인 접속들의 재개를 모니터링함으로써 반복된다 (블록 120).
도 6와 도 7은 프로세스 (100) 를 구현하기 위해 특히 모뎀 피드백이 제공될 수도 있도록 모뎀 옵서버 (60) 에 웹 애플리케이션들을 등록하기 위해 주어질 수도 있는 예시적인 커맨드들에 대한 논리 흐름도들을 제공한다. 이와 관련하여, 도 6은 예시적인 웹 애플리케이션 (64) 인 브라우저 (132) 가, 모뎀 옵서버 (60) 를 개시하게 하는 모뎀 옵서버 (60) 에게 초기화 커맨드 (134) 를 전송하는 논리 흐름도 (130) 를 예시한다. 이러한 초기화 커맨드 (134) 는 블록 106 (도 5) 의 부분일 수도 있다. 모뎀 옵서버 (60) 는 registerBWEstimationListener 커맨드 (136) 를 모뎀 인터페이스 데몬 (72) 으로 전송한다. 이 registerBWEstimationListener 커맨드 (136) 는 모뎀 인터페이스 데몬 (72) 으로 하여금 모뎀 인터페이스 데몬 (72) 으로부터 리포트들을 수신하게 한다. 이러한 리포트들은 블록 108 (도 5) 에서 설명된 바와 같은 업링크 채널 상의 이용 가능한 대역폭을 나타내는, 모뎀 (50) 으로부터의 정보를 제공한다. 브라우저 (132) 는 http 스택 (62) 을 생성하는 초기화 커맨드 (138) 를 또한 전송한다. 초기화 커맨드 (138) 후, 브라우저 (132) 는 registerNetStack 커맨드 (140) 를 모뎀 옵서버 (60) 로 또한 전송할 수도 있으며, 그 모뎀 옵서버는 모뎀 옵서버 (60) 참조를 http 스택 (62) 으로 제공한다. 이용 가능한 대역폭에 관련한 모뎀 인터페이스 데몬 (72) 으로부터의 정보를 사용함으로써, 모뎀 옵서버 (60) 는 http 스택 (62) 에서의 개방, 액티브 접속들의 수를 동적으로 변경 또는 제한할 수도 있다.
도 6이 웹 애플리케이션들의 론치에 대한 예시적인 커맨드들을 도시하는 한편, 도 7은 논리적 흐름도들 (150) 에서 모뎀 옵서버 (60) 가 모뎀 인터페이스 데몬 (72) 으로부터의 리포트를 핸들링하는 방법을 위한 예시적인 커맨드들을 도시한다. 모뎀 서비스 모듈 (88) (도 4) 은 handlereport 신호 (152) 를 모뎀 인터페이스 데몬 (72) 으로 전송하는데, 그 handlereport 신호는 모뎀 인터페이스 데몬 (72) 으로 하여금 리포트를 내부의 변수로서 갖는 updateBWestimation 신호 (154) 를 모뎀 옵서버 (60) 로 전송하게 한다. 제어 시스템 (40) 의 부분인 모뎀 옵서버 (60) 는 업링크 대역폭에 의해 나누어진 다운링크 대역폭이 임계 비율 미만임을 리포트가 나타낸다면 제 1 신호 (156) 를 http 스택 (62) 으로 전송한다. 제 1 신호는 최대 액티브 접속 수를 최소 값으로 설정한다. 그렇지 않으면, 모뎀 옵서버 (60) 는 최대 접속 수를 디폴트 값으로 설정하는 제 2 신호 (158) 를 http 스택 (62) 으로 전송한다. 신호들 (156, 158) 은 도 5의 블록 110에 대응한다.
실험 데이터는 액티브 접속 수를 제한하는 것 또는 스로틀링하는 것이 성능에 긍정적인 영향을 미친다는 것을 시사한다. 이와 관련하여, 심험이 테스트 웹사이트를 사용하여 생성되었다. 구체적으로는, 테스트 웹사이트는 140 개의 큰 이미지들 (예컨대, 16 kb보다 큼) 을 갖는다. 업로드 대역폭은 45 KBit/sec로 설정되었으며, 다운로드 대역폭은 60 ms의 왕복 지연 시간 (RTT) 으로 2500 Kbit/sec로 설정되었다. 웹 브라우징 애플리케이션은 에질런트 (Agilent) 상의 디폴트 안드로이드 브라우저였다. 이 셋업은 10회 반복들을 통해 실행되었다. 결과들은 아래의 표 1에서 언급된다.
접속 수 #UL-ACKS #GET 재송신 #DL 재송신 AVG 페이지 로드 시간 (단위 ms)
4 791 0 0 24174
9 808 6.4 0.4 24496
18 952 22.8 11.8 29947
24 992 29 11.25 36154
34 1125 32 23.75 35667
표 1: 실험 1의 요약
실험은 다음의 관찰들을 보여준다. 업링크를 통해 전송된 수신확인 (ACKs) 에서의 지연은, 적어도 접속들의 수가 10보다 큰 경우 다운로드된 데이터 청크들의 더 느린 수신을 야기한다. 더 많은 접속들로, 더 많은 ACK 패킷들이 업링크를 통해 전송된다. 더 많은 접속들로, 더 많은 HTTP GET 요청 재송신들이 일어난다. 더 많은 접속들로, 더 많은 패킷 재송신들이 다운로드 링크 상에서 나타난다. 따라서, 네트워크 상황이 최적이 아니면, 손실된 데이터의 재송신으로 소비된 손실된 패킷들 및 자원들 때문에 큰 수들의 접속들이 더 느린 다운로드 시간들을 초래한다. 따라서, 성능에서의 분명한 개선은 제한된 대역폭 조건들에서 접속들의 수를 제한하는 본 개시물의 실시형태들을 구현함으로써 달성될 수도 있다. 다른 결론들은 모뎀 피드백에 기초한 감소된 액티브 접속 수가 적어도 다음의 장점들을 가질 것임에 주목함으로써 요약될 수도 있다. 첫째, 모뎀 상의 압력은 감소된 업링크 트래픽 (즉, 더 적은 ACK 패킷들이 전송됨) 및 업링크 상의 재송신들의 감소된 수로 인해 감소된다. 둘째, 업링크 및 다운링크 양쪽 모두 상에서 재송신들의 수는 감소된다.
게다가, 당업자는 본원에 개시된 실시형태들에 관련하여 설명되는 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘들이 전자 하드웨어, 메모리에 또는 다른 컴퓨터 판독가능 매체에 저장되고 프로세서 또는 다른 프로세싱 디바이스에 의해 실행되는 명령들, 또는 양쪽 모두의 조합들로서 구현될 수도 있다는 것을 이해할 것이다. 본원에서 설명되는 마스터 디바이스들과 슬레이브 디바이스들은 예들로서 임의의 회로, 하드웨어 컴포넌트, 집적회로 (IC), 또는 IC 칩에 채용될 수도 있다. 본원에서 개시된 메모리는 임의의 유형 및 사이즈의 메모리일 수도 있고 임의의 유형의 원하는 정보를 저장하도록 구성될 수도 있다. 이러한 교환가능성을 명백하게 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 일반적으로 그것들의 기능의 관점에서 설명되어 있다. 이러한 기능이 구현되는 방법은 특정 애플리케이션, 설계상 선택들, 및/또는 전체 시스템 상에 부과되는 설계 제약조건들에 의존한다. 당업자들은 설명된 기능을 각 특정 애플리케이션에 대하여 다양한 방식들로 구현할 수도 있지만, 이러한 구현 결정들은 본 개시물의 범위를 벗어나도록 야기하는 것으로서 해석되지 않아야 한다.
본원에서 개시된 실시형태들에 관련하여 설명된 다양한 구체적인 논리 블록들, 모듈들, 및 회로들은 본원에서 설명된 기능들을 수행하도록 설계된 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA) 또는 다른 프로그램가능 로직 디바이스, 개별 게이트 또는 트랜지스터 로직, 개별 하드웨어 컴포넌트들, 또는 그것들의 임의의 조합으로 구현되거나 수행될 수도 있다. 프로세서가 마이크로프로세서일 수도 있지만, 대체예에서, 그 프로세서는 기존의 임의의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신 (state machine) 일 수도 있다. 프로세서가 컴퓨팅 디바이스들의 조합, 예컨대, DSP 및 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 협력하는 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 이러한 구성으로 또한 구현될 수도 있다.
본원에서 개시된 실시형태들은 하드웨어에서 그리고 하드웨어에 저장된 명령들에서 실시될 수도 있고, RAM (random-access memory), 플래시 메모리, ROM (read-only memory), 전기적 프로그램가능 ROM (EPROM), 전기적 소거가능 프로그램가능 ROM (EEPROM), 레지스터들, 하드 디스크, 착탈식 디스크, CD-ROM, 또는 그 기술분야에서 알려진 임의의 다른 형태의 컴퓨터 판독가능 매체에 존재할 수도 있다. 예시적인 저장 매체가 프로세서에 커플링되어서 그 프로세서는 저장 매체로부터 정보를 읽을 수 있고 그 저장 매체에 정보를 쓸 수 있다. 대체예에서, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서와 저장 매체는 ASIC 내에 존재할 수도 있다. ASIC은 원격 스테이션 내에 존재할 수도 있다. 대체예에서, 프로세서와 저장 매체는 원격 스테이션, 기지국, 또는 서버에서의 개별 컴포넌트들로서 존재할 수도 있다.
본원에서의 예시적인 실시형태들 중 임의의 실시형태에서 설명되는 동작 단계들이 예들 및 논의를 제공하도록 설명된다는 것에 또한 주의한다. 설명된 동작들은 예시된 시퀀스들과는 다른 수많은 상이한 시퀀스들에서 수행될 수도 있다. 더욱이, 단일 동작 단계에서 설명되는 동작들은 다수의 상이한 단계들에서 실제로 수행될 수도 있다. 덧붙여, 예시적인 실시형태들에서 논의되는 하나 이상의 동작 단계들은 조합될 수도 있다. 흐름도들에 예시된 동작 단계들은 당업자에게 십사리 명확하게 될 수많은 상이한 변형들을 받게 될 수도 있다. 당업자들은 정보와 신호들이 다양한 상이한 기술들 및 기법들 중의 임의의 것을 사용하여 표현될 수 있다는 것을 또한 이해할 것이다. 예를 들어, 위의 설명 전체에 걸쳐 언급될 수도 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩 (chip) 들은 전압들, 전류들, 전자기파들, 자기적 장들 또는 입자들, 광학적 장들 또는 입자들, 또는 그것들의 임의의 조합에 의해 표현될 수도 있다.
본 개시물의 이전의 설명은 당업자가 본 개시물을 제작하고 사용할 수 있게끔 제공된다. 본 개시물에 대한 다양한 변형예들은 당업자들에게 쉽사리 명확하게 될 것이고, 본원에서 정의된 일반 원리들은 본 개시물의 정신 또는 범위로부터 벗어남 없이 다른 개조예들에 적용될 수도 있다. 그래서, 본 개시물은 본원에서 설명된 예들 및 설계들로 한정할 의도는 아니며 본원에서 개시된 원리들 및 신규한 특징들과 일치하는 가장 넓은 범위를 부여하는 것을 의도한다.

Claims (25)

  1. 모바일 단말을 제어하는 방법으로서,
    상기 모바일 단말의 모뎀에 이용 가능한 대역폭의 표시를 수신하는 단계;
    최대 액티브 접속 수를 결정하는 단계;
    현재 액티브 접속 수를 결정하는 단계;
    하나 이상의 새로운 액티브 접속들을 개방하라는 요청을 수신하는 단계;
    상기 최대 액티브 접속 수를 상기 현재 액티브 접속 수 더하기 새로운 액티브 접속들에 대한 상기 요청과 비교하는 단계; 및
    상기 최대 액티브 접속 수 이하로 총 액티브 접속 수를 제한하는 단계를 포함하는, 모바일 단말 제어 방법.
  2. 제 1 항에 있어서,
    상기 총 액티브 접속 수를 제한하는 단계는 개방 접속들의 수를 제한하는 단계를 포함하는, 모바일 단말 제어 방법.
  3. 제 1 항에 있어서,
    상기 총 액티브 접속 수를 제한하는 단계는 개방 접속 상의 활동을 제한하는 단계를 포함하는, 모바일 단말 제어 방법.
  4. 제 1 항에 있어서,
    모뎀 인터페이스 데몬에 모뎀 옵서버를 등록하는 단계를 더 포함하는, 모바일 단말 제어 방법.
  5. 제 4 항에 있어서,
    상기 표시를 수신하는 단계는 상기 모뎀 옵서버가 상기 모뎀 인터페이스 데몬으로부터 상기 표시를 수신하는 단계를 포함하는, 모바일 단말 제어 방법.
  6. 제 1 항에 있어서,
    상기 하나 이상의 새로운 액티브 접속들을 개방하라는 요청을 수신하는 단계는 브라우저로부터 상기 요청을 수신하는 단계를 포함하는, 모바일 단말 제어 방법.
  7. 제 1 항에 있어서,
    상기 총 액티브 접속 수를 제한하는 단계는 액티브 접속들을 위해 사용될 수도 있는 포트들의 수를 제한하는 단계를 포함하는, 모바일 단말 제어 방법.
  8. 제 1 항에 있어서,
    상기 모바일 단말의 상기 모뎀에 이용 가능한 상기 대역폭의 상기 표시를 수신하는 단계는 네트워크 상황에 관련된 정보를 수신하는 단계를 포함하는, 모바일 단말 제어 방법.
  9. 소프트웨어를 포함하는 비일시적 컴퓨터 판독가능 매체로서,
    상기 소프트웨어는,
    모바일 단말의 모뎀에 이용 가능한 대역폭의 표시를 수신하기 위한 명령;
    최대 액티브 접속 수를 결정하기 위한 명령;
    현재 액티브 접속 수를 결정하기 위한 명령;
    하나 이상의 새로운 액티브 접속들을 개방하라는 요청을 수신하기 위한 명령;
    상기 최대 액티브 접속 수를 상기 현재 액티브 접속 수 더하기 새로운 액티브 접속들에 대한 요청과 비교하기 위한 명령; 및
    상기 최대 액티브 접속 수 이하로 총 액티브 접속 수를 제한하기 위한 명령을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  10. 제 9 항에 있어서,
    상기 총 액티브 접속 수를 제한하기 위한 명령은 개방 접속들의 수를 제한하기 위한 명령을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  11. 제 9 항에 있어서,
    상기 총 액티브 접속 수를 제한하기 위한 명령은 개방 접속 상의 활동을 제한하기 위한 명령을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  12. 제 9 항에 있어서,
    모뎀 인터페이스 데몬에 모뎀 옵서버를 등록하기 위한 명령을 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  13. 제 12 항에 있어서,
    상기 표시를 수신하기 위한 명령은, 상기 모뎀 옵서버로 하여금 상기 모뎀 인터페이스 데몬으로부터 상기 표시를 수신하게 하는 명령을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  14. 제 9 항에 있어서,
    상기 하나 이상의 새로운 액티브 접속들을 개방하라는 상기 요청을 수신하기 위한 명령은 브라우저로부터 상기 요청을 수신하기 위한 명령을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  15. 제 9 항에 있어서,
    상기 총 액티브 접속 수를 제한하기 위한 명령은 액티브 접속들을 위해 사용될 수도 있는 포트들의 수를 제한하기 위한 명령을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  16. 제 9 항에 있어서,
    상기 모바일 단말의 상기 모뎀에 이용 가능한 상기 대역폭의 상기 표시를 수신하기 위한 명령은 네트워크 상황에 관련된 정보를 수신하기 위한 명령을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  17. 모바일 단말로서,
    사용자 인터페이스;
    모뎀; 및
    상기 사용자 인터페이스 및 상기 모뎀에 동작적으로 커플링된 제어 시스템을 포함하며,
    상기 제어 시스템은,
    상기 모뎀에 이용 가능한 대역폭의 표시를 수신하도록;
    최대 액티브 접속 수를 결정하도록;
    현재 액티브 접속 수를 결정하도록;
    하나 이상의 새로운 액티브 접속들을 개방하라는 요청을 수신하도록;
    상기 최대 액티브 접속 수를 상기 현재 액티브 접속 수 더하기 새로운 액티브 접속들에 대한 요청과 비교하도록; 그리고
    상기 최대 액티브 접속 수 이하로 총 액티브 접속 수를 제한하도록
    구성된, 모바일 단말.
  18. 제 17 항에 있어서,
    상기 총 액티브 접속 수를 제한하도록 구성된 상기 제어 시스템은 개방 접속들의 수를 제한하도록 구성되는, 모바일 단말.
  19. 제 17 항에 있어서,
    상기 총 액티브 접속 수를 제한하도록 구성된 상기 제어 시스템은 개방 접속 상의 활동을 제한하도록 구성되는, 모바일 단말.
  20. 제 17 항에 있어서,
    상기 제어 시스템은 또한, 모뎀 인터페이스 데몬에 모뎀 옵서버를 등록하도록 구성되는, 모바일 단말.
  21. 제 20 항에 있어서,
    상기 표시를 수신하도록 구성된 상기 제어 시스템은 상기 모뎀 옵서버로 하여금 상기 모뎀 인터페이스 데몬으로부터 상기 표시를 수신하게 하도록 구성되는, 모바일 단말.
  22. 제 17 항에 있어서,
    상기 하나 이상의 새로운 액티브 접속들을 개방하라는 상기 요청을 수신하도록 구성된 상기 제어 시스템은 브라우저로부터 상기 요청을 수신하도록 구성되는, 모바일 단말.
  23. 제 17 항에 있어서,
    상기 총 액티브 접속 수를 제한하도록 구성된 상기 제어 시스템은 액티브 접속들을 위해 사용될 수도 있는 포트들의 수를 제한하도록 구성되는, 모바일 단말.
  24. 제 17 항에 있어서,
    상기 모바일 단말의 상기 모뎀에 이용 가능한 상기 대역폭의 상기 표시를 수신하도록 구성된 상기 제어 시스템은 네트워크 상황에 관련된 정보를 수신하도록 구성되는, 모바일 단말.
  25. 컴퓨팅 디바이스로서,
    사용자 인터페이스;
    모뎀; 및
    상기 사용자 인터페이스 및 상기 모뎀에 동작적으로 커플링된 제어 시스템을 포함하며
    상기 제어 시스템은,
    상기 모뎀에 이용 가능한 대역폭의 표시를 수신하도록;
    최대 액티브 접속 수를 결정하도록;
    현재 액티브 접속 수를 결정하도록;
    하나 이상의 새로운 액티브 접속들을 개방하라는 요청을 수신하도록;
    상기 최대 액티브 접속 수를 상기 현재 액티브 접속 수 더하기 새로운 액티브 접속들에 대한 요청과 비교하도록; 그리고
    상기 최대 액티브 접속 수 이하로 총 액티브 접속 수를 제한하도록 구성된, 컴퓨팅 디바이스.
KR1020167021454A 2014-01-10 2015-01-09 피드백에 기초한 모뎀 제어를 위한 시스템들 및 방법들 KR20160107232A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/152,290 US9565590B2 (en) 2014-01-10 2014-01-10 Systems and methods for modem control based on feedback
US14/152,290 2014-01-10
PCT/US2015/010806 WO2015106092A1 (en) 2014-01-10 2015-01-09 Systems and methods for modem control based on feedback

Publications (1)

Publication Number Publication Date
KR20160107232A true KR20160107232A (ko) 2016-09-13

Family

ID=52440851

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167021454A KR20160107232A (ko) 2014-01-10 2015-01-09 피드백에 기초한 모뎀 제어를 위한 시스템들 및 방법들

Country Status (7)

Country Link
US (1) US9565590B2 (ko)
EP (1) EP3092844A1 (ko)
JP (1) JP2017508341A (ko)
KR (1) KR20160107232A (ko)
CN (1) CN105900477A (ko)
BR (1) BR112016016053A2 (ko)
WO (1) WO2015106092A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11388603B2 (en) * 2017-06-27 2022-07-12 Qualcomm Incorporated Channel mapping in shared spectrum in the presence of higher tier users
CN113709783B (zh) * 2021-08-30 2024-07-16 展讯通信(上海)有限公司 调制解调器自动化测试系统、方法、装置、介质及设备

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330226B1 (en) 1998-01-27 2001-12-11 Nortel Networks Limited TCP admission control
US6628612B1 (en) * 1999-08-03 2003-09-30 Nortel Networks Limited Derivation of equivalent bandwidth of an information flow
JP2002116965A (ja) * 2000-10-05 2002-04-19 Nippon Telegr & Teleph Corp <Ntt> サーバ接続予約制御システム
JP3663627B2 (ja) 2001-10-18 2005-06-22 ソニー株式会社 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム
JP3904435B2 (ja) * 2001-11-28 2007-04-11 株式会社日立製作所 Webサービス向け輻輳制御装置及び方法
US20030154306A1 (en) * 2002-02-11 2003-08-14 Perry Stephen Hastings System and method to proxy inbound connections to privately addressed hosts
JP3634808B2 (ja) * 2002-02-26 2005-03-30 株式会社エヌ・ティ・ティ・ドコモ 通信制御システム、通信制御方法、中継関門処理装置及び管理サーバ
US20040100979A1 (en) 2002-11-26 2004-05-27 Mandin Jeffrey Bernard Protocol performance using ACK filtering
US20040122952A1 (en) 2002-12-18 2004-06-24 International Business Machines Corporation Optimizing network connections in a data processing system with multiple network devices
US7287082B1 (en) 2003-03-03 2007-10-23 Cisco Technology, Inc. System using idle connection metric indicating a value based on connection characteristic for performing connection drop sequence
US7796517B2 (en) 2004-06-28 2010-09-14 Minghua Chen Optimization of streaming data throughput in unreliable networks
KR20060027031A (ko) * 2004-09-22 2006-03-27 한국전자통신연구원 서비스품질-기반 상향 데이터 전송을 위한 단말의 내부자료 구조 및 그 운영 방법
US8244865B2 (en) * 2004-10-08 2012-08-14 International Business Machines Corporation Method and apparatus for autonomic management of connection pools
GB0426277D0 (en) * 2004-11-30 2004-12-29 U4Ea Technologies Ltd Priority service protection
EP1929800A2 (en) * 2005-03-04 2008-06-11 Sonim Technologies Inc. Restructuring data packets to improve voice quality at low bandwidth conditions in wireless networks
US7694008B2 (en) 2005-05-04 2010-04-06 Venturi Wireless Method and apparatus for increasing performance of HTTP over long-latency links
JP2006333405A (ja) * 2005-05-30 2006-12-07 Ntt Docomo Inc 周波数帯域割当装置及び方法
GB0526029D0 (en) * 2005-12-21 2006-02-01 Nokia Corp Managing connections in a wireless communications network
US8347286B2 (en) * 2007-07-16 2013-01-01 International Business Machines Corporation Method, system and program product for managing download requests received to download files from a server
US8605742B2 (en) 2009-11-16 2013-12-10 Verizon Patent And Licensing Inc. Wireless connection utilization
US8874793B2 (en) 2009-11-30 2014-10-28 Qualcomm Innovation Center, Inc. Methods and apparatus for improving header compression
US8514707B2 (en) * 2009-12-28 2013-08-20 Tti Inventions D Llc Non-blocking admission control
US8787159B2 (en) 2011-04-14 2014-07-22 Alcatel Lucent Mechanism for wireless access networks to throttle traffic during congestion
KR101231294B1 (ko) 2011-05-31 2013-02-07 삼성에스디에스 주식회사 데이터의 병렬 수신을 위한 스트림 제어 방법 및 장치
US9185189B2 (en) * 2013-06-07 2015-11-10 Apple Inc. Distributed control over client-side requests for server resources

Also Published As

Publication number Publication date
US20150201350A1 (en) 2015-07-16
US9565590B2 (en) 2017-02-07
EP3092844A1 (en) 2016-11-16
CN105900477A (zh) 2016-08-24
WO2015106092A1 (en) 2015-07-16
BR112016016053A2 (pt) 2017-08-08
JP2017508341A (ja) 2017-03-23

Similar Documents

Publication Publication Date Title
US8843175B2 (en) Apparatus and methods for mitigating protocol-induced back-offs in a communication network
TWI732000B (zh) 傳輸數據的方法和裝置
CA3061633A1 (en) Beam configuration method and apparatus
US20220167360A1 (en) Indication method and user equipment
US20140169302A1 (en) Low power and fast application service transmission
KR102286208B1 (ko) 컴퓨팅 디바이스들에서의 전력 절약 기술들
WO2021139832A1 (zh) 一种非周期srs发送方法及相关设备
EP3595384B1 (en) Information transmission method and related device
US20140126446A1 (en) Dynamic configuration of inactivity timeouts for data radio bearers
WO2016008138A1 (zh) 一种功率控制的方法,基站和用户设备
US20180167928A1 (en) Data transmission method, user equipment, and base station
US11228933B2 (en) Method for transmitting information and terminal device
WO2022148389A1 (zh) 编码调制符号数的确定方法、装置及通信设备
WO2014067487A1 (zh) 避免d2d传输干扰的处理方法、用户设备和基站
WO2019042330A1 (zh) 一种探测参考信号的发送方法、接收方法、装置及系统
CN113972967B (zh) 辅助信息发送方法、接收方法、装置、终端及网络侧设备
JP7199516B2 (ja) 上り制御情報の決定方法及び通信デバイス
WO2022078321A1 (zh) 上行信息发送方法及相关产品
US9565590B2 (en) Systems and methods for modem control based on feedback
WO2018072062A1 (zh) 信息传输方法和装置
US11297545B2 (en) Switching method and access network device
US20240204966A1 (en) Feedback method, user equipment, and storage medium
CA3046573C (en) Random access method and apparatus
AU2020428979B2 (en) Method for determining transport block size and communication apparatus
JP2021531674A (ja) 情報伝送方法及び装置、端末機器、ネットワーク機器

Legal Events

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