(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
次に、請求される対象事項を、図面を参照しながら説明する。図面において、概して全体にわたって、同様の参照番号を用いて同様の要素を示す。下記説明において、説明の目的で、請求される対象事項の十分な理解を与えるために、多数の具体的な詳細が説明される。しかしながら、請求される対象事項は上記の具体的な詳細の範囲外で実施できることが、明白であろう。他の例として、請求される対象事項の説明を容易にするために、構造及び装置がブロック図形式で示される。
【0013】
複数のエンティティとともに文書を共有するための1つの一般的なアプローチには、文書ファイルをそれぞれのエンティティに電子メールで送ること又はその他の方法で送信することを含む(例えば、それぞれのエンティティに文書のローカルコピーを保持させることになる)。別のアプローチが、複数のエンティティによってアクセス可能な集中方式の記憶装置に文書を格納することである(例えば、クラウドストレージシステム及び/又は社内サーバシステムなど)。集中方式の記憶装置に文書を格納することの利点の1つは、それぞれのエンティティが文書の同じコピーを編集することができることである(例えば、エンティティが文書のローカルコピーを編集するところの電子メールアプローチとは対照的に)。その上、文書に対する編集を行うエンティティが、編集された文書を他のエンティティに電子メールで送り(例えば、いつ誰が編集を行ったのかの記録を提供することになる)、したがってそれぞれのエンティティが文書の最新更新版(update-to-date version)を維持するようになるところの電子メールアプローチとは異なり、集中型記憶アプローチは、文書の最新更新版を維持する(例えば、エンティティが文書の同一コピーを編集するためである)。しかしながら、集中型記憶アプローチを用いると、誰が文書を閲覧したか、及び/又は文書に対して編集を行ったかをエンティティが容易に知ることは困難になる可能性がある。
【0014】
その上、一般的なエンティティが受信する電子メールの数を考えると、例えば、エンティティが電子メールの連鎖に基づいて文書に行われた更新の記録を維持することは困難及び/又は重荷となるおそれがある。したがって、本明細書において提供されるとおり、エンティティによって受信される電子メールの数を(例えば、上記で説明された電子メール通知手法と比べて)削減し、エンティティが文書にアクセスする(例えば、閲覧する)必要なしにエンティティにこうした情報を提供する方式で、コラボレーションコンテキスト(collaboration context)(例えば、ファイルに関する情報)が提供される。
【0015】
文書という用語は、本明細書において広い意味で用いられて、画像ファイル、スプレッドシート、プレゼンテーション、オーディオファイル、ビデオファイル、文書処理ファイル及び/又は他の種類のファイル、オブジェクト、データなどを含むことを、十分理解されたい。
【0016】
図1は、文書コラボレーションのための例示的な方法100を(例えば、文書を格納し、文書に対するアクセスを管理し、及び/又は文書に関連する事象の記録を維持するように構成されたサーバの視点から)示す。こうした方法は、複数のエンティティが文書を閲覧及び/又は編集する可能性があるところ(例えば、上記で説明されたとおりの集中型サーバアプローチなどにおいて)の応用への特定の適用性を有し得る。例えば、文書は、ワールドワイドウェブを通じて文書へのアクセスを複数のエンティティに提供するように構成されたクラウドストレージサービスを介して格納及び/又は編集することができる。しかしながら、本願は、特許請求の範囲を含めて、そのようなものとして限定されるためのものではない。例えば、例示的な方法100は、企業に関連付けられたエンティティに限りアクセス可能である集中型データベースにおいて文書が格納及び/又はアクセスされる企業環境などの、他の環境に応用されてよい。
【0017】
例示的な方法100は、102において始まり、104において、文書を(例えば、複数のエンティティによってアクセス可能な集中型ストレージデータベース内に)格納する要求が受信される。この要求は、格納すべき文書を含んでもよく、含まなくてもよい。例えば、1つの実施形態において、エンティティは、アクセス認証情報を介してウェブインタフェースにログインし、文書を格納するようにオプションを選択し(例えば、文書を格納する要求が受信されることになる)、集中型ストレージデータベースに格納すべき文書をウェブインタフェースを介して選択することができる。別の例において、単にウェブインタフェースに文書を入力し、かつ文書をアップロードするように選択するという動作が、文書を格納する要求を構成することができる(例えば、文書を格納する要求には、文書自体を含んでもよい)。別の例において、エンティティが、集中型ストレージデータベース上の位置を自身のローカルのコンピューティング装置にマップしておくことができ、このエンティティは、マップされた場所に文書を保存すること及び/又はマップされた場所に文書をコピーすることによって、文書をアップロードすることができる。このようにして、要求は、文書を含めて、エンティティに関連付けられた装置から、文書を受信及び格納することができる集中型ストレージデータベースに送信することができる。
【0018】
方法100はさらに、106において、文書を閲覧及び/又は変更する許可を付与された1つ以上の他のエンティティを示すアクセス許可を受信することを含む。アクセス許可は、文書を格納する要求が104において受信される前、それと同時、又はその後に受信することができることを、十分理解されたい。例として、1つの実施形態において、文書を格納することができる1つ以上のフォルダに対するアクセス許可が予め定義され、受信された文書に対するアクセス許可は、文書が集中型ストレージデータベースに格納されることになる場所の機能とすることができる。一例として、第1のフォルダは、エンティティA、B及びCに、第1のフォルダ内に含まれる文書に対する読み取り/書き込みアクセスを提供することができ、第2のフォルダは、エンティティA、B、C及びDに、読み取りアクセスだけを提供することができる。受信された文書が第1のフォルダに格納されることになる場合、エンティティA、B及びCはデフォルトで読み取り/書き込みアクセスを付与されることができ、一方、受信された文書が第2のフォルダに格納されることになる場合、エンティティA、B、C及びDは、デフォルトで読み取りアクセスだけを付与されることができる。このようにして、アクセス許可は、文書の前に受信することができ、文書のみではなくそれ以上に適用することができる(例えば、上記許可は、受信されたアクセス許可が関連する特定のフォルダ及び/又はドライブに格納された任意の文書に適用することができる)。
【0019】
他の実施形態において、106において受信されるアクセス許可は、104において文書を格納する要求を受信すると同時に受信することができ、かつ/あるいは104において文書に対する要求を受信した後に受信することができる。例えば、1つの実施形態において、アップロードするプロセスの一部として、集中型ストレージデータベースに文書をアップロードするエンティティは、文書に対してアクセス及び/又は編集することができる1つ以上の他のエンティティに関する情報(例えば、ユーザ識別情報)を入力及び/又は選択するように要求されることができる。別の実施形態において、文書を格納する要求(例えば、この要求には文書を含むことができる)は、104において受信することができ、それに応じて、文書をアップロードするエンティティは、自身が文書をともに共有したいゼロ以上の他のエンティティにアクセス許可を提供するように促されることができる(例えば、したがって、文書を格納する要求が受信された後に、アクセス許可が受信されることになる)。
【0020】
アクセス許可はさらに、例えば、文書が受信されたとき及び/又はそれ以降に、エンティティによって変更可能とすることができることを、十分理解されたい。一例として、文書をアップロードするエンティティは、1つ以上のエンティティについてのデフォルトのアクセス許可を有するフォルダに文書を格納するように指定することができ、エンティティは、デフォルトのアクセス許可を変更して、文書に対する、及び/又は文書が格納されることになるフォルダに対するアクセス許可を変更することができる。別の実施形態において、文書をアップロードしたエンティティは、文書が格納され、かつ/あるいは1つ以上の他のエンティティに利用可能とされた後、文書に対するアクセス許可を変更することができ、文書に対する変更されたアクセス許可が受信されることになる(例えば、以前は文書へのアクセスを有していた1つ以上のエンティティに対する許可を変更することになり、かつ/あるいは1つ以上の新しいエンティティに対する許可を作成することになる)。
【0021】
例示的な方法100の108において、文書と、文書に関連付けられたアクセス許可とが、格納される。例えば、文書は、特定のネットワーク(例えば、会社の内部ネットワーク)に関連付けられたエンティティによりアクセス可能な、及び/又は(例えば、アクセス認証情報手法を用いて文書を保護しながら)ワールドワイドウェブなどのよりグローバルなネットワークを介してエンティティによりアクセス可能な、データベースに格納することができる。例示的な方法100は単一の動作で文書とアクセス許可とを格納することを備えるが、文書を格納する動作はアクセス許可を格納する動作とは別のときに生じてもよいことを、十分理解されたい。例えば、文書がアップロードされるまでアクセス許可が設定されない場合、アクセス許可の受信及び/又はそれに続く格納の前に、文書を格納することができる。
【0022】
例示的な方法100の110において、文書にアクセスする許可を有する1つ以上のエンティティに対して、文書へのリファレンスが発行される。概して、リファレンスは、文書を入手することができるデータベース内の場所に1人以上のユーザを向け、及び/又は移動させるように構成される。例えば、1つの実施形態において、文書にアクセスする許可を有する1つ以上のエンティティに送信される電子メール内に、文書へのハイパーリンクが発行される。このようにして、文書へのアクセスを有する1つ以上のエンティティはこうしたアクセスを知り、かつ/あるいは、1つ以上のエンティティは文書に直接エンティティを移動させるリンクを提供されることができる(例えば、1つ以上のエンティティが文書にアクセスするために移動しなければならない可能性があるメニューの数を低減することになる)。
【0023】
例示的な方法100の112において、文書は、この文書に対して行われた1つ以上の編集に基づいて更新される。例えば、エンティティ(例えば、文書をアップロードしたエンティティか、及び/又は文書に対するアクセスを有する別のエンティティかのいずれか)は、文書にアクセスし、文書に対して変更を行うことができ、変更された文書を作成することになる。こうした変更は、追跡されてもよく(例えば、文書の元の特徴(例えば、テキスト)から区別可能であるインラインの編集を提供する)、かつ/あるいは追跡されなくてもよい(例えば、元の文書と変更された文書との比較を除いては、編集分が元の特徴から区別できない)。
【0024】
通常は、変更された文書が、108において格納された元の文書を置換することを、十分理解されたい。したがって、変更された文書を生成するような文書の変更の後に、文書にアクセスしようと試みるエンティティは、実際には、変更された文書にアクセスすることができる。例えば、110において発行されたリファレンスを選択するエンティティは、110においてリファレンスが発行されたときにこのリファレンスが向けられていた元の文書とは対照的に、変更された文書に向けられることができる。しかしながら、1つの実施形態において、例えば、元の文書、及び/又は元の文書から生成された他の変更された文書に、さらに(例えば、変更された文書の過去履歴を閲覧することによって)アクセス可能とすることができる。
【0025】
例示的な方法100の114において、コラボレーションコンテキストデータが生成される。1つの実施形態において、こうしたコラボレーションコンテキストは、文書に対して行われた1つ以上の編集に応答して生成されることができ、とりわけ、変更された文書を生成するように文書に対して少なくともいくらかの編集を行ったエンティティに関する情報、及び/又は変更された文書を生成するように文書に対して行われた1つ以上の編集に関する情報を含むことができる。しかしながら、コラボレーションコンテキストはこのように限定されるためのものではないことを、十分理解されたい。例えば、コラボレーションコンテキストデータには、さらに、及び/又は代わって、文書にアクセスしたエンティティを示す情報を(例えば、こうしたエンティティが編集を行っていないとしても)含むことができる。このようにして、コラボレーションコンテキストデータには、例えば、文書が最初にアップロードされ、及び/又は格納された以後、文書に関して行われてきた事象の履歴を含むことができる。
【0026】
その上、コラボレーションコンテキストは、文書に対して編集が行われる前に生成することができ、かつ/あるいは、文書に対して行われた編集に関する内容以外の内容、及び/又は文書にアクセスしたエンティティを示す情報を含むことができることを、十分理解されたい。例えば、コラボレーションコンテキストは、格納された文書と同一のフォルダ内に含まれ、及び/又は同一の(及び/又は異なる)ディレクトリに位置する、他のファイルに関連する情報を含むことができる。例えば、コラボレーションコンテキストは、同一のフォルダに格納された他の文書へのリンクを含むことができ、かつ/あるいは文書に対するアクセスを有する他のエンティティに関する(例えば、文書をともに共有しているエンティティに関する)情報を含むことができる。例えば、ソーシャルネットワーク上などの社員名簿に含まれるプロフィールからの情報を、コラボレーションコンテキスト内に含むことができる(例えば、さらに、エンティティが本明細書において説明されたとおりに文書へのリファレンスを閲覧するときに、エンティティに提供することができる)。したがって、コラボレーションコンテキストは、文書に対して行われた編集に関連する情報に限定されるためのものではなく、しかしながら、さらに、又は別法として、文書に関するアクティビティ及び/又は文書をともに共有しているエンティティを理解することに有用となり得る他の情報を含むことができる。
【0027】
コラボレーションコンテキストデータに含まれる情報の種類は、とりわけ、ユーザの好み、データを作成する/維持するサービスの能力、データのサイズ制限などに依存し得ることを、十分理解されたい。例えば、文書が多数のエンティティによって閲覧可能であり、頻繁にアクセスされる場合、エンティティが文書にアクセスするたびにコラボレーションコンテキストデータ内にエントリを記録することは、データのサイズが大きくなり過ぎるおそれがあるため、望ましくない可能性がある。代わって、単に、誰が文書に対して編集を行ったのか、いつそうした編集が行われたのか、どのように編集が行われたのかなどに関する情報を記録することが望ましい場合がある。別の実施形態において、文書がより少数のエンティティによって閲覧可能である場合など、いつ及び/又は誰が文書にアクセスしたのかに関する情報を(例えば、文書に対して行われた編集に関する情報などと同様に)記録することが望ましい場合がある。
【0028】
一般的に言って、コラボレーションコンテキストデータは、元の文書全体に満たないものであり、かつ/あるいは変更された文書全体に満たないものである(例えば、かつ、元の文書及び/又は変更された文書ではないものから成り得る)ことを、十分理解されたい。すなわち、コラボレーションコンテキストデータは、概して、変更されている及び/又は以前に変更された文書ではなく、そうした変更に関する他の情報(例えば、誰が文書を変更したのか、何が変更されたのか、及び/又はいつ文書が変更されたのかに関する情報)である。例えば、コラボレーションコンテキストデータは、元の文書に対して行われた編集分を含むことができ、しかしながら、元の文書のうち編集されていない部分を含まなくてよい(例えば、編集されていない部分は、変更された文書に同様に含まれる)。
【0029】
114においてコラボレーションテキストが生成された後、エンティティがリファレンスを(例えば、リファレンスが電子メールにおいて発行されている場合にエンティティの電子メールサービス及び/又はクライアントにおいて)閲覧するとき、こうした情報を、110においてリファレンスを発行された1つ以上のエンティティに(例えば、文書をアップロードしたエンティティを含めて)提供することが望ましい場合がある。
【0030】
例えば、例示的な方法100の116において、文書(例えば、及び/又は文書に対して行われた1つ以上の編集)に関する情報の要求が受信される。すなわち、別の言い方をすると、116において、コラボレーションコンテキストデータの要求が受信される。一例として、1つの実施形態において、110においてリファレンスが発行された先のエンティティのうち1つ以上がリファレンスを閲覧する(例えば、リファレンスを含む電子メールを閲覧する)とき、コラボレーションコンテキストデータに関して要求を行うことができる(例えば、もし存在する場合)。
【0031】
1つの実施形態において、コラボレーションコンテキストデータの要求は、コラボレーションコンテキストデータの一部分だけに関連することができることを、十分理解されたい。例として、コラボレーションコンテキストデータを閲覧したいユーザは、単に、(例えば、誰が文書を閲覧してきたのかに関するコラボレーションコンテキストデータとは対照的に)文書に対して行われた編集に関するコラボレーションコンテキストデータに関心がある可能性があり、したがって、要求は、編集に関するコラボレーションコンテキストデータの一部分だけに向けられることができる。別の例として、要求は、エンティティのうち特定の1つ以上によって行われた編集にだけ関連するコラボレーションコンテキストに向けられることができる。このようにして、受信される要求は、例えば、コラボレーションコンテキストデータの特定の態様(群)に限られることができ、かつ/あるいはより一般的な情報への要求(例えば、いくつかの及び/又はすべてのコラボレーションコンテキストデータを要求すること)とすることができる。
【0032】
コラボレーションコンテキストデータが存在しない場合(例えば、文書がアップロードされた以後、編集がまったく行われていない、文書に誰もアクセスしていないなど)、要求は満たされずに残る可能性があり、かつ/あるいは、こうしたコラボレーションコンテキストデータが利用可能でないことを装置に通知する通知を、要求を行っている装置に送信することができる。
【0033】
他方で、コラボレーションコンテキストデータが利用可能である場合、例示的な方法100の118において、114において生成されたコラボレーションコンテキストデータの少なくとも一部分が、要求に少なくとも部分的に基づいて提供される。例として、要求が、電子メールアプリケーション(例えば、電子メールクライアント及び/又は電子メールサービス)から受信された場合、集中型ストレージ装置により生成されたコラボレーションコンテキストデータの少なくとも一部分は、電子メールアプリケーションに関連付けられたエンティティ(例えば、文書に対してアクセス及び/又は編集する許可を有するエンティティ)への表示のため、電子メールアプリケーションに送信されることができる。このようにして、リファレンスが発行された先のエンティティは、例えば、文書が最初にアップロードされた(例えば、かつ、リファレンスが発行された)以後、文書を閲覧する必要なく、文書に関して行われた変更及び/又は進捗に関して更新されることができる。
【0034】
コラボレーションコンテキストデータが118において提供される程度は、とりわけ、116において受信された要求に依存し得ることを、十分理解されたい。例えば、要求が特定の種類のコラボレーションコンテキストに固有のものである(例えば、誰が文書にアクセスしてきたのかに関する情報とは対照的に、文書に対して行われた編集に関する情報を単に要求する)場合、要求を満たすコラボレーションコンテキストデータの一部分だけを、116において提供することができる。しかしながら、例えば、要求がより包括的である場合、コラボレーションコンテキストデータのうち提供された部分が実質上すべてのコラボレーションコンテキストデータを含む可能性がある。
【0035】
その上、1つの実施形態において、118において少なくとも一部分のコラボレーションコンテキストデータを提供することによる要求の達成は、要求されているコラボレーションコンテキストデータが関連する文書にアクセスする許可を、要求を行ったエンティティが有し続けていることに、少なくとも部分的に依存し得る。例えば、110において文書へのリファレンスがエンティティに対して発行されたときから、116において要求が受信されるときまでの期間に、アクセス許可が変更される可能性があり、したがって、要求が受信されたとき、要求を行っているエンティティは文書にアクセスする許可を有さないことになる。ゆえに、1つの実施形態において、118において要求が遂行される前に、要求を行っているエンティティが文書にアクセスする許可を有することを検証するように、確認を行うことができる。例えば、要求を行っているエンティティに関するアクセス許可が無効にされ、及び/又はその他の方法で変更されており、したがって、要求を行っているエンティティは、文書にアクセスすることを許可されず、又は要求が受信された時点で異なるアクセス権を有する場合、この要求は、例えば、拒否されてよく、あるいは、118において提供され得るコラボレーションコンテキストデータがない、又は限られた量となるような変更された方法で満たされてよい。しかしながら、要求を行っているエンティティが文書にアクセスする許可を有し続ける場合、118において、コラボレーションコンテキストデータ118が提供されてよい。
【0036】
例示的な方法100は、120において終了する。
【0037】
図2は、文書コラボレーションのための例示的な方法200を(例えば、複数のエンティティによってアクセス可能なデータベースに格納された文書に関連するコラボレーションコンテキストを受信するクライアントの視点から)示す。こうした方法は、複数のエンティティが文書を閲覧及び/又は編集する可能性があるところの応用への特定の適用性を有し得る。例えば、文書は、ワールドワイドウェブを通じて文書へのアクセスを複数のエンティティに提供するように構成されたクラウドストレージサービスを介して格納及び/又は編集することができる。しかしながら、本願は、特許請求の範囲を含めて、そのようなものとして限定されるためのものではない。例えば、例示的な方法200は、企業に関連付けられたエンティティに限りアクセス可能である集中型データベースにおいて文書が格納及び/又はアクセスされる企業環境などの、他の環境に応用されてよい。
【0038】
例示的な方法200は、202において始まり、204において、文書に対するリファレンスが識別される。例として、エンティティがアクセス可能な文書にエンティティを向かわせるように構成された電子メールを、(例えば、クラウドサービスの管理コンポーネントから)受信することができ、上記文書は、別のエンティティを介してクラウドサービスにアップロードされたもの、及び/又は他のエンティティによって上記エンティティと共有されたものである。一例として、電子メールは、ユーザが(例えば、ユーザが適切なアクセス認証情報を入力するという条件で)文書に移動するために選択することができる文書への、ハイパーリンクなどのリファレンスを含むことができ、電子メールアプリケーション(例えば、電子メールクライアント及び/又は電子メールサービスなど)は、電子メール内のリファレンスを識別するように構成することができる。
【0039】
例として、電子メールアプリケーションには、リファレンス(例えば、ハイパーリンク)が(例えば、集中型データベースに含まれる)文書に向けられているのか、及び/又は共有された文書に関連しない他の情報(例えば、電子メールアドレスへのハイパーリンク並びに/又は会社のウェブページ及び/若しくはニュース記事へのハイパーリンクなど)に向けられているのかを決定することにおいて電子メールアプリケーションをガイドする命令セットを含むことができる。例えば、上記命令は、文書共有サイトに関連付けられたプレフィックス及び/又はサフィックスのリストを電子メールアプリケーションに提供することができる。リファレンスが、文書共有サイトに関連付けられているものとして列挙されているプレフィックス及び/又はサフィックスを含む場合、リファレンスは、文書に関連付けられている可能性があるものと識別することができる。逆に、リファレンスが、リスト内に含まれていないプレフィックス及び/又はサフィックスを含む場合、リファレンスは、文書を参照している可能性があるものと識別されなくてよい。例示的な手法は、単に、文書に関連付けられたリファレンスを識別する1つの有り得る方法を提供するものであり、こうした識別を行うための他の手法もまた本願において考えられる。
【0040】
1つの実施形態において、リファレンスが文書に関連付けられているかどうかの決定は、電子メール(例えば、又は、インスタントメッセージなどの、リファレンスを含むことができる他の形式の通信文)がプレビューされ、又はその他の方法で選択されるたびに、行うことができる。すなわち、例えば、識別は、電子メール及び/又は他の通信文の受信時にのみ行うことができるのではなく、しかしながら代わって、リファレンスを含むことができる電子メール及び/又は他の通信文をユーザが閲覧するたびに行うことができるということを、十分理解されたい。電子メールアプリケーションに関する例として、文書へのハイパーリンク及び/又は他のあり得るリファレンスを含む電子メールが受信されたとき、電子メールアプリケーションは、リファレンスが文書に関連付けられているかどうかを決定しようと試みることができる。1つの実施形態において、電子メールアプリケーションが文書へのリファレンスを識別する場合、電子メールアプリケーションは、その電子メールにフラグ設定することができ、したがって、電子メールがプレビューされ、及び/又は開かれるとき(例えば、電子メールがプレビューされ、又は開かれるたびにであり、必ずしも初回だけではない)、電子メールアプリケーションは、リファレンスが識別する文書に関連するコラボレーションコンテキストデータを取得しようと試みる(例えば、したがって、新たなコラボレーションコンテキストデータが提示される、維持される、などする)。別の実施形態において(例えば、電子メールがフラグ設定されない場合)、電子メールアプリケーションは、電子メールがプレビューされ、及び/又は開かれるたびに電子メールをスキャンして、文書へのリファレンスを特定し、及び/又はリファレンスが識別する文書に関連するコラボレーションコンテキストデータを取得することができる。このようにして、文書へのリファレンスは、例えば、リファレンスを含む通信文が受信されたときに、かつ/あるいはリファレンスを含む通信文がプレビューされ、及び/又は開かれるたびに、識別することができる。
【0041】
本明細書においてリファレンスは文書への参照を電子メールの中で識別するように作られているが、本開示の範囲は、添付される特許請求の範囲を含めて、そのように限定されるものではないことを、十分理解されたい。例えば、リファレンスは、インスタントメッセージ、掲示板、社内ウェブサイトなどにおいて識別することができる。
【0042】
例示的な方法200の206において、コラボレーションコンテキストデータの要求が、識別されたリファレンスに基づいて発行され、208において、コラボレーションコンテキストが、発行された要求に応答して受信される。上記で説明されたとおり、コラボレーションコンテキストデータは、概して、識別されたリファレンスが関連する文書が集中型サーバ装置にアップロードされた以後に発生した事象に関連する。例えば、とりわけ、コラボレーションコンテキストは、文書がアップロードされた以後、誰が文書にアクセスしたのか、誰が文書に対して編集を行ったのか、いつ編集が行われたのか、及び/又はどのような編集が文書に対して行われたのかに関する情報を提供することができる。
【0043】
図1に関して説明されたとおり、発行される要求は、一般的な情報に対する要求であってよく、かつ/あるいは特定の種類の情報に対する要求であってよいことを、十分理解されたい。例えば、エンティティは、要求を発行するように構成されたアプリケーションの設定において、文書に対して行われた編集に関連する情報だけを自身が所望することを指定することができ、かつ/あるいは、自身がリファレンスを含む通信文を最後にプレビューした及び/又は開いた以後に生成されたコラボレーションコンテキストに関する情報だけを自身が所望することを指定することができる。このようにして、206において発行される要求は、例えば、特定の形式のコラボレーションコンテキストデータに限ることができ、かつ/あるいは特定の時間枠内に生成されたコラボレーションコンテキストデータに限ることができる。別法として、206において発行される要求は、一般的な情報への要求とすることができる。
【0044】
1つの実施形態において、208において受信されるコラボレーションコンテキストデータは、206において発行される要求の機能とすることができる。例えば、要求が、特定の形式及び/又は時間枠のコラボレーションコンテキストデータに限られた場合、受信されたコラボレーションコンテキストデータは上記の特定の形式及び/又は時間枠に限られてよい。しかしながら、より一般的な情報への要求が発行される場合、受信されるコラボレーションコンテキストデータは、(例えば、
図1の例示的な方法100の114において)集中型ストレージ装置により生成された実質上すべてのコラボレーションコンテキストデータを含むことができる。同様にして、208において受信されるコラボレーションコンテキストデータは、要求しているエンティティに関連付けられたアクセス権の機能とすることができる(例えば、アクセス権は、要求しているエンティティによって行われた最後の/直近の要求など以後に、時間と共に変化している可能性がある)。
【0045】
例示的な方法200の210において、コラボレーションコンテキストがユーザに提示される。
図3に関して説明されることになるとおり、コラボレーションコンテキストは、リファレンスを含む通信文をエンティティに提示するように構成された電子メールアプリケーション及び/又は他のプログラムの中に提示することができ、かつ/あるいは(例えば、別個のアプリケーションの)別個のウィンドウの中に(例えば、リファレンスを表示する/含むアプリケーションと同時に)提示することができることを、十分理解されたい。
【0046】
例示的な方法200は、212において終了する。
【0047】
図1及び
図2に説明された方法を明確にする目的で、次に、例示的なアプリケーションを参照する。上記で説明された例示的な方法は、こうしたアプリケーションに限定されるものではないことを、十分理解されたい。その上、
図1及び
図2に関して説明された動作は単に例示的な動作であり、限定する方法で解釈されるべきものではないことを、十分理解されたい。
【0048】
第1のエンティティが、自身が作成した文書を他のエンティティと共有したいと仮定する。第1のエンティティは、集中型ストレージ装置に文書をアップロードし、自身が誰と文書を共有したいのかを指定することができる。次いで、第1のエンティティが自身の文書を共有したい1つ以上のエンティティに、通知を、文書に対するリファレンスを含め、送信することができる。例えば、電子メールを、第1のエンティティ、第2のエンティティ及び第3のエンティティなどに送信することができ、文書にアクセスするためのハイパーリンクをこれらエンティティに提供することができる。例えば、第2のエンティティが電子メールを閲覧することができ、コラボレーションコンテキストデータの要求が集中型ストレージ装置に対して発行されることができる。要求の前に文書がまだ編集及び/又は閲覧されていなかった場合、集中型ストレージ装置は、コラボレーションコンテキストデータが生成されていないことを提供する応答を発行することができ、まったく応答を提供しないことができ、かつ/あるいは単に元のアップロードを示すコラボレーションコンテキストデータを提供することができる(例えば、なぜならば、文書がアップロードされて以後、誰もその文書を閲覧及び/又は編集していないため)。例えば、集中型ストレージ装置が元のアップロードを示すコラボレーションコンテキストデータ(例えば、アップロードの日付スタンプ及び/又は文書をアップロードしたエンティティを明示している)を提供する場合、こうした情報は、電子メールを閲覧しているエンティティに提示することができる。
【0049】
それから、第2のエンティティは、次に、ハイパーリンクを選択し、文書にアクセスし、文書に対して編集を行うことができる(例えば、(追加の)コラボレーションコンテキストデータを生成させることになる)。続いて、第1のエンティティ、第2のエンティティ及び/又は第3のエンティティが電子メールをプレビューし、及び/又は開くとき、コラボレーションコンテキストデータへの要求を、電子メールをプレビューしている/閲覧しているエンティティの電子メールアプリケーションから、集中型のストレージ装置に送信することができる。要求を受信すると、集中型ストレージ装置は、新たに生成されたコラボレーションコンテキストデータ(例えば、第2のエンティティにより行われた編集を示す)を電子メールアプリケーションに提供することができ、電子メールアプリケーションは、電子メールを閲覧及び/又はプレビューしているエンティティに対してその情報を表示することができる。このようにして、文書を共有しているエンティティは、文書を開く必要なしに、文書に関する情報を提供されることができる。したがって、例えば、エンティティは、自身が最後に文書を読んだ以後、別のエンティティが文書に対して変更を行ったかどうかの決定を、文書を開くこと及び/又は編集を検索することの必要なしに、行うことができる。このことは、コラボレーションコンテキストデータが関連する文書より少量のデータを概して含む場合、リソース(例えば、帯域幅)利用を削減することができることを、十分理解されたい(例えば、そうでなければ、文書が変更されているかどうかに関して評価を行うために、文書は定期的にアップロード、ダウンロードなどされなければならないことになる)。
【0050】
さらに、1つの実施形態において、リファレンスを含む電子メールアプリケーション又は他のアプリケーションは、エンティティが電子メールを閲覧及び/又はプレビューする必要なしに、新しいコラボレーションコンテキストが存在するという指標を提供することができる。例として、電子メールアプリケーションは、コラボレーションコンテキストを記憶するサーバを用いて確認を周期的に実行するように構成することができる。電子メールアプリケーションが、最後の確認以後の(例えば、又は、エンティティが電子メールアプリケーションにおいてコラボレーションコンテキストデータを最後に閲覧した以後の)コラボレーションコンテキストデータにおける変化を識別する場合、電子メールアプリケーションは、新しいコラボレーションコンテキストデータが存在するという指標を、電子メールアプリケーションに関連付けられているエンティティに提供することができる。例えば、電子メールアプリケーションは、電子メールアプリケーションが新しいコラボレーションコンテキストデータを識別したときに、リファレンスを含む電子メールに隣接してフラグを掲示することができ、リファレンスを含む電子メールを未読としてマーク付けすることができ、かつ/あるいは、指定された場所へのリファレンスを含む電子メールを(例えば、電子メールリストの上部に)移動させて、コラボレーションコンテキストが変更されていることをエンティティに示すことなどができる。このようにして、エンティティは、例えば、リファレンスを含む通信文を閲覧及び/又はプレビューする必要なしに、コラボレーションコンテキストにおける変化を知ることができる。
【0051】
図3は、電子メールアプリケーションにおいてコラボレーションコンテキストデータを表示する例示的なユーザインタフェース300を示す(例えば、ユーザインタフェース300は、クライアント装置のプロセッサを介して実行され、及び/又はクライアント装置のインターネットブラウザを介してウェブページとして表示されるなどする)。例示的なユーザインタフェース300は、単に明りょうさを提供するものであり、限定する方法で解釈されるべきものではないことを、十分理解されたい。例えば、別の実施形態において、コラボレーションコンテキストデータは、電子メールアプリケーション及び/又は他の通信アプリケーションとは別個であるユーザインタフェースにおいて表示することができる。その上、例示的なユーザインタフェース300は、通知(例えば、電子メール)と同時に提示されたとおりのコラボレーションコンテキストデータを示すが、コラボレーションコンテキストデータは、さらに、及び/又は代わって、文書(例えば、通知を介してアクセスすることができる文書)、及び/又は文書から生成された変更された文書(例えば、文書に対して行われた編集分を含む文書)と同時に表示することができることを、十分理解されたい。
【0052】
図示されるとおり、例示的なユーザインタフェースは、3つのセクションに分割される。第1のセクション302(Recent Emails)は、直近に受信された電子メール及び/又は他の通信文を表示する。第2のセクション304(Preview Pane)は、第1のセクション302の中で選択された電子メール及び/又は他の通信文のプレビューを表示し、第3のセクション306(Document)は、第2のセクション304にプレビューされている通信文の中で参照されている文書のコラボレーションコンテキストデータを表示する(例えば、プレビューされている通信文の中で文書が参照されている場合)。例えば、図示されるとおり、3つの電子メール308、310及び312が直近に受信され、第1のセクション302に表示されており、2番目に挙げられている電子メール310が選択されており、電子メール310の内容を第2のセクション304に表示させている(例えば、電子メール310の内容をプレビューさせている)。
【0053】
図2の例示的な方法200に関して説明されるとおり、電子メールアプリケーション及び/又は他のプログラムは、プレビューされた及び/又は開かれた電子メールをスキャンして、共有された文書へのリファレンスを電子メールが含むかどうかを決定するように構成することができる。例えば、図示されている例において、第2のセクション304にプレビューされた電子メール310は、ハイパーリンク314を含み、電子メールアプリケーションは、共有された文書にこうしたハイパーリンク(例えば、リファレンス)が関連付けられているかどうかを決定するように構成することができる。一例として、電子メールアプリケーションは、ハイパーリンクと、共有された文書を含むことが分かっているウェブサイトのリストとを、比較することができる。ハイパーリンクが列挙されているウェブサイトに関連する場合(例えば、プレフィックスwww.cloud.comがリストに含まれる)、電子メールアプリケーションは、参照されている文書に関連するコラボレーションコンテキストデータの要求を発行することができる。例えば、電子メールアプリケーションは、ハイパーリンクに関連付けられたサービスを呼び出してコラボレーションコンテキストデータを読み出すことができる。
【0054】
図示されている実施形態において、例えば、参照されている文書について読み出されているコラボレーションコンテキストデータは、第2のセクション304に表示されている、文書へのリファレンスを含む電子メール310と同時に、第3のセクション306に表示される。
図1及び
図2の例示的な方法100及び方法200に関してそれぞれ説明されたとおり、第3のセクション306に表示されるコラボレーションコンテキストデータの内容は、集中型ストレージ装置の仕様(例えば、維持することができるコラボレーションコンテキストデータの量を制限する)、文書をアップロードしたエンティティの仕様(例えば、コラボレーションコンテキストデータ内にログを取ることができる事象の種類を指定する)、及び/又は電子メールアプリケーションを使用しているエンティティの仕様(例えば、エンティティが第3のセクション306の中で閲覧したい、及び/又は閲覧することを許可されている事象の種類を指定する)に少なくとも部分的に依存し得るが、これらに限定はされない。
【0055】
図示されている例において、第3のセクション306示されているコラボレーションコンテキストデータは、ユーザインタフェースを見ているエンティティがコラボレーションコンテキストデータをより迅速に解釈することが可能となるように、種々のカテゴリに分類される。例えば、第3のセクションは、文書に関する直近のアクティビティに関連している第1のカテゴリ316(Recent Activity)と、文書に対して行われた直近の編集に関連している第2のカテゴリ318(Recent Edits)と、電子メールアプリケーションにおいてリファレンスを含む電子メール310をエンティティが最後にプレビューした及び/又は開いた以後、文書に関して生じた事象に関連している第3のカテゴリ320(Activity Since Last Check)とを提供する。同一のデータが複数のセクションに現れてよく、かつ/あるいは同一エントリに関連している異なるデータが異なるセクションに現れてよいことを、十分理解されたい。例えば、図示されている例において、エミリ(Emily)に関する注記がすべての3つのカテゴリ316、318及び320に表示されている。なぜならば、参照されている文書に対してエミリによって行われた編集は、電子メールアプリケーションに関連付けられたエンティティが最後に電子メールをプレビューした以後に生じており、かつ/あるいは文書に関して起こった他の事象と比較してより直近のものであるためである。
【0056】
さらに、1つの実施形態において、エンティティは、第3のセクション306の中のエントリのうち1又は複数を選択して、表示されているエントリに関するさらなる詳細を見ることができることを、十分理解されたい。例えば、エンティティは、サリー(Sally)に属するエントリを選択し、サリーによって行われた編集に関する追加の情報を提供されることができる。こうしたの追加の情報には、とりわけ、サリーが文書に挿入したテキスト、サリーが文書から削除したテキストなどを含むことができる。
【0057】
エンティティが文書へのリファレンスを閲覧するとすぐにこのコラボレーションコンテキストデータを提供することによって、エンティティは、文書を取得及び/又は精査する必要なしに、文書に対する直近の変更及び/又は編集を知ることができることを、十分理解されたい。その上、コラボレーションコンテキストデータは、(例えば、起こってきたアクティビティについての実質上の全体像を集める前に、何ページものテキストを選別することをユーザに要求する可能性がある電子メールの連鎖とは対照的に)文書に関して生じた事象の簡潔なログを提供することができる。
【0058】
さらに、電子メールアプリケーション及び/又は他の通信アプリケーションの例示的なユーザインタフェース300は、例えば、文書に関して他の特性を提供することもできることを、十分理解されたい。例えば、1つの実施形態において、ユーザインタフェース300は、電子メールアプリケーションを使用しているエンティティに、例えば、電子メール内で参照されている文書に関連する集中型ストレージ装置に他の文書をアップロードする方法を提供する。例として、図示されている実施形態において、例示的なユーザインタフェース300の第3のセクション306は、同一ファイルへの文書アップロードのリンク322(Upload Document to Same File)を含み、このリンクは、アプリケーションを使用しているエンティティが、文書をアップロードして、参照されている文書へのアクセスを同様に有する他のエンティティと共有することを可能にする。例えば、参照されている文書には技術論文を含むことができ、参照されている文書、及び/又は他者によって行われたコメント/編集を精査すると、電子メールアプリケーションを使用しているエンティティは、技術論文での言及に有用となり得る別の文書をアップロードしたい場合がある。技術論文をアップロードするためにクラウドストレージ装置のインタフェースにアクセスすることに代わって、例えば、エンティティは、単に、同一ファイルへの文書アップロードのリンク322を選択することができ、その文書を、参照されている文書を含むフォルダにアップロードすることができる(例えば、さらに、参照されている文書へのアクセスを有する他のエンティティと共有することができる)。
【0059】
図4は、文書コラボレーションのための例示的なシステム400の例示的な環境を示す。より具体的には、
図4は、複数のエンティティ(例えば、又は、エンティティにそれぞれ関連付けられたクライアント装置404、406、408、410)によってアクセス可能である集中型データベース装置402(例えば、本明細書において集中型ストレージ装置とも呼ぶ)に文書がアップロードされる例示的なシステム400を示す。一例として、集中型データベース装置には、文書に複数のエンティティがアクセスすることができるクラウドストレージサービス及び/又は他のサーバベースのストレージシステムを含むことができる。
【0060】
一例として、第1のエンティティに関連付けられた第1のクライアント装置404は、例示的な集中型データベース装置402の管理コンポーネント412に、共有すべき文書をアップロードすることができる。例えば、1つの実施形態において、管理コンポーネント412は、とりわけ、アップロードコンポーネント416を含み、アップロードコンポーネント416は、文書を受信することができるための1又は複数のチャネルを作成し、かつ/あるいはクライアント装置404、406、408及び/又は410から1又は複数の文書を受信するように構成される。一例として、管理コンポーネント412のアップロードコンポーネント416は、ウェブインタフェースを提供することができ、第1のクライアント装置404は、例えば、ブラウザアプリケーションを介してウェブインタフェースを通じて文書をアップロードすることができる。別の実施形態において、管理コンポーネント412は、第1のクライアント装置404が文書アップロードすることが可能となる他の方法を提供することができる。一例として、アップロードコンポーネント416は、例えば、第1のクライアント装置404がアクセスする(例えば、マップする)ことができる仮想ドライブを作成して、仮想ドライブに文書をアップロードさせることができる。前述の手法は、アップロードコンポーネント416がデータのアップロードを提供することができるための単に例示的な手法、及び/又はデータをアップロードするための単に例示的な手法であり、本願は、特許請求の範囲を含め、実際的な程度までそのように限定されるべきものではない。
【0061】
管理コンポーネント412は、さらに、文書がアップロードされたとき、文書がアップロードされる前、及び/又は文書がアップロードされた後に、文書に対するアクセス許可を設定し、及び/又は第1のクライアント装置404からアクセス許可を示すデータを受信するように構成することができる。例えば、管理コンポーネント412は、デフォルトのアクセス許可に基づいて文書へのアクセス許可を設定するように構成されたアクセス許可コンポーネント418を含むことができ(例えば、アクセス許可は、文書をアップロードしている第1のクライアント装置404に関連付けられたエンティティによって予め設定されていてもよい)、かつ/あるいは、例えば、文書がアップロードされたとき、及び/又は文書がアップロードされた後に、第1のクライアント装置404に関連付けられたエンティティからアクセス許可を示すデータを受信するように構成することができる。一例として、1つの実施形態において、文書がウェブインタフェースを通じてアップロードされるとき、ウェブインタフェースはさらに、文書をアップロードしているエンティティに、1つ以上の他のエンティティと文書を共有するためのオプションを提供することができる。それから、ユーザは、文書をアップロードしているエンティティが文書をともに共有したい1つ以上のエンティティについて、文書を共有すること及び/又はアクセス許可を指定することを選択することができる。一例として、文書をアップロードしているエンティティは、自身が文書をともに共有したいこうしたエンティティの電子メールアドレスをウェブインタフェースに入力し、かつ/あるいはそれぞれのエンティティが読み取り及び/又は書き込みアクセスを有するかどうかを指定することができ、単にいつ編集が生じたのかを閲覧することはできるが誰が編集したのかを閲覧することはできない、などする。
【0062】
アップロードされた文書及び/又はその関連するアクセス許可は、例示的な集中型データベース装置402のデータベースコンポーネント414に記憶することができる。一例として、アップロードコンポーネント416は、受信された文書をデータベースコンポーネント414に提供するように構成することができ、かつ/あるいは、アクセス許可コンポーネント418は、受信された文書に対応するアクセス許可をデータベースコンポーネント414に提供するように構成することができる。データベースコンポーネント414の構造及び/又はデータベースコンポーネント414に含まれるファイルの構成は変化し、本開示の範囲の域を超え得ることを、十分理解されたい。したがって、文書とその関連するアクセス許可とは一緒に(例えば、単一のファイルとして)格納してもよく、かつ/あるいは別個に(例えば、異なるファイルで)格納してもよいということを提供するだけで十分となり得る。
【0063】
管理コンポーネント412はさらに、集中型データベース装置402の中のファイルの場所を示す通知、及び/又はファイルにアクセスする方法を提供するように構成することができる。例えば、1つの実施形態において、管理コンポーネント412は通知コンポーネント420を含むことができ、通知コンポーネント420は、文書をアップロードしたエンティティがこの文書をともに共有したいゼロ以上のエンティティに対してリファレンスを発行するように構成される(例えば、さらに、文書をアップロードしたエンティティに対して、将来文書にアクセスするのに役立つように、文書へのリファレンスを発行することができる)。例えば、通知コンポーネント420は、文書をアップロードしたエンティティと、文書をアップロードしたエンティティがこの文書をともに共有したいゼロ以上のエンティティとに、文書へのハイパーリンクを含む電子メール及び/又は他の通信文を発行するように構成することができる。例として、通知コンポーネント420は、第1のエンティティが文書をアップロードしたという理由で第1のクライアント装置404に、そして第1のエンティティが2〜Nとラベル付けされたクライアント装置406、408、410にそれぞれ関連付けられたエンティティと文書を共有したいという理由で2〜Nとラベル付けされたクライアント装置406、408、410に、ハイパーリンクを含む電子メールを発行することができる。
【0064】
管理コンポーネント412はさらに、文書に関して直近のアクティビティを示すデータを生成するように構成されたコラボレーションコンテキスト生成部422を含むことができる(例えば、上記データは、データベースコンポーネント414に記憶することができる)。例えば、コラボレーションコンテキスト生成部422は、それぞれのエントリが文書に関して起こったアクティビティを表すところのログを作成することができる。限定ではなく例として、こうしたアクティビティには、文書を読み取ること、文書を編集すること、文書にコメントすることなどを含むことができる。その上、ログに含まれる詳細は、コラボレーションコンテキスト生成部の設定及び/又は能力、文書をアップロードしたエンティティの仕様などを含むがこれらに限定はされない、多数の要因に依存し得る。例えば、ログには、編集のテキストを含むことができ、かつ/あるいは特定の時間に及び/又は特定のエンティティによって編集が行われたということだけを(例えば、こうした編集がどのように行われたのかを指定することなしに)提供することができる。
【0065】
コラボレーションコンテキスト生成部422はさらに、文書へのリファレンスを閲覧するエンティティに関連付けられた1つ以上の装置からコラボレーションコンテキストデータの要求を受信し、かつ/あるいはこうした要求に応答するように構成することができる。例として、コラボレーションコンテキスト生成部422は、第2のクライアント装置406に関連付けられたエンティティが通知コンポーネント420により第2のクライアント装置406に送信された通知を閲覧するとき、第2のクライアント装置406から要求を受信することができる。コラボレーションコンテキスト生成部422はさらに、データベースコンポーネント414からコラボレーションコンテキストデータの少なくとも一部分を読み出すこと、及び/又は第2のクライアント装置406にコラボレーションコンテキストの上記の部分を送信することによって、要求を処理するように構成することができる。
【0066】
上記で説明されたとおり、クライアント装置404、406、408、410は、例えば、それぞれのエンティティが通知コンポーネント420から送信された通知を閲覧するとき、コラボレーションコンテキスト生成部422から受信されたコラボレーションコンテキストを、クライアント装置404、406、408、410にそれぞれ関連付けられているエンティティに提示するように、それぞれ構成される。例えば、1つの実施形態において、ユーザが、通知コンポーネント420から送信された、及び/又は文書へのリファレンスを含む電子メール通知をプレビューし、及び/又は開くとき、クライアント装置404、406、408、410は、(例えば、クライアント装置404、406、408、410にそれぞれ含まれる)プロセッサを少なくとも部分的に介して実行される電子メールアプリケーションの中にコラボレーションコンテキストデータを提示するように構成される。
【0067】
さらに別の実施形態には、本明細書に提示される手法のうち1又は複数を実施するように構成されたプロセッサ実行可能命令を含むコンピュータ読取可能媒体を含む。こうした方法で考案することができる例示的なコンピュータ読取可能媒体を
図5に示す。
図5において、実装例500には、コンピュータ読取可能データ514を符号化されたコンピュータ読取可能媒体516(例えば、CD−R、DVD−R、又はハードディスクドライブのプラッタ)を含む。このコンピュータ読取可能データ514が、今度は、本明細書において説明された原理のうち1又は複数に従って動作するように構成された一式のコンピュータ命令512を含む。1つのこうした実施形態500において、プロセッサ実行可能コンピュータ命令512は、例えば、
図1の例示的な方法100のうち少なくともいくらか、及び/又は
図2の例示的な方法200のうち少なくともいくらかなどの、方法510を実行するように構成することができる。別のこうした実施形態において、プロセッサ実行可能命令512は、例えば、
図4の例示的なシステム400のうち少なくともいくらかなどのシステムを実施するように構成することができる。本明細書に提示される手法に従って動作するように構成された多くのこうしたコンピュータ読取可能媒体516を、当業者は考案することができる。
【0068】
本対象事項を、構造的特徴及び/又は方法論的動作に特有の文言で説明してきたが、添付の特許請求の範囲に定められる対象事項は、上記で説明された特定の特徴又は動作に必ずしも限定されないことを理解されたい。むしろ、上記で説明された特定の特徴及び動作は、特許請求の範囲を実施する例示的形態として開示されている。
【0069】
本願において、「コンポーネント」、「モジュール」、「システム」、「インタフェース」という用語及び同様のものは、一般に、コンピュータ関連エンティティ、ハードウェア、ハードウェア及びソフトウェアの組合せ、ソフトウェア、又は実行中のソフトウェアのうちいずれかを指すものである。例えば、コンポーネントは、プロセッサで実行するプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラム、及び/又はコンピュータであってよいが、それらであることに限定されない。例示として、コントローラ上で動作するアプリケーションとそのコントローラとの双方がコンポーネントであってよい。1又は複数のコンポーネントが実行中のプロセス及び/又はスレッド内に存在してよく、あるコンポーネントが1つのコンピュータ上に置かれ、かつ/あるいは複数のコンピュータ間で分散されてよい。
【0070】
さらに、請求される対象事項は、標準のプログラミング及び/又はエンジニアリング手法を用いてソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の組合せを作り出してコンピュータを制御して本開示された対象事項を実施する方法、装置、又は製造品として実装することができる。本明細書において「製造品」という用語は、任意のコンピュータ読取可能装置、搬送波、又は媒体からアクセス可能なコンピュータプログラムを包含するものである。当然ながら、請求される対象事項の範囲及び趣旨を逸脱することなしに多数の変更をこの構成に対して行うことができることが、当業者には理解されよう。
【0071】
図6及び以下の考察は、本明細書おいて説明したもののうちの1又は複数の実施形態を実装するための適切なコンピューティング環境の簡潔な概要を提供する。
図6の動作環境は、適切な動作環境の単に一例であり、その動作環境の使用又は機能性の範囲に関して何らかの限定を示唆するものではない。例示的コンピューティング装置には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド又はラップトップ装置、モバイル装置(携帯電話、パーソナル・デジタル・アシスタント(PDA)、メディアプレーヤ、及び同様のものなど)、マルチプロセッサシステム、家庭用電化製品、ミニコンピュータ、メインフレームコンピュータ、上記システム又は装置のいずれかを含む分散コンピューティング環境、及び同様のものを含むが、これらに限定されない。
【0072】
必須ではないが、実施形態は、「コンピュータ読取可能命令」が1又は複数のコンピューティング装置により実行されるという一般的背景において説明される。コンピュータ読取可能命令は、コンピュータ読取可能媒体(以下に論じる)を介して分散することができる。コンピュータ読取可能命令は、特定のタスクを実行する、又は特定の抽象データ型を実装する関数、オブジェクト、アプリケーション・プログラミング・インタフェース(API)、データ構造体、及び同様のものなどのプログラムモジュールとして実装することができる。典型的には、コンピュータ読取可能命令の機能性は、様々な環境で要望に応じて結合又は分散されることができる。
【0073】
図6は、本明細書において提供される1又は複数の実施形態を実施するように構成されたコンピューティング装置612を備えるシステム610の一例を示す。1つの構成において、コンピューティング装置612は、少なくとも1つの処理ユニット616及びメモリ618を含む。コンピューティング装置の正確な構成及びタイプに依存して、メモリ618は、揮発性(例えば、RAMなど)、不揮発性(例えば、ROM、フラッシュメモリなど)、又は上記2つの何らかの組合せとすることができる。この構成は、破線614により
図6に示される。
【0074】
他の実施形態において、装置612には、さらなる特徴及び/又は機能性を含むことができる。例えば、装置612はさらに、磁気記憶装置、光学記憶装置、及び同様のものを含むがこれらに限定されない、追加の記憶装置(例えば、取外し可能及び/又は取外し不能)を含むことができる。そのような追加の記憶装置を、記憶装置620によって
図6に示す。1つの実施形態において、本明細書で提供される1又は複数の実施形態を実施するためのコンピュータ読取可能命令が、記憶装置620内に存在してよい。記憶装置620はさらに、オペレーティングシステム、アプリケーションプログラム、及び同様のものを実施するための他のコンピュータ読取可能命令を記憶することができる。例えば、コンピュータ読取可能命令が、処理ユニット616による実行のためにメモリ618内にロードされてよい。
【0075】
本明細書において「コンピュータ読取可能媒体」という用語は、コンピュータ記憶媒体を含む。コンピュータ記憶媒体は、コンピュータ読取可能命令又は他のデータなどの情報の記憶のための任意の方法又は技術で実装された、揮発性及び不揮発性の、取外し可能及び取外し不能な媒体を含む。メモリ618及び記憶装置620は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリ若しくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)若しくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶装置、又は所望の情報を記憶するために使用でき、装置612がアクセスできる任意の他の媒体を含むが、これらに限定されない。任意のこうしたコンピュータ記憶媒体は、装置612の部分であってよい。
【0076】
装置612はさらに、装置612が他のデバイスと通信できるようにする通信接続(群)626を含むことができる。通信接続(群)626は、モデム、ネットワークインタフェースカード(NIC)、統合ネットワークインタフェース、無線周波数送信機/受信機、赤外線ポート、USB接続、又はコンピューティング装置612を他のコンピューティング装置に接続するための他のインタフェースを含むことができるが、これらに限定されない。通信接続(群)626には、有線接続又は無線接続を含むことができる。通信接続(群)626は、通信媒体を送信及び/又は受信することができる。
【0077】
「コンピュータ読取可能媒体」という用語は、通信媒体を含むことができる。通信媒体は、典型的には、搬送波又は他の移送機構などの「変調されたデータ信号」においてコンピュータ読取可能命令又は他のデータを具現化し、任意の情報配信媒体を含む。「変調されたデータ信号」という用語には、その特性のうち1又は複数が信号内の情報を符号化するための方式で設定又は変更された信号を含むことができる。
【0078】
装置612には、キーボード、マウス、ペン、音声入力装置、タッチ入力装置、赤外線カメラ、ビデオ入力装置、及び/又は任意の他の入力装置などの入力装置(群)624を含むことができる。1若しくは複数のディスプレイ、スピーカ、プリンタ、及び/又は任意の他の出力装置などの出力装置(群)622もまた、装置612に含むことができる。入力装置(群)624及び出力装置(群)622は、有線接続、無線接続、又はそれらの任意の組合せを介して装置612に接続することができる。1つの実施形態において、別のコンピューティング装置の入力装置又は出力装置を、コンピューティング装置612のための入力装置(群)624又は出力装置(群)622として使用することができる。
【0079】
コンピューティング装置612のコンポーネントは、バスなどの様々な相互接続によって接続することができる。こうした相互接続には、PCIエクスプレス、ユニバーサル・シリアル・バス(USB)、ファイアワイヤ(IEEE1394)、光学バス構造、及び同様のものなどのペリフェラルコンポーネントインターコネクト(PCI)を含むことができる。別の実施形態において、コンピューティング装置612のコンポーネントは、ネットワークによって相互接続することができる。例えば、メモリ618は、ネットワークによって相互接続された種々の物理的場所に位置する複数の物理的メモリユニットから成ることができる。
【0080】
コンピュータ読取可能命令を記憶するために使用される記憶装置はネットワークを介して分散されうることが、当業者には理解されよう。例えば、ネットワーク628を介してアクセス可能なコンピューティング装置630が、本明細書で提供される1又は複数の実施形態を実施するためにコンピュータ読取可能命令を記憶することができる。コンピューティング装置612は、コンピューティング装置630にアクセスし、実行のためにそのコンピュータ読取可能命令の一部又はすべてをダウンロードすることができる。別法として、コンピューティング装置612は、必要に応じ、複数のコンピュータ読取可能命令をダウンロードすることができ、あるいは、いくつかの命令はコンピューティング装置612で実行し、いくつかはコンピューティング装置630で実行することができる。
【0081】
実施形態の様々な動作が本明細書において提供される。1つの実施形態において、説明された動作のうち1又は複数が、1又は複数のコンピュータ読取可能媒体に記憶されたコンピュータ読取可能命令を構成することができ、コンピュータ読取可能命令は、コンピューティング装置によって実行された場合、説明された動作をコンピューティング装置に実行させることになる。上記の動作のうちのいくつか又はすべてが説明された順序は、これらの動作が必ず順序依存であることを示唆するものとして解釈されるべきではない。代替的な順序が、本説明の助けを借りて、当業者には理解されよう。さらに、本明細書で提供される各実施形態にすべての動作が必ずしも存在する訳ではないことが、理解されよう。
【0082】
さらに、「例示的」という言葉は、本明細書において、例、事例又は例証の役割を果たすことを意味するために使用される。本明細書に「例示的」として説明される態様又は設計は、必ずしも、他の態様又は設計を上回って有利であると解釈されるものではない。むしろ、例示的という言葉の使用は、具体的な形で本概念を提示することを意図する。本願において、「又は」という用語は、排他的な「又は」ではなくて包括的な「又は」を意味するものである。すなわち、他に指定のない限り、又は文脈から明らかであれば、「XはA又はBを使用する」は、自然な包含的順列のいずれかを意味するものである。すなわち、XがAを使用する、XがBを使用する、あるいはXがA及びBの双方を使用する場合、「XはA又はBを使用する」は前述の例のいずれの下でも満たされる。加えて、本願及び添付の特許請求の範囲において使用される冠詞「a(1つの)」及び「an(1つの)」は、概して、他に指定のない限り又は単数形を対象とすることが文脈から明らかでなければ、「1又は複数の」を意味するものとして解釈されうる。また、A及びBのうち少なくとも1つ、又は同様のものは、概して、A又はB、あるいはAとBとの双方を意味する。
【0083】
本開示は1又は複数の実装形態に関して示され、説明されたが、均等な代替及び変更が、本明細書及び添付の図面を読み、理解することに少なくとも部分的に基づいて、当業者には想到されよう。本開示は、すべてのこうした変更及び代替を含み、添付の特許請求の範囲によってのみ限定される。前述のコンポーネント(例えば、要素、リソースなど)によって実行される様々な機能に特に関して、こうしたコンポーネントを説明するために使用される用語は、他に指示のない限り、たとえ本明細書に示された本開示の例示的な実装における機能を実行する開示された構造と構造的に同等でないとしても、説明されたコンポーネントの指定された機能を実行する(例えば、機能的に同等な)任意のコンポーネントに相当するものとする。加えて、本開示の具体的な特徴がいくつかの実装のうち1つのみに関して開示されることがあるが、こうした特徴は、何らかの所与の又は特定の適用例のために所望され得、及び有利であり得るとおり、他の実装形態の1又は複数の他の特徴と組み合わせることができる。さらに、「含む」、「有した」、「有する」、「もつ」という用語又はそれらの変化形が詳細な説明又は特許請求の範囲のいずれかで使用される限りにおいて、こうした用語は、「備える」という用語と同様の形で包括的であるものとする。