JP2018510426A - フィールドプログラマブルビジネスロジックでのアプリケーションのラッピング - Google Patents

フィールドプログラマブルビジネスロジックでのアプリケーションのラッピング Download PDF

Info

Publication number
JP2018510426A
JP2018510426A JP2017550935A JP2017550935A JP2018510426A JP 2018510426 A JP2018510426 A JP 2018510426A JP 2017550935 A JP2017550935 A JP 2017550935A JP 2017550935 A JP2017550935 A JP 2017550935A JP 2018510426 A JP2018510426 A JP 2018510426A
Authority
JP
Japan
Prior art keywords
application
updated
library file
computing device
wrapper
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
JP2017550935A
Other languages
English (en)
Other versions
JP6603730B2 (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 JP2018510426A publication Critical patent/JP2018510426A/ja
Application granted granted Critical
Publication of JP6603730B2 publication Critical patent/JP6603730B2/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
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】フィールドプログラマブルビジネスロジックでアプリケーションをラッピングするためのシステム、方法、及びコンピュータ可読媒体が提示される。【解決手段】コンピューティング装置は、モバイルアプリケーションのアプリケーションコードをロードする。その後、コンピューティング装置は、アプリケーションコードを修正して、1つ以上のポリシーファイルに基づいてアプリケーションの実行を管理するように構成され、アプリケーションコードの1つ以上の機能を傍受するように構成されたアプリケーションラッパでアプリケーションをラッピングし、1つ以上のポリシーファイルは、1つ以上のユーザ装置上の装置管理システムによって行われる1つ以上のアクセス制御をそれぞれ定義する。その後、コンピューティング装置は、ラッパによって傍受された機能のうちの1つ以上にリンクされた実施コードを定義するフィールドプログラマブルビジネスロジックを含むライブラリファイルを作成する。コンピューティング装置は次に、ラッピングされたアプリケーション及びライブラリファイルを少なくとも1つのユーザ装置に提供する。【選択図】図5

Description

本開示の態様は一般的に、コンピューティングハードウェア及びコンピュータソフトウェアに関する。特に、本開示の1つ以上の態様は、フィールドプログラマブルビジネスロジックでアプリケーションをラッピングするための、コンピューティングハードウェア及びコンピュータソフトウェアに関する。
パーソナルコンピュータからモバイル装置まで、様々な種類のコンピューティング装置がますます普及している。さらに、人々がこれらの装置を仕事の目的と個人的な使用との両方に使用することが増えてきている。これらの装置の普及は増え続けており、人々はますます増加する多数の理由のために使用し続けるため、装置管理者は複合アプリケーションを実行する多数の複合装置を管理するための効率的で便利なツールを求めている。管理者は、管理者のコンピューティング装置、及び管理者が関わるコンピュータソフトウェアに、より幅広い利便性、機能性、及び使いやすさを求めており、求め続けるであろう。
本開示の態様は、管理者が複合装置及び複合アプリケーションを管理するための、より便利で、機能的で、及び使いやすい方法を提供する様々なシステム及び技術に関する。
いくつかのモバイル装置アプリケーションは、ポリシーに従って修正され得る複数のラッピングされたアプリケーションを含み得る。例えば、モバイル装置上のカメラソフトウェアは、ユーザのモバイル装置上のポリシーを使用して、操作不可能であるように制限され得る。組織の企業ユーザに利用可能であり得、組織の管理ユーザ及びモバイル装置管理ソフトウェアによって管理され、及び維持される多数のアプリケーションがあり得るため、アプリケーション及び更新をクライアント装置に効率的及び効果的に配信するための技術は、アプリケーションを管理することにおいて、組織及び管理ユーザに便利であり得る。下記でより詳細に述べられる本開示の1つ以上の態様によると、ラッピングされたアプリケーションの要素が、個別に更新可能である異なる断片で配信され得る。
本開示の態様は、管理されるアプリケーションを更新する、効率的で、効果的で、及び便利な方法を提供する。詳細には、本開示の様々な態様によると、モバイル装置は、ラッピングされたアプリケーションへ、またはビジネスロジックを含むライブラリファイルへの更新を受信してもよい。更新は、モバイル装置からの更新をプッシュしてもよい、または要求に応答してもよい、中央サーバによって管理されてもよい。
本開示の1つ以上の態様によると、コンピューティング装置は、モバイルアプリケーションのアプリケーションコードをロードしてもよい。その後、コンピューティング装置は、1つ以上のポリシーファイルに基づいてアプリケーションの実行を管理するように構成され、アプリケーションコードの1つ以上の機能を傍受するように構成された、アプリケーションラッパでアプリケーションをラッピングするようにアプリケーションコードを修正してもよく、1つ以上のポリシーファイルはそれぞれ、1つ以上のユーザ装置上で装置管理システムによって行われる1つ以上のアクセス制御を定義する。いくつかの実施形態では、ライブラリファイルはiOSライブラリであってもよい。その後、コンピューティング装置は、ラッパによって傍受された機能のうちの1つ以上にリンクされた実施コードを定義するフィールドプログラマブルビジネスロジックを含むライブラリファイルを作成してもよい。次に、コンピューティング装置は、ラッピングされたアプリケーションと、ライブラリファイルとを、少なくとも1つのユーザ装置に提供する。
いくつかの実施形態では、アプリケーションコードを修正することは、少なくとも1つのスタブ機能をアプリケーションラッパに追加することを含んでもよく、少なくとも1つのスタブ機能は、ライブラリファイルに提供された実施コードを参照してもよい。追加で、または代替的に、アプリケーションコードを修正することは、フィールドプログラマブルビジネスロジックにおいて定義されている実施コードの一部の実行を引き起こすように、アプリケーションによって使用されるアプリケーションプログラミングインターフェースにおいて定義されている機能をリネーミングすることを含んでもよい。追加で、または代替的に、アプリケーションコードを修正することは、少なくとも1つのアプリケーションフックをアプリケーション内に挿入することを含んでもよく、少なくとも1つのアプリケーションフックは、フィールドプログラマブルビジネスロジックにおいて定義されている実施コードの一部の実行を引き起こしてもよい。
いくつかの実施形態では、ラッピングされたアプリケーション及びライブラリファイルを少なくとも1つのユーザ装置に提供した後、コンピューティング装置は、更新されたライブラリファイルを作成してもよい。いくつかの事象では、更新されたライブラリファイルは、ラッパによって傍受された機能にリンクされた、更新された実施コードを定義する、更新されたフィールドプログラマブルビジネスロジックを含んでもよい。次に、コンピューティング装置は、更新されたライブラリファイルを少なくとも1つのユーザ装置に提供して、アプリケーションラッパが更新されたビジネスロジックを使用して、ラッピングされたアプリケーションの実行を管理してもよい。いくつかの事象では、更新されたライブラリファイルは、少なくとも1つのユーザ装置が更新前のビジネスロジックを使用しているという判定に応答して、少なくとも1つのユーザ装置に提供されてもよい。いくつかの事象では、更新されたライブラリファイルを少なくとも1つのユーザ装置に提供することは、他のアプリケーションのアプリケーションラッパが更新されたビジネスロジックを使用して、他のラッピングされたアプリケーションの実行を管理することを引き起こしてもよい。
いくつかの実施形態では、ユーザ装置は、ライブラリファイルへの更新が利用可能であることの表示を受信してもよい。いくつかの事象では、ライブラリファイルは、ラッパによって傍受された1つ以上の機能にリンクされた実施コードを定義するフィールドプログラマブルビジネスロジックを含んでもよい。いくつかの事象では、ラッパは、コンピューティング装置上で装置管理システムによって行われる1つ以上のアクセス制御を定義する1つ以上のポリシーファイルに基づいて、コンピューティング装置上のモバイルアプリケーションの実行を管理するように構成されてもよい。
いくつかの実施形態では、第1のライブラリファイルへの更新の表示を受信した後、コンピューティング装置は、アプリケーション用のラッパへの更新が利用可能であることを表示するアプリケーション更新を受信してもよい。その後、コンピューティング装置は、ラッピングされたアプリケーションを更新してもよく、ラッパ及びアプリケーションをラッピングされたアプリケーションと置き換えてもよい。
これら、及び追加の態様が、下記にさらに詳細に述べられる。
本開示は、例示のために例証され、同じ参照符号が同じ要素を表示する添付の図面において限定されない。
本明細書で説明される1つ以上の例証的な態様に従って使用されてもよい、例示のコンピュータシステムアーキテクチャを示す。 本明細書で説明される1つ以上の例証的な態様に従って使用されてもよい、例示の遠隔制御システムアーキテクチャを示す。 本明細書で説明される1つ以上の例証的な態様に従って使用されてもよい、エンタープライズモビリティ管理システムの例を示す。 本明細書で説明される1つ以上の例証的な態様に従って使用されてもよい、エンタープライズモビリティ管理システムの別の例を示す。 本明細書で説明される1つ以上の例証的な態様による、フィールドプログラマブルビジネスロジックを備えたラッピングされたアプリケーションを更新する方法を例証するフローチャートを示す。 本明細書で説明される1つ以上の例証的な態様による、フィールドプログラマブルビジネスロジックを備えたラッピングされたアプリケーションに対する更新を受信する方法を例証するフローチャートを示す。
様々な実施形態の下記の説明において、上記で明らかにされ、本明細書の一部を形成する添付の図面が参照され、図面において、本明細書が説明される実施形態が実行されてもよい様々な実施形態が例証によって示される。他の実施形態が利用されてもよく、本明細書で説明される範囲から逸脱せずに、構造的及び機能的な修正が行われてもよいことが理解されるべきである。他の実施形態の様々な態様が可能であり、様々な異なる方法で実行される、または行われることができる。
下記により詳細に説明される主題への一般的な導入として、本明細書で説明される態様は、フィールドプログラマブルビジネスロジックでアプリケーションをラッピングする方法を対象とする。システムは、アプリケーション及び装置管理のより効果的な手段を提供するため、ならびにポリシーを行うために、アプリケーションのラッピングを使用してもよい。フィールドプログラマブルビジネスロジックは、ユーザ装置に対する更新をプログラミングし、維持することにおいて柔軟性を可能にするために使用されてもよい。結果的に、管理者は、アプリケーションを再ラッピングする必要なしに、フィールドプログラマブルビジネスロジックに更新を有利に適用してもよい。
本明細書で使用される表現法及び用語法は説明の目的のためであり、限定であると見做されるべきではないことが理解されるべきである。むしろ、本明細書で使用される表現及び用語は、その最も幅広い解釈及び意味が与えられるべきである。「含む」及び「備える」ならびにそれらの変形の使用は、その後に挙げられた項目及びその等価物、ならびに追加の項目及びその等価物を包括することを意味する。「装着される」、「接続される」、「連結される」、「位置決めされる」、「係止される」、及び同様の用語の使用は、直接的と間接的との両方で装着する、接続する、連結する、位置決めする、及び係止することを含むことを意味する。
〈コンピューティングアーキテクチャ〉
コンピュータソフトウェア、ハードウェア、及びネットワークは、とりわけ、スタンドアロン、ネットワーク接続環境、リモートアクセス(別名、リモートデスクトップ)、仮想化された環境、及び/またはクラウドベースの環境などの様々な異なるシステム環境において利用されてもよい。図1は、スタンドアロン及び/またはネットワーク接続環境で、本明細書で説明される1つ以上の例証的な態様を実施するために使用されてもよいシステムアーキテクチャ及びデータ処理装置の1つの例を例証する。様々なネットワークノード103、105、107及び109は、インターネットなどの広域ネットワーク(WAN)101を介して相互接続されてもよい。プライベートイントラネット、企業ネットワーク、LAN、メトロポリタンエリアネットワーク(MAN)無線ネットワーク、個人ネットワーク(PAN)などを含む他のネットワークもまた、または代替的に使用されてもよい。ネットワーク101は例証の目的のためであり、より少ない、または追加のコンピュータネットワークと置き換えられてもよい。ローカルエリアネットワーク(LAN)は、知られているLANトポロジのうちの1つ以上を有してもよく、イーサネット(登録商標)などの様々な異なるプロトコルのうちの1つ以上を使用してもよい。装置103、105、107、109及び他の装置(図示せず)は、ツイストペアケーブル、同軸ケーブル、光ファイバー、電波、または他の通信媒体を介したネットワークのうちの1つ以上に接続されてもよい。
本明細書で使用され、図面において示されるような「ネットワーク」という用語は、遠隔記憶装置が1つ以上の通信経路を介して互いに連結されるシステムのみを示さず、記憶能力を有するこのようなシステムに時々連結されてもよいスタンドアロン装置も示す。続いて、「ネットワーク」という用語は、「物理ネットワーク」だけではなく、すべての物理ネットワーク上にある単一のエンティティにデータを属させることができるものからなる「コンテンツネットワーク」も含む。
構成要素は、データサーバ103と、ウェブサーバ105と、クライアントコンピュータ107、109とを含んでもよい。データサーバ103は、本明細書で説明される1つ以上の例証的な態様を実行するための、データベースのアクセス、制御、及び管理の全体、ならびに制御ソフトウェアを提供する。データサーバ103は、ユーザが相互作用し、要求されたデータを取得する、ウェブサーバ105に接続されてもよい。代替的に、データサーバ103は、ウェブサーバ自体として作用してもよく、インターネットに直接接続されてもよい。データサーバ103は、直接または間接接続、もしくは他のネットワークを介して、ネットワーク101(例えば、インターネット)を通してウェブサーバ105に接続されてもよい。ユーザは、例えばウェブブラウザを使用して、ウェブサーバ105によってホスティングされた1つ以上の外部に露出されたウェブサイトを介してデータサーバ103に接続するなど、リモートコンピュータ107、109を使用してデータサーバ103と相互作用してもよい。クライアントコンピュータ107、109は、データサーバ103と協調して使用され、クライアントコンピュータ107、109に記憶されたデータにアクセスしてもよく、または他の目的のために使用されてもよい。例えば、リモートコンピュータ107から、ユーザは、当技術において知られているように、インターネットブラウザを使用して、またはウェブサーバ105及び/またはデータサーバ103とコンピュータネットワーク(インターネットなど)上で通信するソフトウェアアプリケーションを実行することによって、ウェブサーバ105にアクセスしてもよい。
サーバ及びアプリケーションは、同じ物理マシン上で組み合わせられ、別々の仮想または論理アドレスを保持してもよく、または別々の物理マシン上にあってもよい。図1は、使用されてもよいネットワークアーキテクチャの単なる1つの例を例証し、当業者は、使用される特定のネットワークアーキテクチャ及びデータ処理装置が変化し得、本明細書でさらに説明されるように、それらが提供する機能性を伴うことを理解するであろう。例えば、ウェブサーバ105及びデータサーバ103によって提供されるサービスは、単一のサーバ上で組み合わせられてもよい。
各構成要素103、105、107、109は、任意の知られた種類のコンピュータ、サーバ、またはデータ処理装置であってもよい。データサーバ103は、例えば、レートサーバ103の動作全体を制御する処理装置111を含んでもよい。データサーバ103は、ランダムアクセスメモリ(RAM)113と、読み取り専用メモリ(ROM)115と、ネットワークインターフェース117と、入力/出力(I/O)119(例えば、キーボード、マウス、ディスプレイ、プリンタ等)と、メモリ121とをさらに含んでもよい。入力/出力(I/O)119は、データまたはファイルを読み取り、書き込み、表示し、及び/または印刷するための様々なインターフェースユニット及びドライブを含んでもよい。メモリ121は、データ処理装置103の動作全体を制御するための動作システムソフトウェア123と、データサーバ103に本明細書で説明される態様を実行するように命令する制御論理125と、派生、支援、及び/または本明細書で説明される態様に関連して使用されてもよい、または使用され得ない他の機能を提供する他のアプリケーションソフトウェア127とをさらに記憶してもよい。制御論理は、本明細書においてデータサーバソフトウェア125とも呼ばれてもよい。データサーバソフトウェアの機能は、制御論理内に符号化されたルールに基づいて自動的に作られた、システム内へ入力を提供するユーザによって手動で作られた、及び/またはユーザ入力(例えば、クエリ、データ更新など)に基づく自動的な処理の組み合わせの動作または意思決定を示してもよい。
メモリ121は、第1のデータベース129及び第2のデータベース131など、本明細書で説明される1つ以上の態様の実行において使用されるデータも記憶してもよい。いくつかの実施形態では、第1のデータベースは、第2のデータベースを含んでもよい(例えば、別個のタブレット、レポートなどとして)。すなわち、情報は、システム設計に依って、単一のデータベースに記憶されることができる、もしくは異なる論理、仮想、または物理データベースに分離されることができる。装置105、107、109は、装置103に関して説明したものと同様の、または異なるアーキテクチャを有してもよい。本明細書で説明されるようなデータ処理装置103(または装置105、107、109)の機能は、複数のデータ処理装置に散乱され、例えば複数のコンピュータ上の処理負荷を分散し、地理的位置、ユーザアクセスレベル、サービスの質(QoS)などに基づいて処理を分離してもよいことを当業者は理解するであろう。
1つ以上の態様は、1つ以上のコンピュータまたは本明細書で説明されるような他の装置によって実行される1つ以上のプログラムモジュールにおいてなど、コンピュータ使用可能な、または読み取り可能なデータ及び/またはコンピュータ実行可能命令において具現化されてもよい。一般的に、プログラムモジュールは、コンピュータまたは他の装置における処理装置によって実行されるとき、特定のタスクを実行する、または特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。モジュールは、続いて実行用にコンパイルされるソースコードプログラミング言語で書きこまれてもよく、またはハイパーテキストマークアップランゲージ(HTML)またはエクステンシブルマークアップランゲージ(XML)などの(限定されないが)スクリプト言語で書きこまれてもよい。コンピュータ実行可能命令は、不揮発性記憶装置などのコンピュータ可読媒体上に記憶されてもよい。ハードディスク、CD−ROM、光記憶装置、磁気記憶装置、及び/またはそれらの任意の組み合わせなどの任意の好適なコンピュータ可読記憶媒体が利用されてもよい。さらに、本明細書で説明されるようなデータまたは事象を表す様々な転送(非記憶)媒体が、金属導線、光ファイバー、及び/または無線送信媒体(例えば、空気及び/または空間)などの信号伝導媒体を通って移動する電磁波の形式で、ソースと宛先との間で転送されてもよい。本明細書で説明される様々な態様は、方法、データ処理システム、またはコンピュータプログラム製品として具現化されてもよい。したがって、様々な機能がソフトウェア、ファームウェア、及び/またはハードウェアもしくは集積回路、フィールドプログラマブルビジネスロジック(FPGA)などのハードウェアの等価物の全体または一部において具現化されてもよい。特定データ構造が使用され、本明細書で説明される1つ以上の態様を効果的に実施してもよく、このようなデータ構造は、本明細書で説明されるコンピュータ実行可能命令及びコンピュータ使用可能データの範囲内であると想定される。
図2をさらに参照すると、本明細書で説明される1つ以上の態様は、リモートアクセス環境において実施されてもよい。図2は、本明細書で説明される1つ以上の例証的な態様に従って使用されてもよい例証的なコンピュータ環境200において一般的な201を含む例示のシステムアーキテクチャを示す。一般的なコンピューティング装置201は、クライアントアクセス装置用の仮想マシンを提供するように構成された、単一のサーバまたは複合サーバデスクトップ仮想システム(例えば、リモートアクセスまたはクラウドシステム)においてサーバ206aとして使用されてもよい。一般的なコンピューティング装置201は、サーバ、及びRAM205、ROM207、I/Oモジュール209、及びメモリ215などのサーバに関連する構成要素の動作全体を制御するための処理装置203を有してもよい。
I/Oモジュール209は、マウス、キーパッド、タッチスクリーン、センサ、光学式読取装置、及び/またはそれを通して一般的なコンピューティング装置201のユーザが入力を提供してもよいスタイラスを含んでもよく、かつ、音声出力を提供するためのスピーカと、文章、オーディオビジュアル、及び/またはグラフィック出力を提供するためのビデオ表示装置とのうちの1つ以上をさらに含んでもよい。ソフトウェアはメモリ215及び/または他の記憶装置内に記憶され、本明細書で説明されるような様々な機能を実行するため、一般的なコンピューティング装置201を特殊用途コンピューティング装置内に構成するために、命令を処理装置203に提供してもよい。例えば、メモリ215は、動作システム217、アプリケーションプログラム219、及び関連するデータベース221などのコンピューティング装置201によって使用されるソフトウェアを記憶してもよい。
コンピューティング装置201は、端子240(クライアント装置とも呼ばれる)などの1つ以上のリモートコンピュータへの接続を支援するネットワーク接続された環境において動作してもよい。端子240は、パーソナルコンピュータ、モバイル装置、ラップトップコンピュータ、タブレット、またはデータサーバ103または201に関して上述された要素のうちの多くまたはすべてを含むサーバであってもよい。図2に示されるネットワーク接続は、ローカルエリアネットワーク(LAN)225及び広域ネットワーク(WAN)229を含むが、他のネットワークを含んでもよい。LANネットワーキング環境において使用される場合、コンピューティング装置201は、ネットワークインターフェースまたはアダプタ223を通してLAN225に接続されてもよい。WANネットワーキング環境で使用される場合、コンピューティング装置201は、コンピュータネットワーク230(例、インターネット)などのWAN229上での通信を確立するためのモデム227または他の広域ネットワークインターフェースを含んでもよい。示されるネットワーク接続は例証的であり、コンピュータ間の通信リンクを確立するための他の手段が使用されてもよいことが理解されるであろう。コンピューティング装置201及び/または端子240は、バッテリ、スピーカ、及びアンテナ(図示せず)などの様々な他の構成要素を含むモバイル端子(例、携帯電話、スマートフォン、パーソナルデジタルアシスタント(PDA)、ノートブックなど)でもあってもよい。
本明細書で説明される態様はさらに、多数の他の汎用または特殊用途のコンピューティングシステム環境または構成で動作可能であってもよい。本明細書で説明される態様での使用に好適であり得る、他のコンピューティングシステム、環境、及び/または構成の例は、限定されないが、パーソナルコンピュータ、サーバコンピュータ、手持ち式またはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークパーソナルコンピュータ(PC)ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置のうちのいずれかを含む分散コンピューティング環境などを含む。
図2に示されるように、1つ以上のクライアント装置240は、1つ以上のサーバ206a〜206n(本明細書で一般的に「サーバ206」と呼ばれる)と通信状態にあってもよい。1つの実施形態では、コンピューティング環境200は、サーバ206とクライアントマシン240との間に設置されたネットワーク機器を含んでもよい。ネットワーク機器は、クライアント/サーバ接続を管理してもよく、いくつかの場合では、複数のバックエンドサーバ206内のクライアント接続をロードバランシングすることができる。
クライアントマシン240は、いくつかの実施形態では、単一のクライアントマシン240またはクライアントマシン240の単一のグループを指してもよく、一方で、サーバ206は単一のサーバ206またはサーバ206の単一のグループを指してもよい。1つの実施形態では、単一のクライアントマシン240は、1つ以上のサーバ206と通信し、一方で、別の実施形態では、単一のサーバ206は、1つ以上のクライアントマシン240と通信する。さらに別の実施形態では、単一のクライアントマシン240は、単一のサーバ206と通信する。
クライアントマシン240は、いくつかの実施形態では、クライアントマシン、クライアント、クライアントコンピュータ、クライアント装置、クライアントコンピュータ、装置、ローカルマシン、リモートマシン、クライアントノード、エンドポイント、またはエンドポイントノードの非網羅的用語のうちのいずれか1つによって参照されることができる。サーバ206は、いくつかの実施形態では、サーバ、ローカルマシン、リモートマシン、サーバファーム、またはホストコンピューティング装置の非網羅的用語のうちのいずれか1つによって参照されることができる。
1つの実施形態では、クライアントマシン240は仮想マシンであってもよい。仮想マシンであってもよい。仮想マシンは任意の仮想マシンであってもよく、一方で、いくつかの実施形態では、仮想マシンは、例えばCitrix Systems、IBM、VMwareによって開発されたハイパーバイザまたは任意の他のハイパーバイザなどのタイプ1またはタイプ2のハイパーバイザによって管理される任意の仮想マシンであってもよい。いくつかの態様では、仮想マシンはハイパーバイザによって管理されてもよく、一方で、いくつかの態様では、仮想マシンはサーバ206上で実行するハイパーバイザまたはクライアント240上で実行するハイパーバイザによって管理されてもよい。
いくつかの実施形態は、サーバ206または他の遠隔に位置するマシン上で遠隔実行するアプリケーションによって生成されたアプリケーション出力を表示するクライアント装置240を含む。これらの実施形態では、クライアント装置240は、仮想マシン受信プログラムまたはアプリケーションを実行して、出力をアプリケーションウィンドウ、ブラウザ、または他の出力ウィンドウに表示しもよい。1つの例では、アプリケーションはデスクトップであり、一方で、他の例では、アプリケーションはデスクトップを生成する、または提示するアプリケーションである。デスクトップは、ローカル及び/またはリモートアプリケーションが組み込まれることができる動作システムの事象用のユーザインターフェースを提供するグラフィカルシェルを含んでもよい。本明細書において使用されるようなアプリケーションは、動作システム(及び、選択的に、デスクトップも)の事象がロードされた後に実行するプログラムである。
サーバ206は、いくつかの実施形態では、リモート提示プロトコルまたは他のプログラムを使用し、データをシンクライアントまたはクライアント上で実行するリモートディスプレイアプリケーションを送信し、サーバ206上で実行するアプリケーションによって生成された表示出力を提示する。シンクライアントまたはリモートディスプレイプロトコルは、フロリダ州Ft.LauderdaleのCitrix Systems,Inc.によって開発されたIndependent Computing Architecture(ICA)プロトコル、ワシントン州RedmondのMicrosoft Corporationによって製造されたリモートデスクトッププロトコル(RDP)のプロトコルの非網羅的リストのうちのいずれか1つであることができる。
リモートコンピューティング環境は、サーバ206a−206nが例えばクラウドコンピューティング環境などにおいてサーバファーム206内に互いに論理的にグループ化されるように、1つ以上のサーバ206a−206nを含んでもよい。サーバファーム206は、地理的に分散され、一方で互いに論理的にグループ化されたサーバ206、または互いの近くに配置され、一方で互いに論理的にグループ化されたサーバ206を含んでもよい。サーバファーム206内に地理的に分散されたサーバ206a−206nは、いくつかの実施形態では、WAN(広域)、MAN(メトロポリタン)、またはLAN(ローカル)を使用して通信し、異なる地理的領域は、異なる大陸、大陸の異なる地域、異なる国、異なる州、異なる街、異なるキャンパス、異なる部屋、または前述の地理的位置の任意の組み合わせとして特徴付けられることができる。いくつかの実施形態では、サーバファーム206は単一のエンティティとして管理されてもよく、一方で、他の実施形態では、サーバファーム206は複数のサーバファームを含むことができる。
いくつかの実施形態では、サーバファームは、実質的に同様のタイプの動作システムプラットフォーム(例えば、WINDOWS(登録商標)、UNIX(登録商標)、LINUX(登録商標)、iOS、ANDROID(登録商標)、SYMBIANなど)を実行するサーバ206を含んでもよい。他の実施形態では、サーバファーム206は、第1のタイプ動作システムプラットフォームを実行する1つ以上のサーバの第1のグループ、及び第2のタイプの動作システムプラットフォームを実行する1つ以上のサーバの第2のグループを含んでもよい。
サーバ206は、例えばファイルサーバ、アプリケーションサーバ、ウェブサーバ、プロキシサーバ、機器、ネットワーク機器、ゲートウェイ、アプリケーションゲートウェイ、ゲートウェイサーバ、仮想化サーバ、デプロイメントサーバ、Secure Sockets Layer(SSL)VPNサーバ、ファイアウォール、ウェブサーバ、アプリケーションサーバ、またはマスターアプリケーションサーバとして、アクティブデイレクトリを実行するサーバ、ファイアウォール機能、アプリケーション機能、またはロードバランシング機能を提供するアプリケーション加速プログラムなど、必要に応じて、任意のタイプのサーバとして構成されてもよい。他のサーバタイプも使用されてもよい。
いくつかの実施形態は、クライアントマシン240から要求を受信し、要求を第2のサーバ106bに転送し、第2のサーバ106bからの応答でクライアントマシン240によって生成された要求に応答する第1のサーバ106aを含む。第1のサーバ106aは、クライアントマシン240及びウェルに利用可能なアプリケーションの列挙を、アプリケーションの列挙内で識別されたアプリケーションをホスティングするアプリケーションサーバ206に関連するアドレス情報として取得してもよい。次に、第1のサーバ106aは、ウェブインターフェースを使用してクライアントの要求への応答を提示することができ、クライアント240と直接通信して、クライアント240に識別されたアプリケーションへのアクセスを提供することができる。1つ以上のクライアント240及び/または1つ以上のサーバ206は、例えばネットワーク101などのネットワーク230上でデータを送信してもよい。
図2は、例証的なデスクトップ仮想化システムのハイレベルアーキテクチャを示す。示されるように、デスクトップ仮想化システムは、単一サーバまたはマルチサーバシステム、もしくは仮想デスクトップ及び/または仮想アプリケーションを1つ以上のクライアントアクセス装置240に提供するように構成された少なくとも1つの仮想化サーバ206を含むクラウドシステムであってもよい。本明細書で使用されるように、デスクトップは、1つ以上のアプリケーションがホスティングされてもよい、及び/または実行されてもよいグラフィック環境または空間を指す。デスクトップは、ローカル及び/またはリモートアプリケーションが組み込まれることができる動作システムの事象に対するユーザインターフェースを提供するグラフィカルシェルを含んでもよい。アプリケーションは、動作システム(及び、選択的に、デスクトップも)の事象がロードされた後に実行するプログラムを含んでもよい。動作システムの各事象は、物理的(例えば、装置あたり1つの動作システム)または仮想的(例えば、単一の装置上で実行するOSの多くの事象)であってもよい。各アプリケーションは、ローカル装置で実行されてもよく、または遠隔に位置する装置(例えば、リモートの)上で実行してもよい。
〈エンタープライズモビリティ管理アーキテクチャ〉
図3は、自分の装置を持ち込む(BYOD)環境における使用のためのエンタープライズモビリティテクニカルアーキテクチャ500を表す。本アーキテクチャは、モバイル装置502のユーザがモバイル装置502から企業または個人のリソースにアクセスすることと、モバイル装置502を個人的な使用のために使用することの両方を可能にする。ユーザは、ユーザによって購入されたモバイル装置502、または企業によってユーザに提供されたモバイル装置502を使用して、このような企業リソース504または企業サービス508にアクセスしてもよい。ユーザは、ビジネスでの使用のみのため、またはビジネス及び個人での使用のためにモバイル装置502を利用してもよい。モバイル装置はiOS動作システム、Android(登録商標)動作システムなどにおいて実行してもよい。企業は、ポリシーを実施するように選び、モバイル装置504を管理してもよい。ポリシーは、モバイル装置が識別されてもよく、セキュアにされてもよく、またはセキュリティを認証されてもよく、及び企業リソースに選択的または完全なアクセスが提供されてもよい方法で、ファイアウォールまたはゲートウェイを通して埋め込まれてもよい。ポリシーは、モバイル装置管理ポリシー、モバイルアプリケーション管理ポリシー、モバイルデータ管理ポリシー、またはモバイル装置、アプリケーション、及びデータ管理ポリシーのいくつの組み合わせであってもよい。モバイル装置管理ポリシーのアプリケーションを通して管理されるモバイル装置504は、登録された装置と呼ばれてもよい。
いくつかの実施形態では、モバイル装置の動作システムは、管理される区分510及び管理されない区分512に分離されてもよい。管理される区分510は、管理される区分510に適用されるポリシーを有し、管理される区分上で実行するアプリケーション及び管理される区分において記憶されたデータをセキュアにしてもよい。管理される区分上で実行するアプリケーションは、セキュアなアプリケーションであってもよい。他の実施形態では、すべてのアプリケーションは、アプリケーションから別々に受信され、1つ以上のセキュリティパラメータ、特性、リソース規制、及び/またはアプリケーションが装置上で実行しているときにモバイル装置管理システムによって行われる他のアクセス制御を定義する1つ以上のポリシーファイルのセットに従って実行してもよい。それぞれのポリシーファイルに従って動作することによって、各アプリケーションは、1つ以上の他のアプリケーション及び/またはリソースとの通信が許容され、または規制され、それによって仮想区分を作成してもよい。したがって、本明細書で使用されるように、区分は、メモリの物理的に区分された部分(物理区分)、メモリの論理的に区分された部分(論理区分)、及び/または本明細書で説明されるような複数のアプリケーション上の1つ以上のポリシー及び/またはポリシーファイルの実行の結果として作成された仮想区分(仮想区分)を指してもよい。言い換えると、管理されるアプリケーション上でポリシーを行うことによって、それらのアプリケーションは、他の管理されるアプリケーション及び信用された企業リソースと通信することのみができるように規制され、それによって管理されないアプリケーション及び装置によって入り込めない仮想区分を作成してもよい。
セキュアなアプリケーションは、電子メールアプリケーション、ウェブブラウザアプリケーション、サービスとしてのソフトウェア(Saas)アクセスアプリケーション、Windows(登録商標) Applicationアクセスアプリケーションなどであってもよい。セキュアなアプリケーションは、セキュアなネイティブアプリケーション514、セキュアなアプリケーションランチャー518によって実行されるセキュアなリモートアプリケーション522、セキュアなアプリケーションランチャー518によって実行される仮想化アプリケーション526などであってもよい。セキュアなネイティブアプリケーション514は、セキュアなアプリケーションラッパ520によってラッピングされてもよい。セキュアなアプリケーションラッパ520は、セキュアなネイティブアプリケーションが装置上で実行されるとき、モバイル装置502上で実行される、組み込まれたポリシーを含んでもよい。セキュアなアプリケーションラッパ520は、モバイル装置502上で実行するセキュアなネイティブアプリケーション514を、セキュアなネイティブアプリケーション514がセキュアなネイティブアプリケーション514の実行の際に要求されたタスクを完了することを要求してもよい、企業においてホスティングされたリソースに向けるメタデータを含んでもよい。セキュアなアプリケーションランチャー518によって実行されるセキュアなリモートアプリケーション522は、セキュアなアプリケーションランチャーアプリケーション518内で実行されてもよい。セキュアなアプリケーションランチャー518によって実行される仮想化アプリケーション526は企業リソース504などにおいて、モバイル装置502上のリソースを利用してもよい。セキュアなアプリケーションランチャー518によって実行される仮想化アプリケーション526によってモバイル装置502上で使用されるリソースは、ユーザインタラクションリソース、処理リソースなどを含んでもよい。ユーザインタラクションリソースは、キーボード入力、マウス入力、カメラ入力、触覚入力、音声入力、視覚入力、ジェスチャ入力などを収集し、送信するように使用されてもよい。処理リソースは、ユーザインターフェース、企業リソース504から受信した処理データなどを提示するように使用されてもよい。セキュアなアプリケーションランチャー518によって実行される仮想化アプリケーション526によって企業リソース504において使用されるリソースは、ユーザインターフェース生成リソース、処理リソースなどを含んでもよい。ユーザインターフェース生成リソースは、ユーザインターフェースをアセンブリングする、ユーザインターフェースを修正する、ユーザインターフェースを最新にするなどのように使用されてもよい。処理リソースは、情報を作成する、情報を読み取る、情報を更新する、情報を消去するなどのように使用されてもよい。例えば、仮想アプリケーションは、グラフィカルユーザインターフェース(GUI)に関連するユーザインタラクションを記録してもよく、及びユーザインタラクションをサーバアプリケーションに通信してもよく、サーバアプリケーションは、ユーザインタラクションデータを、サーバ上で動作するアプリケーションへの入力として使用する。この配置では、企業はサーバ側上のアプリケーションならびにアプリケーションに関連するデータ、ファイルなどを維持するように選出してもよい。企業は、モバイル装置上の配置用にアプリケーションをセキュアにすることによって、本明細書における原則に従って、いくつかのアプリケーションを「可動化」するように選出するが、本配置は特定のアプリケーション用にも選出されてもよい。例えば、いくつかのアプリケーションは、モバイル装置上の使用のためにセキュアにされてもよいが、他のアプリケーションは、モバイル装置上の配置に対して用意されていない、または適切ではないかもしれないので、企業は、仮想化技術を通して用意されていないアプリケーションへのモバイルユーザアクセスを提供するように選出してもよい。別の例として、企業は、大きく、複合型のデータセット(例えば、マテリアルリソースプランニングアプリケーション)を含む大きな複合アプリケーションを有してもよく、その場合、モバイル装置用にアプリケーションをカスタマイズすることは非常に困難である、またはそうでなければ望ましくないため、企業は仮想化技術を通してアプリケーションへのアクセスを提供するように選出してもよい。さらに別の例として、企業は、企業によって、セキュアにされたモバイル環境に対してもあまりに機密性が高いと見做され得る、高度にセキュアにされたデータ(例えば、人材データ、顧客データ、工学データ)を維持するアプリケーションを有してもよいため、企業は仮想化技術を使用するように選出し、このようなアプリケーション及びデータへのモバイルアクセスを許可してもよい。企業は、モバイル装置上の、完全にセキュアである、及び完全に機能的である、両方のアプリケーション、ならびに仮想化アプリケーションを提供して、サーバ側でより適切に動作されると見做されたアプリケーションへのアクセスを許容するように選出してもよい。一実施形態では、仮想化アプリケーションは、セキュアな記憶位置のうちの1つにおける携帯電話上のいくつかのデータ、ファイルなどを記憶してもよい。例えば、企業は、電話上に記憶される特定の情報を許容するように選出し、一方で、他の情報を許可しなくてもよい。
本明細書で説明されるような仮想化アプリケーションに関連して、モバイル装置は、GUIを提示し、次にGUIとのユーザインタラクションを記録するように設計された仮想化アプリケーションを有してもよい。アプリケーションは、ユーザインタラクションを、サーバ側アプリケーションによってアプリケーションとのユーザインタラクションとして使用されるようにサーバ側に通信してもよい。応答して、サーバ側のアプリケーションは、新しいGUIをモバイル装置に返送してもよい。例えば、新しいGUIは、静的ページ、動的ページ、アニメーションなどであり、それによって遠隔に位置するリソースへのアクセスを提供してもよい。
セキュアなアプリケーションは、モバイル装置の管理される区分510におけるセキュアなデータコンテナ528に記憶されたデータにアクセスしてもよい。セキュアなデータコンテナにおいてセキュアにされたデータは、セキュアなラッピングされたアプリケーション514、セキュアなアプリケーションランチャー522によって実行されるアプリケーション、セキュアなアプリケーションランチャー522によって実行される仮想化アプリケーション526などによってアクセスされてもよい。セキュアなデータコンテナ528に記憶されるデータは、ファイル、データベースなどを含んでもよい。セキュアなデータコンテナ528に記憶されるデータは、特定のセキュアなアプリケーション530、共有されたセキュアなアプリケーション532などに規制されるデータを含んでもよい。セキュアなアプリケーションに規制されたデータは、セキュアな一般データ534及び非常にセキュアなデータ538を含んでもよい。セキュアな一般データは、Advanced Encryption Standard(AES)128ビット暗号化などの強い形式の暗号化を使用してもよく、一方で、非常にセキュアなデータ538は、AES256ビット暗号化など非常に強い形式の暗号化を使用してもよい。セキュアなデータコンテナ528に記憶されたデータは、装置マネージャ524から命令を受信すると装置から消去されてもよい。セキュアなアプリケーションは、デュアルモードオプション540を有してもよい。デュアルモードオプション540は、ユーザに、セキュアにされたアプリケーションをセキュアにされない、または管理されないモードで動作するオプションを提示してもよい。セキュアにされない、または管理されないモードでは、セキュアなアプリケーションは、モバイル装置502の管理されない区分512上のセキュアにされないデータコンテナ542に記憶されるデータにアクセスしてもよい。セキュアにされないデータコンテナに記憶されるデータはさらに、個人データ544であってもよい。セキュアにされないデータコンテナ542に記憶されるデータは、モバイル装置502の管理されない区分512上で実行するセキュアにされないアプリケーション548によってアクセスされてもよい。セキュアにされないデータコンテナ542に記憶されたデータは、セキュアなデータコンテナ528に記憶されたデータがモバイル装置502から消去されるとき、モバイル装置502上に残ってもよい。企業は、企業によって所有された、ライセンスが取得された、または制御された(企業データ)、選択された、またはすべてのデータ、ファイル、及び/またはアプリケーションをモバイル装置から消去することを望み、一方で、ユーザによって所有された、ライセンスが取得された、または制御された(個人データ)個人データ、ファイル、及び/またはアプリケーションをそのままにする、またはそうでなければ保存することを望んでもよい。この動作は、選択的ワイプと呼ばれてもよい。本明細書で説明される態様に従って配置された企業及び個人データで、企業は選択的ワイプを実行してもよい。
モバイル装置は、企業において、企業リソース504及び企業サービス508を公共のインターネット548などに接続してもよい。モバイル装置は、仮想プライベートネットワーク接続を通して企業リソース504及び企業サービス508に接続してもよい。マイクロVPNまたはアプリケーション特定VPNとも呼ばれる仮想プライベートネットワーク接続は、特定のアプリケーション550、特定の装置、モバイル装置の特定のセキュアにされた範囲など552に特化してもよい。例えば、電話のセキュアにされた範囲におけるラッピングされたアプリケーションの各々は、おそらくユーザまたは装置属性情報に関連して、VPNへのアクセスがアプリケーションに関連した属性に基づいて認められるように、アプリケーション特定VPNを通して企業リソースにアクセスしてもよい。仮想プライベートネットワーク接続は、Microsoft Exchangeトラフィック、Microsoft Active Directoryトラフィック、HyperText送信プロトコル(HTTP)トラフィック、HyperText送信プロトコルセキュア(HTTPS)トラフィック、アプリケーション管理トラフィックなどを実行してもよい。仮想プライベートネットワーク接続は、シングルサインオン認証プロセス554を支援し、可能にしてもよい。シングルサインオンプロセスは、ユーザが認証証明書の単一のセットを提供することを可能にしてもよく、次に、証明書は、認証サービス558によって確認される。次に、認証サービス558は、ユーザが各個人の企業リソース504へ認証証明書を提供することを要求せずに、複数の企業リソース504へのユーザアクセスを認めてもよい。
仮想プライベートネットワーク接続は、アクセスゲートウェイ560によって確立されてもよく、かつ、管理されてもよい。アクセスゲートウェイ560は、企業リソース504のモバイル装置502への配信を管理し、増進し、向上させる性能向上特性を含んでもよい。アクセスゲートウェイは、モバイル装置502からパブリックインターネット548へのトラフィックを再ルーティングし、モバイル装置502が、公共のインターネット548上で動作する、公共に利用可能でセキュアにされないアプリケーションにアクセスすることを可能にしてもよい。モバイル装置は、転送ネットワーク562を介してアクセスゲートウェイに接続してもよい。転送ネットワーク562は、有線ネットワーク、無線ネットワーク、クラウドネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワーク、広域ネットワーク、公共のネットワーク、個人のネットワークなどであってもよい。
企業リソース504は、電子メールサーバ、ファイル共有サーバ、SaaSアプリケーション、ウェブアプリケーションサーバ、Windows(登録商標)アプリケーションサーバなどを含んでもよい。電子メールサーバは、Exchangeサーバ、Lotus Notesサーバなどを含んでもよい。ファイル共有サーバは、ShareFileサーバなどを含んでもよい。SaaSアプリケーションは、Salesforceなどを含んでもよい。Windows(登録商標)アプリケーションサーバは、ローカルWindows(登録商標)動作システムなどで動作するように意図されたアプリケーションを提供するように構築された任意のアプリケーションサーバを含んでもよい。企業リソース504は、プレミスベースのリソース、クラウドベースのリソースなどであってもよい。企業リソース504は、直接、またはアクセスゲートウェイ560を通して、モバイル装置502によってアクセスされてもよい。企業リソース504は、転送ネットワーク562を介してモバイル装置502によってアクセスされてもよい。転送ネットワーク562は、有線ネットワーク、無線ネットワーク、クラウドネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワーク、広域ネットワーク、公共のネットワーク、個人のネットワークなどであってもよい。
企業サービス508は、認証サービス558、脅威検出サービス564、装置マネージャサービス524、ファイル共有サービス568、ポリシーマネージャサービス570、ソーシャルインテグレーションサービス572、アプリケーションコントローラサービス574などを含んでもよい。認証サービス558は、ユーザ認証サービス、装置認証サービス、アプリケーション認証サービス、データ認証サービスなどを含んでもよい。認証サービス558は証明書を使用してもよい。証明書は、企業リソース504などによってモバイル装置502上に記憶されてもよい。モバイル装置502上に記憶される証明書は、モバイル装置上の暗号化された位置に記憶されてもよく、証明書は認証の時などにおける使用のためにモバイル装置502上に一時的に記憶されてもよい。脅威検出サービス564は、侵入検出サービス、認証されていないアクセス試行検出するサービスなどを含んでもよい。認証されていないアクセス試行検出サービスは、アクセス装置、アプリケーション、データなどへの認証されていない試行を含んでもよい。装置管理サービス524は、構成、提供、セキュリティ、支援、監視、報告、及びデコミッショニングサービスを含んでもよい。ファイル共有サービス568は、ファイル管理サービス、ファイル記憶サービス、ファイル協働サービスなどを含んでもよい。ファイルマネージャサービス570は、装置ポリシーマネージャサービス、アプリケーションポリシーマネージャサービス、データポリシーマネージャサービスなどを含んでもよい。ソーシャルインテグレーションサービス572は、連絡先組み込みサービス、協働サービス、Facebook、Twitter、及びLinkedInなどのソーシャルネットワークの組み込みなどを含んでもよい。アプリケーションコントローラサービス574は、管理サービス、提供サービス、配置サービス、割り当てサービス、取り消しサービス、ラッピングサービスなどを含んでもよい。
エンタープライズモビリティテクニカルアーキテクチャ500は、アプリケーションストア578を含んでもよい。アプリケーションストア578は、ラッピングされないアプリケーション580、事前にラッピングされたアプリケーション582などを含んでもよい。アプリケーションは、アプリケーションコントローラ574からアプリケーションストア578に置かれてもよい。アプリケーションストア578は、公共のインターネット548などを通して、アクセスゲートウェイ560を通してモバイル装置502によってアクセスされてもよい。アプリケーションストアには、直感的で、かつ、使いやすいユーザインターフェースが提供されてもよい。
ソフトウェア開発キット584は、本説明において前述されたようなアプリケーションをラッピングすることによって、ユーザによって選択されたアプリケーションをセキュアにする能力をユーザに提供してもよい。次に、ソフトウェア配置キット584を使用してラッピングされたアプリケーションは、アプリケーションコントローラ574を使用してアプリケーションストア578に置くことによってモバイル装置502に対して利用可能になってもよい。
エンタープライズモビリティテクニカルアーキテクチャ500は、管理及び分析能力588を含んでもよい。管理及び分析能力588は、どのようにリソースが使用されるか、どれほどの頻度でリソースが使用されるか、などに関係する情報を提供してもよい。リソースは、装置、アプリケーション、データなどを含んでもよい。どのようにリソースが使用されるかは、どの装置がどのアプリケーションをダウンロードするか、どのアプリケーションがどのデータにアクセスするか、などを含んでもよい。どれほどの頻度でリソースが使用されるかは、どれほどの頻度でアプリケーションがダウンロードされたか、アプリケーションによってデータの特定のセットが何回アクセスされたか、などを含んでもよい。
図4は、別の例証的なエンタープライズモビリティ管理システム600である。図3を参照して上記で説明されたモビリティ管理システム500の構成要素のうちのいくつかは、簡潔性のために省略されている。図4において示されるシステム600のアーキテクチャは、図3を参照して前記で説明されたシステム500のアーキテクチャに関する多くの点で同様であり、上記で述べられていない追加の特性を含んでもよい。
この場合、左手側は、ゲートウェイ606(アクセスゲートウェイ及びアプリケーションコントローラ機能を含む)と相互作用して様々な企業リソース608、及び右手側上方に示されるような、Exchange、Sharepoint、公開鍵基盤(PKI)リソース、Kerberosリソース、証明書発行サービスなどのサービス609にアクセスする、クライアントエージェント604を備えた、登録されたモバイル装置602を表す。詳細に示されないが、モバイル装置602はさらに、アプリケーションの選択及びダウンロードのために企業アプリケーションストア(StoreFront)と相互作用してもよい。
クライアントエージェント604は、High−Definition User Experience(HDX)/ICA表示リモーティングプロトコルを使用してアクセスされる企業データセンタにおいてホスティングされる、Windows(登録商標)アプリケーション/デスクトップ用のUI(ユーザインターフェース)仲介として作用する。クライアントエージェント604はさらに、ネイティブiOSまたはAndroid(登録商標)アプリケーションなどの、モバイル装置602上でのネイティブアプリケーションのインストール及び管理を支援する。例えば、上記の図において示された、管理されたアプリケーション610(メール、ブラウザ、ラッピングされたアプリケーション)は、装置上においてローカルで実行するすべてネイティブアプリケーションである。クライアントエージェント604及びこのアーキテクチャのアプリケーション管理フレームワークは、企業リソース/サービス608への接続性及びSSO(シングルサインオン)など、ポリシー駆動型管理能力及び特性を提供するように作用する。クライアントエージェント604は、他のゲートウェイサーバ構成要素へのSSOを含む通常アクセスゲートウェイ(AG)へ、企業への一次ユーザ認証を扱う。クライアントエージェント604は、ゲートウェイサーバ606からポリシーを取得し、モバイル装置602上での管理されたアプリケーション610の行動を制御する。
ネイティブアプリケーション610とクライアントエージェント604との間のセキュアなプロセス間通信(IPC)リンク612は、クライアントエージェントが、各アプリケーションを「ラッピング」する、アプリケーション管理フレームワーク614によって実行されるポリシーを提供することを許容する、管理チャネルを表す。IPCチャネル612はさらに、クライアントエージェント604が、企業リソース608への接続性及びSSOを可能にする証明書及び認証情報を提供することを許容する。最後に、IPCチャネル612は、アプリケーション管理フレームワーク614を許容し、オンライン及びオフライン認証など、クライアントエージェント604によって実施されるユーザインターフェース機能を引き起こす。
クライアントエージェント604とゲートウェイサーバ606との間の通信は、本質的に、ネイティブの管理されたアプリケーション610の各々をラッピングするアプリケーション管理フレームワーク614の管理チャネルの延長である。アプリケーション管理フレームワーク614は、クライアントエージェント604からのポリシー情報を要求し、クライアントエージェント604は次にゲートウェイサーバ606からのポリシー情報を要求する。アプリケーション管理フレームワーク614は認証を要求し、クライアントエージェント604はゲートウェイサーバ606(NetScaler Access Gatewayとしても知られる)のゲートウェイサービス部分にログインする。クライアントエージェント604はまた、ゲートウェイサーバ606上の支援サービスを呼び出し、支援サービスは、入力素材を生成して、ローカルデータヴォルト616用の暗号化鍵を導出してもよく、または、下記でより完全に説明されるように、PKI保護リソースへの直接認証を可能にしてもよいクライアント証明書を提供してもよい。
より詳細には、アプリケーション管理フレームワーク614は、各管理されたアプリケーション610を「ラッピング」する。これは、明確な構築ステップを介して、または構築後処理ステップを介して組み込まれてもよい。アプリケーション管理フレームワーク614は、アプリケーション610の第1のローンチにおいてクライアントエージェント604と「対」であり、セキュアなIPCチャネルを開始し、アプリケーション用のポリシーを取得してもよい。アプリケーション管理フレームワーク614は、クライアントエージェントログイン依存性など、ローカルに適用するポリシーの関連する部分、及びローカルOSサービスがどのように使用されてもよいか、またはローカルOSサービスがアプリケーション610とどのように相互作用してもよいかを規制する格納ポリシーのいくつかを行ってもよい。
アプリケーション管理フレームワーク614は、セキュアなIPCチャネル612上でクライアントエージェント604によって提供されるサービスを使用して、認証及び内部ネットワークアクセスを容易にしてもよい。私用及び共有データヴォルト616(コンテナ)用の鍵管理はさらに、管理されたアプリケーション610とクライアントエージェント604との間の適切なインタラクションによって管理されてもよい。ヴォルト616は、オンライン認証の後のみに利用可能であってもよく、またはポリシーによって許容される場合、オフライン認証の後に利用可能にされてもよい。ヴォルト616の最初の使用は、オンライン認証を要求し、オフラインアクセスは、オンライン認証が再度要求される前のポリシー最新化期間の多くにおいてに、限定されてもよい。
内部リソースへのネットワークアクセスは、アクセスゲートウェイ606を通して個別の管理されたアプリケーション610から直接生じてもよい。アプリケーション管理フレームワーク614は、各アプリケーション610の代わりに、ネットワークアクセスを組織化することを担う。クライアントエージェント604は、オンライン認証に続いて取得される好適な時間が限定された二次証明書を提供することによってこれらのネットワーク接続を容易にしてもよい。リバースウェブプロキシ接続、及びエンドツーエンドVPN様式トンネル618などネットワーク接続の複数のモードが使用されてもよい。
メール及びブラウザ管理アプリケーション610は特別な状態を有し、任意のラッピングされたアプリケーションに一般的に利用可能であり得ない施設を利用してもよい。例えば、メールアプリケーションは、完全なAGログオンを要求せずに、延長された期間にExchangeにアクセスすることを許容する特別なバックグラウンドネットワークアクセス機構を使用してもよい。ブラウザアプリケーションは、複数のプライベートデータヴォルトを使用して異なる種類のデータを分けてもよい。
このアーキテクチャは、様々な他のセキュリティ特性の組み込みを支援する。例えば、いくつかの場合におけるゲートウェイサーバ606(ゲートウェイサーバ606のゲートウェイサービスも含む)は、アクティブデイレクトリ(AD)パスワードを必要としない。ADパスワードが、いくつかの状況において一部のユーザに対する認証要因として使用されるかどうかは企業の裁量に委ねられることができる。ユーザがオンラインまたはオフラインである(すなわち、ネットワークに接続されている、または接続されていない)場合、異なる認証方法が使用されてもよい。
ステップアップ認証は、強い認証を要求する高度に分類されたデータへのアクセスを有することを許容された、管理されたネイティブアプリケーション610をゲートウェイサーバ606が識別してもよく、以前のさらに弱いレベルのログインの後、これが、再認証がユーザによって要求されることを意味する場合でも、これらのアプリケーションへのアクセスが適切な認証を実行した後のみに許可されることを確実にする、特性である
この解決方法の別のセキュリティ特性は、モバイル装置602上でのデータヴォルト616(コンテナ)の暗号化である。ヴォルト616は暗号化され、その結果、ファイル、データベース、及び構成を含む、装置上のすべてのデータが保護されてもよい。オンラインヴォルトについて、鍵はサーバ(ゲートウェイサーバ606)上に記憶されてもよく、オフラインヴォルトについて、鍵のローカルコピーは、ユーザパスワードまたはバイオメトリック認証によって保護されてもよい。データがセキュアなコンテナ616における装置602上にローカルに記憶される場合、AES256暗号化アルゴリズムの最小限が利用されることが好ましい。
他のセキュアなコンテナ特性も実施されてもよい。例えば、アプリケーション610内で起こるすべてのセキュリティ事象がログされ、バックエンドに報告される、ロギング特性が含まれてもよい。アプリケーション610がタンパリングを検出する場合、関連する暗号化鍵がランダムデータ上に書き込まれ、ユーザデータが破棄されたファイルシステム上にヒントを残さなくてもよいなど、データワイピングが支援されてもよい。アプリケーションが任意のデータがスクリーンショットに記憶されることを防いでもよい、スクリーンショット保護が別の特性である。例えば、鍵ウィンドウの隠された特徴は、はい、に設定されてもよい。これは、どのようなコンテンツでも隠されるスクリーン上に現在表示され、任意のコンテンツが通常ある空白のスクリーンショットを結果としてもたらすことを引き起こしてもよい。
例えば、外部アプリケーションにコピーする、または送信することによって、任意のデータがアプリケーションコンテナの外部にローカルに転送されることを防ぐことによってなど、ローカルデータ転送が防がれてもよい。キーボードキャッシュ特性は、感応性のテキストフィールドに対するオートコレクト機能を無効にするように動作してもよい。SSL証明書認証は、アプリケーションが、キーチェーンに記憶される代わりに、サーバSSL証明書を特別に認証するように動作可能であってもよい。装置上でデータを暗号化するために使用される鍵が、ユーザによって提供されるパスフレーズまたはバイオメトリックデータを使用して生成される(オフラインアクセスが要求される場合)ように、暗号化鍵生成特性が使用されてもよい。オフラインアクセスが要求されない場合、ランダムに生成され、サーバ側に記憶された別の鍵で排他的論理和がとられてもよい。ユーザパスワードから生成された鍵が、その暗号学的ハッシュを作成するのではなく、KDF(鍵導出機能、とりわけパスワードベースの鍵導出機能2(PBKDF2))を使用するように、鍵導出機能が動作してもよい。後者は総当たり攻撃または辞書攻撃に脆弱な鍵を作る。
さらに、1つ以上の初期化ベクトルが暗号化方法において使用されてもよい。初期かベクトルは、同じ暗号化データの複数のコピーに異なる暗号文出力を生成させ、反射攻撃及び暗号解読攻撃の両方を防ぐ。これはまた、データを暗号化するために使用される特定の初期化ベクトルが知られていない場合、攻撃者が、盗まれた暗号化鍵ででも、任意のデータを解読することを防ぐ。さらに、次に、ユーザがアプリケーション内で認証された後のみにアプリケーションデータが解読される、認証の解読が使用されてもよい。別の特性は、必要とされる場合のみにメモリに(及びディスクにではなく)保持されてもよい、メモリにおける感応性データに関してもよい。例えば、ログイン証明書はログイン後にメモリからワイピングされてもよく、暗号化鍵及びObjective−C事象変数の中の他のデータは、簡単に参照され得るため、記憶されない。その代わりに、メモリがこれらに手動で割り当てられてもよい。
非アクティビティのポリシーが定義された期間の後、ユーザセッションが終了される、非アクティブタイムアウトが実施されてもよい。
アプリケーション管理フレームワーク614からのデータ漏れは、他の方法で防がれてもよい。例えば、アプリケーション610がバックグラウンドに置かれる場合、メモリは所定の(構成可能な)期間の後に削除されてもよい。バックグラウンド化される場合、アプリケーションの最後に表示されたスクリーンのスナップショットが撮られて、フォアグラウンドプロセスを固定してもよい。スクリーンショットは、機密データを含んでもよく、したがって、削除されるべきである。
別のセキュリティ特性は、1つ以上のアプリケーションへのアクセスに対するAD(アクティブデイレクトリ)622パスワードの使用を伴わずに、OTP(ワンタイムパスワード)620の使用に関する。いくつかの場合では、一部のユーザは自分のADパスワードを知らない(または知ることが許可されていない)ので、これらのユーザは、SecurIDのようなハードウェアOTPシステムを使用することによって(OTPは、EntrustまたはGemaltoなどの異なる販売者によって提供されてもよい)など、OTP620を使用して認証してもよい。いくつかの場合では、ユーザがユーザIDで認証した後、テキストがOTP620でユーザに送信される。いくつかの場合では、これは、単一のフィールドであるプロンプトで、オンラインの使用のみのために実施されてもよい。
オフライン使用が企業ポリシーを介して許可される、それらのアプリケーション610に対するオフライン認証用のオフラインパスワードが実施されてもよい。例えば、企業は、StoreFrontがこの方式でアクセスされることを望み得る。この場合、クライアントエージェント604は、ユーザがカスタムオフラインパスワードを設定することを要求してもよく、ADパスワードは使用されない。ゲートウェイサーバ606は、標準Windows(登録商標)サーバパスワード複雑性要件は修正されてもよいが、これらの要件に説明されるような、最小限の長さ、文字クラスの成分、パスワードの経過年に関するパスワードの標準を制御し、行うようにポリシーを提供してもよい。
別の特性は、第2の証明書としての、特定のアプリケーション610に対するクライアント側の証明書の可能化(アプリケーション管理フレームワークマイクロVPN特性を介したPKI保護されたウェブリソースにアクセスするため)に関する。例えば、アプリケーションはこのような証明書を利用してもよい。この場合、クライアントエージェント604からの証明書がゲートウェイサーバ606によって取得されてもよく、キーチェーンに使用されてもよい、ActiveSyncプロトコルを使用する証明書ベースの認証が支援されてもよい。各管理されたアプリケーションは、ゲートウェイサーバ606において定義されたラベルによって識別された、1つの関連付けられたクライアント証明書を有してもよい。
ゲートウェイサーバ606は、企業の特定用途ウェブサービスと相互作用し、クライアント証明書の発行を支援して、関連する管理されたアプリケーションが内部PKI保護リソースを認証することを許容してもよい。
クライアントエージェント604及びアプリケーション管理フレームワーク614は、内部PKI保護ネットワークリソースへの認証に対するクライアント証明書を取得すること、及び使用することを支援するように強化されてもよい。様々な度合いのセキュリティ及び/または分離要件に合致するなどのように、1つ以上の証明書が支援されてもよい。証明書は、メール及びブラウザ管理アプリケーションによって、及び最終的に任意のラッピングされたアプリケーション(もし、それらのアプリケーションが、アプリケーション管理フレームワークがhttps要求を仲介することが合理的である、ウェブサービススタイル通信パターンを使用するのであれば)によって使用されてもよい。
iOS上のアプリケーション管理クライアント証明書支援は、公共鍵暗号化標準(PKCS)12BLOB(バイナリラージオブジェクト)を使用の各期間に対する各管理されたアプリケーションにおけるiOSキーチェーン内にインポートすることに依存してもよい。アプリケーション管理フレームワーククライアント証明書支援は、私用メモリ内鍵格納でHTTPS実施を使用してもよい。クライアント証明書は、iOSキーチェーンに存在することはなく、強く保護された「オンラインのみ」のデータ値にあり得る以外、持続されない。
相互SSLはさらに、モバイル装置602が企業に、及びその逆に対して認証されることを要求することによって追加のセキュリティを提供するように実施されてもよい。ゲートウェイサーバ606への認証のための仮想スマートカードも実施されてもよい。
限定されたKerberos支援、及び完全なKerberos支援の両方が追加の特性であってもよい。完全な支援特性は、ADパスワードまたは信用されたクライアント証明書を使用する、アクティブデイレクトリ(AD)622への完全なKerberosログインを行う、及びKerberosサービスチケットを取得してHTTP交渉認証チャレンジに応答するための能力に関する。限定された支援特性は、AGEEがKerberosプロトコル移行を引き起こすことを支援し、HTTP交渉認証チャレンジに応答してKerberosサービスチケット(制約付き委任)を取得し、使用することができる、Citrix Access Gateway Enterprise Edition(AGEE)における制約付き委任に関する。この機構は、リバースウェブプロキシ(別名企業仮想プライベートネットワーク(CVPN))モードで、http(httpsではない)接続がVPN及びMicroVPNモードにおいてプロキシされるときに、作動する。
別の特性は、脱獄またはルーティングの検出の際に自動的に生じ、管理コンソールからのプッシュされたコマンドとして生じてもよく、アプリケーション610が実行していないときにリモートワイプ機能を含んでもよい、アプリケーションコンテナロッキング及びワイピングに関する。
エンタープライズアプリケーションストア及びアプリケーションコントローラのマルチサイトアーキテクチャまたは構成は、ユーザが失敗の場合にいくつかの異なる位置のうちの1つからサービスを受けることを許容するように支援されてもよい。
いくつかの場合、管理されたアプリケーション610は、API(例はOpenSSL)を介して証明書及びプライベート鍵にアクセスすることが許容されてもよい。企業の信用され、管理されたアプリケーション610は、アプリケーションのクライアント証明書及びプライベート鍵で特定の公共鍵動作を実行するように許容されてもよい。アプリケーションがブラウザのように振る舞い、証明書アクセスが要求されない場合、アプリケーションが「私は誰」に対する証明書を読み取る場合、アプリケーションが証明書を使用してセキュアなセッショントークンを構築する場合、アプリケーションが重要なデータ(例えば、取引ログ)のデジタル署名に対する、または一時的なデータ暗号化に対するプライベート鍵を使用する場合など、様々な使用の状況が識別され、適切に処理されてもよい。
〈フィールドプログラマブルビジネスロジックでアプリケーションをラッピングすることの例〉
図5は、本明細書で述べられる1つ以上の例証的な態様による、フィールドプログラマブルビジネスロジックでアプリケーションをラッピングする方法を例証するフローチャートを示す。1つ以上の実施形態では、図5に例証される方法、及び/またはその1つ以上のステップは、コンピューティング装置(例えば、データサーバ103)によって実行されてもよい。追加で、または代替的に、図5において例証される方法、及び/またはその1つ以上のステップは、いくつかの事象では、モバイル装置(例えば、装置107などのコンピューティング装置の1つ以上の態様を実施してもよい)によって実行されてもよい。他の実施形態では、図5に例証される方法、及び/またはその1つ以上のステップは、非一時的なコンピュータ可読メモリなどのコンピュータ読み取り媒体に記憶されるコンピュータ実行可能命令で具現化されてもよい。
図5において見られるように、本方法は、アプリケーションがロードされてもよいステップ305において開始してもよい。例えば、ステップ305では、コンピューティング装置(例えば、データサーバ103)は、モバイルアプリケーションのアプリケーションコードをロードしてもよい。例えば、アプリケーションコードは、Android(登録商標)アプリケーション、iOSアプリケーション、Windows(登録商標)アプリケーション、Linux(登録商標)アプリケーション、またはコンピューティング装置における使用に好適な任意の他のアプリケーションタイプのすべて、及び/または一部を定義するソースコードであってもよい。いくつかの事象では、コンピューティング装置は、コンピューティング装置によって受信されたバイナリファイルからアプリケーションコードをロードしてもよい。いくつかの事象では、アプリケーションコードは、コンピューティング装置上に存在してもよく(例えば、コンピューティング装置上に記憶される)、及び動作システムによってロードされてもよい。他の例では、コンピューティング装置及び/またはコンピューティング装置上の動作システムは、アプリケーションストアからアプリケーションコードをロードしてもよい。例えば、Android(登録商標)装置上で、Android(登録商標)動作システムはGoogle Play Storeからアプリケーションコードをロードしてもよい。別の例について、Apple装置上で、AppleiOS動作システムは、Apple App Storeからアプリケーションコードをロードしてもよい。他の例では、コンピューティング装置は、異なるアプリケーションレポジトリから、または装置メモリから直接、アプリケーションコードをロードしてもよい。いくつかの事象では、コンピューティング装置は、ネットワークインターフェース117または入力/出力インターフェース119によってアプリケーションコードを受信してもよい。
図5において見られるように、本方法は、アプリケーションコードがラッピングされてもよいステップ310で継続してもよい。例えば、ステップ310で、コンピューティング装置(例えば、データサーバ103)は、アプリケーションコードをロードして、1つ以上のポリシーファイルに基づいてアプリケーションの実行を管理するように構成されたアプリケーションラッパでモバイルアプリケーションをラッピングしてもよい。アプリケーションラッパは、アプリケーションコードの1つ以上の機能セルを傍受するようにさらに構成されてもよく、1つ以上のポリシーファイルは、1つ以上のユーザ装置上で装置管理システムによって行われる1つ以上のアクセス制御をそれぞれ定義してもよい。いくつかの事象では、ラピングされたアプリケーションは、修正コードで単一の実行可能ファイルを含んでもよい。他の事象では、ラッピングされたアプリケーションは、互いに動作していくつかの機能を実行してもよい、多数の互いに関係するファイルを含んでもよい。例えば、ラッピングされたアプリケーションは、実行可能ファイル、リンクされたライブラリ、Java(登録商標)クラス、データファイル、もしくは単独で、または別のファイルと組み合わせられたときに、実行に好適な任意の他のファイルタイプの組み合わせであってもよい。いくつかの事象では、アプリケーションラッパは、実行可能ファイルの機能を追加する、または規制することによってアプリケーションの実行を管理してもよい。追加で、または代替的に、アプリケーションラッパは、実行可能ファイルの機能へのユーザアクセスを強化する、または規制することによってアプリケーションの実行を管理してもよい。いくつかの事象では、ポリシーファイルは、管理者が配置してもよいアクセス制御を含んでもよい。例えば、ポリシーファイルは、ポリシーファイルにおいて1つ以上のポリシーによって定義されてもよい特定の状況における特定のユーザによってアクセス可能な機能を追加してもよく、または規制してもよい。1つの例では、ポリシーファイルは、電話のカメラまたはマイクロフォンを不可能にするアクセス制御を特定してもよい。別の例では、ポリシーファイルは、無線接続の存在がない場合、機能へのリモートアクセスを可能にしてもよく、またはアクセスを無効にしてもよい。いくつかの事象では、装置管理システムは、リモートコンピュータ107上のアプリケーションを含んでもよい。いくつかの事象では、装置管理システムは、多数のクライアント装置へのアクセス制御を広めてもよい中央管理システムを含んでもよい。
図5において見られるように、本方法は、ライブラリファイルが作成されてもよいステップ315において継続してもよい。例えば、ステップ315では、コンピューティング装置(例えば、データサーバ103)は、ラッパによって傍受された機能のうちの1つ以上にリンクされた実施コードを定義するフィールドプログラマブルビジネスロジックを含むライブラリファイルを作成してもよい。例えば、ライブラリファイルの実施は、動的リンクライブラリ、Java(登録商標)クラス、またはアプリケーションに好適な任意の他の同様のファイルタイプであってもよい。いくつかの事象では、フィールドプログラマブルビジネスロジックは、ラッパがアプリケーションの実行を管理することを許容してもよい論理命令を含んでもよい。例えば、フィールドプログラマブルビジネスロジックは、ラッパによって作られた通知に対するコード定義を含む実施コードを定義してもよい。別の例では、フィールドプログラマブルビジネスロジックは、PythonコードファイルまたはJava(登録商標)コードファイルなどの他の実施ロジックを含む実施コードを定義してもよい。
図5において見られるように、本方法は、ラッピングされたアプリケーション及びライブラリファイルが提供されてもよい、ステップ320で継続してもよい。例えば、ステップ320では、コンピューティング装置(例えば、データサーバ103)は、ラッピングされたアプリケーション及びライブラリファイルを少なくとも1つのユーザ装置に提供してもよい。例えば、コンピューティング装置は、ネットワークインターフェース117または入力/出力インターフェース119を介して、特定のユーザによって使用されるコンピューティング装置にラッピングされたアプリケーション及びライブラリファイルを提供してもよい。例えば、コンピューティング装置は、リモートコンピュータ107からの要求に応答して、ラッピングされたアプリケーション及びライブラリファイルを提供してもよい。例えば、リモートコンピュータ107は、ラッピングされたアプリケーション及びライブラリファイルをGoogle Play Store、Apple App Store、または任意の他のアプリケーションリポジトリなどのアプリケーションストアなどのストアフロントから要求してもよい。別の例として、コンピューティング装置は、ラッピングされたアプリケーション及びライブラリファイルをクライアント装置へ外部にプッシュしてもよい。例えば、リモートコンピュータ107は、ラッピングされたアプリケーション及びライブラリファイルを含むアプリケーション画像ファイルをロードしてもよく、またはコンピューティング装置によってクライアント装置にプッシュされたアプリケーション及びライブラリファイルを有してもよい。
図5において見られるように、本方法は、ビジネスロジックへの更新が受信されてもよいステップ325において継続してもよい。例えば、ステップ325では、コンピューティング装置(例えば、データサーバ103)は、ラッパによって傍受された機能にリンクされた、更新された実施コードを定義するビジネスロジックへの更新を受信してもよい。例えば、更新は、更新コードまたは下層ロジックを含んでもよい。別の例として、更新は、コードまたは下層ロジックの全体または一部を置き換える置換コードを含んでもよい。
図5において見られるように、本方法は、ライブラリファイルが更新されてもよいステップ330において継続してもよい。例えば、ステップ330では、コンピューティング装置(例えば、データサーバ103)は、ステップ325からの更新されたフィールドプログラマブルビジネスロジックを含む、更新されたライブラリファイルを作成してもよい。例えば、更新されたライブラリファイルを作成することにおいて、コンピューティング装置は、更新フィールドプログラマブルビジネスロジックを含む更新されたコードで既存のライブラリファイルを書き換えてもよい。例えば、リモートコンピュータ107上で実行する別々のアプリケーションは、コンピューティング装置によって受信される命令に基づいてビジネスロジックへの修正を作ってもよい。別の例として、更新されたライブラリファイルを作成することにおいて、コンピューティング装置は、更新されたフィールドプログラマブルビジネスロジックを含むコードまたはロジックを置き換えてもよい。例えば、リモートコンピュータ107におけるソフトウェアツールは、更新されたファイルで既存のファイルを置き換えてもよい。または、例えば、ソフトウェアツールは、更新されたコードまたはロジックでコードまたはロジックのバッチを置き換えてもよい。
図5において見られるように、本方法は、更新されたライブラリファイルが提供されてもよいステップ335で継続してもよい。例えば、ステップ335では、コンピューティング装置(例えば、データサーバ103)は、更新されたライブラリファイルを少なくとも1つのユーザ装置に提供してもよい(例えば、更新されたライブラリファイルを1つ以上の通信インターフェースを介して少なくとも1つのユーザ装置に送信することによって)。これは、アプリケーションラッパに更新されたビジネスロジックを使用させ、ラッピングされたアプリケーションの実行を管理させてもよい。例えば、コンピューティング装置は、更新されたライブラリファイルをネットワークインターフェース117または入力/出力インターフェース119を通して提供してもよい。例えば、コンピューティング装置は、リモートコンピュータ107からの要求に応答して、更新されたライブラリファイルを提供してもよい。例えば、リモートコンピュータ107は、Play Store、App Store,または任意の他のアプリケーションリポジトリなどのアプリケーションストアから更新されたライブラリファイルを要求してもよい。別の例として、コンピューティング装置は、更新されたライブラリファイルをリモートコンピュータ107にプッシュしてもよい。例えば、リモートコンピュータ107は、更新されたライブラリファイルを含む画像でフラッシュにされてもよく、またはコンピューティング装置によってリモートコンピュータ107にプッシュされた、更新されたライブラリファイルを有してもよい。
いくつかの実施形態では、更新されたライブラリファイルは、追加のラッパに更新されたビジネスロジックを使用させ、他のラッピングされたアプリケーションの実行を管理させてもよい。例えば、リモートコンピュータ107は、多数の管理されたアプリケーションを含んでもよい。単一の更新されたライブラリファイルは、装置上の複数またはすべての管理されたアプリケーション用の更新を含んでもよい。いくつかの事象では、エージェントアプリケーションは、更新されたライブラリファイルを管理されたアプリケーションに提供してもよい。いくつかの事象では、更新されたライブラリファイルは、管理されたアプリケーションが、それらのアプリケーションを再ラッピングする必要を伴わずに更新されることを許容してもよい。
図5において見られるように、本方法は、ラッピングされたアプリケーションへの更新が受信されてもよいステップ340において継続してもよい。例えば、ステップ340では、コンピューティング装置(例えば、データサーバ103)は、ラッパへの更新が利用可能であることを示すアプリケーション更新を受信してもよい。例えば、更新は、ラッピングされたアプリケーションを構成する1つ以上のファイルを更新する情報を含んでもよい。例えば、更新は、リモートコンピュータ107がファイルを書き換える、または置き換えることを許容する命令のセットを含んでもよい。別の事象では、更新は、コードまたはラッピングされたアプリケーションを構成してもよい1つ以上のファイルに対する置き換えを含んでもよい。
図5において見られるように、本方法は、アプリケーションが再ラッピングされてもよいステップ345において継続してもよい。例えば、ステップ345では、コンピューティング装置(例えば、データサーバ103)は、ラッパ及び/またはアプリケーションを更新され、ステップ340からの更新を使用してもよいラッピングされたアプリケーションと置き換えてもよい。例えば、リモートコンピュータ107上で実行する別個のアプリケーションは、コンピューティング装置によって受信される命令に基づいてビジネスロジックへの修正を作ってもよい。別の例として、アプリケーションを再ラッピングすることは、装置置き換えコードまたはロジックを含んでもよい。例えば、別個のアプリケーションは、既存のファイルを更新されたファイルと置き換えてもよい。または、例えば、ソフトウェアツールは、コードまたはロジックのバッチを更新されたコードまたはロジックと置き換えてもよい。
図5において見られるように、本方法は、更新され、ラッピングされたアプリケーションが提供されてもよいステップ350で継続してもよい。例えば、ステップ350では、コンピューティング装置(例えばデータサーバ103)は、更新され、ラッピングされたアプリケーションを少なくとも1つのユーザ装置に提供してもよい。例えば、コンピューティング装置は、更新され、ラッピングされたアプリケーションを、ネットワークインターフェース117または入力/出力インターフェース119を介して、少なくとも1つのユーザ装置に送信することによって、更新され、ラッピングされたアプリケーションを提供してもよい。例えば、更新され、ラッピングされたアプリケーションは、リモートコンピュータ107からの要求に応答して提供されてもよい。例えば、リモートコンピュータ107は、更新され、アプリケーションストアから、ラッピングされたアプリケーションを要求してもよく、ストアフロントはPlay Store、App Store、または任意の他のアプリケーションリポジトリであってもよい。別の例として、更新され、ラッピングされたアプリケーションは、クライアント装置に外部へプッシュされてもよい。例えば、リモートコンピュータ107は、更新され、ラッピングされたアプリケーションを含む画像でフラッシュにされてもよく、またはコンピューティング装置によってリモートコンピュータ107にプッシュされた、更新され、ラッピングされたアプリケーションを有してもよい。
図6は、本明細書で述べられる1つ以上の例証的な態様による、ライブラリファイル及びラッピングされたアプリケーションを更新する方法を例証するフローチャートを示す。1つ以上の実施形態では、クライアント装置(例えば、リモートコンピュータ107)は、図6において例証される方法、及び/またはその1つ以上のステップを実行してもよい。追加で、または代替的に、コンピューティング装置は、モバイル装置であってもよい。他の実施形態では、図6に例証される方法、及び/またはその1つ以上のステップは、非一時的なコンピュータ可読メモリなど、コンピュータ可読媒体に記憶される非一時的なコンピュータ可読命令で具現化されてもよい。
図6において見られるように、本方法は、ライブラリファイルへの更新の表示が受信されてもよいステップ405において開始してもよい。例えば、ステップ405では、クライアント装置(例えば、リモートコンピュータ107)は、第1のライブラリファイルへの更新の表示を受信してもよい。第1のライブラリファイルは、ラッパによって傍受された1つ以上の機能にリンクされた実施コードを定義する、フィールドプログラマブルビジネスロジックを含んでもよい。ラッパは、クライアント装置上の装置管理システムによって行われる1つ以上のアクセス制御を定義する1つ以上のポリシーファイルに基づいて、クライアント装置上のモバイルアプリケーションの実行を管理するように構成されてもよい。例えば、更新は、更新されたコードまたは下層ロジックをリモートコンピュータに提供してもよい。別の例として、更新は、コードまたは下層ロジックの全体または一部の置き換えをリモートコンピュータに提供してもよい。ステップ405でクライアント装置によって受信される第1のライブラリファイルへの更新の表示は、例えば、第1のライブラリファイルへの更新が利用可能であることを示す情報、及び/または更新されたビジネスロジック及び/またはビジネスロジックに関連付けられてもよい実施コードを定義する情報を含んでもよい。
図6において見られるように、本方法は、ライブラリファイルへの更新がダウンロードされてもよいステップ410で継続してもよい。例えば、ステップ410では、クライアント装置(例えば、リモートコンピュータ107)は、更新が利用可能であることの表示を受信することに応答して、更新されたライブラリファイルをダウンロードしてもよい。更新されたライブラリファイルは、ラッパによって傍受された機能にリンクされた、更新された実施コードを定義するフィールドプログラマブルビジネスロジックを含んでもよい。いくつかの事象では、更新されたライブラリファイルは、ステップ335におけるように提供されてもよい。クライアント装置は、ネットワークインターフェース117または入力/出力インターフェース119を通してアプリケーションをダウンロードしてもよい。別の装置、サーバ、Google Play StoreまたはApple App Storeなどのレポジトリ、または任意のアプリケーションレポジトリは、いくつかの事象では、ファイルを提供してもよい。
図6において見られるように、本方法は、以前のライブラリファイルが更新されたライブラリファイルと置き換えられてもよい、ステップ415において継続してもよい。例えば、ステップ415において、クライアント装置(例えば、リモートコンピュータ107)は、第1のライブラリファイルを更新されたライブラリファイルと置き換えてもよい。次に、ラッパは、モバイルアプリケーションの実行を管理する場合、更新されたフィールドプログラマブルビジネスロジックを使用してもよい。例えば、クライアント装置は、スタンドアロンファイルを別のファイルと置き換えてもよい。例のように、クライアント装置は、Java(登録商標)クラスを含むファイルを、java(登録商標)クラスを含む別のファイルと置き換えてもよく、または、1つの動的リンクライブラリファイルを別の動的リンクライブラリファイルと置き換えてもよい。
いくつかの実施形態では、アプリケーションは、アプリケーションを再ラッピングする必要性を伴わずに、更新されたライブラリファイルを使用してもよい。さらに、いくつかの実施形態では、追加のラッパは、更新されたビジネスロジックを使用して、追加のラッピングされたアプリケーションの実行を管理してもよい。例えば、リモートコンピュータ107は、多数の管理されたアプリケーションを含んでもよい。単一の更新されたライブラリファイルは、装置上の複数またはすべての管理されたアプリケーションに対する更新を含んでもよい。例えば、更新されたライブラリファイルは、追加の管理されたアプリケーションが、それらの追加のアプリケーションを再ラッピングする必要性を伴わずに更新されることを許容してもよい。例えば、複数のラッパは、古いライブラリファイルの更新されたライブラリファイルとの置き換えは、複数のラッパに対するファイルを置き換え、管理されたアプリケーションが、再ラッピングを伴わずに更新されたフィールドプログラマブルビジネスロジックを使用することを許容するように、ファイルシステムに記憶されたライブラリファイルを使用してもよい。いくつかの事象では、エージェントアプリケーションは、更新されたライブラリファイルを管理されたアプリケーションに提供してもよい。例えば、エージェントは、更新されたライブラリファイルの1つのコピーを受信してもよく、使用のために管理されたアプリケーション内の更新されたライブラリファイルを配信してもよい。
図6において見られるように、本方法は、アプリケーション用のラッパへの更新の表示が受信されてもよいステップ420で開始してもよい。例えば、ステップ420では、クライアント装置(例えば、リモートコンピュータ107)は、アプリケーション用のラッパへの更新が利用可能であることを示すアプリケーション更新を受信してもよい。例えば、更新は、ラッピングされたアプリケーションを構成する1つ以上のファイルへの更新を含んでもよい。例えば、更新は、アプリケーションを構成する1つ以上のファイルを書き換えるように、クライアント装置に対する命令のセットを含んでもよい。別の事象では、更新は、コードまたはラッピングされたアプリケーションを構成してもよい1つ以上のファイルに対する置き換えを含んでもよい。
図6において見られるように、本方法は、アプリケーション用のラッパへの更新がダウンロードされてもよいステップ425で継続してもよい。例えば、ステップ425では、コンピューティング装置(例えば、データサーバ103)は、更新され、ラッピングされたアプリケーションをダウンロードしてもよい。いくつかの事象では、アプリケーション用の更新されたラッパは、ステップ350におけるように提供されてもよい。クライアント装置は、ネットワークインターフェース117または入力/出力インターフェース119を通してアプリケーションをダウンロードしてもよい。Google Play StoreまたはApple App Storeなどの別の装置、サーバ、レポジトリ、または任意のアプリケーションレポジトリは、ファイルを提供してもよい。
図6において見られるように、本方法は、以前のライブラリファイルが更新されたライブラリファイルと置き換えられてもよいステップ430において継続してもよい。例えば、ステップ430では、クライアント装置(例えば、リモートコンピュータ107)は、ラッパ及びアプリケーションを更新され、ラッピングされたアプリケーションと置き換えてもよい。例えば、クライアント装置は、スタンドアロンファイルを別のファイルと置き換えてもよい。例えば、クライアント装置上で実行するアプリケーションは、クライアント装置によって受信された命令に基づいて、修正を作ってもよい。別の例では、アプリケーションを再ラッピングすることは、コードまたはロジックを置き換えることを含んでもよい。例えば、クライアント装置上のソフトウェアツールは、既存のファイルを更新されたファイルと置き換えてもよい。または、例えば、ソフトウェアツールは、コードまたはロジックのバッチを更新されたコードまたはロジックと置き換えてもよい。
いくつかの実施形態では、ライブラリファイルは、特定のタイプのものであってもよい。例えば、いくつかの実施形態では、ライブラリファイルは、iOSライブラリであってもよい。別の例では、ライブラリファイルは、Android(登録商標)ライブラリであってもよい。別の例では、ライブラリファイルは、動的リンクライブラリであってもよい。ライブラリファイルはさらに、Windows(登録商標)ライブラリ、Windows(登録商標)電話ライブラリ、またはライブラリファイルに対する任意の他の好適なファイルタイプであってもよい。
いくつかの実施形態では、実施コードは、コードを実施するコード定義であってもよい。例えば、スタブ機能は、.hファイルであってもよく、実施コードは.cppファイルであってもよい。別の例として、Java(登録商標)で、アプリケーションラッパは、Java(登録商標)クラスとして定義されてもよく、そのクラスは実施コードによって実施されてもよい。さらに、任意の数の他の手段は、C、C#、アセンブリ、またはバイナリファイルなどの言語を含む、実施コードを作成するように使用されてもよい。ラッパは機能であってもよく、実施コードは、動作システム内で実施可能コードを作成するために、ラッパ内に入れられるバイナリファイルであってもよい。実施コードは独立して実行してもよく、簡潔にラッパによって呼び出されてもよく、またはラッパが動作することを要求してもよい。
いくつかの実施形態では、アプリケーションコードを修正することは、少なくとも1つのスタブ機能をアプリケーションラッパに追加することを含んでもよく、少なくとも1つのスタブ機能は、ライブラリファイルにおいて提供される実施コードを参照してもよい。スタブ機能は、アプリケーションにすでに存在している機能より優位である機能の通知であってもよい。スタブ機能は、アプリケーションラッパを補助するために作成された機能であってもよく、いくつかの追加の機能性を追加してもよい。スタブ機能は、機能性を限定するライブラリファイルにおいて実施コードを参照してもよい。
いくつかの実施形態では、アプリケーションコードを修正することは、フィールドプログラマブルビジネスロジックにおいて定義された実施コードの少なくとも一部の実行を引き起こすように、アプリケーションによって使用されるアプリケーションプログラミングインターフェースにおいて定義される機能をリネーミングすることを含んでもよい。例えば、コンピューティング装置またはクライアント装置は、機能に対する既存している通知をリネーミングして、元々の機能で新しい通知を作成して、その結果、機能コールが元々の機能の場所における新しい機能を参照してもよい。例えば、アプリケーションプログラミングインターフェースにおける機能「camera()」は、「camera.old()」に変化してもよく、単純に終了する新しい「camera()」が作成されてもよい。これは、ユーザが自分のスマートフォンで、カメラで写真を撮ることができることを防いでもよい。別の例では、置き換えが与えられずに既存の機能がリネーミングされてもよく、その結果、既存の機能はもはや動作しない。
いくつかの実施形態では、アプリケーションコードを修正することは、アプリケーション内にアプリケーションフックを挿入することを含んでもよい。アプリケーションフックは、フィールドプログラマブルビジネスロジックにおいて定義された実施コードの一部の実行を引き起こしてもよい。例えば、コンピューティング装置またはクライアント装置は、コードのブランチの実行に対してモニタにサブルーチンを挿入してもよく、サブルーチンは、ブランチが検出される場合に、コードを実行してもよい。別の例では、コンピューティング装置またはクライアント装置は、アプリケーションのコードにおける特定の点から実施コードの実行にジャンプする、ブランチング命令を挿入してもよい。
いくつかの実施形態では、更新されたライブラリファイルは、少なくとも1つのユーザ装置が更新前のビジネスロジックを使用しているという判定に応答して、少なくとも1つのユーザ装置に提供されてもよい。例えば、コンピューティング装置またはクライアント装置は、ライブラリファイルが更新前であることを判定してもよい。例えば、Google Play StoreまたはApple App Storeなどのストアフロントアプリケーションストアは、ライブラリファイルが更新前であるという判定において、コンピューティング装置またはクライアント装置を補助してもよい。別の事象では、クライアント装置は、ライブラリファイルが更新前であり得ることを表示するコンピューティング装置からの表示を確認するか、受信してもよい。新しいファイルが利用可能である場合、既存のファイルが不連続である場合、ファイルへの書き換えが利用可能であるなどの場合、ライブラリファイルは更新前であり得る。
主題は、構造的特徴及び/または方法的な作用に特化した言語で説明されたが、付属の請求項において定義された主題は、上記で説明された特定の機能または作用に必ずしも限定されないことが理解されるべきである。むしろ、上記で説明された特定の特徴及び作用は、下記の請求項の例示の実施として説明される。
関連出願の相互参照
本出願は、2015年3月27日に出願され、“WRAPPING AN APPLICATION WITH FIELD−PROGRAMMABLE BUSINESS LOGIC”と題された米国特許出願第14/671,351号の利益を主張するものであり、その全体が参照により本明細書に組み込まれる。

Claims (20)

  1. コンピューティング装置によってモバイルアプリケーションのアプリケーションコードをロードすることと、
    1つ以上のポリシーファイルに基づいて前記アプリケーションの実行を管理するように構成され、前記アプリケーションコードの1つ以上の機能を傍受するように構成されたアプリケーションラッパで前記アプリケーションをラッピングするように、前記コンピューティング装置によって前記アプリケーションコードを修正することであって、前記1つ以上のポリシーファイルはそれぞれ、1つ以上のユーザ装置上の装置管理システムによって行われる1つ以上のアクセス制御を定義する、修正することと、
    前記コンピューティング装置によって、前記ラッパによって傍受された前記機能のうちの1つ以上にリンクされた実施コードを定義するフィールドプログラマブルビジネスロジックを含むライブラリファイルを作成することと、
    前記コンピューティング装置によって前記ラッピングされたアプリケーション及び前記ライブラリファイルを少なくとも1つのユーザ装置に提供することとを含む、方法。
  2. 1つ以上の他のアプリケーションコードが、1つ以上の他のアプリケーションの実行を管理するように構成された1つ以上の他のラッパによって修正され、前記機能のうちの1つ以上にリンクされた前記実施コードが前記1つ以上の他のラッパによって傍受される、請求項1に記載の方法。
  3. 前記アプリケーションコードを修正することが、少なくとも1つのスタブ機能を前記アプリケーションラッパに追加することを含み、前記少なくとも1つのスタブ機能は、前記ライブラリファイルに提供される前記実施コードを参照する、請求項1に記載の方法。
  4. 前記アプリケーションコードを修正することが、前記フィールドプログラマブルビジネスロジックにおいて定義されている前記実施コードの少なくとも一部の実行を引き起こすように、前記アプリケーションによって使用されるアプリケーションプログラミングインターフェースにおいて定義されている機能をリネーミングすることを含む、請求項1に記載の方法。
  5. 前記アプリケーションコードを修正することが、少なくとも1つのアプリケーションフックを前記アプリケーションに挿入することを含み、前記少なくとも1つのアプリケーションフックは、前記フィールドプログラマブルビジネスロジックにおいて定義されている前記実施コードの一部の実行を引き起こす、請求項1に記載の方法。
  6. 前記ラッピングされたアプリケーション及び前記ライブラリファイルを前記少なくとも1つのユーザ装置に提供した後、前記コンピューティング装置によって、更新されたライブラリファイルを作成することであって、前記更新されたライブラリファイルは、前記ラッパによって傍受された機能にリンクされた、更新された実施コードを定義する、更新されたフィールドプログラマブルビジネスロジックを含む、作成することと、
    前記コンピューティング装置によって、前記更新されたライブラリファイルを前記少なくとも1つのユーザ装置に提供し、前記アプリケーションラッパに前記更新されたビジネスロジックを使用させ、前記ラッピングされたアプリケーションの実行を管理することとをさらに含む、請求項1に記載の方法。
  7. 前記更新されたライブラリファイルが、前記少なくとも1つのユーザ装置が更新前のビジネスロジックを使用しているという判定に応答して、前記少なくとも1つのユーザ装置に提供される、請求項6に記載の方法。
  8. 前記ラッピングされたアプリケーション及び前記ライブラリファイルを前記少なくとも1つのユーザ装置に提供した後、前記コンピューティング装置によって、更新されたライブラリファイルを作成することであって、前記更新されたライブラリファイルは、前記ラッパによって傍受された機能にリンクされた、更新された実施コードを定義する、更新されたフィールドプログラマブルビジネスロジックを含む、作成することと、
    前記コンピューティング装置によって、前記更新されたライブラリファイルを前記少なくとも1つのユーザ装置に提供し、前記アプリケーションラッパ及び前記1つ以上の他のラッパに前記更新されたビジネスロジックを使用させ、前記ラッピングされたアプリケーション及び前記1つ以上の他のアプリケーションの実行を管理することとをさらに含む、請求項2に記載の方法。
  9. 命令を記憶する1つ以上の非一時的コンピュータ可読媒体であって、少なくとも1つのコンピューティング装置によって実行されるとき、前記少なくとも1つのコンピューティング装置に、
    モバイルアプリケーションのアプリケーションコードをロードすることと、
    1つ以上のポリシーファイルに基づいて前記アプリケーションの実行を管理するように構成され、前記アプリケーションコードの1つ以上の機能を傍受するように構成されたアプリケーションラッパで前記アプリケーションをラッピングするように前記アプリケーションコードを修正することであって、前記1つ以上のポリシーファイルはそれぞれ、1つ以上のユーザ装置上の装置管理システムによって行われる1つ以上のアクセス制御を定義する、修正することと、
    前記ラッパによって傍受された前記機能のうちの1つ以上にリンクされた実施コードを定義するフィールドプログラマブルビジネスロジックを備えたライブラリファイルを作成することと、
    前記ラッピングされたアプリケーション及び前記ライブラリファイルを少なくとも1つのユーザ装置に提供することとを行わせる、非一時的コンピュータ可読媒体。
  10. 1つ以上の他のアプリケーションコードが、1つ以上の他のアプリケーションの実行を管理するように構成された1つ以上の他のラッパによって修正され、前記機能のうちの1つ以上にリンクされた前記実施コードが前記1つ以上の他のラッパによって傍受される、請求項9に記載の非一時的コンピュータ可読媒体。
  11. 前記アプリケーションコードを修正することが少なくとも1つのスタブ機能を前記アプリケーションラッパに追加することを含み、前記少なくとも1つのスタブ機能は、前記ライブラリファイルにおいて提供される前記実施コードを参照する、請求項9に記載の非一時的コンピュータ可読媒体。
  12. 前記アプリケーションコードを修正することが、前記フィールドプログラマブルビジネスロジックにおいて定義されている前記実施コードの少なくとも一部の実行を引き起こすように、前記アプリケーションによって使用されるアプリケーションプログラミングインターフェースにおいて定義されている機能をリネーミングすることを含む、請求項9に記載の非一時的コンピュータ可読媒体。
  13. 前記アプリケーションコードを修正することが、少なくとも1つのアプリケーションフックを前記アプリケーションに挿入することを含み、前記少なくとも1つのアプリケーションフックは、前記フィールドプログラマブルビジネスロジックにおいて定義されている前記実施コードの一部の実行を引き起こす、請求項9に記載の非一時的コンピュータ可読媒体。
  14. 前記1つ以上の非一時的コンピュータ可読媒体が、前記1つ以上の非一時的コンピュータ可読媒体に記憶された追加の命令を有し、前記追加の命令は、前記少なくとも1つのコンピューティング装置によって実行されたとき、前記少なくとも1つのコンピューティング装置に、
    前記ラッピングされたアプリケーション及び前記ライブラリファイルを提供した後、更新されたライブラリファイルを作成することであって、前記更新されたライブラリファイルは、前記ラッパによって傍受された機能にリンクされた更新された実施コードを定義する更新されたフィールドプログラマブルビジネスロジックを含む、作成することと
    前記更新されたライブラリファイルを前記少なくとも1つのユーザ装置に提供して、前記アプリケーションラッパに、前記更新されたビジネスロジックを使用して前記ラッピングされたアプリケーションの実行を管理させることと、をさらに行わせる、請求項9に記載の非一時的コンピュータ可読媒体。
  15. 前記更新されたライブラリファイルが、前記少なくとも1つのユーザ装置が更新前のビジネスロジックを使用しているという判定に応答して、前記少なくとも1つのユーザ装置に提供される、請求項14に記載の非一時的コンピュータ可読媒体。
  16. コンピューティング装置であって、前記コンピューティング装置は、
    少なくとも1つの処理装置と、
    コンピュータ可読命令を記憶するメモリとを備え、前記コンピュータ可読命令は、前記少なくとも1つの処理装置によって実行されたとき、前記コンピューティング装置に、
    第1のライブラリファイルへの更新の表示を受信することであって、前記第1のライブラリファイルは、ラッパによって傍受された1つ以上の機能にリンクされた実施コードを定義するフィールドプログラマブルビジネスロジックを含み、前記ラッパは、前記コンピューティング装置上の装置管理システムによって行われる1つ以上のアクセス制御を定義する1つ以上のポリシーファイルに基づいて、前記コンピューティング装置上でモバイルアプリケーションの実行を管理するように構成される、受信することと、
    前記表示の受信に応答して、更新されたライブラリファイルをダウンロードすることであって、前記第1のライブラリファイルは、前記ラッパによって傍受された機能にリンクされた、更新された実施コードを定義する、更新されたフィールドプログラマブルビジネスロジックを含む、ダウンロードすることと、
    前記第1のライブラリファイルを前記更新されたライブラリファイルと置き換えて、前記ラッパに、前記モバイルアプリケーションの前記実行を管理するとき、前記更新されたフィールドプログラマブルビジネスロジックを使用させることとを行わせる、コンピューティング装置。
  17. 前記メモリが追加のコンピュータ可読命令を記憶し、前記追加のコンピュータ可読命令が、前記少なくとも1つの処理装置によって実行されたとき、前記コンピューティング装置に、さらに、
    前記第1のライブラリファイルへの前記更新の前記表示を受信した後、前記アプリケーション用のラッパへの更新が利用可能であることを表示するアプリケーション更新を受信することと、
    更新されたラッピングされたアプリケーションをダウンロードすることと、
    前記ラッパ及び前記アプリケーションを前記更新されたラッピングされたアプリケーションと置き換えることとを行わせる、請求項16に記載のコンピューティング装置。
  18. 前記ラッパが少なくとも1つのスタブ機能を含み、前記少なくとも1つのスタブ機能は、前記ライブラリファイルにおいて提供される前記実施コードを参照する、請求項16に記載のコンピューティング装置。
  19. 前記ラッパが、前記フィールドプログラマブルビジネスロジックにおいて定義されている前記実施コードの少なくとも一部の実行を引き起こすための、前記アプリケーションによって使用されるアプリケーションプログラミングインターフェースにおいて定義されているリネーミングされた機能を含む、請求項16に記載のコンピューティング装置。
  20. 前記ラッパが、前記アプリケーションに挿入された少なくとも1つのアプリケーションフックを含み、前記少なくとも1つのアプリケーションフックは、前記フィールドプログラマブルビジネスロジックにおいて定義されている前記実施コードの一部の実行を引き起こす、請求項16に記載のコンピューティング装置。
JP2017550935A 2015-03-27 2015-04-21 フィールドプログラマブルビジネスロジックでのアプリケーションのラッピング Expired - Fee Related JP6603730B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/671,351 US9606774B2 (en) 2012-10-16 2015-03-27 Wrapping an application with field-programmable business logic
US14/671,351 2015-03-27
PCT/US2015/026781 WO2016160039A1 (en) 2015-03-27 2015-04-21 Wrapping an application with field-programmable business logic

Publications (2)

Publication Number Publication Date
JP2018510426A true JP2018510426A (ja) 2018-04-12
JP6603730B2 JP6603730B2 (ja) 2019-11-06

Family

ID=53180798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017550935A Expired - Fee Related JP6603730B2 (ja) 2015-03-27 2015-04-21 フィールドプログラマブルビジネスロジックでのアプリケーションのラッピング

Country Status (4)

Country Link
US (1) US9606774B2 (ja)
EP (1) EP3274821B1 (ja)
JP (1) JP6603730B2 (ja)
WO (1) WO2016160039A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10261672B1 (en) * 2014-09-16 2019-04-16 Amazon Technologies, Inc. Contextual launch interfaces
US9971582B2 (en) * 2015-06-23 2018-05-15 Ca, Inc. Selecting application wrapper logic components based on features of a mobile application to be wrapped
CN105099706A (zh) 2015-08-25 2015-11-25 华为技术有限公司 一种数据通信方法、用户设备和服务器
US11063950B2 (en) * 2016-06-09 2021-07-13 Microsoft Technology Licensing, Llc Secure remote desktop session
US10853125B2 (en) * 2016-08-19 2020-12-01 Oracle International Corporation Resource efficient acceleration of datastream analytics processing using an analytics accelerator
KR101930056B1 (ko) * 2016-11-10 2019-03-15 한국전자통신연구원 보안 정책을 지원하는 단말 관리 방법 및 장치
US10776459B2 (en) * 2017-12-07 2020-09-15 International Business Machines Corporation Facilitating build and deploy runtime memory encrypted cloud applications and containers
US11184396B2 (en) * 2018-09-27 2021-11-23 Intel Corporation Techniques to enforce policies for computing platform resources
US11048549B2 (en) * 2019-04-04 2021-06-29 Google Llc Transferral of process state and/or components in computing environments
CN113791814B (zh) * 2021-08-24 2024-03-26 福建魔方电子科技有限公司 一种Android平台上生产预置更新方法、装置、设备和介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014032051A1 (en) * 2012-08-24 2014-02-27 Vmware, Inc. Method and system for facilitating isolated workspace for applications
US20140109072A1 (en) * 2012-10-16 2014-04-17 Citrix Systems, Inc. Application wrapping for application management framework
WO2015023887A1 (en) * 2013-08-15 2015-02-19 Mocana Corporation Gateway device for terminating a large volume of vpn connections

Family Cites Families (481)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263438A (ja) 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US5898830A (en) 1996-10-17 1999-04-27 Network Engineering Software Firewall providing enhanced network security and user transparency
US5805803A (en) 1997-05-13 1998-09-08 Digital Equipment Corporation Secure web tunnel
US6249866B1 (en) 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
US6151606A (en) 1998-01-16 2000-11-21 Visto Corporation System and method for using a workspace data manager to access, manipulate and synchronize network data
US6154172A (en) 1998-03-31 2000-11-28 Piccionelli; Gregory A. System and process for limiting distribution of information on a communication network based on geographic location
US6219694B1 (en) 1998-05-29 2001-04-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device having a shared electronic address
US6480096B1 (en) 1998-07-08 2002-11-12 Motorola, Inc. Method and apparatus for theft deterrence and secure data retrieval in a communication device
US6158010A (en) 1998-10-28 2000-12-05 Crosslogix, Inc. System and method for maintaining security in a distributed computer network
US7140005B2 (en) 1998-12-21 2006-11-21 Intel Corporation Method and apparatus to test an instruction sequence
US7130831B2 (en) 1999-02-08 2006-10-31 Copyright Clearance Center, Inc. Limited-use browser and security system
US6609198B1 (en) 1999-08-05 2003-08-19 Sun Microsystems, Inc. Log-on service providing credential level change without loss of session continuity
US6356933B2 (en) 1999-09-07 2002-03-12 Citrix Systems, Inc. Methods and apparatus for efficiently transmitting interactive application data between a client and a server using markup language
GB2354350B (en) 1999-09-17 2004-03-24 Mitel Corp Policy representations and mechanisms for the control of software
US20030236861A1 (en) 2000-03-03 2003-12-25 Johnson Scott C. Network content delivery system with peer to peer processing components
JP4348818B2 (ja) 2000-03-10 2009-10-21 ソニー株式会社 データ配信システムとその方法およびデータ記録媒体
US6859879B2 (en) 2000-05-26 2005-02-22 International Business Machine Corporation Method and system for secure pervasive access
US7065652B1 (en) 2000-06-21 2006-06-20 Aladdin Knowledge Systems, Ltd. System for obfuscating computer code upon disassembly
GB2366691B (en) 2000-08-31 2002-11-06 F Secure Oyj Wireless device management
US7689510B2 (en) 2000-09-07 2010-03-30 Sonic Solutions Methods and system for use in network management of content
US6883098B1 (en) 2000-09-20 2005-04-19 International Business Machines Corporation Method and computer system for controlling access by applications to this and other computer systems
US20020112047A1 (en) 2000-12-05 2002-08-15 Rakesh Kushwaha System and method for wireless data terminal management using general packet radio service network
US20080214300A1 (en) 2000-12-07 2008-09-04 Igt Methods for electronic data security and program authentication
US7904468B2 (en) 2008-02-27 2011-03-08 Research In Motion Limited Method and software for facilitating interaction with a personal information manager application at a wireless communication device
US7640320B2 (en) 2001-01-18 2009-12-29 Yahoo! Inc. Method and system for managing digital content, including streaming media
US6732278B2 (en) 2001-02-12 2004-05-04 Baird, Iii Leemon C. Apparatus and method for authenticating access to a network resource
US7437429B2 (en) 2001-02-13 2008-10-14 Microsoft Corporation System and method for providing transparent access to distributed authoring and versioning files including encrypted files
US7502861B1 (en) 2001-02-16 2009-03-10 Swsoft Holding, Ltd. System and method for providing services for offline servers using the same network address
US20020120607A1 (en) 2001-02-28 2002-08-29 Lumenati, Inc. File sharing system for serving content from a computer
EP1936893A3 (en) 2001-03-14 2009-12-16 Nokia Corporation Method and device for presence management
US7302571B2 (en) 2001-04-12 2007-11-27 The Regents Of The University Of Michigan Method and system to maintain portable computer data secure and authentication token for use therein
JP3861625B2 (ja) 2001-06-13 2006-12-20 ソニー株式会社 データ転送システム、データ転送装置、記録装置、データ転送方法
US20050198379A1 (en) 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US6621766B2 (en) 2001-08-01 2003-09-16 Fossil, Inc. Flexible timepiece in multiple environments
US8218829B2 (en) 2001-08-20 2012-07-10 Polycom, Inc. System and method for using biometrics technology in conferencing
EP1421810B1 (en) 2001-08-29 2007-10-31 Research In Motion Limited System and method for addressing a mobile device in an ip-based wireless network
US8560709B1 (en) 2004-02-25 2013-10-15 F5 Networks, Inc. System and method for dynamic policy based access over a virtual private network
US7143443B2 (en) 2001-10-01 2006-11-28 Ntt Docomo, Inc. Secure sharing of personal devices among different users
US7631084B2 (en) 2001-11-02 2009-12-08 Juniper Networks, Inc. Method and system for providing secure access to private networks with client redirection
US7159120B2 (en) 2001-11-19 2007-01-02 Good Technology, Inc. Method and system for protecting data within portable electronic devices
US7950066B1 (en) 2001-12-21 2011-05-24 Guardian Data Storage, Llc Method and system for restricting use of a clipboard application
US20030131245A1 (en) 2002-01-04 2003-07-10 Michael Linderman Communication security system
US7873985B2 (en) 2002-01-08 2011-01-18 Verizon Services Corp. IP based security applications using location, port and/or device identifier information
EP1466435B1 (en) 2002-01-08 2019-05-22 Seven Networks, LLC Secure transport for mobile communication network
JP2003202929A (ja) 2002-01-08 2003-07-18 Ntt Docomo Inc 配信方法および配信システム
US20030188193A1 (en) 2002-03-28 2003-10-02 International Business Machines Corporation Single sign on for kerberos authentication
US6950825B2 (en) 2002-05-30 2005-09-27 International Business Machines Corporation Fine grained role-based access to system resources
WO2003104954A2 (en) 2002-06-06 2003-12-18 Green Border Technologies Methods and systems for implementing a secure application execution environment using derived user accounts for internet content
US6946715B2 (en) 2003-02-19 2005-09-20 Micron Technology, Inc. CMOS image sensor and method of fabrication
US8012219B2 (en) 2002-08-09 2011-09-06 Visto Corporation System and method for preventing access to data on a compromised remote device
US7665118B2 (en) 2002-09-23 2010-02-16 Credant Technologies, Inc. Server, computer memory, and method to support security policy maintenance and distribution
US7437752B2 (en) 2002-09-23 2008-10-14 Credant Technologies, Inc. Client architecture for portable device with security policies
US7665125B2 (en) 2002-09-23 2010-02-16 Heard Robert W System and method for distribution of security policies for mobile devices
US7536562B2 (en) 2002-10-17 2009-05-19 Research In Motion Limited System and method of security function activation for a mobile electronic device
FR2847752B1 (fr) 2002-11-27 2006-01-13 At & T Corp Methode et systeme pour gerer l'echange de fichiers joints a des courriers electroniques
US7254831B2 (en) 2002-12-04 2007-08-07 Microsoft Corporation Sharing a sign-in among software applications having secured features
US8332464B2 (en) 2002-12-13 2012-12-11 Anxebusiness Corp. System and method for remote network access
US7526800B2 (en) 2003-02-28 2009-04-28 Novell, Inc. Administration of protection of data accessible by a mobile device
US7353533B2 (en) 2002-12-18 2008-04-01 Novell, Inc. Administration of protection of data accessible by a mobile device
US9237514B2 (en) 2003-02-28 2016-01-12 Apple Inc. System and method for filtering access points presented to a user and locking onto an access point
US7917468B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
WO2004066156A1 (ja) 2003-01-20 2004-08-05 Fujitsu Limited 複製防止装置、複製防止方法およびその方法をコンピュータに実行させるプログラム
JP3928561B2 (ja) 2003-01-23 2007-06-13 ソニー株式会社 コンテンツ配信システム、情報処理装置又は情報処理方法、並びにコンピュータ・プログラム
US8020192B2 (en) 2003-02-28 2011-09-13 Michael Wright Administration of protection of data accessible by a mobile device
US9197668B2 (en) 2003-02-28 2015-11-24 Novell, Inc. Access control to files based on source information
US7779408B1 (en) 2003-03-24 2010-08-17 Sprint Spectrum L.P. Method and system for downloading and managing portable applications on a mobile device
WO2004107646A1 (en) 2003-05-14 2004-12-09 Threatguard, Inc. System and method for application-level virtual private network
US7543051B2 (en) 2003-05-30 2009-06-02 Borland Software Corporation Method of non-intrusive analysis of secure and non-secure web application traffic in real-time
US7089594B2 (en) 2003-07-21 2006-08-08 July Systems, Inc. Application rights management in a mobile environment
US7574707B2 (en) 2003-07-28 2009-08-11 Sap Ag Install-run-remove mechanism
US7349913B2 (en) 2003-08-21 2008-03-25 Microsoft Corporation Storage platform for organizing, searching, and sharing data
SE527561C2 (sv) 2003-09-12 2006-04-11 Secured Email Goeteborg Ab Metod, system och datorprogram för kryptografisk kommunikation av elektroniska meddelanden
US20050076085A1 (en) 2003-09-18 2005-04-07 Vulcan Portals Inc. Method and system for managing email attachments for an electronic device
US7492472B2 (en) 2003-10-30 2009-02-17 Xerox Corporation Multimedia communications/collaboration hub
US8483227B2 (en) 2003-11-20 2013-07-09 International Business Machines Corporation Controlling bandwidth reservations method and apparatus
US7415498B2 (en) 2003-12-10 2008-08-19 International Business Machines Corporation Time limited collaborative community role delegation policy
EP1719316B1 (en) 2003-12-29 2012-05-23 Telefonaktiebolaget LM Ericsson (publ) Means and method for single sign-on access to a service network through an access network
US20050172241A1 (en) 2004-01-08 2005-08-04 International Business Machines Corporation System and method for improved direct system clipboard
US7269605B1 (en) 2004-02-13 2007-09-11 Avidian Technologies Personal information manager data synchronization and augmentation
JP4665406B2 (ja) 2004-02-23 2011-04-06 日本電気株式会社 アクセス制御管理方法、アクセス制御管理システムおよびアクセス制御管理機能付き端末装置
US7720461B2 (en) 2004-02-26 2010-05-18 Research In Motion Limited Mobile communications device with security features
US20050193222A1 (en) 2004-03-01 2005-09-01 Greene William S. Providing secure data and policy exchange between domains in a multi-domain grid by use of a service ecosystem facilitating uses such as supply-chain integration with RIFD tagged items and barcodes
US7599991B2 (en) 2004-03-10 2009-10-06 Microsoft Corporation Rules interface for implementing message rules on a mobile computing device
US7509672B1 (en) 2004-04-01 2009-03-24 Compuware Corporation Cross-platform single sign-on data sharing
WO2005107144A1 (en) 2004-04-30 2005-11-10 Research In Motion Limited System and method for handling data transfers
US7487353B2 (en) 2004-05-20 2009-02-03 International Business Machines Corporation System, method and program for protecting communication
US7492946B2 (en) 2004-05-24 2009-02-17 Michael James Elder System, method and computer program for an integrated digital workflow for processing a paper form
US7640592B2 (en) 2004-06-12 2009-12-29 Microsoft Corporation Installation setup
US20060080432A1 (en) 2004-09-03 2006-04-13 Spataro Jared M Systems and methods for collaboration
EP1817686A4 (en) 2004-09-13 2007-12-05 Research In Motion Ltd FILTERING BY COMPATIBLE CATEGORY
US8839090B2 (en) 2004-09-16 2014-09-16 International Business Machines Corporation System and method to capture and manage input values for automatic form fill
DE102004045147A1 (de) 2004-09-17 2006-03-23 Fujitsu Ltd., Kawasaki Einstellungsinformations-Verteilungsvorrichtung, Verfahren, Programm und Medium, Authentifizierungseinstellungs-Transfervorrichtung, Verfahren, Programm und Medium und Einstellungsinformations-Empfangsprogramm
US8463946B2 (en) 2004-09-17 2013-06-11 Caterpillar Inc. Method for automatic radio operational mode selection
US7984192B2 (en) 2004-09-27 2011-07-19 Citrix Systems, Inc. System and method for assigning unique identifiers to each remote display protocol session established via an intermediary device
US7721328B2 (en) 2004-10-01 2010-05-18 Salesforce.Com Inc. Application identity design
US7496954B1 (en) 2004-11-22 2009-02-24 Sprint Communications Company L.P. Single sign-on system and method
US20060085826A1 (en) 2004-10-18 2006-04-20 Funk James M Aggregated program guide for download and view video on demand service
US20090228714A1 (en) 2004-11-18 2009-09-10 Biogy, Inc. Secure mobile device with online vault
US20060112428A1 (en) 2004-11-23 2006-05-25 Nokia Corporation Device having a locking feature and a method, means and software for utilizing the feature
US8478849B2 (en) 2004-12-07 2013-07-02 Pure Networks LLC. Network administration tool
US7900201B1 (en) 2004-12-21 2011-03-01 Zenprise, Inc. Automated remedying of problems in software application deployments
US20060141985A1 (en) 2004-12-23 2006-06-29 Motorola, Inc. Dynamic management for interface access permissions
WO2006079962A2 (en) 2005-01-28 2006-08-03 Nxp B.V. Means and method for debugging
US20060185004A1 (en) 2005-02-11 2006-08-17 Samsung Electronics Co., Ltd. Method and system for single sign-on in a network
US8572676B2 (en) 2008-11-06 2013-10-29 Mcafee, Inc. System, method, and device for mediating connections between policy source servers, corporate repositories, and mobile devices
US8495700B2 (en) 2005-02-28 2013-07-23 Mcafee, Inc. Mobile data security system and methods
US7844958B2 (en) 2005-03-11 2010-11-30 Aptana, Inc. System and method for creating target byte code
US8214887B2 (en) 2005-03-20 2012-07-03 Actividentity (Australia) Pty Ltd. Method and system for providing user access to a secure application
US7697737B2 (en) 2005-03-25 2010-04-13 Northrop Grumman Systems Corporation Method and system for providing fingerprint enabled wireless add-on for personal identification number (PIN) accessible smartcards
US7472375B2 (en) 2005-03-29 2008-12-30 Intel Corporation Creating managed code from native code
US7571475B2 (en) 2005-04-05 2009-08-04 Cisco Technology, Inc. Method and electronic device for triggering zeroization in an electronic device
US7631297B2 (en) 2005-04-05 2009-12-08 International Business Machines Corporation Autonomic computing: management agent utilizing action policy for operation
US7490352B2 (en) 2005-04-07 2009-02-10 Microsoft Corporation Systems and methods for verifying trust of executable files
US20060248577A1 (en) 2005-04-29 2006-11-02 International Business Machines Corporation Using SSO processes to manage security credentials in a provisioning management system
WO2006125112A2 (en) 2005-05-19 2006-11-23 Fusionone, Inc. Remote cell phone auto destruct
US20070024646A1 (en) 2005-05-23 2007-02-01 Kalle Saarinen Portable electronic apparatus and associated method
US7970386B2 (en) 2005-06-03 2011-06-28 Good Technology, Inc. System and method for monitoring and maintaining a wireless device
FR2886801B1 (fr) 2005-06-07 2007-08-03 Alcatel Sa Equipement de reseau pour la fourniture a des terminaux mobiles multimodes de donnees necessaires a la selection automatique d'interfaces de reseau d'acces radio pendant des sessions de service
US7565689B2 (en) 2005-06-08 2009-07-21 Research In Motion Limited Virtual private network for real-time data
US8495244B2 (en) 2005-06-29 2013-07-23 Jumpstart Wireless Corporation System and method for dynamic automatic communication path selection, distributed device synchronization and task delegation
US7529923B2 (en) 2005-06-30 2009-05-05 Intel Corporation Operating system mode transfer
US8682979B2 (en) 2005-07-01 2014-03-25 Email2 Scp Solutions Inc. Secure electronic mail system
US20070016771A1 (en) 2005-07-11 2007-01-18 Simdesk Technologies, Inc. Maintaining security for file copy operations
US20070011749A1 (en) 2005-07-11 2007-01-11 Simdesk Technologies Secure clipboard function
US20070016907A1 (en) 2005-07-12 2007-01-18 Fabio Benedetti Method, system and computer program for automatic provisioning of resources to scheduled jobs
US9614964B2 (en) 2005-08-19 2017-04-04 Nextstep, Inc. Consumer electronic registration, control and support concierge device and method
US9864628B2 (en) 2005-08-23 2018-01-09 Blackberry Limited Method and system for transferring an application state from a first electronic device to a second electronic device
US20070049297A1 (en) 2005-08-29 2007-03-01 Janakiraman Gopalan System and method for locating mobile devices through a direct-connection protocol
US20070283324A1 (en) 2005-08-30 2007-12-06 Geisinger Nile J System and method for creating programs that comprise several execution layers
US7779458B1 (en) 2005-09-20 2010-08-17 Rockwell Collins, Inc. Situation aware mobile location ad hoc firewall
US20070072598A1 (en) 2005-09-23 2007-03-29 Coleman David T Controlling wireless communication devices with media recording capabilities
US20070074033A1 (en) 2005-09-29 2007-03-29 Research In Motion Limited Account management in a system and method for providing code signing services
US8037421B2 (en) 2005-10-11 2011-10-11 Research In Motion Limited System and method for organizing application indicators on an electronic device
US7437755B2 (en) 2005-10-26 2008-10-14 Cisco Technology, Inc. Unified network and physical premises access control server
US20070266422A1 (en) 2005-11-01 2007-11-15 Germano Vernon P Centralized Dynamic Security Control for a Mobile Device Network
US8305422B2 (en) 2005-11-08 2012-11-06 Sharp Kabushiki Kaisha Communication device, communication method, communication system, program, and computer-readable storage medium
US20070109983A1 (en) 2005-11-11 2007-05-17 Computer Associates Think, Inc. Method and System for Managing Access to a Wireless Network
US20070248085A1 (en) 2005-11-12 2007-10-25 Cranite Systems Method and apparatus for managing hardware address resolution
US8045958B2 (en) 2005-11-21 2011-10-25 Research In Motion Limited System and method for application program operation on a wireless device
US20070136471A1 (en) 2005-12-12 2007-06-14 Ip3 Networks Systems and methods for negotiating and enforcing access to network resources
WO2007074420A2 (en) 2005-12-26 2007-07-05 Koninklijke Philips Electronics N.V. Method and device for rights management
US7716240B2 (en) 2005-12-29 2010-05-11 Nextlabs, Inc. Techniques and system to deploy policies intelligently
US8621549B2 (en) 2005-12-29 2013-12-31 Nextlabs, Inc. Enforcing control policies in an information management system
WO2007076877A2 (en) 2005-12-30 2007-07-12 Telecom Italia S.P.A. Method for customizing the operation of a telephonic terminal
WO2007079499A2 (en) 2006-01-04 2007-07-12 Nytor, Inc. Trusted host platform
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
CA2640261A1 (en) 2006-01-26 2007-08-09 Imprivata, Inc. Systems and methods for multi-factor authentication
US7664865B2 (en) 2006-02-15 2010-02-16 Microsoft Corporation Securely hosting a webbrowser control in a managed code environment
US8676973B2 (en) 2006-03-07 2014-03-18 Novell Intellectual Property Holdings, Inc. Light-weight multi-user browser
US7725922B2 (en) 2006-03-21 2010-05-25 Novell, Inc. System and method for using sandboxes in a managed shell
US20070226225A1 (en) 2006-03-22 2007-09-27 Yiu Timothy C Mobile collaboration and communication system
US20070226034A1 (en) 2006-03-23 2007-09-27 Kyocera Wireless Corp. Wireless communication device meeting scheduler
US7774323B2 (en) 2006-03-27 2010-08-10 Sap Portals Israel Ltd. Method and apparatus for delivering managed applications to remote locations
KR101359324B1 (ko) 2006-03-27 2014-02-24 텔레콤 이탈리아 소시에떼 퍼 아찌오니 이동 통신 장치상의 보안 정책 시행 방법
WO2007113709A1 (en) 2006-03-30 2007-10-11 Koninklijke Philips Electronics N.V. Method and apparatus for assigning an application to a security restriction
US9112897B2 (en) 2006-03-30 2015-08-18 Advanced Network Technology Laboratories Pte Ltd. System and method for securing a network session
WO2007117635A2 (en) 2006-04-06 2007-10-18 Smobile Systems Inc. Malware modeling detection system and method for mobile platforms
US8151323B2 (en) 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US8181010B1 (en) 2006-04-17 2012-05-15 Oracle America, Inc. Distributed authentication user interface system
US20070261099A1 (en) 2006-05-02 2007-11-08 Broussard Scott J Confidential content reporting system and method with electronic mail verification functionality
US8700772B2 (en) 2006-05-03 2014-04-15 Cloud Systems, Inc. System and method for automating the management, routing, and control of multiple devices and inter-device connections
US8085891B2 (en) 2006-05-29 2011-12-27 Research In Motion Limited System and method for management of mobile device communication
US20080046580A1 (en) 2006-06-29 2008-02-21 Nokia Corporation Account creation system and call processing system
US20080027982A1 (en) 2006-07-27 2008-01-31 Ebay Inc. Indefinite caching expiration techniques
US8272048B2 (en) 2006-08-04 2012-09-18 Apple Inc. Restriction of program process capabilities
US8341747B2 (en) 2006-08-08 2012-12-25 International Business Machines Corporation Method to provide a secure virtual machine launcher
US8234704B2 (en) 2006-08-14 2012-07-31 Quantum Security, Inc. Physical access control and security monitoring system utilizing a normalized data format
EP2054830A2 (en) 2006-08-17 2009-05-06 Neustar, Inc. System and method for managing domain policy for interconnected communication networks
US8903365B2 (en) 2006-08-18 2014-12-02 Ca, Inc. Mobile device management
US20080047006A1 (en) 2006-08-21 2008-02-21 Pantech Co., Ltd. Method for registering rights issuer and domain authority in digital rights management and method for implementing secure content exchange functions using the same
US8010995B2 (en) 2006-09-08 2011-08-30 International Business Machines Corporation Methods, systems, and computer program products for implementing inter-process integrity serialization
US8245285B1 (en) 2006-09-22 2012-08-14 Oracle America, Inc. Transport-level web application security on a resource-constrained device
US8327427B2 (en) 2006-09-25 2012-12-04 Rockstar Consortium Us Lp System and method for transparent single sign-on
US9135444B2 (en) 2006-10-19 2015-09-15 Novell, Inc. Trusted platform module (TPM) assisted data center management
US8259568B2 (en) 2006-10-23 2012-09-04 Mcafee, Inc. System and method for controlling mobile device access to a network
CN101170401B (zh) 2006-10-27 2011-02-02 鸿富锦精密工业(深圳)有限公司 邮件加密/解密系统及方法
US8126128B1 (en) 2006-11-01 2012-02-28 At&T Intellectual Property I, Lp Life cycle management of user-selected applications on wireless communications devices
US8095786B1 (en) 2006-11-09 2012-01-10 Juniper Networks, Inc. Application-specific network-layer virtual private network connections
US8281299B2 (en) 2006-11-10 2012-10-02 Purdue Research Foundation Map-closure: a general purpose mechanism for nonstandard interpretation
US8365258B2 (en) 2006-11-16 2013-01-29 Phonefactor, Inc. Multi factor authentication
US20080141335A1 (en) 2006-12-08 2008-06-12 Novell, Inc. Provisioning software with policy-appropriate capabilities
US9124650B2 (en) 2006-12-13 2015-09-01 Quickplay Media Inc. Digital rights management in a mobile environment
US8869189B2 (en) 2006-12-29 2014-10-21 Echostar Technologies L.L.C. Controlling access to content and/or services
CA2578472C (en) 2007-01-12 2013-01-15 Truecontext Corporation Methods and system for orchestrating services and data sharing on mobile devices
US9589115B2 (en) 2007-01-18 2017-03-07 Panasonic Intellectual Property Management Co., Ltd. Obfuscation assisting apparatus
US8214451B2 (en) 2007-01-19 2012-07-03 Alcatel Lucent Network service version management
CA2676289C (en) 2007-01-19 2018-01-02 Research In Motion Limited Selectively wiping a remote device
US7644377B1 (en) 2007-01-31 2010-01-05 Hewlett-Packard Development Company, L.P. Generating a configuration of a system that satisfies constraints contained in models
US8132233B2 (en) 2007-02-05 2012-03-06 Hewlett-Packard Development Company, L.P. Dynamic network access control method and apparatus
WO2008097191A1 (en) 2007-02-07 2008-08-14 Encentuate Pte Ltd Non-invasive usage tracking, access control, policy enforcement, audit logging, and user action automation on software applications
US8074227B2 (en) 2007-02-08 2011-12-06 Microsoft Corporation Utilizing a first managed process to host at least a second managed process
US8095517B2 (en) 2007-02-08 2012-01-10 Blue Coat Systems, Inc. Method and system for policy-based protection of application data
US7761523B2 (en) 2007-02-09 2010-07-20 Research In Motion Limited Schedulable e-mail filters
US8126506B2 (en) 2007-02-14 2012-02-28 Nuance Communications, Inc. System and method for securely managing data stored on mobile devices, such as enterprise mobility data
US8689334B2 (en) 2007-02-28 2014-04-01 Alcatel Lucent Security protection for a customer programmable platform
US20080229117A1 (en) 2007-03-07 2008-09-18 Shin Kang G Apparatus for preventing digital piracy
JP4973246B2 (ja) 2007-03-09 2012-07-11 日本電気株式会社 アクセス権管理システム、サーバ及びアクセス権管理プログラム
WO2008114256A2 (en) 2007-03-22 2008-09-25 Neocleus Ltd. Trusted local single sign-on
WO2008134702A2 (en) 2007-04-30 2008-11-06 Handipoints, Inc. Systems and methods of managing tasks assigned to an individual
US10019570B2 (en) 2007-06-14 2018-07-10 Microsoft Technology Licensing, Llc Protection and communication abstractions for web browsers
US8463253B2 (en) 2007-06-21 2013-06-11 Verizon Patent And Licensing Inc. Flexible lifestyle portable communications device
US8027518B2 (en) 2007-06-25 2011-09-27 Microsoft Corporation Automatic configuration of devices based on biometric data
US20090006232A1 (en) 2007-06-29 2009-01-01 Gallagher Ken A Secure computer and internet transaction software and hardware and uses thereof
US9270682B2 (en) 2007-07-27 2016-02-23 Blackberry Limited Administration of policies for wireless devices in a wireless communication system
DE602008004958D1 (de) 2007-07-27 2011-03-31 Research In Motion Ltd Fernsteuerung in einem drahtlosen Kommunikationssystem
US8060074B2 (en) 2007-07-30 2011-11-15 Mobile Iron, Inc. Virtual instance architecture for mobile device management systems
US7895409B2 (en) 2007-07-30 2011-02-22 Hewlett-Packard Development Company, L.P. Application inspection tool for determining a security partition
WO2009021200A1 (en) 2007-08-08 2009-02-12 Innopath Software, Inc. Managing and enforcing policies on mobile devices
US20090049425A1 (en) 2007-08-14 2009-02-19 Aladdin Knowledge Systems Ltd. Code Obfuscation By Reference Linking
WO2009029296A1 (en) 2007-08-31 2009-03-05 At & T Mobility Ii Llc Enhanced messaging with language translation feature
US20090077638A1 (en) 2007-09-17 2009-03-19 Novell, Inc. Setting and synching preferred credentials in a disparate credential store environment
US8554176B2 (en) 2007-09-18 2013-10-08 Qualcomm Incorporated Method and apparatus for creating a remotely activated secure backup service for mobile handsets
US8001278B2 (en) 2007-09-28 2011-08-16 Intel Corporation Network packet payload compression
KR100946824B1 (ko) 2007-10-31 2010-03-09 (주)피엑스디 디지털 방송 위젯 시스템 및 위젯 출력 방법
HUE036213T2 (hu) 2007-11-02 2018-06-28 Qualcomm Inc Konfigurálható rendszer esemény és erõforrás arbitrálás kezelés
WO2009062194A1 (en) 2007-11-09 2009-05-14 Proxense, Llc Proximity-sensor supporting multiple application services
US20090228963A1 (en) 2007-11-26 2009-09-10 Nortel Networks Limited Context-based network security
US8601562B2 (en) 2007-12-10 2013-12-03 Courion Corporation Policy enforcement using ESSO
US8060596B1 (en) 2007-12-26 2011-11-15 Symantec Corporation Methods and systems for normalizing data loss prevention categorization information
US8453198B2 (en) 2007-12-27 2013-05-28 Hewlett-Packard Development Company, L.P. Policy based, delegated limited network access management
US8538376B2 (en) 2007-12-28 2013-09-17 Apple Inc. Event-based modes for electronic devices
US20090171906A1 (en) 2008-01-02 2009-07-02 Research In Motion Limited System and method for providing information relating to an email being provided to an electronic device
US20090199277A1 (en) 2008-01-31 2009-08-06 Norman James M Credential arrangement in single-sign-on environment
US20090199178A1 (en) 2008-02-01 2009-08-06 Microsoft Corporation Virtual Application Management
CA2700689A1 (en) 2008-02-15 2009-08-20 Citrix Systems, Inc. Systems and methods for secure handling of secure attention sequences
US20090222880A1 (en) 2008-03-03 2009-09-03 Tresys Technology, Llc Configurable access control security for virtualization
US8078713B1 (en) 2008-03-05 2011-12-13 Full Armor Corporation Delivering policy settings with virtualized applications
US8607304B2 (en) 2008-03-07 2013-12-10 At&T Mobility Ii Llc System and method for policy-enabled mobile service gateway
US20130254660A1 (en) 2008-03-13 2013-09-26 Robb Fujioka Tablet computer
US9747141B2 (en) 2008-03-25 2017-08-29 Qualcomm Incorporated Apparatus and methods for widget intercommunication in a wireless communication environment
WO2009145987A2 (en) 2008-03-30 2009-12-03 Symplified, Inc. System, method, and apparatus for single sign-on and managing access to resources across a network
US9576157B2 (en) 2008-04-02 2017-02-21 Yougetitback Limited Method for mitigating the unauthorized use of a device
US7966652B2 (en) 2008-04-07 2011-06-21 Safemashups Inc. Mashauth: using mashssl for efficient delegated authentication
CN101572678B (zh) 2008-04-30 2012-09-19 北京明朝万达科技有限公司 一种邮件附件透明保密控制方法
EP2274942B1 (en) 2008-05-07 2014-10-01 BlackBerry Limited Method for enabling bandwidth management for mobile content delivery
US8549657B2 (en) 2008-05-12 2013-10-01 Microsoft Corporation Owner privacy in a shared mobile device
US8229812B2 (en) 2009-01-28 2012-07-24 Headwater Partners I, Llc Open transaction central billing system
US8406748B2 (en) 2009-01-28 2013-03-26 Headwater Partners I Llc Adaptive ambient services
US8832777B2 (en) 2009-03-02 2014-09-09 Headwater Partners I Llc Adapting network policies based on device service processor configuration
US8924469B2 (en) 2008-06-05 2014-12-30 Headwater Partners I Llc Enterprise access control and accounting allocation for access networks
US9069599B2 (en) 2008-06-19 2015-06-30 Servicemesh, Inc. System and method for a cloud computing abstraction layer with security zone facilities
US8204196B2 (en) 2008-06-25 2012-06-19 International Business Machines Corporation Notification to absent teleconference invitees
US9071974B2 (en) 2008-06-29 2015-06-30 Oceans Edge, Inc. Mobile telephone firewall and compliance enforcement system and method
WO2010001324A2 (en) 2008-06-30 2010-01-07 Mominis Ltd Method of generating and distributing a computer application
GB2462442A (en) 2008-08-06 2010-02-10 Zybert Computing Ltd A remote server centrally controls access to data stored in a data container in an encrypted form
US8862672B2 (en) 2008-08-25 2014-10-14 Microsoft Corporation Content sharing and instant messaging
CN101662765B (zh) 2008-08-29 2013-08-07 深圳富泰宏精密工业有限公司 手机短信保密系统及方法
US8365183B2 (en) 2008-09-02 2013-01-29 Ca, Inc. System and method for dynamic resource provisioning for job placement
US8238256B2 (en) 2008-09-08 2012-08-07 Nugent Raymond M System and method for cloud computing
US8763102B2 (en) 2008-09-19 2014-06-24 Hewlett-Packard Development Company, L.P. Single sign on infrastructure
US20100083358A1 (en) 2008-09-29 2010-04-01 Perfios Software Solutions Pvt. Ltd Secure Data Aggregation While Maintaining Privacy
US8528059B1 (en) 2008-10-06 2013-09-03 Goldman, Sachs & Co. Apparatuses, methods and systems for a secure resource access and placement platform
US20120137364A1 (en) 2008-10-07 2012-05-31 Mocana Corporation Remote attestation of a mobile device
US9026918B2 (en) 2008-10-16 2015-05-05 Accenture Global Services Limited Enabling a user device to access enterprise data
US9836702B2 (en) 2008-10-16 2017-12-05 International Business Machines Corporation Digital rights management (DRM)-enabled policy management for an identity provider in a federated environment
US20100150341A1 (en) 2008-12-17 2010-06-17 David Dodgson Storage security using cryptographic splitting
US20100146582A1 (en) 2008-12-04 2010-06-10 Dell Products L.P. Encryption management in an information handling system
US20100146523A1 (en) 2008-12-05 2010-06-10 Tripod Ventures Inc./ Entreprises Tripod Inc. Browser environment application and local file server application system
US8931033B2 (en) 2008-12-12 2015-01-06 Microsoft Corporation Integrating policies from a plurality of disparate management agents
US8245223B2 (en) 2008-12-23 2012-08-14 Microsoft Corporation Networked deployment of multi-application customizations
US8505078B2 (en) 2008-12-28 2013-08-06 Qualcomm Incorporated Apparatus and methods for providing authorized device access
US8272030B1 (en) 2009-01-21 2012-09-18 Sprint Communications Company L.P. Dynamic security management for mobile communications device
US8856909B1 (en) 2009-01-23 2014-10-07 Juniper Networks, Inc. IF-MAP provisioning of resources and services
US20120005724A1 (en) 2009-02-09 2012-01-05 Imera Systems, Inc. Method and system for protecting private enterprise resources in a cloud computing environment
US20100228961A1 (en) 2009-03-03 2010-09-09 Erf Wireless, Inc. Hierarchical secure networks
US20100228825A1 (en) 2009-03-06 2010-09-09 Microsoft Corporation Smart meeting room
US20100235216A1 (en) 2009-03-16 2010-09-16 Microsoft Corporation Integration of pre-meeting and post-meeting experience into a meeting lifecycle
US20100248699A1 (en) 2009-03-31 2010-09-30 Dumais Paul Mark Joseph Remote application storage
CN101854340B (zh) 2009-04-03 2015-04-01 瞻博网络公司 基于访问控制信息进行的基于行为的通信剖析
CA2758197A1 (en) 2009-04-09 2010-10-14 Aegis Mobility, Inc. Context based data mediation
US8666367B2 (en) 2009-05-01 2014-03-04 Apple Inc. Remotely locating and commanding a mobile device
US8660530B2 (en) 2009-05-01 2014-02-25 Apple Inc. Remotely receiving and communicating commands to a mobile device for execution by the mobile device
AU2010244945B2 (en) 2009-05-05 2015-01-22 Absolute Software Corporation Discriminating data protection system
US20100299152A1 (en) 2009-05-20 2010-11-25 Mobile Iron, Inc. Selective Management of Mobile Devices in an Enterprise Environment
US8695058B2 (en) 2009-05-20 2014-04-08 Mobile Iron, Inc. Selective management of mobile device data in an enterprise environment
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US9183534B2 (en) 2009-06-12 2015-11-10 Apple Inc. Devices with profile-based operating mode controls
US9141412B2 (en) 2009-06-16 2015-09-22 Microsoft Technology Licensing, Llc Terminal services application virtualization for compatibility
US8254957B2 (en) 2009-06-16 2012-08-28 Intel Corporation Context-based limitation of mobile device operation
US9621516B2 (en) 2009-06-24 2017-04-11 Vmware, Inc. Firewall configured with dynamic membership sets representing machine attributes
US20100332401A1 (en) 2009-06-30 2010-12-30 Anand Prahlad Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites
US9386447B2 (en) 2009-07-21 2016-07-05 Scott Ferrill Tibbitts Method and system for controlling a mobile communication device
US8281381B2 (en) 2009-08-03 2012-10-02 Novell, Inc. Techniques for environment single sign on
US8392386B2 (en) 2009-08-05 2013-03-05 International Business Machines Corporation Tracking file contents
WO2011018827A1 (ja) 2009-08-13 2011-02-17 株式会社日立製作所 実行環境におけるアプリケーションの適性を評価するシステム及び方法
WO2011026530A1 (en) 2009-09-07 2011-03-10 Tomtom International B.V. Navigation apparatus and method of supporting hands-free voice communication
US8200626B1 (en) 2009-09-18 2012-06-12 Sprint Communications Company L.P. Mobile device file management
US8972878B2 (en) 2009-09-21 2015-03-03 Avaya Inc. Screen icon manipulation by context and frequency of Use
US8145199B2 (en) 2009-10-31 2012-03-27 BT Patent LLC Controlling mobile device functions
US8544076B2 (en) 2009-11-11 2013-09-24 Blackberry Limited Using a trusted token and push for validating the request for single sign on
US8595284B2 (en) 2009-12-14 2013-11-26 Samsung Electronics Co., Ltd Web application script migration
US8499304B2 (en) 2009-12-15 2013-07-30 At&T Mobility Ii Llc Multiple mode mobile device
US9244533B2 (en) 2009-12-17 2016-01-26 Microsoft Technology Licensing, Llc Camera navigation for presentations
US8495746B2 (en) 2009-12-18 2013-07-23 Verizon Patent And Licensing Inc. Apparatuses, methods and systems of an application security management platform
US8533780B2 (en) 2009-12-22 2013-09-10 Cisco Technology, Inc. Dynamic content-based routing
WO2011091056A1 (en) 2010-01-19 2011-07-28 Servicemesh, Inc. System and method for a cloud computing abstraction layer
US20110208797A1 (en) 2010-02-22 2011-08-25 Full Armor Corporation Geolocation-Based Management of Virtual Applications
DE112011100626T5 (de) 2010-02-22 2013-01-24 Avaya Inc. Sichere, richtlinienbasierte Kommunikationssicherheit und File-Sharing über gemischte Medien, gemischte Kommunikationsmodalitäten und erweiterbar auf Cloud-Computing, wie beispielsweise serviceorientierte Architektur (SOA)
US8468455B2 (en) 2010-02-24 2013-06-18 Novell, Inc. System and method for providing virtual desktop extensions on a client desktop
CA2792038A1 (en) 2010-03-05 2011-09-09 Brass Monkey, Inc. System and method for two way communication and controlling content in a web browser
US9355282B2 (en) 2010-03-24 2016-05-31 Red Hat, Inc. Using multiple display servers to protect data
US8433901B2 (en) 2010-04-07 2013-04-30 Apple Inc. System and method for wiping encrypted data on a device having file-level content protection
US20110252459A1 (en) 2010-04-12 2011-10-13 Walsh Robert E Multiple Server Access Management
US20110314534A1 (en) 2010-04-14 2011-12-22 Lee James Secured Execution Environments and Methods
EP2378739B1 (en) 2010-04-15 2015-04-01 BlackBerry Limited Method and system for transmitting an application to a device
US8555377B2 (en) 2010-04-29 2013-10-08 High Cloud Security Secure virtual machine
US8805968B2 (en) 2010-05-03 2014-08-12 Panzura, Inc. Accessing cached data from a peer cloud controller in a distributed filesystem
US8935384B2 (en) 2010-05-06 2015-01-13 Mcafee Inc. Distributed data revocation using data commands
US9461996B2 (en) 2010-05-07 2016-10-04 Citrix Systems, Inc. Systems and methods for providing a single click access to enterprise, SAAS and cloud hosted application
US9282097B2 (en) 2010-05-07 2016-03-08 Citrix Systems, Inc. Systems and methods for providing single sign on access to enterprise SAAS and cloud hosted applications
EP2569916B1 (en) 2010-05-09 2016-01-20 Citrix Systems Inc. Systems and methods for allocation of classes of service to network connections corresponding to virtual channels
WO2011146711A1 (en) 2010-05-21 2011-11-24 Hsbc Technologies Inc. Account opening computer system architecture and process for implementing same
JP2011248683A (ja) 2010-05-27 2011-12-08 Canon Inc クラウドコンピューティングシステム、サーバーコンピュータ、デバイス接続方法及びプログラム
US8549617B2 (en) 2010-06-30 2013-10-01 Juniper Networks, Inc. Multi-service VPN network client for mobile device having integrated acceleration
US10142292B2 (en) 2010-06-30 2018-11-27 Pulse Secure Llc Dual-mode multi-service VPN network client for mobile device
US8458787B2 (en) 2010-06-30 2013-06-04 Juniper Networks, Inc. VPN network client for mobile device having dynamically translated user home page
US8127350B2 (en) 2010-06-30 2012-02-28 Juniper Networks, Inc. Multi-service VPN network client for mobile device
US8429674B2 (en) 2010-07-20 2013-04-23 Apple Inc. Maintaining data states upon forced exit
US8474017B2 (en) 2010-07-23 2013-06-25 Verizon Patent And Licensing Inc. Identity management and single sign-on in a heterogeneous composite service scenario
JP5732767B2 (ja) 2010-07-26 2015-06-10 富士通株式会社 処理装置,処理方法,処理用プログラム,同プログラムを記録したコンピュータ読取可能な記録媒体
WO2012015920A2 (en) 2010-07-28 2012-02-02 Admiemobile Llc Systems and methods for establishing and maintaining virtual computing clouds
US9064131B2 (en) 2010-07-28 2015-06-23 Nextlabs, Inc. Protecting documents using policies and encryption
US8539245B2 (en) 2010-08-06 2013-09-17 Intel Corporation Apparatus and method for accessing a secure partition in non-volatile storage by a host system enabled after the system exits a first instance of a secure mode
US9936333B2 (en) 2010-08-10 2018-04-03 Microsoft Technology Licensing, Llc Location and contextual-based mobile application promotion and delivery
US8539561B2 (en) 2010-08-24 2013-09-17 International Business Machines Corporation Systems and methods to control device endpoint behavior using personae and policies
US8739157B2 (en) 2010-08-26 2014-05-27 Adobe Systems Incorporated System and method for managing cloud deployment configuration of an application
US9421460B2 (en) 2010-08-31 2016-08-23 Sony Interactive Entertainment Inc. Offline Progress of console game via portable device
US20120066691A1 (en) 2010-09-14 2012-03-15 Paul Keith Branton Private application clipboard
US9582673B2 (en) 2010-09-27 2017-02-28 Microsoft Technology Licensing, Llc Separation of duties checks from entitlement sets
US8958780B2 (en) 2010-10-07 2015-02-17 Blackberry Limited Provisioning based on application and device capability
JP5620781B2 (ja) 2010-10-14 2014-11-05 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
US20120110317A1 (en) 2010-10-29 2012-05-03 Verizon Patent And Licensing Inc. Content download manager
EP2638465A2 (en) 2010-11-09 2013-09-18 Openpeak Inc. Communication devices, networks, services and accompanying methods
US20120131116A1 (en) 2010-11-15 2012-05-24 Van Quy Tu Controlling data transfer on mobile devices
US8359016B2 (en) 2010-11-19 2013-01-22 Mobile Iron, Inc. Management of mobile applications
US8869307B2 (en) 2010-11-19 2014-10-21 Mobile Iron, Inc. Mobile posture-based policy, remediation and access control for enterprise resources
KR20120057734A (ko) 2010-11-22 2012-06-07 삼성전자주식회사 서버, 서버에 접속하는 디바이스 및 그 제어방법
US9219744B2 (en) 2010-12-08 2015-12-22 At&T Intellectual Property I, L.P. Mobile botnet mitigation
US8918834B1 (en) 2010-12-17 2014-12-23 Amazon Technologies, Inc. Creating custom policies in a remote-computing environment
US8650620B2 (en) 2010-12-20 2014-02-11 At&T Intellectual Property I, L.P. Methods and apparatus to control privileges of mobile device applications
AU2011202837B2 (en) 2010-12-21 2013-08-22 Lg Electronics Inc. Mobile terminal and method of controlling a mode switching therein
US9110743B2 (en) 2010-12-21 2015-08-18 Microsoft Technology Licensing, Llc Extensible system action for sharing while remaining in context
AU2011202840B2 (en) 2010-12-21 2014-04-17 Lg Electronics Inc. Mobile terminal and method of controlling a mode switching therein
AU2011202838B2 (en) 2010-12-21 2014-04-10 Lg Electronics Inc. Mobile terminal and method of controlling a mode screen display therein
US8856950B2 (en) 2010-12-21 2014-10-07 Lg Electronics Inc. Mobile terminal and method of managing information therein including first operating system acting in first mode and second operating system acting in second mode
AU2011202832B2 (en) 2010-12-21 2013-01-24 Lg Electronics Inc. Mobile terminal and method of controlling a mode switching therein
EP2469404B1 (en) 2010-12-22 2018-04-18 Lg Electronics Inc. Mobile terminal and method of displaying information in accordance with a plurality of modes of use
US9178981B2 (en) 2010-12-22 2015-11-03 Lg Electronics Inc. Mobile terminal and method of sharing information therein
JP5017462B2 (ja) 2010-12-27 2012-09-05 株式会社東芝 情報処理装置及びリムーバブルメディア管理方法
WO2012088652A1 (en) 2010-12-27 2012-07-05 Microsoft Corporation Power management via coordination and selective operation of timer-related tasks
US8931037B2 (en) 2010-12-27 2015-01-06 Microsoft Corporation Policy-based access to virtualized applications
US20120174237A1 (en) 2010-12-31 2012-07-05 Openpeak Inc. Location aware self-locking system and method for a mobile device
US20120179909A1 (en) 2011-01-06 2012-07-12 Pitney Bowes Inc. Systems and methods for providing individual electronic document secure storage, retrieval and use
EP2663954B1 (en) 2011-01-10 2019-05-01 International Business Machines Corporation System and method for extending cloud services into the customer premise
US8898793B2 (en) 2011-01-14 2014-11-25 Nokia Corporation Method and apparatus for adjusting context-based factors for selecting a security policy
US20120198570A1 (en) 2011-02-01 2012-08-02 Bank Of America Corporation Geo-Enabled Access Control
US8806569B2 (en) 2011-02-07 2014-08-12 Tufin Software Technologies Ltd. Method and system for analyzing security ruleset by generating a logically equivalent security rule-set
US10003672B2 (en) 2011-02-09 2018-06-19 Cisco Technology, Inc. Apparatus, systems and methods for deployment of interactive desktop applications on distributed infrastructures
US8549656B2 (en) 2011-02-11 2013-10-01 Mocana Corporation Securing and managing apps on a device
US20120209949A1 (en) 2011-02-14 2012-08-16 Alexandros Deliyannis Methods and apparatus to monitor media content
US9544396B2 (en) 2011-02-23 2017-01-10 Lookout, Inc. Remote application installation and control for a mobile device
KR20120096983A (ko) 2011-02-24 2012-09-03 삼성전자주식회사 악성 프로그램 검출 방법 및 이를 구현하는 휴대 단말기
EP2591590B1 (en) 2011-02-28 2014-04-30 Unify GmbH & Co. KG System, apparatus and mechanism for dynamic assignment of survivability services to mobile devices
US20120233130A1 (en) 2011-03-11 2012-09-13 Nagarajan Vedachalam System and method for archiving emails
US20120238206A1 (en) 2011-03-14 2012-09-20 Research In Motion Limited Communications device providing near field communication (nfc) secure element disabling features related methods
US8548443B2 (en) 2011-03-16 2013-10-01 Dell Products L.P. System and method for selectively restricting portable information handling system features
US9119017B2 (en) 2011-03-18 2015-08-25 Zscaler, Inc. Cloud based mobile device security and policy enforcement
US8769305B2 (en) 2011-03-21 2014-07-01 Moncana Corporation Secure execution of unsecured apps on a device
US8955142B2 (en) 2011-03-21 2015-02-10 Mocana Corporation Secure execution of unsecured apps on a device
WO2012128682A1 (en) 2011-03-22 2012-09-27 Telefonaktiebolaget L M Ericsson (Publ) Methods for exchanging user profile, profile mediator device, agents, computer programs and computer program products
US20120250106A1 (en) 2011-03-30 2012-10-04 Infosys Technologies Ltd. Method, device and system for updating an application on a mobile device
US20120254768A1 (en) 2011-03-31 2012-10-04 Google Inc. Customizing mobile applications
US8458802B2 (en) 2011-04-02 2013-06-04 Intel Corporation Method and device for managing digital usage rights of documents
WO2012138804A2 (en) 2011-04-04 2012-10-11 Nextlabs, Inc. Protecting information using policies and encryption
EP2523107B1 (en) 2011-04-19 2018-11-07 LG Electronics Inc. Mobile terminal and system for managing applications using the same
US9817677B2 (en) 2011-04-22 2017-11-14 Microsoft Technologies Licensing, LLC Rule based data driven validation
US10187494B2 (en) 2011-04-26 2019-01-22 Acumera, Inc. Gateway device application development system
US9094400B2 (en) 2011-04-27 2015-07-28 International Business Machines Corporation Authentication in virtual private networks
US9517410B2 (en) 2011-04-28 2016-12-13 Numecent Holdings, Inc. Adaptive application streaming in cloud gaming
US8738772B2 (en) 2011-05-02 2014-05-27 Mitel Networks Corporation Regulating use of a mobile computing device for a user at a selected location
US8683556B2 (en) 2011-05-04 2014-03-25 Apple Inc. Electronic devices having adaptive security profiles and methods for selecting the same
US8839395B2 (en) 2011-05-13 2014-09-16 Cch Incorporated Single sign-on between applications
US9037723B2 (en) 2011-05-31 2015-05-19 Red Hat, Inc. Triggering workload movement based on policy stack having multiple selectable inputs
CA2837716A1 (en) 2011-06-01 2012-12-06 Security First Corp. Systems and methods for secure distributed storage
US8578443B2 (en) 2011-06-01 2013-11-05 Mobileasap, Inc. Real-time mobile application management
US9201634B2 (en) 2011-06-09 2015-12-01 Samsung Electronics Co., Ltd Method and system for controlling user experience with an application on a client device
US20120324568A1 (en) 2011-06-14 2012-12-20 Lookout, Inc., A California Corporation Mobile web protection
US10333711B2 (en) 2011-06-17 2019-06-25 Microsoft Technology Licensing, Llc Controlling access to protected objects
US20120331527A1 (en) 2011-06-22 2012-12-27 TerraWi, Inc. Multi-layer, geolocation-based network resource access and permissions
US8843998B2 (en) 2011-06-27 2014-09-23 Cliqr Technologies, Inc. Apparatus, systems and methods for secure and selective access to services in hybrid public-private infrastructures
KR101801577B1 (ko) 2011-06-28 2017-11-27 엘지전자 주식회사 이동 단말기 및 이것의 디스플레이 제어 방법
KR101819506B1 (ko) 2011-06-28 2018-01-17 엘지전자 주식회사 이동 단말기 및 이것의 디스플레이 제어 방법
US9071518B2 (en) 2011-07-01 2015-06-30 Fiberlink Communications Corporation Rules based actions for mobile device management
KR101844289B1 (ko) 2011-07-06 2018-04-02 삼성전자 주식회사 이동통신 시스템에서 위치 정보에 기반한 휴대 단말기의 보안 관리 방법 및 장치
CN103782571A (zh) 2011-07-07 2014-05-07 思科技术公司 用于提供基于消息和事件的视频服务控制平面的系统和方法
US20130014267A1 (en) 2011-07-07 2013-01-10 Farrugia Augustin J Computer protocol generation and obfuscation
US8756665B2 (en) 2011-07-08 2014-06-17 International Business Machines Corporation Authenticating a rich client from within an existing browser session
US9369307B2 (en) 2011-07-12 2016-06-14 Bank Of America Corporation Optimized service integration
US9015320B2 (en) 2011-07-12 2015-04-21 Bank Of America Corporation Dynamic provisioning of service requests
US8719919B2 (en) 2011-07-12 2014-05-06 Bank Of America Corporation Service mediation framework
US20130024928A1 (en) 2011-07-22 2013-01-24 Robert James Burke Secure network communications for meters
US9942385B2 (en) 2011-08-04 2018-04-10 International Business Machines Corporation System and method for preventing and/or limiting use of a mobile device
US9171139B2 (en) 2011-08-05 2015-10-27 Vmware, Inc. Lock screens to access work environments on a personal mobile device
US9065826B2 (en) 2011-08-08 2015-06-23 Microsoft Technology Licensing, Llc Identifying application reputation based on resource accesses
US8738868B2 (en) 2011-08-23 2014-05-27 Vmware, Inc. Cooperative memory resource management for virtualized computing devices
KR20130023656A (ko) 2011-08-29 2013-03-08 주식회사 팬택 애플리케이션 접근권한 통제 기능을 갖는 휴대용 다기능 디바이스 및 애플리케이션 접근권한 통제방법
US8898459B2 (en) 2011-08-31 2014-11-25 At&T Intellectual Property I, L.P. Policy configuration for mobile device applications
US20130059284A1 (en) 2011-09-07 2013-03-07 Teegee, Llc Interactive electronic toy and learning device system
US10063430B2 (en) 2011-09-09 2018-08-28 Cloudon Ltd. Systems and methods for workspace interaction with cloud-based applications
WO2013036946A1 (en) 2011-09-09 2013-03-14 Stoneware, Inc. Method and apparatus for key sharing over remote desktop protocol
US9652738B2 (en) 2011-09-14 2017-05-16 Avaya Inc. System and method for a communication session identifier
US10165007B2 (en) 2011-09-15 2018-12-25 Microsoft Technology Licensing, Llc Securing data usage in computing devices
US8825863B2 (en) 2011-09-20 2014-09-02 International Business Machines Corporation Virtual machine placement within a server farm
US8554179B2 (en) 2011-09-23 2013-10-08 Blackberry Limited Managing mobile device applications
US8806639B2 (en) 2011-09-30 2014-08-12 Avaya Inc. Contextual virtual machines for application quarantine and assessment method and system
WO2013044359A1 (en) 2011-09-30 2013-04-04 Tutela Technologies Ltd. A system for regulating wireless device operations in wireless networks
US8695060B2 (en) 2011-10-10 2014-04-08 Openpeak Inc. System and method for creating secure applications
US8402011B1 (en) 2011-10-10 2013-03-19 Google Inc. System and method for managing user web browsing information
US8881229B2 (en) 2011-10-11 2014-11-04 Citrix Systems, Inc. Policy-based application management
US9378359B2 (en) 2011-10-11 2016-06-28 Citrix Systems, Inc. Gateway for controlling mobile device access to enterprise resources
US20140032733A1 (en) 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US8799994B2 (en) 2011-10-11 2014-08-05 Citrix Systems, Inc. Policy-based application management
US8239918B1 (en) 2011-10-11 2012-08-07 Google Inc. Application marketplace administrative controls
US20130097660A1 (en) 2011-10-17 2013-04-18 Mcafee, Inc. System and method for whitelisting applications in a mobile network environment
US8789179B2 (en) 2011-10-28 2014-07-22 Novell, Inc. Cloud protection techniques
US10291658B2 (en) 2011-11-09 2019-05-14 Microsoft Technology Licensing, Llc Techniques to apply and share remote policies on mobile devices
US8990558B2 (en) 2011-11-09 2015-03-24 Safer Point Ltd Securing information in a cloud computing system
US9106650B2 (en) 2011-11-09 2015-08-11 Microsoft Technology Licensing, Llc User-driven access control
WO2013070126A1 (en) 2011-11-10 2013-05-16 Telefonaktiebolaget L M Ericsson (Publ) Policy controlled preload and consumption of software application
US8688768B2 (en) 2011-11-18 2014-04-01 Ca, Inc. System and method for hand-offs in cloud environments
US8893261B2 (en) 2011-11-22 2014-11-18 Vmware, Inc. Method and system for VPN isolation using network namespaces
US9143943B2 (en) 2011-11-29 2015-09-22 Dell Products L.P. Mode sensitive networking
US8667579B2 (en) 2011-11-29 2014-03-04 Genband Us Llc Methods, systems, and computer readable media for bridging user authentication, authorization, and access between web-based and telecom domains
US9100854B2 (en) 2011-12-06 2015-08-04 T-Mobile Usa, Inc. Quality of service application controller and user equipment application profiler
US8935375B2 (en) 2011-12-12 2015-01-13 Microsoft Corporation Increasing availability of stateful applications
US20130171967A1 (en) 2012-01-04 2013-07-04 Ayman S. Ashour Providing Secure Execution of Mobile Device Workflows
US8863299B2 (en) 2012-01-06 2014-10-14 Mobile Iron, Inc. Secure virtual file management system
US9507630B2 (en) 2012-02-09 2016-11-29 Cisco Technology, Inc. Application context transfer for distributed computing resources
US9037897B2 (en) 2012-02-17 2015-05-19 International Business Machines Corporation Elastic cloud-driven task execution
US8918881B2 (en) 2012-02-24 2014-12-23 Appthority, Inc. Off-device anti-malware protection for mobile devices
US9529993B2 (en) 2012-03-02 2016-12-27 International Business Machines Corporation Policy-driven approach to managing privileged/shared identity in an enterprise
US20130237152A1 (en) 2012-03-09 2013-09-12 Kulveer Taggar Methods and systems for hardware and software related to a near field communications task launcher
US9027076B2 (en) 2012-03-23 2015-05-05 Lockheed Martin Corporation Method and apparatus for context aware mobile security
CA2786095A1 (en) 2012-03-26 2013-09-26 Quickmobile Inc. System and method for a user to dynamically update a mobile application from a generic or first application within a class of applications to create a specific or second application with said class of applications
US9319286B2 (en) 2012-03-30 2016-04-19 Cognizant Business Services Limited Apparatus and methods for managing applications in multi-cloud environments
US20130263208A1 (en) 2012-04-02 2013-10-03 Narsimha Reddy Challa Managing virtual machines in a cloud computing system
US20130268676A1 (en) 2012-04-06 2013-10-10 Telefonaktiebolaget L M Ericsson (Publ) Application programming interface routing system and method of operating the same
US20130283335A1 (en) 2012-04-19 2013-10-24 AppSense, Inc. Systems and methods for applying policy wrappers to computer applications
US9253209B2 (en) 2012-04-26 2016-02-02 International Business Machines Corporation Policy-based dynamic information flow control on mobile devices
US9626526B2 (en) 2012-04-30 2017-04-18 Ca, Inc. Trusted public infrastructure grid cloud
US9112918B2 (en) 2012-04-30 2015-08-18 Verizon Patent And Licensing Inc. Multi-mode user device and network-based control and monitoring
US9027125B2 (en) 2012-05-01 2015-05-05 Taasera, Inc. Systems and methods for network flow remediation based on risk correlation
US20130297604A1 (en) 2012-05-01 2013-11-07 Research In Motion Limited Electronic device and method for classification of communication data objects
US9405723B2 (en) 2012-05-02 2016-08-02 Kony, Inc. Mobile application management systems and methods thereof
US8990901B2 (en) 2012-05-05 2015-03-24 Citrix Systems, Inc. Systems and methods for network filtering in VPN
US9215553B2 (en) 2012-05-11 2015-12-15 Rowles Holdings, Llc Automatic determination of and reaction to mobile user routine behavior based on geographical and repetitive pattern analysis
US20130311597A1 (en) 2012-05-16 2013-11-21 Apple Inc. Locally backed cloud-based storage
US8849904B2 (en) 2012-05-17 2014-09-30 Cloudflare, Inc. Incorporating web applications into web pages at the network level
US9300570B2 (en) 2012-05-22 2016-03-29 Harris Corporation Multi-tunnel virtual private network
KR101874081B1 (ko) 2012-06-07 2018-07-03 에스케이테크엑스 주식회사 개선된 보안 기능 기반의 클라우드 서비스 시스템 및 이를 지원하는 방법
US20130347130A1 (en) 2012-06-08 2013-12-26 Bluebox Methods and apparatus for dynamically providing modified versions of electronic device applications
US20140007215A1 (en) 2012-06-15 2014-01-02 Lockheed Martin Corporation Mobile applications platform
US9792585B2 (en) 2012-06-21 2017-10-17 Google Inc. Mobile application management
US9240977B2 (en) 2012-07-11 2016-01-19 Netiq Corporation Techniques for protecting mobile applications
US9053304B2 (en) 2012-07-13 2015-06-09 Securekey Technologies Inc. Methods and systems for using derived credentials to authenticate a device across multiple platforms
US9032506B2 (en) 2012-08-09 2015-05-12 Cisco Technology, Inc. Multiple application containerization in a single container
US20140047413A1 (en) 2012-08-09 2014-02-13 Modit, Inc. Developing, Modifying, and Using Applications
US9507949B2 (en) 2012-09-28 2016-11-29 Intel Corporation Device and methods for management and access of distributed data sources
US8745755B2 (en) 2012-10-12 2014-06-03 Citrix Systems, Inc. Controlling device access to enterprise resources in an orchestration framework for connected devices
US20140109176A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
US9355253B2 (en) 2012-10-18 2016-05-31 Broadcom Corporation Set top box architecture with application based security definitions
US8875304B2 (en) 2012-11-08 2014-10-28 International Business Machines Corporation Application and data removal system
US9326145B2 (en) 2012-12-16 2016-04-26 Aruba Networks, Inc. System and method for application usage controls through policy enforcement
US9535674B2 (en) 2012-12-21 2017-01-03 Bmc Software, Inc. Application wrapping system and method
US8910262B2 (en) 2012-12-21 2014-12-09 Cellco Partnership Supporting multiple messaging services on mobile devices in a single user experience
US9374369B2 (en) 2012-12-28 2016-06-21 Lookout, Inc. Multi-factor authentication and comprehensive login system for client-server networks
US8849979B1 (en) 2013-03-29 2014-09-30 Citrix Systems, Inc. Providing mobile device management functionalities
US9355223B2 (en) 2013-03-29 2016-05-31 Citrix Systems, Inc. Providing a managed browser
US9369449B2 (en) 2013-03-29 2016-06-14 Citrix Systems, Inc. Providing an enterprise application store
US10284627B2 (en) 2013-03-29 2019-05-07 Citrix Systems, Inc. Data management for an application with multiple operation modes
TWI499932B (zh) 2013-07-17 2015-09-11 Ind Tech Res Inst 應用程式管理方法、應用程式管理系統與使用者裝置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014032051A1 (en) * 2012-08-24 2014-02-27 Vmware, Inc. Method and system for facilitating isolated workspace for applications
US20140109072A1 (en) * 2012-10-16 2014-04-17 Citrix Systems, Inc. Application wrapping for application management framework
WO2015023887A1 (en) * 2013-08-15 2015-02-19 Mocana Corporation Gateway device for terminating a large volume of vpn connections

Also Published As

Publication number Publication date
EP3274821B1 (en) 2020-03-11
JP6603730B2 (ja) 2019-11-06
WO2016160039A1 (en) 2016-10-06
EP3274821A1 (en) 2018-01-31
US9606774B2 (en) 2017-03-28
US20160283198A1 (en) 2016-09-29

Similar Documents

Publication Publication Date Title
JP6397957B2 (ja) 管理されたブラウザの提供
JP6397956B2 (ja) モバイルデバイス管理機能の提供
US9948657B2 (en) Providing an enterprise application store
JP6603730B2 (ja) フィールドプログラマブルビジネスロジックでのアプリケーションのラッピング
US10225263B2 (en) Controlling incoming data processing requests

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171031

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190401

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191011

R150 Certificate of patent or registration of utility model

Ref document number: 6603730

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees