IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ コーニンクレッカ フィリップス エヌ ヴェの特許一覧

特表2023-552644プライバシーの安全なクラウドベースのコンピュータビジョン
<>
  • 特表-プライバシーの安全なクラウドベースのコンピュータビジョン 図1
  • 特表-プライバシーの安全なクラウドベースのコンピュータビジョン 図2
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-18
(54)【発明の名称】プライバシーの安全なクラウドベースのコンピュータビジョン
(51)【国際特許分類】
   G06F 21/60 20130101AFI20231211BHJP
   G06F 21/62 20130101ALI20231211BHJP
【FI】
G06F21/60 320
G06F21/60 360
G06F21/62 345
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023535690
(86)(22)【出願日】2021-12-08
(85)【翻訳文提出日】2023-07-06
(86)【国際出願番号】 EP2021084687
(87)【国際公開番号】W WO2022128653
(87)【国際公開日】2022-06-23
(31)【優先権主張番号】63/124,914
(32)【優先日】2020-12-14
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】590000248
【氏名又は名称】コーニンクレッカ フィリップス エヌ ヴェ
【氏名又は名称原語表記】Koninklijke Philips N.V.
【住所又は居所原語表記】High Tech Campus 52, 5656 AG Eindhoven,Netherlands
(74)【代理人】
【識別番号】110001690
【氏名又は名称】弁理士法人M&Sパートナーズ
(72)【発明者】
【氏名】ファン ゾン コルネリス
(57)【要約】
データ処理のためにコンピューティングクラウド200に送信されるデジタルクライアントデータを保護するための方法及びシステムは、スクランブルされたクライアントデータのみをコンピューティングクラウドに送信し、コンピューティングクラウド内に、デスクランブルされたクライアントデータを決して記憶しないことにより、クライアントデータのプライバシーを確実にする。デスクランブルすることが、コンピューティングクラウドによってクライアントデータを処理するために必要であるという限りで、デスクランブルすることは、デスクランブルされたクライアントデータがコンピューティングクラウドにより決して出力又は記憶されないように、処理に組み込まれる。
【特許請求の範囲】
【請求項1】
クライアントコンピューティングシステムとクラウドコンピューティングシステムとの間でデジタルデータを送信し、前記クラウドコンピューティングシステムによって前記デジタルデータを処理する方法であって、
前記クライアントコンピューティングシステムにおける記録デバイスによって、スクランブルのかかっていない前記デジタルデータを取り込むステップと、
前記クライアントコンピューティングシステムによって、スクランブルされたデジタルデータを生み出すために、前記スクランブルのかかっていないデジタルデータをスクランブルするステップと、
前記クライアントコンピューティングシステムによって、前記クラウドコンピューティングシステムに、前記スクランブルされたデジタルデータを送信するステップと、
前記クラウドコンピューティングシステムによって、前記スクランブルされたデジタルデータを処理するステップと、
前記クラウドコンピューティングシステムによって、前記クライアントコンピューティングシステムに、前記処理するステップの出力を送信するステップと
を有し、
デスクランブルされた前記デジタルデータは、前記クラウドコンピューティングシステム内に記憶されず、
前記処理するステップの前記出力は、前記スクランブルされたデジタルデータのデスクランブルされた形式を含まない、方法。
【請求項2】
前記処理するステップは、前記スクランブルされた前記デジタルデータをデスクランブルするステップを有する、請求項1に記載の方法。
【請求項3】
前記処理するステップは、前記スクランブルのかかっていないデジタルデータにマッピングされる出力を生み出すステップを有する、請求項1又は2に記載の方法。
【請求項4】
前記スクランブルのかかっていないデジタルデータは、データシーケンスを含み、前記データシーケンスは、各前記データシーケンスが複数の構成要素データユニットを含むようなものであり、
所与のデータシーケンスについて、前記スクランブルするステップは、前記所与のデータシーケンスにおける前記複数の構成要素データユニットの各々を擬似ランダム位置にマッピングするために、記憶されたルックアップテーブルを使用するステップを有し、前記擬似ランダム位置は、前記所与のデータシーケンスにおけるすべての他の構成要素データユニットが、マッピングされる前記擬似ランダム位置に対して一意的である、
請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記スクランブルのかかっていないデジタルデータは、データシーケンスを含み、前記データシーケンスは、各前記データシーケンスが複数の構成要素データユニットを含むようなものであり、
所与のデータシーケンスについて、前記スクランブルするステップは、前記所与のデータシーケンスにおける前記複数の構成要素データユニットの各々を新しい位置にマッピングするために、数学的関数を使用するステップを有し、前記新しい位置は、前記所与のデータシーケンスにおけるすべての他の構成要素データユニットがマッピングされる新しい位置に対して一意的である、
請求項1から3のいずれか一項に記載の方法。
【請求項6】
前記クライアントコンピューティングシステムによって、前記スクランブルのかかっていないデジタルデータをスクランブルするために使用される、スクランブルする技法を、周期的に変化させるステップ
をさらに有する、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記クライアントコンピューティングシステムによって、前記クライアントコンピューティングシステムから前記クラウドコンピューティングシステムに、前記スクランブルされたデジタルデータとともに、スクランブリング識別子を送信するステップ
をさらに有し、
前記クラウドコンピューティングシステムは、前記スクランブリング識別子に基づいて、スクランブルするどの技法が前記クライアントコンピューティングシステムにより使用されたかを識別する、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記クライアントコンピューティングシステムによって、前記処理するステップのスクランブルされた出力があればデスクランブルするステップ
をさらに有する、請求項1から7のいずれか一項に記載の方法。
【請求項9】
デジタル順序付きデータシーケンスを保護するためのデータ保護システムであって、
クライアントコンピューティングシステムの外側でクライアントデータを取り込み送信するクライアントコンピューティングシステムと、クラウドコンピューティングシステムとを備え、
前記クライアントコンピューティングシステムは、
前記クライアントデータを取り込む記録デバイスであって、前記クライアントデータは、前記デジタル順序付きデータシーケンスを含み、前記デジタル順序付きデータシーケンスは、各前記デジタル順序付きデータシーケンスが複数の構成要素データユニットを含むようなものである、記録デバイスと、
前記記録デバイスにより取り込まれた前記クライアントデータを受信すること、及び、前記クライアントデータをスクランブルすることを行うデータスクランブラと、
処理されたデータ受信器と
を備え、
前記クラウドコンピューティングシステムは、
前記クライアントコンピューティングシステムから送信される前記クライアントデータを処理すること、及び、処理された前記クライアントデータを出力することを行うデータ処理モジュールと、
前記データ処理モジュールにより処理及び出力された前記クライアントデータを記憶するクラウドストレージユニットと
を備え、
前記クライアントコンピューティングシステムは、前記クラウドコンピューティングシステムに、スクランブルされた前記クライアントデータのみを送信し、
前記データ処理モジュールは、デスクランブルされた前記クライアントデータを出力しない、データ保護システム。
【請求項10】
前記データ処理モジュールは、前記クライアントデータを処理する間、前記スクランブルされたクライアントデータをデスクランブルする、請求項9に記載のデータ保護システム。
【請求項11】
前記データ処理モジュールは、スクランブルのかかっていない前記クライアントデータにマッピングされる出力を生み出す、請求項9又は10に記載のデータ保護システム。
【請求項12】
所与のデータシーケンスについてスクランブルすることは、前記所与のデータシーケンスにおける前記複数の構成要素データユニットの各々を擬似ランダム位置にマッピングするために、記憶されるルックアップテーブルを使用することを含み、前記擬似ランダム位置は、前記所与のデータシーケンスにおけるすべての他の構成要素データユニットがマッピングされる前記擬似ランダム位置に対して一意的である、請求項9から11のいずれか一項に記載のデータ保護システム。
【請求項13】
所与のデータシーケンスについてスクランブルすることは、前記所与のデータシーケンスにおける前記複数の構成要素データユニットの各々を新しい位置にマッピングするために、数学的関数を使用することを含み、前記新しい位置は、前記所与のデータシーケンスにおけるすべての他の構成要素データユニットがマッピングされる新しい位置に対して一意的である、請求項9から11のいずれか一項に記載のデータ保護システム。
【請求項14】
前記クライアントコンピューティングシステムは、前記データスクランブラにより使用されるデータスクランブリング技法を周期的に変化させる、
請求項9から13のいずれか一項に記載のデータ保護システム。
【請求項15】
前記クライアントコンピューティングシステムは、前記クラウドコンピューティングシステムに、スクランブルされた前記クライアントデータを送信するときに、前記スクランブルされたクライアントデータとともに、スクランブリング識別子を送信し、
前記クラウドコンピューティングシステムは、前記スクランブリング識別子に基づいて、どのデータスクランブリング技法が前記クライアントコンピューティングシステムにより使用されたかを識別する、
請求項9から14のいずれか一項に記載のデータ保護システム。
【発明の詳細な説明】
【技術分野】
【0001】
[01] 開示される概念は、デジタルデータのプライバシーを保護するための方法及びシステム、特に、コンピューティングクラウドに送信される、コンピューティングクラウド内に記憶される、及び/又は、コンピューティングクラウドにより処理されるデジタルデータを保護するための方法及びシステムに関わる。
【背景技術】
【0002】
[02] オフプレミスクラウドコンピューティングは、現代の時代において普及しており、オンプレミスクラウドコンピューティング及びオンプレミスオフラインコンピューティングを含むオンプレミスコンピューティングに勝る種々の利益を供する。オフプレミスクラウドコンピューティングサービスのクライアントは、そのようなサービスに引き付けられることが多く、なぜならば、オフプレミスクラウドコンピューティングのサードパーティプロバイダは、クライアントが有するのと比べて、より大きいハードウェア及びソフトウェア処理及び記憶容量、したがって、より大きいスケーラビリティを有することが多いからである。オフプレミスクラウドコンピューティングは、医療の、及び関係のある分野において特に望ましくなっており、それらの分野において、オフプレミスコンピューティングによって、健康管理提供者及び機関は、数ある機能の中でも、デジタル画像及びビデオデータを処理し、電子健康記録を記憶することが可能となる。しかしながら、クラウドコンピューティングサービスのサードパーティプロバイダに、オフサイトにデータを送出することによって、クライアントについてのデータ安全性及びセキュリティ問題が生じる。クラウドコンピューティングに関係のある、データ安全性及びセキュリティを確実にするためのよく知られた技術及び解決法は、(i)例えば仮想プライベートネットワーク(VPN)を介して、暗号化/復号の手段により、クライアントとクラウドとの間の通信を保護すること、(ii)認証及び/又はファイアウォール技術によって、個々のクラウドベースのコンピュータへのアクセスを保護すること、並びに(iii)暗号化の手段により、クラウドベースのハードドライブ上に記憶されるデータを保護することを含む。そのような技術及び解決法は、一般的には効果的であるが、クラウドサービスのクライアントは、それでもなお、ハッカーが通信システム、ハードドライブ、さらには、クラウドベースのコンピュータのRAM内へと侵入する可能性のために、プライバシーセンシティブデータをオフサイトのサードパーティ所有のサーバ(すなわち、コンピューティングクラウド)に送出し、そこでそのようなデータを記憶及び処理することに関して躊躇を感じる。プライバシー問題は、患者の静止画及びデジタルビデオなどの画像データ、並びに、臨床医音声メモ又は書き記される患者覚書などの医療データに関して、とりわけ顕著である。
【発明の概要】
【発明が解決しようとする課題】
【0003】
[03] クラウドコンピューティングが健康管理業界及び他のプライバシーセンシティブ背景状況においてどれだけ遍在的であるかを考え合わせれば、クラウドクライアントのプライバシー、及び、それらのクラウドクライアントのセンシティブデータを保護することは、クラウドサービスのプロバイダ及びクライアントの両方にとって高い重要性のものである。クラウドコンピューティングに関係のある、データ安全性及びセキュリティを確実にするための知られた技術及び解決法は、一般的には効果的であるが、ハッキングの可能性は、どれだけわずかでも、クラウドサービスを使用して記憶又は処理されるセンシティブデータのプライバシーを保護することを欲する誰にとっても、問題についての無理のない根拠である。よって、コンピューティングクラウドに送信される、コンピューティングクラウドを使用して記憶及び/又は処理されるデジタルデータのプライバシーを確実にするために使用される方法及びシステムにおける改善についての余地が存する。
【課題を解決するための手段】
【0004】
[04] よって、1つの実施形態において、クライアントコンピューティングシステムとクラウドコンピューティングシステムとの間でデジタルデータを送信し、クラウドコンピューティングシステムによってデジタルデータを処理する方法であって、クライアントコンピューティングシステムにおける記録デバイスによって、スクランブルのかかっていないデジタルデータを取り込むステップと、クライアントコンピューティングシステムによって、スクランブルされたデジタルデータを生み出すために、スクランブルのかかっていないデジタルデータをスクランブルするステップと、クライアントコンピューティングシステムによって、クラウドコンピューティングシステムに、スクランブルされたデジタルデータを送信するステップと、クラウドコンピューティングシステムによって、スクランブルされたデジタルデータを処理するステップと、クラウドコンピューティングシステムによって、クライアントコンピューティングシステムに、処理するステップの出力を送信するステップとを有し、デスクランブルされた(descrambled)デジタルデータは、クラウドコンピューティングシステム内に記憶されず、処理するステップの出力は、スクランブルされたデジタルデータのデスクランブルされた形式を含まない、方法を提供することが、本発明の目的である。
【0005】
[05] クラウドコンピューティングシステムによって処理するステップは、スクランブルされたデジタルデータをデスクランブルするステップ、及び、スクランブルのかかっていないデジタルデータにマッピングされる出力を生み出すステップのいずれか又は両方を有する。スクランブルのかかっていないデジタルデータは、データシーケンスを含み、それらのデータシーケンスは、各データシーケンスが複数の構成要素データユニットを含むようなものである。そのようなデータシーケンスについてスクランブルするステップは、所与のデータシーケンスにおける複数の構成要素データユニットの各々を擬似ランダム位置にマッピングするために、記憶されるルックアップテーブルを使用するステップを有し、擬似ランダム位置は、所与のデータシーケンスにおけるすべての他の構成要素データユニットがマッピングされる擬似ランダム位置に対して一意的である。そのようなデータシーケンスについてスクランブルするステップは、代替法として、所与のデータシーケンスにおける複数の構成要素データユニットの各々を新しい位置にマッピングするために、数学的関数を使用するステップを有し、新しい位置は、所与のデータシーケンスにおけるすべての他の構成要素データユニットがマッピングされる新しい位置に対して一意的である。スクランブルのかかっていないデジタルデータをスクランブルするために使用される、スクランブルするステップの技法は、クライアントコンピューティングシステムにより、周期的に変化させられる。クライアントコンピューティングシステムからクラウドコンピューティングシステムに、スクランブルされたデジタルデータを送信するステップは、スクランブルされたデジタルデータとともに、スクランブルするステップのどの技法がクライアントコンピューティングシステムにより使用されたかを識別するためにクラウドコンピューティングシステムが使用するスクランブリング識別子を送信するステップを有する。方法は、クライアントコンピューティングシステムによって、処理するステップのスクランブルされた出力があればデスクランブルするステップをさらに有する。
【0006】
[06] 別の実施形態において、デジタル順序付きデータシーケンスを保護するためのデータ保護システムは、クライアントコンピューティングシステムの外側でクライアントデータを取り込み送信するように構成されるクライアントコンピューティングシステムと、クラウドコンピューティングシステムとを備え、クライアントコンピューティングシステムは、クライアントデータを取り込むように構成される記録デバイスであって、クライアントデータは、デジタル順序付きデータシーケンスを含み、それらのデジタル順序付きデータシーケンスは、各デジタル順序付きデータシーケンスが複数の構成要素データユニットを含むようなものである、記録デバイスと、記録デバイスにより取り込まれたクライアントデータを受信すること、及び、クライアントデータをスクランブルすることを行うように構成されるデータスクランブラと、処理されたデータ受信器とを備え、クラウドコンピューティングシステムは、クライアントコンピューティングシステムから送信されるクライアントデータを処理すること、及び、処理されたクライアントデータを出力することを行うように構成されるデータ処理モジュールと、データ処理モジュールにより処理及び出力されたクライアントデータを記憶するように構成されるクラウドストレージユニットとを備え、クライアントコンピューティングシステムは、クラウドコンピューティングシステムに、スクランブルされたクライアントデータのみを送信するように構成され、データ処理モジュールは、デスクランブルされたクライアントデータを出力しないように構成される。
【0007】
[07] データ処理モジュールは、処理することの間、スクランブルされたクライアントデータをデスクランブルすること、及び、スクランブルのかかっていないクライアントデータにマッピングされる出力を生み出すことのいずれか又は両方を行うように構成される。所与のデータシーケンスをスクランブルすることは、所与のデータシーケンスにおける複数の構成要素データユニットの各々を擬似ランダム位置にマッピングするために、記憶されるルックアップテーブルを使用することを含み、擬似ランダム位置は、所与のデータシーケンスにおけるすべての他の構成要素データユニットがマッピングされる擬似ランダム位置に対して一意的である。所与のデータシーケンスをスクランブルすることは、代替法として、所与のデータシーケンスにおける複数の構成要素データユニットの各々を新しい位置にマッピングするために、数学的関数を使用することを含み、新しい位置は、所与のデータシーケンスにおけるすべての他の構成要素データユニットがマッピングされる新しい位置に対して一意的である。クライアントコンピューティングシステムは、データスクランブラにより使用されるデータスクランブリング技法を周期的に変化させるように構成される。クライアントコンピューティングシステムは、加えて、クラウドコンピューティングシステムに、スクランブルされたクライアントデータを送信するときに、スクランブリング識別子を送信するように構成され、クラウドコンピューティングシステムは、スクランブリング識別子に基づいて、どのデータスクランブリング技法がクライアントコンピューティングシステムにより使用されたかを識別するように構成される。
【0008】
[08] 本発明のこれら及び他の目的、特徴、及び特性が、構造の、関係のある要素の、動作の方法及び機能、並びに、部分の組み合わせ、及び、製造の経済性と同様に、付随する図面を参照して、後に続く説明、及び、添付される特許請求の範囲の考察を基に、より明らかになり、それらの図面のすべてが、本明細書の一部を形成し、類する参照番号は、様々な図における対応する部分を指定する。しかしながら、図面は、単に例解及び説明の目的のためのものであり、本発明の限界の定義として意図されるものではないということは、はっきりと理解されるべきである。
【図面の簡単な説明】
【0009】
図1】[09] 開示される概念の例示的な実施形態による、クライアントコンピューティングシステムからクラウドコンピューティングシステムに送信されるデジタルデータを保護するための方法のステップを含むフローチャートである。
図2】[10] 開示される概念の例示的な実施形態による、図1において描写される方法による、互いと通信し、互いとの間でデジタルデータを送信するように構成される、クライアントコンピューティングシステム及びクラウドコンピューティングシステムの概略表現の図である。
【発明を実施するための形態】
【0010】
[11] 本明細書において使用される際、単数形は、コンテキストで別段に明確に定めない限り、複数の参照物を含む。
【0011】
[12] 本明細書において使用される際、2つ以上の部分又は構成要素が「結合される」という記述は、それらの部分が、直接的に、さもなければ、間接的に、すなわち、リンクが生じさえすれば、1つ又は複数の中間部分又は構成要素によって、一体に接合され、又は動作するということを意味するものとする。
【0012】
[13] 本明細書において使用される際、用語「コンピューティングクラウド」又は「クラウド」は、ユーザによる直接的な能動的管理なしで、インターネットを介してユーザに利用可能な、データストレージ及びコンピューティングパワーを含む、ただしそれらに制限されない、コンピュータシステムリソースを意味するものとする。
【0013】
[14] 本明細書において使用される際、用語「クライアント」は、クラウドサービスのユーザを意味するものとし、そのようなユーザは、コンピューティングシステムを含む、ただしそれに制限されない。
【0014】
[15] 本明細書において使用される際、用語「コントローラ」は、制限なしに、フィールドプログラマブルゲートアレイ(FPGA)、複合プログラマブル論理デバイス(CPLD)、プログラマブルシステムオンチップ(PSOC)、特定用途向け集積回路(ASIC)、マイクロプロセッサ、マイクロコントローラ、プログラマブル論理コントローラ、又は、任意の他の適した処理デバイス若しくは装置を含む、データ(例えば、ソフトウェアルーチン、及び/又は、そのようなルーチンにより使用される情報)を記憶、検索、実行、及び処理する、いくつかのプログラマブルアナログ及び/又はデジタルデバイス(関連のあるメモリ部分又は一部分を含む)を意味するものとする。メモリ一部分は、コンピュータの内部記憶区域の方式においてなどで、データ及びプログラムコード記憶のための、記憶レジスタ、すなわち、非一時的機械可読媒体をもたらす、制限なしに、RAM、ROM、EPROM、EEPROM(登録商標)、フラッシュなどの、種々のタイプの内部及び/又は外部記憶媒体のうちの任意の1つ又は複数であることがあり、揮発性メモリ又は不揮発性メモリであることがある。
【0015】
[16] 本明細書において使用される際、用語「数」は、1、又は、1よりも大きい整数(すなわち、複数)を意味するものとする。
【0016】
[17] 本明細書において使用される際、用語「スクランブルする」は、データエンティティであって、そのデータエンティティの構成要素が、そのデータエンティティを理解可能にするために、個別のシーケンスにおいて配置構成されることを意図される、データエンティティに関して、データエンティティが理解可能でないように、構成要素の順序を変化させることを意味するものとし、用語「スクランブルされる」は、データエンティティであって、そのデータエンティティの構成要素が、データエンティティが理解可能でないように、順序通りでなくシーケンス化される、データエンティティを意味するものとする。
【0017】
[18] 例えば、及び制限なしに、上部、下部、左、右、上側、下側、前方、後方、及びそれらの派生語などの、本明細書において使用される、方向を示す語句は、図面において示される要素の向きに関係するものであり、特許請求の範囲に関して、特許請求の範囲において明白に述べられない限り、制限的ではない。
【0018】
[19] 様々な個別の例示的な実施形態に関して、本明細書においてより詳細に説明されるような、開示される概念は、クライアントシステムとコンピューティングクラウドとの間のデータの送信中の、及び、クラウドによるデータの何らかの処理中の、デジタルデータのプライバシーを確実にするための方法及びシステムをもたらす。特に、開示される概念の方法及びシステムは、順序付きデータシーケンスとして現れる、任意のタイプのデータのプライバシーを保護する。順序付きデータシーケンスの非制限的な例は、デジタル画像データ、デジタルビデオ、デジタルで記録される医療臨床医音声メモ、及び、タイプされる患者覚書を含み、なぜならば、デジタル画像は、ピクセルカラー値の順序付き配列であり、デジタルビデオは、連続的な画像のストリームであり、デジタル音声メモは、個別の順序においてシーケンス化される離散的情報ビットであり、タイプされる患者覚書は、個別の順序において編集されるテキストの文字列であるからである。
【0019】
[20] 開示の無駄を省くために、開示される概念は、主として、画像データのプライバシーを保護すること、及び、デジタル画像の中のピクセルの位置を擬似ランダム化することの見地において説明され、しかしながら、デジタル画像の中のピクセルに適用される方法及びシステムは、開示される概念の範囲から逸脱することなく、非画像の順序付きデータシーケンスの中の他のデータユニットに適用されることが理解される。例えば、及び制限なしに、デジタル音声メモの構成要素ビットは、画像ピクセルとの類推によって説明され、一方で、完全な音声メモは、完全な画像との類推によって説明され、タイプされる患者覚書の文字列又は文字列断片は、画像ピクセルとの類推によって説明され、一方で、完全なタイプされる患者覚書は、完全な画像との類推によって説明される。
【0020】
[21] 開示される概念のシステム及び方法は、具体的には、順序付きデータシーケンスに含まれるデータユニットの順序を変化させることにより、クラウドにデータを送信するよりも前にデータをスクランブルすることにより、デジタルデータのプライバシーを確実にする。加えて、開示される概念の方法及びシステムは、デスクランブルされたデータが、クラウドストレージ内に記憶されることを可能とせず、クラウドにより遂行されるいかなる処理も、スクランブルされたデータに関して遂行される。デスクランブルされたデータが、クラウドに送信されることを、及び、クラウドストレージ内に記憶されることを防止することにより、ハッカーが、クラウドに送出されるデータの送信及び記憶を保護することを意図される暗号化プロトコルを破るという事象において、ハッカーは、スクランブルされたデータを入手し得るのみである。用語「スクランブルのかかっていない」は、スクランブルすることよりも前に元々取り込まれたようなデータを示しており、一方で、用語「デスクランブルされた」は、スクランブルされ、次いで、元の、スクランブルのかかっていない形式と似ているように再度順序付けされたデータを示していることが理解される。開示の簡潔さのために、用語「スクランブルのかかっていない」又は「デスクランブルされた」のうちの1つのみが、スクランブルされないデータを説明するために、本明細書において一時に使用され、「デスクランブルされた」の代わりの「スクランブルのかかっていない」の、及びその逆の使用は、制限的であることを意図されない。
【0021】
[22] 図1は、開示される概念の例示的な実施形態による、クライアントコンピューティングシステムからクラウドコンピューティングシステムに送信されるデジタルデータを保護するための方法10のステップを含むフローチャートであり、図2は、開示される概念の例示的な実施形態による、図1において描写される方法10による、互いと通信し、互いとの間でデジタルデータを送信するように構成される、クライアントシステム100及びクラウドシステム200の概略表現である。クライアントシステム100及びクラウドシステム200は、開示される概念の範囲から逸脱することなく、コントローラ又は他のコンピューティングハードウェア及びソフトウェアの任意の組み合わせを備え、開示される概念は、これらの要素の特定の組み合わせが使用されることに依存しない。クライアントシステム100は、デジタルデータを取り込みスクランブルし、クラウドシステム200に、スクランブルされたデータを送信するように構成され、一方で、クラウドシステム200は、スクランブルされたデータを処理及び記憶し、引き続いて、クライアントシステム100に戻るように、処理されたデータを送信するように構成される。開示される概念は、主として、デジタル画像データを保護することの見地において、本明細書において説明されるので、クライアントシステム100は、カメラ110を備えるように描写される。しかしながら、クラウドに送信され、クラウド内に記憶される、他のタイプのデータを保護することを欲するクライアントのために、非画像データを取り込むのに適切な記録デバイスが、クライアントシステム100においてカメラ110から置き換わることが理解される。例えば、及び制限なしに、臨床医音声メモの保護が所望される場合、カメラ110は、音声認識ソフトウェア及び/又はハードウェアにより置き換えられる。さらにまた、クライアントシステム100は、開示される概念の範囲から逸脱することなく、クライアントデータを取り込むための複数個のデバイス、例えば、及び制限なしに、カメラ及び音声認識ソフトウェアの両方を備える。本明細書において使用される際、用語「取り込まれた」及び「取り込まれたクライアントデータ」は、カメラ110により取り込まれたデータであって、そのデータのプライバシーを保護することを、開示される概念の方法及びシステムが意図される、データを指す。
【0022】
[23] 図1及び図2を参照すると、方法10のステップ11において、クライアントデータが取り込まれ、すなわち、カメラ110が、対象(subject)1の画像を取り込む。ステップ12において、データスクランブラ120が、カメラ110により取り込まれた画像をスクランブルする。データスクランブラ120は、本明細書においてより詳細に説明されるように、取り込まれた画像に含まれるピクセルの順序をスクランブルするソフトウェア及び/又はハードウェアを備える。データをスクランブルすることは、開示される概念の範囲から逸脱することなく、種々の手段を使用して、例えば、及び制限なしに、実行可能ファイル及び/又はデータファイルのいずれか又は両方を使用することにより達成され、ソフトウェア又はハードウェアの任意の組み合わせにより遂行される。データスクランブラ120により遂行されるスクランブルすることは、カメラ110により取り込まれた2D画像における各ピクセルの元の位置(x,y)が、スクランブルされた画像を創出するために、新しい位置(p,q)にマッピングされるという基本前提にしたがい、各マッピングは、データ損失を防止するために、同じ新しい位置(p,q)にマッピングされる2つの位置(x,y)及び(x,y)がないように、一意的である。データスクランブラ120が使用する、データスクランブリングの具体的な実現形態の例が、本明細書において、プログラムDに関して、より詳細に説明される。データスクランブラ120は、開示される概念の範囲から逸脱することなく、カメラ110(又は、カメラ110の代わりに使用されるどんなデータ取込みデバイスでも)とは別個の、別々の構成要素であり、さもなければ、データ取込み/スクランブリングモジュール125を形成するために、カメラ110内へと統合される。データスクランブラ120がカメラ110内へと統合される、そのような実施形態において、スクランブルのかかっていない画像は、カメラ110により取り込まれる後、及び、クラウドシステム200に送信される前には、実在もせず、クライアントシステム100内に記憶されもしない。
【0023】
[24] 方法10のステップ13において、スクランブルされた取り込まれた画像は、クラウドシステム200に、具体的には、クラウドシステム200の処理モジュール220に送信される。処理モジュール220は、デジタルデータを分析する能力をもつソフトウェア及び/又はハードウェアの任意の組み合わせを備える。図2において、クライアントシステム100及びクラウドコンピューティングシステム200は、仮想プライベートネットワーク(VPN)130を介して接続されているように描写され、データスクランブラ120のスクランブルされたデータ出力は、クライアント画像データの送信をさらに保護するために、VPNを通してクライアントシステム100から処理モジュール220に送信される。VPN130は、開示される概念の範囲から逸脱することなく省かれてもよく、しかしながら、VPN又は他のデータ暗号化システムを使用することは、権限のない関係者が、インターネットを介して2つのエンドポイントの間で送信されているプライベートデータを横取りすることを防止するための賢明な対策と考えられることが理解される。
【0024】
[25] 方法10のステップ14において、処理モジュール220は、スクランブルされたクライアント画像を処理する。処理モジュール220により遂行される処理は、背景状況に特異的である。MRI画像などの医療画像データを含む取り込まれたクライアントデータの背景状況において、処理モジュール220により遂行される処理の1つの非制限的な例は、周辺組織とは異なる色素沈着及び/又はクラスタリングを呈する画像における区域を識別することであり、それらの区域を臨床医は、腫瘍の存在又は他の問題についてさらに分析する。開示される概念の方法及びシステムにおいて、画像を処理するために必要である、クラウドシステム200におけるスクランブルされた画像(又は、他の取り込まれたクライアントデータ)の何らかのデスクランブルすることは、スクランブルされた画像がクラウドシステム200内に記憶されることを防止するために、画像の処理とは別個に遂行されるよりもむしろ、クラウドシステム200により遂行される画像の何らかの処理に組み込まれ、及び/又は、その何らかの処理と統合される。
【0025】
[26] クラウドシステム200により遂行される処理が、クラウドシステム200内のクライアント画像データの記憶を要するならば、スクランブルされた画像が(及び、スクランブルされた画像のみが)、方法10のステップ15~16において、クラウドストレージ230内に記憶される。記憶されるデータがスクランブルされなければならないという要件は、完全な画像及びそれらの画像の一部の両方の記憶に適用され、ハードドライブ上の、及びメモリ(例えば、RAM)内の記憶に適用される。画像データの記憶は、例えば、及び制限なしに、クラウドシステム200が一時性の処理のために使用されるときに必要である。方法10は、次いで、記憶される画像データのさらなる処理のためにステップ14に戻る。データがステップ14において処理される後に、スクランブルされた画像データの記憶又はさらなる記憶が必要でないならば、処理されたデータが、ステップ17において、処理されたクライアントデータを受信するように指定される、クライアントシステム100における、ソフトウェア及び/又はハードウェアを備える、処理されたデータ受信器140に送信される。
【0026】
[27] クライアントシステム100などのクライアントシステムが、方法10のステップ14において画像データを処理するために、クラウドシステム200などのクラウドコンピューティングシステムを使用する、多くの背景状況において、処理の出力は、必ずしも画像ではない。例えば、及び制限なしに、体組織における普通でない色素沈着又はクラスタリングの存在についてMRI画像を分析するためにクラウドシステム200を使用することの先の例において、処理モジュール220による処理の所望される出力は、色素沈着又はクラスタリングが存在するピクセルの位置の列挙である。下記でより詳細に示され説明されるプログラムAは、処理モジュール220が2D画像における最も明るいピクセルの位置を決定するために使用する、擬似コードにおいて書き記されるプログラムの単純な例であり、どのように最も明るいピクセルの位置を決定することのクラウド処理機能が、クラウドシステム200内に、スクランブルのかかっていない画像を記憶することなく、スクランブルされた画像を使用して遂行されるかを実証する。
【数1】
【0027】
[28] プログラムAを参照すると、2D整数配列「img」は、カメラ110により取り込まれた2D画像からデータスクランブラ120により生み出された、スクランブルされた2D画像を表す。配列「img」は、N個の行と、M個の列とを有し、配列「img」の各エントリ[p,q]は、スクランブルされた画像のピクセルに対応する。カメラ110により取り込まれた、スクランブルのかかっていない画像が、さらには、ピクセルのN個の行と、M個の列とを有することが理解される。1つの非制限的な例において、配列「img」における各エントリは、グレースケール2D画像のバイト画像表現について行われるように、0から255の範囲における整数値を保持する。関数「Process」は、各スクランブルされた画像配列エントリ[p,q]を通して反復処理し、各エントリ[p,q]の値を、整数変数「max」の値と比較し、整数変数「max」は、すでに反復処理されたピクセルの中でこれまでに見いだされた最大値を保持する。現在評価されているエントリ[p,q]が、「max」内に現在記憶される値よりも大きい値を保持するならば、「max」の値は、現在評価されるエントリ[p,q]により保持される値を保持するように更新され、変数pm及びqmは、それぞれ、現在のエントリ[p,q]のp及びq値によって更新される。関数「Process」が、スクランブルされた画像におけるピクセルのすべてを通して反復処理した後、マッピング関数「map」が、pm及びqmの値(最大ピクセル値を保持する、スクランブルされた画像におけるピクセルの座標を表す)を、スクランブルのかかっていない画像における、対等になるx座標xm及びy座標ymにマッピングする。処理モジュール220は、デスクランブルされた画像を記憶してしまうことなく、参照により、座標xm及びym(スクランブルのかかっていない画像における最も明るいピクセルの位置を識別する)を、処理されたデータ受信器140に戻す。
【0028】
[29] より複雑な処理機能は、プログラムAが行うよりも頻繁に、スクランブルされた画像の座標を、スクランブルのかかっていない画像における対応する座標にマッピングするプログラムを要し、下記で示されるプログラムBは、そのようなプログラムの例である。
【数2】
プログラムBにおいて使用される関数及び変数は、プログラムAにおいてと同じ概念的意味合いを有し、プログラムBは、さらには、プログラムAが行うように、2D画像における最も明るいピクセルを見いだす。しかしながら、プログラムBは、スクランブルされた画像におけるピクセルのすべてが反復処理された後に一度のみよりもむしろ、「max」が更新される度に、スクランブルされた画像からの「max」のpm及びqm座標を、スクランブルのかかっていない画像のxm及びym座標にマッピングする。
【0029】
[30] 加えて、スクランブルのかかっていない画像のx、y座標にわたって反復処理することが、スクランブルされた画像のp、q座標にわたって反復処理することよりも好ましい背景状況が存する。スクランブルのかかっていない画像のx、y座標にわたって反復処理することは、さらには、クラウドシステム200内に、スクランブルのかかっていない画像を記憶することなく遂行される。下記で示されるプログラムCは、スクランブルされた画像のp、q座標の代わりに、スクランブルのかかっていない画像のx、y座標にわたって反復処理することにより、2D画像における最も明るいピクセルの位置を決定するために処理モジュール220が使用する、単純な例プログラムである。
【数3】
プログラムCにおいて使用されるマッピング関数「map2」は、プログラムA及びBにおいて使用されるマッピング関数「map」の逆関数を実施し、すなわち、マッピング関数「map2」は、スクランブルのかかっていない画像からのx、y座標を、スクランブルされた画像のp、q座標にマッピングする。プログラムCにおいて使用される変数は、プログラムA及びBにおいてと同じ概念的意味合いを有する。プログラムCにおける関数「Process」は、各スクランブルのかかっていない画像配列エントリ[x,y]を通して反復処理し、マッピング関数「map2」によって、現在反復処理される[x,y]エントリを、対応するスクランブルされた画像配列エントリ[p,q]にマッピングし、次いで、各エントリ[p,q]により保持される値を、すでに反復処理されたピクセルの中で見いだされた最大値をやはり保持する変数「max」内に現在記憶される値と比較する。現在評価されているエントリ[p,q]が、「max」内に現在記憶される値よりも大きい値を保持するならば、「max」の値は、現在評価されるエントリ[p,q]により保持される値を保持するように更新され、変数xm及びymは、現在のエントリ[x,y]のx及びy値によって更新される。「Process」が、スクランブルのかかっていない画像におけるピクセルのすべてを通して反復処理した後、スクランブルのかかっていない画像におけるx座標xm及びy座標ymは、最大ピクセル値を伴う、スクランブルのかかっていない画像におけるピクセルの座標を保持する。処理モジュール220は、まさにプログラムA及びBが行うように、デスクランブルされた画像を記憶してしまうことなく、スクランブルのかかっていない画像における最も明るいピクセルの位置を識別するための、座標xm及びymを、処理されたデータ受信器140に戻す。
【0030】
[31] プログラムA、B、及びCは、出力が画像ではない処理を実証するが、処理モジュール220による処理の所望される出力が画像であるとき、処理モジュール220は、スクランブルされた処理された画像を、処理されたデータ受信器140に送信し、処理されたデータ受信器140は、デスクランブルされた処理された画像を生み出すために、スクランブルされた画像のp、q座標を、x、y座標にマッピングすることが理解される。さらにまた、処理モジュール220による処理の所望される出力が、画像における対象の認識である場合、処理モジュール220は、クライアントシステム100に、匿名化された識別子を送出し、そのことによって、クライアントシステム100は、クライアントにのみ知られるマッピングを使用して、識別子を非匿名化する。要するに、処理モジュール220による処理の所望される出力に関係なく、スクランブルのかかっていない、及びデスクランブルされた画像は、開示される概念のシステム及び方法において、クラウドシステム200内に決して記憶されない。
【0031】
[32] 方法10のステップ12に関して先に説述されたように、データスクランブラ120は、各ピクセルの元の位置(x,y)が、新しい位置(p,q)にマッピングされるように、カメラ110により取り込まれた画像を形作る個々のピクセルの順序を変化させることにより、取り込まれたクライアントデータをスクランブルし、各マッピングは、データ損失を防止するために、同じ新しい位置(p,q)にマッピングされる2つの位置(x,y)及び(x,y)がないように、一意的である。データスクランブラ120は、開示される概念の範囲から逸脱することなく、カメラ110により取り込まれた画像をスクランブルするためのいくつかの技法のうちの任意の1つを実施する。データをスクランブルするための技法の第1の非制限的な例において、記憶されるルックアップテーブルが、p≠x及びq≠yであるように、各ピクセルの元の位置(x,y)を、新しい擬似ランダム位置(p,q)にマッピングするために使用される。データをスクランブルするための技法の第2の非制限的な例において、Mピクセルの水平サイズ、及び、Nピクセルの垂直サイズを伴う所与の2D画像について、数学的関数fが、(p,q)=f(x,y)であり、ここで、すべてのm∈0…M-1、n∈0…N-1についてp≠x及びq≠yであるように、新しい位置(p,q)を、元の位置が(x,y)である各ピクセルに割り当てるために使用される。スクランブルされた位置への元のピクセル位置のマッピングは、数学的関数が、カメラ110により取り込まれた画像をスクランブルするために使用されるときには、記憶されることを必要とされず、なぜならば、マッピング及び逆マッピングは、マッピング関数又は逆マッピング関数を解くことによりリアルタイムで生出されるからであることが理解される。
【0032】
[33] さらにまた、例示的な実施形態において、クライアントシステム100は、データスクランブラ120が使用するスクランブルすることの特定の反復処理が、取り込まれたクライアントデータのセキュリティをさらに増大するために、周期的に変化させられるように構成される。第1の非制限的な例において、データスクランブラ120が、データをスクランブルするために、記憶されるルックアップテーブルを使用するならば、使用される個別の記憶されるルックアップテーブルは、P≧1であるP個の画像ごとに変化させられる。第2の非制限的な例において、データスクランブラ120が、データをスクランブルするために数学的関数を使用するとき、使用される個別の関数は、P≧1であるP個の画像ごとに変化させられる。クライアントシステム100が、使用されるスクランブルすることの特定の反復処理を周期的に変化させるように構成されるならば、クライアントシステム100及びクラウドシステム200は、クラウド側での処理中のデスクランブルすることのために使用されるマッピングが、クライアント側でのスクランブルすることのために使用される同じマッピングであるということを確実にするために、同期されなければならないことが理解される。クラウドシステム200が、クライアントシステム100と同期され、スクランブルすることのどの特定の反復処理が所与の画像のために使用されたかを知っているということを確実にするための技法の第1の非制限的な例において、クライアントシステム100は、クラウドシステム200に、スクランブルされた画像とともに送信されることになる、各画像へのシーケンス番号を割り当て、クラウドシステム200は、シーケンス番号に基づいて、どのスクランブリング技法をデータスクランブラ120が使用したかを決定するように構成される。プログラムDに関して下記でより詳細に説明されるように、クラウドシステム200が、クライアントシステム100と同期され、スクランブルすることのどの特定の反復処理が所与の画像のために使用されたかを知っているということを確実にするための技法の第2の非制限的な例において、クライアントシステム100は、クラウドシステム200に、スクランブルされた画像とともに送信されることになる、各画像へのコードを割り当て、クラウドシステム200は、コードに基づいて、どのスクランブリング技法をデータスクランブラ120が使用したかを決定するように構成される。
【0033】
[34] 下記で示されるプログラムDは、処理モジュール220が、クライアントシステム100により送信されるコードに基づいて、処理中の動的なデスクランブルすることを実施することを可能にする、プログラムの単純な例である。
【数4】
プログラムDは、プログラムCが機能する有様と同様に機能するが、プログラムCの機能を遂行することに加えて、プログラムDは、データスクランブラ120により使用されるデータスクランブリングの特定の実現形態を示している、クライアントシステム100により割り当てられたコードを読み出し、それによって、スクランブルされた画像からのp、q座標を、スクランブルのかかっていない画像の対応するx、y座標にマッピングする。より具体的には、プログラムDにおける関数「Process」は、プログラムCにおいて使用される関数「Process」により要される引数に加えて、文字列引数「code」(クライアントシステム100により供給される)を要し、プログラムDにおいて使用されるマッピング関数「map3」は、プログラムCにおいて使用されるマッピング関数「map2」により要される引数に加えて、引数「code」を使用する。マッピング関数「map3」は、スクランブルのかかっていない画像からのx、y座標を、対応するスクランブルされた画像のp、q座標にマッピングすることにより、マッピング関数「map2」と同様に機能するが、「map3」は、加えて、スクランブルすることのどの反復処理が、そのようにするために使用されるべきであるかを決定するために、文字列引数「code」を使用する。プログラムCと同じく、処理モジュール220は、スクランブルされた画像のp、q座標の代わりに、スクランブルのかかっていない画像のx、y座標にわたって反復処理することにより、2D画像における最も明るいピクセルの位置を決定するためにプログラムDを使用するが、プログラムCとは違い、プログラムDは、データスクランブラ120により使用されるスクランブルすることの特定の反復処理を周期的に変化させ、スクランブルすることのどの反復処理が使用されたかを示している、各画像へのコードを割り当てる、クライアントシステム100により送信される画像を処理するために、クラウドシステム200により使用される。
【0034】
[35] プログラムA、B、C、及びDは、どのように処理モジュール220が、スクランブルのかかっていない画像を記憶することの必要性なしに処理を遂行するかの例解的な例として提示されるということ、並びに、これらのプログラムにより具現化される概念は、開示される概念の範囲から逸脱することなく、他の、及び/又は、より複雑な、データのグルーピングに対して、組み合わされる、又は当てはめられることが理解される。例えば、及び制限なしに、クライアントシステム100が、処理のためにクラウドシステム200にRGBカラー画像を送信するならば、3つのプレーンR、G、及びBの各々についてのスクランブルすることは、他のプレーンに無関係に遂行されることがあり、そのことによって、同じマッピング技法が、プレーンのすべてのために使用されることがあり、又は、異なるマッピングが、各プレーンのために使用されることがある。
【0035】
[36] 特許請求の範囲において、括弧の間に置かれるいかなる参照符号も、請求項を制限すると解されないものとする。単語「備える」又は「含む」は、請求項において列挙されるもの以外の要素又はステップの存在を排除しない。いくつかの手段を挙げるデバイス請求項において、これらの手段のうちのいくつかは、ハードウェアの全く同じ物品により具現化されることがある。単数形の要素は、複数のそのような要素の存在を排除しない。いくつかの手段を挙げるいかなるデバイス請求項においても、これらの手段のうちのいくつかは、ハードウェアの全く同じ物品により具現化されることがある。ある決まった要素が、相互に異なる従属請求項において述べられるという単なる事実は、これらの要素が組み合わせて使用され得ないということを指し示さない。
【0036】
[37] 本発明は、最も実用的な、及び好まれる実施形態であると現在考えられるものに基づいて、例解の目的のために詳細に説明されたが、そのような詳細は、もっぱらその目的のためのものであるということ、並びに、本発明は、開示される実施形態に制限されるのではなく、反対に、添付される特許請求の範囲の趣旨及び範囲の中にある、修正及び均等な配置構成を包含することを意図されるということが理解されるべきである。例えば、本発明は、可能な限りで、任意の実施形態の1つ又は複数の特徴が、任意の他の実施形態の1つ又は複数の特徴と組み合わされるということを思索するということが理解されるべきである。
図1
図2
【国際調査報告】