(57)【要約】コンテンツ管理システムは、クライアントインストーラとユーザアカウントとをリンクする情報タグでクライアントインストーラをタグ付けしてもよい。クライアントインストーラは、クライアントデバイスにクライアント側アプリケーションをインストールし、識別タグをインストールされたクライアント側アプリケーションに渡すよう構成されてもよい。クライアント側アプリケーションは識別タグをコンテンツ管理システムに送信し、コンテンツ管理システムは識別タグを使用してリンクされたユーザアカウントを特定し、クライアント側アプリケーションにそのユーザアカウントへログインさせてもよい。コンテンツ管理システムは、識別タグの使用回数制限や識別タグの使用可能時期の制限や識別タグを使用可能なＩＰアドレスの制限などのいくつかの検証基準を実装してもよい。コンテンツ管理システムは、ウェブブラウザアプリケーションによってキャッシュされたデータを使用して、ウェブブラウザアプリケーションが過去にユーザアカウントにアクセスするために使用されたかを判定してもよい。【選択図】図５Ｂ
2016533604.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサが、クライアントデバイスにクライアント側アプリケーションをインストールするためのインストール要求を受け付けることであって、前記インストール要求はユーザアカウントに関連付けられることと、
前記インストール要求の識別タグを生成することと、
前記識別タグでタグ付けされたクライアントインストーラを前記クライアントデバイスに送信することであって、前記クライアントインストーラは前記クライアントデバイスに前記クライアント側アプリケーションをインストールするよう構成されることと、
前記識別タグを含む予備認証要求を受け付けると、前記クライアント側アプリケーションが前記ユーザアカウントにアクセスすることを認可することと、を含む方法。
【請求項２】
前記インストール要求は前記クライアントデバイスで実行されるウェブブラウザアプリケーションから送られる請求項１に記載の方法。
【請求項３】
前記クライアントインストーラはさらに前記ウェブブラウザアプリケーションを特定するウェブブラウザ識別子でタグ付けされる請求項２に記載の方法。
【請求項４】
前記プロセッサはコンテンツ管理システム上にあり、前記クライアントインストーラはさらに、
認証キーを生成し、
前記クライアント側アプリケーションの前記クライアントデバイスへのインストールが成功すると、前記ウェブブラウザアプリケーションに、前記コンテンツ管理システムへ認証メッセージを送信させるよう構成される請求項２に記載の方法。
【請求項５】
前記認証メッセージは、
前記ウェブブラウザアプリケーションによってキャッシュされたデータと、
前記識別タグと、
前記認証キーと、を備える請求項４に記載の方法。
【請求項６】
前記クライアントデバイスから前記認証メッセージを受け付けることと、
前記認証キーと前記インストール要求とを関連付けることと、をさらに含む請求項４に記載の方法。
【請求項７】
前記予備認証要求はさらに前記認証キーを含む請求項４に記載の方法。
【請求項８】
予備認証インデックスにエントリを作成することとをさらに含み、
前記エントリは、
前記識別タグと、
前記ユーザアカウントを特定するアカウント識別子と、
前記識別タグの生成時刻と、
ネットワークアドレスと、を含む請求項１に記載の方法。
【請求項９】
前記識別タグの前記生成時刻から所定の時間内に前記予備認証要求が受け付けられた場合に前記識別タグは期限切れでないと判定することをさらに含む請求項８に記載の方法。
【請求項１０】
前記予備認証要求が要求元ネットワークアドレスから受け付けられたときのその要求元ネットワークアドレスを特定することと、
前記要求元ネットワークアドレスが前記予備認証インデックスの前記エントリの前記ネットワークアドレスとマッチする場合に前記識別タグは認証されたネットワークアドレスから受け付けられたと判定することと、をさらに含む請求項８に記載の方法。
【請求項１１】
前記予備認証インデックスの前記エントリに含まれる前記ネットワークアドレスは、前記インストール要求がネットワークアドレスから受け付けられたときのそのネットワークアドレスである請求項１０に記載の方法。
【請求項１２】
前記識別タグが過去に前記クライアント側アプリケーションを予備認証するために使用されていないと判定することであって、前記識別タグは前記クライアント側アプリケーションを予備認証するために一度だけ使用可能であることをさらに含む請求項８に記載の方法。
【請求項１３】
前記クライアント側アプリケーションが前記ユーザアカウントにアクセスすることを認可すると、前記識別タグが前記クライアント側アプリケーションを予備認証するために使用されたことを示すよう、前記予備認証インデックスの前記エントリにフラグを立てることをさらに含む請求項１２に記載の方法。
【請求項１４】
プロセッサと、
クライアントデバイスにクライアント側アプリケーションをインスト−ルするためのインストール要求を受け付ける手段と、
前記インストール要求がユーザアカウントに関連付けられていると判定する手段と、
前記インストール要求の識別タグを生成する手段と、
前記識別タグでタグ付けされたクライアントインストーラを前記クライアントデバイスに送信する手段であって、前記クライアントインストーラは前記クライアントデバイスに前記クライアント側アプリケーションをインストールするよう構成される手段と、
前記識別タグを含む予備認証要求を受け付ける手段と、
前記識別タグが生成されてから所定の時間内に前記予備認証要求が受け付けられたことを判定する手段と、
前記クライアント側アプリケーションが前記ユーザアカウントにアクセスすることを認可する手段と、を備えるコンテンツ管理システム。
【請求項１５】
前記識別タグが生成されてから所定の時間内に前記予備認証要求が受け付けられたことを判定することは、
前記予備認証要求が受け付けられた要求時刻と前記識別タグの前記生成時刻とを比較することを含む請求項１４に記載のコンテンツ管理システム。
【請求項１６】
インストラクションを含む非一時的コンピュータ可読媒体であって、該インストラクションは計算デバイスによって実行された場合、前記計算デバイスに、
クライアントデバイスにクライアント側アプリケーションをインスト−ルするためのインストール要求を受け付けることと、
前記インストール要求が第１ユーザアカウントおよび第２ユーザアカウントに関連付けられていることを判定することと、
前記インストール要求の識別タグを生成することと、
前記識別タグでタグ付けされたクライアントインストーラを前記クライアントデバイスに送信することであって、前記クライアントインストーラは前記クライアントデバイスに前記クライアント側アプリケーションをインストールするよう構成されることと、
前記識別タグを含む予備認証要求を受け付けることと、
少なくともひとつの検証基準が満たされていることを判定することと、
前記クライアント側アプリケーションが前記第１ユーザアカウントおよび前記第２ユーザアカウントにアクセスすることを認可することと、を行わせる非一時的コンピュータ可読媒体。
【請求項１７】
前記少なくともひとつの検証基準は前記識別タグが前記クライアント側アプリケーションを予備認証するためにまだ使用されていないことである請求項１６に記載の非一時的コンピュータ可読媒体。
【請求項１８】
前記少なくともひとつの検証基準は前記識別タグが期限切れでないことである請求項１６に記載の非一時的コンピュータ可読媒体。
【請求項１９】
前記識別タグは前記識別タグが生成されてから所定の時間が経過すると期限切れとなる請求項１８に記載の非一時的コンピュータ可読媒体。
【請求項２０】
前記少なくともひとつの検証基準は前記予備認証要求および前記インストール要求が同じネットワークアドレスから受け付けられたことである請求項１６に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願へのクロスリファレンス
本願は、２０１３年１２月１９日に出願された米国特許出願第１４／１３５，３３２号の優先権の利益を享受する。この出願は、参照によりその全体が本明細書に明示的に組み入れられる。
技術分野
【０００２】
本技術はクライアントデバイスにクライアント側アプリケーションをインストールすることに関し、特にクライアント側アプリケーションがインストールに際し指定されたユーザアカウントにアクセスすることを予備的に認証することに関する。
【背景技術】
【０００３】
クラウドストレージアカウントにより、ユーザはオンラインユーザアカウントに自己のコンテンツアイテムを格納することが可能となる。そのようなコンテンツアイテムはネットワーク接続内の任意の計算デバイスからアクセス可能である。ユーザは写真や音楽や書類などのコンテンツアイテムを計算デバイスから自己のオンラインユーザアカウントにアップロードでき、後に異なる計算デバイスからそのコンテンツアイテムにアクセスできる。
【０００４】
ユーザアカウントにアクセスするために、ユーザはクライアントデバイスにインストールされているウェブブラウザアプリケーションを使用することができる。例えば、ユーザはウェブブラウザを使用してコンテンツ管理システムにアクセスし、ログイン資格証明を提供することでユーザアカウントにアクセスすることができる。あるいはまた、ユーザはクライアント側アプリケーションを使用してコンテンツ管理システムのユーザアカウントにアクセスすることができる。例えば、ユーザはウェブブラウザアプリケーションを使用してコンテンツ管理システムからクライアントインストーラをダウンロードすることができる。クライアントインストーラは、クライアントアプリケーションをインストールするために使用可能である。
【０００５】
現状のシステムでは、たとえユーザがウェブブラウザアプリケーションを使用して現在ログイン中であっても、またはクライアント側アプリケーションをインストールするための要求を行うときにユーザがログインしていても、クライアント側アプリケーション上でユーザアカウントにログインするために再度ログイン資格証明を入力する必要がある。ユーザにユーザアカウントへ自動的にログインさせるよう構成されたクライアントインストーラを提供することでユーザがログイン資格証明を再度入力する必要性を除去できるが、これはクライアントインストーラが異なるユーザによって使用された場合にセキュリティ上のリスクを生じさせる。したがって、改良が必要である。
【発明の概要】
【０００６】
本開示の追加的な特徴および利点は以下に説明されるであろうし、また部分的にはその説明から明らかであろうし、また本明細書で開示された原理の実施により学習されるであろう。本開示の特徴および利点は、添付の請求項において具体的に示す機器および組み合わせによって実現され、得られうるものである。本開示のこれらの特徴およびその他の特徴は、以下の記述および添付の請求項からさらに十分に明らかになるか、または本明細書で述べた原理の実施によっても分かるものである。
【０００７】
クライアント側アプリケーションがコンテンツ管理システムのユーザアカウントにアクセスすることを予備認証するためのシステム、方法、および非一時的コンピュータ可読保持媒体が開示される。ユーザはウェブブラウザアプリケーションを使用してコンテンツ管理システムのユーザアカウントにアクセスでき、ユーザアカウントにログイン中にクライアント側アプリケーションをインストールすることを要求できる。クライアント側アプリケーションもまたユーザアカウントにアクセスするために使用可能である。
【０００８】
コンテンツ管理システムは、クライアント側アプリケーションがインストールに際し要求元ユーザのユーザアカウントに、ユーザにログイン資格認証を再度提供するよう要求することなしに自動的にログインすることを予備的に認可してもよい。これを達成するために、コンテンツ管理システムは、クライアントインストーラとユーザアカウントとをリンクする情報タグでクライアントインストーラをタグ付けしてもよい。クライアントインストーラは、クライアントデバイスにクライアント側アプリケーションをインストールし、識別タグをインストールされたクライアント側アプリケーションに渡すよう構成されてもよい。クライアント側アプリケーションは識別タグをコンテンツ管理システムに送信し、コンテンツ管理システムは識別タグを使用してリンクされたユーザアカウントを特定し、クライアント側アプリケーションにそのユーザアカウントへログインさせてもよい。
【０００９】
コンテンツ管理システムはいくつかの検証基準を実装することで、クライアント側アプリケーションが適切なユーザによってインストールされた場合にのみ予備認証されることをより確実にしてもよい。検証基準は、クライアント側アプリケーションを予備認証するための識別タグの使用可能回数を制限することと、識別タグが有効である期間を制限することと、および／または識別タグを使用可能なＩＰアドレスを制限することと、を含んでもよい。
【００１０】
コンテンツ管理システムはさらに、識別タグの使用をユーザアカウントに関連付けられたクライアントデバイスに制限してもよい。コンテンツ管理システムは、ウェブブラウザアプリケーションによってキャッシュされたデータを使用して、ウェブブラウザアプリケーションが過去にユーザアカウントにアクセスするために使用されたかを判定してもよい。キャッシュされたデータを集めるために、コンテンツ管理システムは、クライアント側アプリケーションのインストールを要求するために使用されたウェブブラウザアプリケーションを特定するウェブブラウザ識別子で、クライアントインストーラをタグ付けしてもよい。インストールされたクライアント側アプリケーションはウェブブラウザ識別子を使用してウェブブラウザアプリケーションを特定し、キャッシュされたデータをコンテンツ管理システムに送信してもよい。
【図面の簡単な説明】
【００１１】
本開示の上記およびその他の利点および特徴は、添付の図面に示す特定の実施の形態を参照することにより明らかになるであろう。これらの図面は、本開示の例示的な実施の形態を示しているだけであり、それゆえ、本開示の範囲を限定しているとみなされてはならないことを理解した上で、添付の図面を用いてさらに具体的かつ詳細に本明細書の原理を記述して説明する。
【００１２】
【図１】本発明に係る、デバイスおよびネットワークの例示的な構成を示す。
【００１３】
【図２】クライアント側アプリケーションを予備的に認証することの例示的な方法の実施の形態を示す。
【００１４】
【図３】クライアント側アプリケーションを予備的に認証するための検証基準を実装することの例示的な方法の実施の形態を示す。
【００１５】
【図４】検証基準が満たされているか否かを判定することの例示的な方法の実施の形態を示す。
【００１６】
【図５Ａ】図５Ａおよび図５Ｂは、クライアント側アプリケーションを予備的に認証することの例示的なシステムの実施の形態を示す。
【図５Ｂ】図５Ａおよび図５Ｂは、クライアント側アプリケーションを予備的に認証することの例示的なシステムの実施の形態を示す。
【００１７】
【図６Ａ】図６Ａおよび図６Ｂは、例示的なありうるシステムの実施の形態を示す。
【図６Ｂ】図６Ａおよび図６Ｂは、例示的なありうるシステムの実施の形態を示す。
【発明を実施するための形態】
【００１８】
本開示のさまざまな実施の形態について、以下に詳しく論じる特定の実装について論じているが、これは説明のみを目的として行われていることを理解されたい。当業者は、本開示の趣旨および範囲から逸脱することなく他のコンポーネントや構成が用いられうることを認識するであろう。
【００１９】
開示される技術は、クライアント側アプリケーションがコンテンツ管理システムのユーザアカウントにアクセスすることを予備認証することに対する、技術分野におけるニーズに対応する。ユーザはウェブブラウザアプリケーションを使用してコンテンツ管理システムのユーザアカウントにアクセスでき、ユーザアカウントにログイン中にクライアント側アプリケーションをインストールすることを要求できる。クライアント側アプリケーションもまたユーザアカウントにアクセスするために使用可能である。
【００２０】
コンテンツ管理システムは、クライアント側アプリケーションがインストールに際し要求元ユーザのユーザアカウントに、ユーザにログイン資格認証を再度提供するよう要求することなしに自動的にログインすることを予備的に認可してもよい。これを達成するために、コンテンツ管理システムは、クライアントインストーラとユーザアカウントとをリンクする情報タグでクライアントインストーラをタグ付けしてもよい。クライアントインストーラは、クライアントデバイスにクライアント側アプリケーションをインストールし、識別タグをインストールされたクライアント側アプリケーションに渡すよう構成されてもよい。クライアント側アプリケーションは識別タグをコンテンツ管理システムに送信し、コンテンツ管理システムは識別タグを使用してリンクされたユーザアカウントを特定し、クライアント側アプリケーションにそのユーザアカウントへログインさせてもよい。
【００２１】
コンテンツ管理システムはいくつかの検証基準を実装することで、クライアント側アプリケーションが適切なユーザによってインストールされた場合にのみ予備認証されることをより確実にしてもよい。検証基準は、クライアント側アプリケーションを予備認証するための識別タグの使用可能回数を制限することと、識別タグが有効である期間を制限することと、および／または識別タグを使用可能なＩＰアドレスを制限することと、を含んでもよい。
【００２２】
コンテンツ管理システムはさらに、識別タグの使用をユーザアカウントに関連付けられたクライアントデバイスに制限してもよい。コンテンツ管理システムは、ウェブブラウザアプリケーションによってキャッシュされたデータを使用して、ウェブブラウザアプリケーションが過去にユーザアカウントにアクセスするために使用されたかを判定してもよい。キャッシュされたデータを集めるために、コンテンツ管理システムは、クライアント側アプリケーションのインストールを要求するために使用されたウェブブラウザアプリケーションを特定するウェブブラウザ識別子で、クライアントインストーラをタグ付けしてもよい。インストールされたクライアント側アプリケーションはウェブブラウザ識別子を使用して特定されたウェブブラウザアプリケーションを開始し、キャッシュされたデータをコンテンツ管理システムに送信してもよい。
【００２３】
図１には、例示的なシステム構成１００が示される。このシステム構成１００では、複数の電子デバイスが、コンテンツや他のデータを交換する目的でネットワークを介して通信する。システムは、図１に示されるように、ワイドエリアネットワーク上で使用されるよう構成されてもよい。しかしながら、本原理は、電子デバイス間の通信を促進する様々な種類のネットワーク構成に適用可能である。例えば、図１のシステム１００の各コンポーネントは、ネットワークにおいて局在的または分散的に実装されてもよい。
【００２４】
システム１００では、直接および／または間接通信によりネットワーク１０４と接続された複数のクライアントデバイス１０２１、１０２２、...、１０２ｎ（「１０２」と総称する）を通じて、ユーザはコンテンツ管理システム１０６と相互に作用してもよい。コンテンツ管理システム１０６は、デスクトップコンピュータや、モバイルコンピュータや、携帯電話、スマートフォン、タブレットなどのモバイル通信デバイスや、スマートテレビジョンや、セットトップボックスや、他の任意のネットワーク可能な計算デバイスなどの多種多様なクライアントデバイスからの接続をサポートしてもよい。クライアントデバイス１０２のタイプや性能やオペレーティングシステムなどはいろいろであってよい。さらにコンテンツ管理システム１０６は、複数のクライアントデバイス１０２からの接続を同時に受け付けて相互作用を行ってもよい。
【００２５】
クライアントデバイス１０２ｉにインストールされたクライアント側アプリケーションを介して、ユーザはコンテンツ管理システム１０６と相互に作用してもよい。クライアント側アプリケーションはコンテンツ管理システム用のコンポーネントを含んでもよい。例えば、コンポーネントはスタンドアローンアプリケーションやひとつ以上のアプリケーションプラグインやブラウザエクステンションであってもよい。しかしながら、クライアントデバイス１０２ｉに存在しコンテンツ管理システム１０６と通信するよう構成されたウェブブラウザアプリケーションなどの第３者アプリケーションを介して、ユーザはコンテンツ管理システム１０６と相互に作用してもよい。いずれの場合でも、クライアント側アプリケーションまたは第３者アプリケーションは、ユーザがコンテンツ管理システム１０６と相互作用するためのユーザインタフェース（ＵＩ）を提供してもよい。例えば、ファイルシステムと統合されたクライアント側アプリケーションを介して、またはウェブブラウザアプリケーションを使用して表示されたウェブページを介して、ユーザはコンテンツ管理システム１０６と相互に作用してもよい。
【００２６】
コンテンツ管理システム１０６は、ユーザによるコンテンツの格納や、コンテンツの取得、変更、ブラウズ、および／または共有などの種々のコンテンツ管理タスクの実行を可能としてもよい。さらにコンテンツ管理システム１０６は、ユーザが複数のクライアントデバイス１０２からコンテンツにアクセスすることを可能としてもよい。例えば、クライアントデバイス１０２ｉはネットワーク１０４を介してコンテンツ管理システム１０６にコンテンツをアップロードしてもよい。そのコンテンツは後に、同じクライアントデバイス１０２ｉまたは他のクライアントデバイス１０２ｊを使用してコンテンツ管理システム１０６から取得されてもよい。
【００２７】
種々のコンテンツ管理サービスをより容易にするために、ユーザはコンテンツ管理システム１０６にアカウントを生成してもよい。アカウント情報はユーザアカウントデータベース１５０に維持されてもよい。ユーザアカウントデータベース１５０は、登録ユーザについてのプロファイル情報を保持してもよい。ある場合には、ユーザプロファイルの個人情報はユーザ名および／または電子メールアドレスのみであってもよい。しかしながら、コンテンツ管理システム１０６は追加的なユーザ情報を受け入れるよう構成されてもよい。
【００２８】
ユーザアカウントデータベース１５０は、有料／無料の別などのアカウントタイプや、ファイル編集履歴などの利用情報や、許されている最大ストレージスペースや、利用されているストレージスペースや、コンテンツストレージ位置や、セキュリティ設定や、個人構成設定や、コンテンツ共有データなどのアカウント管理情報を含んでもよい。アカウント管理モジュール１２４は、ユーザアカウントデータベース１５０におけるユーザアカウントの詳細を更新および／または取得するよう構成されてもよい。アカウント管理モジュール１２４は、コンテンツ管理システム１０６の他の任意の数のモジュールと相互に作用するよう構成されてもよい。
【００２９】
アカウントは、そのアカウントで認証されたひとつ以上のクライアントデバイス１０２から、デジタルデータやドキュメントやテキストファイルや音声ファイルやビデオファイルなどのコンテンツを格納するために使用されてもよい。コンテンツは、異なる振る舞いを伴う種々のタイプのフォルダやコンテンツアイテムをグループ化する他のメカニズムを含んでもよい。例えば、アカウントは、任意のユーザからアクセス可能なパブリックフォルダを含んでもよい。パブリックフォルダにはウェブアクセス可能なアドレスが割り当てられてもよい。ウェブアクセス可能なアドレスへのリンクを使用してパブリックフォルダのコンテンツにアクセスしてもよい。他の例では、アカウントは、写真に適する特定の属性やアクションを提供する写真用の写真フォルダや、音声ファイルを再生する能力を提供し他の音声関連アクションを実行する音声フォルダや、他の特殊用途フォルダを含んでもよい。アカウントは、複数のユーザアカウントとリンクされそれらのアカウントから利用可能な共有フォルダまたはグループフォルダを含んでもよい。ある共有フォルダについての複数のユーザに対する複数のパーミッションは異なっていてもよい。
【００３０】
コンテンツはコンテンツストレージ１６０に保持されてもよい。コンテンツストレージ１６０は、ストレージデバイスや、複数のストレージデバイスや、サーバであってもよい。あるいはまた、コンテンツストレージ１６０は、ひとつ以上の通信ネットワークを介してアクセス可能なクラウドストレージプロバイダまたはネットワークストレージであってもよい。コンテンツ管理システム１０６がクライアントデバイス１０２に対して複雑さと詳細とを隠すことで、クライアントデバイス１０２は、コンテンツアイテムがコンテンツ管理システム１０６によって正確にどこに保持されているのかを知る必要はない。ある変形例では、コンテンツ管理システム１０６は、クライアントデバイス１０２ｉ上に現れるフォルダ階層と同じフォルダ階層でコンテンツアイテムを保持してもよい。しかしながら、コンテンツ管理システム１０６は自身の順序や構成や階層でコンテンツアイテムを保持してもよい。コンテンツ管理システム１０６は、ネットワークアクセス可能ストレージ（ＳＡＮ）デバイスや、廉価ディスクの冗長アレイ（ＲＡＩＤ）などにコンテンツアイテムを保持してもよい。コンテンツストレージ１６０は、ＦＡＴ、ＦＡＴ３２、ＮＴＦＳ、ＥＸＴ２、ＥＸＴ３、ＥＸＴ４、ＲｅｉｓｅｒＦＳ、ＢＴＲＦＳなどのひとつ以上のパーティションタイプを使用して、コンテンツアイテムを保持してもよい。
【００３１】
コンテンツストレージ１６０は、コンテンツアイテムおよびコンテンツアイテムタイプおよびコンテンツアイテムと種々のアカウントやフォルダやグループとの関係を説明するメタデータを保持してもよい。コンテンツアイテムのメタデータは、コンテンツアイテムの一部として保持されてもよいし、別個に保持されてもよい。ある変形例では、コンテンツストレージ１６０に保持される各コンテンツアイテムには、システム全体で一意の識別子が割り当てられてもよい。
【００３２】
コンテンツストレージ１６０は、重複したファイルやファイルの重複セグメントを特定することによって、要求されるストレージスペースの量を低減することができる。複数の複製を保持する代わりに、コンテンツストレージ１６０は単一の複製を保持し、ポインタや他のメカニズムを使用して、重複しているものをその単一の複製にリンクさせてもよい。同様に、コンテンツストレージ１６０はファイルをより効率的に保持できるだけでなく、ファイルへの変更や異なるバージョンのファイル（分岐バージョンツリーを含む）や変更履歴を追うファイルバージョン制御を使用することで、操作をやり直す能力を提供してもよい。変更履歴は、元のファイルバージョンに適用された場合、変更後のファイルバージョンを生成する一組の変更を含んでもよい。
【００３３】
コンテンツ管理システム１０６はひとつ以上のクライアントデバイス１０２からのコンテンツの自動同期をサポートするよう構成されてもよい。同期はプラットフォーム不可知的であってもよい。すなわち、コンテンツは、種々のタイプや能力やオペレーティングシステムなどを有する複数のクライアントデバイス１０２に亘って同期されてもよい。例えば、クライアントデバイス１０２ｉはクライアントソフトウエアを含んでもよい。このソフトウエアは、コンテンツ管理システム１０６の同期モジュール１３２を介して、クライアントデバイス１０２ｉのファイルシステムのなかのコンテンツを関連するユーザアカウントの下のコンテンツと同期させる。ある場合では、クライアントソフトウエアは、新たな、削除された、変更された、複製された、または移動されたファイルやフォルダなどの、指定されたフォルダおよびそのサブフォルダのコンテンツに対する任意の変更を同期させてもよい。クライアントソフトウエアは別個のソフトウエアアプリケーションであってもよく、またはオペレーティングシステム中の既存のコンテンツ管理アプリケーションに統合されていてもよく、またはそれらの組み合わせであってもよい。既存のコンテンツ管理アプリケーションに統合されるクライアントソフトウエアの一例では、ユーザはローカルフォルダ内で直接コンテンツを操作し、その間、バックグラウンド処理は変更がないかローカルフォルダを監視し、そのような変更の同期をコンテンツ管理システム１０６に対して実行する。逆に、バックグラウンド処理はコンテンツ管理システム１０６において更新されたコンテンツを特定し、そのような変更の同期をローカルフォルダに対して実行してもよい。クライアントソフトウエアは同期操作の通知を提供してもよく、コンテンツ管理アプリケーションの中で直接、コンテンツ状態の表示を提供してもよい。クライアントデバイス１０２ｉが利用可能なネットワーク接続を有さない場合がある。このシナリオでは、クライアントソフトウエアはファイル変更がないかリンクされたフォルダを監視し、後にネットワーク接続が利用可能となったときにコンテンツ管理システム１０６に対して同期を実行するべくそのような変更をキューに入れてもよい。同様に、ユーザは、コンテンツ管理システム１０６との同期を手動で止めるか一時停止してもよい。
【００３４】
ユーザは、ユーザインタフェースモジュール１２２によって生成され提供されるウェブインタフェースを介して、コンテンツを視たり操作したりしてもよい。例えば、ユーザは、ウェブブラウザ内で、コンテンツ管理システム１０６によって提供されるウェブアドレスへと辿り着いてもよい。ファイルの新たなバージョンのアップロードのように、ウェブインタフェースを通じてなされたコンテンツストレージ１６０のコンテンツへの変更や更新は、ユーザのアカウントに関連する他のクライアントデバイス１０２へと伝搬されてもよい。例えば、それぞれが自身のクライアントソフトウエアを有する複数のクライアントデバイス１０２は単一のアカウントと関連付けられていてもよく、そのアカウントのファイルは複数のクライアントデバイス１０２のそれぞれの間で同期されてもよい。
【００３５】
コンテンツ管理システム１０６は、アプリケーションプログラミングインタフェース（ＡＰＩ）を介して他のコンテンツおよび／またはサービスプロバイダ１０９１、１０９２、...、１０９ｎ（「１０９」と総称する）と相互に作用可能な通信インタフェース１２０であって種々のクライアントデバイス１０２とのインタフェースとしての通信インタフェース１２０を含んでもよい。所定のソフトウエアアプリケーションは、ユーザの代わりに、ＡＰＩを介してコンテンツストレージ１６０にアクセスしてもよい。例えば、スマートフォンやタブレット計算デバイス上のアプリケーションなどのソフトウエアパッケージはプログラム上、ユーザが資格証明を提供する場合、コンテンツ管理システム１０６を直接呼び出し、コンテンツを読み取り、書き込み、生成し、消去し、共有し、またはそうでなければ操作してもよい。同様に、ＡＰＩは、ウェブサイトを通じてユーザがコンテンツストレージ１６０の全てまたは一部にアクセスすることを可能としてもよい。
【００３６】
コンテンツ管理システム１０６は認証モジュール１２６を含んでもよい。この認証モジュール１２６は、ユーザの資格証明やセキュリティトークンやＡＰＩコールや特定のクライアントデバイスなどを検証し、認証されたクライアントおよびユーザのみがファイルにアクセスできることを確実なものとしてもよい。さらに、コンテンツ管理システム１０６は解析モジュール１３４モジュールを含んでもよい。この解析モジュール１３４は集合的ファイル操作やユーザアクションやネットワーク利用状況や使用されているトータルのストレージスペースや、他の技術的、利用状況的またはビジネス上の指標を追い、それについて報告してもよい。プライバシーおよび／またはセキュリティポリシーは、コンテンツ管理システム１０６に保持されるユーザデータへの許可を得ないアクセスを防止してもよい。
【００３７】
コンテンツ管理システム１０６は、公にまたは私的にコンテンツを共有することを管理するための共有モジュール１３０を含んでもよい。公にコンテンツを共有することは、コンテンツアイテムを、コンテンツ管理システム１０６とネットワーク通信可能な任意の計算デバイスからアクセス可能とすることを含んでもよい。私的にコンテンツを共有することは、コンテンツストレージ１６０のコンテンツアイテムを２以上のユーザアカウントとリンクさせ、それにより各ユーザアカウントがそのコンテンツアイテムへのアクセスを有することを含んでもよい。共有は、プラットフォーム不可知的態様でなされてもよい。すなわち、コンテンツは、種々のタイプや能力やオペレーティングシステムなどを有する複数のクライアントデバイス１０２に亘って共有されてもよい。コンテンツは、種々のタイプのユーザアカウントに亘って共有されてもよい。
【００３８】
ある実施の形態では、コンテンツ管理システム１０６は、コンテンツストレージ１６０における各コンテンツアイテムの位置を特定するコンテンツディレクトリを維持するよう構成されてもよい。コンテンツディレクトリは、コンテンツストレージに保持される各コンテンツアイテムに対して一意のコンテンツエントリを含んでもよい。
【００３９】
コンテンツエントリは、コンテンツ管理システムにおけるコンテンツアイテムの位置を特定するために使用されるコンテンツパスを含んでもよい。例えば、コンテンツパスはコンテンツアイテムの名前とコンテンツアイテムに関連するフォルダ階層とを含んでもよい。例えば、コンテンツパスは、コンテンツアイテムの名前に加えて、そのコンテンツアイテムが置かれているフォルダまたはフォルダのパスを含んでもよい。コンテンツ管理システム１０６はコンテンツパスを使用して、コンテンツアイテムを適切なフォルダ階層の中で提示してもよい。
【００４０】
コンテンツエントリは、コンテンツストレージ１６０におけるコンテンツアイテムの位置を特定するコンテンツポインタを含んでもよい。例えば、コンテンツポインタはメモリにおけるコンテンツアイテムの正確なストレージアドレスを含んでもよい。ある実施の形態では、コンテンツポインタは複数の位置を指してもよく、複数の位置のそれぞれはコンテンツアイテムの一部を含む。
【００４１】
コンテンツパスおよびコンテンツポインタに加えて、コンテンツエントリはコンテンツアイテムへのアクセスを有するユーザアカウントを特定するユーザアカウント識別子を含んでもよい。ある実施の形態では、複数のユーザアカウント識別子が単一のコンテンツエントリに関連付けられてもよく、これは、そのコンテンツアイテムが複数のユーザアカウントによる共有アクセスを有することを示す。
【００４２】
私的にコンテンツアイテムを共有するために、共有モジュール１３０は、ユーザアカウント識別子をコンテンツアイテムに関連付けられたコンテンツエントリに追加し、それにより追加されたユーザアカウントにコンテンツアイテムへのアクセスを与えるよう構成される。共有モジュール１３０は、ユーザアカウントのコンテンツアイテムへのアクセスを制限するために、コンテンツエントリからユーザアカウント識別子を除くよう構成されてもよい。
【００４３】
公にコンテンツを共有するために、共有モジュール１３０はユニフォームリソースロケータ（ＵＲＬ）などのカスタムネットワークアドレスを生成するよう構成されてもよい。このカスタムネットワークアドレスにより、任意のウェブブラウザが、コンテンツ管理システム１０６のコンテンツに認証なしでアクセスすることが可能となる。これを達成するために、共有モジュール１３０は生成されるＵＲＬにコンテンツ特定データを含めるよう構成されてもよい。コンテンツ特定データは、後に、要求されたコンテンツアイテムを適切に特定して返すために使用されてもよい。例えば、共有モジュール１３０は、生成されるＵＲＬにユーザアカウント識別子とコンテンツパスとを含めるよう構成されてもよい。ＵＲＬが選択されると、ＵＲＬに含まれるコンテンツ特定データはコンテンツ管理システム１０６に送信されてもよい。コンテンツ管理システム１０６は受信したコンテンツ特定データを使用して適切なコンテンツエントリを特定し、そのコンテンツエントリに関連付けられたコンテンツアイテムを返してもよい。
【００４４】
ＵＲＬを生成することに加えて、共有モジュール１３０はコンテンツアイテムへのＵＲＬが生成されたことを記録するよう構成されてもよい。ある実施の形態では、コンテンツアイテムに関連付けられたコンテンツエントリは、そのコンテンツアイテムへのＵＲＬが生成されたか否かを示すＵＲＬフラグを含んでもよい。例えば、ＵＲＬフラグは、コンテンツアイテムへのＵＲＬがまだ生成されていないことを示すために最初に０またはｆａｌｓｅに設定されるブール値であってもよい。共有モジュール１３０は、コンテンツアイテムへのＵＲＬを生成した後はフラグの値を１またはｔｒｕｅに変更するよう構成されてもよい。
【００４５】
ある実施の形態では、共有モジュール１３０は生成されたＵＲＬを非活性化するよう構成されてもよい。例えば、各コンテンツエントリは、要求に応じて生成されたＵＲＬからコンテンツが返されるべきか否かを示すＵＲＬアクティブフラグを含んでもよい。例えば、共有モジュール１３０は、ＵＲＬアクティブフラグが１またはｔｒｕｅに設定されている場合にのみ、生成されたリンクによって要求されるコンテンツアイテムを返すよう構成されてもよい。したがって、ＵＲＬが既に生成されたコンテンツアイテムへのアクセスは、ＵＲＬアクティブフラグの値を変更することにより、容易に制限されうる。これにより、ユーザは、コンテンツアイテムを移動したり生成されたＵＲＬを削除したりしなくても、共有コンテンツアイテムへのアクセスを制限できる。同様に、共有モジュール１３０は、ＵＲＬアクティブフラグの値を１またはｔｒｕｅに変えることでＵＲＬを再活性化してもよい。したがって、ユーザは、新たなＵＲＬを生成する必要なしにコンテンツアイテムへのアクセスを容易に復活させることができる。
【００４６】
具体的なコンポーネントを有するコンテンツ管理システム１０６が提示されたが、示されるアーキテクチャ構成は単なる可能なひとつの構成であり、より多いまたはより少ないコンポーネントを有する他の構成もまた可能であることは、当業者には理解されるべきである。例えば、コンテンツ管理システム１０６は、クライアント側アプリケーションの予備認証を容易にするためにクライアントインストーラにタグ付けするよう構成された予備認証モジュール１３６を含んでもよい。すなわち、インストールが成功すると、予備認証されたクライアント側アプリケーションは指定されたユーザアカウントに自動的にログインする。これによりユーザはログイン資格認証を再度入力する必要なくユーザアカウントにアクセスすることができる。
【００４７】
クライアントインストーラにタグ付けされたデータはクライアントインストーラと指定されたユーザアカウントとをリンクしてもよい。例えば、予備認証モジュール１３６は、クライアント側アプリケーションのインストールを要求するために使用されたユーザアカウントとクライアントインストーラとをリンクする識別タグを、クライアントインストーラにタグ付けしてもよい。実行されると、タグ付けされたクライアントインストーラはクライアント側アプリケーションをインストールし、識別タグをインストールされたクライアント側アプリケーションに渡してもよい。クライアント側アプリケーションは次に識別タグをコンテンツ管理システム１０６に送信し、識別タグによって特定されるユーザアカウントにログインしてもよい。
【００４８】
これを達成するために、予備認証モジュール１３６は、クライアント側アプリケーションをインストールするためのインストール要求がアクティブに認証されたユーザアカウントに関連付けられているか否かを特定するよう構成されてもよい。例えば、ユーザはウェブブラウザアプリケーションを使用してユーザアカウントにログインし、ログイン中にクライアント側アプリケーションをインストールするよう要求してもよい。予備認証モジュール１３６は、ユーザがユーザアカウントにログインしている間にインストール要求が受け付けられたか否かを判定してもよい。例えば、予備認証モジュール１３６は、クライアントデバイス１０２ｉから、クライアントデバイス１０２ｉにクライアント側アプリケーションをインストールするためのインストール要求を受け付け、クライアントデバイス１０２ｉが現在ログイン中で指定されたユーザアカウントにアクセスすることを認可されているかを判定してもよい。
【００４９】
インストール要求がアクティブに認証されたユーザアカウントに関連付けられている場合、予備認証モジュール１３６は識別タグを生成し、その識別タグをユーザアカウントに関連付けてもよい。例えば、予備認証モジュール１３６は、識別タグとそれに対応するユーザアカウントとをリストする予備認証インデックスにエントリを生成してもよい。あるいはまた、識別タグはユーザアカウントを直接特定するのに十分なデータを含んでもよい。例えば、識別タグは、指定されたユーザアカウントを特定するアカウント識別子を含んでもよい。予備認証モジュール１３６は、タグ付けされたクライアントインストーラを要求元のクライアントデバイスに提供してもよい。クライアントインストーラは予備認証されたクライアント側アプリケーションをインストールするために使用可能である。
【００５０】
図２は、クライアント側アプリケーションを予備的に認証することの例示的な方法の実施の形態を示す。図２には具体的なステップが示されるが、他の実施の形態では方法はより多くのまたはより少ないステップを有してもよい。示されるように、方法はブロック２０５で始まり、そこではコンテンツ管理システムはクライアント側アプリケーションをインストールするためのインストール要求をクライアントデバイスから受け付ける。
【００５１】
ブロック２１０では、コンテンツ管理システムはインストール要求がアクティブなユーザアカウントと関連付けられているか否かを判定する。例えば、コンテンツ管理システムは、インストール要求が受け付けられたときにクライアントデバイスがユーザアカウントにログインしていたか否かを判定してもよい。
【００５２】
ブロック２１０においてコンテンツ管理システムがインストール要求はユーザアカウントに関連付けられていない、すなわちインストール要求が受け付けられたときにクライアントデバイスはユーザアカウントにログインしていなかったと判定した場合、方法はブロック２５０に進み、そこではコンテンツ管理システムはクライアントデバイスにタグ付けの無いクライアントインストーラを送信する。タグ付けの無いクライアントインストーラはクライアントデバイスによってクライアント側アプリケーションをインストールするために使用可能であるが、クライアント側アプリケーションはユーザアカウントにアクセスするために予備認証されていないであろう。したがって、ユーザはユーザアカウントにログインするためにログイン資格証明を入力する必要があるであろう。
【００５３】
あるいはまた、ブロック２１０においてコンテンツ管理システムがインストール要求はユーザアカウントに関連付けられていると判定した場合、方法はブロック２１５に進み、そこではコンテンツ管理システムは識別タグを生成する。ブロック２２０では、コンテンツ管理システムは予備認証インデックスにエントリを生成する。予備認証インデックスは、識別タグと、関連付けられたユーザアカウントを特定するアカウント識別子と、を含む。
【００５４】
ブロック２２５では、コンテンツ管理システムは生成された識別タグでクライアントインストーラをタグ付けし、ブロック２３０では、コンテンツ管理システムはタグ付けされたクライアントインストーラを要求元のクライアントデバイスに送信する。クライアントデバイスはタグ付けされたクライアントインストーラを使用してクライアント側アプリケーションをインストールしてもよい。タグ付けされた識別タグはクライアント側アプリケーションに渡されてもよい。
【００５５】
ブロック２３５では、コンテンツ管理システムはクライアントデバイスから、識別タグを含む予備認証要求を受け付ける。予備認証要求は、クライアント側アプリケーションのクライアントデバイスへのインストールが成功したことの結果として送信されてもよい。例えば、クライアント側アプリケーションは、クライアント側アプリケーションのクライアントデバイスへのインストールが成功すると、コンテンツ管理システムへ予備認証要求を自動的に送信するよう構成されてもよい。
【００５６】
ブロック２４０では、コンテンツ管理システムは受け付けられた識別タグに関連付けられたユーザアカウントを特定してもよい。例えば、コンテンツ管理システムは予備認証インデックスを検索することで識別タグを見つけ、それに関連付けられたユーザアカウントを特定してもよい。
【００５７】
ブロック２４５では、コンテンツ管理システムはクライアント側アプリケーションを特定されたユーザアカウントにログインさせ、それによりクライアント側アプリケーションがユーザアカウントに割り当てられたコンテンツアイテムにアクセスしたり新たなコンテンツアイテムをユーザアカウントに割り当てたりすることを認可してもよい。そして方法は終わる。
【００５８】
クライアント側アプリケーションを予備認証することはシンプルなユーザ体験を提供するが、それはまた、正しい検証基準が実装されない場合には潜在的なセキュリティ上の脆弱性を生じさせる可能性がある。例えば、ユーザはタグ付けされたクライアントインストーラを友人に渡す可能性がある。該友人はユーザアカウントにアクセスすることを予備認証されるべきではない。コンテンツ管理システム１０６はひとつ以上の検証基準を実装することで、クライアント側アプリケーションが適切なユーザによってインストールされた場合にのみ予備認証されることをより確実にしてもよい。
【００５９】
そのような検証基準のひとつは、クライアント側アプリケーションを予備認証するために識別タグを使用可能な回数を制限することであってもよい。例えば、識別タグはクライアント側アプリケーションの予備認証をただ１度だけ可能とするよう制限されてもよい。したがって、ユーザがタグ付けされたクライアントインストーラを友人と共有したとしても、意図されているユーザが既にそのクライアントインストーラを使用してクライアント側アプリケーションをインストールしてしまっている前提では、その友人はユーザアカウントにログインすることはできない。
【００６０】
これを達成するために、予備認証モジュール１３６は、識別タグがクライアント側アプリケーションを認証するために使用された後、その識別タグを使用済みとしてマークするよう構成されてもよい。例えば、予備認証モジュール１３６は、識別タグがクライアント側アプリケーションを認証するために使用された後、その識別タグに関連付けられた予備認証インデックスエントリにフラグを立てるよう構成されてもよい。予備認証モジュール１３６は、使用済みとしてマークされた識別タグを含む予備認証要求を拒否するよう構成されてもよい。
【００６１】
識別タグを使用済みとしてマークすることの代替として、予備認証モジュール１３６は、識別タグがクライアント側アプリケーションを認証するために使用された後、その識別タグに関連付けられた予備認証インデックスエントリを除いてもよい。予備認証モジュール１３６は、予備認証要求に含まれる識別タグが予備認証インデックスのなかに見つからない場合、予備認証要求を拒否するよう構成されてもよい。
【００６２】
第２の検証基準は時刻に基づいてもよい。例えば、各識別タグは、その識別タグが生成されてから所定の時間内は有効であり、その後はその識別タグが期限切れと見なされるよう制限されてもよい。予備認証モジュール１３６は、期限切れの識別タグを含む予備認証要求を拒否してもよい。
【００６３】
これを達成するために、予備認証モジュール１３６は予備認証インデックスに識別タグの生成時刻を記録してもよい。予備認証要求を受け付けると、予備認証モジュール１３６は、予備認証要求が受け付けられた時刻と受け付けられた識別タグの記録された生成時刻とを比較し、識別タグが期限切れか否かを判定してもよい。あるいはまた、予備認証モジュール１３６は識別タグの有効期限を予備認証インデックスに記録し、予備認証要求が受け付けられた時刻がその有効期限と比較されることで識別タグが期限切れか否かが判定されてもよい。予備認証モジュール１３６は、期限切れの識別タグを含む予備認証要求を拒否してもよい。
【００６４】
第３の検証基準はＩＰアドレスに基づいてもよい。予備認証モジュール１３６は識別タグにひとつ以上のＩＰアドレスを関連付けることで、識別タグの正当な使用を、その関連付けられたＩＰアドレスのうちのひとつから受け付けられた予備認証要求に制限してもよい。例えば、識別タグは、インストール要求がＩＰアドレスから受け付けられたときのそのＩＰアドレスに関連付けられてもよく、および／またはユーザアカウントにアクセスすることが知られているＩＰアドレスに関連付けられてもよい。予備認証モジュール１３６は、不正なＩＰアドレスすなわち含まれている識別信号に関連付けられていないＩＰアドレスから受け付けられた予備認証要求を拒否してもよい。
【００６５】
これを達成するために、予備認証モジュール１３６は識別タグの予備認証インデックスエントリに有効なＩＰアドレスをリストしてもよい。例えば、予備認証モジュール１３６は、ＩＰアドレスからインストール要求が受け付けられたときのそのＩＰアドレスを集め、そのように集められたＩＰアドレスを識別タグの予備認証インデックスエントリにリストしてもよい。代替的にまたは追加的に、予備認証モジュール１３６は、ユーザアカウントに関連付けられたプロファイル情報からＩＰアドレスを集め、集められたＩＰアドレスを識別タグの予備認証インデックスエントリにリストしてもよい。
【００６６】
予備認証要求を受け付けると、予備認証モジュールは、ＩＰアドレスからその予備認証要求が受け付けられたときのそのＩＰアドレスを集め、集められたＩＰアドレスを含まれる識別タグの予備認証インデックスエントリにリストされるＩＰアドレスと比較することで、予備認証要求が有効なＩＰアドレスから受け付けられたか否かを判定してもよい。予備認証モジュール１３６は、不正なＩＰアドレスすなわち含まれている識別タグの予備認証インデックスエントリにリストされていないＩＰアドレスから受け付けられた予備認証要求を拒否してもよい。
【００６７】
図３は、クライアント側アプリケーションを予備的に認証するための検証基準を実装することの例示的な方法の実施の形態を示す。図３には具体的なステップが示されるが、他の実施の形態では方法はより多くのまたはより少ないステップを有してもよい。示されるように、方法はブロック３０５で始まり、そこではコンテンツ管理システムはクライアントデバイスにクライアント側アプリケーションをインストールするためのインストール要求を受け付ける。
【００６８】
ブロック３１０では、コンテンツ管理システムはインストール要求がユーザアカウントと関連付けられているか否かを判定する。インストール要求がユーザアカウントに関連付けられていない場合、ブロック３５５において、コンテンツ管理システムはタグ付けの無いクライアントインストーラをクライアントデバイスに送信する。あるいはまた、インストール要求がユーザアカウントに関連付けられている場合、方法はブロック３１５に進み、そこではコンテンツ管理システムは識別タグを生成する。
【００６９】
ブロック３２０では、コンテンツ管理システムは予備認証インデックスにエントリを生成する。エントリは、識別タグと、インストール要求に関連付けられたユーザアカウントを特定するアカウント識別子とを含んでもよい。エントリはさらに、識別タグの生成時刻と、有効なＩＰアドレスと、を含んでもよい。
【００７０】
ブロック３２５では、コンテンツ管理システムは識別タグでクライアントインストーラをタグ付けし、ブロック３３０では、コンテンツ管理システムはタグ付けされたクライアントインストーラを要求元のクライアントデバイスに送信する。
【００７１】
ブロック３３５では、コンテンツ管理システムはクライアントデバイスから予備認証要求を受け付ける。ブロック３４０では、コンテンツ管理システムは実装された検証基準が満たされるか否かを判定する。このステップは、以下の図４の議論において詳述される。検証基準が満たされない場合、方法はブロック３６０に進み、そこではコンテンツ管理システムは予備認証要求を拒否する。その結果、クライアントデバイスのユーザは、クライアント側アプリケーションをユーザアカウントにログインさせるために、ログイン資格証明の入力を求められるであろう。
【００７２】
ブロック３４０においてコンテンツ管理システムが検証基準は満たされると判定した場合、方法はブロック３４５に進み、そこではコンテンツ管理システムは受け付けられた識別タグに関連付けられたユーザアカウントを特定する。次にブロック３５０において、コンテンツ管理システムは、クライアント側アプリケーションを特定されたユーザアカウントにログインさせることによって予備認証要求を認可する。
【００７３】
ブロック３６５において、コンテンツ管理システムは、クライアント側アプリケーションを予備的に認証するために識別タグが使用されてしまったことを示すよう、予備認証インデックスエントリを更新する。例えば、コンテンツ管理システムは、識別タグが使用済みであることを示すよう予備認証インデックスエントリをマークしてもよい。あるいはまた、コンテンツ管理システムは予備認証インデックスエントリを削除してもよい。そして方法は終わる。
【００７４】
図４は、検証基準が満たされているか否かを判定することの例示的な方法の実施の形態を示す。図４には具体的なステップが示されるが、他の実施の形態では方法はより多くのまたはより少ないステップを有してもよい。示されるように、方法はブロック４０５で始まり、そこでは、コンテンツ管理システムは予備認証要求に含まれる識別タグが以前に使用されたものであるか否かを判定する。コンテンツ管理システムは、識別タグの予備認証インデックスエントリをチェックすることによってこれを判定してもよい。
【００７５】
ブロック４０５において識別インデックスが使用済みであると判定された場合、方法はブロック４２５に進み、そこではコンテンツ管理システムは検証基準が満たされないと判定し、次いで方法は終わる。
【００７６】
あるいはまた、ブロック４０５において識別タグがまだ使用されていないと判定された場合、方法はブロック４１０に進み、そこではコンテンツ管理システムは識別タグが期限切れか否かを判定する。。例えば、コンテンツ管理システムは識別タグの予備認証インデックスエントリから識別タグに対する生成時刻または有効期限を取得してもよい。コンテンツ管理システムは次いで取得された生成時刻または有効期限を予備認証要求が受け付けられた時刻と比較し、識別タグが期限切れか否かを判定してもよい。
【００７７】
識別タグが期限切れである場合、方法はブロック４２５に進み、そこではコンテンツ管理システムは検証基準が満たされないと判定する。あるいはまた、識別タグが期限切れでない場合、方法はブロック４１５に進み、そこではコンテンツ管理システムは予備認証要求が有効なＩＰアドレスから受け付けられたか否かを判定する。
【００７８】
コンテンツ管理システムは、識別タグの予備認証インデックスにアクセスすることによって有効なＩＰアドレスを特定してもよい。例えば、予備認証インデックスエントリは識別タグに対する全ての有効なＩＰアドレスをリストしてもよい。コンテンツ管理システムは、ＩＰアドレスから予備認証要求が受け付けられたときのそのＩＰアドレスをその予備認証インデックスエントリにリストされる有効なＩＰアドレスと比較することで、予備認証要求が有効なＩＰアドレスから受け付けられたか否かを判定してもよい。
【００７９】
ＩＰアドレスが有効でない場合、方法はブロック４２５に進み、そこではコンテンツ管理システムは検証基準が満たされないと判定する。あるいはまた、ＩＰアドレスが有効である場合、方法はブロック４２０に進み、そこではコンテンツ管理システムは検証基準が満たされると判定する。そして方法は終わる。
【００８０】
上で列挙された検証基準はクライアント側アプリケーションが意図しないユーザのクライアントデバイスにおいて予備認証される可能性を最小化するものの、潜在的なセキュリティ上の脆弱性は依然として残る。例えば、ユーザはクライアントインストーラを同僚に渡し、同僚は意図されたユーザがクライアント側アプリケーションをインストールする前に、かつ、識別タグが期限切れになる前に、クライアント側アプリケーションをインストールするかもしれない。ユーザおよび同僚が仕事上同じＩＰアドレスにいる場合、３つ全ての検証基準（１番目の使用、時刻、ＩＰアドレス）が満たされ、同僚にユーザアカウントへのアクセスが与えられる可能性がある。
【００８１】
このタイプの状況を避けるために、コンテンツ管理システムは、クライアント側アプリケーションが意図されたユーザアカウントにアクセスすることを認可する前に、予備認証を要求するクライアントデバイスが意図されたユーザアカウントに十分に関連付けられているか検証してもよい。クライアントデバイスがユーザアカウントにアクセスするためにおよび／またはユーザアカウントを生成するために使用されたことがある場合、そのクライアントデバイスはユーザアカウントに十分に関連付けられていてもよい。
【００８２】
コンテンツ管理システムは、クライアントデバイスにキャッシュされているデータに基づいて、クライアントデバイスがユーザアカウントに十分に関連付けられていることを検証してもよい。例えば、コンテンツ管理システムは、コンテンツ管理システム上のユーザアカウントを生成するかそれにアクセスするために使用されるウェブブラウザアプリケーションに、生成されたまたはアクセスされたユーザアカウントを特定するクッキーなどのデータをキャッシュさせてもよい。コンテンツ管理システムは、このキャッシュされたデータを相互参照することで、クライアントデバイスがユーザアカウントに十分に関連付けられているか否かを検証し、もしそうならクライアント側アプリケーションを認可してもよい。
【００８３】
これを達成するために、予備認証モジュール１３６は、インストール要求をコンテンツ管理システム１０６に送信するのに使用されたウェブブラウザアプリケーションを特定するウェブブラウザ識別子でクライアントインストーラをタグ付けしてもよい。クライアントデバイス１０２ｉから受け付けられたインストール要求は、インストール要求をコンテンツ管理システム１０６に送信するのに使用されたウェブブラウザアプリケーションを特定するデータを含んでもよい。予備認証モジュール１３６は、インストール要求を送信するのに使用されたウェブブラウザアプリケーションを特定し、特定されたウェブブラウザアプリケーションを予備認証インデックスレコードに記録し、次いでウェブブラウザアプリケーションを特定するウェブブラウザ識別子でクライアントインストーラをタグ付けしてもよい。
【００８４】
クライアントインストーラはウェブブラウザ識別子をクライアント側アプリケーションに渡してもよい。クライアント側アプリケーションはウェブブラウザ識別子を使用することで、クライアントデバイス１０２ｉに特定されたウェブブラウザアプリケーションを実行させ、検証メッセージをコンテンツ管理システム１０６へ送信させてもよい。検証メッセージは、ウェブブラウザアプリケーションによってキャッシュされたデータと、識別タグと、を含む。予備認証モジュール１３６は、検証メッセージと共に受け付けられたキャッシュデータが対応する識別タグにより特定されるユーザアカウントを特定することを検証してもよい。
【００８５】
図５Ａおよび図５Ｂは、クライアント側アプリケーションを予備的に認証することの例示的なシステムの実施の形態を示す。示されるように、クライアントデバイス１０２ｉはウェブブラウザアプリケーション５０５を含み、このウェブブラウザアプリケーション５０５はコンテンツ管理システム１０６と通信してコンテンツ管理システム１０６上のユーザアカウントにアクセスするために使用されてもよい。示されるように、ウェブブラウザアプリケーション５０５はインストール要求５１０をコンテンツ管理システム１０６に送信してもよい。インストール要求５１０は、クライアントデバイス１０２ｉにクライアント側アプリケーションをインストールするための要求であってもよい。
【００８６】
コンテンツ管理システム１０６はインストール要求５１０を受け付け、次いでインストール要求５１０が現在認可されているユーザアカウントに関連付けられているか否かを判定してもよい。すなわち、コンテンツ管理システム１０６は、インストール要求５１０が送信されたときにクライアントデバイス１０２ｉがユーザアカウントにログインしているかを判定してもよい。例えば、クライアントデバイス１０２ｉのユーザは、ユーザアカウントにログインし、クライアントデバイス１０２ｉにクライアント側アプリケーションをインストールすることを要求するためにウェブブラウザアプリケーション５０５を使用したかもしれない。
【００８７】
コンテンツ管理システム１０６がインストール要求５１０はユーザアカウント「１２３」に関連付けられていると判定したとすると、コンテンツ管理システム１０６は、識別タグを生成し、かつ予備認証インデックスにエントリを生成してもよい。このエントリは、ユーザアカウント「１２３」と、生成された識別タグと、識別タグが生成された日付および時刻と、有効なＩＰアドレスと、インストール要求５１０を生成するために使用されたウェブブラウザアプリケーションを特定するウェブブラウザ識別子と、を特定する。
【００８８】
コンテンツ管理システム１０６は識別タグおよびウェブブラウザ識別子でクライアントインストーラをタグ付けしてもよい。コンテンツ管理システム１０６は、タグ付けされたクライアントインストーラを含むメッセージ５１５をクライアントデバイス１０２ｉへ送信してもよい。
【００８９】
クライアントデバイス１０２ｉはタグ付けされたクライアントインストーラを使用してクライアントデバイス１０２ｉにクライアント側アプリケーションをインストールしてもよい。これは、識別タグおよびウェブブラウザ識別子をインストールされたクライアント側アプリケーションに渡すことを含んでもよい。
【００９０】
図５Ｂは、クライアント側アプリケーション５２０のインストールが成功した後のクライアントデバイス１０２ｉを示す。示されるように、クライアント側アプリケーション５２０は、識別タグを含む検証メッセージ５２５をコンテンツ管理システム１０６へ送信してもよい。
【００９１】
検証メッセージ５２５を受け付けると、コンテンツ管理システム１０６は、識別タグが使用済みか否かや期限切れか否かやＩＰアドレスが有効か否かを判定することなどの種々の検証基準を行ってもよい。検証基準が満たされるとした場合、コンテンツ管理システム１０６は、検証基準が満たされたことを示すメッセージ５３０をクライアントデバイス１０２ｉに送信してもよい。
【００９２】
検証基準が満たされたという確認を受け付けると、クライアント側アプリケーション５２０はクライアントデバイス１０２ｉについて一意な認証キーを生成してもよい。例えば、認証キーは「ｘｙｚ」であってもよい。クライアント側アプリケーション５２０はウェブブラウザ識別子を使用してウェブブラウザアプリケーション５０５を特定し、クライアントデバイス１０２ｉにウェブブラウザアプリケーション５０５を実行させてもよい。クライアント側アプリケーション５２０は、ウェブブラウザアプリケーション５０５に、認証メッセージ５３５をコンテンツ管理システム１０６へ送信させてもよい。認証メッセージ５３５は識別タグと認証キーとウェブブラウザアプリケーション５０５によってキャッシュされたデータとを含む。
【００９３】
コンテンツ管理システム１０６は識別タグを使用して予備認証インデックスのなかの対応するエントリを見つけ、キャッシュされたデータを相互参照することで、ウェブブラウザアプリケーション５０５がユーザアカウントにアクセスするために使用されたことがあるか否かを判定してもよい。例えば、キャッシュされたデータは、ウェブブラウザアプリケーション５０５がユーザアカウントの生成やそれへのアクセスのために使用されたときにキャッシュされたアカウント識別子を含んでもよい。
【００９４】
コンテンツ管理システム１０６がウェブブラウザアプリケーション５０５はユーザアカウントにアクセスするために使用されたことがあると判定したとする場合、コンテンツ管理システム１０６は予備認証インデックスのエントリに認証キーを記録してもよい。
【００９５】
クライアント側アプリケーション５２０は、識別タグおよび認証キーを含む予備認証要求５４０をコンテンツ管理システム１０６に送信してもよい。コンテンツ管理システム１０６は、識別タグが使用済みか否かや期限切れか否かやＩＰアドレスが有効か否かを判定することを含む検証基準を行ってもよい。コンテンツ管理システム１０６が検証基準は満たされたと判定したとする場合、コンテンツ管理システム１０６は予備認証要求５４０で受け付けられた認証キーと識別タグに関連付けられたエントリの認証キーとを比較してもよい。認証キーが一致する場合、コンテンツ管理システム１０６はクライアント側アプリケーション５２０が予備認証インデックスのエントリで特定されるユーザアカウントにアクセスすることを認可してもよい。
【００９６】
図１の議論に戻ると、予備認証モジュール１３６は、クライアント側アプリケーションが複数のユーザアカウントにアクセスすることを予備的に認証するよう構成されてもよい。例えば、ユーザは個人的なアカウントおよび仕事のアカウントを有してもよい。クライアント側アプリケーションのインストールを要求するときにユーザが仕事のアカウントおよび個人的なアカウントの両方にログインしている場合、予備認証モジュール１３６は、クライアント側アプリケーションが仕事のアカウントおよび個人的なアカウントの両方にアクセスすること予備的に認証してもよい。
【００９７】
これを達成するために、予備認証モジュール１３６は、クライアントインストーラと複数のユーザアカウントとをリンクするようクライアントインストーラをタグ付けしてもよい。例えば、予備認証モジュール１３６は、クライアントインストーラと個人的なアカウントおよび仕事のアカウントとをリンクするようクライアントインストーラをタグ付けしてもよい。予備認証モジュール１３６は、生成された識別タグに関連付けられた予備認証インデックスに複数のアカウント識別子をリストすることによってこれを達成してもよい。例えば、予備認証モジュール１３６は、個人的なアカウントを特定する第１アカウント識別子と、仕事のアカウントを特定する第２アカウント識別子と、をリストしてもよい。あるいはまた、予備認証モジュール１３６は、個人的なアカウントおよびユーザアカウントの両方を特定する共有識別子をリストしてもよい。
【００９８】
予備認証モジュール１３６は、対応する識別タグを含む予備認証要求を受け付けたことに応じて、リストされているアカウント識別子にアクセスし、全ての検証基準が満たされる場合にクライアント側アプリケーションが特定されたユーザアカウントにアクセスすることを認可してもよい。検証基準は、クライアント側アプリケーションによる特定されたユーザアカウントへのアクセスが、クライアント側アプリケーションが他のユーザアカウントにアクセスしている間でも許されるか否かを予備認証モジュール１３６が判定することを含んでもよい。例えば、仕事のアカウントは仕事上のポリシーによって制限されていてもよい。このポリシーは、クライアント側アプリケーションが第２ユーザアカウントにアクセスしている間はそのクライアント側アプリケーションによる仕事のアカウントへのアクセスは許されないことを規定する。予備認証モジュール１３６は、特定されたユーザアカウントがそのようなポリシーによって制限されているか否かを判定してもよい。
【００９９】
特定されたユーザアカウントが制限されている場合、予備認証モジュール１３６はクライアント側アプリケーションが複数のユーザアカウントのうちのひとつのみにアクセスすることを認可するよう構成されてもよい。あるいはまた、予備認証モジュール１３６は、クライアント側アプリケーションによるアクセスが認可されるユーザアカウントの選択をユーザに促してもよい。あるいはまた、予備認証モジュール１３６は予備認証要求を拒否してもよく、したがって、クライアント側アプリケーションがユーザアカウントにアクセスすることを認可するために、ユーザに正しいログイン資格証明の入力を要求してもよい。
【０１００】
予備認証モジュール１３６は、複数のユーザアカウントのなかから、クライアント側アプリケーションに対してユーザが認証を望むものを選択するようユーザに常に促すよう構成されてもよい。例えば、ユーザがクライアント側アプリケーションをインストールすることを要求したときにユーザは促されてもよい。これは、複数のユーザアカウントのなかからひとつまたは複数を選択することを、あるいは複数のユーザアカウントのなかからひとつのみを選択することを、予備認証モジュール１３６がユーザに促すことを含んでもよい。予備認証モジュール１３６は、クライアントインストーラと選択されたユーザアカウントとをリンクするようクライアントインストーラをタグ付けしてもよい。
【０１０１】
図６Ａおよび図６Ｂは、例示的なありうるシステムの実施の形態を示す。本技術を実施する場合に、より好適な実施の形態は当業者には明らかであろう。他のシステムの実施の形態が可能であることは、当業者には容易に理解されるであろう。
【０１０２】
図６Ａは、通常のシステムバス計算システムアーキテクチャ６００を示す。システムのコンポーネントはバス６０５を使用して互いに電気的に通信可能となっている。例示的なシステム６００は、処理ユニット（ＣＰＵすなわちプロセッサ）６１０と、読み取り専用メモリ（ＲＯＭ）６２０やランダムアクセスメモリ（ＲＡＭ）６２５などのシステムメモリ６１５を含む各種のシステムコンポーネントをプロセッサ６１０に接続するシステムバス６０５と、を含む。システム６００は、プロセッサ６１０に直接接続されているか、近接しているか、あるいはその一部として統合されている高速メモリのキャッシュを含んでもよい。システム６００は、データをメモリ６１５および／またはストレージデバイス６３０からキャッシュ６１２へコピーして、プロセッサ６１０が高速でアクセスできるようにしてもよい。このようにして、キャッシュは、データを待っている間のプロセッサ６１０の遅延を回避するパフォーマンスブーストを提供してもよい。これらおよびその他のモジュールは、各種の動作を行うようにプロセッサ６１０を制御するか、または制御するように構成されてもよい。その他のシステムメモリ６１５が同様に使用可能であってもよい。メモリ６１５は、異なる性能特性を持つ複数の異なるタイプのメモリを含んでもよい。プロセッサ６１０は、いかなる汎用プロセッサを含んでもよいし、プロセッサ６１０を制御するように構成されたハードウエアモジュールまたはソフトウエアモジュール、例えばストレージデバイス６３０の中に格納されたモジュール１  ６３２、モジュール２  ６３４、モジュール３  ６３６を含んでもよいし、実際のプロセッサ設計の中にソフトウエアインストラクションが組み込まれている専用プロセッサを含んでもよい。プロセッサ６１０は本質的に、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュ等を含んでいる、完全に自己完結型のコンピュータシステムであってもよい。マルチコアプロセッサは、対称でも非対称でもよい。
【０１０３】
ユーザと計算デバイス６００との対話を可能にするため、入力デバイス６４５は、音声用マイクロフォン、ジェスチャまたはグラフィカル入力用のタッチセンシティブスクリーン、キーボード、マウス、動作入力、音声等、いくつもの入力メカニズムを表してもよい。出力デバイス６３５は、当業者には公知の複数の出力メカニズムのうちの１つ以上であってもよい。場合によっては、マルチモーダルシステムによって、ユーザが、計算デバイス６００と通信するための複数のタイプの入力を行うことが可能になる。通常、通信インタフェース６４０が、ユーザ入力とシステム出力とを管理してもよい。特定のハードウェア構成上で動作することについての制限はなく、従って、本明細書での基本的な特徴は、改良型のハードウェア構成やファームウェア構成が開発されれば、それらと容易に置き換わりうる。
【０１０４】
ストレージデバイス６３０は不揮発性メモリである。ストレージデバイス４３０はハードディスクや、コンピュータによってアクセス可能でありかつデータを保持可能な他のタイプのコンピュータ可読媒体、例えば、磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタルバーサタイルディスク、カートリッジ、ランダムアクセスメモリ（ＲＡＭｓ）６２５、読み取り専用メモリ（ＲＯＭ）６２０、それらのハイブリッド、等であってもよい。
【０１０５】
ストレージデバイス６３０は、プロセッサ６１０を制御するためのソフトウエアモジュール６３２、６３４、６３６を含んでいてもよい。その他のハードウエアモジュールやソフトウエアモジュールも考えられる。ストレージデバイス６３０は、システムバス６０５に接続されていてもよい。一態様では、或る機能を行うハードウエアモジュールは、プロセッサ６１０、バス６０５、ディスプレイ６３５等のような、その機能を実行するのに必要なハードウエアコンポーネントと関連してコンピュータ可読媒体の中に格納されたソフトウエアコンポーネントを含んでもよい。
【０１０６】
図６Ｂは、説明された方法を実行したりグラフィカルユーザインタフェース（ＧＵＩ）を生成して表示したりする際に使用可能なチップセットアーキテクチャを有するコンピュータシステム６５０を示す。コンピュータシステム６５０は、開示された技術を実施するのに使用可能なコンピュータハードウエア、ソフトウエアおよびファームウエアの一例である。システム６５０はプロセッサ６５５を含んでもよい。プロセッサ６５５は、ソフトウエア、ファームウエアおよび特定された計算を行うよう構成されたハードウエアを実行可能な、任意の数の物理的および／または論理的に別個のリソースを表す。プロセッサ６５５は、プロセッサ６５５への入力およびプロセッサ６５５からの出力を制御可能なチップセット６６０と通信してもよい。本例では、チップセット６６０はディスプレイなどの出力６６５へ情報を出力し、ストレージデバイス６７０に対して情報の読み書きを行ってもよい。ストレージデバイス６７０は例えば磁気媒体やソリッドステート媒体を含んでもよい。チップセット６６０はまた、ＲＡＭ６７５からデータを読み出し、ＲＡＭ６７５へデータを書き込んでもよい。チップセット６６０とのインタフェースのために、種々のユーザインタフェースコンポーネント６８５とのインタフェースとなるブリッジ６８０が提供されてもよい。そのようなユーザインタフェースコンポーネント６８５は、キーボードやマイクロフォンやタッチ検出および処理回路やマウスなどのポインティングデバイスなどを含んでもよい。一般に、システム６５０への入力は種々のソースのうちの任意のものから来てもよく、または機械により生成されおよび／または人により生成されてもよい。
【０１０７】
チップセット６６０は、異なる複数の物理的インタフェースを有しうるひとつ以上の通信インタフェース６９０と連結されてもよい。そのような通信インタフェースは、有線および無線ローカルエリアネットワークとのインタフェースと、ブロードバンド無線ネットワークとのインタフェースと、パーソナルエリアネットワークとのインタフェースと、を含んでもよい。本明細書で開示されるＧＵＩを生成し表示し使用する方法のいくつかの応用は、物理的なインタフェースを介して順序付けられたデータセットを受けること、または順序付けられたデータセットがプロセッサ６５５がストレージ６７０または６７５に保持されるデータを解析することで機械そのものにより生成されることを含んでもよい。さらに、機械はユーザインタフェースコンポーネント６８５を介してユーザから入力を受け、プロセッサ６５５を使用してこれらの入力を解釈することで、ブラウズ機能などの適切な機能を実行してもよい。
【０１０８】
例示的なシステム６００および６５０はひとつ以上のプロセッサ６１０を有してもよく、または処理能力を高めるためにネットワーク化された計算デバイスのグループまたはクラスタの一部であってもよいことは理解されるであろう。
【０１０９】
説明の明確化のため、ある例では、本技術はデバイスやデバイスコンポーネントやソフトウエアで実施される方法のステップまたはルーチンやハードウエアとソフトウエアとの組み合わせを含む機能ブロックを含む個々の機能ブロックを含むものとして提示されてもよい。
【０１１０】
ある実施の形態では、コンピュータ可読保持デバイス、媒体およびメモリは、ビットストリームを含むケーブルや無線信号などを含んでもよい。しかしながら、言及される場合、非一時的コンピュータ可読保持媒体は、エネルギやキャリア信号や電磁波や信号そのものなどの媒体を明示的に除外する。
【０１１１】
上述の例に係る方法は、コンピュータ可読媒体に保持されるかそうでなければその媒体から利用可能なコンピュータ実行可能インストラクションを使用して実装されてもよい。そのようなインストラクションは、例えば、汎用コンピュータ、専用コンピュータ、または専用処理デバイスに所定の機能もしくは機能のグループを実行させるかそうでなければ実行するよう設定するインストラクションおよびデータを含んでもよい。使用されるコンピュータリソースの一部はネットワークを介してアクセス可能であってもよい。コンピュータ実行可能インストラクションは、例えば、バイナリや、アセンブリ言語などの中間フォーマットインストラクションや、ファームウエアや、ソースコードであってもよい。インストラクション、使用される情報、および／または説明された例に係る方法中に生成される情報を保持するのに使用されうるコンピュータ可読媒体の例は、磁気または光学ディスク、フラッシュメモリ、不揮発性メモリを備えるＵＳＢデバイス、ネットワークストレージデバイスなどを含む。
【０１１２】
本開示に係る方法を実装するデバイスはハードウエア、ファームウエアおよび／またはソフトウエアを含んでもよく、種々の形状ファクタのうちの任意のものをとりうる。そのような形状ファクタの典型的な例は、ラップトップや、スマートフォンや、小さい形状ファクタのパーソナルコンピュータや、パーソナルデジタルアシスタントなどを含む。本明細書で説明される機能は周辺機器やアドインカードにおいて実現されてもよい。さらなる例として、そのような機能は回路基板上で異なる複数のチップの間でまたは単一デバイスで実行される異なる複数の処理の間で実現されてもよい。
【０１１３】
インストラクション、そのようなインストラクションを運ぶための媒体、そのようなインストラクションを実行するための計算リソース、およびそのような計算リソースをサポートするための他の構成は、本開示で説明される機能を提供するための手段である。
【０１１４】
添付の請求項の範囲内の態様を説明するために様々な例および他の情報が使用されたが、そのような例における特定の特徴や構成に基づくいかなる請求項の限定も暗示されてはならない。当業者であれば、これらの例を使用して多種多様な実装を導くことができるであろう。さらに、いくつかの主題が構造的特徴および／または方法ステップの例に特有の言語で記述されたかもしれないが、添付の請求項で規定される主題はこれらの記述された特徴や行為に限定される必要はないことは理解されるべきである。例えば、そのような機能は異なるように分散されてもよいし、本明細書で特定されたもの以外のコンポーネントで実行されてもよい。むしろ、記述された特徴およびステップは、添付の請求項の範囲内のシステムおよび方法のコンポーネントの例として開示される。
【図５Ａ】
2016533604.tif 000003
【図５Ｂ】
2016533604.tif 000004
【図６Ａ】
2016533604.tif 000005
【図６Ｂ】
2016533604.tif 000006
【図１】
2016533604.tif 000007
【図２】
2016533604.tif 000008
【図３】
2016533604.tif 000009
【図４】
2016533604.tif 000010
【手続補正書】
【提出日】平成28年3月28日(2016.3.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサが、クライアントデバイスにクライアント側アプリケーションをインストールするためのインストール要求を受け付けることであって、前記インストール要求はユーザアカウントに関連付けられることと、
前記インストール要求の識別タグを生成することと、
前記識別タグでタグ付けされたクライアントインストーラを前記クライアントデバイスに送信することであって、前記クライアントインストーラは前記クライアントデバイスに前記クライアント側アプリケーションをインストールするよう構成されることと、
前記識別タグを含む予備認証要求を受け付けると、前記クライアント側アプリケーションが前記ユーザアカウントにアクセスすることを認可することと、を含む方法。
【請求項２】
前記インストール要求は前記クライアントデバイスで実行されるウェブブラウザアプリケーションから送られる請求項１に記載の方法。
【請求項３】
前記クライアントインストーラはさらに前記ウェブブラウザアプリケーションを特定するウェブブラウザ識別子でタグ付けされる請求項２に記載の方法。
【請求項４】
前記プロセッサはコンテンツ管理システム上にあり、前記クライアントインストーラはさらに、
認証キーを生成し、
前記クライアント側アプリケーションの前記クライアントデバイスへのインストールが成功すると、前記ウェブブラウザアプリケーションに、前記コンテンツ管理システムへ認証メッセージを送信させるよう構成される請求項２または３に記載の方法。
【請求項５】
前記認証メッセージは、
前記ウェブブラウザアプリケーションによってキャッシュされたデータと、
前記識別タグと、
前記認証キーと、を備える請求項４に記載の方法。
【請求項６】
前記クライアントデバイスから前記認証メッセージを受け付けることと、
前記認証キーと前記インストール要求とを関連付けることと、をさらに含む請求項４または５に記載の方法。
【請求項７】
前記予備認証要求はさらに前記認証キーを含む請求項４に記載の方法。
【請求項８】
予備認証インデックスにエントリを作成することとをさらに含み、
前記エントリは、
前記識別タグと、
前記ユーザアカウントを特定するアカウント識別子と、
前記識別タグの生成時刻と、
ネットワークアドレスと、を含む請求項１から７のいずれか１項に記載の方法。
【請求項９】
前記識別タグの前記生成時刻から所定の時間内に前記予備認証要求が受け付けられた場合に前記識別タグは期限切れでないと判定することをさらに含む請求項８に記載の方法。
【請求項１０】
前記予備認証要求が要求元ネットワークアドレスから受け付けられたときのその要求元ネットワークアドレスを特定することと、
前記要求元ネットワークアドレスが前記予備認証インデックスの前記エントリの前記ネットワークアドレスとマッチする場合に前記識別タグは認証されたネットワークアドレスから受け付けられたと判定することと、をさらに含む請求項８または９に記載の方法。
【請求項１１】
前記予備認証インデックスの前記エントリに含まれる前記ネットワークアドレスは、前記インストール要求がネットワークアドレスから受け付けられたときのそのネットワークアドレスである請求項１０に記載の方法。
【請求項１２】
前記識別タグが過去に前記クライアント側アプリケーションを予備認証するために使用されていないと判定することであって、前記識別タグは前記クライアント側アプリケーションを予備認証するために一度だけ使用可能であることをさらに含む請求項８から１１のいずれか１項に記載の方法。
【請求項１３】
前記クライアント側アプリケーションが前記ユーザアカウントにアクセスすることを認可すると、前記識別タグが前記クライアント側アプリケーションを予備認証するために使用されたことを示すよう、前記予備認証インデックスの前記エントリにフラグを立てることをさらに含む請求項１２に記載の方法。
【請求項１４】
プロセッサと、
クライアントデバイスにクライアント側アプリケーションをインスト−ルするためのインストール要求を受け付ける手段と、
前記インストール要求がユーザアカウントに関連付けられていると判定する手段と、
前記インストール要求の識別タグを生成する手段と、
前記識別タグでタグ付けされたクライアントインストーラを前記クライアントデバイスに送信する手段であって、前記クライアントインストーラは前記クライアントデバイスに前記クライアント側アプリケーションをインストールするよう構成される手段と、
前記識別タグを含む予備認証要求を受け付ける手段と、
前記識別タグが生成されてから所定の時間内に前記予備認証要求が受け付けられたことを判定する手段と、
前記クライアント側アプリケーションが前記ユーザアカウントにアクセスすることを認可する手段と、を備えるコンテンツ管理システム。
【請求項１５】
前記識別タグが生成されてから所定の時間内に前記予備認証要求が受け付けられたことを判定することは、
前記予備認証要求が受け付けられた要求時刻と前記識別タグの生成時刻とを比較することを含む請求項１４に記載のコンテンツ管理システム。
【請求項１６】
インストラクションを含む非一時的コンピュータ可読媒体であって、該インストラクションは計算デバイスによって実行された場合、前記計算デバイスに、
クライアントデバイスにクライアント側アプリケーションをインスト−ルするためのインストール要求を受け付けることと、
前記インストール要求が第１ユーザアカウントおよび第２ユーザアカウントに関連付けられていることを判定することと、
前記インストール要求の識別タグを生成することと、
前記識別タグでタグ付けされたクライアントインストーラを前記クライアントデバイスに送信することであって、前記クライアントインストーラは前記クライアントデバイスに前記クライアント側アプリケーションをインストールするよう構成されることと、
前記識別タグを含む予備認証要求を受け付けることと、
少なくともひとつの検証基準が満たされていることを判定することと、
前記クライアント側アプリケーションが前記第１ユーザアカウントおよび前記第２ユーザアカウントにアクセスすることを認可することと、を行わせる非一時的コンピュータ可読媒体。
【請求項１７】
前記少なくともひとつの検証基準は前記識別タグが前記クライアント側アプリケーションを予備認証するためにまだ使用されていないことである請求項１６に記載の非一時的コンピュータ可読媒体。
【請求項１８】
前記少なくともひとつの検証基準は前記識別タグが期限切れでないことである請求項１６に記載の非一時的コンピュータ可読媒体。
【請求項１９】
前記識別タグは前記識別タグが生成されてから所定の時間が経過すると期限切れとなる請求項１８に記載の非一時的コンピュータ可読媒体。
【請求項２０】
前記少なくともひとつの検証基準は前記予備認証要求および前記インストール要求が同じネットワークアドレスから受け付けられたことである請求項１６に記載の非一時的コンピュータ可読媒体。
【国際調査報告】
2016533604.tif 000011
2016533604.tif 000012
2016533604.tif 000013