KR101346549B1 - 네트워크 통신 파라미터를 설정하기 위한 기술 - Google Patents

네트워크 통신 파라미터를 설정하기 위한 기술 Download PDF

Info

Publication number
KR101346549B1
KR101346549B1 KR1020127002291A KR20127002291A KR101346549B1 KR 101346549 B1 KR101346549 B1 KR 101346549B1 KR 1020127002291 A KR1020127002291 A KR 1020127002291A KR 20127002291 A KR20127002291 A KR 20127002291A KR 101346549 B1 KR101346549 B1 KR 101346549B1
Authority
KR
South Korea
Prior art keywords
application
network
setting
communication
bandwidth
Prior art date
Application number
KR1020127002291A
Other languages
English (en)
Other versions
KR20120048579A (ko
Inventor
벤 멘차카
할란 티. 비벌리
크리스토퍼 코우덴
찰리 머스타
웨인 던랩
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20120048579A publication Critical patent/KR20120048579A/ko
Application granted granted Critical
Publication of KR101346549B1 publication Critical patent/KR101346549B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques

Abstract

네트워크와 인터페이스하는 하나 이상의 컴퓨터 디바이스에서 실행 중인 애플리케이션의 타입에 기초하여 네트워크 인터페이스에서 네트워크 통신 파라미터를 설정하는 기술이 개시된다. 따라서, 예를 들어, 네트워크 인터페이스는, 애플리케이션 타입에 기초하여 각각의 실행 중인 애플리케이션에 대하여 통신 대역폭, 우선순위 또는 이들의 조합을 설정할 수 있다. 애플리케이션 타입에 기초하여 각각의 애플리케이션에 대한 네트워크 통신 파라미터를 설정함으로써, 애플리케이션은 네트워크와 보다 효율적으로 통신할 수 있다.

Description

네트워크 통신 파라미터를 설정하기 위한 기술{TECHNIQUE FOR SETTING NETWORK COMMUNICATION PARAMETERS}
본 개시내용은 컴퓨터 네트워크에 관한 것으로, 보다 상세하게는 컴퓨터 네트워크에 대한 네트워크 통신 파라미터를 설정하는 것에 관한 것이다.
전자 디바이스들 사이에서 다양한 정보를 전송하는데 통신 네트워크가 이용된다. 그러나, 통신 네트워크를 통해 전송되는 정보의 양이 증가함에 따라, 네트워크를 제어하는 통신 백본이 스트레스를 받게 되어, 정보 전송에 있어서 바람직하지 않은 지연을 야기시킬 수 있다. 이로 인해, 사용자 경험이 열악해질 수 있다. 예를 들어, 사용자는 네트워크 지연을 경험할 수 있다(사용자가 정보 전송 시에 지연을 지각할 수 있을 정도의 시간량 동안 다른 네트워크 노드로의 전송을 대기하면서 네트워크 노드에 패킷들이 유지된다). 또한, 네트워크 지연 및 다른 네트워크 전송 문제들은 게이밍 애플리케이션, 음성 통신 애플리케이션 등과 같은 다양한 애플리케이션에 영향을 줄 수 있다.
첨부 도면들을 참조함으로써, 본 개시내용이 더 잘 이해될 수 있으며, 그 다수의 특징과 이점은 당업자에게 명백해질 수 있다.
도 1은 본 개시내용의 일 실시예에 따른 통신 시스템의 블록도이다.
도 2는 본 개시내용의 다른 실시예에 따른 통신 시스템의 블록도이다.
도 3은 본 개시내용의 일 실시예에 따른 도 1의 컴퓨터 디바이스의 디스플레이의 블록도이다.
도 4는 본 개시내용의 일 실시예에 따른 통신 시스템의 블록도이다.
도 5는 본 개시내용의 일 실시예에 따른 패킷을 네트워크에 통신하는 방법의 흐름도이다.
도 6은 본 개시내용의 일 실시예에 따른 컴퓨터 디바이스의 블록도이다.
도 1 내지 도 6은 네트워크와 인터페이스하는 하나 이상의 컴퓨터 디바이스에서 실행되는 애플리케이션 타입에 기초하여 네트워크 인터페이스에서 네트워크 통신 파라미터를 설정하는 기술을 도시한다. 따라서, 예를 들어, 네트워크 인터페이스는 애플리케이션 타입에 기초하여 각각의 실행 중인 애플리케이션에 대하여 통신 대역폭, 우선순위 또는 이들의 조합을 설정할 수 있다. 애플리케이션 타입에 기초하여 각각의 애플리케이션에 대한 네트워크 통신 파라미터를 설정함으로써, 애플리케이션은 네트워크와 보다 효율적으로 통신할 수 있다. 예를 들어, 더 많은 대역폭을 필요로 하지만 비교적 높은 레이턴시로 만족하게 실행할 수 있는 애플리케이션은, 점보 프레임 등을 이용하여, 패킷들을 병합함으로써 대역폭을 보다 효율적으로 이용할 수 있는 한편, 온라인 게임과 같이 비교적 낮은 대역폭과 낮은 레이턴시를 필요로 하는 다른 애플리케이션은 네트워크에 보다 빨리 정보를 통신하기 위해 대역폭 면에서 덜 효율적일 수 있다. 이에 따라, 양쪽 애플리케이션 모두 네트워크와 보다 효율적으로 통신하여, 지연과 같은 네트워크 문제가 감소하게 된다.
다른 실시예에서, 무선 네트워크 인터페이스에 대한 네트워크 파라미터는 인터페이스와 연관된 컴퓨터 디바이스에서 실행되는 애플리케이션 타입에 기초하여 설정될 수 있다. 조정될 수 있는 무선 네트워크 파라미터의 예로는, 네트워크 액세스 포인트 스캐닝 빈도(network access point scanning frequency), 네트워크 확인응답 빈도(network acknowledgment frequency), 무선 네트워크로 통신되는 무선 패킷에 QOS(quality of service)를 설정하는 것, 네트워크 채널 스캐닝 빈도 등이 포함된다. 따라서, 예를 들어, 게임 애플리케이션이 컴퓨터 디바이스에서 실행 중인 것으로 네트워크 인터페이스가 판정하는 경우에, 네트워크 인터페이스는 컴퓨터 디바이스가 고정식일 것이라고 판정하고, 이에 따라 인터페이스가 네트워크에 대한 새로운 액세스 포인트를 스캐닝하는 빈도를 감소시킬 수 있다. 따라서, 네트워크 인터페이스는 통신 오버헤드를 감소시키고, 네트워크와의 통신 효율을 개선한다.
도 1을 참조하면, 본 개시내용의 일 실시예에 따른 통신 시스템(100)의 블록도가 도시되어 있다. 통신 시스템(100)은 컴퓨터 디바이스(102), 네트워크(110) 및 원격 노드(150)를 포함한다. 컴퓨터 디바이스(102)와 원격 노드(150)는 네트워크(110)에 각각 연결된다. 네트워크(110)는 컴퓨터 디바이스(102)와 원격 노드(150) 사이의 정보의 통신을 위한 물리 계층 및 논리 계층을 제공한다. 따라서, 네트워크(110)는 각각의 패킷에 포함된 어드레스 정보에 따라 네트워크 노드들 사이에서 패킷들을 통신하도록 구성되는 패킷 교환 네트워크(packet-switched network)일 수 있다. 따라서, 네트워크(110)는 다수의 노드들로 이루어지고, 노드들의 서브세트는 연관된 어드레스 정보에 따라 패킷들을 다른 노드로 라우팅하도록 구성된 라우터, 서버, 게이트웨이 및 이들의 조합과 같은 라우팅 디바이스를 갖는다. 이에 의해, 패킷들은 그 목적지 노드에 도달할 때까지 일련의 노드들로 라우팅된다.
네트워크(110)는 하나 이상의 서브-네트워크를 포함할 수 있고, 각각의 서브-네트워크는 인터넷과 같은 광역 네트워크(wide area network), 근거리 네트워크(local area network) 등일 수 있다는 것을 알 수 있다. 패킷들은 각각의 패킷과 연관된 어드레스 정보에 따라 서브-네트워크들 사이에서 라우팅된다. 또한, 상이한 서브-네트워크는 상이한 통신 매체(communication media)를 이용하여 정보를 전송할 수 있다는 것을 알 수 있다. 예를 들어, 네트워크(110)는 무선 네트워크, 유선 네트워크 및 이들의 조합을 포함할 수 있다.
원격 노드(150)는 네트워크(110)를 통해 통신될 패킷에 대한 소스 및 목적지인 네트워크 노드이다. 따라서, 원격 노드(150)는 클라이언트-서버 구성에서의 서버, 피어-투-피어 네트워크에 구성된 컴퓨터 디바이스 등일 수 있다. 따라서, 원격 노드(150)는, 지정된 기능을 수행하기 위해서 네트워크(110)에 정보를 제공하며 이 네트워크로부터 정보를 수신하는 하나 이상의 애플리케이션을 실행하도록 구성된다.
컴퓨터 디바이스(102)는 데스크탑, 랩탑, 서버, 핸드헬드 컴퓨터 디바이스, 셀 폰, 또는 네트워크(110)를 통해 원격 노드들과 통신하도록 구성되는 다른 디바이스이다. 따라서, 컴퓨터 디바이스(102)는 프로세서(105) 및 네트워크 인터페이스(130)를 포함한다. 프로세서(105)는, 프로그램 지정된 기능을 수행하기 위해서 애플리케이션 및 다른 프로그램을 실행하도록 구성되는 범용 또는 애플리케이션 특정 프로세서 디바이스이다. 도 1의 예시된 예에서, 프로세서(105)는 애플리케이션(120 및 121), 라이브러리들(122) 및 애플리케이션 분석기(125)를 실행하고, 이들 각각은 아래에 더 설명된다.
네트워크 인터페이스(130)는 프로세서(105)로부터 네트워크(110)로의 통신을 위한 물리 및 논리 계층 인터페이스를 제공하는 네트워크 인터페이스 카드와 같은 디바이스이다. 따라서, 네트워크 인터페이스(130)는, 다수의 프로그램을 실행하며, 대역폭 및 우선순위 제어 모듈(131)을 포함하는 프로세서(115)를 포함한다. 또한, 네트워크 인터페이스(130)는 애플리케이션 정보(133) 및 구성 정보(134)를 저장하고, 이 정보들은 대역폭 및 우선순위 제어 모듈(131)에 의해 이용되어 프로세서(105)에서 실행되는 각각의 애플리케이션에 할당된 대역폭 및 우선순위를 설정한다. 본 명세서에 이용된 바와 같이, 애플리케이션에 할당된 대역폭은, 바이트가 하나 이상의 원격 노드에 제공되거나 하나 이상의 원격 노드로부터 수신되는 레이트를 지칭한다. 구체적으로, 원격 노드로부터 바이트가 수신되는 레이트는 다운로드 대역폭으로 지칭되며, 원격 노드에 바이트가 제공되는 레이트는 업로드 대역폭으로 지칭된다. 애플리케이션과 연관된 우선순위는 다른 애플리케이션에 대한 순서 및 방식(order and manner)을 지칭하고, 애플리케이션에 의해 제공되거나 애플리케이션을 타깃으로 하는 바이트는 네트워크 또는 애플리케이션에 각각 제공된다. 구체적으로, 업로드 우선순위는 애플리케이션에 의해 제공되는 바이트가 네트워크(110)에 통신되는 상대적인 순서 및 방식을 지칭하는 한편, 다운로드 우선순위는 네트워크(110)로부터 수신되고 애플리케이션을 타깃으로 하는 바이트가 애플리케이션에 제공되는 상대적인 순서 및 방식을 지칭한다.
네트워크 인터페이스(130)는 각각의 애플리케이션에 대한 대역폭 및 우선순위를 제어하여, 각각의 애플리케이션에 할당된 대역폭 및 우선순위가 만족되는 것을 보장할 수 있다. 예를 들어, 네트워크 인터페이스(130)는 네트워크(110)에 제공될 애플리케이션으로부터 수신된 바이트를 저장하는 업로드 버퍼(도시되지 않음), 및 네트워크(110)로부터 수신된 바이트를 저장하는 다운로드 버퍼(도시되지 않음)를 포함할 수 있다. 네트워크 인터페이스(130)가 연관된 버퍼로부터 바이트를 검색하는 순서 및 레이트, (업로드 패킷을 위해) 검색된 바이트를 패킷화하고 그 결과적인 패킷들을 네트워크에 제공하는 방식, 및 (다운로드 패킷을 위해) 바이트를 애플리케이션에 제공하는 순서는 애플리케이션에 대한 우선순위 및 대역폭을 결정한다. 따라서, 네트워크 인터페이스(130)는 각각의 애플리케이션에 할당된 대역폭 및 우선순위를 만족시키도록 소정의 순서 및 레이트로 각각의 버퍼로부터 바이트를 검색할 수 있다. 이는, 애플리케이션(121)에 비해 비교적 높은 업로드 대역폭 및 애플리케이션(121)에 비해 비교적 낮은 업로드 우선순위가 애플리케이션(120)에 할당되는 일례를 참조하여 보다 잘 이해될 수 있다. 따라서, 네트워크 인터페이스(130)는, 애플리케이션(121)과 연관된 업로드 대역폭 한계에 도달할 때까지, 지정된 시간 유닛(통신 인터벌로 지칭됨) 동안, 애플리케이션(120)과 연관된 바이트를 검색하기 전에 업로드 버퍼로부터 애플리케이션(121)과 연관된 바이트를 검색할 것이다. 업로드 대역폭 한계에 도달하면, 네트워크 인터페이스(130)는 지정된 시간 기간 동안 애플리케이션(121)에 대한 패킷들을 검색하는 것을 중지하고, 애플리케이션(120)에 대한 대역폭 한계에 도달할 때까지 애플리케이션(120)과 연관된 패킷들을 검색한다. 그 다음에, 네트워크 인터페이스(130)는 각각의 애플리케이션과 연관된 우선순위 및 대역폭을 적용(enforce)하기 위해 연속적인 통신 인터벌에 걸쳐 검색 프로세스를 반복한다. 다른 실시예에서, 네트워크 인터페이스(130)는, 애플리케이션(121)에 대한 모든 계류중인 정보의 통신 시에, 애플리케이션(120)과 연관된 바이트를 네트워크로 통신하기 전에 고정 또는 프로그램가능 시간 기간 동안 대기할 수 있다. 그에 따라, 네트워크 인터페이스(130)는 애플리케이션(121)이 송신할 추가의 데이터를 갖는지 여부를 판정한다.
다른 실시예에서, 네트워크 인터페이스(130)는 애플리케이션과 연관된 우선순위에 기초하여, 그 애플리케이션과 연관된 패킷들에 대한 페이로드 크기를 결정할 수 있다. 따라서, 예를 들어, 네트워크 인터페이스(130)는, 애플리케이션의 우선순위가 낮을수록, 각각의 패킷에 포함될 수 있는, 애플리케이션으로부터 수신되는 바이트가 더 많아지는 것을 결정할 수 있다. 따라서, 특정 애플리케이션에 대한 패킷을 형성하기 위해, 네트워크 인터페이스(130)는, 애플리케이션에 대한 지정된 페이로드 크기에 도달할 때까지 업로드 버퍼로부터 바이트를 검색할 수 있고, 검색된 바이트를 갖는 패킷을 페이로드로서 형성할 수 있다. 일 실시예에서, 각각의 통신 인터벌 동안에, 네트워크 인터페이스(130)는, 각각의 애플리케이션에 대한 페이로드 크기를 그 애플리케이션에 대한 대응하는 우선순위에 기초하여 결정한다. 우선순위 순서에서, 네트워크 인터페이스(130)는 각각의 애플리케이션에 대한 패킷들을 그 애플리케이션에 대하여 결정된 패킷 크기에 기초하여 형성한다. 일단 애플리케이션에 대한 대역폭 한계에 도달하면, 또는 특정 애플리케이션에 대하여 송신할 추가의 정보가 존재하지 않는 경우, 네트워크 인터페이스(130)는 그 다음으로 낮은 우선순위 애플리케이션으로 진행한다. 이 프로세스는 각각의 통신 인터벌에 대하여 반복된다.
네트워크 인터페이스(130)는 애플리케이션 타입에 기초하여 각각의 애플리케이션에 대한 우선순위 및 대역폭을 결정하도록 구성된다. 구체적으로, 애플리케이션 분석기(125)는 프로세서(105)에서 실행 중인 애플리케이션들의 명칭을 결정하도록 구성된 모듈이다. 예를 들어, 애플리케이션 분석기(125)는, 프로세스 정보, 태스크 정보, 또는 프로세서(105)에서 실행 중인 운영 체제에 의해 제공되는 다른 정보에 액세스함으로써 애플리케이션 명칭을 결정할 수 있다. 애플리케이션 분석기(130)는 또한 라이브러리들(122)과 같은 소프트웨어 라이브러리, 디바이스 드라이버, 운영 체제 리소스, 또는 각각의 애플리케이션에 의해 액세스되는 다른 루틴, 프로그램 및 리소스가 무엇인지를 결정할 수 있다. 애플리케이션 분석기(125)는 애플리케이션 명칭과 같은 애플리케이션 타입, 액세스된 라이브러리 및 다른 리소스 등을 나타내는 정보를 애플리케이션 정보(133)로서 네트워크 인터페이스(130)에 제공한다.
대역폭 및 우선순위 제어 모듈(131)은 애플리케이션 정보(133) 및 구성 정보(134)에 기초하여 각각의 애플리케이션에 대한 대역폭 및 우선순위를 결정한다. 구성 정보(134)는 프로그램가능 또는 고정 정보 또는 이들의 조합인데, 이는 애플리케이션이 그 애플리케이션과 연관된 정보에 기초하여 특정 타입으로 되어 있을 확률을 표시한다. 따라서, 구성 정보(134)는 애플리케이션 명칭들의 리스트 및 그 애플리케이션과 연관된 애플리케이션 타입을 포함할 수 있다. 예를 들면, 구성 정보(134)는 특정 명칭을 갖는 애플리케이션이 온라인 게임 애플리케이션임을 표시할 수 있다. 또한, 구성 정보(134)는 애플리케이션에 의해 액세스되는 라이브러리 및 다른 리소스들 또는 이들의 조합에 기초하여 애플리케이션이 특정 타입의 애플리케이션일 확률을 표시할 수 있다. 예를 들면, 구성 정보(134)는 특정 라이브러리 세트, 디바이스 드라이버 및 다른 리소스들에 액세스하는 애플리케이션이 비디오 스트리밍 애플리케이션일 가능성이 있음을 표시할 수 있다.
또한, 구성 정보(134)는 특정 타입의 각각의 애플리케이션에 할당될 우선순위 레벨 및 대역폭 양을 표시할 수 있다. 예를 들면, 구성 정보(134)는, 비디오 스트리밍 애플리케이션과 같이 네트워크(110)를 통해 많은 비디오 정보를 수신할 것으로 기대되는 애플리케이션에는 비교적 높은 다운로드 대역폭 및 비교적 낮은 다운로드 우선순위가 할당될 것을 표시할 수 있다. 대조적으로, 구성 정보(134)는, 많은 정보를 수신할 것으로 기대되지는 않지만 텍스트 채팅 프로그램과 같이 낮은 통신 레이턴시가 요구되는 애플리케이션에는 비교적 낮은 다운로드 및 업로드 대역폭과, 비교적 높은 업로드 및 다운로드 우선순위가 할당됨을 표시할 수 있다.
구성 정보(134)는 그래픽 사용자 인터페이스 또는 다른 인터페이스 프로그램을 통해 사용자에 의해 조정될 수 있다. 이에 의해, 사용자는 상이한 타입의 프로그램에 할당된 우선순위 및 대역폭을 조정할 뿐만 아니라 프로그램이 지정된 타입으로 되어 있음을 표시하는 정보도 조정할 수 있다. 따라서, 예를 들어, 사용자는 최근에 설치된 프로그램의 명칭이, 이 프로그램은 특정 타입임을 표시하는 것이라 표시할 수 있고, 또한 애플리케이션 타입에 할당된 상대적인 우선순위 및 대역폭을 조정할 수 있다. 일 실시예에서, 사용자는 상대적인 업로드 및 다운로드 우선순위를 개별적으로 조정할 수 있을 뿐만 아니라, 상대적인 업로드 및 다운로드 대역폭도 개별적으로 조정할 수 있다. 따라서, 사용자는 특정 프로그램 타입에는 비교적 높은 업로드 우선순위, 비교적 낮은 다운로드 우선순위, 비교적 낮은 업로드 대역폭, 및 비교적 높은 다운로드 대역폭, 또는 임의의 다른 조합이 할당됨을 표시할 수 있다.
대역폭 및 우선순위 제어 모듈은 애플리케이션 정보(133)와 구성 정보(134)를 비교하여, 애플리케이션(120 및 121)과 각각 연관된 애플리케이션 타입을 결정하고, 이 결정된 타입에 기초하여 각각의 애플리케이션에 대한 우선순위 및 대역폭을 할당한다. 일 실시예에서, 구성 정보(134)는, 네트워크 게임 프로그램, 텍스트 채팅 프로그램, 비디오 채팅 프로그램, 비디오 스트리밍 프로그램 등과 같은 복수의 이용가능한 애플리케이션 타입을 저장하는 디지털 파일을 포함한다. 대역폭 및 우선순위 제어 모듈(131)은 각각의 애플리케이션과 연관된 애플리케이션 정보(133)에 기초하여 복수의 이용가능한 타입으로부터 각각에 대한 애플리케이션 타입을 선택한다. 이에 응답하여, 네트워크 인터페이스(130)는 대응하는 애플리케이션에 대하여 선택된 애플리케이션 타입에 기초하여 각각의 애플리케이션에 대한 통신을 관리한다. 대역폭 및 우선순위 제어 모듈(131)은 애플리케이션 타입을 선택하고, 애플리케이션으로부터의 이 애플리케이션에 의해 요구되는 양의 대역폭 및 우선순위의 정적 표시에만 의존하는 것보다는 프로세서(105)에 의해 제공되는 동적 애플리케이션 정보에 자동으로 기초하여 연관된 우선순위 및 대역폭을 결정한다고 인식될 것이다. 이는, 사용자가 각각의 프로그램을 적절한 우선순위 또는 대역폭 레벨을 요청하도록 구성하는 것을 요구하지 않으면서, 네트워크 인터페이스(130)가 각각의 실행되는 애플리케이션에 대한 대역폭 및 우선순위를 융통성있게 할당하게 해준다. 예를 들면, 네트워크 인터페이스(130)는, 프로그램 명칭이 특정 애플리케이션 타입으로서 지정되지 않더라도, 또는 프로그램이 특정 우선순위 또는 대역폭을 요청하지 않더라도, 애플리케이션에 의해 액세스되는 라이브러리 또는 다른 리소스들에 기초하여 애플리케이션이 특정 타입임을 동적으로 결정하고, 이 타입에 기초하여 대역폭 및 우선순위를 할당할 수 있다. 또한, 프로그램이 특정 대역폭 또는 우선순위 레벨을 요청하더라도, 네트워크 인터페이스(130)는 그 요청을 무효화(override)하고, 구성 정보(134)에 의해 표시된 애플리케이션의 타입에 기초하여 대역폭 및 우선순위를 할당할 수 있다.
일 실시예에서, 네트워크 인터페이스(130)는 애플리케이션 타입에 기초하여 네트워크(110)에 대한 통신을 위해 애플리케이션에 의해 제공되는 하나 이상의 바이트가 통신에서 생략될 수 있음을 결정할 수 있다. 예를 들면, 게임 애플리케이션에서, 이 애플리케이션은, 다른 유사한 주기적인 업데이트 정보와 함께, 게임 세계에서의 플레이어 캐릭터에 대한 주기적인 위치 업데이트(positional update)를 제공할 수 있다. 이들 위치 업데이트는 빈번하게 게임 애플리케이션에 의해 제공될 것으로 기대되기 때문에, 주기적으로 네트워크(110)에 위치 업데이트를 통신하기를 거절하는 것은 사용자의 게임 경험에 영향을 주지 않을 수 있다. 따라서, 애플리케이션이 게임 애플리케이션이라고 결정하는 것에 응답하여, 네트워크 인터페이스(130)는 네트워크(110)에 하나 이상의 바이트를 통신하지 않으면서 업로드 버퍼로부터 게임 애플리케이션에 의해 제공된 하나 이상의 바이트를 주기적으로 제거할 수 있다. 유사하게, 네트워크 인터페이스(110)는, 지정된 타입의 애플리케이션에 대하여, 바이트를 그 바이트와 연관된 타깃 애플리케이션에 통신하지 않으면서, 다운로드 버퍼로부터 이 바이트들을 주기적으로 제거한다. 이에 의해, 네트워크 인터페이스(130)는 사용자 경험에 악영향을 미치지 않으면서 지정된 타입의 애플리케이션에 대한 통신 효율을 개선할 수 있다.
도 2를 참조하면, 본 개시내용의 일 실시예에 따른 통신 네트워크(200)의 블록도가 도시되어 있다. 통신 네트워크(200)는 네트워크(110), 컴퓨터 디바이스(202 및 203) 및 라우터(239)를 포함한다. 라우터(239)는 컴퓨터 디바이스(202 및 203) 및 네트워크(110) 모두에 접속된다. 컴퓨터 디바이스(202 및 203) 각각은, 네트워크(110)를 통해 원격 노드들(도시되지 않음)과 통신하는 애플리케이션을 각각 실행한다는 점에서 도 1의 컴퓨터 디바이스(102)와 유사하게 구성된다. 따라서, 예를 들어, 컴퓨터 디바이스(220)는 애플리케이션(221 및 222)을 실행하는 한편, 컴퓨터 디바이스(203)는 애플리케이션(223 및 224)을 실행한다. 또한, 컴퓨터 디바이스(202 및 203) 각각은, 각각의 컴퓨터 디바이스에서 실행되는 애플리케이션과 연관된 애플리케이션 정보를 결정하도록 도 1의 애플리케이션 분석기(125)와 유사하게 각각 구성된 애플리케이션 분석기(각각 애플리케이션 분석기(125) 및 애플리케이션 분석기(127))를 포함한다.
라우터(239)는 패킷들을 수신하고 패킷에 의해 표시된 어드레스 정보에 기초하여 각각의 패킷을 다른 노드로 라우팅하도록 구성된 디바이스이다. 예시된 실시예에서, 라우터(239)는 네트워크(110)와 컴퓨터 디바이스(202 및 203) 사이에 인터페이스를 제공한다. 구체적으로, 라우터(239)는 컴퓨터 디바이스(202 및 203)로부터 수신된 패킷들을 네트워크(110)를 통해 목적지 원격 노드로 라우팅하고, 또한 각각의 대응하는 수신된 패킷과 연관된 어드레스 정보에 기초하여 네트워크(110)로부터 수신된 패킷들을 컴퓨터 디바이스(202 및 203) 중 하나 또는 이들 모두로 라우팅한다.
라우터(239)는 대역폭 제어 모듈(230), 구성 정보(234) 및 애플리케이션 정보(240)를 포함하는데, 이들 각각은 도 1의 대응하는 모듈과 유사하게 구성된다. 또한, 라우터(239)는 패킷 버퍼(255) 및 통신 패브릭(270)을 포함한다. 통신 패브릭(270)은 스위칭 패브릭과 같은 물리적 인터페이스를 제공하며, 이는 라우터(239)가 수신된 패킷들을 적절한 목적지로 라우팅할 수 있게 해준다. 패킷 버퍼(255)는 컴퓨터 디바이스(202 및 203) 및 네트워크(110) 중 하나로부터 수신된 패킷들을 포함하는 수신된 패킷들을 저장한다. 대역폭 제어 모듈(230)은 컴퓨터 디바이스(202 및 203)에서 실행되는 각각의 애플리케이션의 타입과 연관된 대역폭 및 우선순위에 기초하는 라우팅을 위하여 버퍼(255)로부터의 패킷을 통신 패브릭(270)에 제공한다. 이에 의해, 라우터(230)는 도 1의 네트워크 인터페이스(130)와 유사한 방식으로 애플리케이션 타입에 기초하여 패킷 통신의 대역폭 및 우선순위의 제어를 제공한다. 그러나, 라우터(239)는 컴퓨터 디바이스(202 및 203) 모두에 대한 대역폭 및 우선순위를 할당할 수 있다. 따라서, 예를 들어, 라우터(239)에서 애플리케이션(223)에 대해 그 애플리케이션 타입에 기초하여 할당된 것보다 더 큰 대역폭 및 더 높은 우선순위가 애플리케이션(220)에 대해 그 애플리케이션 타입에 기초하여 할당될 수 있다. 라우터(239)가 상이한 컴퓨팅 디바이스에서 애플리케이션에 대한 대역폭 및 우선순위를 애플리케이션 타입에 기초하여 제어할 수 있게 해줌으로써, 전체 네트워크 효율이 개선될 수 있다. 예를 들어, 라우터(239)는, 각각의 애플리케이션과 연관된 애플리케이션 타입을 식별함으로써 다른 컴퓨터 디바이스에서의 높은 레이턴시 애플리케이션에 비해 하나의 컴퓨터 디바이스에서의 낮은 레이턴시 애플리케이션을 우선순위화할 수 있다. 이에 의해 라우터(239)는 이 라우터에 접속된 모든 컴퓨터 디바이스들에 대한 통신 효율을 향상시킨다.
네트워크 인터페이스(130) 및 라우터(239) 모두는 또한 어떤 애플리케이션이 활성인지에 기초하여 각각의 애플리케이션에 동적으로 할당된 상대적인 우선순위 및 대역폭을 조정할 수 있다. 이는 본 개시내용의 일 실시예에 따른 컴퓨터 디바이스(102)의 디스플레이를 도시하는 도 3을 참조하면 보다 잘 이해될 수 있다. 도 3은 컴퓨터 디바이스(102)의 디스플레이에서 디스플레이되는 윈도우(302 및 304)를 도시한다. 윈도우(302 및 304) 각각은 상이한 애플리케이션과 연관된다. 사용자는 윈도우를 클릭함으로써 또는 다른 사용자 입력에 의해 활성 윈도우로서 윈도우들 중 하나를 선택한다. 사용자가 윈도우(302)를 활성 윈도우로 하였다는 결정에 응답하여, 프로세서(105)는 활성 애플리케이션을 표시하기 위해 애플리케이션 정보(133)에 업데이트를 제공한다. 이에 응답하여, 대역폭 및 우선순위 제어 모듈(130)은 현재-활성인 애플리케이션에 할당된 대역폭, 우선순위 또는 이들 모두를 변경할 수 있다. 예를 들어, 대역폭 및 우선순위 제어 모듈(130)은 활성 윈도우(302)와 연관된 애플리케이션의 상대적인 우선순위 및 대역폭을 증가시키며, 윈도우(304)와 연관된 애플리케이션의 상대적인 우선순위 및 대역폭을 감소시킬 수 있다. 이어서 사용자가 윈도우(304)를 활성 윈도우가 되도록 선택하는 경우, 대역폭 및 우선순위 제어 모듈은 이에 응답하여 애플리케이션의 상대적인 우선순위 및 대역폭을 조정한다. 어떤 애플리케이션이 활성 윈도우와 연관되는지에 기초하여 우선순위 및 대역폭을 조정함으로써, 네트워크 인터페이스(130)는 사용자와 상호작용하는 애플리케이션에 대한 통신 효율을 개선하여, 사용자 경험을 개선할 수 있다.
도 4를 참조하면, 본 개시내용의 일 실시예에 따른 통신 시스템(400)의 블록도가 도시된다. 통신 시스템(400)은 컴퓨터 디바이스(402), 네트워크(410) 및 원격 노드(450)를 포함한다. 컴퓨터 디바이스(402) 및 원격 노드(450)는 네트워크(410)에 각각 연결된다. 컴퓨터 디바이스(402)는 데스크탑, 랩탑, 서버, 핸드헬드 컴퓨터 디바이스, 셀 폰, 또는 네트워크(410)를 통해 원격 노드들과 통신하도록 구성된 다른 디바이스이다. 따라서, 컴퓨터 디바이스(402)는 프로세서(405) 및 무선 네트워크 인터페이스(430)를 포함한다. 프로세서(405)는 애플리케이션(420 및 421), 라이브러리들(422) 및 애플리케이션 분석기(425)를 실행한다.
무선 네트워크 인터페이스(430)는 프로세서(405)와 네트워크(410) 사이에 무선 인터페이스를 제공하도록 구성된 디바이스이다. 따라서, 무선 네트워크 인터페이스(430)는 프로세서(405)에 대한 물리 및 논리 계층 인터페이스를 제공한다. 구체적으로, 무선 네트워크 인터페이스(430)는 네트워크(410)에 대한 액세스를 제공하도록 다수의 기능들을 수행한다. 예를 들면, 무선 네트워크 인터페이스는 네트워크 스캐닝, 네트워크 확인응답, 네트워크(410)로 통신되는 무선 패킷에 QOS(quality of service) 필드를 설정하는 것, 네트워크 채널 스캐닝 등을 제공할 수 있다. 네트워크 스캐닝은, 무선 네트워크 인터페이스(430)가, 현재 이용되고 있는 액세스 포인트보다 컴퓨터 디바이스(402)에 더 근접해 있는 무선 액세스 포인트가 존재하는지 여부를 판정하기 위해 주기적으로 스캐닝하고, 더 근접한 액세스 포인트를 통해 액세스가 이루어지도록 통신을 스위칭하는 것을 지칭한다. 무선 네트워크 인터페이스가 액세스 포인트를 스캐닝하는 빈도는 네트워크 스캐닝 빈도로 지칭된다. 네트워크 확인응답은, 무선 네트워크 인터페이스(430)가, 네트워크(410)가 인터페이스로 확인응답을 통신하였는지 여부를 주기적으로 판정하여, 네트워크에 대한 접속이 유지되는지를 표시하는 것을 지칭한다. 예를 들면, 무선 네트워크 인터페이스(430)는 네트워크(410)로 통신되는 N개의 패킷(여기서, N은 구성가능한 정수값임)마다 네트워크로부터 확인응답을 수신하였는지 여부를 판정하도록 구성될 수 있다. (N의 값으로 표시된 바와 같이) 무선 네트워크 인터페이스(430)가 확인응답이 수신되었는지 여부를 판정하는 빈도는 네트워크 확인응답 빈도로 지칭된다. 네트워크 채널 스캐닝은, 무선 네트워크 인터페이스(430)가, 상이한 무선 네트워크 채널로 스위칭함으로써 네트워크(410)에 대한 접속이 개선되거나 확립될 수 있는지 여부를 주기적으로 판정하는 것을 지칭한다. 무선 네트워크 인터페이스(430)가 무선 네트워크 채널을 스캐닝하는 빈도는 네트워크 채널 스캐닝 빈도로 지칭된다. 네트워크 스캐닝, 채널 스캐닝, 확인응답, 및 네트워크에 대한 무선 액세스를 제공하는 다른 프로세스들은 무선 네트워크 파라미터의 예이다.
도 4에 도시된 모듈 각각은 도 1의 대응하는 모듈과 유사하게 동작한다. 또한, 네트워크 인터페이스(430)는 구성 정보(434) 및 애플리케이션 정보(433)에 기초하여 무선 네트워크 파라미터를 조정하도록 구성되는 무선 제어 모듈(431)을 포함한다. 특히, 무선 제어 모듈(431)은 애플리케이션 정보(433)와 구성 정보(434)를 비교하여, 애플리케이션(420 및 421)과 연관된 애플리케이션의 타입들을 결정하고, 그에 따라 무선 네트워크 파라미터들을 조정한다. 따라서, 무선 제어 모듈(431)은 네트워크 스캐닝 빈도, 네트워크 확인응답 빈도, 네트워크에 통신되는 임의의 패킷들의 QOS 필드의 값, 채널 스캐닝 빈도, 또는 실행 중인 애플리케이션의 타입에 기초하는 임의의 다른 네트워크 파라미터를 조정할 수 있다. 예를 들어, 애플리케이션(420 및 421) 모두가 게임 애플리케이션인 것으로 무선 제어 모듈(431)이 판정하는 경우(이는 사용자가 이동 중인 것 같지 않으므로 무선 액세스 포인트를 변경하는 것으로부터 이득을 얻지 못할 것이라는 것을 나타냄), 무선 제어 모듈(431)은 네트워크 스캐닝 빈도를 감소시킬 수 있다. 이는 프로세서(415)에서 통신 오버헤드의 양을 감소시킴으로써, 통신 효율을 개선한다. 유사하게, 사용자가 게임 프로그램과 상호작용하고 있는 경우에 채널 스캐닝은 덜 바람직할 수 있는데, 그 이유는 컴퓨터 디바이스의 환경이 변하지 않을 것이기 때문이다. 무선 신호 세기가 강하며 패킷 손실이 최소인 경우, 무선 제어 모듈은 또한 패킷 확인응답을 턴오프할 수 있으며, 이는 레이턴시 및/또는 스루풋을 개선할 수 있다.
또한, 애플리케이션들이 개시되거나 정지됨에 따라, 실행 중인 애플리케이션들에 대한 변경이 애플리케이션 정보(433)에 반영된다. 따라서, 무선 제어 모듈(431)은 실행 중인 애플리케이션들이 변경됨에 따라 무선 네트워크 파라미터들을 동적으로 조정할 수 있고, 이는 임의의 특정 세트의 실행 애플리케이션에 대해 보다 효율적인 통신을 제공한다.
일 실시예에서, 무선 제어 모듈(431)은 무선 네트워크 파라미터들을 애플리케이션 단위로 또는 애플리케이션의 타입 단위로 설정할 수 있다. 따라서, 예를 들어, 무선 제어 모듈(431)은 네트워크 확인응답 빈도를 제1 애플리케이션(또는 애플리케이션의 타입)에 대해 하나의 값으로 설정하고, 제2 애플리케이션(또는 애플리케이션의 타입)에 대해 상이한 제2 값으로 설정할 수 있다. 예시를 위해, 무선 제어 모듈은 게임 타입 애플리케이션에 대한 네트워크 확인응답 빈도를 100개의 패킷마다 확인응답을 체크하도록 설정할 수 있으며, 또한 비디오 채팅 프로그램에 대한 네트워크 확인응답 빈도를 2개의 패킷마다 확인응답을 체크하도록 설정할 수 있다. 따라서, 게임 애플리케이션에 의해 제공되며 네트워크(410)에 통신되는 패킷들에 대해, 네트워크 인터페이스(430)는 100개의 패킷마다 확인응답을 체크할 것이다. 비디오 채팅 애플리케이션에 의해 제공되며 네트워크(410)에 통신되는 패킷들에 대해, 네트워크 인터페이스(430)는 2개의 패킷마다 확인응답을 체크할 것이다. 일 실시예에서, 무선 제어 모듈(431)은, 네트워크 인터페이스(430)가 지정된 애플리케이션의 타입에 대해 확인응답을 전혀 체크하지 않도록 확인응답 빈도를 설정할 수 있다.
도 5는 본 개시내용의 일 실시예에 따른 실행 애플리케이션 세트에 대한 대역폭 및 우선순위를 설정하는 방법의 흐름도를 나타낸다. 블록 502에서, 라우터 또는 네트워크 인터페이스 카드와 같은 네트워크 인터페이스 디바이스는 컴퓨터 디바이스에서 실행되고 있는 애플리케이션들의 타입들을 결정한다. 블록 504에서, 네트워크 인터페이스 디바이스는 대응하는 연관된 애플리케이션의 타입에 기초하여 각각의 애플리케이션에 대한 통신 우선순위를 결정한다. 블록 506에서, 네트워크 인터페이스 디바이스는 대응하는 연관된 애플리케이션의 타입에 기초하여 각각의 애플리케이션에 대한 대역폭을 결정한다. 블록 508에서, 네트워크 인터페이스 디바이스는 바이트들의 컬렉션을 수신하며, 이 컬렉션은 실행 애플리케이션들 각각에 의해 제공되거나 이러한 실행 애플리케이션들 각각을 타깃으로 하는 바이트들을 포함한다. 블록 510에서, 네트워크 인터페이스 디바이스는 각각의 애플리케이션에 할당된 우선순위 및 대역폭에 기초하여 바이트들을 (업로드될 바이트들에 대해서는 네트워크에 또는 다운로드된 바이트에 대해서는 애플리케이션에) 통신할 순서를 결정한다. 블록 512에서, 네트워크에 통신될 바이트들 또는 네트워크로부터 수신된 바이트들에 기초하여 생성된 패킷들이 대역폭 제어 엔진에 통신된다.
도 6을 참조하면, 컴퓨터 디바이스(604)의 특정 실시예의 블록도가 도시되어 있다. 컴퓨터 디바이스(604)는 프로세서(670) 및 메모리(660)를 포함한다. 메모리(660)는 프로세서(670)에 액세스가능하다. 프로세서(670)는 마이크로프로세서, 마이크로컨트롤러 등일 수 있다. 메모리(660)는, RAM(Random Access Memory)과 같은 휘발성 메모리, 또는 하드 디스크나 플래시 메모리와 같은 비휘발성 메모리일 수 있는 컴퓨터 판독가능 매체이다.
메모리(660)는 프로그램(650) 및 운영 체제(607)를 저장한다. 프로그램(650) 및 운영 체제(607)는 본 명세서에 기술된 방법들 중 하나 이상을 구현하기 위해 프로세서(670)를 조작하기 위한 명령어들을 포함한다. 메모리(660)에는, 이러한 기술된 방법들을 구현하도록 프로세서를 조작하기 위한 애플리케이션과 같은 다른 프로그램들도 또한 저장될 수 있다.
전술한 대상은 제한이 아니라 예시적인 것으로 고려되어야 하며, 첨부된 특허청구범위는 본 발명의 범위 및 사상에 속하는 이러한 변경물, 향상물 및 다른 실시예들을 모두 커버하도록 의도된다. 예를 들어, 프로세서(105)를 포함하는 컴퓨터 디바이스(102)의 다른 모듈들은 대역폭 및 우선순위 제어 모듈(131)의 실행을 포함하여 네트워크 인터페이스(130)의 하나 이상의 기능을 수행할 수 있다. 따라서, 법이 허용되는 최대 범위까지, 본 발명의 범위는 다음의 특허청구범위 및 그 균등물의 허용되는 최광의적 해석에 의해 결정되어야 하며, 전술한 상세한 설명에 의해 제약되거나 제한되어서는 안 된다.

Claims (25)

  1. 네트워크 파라미터들을 설정하기 위한 방법으로서,
    프로세서 디바이스에서 제1 소프트웨어 애플리케이션과 연관된 제1 정보를 수신하는 단계 - 상기 제1 정보는 상기 제1 소프트웨어 애플리케이션과 연관된 사용자 인터페이스 윈도우가 활성 윈도우인지 여부의 표시를 적어도 포함함 - ;
    상기 제1 정보에 기초하여 복수의 이용가능한 애플리케이션 타입들로부터 제1 애플리케이션 타입을 선택하는 단계; 및
    상기 제1 소프트웨어 애플리케이션과 연관된 상기 사용자 인터페이스 윈도우가 상기 활성 윈도우인지 여부와 상기 제1 애플리케이션 타입에 기초하여 네트워크와 상기 제1 소프트웨어 애플리케이션의 통신을 조절하는 단계
    를 포함하는 네트워크 파라미터들 설정 방법.
  2. 제1항에 있어서,
    상기 통신을 조절하는 단계는 상기 제1 소프트웨어 애플리케이션에 대한 통신 대역폭을 대역폭 한계로 조절하는 단계를 포함하며, 상기 대역폭 한계는 상기 제1 애플리케이션 타입에 기초하는, 네트워크 파라미터들 설정 방법.
  3. 제1항에 있어서,
    상기 통신을 조절하는 단계는,
    상기 제1 애플리케이션 타입에 기초하여 우선순위 레벨을 결정하는 단계; 및
    상기 우선순위 레벨에 기초하는 전송 순서로 복수의 바이트들을 상기 네트워크에 통신하는 단계
    를 포함하는 네트워크 파라미터들 설정 방법.
  4. 제1항에 있어서,
    상기 통신을 조절하는 단계는,
    상기 제1 애플리케이션 타입에 기초하여 패킷에 대한 페이로드 크기를 결정하는 단계;
    상기 페이로드 크기를 갖는 패킷을 형성하는 단계; 및
    상기 패킷을 상기 네트워크에 통신하는 단계
    를 포함하는 네트워크 파라미터들 설정 방법.
  5. 삭제
  6. 제1항에 있어서,
    프로세서 디바이스에서 제2 소프트웨어 애플리케이션과 연관된 제2 정보를 수신하는 단계;
    상기 제2 정보에 기초하여 제2 애플리케이션 타입을 결정하는 단계; 및
    상기 제2 애플리케이션 타입에 기초하여 상기 네트워크와 상기 제2 소프트웨어 애플리케이션의 통신을 조절하는 단계
    를 더 포함하는 네트워크 파라미터들 설정 방법.
  7. 제6항에 있어서,
    상기 제1 소프트웨어 애플리케이션의 통신을 조절하는 단계는 상기 제1 소프트웨어 애플리케이션의 통신을 제1 대역폭으로 조절하는 단계를 포함하고, 상기 제2 소프트웨어 애플리케이션의 통신을 조절하는 단계는 상기 제2 소프트웨어 애플리케이션의 통신을 제2 대역폭으로 조절하는 단계를 포함하며, 상기 제2 대역폭은 상기 제1 대역폭과 상이한, 네트워크 파라미터들 설정 방법.
  8. 제6항에 있어서,
    상기 제1 소프트웨어 애플리케이션의 통신을 조절하는 단계는 상기 제1 소프트웨어 애플리케이션에 대한 제1 우선순위 레벨을 결정하는 단계를 포함하며, 상기 제2 소프트웨어 애플리케이션의 통신을 조절하는 단계는, 상기 제2 소프트웨어 애플리케이션에 대한 제2 우선순위 레벨을 결정하는 단계, 및 상기 제1 우선순위 레벨 및 상기 제2 우선순위 레벨에 기초하는 전송 순서로 복수의 패킷들을 상기 네트워크에 통신하는 단계를 포함하는 네트워크 파라미터들 설정 방법.
  9. 무선 네트워크 파라미터들을 설정하기 위한 방법으로서,
    프로세서 디바이스에서 소프트웨어 애플리케이션과 연관된 정보를 수신하는 단계 - 상기 정보는 상기 소프트웨어 애플리케이션과 연관된 사용자 인터페이스 윈도우가 활성 윈도우인지 여부의 표시를 적어도 포함함 - ;
    상기 정보에 기초하여 애플리케이션 타입을 결정하는 단계;
    상기 소프트웨어 애플리케이션과 연관된 상기 사용자 인터페이스 윈도우가 상기 활성 윈도우인지 여부와 상기 애플리케이션 타입에 기초하여 무선 네트워크 파라미터들을 설정하는 단계; 및
    상기 무선 네트워크 파라미터들에 기초하여 무선 네트워크와 통신하는 단계
    를 포함하는 무선 네트워크 파라미터들 설정 방법.
  10. 제9항에 있어서,
    상기 무선 네트워크 파라미터들을 설정하는 단계는, 상기 애플리케이션 타입에 기초하여 네트워크 스캐닝 빈도(network scanning frequency)를 설정하는 단계를 포함하는 무선 네트워크 파라미터들 설정 방법.
  11. 제9항에 있어서,
    상기 무선 네트워크 파라미터들을 설정하는 단계는, 상기 애플리케이션 타입에 기초하여 네트워크 확인응답 빈도(network acknowledgement frequency)를 설정하는 단계를 포함하는 무선 네트워크 파라미터들 설정 방법.
  12. 제9항에 있어서,
    상기 무선 네트워크 파라미터들을 설정하는 단계는, QOS(quality-of-service) 필드를 갖는 복수의 패킷들을 형성하는 단계, 상기 QOS 필드에 상기 애플리케이션 타입에 기초한 값을 저장하는 단계, 및 상기 복수의 패킷들을 상기 무선 네트워크에 통신하는 단계를 포함하는, 무선 네트워크 파라미터들 설정 방법.
  13. 제9항에 있어서,
    상기 무선 네트워크 파라미터들을 설정하는 단계는, 네트워크 인터페이스가 이용가능한 무선 채널들을 스캐닝하는 빈도를 설정하는 단계를 포함하는, 무선 네트워크 파라미터들 설정 방법.
  14. 제9항에 있어서,
    상기 무선 네트워크 파라미터들을 설정하는 단계는, 네트워크 인터페이스가 이용가능한 무선 액세스 포인트들을 스캐닝하는 빈도를 설정하는 단계를 포함하는, 무선 네트워크 파라미터들 설정 방법.
  15. 제9항에 있어서,
    상기 무선 네트워크 파라미터들을 설정하는 단계는, 상기 무선 네트워크와 통신하는 것과 연관된 백오프(backoff) 시간을 설정하는 단계를 포함하는, 무선 네트워크 파라미터들 설정 방법.
  16. 제9항에 있어서,
    상기 무선 네트워크 파라미터들을 설정하는 단계는, 제1 애플리케이션에 대한 제1 네트워크 확인응답 빈도 및 제2 애플리케이션에 대한 제2 네트워크 확인응답 빈도를 설정하는 단계를 포함하며, 상기 제1 네트워크 확인응답 빈도는 상기 제2 네트워크 확인응답 빈도와 상이한, 무선 네트워크 파라미터들 설정 방법.
  17. 제16항에 있어서,
    상기 제1 네트워크 확인응답 빈도를 설정하는 단계는, 상기 무선 네트워크로부터의 어떠한 확인응답도 상기 제1 애플리케이션에 의해 통신된 정보에 대하여 결정되지 않도록 파라미터를 설정하는 단계를 포함하는, 무선 네트워크 파라미터들 설정 방법.
  18. 네트워크 인터페이스 디바이스로서,
    프로세서 디바이스에 연결된 제1 포트;
    네트워크에 연결된 제2 포트;
    상기 프로세서 디바이스에서 실행되는 애플리케이션에 대한 애플리케이션 타입을 선택하며, 상기 애플리케이션과 연관된 사용자 인터페이스 윈도우가 활성 윈도우인지 여부와 상기 애플리케이션 타입에 기초하여 상기 네트워크와 상기 애플리케이션의 통신을 조절하도록 구성된 제어 모듈
    을 포함하는 네트워크 인터페이스 디바이스.
  19. 제18항에 있어서,
    상기 제어 모듈은, 상기 애플리케이션 타입에 기초하여 상기 애플리케이션에 대한 대역폭 한계를 설정함으로써 통신을 조절하도록 구성되는 네트워크 인터페이스 디바이스.
  20. 제18항에 있어서,
    상기 제어 모듈은, 상기 애플리케이션 타입에 기초하여 우선순위 레벨을 결정하고 상기 우선순위 레벨에 기초하는 전송 순서로 복수의 바이트들을 상기 네트워크에 통신함으로써, 통신을 조절하도록 구성되는 네트워크 인터페이스 디바이스.
  21. 제18항에 있어서,
    상기 제어 모듈은, 상기 애플리케이션 타입에 기초하여 패킷에 대한 페이로드 크기를 결정하고 상기 페이로드 크기를 갖는 패킷을 형성하며 상기 패킷을 상기 네트워크에 통신함으로써, 통신을 조절하도록 구성되는 네트워크 인터페이스 디바이스.
  22. 삭제
  23. 제18항에 있어서,
    상기 제어 모듈은, 상기 프로세서 디바이스에서 실행되는 상기 애플리케이션과 연관되는 제1 정보 - 상기 제1 정보는 상기 애플리케이션과 연관된 상기 사용자 인터페이스 윈도우가 상기 활성 윈도우인지 여부의 표시를 적어도 포함함 - 를 수신하고, 상기 제1 정보에 기초하여 상기 애플리케이션에 대한 상기 애플리케이션 타입을 선택하도록 구성되는 네트워크 인터페이스 디바이스.
  24. 제18항에 있어서,
    상기 제어 모듈은, 상기 애플리케이션과 연관된 상기 사용자 인터페이스 윈도우가 상기 활성 윈도우인지 여부와 상기 애플리케이션 타입에 기초하여 상기 애플리케이션에 대한 네트워크 통신 파라미터들을 결정함으로써, 통신을 조절하도록 구성되는 네트워크 인터페이스 디바이스.
  25. 제1항에 있어서,
    상기 통신을 조절하는 단계는 상기 제1 소프트웨어 애플리케이션에 대한 네트워크 통신 파라미터들을 상기 제1 소프트웨어 애플리케이션과 연관된 상기 사용자 인터페이스 윈도우가 상기 활성 윈도우인지 여부와 상기 제1 애플리케이션 타입에 기초하여 결정하는 단계를 포함하는, 네트워크 파라미터들 설정 방법.
KR1020127002291A 2009-06-29 2010-06-29 네트워크 통신 파라미터를 설정하기 위한 기술 KR101346549B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US22114709P 2009-06-29 2009-06-29
US61/221,147 2009-06-29
PCT/US2010/040298 WO2011008515A2 (en) 2009-06-29 2010-06-29 Technique for setting network communication parameters

Publications (2)

Publication Number Publication Date
KR20120048579A KR20120048579A (ko) 2012-05-15
KR101346549B1 true KR101346549B1 (ko) 2014-01-28

Family

ID=43381962

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127002291A KR101346549B1 (ko) 2009-06-29 2010-06-29 네트워크 통신 파라미터를 설정하기 위한 기술

Country Status (6)

Country Link
US (2) US9602627B2 (ko)
EP (1) EP2449737A4 (ko)
JP (1) JP5450811B2 (ko)
KR (1) KR101346549B1 (ko)
CN (1) CN102577264B (ko)
WO (1) WO2011008515A2 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105208607A (zh) * 2015-08-25 2015-12-30 广东欧珀移动通信有限公司 终端网络数据传输的调度方法、装置及移动终端
US9602627B2 (en) 2009-06-29 2017-03-21 Qualcomm Incorporated Technique for setting network communication parameters
CN109787843A (zh) * 2019-03-14 2019-05-21 杭州涂鸦信息技术有限公司 一种智能设备的配网方法、装置、设备及存储介质
WO2021194132A1 (ko) * 2020-03-26 2021-09-30 삼성전자 주식회사 원격 입력 장치의 제스처 인식 방법 및 그 전자 장치

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8805966B2 (en) 2003-07-28 2014-08-12 Limelight Networks, Inc. Rich content download
US20100011093A1 (en) * 2008-07-14 2010-01-14 Limelight Networks, Inc. Multiple identity download manager
US9054913B1 (en) 2009-11-30 2015-06-09 Dell Software Inc. Network protocol proxy
GB2481255A (en) 2010-06-18 2011-12-21 Skype Ltd Dynamically adapting network bandwidth limitations for applications on a device based on current transmission conditions
US9008673B1 (en) * 2010-07-02 2015-04-14 Cellco Partnership Data communication device with individual application bandwidth reporting and control
US9009251B1 (en) * 2010-07-28 2015-04-14 Cellco Partnership Server content adjusted based on automated report of available client bandwidth
US9258231B2 (en) * 2010-09-08 2016-02-09 International Business Machines Corporation Bandwidth allocation management
US10755235B2 (en) * 2011-01-28 2020-08-25 International Business Machines Corporation Meeting time constraint for a sequence of meetings of a task in a calendaring and scheduling system
US9639273B2 (en) * 2011-01-31 2017-05-02 Nokia Technologies Oy Method and apparatus for representing content data
US9398103B2 (en) * 2011-04-15 2016-07-19 Qualcomm Incorporated Methods and apparatus for enhancing device performance through flow control
US9167480B2 (en) * 2011-05-17 2015-10-20 At&T Intellectual Property I, L.P. Methods and systems for managing device bandwidth usage
US9053487B2 (en) 2011-08-22 2015-06-09 At&T Intellectual Property I, L.P. Methods, systems, and products for notifying of enhancements to quality of service and experience
US20130055136A1 (en) * 2011-08-22 2013-02-28 At&T Intellectual Property I, L.P. Methods, Systems, and Products for Controlling Quality of Service and Experience
US8711699B2 (en) * 2011-10-31 2014-04-29 Amazon Technologies, Inc. Prioritizing application data for transmission in a wireless user device
WO2013098619A1 (en) * 2011-12-26 2013-07-04 Abb Research Ltd. A system and a method for locating and notifying fault and handling alarm thereof
US8997008B2 (en) * 2012-07-17 2015-03-31 Pelicans Networks Ltd. System and method for searching through a graphic user interface
JP6021487B2 (ja) * 2012-07-18 2016-11-09 キヤノン株式会社 情報処理システム、制御方法、サーバ、情報処理装置およびコンピュータプログラム
WO2014020916A1 (en) * 2012-08-03 2014-02-06 Nec Corporation Mobile terminal, communication method, communication system, program, information processing apparatus, service rendering method and distribution server
CN102791032B (zh) * 2012-08-14 2016-08-03 华为终端有限公司 网络带宽分配方法及终端
US9277472B1 (en) * 2012-09-04 2016-03-01 Amazon Technologies, Inc. Determining user experience metrics for different communication networks
CN104661322A (zh) * 2013-11-20 2015-05-27 中兴通讯股份有限公司 一种应用上网处理方法、装置及终端
US9519513B2 (en) 2013-12-03 2016-12-13 Vmware, Inc. Methods and apparatus to automatically configure monitoring of a virtual machine
US10795539B2 (en) * 2013-12-10 2020-10-06 International Business Machines Corporation Visualizing migration of a resource of a distributed computing environment
KR101487628B1 (ko) * 2013-12-18 2015-01-29 포항공과대학교 산학협력단 단말에서 에너지를 효율적으로 사용하기 위한 어플리케이션 인지 패킷 전송 방법 및 장치
DE102014200226A1 (de) * 2014-01-09 2015-07-09 Bayerische Motoren Werke Aktiengesellschaft Zentrale Kommunikationseinheit eines Kraftfahrzeuges
US9678731B2 (en) * 2014-02-26 2017-06-13 Vmware, Inc. Methods and apparatus to generate a customized application blueprint
DE102014103196A1 (de) * 2014-03-11 2015-09-17 Vodafone Gmbh Verfahren für die Kontrolle eines Datenverkehrs zwischen einem Kommunikationsgerät und einem Kommunikationsnetz über eine Kommunikationsverbindung
US9501211B2 (en) * 2014-04-17 2016-11-22 GoDaddy Operating Company, LLC User input processing for allocation of hosting server resources
US9490987B2 (en) 2014-06-30 2016-11-08 Paypal, Inc. Accurately classifying a computer program interacting with a computer system using questioning and fingerprinting
US9866582B2 (en) * 2014-06-30 2018-01-09 Paypal, Inc. Detection of scripted activity
US9736732B2 (en) * 2014-07-01 2017-08-15 Samsung Electronics Co., Ltd. System and method to dynamically manage application traffic by bandwidth apportioning on a communication device
CN105634771B (zh) * 2014-10-31 2020-04-14 索尼公司 通信系统中用户侧装置和网络侧装置及无线通信方法
US11269403B2 (en) * 2015-05-04 2022-03-08 Disney Enterprises, Inc. Adaptive multi-window configuration based upon gaze tracking
US10368136B1 (en) * 2015-12-17 2019-07-30 Amazon Technologies, Inc. Resource management for video playback and chat
US10021547B2 (en) * 2016-01-25 2018-07-10 Htc Corporation Management for data transmission of applications
JP6642128B2 (ja) * 2016-03-08 2020-02-05 ヤマハ株式会社 ネットワーク設定情報生成装置
US10402075B2 (en) * 2016-06-28 2019-09-03 Paypal, Inc. Systems and methods for data visualization
EP3622746A4 (en) * 2017-05-17 2020-07-22 MediaTek Singapore Pte. Ltd. METHOD AND DEVICE FOR HANDLING CELL-SPECIFIC REFERENCE SIGNAL MUTING IN MOBILE COMMUNICATION
KR102603235B1 (ko) 2017-12-26 2023-11-16 삼성전자 주식회사 무선 통신 네트워크에서 네트워크 디바이스의 트래픽 제어 방법 및 장치
KR102582483B1 (ko) * 2018-08-23 2023-09-26 삼성전자주식회사 무선 통신 방법 및 이를 지원하는 전자 장치
US11360544B2 (en) * 2018-10-03 2022-06-14 Google Llc Power management systems and methods for a wearable computing device
US20210184977A1 (en) * 2019-12-16 2021-06-17 Citrix Systems, Inc. Cpu and priority based early drop packet processing systems and methods
CN111666023B (zh) * 2020-05-20 2022-02-08 维沃移动通信有限公司 界面显示方法、装置、电子设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040042410A1 (en) 2002-08-30 2004-03-04 Harris John M. SDU and method for dynamically managing wireless call settings
KR100438713B1 (ko) 2002-01-29 2004-07-05 삼성전자주식회사 외부 링크의 대역폭이 동적인 네트워크에서의 패킷 전송방법 및 장치

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983261A (en) * 1996-07-01 1999-11-09 Apple Computer, Inc. Method and apparatus for allocating bandwidth in teleconferencing applications using bandwidth control
US6067557A (en) * 1996-09-06 2000-05-23 Cabletron Systems, Inc. Method and system for allocating CPU bandwidth by prioritizing competing processes
US6836483B1 (en) * 1998-06-24 2004-12-28 Research Investment Network, Inc. Message system for asynchronous transfer
KR100825507B1 (ko) 1999-07-09 2008-04-29 말리부 네트웍스, 인코퍼레이티드 Tcp/ip 패킷-중심 와이어리스 전송 시스템 아키텍처
US6292838B1 (en) * 1999-08-23 2001-09-18 3Com Corporation Technique for automatic remote media access control (MAC) layer address resolution
KR100649297B1 (ko) 2000-03-30 2006-11-24 엘지전자 주식회사 우선순위 기법을 이용한 대역폭 관리 장치
US6574195B2 (en) * 2000-04-19 2003-06-03 Caspian Networks, Inc. Micro-flow management
US7096260B1 (en) * 2000-09-29 2006-08-22 Cisco Technology, Inc. Marking network data packets with differentiated services codepoints based on network load
US6928051B2 (en) * 2000-12-18 2005-08-09 Intel Corporation Application based bandwidth limiting proxies
US6937562B2 (en) * 2001-02-05 2005-08-30 Ipr Licensing, Inc. Application specific traffic optimization in a wireless link
JP2003006175A (ja) 2001-06-26 2003-01-10 Hitachi Ltd プロセス実行時のプログラム動作特性に基づくプロセススケジューリング方法及びこれを用いたプログラム及びデータ処理装置
US6957071B1 (en) * 2001-07-18 2005-10-18 Cisco Technology, Inc. Method and system for managing wireless bandwidth resources
EP1413119B1 (en) 2001-08-04 2006-05-17 Kontiki, Inc. Method and apparatus for facilitating distributed delivery of content across a computer network
US7145871B2 (en) * 2002-03-02 2006-12-05 At&T Corp. Automatic router configuration based on traffic and service level agreements
JP3979306B2 (ja) 2003-02-25 2007-09-19 日本電気株式会社 無線端末装置および無線通信システム
US7519916B1 (en) * 2003-06-16 2009-04-14 Microsoft Corporation Methods for tailoring a bandwidth profile for an operating environment
KR100570830B1 (ko) * 2003-07-29 2006-04-12 삼성전자주식회사 씨에스엠에이/씨에이에 기반한 무선 랜에서의 매체 접근제어 방법 및 그 장치
CN100414924C (zh) 2003-11-20 2008-08-27 华为技术有限公司 一种分配abis接口带宽资源的方法
JP2008507928A (ja) 2004-07-23 2008-03-13 サイトリックス システムズ, インコーポレイテッド ネットワークノード間の通信を最適化するためのシステムおよび方法
JP4367706B2 (ja) 2004-11-04 2009-11-18 シャープ株式会社 無線送信方法、無線送信機および無線lanシステム
JP4117889B2 (ja) 2004-11-08 2008-07-16 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブアプリケーションを実行するための通信を制御するコンピュータおよびその方法
US7990978B1 (en) 2004-12-17 2011-08-02 Verizon Services Corp. Dynamic bandwidth queue allocation
TWI268074B (en) 2005-01-07 2006-12-01 Netklass Technology Inc Method and system of bandwidth management for Internet communication
EP1796332B1 (en) * 2005-12-08 2012-11-14 Electronics and Telecommunications Research Institute Token bucket dynamic bandwidth allocation
US7613198B2 (en) * 2006-06-30 2009-11-03 Sun Microsystems, Inc. Method and apparatus for dynamic assignment of network interface card resources
US8391255B2 (en) 2006-08-17 2013-03-05 Cisco Technology, Inc. Content throughput on wireless mesh networks
US9111016B2 (en) * 2007-07-06 2015-08-18 Stereotaxis, Inc. Management of live remote medical display
KR100931828B1 (ko) 2007-10-26 2009-12-15 한국과학기술원 휴대인터넷단말기에 제공되는 응용프로그램의 서비스 등급관리 시스템 및 방법
CN101499021A (zh) * 2008-01-31 2009-08-05 国际商业机器公司 在多个虚拟机上动态分配资源的方法和装置
US20100031157A1 (en) * 2008-07-30 2010-02-04 Robert Neer System that enables a user to adjust resources allocated to a group
MY164504A (en) * 2008-10-03 2017-12-29 Mimos Berhad Method to assign traffic priority or bandwidth for application at the end users-device
US8346923B2 (en) 2008-11-12 2013-01-01 Sophos Plc Methods for identifying an application and controlling its network utilization
KR101535437B1 (ko) 2009-01-15 2015-07-09 삼성전자주식회사 휴대 단말기의 전원 절약 방법 및 이를 지원하는 휴대 단말기
US8838819B2 (en) * 2009-04-17 2014-09-16 Empirix Inc. Method for embedding meta-commands in normal network packets
WO2011008515A2 (en) 2009-06-29 2011-01-20 Bigfoot Networks, Inc. Technique for setting network communication parameters

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100438713B1 (ko) 2002-01-29 2004-07-05 삼성전자주식회사 외부 링크의 대역폭이 동적인 네트워크에서의 패킷 전송방법 및 장치
US20040042410A1 (en) 2002-08-30 2004-03-04 Harris John M. SDU and method for dynamically managing wireless call settings

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9602627B2 (en) 2009-06-29 2017-03-21 Qualcomm Incorporated Technique for setting network communication parameters
CN105208607A (zh) * 2015-08-25 2015-12-30 广东欧珀移动通信有限公司 终端网络数据传输的调度方法、装置及移动终端
CN109787843A (zh) * 2019-03-14 2019-05-21 杭州涂鸦信息技术有限公司 一种智能设备的配网方法、装置、设备及存储介质
WO2021194132A1 (ko) * 2020-03-26 2021-09-30 삼성전자 주식회사 원격 입력 장치의 제스처 인식 방법 및 그 전자 장치

Also Published As

Publication number Publication date
EP2449737A4 (en) 2016-12-28
JP2012532494A (ja) 2012-12-13
JP5450811B2 (ja) 2014-03-26
US20100333028A1 (en) 2010-12-30
CN102577264B (zh) 2014-12-17
US20100332667A1 (en) 2010-12-30
CN102577264A (zh) 2012-07-11
US9602627B2 (en) 2017-03-21
WO2011008515A2 (en) 2011-01-20
EP2449737A2 (en) 2012-05-09
WO2011008515A3 (en) 2011-03-31
US8458357B2 (en) 2013-06-04
KR20120048579A (ko) 2012-05-15

Similar Documents

Publication Publication Date Title
KR101346549B1 (ko) 네트워크 통신 파라미터를 설정하기 위한 기술
KR101450293B1 (ko) Http 최적화, 멀티-호밍, 이동성 및 우선순위
JP6236719B2 (ja) WLANにおけるQoSパラメータ構成のための方法、装置、およびシステム
US9264369B2 (en) Technique for managing traffic at a router
EP2959645B1 (en) Dynamic optimization of tcp connections
JP2020502948A (ja) パケット伝送システムおよび方法
US20180349803A1 (en) Dynamically optimized transport system
CN106716971B (zh) 管理经过分类的网络流
US10070348B2 (en) Hypertext transfer protocol support over hybrid access
US11160097B2 (en) Enforcing station fairness with MU-MIMO deployments
KR102246465B1 (ko) 무선 통신 시스템에서 자원 분배 방법 및 장치
CN115834556B (zh) 数据传输方法、系统、设备、存储介质及程序产品
US10244550B2 (en) Technique for scheduling transmission of content in an access network
EP3585013B1 (en) Data transmission method and apparatus
US8351330B2 (en) System and method for traffic prioritization
CN103905327A (zh) 一种基于流状态信息的内容中心网络拥塞控制方法及系统
KR102172056B1 (ko) Icn 라우터 및 콘텐츠 제공자 단말을 포함하는 토큰 기반 캐싱 시스템의 제어 방법, 장치 및 프로그램
CN114024917B (zh) 互联网业务带宽保障的方法、装置、设备及存储介质
JP2005323043A (ja) 情報収集方式、情報収集装置および情報収集方法

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161125

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee