KR100872254B1 - 프록시 서버 장치 - Google Patents

프록시 서버 장치 Download PDF

Info

Publication number
KR100872254B1
KR100872254B1 KR1020057017685A KR20057017685A KR100872254B1 KR 100872254 B1 KR100872254 B1 KR 100872254B1 KR 1020057017685 A KR1020057017685 A KR 1020057017685A KR 20057017685 A KR20057017685 A KR 20057017685A KR 100872254 B1 KR100872254 B1 KR 100872254B1
Authority
KR
South Korea
Prior art keywords
client
proxy server
server device
data
network
Prior art date
Application number
KR1020057017685A
Other languages
English (en)
Other versions
KR20060009237A (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 KR20060009237A publication Critical patent/KR20060009237A/ko
Application granted granted Critical
Publication of KR100872254B1 publication Critical patent/KR100872254B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0212Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave
    • H04W52/0216Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave using a pre-established activity schedule, e.g. traffic indication frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • 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/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored 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/62Establishing a time schedule for servicing the requests
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/165Combined use of TCP and UDP protocols; selection criteria therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • 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/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Transceivers (AREA)
  • Small-Scale Networks (AREA)

Abstract

무선 클라이언트 인터페이스가 어웨이크 상태로 보내는 시간의 양을 줄이고 슬립 상태로 보내는 시간을 증가시킴으로써 무선 클라이언트 인터페이스에서의 에너지 소비를 줄이는 장치가 개시되어 있다. 이 장치는, 적어도 하나의 무선 클라이언트와 통신하도록 구성된 소프트웨어를 실행시키는 적어도 하나의 프로세서를 포함한다. 이 소프트웨어는 장치의 구성을 무선 클라이언트에 알려주고, 무선 클라이언트에 지정된 네트워크 애플리케이션 데이터를 버퍼링하는 메모리 공간을 사용하며, 에너지 절감을 장려하는 적어도 하나의 특정 상황 발생에 기초하여 네트워크 애플리케이션 데이터를 무선 클라이언트에 전달하도록 구성된다.

Description

프록시 서버 장치{SYSTEM FOR LOW POWER OPERATION OF WIRELESS LAN INTERFACES}
본 발명은 일반적으로 무선 통신 분야에 관한 것으로, 특히 무선 근거리 통신망(LANs)에서의 전력 관리 분야에 관한 것이다.
도 1을 참조하면, 무선 버스(128)에 의해 모두 LAN에 결합되어 있는 LAN 서버(124) 및 유선 클라이언트(122)를 포함하는 유선 LAN(120)을 포함하는 공지된 무선 LAN 시스템(100)의 예가 도시되어 있다. 이 시스템은 셀룰러 시스템에서의 기지국과 유사한 다수의 액세스 포인트(APs)(126)를 더 포함한다. 무선 클라이언트 유닛(132)은 전형적으로 2.4GHz ISM(Industrial, Scientific and Medical) 대역과 같은 허가되지 않은 주파수에서 대기를 통해 액세스 포인트(126)와 통신한다. AP(126)는 이더넷 허브 또는 LAN 서버에 접속되어 수천 피트까지의 영역에 걸쳐 벽 및 다른 비금속 장벽을 관통할 수 있는 라디오 주파수 신호를 전송한다. 로밍 사용자(예를 들어, 무선 클라이언트 유닛(132))는 셀룰러식 이동 전화기 시스템에서와 같이 하나의 액세스 포인트(126)에서 다른 액세스 포인트로 핸드오프될 수 있 다. 랩탑은 기존의 이더넷 인터페이스에 접속되거나 또는 PC 카드 상에 자기 탑재된 무선 모뎀을 사용하는 반면, 독립형 데스크톱 및 서버는 플러그-인 카드를 사용한다.
이동국(무선 유닛)에 의한 전력 소비는 이들 유닛이 일반적으로 배터리에 의해 전력이 공급되기 때문에 중요한 문제이며, 무선 통신을 지원하기 위해 배터리 수명을 상당히 감소시키는 전력 소비 레벨을 필요로 하는데, 예를 들어 E.Shih 외 다수의 "Wake on Wireless: An Event Driven Energy Saving Strategy for Battery Operated Devices,"MobiCom 2002를 참조하라.
본 발명의 실시예를 설명하기 전에, 먼저 IEEE 802.11 무선 근거리 통신망(WLAN) 프로토콜, 이 프로토콜 내의 두 개의 전력 모드 및 WLAN 시스템의 다이나믹스에 대한 개요를 설명한다. 특별히 지정하지 않으면, 전력이라는 용어를 언급할 때에는, 무선 프로토콜의 실행과 직접 관련된 호스트 시스템 전력 소비를 포함하는, 무선 인터페이스에서의 전력 소비를 지칭한다. 클라이언트 내의 다른 구성요소와 연관된 전력, 예를 들어 디스플레이 전력, 전원 손실, 및 다른 컴퓨팅 태스크의 실행과 연관된 프로세서/메모리 전력은 배제된다.
후속하는 배경 설명은 소위 "기반구조" 모드에서 동작하는 WLAN 클라이언트(또는 802.11 어조)를 다루는데, 이 모드에서, 액세스 포인트(AP)(126)는 무선 클라이언트 유닛(132)을 전형적으로 유선 이더넷 매체인 또 다른 네트워크 매체에 접속시킨다. AP(126)의 역할은 공통 시간에 기초하여 무선 클라이언트 유닛(132)을 동기화하고 무선 클라이언트(132)를 대신하여 패킷을 버퍼링하며 또한 클라이언트 (132)로의 패킷 전달을 조정하는 것이다. 동기화는 AP(126)에 의해 전형적으로 102.4ms마다 개시되는 비콘 신호에 의해 유지된다. 또한, AP(126)는 두 개의 전력 모드, 즉 CAM(Constant Awake Mode) 및 PS(Power Save) 모드 중 하나로 동작하는 클라이언트(132)를 지원한다. CAM 모드에서, 클라이언트(132)는 항상 "어웨이크(Awake)" 상태로 존재하는 것으로 AP(126)에 등록되는데, 이 상태는 그들이 항상 무선 매체를 모니터링해야 한다는 것을 의미한다. 따라서, AP(126)는 임의의 주어진 시간에 클라이언트(132)에 패킷을 전송할 수 있다. 클라이언트 유닛(132)의 수신기는 항상 CAM으로 있기 때문에, 이 모드는 또한 대부분의 전력을 소비한다.
PS 모드에서, 클라이언트(132)는 비콘 신호 사이에서 "도우즈(Doze)" 상태로 존재하는 것으로 또한 선택된 비콘 신호를 수신하기 위해 일시적으로 "웨이크업(wake up)" 상태로 있는 것으로 AP(126)에 등록된다. AP(126)는 PS 모드로 있는 것으로 등록된 클라이언트(132)로 보내질 패킷을 버퍼링해야 한다. AP(126)는 클라이언트(132)가 수신하기로 예상되는 비콘 신호에 트래픽 표시 맵을 포함시킴으로써 큐잉된 패킷이 있는지 여부를 PS 모드의 클라이언트에 알려준다. 그 다음, PS 모드의 클라이언트(132)는 큐잉된 패킷을 검색하기 위해 AP(126)를 폴링할 것이다.
PS 모드로 동작하는 클라이언트(132)는 상당히 보다 낮은 소비 전력을 가질 수 있다. 클라이언트(132)는 비콘 신호를 건너뜀으로써 그들의 전력 소비를 더 줄일 수 있다. 클라이언트(132)는 먼저 ListenInterval으로 알려져 있는 파라미터를 AP(126)에 전달함으로써 AP(126)에 그들의 의향을 알린 후에 그렇게 할 수 있다. 이 ListenInterval 표시기는 클라이언트(132)가 웨이크업하려 하고 비콘 신호를 수 신하려 하는 비콘 신호 간의 간격이다. 예를 들어, Nlisten의 ListenInterval=3이라는 것은 클라이언트(132)가 모든 제 3 비콘 신호를 수신하기 위해 웨이크업하려 한다는 것을 의미한다. 클라이언트(132)가 도우즈 상태에 있는 경우 무선 인터페이스에서의 전력 소비(Pdoze)는 클라이언트(132)가 어웨이크 상태, 또는 Pawake로 있을 때의 전력 소비보다 훨씬 적다. 도우즈 상태로 경과된 시간, 즉 Tdoze가 어웨이크 상태로 경과된 시간, 즉 Tawake(비콘 신호가 수신될 수 있는 경우)보다 훨씬 큰 경우, 평균적인 전력 소비(P)는 다음의 공식을 따른다.
<P>=Pdoze+Pawake*Tawake/Tdoze
최신의 전력수(power number)는 Pdoze=5mW 및 Pawake=500mW이며, 전형적으로 비콘 신호를 수신하기 위해 Tawake=10ms가 소요된다. 10을 초과하도록 ListenInterval을 연장시켜 Tdoze를 1초 넘게 증가시킴으로써, 클라이언트(132)의 전력 소비는 CAM 모드에서 거의 2배만큼 감소될 수 있다.
PS 모드에서의 하나의 단점은 네트워크 처리량이 상당히 감소된다는 것인데, 그 이유는 클라이언트(132)가 패킷이 도착하는 경우 이 입력 패킷을 수신할 수 없기 때문이다. 대신 클라이언트(132)는 비콘 신호를 수신하기 위해 웨이크업하여 큐잉된 패킷을 수신하도록 AP(126)를 폴링할 때까지 대기해야 한다. 먼저, 이것은 대기시간(latency)에만 영향을 미칠 것으로 보이며, 이 대기시간은 처리량 감소로 이어질 필요는 없다. 그러나, 사실은 처리량은 상당히 영향을 받는데, 이는 R. Krashinsky, H. Balakrishnan의 "Minimizing Energy for Wireless Web Access with network application data are sent across a network from an origin sever to a client"에 설명되어 있다. 이러한 문제에 대한 설명을 위해 P. Barford, M. Crovella, "Critical path analysis of TCP transactions", IEEE/ACM Transactions on Networking, Vol 9, No. 3, 2001을 참조한다.
오늘날, 지배적인 네트워크 프로토콜은 TCP/IP 스택이다. D.E. Comer, "Internetworking with TCP/IP: Volume I, " Prentice Hall, 2nd Edition, 1991을 참조한다. 이러한 스택에서, TCP는 두 개의 TCP 종점 사이에서 신뢰성있는 데이터 패킷 전달을 보장한다. 종점은 IP 어드레스와 TCP 포트 번호 쌍으로서 정의된다. 두 개의 구별되는 종점의 연관성은 TCP 접속으로 지칭되고, TCP 프로토콜은 신뢰성있는 데이터 전달을 위한 접속을 수립하고, 또한 접속을 종결하는 메카니즘을 정의한다. TCP는 대칭적인 프로토콜이다(즉, 동일한 접속은 양 방향에서 신뢰성 있는 데이터 전달을 보장하고, 두 종점 중 하나는 접속의 수립 또는 종결을 개시할 수 있으며, 프로토콜은 동시 개방 및 폐쇄를 제공한다). 그러나, 설명을 간단하게 하기 위해, 종점을 제각각 '클라이언트' 및 '서버'로 지칭하고 오직 서버로부터 클라이언트로의 데이터 흐름을 언급할 것이다.
신뢰성 있는 데이터 패킷은 두 개의 수단을 통해 달성된다. 먼저, 클라이언트는 서버로부터 수신하는 각 DATA 패킷을, 전형적으로 두 개의 DATA 패킷마다 하나의 ACK 패킷(송신된 데이터의 에러없는 수신을 확인하는데 사용됨)으로 확인해야 한다. 그 다음으로, 서버는 ACK 패킷(들)이 이후에 수신되는 것을 허용하면서 제한된 수의 DATA 패킷만을 전송할 것이다. 미해결, 즉 ACK되지 않은 데이터 패킷의 최대 수는 이하에서 설명되는 바와 같이 혼잡 윈도우 크기(CWND) 알고리즘에 따라 확장된다. 그러나, 이 알고리즘은 TCT 레벨에서 수립되는 모든 새로운 네트워크 접속마다 재개된다. 이 모두의 동작 방법에 대한 예를 제공하기 위해, 파일 전송 프로토콜(FTP) 세션이 FTP 서버에 수립되는 것으로 가정한다. FTP 애플리케이션 내에서, 클라이언트는 접속 커맨드로서 "get <file_name>" 커맨드를 발행할 수 있으며, FTP 클라이언트와 서버 사이에 제 1 접속이 수립된다. 이 커맨드의 실행시, 데이터 접속으로 불리는 제 2 TCP 접속이 클라이언트와 FTP 서버 사이에 수립되며, 전체 파일의 수신시, 데이터 TCP 접속은 해제된다.
FTP 서비스가 수동-모드(오늘날 넷츠케이프와 같은 대부분의 익명 FTP 서버와 클라이언트가 이 모드로 구성됨)를 사용하도록 구성되는 것으로 가정하고, 이하에서는 접속의 기간 동안 클라이언트와 서버 사이의 패킷 전달 및 CWND 알고리즘의 다이나믹스를 설명한다. 데이터 접속을 개시하기 위해, 클라이언트는 SYN(동기화)으로 불리는 제 1 패킷을 서버에, 접속이라는 커맨드시에 서버에 의해 앞서 제공된 포트 번호로 전송한다. 서버는 SYN 패킷에 즉각 응답해야 하며, 또한 클라이언트 SYN 패킷의 수신을 확인(ACK)해야 한다. 이 서버 패킷은 그의 이중 역할 때문에 SYN/ACK 패킷으로 지칭된다.
동시에, CWND 알고리즘의 일부분으로서, 서버는 그의 CWND 변수를 일의 값으로 초기화한다. 클라이언트는 ACK 패킷을 전송함으로써 SYN/ACK 패킷을 즉각 확인한다. TCP에서, 모든 ACK 패킷은 누적된다. ACK의 수신시, 서버는 그의 CWND를 CWND 알고리즘에 의해 지정된 바와 같이 일씩 증가시킨다. 또한, 서버는 두 개의 데이터 패킷을 전송할 것이다(요청된 파일이 충분히 큰 경우). DATA 또는 ACK 패 킷이 유실 즉 재요청되지 않는 한, 서버는 수신하는 ACK마다 일씩 그의 CWND를 매우 큰 제한치까지 증가시키고, 현재의 CWND, 마지막 ACK 및 파일 크기에 의해 허용되는 패킷의 최대 수를 전송하고, 클라이언트는 수신하는 두 개의 데이터 패킷마다, 또는 임의의 확인되지 않은 수신 데이터가 있는 경우 시스템-종속 타임아웃(전형적으로 100ms)이 종료된 후 ACK 패킷을 전송한다. CWND 알고리즘은 실질적으로 보다 복잡한데, 그 이유는 패킷 손실 및 재요청 또는 유휴 타임아웃 종료와 같은 특이한 이벤트, 2등분되거나 또는 일로 리셋되는 거와 같이 CWND가 감소되는 경우, 또한 그러한 이벤트 전에 그의 상위 제한치를 그의 값과 같은 하위 제한치로 리셋하는 경우 등을 다루기가 복잡하기 때문이다. 간략하게 하기 위해, TCP가 특이한 이벤트를 다루는 방법 및 TCP 접속 종결에 대한 설명은 본 명세서에서 포함되지 않지만, 당업자라면 이들에 대해서 잘 알 것이다.
전술한 사항으로부터 인지할 수 있는 바와 같이, 클라이언트(132)가 SYN/ACK를 느리게 수신하는 경우, 제 1 ACK 패킷의 전송은 지연될 것이다. 그 다음, 클라이언트(132)는, 2개의 제 1 DATA 패킷을 느리게 수신하는 경우, 이 패킷들을 승인하는 것도 느리다. CWND가 더 커지고, 동시 처리량이 증가하기 때문에, AP(126)는 증가하는 DATA 패킷의 수(패킷의 CWND 개수까지)를 큐업하고 있다. 이것은 클라이언트(132)가 도우즈 상태에 있는 동안 발생한다. 그 후, 클라이언트(132)는 다음 비콘 신호를 수신한 후(어웨이크 상태에 있게 되는 때) 매우 신속하게 패킷을 인출한다. 그러나, 전체 평균 처리량은, 새로운 네트워크 접속의 초기에 발생하는 소위 "TCP slow start" 현상으로 인해 더 작은 파일 크기로 증가하는 범위를 갖는다. 즉, 2개의 데이터, 그 다음에 하나의 ACK, 그 다음에 4개의 데이터, 그 다음에 2개의 ACK 등을 갖도록 그 범위가 증가한다. 또한 ListenInterval이 작을수록 처리량은 더 양호해진다는 것을 알 수 있다. 그러나, Nlisten=1(즉, 클라이언트가 모든 비콘 신호를 수신함)에 대해서도, 일반적으로 1500바이트인 DATA 패킷은 11Mbps 무선 인터페이스를 통해서 전송하는 데 단 1.2msec가 걸린다. 따라서, 102.4msec의 전형적인 비콘 주기와, TCP, IP 및 MAC(medium-across control) 프로토콜 비효율성을 고려하면, 클라이언트-서버 접속 대역폭이 무선 인터페이스의 속도, 즉 11Mbps로 제한된다는 전제 하에서, 거의 50개의 DATA 패킷은 PS 모드에서의 클라이언트(132)가 더 이상 처리량을 제한하지 않게 되기 전에 AP(126)에서 큐업해야 한다. 여러 가지 다른 요인들은 최대 가능 처리량을 더 제한할 수 있다. 102.4ms 비콘당 50개의 최대 크기 DATA 프레임의 최대 처리량은 CAM 모드에서 동작하는 802.11b 무선 LAN 클라이언트를 사용하여 실행된 측정치를 기반으로 하며, 초당 700킬로바이트(700kByte/s)의 최대 처리량 또는 무선 인터페이스 속도 자체의 약 절반에 대응한다. 비효율성은 주로 802.11b 프로토콜 오버헤드로 인한 것이다. TCP/IP 프레임 오버헤드도 또한 기여한다.
PS 모드에서 클라이언트(132)에 대한 처리량에 미치는 악영향을 최소화하기 위해서 두 가지 작용이 실행된다. 먼저, DATA 패킷이 검출될 때마다, Nlisten 상태는 더 많은 DATA 패킷을 예상하여 최소 크기로 즉시 감소되어, AP(126)에서 큐업된다. 다음, PS 모드에서의 클라이언트(132)는 일반적으로 100ms에 대해 그대로 유지되는 CAM 모드로 일시적으로 전환되지만, 1초 동안 그대로 유지될 수 있다. 이러한 CAM 모드로의 일시적인 전환은 CAM 타임아웃 Ttimeout이라 지칭될 것이다. 일반적으로, 타임아웃은 DATA 패킷이 전송되거나 수신된 후에 자신의 원래 값, 즉 100ms로 재설정된다.
Nlisten을 1로 감소시킴으로써, 처리량에서 소정 부분 개선된다. 그러나, 전형적인 웹 페이지의 누적 크기가 약 150KB라는 점을 고려하면, 앞서 언급한 "TCP slow start" 현상 때문에 최대 달성가능 처리량의 1/3만이 도달된다.
CAM 모드를 일시적으로 사용하는 것은, 몇몇 경우에는 Nlisten을 감소시키지 않고서도 100%의 처리 효율을 회복할 수 있는 매우 효과적인 방법이다. 그 이유는, 클라이언트-서버 왕복 시간(Tround)이 타임아웃보다 확실히 더 작다면, 클라이언트(132)는 모든 DATA 패킷에 대한 Ttimeout의 재설정 때문에 계속해서 CAM 모드에 있게 될 것이라는 점이다. 즉, 어떠한 DATA 패킷도 Ttimeout의 주기 동안 전송되거나 수신될 때까지이다.
100mS의 짧은 순간이라 해도 CAM 모드를 사용할 때의 문제점은, 클라이언트-서버 대역폭이 무선 대역폭보다 더 작은 경우에 전력 소비가 증가한다는 점이다. DATA 패킷이 수신되거나 송신되고 있는 한, 클라이언트(132)는 다른 100mS 동안 CAM 모드에 계속 있게 될 것이다. 따라서, 전체의 처리가 늦는 경우, 클라이언트(132)는 DATA 패킷이 AP(126)에 도달하게 되는 CAM 모드에서 초과 시간을 보낼 것이다. 클라이언트-서버 대역폭이 감소할수록, 전력 효율 역시 감소한다. 월드-와이드 웹(www)에서의 전형적인 클라이언트-서버 처리량은 특정 서버, 그 부하, 및 클라이언트의 브라우저에 따라서 25-150 kByes/second의 범위에 있게 된다. 이러 한 처리량은 IBM의 PageDetailer와 같은 웹 스나이퍼(트래픽을 분석하고 네트워크에서의 병목 및 문제점을 검출하는 소프트웨어 및/또는 하드웨어)에 의해 측정된다.
클라이언트(132)에서의 다운로드 처리량을 증가시키고자 하는 솔루션이 존재한다. 하나의 이러한 솔루션은, 클라이언트(132)가 클라이언트의 요청 히스토리를 기반으로 하여 요청할 것으로 예상되는 웹 데이터를 사전인출하는 웹 사전인출과 웹 캐싱을 결합하는 것이다. 이 방법은 추론적인 사전인출이라고 표현된다. 사전인출에 대한 설명으로, X. Chen, X. Zhang, "A popularity-based prediction model for web prefecting", IEEE Computer, March 2003을 참조하라. 그러나, 추론적인 사전인출의 효율성은 클라이언트 단위로는 신뢰할 수 없거나, 또는 예측할 수 없다. 추론적인 사전인출은, 수천 개의 클라이언트를 운용하며 매우 높은 처리량을 보이는 프록시 서버에서 최상으로 작용한다. 또한, 사전인출 프록시는 페이지를 꾸준히 검토해야 하며, 이에 따라 많은 양의 네트워크 트래픽을 생성한다. 따라서, 그러한 프록시가 너무 많지 않은 경우에는 전체 네트워크 성능에 이롭다.
클라이언트의 용량을 증대시키고 지원하는 프록시 서버의 이점은 잘 알려져 있다. 프록시 서버의 양호한 조사 및 프록시 서버가 작용 방법에 대해서는, D. Gourley, B. Totty, "HTTP: The definitive guide", O'Reilly, 2002를 참조하라. 대체적으로, 가장 잘 알려진 유형의 프록시 서버는 웹 캐시 프록시 서버와 보안성 방화벽 프록시 서버이다. 다른 관심 유형은 소정 장치(예를 들어, PDA)의 용량에 더 양호하게 적응되는 콘텐츠를 트랜스코딩하는 프록시와, 부적절한 웹 페이지로의 액세스를 차단하는 필터링 프록시를 포함한다. 그러나, 클라이언트에서의 전력 소비를 최적화하는 프록시 서버는 존재하지 않는다.
마지막으로, 전송 네트워크 층에서 엄청난 양의 작업이 이루어지며, 그 층 밑에서는 전력 소비가 감소된다는 점에 유의하라. C. E. Jones, K. M. Sivalingam, P. Agrawal, J. C. Chen, "A survey of energy efficient network protocols for wireless networks", Wireless Networks, No. 7, 2001을 참조하라. 그러나, 이러한 네트워크 레벨 방법은 프록시 서버의 중요성 및 이점을 대체하거나 감소시키지 않는다.
따라서, 현재의 솔루션은, 클라이언트가 CAM 모드에 있는 동안 더 많은 데이터를 기다리거나 주위를 기울이면서 낭비되는 전력 소비의 효과적인 감소를 관리하지 않는다. 따라서, 이동국에서의 전력 소비를 더욱 감소시킬 필요가 있다.
본 발명의 실시예에 따른 장치는 무선 클라이언트 인터페이스가 어웨이크 상태로 보내는 시간의 양을 줄이고 슬립 상태로 보내는 시간을 증가시킴으로써 무선 클라이언트 인터페이스에서의 에너지를 소비를 줄인다. 이 장치는, 적어도 하나의 무선 클라이언트와 통신하도록 구성된 소프트웨어를 실행시키는 적어도 하나의 프로세서를 포함한다. 이 소프트웨어는 장치의 구성을 무선 클라이언트에 알려주고, 무선 클라이언트에 지정된 네트워크 애플리케이션 데이터를 버퍼링하는 메모리 공간을 사용하며, 에너지 절감을 장려하는 적어도 하나의 특정 상황 발생에 기초하여 네트워크 애플리케이션 데이터를 무선 클라이언트에 전달하도록 구성된다.
도 1은 종래의 무선 LAN 시스템을 도시하는 도면,
도 2는 본 발명에 따른 시스템이 유리하게 사용될 수 있는 무선 LAN 환경을 나타내는 도면,
도 3은 도 2에 도시된 네트워크 부분을 보다 상세히 도시하는 도면,
도 4는 종래 기술에 따른 다이렉트 기법과, 본 발명의 실시예에 따른 프록시 기법을 사용하는 전력 소비에 대한 도면,
도 5는 본 발명의 실시예에 따른, 프록시 서버를 사용하는 웹 페이지 검색의 흐름도,
도 6은 본 발명의 실시예에 따른 애플리케이션 프록시 서버의 간략화된 블록도,
도 7은 본 발명의 실시예에 따른 무선 클라이언트의 블록도.
도 2를 참조하면, 본 발명의 실시예에 따른, 프록시 서버 기법을 사용하는 통신 시스템 또는 네트워크(200)의 블록도가 도시되어 있다. 시스템(200)은 무선 클라이언트(202)와 같은 다수의 무선 클라이언트 유닛을 포함한다. 이들은 랩탑 컴퓨터, 개인 휴대용 정보 단말기 또는 다른 무선 통신 장치일 수 있는데, 여기서 배터리 수명은 중요하게 고려되는 사항이다. 무선 클라이언트(202)는 클라이언트(202)와의 무선 통신을 제공하는 무선 송수신기를 포함하는 액세스 포인트(AP)(206)를 통해 인트라넷(214)에 접속된다. AP(206)는 흔히 도 2에 도시되어 있는 바와 같이 다중포트 이더넷 스위치(205)를 통해 인트라넷(214)에 접속된다. 본 발명에 따르면, 애플리케이션 프록시 서버(204)는 또한 다중포트 이더넷 스위치(205)를 통해 인트라넷(214) 및 AP(206)에 접속된다.
인트라넷(214)은 게이트웨이(208)를 거쳐 인터넷(210)에 접속된다. 또한 서버(212)(본 명세서에서 원천 서버로 지칭됨)가 인터넷(210)에 접속된다. 네트워크(200)는 TCP/IP 프로토콜을 사용하여 패킷을 교환한다.
도 3을 참조하면, 본 발명의 실시예에 따른, 네트워크(200)의 보다 상세한 블록도가 도시되어 있다. 인트라넷(214)은 도 1과 관련하여 설명한 것과 같은 유선 LAN(306)으로서 도시되어 있지만, 이 유선 LAN(306)은 다수의 애플리케이션 프록시 서버(204)를 포함하는 것이 다르며, 각 서버(204)는 다중 포트 이더넷 스위치(205)를 통해 AP(206) 및 유선 LAN(306)의 나머지 부분에 접속된다. 무선 클라이언트(202)는 프록시 서버(204)의 서비스를 사용하도록 적응된다는 점에서 도 1에 도시된 것과 다르다.
이 실시예에서, 최대 클라이언트-서버 애플리케이션 대역폭, 즉 처리량을 약 750 kByte/s로 제한하는 11 Mbps IEEE 802.11b 무선 LAN을 설명할 것이다. 그러나, 당업자라면, 본 발명의 원리는 다른 802.11 시스템, 및 다른 무선 및 유선 통신 시스템을 포함하는 다른 실시예에 사용될 수 있다는 것을 알 수 있을 것이다. 프록시 서버 기법은 원천 서버(212)로부터 애플리케이션 데이터를 사전인출함으로써 동작한다. 이것은 무선 클라이언트(202)가 데이터를 검색할 수 있을 때까지 또한 프록시 서버(204)가 데이터를 방출할 때까지 데이터가 프록시 서버(204)에 누적되게 한다. 이러한 방식에서, 클라이언트(202)는 CAM 모드에서 원천 서버(212)와 통신할 필요가 없는데, 그 이유는 이제 이러한 태스크는 프록시 서버(204)에 의해 다루어지기 때문이다. 클라이언트(202)는 CAM 모드에서 프록시 서버(204)로부터 데이터 패킷을 여전히 대기해야 한다. 그러나, 클라이언트-프록시 대역폭(예를 들어, 750kByte/s)은 클라이언트 원천 서버 대역폭(예를 들어, 25-150 kBytes/s)보다 훨씬 크기 때문에, 클라이언트(202)는 프록시 서버(204)로부터 약 5-30배 더 빠르게 데이터 패킷을 검색할 수 있고, 따라서 CAM 모드에서 5-30배까지 시간을 덜 소모하게 되어 에너지 소비를 줄일 수 있다.
또한, 클라이언트(202)가 프록시 서버(204)의 존재를 알고 있는 것으로 가정하면, 클라이언트(202)는 자신의 Ttimeout을 매우 작게 조정할 수 있는데, 그 이유는 이 클라이언트(202)는 클라이언트-프록시 접속의 응답 시간이 높은 클라이언트-프록시 대역폭으로 인해 매우 높기 때문이다. 실제로 응답 시간에 영향을 줄 수 있는 요인은 예를 들어 경쟁 또는 데이터 손실에 기인하는 무선 네트워크 그 자체이다. AP(206) 및 프록시 서버(204)를 통한 통신은 원천 서버(212)와의 직접 통신과 비교해 빠를 것이다. 바람직한 실시예에서, Ttimeout=25ms로 가정할 것이다. 이 모두의 실질적인 효과는 클라이언트(202)가 CAM 모드에서 에너지 소비를 상당히 줄일 수 있다는 것이다. 본 발명의 일 측면에 따르면, 클라이언트(202)는 프록시 서버(204)의 존재를 검출하고, 프록시 서버(204)가 캐시 메시지에 대해 이용 가능한지 여부에 따라 Ttimeout을 조정하도록 구성된다.
프록시 서버(204)는 애플리케이션 레벨에서 동작한다. 바람직한 실시예에서, 웹 브라우저 애플리케이션이 사용된다. 따라서, 이 경우에, 프록시 서버(204)는 하이퍼텍스트 전송 프로토콜(HTTP)을 사용하여 원천 서버(212)로부터 웹 페이지 및 객체를 검색하는 웹 프록시이다. 유사하게, 클라이언트(202)는 HTTP를 사용하여 프록시 서버(204)로부터 웹 페이지 및 객체를 검색한다.
이제 도 4를 참조하면, 두 개의 차트(410 및 420)는 두 개의 상이한 시스템, 즉 1) 클라이언트(202)가 다이렉트 기법(410)에 도시되어 있는 바와 같이 원천 서버(212)에 직접 접속되어 있는 경우와, 2) 클라이언트(202)가 프록시 기법(420)을 사용하는 경우에서, 무선 클라이언트(202)의 WLAN 인터페이스에서의 동적인 전력 소비(전력)와 누적된 DATA 패킷의 수(NDATA)를 도시한다. SYN 및 FIN은 초기의 클라이언트(202) TCP 접속 요청 패킷 및 최종의 클라이언트(202) TCP 접속 패킷을 제각각 나타낸다. 나머지 "다운" 화살표(↓)는 a) 액세스 포인트(206)에서와 b) 프록시 서버(204)에서의 DATA 패킷의 도착을 나타낸다. 다른 패킷, 예를 들어 SYN/ACK 및 ACK 패킷은 도시되어 있지 않다. 양 경우에서, Nlisten=5(클라이언트(202)는 다섯 번째 비콘 신호 모두를 수신할 것이다)이다.
도 4에서 알 수 있는 바와 같이, 프록시 기법(420)에서, 프록시 서버(204)는 패킷이 프록시 서버(204)에 도착하는 어떠한 속도에서도 그 패킷을 누적한다. 동 시에, 클라이언트(202)는 도우즈 상태로 에너지를 절약한다. 그런 다음, 클라이언트(202)가 웨이크업하는 경우, 이 클라이언트(202)는 제 1 DATA 패킷의 검출시 CAM 모드로 전환한다. 그런 다음 버퍼링된 모드 패킷을 검색하여 가능한 빠르게 프록시 서버(204) 버퍼를 비운다. 그 후, CAM 모드에서 Ttimeout=25ms를 대기하고, AP(206)에 의해 송신된 DATA 패킷이 더 이상 없는 경우, 도우즈 상태로 돌아간다.
웹 프록시 서버는 적어도 두 가지 방식으로 클라이언트(202) 전력 소비를 줄여준다. 먼저, 클라이언트와 서버 사이의 TCP 접속을 두 개의 별개의 접속, 즉 클라이언트-프록시와 프록시-서버로 분할한다. 이러한 분할은 원거리 통신망 조건(예를 들어, 제한된 대역폭, 높은 대기시간, 패킷 손실)이 패킷 다이나믹스에 대해 가지고 있는 부정적인 영향 및 Ttimeout 선택에 대한 그의 영향으로부터 클라이언트(202)에 완충역할을 한다. 프록시 서버(204)에서 TCP 접속을 분할하는 것의 장점은 클라이언트(202)로의 대개 단방향인 임의의 TCP 트래픽에 적용된다.
두 번째 장점은 웹 콘텐츠에 특정되고 그것은 웹 페이지를 검색 및 방출하는 프로세스를 상세히 나타내는 흐름도(500)를 도시하는 도 5에 도시되어 있다. 좀 더 구체적으로, 두 번째 장점은 웹 페이지가 구성되는 방식으로부터 도출되며, 메인 페이지는 이 페이지에 포함된 몇몇 다른 객체를 포함할 수 있다. 이 프로세스는 메인 스레드(thread), ProxyMain(*Object)를 웨이크업하는 클라이언트(202)로부터의 HTTP 요청의 수신으로 단계(510)를 시작한다. 초기의 HTTP 요청의 경우에, 웹 프록시 서버는 원천 서버(212로부터 객체를 꺼내오는 단계(512)에서 GetWebObject(*Object) 스레드를 스폰(spawn)한다. *Object는 HTTP 요청 헤더 스 트링에 대한 포인터라는 것을 이해해야 한다. 이 헤더는 특히 원처 서버(212) 이름과, 객체/페이지의 경로 이름, 및 쿠키를 포함한다. 후속하는 클라이언트 HTTP 요청의 경우(예를 들어, 클라이언트(202)는 메인 HTML 페이지 내에 포함된 페이지를 요청하는 경우), 먼저 객체가 이미 인출되어 캐시에 존재하는지가 단계(514)에서 결정된다. 객체가 캐시 내에 존재하지 않는 경우, 단계(516)에서, GetWebObject() 스레드가 웨이크업된다. 객체가 캐시 내에 존재하는 경우, 단계(518)에서, ReleaseObject(*Object) 스레드는 스폰되어, 이 객체를 클라이언트(202)에 방출한다. 이 스레드는 단계(520)에서 대기 상태로 설정된다.
단계(530)는 GetWebObject(*Object) 스레드이다. 이 스레드는 단계(532)에서 원천 서버(212)로부터 객체를 인출하고, 그것을 단계(534)에서 저장하고, 그런 다음 단계(536)에서 ReleaseObjec(*Object)를 스폰하여 객체를 클라이언트(202)에 방출한다. 다음으로, 객체가 파싱가능(parseable)한지가 결정된다. 파싱가능하지 않은 객체의 경우, 스레드는 단계(538)에서 대기 상태로 설정된다. HTML 페이지 또는 자바 스크립트와 같은 파싱가능한 객체의 경우, 객체는 단계(540)에서 파싱되고 내장된 객체의 수는 카운트된다. 다음으로, 단계(542)에서, 다음 객체는 원천 서버(212)로부터 인출되고 단계(544)에서 캐시에 저장된다. 현재의 객체가 파싱가능한 경우, 실행은 단계(540)로 돌아간다. 현재의 객체가 파싱가능하지 않은 경우, 객체 카운트는 단계(546)에서 일씩 감소된다. 인출할 객체가 더 있는 경우, 실행은 단계(542)로 돌아간다. 모든 객체가 인출된 경우, 스레드는 단계(538)에서 대기 상태로 설정된다.
단계(560)는 단계(562)에서 객체를 클라이언트에 방출하고 단계(564)에서 스레드를 종료하는 ReleaseObject(*Object)이다.
ReleaseObject() 스레드는 항상 스폰되고 객체가 완전히 전달되는 경우 즉시 종료된다. 이것은 단계(5120)에서 프록시 서버(204)가 다수의 연속적인 클라이언트(202) 요청, 즉 파이프라인식 요청을 수용할 수 있게 해준다. ReleaseObject() 스레드는 파이프라인식 요청의 서비스동안 서로 동기화되어 HTTP 프로토콜 사양에 순응한다.
단계(532)는 객체가 앞서 요청에서 이미 수신되지 않았다고 가정한다. 객체가 캐시에 이미 있는 경우, 단계(532)는 간단히 캐시로부터 객체를 인출하고, 단계(534)를 건너뛰고 단계(536)로 점프한다.
도 5에 도시된 흐름도(500)는 전체 객체의 수신 상황에 기초하여 웹 객체를 방출하는 것을 고려한다. 일반적으로, 웹 데이터는 다른 상황에 기초하여 방출될 수 있다. 예를 들어, 다른 상황은 소정양의 버퍼 공간을 초과하는 것에 기초하여 웹 데이터를 방출하는 것일 수 있다. 또 다른 상황은 타임아웃에 기초하여 웹 데이터를 방출하는 것일 수 있다. 양 경우에, 프록시 서버(204)는 전체 객체를 수신하기 전에 웹 데이터의 방출을 시작할 수 있다.
내장된 객체의 수는 몇 개에서 일백 개까지 달라질 수 있으며 사용되는 웹 페이지 콘텐츠 및 웹 설계 도구(들)에 의존한다. 내장된 객체를 갖는 페이지를 다루는 경우, 프록시 서버(204)는 메인 페이지를 파싱하는 것과 내장된 객체를 요청하는 것과 관련하여 클라이언트 행동의 일부를 에뮬레이팅하도록 시도할 수 있다. 예를 들어, 그것은 내장된 객체의 요청되는 순서로 웹 브라우저의 특정 구현을 수행하는 것에 달려 있다. 다른 내장 객체의 실행 결과로서 스스로 증명하는 객체에 대해서도 동일하게 적용된다. 대체적으로, 프록시 서버(204)는 클라이언트(202)가 사용하는 웹 브라우저를 알 수 있기 때문에, 따라서 프록시 서버(204)는 그의 사전인출 정책을 클라이언트(202)로부터의 후속하는 요청 시퀀스에 보다 잘 매칭하도록 조정할 수 있다.
사전인출 동작이 일어나는 경우, 클라이언트(202)는 보다 긴 기간 동안 도우즈 상태로 유지할 수 있고 때때로 프록시 서버(204)에 큐잉된 패킷이 있는지를 결정하기 위해 웨이크업한다. 메인 페이지가 클라이언트(202)에 의해 검색되면, 클라이언트(202)는 프록시 서버(204)로부터 현재 방출된 모든 객체를 수신할 때까지 어웨이크 상태로 유지하고 이러한 시간 간격(Tawake)은 로컬 프록시 서버(204) 캐시로부터 내장 객체가 서비스되는 것과 같이 비-프록시 구성보다 상당히 짧은 가능성이 크다. 또한, 클라이언트(202)는 마지막 객체가 검색된 후 바로 도우즈 상태로 돌아갈 것인데, 그 이유는 클라이언트(202)는 패킷 전달이 낮은 대기시간 클라이언트-프록시 접속에 걸쳐 발생하는 것과 같이 낮은 Ttimeout 값으로 구성될 수 있기 때문이다.
클라이언트(202)는 웹 프록시의 존재를 검출하도록 구성(프로그램 또는 연결)되어야 한다. 이것은 중요한 사항인데, 그 이유는 클라이언트(202) 내의 전력 관리(PM) 메카니즘은 클라이언트-서버 대기시간에 대한 예상치 및 앞서 설명한 서버 특성에 의존할 것이기 때문이다. 클라이언트(202)에서, ProxySniffer() 대몬은 UDP 포트를 사용한다. 때때로, 그것은 UDP 포트의 승인시 스니프(sniff) 패킷을 방송하고 응답을 대기할 것이다. 이 스니프 패킷은 브라우저의 성능 및 구성에 대한 정보를 포함할 수 있다. 웹 프록시 상에서, Alert() 대몬은 UDP 포트의 승인에 주위를 기울인다. 그것이 클라이언트(202)로부터 스니프 패킷을 검출하는 경우, 그것은 그의 IP 어드레스, TCP 포트 및 성능으로 응답한다. 그 다음으로, 클라이언트(202)는 프록시 서버(204)를 사용하기 위해 웹 브라우저 애플리케이션을 구성한다. 두 번째로, 클라이언트(202)는 무선 LAN 인터페이스에 대한 적절한 전력 관리(PM) 기법을 선택한다. 하나의 이러한 적절한 PM 기법은 MAC 네트워크 층에서 Nlisten=5(즉, 512ms) 및 Ttimeout=25ms로 설정하는 것이다. PM 기법에서의 변경을 가능하게 하기 위해, 클라이언트(202)는 프록시 서버(204) 정보를 MAC와 공유할 수 있어야 한다. 이에 대해서는 이후에 설명된다. 다른 AP에 속해있는 프록시로 스니프 패킷이 전파되는 것을 방지하기 위해, 각 프록시 서버(204)는 상이한 IP 서브넷 상에 존재해야 하는데, 그 이유는 방송 패킷은 서브넷을 통해서는 전파되지 않기 때문이다.
클라이언트(202)는 임의의 애플리케이션 네트워크 세션이 있는지를 결정할 수 있어야 한다. 정의를 통해, 애플리케이션 세션 콘텍스트는 각 애플리케이션 내에서만 알려져 있다. 그러나, 세션 콘텍스트를 MAC 네트워크 층과 공유함으로써, 모다 적절한 PM 기법이 선택될 수 있다. 이러한 적절한 PM 기법이 클라이언트(202)가 서버에 접속되어 있지 않은 경우에 Nlisten=5로 설정되는 것과 달리 Nlisten=100으로 설정되는데, 그 이유는 AP(206)에는 어떠한 패킷도 큐잉되지 않을 것이기 때문에 클라이언트(202)가 모든 5 비콘마다 비콘 신호를 수신하기 위해 웨이크업할 이유가 없기 때문이다. 사실, WLAN 인터페이스는 완전하게 정지될 수 있고 그런 다음 사용자가 하이퍼링크를 클릭하는 경우 다시 시작될 수 있다. 이러한 최적화는 클라이언트(202)가 임의의 서버형 애플리케이션, 즉 커맨드용의 특정 TCP/UDP 포트에 주위를 기울이는 애플리케이션을 실행시키지 않는 경우에만 가능하다. 클라이언트(202)가 서버형 애플리케이션을 실행시키는 경우, 상술한 최적화는 이들 애플리케이션의 클라이언트가 (상당히) 큰 응답 시간을 허용할 수 있다면 여전히 사용될 수 있다.
이하에서는 애플리케이션 세션 콘텍스트를 검색하는 방식 및 이 세션 및 프록시 콘텍스트를 MAC 층에 전송하는 방식 및 이 프록시 콘텍스트를 웹 브라우저의 네트워크 설정시에 반영하는 방식을 설명한다.
애플리케이션 네트워크 세션 콘텍스트의 검색
클라이언트(202)에서, SessionContext() 모듈은 모든 관련 포트 상의 통신을 인터셉트하는 TCP 프로토콜 층을 끌어들여, IP 네트워크 층과의 모든 통신을 인터셉트함으로써 접속이 개방 및 폐쇄되는 때를 결정한다. SessionContext()는 또한 공지된 시스템 구성 파일 또는 데이터베이스로부터 검색될 수 있는 각 포트와 어느 애플리케이션이 연관되어 있는지 알 필요가 있다. 네트워크 프로그램 관련 당업자라면, SessionContext() 모듈을 구현하는 방법을 알 것이다. 또한 네트워크 콘텍스트를 검색하는 도구는 상업적으로 입수가능하다. 예를 들어, 네트워크 콘텍스트는 클라이언트의 모든 TCP 접속, 그의 상태를 나열하고, 큐 크기를 수신 및 전송하 는 'netstat -t'와 같은 쉘 커맨드를 사용하는 리눅스 클라이언트 상의 사용자 레벨에서 이용가능해질 수 있다.
MAC 드라이버로의 콘텍스트 통신
ProxySniffer() 및 SessionContext()로부터의 콘텍스트를 MAC 드라이버로 통신하는 것은 데이터를 교환하도록 소프트웨어 모듈, 또는 소프트웨어 컴포넌트를 인에이블링하는 분야의 당업자라면 아는 사항이다. 예를 들어, J. Richter, "Advanced Windows", 3rd Edition, Microsoft Press, 1997 및 A. Rubini, J. Corbet, "Linux Device Driver", 2nd Edition, O'Reilly, 2001을 참조한다.
웹 브라우저 네트워크 설정에의 프록시 콘텍스트 반영
프록시 콘텍스트, 가장 중요하게는 프록시 서버(204)의 IP 어드레스를 웹 브라우저에 반영하는 것은 시스템 프로그램 관련 업자에게 알려져 있다. 예를 들어, 마이크로소프트 윈도우TM 하에서, 프록시 서버(204)의 어드레스를 보유하는 윈도우 레지스트리에서 특정 키를 업데이트하는 관건이다. 또한, 브라우저로 하여금 프록시 서버(204)를 사용하도록 지시하는 특정 키가 우선 인에이블링되어야 하거나, 또는 프록시 서버(204)가 사라지는 경우 디스에이블되어야 한다. 끝으로, 웹 브라우저의 구성 유틸리티는 윈도우 레지스트리 키에 대해 이루어진 변경을 검출하기 위해 토글(toggle)되어야 한다.
일반적으로, 웹 브라우저, 및 다른 네트워크 애플리케이션은 다른 소프트웨어 컴포넌트가 그들의 구성 유틸리티를 토글하도록 허용하지 않는다. 따라서, 클 라이언트는 동일한 프록시를 계속해서 사용하며, 이 프록시는 사용자가 브라우저를 재개할 때까지 더 이상 최적의 프록시는 아니다. 이에 대한 해결책은 IP 프로토콜 레벨에서 네트워크 어드레스 변환(NAT)으로서 알려져 있는 기법을 사용하는 것이다. NAT 기능을 모든 패킷을 인터셉트하는 IP 소프트웨어 층에 삽입함으로써, NAT 기능은 적절한 프록시 IP 어드레스를 수동으로 삽입할 수 있다. 이렇게 하기 위해, NAT 기능은 또한 브라우저가 어느 포트를 사용하고 있는지를 알아서 NAT 기능이 브라우저에서 비롯된 패킷을 적절히 격리할 필요가 있다. TCP 포트 수 대 네트워크 애플리케이션의 매핑은 마이크로소프트 윈도우 레지스트리와 같은 임의의 운영 시스템의 구성 데이터베이스에서 쉽게 액세스가능하다
당업자라면, 웹 프록시는 이메일 프록시 또는 임의의 다른 네트워크 애플리케이션 프록시일 수 있다는 것을 알 것이다.
당업자라면, 프록시(204)는 액세스 포인트(206)에 통합될 수 있고, 프록시 서버(204)는 인트라넷(214) 또는 심지어 인터넷(210) 상의 임의의 곳에 배치될 수 있다는 것을 알 것이다. 전력을 줄이기 위해 중요한 사항은 무선 클라이언트(202)와 프록시 서버(204) 사이에 고속의 접속이 존재한다는 것이다. 따라서, 프록시 서버(204)가 존재하는 액세스 포인트(206)에 가까울수록, 클라이언트(202)와 프록시 서버(204) 사이의 접속 대역폭은 더 높아진다.
이제 도 6을 참조하면, 프록시 서버(204)는 클라이언트 유닛(202)에 지정된 데이터(또는 다른 정보)를 저장하는 버퍼(600)를 포함한다. 버퍼(600)는 버퍼 제어 프로그램(602)에 의해 제어되는 프록시 서버(204)의 시스템 메모리(RAM)의 일부 이다. 클라이언트 경보 프로그램(608)은 클라이언트에 프록시 서버(204)의 IP 어드레스 및 다른 성능을 알려준다. 버퍼 제어 프로그램(602) 및 클라이언트 경보 프로그램(608)은 프로세서(604) 상에서 실행되는 소프트웨어로서 구현될 수 있다. 입/출력(IO) 인터페이스(606)는 클라이언트 및 다른 정보 프로세싱 시스템과의 통신을 인에이블링할 것이다. 프록시 서버(204)는 네트워크 애플리케이션 레벨에서, 좀 더 구체적으로 층(5)에서 또한 개방형 상호접속 시스템(OSI) ISO 표준 위에서 동작한다. 바람직한 실시예에서, 웹 브라우저 애플리케이션을 가정한다. 따라서, 이 경우, 프록시 서버(204)는 원천 서버(212)로부터 웹 페이지 및 객체를 검색하는데 하이퍼텍스트 전송 프로토콜(HTTP)을 사용하는 웹 프록시이다. 유사하게, 클라이언트(202)는 HTTP를 사용하여 프록시 서버(204)로부터 웹 페이지 및 객체를 검색한다.
본 발명의 또 다른 실시예에 따라, 프록시 서버(204)는 클라이언트의 검출된 동작 파라미터에 기초하여 0보다 큰 기간 동안 클라이언트에 대해 버퍼링된 데이터의 적어도 일부분의 프로세싱을 지연시키도록 구성된 소프트웨어를 포함한다. 동작 파라미터는 클라이언트가 사용하는 장치, 예를 들어, 이동 전화기, 또는 무선 랩탑 또는 팜탑 또는 사용되는 운영 시스템의 유형을 포함한다. 프록시 서버(204)는 클라이언트(202)로부터 수신되는 신호를 분석함으로써 동작 파라미터를 검출할 수 있다. 이 파라미터는 예를 들어 메타데이터로 명백히 설명될 수 있고, 또는 수신된 신호의 유형(예를 들어 사용되는 프로토콜)으로부터 추론될 수 있다. 프록시 서버(204)는 검출된 파라미터에 따라 사전결정된 기간으로 프로세싱 지연을 조 정하도록 프로그래밍될 수 있다.
도 7은 본 발명의 실시예에 따라 무선 클라이언트(202)가 구성될 수 있는 방식을 도시한다. 무선 클라이언트(202)는 무선 주파수(RF) 송수신기(702), 프로세서(704), 프록시 서버 검출기 프로그램(706), 프록시 구성 프로그램(708), 및 클라이언트 구성 프로그램(710)을 포함하는 컴포넌트로 구성될 수 있다. 배터리(712)는 이 구성의 일부일 수 있다.
따라서, 하나 이상의 바람직한 실시예에 대해서 현재 설명하였지만, 당업자라면 본 발명의 사상 내에서 다른 수정이 이루어질 수 있음을 알 수 있을 것이다.

Claims (14)

  1. 프록시 서버 장치(a proxy server apparatus)로서,
    메모리 공간과,
    적어도 하나의 프로세서를 포함하되,
    상기 프로세서는
    클라이언트가 일정 어웨이크 모드(constant awake mode)일 때, 주 네트워크 인터페이스 상에서만 상기 클라이언트와 상호작용하고,
    상기 프록시 서버 장치보다 작은 대역폭을 갖는 원천(original) 서버로부터 상기 클라이언트에 대한 네트워크 애플리케이션 데이터를 사전 인출(prefetch)하며,
    상기 사전인출된 네트워크 애플리케이션 데이터를 상기 프록시 서버 장치 내의 상기 메모리 공간에서 항상 버퍼링하고,
    사전 결정된 조건이 발생할 때까지 상기 클라이언트에게 상기 네트워크 애플리케이션 데이터의 적어도 일부가 방출되는 것을 지연시킴으로써 전력 소비를 감소시키도록 구성되는
    프록시 서버 장치.
  2. 제 1 항에 있어서,
    상기 클라이언트로부터, 상기 프록시 서버 장치를 사용하기 위한 정보를 포함하는 클라이언트 구성 인스트럭션(client configuration instructions)을 수신하는 입력부를 더 포함하되,
    상기 메모리 공간은 상기 클라이언트 구성 인스트럭션을 저장하기 위한
    프록시 서버 장치.
  3. 제 1 항에 있어서,
    상기 사전 결정된 조건은 버퍼 임계값을 초과하는 조건, 애플리케이션 데이터 스트림이 종료되는 조건, 상기 클라이언트 이외의 소스로부터 적어도 하나의 객체를 수신하는 조건 및 지정된 기간이 종료되는 조건 중 하나를 포함하는
    프록시 서버 장치.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제 1 항에 있어서,
    상기 네트워크 애플리케이션 데이터는 이메일 데이터, 웹 페이지 데이터, 넷 미팅 데이터(net meeting data), 인스턴트 메시징 데이터 및 데이터베이스 동기화 데이터로 이루어져 있는 그룹 중 하나를 포함하는
    프록시 서버 장치.
  8. 삭제
  9. 제 1 항에 있어서,
    상기 프록시 서버 장치는 무선 네트워크에 대한 액세스 포인트와 통합되는
    프록시 서버 장치.
  10. 제 1 항에 있어서,
    상기 프록시 서버 장치는 다수의 클라이언트를 서비스하는
    프록시 서버 장치.
  11. 제 1 항에 있어서,
    네트워크 애플리케이션의 에뮬레이션을 위한 에뮬레이션 시스템을 더 포함하는
    프록시 서버 장치.
  12. 제 9 항에 있어서,
    상기 프록시 서버 장치는,
    상기 액세스 포인트의 네트워크 포트에 직접 접속되고, 그런 다음 인터넷에 접속되는 접속부를 포함하는
    프록시 서버 장치.
  13. 제 2 항에 있어서,
    상기 클라이언트 구성 인스트럭션은 상기 클라이언트로부터 생성되는
    프록시 서버 장치.
  14. 제 2 항에 있어서,
    상기 클라이언트 구성 인스트럭션은 상기 네트워크 애플리케이션 데이터의 방출을 위한 상기 적어도 하나의 사전 결정된 조건의 발생을 지정하는
    프록시 서버 장치.
KR1020057017685A 2003-04-21 2004-04-20 프록시 서버 장치 KR100872254B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/419,656 US20040255008A1 (en) 2003-04-21 2003-04-21 System for low power operation of wireless LAN
US10/419,656 2003-04-21

Publications (2)

Publication Number Publication Date
KR20060009237A KR20060009237A (ko) 2006-01-31
KR100872254B1 true KR100872254B1 (ko) 2008-12-05

Family

ID=33309553

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057017685A KR100872254B1 (ko) 2003-04-21 2004-04-20 프록시 서버 장치

Country Status (6)

Country Link
US (4) US20040255008A1 (ko)
EP (1) EP1616240A4 (ko)
KR (1) KR100872254B1 (ko)
CN (1) CN101069173B (ko)
TW (1) TWI351195B (ko)
WO (1) WO2004095193A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9021285B2 (en) 2011-06-22 2015-04-28 Samsung Electronics Co., Ltd. Computing device negotiating with a proxy device to control sleep mode and achieving energy saving

Families Citing this family (121)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4133459B2 (ja) * 2003-03-06 2008-08-13 シャープ株式会社 集線装置,ネットワーク対応装置,通信システム
US20040255008A1 (en) * 2003-04-21 2004-12-16 International Business Machines Corporation System for low power operation of wireless LAN
US7392316B2 (en) * 2003-06-30 2008-06-24 Microsoft Corporation Client to server streaming of multimedia content using HTTP
WO2005009004A1 (en) * 2003-07-11 2005-01-27 Computer Associates Think, Inc. Packet sniffer
EP1545051A1 (en) * 2003-12-15 2005-06-22 Alcatel Method for waking up a sleeping device, a related network element and a related waking device
US20050165909A1 (en) * 2003-12-19 2005-07-28 Cromer Daryl C. Data processing system and method for permitting a server to remotely access asset information of a mobile client
US8059580B2 (en) * 2004-05-14 2011-11-15 Hewlett-Packard Development Company, L.P. Internet micro cell
US7558289B1 (en) * 2004-06-17 2009-07-07 Marvell International Ltd. Method and apparatus for providing quality of service (QOS) in a wireless local area network
US7505443B2 (en) * 2004-06-24 2009-03-17 Kapsch Trafficcom Inc. System and method for broadcasting application-specific information in wireless local area networks
DE102004040406B4 (de) * 2004-08-19 2008-07-31 Nec Europe Ltd. Verfahren zur Verbesserung der Dienstgüte (QoS) in einem drahtlosen Netzwerk
US8117299B2 (en) * 2005-01-18 2012-02-14 Lenovo (Singapore) Pte. Ltd. Method and apparatus for scheduling wireless LAN traffic
US7707291B2 (en) * 2005-02-01 2010-04-27 Nokia Corporation Handling incoming data
FI20055046A0 (fi) * 2005-02-01 2005-02-01 Nokia Corp Tulevan datan käsittely
GB2423219B (en) * 2005-02-10 2007-04-18 Motorola Inc A network proxy client, a communication system and a method for providing a service between a server and an end client
US7631202B2 (en) * 2005-03-29 2009-12-08 Microsoft Corporation Power management of wireless local area network interface devices
US20060285494A1 (en) * 2005-06-17 2006-12-21 Intel Corporation Dynamic link speed control
KR100691447B1 (ko) * 2005-11-23 2007-03-09 삼성전기주식회사 무선랜 스테이션의 수신 모드 제어 방법
US7558604B2 (en) * 2005-11-25 2009-07-07 Lenovo (Singapore) Pte. Ltd. Method and apparatus for remote discovery of client and access point settings in a wireless LAN
US20070124608A1 (en) * 2005-11-30 2007-05-31 Intel Corporation System and method for managing power of networked devices
US8433820B2 (en) * 2006-02-10 2013-04-30 Research In Motion Limited Method and system for conserving battery power in wireless devices operating in a wireless local area network
US20070230418A1 (en) * 2006-03-31 2007-10-04 Nokia Corporation Triggering rule for energy efficient data delivery
US7630331B2 (en) * 2006-09-27 2009-12-08 Broadcom Corporation Power control techniques for wireless devices
US20080095099A1 (en) * 2006-10-18 2008-04-24 Alex Kesselman Apparatus, system and method adapted to filter out redundant TCP ACKs in wireless networks
US7848271B2 (en) 2007-06-26 2010-12-07 Research In Motion Limited System and method for conserving power for a wireless device while maintaining a connection to a network
US8295277B2 (en) * 2007-06-29 2012-10-23 Cisco Technology, Inc. Analyzing a network with a cache advance proxy
US8155054B2 (en) * 2007-07-30 2012-04-10 Aruba Networks, Inc. Supporting idle stations in wireless distribution systems
US9558097B2 (en) 2007-11-13 2017-01-31 Red Hat, Inc. Automated recording and playback of application interactions
US8849944B2 (en) * 2007-11-27 2014-09-30 Red Hat, Inc. Multi-use application proxy
US8306018B2 (en) * 2008-02-04 2012-11-06 Siemens Enterprise Communications, Inc. Energy star compliant voice over internet protocol (VoIP) telecommunications network including energy star compliant VoIP devices
US7949588B2 (en) * 2008-02-29 2011-05-24 Ethan Willis Marketing and delivering financial coaching services
US20090240794A1 (en) * 2008-03-20 2009-09-24 Huaiyu Liu Techniques utilizing a layer-2 proxy for energy-efficient service discovery and connectivity in networks
CN101562871B (zh) * 2008-04-18 2011-09-28 鸿富锦精密工业(深圳)有限公司 移动台及其防攻击的方法
US8406748B2 (en) 2009-01-28 2013-03-26 Headwater Partners I Llc Adaptive ambient services
US8832777B2 (en) 2009-03-02 2014-09-09 Headwater Partners I Llc Adapting network policies based on device service processor configuration
US8548428B2 (en) 2009-01-28 2013-10-01 Headwater Partners I Llc Device group partitions and settlement platform
US8589541B2 (en) 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
US8391834B2 (en) 2009-01-28 2013-03-05 Headwater Partners I Llc Security techniques for device assisted services
US8402111B2 (en) 2009-01-28 2013-03-19 Headwater Partners I, Llc Device assisted services install
US8346225B2 (en) 2009-01-28 2013-01-01 Headwater Partners I, Llc Quality of service for device assisted services
US8630192B2 (en) 2009-01-28 2014-01-14 Headwater Partners I Llc Verifiable and accurate service usage monitoring for intermediate networking devices
US8340634B2 (en) 2009-01-28 2012-12-25 Headwater Partners I, Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US8635335B2 (en) 2009-01-28 2014-01-21 Headwater Partners I Llc System and method for wireless network offloading
US8626115B2 (en) 2009-01-28 2014-01-07 Headwater Partners I Llc Wireless network service interfaces
US8275830B2 (en) 2009-01-28 2012-09-25 Headwater Partners I Llc Device assisted CDR creation, aggregation, mediation and billing
JP5587884B2 (ja) 2008-08-06 2014-09-10 モービック・ネットワークス 無線アクセスネットワーク(ran)におけるコンテンツのキャッシング
TW201008234A (en) * 2008-08-12 2010-02-16 Acer Inc Energy-saving method for handheld Internet accessing device, the handheld Internet accessing device, and the real-time message system
US8793758B2 (en) 2009-01-28 2014-07-29 Headwater Partners I Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US9351193B2 (en) 2009-01-28 2016-05-24 Headwater Partners I Llc Intermediate networking devices
US10484858B2 (en) 2009-01-28 2019-11-19 Headwater Research Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US9706061B2 (en) 2009-01-28 2017-07-11 Headwater Partners I Llc Service design center for device assisted services
US9565707B2 (en) 2009-01-28 2017-02-07 Headwater Partners I Llc Wireless end-user device with wireless data attribution to multiple personas
US10779177B2 (en) 2009-01-28 2020-09-15 Headwater Research Llc Device group partitions and settlement platform
US9270559B2 (en) 2009-01-28 2016-02-23 Headwater Partners I Llc Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow
US10064055B2 (en) 2009-01-28 2018-08-28 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US8745191B2 (en) 2009-01-28 2014-06-03 Headwater Partners I Llc System and method for providing user notifications
US11985155B2 (en) 2009-01-28 2024-05-14 Headwater Research Llc Communications device with secure data path processing agents
US10057775B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US9755842B2 (en) 2009-01-28 2017-09-05 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US10841839B2 (en) 2009-01-28 2020-11-17 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US10783581B2 (en) 2009-01-28 2020-09-22 Headwater Research Llc Wireless end-user device providing ambient or sponsored services
US9578182B2 (en) 2009-01-28 2017-02-21 Headwater Partners I Llc Mobile device and service management
US9954975B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Enhanced curfew and protection associated with a device group
US11218854B2 (en) 2009-01-28 2022-01-04 Headwater Research Llc Service plan design, user interfaces, application programming interfaces, and device management
US10326800B2 (en) 2009-01-28 2019-06-18 Headwater Research Llc Wireless network service interfaces
US9253663B2 (en) 2009-01-28 2016-02-02 Headwater Partners I Llc Controlling mobile device communications on a roaming network based on device state
US9572019B2 (en) 2009-01-28 2017-02-14 Headwater Partners LLC Service selection set published to device agent with on-device service selection
US10492102B2 (en) 2009-01-28 2019-11-26 Headwater Research Llc Intermediate networking devices
US11973804B2 (en) 2009-01-28 2024-04-30 Headwater Research Llc Network service plan design
US10798252B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc System and method for providing user notifications
US10264138B2 (en) 2009-01-28 2019-04-16 Headwater Research Llc Mobile device and service management
US9647918B2 (en) 2009-01-28 2017-05-09 Headwater Research Llc Mobile device and method attributing media services network usage to requesting application
US9955332B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Method for child wireless device activation to subscriber account of a master wireless device
US9557889B2 (en) 2009-01-28 2017-01-31 Headwater Partners I Llc Service plan design, user interfaces, application programming interfaces, and device management
US10248996B2 (en) 2009-01-28 2019-04-02 Headwater Research Llc Method for operating a wireless end-user device mobile payment agent
US10237757B2 (en) 2009-01-28 2019-03-19 Headwater Research Llc System and method for wireless network offloading
US9571559B2 (en) 2009-01-28 2017-02-14 Headwater Partners I Llc Enhanced curfew and protection associated with a device group
US10715342B2 (en) 2009-01-28 2020-07-14 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US10200541B2 (en) 2009-01-28 2019-02-05 Headwater Research Llc Wireless end-user device with divided user space/kernel space traffic policy system
US9858559B2 (en) 2009-01-28 2018-01-02 Headwater Research Llc Network service plan design
US9392462B2 (en) 2009-01-28 2016-07-12 Headwater Partners I Llc Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy
US9980146B2 (en) 2009-01-28 2018-05-22 Headwater Research Llc Communications device with secure data path processing agents
CN102282550A (zh) * 2009-01-30 2011-12-14 莫维克网络公司 应用和使用以及无线链路感知传输网络调度程序
US8488501B2 (en) 2009-01-30 2013-07-16 Microsoft Corporation Network assisted power management
US8892631B2 (en) 2009-04-09 2014-11-18 International Business Machines Corporation System and method of optimizing digital media processing in a carrier grade web portal environment
US20110116483A1 (en) * 2009-11-13 2011-05-19 Yong Sang Lee Tcp data throughout enhancement for wlan clients on a wireless lan router
CN101998682A (zh) * 2009-08-27 2011-03-30 中兴通讯股份有限公司 一种个人网设备获取业务内容的装置、方法及相关装置
EP2483875A4 (en) * 2009-09-29 2013-12-11 Savi Techn Inc DEVICE AND METHOD FOR ADVANCED COMMUNICATION IN WIRELESS LOW-POWER APPLICATIONS
CN102550006A (zh) * 2010-02-12 2012-07-04 莫维克网络公司 移动网络中的无线接入网络缓存
EP2540124A4 (en) * 2010-02-22 2017-05-17 Samsung Electronics Co., Ltd Method and apparatus for device synchronization and power conservation in a wireless communication system
WO2011115965A1 (en) * 2010-03-15 2011-09-22 Movik Networks Adaptive chunked and content-aware pacing of multi-media delivery over http transport and network controlled bit rate selection
US8799480B2 (en) * 2010-07-19 2014-08-05 Movik Networks Content pre-fetching and CDN assist methods in a wireless mobile network
US8565076B2 (en) 2010-09-24 2013-10-22 Movik Networks Destination learning and mobility detection in transit network device in LTE and UMTS radio access networks
EP2575383A4 (en) * 2011-04-26 2013-06-26 Huawei Device Co Ltd METHOD AND SERVER FOR SERVICE PROCESSING
EP2719122B1 (en) * 2011-06-09 2015-07-08 Koninklijke Philips N.V. Method for configuring a network
JP5774429B2 (ja) * 2011-09-28 2015-09-09 株式会社東芝 通信装置および通信方法、ならびに、プログラム
US20130109314A1 (en) * 2011-10-27 2013-05-02 Nokia Corporation Method, apparatus, and computer program product for stopping reception of discovery responses in wireless networks
CN103138959A (zh) * 2011-11-24 2013-06-05 华为技术有限公司 网络通信设备的节能方法、装置和系统
CN108174435A (zh) * 2011-11-25 2018-06-15 班德韦斯克公司 用于为移动无线装置提供智能网络接入选择的系统
CN103297917A (zh) * 2012-03-02 2013-09-11 华为终端有限公司 基于无线局域网络的信息推送方法、装置及系统
US9338233B2 (en) * 2012-03-10 2016-05-10 Headwater Partners Ii Llc Distributing content by generating and preloading queues of content
US9503510B2 (en) 2012-03-10 2016-11-22 Headwater Partners Ii Llc Content distribution based on a value metric
WO2013170903A1 (en) * 2012-05-18 2013-11-21 Telefonaktiebolaget L M Ericsson (Publ) Providing data to a network terminal
JP5768017B2 (ja) * 2012-07-25 2015-08-26 株式会社東芝 通信端末、通信方法および通信プログラム
KR102036579B1 (ko) 2012-11-09 2019-10-28 삼성전자주식회사 무선 통신 시스템에서 웹 서비스 제공 방법 및 장치
US9584411B2 (en) 2012-12-06 2017-02-28 Qualcomm Incorporated Power save mechanism for low-power network devices
WO2014159862A1 (en) 2013-03-14 2014-10-02 Headwater Partners I Llc Automated credential porting for mobile devices
US9826464B2 (en) 2013-03-26 2017-11-21 Bandwidthx Inc. Systems and methods for establishing wireless connections based on access conditions
WO2014200631A1 (en) 2013-06-11 2014-12-18 Seven Networks, Inc. Optimizing keepalive and other background traffic in a wireless network
US9065765B2 (en) * 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US10187319B1 (en) * 2013-09-10 2019-01-22 Instart Logic, Inc. Automatic configuration generation for a proxy optimization server for optimizing the delivery of content of a web publisher
EP2930899B1 (en) * 2013-12-27 2020-04-22 Huawei Technologies Co., Ltd. Tcp link configuration method and apparatus
US9787564B2 (en) 2014-08-04 2017-10-10 Cisco Technology, Inc. Algorithm for latency saving calculation in a piped message protocol on proxy caching engine
WO2016077396A1 (en) * 2014-11-10 2016-05-19 APS Technology 1 LLC Improving network throughput
CN105050164A (zh) * 2015-01-16 2015-11-11 中国矿业大学 基于数据重要性的降低wifi功耗方法
US10069928B1 (en) * 2015-01-21 2018-09-04 Amazon Technologies, Inc. Translating requests/responses between communication channels having different protocols
CN105391872B (zh) * 2015-10-13 2019-01-18 北京大学 基于重构技术实现多应用网络请求能耗优化的方法
WO2018125704A1 (en) 2016-12-27 2018-07-05 Bandwidthx Inc. Radio management based on user intervention
US10194382B2 (en) 2016-12-27 2019-01-29 Bandwidthx Inc. Auto-discovery of amenities
US11418604B2 (en) * 2018-06-07 2022-08-16 Hewlett-Packard Development Company, L.P. Local servers to manage storage across client devices in an intermittent network
BR112020021747A2 (pt) 2018-06-07 2021-01-26 Hewlett-Packard Development Company, L.P. servidores locais para gerenciar configurações de proxy em redes intermitentes
US11528342B2 (en) * 2019-10-02 2022-12-13 APS Technology 1 LLC Invoking a random linear network coding communications protocol

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991287A (en) * 1996-12-30 1999-11-23 Lucent Technologies, Inc. System and method for providing seamless handover in a wireless computer network
US7269629B2 (en) * 2002-12-30 2007-09-11 Intel Corporation Method and apparatus for distributing notification among cooperating devices and device channels

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9304622D0 (en) * 1993-03-06 1993-04-21 Ncr Int Inc Wireless local area network apparatus
GB9304638D0 (en) * 1993-03-06 1993-04-21 Ncr Int Inc Wireless data communication system having power saving function
US5625882A (en) * 1994-03-01 1997-04-29 Motorola, Inc. Power management technique for determining a device mode of operation
US5809523A (en) * 1996-03-28 1998-09-15 Sun Microsystems, Inc. System and method for determining relative cache performance in a computer system
US5794146A (en) * 1996-08-14 1998-08-11 Sharp Microelectronics Technology, Inc. System and method for conserving battery power in a mobile station searching to select a serving cell
US5948066A (en) * 1997-03-13 1999-09-07 Motorola, Inc. System and method for delivery of information over narrow-band communications links
DE69827638T2 (de) * 1997-08-06 2005-12-01 Tachyon, Inc., San Diego Verteiltes system und verfahren zum objektvorabholen
US6393526B1 (en) * 1997-10-28 2002-05-21 Cache Plan, Inc. Shared cache parsing and pre-fetch
US7437725B1 (en) * 1999-01-04 2008-10-14 General Electric Company Processing techniques for servers handling client/server traffic and communications
US20030020758A1 (en) * 1998-04-06 2003-01-30 Larry W. Hinderks Dynamically alterable computer network banner and method of use
US7025209B2 (en) * 1998-05-29 2006-04-11 Palmsource, Inc. Method and apparatus for wireless internet access
US6438585B2 (en) * 1998-05-29 2002-08-20 Research In Motion Limited System and method for redirecting message attachments between a host system and a mobile data communication device
US7209949B2 (en) * 1998-05-29 2007-04-24 Research In Motion Limited System and method for synchronizing information between a host system and a mobile data communication device
US7689721B2 (en) * 1998-05-29 2010-03-30 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device
US6285892B1 (en) * 1998-11-24 2001-09-04 Philips Electronics North America Corp. Data transmission system for reducing terminal power consumption in a wireless network
US7110976B2 (en) * 2000-08-22 2006-09-19 Scott Allen Heimermann Centralized, requisition-driven, order formulating, e-procurement method using reverse auction
US6862630B1 (en) * 2000-08-23 2005-03-01 Advanced Micro Devices, Inc. Network transmitter with data frame priority management for data transmission
US6772123B2 (en) * 2000-11-30 2004-08-03 3Com Corporation Method and system for performing speech recognition for an internet appliance using a remotely located speech recognition application
US6785542B1 (en) * 2001-02-28 2004-08-31 Palm Source, Inc. Resource proxy for mobile wireless electronic devices
US7099346B1 (en) * 2001-05-15 2006-08-29 Golden Bridge Technology, Inc. Channel capacity optimization for packet services
US7154903B2 (en) * 2001-10-19 2006-12-26 Telefonaktiebolaget Lm Ericsson (Publ) System and method for management of data associated with a dormant mobile terminal
US7126945B2 (en) * 2001-11-07 2006-10-24 Symbol Technologies, Inc. Power saving function for wireless LANS: methods, system and program products
KR100456022B1 (ko) * 2001-11-20 2004-11-08 한국전자통신연구원 비피씨 정보단말을 위한 엑스엠엘 기반 웹 페이지 제공방법 및 그 시스템
US7222175B2 (en) * 2002-02-28 2007-05-22 Intel Corporation Dynamically configurable beacon intervals for wireless LAN access points
US7162513B1 (en) * 2002-03-27 2007-01-09 Danger, Inc. Apparatus and method for distributing electronic messages to a wireless data processing device using a multi-tiered queuing architecture
US20030225885A1 (en) * 2002-05-31 2003-12-04 Comverse, Ltd. Caching for limited bandwidth networks
US7051236B2 (en) * 2002-06-13 2006-05-23 Dell Products L.P. Wirelessly network-connected, battery-powered information handling system featuring prevention of data corruption after wake-up by a network event
US7400912B2 (en) * 2002-10-10 2008-07-15 Symbol Technologies, Inc. Wlan communications system
US7693117B2 (en) * 2002-12-16 2010-04-06 Avaya Inc. Power-saving mechanism for periodic traffic streams in wireless local-area networks
US7613160B2 (en) * 2002-12-24 2009-11-03 Intel Corporation Method and apparatus to establish communication with wireless communication networks
US7199783B2 (en) * 2003-02-07 2007-04-03 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Wake-up detection method and apparatus embodying the same
US7123601B2 (en) * 2003-02-27 2006-10-17 Nokia Corporation Fast mobile originated call in slotted mode
US20040255008A1 (en) * 2003-04-21 2004-12-16 International Business Machines Corporation System for low power operation of wireless LAN
TWI293842B (en) * 2005-07-25 2008-02-21 Ind Tech Res Inst Method of reducing call establishment delay in wireless network
JP4640812B2 (ja) * 2005-09-29 2011-03-02 株式会社エヌ・ティ・ティ・ドコモ 無線通信装置及び無線通信方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991287A (en) * 1996-12-30 1999-11-23 Lucent Technologies, Inc. System and method for providing seamless handover in a wireless computer network
US7269629B2 (en) * 2002-12-30 2007-09-11 Intel Corporation Method and apparatus for distributing notification among cooperating devices and device channels

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9021285B2 (en) 2011-06-22 2015-04-28 Samsung Electronics Co., Ltd. Computing device negotiating with a proxy device to control sleep mode and achieving energy saving

Also Published As

Publication number Publication date
US20040255008A1 (en) 2004-12-16
CN101069173A (zh) 2007-11-07
US7752330B2 (en) 2010-07-06
US20080052548A1 (en) 2008-02-28
WO2004095193A2 (en) 2004-11-04
TW200536305A (en) 2005-11-01
WO2004095193A3 (en) 2007-06-14
TWI351195B (en) 2011-10-21
CN101069173B (zh) 2010-06-23
EP1616240A2 (en) 2006-01-18
KR20060009237A (ko) 2006-01-31
US20080046547A1 (en) 2008-02-21
US20080052366A1 (en) 2008-02-28
EP1616240A4 (en) 2012-01-04

Similar Documents

Publication Publication Date Title
KR100872254B1 (ko) 프록시 서버 장치
US8117299B2 (en) Method and apparatus for scheduling wireless LAN traffic
US7558604B2 (en) Method and apparatus for remote discovery of client and access point settings in a wireless LAN
US6961309B2 (en) Adaptive TCP delayed acknowledgment
US8326985B2 (en) Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
CA2798523C (en) Aligning data transfer to optimize connections established for transmission over a wireless network
US8782222B2 (en) Timing of keep-alive messages used in a system for mobile network resource conservation and optimization
US7940665B2 (en) Transparent optimization for transmission control protocol flow control
US7627674B2 (en) Speculative prefetch of protocol control information from an external memory unit
US7292533B2 (en) System and method for controlling data transmission adapted for grid computing and computer readable recording medium of recording process thereof
US20120137029A9 (en) Dma (direct memory access) coalescing
US20050213507A1 (en) Dynamically provisioning computer system resources
GB2499747A (en) Adjusting a polling interval for a first service based on a polling interval of a second service to align traffic received from distinct hosts
Ehsan et al. Evaluation of performance enhancing proxies in internet over satellite
Yan et al. Client-centered energy and delay analysis for TCP downloads
US20230280812A1 (en) Power management device, power management system, power management method, and power management program
Yan et al. Client-centered energy savings for concurrent HTTP connections
Arunachalam et al. Low power TCP for enhanced battery life in mobile devices
EP1744495B1 (en) Round trip time estimation
Kim et al. An energy‐aware transmission mechanism for WiFi‐based mobile devices handling upload TCP traffic
US20060031474A1 (en) Maintaining reachability measures
Roşu et al. The power-aware streaming proxy architecture
Yan et al. Ace: An active, client-directed method for reducing energy during web browsing
Agarwal Conserving energy in TCP for mobile ad-hoc networks

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee