JP6600156B2 - 動的な提示およびデータの構成を使用するセキュリティ保護されたモバイル共同アプリケーションを構築するためのプラットフォーム - Google Patents

動的な提示およびデータの構成を使用するセキュリティ保護されたモバイル共同アプリケーションを構築するためのプラットフォーム Download PDF

Info

Publication number
JP6600156B2
JP6600156B2 JP2015094230A JP2015094230A JP6600156B2 JP 6600156 B2 JP6600156 B2 JP 6600156B2 JP 2015094230 A JP2015094230 A JP 2015094230A JP 2015094230 A JP2015094230 A JP 2015094230A JP 6600156 B2 JP6600156 B2 JP 6600156B2
Authority
JP
Japan
Prior art keywords
application
server
mobile
data
customer
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.)
Expired - Fee Related
Application number
JP2015094230A
Other languages
English (en)
Other versions
JP2015213319A5 (ja
JP2015213319A (ja
Inventor
フローレッツ エルキン
ファング ライアン
ブレア チャールズ
アナン デービッド
マーグーブ ハッサム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Iqvia Inc
Original Assignee
IMS Health Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by IMS Health Inc filed Critical IMS Health Inc
Publication of JP2015213319A publication Critical patent/JP2015213319A/ja
Publication of JP2015213319A5 publication Critical patent/JP2015213319A5/ja
Application granted granted Critical
Publication of JP6600156B2 publication Critical patent/JP6600156B2/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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Medical Informatics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Description

本発明の実施形態は、全般には、セキュリティ保護されたアプリケーション開発プラットフォームに関し、さらに詳細には、健康情報などの機密データにアクセするためのセキュリティ保護されたモバイルアプリケーションを開発するためのシステムおよび方法に関する。
モバイルヘルス(「mHealth」)とは、モバイルフォン、患者監視装置、携帯情報端末(PDA)、および他のモバイル装置またはワイヤレス装置などの通信端末によりサポートされる医療保健および公衆保健の実践に対する用語である。mHealthでは、音声およびショートメッセージサービス(SMS)の使用の他にも、モバイルデータ通信システム(例えば3G、4G、4GLTE、その他)、全地球測位システム(GPS)、およびBluetooth(登録商標)技術などのより複雑な技術も使用される。
一般的にインターネットの使用に対して最適化されたスマートフォンの高度な計算能力により、機密データ、個人情報、およびアドバイス(健康および医療ケアに関する情報を含むがこれらに限定されない)を個人が常時、任意の場所からアクセスすることが可能である。スマートフォンでは、ラップトップでは利用不可能な機能(例えば移動中のセンサから情報を取り込む能力など)も提供され、GPS機能およびカメラ機能も追加される。機密データ、個人情報、およびアドバイスは、異なる意味が、明示的に、または語法の脈絡により、示されない限り、本明細書では機密個人情報と総称される。
モバイルアプリケーション(モバイルアプリ)は、スマートフォン、タブレットコンピュータ、および他のモバイル装置上で実行されるよう設計されたソフトウェアアプリケーションである。いくつかのモバイルアプリは、ヘルスケア情報などの機密個人情報を消費者に供給すること、または健康状況情報を消費者から収集し、ヘルスケア提供者に送信することを実行するために、使用される。機密個人情報の交換に関連するモバイルアプリ(例えばヘルスケアの分野で開発されたアプリなど)の全部が、必ずしも広く消費者に利用可能であるわけではない。最も高度な医療用アプリのなかには、一般消費者を対象として設計されていないものもある。モバイルアプリのなかには、ヘルスケア従事者用に設計されたものもあり、患者用に設計されては入るが処方が必要となるものもあり、患者のごく一部のみをターゲットとするものもある。モバイルアプリのなかには、米国食品医薬品局(FDA)の承認が必要であるものもある。モバイルアプリは、基盤となるオペレーティングシステムに移植済み(例えばAndroidからWindows(登録商標)またはiOSに)であるならば、パーソナルコンピュータ(PC)などの他のプラットフォーム上での実行も可能である。本明細書で使用される「モバイルアプリ」または「モバイルアプリケーション」という用語は、記載される利益がモバイル性によりもたらされないならば、または語法の脈絡により明らかに制限されることがないならば、必ずしもモバイル装置に限定されることなく、PC(例えば、デスクトップ型、タワー型、ラップトップ型、ネットブック型、その他)または他の汎用の消費者用計算装置上で実行されるアプリケーションを含み得る。
患者の健康情報などの特定の機密個人情報は法律(例えば合衆国においては、医療保険の相互運用性と説明責任に関する法律(合衆国法典第42編第300gg条ならびに合衆国法典第29編第1181条以下および合衆国法典第42編第1320d条以下に収録される「HIPAA」))の保護下にあり、患者のプライバシーが保たれる形での取り扱いが必要である。係る情報は保護医療情報(PHI)と呼称される。PHIに関しては、モバイルアプリケーションに入力されるデータがどのように使用されるかに関する透明性および認識の両方が存在すべきことと、PHIデータの使用に対する患者の同意が得られるべきことと、が重要である。ヘルスケアモバイルアプリがPHIを収集、格納、および/または伝送する場合、HIPAAおよび当該国の他のあらゆる適用可能な法律または規制に完全に準拠してモバイルアプリがPHIの収集、格納、および/または伝送を行うことが肝要である。電子医療記録(EHR)またはパーソナルヘルスレコード(PHR)に接続される(係る接続によりユーザは、モバイル装置とEHR/PHRとの間で患者情報の送受信を行うことが可能である)ことが意図される任意のモバイルアプリは、セキュリティ保護された様式で接続されなければならず、関与する利害関係者の全員が、EHR/PHR内に含まれるPHIデータを保護するために自らの責務を負わなければならない。
データセキュリティは、それぞれ情報ライフサイクルの異なるレベルにおける、機密性(例えば暗号化の使用による)、整合性、可用性、信憑性、否認防止、およびアクセス制御などの、セキュリティのいくつかの側面を含む。データセキュリティは暗号化の使用により提供される。暗号化はデータおよび通信のプライバシーを確保するための標準的なツールである。保護情報をセキュリティ保護するための様々な暗号化方式(例えば、アメリカ国立標準技術研究所(NIST)によりFederal Information Processing Standards Publication 197, November 26, 2001として公表されているAdvanced Encryption Standard(AES)など)が商業的に入手可能である。AESは対称性暗号化方式であって、同一の暗号鍵が符号化および複合化の両方に対して使用される。AES方式自体の複数の変形例(例えば、AESカウンタモード、AES暗号ブロック連鎖(CBC)+cipher text stealing(CTS)、RSA、その他)が存在する。AESのいくつかの変形例については、Request for Comment (RFC) 3962, ”Advanced Encryption Standard (AES) Encryption for Kerberos 5,” February 2005および、同文献内で挙げられた引用文献で説明され得る。
モバイルアプリケーションは、顧客および部品製造業者とのビジネスを行う上で、多くの企業で重要度が増しつつある。健康情報などの機密個人情報を処理する組織の場合では、直接的に患者と接触するためにモバイル性が大いに望まれるが、その一方では、HIPAAにより要求されるセキュリティおよびアーキテクチャに関する全要件に準拠するモバイルアプリケーションの構築は非常に困難である。
モバイルアプリケーションは、基盤となるオペレーティングシステムにより直接的にはサポートされないタスク(例えばセキュリティ保護されたメッセージ伝達および調査など)を、およびモバイル装置の外部に存在するがモバイル装置との通信接続性を有する装置(例えばBluetooth(登録商標)装置、GPS、その他)との通信を伴うタスクを、アプリケーションが実行することを可能にするインターフェースも含む。モバイル装置は時間の経過とともに発展し、新しい機能が追加されてきた。したがって新しい機能をサポートするために新しいインターフェースがモバイル装置に追加されるであろう。新しい機能をサポートするにあたってはオペレーティングシステムおよびアプリケーション開発ツールに対する更新が必要となる場合があるが、係る更新が実行される頻度は、モバイル装置上のアプリケーションプログラムに対する構成上の変更の頻度と比較すると、さほど高くはない。
モバイル装置のサポートに関する主要な難点は、モバイル装置上で採用されるアプリケーションプログラムのバージョン更新に関するポリシーおよび手順である。更新済みのアプリケーションプログラムが利用可能になったとき、当該アプリケーションプログラムを所有する全ユーザは各ユーザのモバイル内のアプリケーションプログラムのバージョンを更新しなければならない。US安定性、動的なマーケット、技術的OS要件、その他などの要因の長いリストに応じて、バージョニング時間(特定バージョンが現行バージョンである時間の長さ)が短いアプリケーションプログラムもあり、長いアプリケーションプログラムもある。アプリケーションプログラムバージョンの更新では通常、モバイル装置のユーザがオンライン・アプリ格納領域などのサーバと通信し、アプリケーションプログラムの新しいコピーを取得することが必要となる。このプロセスは、アプリ格納領域がアプリケーションプログラムを制限する傾向にあり、アプリケーションプログラムの新規バージョン公開プロセスを遅らせる傾向にあるため、低速且つ困難である。
さらにモバイルアプリケーション開発に対する大部分のシステムは、それぞれ統合化のレベルに欠陥を有する。モバイル装置に対するアプリケーションの現行実装はグラフィカル・ユーザ・インターフェース(GUI)、データ構造、およびロジックを事前定義またはハードコードし、アプリケーションが格納領域またはホスティングサーバからダウンロードされるとき、これらが一緒にまとめられる。他種類のモバイルアプリケーションは、モバイル装置がサーバに接続されている間、GUI、データ構造、およびロジックを取得または使用するにあたってはクライアント/サーバ・モードで完全にオンライン上で動作し、サーバに対してデータ接続されない状態では効果的な動作が不可能である。他のアプリケーションでは、それぞれのGUI、データ構造、およびロジックがハードコードされており、データを同期するにあたってはサーバへの接続が許可される。クライアントとして使用されるモバイル装置は、事前定義されたセットの機能のみを実行し得、事前定義されたGUIを有し得る。
モバイルアプリケーション開発用の周知のシステムのなかには、(例えばGUIロジックおよびデータに対する)機能を動的に作成すること、および、これらの機能をワイヤレスで供給すること、は可能であるが、通信、ストレージ、および処理における統合化されたセキュリティが欠如しているものもある。また係るシステムでは、サーバが、データ復元、セキュリティ管理、およびモバイル装置からの情報への他種類のアクセスの採用を提供するにあたってのシステムの重要部分であることが考慮されていない。
したがってモバイル装置のユーザのための暗号的にセキュリティ保護されたモバイルアプリケーションを開発するための、統合化された開発プラットフォームが必要である。なお係るアプリケーションは、mHealth用途、HIPAAおよびNIST/FIPSなどの政府セキュリティ規格を実装するアプリケーション、動的にGUI、ロジック、およびデータを更新するにあたりサーバアプリケーションと通信するアプリケーション、オンラインおよびオフラインで動作するアプリケーション、モバイル装置の紛失または交換の場合に状態およびデータを再構築することが可能なアプリケーション、その他を含むが、これらに限定されない。
本開示に係る実施形態は、単一のプラットフォームにおいて従来は利用不能であった複数の機能を統合する、モバイルアプリケーション開発プラットフォームを提供する。係る統合化は、アプリケーションを構築するための簡単なインターフェースを開発者に提供し、それによりセキュリティ、アプリケーションの配布および管理に関連する複雑性を取り除くことにより、相乗効果をもたらす。統合化された機能は、組み込まれたセキュリティと、サーバ同期と、ソフトウェア開発者が様々なモバイル用のオペレーティングシステムのプログラミングに関する詳細な知識および/または低レベルな知識を有することを必要としない、共通の開発ツールの使用と、を含み得る。
実施形態は、HIPAA準拠を可能にするアプリケーションコンテナを提供することにより規格準拠アプリケーションの開発を簡略化する。このプラットフォームを使用する構築は、1セットのHTML/CSS・Java(登録商標)Scriptアプリケーションのみに集中すればよい。係る1セットのHTML/CSS・Java(登録商標)Scriptアプリケーションが、サポートされるあらゆるモバイルプラットフォーム上で動作し、それにより開発努力および認証負荷が軽減されることとなる。
1つの実施形態では、システムは、暗号化された形態で保護データを格納するよう構成されたパブリッシャデータベースと、パブリッシャデータベースに連結されたパブリッシングサーバと、カスタマアプリケーションに対する通信インターフェースと、パブリッシングサーバに連結された認証サーバであって、パブリッシングサーバを通して提供されたアクティベーションコードを認証すること、モバイル認証ワンタイムパスワードを検証すること、および装置からのデータを解読するためのセキュリティ保護されたセッションキーを生成すること、を行うよう構成された認証サーバと、を含み得、カスタマアプリケーションはモバイル装置から情報を受け入れること、およびモバイル装置に情報を発信すること、を行うよう構成される。モバイル装置は、モバイルアプリケーションコンテナ(またはコンテナ)と、モバイルコンテナに連結されたセキュリティ保護されたストレージと、を含み、モバイルコンテナは、第1モバイル構成アプリケーション(または構成)および内部セキュアウェブサーバを実行するよう構成される。
アプリケーションコンテナは、いくつかのアプリケーション構成の使用をホストおよびサポートすることが可能なモバイルアプリケーションである。各構成は、GUI外観、アプリケーションフロー、ロジック、およびデータについて記述する。コンテナは、第1構成として特定される1つの構成で始まり得る。第1構成は、使用するべき他の構成をユーザが選択することを可能にし得る。
本開示に係る実施形態は、保護データへのアクセスを通信端末に対して提供するためのシステムおよび方法を提供し得る。なおこのシステムは、暗号化された形態で保護データを格納するよう構成されたパブリッシャデータベースと、パブリッシャデータベースに連結されたパブリッシングサーバと、パブリッシングサーバに連結された認証サーバであって、保護データに対するアクセスについての暗号的に強力な認証を提供するよう構成された認証サーバと、パブリッシングサーバと通信端末との間に存在する、第1セキュリティ保護チャネルに対するインターフェースと、パブリッシングサーバとカスタマアプリケーションとの間に存在する、第2セキュリティ保護チャネルに対するインターフェースと、を含み、カスタマアプリケーションは、第1セキュリティ保護チャネルおよび第2セキュリティ保護チャネルを介して、通信端末から情報を受け入れること、および通信端末に情報を発信すること、を行うよう構成される。
本開示の1つの実施形態に係る方法は、パブリッシャデータベースに連結されたパブリッシングサーバにより、暗号化された形態で保護データを格納することと、保護データにアクセスするための要求を、通信端末から、受け取ることであって、前記要求は申し立てられたクレデンシャルを含む、保護データにアクセスするための要求を受け取ることと、申し立てられたクレデンシャルを暗号的に強力な認証により認証するために、申し立てられたクレデンシャルを認証サーバに伝送することと、申し立てられたクレデンシャルが認証された場合、通信端末と保護データとの間のアクセスを許可することと、カスタマアプリケーションとパブリッシャデータベースとの間で保護データを通信することと、通信端末とパブリッシャデータベースとの間で保護データを通信することと、を含み得る。
これまで、本開示のいくつかの態様の理解を提供するために、本開示の実施形態の簡単な概要を述べてきた。この概要は、本開示およびその様々な実施形態に関する、広範な概略でもなく、また網羅的な概略でもない。本開示の主要な要素または重要な要素を特定すること、または本開示の範囲を示すことを意図するものではなく、本開示の選択された概念を簡略化された形態で、以下で提示されるより詳細な説明に対する導入として、提示することを意図するものである。理解されるように、上述の特徴または以下で詳細に説明する特徴のうちの1つまたは複数を、単独で、または組み合わせて、利用することにより、本開示の他の実施形態も可能である。
上述した本発明の特徴ならびに特長、およびさらなる本発明の特徴ならびに特長は、特に以下に添付する図面とあわせて、本明細書の実施形態に関する以下のより詳細な説明を考慮すると明らかになるであろう。なおこれらの図面では、様々な図面における同様の参照番号は同様の構成要素を示すために使用される。
本明細書で使用される表題は組織化のみを目的とするものであり、本発明の範囲または請求項の範囲を限定するために使用されることを意図するものではない。本願を通じて使用される「得る」という語は、強制的意味(すなわち「〜が必須である」を意味する)よりも、むしろ許容的意味(すなわち「〜となる可能性がある」を意味する)で使用される。同様に「含む」、「含んで」、「含み」という語は、「〜を含むが、これに限定されない」を意味する。理解を支援するために、同様の参照番号は、可能な場合、図面全体に共通する同様の要素を指すために、使用される。図面の省略可能な部分は、語法の脈絡が別段の内容を示さない限り、破線または点線を使用して図示され得る。
本発明の1つの実施形態に係るモバイル通信ネットワークを示すブロック図である。 本発明の1つの実施形態に係るモバイル装置を示すシステムレベルのブロック図である。 本発明の1つの実施形態に係るエンドユーザの非モバイル装置を示すシステムレベルのブロック図である。 本開示の1つの実施形態に係るシステム300の全体図である。 本発明の1つの実施形態に係る開発プラットフォームの内部アーキテクチャおよび露出されたインターフェースを、相対的により高いレベルの詳細で示す図である。 本開示の1つの実施形態に係る、アプリケーションを発行するプロセスを示す図である。 本開示の1つの実施形態に係る、ユーザをアプリケーションに登録するプロセスを示す図である。 本開示の1つの実施形態に係る、アプリケーションを検索するプロセスを示す図である。 本開示の1つの実施形態に係る、通信端末上のアプリケーションを起動および使用するプロセスを示す図である。 本開示の1つの実施形態に係る、アプリケーションを同期および更新するプロセスを示す図である。
本開示について、代表的なデジタル情報システムと組み合わせて以下で例示する。例えばサーバ(単数または複数)および/またはデータベース(単数または複数)を使用するシステムとともに使用することが好適ではあるが、本開示は、いかなる特定のシステムまたはシステム要素の構成とともに使用されることにも限定されない。当業者は、情報にアクセスするための、または決定を制御するための、移転可能な許可が提供されることが望ましい任意のシステムまたはプロセスにおいて、開示される技術が使用され得ることを理解するであろう。
本開示の代表的なシステムおよび方法について、ソフトウェア、モジュール、および関連するハードウェアに関連して説明する。しかし本開示を不必要に不明瞭化することを回避するために、以下の説明では、ブロック図形式で図示され得るか、周知であるか、または別様に要約される、周知の構造、構成要素、装置については省略する。
以下の詳細な説明では、多数の特定的な詳細が、実施形態に関する、または本明細書で説明される他の事例に関する、完全な理解を提供するために説明される。いくつかの事例では、周知の方法、手順、構成要素、および回路については、以下の説明が不明瞭化されることを避けるために、詳細な説明を加えない。さらに開示される事例は単に説明を目的とするものであり、開示される事例に代わり、または開示される事例と組み合わせて、他の事例も用いられ得る。他の事例が等しく効果的となることが可能であり、他の事例が等しく効果的となる可能性もあるため、本発明の実施形態の範囲を限定するものであるとして、本開示で提示される事例を解釈すべきではない。
本明細書で使用される「モジュール」という用語は全般に、ステップ、プロセス、またはコンポーネントの論理的なシーケンスまたは関連づけを指す。例えばソフトウェアモジュールは、コンピュータプログラム内における1セットの関連付けられたルーチンまたはサブルーチンを含み得る。代替的にモジュールは実質的に内蔵型のハードウェア装置を含み得る。モジュールは、ソフトウェア実装またはハードウェア実装に関わらず、プロセスの論理的なセットも含み得る。
本明細書で使用される「送信器」という用語は、全般に、信号の送信を行う能力を有する任意のデバイス、回路、または装置を含み得る。本明細書で使用される「受信器」という用語は、全般に、信号の受信を行う能力を有する任意のデバイス、回路、または装置を含み得る。本明細書で使用される「送受信器」という用語は、全般に、信号の受信および受信を行う能力を有する任意のデバイス、回路、または装置を含み得る。本明細書で使用される「信号」という用語は、電気信号、無線信号、光信号、音響信号、その他のうちの1つまたは複数を含み得る。
本明細書で使用される「コンピュータ可読媒体」という用語は、命令を格納することに関与する、および/または実行のためにプロセッサに命令を提供することに関与する、任意の有形ストレージ媒体および/または伝送媒体を指し得る。係る媒体は、不揮発性媒体、揮発性媒体、および伝送媒体を含むがこれらに限定されない多数の形態を取り得る。不揮発性媒体は例えばNVRAMまたは磁気ディスクもしくは光ディスクを含む。揮発性媒体はメインメモリなどのダイナミックメモリを含む。コンピュータ可読媒体の一般的な形態としては、例えばフロッピディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは他のあらゆる磁気媒体、磁気・光媒体、CD−ROM、他のあらゆる光媒体、パンチカード、紙テープ、パターン化された穴を有する他のあらゆる物理的媒体、RAM、PROM、EPROM、フラッシュEEPROM、メモリカードなどのソリッドステート媒体、他のあらゆるメモリチップもしくはカートリッジ、後述する搬送波、または、コンピュータが読み出し可能な任意の他の媒体挙げられる。電子メールに添付されるデジタルファイルまたは他の内蔵型の情報アーカイブまたは1セットのアーカイブは、有形ストレージ媒体と等価である配布媒体とみなされる。コンピュータ可読媒体がデータベースとして構成される場合、データベースは任意種類のデータベース(例えばリレーショナル、階層型、オブジェクト指向、および/またはその他)であり得ることを理解すべきである。したがって本開示は、本開示のソフトウェア実装が格納される、有形ストレージ媒体または配布媒体、および、先行技術で認識される均等物および継承媒体を含むものと考えられる。
図1は、通信端末(例えばモバイル装置および非モバイル装置)と、通信端末上で実行されるアプリケーションを使用し、通信端末を使用して機密個人情報にアクセスし得る関連ユーザと、の分散システムを図示する。セルラ通信を介してセルラ基地局24とワイヤレス通信するいくつかのモバイル装置20が図示される。セルラ基地局24により、大規模な公衆ネットワーク(例えばインターネット28)上で1つまたは複数のセルラ通信キャリア(図示せず)により運用されるいくつかの中間サーバを介して通信を行うことが可能である。図1はさらに、インターネット28と通信するいくつかの非モバイル計算装置21も図示する。トランザクションサーバ32もインターネット28と通信し得る。トランザクションサーバ32はプライベートネットワーク上で検証サーバ36とも通信し得る。加えてトランザクションサーバ32は、機密情報の1つまたは複数のリポジトリ、または係る機密情報を処理するシステム、(例えば医療組織または財政組織40など)とも、通信し得る。なお係る組織40では、モバイル装置20および/または非モバイル計算装置21のユーザはビジネスまたはヘルスケアなどの何らかの関係を有し得る。
本開示に係る実施形態は、図1に図示するモバイル装置20および/または非モバイル計算装置21の種類に限定されない。実施形態は、PC、MacBook、タブレットコンピュータ、シンクライアント、またはネットワークを介してアクセス可能な実質的に他のあらゆる種類の計算装置を含む実質的にあらゆる種類の入出力装置または通信端末とともに使用され得る。
図1に図示する要素の構成は、単に例示を目的とするものであること、および、本発明の実施形態を、いかなる特定的構成の要素にも限定するものでないと解釈すべきであることは、強調されるべきである。
サーバは、処理ユニット(CPU)、マイクロプロセッサ、もしくはソフトウェアを実行する他種類のデジタルデータプロセッサ、または特定用途集積回路(ASIC)、ならびに係る要素の様々な部分もしくは組み合わせを含む、ソフトウェアの制御によるシステムであり得る。メモリは、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、またはこれらの組み合わせ、および他種類の電子メモリ装置を含み得る。本発明の実施形態は、ソフトウェア、ハードウェア(ロジック回路を含むがこれに限定されない)、またはこれらの組み合わせとして実装され得る。
図2Aを参照すると、モバイル装置20のいくつかの構成要素が図示される。図示のように、この実施形態では、モバイル装置20は、基本的な機能を有する典型的なモバイルフォンである。モバイル装置20はユーザからの入力を受け取るための入力インターフェース60を有し、情報を視覚的にユーザに対して提示するためのディスプレイ64が提供される。モバイル装置20は、モバイル装置20上で実行されるいくつかのアプリケーションおよびデータとともに、モバイル装置20の主要機能を制御するオペレーティングシステムを格納するためのメモリ68も含む。プロセッサ72はオペレーティングシステムおよびアプリケーションを実行する。SIMカード76は、アプリケーションおよびデータを格納するための追加的なメモリを提供し、アプリケーションおよびデータの格納を実行するためのマイクロプロセッサを有する。加えてSIMカード76は、モバイル装置20の識別を許可する一意的なハードウェア識別コードを有する。インストールされると、SIMカード76はモバイル装置20の一部を形成する。他種類のモバイル装置はSIMカード76に代わって暗号化された装置メモリを有してもよく、係る装置メモリは等価な機能を提供する。通信インターフェース80は音声およびデータに対するセルラネットワークとの通信を可能にする。
図2Bを参照すると、非モバイル計算装置21のいくつかの構成要素が図示される。図示のようにこの実施形態では、非モバイル装置21は基本的な機能を有する典型的なデスクトップ型またはタワー型のコンピュータである。非モバイル装置21は、ユーザから入力を受け取るためのユーザ入力インターフェース251(例えばキーボード、タッチスクリーン、および/またはマイクロフォン)を有し、視覚的または音響的に情報をユーザに提示するためのユーザ出力インターフェース253が提供される。非モバイル装置21は、非モバイル装置21上で実行されるいくつかのアプリケーションおよびデータとともに、非モバイル装置21の主要機能を制御するオペレーティングシステムを格納するためのメモリ255も含む。プロセッサ257はオペレーティングシステムおよびアプリケーションを実行する。非モバイル装置21は、非モバイル装置21の識別を可能にする一意的なハードウェア識別コード(例えば媒体アクセス制御(MAC)アドレス)を有してもよい。メモリ255の少なくとも1部分は暗号化される場合がある。通信インターフェース259は、例えばイーサネット(登録商標)またはWi−Fiインターフェースにより、LANまたはインターネット28との通信を可能にする。
様々なシステム構成要素間でのセキュリティ設計の不十分な統合化しか提供しない周知のツールおよび方法とは対照的に、本開示に係る実施形態は、よりシームレスなインターフェース接続が提供されるよう、様々な構成要素間でのセキュリティ設計を統合化するために設計されたシステム構成要素を含み、それによりシステム構成要素の開発者は、セキュリティのインターフェース接続について過剰に苦慮することから解放されることとなる。実施形態はまた非認証ユーザによるアクセスから情報を保護する。
統合化は、緩やかに連結されたアプリケーション間での相乗効果を提供し得る。「緩やかに連結された」とは、アプリケーションが必ずしも相互に依存しないことを意味する。依存性が存在するならば、係る依存性の存在により、一方のアプリケーションの挙動は、他方の(すなわち依存する)アプリケーションが存在しない場合でさえも、影響を及ぼされるべきではない。係るアプリケーションは、独立的に使用されてもく、または一緒に使用されてもよく、しかし一緒に使用される場合には、相互に通信する場合がある。例えば2つのアプリケーションがコンテナ内で協働しているならば、これらのアプリケーションのうちの一方が、同期プロセスの後に更新された場合、他方のアプリケーションに影響が及ぶことはないあろうが、協働的な動作は影響される場合がある。アプリケーション間の緩やかに連結された関係は、省略可能なデータをアプリケーション間で共有することにより達成され得る。共有されるアプリケーションが存在する場合、両方のアプリケーションは、共有データを使用して相互作用するであろう。
本開示に係る実施形態は、既知の技術の開発プラットフォームにおける統合化された形態では利用不能であった機能の統合化を含むモバイルアプリケーション開発プラットフォームを提供する。実施形態により、ソフトウェアアプリケーション開発者は、異なるモバイルプラットフォームのソフトウェア開発環境に関する詳細な技術的知識を有することがなくても、またセキュリティに関しておよびモバイル通信に関して精通していなくても、HTML、CSS、およびJava(登録商標)Scriptなどの一般的な開発ツールを使用して、よりセキュリティ保護されたモバイルアプリケーションの作成が可能となり得る。実施形態は、洗練されたクライアント/サーバ・アプリケーションを作成するにあたり必要なツールに、統合化されたエンドツーエンド・セキュリティを提供し得る。実施形態は、バックエンドサーバと通信することにより、モバイルアプリのクライアント内のデジタルコンテンツを同期および/または更新するための方法を提供し得る。なおこの方法は復元に対して(例えばモバイル装置が紛失または交換されたとき、またはソフトウェアアップグレードが予期しない問題を生じた場合に)有用である。モバイルアプリケーション開発プラットフォームは、セキュリティ保護されたモバイルストレージも提供する。係るモバイルストレージは、モバイルアプリがインターネットに接続されていない場合にモバイルアプリを使用することに対して有用である。
本開示の1つの実施形態に係るカスタマアプリケーションは、モバイル装置からの情報を送受信するためにパブリッシャ(例えばパブリッシングサーバ)と通信し得るサーバ側アプリケーションである。パブリッシングサーバは例えば、図1のトランザクションサーバ32として図示され得る。本開示の1つの実施形態に係るモバイルアプリケーションは、クライアント(モバイルまたは非モバイルのクライアント)用に構築されたアプリケーションであり、エンドユーザとのインターフェースを提供し得る。例えばモバイルアプリケーションは血糖値計の測定値を追跡するための糖尿病用途を含み得、対応するカスタマアプリケーションは、血糖値計の測定値の受信および処理を行うサーバベースのプログラム(例えば電子カルテ(EMR)プログラム)を含み得る。
本開示に係る実施形態は、通信経路を、および、モバイルアプリのクライアントとバックエンドサーバとの間の比較的良好に定義されたインターフェースを、提供し得る。モバイルアプリのクライアントの開発努力を1度行うだけで、その影響力は、それぞれの様々なモバイルプラットフォームのオペレーティングシステム(例えばAndroid、Windows(登録商標) Mobile、iOS、その他)上で実行されるモバイルアプリクライアントにも及び得る。汎用サーバが、モバイルアプリのクライアントと通信するために実施形態の一部として提供されたインターフェースを使用するバックエンドサーバアプリケーションをホストするために使用され得る。
モバイルアプリのクライアントとバックエンドサーバとの間のインターフェースはいくつかのレベルのインターフェースを含み得る。例えばクライアントアプリケーションは、モバイル装置内のセキュリティ保護された記憶領域にアクセスするためにJava(登録商標)Scriptインターフェースを使用し得る。サーバ側アプリケーション(例えばカスタマアプリケーション)は、パブリッシングサーバと通信するために、(SOAP規格のセキュリティ機能を使用して構成されたSOAP)ウェブサービスインターフェースなどのセキュリティ保護された通信インターフェースを使用し得る。SOAPは、当業者により知られるように、Web Services Activityの一部であるXML Protocol Working Groupにより生成されたW3C勧告として周知である。現行バージョンは2007年4月27日付のSOAP1.2である。本開示に係る実施形態は、モバイル装置内のセキュリティ保護された記憶領域と、パブリッシングサーバと、を一緒にリンクし、それにより、モバイル装置アプリケーションとカスタマアプリケーションとの間に通信リンクが提供されることとなる。インターフェースのために使用される技術は、他種類のインターフェース技術を含み得る。
本開示に係る実施形態は、ユーザがアプリ格納領域からコンテナをダウンロードするのは1度のみとなるな形でモバイルアプリケーション開発プラットフォームを使用するためのプロセスを提供し得る。コンテナはいくつかのアプリケーション構成を保持することができ、モバイル装置は、モバイル装置およびユーザ選好に好適な構成を使用し、その使用に応じてユーザGUI、フロー、ロジック、およびデータが提示される。その後、アプリケーション構成の更新が関連サーバから直接的に実施される。これにより、次にアプリケーションプログラムがサーバにアクセスするためにユーザにより使用されるときに、ユーザは最新バージョンのアプリケーション構成を取得することが可能となる。例えばコンテナは、HTML/CSSまたはJava(登録商標)Scriptなどのコードによる、所定のモバイル装置に対するユーザGUI、フロー、ロジック、およびデータに関する記述を含み得る。コンテナは、モバイルプラットフォームに対して好適なコードを解釈し、モバイルプラットフォームに対するユーザGUI、フロー、ロジック、およびデータを提供し得る。
例えばコンテナがサーバに接続すると、コンテナはアプリケーション構成を受け取る。第1アプリケーション構成が最初にコンテナにより使用され、これによりユーザはアプリケーションを使用して作業を開始することが可能となる。アプリケーション構成は、サーバによりコンテナに送られた記述子、ロジック、およびデータ構造の1つのセットである。記述子、ロジック、およびデータ構造は、例えばHTML、CSS、Java(登録商標)Script、およびJSONを使用して、様々な方法で実装または通信され得る。他の技術も使用されてよい。
コンテナはサーバ内に格納された最新の構成を受け取る。サーバは、任意の時間に構成を構成することができ、構成が更新された場合、コンテナは最終(すなわち最新)のバージョンを受け取る。コンテナはいくつかのサーバに接続される場合がある。コンテナが(例えばアクティベーションコードの提供により)初期化されると、コンテナは関連サーバを識別し、関連サーバとの通信を開始することができる。ひとたび関連サーバが選択されると、コンテナは常に当該関連サーバを使用することになる。いくつかの実施形態では、モバイル装置は、複数の関連サーバと通信するよう構成される場合もあり、例えば1つの関連サーバが利用不能である場合でさえも、引き続き他の関連サーバと通信することができる。
本開示に係る実施形態は、外部アプリケーション(例えば「カスタマアプリケーション」)にインターフェースを提供することができ、外部アプリケーションは、パブリッシングサーバを介して、情報をモバイル装置から受け取ること、および情報をモバイル装置に発信すること、を行うことが可能である。カスタマアプリケーションは、モバイルクライアントからの情報を送受信するためにパブリッシングサーバと通信するサーバアプリケーションである。カスタマアプリケーションはセキュリティ保護されたサービスインターフェース(SOAP)を使用してパブリッシャに接続し得る。カスタマアプリケーションの例としては、モバイルユーザとの情報交換を行うためにパブリッシングサーバのWSIインターフェースを使用するEMRシステムが挙げられ得る。モバイルアプリケーション開発プラットフォームは、カスタマアプリケーションをモバイルアプリケーションから切り離すこと、およびカスタマアプリケーションの介在なしにユーザの情報の復元(モバイル内の情報が紛失した場合)を可能にすることを行うために、モバイル装置に発行されたカスタマアプリケーションからの実質的に全部の情報を、モバイルアプリ開発プラットフォームによりアクセス可能なセキュリティ保護されたデータベースに格納し得る。
カスタマアプリケーション開発プラットフォームは、少なくとも2つの異なる種類のカスタマアプリケーション、すなわちインタラクティブ・アプリケーションおよびポーリング・アプリケーション、を可能にする。インタラクティブ・アプリケーションに対しては、カスタマアプリケーションは、カスタマアプリケーションに関連付けられたデータがパブリッシャデータベース(例えば図4のパブリッシャデータベース402)内で変更されたとき、通知されるであろう。ポーリング・アプリケーションに対しては、ポーリング・カスタマアプリケーションはプラットフォームデータベース内のいずれの情報が変更されたかを周期的に検査し、カスタマアプリケーションの目的を実行するために、データの取得および処理を実行する。カスタマアプリケーションがそれ自体のライフサイクルを有することができるように開発プラットフォームが待ち行列機構を提供するため、インタラクティブ・カスタマアプリケーションは、オンラインであってもよく、またはオフラインであってもよい。
カスタマアプリケーションは通常、パブリッシングサーバに接続されたコンピュータサービスであり、パブリッシングサーバから通知を受け得る。特定の時間的期間の間、カスタマアプリケーションは、保守サイクルまたは通信障害のために、オフライン(例えば休止中)となる場合もある。モバイルアプリケーションを使用するユーザはオフライン時間的期間の間に依然として情報を変更(例えばデータの更新/追加/削除など)する場合があり、パブリッシングサーバは依然として当該変更についてカスタマアプリケーションに通知する必要がある。しかしカスタマアプリケーションがオフラインであるため、カスタマアプリケーションは通知を受けることができない。通知の損失を防止するために、実施形態は通知を待ち行列に入れなければならず、カスタマアプリケーションサービスがオンライン状態に戻ったとき、待ち行列は、オフライン時間中の間に生じた変更の全部に関する通知の供給を開始するであろう。ライフサイクルとは、カスタマアプリケーションを更新し、更新済みカスタマアプリケーションをモバイルアプリケーションユーザにアクセス可能な状態にする、スケジュールを指す。ライフサイクルは、ここではオフラインフェーズおよびオフラインフェーズに関して説明されるが、追加的に、他のフェーズも使用されてもよく、または利用可能となってもよい。
モバイルアプリケーション開発プラットフォームは、1つまたは複数の組織、ユーザグループ、およびアプリケーションをサポートし得る。各組織は、ユーザグループおよびアプリケーションの組織自体のセットを有し、係るユーザグループのメンバーには、当該ユーザグループに属さないエンティティと比較して、アプリケーション構成に対するより大きい信頼またはアクセスが与えられ得る。いくつかのユーザグループは第1セットのアプリケーション構成に対するアクセスを有し得、他のグループは第2セットのアプリケーション構成に対してアクセスを有し得る。複数の組織は、1つのシステムが複数のカスタマ(例えば病院ABCおよび病院XYZ)間で共有される場合、有用となる場合がある。病院ABCの患者が第1グループを形成し得、スタッフメンバーが第2ユーザグループを形成し得、その一方で、病院XYZは異なるユーザ組織を有し得る。これら2つの組織は同一の計算・通信機材(例えばサーバ)を使用するが、様々なグループのユーザ、アプリケーション、およびデータは、互いに対して独立的である。係る複数組織によるリソースの使用は、マルチテナント使用と呼称され得る。組織、ユーザグループ、およびアプリケーション間の不正アクセスを防止するために、アクセス制御が使用される。アクセス制御は、管理者によりユーザグループおよびアプリケーション間で割り当てられたアクセス権に基づく。
実施形態は、利用可能である場合、アウトオブバンドユーザ登録またはアプリ内ユーザ登録をサポートし得る。アウトオブバンドユーザ登録は、カスタマアプリケーションがユーザの登録を許可するとき、実行される。この場合、登録は、カスタマポータルを介して、または他のシステム(例えば人間リソースシステムなど)からの自動登録により、モバイルアプリケーションを使用せずに、実行される。対照的に、アプリ内登録では、ユーザがモバイルアプリケーションから自己登録することができる。
モバイルアプリケーション開発プラットフォームは、データ、状態、およびユーザ選好を共有することにより協働するよう設計された複数アプリケーション構成をサポートし得る。アプリケーション構成は、アプリケーションにより使用されるデータセットを含む場合があり、加えてこのデータセットは他のアプリケーション構成と共有され得る。共有可能なアプリケーション構成データセットは開発者に、複雑なアプリケーションをモジュール方式で構築するための、または複数のセグメント化されたアプリケーションを構築するための、フレキシビリティを提供する。なお、係るセグメント化されたアプリケーションは、他のセグメント化されたアプリケーションから比較的独立的に動作し得る。係るアプリケーションは、協調的アプリケーションまたは緩やかに連結されたアプリケーションと呼称され得る。
ユーザデータの観点からすると、モバイルアプリ開発プラットフォームは「ドキュメント」に対して作用する。ここで、ドキュメントは実質的にあらゆる種類の構造(例えば測定値、ドキュメント、スプレッドシート、テキスト、グラフ、画像、オーディオ、ビデオ、ストリーム媒体、その他)を有する実質的にあらゆる種類のデータであり得る。所望により、実質的にそれぞれのドキュメントは、ドキュメントの作成時または更新時に提供される1つまたは複数のラベルまたはタグにより識別され得る。ラベルおよびタグは、一意性が確保されるようシステムにより提供されてもよく、または記憶が容易となるよう命名上の便宜としてユーザにより提供されてもよい。ラベルまたはタグは、個々のドキュメントに対して、見出しを付与すること、識別すること、および発見することを容易にするために使用されてもよい。いくつかの実施形態では、ドキュメントは、ドキュメントの更新時に、そのラベルまたはタグを保持し得る。いくつかの実施形態では、ラベルおよびタグはユーザにより管理(例えば)変更、追加、除去)されてもよい。ラベルおよびタグはドキュメントが含むデータの種類(例えばMP4ビデオ)を示すため使用されてもよい。モバイルアプリケーションがデータに対して作用する方法は限定されない。例えばデータがHTML/CSS/JSコードを含む場合、モバイルアプリケーションは、当該データに対して好適なフォーマットに変換するよう構成され得る。
本開示に係るいくつかの実施形態では、モバイルユーザは、アプリケーションをアクティブ化するにあたり使用されるアクティベーションコードを取得するために、または登録されたユーザに対して利用可能である追加的な機能または利益を有するモバイルアプリケーションを使用するために、アウトオブバンド通信機構を使用して(ウェブポータルなどの2次的通信チャネル、または本人が直接的に)、カスタマサービスエンティティに登録し得る。本開示に係る他の実施形態では、コントローラアプリケーションは、システム内のユーザ登録を制御し、ユーザがモバイルアプリケーションをアクティブ化することができるようユーザにアクティベーションコードを提供し得る。この第2オプションは、第1オプションに類似するが、パブリッシングサーバに登録され前にユーザがすでに他のシステムに登録されているという点が異なる。本開示に係る他の実施形態では、アクティブ化はモバイルアプリケーション自体から実行されてもよい。それにより、モバイル装置のユーザは、最初にモバイルアプリケーションを使用することによりアウトオブバンドで(例えば電子メールまたはSMSテキストメッセージなどを介して)アクティベーションコードを要求してアクティベーションコードを受け取り、次に受け取ったコードを入力してアプリケーションをアクティブ化し、アクティブ化された機能の使用を進めることが可能となる。
様々な実施形態により解決される問題は、各モバイルプラットフォームに対して別個のソフトウェアコードを作成するという負荷を発生させることなく、オンラインおよびオフラインの両方に対して、本来的にセキュリティ保護されたモバイルアプリケーションを開発するかについてである。さらに、モバイルアプリケーションは、セキュリティ保護されたデータアプリケーションに関連するセキュリティ規格および仕様の実質的に全部に準拠して設計され、動作すべきである。モバイルアプリケーション開発プラットフォームを使用して開発される他のモバイルアプリケーションに関して、望ましい特性は、モバイルアプリケーションが、共同的であるべきこと、相互にデータの共有が可能であるべきこと、モジュール的に共有可能ならびにモバイル装置にアップロード可能であるべきこと、および動的に更新可能であること、を含む。モバイルアプリ開発プラットフォームはGUI記述言語を使用し、スクリプト言語(単数または複数)をサポートし得る。
本開示に係る実施形態は、機密情報の取り扱いおよび処理(例えば患者およびカスタマユーザに対する健康アプリケーション)の実行と、上述の望ましい特性を組み込むことと、を行うモバイルアプリケーションの開発およびサポートを可能にする。実施形態は、機密情報にアクセスする必要がある事業主体(例えば医療サービス提供者)が、機密データに関するより深い知識(例えば患者の挙動に関する改善された理解、処方または推選された医薬品に対する準拠、および患者の健康に対する薬物療法の影響など)を取得することを可能にする。本明細書で説明する実施形態は、患者などの人の関心を惹起し且つ患者が自信をもって自分のデータを入力するよう動機付けるモバイルアプリケーションの開発を可能する。健康用途のためのモバイルアプリケーションは、患者情報の漏洩または誤用がないように確実な保護を支援するために、HIPAA準拠アプリケーションとなるであろう。
モバイルアプリケーションは患者の関心を惹起すべきであるため、モバイルアプリケーションおよびそのコンテンツは、変化する患者の使用、需要、期待に応じて調節され、それにより患者の関心が惹起され続けるように、比較的高い頻度で更新および改善されるべきである。多くの場合、ユーザは、更新および改善の利益を意識すべきである。したがって健康アプリケーションの場合、ユーザの医療関係の需要の多数または全部を解決しようとする1つの簡単ではあるが統合化されたモバイルアプリケーションを提供することにより、ユーザはモバイルアプリケーションを使用することに対する関心がより大きくなるであろう。患者が自分自身の健康管理に関してより大きい関心を抱くことの結果として、患者の健康が改善され得る。
本開示に係る実施形態は、アプリケーション開発者が、少なくともモバイルアプリケーションまたはモバイルアプリ開発プラットフォームの以下の特性を有する、モバイルアプリケーションを開発することを支援するモバイルアプリ開発プラットフォームを提供し得る。
実施形態は、例えばセキュア・ソケット・レイヤ(SSL)に対して独立的である強力な転送セキュリティプロトコルを使用することにより、アプリケーション構成情報、データ、設定、その他のダウンロードをサポートし得る。セキュリティ保護された伝送機構は余分なSSL層の上でも使用され得る。
実施形態は、常時インターネット接続(WiFi、3G、4G、5G、その他)を、インターネット無接続を、または単発的インターネット接続を要求するモバイルアプリケーションの開発をサポートし得る。
実施形態はコンテナをアプリ格納領域からタウンロードする能力をサポートし得る。それにより、同一コンテナ内の複数のアプリケーション構成の実行がサポートされるであろう。
実施形態は、それぞれの異なる種類のユーザに対してサーバから複数のアプリケーション構成をダウンロードする能力をサポートし得る。
実施形態は、他のアプリケーションをインストールする必要なしに、および装置に対する異なるバージョンまたは更新されたバージョンのモバイルアプリケーションを取得する必要なしに、ユーザごとに複数のアプリケーション構成を構成する能力をサポートし得る。
実施形態は、データを共有するために、または独立的なデータセットを有するために、複数のモバイルアプリケーション構成を提供する能力をサポートし得る。データセットは、ユーザが情報を格納し得る、事前定義された論理ロケーションまたは区分であり得る。データセットは、階層的であってもよく、および/または再帰的であってもよい。データセットはアプリケーションごとに異なってもよく、またはデータセットはアプリケーション間で共有されてもよい。データセットは、データグループにグループ化されてもよい。例えば単一のユーザが、自分の論理スペースにおける異なるデータセット内に異なるドキュメントを(例えばPHIデータセット内にPHIドキュメントを、および測定値データセット内に血圧測定値ドキュメントを)有してもよい。異なるユーザは、たとえ同一データセット内に同様のドキュメントがあったとしても、異なる論理空間またはその関係構造(例えばフォルダツリー、または親/子フォルダ関係)を有し得る。
データグループはカスタマアプリケーションURLエントリーポイントを使用してカスタマアプリケーションと関連付けられる。カスタマアプリケーションは、データグループに加入し得、カスタマアプリケーションは、データグループから通知を得る必要がある。加入済みカスタマアプリケーションは、データグループに関連付けられたデータセットのドキュメントが作成、変更、または削除されたとき、通知され得る。
実施形態は、構成、ロジック、およびデータを格納するにあたり強力なセキュリティ保護されたストレージを使用するモバイルアプリケーションを開発する能力をサポートし得る。強力なストレージとは暗号化されたストレージの暗号的な強さを指す。係る強力なセキュリティ保護されたストレージは多くの場合、AESまたは他の同様な強力なセキュリティ規格を使用する。
実施形態は、クライアントおよびサーバの両方におけるユーザデータの変更およびユーザデータ相互作用を追跡する能力を有するモバイルアプリケーションを開発する能力をサポートする。
実施形態は、データ復元、セキュリティクレデンシャル復元、ユーザ間のデータ共有をサポートするために、統合化されたサーバ相互作用を提供し、同一プラットフォームにおけるユーザ情報と相互作用するために、ポータルを許可し得る。統合化されたサーバ相互作用は、カスタマアプリケーションがパブリッシングサーバと相互作用することを可能にするWSIインターフェースをパブリッシングサーバが提供するとき、存在する。WSIインターフェースは、サーバとカスタマポータルとを統合化するために、またはサーバとカスタマアプリケーション(例えば従来型アプリケーション、その他)とを統合化するために、使用され得る。ポータルは、エンドユーザが遠隔システムと相互作用することを可能にするアプリケーションプログラムとして知られる。ポータルは、ウェブアプリケーションとも呼称され得る。
実施形態は、外部サーバがユーザ変更の一部または全部に関する通知を受け取り、提供されたサービスインターフェースを介してユーザ情報の取得およびプッシュが可能となるための、統合化機構(例えば通信インターフェース)を提供し得る。係るサーバは、モバイル装置に情報を発行するために、およびモバイル装置から情報を取得するために、使用され得る。例えば外部サーバは、モバイル装置から送られた情報の受信および処理を行う。サーバは、セキュリティ保護されたウェブサービスインターフェース(WSI)を使用してパブリッシングサーバと通信し、モバイル装置において生成された情報を取得する。WSIは、SOAP規格に基づくコール、パラメータ、およびデータ構造のミドルウェアとして知られる。本開示に係る実施形態はパブリッシングサーバと通信するにあたりSOAP規格を使用する。
実施形態は、モバイル装置が紛失または盗難された旨の報告がなされた場合にモバイル装置上のセキュリティ保護された情報を自動消去することをサポートし得る。係る消去は、無線によるワイヤレスコマンドを介して、または無効パスワード入力の試行が数度なされた後に、遠隔で起動され得る。その後、ユーザは、新規装置をアクティブ化するためにアクティベーションコードを受け取り、次に、旧装置に格納されていたが現在は消去されてしまったセキュリティ保護されたコンテンツを復元するために、装置とパブリッシングサーバとを同期し得る。実施形態は、セキュリティ保護されたデータ格納領域が絶対にクローニングされない(すなわち、データ格納領域を保持する装置を最初に消去しない限り、または新規アクティベーションコードを取得しない限り、データ格納領域は複製されない)ように、セキュリティ機能を使用する。
実施形態は、秘密情報を保護するために、完全な法的遵守および規制的遵守(例えばHIPAA、Defense Information Assurance Certification & Accreditation Process(DIACAP)、および将来使用され得る他の遵守様式)を提供し得る。
実施形態はマルチテナントおよび複数ユーザグループをサポートし得る。
実施形態は、本開示に係る実施形態により開発されたアプリケーションにユーザグループのメンバーがアクセス権を付与することをサポートし得る。
実施形態は、本開示にしたがって、他のユーザに属するデータの読み出し、更新、削除、または共有を行うために他のユーザに属するデータにユーザがアクセス権を付与することをサポートし得る。
実施形態は、外部サーバ(例えばカスタマアプリケーション)とモバイル装置との間のセキュリティ保護された通信経路を提供し得る。カスタマアプリケーションおよびモバイルアプリケーション構成の開発者は、特定の実装に関して精通する必要がない。
実施形態は、カスタマアプリケーションに関連付けられたデータがプラットフォームデータベース内で変更されたとき、カスタマアプリケーションを更新するために、異なる方式(インタラクティブ方式およびポーリング方式の両方)をサポートし得る。
実施形態は、より新しいモバイル装置の機能を使用するネイティブアプリケーションおよびハイブリッドアプリケーションがサポートされるよう、アプリケーションプログラミングインタフェース(API)を拡張する能力を提供し得る。
実施形態は、ユーザデータに対してドキュメント抽象化を使用することをサポートし、将来の検索性能を改善するために、ユーザがドキュメントメタ情報にタグを追加する能力を提供し得る。ドキュメント抽象化は、システムにより伝送される情報から実施形態が独立することを支援する。ドキュメントは、検索可能タグ、情報種類、その他を示し得るメタ情報フィールドを有する実質的にあらゆる種類のコンテンツであり得る。この情報は、主にカスタマアプリケーションサーバおよび対応するアプリケーション構成に対して、重要な意味を有するものである。
実施形態は、カスタマアプリケーションがプラットフォームデータベースを使用する能力を、および/またはカスタマアプリケーションがそれ自体のデータベースを有する能力を、提供し得る。
実施形態は、他の通信プロトコル(例えばBluetooth(登録商標))をサポートし、他の外部装置(例えばバイオメトリック装置)をサポートし得る。
実施形態は、実質的に任意の時間にカスタマアプリケーションからユーザプロファイル管理要求を受け取るよう構成されたパブリッシングサーバを含み得る。ユーザプロファイルの作成後、パブリッシングサーバはユーザプロファイルを登録し、認証サーバからアクティベーションコードを取得し得る。認証サーバは例えば、図1の検証サーバ36として図示され得る。アクティベーションコードはカスタマアプリケーションに提供され得る。
実施形態は、実質的に常時、モバイル装置からユーザ登録要求を受け取るよう構成されたパブリッシングサーバを含み得る。ユーザ登録要求を受け取った後、パブリッシングサーバは認証サーバから認証コードを要求し、モバイル装置に認証コードを提供し得る。認証コードを受け取った後、モバイル装置はアクティベーションプロセスを進め得る。
実施形態は、セキュリティ保護されたストレージに対する暗号鍵を導出するにあたり、モバイル装置にパスワードまたは暗号鍵を格納することなく、ユーザパスワード、受け取られたセキュリティクレデンシャル、および内部モバイル情報を使用するよう構成されたモバイル装置を含み得る。
実施形態は、対応するデータが変更された(例えば作成、更新、または削除)ときに、通知を待ち行列に入れること、およびカスタマアプリケーションに供給することを行うよう構成されたパブリッシングサーバを含み得る。
実施形態は、カスタマアプリケーションからの情報を取得または発信するためのSecured Web Service Interfaceコールを受け取るとアプリケーションの監視対象に割り当てられた情報のみがアプリケーションによりアクセス可能となるよう構成された、パブリッシングサーバを含み得る。アプリケーションは、変化に対してポーリングしてもよく、またはパブリッシャの通知に反応してもよい。
実施形態は、バイオメトリックリーダ(例えば指紋リーダ、虹彩スキャナ、その他)を含むモバイル装置を含む場合がある。モバイル装置は、Wi−Fi、Bluetooth(登録商標)、ZigBee、Near Field Communication(NFC)、その他などの近距離無線インターフェースをさらに含む場合がある。
実施形態は、開発者に検査機能およびログ記録機能を提供するモジュールを含むモバイルアプリケーションを含む場合がある。実質的に全システム動作は検査目的のためにログ記録される場合がある。
実施形態は、ユーザデータに加えられた変更に関するセキュリティ保護された履歴を保持するよう構成されたパブリッシングサーバを含む場合がある。
実施形態は、それぞれに対して独立的な複数のモバイル装置をサポートする情報を発行するよう構成されたパブリッシングサーバを含む場合がある。
実施形態は、機能不全モジュールまたは例外的エラー(例えばプロセッサ障害またはオペレーティングシステム障害を生じさせるエラーであって、データ伝送エラーは含まない)を自己監視または検出するよう構成されたパブリッシングサーバを含む場合がある。パブリッシングサーバは、機能不全モジュールまたは例外的エラーを管理者に通知し得る。
実施形態は、レイジーダウンロード技法およびセキュリティ保護ダウンロード機構を使用してドキュメント添付を管理するよう構成されたパブリッシングサーバを含む場合がある。レイジーダウンロード技法は、受取ユーザが添付されたドキュメントにアクセスする必要がある場合のみに当該ドキュメントがダウンロードされる技法として知られ得る。
実施形態は、ストリーミングマルチメディアおよび大規模データを管理するよう構成されたパブリッシングサーバを含み得む場合がある。
実施形態は、カスタマモジュールと通信するために制御の反転(IOC)を可能にする他のセットのインターフェースを提供するよう構成されたパブリッシングサーバを含む場合がある。カスタマモジュールは、パブリッシングサーバの一部とみなされ得るが、動作するにあたりパブリッシングサーバのAPIおよびリソースを使用するカスタマロジックを含んでもよい。パブリッシングサーバは、必要時に(例えばユーザからの情報がシステムに到着したことをカスタマモジュールに知らせるために)カスタマモジュールを使用し得る。
実施形態は、ユーザ管理および認証機構(例えば、ライト・ウエイト・ディレクトリ・アクセス・プロトコル(LDAP)、Windows(登録商標)アクティブディレクトリ、その他)との統合化を提供するよう構成されたパブリッシングサーバを含む場合がある。LDAPは、インターネットプロトコル(IP)ネットワーク上における分散ディレクトリ情報サービスにアクセスおよび維持するためのオープンなベンダー中立の業界標準のアプリケーションプロトコルである。
図3は本開示の1つの実施形態に係るシステム300の全体図を図示する。システム300は2つの主要な装置アプリケーション310および計算装置307を含む。計算装置307が相互作用する構成要素および装置アプリケーション307の構成要素自体がカスタマサーバアプリケーションの例である。このカスタマサブシステムにおいて、装置アプリケーション307は、インターネットブラウザ302にインターフェース304を提供する。なおインターフェース304は、計算装置307上にまたは計算装置307内に存在するカスタマアプリケーション306にユーザがアクセスすることを可能にするために、カスタマにより使用される。計算装置307はメモリに連結されたプロセッサを含み、このメモリは命令を格納するよう構成され、なおこの命令は、プロセッサにより実行されたとき、カスタマアプリケーション306の機能を提供する。カスタマアプリケーション306および/または計算装置307は、サーバコンピュータを含むか、またはサーバコンピュータによりホストされ得る。カスタマアプリケーション306は、1つまたは複数の個々のアプリケーション(例えばエンドユーザウェブポータル、ケース管理ポータル、その他)を表し得る。いくつかの実施形態では計算装置307はコンピューティングプラットフォームも提供する場合があり、そのコンピューティングプラットフォーム上でインターネットブラウザ302が実行される。いくつかの実施形態では、計算装置307またはカスタマアプリケーション306の構成を構成または制御するために、管理者インターフェース308が計算装置307または306に提供され得る。
システム300は装置アプリケーション310をさらに含む。装置アプリケーションはサイト314とカスタマサブシステム307、306との間に通信インターフェース318を含む。通信インターフェース318はLANまたはインターネットなどのWANに対するイーサネット(登録商標)インターフェースを含み得る。ネットワーキング層において通信インターフェース318は、標準的SOAPセキュリティ機能を使用するSimple Object Access Protocol(SOAP)などのセキュリティ保護された通信インターフェースを使用し得る。なお係る通信インターフェースでは、プロトコルのセキュリティはSSLに依存しない。SOAPは、集中化されていない分散型環境で情報を交換するための軽量プロトコル(すなわち計算的に強力でない)として当業者に周知である。SOAPは3つの部分を含むXMLベースのプロトコルであり、これらの3つの部分とは、メッセージの内容および内容の処理方法について記述するフレームワークを定義するエンベロープと、アプリケーションにより定義されるデータタイプの例を表現するための1セットの符号化規則と、遠隔手続き呼び出しおよび応答を表現するための規約と、である。SOAPは、多様な他のプロトコルと組み合わせての使用が可能であり、HTTPおよびHTTP拡張との組み合わせでSOAPの使用方法について記述するバインディングが当業者により周知である。
サーバ314は、通信インターフェース318と通信的にインターフェース接続し、様々なサーバアプリケーションに対するサーバ(例えばパブリッシングマネージャサーバ、認証サーバ、プロビジョニングサーバなど)として動作するよう構成される。サーバ314は装置アプリケーション310に対する通信インターフェース312をサポートし得る。装置アプリケーション310は、1つまたは複数のアプリケーション構成を有するクライアント部分(またはコンテナ)をサポートまたは実行し、そのクライアント部分は計算装置307上で実行され得る。装置アプリケーション310は、保護情報のセキュリティ保護された(すなわち暗号化された)ストレージを提供すること、および通信インターフェース312を介してセキュリティ保護された通信を提供することを実行するよう構成され得る。いくつかの実施形態では装置アプリケーション310はサーバ314内に提供され得る。サーバ314は管理者316に対するインターフェース(例えばウェブインターフェース)をさらに含み得る。管理者316は、サーバ314および/または装置アプリケーション310を構成または制御するために使用され得る。サーバ314は、当該技術分野で周知のクラウドベースの健康関連サービス320(例えばMicrosoft Health Vault(登録商標)、Google Health(登録商標)、その他など)に対する通信インターフェースを、およびメッセージ送信、ファックス、その他などのための他のサービス(例えばClickatel(登録商標)およびEsker(登録商標)など)に対する通信インターフェースを、さらに含み得る。
図4は、特にパブリッシングサーバ406および認証サーバ410と通信するモバイルアプリケーション414のユーザに対してサーバ314により使用される内部アーキテクチャおよび露出されたインターフェースの実施形態400を比較的詳細に図示する。いくつかの実施形態では単一のサーバが、パブリッシングサーバ406および認証サーバ410を実装するために使用される場合がある。
モバイルアプリケーション414および/または計算装置310は、セキュリティ保護された格納領域416に通信的に連結され得る。セキュリティ保護された格納領域416は計算装置310によりホストされてもよい。計算装置310は、ローカルウェブ構成およびビジネスロジックを管理するために使用される内部のセキュリティ保護されたウェブサーバおよびブラウザを含み得る。
パブリッシングサーバ406は通信インターフェース408を介して認証サーバ410に通信的に連結され得る。通信インターフェース408は電子メールサービスおよび、パブリッシングサーバ406と認証サーバ410との間の検証サービスをサポートするようさらに構成され得る。
さらにパブリッシングサーバ406は通信インターフェース404を介してパブリッシャデータベース402に通信的に連結され得る。通信インターフェース404はJava(登録商標) Database Connectivity(JDBC)プロトコルをサポートするようさらに構成され得る。JDBCは、Java(登録商標)プログラミング言語と、広範囲なデータベース、SQLデータベースおよび他の表形式のデータソース(例えばスプレッドシートまたはフラットファイルなど)との間の、データベースに依存しない接続のための標準的プロトコルとして当該技術分野で周知である。JDBC・APIは、SQLベースのデータベースアクセスに対してセルレベルのAPIを提供する。他の通信プロトコルも通信インターフェース404に対して使用され得る。
さらにパブリッシングサーバ406は通信インターフェース424を介してカスタマアプリケーション426に通信的に連結され得る。通信インターフェース424はweb services interface(WSI)プロトコルをサポートするようさらに構成され得る。WSIは、ソースコードに変更を加えることなく、開発者が無数のタスクを大量に、または遠隔システムから実行することを可能にする、APIに類似した機能を有するXMLベースのツールとして当該技術分野で周知である。他のプロトコル(例えばJDBC、REST、その他)も通信インターフェース424に対して使用され得、実施形態はこの点で限定されない。
認証サーバ410は通信インターフェース420を介してプロビジョニングデータベース422に通信的に連結され得る。通信インターフェース424はJDBCをサポートするようさらに構成され得る。他のプロトコルも通信インターフェース420に対して使用され得、実施形態はこの点で限定されない。プロビジョニングデータベース422はプロファイル、設定、および実施形態400に関連する他の情報を格納するために使用され得、必要に応じて装置自動検出を使用してモバイルアプリケーションを格納および配布するためにも使用され得る。
動作中、モバイルアプリケーション414および/または計算装置310は、それぞれ通信インターフェース412および通信インターフェース418を介する無線機構(例えばワイヤレス通信チャネル)を使用し、暗号的に強力な認証・暗号化方法を使用することにより、パブリッシングサーバ406からウェブ構成およびロジックを、認証サーバ410からセキュリティクレデンシャルを、受け取り得る。
計算装置310は、セキュリティ保護されたストレージ416にウェブ構成およびロジックを格納するよう構成され得る。計算装置307内のセキュリティ保護されたウェブサーバは、必要な場合に点検および変更のためにウェブ構成およびロジックをユーザまたは他のコントローラに提供するために、ローカルなセキュリティ保護されたブラウザから要求されたページをサービスする。セキュリティ保護されたブラウザが動作する間は、外部サーバとの通信はまったく不必要であり、それにより計算装置307内のアプリケーションはオフラインで動作することが可能となり、情報をセキュリティ保護されたストレージ416内でセキュリティ保護された状態で保持されることが可能となる。内部ウェブサーバによりサービスされる構成およびロジックは、データ構造、提示機構、およびロジックを記述するにあたり、実質的にあらゆる種類の言語を使用し得る。例えば、構成およびロジックは、それぞれJava(登録商標)Script Object Notation(JSON)、HTMLおよびJava(登録商標)Scriptにより表現され得る。実施形態はこの点で限定されず、他の実施形態は他の計算言語またはプロトコルを使用し得る。セキュリティ保護されたストレージ416内に格納されるデータ、構成、およびロジックは、アプリケーション414の起動時に、またはユーザ要求により、または周期的スケジュールで、パブリッシングサーバ406と同期し、パブリッシングサーバ406から更新され得る。パブリッシングサーバ406は、ユーザのデータにアクセスする許可を有するユーザに対してカスタマアプリケーション426を介してユーザからの要求を受け取る能力を含み得る。ユーザは、パブリッシングサーバのセキュリティ保護されたデータベース402に格納された情報の発信または読み出しを行い得る。ユーザは、所定のセキュリティ規則にしたがってセキュリティ保護されたデータベース402内の情報を共有し得る。
ユーザは、計算装置307などのモバイル装置から、または従来のインターネットブラウザから、情報にアクセスし得る。パブリッシングサーバ406に対して利用可能である管理ツールは、発行されたデータに対するデータセキュリティの管理を、および発行されたデータにアクセスするためのユーザおよび装置の能力を管理することを、可能にする。クライアントとサーバとの間の通信は暗号化(例えばAES)により本質的にセキュリティ保護され、SSLのみに依存しない。モバイルアプリケーション414は、旧モバイル装置の紛失または盗難の際には、新規装置において以前の動作状態に復元されることが可能である。旧モバイル装置は自動的に無効化され得、セキュリティ保護されたストレージ416内の全データは自動的に削除され得る。
図5は、本開示の1つの実施形態に係るアプリケーションを発行するプロセス500を示す図である。プロセス500は、時間が図5の上部から底部に進行する状態で、開発者502と、カスタマアプリケーション504と、パブリッシャ506(例えばパブリッシングサーバ406)と、の間のメッセージのシーケンス図として示される。個々のメッセージは、それぞれのメッセージの起点の付近に位置する参照番号により参照される。モバイルアプリケーション414およびサーバアプリケーション(例えばカスタマアプリケーション)は直接的には通信しない。代わってパブリッシャ506がストレージを有するミドルウェアとして動作する。
プロセス500はステップ516から始まり、ステップ516において開発者502はアプリケーションを作成または変更する。この間、カスタマアプリケーションは通常、一般に、他によりアクセスまたは使用されない。ステップ516は無限は反復し得る。開発者がカスタマアプリケーションの作成または変更を終了し、アプリケーションの発行が十分に可能となったとき、ステップ516は完了する。
次に、プロセス500の制御はステップ518に移行し、ステップ518において開発者502は、パブリッシャ506(例えばパブリッシングサーバ406)により、展開されるかまたは別様に一般的に利用可能となるために、カスタマアプリケーションを構成し得る。
次に、プロセス500の制御はステップ520に移行し、ステップ520において開発者502は、カスタマアプリケーションがアクセスまたは変更するための許可を有するデータグループまたはメンバーになる許可を有するデータグループを識別するために、カスタマアプリケーションを構成し得る。
次に、プロセス500の制御はステップ522に移行し、ステップ522において開発者502は、カスタマアプリケーションがアクセスまたは変更する許可を有するデータセットを識別するために、カスタマアプリケーションを構成し得る。
次に、プロセス500の制御はステップ524に移行し、ステップ524において開発者502は、カスタマアプリケーションをパブリッシャ506に登録することが可能となるために、カスタマアプリケーションを構成し得る。
次に、プロセス500の制御はステップ526に移行し、ステップ526において開発者502は、モバイルアプリケーション構成を作成、変更、または保存し得る。構成はアプリケーションに関連付けられたデータセットおよびデータグループを含み得る。ステップ526は、構成の十分な変更が必要となるまで反復され得る。開発者が構成の作成、変更、または保存を終了し、アプリケーション構成の発行が十分に可能となったとき、ステップ526は完了する。
次に、プロセス500の制御はステップ528に移行し、ステップ528において開発者502は、アプリケーション構成が発行され、モバイルコンテナがアプリケーション構成を使用することが可能となるよう、パブリッシャ506と通信する。
図6は本開示の1つの実施形態に係る、ユーザをアプリケーションに登録するプロセス600を示す図である。プロセス600は、全般的に、モバイルユーザ514が申し立てられたクレデンシャル(例えばワンタイムパスワード(OTP))を提供することと、オーセンティケータ508が申し立てられたクレデンシャルを認証することと、申し立てられたクレデンシャルが信憑性を有する旨の証明書(例えば電子証明書、アクティベーションコード、その他)をオーセンティケータ508が提供すること、を行い、それにより、アクセス、特権、その他がモバイルユーザ514に許可されるようになる、暗号的に強力な認証方法を提供する。プロセス600は、時間が図6の上部から底部に進行する状態で、カスタマアプリケーション504と、パブリッシャ506と、オーセンティケータ508(例えば認証サーバ410)と、モバイル装置510(例えば計算装置307)と、モバイルユーザ514と、の間のメッセージのシーケンス図として示される。個々のメッセージは、それぞれのメッセージの起点の付近に位置する参照番号により参照される。
プロセス600はステップ602から始まり、ステップ602において登録要求(または同等物)がモバイルユーザ514からカスタマアプリケーション504に送られる。登録要求メッセージは、要求を発するモバイルユーザ514を識別するクレデンシャルを含む。
次に、プロセス600の制御はステップ604に移行し、ステップ604においてCreate User and Post Data()メッセージ(または同等物)がカスタマアプリケーション504からパブリッシャ506に送られる。
次に、プロセス600の制御はステップ606に移行し、ステップ606においてパブリッシャ506はユーザ登録要求メッセージをオーセンティケータ508に送り得る。ユーザ登録要求メッセージは、要求を発するモバイルユーザ514を識別するクレデンシャルを含む。ステップ606は、モバイルユーザ514により提供されたクレデンシャルを認証すること、およびセキュリティ保護されたクレデンシャルを作成すること、を実行するようオーセンティケータ508に要求するにあたり有用である。
次に、プロセス600の制御はステップ608に移行し、ステップ608においてオーセンティケータ508はパブリッシャ506により提供されたクレデンシャルを認証し得る。クレデンシャルが認証された場合、オーセンティケータ508はセキュリティ保護されたクレデンシャルを作成し、アクティベーションコードを作成し得る。アクティベーションコードは、カスタマアプリケーションの使用を開始するにあたりモバイルユーザ514により使用されるためのものである。
次に、プロセス600の制御はステップ610に移行し、ステップ610においてアクティベーションコードメッセージ(または同等物)がオーセンティケータ508からパブリッシャ506に戻される。
次にプロセス600の制御はステップ612に移行し、ステップ612において、パブリッシャ506がアクティベーションコードを受け取った後、パブリッシャ506はユーザを内部的に作成またはアクティブ化し、戻し得る。
次に、プロセス600の制御はステップ614に移行し、ステップ614においてアクティベーションコードメッセージがパブリッシャ506からカスタマアプリケーション504に送られ得る。ステップ614は、モバイルユーザ514が今、カスタマアプリケーション504を使用する権限が与えられたことを、またはカスタマアプリケーション504により制御されるデータにアクセスする権限が与えられたことを、カスタマアプリケーション504に通知するにあたり有用である。
次に、プロセス600の制御はステップ616に移行し、ステップ616において、カスタマアプリケーション504はモバイルユーザ514にアクティベーションコードを提供し得る。それにより、カスタマアプリケーション504を使用する権限がモバイルユーザ514に与えられたこと、またはカスタマアプリケーション504により制御されるデータにアクセスする権限がモバイルユーザ514に与えられたこと、をモバイルユーザ514は認識することとなる。
図7は、モバイルユーザ514がモバイル装置510上でもはや利用可能でないアプリケーションをアプリ格納領域512内で探すためのプロセス700を図示する。プロセス700は、時間が図7の上部から底部に進行する状態で、モバイル装置510(例えば計算装置307)とモバイルユーザ514と、の間のメッセージのシーケンス図として示される。個々のメッセージは、それぞれのメッセージの起点の付近に位置する参照番号により参照される。プロセス700では、所望のアプリがモバイル装置510上ですでに利用可能でないものとして想定される。
プロセス700はステップ702で始まり、ステップ702においてモバイルユーザ514は、アプリ格納領域512内で所望のコンテナを探すために、モバイル装置510を制御する。モバイル装置510は通信的にアプリ格納領域512に連結される。制御は例えば、モバイルユーザ514がモバイル装置510を直接的に操作することにより、またはモバイルユーザ514がSearch Container in App Store()コマンド(または同等物)をモバイル装置510に送ることにより、行われ得る。
次にプロセス700の制御はステップ704に移行し、ステップ704においてモバイル装置510は、要求したアプリをアプリ格納領域512内で見つけた後、要求したアプリをアプリ格納領域512からダウンロードする。
次にプロセス700の制御はステップ706に移行し、ステップ706においてモバイル装置510は、ステップ704の間にダウンロードされた要求されたアプリをインストールする。
図8は、本開示の1つの実施形態に係る、使用する権限がモバイルユーザ514に与えられたモバイル装置510上のアプリケーションをモバイルユーザ514が起動および使用するためのプロセス800を示す図である。プロセス800は、時間が図8の上部から底部に進行する状態で、カスタマアプリケーション504と、パブリッシャ506と、オーセンティケータ508(例えば認証サーバ410)と、モバイル装置510(例えば計算装置307)と、モバイルユーザ514と、の間のメッセージのシーケンス図として示される。個々のメッセージは、それぞれのメッセージの起点の付近に位置する参照番号により参照される。
プロセス800はステップ802で始まり、ステップ802においてモバイルユーザ514は、モバイル装置510上で利用可能なアプリケーションの使用を希望する旨を示唆するために、モバイル装置510を制御する。この示唆は例えば、モバイルユーザ514がモバイル装置510を直接的に操作することにより、またはモバイルユーザ514がStart Containerコマンド(または同等物)をモバイル装置510に送ることにより、行われ得る。
次にプロセス800の制御はステップ804に移行し、ステップ804においてモバイル装置510は、モバイルユーザがアプリケーションプログラムを使用することが可能となるよう、モバイルユーザ514とアクティベーションコード(または同等物)を共有することにより、ステップ802における要求に応答する。
次にプロセス800の制御はステップ806に移行し、ステップ806においてモバイルユーザ514は、アクティベーションコード(または同等物)をモバイル装置510に入力することにより、ステップ804のメッセージに応答し得る。このアクティベーションコードは、アプリケーションをアクティブ化するために使用される申し立てられたアクティベーションコードを含む。
次に、プロセス800の制御はステップ808に移行し、ステップ808においてモバイル装置510は、モバイルユーザ514により供給された申し立てられたアクティベーションコードを認証するために、Get−Secure−Credentials(Activate Code)コマンド(または同等物)をオーセンティケータ508に送る。
次に、プロセス800の制御はステップ810に移行し、ステップ810においてオーセンティケータ508は、モバイルユーザ514により供給された申し立てられたアクティベーションコードの認証を試みる。
次にプロセス800の制御はステップ812に移行し、ステップ812においてオーセンティケータ508は、モバイルユーザ514により供給された申し立てられたアクティベーションコードがステップ810において信憑性があると認証された場合、Secure−Credential応答(または同等物)をモバイル装置510に送り得る。
次にプロセス800の制御はステップ814に移行し、ステップ814においてモバイル装置510は、認証されたクレデンシャルと、クレデンシャルが信憑性を有する旨のステップ812におけるオーセンティケータ508からの示唆と、に基づいて、そのセキュリティ保護されたストレージを起動し得る。
次に、プロセス800の制御はステップ816に移行し、ステップ816においてモバイル装置510は、アプリケーションにより使用されるデータまたはコードをモバイル装置510とパブリッシャ506との間で同期するために、同期要求(または同等物)をパブリッシャ506に送り得る。
次に、プロセス800の制御はステップ818に移行し、ステップ818において、アプリケーションにより使用されるデータまたはコードがメッセージ816の結果として変更された場合、パブリッシャ506は通知メッセージをカスタマアプリケーション504に送り得る。
次に、プロセス800の制御はステップ820に移行し、ステップ820において、モバイル装置510がアプリケーションの現行バージョンと、アプリケーションに関連付けられた(またはアプリケーションにより使用される)現行データとを有することを確認するために、パブリッシャ506はApplication Configuration and Data()メッセージ(または同等物)をモバイル装置510に送り得る。
次に、プロセス800の制御はステップ822に移行し、ステップ822においてモバイル装置510は、ステップ820で説明したApplication Configuration and Data()メッセージ(または同等物)を介してパブリッシャ506から受け取られたアプリケーション構成及びデータ情報をモバイル装置510のセキュリティ保護されたストレージ内に格納し得る。
次にプロセス800の制御はステップ824に移行し、ステップ824においてモバイル装置510は、ステップ820で受け取られたデータを使用してステップ820で受け取られたアプリケーションを実行し得る。
図9は、本開示の1つの実施形態に係る、使用する権限がモバイルユーザ514に与えられた、モバイル装置510上の設定アプリケーションおよびデータを同期および更新するためのプロセス900を図示する。プロセス900は、時間が図9の上部から底部に進行する状態で、カスタマアプリケーション504と、パブリッシャ506と、モバイル装置510(例えば計算装置307)と、モバイルユーザ514と、の間のメッセージのシーケンス図として示される。個々のメッセージは、それぞれのメッセージの起点の付近に位置する参照番号により参照される。
プロセス900はステップ902から始まり、ステップ902において、カスタマアプリケーション504は、カスタマアプリケーション504がカスタマアプリケーション504に関するコードまたはデータの更新を受け取ることを要求するために、Retrieve Updates()メッセージ(または同等物)により要求をパブリッシャ506に送る。
次にプロセス900の制御はステップ904に移行し、ステップ904において、カスタマアプリケーション504に関連するコードまたばデータの更新を伝送するために、更新が利用可能であるならば、パブリッシャ506はUser−Updated−Data()応答メッセージ(または同等物)をカスタマアプリケーション504に送り得る。更新が利用可能でないならば、代わってパブリッシャ506は、更新が利用可能でないことをカスタマアプリケーション504に示唆し、その場合、プロセス900は終了し得る。
次にプロセス900の制御はステップ906に移行し、ステップ906においてカスタマアプリケーション504は、メッセージ904により伝送された更新を受け取った後、例えばステップ904においてカスタマアプリケーション504により受け取られたメッセージにより提供されたコードまたはデータを更新することにより、更新を処理し得る。
次にプロセス900の制御はステップ908に移行し、ステップ908において、カスタマアプリケーション504は、ステップ906の間に更新を処理した後、ステップ906の一部としてカスタマアプリケーション504により実行されたプロセスの結果を伝送または発行するために、Post Data()メッセージ(または同等物)をパブリッシャ506に送り得る。
次にプロセス900の制御は省略可能なステップ910に移行し、ステップ910においてモバイルユーザ514は、モバイル装置510がモバイル装置510自体をパブリッシャ506から利用可能な現行コピーまたは現行バージョンのコードもしくはデータに同期させることを要求するために、Request Synchronization()メッセージ(または同等物)をモバイル装置510に送り得る。
次にプロセス900の制御はステップ912に移行し、ステップ912においてモバイル装置510は、ステップ910で受け取られたRequest Synchronization()メッセージ(または同等物)の処理を開始し得る。
次にプロセス900の制御はステップ914に移行し、ステップ914においてモバイル装置510は、パブリッシャ506がパブリッシャ506から利用可能な現行コピーまたは現行バージョンのコードもしくはデータをモバイル装置510に送ることを、またはモバイル装置のセキュリティ保護された格納領域で利用可能な更新済み情報をモバイル装置510からパブリッシャ506に送ることを要求するために、Synchronize()メッセージ(または同等物)をパブリッシャ506に送り得る。この情報は、現行コピー自体を含む場合もあり、またはモバイル装置510が同期された最終時点からの更新または差異のみを含む場合もある。
次にプロセス900の制御は省略可能なステップ916に移行し、ステップ916において、パブリッシャ506から利用可能なコードまたはデータが装置との同期プロセスの結果として変更された場合、パブリッシャ506は、更新済みコードまたはデータについてカスタマアプリケーション504に通知するために、カスタマアプリケーション504にNotification()メッセージ(または同等物)を送り得る。
次にプロセス900の制御は省略可能なステップ918に移行し、ステップ918においてパブリッシャ506は、発行されたコードまたはデータに対する更新についてモバイル装置510に通知するために、またはモバイル装置510が更新された最終時点からコードおよびデータに対する更新が存在しなかったことをモバイル装置510に通知するために、Update Application Configuration (if identified as changed) and Data()メッセージ(または同等物)をモバイル装置510に送り得る。
次にプロセス900の制御はステップ920に移行し、ステップ920においてモバイル装置510は、ステップ918においてパブリッシャ506から受け取られた更新済みのアプリケーション構成およびデータを処理および格納し得る。
次にプロセス900の制御はステップ922に移行し、ステップ922においてモバイル装置510は、ステップ918においてパブリッシャ506から受け取られ、ステップ920においてモバイル装置510により格納された、更新済みアプリケーション構成を、必要に応じて更新済みデータを使用して、使用し得る。
本発明の実施形態は、1つまたは複数のメモリに連結された1つまたは複数の処理ユニットを有するシステムを含む。1つまたは複数のメモリは、1つまたは複数の処理ユニットにより実行されたとき少なくとも図3〜図4および関連するテキストを含む本明細書で説明される実施形態の実行を可能にするソフトウェアを格納するよう構成され得る。
開示される方法は、例えば、様々なコンピュータまたはワークステーションプラットフォームでの使用が可能なポータブルなソースコードを提供するオブジェクトまたはオブジェクト指向ソフトウェア開発環境を使用することなどにより、ソフトウェアにおいて容易に実装され得る。代替的に、開示されるシステムは、例えば標準的なロジック回路またはVLSI設計を使用することにより、ハードウェアにおいて部分的にまたは完全に実装され得る。ソフトウェアまたはハードウェアが本発明の様々な実施形態に係るシステムを実装するために使用されるかどうかは、様々な考慮(例えばシステムの速度または効率の要件、特定的な機能、および利用される特定的なソフトウェアまたはハードウェアのシステムなど)に基づき得る。
前述の内容は、本発明の実施形態を対象とするものであり、本発明の他の実施形態およびさらなる実施形態が、本発明の趣旨から逸脱することなく導き出され得る。本明細書で説明された様々な実施形態が、本明細書に含まれる趣旨から逸脱することなく、本明細書で説明される他の任意の実施形態との組み合わせで利用され得ることは理解されるであろう。さらに前述の説明は、網羅的であることを意図するものではなく、または発明を、開示された正確な形に限定することを意図するものでもない。様々な修正例および変化例が以上の教示に照らして可能であり、本発明の実施から得られる。特定の代表的な実施形態は、一覧項目がこれらの実施形態を代表すること、および一覧が、さらなる実施形態を除外する排他的な一覧を代表するものないことを意図することを示す表現を含む非限定的な一覧の使用により指定され得る。係る表現は、「例えば」、「など」、「例えば〜など」、「例として」、「その他」、「等」など、および周囲の脈絡から明らかとなる他の表現を含み得る。
本願の説明において使用される要素、動作、または命令のいずれもが、明確な記述なき限り、本発明に対して不可欠または本質的であると解釈してはならない。また本明細書で用いられる不定冠詞「a」は、1つまたは複数の項目を含むことを意図するものである。ただ1つの項目が意図される場合、「単一の」または同様の言語が用いられる。さらに、本明細書で使用される、複数の項目の一覧に先行する、および/または複数のカテゴリーの項目の後に位置する「のうちの任意」という用語は、項目および/またはカテゴリーの項目の「〜のうちの任意」、「〜のうちの任意の組み合わせ」、「〜のうちの任意の複数」、および/または「〜のうちの複数の任意の組み合わせ」を、個別的に、または他の項目および/またはカテゴリーの項目と組み合わせて、含むことを意図するものである。
さらに、請求項は、特記なき限り、説明される順序または要素に限定されるべきものと読んではならない。加えて任意の請求項における「手段」という用語の使用は、合衆国法典第35巻第112条第6段落を呼び出すことを意図するものであり、「手段」という語を使用しないいかなる請求項も、係る意図は有さない。

Claims (17)

  1. 保護データに対するアクセスを通信端末に提供するシステムであって、前記システムは、
    パブリッシャデータベースに連結された第1サーバであって、前記第1サーバはメモリに連結されたプロセッサを備え、前記パブリッシャデータベースは前記保護データを暗号化された形態で格納するよう構成される、第1サーバと、
    前記第1サーバに連結された第2サーバであって、前記第2サーバはメモリに連結されたプロセッサを備え、前記第2サーバは、セキュア・ソケット・レイヤ(SSL)とは独立して、アクセスの暗号的な認証を前記保護データに提供するよう構成される、第2サーバと、
    前記第1サーバと前記通信端末との間にある、第1セキュリティ保護チャネルに対する送受信器を備える第1インターフェースと、
    前記第1サーバと、カスタマアプリケーションとの間にある、第2セキュリティ保護チャネルに対する送受信器を備える第2インターフェースと、
    を備え、
    前記第1サーバは、前記第1セキュリティ保護チャネルを介して前記通信端末のアプリケーションコンテナと前記保護データを交換し、前記第2セキュリティ保護チャネルを介して前記カスタマアプリケーションと前記保護データを交換するよう構成され、
    前記第1サーバは、前記カスタマアプリケーションがオフラインであるときに、通知を待ち行列に入れるために待ち行列を備え、前記通知は前記保護データ内の変更に対応し、前記第1サーバは、前記カスタマアプリケーションがオンラインに戻るときに、前記通知を前記待ち行列から前記カスタマアプリケーションに供給するようさらに構成され、
    前記アプリケーションコンテナは、クライアントによりホストされるモバイルアプリケーションを備え、前記モバイルアプリケーションは、前記保護データのエンドツーエンド・セキュリティを提供する複数のアプリケーション構成をホストおよびサポートするよう構成される、システム。
  2. 前記第1サーバは、データグループ、データセット、および前記カスタマアプリケーションのユニフォーム・リソース・ロケータ(URL)のうちの少なくとも1つの構成を受け取るよう構成され、前記第1サーバは、前記データグループからのデータが変更されるときに、前記カスタマアプリケーションに通知を提供するようさらに構成される、請求項1に記載のシステム。
  3. 前記第1サーバは、前記カスタマアプリケーションから更新済みアプリケーション構成を受け取るよう構成され、前記通信端末から同期要求を受け取る際に前記更新済みアプリケーション構成を前記通信端末に発信するようにさらに構成される、請求項1に記載のシステム。
  4. 前記通信端末は、パスワードまたは暗号鍵を前記通信端末内での格納を伴わずに、ユーザパスワードおよび受け取られたセキュリティクレデンシャルを使用してセキュリティ保護ストレージに対する暗号鍵を導出するよう構成される、請求項1に記載のシステム。
  5. 前記通信端末は、前記第1サーバおよび前記第2サーバのうちの少なくとも1つからアプリケーション構成およびロジックを受け取る、請求項1に記載のシステム。
  6. 前記通信端末は、暗号化されたワイヤレスチャネルを介してアプリケーション構成およびロジックを受け取る、請求項1に記載のシステム。
  7. 前記カスタマアプリケーションは、前記パブリッシャデータベース内で変更された情報を発見するために前記第1サーバと双方向に通信するよう構成されたアプリケーションを備える、請求項1に記載のシステム。
  8. 前記プロセッサはモバイルプロセッサであり、前記モバイルプロセッサは、第1モバイルアプリケーションおよび第2モバイルアプリケーションを提供するようさらに構成され、前記第2モバイルアプリケーションは、暗号化モジュールおよびデータを前記第1モバイルアプリケーションと共有するよう構成される、請求項1に記載のシステム。
  9. 前記通信端末は、それぞれの種類のユーザに対して複数のアプリケーション構成をダウンロードするよう構成される、請求項1に記載のシステム。
  10. 前記第1サーバは、複数組織構成をサポートするよう構成される、請求項1に記載のシステム。
  11. 前記第1サーバは、非セキュア・ソケット・レイヤ(非SSL)セキュリティ保護通信チャネルを介するインターフェースを備え、前記第1サーバのインターフェースは、前記通信端末および前記カスタマアプリケーションに関連付けられ、前記非SSLセキュリティ保護通信チャネルは前記SSLと互換性のある、請求項1に記載のシステム。
  12. 前記第1サーバは、それぞれ独立して、複数の通信端末をサポートする情報を発行するよう構成される、請求項1に記載のシステム。
  13. 前記第1サーバは、前記カスタマアプリケーションから取得更新要求を受け取る際に1つ以上の更新を前記カスタマアプリケーションに伝送するように構成され、前記カスタマアプリケーションは、前記1つ以上の更新を処理し、更新済みアプリケーション構成を前記第1サーバに送信するよう構成される、請求項1に記載のシステム。
  14. 保護データに対するアクセスを通信端末に提供する方法であって、前記方法は、
    パブリッシャデータベースに連結された第1サーバにより、暗号化された形態で前記保護データを格納することと、
    前記通信端末から、前記保護データにアクセスする要求を受け取ることであって、前記要求は申し立てられたクレデンシャルを含むことと、
    セキュア・ソケット・レイヤ(SSL)とは独立して、前記申し立てられたクレデンシャルを暗号的な認証により認証するために、前記申し立てられたクレデンシャルを第2サーバに伝送することと、
    前記申し立てられたクレデンシャルが認証される場合に、前記通信端末のアプリケーションコンテナと前記保護データとの間のアクセスを許可することと、
    スタマアプリケーションと前記パブリッシャデータベースとの間で前記保護データを通信することと、
    前記通信端末とパブリッシャデータベースとの間で前記保護データを通信することと、
    前記第1サーバにより、前記カスタマアプリケーションがオフラインであるときに通知を待ち行列に入れるために待ち行列を生成することであって、前記通知は前記保護データ内の変更に対応することと、
    前記第1サーバにより、前記カスタマアプリケーションがオンラインに戻るときに、前記通知を前記待ち行列から前記カスタマアプリケーションに供給することと、
    を備え、
    前記アプリケーションコンテナは、クライアントによりホストされるモバイルアプリケーションを備え、前記モバイルアプリケーションは、前記保護データのエンドツーエンド・セキュリティを提供する複数のアプリケーション構成をホストおよびサポートするよう構成される、方法。
  15. データグループ、データセット、および前記カスタマアプリケーションのユニフォーム・リソース・ロケータ(URL)のうちの少なくとも1つの構成を受け取ることと、
    前記データグループからのデータが変更されるときに、前記カスタマアプリケーションに通知を提供することと、
    をさらに備える、請求項14に記載の方法。
  16. 前記カスタマアプリケーションから、更新済みアプリケーション構成を受け取ることと、
    前記第1サーバにより、前記通信端末から同期要求を受け取る際に前記更新済みアプリケーション構成を前記通信端末に発信することと、
    をさらに備える、請求項14に記載の方法。
  17. 前記通信端末は、第1モバイルアプリケーションおよび第2モバイルアプリケーションを提供するよう構成され、前記第2モバイルアプリケーションは、暗号化モジュールおよびデータを前記第1モバイルアプリケーションと共有するよう構成される、請求項14に記載の方法。
JP2015094230A 2014-05-05 2015-05-01 動的な提示およびデータの構成を使用するセキュリティ保護されたモバイル共同アプリケーションを構築するためのプラットフォーム Expired - Fee Related JP6600156B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/269,893 US9792458B2 (en) 2014-05-05 2014-05-05 Platform to build secure mobile collaborative applications using dynamic presentation and data configurations
US14/269,893 2014-05-05

Publications (3)

Publication Number Publication Date
JP2015213319A JP2015213319A (ja) 2015-11-26
JP2015213319A5 JP2015213319A5 (ja) 2018-05-24
JP6600156B2 true JP6600156B2 (ja) 2019-10-30

Family

ID=53189617

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015094230A Expired - Fee Related JP6600156B2 (ja) 2014-05-05 2015-05-01 動的な提示およびデータの構成を使用するセキュリティ保護されたモバイル共同アプリケーションを構築するためのプラットフォーム

Country Status (5)

Country Link
US (1) US9792458B2 (ja)
EP (1) EP2942729B1 (ja)
JP (1) JP6600156B2 (ja)
KR (1) KR102111180B1 (ja)
CN (1) CN105095786B (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10298740B2 (en) * 2014-01-10 2019-05-21 Onepin, Inc. Automated messaging
US10264113B2 (en) 2014-01-10 2019-04-16 Onepin, Inc. Automated messaging
US9648164B1 (en) 2014-11-14 2017-05-09 United Services Automobile Association (“USAA”) System and method for processing high frequency callers
US11450415B1 (en) * 2015-04-17 2022-09-20 Medable Inc. Methods and systems for health insurance portability and accountability act application compliance
US10142450B1 (en) * 2015-08-27 2018-11-27 Sprint Communications Company L.P. Custom mobile telecommunication device configuration management
KR101680525B1 (ko) * 2016-07-12 2016-12-06 김주한 앱 위변조 탐지 가능한 2채널 인증 대행 시스템 및 그 방법
US10635509B2 (en) * 2016-11-17 2020-04-28 Sung Jin Cho System and method for creating and managing an interactive network of applications
US20180240546A1 (en) * 2017-02-22 2018-08-23 Margaret Christine Pfeiffer Regulatory and procedural framework compliance and hospital staff communication and development system and processes for facilitating hospital staff communication, development, and compliance with regulatory and procedural frameworks
CN107147701B (zh) * 2017-04-18 2022-11-11 上海魔谷计算机科技有限公司 一种弱联网应用托管服务系统及其托管方法
KR20200104043A (ko) * 2019-02-26 2020-09-03 삼성전자주식회사 사용자 식별 정보를 저장하기 위한 전자 장치 및 그에 관한 방법
US11375043B2 (en) * 2019-03-06 2022-06-28 Citizen Watch Co., Ltd. Program management system, external device and terminal device for controlling a program developer's ability to access, publish and manage marketing of a program
JP7331398B2 (ja) * 2019-03-20 2023-08-23 富士フイルムビジネスイノベーション株式会社 情報処理システムおよびプログラム
US11288399B2 (en) * 2019-08-05 2022-03-29 Visa International Service Association Cryptographically secure dynamic third party resources
CN112688979B (zh) * 2019-10-17 2022-08-16 阿波罗智能技术(北京)有限公司 无人车远程登录处理方法、装置、设备及存储介质
CN113064948B (zh) * 2021-04-29 2022-10-04 济南慧天云海信息技术有限公司 一种高效安全的数据服务发布方法
KR102484665B1 (ko) 2021-06-17 2023-01-06 주식회사 마이지놈박스 유전체 분석 결과를 플랫폼 기반으로 제공하기 위한 장치 및 방법
KR102532269B1 (ko) * 2022-04-05 2023-05-11 이준희 디지털트윈을 기반으로 하는 설비제어 시뮬레이션 시스템 및 이를 이용한 교육 컨텐츠 제공 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7665125B2 (en) 2002-09-23 2010-02-16 Heard Robert W System and method for distribution of security policies for mobile devices
JP3626491B1 (ja) * 2003-12-26 2005-03-09 株式会社ドワンゴ メッセンジャーサービスシステムおよびその制御方法、ならびにメッセンジャーサーバおよびその制御プログラム
US20060036838A1 (en) * 2004-08-10 2006-02-16 Salcedo David M Security system network interface and security system incorporating the same
JP4722519B2 (ja) * 2005-03-25 2011-07-13 株式会社日立製作所 計算機システム及びストレージサーバ、検索サーバ、端末装置並びに検索方法
WO2006127135A2 (en) * 2005-05-23 2006-11-30 Sap Governance Risk And Compliance, Inc. Access enforcer
CA2556464C (en) 2006-08-18 2012-04-17 Diversinet Corp. A method for device auto-detection and classification
CA2571666A1 (en) 2006-12-12 2008-06-12 Diversinet Corp. Secure identity and personal information storage and transfer
CA2590989C (en) 2007-06-05 2014-02-11 Diversinet Corp. Protocol and method for client-server mutual authentication using event-based otp
CA2694500C (en) 2010-02-24 2015-07-07 Diversinet Corp. Method and system for secure communication
CA2697687C (en) 2010-03-24 2014-02-18 Diversinet Corp. Method and system for secure communication using hash-based message authentication codes
US8359016B2 (en) 2010-11-19 2013-01-22 Mobile Iron, Inc. Management of mobile applications
US20140109176A1 (en) * 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
EP2909777B1 (en) * 2012-10-19 2018-03-07 McAfee, LLC Data loss prevention for mobile computing devices

Also Published As

Publication number Publication date
US20150317493A1 (en) 2015-11-05
KR20150126792A (ko) 2015-11-13
EP2942729A1 (en) 2015-11-11
CN105095786A (zh) 2015-11-25
JP2015213319A (ja) 2015-11-26
EP2942729B1 (en) 2021-08-04
CN105095786B (zh) 2019-08-16
US9792458B2 (en) 2017-10-17
KR102111180B1 (ko) 2020-06-09

Similar Documents

Publication Publication Date Title
JP6600156B2 (ja) 動的な提示およびデータの構成を使用するセキュリティ保護されたモバイル共同アプリケーションを構築するためのプラットフォーム
US11244061B2 (en) Data encryption service
US11716356B2 (en) Application gateway architecture with multi-level security policy and rule promulgations
US12069097B2 (en) System and method for geofencing
US9781098B2 (en) Generic server framework for device authentication and management and a generic framework for endpoint command dispatch
US8539231B1 (en) Encryption key management
US10467421B2 (en) Establishing trust between containers
US10824756B2 (en) Hosted application gateway architecture with multi-level security policy and rule promulgations
JP6637940B2 (ja) 接続デバイスでの強制暗号化
US8848922B1 (en) Distributed encryption key management
JP2017531846A (ja) Androidアプリケーションのライフサイクルを変更することによって、コンテナ化ワークスペース環境内でアプリケーションの実行を管理する方法
US20210044596A1 (en) Platform-based authentication for external services
KR102568514B1 (ko) 전자 장치와 이의 동작 방법
Behan Open Personal Identity as a Service

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180404

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180404

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190417

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191004

R150 Certificate of patent or registration of utility model

Ref document number: 6600156

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