JP2015201784A - コンピュータプログラム、情報処理装置及び処理実行方法 - Google Patents

コンピュータプログラム、情報処理装置及び処理実行方法 Download PDF

Info

Publication number
JP2015201784A
JP2015201784A JP2014080125A JP2014080125A JP2015201784A JP 2015201784 A JP2015201784 A JP 2015201784A JP 2014080125 A JP2014080125 A JP 2014080125A JP 2014080125 A JP2014080125 A JP 2014080125A JP 2015201784 A JP2015201784 A JP 2015201784A
Authority
JP
Japan
Prior art keywords
state
communication connection
application
background
execution
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.)
Granted
Application number
JP2014080125A
Other languages
English (en)
Other versions
JP6403976B2 (ja
Inventor
宗幸 信田
Muneyuki Shinoda
宗幸 信田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alpine Electronics Inc
Original Assignee
Alpine Electronics Inc
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 Alpine Electronics Inc filed Critical Alpine Electronics Inc
Priority to JP2014080125A priority Critical patent/JP6403976B2/ja
Priority to US14/639,751 priority patent/US9710301B2/en
Publication of JP2015201784A publication Critical patent/JP2015201784A/ja
Application granted granted Critical
Publication of JP6403976B2 publication Critical patent/JP6403976B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Abstract

【課題】外部装置との間の通信コネクションを通信コネクションの接続状態の管理を適正に行える「コンピュータプログラム、情報処理装置及び処理実行方法」を提供する。
【解決手段】オペレーティングシステム105は、アプリケーション110をバックグランド状態(403)に遷移させると(414)、アプリケーション110にバックグランド遷移通知(415)を発行する。このバックグランド遷移通知(415)を受け取ったアプリケーション110は、管理している外部のアクセサリ装置2との間の通信コネクションが接続中状態である場合には、オペレーティングシステム105を介してアクセサリ装置2との間に確立されている通信コネクションを切断し(432)、管理している通信コネクションの状態を切断中状態とする。
【選択図】図4

Description

本発明は、モバイルコンピュータで実行されるアプリケーションにおいて外部装置との通信状態を管理する技術に関するものである。
マルチタスク機能を備えたモバイルコンピュータのオペレーティングシステムとしては、アプリケーションの実行状態をフォアグランド状態とバックグランド状態とサスペンデッド状態との間で遷移させながら、複数のアプリケーションを動作させるオペレーティングシステムが知られている(たとえば、特許文献1)。
ここで、フォアグランド状態とは、アプリケーションが、ウインドウの表示やユーザ操作の受け付けなどユーザインタフェースを提供しながら処理を行える形態で実行されている状態であり、バックグランド状態とはユーザインタフェースを提供できない形態でアプリケーションが実行されている状態であり、サスペンデッド状態とは、アプリケーションがロードされてはいるものの、そのコードの実行が停止されている状態である。
ここで、フォアグランド状態で実行されるアプリケーションは一つに制限されており、オペレーティングシステムによって各アプリケーションの実行状態をたとえば次のように制御される。
すなわち、ユーザ操作等に応じて、オペレーティングシステムは、フォアグランド状態とするアプリケーションを切り替える。また、オペレーティングシステムは、フォアグランド状態とするアプリケーションを切り替えるときに、それまでフォアグランド状態で実行されていたアプリケーションの実行状態を、バックグランド状態に遷移する。また、オペレーティングシステムは、バックグランド状態で継続した処理を行わないアプリケーションについては、バックグランド状態に遷移させた後、所定期間経過後などの所定の契機で、その実行状態をサスペンデッド状態に遷移する。
特開2006-209560号公報
さて、上述のようにアプリケーションの実行状態をフォアグランド状態とバックグランド状態とサスペンデッド状態との間で遷移させるオペレーティングシステム上で実行されるアプリケーションが、フォアグランド状態において、外部装置との間に接続した通信コネクションを用いて処理を行うものである場合、次のような問題が生じる場合がある。
すなわち、フォアグランド状態で外部装置との間に接続した通信コネクションを用いて処理を行っていたアプリケーションは、フォアグランド状態からバックグランド状態に遷移した後も、通信コネクションの接続状態は維持されるので、そのまま当該通信コネクションの接続状態を接続中として管理する。
そして、その後、アプリケーションがバックグランド状態からサスペンデッド状態に遷移すると、当該アプリケーションはサスペンデッド状態では実行を停止するために、サスペンデッド状態である期間中に当該アプリケーションが管理している当該通信コネクションの接続状態が接続中のまま凍結されることとなる。
一方で、アプリケーションがバックグランド状態からサスペンデッド状態に遷移すると、当該アプリケーションが実質的に非動作状態となったことや、当該アプリケーションが外部装置に対して非動作状態となったこと等に起因して、外部装置やオペレーティングシステムによって当該アプリケーションが使用していた通信コネクションが切断される場合がある。
そして、このような場合、アプリケーションがサスペンデッド状態からバックグランド状態やフォアグランド状態に遷移した直後に、通信コネクションが切断されているにも関わらずに、アプリケーションが通信コネクションの接続状態を接続中として認識する不整合が生じることとなり、当該不整合によってアプリケーションの誤動作が生じることがある。
そこで、本発明は、フォアグランド状態とバックグランド状態とサスペンデッド状態との間で遷移する、フォアグランド状態において外部装置との間の通信コネクションを用いて処理を行うアプリケーションにおいて、通信コネクションの接続状態の管理を適正に行えるようにすることを課題とする。
前記課題達成のために、本発明は、オペレーティングシステムを備えたコンピュータによって読み取られ実行され、前記コンピュータを、前記オペレーティングシステム上で稼働するアプリケーションとして機能させるコンピュータプログラムを提供する。ただし、前記オペレーティングシステムは、前記アプリケーションの稼働中、当該アプリケーションの実行状態を、フォアグランドで当該アプリケーションが実行されるフォアグランド状態と、バックグランドで当該アプリケーションが実行されるバックグランド状態と、当該アプリケーションの実行が停止されるサスペンデッド状態の間で遷移させながら制御するものである。また、前記アプリケーションは、実行状態がフォアグランド状態にあるときに、外部装置との間に確立された通信コネクションを用いて処理を行う通信コネクション利用処理部と、前記通信コネクションの接続中の有無を表す接続状態情報を保存すると共に、フォアグランド状態にあるときとバックグランド状態にあるときとに発生した前記通信コネクションの接続中の有無の状態の変化に応じて、前記接続状態情報を更新する通信コネクション管理部と、実行状態がバックグランド状態に遷移したときに、外部装置との間に通信コネクションが接続されている場合に当該通信コネクションを切断する通信コネクション切断部とを備えたものである。
このようなコンピュータプログラムによるアプリケーションによれば、アプリケーションがバックグランド状態に遷移すると、アプリケーションがサスペンデッド状態に遷移する前に外部装置との間の通信コネクションは必ず切断され、接続状態情報が表す通信コネクションの状態は非接続中に更新される。また、アプリケーションがサスペンデッド状態に遷移するときには、既に通信コネクションは切断されているので、当該サスペンデッド状態の期間中に、当該アプリケーションと外部装置との間の通信コネクションの状態の変更が行われることもない。
よって、サスペンデッド状態からフォアグランド状態に復帰したときに、接続状態情報で管理している通信コネクションの状態と、現実の通信コネクションの状態との間に不整合が生じることが抑止される。
ここで、このようなコンピュータプログラムは、前記アプリケーションに、バックグランド状態で継続的な動作を行うか行わないかが選択的に設定する継続動作有無設定部を備え、前記アプリケーションの通信コネクション切断部において、実行状態がバックグランド状態に遷移したときに、当該アプリケーションがバックグランド状態で継続的な動作を行うよう設定されている場合には、外部装置との間に通信コネクションが接続されている場合であっても当該通信コネクションを切断せず、実行状態がバックグランド状態に遷移したときに、当該アプリケーションがバックグランド状態で継続的な動作を行わないよう設定されており、かつ、外部装置との間に通信コネクションが接続されている場合にのみ当該通信コネクションを切断するように構成してもよい。
このようにすることにより、アプリケーションがバックグランド状態で継続的な動作を行わないために、アプリケーションがサスペンデッド状態に遷移する可能性がある場合、すなわち、外部装置との間の通信コネクションを切断しないと、接続状態情報で管理している通信コネクションの状態と現実の通信コネクションの状態との間に不整合が生じる可能性がある場合のみ、外部装置との間の通信コネクションを切断することができる。
また、このようなコンピュータプログラムにおいて、前記アプリケーションは、実行状態がフォアグランド状態に遷移したときに、前記接続状態情報が外部装置との間に通信コネクションが接続されていないことを表している場合に、外部装置との間の通信コネクションを接続する通信コネクション接続部を備えていてもよい。
ここで、前記課題達成のために、本発明は、以上のようなコンピュータプログラムによるアプリケーションを備えた情報処理装置や、以上のようなコンピュータプログラムによるアプリケーションの処理実行方法も併せて提供する。
以上のように、本発明によれば、フォアグランド状態とバックグランド状態とサスペンデッド状態との間で遷移する、フォアグランド状態において外部装置との間の通信コネクションを用いて処理を行うアプリケーションにおいて、通信コネクションの接続状態の管理を適正に行えるようになる。
本発明の実施形態に係るモバイル装置の構成を示すブロック図である。 本発明の実施形態に係るアプリケーションの状態遷移例を示す図である。 本発明の実施形態に係るバックグランド移行準備処理を示すフローチャートである。 本発明の実施形態に係るアプリケーションの動作例を示す図である。 本発明の実施形態に係るバックグランド移行準備処理の他の例を示すフローチャートである。
以下、本発明の実施形態について説明する。
図1に本実施形態に係るモバイル装置の構成を示す。
図示するように、モバイル装置1は入力装置101、表示装置102、マイクやスピーカなどを備えた音声入出力装置103、外部のアクセサリ装置2を接続可能な外部インタフェース104、オペレーティングシステム105、外部記憶装置として機能する記憶装置106、主記憶装置として機能するメモリ107、移動通信網に接続するための移動通信装置108、その他の周辺装置109、オペレーティングシステム105上で稼働する各種のアプリケーション110とを備えている。
ここで、外部インタフェース104は、USBなどの有線通信インタフェースや、Bluetooth(登録商標)やWi-Fi(IEE802.11シリーズ)などの無線通信インタフェースで外部のアクセサリ装置2と接続するインタフェース装置である。
また、モバイル装置1は、上述したアプリケーション110として、移動通信装置108や音声入出力装置103や入力装置103を用いた移動電話機能を提供する移動電話アプリケーションや、外部インタフェース104に接続されたアクセサリ装置2をリモート制御するためのリモート制御アプリケーションなどを備えている。
なお、モバイル装置1は、スマートフォンやタブレット装置などの携帯型の装置である。また、モバイル装置1は、ハードウエア的には、CPUやメモリ107などを備えたコンピュータを用いて構成されるものあり、オペレーティングシステム105や、アプリケーション110などは、当該コンピュータが、所定のコンピュータプログラムを実行することにより実現されるものである。また、アプリケーション110の実行は、オペレーティングシステム105の制御下で、記憶装置106に記憶された当該アプリケーション110のコンピュータプログラムをメモリ107にロードして実行することにより実現される。
次に、このようなモバイル装置1におけるオペレーティングシステム105のアプリケーション110の実行の制御について説明する。
オペレーティングシステム105は、マルチタスキングによって複数のアプリケーション110の実行を制御するオペレーティングシステム105であり、アプリケーション110を非動作状態、フォアグランド状態とバックグランド状態とサスペンデッド状態との間で遷移させながら、複数のアプリケーション110の実行を制御する。
ここで、非動作状態とはアプリケーション110が起動されていない状態であり非動作状態においてアプリケーション110はメモリ107にロードされていない。また、フォアグランド状態とは、メモリ107にロードされたアプリケーション110が、ウインドウの表示やユーザ操作の受け付けなどのユーザインタフェースを提供しながら処理を行える形態で実行されている状態であり、バックグランド状態とは、メモリ107にロードされたアプリケーション110がユーザインタフェースを提供できない形態で実行されている状態であり、サスペンデッド状態とは、アプリケーション110がメモリ107にロードされてはいるものの、そのコードの実行が停止されている状態である。
ここで、フォアグランド状態で実行されるアプリケーション110は一つに制限されており、オペレーティングシステム105によって各アプリケーション110の実行状態をたとえば次のように制御される。
すなわち、図2に示すように、非動作状態のアプリケーション110をユーザが起動すると、当該アプリケーション110は非動作状態からフォアグランド状態に遷移し動作を開始する。
そして、ユーザ操作等に応じて、オペレーティングシステム105が、フォアグランド状態とするアプリケーション110を他のアプリケーション110に切り替えるときや、モバイル装置1をスリープ状態に制御するときには、それまでフォアグランド状態で実行されていたアプリケーション110の実行状態はオペレーティングシステム105によってバックグランド状態に遷移させられる。
そして、オペレーティングシステム105は、バックグランド状態で継続した処理を行わないアプリケーション110については、バックグランド状態に遷移させた後、所定期間経過後などの所定の契機で実行状態をサスペンデッド状態に遷移する。一方、オペレーティングシステム105は、バックグランド状態で継続した処理を行わないアプリケーション110については、サスペンデッド状態への遷移は行わない。
また、オペレーティングシステム105は、モバイル装置1のメモリ107などのリソースが不足した場合には、サスペンデッド状態に遷移したアプリケーション110を非動作状態とし、アプリケーション110が使用していたメモリ107などのリソースを解放する。
一方、オペレーティングシステム105は、ユーザ操作等により、サスペンデッド状態にあるアプリケーション110のフォアグランド状態化の要求が発生すると、サスペンデッド状態にあるアプリケーション110をバックグランド状態とした後にフォアグランド状態化する。ただし、オペレーティングシステム105は、ユーザ操作等により、サスペンデッド状態にあるアプリケーション110のフォアグランド状態化の要求が発生すると、サスペンデッド状態にあるアプリケーション110を、直接、フォアグランド状態化するものであってもよい。
また、オペレーティングシステム105は、バックグランド状態で継続した処理を行うアプリケーション110については、バックグランド状態に遷移させた後、サスペンデッド状態には遷移させずにバックグランド状態を維持し、ユーザ操作等により、バックグランド状態にあるアプリケーション110のフォアグランド状態化の要求が発生すると、バックグランド状態にあるアプリケーション110をフォアグランド状態に復帰する。
以下、このようなモバイル装置1において、フォアグランド状態において外部インタフェース104に接続されたアクセサリ装置2との間に接続された通信コネクションを用いて処理を行うと共に、バックグランド状態で継続した処理を行わないアプリケーション110が、バックグランド状態に遷移したときに行うバックグランド移行準備処理について説明する。
ここで、このバックグランド移行準備処理は、オペレーティングシステム105がバックグランド状態に遷移したアプリケーション110に発行するバックグランド遷移通知を受信したときに、アプリケーション110が行う処理である。より具体的には、バックグランド遷移通知により呼び出されるアプリケーション110のメソッドにより、このバックグランド移行準備処理が実行される。
図3に、バックグランド状態で継続した処理を行わないアプリケーション110が行うバックグランド移行準備処理の手順を示す。
図示するように、この処理では、まず、アプリケーション110とアクセサリ装置2との間の通信コネクションが接続中であるかどうかを調べる(ステップ302)。
そして、アクセサリ装置2と通信コネクションが接続中でなければ、アプリケーション110の各種設定、状態の保存、使用していないメモリ領域の解放などの、バックグランド状態への移行の準備処処理を行って(ステップ306)、処理を終了する。
一方、アクセサリ装置2と通信コネクションが接続中である場合には(ステップ302)、まず、オペレーティングシステム105を介して、アクセサリ装置2と通信コネクションを切断する(ステップ304)。そして、アプリケーション110の各種設定や状態の保存、使用していないメモリ領域の解放などの、その他のバックグランド状態への移行の準備処処理を行って(ステップ306)、処理を終了する。
以上、アプリケーション110が行うバックグランド移行準備処理について説明した。
以下、このようなバックグランド移行準備処理を行うアプリケーション110の動作例を図4を用いて説明する。
図示するように、ユーザが非動作状態(401)のアプリケーション110の起動を指示すると、オペレーティングシステム105によって、当該アプリケーション110は起動されフォアグランド状態(402)に遷移する(411)。また、オペレーティングシステム105からアプリケーション110に起動通知(412)が発行される。
次に、フォアグランド状態(402)に遷移し、起動通知(412)を受け取ったアプリケーション110は、接続状態情報として管理している通信コネクションの状態の初期値は切断中状態であるので、オペレーティングシステム105を介してアクセサリ装置2との間の通信コネクションを確立する処理を行い(431)、通信コネクションが確立したならば、接続状態情報として管理している通信コネクションの状態を接続中状態とすると共に、当該通信コネクションを介したアクセサリ装置2との通信を利用した所定の処理を開始する。
なお、アクセサリ装置2とアプリケーション110との間の通信コネクションの確立は、アプリケーション110のフォアグランド状態の遷移時に、オペレーティングシステム105とアクセサリ装置2によって起動され行われるものとしてもよい。すなわち、たとえば、アプリケーション110がフォアグランド状態に遷移したときに、オペレーティングシステム105からアクセサリ装置2にアプリケーション110の起動を通知し、起動を通知されたアクセサリ装置2がアプリケーション110との間の通信コネクションを確立する処理をオペレーティングシステム105やアプリケーション110との間で行って通信コネクションを確立するようにしてもよい。
そして、その後、ユーザ操作等に応じて、オペレーティングシステム105が、フォアグランド状態とするアプリケーション110を他のアプリケーション110に切り替えるときや、モバイル装置1をスリープ状態に制御するときには、まず、オペレーティングシステム105によって、フォアグランド状態(402)にあるアプリケーション110に、バックグランド遷移予告(413)が通知される。
そして、その後、オペレーティングシステム105は、アプリケーション110をバックグランド状態(403)に遷移し(414)、アプリケーション110にバックグランド遷移通知(415)を発行する。
ここで、このバックグランド遷移通知(415)を受け取ったアプリケーション110は上述のようにバックグランド移行準備処理を実行し、当該時点で管理している通信コネクションの状態が接続中状態であるので、オペレーティングシステム105を介してアクセサリ装置2との間に確立されている通信コネクションを切断し(432)、接続状態情報として管理している通信コネクションの状態を切断中状態とする。
そして、その後、オペレーティングシステム105は、所定期間経過後などの所定の契機でアプリケーション110をサスペンデッド状態(404)に遷移する(416)。ここで、アプリケーション110は、サスペンデッド状態(404)への遷移に先だって、アプリケーション110にサスペンデッド状態への予告を発行することはない。
そして、アプリケーション110がサスペンデッド状態(404)にあるときに、ユーザ操作等によりアプリケーション110のフォアグランド状態化の要求が発生すると、オペレーティングシステム105は、サスペンデッド状態(404)にあるアプリケーション110をバックグランド状態(405)に遷移させ(417)、アプリケーション110にバックグランド起動通知(418)を発行する。
そして、オペレーティングシステム105は、バックグランド状態(405)にあるアプリケーション110に、フォアグランド遷移予告(419)を通知した後に、アプリケーション110をフォアグランド状態(406)に遷移させ(420)、フォアグランド遷移通知(421)をアプリケーション110に通知する。
フォアグランド状態(406)に遷移し、フォアグランド遷移通知(421)を受け取ったアプリケーション110は、当該時点で管理している通信コネクションの状態が切断中状態であるので、上述のように、オペレーティングシステム105を介してアクセサリ装置2との間の通信コネクションを確立する処理を行い(432)、通信コネクションが確立したならば、接続状態情報として管理している通信コネクションの状態を接続中状態とすると共に、当該通信コネクションを介したアクセサリ装置2との通信を利用した所定の処理を開始する。
なお、アプリケーション110は、バックグランド遷移通知以外の、オペレーティングシステム105からの上述した各種通知を受け取ったときにも、通知に応じた所定の処理を行う。より具体的には、当該通知によってオペレーティングシステム105が呼び出したアプリケーション110のメソッドに定義されている処理を行う。
以上、本発明の実施形態について説明した。
以上のように本実施形態によれば、アプリケーション110がバックグランド状態に遷移すると、アプリケーション110がサスペンデッド状態に遷移する前にアクセサリ装置2との間の通信コネクションは必ず切断され、接続状態情報が表す通信コネクションの状態は非接続中に更新される。また、アプリケーション110がサスペンデッド状態に遷移するときには、既に通信コネクションは切断されているので、当該サスペンデッド状態の期間中に、当該アプリケーション110とアクセサリ装置2との間の通信コネクションの状態の変更が行われることもない。
よって、サスペンデッド状態からフォアグランド状態に復帰したときに、接続状態情報で管理している通信コネクションの状態と、現実の通信コネクションの状態との間に不整合が生じることが抑止される。
なお、以上の実施形態は、フォアグランド状態での動作状態やユーザの設定等に応じて、バックグランド状態で継続した処理を行うか行わないかが選択的に設定されるアプリケーション110においては、バックグランド移行準備処理を図5に示すように行うようにしてもよい。なお、オペレーティングシステム105は、バックグランド状態で継続した処理を行うアプリケーション110については、その実行状態は、バックグランド状態からサスペンデッド状態に遷移しない。また、オペレーティングシステム105におけるバックグランド状態で継続した処理を行うアプリケーション110の識別は、たとえば、アプリケーション110からオペレーティングシステム105に、バックグランド状態で継続した処理を行うアプリケーション110が、バックグランド状態で継続した処理を行うアプリケーション110である旨を宣言すること等より行うことができる。
さて、図5に示したバックグランド移行準備処理では、まず、アプリケーション110はバックグランド状態で継続した処理を行うよう設定されているかどうかを調べる(ステップ502)。
そして、バックグランド状態で継続した処理を行うよう設定されている場合には(ステップ502)、アプリケーション110の各種設定や状態の保存、使用していないメモリ領域の解放などの、バックグランド状態への移行の準備処処理を行って(ステップ508)、処理を終了する。
一方、バックグランド状態で継続した処理を行うよう設定されていない場合には(ステップ502)、次に、アクセサリ装置2と通信コネクションが接続中であるかどうかを調べる(ステップ504)。
そして、アクセサリ装置2と通信コネクションが接続中でなければ(ステップ504)、アプリケーション110の各種設定や状態の保存、使用していないメモリ領域の解放などの、バックグランド状態への移行の準備処処理を行って(ステップ508)、処理を終了する。
一方、アクセサリ装置2と通信コネクションが接続中である場合には(ステップ504)、まず、オペレーティングシステム105を介して、アクセサリ装置2と通信コネクションを切断する(ステップ506)。そして、アプリケーション110の各種設定や状態の保存、使用していないメモリ領域の解放などの、その他のバックグランド状態への移行の準備処処理を行って(ステップ508)、処理を終了する。
図5のようにバックグランド移行準備処理を行うことにより、アプリケーション110がバックグランド状態で継続的な動作を行わないために、アプリケーション110がサスペンデッド状態に遷移する可能性がある場合、すなわち、アクセサリ装置2との間の通信コネクションを切断しないと、接続状態情報で管理している通信コネクションの状態と現実の通信コネクションの状態との間に不整合が生じる可能性がある場合のみ、外部装置との間の通信コネクションを切断するようにすることができる。
1…モバイル装置、2…アクセサリ装置、101…入力装置、102…表示装置、103…音声入出力装置、104…外部インタフェース、105…オペレーティングシステム、106…記憶装置、107…メモリ、108…移動通信装置、109…周辺装置、110…アプリケーション。

Claims (9)

  1. オペレーティングシステムを備えたコンピュータによって読み取られ実行されるコンピュータプログラムであって、
    前記コンピュータプログラムは、前記コンピュータを、前記オペレーティングシステム上で稼働するアプリケーションとして機能させ、
    前記オペレーティングシステムは、前記アプリケーションの稼働中、当該アプリケーションの実行状態を、フォアグランドで当該アプリケーションが実行されるフォアグランド状態と、バックグランドで当該アプリケーションが実行されるバックグランド状態と、当該アプリケーションの実行が停止されるサスペンデッド状態の間で遷移させながら制御し、
    前記アプリケーションは、
    実行状態がフォアグランド状態にあるときに、外部装置との間に確立された通信コネクションを用いて処理を行う通信コネクション利用処理部と、
    前記通信コネクションの接続中の有無を表す接続状態情報を保存すると共に、フォアグランド状態にあるときとバックグランド状態にあるときとに発生した前記通信コネクションの接続中の有無の状態の変化に応じて、前記接続状態情報を更新する通信コネクション管理部と、
    実行状態がバックグランド状態に遷移したときに、外部装置との間に通信コネクションが接続されている場合に当該通信コネクションを切断する通信コネクション切断部とを有することを特徴とするコンピュータプログラム。
  2. 請求項1記載のコンピュータプログラムであって、
    前記アプリケーションは、バックグランド状態で継続的な動作を行うか行わないかが選択的に設定する継続動作有無設定部を有し、
    前記アプリケーションの通信コネクション切断部は、
    実行状態がバックグランド状態に遷移したときに、当該アプリケーションがバックグランド状態で継続的な動作を行うよう設定されている場合には、外部装置との間に通信コネクションが接続されている場合であっても当該通信コネクションを切断せず、
    実行状態がバックグランド状態に遷移したときに、当該アプリケーションがバックグランド状態で継続的な動作を行わないよう設定されており、かつ、外部装置との間に通信コネクションが接続されている場合にのみ当該通信コネクションを切断することを特徴とするコンピュータプログラム。
  3. 請求項1または2記載のコンピュータプログラムであって、
    前記アプリケーションは、実行状態がフォアグランド状態に遷移したときに、外部装置との間に通信コネクションが接続されていない場合には、外部装置との間の通信コネクションを接続する通信コネクション接続部を有することを特徴とするコンピュータプログラム。
  4. 外部装置を接続可能な情報処理装置であって、
    オペレーティングシステムと、
    前記オペレーティングシステム上で稼働するアプリケーションとを備え、
    前記オペレーティングシステムは、前記アプリケーションの稼働中、当該アプリケーションの実行状態を、フォアグランドで当該アプリケーションが実行されるフォアグランド状態と、バックグランドで当該アプリケーションが実行されるバックグランド状態と、当該アプリケーションの実行が停止されるサスペンデッド状態の間で遷移させながら制御し、
    前記アプリケーションは、
    実行状態がフォアグランド状態にあるときに、外部装置との間に確立された通信コネクションを用いて処理を行う通信コネクション利用処理部と、
    前記通信コネクションの接続中の有無を表す接続状態情報を保存すると共に、フォアグランド状態にあるときとバックグランド状態にあるときとに発生した前記通信コネクションの接続中の有無の状態の変化に応じて、前記接続状態情報を更新する通信コネクション管理部と、
    実行状態がバックグランド状態に遷移したときに、外部装置との間に通信コネクションが接続されている場合に当該通信コネクションを切断する通信コネクション切断部とを有することを特徴とする情報処理装置。
  5. 請求項4記載の情報処理装置であって、
    前記アプリケーションは、バックグランド状態で継続的な動作を行うか行わないかが選択的に設定する継続動作有無設定部を有し、
    前記アプリケーションの通信コネクション切断部は、
    実行状態がバックグランド状態に遷移したときに、当該アプリケーションがバックグランド状態で継続的な動作を行うよう設定されている場合には、外部装置との間に通信コネクションが接続されている場合であっても当該通信コネクションを切断せず、
    実行状態がバックグランド状態に遷移したときに、当該アプリケーションがバックグランド状態で継続的な動作を行わないよう設定されており、かつ、外部装置との間に通信コネクションが接続されている場合にのみ当該通信コネクションを切断することを特徴とする情報処理装置。
  6. 請求項4または5記載の情報処理装置であって、
    前記アプリケーションは、実行状態がフォアグランド状態に遷移したときに、前記接続状態情報が外部装置との間に通信コネクションが接続されていないことを表している場合に、外部装置との間の通信コネクションを接続する通信コネクション接続部を有することを特徴とする情報処理装置。
  7. コンピュータのオペレーティングシステム上で稼働するアプリケーションが行う処理実行方法であって、
    前記オペレーティングシステムは、前記アプリケーションの稼働中、当該アプリケーションの実行状態を、フォアグランドで当該アプリケーションが実行されるフォアグランド状態と、バックグランドで当該アプリケーションが実行されるバックグランド状態と、当該アプリケーションの実行が停止されるサスペンデッド状態の間で遷移させながら制御し、
    当該処理実行方法は、
    実行状態がフォアグランド状態にあるときに、外部装置との間に確立された通信コネクションを用いて処理を行う通信コネクション利用処理ステップと、
    前記通信コネクションの接続中の有無を表す接続状態情報を保存すると共に、フォアグランド状態にあるときとバックグランド状態にあるときとに発生した前記通信コネクションの接続中の有無の状態の変化に応じて、前記接続状態情報を更新する接続状態情報管理ステップと、
    実行状態がバックグランド状態に遷移したときに、外部装置との間に通信コネクションが接続されている場合に当該通信コネクションを切断する通信コネクション切断ステップとを有することを特徴とする処理実行方法。
  8. 請求項7記載の処理実行方法であって、
    バックグランド状態で継続的な動作を行うか行わないかが選択的に設定するステップを有し、
    前記通信コネクション切断ステップは、実行状態がバックグランド状態に遷移したときに、当該アプリケーションがバックグランド状態で継続的な動作を行うよう設定されている場合には、外部装置との間に通信コネクションが接続されている場合であっても当該通信コネクションを切断せず、実行状態がバックグランド状態に遷移したときに、当該アプリケーションがバックグランド状態で継続的な動作を行わないよう設定されており、かつ、外部装置との間に通信コネクションが接続されている場合には当該通信コネクションを切断するステップであることを特徴とする処理実行方法。
  9. 請求項7または8記載の処理実行方法であって、
    実行状態がフォアグランド状態に遷移したときに、前記接続状態情報が外部装置との間に通信コネクションが接続されていないことを表している場合に、外部装置との間の通信コネクションを接続する通信コネクション接続ステップを有することを特徴とする処理実行方法。
JP2014080125A 2014-04-09 2014-04-09 コンピュータプログラム、情報処理装置及び処理実行方法 Active JP6403976B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014080125A JP6403976B2 (ja) 2014-04-09 2014-04-09 コンピュータプログラム、情報処理装置及び処理実行方法
US14/639,751 US9710301B2 (en) 2014-04-09 2015-03-05 Storage medium storing computer program, information processing system, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014080125A JP6403976B2 (ja) 2014-04-09 2014-04-09 コンピュータプログラム、情報処理装置及び処理実行方法

Publications (2)

Publication Number Publication Date
JP2015201784A true JP2015201784A (ja) 2015-11-12
JP6403976B2 JP6403976B2 (ja) 2018-10-10

Family

ID=54265145

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014080125A Active JP6403976B2 (ja) 2014-04-09 2014-04-09 コンピュータプログラム、情報処理装置及び処理実行方法

Country Status (2)

Country Link
US (1) US9710301B2 (ja)
JP (1) JP6403976B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9641264B2 (en) * 2015-09-25 2017-05-02 Root Wireless, Inc. Adaptive speed data collection
CN109992393A (zh) * 2017-12-29 2019-07-09 广东欧珀移动通信有限公司 应用处理方法和装置、电子设备、计算机可读存储介质
CN113467923A (zh) * 2020-03-31 2021-10-01 华为技术有限公司 一种设备休眠方法及计算设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209560A (ja) * 2005-01-28 2006-08-10 Kyocera Corp 携帯端末装置とその表示方法
JP2009182581A (ja) * 2008-01-30 2009-08-13 Kyocera Corp 携帯無線機
JP2013118663A (ja) * 2008-04-04 2013-06-13 Canon Inc 情報処理装置、情報処理装置の制御方法及びプログラム
JP2013240011A (ja) * 2012-05-17 2013-11-28 Denso Corp 携帯通信端末
JP2014006619A (ja) * 2012-06-22 2014-01-16 Fujitsu Ltd 携帯端末装置の制御方法、制御プログラム及び携帯端末装置
JP2014036410A (ja) * 2012-08-10 2014-02-24 Kyocera Corp 携帯端末装置、プログラムおよび携帯端末装置の制御方法
JP2014045287A (ja) * 2012-08-24 2014-03-13 Fujitsu Ltd 中継プログラム、中継装置及び中継方法
JP2014049812A (ja) * 2012-08-29 2014-03-17 Kyocera Corp 通信端末ならびに網接続制御プログラムおよび方法
JP2014146996A (ja) * 2013-01-29 2014-08-14 Kyocera Corp 携帯端末装置、プログラムおよび携帯端末装置の制御方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6201794B1 (en) * 1997-03-07 2001-03-13 Advanced Micro Devices, Inc. Network with efficient message routing
US20020107966A1 (en) * 2001-02-06 2002-08-08 Jacques Baudot Method and system for maintaining connections in a network
US7257689B1 (en) * 2004-10-15 2007-08-14 Veritas Operating Corporation System and method for loosely coupled temporal storage management
US9104476B2 (en) * 2010-04-07 2015-08-11 Apple Inc. Opportunistic multitasking of VOIP applications
US8819328B2 (en) * 2010-12-30 2014-08-26 Sandisk Technologies Inc. Controller and method for performing background operations
US8966304B1 (en) * 2011-04-04 2015-02-24 Google Inc. Periodic system wakeup to update state
US9378054B2 (en) * 2013-04-12 2016-06-28 Dropbox, Inc. Testing system with methodology for background application control

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209560A (ja) * 2005-01-28 2006-08-10 Kyocera Corp 携帯端末装置とその表示方法
JP2009182581A (ja) * 2008-01-30 2009-08-13 Kyocera Corp 携帯無線機
JP2013118663A (ja) * 2008-04-04 2013-06-13 Canon Inc 情報処理装置、情報処理装置の制御方法及びプログラム
JP2013240011A (ja) * 2012-05-17 2013-11-28 Denso Corp 携帯通信端末
JP2014006619A (ja) * 2012-06-22 2014-01-16 Fujitsu Ltd 携帯端末装置の制御方法、制御プログラム及び携帯端末装置
JP2014036410A (ja) * 2012-08-10 2014-02-24 Kyocera Corp 携帯端末装置、プログラムおよび携帯端末装置の制御方法
JP2014045287A (ja) * 2012-08-24 2014-03-13 Fujitsu Ltd 中継プログラム、中継装置及び中継方法
JP2014049812A (ja) * 2012-08-29 2014-03-17 Kyocera Corp 通信端末ならびに網接続制御プログラムおよび方法
JP2014146996A (ja) * 2013-01-29 2014-08-14 Kyocera Corp 携帯端末装置、プログラムおよび携帯端末装置の制御方法

Also Published As

Publication number Publication date
US20150293782A1 (en) 2015-10-15
US9710301B2 (en) 2017-07-18
JP6403976B2 (ja) 2018-10-10

Similar Documents

Publication Publication Date Title
US9635495B2 (en) Supporting virtually simultaneous operation of dual wireless protocols in a single device
US10080194B2 (en) Method, device, and computer-readable storage medium for awaking electronic equipment
US9323228B2 (en) Method and apparatus for wake-up control of intelligent terminal by determining whether to delay wake up times
US10425471B2 (en) Multi-tasker
WO2018053970A1 (zh) 一种蓝牙设备的连接方法及连接设备
US9098357B2 (en) Method and apparatus for activity management across multiple devices
KR102137097B1 (ko) 소모 전류 저감 방법 및 이를 지원하는 전자 장치
US10089045B2 (en) Communication apparatus having direct wireless communication function and method for controlling communication apparatus
TW201631473A (zh) 用於背景工作管理的方法、計算裝置及可讀取媒體
US9170842B2 (en) Information processing terminal and resource release method
EP2330794A1 (en) Status prompt method and system
US20140379811A1 (en) Interactive multi-tasker
KR20130123732A (ko) 휴대단말기에서 RCS(Rich Communication Suite)의 Capability Discovery를 위한 SIP OPTIONS 메시지 교환 방법 및 장치
KR102174014B1 (ko) 음성 통화 중의 시스템 콜을 처리하는 방법, 시스템, 및 장치
KR20190065786A (ko) 블루투스 통신을 재연결하는 방법 및 장치
JP6403976B2 (ja) コンピュータプログラム、情報処理装置及び処理実行方法
KR20140100909A (ko) 안전한 컨플루언스 모달리티를 제공하는 시스템 및 방법
KR20200031900A (ko) Pdu 세션 제어 방법 및 장치
CN105282327A (zh) 一种控制方法、电子设备及外接设备
US20160353395A1 (en) Wireless communication apparatus and communication method
WO2018000686A1 (zh) 通话建立方法及系统
EP2911368A1 (en) Communication terminal, communication system, method for controlling communication terminal, and program
JP2009218630A (ja) 電子装置およびシステム起動方法
JP6894266B2 (ja) 情報処理装置、管理制御装置のプログラム更新制御方法及びプログラム更新制御プログラム
JP2012060329A (ja) 遠隔操作システム、通信装置、撮像装置、遠隔操作システムの制御方法、通信装置の制御方法、撮像装置の制御方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180411

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: 20180911

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180912

R150 Certificate of patent or registration of utility model

Ref document number: 6403976

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150