JP2014052927A - 情報処理装置、プログラムおよびソフトウェア実行制御方法 - Google Patents

情報処理装置、プログラムおよびソフトウェア実行制御方法 Download PDF

Info

Publication number
JP2014052927A
JP2014052927A JP2012198046A JP2012198046A JP2014052927A JP 2014052927 A JP2014052927 A JP 2014052927A JP 2012198046 A JP2012198046 A JP 2012198046A JP 2012198046 A JP2012198046 A JP 2012198046A JP 2014052927 A JP2014052927 A JP 2014052927A
Authority
JP
Japan
Prior art keywords
call
information
software
application
call destination
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
JP2012198046A
Other languages
English (en)
Other versions
JP5971042B2 (ja
Inventor
Naoya Fujisaki
直哉 藤▲崎▼
Naoki Nishiguchi
直樹 西口
Masahide Noda
政秀 野田
Masatomo Yazaki
昌朋 矢崎
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012198046A priority Critical patent/JP5971042B2/ja
Priority to US13/960,468 priority patent/US8875164B2/en
Publication of JP2014052927A publication Critical patent/JP2014052927A/ja
Application granted granted Critical
Publication of JP5971042B2 publication Critical patent/JP5971042B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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/547Remote procedure calls [RPC]; Web services
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)

Abstract

【課題】セキュリティ性を高めること。
【解決手段】記憶部1aは、呼出元のソフトウェアXからの呼出の内容に対して呼出先のソフトウェアY,Zの何れかをユーザに選択させるか否かを判定するために用いられる第1の情報と、呼出元のソフトウェアXからの呼出Aの内容と呼出先のソフトウェアYとの対応関係を示す第2の情報とを記憶する。演算部1bは、呼出元のソフトウェアXによる呼出Aを受け付け、当該呼出Aに対して第1の情報が呼出先のソフトウェアY,Zの何れかをユーザに選択させる旨を示すとき、呼出先のソフトウェアY,Zの何れかをユーザに選択させる代わりに、第2の情報に基づいて当該呼出Aの内容に対応する呼出先のソフトウェアYを特定し、実行する。
【選択図】図1

Description

本発明は情報処理装置、プログラムおよびソフトウェア実行制御方法に関する。
コンピュータや携帯端末装置などの情報処理装置は、種々のソフトウェアを実行可能である。情報処理装置上のソフトウェアが他のソフトウェアを呼出すことがある。例えば、あるソフトウェアに対するユーザの文字入力を可能とするために、当該ソフトウェアがユーザの文字入力を支援する他のソフトウェアを呼出すことが考えられる。
ここで、ソフトウェア間の連携を支援する方法が考えられている。例えば、プログラムが提供するサービスや、サービスの中で実行できるコマンドなどの情報をプログラムごとに取得しておき、クライアントプログラムから利用したい機能の要求を受け付けると、当該機能を提供するサーバプログラムを検索して応答する提案がある。
また、例えば、イベントの識別情報およびイベントを発生させたアプリケーションの識別情報に対応付けて、アクションの識別情報およびアクションの実行対象とするアプリケーションの識別情報を登録したテーブルを用意する提案がある。この提案では、あるアプリケーションでイベントが発生すると、当該テーブルに基づいて、対応するアクションを、対象のアプリケーションに対して実行するように制御する。
特開平11−212931号公報 特開2004−341999号公報
呼出元のソフトウェアからの呼出に対して、複数の呼出先のソフトウェアの何れかをユーザにより選択可能とすることがある。例えば、「入力支援」という機能を指定した呼出に対し、文字などの入力を支援する複数のソフトウェアの何れかをユーザにより選択可能とすることが考えられる。この方法では、呼出元のソフトウェアの開発時において、呼出先のソフトウェアを事前に特定せずに呼出の処理を実装できる。このため、呼出先のソフトウェアを事前に特定する場合に比べて開発の負担を軽減できる。
しかし、この方法はセキュリティ面で問題が生じ得る。呼出先の候補となるソフトウェアには不正な処理を行うものが含まれ得るからである。例えば、「入力支援」機能をもつソフトウェアには、入力されたデータを、ネットワークを介して他の装置に送信するものが含まれる可能性もある。このようなソフトウェアがユーザにより選択されてしまうと、例えば、ユーザの個人情報や機密情報が漏えいするおそれがある。
そこで、ある機能を指定した呼出を可能としながら、不正なソフトウェアをユーザが選択するのを抑えてセキュリティ性を高める仕組みをどのように実現するかが問題となる。
一側面によれば、本発明は、セキュリティ性を高めることができる情報処理装置、プログラムおよびソフトウェア実行制御方法を提供することを目的とする。
一実施態様によれば、複数のソフトウェアを実行可能な情報処理装置が提供される。この情報処理装置は、記憶部と演算部とを有する。記憶部は、呼出元のソフトウェアからの呼出の内容に対して複数の呼出先のソフトウェアの何れかをユーザに選択させるか否かを判定するために用いられる第1の情報と、呼出元のソフトウェアからの1または複数の呼出の内容それぞれと呼出先のソフトウェアとの対応関係を示す第2の情報とを記憶する。演算部は、呼出元のソフトウェアによる呼出を受け付け、当該呼出に対して第1の情報が複数の呼出先のソフトウェアの何れかをユーザに選択させる旨を示すとき、複数の呼出先のソフトウェアの何れかをユーザに選択させる代わりに、第2の情報に基づいて当該呼出の内容に対応する呼出先のソフトウェアを特定し、実行する。
また、一実施態様によれば、複数のソフトウェアを実行可能なコンピュータによって実行されるプログラムが提供される。このプログラムは、コンピュータに、呼出元のソフトウェアからの呼出の内容に対して複数の呼出先のソフトウェアの何れかをユーザに選択させるか否かを判定するために用いられる第1の情報と、呼出元のソフトウェアからの1または複数の呼出の内容それぞれと呼出先のソフトウェアとの対応関係を示す第2の情報とを参照して、呼出元のソフトウェアによる呼出を受け付け、当該呼出に対して第1の情報が複数の呼出先のソフトウェアの何れかをユーザに選択させる旨を示すとき、複数の呼出先のソフトウェアの何れかをユーザに選択させる代わりに、第2の情報に基づいて当該呼出の内容に対応する呼出先のソフトウェアを特定し、特定された呼出先のソフトウェアが実行されるように制御する、処理を実行させる。
また、一実施態様によれば、複数のソフトウェアを実行可能な情報処理装置によって実行されるソフトウェア実行制御方法が提供される。このソフトウェア実行制御方法では、呼出元のソフトウェアからの呼出の内容に対して複数の呼出先のソフトウェアの何れかをユーザに選択させるか否かを判定するために用いられる第1の情報と、呼出元のソフトウェアからの1または複数の呼出の内容それぞれと呼出先のソフトウェアとの対応関係を示す第2の情報とを参照して、呼出元のソフトウェアによる呼出を受け付け、当該呼出に対して第1の情報が複数の呼出先のソフトウェアの何れかをユーザに選択させる旨を示すとき、複数の呼出先のソフトウェアの何れかをユーザに選択させる代わりに、第2の情報に基づいて当該呼出の内容に対応する呼出先のソフトウェアを特定し、特定された呼出先のソフトウェアを実行する。
一実施態様によれば、セキュリティ性を高められる。
第1の実施の形態の情報処理装置を示す図である。 第2の実施の形態の情報処理システムを示す図である。 第2の実施の形態の携帯端末装置のハードウェア例を示す図である。 第2の実施の形態のソフトウェア例を示す図である。 第2の実施の形態の端末管理テーブルの例を示す図である。 第2の実施の形態のパッケージ管理テーブルの例を示す図である。 第2の実施の形態のカテゴリ管理テーブルの例を示す図である。 第2の実施の形態のインテント選択用データの例を示す図である。 第2の実施の形態のプロファイルテーブルの例を示す図である。 第2の実施の形態の安全対策テーブルの例を示す図である。 第2の実施の形態のリンク管理テーブルの例を示す図である。 第2の実施の形態のプロファイル取得例を示すフローチャートである。 第2の実施の形態のアプリ取得例を示すフローチャートである。 第2の実施の形態のリンク登録例を示すフローチャートである。 第2の実施の形態のインテント制御例を示すフローチャートである。 第2の実施の形態の呼出先の設定制御例を示すフローチャートである。 第2の実施の形態の呼出先の設定例を示すフローチャートである。 第2の実施の形態のインテント制御例を示す図である。 インテント制御の比較例を示す図である。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理装置を示す図である。情報処理装置1は、コンピュータや携帯端末装置などである。情報処理装置1は、記憶部1aおよび演算部1bを有する。記憶部1aは、例えばRAM(Random Access Memory)などのメモリである。演算部1bは、例えばCPU(Central Processing Unit)などのプロセッサである。第1の実施の形態の情報処理は、例えば演算部1bが記憶部1aに記憶されたプログラムを実行することで実現できる。
記憶部1aは、呼出元のソフトウェアからの呼出の内容に対して複数の呼出先のソフトウェアの何れかをユーザに選択させるか否かを判定するために用いられる第1の情報を記憶する。例えば、第1の情報はソフトウェアXからの呼出Aの内容に対してソフトウェアY,Zの何れかをユーザに選択させるか否かを判定するための情報を含む。例えば、呼出Aの内容は、所定の機能(例えば「入力支援」など)を示すものである。ソフトウェアY,Zは当該機能をもつソフトウェアである。これに対して、例えば第1の情報において、当該機能(例えば「入力支援」)に対する呼出先のソフトウェアの明示の指定があれば、呼出先のソフトウェアをユーザに選択させなくてよいと判断できる。一方、例えば第1の情報において、当該機能(例えば「入力支援」)に対する呼出先のソフトウェアの明示の指定がなければ、予め当該機能に対応付けられた複数の呼出先のソフトウェアの何れかをユーザに選択させると判断できる。
記憶部1aは、呼出元のソフトウェアからの1または複数の呼出の内容それぞれと呼出先のソフトウェアとの対応関係を示す第2の情報を記憶する。例えば、第2の情報はソフトウェアXからの呼出Aの内容とソフトウェアYとの対応関係を示す情報を含む。
演算部1bは、呼出元のソフトウェアによる呼出を受け付ける。演算部1bは、当該呼出に対して、記憶部1aに記憶された第1の情報が複数の呼出先のソフトウェアの何れかをユーザに選択させる旨を示すとき、複数の呼出先のソフトウェアの何れかをユーザに選択させる代わりに、記憶部1aに記憶された第2の情報に基づいて当該呼出の内容に対応する呼出先のソフトウェアを特定する。
「第1の情報が複数の呼出先のソフトウェアの何れかをユーザに選択させる旨を示すとき」とは、例えば、上述のように、呼出元のソフトウェアXからの呼出Aの内容に対して呼出先の明示の指定が第1の情報に設定されていないときが考えられる。あるいは、第1の情報に、呼出元のソフトウェアXからの呼出Aに関するエントリが存在していないときが考えられる。どのような状況が「第1の情報が複数の呼出先のソフトウェアの何れかをユーザに選択させる旨を示すとき」に該当するかは、情報処理装置1におけるソフトウェアの実行環境などに応じて定まる。
例えば、演算部1bはソフトウェアXによる呼出Aを受け付ける。演算部1bは、呼出Aに対して第1の情報がソフトウェアY,Zの何れかをユーザに選択させる旨を示すとき、ソフトウェアY,Zの何れかをユーザに選択させる代わりに、第2の情報に基づいて当該呼出Aの内容に対応するソフトウェアYを特定する。
演算部1bは、特定された呼出先のソフトウェアを実行する。例えば、特定されたソフトウェアYを実行する。
情報処理装置1によれば、演算部1bにより、呼出元のソフトウェアによる呼出が受け付けられる。演算部1bにより、当該呼出に対して第1の情報が複数の呼出先のソフトウェアの何れかをユーザに選択させる旨を示すとき、複数の呼出先のソフトウェアの何れかをユーザに選択させる代わりに、第2の情報に基づいて当該呼出の内容に対応する呼出先のソフトウェアが特定される。演算部1bにより、特定された呼出先のソフトウェアが実行される。
これにより、セキュリティ性を高められる。例えば、ソフトウェアZが不正な処理を行うものであったとしても、ユーザによる選択の機会を抑えてソフトウェアYを実行するように制御するため、ソフトウェアZの実行を抑制できる。よって、例えば、所定の機能を指定した呼出を可能としながら、不正なソフトウェアをユーザが選択することの防止を図れる。その結果、呼出元のソフトウェアからの他のソフトウェアの呼出を容易に行えるようにしながら、セキュリティ性を高めることができる。
なお、演算部1bが第2の情報を生成してもよい。このとき、演算部1bは、呼出元のソフトウェアが属するソフトウェアの集合に対し、呼出の内容ごとに許容される呼出先のソフトウェアを示す情報を登録した第3の情報を他の装置から取得してもよい。または、演算部1bは、第3の情報のユーザによる入力を許容してもよい。そして、例えば演算部1bは、第3の情報に基づいて、呼出元のソフトウェアによる呼出の内容に応じた第2の情報を事前に生成しておく。ソフトウェアの集合ごとに第3の情報を演算部1bに与えることができれば、例えば業務ソフトウェアの機能(会計など)に応じたセキュリティのポリシーの事後的な登録を容易に行えるようになる。
[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、携帯端末装置100およびサーバ200を含む。携帯端末装置100およびサーバ200は、アクセスポイント10およびネットワーク20を介して通信可能である。アクセスポイント10は、ネットワーク20に接続された無線基地局である。アクセスポイント10は、ネットワーク20に接続された無線ルータでもよい。ネットワーク20は、インターネットやWAN(Wide Area Network)などの広域ネットワークである。ネットワーク20は、LAN(Local Area Network)でもよい。
携帯端末装置100は、ユーザが利用する情報処理装置である。携帯端末装置100は、サーバ200により配信される種々のアプリケーションソフトウェア(以下、アプリケーションまたはアプリと称することがある)を実行する。携帯端末装置100は、例えば、当該アプリケーションの機能を記述したプログラムをサーバ200からダウンロードして記憶する。携帯端末装置100が当該プログラムを実行することで、当該アプリケーションの機能が携帯端末装置100上で発揮される。
サーバ200は、アプリケーションのプログラムを配信するサーバコンピュータである。サーバ200は、種々のアプリケーションのプログラムを記憶する。サーバ200は、携帯端末装置100から要求されたアプリケーションのプログラムを携帯端末装置100に提供する。
ここで、携帯端末装置100では、アプリケーション間の連携を支援する仕組みを利用可能である。この仕組みはインテント(intent)と呼ばれることがある。インテント機能は、例えば携帯端末装置100が実行するOS(Operating System)により提供される。
例えば、あるアプリケーションにおいて、ユーザによる文字入力を受け付けるとき、文字入力を支援するためのアプリケーションを呼出して実行する。また、例えば、あるアプリケーションで取得した画像などを閲覧するために、画像閲覧用のアプリケーションを呼出して実行する。また、例えば、あるアプリケーションで取得した宛先に電子メールを送信するためにメーラを呼出して実行する。アプリケーション間で受け渡したいデータを指定することもできる。
インテントには、連携するアプリケーションを指定する方法の違いにより、「明示のインテント」および「暗黙のインテント」の2種類が存在する。「明示のインテント」は、呼出元のアプリケーションに呼出先のアプリケーション(ターゲット)を明示的に指定する情報を予め含めておく方法である。「明示のインテント」はアプリケーション間を密な結合で連携させる仕組みといえる。
「暗黙のインテント」は、呼出元のアプリケーションで呼出先のアプリケーションを明示的に指定する代わりに、呼出したい機能を示す情報を予め含めておく。すると、携帯端末装置100は、実行可能なアプリケーションのうち、当該機能をもつアプリケーションを検索し、検索されたアプリケーションを実行する。当該機能をもつアプリケーションが複数存在する場合は、当該複数のアプリケーションを呼出先の候補としてユーザに提示し、何れを実行するかをユーザに選択させることもできる。「明示のインテント」に対し、「暗黙のインテント」はアプリケーション間を疎な結合で連携させる仕組みといえる。
「暗黙のインテント」を用いれば、アプリケーションの開発時点において、開発者は連携先のアプリケーションを明示的に意識しなくてもよい。なお、以下の説明では、呼出元のアプリケーションによる呼出そのものを指して「インテント」と称することがある。
図3は、第2の実施の形態の携帯端末装置のハードウェア例を示す図である。携帯端末装置100は、プロセッサ101、RAM102、フラッシュメモリ103、通信部104、ディスプレイ105、入力デバイス106、音声デバイス107および撮像デバイス108を有する。各ユニットが携帯端末装置100のバスに接続されている。
プロセッサ101は、携帯端末装置100の情報処理を制御する。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)またはPLD(Programmable Logic Device)などである。プロセッサ101は、CPU、MPU、DSP、ASIC、FPGA、PLDのうちの2以上の要素の組み合わせであってもよい。
RAM102は、携帯端末装置100の主記憶装置である。RAM102は、プロセッサ101に実行させるOSのプログラムやアプリケーションのプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。
フラッシュメモリ103は、携帯端末装置100の補助記憶装置である。フラッシュメモリ103は、OSのプログラム、アプリケーションのプログラムおよび各種データを記憶する。フラッシュメモリ103は、携帯端末装置100に対して着脱可能なカード型メモリであってもよい。また、フラッシュメモリ103に代えて、あるいは、フラッシュメモリ103と併せて、他の種類の不揮発性の記憶媒体を用いてもよい。
通信部104は、アクセスポイント10を介してサーバ200と通信を行えるインタフェースである。通信部104は、無線インタフェースでもよいし、有線インタフェースでもよい。有線インタフェースである場合、アクセスポイント10と有線で接続される。
ディスプレイ105は、プロセッサ101の制御に従って、各種の画像を出力する。ディスプレイ105としては、例えば、液晶ディスプレイや有機EL(Electro Luminescence)ディスプレイを用いることができる。
入力デバイス106は、ユーザの操作に応じた入力信号をプロセッサ101に出力する。入力デバイス106としては、例えば、タッチパネルなどのポインティングデバイスおよびキーパッドなどを用いることができる。
音声デバイス107は、マイクロホンおよびスピーカである。マイクロホンは、音の物理振動を電気信号に変換して音声入力を受け付け、音声信号をプロセッサ101に出力する。例えば、携帯端末装置100のユーザが通話を行っているとき、ユーザの声がマイクロホンから入力される。スピーカは、プロセッサ101の制御に従って、音声信号を物理振動に変換して音を再生する。例えば、ユーザが通話を行っているとき、通話相手の声がスピーカから出力される。
撮像デバイス108は、プロセッサ101の制御に従って静止画や動画を撮像する。撮像デバイス108としては、例えば、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを用いることができる。
サーバ200も、携帯端末装置100と同様のハードウェアにより実現できる。サーバ200は、フラッシュメモリに代えてHDD(Hard Disk Drive)などを補助記憶装置として備えてもよい。サーバ200はディスプレイ、入力デバイス、音声デバイスおよび撮像デバイスを内蔵していなくてもよい(外付けでもよいし、備えていなくてもよい)。
図4は、第2の実施の形態のソフトウェア例を示す図である。図4に示す各ユニットの一部または全部は、携帯端末装置100やサーバ200が備えるプロセッサが実行するプログラムのモジュールであってもよい。また、図4に示す各ユニットの一部または全部は、携帯端末装置100やサーバ200が備えるFPGAやASICなどの電子回路であってもよい。
携帯端末装置100は、記憶部110,120、システムサービス部130、アプリ群140およびリンク制御部150を有する。
記憶部110は、システムサービス部130の処理に用いるデータを記憶する。記憶部110が記憶するデータは、次のものを含む。(1)携帯端末装置100のOSのバージョンなどを示すバージョン管理情報を登録した端末管理テーブル。(2)携帯端末装置100にインストールされているアプリケーションの版数などを示すパッケージ管理情報を登録したパッケージ管理テーブル。(3)アプリケーションが属するカテゴリに関するカテゴリ管理情報を登録したカテゴリ管理テーブル。(4)アプリケーション間の連携を制御するためインテント選択情報を登録したインテント選択用データ。インテント選択用データは、第1の実施の形態の第1の情報に相当する。ここで、以下の説明において、データ内の1レコードを指して「〜情報」ということがある。例えば、カテゴリ管理情報という場合、カテゴリ管理テーブル内の1つのレコードを示すことがある。また、例えばインテント選択情報という場合、インテント選択用データ内の1つのレコードを示すことがある。
記憶部120は、リンク制御部150の処理に用いるデータを記憶する。記憶部120が記憶するデータは、次のものを含む。(1)アプリケーションをプロファイルと呼ばれるアプリケーションのグループ(集合)単位に管理するためのプロファイル情報を登録したプロファイルテーブル。(2)プロファイル単位の呼出可能なアプリケーションを示す安全対策情報を登録した安全対策テーブル。(3)アプリケーション単位に呼出可能とするアプリケーションを示すリンク管理情報を登録したリンク管理テーブル。リンク管理テーブルは、第1の実施の形態の第2の情報に相当する。
例えば、記憶部110,120はRAM102やフラッシュメモリ103の記憶領域を用いて実装できる。記憶部110,120を別個に記載したが、単一の記憶部として記載しても格納される情報は同じである。
システムサービス部130は、アプリケーションの実行や実行終了を制御する。システムサービス部130は、インテント選択用データに基づいてインテント機能を提供する。システムサービス部130は、前述の「明示のインテント」や「暗黙のインテント」の方法によりアプリケーション間の連携を支援する。
アプリ群140は、携帯端末装置100で実行中のアプリケーションの集合である。
リンク制御部150は、あるアプリケーションが他のアプリケーションを呼出すときに、インテントの種類に応じて、システムサービス部130の処理に介入する。リンク制御部150は、プロファイル管理部151、プロファイル監視部152およびリンク設定部153を有する。
プロファイル管理部151は、サーバ200が配信するプロファイル情報を取得して、プロファイルテーブルに登録する。プロファイル管理部151は、サーバ200が配信する安全対策情報を取得して安全対策テーブルに登録する。プロファイル管理部151は、携帯端末装置100にアプリケーションがインストールされるとき、記憶部110,120に記憶された情報に基づいて、リンク管理情報を生成し、リンク管理テーブルに登録する。
プロファイル監視部152は、「暗黙のインテント」により他のアプリケーションが呼出されるとき、リンク管理テーブルに呼出元のアプリケーションに対応するリンク管理情報が存在するか否かを監視する。
リンク設定部153は、プロファイル監視部152により、対応するリンク管理情報が存在すると判断される場合、リンク管理テーブルに基づいて呼出元のアプリケーションに対して呼出可能なアプリケーションが存在するかを判断する。リンク設定部153は、呼出元のアプリケーションに対して呼出可能なアプリケーションが存在する場合に、記憶部110に記憶されたインテント選択用データに当該呼出元/呼出先のアプリケーションの組合せを登録する。
サーバ200は、記憶部210および配信部220を有する。
記憶部210は、アプリケーションのプログラムやアプリケーションごとのプロファイル情報を記憶する。例えば、プロファイル情報や安全対策情報はアプリケーションの提供を管理する管理者やアプリケーションの作成者などによって作成されて記憶部210に格納される。記憶部210は、サーバ200が備えるRAMやHDDなどの記憶領域を用いて実装できる。
配信部220は、携帯端末装置100からアプリケーションのプログラムのダウンロード要求を受信すると、記憶部210から対応するプログラムを取得して携帯端末装置100に提供する。また、配信部220は、携帯端末装置100からアプリケーションのプロファイル情報の取得要求を受信すると、記憶部210から対応するプロファイル情報や安全対策情報を取得して携帯端末装置100に提供する。
図5は、第2の実施の形態の端末管理テーブルの例を示す図である。端末管理テーブル111は、記憶部110に格納される。端末管理テーブル111は、端末モデル名、プラットフォーム版数、カーネル版数およびビルド番号の項目を含む。
端末モデル名の項目には、携帯端末装置100のモデル名を示す情報が登録される。プラットフォーム版数の項目には、携帯端末装置100のプラットフォームOSの版数が登録される。カーネル版数の項目には、当該OSのカーネルの版数が登録される。ビルド番号の項目には、携帯端末装置100におけるソフトウェア開発キットのビルド番号が登録される。
例えば、端末管理テーブル111には、端末モデル名が“F−01X”、プラットフォーム版数が“2.2.0”、カーネル版数が“2.6.30”、ビルド番号が“SDK−2.2.2−GRI34”という情報が登録される。
図6は、第2の実施の形態のパッケージ管理テーブルの例を示す図である。パッケージ管理テーブル112は、記憶部110に格納される。パッケージ管理テーブル112は、パッケージ名、プログラム情報、リソース情報、マニフェスト情報およびシグニチャ情報の項目を含む。
パッケージ名の項目には、アプリケーションのパッケージ名称が登録される。パッケージ名称は、例えばURI(Uniform Resource Identifier)の形式で表記される。プログラム情報の項目には、アプリケーションのプログラムが格納されたディレクトリや実行ファイルの名称を示す情報が登録される。リソース情報の項目には、アプリケーションの処理に用いる各種のファイルが格納されたディレクトリや当該ファイルの名称を示す情報が登録される。マニフェスト情報の項目には、アプリケーションが有する各種の情報(呼出先のアプリケーションのカテゴリを示す情報や動作を保障しているカーネル版数を示す情報など)が登録される。シグニチャ情報の項目には、アプリケーションの開発者を示す情報(シグニチャ情報)が登録される。シグニチャ情報は、当該アプリケーションの提供元を示す情報の一例である。
例えば、パッケージ管理テーブル112には、パッケージ名が“jp.abc.gyoumu.kaikei.A”、プログラム情報が“./A/,Aapp.jar,comm.jar”、リソース情報が“./A/,gyoumu.png,entry.png”、マニフェスト情報が“INPUTMETHOD:ソフトキーボード使用とインテントの許可、PHONE:電話使用とインテントの許可、動作保障カーネル版数:2.0.0以上”、シグネチャ情報が“開発者A”という情報が登録される。
これは、パッケージ名“jp.abc.gyoumu.kaikei.A”で示されるアプリケーションの実行ファイルなどがディレクトリ“./A/”に格納されていることを示す。また、実行ファイルが“Aapp.jar”および“comm.jar”であり、当該アプリケーションのGUI(Graphical User Interface)などに用いるファイル“gyoumu.png”および“entry.png”が存在することを示している。更に、当該アプリケーションの処理に応じて、カテゴリ“INPUTMETHOD”および“PHONE”を指定した他のアプリケーションの呼出を行うことを示す。また、当該アプリケーションの動作保障カーネル版数が“2.0.0以上”であり、開発者(提供元)が“開発者A”であることを示す。
なお、マニフェスト情報には、インテントフィルタと呼ばれる情報も登録され得る。インテントフィルタは、ターゲット側の設定であり、各アプリケーションがどのカテゴリに属するものであるかを示す情報を含み得る。また、許容する動作(アクション)を示す情報を含み得る。携帯端末装置100のOSは、アプリケーションのマニフェスト情報に設定されたインテントフィルタを参照することで、当該アプリケーションがどのようなアクションやカテゴリを指定したインテントの受け付けが可能であるかを判断できる。
図7は、第2の実施の形態のカテゴリ管理テーブルの例を示す図である。カテゴリ管理テーブル113は、記憶部110に格納される。カテゴリ管理テーブル113は、カテゴリおよび呼出先アプリURIの項目を含む。
カテゴリの項目には、カテゴリの名称を示す情報が登録される。呼出先アプリURIの項目には、当該カテゴリに属する呼出先候補のアプリケーションのURIが登録される。
例えば、カテゴリ管理テーブル113には、カテゴリが“INPUTMETHOD”、呼出先アプリURIが“com.pkg.openwnn”という情報が登録される。これは、「暗黙のインテント」によりカテゴリ“INPUTMETHOD”を指定した呼出があったとき、“com.pkg.openwnn”が呼出先の候補となることを示す。
カテゴリ管理テーブル113によれば、カテゴリ“INPUTMETHOD”には他のアプリケーション(“com.pkg.input”や“osxx.pkg.keyboard”など)も属している。よって、カテゴリ“INPUTMETHOD”を指定した呼出に対して、これらのアプリケーションも呼出先の候補となる。
なお、各カテゴリは連携先アプリケーションに対して要求するアクションに対応付けられていてもよい。例えば、アクションには次のようなものが含まれ得る。(1)“ACTION_EDIT”:呼出先アプリケーションをデータ編集可能な状態で開始する。(2)“ACTION_MAIN”:呼出先アプリケーションを当該アプリケーションのメイン(データ入力なし、かつ、出力の返却なしの状態)から開始する。(3)“ACTION_CALL”:通話を開始する。ただし、(1)〜(3)で例示した以外にも種々のアクションが考え得る。
図8は、第2の実施の形態のインテント選択用データの例を示す図である。インテント選択用データ114は、記憶部110に格納される。インテント選択用データ114は、システムサービス部130およびリンク設定部153により更新され得る。なお、図8ではインテント選択用データ114を便宜的にテーブル形式で表しているが、テーブル形式のデータでなくてもよい。インテント選択用データ114は、呼出元アプリURI、アクション、カテゴリおよび呼出先アプリURIの項目を含む。
呼出元アプリURIの項目には、呼出元のアプリケーションのURIが登録される。アクションの項目には、呼出先アプリのアクションが登録される。カテゴリの項目には、呼出内容に含まれるカテゴリが登録される。呼出先アプリURIの項目には、呼出先のアプリケーションのURIが登録される。
例えば、インテント選択情報114−1には、呼出元アプリURIが“jp.xxx.app.X”、アクションが“ACTION_EDIT”、カテゴリが“INPUTMETHOD”、呼出先アプリURIが“com.pkg.openwnn”という情報が登録される。これは、“jp.xxx.app.X”で示されるアプリケーションからアクション“ACTION_EDIT”、カテゴリ“INPUTMETHOD”を指定した呼出があったとき、“com.pkg.openwnn”を実行することを示す。これは「明示のインテント」である。
また、例えば、インテント選択情報114−2には、呼出元アプリURIが“jp.yyy.app.Y”、アクションが“ACTION_EDIT”、カテゴリが“INPUTMETHOD”、呼出先アプリURIが“−”(ハイフン)という情報が登録される。呼出先アプリURIの項目の“−”は呼出先アプリの明示の設定がないことを示す。すなわち、“jp.yyy.app.Y”で示されるアプリケーションからアクション“ACTION_EDIT”、カテゴリ“INPUTMETHOD”を指定した呼出があったとき、アクション“ACTION_EDIT”かつカテゴリ“INPUTMETHOD”に属する何れかの呼出先のアプリケーションをユーザに選択させることを示す。これは「暗黙のインテント」である。
なお、インテント選択情報におけるアクションの指定は、必須であるが、定形的であり、説明が冗長的、複雑化するのを避けるために、以降の説明では適宜省略している。
図9は、第2の実施の形態のプロファイルテーブルの例を示す図である。プロファイルテーブル121は、記憶部120に格納される。プロファイルテーブル121は、プロファイルID(IDentifier)、プロファイル特徴名およびプレフィクス(prefix)の項目を含む。
プロファイルIDの項目には、プロファイルを識別するための情報が登録される。プロファイル特徴名の項目には、プロファイルの特徴を示す情報が登録される。プレフィクスの項目には、当該プロファイルに属するアプリケーションを識別するためのURIのプレフィクスが登録される。
例えば、プロファイルテーブル121には、プロファイルIDが“PROF−A”、プロファイル特徴名が“現環境”、プレフィクスが“com.osxx.*”という情報が登録される。これは、プロファイルID“PROF−A”で識別されるプロファイルの特徴名が“現環境”であり、URIのプレフィクス“com.osxx.*”であるアプリケーションの集合が当該プロファイルに該当していることを示す。ここで、プレフィクスの“*”(アスタリスク)は文字または任意長の文字列を示すワイルドカードである。
ここで、プロファイル特徴名の項目に設定される情報の意味は次の通りである。“現環境”は、携帯端末装置100上の現バージョンのOSによって提供されるアプリケーション群であることを示す。“旧環境”は、携帯端末装置100上の現バージョンよりも前のバージョンのOSによって提供されるアプリケーション群であることを示す。“個人”は、個人でインストールされたアプリケーション群であることを示す。“会社”は、会社の業務用にインストールされたアプリケーション群であることを示す。
複数のプロファイルが1つのプロファイル特徴名に属することがある。例えば、プロファイルID“PROF−2”、“PROF−3”のプロファイル特徴名は、何れも“会社”である。
図10は、第2の実施の形態の安全対策テーブルの例を示す図である。安全対策テーブル122は、記憶部120に格納される。安全対策テーブル122は、プロファイル特徴名、シグニチャ情報および許容されるアプリケーションの項目を含む。
プロファイル特徴名の項目には、プロファイル特徴名が登録される。シグニチャ情報の項目には、開発者(提供元)を示す情報が登録される。許容されるアプリケーションの項目には、呼出先として許容されるアプリケーションのURIが「暗黙のインテント」に含まれ得るアクションやカテゴリごとに登録される。
例えば、安全対策テーブル122には、プロファイル特徴名が“デフォルト”、シグニチャ情報が“開発者Y”、許容されるアプリケーションが、アクション“ACTION_EDIT”のカテゴリ“INPUTMETHOD”に対して“osxx.pkg.keyboard”および“osxx.pkg.input”、アクション“ACTION_MAIN”のカテゴリ“PHONE”に対して“osxx.pkg.phone”、同アクションのカテゴリ“CAMERA”に対して“osxx.pkg.camera”という情報が登録される。
ここで、プロファイル特徴名“デフォルト”のレコードは、何れのプロファイルにも属していない、または、安全対策テーブル122において個別に安全対策情報が登録されていない各プロファイルに共通して適用されるフィルタルールである。当該レコードは、当該プロファイルに対して、開発者(提供元)が“開発者Y”であるアプリケーションのみを呼出先候補として許容することを示す。更に、アクションが“ACTION_EDIT”でカテゴリ“INPUTMETHOD”である呼出に対しては、“osxx.pkg.keyboard”および“osxx.pkg.input”を呼出先のアプリケーションとして許容することを示す。アクションが“ACTION_MAIN”でカテゴリ“PHONE”である呼出に対しては、“osxx.pkg.phone”のみを呼出先のアプリケーションとして許容することを示す。アクションが“ACTION_MAIN”でカテゴリ“CAMERA”である呼出に対しては、“osxx.pkg.camera”のみを呼出先のアプリケーションとして許容することを示す。
また、例えば、安全対策テーブル122には、プロファイル特徴名が“会社”、シグニチャ情報が“開発者X”、許容されるアプリケーションが、アクション“ACTION_EDIT”のカテゴリ“INPUTMETHOD”に対して“com.pkg.openwnn”、アクション“ACTION_MAIN”のカテゴリ“PHONE”に対して“com.pkg.phone”、同アクションのカテゴリ“CAMERA”に対して“com.pkg.camera”という情報が登録される。
これは、プロファイル特徴名“会社”のプロファイルに対して、開発者(提供元)が“開発者X”であるアプリケーションのみを呼出先候補として許容することを示す。更に、アクション“ACTION_EDIT”のカテゴリ“INPUTMETHOD”である呼出に対しては、“com.pkg.openwnn”のみを呼出先のアプリケーションとして許容することを示す。アクション“ACTION_MAIN”のカテゴリ“PHONE”である呼出に対しては、“com.pkg.phone”のみを呼出先のアプリケーションとして許容することを示す。アクション“ACTION_MAIN”のカテゴリ“CAMERA”である呼出に対しては、“com.pkg.camera”のみを呼出先のアプリケーションとして許容することを示す。
なお、以下の説明において、プロファイル情報という場合、特に断らない限りは安全対策テーブル122に登録される安全対策情報も含むものとする。例えば、プロファイルID“PROF−2”のプロファイル情報といえば、プロファイルID“PROF−2”を含むプロファイルテーブル121のレコードと、当該レコードに対応するプロファイル特徴名“会社”のレコードとの両方を示すものとする。
図11は、第2の実施の形態のリンク管理テーブルの例を示す図である。リンク管理テーブル123は、記憶部120に格納される。リンク管理テーブル123は、呼出元アプリURI、アクション、カテゴリおよび呼出先アプリURIの項目を含む。
呼出元アプリURIの項目には、呼出元のアプリケーションのURIが登録される。アクションの項目には、呼出先アプリのアクションが登録される。カテゴリの項目には、呼出内容に含まれるカテゴリが登録される。呼出先アプリURIの項目には、呼出先のアプリケーションのURIが登録される。
例えば、リンク管理テーブル123には、呼出元アプリURIが“jp.abc.gyoumu.kaikei.A”、アクションが“ACTION_EDIT”カテゴリが“INPUTMETHOD”、呼出先アプリURIが“com.pkg.openwnn”という情報が登録される。これは、“jp.abc.gyoumu.kaikei.A”で示されるアプリケーションからアクション“ACTION_EDIT”、カテゴリ“INPUTMETHOD”を指定した呼出があったとき、“com.pkg.openwnn”を実行させるようにインテント選択用データ114の設定を行うことを示す。
図12は、第2の実施の形態のプロファイル取得例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
(ステップS11)プロファイル管理部151は、アプリケーションを指定したプロファイル情報の設定方法の選択を受け付ける。ユーザは、2種類の方法でアプリケーションごとのプロファイル情報を携帯端末装置100に設定できる。1つ目は、手入力する方法である。2つ目は、サーバ200からダウンロードする方法である。例えば、プロファイル管理部151は、2種類の方法の何れを用いてプロファイル情報を入力するかをユーザに選択させるためのGUIをディスプレイ105に表示させて、ユーザによる選択を受け付けることができる。
(ステップS12)プロファイル管理部151は、手入力が選択されたか否かを判定する。手入力が選択された場合、処理をステップS13に進める。手入力が選択されていない場合、処理をステップS14に進める。
(ステップS13)プロファイル管理部151は、ユーザによる入力デバイス106を用いたプロファイル情報の入力を受け付ける。例えば、プロファイル管理部151は、記憶部120に記憶されたプロファイルテーブル121の各項目に登録する情報の入力を受け付けるためのGUIをディスプレイ105に表示させて、ユーザによるプロファイル情報の入力を受け付けることができる。そして、処理をステップS16に進める。
(ステップS14)プロファイル管理部151は、ダウンロードが選択されたか否かを判定する。ダウンロードが選択された場合、処理をステップS15に進める。ダウンロードが選択されていない場合、処理を終了する。
(ステップS15)プロファイル管理部151は、ステップS11で指定されたアプリケーションに対応するプロファイル情報を、サーバ200からダウンロードする。
(ステップS16)プロファイル管理部151は、取得したプロファイル情報をプロファイルテーブル121に登録する。
このようにして、携帯端末装置100はプロファイル情報を取得し、プロファイルテーブル121に登録する。例えば、ステップS11の開始の契機は、ユーザによって指定された任意のタイミング(例えば、ユーザにより開始のための入力を受け付けたタイミング)でもよい。あるいは、新たにアプリケーションをインストールするタイミングでもよい。具体的には、新たなアプリケーションのプログラムの(1)ダウンロード直前に、(2)ダウンロードとともに、(3)ダウンロード直後に、の何れかのタイミングで開始することが考えられる。この場合、何れかのタイミングで、プロファイル管理部151は、ユーザに選択を促すGUIを提示する。
次に、新たなアプリケーションを取得する際の手順を説明する。
図13は、第2の実施の形態のアプリ取得例を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
(ステップS21)システムサービス部130は、新たなアプリケーションのプログラムをサーバ200からダウンロードする。システムサービス部130は、ダウンロードした当該アプリケーションのデータからパッケージ管理情報を取得して、記憶部110に記憶されたパッケージ管理テーブル112に登録する。
(ステップS22)システムサービス部130は、プロファイル管理部151に処理を委譲する。プロファイル管理部151は、当該アプリケーションのパッケージ管理情報に基づいて、リンク管理情報を生成し、リンク管理テーブル123に登録する。プロファイル管理部151はシステムサービス部130に処理を委譲する。
(ステップS23)システムサービス部130は、ダウンロードしたアプリケーションのインストールを実行する。
(ステップS24)システムサービス部130は、当該アプリケーションのインストールが完了して、利用可能になったことをユーザに通知する。
次に、ステップS22の手順を詳細に説明する。
図14は、第2の実施の形態のリンク登録例を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
(ステップS31)プロファイル管理部151は、記憶部110に記憶されたパッケージ管理テーブル112を参照して、ダウンロードしたアプリケーションのパッケージ管理情報を取得する。
(ステップS32)プロファイル管理部151は、パッケージ管理情報からパッケージ名を抽出する。このとき、プロファイル管理部151は、パッケージ管理情報に含まれるマニフェスト情報と、端末管理テーブル111に登録されたプラットフォーム版数などを照合して、当該パッケージ名が、携帯端末装置100の現動作環境と適合していることを確認する。プロファイル管理部151は、プロファイルテーブル121を参照して、パッケージ名のプレフィクスに対応するプロファイル情報を取得する。
(ステップS33)プロファイル管理部151は、当該アプリケーションに関するプロファイル情報を参照してリンク管理情報を生成する。具体的には、プロファイル管理部151は、マニフェスト情報に含まれるカテゴリを指定した他のアプリケーションの呼出(「暗黙のインテント」)を抽出する。そして、当該カテゴリに対して許容されるアプリケーションを安全対策テーブル122から取得する。プロファイルテーブル121のレコードと安全対策テーブル122のレコードとはプロファイル特徴名によって関連付けられている。プロファイル管理部151は、シグニチャ情報の照合も行う。具体的には、許容されるアプリケーションのシグニチャ情報とパッケージ管理テーブル112に登録されたシグニチャ情報とが一致することを確認する。一致していない場合、パッケージ管理テーブル112に登録されているパッケージ名が不正なアプリによるなりすましであるおそれがあるからである。プロファイル管理部151は、ダウンロードされたアプリケーションとマニフェスト情報から抽出したカテゴリと安全対策情報で許容されるアプリケーションとの対応関係を示すリンク管理情報を生成する。なお、なりすましを検出した場合は、リンク管理情報を生成しないように制御し、ステップS34,S35をスキップしてステップS36に進んでもよい。
(ステップS34)プロファイル管理部151は、ステップS33で生成したリンク管理情報に含まれる呼出先のアプリケーションが携帯端末装置100にインストール済であるか否かを判定する。インストール済である場合、処理をステップS35に進める。インストール済でない場合、処理をステップS36に進める。
(ステップS35)プロファイル管理部151は、ステップS33で生成したリンク管理情報をリンク管理テーブル123に登録する。
(ステップS36)プロファイル管理部151は、システムサービス部130に処理を戻す。
このようにして、携帯端末装置100は、アプリケーションのプログラムをダウンロードしたタイミングで、プロファイル情報に基づいてリンク管理情報を生成し、リンク管理テーブル123に登録する。ただし、呼出先のアプリケーションが未インストールの場合には、リンク管理テーブル123に新たなエントリは追加されないことになる。
また、アプリケーションをダウンロードする際にリンク管理情報を生成することで、携帯端末装置100に存在しないアプリケーションについてまでリンク管理情報が作成されてしまうことを防げる。例えば、余計な情報を保持すると、携帯端末装置100の記憶領域を無駄に消費することになり非効率的だからである。
また、ダウンロードとともにアプリケーションに関するパッケージ管理情報も取得され得るため、当該アプリケーションのダウンロードのタイミングとは別個のタイミングで、当該パッケージ管理情報をサーバ200からダウンロードしなくてよい。よって、サーバ200やネットワーク20などに対して、余計な負荷をかけずに済む。
ここで、ステップS33の処理の具体例を説明する。例えば、“jp.abc.gyoumu.kaikei.A”のアプリケーションをダウンロードした場合は次のような処理となる。“jp.abc.gyoumu.kaikei.A”のマニフェスト情報では、「暗黙のインテント」として、2つのカテゴリ“INPUTMETHOD”および“PHONE”が登録されているとする。
この場合、プロファイルテーブル121によれば、当該アプリケーションは“PROF−3”のプロファイルに属する。プレフィクス“jp.abc.gyoumu.kaikei.*”に該当するからである。すると、そのプロファイル特徴名は“会社”であるから、安全対策テーブル122においてプロファイル特徴名“会社”のレコードを参照すればよい。当該レコードでは、カテゴリ“INPUTMETHOD”(アクション“ACTION_EDIT”)に対して“com.pkg.openwnn”が呼出先のアプリケーションとして許容されている。また、カテゴリ“PHONE”(アクション“ACTION_MAIN”)に対して“com.pkg.phone”が呼出先のアプリケーションとして許容されている。
よって、プロファイル管理部151は、第1に、呼出元アプリURI“jp.abc.gyoumu.kaikei.A”、アクション“ACTION_EDIT”、カテゴリ“INPUTMETHOD”、呼出先アプリURI“com.pkg.openwnn”の対応関係を示すリンク管理情報を生成する。第2に、呼出元アプリURI“jp.abc.gyoumu.kaikei.A”、アクション“ACTION_MAIN”、カテゴリ“PHONE”、呼出先アプリURI“com.pkg.phone”の対応関係を示すリンク管理情報を生成する。
なお、ステップS33では、プロファイルテーブル121にプロファイルの登録があっても、対応するプロファイル特徴名が安全対策テーブル122にない場合が考えられる。また、プロファイルテーブル121および安全対策テーブル122の何れにも、呼出元のアプリケーションに関連するエントリがない場合も考えられる。その場合には、安全対策テーブル122に登録されたプロファイル特徴名“デフォルト”のレコードを用いて、リンク管理情報を生成することができる。
また、安全対策テーブル122には、あるカテゴリについて呼出先として許容するアプリケーションが複数登録されることもある。その場合、ステップS33において、プロファイル管理部151は、何れを呼出先として利用するかをユーザに問い合わせてもよい。例えば、選択用のGUIをユーザに提示して、ユーザによる選択を受け付けることが考えられる。安全対策テーブル122には、信頼されたアプリケーションが登録されることになる。したがって、ステップS33でユーザにアプリケーションを選択させたとしても、セキュリティ性は確保される。また、複数のうちの何れかが未インストールであり、呼出先を1つに絞れるならば、呼出先のアプリケーションをユーザに選択させなくてもよい。
次に、アプリケーション実行時のインテント制御の手順を説明する。
図15は、第2の実施の形態のインテント制御例を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
(ステップS41)システムサービス部130は、あるアプリケーションによる「暗黙のインテント」を受け付ける。システムサービス部130は、呼出元の当該アプリケーションのURI、「暗黙のインテント」で指定されたアクションやカテゴリの情報を取得する。
(ステップS42)システムサービス部130は、記憶部110に記憶されたインテント選択用データ114を参照して、呼出元アプリURI、アクションおよびカテゴリを含むレコードが存在するか否かを判定する。存在する場合、処理をステップS46に進める。存在しない場合、処理をステップS43に進める。
(ステップS43)システムサービス部130は、新しいインテント選択情報を生成する。ここで、インテント選択情報はインテント選択用データ114内の1つのレコードである。新しいインテント選択情報は、ステップS41で取得した呼出元のアプリケーションのURI、アクションおよびカテゴリの情報が設定された状態である。新しいインテント選択情報は、呼出先のアプリケーションのURIが未設定の状態である。システムサービス部130は、プロファイル監視部152を呼出し、処理を委譲する。
(ステップS44)プロファイル監視部152は、システムサービス部130から取得したインテント選択情報に対する呼出先のアプリケーションのURIの設定制御を行う。この処理の結果、呼出先のアプリケーションのURIが当該インテント選択情報に設定される。処理の内容によっては呼出先のアプリケーションのURIが当該インテント選択情報に設定されないこともある。プロファイル監視部152は、ステップS44の処理が終了するとシステムサービス部130に処理を委譲する。
(ステップS45)システムサービス部130は、新しいインテント選択情報に呼出先のアプリケーションのURIが設定されたか否かを判定する。設定された場合、処理をステップS49に進める。設定されていない場合、処理をステップS46に進める。設定されていない場合には、ステップS43で生成したインテント選択情報を破棄してもよい。
(ステップS46)システムサービス部130は、インテント選択用データ114を参照して、ステップS41で受け付けた「暗黙のインテント」に対応する呼出先のアプリケーションのURIが設定されているか否かを判定する。設定されている場合、処理をステップS49に進める。設定されていない場合、処理をステップS47に進める。
(ステップS47)システムサービス部130は、Chooserを呼出す。Chooserとは、呼出先候補の複数のアプリケーションをユーザに提示し、ユーザによる何れかのアプリケーションの選択を促す機能である。例えば、Chooserは、記憶部110に記憶されたカテゴリ管理テーブル113を参照して、指定されたカテゴリに対する呼出先候補のアプリケーションのURIを取得する。Chooserは、ユーザによる選択とともに、「今後も選択されたアプリケーションを呼出す」との指定を受け付けるようにしてもよい。その場合、Chooserは、選択された呼出先のアプリケーションのURIをインテント選択用データ114に対応するレコード(インテント選択情報)を設定してもよい。また、カテゴリ管理テーブル113において、呼出先候補が1つであれば、呼出先候補をユーザに提示せずに、ステップS48へ進んでもよい。
(ステップS48)システムサービス部130は、ユーザにより選択された呼出先のアプリケーションを実行する。ステップS47で呼出先候補のアプリケーションが1つであった場合は、当該アプリケーションを実行する。
(ステップS49)システムサービス部130は、インテント選択用データ114に設定された、対応する呼出先のアプリケーションを実行する。
このようにして、携帯端末装置100は「暗黙のインテント」が発生すると、プロファイル監視部152を用いて、インテント選択用データ114に呼出先のアプリケーションのURIの設定制御を行う。これにより、当該「暗黙のインテント」に対応する呼出先のアプリケーションのURIがインテント選択用データ114に登録され得る。次に、上記ステップS44の手順を説明する。
図16は、第2の実施の形態の呼出先の設定制御例を示すフローチャートである。以下、図16に示す処理をステップ番号に沿って説明する。
(ステップS51)プロファイル監視部152は、呼出元(「暗黙のインテント」の発行元)のアプリケーションのURIを取得する。
(ステップS52)プロファイル監視部152は、記憶部120に記憶されたリンク管理テーブル123を参照して、当該URIを含むレコードを検索する。
(ステップS53)プロファイル監視部152は、該当するレコードがあるか否かを判定する。該当するレコードがある場合、処理をステップS54に進める。該当するレコードがない場合、処理を終了する。
(ステップS54)プロファイル監視部152は、システムサービス部130によって生成された新しいインテント選択情報(図15のステップS43で生成された情報)に、呼出先のアプリケーションのURIの設定がないか否かを判定する。設定がない場合、処理をステップS55に進める。設定がある場合、処理を終了する。
(ステップS55)プロファイル監視部152は、リンク設定部153を呼出し、処理を委譲する。リンク設定部153は、当該インテント選択情報に呼出先のアプリケーションを設定するための処理を実行する。次に、本ステップS55の手順を説明する。
図17は、第2の実施の形態の呼出先の設定例を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
(ステップS61)リンク設定部153は、呼出元アプリURIおよび「暗黙のインテント」で指定されたアクションやカテゴリを含むレコードをリンク管理テーブル123から検索する。
(ステップS62)リンク設定部153は、該当するレコードがあるか否かを判定する。該当するレコードがある場合、処理をステップS63に進める。該当するレコードがない場合、処理を終了する。
(ステップS63)リンク設定部153は、リンク管理テーブル123から検索されたレコードに含まれる呼出先のアプリケーションのURIを取得する。リンク設定部153は、システムサービス部130によって生成された新しいインテント選択情報(図15のステップS43で生成された情報)に当該URIを設定する。
このようにして、携帯端末装置100は「暗黙のインテント」が発生するたびに、リンク制御部150(プロファイル監視部152およびリンク設定部153)を用いて、インテント選択情報に呼出先のアプリケーションのURIを登録する。どのURIを設定するかは、リンク管理テーブル123に基づいて判断することができる。すなわち、「暗黙のインテント」に対し、システムサービス部130にとってインテント選択用データ114が複数の呼出先のアプリケーションをユーザに選択させる旨を示しているとしても、リンク制御部150がリンク管理テーブル123に基づいて、当該「暗黙のインテント」に応じた呼出先のアプリケーションを特定できることになる。
図18は、第2の実施の形態のインテント制御例を示す図である。図18では、呼出元のアプリケーションとして2つのアプリケーションが例示されている。第1のアプリケーションは“jp.zzz.app.Z”である。第2のアプリケーションは“jp.abc.gyoumu.kaikei.A”である。なお、何れのアプリケーションからの呼出もアクションは“ACTION_EDIT”を指定しているものとする。更に、図18で例示するインテント選択情報およびリンク管理情報では、アクションの項目を省略している。図18に示すインテント選択情報およびリンク管理情報の何れも、アクションの項目は“ACTION_EDIT”である。
ここで、“jp.zzz.app.Z”は「明示のインテント」で呼出先のアプリケーション“com.pkg.openwnn”を指定している。“jp.abc.gyoumu.kaikei.A”は「暗黙のインテント」で呼出先のアプリケーション(カテゴリ“INPUTMETHOD”に属するアプリケーション)を指定している。
システムサービス部130は、第1のアプリケーション“jp.zzz.app.Z”から「明示のインテント」を受け付けると、明示的に指定された“com.pkg.openwnn”を呼出す。
一方、システムサービス部130は第2のアプリケーション“jp.abc.gyoumu.kaikei.A”から、カテゴリ“INPUTMETHOD”を指定した「暗黙のインテント」を受け付けると、次のような処理を実行する。
まず、システムサービス部130はインテント選択用データ114を参照して、当該「暗黙のインテント」に対応するレコード(インテント選択情報)を検索する。具体的には、呼出元のアプリケーションのURIおよび当該「暗黙のインテント」で指定される(アクションや)カテゴリを含むインテント選択情報を検索する。そして、インテント選択情報が検索されない場合、呼出元のアプリケーションのURIおよび当該カテゴリを含むインテント選択情報114aを生成して、リンク制御部150に処理を委譲する。
次に、リンク制御部150はリンク管理テーブル123から、当該呼出元のアプリケーションのURIおよび指定されたカテゴリを含むレコード(リンク管理情報123a)を検索する。リンク制御部150は、リンク管理情報123aに登録された呼出先のアプリケーションのURI“com.pkg.openwnn”を抽出する。リンク制御部150は、当該呼出先のアプリケーションのURIをインテント選択情報114aに設定する。設定後のレコードがインテント選択情報114bである。リンク制御部150はシステムサービス部130へ処理を戻す。
そして、システムサービス部130は、第2のアプリケーション“jp.abc.gyoumu.kaikei.A”による「暗黙のインテント」に対して、インテント選択用データ114に基づく呼出先の選択を行う。具体的には、インテント選択情報114bを参照して、呼出先のアプリケーション“com.pkg.openwnn”を選択する。このため、カテゴリ“INPUTMETHOD”の呼出先候補として、例えば不正な処理を実行するアプリケーション(不正アプリと称することがある)が存在しても、当該不正アプリがユーザにより選択されることの防止を図れる。
図19は、インテント制御の比較例を示す図である。図19では、第2の実施の形態の情報処理を行わない場合のインテント制御を例示している。ただし、システムサービス部130aは第2の実施の形態におけるシステムサービス部130に対応するものであるが、リンク制御部150との連携を行うものではない。それ以外のユニットについては、便宜的に携帯端末装置100のユニットと同一の名称・符号を用いる。また、図19で示す呼出元のアプリケーションは、図18で示した第1,第2のアプリケーションと同一である。なお、何れのアプリケーションからの呼出もアクションは“ACTION_EDIT”を指定しているものとする。更に、図19で例示するインテント選択情報およびリンク管理情報では、アクションの項目を省略している。図19に示すインテント選択情報のアクションの項目は“ACTION_EDIT”である。
システムサービス部130aは、第1のアプリケーション“jp.zzz.app.Z”による「明示のインテント」を、図18で説明したシステムサービス部130と同様に処理する。
一方、システムサービス部130aは第2のアプリケーション“jp.abc.gyoumu.kaikei.A”からカテゴリ“INPUTMETHOD”を指定した「暗黙のインテント」を受け付けると、次のような処理を実行する。
まず、システムサービス部130aは、インテント選択用データ114を参照して、当該「暗黙のインテント」に対応するレコード(インテント選択情報)を検索する。具体的には、呼出元のアプリケーションのURIおよび当該「暗黙のインテント」で指定される(アクションや)カテゴリを含むインテント選択情報を検索する。検索された当該インテント選択情報に、呼出先のアプリケーションのURIが設定されている場合、当該呼出先のアプリケーションを実行する。一方、呼出先のアプリケーションのURIが設定されていない場合、呼出先候補のアプリケーションをユーザに提示して選択を促す。
後者の場合、具体的な処理は次のようになる。システムサービス部130aは、Chooserを呼出す。Chooserは、アプリ選択用GUI30を生成して、ディスプレイ105に表示させ、呼出先のアプリケーションのユーザによる選択を促す。例えば、アプリ選択用GUI30では、呼出先候補のアプリケーション“com.pkg.openwnn”や不正アプリなどを示す情報がリストアップされ得る。この場合、ユーザが不正アプリを選択してしまうおそれがある。更に、アプリ選択用GUI30には、“常にこの操作で使用”する旨の設定を行うためのフォームを表示することも考えられる。当該フォームで“常にこの操作で使用”することが指定されると、Chooser(あるいは、システムサービス部130a)により、呼出先アプリURIに不正アプリのURIが設定されたレコード(インテント選択情報114c)がインテント選択用データ114に登録されてしまう。
なお、呼出元のアプリケーションのURI、アクションやカテゴリを含むインテント選択情報がインテント選択用データ114に存在しない場合もある。その場合は当該インテント選択情報(呼出先アプリURIは未設定)を新たに生成して上記と同様の処理を行う。
このように、ユーザがアプリ選択用GUI30で不正アプリを選択してしまうと、不正アプリが実行されることになる。不正アプリには、例えば、入力された情報を無断で他の装置に送信するなどの不正な処理を行うものが存在し得る。このため、ユーザの個人情報や機密情報が漏えいするおそれがある。更に、当該呼出元のアプリケーションからの「暗黙のインテント」に対して当該不正アプリが常に実行されるように設定されてしまうと、情報漏えいなどのリスクは増大する。
そこで、第2の実施の形態の携帯端末装置100は、「暗黙のインテント」に対して、リンク管理テーブル123を用意する。そして、「暗黙のインテント」が発生した場合は、リンク管理テーブル123に基づいて、インテント選択用データ114に呼出先のアプリケーションのURIの設定を行う。リンク管理テーブル123は、プロファイルテーブル121および安全対策テーブル122に基づいて生成される。
例えば、プロファイルテーブル121および安全対策テーブル122は、アプリケーションの開発者、提供者あるいは情報処理システムの管理者などによって作成され得る。このようにして作成されたプロファイルテーブル121および安全対策テーブル122は、サーバ200によって携帯端末装置100に提供され得る。
あるいは、プロファイルテーブル121および安全対策テーブル122は、携帯端末装置100のユーザによって作成され得る。このように、呼出先のアプリケーションとして許容するアプリケーションを、プロファイルごとに設定しておくことで、不正なアプリが選択されることの防止を図ったインテント制御を行える。具体的には、インテント選択用データ114に適正な呼出先のアプリケーションが設定されるように制御することで、Chooserなどが不正なアプリをユーザに選択させてしまう状況が発生しないよう制御できる。
また、1つのプロファイルで識別されるアプリケーション群において、特定のアプリケーションを呼出先として指定したいこともある。例えば、互いに連携する会計用のアプリケーション群などに対して、所定の機能を提供するアプリケーションとして特定のものをユーザに利用させたいということもある。より具体的には、アプリケーション群がサポートする業務につき、信頼性を確保するための機能や操作性を向上させる機能などを提供する特定のアプリケーションを利用させたい場合などである。そのような場合にも、対応するプロファイルに対して、安全対策テーブル122で許容する呼出先のアプリケーションを指定しておけばよい。これにより、一群のアプリケーションによる「暗黙のインテント」に対して当該特定のアプリケーションが呼出されるように制御できる。
また、上記の例では、プロファイルテーブル121において、プロファイルに対してプレフィクスを登録することで、アプリケーション群に対し、許容する呼出先のアプリケーションの設定を可能とした。ただし、1つのアプリケーションに対し、許容する呼出先のアプリケーションの設定をすることも可能である。その場合は、プロファイルテーブル121のプレフィクスの項目に呼出元のアプリケーションを示す完全なURIを設定すればよい。
なお、前述のように、第1の実施の形態の情報処理は、演算部1bにプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。プログラムは、情報処理装置1、携帯端末装置100およびコンピュータなどの情報処理装置により読み取り可能な記録媒体(例えば、光ディスクやメモリカードなど)に記録できる。
プログラムを流通させる場合、例えば、当該プログラムを記録した可搬記録媒体が提供される。また、プログラムを他のコンピュータの記憶装置に格納しておき、ネットワーク経由でプログラムを配布することもできる。情報処理装置は、例えば、可搬記録媒体に記録されたプログラムまたは他のコンピュータから受信したプログラムを、記憶装置に格納し、当該記憶装置からプログラムを読み込んで実行する。ただし、可搬記録媒体から読み込んだプログラムを直接実行してもよく、他のコンピュータからネットワークを介して受信したプログラムを直接実行してもよい。
また、上記の情報処理の少なくとも一部を、DSP、ASIC、PLDなどの電子回路で実現することもできる。
1 情報処理装置
1a 記憶部
1b 演算部

Claims (8)

  1. 複数のソフトウェアを実行可能な情報処理装置であって、
    呼出元のソフトウェアからの呼出の内容に対して複数の呼出先のソフトウェアの何れかをユーザに選択させるか否かを判定するために用いられる第1の情報と、前記呼出元のソフトウェアからの1または複数の呼出の内容それぞれと呼出先のソフトウェアとの対応関係を示す第2の情報とを記憶する記憶部と、
    前記呼出元のソフトウェアによる呼出を受け付け、当該呼出に対して前記第1の情報が前記複数の呼出先のソフトウェアの何れかをユーザに選択させる旨を示すとき、前記複数の呼出先のソフトウェアの何れかをユーザに選択させる代わりに、前記第2の情報に基づいて当該呼出の内容に対応する呼出先のソフトウェアを特定し、実行する演算部と、
    を有する情報処理装置。
  2. 前記演算部は、呼出元のソフトウェアが属するソフトウェアの集合に対して、呼出の内容ごとに許容される呼出先のソフトウェアを示す情報を登録した第3の情報を他の装置から取得し、または前記第3の情報のユーザによる入力を許容し、前記第3の情報に基づいて前記第2の情報を生成する、請求項1記載の情報処理装置。
  3. 前記演算部は、呼出元のソフトウェアのプログラムを他の装置から取得する際に、前記第2の情報を生成する、請求項2記載の情報処理装置。
  4. 前記第3の情報は、呼出元のソフトウェアの第1の提供元を示す情報を含み、
    前記演算部は、他の装置から取得された呼出元のソフトウェアの第2の提供元が前記第1の提供元に一致するか否かに基づいて、取得された当該呼出先のソフトウェアについて前記第2の情報を生成するか否かを決定する、
    請求項3記載の情報処理装置。
  5. 前記演算部は、前記第3の情報に登録された呼出先のソフトウェアがインストール済であるか否かに基づいて、当該呼出先のソフトウェアの情報を前記第2の情報に登録するか否かを決定する、請求項2乃至4の何れか1項に記載の情報処理装置。
  6. 前記第1の情報は、前記呼出元のソフトウェアからの呼出の内容に対して何れかの呼出先のソフトウェアを指定する情報が前記第1の情報に登録されていない場合に前記複数の呼出先のソフトウェアの何れかをユーザに選択させる旨を示し、前記呼出元のソフトウェアからの呼出の内容に対して何れかの呼出先のソフトウェアを指定する情報が前記第1の情報に登録されている場合に当該呼出先のソフトウェアを実行する旨を示すものであり、
    前記演算部は、前記呼出元のソフトウェアから受け付けた呼出の内容に対する呼出先のソフトウェアを前記第2の情報に基づいて特定し、前記呼出元のソフトウェアからの当該呼出の内容に対応付けて前記第1の情報に登録することで、当該呼出に対して、特定された呼出先のソフトウェアを実行するように制御する、
    請求項1乃至5の何れか1項に記載の情報処理装置。
  7. 複数のソフトウェアを実行可能なコンピュータに、
    呼出元のソフトウェアからの呼出の内容に対して複数の呼出先のソフトウェアの何れかをユーザに選択させるか否かを判定するために用いられる第1の情報と、前記呼出元のソフトウェアからの1または複数の呼出の内容それぞれと呼出先のソフトウェアとの対応関係を示す第2の情報とを参照して、前記呼出元のソフトウェアによる呼出を受け付け、当該呼出に対して前記第1の情報が前記複数の呼出先のソフトウェアの何れかをユーザに選択させる旨を示すとき、前記複数の呼出先のソフトウェアの何れかをユーザに選択させる代わりに、前記第2の情報に基づいて当該呼出の内容に対応する呼出先のソフトウェアを特定し、
    特定された呼出先のソフトウェアが実行されるように制御する、
    処理を実行させるプログラム。
  8. 複数のソフトウェアを実行可能な情報処理装置が、
    呼出元のソフトウェアからの呼出の内容に対して複数の呼出先のソフトウェアの何れかをユーザに選択させるか否かを判定するために用いられる第1の情報と、前記呼出元のソフトウェアからの1または複数の呼出の内容それぞれと呼出先のソフトウェアとの対応関係を示す第2の情報とを参照して、前記呼出元のソフトウェアによる呼出を受け付け、当該呼出に対して前記第1の情報が前記複数の呼出先のソフトウェアの何れかをユーザに選択させる旨を示すとき、前記複数の呼出先のソフトウェアの何れかをユーザに選択させる代わりに、前記第2の情報に基づいて当該呼出の内容に対応する呼出先のソフトウェアを特定し、
    特定された呼出先のソフトウェアを実行する、
    ソフトウェア実行制御方法。
JP2012198046A 2012-09-10 2012-09-10 情報処理装置、プログラムおよびソフトウェア実行制御方法 Expired - Fee Related JP5971042B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012198046A JP5971042B2 (ja) 2012-09-10 2012-09-10 情報処理装置、プログラムおよびソフトウェア実行制御方法
US13/960,468 US8875164B2 (en) 2012-09-10 2013-08-06 Information processing apparatus and method for controlling information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012198046A JP5971042B2 (ja) 2012-09-10 2012-09-10 情報処理装置、プログラムおよびソフトウェア実行制御方法

Publications (2)

Publication Number Publication Date
JP2014052927A true JP2014052927A (ja) 2014-03-20
JP5971042B2 JP5971042B2 (ja) 2016-08-17

Family

ID=50234767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012198046A Expired - Fee Related JP5971042B2 (ja) 2012-09-10 2012-09-10 情報処理装置、プログラムおよびソフトウェア実行制御方法

Country Status (2)

Country Link
US (1) US8875164B2 (ja)
JP (1) JP5971042B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018129011A (ja) * 2017-02-10 2018-08-16 日本電信電話株式会社 データ処理装置、基盤及びデータ出力方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5971099B2 (ja) * 2012-12-04 2016-08-17 富士通株式会社 情報処理装置、方法及びプログラム
CN105868010A (zh) * 2016-03-28 2016-08-17 乐视控股(北京)有限公司 一种应用调用方法和终端
US10089983B1 (en) * 2017-06-08 2018-10-02 Amazon Technologies, Inc. Third party account linking for voice user interface
CN110989876B (zh) * 2019-10-30 2023-09-22 深圳市普天宜通技术股份有限公司 一种应用程序适配方法、移动终端及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009087035A (ja) * 2007-09-28 2009-04-23 Toshiba Solutions Corp 暗号クライアント装置、暗号パッケージ配信システム、暗号コンテナ配信システム、暗号管理サーバ装置、ソフトウェアモジュール管理装置、ソフトウェアモジュール管理プログラム
US20100154026A1 (en) * 2008-12-16 2010-06-17 Microsoft Corporation Automated software restriction policy rule generation
US20120036507A1 (en) * 2010-08-04 2012-02-09 Premkumar Jonnala System, method and apparatus for managing applications on a device
JP2012138844A (ja) * 2010-12-27 2012-07-19 Canon Inc 通信装置、通信装置の制御方法およびプログラム
JP2014010606A (ja) * 2012-06-29 2014-01-20 Ntt Docomo Inc 情報処理装置、情報通知方法及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11212931A (ja) 1998-01-30 1999-08-06 Hitachi Ltd プログラム連携方法
US7028312B1 (en) * 1998-03-23 2006-04-11 Webmethods XML remote procedure call (XML-RPC)
JP2004341999A (ja) 2003-05-19 2004-12-02 Nippon Telegr & Teleph Corp <Ntt> アプリケーション連携制御装置、アプリケーション連携制御方法、アプリケーション連携制御プログラム及び記録媒体
JP4681968B2 (ja) * 2004-08-06 2011-05-11 株式会社リコー サービス要求装置、サービス要求方法、サービス要求プログラム、及び記録媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009087035A (ja) * 2007-09-28 2009-04-23 Toshiba Solutions Corp 暗号クライアント装置、暗号パッケージ配信システム、暗号コンテナ配信システム、暗号管理サーバ装置、ソフトウェアモジュール管理装置、ソフトウェアモジュール管理プログラム
US20100154026A1 (en) * 2008-12-16 2010-06-17 Microsoft Corporation Automated software restriction policy rule generation
US20120036507A1 (en) * 2010-08-04 2012-02-09 Premkumar Jonnala System, method and apparatus for managing applications on a device
JP2012138844A (ja) * 2010-12-27 2012-07-19 Canon Inc 通信装置、通信装置の制御方法およびプログラム
JP2014010606A (ja) * 2012-06-29 2014-01-20 Ntt Docomo Inc 情報処理装置、情報通知方法及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6016007500; 野澤 貴 Takashi Nozawa: 'Mobile Web' 人工知能学会誌 第25巻 第5号 Journal of the Japanese Society for Artificial Intelligence 第25巻, 20100910, pp.694-701, (社)人工知能学会 The Japanese Society for Artif *
JPN6016007501; 越野 亮: 'なるほど、そういうことか! イラストで分かるAndroidアプリ作り' 日経Linux 第13巻 第5号 NIKKEI Linux 第13巻, 20110408, pp.107-113, 日経BP社 Nikkei Business Publications,Inc. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018129011A (ja) * 2017-02-10 2018-08-16 日本電信電話株式会社 データ処理装置、基盤及びデータ出力方法

Also Published As

Publication number Publication date
US20140075456A1 (en) 2014-03-13
JP5971042B2 (ja) 2016-08-17
US8875164B2 (en) 2014-10-28

Similar Documents

Publication Publication Date Title
US8844013B2 (en) Providing third party authentication in an on-demand service environment
JP6270066B2 (ja) ブランドの自己識別、およびジェネリック電子デバイスにおけるブランディング済ファームウェアのインストール
US8612967B1 (en) Loading branded media outside system partition
US8577334B1 (en) Restricted testing access for electronic device
US10555147B2 (en) Systems and methods for facilitating service provision between applications
JP5971042B2 (ja) 情報処理装置、プログラムおよびソフトウェア実行制御方法
US9317681B2 (en) Information processing apparatus, information processing method, and computer program product
US20140220958A1 (en) Network system, terminal customization method, and customization service method
US20190243627A1 (en) Systems and methods for mobile application installation
US9836771B1 (en) Client mediation and integration to advertisement gateway
JP2015141473A (ja) サーバーシステム、サーバーシステムを制御する方法、プログラム
JP5079044B2 (ja) 情報処理装置およびメニュー画面生成方法
JP2004171258A (ja) パーミッショントークン管理システム及びプログラム
US20080263140A1 (en) Network System, Server, Client, Program and Web Browsing Function Enabling Method
JP5923586B2 (ja) 情報処理システム
US10055757B1 (en) IP address hashing in advertisement gateway
KR100608150B1 (ko) 무선인터넷 서비스 시스템을 위한 무선컨텐츠 다운로드시스템 및 그 방법
KR20050072554A (ko) 컨텐츠 리소스로부터 모바일 컨텐츠용 프로그램을 자동생성하기 위한 웹 기반 시스템 및 방법
WO2013168492A1 (ja) 通信端末装置、サイト装置、及び情報配信システム
JP6375235B2 (ja) 情報処理装置、プログラムに対するデータの引渡し方法及びプログラム
KR101077338B1 (ko) 컨텐츠 다운로드 시스템 및 그 방법
US20240028754A1 (en) Sharing secured files among applications using an operating system framework
CN110609751B (zh) 一种终端设备控制方法及装置、终端设备及计算机可读存储介质
JP7087506B2 (ja) 機器管理装置、機器管理方法、機器管理プログラム及び機器管理システム
JP6147147B2 (ja) 情報処理システム、情報処理方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160427

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160627

R150 Certificate of patent or registration of utility model

Ref document number: 5971042

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees