(57)【要約】【課題】ユーザの匿名性を維持するやり方でユーザ間でデータを共有する手法。【解決手段】データを共有するために、トークンが生成され、ユーザに提供される。トークンは、識別子及び暗号鍵をコード化した情報を備える。ユーザはトークンを用いて、共有する対象のデータをアップロードすることができる。共有する対象のデータは、トークンに関連付けられた暗号鍵を用いて暗号化され、暗号化データは、トークンに関連付けられた識別子を用いてアクセス可能であるように記憶される。ユーザは次いで、トークンを用いて共有データにアクセスすることができる。共有データのアクセスに用いるトークンに関連付けられた識別子を用いてデータにアクセスし、トークンに関連付けられた暗号鍵を用いてデータを復号する。データは、トークンを用いてユーザの識別情報を明らかにすることなく匿名で共有される。【選択図】図１
2008257720.tif 000002
【特許請求の範囲】
【請求項１】
共有する対象のデータにアクセスするために利用可能な識別子を生成する工程と、
共有する対象のデータを暗号化するために利用可能な暗号鍵を生成する工程と、
前記識別子及び前記暗号鍵を含む１つ又は複数のトークンの組を生成する工程とを含むデータ共有方法であって、
前記トークンの組に含まれる各トークンは、前記トークンの組の何れのトークンを用いても前記データにアクセス可能な形態で前記データを記憶するデータ共有方法。
【請求項２】
前記トークンの組における第１のトークンから前記識別子及び前記暗号鍵を得る工程と、
共有する対象の第１のデータを識別する情報を受け取る工程と、
前記第１のトークンから得られた前記暗号鍵を用いて前記第１のデータを暗号化して、暗号化された第１のデータを生成する工程と、
前記識別子を用いて前記暗号化された第１のデータにアクセス可能な形態で前記暗号化された第１のデータを記憶する工程とを更に備える請求項1記載の方法。
【請求項３】
前記識別子を生成する工程は、
共有する対象のデータの記憶場所を判定する工程と、
前記記憶場所に基づいて前記識別子を生成する工程とを備える請求項1記載の方法。
【請求項４】
前記識別子及び前記暗号鍵を前記トークンの組におけるトークンから得る工程と、
前記トークンから得られた前記識別子を用いて前記暗号化された第１のデータにアクセスする工程と、
前記トークンから得られた前記暗号鍵を用いて前記暗号化された第１のデータを復号して、復号された第１のデータを生成する工程と、
前記復号された第１のデータへのアクセスを可能にする工程とを更に備える請求項1記載の方法。
【請求項５】
前記１つ又は複数のトークンの組を生成する工程は、
前記識別子及び前記暗号鍵をコード化した機械読み取り可能なコードを生成する工程と、
前記機械読み取り可能なコードを、前記トークンの組における各トークンと関連付ける工程とを備える請求項１記載の方法。
【請求項６】
前記トークンの組における少なくとも１つのトークンは、前記識別子及び前記暗号鍵をコード化した機械読み取り可能なコードを備えた物理トークンである請求項１記載の方法。
【請求項７】
前記トークンの組を生成する方法は、前記物理媒体上に印刷された他のトークンと物理的に分離することを可能にする物理媒体上に前記トークンの組を印刷する工程を備える請求項１記載の方法。
【請求項８】
第１のデータを識別する情報を受け取る工程と、
識別子を生成する工程と、
暗号鍵を生成する工程と、
前記第１のデータを、前記暗号鍵を用いて暗号化して、暗号化された第１のデータを生成する工程と、
前記暗号化された第１のデータが前記識別子を用いてアクセス可能であるように、前記暗号化された第１のデータを記憶する工程と、
１つ又は複数のトークンの組を生成する工程であって、前記組のトークンそれぞれは前記識別子及び前記暗号鍵を備える工程とを備えるデータ共有方法。
【請求項９】
請求項８記載の方法であって、
前記トークンの組における第１のトークンから情報を得る工程と、
前記第１のトークンから得られた前記情報から前記識別子及び前記暗号鍵を判定する工程と、
前記第１のトークンから得られた前記識別子を用いて、前記暗号化された第１のデータにアクセスする工程と、
前記第１のトークンから得られた前記暗号鍵を用いて、前記暗号化された第１のデータを復号して、復号された第１のデータを生成する工程と、
前記復号された第１のデータへのアクセスを可能にする工程とを更に備える方法。
【請求項１０】
第１のレコードを記憶する工程であって、第１のメタデータが、前記第１のレコードと関連付けられる工程と、
第１の識別子を生成する工程であって、前記第１のレコードが、前記第１の識別子を用いてアクセス可能である工程と、
暗号鍵を生成する工程であって、前記暗号鍵が、共有する対象のデータを暗号化するために利用可能である工程と、
１つ又は複数のトークンの組を生成する工程とを備え、前記組におけるトークンそれぞれは前記第１の識別子及び前記暗号鍵を備え、前記トークンの組からのトークンは、前記トークンの組からのトークンを用いて記憶データにアクセス可能であるようにデータを記憶することを可能にするデータ共有方法。
【請求項１１】
請求項10記載の方法であって、
前記第１の識別子及び前記暗号鍵を前記トークンの組からのトークンから得る工程と、
第１のデータを識別する情報を受け取る工程と、
前記第１のデータを、前記暗号鍵を用いて暗号化して、暗号化された第１のデータを生成する工程と、
前記暗号化された第１のデータを第２のレコードに記憶し、第２のメタデータは、第２のレコードと関連付けられる工程と、
第２の識別子を生成する工程であって、前記第２のレコードが、前記第２の識別子を用いてアクセス可能である工程と、
前記第２の識別子を、前記第１のレコードに関連した前記第１のメタデータに記憶する工程とを更に備える方法。
【請求項１２】
請求項11記載の方法であって、対称鍵を用いて前記第２のメタデータを暗号化する工程を更に備えることを特徴とする方法。
【請求項１３】
請求項11記載の方法であって、
前記第１の識別子及び前記暗号鍵を前記トークンの組におけるトークンから得る工程と、
前記第１の識別子を用いて前記第１のレコードにアクセスする工程と、
前記第２の識別子を、前記第１のレコードに関連した前記第１のメタデータから判定する工程と、
前記第２の識別子を用いて前記第２のレコードにアクセスする工程と、
前記暗号鍵を用いて前記第２のレコードにおける前記暗号化された第１のデータを復号して、復号された第１のデータを生成する工程と、
前記復号された第１のデータへのアクセスを可能にする工程とを更に備える方法。
【請求項１４】
請求項11記載の方法であって、
前記第１の識別子及び前記暗号鍵を前記トークンの組からのトークンから得る工程と、
第２のデータを識別する情報を受け取る工程と、
前記第２のデータを、前記暗号鍵を用いて暗号化して、暗号化された第２のデータを生成する工程と、
前記暗号化された第２のデータを第３のレコードに記憶する工程であって、第３のメタデータが、前記第３のレコードと関連付けられる工程と、
第３の識別子を生成する工程であって、前記第３のレコードが、前記第３の識別子を用いてアクセス可能である工程と、
前記第３の識別子を、第２のレコードに関連した第２のメタデータに記憶する工程とを更に備える方法。
【請求項１５】
請求項14記載の方法であって、
前記第１の識別子及び前記暗号鍵を前記トークンの組におけるトークンから得る工程と、
前記第１の識別子を用いて前記第１のレコードにアクセスする工程と、
第２の識別子を、前記第１のレコードに関連付けられた前記第１のメタデータから判定する工程と、
前記第２の識別子を用いて前記第２のレコードにアクセスする工程と、
前記第３の識別子を、前記第２のレコードに関連付けられた第２のメタデータから判定する工程と、
前記第３の識別子を用いて前記第３のレコードにアクセスする工程と、
前記暗号鍵を用いて前記第３のレコードにおける前記暗号化された第２のデータを復号して、復号された第２のデータを生成する工程と、
前記復号された第２のデータへのアクセスを可能にする工程とを更に備える方法。
【請求項１６】
共有する対象のデータを記憶するよう構成されたメモリと、
前記メモリから共有する対象のデータにアクセスするために利用可能な識別子を生成し、
前記メモリから共有する対象のデータを暗号化するために利用可能である暗号鍵を生成し、
前記識別子及び前記暗号鍵を含む１つ又は複数のトークンの組を生成させるよう構成されたプロセッサとを備え、前記トークンの組に含まれる各トークンは、前記トークンの組の何れのトークンを用いても前記データにアクセス可能な形態で前記データを記憶することを可能にするデータ共有システム。
【請求項１７】
請求項１６記載のシステムであって、前記プロセッサは、
前記識別子及び前記暗号鍵を前記トークンの組における第１のトークンから取得し、
共有する対象の第１のデータを識別する情報を受け取り、
前記第１のトークンから得られた前記暗号鍵を用いて前記第１のデータを暗号化して、暗号化された第１のデータを生成し、
前記暗号化された第１のデータが前記識別子を用いてアクセス可能であるように、前記暗号化された第１のデータを前記メモリに記憶するよう構成されたシステム。
【請求項１８】
請求項１６記載のシステムであって、前記プロセッサは、
前記識別子及び前記暗号鍵を前記トークンの組におけるトークンから取得し、
前記暗号化された第１のデータを、前記トークンから得られた前記識別子を用いてアクセスし、
前記トークンから得られた前記暗号鍵を用いて前記暗号化された第１のデータを復号して、復号された第１のデータを生成し、
前記復号された第１のデータへのアクセスを可能にするよう構成されたシステム。
【請求項１９】
請求項16記載のシステムであって、前記トークンの組における少なくとも１つのトークンは、前記識別子及び前記暗号鍵をコード化した機械読み取り可能なコードを備えた物理トークンであるシステム。
【請求項２０】
請求項１６記載のシステムであって、物理媒体上に前記トークンの組を印刷するよう構成されたプリンタを更に備え、前記物理媒体は、前記物理媒体上に印刷されたトークンを、前記物理媒体上に印刷された他のトークンと物理的に分離することを可能にするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ共有に関し、特に、匿名で単純に複数のユーザ間でデータを共有する手法に関する。
【背景技術】
【０００２】
将来の、セキュアで（かつ、場合によっては匿名の、）データ交換を2名の人が手配することが好都合な場合がある。通常のいくつかの手法（そのいくつかを挙げれば、ポータブル・メモリ媒体（例えば、CD、メモリ・スティック）上でのデータの記憶、メールを用いた、1名又は複数名の個人へのメモリ媒体の送出、暗号化データ・ファイルの電子メールへの添付、及び対象受信者への電子メールの通信、ftpサイトへのセキュア・データのアップロード）をデータ交換に用いることができる。しかし、既存の手法はそれぞれ、いずれにせよ欠点がある。匿名でないか、詳細な情報の、瑣末でない交換が必要であるか、又は、交換に先行して、セットアップの労力がある程度必要である。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記に照らして、ユーザの匿名性が維持される、ユーザ間のデータの交換を可能にする単純化された手法が望まれている。
【課題を解決するための手段】
【０００４】
本発明の実施例は、ユーザの匿名性を維持するやり方でユーザ間でデータを共有する手法を提供する。データを共有するために、トークンが生成され、ユーザに提供される。トークンは、識別子及び暗号鍵をコード化した情報を備える。ユーザはトークンを用いて、共有する対象のデータをアップロードすることができる。共有する対象のデータは、トークンに関連付けられた暗号鍵を用いて暗号化され、暗号化データは、トークンに関連付けられた識別子を用いてアクセス可能であるように記憶される。ユーザは次いで、トークンを用いて共有データにアクセスすることができる。共有データのアクセスに用いるトークンに関連付けられた識別子を用いてデータにアクセスし、トークンに関連付けられた暗号鍵を用いてデータを復号する。データは、トークンを用いて、ユーザの識別情報を明らかにすることなく匿名で共有される。
【０００５】
本発明の実施例によれば、データを共有する手法を提供する。一実施例では、共有する対象のデータをアクセスするよう利用可能な識別子が生成される。共有する対象のデータを暗号化するために利用可能な暗号鍵が生成される。識別子及び暗号鍵を含む１つ又は複数のトークンの組が生成される。トークンの組に含まれるトークンは、トークンの組からの何れのトークンを用いてもデータにアクセス可能な形態でデータを記憶することを可能にする。一実施例では、識別子の生成の一部として、共有する対象のデータを記憶する記憶場所を判定することができ、この記憶場所に基づいて識別子を生成することができる。一実施例では、識別子及び暗号鍵をコード化した機械読み取り可能なコードを生成することができ、機械読み取り可能コードは、トークンの組における各トークンと関連付けられる。
【０００６】
次いで、生成された組からのトークンを用いて、共有する対象の情報をアップロードすることができる。一実施例では、トークンの組における第１のトークンからの識別子及び暗号鍵。共有する対象の第１のデータを識別する情報を受け取ることもできる。第1のトークンから得られた暗号鍵を用いて第１のデータを暗号化して、暗号化された第１のデータを生成し、第１の暗号化データは、暗号化された第１のデータが識別子を用いてアクセス可能であるように記憶される。
【０００７】
トークンの組からのトークンを用いて、共有データにアクセスすることもできる。一実施例では、識別子及び暗号鍵は、共有データにアクセスするために提示される、トークンの組のトークンから得られる。暗号化された第１のデータは、トークンから得られた識別子を用いてアクセスされる。暗号化された第１のデータを次いで、トークンから得られた暗号鍵を用いて復号し、復号された第１のデータを生成する。復号された第１のデータへのアクセスがイネーブルされる。このようにして、トークン保有者は、トークンを用いて共有データにアクセスすることができる。
【０００８】
生成され、用いられるトークンは、ディジタル（電子）トークン又は物理トークンであり得る。物理媒体上にトークンを印刷することによって物理トークンを生成することができる。一実施例では、物理媒体上にトークンの組を印刷することによってトークンの組を生成することができる。物理媒体は、物理媒体上に印刷された他のトークンと、物理媒体上に印刷されたトークンとを物理的に分離することを可能にする。
【０００９】
本発明の別の実施例によれば、データを共有する手法を提供する。一実施例では、共有する対象の第１のデータを識別する情報を受け取る。識別子及び暗号鍵が生成される。第１のデータを暗号鍵を用いて暗号化して、暗号化された第１のデータを生成する。暗号化された第１のデータは、暗号化された第１のデータが識別子を用いてアクセス可能なように暗号化される。１つ又は複数のトークンの組が生成され、各組のトークンそれぞれは識別子及び暗号鍵を備える。生成されたトークンを次いで用いて共有データにアクセスすることができる。一実施例では、共有データをアクセスするために第１のトークンを提示することができる。情報は第１のトークンから得ることができる。識別子及び暗号鍵は、第１のトークンから得られる情報から判定することができる。暗号化された第１のデータは、第１のトークンから得られた識別子を用いてアクセスし、第１のトークンから得られた暗号鍵を用いて復号して、復号された第１のデータを生成することができる。復号された第１のデータへのアクセスをイネーブルすることができる。
【００１０】
本発明の実施例によれば、別々のバージョンの共有データを記憶し、アクセスすることができる。一実施例では、関連付けられた第１のメタデータを有する第１のレコードを記憶することができる。第１の識別子を生成することができる。第１のレコードは第１の識別子を用いてアクセス可能である。暗号鍵を生成することができる。暗号鍵は、共有する対象のデータを暗号化するために利用可能である。１つ又は複数のトークンの組を生成することができる。組の各トークンは第１の識別子、及び暗号鍵を備え、トークンの組からのトークンは、トークンの組からの何れかのトークンを用いて記憶データがアクセス可能であるようにデータを記憶することを可能にする。
【００１１】
トークンを次いで用いて、共有する対象のデータのバージョンを記憶することができる。一実施例では、トークンの組からのトークンから暗号鍵が得られる。共有する対象の第１のデータを識別する情報を受け取る。第１のデータを暗号鍵を用いて暗号化して、暗号化された第１のデータを生成する。暗号化された第１のデータは第２のレコードに記憶され、第２のメタデータは、第２のレコードと関連付けられる。第２の識別子が生成される。第２のレコードは第２の識別子を用いてアクセス可能である。第２の識別子は、第１のレコードに関連付けられた第１のメタデータに記憶される。第２のメタデータは、トークンから得られた暗号鍵を用いて暗号化することができる。
【００１２】
共有データは次いで、トークンを用いてアクセスすることができる。一実施例では、トークンの組からのトークンから第１の識別子、及び暗号鍵が得られる。第１のレコードは、第１の識別子を用いてアクセスされる。第２の識別子は、第１のレコードに関連付けられた第１のメタデータから判定される。第２のレコードは、第２の識別子を用いてアクセスされる。第２のレコードの、暗号化された第１のデータを、暗号鍵を用いて復号して、復号された第１のデータを生成する。復号された第１のデータへのアクセスがイネーブルされる。
【００１３】
トークンを用いて、共有する対象のデータの別のバージョンを記憶することもできる。一実施例では、第１の識別子、及び暗号鍵は、共有する対象のデータのアップロードに用いるトークンから得られる。第２のデータを識別する情報を受け取る。第２のデータを、暗号鍵を用いて暗号化して、暗号化された第２のデータを生成する。暗号化された第２のデータは第３のレコードに記憶され、第３のメタデータは、第３のレコードと関連付けられる。第３の識別子が生成される。第３のレコードは第３の識別子を用いてアクセス可能である。第３の識別子は、第２のレコードに関連付けられた第２のメタデータに記憶される。
【００１４】
トークンを用いて、最後に更新された共有データにアクセスすることができる。一実施例では、トークンの組からのトークンから第１の識別子、及び暗号鍵が得られる。第１のレコードは、第１の識別子を用いてアクセスされる。第２の識別子は、第１のレコードに関連付けられた第１のメタデータから判定される。第２のレコードは、第２の識別子を用いてアクセスされる。第３の識別子は、第２のレコードに関連付けられた第２のメタデータに記憶される。第３のレコードは、第３の識別子を用いてアクセスされる。第３のレコードの、暗号化された第２のデータを暗号鍵を用いて復号して、復号された第２のデータを生成する。復号された第２のデータへのアクセスがイネーブルされる。
【発明を実施するための最良の形態】
【００１５】
本発明の上記説明は、その他の特徴、実施例、及び利点とともに、明細書、特許請求の範囲及び図面を参照すると、より明らかになる。
【実施例】
【００１６】
以下の記載では、説明の目的で、具体的な詳細を表して、本発明が深く分かるようにしている。しかし、本発明は、前述の具体的な詳細なしで実施することができる。
【００１７】
本発明の実施例は、ユーザの匿名性を維持するやり方で複数のユーザ間でデータを共有する手法を提供する。本発明の実施例によれば、データの共有を促進する１つ又は複数のトークンが生成される。図１は、本発明の実施例による、トークンを生成し、用いるシステム１００の単純化されたブロック図である。図１に表すトークン１００は、本発明の実施例を例証しているにすぎず、特許請求の範囲記載の本発明の範囲を限定するものでない。当業者は他の変形、修正及び代替を認識するであろう。
【００１８】
図１に表すように、システム１００は、本発明の実施例による、トークンの生成及び使用を促進するトークン・プロセッサ１０２を備える。トークン・プロセッサ１０２は、ソフトウェア（プロセッサによって実行されるコード若しくは命令）、ハードウェア、又はそれらの組み合わせで実現することができる。例えば、図１に表すように、トークン・プロセッサ１０２は、コンピュータ・システム１０４上で実行されるアプリケーションであり得る。モジュール１０２のソフトウェア・コード又は命令は、システム１０４のプロセッサによって実行することができる。
【００１９】
トークン・プロセッサ102は、本発明の教示によってトークンを生成するよう構成される。トークンは、１つ又は複数のトークンを生成する旨の要求をユーザからトークン・プロセッサ１０２が受け取ることに応じて生成することができる。一実施例では、ユーザは、新たなトークンの生成を要求し、同時に、トークンを用いて共有する対象のデータを識別することもできる。これに応じて、トークン・プロセッサ１０２は、トークンを生成する処理を実行するよう構成される。図２は、本発明の実施例による、トークンを生成する方法を表す単純化された概略レベルのフローチャート２００である。図２に表す方法は、プロセッサによって実行されるソフトウェア・モジュール（コード・モジュール若しくは命令）、ハードウェア・モジュール、又はそれらの組み合わせによって行うことができる。例えば、方法は、図1に表すトークン・プロセッサ１０２によって行うことができる。図2に表すフローチャート２００は、本発明の実施例を例証しているに過ぎず、本発明の範囲を限定することを意図するものでない。他の変形、修正及び代替も本発明の範囲内に収まる。図2に表す方法は、種々の実現上の制約で機能するよう適合させることができる。
【００２０】
新たなトークンを生成する旨の信号を受信すると、処理を起動させることができる（工程２０２）。新たなトークンを生成する旨の要求とともに、生成する対象の新たなトークンを用いて共有する対象のデータを識別する情報も受け取られる（工程２０４）。トークン・プロセッサ１０２は、ユーザが、新たなトークンの生成を要求することを可能にし、共有する対象のデータを識別することも可能にするユーザ・インタフェースを備えることができる。
【００２１】
共有する対象のデータを記憶する記憶場所を次いで判定する（工程２０６）。記憶場所は、まだ存在していない場合、２０６の一部として作成することができる。例えば、図１に表すように、共有する対象のデータを記憶する記憶場所１０６を判定することができる。共有する対象のデータを記憶する記憶場所は、コンピュータ・システム１０４の局所にあり得るか、又はコンピュータ・システム１０４に対して遠隔にあり得る。
【００２２】
トークンを生成するための識別子が次いで生成される（工程２０８）。生成された識別子は、２０６で識別された記憶場所からの共有データにアクセスするために用いることができるようなものである。識別子は、共有データが記憶される記憶場所（すなわち、２０６で判定された記憶場所）を判定し、その記憶場所で記憶されたデータも判定するために用いることができる情報をカプセル化することができる。識別子の例は、共有する対象のデータを記憶する記憶場所へのポインタ又は参照、記憶場所への索引、URL等を含む。一実施例では、大局的に一意の識別子が生成される。各種の手法（データの暗号ハッシュの算出等など）を用いて一意の識別子を生成することができる。例えば、一実施例では、共有データを暗号化し、共有する対象のデータを記憶する記憶場所において文書として記憶することができ、生成される識別子は、その記憶場所を含む文書を識別する大局的に一意の識別子である。
【００２３】
生成する対象のトークンの一意の暗号鍵を次いで、生成／識別する（工程２１０）。一実施例では、暗号鍵は、データを暗号化し、更に、暗号化データを復号するために用いることが可能な対称暗号鍵である。２０４で識別されたデータを、２１０で判定された暗号鍵を用いて暗号化して、暗号化データを生成する（工程２１２）。データを暗号化するために各種の暗号化手法を用いることができる。２１２で生成された暗号化データを次いで、２０６で識別された記憶場所に記憶する（工程２１４）。
【００２４】
１つ又は複数のトークンが生成される（工程２１６）。生成されたトークンそれぞれは、２０８で生成された識別子、及び、共有データの暗号化に用いる、２１０で生成された暗号鍵を含む情報を備える。各種手法を用いて、識別子及び暗号鍵を、生成されたトークンと関連付けることができる。一実施例では、識別子及び暗号鍵をトークン上に印刷することができる。別の実施例では、識別子及び暗号鍵は、生成トークンに印刷される機械読み取りコードにコード化することができる。情報をコード化するために用いることができる機械読み取り可能なコードの例には、QRコード、グリフ等などのバーコードが含まれる。一実施例では、識別子及び暗号鍵は、別個の２つの機械読み取り可能なコード（例えば、別個の２つのバーコード）にコード化することができる。トークンはその場合、別個の２つのバーコードを備え得る。
【００２５】
２１６で生成されたトークンは、ディジタル（電子）トークン又は物理トークンであり得る。例えば、図１に表すように、トークン・プロセッサ１０２は、コンピュータ・システム１０４のメモリに記憶することができるディジタル・トークン１０８を生成することができる。ディジタル・トークン１０８は、識別子及び暗号鍵をコード化した情報を備える画像であり得る。ディジタル・トークン１０８は、電子的に通信（例えば、電子メール）することができ、出力装置上（画面上、モニタ上、視覚ディスプレイ上等など）に表示可能であり得る。物理トークンは、物理媒体（紙、カード、プラスチック等など）を用いて生成することができる。例えば、図１に表すシステム１００では、プリンタ１１２を用いて物理トークン１１０を生成することができる。トークン・プロセッサ１０２は、トークン関連情報をプリンタ１１２に送出するよう構成することができる。プリンタ１１２は次いで、物理媒体上（紙上、カード上、プラスチック上等など）に情報を印刷することによって物理トークン１１０を生成することができる。１つ又は複数のトークンを生成することができる。
【００２６】
図２に表し、前述した処理では、共有する対象のデータは、トークンを生成する旨の要求によって識別された。別の実施例では、共有するデータの知識なしでトークンを生成することができる。例えば、共有する対象のデータの識別なしでトークンを生成することができる。共有する対象のデータは、データの共有に用いる対象のトークンを生成する時点で作成されていないか、又は利用可能でないこともあり得る。先行して生成された（予め生成された）トークンは次いで、共有する対象のデータを共有するために、後に用いることができる。
【００２７】
図３は、本発明の実施例による、トークンを用いて共有する対象のデータを識別することなくトークンを生成する方法を表す単純化された概要レベルのフローチャート３００である。図3に表す方法は、プロセッサによって実行されるソフトウェア・モジュール（コード・モジュール若しくは命令）、ハードウェア・モジュール、又はそれらの組み合わせによって行うことができる。例えば、方法は、図1に表すトークン・プロセッサ102によって行うことができる。図3に表すフローチャート300は、本発明の実施例を例証しているに過ぎず、本発明の範囲を限定することを意図するものでない。他の変形、修正及び代替も本発明の範囲内に収まる。図３に表す方法は、種々の実現上の制約で機能するよう適合させることができる。
【００２８】
新たなトークンを生成する旨の信号を受信すると、処理を起動させることができる（工程３０２）。共有する対象のデータを記憶する記憶場所が次いで判定される（工程３０４）。３０４で判定される記憶場所は、生成されるトークンを用いて共有する対象のデータが記憶されることになる場所を表す。共有する対象のデータを記憶する記憶場所がまだ存在していない場合、記憶場所を３０４の一部として作成することができる。このようにして、データ記憶のためにメモリ場所が識別される。共有する対象のデータを記憶する記憶場所は、コンピュータ・システム１０４の局所にあるか、又は特定の遠隔場所にあり得る。
【００２９】
トークンを生成するための識別子が次いで生成される（工程３０６）。生成識別子は、３０４で判定された記憶場所からの共有データを位置特定するために用いることが可能なものである。識別子の例として、記憶場所へのポインタ又は参照、記憶場所への索引、URL等がある。一実施例では、一意の識別子が生成される。各種の手法（暗号ハッシュの算出等など）を用いて一意の識別子を生成することができる。
【００３０】
生成する対象のトークンの一意の暗号鍵を次いで、生成する（工程３０８）。一実施例では、暗号鍵は、データを暗号化し、更に、暗号化データを復号するために用いることが可能な対称暗号鍵である。
【００３１】
次いで、１つ又は複数のトークンが生成される（工程３１０）。生成されるトークンそれぞれは、３０６で生成された識別子、及び、共有データの暗号化に用いる、３０８で生成された暗号鍵を含む情報を備える。種々の手法（トークン上に識別子及び暗号鍵を印刷する、生成されたトークン上に印刷された機械読み取り可能なコードに識別子及び暗号鍵をコード化する等など）を用いて、識別子及び暗号鍵をトークンと関連付けることができる。３１０で生成されたトークンは、ディジタル（電子）トークン又は物理トークンであり得る。
【００３２】
前述の通り、共有する対象のデータが識別される前にトークンを生成することもできる。次いで、先行して生成されたトークン（ディジタル又は物理）は後に、共有する対象データを暗号化し、記憶することができる。図４は、本発明の実施例による、先行して生成されたトークンを用いてデータを共有する方法を表す単純化された概略レベルのフローチャート４００である。図4に表す方法は、プロセッサによって実行されるソフトウェア・モジュール（コード・モジュール若しくは命令）、ハードウェア・モジュール、又はそれらの組み合わせによって行うことができる。例えば、方法は、図1に表すトークン・プロセッサ１０２によって行うことができる。図4に表すフローチャート４００は、本発明の実施例を例証しているに過ぎず、本発明の範囲を限定することを意図するものでない。他の変形、修正及び代替も本発明の範囲内に収まる。図4に表す方法は、種々の実現上の制約で機能するよう適合させることができる。
【００３３】
図４に表すように、先行して生成されたトークンを用いてデータを共有する旨の要求を受けると起動させることができる（工程402）。例えば、図１に表すトークン・プロセッサ１０２は、先行して生成されたトークンを用いてデータを共有する旨の信号をユーザから受信することができる。共有する対象のデータを識別する情報を受け取ることができる（工程４０４）。前述の通り、ト―クン・プロセッサ１０２は、共有する対象のデータをユーザが規定することを可能にするインタフェースを備えることができる。
【００３４】
情報は次いで、データの共有に用いる対象の、先行して生成されたトークンから得られる（工程４０６）。先行して生成されたトークンから情報を得る各種手法を用いることができる。一実施例では、図１に表すように、トークン読み取り器１１４に提示される先行して生成されたトークン１１６から情報を得るよう構成されたトークン読み取り器１１４を提供することができる。トークン１１６から得られる情報には、トークンに関連付けられた識別子及び暗号鍵がある。
【００３５】
トークン読み取り器１１４は、物理トークン又はディジタル・トークンから情報を得ることができることがあり得る。ディジタル・トークンの場合、トークン読み取り器１１４は、表示上（画面上、モニタ上、視覚ディスプレイ上等など）に表示されたディジタル・トークンから情報を捕捉するよう構成することができる。一実施例では、画像処理又は光学式文字認識手法を用いて、ディジタル・トークンから情報を得ることができる。物理トークンの場合、読み取り器１１４は、物理トークンから情報を読み取るよう構成することができる。前述の通り、一実施例では、識別子及び暗号鍵を、ディジタル・トークン又は物理トークンに関連付けられた機械読み取り可能なコードでコード化することができる。この実施例では、トークン読み取り器１１４は、物理トークン上に印刷された機械読み取り可能なコ―ドを走査し、読み取るよう構成されたバーコード読み取り器であり得る。
【００３６】
識別子及び暗号鍵を次いで、４０６でトークンから得られた情報から判定する（工程４０８）。暗号鍵は、対称暗号鍵であり得る。
【００３７】
４０４で識別されたデータを次いで、４０８で判定された暗号鍵を用いて暗号化して、暗号化データを生成する（工程４１０）。４１０で生成された暗号化データは次いで、識別子を用いて記憶データを取り出すことができるように、４０８で判定された識別子に対応する記憶場所に記憶される（工程４１２）。このようにして、予め生成されたトークンを用いて、情報を暗号化し、一又は複数のユーザによってアクセスすることが可能な記憶場所にロードすることができる。記憶場所に記憶されたデータは次いで、共有データのアップロードに用いられたトークンと同じ識別子及び同じ暗号鍵を有するトークンを用いてデータを共有する他のユーザによるアクセスに利用可能である。
【００３８】
前述のように生成されるトークンを用いて共有情報にアクセスすることもできる。図５は、本発明の実施例による、生成されたトークンを用いて共有データにアクセスする方法を表す単純化された概要レベルのフローチャート５００である。図5に表す方法は、プロセッサによって実行されるソフトウェア・モジュール（コード・モジュール若しくは命令）、ハードウェア・モジュール、又はそれらの組み合わせによって行うことができる。例えば、方法は、図1に表すトークン・プロセッサ１０２によって行うことができる。図5に表すフローチャート５００は、本発明の実施例を例証しているに過ぎず、本発明の範囲を限定することを意図するものでない。他の変形、修正及び代替も本発明の範囲内に収まる。図5に表す方法は、種々の実現上の制約で機能するよう適合させることができる。
【００３９】
図5に表すように、トークンに対応する共有情報にアクセスする旨の要求を受けると処理を起動させることができる（工程５０２）。５０２では、トークンを用いて情報にアクセスしようとするユーザは、図１に表すトークン読み取り器１１４などのトークン読み取り器にトークン（ディジタル又は物理）を提示することができる。情報を次いで、提示されたトークンから得る（工程５０４）。トークンから得られる情報は、トークンに関連付けられた識別子及び暗号鍵を識別する情報を含む。トークンに関連付けられた識別子及び暗号鍵を次いで、５０４でトークンから得られた情報から判定する（工程５０６）。５０６で判定された識別子によって識別されたデータに次いでアクセスする（工程５０８）。前述の通り、識別子を用いて、共有する対象のデータを記憶する記憶場所、及びその記憶場所におけるデータを判定することができる。アクセスされるデータは通常、暗号化形式のデータである。５０８で記憶場所からアクセスされた暗号化データを次いで、トークンからの、５０６で判定された暗号鍵を用いて復号する（工程５１０）。復号データは次いで、トークン保有者にアクセス可能にされる（工程５１２）。このようにして、トークンを用いて、共有するために暗号化され、記憶されているデータへのアクセスを得ることができる。
【００４０】
前述の通り、本発明の実施例によれば、トークン・プロセッサ１０２は、トークンの生成及び使用を促進する。トークン・プロセッサ１０２は、トークンの生成及び使用に関係する種々のタスクを行うためのいくつかのモジュールを含み得る。図６は、本発明の実施例による、トークン・プロセッサ１０２の種々のモジュールの単純化されたブロック図を表す。図６に表すように、トークン・プロセッサ１０２は、ユーザ・インタフェース・モジュール６０２、識別子プロセッサ・モジュール６０４、暗号化／復号モジュール６０６、トークン情報捕捉モジュール６０８、及びトークン生成器モジュール６１０を備え得る。モジュールは、ソフトウェア（プロセッサによって実行されるコード若しくは命令）、ハードウェア、又はそれらの組み合わせで実現することができる。
【００４１】
ユーザ・インタフェース・モジュール６０２は、ユーザがトークン・プロセッサ１０２と相互作用することを可能にする。例えば、ユーザ・インタフェース・モジュール６０２は、ユーザが、新たなトークンの生成を要求し、共有する対象の情報を規定／識別し、トークンを用いて共有する対象の情報のアップロードを要求し、トークンを用いて共有情報にアクセスする旨を要求する等を可能にするインタフェースを備えることができる。
【００４２】
トークン情報捕捉モジュール６０８は、トークンから情報を捕捉し、捕捉情報から識別子及び暗号鍵情報を判定することに関するタスクを行うよう構成することができる。トークン情報捕捉モジュール６０８は、トークン読み取り器とインタフェースし、トークン読み取り器によって捕捉される情報を受け取ることができる。
【００４３】
識別子プロセッサ・モジュール６０４は、共有する対象のデータを記憶する記憶場所との間のデータの記憶及びアクセスに関するタスクを行うよう構成することができる。前述のタスクは、データを記憶する記憶場所の判定又は作成、記憶場所の識別子の生成、特定の識別子に対応する記憶場所の判定、識別子に対応する記憶場所へのデータの記憶、及び識別子を前提とした、記憶場所からのデータのアクセス等を含み得る。
【００４４】
暗号化／復号モジュール６０６は、暗号化及び復号関連タスクを行うよう構成することができる。前述のタスクは、トークンと関連付ける対象の暗号鍵の判定／生成、暗号鍵を用いた、共有する対象のデータの暗号化、及び暗号鍵を用いた暗号化データの復号を含み得る。
【００４５】
トークン生成器モジュール６１０は、ディジタル・トークン又は物理トークンに関するタスクを行うよう構成することができる。前述のタスクは、機械読み取り可能なコードにおける識別子及び暗号鍵のコード化、及びコードのトークンとの関連付け、ディジタル・トークンの生成、プリンタなどの装置のサービスを用いた物理トークンの生成等を含み得る。
【００４６】
前述の通り、トークンを用いて、ユーザ群間でデータを共有することができる。例えば、組の各トークンが同じ識別子及び同じ暗号鍵を備えるデータ共有を可能にするためにトークンの組を生成することができる。共有する対象のデータは、トークンが生成される時点で識別されてもされなくてもよい。生成されたトークンを次いで、データを共有したいユーザ群に分配することができる。群からのユーザは後に、自分のトークンを用いて、群の他者とデータを共有することができる。前述の通り、ト―クンを用いることによって、ユーザによって共有されるデータは、自分のトークンに関連付けられた暗号鍵を用いて暗号化され、自分のトークンに関連付けられた識別子に対応する記憶場所に記憶される。群の他のメンバに分配されるトークンは、データの記憶に用いられた識別子と同じ識別子も含むので、群のユーザは自らのトークンを用いて、前述の通り、記憶場所から共有データにアクセスすることができる。更に、分配されたトークンに関連付けられた暗号鍵も同じであり、対称暗号鍵であるので、暗号鍵を用いて共有データを復号することができる。このようにして、群のメンバ間でデータを共有することができる。
【００４７】
例えば、会議のトークンの組を生成することができる。各トークンは、それに関連付けられた同じ識別子、及び対称暗号鍵を有する。トークンの組を次いで、会議の出席者に分配して、出席者間のデータの共有を可能にすることができる。出席者は何れも、自らのトークンを用いて、データを暗号化し、分配されたトークンに関連付けられた識別子に対応する記憶場所にデ―タをアップロードすることができる。出席者は、自らのトークンを用いて記憶場所からデータにアクセスすることもできる。
【００４８】
共有する対象のデータは、トークンが生成される際に識別することもできる。データは、トークンに関連付けられた暗号鍵（通常、対称暗号鍵）を用いて暗号化され、トークンに関連付けられた識別子に対応する記憶場所に記憶される。生成されたトークンを次いで、ユーザ群に分配することができる。ユーザ群は次いで、トークンを用いて共有データにアクセスすることができる。群内のユーザは何れも、ユーザのトークンを用いて記憶場所にデータをロードすることもでき、データを次いで、同じ識別子及び暗号鍵のトークンを有する他のユーザによってアクセスすることが可能である。このようにして、トークンは、ユーザ間のデータの共有を可能にする。会議を例として用いれば、会議でのプレゼンタは、会議に先立って、会議において出席者と共有する対象のデータを識別し、トークンの組（それぞれが、プレゼンタによって共有される対象のデータの記憶に用いる同じ暗号鍵及び識別子を備える）を生成することができる。その後、トークンの組は、会議の出席者に配付することができる。その後、出席者は自分のトークンを用いて、記憶場所に記憶されたデータにアクセスすることができる。出席者は、出席者のトークンを用いてデータを暗号化し、記憶場所にデータをアップロードすることもできる。このようにして、出席者とプレゼンタとの間でデータが共有される。
【００４９】
トークンの作成によって、データを記憶し、その後、アクセスすることが可能な記憶場所が作成される。記憶場所は、暗号化データを記憶するか、又は預け入れることができ、暗号化データにアクセスすることができる「ドロップ・ボックス」のようなものである。トークンに関連付けられた識別子を用いて、「ドロップ・ボックス」の場所を識別することができる。トークンに関連付けられた暗号鍵は、ドロップ・ボックスへの「鍵」のようなものであり、鍵は、データをドロップ・ボックスにおいて「ロックする」（暗号化する）ことを可能にし、ドロップ・ボックスからのデータをロック解除する（復号する）ことも可能にする。
【００５０】
前述のトークンは、データを共有するユーザについての情報を含まない。トークンに関連付けられた識別子及び暗号鍵は、トークンのユーザの識別情報について何ら明らかにしない。よって、トークンは、トークンのユーザの匿名性を維持する一方で、データをセキュアに共有することを可能にする。同じ識別子及び暗号鍵を備えたトークンを有する群のユーザは、データを共有するために、互いを知らなくてもよい。共有データにアクセスするユーザは、共有データをアップロードした者が誰であるかを知らないことがあり得る。トークンはよって、信頼できる第三者でない第三者間で、匿名でデータを共有することを可能にする。
【００５１】
同一のトークンの組をユーザ群に供給することによって、ユーザは全て、同じ識別子及び同じ暗号鍵に対するアクセスを有する。識別子は、暗号化された共有データへのポインタを設け、共有データの位置特定及び識別に用いることができる。暗号鍵を用いて共有データを暗号化し、復号することができる。識別子及び暗号鍵の組み合わせは、最小の事前準備で、群のユーザが、暗号化情報を匿名で預け入れ、取り出すことを可能にする。
【００５２】
好ましくは、識別子は大局的に一意であり、推測可能でない。更に、好ましくは、トークンの組に関連付けられた識別子及び暗号鍵は、他の場所でなく、トークン自体に記憶される。よって、トークンへのアクセスを有する者のみが、トークンに関連付けられた識別子に対応する記憶場所に、共有する対象のデータをアップロードすることが可能である。更に、同じ識別子及び暗号鍵を備えたトークンへのアクセスを有する者のみが、記憶された場所からのデータにアクセスし、データを復号することが可能である。このようにして、データが、セキュアに共有される。
【００５３】
前述の通り、同じ識別子及び暗号鍵を有する複数のトークンを生成し、ユーザ群に配布することができる。群のユーザは次いで、自らのトークンを用いて、共有する対象のデータをロードするか、又は共有データにアクセスすることができる。しかし、複数のトークンを生成することは必須でない。一実施例では、単一のトークンを生成することができる。単一のトークンは、共有する対象のデータをロードしたいか、又は、共有データにアクセスしたい複数のユーザ（又は単一のユーザ）によって用いることができる。
【００５４】
図7A及び図7Bは、本発明の実施例によって生成することができるトークンの例を表す。図７Aに示すように、カード７００（や紙やプラスチックやその他の物理媒体）を生成することができる。カード７００は、２つの同一のトークン７０２-A及び７０２-Bを有する。各トークンは、一意の識別子及び対称暗号鍵をコード化したバーコード（QRコード）７０４を備える。カード７００は、線７０６に沿って穿孔して、それぞれがQRコードを備えた物理的に別個の２つのトークンにカードを折るか、又は裂くことを可能にし得る。カードを折ると、トークンン７０２‐Aを第１のユーザに与えることができ、トークン７０２-Bを、第１のユーザとデータを共有したい第２のユーザに与えることができる。例えば、第１のユーザはトークン７０２−Aを用いて、データを暗号化し、トークン７０２−Bを用いて第２のユーザによってアクセスすることが可能な記憶場所にアップロードすることができる。何れのユーザも、共有する対象のデータを預け入れ、自らのトークンを用いて共有データにアクセスすることができる。トークン７０２‐Aもトークン７０２-Bも同じ識別子及び対称暗号鍵を有するからである。同一のトークンの対を2名の個人に供給することによって、2名とも同じ一意の識別子及び同じ暗号鍵へのアクセスを有する。識別子及び暗号鍵の組み合わせは、最小の事前準備で、群のユーザが、暗号化情報を匿名で預け入れ、取り出すことを可能にする。別の実施例では、別個の物理トークンに折ることができるいくつかのトークンによって作成することができる。
【００５５】
図７Bは、同一の２つのトークン７５２-A及び７５２-Bを備える別のカード７５０を表す。各トークンは、一意の識別子７５６及び対称暗号鍵７５８をコード化した情報７５４を備える。カード７５０は、線７６０に沿って裂いて、物理的に別個の独立した２つのトークンを作成することができる。これらのトークンを次いで別々のユーザに供給することができる。各トークンは、トークンのユーザによるマーキングのために設けられた空間７６２も備える。例えば、ユーザは、トークンを用いて共有される、データの記述を書き込むことができる。各トークンは、便利に持ち運ぶことができるようにトークンをキーチェインに取り付けることを可能にするキーホールも備える。
【００５６】
前述の通り、トークンを用いた情報の暗号化及び復号に同じ鍵が用いられるように対称鍵をトークンと関連付けることができる。別の実施例では、公開／秘密鍵対などの鍵対を用いることができる。前述の実施例では、データは、公開鍵を用いて暗号化することができ、秘密に保たれる対の秘密鍵のみを用いて復号することができる。図Aに表すカード７００などのカードを、非同一トークン７０２‐A及び７０２‐Bを用いて作成することができる。トークン７０２-Aと関連付けられた機械読み取り可能なコードは、一意の識別子、及び公開／秘密鍵対の公開鍵をコード化し、トークン７０２-Bと関連付けられた機械読み取り可能なコードは、トークン７０２―Aと同じ一意の識別子、及び公開／秘密鍵対の秘密鍵をコード化することができる。トークン７０２‐Aを次いで、公開鍵を用いて共有データを暗号化し、共有する対象の情報を、識別子に対応する記憶場所にアップロードすることができるユーザに提供することができる。トークン７０２-Bは、記憶場所から共有情報にアクセスし、秘密鍵を用いて復号することができる。別の実施例では、対における鍵をトークン上に印刷することができる。例えば、２つの機械読み取り可能なコードをトークンに印刷することができる。１つは、識別子、及び公開／秘密鍵対の公開鍵をコード化し、別のものは、識別子、及び公開／秘密鍵対の秘密鍵をコード化する。機械読み取り可能なコードの一方をトークンの一方側に印刷し、他方を他方側に印刷することができる。
【００５７】
公開／秘密鍵暗号化は一般に、対称に機能する。すなわち、データがいわゆる公開鍵によって暗号化された場合、秘密鍵を用いてしか復号することが可能でない。あるいは、秘密鍵を用いてデータが暗号化された場合、公開鍵を用いてしか復号することが可能でない。すなわち、公開／秘密鍵対が本発明の実施例において用いられる場合、自らでなく他方のユーザによってしか用いることが可能でないように暗号化されたデ―タを供給することができる。
【００５８】
別の実施例では、鍵対からの鍵を備えたトークンの代わりに、トークンの組における各トークンは、識別子、対称暗号鍵、及び暗号化公開／秘密鍵を示す情報を備える。組におけるトークンの保有者は、同じ鍵対に、トークンを用いてアクセスすることができる。暗号鍵対は、トークンに関連付けられた対称鍵を用いて復号することができる。各トークンの保有者は、鍵対の公開鍵を用いて、データ、及び鍵対の秘密鍵を暗号化してそれを取り出す。この実施例では、トークンに関連した対称鍵は、公開／秘密鍵の復号にしか用いられない。この実施例では、秘密鍵を用いて、記憶場所に記憶される文書を暗号化することが可能である。公開鍵及び文書識別子は、文書全てを読み取り、復号することが可能であるが、新たな文書を追加することが可能でない他のユーザに配布することが可能である。対称鍵を有するもののみが、秘密鍵へのアクセスを有し、新たな暗号化文書をアップロードすることが可能である。
【００５９】
別の実施例では、トークン所有者は、秘密のパスワードを選ぶことができ、共有されるデータは、やはりそのパスワードを用いて暗号化することができるので、個人は、共有データにアクセスするために、識別子及び暗号鍵を備えたトークン、並びにパスワードにアクセスしなければならなくなる。
【００６０】
本発明の実施例によれば、暗号化された共有データの記憶に加えて、共有データに関連付けられたメタデータも記憶することができる。メタデータは暗号化形式で記憶することができる。メタデータは、共有データに関する情報（共有オブジェクトのマイム(mime)タイプ、共有デ―タに関するタグ、並びに、データの後続バージョン及び選考バージョンへのポインタなど）を備えることができる。メタデータは、文書を要求する代わりにメタデータを要求することによって、同じ記憶場所にある文書識別子を用いてアクセスすることができる。
【００６１】
例えば、一実施例では、共有データは、暗号鍵を用いて暗号化され、次いで、共有することが可能な場所に記憶される文書に記憶することができる。暗号ハッシュ（例えば、１２８ビット暗号ハッシュ）は暗号化文書ビットから算出することができ、ハッシュは、一意の識別子としての役目を担い得る。暗号化文書は次いで、ハッシュを識別子として用いて記憶される。文書に関連付けられたメタデータも暗号化され、文書とともに記憶される。ハッシュ識別子、及び文書の暗号化に用いる暗号鍵を備えた１つ又は複数のトークンを生成することができる。
【００６２】
ハッシュ識別子及び暗号鍵を備えたトークンを用いて、共有情報の新たなバージョンをアップロードすると、共有データを備えた新たなバージョンが作成され、新たな文書が暗号鍵を用いて暗号化される。新たなハッシュ識別子を次いで、暗号化された新たな文書について算出し、新たな情報が、新たな識別子を用いて記憶される。この新たに計算された識別子が、文書の「次」バ―ジョンとして先行して記憶された文書のメタデータに追加される。文書の最も直近の既知バージョン、又は探しているバージョンを個人が見つけるまで、記憶された文書バージョンのメタデータを用いて、元のトークンを備えた個人が「次」ポインタをたどることが可能であるように、同じ暗号鍵を用いて文書の全バージョンを暗号化することが好都合である。暗号鍵を用いて、最も直近で暗号化された文書バージョンを復号することができる。
【００６３】
一実施例では、暗号化文書の第１のバージョンは、情報を含んでいないか、又は、文書の作成者に関する特定情報などの情報を含んでいるプレースホルダとして機能することができる。文書の第１のバージョンにおけるデータのコンテンツにかかわらず、文書の識別子が一意に算出される。例えば、日付及び時刻、並びに更なるランダムな列と連結された、選ばれた暗号鍵の暗号ハッシュとして識別子を算出することができる。算出された識別子、及び暗号鍵を備えた１つ又は複数の同一のトークンを次いで生成することができる。
【００６４】
共有する対象のデータをアップロードしようとする個人は、トークンからの暗号鍵を用いて共有データを暗号化させるトークンを用いることができる。新たな識別子は、共有する対象の暗号化データに基づいて算出され、新たな識別子に対応する暗号化データが記憶され、新たなポインタが。トークンに関連付けられ、当初のプレースホルダ文書を示す元の識別子に関連付けられたメタデータに「次」ポインタ（又は次ポインタの１つ）として追加される。共有データにアクセスしたい個人は、同じ識別子（すなわち、元の識別子）及び暗号鍵を備えたトークンを用い、それにより、アプリケーション（図1に表すトークン・プロセッサ１０２など）が、トークンから読み出された元の識別子を使用し、プレースホルダ文書及びそのメタデータにアクセスし、メタデータにおける「次」ポインタをたどって共有文書の所望の暗号化バージョンにアクセスするようにすることができる。次いで、トークンから読み出された暗号鍵を用いて、所望の暗号化バージョンにアクセスし、所望の暗号化バージョンを復号することができる。
【００６５】
図８は、種々のバージョンの共有データを記憶することができる実施例において、トークンを生成してデータを共有する方法を表す単純化された概略レベルのフローチャート８００である。図８に表す方法は、プロセッサによって実行されるソフトウェア・モジュール（コード・モジュール若しくは命令）、ハードウェア・モジュール、又はそれらの組み合わせによって行うことができる。例えば、方法は、図1に表すトークン・プロセッサ１０２によって行うことができる。図8に表すフローチャート８００は、本発明の実施例を例証しているに過ぎず、本発明の範囲を限定することを意図するものでない。他の変形、修正及び代替も本発明の範囲内に収まる。図8に表す方法は、種々の実現上の制約で機能するよう適合させることができる。
【００６６】
図８に表すように、新たなトークンを生成する旨の要求を受け取ると処理を起動させることができる（工程８０２）。生成する対象のトークンと関連付ける対象の一意の識別子を生成することができる（工程８０４）。８０４で生成される識別子は、共有データの識別及びアクセスに用いることが可能であるようなものである。一実施例では、識別子は、乱数発生器によって発生させたデータのランダムなストリームのハッシュとして算出することができる。８０４で、他の手法を用いて一意の識別子を生成することもできる。生成する対象のトークンと関連付けられる対象の一意の対称暗号鍵も作成される（工程８０６）。
【００６７】
次いで、８０４で生成された一意の識別子を用いてアクセスすることが可能な空レコードが作成される（工程８０８）。作成される空レコードは、文書であり得る。８０８で作成された空レコードのメタデータも記憶される（工程８１０）。メタデータは、共有データの次バージョンを示す情報を含み得る。例えば、メタデータは、共有データの次バージョンを示すために用いることができる「次の」情報を含み得る。当初、記憶される共有データは存在しないので、空レコードのメタデータ「次」ポインタはヌルにセットされる。一実施例では、メタデータは、８０６で生成された暗号鍵を用いて暗号化され、暗号化メタデータが記憶される。
【００６８】
１つ又は複数のトークン（ディジタル・トークン又は物理トークン）が次いで生成され、各トークンは、８０４で生成された一意の識別子、及び８０６で作成された暗号鍵を備える（工程８１２）。前述の通り、種々の手法を、識別子及び暗号鍵情報をトークンと関連付けるために用いることができる。例えば、ＱＲコードは、一意の識別子及び暗号鍵をコード化して作成することができ、ＱＲコードは各トークン（ディジタル・トークン又は物理トークン）と関連付ける（例えば、印刷する）ことができる。物理トークンは、図7Ａ及び図7Bに表す例を含む種々の形態で作成することができる。８１２で生成されたトークンを次いで、データを共有したいユーザ群に分配することができる。群からのユーザは、トークンを用いて、共有する対象のデータをロードするか、又は共有データにアクセスすることができる。
【００６９】
作成される空レコードは、種々のバージョンの共有データを記憶し、その共有データにアクセスするために用いることができるプレースホルダとして機能する。共有データが、トークン（すなわち、共有データの最初のバージョン）を用いて初めてアップロードされると、第１のバージョンが、トークンからの暗号鍵を用いて暗号化される。共有データの最初の暗号化バージョンが、新たに作成されたレコードに記憶される。生成された識別子を用いて、新たなレコードがアクセス可能であるように、新たなレコードの新たな識別子が生成される。新たに生成されたレコードのメタデータ情報が記憶される。メタデータ情報は、トークンと関連付けられた暗号鍵を用いて暗号化することができる。空レコードに関連付けられたメタデータにおける「次」ポインタは、新たなレコードを示すよう変更される。これは、一実施例において、新たなレコードについて新たに生成された識別子に、空レコードのメタデータにおける「次の」情報をセットすることによって行うことができる。新たな識別子はよって、新たなレコードに対するリンク又はポインタを備える。新たなレコードに関連付けられたメタデータにおける「次」ポインタは、ヌルにセットされる。このようにして、一種のリンクされたリストが作成される。空レコードは、リスト内の第１のノードであり、アップロードされたバージョン（「最新」バージョンである）は、空レコードのメタデータが示すレコードに記憶される。共有データのより新たなバージョンがアップロードされると、新たに追加されたバージョン毎に、新たなレコードが作成され、新たな識別子が、新たに作成されたレコードについて算出され、先行してアップロードされたバージョンを記憶しているレコードに関連付けられたメタデータにおける「次の」情報が、新たに算出された識別子にセットされ、それにより、最新バージョンを記憶するレコードに先行バージョンを記憶するレコードからのポインタが作成される。リンクされたリストにおける最後のレコードは、共有データの最新バージョンを記憶する。
【００７０】
トークンを次いで用いて、記憶されたデータの最新バージョンにアクセスすることができる。トークンは、リンクされたリストにおける第１のレコード（すなわち、空レコード）へのアクセスを可能にし、メタデータ・ポインタを次いで用いて、リンクされたレコード・リストを、共有データの最新バージョンを記憶する最終レコードまで横断することができる。トークンからの暗号鍵を次いで用いて、最新バージョンのデータにアクセスし、復号することができる。
【００７１】
一実施例では、リンクされたリストでなく、トークン内の元の識別子のメタデータにおける文書識別子のリストを記憶することによって識別子においてデータ収集体を記憶することができる。例えば、新たな文書をユーザが共有したい際にはその都度、トークン上の暗号鍵を用いて文書が暗号化され、次いで、新たな文書識別子が算出又は生成される。暗号化文書は、新たな識別子によって規定される場所にアップロードされる。新たな識別子は、トークン内の識別子のメタデータに記憶された文書識別子のリストに追加される。収集体における識別子は、やはり、トークンにある暗号鍵を用いて暗号化することが可能である。
【００７２】
図9は、種々のバージョンの共有データを記憶することができる実施例において、トークンを用いて、共有する対象のデータをアップロードする方法を表す単純化された概略レベルのフローチャート９００である。図9に表す方法は、プロセッサによって実行されるソフトウェア・モジュール（コード・モジュール若しくは命令）、ハードウェア・モジュール、又はそれらの組み合わせによって行うことができる。例えば、方法は、図1に表すトークン・プロセッサ１０２によって行うことができる。図9に表すフローチャート９００は、本発明の実施例を例証しているに過ぎず、本発明の範囲を限定することを意図するものでない。他の変形、修正及び代替も本発明の範囲内に収まる。図9に表す方法は、種々の実現上の制約で機能するよう適合させることができる。
【００７３】
図９に表すように、アップロードし、共有データとして利用可能にされる対象のデータを識別する情報を受け取ることができる（工程９０２）。データのアップロードに用いられる情報がトークンから得られる（工程９０４）。例えば、トークンに関連付けられた機械読み取り可能なコードは、９０４で、トークン読み取り器によって読み取ることが可能である。識別子及び暗号鍵を次いで、９０４でトークンから得られた情報から判定する（工程９０６）。
【００７４】
９０２で識別されたデータを次いで、９０６で判定された暗号鍵を用いて暗号化して、暗号化された共有データを生成する（工程９０８）。次いで、新たなレコードが作成され、暗号化データが、新たに作成されたレコードに記憶される（工程９１０）。新たなレコードは、暗号化された共有データを記憶する文書であり得る。新たな一意の識別子が次いで、９１０で作成された新たなレコードについて計算される（工程９１２）。一実施例では、一意の識別子が、新たなレコードの暗号化されたコンテンツの暗号ハッシュを算出することによって生成することができる。９１０で作成された新たなレコードは、９１２で計算された識別子を用いてアクセスすることが可能であるように記憶される（工程９１４）。メタデータが、新たなレコードについて記憶される（工程９１６）。
【００７５】
暗号化された新たな共有データを記憶する新たなレコードをアップロードするための処理が行われる。次いで、９０６で判定された一意の識別子（すなわち、トークンから得られた識別子）に対応するレコードにアクセスする（工程９１８）。レコードの形式は、一意の識別子が示す文書の形式であり得る。アクセスされたレコードに関連付けられたメタデータが読み取られる（工程９２０）。一実施例では、メタデータを暗号化することができ、９０６でトークンから判定された暗号鍵を用いてメタデータを復号することができる。
【００７６】
アクセスされたメタデータに含まれる「次の」情報が、ヌルであるか、又は記憶された別のレコードを示しているか否かをみるための検査を次いで行う。「次の」ポインタがヌルの場合、それは、リンクされたレコード・リストにおける最後のレコードに達したことを示す。この最後のレコードは、共有データの最も直近でアップロードされたバージョンを記憶する。「次」ポインタがヌルでない場合、それは、リンクされたリスト内の最後のレコードに達していないことを示しており、最後のレコードに達するまで、リンクされたレコード・リストを横断する。
【００７７】
よって、メタデータ内の「次の」情報がヌルでない場合、「次の」ポインタが示すレコードにアクセスする（工程９２４）。一実施例では、「次」情報は、レコードを識別し、レコードにアクセスするために用いる識別子を識別する。処理は次いで９２０に戻る。９２０では、新たにアクセスされたレコードに関連付けられたメタデータが読み取られる。９２２によれば、アクセスされたメタデータに関連付けられたヌル・ポインタがヌルにセットされたかをみるための検査が行われる。このようにして、最後のレコード（「次の」情報をヌルにセットさせたメタデータを備えたレコード）に達するまで工程９２０、９２２及び９２４が繰り返される。
【００７８】
最後のレコードに達すると、最後のレコードに関連付けられたメタデータにおける「次の」情報が、９１０で作成された新たなレコードを示すよう更新される（工程９２６）。これは、９１２で算出された新たな識別子に、最後にアクセスされたレコードのメタデータの「次の」情報をセットすることによって達成することができる。このようにして、「次の」情報は、新たなレコードを示す。新たに作成されたレコードに関連付けられたメタデータにおける「次の」情報をヌルにセットし（工程９２８）、それにより、その場合、リンクされたレコード・リストにおける最後のレコードであることを示し、データの最新バージョンを記憶する。レコードに関連付けられたメタデータは、トークンから得られた暗号鍵を用いて暗号化することができる。バージョンを識別する情報は、新たに作成されたレコードに関連付けられたメタデータに記憶することもできる。
【００７９】
前述の通り、特定の識別子及び暗号鍵を備えたトークンを用いて、共有データの新たなバージョンがアップロードされる際にその都度、新たなレコードが作成され、追加される。アップロードは、種々のユーザによって行うことができる。アップロードは、同じトークン又は別のトークン（全て同じ識別子及び暗号鍵を有する）を用いて行うことができる。データベース処理及びバージョン・コントロール・システムに精通している者は、同じレコードのメタデータにおける次のポインタを別々の二ユーザが同時に更新しようとしないことが重要であることを認識するであろう。すなわち、何れのユーザも文書の新たなバージョンを同時にアップロードし、同じヌル・ポインタを見つけ、何れも、別々の識別子へのヌル・ポインタを同時に変更しようとすることがあり得る。このことが生じた場合、最後に変更を書き込んだユーザの変更の書き込みが首尾良く行われ、最初のユーザの変更は失われる。アトミック処理や書き込みロッキングを含む衝突などを避けるためのいくつかのやり方が存在している。例えば、ヌル・ポインタを求めて検査し、新たな識別子値に更新する処理が、一工程で行われたアトミック処理であった場合、二ユーザが同時に検査し、更新することは可能でない。一実施例では、次の複数のポインタを、リンクされたリストにおいて可能にし得る。このことは、文書バージョンが分岐することを可能にすることになるが、文書を全て失うよりも許容可能であり得る。
【００８０】
図10A、図10B及び図10Cは、本発明の実施例による、トークンを用いた、共有データのより新たなバージョンのアップロードに伴うリンクされたレコード・リストの推移を表す。図１０Aに表すように、トークンが最初に作成されると、トークンに関連付けられた識別子(ID0)に対応する空レコード１００２を作成することができる。特定の実施例では、レコード１００２は、空きでないことがあり得るが、記録が作成された時点、記録作成者等などの情報を保持することができる。「次の」情報及び「前の」情報を含む、空レコード１００２のメタデータ１００４も記憶される。「次の」情報は、レコード・リストにおける次のレコードを示すために用いられ、「前の」情報は、リスト内の先行レコードを示すために用いられる。「次の」情報及び「前の」情報は、ヌルにセットされる。
【００８１】
図１０Bは、１０Aでレコードを作成するために用いられた同じ識別子及び暗号鍵を含むトークンを用いて、共有されたデータの最初のバージョンがアップロードされた時点のレコード・リストを表す。最初のバージョンは、トークンから読み出された暗号鍵を用いて暗号化される。暗号化データを記憶するための新たなレコード１００６が作成される。新たなレコード１００６に対する新たな識別子(ID1)が作成される。新たなレコード１００６に対するメタデータ１００８も記憶される。レコード１００２に関連付けられたメタデータ１００４における「次の」情報をID1にセットし、それによって、新たなレコード１００６を示す。新たなレコード１００６に関連付けられたメタデータ１００８における「次の」情報がヌルにセットされる。メタデータ１００８における「前の」情報をID0にセットし、それにより、レコード・リスト内の先行レコード１００２を示す。レコード１００６は次いで、暗号化形式のトークンを用いてアップロードされた共有データの最新バージョンを記憶する。
【００８２】
図１０Cは、トークンを用いて共有データの第２のバージョンがアップロードされた時点のレコードのリストを表す。第２のバージョンが、トークンから読み出された暗号鍵を用いて暗号化される。暗号化データを記憶するための新たなレコード１０１０が作成される。新たなレコード１０１０に対する新たな識別子(ID2)が作成される。レコード１００６に関連付けられたメタデータ１００８における「次の」情報をID2にセットし、それにより、新たなレコード１０１０を示す。新たなレコード１０１０に関連付けられたメタデータ１０１２における「次の」情報がヌルにセットされる。メタデータ１０１２における「前の」情報をID1にセットし、それにより、レコード・リスト内の先行レコード１００６を示す。レコード１０１０は次いで、暗号化形式のトークンを用いてアップロードされた共有データの最新バージョンを記憶する。
【００８３】
このようにして、共有データの複数のバージョンを、同じ識別子及び暗号鍵を有するトークンを用いてアップロードすることができる。一実施例では、レコードによって記憶される共有データの特定のバージョンを識別する情報を、そのレコードに関連付けられたメタデータに記憶することもできる。
【００８４】
トークンを用いて、共有データの最新バージョンにアクセスすることもできる。図１１は、本発明の実施例による、トークンを用いて共有データの最新バージョンにアクセスする方法を表す単純化された概要レベルのフローチャート１１００である。図11に表す方法は、プロセッサによって実行されるソフトウェア・モジュール（コード・モジュール若しくは命令）、ハードウェア・モジュール、又はそれらの組み合わせによって行うことができる。例えば、方法は、図1に表すトークン・プロセッサ１０２によって行うことができる。図11に表すフローチャート１１００は、本発明の実施例を例証しているに過ぎず、本発明の範囲を限定することを意図するものでない。他の変形、修正及び代替も本発明の範囲内に収まる。図11に表す方法は、種々の実現上の制約で機能するよう適合させることができる。
【００８５】
図１１に表すように、共有データをアクセスするために用いられるトークンから情報を得ることができる（工程１１０２）。識別子及び暗号鍵を、１１０２で得られた情報から判定する（工程１１０４）。１１０２で判定された一意の識別子に対応するレコードにアクセスする（工程１１０６）。アクセスされたレコードに関連付けられたメタデータが読み取られる（工程１１０８）。一実施例では、メタデータを暗号化することができ、１１０２でトークンから判定された暗号鍵を用いてメタデータを復号することができる。
【００８６】
アクセスされたメタデータに含まれる「次の」情報が、ヌルであるか、又は記憶された別のレコードを示しているか否かをみるための検査を次いで行う(工程１１１０)。「次の」ポインタがヌルの場合、それは、最後のレコードに達したことを示す。この最後のレコードは、共有データの最も直近でアップロードされたバージョンを記憶する。「次」ポインタがヌルでない場合、それは、リンクされたリスト内の最後のレコードに達していないことを示し、最後のレコードに達するまで、リンクされたレコード・リストを横断する。よって、メタデータ内の「次の」情報がヌルでないことが１１１０で判定された場合、「次の」ポインタが示すレコードにアクセスする（工程１１１２）。一実施例では、「次の」情報は、次いでアクセスされるレコードを示す識別子を識別する。処理は次いで１１０８に戻る。１１０８では、アクセスされたレコードに関連付けられたメタデータが読み出される。１１１０によれば、アクセスされたメタデータに関連付けられたヌル・ポインタがヌルにセットされたかをみるための検査が行われる。このようにして、最後のレコード（レコードに関連付けられたメタデータにおける「次の」情報が、ヌルにセットされる）に達するまで工程１１０８、１１１０及び１１１２が繰り返される。
【００８７】
最後のレコードは、共有データの最も直近のバージョンを暗号化形式で記憶する。最後のレコードからの暗号化データは、１１０４で判定された暗号鍵を用いて復号される（工程１１１４）。復号情報は次いで、情報にアクセスしようとするトークン保有者にアクセス可能にされる（工程１１１６）。
【００８８】
上記実施例では、レコードに関連付けられたメタデータに記憶された識別子情報を、トークンに関連付けられた暗号鍵を用いて暗号化することができる。処理中、この情報は、トークンから読み取られた暗号鍵を用いて復号することができる。一実施例では、暗号化は全て、トークンに関連付けられた対称鍵を用いて行うことができる。対称鍵を次いで用いて復号全てを行うこともできる。
【００８９】
任意的には、２つのトークン所有者はパスワードに同意することができ、パスワードを、更なるセキュリティ層として用いることができる。この実施例では、識別子及び暗号鍵に加えて、共有データにアクセスするためにパスワードも必要である。
【００９０】
図１２は、本発明の実施例による、処理を行うために用いることができるデータ処理システム１２００の単純化されたブロック図である。例えば、図1に示すように、データ処理システム１２００は、図１に表すコンピュータ・システム１０４としての役目を担うことができる。図１２に示すように、データ処理システム１２００は、バス・サブシステム１２０４を介して、いくつかのサブシステムと通信するプロセッサ１２０２を含む。前述のサブシステムは、記憶サブシステム１２０６（メモリ・サブシステム１２０８及びファイル保管サブシステム１２１０を有する）と、ユーザ・インタフェース入力装置１２１２と、ユーザ・インタフェース出力装置１２１４と、ネットワーク・インタフェース・サブシステム１２１６とを含み得る。
【００９１】
バス・サブシステム１２０４は、意図したようにコンピュータ・システム１２００の種々の構成部分及びサブシステムに互いに通信させる機構を提供する。バス・サブシステム１２０４を単一バスとして略示しているが、バス・サブシステムの別の実施例は、複数のバスを利用することができる。
【００９２】
ネットワーク・インタフェース・サブシステム１２１６は、他のコンピュータ・システム、ネットワーク及び装置とのインタフェースを提供する。ネットワーク・インタフェース・サブシステム１２１６は、データ処理システム１２００からの他のシステムとの間でデータを送受信するためのインタフェースとしての役目を担う。例えば、ディジタル・トークンは、ネットワーク・インタフェース・サブシステム１２１６を用いてデータ処理システム１２００との間で通信することができる。ネットワーク・インタフェース・サブシステム１２１６の実施例は通常、イーサネット（登録商標）カード、モデム（電話、衛星、ケーブル、ＩＳＤＮ）、（非同期）ディジタル加入者線（ＤＳＬ）装置、ファイヤワイヤ・インタフェース、ＵＳＢインタフェース等を含む。例えば、インタフェース１２１６は、コンピュータ・ネットワーク、ファイヤワイヤ・バス等に結合することができる。他の実施例では、インタフェース１２１６は、データ処理システム１２００のマザーボード上に物理的に一体化されていてもよく、ソフトＤＳＬなどのソフトウェア・プログラム等であってもよい。
【００９３】
ユーザ・インタフェース入力装置１２１２は、キーボード、ポインティング・デバイス（マウス、トラックボール、タッチパッドやグラフィック・タブレットなど）、スキャナ、バーコード・スキャナ、ディスプレイに組み入れたタッチスクリーン、オーディオ入力装置（音声認識システム、マイクロフォンやその他のタイプの入力装置など）を含み得る。一般に、「入力装置」の語の使用は、情報をデータ処理システム１２００に入力するための装置及び機構の考えられる全てのタイプ全てを含むことを意図している。ユーザは、入力装置１２１２を用いて、タスク（共有するデータの識別、要求の生成等）を行うことができる。
【００９４】
ユーザ・インタフェース出力装置１２１４は、ディスプレイ・サブシステム、プリンタ、ファックス・マシンや非視覚ディスプレイ（オーディオ出力装置等）を含み得る。ディスプレイ・サブシステムは、陰極線管（ＣＲＴ）、フラットパネル装置（液晶ディスプレイ（ＬＣＤ）など）や、投影装置であり得る。一般に、「出力装置」の語の使用は、データ処理システム１２００からの情報を出力する考えられるタイプの装置及び機構全てを含むことを意図している。ディジタル・トークンを、出力装置１２１４を介して表示することができる。
【００９５】
記憶サブシステム１２０６は、本発明の機能を提供する基本プログラミング及びデータ構成を記憶するよう構成することができる。プロセッサによって実行されると本発明の機能を提供するソフトウェア（例えば、コード・モジュール又は命令）は、記憶サブシステム１２０６に記憶することができる。前述のソフトウェア・モジュール又は命令はプロセッサ１２０２によって実行することができる。記憶サブシステム１２０６は、本発明によって用いるデータを記憶するレポジトリを提供することもできる。例えば、ディジタル・トークンを記憶サブシステム１２０６によって記憶することができる。記憶サブシステム１２０６は、メモリ・サブシステム１２０８、及びファイル／ディスク記憶サブシステム１２１０を備えることができる。
【００９６】
メモリ・サブシステム１２０８は、プログラム実行中の命令及びデータの記憶のための主ランダム・アクセス・メモリ（ＲＡＭ）１２１８、及び、固定命令が記憶されるリード・オンリ・メモリ（ＲＯＭ）１２２０が記憶されるいくつかのメモリを含み得る。ファイル記憶サブシステム１２１０は、プログラム及びデータ・ファイルの永続的な（不揮発の）記憶装置を提供し、ハードウェア・ディスク・ドライブ、フロッピー（登録商標）・ディスク・ドライブ及び関連した取り外し可能な媒体、コンパクト・ディスク・リード・オンリー・メモリ（ＣＤ−ＲＯＭ）ドライブ、光ドライブ、取り外し可能なメディア・カートリッジや、その他の同様な記憶媒体を含み得る。
【００９７】
データ処理システム１２００は、パソコン、ポータブル型コンピュータ、ワークステーション、ネットワーク・コンピュータ、汎用コンピュータ、キオスクや何れかの他のデータ処理システムを含む各種のデータ処理システムであり得る。コンピュータ及びネットワークが絶え間なく変化する性質から、図１２に表すデータ処理システム１２００の説明は、コンピュータ・システムの好ましい実施例を例証する目的のための具体例であることのみを意図している。図１２に表すシステムよりも構成部分が多い構成、又は図１２に表すシステムよりも構成部分が少ない構成が考えられる。
【００９８】
本発明の特定の実施例を説明してきたが、種々の修正、改変、別の構成、及び均等物も本発明の範囲内に包含される。前述の発明は、ある特定のデータ処理環境内の作用に制限されず、複数のデータ処理環境内で自由に作用することができる。更に、本発明は、特定の一連の取引及び工程を用いて説明してきたが、本発明の範囲が前述の一連の取引及び工程に限定されないことは当業者に明らかなはずである。
【００９９】
更に、本発明は、ハードウェア及びソフトウェアの特定の組み合わせを用いて説明してきたが、ハードウェア及びソフトウェアのその他の組み合わせも本発明の範囲内にある。本発明は、ハードウェア、ソフトウェア、又はそれらの組み合わせを用いて実現することができる。
【０１００】
本明細書及び図面はよって、限定的な意味合いでなく例証的な意味合いで解するものとする。しかし、加算、減算、削除やその他の修正及び変更をそれに対して、特許請求の範囲記載の本発明の更に広い趣旨及び範囲から逸脱しない限り、行うことができる。
【図面の簡単な説明】
【０１０１】
【図１】本発明の実施例による、トークンを生成し、用いるシステムの単純化されたブロック図である。
【図２】本発明の実施例による、トークンを生成する方法を表す単純化された概略レベルのフローチャートである。
【図３】本発明の実施例による、トークンを用いて共有する対象のデータを識別することなくトークンを生成する方法を表す単純化された概要レベルのフローチャートである。
【図４】本発明の実施例による、先行して生成されたトークンを用いてデータを共有する方法を表す単純化された概略レベルのフローチャートである。
【図５】本発明の実施例による、生成されたトークンを用いて共有データにアクセスする方法を表す単純化された概略レベルのフローチャートである。
【図６】本発明の実施例による、トークン・プロセッサの種々のモジュールを表す単純化されたブロック図である。
【図７Ａ】本発明の実施例によって生成することができるトークンの例を表す図である。
【図７Ｂ】本発明の実施例によって生成することができるトークンの例を表す図である。
【図８】種々のバージョンの共有データを記憶することができる実施例において、トークンを生成してデータを共有する方法を表す単純化された概略レベルのフローチャートである。
【図９】種々のバージョンの共有データを記憶することができる実施例において、トークンを用いて、共有する対象のデータをアップロードする方法を表す単純化された概略レベルのフローチャートである。
【図１０Ａ】本発明の実施例による、トークンを用いて、新たなバージョンの共有データがアップロードされるにつれての、リンクされたレコード・リストの推移を表す図である。
【図１０Ｂ】本発明の実施例による、トークンを用いて、新たなバージョンの共有データがアップロードされるにつれての、リンクされたレコード・リストの推移を表す図である。
【図１０Ｃ】本発明の実施例による、トークンを用いて、新たなバージョンの共有データがアップロードされるにつれての、リンクされたレコード・リストの推移を表す図である。
【図１１】発明の実施例による、トークンを用いて、最新バージョンの共有データにアクセスする方法を表す単純化された概略レベルのフローチャートである。
【図１２】本発明の実施例による、処理を行うために用いることができるデータ処理システムの単純化されたブロック図である。
【符号の説明】
【０１０２】
１０２  トークン・プロセッサ
１０４  コンピュータ・システム
１０６  記憶場所
１０８  ディジタル・トークン
１１０  物理トークン
１１２  プリンタ
１１４  トークン読み取り器
１１６  トークン
【図１】
2008257720.tif 000003
【図２】
2008257720.tif 000004
【図３】
2008257720.tif 000005
【図４】
2008257720.tif 000006
【図５】
2008257720.tif 000007
【図６】
2008257720.tif 000008
【図７Ａ】
2008257720.tif 000009
【図７Ｂ】
2008257720.tif 000010
【図８】
2008257720.tif 000011
【図９】
2008257720.tif 000012
【図１０Ａ】
2008257720.tif 000013
【図１０Ｂ】
2008257720.tif 000014
【図１０Ｃ】
2008257720.tif 000015
【図１１】
2008257720.tif 000016
【図１２】
2008257720.tif 000017