KR101365260B1 - 동적 모바일 애플리케이션 서비스 품질 모니터링 및 보고 - Google Patents

동적 모바일 애플리케이션 서비스 품질 모니터링 및 보고 Download PDF

Info

Publication number
KR101365260B1
KR101365260B1 KR1020127015291A KR20127015291A KR101365260B1 KR 101365260 B1 KR101365260 B1 KR 101365260B1 KR 1020127015291 A KR1020127015291 A KR 1020127015291A KR 20127015291 A KR20127015291 A KR 20127015291A KR 101365260 B1 KR101365260 B1 KR 101365260B1
Authority
KR
South Korea
Prior art keywords
mobile
application
network
mobile application
service
Prior art date
Application number
KR1020127015291A
Other languages
English (en)
Other versions
KR20120093360A (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 KR20120093360A publication Critical patent/KR20120093360A/ko
Application granted granted Critical
Publication of KR101365260B1 publication Critical patent/KR101365260B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/06Testing, supervising or monitoring using simulated traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 개시의 실시예들에 따르면, 모바일 네트워크와 결합된 모바일 장치에서 실행되는 모바일 애플리케이션에 대한 서비스 품질을 결정하기 위한 프로세스가 제시된다. 프로세스는 애플리케이션 계층 수준에서, 모바일 네트워크를 통하여 통신하는 모바일 애플리케이션의 네트워크 사용 패턴을 모니터링하도록 구현될 수 있다. 프로세스는 모바일 네트워크를 통하여 테스트 데이터를 송신하거나 수신함으로써 모바일 애플리케이션의 네트워크 사용 패턴을 에뮬레이팅할 수 있다. 그리고 프로세스는 송신되거나 수신되는 테스트 데이터를 분석함으로써 모바일 애플리케이션에 대한 서비스 품질을 결정할 수 있다.

Description

동적 모바일 애플리케이션 서비스 품질 모니터링 및 보고{DYNAMIC MOBILE APPLICATION QUALITY-OF-SERVICE MONITORING AND REPORTING}
본 개시는 일반적으로 모바일 기술(mobile technology)에 관련되고, 더 구체적으로는 동적 모바일 애플리케이션 서비스 품질(quality-of-service) 모니터링(monitoring) 및 보고 방법 및 시스템에 관련된다.
여기에서 달리 명시되지 않는 한, 본 섹션에서 기술되는 접근법은 본 출원의 청구항의 선행기술이 아니며 본 섹션에 포함함으로써 선행기술로 인정되지 않는다.
컴퓨터 네트워킹의 분야에서, 제한된 양의 네트워크 자원을, 그러한 네트워크 자원을 요청하는 가능한 많은 네트워크 애플리케이션에 제공하도록 할당하기 위한 다양한 접근법이 있다. 예를 들어, 네트워크 애플리케이션은 통신 세션(communication session)과 연관된 비트 에러 확률(bit error probability), 패킷 드롭(packet drop), 지터(jitter) 또는 임의의 잠재적 지연이 특정 수준 이하라는 보장, 및 특정 양의 네트워크 처리량(throughput)을 요구할 수 있다. 빈번하게, 네트워크 애플리케이션이 적절히 기능하기 위하여 요구들 중 적어도 일부가 만족되어야 한다. 달리 말하여, 높은 비트율(bit rate)이 네트워크 애플리케이션(예컨대, 비디오 스트리밍 애플리케이션)에서 이용가능하더라도, 높은 수준의 지터 또는 비트 에러를 가지는 것과 같이, 제공된 서비스의 품질이 열악하면 네트워크 애플리케이션은 여전히 적절히 동작하는데 실패할 수 있다. 그러한 네트워크 애플리케이션에 대하여 높은 수준의 성능 및 서비스 품질을 보장하기 위하여, 단지 연관된 통신 세션의 제한된 양상을 시험하는 것은 성능 및 서비스 품질에 영향을 주는 문제를 찾거나 다루는데에 충분하지 않을 수 있다.
본 개시의 일 실시예는 일반적으로 모바일 네트워크와 결합된 모바일 장치에서 실행되는 모바일 애플리케이션에 대한 서비스 품질을 결정하기 위한 방법과 관련될 수 있다. 일 예시적인 방법은, 애플리케이션 계층 수준(application layer level)에서, 모바일 네트워크를 통하여 통신하는 모바일 애플리케이션의 네트워크 사용 패턴을 모니터링하는 단계, 모바일 네트워크를 통하여 테스트 데이터를 송신 또는 수신함에 의해 모바일 애플리케이션의 네트워크 사용 패턴을 에뮬레이팅(emulating)하는 단계, 및 송신 또는 수신된 테스트 데이터를 분석함에 의해 모바일 애플리케이션에 대한 서비스 품질을 결정하는 단계를 포함할 수 있다.
본 개시의 다른 실시예는 일반적으로 모바일 네트워크와 결합된 모바일 장치에서 실행되는 모바일 애플리케이션에 대한 서비스 품질을 결정하기 위한 방법에 관련될 수 있다. 일 예시적인 방법은, 모바일 장치로부터, 네트워크 송신 메커니즘을 이용하여 모바일 네트워크로부터 애플리케이션 데이터를 수신하는 모바일 애플리케이션을 에뮬레이팅하기 위한 제1 요청을 수신하는 단계, 네트워크 송신 메커니즘을 이용하여 모바일 장치에 테스트 데이터의 제1 집합을 송신하는 단계, 및 테스트 데이터의 제1 집합의 송신에 기초하여 모바일 애플리케이션에 대한 서비스 품질을 모바일 장치로부터 수신하는 단계를 포함할 수 있다.
본 개시의 또 다른 실시예는 일반적으로 모바일 장치에서 실행되는 모바일 애플리케이션에 대한 서비스 품질을 결정하도록 구성된 시스템에 관련될 수 있다. 일 예시적인 시스템은 모바일 장치에서 실행되는 모니터링 애플리케이션과 모바일 네트워크에 연결된 모니터링 시스템을 포함할 수 있다. 일 예시적인 모니터링 애플리케이션은 모바일 네트워크를 통하여 통신하는 모바일 애플리케이션의 네트워크 사용 패턴을 모니터링하도록 구성될 수 있고, 네트워크 사용 패턴은 모바일 애플리케이션이 애플리케이션 데이터를 모바일 네트워크로 송신하는지 또는 모바일 네트워크로부터 수신하는지를 나타내며, 모니터링 애플리케이션은 모니터링 시스템으로부터 테스트 데이터의 제1 집합을 수신함에 의하여 애플리케이션 데이터를 수신함에 있어서의 모바일 애플리케이션을 에뮬레이팅하며, 모니터링 애플리케이션은 수신된 테스트 데이터의 제1 집합을 분석하는 것에 의하여 모바일 애플리케이션에 대한 서비스 품질을 결정한다.
전술한 요약은 예시적인 것일 뿐이고, 어떤 방식으로든 제한을 의도한 것은 아니다. 상술한 예시적인 태양, 실시예 및 특징들에 더하여, 추가의 태양, 실시예 및 특징들은 도면과 이하의 상세한 설명을 참조함으로써 분명하게 될 것이다.
본 개시에서 전술한 특징들 및 기타 특징들은, 첨부 도면을 참조하여 이하의 설명 및 첨부된 청구항으로부터 충분히 분명해질 것이다. 이 도면들은 본 개시에 따르는 단지 몇 가지의 실시예만을 도시한 것이고, 따라서 그 범위를 제한하는 것으로 간주되어서는 안된다. 본 개시는 첨부된 도면의 사용을 통하여, 더 구체적이고 상세하게 기술될 것이다.
도 1은 모바일 모니터링 애플리케이션 및 애플리케이션 경험 모니터링 시스템(application experience monitoring system)이 모바일 애플리케이션에 대한 서비스 품질을 결정하도록 구현될 수 있는 운용 환경을 예시하는 블록도이고;
도 2a는 모바일 모니터링 애플리케이션 및 애플리케이션 경험 모니터링 시스템에 의해 활용될 수 있는 네트워크 통신 프로토콜 스택(network communication protocol stack)을 예시하고;
도 2b는 모바일 애플리케이션에 대한 서비스 품질을 결정하는 시나리오(scenario)를 예시하고;
도 3은 모바일 모니터링 애플리케이션에 의해 모바일 애플리케이션 서비스 품질을 결정하기 위한 프로세스(process)를 예시하는 흐름도이고;
도 4는 애플리케이션 경험 모니터링 시스템에 의한 모바일 애플리케이션 서비스 품질을 수신하기 위한 프로세스를 예시하는 흐름도이며; 모두 본 개시의 적어도 일부 실시예에 따라 배열된다.
본 개시의 일 실시예에 따르면, 모바일 네트워크와 결합된 모바일 장치에서 실행되는 모바일 애플리케이션에 대한 서비스 품질을 결정하기 위한 방법은, 애플리케이션 계층 수준에서, 모바일 네트워크를 통하여 통신하는 모바일 애플리케이션의 네트워크 사용 패턴을 모니터링하는 단계; 모바일 네트워크를 통하여 테스트 데이터를 송신하거나 수신함에 의하여 모바일 애플리케이션의 네트워크 사용 패턴을 에뮬레이팅하는 단계; 및 송신 또는 수신된 테스트 데이터를 분석함에 의하여 모바일 애플리케이션에 대한 서비스 품질을 결정하는 단계를 포함한다.
본 개시의 다른 실시예에 따르면, 모바일 네트워크와 결합된 모바일 장치에서 실행되는 모바일 애플리케이션에 대한 서비스 품질을 결정하기 위한 방법은, 모바일 네트워크를 통하여 통신하는 모바일 애플리케이션의 네트워크 사용 패턴을 수신하는 단계 - 네트워크 사용 패턴은 모바일 애플리케이션이 애플리케이션 데이터를 모바일 네트워크로 송신하는지 또는 모바일 네트워크로부터 수신하는지를 나타냄 -; 모바일 애플리케이션이 모바일 네트워크로부터 애플리케이션 데이터를 수신한다고 결정하면, 테스트 데이터의 제1 집합을 모바일 장치로 송신함에 의해 모바일 애플리케이션의 네트워크 사용 패턴을 에뮬레이팅하는 단계; 모바일 장치로부터, 테스트 데이터의 제1 집합에 대응하는 테스트 데이터의 제2 집합을 수신하는 단계; 및 테스트 데이터의 제1 집합 및 테스트 데이터의 제2 집합을 분석함에 의해 모바일 애플리케이션에 대한 서비스 품질을 결정하는 단계를 포함한다.
본 개시의 추가적인 실시예에 따르면, 모바일 장치에서 실행되는 모바일 애플리케이션에 대한 서비스 품질을 결정하도록 구성된 시스템은, 모바일 네트워크와 연결된 모니터링 시스템; 및 모바일 네트워크를 통하여 통신하는 모바일 애플리케이션의 네트워크 사용 패턴을 모니터링하기 위한 모바일 장치에서 실행되는 모니터링 애플리케이션을 포함하고, 네트워크 사용 패턴은 애플리케이션 데이터를 모바일 네트워크로 송신하는지 또는 모바일 네트워크로부터 수신하는지를 나타내고, 모니터링 애플리케이션은 모니터링 시스템으로부터 테스트 데이터의 제1 집합을 수신함에 의하여 애플리케이션 데이터를 수신함에 있어서의 모바일 애플리케이션을 에뮬레이팅하며, 모니터링 애플리케이션은 수신된 테스트 데이터의 제1 집합을 분석함에 의하여 모바일 애플리케이션에 대한 서비스 품질을 결정한다.
이하의 상세한 설명에서, 여기의 일부를 구성하는 첨부 도면에 대한 참조가 이루어진다. 도면에서, 유사한 부호는, 문맥에서 다른 지시가 없다면, 일반적으로 유사한 구성요소를 식별한다. 상세한 설명, 도면, 및 청구항에서 기술된 예시적인 실시예들은 제한하는 것으로 의미되지 않는다. 여기에 제시된 대상의 범위와 사상을 벗어나지 않고, 다른 실시예가 이용될 수 있고, 다른 변형이 이루어질 수 있다. 여기에서 일반적으로 기술되고 도면에서 도시된 바와 같은 본 개시의 태양들이 다양한 다른 구성으로 배열, 대체, 조합, 및 설계될 수 있음과, 이 모두가 여기에서 명확히 고려되고 본 개시의 일부가 됨이 쉽게 이해될 것이다.
본 개시는, 그 중에서도, 동적인 모바일 애플리케이션 서비스 품질 모니터링 및 보고에 관련된 방법, 장치, 컴퓨터 프로그램 및 시스템에 관한 것이다. 본 개시에 걸쳐, "서비스 품질" 또는 "QoS"라는 용어는 상이한 네트워크 세그먼트(network segment)(접속(access), 메트로(metro), 및 코어(core) 세그먼트) 상의 패킷 손실, 지연, 비트 에러율(bit error ratio), 신호 대 잡음비(signal to noise ratio), 대역폭(bandwidth) 및 기타 성능 측정치(performance measurement)에 관련된 네트워크 통신의 품질의 결정에 넓게 관련 있을 수 있다. 즉, 컴퓨팅 장치(computing device)에서 실행되는 애플리케이션에 대한 서비스 품질은 그러한 애플리케이션에 연관된 네트워크 통신의 품질에 대응할 수 있다.
예를 들어, 모바일 애플리케이션은 데이터를 송신하거나 수신하는 동안의 낮은 패킷 손실, 낮은 지연, 낮은 비트 에러율, 높은 신호 대 잡음비 및/또는 통신 데이터를 송신하기에 충분한 대역폭이 있을 때, 높은 서비스 품질을 가질 수 있다. 인터넷 전화(Voice over IP(VoIP)), 온라인 비디오, 또는 온라인 게임 등과 같은, 많은 실시간 스트리밍 멀티미디어 애플리케이션(real-time streaming multimedia application)은 애플리케이션이 바람직한 사용자 경험(user experience)을 제공하도록 특정 수준의 서비스 품질을 보장할 수 있는 네트워크를 요구할 수 있다. 또한, 네트워크 애플리케이션의 관점에서 특정한 네트워크 통신에 대한 서비스 품질을 결정함으로써, 많은 실제적이거나 잠재적인 네트워크 문제가 신속하게 식별되거나 예견될 수 있고, 결과적으로 문제가 고쳐지면 네트워크 애플리케이션에 대한 더 나은 서비스 품질로 이끌 수 있다.
본 개시의 적어도 일부 실시예에 따르면, 모바일 네트워크와 결합된 모바일 장치에서 실행되는 모바일 애플리케이션에 대한 서비스 품질을 결정하기 위한 프로세스가 제시된다. 프로세스는, 애플리케이션 계층 수준에서, 모바일 네트워크를 통하여 통신하는 모바일 애플리케이션의 네트워크 사용 패턴을 모니터링하도록 구현될 수 있다. 프로세스는 모바일 네트워크를 통하여 테스트 데이터를 송신하거나 수신하는 것에 의하여 모바일 애플리케이션의 네트워크 사용 패턴을 에뮬레이팅할 수 있다. 그리고 프로세스는 송신되거나 수신되는 테스트 데이터를 분석함으로써 모바일 애플리케이션에 대한 서비스 품질을 결정할 수 있다.
본 개시의 적어도 일부 실시예에 따르면, 모바일 장치와 같은 네트워크 통신 장치는 모바일 네트워크를 통한 네트워크 통신을 요구하는 다양한 모바일 애플리케이션을 포함한다. 모바일 애플리케이션이 네트워크 통신 동안에 경험하는 서비스 품질을 정확히 결정하기 위하여, 모바일 모니터링 애플리케이션(mobile monitoring application(MMA))이 동일한 모바일 장치에 설치되고 실행될 수 있으며, 동일한 모바일 네트워크를 통하여 원격의(remote) 애플리케이션 경험 모니터링 시스템(application experience monitoring system(AEMS))과 통신할 수 있다. MMA는 이러한 모바일 애플리케이션의 네트워크 사용 패턴을 모니터링할 수 있으며, 동일하거나 유사한 네트워크 사용 패턴을 이용하여 AEMS와 통신함으로써 이러한 모바일 애플리케이션을 에뮬레이팅할 수 있다. 각각의 모바일 애플리케이션에 대하여, MMA가 모바일 애플리케이션이 한 바와 같이 동일한 네트워크 송신 메커니즘을 이용하고 동일한 모바일 네트워크를 통하여 유사한 유형의 데이터 송신을 수행하므로, MMA-AEMS 통신에 기초하여 결정된 서비스 품질은 모바일 애플리케이션이 동시에 경험하는 서비스 품질과 연관성이 있고 이를 반영할 수 있다. 따라서, 실시간으로 생성되고 모바일 애플리케이션의 실행과 동시에 생성되는 서비스 품질은 그러한 정보를 제공하기 위한 모바일 애플리케이션에 의존하지 않고 모바일 애플리케이션이 접하게 되는 실제적이거나 잠재적인 문제를 식별하도록 추가적으로 평가될 수 있다.
도 1은 본 개시의 적어도 일부의 실시예에 따라, 모바일 모니터링 애플리케이션 및 애플리케이션 경험 모니터링 시스템이 모바일 애플리케이션에 대한 서비스 품질을 결정하도록 구현될 수 있는 동작 환경을 예시하는 블록도이다. 도 1에서, 모바일 장치(110)는 모바일 네트워크(120)를 통하여 모바일 애플리케이션 서버(150)와 통신하도록 구성될 수 있다. 모바일 네트워크(120)는 통신 서비스 제공자(telecommunication(Telco) service provider(130))에 의하여 제공되고 관리될 수 있다. 무엇보다도, 모바일 장치(110)는 모바일 운영 체제(mobile operating system)(111), 하나 이상의 모바일 애플리케이션(112) 및 모바일 모니터링 애플리케이션(MMA)(113)과 같은, 다수의 하드웨어 또는 소프트웨어 구성을 포함할 수 있다.
일 구현예에서, MMA(113)는 모바일 애플리케이션(112)을 모니터링하고 애플리케이션 경험 모니터링 시스템(AEMS)(140)과 상호 작용하도록 구성될 수 있다. 무엇보다도, AEMS(140)는 서비스 품질 분석 모듈(141), 하나 이상의 컴퓨팅 프로세서(142) 및 메모리(143)를 포함할 수 있다. MMA(113) 및 AEMS(140)는, 동일한 네트워크 송신 메커니즘을 이용하고 동시에, 동일한 모바일 네트워크(120)를 통하여 MMA(113) 및 AEMS(140) 사이에서 테스트 데이터를 교환함으로써 모바일 애플리케이션(112) 및 모바일 애플리케이션 서버(150) 사이에서의 데이터 통신을 에뮬레이팅하도록 구성될 수 있다. 테스트 데이터는 모바일 애플리케이션(112) 및 모바일 애플리케이션 서버(150) 사이에서의 네트워크 통신에 대한 서비스 품질을 유도하기 위하여 분석될 수 있다. 서비스 품질 정보는 추가적으로 모바일 애플리케이션(112)의 성능을 향상시키기 위하여 잠재적인 네트워크 통신 문제를 보고하거나 검출하는데 사용될 수 있다.
일 구현예에서, 모바일 장치(110)는 네트워크 환경에서 다른 애플리케이션 및/또는 장치와 통신할 수 있는 컴퓨팅 장치로 구성될 수 있다. 모바일 장치(110)는 개인 휴대 정보 단말기(Personal Digital Assistant(PDA)), 핸드폰(cell phone) 및 스마트폰(smart-phone)과 같은 모바일, 핸드헬드(handheld) 및/또는 휴대용 컴퓨팅 장치일 수 있으나 이에 제한되지는 않는다. 모바일 장치(110)는 GSM(Global System for Mobile Communication), 코드 분할 다중 접속(CDMA), 및 시분할 다중 접속(TDMA)과 같은 다양한 모바일 통신 표준(mobile telecommunication standard)을 지원할 수 있으나 이에 제한되지는 않는다. 모바일 장치(110)는 또한 유선 또는 무선 통신을 지원하도록 구성되는 태블릿 컴퓨터(tablet computer), 랩탑 컴퓨터(laptop computer) 및 넷북(netbook)일 수 있다. 예를 들어, 모바일 장치(110)는 통신 서비스 제공자(130)에 의하여 제공되는 3G 모바일 통신 서비스를 이용하는 3G 통신 어댑터(adapter)와 구성되는 랩탑 컴퓨터일 수 있다.
일 구현예에서, 모바일 장치(110)는, 모바일 OS로도 알려질 수 있는, 모바일 운영 체제(111)로 구성될 수 있다. 모바일 OS(111)는 모바일 장치(110)에 기능을 제공하고 모바일 장치(110)를 위한 통신 표준을 지원하는 것에 책임이 있을 수 있다. 모바일 OS(111)의 예시는 심비안(Symbian
Figure 112012047013316-pct00001
), 림 블랙베리(RIM Blackberry
Figure 112012047013316-pct00002
), 애플 아이폰(Apple iPhone
Figure 112012047013316-pct00003
), 윈도우즈 모바일(Windows Mobile
Figure 112012047013316-pct00004
) 및 구글 안드로이드(Google Android
Figure 112012047013316-pct00005
)를 포함하나, 이에 제한되지는 않는다. 모바일 OS(111)는 또한 모바일 장치(111)가 기초될 수 있는 많은 하드웨어 구성에 관계 없이, 공통의 프로그래밍 플랫폼(programming platform)을 하나 이상의 모바일 애플리케이션(112) 및 모바일 모니터링 애플리케이션(113)에 제공할 수 있다.
일 구현예에서, 모바일 장치(110)는 또한 하나 이상의 모바일 애플리케이션(112)을 포함할 수 있다. 모바일 애플리케이션(112)은 전화, 이메일, 문자 메시지 및 웹 브라우징(web-browsing)과 같으나 이에 제한되지 않는 네트워크 기능 및/또는 오디오/비디오 재생, 멀티미디어 캡쳐 및 편집, 및 게임과 같으나 이에 제한되지 않는 비 네트워크 기능을 수행하도록 모바일 장치(110)의 소프트웨어 및 하드웨어 기능을 활용할 수 있다. 동작 동안, 모바일 애플리케이션(112)은 모바일 네트워크(120)를 통하여 모바일 애플리케이션 서버(150)와 통신할 수 있다.
일 구현예에서, 네트워크(120)는 인터넷, 파이버 채널 패브릭(Fibre Channel Fabric) 또는 그러한 상호 연결의 임의의 조합과 같은 세계 정보망(global area network), 대도시 통신망(MAN), 광역 통신망(WAN), 근거리 통신망(LAN)과 같은 유선 네트워크일 수 있으나 이에 제한되지는 않는다. 네트워크(120)는 또한 모바일 장치 네트워크(GSM, CDMA, TDMA 등), 무선 근거리 통신망(WLAN), 및 무선 대도시 통신망(WMAN)과 같은 무선 네트워크일 수 있으나 이에 제한되지는 않는다. HTTP 요청/응답, 무선 애플리케이션 프로토콜(Wireless Application Protocol(WAP)) 메시지, MT(Mobile Terminated) 단문 메시지 서비스(Short Message Service(SMS)) 메시지, MO(Mobile Originated) SMS 메시지, 또는 임의의 유형의 네트워크 메시지와 같은 네트워크 통신은 네트워크(120)에 연결된 장치들 사이에서 지원될 수 있다.
일 구현예에서, 통신 서비스 제공자(130)는 지리적 지역에서의 전화 및 데이터 통신과 같은 통신 서비스를 제공할 수 있고 동시에 공중 전기 통신 사업자(common carrier), 무선 통신사(wireless carrier), 인터넷 서비스 제공자(ISP) 및 기타 네트워크 사업자(network operator)로 역할할 수 있다. 일 구현예에서, 모바일 장치(110), 모바일 애플리케이션 서버(150) 및 AEMS(140)는 모바일 네트워크(120)를 통하여 서로간에 통신을 가능하게 하는 통신 서비스 제공자(130)에 의하여 제공되는 서비스에 모두 가입(subscribe)할 수 있다.
일 구현예에서, 모바일 애플리케이션 서버(150)는 모바일 네트워크(120)에 직접적으로 연결되거나, 통신 서비스 제공자(130)를 거쳐 모바일 네트워크(120)를 통하여 간접적으로 접속될 수 있다. 모바일 애플리케이션 서버(150)는 특정 유형의 모바일 애플리케이션(112)에 문자 메시지 서비스, 이메일 또는 전화를 제공할 수 있다. 이는 또한 하나 이상의 모바일 장치(110)로 실시간의 오디오/비디오 스트리밍 서비스를 제공하기 위한 스트리밍 서버로 역할할 수 있다. 모바일 애플리케이션(112)에 대한 서비스 품질은 모바일 애플리케이션(112)을 동작하도록 구성된 모바일 장치(110)의 성능, 모바일 애플리케이션 서버(150)의 성능 및 모바일 네트워크(120)의 처리량에 의존할 수 있다. 일부 상황에서 통신 서비스 제공자(130)가 모바일 네트워크(120)의 서비스 품질을 결정할 수 있으나, 다수의 모바일 장치(110)에 의해 실행되는 특정 모바일 애플리케이션(112)에 대한 서비스 품질 또는 하나의 모바일 장치(110)에 의하여 실행되는 다수의 모바일 애플리케이션(112)에 대한 서비스 품질을 구분하거나 평가하는 것이 가능하지 않을 수 있다.
일 실시예에서, 모바일 네트워크(120)를 통하여 모바일 애플리케이션 서버(150)와 통신하는 모바일 애플리케이션(112)에 대한 서비스 품질은 MMA(113)에 의하여 결정될 수 있다. MMA(113)는 특정 모바일 장치(110)에서 지원되는 모바일 애플리케이션(112)의 유형을 결정, 모바일 애플리케이션(112)의 시작 및 실행을 검출, 모바일 애플리케이션(112)의 네트워크 사용 패턴을 모니터링, 및/또는 서비스 품질의 지표를 확인하기 위하여 모바일 애플리케이션(112)을 에뮬레이팅하는 것과 같은 기능을 수행하도록 구성될 수 있다. MMA(113)의 세부 사항은 아래에서 추가적으로 설명된다.
일 구현예에서, AEMS(140)는 모바일 네트워크(120)에 연결된 라우터(router) 또는 서버로서 구성될 수 있고 동시에 하나 이상의 모바일 장치(110)에서 실행되는 하나 이상의 MMA 애플리케이션(113)과 통신할 수 있다. AEMS(140)에서의 QoS 모듈(141)은 MMA(113)로부터 요청을 수신, MMA(113)로의/로부터의 테스트 데이터 송신/수신 및/또는 MMA(113)를 지원하는 동일한 모바일 장치(110)에서 실행되는 모바일 애플리케이션(112)에 대한 실시간 서비스 품질 결정을 할 수 있다. 서비스 품질의 결과는 현황 보고(status report), 특성의 향상(feature enhancement), 및/또는 디버깅(debugging) 목적을 위해 보고될 수 있다. AEMS(140) 및 QoS 모듈(141)의 세부 사항은 아래에서 추가적으로 설명된다.
일 구현예에서, AEMS(140)에서의 컴퓨팅 프로세서(142)는 QoS 모니터링 및 보고를 다루기 위하여 AEMS(140)와 QoS 모듈(141)의 일반적인 동작을 지원하기 위한 프로그래밍할 수 있는 명령을 실행하도록 구성될 수 있다. 컴퓨팅 프로세서(142)는 모바일 네트워크(120)로부터 수신되거나 모바일 네트워크(120)로 송신되는 데이터를 저장하기 위하여 메모리(143)를 활용할 수 있다. 네트워크 통신 어댑터(예컨대, 이더넷 어댑터(Ethernet adapter), 무선 어댑터, 파이버 채널 어댑터, GSM 무선 모듈)와 같은, 추가적인 구성이 모바일 장치(110) 및 AEMS(140)에서 또한 구현될 수 있다.
일 구현예에서, AEMS(140)는 모바일 네트워크(120)에 접속하는 하나 이상의 모바일 애플리케이션(112)에 대한 모바일 네트워크(120)의 성능을 상세히 분석하도록 구성될 수 있다. 대안적으로, AEMS(140)는 모바일 애플리케이션 서버(150)에 의해 지원되는 하나 이상의 모바일 애플리케이션(112)의 성능을 평가하도록 모바일 애플리케이션 서버(150)와 통합될 수도 있다.
도 2a는 본 개시의 적어도 일부 실시예에 따른, 모바일 모니터링 애플리케이션 및 애플리케이션 경험 모니터링 시스템에 의하여 활용될 수 있는 네트워크 통신 프로토콜 스택을 예시한다. 도 2a에서, 모바일 장치 프로토콜 스택(mobile device protocol stack)(210)은 네트워크 통신을 위하여 모바일 애플리케이션 또는 MMA에 의해 활용될 수 있고; 네트워크 라우팅 프로토콜 스택(network routing protocol stack)(220)은 네트워크 라우팅 시스템에 의해 이용될 수 있으며; 애플리케이션 서버 프로토콜 스택(application server protocol stack)(230)은 네트워크 애플리케이션 서버 또는 AEMS에 의해 구현될 수 있다. 세개의 스택에서의 각각의 계층(layer)은 특정 네트워크 통신 목적을 제공할 수 있다. 스택에서의 상이한 계층은 위에서 아래의 순서로 디스플레이되고, 더 낮은 수준의 계층은 네트워크 통신의 물리적인 구현에 가깝고, 더 높은 수준의 계층은 애플리케이션 특징에 가깝다.
예시하기 위하여, 모바일 장치의 모바일 OS 상에서 동작하는 모바일 애플리케이션은 모바일 네트워크로 및 모바일 네트워크로부터 네트워크 통신 메시지를 송신 및 수신할 수 있다. 모바일 OS는 모바일 장치 프로토콜 스택(210)에 기초하여 네트워크 통신 메시지를 처리할 수 있다. 예를 들어, 모바일 애플리케이션으로부터 비롯된 메시지는 네트워크 메시지(215)가 송신되기 전에 모바일 장치 프로토콜 스택(210) 내 각각의 계층에 의하여, 네트워크 메시지(215)로 인코딩(encode)될 수 있다. 즉, 결과적인 네트워크 메시지(215)는 각각의 계층과 연관된 특정 정보를 포함할 수 있다.
구성이 되면, 네트워크 메시지(215)가 그 목적지에 도달하기 전에 모바일 네트워크를 지나 다양한 네트워크 수신기, 리피터(repeater), 브리지(bridge) 및 라우터를 통하여 하나 이상의 데이터 패킷(data packet)으로서 라우팅될 수 있다. 일반적으로, 도 1의 통신 서비스 제공자(130)에 의하여 구현되는 것과 같은, 네트워크 라우팅 애플리케이션은, 주로 데이터 패킷을 네트워크 소스로부터 네트워크 목적지에 전송하는 것에 책임이 있을 수 있다. 일 구현예에서, 네트워크 라우팅 애플리케이션은 데이터 패킷을 라우팅함에 있어서 네트워크 라우팅 프로토콜 스택(220)의 접속 계층(access layer) 및 물리 계층(physical layer)에 의존할 수 있다.
네트워크 메시지(225)가 서버에 도달하면, 서버의 운영 체제는 네트워크 메시지(225)를 디코딩(decode)할 수 있고 애플리케이션 서버 프로토콜 스택(230)에 기초하여 모바일 애플리케이션으로부터 비롯된 메시지를 추출할 수 있다. 일 구현예에서, 애플리케이션 서버 프로토콜 스택(230)의 서버 애플리케이션 계층 및 모바일 장치 프로토콜 스택(210)의 모바일 애플리케이션 계층은 호환(compatible)되도록 구성될 수 있어, 모바일 애플리케이션 및 서버 애플리케이션은 적절히 통신할 수 있다.
도 2a에 도시된 바와 같이, 통신 서비스 제공자가 다양한 프로토콜 스택의 제한된 이해(예컨대, 물리 계층 및 접속 계층 수준에 제한됨)를 가질 수 있으므로, 통신 서비스 제공자는 특정 모바일 애플리케이션에 대하여 애플리케이션 계층 수준에서 네트워크 통신과 연관된 서비스 품질을 평가하기 위하여 필요한 정보를 가지지 않을 수 있다.
도 2b는 본 개시의 적어도 일부 실시예에 따른, 모바일 애플리케이션에 대한 서비스 품질을 결정하는 시나리오를 예시한다. 도 2b에서, MMA(252)는 모바일 애플리케이션(251)과 함께 모바일 장치(250) 상에서 동작할 수 있고, AEMS(262)는 모바일 네트워크와 결합된 원격 서버(260)에서 구현될 수 있다. AEMS(262)는 MMA(252)와 통신하도록 구성될 수 있다. MMA(252)는 모바일 네트워크를 활용하는 모바일 애플리케이션(251)을 검출하고 모니터링하도록 설계될 수 있다. 모바일 애플리케이션(251)은 모바일 애플리케이션 서비스 제공자(261)와 통신할 수 있다. 모바일 애플리케이션(251) 및 모바일 애플리케이션 서비스 제공자(261)는 AEMS(262) 및/또는 MMA(252)의 존재를 인식할 수 있거나 인식하지 못할 수 있다.
일 구현예에서, 한번 작동되면(invoked), MMA(252)는 배경 프로세스(background process)로서 역할할 수 있고 모바일 장치(250) 상에서 동작하는 하나 이상의 모바일 애플리케이션을 계속해서 검출하고 모니터링할 수 있다. MMA(252)는 모바일 애플리케이션(251)의 존재 및 유형, 모바일 애플리케이션(251)의 초기화 및 실행, 및/또는 네트워크 통신 세션 동안의 모바일 애플리케이션(251)에 연관된 네트워크 사용 패턴에 대하여 모바일 애플리케이션(251)을 모니터링할 수 있으나, 이에 제한되지는 않는다. 예컨대, MMA(252)는 애플리케이션 명칭이나 다용도 인터넷 메일 확장(Multipurpose Internet Mail Extension(MIME)) 유형에 의하여 실행되거나 실행되지 않는 설치된 모바일 애플리케이션을 검출할 수 있다. MIME 정보는 이미지, 소리, 비디오 및 컴퓨터 프로그램과 같은 파일 유형에 대응할 수 있으나, 이에 제한되지는 않는다. MMA(252)는 또한 모바일 장치(250)의 모바일 OS에 실행되는 모바일 애플리케이션의 명칭을 질의(query)할 수 있다. MMA(252)는 모바일 애플리케이션(251)에 연관된 네트워크 사용 패턴(예컨대, 모바일 애플리케이션에 의해 다운로드되는 스트리밍 데이터의 상당량을 나타내는 네트워크 사용 패턴)에 기초하여 모바일 애플리케이션(251)의 유형(예컨대, 비디오 스트리밍 애플리케이션)을 결정할 수 있다.
일 구현예에서, MMA(252) 및/또는 AEMS(262)에 의해 모니터링될 수 있는 모바일 애플리케이션(251)의 유형은 VoIP(예컨대, Skype
Figure 112012047013316-pct00006
), 오디오/비디오 스트리밍, MMS, GPS 네비게이션, 비디오 회의(video-conferencing), 비디오 업로드, 이메일 수신, 이메일 첨부 송신 및/또는 수신, 음악 다운로드/업로드, 온라인 게임, 및 웹 브라우징을 포함하지만, 이에 제한되지는 않는다. 이러한 유형의 모바일 애플리케이션에서, 네트워크 통신에 대한 서비스 품질은 그 기능 및 사용자 경험에 크게 영향을 끼칠 수 있다. 따라서, 이러한 모바일 애플리케이션을 모니터링하고 그 네트워크 사용 패턴을 검출함으로써, MMA(252)는 이러한 모바일 애플리케이션에 의하여 경험되는 실시간 서비스 품질을 에뮬레이팅하도록 유사한 네트워크 사용 패턴을 활용할 수 있다. 추가적으로, MMA(252)는 인식되거나 지원되는 모든 실행되는 모바일 애플리케이션에서 모니터링 및 에뮬레이션 기능을 동시에 수행할 수 있고, 개별화되고/거나 포괄적인 서비스 품질 분석을 제공할 수 있다.
일 구현예에서, 모바일 애플리케이션(251)에 대하여 MMA(252)에 의해 검출된 네트워크 사용 패턴은 모바일 애플리케이션(251)이 애플리케이션 데이터(241)를 원격의 모바일 애플리케이션 서비스 제공자(261)로 송신하는지를 나타낼 수 있다. 그러한 네트워크 사용 패턴을 에뮬레이팅하기 위하여, MMA(252)는 애플리케이션(251)에 의하여 송신되는 애플리케이션 데이터(241)의 유형과 닮을 수 있거나 닮지 않을 수 있는 미리 정의된 테스트 데이터(246)의 집합을 모바일 애플리케이션(251)에 의한 애플리케이션 데이터의 송신과 동시에 AEMS(262)로 송신할 수 있다. 미리 정의된 테스트 데이터(246)의 집합을 수신하면, AEMS(262)는 신호 대 잡음비, 비트 에러율, 지연 및 패킷 손실과 같은 송신 품질 및 네트워크 처리량을 측정하도록 수신된 데이터를 분석할 수 있고, 애플리케이션 데이터(241)를 송신함에 있어서 모바일 애플리케이션(251)에 대한 서비스 품질을 반영하는 서비스 품질을 결정할 수 있다.
일 구현예에서, MMA(252)는 모바일 애플리케이션(251)이 원격의 모바일 애플리케이션 서비스 제공자(261)로부터 애플리케이션 데이터(242)를 수신/다운로드함을 보여주는 네트워크 사용 패턴을 검출할 수 있다. 그러한 네트워크 사용 패턴을 에뮬레이팅하기 위하여, MMA(252)는 먼저 AEMS(262)가 미리 정의된 테스트 데이터의 집합을 되돌려 보내도록 요청하는 네트워크 메시지를 AEMS(262)로 송신할 수 있다. 네트워크 메시지는 MMA(252)가 모니터링하는 모바일 애플리케이션(251)의 유형 또는 명칭, MMA(252)에 의하여 검출되는 네트워크 사용 패턴의 유형, 및 데이터 교환에 이용되는 네트워크의 송신 메커니즘을 나타낼 수 있다. 네트워크 송신 메커니즘은 모바일 애플리케이션(251)이 어떠한 유형의 하드웨어 및/또는 소프트웨어를 그 네트워크 통신에 이용하였는지를 나타낼 수 있다. 이러한 정보에 기초하여, AEMS(262)는 다운로드하는 애플리케이션 데이터(242)를 에뮬레이팅하기에 적합한 미리 정의된 테스트 데이터의 집합을 선택할 수 있고, 동일한 모바일 네트워크를 통하여 애플리케이션 데이터(242)를 송신하는 모바일 애플리케이션 서비스 제공자(261)로서 동일한 네트워크 송신 메커니즘을 이용하여 미리 정의된 테스트 데이터의 집합을 송신할 수 있다.
일 구현예에서, AEMS(262)로부터 미리 정의된 모니터링 데이터의 집합을 수신하면, MMA(252)는 상기 모바일 네트워크 통신 동안에 도입될 수 있는 임의의 오류를 검출하도록 수신된 테스트 데이터를 평가할 수 있다. MMA(252)가 수신된 테스트 데이터의 내용을 아는 경우, 수신된 테스트 데이터를 분석하여 비트 에러율, 패킷 손실 또는 신호 대 잡음비를 결정할 수 있다. 예컨대, 242를 통하여 송신된 애플리케이션 데이터가 비디오 스트림이면, 247을 통하여 송신된 테스트 데이터는 인식할 수 있는 테스트 비디오 스트림일 수 있으며, MMA(252)는 모바일 애플리케이션(251)에 의하여 경험될 수 있을 임의의 에러 또는 지터를 검출하도록 테스트 비디오 스트림을 처리할 수 있다. 검출된 에러 및 테스트 데이터에 기초하여, 이러한 네트워크 성능의 측정으로부터 서비스 품질의 값이 유도될 수 있다. 서비스 품질의 값은 이후 추가적인 목적을 위하여 AEMS(262)에 송신될 수 있다.
일 구현예에서, 다수의 유형의 미리 정의된 테스트 데이터가 MMA(252)로 송신될 수 있으며, 상이한 모니터링 알고리즘이 서비스 품질 지표를 결정함에 있어서 테스트 데이터를 컴파일(compile)하도록 적용될 수 있다. 상이한 모바일 애플리케이션은 상이한 디코딩 알고리즘 또는 사용자 요건(user requirement)을 가질 수 있으므로, 서비스 품질 지표의 연산은 이러한 모바일 애플리케이션에 대해 다를 수 있다. 추가적으로, MMA(252)는 모바일 애플리케이션을 아주 닮은 알고리즘을 처리하거나 디코딩하는 것을 포함함으로써 모바일 애플리케이션(251)을 에뮬레이팅할 수 있다. 그러한 접근법은 모니터링 및 에뮬레이팅하는 동안 모바일 장치(250)로부터 더 많은 처리 능력을 요구할 수 있다.
일 구현예에서, MMA(252)는 서비스 품질의 분석 목적을 위하여 송신된 테스트 데이터를 저장하도록 하나 이상의 모니터링 큐(queue)(253)를 설정할 수 있다. 하나의 모니터링 큐는 특정 모바일 애플리케이션 또는 특정 모바일 장치를 모니터링 하도록 구성될 수 있다. 상이한 모바일 애플리케이션에 대한 모니터링 큐(253)는 서비스 품질의 평가 동안에 종합적으로 분석될 수 있다. 예를 들어, 특정 모바일 애플리케이션이 낮은 서비스 품질의 네트워크 서비스를 경험하고 있는 경우, MMA(252)는 그러한 문제가 특정 애플리케이션에 대한 것인지 또는 특정 모바일 장치에 대한 것인지를 결정하기 위하여 다른 모바일 애플리케이션의 모니터링 큐(253)를 확인할 수 있다. 대안적으로, AEMS(262)는 데이터 송신 및 서비스 품질의 평가를 위한 그 환경에서 모니터링 큐(253)를 유지할 수 있다. 그 각각의 모바일 장치(250)에서 실행되는 하나 이상의 MMA(252)와 통신할 때, AEMS(262)는 각각의 MMA(252)를 위한 모니터링 큐를 개시할 수 있고, 이에 따라 각각의 MMA(252)는 독립적인 모바일 애플리케이션의 에뮬레이션을 수행하도록 허용한다.
일 구현예에서, 모니터링되는 특정 모바일 애플리케이션에 대해, MMA(252) 및/또는 AEMS(262)는 빠른 서비스 품질의 계산 및 결정을 위하여 모바일 애플리케이션에 특별히 맞춰진 효용 함수(utility function)를 구현할 수 있다. 효용 함수는 입력 파라미터(parameter)로서 네트워크 성능 측정치를 받고, 서비스 품질의 출력으로서 서비스 품질 값을 생성하도록 구현될 수 있다. 예컨대, 효용 함수는 대역폭, 패킷 손실, 지연, 지터 및 비트 에러율과 같은 입력 파라미터를 받을 수 있으나 이에 제한되지는 않는다. 효용 함수의 출력은 모바일 애플리케이션이 상기 입력 파라미터에 의하여 증명된 네트워크의 제약 하에서 얼마나 잘 작동하고 있는지 보여주는 서비스 품질 지표일 수 있다.
일 구현예에서, 모바일 애플리케이션(251)이 모바일 장치(250)에서 사용되는 것을 중단하면, MMA(252)는 모니터링 및 에뮬레이팅 동작을 따라서 멈출 수 있다. 추가적으로, AEMS(262) 측에서 서비스 품질의 모니터링 및 분석을 중단하도록 네트워크 메시지가 AEMS(262)로 송신될 수 있다. 대안적으로, MMA(252)는 모바일 장치에 새롭게 설치된 모바일 애플리케이션을 지원하기 위하여 이따금 업데이트(update)될 수 있다. 마찬가지로, 상기 접근법은 그 모바일 애플리케이션(251)과의 통신에서 모바일 애플리케이션 서비스 제공자(261)를 에뮬레이팅하도록 AEMS(262)에 의하여 또한 적응될 수 있다. AEMS(262)에 의하여 결정되는 서비스 품질은 또한 모바일 서비스 제공자(261)에 의하여 경험되는 서비스 품질의 정확한 지표일 수 있다.
따라서, MMA(252) 및 AEMS(262)는 애플리케이션 계층 수준에서 모바일 애플리케이션(251)의 네트워크 사용 패턴을 에뮬레이팅할 수 있고, 모바일 애플리케이션(251)과 그 각각의 모바일 애플리케이션 서비스 제공자(261)와의 직접적인 상호작용 없이 결정된 모바일 애플리케이션(251)에 대한 실시간 서비스 품질을 허용할 수 있다. 추가적으로, MMA(252)는 모바일 애플리케이션(251)과 동일한 네트워크 송신 메커니즘을 활용할 수 있다. 예를 들어, 모바일 애플리케이션(251)이 WiFi 어댑터를 통하여 모바일 네트워크에 접속하면, MMA(252)는 그 에뮬레이션 동안에 동일한 WiFi 어댑터에 접속할 수 있다. 그러한 접근법은 테스트 데이터가 모바일 애플리케이션(251)에 의하여 송신되는 실시간 애플리케이션 데이터와 매우 유사한 방식으로 동시에 송신될 수 있으므로, 유리하다. 이러한 방식으로, 계산된 서비스 품질 값은 모바일 애플리케이션(251)에 의하여 경험되는 모바일 네트워크 통신의 품질을 진정으로 반영할 수 있다.
도 3은 본 개시의 적어도 일부 실시예에 따라서, 모바일 모니터링 애플리케이션에 의하여 모바일 애플리케이션 서비스 품질을 결정하기 위한 예시적인 프로세스(301)의 흐름도를 예시한다. 프로세스(301)는 하드웨어(예컨대, 특수 목적 회로, 전용 하드웨어 로직, 프로그램 가능한 하드웨어 로직 등), (처리 장치에서 실행될 수 있는 명령과 같은) 소프트웨어, 펌웨어(firmware) 또는 그들의 조합을 포함할 수 있는 프로세싱 로직(processing logic)에 의하여 수행될 수 있다. 일 실시예에서, 프로세스(301)에 대한 머신으로 실행 가능한 명령은 메모리에 저장될 수 있고/있거나, 프로세서에 의하여 실행될 수 있고/있거나, 도 1의 모바일 장치(110)에서 구현될 수 있다.
프로세스(301)는 "모바일 장치에 설치된 모바일 애플리케이션을 식별"하는, 블록(310)에서 시작할 수 있다. 블록(310)은, "모바일 장치에서 활성화된 모바일 애플리케이션을 검출"하는, 블록(320)으로 뒤이어질 수 있다. 블록(320)은,"애플리케이션 계층 수준에서, 모바일 네트워크를 통하여 통신하는 모바일 애플리케이션의 네트워크 사용 패턴을 모니터링"하는, 블록(330)으로 뒤이어질 수 있다. 블록(330)은, "모바일 네트워크를 통하여 테스트 데이터를 송신하거나 수신하는 것에 의하여 모바일 애플리케이션의 네트워크 사용 패턴을 에뮬레이팅"하는, 블록(340)으로 뒤이어질 수 있다. 블록(340)은 "송신되고 수신되는 테스트 데이터를 분석"하는 블록(350)으로 뒤이어질 수 있다. 그리고 블록(350)은 "모바일 애플리케이션에 대한 서비스 품질을 결정"하는 블록(350)으로 뒤이어질 수 있다. 블록들이 순차적인 순서로 예시됨에도, 이러한 블록들은 또한 병렬적으로 및/또는 여기에서 기술된 것과는 다른 순서로 수행될 수 있다. 또한, 다양한 블록들이 더 적은 블록들로 조합될 수 있고/있거나, 추가적인 블록들로 나누어질 수 있고/있거나, 요구되는 구현에 기초하여 제거될 수 있다.
블록(310)에서, MMA는 모바일 장치에서 실행되어 동일한 모바일 장치에 설치된 모바일 애플리케이션을 모니터링할 수 있다. MMA는 먼저 애플리케이션 명칭, 파일 유형, 또는 그 네트워크 사용 패턴 등에 기초하여 모바일 장치에 설치되거나 실행되는 모바일 애플리케이션을 식별할 수 있다. 추가적으로, MMA는 임의의 새로운 모바일 애플리케이션이 설치되었는지 여부 또는 기존의 모바일 애플리케이션이 업그레이드(upgrade)되거나 제거되었는지 여부를 검출하기 위하여, 모바일 장치의 모바일 OS를 꾸준히 모니터링할 수 있다. 블록(320)에서, 모바일 애플리케이션이 모바일 장치에서 활성화될 수 있다. 활성화는 사용자에 의해 수동적으로 수행되거나 모바일 장치의 모바일 OS에 의하여 자동적으로 수행될 수 있다. 일 구현예에서, MMA는 모바일 장치의 운영 체제로부터 실행되는 프로세스의 목록을 풀링(pulling) 및 검색(retrieving)함으로써 활성화된 모바일 애플리케이션을 검출할 수 있다. MMA는 또한 활성화 지표를 위하여 특정 모바일 애플리케이션의 로그 파일을 꾸준히 풀링할 수 있다. 추가적으로, 모바일 애플리케이션은 트리거(trigger)로 구현될 수 있고, MMA에 그 실행 상황을 알리기 위하여 MMA에 메시지를 보낼 수 있다. MMA가 활성화된 모바일 애플리케이션을 검출하면, 프로세스(301)는 블록(330)으로 진행한다.
블록(330)에서, MMA는 애플리케이션 계층 수준에서, 모바일 네트워크를 통하여 통신하는 모바일 애플리케이션의 네트워크 사용 패턴을 모니터링할 수 있다. 네트워크 사용 패턴은 모바일 애플리케이션이 모바일 네트워크를 통해 애플리케이션 데이터를 송신하는지 또는 수신하는지를 나타낸다. 네트워크 사용 패턴은 또한 데이터 통신에 수반된 애플리케이션 데이터의 양 및 유형을 나타낼 수 있다. 일 구현예에서, MMA는 모바일 애플리케이션이 네트워크 통신에 사용한 포트(port)를 들을 수 있고, 평가를 위하여 이러한 포트를 통하여 지나가는 애플리케이션 데이터를 샘플링(sample)하거나, 복사할 수 있다. 대안적으로, MMA는 모바일 장치의 모바일 OS로부터 그러한 정보를 요청할 수 있다.
블록(330)에서 모니터링되고 검출된 네트워크 사용 패턴에 기초하여, 블록(340)에서, MMA는 모바일 애플리케이션과 동일한 네트워크 송신 메커니즘을 통하고, 유사한 네트워크 사용 패턴을 이용하여 모바일 네트워크를 통하여 테스트 데이터를 송신하거나 수신함으로써 모바일 애플리케이션을 에뮬레이팅할 수 있다. 예컨대, MMA가 모바일 애플리케이션이 특정 유형의 애플리케이션 데이터의 다운로드를 수행한다고 결정하면, (이 경우, AEMS로부터 미리 정의된 테스트 데이터를 요청하고, 동일하거나 유사한 네트워크 송신 메커니즘을 이용하여 AEMS로부터 테스트 데이터의 다운로드를 수행하기 위하여) MMA는 애플리케이션 데이터의 유형과 유사한 미리 정의된 테스트 데이터의 집합을 선택할 수 있고, 테스트 데이터에 대하여 유사한 네트워크 동작을 수행할 수 있다. 대안적으로, 모바일 애플리케이션이 모바일 네트워크를 통하여 애플리케이션 데이터를 업로드한다고 MMA가 검출하면, MMA는 AEMS와 통신하고 모바일 네트워크를 통하여 유사한 유형의 테스트 데이터를 업로드함으로써 네트워크 사용 패턴을 에뮬레이팅할 수 있다.
일 구현예에서, MMA에 의하여 송신되거나 수신된 테스트 데이터는 모바일 애플리케이션에 의하여 요청된 자원 외에 추가적인 네트워크 및 모바일 장치 자원을 요청할 수 있고, 결과적으로 모바일 애플리케이션에 의하여 경험되는 서비스 품질에 영향을 미칠 수 있다. 모바일 애플리케이션에 대한 영향의 양을 제한하기 위하여, MMA 및 AEMS는, 데이터 통신을 위하여, 테스트 데이터의 전체 집합보다는, 테스트 데이터의 부표본(subsample)을 사용할 수 있다. 예를 들어, MEEG 디코딩에서, 모바일 애플리케이션은 고품질 비디오를 보여주기 위하여 많은 양의 데이터 스트림을 요청할 수 있다. 이러한 경우, 에뮬레이션 동안에, 동일한 양의 테스트 데이터를 송신하는 대신에 MMA는 사용 가능한 대역폭의 일부(예컨대 1%)를 사용할 수 있는 테스트 데이터의 부표본을 요청할 수 있고, 테스트 데이터의 부표본의 송신에 기초하여 서비스 품질의 결정을 수행할 수 있다.
블록(350)에서, MMA 및/또는 AEMS는 송신된 테스트 데이터를 분석할 수 있다. MMA는 AEMS로부터 송신되고 MMA에 의하여 수신된 테스트 데이터에 대하여 데이터 분석을 수행할 수 있다. 마찬가지로, AEMS는 MMA로부터 송신되고 AEMS에 의하여 수신된 테스트 데이터를 분석할 수 있다. 일 실시예에서, AEMS는 원래 AEMS로부터 MMA로 송신되고, 후속적으로 MMA로부터 AEMS로 다시 송신된 데이터를 분석할 수 있다. 데이터 분석을 수행함으로써, 모바일 네트워크의 상이한 네트워크 세그먼트(예컨대, 접속 세그먼트, 메트로 세그먼트, 및 코어 세그먼트)에 걸쳐 패킷 손실, 지연, 비트 에러율, 신호 대 잡음비 및 데이터 송신 비트율과 같은 네트워크 성능 측정치가 결정될 수 있다. 이러한 네트워크 성능 측정치가 애플리케이션 계층 수준으로부터 수집되고 분석되므로, 이는 모바일 애플리케이션의 관점에서 네트워크 통신의 경로의 세그먼트나 일부라기 보다는 전체의 서비스 품질의 훌륭한 개관을 제공하도록 사용될 수 있다.
일 실시예에서, 모바일 애플리케이션 에뮬레이션에 사용된 테스트 데이터가 대역폭 사용을 감소시키기 위하여 샘플링되는 경우, MMA 또는 AEMS는 곱셈(multiplication)에 의해 네트워크 성능 측정치를 "복구(restore)"할 수 있다. 송신될 테스트 데이터가 샘플 비율(예컨대 1%)에 기초하여 감소되므로, 테스트 데이터의 부표본 집합에서 검출되는 값의 실제적인 수는 동일한 비율에 비례하여 감소될 수 있다. 따라서, 샘플 비율에 반비례하는 비율로 샘플링된 테스트 데이터로부터 수집된 네트워크 성능 측정치의 일부 또는 전체를 곱함으로써, "복구된" 값은 테스트 데이터의 전체 집합으로부터 수집될 수 있는 성능 측정치를 추정하도록 사용될 수 있다. 예컨대, 1%의 샘플 비율에 대하여, 테스트 데이터의 전체 집합에서의 에러의 수는 비율의 역수(1/샘플 비율, 즉 1/1% =100임)에 샘플링된 데이터 집합으로부터 검출된 결점(defect)의 수를 곱하는 것에 의해 추정될 수 있다. 이러한 예시에서, 샘플링된 테스트 데이터로 에뮬레이팅하는 동안 분당 글리치(glitch)로 에러가 측정되는 경우, 모바일 애플리케이션은 테스트 데이터의 부표본 집합에서 검출된 모든 분당 글리치에 대해 테스트 데이터의 전체 집합에서 1*100 = 100의 분당 글리치를 경험할 수 있다.
일 구현예에서, 테스트 데이터의 특정 패턴은 AEMS로부터 MMA로 보내질 수 있다. MMA에 의하여 수신된 테스트 데이터의 특정 패턴은, 네트워크 송신 또는 네트워크 문제로 인해, 원본 테스트 데이터의 패턴과 다를 수 있다. 이후, 수신된 테스트 데이터는 데이터가 요구되는 순서로 송신되는 것을 보장하도록 (예컨대, 재송신이 있는 TCP를 이용하여) 보장된 전달 채널(delivery channel) 상에서 AEMS로 되돌려 보내질 수 있다. MMA에 의하여 원래 수신된 테스트 데이터의 패턴을 보존하는 이후에 송신된 테스트 데이터는 원본 테스트 데이터의 패턴과 비교되도록 사용될 수 있다. 추가적으로, 상이한 네트워크 문제가 상이한 에러 패턴을 생성하므로, 수신된 패턴은 임의의 기존 또는 잠재적인 네트워크 문제를 검출하도록 잠재적인 에러 패턴과 연관될 수 있다.
블록(360)에서, 블록(340)에서 송신되고 블록(350)에서 분석된 테스트 데이터에 기초하여 AEMS 또는 MMA에 의하여 서비스 품질 지표가 결정될 수 있다. 서비스 품질은 MMA 및 AEMS 사이에서의 네트워크 통신에 기초하여 생성될지라도, 모바일 애플리케이션에 의해 경험되는 서비스 품질을 반영하도록 사용될 수 있다. 일 실시예에서, 서비스 품질은 모바일 애플리케이션과 연관된 효용 함수를 이용하여 연산될 수 있다. 블록(350)에서 수집되는 네트워크 성능 측정치는 효용 함수의 입력 파라미터로 역할할 수 있고, 효용 함수로부터 출력된 결과는 특정 모바일 애플리케이션에 대한 서비스 품질로 간주되고, 추가적인 처리를 위하여 AEMS로 전송될 수 있다.
일 실시예에서, 하나 이상의 MMA로부터 수집된 서비스 품질의 결과는 AEMS로 보내질 수 있고, 데이터 베이스에 저장될 수 있다. 수집된 현재 및 과거의(historical) 서비스 품질 데이터는 네트워크 성능 보고를 생성하도록 추가적으로 분석될 수 있다. 추가적으로, 서비스 품질 데이터에 기초하여, 정확한 과거 서비스 품질 보고의 지원으로 모바일 네트워크 접속을 위한 경쟁적인 가격 모델이 통신 서비스 제공자에 의하여 도출될 수 있다.
도 4는 본 개시의 적어도 일부 실시예에 따라, 애플리케이션 경험 모니터링 시스템에 의하여 모바일 애플리케이션 서비스 품질을 수신하기 위한 예시적인 프로세스(401)의 흐름도를 예시한다. 프로세스(401)는 하드웨어(예컨대, 특수 목적 회로, 전용 하드웨어 로직, 프로그램 가능한 하드웨어 로직 등), (처리 장치에서 실행될 수 있는 명령과 같은) 소프트웨어, 펌웨어 또는 그들의 조합을 포함할 수 있는 프로세싱 로직에 의하여 수행될 수 있다. 일 실시예에서, 프로세스(401)에 대한 머신으로 실행 가능한 명령은 도 1의 메모리(143)에 저장될 수 있고/있거나, 도 1의 프로세서(142)에 의해 실행될 수 있고/있거나, 도 1의 AEMS(140)에서 구현될 수 있다.
프로세스(401)는 "모바일 장치로부터, 모바일 네트워크와 결합된 모바일 장치에서 실행되는 모바일 애플리케이션을 에뮬레이팅하기 위한 요청을 수신"하는 블록(410)에서 시작할 수 있다. 블록(410)은, "요청에 기초하여, 모바일 애플리케이션이 애플리케이션 데이터를 모바일 네트워크로 송신하는지 또는 모바일 네트워크로부터 수신하는지를 결정"하는 결정 블록(420)으로 뒤이어질 수 있다. 블록(420)의 결정에 기초하여, 블록(420)은, "테스트 데이터의 제1 집합을 모바일 장치로 송신"하는 블록(430)으로 뒤이어질 수 있다. 블록(430)은 "모바일 장치로부터, 테스트 데이터의 제1 집합의 상기 송신에 기초하여 모바일 애플리케이션에 대한 제1 서비스 품질을 수신"하는 블록(450)으로 뒤이어질 수 있다. 유사하게, 블록(420)의 결정에 기초하여, 블록(420)은, "모바일 장치로부터 테스트 데이터의 제2 집합을 수신"하는 블록(440)으로 뒤이어질 수 있다. 블록(440)은, "모바일 장치로부터, 테스트 데이터의 제2 집합의 상기 수신에 기초하여 모바일 애플리케이션에 대한 제2 서비스 품질을 수신"하는 블록(460)으로 뒤이어질 수 있다. 블록(450) 또는 블록(460)은 "다수의 모바일 장치로부터, 각각의 모바일 장치에서 실행되는 모바일 애플리케이션에 대한 복수의 서비스 품질을 수신"하는 블록(470)으로 뒤이어질 수 있다. 블록(470)은, "복수의 서비스 품질에 기초하여, 다수의 모바일 장치에서 실행되는 모바일 애플리케이션에 대한 종합된 서비스 품질을 결정"하는 블록(480)으로 뒤이어질 수 있다. 블록들이 순차적인 순서로 도시되고 있으나, 이러한 블록들은 또한 병렬적으로 및/또는 여기에서 기술된 것과 다른 순서로 수행될 수 있다. 또한 다양한 블록들이 더 적은 블록들로 조합될 수 있고/있거나, 추가적인 블록들로 나뉠 수 있고/있거나, 요구되는 구현에 기초하여 제거될 수 있다.
블록(410)에서, AEMS는 모바일 네트워크와 결합된 모바일 장치에서 실행되는 MMA로부터 요청을 수신할 수 있다. 요청은 모바일 애플리케이션이 경험할 수 있는 서비스 품질을 결정하기 위하여, MMA 및 AEMS가 실제 네트워크 로딩된 조건 하에서 실행되는 모바일 애플리케이션의 에뮬레이션을 시작하도록 트리거할 수 있다. 블록(420)에서, 블록(410)에서 수신된 요청에 기초하여 AEMS는 모바일 네트워크를 통하여 모바일 애플리케이션이 애플리케이션 데이터를 송신하는지 또는 수신하는지를 결정할 수 있다. AEMS 및/또는 MMA는 또한 그 데이터 교환 동작 중에 모바일 애플리케이션에 의해 활용되는 네트워크 송신 메커니즘의 유형을 결정할 수 있다. 모바일 애플리케이션이 애플리케이션 데이터를 수신한다고 결정되면, 프로세스(401)는 블록(430)으로 진행할 수 있고, 여기에서 AEMS 및 MMA는 AEMS로부터 모바일 장치로 테스트 데이터의 제1 집합을 송신함으로써 모바일 애플리케이션의 데이터 수신 동작을 에뮬레이팅할 수 있다. 테스트 데이터의 송신은 모바일 애플리케이션에 의해 이용되는 동일한 네트워크 송신 메커니즘을 사용하여 애플리케이션 데이터를 수신하는 모바일 애플리케이션과 동시에 수행될 수 있다.
일 구현예에서, 블록(430)에서, 테스트 데이터의 제1 집합은 모바일 애플리케이션의 특정 유형에 맞추어진 미리 정해진 테스트 데이터의 집합일 수 있다. 대안적으로, 테스트 데이터의 감소된 양 또는 부표본화된 데이터의 집합은 모바일 애플리케이션의 수신 프로세스를 에뮬레이팅하는데 이용될 수 있다. AEMS가 테스트 데이터의 제1 집합을 송신하는 것을 끝내면, MMA는 수신된 테스트 데이터의 제1 집합으로부터 특정 성능 측정치를 수집할 수 있다. MMA가 테스트 데이터를 미리 아는 경우, 비디오 스트림에 대한 분당 글리치 수와 같은 측정치를 결정하기 위하여, 추가적인 높은 수준의 서비스 품질 분석을 수행할 수 있다. 추가적으로, AEMS가 테스트 데이터의 부표본 집합을 송신하면, MMA는 샘플 비율의 역수로 테스트 데이터의 부표본 집합으로부터 수집된 네트워크 성능 측정치를 곱할 수 있다. 곱의 결과는 서비스 품질 값을 결정하도록 추가적으로 이용될 수 있다.
즉, 서비스 품질 값은 AEMS로부터의 테스트 데이터의 제1 집합의 상기 수신에 기초하여 MMA에 의하여 생성될 수 있다. 블록(450)에서, MMA는 AEMS로 생성된 서비스 품질 값을 보낼 수 있다. 따라서, 그 관점에서 AEMS는 모바일 장치로부터 모바일 애플리케이션에 대한 제1 서비스 품질을 수신할 수 있고, 이는 모바일 장치로의 테스트 데이터의 제1 집합의 상기 송신에 기초한다. 그러한 서비스 품질 값은 모바일 네트워크를 통하여 애플리케이션 데이터를 수신하는 동안 경험되는 모바일 애플리케이션에 대한 서비스 품질을 반영하도록 사용될 수 있다.
일 구현예에서, 블록(420)에서의 결정이 모바일 애플리케이션이 모바일 네트워크로 애플리케이션 데이터를 송신함을 나타내면, 프로세스(401)는 블록(440)으로 진행할 수 있고, 여기에서 MMA는, 애플리케이션 데이터를 송신함에 있어 모바일 애플리케이션과 동일한 네트워크 송신 메커니즘을 활용하여, 테스트 데이터의 제2 집합을 모바일 장치로부터 AEMS로 송신함으로써 모바일 애플리케이션을 에뮬레이팅할 수 있다. 따라서, 블록(440)에서, AEMS는 모바일 장치로부터 테스트 데이터의 제2 집합을 수신할 수 있다. 테스트 데이터의 제2 집합의 송신에 기초하여, MMA는 서비스 품질 값을 결정하고, 그러한 서비스 품질 값을 AEMS로 송신한다. 따라서, 블록(460)에서, AEMS는 모바일 장치로부터, 상기 테스트 데이터의 제2 집합의 수신에 기초하여 모바일 애플리케이션에 대한 제2 서비스 품질을 수신할 수 있다.
일 구현예에서, 블록(470)에서, AEMS는 상이한 모바일 장치로부터 특정 모바일 애플리케이션에 대한 다수의 서비스 품질을 수신할 수 있고, 각각의 서비스 품질은 대응하는 모바일 장치에서 실행되는 특정 모바일 애플리케이션을 모니터링하고 에뮬레이팅하는 MMA에 의하여 생성된다. 따라서, 상이한 모바일 장치로부터 수집되는 다수의 서비스 품질 값은 특정 모바일 애플리케이션에 대하여 의미 있게 분석될 수 있다. 블록(480)에서, 다수의 서비스 품질 값에 기초하여, 종합된 서비스 품질의 값이 특정 모바일 애플리케이션에 대하여 결정될 수 있고, 특정 모바일 애플리케이션은 이러한 모바일 장치에서 고정된 시간 주기 내에 동시에 실행되거나 실행되어 왔을 수 있다. 예를 들어, 모바일 애플리케이션이 모바일 장치 중 일부에 대하여 낮은 서비스 품질 값을 수신하는 반면, 다른 모바일 장치에 대하여 보통의 또는 높은 서비스 품질을 가지는 경우, 잠재적인 네트워크 쟁점은 모바일 장치 또는 모바일 네트워크에 관련될 수 있다. 이와 비교하여, 모든 모바일 장치가 이러한 특정 모바일 애플리케이션에 대하여 낮은 서비스 품질을 경험한다면, 문제는 모바일 애플리케이션 서버 또는 AEMS에 관련될 수 있다. 따라서, 종합된 서비스 품질 값을 평가함으로써, AEMS 및 MMA는 그렇지 않으면 애플리케이션 계층 수준에 있지 않은 서비스 품질의 평가나 고립된 서비스 품질 값을 평가함으로써 쉽게 검출될 수 없는 네트워크 문제를 식별할 수 있다.
시스템의 양상들의 하드웨어 및 소프트웨어 구현 사이에는 구별이 거의 없다; 하드웨어 또는 소프트웨어의 사용은 일반적으로 (그러나 어떤 문맥에서 하드웨어 및 소프트웨어 사이의 선택이 중요할 수 있다는 점에서 항상 그런 것은 아니지만) 비용 대비 효율의 트레이드오프(tradeoff)를 나타내는 설계상 선택(design choice)이다. 본 개시에서 기재된 프로세스 및/또는 시스템 및/또는 다른 기술들이 영향 받을 수 있는 다양한 수단(vehicles)(예를 들어, 하드웨어, 소프트웨어 및/또는 펌웨어)이 있으며, 선호되는 수단은 프로세스 및/또는 시스템 및/또는 다른 기술이 사용되는 컨텍스트(context)에 따라 변경될 것이다. 예를 들어, 구현자가 속도 및 정확성이 가장 중요하다고 결정한다면, 구현자는 주로 하드웨어 및/또는 펌웨어 수단을 선택할 수 있으며, 유연성이 가장 중요하다면, 구현자는 주로 소프트웨어 구현을 선택할 수 있다; 또는, 다른 대안으로서, 구현자는 하드웨어, 소프트웨어 및/또는 펌웨어의 어떤 결합을 선택할 수 있다.
전술한 상세한 설명은 블록도, 흐름도, 및/또는 예를 통해 장치의 다양한 실시예 및/또는 프로세스를 설명하였다. 그러한 블록도, 흐름도, 및/또는 예는 하나 이상의 기능 및/또는 동작을 포함하는 한, 당업자라면 그러한 블록도, 흐름도, 또는 예 내의 각각의 기능 및/또는 동작은 하드웨어, 소프트웨어, 펌웨어, 또는 가상의 그들의 임의의 조합의 넓은 범위에 의해 개별적으로 및/또는 집합적으로 구현될 수 있다는 것이 이해될 것이다. 일 실시예에서, 본 개시에 기재된 대상의 몇몇 부분은 ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), DSP(Digital Signal Processor), ARM 프로세서, CPU 또는 다른 집적의 형태를 통해 구현될 수 있다. 그러나, 당업자라면, 본 개시의 실시예의 일부 양상은, 하나 이상의 컴퓨터 상에 실행되는 하나 이상의 컴퓨터 프로그램(예를 들어, 하나 이상의 컴퓨터 시스템 상에 실행되는 하나 이상의 프로그램), 하나 이상의 프로세서 상에서 실행되는 하나 이상의 프로그램(예를 들어, 하나 이상의 마이크로프로세서 상에서 실행되는 하나 이상의 프로그램), 펌웨어 또는 실질적으로 이들의 조합으로써, 전체적으로 또는 부분적으로 균등하게 집적회로에 구현될 수 있다는 알 수 있으며, 소프트웨어 및/또는 펌웨어를 위한 코드의 작성 및/또는 회로의 설계는 본 개시에 비추어 당업자에게 자명할 것이다. 또한, 당업자라면, 본 개시의 대상의 메커니즘들이 다양한 형태의 프로그램 제품으로 분포될 수 있음을 이해할 것이며, 본 개시의 대상의 예시는, 분배를 실제로 수행하는데 사용되는 신호 포함 매체(signal bearing medium)의 특정 유형과 무관하게 적용됨을 이해할 것이다. 신호 포함 매체의 예는, 플로피 디스크, 하드 디스크 드라이브, CD, DVD, 디지털 테이프, 컴퓨터 메모리, 플래시 메모리(flash memory) 등과 같은 판독가능 유형의 매체, 디지털 및/또는 아날로그 통신 매체(예를 들어, 섬유 광학 케이블, 웨이브가이드, 유선 통신 링크, 무선 통신 링크 등)와 같은 전송 유형 매체를 포함할 수 있으나, 이에 제한되지는 않는다.
당업자라면, 여기서 설명된 형식으로 장치 및/또는 프로세스를 기술하고, 이후, 공학 실무를 사용하여 그러한 기술된 장치(예를 들면, 전송기, 수신기, 컴퓨팅 플랫폼, 컴퓨팅 장치 등) 및/또는 방법을 데이터 처리 시스템에 통합한다는 것은 당해 분야에서는 일반적이란 것을 인식할 것이다. 즉, 여기서 기술된 장치 및/또는 방법의 적어도 일부는 합당한 실험량을 통해 데이터 처리 시스템에 통합될 수 있다. 당업자라면, 전형적인 데이터 처리 시스템은 일반적으로 하나 이상의 시스템 유닛 하우징, 비디오 디스플레이 장치, 휘발성 및 비휘발성 메모리 같은 메모리, 마이크로프로세서 및 디지털 신호 프로세서 같은 프로세서, 운영 체제, 드라이버, 그래픽 사용자 인터페이스 및 애플리케이션 프로그램과 같은 컴퓨터 엔티티(computational entities), 터치 패드 또는 스크린 같은 하나 이상의 상호작용 장치, 및/또는 피드백 루프 및 제어 모터(예를 들면, 위치 및/또는 속도를 감지하기 위한 피드백; 컴포넌트 및/또는 양(quantities)을 이동하고 및/또는 조정하기 위한 제어 모터)를 포함하는 제어 시스템을 일반적으로 포함한다는 것을 인식할 것이다. 전형적인 데이터 처리 시스템은 데이터 컴퓨팅/통신 및/또는 네트워크 컴퓨팅/통신 시스템에서 전형적으로 발견되는 바와 같은 임의의 적절한 상업적으로 이용가능한 컴포넌트를 이용하여 구현될 수 있다.
여기서 기술된 대상은 때때로 상이한 다른 컴포넌트 내에 포함되거나 접속된 상이한 컴포넌트를 도시한다. 도시된 그러한 아키텍처는 단순히 예시적인 것이고, 사실상 동일한 기능을 달성하는 다른 많은 아키텍처가 구현될 수 있다는 것이 이해되어야 한다. 개념적으로, 동일한 기능을 달성하기 위한 컴포넌트의 임의의 배치는 원하는 기능이 달성되도록 유효하게 "연관"된다. 이에 따라, 특정 기능을 달성하기 위해 여기서 결합된 임의의 두 개의 컴포넌트는, 아키텍처 또는 중간 컴포넌트와는 무관하게, 원하는 기능이 달성되도록 서로 "연관"된 것으로 볼 수 있다. 마찬가지로, 연관된 두 개의 컴포넌트는 또한 원하는 기능을 달성하기 위해 서로 "동작적으로 접속"되거나 또는 "동작적으로 연결"되는 것으로 간주될 수 있고, 그와 같이 연관될 수 있는 임의의 두 개의 컴포넌트는 또한 원하는 기능을 달성하기 위해 서로 "동작적으로 연결가능"한 것으로 볼 수 있다. 동작적으로 연결 가능하다는 것의 특정 예는 물리적으로 양립가능(mateable)하고 및/또는 물리적으로 상호작용하는 컴포넌트 및/또는 무선으로 상호작용이 가능하고 및/또는 무선으로 상호작용하는 컴포넌트 및/또는 논리적으로 상호작용하고 및/또는 논리적으로 상호작용이 가능한 컴포넌트를 포함하지만, 이에 한정되는 것은 아니다.
여기에서 실질적으로 임의의 복수 및/또는 단수의 용어의 사용에 대하여, 당업자는 맥락 및/또는 응용에 적절하도록, 복수를 단수로 및/또는 단수를 복수로 해석할 수 있다. 다양한 단수/복수의 치환은 명확성을 위해 여기에서 명시적으로 기재될 수 있다.
당업자라면, 일반적으로 본 개시에 사용되며 특히 첨부된 청구범위(예를 들어, 첨부된 청구범위)에 사용된 용어들이 일반적으로 "개방적(open)" 용어(예를 들어, 용어 "포함하는"은 "포함하지만 이에 제한되지 않는"으로, 용어 "갖는"는 "적어도 갖는"으로, 용어 "포함하다"는 "포함하지만 이에 한정되지 않는" 등으로 해석되어야 함)로 의도되었음을 이해할 것이다. 또한, 당업자라면, 도입된 청구항의 기재사항의 특정 수가 의도된 경우, 그러한 의도가 청구항에 명시적으로 기재될 것이며, 그러한 기재사항이 없는 경우, 그러한 의도가 없음을 또한 이해할 것이다. 예를 들어, 이해를 돕기 위해, 이하의 첨부 청구범위는 "적어도 하나" 및 "하나 이상" 등의 도입 구절의 사용을 포함하여 청구항 기재사항을 도입할 수 있다. 그러나, 그러한 구절의 사용이, 부정관사 "하나"("a" 또는 "an")에 의한 청구항 기재사항의 도입이, 그러한 하나의 기재사항을 포함하는 실시예로, 그러한 도입된 청구항 기재사항을 포함하는 특정 청구항을 제한함을 암시하는 것으로 해석되어서는 안되며, 동일한 청구항이 도입 구절인 "하나 이상" 또는 "적어도 하나" 및 "하나"("a" 또는 "an")과 같은 부정관사(예를 들어, "하나"는 "적어도 하나" 또는 "하나 이상"을 의미하는 것으로 일반적으로 해석되어야 함)를 포함하는 경우에도 마찬가지로 해석되어야 한다. 이는 청구항 기재사항을 도입하기 위해 사용된 정관사의 경우에도 적용된다. 또한, 도입된 청구항 기재사항의 특정 수가 명시적으로 기재되는 경우에도, 당업자라면 그러한 기재가 일반적으로 적어도 기재된 수(예를 들어, 다른 수식어가 없는 "두개의 기재사항"을 단순히 기재한 것은, 일반적으로 적어도 두 개의 기재사항 또는 두 개 이상의 기재사항을 의미함)를 의미하도록 해석되어야 함을 이해할 것이다. 또한, "A, B 및 C,등 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 당업자가 그 규칙을 이해할 것이라는 전제가 의도된 것이다(예를 들어, "A, B 및 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, A, B, 및 C를 함께 갖는 시스템을 포함하지만 이에 제한되지 않음). "A, B 또는 C 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 당업자가 그 규칙을 이해할 것이라는 전제가 의도된 것이다(예를 들어, "A, B 또는 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, A, B, 및 C를 함께 갖는 시스템을 포함하지만 이에 제한되지 않음). 또한 당업자라면, 실질적으로 어떠한 이접 접속어(disjunctive word) 및/또는 두 개 이상의 대안적인 용어들을 나타내는 구절은, 그것이 상세한 설명, 청구범위 또는 도면에 있는지와 상관없이, 그 용어들 중의 하나, 그 용어들 중의 어느 하나, 또는 그 용어들 두 개 모두를 포함하는 가능성을 고려했음을 이해할 것이다. 예를 들어, "A 또는 B"라는 구절은 "A" 또는 "B" 또는 "A 및 B"의 가능성을 포함하는 것으로 이해될 것이다.
다양한 양상 및 실시예들이 본 개시에서 기술되었지만, 다른 양상 및 실시예들이 당업자에게 명확할 것이다. 본 개시에 기재된 다양한 양상 및 실시예는 예시의 목적으로 제시된 것이고, 제한하려고 의도된 것은 아니며, 진정한 범위 및 사상은 이하 청구범위에 의해 나타낸다.

Claims (20)

  1. 모바일 네트워크와 결합된 모바일 장치 상에서 실행되는 모바일 애플리케이션에 대한 서비스 품질(quality-of-service)을 결정하기 위한 방법으로서,
    모니터링 애플리케이션에 의하여 애플리케이션 계층 수준(application layer level)에서, 상기 모바일 애플리케이션이 상기 모바일 장치 상에서 실행되고 상기 모바일 네트워크를 통하여 통신하는 동안 상기 모바일 애플리케이션의 네트워크 사용 패턴을 모니터링(monitoring)하는 단계;
    상기 모니터링 애플리케이션에 의하여, 상기 모바일 네트워크를 통하여 테스트 데이터를 송신 또는 수신함으로써 상기 모바일 애플리케이션의 상기 네트워크 사용 패턴을 에뮬레이팅(emulating)하는 단계; 및
    상기 모니터링 애플리케이션에 의하여, 송신 또는 수신되는 상기 테스트 데이터를 분석함으로써 상기 모바일 애플리케이션에 대한 상기 서비스 품질을 결정하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 모바일 장치 상에 설치된 상기 모바일 애플리케이션을 식별하는 단계; 및
    상기 모바일 장치 상에서 활성화된 상기 모바일 애플리케이션을 검출하는 단계
    를 더 포함하는 방법.
  3. 제2항에 있어서,
    상기 모바일 애플리케이션을 식별하는 단계는,
    상기 모바일 네트워크를 통하여 통신하는 상기 모바일 애플리케이션의 상기 네트워크 사용 패턴에 기초하여 상기 모바일 애플리케이션을 식별하는 단계를 더 포함하는, 방법.
  4. 제1항에 있어서,
    상기 네트워크 사용 패턴을 모니터링하는 단계는,
    상기 모바일 애플리케이션이 상기 모바일 네트워크를 통하여 애플리케이션 데이터를 송신하는지 또는 수신하는지를 검출하는 단계를 더 포함하는, 방법.
  5. 제4항에 있어서,
    상기 네트워크 사용 패턴을 에뮬레이팅하는 단계는,
    상기 모바일 애플리케이션이 상기 애플리케이션 데이터를 송신하거나 수신하면 상기 모바일 네트워크를 통하여 상기 테스트 데이터를 동시에 송신하거나 수신하는 단계를 더 포함하는, 방법.
  6. 제4항에 있어서,
    상기 네트워크 사용 패턴을 에뮬레이팅하는 단계는,
    상기 모바일 애플리케이션이 상기 모바일 네트워크를 통하여 상기 애플리케이션 데이터를 송신한다고 결정하면, 동시에 상기 모바일 네트워크를 통하여 상기 테스트 데이터를 송신하는 단계; 및
    상기 모바일 애플리케이션이 상기 모바일 네트워크를 통하여 상기 애플리케이션 데이터를 수신한다고 결정하면, 동시에 상기 모바일 네트워크를 통하여 상기 테스트 데이터를 수신하는 단계를 더 포함하는, 방법.
  7. 제1항에 있어서,
    상기 네트워크 사용 패턴을 에뮬레이팅하는 단계는,
    상기 테스트 데이터로서 미리 정의된 데이터의 집합을 로딩(loading)하는 단계; 및
    상기 모바일 애플리케이션의 네트워크 송신 메커니즘을 이용하여 상기 미리 정의된 데이터의 집합을 원격의 모니터링 시스템으로 송신하거나 상기 원격의 모니터링 시스템으로부터 수신하는 단계를 더 포함하는, 방법.
  8. 제1항에 있어서,
    상기 네트워크 사용 패턴을 상기 에뮬레이팅하는 단계는,
    상기 모바일 네트워크를 통하여 상기 테스트 데이터의 샘플(sample)을 송신하거나 수신함으로써 상기 네트워크 사용 패턴을 에뮬레이팅하는 단계를 더 포함하고, 상기 테스트 데이터의 상기 샘플은 샘플 비율(sample rate)에 의하여 상기 테스트 데이터를 감소시킴으로써 생성되는, 방법.
  9. 제8항에 있어서,
    상기 모바일 애플리케이션에 대한 상기 서비스 품질을 결정하는 단계는,
    상기 샘플 비율로, 상기 테스트 데이터의 상기 샘플의 상기 송신 또는 수신으로부터 수집되는 네트워크 성능 측정치(network performance measurement)를 곱하는 단계를 더 포함하는, 방법.
  10. 제1항에 있어서,
    상기 모바일 애플리케이션에 대한 상기 서비스 품질을 결정하는 단계는,
    상기 테스트 데이터의 상기 송신 또는 수신으로부터 복수의 네트워크 성능 측정치를 수집하는 단계; 및
    상기 복수의 네트워크 성능 측정치에 기초하여 상기 모바일 애플리케이션에 대한 상기 서비스 품질을 결정하는 단계를 더 포함하는, 방법.
  11. 제1항에 있어서,
    상기 모바일 애플리케이션에 대한 상기 서비스 품질을 결정하는 단계는,
    송신 및 수신되는 상기 테스트 데이터의 송신 패턴을 평가하는 단계; 및
    상기 송신 패턴에 기초하여 상기 모바일 네트워크에서 발생하는 네트워크 문제를 식별하는 단계를 더 포함하는, 방법.
  12. 제1항에 있어서,
    상기 방법은 컴퓨팅 프로세서(computing processor)에 의하여 실행될 때 상기 컴퓨팅 프로세서가 상기 방법을 수행하도록 야기하는 명령의 집합으로서 머신 판독 가능 매체(machine-readable medium)에서 구현되는, 방법.
  13. 모바일 네트워크와 결합된 모바일 장치 상에서 실행되는 모바일 애플리케이션에 대한 서비스 품질을 결정하기 위한 방법으로서,
    상기 모바일 장치로부터, 상기 모바일 애플리케이션이 상기 모바일 장치 상에서 실행되고 상기 모바일 네트워크를 통하여 통신하는 동안 상기 모바일 애플리케이션을 모니터링함으로써 획득된 네트워크 사용 패턴에 기초하여 상기 모바일 애플리케이션을 에뮬레이팅하기 위한 제1 요청을 수신하는 단계 - 상기 네트워크 사용 패턴은 상기 모바일 애플리케이션이 네트워크 송신 메커니즘을 이용하여 상기 모바일 네트워크로부터 애플리케이션 데이터를 수신함을 나타냄 -;
    상기 네트워크 송신 메커니즘을 이용하여 상기 모바일 장치로 테스트 데이터의 제1 집합을 송신함으로써 상기 모바일 애플리케이션의 상기 네트워크 사용 패턴을 에뮬레이팅하는 단계; 및
    상기 모바일 장치로부터, 상기 테스트 데이터의 제1 집합의 상기 송신에 기초하여 상기 모바일 애플리케이션에 대한 상기 서비스 품질을 수신하는 단계
    를 포함하는 방법.
  14. 제13항에 있어서,
    상기 모바일 장치로부터, 상기 네트워크 사용 패턴에 기초하여 상기 모바일 애플리케이션을 에뮬레이팅하기 위한 제2 요청을 수신하는 단계 - 상기 네트워크 사용 패턴은 상기 모바일 애플리케이션이 상기 네트워크 송신 메커니즘을 이용하여 상기 모바일 네트워크로 상기 애플리케이션 데이터를 송신함을 나타냄 -;
    상기 네트워크 송신 메커니즘을 이용하여 상기 모바일 장치로부터 테스트 데이터의 제2 집합을 수신함으로써 상기 모바일 애플리케이션의 상기 네트워크 사용 패턴을 에뮬레이팅하는 단계; 및
    상기 모바일 장치로부터, 상기 테스트 데이터의 제2 집합의 상기 수신에 기초하여 상기 모바일 애플리케이션에 대한 상기 서비스 품질을 수신하는 단계
    를 더 포함하는 방법.
  15. 제14항에 있어서,
    다수의 모바일 장치로부터, 상기 다수의 모바일 장치 각각에서 실행되는 상기 모바일 애플리케이션에 대한 복수의 서비스 품질을 수신하는 단계; 및
    상기 복수의 서비스 품질에 기초하여, 상기 다수의 모바일 장치에서 실행되는 상기 모바일 애플리케이션에 대한 종합된 서비스 품질을 결정하는 단계
    를 더 포함하는 방법.
  16. 제13항에 있어서,
    상기 모바일 애플리케이션에 대한 상기 서비스 품질을 결정하는 단계는,
    상기 모바일 애플리케이션에 연관된 효용 함수(utility function)를 선택하는 단계;
    상기 테스트 데이터의 제1 집합의 상기 송신으로부터 복수의 네트워크 성능 측정치를 수집하는 단계; 및
    상기 복수의 네트워크 성능 측정치를 상기 효용 함수에 입력함으로써 상기 서비스 품질을 계산하는 단계를 더 포함하는, 방법.
  17. 모바일 장치 상에서 실행되는 모바일 애플리케이션에 대한 서비스 품질을 결정하도록 구성되는 시스템으로서,
    모바일 네트워크와 연결하도록 구성된 모니터링 시스템; 및
    상기 모바일 애플리케이션이 상기 모바일 장치 상에서 실행되고 상기 모바일 네트워크를 통하여 통신하는 동안 상기 모바일 애플리케이션의 네트워크 사용 패턴을 모니터링하고 상기 모바일 장치 상에서 실행되도록 구성되는 모니터링 애플리케이션
    을 포함하고,
    상기 네트워크 사용 패턴은 상기 모바일 애플리케이션이 애플리케이션 데이터를 상기 모바일 네트워크로 송신하는지 또는 상기 모바일 네트워크로부터 수신하는지를 나타내고, 상기 모니터링 애플리케이션은 상기 모니터링 시스템으로부터 테스트 데이터의 제1 집합을 수신함으로써 상기 애플리케이션 데이터를 수신함에 있어서 상기 모바일 애플리케이션의 상기 네트워크 사용 패턴을 에뮬레이팅하도록 구성되며, 상기 모니터링 애플리케이션은 상기 수신된 테스트 데이터의 제1 집합을 분석함으로써 상기 모바일 애플리케이션에 대한 상기 서비스 품질을 결정하도록 구성되는, 시스템.
  18. 제17항에 있어서,
    상기 모니터링 시스템은 상기 테스트 데이터의 제1 집합을 상기 모니터링 애플리케이션으로 송신하고 테스트 데이터의 제2 집합을 상기 모니터링 애플리케이션으로부터 수신함으로써 상기 애플리케이션 데이터를 수신함에 있어서 상기 모바일 애플리케이션의 상기 네트워크 사용 패턴을 에뮬레이팅하도록 구성되고, 상기 모니터링 시스템은 상기 테스트 데이터의 제1 집합 및 상기 테스트 데이터의 제2 집합을 분석함으로써 상기 모바일 애플리케이션에 대한 상기 서비스 품질을 결정하도록 구성되는, 시스템.
  19. 제17항에 있어서,
    상기 모니터링 애플리케이션은 테스트 데이터의 제3 집합을 상기 모니터링 시스템으로 송신함으로써 상기 애플리케이션 데이터를 송신함에 있어서 상기 모바일 애플리케이션의 상기 네트워크 사용 패턴을 에뮬레이팅하도록 구성되며, 상기 모니터링 시스템은 상기 테스트 데이터의 제3 집합을 분석함으로써 상기 모바일 애플리케이션에 대한 상기 서비스 품질을 결정하도록 구성되는, 시스템.
  20. 제17항에 있어서,
    상기 모니터링 애플리케이션 및 상기 모니터링 시스템과 결합된 모니터링 큐(monitoring queue)를 더 포함하고, 상기 모니터링 큐는 상기 테스트 데이터의 제1 집합을 저장하고 상기 테스트 데이터의 제1 집합을 상기 모바일 애플리케이션과 연관시키도록 구성되는, 시스템.
KR1020127015291A 2009-12-24 2010-12-13 동적 모바일 애플리케이션 서비스 품질 모니터링 및 보고 KR101365260B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/647,256 US8578020B2 (en) 2009-12-24 2009-12-24 Dynamic mobile application quality-of-service monitoring and reporting
US12/647,256 2009-12-24
PCT/SG2010/000464 WO2011078793A1 (en) 2009-12-24 2010-12-13 Dynamic mobile application quality-of-service monitoring and reporting

Publications (2)

Publication Number Publication Date
KR20120093360A KR20120093360A (ko) 2012-08-22
KR101365260B1 true KR101365260B1 (ko) 2014-02-20

Family

ID=44188799

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127015291A KR101365260B1 (ko) 2009-12-24 2010-12-13 동적 모바일 애플리케이션 서비스 품질 모니터링 및 보고

Country Status (5)

Country Link
US (1) US8578020B2 (ko)
JP (1) JP5483778B2 (ko)
KR (1) KR101365260B1 (ko)
CN (1) CN102668619B (ko)
WO (1) WO2011078793A1 (ko)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003058879A1 (en) 2002-01-08 2003-07-17 Seven Networks, Inc. Secure transport for mobile communication network
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US8644813B1 (en) 2009-12-02 2014-02-04 Sprint Communications Company L.P. Customer initiated mobile diagnostics service
US8849241B2 (en) * 2010-06-28 2014-09-30 Nokia Corporation Method and apparatus for providing energy-aware connection and code offloading
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
JP5620578B2 (ja) 2010-07-26 2014-11-05 セブン ネットワークス インコーポレイテッド 複数のアプリケーションにわたるモバイルネットワークトラフィック調整
US8583091B1 (en) 2010-09-06 2013-11-12 Sprint Communications Company L.P. Dynamic loading, unloading, and caching of alternate complete interfaces
US9215548B2 (en) 2010-09-22 2015-12-15 Ncc Group Security Services, Inc. Methods and systems for rating privacy risk of applications for smart phones and other mobile platforms
EP2630750B1 (en) * 2010-10-19 2015-12-23 Telefonaktiebolaget L M Ericsson (PUBL) Quality of service monitoring device and method of monitoring quality of service
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US8903954B2 (en) 2010-11-22 2014-12-02 Seven Networks, Inc. Optimization of resource polling intervals to satisfy mobile device requests
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
CN101977239B (zh) * 2010-11-11 2015-04-22 华为技术有限公司 一种制定策略的方法、策略服务器及网关
EP2656543B1 (en) * 2010-12-20 2015-02-25 Telefonaktiebolaget LM Ericsson (PUBL) Method of and device for service monitoring and service monitoring management
EP2661697B1 (en) 2011-01-07 2018-11-21 Seven Networks, LLC System and method for reduction of mobile network traffic used for domain name system (dns) queries
US9123062B1 (en) 2011-02-18 2015-09-01 Sprint Communications Company L.P. Ad sponsored interface pack
US9043446B1 (en) 2011-03-10 2015-05-26 Sprint Communications Company L.P. Mirroring device interface components for content sharing
WO2012145541A2 (en) 2011-04-19 2012-10-26 Seven Networks, Inc. Social caching for device resource sharing and management
EP2702500B1 (en) 2011-04-27 2017-07-19 Seven Networks, LLC Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
EP2556441B8 (en) 2011-04-27 2015-11-25 Seven Networks, LLC System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief
US9372733B2 (en) * 2011-08-30 2016-06-21 Open Text S.A. System and method for a distribution manager
US8874043B2 (en) * 2011-09-20 2014-10-28 Spirent Communications, Inc. System and method for determining quality of service of a mobile device
US9619810B1 (en) 2011-10-11 2017-04-11 Sprint Communications Company L.P. Zone architecture for dynamic targeted content creation
US8897144B2 (en) * 2011-10-14 2014-11-25 T-Mobile Usa, Inc. Quality of user experience testing for video transmissions
CN103108320A (zh) * 2011-11-15 2013-05-15 网秦无限(北京)科技有限公司 一种监控移动设备的应用程序的方法和系统
US9100854B2 (en) 2011-12-06 2015-08-04 T-Mobile Usa, Inc. Quality of service application controller and user equipment application profiler
EP2789138B1 (en) 2011-12-06 2016-09-14 Seven Networks, LLC A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation
US8918503B2 (en) 2011-12-06 2014-12-23 Seven Networks, Inc. Optimization of mobile traffic directed to private networks and operator configurability thereof
EP2788889A4 (en) 2011-12-07 2015-08-12 Seven Networks Inc FLEXIBLE AND DYNAMIC INTEGRATION SCHEMES OF A TRAFFIC MANAGEMENT SYSTEM WITH VARIOUS NETWORK OPERATORS TO REDUCE NETWORK TRAFFIC
US9277443B2 (en) 2011-12-07 2016-03-01 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
EP2792188B1 (en) 2011-12-14 2019-03-20 Seven Networks, LLC Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system
GB2499089B (en) * 2011-12-14 2017-01-04 Seven Networks Llc Mobile network reporting and usage analytics system and method aggregated using a distributed traffic optimization system
US8588764B1 (en) * 2012-01-26 2013-11-19 Sprint Communications Company L.P. Wireless network edge guardian
EP2812805A4 (en) * 2012-02-07 2015-10-28 Hewlett Packard Development Co TESTING A MOBILE APPLICATION
CN104160734B (zh) 2012-03-08 2018-09-21 英派尔科技开发有限公司 测量与移动装置关联的体验质量
US9152541B1 (en) 2012-03-22 2015-10-06 Amazon Technologies, Inc. Automated mobile application verification
GB2490390B (en) * 2012-03-29 2014-01-29 Renesas Mobile Corp Method, apparatus and computer program for latency measurement
US9596697B2 (en) * 2012-04-03 2017-03-14 T-Mobile Usa, Inc. Application controller for quality-of-service configuration of a telecommunication device radio
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
CN103457783B (zh) * 2012-05-31 2017-04-12 国际商业机器公司 用于测试移动网络应用的方法和系统
US8843122B1 (en) 2012-06-29 2014-09-23 Sprint Communications Company L.P. Mobile phone controls preprocessor
WO2014011216A1 (en) 2012-07-13 2014-01-16 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9413839B2 (en) * 2012-07-31 2016-08-09 Sprint Communications Company L.P. Traffic management of third party applications
US9183412B2 (en) 2012-08-10 2015-11-10 Sprint Communications Company L.P. Systems and methods for provisioning and using multiple trusted security zones on an electronic device
US10162693B1 (en) 2012-10-18 2018-12-25 Sprint Communications Company L.P. Evaluation of mobile device state and performance metrics for diagnosis and troubleshooting of performance issues
US9442709B1 (en) 2012-10-24 2016-09-13 Sprint Communications Company L.P. Transition experience during loading and updating an interface and applications pack
US9386463B1 (en) 2012-11-19 2016-07-05 Sprint Communications Company L.P. Application risk analysis
US8874761B2 (en) * 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
WO2014189224A1 (ko) * 2013-05-20 2014-11-27 주식회사 아이디어웨어 무선 네트워크 부하 저감을 위한 서버 장치, 그 동작 방법 및 기록매체
US9329976B1 (en) * 2013-06-24 2016-05-03 Amazon Technologies, Inc. Application development via a multi-unit device
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
WO2015052550A1 (en) * 2013-10-11 2015-04-16 Sony Corporation Output power control for wireless local area networks
CN103593288B (zh) * 2013-11-06 2017-04-05 东北师范大学 一种WS‑BPEL工作流分析感知QoS的测试方法
FR3014630B1 (fr) * 2013-12-09 2017-04-21 Oberthur Technologies Procede de test de qualite de service, module d'identite de souscripteur, terminal mobile et systeme correspondants
KR102298562B1 (ko) 2014-01-17 2021-09-06 에스케이플래닛 주식회사 애플리케이션 실행 품질 서비스 시스템 및 방법
US9513888B1 (en) 2014-01-30 2016-12-06 Sprint Communications Company L.P. Virtual preloads
GB2526774A (en) * 2014-04-04 2015-12-09 Regenersis Glenrothes Ltd A portable testing apparatus and method
DE102014006038A1 (de) 2014-04-25 2015-10-29 Unify Gmbh & Co. Kg Verfahren und Vorrichtung zur Übermittlung und Adaption von Daten, Computerprogramm, Softwareprodukt und Digitales Speichermedium
CN104113870B (zh) * 2014-07-29 2019-01-08 中国联合网络通信集团有限公司 网络测试方法和移动终端
GB201418003D0 (en) * 2014-10-10 2014-11-26 Truphone Ltd System architecture parachute box system HLD
US10241845B2 (en) 2015-02-27 2019-03-26 Entit Software Llc Application event tracing
US9838888B2 (en) 2015-02-27 2017-12-05 T-Mobile Usa, Inc. Network diagnostic applications
US10623280B2 (en) * 2015-03-20 2020-04-14 British Telecommunications Public Limited Company Diagnostic testing
US9483253B1 (en) 2015-04-30 2016-11-01 Sprint Communications Company L.P. Methods for customization of default applications on a mobile communication device
US10154053B2 (en) * 2015-06-04 2018-12-11 Cisco Technology, Inc. Method and apparatus for grouping features into bins with selected bin boundaries for use in anomaly detection
US10505819B2 (en) * 2015-06-04 2019-12-10 Cisco Technology, Inc. Method and apparatus for computing cell density based rareness for use in anomaly detection
US9641264B2 (en) 2015-09-25 2017-05-02 Root Wireless, Inc. Adaptive speed data collection
US10771372B2 (en) * 2016-06-16 2020-09-08 Oracle International Corporation Transmitting test traffic on a communication link
WO2018021950A1 (en) * 2016-07-26 2018-02-01 Telefonaktiebolaget Lm Ericsson (Publ) Device and method for controlling media streaming from a server to a client
US10097473B2 (en) * 2016-12-13 2018-10-09 Livio, Inc. Mobile device to vehicle output stream packet prioritization
WO2018132900A1 (en) * 2017-01-17 2018-07-26 Tutela Technologies Ltd. System and method for interacting with and controlling testing of wireless device and/or wireless network performance on wireless electronic devices
US10200914B2 (en) 2017-01-20 2019-02-05 Microsoft Technology Licensing, Llc Responsive quality of service management
CN107395404B (zh) * 2017-07-07 2018-10-30 腾讯科技(深圳)有限公司 为网络应用提示网络环境、预测服务质量的方法和装置
KR102563790B1 (ko) * 2018-05-18 2023-08-07 삼성전자주식회사 어플리케이션의 데이터 전송에 기반하여 네트워크 연결을 수행하기 위한 전자 장치 및 그에 관한 방법
US11711709B2 (en) 2018-08-23 2023-07-25 Tracfone Wireless, Inc. System and process for using cellular connectivity analysis to determine optimal wireless equipment and service for a geographical area
WO2020086542A1 (en) * 2018-10-23 2020-04-30 Intel Corporation Technologies for performance data streaming
KR20210124488A (ko) * 2020-11-09 2021-10-14 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 샘플링 대상 결정 방법, 장치, 전자 설비 및 컴퓨터 판독 가능 저장 매체

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060034185A1 (en) * 2004-07-08 2006-02-16 Patzschke Till I Systems and methods for monitoring and evaluating a connectivity device

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2077061C (en) * 1991-11-22 1998-04-21 Mark J. Baugher Scheduling system for distributed multimedia resources
US6044211A (en) * 1994-03-14 2000-03-28 C.A.E. Plus, Inc. Method for graphically representing a digital device as a behavioral description with data and control flow elements, and for converting the behavioral description to a structural description
SE521936C2 (sv) * 1996-06-26 2003-12-23 Telia Ab Metod för att effektivt använda bandbredd vid tillhandahållande av tjänster via ett digitalt cellulärt radiokommunikationssystem
US6446125B1 (en) * 1997-03-28 2002-09-03 Honeywell International Inc. Ripple scheduling for end-to-end global resource management
US6708189B1 (en) * 1997-09-30 2004-03-16 Desknet, Inc. Computer file transfer system
US6175569B1 (en) * 1997-11-07 2001-01-16 International Business Machines Corporation Extending asynchronous transfer mode ATM QoS across local area networks
US6691148B1 (en) * 1998-03-13 2004-02-10 Verizon Corporate Services Group Inc. Framework for providing quality of service requirements in a distributed object-oriented computer system
US6480879B1 (en) * 1998-03-13 2002-11-12 Genuity Inc. Framework for providing quality of service requirements in a distributed object-oriented computer system
US6629126B1 (en) * 1998-03-13 2003-09-30 Genuity Inc. Framework for providing quality of service requirements in a distributed object-oriented computer system
US6317438B1 (en) * 1998-04-14 2001-11-13 Harold Herman Trebes, Jr. System and method for providing peer-oriented control of telecommunications services
US6154778A (en) * 1998-05-19 2000-11-28 Hewlett-Packard Company Utility-based multi-category quality-of-service negotiation in distributed systems
US6985722B1 (en) * 1998-09-25 2006-01-10 Soma Networks, Inc. Telecommunication services
US6160804A (en) * 1998-11-13 2000-12-12 Lucent Technologies Inc. Mobility management for a multimedia mobile network
FI107770B (fi) * 1999-06-07 2001-09-28 Nokia Mobile Phones Ltd PDP-kontekstien hallinta matkaviestimessä
US6631122B1 (en) * 1999-06-11 2003-10-07 Nortel Networks Limited Method and system for wireless QOS agent for all-IP network
US6865609B1 (en) * 1999-08-17 2005-03-08 Sharewave, Inc. Multimedia extensions for wireless local area network
US6480898B1 (en) * 1999-09-10 2002-11-12 Array Telecom Corporation System, method, and computer program product for managing a carrier exchange network
US6728365B1 (en) * 1999-09-13 2004-04-27 Nortel Networks Limited Method and system for providing quality-of-service on packet-based wireless connections
FI20000316A (fi) 2000-02-14 2001-08-15 Nokia Networks Oy Informaatiovirran jäljittely
US20030046396A1 (en) * 2000-03-03 2003-03-06 Richter Roger K. Systems and methods for managing resource utilization in information management environments
JP3617406B2 (ja) * 2000-03-30 2005-02-02 日本電気株式会社 マルチドメインに対応した品質保証型通信サービス提供方式およびサービス提供方法並びにサービス仲介装置
JP3792985B2 (ja) * 2000-04-05 2006-07-05 キヤノン株式会社 ディレクトリサーバおよび周辺装置、その制御方法、並びに記録媒体
US6766368B1 (en) * 2000-05-23 2004-07-20 Verizon Laboratories Inc. System and method for providing an internet-based correlation service
US6941557B1 (en) * 2000-05-23 2005-09-06 Verizon Laboratories Inc. System and method for providing a global real-time advanced correlation environment architecture
DE60042965D1 (de) * 2000-05-24 2009-10-29 Sony Deutschland Gmbh Dienstqualitätsunterhandlung
US6742020B1 (en) * 2000-06-08 2004-05-25 Hewlett-Packard Development Company, L.P. System and method for managing data flow and measuring service in a storage network
US6816907B1 (en) * 2000-08-24 2004-11-09 International Business Machines Corporation System and method for providing differentiated services on the web
US6993026B1 (en) * 2000-08-31 2006-01-31 Verizon Communications Inc. Methods, apparatus and data structures for preserving address and service level information in a virtual private network
US6850495B1 (en) * 2000-08-31 2005-02-01 Verizon Communications Inc. Methods, apparatus and data structures for segmenting customers using at least a portion of a layer 2 address header or bits in the place of a layer 2 address header
US6807156B1 (en) * 2000-11-07 2004-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Scalable real-time quality of service monitoring and analysis of service dependent subscriber satisfaction in IP networks
US20020065922A1 (en) * 2000-11-30 2002-05-30 Vijnan Shastri Method and apparatus for selection and redirection of an existing client-server connection to an alternate data server hosted on a data packet network (DPN) based on performance comparisons
DE60036295T2 (de) * 2000-12-08 2008-05-29 Sony Deutschland Gmbh Schnittstelle auf hoher Ebene für dienstqualitätbasierte mobile Multimedia-Anwendungen
AU2002329611A1 (en) * 2001-07-20 2003-03-03 Altaworks Corporation System and method for adaptive threshold determination for performance metrics
US7339891B2 (en) * 2002-01-09 2008-03-04 Mverify Corporation Method and system for evaluating wireless applications
EP1331785B1 (en) * 2002-01-23 2005-04-20 Sony International (Europe) GmbH A method for enabling the negotiation of end-to-end QoS by using the end-to-end negotiation protocol (E2ENP)
US7596373B2 (en) * 2002-03-21 2009-09-29 Mcgregor Christopher M Method and system for quality of service (QoS) monitoring for wireless devices
JP2003283564A (ja) 2002-03-27 2003-10-03 Ntt Comware Corp Ipトラヒック発生装置ならびにその方法、およびトラヒック発生プログラムおよび記録媒体
US7346896B2 (en) * 2002-04-22 2008-03-18 Sun Microsystems, Inc. Slowing network connection for application optimization
EP1414211A1 (en) * 2002-10-23 2004-04-28 Sony International (Europe) GmbH Software architecture for capability and quality-of-service negotiations and session establishment for distributed multimedia applications
US7313533B2 (en) * 2003-07-11 2007-12-25 International Business Machines Corporation Systems and methods for monitoring and controlling business level service level agreements
FR2867344B1 (fr) * 2004-03-04 2006-06-02 Cit Alcatel Determination de parametres de qualite de service d'un reseau de depuis un terminal de radiocommunication
CN101120605B (zh) * 2004-12-30 2012-03-28 意大利电信股份公司 监视通信网络中的服务质量的系统
CA2611160A1 (en) * 2005-06-06 2006-12-14 Mobidia, Inc. System and method of controlling a mobile device using a network policy
JP2007228217A (ja) 2006-02-23 2007-09-06 Nec Corp トラフィック判定装置、トラフィック判定方法、及びそのプログラム
JP5038426B2 (ja) 2006-09-28 2012-10-03 クゥアルコム・インコーポレイテッド 通信リンク品質を判定する方法及び装置
KR101426464B1 (ko) 2007-12-17 2014-08-06 삼성전자주식회사 이동통신장치에서 서비스 품질정보 파라메터를 추출하는방법 및 장치
US20090227251A1 (en) * 2008-03-05 2009-09-10 Huawei Technologies Co., Inc. System and method for automatically monitoring and managing wireless network performance

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060034185A1 (en) * 2004-07-08 2006-02-16 Patzschke Till I Systems and methods for monitoring and evaluating a connectivity device

Also Published As

Publication number Publication date
JP5483778B2 (ja) 2014-05-07
CN102668619B (zh) 2015-04-08
CN102668619A (zh) 2012-09-12
US20110161484A1 (en) 2011-06-30
WO2011078793A1 (en) 2011-06-30
JP2013513883A (ja) 2013-04-22
KR20120093360A (ko) 2012-08-22
US8578020B2 (en) 2013-11-05

Similar Documents

Publication Publication Date Title
KR101365260B1 (ko) 동적 모바일 애플리케이션 서비스 품질 모니터링 및 보고
US20170223577A1 (en) Dynamic mobile application quality-of-service monitor
US11870673B2 (en) Intercepting and examining a packet header or trailer
US11082313B2 (en) Scalable end-to-end quality of service monitoring and diagnosis in software defined networks
US10237144B2 (en) Quality of user experience analysis
Aggarwal et al. Prometheus: Toward quality-of-experience estimation for mobile apps from passive network measurements
US10412550B2 (en) Remote driving of mobile device diagnostic applications
JP6366716B2 (ja) セルラー・ネットワークのための適応監視
US8509100B2 (en) User-initiated reporting of mobile communication system errors
US20090287816A1 (en) Link layer throughput testing
US10461990B2 (en) Diagnostic traffic generation for automatic testing and troubleshooting
US20130058221A1 (en) Analysis Of A Communication Event
EP3304818B1 (en) Quality of user experience analysis using echo locate
US20220247650A1 (en) Network device measurements employing white boxes
CN109151219B (zh) 呼叫中心语音质量检测方法、系统、设备及存储介质
US10841193B2 (en) Monitoring quality of service
EP2741439A1 (en) Network failure detecting method, node, and monitoring center
EP3398368A1 (en) Contextual quality of user experience analysis using equipment dynamics
JP2021141565A (ja) 仮想ゲートウェイクラスタのグローバル障害に対する監視方法及び装置
US10110445B2 (en) Closed control loops for data centers
US10756988B2 (en) System and method of isolating QoS fault
KR20200014255A (ko) 네트워크 장애 모니터링 서버 및 그 동작 방법
US20230403434A1 (en) Streaming service rating determination
US20240031252A1 (en) Methods for measuring user experience and satisfaction and identifying bottlenecks on communications networks
JP6203062B2 (ja) 通信ネットワーク監視装置、通信ネットワーク監視方法およびコンピュータプログラム

Legal Events

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

Payment date: 20161229

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 7