KR20180050389A - 무선 서비스 플랫폼들에서 서비스 발견 전력 소비를 최적화하기 위한 스마트 코-프로세서 - Google Patents

무선 서비스 플랫폼들에서 서비스 발견 전력 소비를 최적화하기 위한 스마트 코-프로세서 Download PDF

Info

Publication number
KR20180050389A
KR20180050389A KR1020187009801A KR20187009801A KR20180050389A KR 20180050389 A KR20180050389 A KR 20180050389A KR 1020187009801 A KR1020187009801 A KR 1020187009801A KR 20187009801 A KR20187009801 A KR 20187009801A KR 20180050389 A KR20180050389 A KR 20180050389A
Authority
KR
South Korea
Prior art keywords
data path
service
data packets
wireless application
application data
Prior art date
Application number
KR1020187009801A
Other languages
English (en)
Inventor
코스로 모하마드 라비
비자이 나이케르 수브라마니암
마르셀로 빈센조 리오이
파와드 쇼카트
크레이그 도웰
시바쿠마르 발라수브라마니암
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20180050389A publication Critical patent/KR20180050389A/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/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0274Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof
    • H04W52/028Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof switching on or off only a part of the equipment circuit blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/0251Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
    • H04W52/0258Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity controlling an operation mode according to history or models of usage information, e.g. activity schedule or time of day
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • 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
    • Y02D70/22

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

본 개시는 메인 무선 애플리케이션 데이터경로를 갖는 무선 서비스 플랫폼에서 전력 소비를 최적화할 수 있는 저전력 코-프로세서에 관한 것이며, 여기서 저전력 코-프로세서 서브시스템은 (예를 들어, 그 안에 상주하는 컴포넌트들이 저전력 상태로 트랜지션할 수 있도록) 메인 무선 애플리케이션 데이터경로로부터 소정의 서비스 발견 태스크들을 오프로드할 수도 있다. 예를 들어, 저전력 코-프로세서 서브시스템으로 오프로드된 서비스 발견 태스크들은 무선 디바이스에서 제공 및/또는 소비될 하나 이상의 서비스들과 연관된 프로토콜-특정 서비스 디스크립션들에 따라 결정될 수도 있다. 더욱이, 메인 무선 애플리케이션 데이터경로에서의 컴포넌트들을 웨이크하기 위한 규칙들은 메인 무선 애플리케이션 데이터경로에서의 컴포넌트들이 저전력 상태에서 소비할 수 있는 시간을 최대화하고 그리고 필요에 따라 메인 무선 애플리케이션 데이터경로에서의 컴포넌트들을 선택적으로 웨이크할 컨디션들을 결정하기 위해 동적으로 정의 및 재정의되거나 또는 다르게는 튜닝될 수도 있다.

Description

무선 서비스 플랫폼들에서 서비스 발견 전력 소비를 최적화하기 위한 스마트 코-프로세서
본 명세서에서 설명된 다양한 양태들 및 실시형태들은 일반적으로 피어 무선 디바이스들 간의 대역외 (out-of-band) 디바이스-투-디바이스 (device-to-device; D2D) 통신을 채용하는 무선 서비스 플랫폼들에서 서비스 발견 전력 소비를 최적화하기 위해 무선 애플리케이션 프로세싱 데이터경로에서 제공될 수도 있는 스마트 코-프로세서에 관한 것이다.
무선 통신 시스템들은 많은 다른 것들 중에서도, 보이스, 비디오, 패킷 데이터, 메시징, 및 브로드캐스트를 포함하는, 다양한 타입들의 통신 콘텐츠를 제공하기 위해 널리 전개된다. 무선 통신 시스템들 (예를 들어, 다수의 사용자들을 지원하기 위해 이용가능한 네트워크 리소스들을 공유할 수 있는 다중-액세스 네트워크들) 은 제 1 세대 아날로그 무선 폰 서비스 (1G), 제 2 세대 (2G) 디지털 무선 폰 서비스 (중간의 2.5G 및 2.75G 네트워크들을 포함함) 및 제 3 세대 (3G) 및 제 4 세대 (4G) 고속 데이터/인터넷-가능 무선 서비스들을 포함하는, 여러 세대들에 걸쳐 발전하여 왔다. 셀룰러 및 개인 통신 서비스 (Personal Communications Service; PCS) 시스템들을 포함하는, 많은 상이한 무선 통신 시스템들이 현재 사용되고 있다. 예의 셀룰러 시스템들은 셀룰러 아날로그 어드밴스드 모바일 폰 시스템 (Advanced Mobile Phone System; AMPS), 코드 분할 다중 액세스 (CDMA), 주파수 분할 다중 액세스 (FDMA), 시간 분할 다중 액세스 (TDMA), 직교 FDMA (OFDMA), 단일-캐리어 FDMA (SC-FDMA) 에 기초한 디지털 셀룰러 시스템들, GSM (Global System for Mobile access) TDMA 변형, 및 TDMA 와 CDMA 기술들 양자 모두를 이용하는 더 새로운 하이브리드 디지털 통신 시스템들을 포함한다. 보다 최근에는, 롱 텀 에볼루션 (Long Term Evolution; LTE) 이 모바일 폰들 및 다른 데이터 단말기들에 대한 고속 데이터의 무선 통신을 위한 무선 통신 프로토콜로서 개발되어 왔다. LTE 는 GSM 에 기초하고, 다양한 GSM-관련 프로토콜들 (예를 들어, EDGE (Enhanced Data rates for GSM Evolution)) 및 범용 모바일 전기통신 시스템 (Universal Mobile Telecommunications System; UMTS) 프로토콜들 (예를 들어, 고속 패킷 액세스 (High-Speed Packet Access; HSPA)) 로부터의 기여들을 포함한다.
일반적으로, 무선 통신 네트워크는 사용자 장비 (UE) 에 대한 통신을 지원할 수 있는 다양한 기지국들 (또한 진화된 노드 B들, eNB들, 또는 액세스 노드들로도 지칭됨) 을 포함할 수도 있다. WAN 에서, UE 는 통상적으로 UE 와 기지국 간의 업링크/다운링크 채널들을 통해 통신하여 이로써 기지국과 통신한다. 그러나, 2 개 이상의 UE들이 서로 충분히 근접하여 있다면, UE들은 직접적으로, 즉 임의의 기지국을 통하여 통신하지 않고 통신하는 것이 가능해질 수도 있다. UE 는 따라서 하나 이상의 다른 UE들과의 직접 피어-투-피어 (peer-to-peer; P2P) 또는 디바이스-투-디바이스 (D2D) 통신을 지원할 수도 있다.
예를 들어, LTE-다이렉트 (LTE-Direct (LTE-D), 때로는 또한 "LTE-어드밴스드 (LTE-Advanced)" 로도 지칭됨) 는 근접 발견 (proximate discovery) 을 위한 제안된 3GPP (Release 12) D2D 솔루션이다. LTE-D 는 큰 범위 (~500m, 가시선) 내에서 다른 LTE-다이렉트 디바이스들 상의 서비스들에 대해 직접 모니터링함으로써 로케이션 트래킹 및 네트워크 호들을 없앤다. 이로써, 다른 이점들 중에서도, LTE-D 는 동기식 시스템에서 다른 LTE-D 디바이스들 상의 서비스들에 대해 직접 모니터링하고 연속적이고 배터리 효율적인 방식으로 근접하여 있는 많은 서비스들을 동시에 검출할 수 있다. 다른 예에서, "Wi-Fi 다이렉트" (WFD) 로도 또한 알려진, Wi-Fi 얼라이언스 피어-투-피어 (P2P) 사양은 피어 무선 디바이스들 간의 사전-연관 (pre-association) 서비스 발견을 지원한다. WFD 프로토콜은, 만약 있다면, 어떤 서비스들이 피어 STA들 상에서 이용가능한지를 결정하기 위해 클라이언트 무선 디바이스 또는 스테이션 (STA) 이 Wi-Fi 범위 내의 피어 STA들에 질문하는 것을 가능하게 한다. 피어 STA들이 제공하는 서비스들을 결정하는 것은 통상적으로 디바이스 발견 페이즈 (device discovery phase) 및 서비스 발견 페이즈 (service discovery phase) 를 수반한다. 디바이스 발견 페이즈 동안에, 클라이언트 STA (예를 들어, 특정한 P2P 서비스를 요청하는 STA) 는 인커밍 (incoming) 비컨 프레임들을 검출하기 위한 3 개의 소셜 채널들 (예를 들어, 2.4 GHz 대역에서의 채널들 1, 6, 및 11) 을 "스캐닝" 하고 및/또는 소셜 채널들 상에서 청취하고 있을 수도 있는 임의의 클라이언트 STA들로 프로브 요청 프레임들을 브로드캐스트하는 것을 통해 Wi-Fi 통신 범위 내의 다른 STA들과 연관된 아이덴티티 및/또는 이용가능성을 결정한다. 그 후에, 서비스 발견 페이즈 동안에, 클라이언트 STA 는 이용가능한 피어 STA들이 제공하는 서비스들에 관해 디바이스 발견 페이즈 동안 발견되었을 수도 있는 임의의 이용가능한 피어 STA들에 질문한다. 예를 들어, 클라이언트 STA 는 통상적으로, 클라이언트 STA 가 요청된 서비스를 제공하는 적합한 피어 STA 를 식별할 때까지, 한번에 하나씩, 서비스 발견 동작을 지원하는 각각의 피어 STA 에 하나 이상의 서비스 발견 요청들을 송신한다.
이에 따라, 서비스 발견 메시징 및 시그널링은, 많은 다른 것들 중에서도, 미러링, 스크린 공유, 스트리밍 비디오, 스트리밍 오디오, 원격 비디오/그래픽스 렌디션, 원격 오디오 렌디션, 원격 센싱, 원격 제어, 및 파일 전송을 포함할 수도 있는, 많은 무선 사용 케이스들 및 애플리케이션 플랫폼들에 대한 기반이다. 일반적으로, 서비스 발견 메시지들 및 시그널링은 공지 (announcement) 들 및 질문 (inquiry) 들, 구성 (composition) 및 중재 (mediation), 제어 및 제시를 지원하는데 이용될 수 있고, 그룹 관리 및 어드레싱 제어, 서비스 품질 (QoS) 및/또는 체감 품질 (quality of experience; QoE) 관리, 및 다양한 다른 무선 사용 케이스들로 추가로 확장될 수 있다. 서비스 발견 메시징이 대역외 P2P 및/또는 D2D 통신을 지원하는데 이용되는 임의의 특정한 무선 애플리케이션 및/또는 사용 케이스에서, 무선 애플리케이션 프로세싱 데이터경로는, 부적당한 능력들, 프로세싱 밀도들, 저장 용량들, 접속 및 전력 성능 프로파일들 등을 종종 가질 많은 애드-혹 디바이스들을 포함할 수 있다. 더욱이, 임의의 디바이스는 자율적으로 그리고 다른 디바이스들의 의식 없이 동작할 수 있고, 그것에 의하여 상이한 디바이스들 간의 동작적 의존성들 및 요구된 협력이 통상적으로 애플리케이션 및/또는 사용 케이스마다 입증 및 해결된다. 이런 이유로, 협력적 및 분산된 (비구조화된) 서비스 발견 프레임워크는 통상적으로, 각각의 피어 디바이스가 항시-온 상태 (always-on state) 에서 무선 애플리케이션 데이터경로에서의 하나 이상의 컴포넌트들 (예를 들어, 서비스 발견 메시지들 및 시그널링을 프로세싱하는데 통상 이용되는 호스트 브리지, 인터커넥트 및 시스템 메모리, 호스트 애플리케이션 프로세서 및 하이-레벨 오퍼레이팅 시스템) 을 유지하는 것을 요구할 수도 있는, 규칙적인 서비스 발견 메시징을 요구한다.
이로써, 가끔의 서비스 발견 메시지들을 프로세싱 및 응답할 필요성은 무선 애플리케이션 데이터경로에서의 컴포넌트들이 항시-온 상태를 유지하게 할 수도 있으며, 이는 비록 서비스 발견 메시지들이 통상적으로 작은 페이로드들 (예를 들어, 수 바이트) 을 갖는다 하더라도 상당한 전력을 소비할 수 있다. 더욱이, 각각의 클라이언트 STA 는 통상적으로, 서비스 발견 (및 디바이스 발견) 동작들이 각각의 피어 STA 로 주기적으로 반복되는 한은 다른 이전에 발견된 피어 STA들이 제공하는 서비스(들)가 변화하였는지 변화하지 않았는지에 관한 어떤 지식도 갖지 않기 때문에, 대역외 P2P 및/또는 D2D 접속들을 확립 및 유지하는 것은 상당한 시간 및 리소스들을 소비할 수 있으며, 이는 배터리-전력공급식 전자 디바이스들에 있어서 특히 문제가 될 수도 있다.
개요
다음은 본 명세서에서 개시된 하나 이상의 양태들에 관한 단순화된 개요를 제시한다. 이로써, 다음의 개요는 모든 고려된 양태들에 관한 광범위한 개관으로 간주되어서는 안되고, 다음의 개요는 모든 고려된 양태들에 관한 주요한 또는 결정적인 엘리먼트들을 식별하거나 또는 임의의 특정한 양태와 연관된 범위를 기술하는 것으로 간주되어서도 안된다. 이에 따라, 다음의 개요는 아래에 제시된 상세한 설명에 선행하기 위해 단순화된 형태로 본 명세서에서 개시된 하나 이상의 양태들에 관한 소정의 개념들을 제시하기 위한 유일한 목적을 갖는다.
다양한 양태들에 따르면, 저전력 코-프로세서는 메인 무선 애플리케이션 데이터경로를 가진 무선 서비스 플랫폼에서 전력 소비를 최적화하는데 이용될 수도 있으며, 여기서 소정의 서비스 발견 태스크들은 (예를 들어, 메인 무선 애플리케이션 데이터경로에서의 컴포넌트들이 가능한 한 저전력 상태로 트랜지션하고 및/또는 저전력 상태에 유지될 수 있도록) 메인 무선 애플리케이션 데이터경로로부터 저전력 코-프로세서 서브시스템으로 오프로드될 수도 있다. 예를 들어, 저전력 코-프로세서 서브시스템으로 오프로드된 서비스 발견 태스크들은 무선 디바이스에서 제공 및/또는 소비될 하나 이상의 서비스들과 연관된 프로토콜-특정 서비스 디스크립션 (description) 들에 따라 결정될 수도 있다. 더욱이, 메인 무선 애플리케이션 데이터경로에서의 컴포넌트들을 웨이크하기 위한 규칙들은 메인 무선 애플리케이션 데이터경로에서의 컴포넌트들이 저전력 상태에서 소비할 수 있는 시간을 최대화하고 필요에 따라 메인 무선 애플리케이션 데이터경로에서의 컴포넌트들을 선택적으로 웨이크할 컨디션들을 결정하기 위해 동적으로 정의 및 재정의되거나 또는 다르게는 튜닝될 수도 있다.
다양한 양태들에 따르면, 서비스 발견 무선 서비스 플랫폼에서 전력 소비를 최적화하기 위한 방법은 무선 디바이스에서 피어-투-피어 무선 접속을 확립하는 단계, 무선 디바이스 (예를 들어, 메인 애플리케이션 프로세서) 와 연관된 메인 무선 애플리케이션 데이터경로에서의 하나 이상의 컴포넌트들을 슬립 상태로 트랜지션하는 단계, 및 슬립 상태로 트랜지션된 하나 이상의 컴포넌트들로부터 메인 무선 애플리케이션 데이터경로에서의 하나 이상의 컴포넌트들에 커플링된 저전력 코-프로세서로 하나 이상의 서비스 발견 태스크들을 오프로드하는 단계를 포함할 수도 있고, 저전력 코-프로세서로 오프로드된 하나 이상의 서비스 발견 태스크들은 피어-투-피어 무선 접속에서 이용되는 서비스 발견 프로토콜과 연관된 서비스 디스크립션에 따라 적어도 부분적으로 결정될 수도 있다. 더욱이, 다양한 실시형태들에 따르면, 방법은 피어-투-피어 무선 접속에서 이용되는 서비스 발견 프로토콜과 연관된 서비스 디스크립션에 적어도 부분적으로 기초하여 슬립 상태로부터 메인 무선 애플리케이션 데이터경로에서의 하나 이상의 컴포넌트들을 웨이크하기 위한 하나 이상의 동적 규칙들을 정의하는 단계를 포함할 수도 있다. 이로써, 저전력 코-프로세서에서 피어-투-피어 무선 접속을 통해 하나 이상의 인커밍 데이터 패킷들을 수신하는 것에 응답하여, 메인 무선 애플리케이션 데이터경로에서의 하나 이상의 컴포넌트들은 하나 이상의 인커밍 데이터 패킷들이 하나 이상의 동적 규칙들을 트리거하는 기준들을 갖는 것에 응답하여 슬립 상태로부터 선택적으로 웨이크될 수도 있다.
다양한 양태들에 따르면, 장치는 피어-투-피어 무선 접속을 확립하기 위한 수단, 메인 무선 애플리케이션 데이터경로에서의 하나 이상의 컴포넌트들을 슬립 상태로 트랜지션하기 위한 수단, 슬립 상태로 트랜지션된 하나 이상의 컴포넌트들로부터 하나 이상의 서비스 발견 태스크들을 오프로드하기 위한 수단으로서, 하나 이상의 오프로드된 서비스 발견 태스크들은 피어-투-피어 무선 접속에서 이용되는 서비스 발견 프로토콜과 연관된 서비스 디스크립션에 따라 적어도 부분적으로 결정될 수도 있는, 상기 하나 이상의 서비스 발견 태스크들을 오프로드하기 위한 수단, 피어-투-피어 무선 접속에서 이용되는 서비스 발견 프로토콜과 연관된 서비스 디스크립션에 적어도 부분적으로 기초하여 슬립 상태로부터 메인 무선 애플리케이션 데이터경로에서의 하나 이상의 컴포넌트들을 웨이크하기 위한 하나 이상의 동적 규칙들을 정의하기 위한 수단, 피어-투-피어 무선 접속을 통해 하나 이상의 인커밍 데이터 패킷들을 수신하기 위한 수단, 및 하나 이상의 인커밍 데이터 패킷들이 하나 이상의 동적 규칙들을 트리거하는 기준들을 갖는 것에 응답하여 슬립 상태로부터 메인 무선 애플리케이션 데이터경로에서의 하나 이상의 컴포넌트들을 선택적으로 웨이크하기 위한 수단을 포함할 수도 있다.
다양한 양태들에 따르면, 컴퓨터 판독가능 저장 매체는 컴퓨터 실행가능 명령들을 기록하고 있을 수도 있고, 하나 이상의 프로세서들 상에서 컴퓨터 실행가능 명령들을 실행하는 것은 하나 이상의 프로세서들로 하여금, 무선 디바이스에서 피어-투-피어 무선 접속을 확립하게 하고, 무선 디바이스와 연관된 메인 무선 애플리케이션 데이터경로에서의 하나 이상의 컴포넌트들을 슬립 상태로 트랜지션하게 하고, 슬립 상태로 트랜지션된 하나 이상의 컴포넌트들로부터 메인 무선 애플리케이션 데이터경로에서의 하나 이상의 컴포넌트들에 커플링된 저전력 코-프로세서로 하나 이상의 서비스 발견 태스크들을 오프로드하게 하고, 피어-투-피어 무선 접속에서 이용되는 서비스 발견 프로토콜과 연관된 서비스 디스크립션에 적어도 부분적으로 기초하여 슬립 상태로부터 메인 무선 애플리케이션 데이터경로에서의 하나 이상의 컴포넌트들을 웨이크하기 위한 하나 이상의 동적 규칙들을 정의하게 하고, 저전력 코-프로세서에서, 피어-투-피어 무선 접속을 통해 하나 이상의 인커밍 데이터 패킷들을 수신하게 하고, 그리고 하나 이상의 인커밍 데이터 패킷들이 하나 이상의 동적 규칙들을 트리거하는 기준들을 갖는 것에 응답하여 슬립 상태로부터 메인 무선 애플리케이션 데이터경로에서의 하나 이상의 컴포넌트들을 선택적으로 웨이크하게 할 수도 있다.
다양한 양태들에 따르면, 무선 디바이스는 메인 무선 애플리케이션 데이터경로에 커플링된 저전력 하드웨어 프로세서에 더하여 호스트 브리지, 인터커넥트, 시스템 메모리, 및 호스트 애플리케이션 프로세서를 포함하는 메인 무선 애플리케이션 데이터경로를 포함할 수도 있다. 예를 들어, 다양한 실시형태들에 따르면, 저전력 하드웨어 프로세서는 메인 무선 애플리케이션 데이터경로로부터 오프로드된 하나 이상의 서비스 발견 태스크들과 연관된 하나 이상의 아웃고잉 데이터 패킷들 및 하나 이상의 아웃고잉 데이터 패킷들을 전송하기 위한 스케줄을 저장하도록 구성된 로컬 메모리, 하나 이상의 동적 규칙들로 메인 무선 애플리케이션 데이터경로에서의 프로세싱을 인보크하고 무선 디바이스에서 수신된 하나 이상의 인커밍 데이터 패킷들과 연관된 기준들이 하나 이상의 동적 규칙들을 트리거하는지 여부를 결정하도록 구성된 프로그래밍가능 심층-패킷 검사 모듈을 포함할 수도 있고, 하나 이상의 동적 규칙들은 서비스 발견 프로토콜과 연관된 서비스 디스크립션에 적어도 부분적으로 기초할 수도 있다. 추가로, 다양한 실시형태들에 따르면, 저전력 하드웨어 프로세서는 하나 이상의 오프로드된 서비스 발견 태스크들을 수행하고, 하나 이상의 인커밍 데이터 패킷들과 연관된 기준들이 하나 이상의 동적 규칙들을 트리거하지 않는 것에 응답하여 메인 무선 애플리케이션 데이터경로에서의 프로세싱을 인보크하지 않고 하나 이상의 인커밍 데이터 패킷들에 응답하고, 그리고 하나 이상의 인커밍 데이터 패킷들과 연관된 기준들이 하나 이상의 동적 규칙들을 트리거하는 것에 응답하여 메인 무선 애플리케이션 데이터경로에서의 프로세싱을 인보크하도록 구성된 저전력 호스트 프로세서를 포함할 수도 있다.
본 명세서에서 개시된 다양한 양태들과 연관된 다른 목적들 및 이점들은 첨부하는 도면들 및 상세한 설명에 기초하여 당업자들에게 명백할 것이다.
본 개시의 양태들의 보다 완전한 이해 및 그 수반되는 이점들 대부분은, 동일한 것이 본 개시의 제한이 아닌 예시를 위해서만 오로지 제시되는 첨부하는 도면들과 관련하여 고려될 때 다음의 상세한 설명을 참조하여 더 잘 이해되어질 때 용이하게 획득될 것이다.
도 1 은 다양한 양태들에 따른, 대역외 디바이스-투-디바이스 (D2D) 통신을 지원할 수도 있는 예시적인 무선 네트워크 아키텍처를 예시한다.
도 2 는 다양한 양태들에 따른, 대역외 디바이스-투-디바이스 (D2D) 통신을 지원하는 다른 예시적인 무선 네트워크 아키텍처를 예시한다.
도 3 은 다양한 양태들에 따른, 2 개의 무선 디바이스들이 대역외 D2D 접속을 통해 통신할 수도 있는 예시적인 무선 환경을 예시한다.
도 4 는 다양한 양태들에 따른, 2 개 이상의 피어 무선 디바이스들이 하나 이상의 서비스 발견 프로토콜들에 따라 대역외 D2D 접속을 통해 통신할 수도 있는 예시적인 무선 네트워크 아키텍처를 예시한다.
도 5 는 다양한 양태들에 따른, 대역외 D2D 접속을 통해 통신하도록 구성된 무선 디바이스에서의 예시적인 전력 프로파일을 예시한다.
도 6 은 다양한 양태들에 따른, 하나 이상의 서비스 발견 프로세싱 태스크들을 지원하기 위해 메인 무선 애플리케이션 데이터경로에 배치된 저전력 코-프로세서를 갖는 예시적인 무선 디바이스를 예시한다.
도 7a 및 도 7b 는 다양한 양태들에 따른, 피어 디바이스들 간에 대역외 D2D 접속을 확립하기 위해 서비스 제공자와 서비스 소비자 피어 디바이스들 간의 예시적인 디바이스 발견 및 서비스 발견 호 플로우들을 예시한다.
도 8a 는 다양한 양태들에 따른, 룩-어사이드 모드에 따라 무선 애플리케이션 데이터경로에 배치된 저전력 저대역폭 코-프로세서 서브시스템을 동작시킬 수도 있는 무선 디바이스와 연관된 예시적인 아키텍처를 예시한다.
도 8b 는 다양한 양태들에 따른, 범프-인-더-와이어 (bump-in-the-wire) 모드에 따라 무선 애플리케이션 데이터경로에 배치된 저전력 저대역폭 코-프로세서 서브시스템을 동작시킬 수도 있는 무선 디바이스와 연관된 예시적인 아키텍처를 예시한다.
도 9 는 다양한 양태들에 따른, 무선 서비스 플랫폼에서 서비스 발견 전력 소비를 최적화하기 위해 저전력 저대역폭 코-프로세서 서브시스템이 수행할 수도 있는 예시적인 방법을 예시한다.
도 10 은 다양한 양태들에 따른, 저전력 저대역폭 코-프로세서 서브시스템을 갖는 무선 서비스 플랫폼에서 서비스 발견 전력 소비를 최적화하기 위해 메인 무선 애플리케이션 데이터경로에 배치된 애플리케이션 프로세서가 수행할 수도 있는 예시적인 방법을 예시한다.
다양한 양태들이 예시적인 실시형태들에 관한 특정 예들을 도시하기 위해 다음의 설명 및 관련된 도면들에서 개시된다. 대체 실시형태들이 본 개시를 판독 시 관련 있는 당업자들에게 명백할 것이며, 본 개시의 범위 또는 사상으로부터 벗어남 없이 구성 및 실시될 수도 있다. 추가적으로, 잘 알려진 엘리먼트들이 상세히 설명되지 않을 것이며 또는 본 명세서에서 개시된 양태들 및 실시형태들의 관련 상세들을 모호하게 하지 않도록 생략될 수도 있다.
단어 "예시적인" 은 본 명세서에서 "일 예, 인스턴스, 또는 예시로서 기능하는 것" 을 의미하는데 사용된다. 본 명세서에서 "예시적인" 으로서 설명된 임의의 실시형태가 반드시 다른 실시형태들에 비해 유리하거나 또는 선호되는 것으로서 해석될 필요는 없다. 마찬가지로, 용어 "실시형태들" 은 모든 실시형태들이 논의된 피처, 이점 또는 동작 모드를 포함하는 것을 요구하지 않는다.
본 명세서에서 사용된 전문용어는 단지 특정한 실시형태들을 설명하고 본 명세서에서 개시된 임의의 실시형태들을 제한하도록 해석되어서는 안된다. 본 명세서에서 사용한 바와 같이, 단수 형태들, "a", "an", 및 "the" 는 문맥이 분명히 다르게 나타내지 않는 한, 복수 형태들도 물론 포함하도록 의도된다. 당업자들은, 용어들 "포함한다 (comprises)", "포함하는 (comprising)", "포함한다 (includes)", 및/또는 "포함하는 (including)" 이, 본 명세서에서 사용될 때, 언급된 피처들, 정수들, 단계들, 동작들, 엘리먼트들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 이상의 다른 피처들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들, 및/또는 그 그룹들의 존재 또는 추가를 배제하지 않는다는 것을 추가로 인식할 것이다.
게다가, 많은 양태들은 예를 들어, 컴퓨팅 디바이스의 엘리먼트들에 의해 수행될 액션들의 시퀀스들에 관하여 설명된다. 당업자들은 본 명세서에서 설명된 다양한 액션들이 특정 회로들 (예를 들어, 주문형 집적 회로 (application specific integrated circuit; ASIC) 에 의해, 하나 이상의 프로세서들에 의해 실행되는 컴퓨터 실행가능 명령들에 의해, 또는 그 조합으로 수행될 수 있다는 것을 인정할 것이다. 추가적으로, 본 명세서에서 설명된 액션들의 이들 시퀀스는, 실행 시에, 연관된 프로세서로 하여금, 본 명세서에서 설명된 기능성을 수행하게 할 컴퓨터 실행가능 명령들의 대응하는 세트를 저장하고 있는 임의의 형태의 컴퓨터 판독가능 저장 매체 내에 완전히 수록되는 것으로 간주될 수 있다. 따라서, 본 개시의 다양한 양태들은, 전부가 청구 요지의 범위 내에 있는 것으로 고려된, 다수의 상이한 형태들로 구현될 수도 있다. 추가로, 본 명세서에서 설명된 양태들의 각각에 대해, 임의의 이러한 양태들의 대응하는 형태는, 예를 들어, 설명된 액션을 수행 "하도록 구성된 로직" 으로서 본 명세서에서 설명될 수도 있다.
본 명세서에서 설명된 기법들은 CDMA, TDMA, FDMA, OFDMA, 및 SC-FDMA 시스템들과 같은 다양한 무선 통신 시스템들과 관련하여 이용될 수도 있다. 용어들 "시스템" 및 "네트워크" 는 종종 상호교환가능하게 사용된다. CDMA 시스템은 범용 지상 무선 액세스 (Universal Terrestrial Radio Access; UTRA), CDMA2000 등과 같은 무선 기술을 구현할 수도 있다. UTRA 는 광대역 CDMA (WCDMA) 및 CDMA 의 다른 변형들을 포함한다. CDMA2000 은 IS-2000, IS-95, 및 IS-856 표준들을 커버한다. TDMA 시스템은 GSM (Global System for Mobile Communications) 과 같은 무선 기술을 구현할 수도 있다. OFDMA 시스템은 진화된 UTRA (E-UTRA), 울트라 모바일 브로드밴드 (Ultra Mobile Broadband; UMB), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDMTM 등과 같은 무선 기술을 구현할 수도 있다. UTRA 및 E-UTRA 는 범용 모바일 전기통신 시스템 (UMTS) 의 일부이다. 3GPP 롱 텀 에볼루션 (LTE) 은 다운링크 상에서 OFDMA 를 그리고 업링크 상에서 SC-FDMA 를 채용하는 E-UTRA 를 이용하는 UMTS 의 릴리즈이다. UTRA, E-UTRA, UMTS, LTE, 및 GSM 은 "제 3 세대 파트너십 프로젝트" (3GPP) 로 명명된 기관으로부터의 문서들에 설명된다. CDMA2000 및 UMB 는 "제 3 세대 파트너십 프로젝트 2" (3GPP2) 로 명명된 기관으로부터의 문서들에 설명된다. 명료함을 위해, 소정의 양태들은 LTE 에 대해 아래에 설명되고, LTE 전문용어가 아래의 설명 대부분에서 사용될 수도 있다.
다양한 양태들에 따르면, 도 1 은 대역외 디바이스-투-디바이스 (D2D) 통신을 지원할 수도 있는 예시적인 무선 네트워크 아키텍처 (100) 를 예시하고, 여기서 무선 네트워크 아키텍처 (100) 는 롱 텀 에볼루션 (LTE) (또는 진화된 패킷 시스템 (Evolved Packet System; EPS)) 네트워크 아키텍처 (100) 를 포함할 수도 있다. 다양한 실시형태들에서, 네트워크 아키텍처 (100) 는 제 1 사용자 장비 (UE1) (102), 제 2 사용자 장비 (UE2) (104), 진화된 UMTS 지상 무선 액세스 네트워크 (E-UTRAN) (110), 진화된 패킷 코어 (EPC) (120), 홈 가입자 서버 (HSS) (135), 및 오퍼레이터 (예를 들어, 모바일 네트워크 오퍼레이터 (MNO)) 와 연관된 인터넷 프로토콜 (IP) 서비스들 (140) 을 포함할 수도 있다. EPS 네트워크 아키텍처 (100) 는 다른 액세스 네트워크들 및 코어 네트워크들 (미도시), 이를 테면 UMTS 액세스 네트워크 또는 IP 코어 네트워크와 상호접속할 수 있다. 도시한 바와 같이, EPS 네트워크 아키텍처 (100) 는 패킷-스위칭된 서비스들을 제공한다; 그러나, 당업자들은 본 명세서에서 개시된 다양한 개념들이 회로-스위칭된 서비스들을 제공하는 네트워크들로 확장될 수도 있다는 것을 용이하게 인식할 것이다.
다양한 실시형태들에 따르면, E-UTRAN (110) 은 UE1 (102) 과 통신하고 있는 제 1 진화된 노드 B (eNB1) (112) 및 UE2 (104) 와 통신하고 있는 제 2 eNB (eNB2) (114) 를 포함할 수도 있다. eNB들 (112, 114) 은 UE들 (102, 104) 을 향하여 사용자 및 제어 평면 프로토콜 터미네이션들을 제공할 수도 있고 백홀 (예를 들어, X2 인터페이스) 을 통해 서로에 접속될 수도 있다. eNB들 (112, 114) 은 또한, 기지국들, 노드 B들, 액세스 포인트들, 베이스 트랜시버 스테이션들, 무선 기지국들, 무선 트랜시버들, 트랜시버 기능부들, 기본 서비스 세트 (BSS), 확장된 서비스 세트 (ESS), 또는 일부 다른 적합한 전문용어로도 지칭될 수도 있다. eNB들 (112, 114) 각각은 개별의 UE들 (102, 104) 에 대해 EPC (120) 로의 액세스 포인트를 제공한다. 예의 UE들 (102, 104) 은 제한 없이, 셀룰러 폰, 스마트 폰, 세션 개시 프로토콜 (session initiation protocol; SIP) 폰, 랩톱, 개인 휴대 정보 단말기 (PDA), 위성 라디오, 글로벌 포지셔닝 시스템, 멀티미디어 디바이스, 비디오 디바이스, 디지털 오디오 플레이어 (예를 들어, MP3 플레이어), 카메라, 게임 콘솔, 태블릿, 또는 임의의 다른 유사한 기능 디바이스를 포함할 수도 있다. 더욱이, 당업자들은, UE1 (102) 및/또는 UE2 (104) 가 또한, 이동국, 가입자국, 모바일 유닛, 가입자 유닛, 무선 유닛, 원격 유닛, 모바일 디바이스, 무선 디바이스, 무선 통신 디바이스, 원격 디바이스, 모바일 가입자국, 액세스 단말기, 모바일 단말기, 무선 단말기, 원격 단말기, 핸드셋, 사용자 에이전트, 모바일 클라이언트, 클라이언트 등으로도 지칭될 수도 있다는 것을 인식할 것이다.
eNB들 (112, 114) 은 각각 Si 인터페이스를 통해 EPC (120) 에 접속할 수도 있고, 여기서 EPC (120) 는 이동성 관리 엔티티 (Mobility Management Entity; MME) (122), 다른 MME들 (124), 서빙 게이트웨이 (126), 멀티미디어 브로드캐스트 멀티캐스트 서비스 (MBMS) 게이트웨이 (130), 브로드캐스트 멀티캐스트 서비스 센터 (BM-SC) (132), 및 패킷 데이터 네트워크 (PDN) 게이트웨이 (128) 를 포함할 수도 있다. MME (122) 는 UE들 (102, 104) 과 EPC (120) 간의 시그널링을 프로세싱할 수도 있는 제어 노드이다. 일반적으로, MME (122) 는 베어러 및 접속 관리를 제공하는 한편, 모든 사용자 IP 패킷들은 PDN 게이트웨이 (128) 에 접속될 수도 있는 서빙 게이트웨이 (126) 를 통하여 전송된다. PDN 게이트웨이 (128) 는 UE IP 어드레스 할당 뿐만 아니라 다른 기능들을 제공할 수도 있다. PDN 게이트웨이 (128) 는 인터넷, 인트라넷, IP 멀티미디어 서브시스템 (IMS), PS 스트리밍 서비스 (PSS), 및/또는 다른 적합한 서비스들을 포함할 수도 있는 오퍼레이터 IP 서비스들 (140) 에 접속된다. BM-SC (132) 는 MBMS 사용자 서비스 프로비저닝 및 전달을 위한 기능들을 제공하고 콘텐츠 제공자 MBMS 송신을 위한 엔트리 포인트로서 기능할 수도 있다. 더욱이, 다양한 양태들에 따르면, BM-SC (132) 는 PLMN 내의 MBMS 베어러 서비스들을 인가 및 개시하고 MBMS 송신들을 스케줄링 및 전달하며, 및/또는 다른 유사한 기능들을 제공할 수도 있다. MBMS 게이트웨이 (130) 는 MBMS 트래픽을, 특정한 서비스를 브로드캐스트하는 멀티캐스트 브로드캐스트 단일 주파수 네트워크 (MBSFN) 영역에 속하는 하나 이상의 eNB들 (예를 들어, eNB들 (112, 114)) 에 분산시키는데 이용될 수도 있고, 세션 관리 (시작/중단) 및 eMBMS 관련 차징 정보를 수집하는 것을 담당할 수도 있다.
다양한 실시형태들에서, UE 쌍 (예를 들어, UE1 (102) 및 UE2 (104)) 은 대역외 디바이스-투-디바이스 (D2D) 접속을 확립하여 개별의 eNB1 (112) 및 eNB2 (114) 를 활용하지 않고 직접적으로 통신하고 후속하여 대역외 D2D 접속을 통해 데이터 트래픽을 전송할 수도 있다. 일반적으로, 네트워크 인프라스트럭처에서의 하나 이상의 엔티티들 (예를 들어, eNB들 (112, 114), EPC (120) 에서의 엔티티들, 등) 은 UE 쌍 (102, 104) 간의 대역외 D2D 통신을 조정할 수도 있는데, 이는 네트워크 엔티티들이 대역외 D2D 접속을 확립하는 것을 돕고, 레거시 모드와 비교하여 D2D 모드에서의 사용을 제어하고, 보안 지원을 제공하는 등등을 행할 수도 있다는 것을 의미한다. 본 명세서에서 사용한 바와 같이, 용어들 "대역외 D2D 접속", "D2D 모드", 및/또는 그 다른 변형들은 일반적으로, 어떤 기지국도 통과하지 않는 2 개 이상의 UE들 (102, 104) 간의 직접 통신을 지칭할 수도 있고, 용어 "레거시 접속", "레거시 모드", 및/또는 그 다른 변형들은 일반적으로 네트워크를 통한 (예를 들어, eNB들 (112, 114) 을 통한) 통신을 지칭할 수도 있다. 다양한 실시형태들에서, UE 쌍 (102, 104) 은 자율적으로 대역외 D2D 접속을 확립할 수도 있고, 여기서 대역외 D2D 접속을 확립하는데 이용되는 초기 발견은 UE들 (102, 104) 간에 직접 신호들을 통신하는 능력에 기초할 수도 있다. 추가적으로 (또는 대안으로), D2D 모드를 지원하지 않고 D2D 모드를 허락하는 네트워크에 부착되는 UE들, 즉 UE들 (102, 104) 은 네트워크를 통해 접속하고 서빙 셀 및 로케이션 정보를 교환하여 D2D 모드가 가능한지 여부를 결정할 수도 있다. 일단 D2D 모드가 진행 중이면, UE들 (102, 104) 은 그와 연관된 상대적 로케이션들을 모니터링할 수도 있다. 더욱이, 3 개 이상의 UE들을 포함하는 그룹은 D2D 모드에 진입할 수도 있는데, 그것에 의하여 그룹 내의 일부 또는 모든 UE 쌍들은 서로 간에 직접 D2D 통신을 유지할 수도 있고 그리고 그것에 의하여 그룹 내의 일부 UE들은 그룹 내의 다른 UE들 간의 D2D 통신을 중계하기 위한 중계기들로서의 역할을 할 수도 있다. 예를 들어, 그룹 내의 하나의 UE 는 그룹 내의 다른 UE(들)와의 직접 D2D 통신을 유지하기 위해 중계기 역할로 동작하고 다른 UE(들)가 D2D 통신을 통해 간접적으로 통신하는 것을 가능하게 하기 위하여 중계기 역할로 행동하도록 지정될 수도 있다. 이 예에서, 중계기 역할로 동작하는 UE 는 그룹 내의 다른 UE(들) 간의 통신을 중계하도록 행동할 수도 있다. 서로 간에 D2D 통신을 채용하는 여러 UE들을 포함하는 그룹은 그와 연관된 상대적 로케이션들을 모니터링하고 그와 연관된 현재의 상대적 로케이션들에 기초하여 그룹 내의 임의의 UE 에 중계기 역할을 배정 (및/또는 재배정) 할 수도 있다.
도 1 로 돌아가면, 다른 양태에서, 네트워크는 레거시 모드가 이용가능하지 않고 및/또는 불가능할 수도 있는 경우들에서 (예를 들어, 네트워크가 혼잡하거나 또는 그 부분들이 일시적으로 실패했거나 또는 UE들 (102, 104) 양자 모두에 연속적인 무선 커버리지를 제공하지 않는다면) D2D 모드에 진입하도록 2 개 이상의 UE들 (102, 104) 을 도울 수도 있다. 다른 양태에서, 네트워크 (예를 들어, 하나 이상의 네트워크 엔티티들) 는 D2D 모드로의 엔트리를 제어하고 D2D 모드와 레거시 모드 간의 핸드오버를 지원할 수도 있다.
다양한 양태들에 따르면, 도 2 는 (예를 들어, LTE-다이렉트 (LTE-D), Wi-Fi 다이렉트 (WFD), 또는 다른 적합한 D2D 무선 액세스 기술을 이용하는) 대역외 D2D 통신을 지원하는 다른 예시적인 무선 네트워크 아키텍처 (200) 를 예시한다. 특히, 도 2 에 도시된 무선 네트워크 아키텍처 (200) 는 다수의 안테나 그룹들 (예를 들어, 하나의 안테나 그룹은 안테나들 (204 및 206) 을 포함할 수도 있고, 다른 그룹은 안테나들 (208 및 210) 을 포함할 수도 있고, 추가적인 그룹은 안테나들 (212 및 214) 을 포함할 수도 있고 등등) 을 포함할 수도 있는 기지국 (202) 을 포함할 수도 있다. 도 2 에 도시된 예는 각각의 안테나 그룹에 대해 2 개의 안테나들을 가진 기지국 (202) 을 예시하지만, 당업자들은 더 많거나 또는 더 적은 안테나들이 각각의 그룹에 대해 활용될 수도 있다는 것을 인식할 것이다. 다양한 실시형태들에서, 기지국 (202) 은, 당업자들에게 명백할 바와 같이, 각각 차례로 신호 송신 및 수신과 연관된 다양한 컴포넌트들 (예를 들어, 프로세서들, 변조기들, 멀티플렉서들, 복조기들, 디멀티플렉서들, 안테나들 등) 을 포함할 수도 있는, 송신기 체인 및 수신기 체인 (미도시) 을 추가적으로 포함할 수도 있다. 추가적으로, 기지국 (202) 은 홈 기지국, 펨토 기지국, 무선 로컬 영역 네트워크 (WLAN) 액세스 포인트, 및/또는 등등일 수도 있다.
다양한 양태들에 따르면, 기지국 (202) 은 디바이스 (216) 와 같은 하나 이상의 디바이스들과 통신할 수도 있다. 그러나, 당업자들은, 다양한 실시형태들에서, 기지국 (202) 이 디바이스 (216) 와 유사한 실질적으로 임의의 수의 디바이스들과 통신할 수도 있다는 것을 인식할 것이다. 도 2 에 나타낸 바와 같이, 디바이스 (216) 는 안테나들 (204 및 206) 을 통해 기지국 (202) 과 통신하고 있고, 여기서 안테나들 (204 및 206) 은 일반적으로 순방향 링크 (218) 를 통해 디바이스 (216) 로 정보를 송신하고 역방향 링크 (220) 를 통해 디바이스 (216) 로부터 정보를 수신할 수도 있다. 주파수 분할 듀플렉스 (FDD) 시스템에서, 순방향 링크 (218) 는 예를 들어 역방향 링크 (220) 와는 상이한 주파수 대역을 활용할 수도 있다. 게다가, 시간 분할 듀플렉스 (TDD) 시스템에서, 순방향 링크 (218) 및 역방향 링크 (220) 는 공통 주파수 대역을 활용할 수도 있다.
추가로, 다양한 양태들에 따르면, 도 2 는 LTE-다이렉트, Wi-Fi 다이렉트 등을 이용하는 D2D (또는 피어-투-피어 (P2P)) 구성에서와 같이, 서로 직접 통신하고 있는 제 1 피어 디바이스 (222) 및 제 2 피어 디바이스 (224) 를 예시한다. 더욱이, 제 1 피어 디바이스 (222) 는 링크들 (226 및 228) 을 이용하여 제 2 피어 디바이스 (224) 와 통신하고 있다. 예를 들어, D2D 또는 P2P 애드 혹 네트워크에서, 디바이스들 (222 및 224) 과 같은, 서로의 범위 내의 디바이스들은 그들 간의 통신을 중계하기 위해 임의의 중간 기지국 (202) 및/또는 유선 인프라스트럭처 없이 직접적으로 서로 통신할 수도 있다. 추가적으로, 피어 디바이스들 (또는 노드들) (222, 224) 은 트래픽을 중계할 수도 있고, 그것에 의하여 대역외 D2D 접속을 통해 통신하는 무선 네트워크 아키텍처 (200) 내의 피어 디바이스들 (222, 224) 은, 트래픽이 그와 연관된 궁극적인 목적지에 도달할 때까지, 기지국 (202) 과 다르게 유사한 기능성을 제공하고 트래픽 또는 통신물들을 다른 디바이스들에 중계할 수도 있다. 피어 디바이스들 (222, 224) 은 또한, 피어 노드들 간의 데이터 송신을 관리하는데 활용될 수 있는 정보를 반송할 수도 있는, 제어 채널들을 송신할 수도 있다.
다양한 양태들에 따르면, 무선 네트워크 아키텍처 (200) 는 무선 (또는 유선) 통신에 있는 다양한 디바이스들 (또는 노드들) 을 포함할 수도 있고, 여기서 각각의 노드는 이를 테면 멀티-홉 토폴로지에서, 다른 노드들과 통신하거나 또는 다른 노드들을 활용하기 위해 하나 이상의 다른 노드들에 대해 충분한 범위 내에 있을 수도 있다 (예를 들어, 통신은 최종 목적지에 도달할 때까지 노드에서 노드로 홉핑할 수도 있다). 예를 들어, 제 2 피어 디바이스 (224) 는 수신기 노드로서 디바이스 (216) 와 통신하길 원하는 전송기 노드를 포함할 수도 있다. 전송기 노드 (224) 와 수신기 노드 (216) 간의 패킷 전송을 가능하게 하기 위해, 하나 이상의 중간 노드들이 활용될 수도 있다 (예를 들어, 제 1 피어 디바이스 (222) 는 전송기 노드 (224) 로부터 기지국 (202) 으로 통신물들을 중계하기 위한 중간 노드로서의 역할을 할 수도 있으며, 기지국 (202) 은 또한 통신물들을 수신기 노드 (216) 로 중계하기 위한 중간 노드로서의 역할을 할 수도 있다). 그러나, 당업자들은 임의의 노드가 전송기 노드 및/또는 수신기 노드일 수도 있고 실질적으로 동시에 정보를 전송 및/또는 수신 중 어느 하나를 행하기 위한 기능들을 수행할 수도 있다 (예를 들어, 특정한 노드는 정보를 수신하는 것과 거의 동시에, 상이한 시간들에 등등에 정보를 브로드캐스트 또는 통신할 수도 있다) 는 것을 인식할 것이다. 더욱이, 다양한 양태들에 따르면, 무선 네트워크 아키텍처 (200) 는 네트워크를 통한 (예를 들어, 기지국 (202) 을 통한) 통신 세션을 개시한 노드들이, 직접 접속된 노드들이 임의의 캡슐화 없이 네이티브로 패킷들을 교환할 수도 있는 직접 D2D 접속으로 세션을 이동시키는 것을 허용하도록 구성될 수도 있다. 다양한 양태들에 따르면, "홈리스" 노드는 온고잉 세션을 손실하지 않고 무선 네트워크로 스위칭할 수도 있고, 여기서 "홈리스" 는 외부 네트워크들로 스위칭하면서 온고잉 세션들을 얼라이브로 유지하는 것을 돕고 및/또는 새로운 세션들을 확립하라는 임의의 새로운 인커밍 요청(들)을 노드의 현재 로케이션으로 포워딩하기 위해 임의의 홈 에이전트 엔티티를 갖지 않는 노드를 지칭할 수도 있다. 다양한 양태들에 따르면, 노드들은 이동식 (예를 들어, 무선), 정적 (예를 들어, 유선), 또는 그 임의의 적합한 조합일 수도 있다.
다양한 양태들에 따르면, 도 3 은 대역외 D2D 접속 (350) 을 확립하기 위해 2 개의 무선 디바이스들 (310, 320) 이 충분히 근접하여 로케이트되는 이벤트에서 2 개의 무선 디바이스들 (310, 320) 이 대역외 D2D 접속 (350) 을 통해 확립 및 통신할 수도 있는 예시적인 무선 환경 (300) 을 예시한다. 특히, 도 3 에 도시한 바와 같이, 무선 디바이스 (310) 는 무선 디바이스 (310) 가 무선 환경 (300) 내에서 통신하기 위해 이용할 수 있는 근접장 통신 (near-field communication; NFC) 라디오 (311), 무선 광역 네트워크 (WWAN) 라디오 (313), 무선 로컬 영역 네트워크 (WLAN) 라디오 (315), 및 블루투스 라디오 (317) 를 가질 수도 있다. 예를 들어, 도 3 에 나타낸 바와 같이, 무선 디바이스 (310) 는 WWAN 라디오 (313) 를 이용하여 WWAN 링크 (341) 를 통해 셀룰러 기지국 (340) 과 무선으로 통신할 수 있다. 무선 디바이스 (310) 는 또한 WLAN 라디오 (315) 를 이용하여 WLAN 링크 (361) 를 통해 Wi-Fi 액세스 포인트 (360) 와 무선으로 통신할 수 있다. 더욱이, 무선 디바이스 (310) 는 블루투스 라디오 (317) 를 이용하여 블루투스 링크들 (381, 383) 을 통해 블루투스 헤드셋 (380) 및 블루투스-가능 웨어러블 디바이스 (382) 와 무선으로 통신할 수도 있고, 여기서 블루투스 헤드셋 (380) 및 블루투스-가능 웨어러블 디바이스 (382) 는 블루투스 링크 (384) 를 통해 서로 추가로 무선 통신하고 있을 수도 있다. 게다가 여전히, 무선 디바이스 (310) 는 자기장 유도를 통해 NFC 라디오 (311) 를 이용하여 무선 디바이스 (310) 의 "근접장" 내에서 하나 이상의 NFC 디바이스들과 무선으로 통신할 수 있다.
더욱이, 다양한 양태들에 따르면, 제 2 무선 디바이스 (320) 는 마찬가지로 상이한 무선 액세스 기술에 따라 각각이 동작하는 다수의 라디오들을 가질 수도 있다. 예를 들어, 도 3 에 도시한 바와 같이, 제 2 무선 디바이스 (320) 는 NFC 라디오 (321), WWAN 라디오 (323), WLAN 라디오 (325), 및 블루투스 라디오 (327) 를 또한 가질 수도 있으며, 여기서 무선 디바이스 (320) 는 그 라디오들 (321, 323, 325, 327) 을 이용하여 무선 환경 (300) 내에서 통신할 수 있다. 예를 들어, 도 3 에 나타낸 바와 같이, 무선 디바이스 (320) 는 WWAN 라디오 (323) 를 이용하여 WWAN 링크 (345) 를 통해 셀룰러 기지국 (340) 과, WLAN 라디오 (325) 를 이용하여 WLAN 링크 (365) 를 통해 Wi-Fi 액세스 포인트 (360) 와, 블루투스 라디오 (327) 를 이용하여 블루투스 링크들 (386, 388) 을 통해 블루투스 헤드셋 (385) 및 블루투스-가능 웨어러블 디바이스 (387) 와 무선으로 통신할 수 있고, 여기서 블루투스 헤드셋 (385) 및 블루투스-가능 웨어러블 디바이스 (387) 는 블루투스 링크 (389) 를 통해 서로 추가로 무선 통신하고 있을 수도 있다. 게다가 여전히, 무선 디바이스 (320) 는 자기장 유도를 통해 NFC 라디오 (321) 를 이용하여 무선 디바이스 (320) 의 "근접장" 내에서 하나 이상의 NFC 디바이스들과 무선으로 통신할 수 있다. 더욱이, 당업자들은, WWAN 링크들 (341, 345) 이 공통 엔드포인트를 가질 수도 있는 경우에서, 무선 디바이스들 (310, 320) 이 동일한 셀룰러 기지국 (340) 과 통신하는 것으로서 도 3 에 나타내지지만, 무선 디바이스들 (310, 320) 은 사실은 개별의 WWAN 링크들 (341, 345) 을 통해 상이한 셀룰러 기지국들과 통신하고 있을 수도 있다는 것을 인식할 것이다. 비슷하게, 무선 디바이스들 (310, 320) 은 동일한 Wi-Fi 액세스 포인트 (360) 와 통신하는 것으로서 도 3 에 나타내지지만, 당업자들은, 무선 디바이스들 (310, 320) 이 사실은 개별의 WLAN 링크들 (361, 365) 을 통해 상이한 Wi-Fi 액세스 포인트들과 통신하고 있을 수도 있다는 것을 인식할 것이다.
다양한 양태들에 따르면, WWAN 링크들 (341, 345) 을 통해 셀룰러 기지국 (340) 과 통신하고 WLAN 링크들 (361, 365) 을 통해 Wi-Fi 액세스 포인트 (360) 와 통신하는 것에 더하여, 무선 디바이스들 (310, 320) 은 무선 디바이스들 (310, 320) 이 서로 충분히 근접하여 로케이트되는 이벤트에서 대역외 D2D 접속 (350) 을 통해 직접적으로 서로 통신할 수도 있다. 예를 들어, 무선 디바이스들 (310, 320) 이 최대 대략 500 미터의 범위 내에 있을 때, 무선 디바이스들 (310, 320) 은 LTE-다이렉트를 통해 D2D 링크를 형성하기 위해 WWAN 라디오들 (313, 323) 을 이용할 수도 있다. 더욱이, 무선 디바이스들 (310, 320) 이 WLAN 라디오들 (315, 325) 을 통해 서로를 발견하는데 충분한 범위 내에 있다면, 무선 디바이스들 (310, 320) 은 Wi-Fi 다이렉트를 통해 D2D 링크를 형성할 수도 있다. 다른 예들에서, 무선 디바이스들 (310, 320) 은 무선 디바이스들 (310, 320) 이 수 미터에서 수십 미터까지의 범위에 이르는 동작 범위 내에 있다면 블루투스 라디오들 (317, 327) 을 이용하여 또는 무선 디바이스들 (310, 320) 이 서로의 근접장 내 (예를 들어, 대략 10 센티미터 이하) 에 있다면 NFC 라디오들 (311, 321) 을 이용하여 D2D 링크를 형성할 수도 있다. 그러나, 무선 디바이스들 (310, 320) 이 양자 모두 동일한 사용자와 연관되고 동일한 사용자 명칭 및 크리덴셜들과 연관되는 개별의 애플리케이션들 (318, 328) (예를 들어, 이메일 애플리케이션) 을 실행하는 이벤트에서, 기존 동기화 알고리즘들 및 구현들은 통상적으로, 애플리케이션 (318, 328) 과 연관된 최근의 어카운트 데이터 (319, 329) 가 근접하여 있는 다른 디바이스 상에서 이용가능할 수도 있다는 사실을 활용 또는 고려하지 않고 각각의 무선 디바이스 (310, 320) 가 대응하는 애플리케이션 서버 (390) 로 동기화 프로시저를 개별적으로 수행하는 것을 수반하며, 이는 여러 이유들로 비효율적인 접근법이 되는 경향이 있다. 이로써, 무선 디바이스들 (310, 320) 이 충분히 근접하여 로케이트되는 경우, 무선 디바이스들 (310, 320) 은 하나 이상의 서비스 발견 프로토콜들을 실행하여 서로를 발견하고 각 개별의 무선 디바이스 (310, 320) 에 저장될 수도 있는 적절한 서비스 데이터 (319, 329) 에 기초하여 대역외 D2D 접속 (350) 을 통해 직접적으로 통신할 수도 있다.
예를 들어, LTE-다이렉트 (LTE-D, 때로는 "LTE-어드밴스드" 로 지칭됨) 는 근접 발견을 위한 제안된 3GPP (Release 12) D2D 솔루션이며, 여기서 LTE-D 는 근접하여 있는 서비스들을 동시에 검출하기 위해 큰 범위 (~500m, 가시선) 내에서 다른 LTE-D 디바이스들 상의 서비스들에 대해 직접 모니터링함으로써 로케이션 트래킹 및 네트워크 호들을 없앤다. 이에 따라, LTE-D 는 서비스 계층 발견 및 D2D 통신을 가능하게 하는 D2D 솔루션이고, LTE-D 무선 디바이스들 (예를 들어, 무선 디바이스들 (310, 320)) 상의 애플리케이션들 (318, 328) 은 다른 디바이스들 상의 애플리케이션 서비스들에 대해 모니터링하고 물리 계층에서 (다른 LTE-D 디바이스들 상의 서비스들에 의한 검출을 위해) 로컬로 이용가능한 서비스들을 공지할 것을 LTE-D 에 명령할 수 있다. 이로써, 클라이언트 애플리케이션(들) (318, 328) 은 "모니터" 를 확립에 대한 매치가 검출될 때를 통지받을 수도 있다. 예를 들어, 애플리케이션(들) (318, 328) 은 "동기화 이벤트들" 에 대한 모니터를 확립할 수 있고 LTE-D 발견 계층은 동기화-관련 LTE-D 표현이 검출될 때 애플리케이션(들) (318, 328) 을 웨이크-업할 수 있다. 따라서 LTE-D 는, 대신에 관련 속성들을 송신하고 그에 대해 모니터링함으로써 디바이스 레벨에서 자율적으로 결정되는, 관련 매치들을 식별하기 위해 중앙집중화된 데이터베이스를 요구하지 않을 수도 있는 분산된 발견 솔루션이다.
다른 예에서, Wi-Fi 다이렉트 (WFD) 는 IEEE 802.11 디바이스들이 중앙 노드, 이를 테면 액세스 포인트 (AP) 또는 기지국 (BS) 을 이용하지 않고 서로 직접적으로 발견 및 통신하기 위해 이용할 수 있다는 의미를 제공하는, Wi-Fi 얼라이언스 (WFA) 하에서 개발된 디바이스-투-디바이스 (D2D) 사양이다. WFD 는 블루투스 및 애드 혹 네트워크들, 이를 테면 독립적인 기본 서비스 세트 (IBSS) 하에서 전통적으로 커버되는 사용 모델들을 Wi-Fi 디바이스들, 또는 피어 무선 디바이스들이 어드레싱하는 것을 허용할 수도 있다. WFD 는 디바이스 발견, 서비스 발견, 보안, 사용자 셋-업, 및 인프라스트럭처 네트워크에 대한 상호-접속을 어드레싱한다. WFD 는 일반적으로 표준 Wi-Fi 에 실질적으로 등가인 범위, WPA2 를 이용한 보안 (예를 들어, 어드밴스드 암호화 표준 (AES) 암호화), 2.4 GHz 대역에서의 3 개의 20 MHz 채널들 및 5 GHz 대역에서의 25 개의 20 MHz 채널들, Wi-Fi 보호 셋업 (WPS) (또는 Wi-Fi 단순 구성 (WSC)) 에 의한 디바이스 인증 및 등록, IP-어드레스-기반 프로토콜, 서비스 광고, 양자의 디바이스들이 슬립으로 가는 것을 허용하는 전력 관리, 1 회 또는 지속적 접속들, 및 인프라스트럭처 네트워크들 (즉, 중앙 노드를 이용하는 네트워크들) 과의 동시성을 갖는다. 이에 따라, WFD 에서, 그룹 오너 (group owner; GO) 는 마스터 피어 디바이스로서의 역할을 할 수도 있고 다수의 클라이언트 피어 디바이스들과의 접속들을 지원할 수도 있다. GO 는 GO 가 절전 상태에 진입할 수 있다는 것을 제외하고는, 전통적인 시스템에서 액세스 포인트와 유사한 기능성을 갖는다. WFD 피어 그룹은 통상적으로 단일 기본 서비스 세트 식별자 (BSSID), 단일 GO, 하나 이상의 클라이언트 피어 디바이스들, 및 단일 그룹 식별자를 가지며, 이는 1 회 그룹 또는 지속적 그룹 식별자일 수도 있다.
이에 따라, 도 4 는 하나 이상의 서비스 발견 프로토콜들에 따라 2 개 이상의 피어 무선 디바이스들이 대역외 D2D 접속을 통해 통신할 수도 있는 예시적인 무선 네트워크 아키텍처 (400) 를 예시한다. 일반적으로, 도 4 에 도시된 무선 네트워크 아키텍처 (400) 는 Wi-Fi 다이렉트 (WFD) 에서 이용되는 서비스 발견 프로시저들에 관하여 본 명세서에서 설명될 것이다. 그러나, 당업자들은 이러한 설명이 단지 예시를 위한 것이며 도 4 에 도시된 서비스 발견 프레임워크에서 수반된 이슈들이 마찬가지로 다른 D2D 기술들에서 이용되는 서비스 발견 프로시저들에 적용할 수도 있다는 것을 인식할 것이다.
다양한 양태들에 따르면, 도 4 에 도시된 무선 네트워크 아키텍처 (400) 는 다양한 애플리케이션 서비스 플랫폼들에서 이용되는 서비스 발견 프로토콜들을 지원할 수도 있고, 여기서 애플리케이션 서비스 플랫폼 (ASP) 은 일반적으로 애플리케이션들 및 서비스들이 서비스 제공자 디바이스 (410) 와 서비스 소비자 디바이스 (420) 간에 세션을 확립하여 그 세션을 통해 통신해야 하는 기능들을 구현하는 소프트웨어 서비스 또는 라이브러리를 지칭할 수도 있다. 예를 들어, 하나 이상의 서비스 발견 프로토콜들 상에 구축된 애플리케이션들 및/또는 사용 케이스들은 미러링 (또는 스크린 공유), 스트리밍 비디오, 스트리밍 오디오, 원격 비디오 및/또는 그래픽스 렌디션, 원격 오디오 및/또는 오디오 렌디션, 원격 센싱, 원격 제어, 파일 전송, 등을 포함할 수도 있다. 다양한 실시형태들에서, 본 명세서에서 더욱 상세히 설명될 바와 같이, 서비스 제공자 디바이스 (410), 서비스 소비자 디바이스 (420), 및 제어 포인트 (430) 는 다양한 애플리케이션들/사용 케이스들에 대하여 공지들 및 질문들, 구성 및 중재, 제어, 제시, 그룹 관리, 어드레싱 제어, 서비스 품질 (QoS) 및/또는 체감 품질 (QoE) 을 지원하기 위해 다양한 서비스 발견 메시지들 및 다른 시그널링 메시지들을 교환할 수도 있다.
특히, 서비스 제공자 디바이스 (410) 가 하나 이상의 피어-투-피어 (P2P) 서비스들을 지원한다고 가정하면, 서비스 제공자 디바이스 (410) 와 연관된 서비스 발견 브로커 (service discovery broker) (412) 는 다른 디바이스 (예를 들어, 서비스 소비자 디바이스 (420)) 상의 서비스 시커 (service seeker) 가 서비스 제공자 디바이스 (410) 상의 ASP 와의 ASP 세션에 대해 서치, 파인드, 및 개시할 수 있도록 하나 이상의 P2P 서비스들에 관한 정보를 제공하기 위해 하나 이상의 서비스 광고들을 발행할 수도 있다. 예를 들어, 다양한 실시형태들에 따르면, 서비스 광고들은 서비스 명칭, 서비스 제공자 디바이스 (410) 와 연관된 식별자, 및 (예를 들어, 프로토콜-특정 서비스 디스크립션과 같은) 하나 이상의 서비스들에 관한 보다 상세한 정보에 대한 하나 이상의 포인터들을 포함할 수도 있다. 제어 포인트 (430) 는 그 후 서비스 제공자 디바이스 (410) 에 관하여 학습하기 위한 하나 이상의 서비스 광고들 및 그와 연관된 능력들을 발견 및 리뷰하고, 적절한 디바이스 및 서비스 디스크립션들을 취출하고, 서비스 발견 브로커 (412) 로 액션들을 전송하고, 서비스 상태 변수들을 위해 서비스 발견 브로커 (412) 를 폴링하고, 그리고 서비스 발견 브로커 (412) 로부터 이벤트들을 수신할 수도 있다. 이로써, 제어 포인트 (430) 는 무선 네트워크 아키텍처 (400) 에서 서비스-특정 P2P 세션들을 용이하게 하기 위해 서비스 디스크립션들, 디바이스 정보, 및/또는 다른 적합한 정보를 유지하는 레지스트리를 제공하도록 구성될 수도 있다. 예를 들어, 다양한 실시형태들에서, 서비스 발견 및 등록 에이전트 (422) 는 무선 네트워크 아키텍처 (400) 에서 이용가능한 서비스들을 학습하기 위해 제어 포인트 (430) 로부터 정보를 주기적으로 청할 수도 있는 한편, 서비스 발견 브로커 (412) 는 이용가능한 서비스들과 연관된 제어들 및 스테이터스를 노출시킬 수도 있다.
이로써, 다양한 양태들에 따르면, 제어 포인트 (430) 는 하나 이상의 서비스 디스크립션들을 이용하여 서비스 제공자 디바이스 (410) 상의 서비스 발견 브로커 (412) 및/또는 서비스 소비자 디바이스 (420) 상의 서비스 발견 및 등록 에이전트 (422) 로 제어 메시지들 (또는 액션들) 을 전송할 수도 있으며, 이는 그 후 하나 이상의 액션-특정 대응 값들을 리턴할 수도 있다. 이벤트들에 대하여, 제어 포인트 (430) 는 서비스 상태들을 모델링하는 서비스 변수들을 변화시키기 위해 서비스 디스크립션들 또는 액션들을 수신하도록 가입할 수도 있고, 그것에 의하여, 서비스 제공자 디바이스 (410) 및/또는 서비스 소비자 디바이스 (420) 는 하나 이상의 상태 변수들 및 그 상태 변수들과 연관된 현재 값들을 업데이트하기 위해 이벤트 메시지들을 전송할 수도 있다. 이에 따라, 서비스 소비자 디바이스 (420) 가 서비스 제공자 디바이스 (410) 에서 제공된 하나 이상의 서비스들을 파인드 및 이용할 때, 관리 데이터 및 서비스 데이터는 서비스 제공자 디바이스 (410) 상의 서비스 분산 모듈 (414) 과 서비스 소비자 디바이스 (420) 상의 서비스 실행 모듈 (424) 간에 교환될 수도 있다. 예를 들어, 일단 서비스 세션이 서비스 발견 브로커 (412) 와 서비스 발견 및 등록 에이전트 (422) 간에 바운딩되거나 또는 다르게 확립되었다면, 서비스 분산 모듈 (414) 과 서비스 실행 모듈 (424) 간에 교환된 관리 데이터는 서비스 호출 (invocation) 방법들, 입력 레졸루션들, 및/또는 실제 서비스 작업을 수행하고 데이터를 리턴하는데 필요한 임의의 추가적인 의존성들을 정의할 수도 있다.
이에 따라, 본 명세서에서 제공된 설명에서, 서비스 발견은 일반적으로, 사전 구성 없이 적절한 시스템 아키텍처에서 소비될 서비스와 연관된 하나 이상의 요구된 컨디션들에 매칭하는 하나 이상의 서비스들을 서비스 소비자 디바이스 (420) 가 발견하는 것을 가능하게 하는 시스템 아키텍처, 방법들, 알고리즘들, 및 프로토콜들을 지칭할 수도 있다. 예를 들어, 하나의 공지된 서비스 발견 아키텍처는 도메인 명칭 서비스 (Domain Name Service; DNS) 및 동적 호스트 구성 프로토콜 (Dynamic Host Configuration Protocol; DHCP) 에서처럼 임의의 중앙집중화된 엔티티를 필요로 하지 않고 이종 네트워크들에 걸쳐서 어드레싱, 네이밍, 서비스 발견, 및 자동 디바이스 및 서비스 구성을 해결하는 제로-구성 네트워킹 (Zeroconf) 이다. 특히, Zeroconf 를 지원하는 디바이스들은 멀티캐스트 DNS (mDNS) 를 이용하여 DNS 리소스 레코드들에 서비스 정보를 저장하고, 그것에 의하여, Zeroconf 는 표준 DNS 프로그래밍 인터페이스들, 서버들, 및 패킷 포맷들이 네트워크를 브라우징하고 이용가능한 서비스들을 파인드하는데 이용될 수 있도록 DNS 서비스 발견 (DNS-SD) 을 채용한다. 그 목적을 달하기 위해서는, Zeroconf 는 서비스를 노출시키기 위한 공개, 이용가능한 서비스들에 대한 브라우징을 가능하게 하기 위한 발견, 및 실제 논리적 어드레스들 및 포트 번호들로 서비스 명칭 명명법들을 트랜슬레이트하기 위한 레졸루션을 지원할 것을 디바이스들에 요구한다. 그러한 점에서, 임의의 서비스 발견 아키텍처에 적용가능한 고려사항들은 관련 서비스 발견 목적들 (예를 들어, 서비스 정보 스토리지, 서비스들에 대한 서칭을 가능하게 하기 위한 메커니즘들, 및 공통 디스크립션 언어를 제공하는 것) 을 포함할 수도 있다. 추가로, 그 고려사항들은 서비스들이 어떻게 관리되는지 (예를 들어, 서비스 디스크립션들, 네트워크 토폴로지들 등에 대한 변화들로 인해 서비스 디렉토리들을 업데이트하는 것), 서비스 정보 저장 분류 (예를 들어, 중앙집중화됨, 미구조화되어 분산됨, 구조화되어 분산됨, 플랫임, 계위적임, 하이브리드 등), 뿐만 아니라 서비스 디스크립션 액세스 및 서비스 발견 방법들에 관한 것일 수도 있다. 예를 들어, 중앙집중화된 및 구조화되어 분산된 저장 환경들에서, 서비스 디스크립션 액세스는 광고들 및 요청들을 발행하도록 식별 및 요구될 수도 있는 디렉토리 노드를 통하여 제어될 수도 있는 반면에, 구조화되어 분산된 저장 시스템들은 디렉토리 노드들이 적용가능한 오버레이 구조에 따라 다른 디렉토리 노드들로 서비스 발견 메시지들을 중계하게 할 수도 있다. 다른 예에서, 직접 서비스 액세스는 디렉토리 노드들에 어드레싱되거나 또는 네트워크에서 전파될 수도 있다. 서비스 발견 방법들에 대하여, 패시브 (또는 푸시) 모델들은 에이전트들 및 브로커들이 디바이스들 및 이용가능한 서비스들에 관한 공지들을 패시브로 수신하는 것을 허용할 수도 있는 반면, 에이전트들 및 브로커들은 액티브 (또는 풀) 모델들을 채용하는 아키텍처들에서 디바이스들 및 이용가능한 서비스들에 관하여 액티브로 인터로게이트 또는 질문할 수도 있다.
더욱이, 성능에 대하여, 다양한 추가적인 서비스 발견 고려사항들이 존재할 수도 있다. 예를 들어, 기능적 이슈들은, 제한 없이, 서비스 선택, 사용 및 QoS/QoE, 보안/프라이버시 (예를 들어, 인증, 인가, 신뢰, 기밀 (confidentiality), 무결성, 부인 방지 (non-repudiation) 등), 네트워크 타입 (예를 들어, 유선, 무선, 클라이언트 밀도, 사이즈, 대역폭 등), 및 디바이스 능력들을 포함할 수도 있다. QoS/QoE 문맥에서, 특정 성능 이슈들은 네트워크 스케일러빌리티, 그룹 통신, 로드 밸런싱 및 질문 효율성 (예를 들어, 더 많은 디렉토리 노드들 및 서비스 그룹핑들, 오버로딩 노드들을 최소화하기 위한 캐싱, 새로운 디바이스들로의 로드 밸런싱 및 로드 분산, 계위적 구조들, 분산된 해시 인덱싱, 오버레이 구조 최적화, 및 서비스 디스크립션 집성) 뿐만 아니라 고장 허용한계, 타이밍 및 동기화, 이동성 지원, 및 리소스-인식 최적화 (예를 들어, 전력 및 배터리 최적화들, 네트워크 대역폭 최적화들, 등) 를 포함할 수도 있다. 이에 따라, 서비스 발견 아키텍처에서 지원된 애플리케이션(들) 및/또는 사용 케이스(들)에 의존하여, 특정한 서비스와 연관된 무선 애플리케이션 데이터경로는 부적당한 능력들, 프로세싱 밀도들, 저장 용량들, 접속 및 전력 성능 프로파일들 등을 갖는 것으로 예상될 수 있는 많은 애드-혹 디바이스들을 포함할 수 있다. 더욱이, 임의의 디바이스는 자율적으로 그리고 다른 디바이스들의 인식 없이 동작할 수 있기 때문에, 상이한 디바이스들 간의 동작적 의존성들 및 요구된 협력은 통상적으로, 협력적 및 분산된 (미구조화된) 서비스 발견 프레임워크가 모든 본질적인 피처들을 가장 가능하게 할 수도 있도록 애플리케이션 및/또는 사용 케이스마다 입증 및 해결될 것이다.
그러나, 이러한 협력적 및 분산된 (미구조화된) 서비스 발견 프레임워크를 지원하기 위하여, 각각의 피어 디바이스는 항시-온 상태에 유지되어야 할 것이며, 이는 상당한 성능 이슈들을 야기할 수 있다. 예를 들어, 도 5 는 하나 이상의 P2P 서비스들을 제공 및/또는 소비하기 위해 대역외 D2D 접속을 통해 통신하는 무선 디바이스에서의 예시적인 전력 프로파일을 예시한다. 특히, 도 5 에 도시된 예의 전력 프로파일은 802.11 ac Wi-Fi 트랜시버를 이용하여 통신하는 무선 디바이스에 적용할 수도 있고, 여기서 수직 축은 수평 축 상에 도시한 바와 같은 시간에 따라 4.0 볼트 DC 에서 소비된 밀리암페어 (milliamps; mA) 를 도시한다. 도 5 에 도시한 바와 같이, 무선 디바이스가 홈 스크린 상에 있는 동안 (및 무선 세션을 확립하기 이전에) 소비된 전력은 대략 800 밀리암페어 (mA) 이고, 여기서 홈 스크린 전력 소비는 세션 확립 후 대략 1000 mA 로 점프하고 전력 소비는 어떤 무선 트래픽도 존재하지 않을 때의 대기/아이들 주기들 동안에도 그 레벨에 또는 그보다 위에 유지되며, 이는 정적 전력 소비에서 ~1W 에 달한다. 이로써, 서비스 정보 저장 타입, 서비스 디스크립션 액세스, 및 서비스 발견 방법들에 의존하여, 가끔의 서비스 발견 메시징은 무선 디바이스가 항시-온 상태에서 메인 무선 애플리케이션 데이터경로에서의 다양한 컴포넌트들을 유지하게 하여, 상당한 불필요한 전력 소비를 야기한다. 예를 들어, 많은 서비스 발견 메시지들은 상대적으로 작은 페이로드들 (예를 들어, 단지 수 바이트) 을 가지며, 이는 메인 무선 애플리케이션 데이터경로에서 제공된 상당한 프로세싱 리소스들을 요구하지 않을 수도 있다. 이로써, 본 명세서에서 설명된 다양한 양태들 및 실시형태들은 무선 애플리케이션 데이터경로에서의 컴포넌트들이 통상적으로 수행할 소정의 프로세싱 기능들을 저전력 코-프로세서가 가정하고 이로써 서비스 발견 메시징과 연관된 전체 전력 소비를 감소시킬 수 있도록 메인 무선 애플리케이션 데이터경로로 저전력 프로파일을 갖는 스마트 코-프로세서 또는 다른 프로세싱 컴포넌트(들)를 도입한다. 더욱이, 본 명세서에서 더욱 상세히 설명될 바와 같이, 저전력 코-프로세서는 더 많은 전력을 소비하는 컴포넌트들이 강도 높은 프로세싱 태스크들을 수행하기 위해 단지 활용되도록 필요할 때 또는 다르게는 요구될 때 무선 애플리케이션 데이터경로에서의 컴포넌트들을 선택적으로 인게이지 (engage) 하도록 구성될 수도 있다.
특히, 다양한 양태들에 따르면, 도 6 은 하나 이상의 서비스 발견 프로세싱 태스크들을 돕고 이로써 무선 서비스 플랫폼과 연관된 다른 서비스 발견 프로세싱 태스크들 및/또는 서비스 발견 전력 소비를 최적화하기 위해 메인 무선 애플리케이션 데이터경로에 배치된 저전력 코-프로세서 서브시스템 (660) 을 가질 수도 있는 예시적인 무선 디바이스 (600) 를 예시한다. 이로써, 도 6 에 도시된 무선 디바이스 (600) 는 서비스 제공자 디바이스, 서비스 소비자 디바이스, 또는 피어 디바이스들 간에 제공되는 하나 이상의 서비스들과 연관된 무선 애플리케이션 데이터경로에서의 임의의 다른 적합한 디바이스에 대응할 수도 있다. 예를 들어, 다양한 실시형태들에서, 무선 디바이스 (600) 는 로컬 디스플레이 (672) 및/또는 외부 디바이스 상의 외부 디스플레이 (674) 상에 제시하도록 비디오 데이터를 인코딩 또는 다르게는 프로세싱할 수 있는 디스플레이 프로세서 (670) 를 포함할 수도 있다. 소정의 사용 케이스들에서, 디스플레이 프로세서 (670) 는 로컬 디스플레이 (672) 및 외부 디스플레이 (674) 양자 모두 상에서 디스플레이하도록 동일한 비디오 데이터를 프로세싱할 수도 있고, 또는 디스플레이 프로세서 (670) 는 대안적으로는 로컬 디스플레이 (672) 또는 외부 디스플레이 (674) 상에 디스플레이하도록 비디오 데이터를 단지 프로세싱할 수도 있다. 유사한 측면에서, 무선 디바이스 (600) 는 로컬 오디오 출력 메커니즘들 (예를 들어, 내부 스피커들, 헤드폰 인터페이스 등) 을 통하여 제시하도록 오디오 데이터를 프로세싱할 수 있는 로컬 오디오 서브시스템 (680) 및/또는 외부 오디오 서브시스템 (684) 을 포함할 수도 있고, 여기서 로컬 오디오 서브시스템 (680) 은 로컬로 그리고 외부 오디오 서브시스템 (684) 을 통하여 제시하도록 동일한 오디오 데이터를 프로세싱하거나 또는 대안적으로는 로컬로 또는 외부 오디오 서브시스템 (684) 을 통하여 제시하도록 오디오 데이터를 단지 프로세싱할 수도 있다. 이에 따라, 다양한 실시형태들에서, 무선 디바이스 (600) 는 하나 이상의 피어 디바이스들과 연관된 서비스들을 제공 및/또는 소비하는 것과 연관된 다양한 양태들을 관리하도록 구성된 서비스 발견 서브시스템 (650) 을 포함할 수도 있고, 이는 미러링, 스크린 공유, 스트리밍 비디오, 원격 비디오/그래픽스 렌디션 등에 관한 서비스들을 지원하기 위한 디스플레이 프로세서 (670) 및 연관된 컴포넌트들과의 조정, 스트리밍 오디오, 원격 오디오 렌디션에 관한 서비스들을 지원하기 위한 로컬 오디오 서브시스템 (680) 및 연관된 컴포넌트들과의 조정, 원격 센싱에 관한 서비스들을 지원하기 위한 센서 플랫폼 (626) 과의 조정, 등을 수반할 수도 있다.
더욱이, 다양한 실시형태들에서, 서비스 발견 서브시스템 (650) 은 디바이스 발견에 관한 다양한 태스크들을 조정하도록 구성될 수도 있으며, 이는 하나 이상의 발견된 피어 디바이스들과 연관된 매체 액세스 제어 (MAC) 어드레스들 또는 다른 적합한 식별 정보, 이러한 피어 디바이스들과 연관된 로케이션 좌표들, 발견된 피어 디바이스들 상에서 이용가능한 P2P 서비스들, 및/또는 임의의 발견된 피어 디바이스들과 관련되는 다른 적합한 구성 정보를 발견 또는 다르게는 결정하는 것을 포함할 수도 있다. 다양한 실시형태들에서, 서비스 발견 서브시스템 (650) 은 발견된 피어 디바이스들과 관련되는 정보를 로컬 스토리지, 캐시 (622), 저전력 코-프로세서 서브시스템 (660) 과 연관된 메모리, 및/또는 그 임의의 적합한 조합에 저장하도록 구성될 수도 있다. 예를 들어, 다양한 실시형태들에서, 각각의 발견된 피어 디바이스와 관련되는 정보는, 각각의 발견된 피어 디바이스와 연관된 명칭을 저장하기 위한 피어 디바이스 필드, 각각의 발견된 피어 디바이스와 연관된 MAC 어드레스를 저장하기 위한 어드레스 필드, 각각의 발견된 피어 디바이스와 연관된 로케이션 좌표들을 저장하기 위한 좌표 필드, 발견된 피어 디바이스 상에서 이용가능한 P2P 서비스들 (만약 있다면) 에 관한 정보를 저장하기 위한 서비스 필드, 및 각각의 피어 디바이스에서 이용가능한 서비스들을 식별하는 서비스 질문 스트링들에 대응하는 하나 이상의 해시 값들을 포함할 수도 있는 테이블에 저장될 수도 있다.
다양한 실시형태들에 따르면, 서비스 발견 서브시스템 (650) 은 서비스 발견에 관한 다양한 태스크들을 추가로 조정할 수도 있으며, 이는 무선 디바이스 (600) 상에서 이용가능한 서비스들 및/또는 임의의 발견된 피어 디바이스들 상의 이용가능한 서비스들과 연관되는 하나 이상의 서비스 디스크립션들을 발견 또는 다르게는 결정하는 것을 포함할 수도 있다. 예를 들어, 서비스 발견 프로토콜들은 일반적으로 (예를 들어, 특정 개개의 서비스에 관한 상세한 정보를 제공하는 service_information 파라미터에 따라) 피어 엔드포인트들 간에 전달되는 프로토콜-특정 서비스 디스크립션들 (또는 사양들) 에 의존한다. 이로써, 다양한 실시형태들에서, 피어 디바이스는, 모든 이용가능한 채널들을 청취하는 피어 디바이스에서 듣게 될 수도 있는 비컨들을 그룹 오너 (GO) 가 발송하게 할 수도 있는, 기존 P2P 네트워크들을 스캐닝 피어 디바이스가 발견하도록 추구하는 스캔 페이즈를 통해 다른 피어 디바이스들을 발견할 수도 있다. 그 문맥에서, 스캔 페이즈는 액티브 스캔 (Active Scan) 또는 패시브 스캔 (Passive Scan) 을 포함할 수도 있고, 여기서 액티브 스캔은 패시브 스캔을 수행하는 피어 디바이스가 모든 채널들 상에 거주하고 비컨들에 대해 청취할 수도 있는 동안에, 피어 디바이스가 모든 이용가능한 채널들 상에서 프로브 요청들을 전송하고 액세스 포인트 또는 GO 로부터 프로브 응답들을 요청하는 것을 수반할 수도 있다. 대안적으로, 다양한 실시형태들에서, 피어 디바이스는 스캐닝 피어 디바이스가 P2P 그룹을 아직 형성하지 않은 다른 피어 디바이스들을 발견하도록 추구하는 파인드 페이즈 (Find phase) 를 통해 다른 피어 디바이스들을 발견할 수도 있다. 그 문맥에서, 파인드 페이즈는 서치 상태 (Search state) 및 청취 상태 (Listen state) 를 포함할 수도 있으며, 여기서 서치 상태는 피어 디바이스가 각각의 소셜 채널 (예를 들어, 2.4 GHz 대역에서의 채널 1, 6, 및 11) 상에서 하나 이상의 프로브 요청 프레임들을 송신하는 것을 포함할 수도 있다. 청취 상태에서, 피어 디바이스는 특정 소셜 채널 (예를 들어, 청취 채널) 상에서 대기하고 소정의 타입을 갖는 프로브 요청들 (예를 들어, 특정 요청된 서비스) 에 대해 청취할 수도 있다. 피어 디바이스는 그 후 서비스를 소비하는데 적합한 임의의 다른 정보에 더하여 적절한 서비스 디스크립션과 함께 전송될 수도 있는 하나 이상의 매칭 프로브 응답들을 식별하기 위해 원하는 디바이스 및/또는 서비스 타입에 기초하여 요청들을 필터링할 수도 있다. 예를 들어, 많은 서비스 발견 프로토콜들은 인간 판독가능 (human-readable) 및 머신 판독가능 (machine-readable) 템플릿 문서에 따라 서비스 디스크립션을 포매팅하기 위해 속성-값 구조를 이용하는 한편, 블루투스 서비스 디스크립션 프로토콜 (SDP) 은 서비스 레코드 (예를 들어, 속성 리스트) 내에 있는 서비스에 관한 모든 정보를 포함하고 다른 것들은 계위적 속성-값 쌍들, XML-기반 온톨로지들, 오브젝트-지향 패러다임들 등을 이용한다. 어느 경우에서나, 서비스 발견 서브시스템 (650) 은 무선 디바이스 (600) 및/또는 하나 이상의 피어 디바이스들 상에서 이용가능한 임의의 발견된 서비스들과 관련되는 서비스 디스크립션(들)을 로컬 스토리지, 캐시 (622), 저전력 코-프로세서 서브시스템 (660) 과 연관된 메모리, 및/또는 그 임의의 적합한 조합에 저장하도록 구성될 수도 있다. 이로써, 다양한 실시형태들에서, 서비스 발견 서브시스템 (650) 은, 메인 무선 애플리케이션 데이터경로에서의 저전력 코-프로세서 서브시스템 (660) 및/또는 애플리케이션 프로세서 (620) 상에서 수행될 프로세싱 태스크들을 정의하기 위한 서비스-특정 규칙들이 무선 디바이스 (600) 와 연관된 성능을 최적화하기 위해 결정, 적용, 및 동적으로 튜닝될 수 있도록 무선 디바이스 (600) 상의 관심 컴포넌트들 간에 서비스 디스크립션(들)을 적절히 분산시키도록 구성될 수도 있다.
다양한 양태들에 따르면, 무선 디바이스는 통신 목적들에 전용되거나, 무선 디바이스 (600) 와 연관된 범용 프로세서에 포함되거나, 또는 그 임의의 적합한 조합일 수도 있는 호스트 브리지 (640) 를 포함할 수도 있다. 다양한 실시형태들에서, 호스트 브리지 (640) 는 유선 및/또는 무선 인터페이스들을 통해 통신하기 위해 무선 디바이스 (600) 가 이용할 수도 있는 임의의 다른 모듈들 및/또는 유닛들에 더하여 3G/4G 셀룰러 모뎀 (642), 블루투스 (BT) 라디오 (644), 글로벌 포지셔닝 시스템 (GPS) (646) 수신기, 및 Wi-Fi 라디오 (648) 를 관리하도록 구성될 수도 있다. 더욱이, 다양한 실시형태들에서, Wi-Fi 라디오 (648) 는 종래의 Wi-Fi 프로토콜들 (예를 들어, 802.11n/802.11ac 트랜시버) 및/또는 독립적인 고 성능 Wi-Fi 트랜시버 (예를 들어, 802.11ad 트랜시버) 에 따라 동작하는 Wi-Fi 트랜시버를 포함할 수도 있다. 다양한 실시형태들에서, 호스트 브리지 (640) 는, 인터커넥트 및 시스템 메모리 (610) 및 애플리케이션 프로세서 (620) 를 더 포함할 수도 있는, 메인 무선 애플리케이션 데이터경로에서의 하나 이상의 컴포넌트들을 이용하여 하나 이상의 피어 디바이스들과 세션을 확립하도록 구성될 수도 있다. 그러나, 아래에 더욱 상세히 설명될 바와 같이, 저전력 코-프로세서 서브시스템 (660) 은 인커밍 패킷들에서 서비스 발견 메시지들, 이벤트들, 및 신호들을 검출하기 위해 무선 애플리케이션 데이터경로에 배치될 수도 있으며, 저전력 코-프로세서 서브시스템 (660) 은 아웃고잉 메시지들 및 그 아웃고잉 메시지들을 Wi-Fi 라디오 (648), BT 라디오 (644), 3G/4G 셀룰러 모뎀 (642) 등을 통해 송신하기 위한 관련 스케줄들을 저장하는데 충분한 메모리를 가질 수도 있다. 이로써, 저전력 코-프로세서 (660) 는 무선 애플리케이션 데이터경로에서 고전력 및 고대역폭 컴포넌트들로부터 다양한 서비스 발견 태스크들을 오프로드하는데 이용될 수도 있으며, 이는 따라서 강도 높은 프로세싱 태스크들을 수행할 필요가 있을 때까지 저전력 상태에 진입할 수 있다.
다양한 실시형태들에 따르면, 무선 디바이스 (600) 는 주변 인터페이스 (652) 를 통하여 인터커넥트 및 시스템 메모리 (610) 에 커플링된 저장 디바이스 (654) 를 더 포함할 수도 있다. 예를 들어, 저장 디바이스 (654) 는 플래시 드라이브, 범용 직렬 버스 (USB) 드라이브, SD 카드, 또는 임의의 다른 적합한 외부 저장 디바이스를 포함할 수도 있다. 추가로, 저장 디바이스 (654) 에 저장된 데이터는 스토리지로부터 또는 실시간으로 호스트 브리지 (640) 를 통해 사설 네트워크 또는 공중 네트워크 (예를 들어, 인터넷) 로부터 수신될 수도 있다. 하나의 실시형태에서, 무선 디바이스 (600) 는, 애플리케이션 프로세서 (620) 및/또는 저전력 코-프로세서 서브시스템 (660) 이 하나 이상의 적절한 애플리케이션들을 실행할 때 더 용이하게 데이터에 액세스할 수 있도록 저장 디바이스 (654) 로부터 로컬 메모리 (614) 로 데이터를 이동시킬 수도 있는 애플리케이션 데이터 무버 (664) 를 더 포함할 수도 있다. 더욱이, 애플리케이션 프로세서 (620) 는 빈번히 액세스된 데이터를 저장할 수도 있는 캐시 (622) 에 커플링될 수도 있다. 추가로, 무선 디바이스 (600) 는 애플리케이션 프로세서 (620) 상에서 실행되는 애플리케이션들이 요구할 수도 있는 임의의 적합한 그래픽스 프로세싱을 수행할 수 있는 그래픽스 프로세싱 유닛 (662) 을 포함할 수도 있다. 더욱이, 무선 디바이스 (600) 는 네트워크 소스들 (예를 들어, 인터넷) 로부터, 무선 디바이스 (600) (예를 들어, 내장형 카메라) 및/또는 센서 플랫폼 (626) 에서의 센서들로부터, 및/또는 임의의 다른 적합한 멀티미디어 소스로부터 획득된 멀티미디어 콘텐츠에 대한 인코딩, 디코딩, 가속화, 및/또는 다른 멀티미디어 프로세싱을 제공할 수 있는 하나 이상의 멀티미디어 프로세서들 (628) 을 포함할 수도 있다. 더욱이, 외부 싱크 디바이스 상에서 미디어 데이터를 제시하기 위해, 무선 통신 디바이스 (600) 는 미디어 데이터 패킷들이 외부 싱크 디바이스에 안전하게 송신되는 것을 보장하기 위해 필요한 임의의 보안 정보를 결정 및 적용할 수도 있는 보안 모듈 (690) 을 포함할 수도 있다.
추가적으로, 무선 디바이스 (600) 는 무선 디바이스 (600) 에서의 배터리와 연관된 스테이터스를 모니터링하도록 구성될 수도 있는 배터리 서브시스템 (630) 을 포함할 수도 있다. 예를 들어, 다양한 실시형태들에 따르면, 배터리 서브시스템 (630) 은 무선 디바이스 (600) 가 월-플러깅된 전력 소스를 갖는지 또는 내부 배터리 뿐만 아니라 (사용 중이라면) 내부 배터리 상에서 이용가능한 나머지 전력을 이용하고 있는지를 반영하는 스테이터스 정보를 저장할 수도 있다. 다양한 실시형태들에서, 배터리에 관한 스테이터스 정보는 (예를 들어, 상이한 배터리 컨디션들 등을 표시하기 위한 작은 배터리 아이콘, 빛 또는 사운드들을 이용하여) 로컬 디스플레이 (680) 상에 제시되고 무선 디바이스 (600) 상에서 허락되는 기능들 및/또는 저전력 코-프로세서 시스템 (600) 으로 오프로드될 기능들을 구성하는데 이용될 수도 있다. 이로써, 다양한 실시형태들에서, 상기 언급된 서비스-특정 규칙들은 배터리 수명을 최대화하기 위해 플랫폼 및 애플리케이션-특정 사용-케이스 문맥들에 기초하여 동적으로 정의 및/또는 후속하여 재정의 또는 다르게는 튜닝될 수 있다. 예를 들어, 무선 디바이스 (600) 가 손목-웨어러블 디바이스에 대응하면, 배터리 서브시스템 (630) 은 배터리 잔존수명 (battery health), 배터리 충전 상태, 및/또는 다른 적합한 배터리-관련 파라미터들 (예를 들어, 배터리 잔존수명 및/또는 이용가능한 전력이 임계값 미만인 경우 단지 시간을 말하고, 메시지들을 보여 주고, 스피커 기능들을 제공하는 등등을 행하고, 배터리 잔존수명 및/또는 이용가능한 전력이 카메라가 론칭될 수 없도록 임계적으로 낮은 경우 플래시 포토그래피를 디스에이블하는 등등) 에 따라 무선 디바이스 (600) 상에서 지원될 예정인 서비스들, 무선 디바이스 (600) 상에서 허락되는 기능들 등을 협상 및 제어할 수도 있다. 일반적으로, 배터리 서브시스템 (630) 은 정확한 배터리 스테이터스를 반영하기 위해 거의 계속적으로 배터리와 연관된 스테이터스 정보를 업데이트할 수도 있다. 추가로, 배터리 서브시스템 (630) 은 무선 디바이스 (600) 에서 수행되는 기능들을 제어하는데 이용되는 다양한 클록들 및/또는 다른 적합한 회로부를 포함하는 클록 모듈을 제어할 수도 있다. 더욱이, 상기 언급한 바와 같이, Wi-Fi 라디오 (648) 는 상이한 성능 레벨들을 제공할 수 있는 다수의 독립적인 Wi-Fi 트랜시버들을 포함할 수도 있다. 그러나, 상이한 성능 레벨들이 내부 배터리에 상이한 영향을 줄 수도 있기 때문에 (여기서 고성능 Wi-Fi 트랜시버는 일반적으로 더 많은 전력을 소비할 수도 있다), 무선 디바이스 (600) 는, 본 명세서에서 더 상세히 설명되는 바와 같이, 그와 함께 제공된 전력 최적화들을 보존하기 위하여 저전력 코-프로세서 서브시스템 (660) 이 액티브인 동안에 고성능 Wi-Fi 트랜시버가 이용되지 않을 것임을 보장하기 위해 디맨드-기반 Wi-Fi 네트워크 제어 프레임워크를 구현할 수도 있다.
다양한 양태들에 따르면, 저전력 코-프로세서 서브시스템 (660) 은 저전력 코-프로세서 서브시스템 (660) 이 실질적으로 더 많은 전력을 소비하는 컴포넌트들 (예를 들어, 고레벨 오퍼레이팅 시스템을 실행시키도록 구성된 호스트 브리지 (640), 인터커넥트 및 시스템 메모리 (610), 메인 애플리케이션 프로세서 (620) 등) 로 통상 수행되는 기능들을 가정할 수 있도록 아웃고잉 메시지들 및 관련 스케줄들을 저장하는데 충분한 메모리 및 인커밍 패킷들에서 하나 이상의 서비스 발견 이벤트들 및 신호들 (예를 들어, 규칙들 및 알람들) 을 검출하는 능력들을 가질 수도 있다. 예를 들어, 다양한 양태들에 따르면, 저전력 코-프로세서 서브시스템 (660) 은 저전력 코-프로세서 서브시스템 (660) 이 메인 무선 애플리케이션 데이터경로에서의 컴포넌트들을 이용하여 다르게 수행될 소정의 프로세싱 태스크들을 핸들링할 수도 있도록 다양한 동적으로 구성가능한 "웨이크-업" 규칙들에 따라 Wi-Fi 라디오 (648), BT 라디오 (64), 3G/4G 모뎀 (642) 등을 통해 수신되는 인커밍 패킷들을 독립적으로 검사할 수도 있다. 더욱이, 저전력 코-프로세서 서브시스템 (660) 은 웨이크-업 규칙들이 트리거되는지 여부 (예를 들어, 검사된 패킷들이 임계값을 넘는 페이로드를 갖는 경우, 메인 무선 애플리케이션 데이터경로에서의 컴포넌트들을 웨이크-업하기 위한 외부 메시지가 수신되는 경우, 하나 이상의 패킷들이 하나 이상의 웨이크-업 규칙들에 매칭하는 바이너리 스트링을 포함하는 경우 등) 에 의존하여 필요에 따라 메인 무선 애플리케이션 데이터경로에서의 컴포넌트들을 선택적으로 인게이지할 수도 있다. 더욱이, 무선 디바이스 (600) 는 서비스 발견 질문들에 응답하고 다른 피어 디바이스들과 핑 및/또는 킵-얼라이브 메시지들을 교환하여 그와의 접속들/연관들을 보존하고 이로써 대기/아이들 상태들 동안 일정한/상태유지 동작들을 유지하는 것으로 예상될 수도 있기 때문에, 저전력 코-프로세서 서브시스템 (660) 은 이러한 메시징을 위해 소켓들을 터미네이트할 수도 있다. 이에 따라, 저전력 코-프로세서 서브시스템 (660) 으로 다양한 서비스 발견 태스크들을 오프로드하는 것은 메인 무선 애플리케이션 데이터경로에서의 더 많은 전력-소모적 (power-hungry) 컴포넌트들이 가능한 한 저전력 상태 (예를 들어, 슬립 모드) 에 유지되는 것을 허용할 수도 있다. 유사하게, 무선 디바이스 (600) 는 그 상에서 이용가능한 서비스들을 공지/광고하고 소정의 사용 케이스들 (예를 들어, 원격 제어 및 원격 센싱 애플리케이션들) 에서 최소 레이턴시로 실시간 이벤트들 및 신호들을 발행할 것으로 예상될 수도 있기 때문에, 저전력 코-프로세서 서브시스템 (660) 은 메인 무선 애플리케이션 데이터경로에서의 컴포넌트들이 프로세싱 효율 (예를 들어, 전력 소비) 을 최적화하게 하는 프록시로서의 역할을 할 수도 있다. 더욱이, 저전력 코-프로세서 서브시스템 (660) 은 (일단 저전력 상태로부터 웨이크되면) 메인 애플리케이션 프로세서에서 결국 완료될 수도 있는 프로세싱을 신속히 처리 또는 다르게는 최적화하기 위해 소정의 커맨드들 및 타이밍-임계 메시지들 (예를 들어, 동기화 및 인터럽트 룩-업들) 을 프리-프로세싱 및/또는 트래핑하도록 구성될 수도 있다.
다양한 양태들에 따르면, 도 7a 및 도 7b 는 서비스 제공자 디바이스 (710) 및 서비스 소비자 디바이스 (720) 가 서비스 제공자 디바이스 (710) 상의 이용가능한 서비스 (714) 를 서비스 소비자 디바이스 (720) 에 제공하는데 이용되는 대역외 D2D 접속을 확립하기 위해 다양한 메시지들을 교환할 수도 있는 예시적인 디바이스 발견 및 서비스 발견 호 플로우들을 예시한다. 일반적으로, 도 7a 및 도 7b 에 대한 다음의 설명은 Wi-Fi 얼라이언스 피어-투-피어 (P2P) 사양에서 정의된 소정의 전문용어를 사용할 수도 있다. 그러나, 당업자들은 이러한 설명이 단지 예시 목적들을 위한 것이며 본 명세서에서 설명된 개념들이 다른 D2D 기술들에서 이용되는 디바이스 발견 및 서비스 발견 프로시저들에 적합하게 적용할 수도 있다는 것을 인식할 것이다. 예를 들어, 다양한 양태들에 따르면, 서비스 제공자 디바이스 (710) 는 서비스 제공자 디바이스 (710) 상의 서비스 (714) 를 서비스 소비자 디바이스 (720) 와 같은 하나 이상의 피어 디바이스들에 대해 이용가능하게 만드는 애플리케이션 (712) 을 실행할 수도 있다. 유사한 측면에서, 서비스 소비자 디바이스 (720) 는 서비스 제공자 디바이스 (710) 상의 이용가능한 서비스 (714) 에 대응할 수도 있는, 서비스 (724) 를 요청할 수도 있는 애플리케이션 (722) 을 실행할 수도 있다. 이에 따라, 서비스 제공자 디바이스 (710) 및 서비스 소비자 디바이스 (720) 는 각각 로컬 애플리케이션 서비스 플랫폼 (ASP) (716, 726) 을 가질 수도 있으며, 로컬 애플리케이션 서비스 플랫폼 (ASP) 은 서비스 소비자 디바이스 (720) 가 서비스 제공자 디바이스 (710) 상의 이용가능한 서비스 (714) 를 활용하는 세션을 확립하는데 필요한 다양한 기능들을 구현하는 소프트웨어 서비스 또는 라이브러리를 지칭할 수도 있다. 예를 들어, 다양한 실시형태들에서, 서비스 제공자 디바이스 (710) 및 서비스 소비자 디바이스 (720) 상의 로컬 ASP들 (716, 726) 을 통해 구현된 기능들은 다른 것들 중에서도, 디바이스 발견, 서비스 발견, 세션 관리, 접속 토폴로지 관리, 및 보안을 포함할 수도 있다.
다양한 양태들에 따르면, 도 7a 에 도시된 호 플로우는 일반적으로, 어떤 디바이스 발견 및/또는 서비스 발견 프로시저들도 서비스 제공자 디바이스 (710) 와 서비스 소비자 디바이스 (720) 간에 아직 수행되지 않은 사전-연관 상태 동안에 수행될 수도 있다. 이로써, 도 7a 에 도시된 호 플로우는 서비스 소비자 디바이스 (720) 가 서비스 제공자 디바이스 (710) 상에서 이용가능한 서비스 (714) 를 활용할 수도 있도록 서비스 제공자 디바이스 (710) 상에서 제공된 서비스 (714) 를 서비스 소비자 디바이스 (720) 에 대해 이용가능하게 하고 서비스 제공자 디바이스 (710) 와 서비스 소비자 디바이스 (720) 간에 직접 무선 접속을 확립하는데 이용될 수도 있다. 특히, 서비스 제공자 디바이스 (710) 상의 ASP (716) 는 이용가능한 서비스 (714) 로부터 AdvertiseService() 메시지를 수신할 수도 있고, 여기서 AdvertiseService() 메시지는 다른 디바이스 (예를 들어, 서비스 소비자 디바이스 (720)) 상의 서비스 시커 (service seeker) 가 서비스 제공자 디바이스 (710) 상의 ASP (716) 와의 세션을 발견 및 개시할 수도 있도록 서비스 (714) 에 관한 정보를 제공할 수도 있다. 예를 들어, 다양한 실시형태들에서, AdvertiseService() 메시지는 서비스 (714) 와 연관된 명칭을 특정하기 위한 파라미터들, 서비스 발견 동안에 이용될 수 있는 특정 서비스 (714) 에 관한 상세한 정보 (예를 들어, 서비스 디스크립션 또는 service_information 파라미터), ASP (716) 가 AdvertiseService() 방법을 호출하는 시간에서의 이용을 위해 서비스 (714) 가 이용가능한지 아닌지를 특정하기 위한 스테이터스 파라미터, 서비스 (714) 와 연관된 임의의 네트워크 구성 파라미터들 등을 포함할 수도 있다. 이로써, 서비스 소비자 디바이스 (722) 상의 애플리케이션 (722) 이 서비스 (724) 를 이용하라는 요청을 표시하는 것에 응답하여, 서비스 (724) 는 ASP (726) 로 SeekService() 메시지를 전송할 수도 있으며, 여기서 SeekService() 메시지는 ASP (726) 가 피어 디바이스들 (예를 들어, 서비스 제공자 디바이스 (710)) 상의 서비스들에 대해 서치하기 위해 이용할 수 있는 정보를 제공할 수도 있다. 예를 들어, 다양한 실시형태들에서, SeekService() 메시지는 서치될 서비스 명칭을 특정하기 위한 파라미터들 (예를 들어, 풀 서비스 명칭, 서비스 명칭 프리픽스, 등), ASP (726) 가 후속 프로브 요청 프레임에서 서비스 명칭에 대응하는 해시 값을 전송할 수도 있는 경우에 정확한 서치를 수행할지 여부 (다른 경우에는 ASP (726) 는 서비스 도메인에서 임의의 서비스들을 지원하는 모든 피어 디바이스들에 대해 서치하기 위해 서비스 도메인에 대응하는 해시 값을 전송할 수도 있다), 특정 MAC 어드레스를 가진 디바이스에 서치를 제한할지 또는 근접하여 있는 모든 피어 디바이스들을 서치할지를 표시하기 위한 네트워크 어드레스 파라미터, 및/또는 서비스 발견 요청/응답 교환에 통상 이용되는 추가적인 정보를 요청하기 위한 옵션적 서비스 정보 요청 파라미터를 포함할 수도 있다.
다양한 양태들에 따르면, 서비스 소비자 디바이스 (720) 상의 ASP (726) 는 그 후 원하는 서비스를 표시하기 위한 하나 이상의 서비스 해시(들)를 포함할 수도 있는, P2P 프로브 요청 프레임을 송신할 수도 있다. 서비스 제공자 디바이스 (710) 에서의 ASP (716) 가 P2P 프로브 요청 프레임을 검출하는 것에 응답하여, ASP (716) 는 그 안에 포함된 서비스 해시(들)가 서비스 (714) (또는 서비스 제공자 디바이스 (710) 상에서 이용가능한 임의의 다른 서비스들) 와 연관된 해시에 매칭하는지 여부를 결정할 수도 있다. P2P 프로브 요청에서의 서비스 해시(들)가 서비스 (714) 와 연관된 해시에 매칭한다고 가정하면, ASP (716) 는 그 후 광고를 요청한 서비스 (724) 에 의한 조작을 위해 서비스 제공자 디바이스 (710) 상의 광고(들)를 고유하게 식별하기 위해 ASP (716) 가 배정하는 광고 ID 에 더하여 서비스 (714) 와 연관된 명칭을 가진 P2P 프로브 응답을 송신할 수도 있고, 여기서 광고 ID 는 또한 서비스 (714) 와 연관된 스테이터스 변화들을 표시하고, 서비스 (714) 와 연관된 접속들, 및/또는 서비스 (714) 와 연관된 다른 이벤트들 및 제어들을 관리하기 위해 후속 메시징에서 이용될 수도 있다. ASP들 (716, 726) 은 그 후 ASP (726) 가 서비스 (724) 에 대한 서치 결과를 표시할 수도 있는 시간에, 서비스 명칭(들) 및 상세한 서비스-특정 정보를 교환하기 위해 P2P 서비스 발견 요청 및 P2P 서비스 발견 응답 프레임들을 교환할 수도 있다. 서비스 (724) 는 그 후 애플리케이션 (722) 에 디바이스 리스트를 리턴할 수도 있고 사용자 입력은 디바이스 리스트로부터 서비스 제공자 디바이스 (710) 를 선택할 수도 있다. 서비스 (724) 는 그 후 ASP들 (716, 726) 간에 P2P 프로비젼 발견 요청 및 P2P 프로비젼 발견 응답 교환을 초래할 수도 있는, ASP (726) 로 ConnectSessions() 메시지를 전송할 수도 있다. 서비스 제공자 디바이스 (710) 에서의 사용자가 세션을 확인하는 것에 응답하여, ASP (716) 는 세션 정보와 함께 성공 메시지를, 서비스 제공자 디바이스 (710) 와 접속 능력들을 교환할 수도 있는, 서비스 소비자 디바이스 (720) 에서의 ASP (726) 로 리턴할 수도 있다. 그 시점에, 서비스 소비자 디바이스 (720) 및 서비스 제공자 디바이스 (710) 는 P2P 그룹을 형성할 수도 있고, 또는 서비스 소비자 디바이스 (720) 는 대안적으로는 서비스 제공자 디바이스 (710) 가 이전에 형성한 기존 P2P 그룹에 가입할 수도 있다.
이제 도 7b 를 참조하면, 본 명세서에서 도시된 호 플로우는 일반적으로 서비스 제공자 디바이스 (710) 및 서비스 소비자 디바이스 (720) 가 기존 P2P 접속을 이미 형성하였고 및/또는 서비스 제공자 디바이스 (710) 와 서비스 소비자 디바이스 (720) 간의 디바이스 및 서비스 발견이 이미 수행된 사후 (post)-연관 상태 동안에 수행될 수도 있다. 이에 따라, 서비스 소비자 디바이스 (720) 에서의 ASP (726) 는 서비스 제공자 디바이스 (710) 에서의 ASP (716) 로 Request_Session 메시지를 전송할 수도 있고, 여기서 Request_Session 메시지는 세션-특정 MAC 어드레스, 세션 ID, 광고 ID, 및 세션 정보를 포함할 수도 있다. ASP (716) 는 그 후 애플리케이션 (712) 에 세션 정보를 제시할 수도 있는, 로컬 서비스 (714) 로 세션요청 (SessionRequest) 을 전송할 수도 있다. 사용자가 세션을 수락하는 것에 응답하여, 서비스는 ASP (716) 와의 세션을 확인하고 ASP (716) 에 세션 준비 스테이터스 (session ready status) 를 표시할 수도 있다. ASP (716) 는 그 후 서비스 소비자 디바이스 (720) 에서의 ASP (726) 가 확인응답할 수도 있는, 세션-특정 MAC 어드레스 및 세션 ID 를 표시하기 위해 서비스 소비자 디바이스 (726) 에서의 ASP (726) 에 응답할 수도 있다. 서비스 (714) 는 그 후 ASP (716) 로부터 포트를 요청하고 그 포트를 바인드하기 위해 세션 MAC 어드레스, 세션 ID, IP 어드레스, TCP/IP 포트 번호, 및 서비스-특정 프로토콜을 표시할 수도 있다. ASP (716) 가 포트를 허용하는 것에 응답하여, ASP (716) 는 로컬 서비스 (714) 에 포트 스테이터스를 표시하고 허용된 포트 정보를 서비스 소비자 디바이스 (720) 에서의 ASP (726) 에 표시할 수도 있다. 이에 따라, 서비스 소비자 디바이스 (720) 는 서비스-특정 세션에 포트를 바인드하기 위한 유사한 프로시저를 수행하고 동일한 것을 서비스 제공자 디바이스에서의 ASP (716) 에 표시할 수도 있다. 서비스 제공자 디바이스 (710) 및 서비스 소비자 디바이스 (720) 에서의 개별의 서비스들 (714, 724) 은 그 후 서비스-특정 애플리케이션 데이터가 개별의 애플리케이션들 (712, 722) 간에 교환될 수 있도록 애플리케이션 소켓을 접속시킬 수도 있다.
다양한 양태들에 따르면, 도 7a 및 도 7b 에 도시되고 위에서 더 상세히 설명된 호 플로우들을 참조하면, 서비스 제공자 디바이스 (710) 및/또는 서비스 소비자 디바이스 (720) 는 고전력 고대역폭 메인 프로세싱 시스템에 더하여 저전력 저대역폭 코-프로세서 서브시스템을 포함하는 하드웨어 아키텍처를 가질 수도 있으며, 그 경우에, 로컬 ASP (716, 726) 를 이용하여 수행된 다양한 기능들은, 고전력 고대역폭 메인 프로세싱 시스템이 서비스 제공자 디바이스 (710) 및/또는 서비스 소비자 디바이스 (720) 상에서의 전력 소비 및 성능을 최적화하기 위해 저전력 상태에 배치될 수 있도록 저전력 저대역폭 코-프로세서 서브시스템으로 오프로드될 수도 있다. 예를 들어, 상기 언급한 바와 같이, 저전력 저대역폭 코-프로세서 서브시스템은, 저전력 저대역폭 코-프로세서 서브시스템이 고전력 고대역폭 메인 프로세싱 시스템으로 통상 수행된 기능들을 가정할 수 있도록 아웃고잉 메시지들 및 관련 스케줄들을 저장하는데 충분한 메모리 및 인커밍 패킷들에서 하나 이상의 서비스 발견 이벤트들 및 신호들 (예를 들어, 규칙들 및 알람들) 을 검출하는 능력들을 가질 수도 있다. 이로써, 다양한 실시형태들에서, 저전력 저대역폭 코-프로세서 서브시스템은 웨이크-업 규칙들이 트리거되는지 여부 (예를 들어, 인커밍 패킷들이 그 패킷들이 서비스 발견 질문들보다는 서비스-특정 애플리케이션 데이터에 관련된다는 것을 표시하기에 충분히 큰 페이로드를 갖는 경우, 인커밍 패킷들이 메인 프로세싱 시스템에서의 컴포넌트들을 웨이크하기 위한 명시적 신호를 포함하는 경우 등) 에 의존하여 필요에 따라 저전력 저대역폭 코-프로세서 서브시스템이 소정의 인커밍 메시지들에 독립적으로 응답하고 메인 프로세싱 시스템에서의 고전력 고대역폭 컴포넌트들을 선택적으로 인게이지할 수도 있도록 다양한 동적으로 구성가능한 "웨이크-업" 규칙들에 따라 서비스 소비자 디바이스 (720) (및/또는 임의의 다른 피어 디바이스들) 로부터 수신된 인커밍 패킷들을 검사할 수도 있다. 더욱이, 서비스 제공자 디바이스 (710) 및 서비스 소비자 디바이스 (720) 는 서비스 발견 질문들에 응답하고 서로 핑 및/또는 킵-얼라이브 메시지들을 교환하여 그들 간의 접속/연관을 (대기 또는 아이들 상태들 동안에도) 보존할 것으로 예상될 수도 있기 때문에, ASP들 (716, 726) 은 개별의 디바이스 (710, 720) 상의 저전력 저대역폭 코-프로세서 서브시스템에서 이러한 메시징을 위해 소켓들을 터미네이트할 수도 있다. 이에 따라, 저전력 저대역폭 코-프로세서 서브시스템으로 다양한 디바이스 발견 및 서비스 발견 태스크들을 오프로드하는 것은 서비스 제공자 디바이스 (710) 및/또는 서비스 소비자 디바이스 (720) 가 메인 프로세싱 시스템에서의 고전력 고대역폭 컴포넌트들을 가능한 한 저전력 상태 (예를 들어, 슬립 모드) 에 유지하는 것을 허용할 수도 있다. 유사하게, 서비스 제공자 디바이스 (710) 및 서비스 소비자 디바이스 (720) 는 그 상에서 이용가능한 서비스들 (714, 724) 을 공지/광고하고 소정의 사용 케이스들에서 최소 레이턴시로 실시간 이벤트들 및 신호들을 발행할 것으로 예상될 수도 있기 때문에, 저전력 저대역폭 코-프로세서 서브시스템은 고전력 고대역폭 메인 프로세싱 시스템에서의 컴포넌트들이 성능을 최적화하기 위한 프록시로서의 역할을 할 수도 있다. 더욱이, 저전력 저대역폭 코-프로세서 서브시스템은 (일단 저전력 상태로부터 웨이크되면) 고전력 고대역폭 메인 프로세싱 시스템에서의 컴포넌트들을 이용하여 완료될 수도 있는 프로세싱을 신속히 처리하거나 또는 다르게는 최적화하기 위해 소정의 커맨드들 및 타이밍-임계 메시지들 (예를 들어, 동기화 및 인터럽트 룩-업들) 을 프리-프로세싱 및/또는 트래핑할 수도 있다.
다양한 양태들에 따르면, 도 8a 및 도 8b 는 무선 애플리케이션 데이터경로에 배치된 저전력 저대역폭 코-프로세서 서브시스템 (830) 을 포함할 수도 있는 무선 디바이스 (800) 와 연관된 예시적인 아키텍처를 예시하며, 여기서 저전력 저대역폭 코-프로세서 서브시스템 (830) 은 단순성을 위해 본 명세서에서 "코-프로세서 서브시스템" 등으로 지칭될 수도 있다. 다양한 실시형태들에서, 도 8a 및 도 8b 를 참조하면, 무선 디바이스 (800) 는 하나 이상의 피어-투-피어 (P2P) 및/또는 디바이스-투-디바이스 (D2D) 기술들을 지원하는 적어도 하나의 무선 라디오 (850) (예를 들어, 하나 이상의 802.11 Wi-Fi 라디오들, 블루투스 라디오, LTE-다이렉트를 지원하는 셀룰러 모뎀 등) 를 포함할 수도 있다. 이로써, 무선 라디오(들) (850) 는, 코-프로세서 서브시스템 (830) 에 더하여, 대안적으로 본 명세서에서 "메인 무선 프로세싱 서브시스템" 등으로 지칭될 수도 있는, 고전력 고대역폭 프로세싱 서브시스템 (810) 에 커플링될 수도 있다. 다양한 실시형태들에서, 메인 무선 프로세싱 서브시스템 (810) 은 무선 라디오(들) (850) 를 인터커넥트 및 시스템 메모리 (824) 및 호스트 애플리케이션 프로세서 및 고레벨 오퍼레이팅 시스템 (826) 에 커플링하는 호스트 브리지 (822) 를 포함할 수도 있다. 더욱이, 코-프로세서 서브시스템 (830) 은 메인 무선 프로세싱 서브시스템 (810) 으로부터 오프로드된 하나 이상의 서비스 발견 태스크들과 연관된 하나 이상의 아웃고잉 데이터 패킷들 및 그 하나 이상의 아웃고잉 데이터 패킷들을 전송하기 위한 관련 스케줄들을 저장하도록 구성된 로컬 온-칩 메모리 (837) 에 더하여 무선 라디오(들) (850) 에 커플링된 동기식 호스트 인터페이스를 포함할 수도 있다. 더욱이, 코-프로세서 서브시스템 (830) 은 대응하는 스케줄(들)에 따라 무선 라디오(들) (850) 를 통한 송신을 위해 아웃고잉 데이터 패킷들을 이동시키고 무선 라디오(들) (850) 를 통해 수신되는 인커밍 데이터 패킷들을 온-칩 메모리 (837) 로 추가로 이동시키도록 구성될 수도 있는 패킷 취득 (애플리케이션 데이터 무버) 모듈 (833) 을 포함할 수도 있다.
다양한 실시형태들에 따르면, 코-프로세서 서브시스템 (830) 은 무선 라디오(들) (850) 를 통해 수신되는 인커밍 데이터 패킷들을 프리-프로세싱하기 위해 하나 이상의 동적 규칙들로 구성된 프로그래밍가능 심층-패킷 검사 (DPI) 모듈 (835) 을 더 포함할 수도 있고, 여기서 하나 이상의 동적 규칙들은 무선 디바이스 (800) 에서 제공 또는 소비할 하나 이상의 서비스들에 대응하는 하나 이상의 서비스 발견 프로토콜들과 연관된 서비스 디스크립션에 (적어도 부부적으로) 기초할 수도 있다. 추가로, 하나 이상의 동적 규칙들에서 특정된 기준들은 무선 디바이스 (800) 와 연관된 동작 컨디션들 또는 상태들에 관한 하나 이상의 파라미터들 또는 다른 정보에 관한 것일 수도 있다. 예를 들어, 다양한 실시형태들에서, 동적 규칙들은 배터리 잔존수명 상태, 배터리 충전 상태, 무선 디바이스 (800) 에서 제공 및/또는 소비된 하나 이상의 서비스들과 연관된 타이밍과 무선 디바이스 (800) 상의 마스터 클록 간의 동기화 정확도, 이용가능한 CPU 용량, 이용가능한 메모리 리저브들, 대역폭 요건들, 레이턴시 요건들 등에 관한 기준들을 특정할 수도 있다. 이로써, 동적 규칙들은 무선 디바이스 (800) 에서 제공 및/또는 소비된 하나 이상의 서비스들과 연관된 서비스 디스크립션들에서 이용되는 특정한 시맨틱스에 따라 메인 무선 프로세싱 서브시스템 (810) 에서의 하나 이상의 컴포넌트(들)를 웨이크하거나 또는 다르게는 메인 무선 프로세싱 서브시스템 (810) 에서의 프로세싱을 인보크할 하나 이상의 컨디션들을 일반적으로 특정할 수도 있다. 더욱이, 다양한 실시형태들에서, 동적 규칙들은 옵션적으로 무선 디바이스 (800) 에 관한 동작 컨디션들 또는 현재 상태들에 따라 메인 무선 프로세싱 서브시스템 (810) 에서의 하나 이상의 컴포넌트(들)를 웨이크하거나 또는 다르게는 메인 무선 프로세싱 서브시스템 (810) 에서의 프로세싱을 인보크할 컨디션들을 추가로 특정할 수도 있다.
그러한 점에서, 코-프로세서 서브시스템 (830) 은 무선 디바이스 (800) 상에서 제공된 하나 이상의 서비스들 및/또는 무선 디바이스 (800) 에서 소비될 하나 이상의 원하는 서비스들과 연관된 요건들 (예를 들어, 무선 디바이스 (800), 서비스 소비자 피어 디바이스, 및/또는 서비스 제공자 피어 디바이스가 스피커(들) 또는 단지 디스플레이 능력들을 갖는지 여부, 제공된 서비스들 및/또는 원하는 서비스들이 주변 온도를 레포트할 것을 서비스 소비자 피어 디바이스 및/또는 서비스 제공자 피어 디바이스에 요구하는지 여부, 등) 을 발행/광고하기 위해 스케줄링된 아웃고잉 메시지들을 송신하도록 구성될 수도 있다. 이에 따라, 코-프로세서 서브시스템 (830) 은 본 명세서에서 특정된 임의의 서비스 요건들 및/또는 디바이스 능력들이 무선 디바이스 (800) 상에서 제공된 하나 이상의 이용가능한 서비스들 및/또는 무선 디바이스 (800) 에서 소비될 하나 이상의 원하는 서비스들에 매칭하는지 여부를 결정하기 위해 임의의 인커밍 데이터 패킷들을 검사하도록 추가로 구성될 수도 있고, 그것에 의하여 코-프로세서 서브시스템 (830) 은 서비스-특정 사용 케이스(들) 및 그 서비스-특정 사용 케이스(들)와 연관된 서비스 디스크립션(들)에서 이용되는 특정한 시맨틱스에 의존하여, 무선 디바이스 (800) 상에서 제공된 이용가능한 서비스 및/또는 무선 디바이스 (800) 에서 소비될 원하는 서비스에 매칭하는 서비스 요건들 및/또는 디바이스 능력들을 피어 디바이스로부터 수신된 하나 이상의 인커밍 패킷들이 특정할 때 메인 무선 프로세싱 서브시스템 (810) 에서의 하나 이상의 컴포넌트(들)를 단지 어웨이크하거나 또는 다르게는 인게이지할 수도 있다.
이에 따라, 다양한 실시형태들에서, 프로그래밍가능 DPI 모듈 (835) 은 초기에 인커밍 데이터 패킷들을 프리-프로세싱할 수도 있고, 인커밍 데이터 패킷들은, 검사 헤더들, 데이터 부분들, 또는 인커밍 데이터 패킷들과 연관된 다른 적합한 콘텐츠들을 포함하여 통계 정보 (예를 들어, 페이로드 사이즈) 를 수집하고 및/또는 메인 무선 프로세싱 서브시스템 (810) 에서의 프로세싱을 인보크하기 위한 하나 이상의 동적 규칙들이 트리거되었는지 여부를 결정할 수도 있다. 예를 들어, 다양한 실시형태들에서, 프로그래밍가능 DPI 모듈 (835) 은 프리-프로세싱된 데이터 패킷들이 "오케이-투-슬립 (ok-to-sleep)" 커맨드를 포함하는지 여부를 결정할 수도 있으며, 그 경우에 프로그래밍가능 DPI 모듈 (835) 은 (예를 들어, 아이들/대기로부터 슬립/휴면 상태로, 슬립/휴면 상태로부터 딥 슬립/동면 상태로 등등으로) 더 낮은 전력 상태로 트랜지션하는 것이 허락된다는 것을 메인 무선 프로세싱 서브시스템 (810) 에서의 하나 이상의 컴포넌트들에 통지할 수도 있다. 다른 예들에서, 프리-프로세싱된 데이터 패킷들이 "노-슬립 (no-sleep)" 커맨드 (예를 들어, 명시적 웨이크 신호) 를 포함하는 경우, 프로그래밍가능 DPI 모듈 (835) 은 액티브 상태로 트랜지션하고 호스트 애플리케이션 프로세서 (826) 와 연관된 메모리로 임의의 버퍼링된 데이터를 이동시키도록 메인 무선 프로세싱 서브시스템 (810) 에서의 컴포넌트들에 통지할 수도 있다. 여전히 다른 예들에서, 프리-프로세싱된 데이터 패킷들이 저전력 코-프로세서 (839) 와 연관된 버퍼가 그 안에 저장된다면 풀이 되도록 임계값을 넘는 페이로드 사이즈를 갖는다면, 프로그래밍가능 DPI 모듈 (835) 은 버퍼링된 데이터가 코-프로세서 서브시스템 (830) 내의 이용가능한 프로세싱 용량을 초과할 때, 메인 무선 프로세싱 서브시스템 (810) 에서의 컴포넌트들을 인게이지하고 호스트 애플리케이션 프로세서 (826) 와 연관된 메모리로 버퍼링된 데이터를 이동시킬 수도 있다. 더욱이, 상기 언급한 바와 같이, 프로그래밍가능 DPI 모듈 (835) 은 하나 이상의 서비스 요건들, 능력들, 및/또는 프리-프로세싱된 데이터 패킷들에서 전달된 다른 적합한 정보를 하나 이상의 동적 규칙들과 비교하기 위한 패턴 매칭을 수행하고 프리-프로세싱된 데이터 패킷들에서 전달된 정보를 메인 무선 프로세싱 서브시스템 (810) 에서 프로세싱을 요구하는 임의의 서비스-특정 컨디션들에 매칭시키는 것에 응답하여 메인 무선 프로세싱 서브시스템 (810) 에서의 하나 이상의 컴포넌트들을 인게이지할 수도 있다. 다른 경우에, 프리-프로세싱된 데이터 패킷들이 프로그래밍가능 DPI 모듈 (835) 에서 구현된 모든 필터들을 통과하는 것에 응답하여, 프리-프로세싱된 데이터 패킷들은, 후에 인커밍 데이터 패킷들을 추가로 프로세싱할 수도 있는 저전력 코-프로세서 (839) 와 연관된 버퍼에 저장될 수도 있다.
특히, 적절한 프리-프로세싱이 프로그래밍가능 DPI 모듈 (835) 에서 수행된 후, 저전력 코-프로세서 (839) 는 메인 무선 프로세싱 서브시스템 (810) 으로부터 오프로드되었던 임의의 서비스 발견 태스크들을 핸들링하기 위해 인커밍 데이터 패킷들을 추가로 프로세싱할 수도 있다. 예를 들어, 오프로드된 서비스 발견 태스크들은 인커밍 데이터 패킷들과 연관된 기준들이 하나 이상의 동적 규칙들을 트리거하지 않는 메인 무선 프로세싱 서브시스템 (810) 에서의 프로세싱을 인보크하지 않고 인커밍 데이터 패킷들에 응답하고 아웃고잉 메시지들 (예를 들어, 서비스 공지, 광고들, 스테이터스 변화들 등) 을 전송하는 것을 포함할 수도 있다. 더욱이, 메인 무선 프로세싱 서브시스템 (810) 에서의 프로세싱은 인커밍 데이터 패킷들과 연관된 기준들이 하나 이상의 동적 규칙들을 충족하는 것에 응답하여 인보크될 수도 있다. 그러나, 프로그래밍가능 DPI 모듈 (835) 에서 수행된 패턴 매칭이 일반적으로 개개의 패킷들로부터의 스트링들을 서비스-특정 동적 규칙들과 비교하는 것을 포함할 수도 있는 반면, 저전력 코-프로세서 (839) 는 더 복잡한 멀티-스트링 매칭을 수반하는 패턴 매칭을 수행할 수도 있다. 이에 따라, 저전력 코-프로세서 (839) 는 메인 무선 프로세싱 시스템 (810) 에서 프로세싱을 요구하는 임의의 동적 규칙들이 트리거되었는지 여부를 결정하기 위해 서비스-특정 요건들 및/또는 디바이스 능력들과 결합하여 무선 디바이스 (800) 와 연관된 동작 컨디션들 또는 상태들에 관한 하나 이상의 파라미터들 또는 다른 정보를 고려할 수도 있다. 예를 들어, 코-프로세서 (839) 는 메인 무선 프로세싱 서브시스템 (810) 에서의 컴포넌트들을 웨이크하지 않고 무선 디바이스 (800) 상에서 제공된 이용가능한 서비스들 및/또는 무선 디바이스 (800) 에서 소비될 원하는 서비스들에 관한 서비스 발견 질문들을 포함하는 인커밍 데이터 패킷들에 응답할 수도 있다. 그러나, 코-프로세서 (839) 는 인커밍 데이터 패킷들이 특정한 서비스-특정 임계치를 초과하는 페이로드 사이즈 (예를 들어, 서비스-특정 애플리케이션 데이터와 연관된 페이로드 사이즈, 반면에 서비스 발견 질문들 및 다른 유사한 메시지들은 통상적으로 상대적으로 작은 페이로드 사이즈를 가질 수도 있다) 를 갖는 메인 무선 프로세싱 서브시스템 (810) 에서의 컴포넌트들을 인게이지할 수도 있다. 대안적으로, 코-프로세서 (839) 는 인커밍 데이터 패킷들이 (예를 들어, 포트들을 바인드하는 것, 소켓들을 확립하는 것 등과 같은) 서비스-특정 세션을 확립하는데 필요할 수도 있는 적절한 어시스턴스를 요청하기 위해 무선 디바이스 (800) 상에서 제공된 이용가능한 서비스들 및/또는 무선 디바이스 (800) 에서 소비될 원하는 서비스들에 매칭하는 하나 이상의 서비스 요건들 및/또는 디바이스 능력들을 특정하는 이벤트에서 메인 무선 프로세싱 서브시스템 (810) 에서의 컴포넌트들을 인게이지할 수도 있다.
더욱이, 상기 언급한 바와 같이, 동적 규칙들은 메인 무선 프로세싱 서브시스템 (810) 에서의 컴포넌트들에서 프로세싱을 요구할 수도 있는 컨디션들을 정의하기 위해 하나 이상의 서비스-특정 서치 스트링들을 특정할 수도 있으며, 여기서 코-프로세서 (839) 는 본 명세서에서 이용가능한 더 높은 전력, 더 높은 대역폭 프로세싱 능력들을 활용할 필요성을 표시하는 하나 이상의 매칭 스트링들을 검출하는 것에 응답하여 메인 무선 프로세싱 서브시스템 (810) 에서의 컴포넌트들을 인게이지할 수도 있다. 예를 들어, 서비스-특정 스크린 공유 사용 케이스에서, 충분한 스크린 공유 성능을 달성하는데 필요한 대역폭은 스크린 사이즈, 레졸루션, 및/또는 다른 관련 파라미터들에 의존할 수도 있다. 특히, VGA 스크린 공유 사용 케이스에서, 레졸루션이 대략 640x480 픽셀들인 경우, 작은 대역폭이 필요할 수도 있는 반면, 3840x2160 라인들에서의 울트라 HD 4K 레졸루션은 큰 대역폭을 요구한다. 이로써, 스크린 공유 사용 케이스들에서의 동적 규칙들은, 울트라 HD 4K 스크린 공유가 일반적으로 월-플러깅된 전력 소스를 요구할 수도 있다는 점에서, 스크린 공유에서 수반된 임의의 피어 디바이스들 및/또는 무선 디바이스 (800) 에서 이용가능한 초당 프레임들의 프로세싱 리소스들에 의존할 수도 있다. 그러한 점에서, 서비스-특정 동적 규칙들은 초당 필요한 프레임들에서 데이터를 디스플레이하는 능력들 및 이용가능한 전력 소스들에 관한 정보를 피어 엔드포인트들이 교환하는 것을 요구할 수도 있고, 그것에 의하여, 메인 무선 프로세싱 서브시스템 (810) 에서의 컴포넌트들은 코-프로세서 서브시스템 (830) 이 디맨드된 성능을 충족할 수 없다는 것을 인커밍 데이터 패킷들이 표시하는 이벤트에서 인보크될 수도 있다. 다른 예의 사용 케이스에서, 스테레오에서 오디오를 해결하는 것은 더 중요한 이슈가 대신에 좌측 채널과 우측 채널 간의 동기화를 유지하는 것과 관련되기 때문에 상대적으로 작은 스루풋을 요구할 수도 있다. 이로써, 무선 디바이스 (800) 가 스테레오 오디오를 다른 피어 디바이스로 스트리밍하는 사용 케이스에서, 동적 규칙들은 동기화가 좌측 채널과 우측 채널 간에 손실되었다는 것을 피어 디바이스가 표시한다면 메인 무선 프로세싱 서브시스템 (810) 에서의 컴포넌트들이 인보크되어야 한다는 것을 특정할 수도 있다. 유사하게, 무선 디바이스 (800) 가 피어 디바이스로부터 스트리밍된 스테레오 오디오를 수신하고 있는 경우, 동적 규칙들은 무선 디바이스 (800) 가 동기화가 좌측 채널과 우측 채널 간에 손실되었다고 결정한다면 메인 무선 프로세싱 서브시스템 (810) 에서의 컴포넌트들이 인보크되어야 한다는 것을 특정할 수도 있다.
이로써, 이들 및 다른 서비스-특정 사용 케이스들에서, 동적 규칙들은 프로토콜-특정 및 서비스-특정 메시지들에서 반송된 파라미터들에 대해 비교하기 위해 하나 이상의 서치 스트링들 (예를 들어, 바이너리 서치 스트링들) 을 정의할 수도 있고, 여기서 메인 무선 프로세싱 서브시스템 (810) 에서의 컴포넌트들은 하나 이상의 동적 규칙들에서 정의된 서치 스트링들에 매칭하는 기준들을 포함하는 프로토콜-특정 및 서비스-특정 메시지들에 응답하여 인보크될 수도 있다. 그렇지 않다면, 프로세싱은 코-프로세서 서브시스템 (830) 으로 계속 오프로드될 수도 있다. 더욱이, 메인 무선 프로세싱 서브시스템 (810) 에서의 컴포넌트들이 인보크될 수도 있는 이벤트에서, 동적 규칙들은 메인 무선 프로세싱 서브시스템 (810) 에서의 컴포넌트들이 필요한 성능 디맨드들을 달성하고 이로써 메인 무선 프로세싱 서브시스템 (810) 에서의 컴포넌트들이 저전력 상태에 유지될 수 있는 시간을 증가시키도록 요구되지 않았다는 결정에 응답하여 재정의되거나 또는 다르게는 튜닝될 수도 있다.
도 8a 를 특정 참조하면, 본 명세서에서 예시된 아키텍처는 룩-어사이드 모드에서 코-프로세서 서브시스템 (830) 을 동작시킬 수도 있다. 특히, 룩-어사이드 모드에서, 서비스 공지들, 서비스 광고들, 서비스 스테이터스 변화들, 서비스 질문들, 및 소정의 인커밍 메시지들 (예를 들어, 인커밍 서비스 질문들) 에 대한 응답들에 관한 아웃고잉 메시지들은 온-칩 메모리 (837) 에 버퍼링될 수도 있다. 패킷 취득 모듈 (833) 은 그 후 그에 관련된 임의의 적용가능한 스케줄들 (예를 들어, 서비스 공지들, 서비스 광고들, 서비스 스테이터스 변화들, 원하는 서비스들에 관한 질문들 등을 발행할 때를 정의하는 하나 이상의 스케줄들) 에 따라 온-칩 메모리 (837) 로부터 동기식 호스트 인터페이스 (831) 로 아웃고잉 메시지들을 이동시킬 수도 있다. 동기식 호스트 인터페이스 (831) 는 그 후 아웃고잉 메시지들이 무선 라디오(들) (850) 를 통해 송신되게 할 수도 있으며, 그것에 의하여 아웃고잉 메시지들은 메인 무선 프로세싱 서브시스템 (810) 을 함께 우회하는 아웃고잉 데이터 경로 (842) 를 통해 송신될 수도 있다. 더욱이, 룩-어사이드 모드에서, 인커밍 데이터 패킷들은 메인 무선 프로세싱 서브시스템 (810) 을 마찬가지로 우회하는 인커밍 데이터 경로 (844) 를 통해 코-프로세서 서브시스템 (830) 에서 수신될 수도 있다. 예를 들어, 인커밍 데이터 경로 (844) 는 무선 라디오(들) (850) 를 통하여 동기식 호스트 인터페이스 (831) 로 전달될 수도 있고, 패킷 취득 모듈 (833) 은 그 후 온-칩 메모리 (837) 상의 수신 큐로 인커밍 패킷들을 이동시킬 수도 있다. 프로그래밍가능 DPI 모듈 (835) 은 그 후 수신 큐에 저장된 인커밍 데이터 패킷들에 대해 상기 언급된 프리-프로세싱 태스크들을 수행하고 임의의 인커밍 데이터 패킷들이 본 명세서에서 구현된 필터들을 통과하지 않는지 여부에 의존하여 전력 소비를 추가로 최적화하거나 또는 메인 무선 프로세싱 서브시스템 (810) 에서의 하나 이상의 컴포넌트들을 웨이크하거나 둘 중 어느 하나를 행하기 위해 호스트 브리지 (822) 를 선택적으로 인게이지할 수도 있다.
다양한 양태들에 따르면, 인커밍 데이터 패킷이 프로그래밍가능 DPI 모듈 (835) 에서 구현된 필터들을 통과하는 이벤트에서, 프리-프로세싱된 인커밍 데이터 패킷들은, 위에서 더 상세히 논의한 바와 같이, 로컬 판정 엔진을 이용하여 하나 이상의 동적 규칙들에 대하여 인커밍 데이터 패킷들을 추가로 프로세싱할 수도 있는 코-프로세서 (839) 에 제공될 수도 있다. 이로써, 코-프로세서 (839) 가 인커밍 데이터 패킷들이 메인 무선 프로세싱 서브시스템 (810) 에서의 컴포넌트(들)를 인게이지할 컨디션들을 정의하는 임의의 동적 규칙들을 트리거하지 않는다고 추가로 결정하는 경우, 코-프로세서 (839) 는 메인 무선 프로세싱 서브시스템 (810) 에서의 임의의 컴포넌트(들)를 활용 (예를 들어, 서비스 질문들에 응답, 인커밍 데이터를 무선 디바이스 (800) 상의 서비스 제공자 및/또는 서비스 소비자 엔티티들로 분산, 등) 하지 않고 인커밍 데이터 패킷들을 적절히 프로세싱할 수도 있다. 대안적으로, 인커밍 데이터 패킷들이 하나 이상의 동적 규칙들을 트리거하는 경우, 코-프로세서 서브시스템 (830) 은 그와 연관된 프로세싱 능력들을 인보크하기 위해 메인 무선 프로세싱 서브시스템 (810) 에서의 하나 이상의 컴포넌트들을 웨이크 또는 다르게는 인게이지할 수도 있다. 그러나, 인커밍 데이터 패킷들이 코-프로세서 서브시스템 (830) 에서 이미 프리-프로세싱되었기 때문에, 메인 무선 프로세싱 서브시스템 (810) 에서 인보크된 임의의 프로세싱은 동기화, 인터럽트 룩-업들, 또는 타이밍-임계 양태들을 갖는 다른 적합한 태스크들에 관한 인커밍 데이터 패킷들이 최소 레이턴시로 프로세싱됨을 보장하기 위해 프리-프로세싱이 소정의 커맨드들 및/또는 다른 적합한 메시지들을 트래핑할 수도 있다는 점에서 신속히 처리되거나 또는 다르게는 최적화될 수도 있다. 더욱이, 다양한 양태들에 따르면, 메인 무선 프로세싱 서브시스템 (810) 에서 인보크되는 컴포넌트들은 메인 무선 프로세싱 시스템 (810) 에서의 프로세싱 능력들이 웨이크업을 초래한 컨디션들을 다루는데 실제로 필요했는지 여부를 결정할 수도 있으며, 그것에 의하여, 동적 규칙들은, 메인 무선 프로세싱 서브시스템 (810) 에서의 컴포넌트들이 필요한 성능 디맨드들을 달성하기 위해 요구되지 않았던 이벤트에서 플랫폼 및 서비스-특정 사용-케이스 문맥(들)에 기초하여 재정의 또는 다르게는 튜닝될 수도 있다. 이로써, 동적 규칙들은, 후속의 불필요한 웨이크업들을 방지하기 위해 재정의 또는 다르게는 튜닝될 수도 있고, 이는 따라서 메인 무선 프로세싱 서브시스템 (810) 에서의 컴포넌트들이 저전력 상태(들)에서 더 많은 시간을 소비할 수 있도록 동일한 컨디션들이 발생한다면 일어나지 않을 수도 있다.
다양한 양태들에 따르면, 도 8b 를 특정 참조하면, 본 명세서에서 예시된 아키텍처는, 대안적으로는 범프-인-더-스택 (bump-in-the-stack) 또는 플로우-스루 (flow-through) 모드로 지칭될 수도 있는, 범프-인-더-와이어 모드에서 코-프로세서 서브시스템 (830) 을 동작시킬 수도 있다. 특히, 범프-인-더-와이어 모드에서, 하나 이상의 아웃고잉 메시지들은 메인 무선 프로세싱 서브시스템 (810) 에서의 인터커넥트 및 시스템 메모리 (824) 에 저장되고 그 후 인터커넥트 및 시스템 메모리 (824) 로 리턴하기 전에 온-칩 메모리 (837) 및 프로그래밍가능 DPI 모듈 (835) 로 통과할 수도 있다. 아웃고잉 메시지들은 그 후 호스트 브리지 (822) 로 전송되고 하나 이상의 무선 라디오들 (850) 을 통해 무선 네트워크 위로 송신될 수도 있다. 그러한 점에서, 프로그래밍가능 DPI 모듈 (835) 은 임의의 아웃고잉 메시지들이 다른 아웃고잉 메시지들에 비해 우선순위화 (예를 들어, 디바이스 발견 질문들, 서비스 발견 공지들/질문들 등에 비해 서비스-특정 애플리케이션 데이터를 우선순위화함) 되어야 하는지 여부를 결정하는 동적 규칙들 및 서비스-특정 요건들 및 디바이스 능력들에 기초하여 아웃고잉 메시지들을 분석할 수도 있다. 이에 따라, 범프-인-더-와이어 모드에서, 코-프로세서 서브시스템 (830) 은 서비스-특정 플로우들 (예를 들어, 소스 IP 어드레스 및 포트, 목적지 IP 어드레스 및 포트, 서비스-특정 프로토콜들 등) 에 따라 아웃고잉 패킷들을 분류하고 아웃고잉 송신들을 최적화하여 서비스 품질 (QoS) 및/또는 체감 품질 (QoE) 요건들을 충족시키거나, 혼잡 포인트들을 통한 전달을 향상시키거나, 또는 다르게는 아웃고잉 트래픽을 큐잉 및 형상화하여 서비스-특정 성능 디맨드들을 충족시키고 무선 디바이스 (800) 상의 전력 소비를 최적화하는데 활용될 수도 있다. 이로써, 범프-인-더-와이어 모드에서, 아웃고잉 메시지들은 메인 무선 프로세싱 서브시스템 (810) 및 코-프로세서 서브시스템 (830) 을 부분적으로 트래버싱하는 아웃고잉 데이터 경로 (842) 를 통해 이동할 수도 있다.
다양한 양태들에 따르면, 범프-인-더-와이어-모드에서, 인커밍 데이터 경로 (844) 는 마찬가지로 호스트 브리지 (822) 및 인터커넥트 및 시스템 메모리 (824) 를 트래버싱하고 그 후 인터커넥트 및 시스템 메모리 (724) 로 리턴하기 전에 온-칩 메모리 (837) 및 프로그래밍가능 DPI 모듈 (835) 을 통하여 플로우할 수도 있다. 이로써, 프로그래밍가능 DPI 모듈 (835) 은 인커밍 데이터 패킷들이 더 높은 대역폭의 호스트 브리지 (822) 및 인터커넥트 및 시스템 메모리 (824) 를 통해 수신될 수도 있다는 점을 제외하고는 룩-어사이드 모드에 대하여 상기 설명한 바와 같이 인커밍 데이터 패킷들에 대해 실질적으로 유사한 프리-프로세싱 태스크들을 수행할 수도 있다. 범프-인-더-와이어 모드는 따라서 범프-인-더-와이어 모드가 메인 무선 프로세싱 서브시스템 (810) 에서의 적어도 일부 고전력 고대역폭 컴포넌트들을 활용하는 비용으로 더 큰 성능을 제공할 수 있다는 점을 제외하고는 호스트 애플리케이션 프로세서 (826) 가 저전력 상태에 유지될 수 있다는 점에서 룩-어사이드 모드와 유사한 이익들을 제공할 수도 있다. 이에 따라, 다양한 실시형태들에서, 범프-인-더-와이어 모드는 더 큰 성능 디맨드들을 갖는 서비스-특정 사용 케이스들에 더 잘 맞을 수도 있다 (예를 들어, 코-프로세서 서브시스템 (830) 은 낮은 레졸루션 VGA 비디오를 스트리밍하는 것을 수반하는 단순 파일 전송들 또는 서비스들을 핸들링하기 위해 룩-어사이드 모드에서 동작할 수도 있는 반면, 범프-인-더-와이어 모드는 높은 레졸루션 HD 비디오를 스트리밍하기 위한 서비스들을 수반하는 세션들을 핸들링하는데 활용될 수도 있다).
다양한 양태들에 따르면, 도 9 는 무선 애플리케이션 데이터경로에 배치된 저전력 저대역폭 코-프로세서 서브시스템이 무선 서비스 플랫폼에서 서비스 발견 전력 소비를 최적화하기 위해 수행할 수도 있는 예시적인 방법 (900) 을 예시한다. 특히, 블록 (910) 에서, 메인 무선 프로세싱 서브시스템에서의 하나 이상의 컴포넌트들은 슬립 상태 또는 다른 적합한 저전력 상태에 진입할 수도 있고 코-프로세서 서브시스템은 저전력 상태에 진입한 메인 무선 프로세싱 서브시스템에서의 컴포넌트들로부터 하나 이상의 서비스 발견 태스크들을 오프로드하기 위해 룩-어사이드 모드 또는 범프-인-더-와이어 모드 중 어느 하나에서 동작하도록 구성될 수도 있다. 예를 들어, 룩-어사이드 모드에서, 저전력 상태에 진입하는 컴포넌트들은 호스트 브리지, 메인 인터커넥트 및 시스템 메모리, 및 고레벨 오퍼레이팅 시스템을 실행하도록 구성된 호스트 애플리케이션 프로세서를 포함할 수도 있다. 대안적으로, 범프-인-더-와이어 모드에서, 호스트 브리지 및 메인 인터커넥트 및 시스템 메모리는 액티브로 유지될 수도 있고 단지 호스트 애플리케이션 프로세서는 저전력 상태에 진입한다. 이에 따라, 다양한 실시형태들에서, 코-프로세서 서브시스템을 동작시키는 특정한 모드는 블록 (910) 에서 무선 디바이스에 대해 연관된 현재 동작 컨디션들 또는 상태들 및 임의의 서비스-특정 요건들 및 디바이스 능력들에 기초하여 선택될 수도 있다. 예를 들어, 무선 디바이스가 낮은 배터리 충전 상태를 갖고 월-플러깅된 전력 소스를 갖지 않으면, 코-프로세서 서브시스템은 더 많은 전력을 보존하기 위해 룩-어사이드 모드에서 동작될 수도 있다. 다른 예에서, 무선 디바이스가 상당한 성능 디맨드들을 갖는 서비스를 액티브로 제공 및/또는 소비하고 있고 배터리 충전 상태가 임계 레벨을 넘고 및/또는 월-플러깅된 전력 소스가 이용가능하다면, 코-프로세서 서브시스템은 성능을 최적화하기 위해 범프-인-더-와이어에서 동작할 수도 있다.
다양한 실시형태들에서, 일단 메인 무선 프로세싱 서브시스템에서의 컴포넌트들이 저전력 상태에 진입하면, 블록 (915) 에서 심층 패킷 검사 (DPI) 가 코-프로세서 서브시스템 내에서 턴 온될 수도 있고 하나 이상의 서비스-특정 웨이크-업 규칙들이 취출될 수도 있다. 예를 들어, 위에서 더 상세히 논의한 바와 같이, 서비스-특정 웨이크-업 규칙들은 일반적으로 메인 무선 프로세싱 서브시스템에서의 하나 이상의 컴포넌트(들)를 웨이크하거나 또는 다르게는 메인 무선 프로세싱 서브시스템에서의 프로세싱을 인보크할 하나 이상의 컨디션들을 특정할 수도 있고, 이는 무선 디바이스에서 제공 및/또는 소비된 하나 이상의 서비스들과 연관된 서비스 디스크립션들에서 이용되는 특정한 시맨틱스에 따라 표현될 수도 있다. 더욱이, 다양한 실시형태들에서, 서비스-특정 웨이크-업 규칙들은 옵션적으로 무선 디바이스에 관한 동작 컨디션들 또는 현재 상태들에 따라 메인 무선 프로세싱 서브시스템에서의 하나 이상의 컴포넌트(들)를 웨이크하거나 또는 다르게는 메인 무선 프로세싱 서브시스템에서의 프로세싱을 인보크할 컨디션들을 추가로 특정할 수도 있다.
다양한 실시형태들에서, 블록 (920) 에서, 코-프로세서 서브시스템은 그 후 임의의 인커밍 패킷들이 수신되었는지 여부를 결정할 수도 있고, 그 경우에 인커밍 패킷들은 무선 디바이스와 연관된 동작 컨디션들 및/또는 현재 상태(들)에 관한 서비스-특정 웨이크-업 규칙들 및 하나 이상의 파라미터들 또는 다른 정보에 따라 프리-프리-프로세싱될 수도 있다. 코-프로세서 서브시스템은 블록 (930) 에서 하나 이상의 웨이크-업 규칙들이 트리거되었는지 여부를 결정할 수도 있으며, 그 경우에 블록 (935) 에서 메인 애플리케이션 프로세서는 저전력 상태로부터 웨이크될 수도 있고 DPI 는 디스에이블될 수도 있다. 더욱이, 코-프로세서 서브시스템이 범프-인-더-와이어 모드에서 동작하도록 구성된 이벤트에서, 호스트 브리지 및 시스템 인터커넥트 및 메모리는 저전력 상태로부터 추가로 웨이크될 수도 있다. 다양한 실시형태들에서, 송신을 계류중인 아웃고잉 메시지들과 연관된 임의의 버퍼링된 데이터 및 인커밍 패킷들과 연관된 임의의 버퍼링된 데이터는 그 후 블록 (940) 에서 메인 애플리케이션 프로세서와 연관된 메모리로 이동될 수도 있고 메인 무선 프로세싱 서브시스템은 다른 경우에 코-프로세서 서브시스템으로 오프로드될 서비스 발견 태스크들을 수행하는 것을 재개할 수도 있다.
다양한 실시형태들에 따르면, 블록 (930) 에서 프리-프로세싱된 인커밍 데이터 패킷들이 임의의 서비스-특정 웨이크-업 규칙들을 트리거하지 않았다고 코-프로세서 서브시스템이 결정하는 것에 응답하여, 저전력 상태에 진입한 메인 무선 프로세싱 서브시스템에서의 컴포넌트들은, 코-프로세서 서브시스템이 메인 무선 프로세싱 서브시스템을 활용하지 않고 블록 (945) 에서 인커밍 패킷들을 프로세싱/응답할 수도 있을 때, 이러한 저전력 상태에 유지될 수도 있다. 더욱이, 다양한 실시형태들에서, 코-프로세서 서브시스템은 블록 (950) 에서 임의의 스케줄링된 아웃고잉 데이터 패킷들을 송신할 수도 있다. 예를 들어, 다양한 실시형태들에서, 스케줄링된 아웃고잉 데이터 패킷들은 서비스 공지들, 서비스 광고들, 서비스 스테이터스 변화들, 서비스 발견 질문들에 대한 응답들, 무선 디바이스에서 원하는 서비스들에 관한 질문들 등을 포함할 수도 있다. 더욱이, 블록 (920) 으로 리턴하여, 코-프로세서 서브시스템은 어떤 인커밍 패킷들도 수신되지 않았거나 또는 수신 큐가 다르게는 비어있다고 결정하는 것에 응답하여 스케줄링된 아웃고잉 데이터 패킷들을 송신하기 위해 바로 블록 (950) 으로 나아갈 수도 있다.
다양한 양태들에 따르면, 도 10 은 저전력 저대역폭 코-프로세서 서브시스템을 갖는 무선 서비스 플랫폼에서 서비스 발견 전력 소비를 최적화하기 위해 메인 무선 애플리케이션 데이터경로에 배치된 메인 애플리케이션 프로세서에서 수행될 수도 있는 예시적인 방법 (1000) 을 예시한다. 특히, 다양한 실시형태들에서, 도 10 에 도시된 방법 (1000) 은 일반적으로, 위에서 더 상세히 설명한 바와 같이, 예를 들어, 하나 이상의 인커밍 데이터 패킷들이 서비스-특정 웨이크-업 규칙을 트리거했기 때문에, 메인 무선 애플리케이션 데이터경로에서의 하나 이상의 컴포넌트들에서 수신된 웨이크 커맨드에 응답하여 수행될 수도 있다. 이로써, 송신을 계류중인 아웃고잉 메시지들 및/또는 인커밍 데이터 패킷들에 관한 임의의 버퍼링된 데이터가 그 후 블록 (1015) 에서 프로세싱될 수도 있다. 다양한 실시형태들에서, 블록 (1020) 에서, 메인 애플리케이션 프로세서는 웨이크-업이 실제로 필요했는지 여부를 결정할 수도 있다. 예를 들어, 웨이크-업은 인커밍 데이터 패킷들이 관련되는 하나 이상의 제공된 및/또는 소비된 서비스들과 연관된 임의의 전력 또는 다른 성능 디맨드들을 타협하지 않고 웨이크-업을 트리거한 인커밍 데이터 패킷들을 코-프로세서 서브시스템이 적합하게 프로세싱했을 수 있다는 결정에 응답하여 불필요한 것으로 간주될 수도 있다. 이로써, 웨이크-업이 불필요했다고 결정하는 것에 응답하여, 불필요한 웨이크-업을 초래한 서비스-특정 웨이크-업 규칙들은, 후속의 불필요한 웨이크업들이 동일한 컨디션들이 발생하는 경우에 일어나지 않을 수도 있도록 블록 (1025) 에서 튜닝 또는 다르게는 조정될 수도 있다. 메인 무선 애플리케이션 데이터경로에서의 컴포넌트들은 그 후, 컨디션들이, 메인 무선 애플리케이션 데이터경로에서의 컴포넌트들이 블록 (1030) 에서 슬립 상태에 재-진입할 수 있고, 그 경우에 슬립 상태는 후속 웨이크 커맨드가 블록 (1010) 에서 수신될 때까지 재개될 수도 있도록 하는지 여부를 결정할 수도 있다. 그렇지 않고, 웨이크-업이 필요하고 및/또는 컨디션들이, 메인 무선 애플리케이션 데이터경로와 연관된 프로세싱 능력들이 여전히 필요하도록 한다면, 무선 디바이스는 메인 무선 애플리케이션 데이터경로에서의 컴포넌트들을 계속 활용하여 저전력 상태에 진입하기 위한 적합한 컨디션들이 발생할 때까지 인커밍 데이터 패킷들을 프로세싱/응답하고 스케줄링된 아웃고잉 데이터 패킷들을 송신할 수도 있다.
당업자들은 정보 및 신호들이 다양한 상이한 기술들 및 기법들 중 임의의 것을 이용하여 표현될 수도 있다는 것을 인식할 것이다. 예를 들어, 상기 설명 전반에 걸쳐 참조될 수도 있는 데이터, 컴퓨터 실행가능 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 입자들, 광학장들 또는 입자들, 또는 그 임의의 조합으로 표현될 수도 있다.
게다가, 당업자들은 본 명세서에서 개시된 양태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 그 조합들로서 구현될 수도 있다는 것을 인식할 것이다. 하드웨어와 소프트웨어의 이 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들은 그들의 기능성의 관점에서 일반적으로 상기 설명되었다. 이러한 기능성이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는지는 전체 시스템에 부과된 설계 제약들 및 특정한 애플리케이션에 의존한다. 당업자들은 각각의 특정한 애플리케이션에 대해 다양한 방식들로 설명된 기능성을 구현할 수도 있지만, 이러한 구현 판정들은 본 개시의 범위로부터 벗어나는 것으로 해석되어서는 안된다.
본 명세서에서 개시된 양태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그래밍가능 게이트 어레이 (FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에서 설명된 기능들을 수행하도록 설계된 그 임의의 조합으로서 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합 (예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성) 으로서 구현될 수도 있다.
본 명세서에서 개시된 양태들과 관련하여 설명된 방법들, 시퀀스들 및/또는 알고리즘들은 직접 하드웨어에서, 프로세서에 의해 실행된 소프트웨어 모듈에서, 또는 그 조합에서 구현될 수도 있다. 소프트웨어 모듈은 RAM, 플래시 메모리, ROM, EPROM, EEPROM, 레지스터들, 하드 디스크, 착탈식 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서가 그 저장 매체로부터 정보를 판독하고 저장 매체에 정보를 기록할 수 있도록 프로세서에 커플링된다. 대안으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 ASIC 에 상주할 수도 있다. ASIC 은 무선 디바이스 (예를 들어, IoT 디바이스) 에 상주할 수도 있다. 대안으로, 프로세서 및 저장 매체는 사용자 단말기 내에 별개의 컴포넌트들로서 상주할 수도 있다.
하나 이상의 예시적인 양태들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 그 임의의 조합에서 구현될 수도 있다. 소프트웨어에서 구현되면, 기능들은 컴퓨터 판독가능 매체 상에 컴퓨터 실행가능 명령들 또는 코드로서 저장되거나 또는 그를 통해 송신될 수도 있다. 컴퓨터 판독가능 매체들은 일 장소로부터 타 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체들과 컴퓨터 저장 매체들 양자 모두를 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다. 제한이 아닌 일 예로, 이러한 컴퓨터 판독가능 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 저장 디바이스들, 또는 컴퓨터에 의해 액세스가능한 컴퓨터 실행가능 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 반송 또는 저장하는데 이용될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 적절히 컴퓨터 판독가능 매체라 불리게 된다. 예를 들어, 소프트웨어가 동축 케이블, 광 섬유 케이블, 트위스티드 페어, DSL, 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되면, 매체의 정의에는 동축 케이블, 광섬유 케이블, 트위스티드 페어, DSL, 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들이 포함된다. 디스크 (disk) 및 디스크 (disc) 는, 본 명세서에서 사용한 바와 같이, CD, 레이저 디스크, 광 디스크, DVD, 플로피 디스크 및 블루-레이 디스크를 포함하고, 디스크 (disk) 들은 보통 데이터를 자기적으로 및/또는 레이저들로 광학적으로 재생한다. 상기의 조합들이 또한 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
전술한 개시는 본 개시의 예시적인 양태들을 도시하지만, 당업자들은 다양한 변화들 및 변경들이 첨부된 청구항들에 의해 정의된 바와 같이 본 개시의 범위로부터 벗어남 없이 본 명세서에서 이루어질 수 있다는 것을 인식할 것이다. 본 명세서에서 설명된 본 개시의 양태들에 따른 방법 청구항들의 기능들, 단계들 및/또는 액션들은 임의의 특정한 순서로 수행될 필요가 없다. 더욱이, 본 개시의 엘리먼트들은 단수로 설명 또는 청구될 수도 있지만, 단수로의 제한이 명시적으로 언급되지 않는 한 복수가 고려된다.

Claims (30)

  1. 서비스 발견 무선 서비스 플랫폼에서 전력 소비를 최적화하기 위한 방법으로서,
    무선 디바이스에서 피어-투-피어 무선 접속을 확립하는 단계;
    상기 무선 디바이스와 연관된 메인 무선 애플리케이션 데이터경로에서의 하나 이상의 컴포넌트들을 슬립 상태로 트랜지션하는 단계로서, 상기 슬립 상태로 트랜지션된 상기 하나 이상의 컴포넌트들은 적어도 메인 애플리케이션 프로세서를 포함하는, 상기 하나 이상의 컴포넌트들을 슬립 상태로 트랜지션하는 단계;
    상기 슬립 상태로 트랜지션된 상기 하나 이상의 컴포넌트들로부터 상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들에 커플링된 저전력 코-프로세서로 하나 이상의 서비스 발견 태스크들을 오프로드하는 단계로서, 상기 저전력 코-프로세서로 오프로드된 상기 하나 이상의 서비스 발견 태스크들은 상기 피어-투-피어 무선 접속에서 이용되는 서비스 발견 프로토콜과 연관된 서비스 디스크립션에 따라 적어도 부분적으로 결정되는, 상기 하나 이상의 서비스 발견 태스크들을 오프로드하는 단계;
    상기 피어-투-피어 무선 접속에서 이용되는 상기 서비스 발견 프로토콜과 연관된 상기 서비스 디스크립션에 적어도 부분적으로 기초하여 상기 슬립 상태로부터 상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들을 웨이크하기 위한 하나 이상의 동적 규칙들을 정의하는 단계;
    상기 저전력 코-프로세서에서, 상기 피어-투-피어 무선 접속을 통해 하나 이상의 인커밍 데이터 패킷들을 수신하는 단계; 및
    상기 하나 이상의 인커밍 데이터 패킷들이 상기 하나 이상의 동적 규칙들을 트리거하는 기준들을 갖는 것에 응답하여 상기 슬립 상태로부터 상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들을 선택적으로 웨이크하는 단계
    를 포함하는, 서비스 발견 무선 서비스 플랫폼에서 전력 소비를 최적화하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 하나 이상의 인커밍 데이터 패킷들이 서비스 발견 질문 (service discovery inquiry) 을 포함하는 것에 응답하여 상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들을 웨이크하지 않고 상기 하나 이상의 인커밍 데이터 패킷들에 응답하는 단계를 더 포함하는, 서비스 발견 무선 서비스 플랫폼에서 전력 소비를 최적화하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 하나 이상의 인커밍 데이터 패킷들이 임계치를 초과하는 페이로드 사이즈를 갖는 것에 응답하여 상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들을 웨이크하는 단계; 및
    상기 하나 이상의 인커밍 데이터 패킷들과 연관된 상기 페이로드 사이즈가 상기 임계치를 초과하지 않는 것에 응답하여 상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들을 웨이크하지 않고 상기 하나 이상의 인커밍 데이터 패킷들을 프로세싱하는 단계
    를 더 포함하는, 서비스 발견 무선 서비스 플랫폼에서 전력 소비를 최적화하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 하나 이상의 인커밍 데이터 패킷들이 상기 하나 이상의 동적 규칙들과 연관된 하나 이상의 바이너리 서치 스트링들에 매칭하지 않는 콘텐츠를 포함하는 것에 응답하여 상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들을 웨이크하지 않고 상기 하나 이상의 인커밍 데이터 패킷들을 프로세싱하는 단계를 더 포함하는, 서비스 발견 무선 서비스 플랫폼에서 전력 소비를 최적화하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 하나 이상의 인커밍 데이터 패킷들이 상기 하나 이상의 동적 규칙들과 연관된 하나 이상의 바이너리 서치 스트링들에 매칭하는 콘텐츠를 포함하는 것에 응답하여 상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들을 웨이크하는 단계를 더 포함하는, 서비스 발견 무선 서비스 플랫폼에서 전력 소비를 최적화하기 위한 방법.
  6. 제 5 항에 있어서,
    상기 하나 이상의 바이너리 서치 스트링들에 매칭하는 상기 콘텐츠를 포함한 상기 하나 이상의 인커밍 데이터 패킷들에 기초하여 상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들이 상기 슬립 상태로부터 웨이크되도록 요구되지 않았다고 결정하는 단계; 및
    상기 저전력 코-프로세서에 의한 후속의 불필요한 웨이크업들을 방지하기 위해 상기 하나 이상의 동적 규칙들을 튜닝하는 단계
    를 더 포함하는, 서비스 발견 무선 서비스 플랫폼에서 전력 소비를 최적화하기 위한 방법.
  7. 제 1 항에 있어서,
    상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들을 웨이크하지 않고 하나 이상의 아웃고잉 데이터 패킷들에서 서비스 공지를 전송하는 단계를 더 포함하는, 서비스 발견 무선 서비스 플랫폼에서 전력 소비를 최적화하기 위한 방법.
  8. 제 1 항에 있어서,
    룩-어사이드 (look-aside) 모드에서 상기 메인 무선 애플리케이션 데이터경로를 우회하는 인커밍 데이터 경로를 통해 상기 하나 이상의 인커밍 데이터 패킷들을 수신하는 단계; 및
    상기 룩-어사이드 모드에서 상기 메인 무선 애플리케이션 데이터경로를 추가로 우회하는 아웃고잉 데이터 경로를 통해 하나 이상의 아웃고잉 데이터 패킷들을 송신하는 단계
    를 더 포함하는, 서비스 발견 무선 서비스 플랫폼에서 전력 소비를 최적화하기 위한 방법.
  9. 제 1 항에 있어서,
    범프-인-더-와이어 (bump-in-the-wire) 모드에서 상기 메인 무선 애플리케이션 데이터경로에서의 적어도 하나의 제 1 컴포넌트를 우회하고 상기 메인 무선 애플리케이션 데이터경로에서의 적어도 하나의 제 2 컴포넌트를 통과하는 인커밍 데이터 경로를 통해 상기 하나 이상의 인커밍 데이터 패킷들을 수신하는 단계; 및
    상기 범프-인-더-와이어 모드에서 상기 메인 무선 애플리케이션 데이터경로에서의 상기 적어도 하나의 제 1 컴포넌트를 우회하고 상기 메인 무선 애플리케이션 데이터경로에서의 상기 적어도 하나의 제 2 컴포넌트를 통과하는 아웃고잉 데이터 경로를 통해 하나 이상의 아웃고잉 데이터 패킷들을 송신하는 단계
    를 더 포함하는, 서비스 발견 무선 서비스 플랫폼에서 전력 소비를 최적화하기 위한 방법.
  10. 제 9 항에 있어서,
    상기 저전력 코-프로세서에서, 상기 범프-인-더-와이어 모드에서 상기 메인 애플리케이션 프로세서를 웨이크하기 이전에 상기 메인 애플리케이션 프로세서에서 프로세싱을 요구하는 커맨드 또는 타이밍-임계 메시지 중 하나 이상을 프리-프로세싱하는 단계; 및
    프리-프로세싱된 상기 커맨드 또는 타이밍-임계 메시지를 프로세싱하는 것을 완료하기 위해 상기 메인 애플리케이션 프로세서를 웨이크하는 단계
    를 더 포함하는, 서비스 발견 무선 서비스 플랫폼에서 전력 소비를 최적화하기 위한 방법.
  11. 피어-투-피어 무선 접속을 확립하기 위한 수단;
    메인 무선 애플리케이션 데이터경로에서의 하나 이상의 컴포넌트들을 슬립 상태로 트랜지션하기 위한 수단으로서, 상기 슬립 상태로 트랜지션된 상기 하나 이상의 컴포넌트들은 적어도 메인 애플리케이션 프로세서를 포함하는, 상기 하나 이상의 컴포넌트들을 슬립 상태로 트랜지션하기 위한 수단;
    상기 슬립 상태로 트랜지션된 상기 하나 이상의 컴포넌트들로부터 하나 이상의 서비스 발견 태스크들을 오프로드하기 위한 수단으로서, 오프로드된 상기 하나 이상의 서비스 발견 태스크들은 상기 피어-투-피어 무선 접속에서 이용되는 서비스 발견 프로토콜과 연관된 서비스 디스크립션에 따라 적어도 부분적으로 결정되는, 상기 하나 이상의 서비스 발견 태스크들을 오프로드하기 위한 수단;
    상기 피어-투-피어 무선 접속에서 이용되는 상기 서비스 발견 프로토콜과 연관된 상기 서비스 디스크립션에 적어도 부분적으로 기초하여 상기 슬립 상태로부터 상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들을 웨이크하기 위한 하나 이상의 동적 규칙들을 정의하기 위한 수단;
    상기 피어-투-피어 무선 접속을 통해 하나 이상의 인커밍 데이터 패킷들을 수신하기 위한 수단; 및
    상기 하나 이상의 인커밍 데이터 패킷들이 상기 하나 이상의 동적 규칙들을 트리거하는 기준들을 갖는 것에 응답하여 상기 슬립 상태로부터 상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들을 선택적으로 웨이크하기 위한 수단
    을 포함하는, 장치.
  12. 제 11 항에 있어서,
    상기 하나 이상의 인커밍 데이터 패킷들이 서비스 발견 질문을 포함하는 것에 응답하여 상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들을 웨이크하지 않고 상기 하나 이상의 인커밍 데이터 패킷들에 응답하기 위한 수단을 더 포함하는, 장치.
  13. 제 11 항에 있어서,
    상기 하나 이상의 인커밍 데이터 패킷들이 임계치를 초과하는 페이로드 사이즈를 갖는 것에 응답하여 상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들을 웨이크하기 위한 수단; 및
    상기 하나 이상의 인커밍 데이터 패킷들과 연관된 상기 페이로드 사이즈가 상기 임계치를 초과하지 않는 것에 응답하여 상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들을 웨이크하지 않고 상기 하나 이상의 인커밍 데이터 패킷들을 프로세싱하기 위한 수단
    을 더 포함하는, 장치.
  14. 제 11 항에 있어서,
    상기 하나 이상의 인커밍 데이터 패킷들이 상기 하나 이상의 동적 규칙들과 연관된 하나 이상의 바이너리 서치 스트링들에 매칭하지 않는 콘텐츠를 포함하는 것에 응답하여 상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들을 웨이크하지 않고 상기 하나 이상의 인커밍 데이터 패킷들을 프로세싱하기 위한 수단을 더 포함하는, 장치.
  15. 제 11 항에 있어서,
    상기 하나 이상의 인커밍 데이터 패킷들이 상기 하나 이상의 동적 규칙들과 연관된 하나 이상의 바이너리 서치 스트링들에 매칭하는 콘텐츠를 포함하는 것에 응답하여 상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들을 웨이크하기 위한 수단을 더 포함하는, 장치.
  16. 제 15 항에 있어서,
    상기 하나 이상의 바이너리 서치 스트링에 매칭하는 상기 콘텐츠를 포함한 상기 하나 이상의 인커밍 데이터 패킷들에 기초하여 상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들이 상기 슬립 상태로부터 웨이크되도록 요구되지 않았다고 결정하기 위한 수단; 및
    상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들에서 후속의 불필요한 웨이크업들을 방지하기 위해 상기 하나 이상의 동적 규칙들을 튜닝하기 위한 수단
    을 더 포함하는, 장치.
  17. 제 11 항에 있어서,
    상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들을 웨이크하지 않고 하나 이상의 아웃고잉 데이터 패킷들에서 서비스 공지를 전송하기 위한 수단을 더 포함하는, 장치.
  18. 제 11 항에 있어서,
    룩-어사이드 모드에서 상기 메인 무선 애플리케이션 데이터경로를 우회하는 인커밍 데이터 경로를 통해 상기 하나 이상의 인커밍 데이터 패킷들을 수신하기 위한 수단; 및
    상기 룩-어사이드 모드에서 상기 메인 무선 애플리케이션 데이터경로를 추가로 우회하는 아웃고잉 데이터 경로를 통해 하나 이상의 아웃고잉 데이터 패킷들을 송신하기 위한 수단
    을 더 포함하는, 장치.
  19. 제 11 항에 있어서,
    범프-인-더-와이어 모드에서 상기 메인 무선 애플리케이션 데이터경로에서의 적어도 하나의 제 1 컴포넌트를 우회하고 상기 메인 무선 애플리케이션 데이터경로에서의 적어도 하나의 제 2 컴포넌트를 통과하는 인커밍 데이터 경로를 통해 상기 하나 이상의 인커밍 데이터 패킷들을 수신하기 위한 수단; 및
    상기 범프-인-더-와이어 모드에서 상기 메인 무선 애플리케이션 데이터경로에서의 상기 적어도 하나의 제 1 컴포넌트를 우회하고 상기 메인 무선 애플리케이션 데이터경로에서의 상기 적어도 하나의 제 2 컴포넌트를 통과하는 아웃고잉 데이터 경로를 통해 하나 이상의 아웃고잉 데이터 패킷들을 송신하기 위한 수단
    을 더 포함하는, 장치.
  20. 제 19 항에 있어서,
    상기 범프-인-더-와이어 모드에서 상기 메인 애플리케이션 프로세서를 웨이크하기 이전에 상기 메인 애플리케이션 프로세서에서 프로세싱을 요구하는 커맨드 또는 타이밍-임계 메시지 중 하나 이상을 프리-프로세싱하기 위한 수단; 및
    프리-프로세싱된 상기 커맨드 또는 타이밍-임계 메시지를 프로세싱하는 것을 완료하기 위해 상기 메인 애플리케이션 프로세서를 웨이크하기 위한 수단
    을 더 포함하는, 장치.
  21. 컴퓨터 실행가능 명령들을 기록하고 있는 컴퓨터 판독가능 저장 매체로서,
    하나 이상의 프로세서들 상에서 상기 컴퓨터 실행가능 명령들을 실행하는 것은, 상기 하나 이상의 프로세서들로 하여금,
    무선 디바이스에서 피어-투-피어 무선 접속을 확립하게 하고;
    상기 무선 디바이스와 연관된 메인 무선 애플리케이션 데이터경로에서의 하나 이상의 컴포넌트들을 슬립 상태로 트랜지션하게 하는 것으로서, 상기 슬립 상태로 트랜지션된 상기 하나 이상의 컴포넌트들은 적어도 메인 애플리케이션 프로세서를 포함하는, 상기 하나 이상의 컴포넌트들을 슬립 상태로 트랜지션하게 하고;
    상기 슬립 상태로 트랜지션된 상기 하나 이상의 컴포넌트들로부터 상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들에 커플링된 저전력 코-프로세서로 하나 이상의 서비스 발견 태스크들을 오프로드하게 하는 것으로서, 상기 저전력 코-프로세서로 오프로드된 상기 하나 이상의 서비스 발견 태스크들은 상기 피어-투-피어 무선 접속에서 이용되는 서비스 발견 프로토콜과 연관된 서비스 디스크립션에 따라 적어도 부분적으로 결정되는, 상기 하나 이상의 서비스 발견 태스크들을 오프로드하게 하고;
    상기 피어-투-피어 무선 접속에서 이용되는 상기 서비스 발견 프로토콜과 연관된 상기 서비스 디스크립션에 적어도 부분적으로 기초하여 상기 슬립 상태로부터 상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들을 웨이크하기 위한 하나 이상의 동적 규칙들을 정의하게 하고;
    상기 저전력 코-프로세서에서, 상기 피어-투-피어 무선 접속을 통해 하나 이상의 인커밍 데이터 패킷들을 수신하게 하고; 그리고
    상기 하나 이상의 인커밍 데이터 패킷들이 상기 하나 이상의 동적 규칙들을 트리거하는 기준들을 갖는 것에 응답하여 상기 슬립 상태로부터 상기 메인 무선 애플리케이션 데이터경로에서의 상기 하나 이상의 컴포넌트들을 선택적으로 웨이크하게 하는, 컴퓨터 판독가능 저장 매체.
  22. 무선 디바이스로서,
    메인 무선 애플리케이션 데이터경로로서, 상기 메인 무선 애플리케이션 데이터경로는 호스트 브리지, 인터커넥트, 시스템 메모리, 및 호스트 애플리케이션 프로세서를 포함하는, 상기 메인 무선 애플리케이션 데이터경로; 및
    상기 메인 무선 애플리케이션 데이터경로에 커플링된 저전력 하드웨어 프로세서
    를 포함하고,
    상기 저전력 하드웨어 프로세서는,
    상기 메인 무선 애플리케이션 데이터경로로부터 오프로드된 하나 이상의 서비스 발견 태스크들과 연관된 하나 이상의 아웃고잉 데이터 패킷들 및 상기 하나 이상의 아웃고잉 데이터 패킷들을 전송하기 위한 스케줄을 저장하도록 구성된 로컬 메모리로서, 상기 하나 이상의 서비스 발견 태스크들 및 상기 하나 이상의 아웃고잉 데이터 패킷들을 전송하기 위한 상기 스케줄은 서비스 발견 프로토콜과 연관된 서비스 디스크립션에 따라 적어도 부분적으로 결정되는, 상기 로컬 메모리;
    메인 무선 애플리케이션 데이터경로에서의 프로세싱을 인보크하기 위해 하나 이상의 동적 규칙들로 구성된 프로그래밍가능 심층-패킷 검사 모듈로서, 상기 하나 이상의 동적 규칙들은 상기 서비스 발견 프로토콜과 연관된 상기 서비스 디스크립션에 적어도 부분적으로 기초하고, 상기 프로그래밍가능 심층-패킷 검사 모듈은 상기 무선 디바이스에서 수신된 하나 이상의 인커밍 데이터 패킷들과 연관된 기준들이 상기 하나 이상의 동적 규칙들을 트리거하는지 여부를 결정하도록 추가로 구성된, 상기 프로그래밍가능 심층-패킷 검사 모듈; 및
    오프로드된 상기 하나 이상의 서비스 발견 태스크들을 수행하고, 상기 하나 이상의 인커밍 데이터 패킷들과 연관된 상기 기준들이 상기 하나 이상의 동적 규칙들을 트리거하지 않는 것에 응답하여 상기 메인 무선 애플리케이션 데이터경로에서의 프로세싱을 인보크하지 않고 상기 하나 이상의 인커밍 데이터 패킷들에 응답하고, 그리고 상기 하나 이상의 인커밍 데이터 패킷들과 연관된 상기 기준들이 상기 하나 이상의 동적 규칙들을 트리거하는 것에 응답하여 상기 메인 무선 애플리케이션 데이터경로에서의 상기 프로세싱을 인보크하도록 구성된 저전력 호스트 프로세서
    를 포함하는, 무선 디바이스.
  23. 제 22 항에 있어서,
    상기 저전력 호스트 프로세서는 상기 하나 이상의 인커밍 데이터 패킷들이 서비스 발견 질문을 포함하는 것에 응답하여 상기 메인 무선 애플리케이션 데이터경로에서의 상기 프로세싱을 인보크하지 않고 상기 하나 이상의 인커밍 데이터 패킷들에 응답하도록 구성되는, 무선 디바이스.
  24. 제 22 항에 있어서,
    상기 저전력 호스트 프로세서는,
    상기 하나 이상의 인커밍 데이터 패킷들이 임계치를 초과하는 페이로드 사이즈를 갖는 것에 응답하여 상기 메인 무선 애플리케이션 데이터경로에서의 상기 프로세싱을 인보크하고; 그리고
    상기 하나 이상의 인커밍 데이터 패킷들과 연관된 상기 페이로드 사이즈가 상기 임계치를 초과하지 않는 것에 응답하여 상기 메인 무선 애플리케이션 데이터경로에서의 상기 프로세싱을 인보크하지 않고 상기 하나 이상의 인커밍 데이터 패킷들을 프로세싱하도록
    추가로 구성되는, 무선 디바이스.
  25. 제 22 항에 있어서,
    상기 저전력 호스트 프로세서는,
    상기 하나 이상의 인커밍 데이터 패킷들이 상기 하나 이상의 동적 규칙들과 연관된 하나 이상의 바이너리 서치 스트링들에 매칭하지 않는 콘텐츠를 포함하는 것에 응답하여 상기 메인 무선 애플리케이션 데이터경로에서의 상기 프로세싱을 인보크하지 않고 상기 하나 이상의 인커밍 데이터 패킷들을 프로세싱하고; 그리고
    상기 하나 이상의 인커밍 데이터 패킷들과 연관된 상기 콘텐츠가 상기 하나 이상의 동적 규칙들과 연관된 상기 하나 이상의 바이너리 서치 스트링들에 매칭하는 것에 응답하여 상기 메인 무선 애플리케이션 데이터경로에서의 상기 프로세싱을 인보크하도록
    추가로 구성되는, 무선 디바이스.
  26. 제 25 항에 있어서,
    상기 호스트 애플리케이션 프로세서는,
    상기 하나 이상의 바이너리 서치 스트링들에 매칭하는 상기 콘텐츠를 포함한 상기 하나 이상의 인커밍 데이터 패킷들에 기초하여 상기 메인 무선 애플리케이션 데이터경로에서의 상기 프로세싱이 요구되지 않았다고 결정하고; 그리고
    상기 메인 무선 애플리케이션 데이터경로에서 후속의 불필요한 프로세싱을 방지하기 위해 상기 하나 이상의 동적 규칙들을 튜닝하도록
    구성되는, 무선 디바이스.
  27. 제 22 항에 있어서,
    상기 저전력 하드웨어 프로세서는 상기 메인 무선 애플리케이션 데이터경로에서의 상기 프로세싱을 인보크하지 않고 하나 이상의 아웃고잉 데이터 패킷들에서 서비스 공지를 송신하도록 구성되는, 무선 디바이스.
  28. 제 22 항에 있어서,
    상기 저전력 하드웨어 프로세서는,
    룩-어사이드 모드에서 상기 메인 무선 애플리케이션 데이터경로를 우회하는 인커밍 데이터 경로를 통해 상기 하나 이상의 인커밍 데이터 패킷들을 수신하고; 그리고
    상기 룩-어사이드 모드에서 상기 메인 무선 애플리케이션 데이터경로를 추가로 우회하는 아웃고잉 데이터 경로를 통해 하나 이상의 아웃고잉 데이터 패킷들을 송신하도록
    구성되는, 무선 디바이스.
  29. 제 22 항에 있어서,
    상기 저전력 하드웨어 프로세서는,
    범프-인-더-와이어 모드에서 상기 메인 무선 애플리케이션 데이터경로에서의 적어도 하나의 제 1 컴포넌트를 우회하고 상기 메인 무선 애플리케이션 데이터경로에서의 적어도 하나의 제 2 컴포넌트를 통과하는 인커밍 데이터 경로를 통해 상기 하나 이상의 인커밍 데이터 패킷들을 수신하고; 그리고
    상기 범프-인-더-와이어 모드에서 상기 메인 무선 애플리케이션 데이터경로에서의 상기 적어도 하나의 제 1 컴포넌트를 우회하고 상기 메인 무선 애플리케이션 데이터경로에서의 상기 적어도 하나의 제 2 컴포넌트를 통과하는 아웃고잉 데이터 경로를 통해 하나 이상의 아웃고잉 데이터 패킷들을 송신하도록
    구성되는, 무선 디바이스.
  30. 제 29 항에 있어서,
    상기 저전력 하드웨어 프로세서는,
    상기 범프-인-더-와이어 모드에서 메인 애플리케이션 프로세서에서의 하나 이상의 컴포넌트들을 인게이지하기 이전에 상기 프로그래밍가능 심층-패킷 검사 모듈 또는 상기 저전력 호스트 프로세서 중 하나 이상에서 상기 메인 애플리케이션 프로세서에서 프로세싱을 요구하는 커맨드 또는 타이밍-임계 메시지 중 하나 이상의 프리-프로세싱하고; 그리고
    프리-프로세싱된 상기 커맨드 또는 타이밍-임계 메시지를 프로세싱하는 것을 완료하기 위해 상기 메인 애플리케이션 프로세서에서의 프로세싱을 인보크하도록
    추가로 구성되는, 무선 디바이스.
KR1020187009801A 2015-09-10 2016-08-15 무선 서비스 플랫폼들에서 서비스 발견 전력 소비를 최적화하기 위한 스마트 코-프로세서 KR20180050389A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/850,793 US9591582B1 (en) 2015-09-10 2015-09-10 Smart co-processor for optimizing service discovery power consumption in wireless service platforms
US14/850,793 2015-09-10
PCT/US2016/046959 WO2017044253A1 (en) 2015-09-10 2016-08-15 Smart co-processor for optimizing service discovery power consumption in wireless service platforms

Publications (1)

Publication Number Publication Date
KR20180050389A true KR20180050389A (ko) 2018-05-14

Family

ID=56843020

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187009801A KR20180050389A (ko) 2015-09-10 2016-08-15 무선 서비스 플랫폼들에서 서비스 발견 전력 소비를 최적화하기 위한 스마트 코-프로세서

Country Status (7)

Country Link
US (1) US9591582B1 (ko)
EP (1) EP3348097A1 (ko)
JP (1) JP2018532312A (ko)
KR (1) KR20180050389A (ko)
CN (1) CN108029078A (ko)
TW (1) TW201713137A (ko)
WO (1) WO2017044253A1 (ko)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9225638B2 (en) 2013-05-09 2015-12-29 Vmware, Inc. Method and system for service switching using service tags
CN104734826B (zh) * 2013-12-20 2020-08-11 中兴通讯股份有限公司 超大带宽数据发送控制方法及超大带宽数据发送设备
JP6524912B2 (ja) * 2013-12-26 2019-06-05 日本電気株式会社 通信端末の接続制御方法
US11296930B2 (en) 2014-09-30 2022-04-05 Nicira, Inc. Tunnel-enabled elastic service model
US10257095B2 (en) 2014-09-30 2019-04-09 Nicira, Inc. Dynamically adjusting load balancing
US9531590B2 (en) 2014-09-30 2016-12-27 Nicira, Inc. Load balancing across a group of load balancers
US10609091B2 (en) 2015-04-03 2020-03-31 Nicira, Inc. Method, apparatus, and system for implementing a content switch
JP6376109B2 (ja) * 2015-11-19 2018-08-22 京セラドキュメントソリューションズ株式会社 情報処理装置及びプログラム
US10299310B2 (en) * 2016-02-02 2019-05-21 Lg Electronics Inc. Wireless device including first platform for local area and second platform for remote area and method for wireless device
KR20170098576A (ko) * 2016-02-22 2017-08-30 삼성전자주식회사 전자 장치 및 전자 장치에서 데이터를 처리하는 방법
US10873637B2 (en) * 2016-05-02 2020-12-22 Microsoft Technology Licensing, Llc Controlling service discovery and activation among peers
KR102490415B1 (ko) * 2016-08-02 2023-01-19 삼성전자주식회사 전자 장치 및 전자 장치의 전력 제어 방법
JP6992258B2 (ja) 2017-02-21 2022-01-13 ブラザー工業株式会社 通信装置及び端末装置のためのコンピュータプログラム
US10459517B2 (en) * 2017-03-31 2019-10-29 Qualcomm Incorporated System and methods for scheduling software tasks based on central processing unit power characteristics
CN110786064B (zh) * 2017-09-26 2024-05-24 Oppo广东移动通信有限公司 用于数据处理的方法和终端设备
CN109600720B (zh) * 2017-09-30 2021-10-08 成都鼎桥通信技术有限公司 组播数据处理方法和装置
US10797966B2 (en) 2017-10-29 2020-10-06 Nicira, Inc. Service operation chaining
US10412671B2 (en) * 2017-12-14 2019-09-10 Nokia Technologies Oy Proxy service and power savings in wireless device
US10797910B2 (en) 2018-01-26 2020-10-06 Nicira, Inc. Specifying and utilizing paths through a network
US10805192B2 (en) 2018-03-27 2020-10-13 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages
US20210306901A1 (en) * 2018-08-14 2021-09-30 Nokia Solutions And Networks Oy Mutual 3gpp-tsn qos adaption and shaping
US11595250B2 (en) 2018-09-02 2023-02-28 Vmware, Inc. Service insertion at logical network gateway
CN111132282B (zh) * 2018-11-01 2021-06-01 华为终端有限公司 一种应用于移动终端的应用处理器唤醒方法及装置
KR20200056548A (ko) * 2018-11-14 2020-05-25 에스케이하이닉스 주식회사 캐시 시스템을 갖는 메모리 시스템 및 메모리 시스템에서의 캐싱 동작 제어방법
US11194610B2 (en) 2019-02-22 2021-12-07 Vmware, Inc. Service rule processing and path selection at the source
US10944801B1 (en) * 2019-02-25 2021-03-09 Amazon Technologies, Inc. Serverless signaling in peer-to-peer session initialization
US11005894B2 (en) * 2019-04-11 2021-05-11 Netapp, Inc. Methods for demultiplexing services over ports and devices thereof
US11074184B2 (en) * 2019-04-15 2021-07-27 International Business Machines Corporation Maintaining data order between buffers
US11863468B2 (en) * 2019-04-19 2024-01-02 Marvell Asia Pte Ltd Control of ethernet link-partner GPIO using OAM
US11184833B2 (en) * 2019-06-19 2021-11-23 Citrix Systems, Inc. Bandwidth sharing amongst trusted peers
CN110519131B (zh) * 2019-07-26 2021-08-03 华为技术有限公司 一种控制设备的方法及终端
US11133698B2 (en) 2019-09-01 2021-09-28 Wen Cai Wireless charging systems and methods for controlling the same
US11416435B2 (en) 2019-09-03 2022-08-16 Pensando Systems Inc. Flexible datapath offload chaining
US11140218B2 (en) 2019-10-30 2021-10-05 Vmware, Inc. Distributed service chain across multiple clouds
US11283717B2 (en) 2019-10-30 2022-03-22 Vmware, Inc. Distributed fault tolerant service chain
CN112995108B (zh) * 2019-12-17 2023-03-10 恒为科技(上海)股份有限公司 一种网络数据还原系统
US11223494B2 (en) * 2020-01-13 2022-01-11 Vmware, Inc. Service insertion for multicast traffic at boundary
US11153406B2 (en) 2020-01-20 2021-10-19 Vmware, Inc. Method of network performance visualization of service function chains
US11659061B2 (en) 2020-01-20 2023-05-23 Vmware, Inc. Method of adjusting service function chains to improve network performance
US11368387B2 (en) 2020-04-06 2022-06-21 Vmware, Inc. Using router as service node through logical service plane
CN111918338B (zh) * 2020-08-12 2023-04-18 深圳蓝奥声科技有限公司 无线协同代理方法、装置及网络系统
US11803493B2 (en) * 2020-11-30 2023-10-31 Dell Products L.P. Systems and methods for management controller co-processor host to variable subsystem proxy
US11734043B2 (en) 2020-12-15 2023-08-22 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11611625B2 (en) 2020-12-15 2023-03-21 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US20220004354A1 (en) * 2021-09-22 2022-01-06 Intel Corporation Audio stack power control based on latency
US20240022448A1 (en) * 2022-07-14 2024-01-18 Sony Group Corporation Energy efficient method for home networking

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7038687B2 (en) 2003-06-30 2006-05-02 Intel Corporation System and method for high-speed communications between an application processor and coprocessor
US7809386B2 (en) 2005-06-29 2010-10-05 Nokia Corporation Local network proxy for a remotely connected mobile device operating in reduced power mode
EP1996993B1 (en) 2006-01-10 2015-03-11 Cupp Computing As Dual mode power-saving computing system
JP5555224B2 (ja) 2008-04-07 2014-07-23 エスティー‐エリクソン、ソシエテ、アノニム 低電力メディアレンダリングサブシステムを備えたモバイル電話
US8498229B2 (en) 2008-12-30 2013-07-30 Intel Corporation Reduced power state network processing
US8335937B2 (en) * 2009-12-24 2012-12-18 Intel Corporation Method and system for discoverability of power saving P2P devices
CN102685786B (zh) * 2011-03-18 2017-05-03 中兴通讯股份有限公司 无线传感器网络接入电信网络的方法及系统
US9554263B2 (en) * 2011-08-26 2017-01-24 Lg Electronics Inc. Method and device for discovering neighbors for wireless fidelity direct (WFD) peer to peer (P2P) communication
EP2862377B1 (en) * 2012-06-19 2016-04-06 Telefonaktiebolaget LM Ericsson (publ) Method and arrangement for d2d discovery
US9049578B2 (en) * 2012-10-24 2015-06-02 Qualcomm Incorporated Profile based discovery engine configurations for neighborhood aware wi-fi networks
US9329667B2 (en) 2012-11-21 2016-05-03 Completecover, Llc Computing device employing a proxy processor to learn received patterns
US9107164B1 (en) 2013-03-08 2015-08-11 Amazon Technologies, Inc. Wake on one-to-many communication
CN104754691B (zh) 2013-12-26 2018-08-07 电信科学技术研究院 一种发送消息的方法和装置
US10091625B2 (en) * 2014-09-25 2018-10-02 Intel Corporation Systems and methods for establishing a personal basic service set (PBSS) over a wireless network to facilitate peer-to-peer group communication

Also Published As

Publication number Publication date
CN108029078A (zh) 2018-05-11
WO2017044253A1 (en) 2017-03-16
EP3348097A1 (en) 2018-07-18
TW201713137A (zh) 2017-04-01
JP2018532312A (ja) 2018-11-01
US20170078961A1 (en) 2017-03-16
US9591582B1 (en) 2017-03-07

Similar Documents

Publication Publication Date Title
US9591582B1 (en) Smart co-processor for optimizing service discovery power consumption in wireless service platforms
EP2497286B1 (en) Peer discovery in a wireless communication network
US9271136B2 (en) Probe messaging for direct link connections
US9001693B2 (en) Enhanced discovery procedures in peer-to-peer wireless local area networks (WLANs)
US20130166759A1 (en) Apparatus, systems, and methods of ip address discovery for tunneled direct link setup
US20130148643A1 (en) Enhanced discovery procedures in peer-to-peer wireless local area networks (wlans)
JP2016502313A (ja) 近隣認識wi−fiネットワークのためのプロファイル・ベースの発見エンジン設定
US10470225B2 (en) System and method for enhance the user experience of applications for proximity-based peer-to-peer mobile computing
US10091636B2 (en) Probe messaging for direct link connections
US11218961B2 (en) Power saving for wireless device
JP6808411B2 (ja) 通信装置、通信方法、及びプログラム
US10003659B2 (en) Efficient group communications leveraging LTE-D discovery for application layer contextual communication
KR102208987B1 (ko) 통신 장치, 통신 방법, 및 프로그램
US10110674B2 (en) Method and apparatus for synchronizing data inputs generated at a plurality of frequencies by a plurality of data sources