JP7219300B2 - バックグラウンドアプリケーションを使用したユーザデバイスの継続的な短距離ワイヤレス通信検出 - Google Patents

バックグラウンドアプリケーションを使用したユーザデバイスの継続的な短距離ワイヤレス通信検出 Download PDF

Info

Publication number
JP7219300B2
JP7219300B2 JP2021065928A JP2021065928A JP7219300B2 JP 7219300 B2 JP7219300 B2 JP 7219300B2 JP 2021065928 A JP2021065928 A JP 2021065928A JP 2021065928 A JP2021065928 A JP 2021065928A JP 7219300 B2 JP7219300 B2 JP 7219300B2
Authority
JP
Japan
Prior art keywords
output
application
application session
output stream
stream
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2021065928A
Other languages
English (en)
Other versions
JP2021193551A (ja
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 JP2021193551A publication Critical patent/JP2021193551A/ja
Application granted granted Critical
Publication of JP7219300B2 publication Critical patent/JP7219300B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/08Upper layer protocols
    • H04W80/10Upper layer protocols adapted for application session management, e.g. SIP [Session Initiation Protocol]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/11Allocation or use of connection identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Cardiology (AREA)
  • Telephone Function (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本開示は、全般的に、ユーザデバイスの短距離ワイヤレス通信検出に関する。
関連出願
本願は、2020年5月14日に出願された米国特許仮出願第63/024,843号、および2020年8月3日に出願された米国特許出願第16/983,482号の優先権を主張するものである。開示された先行出願は、参照により本願に援用される。
短距離ワイヤレス通信は、比較的短い距離(例えば30メートル以内)でのワイヤレス通信を可能にする。例として、BLUETOOTH(登録商標)は、2.4ギガヘルツ(GHz:gigaherts)~2.485GHzの短波長の極超短波(UHF:ultra-high frequency)電波を使用して短距離でデータをやり取りするためのワイヤレス技術標準である。BLUETOOTH(登録商標)Low Energy(BLE)は、低電力で動くデバイスとの通信を可能にするBLUETOOTH(登録商標)通信の一形態である。かかるデバイスは、そのデバイスを他の1つ以上の短距離ワイヤレス通信デバイスが検出できるようにするため、および/または他の1つ以上の短距離ワイヤレス通信デバイスとの短距離ワイヤレス通信接続を開始もしくは確立するために、アドバタイズメントを送信するように構成され得る。
一部の実装において、デバイスは、1つ以上のメモリと、1つ以上のメモリに通信結合された1つ以上のプロセッサと、を含み、1つ以上のプロセッサは、アプリケーションに関連するアプリケーションセッションを開始することと、アプリケーションセッション中にデバイスを発見できるようにすることに関連する継続的発見モードをアクティブ化することであって、継続的発見モードは、デバイスの短距離ワイヤレス通信コンポーネントにアドバタイズメントを繰り返し送信させる、アクティブ化することと、継続的発見モードがアクティブ化されることに基づき、アプリケーションセッションに関連する出力ストリームを取得することと、出力ストリームに従い出力コンポーネントを制御することと、バックグラウンド状態でアプリケーションセッションを実行することに関連するバックグラウンドイベントを検出することと、バックグラウンドイベントに基づいて、バックグラウンド状態でアプリケーションセッションを実行することと、出力ストリームに従い出力コンポーネントを制御することに基づいて、デバイスのオペレーティングシステムがバックグラウンド状態のアプリケーションセッションを停止するのを継続的発見モードが非アクティブ化されるまで妨げることと、をするように構成される。
上記のデバイスの一部の実装において、アプリケーションは、第1のユーザ入力を受信することに基づいて開始されてもよく、継続的発見モードは、第1のユーザ入力とは異なる第2のユーザ入力に基づいてアクティブ化される。
上記のデバイスの一部の実装において、1つ以上のプロセッサは、継続的発見モードをアクティブ化すると、デバイスに関連するデバイス識別子、またはアプリケーションのユーザに関連するユーザ識別子のうちの少なくとも1つを含むようにアドバタイズメントを構成するよう構成されてもよい。
上記のデバイスの一部の実装において、出力ストリームは、ミュートされたオーディオコンテンツに関連してもよく、出力コンポーネントは、デバイスのスピーカであり、且つ/または出力ストリームは、発光コンテンツに関連してもよく、出力コンポーネントは、デバイスの発光体である。
上記のデバイスの一部の実装において、1つ以上のプロセッサは、出力ストリームに従い出力コンポーネントを制御するとき、デバイスのオペレーティングシステムに、デバイスのメイン処理スレッドを使用して出力ストリームを出力コンポーネントに提供させるように構成されてもよく、出力ストリームを出力コンポーネントに提供するためにメイン処理スレッドが使用されていることに基づいて、オペレーティングシステムは、バックグラウンド状態のアプリケーションセッションを停止するのを妨げられる。
上記のデバイスの一部の実装において、バックグラウンドイベントは、別のアプリケーションを開くこと、アプリケーションのグラフィカルユーザインターフェースの非アクティブ化、デバイスのディスプレイのシャットダウン、デバイスのロックモードのアクティブ化、またはデバイスのスタンバイモードのアクティブ化のうちの少なくとも1つを含んでもよい。
上記のデバイスの一部の実装において、1つ以上のプロセッサは、デバイスのオペレーティングシステムがバックグラウンド状態のアプリケーションセッションを停止するのを妨げるとき、オペレーティングシステムに、バックグラウンドイベントを検出してから閾値期間後にバックグラウンド状態でアプリケーションセッションが実行できるようにさせるよう構成されてもよく、オペレーティングシステムは、デバイスのバックグラウンド状態で動いている進行中のアプリケーションセッションを、閾値期間後に停止するように事前に構成されている。
一部の実装において、方法は、短距離ワイヤレス通信プロトコルに関連するアドバタイズメントを送信するステップであって、アドバタイズメントは、アプリケーションセッションの継続的発見モードに関連して送信される、送信するステップと、アプリケーションセッションに関連するバックグラウンドイベントを検出するステップと、バックグラウンドイベントを検出するステップに基づいて、アプリケーションセッションをバックグラウンド状態で実行するステップと、アプリケーションセッションに関連する出力ストリームを処理するステップであって、出力ストリームは、継続的発見モードでアプリケーションセッションを実行することに関連する、処理するステップと、アプリケーションセッションがバックグラウンド状態で実行している間、出力ストリームに関連するミュートされたオーディオコンテンツを提供することに関連して出力コンポーネントを制御するステップであって、ミュートされたオーディオコンテンツは、デバイスのオペレーティングシステムがバックグラウンドイベントから閾値期間後にアプリケーションセッションを停止するのを妨げて、継続的発見モードに関連するアドバタイズメントの送信が継続できるようにするために提供される、制御するステップと、を含む。
上記の方法の一部の実装において、アドバタイズメントは、アプリケーションセッションを開始することに関連する第1のユーザ入力を受信することに基づいて送信されてもよく、継続的発見モードは、アプリケーションセッションに関連する第2のユーザ入力に基づいてアクティブ化される。
上記の方法の一部の実装において、アドバタイズメントは、デバイスを、アドバタイズメントを受信する別のデバイスが発見できるようにする、デバイスに関連するデバイス識別子、またはアプリケーションセッションに関連するユーザに関連し、別のデバイスがユーザを識別できるようにするユーザ識別子のうちの少なくとも1つを含んでもよい。
上記の方法の一部の実装において、出力ストリームは、第1の出力ストリームであってもよく、方法は、第2の出力ストリームに関連するオーディオコンテンツを出力コンポーネントが出力することを決定するステップであって、第2の出力ストリームは、デバイス上で実行しているオーディオアプリケーションセッションに関連する、決定するステップと、混合されたストリームを形成するために第1の出力ストリームと第2の出力ストリームとを混合するステップと、ミュートされたオーディオコンテンツおよびオーディオコンテンツの両方を提供するために、混合されたストリームを出力するよう出力コンポーネントを制御するステップと、をさらに含んでもよい。
上記の方法の一部の実装において、出力コンポーネントを制御するステップは、デバイスのオペレーティングシステムに、メイン処理スレッドを使用して出力ストリームを出力コンポーネントに提供させるステップを含んでもよく、出力ストリームを出力コンポーネントに提供するためにメイン処理スレッドが使用されていることに基づいて、オペレーティングシステムは、バックグラウンド状態のアプリケーションセッションを停止するのを妨げられる。
上記の方法の一部の実装において、オペレーティングシステムは、アプリケーションセッションがデバイスの1つ以上の出力コンポーネントを使用していない限り、閾値期間後、バックグラウンド状態で動いているアプリケーションセッションを停止するように構成されてもよく、出力コンポーネントは、1つ以上の出力コンポーネントのうちの1つである。
上記の方法の一部の実装において、方法は、アプリケーションセッションがバックグラウンド状態で実行している間に、アドバタイズメントに関連する応答を受信するステップであって、応答は、別のデバイスから短距離ワイヤレス通信プロトコルを介して受信される、受信するステップと、デバイスと別のデバイスとの間の通信セッションを可能にするために、別のデバイスとの短距離ワイヤレス通信接続を確立するステップと、をさらに含んでもよい。
一部の実装において、命令を記憶する非一時的コンピュータ可読媒体は、1つ以上の命令を含み、1つ以上の命令は、1つ以上のプロセッサにより実行されると1つ以上のプロセッサに、アプリケーションセッションに関連する出力ストリームを受信することであって、出力ストリームは、出力コンポーネントを介する知覚不能なコンテンツに関連する、受信することと、アプリケーションセッションに関連するアドバタイズメントを、短距離ワイヤレス通信コンポーネントを介して送信することと、出力ストリームを出力コンポーネントに提供するように、アプリケーションセッションの実行に関連するメイン処理スレッドを構成することであって、メイン処理スレッドは、出力コンポーネントを、知覚不能なコンテンツに関連して動作させること、およびアプリケーションセッションがバックグラウンド状態で実行している間、オペレーティングシステムがアプリケーションセッションを停止するのを妨げることのために出力ストリームを提供するよう構成される、構成することと、をさせる。
上記の非一時的コンピュータ可読媒体の一部の実装において、出力ストリームは、アプリケーションセッション中にアドバタイズメントを繰り返し送信させるために継続的発見モードがアクティブ化されることに基づいて受信されてもよい。
上記の非一時的コンピュータ可読媒体の一部の実装において、知覚不能なコンテンツは、ミュートされたオーディオコンテンツであってもよく、出力コンポーネントは、スピーカを含む。
上記の非一時的コンピュータ可読媒体の一部の実装において、アプリケーションセッションは、第1のアプリケーションセッションであってもよく、出力ストリームは、第1の出力ストリームであってもよく、1つ以上の命令は、1つ以上のプロセッサにより実行されると1つ以上のプロセッサにさらに、第2の出力ストリームに関連するオーディオコンテンツを出力コンポーネントが提供することを決定することであって、第2の出力ストリームは、実行している第2のアプリケーションセッションに関連する、決定することと、出力コンポーネントに提供されると出力コンポーネントに知覚不能なコンテンツおよびオーディオコンテンツを出力させる混合されたストリームを形成するために、第1の出力ストリームが第2の出力ストリームと結合されることを可能にすることと、をさせてもよい。
上記の非一時的コンピュータ可読媒体の一部の実装において、知覚不能なコンテンツは、発光コンテンツであってもよく、出力コンポーネントは、発光体を含む。
上記の非一時的コンピュータ可読媒体の一部の実装において、短距離ワイヤレス通信コンポーネントは、BLUETOOTH(登録商標)Low-Energy(BLE)コンポーネントを含んでもよい。
本願明細書に記載される例示の実装の図である。 本願明細書に記載される例示の実装の図である。 本願明細書に記載される例示の実装の図である。 本願明細書に記載される例示の実装の図である。 本願明細書に記載される例示の実装の図である。 本願明細書に記載されるシステムおよび/または方法が実装され得る例示の環境の図である。 図3の1つ以上のデバイスの例示のコンポーネントの図である。 バックグラウンドアプリケーションを使用したモバイルデバイスの継続的な短距離ワイヤレス通信検出に関する例示のプロセスのフローチャートである。
以下の例示の実装の詳細な説明は、添付の図面を参照する。異なる図面にある同じ参照番号は、同じまたは類似の構成要素を特定し得る。
モバイルデバイス(例えばスマートフォン、タブレット、車載デバイス、位置検出デバイス、および/または同様のもの)などのクライアントデバイス上で、アプリケーションが、短距離ワイヤレス通信(BLUETOOTH(登録商標)、BLUETOOTH(登録商標)Low Energy(BLE、またはその他ワイヤレスパーソナルエリアネットワーク(WPAN:wireless personal area network))デバイスをスキャンすることが必要な場合がある。例として、アプリケーションは、短距離ワイヤレス通信を使用して、クライアントデバイスから特定の距離内に他の1つ以上のデバイスがあるかどうかを検出する必要があるかもしれない。そのようなケースでは、アプリケーションは、クライアントデバイスにアドバタイズメントを(例えば繰り返し)送信させて、クライアントデバイスの存在をブロードキャストし、且つ/または他のデバイスがクライアントデバイスの存在を検出できるようにし得る。しかしながら、そのようなアプリケーションがバックグラウンド(例えばフォアグラウンドでなく、且つ/または表示されない)で実行している場合、短距離ワイヤレス通信のスキャンがクライアントデバイスのオペレーティングシステムにより無効化され、それによって、アプリケーションがバックグラウンドにある間にクライアントデバイスがアドバタイズメントを送信するのが妨げられる可能性がある。これは、短距離ワイヤレス通信および/またはアプリケーションの実行に関して、不安定な挙動につながるおそれがある。本願明細書に記載されている一部の実装は、これらの問題および他の問題を克服し、その結果、安定した短距離ワイヤレス通信スキャンを可能にし、アプリケーションのパフォーマンスを改善する。
一部の実装において、システムおよび/または方法は、第1のモバイルデバイスから第2のモバイルデバイスにデータを伝達してもよい。第1のモバイルデバイスおよび/または第2のモバイルデバイスは、アプリケーションを動かし、または実行してもよい。アプリケーションは、短距離ワイヤレス通信プロトコルを使用してデータを(例えばデバイス間で)伝達してもよい。アプリケーションは、特定のオペレーティングシステム(例えばiOS)により(例えば出力コンポーネントのドライバを介して)管理される出力コンポーネントの制御に関連する構成設定を有してもよい。例として、アプリケーションは、出力ストリームに関連する知覚不能なコンテンツを出力コンポーネントに提供し、それに対応してユーザには感知不能なように構成されている知覚不能なコンテンツを出力コンポーネントに出力させるように構成されてもよい。かかる知覚不能なコンテンツは、ミュートされたオーディオコンテンツ、特定不能な光コンテンツ、および/または同様のものを含んでもよい。
一部の実装において、オーディオプレーヤアプリケーションがアクティブ化されると、知覚不能なコンテンツを伴う出力ストリームがオーディオプレーヤアプリケーションの出力ストリームと混合されてもよい(且つ/またはアプリケーションからのサウンドを結合するオーディオミキシングなどによりアプリケーションを使用したオーディオ出力の混合が行われてもよい)。出力ストリームは、オーディオプレーヤアプリケーションに関連するオーディオコンテンツを出力するスピーカの能力に影響しない形で混合されてもよい。一部の実装は、モバイルデバイスのどちらか一方がバックグラウンド状態に入っても第1のモバイルデバイスから第2のモバイルデバイスへの通信を可能にする。このようにして、継続的な短距離ワイヤレス通信スキャンに依拠する、またはそれを伴うアプリケーションおよび/またはクライアントデバイスのパフォーマンスを改善でき、それによって、他の場合であればアプリケーションがバックグラウンド状態になった(またはオペレーティングシステムにより停止された)後に短距離ワイヤレス通信スキャンを続けようと試行するのに使用されるコンピューティングリソース(例えば処理リソース、メモリリソース、電力リソース、および/または同様のもの)および/または通信リソースの消費量が削減される。
さらに、本願明細書に記載された一部の実装は、オペレーティングシステムの更新または改変を要求することなく、継続的な短距離ワイヤレス通信スキャンをできるようにする。例として、オペレーティングシステムは、出力コンポーネントを制御する間はバックグラウンド状態にあるときもアプリケーションが動き続けられるようにするように構成されているので、オペレーティングシステムはアプリケーションの動作1つ以上を停止するのを妨げられてもよく、それによって、アプリケーションは短距離ワイヤレス通信スキャンを続けられる。このように、他の場合であればアプリケーションおよび/またはクライアントデバイスが短距離ワイヤレス通信スキャンを継続的に実行することを可能にするべくオペレーティングシステムを設計および/または更新するために使用されるであろうコンピューティングリソースを、他の形で節約できる。
図1A~図1Dは、バックグラウンドアプリケーションを使用したユーザデバイスの継続的な短距離ワイヤレス通信検出に関連する例100の図である。図1A~図1Dに示されているように、例100は、第1のデバイス(「デバイス1」として示されている)および第2のデバイス(「デバイス2」として示されている)を含む。第1のデバイスおよび第2のデバイス(本願明細書において「デバイス」と総称される)は、例100において、短距離ワイヤレス通信デバイス(例えばBLUETOOTH(登録商標)機能、BLE機能、および/または同様のものを備えたデバイス)である。一部の実装において、デバイスは、同じタイプのデバイス(例えば(例100に示されているように)どちらのデバイスもスマートフォン、モノのインターネット(IoT:Internet of Things)デバイス、および/または同様のものである)、または異なるタイプのデバイスである(例えば第1のデバイスがスマートフォンであり第2のデバイスがIoTデバイスであってもよい)。
例100において、第1のデバイスは、アプリケーションモジュール、オペレーティングシステム、出力システム、および短距離ワイヤレス通信コンポーネントを含む。アプリケーションモジュールは、1つ以上のアプリケーションが、インストールされ、開かれ、且つ/または実行されることを可能にする。オペレーティングシステムは、アプリケーションモジュールのアプリケーションのアプリケーションセッションを監視して、第1のデバイスのコンピューティングリソース(例えば処理リソース、メモリリソース、電力リソース、および/または同様のもの)を管理するように構成されている。本願明細書に記載されているように、オペレーティングシステムは、本願明細書に記載されている第1のデバイスの継続的な短距離ワイヤレス通信検出を可能にするために更新および/または再構成される必要のない、レガシーオペレーティングシステムであってもよい。図のように、出力システムは、スピーカ(例えばオーディオコンテンツに関連するサウンドを発する)および発光体(例えば発光ダイオード(LED:light emitting diode)、レーザ、および/または同様のもの)を含み、さらに第1のデバイスの他の出力コンポーネント(例えばディスプレイ、触覚出力、および/または同様のもの)を含んでもよい。短距離ワイヤレス通信コンポーネントは、(例えば第2のデバイスまたは他のデバイスとの)短距離ワイヤレス通信を促進するアンテナおよび/または他のコンポーネントを含む。第1のユーザデバイスは、他の様々なコンポーネント(例えば入力コンポーネント、他の出力コンポーネント、他の通信コンポーネント、および/または同様のもの)を含んでもよい。
本願明細書に記載されているように、第1のデバイスは、短距離ワイヤレス通信を利用するアプリケーション(図1A~図1Dに「短距離ワイヤレス通信アプリケーション」と示され、本願明細書では「アプリケーション」と呼ばれる)の継続的発見モードを使用した継続的な短距離ワイヤレス通信検出を可能にするように構成されてもよい。例100において、継続的発見モードは、アプリケーションに出力システムの出力コンポーネントを制御させることによりアプリケーションがバックグラウンド状態にあるときに(例えば第1のデバイスのオペレーティングシステムによって)停止されるのを妨げ、それによって、継続的発見モードが停止されるまでアプリケーションが短距離ワイヤレス通信コンポーネントを介してアドバタイズメントを送信し続けることを可能にする。
図1Aに参照番号105により示されているように、アプリケーションは、アプリケーションセッションを開始するために第1のデバイス上でインストールされ、且つ/または開かれる。アプリケーションは、アプリケーションをダウンロードすること、第1のデバイスのインストールプログラムを開始すること、および/またはアプリケーションを開くことに関連する(例えば第1のデバイスのユーザインターフェースを介した)ユーザ入力に基づいてアプリケーションセッションを開始するためにインストールされ、且つ/または開かれてもよい。本願明細書に記載されているように、アプリケーションセッション中、アプリケーションは、短距離ワイヤレス通信コンポーネントを使用して他のデバイス(例えば第2のデバイス)を検出し、且つ/またはそれと通信するように構成されてもよい。例として、アプリケーションは、他のデバイスから情報を取得すること、他のデバイスに情報を提供すること、第1のデバイスが他のデバイスの範囲内にあると検出および/もしくは記録すること、ならびに/または同様のことに関連してもよい。
本願明細書に記載されているように、出力システムの1つ以上の出力コンポーネントに出力ストリームを提供するようにアプリケーションを(例えば継続的発見モードにおいて)構成して、第1のデバイスの継続的な短距離ワイヤレス通信検出を促進することができる。したがって、アプリケーションは、インストールされ、且つ/または開かれると、(例えばアプリケーションの継続的発見モードがアクティブ化されている間)ユーザデバイスが継続的に発見されることができるようにしてもよい。
図1Aに参照番号110によりさらに示されているように、アプリケーションセッションがオペレーティングシステムにより監視される。例示の実装100におけるオペレーティングシステムは、アプリケーションセッション(および第1のデバイスの他のアプリケーションの他のアプリケーションセッション)を監視する間、アプリケーション状態管理プロトコルを利用してアプリケーションおよび/またはアプリケーションセッションの状態を制御するように(例えばレガシーオペレーティングシステムとして)事前に構成されている。オペレーティングシステムは、アプリケーションのアプリケーションセッションに対して特定のタイプのリソース(例えば第1のデバイスの特定の処理スレッド)を割り当てることに基づいて、且つ/または第1のデバイスの特定のコンポーネント(例えば出力システムの出力コンポーネントおよび/または短距離ワイヤレス通信コンポーネント)へのアクセスまたはその制御を可能にすることに基づいて、アプリケーションおよび/またはオペレーティングシステムの状態を制御してもよい。
図1Aに示されているように、アプリケーション状態管理プロトコルに従い、アプリケーションは(例えばオペレーティングシステムにより制御されることに基づいて)様々な状態にあり得る。例として、オペレーティングシステムは、第1のデバイスの特定の動作パラメータに基づいてアプリケーションの状態を制御してもよい。動作パラメータには、アプリケーションのランタイム(例えばアプリケーションセッションの全体的な時間長)、アプリケーションのアイドル時間(例えばアプリケーションセッションのユーザインタラクション間の時間長)、第1のデバイスの処理負荷(例えば使用中の処理リソースおよび/またはメモリリソースの量)、および/または同様のものが含まれてもよい。本願明細書に記載されているように、オペレーティングシステムは、動作パラメータの1つ以上が動作パラメータの閾値1つ以上を満たすかどうかに基づいてアプリケーションの状態を制御するように事前に構成されている。
例100では、アプリケーションは、未接続状態110-1、初期化状態110-2、フォアグラウンド状態110-3、スタンバイ状態110-4、バックグラウンド状態110-5、および停止状態110-6にあり得る。アプリケーション状態管理プロトコルに従い、アプリケーションは、アプリケーションが第1のデバイスにインストールされる前、またはアプリケーションが第1のデバイスからアンインストールされた後、(第1のユーザデバイスに対して)未接続状態110-1にあってもよい。アプリケーションは、(例えばユーザ入力に基づいて)起動された後、初期化状態110-2にある。初期化状態110-2において、アプリケーションは、アプリケーションセッションを開始することに関連して動いて(例えば第1のデバイスによって実行されて)いてもよい。アプリケーションは、アプリケーションが開かれた後、および/またはアプリケーションセッションが(例えばユーザ入力を介して)アクセスされた後、フォアグラウンド状態110-3にある。フォアグラウンド状態110-3において、オペレーティングシステムは、アプリケーションが、アプリケーションのグラフィカルユーザインターフェースを提示するよう第1のデバイスのディスプレイを制御して、アプリケーションセッション中にユーザがグラフィカルユーザインターフェースを介してアプリケーションと相互作用できるようにすることを可能にする。
アプリケーションセッションが第1のデバイスのディスプレイを使用しなくなった後、アプリケーションはスタンバイ状態110-4にある。例として、アプリケーションは、アプリケーションのグラフィカルユーザインターフェースが(例えばユーザ入力に基づいて)閉じられ、または非アクティブ化された後、スタンバイ状態110-4に移行されてもよい。スタンバイ状態110-4および/または初期化状態110-2は、(例えば第1のデバイスとの直近のユーザインタラクションに関連するのに対し)アプリケーションが同様の形で動くことを伴ってもよい。アプリケーションは、バックグラウンドイベントが発生することに基づいて、バックグラウンド状態110-5にある。例として、バックグラウンドイベントは、アプリケーションがスタンバイ状態110-4でアイドルである閾値期間(例えばデフォルトの期間、ユーザ設定によって定義された期間、アプリケーション特有の期間、および/もしくは同様のもの)の満了、アプリケーションセッションをバックグラウンド状態110-5に移行させるユーザ入力、別のアプリケーションが開かれ且つ/もしくは第1のデバイスのディスプレイを利用すること、ならびに/または同様のものであってもよい。
アプリケーションは、アプリケーションのアプリケーションセッションが終了および/または非アクティブ化されると、停止状態110-6にある。例100のオペレーティングシステムは、閾値期間後、バックグラウンド状態110-5で動いている進行中のアプリケーションセッションを停止するように事前に構成されている。したがって、オペレーティングシステムは、閾値期間にわたってバックグラウンド状態110-5で休止した後にアプリケーションを非アクティブ化することによって、アプリケーションを停止状態110-6に移行させてもよい。さらに、または代わりに、オペレーティングシステムは、アプリケーションセッションを終了するユーザ入力を受信することに基づいて、アプリケーションを停止状態110-6に移行させてもよい。本願明細書に記載されているように、アプリケーションセッションは、アプリケーションセッションが第1のデバイスのメイン処理スレッドを利用していないとき、および/またはアプリケーションセッションが第1のデバイスの1つ以上の出力コンポーネントを利用していないときに、休止しているとされ得る。
このように、オペレーティングシステムは、アプリケーションおよび/またはアプリケーションセッションを監視して、第1のデバイスがアプリケーションの状態を制御できるようにするよう、事前に構成されていてもよい。本願明細書に記載されているように、第1のデバイスは、オペレーティングシステムのアプリケーション状態管理プロトコルを(例えばオペレーティングシステムの更新または変更を介して)更新および/または改変することなく、継続的な短距離ワイヤレス通信検出をアクティブ化するように(例えばアプリケーションおよび/またはアプリケーションセッションを介して)構成され、それによって、レガシーオペレーティングシステムを備えた第1のデバイスが継続的な短距離ワイヤレス通信検出を使用できるようにする。
図1Bに参照番号115により示されているように、継続的発見モードがアクティブ化される。本願明細書に記載されているように、継続的発見モードは、第1のデバイスの短距離ワイヤレス通信範囲内に他のデバイス(例えば第2のデバイス)があると他のデバイスが第1のデバイスを検出できるようにするアドバタイズメントを、短距離ワイヤレス通信コンポーネントに繰り返し送信させるように構成される。継続的発見モードのアクティブ化は、アプリケーションおよび/またはアプリケーションセッションに関連してもよい。例として、第1のデバイスおよびまたはアプリケーションモジュールは、アプリケーションセッションに関連するユーザ入力を受信することに基づいて(例えばアプリケーションのアドホックユーザ設定として)、アプリケーションセッションが開始されることに基づいて(例えばアプリケーションのデフォルトモードとして)、アプリケーションセッションがアクティブであることに基づいて(例えばアプリケーションの決まった動作モードとして)、および/または同様のことに基づいて、継続的発見モードをアクティブ化してもよい。
このように、継続的発見モードをアクティブ化して、(例えばアプリケーションセッションがアクティブである間)第1のデバイスおよび/またはアプリケーションセッションをアドバタイズメントの送信を介して継続的に検出できるようにすることができる。
図1Bに参照番号120によりさらに示されているように、アプリケーションセッションのアプリケーションデータが継続的発見モードに基づいて構成される。例として、アプリケーションデータは、グラフィカルユーザインターフェースデータ、出力ストリーム、およびアドバタイズメントを含んでもよい。グラフィカルユーザインターフェースデータは、アプリケーションに関連する情報を表示し、且つ/またはアプリケーションセッションのためのユーザ入力を受信するために、アプリケーションセッションによって使用される任意のデータとされてもよい。
出力ストリームは、出力コンポーネントを制御するために1つ以上の出力コンポーネントに提供されるデータ(例えばオーディオデータ、発光体のアクティブ化データ、および/または同様のもの)のストリームを含んでもよい。本願明細書に記載されているように、出力ストリームは、知覚不能なコンテンツ(例えば知覚不能なオーディオコンテンツまたは知覚不能な光コンテンツ)に関連してもよい。したがって、継続的発見モードがアクティブ化されると、出力ストリームが取得され、知覚不能なコンテンツを出力コンポーネント(単数または複数)に出力させて、(例えば、オペレーティングシステムは出力コンポーネントを使用しているときはアプリケーションをアクティブとみなすであろうから)オペレーティングシステムがアプリケーションセッションを停止するのを、可聴コンテンツまたは視覚コンテンツの出力に関連するユーザの体験を劣化させることなく妨げることができる。
アドバタイズメントは、デバイスに関連するデバイス識別子、および/またはアプリケーションのユーザに関連するユーザ識別子(例えば名前、ユーザ名、識別番号、および/または同様のもの)を含むように構成されてもよい。例として、アプリケーションは、デバイスのオペレーティングシステムまたは他のシステムからデバイス識別子を取得してもよい。さらに、または代わりに、アプリケーションは、ユーザがアプリケーションにログインすること、および/またはアプリケーションのアプリケーションプラットフォームに関連するアカウントを登録するときに他のユーザ情報とともにユーザ識別子を提供することに基づいて、ユーザ識別子を取得してもよい。したがって、継続的発見モードがアクティブ化されると、アドバタイズメントは、デバイス識別子および/またはユーザ識別子を含んで、デバイスおよび/またはユーザを他のデバイスおよび/または他のデバイスのユーザが識別できるようにするように構成されてもよい。
このように、アプリケーションのアプリケーションデータは、アプリケーションセッションが閾値期間後にオペレーティングシステムによって停止されることなく第1のデバイスのバックグラウンドで(例えばバックグラウンド状態110-5で)動き続けられるように、アプリケーションセッションに対して構成できる。
図1Bに参照番号125によりさらに示されているように、処理スレッドがアプリケーションデータに基づいて管理される。例として、アプリケーションは、特定のタイプのアプリケーションデータが第1のデバイスの特定の処理スレッドを介して処理されることを示してもよい。第1のデバイスの様々な処理スレッドは、オペレーティングシステムによる管理に関して、特定の優先順位により指定されてもよい。例として、オペレーティングシステムは、特定のアプリケーションセッションによってどの処理スレッドが使用されているかに基づいて、アプリケーションおよび/またはアプリケーションセッションの状態を管理してもよい。図のように、第1のデバイスは、メイン処理スレッド(本願明細書では「メインスレッド」として示され、そのように呼ばれる)およびサブ処理スレッド(本願明細書では「サブスレッド」として示され、そのように呼ばれる)を含んでもよい。メインスレッドは、アプリケーションセッションのデータの処理の、相対的により高い優先順位に関連する処理スレッドであり(例えば専用の処理リソースおよび/またはメモリリソースが与えられる)、サブスレッドは、より低い優先順位に関連する(例えばメインスレッドを含む他の処理スレッドの使用量または処理負荷に基づいて制限および/または除去できるリソースが割り当てられる)。
図のように、出力ストリームは、アプリケーションおよび/またはアプリケーションモジュールによる指定に従い、メインスレッドを介して処理されてもよい。したがって、出力ストリームは、アプリケーションセッションが(例えば初期化状態110-2、フォアグラウンド状態110-3、スタンバイ状態110-4、および/またはバックグラウンド状態110-5で)アクティブである間、アプリケーションの状態に関わらず処理される。本願明細書に記載されているように、一部の実装において、オペレーティングシステムは、アプリケーションセッションがメイン処理スレッドを利用していれば、アプリケーションセッションをアクティブなアプリケーションとみなすように事前に構成される。したがって、出力ストリームがメインスレッドを利用するように構成されているため、アプリケーションセッションに関連する他のデータの処理に関して休止の閾値期間が経過した後でも、(例えばオペレーティングシステムにアプリケーションセッションが休止しているように見えないことになるため)オペレーティングシステムがアプリケーションセッションを停止することを妨げることができる。
一部の実装において、出力ストリームは、継続的発見モードで動作するアプリケーションセッションに関連した動作のために指定されてもよい。したがって、本願明細書に記載されているように、アプリケーションセッションがアクティブであるが継続的発見モードがアクティブ化されていない場合、出力ストリームはメイン処理スレッドを介して出力コンポーネントを制御するために使用されなくてもよい。
このように、第1のデバイスの処理スレッドを管理して、(例えば感知不能な周波数で無音および/または明滅する光を出力するために)知覚不能なコンテンツに関連して出力コンポーネントを動作させ、且つ/またはアプリケーションセッションがバックグラウンド状態で実行している間にオペレーティングシステムがアプリケーションセッションを停止するのを妨げることができる。
図1Cに参照番号130により示されているように、出力コンポーネントが出力ストリームに従って知覚不能なコンテンツを出力するように制御される。本願明細書に記載され、図示されているように、出力コンポーネントは、(例えばメディア再生および/または警告のための)スピーカまたは(例えばカメラのフラッシュ、懐中電灯、または他の照明デバイスとして使用される)発光体を含んでもよい。一部の実装において、出力ストリームは、スピーカによって出力されるミュートされたコンテンツに関連してもよい。そのようなケースでは、スピーカは、無音、または人間の耳には聞こえない周波数範囲のオーディオ信号を出力してもよい。さらに、または代わりに、出力ストリームは、発光体によって出力される発光コンテンツに関連してもよい。そのようなケースでは、発光体は、人間の目には感知できない周波数(または明滅)の光信号または光を出力してもよい。
このように、第1のデバイスおよび/またはアプリケーションは、知覚不能なコンテンツを出力するように出力コンポーネントを制御し、それに応じて、デバイスのオペレーティングシステムがアプリケーションセッションを停止するのを可聴コンテンツまたは視覚コンテンツの出力に関連するユーザの体験を劣化させることなく妨げてもよい。
図1Cに参照番号135によりさらに示されているように、アプリケーションおよび/または第1のデバイスの継続的な発見のためにアプリケーション中にアドバタイズメントが送信される。アドバタイズメントは、任意の適切な短距離ワイヤレス通信プロトコルに従って繰り返し送信されてもよい。例として、アドバタイズメントは、短距離ワイヤレス通信プロトコルを使用して、第1のデバイスの存在をブロードキャストし、且つ/または他のデバイス(例えば第1のデバイスの短距離ワイヤレス通信範囲内にあるデバイス)の存在を検出するために送信されてもよい。
本願明細書に記載されているように、アドバタイズメントは、繰り返し送信され、アドバタイズメントを受信する別のデバイス(例えば第2のデバイス)が第1のデバイスを発見できるようにする、第1のデバイスに関連するデバイス識別子を示してもよい。さらに、または代わりに、アドバタイズメントは、繰り返し送信され、ユーザを別のデバイス(または別のデバイスのユーザ)が識別できるように、アプリケーションセッションに関連するユーザに関連したユーザ識別子を示してもよい。
一部の実装によれば、アドバタイズメントは、(例えばアプリケーションセッションを起動するユーザ入力に基づいて、且つ/またはアプリケーションのデフォルト設定として)アプリケーションセッションがアクティブであること、および(例えばアプリケーションセッションに関連するユーザ入力に基づいて)継続的発見モードがアクティブ化されることに基づいて送信される。
このように、第1のデバイスは、アプリケーションセッション中にアドバタイズメントを繰り返し送信して、第1のデバイスの継続的な短距離ワイヤレス通信検出を可能にするように構成される。
図1Cに参照番号140によりさらに示されているように、出力ストリームに基づいてアプリケーションセッションがバックグラウンドで動くことを可能にするようにオペレーティングシステムが構成される。例として、オペレーティングシステムは、アプリケーションセッションがメインスレッドを使用して出力コンポーネント(単数または複数)を制御することに基づいて、アプリケーションセッションがバックグラウンドで(例えばバックグラウンド状態110-5で)継続的に動けるようにする。したがって、アプリケーションデータがメイン処理スレッドを使用して出力コンポーネントを制御するように構成されたことが理由で、オペレーティングシステムは、アプリケーションセッションをアクティブなアプリケーションセッションととらえる。よって、メイン処理スレッドを使用すること、および/または出力ストリームを介して出力コンポーネントを制御することにより、オペレーティングシステムがアプリケーションを停止すること、および/またはアプリケーションセッションを非アクティブ化することが妨げられる。
このように、アプリケーションセッションがアクティブである間はアドバタイズメントが繰り返し送信され、オペレーティングシステムはアプリケーションセッションをアクティブとみなすことによりアプリケーションセッションを停止すること(例えばアプリケーションを停止状態110-6に移行させること)が妨げられるので、第1のデバイスは短距離ワイヤレス通信を介して継続的に検出可能である。
図1Dに参照番号145により示されているように、アプリケーションセッションがバックグラウンドイベントに基づいてバックグラウンドで動く。例として、第1のデバイスは、バックグラウンドイベントを検出することに基づいて、(例えばオペレーティングシステムを介して)アプリケーションをバックグラウンド状態110-5に移行させてもよい。バックグラウンドイベントは、別のアプリケーションを開くこと、アプリケーションのグラフィカルユーザインターフェースの非アクティブ化、(例えば第1のデバイスをロックするための)第1のデバイスのロックモードのアクティブ化、第1のデバイスのスタンバイモード(例えば第1のデバイスの消費電力を抑えるための低電力モード)のアクティブ化、および/または同様のものを含んでもよい。
本願明細書に記載されているように、アプリケーションセッション中、第1のデバイスは、短距離ワイヤレス通信コンポーネントを介してアドバタイズメントを送信し続ける。したがって、第1のデバイスは、アプリケーションセッションがバックグラウンドで動いている間、短距離ワイヤレス通信を介してアドバタイズメントを送信し続けてもよい。さらに、アプリケーションセッションは、出力ストリームを処理するためにメイン処理スレッドを使用すること、および/または出力コンポーネントを制御することに基づいて、バックグラウンドの間もアクティブなままであるため、アプリケーションセッションは、アプリケーションセッションのバックグラウンドでの休止に関連する閾値期間よりも長く第1のデバイスのバックグラウンドで動き続けてもよい。
このように、アプリケーションセッションは第1のデバイスのバックグラウンドで動いて、継続的な短距離ワイヤレス通信検出を可能にすることに関連してアプリケーションセッションがバックグラウンドで動いている間、第1のデバイスがアドバタイズメントを送信し続けられるようにする。
図1Dに参照番号150によりさらに示されているように、アプリケーションセッションがバックグラウンドで動いている間、アドバタイズメントに対する応答が第2のデバイスから受信される。一部の実装において、応答は、アプリケーションを停止するためにオペレーティングシステムにより使用される、バックグラウンドイベントからの閾値期間が経過した後に受信されてもよい(例えば、バックグラウンドで動いている間、アプリケーションセッションがアクティブなままであるため)。第1のデバイスおよび/またはアプリケーションは、第1のデバイスおよび第2のデバイスにより利用される任意の適切な短距離ワイヤレス通信プロトコルに従って応答を処理してもよい。
一部の実装によれば、応答を受信することに基づいて、第1のデバイスは、短距離ワイヤレス通信プロトコルを使用して第2のデバイスとの短距離ワイヤレス通信接続を確立してもよい。このように、応答を受信することに基づいて、第1のデバイスは、アプリケーションセッションに関連する短距離ワイヤレス通信セッションを確立してもよい。
図1Dに参照番号155によりさらに示されているように、第1のデバイスと第2のデバイスとの間に短距離ワイヤレス通信セッションが確立される。短距離ワイヤレス通信セッションは、アプリケーションセッションに関連し、アプリケーションおよび/または第1のデバイスが第2のデバイスと通信できるようにしてもよい。例として、アプリケーションは、デバイス情報、ユーザ情報、アプリケーション情報、および/または同様のものなど、第2のデバイスに関連する情報を取得してもよい。そのようなケースでは、短距離ワイヤレス通信セッションは、第1のデバイスと第2のデバイスとが互いの短距離ワイヤレス通信範囲内にあったことを記録するために利用されてもよい(例えば、第1のデバイスの位置監視、第1のデバイスおよび第2のデバイスのユーザに関連する接触追跡、および/または同様のことのため)。
一部の実装において、アプリケーションは、第2のデバイスにインストールされてもよい。そのようなケースでは、第1のデバイス上のアプリケーションセッションは、短距離ワイヤレス通信セッションに関連して、第2のデバイス上のアプリケーションセッションとマージされてもよい。したがって、本願明細書に記載されている継続的な短距離ワイヤレス通信検出を介して構成され得る短距離ワイヤレス通信セッションは、デバイス上のアプリケーション同士がデータをやり取りできるようにすることができる(例えばゲームセッション、データ共有セッション、および/または同様のものに関連して。
一部の実装において、第2のデバイスは、セキュリティ保護された環境(例えばキャンパスのセキュリティ保護されたエリア、建物の内部、車両の内部、および/または同様のもの)へのアクセスを保護することに関連してもよい。例として、第1のデバイスおよび/またはアプリケーションは、第2のデバイスとの短距離ワイヤレス通信を介して、セキュリティ保護された環境へのワイヤレスエントリーまたはキーレスエントリーを可能にすることに関連してもよい。したがって、(例えばアプリケーションセッションが第1のデバイスのバックグラウンドにある間に)第2のデバイスが第1のデバイスからのアドバタイズメントを検出することに基づいて、第2のデバイスは(例えばセキュリティ保護された環境のロックまたはセキュリティメカニズムを解除することによって)、第1のデバイスを携行しているユーザがセキュリティ保護された環境にアクセスすることを可能にしてもよい。
このように、継続的発見モードによってアプリケーションが第1のデバイスのバックグラウンドで維持されている場合に、アプリケーションに関連して短距離ワイヤレス通信セッションを確立することができる。
上記で指摘されたように、図1A~図1Dは、例として示されている。他の例は、図1A~図1Dに関して記載されているものと異なり得る。
図2は、バックグラウンドアプリケーションを使用したユーザデバイスの継続的な短距離ワイヤレス通信検出に関連する例200の図である。図2に示されているように、例200のデバイスは、短距離ワイヤレス通信アプリケーションおよびオーディオアプリケーションを備えたアプリケーションモジュールと、ミキサおよびスピーカを備えた出力システムとを含む。短距離ワイヤレス通信アプリケーションは、例100のアプリケーションに対応してもよい。例200では、本願明細書に記載されているように、デバイスおよび/または短距離ワイヤレス通信アプリケーションは、継続的発見モードで動作するように構成される。したがって、短距離ワイヤレス通信アプリケーションは、ミュートされたコンテンツ(または無音)をスピーカに出力させるために、ミュートされたコンテンツストリームを提供している。オーディオアプリケーションは、デバイスのスピーカを介して(例えばオーディオメディアデータに関連する)オーディオコンテンツを出力するように構成されたアプリケーションである。
図2に参照番号210により示されているように、短距離ワイヤレス通信アプリケーションが継続的発見モードである間に、オーディオアプリケーションからオーディオコンテンツストリームが受信される。デバイスおよび/または出力システムは、スピーカがオーディオコンテンツストリームに関連するオーディオコンテンツを出力することを決定してもよい。
図2に参照番号220により示されているように、オーディオコンテンツストリームがミュートされたコンテンツストリームと混合される。例として、デバイスおよび/または出力システムは、ミキサを使用して、(例えばオーディオコンテンツが設計または構成どおりに出力されるように)ミュートされたコンテンツまたはオーディオコンテンツの出力を改変しない任意の適切な技術を使用して、オーディオコンテンツストリームとミュートされたコンテンツストリームとを結合することができる。一例として、ミキサは、ミュートされたコンテンツストリームからのミュートされたコンテンツデータと、オーディオコンテンツストリームからのオーディオコンテンツデータとを交互に含む混合されたストリームを生成してもよい。したがって、デバイスおよび/または出力システムは、ミュートされたコンテンツストリームがオーディオコンテンツストリームと結合されて、出力コンポーネントに提供されるとオーディオコンテンツの出力を中断することなくミュートされたコンテンツおよびオーディオコンテンツを出力コンポーネントに出力させる、混合されたストリームを形成することを可能にしてもよい。
図2に参照番号230により示されているように、結合されたオーディオコンテンツおよびミュートされたコンテンツがスピーカによって出力される。例として、デバイスおよび/または出力システムは、ミュートされたオーディオコンテンツおよびオーディオコンテンツの両方を提供するために、混合されたストリームに従ってスピーカにコンテンツを出力させてもよい。このように、アプリケーションセッションは、別のアプリケーションが開かれ、且つ/またはスピーカを使用していても、オーディオコンテンツの再生を妨害することなくバックグラウンド状態で動き続けることができる。
上記で指摘されたように、図2は例として示されている。他の例は、図2に関して記載されているものと異なり得る。
図3は、本願明細書に記載されたシステムおよび/または方法が実装され得る例示の環境300の図である。図3に示されているように、環境300は、プライマリユーザデバイス310(例えば例100の第1のデバイスに対応)、1つ以上のセカンダリユーザデバイス320(例えば例100の第2のデバイスを含んでもよい)、アプリケーションプラットフォーム330、およびネットワーク340を含んでもよい。環境300のデバイスは、有線接続、ワイヤレス接続、または有線接続とワイヤレス接続との組み合わせを介して相互に接続してもよい。
プライマリユーザデバイス310は、本願明細書の他の箇所に記載されているように、バックグラウンドアプリケーションを使用した継続的な短距離ワイヤレス通信検出を可能にすることに関連する情報を受信、生成、記憶、処理、および/または提供できる1つ以上のデバイスを含む。プライマリユーザデバイス310は、通信デバイスを含んでもよい。例として、プライマリユーザデバイス310は、ワイヤレス通信デバイス、ユーザ機器(UE:user equipment)、モバイル電話(例えば、ほかにも例はあるが、スマートフォンまたは携帯電話)、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、ウェアラブル通信デバイス(例えば、ほかにも例はあるが、スマート腕時計またはスマート眼鏡)、IoTデバイス、または同様のタイプのデバイスを含んでもよい。プライマリユーザデバイス310は、本願明細書の他の箇所に記載されているように、環境300の他のデバイス1つ以上と通信してもよい。
本願明細書に記載されているように、セカンダリユーザデバイス320は、プライマリユーザデバイス310からの短距離ワイヤレス通信アドバタイズメント、および/またはプライマリユーザデバイス310からの短距離ワイヤレス通信アドバタイズメントへの応答を検出するように構成された任意の短距離ワイヤレス通信デバイスを含んでもよい。したがって、セカンダリユーザデバイス320は、プライマリユーザデバイス310と同様のタイプのデバイスを含んでもよい。
アプリケーションプラットフォーム330は、本願明細書の他の箇所に記載されているように、プライマリユーザデバイス310の継続的な発見を促進するように構成されたアプリケーションに関連する情報を受信、生成、記憶、処理、提供、および/またはルーティングできる1つ以上のデバイスを含む。例として、アプリケーションプラットフォーム330は、本願明細書に記載されているように、短距離ワイヤレス通信、短距離ワイヤレス通信接続、および/または短距離ワイヤレス通信デバイスに関連するアクティビティを収集および/または監視するように構成されたアプリケーションのバックエンドシステムに関連してもよい。アプリケーションプラットフォーム330は、通信デバイスおよび/またはコンピューティングデバイスを含んでもよい。例として、アプリケーションプラットフォーム330は、サーバ、アプリケーションサーバ、クライアントサーバ、ウェブサーバ、データベースサーバ、ホストサーバ、プロキシサーバ、(例えばコンピューティングハードウェア上で実行する)仮想サーバ、クラウドコンピューティングシステム内のサーバ、クラウドコンピューティング環境で使用されるコンピューティングハードウェアを含むデバイス、または同様のタイプのデバイスを含んでもよい。アプリケーションプラットフォーム330は、本願明細書の他の箇所に記載されているように、環境300の他の1つ以上のデバイスと通信してもよい。
ネットワーク340は、1つ以上の有線ネットワークおよび/またはワイヤレスネットワークを含む。例としてネットワーク340は、セルラネットワーク(例えば第5世代(5G:fifth generation)ネットワーク、第4世代(4G:fourth generation)ネットワーク、ロングタームエボリューション(LTE:long-term evolution)ネットワーク、第3世代(3G:third generation)ネットワーク、符号分割多元接続(CDMA:code division multiple access)ネットワークなど)、公衆陸上モバイルネットワーク(PLMN:public land mobile network)、ローカルエリアネットワーク(LAN:local area network)、ワイドエリアネットワーク(WAN:wide area network)、メトロポリタンエリアネットワーク(MAN:metropolitan area network)、電話網(例えば公衆交換電話網(PSTN:Public Switched Telephone Network))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワーク、および/もしくは同様のもの、ならびに/またはこれらもしくはその他のタイプのネットワークの組み合わせを含んでもよい。ネットワーク340は、環境300のデバイス間での通信を可能にする。
図3に示されたデバイスおよびネットワークの数および配置は、例として示されている。実際には、図3に示されたものと比べて、追加のデバイスおよび/もしくはネットワーク、より少数のデバイスおよび/もしくはネットワーク、異なるデバイスおよび/もしくはネットワーク、または別様に配置されたデバイスおよび/もしくはネットワークがあってもよい。さらに、図3に示されている2つ以上のデバイスが単一のデバイスの中に実装されてもよく、または図3に示されている単一のデバイスが複数の分散型デバイスとして実装されてもよい。さらに、または代わりに、環境300のデバイスのセット(例えば1つ以上のデバイス)が、環境300のデバイスの別のセットにより実行されるものとして記載されている1つ以上の機能を実行してもよい。
図4は、プライマリユーザデバイス310および/またはセカンダリユーザデバイス320に対応してもよいデバイス400の例示のコンポーネントの図である。一部の実装において、プライマリユーザデバイス310および/またはセカンダリユーザデバイス320は、1つ以上のデバイス400および/またはデバイス400の1つ以上のコンポーネントを含んでもよい。図4に示されているように、デバイス400は、バス410、プロセッサ420、メモリ430、ストレージコンポーネント440、入力コンポーネント450、出力コンポーネント460、および通信インターフェース470を含んでもよい。
バス410は、デバイス400のコンポーネント間の有線および/またはワイヤレス通信を可能にするコンポーネントを含む。プロセッサ420は、中央処理ユニット、グラフィックス処理ユニット、マイクロプロセッサ、コントローラ、マイクロコントローラ、デジタル信号プロセッサ、フィールドプログラマブルゲートアレイ、特定用途向け集積回路、および/または別のタイプの処理コンポーネントを含む。プロセッサ420は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせにおいて実装される。一部の実装において、プロセッサ420は、機能を実行するようにプログラムできる1つ以上のプロセッサを含む。メモリ430は、ランダムアクセスメモリ)、読み取り専用メモリ、および/または別のタイプのメモリ(例えばフラッシュメモリ、磁気メモリ、および/または光学メモリ)を含む。
ストレージコンポーネント440は、デバイス400の動作に関係する情報および/またはソフトウェアを記憶する。例として、ストレージコンポーネント440は、ハードディスクドライブ、磁気ディスクドライブ、光学ディスクドライブ、ソリッドステートディスクドライブ、コンパクトディスク、デジタル多用途ディスク、および/または別のタイプの非一時的コンピュータ可読媒体を含んでもよい。入力コンポーネント450は、デバイス400が、ユーザ入力および/または感知された入力などの入力を受信することを可能にする。例として、入力コンポーネント450は、タッチスクリーン、キーボード、キーパッド、マウス、ボタン、マイク、スイッチ、センサ、グローバルポジショニングシステムコンポーネント、加速度計、ジャイロスコープ、アクチュエータ、および/または同様のものを含んでもよい。出力コンポーネント460は、デバイス400が、ディスプレイ、スピーカ、および/または1つ以上の発光ダイオードなどを介して出力を提供することを可能にする。通信インターフェース470は、有線接続および/またはワイヤレス接続などを介して、デバイス400が他のデバイスと通信することを可能にする。例として、通信インターフェース470は、受信機、送信機、トランシーバ、モデム、ネットワークインターフェースカード、アンテナ、および/または同様のものを含んでもよい。
デバイス400は、本願明細書に記載された1つ以上のプロセスを実行してもよい。例として、非一時的コンピュータ可読媒体(例えばメモリ430および/またはストレージコンポーネント440)は、プロセッサ420により実行される命令のセット(例えば1つ以上の命令、コード、ソフトウェアコード、プログラムコード、および/または同様のもの)を記憶してもよい。プロセッサ420は、命令のセットを実行して、本願明細書に記載された1つ以上のプロセスを実行してもよい。一部の実装において、1つ以上のプロセッサ420による命令のセットの実行は、1つ以上のプロセッサ420および/またはデバイス400に、本願明細書に記載された1つ以上のプロセスを実行させる。一部の実装において、本願明細書に記載の1つ以上のプロセスを実行するために、配線による回路構成が、命令の代わりに、または命令と組み合わせて使用されてもよい。したがって、本願明細書に記載された実装は、ハードウェア回路構成とソフトウェアとのいかなる特定の組み合わせにも限定されない。
図4に示されたコンポーネントの数および配置は、例として示されている。デバイス400は、図4に示されたものと比べて、追加のコンポーネント、より少数のコンポーネント、異なるコンポーネント、または別様に配置されたコンポーネントを含んでもよい。さらに、または代わりに、デバイス400のコンポーネントのセット(例えば1つ以上のコンポーネント)が、デバイス400のコンポーネントの別のセットにより実行されるものとして記載されている1つ以上の機能を実行してもよい。
図5は、バックグラウンドアプリケーションを使用したユーザデバイスの継続的な短距離ワイヤレス通信検出に関連する例示のプロセス500のフローチャートである。一部の実装において、図5の1つ以上のプロセスブロックは、ユーザデバイス(例えばプライマリユーザデバイス310、セカンダリユーザデバイス320、および/または同様のもの)により実行されてもよい。さらに、または代わりに、図5の1つ以上のプロセスブロックは、プロセッサ420、メモリ430、ストレージコンポーネント440、入力コンポーネント450、出力コンポーネント460、通信インターフェース470、および/または同様のものなど、デバイス400の1つ以上のコンポーネントによって実行されてもよい。
図5に示されているように、プロセス500は、短距離ワイヤレス通信プロトコルに関連するアドバタイズメントを送信することを含んでもよく、アドバタイズメントは、アプリケーションセッションの継続的発見モードに関連して送信される(ブロック510)。例としてユーザデバイスは、上述のように、短距離ワイヤレス通信プロトコルに関連するアドバタイズメントを送信してもよい。一部の実装において、アドバタイズメントは、アプリケーションセッションの継続的発見モードに関連して送信される。
図5にさらに示されているように、プロセス500は、アプリケーションセッションに関連するバックグラウンドイベントを検出することを含んでもよい(ブロック520)。例としてユーザデバイスは、上述のように、アプリケーションセッションに関連するバックグラウンドイベントを検出してもよい。
図5にさらに示されているように、プロセス500は、バックグラウンドイベントを検出することに基づいて、アプリケーションセッションをバックグラウンド状態で実行することを含んでもよい(ブロック530)。例としてユーザデバイスは、上述のように、バックグラウンドイベントを検出することに基づいて、アプリケーションセッションをバックグラウンド状態で実行してもよい。
図5にさらに示されているように、プロセス500は、アプリケーションセッションに関連する出力ストリームを処理することを含んでもよく、出力ストリームは、継続的発見モードでアプリケーションセッションを実行することに関連する(ブロック540)。例としてユーザデバイスは、上述のように、アプリケーションセッションに関連する出力ストリームを処理してもよい。一部の実装において、出力ストリームは、継続的発見モードでアプリケーションセッションを実行することに関連する。
図5にさらに示されているように、プロセス500は、アプリケーションセッションがバックグラウンド状態で実行している間、出力ストリームに関連するミュートされたオーディオコンテンツを提供することに関連して出力コンポーネントを制御することを含んでもよく、ミュートされたオーディオコンテンツは、デバイスのオペレーティングシステムがバックグラウンドイベントから閾値期間後にアプリケーションセッションを停止するのを妨げて、継続的発見モードに関連するアドバタイズメントの送信が継続できるようにするために提供される(ブロック550)。例としてユーザデバイスは、上述のように、アプリケーションセッションがバックグラウンド状態で実行している間、出力ストリームに関連するミュートされたオーディオコンテンツを提供することに関連して出力コンポーネントを制御してもよい。一部の実装において、ミュートされたオーディオコンテンツは、デバイスのオペレーティングシステムがバックグラウンドイベントから閾値期間後にアプリケーションセッションを停止するのを妨げて、継続的発見モードに関連するアドバタイズメントの送信が継続できるようにするために提供される。
プロセス500は、後述され、且つ/または本願明細書の他の箇所に記載された他の1つ以上のプロセスに関連して記載される、任意の単一の実装または複数実装の任意の組み合わせなど、追加の実装を含んでもよい。
第1の実装において、アドバタイズメントは、アプリケーションセッションを開始することに関連する第1のユーザ入力を受信することに基づいて送信され、継続的発見モードは、アプリケーションセッションに関連する第2のユーザ入力に基づいてアクティブ化される。
第2の実装単体、または第1の実装と組み合わされた第2の実装において、アドバタイズメントは、デバイスを、アドバタイズメントを受信する別のデバイスが発見できるようにする、デバイスに関連するデバイス識別子、またはアプリケーションセッションに関連するユーザに関連し、別のデバイスがユーザを識別できるようにするユーザ識別子のうちの少なくとも1つを含む。
第3の実装単体、または第1および第2の実装の1つ以上と組み合わされた第3の実装において、出力ストリームは、第1の出力ストリームであり、プロセス500は、第2の出力ストリームに関連するオーディオコンテンツを出力コンポーネントが出力することを決定することと、混合されたストリームを形成するために第1の出力ストリームと第2の出力ストリームとを混合することと、ミュートされたオーディオコンテンツおよびオーディオコンテンツの両方を提供するために、混合されたストリームを出力するよう出力コンポーネントを制御することと、を含んでもよい。
第4の実装単体、または第1~第3の実装の1つ以上と組み合わされた第4の実装において、出力コンポーネントを制御することは、デバイスのオペレーティングシステムに、メイン処理スレッドを使用して出力ストリームを出力コンポーネントに提供させることを含んでもよく、出力ストリームを出力コンポーネントに提供するためにメイン処理スレッドが使用されていることに基づいて、オペレーティングシステムは、バックグラウンド状態のアプリケーションセッションを停止するのを妨げられる。
第5の実装単体、または第1~第4の実装の1つ以上と組み合わされた第5の実装において、オペレーティングシステムは、アプリケーションセッションがデバイスの1つ以上の出力コンポーネントを使用していない限り、閾値期間後、バックグラウンド状態で動いているアプリケーションセッションを停止するように構成されてもよく、出力コンポーネントは、1つ以上の出力コンポーネントのうちの1つである。
第6の実装単体、または第1~第5の実装の1つ以上と組み合わされた第6の実装において、プロセス500は、アプリケーションセッションがバックグラウンド状態で実行している間に、アドバタイズメントに関連する応答を受信することであって、応答は、別のデバイスから短距離ワイヤレス通信プロトコルを介して受信される、受信することと、デバイスと別のデバイスとの間の通信セッションを可能にするために、別のデバイスとの短距離ワイヤレス通信接続を確立することと、を含む。
図5はプロセス500の例示のブロックを示すが、一部の実装ではプロセス500は、図5に示されたものと比べて追加のブロック、より少数のブロック、異なるブロック、または別様に配置されたブロックを含んでもよい。さらに、または代わりに、プロセス500のブロックの2つ以上が並列実行されてもよい。
前述の開示は、例示および説明を提供するが、網羅的であることも、実装を開示された厳密な形態に限定することも意図していない。上記の開示を考慮して変更が加えられてもよく、または実装の実践から変更が習得される可能性もある。
本願明細書で使用されるとき、「コンポーネント」という用語は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせとして広く解釈されるものとする。当然のことながら、本願明細書に記載されたシステムおよび/もしくは方法は、種々の形態のハードウェア、ファームウェア、ならびに/またはハードウェアとソフトウェアとの組み合わせに実装されてもよい。これらのシステムおよび/または方法を実装するために使用される実際の専用制御ハードウェアまたはソフトウェアコードは、実装を限定するものではない。したがって、システムおよび/または方法の動作および挙動は、特定のソフトウェアコードを参照することなく本願明細書に記載されているが、当然のことながら、ソフトウェアおよびハードウェアを、本願明細書の記載に基づくシステムおよび/または方法を実装するよう使用できる。
本願明細書で使用されるとき、閾値を満たすとは、文脈に応じて、値が閾値より大きいこと、閾値以上であること、閾値未満であること、閾値以下であること、閾値と等しいことなどを文脈に応じて指すことができる。
特徴の特定の組み合わせが特許請求の範囲に記載され且つ/または明細書で開示されるが、これらの組み合わせは様々な実装の開示を限定することを意図されたものではない。実際には、これらの特徴の多くが、具体的に特許請求の範囲に記載および/または明細書で開示されなかった形で組み合わされてもよい。下記に列挙される各従属クレームは、1つのみのクレームに直接従属するかもしれないが、様々な実装の開示は、クレームセット中の他のすべてのクレームと組み合わせた各従属クレームを含む。
本願明細書で使用されるいずれの構成要素、動作、または命令も、重要または必須とは、そのように明示的に記載されない限りは、解釈されてはならない。さらに、本願明細書で使用されるとき、冠詞「或る(aおよびan)」は、1つ以上の項目を含むものとし、「1つ以上の(one or more)」と交換可能なように使用され得る。さらに、本願明細書において使用されるとき、冠詞「この(the)」は、冠詞「この(the)」に関連して参照される1つ以上の項目を含むものとし、「1つ以上の(the one or more)」と交換可能なように使用され得る。さらに、本願明細書で使用されるとき、「セット(set)」という用語は、1つ以上の項目(例えば関係する項目、無関係の項目、関係する項目と無関係の項目との組み合わせなど)を含むものとし、「1つ以上の(one or more)」と交換可能なように使用され得る。1つのみの項目が意図される場合、「1つのみ(only one)」という語句または同様の文言が使用される。さらに、本願明細書で使用されるとき、「有する(has、have、having)」という用語または同様のものは、非限定的な用語であるものとする。さらに、「基づいて(based on)」という語句は、別段の記載が明示的にされない限り、「少なくとも部分的に基づいて(based,at least in part,on)」を意味するものとする。さらに、本願明細書で使用されるとき、「または(or)」という用語は、別段の記載(例えば、「いずれか(either)」または「のうちの1つのみ(only one of)」と組み合わせて使用される場合)が明示的になされない限り、連続する等位語句の中で使用される場合、非排他的であるものとし、「および/または(and/or)」と交換可能なように使用され得る。

Claims (20)

  1. 1つ以上のメモリと、
    前記1つ以上のメモリに通信結合された1つ以上のプロセッサと、
    を含むデバイスであって、前記1つ以上のプロセッサは、
    アプリケーションに関連するアプリケーションセッションを開始することと、
    前記アプリケーションセッション中に前記デバイスが発見されることができるようにすることに関連する継続的発見モードをアクティブ化することであって、
    前記継続的発見モードは、前記デバイスの短距離ワイヤレス通信コンポーネントにアドバタイズメントを繰り返し送信させる、
    前記アクティブ化することと、
    前記継続的発見モードがアクティブ化されることに基づき、前記アプリケーションセッションに関連する出力ストリームを取得することと、
    前記出力ストリームに従い出力コンポーネントを制御することと、
    バックグラウンド状態で前記アプリケーションセッションを実行することに関連するバックグラウンドイベントを検出することと、
    前記バックグラウンドイベントに基づいて、前記バックグラウンド状態で前記アプリケーションセッションを実行することと、
    前記出力ストリームに従い前記出力コンポーネントを制御することに基づいて、前記デバイスのオペレーティングシステムが前記バックグラウンド状態の前記アプリケーションセッションを停止するのを前記継続的発見モードが非アクティブ化されるまで妨げることと、
    をするように構成される、デバイス。
  2. 前記アプリケーションは、第1のユーザ入力を受信することに基づいて開始され、前記継続的発見モードは、前記第1のユーザ入力とは異なる第2のユーザ入力に基づいてアクティブ化される、請求項1に記載のデバイス。
  3. 前記1つ以上のプロセッサは、前記継続的発見モードをアクティブ化すると、
    前記デバイスに関連するデバイス識別子、または
    前記アプリケーションのユーザに関連するユーザ識別子
    のうちの少なくとも1つを含むように前記アドバタイズメントを構成するよう構成される、請求項1に記載のデバイス。
  4. 前記出力ストリームは、ミュートされたオーディオコンテンツに関連し、前記出力コンポーネントは、前記デバイスのスピーカである、または
    前記出力ストリームは、発光コンテンツに関連し、前記出力コンポーネントは、前記デバイスの発光体である、
    のうちの少なくとも一方である、請求項1に記載のデバイス。
  5. 前記1つ以上のプロセッサは、前記出力ストリームに従い前記出力コンポーネントを制御するとき、
    前記デバイスの前記オペレーティングシステムに、前記デバイスのメイン処理スレッドを使用して前記出力ストリームを前記出力コンポーネントに提供させるように構成され、
    前記出力ストリームを前記出力コンポーネントに提供するために前記メイン処理スレッドが使用されていることに基づいて、前記オペレーティングシステムは、前記バックグラウンド状態の前記アプリケーションセッションを停止するのを妨げられる、請求項1に記載のデバイス。
  6. 前記バックグラウンドイベントは、
    別のアプリケーションを開くこと、
    前記アプリケーションのグラフィカルユーザインターフェースの非アクティブ化、
    前記デバイスのディスプレイのシャットダウン、
    前記デバイスのロックモードのアクティブ化、または
    前記デバイスのスタンバイモードのアクティブ化
    のうちの少なくとも1つを含む、請求項1に記載のデバイス。
  7. 前記1つ以上のプロセッサは、前記デバイスの前記オペレーティングシステムが前記バックグラウンド状態の前記アプリケーションセッションを停止するのを妨げるとき、
    前記オペレーティングシステムに、前記バックグラウンドイベントを検出してから閾値期間後に前記バックグラウンド状態で前記アプリケーションセッションが実行できるようにさせるよう構成され、
    前記オペレーティングシステムは、前記デバイスの前記バックグラウンド状態で動いている進行中のアプリケーションセッションを、前記閾値期間後に停止するように事前に構成されている、請求項1に記載のデバイス。
  8. 短距離ワイヤレス通信プロトコルに関連するアドバタイズメントをデバイスによって送信するステップであって、
    前記アドバタイズメントは、アプリケーションセッション中に前記デバイスが発見されることができるようにすることに関連する継続的発見モードに関連して送信される、
    前記送信するステップと、
    前記アプリケーションセッションに関連するバックグラウンドイベントを前記デバイスによって検出するステップと、
    前記バックグラウンドイベントを検出するステップに基づいて、前記デバイスによって前記アプリケーションセッションをバックグラウンド状態で実行するステップと、
    前記アプリケーションセッションに関連する出力ストリームを前記デバイスによって処理するステップであって、
    前記出力ストリームは、前記継続的発見モードで前記アプリケーションセッションを実行することに関連する、
    前記処理するステップと、
    前記アプリケーションセッションが前記バックグラウンド状態で実行している間、前記出力ストリームに関連するミュートされたオーディオコンテンツを提供することに関連して前記デバイスによって出力コンポーネントを制御するステップであって、
    前記ミュートされたオーディオコンテンツは、前記デバイスのオペレーティングシステムが前記バックグラウンドイベントから閾値期間後に前記アプリケーションセッションを停止するのを妨げて、前記継続的発見モードに関連する前記アドバタイズメントの送信が継続できるようにするために提供される、
    前記制御するステップと、
    を含む方法。
  9. 前記アドバタイズメントは、前記アプリケーションセッションを開始することに関連する第1のユーザ入力を受信することに基づいて送信され、前記継続的発見モードは、前記アプリケーションセッションに関連する第2のユーザ入力に基づいてアクティブ化される、請求項8に記載の方法。
  10. 前記アドバタイズメントは、
    前記デバイスを、前記アドバタイズメントを受信する別のデバイスが発見できるようにする、前記デバイスに関連するデバイス識別子、または
    前記アプリケーションセッションに関連するユーザに関連し、前記別のデバイスが前記ユーザを識別できるようにするユーザ識別子
    のうちの少なくとも1つを含む、請求項8に記載の方法。
  11. 前記出力ストリームは、第1の出力ストリームであり、
    前記方法は、
    第2の出力ストリームに関連するオーディオコンテンツを前記出力コンポーネントが出力することを決定するステップであって、
    前記第2の出力ストリームは、前記デバイス上で実行しているオーディオアプリケーションセッションに関連する、
    前記決定するステップと、
    混合されたストリームを形成するために前記第1の出力ストリームと前記第2の出力ストリームとを混合するステップと、
    前記ミュートされたオーディオコンテンツおよび前記オーディオコンテンツの両方を提供するために、前記混合されたストリームを出力するよう前記出力コンポーネントを制御するステップと、
    をさらに含む、請求項8に記載の方法。
  12. 前記出力コンポーネントを制御するステップは、
    前記デバイスの前記オペレーティングシステムに、メイン処理スレッドを使用して前記出力ストリームを前記出力コンポーネントに提供させるステップ
    を含み、
    前記出力ストリームを前記出力コンポーネントに提供するために前記メイン処理スレッドが使用されていることに基づいて、前記オペレーティングシステムは、前記バックグラウンド状態の前記アプリケーションセッションを停止するのを妨げられる、請求項8に記載の方法。
  13. 前記オペレーティングシステムは、
    前記アプリケーションセッションが前記デバイスの1つ以上の出力コンポーネントを使用していない限り、前記閾値期間後、前記バックグラウンド状態で動いているアプリケーションセッションを停止するように構成され、
    前記出力コンポーネントは、前記1つ以上の出力コンポーネントのうちの1つである、請求項8に記載の方法。
  14. 前記アプリケーションセッションが前記バックグラウンド状態で実行している間に、前記アドバタイズメントに関連する応答を受信するステップであって、
    前記応答は、別のデバイスから前記短距離ワイヤレス通信プロトコルを介して受信される、
    前記受信するステップと、
    前記デバイスと前記別のデバイスとの間の通信セッションを可能にするために、前記別のデバイスとの短距離ワイヤレス通信接続を確立するステップと、
    をさらに含む、請求項8に記載の方法。
  15. 命令を記憶する非一時的コンピュータ可読媒体であって、前記命令は、
    1つ以上の命令
    を含み、前記1つ以上の命令は、1つ以上のプロセッサにより実行されると前記1つ以上のプロセッサに、
    アプリケーションセッションに関連する出力ストリームを受信することであって、
    前記出力ストリームは、出力コンポーネントを介する知覚不能なコンテンツに関連する、
    前記受信することと、
    前記アプリケーションセッションに関連するアドバタイズメントを、短距離ワイヤレス通信コンポーネントを介して送信することと、
    前記出力ストリームを前記出力コンポーネントに提供するように、前記アプリケーションセッションの実行に関連するメイン処理スレッドを構成することであって、
    前記メイン処理スレッドは、
    前記出力コンポーネントを、前記知覚不能なコンテンツに関連して動作させること、および
    前記アプリケーションセッションがバックグラウンド状態で実行している間、オペレーティングシステムが前記アプリケーションセッションを停止するのを妨げること
    のために前記出力ストリームを提供するよう構成される、
    前記構成することと、
    をさせる、非一時的コンピュータ可読媒体。
  16. 前記出力ストリームは、前記アプリケーションセッション中に前記アドバタイズメントを繰り返し送信させるために継続的発見モードがアクティブ化されることに基づいて受信される、請求項15に記載の非一時的コンピュータ可読媒体。
  17. 前記知覚不能なコンテンツは、ミュートされたオーディオコンテンツであり、前記出力コンポーネントは、スピーカを含む、請求項15に記載の非一時的コンピュータ可読媒体。
  18. 前記アプリケーションセッションは、第1のアプリケーションセッションであり、前記出力ストリームは、第1の出力ストリームであり、
    前記1つ以上の命令は、前記1つ以上のプロセッサにより実行されると前記1つ以上のプロセッサにさらに、
    第2の出力ストリームに関連するオーディオコンテンツを前記出力コンポーネントが提供することを決定することであって、
    前記第2の出力ストリームは、実行している第2のアプリケーションセッションに関連する、
    前記決定することと、
    前記出力コンポーネントに提供されると前記出力コンポーネントに前記知覚不能なコンテンツおよび前記オーディオコンテンツを出力させる混合されたストリームを形成するために、前記第1の出力ストリームが前記第2の出力ストリームと結合されることを可能にすることと、
    をさせる、請求項17に記載の非一時的コンピュータ可読媒体。
  19. 前記知覚不能なコンテンツは、発光コンテンツであり、前記出力コンポーネントは、発光体を含む、請求項15に記載の非一時的コンピュータ可読媒体。
  20. 前記短距離ワイヤレス通信コンポーネントは、BLUETOOTH(登録商標)Low-Energy(BLE)コンポーネントを含む、請求項15に記載の非一時的コンピュータ可読媒体。
JP2021065928A 2020-05-14 2021-04-08 バックグラウンドアプリケーションを使用したユーザデバイスの継続的な短距離ワイヤレス通信検出 Active JP7219300B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063024843P 2020-05-14 2020-05-14
US63/024,843 2020-05-14
US16/983,482 2020-08-03
US16/983,482 US10863580B1 (en) 2020-05-14 2020-08-03 Continuous short range wireless communication detection for user devices using a background application

Publications (2)

Publication Number Publication Date
JP2021193551A JP2021193551A (ja) 2021-12-23
JP7219300B2 true JP7219300B2 (ja) 2023-02-07

Family

ID=73653695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021065928A Active JP7219300B2 (ja) 2020-05-14 2021-04-08 バックグラウンドアプリケーションを使用したユーザデバイスの継続的な短距離ワイヤレス通信検出

Country Status (4)

Country Link
US (1) US10863580B1 (ja)
EP (1) EP3910972B1 (ja)
JP (1) JP7219300B2 (ja)
CN (1) CN113676943A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11418839B2 (en) * 2020-07-22 2022-08-16 Dell Products L.P. Automatic media control

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080279137A1 (en) 2007-05-10 2008-11-13 Nokia Corporation Discontinuous inquiry for wireless communication
JP2013240011A (ja) 2012-05-17 2013-11-28 Denso Corp 携帯通信端末
US20130336311A1 (en) 2012-06-14 2013-12-19 Microsoft Corporation Notification of Communication Events

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110252423A1 (en) * 2010-04-07 2011-10-13 Apple Inc. Opportunistic Multitasking
CN103713886B (zh) * 2012-09-29 2017-11-10 腾讯科技(深圳)有限公司 一种数据处理设备中的提醒装置及其提醒处理方法
US9100421B2 (en) * 2012-11-12 2015-08-04 International Business Machines Corporation Enterprise application session control and monitoring in a large distributed environment
KR102691293B1 (ko) * 2016-07-29 2024-08-05 삼성전자 주식회사 전자 장치의 전력 소모 감소를 위한 방법 및 장치
US10948593B2 (en) * 2018-06-22 2021-03-16 Citrix Systems, Inc. System for determining distance between fixed and mobile endpoints and related methods

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080279137A1 (en) 2007-05-10 2008-11-13 Nokia Corporation Discontinuous inquiry for wireless communication
JP2013240011A (ja) 2012-05-17 2013-11-28 Denso Corp 携帯通信端末
US20130336311A1 (en) 2012-06-14 2013-12-19 Microsoft Corporation Notification of Communication Events

Also Published As

Publication number Publication date
CN113676943A (zh) 2021-11-19
EP3910972A1 (en) 2021-11-17
JP2021193551A (ja) 2021-12-23
US10863580B1 (en) 2020-12-08
EP3910972B1 (en) 2024-01-17

Similar Documents

Publication Publication Date Title
US10306539B2 (en) Wireless network host in silent mode
US10609646B2 (en) Intelligent management of a plurality of communications links
US20210345224A1 (en) Systems and methods for wirelessly modifying detection characteristics of portable devices
CN110691014B (zh) 用于自动化环境的协调器设备的选择
KR102577358B1 (ko) 다중 주파수 대역을 이용한 통신 방법 및 장치
EP2820780B1 (en) Peer-to-peer discovery
US9301087B1 (en) Method and apparatus for connecting a bluetooth device
CN111935652A (zh) 在无线通信网络中广播设备状态
CN111447602B (zh) 蓝牙设备及其蓝牙抢占方法和装置、计算机可读存储介质
KR20130097556A (ko) 다중 모드 단말 및 이의 동작 모드 제어 장치와 방법
KR20150132271A (ko) 소프트웨어-인에이블링된 액세스 포인트에 의한 지능형 비커닝
US20150365521A1 (en) Dynamic Resource Adjustment for Establishing and Maintaining a Call of Interest
US9088982B2 (en) Beacon frame data transmission rate adjustment
JP7219300B2 (ja) バックグラウンドアプリケーションを使用したユーザデバイスの継続的な短距離ワイヤレス通信検出
KR101499307B1 (ko) 액티브 상태와 슬립 상태 간을 천이함으로써 전력 절약을 구현하는 무선 개인 영역 네트워크 (pan) 조정자
US11153748B2 (en) Secure system and method for onboarding router
WO2023151423A1 (zh) 设备连接方法、装置、设备及存储介质
WO2023196397A1 (en) Proximity-based connection for bluetooth devices
CN115714960A (zh) 用于控制无线设备的广播的方法、装置、电子设备和介质
CN105787338A (zh) 一种信息处理方法和第一电子设备
WO2016118259A1 (en) Cooperative acquisition by a local area network server of wide area network access information from wireless communication devices
CN113873684B (zh) 基于局域网的连接建立方法、装置、终端设备及存储介质
EP3672294A1 (en) Method of positioning through gps and bluetooth low energy
US20240284169A1 (en) Bluetooth random address generation method and related electronic device
WO2016187789A1 (zh) 一种射频接口扩展的冲突解决方法、装置、dh及nfcc

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20210909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220705

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20221003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20221201

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230126

R150 Certificate of patent or registration of utility model

Ref document number: 7219300

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150