(58)【調査した分野】(Int.Cl.,DB名)
前記クライアントサイド・アプリケーションのインストールに必要なデータをダウンロードするためのダウンロード要求であって、前記クライアントデバイスで実行される前記ライトインストーラによって送信される前記ダウンロード要求を、前記クライアントデバイスから受信する工程と、
前記クライアントサイド・アプリケーションのインストールに必要な前記データを前記クライアントデバイスへ送信する工程と、を更に含み、前記クライアントサイド・アプリケーションのインストールに必要な前記データは、前記クライアントサイド・アプリケーションのインストールに必要な前記データを前記クライアントデバイスが受信することに応じて、前記クライアントサイド・アプリケーションをインストールするために前記ライトインストーラによって使用される
ことを特徴とする請求項1に記載の方法。
前記ライトインストーラにタグ付けされた前記アカウント識別子を含む進捗報告メッセージであって、前記クライアントデバイスへの前記クライアントサイド・アプリケーションのインストールについての現在の状態を示す前記進捗報告メッセージを、前記クライアントデバイスから受信する工程と、
前記進捗報告メッセージを、前記アカウント識別子によって識別される前記ユーザアカウントと関連付ける工程と、を更に含む
ことを特徴とする請求項1に記載の方法。
前記事前権限付与要求を許可する工程は、前記アカウント識別子によって識別される前記ユーザアカウントにアクセスすることを前記要求クライアントデバイスに許可する工程を含む
ことを特徴とする請求項1に記載の方法。
前記事前権限付与要求を許可することは、前記アカウント識別子によって識別される前記ユーザアカウントにアクセスすることを前記要求クライアントデバイスに許可することを含む
ことを特徴とする請求項5に記載のシステム。
【発明を実施するための形態】
【0017】
本開示の種々の実施形態について以下で詳しく議論する。具体的な実施形態について議論するものの、これは例示のみを目的として行われていると理解されるべきである。当業者であれば、本開示の精神及び範囲を逸脱せずに他の構成要素及び構成が使用されうることを理解するであろう。
【0018】
開示した技術は、当該技術分野における、ライトインストーラを利用してクライアントサイド・アプリケーションをクライアントデバイスにインストールする必要性に対処する。ライトインストーラは、必要となるデータ及び権限付与をユーザに求め、コンテンツ管理システムと通信し、追加のリソースをダウンロードし、かつ、クライアントサイド・アプリケーションをインストールするのに必要な情報等の、インストールプロセスを開始するのに必要な情報のみを含むインストーラでありうる。ライトインストーラのサイズを最小限にすることによって、ライトインストーラが迅速にダウンロード可能になり、その後に短時間でクライアントサイド・アプリケーションのインストールが開始可能になる。
【0019】
更に、ライトインストーラは、インストールプロセスに伴うユーザ・インタラクション時間を最小限にするよう構成されうる。例えば、ライトインストーラは、インストールプロセスの初期に、任意の必要な情報及び権限付与をユーザに求めるように構成されうる。更に、ライトインストーラは、ユーザからの更なる権限付与なしでクライアントサイド・アプリケーションの全コンポーネントをライトインストーラがインストールできるようにする、管理権限付与を要求しうる。迅速なダウンロード時間の組み合わせ、インストールプロセスにおいて早期に全てのユーザ・インタラクションを進めること、及び管理権限付与を取得することによって、クライアントサイド・アプリケーションのインストールをユーザが要求してから、インストールのための全ての必要な入力を当該ユーザが提供するまでの時間を、大いに最小限に抑える結果となりうる。これにより、クライアントサイド・アプリケーションのインストールをユーザが完遂する可能性を増加させることができる。
【0020】
いくつかの実施形態では、コンテンツ管理システムは、インストールプロセスの間に使用されるデータをライトインストーラにタグ付けしうる。例えば、ライトインストーラには、クライアントデバイスに関連付けられたユーザアカウントを識別するデータがタグ付けされうる。タグ付けされたデータは、報告、インストールプロセスの間のデータの事前設定、インストールプロセスのカスタマイズ等のために使用されうる。
【0021】
更に、いくつかの実施形態では、タグ付けされたデータは、インストールプロセスの完遂に応じた、クライアントサイド・アプリケーションへの事前権限付与のために使用されうる。クライアントサイド・アプリケーションへの事前権限付与は、ユーザアカウント・クレデンシャルを事前設定することを含みうる。あるいは、事前権限付与は、クライアントサイド・アプリケーションを、クライアントデバイスに関連付けられたアカウントへ自動的にログインさせることを含みうる。これは、コンテンツ管理システム上のアカウントへのクライアントサイド・アプリケーションのアクセスを許可することを含みうる。
【0022】
図1は、例示的なシステム構成100を示しており、同図において、電子機器は、コンテンツ及び他のデータをやりとりするために、ネットワークを介して通信する。当該システムは、
図1に示されるようなワイドエリアネットワークで使用されるように構成されうる。しかし、本原理は、電子機器の相互通信を促進する多くの種類のネットワーク構成に適用可能である。例えば、
図1のシステム100の各コンポーネントは、ネットワーク内で局所的または分散的な方法で実現されうる。
【0023】
システム100において、ユーザは、直接及び/または間接の通信によりネットワーク104に接続されたクライアントデバイス102
1,102
2,...,102
n(まとめて「102」)を通じて、コンテンツ管理システム106とのインタラクションが可能である。コンテンツ管理システム106は、デスクトップコンピュータ、モバイル通信デバイス(例えば、携帯電話、スマートフォン、タブレット)、セットトップボックス、及び/または他の任意のネットワーク使用可能なコンピューティングデバイスといった、種々の異なるクライアントデバイスからの接続をサポート可能である。クライアントデバイス102は、様々なタイプ、能力、オペレーティングシステム等のものであってよい。更には、コンテンツ管理システム106は、複数のクライアントデバイス102からの接続を同時に受け付けることが可能であるとともに、複数のクライアントデバイス102と同時にインタラクションを行うことが可能である。
【0024】
ユーザは、クライアントデバイス102
iにインストールされたクライアントサイド・アプリケーションを介して、コンテンツ管理システム106とのインタラクションを行うことが可能である。いくつかの実施形態では、クライアントサイド・アプリケーションは、コンテンツ管理システム固有のコンポーネントを含みうる。例えば、当該コンポーネントは、スタンドアロン・アプリケーション、一つ以上のアプリケーション・プラグイン、及び/またはブラウザ拡張であってもよい。しかし、ユーザは、クライアントデバイス102
iに存在し、かつ、コンテンツ管理システム106と通信するよう構成された、ウェブブラウザ等のサードパーティ・アプリケーションを介して、コンテンツ管理システム106とのインタラクションを行うことも可能である。それぞれのケースにおいて、クライアントサイド・アプリケーションは、コンテンツ管理システム106とのインタラクションをユーザが行うためのユーザインタフェース(UI)を提示しうる。例えば、ユーザは、ファイルシステムと一体化したクライアントサイド・アプリケーションを介して、または、ウェブブラウザ・アプリケーションを用いて表示されるウェブページを介して、コンテンツ管理システム106とのインタラクションを行うことが可能である。
【0025】
コンテンツ管理システム106は、ユーザがコンテンツを保存するのを可能にしうるとともに、コンテンツの取り出し、変更、ブラウジング及び/または共有といった種々のコンテンツ管理タスクをユーザが実行することを可能にうる。更には、コンテンツ管理システム106は、ユーザが複数のクライアントデバイス102からコンテンツにアクセスすることを可能にしうる。例えば、クライアントデバイス102
iは、ネットワーク104を介してコンテンツ管理システム106へコンテンツをアップロード可能である。当該コンテンツは、その後、同一のクライアントデバイス102
iまたは他の何らかのクライアントデバイス102
jを使用して、コンテンツ管理システム106から取り出し可能である。
【0026】
種々のコンテンツ管理サービスを促進するために、ユーザは、コンテンツ管理システム106のアカウントを作成できる。アカウント情報は、ユーザアカウント・データベース150に保持されうる。ユーザアカウント・データベース150には、登録されたユーザについてのプロファイル情報を保存できる。場合によっては、ユーザプロファイルの個人情報のみは、ユーザ名及び/または電子メールアドレスであってもよい。しかし、コンテンツ管理システム106は、追加のユーザ情報を受け付けるように構成されてもよい。
【0027】
ユーザアカウント・データベース150は、アカウントタイプ(例えば、フリーまたは有料)、利用情報(例えば、ファイル編集履歴)、権限を与えられた最大ストレージスペース、使用済みのストレージスペース、コンテンツ格納先、セキュリティ設定、個人コンフィギュレーション設定、コンテンツ共有データ等の、アカウント管理情報を含むことも可能である。アカウント管理モジュール124は、ユーザアカウント・データベース150内のユーザアカウントの詳細を更新及び/または取得するように構成されうる。アカウント管理モジュール124は、コンテンツ管理システム106内の任意の数の他のモジュールとのインタラクションを行うように構成されうる。
【0028】
アカウントは、当該アカウントに対して権限付与された一つ以上のクライアントデバイス102から、デジタルデータ、ドキュメント、テキストファイル、音声ファイル、映像ファイル等のコンテンツを保存するために使用されうる。コンテンツは、更に、異なる挙動を有する種々のタイプのフォルダを含みうるか、または、コレクション、プレイリスト、アルバム等の、コンテンツアイテムを一緒にグループ化する他のメカニズムを含みうる。例えば、アカウントは、あらゆるユーザがアクセス可能なパブリックフォルダを含みうる。パブリックフォルダは、ウェブアクセス可能なアドレスを割り当てられうる。パブリックフォルダのコンテンツにアクセスするために、ウェブアクセス可能なアドレスへのリンクが使用されうる。他の例では、アカウントは、写真を対象とし、かつ、写真に合った特有の属性及び動作を提供する写真フォルダ、音声ファイルを再生し、かつ、他の音声関連動作を実行する能力を提供する音声フォルダ、または、他の特殊用途フォルダを含みうる。アカウントは、複数のユーザアカウントとリンクされ、かつ、複数のユーザアカウントが利用可能な共有フォルダまたはグループフォルダも含みうる。複数のユーザへの許可は、共有フォルダによって異なっていてもよい。
【0029】
コンテンツは、コンテンツストレージ160に保存されうる。コンテンツストレージ160は、ストレージデバイスであってもよいし、複数のストレージデバイスであってもよいし、またはサーバであってもよい。あるいは、コンテンツストレージ160は、一つ以上の通信ネットワークを介してアクセス可能なクラウドストレージ・プロバイダまたはネットワークストレージであってもよい。コンテンツ管理システム106は、コンテンツアイテムがコンテンツ管理システム106によってどこに保存されているかをクライアントデバイス102が正確に知る必要がないように、クライアントデバイス102に複雑度及び詳細を隠しうる。一つの変形において、コンテンツ管理システム106は、コンテンツアイテムを、クライアントデバイス102上に現れるのと同じフォルダ階層で保存しうる。しかし、コンテンツ管理システム106は、コンテンツアイテムを、それ独自の順序、配置または階層で保存しうる。コンテンツ管理システム106は、コンテンツアイテムを、ネットワークアクセス可能ストレージ(SAN)デバイス、複数の個別ディスクから成る冗長アレイ(RAID)等に保存しうる。コンテンツストレージ160は、コンテンツアイテムを、一つ以上のパーティションタイプ(FAT、FAT32、NTFS、EXT2、EXT3、EXT4、ReiserFS、BTRFS等)を使用して保存しうる。
【0030】
コンテンツストレージ160は、コンテンツアイテムを記述したメタデータ、コンテンツアイテムのタイプ、及び、種々のアカウント、フォルダまたはグループに対するコンテンツアイテムの関係の保存もしうる。コンテンツアイテム用のメタデータは、当該コンテンツアイテムの一部として保存されうるか、または個別に保存されうる。一つの変形において、コンテンツストレージ160に保存されるコンテンツアイテムは、システム全体で固有の識別子を割り当てられうる。
【0031】
コンテンツストレージ160は、重複ファイルまたはファイルの重複セグメントを識別することで、必要となるストレージスペースの量を低減しうる。複数のコピーを保存することに代えて、コンテンツストレージ160は、単一のコピーを保存しうるとともに、その後に、当該単一のコピーに複製をリンクさせるポインタまたは他のメカニズムを使用しうる。同様に、コンテンツストレージ160は、より効率的にファイルを保存しうるとともに、ファイルに対する変更を追跡するファイルバージョン制御、(分岐バージョンツリーを含む)ファイルの異なるバージョン、及び変更履歴を使用することによって、動作を取り消す能力を提供しうる。変更履歴は、最初のファイルバージョンに適用された際に変更ファイルバージョンを生成する変更のセットを含みうる。
【0032】
コンテンツ管理システム106は、一つ以上のクライアントデバイス102からのコンテンツの自動同期をサポートするように構成されうる。当該同期は、プラットフォーム非依存型であってもよい。即ち、様々なタイプ、能力、オペレーティングシステム等の複数のクライアントデバイス102にわたってコンテンツが同期化されうる。例えば、クライアントデバイス102
iは、クライアントデバイス102
iのファイルシステムのコンテンツを、関連付けられたユーザアカウントのコンテンツと、コンテンツ管理システム106の同期モジュール132を介して同期化するクライアントソフトウェアを含みうる。場合によっては、クライアントソフトウェアは、新しい、削除された、変更された、コピーされた、または移動されたファイルまたはフォルダといった、指定されたフォルダ及びそのフォルダ内のコンテンツに対するあらゆる変更を同期化しうる。クライアントソフトウェアは、個別のソフトウェアアプリケーションであってもよいし、オペレーティングシステム既存のコンテンツ管理アプリケーションと一体化されてもよいし、または、それらの何らかの組み合わせであってもよい。既存のコンテンツ管理アプリケーションと一体化したクライアントソフトウェアの一例では、ユーザは、ローカルフォルダ内で直接的にコンテンツを操作可能である一方で、バックグラウンドプロセスは、変更に関して当該ローカルフォルダを監視し、かつ、それらの変更をコンテンツ管理システム106に同期化する。逆に、当該バックグラウンドプロセスは、コンテンツ管理システム106において更新されているコンテンツを識別し、かつ、それらの変更をローカルフォルダに同期化しうる。クライアントソフトウェアは、同期動作の通知を提供しうるとともに、コンテンツ管理アプリケーション内で直接的にコンテンツ状況の指標を提供しうる。時には、クライアントデバイス102は、利用可能なネットワーク接続を有していないことがある。このシナリオでは、クライアントソフトウェアは、リンクされたフォルダをファイル変更に関して監視しうるとともに、ネットワーク接続が利用可能となった際の、コンテンツ管理システム106へのその後の同期のために、それらの変更をキューイングしうる。同様に、ユーザは、コンテンツ管理システム106との同期を手動で停止または中断できる。
【0033】
ユーザは、ユーザインタフェースモジュール122によって生成及びサービスされるウェブインタフェースを介して、コンテンツを見る、または操作することも可能である。例えば、ユーザは、ウェブブラウザ内で、コンテンツ管理システム106によって提供されるウェブアドレスに対してナビゲートできる。ファイルの新しいバージョンのアップロード等の、ウェブインタフェースを通じて行われるコンテンツストレージ160内のコンテンツの変更または更新は、ユーザアカウントに関連付けられた他のクライアントデバイス102のもとへ伝えられうる。例えば、複数のクライアントデバイス102は、それぞれが独自のクライアントソフトウェアを有し、単一のアカウントと関連付けられうるとともに、当該アカウント内のファイルは、複数のクライアントデバイス102のそれぞれの間で同期化されうる。
【0034】
コンテンツ管理システム106は、種々のクライアントデバイス102とインタフェースする通信インタフェース120を含みうるとともに、アプリケーションプログラミングインタフェース(API)を介して他のコンテンツプロバイダ及び/またはサービスプロバイダ109
1,109
2,...,109
n(まとめて「109」)とのインタラクションを行いうる。特定のソフトウェアアプリケーションは、ユーザの代わりにAPIを介してコンテンツストレージ160にアクセスしうる。例えば、スマートフォンまたはタブレット型コンピューティングデバイス上のアプリのようなソフトウェアパッケージは、コンテンツの読み取り、書き込み、作成、削除、共有またはその他の操作を行うためにユーザがクレデンシャルを提供する際に、コンテンツ管理システム106にプログラムで直接的に発呼しうる。同様に、APIは、ユーザがウェブサイトを介してコンテンツストレージ160の全てまたは一部にアクセスすることを可能にする。
【0035】
コンテンツ管理システム106は、権限付与されたクライアント及びユーザのみファイルにアクセスすることを確保するために、ユーザ・クレデンシャル、セキュリティトークン、API呼、特定のクライアントデバイス等を検証しうる認証モジュール126も含みうる。更に、コンテンツ管理システム106は、アグリゲートファイル操作、ユーザ動作、ネットワーク利用、使用済みの全ストレージスペースと、他の技術、利用またはビジネスメトリックとについての追跡及び報告をしうる分析モジュール134を含みうる。プライバシー及び/またはセキュリティポリシーは、コンテンツ管理システム106に保存されたユーザデータへの権限のないアクセスを防止しうる。
【0036】
コンテンツ管理システム106は、コンテンツの公開または非公開による共有を管理する共有モジュール130を含みうる。公開によるコンテンツの共有は、コンテンツアイテムを、コンテンツ管理システム106とネットワーク通信するあらゆるコンピューティングデバイスからアクセス可能にすることを含みうる。非公開によるコンテンツの共有は、各ユーザアカウントがコンテンツアイテムにアクセス可能になるように、コンテンツストレージ160内の当該コンテンツアイテムを、二つ以上のユーザアカウントとリンクさせることを含みうる。この共有は、プラットフォーム非依存で実行されうる。即ち、コンテンツは、様々なタイプ、能力、オペレーティングシステム等の複数のクライアントデバイス102間で共有されうる。コンテンツは更に、様々なタイプのユーザアカウント間で共有されうる。
【0037】
いくつかの実施形態では、コンテンツ管理システム106は、コンテンツストレージ160内の各コンテンツアイテムの場所を識別するコンテンツディレクトリを維持するように構成されうる。コンテンツディレクトリは、コンテンツストレージに保存されているコンテンツアイテムごとに固有のコンテンツエントリを含みうる。
【0038】
コンテンツエントリは、コンテンツ管理システム内のコンテンツアイテムの場所を識別するために使用されうるコンテンツパスを含みうる。例えば、コンテンツパスは、コンテンツアイテム名と、当該コンテンツアイテムに関連付けられたフォルダ階層とを含みうる。例えば、コンテンツパスは、コンテンツアイテムが配置されたフォルダまたはフォルダのパスとコンテンツアイテム名とを含みうる。コンテンツ管理システム106は、コンテンツパスを使用して、適切なフォルダ階層内にコンテンツアイテムを提示しうる。
【0039】
コンテンツエントリは、コンテンツストレージ160内のコンテンツアイテムの場所を識別するコンテンツポインタも含みうる。例えば、コンテンツポインタは、メモリ内のコンテンツアイテムの正確なストレージアドレスを含みうる。いくつかの実施形態では、コンテンツポインタは、それぞれがコンテンツアイテムの一部を含む複数の場所を指し示しうる。
【0040】
コンテンツパス及びコンテンツポインタに加えて、コンテンツエントリは、コンテンツアイテムへのアクセスをアクセス可能なユーザアカウントを識別するユーザアカウント識別子も含みうる。いくつかの実施形態では、複数のユーザアカウント識別子は、コンテンツアイテムが複数のユーザアカウントによる共有アクセスが可能であることを示す単一のコンテンツエントリと関連付けられうる。
【0041】
非公開によりコンテンツアイテムを共有するために、共有モジュール130は、コンテンツアイテムと関連付けられたコンテンツエントリにユーザアカウント識別子を追加するように構成されてもよく、これにより、コンテンツアイテムへのアクセスが、追加されたユーザアカウントに許可される。共有モジュール130は更に、コンテンツアイテムへのユーザアカウントのアクセスを制限するために、コンテンツエントリからユーザアカウント識別子を削除するように構成されうる。
【0042】
公開によりコンテンツを共有するために、共有モジュール130は、あらゆるブラウザが認証なしでコンテンツ管理システム106へアクセスすることを可能にする、ユニフォームリソースロケータ(URL)等のカスタムネットワークアドレスを生成するように構成されうる。これを実現するために、共有モジュール130は、要求されたコンテンツアイテムを適切に識別して返送するために後で用いられうるコンテンツ識別子を、生成されたURLに含めるように構成されうる。例えば、共有モジュール130は、生成されたURLに、ユーザアカウント識別子及びコンテンツパスを含めるように構成されうる。URLの選択に応じて、当該URLに含まれるコンテンツ識別子データは、受信したコンテンツ識別子データを使用して適切なコンテンツエントリを識別し、かつ、当該コンテンツエントリに関連付けられたコンテンツアイテムを返送しうるコンテンツ管理システム106へ送信されうる。
【0043】
URLの生成に加えて、共有モジュール130は更に、コンテンツアイテムへのURLが作成されたことを記録するように構成されうる。いくつかの実施形態では、コンテンツアイテムに関連付けられたコンテンツエントリは、コンテンツアイテムへのURLが作成されたかどうかを示すURLフラグを含みうる。例えば、URLフラグは、コンテンツアイテムへのURLが作成されていないことを示しうる0又は偽に最初に設定されるブール値であってもよい。共有モジュール130は、コンテンツアイテムへのURLが生成された後にフラグの値を1又は真に変更するように構成されうる。
【0044】
いくつかの実施形態では、共有モジュール130は更に、生成されたURLを非アクティブ化するように構成されうる。例えば、各コンテンツエントリは更に、生成されたURLからの要求に応じてコンテンツを返送すべきかどうかを示すURLアクティブフラグを含みうる。例えば、共有モジュール130は、URLアクティブフラグが1又は真に設定されている場合に生成されたリンクによって要求されたコンテンツアイテムのみを返送するように構成されうる。このようにして、URLが生成されているコンテンツアイテムへのアクセスを、URLアクティブフラグの値を変更することによって容易に制限できる。これにより、ユーザが、コンテンツアイテムを移動させたり生成されたURLを削除したりすることなく、共有コンテンツへのアクセスを制限することが可能になる。同様に、共有モジュール130は、URLアクティブフラグの値を1又は真に再び変更することによってURLを再アクティブ化できる。このため、ユーザは、新たなURLを生成する必要なくコンテンツアイテムへのアクセスを容易に復元できる。
【0045】
コンテンツ管理システム106は、特定のコンポーネントを与えられて示されているものの、当業者は、システム106の構造上の構成が単に一つの可能性のある構成であること、及び、多少のコンポーネントが与えられた他の構成も可能であることを理解すべきである。例えば、いくつかの実施形態では、コンテンツ管理システム106は、クライアントデバイス102
iがコンテンツ管理システム106とインタラクションを行うことを可能にするクライアントサイド・アプリケーションをインストールするように構成されたクライアントデバイス102
iに、ライトインストーラを提供しうる。ライトインストーラは、クライアントデバイス102
iにクライアントサイド・アプリケーションをインストールするのに必要なユーザ時間及びインタラクションを最小限にするよう構成されたアプリケーションであってよく、それにより、クライアントサイド・アプリケーションのインストールが完遂される可能性が増加する。
【0046】
これを実現するために、コンテンツ管理システム106は、クライアントデバイス102
iにライトインストーラを提供し、かつ、クライアントデバイス102
iに対するクライアントサイド・アプリケーションのインストールを支援するライトイントーラと通信するように構成されたクライアントインストールモジュール136を含みうる。クライアントサイド・アプリケーションのインストールに必要なユーザ時間及びインタラクションの量を最小限にするために、ライトインストーラは、クライアントサイド・アプリケーションのインストールを開始するために必要なデータのみを含みうる。例えば、ライトインストーラは、インストールプロセスを開始するためにクライアントデバイス102
iがコンテンツ管理システム106とのインタラクションを行えるようにするとともに、必要となる任意の情報及び/または権限付与をユーザに求めるのに必要なデータだけを含みうる。
【0047】
クライアントサイド・アプリケーションのインストールを開始するのに必要なデータのみを含むようにライトインストーラのサイズを低減することによって、ライトインストーラのインストールを開始するのに必要なダウンロード時間を大幅に低減できる。これにより、クライアントサイド・アプリケーションのダウンロードを要求後に可能な限り早くにユーザがクライアントサイド・アプリケーションのインストールプロセスを開始させることが可能になり、その結果、ユーザが当該プロセスを完遂するのを忘れるか当該プロセスを中止する可能性が最小限になる。
【0048】
更に、ライトインストーラは、クライアントサイド・アプリケーションのインストールに必要なユーザ・インタラクション時間を最小限にするよう構成されうる。例えば、インストールプロセスは、ユーザ名、パスワード、連絡先情報等の、必要な情報を入力することをユーザに要求しうる。更に、インストールプロセスは、クライアントデバイス102
iにクライアントサイド・アプリケーションをインストールする権限をライトインストーラに付与することをユーザに要求しうる。これは、ライトインストーラの任意の更なるコンポーネントを自由にインストールするための管理権を、ライトインストーラに与えることを含みうる。ユーザ・インタラクション時間を最小限にするために、ライトインストーラは、インストールプロセスの初期に、任意の必要な情報をユーザに求めるように構成されうる。更に、ライトインストーラは、クライアントサイド・アプリケーションの任意の更なるコンポーネントをインストールすることをライトインストーラに許可することを、ユーザに求めるように構成されうる。必要な情報及び権限付与をユーザからインストールプロセスの初期に取得することによって、ユーザは、インストールについてユーザが興味を失うまたは忘れることにつながる、長時間待機すること及び繰り返しインストーラに戻る必要なしで、必要なインタラクションを迅速に行うことができる。
【0049】
クライアントデバイス102
iにライトインストーラを提供するために、クライアントインストールモジュール136は、クライアントデバイス102
iがクライアントサイド・アプリケーションのインストールを要求したことに応じて、ライトインストーラをクライアントデバイス102
iに送信するように構成されうる。例えば、ユーザは、クライアントデバイス102
iへのクライアントサイド・アプリケーションのインストールを要求するために、ウェブブラウザやアップストア・アプリケーション等の異なるアプリケーションを使用してコンテンツ管理システム106とのインタラクションを行いうる。クライアントインストールモジュール136は、当該要求の受信に応じて、クライアントデバイス102
iにライトインストーラを送信するように構成されうる。
【0050】
一度ライトインストーラがクライアントデバイス102
iへダウンロードされると、ライトインストーラは、クライアントサイド・アプリケーションのインストールを開始しうる。これは、必要なデータ及び権限付与をユーザに求めること、クライアントデバイス102
i上にアプリケーションフォルダを作成すること、集められたデータをコンテンツ管理システム106へ送信すること、及び、クライアントサイド・アプリケーションのインストールを完遂するために必要とされるリソースを要求することを含みうる。
【0051】
いくつかの実施形態では、クライアントインストールモジュール136は、クライアントデバイス102
iにライトインストーラを送信する前に、当該ライトインストーラに情報をタグ付けするように構成されうる。ライトインストーラへの情報のタグ付けは、ライトインストーラ内にデータを埋め込むことを含みうる。
【0052】
いくつかの実施形態では、クライアントインストールモジュール136は、ライトインストーラをコンテンツ管理システム106上の既存のユーザアカウントと関連付けるデータを、当該ライトインストーラにタグ付けするように構成されうる。例えば、ウェブブラウザ・アプリケーションを使用してユーザアカウントを作成したユーザが、クライアントサイド・アプリケーションをインストールすることを望む可能性がある。クライアントインストールモジュール136は、要求ユーザが既存のアカウントを有していることを判定し、当該既存のアカウントに基づいてライトインストーラにデータをタグ付けするように構成されうる。例えば、当該データは、既存のユーザアカウントを識別するために使用される固有のアカウント識別子を含みうる。
【0053】
要求ユーザが既存のユーザアカウントを有しているかどうかを判定するために、いくつかの実施形態では、クライアントインストールモジュール136は、クライアントサイド・アプリケーションのダウンロード要求が行われた際に、要求ユーザが現在、ユーザアカウントにログインしているかどうかを検出するように構成されうる。例えば、ユーザは、ウェブブラウザ・アプリケーションを使用してユーザアカウントにログインし、その後、ウェブブラウザ・アプリケーションを介してクライアントサイド・アプリケーションのダウンロードを要求しうる。要求ユーザが現在、既存のユーザアカウントにログインしていることをクライアントインストールモジュール136が検出した場合、クライアントインストールモジュール136は、要求ユーザが既存のユーザアカウントを有していると判定しうる。
【0054】
あるいは、いくつかの実施形態では、クライアントインストールモジュール136は、要求ユーザが既存のユーザアカウントを有していることをクライアントデバイス102
iに基づいて検出するように構成されうる。例えば、いくつかの実施形態では、クライアントインストールモジュール136は、クライアントデバイス102
iを識別する固有の識別子を集め、その後、当該固有の識別子を使用してクライアントデバイス102
iで権限付与された任意のユーザアカウントを検索するように構成されうる。いくつかの実施形態では、クライアントインストールモジュール136は、当該固有の識別子を、クライアントサイド・アプリケーションのダウンロードの要求の一部としてクライアントデバイス102
iから受信しうる。あるいは、クライアントインストールモジュール136は、当該固有の識別子を要求及び受信するためにクライアントデバイス102
iと通信するように構成されうる。
【0055】
ライトインストーラにタグ付けされたデータは、多数の目的のために使用されうる。いくつかの実施形態では、タグ付けされたデータは、報告目的のために使用されうる。例えば、ライトインストーラは、クライアントサイド・アプリケーションのインストールの進捗についてコンテンツ管理システム106に通知する情報を、コンテンツ管理システム106へ定期的に送信するように構成されうる。この定期的な報告は、ユーザアカウントを識別する埋め込みデータを含んでもよく、それにより、コンテンツ管理システムが進捗報告を既存のアカウントと関連付けることが可能になる。ユーザがインストールの完遂に失敗した場合、コンテンツ管理システム106は、当該ユーザにリマインダまたはインセンティブを送りうる。
【0056】
ライトインストーラは、ユーザが要求されたデータを入力したこと、ユーザが権限付与を提供したこと、規定の割合のデータがダウンロードされたこと、ダウンロードが完了したこと等の、所定のマイルストーンにインストールプロセスが達した際に、報告メッセージを送信するように構成されうる。更に、ライトインストーラは、インストールプロセスの間にエラーまたは問題が生じた場合に、あるいはインストールプロセスがキャンセルされた場合に、報告メッセージを送信するように構成されうる。
【0057】
報告に加えて、タグ付けされたデータは更に、ユーザが、新しいアカウントを作成するのではなく、その既存のアカウントを使用してクライアントサイド・アプリケーションをインストールすることを確保するために使用されうる。場合によっては、ユーザは、クライアントサイド・アプリケーションをインストールする際にうっかりまたは知らずに新しいログイン情報を入力し、その結果、二つの個別のユーザアカウントがコンテンツ管理システム106上に生じることになりうる。これは、ユーザのコンテンツが当該二つのアカウントにわたって分割されてユーザの混乱を生み出すため、または、ユーザが最初のアカウントを放棄してコンテンツ管理システム106内で多数の未使用のユーザアカウントが生じることにつながりうるため、望ましくない。
【0058】
クライアントサイド・アプリケーションのインストール時にユーザが新しいアカウントを作成するのを阻止するために、いくつかの実施形態では、ライトインストーラにタグ付けされたデータは、ユーザ・クレデンシャル等のユーザアカウントデータを事前設定(pre-populate)するために使用されうる。例えば、ライトインストーラにタグ付けされたデータは、ユーザの既存ユーザアカウントと関連付けられた電子メールアドレスまたはユーザ名を含みうる。このデータは、インストール中に適切なフィールドに事前設定され、それにより、当該ユーザアカウントに関連付けられた適切なパスワードの入力がユーザに求められうる。
【0059】
あるいは、いくつかの実施形態では、ライトインストーラは、当該ライトインストーラにタグ付けされたデータに基づいて、ユーザに別の求めを行うように構成されうる。例えば、既存のユーザアカウントを識別するデータがライトインストーラにタグ付けされている場合に、当該ライトインストーラは、既存のユーザアカウント用のユーザ名及びパスワードを入力することを求めるように構成されうる。あるいは、ライトインストーラにデータがタグ付けされていないか、要求ユーザと関連付けられた既存のユーザアカウントが存在しないことを示すデータがタグ付けされている場合に、ライトインストーラは、新しいアカウントを作成するためのデータの入力をユーザに求めうる。
【0060】
更には、いくつかの実施形態では、ライトインストーラにタグ付けされたデータは、インストールの完了に応じてクライアントサイド・アカウントに事前権限付与を行うために使用されうる。クライアントサイド・アプリケーションへの事前権限付与は、ユーザアカウント・クレデンシャルを事前設定することを含みうる。あるいは、事前権限付与は、ユーザがそのアカウントに自動的にログインすることを含みうる。これを実現するために、ウェブブラウザを介して提供されたユーザ・クレデンシャルが、例えばセキュアトークンのやりとりを通じて、同じユーザアカウントにアクセスする権限を付与するためにクライアントサイド・アプリケーションへ提供されうる。ウェブブラウザ・アプリケーションを使用してアカウントにログインし、その後、当該アカウントにまだログインしている間にクライアントサイド・アプリケーションのインストールを開始させたユーザは、インストールプロセスの一部としてクライアントサイド・アプリケーション上のアカウントに自動的にログインされうる。
【0061】
このタイプの実施形態では、クライアントインストールモジュール136は、クライアントサイド・アプリケーションのインストールの要求をクライアントデバイス102
iから受信すると、要求ユーザが現在、ユーザアカウントにログインしているかどうかを判定するように構成されうる。例えば、クライアントインストールモジュール136は、例えばウェブブラウザ・アプリケーションを使用してクライアントデバイス102
iがユーザアカウントにログインしているかどうかを判定しうる。クライアントインストールモジュール136は、クライアントデバイス102
iがユーザアカウントにログインしていると判定した場合、クライアントインストールモジュール136は、当該ユーザアカウントを識別するデータをライトインストーラにタグ付けしうる。ライトインストーラは、その後、ユーザアカウントを識別する、タグ付けされたデータを、クライアントサイド・アプリケーションのインストールの完了に応じてコンテンツ管理システム106へ送信しうるとともに、コンテンツ管理システム106は、その後、クライアントサイド・アプリケーションに、識別されたアカウントにログインする権限を付与しうる。
【0062】
いくつかの実施形態では、コンテンツ管理システム106は、タグ付けされたデータに加えて、ユーザアカウントにアクセスする権限をクライアントサイド・アプリケーションに事前付与するためのデータを要求しうる。例えば、ユーザが、クライアントデバイス102
iにダウンロードされたライトインストーラを友人と共有する場合には、当該ユーザは、当該ユーザのユーザアカウントに当該友人がアクセスする権限を事前付与されることを望まないであろう。したがって、コンテンツ管理システム106は、クライアントサイド・アプリケーションが適切なユーザのクライアントデバイスにインストールされたことを判定するための追加の情報を要求しうる。
【0063】
いくつかの実施形態では、コンテンツ管理システム106は、クライアントサイド・アプリケーションをインストールするクライアントデバイスが、ライトインストーラが元々ダウンロードされたクライアントデバイスと同じクライアントデバイスであることの権限付与を要求しうる。例えば、クライアントインストールモジュール136は、要求クライアントデバイスを識別するデータをライトインストーラにタグ付けするように構成されうる。これにより、クライアントデバイス102
iから要求が受信された場合に、クライアントインストールモジュール136は、クライアントデバイス102
iとユーザアカウントとを識別するデータをライトインストーラにタグ付けしうる。ライトインストーラは、その後、クライアントサイド・アプリケーションのインストールの完了時に、クライアントデバイス102
iを識別するデータをコンテンツ管理システム106へ送信しうる。コンテンツ管理システム106は、その後、クライアントサイド・アプリケーションをインストールしたクライアントデバイスが、タグ付けされたデータによって識別されるクライアントデバイスと一致するかどうかに基づいて、事前権限付与を条件付ける。
【0064】
図2は、コンテンツ管理システムが要求クライアントデバイス用のライトインストーラにタグ付けする、例示的な方法の実施形態を示す。図示するように、本方法は、ブロック205において始まり、当該ブロックで、コンテンツ管理システムは、クライアントデバイスからインストール要求を受信する。当該インストール要求は、クライアントサイド・アプリケーションをクライアントデバイスにインストールするための要求であってよい。例えば、当該要求は、コンテンツ管理システムと通信するためにウェブブラウザまたはアップストア・アプリケーションを使用して、クライアントサイド・アプリケーションのインストールをユーザが選択した結果として受信されうる。
【0065】
インストール要求の受信に応じて、本方法はブロック210へ続き、当該ブロックで、コンテンツ管理システムは、要求クライアントデバイスが、コンテンツ管理システム上の既存のユーザアカウントと関連付けられているかどうかを判定する。いくつかの実施形態では、コンテンツ管理システムは、例えばウェブブラウザ・アプリケーションを通じてクライアントデバイスが現在、ユーザアカウントにログインしているかどうかを判定しうる。あるいは、いくつかの実施形態では、クライアントデバイスを識別する識別子が、当該クライアントデバイスで権限付与された任意のユーザアカウントを検索するために使用されうる。
【0066】
ブロック210においてユーザアカウントが要求クライアントデバイスと関連付けられていると判定された場合、本方法は、ブロック215へ続き、当該ブロックで、クライアントサイド・アプリケーションをインストールするように構成されたライトインストーラは、コンテンツ管理システムによってタグ付けされる。ライトインストーラへのタグ付けは、ライトインストーラ内にデータを埋め込むことを含みうる。例えば、ライトインストーラは、固有のアカウント識別子等の、クライアントデバイスと関連付けられたユーザアカウントを識別するデータをタグ付けされうる。あるいは、ユーザのログイン等の、アカウントと関連付けられたログインデータが、ライトインストーラ内に埋め込まれうる。
【0067】
ユーザアカウントを識別するデータに加えて、ライトインストーラは、クライアントデバイスを識別するデータをタグ付けされうる。例えば、当該クライアントデバイス用の固有のデバイス識別子が、ライトインストーラ内に埋め込まれうる。
【0068】
その後、本方法はブロック220へ続き、当該ブロックで、コンテンツ管理システムは、タグ付けされたライトインストーラを要求デバイスへ送信する。ブロック210においてユーザアカウントがクライアントデバイスと関連付けられていない、または当該クライアントデバイスを有するユーザアカウントを識別できないと判定された場合、本方法は、ブロック220へ続き、当該ブロックで、ライトインストーラは、タグ付けされたデータなしでクライアントデバイスへ送信される。あるいは、いくつかの実施形態では、ライトインストーラには、クライアントデバイスに関連付けられていないユーザアカウントを示すデータがタグ付けされうる。その後、本方法は終了する。
【0069】
図3は、ライトインストーラを使用してコンテンツ管理システムからクライアントサイド・アプリケーションをインストールするクライアントデバイスの例示的な方法の実施形態を示す。図示するように、本方法は、ブロック305において始まり、当該ブロックで、インストール要求がコンテンツ管理システムへ送信される。当該インストール要求は、ユーザによる、クライアントサイド・アプリケーションのダウンロードの選択に応じて送信されうる。いくつかの実施形態では、当該インストール要求は、クライアントデバイスを識別する固有のデバイス識別子またはアカウント・クレデンシャル等のデータを含みうる。
【0070】
インストール要求の送信に応じて、本方法はブロック310へ続き、当該ブロックで、ライトインストーラが、コンテンツ管理システムから受信される。当該ライトインストーラは、クライアントサイド・アプリケーションをクライアントデバイスにインストールするように構成されたアプリケーションであってよい。
【0071】
その後、本方法はブロック315へ続き、当該ブロックで、クライアントデバイスは、ライトインストーラを実行する。本方法はその後、ブロック320へ進み、当該ブロックで、ライトインストーラは、当該ライトインストーラにタグ付けされた任意のデータに基づいてデータをユーザに求める。データをユーザに求めることは、要求されたデータをユーザが入力可能なユーザインタフェースをユーザに提供することを含みうる。場合によっては、提示される当該ユーザインタフェースは、タグ付けされたデータに基づいて変更されうる。例えば、クライアントデバイスに関連するユーザアカウントと関連付けられたユーザログインまたは電子メールアドレス等の、タグ付けされたデータが、データインタフェースのいくつかのフィールドに事前設定されうる。他の例では、クライアントデバイスが既存のユーザアカウントと関連付けられていることを示すデータがライトインストーラにタグ付けされている場合に、ユーザは、既存のユーザアカウントについてのユーザ名及びパスワードの入力を求められうる。あるいは、既存のユーザアカウントを識別できないことを示すデータがライトインストーラにタグ付けされている場合に、ユーザは、新しいユーザアカウントの作成を求められうる。
【0072】
その後、本方法はブロック325へ続き、当該ブロックで、要求されたユーザデータがユーザから受け取られる。その後、本方法はブロック330へ続き、当該ブロックで、クライアントデバイスは、クライアントサイド・アプリケーションをインストールするための権限付与をユーザに求めるインタフェースを提示する。これは、ユーザからの更なる権限付与なしでライトインストーラがクライアントサイド・アプリケーションをインストールすることを可能にできる、ライトインストーラ用の管理権を要求することを含みうる。
【0073】
ブロック335で、要求された権限付与を受けたかどうかが判定される。要求された権限付与を受けなかった場合には、クライアントデバイスにクライアントサイド・アプリケーションがインストールされることなく、本方法は終了する。あるいは、ブロック335において要求された権限付与を受けた場合には、本方法はブロック340へ続き、当該ブロックで、クライアントサイド・アプリケーションがインストールされる。これは、コンテンツ管理システムにデータを要求すること、クライアントデバイス上にアプリケーションディレクトリを作成すること、及び、クライアントデバイスにクライアントサイド・アプリケーションをインストールすることを含みうる。
【0074】
クライアントサイド・アプリケーションがインストールされた後、本方法はブロック345へ続き、当該ブロックで、クライアントサイド・アプリケーションが実行される。その後、本方法はブロック350へ続き、当該ブロックで、クライアントサイド・アプリケーションが事前権限付与されうるかどうかが判定される。例えば、ユーザアカウントを識別するデータがライトインストーラにタグ付けされた場合には、クライアントサイド・アプリケーションは事前権限付与されてよく、その結果、クライアントサイド・アプリケーションが当該ユーザアカウントに自動的にログインされることになる。
【0075】
ブロック350においてクライアントサイド・アプリケーションが事前権限付与されえないと判定された場合には、本方法はブロック355へ続き、当該ブロックで、ユーザは、ユーザ名及びログインを求められ、本方法は終了する。あるいは、ブロック350においてクライアントサイド・アプリケーションが事前権限付与されうると判定された場合には、本方法はブロック360へ続き、当該ブロックで、事前権限付与要求がコンテンツ管理システムへ送信される。事前権限付与要求は、ライトインストーラへタグ付けされたデータと、クライアントデバイスを識別するデバイス識別子等の追加のデータとを含みうる。
【0076】
ブロック365において事前権限付与要求が許可されたと判定された場合、本方法はブロック370へ続き、当該ブロックで、クライアントサイド・アプリケーションはログインされ、かつ、ユーザアカウントへのアクセスを与えられ、その後、本方法は終了する。あるいは、ブロック365において事前権限付与要求が拒否されたと判定された場合には、本方法はブロック355へ続き、当該ブロックで、ユーザは、ユーザ名及びパスワードを求められ、その後、本方法は終了する。
【0077】
図4は、コンテンツ管理システムが、ユーザアカウントへの事前権限付与をクライアントサイド・アプリケーションに許可する、例示的な方法の実施形態を示している。図示するように、本方法は、ブロック405において始まり、当該ブロックで、事前権限付与要求がクライアントデバイスから受信される。事前権限付与要求は、ログイン・クレデンシャルの入力をユーザに要求することなくコンテンツ管理システム上のユーザアカウントにログイン及びアクセスする権限を、クライアントデバイスにインストールされたクライアントサイド・アプリケーションに事前付与するための要求であってよい。
【0078】
事前権限付与要求は、デバイス識別子等の、要求クライアントデバイスを識別するデータを含みうる。更に、事前権限付与要求は、クライアントデバイスにクライアントサイド・アプリケーションをインストールするために使用されるライトインストーラ内にタグ付けされたデータを含みうる。これは、コンテンツ管理システムからライトインストーラを元々ダウンロードしたクライアントデバイスと関連付けられたユーザアカウントを識別するアカウント識別子と、ライトインストーラを元々ダウンロードしたクライアントデバイスを識別するデバイス識別子とを含みうる。
【0079】
ブロック410で、事前権限付与要求の送信元のクライアントデバイスが、ライトインストーラを元々ダウンロードしたクライアントデバイスと一致するかどうかが判定される。ブロック410において事前権限付与要求の送信元のクライアントデバイスが、ライトインストーラを元々ダウンロードしたクライアントデバイスと一致すると判定された場合には、本方法はブロック415へ続き、当該ブロックで、事前権限付与要求が承認され、本方法は終了する。あるいは、ブロック410において事前権限付与要求の送信元のクライアントデバイスが、ライトインストーラを元々ダウンロードしたクライアントデバイスと一致しないと判定された場合には、本方法はブロック420へ続き、当該ブロックで、事前権限付与要求が拒否され、本方法は終了する。
【0080】
図5A及び
図5Bは、可能性のある例示的なシステムの実施形態を示す。より適切な実施形態は、本技術を実施した際に当業者に明らかになるであろう。当業者は更に、他のシステムの実施形態が可能であることを容易に理解するであろう。
【0081】
図5Aは、従来のシステムバス型のコンピューティングシステム・アーキテクチャ500を示しており、当該システムのコンポーネントは、バス505を使用して互いに電気的な通信を行う。例示的なシステム500は、処理ユニット(CPUまたはプロセッサ)510と、読み取り専用メモリ(ROM)520及びランダムアクセスメモリ(RAM)525等のシステムメモリ515を含む種々のシステムコンポーネントを、プロセッサ510と結合するシステムバス505と、を備える。システム500は、プロセッサ510に直接接続された、プロセッサ510に近接した、またはプロセッサ510の一部として統合された高速メモリのキャッシュを備える。システム500は、プロセッサ510による迅速なアクセスのために、メモリ515及び/またはストレージデバイス530からキャッシュ512へデータをコピーしうる。このようにして、キャッシュは、データを待っている間のプロセッサ510の遅延を回避するパフォーマンス向上を提供しうる。これらのモジュール及び他のモジュールは、種々の動作を実行するようプロセッサ510を制御しうる、または制御するよう構成されうる。他のシステムメモリ515は、同様に使用可能であってよい。メモリ515は、異なるパフォーマンス特性を有する、異なる複数のタイプのメモリを備えうる。プロセッサ510は、任意の汎用プロセッサと、プロセッサ510を制御するよう構成された、ストレージデバイス530内に格納されたモジュール1 532、モジュール2 534及びモジュール3 536等のハードウェアモジュールまたはソフトウェアモジュールの他に、ソフトウェア命令が実際のプロセッサ設計に組み込まれた専用プロセッサを備えうる。プロセッサ510は、本質的に、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュ等を含む、完全内蔵型のコンピューティングシステムであってよい。マルチコアプロセッサは、対称型でもよいし非対称型でもよい。
【0082】
コンピューティングデバイス500とのユーザ・インタラクションを可能にするために、入力デバイス545は、通話用のマイクロフォン、ジェスチャまたはグラフィカル入力用のタッチセンサ式スクリーン、キーボード、マウス、モーション入力、スピーチ等の、任意の数の入力メカニズムを表しうる。出力デバイス535も、当業者に既知の一つ以上の数の出力メカニズムでありうる。場合によっては、マルチモーダル・システムは、コンピューティングデバイス500と通信するためにユーザが複数のタイプの入力を提供することを可能にしうる。通信インタフェース540は、概して、ユーザ入力及びシステム出力を支配及び管理しうる。いかなる特定のハードウェア構成の動作に対する制限はなく、それ故に、本明細書における基本的な特徴は、改善されたハードウェアまたはファームウェア構成に、その開発につれて容易に置き換えられうる。
【0083】
ストレージデバイス530は、不揮発性メモリであり、ハードディスク、または、磁気カセット、フラッシュメモリカード、固体メモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ(RAM)525、読み取り専用メモリ(ROM)520、及びそれらのハイブリッド等の、コンピュータがアクセスできるデータを格納可能な他のタイプのコンピュータ読み取り可能媒体でありうる。
【0084】
ストレージデバイス530は、プロセッサ510の制御用のソフトウェアモジュール532,534,536を含みうる。他のハードウェアまたはソフトウェアモジュールが考慮される。ストレージデバイス530は、システムバス505に接続されうる。一態様において、特定の機能を実行するハードウェアモジュールは、機能を実行するためにプロセッサ510、バス505、ディスプレイ535等の必要なハードウェアコンポーネントと関連する、コンピュータ読み取り可能媒体に格納されたソフトウェアコンポーネントを含みうる。
【0085】
図5Bは、説明された方法の実行と、グラフィカルユーザインタフェース(GUI)の生成及び表示とに使用可能なチップセット・アーキテクチャを有するコンピュータシステム550を示す。コンピュータシステム550は、開示した技術の実装に使用可能なコンピュータハードウェア、ソフトウェア及びファームウェアの一例である。システム550は、特定される計算を実行するように構成されたソフトウェア、ファームウェア及びハードウェアを達成する能力を有する、任意の数の物理的及び/または論理的に区別されるリソースを代表する、プロセッサ555を備えうる。プロセッサ555は、プロセッサ555からの入力及びプロセッサ555への出力を制御可能なチップセット560と通信しうる。本例では、チップセット560は、ディスプレイ等の出力デバイス565へ情報を出力し、例えば磁気媒体、固体媒体を含みうるストレージデバイス570に対する情報の読み取り及び書き込みを行いうる。チップセット560は更に、RAM575からのデータの読み取り、及びRAM575へのデータの書き込みを行いうる。種々のユーザインタフェース・コンポーネント585とインタフェースするブリッジ580は、チップセット560とのインタフェースのために設けられうる。このようなユーザインタフェース・コンポーネント585は、キーボード、マイクロフォン、タッチ検出及び処理回路、マウスのようなポインティングデバイス等を含みうる。一般に、システム550への入力は、マシーン生成またはヒューマン生成の種々のソースのいずれかからもたらされうる。
【0086】
チップセット560は更に、異なる物理インタフェースを有しうる一つ以上の通信インタフェース590とインタフェースしうる。このような通信インタフェースは、有線及び無線のローカルエリアネットワーク用、広帯域無線通信ネットワーク用、及びパーソナルエリアネットワーク用のインタフェースを含みうる。本明細書で開示されたGUIを生成、表示及び使用するための本方法のいくつかのアプリケーションは、物理インタフェースを介して順序付けられたデータセットを受信することを含みうるか、ストレージ570または575に格納されたデータをプロセッサ555が解析することでマシーン自体によって生成されうる。更に、マシーンは、ユーザインタフェース・コンポーネント585を介してユーザからの入力を受け取って、プロセッサ555を用いてそれらの入力を解釈することでブラウジング機能等の適切な機能を実行しうる。
【0087】
例示的なシステム500及び550が、より優れた処理能力を提供するために、二つ以上のプロセッサ510を有してもよいし、ネットワークで共に結ばれたコンピューティングデバイスのグループまたはクラスタの一部であってもよいことが理解されうる。
【0088】
説明の簡単化のため、場合によっては、本技術は、デバイス、デバイスコンポーネント、ソフトウェアまたはハードウェア及びソフトウェアの組み合わせによって具体化される方法におけるステップまたはルーティンを含む、個別の機能ブロックを含むものとして示されうる。
【0089】
いくつかの実施形態では、コンピュータ読み取り可能ストレージデバイス、媒体及びメモリは、ケーブル、またはビットストリーム等を含む無線信号を含みうる。しかし、言及される場合、非一時的なコンピュータ読み取り可能ストレージ媒体は、エネルギー、キャリア信号、電磁波、及び信号それ自体を、明示的に除外する。
【0090】
上述の例に従った方法は、コンピュータ読み取り可能媒体に格納された、またはさもなければコンピュータ読み取り可能媒体から利用可能な、コンピュータで実行可能な命令を使用して実装されうる。そのような命令は、例えば、汎用コンピュータ、専用コンピュータ、専用処理デバイス、命令及びデータに、特定の機能または機能のグループを実行させるか、さもなければ実行するよう設定する、命令及びデータを含みうる。使用されるコンピュータリソースの一部は、ネットワークを介してアクセス可能であってもよい。コンピュータで実行可能な命令は、例えば、バイナリ、アセンブリ言語等の中間フォーマットの命令、ファームウェア、またはソースコードであってよい。命令、使用される情報、及び/または説明された例に従った方法の実行中に作成された情報を格納するために使用されうるコンピュータ読み取り可能媒体の例には、磁気または光学ディスク、フラッシュメモリ、不揮発性メモリが設けられたUSBデバイス、ネットワークで結ばれたストレージデバイス等が含まれる。
【0091】
これらの開示に従った方法を実装するデバイスは、ハードウェア、ファームウェア及び/またはソフトウェアを備えうるとともに、種々のフォームファクタのいずれかを取りうる。そのようなフォームファクタの典型例には、ラップトップ、スマートフォン、スモールフォームファクタ・パーソナルコンピュータ、パーソナル・デジタル・アシスタント等が含まれる。本明細書で説明された機能は、周辺機器またはアドイン・カードにおいても具体化されうる。そのような機能は、更なる例として、単一のデバイスで達成する異なるチップ間または異なるプロセス間の回路ボードにも実装されうる。
【0092】
命令、そのような命令を搬送するメディア、それらを実行するコンピューティングリソース、及びそのようなコンピューティングリソースをサポートする他の構成は、これらの開示において説明された機能を提供する手段である。
【0093】
種々の例及び他の情報が、添付の請求項の範囲内の態様を説明するために使用されたが、当業者であれば多種多様な実装を導くためにこれらの例を使用できるため、そのような例における具体的な特徴または構成に基づいて請求項が限定されてはならない。更には、構造的な特徴及び/または方法のステップの例に特有の表現で主題が説明されているが、添付の請求項に規定された手段は、それらの説明された特徴または動作に必ずしも限定されないことが理解される。例えば、そのような機能は、別々に分散されてもよいし、本明細書で特定したコンポーネントと異なるコンポーネントで実行されてもよい。むしろ、上述の特徴及びステップは、添付の請求項の範囲内のシステム及び方法のコンポーネントの例として説明されている。
クライアントサイド・アプリケーションのインストールプロセスを改善するために、ライトインストーラが利用されうる。ライトインストーラは、必要となるデータ及び権限付与をユーザに求め、コンテンツ管理システムと通信し、追加のリソースをダウンロードし、かつ、クライアントサイド・アプリケーションをインストールするのに必要な情報等の、インストールプロセスを開始するのに必要な情報のみを含むインストーラでありうる。ライトインストーラは、インストールプロセスの初期に、全ての必要なユーザ権限付与を取得することによって、ユーザ・インタラクション時間を最小限にでき、その結果、ライトインストーラが、ユーザからの更なる権限付与なしでクライアントサイド・アプリケーションの全てのコンポーネントをインストールすることが可能になる。更に、ライトインストーラは、報告、インストールプロセスの間におけるデータの事前設定、インストールプロセスのカスタマイズ、クライアントサイド・アプリケーションの事前設定等に使用されうる、クライアントデバイスと関連付けられたユーザアカウントを識別するデータをタグ付けされうる。