JP2021505938A - データ暗号化を改善するシステムおよび方法 - Google Patents
データ暗号化を改善するシステムおよび方法 Download PDFInfo
- Publication number
- JP2021505938A JP2021505938A JP2020529716A JP2020529716A JP2021505938A JP 2021505938 A JP2021505938 A JP 2021505938A JP 2020529716 A JP2020529716 A JP 2020529716A JP 2020529716 A JP2020529716 A JP 2020529716A JP 2021505938 A JP2021505938 A JP 2021505938A
- Authority
- JP
- Japan
- Prior art keywords
- byte
- processor
- data file
- data
- various embodiments
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000007620 mathematical function Methods 0.000 claims abstract description 67
- 239000000945 filler Substances 0.000 claims abstract description 16
- 238000004891 communication Methods 0.000 claims description 90
- 230000006870 function Effects 0.000 claims description 31
- 230000002441 reversible effect Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 23
- 238000010586 diagram Methods 0.000 abstract description 8
- 230000005540 biological transmission Effects 0.000 description 30
- 238000012546 transfer Methods 0.000 description 22
- 230000004044 response Effects 0.000 description 20
- 238000004590 computer program Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 14
- 230000001413 cellular effect Effects 0.000 description 12
- 230000008901 benefit Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000013479 data entry Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 241000699666 Mus <mouse, genus> Species 0.000 description 2
- 241001441724 Tetraodontidae Species 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 229910052751 metal Inorganic materials 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 229910052782 aluminium Inorganic materials 0.000 description 1
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- VJYFKVYYMZPMAB-UHFFFAOYSA-N ethoprophos Chemical compound CCCSP(=O)(OCC)SCCC VJYFKVYYMZPMAB-UHFFFAOYSA-N 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 239000002991 molded plastic Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000004033 plastic Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
- Storage Device Security (AREA)
Abstract
データの暗号化を改善するシステムおよび方法が提供される。改善されたデータ暗号化プロセスは、格納されるデータや送信されるデータに対して用いることができ、また、ポータブル・ストレージ・デバイスのデータに対して用いることができる。システムは、データ・ファイルを暗号化するためにパスワード入力を受け取ることができる。システムは、パスワード入力の各バイトに基づいて数学関数を受け取ることができる。システムは、次に、各数学関数をデータ・ファイルの各バイトたに対して用いることができる。データ・ファイルに対して各数学関数を用いることを反復することができる。データ・ファイルのバイトの位置を置き換えること、およびデータ・ファイルへフィラー・バイトを付加することができる。システムはまた、データ・ファイルの開始バイトの位置を調節する。【選択図】図16
Description
関連出願に対する相互参照
[0001] 仮出願ではない本特許出願は、2017年12月1日に出願され、発明の名称が「SYSTEMS AND METHODS FOR IMPROVED DATA ENCRYPTION」である米国仮出願第62/593603号に基づく優先権を主張するものであり、この言及により、この米国仮出願の全体がここに組み込まれる。
[0001] 仮出願ではない本特許出願は、2017年12月1日に出願され、発明の名称が「SYSTEMS AND METHODS FOR IMPROVED DATA ENCRYPTION」である米国仮出願第62/593603号に基づく優先権を主張するものであり、この言及により、この米国仮出願の全体がここに組み込まれる。
分野
[0002] 本開示は、一般には、データ暗号法と関連し、より具体的には、ポータブル・ストレージ・デバイスにおけるデータ暗号化を改善するシステムおよび方法と関連する。
[0002] 本開示は、一般には、データ暗号法と関連し、より具体的には、ポータブル・ストレージ・デバイスにおけるデータ暗号化を改善するシステムおよび方法と関連する。
[0003] デバイス間での通信は、典型的には、インターネットやローカル・エリア・ネットワークなどのようなネットワーク上で行われる。しかし、ネットワークは、デバイス間での通信のために常に使用可能であるとは限らず、更には、通信が露出されてネットワーク上でセキュリティが突破されてしまうことがあり得る。Bluetooth(登録商標)を用いてイネーブルにされるデバイスは、直接に通信することができる。しかし、Bluetooth(登録商標)によりイネーブルにされるデバイスは、制限された範囲内にある必要があり、また、通信速度は比較的遅くなり得る。消費者は、1つのデバイスに格納されたファイルを有しており、別のデバイスからそのファイルへアクセスすることを望むことがあり得る。インターネット接続無しで、またはデータ通信サービスのデータを使用せずに、ファイルを転送することは困難であり得る。更に、情報を転送すると、その情報がハッカーに対して露出され、セキュリティが突破されてしまうことがあり得る。
[0004] 情報をポータブル・ストレージ・デバイス(例えば、USBスティック)に格納して、或るデバイスから第2のデバイスへのデータの物理的な転送を容易にすることができる。ストレージ・デバイスに保持したデータは暗号化することができ、第三者がデータへアクセスして見ることを部分的に妨げることができる。典型的な暗号化の方法は、暗号を用いて、暗号化し易いが暗号を知らなければ逆にすることが困難であるデータを作るか、または、一方向ハッシュを用いて、一致するように比較して確認することができるハッシュ値を作るが、格納されたデータはその後は見ることができなくなる。典型的な暗号化の方法は、ハッカーや第三者による攻撃の影響を受けやすい。
[0005] ポータブル・ストレージ・デバイスのデータ・ファイルの暗号化のシステムおよび方法が開示される。システムは、パスワード入力に基づいて複数の数学関数を取り出すことができる。システムは、数学関数を、データ・ファイルの各バイトに対して用いることができる。システムは、パスワード入力に基づいて、データ・ファイルのバイトの位置を置き換えることができる。システムは、パスワード入力に基づいて、データ・ファイルへフィラー・バイト(filler byte)を付加することができる。システムはパスワード入力に基づいて、データ・ファイルの開始バイト位置を調節することができる。
[0006] データは、ポータブル・ストレージ・デバイスを含む任意のデバイスでのエンクローズド・プロセス(enclosed process)を用いて暗号化することができる。システムおよび方法は、データの一方向暗号化のための機構を提供することができ、これは、データの暗号化に使用されたパスワード/キーと同じもの無しでは、それ自体で逆にすることできない。例えば、ユーザは、選択したデータ・ファイルを暗号化するためにパスワード/キーを入力することができる。その選択されたデータ・ファイルは、データ・ファイルのバイトに対して様々な数学関数を用いることにより、また、データ・ファイルにおいてバイトを再配置および付加することにより、暗号化されることができ、これらは全てパスワード/キーに基づくものである。パスワード/キーは、格納されず、また、暗号化されたデータに含まれないので、暗号化されたデータのセキュリティが増加され、パスワード/キーが危険にさらされる可能性が低減される。ユーザは、暗号化されたデータ・ファイルの暗号化解除のためにパスワード/キーを入力することができる。ユーザは、暗号化解除が成功したかどうかを、暗号化解除したデータを見ることによってのみ知ることができる。暗号化解除プロセスの間における誤ったパスワード/キー(例えば、元の入力されたパスワード/キーと一致しないパスワード/キー)の入力に応答し、得られる暗号化解除されたデータは、暗号化前の元のデータとは異なるものとなる。
[0007] 更に完全な理解は、図面と関連させて詳細な説明および特許請求の範囲を参照して考慮することにより、導き出されることができ、それらの図面では、同じ参照番号は類似のエレメントを指す。
[0024] ここでの例示の実施形態の詳細な説明では、様々な実施形態を例示する添付の図および絵を参照する。それらの様々な実施形態は、当業者が本開示を実施できるように十分詳細に説明されるが、本開示の精神および範囲から離れずに、他の実施形態を実現でき得ることと、論理的および機械的な変更を行え得ることとを、理解すべきである。すなわち、ここでの詳細な説明は、例示のみを目的として示され、限定は目的としていない。例えば、何れかの方法やプロセスの記載において説明されているステップは、任意の順に実行することができ、示された順に限定されない。更に、何れかの機能やステップは、1以上のサード・パーティーへ委託することや、サード・パーティーにより行われるようにすることができる。更に、単数についての言及は、複数の実施形態を含み、また、1より多くのコンポーネントについての言及は、単一の実施形態を含み得る。
[0025] 本開示は、システム、方法、およびコンピュータ・プログラム製品に関する。ここでの詳細な説明では、「様々な実施形態」、「1つの実施形態」、「実施形態」、「例示の実施形態」などに対する言及は、説明される実施形態が特定の構成や構造や特徴を含み得ることを示すが、全ての実施形態がその特定の構成や構造や特徴を必ずしも含むとは限らない。更に、そのような語は、同じ実施形態を必ずしも言及するとは限らない。更に、特定の構成や構造や特徴が実施形態と関連して記載されている場合、そのような特定の構成や構造や特徴を他の実施形態と関連して実施することは、それが明確に記載されているか否かにかかわらず、当業者の知識の範囲内でなされることを、述べておく。記載を読んだ後、代替の実施形態において本開示をインプリメントする方法が、当業者には明らかとなるであろう。
[0026] ここではデータの暗号化を改善するシステムおよび方法が開示される。データは、ポータブル・ストレージ・デバイスを含む任意のデバイスでエンクローズド・プロセスを暗号化用いて暗号化することができる。システムおよび方法は、データの一方向暗号化のための機構を提供することができ、これは、データの暗号化に使用されたパスワード/キーと同じもの無しでは、それ自体で逆にすることできない。ユーザは、選択したデータ・ファイルを暗号化するためにパスワード/キーを入力することができる。ここで後に説明するように、その選択されたデータ・ファイルは、データ・ファイルのバイトに対して様々な数学関数(パスワード/キーに基づく)を用いることにより、また、データ・ファイルにおいてバイトを再配置および付加することにより、暗号化されることができる。パスワード/キーは、格納されず、また、暗号化されたデータに含まれないので、暗号化されたデータのセキュリティが増加され、パスワード/キーが危険にさらされる可能性が低減される。また、本開示は、暗号化解除が成功したか成功しなかったかについてのチェックまたは確認をしないことにより、暗号化されたデータのブルート・フォース攻撃に対しての感受性を低減することができる。この点に関して、ユーザは、暗号化解除が成功したかどうかを、暗号化解除したデータを見ることによってのみ知ることができる。暗号化解除プロセスの間における誤ったパスワード/キーの入力に応答し、得られる暗号化解除されたデータは、暗号化前の元のデータとは異なるものとなる。
[0027] ここで説明するシステムおよび方法は、SCSを暗号化用いて、インターネットや他のネットワークへの接続無しで、デバイス間での通信を可能にすることができる。標準化された通信システム(「SCS」(standardized communication system))は、本開示のコンピューティング・デバイスで動作させることができる。SCSは、ハードウェアおよび/またはソフトウェアの任意の組み合わせを含むことができる。SCSは、他の任意のデバイスとの通信のために、802.11または802.2(2)ワイヤレス・チップやBluetooth(登録商標)システムなどのような、デバイスの既存の物理コンポーネントを用いることができる。SCSは、IP、TCP/UDP、Bluetooth(登録商標)、生マンチェスター・エンコーディング(raw Manchester encoding)、および他の任意のワイヤレス通信形態などのような、任意の通信プロトコルに適し得る。
[0028] SCSは、様々な形式およびプラットフォームのデバイス間での通信を可能とすることができる。更に、ネットワークを介してデータを送信せずに直接にデバイス間で通信を行うことができるので、ネットワークが使用できないときに通信を行うことができ、また、ネットワーク上の盗聴者から通信を保護することができる。更に、デバイス間での直接の通信は、セルラ・データ・プランでのデータ課金を避けることができる。
[0029] 図1を参照すると、様々な実施形態に従った、メッセージを送信するためのシステム100が示されている。SCS112を含む第1デバイスと、SCS122を含む第2デバイス120とが、様々な実施形態に従って示されている。様々な実施形態において、SCS112およびSCS122は、第1デバイス110および第2デバイス120へインストールされたアフターマーケットのソフトウェアとすることができる。例えば、ユーザは、SCSアプリ(SCS app)をスマートフォンや他のデバイスにダウンロードすることができる。しかし、様々な実施形態において、S112およびSCS122は、第1デバイス110および/または第2デバイス120における802.11ワイヤレス・チップなどのようなチップへ、埋め込むことができる。
[0030] 様々な実施形態において、SCSは、標準化した通信プロトコル(「SCP」)をデバイスでインプリメントすることができる。SCPは、データグラム150をSCPデータグラムとして識別するように、SCPヘッダー152をパケットへ添付することができる。第1デバイス110は、SCPを介して第2デバイス120と通信することができる。SCSは、SCPヘッダーを認識し、SCPに従うことができる。SCPは、デバイスに関しての、互いの探索、生データの転送の要求、データ受信時の確認の送信、およびデータ送信と関連する他の何れかのステップの実行のための能力を、定義することができる。
[0031] 様々な実施形態において、SCSは、開放型システム間相互接続(「OSI」)モデルにおけるネットワーク層(またはTCP/IPモデルにおけるインターネット層)で、インプリメントすることができる。トランスポート層で使用されるプロトコル(例えば、TCP、UDP、SCTP、DCCP)にかかわらず、SCPヘッダーは、SCSを含むデバイスがSCPを介して通信することを、可能とすることができる。
[0032] 様々な実施形態において、第1デバイス110と第2デバイス120との少なくとも1つは、スマートフォンを含むことができる。しかし、様々な実施形態において、第1デバイス110および第2デバイス120は、データの送信および/または受信が可能な任意の形式のデバイスを含むことができる。
[0033] 図2を参照すると、様々な実施形態に従った、デバイス間でデータを送信するためのプロセス200が示されている。様々な実施形態において、第1ユーザは、第1デバイス110から第2デバイス120へデータを送信することを望む。データは、テキスト・メッセージ、イメージ、ビデオ、テキスト文書、または他の任意の形式のファイルなどのような、任意の形式のデータを含むことができる。
[0034] 第1デバイス110は、使用可能なデバイスを探索する(ステップ210)。第1デバイス110は、様々な方法により他のデバイスの探索を試みる。様々な実施形態において、第1デバイス110は、カメラや他の光学デバイスを介して、他のデバイスを探索することができる。様々な実施形態において、第2デバイス120は、QRコード(登録商標)やバーコードやテキストなどのようなシンボルを表示する。シンボルは、第2デバイス120についての識別用特徴を含むことができる。例えば、様々な実施形態において、識別用特徴は、デバイス名、デバイスのIPアドレス、所有者名、デバイスのエンドポイント、およびデバイス上の使用可能なトランスポート層のうちの少なくとも1つを含むことができる。第1デバイス110は、カメラを用いてシンボルをスキャンすることができる。第1デバイス110は、シンボルから識別用特徴を得て、データを第2デバイス120へ送信するために、その識別用特徴を用いることができる。
[0035] 様々な実施形態において、第1デバイス110のSCSは、第1デバイス110内のワイヤレス・チップを用いて、他のデバイスを探すことができる。SCSを含むデバイスは、ブロードキャスト・メッセージを送信することができる。ブロードキャスト・メッセージは、デバイスの識別用特徴を含むことができる。様々な実施形態において、第1デバイス110は、第2デバイス120の送信範囲内にあり得る。送信範囲は、第1デバイス110および第2デバイス120のワイヤレス・チップの特定の形式に応じたものである。しかし、様々な実施形態において、送信範囲は、約200フィートないし300フィート(約60メートルないし90メートル)までとすることができる。SCSは、ブロードキャスト・メッセージを聞き取れるように、第1デバイス110のソケットを開くことができる。ブロードキャスト・メッセージは、様々なハードウェアにより送ることができる。例えば、ブロードキャスト・メッセージは、802.11ワイヤレス・チップや、Bluetooth(登録商標)チップや、NFCを介して送信することができる。
[0036] 様々な実施形態において、第1デバイス110および第2デバイス120は、互いに通信範囲内にない場合がある。しかし、ホットスポット技術を装備したスマートフォンなどのような中間デバイスが、第1デバイス110の送信範囲内にある場合がある。第1デバイス110は、中間デバイスへメッセージを送り、使用可能なデバイスを探すことを中間デバイスへ指示することにより、使用可能なデバイスを探すことができる。中間デバイスは、第2デバイス120からブロードキャスト・メッセージを受信し、中間デバイスは、そのブロードキャスト・メッセージを第1デバイス110へ送信することができる。したがって、第1デバイス110は、第1デバイス110が第2デバイス120の送信範囲内になくとも、インターネットやセルラ・ネットワークへ接続せずに、第2デバイス120を探索することができる。様々な実施形態において、任意の数の中間デバイスをデイジー・チェーンでつなぐことができ、それにより、第1デバイス110は、数マイル(1マイル=約1609m)離れたところから、一連の中間デバイスを介してデータを送信することにより、第2デバイス120を探索することができる。
[0037] 第1デバイス110は、発見された全てのデバイスのリストを、ユーザに表示することができる。ユーザは、データを第2デバイス120へ送信するために、第2デバイス120を選択することができる。ユーザは、第2デバイス120へ送信されるファイルやメッセージを選択することができる。
[0038] 第1デバイス110のSCS112は、送信のために使用する送信ハードウェアを決定する(ステップ220)。様々な実施形態において、第1デバイス110および第2デバイス120のそれぞれは、802.11ワイヤレス・チップなどのような1つの形式のみの送信ハードウェアを有し、したがって、SCS112は、データを送信するために802.11ワイヤレス・チップを選択する。しかし、様々な実施形態において、第1デバイス110と第2デバイス120との間で、複数の送信経路が使用可能であり得る。例えば、第1デバイス110および第2デバイス120のそれぞれは、802.11ワイヤレス・チップとBluetooth(登録商標)チップとを有することができる。様々な実施形態において、SCS112は、最速の送信経路を決定することができ、データを送信するために、その最速の送信経路を選択することができる。様々な実施形態において、送信経路は、デフォールト設定により選択することができる。例えば、SCS112は、802.11ワイヤレス経路を送信に使用可能なときには常にそれを選択し、SCS112は、802.11ワイヤレス経路が使用できない場合に、Bluetooth(登録商標)経路を選択することができる。しかし、様々な実施形態において、第1デバイス110のSCS112は、それぞれの使用可能な送信経路を介して、速度テスト・メッセージを第2デバイス120へ送信し、SCS112は、速度テストの結果に基づいて、最速の送信経路を選択することができる。
[0039] 様々な実施形態において、SCS112は、第1デバイス110に対して、複数の送信経路を介してデータを第2デバイス120へ送信するように、命令することができる。メッセージは、複数のパケットへと分割することができる。SCS112は、使用可能な送信経路を分析して、メッセージ全体の送信を速くするために、複数の送信経路を介してメッセージを送ることができる。例えば、SCS112は、メッセージを送信する最速の方法は、90%のパケットを802.11ワイヤレス経路を介して送信し、10%のパケットをBluetooth(登録商標)経路を介して送信することである、と決定することができる。SCS112は、802.11ワイヤレスを介するかBluetooth(登録商標)を介するかにかかわらず、第2デバイス120へ送信される各パケットへSCPヘッダーを添付する。したがって、デバイス120のSCS122は、それらのパケットを、SCPで受信されたパケットとして認識し、SCS122は、メッセージ全体を再構築するためにパケットを再構成する。様々な実施形態において、SCS112は、最速の送信方法を選択するために、使用可能な全ての送信経路を分析することができ、それらの送信経路は、限定するわけではないが、複数の802.11ワイヤレス・チップ、Bluetooth(登録商標)チップ、NFC、PDQ、または他の任意の送信経路を含む。第1デバイス110のSCSは、ファイル送信プロトコルを開始し、データを第2デバイス120へ送信する(ステップ230)。
[0040] 様々な実施形態において、第1デバイス110および第2デバイス120は、同じローカル・ネットワークへ接続することができる。第1デバイス110は、QRコード(登録商標)などのようなリンクを、セルラ・ネットワークやローカル・ネットワークを介して、第2デバイス120へ送信する。様々な実施形態において、リンクは、10kb以下のデータを含むことができる。第2デバイス120は、ファイル転送の要求または受け入れのために、リンクを用いることができる。第1デバイス110は、ローカル・ネットワークを介して、ファイルを送信することができる。様々な実施形態において、ファイルは、TCP/IPを直接に用いてローカル・ネットワークを介して、転送することができる。
[0041] 様々な実施形態において、第2デバイス120は、インターネット接続へアクセスすることができる。第1デバイス110は、セルラ送信経路を介して、リンクを第2デバイス120へ送信することができ、第2デバイス120は、クラウドおよび/またはサーバに格納されているファイルを、インターネットを介してダウンロードするために、そのリンクを用いることができる。様々な実施形態において、第2デバイス120は、TCP/IPを用いてファイルをダウンロードすることができる。
[0042] 様々な実施形態において、第1デバイス110は、そのコンテンツをクラウド・データベースと同期させることができる。様々な実施形態において、第1デバイス110はSCSフォルダーを含むことができ、SCSフォルダーに格納されているファイルのみを、データベースと同期させることができる。第1デバイス110は、セルラ送信経路を介して第2デバイス120へリンクを送信して、データベースに格納されているファイルを識別できるようにする。様々な実施形態において、第2デバイス120は、第2デバイス120がリンクを受信した時点では、802.11ワイヤレス・ネットワークへのアクセスを行えない場合がある。第2デバイス120は、第2デバイス120が802.11ワイヤレス・ネットワークへのアクセスを得られるときにはいつも、セルラ・データ課金を避けるために、そのリンクを用いてファイルへアクセスすることができる。様々な実施形態において、第2デバイス120は、セルラ・ネットワークを介してファイルへアクセスするためのリンクを、用いることができる。様々な実施形態において、第2デバイス120は、セルラ・ネットワークと802.11ワイヤレス・ネットワークとの何れかを介して、ファイルの全てまたは一部をストリームで送ることができる。
[0043] 様々な実施形態において、第1デバイス110は、オンライン・フォルダーを、第2デバイス120と共有することができる。第1デバイス110は、第2デバイス120がオンライン・フォルダーへアクセスできることを、示すことができる。第1デバイス110はオンライン・フォルダーと同期して、第1デバイス110に格納さけたファイルをオンライン・フォルダーへアップロードすることができる。第2デバイス120はオンライン・フォルダーと同期して、オンライン・フォルダーに格納されているファイルを第2デバイス120へダウンロードすることができる。
[0044] 図3を参照すると、様々な実施形態に従ったファイル送信プロトコル(file send protocol)のプロセス300が示されている。第1デバイス110は、第2デバイス120との接続を確立させるための要求を送信する(ステップ310)。様々な実施形態において、接続は、TCP接続を含むことができる。しかし、様々な実施形態において、接続は、デバイス間でデータを送信するための任意の形式の接続とすることができる。第2デバイス120は、接続要求を受け入れる(ステップ320)。様々な実施形態において、接続は、第1デバイス110および第2デバイス120のセキュアなソケット間でのものとすることができる。
[0045] 様々な実施形態において、第1デバイス110は、暗号ブックを含むメッセージを、第2デバイス120へ送信する(ステップ330)。暗号ブックは、ワンタイム暗号リストを含み、第2デバイス120が、ワンタイム暗号を用いてセキュアなソケットを介して第2デバイス120へ送信されたデータの暗号化解除を行うことを、可能とする。様々な実施形態において、第1デバイス110は、高度暗号化標準(Advanced Encryption Standard)(AES)やRSA暗号化などのような既知の暗号化方法を用いて、暗号ブックを含むメッセージを暗号化することができる。しかし、転送セッション中の後続のメッセージは、暗号ブックに含まれるワンタイム暗号を用いて暗号化することができる。ワンタイム暗号を用いて暗号化されたメッセージは、AESやRSAを用いて暗号化されたメッセージよりも、大幅に少ない処理力および時間で暗号化および暗号化解除することができる。更に、ワンタイム暗号を用いて送られたメッセージは、暗号ブックを含まないパーティーでは暗号化解除することができない。
[0046] 第1デバイス110は、ファイル転送要求を送る(ステップ340)。ファイル転送要求の例については、図5を参照されたい。第2デバイス120は、ファイル転送要求を受け入れる(ステップ350)。第2デバイス120がファイル転送要求を受け入れたことに応答して、第1デバイス110は、ファイルをセグメントへと分解して、第2デバイス120へのセグメントの送信を開始する(ステップ360)。第1デバイス110がファイルの全セグメントを送信した後、第1デバイス110は、第2デバイス120が全セグメントを受信したことの確認を待つ。第2デバイス120は、全セグメントを受信したことを示す確認メッセージを、第1デバイス110へ送信する(ステップ370)。第2デバイス120は、ファイルを再構築するために、SCPに従ってセグメントの暗号化解除を行い再構成する(ステップ380)。
[0047] 図4を参照すると、様々な実施形態に従った探索プロトコル400の例が示されている。探索プロトコル400は、TCP/UDPを用いてトランスポート層にインプリメントすることができる。しかし、様々な実施形態において、探索プロトコルは、Bluetooth(登録商標)シリアル・ポートやRS−232を用いてインプリメントすることや、データグラムまたはWinsows(登録商標)Socket API(WSA)を介して全体を送ることができる。例示の実施形態におけるLocalClientは、デバイス名、ユーザ名、プリビュー・イメージ、およびエンドポイント(この場合はIPアドレスおよびポート)などのようなデバイスの識別用特徴が書き込まれる、IDiscoveredClient(図5)クラスの新たなインスタンスであり得る。第1デバイス110は、ブロードキャスト・メッセージに対して新たなソケットを開くことができる(410)。第1デバイス110は、ブロードキャスト・メッセージへの応答のために、第1デバイス110が待ち受けているIPアドレスを送信することができる(420)。第1デバイス110は、応答メッセージを聞き取れるように、新たなデータグラム・ソケットを開くことができる(430)。応答メッセージを受信した後、第1デバイス110は、応答メッセージを、第1デバイス110の送信した元のIDiscoveredClientメッセージへと、暗号化解除することができる(440)。
[0048] 図5を参照すると、様々な実施形態に従った、例示の探索プロトコル500のための定義が示されている。定義は、送信側デバイスおよび受信側デバイスによりインプリメントすることができるIDiscoveredClientと呼ばれる1つの共通クラスとすることができる。様々な実施形態において、定義は、ユーザの望み得るカスタムのフィールドや他の任意の情報を含むように、拡張することができる。様々な実施形態において、定義は、デバイスの名前(510)、デバイスのIPアドレス(520)、デバイスの所有者(530)、およびデバイスのエンドポイント(540)、およびデバイスが発見されたトランスポート層(550)を含むことができる。しかし、当業者は、使用される特定のフィールドを任意の望まれるフィールドに置換でき得ることを、理解するであろう。
[0049] 図6を参照すると、様々な実施形態に従った例示のファイル転送要求プロトコル600の定義が示されている。定義は、「IFileTransferRequest」と呼ぶことができる。様々な実施形態において、定義は、ファイルを送信するデバイスの名前(610)、送られるファイル名(620)、ファイルのサイズ(630)、ファイルを受信するデバイス(640)、ファイル転送に対する一意の識別(650)、およびファイル転送と関連するトランスポート層(660)を含むことができる。
[0050] 図7を参照すると、様々な実施形態に従った、ファイル転送要求への応答700の定義が示されている。受信側デバイスは、受信側デバイスがファイル転送を受け入れることを示すように、IFileTransferResponseと呼ばれる定義を用いて応答することができる。様々な実施形態において、IFileTransferResponseは、ユーザからの応答(710)とファイル転送に対する一意の識別(720)とを含むことができる。送信側デバイスは、受信側デバイスから応答を受信し、送信側デバイスは、受信側デバイスへのファイルの送信を進める。ファイル転送が完了すると、受信側デバイスは、送信側へ確認を送信する(730)。
[0051] 図8を参照すると、様々な実施形態に従った、ポータブル・ストレージ・デバイス(「PSD」)800が示されている。PSD800は、情報を格納できる任意のタイプのポータブル・デバイスを含むことができる。例えば、そして、様々な実施形態に従うと、PSD800は、モジュール式の構成をサポートすること、および/または2017年7月7日に出願され発明の名称が「PORTABLE STORAGE DEVICE WITH MODULAR POWER AND HOUSING SYSTEM」である米国出願第15/644556号に開示されたポータブル・ストレージ・デバイスと類似の外部ハウジング、モバイル・コンピューティング・デバイス(例えば、タブレット、スマートフォン、スマート・ウォッチ、ラップトップなど)のためのケース、および/またはそれらと類似のものを、含むことができる。PSD800はまた、ウエアラブル・デバイス、小型時計、ネックレス、電話ケース、スマートフォン、ラップトップ/ノートブック、モバイル・ワークステーション、インプラントされるチップ、衣類、財布などを含むことができる。
[0052] PSD800は、ストレージ・モジュール810、通信モジュール820、プロセッサ830、およびバッテリ805を含むことができる。ストレージ・モジュール810は、メモリ・カードを含むことができる。例えば、ストレージ・モジュール810は、SDカード、xDカード、CompactFlash(コンパクトフラッシュ)(登録商標)カード、または任意の他の適切なメモリ・カードを含むことができる。ストレージ・モジュール810は、iSSD、SSD、iNAND、またはフラッシュSDなどのような内部メモリを含むことができる。通信モジュール820は、ワイヤレス通信が可能な1以上のコンポーネントを含むことができる。例えば、通信モジュールは、802.11または802.2(2)ワイヤレス・チップや、Bluetooth(登録商標)チップや、NFCチップなどを含むことができる。プロセッサ830は、命令をストレージ・モジュール810および通信モジュール820へ提供できるハードウェアおよび/またはソフトウェアの任意の組み合わせを含むことができる。
[0053] PSD800は、先に述べたように、標準通信システム(「SCS」)を含むことができる。SCSは、先に述べたように、標準通信プロトコル(「SCP」)を介して通信できるハードウェアおよび/またはソフトウェアの任意の組み合わせとすることができる。様々な実施形態では、SCSは、ストレージ・モジュール810と通信モジュール820とプロセッサ830とのうちの少なくとも1つのものにインプリメントすることができる。PSD800は、スマートフォン、テレビジョン、ゲーム・コンソール、タブレット、パーソナル・コンピュータ、プリンターなどのような他のデバイスと、ファイル及び通信を、ワイヤレスで受信および送信することができる。SCSにより、PSD800は、何れかの特定の銘柄や製造者のデバイスとの通信に限定されないようにできる。対照的に、PSD800は、複数のプラットフォームを通して通信することができるものであり、Apple(登録商標)のデバイス、Android(登録商標)のデバイス、Windows(登録商標)のデバイス、UNIX(登録商標)のデバイス、または任意の他の適切なデバイスなどと通信することができる。
[0054] 様々な実施形態では、PSD800は、ユーザが何処へ行ったときにでも、ユーザがユーザのファイルヘアクセスすることを、可能にすることができる。例えば、ユーザは、ラップトップ・コンピュータに格納された文書を有する。ユーザは、SCSを用いて、その文書をラップトップ・コンピュータからPSD800へ送信することができる。PSD800は、その文書をストレージ・モジュール810に格納することができる。次に、ユーザは、SCSを用いて、その文書をPSD800からスマートフォンなどのような別のデバイスへ送信することができる。
[0055] 様々な実施形態では、PSD800は、他のデバイスと、ネットワークを使用せずに直接に通信することができる。従って、情報を、PSD800と他のデバイスとの間で安全に送信することができる。しかし、様々な実施形態では、PSD800は、通信モジュール820のワイヤレス・チップを用いて、ネットワークを介して通信することができる。通信モジュール820は2つのワイヤレス・チップを含むことができ、PSD800が、第1ワイヤレス・チップでのネットワークを通じての通信と、第2ワイヤレス・チップでの別のデバイスとの直接の通信とを同時に行うことを、可能にすることができる。
[0056] 様々な実施形態では、PSD800は、データをデバイスに格納せずにそのデータがデバイスからPSD800へ転送されることを、可能にすることができる。例えば、スマートフォンは、ピクチャをキャプチャし、スマートフォンのハード・ドライブにそのピクチャを格納せずにスマートフォンのRAMを用い、そのピクチャをPSD800へ直接に送信することができる。従って、スマートフォンは、紛失、盗難、売却、または寄贈されることがあっても、そのピクチャや、PSD800に格納されているがスマートフォンには格納されていない他のデータが、第三者により獲得される危険性が無い。同様に、ユーザは、ラップトップなどのようなデバイスのSCSを起動し、そのデバイスを用いてPSD800に格納されたファイルを開くことができる。ユーザは、そのデバイスでそのファイルを編集し、編集したファイルをそのデバイスでセーブせずに、直接にPSD800でセーブすることができる。
[0057] ユーザは、ユーザのファイルの全てを格納するためにPSD800を用いることができる。ユーザがPSD800にあるファイルへアクセスするために何れのデバイスを用いているかにかかわらず、ユーザは、パーソナル・コンピュータなどのような別のデバイスを用いてPSD800で直接にファイルの作成、編集、および削除を行うことができる。様々な実施形態において、PSD800はネットワーク・ドライブをエミュレートすることができる。したがって、PSD800は、カスタムのソフトウェアのダウンロードやインストールをできないデバイスと通信することができる。例えば、PSD800は、DLNA(登録商標)メディア・デバイスやWindows(登録商標)ネットワークをエミュレートすることができる。PSD800は、デバイスでパスワードが入力されることを要求し、その後、デバイスはPSD800に格納されたファイルへアクセスすることができる。
[0058] 様々な実施形態において、PSD800は、バッテリ805を充電するときに自動的に同期することができ、ワイヤレスで又は充電ケーブルで充電することができる。PSD1010は、同期を開始する前に所定のバッテリ・レベルへ到達し得る。例えば、充電器上へ置かれたとき、PSD1010は、バッテリ・レベルが少なくとも50%、または少なくとも90%に到達したことに応答して、同期を開始することができる。PSD1010は、サーバ1030やローカル・デバイスや別のPSDなどのような、ユーザにより指定された何れかの位置へ同期することができる。
[0059] 様々な実施形態において、PSD800は、任意の適切な寸法および形状を有する任意の適切なフォーム・ファクタを含むことができる。例えば、また、図9A−9Cを参照すると、PSD900は、ハウジング902を含むことができる。ハウジング902は、金属、プラスチック、および/またはゴムを含む材料で作られることができる。例えば、ハウジング902は、打ち抜きや融着されたアルミニウムのシートや、成形されたプラスチックや、他の適切な材料で作られることができる。また、ハウジング902は、熱の発散を増やすように熱伝導性材料で作られることができる。様々な実施形態において、ハウジング902は、直方体の形状または長斜方形の形状を有することができる。各側面は、各側面の内側の面に対向する側面と実質的に合同である寸法を有することができる。この点に関して、ハウジング902は、3対の似た寸法を有する側面を有することができる。ハウジング902の寸法が小さければ、後に詳細に説明するモジュール式ストレージおよび電力解決策(power solution)における使用に適し得る。表面915の周囲とハウジング902の他の側面との境界は丸みのある縁部919とすることができる。
[0060] ハウジング902の表面は、様々なインターフェースおよびコンポーネントを露出した状態にしておくことができる。例えば、ハウジング902の表面905は、電子インターフェース・パネル904を含むことができる。電子インターフェース・パネル904は、更に、表面905から少し突き出た、またはそれと同一平面の、またはそれから少しくぼんだ導電性パッド906を含むことができる。導電性パッド906は、表面905と接触するか近傍にある対向する面に形成された導電性ピンおよび/または導電性パッドとの電気的接続を形成することができる。様々な実施形態において、電子インターフェース・パネル904は、更に、ハウジング902から露出しているデータ・ポート908を含むことができる。データ・ポート908は、所定の形式の電子的接続を介して電力および/または信号を送るように構成されることができる。例えば、データ・ポート908は、USB、ファイアーワイヤ(登録商標)、ライトニング・ケーブル、SATA、PCIe、またはデータおよび/または電力の送信のための他の適切なケーブル・インターフェースなどのようなプロトコルを、用いることができる。データ・ポート908はまた、プロプリエタリのピン構成およびスロット形状を用いることができる。
[0061] 様々な実施形態において、ハウジング902は、図9Bの上面図で示す矩形の形状の表面915を更に含む。表面915は、電源ボタンおよび/または光源910と、インターフェース・ボタンおよび/または光源912とを含むヒューマンI/Oインターフェース914を含むことができる。照明は、発光ダイオードや他の低電力消費の光源からのもとすることができる。電源ボタン910およびインターフェース・ボタン912は、静電容量式タッチ・ボタン、作動ボタン、またはユーザによるタッチ・コントロールに適切な他の入力機構を含むことができる。ハウジング902はまた、様々な実施形態においてマイクロフォンや他のI/Oデバイスを保持することができ、それにより、ユーザは、例えば、音声コマンドを用いて、ポータブル・ストレージ・デバイス900と対話することができる。ここで図9Cを参照すると、様々な実施形態に従ったハウジング902の側面図が示されている。電子インターフェース・パネル904は、表面921に設定されることができ、表面921から露出した導電性パッド906およびデータ・ポート908を備える。表面921に設定されたコンポーネントは、表面921の縁部から表面921の対称および/または非対称の位置へずらすことができる。
[0062] ここで図10A−10Cを参照すると、様々な実施形態に従った、モバイル・コンピューティング・デバイスのためのケース1012が、ポータブル・ストレージ・アセンブリ1010として示されている。ケース1012は、例えば、タブレット、スマートフォン、スマート・ウォッチ、ラップトップ、または他の適切なコンピューティング・デバイスなどのようなポータブル・コンピューティング・デバイスにフィットし得る。ケース1012は、コンピューティング・デバイスを保持するために、コンピューティング・デバイスの輪郭と一致する内部輪郭を有することができる。ケース1012は、外面に1以上の開口部を設定し、コンピューティング・デバイスがケース1012内に保持されることに応じて、コンピューティング・デバイスの入力部、出力部、ボタン、およびそれらと同様のものへアクセスすることを、可能とすることができる。例えば、ケース1012は、コンピューティング・デバイスがケース1012内に保持されているときに、コンピューティング・デバイスが電源(例えば、USBタイプCインターフェース、アップル・アイフォン(登録商標)ライトニング・コネクタなど)、3.5mmオーディオ入力、またはそれらと同様のものとインターフェースすることを可能にするための開口部を設定することができる。ケース1012は、PSD900を受けて保持ために適切な形状を有する窪み1014を設定することができる。この点に関して、PSD900は、取り外し可能にケース1012と結合することができ、窪み1014は、ポータブル・ストレージ・デバイスの5つの側面を反映する形状を有することができ、開口はポータブル・ストレージ・デバイスの表面のような形状とされている。従って、窪みは、5つの直交する表面により設定されることができる。PSD900は、表面がケース1012の内側と同じ高さになるように置かれることができる。
[0063] 様々な実施形態において、ケース1012は、データ・ポート908や導電性パッド906(例えば、図9A−9Cのもの)との通信に適切なインターフェース1018を含むことができる。インターフェース1018は、ワイヤなどのような電気的コンジット1017により、データ・プラグ1016と電気的に接続することができる。データ・プラグ1016は、ケース1012内に保持されるコンピューティング・デバイスの対応するデータ・ポートとインターフェースすることができる。従って、データ・プラグ1016は、例えば、スマートフォンの底部ポートへプラグ・インして、ケース1012をスマートフォンへ電気的に結合することができる。ケース1012は、窪み1014のみならず、ここで説明するPSD900および関連するコンポーネント(例えば、電源)を収容するように構成された突出部1022を、更に含むことができる。
[0064] 様々な実施形態において、ケース1012は、ポータブル・ストレージ・デバイス900、電源、印刷回路基板PCB(PCB)、またはケース1012内に保持される他の電子デバイスの間での電気的通信を可能にすることができる。更に、ケース1012は、ケース1012内に保持されるモバイル・デバイスへの、および/またはそれからの、電力および/または信号の通信を可能にすることができる。ポータブル・ストレージ・デバイス900はまた、上記のようにケース1012内に保持されたモバイル・デバイスとワイヤレス通信することができる。
[0065] 様々な実施形態において、PSD900はまた、一次モジュールおよび二次モジュールなどのような、互いに結合されるモジュール式コンポーネントを含むことができる。一次モジュールは、プロセッサ、ハード・ドライブ、ワイヤレス・チップ、バッテリなどのようなコンピューティング・コンポーネントを含むことができる。様々な二次モジュールは、バッテリ、充電ステーション、ストレージ・ユニット、LTEホットスポット・デバイス、カバー・プレート、カメラ、バーチャル・リアリティ・ユニット、スピーカー、ビデオ・スクリーン、ユーザ・インターフェースなどのような、一次モジュールと取り外し可能に結合することができる。二次モジュールは、一次モジュールと二次モジュールとを互いに結合するために、一次モジュールの受け側スロットと係合する接続ポストを含むことができる。二次モジュールのアライメント・ポストは、一次モジュールのアライメント窪みと係合することができる。二次モジュールの金属ピンは、一次モジュールのパッドと接触して、一次モジュールと二次モジュールとの間での電子的信号の交換を可能とすることができる。
[0066] 一次モジュールは、カメラ、スマートフォン、テレビジョン、ゲーム・コンソール、タブレット、パーソナル・コンピュータ、プリンタなどのような他のデバイスからファイルおよび通信をワイヤレスで受信および送信することができる。一次モジュールは、アップル(登録商標)のデバイス、アンドロイド(登録商標)のデバイス、ウィンドウズ(登録商標)のデバイス、UNIX(登録商標)のデバイス、または任意の他の適切なデバイスを用いるようなプラットフォームを介して通信することができる。様々な実施形態において、一次モジュールは、ユーザがどこへ行こうと、ユーザがユーザのファイルへアクセスすることを可能にすることができる。例えば、ユーザは、ラップトップ・コンピュータに格納された文書を有することができる。ユーザは、その文書を、ラップトップ・コンピュータから一次モジュールへワイヤレスで送信することができる。様々な実施形態において、一次モジュールは、ネットワークを用いずに、他のデバイスと直接に通信することができる。従って、情報は、一次モジュールと他のデバイスとの間でセキュアに送信されることができる。しかし、様々な実施形態において、一次モジュールは、一次モジュールのワイヤレス・チップを用いて、ネットワークを介して通信することができる。一次モジュールの能力に関する更なる情報に関しては2016年12月2日に出願され発明の名称が「SYSTEMS AND METHODS FOR MEMORY CARD EMULATION」である米国出願第15/367961号を参照するのがよく、この言及により、この米国出願の内容の全体がここに組み込まれる。
[0067] 図11を参照すると、様々な実施形態に従った、エッジ・ピン構成を含む一次モジュール1100の斜視図が示されている。1つのこのような例示のエッジ・ピン構成およびコネクタ・アセンブリは、2018年10月18日に出願され発明の名称が「PORTABLE ELECTRONIC DEVICE CONNECTION SYSTEMS」である米国出願第15/367961号に開示されており、この言及により、この米国出願の内容がここに組み込まれる。一次モジュール1100は、プロセッサ、ハード・ドライブ、ワイヤレス・チップ、バッテリなどのようなコンピューティング・コンポーネントを含むことができる。一次モジュール1100は、一般に、直方体の形状を含むことができ、一次モジュール1100は、6つの側面を含み、各側面は矩形である。一次モジュール1100は、第1ピン・セット1110と第2ピン・セット1120とを含むことができる。第1ピン・セット1110および第2ピン・セット1120は、一次モジュール1100の上側面1102と前側面1104との間の接合部に配置することができる。第1ピン・セット1110および第2ピン・セット1120は、二次モジュールの対応するピンと接続するように構成することができる。
[0068] 一次モジュール1100は、接続ポート1130を更に含むことができる。接続ポート1130は、一次モジュール1100をコンピュータ、カメラ、プリンタなどのような別のコンポーネントへ接続するためのコードを受けるように構成することができる。様々な実施形態において、接続ポート1130は、USBタイプCポート、任意の他のUSBタイプのポート、シリアル・ポート、または他のデバイスへ接続可能な任意の他のタイプの接続ポートとすることができる。しかし、USBタイプCポートは、一次モジュールが非常に薄いパッケージとして構築されることを可能にする。例えば、様々な実施形態において、一次モジュール1100の高さは0.3インチ(約7.6mm)より低い。様々な実施形態において、接続ポート1130は、一次モジュール1100の前側面1104の第1ピン・セット1110と第2ピン・セット1120との間に配置することができる。
[0069] 図12を参照すると、様々な実施形態に従った一次モジュール1100のピン図(pin diagram)が示されている。第1ピン・セット1110は、第1ピン1201、第2ピン1202、第3ピン1203、第4ピン1204、第5ピン1205、第6ピン1206、第7ピン1207、第8ピン1208、第9ピン1209、および第10ピン1210を含むことができる。第2ピン・セット1120は、第1ピン1301、第2ピン1302、第3ピン1303、第4ピン1304、第5ピン1305、第6ピン1306、第7ピン1307、第8ピン1308、第9ピン1309、および第10ピン1310を含むことができる。
[0070] 第1ピン・セット1110に関して、第1ピン1201はバッテリ・パック・プラス・ピンを含むことができ、第2ピン1202はバッテリ・パック・プラス・ピンを含むことができ、第3ピン1203はシステム・グランド・ピンを含むことができ、第4ピン1204はUSB2.0Data(+)ピンを含むことができ、第5ピン1205はUSB2.0Data(−)ピンを含むことができ、第6ピン1206はシステム・グランド・ピンを含むことができ、第7ピン1207はUARTデータ受信ピンを含むことができ、第8ピン1208はUARTデータ送信ピンを含むことができ、第9ピン1209はシステム・グランド・ピンを含むことができ、第10ピン1210はシステム・グランド・ピンを含むことができる。
[0071] 第2ピン・セット1120に関して、第1ピン1301は外部電力プラス・ピンを含むことができ、第2ピン1302は外部電力プラス・ピンを含むことができ、第3ピン1303はバッテリ・パック温度センサ・ピンを含むことができ、第4ピン1304はオン・スイッチ/信号(ロー)ピンを含むことができ、第5ピン1305はリセット信号(ロー)ピンを含むことができ、第6ピン1306はモード選択(ロー)ピンを含むことができ、第7ピン1307はシリアル通信データ・ピンを含むことができ、第8ピン1308はシリアル通信クロック・ピンを含むことができ、第9ピン1309はシステム・グランド・ピンを含むことができ、および第10ピン1310はシステム・グランド・ピンを含むことができる。
[0072] 図13を参照すると、様々な実施形態に従った、電話機ケース1330と、電話機ケース1330へ一次モジュール1100が取り付けられている電話機ケース1330と、電話機ケース1330へ取り付けられた電話機1340とが示されている。電話機ケース1330は、一次モジュール1100に対する二次モジュールとして機能することができる。電話機ケース1330は、任意の特定の電話機モデルに合うように、望まれる寸法に製造することができる。電話機ケース1330は、ハウジング1331を含むことができ、バッテリ1332はハウジング内に配置される。様々な実施形態において、バッテリ1332は。ハウジング1331内に永久的に封入することができる。しかし、様々な実施形態において、バッテリ1332は、電話機ケース1330から取り外し可能とすることができる。
[0073] 電話機ケース1330は、第1ピン・セット1333および第2ピン・セット1334を含むことができる。第1ピン・セット1333および第2ピン・セット1334は、一次モジュール1100のピンとインターフェースするように構成することができる。様々な実施形態において、電話機ケース1330の第1ピン・セット1333および第2ピン・セット1334はオス型ピンとすることができ、一次モジュール1100のピンはメス型ピンとすることができる。様々な実施形態において、一次モジュール1100のピンをオス型ピンとすることができ、第1ピン・セット1333および第2ピン・セット1334をメス型ピンとすることができる。
[0074] 電話機ケース1330はモジュール収容窪み1335を含むことができる。モジュール収容窪み1335は、一次モジュール1100を受けるように構成することができる。モジュール収容窪み1335は、一次モジュール1100と同じ寸法および形状を有することができる。電話機ケース1330は、電話機1340を受けるように構成された電話機収容窪み1336を更に含むことができる。モジュール収容窪み1335は、背壁1337を含むことができ、これは、電話機1340が電話機収容窪み1336へ取り付けられたときに一次モジュール1100を背壁1337と電話機1340との間の位置に維持するように構成される。
[0075] 電話機ケース1330は、電話機ジャック1338を含むことができる。電話機ジャック1338は、電話機1340の接続ポートを介してバッテリ1332および/または一次モジュール1100を電話機1340へ電気的に接続するように、構成することができる。接続ポートは、充電および/または電話機1340への/からのデータの転送に典型的に用いられる標準のポートとすることができる。電話機ケース1330は、一次モジュール1100、パッテリ1332、および電話機ジャック1338を接続する内部ワイヤ1339を含むことができる。
[0076] 図14を参照すると、バッテリ1410を含む二次モジュール1400へ挿入された一次モジュール1100が示されている。二次モジュール1400は、一次モジュール1100およびバッテリ1410を封入することができるハウジング1420を含むことができる。二次モジュール1400は、一次モジュール1100を受けるように構成された第1収容窪みと、バッテリ1410を受けるように構成された第2収容窪みとを含むことができる。様々な実施形態において、バッテリ1410は、ハウジング1420内に永久的に取り付けることができ、また、バッテリ1410は、ハウジング1420へ取り外し可能に取り付けることができる。二次モジュール1400は、USBタイプCポートなどのような接続ポート1430を含むことができ、これは、コードを用いて、二次モジュール1400が、バッテリ1410を充電するために電源(例えば、電気アウトレット)へ電気的に接続することや、コンピュータなどのような他のコンポーネントへデータを転送することを、可能にする。バッテリ1410は、一次モジュール1100が二次モジュール1400内へ取り付けられたときに、一次モジュール1100へ電力を提供することができる。二次モジュール1400はまた、一次モジュール1100の上述のピンと係合するように構成されたピンを含むことができ、かつ/または二次モジュール1400は、一次モジュール1100、バッテリ1410、および接続ポート1430を電気的に接続するワイヤを含むことができる。
[0077] 上述のように、一次モジュール1100は、他のデバイスとワイヤレスで通信することができる。しかし、様々な実施形態において、一次モジュール1100は、有線接続を用いて、ワイヤレス接続よりも速くデータを転送および受信することができる。従って、図13に示すように一次モジュール1100を電話機へ電気的に接続することにより、または図14で説明するようにケーブルを用いて一次モジュール1100を外部デバイスへ電気的に接続することにより、一次モジュール1100は、より速くデータを転送および受信することができる。
[0078] 当業者であれば、様々なピン構成を使用でき得ることを認識するであろう。更に、2つのみの二次モジュールを例示したが、多くの異なる寸法、形状、および機能の二次モジュールを一次モジュールと結合することができる。例示の実施形態は二次モジュールに接続ポストおよびピンを含むが、様々な実施形態において、接続ポストおよび/またはピンを一次モジュールに配置することができ、受け側スロットおよび/または接触パッドを二次モジュールに配置することができる。
[0079] 様々な実施形態において、また、図15を参照すると、PSD1500が示されている。PSD1500は、ここで説明した特徴および機能を様々に含むことができる。PSD1500は、PSD1500に格納されたデータを暗号化して、第三者やハッカーがデータへアクセスして見ることを部分的に妨げるように、構成することができる。PSD1500はまた、暗号化されたデータの暗号化解除を行うように構成され、許可されたユーザが暗号化されたデータへアクセスすることを可能にする。本開示は、PSD1500でのデータの暗号化について説明するが、本システムおよび本方法は、任意の適切な環境、コンピュータ・ベースのシステム、またはそれらと同様のものにおいて、格納される暗号データと送信される暗号データとの双方に対して用いることができることを、理解すべきである。PSD1500は、ストレージ・モジュール1510、通信モジュール1520、プロセッサ1530、および/または暗号モジュール1540を含むことができる。PSD1500は、ここで説明した任意の他のコンポーネント、能力、およびそれらと同様のもの、例えばバッテリ、を更に含むことができる。
[0080] 図8を簡単に参照するが、様々な実施形態において、ストレージ・モジュール1510はストレージ・モジュール810と同様のものとすることができ、メモリ・カード、内部メモリ、および/またはそれらと同様のものを含むことができる。ストレージ・モジュール1510は、暗号化されたデータ・ファイルを含むデータ・ファイルを格納および維持するように、構成することができる。データ・ファイルは、例えば、テキスト、オーディオ、イメージ、ビデオ、および/またはそれらと同様のものなどのような、任意の適切な電子ファイルを含むことができる。図8を簡単に参照するが、通信モジュール1520は通信モジュール820と同様のものとすることができ、例えば、802.11または802.2(2)ワイヤレス・チップや、Bluetooth(登録商標)チップや、NFCチップや、それらと同様のものなどのような、ワイヤレス通信が可能な1以上のコンポーネントを含むことができる。通信モジュール1520はまた、タッチスクリーン、キーボード、マウス、またはそれらと同様のものを介してユーザから入力を受け取るように、構成することができる。図8を簡単に参照するが、プロセッサ1530はプロセッサ830と同様のものとすることができ、命令をストレージ・モジュール1510、通信モジュール1520、および/または暗号モジュール1540へ提供できるハードウェアおよび/またはソフトウェアの任意の組み合わせを含むことができる。プロセッサ1530は、命令が格納された具体的な非一時的なコンピュータ読取可能メモリを含むことができ、コンポーネントがここで説明する様々な機能を行うことを可能にする。
[0081] 様々な実施形態において、暗号モジュール1540は、ハードウェアおよび/またはソフトウェアの任意の組み合わせを含むことができ、データ・ファイルの暗号化および暗号化解除を行うように構成することができる。暗号モジュール1540は、プロセッサ1530のサブコンポーネントを含むこと、またはPSD1500の物理的および/または論理的に別のコンポーネントを含むことができる。暗号モジュール1540は、ここで更に説明するように、データの暗号化および暗号化解除のための様々な動作を行うように、構成することができる。
[0082] 様々な実施形態において、暗号モジュール1540は、数学関数リスト1545を含むことができる。数学関数リスト1545は、データベース(例えば、リレーショナル、階層、グラフィカル、ブロックチェーン、またはオブジェクト指向の構造)、フラット・ファイル構造、および/またはデータの格納および維持が可能な任意の他の適切なデータ構造を含むことができる。数学関数リスト1545は、1以上の数学関数を含むことができる。ここで用いる「数学関数」とは、データ・バイトを変更するために用いることが可能な任意の適切な数学的および可逆的な関数のことであり得る。例えば、例としての数学関数は、バイトを2で割り、2つのバイトからランダムな半部を生成する命令を含むことができる(例えば、100という値を構成するバイトを、2つの個別のバイトへと分割し、バイト[0]に57という値を割り当て、バイト[1]に43という値を割り当てる)。数学関数リスト1545は、任意の適切な数の数学関数を含むことができる。数学関数リスト1545の数学関数は番号順に並べられることができ、それぞれの数学関数は、番号順(例えば、1、2、3、4など)に対応する数値(識別子)が割り当てられる。様々な実施形態において、ユーザは、数学関数リスト1545へ更なる数学関数を入力するために、PSD1500と対話することができる(PSD1500との論理通信において二次デバイスを介してや、直接入力を介してなど)。
[0083] 様々な実施形態において、また、図16を参照し且つ図15の参照を継続すると、データの暗号化の方法1601が開示されている。方法1601は、PSD1500でのデータの暗号化について言及するが、本ステップおよび本プロセスを、任意の適切な環境、コンピュータ・ベースのシステム、データベース、またはそれらと同様のものにおいてデータに対して用いることができ得ることを、理解すべきである。
[0084] 方法1601は、パスワード入力を受け取ること(ステップ1602)を含むことができる。PSD1500は、通信モジュール1520またはプロセッサ1530を介して、パスワード入力を受け取るように構成されることができる。パスワード入力は、文字、数字、およびシンボルの任意の適切な組み合わせを含むことができ、ここで更に説明するように、データ・ファイルを暗号化するために入力されることができる。パスワード入力は、ユーザにより、任意の適切なデバイス(例えば、キーボード、マウス、タッチスクリーンなどや、PSD1500と論理的に通信する二次デバイス)を介して、入力されることができる。プロセッサ1530は、パスワード入力内のバイトの数を決定するためにパスワードをパースするように、構成することができる。また、プロセッサ1530は、各バイトの十進値を決定するように、構成することができる。例えば、「Hello1」というパスワード入力は、合計で6バイトを含む(例えば、「H」はバイト[0]、「e」はバイト[1]、「l」はバイト[2]、「l」はバイト[3]、「o」はバイト[4]、「1」はバイト[5])。各バイトは、情報交換用米国標準コード(ASCII)の各バイトの十進値に基づく数値を含むことができる。例えば、文字「H」に対応するバイト[0]は、72というASCII十進値から成るものであり得、文字「e」に対応するバイト[1]は、101というASCII十進値から成るものであり得、文字「l」に対応するバイト[2]は、108というASCII十進値から成るものであり得、文字「l」に対応するバイト[3]は、108というASCII十進値から成るものであり得、文字「o」に対応するバイト[4]は、111というASCII十進値から成るものであり得、文字「1」に対応するバイト[5]は、49というASCII十進値から成るものであり得る。
[0085] 様々な実施形態において、方法1601は、パスワード入力をランダム化すること(ステップ1604)を含むことができる。プロセッサ1530は、パスワード入力をランダム化するように構成することができる。パスワード入力は、パスワードの長さを変化させるようにランダム化することができる。パスワードの長さを変化させることは、暗号の強さを増加させることができ、第三者やハッカーによるパスワード入力の正しい推測を部分的に減少させることができる。パスワード入力は、任意の適切な技術を用いてランダム化することができる。例えば、プロセッサ1530は、パスワード入力の各バイトの十進値の比較に基づいて、パスワード入力をランダム化することができる。その点に関して、パスワード入力は、バイト毎にランダム化することができる。例えば、バイト[0]から開始して全バイトを通してループするようにするが、バイト[0]の十進値がバイト[1]の十進値より大きいことに応答して、バイト[0]の十進値をバイト[0]の十進値に加算するか、または、バイト[0]の十進値がバイト[1]の十進値以下であることに応答して、バイト[2]の十進値をバイト[0]の十進値へ加算することができ、バイト[2]の十進値とのバイト[0]の十進値の係数がバイト[2]の十進値より大きいことに応答して、バイト[0]の十進値からバイト[1]の十進値を減算するか、またはバイト[2]の十進値とのバイト[0]の十進値の係数がバイト[2]の十進値以下であることに応答して、バイト[0]の十進値に2を乗算することができ、かつ/または、同様のことを行うことができる。この点に関して、パスワード入力の全バイトをランダム化することができる。様々な実施形態において、プロセッサ1530は、係数ロジックをインプリメントすることができ、各バイトの十進値が、数学関数リスト1545のリスト・サイズより大きい数へとランダム化されないようにする。
[0086] 様々な実施形態において、方法1601は、パスワード入力の各バイトに基づいて数学関数を選択すること(ステップ1606)を含むことができる。プロセッサ1530は、パスワード入力、バイト・データ、および十進値データを暗号モジュール140へ送るように構成することができる。暗号モジュール1540は、数学関数リスト1545から数学関数を取り出すように及び選択するように構成することができる。この点に関して、数学関数リスト1545の各数学関数は、番号順に並べることができ、各数学関数には、順番に対応する数値(例えば、1、2、3、4など)を割り当てることができる。暗号モジュール1540は、バイトの十進値に基づいて、パスワード入力の各バイトに対しての数学関数を取り出すこと及び選択するこができる。例えば、「Hello1」というデータ入力と関連する上記の例を用いると、暗号モジュール1540は、バイト[0]に関して、数値72が割り当てられた数学関数、バイト[1]に関して、数値101が割り当てられた数学関数、バイト[2]に関して、数値108が割り当てられた数学関数、バイト[3]に関して、数値108が割り当てられた数学関数、バイト[4]に関して、数値111が割り当てられた数学関数、そしてバイト[5]に関して、数値49が割り当てられた数学関数を、選択することができる。
[0087] 様々な実施形態において、方法1601は、暗号化されるデータ・ファイルを取り出すこと(ステップ1608)を含むことができる。暗号モジュール1540は、ストレージ・モジュール1510からデータ・ファイルを取り出すように、構成することができる。様々な実施形態において、データ・ファイルも、通信モジュール1520および/またはプロセッサ1530を介して、PSD1500へ入力され受信されることができ、暗号化のために暗号モジュール1540へ送信されることができる。
[0088] 様々な実施形態において、方法1601は、データ・ファイルの各バイトに対して第1の数学関数を用いること(ステップ1610)を含むことができる。暗号モジュール1540は、データ・ファイルの各バイトに対して第1の数学関数(例えば、パスワードのバイト[0]に基づいて選択される数学関数)を用いるように、構成することができる。例えば、暗号モジュール1540は、第1の数学関数がデータ・ファイルの全バイトに対して用いられるまで、第1の数学関数を各バイトに対して順に(例えば、バイト[0]、バイト[1]、バイト[2]など)用いることができる。
[0089] 様々な実施形態において、方法1601は、残りの選択された数学関数に関してステップ1610を反復すること(ステップ1612)を含むことができる。この点に関して、暗号モジュール1540は、選択された数学関数の全てが用いられるまで、数学関数をデータ・ファイルの各バイトに対して用いることを継続するように、構成することができる。例えば、合計6バイトを有する「Hello1」、従って、合計6つの数学関数が選択される場合を例とすると、暗号モジュール1540は、ステップ1606で選択された各数学関数を個別に用いるために、ステップ1610の追加の5回の反復を行うことができる。
[0090] 様々な実施形態において、方法1601は、データ・ファイルに対して数学関数を用いることを反復すること(ステップ1614)を含むことができる。暗号モジュール1540は、数学関数を暗号化用いることを反復するように、構成することができる。ステップ1610、1612は、任意の適切かつ/または望ましい回数だけ反復することができる。例えば、ステップ1610、1612は、ユーザ入力または格納した値に基づいて、反復することができる。様々な実施形態において、ステップ1610、1612は、データ入力からのバイトのうちの1つのものの十進値に基づいて、反復することができる。例えば、上記の「Hello1」の例を用いると、これはバイト[2]がASCII十進値108を有するものであり、ステップ1610、1612は、108回反復することができる(例えば、全ての数学関数が108回用いられる)。暗号モジュール1540は、ステップ1610、1612を反復する回数を決定するために、データ入力における特定のバイト(例えば、バイト[0]、バイト[1]など)を選択するように、予め構成しておくことができる。
[0091] 様々な実施形態において、方法1601は、データ・ファイルのバイトの位置を置き換えること(ステップ1616)を含むことができる。データ・ファイルのバイト位置は、暗号化されたデータ・ファイルにおいて関係パターンが発見されることを部分的に妨げるように、置き換えることができる。暗号モジュール1540は、データ・ファイルのバイトを入れ替えるように構成することができる。暗号モジュール1540は、任意の適切なプロセスを用いてデータ・ファイルのバイトを置き換えることができる。例えば、データ・ファイルのバイトは、パスワード入力のバイトに基づいて置き換えることができ、例えば、現在の位置のデータ・ファイル・バイト(バイト[0]から開始)を、パスワード入力の現在のデータ・ファイル・バイトからずれた位置のデータ・ファイル・バイトと置き換えるなどのようにする。例えば、パスワード入力のASCII十進値3から成る第1バイトに応答して、第1データ・ファイル・バイト(例えば、バイト[0])は、3バイトずれたデータ・ファイル・バイト(例えば、バイト[3])と置き換えることができる。更なる例として、各バイトは、バイトのASCII十進値に基づいて置き換えることができる。例えば、十進値3から成るバイト[0]に応じて、バイト[0]をバイト[2]と置き換えることができ、十進値15から成るバイト[2]に応じて、バイト[2]をバイト[15]と置き換えることができ、以下同様のことを行うことができる。様々な実施形態において、データ・ファイルの全バイトが置き換えられるまで、データ・ファイルのバイトの置き換えを継続することができる。様々な実施形態において、バイトの置き換えは、置き換えの所定回数またはそれと同様のものに基づいて、継続することができる。
[0092] 様々な実施形態において、方法1601は、データ・ファイルへフィラー・バイトを付加すること(ステップ1618)を含むことができる。フィラー・バイトをデータ・ファイルへ付加して、パスワード入力の長さまたは元のデータ・ファイルの長さ(例えば、方法1601のプロセスが用いられる前)をデータ・ファイルの最終的ファイル・サイズにより決定できなくすることを、保証することができる。暗号モジュール1540は、フィラー・バイトをデータ・ファイルへ付加するように、構成することができる。フィラー・バイトは、任意の適切なプロセスを用いて付加することができる。例えば、フィラー・バイトは、最小ファイル・サイズおよび/または最大ファイル・サイズに基づいて、付加することができる。最小ファイル・サイズおよび/または最大ファイル・サイズは、ユーザにより特定することができ、任意の適切なファイル・サイズを有することができる。様々な実施形態において、最大ファイル・サイズは、ストレージ・モジュール1510の空いたディスクまたはメモリ空間により制限され得る。様々な実施形態において、暗号モジュール1540は、データ・ファイルのサイズが最小ファイル・サイズより大きく且つ最大ファイル・サイズより小さくなるまで、フィラー・バイトをデータ・ファイルへ付加するように、構成することができる。様々な実施形態において、フィラー・バイトは、パスワード入力に基づいて付加することができる。例えば、パスワード入力からのバイト[1]の十進値をバイト[0]の十進値へ乗算して、付加するフィラー・バイトの合計数を計算することができる。
[0093] 様々な実施形態において、方法1601は、データ・ファイルの開始位置を調節すること(ステップ1620)を含むことができる。暗号モジュール1540は、データ・ファイルの開始位置を調節するように、構成することができる。データ・ファイルの開始位置は、初期のデータ・ファイルのファイル・ヘッダー、またはデータ・ファイルの開始位置へのハッカーや第三者による攻撃から部分的に保護するように、調節することができる。データ・ファイルの開始位置は、任意の適切な技術を用いて調節することができる。例えば、開始位置は、パスワード入力に基づいて、例えば、開始位置の値を計算することなどにより、計算および調節することができる。開始位置の値は、開始位置の値を生成するようにパスワード入力からデータ・バイトを選択することにより、計算することができる。
[0094] バイト[1]の係数がバイト[2]の十進値より大きいことに応じて、開始位置の値に5が乗算され、バイト[2]の係数がバイト[3]の十進値未満であることに応じて、開始位置の値が3で除算され、またはバイト[2]の係数がバイト[3]の十進値以上であることに応じて、開始位置の値に2が乗算され、バイト[3]の係数が0であることに応じて、開始位置の値として値0が割り当てられ、バイト[4]の十進値ががバイト[2]より大きいことに応じて、バイト[4]、バイト[1]、およびバイト[2]を乗算した十進値へ開始位置の値が付加され、かつ/または同様のことが行われる。データ・ファイルの開始点は、開始位置の値に基づいて割り当てることができる。
[0095] 様々な実施形態において、結果的に得られる暗号化されたデータ・ファイルは、ストレージ・モジュール1510に格納すること、または任意の他の適切なストレージへ送信することができる。この点に関して、暗号化されたデータ・ファイルは、既知のファイル拡張子(例えば、exe、pdfなど)を含まないように、および/または元のデータ・ファイルのファイル拡張子を含まないようにすることができる。様々な実施形態において、暗号化されたデータ・ファイルへランダムな拡張子を割り当てることができる。様々な実施形態において、PSD1500は、ファイル・マネジャ、グラフィック・ユーザ・インタフェース、またはユーザが暗号化されたデータ・ファイルおよび対応する元のデータ・ファイルおよびデータ名を追跡することを可能とするように構成された他の適切なソフトウェア・インタフェースを、含むことができる。様々な実施形態において、データ・ファイル・リストを、暗号化されたデータ・ファイルおよび対応する元のデータ・ファイルおよびデータ名を追跡するように、ストレージ・モジュール1510において格納、維持、および守護することができる。
[0096] 様々な実施形態において、暗号化されたデータ・ファイルは、方法1601のステップと同じ又は似たステップを用いて暗号化解除されることができる。この点に関して、第2パスワード入力を受け取ったことに応答して、プロセッサ1530は、ステップ1604でのランダム化と同様に第2パスワード入力をランダム化することができる。暗号モジュール1540は、第2パスワード入力に基づいて、ステップ1618と同様に、暗号化されたデータ・ファイルの開始バイト位置を調節することができる。暗号モジュール1540は、第2パスワード入力に基づいて、ステップ1616と同様に、暗号化されたデータ・ファイルからフィラー・バイトを取り除くことができる。暗号モジュール1540は、第2パスワード入力のバイトに基づいて、ステップ1606と同様に、数学関数リスト1545を取り出し、数学関数を選択することができる。暗号モジュール1540は、ステップ1610、1612、および1614の逆の形で、第2パスワード入力のバイトに基づいて、選択された各数学関数をデータ・ファイルの各バイトに対して用い、数学関数を暗号化用いることを反復することができる。この点に関して、暗号化されたデータ・ファイルは暗号化解除されることができる。前記パスワード入力と一致する第2パスワード入力に応答して、暗号化解除されたデータ・ファイルは元のデータ・ファイルと同じものとなる。前記パスワード入力と一致しない第2パスワード入力に応答して、暗号化解除されたデータ・ファイルは元のデータ・ファイルと同じではなくなる。
[0097] 様々な実施形態において、ここで説明する方法は、ここで説明する様々な特定の機械でインプリメントされる。当業者には容易に理解できるように、ここで説明する方法は、下記の特定の機械および後に開発される機械を用いて、任意の適切な組み合わせで、インプリメントすることができる。更に、本開示から明らかなようにら、ここで説明する方法は、特定の物品を様々に変化させたものとなり得る。
[0098] 簡潔にするために、従来のデータ・ネットワーク化、アプリケーション開発、およびシステムの他の機能的特徴(およびシステムの個々の動作するコンポーネントのコンポーネント)について、ここでは詳細に説明しない。更に、ここに含まれる様々な図面における接続線は、様々な構成要素間の例としての機能的関係および/または物理的結合を表すことを意図している。実際のシステムにおいて、多くの代替または追加の機能的関係や物理的接続が存在し得ることに留意されたい。
[0099] ここで用いられる「送信」は、電子データの少なくとも一部を1つのコンポーネントから別のものへ送ることを含み得る。更に、ここで用いる「データ」、「情報」、またはこれらと同様のものは、デジタル形態または他の任意の形態のコマンド、クエリ、ファイル、メッセージ、格納するデータ、およびその他の似たようなのものなどのような情報を含むことを、含み得る。
[00100] ここで用いられる「電子通信」は、コンポーネントがデータを送信および受信することを可能にすることができる物理的結合および/または非物理的結合を含み得る。例えば、「電子通信」は有線またはワイヤレスのプロトコルを指すものであり得、それは、CANバス・プロトコル、Ethernet(登録商標)物理層プロトコル(例えば、10BASE−T、100BASE−T、1000BASE−Tなどを用いるもの)、IEEE1394インタフェース(例えば、ファイアーワイヤ(登録商標))、デジタル総合サービス網(ISDN)、デジタル・サブスクライバ・ライン(DSL)、802.11a/b/g/n/ac信号(例えば、Wi−Fi)、短波長UHFラジオ波を用いIEEE802.15.1により少なくとも部分的に既定されるワイヤレス通信プロトコル(例えば、ブルートゥース(登録商標)・スペシャル・インタレスト・グループにより維持されるBLUETOOTH(登録商標)プロトコル)、IEEE802.15.4により少なくとも部分的に既定されるワイヤレス通信プロトコル(例えば、ジクビー・アライアンスにより維持されるZIGBEE(登録商標)プロトコル)、セルラ・プロトコル、赤外線プロトコル、光プロトコル、または有線接続またはワイヤレス接続を介して情報を送信可能な任意の他のプロトコルなどである。
[00101] ここで説明したコンポーネントの1以上のものは、ネットワークを介して電子的に通信することができる。ここで用いられる「ネットワーク」は、ハードウェアおよび/またはソフトウェアを組み込んだ任意のクラウド、クラウド・コンピューティング・システム、または電子通信のシステムまたは方法を更に含むことができる。ノード間での通信は、任意の適切な通信チャンネルを通じて達成することができ、通信チャンネルは、例えば、電話ネットワーク、エクストラネット、イントラネット、インターネット、ポイント・オブ・インタラクション・デバイス(パーソナル・デジタル・アシスタント、セルラ電話機、キオスク、タブレットなど)、オンライン通信、衛星通信、オフライン通信、ワイヤレス通信、トランスポンダー通信、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、バーチャル・プライベート・ネットワーク(VPN)、ネットワーク化またはリンクされたデバイス、キーボード、マウス、および/または任意の適切な通信またはデータ入力のモダリティなどである。更に、ここでは、TCP/IP通信プロトコルを用いてシステムがインプリメントされる旨を頻繁に記載しているが、システムは、インターネットワーク・パケット・エクスチェンジ(IPX)、APPLETALK(登録商標)プログラム、IP−6、NetBIOS、OSI、任意のトンネリング・プロトコル(例えば、IPsec、SSHなど)、または任意の数の既存のまたは将来のプロトコルを用いて、インプリメントすることもできる。ネットワークが、インターネットなどのような公共ネットワークの性質を持つものである場合、ネットワークはセキュアではなく盗聴者に対して開かれたものであると想定するのがよいであろう。インターネットと関連して用いられるプロトコル、標準、およびアプリケーション・ソフトウェアと関連する特定の情報は、一般に、当業者には知られているので、ここで説明する必要はない。
[00102] 「クラウド」または「クラウド・コンピューティング」は、コンフィギュレーション可能コンピューティング・リソース(例えば、ネットワーク、サーバ、ストレージ、アプリケーション、およびサービス)の共有されるプールへの、便利なオンデマンドのネットワーク・アクセスを可能にするモデルを含み、それらのコンフィギュレーション可能コンピューティング・リソースは、最小の管理努力やサービス・プロバイダとの対話で、迅速に供給およびリリースされることが可能である。クラウド・コンピューティングは、位置に依存しないコンピューティングを含むことができ、それにより、共有されるサーバは、リソース、ソフトウェア、およびデータを、オンデマンドでコンピュータおよび他のデバイスへ提供する。クラウド・コンピューティングに関する更なる情報については、NIST(National Institute of Standards and Technology)のクラウド・コンピューティングの定義を参照されたい。
[00103] 様々なシステム・コンポーネントは、独立して、または分離して、または集合して、データ・リンクを介してネットワークへ適切に結合されることができ、データ・リンクは、例えば、標準モデム通信、ケーブル・モデム、ディッシュ・ネットワーク(登録商標)、ISDN、DSL、または様々なワイヤレス通信方法と関連して典型的に使用されるローカル・ループを介してのインターネット・サービス・プロバイダ(ISP)への接続を含む。ネットワークは、インタラクティブ・テレビジョン(ITV)・ネットワークなどのような他の形式のネットワークとしてインプリメントできることにも留意されたい。更に、システムは、ここで記載する機能と類似の機能を有する任意のネットワークを介しての、任意の商品やサービスや情報の使用や販売や頒布も考慮している。
[00104] ネットワークはセキュアではないかもしれない。従って、ネットワークを介しての通信ではデータ暗号化を用いることができる。暗号化は、当該分野で現在使用可能または使用可能になり得る技術のうちの任意のものにより行うことができ、それらは、例えば、Twofish、RSA、エルガマル、Schorr signature(シュノア署名)、DSA、PGP、PKI、GPG (GnuPG)、HPEフォーマット保持暗号化(FPE)、Voltage、トリプルDES、ブローフィッシュ、AES、MD5、HMAC、IDEA、RC6、および対称および非対称の暗号システムである。ネットワーク通信はまた、SHAシリーズ暗号法、楕円曲線暗号(例えば、ECC、ECDH、ECDSAなど)、および/または開発中の他のポスト量子暗号アルゴリズムを組み込むことができる。
[00105] ここで説明する任意の通信、送信、および/またはチャンネルは、コンテンツ(例えば、データ、情報、メタデータなど)および/またはコンテンツ自体を送るための任意のシステムや方法を含むことができる。コンテンツは、任意の形態や媒体で呈示することができ、様々な実施形態において、コンテンツは、電子的に送られることができ、かつ/または電子的に呈示されることができる。例えば、チャンネルは、ウェブサイトやデバイス(例えば、FACEBOOK(登録商標)、YOUTUBE(登録商標)、PANDORA(登録商標)、APPLE TV(登録商標)、MICROSOFT(登録商標)XBOX(登録商標)、ROKU(登録商標)、AMAZON FIRE(登録商標)、GOOGLE(登録商標)CHROMECAST(商標)、SONY(登録商標)PLAYSTATION(登録商標)、NINTENDO(登録商標)SWITCH(登録商標)など)、ユニフォーム・リソース・ロケータ(URL)、文書(例えば、MICROSOFT(登録商標)Word(商標)文書、MICROSOFT(登録商標)Excel(登録商標)文書、ADOBE(登録商標)pdf文書など)、電子書籍、Eマガジン(emagazine)、アプリケーションやマイクロアプリケーション(ここで説明されたもの)、SMSや他のタイプのテキスト・メッセージ、Eメール、FACEBOOK(登録商標)メッセージ、TWITTER(登録商標)ツイート、MMS、および/または他のタイプの通信技術を含むことができる。様々な実施形態において、チャンネルは、データ・パートナーによりホストまたは提供されることができる。様々な実施形態において、ディストリビューション・チャンネルは、ソーシャル・メディア・サイト、外部ベンダ、およびモバイル・デバイス通信のうちの少なくとも1つを含むことができる。ソーシャル・メディア・サイトの例は、FACEBOOK(登録商標)、FOURSQUARE(登録商標)、TWITTER(登録商標)、LINKEDIN(登録商標)、INSTAGRAM(登録商標)、PINTEREST(登録商標)、TUMBLR(登録商標)、REDDIT(登録商標)、SNAPCHAT(登録商標)、WHATSAPP(登録商標)、FLICKR(登録商標)、VK(登録商標)、QZONE(登録商標)、WECHAT(登録商標)などを含む。モバイル・デバイス通信の例は、スマートフォンに関するテキスティング、Eメール、およびモバイル・アプリケーションを含む。
[00106] ここで説明する様々なシステム・コンポーネントは、デジタル・データを処理するプロセッサを含むホスト・サーバまたは他の計算システムと、プロセッサと結合され、デジタル・データを格納するメモリと、プロセッサと結合され、デジタル・データを入力する入力デジタイザと、メモリに格納されプロセッサによりアクセス可能であり、プロセッサによるデジタル・データの処理を命令するアプリケーション・プログラムと、プロセッサおよびメモリと結合され、プロセッサにより処理されたデジタル・データから導出される情報を表示するディスプレイ・デバイスと、複数のデータベースとのうちの1以上のものを含むことができる。ここで用いられる様々なデータベースは、クライアント・データ、商人データ、金融機関データ、および/またはシステムの動作に有用な同様のデータを含むことができる。当業者には理解できるように、ユーザ・コンピュータは、オペレーティング・システム(例えば、WINDOWS(登録商標)、UNIX(登録商標)、LINUX(登録商標)、SOLARIS(登録商標)、MacOS(登録商標)など)と、典型的にコンピュータと関連する様々な従来のサポート・ソフトウェアおよびドライバとを含む。
[00107] 本システムまたは本システムの何の部分(1以上)や機能(1以上)も、ハードウェア、ソフトウェア、またはそれらの組み合わせを用いてインプリメントすることができ、1以上のコンピュータ・システムまたは他の処理システムでインプリメントすることができる。しかし、実施形態により行われる操作は、人間である操作者により行われる精神的動作と一般的に関連する「一致する」や「選択する」などの用語で述べられている。ここで説明する何れの動作においても、人間である操作者のそのような能力は不要であり、また、ほとんどの場合において望ましくない。むしろ、動作は機械の動作であり得、何れの動作も人工知能(AI)や機械学習により行われたり高められたりする。様々な実施形態を行うために有用な機械は、汎用デジタル・コンピュータやそれと同様のデバイスを含む。
[00108] 様々な実施形態において、実施形態は、ここに記載する機能を実行できる1以上のコンピュータ・システムに向けたものである。コンピュータ・システムは、1以上のプロセッサを含む。プロセッサは、通信インフラストラクチャ(例えば、通信バス、クロス・オーバー・バー、ネットワークなど)と接続される。様々なソフトウェア実施形態は、この例示のコンピュータ・システムに関して説明される。この記載を読んだ後、当業者には、他のコンピュータ・システムおよび/またはアーキテクチャーを用いて様々な実施形態をインプリメントする方法が、明らかになるであろう。コンピュータ・システムは、ディスプレイ・ユニットでの表示のために、通信インフラストラクチャーから(または示していないフレーム・バッファから)グラフィックス、テキスト、および他のデータを送るディスプレイ・インターフェイスを含むことができる。
[00109] また、コンピュータ・システムは、ランダム・アクセス・メモリ(RAM)などのようなメイン・メモリを含み、また、2次メモリも含むことができる。2次メモリは、例えば、ハード・ディスク・ドライブ、ソリッドステート・ドライブ、および/または取り外し可能ストレージ・ドライブを含むことができる。取り外し可能ストレージ・デバイスは、既知の様式で、取り外し可能ストレージ・ユニットからの読み出しおよび/またはそれヘの書き込みを行う。理解されるように、取り外し可能ストレージ・ユニットは、コンピュータにより使用可能でありコンピュータ・ソフトウェアおよび/またはデータを記録した、コンピュータにより使用可能なストレージ媒体を含む。
[00110] 「コンピュータ・プログラム媒体」、「コンピュータ使用可能媒体」、および「コンピュータ読取可能媒体」という用語は、一般に、取り外し可能ストレージ・ドライブおよびハード・ディスク・ドライブにインストールされているハード・ディスクなどのような媒体を指すために用いられる。これらのコンピュータ・プログラム製品は、コンピュータ・システムへソフトウェアを提供する。
[00111] コンピュータ・システムはまた、通信インターフェイスを含むことができる。通信インターフェイスは、ソフトウェアおよびデータがコンピュータ・システムと外部デバイスとの間で転送されることを可能にする。通信インターフェイスの例は、モデム、ネットワーク・インターフェイス(Ethernet(登録商標)カードなど)、通信ポートなどを含むことができる。通信インターフェイスを介して転送されるソフトウェアおよびデータは、信号の形態であり、それは、電子信号、電磁信号、光信号、または通信インターフェイスにより受信可能な他の信号とすることができる。これらの信号は、通信経路(例えば、チャンネル)を介して通信インターフェイスへ提供される。このチャンネルは、信号を運ぶものであり、ワイヤー、ケーブル、光ファイバ、電話線、セルラ・リンク、無線周波数(RF)リンク、ワイヤレスおよび他の通信のチャンネルを用いてインプリメントすることができる。
[00112] コンピュータ・プログラム(コンピュータ制御ロジックとも言われる)は、メイン・メモリおよび/または2次メモリに格納される。また、コンピュータ・プログラムは、通信インターフェイスを介して受け取られることができる。そのようなコンピュータ・プログラムは、それが実行されたときに、ここに記載する機能をコンピュータ・システムに行わせることを可能にする。具体的には、コンピュータ・プログラムが実行されると、様々な実施形態の機能をプロセッサにより行わせることを可能にする。したがって、そのようなコンピュータ・プログラムは、コンピュータ・システムのコントローラーに相当する。
[00113] それらのコンピュータ・プログラム命令は、汎用コンピュータ、特定用途向けコンピュータ、または他のプログラマブル・データ処理装置へ、マシンを作成するためにロードすることができ、コンピュータまたは他のプログラマブル・データ処理装置で実行されるそれらの命令は、フローチャートの1または複数のブロックで示された機能をインプリメントするための手段を作成する。それらのコンピュータ・プログラム命令はまた、コンピュータ読み取り可能メモリへ格納することができ、それらの命令は、コンピュータまたは他のプログラマブル・データ処理装置へ、特定の様式で機能するように指示することができ、コンピュータ読み取り可能メモリへ格納された命令は、フローチャートの1または複数のブロックで示された機能をインプリメントする命令手段を含む製品を作り出す。コンピュータ・プログラム命令はまた、コンピュータによりインプリメントされるプロセスを作り出すために、コンピュータまたは他のプログラマブル・データ処理装置で一連の動作ステップが行われるように、コンピュータまたは他のプログラマブル・データ処理装置へロードすることができ、コンピュータまたは他のプログラマブル・データ処理装置で実行される命令は、フローチャートの1または複数のブロックで示された機能をインプリメントするためのステップを提供する。
[00114] 従って、ブロック図およびフローチャートの例示の機能ブロックは、指定された機能を行う手段の組み合わせ、指定された機能を行うステップの組み合わせ、および指定された機能を行うプログラム命令手段をサポートする。また、ブロック図およびフローチャートの例示の各機能ブロック、およびブロック図およびフローチャートの例示の機能ブロックの組み合わせを、指定された機能またはステップを行う特定用途向けのハードウェア・ベースのコンピュータ、または特定用途向けのハードウェアとコンピュータ命令との適切な組み合わせによりインプリメントできることも、理解されるであろう。更に、プロセスの流れの図とその説明とは、ユーザWINDOWS(登録商標)アプリケーション、ウェブページ、ウェブサイト、ウェブ・フォーム、プロンプトなどに言及することもある。ここで説明された例示のステップが、WINDOWS(登録商標)アプリケーション、ウェブページ、ウェブ・フォーム、ポップアップWINDOWS(登録商標)アプリケーション、プロンプト、およびこれらと同様のものの使用を含む任意の数のコンフィギュレーションに含まれ得ることを、専門家は理解するであろう。更に、図示および記載された複数のステップは、簡潔にするために、展開されているが、1つのウェブページおよび/またはWINDOWS(登録商標)アプリケーションへと組み合わせることができることも、理解すべきである。他の場合において、1つの処理ステップとして図示および記載されたステップは、簡素化のために、組み合わされているが、複数のウェブページおよび/またはWINDOWS(登録商標)アプリケーションへと分割することができる。
[00115] 様々な実施形態において、ソフトウェアは、コンピュータ・プログラム製品に格納し、取り外し可能ストレージ・ドライブ、ハード・ディスク・ドライブ、または通信インターフェイスを用いてコンピュータ・システムへロードすることができる。制御ロジック(ソフトウェア)は、プロセッサにより実行されると、ここに記載する様々な実施形態の機能をプロセッサに行わせる。様々な実施形態において、ハードウェア・コンポーネントは特定用途向け集積回路(ASIC)の形態をとり得る。ここに記載する機能を行うようにハードウェア状態マシンをインプリメントすることは、当業者には明らかである。
[00116] 様々な実施形態において、ここで説明したコンポーネント、モジュール、および/またはエンジンは、マイクロアプリケーション(micro-application)またはマイクロアプ(micro-app)としてインプリメントすることができる。マイクロアプは、典型的には、モバイル・オペレーティング・システムで展開され、モバイル・オペレーティング・システムは、例えば、WINDOWS(登録商標)モバイル・オペレーティング・システム、ANDROID(登録商標)オペレーティング・システム、APPLE(登録商標)iOSオペレーティング・システム、BLACKBERRY(登録商標)社のオペレーティング・システム、およびその他の類似のものを含む。マイクロアプは、様々なオペレーティング・システムおよびハードウェア・リソースの動作を管理する予め定めた規則の組を介して、大きいオペレーティング・システムおよび関連するハードウェアのリソースを活用するように、構成することができる。例えば、マイクロアプが、モバイル・デバイスまたはモバイル・オペレーティング・システム以外のデバイスまたはネットワークと通信することを望む場合、マイクロアプは、モバイル・オペレーティング・システムの予め定められた規則の下で、オペレーティング・システムおよび関連するデバイス・ハードウェアの通信プロトコルを活用することができる。更に、マイクロアプがユーザからの入力を望む場合、マイクロアプは、オペレーティング・システムに対して応答を要求するように構成することができ、オペレーティング・システムは、様々なハードウェア・コンポーネントを監視し、その後、検出した入力をハードウェアからマイクロアプへ通信する。
[00117] 様々な実施形態において、システムは、ソフトウェア・アプリケーションおよびサービスを提供するために、および/またはオペレーティング・システム、データベース、アプリケーションなどのようなコンピュータ・ベースのシステムのソフトウェア・コンポーネントを橋渡しするために、ミドルウェアをインプリメントすることができる。ミドルウェアは、異なるコンピュータ・システム間での通信および/またはプロセスのトランザクションを容易にするように適切に構成される任意のハードウェアおよび/またはソフトウェアを含むことができる。ミドルウェア・コンポーネントは、商業的に入手可能であり、当該分野では知られている。ミドルウェアは、商業的に入手可能なハードウェアおよび/またはソフトウェアを通じて、またはカスタムのハードウェアおよび/またはソフトウェア・コンポーネントを通じて、またはそれらの組み合わせを通じて、インプリメントすることができる。ミドルウェアは、様々なコンフィギュレーションの中で存在することができ、また、スタンドアローンのシステムとして存在することができ、また、インターネット・サーバに存在するソフトウェア・コンポーネントとすることができる。ミドルウェアは、ここで説明する何れもの目的のために、アプリケーション・サーバの様々コンポーネントと任意の数の内部または外部のシステムとの間でのトランザクションを処理するように、構成することができる。商業的に入手可能なミドルウェア製品の例は、IBM(登録商標)社(ニューヨーク州アーモンク)のWEBSPHERE(登録商標)MQTM(以前はMQSeries)である。ミドルウェアの別の例は、Enterprise Service Bus(「ESB」)アプリケーションである。
[00118] ここで開示したシステム、コンピュータ、コンピュータ・ベースのシステム、およびそれらと同様のものは、ユーザがアクセス可能な適切なウェブ・サイトや他のインターネット・ベースのグラフィカル・ユーザ・インタフェースを提供することができる。専門家は、ブラウザ・ベースの文書内でデータを表示するための方法が多数あることを、理解するであろう。データは、標準のテキストで表すことができ、また、固定されたリスト、スクロール可能リスト、ドロップダウン・リスト、編集可能テキスト・フィールド、固定テキスト・フィールド、ポップアップ・ウィンドゥ、またはその他の類似のものの中で表すことができる。同様に、ウェブ・ページ内のデータを変更するために使用可能な多数の方法があり、それらは、例えば、キーボードを用いての自由テキスト入力、メニュー項目の選択、チェック・ボックス、オプション・ボックス、およびそれらと類似のものなどである。
[00119] ここで論じる何れの通信、入力、ストレージ、データベース、またはディスプレイも、ウェブ・ページを有するウェブサイトを通じて促進され得る。ここで用いられる「ウェブ・ページ」という用語は、ユーザとの対話に使用され得る文書およびアプリケーションの形式を限定することを意図していない。例えば、典型的なウェブサイトは、標準のHTML文書に加えて、様々なフォーム、JAVA(登録商標)アプレット、JAVASCRIPT(登録商標)プログラム、アクティブ・サーバ・ページ(ASP)、コモン・ゲートウェイ・インターフェイス・スクリプト(CGI)、エクステンシブル・マークアップ・ランゲージ(XML)、ダイナミックHTML、カスケーディング・スタイル・シート(CSS)、AJAX(Asynchronous JAVASCRIPT and XML)プログラム、ヘルパー・アプリケーション、プラグイン、およびこれらと同様のものを含むことができる。サーバは、ウェブ・サーバからの要求を受け取るウェブ・サービスを含むことができ、要求は、URLおよびIPアドレス(192.168.1.1)を含む。ウェブ・サーバは、適切なウェブ・ページを検索し、そのウェブ・ページに関するデータまたはアプリケーションをIPアドレスへ送る。ウェブ・サービスはアプリケーションであり、このアプリケーションは、インターネットなどのような通信手段を介して他のアプリケーションと対話することが可能である。ウェブ・サービスは、典型的には、XML、SOAP、AJAX、WSDL、およびUDDIなどのような標準またはプロトコルに基づく。ウェブ・サービスの方法は当該分野では知られており、多くの標準的な教科書に記載されている。更なる例としては、representational state transfer(REST)またはRESTfulのウェブ・サービスは、アプリケーション間での相互運用性を可能にする1つの方法を提供することができる。
[00120] 1つの実施形態では、マイクロソフト(登録商標)社のInternet Information Services(IIS)、Transaction Server(MTS)サービス、およびSQL SERVER(登録商標)データベースが、マイクロソフト(登録商標)・オペレーティング・システム、WINDOWS NT(登録商標)ウェブ・サーバ・ソフトウェア、SQL SERVER(登録商標)データベース、およびマイクロソフト(登録商標)Commerce Serverと関連して用いられる。更に、ACCESS(登録商標)ソフトウェア、SQL SERVER(登録商標)データベース、ORACLE(登録商標)ソフトウェア、SYBASE(登録商標)ソフトウェア、INFORMIX(登録商標)ソフトウェア、MYSQL登録商標)ソフトウェア、INTERBASE(登録商標)ソフトウェアなどのようなコンポーネントを、Active Data Object(ADO)対応のデータベース管理システムを提供するために使用することができる。1つの実施形態において、Apache(登録商標)ウェブ・サーバが、LINUX(登録商標)オペレーティング・システム、MYSQL(登録商標)データベース、およびPERL(登録商標)、PHP、および/またはPYTHON(登録商標)プログラミング言語と関連して用いられる。
[00121] 様々な実施形態において、サーバはアプリケーション・サーバ(例えば、WEBSPHERE(登録商標)、WEBLOGIC(登録商標)、JOSS(登録商標)、POSTGRES PLUS ADVANCED SERVER(登録商標)など)を含むことができる。様々な実施形態において、サーバは、ウェブ・サーバ(例えば、Apache、IIS、GOOGLE(登録商標)ウェブ・サーバ、SUN JAVA(登録商標)システム・ウェブ・サーバ、LINUX(登録商標)またはWINDOWS(登録商標)オペレーティング・システム上で実行されるJAVA(登録商標)バーチャル・マシン)を含むことができる。
[00122] ユーザ、システム、コンピュータ・ベースのシステム、またはそれらと同様のものは、ウェブ・クライアントを介してサーバと通信する。ウェブ・クライアントは、例えば、ここで説明した任意のデバイスやソフトウェアなどのような任意のネットワークを介して通信する任意のデバイスやソフトウェアを含む。ウェブ・クライアントは、通信を行うために、コンピューティング・ユニットまたはシステム内にインストールされたインターネット・ブラウジング・ソフトウェアを含むことができる。それらのコンピューティング・ユニットまたはシステムは、コンピュータやコンピュータの組の形とすることができるが、他のタイプのコンピューティング・ユニットまたはシステムを使うこともでき、それらは、パーソナル・コンピュータ、ラップトップ、ノートブック、タブレット、スマート・フォン、セルラ・フォン、パーソナル・デジタル・アシスタント、サーバ、プールのサーバ、メインフレーム・コンピュータ、分散型コンピューティング・クラスタ、キオスク、端末、ポイント・オブ・セール(POS)装置または端末、テレビジョン、またはネットワークを介してデータを受信できる任意の他のデバイスを含む。ウェブ・クライアントは、オペレーティング・システム(例えば、WINDOWS(登録商標)、WINDOWS(登録商標)MOBILE(登録商標)オペレーティング・システム、UNIX(登録商標)オペレーティング・システム、LINUX(登録商標)オペレーティング・システム、APPLE(登録商標)OS(登録商標)オペレーティング・システムなど)と、典型的にはコンピュータと関連する様々な従来のサポート・ソフトウェアおよびドライバとを含むことができる。ウェブ・クライアントはまた、MICROSOFT(登録商標)INTERNET EXPLORER(登録商標)ソフトウェア、MOZILLA(登録商標)FIREFOX(登録商標)ソフトウェア、GOOGLE(登録商標)CHROME(登録商標)ソフトウェア、APPLE(登録商標)SAFARI(登録商標)ソフトウェア、またはインターネットのブラウジングを可能とする他の多数のソフトウェア・パッケージのうちの任意のものを実行することができる。
[00123] 当業者には理解できるように、ウェブ・クライアントは、サーバ(例えば、ここで説明したアプリケーション・サーバ、ウェブ・サーバなど)と直接に接触する場合もしない場合もある。例えば、ウェブ・クライアントは、サーバのサービスへ、インターネット・サーバへの直接的または間接的に接続され得る別のサーバおよび/またはハードウェア・コンポーネントを介して、アクセスすることができる。例えば、ウェブ・クライアントは、ロード・バランサを介してサーバと通信することができる。様々な実施形態において、ウェブ・クライアントのアクセスは、商業的に入手可能なウェブ・ブラウザ・ソフトウェア・パッケージを通じてネットワークまたはインターネットを通じて行われる。この点に関して、ウェブ・クライアントは、ネットワークまたはインターネットへアクセスできる家庭または仕事の環境にあり得る。ウェブ・クライアントは、セキュリティ・ソケット・レイヤー(SSL)やトランスポート・レイヤー・セキュリティ(TLS)などのようなセキュリティ・プロトコルをインプリメントすることができる。ウェブ・クライアントは、HTTP、HTTPS、FTP、およびSFTPを含む幾つかのアプリケーション層プロトコルをインプリメントすることができる。
[00124] ここで論じる何れのデータベース、データ構造、またはそれらと同様のものも、リレーショナル、階層、グラフィカル、ブロックチェーン、オブジェクト指向の構造、および/または任意の他のデータベース構成を含むことができる。また、何れのデータベース、データ構造、またはそれらと同様のものも、フラット・ファイル構造を含み、データは、行および列の形の1つのファイルに格納することができ、インデックスのための構造はなく、また、レコード間の構造的関係もない。例えば、フラット・ファイル構造は、範囲を定められたテキスト・ファイル、CSV(コンマ区切り)ファイル、および/または任意の他の適切なフラット・ファイル構造を含むことができる。データベースをインプリメントするために使用できる共通のデータベース製品は、IBM(登録商標)(ニューヨーク州アーモンク)のDB2(登録商標)、Oracle(登録商標)Corporation(カリフォルニア州レッドウッド・ショア)から入手可能な様々なデータベース製品、MICROSOFT(登録商標)Corporation(ワシントン州レドモンド)のMICROSOFT(登録商標)Access(登録商標)やMICROSOFT(登録商標)SQL Server(登録商標)、MySQL AB(スウェーデン、アップサラ)のMYSQL(登録商標)、MONGODB(登録商標)、Redis、Apache Cassandra(登録商標)、APACHE(登録商標)のHBASE(登録商標)、MAPR(登録商標)社のMapR−DB、または他の任意の適切なデータベース製品を含む。更に、任意のデータベースは、例えば、データ・テーブルやルックアップ・テーブルのように、任意の適切な様式に編成することができる。各レコードは、1つのファイル、一連のファイル、リンクされた一連のデータ・フィールド、または他の任意のデータ構造とすることができる。
[00125] また、当業者には理解されるように、セキュリティに関する理由により、何れのデータベース、システム、デバイス、サーバ、またはシステムの他のコンポーネントも、1つの位置または複数の位置において、それらの任意の組み合わせからなることができ、それぞれのデータベース、システム、デバイス、サーバ、および/または他のコンポーネントは、ファイアーウォール、アクセス・コード、暗号化、暗号化解除、圧縮、圧縮解除、および/またはその他の類似のものなどのような様々な適切なセキュリティ機能のうちの任意のものを含む。
[00126] 暗号化は、当該分野で現在使用可能または使用可能になり得る技術のうちの任意のものにより行うことができ、それらは、例えば、Twofish、RSA、El Gamal、Schorr signature、DSA、PGP、PKI、GPG (GnuPG)、HPEフォーマット保持暗号化(FPE)、Voltage、トリプルDES、ブローフィッシュ、AES、MD5、HMAC、IDEA、RC6、および対称および非対称の暗号システムである。ネットワーク通信はまた、SHAシリーズ暗号法、楕円曲線暗号(例えば、ECC、ECDH、ECDSAなど)、および/または開発中の他のポスト量子暗号アルゴリズムを組み込むことができる。
[00127] ファイアーウォールは、他のネットワークのユーザからCMSコンポーネントおよび/またはエンタープライズ・コンピューティング・リソースを保護するために適切に構成された任意のハードウェアおよび/またはソフトウェアを含むことができる。更に、ファイアーウォールは、ウェブ・サーバを介して接続するウェブ・クライアントのために、ファイアーウォールの後ろにある様々なシステムおよびコンポーネントへのアクセスを限定または制限するように構成することができる。ファイアーウォールは、数ある中でもステートフル・インスペクション、プロキシ・ベースのアクセス制御リスト、およびパケット・フィルタリングを含む変化するコンフィギュレーション内に存在することができる。ファイアーウォールは、ウェブ・サーバまたは他の任意のCMSコンポーネントの中へ統合することができ、また、更に、別個のエンティティとして存在することができる。ファイアーウォールは、ネットワーク・アドレス・トランスレーション(NAT)および/またはネットワーク・アドレス・ポート・トランスレーション(NAPT)をインプリメントすることができる。ファイアーウォールは、仮想プライベート・ネットワーキングで用いられているもののように、セキュアな通信を容易にするために様々なトンネリング・プロトコルを適用させることができる。ファイアーウォールは、インターネットなどのような公共ネットワークとの通信を容易にするために、非武装地帯(DMZ)をインプリメントすることができる。ファイアーウォールは、インターネット・サーバ内または他の任意のアプリケーション・サーバ・コンポーネント内でソフトウェアとして統合することができ、また、別のコンピューティング・デバイス内に存在することができ、また、スタンドアローンのハードウェア・コンポーネントの形態をとることができる。
[00128] ここでは、システムおよび方法は、機能ブロック・コンポーネント、スクリーン・ショット、オプション的な選択、および様々な処理ステップに関して説明されていることがある。そのような機能ブロックは、指定された機能を行うように構成された任意の数のハードウェアおよび/またはソフトウェア・コンポーネントにより実現できることを、理解すべきである。例えば、システムは、1以上のマイクロプロセッサまたは他の制御デバイスの制御の下で様々な機能を実施することができる様々な集積回路コンポーネント、例えば、メモリ・エレメント、処理エレメント、論理エレメント、ルックアップ・テーブル、およびその他の類似のものを、用いることができる。同様に、システムのソフトウェア・エレメントは、任意のプログラミング言語やスクリプティング言語と、データ構造、オブジェクト、プロセス、ルーチン、または他のプログラミング・エレメントの任意の組み合わせを用いてインプリメントされる様々なアルゴリズムとを用いて、インプリメントすることができ、プログラミング言語やスクリプティング言語は、C、C++、C#、JAVA(登録商標)、JAVASCRIPT(登録商標)、JAVASCRIPT(登録商標)Object Notation (JSON)、VBScript、Macromedia COLD FUSION、COBOL、MICROSOFT(登録商標)社のActive Server Pages、アセンブリ、PERL(登録商標)、PHP、awk、PYTHON(登録商標)、Visual Basic、SQL Stored Procedures、PL/SQL、何れかのUNIX(登録商標)シェル・スクリプト、およびエクステンシブル・マークアップ・ランゲージ (XML)などである。更に、システムは、データ送信、信号発信、データ処理、ネットワーク制御、およびその他の類似のもののための任意の数の従来技術を用いることができることに、留意されたい。更に、システムは、JAVASCRIPT(登録商標)、VBScript、またはその他の類似のものなどのようなクライアント側のスクリプティング言語でのセキュリティの問題を検出または回避するために、使用することができる。暗号およびネットワーク・セキュリティの方法は当該技術では良く知られており、多くの標準的な文書で扱われている。
[00129] 様々な実施形態において、ここで説明したソフトウェア・エレメントはまた、NODE.JS(登録商標)コンポーネントを用いてインプリメントすることができる。NODE.JS(登録商標)プログラムは、様々なコア機能を扱うための幾つかのモジュールをインプリメントすることができる。例えば、NPM(登録商標)などのようなパッケージ管理モジュールは、第三者のNODE.JS(登録商標)プログラムのインストレーションおよび管理を計画して行う際の援助のために、オープン・ソース・ライブラリとしてインプリメントすることができる。NODE.JS(登録商標)プログラムはまた、例えばパラレル・マルチスレッド・マシン(PM2)などのようなプロセス・マネージャ、例えばノード・アプリケーション・メトリックス(appmetrics)などのようなリソースおよび性能の監視ツール、ユーザ・インタフェースを構築するためのライブラリ・モジュール、および/または他の適切な且つ/又は望ましいモジュールをインプリメントすることができる。
[00130] 通常の当業者には理解できるように、システムは、既存のシステムをカスタム化したもの、アドオン製品、アップグレードされたソフトウェアを実行する処理装置、スタンドアローンのシステム、分散型のシステム、方法、データ処理システム、データ処理のためのデバイス、および/またはコンピュータ・プログラム製品として、実現することができる。したがって、システムまたはモジュールの何れの部分も、コードを実行する処理装置、インターネット・ベースの実施形態、全てハードウェアの実施形態、またはインターネット、ソフトウェア、およびハードウェアの構成を組み合わせた実施形態の形とすることができる。更に、システムは、コンピュータ読み取り可能な格納媒体上のコンピュータ・プログラム製品の形とすることができ、この格納媒体においてコンピュータ読み取り可能なプログラム・コード手段が実現されている。任意の適切コンピュータ読み取り可能な格納媒体を用いることができ、格納媒体は、ハード・ディスク、CD−ROM、SONY(登録商標)BLU−RAY DISC(登録商標)、光学式格納デバイス、磁気格納デバイス、および/またはその他の類似のものを含む。
[00131] ここで説明したシステムはまた、ウェブ・サービス、ユーティリティー・コンピューティング、普及型および個人向けのコンピューティング、セキュリティおよびアイデンティティーのソリューション、自動コンピューティング、クラウド・コンピューティング、商品コンピューティング、モビリティおよびワイヤレスのソリューション、オープン・ソース、バイオメトリックス、グリッド・コンピューティング、および/またはメッシュ・コンピューティングと関連しての使用についても考慮している。
[00132] 「非一時的(non-transitory)」という用語は、伝搬する一時的な信号自体のみを特許請求の範囲から除くものと理解され、伝搬する一時的な信号自体のみではない全ての標準的なコンピュータ読み取り可能媒体に対しての権利は放棄しない。換言すると、「非一時的なコンピュータ読み取り可能媒体」および「非一時的なコンピュータ読み取り可能格納媒体」という用語は、In Re Nuijtenにおいて、35 U.S.C. セクション101の下で特許可能な主題の範囲外にあるとされた形態の一時的コンピュータ読み取り可能媒体のみを除くものと、解釈されるべきである。
[00133] ここでは、特定の実施形態についての利益、他の利点、および問題の解決法を説明した。しかし、利益、利点、問題の解決法、および利益、利点、または解決法を生じさせるか又はより明白にさせる何れのエレメントも、本開示の決定的な、必要な、または本質的な特徴またはエレメントとして解釈されない。従って、本開示の範囲は、添付の特許請求の範囲以外では限定されず、特許請求の範囲では、単数形でのエレメントに対する言及は、明確に「唯一」と述べていないかぎり、「唯一」を意味することを意図しておらず、むしろ「1以上」を意味する。更に、「A、B、およびCのうちの少なくとも1つ」や「A、B、またはCのうちの少なくとも1つ」のような文が特許請求の範囲や明細書で用いられる場合、その文は、Aのみが実施形態において存在し得る、Bのみが実施形態において存在し得る、Cのみが実施形態において存在し得る、またはAとBとCとの任意の組み合わせ、例えば、AとB、AとC、BとC、またはAとBとCが1つの実施形態において存在し得る、ということを意味すると解釈されることを、意図している。
[00134] 本開示は方法を含むが、それが、磁気または光メモリや磁気または光ディスクなどのような実体的なコンピュータ読み取り可能キャリア上のコンピュータ・プログラム命令として実施され得ることが、考慮されている。当業者には知られている上記の様々な実施形態のエレメントと構造的、化学的、および機能的に等価の全てのものは、この言及により明確にここに組み込まれるものとし、本特許請求の範囲の範囲にあることが意図される。更に、デバイスまたは方法は、本開示による解決が求められる個々および全ての問題に向けたものとする必要はなく、なぜなら、それは本特許請求の範囲の範囲内にあるからである。更に、本開示における何れのエレメント、コンポーネント、または方法のステップも、そのエレメント、コンポーネント、または方法のステップが明確に特許請求の範囲に記載されているか否かにかかわらず、公衆に献呈することは意図していない。ここでの特許請求されるエレメントは、エレメントが明確に「ための手段」という語を用いて記載されていないかぎり、35 U.S.C. 112(f)の規定の下で解釈されない。ここで用いられる「含む(comprises)」、「含む(comprising)」、またはこれらの変形した用語の何れも、非排他的包含を範囲に含むことを意図しており、列挙されるエレメントを含むプロセス、方法、物、または装置は、それらのエレメントのみを含むのではなく、明確には列挙されていない他のエレメントや、そのようなプロセス、方法、物、または装置に固有の他のエレメントも含み得る。
Claims (20)
- システムであって、
プロセッサと、
前記プロセッサと通信するように構成された実体的な非一時的メモリであって、命令が格納されており、前記プロセッサにより前記命令が実行されると、前記プロセッサは、
パスワード入力の、各バイトが十進値からなるバイトの数を、前記プロセッサにより決定することと、
前記パスワード入力の第1バイトの十進値に基づいて、数学関数を、前記プロセッサにより取り出すことと、
データ・ファイルの各バイトに対して、前記数学関数を、前記プロセッサにより用いることと
を含む動作を行うようにされる、実体的な非一時的メモリと
を含むシステム。 - 請求項1に記載のシステムであって、
前記パスワード入力の第2バイトの十進値に基づいて、第2の数学関数を、前記プロセッサにより取り出すことと、
前記データ・ファイルの各バイトに対して、前記第2の数学関数を、前記プロセッサにより用いることと
を更に含むシステム。 - 請求項2に記載のシステムであって、前記データ・ファイルの各バイトへの前記第1の数学関数および前記第2の数学関数を用いることを、前記プロセッサにより反復することを更に含み、前記用いることは、ユーザ入力、格納された値、または前記パスワード入力の選択されたバイトの十進値に基づいて反復される、システム。
- 請求項1に記載のシステムであって、前記パスワード入力の少なくとも1つのバイトの十進値に基づいて、前記データ・ファイルのバイトの位置を、前記プロセッサにより置き換えることを更に含むシステム。
- 請求項1に記載のシステムであって、前記データ・ファイルへフィラー・バイトを、前記プロセッサにより付加することを更に含み、前記データ・ファイルへ付加されるフィラー・バイトの数は、最小ファイル・サイズ、最大ファイル・サイズ、または前記パスワード入力の少なくとも1つのバイトの十進値のうちの少なくとも1つに基づく、システム。
- 請求項1に記載のシステムであって、前記パスワード入力の少なくとも1つのバイトの十進値に基づいて、前記データ・ファイルの開始バイトの位置を、前記プロセッサにより調節することを更に含むシステム。
- 請求項1に記載のシステムであって、前記データ・ファイルへランダムなファイル拡張子を、前記プロセッサにより割り当てることを更に含むシステム。
- 請求項1に記載のシステムであって、前記数学関数は、前記データ・ファイルのデータ・バイトを暗号化または暗号化解除の前記データ・ファイルの少なくとも1つへ変更するように構成された可逆的な関数を含む、システム。
- ポータブル・ストレージ・デバイス(PSD)であって、
プロセッサと、
数学関数リストを含むものであり、前記プロセッサから命令を受け取るように構成された暗号化モジュールであって、前記数学関数リストは、番号順になったリストに格納された数学関数を含む、暗号化モジュールと、
前記プロセッサと通信するように構成された実体的な非一時的メモリであって、命令が格納されており、前記プロセッサにより前記命令が実行されると、前記暗号化モジュールは、
パスワード入力に基づいて、前記数学関数リストから複数の数学関数を、前記暗号化モジュールにより取り出すことと、
データ・ファイルの各バイトに対して、前記数学関数を、前記暗号化モジュールにより用いることと、
前記データ・ファイルのバイトの位置を、前記プロセッサにより置き換えることと、
前記データ・ファイルへフィラー・バイトを、前記プロセッサにより付加することと、
前記データ・ファイルの開始バイトの位置を、前記プロセッサにより調節することと
を含む動作を行うようにされる、実体的な非一時的メモリと
を含むポータブル・ストレージ・デバイス(PSD)。 - 請求項9に記載のPDSであって、
前記パスワード入力のバイトの数を、前記暗号化モジュールにより決定することと、
前記パスワード入力の各バイトの十進値であって、情報交換用米国標準コード(ASCII)基づくものである前記十進値を、前記暗号化モジュールにより決定することと
を更に含むPSD。 - 請求項10に記載のPSDであって、前記パスワード入力を前記暗号化モジュールによりランダム化することを更に含み、前記パスワード入力は、前記パスワードの長さを変化させること、前記パスワード入力のバイトの位置を、各バイトの十進値に基づいて置き換えること、または各バイトの十進値の比較に基づいて1以上のバイトの十進値を加算または減算することのうちの少なくとも1つによりランダム化される、PSD。
- 請求項11に記載のPSDであって、前記パスワード入力は、ランダム化のときに各バイトの十進値を数学関数の前記番号順になったリストより小さい数に制限する係数ロジックに基づいて、ランダム化される、PSD。
- 請求項10に記載のPSDであって、それぞれの数学関数は、番号順になったリストの数値へ割り当てられ、前記パスワード入力の各バイトの十進値と一致する数値を有する前記数学関数を取り出すことにより、複数の前記数学関数が取り出される、PSD。
- 請求項9に記載のPSDであって、前記データ・ファイルの各バイトに対して前記数学関数を用いることは、前記データ・ファイルの各バイトに対して複数の前記数学関数からの各数学関数を反復して用いることを含む、PSD。
- 請求項14に記載のPSDであって、前記データ・ファイルの各バイトに対して前記数学関数を前記反復して用いることを、前記暗号化モジュールにより反復することを更に含み、前記反復して用いることは、ユーザ入力、格納された値、または前記パスワード入力の選択されたバイトの十進値に基づいて反復される、PSD。
- 請求項9に記載のPSDであって、
前記プロセッサと電子的に通信するストレージ・モジュールと、
前記プロセッサと電子的に通信する通信モジュールと
を更に含み、前記データ・ファイルは、前記ストレージ・モジュールから取り出されるか、または前記通信モジュールから受け取られる、PSD。 - データ・ファイルの暗号化の方法であって、
パスワード入力に基づいて複数の数学関数をプロセッサにより取り出すことと、
前記データ・ファイルの各バイトに対して前記数学関数を前記プロセッサにより用いることとであって、前記複数の数学関数からの各数学関数を、前記データ・ファイルの各バイトに対して反復して用いることと、
前記パスワード入力に基づいて前記データ・ファイルのバイトの位置を前記プロセッサにより置き換えることと、
前記パスワード入力に基づいて前記データ・ファイルへフィラー・バイトを前記プロセッサにより付加することと、
前記パスワード入力に基づいて前記データ・ファイルの開始バイトの位置を前記プロセッサにより調節することと
を含む方法。 - 請求項17に記載の方法であって、ユーザ入力、格納された値、または前記パスワード入力の選択されたバイトの十進値に基づいて、前記データ・ファイルの各バイトに対して前記数学関数を前記反復して用いることを、前記プロセッサにより反復することを更に含む方法。
- 請求項17に記載の方法であって、前記データ・ファイルのバイトの位置は前記バイトの十進値に基づいて置き換えられ、前記データ・ファイルのバイトの位置は、前記データ・ファイルの各バイトが置き換えられてしまうまで、または置き換えの所定の数に基づいて、置き換えられる、方法。
- 請求項17に記載の方法であって、前記データ・ファイルへ付加されるフィラー・バイトの数は、最小ファイル・サイズ、最大ファイル・サイズ、または前記パスワード入力の少なくとも1つのバイトの十進値のうちの少なくとも1つに基づくものであり、前記開始バイトの位置は、前記パスワード入力の少なくとも1つのバイトの十進値に基づいて調節される、方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762593603P | 2017-12-01 | 2017-12-01 | |
US62/593,603 | 2017-12-01 | ||
PCT/US2018/063468 WO2019109033A1 (en) | 2017-12-01 | 2018-11-30 | Systems and methods for improved data encryption |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021505938A true JP2021505938A (ja) | 2021-02-18 |
Family
ID=66658264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020529716A Pending JP2021505938A (ja) | 2017-12-01 | 2018-11-30 | データ暗号化を改善するシステムおよび方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US11985244B2 (ja) |
EP (1) | EP3718040A4 (ja) |
JP (1) | JP2021505938A (ja) |
KR (1) | KR102660851B1 (ja) |
AU (1) | AU2018374384A1 (ja) |
CA (1) | CA3083988A1 (ja) |
MX (1) | MX2020005623A (ja) |
WO (1) | WO2019109033A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111405006B (zh) * | 2020-03-06 | 2022-07-12 | 北京奇艺世纪科技有限公司 | 一种远程登录失败的处理方法、装置及远程登录系统 |
CN112487461B (zh) * | 2020-12-07 | 2023-06-09 | 重庆电子工程职业学院 | 一种数据加密方法 |
CN113382022B (zh) * | 2021-08-12 | 2021-11-02 | 江西嘉捷鑫源科技有限公司 | 一种串口数据处理方法、电子设备及可读存储介质 |
US11755772B2 (en) * | 2021-09-20 | 2023-09-12 | Crown Sterling Limited, LLC | Securing data in a blockchain with a one-time pad |
CN114172889B (zh) * | 2021-10-18 | 2024-03-22 | 江苏赞奇科技股份有限公司 | 一种实时渲染中小文件高效传输方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11265146A (ja) * | 1998-03-16 | 1999-09-28 | Matsushita Electric Ind Co Ltd | 認証子生成方法及び認証子生成装置 |
JP2006317802A (ja) * | 2005-05-13 | 2006-11-24 | Ochanomizu Univ | 擬似乱数発生システム、暗号化システム及び復号化システム |
US20080080709A1 (en) * | 1999-04-27 | 2008-04-03 | Antibody Software Inc. | Method for encrypting information and device for realization of the method |
JP2012050075A (ja) * | 2010-07-29 | 2012-03-08 | Nidec Copal Corp | 暗号化通信システム及び暗号化通信方法 |
US20130028419A1 (en) * | 2011-07-26 | 2013-01-31 | Debabrata Das | System and a method for use in a symmetric key cryptographic communications |
JP2016111446A (ja) * | 2014-12-03 | 2016-06-20 | 株式会社メガチップス | メモリコントローラ、メモリコントローラの制御方法及びメモリシステム |
CN206212089U (zh) * | 2016-10-13 | 2017-05-31 | 董海涛 | 具有移动存储功能的手机保护壳 |
Family Cites Families (367)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6310477U (ja) | 1986-07-08 | 1988-01-23 | ||
US5003596A (en) * | 1989-08-17 | 1991-03-26 | Cryptech, Inc. | Method of cryptographically transforming electronic digital data from one form to another |
FR2662009B1 (fr) | 1990-05-09 | 1996-03-08 | Apple Computer | Icone manupulable a faces multiples pour affichage sur ordinateur. |
US5246564A (en) | 1991-10-22 | 1993-09-21 | Sumitomo Metal Mining Company, Limited | Method of manufacturing copper-polyimide substrate |
US5861873A (en) | 1992-06-29 | 1999-01-19 | Elonex I.P. Holdings, Ltd. | Modular portable computer with removable pointer device |
US5689654A (en) | 1992-06-29 | 1997-11-18 | Elonex F.P. Holdings, Ltd. | Digital assistant system including a host computer with a docking bay for the digital assistant wherein a heat sink is moved into contact with a docked digital assistant for cooling the digital assistant |
JPH0713660A (ja) | 1993-06-21 | 1995-01-17 | Toshiba Corp | 携帯型電子機器 |
JPH07108883A (ja) | 1993-10-13 | 1995-04-25 | Mazda Motor Corp | 自動車用制御装置の制御ゲイン変更装置及び変更方法 |
JP3697276B2 (ja) | 1993-10-27 | 2005-09-21 | ゼロックス コーポレイション | 画像ディスプレイ方法及び画像ディスプレイ装置並びに画像スケーリング方法 |
US5729471A (en) | 1995-03-31 | 1998-03-17 | The Regents Of The University Of California | Machine dynamic selection of one video camera/image of a scene from multiple video cameras/images of the scene in accordance with a particular perspective on the scene, an object in the scene, or an event in the scene |
CA2180891C (en) | 1995-07-12 | 2010-01-12 | Junichi Rekimoto | Notification of updates in a three-dimensional virtual reality space sharing system |
US5664228A (en) | 1995-08-09 | 1997-09-02 | Microsoft Corporation | Portable information device and system and method for downloading executable instructions from a computer to the portable information device |
US5678015A (en) | 1995-09-01 | 1997-10-14 | Silicon Graphics, Inc. | Four-dimensional graphical user interface |
JPH0991155A (ja) | 1995-09-22 | 1997-04-04 | Hitachi Ltd | アプリケーション・ブリッジシステム |
JP3580923B2 (ja) | 1995-12-21 | 2004-10-27 | 株式会社日本自動車部品総合研究所 | 盗難防止装置 |
US5870548A (en) | 1996-04-05 | 1999-02-09 | Sun Microsystems, Inc. | Method and apparatus for altering sent electronic mail messages |
US6002403A (en) | 1996-04-30 | 1999-12-14 | Sony Corporation | Graphical navigation control for selecting applications on visual walls |
US6029183A (en) | 1996-08-29 | 2000-02-22 | Xybernaut Corporation | Transferable core computer |
EP0835790B1 (en) | 1996-10-14 | 2003-12-10 | Denso Corporation | Anti-theft device using code type transponder |
US6710788B1 (en) | 1996-12-03 | 2004-03-23 | Texas Instruments Incorporated | Graphical user interface |
US6314310B1 (en) | 1997-02-14 | 2001-11-06 | Biosense, Inc. | X-ray guided surgical location system with extended mapping volume |
US5963215A (en) | 1997-03-26 | 1999-10-05 | Intel Corporation | Three-dimensional browsing of multiple video sources |
SG104914A1 (en) | 1997-06-30 | 2004-07-30 | Hitachi Ltd | Gas turbine |
US6008809A (en) | 1997-09-22 | 1999-12-28 | International Business Machines Corporation | Apparatus and method for viewing multiple windows within a dynamic window |
US6597358B2 (en) | 1998-08-26 | 2003-07-22 | Intel Corporation | Method and apparatus for presenting two and three-dimensional computer applications within a 3D meta-visualization |
CZ390598A3 (cs) | 1998-11-30 | 2000-06-14 | Tomáš Rndr. Svoboda | Způsob modifikace zprávy v komunikačním systému a zařízení k provádění způsobu |
US7073717B1 (en) | 1999-08-27 | 2006-07-11 | Paxar Americas, Inc. | Portable printer and data entry device connected thereto assembly |
US6489932B1 (en) | 1999-09-30 | 2002-12-03 | Prasanna R. Chitturi | Display device including an integral docking station for a palm sized computing device |
US7134095B1 (en) | 1999-10-20 | 2006-11-07 | Gateway, Inc. | Simulated three-dimensional navigational menu system |
FR2806183B1 (fr) | 1999-12-01 | 2006-09-01 | Cartesis S A | Dispositif et procede pour la consolidation instantanee, l'enrichissement et le "reporting" ou remontee d'information dans une base de donnees multidimensionnelle |
AU2582401A (en) | 1999-12-17 | 2001-06-25 | Dorado Network Systems Corporation | Purpose-based adaptive rendering |
US7010634B2 (en) | 1999-12-23 | 2006-03-07 | Intel Corporation | Notebook computer with independently functional, dockable core computer |
US20070168614A1 (en) | 2000-01-06 | 2007-07-19 | Super Talent Electronics Inc. | Secure-Digital (SD) Flash Card with Auto-Adaptive Protocol and Capacity |
US20010033654A1 (en) * | 2000-01-13 | 2001-10-25 | Gabor Wieser | W-EC1 encryption and decryption method and system |
US20020105529A1 (en) | 2000-02-11 | 2002-08-08 | Jason Bowser | Generation and display of multi-image video streams |
US7685534B2 (en) | 2000-02-16 | 2010-03-23 | Jlb Ventures Llc | Method and apparatus for a three-dimensional web-navigator |
EP1281115A2 (en) | 2000-03-17 | 2003-02-05 | Vizible.com Inc. | A three dimensional spatial user interface |
US6938218B1 (en) | 2000-04-28 | 2005-08-30 | James Nolen | Method and apparatus for three dimensional internet and computer file interface |
JP3691727B2 (ja) | 2000-05-31 | 2005-09-07 | シャープ株式会社 | 携帯形電子機器 |
US7782363B2 (en) | 2000-06-27 | 2010-08-24 | Front Row Technologies, Llc | Providing multiple video perspectives of activities through a data network to a remote multimedia server for selective display by remote viewing audiences |
US7477890B1 (en) | 2000-06-30 | 2009-01-13 | International Business Machines Corporation | Demand pull—multichannel asynchronous data and application synchronization for pervasive devices |
US6922815B2 (en) | 2000-11-21 | 2005-07-26 | James A. Nolen, III | Display method and apparatus for facilitating interaction with Web sites |
US7139982B2 (en) | 2000-12-21 | 2006-11-21 | Xerox Corporation | Navigation methods, systems, and computer program products for virtual three-dimensional books |
US7937655B2 (en) | 2000-12-22 | 2011-05-03 | Oracle International Corporation | Workflows with associated processes |
US6666579B2 (en) | 2000-12-28 | 2003-12-23 | Ge Medical Systems Global Technology Company, Llc | Method and apparatus for obtaining and displaying computed tomography images using a fluoroscopy imaging system |
US7216305B1 (en) | 2001-02-15 | 2007-05-08 | Denny Jaeger | Storage/display/action object for onscreen use |
US6497367B2 (en) | 2001-04-26 | 2002-12-24 | International Business Machines Corporation | Providing a location and item identification data to visually impaired shoppers in a site having barcode labels |
AU2002320116A1 (en) | 2001-06-18 | 2003-01-02 | Oqo, Inc. | Modular computing system |
WO2003015337A1 (en) * | 2001-08-07 | 2003-02-20 | Cyneta Networks, Inc. | Uplink session extension |
FR2830950A1 (fr) | 2001-10-11 | 2003-04-18 | Archos | Systeme et procede de stockage de masse, et unite de stockage de masse autonome et portative utilisee dans un tel systeme |
WO2003038750A2 (en) | 2001-10-30 | 2003-05-08 | Polydimension, Inc. | Method and apparatus for utilizing representational images in analytical activities |
US20030142136A1 (en) | 2001-11-26 | 2003-07-31 | Carter Braxton Page | Three dimensional graphical user interface |
JP4095295B2 (ja) | 2001-12-21 | 2008-06-04 | 株式会社東海理化電機製作所 | 車両用施解錠制御装置及び車両用施解錠制御システム |
US7403999B2 (en) | 2001-12-28 | 2008-07-22 | International Business Machines Corporation | Classification support system and method for fragmented IP packets |
US7296057B2 (en) | 2002-01-08 | 2007-11-13 | International Business Machines Corporation | Method for user-specified error correction in an instant messaging system |
US20030141978A1 (en) | 2002-01-29 | 2003-07-31 | D'agosto Joseph | Monitor alarm for detecting vehicle driver's sleepness |
US7043521B2 (en) | 2002-03-21 | 2006-05-09 | Rockwell Electronic Commerce Technologies, Llc | Search agent for searching the internet |
WO2003102752A1 (en) | 2002-05-31 | 2003-12-11 | Simpletech, Inc. | Removable storage device |
JP2004079887A (ja) | 2002-08-21 | 2004-03-11 | Renesas Technology Corp | 半導体装置 |
US7234117B2 (en) | 2002-08-28 | 2007-06-19 | Microsoft Corporation | System and method for shared integrated online social interaction |
EP1396780B1 (en) | 2002-09-03 | 2006-07-12 | Hewlett-Packard Company | Context input device |
TW200407706A (en) | 2002-11-01 | 2004-05-16 | Inventec Multimedia & Telecom | System and method for automatic classifying and storing of electronic files |
US7480872B1 (en) | 2003-04-06 | 2009-01-20 | Apple Inc. | Method and apparatus for dynamically resizing windows |
JP4136771B2 (ja) | 2003-04-23 | 2008-08-20 | キヤノン株式会社 | 通信システム、通信装置、及びその制御方法、並びにコンピュータプログラム |
US7533408B1 (en) | 2003-06-13 | 2009-05-12 | Michael Arnouse | Portable computing system, apparatus and method |
US7516484B1 (en) | 2008-02-13 | 2009-04-07 | Michael Arnouse | Reader adapted for a portable computer |
JP4464086B2 (ja) | 2003-08-04 | 2010-05-19 | 株式会社東海理化電機製作所 | メカキー及び携帯機 |
US7607012B2 (en) | 2003-10-01 | 2009-10-20 | Nokia Corporation | Method for securing a communication |
US20060008256A1 (en) | 2003-10-01 | 2006-01-12 | Khedouri Robert K | Audio visual player apparatus and system and method of content distribution using the same |
US7370284B2 (en) | 2003-11-18 | 2008-05-06 | Laszlo Systems, Inc. | User interface for displaying multiple applications |
US20050185364A1 (en) | 2004-01-05 | 2005-08-25 | Jory Bell | Docking station for mobile computing device |
WO2005083546A1 (en) | 2004-02-27 | 2005-09-09 | Simon Richard Daniel | Wearable modular interface strap |
US7853663B2 (en) | 2004-03-12 | 2010-12-14 | Riip, Inc. | Wireless management system for control of remote devices |
US7149836B2 (en) | 2004-03-12 | 2006-12-12 | C-One Technology Corporation | GPRS replaceable module communication device |
KR100566511B1 (ko) | 2004-04-06 | 2006-04-04 | 한국몰렉스 주식회사 | 전기접속용 커넥터 |
KR100596410B1 (ko) | 2004-11-04 | 2006-07-03 | 한국전자통신연구원 | 기능 확장용 에스디 메모리 카드 |
US20050237704A1 (en) | 2004-04-22 | 2005-10-27 | Carl Ceresoli | Wristdrive |
GB0412338D0 (en) | 2004-06-03 | 2004-07-07 | Koninkl Philips Electronics Nv | Transfer of content between storage devices |
US20050271207A1 (en) * | 2004-06-05 | 2005-12-08 | Helmut Frey | Method and system for chaotic digital signature, encryption, and authentication |
US8566732B2 (en) | 2004-06-25 | 2013-10-22 | Apple Inc. | Synchronization of widgets and dashboards |
US20060075225A1 (en) | 2004-06-30 | 2006-04-06 | Flynn James P | Digital content protection for peer to peer networks |
KR100608589B1 (ko) | 2004-07-24 | 2006-08-03 | 삼성전자주식회사 | 3차원 모션 그래픽 사용자 인터페이스 및 이를 제공하는방법 및 장치 |
KR100631763B1 (ko) | 2004-07-26 | 2006-10-09 | 삼성전자주식회사 | 3차원 모션 그래픽 사용자 인터페이스 및 이를 제공하는방법 및 장치 |
US20060023410A1 (en) | 2004-07-30 | 2006-02-02 | Mark Solomon | Apparatus for storing a structure within an electronic device |
KR100643276B1 (ko) | 2004-08-07 | 2006-11-10 | 삼성전자주식회사 | 3차원 모션 그래픽 사용자 인터페이스 및 이를 제공하는방법 및 장치 |
US20060057960A1 (en) | 2004-09-10 | 2006-03-16 | Tran Bao Q | Systems and methods for remote data storage |
US20060085741A1 (en) | 2004-10-20 | 2006-04-20 | Viewfour, Inc. A Delaware Corporation | Method and apparatus to view multiple web pages simultaneously from network based search |
US9591345B2 (en) | 2004-10-21 | 2017-03-07 | Core Wireless Licensing S.A.R.L. | Group editing of media content stored on wireless portable devices |
US8001476B2 (en) | 2004-11-16 | 2011-08-16 | Open Text Inc. | Cellular user interface |
US7434062B2 (en) | 2004-11-19 | 2008-10-07 | Konica Minolta Systems Laboratory, Inc. | Password encrypting apparatus and method for encrypting password |
US7712086B2 (en) | 2004-12-15 | 2010-05-04 | Microsoft Corporation | Portable applications |
US7364475B2 (en) | 2004-12-22 | 2008-04-29 | Spectra Logic Corporation | Spring based continuity alignment apparatus and method |
KR100595709B1 (ko) | 2005-01-06 | 2006-06-30 | 엘지전자 주식회사 | 휴대단말기에서의 개선된 인스턴트 메신저 서비스 제공 방법 |
US20060161631A1 (en) | 2005-01-18 | 2006-07-20 | Luigi Lira | Revisions of already sent messages in an instant messaging communication |
GB2422505A (en) | 2005-01-20 | 2006-07-26 | Agilent Technologies Inc | Sampling datagrams |
US7751565B2 (en) * | 2005-01-25 | 2010-07-06 | Pak Kay Yuen | Secure encryption system, device and method |
US7475112B2 (en) | 2005-03-04 | 2009-01-06 | Microsoft Corporation | Method and system for presenting a video conference using a three-dimensional object |
US7581192B2 (en) | 2005-03-31 | 2009-08-25 | Microsoft Corporation | Method and apparatus for application window grouping and management |
US8085871B2 (en) | 2005-04-21 | 2011-12-27 | Broadcom Corporation | Adaptive modulation in a multiple input multiple output wireless communication system with optional beamforming |
US7529255B2 (en) | 2005-04-21 | 2009-05-05 | Microsoft Corporation | Peer-to-peer multicasting using multiple transport protocols |
US9466048B2 (en) | 2005-05-16 | 2016-10-11 | Thomson Reuters Global Resources | Systems, methods, software and interfaces for integration of online research tasks into law firm workflow |
US8407615B2 (en) | 2005-06-08 | 2013-03-26 | Pitney Bowes Software Inc. | Method of displaying and interacting with information on a rotary fabric |
US7546461B2 (en) | 2005-06-28 | 2009-06-09 | Microsoft Corporation | Strengthening secure hash functions |
RU2421800C2 (ru) | 2005-08-01 | 2011-06-20 | Конинклейке Филипс Электроникс Н.В. | Организация контента при помощи динамического профиля |
JP2007049606A (ja) | 2005-08-12 | 2007-02-22 | Canon Inc | データ転送方法、データ送信装置、及びデータ転送システム |
US7602906B2 (en) * | 2005-08-25 | 2009-10-13 | Microsoft Corporation | Cipher for disk encryption |
KR100738540B1 (ko) | 2005-08-30 | 2007-07-11 | 삼성전자주식회사 | 멀티태스킹 환경에서의 사용자 인터페이스 방법 및 장치 |
CN101313265A (zh) | 2005-09-29 | 2008-11-26 | S·U·穆恩 | 分立计算机处理器系统和外围系统 |
KR100746008B1 (ko) | 2005-10-31 | 2007-08-06 | 삼성전자주식회사 | 3차원 모션 그래픽 유저 인터페이스, 이를 제공하는 장치및 방법 |
US7725839B2 (en) | 2005-11-15 | 2010-05-25 | Microsoft Corporation | Three-dimensional active file explorer |
ES2658097T3 (es) | 2005-11-18 | 2018-03-08 | Security First Corporation | Método y sistema de análisis de datos seguro |
US9626341B1 (en) | 2005-11-22 | 2017-04-18 | Syniverse Communications, Inc. | Method of and system for displaying mobile messages in unsupported formats |
US20070158408A1 (en) | 2005-12-23 | 2007-07-12 | Phison Electronics Corp. | Portable storage device with identifying function |
EP1964101A4 (en) | 2005-12-24 | 2013-08-28 | Joshua D I Distler | METHOD AND FILES FOR DELIVERING PICTURE MATERIAL WITH INTEGRATED DATA |
KR100714707B1 (ko) | 2006-01-06 | 2007-05-04 | 삼성전자주식회사 | 3차원 그래픽 유저 인터페이스를 위한 네비게이션 장치 및방법 |
WO2007092532A2 (en) | 2006-02-06 | 2007-08-16 | Portable Media Concepts, Inc. | Digital video and music player belt buckles |
US8050660B2 (en) | 2006-03-07 | 2011-11-01 | Motorola Mobility, Inc. | Apparatus and method for handling messaging service message adaptation |
US20070271580A1 (en) | 2006-05-16 | 2007-11-22 | Bellsouth Intellectual Property Corporation | Methods, Apparatus and Computer Program Products for Audience-Adaptive Control of Content Presentation Based on Sensed Audience Demographics |
US20070273675A1 (en) | 2006-05-23 | 2007-11-29 | Elegance Quest Enterprises, Llc | Image capture and display system and method |
US8868930B2 (en) * | 2006-05-31 | 2014-10-21 | International Business Machines Corporation | Systems and methods for transformation of logical data objects for storage |
US20070282601A1 (en) | 2006-06-02 | 2007-12-06 | Texas Instruments Inc. | Packet loss concealment for a conjugate structure algebraic code excited linear prediction decoder |
EP2070326A4 (en) | 2006-09-15 | 2010-07-07 | Eds Lab Pte Ltd | WIRELESS STORAGE ARRANGEMENT |
TWM312754U (en) | 2006-09-18 | 2007-05-21 | Genesys Logic Inc | Wireless encryption protected portable storage device |
WO2008090902A1 (ja) | 2007-01-25 | 2008-07-31 | Sharp Kabushiki Kaisha | マルチウィンドウ管理装置及びプログラム、記憶媒体、並びに情報処理装置 |
US20080181141A1 (en) | 2007-01-26 | 2008-07-31 | Microsoft Corporation | Enhanced voicemail processing |
US8972898B2 (en) | 2007-02-06 | 2015-03-03 | Novell Intellectual Properties, Inc. | Techniques for representing and navigating information in three dimensions |
US8391921B2 (en) | 2007-02-13 | 2013-03-05 | Google Inc. | Modular wireless communicator |
US8930555B2 (en) | 2007-03-08 | 2015-01-06 | Microsoft Corporation | Extending functionality of web-based applications |
US20080241809A1 (en) | 2007-03-09 | 2008-10-02 | Ashmore Mary E | Graphical user interface and method for providing a learning system |
ITUD20070055A1 (it) | 2007-03-15 | 2008-09-16 | Eurotech S P A | Dispositivo indossabile |
WO2008113085A2 (en) | 2007-03-15 | 2008-09-18 | Secure Symbology, Inc. | Method for managing a globally accessable operational data warehouse system with improved security and consumer response |
US20080235629A1 (en) | 2007-03-23 | 2008-09-25 | Mozes Incorporated | Display of multi-sided user object information in networked computing environment |
KR20080096134A (ko) | 2007-04-27 | 2008-10-30 | 엘지전자 주식회사 | 이동통신 단말기 및 그 웹페이지 제어방법 |
US8745535B2 (en) | 2007-06-08 | 2014-06-03 | Apple Inc. | Multi-dimensional desktop |
US8782178B2 (en) | 2007-06-14 | 2014-07-15 | Cisco Technology, Inc. | Distributed bootstrapping mechanism for peer-to-peer networks |
US8239479B2 (en) | 2007-06-22 | 2012-08-07 | Microsoft Corporation | Server-assisted and peer-to-peer synchronization |
DE102008029784A1 (de) | 2007-07-09 | 2009-02-05 | Korea Advanced Institute Of Science & Technology | Einkristalline Metallnanostrukturen aus Binärlegierung und Verfahren zu deren Herstellung |
US20090035733A1 (en) | 2007-08-01 | 2009-02-05 | Shmuel Meitar | Device, system, and method of adaptive teaching and learning |
US20090089692A1 (en) | 2007-09-28 | 2009-04-02 | Morris Robert P | Method And System For Presenting Information Relating To A Plurality Of Applications Using A Three Dimensional Object |
EP2042969A1 (en) | 2007-09-28 | 2009-04-01 | Alcatel Lucent | Method for determining user reaction with specific content of a displayed page. |
US8358623B2 (en) | 2007-11-06 | 2013-01-22 | Airvana Network Solutions, Inc. | Active handoffs in a network |
US7428702B1 (en) | 2008-01-27 | 2008-09-23 | International Business Machines Corporation | Method and system for dynamic message correction |
JP5144293B2 (ja) | 2008-02-04 | 2013-02-13 | 株式会社プロフィールド | 情報処理装置、情報処理方法、およびプログラム |
US8595302B2 (en) | 2008-02-22 | 2013-11-26 | Qualcomm Incorporated | Method and apparatus for monitoring message status in an asynchronous mediated communication system |
US8175528B2 (en) | 2008-03-18 | 2012-05-08 | Spansion Llc | Wireless mass storage flash memory |
US20090240598A1 (en) | 2008-03-24 | 2009-09-24 | Kargman James B | Method and apparatus for automated ordering and payment |
US8145264B1 (en) | 2008-04-30 | 2012-03-27 | Qualcomm Atheros, Inc. | Method and system for message transmission and reception |
DE102008023577A1 (de) * | 2008-05-16 | 2009-11-19 | Gerhard Bormann | Symmetrischer Ein-Block-Verschlüsselungs-Algorithmus mit variabler Schlüssellänge |
US7979434B2 (en) | 2008-06-02 | 2011-07-12 | LMR Inventions | System and method for storing and retrieving digital content with physical file systems |
US8159777B2 (en) | 2008-06-19 | 2012-04-17 | Apple Inc. | Portable electronic device with multipurpose hard drive circuit board |
KR20100010860A (ko) | 2008-07-23 | 2010-02-02 | 엘지전자 주식회사 | 이동 단말기 및 그의 이벤트 제어방법 |
US8250247B2 (en) | 2008-08-06 | 2012-08-21 | Sandisk Il Ltd. | Storage device for mounting to a host |
WO2010018551A1 (en) | 2008-08-13 | 2010-02-18 | Planplatform Ltd. | Device, system, and method of computer aided design (cad) |
US20100050129A1 (en) | 2008-08-19 | 2010-02-25 | Augusta Technology, Inc. | 3D Graphical User Interface For Simultaneous Management Of Applications |
US8924862B1 (en) | 2008-09-05 | 2014-12-30 | Cisco Technology, Inc. | Optimizing desktop sharing for wireless clients during networked collaboration |
US7787239B2 (en) | 2008-09-22 | 2010-08-31 | Psion Teklogix Inc. | Housing feature for providing stability for a portable terminal |
US20100078343A1 (en) | 2008-09-30 | 2010-04-01 | Hoellwarth Quin C | Cover for Portable Electronic Device |
US20100093412A1 (en) | 2008-10-09 | 2010-04-15 | Inside Contactless | Protective envelope for a handheld electronic device |
KR20100052203A (ko) | 2008-11-10 | 2010-05-19 | 삼성전자주식회사 | 방송 디스플레이 장치 및 그 제어 방법 |
KR20100056594A (ko) | 2008-11-20 | 2010-05-28 | 후지제롯쿠스 가부시끼가이샤 | 워크스페이스 관리 방법, 워크스페이스 관리 방식 및 컴퓨터 판독 가능한 기억매체 |
JP5104743B2 (ja) | 2008-12-16 | 2012-12-19 | 富士通株式会社 | 画像検索プログラム、画像検索方法及び記録媒体 |
US8132120B2 (en) | 2008-12-29 | 2012-03-06 | Verizon Patent And Licensing Inc. | Interface cube for mobile device |
US20150015368A1 (en) | 2013-07-15 | 2015-01-15 | Michael D. Roth | Passive ignition interlock identification apparatus and method of use thereof |
US8477175B2 (en) | 2009-03-09 | 2013-07-02 | Cisco Technology, Inc. | System and method for providing three dimensional imaging in a network environment |
US8471781B2 (en) | 2009-03-17 | 2013-06-25 | Litera Technologies, LLC | System and method for the auto-detection and presentation of pre-set configurations for multiple monitor layout display |
US20100250818A1 (en) | 2009-03-27 | 2010-09-30 | Qualcomm Incorporated | System and method of providing wireless connectivity between a portable computing device and a portable computing device docking station |
US9277969B2 (en) | 2009-04-01 | 2016-03-08 | Covidien Lp | Microwave ablation system with user-controlled ablation size and method of use |
JP2010252047A (ja) | 2009-04-15 | 2010-11-04 | Toshiba Corp | 電子装置及び電子装置の設定方法 |
CN102132614B (zh) | 2009-04-24 | 2016-01-20 | 骷髅头有限公司 | 无线同步机制 |
US20100281138A1 (en) | 2009-04-29 | 2010-11-04 | Paulo Lerner Froimtchuk | Method and system for remote coprocessor |
CN101635715B (zh) | 2009-05-31 | 2012-09-12 | 飞天诚信科技股份有限公司 | 提高网络应用安全性的方法和系统 |
US20100309228A1 (en) | 2009-06-04 | 2010-12-09 | Camilo Mattos | Displaying Multi-Dimensional Data Using a Rotatable Object |
KR20100131724A (ko) | 2009-06-08 | 2010-12-16 | 삼성전자주식회사 | 화면 표시방법, 화면 생성방법, 어플리케이션 실행 방법 및 이를 이용한 전자장치 |
US8405502B2 (en) | 2009-06-10 | 2013-03-26 | Qualcomm Incorporated | Identification and connectivity gateway wristband for hospital and medical applications |
EP2270578A1 (en) | 2009-06-30 | 2011-01-05 | Essilor International (Compagnie Générale D'Optique) | Method of and apparatus for designing an optical lens |
KR101608764B1 (ko) | 2009-07-14 | 2016-04-04 | 엘지전자 주식회사 | 이동 단말기 및 이것의 디스플레이 제어 방법 |
US8942371B2 (en) * | 2009-09-03 | 2015-01-27 | Jerzy Henryk Urbanik | Method and system for a symmetric block cipher using a plurality of symmetric algorithms |
US8385240B2 (en) | 2009-09-03 | 2013-02-26 | Qualcomm Incorporated | Selection and utilization of shared wireless wide area network modems |
JP5414448B2 (ja) | 2009-10-16 | 2014-02-12 | キヤノン株式会社 | 画像処理装置及びその制御方法並びにプログラム |
KR20110044424A (ko) | 2009-10-23 | 2011-04-29 | 엘지전자 주식회사 | 이동 단말기 및 그 제어방법 |
CN102053776B (zh) | 2009-10-29 | 2013-11-06 | 深圳富泰宏精密工业有限公司 | 桌面管理系统及方法 |
KR101701922B1 (ko) | 2009-11-17 | 2017-02-02 | 삼성전자 주식회사 | 휴대용 기기의 도킹장치 |
US9483651B2 (en) | 2009-11-30 | 2016-11-01 | Ncr Corporation | Methods and apparatus for transfer of content to a self contained wireless media device |
WO2011068464A1 (en) | 2009-12-01 | 2011-06-09 | T-Data Systems (S) Pte Ltd | Memory card and method for storage and wireless transceiving of data |
US8832853B2 (en) | 2009-12-07 | 2014-09-09 | Dst Technologies, Inc. | Managed virtual point to point communication service having verified directory, secure transmission and controlled delivery |
KR101633335B1 (ko) | 2009-12-07 | 2016-06-24 | 엘지전자 주식회사 | 이동 단말기 및 이것의 애플리케이션 제어 방법 |
JP5544871B2 (ja) | 2009-12-25 | 2014-07-09 | カシオ計算機株式会社 | 端末装置及びプログラム |
GB201000738D0 (en) | 2010-01-18 | 2010-03-03 | British Telecomm | Graphical data processing |
US10007393B2 (en) | 2010-01-19 | 2018-06-26 | Apple Inc. | 3D view of file structure |
US9703791B2 (en) | 2010-03-23 | 2017-07-11 | Nokia Technologies Oy | Method and apparatus for managing files in an online account |
CN102213973A (zh) | 2010-04-08 | 2011-10-12 | 辉达公司 | 便携式计算机系统 |
US8156189B2 (en) | 2010-04-13 | 2012-04-10 | Yahoo! Inc. | Creating rich experiences in mail through attachments |
US8725205B2 (en) | 2010-04-20 | 2014-05-13 | Communications Enhancement Products, Inc. | Computing device with removable processing unit |
US9485284B2 (en) | 2010-04-30 | 2016-11-01 | American Teleconference Services, Ltd | Customizing participant information in an online conference |
US9131059B2 (en) | 2010-04-30 | 2015-09-08 | American Teleconferencing Services, Ltd. | Systems, methods, and computer programs for joining an online conference already in progress |
CA2799907C (en) | 2010-05-19 | 2017-07-11 | Daniel Huang | Modular mobile accessory for mobile device |
JP2011248489A (ja) | 2010-05-25 | 2011-12-08 | Yokogawa Electric Corp | マルチウインドウ表示装置 |
US8670018B2 (en) | 2010-05-27 | 2014-03-11 | Microsoft Corporation | Detecting reactions and providing feedback to an interaction |
KR101690232B1 (ko) | 2010-05-28 | 2016-12-27 | 엘지전자 주식회사 | 전자 기기 및 전자 기기의 제어 방법 |
US9351143B2 (en) | 2010-06-01 | 2016-05-24 | Qualcomm Incorporated | Multi-homed peer-to-peer network |
CN102270016B (zh) | 2010-06-07 | 2013-11-20 | 鸿富锦精密工业(深圳)有限公司 | 云计算客户端电脑 |
US8537157B2 (en) | 2010-06-21 | 2013-09-17 | Verizon Patent And Licensing Inc. | Three-dimensional shape user interface for media content delivery systems and methods |
US20120011200A1 (en) | 2010-07-06 | 2012-01-12 | Roxbeam Media Network Corporation | Method and apparatus for data storage in a peer-to-peer network |
WO2012006595A2 (en) | 2010-07-09 | 2012-01-12 | Nicolas Girard | Transparent proxy architecture for multi-path data connections |
US20120034897A1 (en) | 2010-08-04 | 2012-02-09 | Motorola, Inc. | Real time text messaging method and device |
CN102376133A (zh) | 2010-08-17 | 2012-03-14 | 中华票服网路股份有限公司 | 无纸化电子发票系统 |
US8468545B2 (en) | 2010-08-18 | 2013-06-18 | 8X8, Inc. | Interaction management |
US20130300740A1 (en) | 2010-09-13 | 2013-11-14 | Alt Software (Us) Llc | System and Method for Displaying Data Having Spatial Coordinates |
TWI432977B (zh) | 2010-09-29 | 2014-04-01 | Univ Nat Taiwan Science Tech | 雲端計算網路的精確系統可靠度之評估方法 |
US8744803B2 (en) | 2010-09-30 | 2014-06-03 | Fitbit, Inc. | Methods, systems and devices for activity tracking device data synchronization with computing devices |
US8952566B2 (en) | 2010-10-26 | 2015-02-10 | Microsoft Technology Licensing, Llc | Chassis slots accepting battery modules and other module types |
US20140132736A1 (en) | 2010-11-01 | 2014-05-15 | Hewlett-Packard Development Company, L.P. | Image capture using a virtual camera array |
CA2854089C (en) | 2010-11-01 | 2019-04-16 | Mitab Inc. | Apparatus and method for using a smartphone |
US20120267432A1 (en) | 2010-11-12 | 2012-10-25 | Kuttuva Avinash | Secure payments with global mobile virtual wallet |
WO2012081886A2 (en) | 2010-12-13 | 2012-06-21 | Samsung Electronics Co., Ltd. | Method and system for recalling a voice mail |
US20120159383A1 (en) | 2010-12-20 | 2012-06-21 | Microsoft Corporation | Customization of an immersive environment |
US20120166953A1 (en) | 2010-12-23 | 2012-06-28 | Microsoft Corporation | Techniques for electronic aggregation of information |
EP2472867A1 (en) | 2010-12-30 | 2012-07-04 | Advanced Digital Broadcast S.A. | Coding and decoding of multiview videos |
US8626750B2 (en) | 2011-01-28 | 2014-01-07 | Bitvore Corp. | Method and apparatus for 3D display and analysis of disparate data |
US8787006B2 (en) | 2011-01-31 | 2014-07-22 | Apple Inc. | Wrist-worn electronic device and methods therefor |
JP5247834B2 (ja) | 2011-01-31 | 2013-07-24 | キヤノン株式会社 | 無線通信装置及びその制御方法及びコンピュータプログラム |
US20120210243A1 (en) | 2011-02-11 | 2012-08-16 | Gavin Andrew Ross Uhma | Web co-navigation |
US10089606B2 (en) | 2011-02-11 | 2018-10-02 | Bytemark, Inc. | System and method for trusted mobile device payment |
KR101778045B1 (ko) | 2011-02-11 | 2017-09-14 | 삼성전자 주식회사 | 휴대단말기의 화면 제어 방법 |
USD654931S1 (en) | 2011-02-24 | 2012-02-28 | Third Rail Mobility, LLC. | Combined power module and cover for portable electronic devices |
US9047050B2 (en) | 2011-03-24 | 2015-06-02 | Compal Electronics, Inc. | Modular system having cross platform master device |
US8924500B2 (en) | 2011-03-29 | 2014-12-30 | Amazon Technologies, Inc. | Local storage linked to networked storage system |
US9684887B2 (en) | 2011-03-31 | 2017-06-20 | Loment, Inc. | Priority of outbound messages communicated among end user communication devices |
EP2509275A1 (en) | 2011-04-04 | 2012-10-10 | Buntinx | Method and system for authenticating entities by means of mobile terminals |
US9069439B2 (en) | 2011-04-11 | 2015-06-30 | Microsoft Technology Licensing, Llc | Graphical user interface with customized navigation |
US9360991B2 (en) | 2011-04-11 | 2016-06-07 | Microsoft Technology Licensing, Llc | Three-dimensional icons for organizing, invoking, and using applications |
CA2835926A1 (en) | 2011-05-18 | 2012-11-22 | Axios Mobile Assets Corp. | Systems and methods for tracking the usage of environmnetally efficient shipping equipment and for providing environmental credits based on such usage |
US20120310446A1 (en) | 2011-06-03 | 2012-12-06 | Linda Murphy | Murlin |
US8935438B1 (en) | 2011-06-28 | 2015-01-13 | Amazon Technologies, Inc. | Skin-dependent device components |
MX340001B (es) * | 2011-07-21 | 2016-06-20 | Proteus Digital Health Inc | Dispositivo, sistema y método de comunicación móvil. |
KR20160003867A (ko) | 2011-08-11 | 2016-01-11 | 인터디지탈 패튼 홀딩스, 인크 | 머신 타입 통신 연결성 공유 |
EP2745212B1 (en) | 2011-08-19 | 2020-12-30 | Quintessencelabs Pty Ltd | Virtual zeroisation system and method |
CN202230439U (zh) | 2011-08-23 | 2012-05-23 | 西安辉炜信息科技有限公司 | 一种可识别人体动作的显示设备 |
KR101851630B1 (ko) | 2011-08-29 | 2018-06-11 | 엘지전자 주식회사 | 이동 단말기 및 그의 영상 변환 방법 |
US10158638B2 (en) | 2011-08-31 | 2018-12-18 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for providing access to an online social network |
CN202230493U (zh) | 2011-09-01 | 2012-05-23 | 蔺彬涛 | 枪弹弹头膛线图像信息建档、检索、自动比对系统仪 |
US20130073692A1 (en) | 2011-09-15 | 2013-03-21 | Ibromed Corporation | Systems and methods for receiver-controlled data distribution |
US20130080541A1 (en) | 2011-09-23 | 2013-03-28 | Bulletin.Net Inc. | Peer-Based Messaging Systems and Methods |
US8774056B2 (en) | 2011-09-28 | 2014-07-08 | Schneider Electric USA, Inc. | Automated device discovery on a network |
US9390082B1 (en) | 2011-10-08 | 2016-07-12 | Bay Dynamics, Inc. | Generating multiple views of a multidimensional cube |
US8930492B2 (en) | 2011-10-17 | 2015-01-06 | Blackberry Limited | Method and electronic device for content sharing |
CN103077462A (zh) | 2011-10-25 | 2013-05-01 | 上海博路信息技术有限公司 | 一种基于终端的电子小票系统 |
US9405435B2 (en) | 2011-11-02 | 2016-08-02 | Hendricks Investment Holdings, Llc | Device navigation icon and system, and method of use thereof |
US9792955B2 (en) | 2011-11-14 | 2017-10-17 | Apple Inc. | Automatic generation of multi-camera media clips |
CN103139767B (zh) | 2011-11-28 | 2016-06-22 | 中兴通讯股份有限公司 | 手机及其通信方法 |
US9054874B2 (en) * | 2011-12-01 | 2015-06-09 | Htc Corporation | System and method for data authentication among processors |
US8635637B2 (en) | 2011-12-02 | 2014-01-21 | Microsoft Corporation | User interface presenting an animated avatar performing a media reaction |
US9100685B2 (en) | 2011-12-09 | 2015-08-04 | Microsoft Technology Licensing, Llc | Determining audience state or interest using passive sensor data |
US20130159178A1 (en) | 2011-12-14 | 2013-06-20 | Firethorn Mobile, Inc. | System and Method For Loading A Virtual Token Managed By A Mobile Wallet System |
US20130159080A1 (en) | 2011-12-17 | 2013-06-20 | LaShou Group INC. | System and Method for Mobile Device-Based Smart Wallet |
US20130163195A1 (en) | 2011-12-22 | 2013-06-27 | Nvidia Corporation | System, method, and computer program product for performing operations on data utilizing a computation module |
US20130173598A1 (en) | 2012-01-02 | 2013-07-04 | Victor Nguyen | Method and Apparatus for Automated Pattern Analysis to Identify Location Information in Cellular Telephone Records |
US20140207657A1 (en) | 2013-01-20 | 2014-07-24 | Kalman Gacs | Purchase and rental system and method |
JP5922419B2 (ja) | 2012-01-31 | 2016-05-24 | 株式会社東海理化電機製作所 | 無線通信システム |
US20130205277A1 (en) | 2012-02-07 | 2013-08-08 | Telerik, AD | Environment and method for cross-platform development of software applications |
EP3528239B1 (en) | 2012-02-08 | 2024-01-24 | Samsung Electronics Co., Ltd. | Display apparatus |
KR20130094402A (ko) | 2012-02-16 | 2013-08-26 | 삼성전자주식회사 | 데스크 탑 유형 유니버셜 도크 |
US8935777B2 (en) | 2012-02-17 | 2015-01-13 | Ebay Inc. | Login using QR code |
EP2820563A4 (en) | 2012-02-27 | 2015-03-11 | Blackberry Ltd | METHODS AND DEVICES FOR FACILITATING RETURN OF INFORMATION DURING PRESENTATION |
JP2013185344A (ja) | 2012-03-07 | 2013-09-19 | Tokai Rika Co Ltd | 充電機能付き電子キー |
US9129420B2 (en) | 2012-03-07 | 2015-09-08 | 3D Printlife Llc | Detection of protected subject matter in three dimensional print media |
US8838697B2 (en) | 2012-03-08 | 2014-09-16 | Apple Inc. | Peer-to-peer file transfer between computer systems and storage devices |
KR101892030B1 (ko) | 2012-03-21 | 2018-08-29 | 삼성전자주식회사 | 휴대 단말기의 배터리 커버 방수 장치 |
CA2868192A1 (en) | 2012-03-23 | 2013-09-26 | Digital Retail Apps., Inc. | System and method for facilitating secure self payment transactions of retail goods |
JP2013204254A (ja) | 2012-03-27 | 2013-10-07 | Nec Casio Mobile Communications Ltd | 移動体端末、移動体端末の制御方法、移動体、移動体の制御方法、プログラム及び電子キーシステム |
JP5857850B2 (ja) | 2012-03-30 | 2016-02-10 | ブラザー工業株式会社 | 通信装置 |
US8497859B1 (en) | 2012-04-03 | 2013-07-30 | Google Inc. | Display of information on or within a three-dimensional image |
US20130268955A1 (en) | 2012-04-06 | 2013-10-10 | Microsoft Corporation | Highlighting or augmenting a media program |
JP5801244B2 (ja) | 2012-04-06 | 2015-10-28 | 株式会社東芝 | メモリシステム |
US8942173B2 (en) | 2012-04-13 | 2015-01-27 | Intel Corporation | Interference notification in device-to-device communication |
TWM447067U (zh) | 2012-04-16 | 2013-02-11 | Mao-Jung Hsu | 電子產品之輔助用具 |
US9443230B2 (en) | 2012-04-30 | 2016-09-13 | At&T Intellectual Property I, L.P. | Point-to point data synchronization |
US8874103B2 (en) | 2012-05-11 | 2014-10-28 | Intel Corporation | Determining proximity of user equipment for device-to-device communication |
US9210645B2 (en) | 2012-05-18 | 2015-12-08 | Industrial Technology Reseach Institute | Method for dynamically controlling data paths, MTC gateway and network device using the same |
US8390255B1 (en) | 2012-05-25 | 2013-03-05 | Incipio Technologies, Inc. | Battery case for mobile device |
US20130317835A1 (en) | 2012-05-28 | 2013-11-28 | Apple Inc. | Effecting payments using optical coupling |
BR112014030593A2 (pt) | 2012-06-12 | 2017-06-27 | Sony Corp | dispositivo de processamento de informação, método de processamento de informação, e, programa |
US9069455B2 (en) | 2012-06-22 | 2015-06-30 | Microsoft Technology Licensing, Llc | 3D user interface for application entities |
US20140012913A1 (en) | 2012-07-05 | 2014-01-09 | Devrim Varoglu | Peer-Peer Device Activation and Setup |
CN103546181A (zh) | 2012-07-17 | 2014-01-29 | 高寿谦 | 可拆卸并可自由组合功能的穿戴式无线智能电子装置 |
GB201213281D0 (en) | 2012-07-26 | 2012-09-05 | Highgate Labs Ltd | Data communication method and system |
US20140034531A1 (en) | 2012-08-03 | 2014-02-06 | Ching-Chang Wang | Protection Device for Electronic Equipment |
US20140052522A1 (en) | 2012-08-08 | 2014-02-20 | Stepsaway, Inc. | Promotion Management Systems and Methods |
US20140052618A1 (en) | 2012-08-16 | 2014-02-20 | Vadim Drozd | Electronic receipt saver system |
US8792142B2 (en) | 2012-08-24 | 2014-07-29 | Xerox Corporation | Methods and systems for creating structural documents having contact information for utilizing product information |
CN103677982A (zh) | 2012-09-18 | 2014-03-26 | 英业达科技有限公司 | 手持式装置桌面的立体切换系统及其方法 |
KR101429349B1 (ko) | 2012-09-18 | 2014-08-12 | 연세대학교 산학협력단 | 중간 시점 영상 합성 장치 및 방법과 이에 관한 기록매체 |
JP5466277B1 (ja) | 2012-09-28 | 2014-04-09 | 東芝Itサービス株式会社 | 携帯型記憶装置 |
US10158391B2 (en) | 2012-10-15 | 2018-12-18 | Qualcomm Incorporated | Wireless area network enabled mobile device accessory |
US20140121858A1 (en) | 2012-10-31 | 2014-05-01 | Shih-Yao Chen | Car Central Locking System Remote Control System |
US9189884B2 (en) | 2012-11-13 | 2015-11-17 | Google Inc. | Using video to encode assets for swivel/360-degree spinners |
US8977208B2 (en) | 2012-11-19 | 2015-03-10 | Broadcom Corporation | Reflective beamforming for performing chip-to-chip and other communications |
AU2013352236B2 (en) | 2012-11-29 | 2018-08-02 | Edsense, L.L.C. | System and method for displaying multiple applications |
US9143550B2 (en) | 2012-12-01 | 2015-09-22 | Qualcomm Innovation Center, Inc. | Graceful degradation of websocket connections to nonpersistent HTTP-based communications |
US20140189532A1 (en) | 2012-12-28 | 2014-07-03 | Verizon Patent And Licensing Inc. | Editing text-based communications |
GB201301821D0 (en) | 2013-02-01 | 2013-03-20 | Crayton Andrew | Interactive physical cube |
US20140218356A1 (en) | 2013-02-06 | 2014-08-07 | Joshua D.I. Distler | Method and apparatus for scaling images |
CN103095852A (zh) | 2013-02-27 | 2013-05-08 | 上海够快网络科技有限公司 | 基于二维码的云存储文件共享方法 |
US9407097B2 (en) | 2013-03-04 | 2016-08-02 | Hello Inc. | Methods using wearable device with unique user ID and telemetry system |
CN105706033B (zh) | 2013-03-05 | 2019-05-10 | 法斯埃托股份有限公司 | 用于立方体图形用户界面的系统和方法 |
WO2014141235A1 (en) | 2013-03-11 | 2014-09-18 | Wise-Sec Ltd. | Wireless signal generating cards and methods and system of using such cards |
WO2014159873A1 (en) | 2013-03-13 | 2014-10-02 | ACCO Brands Corporation | Proximity tag for vehicles |
JP2016517317A (ja) | 2013-03-15 | 2016-06-16 | プロテウス デジタル ヘルス, インコーポレイテッド | 再装着型無線デバイス |
KR20140133357A (ko) | 2013-05-10 | 2014-11-19 | 삼성전자주식회사 | 디스플레이 장치 및 그 ui 화면 제공 방법 |
US20140351181A1 (en) | 2013-05-24 | 2014-11-27 | Qualcomm Incorporated | Requesting proximate resources by learning devices |
WO2014193355A1 (en) | 2013-05-29 | 2014-12-04 | Thomson Licensing | Apparatus and method for navigating through media content |
CN104238730A (zh) | 2013-06-21 | 2014-12-24 | 上海复旦上科多媒体有限公司 | 一种智能电网可视化平台及演示控制方法 |
JP2015013429A (ja) | 2013-07-05 | 2015-01-22 | キヤノン株式会社 | 画像処理装置及びその制御方法、並びにプログラム |
KR20150005215A (ko) | 2013-07-05 | 2015-01-14 | 삼성전자주식회사 | Rui 시스템, rui 서버, rui 단말 장치 및 rui 서비스 제공 방법 |
US20150019628A1 (en) | 2013-07-12 | 2015-01-15 | Wensheng Li | System and methods for accessing multi-origin content from web browser and application to web application testing |
EP3022638B1 (en) | 2013-07-18 | 2018-04-04 | Fasetto, L.L.C. | System and method for multi-angle videos |
WO2015022615A2 (en) | 2013-08-12 | 2015-02-19 | Nexpack Limited | Adaptor enabling an electronic communication device with additional functions |
US10225167B2 (en) | 2013-09-10 | 2019-03-05 | Meetrics Gmbh | Method and system for determining page impression in a client-server system |
US9208335B2 (en) * | 2013-09-17 | 2015-12-08 | Auburn University | Space-time separated and jointly evolving relationship-based network access and data protection system |
US9437038B1 (en) | 2013-09-26 | 2016-09-06 | Amazon Technologies, Inc. | Simulating three-dimensional views using depth relationships among planes of content |
US9628543B2 (en) | 2013-09-27 | 2017-04-18 | Samsung Electronics Co., Ltd. | Initially establishing and periodically prefetching digital content |
ES2772758T3 (es) | 2013-09-30 | 2020-07-08 | Fasetto Inc | Aplicación sin papel |
US10095873B2 (en) | 2013-09-30 | 2018-10-09 | Fasetto, Inc. | Paperless application |
US9143512B2 (en) | 2013-10-04 | 2015-09-22 | At&T Intellectual Property I, L.P. | Communication devices, computer readable storage devices, and methods for secure multi-path communication |
US20150106837A1 (en) | 2013-10-14 | 2015-04-16 | Futurewei Technologies Inc. | System and method to dynamically synchronize hierarchical hypermedia based on resource description framework (rdf) |
EP2874233B1 (en) | 2013-11-14 | 2017-01-25 | Joinset Co., Ltd | Surface-mount type electric connecting terminal, and electronic module unit and circuit board using the same |
WO2015081125A1 (en) | 2013-11-27 | 2015-06-04 | Mophie, Inc. | Battery pack with supplemental memory |
US9288295B2 (en) | 2013-12-03 | 2016-03-15 | Vladimir Ivanovski | Modular mobile device case |
US10372161B2 (en) | 2013-12-16 | 2019-08-06 | Amphenol Thermometrics, Inc. | Docking system |
US9647474B2 (en) | 2014-01-06 | 2017-05-09 | Incipio, Llc | Protective case for mobile device with auxiliary battery and power control |
US9584402B2 (en) | 2014-01-27 | 2017-02-28 | Fasetto, Llc | Systems and methods for peer to peer communication |
US20150271307A1 (en) | 2014-03-21 | 2015-09-24 | Motorola Mobility Llc | Modular Device and Methods Therefor |
US9560170B2 (en) | 2014-03-21 | 2017-01-31 | Ptc Inc. | System and method of abstracting communication protocol using self-describing messages |
US20150271271A1 (en) | 2014-03-21 | 2015-09-24 | Ptc Inc. | System and method of using dynamic rest messages with web-sockets |
US9177654B2 (en) | 2014-03-26 | 2015-11-03 | Burst Corporation | Solid-state memory device with plurality of memory cards |
US20150281439A1 (en) | 2014-03-31 | 2015-10-01 | Vonage Network Llc | Method and systems for recalling communication information |
US9699499B2 (en) | 2014-04-30 | 2017-07-04 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
CN103945003B (zh) | 2014-05-06 | 2017-06-06 | 北京邮电大学 | 一种WebRTC客户端连接动态自适应选择的方法 |
US9286738B2 (en) | 2014-05-23 | 2016-03-15 | Immortal Data, Inc. | Distributed data storage and recovery |
US9232383B1 (en) | 2014-06-25 | 2016-01-05 | Microsoft Corporation | Courier network |
DK3175588T3 (da) | 2014-07-10 | 2024-01-29 | Fasetto Inc | Systemer og fremgangsmåder til beskedredigering |
US9413947B2 (en) | 2014-07-31 | 2016-08-09 | Google Technology Holdings LLC | Capturing images of active subjects according to activity profiles |
CA3185763A1 (en) | 2014-10-06 | 2016-04-14 | Fasetto, Llc | Systems and methods for portable storage devices |
US10437288B2 (en) | 2014-10-06 | 2019-10-08 | Fasetto, Inc. | Portable storage device with modular power and housing system |
US9356267B1 (en) | 2014-12-17 | 2016-05-31 | Mophie, Inc. | Protective battery case to partially enclose a mobile electronic device |
US20160188468A1 (en) | 2014-12-26 | 2016-06-30 | Intel Corporation | Implementation of data coherence among devices |
US9641991B2 (en) | 2015-01-06 | 2017-05-02 | Fitbit, Inc. | Systems and methods for determining a user context by correlating acceleration data from multiple devices |
US9582057B2 (en) | 2015-01-12 | 2017-02-28 | Dell Products, L.P. | Server chassis with dual purpose bay for storage module or power supply module |
US10122483B2 (en) | 2015-02-04 | 2018-11-06 | Ebay Inc. | Crowd sentiment detection and analysis |
US20160260319A1 (en) | 2015-03-04 | 2016-09-08 | Aquimo, Llc | Method and system for a control device to connect to and control a display device |
EP3745679B1 (en) | 2015-03-11 | 2024-05-01 | Fasetto, Inc. | Systems and methods for web api communication |
US9658651B2 (en) | 2015-03-26 | 2017-05-23 | Msc Accesories Corp. | Expanding capabilities of mobile computing devices |
US10348704B2 (en) * | 2015-07-30 | 2019-07-09 | Helder Silvestre Paiva Figueira | Method for a dynamic perpetual encryption cryptosystem |
US9948029B1 (en) | 2015-09-24 | 2018-04-17 | Daplie, Inc. | Peripheral device coupling |
KR101820283B1 (ko) | 2015-10-26 | 2018-01-19 | 이동훈 | 휴대폰 케이스 |
US10542315B2 (en) | 2015-11-11 | 2020-01-21 | At&T Intellectual Property I, L.P. | Method and apparatus for content adaptation based on audience monitoring |
UY36412A (es) * | 2015-11-27 | 2017-06-30 | Murguía Hughes Julián | Técnica de encriptación simétrica polialgorítmica |
US10929071B2 (en) | 2015-12-03 | 2021-02-23 | Fasetto, Inc. | Systems and methods for memory card emulation |
CN205427859U (zh) | 2015-12-11 | 2016-08-03 | 深圳指芯智能科技有限公司 | 便携式存储装置 |
US9902368B2 (en) | 2016-06-03 | 2018-02-27 | Volkswagen Aktiengesellschaft | Apparatus, system and method for vehicle access and function control utilizing a portable device |
JP6536510B2 (ja) | 2016-07-28 | 2019-07-03 | 京セラドキュメントソリューションズ株式会社 | プレゼンテーション支援システム、プレゼンテーション支援装置及びプレゼンテーション支援方法 |
WO2018098313A1 (en) | 2016-11-23 | 2018-05-31 | Fasetto, Llc | Systems and methods for streaming media |
KR20190131022A (ko) | 2017-02-03 | 2019-11-25 | 파세토, 인크. | 키잉된 디바이스들에서의 데이터 스토리지에 대한 시스템들 및 방법들 |
CN110431843A (zh) | 2017-03-23 | 2019-11-08 | 索尼公司 | 图像处理装置及方法 |
JP2020527775A (ja) | 2017-06-15 | 2020-09-10 | ファセット・インコーポレーテッド | モジュール型給電および筐体システムを有する携帯用記憶デバイス |
WO2019079628A1 (en) | 2017-10-19 | 2019-04-25 | Fasetto, Inc. | PORTABLE ELECTRONIC DEVICE CONNECTING SYSTEMS |
TWM629910U (zh) | 2022-03-25 | 2022-07-21 | 鑫禾科技股份有限公司 | 單軸鉸鍊 |
-
2018
- 2018-11-30 CA CA3083988A patent/CA3083988A1/en active Pending
- 2018-11-30 WO PCT/US2018/063468 patent/WO2019109033A1/en unknown
- 2018-11-30 US US16/206,675 patent/US11985244B2/en active Active
- 2018-11-30 JP JP2020529716A patent/JP2021505938A/ja active Pending
- 2018-11-30 EP EP18882373.6A patent/EP3718040A4/en active Pending
- 2018-11-30 MX MX2020005623A patent/MX2020005623A/es unknown
- 2018-11-30 KR KR1020207019034A patent/KR102660851B1/ko active IP Right Grant
- 2018-11-30 AU AU2018374384A patent/AU2018374384A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11265146A (ja) * | 1998-03-16 | 1999-09-28 | Matsushita Electric Ind Co Ltd | 認証子生成方法及び認証子生成装置 |
US20080080709A1 (en) * | 1999-04-27 | 2008-04-03 | Antibody Software Inc. | Method for encrypting information and device for realization of the method |
JP2006317802A (ja) * | 2005-05-13 | 2006-11-24 | Ochanomizu Univ | 擬似乱数発生システム、暗号化システム及び復号化システム |
JP2012050075A (ja) * | 2010-07-29 | 2012-03-08 | Nidec Copal Corp | 暗号化通信システム及び暗号化通信方法 |
US20130028419A1 (en) * | 2011-07-26 | 2013-01-31 | Debabrata Das | System and a method for use in a symmetric key cryptographic communications |
JP2016111446A (ja) * | 2014-12-03 | 2016-06-20 | 株式会社メガチップス | メモリコントローラ、メモリコントローラの制御方法及びメモリシステム |
CN206212089U (zh) * | 2016-10-13 | 2017-05-31 | 董海涛 | 具有移动存储功能的手机保护壳 |
Also Published As
Publication number | Publication date |
---|---|
AU2018374384A1 (en) | 2020-07-23 |
EP3718040A1 (en) | 2020-10-07 |
US11985244B2 (en) | 2024-05-14 |
CA3083988A1 (en) | 2019-06-06 |
KR102660851B1 (ko) | 2024-04-24 |
KR20200094774A (ko) | 2020-08-07 |
US20190173677A1 (en) | 2019-06-06 |
EP3718040A4 (en) | 2021-08-11 |
MX2020005623A (es) | 2021-01-08 |
WO2019109033A1 (en) | 2019-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7104701B2 (ja) | メディア・ストリーミング・システムおよび方法 | |
KR102572184B1 (ko) | 모듈러 전력 및 하우징 시스템을 갖는 휴대용 저장 디바이스 | |
KR102660851B1 (ko) | 개선된 데이터 암호화를 위한 시스템 및 방법 | |
US10983565B2 (en) | Portable storage device with modular power and housing system | |
JP6695868B2 (ja) | ポータブル・ストレージ・デバイスのためのシステムおよび方法 | |
US10374800B1 (en) | Cryptography algorithm hopping | |
US11388207B2 (en) | Device presentation with real-time feedback | |
CN109862103B (zh) | 基于区块链的文件数据安全共享方法和装置 | |
EP3282639B1 (en) | Method for operating server and client, server, and client apparatus | |
US10567434B1 (en) | Communication channel security enhancements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230111 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20230410 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230907 |