説明

パス・コード供給

【課題】安全かつ機能的なパス・コードを決定する。
【解決手段】デバイスは、プロセッサと、コンピュータ読み取り可能命令を含むコンピュータ読み取り可能媒体と、を含む。コンピュータ読み取り可能命令は、プロセッサによって実行されると、デバイスに、第2のデバイスから、パス・コードを求めるための第1の要求を受信させる。第1の要求は、パス・コードが要求されるコード化システムの識別情報を含む。また、コンピュータ読み取り可能命令は、デバイスに、コード化システムの識別情報を含む第2の要求を第3のデバイスに提供させる。また、コンピュータ読み取り可能命令は、デアイスに、第3のデバイスから複数のパス・コード・セグメントを受信させる。更に、コンピュータ読み取り可能命令は、デバイスに、複数のパス・コード・セグメントを、パス・コードに組み立てるために第2のデバイスに提供させる。

【発明の詳細な説明】
【発明の概要】
【0001】
[0001] セキュリティ・システムは、個人の所有物を保護するため、住居又は職場に対する乱入を防ぐのに役立てるため、侵入者に法の執行の警告をするため、銀行の金庫室に施錠するためなどに、用いることができる。多くのセキュリティ・システムは、パス・コードの使用によって活性化及び/又は非活性化することができる。パス・コードは、パスワード、組み合わせ鍵のための組み合わせ、数、行動、バイオメトリック情報等とすることができる。標準的な組み合わせ鍵等のいくつかのセキュリティ・システムにおいては、パス・コードは静的である場合がある。静的パス・コードは、一般に、パス・コードが危険にさらされた場合に変更することができない。電子ホーム・セキュリティ・システム等の他のセキュリティ・システムでは、パス・コードは動的である場合がある。動的パス・コードは、一般に、パス・コードが危険にさらされた場合に、又は他のいずれかの理由のために、ユーザによって変更することができる。
【0002】
[0002] 本開示の前述及び他の特徴は、添付図面と関連付けた以下の説明及び添付の特許請求の範囲から、より充分に明らかとなろう。これらの図面は、この開示に従ったいくつかの実施形態を示すのみであり、従って、その範囲を限定するとは見なされないことを理解した上で、添付図面を用いて本開示を更に具体的かつ詳細に記載する。
【図面の簡単な説明】
【0003】
【図1】[0003] 例示的な実施形態に従ったパス・コード供給システムのブロック図である。
【図2】[0004] 例示的な実施形態に従った、図1のパス・コード供給システムのユーザ・コンピューティング・デバイスのブロック図である。
【図3】[0005] 例示的な実施形態に従った、図1のパス・コード供給システムのミドルウェア・システムのブロック図である。
【図4】[0006] 例示的な実施形態に従った、図1のパス・コード供給システムのクラウド・コンピューティング・システムのブロック図である。
【図5】[0007] 例示的な実施形態に従った、図4のクラウド・コンピューティング・システムが実行する動作を示すフロー図である。
【図6】[0008] 例示的な実施形態に従った、図2のユーザ・コンピューティング・デバイスが実行する動作を示すフロー図である。
【図7】[0009] 例示的な実施形態に従った、図3のミドルウェア・システムが実行する動作を示すフロー図である。
【発明を実施するための形態】
【0004】
[0010] 以下の詳細な説明において、その一部を形成する添付図面を参照する。図面において、状況に応じて求められる例外を除けば、同様の記号は通常、同様の構成要素を識別する。詳細な説明、図面、及び特許請求の範囲において記載される例示的な実施形態は、限定を意図したものではない。ここに提示する主題の精神又は範囲から逸脱することなく、他の実施形態も利用することができ、他の変更も行うことができる。本開示の態様は、ここに一般的に記載するように、更に図面に示すように、多種多様な異なる構成において配置し、置換し、組み合わせ、及び設計することができ、それらの構成は全て明示的に検討され、この開示の一部を成すことは容易に理解されよう。
【0005】
[0011] パス・コード供給のための例示的なシステム、方法、デバイス、コンピュータ読み取り可能媒体等を記載する。例示的な実施形態においては、ミドルウェア・システム及びクラウド・コンピューティング・システムを用いてパス・コードを供給することができる。ミドルウェア・システムは、部分的に、クラウド・コンピューティング・システムとユーザ・コンピューティング・デバイスとの間の通信を容易にするために使用可能であり、ユーザ・コンピューティング・デバイスからパス・コードを求める要求を受信することができる。ミドルウェア・システムは、この要求をクラウド・コンピューティング・システムに提供することができる。クラウド・コンピューティング・システムは、動的な情報に基づいてパス・コードを決定し、この決定したパス・コードをミドルウェア・システムに提供することができる。ミドルウェア・システムは、パス・コードをユーザ・コンピューティング・デバイス及びコード化システム(coded system)に提供することができる。このようにして、クラウド・コンピューティング・システムを用いて、安全かつ機能的なパス・コードを決定するという、プロセッサを多用するタスクを実行することができる。
【0006】
[0012] 図1を参照すると、例示的な実施形態に従ったパス・コード供給システム100のブロック図が示されている。パス・コード供給システム100は、1つ以上のユーザ・コンピューティング・デバイス102a、102b、...、102n、ミドルウェア・システム104、クラウド・コンピューティング・システム106、及び1つ以上のコード化システム116a、116b、...、116nを含む。1つ以上のユーザ・コンピューティング・デバイス102a、102b、...、102nは、ラップトップ、デスクトップ、サーバ、一体型メッセージング・デバイス、パーソナル・デジタル・アシスタント、携帯電話、ページャ、専用パス・コード・デバイス、iPod(商標)等を含むいずれかのフォーム・ファクタのコンピュータとすれば良い。1つ以上のコード化システム116a、116b、...、116nは、ホーム・セキュリティ・システム、電子金庫、電子金庫室、見張りシステム、ドア開閉システム、監視システム、コンピューティング・システム、及び/又はアクセスのためにパス・コードを利用する他のいずれかのシステムを含むことができる。1つ以上のユーザ・コンピューティング・デバイス102a、102b、...、102n、ミドルウェア・システム104、クラウド・コンピューティング・システム106、及び1つ以上のコード化システム116a、116b、...、116nに関連付けられたデバイスは、ネットワーク108を用いて相互に通信を行うことができる。
【0007】
[0013] ネットワーク108は、セル式ネットワーク、ピア・ツー・ピア・ネットワーク、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、Wi−Fiネットワーク、Bluetooth(商標)ネットワーク等を含む1つ以上の種類のネットワークを含むことができる。クラウド・コンピューティング・システム106は、1つ以上のサーバ110及び1つ以上のデータベース114を含むことができる。クラウド・コンピューティング・システムとは、ネットワークを介してアクセス可能であり、ユーザにオン・デマンドのコンピューティング・サービスを提供する1つ以上の計算リソースを指す。1つ以上のサーバ110は、1つ以上のコンピューティング・デバイス112a、112b、...、112nを含むことができ、これらはいずれかのフォーム・ファクタのコンピュータとすれば良い。1つ以上のデータベース114は、第1のデータベース114a、...、及びn番目のデータベース114nを含むことができる。1つ以上のデータベース114は、1つ以上のサーバ110の1つ以上に収容することができ、あるいは、1つ以上のサーバ110が有線もしくは無線接続を介して直接又はネットワーク108を介してアクセス可能である別個のコンピューティング・デバイスに収容することができる。1つ以上のデータベース114は、複数の層に編成することができ、限定されることなく様々なデータベース技術を用いて作り出すことができる。クラウド・コンピューティング・システム106の構成要素は、単一のコンピューティング・デバイスにおいて、又は単一の位置、単一の設備における複数のコンピューティング・デバイスにおいて実施することができ、及び/又は相互にリモートとすることができる。
【0008】
[0014] 図2を参照すると、例示的な実施形態に従ったパス・コード供給システム100のユーザ・コンピューティング・デバイス102のブロック図が示されている。ユーザ・コンピューティング・デバイス102は、入力インタフェース200、出力インタフェース202、通信インタフェース204、コンピュータ読み取り可能媒体206、プロセッサ208、及びパス・コード・アプリケーション210を含むことができる。限定されることなく、ユーザ・コンピューティング・デバイス102に、異なる追加の構成要素も組み込むことができる。パス・コード・アプリケーション210は、ユーザによって選択可能かつ制御可能な機能を有するグラフィカル・ユーザ・インタフェースを提供する。パス・コード・アプリケーション210は、ブラウザ・アプリケーション又は他のユーザ・インタフェース・ベースのアプリケーションを含むことができ、これがミドルウェア・システム104と情報のやり取りをして、ユーザが、許可情報を提供し、パス・コード要求を提供し、及び/又は発生したパス・コードを受信することを可能とする。また、パス・コード・アプリケーション210によって、ユーザ・コンピューティング・デバイス102は、1つ以上のコード化システム116a、116b、...、116nと情報のやり取りをすることができる。
【0009】
[0015] 入力インタフェース200は、当業者には既知のように、ユーザ・コンピューティング・デバイス102に入力されるユーザからの情報を受信するためのインタフェースを提供する。入力インタフェース200は、キーボード、ペン及びタッチ・スクリーン、マウス、トラック・ボール、タッチ・スクリーン、キーパッド、1つ以上のボタン等を含むがこれらには限定されない様々な入力技術と相互作用して、ユーザが、ユーザ・コンピューティング・デバイス102に情報を入力することを可能とし、又は、パス・コード・アプリケーション210の制御のもとにディスプレイを用いて表示されるユーザ・インタフェースに提示される選択肢を選ぶのを可能とすることができる。入力インタフェース104は、入力及び出力インタフェースの双方を提供することも可能である。例えば、タッチ・スクリーンによって、ユーザ入力及びユーザに対する出力の提示の双方を可能とする。ユーザ・コンピューティング・デバイス102は、同一又は異なるインタフェース技術を用いる1つ以上の入力インタフェースを有する場合がある。
【0010】
[0016] 出力インタフェース202は、ユーザ・コンピューティング・デバイス102のユーザによる検討用の情報を出力するためのインタフェースを提供する。例えば、出力インタフェース202は、ディスプレイ、プリンタ、スピーカ等に対するインタフェースを含むことができる。ディスプレイは、薄膜トランジスタ・ディスプレイ、発光ダイオード・ディスプレイ、液晶ディスプレイ等を含むがこれらには限定されない様々なディスプレイのいずれかとすれば良い。プリンタは、インク・ジェット・プリンタ、レーザ・プリンタ等を含むがこれらには限定されない様々なプリンタのいずれかとすれば良い。ユーザ・コンピューティング・デバイス102は、同一又は異なるインタフェース技術を用いる1つ以上の出力インタフェースを有する場合がある。
【0011】
[0017] 通信インタフェース204は、様々なプロトコル、伝送技術、及び媒体を用いてデバイス間でデータを送受信するためのインタフェースを提供する。通信インタフェースは、有線又は無線とすることができる様々な伝送媒体を用いた通信をサポートすることができる。ユーザ・コンピューティング・デバイス102は、同一又は異なるプロトコル、伝送技術、及び媒体を用いる1つ以上の通信インタフェースを有する場合がある。
【0012】
[0018] コンピュータ読み取り可能媒体206は、プロセッサ208によってアクセス可能であるように情報を電子的に保持する場所又は記憶する領域である。コンピュータ読み取り可能媒体206は、いずれかのタイプのランダム・アクセス・メモリ(RAM)、いずれかのタイプのリード・オンリ・メモリ(ROM)、いずれかのタイプのフラッシュ・メモリ等を含むがこれらには限定されない。例えば、磁気記憶デバイス(例えばハード・ディスク、フロッピ・ディスク、磁気ストリップ)、光ディスク(例えばコンパクト・ディスク(CD)、デジタル多用途ディスク(DVD))、スマート・カード、フラッシュ・メモリ・デバイス等である。ユーザ・コンピューティング・デバイス102は、同一又は異なるメモリ媒体技術を用いる1つ以上のコンピュータ読み取り可能媒体を有する場合がある。また、ユーザ・コンピューティング・デバイス102は、CD、DVD、フラッシュ・メモリ・カード等のメモリ媒体の装填をサポートする1つ以上のドライブを有する場合がある。
【0013】
[0019] プロセッサ208は、当業者に既知のように命令を実行する。命令は、特殊用途コンピュータ、論理回路、又はハードウェア回路によって行うことができる。従って、プロセッサ208は、ハードウェア、ファームウェア、ソフトウェア、又はこれらの方法のいずれかの組み合わせで実施可能である。「実行」という言葉は、アプリケーションを動作させるプロセス又は命令によって要求される動作を行うことである。命令は、1つ以上のプログラミング言語、スクリプト言語、アセンブリ言語等を用いて書くことができる。プロセッサ208は命令を実行し、これが意味するのは、その命令によって要求される動作を実行するということである。プロセッサ208は、入力インタフェース200、出力インタフェース202、通信インタフェース204、コンピュータ読み取り可能媒体206、及びカラー・ビューア・アプリケーション210と動作的に結合して、情報を受信、送信、及び処理する。プロセッサ208は、永久メモリ・デバイスから1組の命令を検索し、その命令を実行可能な形態で、一般的には何らかの形態のRAMである一時メモリ・デバイスにコピーすることができる。ユーザ・コンピューティング・デバイス102は、同一又は異なる処理技術を用いる複数のプロセッサを含む場合がある。
【0014】
[0020] 図3を参照すると、例示的な実施形態に従ったパス・コード供給システム100のミドルウェア・システム104のブロック図が示されている。ミドルウェア・システム104は、入力インタフェース300、出力インタフェース302、通信インタフェース304、コンピュータ読み取り可能媒体306、プロセッサ308、及びパス・コード・アーキテクチャ310を含むことができる。限定されることなく、ミドルウェア・システム104に、異なる追加の構成要素も組み込むことができる。例えば、ミドルウェア・システム104は、ミドルウェア・システム104によって直接アクセス可能であるか、又はネットワークを用いてミドルウェア・システム104によってアクセス可能であるデータベースを含むことができる。ミドルウェア・システム104は、更に、ミドルウェア・システム104に伝達された情報を一時的に記憶するためのキャッシュを含むことも可能である。入力インタフェース300は、入力インタフェース200と同様の機能を提供する。出力インタフェース302は、出力インタフェース202と同様の機能を提供する。通信インタフェース304は、通信インタフェース204と同様の機能を提供する。コンピュータ読み取り可能媒体306は、コンピュータ読み取り可能媒体206と同様の機能を提供する。プロセッサ308は、プロセッサ208と同様の機能を提供する。
【0015】
[0021] パス・コード・アーキテクチャ310は、パス・コード・インタフェース・アプリケーション312、アプリケーション・エンジン314、ビジネス・コンポーネント316、及びハードウェア抽象化層318を含むことができる。パス・コード・アプリケーション312は、クラウド・コンピューティング・システム106、ユーザ・コンピューティング・デバイス102、及び1つ以上のコード化システム116a、116b、...、116nの間のインタフェースに関連した動作を含んで、パス・コード要求を処理すると共に、発生したパス・コードをユーザ・コンピューティング・デバイス102及び1つ以上のコード化システム116a、116b、...、116nに提供する。パス・コード・アーキテクチャ310は、署名及びパスワード入力機能、パス・コード変更コマンド、新パス・コード送出コマンド、1つ以上のコード化システム116a、116b、...、116nの開錠を無効にするブロッキング・コマンド等をサポートするための機能を提供する。また、パス・コード・アーキテクチャ310は、開錠する1つ以上のコード化システム116a、116b、...、116nに新しいコードを同時に送出する自動化機能をサポートする。また、1つ以上のコード化システム116a、116b、...、116nは、要求があった場合、システムにアクセスするための試行が失敗した場合、又は、機能を実行/利用しようとしているパス・コード供給システム100によってユーザ・コンピューティング・デバイス102が検証されていない等、既知のもしくは認識された不規則システム動作があった場合に、活性化又は非活性化することができる。
【0016】
[0022] 図4を参照すると、例示的な実施形態に従った、パス・コード供給システム100のクラウド・コンピューティング・システム106に関連したモジュールのブロック図が示されている。クラウド・コンピューティング・システム106は、インタフェース・モジュール400、サービス・カタログ402、供給ツール404、監視及び計測モジュール406、システム管理モジュール408、及び1つ以上のサーバ110を含むことができる。限定されることなく、クラウド・コンピューティング・システム106に、異なる追加の構成要素も組み込むことができる。例えば、クラウド・コンピューティング・システム106は、1つ以上のデータベース114を更に含むことも可能である。ミドルウェア・システム104は、インタフェース・モジュール400と情報のやり取りをしてサービスを要求する。サービス・カタログ402は、ミドルウェア・システム104が要求することができるサービスのリストを提供する。供給ツール404は、1つ以上のサーバ110及び1つ以上のデータベース114からの計算リソースを割り当てて要求されたサービスを供給し、1つ以上のサーバ110においてパス・コードを発生するためにパス・コード要求及び/又は動的な情報を展開することができる。監視及び計測モジュール406は、1つ以上のサーバ110の使用を追跡して、例えば課金のために、用いたリソースをあるユーザに属させることができる。システム管理モジュール408は、1つ以上のサーバ110を管理する。1つ以上のサーバ110は、平行に延びている格子内にあるかのように(as if in a grid running in parallel)相互接続することができる。
【0017】
[0023] インタフェース・モジュール400は、サービス・カタログ402からのサービス選択を可能とするように構成することができる。選択されたサービスに関連した要求は、システム管理モジュール408に送信することができる。システム管理モジュール408は、サーバ110の1つ以上及び/又はデータベース114の1つ以上等、利用可能なリソースを識別する。システム管理モジュール408は、供給ツール404を呼び出して、識別したリソースを割り当てる。供給ツール404は、要求されたスタック又はウェブ・アプリケーションも展開することができる。
【0018】
[0024] 図5を参照すると、クラウド・コンピューティング・システム106によって実行される例示的な動作が示されている。実施形態に応じて、動作を追加したり、削減したり、又は異なる動作を実行したりする場合もある。図5の動作の提示の順序は限定を意図したものではない。動作500において、ミドルウェア・システム104からパス・コード要求を受信する。パス・コード要求は、1つ以上のコード化システム116a、116b、...、116nの1つについてのパス・コードを求める要求とすることができる。このため、パス・コード要求は、パス・コードを要求するコード化システムを識別することができる。パス・コード要求は、ミドルウェア・システム104によってパス・コード有効期限終了に基づいて生成される場合がある。あるいは、パス・コード要求は、ユーザ・コンピューティング・デバイス102から発生する場合もある。パス・コードは、1つ以上の数、1つ以上の動作、1つ以上の記号、1つ以上の文字/単語、1つ以上の音等のいずれかの組み合わせとすれば良い。
【0019】
[0025] 動作502において、動的情報を受信する。動的情報は、実施形態に応じて、ミドルウェア・システム104又は別のソースから受信することができる。例示的な実施形態においては、動的情報は、常時又は断続的に変更されるいずれかの情報とすることができる。動的情報は、天候、品物のコスト、収入、時刻、距離等に基づくものとすれば良い。例えば、動的情報は、特定位置における現在の温度、合衆国内で人口5万人を超えると共に名前に2つの母音を有する都市における現在の最高温度、特定位置における年初来の降水量(センチメートル単位)、地元又は遠隔地の風速計での現在の風速、シカゴ商品取引所のトウモロコシ1ブッシェルの現在の価格又は終わり値、動作500において要求を受信した時刻に対応するタイム・スタンプ、北極からの衛星の現在距離等とすることができる。
【0020】
[0026] 動作504において、動的情報及びパス・コードを発生するコード化システムの識別情報に少なくとも部分的に基づいて、パス・コードを発生する。例示的な実施形態においては、クラウド・コンピューティング・システム106は、パス・コード・アルゴリズムを用いてパス・コードを発生することができる。パス・コード・アルゴリズムは、動的情報の1つ以上の項目の少なくとも一部を数学的に操作して、パス・コードを発生することができる。パス・コード・アルゴリズムは、加算、減算、乗算、除算、対数操作、累乗、積分、微分、図/グラフ作成等のいずれかの既知の数学的動作を利用することができる。例えば、8桁の数値パス・コードを発生するために、パス・コード・アルゴリズムは、1000分の1秒の精度で、パス・コードの要求を受信した時刻に対応するタイム・スタンプの数字を加算して、乗数を得ることができる。パス・コード・アルゴリズムは、この乗数に、テキサス州オースティンの現在の気温の絶対値(華氏)、モンタナ州ヘレナの現在の気温の絶対値(摂氏)、及び太陽から地球までの現在の距離の和を乗算して、第1の値を得ることができる。この第1の値に、石油1バレルの現在の価格を乗算して、第2の値を発生することができる。第2の値の小数点を除去して第3の値を発生させ、第3の値の第3から第10桁をパス・コードとすることができる。パス・コードが文字、記号、動作、音等を含むことができる場合、パス・コード・アルゴリズムを用いて、所定の又は動的な変換アルゴリズムに基づいて、数値を文字、記号などに変換することができる。例示的な実施形態においては、パス・コード・アルゴリズムによって実行される動作及び用いる動的情報は、ランダムに選択することができる。代替的な実施形態では、パス・コードは、動的情報を用いることなく発生させることも可能である。
【0021】
[0027] 動作506において、発生したパス・コードをセグメント化する。セグメント化とは、パス・コードを複数のセグメントに分割することを指すことができる。パス・コードの各セグメントは、1つ以上の数、1つ以上の文字、1つ以上の動作などを含むことができる。動作508において、セグメント化したパス・コードをミドルウェア・システム104に提供する。例示的な実施形態においては、パス・コードの各セグメントは当業者に既知のいずれかの方法に従って暗号化し、ミドルウェア・システム104の別個のサーバ(又は他の構成要素)に提供することができる。このため、セグメントの1つ以上を傍受するハッカーは、パス・コードを再生成することができない。一例として、発生したパス・コードが12345であるとする。第1の桁「1」を暗号化してミドルウェア・システム104の第1の受信要素に送信し、第2の桁「2」を暗号化してミドルウェア・システム104の第2の受信要素に送信し、第3の桁「3」を暗号化してミドルウェア・システム104の第3の受信要素に送信する等とすることができる。例示的な実施形態においては、ミドルウェア・システム104は、パス・コード・セグメントを、組み立てるためにユーザ・コンピューティング・デバイス102に提供することができる。ユーザ・コンピューティング・デバイス102は、受信したセグメントをどのように再び組み立ててパスワードを再生成するかを前もって知ることができる。あるいは、クラウド・コンピューティング・システム106は、どのようにパスワードを再生成してユーザ・コンピューティング・デバイス102に提供するかに関して、ミドルウェア・システム104に暗号化された命令を送信することも可能である。
【0022】
[0028] 図6を参照すると、ユーザ・コンピューティング・デバイス102によって実行される例示的な動作が示されている。実施形態に応じて、動作を追加したり、削減したり、又は異なる動作を実行したりする場合もある。図6の動作の提示の順序は限定を意図したものではない。動作600において、許可情報をミドルウェア・システム104に提供する。許可情報は、ミドルウェア・システム104によって用いられて、ユーザ・コンピューティング・デバイス102のユーザに対する認証を保証することができる。許可情報は、パスワード、質問に対する答え、識別情報、又は当業者に既知の他のいずれかの種類の許可情報を含むことができる。動作602において、許可検証(authentication verification)を受信する。
【0023】
[0029] 動作604において、パス・コードの要求をミドルウェア・システム104に送信する。動作606において、複数のパス・コード・セグメントをミドルウェア・システム104から受信する。動作608において、複数のパス・コード・セグメントをパス・コードに組み立てる。例示的な実施形態においては、パス・コード・アプリケーション210を用いて、所定の又は動的なアルゴリズムに基づいてパス・コードを組み立てることができる。パス・コードを再組み立てするためのアルゴリズムは、ユーザ・コンピューティング・デバイス102に配信することができ、又は、一連の再組み立てコードをユーザ・コンピューティング・デバイス102において別個に実装して、再組み立てオプションをマスタ・システムにコード化し、このシステムが保持するタグをユーザ・コンピューティング・デバイス102に送出して、適切な再組み立てアルゴリズムを選択することができる。代替的な実施形態では、パス・コードは、ミドルウェア・アプリケーション104によって組み立てて、単一のパス・コードとしてユーザ・コンピューティング・デバイスに提供することができる。動作610において、パス・コードを提示する。パス・コードは、ユーザがパス・コードを1つ以上のコード化システム116a、116b、...、116nの1つに入力できるように、出力インタフェース202上に提示することができる。あるいは、ユーザ・コンピューティング・デバイス102が1つ以上のコード化システム116a、116b、...、116nの1つと同期している場合、ユーザ・コンピューティング・デバイス102は、そのコード化システムに直接パス・コードを提示することができる。
【0024】
[0030] 図7を参照すると、ミドルウェア・システム104によって実行される例示的な動作が示されている。実施形態に応じて、動作を追加したり、削減したり、又は異なる動作を実行したりする場合もある。図7の動作の提示の順序は限定を意図したものではない。ミドルウェア・システム104は、アプリケーション・プログラミング・インタフェースを用いて、例えば、オペレーティング・システムの互換性、表示能力等に関連付けて、パス・コード要求を処理するためのパラメータや、発生したパス・コードをユーザ・コンピューティング・デバイス102及びコード化システム116a、116b、...、116nに提供するためのパラメータを定義する。ミドルウェア・システム104は、クラウド・コンピューティング・システム106と情報のやり取りをするための同様のパラメータを更に定義する。
【0025】
[0031] 動作700において、ユーザ・コンピューティング・デバイス102から許可情報を受信する。動作702において、許可情報が有効か否かについて判定を行う。受信した許可情報が有効でないと判定された場合、動作704において、エラー・メッセージをユーザ・コンピューティング・デバイス102に提供する。許可情報が有効であると判定された場合、706において、ユーザ・コンピューティング・デバイス102からパス・コード要求を受信する。動作708において、パス・コード要求をクラウド・コンピューティング・システム106に提供する。代替的な実施形態においては、既存のパス・コードの有効期限が切れると、ミドルウェア・システム104によって自動的にパス・コード要求を発生することも可能である。
【0026】
[0032] 動作710において、動的情報を受信し、動作712において、動的情報をクラウド・コンピューティング・システム106に提供する。一実施形態においては、クラウド・コンピューティング・システム106は、ミドルウェア・システム104以外のソースから動的情報の少なくとも一部を受信することができる。動作714において、クラウド・コンピューティング・システム102から1つ以上のパス・コード・セグメントを受信する。動作716において、1つ以上のパス・コード・セグメントを、ユーザ・コンピューティング・デバイス102及びユーザ・コンピューティング・デバイス102に関連付けることができる1つ以上のコード化システム116a、116b、...、116nの1つのコード化システムに提供する。例示的な実施形態においては、1つ以上のパス・コード・セグメントを、ユーザ・コンピューティング・デバイス102及びコード化システムに同時に提供することができる。あるいは、1つ以上のパス・コード・セグメントを、ユーザ・コンピューティング・デバイス102及びコード化システムに異なる時点で提供することができる。コード化システムは、1つ以上のパス・コード・セグメントをパス・コードに組み立てるように構成されたアプリケーションを含むことができる。あるいは、ユーザ・コンピューティング・デバイス102が1つ以上のパス・コード・セグメントをパス・コードに組み立て、このパス・コードをコード化システムに提供することで、ミドルウェア・システム104がコード化システムと情報のやり取りをしないようにすることも可能である。別の代替的な実施形態では、1つ以上のパス・コード・セグエントはミドルウェア・システム104によって組み立てることができる。
【0027】
[0033] システムの態様のハードウェア実装及びソフトウェア実装の間にはほとんど区別がない。すなわち、ハードウェア又はソフトウェアの使用は、一般に(ではあるが常にではない。ある状況においてはハードウェア及びソフトウェア間の選択が重要となる場合がある)、コスト対効率のトレードオフとなる設計上の選択である。ここに記載したプロセス及び/又はシステム及び/又は他の技術を実行することができる様々な手段があり(例えばハードウェア、ソフトウェア、及び/又はファームウェア)、好適な手段は、プロセス及び/又はシステム及び/又は他の技術を展開する状況によって様々である。例えば、速度及び精度が最も重要であると実装者によって決定された場合、実装者は主としてハードウェア及び/又はファームウェアの手段を選択することができる。柔軟性が最も重要である場合、実装者は主としてソフトウェアによる実装を選択することができる。又は、代替的に、実装者は、ハードウェア、ソフトウェア、及び/又はファームウェアの何らかの組み合わせを選択することも可能である。
【0028】
[0034] 前述の詳細な説明では、ブロック図、フローチャート、及び/又は例を用いることによって、デバイス及び/又はプロセスの様々な実施形態について述べた。かかるブロック図、フローチャート、及び/又は例が、1つ以上の機能及び/又は動作を含む限り、かかるブロック図、フローチャート、又は例における各機能及び/又は動作を、個別に及び/又は集合的に、多種多様なハードウェア、ソフトウェア、ファームウェア、又はそれらの実質的にあらゆる組み合わせによって実装可能であることは、当業者には理解されよう。一実施形態においては、ここに記載した主題のいくつかの部分を、特定用途向け集積回路(ASIC)、FPGA(Field Programmable Gate Array)、デジタル信号プロセッサ(DPS)、又は他の集積形式によって実装することができる。しかしながら、ここに開示した実施形態のいくつかの態様は、全体的に又は部分的に、1つ以上のコンピュータ上で実行する1つ以上のコンピュータ・プログラムとして(例えば1つ以上のコンピュータ・システム上で実行する1つ以上のプログラムとして)、1つ以上のプロセッサ上で実行する1つ以上のプログラムとして(例えば1つ以上のマイクロプロセッサ上で実行する1つ以上のプログラムとして)、ファームウェアとして、又はそれらの実質的にあらゆる組み合わせとして、集積回路に同等に実装可能であること、更に、ソフトウェア及び/又はファームウェアのために回路を設計すること及び/又はコードを書くことは、本開示に鑑みて、当業者の技術の範囲内であることは、当業者には認められよう。更に、ここに記載した主題の機構は、様々な形態でプログラム製品として分散させることができること、更に、ここに記載した主題の例示的な実施形態は、この分散を実際に行うために用いられる信号記録媒体(signal bearing medium)の特定の種類には無関係に適用されることは、当業者には認められよう。信号記録媒体の例は、限定ではないが以下を含む。すなわち、フロッピ・ディスク、ハード・ディスク・ドライブ、コンパクト・ディスク(CD)、デジタル多用途ディスク(DVD)、デジタル・テープ、コンピュータ・メモリ等の記録可能型の媒体、ならびに、デジタル及び/又はアナログ通信媒体(例えば光ファイバ・ケーブル、導波路、有線通信リンク、無線通信リンク等)等の伝送型の媒体である。
【0029】
[0035] ここに述べた方法でデバイス及び/又はプロセスを記載し、その後でエンジニアリング的な手法を用いてかかる記載したデバイス及び/又はプロセスを統合してデータ処理システムにすることが、当技術内の一般的なことであることは、当業者には認められよう。すなわち、ここに記載したデバイス及び/又はプロセスの少なくとも一部を、妥当な量の実験によって、データ処理システムに統合することができる。典型的なデータ処理システムは、一般に、システム・ユニット筐体、ビデオ・ディスプレイ・デバイス、揮発性及び不揮発性メモリ等のメモリ、マイクロプロセッサ及びデジタル信号プロセッサ等のプロセッサ、オペレーティング・システムや、ドライバや、グラフィカル・ユーザ・インタフェースや、アプリケーション・プログラム等の計算エンティティ、タッチ・パッド又はスクリーン等の1つ以上のインタラクション・デバイス、及び/又はフィードバック・ループ及び制御モータを含む制御システム(例えば位置及び/又は速度を検知するためのフィードバック、構成要素及び/又は分量を移動させる及び/又は調節するための制御モータ)の1つ以上を含むことは、当業者には認められよう。データ・コンピューティング/通信及び/又はネットワーク・コンピューティング/通信システムにおいて通常見出されるもの等、いずれかの適切な市販の構成要素を用いて、典型的なデータ処理システムを実装することができる。
【0030】
[0036] ここに記載した主題は、時に、異なる他の構成要素内に含まれた、又は異なる他の構成要素と接続された、異なる構成要素を示す。かかる図示したアーキテクチャは単に例示したに過ぎず、実際、同一の機能を達成する他の多くのアーキテクチャを実施可能であることは理解されよう。概念上の意味において、同一の機能を達成するための構成要素のいかなる配置も、所望の機能を達成するように効果的に「関連付けられている」。従って、特定の機能を達成するためにここで組み合わせたいかなる2つの構成要素も、アーキテクチャ又は介在する構成要素には無関係に、所望の機能を達成するように相互に「関連付けられている」と考えることができる。同様に、そのように関連付けられたいかなる2つの構成要素も、所望の機能を達成するために相互に「動作的に接続」又は「動作的に結合」していると考えることができ、そのように関連付けることができるいかなる2つの構成要素も、所望の機能を達成するために相互に「動作的に結合可能である」と考えることができる。動作的に結合可能な具体例は、構成要素と物理的にかみ合わせ可能であること及び/又は物理的に相互作用すること及び/又は構成要素と無線で情報のやり取り可能とすること及び/又は無線で情報をやり取りをすること及び/又は構成要素と論理的に情報をやり取りすること及び/又は論理的に情報をやり取り可能とすることを含むが、これらには限定されない。
【0031】
[0037] 実質的に全ての複数形及び/又は単数形の用語をここで用いることに関して、当業者は、文脈及び/又は用途に応じて適宜、複数形から単数形及び/又は単数形から複数形に変換を行うことができる。ここでは明確さのため、様々な単数形/複数形の順列を明確に述べることができる。
【0032】
[0038] 一般的に、ここで用いた、特に特許請求の範囲(例えば特許請求の範囲の本文)において用いた用語は、概して、「オープン」な用語であることが意図されることは、当業者には理解されよう(例えば、「〜を含んでいる」という用語は「〜を含んでいるがこれに限定されない」と解釈するものであり、「〜を有している」という用語は「少なくとも〜を有している」と解釈するものであり、「〜を含む」という用語は「〜を含むがこれに限定されない」と解釈するものである等)。更に、導入された請求項の記述(recitation)に具体的な数が意図される場合、かかる意図は特許請求の範囲において明示的に述べられる。かかる説明がない場合にはかかる意図が存在しないことは、当業者には理解されよう。例えば、理解を助けるために、特許請求の範囲は、請求項の記述の導入において、「少なくとも1つの」及び「1つ以上の」という前置きの句の使用を含む場合がある。しかしながら、かかる句の使用は、不定冠詞「a」又は「an」が請求項の記述に導入された場合に、かかる記述を含むいずれかの特定の請求項が、記述されたものを1つしか含まない発明に限定されることを意味するように解釈されるものではない。これは、たとえ同一の請求項が「1つ以上の」又は「少なくとも1つの」という前置きの句及び「a」又は「an」等の不定冠詞を含む場合であっても当てはまる(例えば「a」及び/又は「an」は、通常、「少なくとも1つの」又は「1つ以上の」を意味するものと解釈される)。同じことが、請求項の記述の導入に定冠詞を用いる場合にも当てはまる。更に、導入された請求項の記述に具体的な数が明示的に記述された場合であっても、かかる記述が通常は、少なくとも“記述された数”を意味するように解釈されることは、当業者には認められよう(例えば、他の修飾語がない「2つの“記述対象”」という直接的な記述は通常、少なくとも2つの“記述対象”又は2つ以上の“記述対象”を意味する)。更に、「A、B、及びC等の少なくとも1つ」に似た表記が用いられる場合、一般に、かかる構造は、当業者がこの表記を理解する意味として意図される(例えば、「A、B、及びCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、A及びB、A及びC、B及びC、及び/又はA、B、Cを有する等のシステムを含むがこれに限定されるわけではない)。「A、B、又はC等の少なくとも1つ」に似た表記が用いられる場合、一般に、かかる構造は、当業者がこの表記を理解する意味として意図される(例えば、「A、B、又はCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、A及びB、A及びC、B及びC、及び/又はA、B、Cを有する等のシステムを含むがこれに限定されるわけではない)。更に、2つ以上の代替的な用語を表す実質的に全ての選言的な語及び/又は句は、説明、特許請求の範囲、又は図面のいずれにおいても、それらの用語の1つ、いずれか、又は双方を含む可能性を想定するように理解すべきであることは、当業者には理解されよう。例えば、「A又はB」という句は、「A」又は「B」又は「A及びB」という可能性を含むように理解される。
【0033】
[0039] 様々な態様及び実施形態をここに開示したが、当業者には他の態様及び実施形態が明らかであろう。ここに開示した様々な態様及び実施形態は例示の目的のためのものであり、限定として意図されるものではなく、真の範囲及び精神は特許請求の範囲によって示される。

【特許請求の範囲】
【請求項1】
デバイスであって、
プロセッサと、
コンピュータ読み取り可能命令を含むコンピュータ読み取り可能媒体であって、前記コンピュータ読み取り可能命令が、前記プロセッサによって実行されると、前記デバイスに、
第2のデバイスから、パス・コードを求める第1の要求であって、前記パス・コードが要求されるコード化システムの識別情報を含む第1の要求を受信させ、
前記コード化システムの前記識別情報を含む第2の要求を第3のデバイスに提供させ、
前記第3のデバイスから複数のパス・コード・セグメントを受信させ、
前記複数のパス・コード・セグメントを、前記パス・コードに組み立てるために前記第2のデバイスに提供させる、コンピュータ読み取り可能媒体と、
を備える、デバイス。
【請求項2】
前記コンピュータ読み取り可能命令が、更に、前記デバイスに、
前記第2のデバイスから許可情報を受信させ、
前記許可情報が有効か否かを判定させ、前記許可情報が有効であると判定された場合のみ前記第1の要求を受信させる、請求項1に記載のデバイス。
【請求項3】
前記コンピュータ読み取り可能命令が、更に、前記デバイスに、前記複数のパス・コード・セグメントを前記コード化システムに提供させる、請求項1に記載のデバイス。
【請求項4】
前記複数のパス・コード・セグメントが、前記第2のデバイス及び前記コード化システムに同時に提供される、請求項3に記載のデバイス。
【請求項5】
前記複数のパス・コード・セグメントの各々が前記デバイスの別個の構成要素において受信される、請求項1に記載のデバイス。
【請求項6】
前記複数のパス・コード・セグメントが少なくとも部分的に動的情報に基づいている、請求項1に記載のデバイス。
【請求項7】
前記コンピュータ読み取り可能命令が、更に、前記デバイスに、
動的情報を取得させ、
前記動的情報を、前記パス・コードの発生に用いるために前記第3のデバイスに提供させる、請求項1に記載のデバイス。
【請求項8】
前記デバイスと前記第2のデバイスとの間及び前記デバイスと前記第3のデバイスとの間のインタフェースを提供するように構成されたパス・コード・インタフェース・アプリケーションを更に備える、請求項1に記載のデバイス。
【請求項9】
前記第2のデバイスが第1のオペレーティング・システムを用い、前記第3のデバイスが第2のオペレーティング・システムを用いる、請求項8に記載のデバイス。
【請求項10】
第1のデバイスであって、
第1のプロセッサと、
第1のコンピュータ読み取り可能命令を含む第1のコンピュータ読み取り可能媒体であって、前記第1のコンピュータ読み取り可能命令が、前記第1のプロセッサによって実行されると、前記第1のデバイスに、
第2のデバイスから、パス・コードを求める第1の要求であって、前記パス・コードが要求されるコード化システムの識別情報を含む第1の要求を受信させ、
前記コード化システムの前記識別情報を含む第2の要求を第3のデバイスに提供させ、
前記第3のデバイスから前記パス・コードを受信させ、
前記パス・コードを前記第2のデバイスに提供させる、第1のコンピュータ読み取り可能媒体と、
を備える第1のデバイスと、
前記第3のデバイスであって、
第2のプロセッサと、
第2のコンピュータ読み取り可能命令を含む第2のコンピュータ読み取り可能媒体であって、前記第2のコンピュータ読み取り可能命令が、前記第2のプロセッサによって実行されると、前記第3のデバイスに、
前記第1のデバイスから前記第2の要求を受信させ、
動的情報を受信させ、
少なくとも部分的に前記受信した動的情報に基づいて前記パス・コードを発生させ、
前記パス・コードを前記第1のデバイスに提供させる、第2のコンピュータ読み取り可能媒体と、
を備える前記第3のデバイスと、
を備える、システム。
【請求項11】
前記動的情報が、天候情報、距離情報、価格情報、及び時刻情報の1つ以上を含む、請求項10に記載のシステム。
【請求項12】
前記動的情報が、第1の動的情報及び第2の動的情報を含み、前記第2のコンピュータ読み取り可能命令が、更に、前記第3のデバイスに、
前記第1の動的情報に第1の数学的動作を実行して第1の値を取得させ、
前記第2の動的情報に第2の数学的動作を実行して第2の値を取得させ、
前記第1の値及び前記第2の値を伴う第3の数学的動作を実行して第3の値を取得させ、前記第3の値が、前記パス・コードの少なくとも一部を含むか、又は前記パス・コードの少なくとも一部を発生するために用いられる、請求項10に記載のシステム。
【請求項13】
前記第2のコンピュータ読み取り可能命令が、更に、前記第3のデバイスに、前記パス・コードをセグメント化して複数のパス・コード・セグメントを発生させる、請求項10に記載のシステム。
【請求項14】
前記パス・コードが前記複数のパス・コード・セグメントとして前記第1のデバイスに提供される、請求項13に記載のシステム。
【請求項15】
前記動的情報が前記第1のデバイスから受信される、請求項10に記載のシステム。
【請求項16】
パス・コードを発生する方法であって、
第3のデバイスにおいて、第1のデバイスからパス・コードを求める要求を受信するステップであって、前記要求が、前記パス・コードが要求されるコード化システムの識別情報を含む、ステップと、
前記第3のデバイスにおいて動的情報を受信するステップと、
少なくとも部分的に前記コード化システムの前記識別情報及び少なくとも部分的に前記受信した動的情報に基づいて、前記パス・コードを発生するステップと、
前記パス・コードをセグメント化して複数のパス・コード・セグメントを発生するステップと、
前記複数のパス・コード・セグメントを前記第1のデバイスに提供するステップと、
を備える、方法。
【請求項17】
前記複数のパス・コード・セグメントの各々が前記第1のデバイスの別個の構成要素に提供される、請求項16に記載の方法。
【請求項18】
前記動的情報が第1の動的情報及び第2の動的情報を備え、更に、前記パス・コードを発生するステップが、
前記第1の動的情報に第1の数学的動作を実行して第1の値を取得することと、
前記第2の動的情報に第2の数学的動作を実行して第2の値を取得することと、
を備え、前記第1の値及び前記第2の値が前記パス・コードを発生する際に用いられる、請求項16に記載の方法。
【請求項19】
前記第1の数学的動作がランダムに選択される、請求項18に記載の方法。
【請求項20】
前記動的情報を識別するステップを更に備え、前記動的情報がランダムに識別される、請求項16に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2010−55593(P2010−55593A)
【公開日】平成22年3月11日(2010.3.11)
【国際特許分類】
【外国語出願】
【出願番号】特願2008−291645(P2008−291645)
【出願日】平成20年11月14日(2008.11.14)
【出願人】(508338636)ヤコビアン イノベイション アンリミテッド エルエルシー (9)
【Fターム(参考)】