JP6506686B2 - ファイル記述子を自動的に管理する技法 - Google Patents

ファイル記述子を自動的に管理する技法 Download PDF

Info

Publication number
JP6506686B2
JP6506686B2 JP2015514062A JP2015514062A JP6506686B2 JP 6506686 B2 JP6506686 B2 JP 6506686B2 JP 2015514062 A JP2015514062 A JP 2015514062A JP 2015514062 A JP2015514062 A JP 2015514062A JP 6506686 B2 JP6506686 B2 JP 6506686B2
Authority
JP
Japan
Prior art keywords
file
file descriptor
content
descriptor
extracted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015514062A
Other languages
English (en)
Other versions
JP2015517710A (ja
JP2015517710A5 (ja
Inventor
ラジャビ,ゼヤド
ロス,タリ
ウッド,マシュー
レオン,ジェームズ
ジュヨン,オリヴァー
ビショップ,アンドリュー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2015517710A publication Critical patent/JP2015517710A/ja
Publication of JP2015517710A5 publication Critical patent/JP2015517710A5/ja
Application granted granted Critical
Publication of JP6506686B2 publication Critical patent/JP6506686B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • G06F16/1794Details of file format conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Description

[0001] コンピューターまたはサーバーは、何千ものファイルを格納することがある。したがって、例えば、ファイル名のような、何らかの識別情報によって、各ファイルを表すことは便利になる。このようにして、ユーザーは関心のある特定のファイルを突き止めることができる。時間の経過と共に、異なるタイプのファイルを一層効率的に表す種々の技法が発展してきた。例えば、テキストに基づく表現からグラフィックに基づく表現への移行により、ワード・プロセッシング文書には別個のアイコンを用い、スプレッドシート文書には他の別個のアイコンを用いること等により、ファイルを異なるアイコンによって表すことが可能になる。ファイル表現における各発展は、ユーザーが所与のファイルを突き止めることを遙かに容易にする。
[0002] 最近では、しかしながら、オンラインおよびオフライン双方のメモリー・ストレージによって、1人のユーザーが、これまでよりも遙かに多いファイル、場合によっては何倍ものファイルを格納すること、またはファイルにアクセスすることが可能になった。ファイル間における区別を一層きめ細かくするために、従来のファイル表現技法から、ファイル内部に格納された実際のコンテンツを使用したファイル表現の生成に移行した。コンピューター・ファイルは、種々のタイプのディジタル・メディア・コンテンツを格納する場合がある。例えば、ワード・プロセッシング文書が、定式化されたテキスト、数値、写真、表等を含むかもしれない。今では、ファイルから引き出された写真によってファイル・アイコンを作成する(build)というように、格納されたコンテンツの一部を使用して、ファイル表現を作成することもできる。これらの革新にも拘わらず、ファイル表現技法は、ファイル・ストレージの増大するレベルには追いついていない。したがって、関心のあるファイルを突き止めることは、ユーザーにとって増々難しくなりつつある。本改良が必要とされたのは、これらおよびその他の考慮すべき事項に関してである。
[0003] 以下に提示するのは、本明細書において説明する新規の実施形態の基本的な理解を得るための簡略化した摘要である。この摘要は、広範な全体像ではなく、主要な/肝要なエレメントを識別することや、その範囲を明確に定めることを意図するのではない。その唯一の目的は、後に提示される更に詳細な説明に対する序論として、一部の概念を簡略化した形態で紹介することである。
[0004] 種々の実施形態は、総じて、電子ファイルを管理する技法を目的とする。一部の実施形態は、特に、電子ファイルに対してファイル記述子を自動的に生成し、管理し、更新する技法を目的とする。一実施形態では、例えば、装置が、プロセッサー回路と、コンテンツ・ファイルのファイル記述子を管理するためにプロセッサー回路上で動作するファイル記述子アプリケーションとを含むことができる。ファイル記述子アプリケーションは、クライアント・アプリケーションからファイル記述子要求を受け、コンテンツ・ファイルにファイル記述子またはファイル記述子作成(construction)情報を生成し、このファイル記述子またはファイル記述子作成情報と共にファイル記述子応答をクライアント・アプリケーションに送るように構成することができる。他の実施形態についても説明し、特許請求する。
[0005] 以上の目的および関係する目的の成就のために、以下の説明および添付図面と関連付けて、本明細書ではある種の例示的な態様について説明する。これらの態様は、本明細書において開示される原理を実施することができる種々の方法を示し、全ての態様およびその均等物は、特許請求される主題の範囲内に入ることを意図している。他の利点および新規の特徴は、以下の詳細な説明を図面と併せて検討することから明白になるであろう。
図1は、ファイル記述子を管理するシステムの一実施形態を示す。 図2は、ファイル記述子アプリケーションの第1コンポーネントの実施形態を示す。 図3は、ファイル記述子アプリケーションの第2コンポーネントの実施形態を示す。 図4は、ファイル記述子アプリケーションの第3コンポーネントの第1の態様の実施形態を示す。 図5は、ファイル記述子アプリケーションの第3コンポーネントの第2の態様の実施形態を示す。 図6は、ファイル記述子アプリケーションの第3コンポーネントの第3の態様の実施形態を示す。 図7は、ファイル記述子アプリケーションの第4コンポーネントの実施形態を示す。 図8は、図1のシステムの集中システムの実施形態を示す。 図9は、図1のシステムの分散型システムの実施形態を示す。 図10は、図1のシステムの論理フローを示す。 図11は、計算アーキテクチャーの実施形態を示す。 図12は、通信アーキテクチャーの実施形態を示す。
[0018] 実施形態は、電子ファイルの拡張ファイル記述子を自動的に生成し、管理し、更新する技法を目的とする。電子ファイルは、任意の物理的または論理的に定められた1組のディジタル情報を含むことができる。ファイル記述子は、電子ファイルを表すために使用されるユーザー・インターフェース・エレメントを含むことができる。例えば、電子ファイルのファイル記述子は、定められたサイズ、形状、または外形(geometry)を、電子ファイルについての何らかの記述的情報と共に有するグラフィカル・ユーザー・インターフェース・エレメント(例えば、アイコン)として実装されてもよい。ファイル記述子は、ユーザーがあるファイルを他のファイルから区別し、所与のファイルが興味深いか否か素早く判断することを可能にすることができる。これが行われると、ユーザーはファイル記述子を選択してこのファイル記述子によって表される電子ファイルを開き、その電子ファイルのコンテンツを一層綿密に調べることができる。
[0019] 既に説明したように、従来のファイル表現技法では、基礎になる電子ファイルからのコンテンツを利用して、ファイル記述子を作成しようとする場合がある。このタイプのファイル記述子は、「ティーザー」(teaser)または「サムネイル」と非公式に呼ばれることがある。何故なら、これはユーザーにファイル・コンテンツのプレビューを与えるからである。しかしながら、これらのタイプのファイル記述子作成には、様々な問題が付随する。例えば、ファイル記述子がファイルからの不規則なコンテンツを提示することがあり得る。他の例では、ファイル記述子がファイル・コンテンツを不規則に編成することがあり得る。更に他の例では、ファイル記述子が古い時代遅れのテンプレートを利用することもあり得る。更に他の例では、ファイル記述子が静止コンテンツを含むこともあり得る。更に他の例では、ファイル記述子が、所与のファイルにおいて明示的に発見されたコンテンツのみを利用することもあり得る。更に他の例では、ファイル記述子がクライアント・デバイスまたはオペレーティング・システムによってローカルに生成されることもあり得る。これらは、従来のファイル記述子に付随する欠点の僅かな例に過ぎず、他にも存在する。
[0020] これらおよびその他の問題を解決する試みにおいて、実施形態は、ファイル記述子の拡張クラス(enhanced class)を生成し、管理し、更新する技法を提供する。拡張ファイル記述子は、一層意味のある情報をユーザーに提供することにより、ユーザーが一層容易に対象のファイルを識別および選択することを可能にする。また、拡張ファイル記述子は性質が動的である。拡張ファイル記述子がファイルからのコンテンツを利用する限り、ファイルからのコンテンツが更新されたときにはいつでも、拡張ファイル記述子を動的に更新することができる。このように、拡張ファイル記述子は、基礎となるファイルについて関連する情報および最新情報を提供することができる。また、拡張ファイル記述子は、変換技法を使用して、ファイルからのコンテンツを1つの形態(またはタイプ)から他の形態(またはタイプ)に変換することもできる。例えば、スプレッドシートからの表データーを、拡張ファイル記述子による提示のために、グラフに変換することができる。また、拡張ファイル記述子は、ローカル・クライアント・デバイスまたはクライアント・アプリケーションではなく、ネットワーク・デバイス、サーバー、またはクラウド・ベース・サービスによって生成することもできる。これによって、ファイル記述子サービスの価格効率的な展開、旧来のデバイスおよびアプリケーションとの互換性、ならびに更新されたテンプレートおよびコンテンツへのアクセスを確保する。その結果、実施形態は、手頃な料金での提供(affordability)、スケーラビリティ(scalability)、モジュール性、拡張性(extendibility)、あるいは運営会社(operator)、デバイス、またはネットワークに対する相互運用性(interoperability)を改善することができる。
[0021] 本明細書において使用される観念および専門用語を総合的に参照して、以下に続く詳細な説明は、コンピューターまたはコンピューターのネットワーク上で実行されるプログラム手順に関して紹介することができる。これらの手順的記載および表現は、当業者によって、彼らの成果の実体を他の当業者に最も効果的に伝えるために使用される。
[0022] 手順とは、ここでは、そして一般に、所望の結果に至る動作の自己無撞着なシーケンスであると考えられる。これらの動作は、物理量の物理的操作を必要とするものである。必然的ではないが、大抵の場合、これらの量は、格納、転送、組み合わせ、比較、およびそれ以外の操作が可能な電気信号、磁気信号、または光信号の形態を取る。折に触れて、主に共通使用の理由のために、これらの信号をビット、値、エレメント、シンボル、キャラクタ、用語(terms)、数値等と呼ぶのが便利であることが示される。しかしながら、これらおよび同様の用語の全ては、しかるべき物理量と関連付けられなければならず、単にこれらの量に適用される便利な名称(label)に過ぎないことは注記してしかるべきである。
[0023] 更に、実行される操作は、加算または比較というような用語で引用されることが多いが、これらの用語は一般に人間の操作者によって実行される知的活動と関連付けられる。本明細書において説明する、1つ以上の実施形態の一部をなす動作のいずれにおいても、人間の操作者のこのような能力は不要であり、殆どの場合望ましくない。むしろ、これらの動作は機械動作である。種々の実施形態の動作を実行する有用な機械は、汎用ディジタル・コンピューターまたは同様のデバイスを含む。
[0024] また、種々の実施形態は、これらの動作を実行する装置またはシステムにも関する。この装置は、しかるべき目的に対して特別に構成されてもよく、またはコンピューター内に格納されたコンピューター・プログラムによって選択的にアクティブ化または再構成される、汎用コンピューターを含んでもよい。本明細書において紹介する手順は、本来特定のコンピューターや他の装置に関係するのではない。本明細書における教示にしたがって書かれたプログラムによって、種々の汎用機械を使用することもでき、あるいはしかるべき方法ステップを実行するために、一層特殊化された装置を構成することが便利であることが示される場合もある。種々のこれらの機械に適した構造は、ここに示される説明から明らかになろう。
[0025] これより図面を参照するが、図面において同様の参照番号が、全体を通じて同様のエレメントを示すために使用される。以下の記載では、説明の目的に限って、多数の具体的な詳細が、その完全な理解を得るために、明記される。しかしながら、新規な実施形態は、これらの具体的な詳細がなくても実施できることは明白であろう。他方で、周知の構造およびデバイスは、その説明を容易にするために、ブロック図形状で示される。その意図は、特許請求する主題と首尾一貫する全ての変更、均等、および代替を包含するためである。
[0026] 図1は、システム100のブロック図を示す。一実施形態では、システム100は、1つ以上のコンポーネント122−aを含むソフトウェア・アプリケーション120を有するコンピューター実装システム100を構成するのでもよい。図1に示すシステム100は、ある種のトポロジーとした限定数のエレメントを有するが、システム100は、代替トポロジーでは、これらよりも多いまたは少ないエレメントを含んでもよく、所与の実施態様に望まれる通りにすればよいことは認められよう。
[0027] 尚、本明細書において使用される「a」、「b」、および「c」、ならびに同様の参照符号は、任意の正の整数を表す変数であることを意図することは、注記するに値する。つまり、例えば、ある実施態様がa=5と値を設定した場合、完全な1組のコンポーネント122−aは、コンポーネント122−1、122−2、122−3、122−4、および122−5を含むことができる。実施形態は、このコンテキストに限定されるのではない。
[0028] システム100は、ファイル記述子アプリケーション120を含むことができる。ファイル記述子アプリケーション120は、全般的に、1つ以上のクライアント・アプリケーションに対して、拡張クラスのファイル記述子を自動的に生成、管理、および/または更新するように構成することができる。記述子アプリケーション120はアプリケーション・プログラムとして説明されるが、ファイル記述子アプリケーション120の機能および動作は、システム・プログラム、ミドルウェア・プログラム、ファームウェア・プログラム、ウェブ・サービス等を含む、あらゆるソフトウェア・コンポーネントにおいても利用できることは認められよう。更に、図8および図9を参照して更に詳細に論ずるが、ファイル記述子アプリケーション120は、ローカル・クライアント・アプリケーションをサービスする(servicing)クライアント・デバイスによって、またはネットワークを通じてリモート・クライアント・アプリケーションにサービスするネットワーク・デバイスによって実現されてもよい。後者のシナリオは、任意の数のクライアント・デバイスおよびクライアント・アプリケーションを介してアクセス可能な種々のウェブ技術およびクラウド計算技術を使用して実現することもできる。
[0029] ファイル記述子アプリケーション120は、ファイル記述子抽出コンポーネント122−1を含むことができる。ファイル記述子抽出コンポーネント122−1は、全般的に、コンテンツ・ファイル122からマルチメディア・コンテンツの部分を抽出するように構成することができる。マルチメディア・コンテンツは、テキスト、数値、シンボル、画像、写真、ビデオ、オーディオ、動画等というような、コンテンツ・ファイル112によって格納することができるあらゆるディジタル情報エレメントまたはディジタル・コンテンツを含むことができる。ファイル記述子抽出コンポーネント122−1は、例えば、データー・ストア124からコンテンツ・ファイル112にアクセスすることができる。
[0030] コンテンツ・ファイル112は、アプリケーション・プログラム、ウェブ・アプリケーション、ウェブ・サービス、クライアント・アプリケーション、サーバー・アプリケーション、システム・プログラムというような、ソフトウェア・プログラムによって生成されるあらゆるディジタル情報エレメントまたはディジタル・コンテンツを含むことができる。異なるソフトウェア・プログラムは、異なるタイプのディジタル・コンテンツを生成する可能性がある。したがって、異なるソフトウェア・プログラムによって生成されたディジタル・コンテンツは、異質のディジタル・コンテンツを含むこともあり得る。コンテンツ・ファイル112の例には、限定ではなく、ワード・プロセッシング・ファイル、スプレッドシート・ファイル、プレゼンテーション・ファイル、個人情報管理(PIM)ファイル、データーベース・ファイル、パブリッシャ・ファイル(publisher file)、ドローイング・ファイル(drawing file)、ノート・ファイル、メッセージ・ファイル、プロジェクト・ファイル等というような、アプリケーション・ファイルを含むことができる。コンテンツ・ファイル112の更に他の例には、オーディオ・ファイル、画像ファイル、ビデオ・ファイル、オーディオ/ビデオ(AV)ファイル、動画ファイル、ゲーム・ファイル、マークアップ・ファイル、ウェブ・ページ・ファイル、ソーシャル・ネットワーキング・サービス(SNS)ファイル等というような、マルチメディア・ファイルを含むことができる。コンテンツ・ファイル122の他の例には、ウェブ・ページ、ソーシャル・ネットワーキング・サイト・フィード(例えば、Twitter(登録商標)フィード、Facebook(登録商標)フィード等)、ニュース・フィード(例えば、リアリー・シンプル・シンディケーション(RSS)フィード、ニュース集計ウェブサイトおよびポータル等)、検索エンジン結果、ウェブ・ポータル・フィード、および他のオンライン・コンテンツ・タイプを含むことができる。尚、これらは、コンテンツ・ファイル112の僅かな例に過ぎず、実施形態はこれらの例に限定されないことは認められよう。
[0031] 一実施形態では、コンテンツ・ファイル112は、ワシントン州、RedmondのMicrosoft Corporation(マイクロソフト社)によって製造されたMICROSOFT WINDOWS(登録商標)用のMICROSOFT(登録商標)OFFICE生産性スイートのためのコンテンツ・ファイルを含むことができる。クライアント・アプリケーションの例には、限定ではなく、MICROSOFT WORD、MICROSOFT EXCEL(登録商標)、MICROSOFT POWERPOINT(登録商標)、MICROSOFT OUTLOOK(登録商標)、MICROSOFT ACCESS(登録商標)、MICROSOFT INFOPATH(登録商標)、MICROSOFT ONENOTE(登録商標)、MICROSOFT PROJECT、MICROSOFT PUBLISHER、MICROSOFT SHAREPOINT(登録商標)WORKSPACE、MICROSOFT VISIO(登録商標)、MICROSOFT OFFICE INTERCONNECT、MICROSOFT OFFICE PICTURE MANAGER、MICROSOFT SHAREPOINT DESIGNER、およびMICROSOFT LYNCが含まれる。サーバー・アプリケーションの例には、限定ではなく、MICROSOFT SHAREPOINT SERVER、MICROSOFT LYNC SERVER、MICROSOFT OFFICE FORMS SERVER、MICROSOFT OFFICE GROOVE(登録商標)SERVER、MICROSOFT OFFICE PROJECT SERVER、MICROSOFT OFFICE PROJECT PORTFOLIO SERVER、およびMICROSOFT OFFICE PERFORMANCEPOINT(登録商標) SERVERを含むことができる。ウェブ・サービスの例には、限定ではなく、MICROSOFT WINDOWS LIVE(登録商標)、MICROSOFT OFFICE WEB APPLICATIONS、MICROSOFT OFFICE LIVE、MICROSOFT LIVE MEETING、MICROSOFT OFFICE PRODUCT WEB SITE、MICROSOFT UPDATE SERVER、およびMICROSOFT OFFICE 365が含まれる。実施形態は、これらの例に限定されるのではない。
[0032] ファイル記述子アプリケーション120は、ファイル記述子置換コンポーネント122−2を含むことができる。ファイル記述子置換コンポーネント122−2は、全般的に、コンテンツ・ファイル112によって格納された1つのタイプのコンテンツを、他のタイプのコンテンツに置き換える(replace)、変換する(translate)、変形する(transform)、またはそれ以外で置換する(substitute)ように構成することができる。例えば、スプレッドシート・アプリケーション用のコンテンツ・ファイル112は、データーを表形式で格納することができる。ファイル記述子置換コンポーネント122−2は、表データーを、この表データーを表すグラフに変形することができる。次いで、このグラフは、コンテンツ・ファイル112を表すファイル記述子134を作成するために使用することができる。他の例では、ワード・プロセッシング・アプリケーション用のコンテンツ・ファイル112が「犬」をテキスト形式で格納する場合がある。ファイル記述子置換コンポーネント122−2は、テキストの「犬」を犬の写真、画像、または動画に変形することができる。次いで、この写真は、コンテンツ・ファイル122を表すファイル記述子134を作成するために使用することができる。
[0033] ファイル記述子アプリケーション120は、ファイル記述子組み立てコンポーネント122−3を含むことができる。ファイル記述子組み立てコンポーネント122−3は、全般的に、ファイル記述子抽出コンポーネント122−1によって抽出されたコンテンツ・ファイル112からの1つ以上のコンテンツ部分を利用して、ファイル記述子作成情報132および/またはファイル記述子134を生成、構成、またはそれ以外で組み立てるように構成することができる。これらのコンテンツ部分は、コンテンツ・ファイル112において元来発見されたもの、またはファイル記述子置換コンポーネント122−2によって置換されたものである。
[0034] ファイル記述子作成情報132またはファイル記述子134を適正に組み立てるために、ファイル記述子組み立てコンポーネント122−3は、データー・ストア124によって格納されたファイル記述子モデル126−bを利用して、ファイル記述子作成情報132および/またはファイル記述子134を生成することができる。ファイル記述子モデル126−bは、ファイル記述子134を作成する(build)または生成するためのテンプレートを含むことができる。ファイル記述子モデル126−bは、コンテンツ・ファイル112から抽出すべきコンテンツに関する1組の抽出規則、抽出されるコンテンツのフォーマット、レイアウト、または位置を指定する1組の書式設定規則、抽出されたコンテンツをユーザーにどのように提示するか(例えば、フォント、フォント・サイズ、太字、下線、斜字体、様式等)制御する1組の提示規則、いつどのように抽出されたコンテンツを変形するかについて詳細を示す1組の変形規則、ならびにどのようにカスタム・ファイル記述子134を生成することができるか定める他の規則を定めることができる。異なるタイプのコンテンツ・ファイル112には、異なるファイル記述子モデル126−bを定めることができる。例えば、第1ファイル記述子モデル126−1は、ワード・プロセッシング文書に対してファイル記述子134をどのように生成することができるか定めることができ、一方第2ファイル記述子モデル126−2は、スプレッドシート文書に対してファイル記述子をどのように生成することができるか定めることができる等である。他の例では、第3および第4記述子モデル126−3、126−4は、1つのプレゼンテーション文書のための2つの代替モデルであってもよい。実施形態は、ファイル記述子モデル126−bの数やタイプには限定されず、実施態様に応じて様々に変化することができる。
[0035] ファイル記述子アプリケーション120は、ファイル記述子同期コンポーネント122−4を含むことができる。ファイル記述子同期コンポーネント122−4は、全般的に、コンテンツ・ファイル112のコンテンツ部分に対して行われた変更を、ファイル記述子134に使用された対応するコンテンツ部分と同期させるように構成することができる。例えば、ファイル記述子134がコンテンツ・ファイル112からの写真を利用し、コンテンツ・ファイル112におけるこの写真が新しい写真で更新された場合、ファイル記述子同期コンポーネント112−4は、自動的にこの変更を検出し、ファイル記述子134をこの新しい写真で更新する。これは、以下で更に詳しく説明するように、部分的に、コンテンツ・ファイル112およびファイル記述子134によって共通して使用された各コンテンツ部分を一意に識別することによって行うことができる。
[0036] 一般的な動作では、ファイル記述子アプリケーション120は、コンテンツ・ファイル112のファイル記述子134を管理するために、プロセッサー回路(図11に示すような)上で動作することができる。ファイル記述子アプリケーション120は、クライアント・アプリケーション(図9に示すような)からファイル記述子要求110を受け、コンテンツ・ファイル112にファイル記述子134またはファイル記述子作成情報132を生成し、ファイル記述子応答130を、ファイル記述子134またはファイル記述子作成情報132と共にクライアント・アプリケーションに送るように構成することができる。次いで、クライアント・デバイスのエンティティ(例えば、クライアント・アプリケーション、オペレーティング・システム、ローカル・ファイル記述子アプリケーション等)が、ファイル記述子作成情報132を使用してファイル記述子134を生成するか、またはファイル記述子応答130と共に受信したファイル記述子134を使用して、クライアント・デバイス上においてコンテンツ・ファイル112を表すことができる。
[0037] 図2は、システム100の動作環境200の実施形態を示す。更に特定すれば、動作環境200は、ファイル記述子抽出コンポーネント122−1についての動作例を示す。
[0038] 図1を参照して説明したように、ファイル記述子アプリケーション120は、ファイル記述子抽出コンポーネント122−1を含むことができる。ファイル記述子抽出コンポーネント122−1は、ファイル記述子モデル126−bをデーター・ストア124から引き出して、ファイル記述子134を生成するように動作することができる。ファイル記述子モデル126−1のような、特定のファイル記述子モデル126−6が、多数の異なる理由のために、引き出されることがあり得る。例えば、とりわけ、コンテンツ・ファイル112のファイル・タイプ、ファイル記述子要求110を発した元であるクライアント・アプリケーション、またはクライアント・アプリケーションをホストするクライアント・デバイスに基づいて、ファイル記述子モデル126−1が引き出されることがあり得る。
[0039] ファイル記述子抽出コンポーネント122−1は、ファイル記述子モデル126−1に基づいて、コンテンツ・ファイル112から1つ以上のコンテンツ部分204−cを抽出することができる。コンテンツ部分204−cは、コンテンツ・ファイル112によって格納されたディジタル情報の任意の離散集合または確定集合(defined set)である。既に説明したように、コンテンツ・ファイル112はディジタル情報を含むことができる。ディジタル情報は、近接度、コンテンツ・タイプ(例えば、テキスト、写真、グラフ等)、コンテンツの書式設定(例えば、文章、パラグラフ、章、文字等)等というような、多数の要因に基づいて、物理的または論理的に分類する(group)ことができる。加えてまたは代わりに、コンテンツ部分204−cは、ファイル名、ファイル・パス、メタデーター、記述子、プロパティ、属性等というような、コンテンツ・ファイル112に関連する情報も含むことができる。本明細書において使用する場合、コンテンツ・ファイル112から抽出されたコンテンツ部分204−cは、抽出コンテンツ部分208−sと呼んでもよい。例えば、コンテンツ部分204−1は、抽出動作が実行された後には、抽出コンテンツ部分208−1と呼んでもよい。
[0040] ファイル記述子モデル126−1は、ファイル記述子表面222を含むことができる。ファイル記述子表面222は、座標系および境界を有する任意の規定サイズの二次元(2D)または三次元(3D)トポロジー空間を構成することができる。ファイル記述子表面222は、一般に、コンテンツ・ファイル112のプレゼンテーション表面よりは小さいサイズを有するのでよい。コンテンツ・ファイル112によって使用されるプレゼンテーション表面の例には、限定ではなく、ワード・プロセッシング・プログラムの文書、プレゼンテーション・プログラムのスライド、スプレッドシート・プログラムのワークシート、メモ・プログラムのメモ、個人情報マネージャ(PIM)の連絡先カード、およびアプリケーション・プログラムによって通例使用される他の空間を含むことができる。一実施形態では、例えば、ファイル記述子表面222が、電子ディスプレイのような、出力デバイスの200×200画素空間に等しいサイズを有するのでもよい。
[0041] ファイル記述子表面222は、ある種のトポロジーでファイル記述子表面222上に定められたまたは配置された種々のファイル記述子タイル224−eを含むことができる。ファイル記述子タイル224−eは、コンテンツ部分204−cまたは抽出されたコンテンツ部分208−sのような、情報の離散集合を提示するために指定される、ファイル記述表面222の規定領域を含むことができる。規定領域は、所与の実施態様に望まれる通りに、任意のサイズ、寸法、または形状とすることができる。所与のファイル記述子表面222は、任意の数のファイル記述子タイル224−eを有することができ、各ファイル記述子タイル224−eは、ファイル記述子タイル224−eの全てがファイル記述子表面222の所与のサイズ内に収まることを確実にするために、1組の定義(例えば、サイズ、形状、寸法、外形)を有することができる。ファイル記述子タイル224−eについての定義は、ファイル記述子表面222、1組のコンテンツ部分204−cまたは抽出されたコンテンツ部分208−s、コンテンツ部分204−cまたは抽出されたコンテンツ部分208−sとファイル記述子タイル224−eとの間の関連付け、表示についてのプロパティ、デバイスについてのプロパティ、ユーザーの好み、および他の要因に基づいて、動的に変更することもできる。実施形態はこのコンテキストに限定されるのではない。
[0042] 抽出されたコンテンツ部分208−sは、以下で更に説明するように、組み立て動作の間に、ファイル記述子モデル126−1の種々のファイル記述子タイル224−eに挿入することができる。図2に示すように、一旦ファイル記述子抽出コンポーネント122−1がコンテンツ部分204−1をコンテンツ・ファイル112から抽出したなら、ファイル記述子組み立てコンポーネント122−3は、抽出されたコンテンツ部分204−1を、ファイル記述子表面222の対応するファイル記述子タイル224−1に挿入することができる。これは、ファイル記述子表面222が完全に埋められるまで、コンテンツ・ファイル112に残りのコンテンツ部分204−cがなくなるまで、タイマーの満了まで、または他の何らかの終了条件が生ずるまで、コンテンツ部分204−2をファイル記述子タイル224−2等に、同様に続けることができる。
[0043] コンテンツ・ファイル112の適正なコンテンツ部分204−cを抽出するために、ファイル記述子抽出コンポーネント122−1は、ファイル記述子モデル126−1によって供給される命令、規則、またはアルゴリズムを利用することもできる。加えてまたは代わりに、ファイル記述子抽出コンポーネント122−1は、ファイル記述子アプリケーション120のために設計された企業固有の(proprietary)コンテンツ抽出アルゴリズムを利用することもできる。
[0044] コンテンツ抽出アルゴリズムは、コンテンツ・ファイル112から抽出する情報のタイプに関する1組の規則を収容することができる。異なるファイル・タイプには、異なるコンテンツ抽出アルゴリズムを利用することもできる。一例としてそして限定ではなく、ワード・プロセッシング文書を含むコンテンツ部分204−cをコンテンツ・ファイル112から抽出するように設計されたコンテンツ抽出アルゴリズムについて説明することができる。しかしながら、異なるコンテンツ抽出アルゴリズムを異なるファイル・タイプに合わせて、所与の実施態様に望まれる通りに、同様の原理を使用して設計してもよいことは認められよう。実施形態はこのコンテキストに限定されるのではない。
[0045] 一実施形態では、例えば、コンテンツ抽出アルゴリズムは、3つのクラスの情報および関連規則を利用することができる。3つのクラスは、コンテンツ・ファイル112からのコンテンツおよびプロパティ・クラス(例えば、パラグラフまたはプロパティ)、コンテンツ・ファイル112についてのコンテンツ・オブジェクト・クラス(例えば、画像、埋め込みオブジェクト)、およびコンテンツ・ファイル112内部のコンテンツ・ページ・クラス、またはこれらの何らかの組み合わせを含む。尚、所与のコンテンツ・ファイル・タイプに対して、任意の数のクラスまたはカテゴリーを定めてもよいことは認められよう。
[0046] 一実施形態では、コンテンツおよびプロパティ・クラスの例は、次のように、表1に例示することができる。
Figure 0006506686
[0047] 一実施形態では、コンテンツ・オブジェクト・クラスの例は、次のように、表2に例示することができる。
Figure 0006506686
[0046] 一実施形態では、コンテンツ・ページ・クラスの例は、次のように、表3に例示することができる。
Figure 0006506686
[0049] コンテンツ抽出アルゴリズムは、データー・ストア124によって格納されたコンテンツ・ファイル112からコンテンツ部分204−cを引き出すために使用することができる。ファイル記述子組み立てコンポーネント122−3は、次いで、ファイル記述子134を生成するために、抽出されたコンテンツ部分204−cを編成し、書式設定することができる。例えば、コンテンツ抽出アルゴリズムについてのある規則が、最初のN個のパラグラフのような、文書内部から引き出されたテキストはいずれも、文書内部で指定されたような様式書式設定(style formatting)を維持することを明言するのでもよい。他の規則は、文書内部において実際のテキストでないコンテンツ・プロパティは、文書内で定められるように、普通体で書式設定されるということでもよい。更に他の規則は、コンテンツ部分204−cのテキスト全体がファイル記述子タイル224−cの寸法内に収まることができない場合、テキストの終端に省略符号「...」が添付されるということでもよい。これらは、一部の規則例に過ぎず、他のものも可能である。実施形態はこのコンテキストに限定されるのではない。
[0050] 場合によっては、コンテンツ抽出アルゴリズムが、コンテンツおよびプロパティ・クラス、コンテンツ・オブジェクト・クラス、およびコンテンツ・ページ・クラスの組み合わせからファイル記述子134を作成するために、1組の規則を定めることもできる。この組み合わせは、非公式に「マッシュアップ」(mashup)と呼ばれることもある。これは、コンテンツ・ファイル112のコンテンツを表すために、非常にカスタム化されたファイル記述子134を構成するために設けられる。
[0051] 一実施形態では、異なるクラスの組み合わせについての例が、次のように、表4に例示することができる。
Figure 0006506686
[0052] また、コンテンツ抽出アルゴリズムは、ファイル記述子134を1つのクラスまたはクラス内における1つのタイプに限定する規則を規定することもできる。例えば、コンテンツ・ファイル112からのテキストの形態であるコンテンツ、または画像の形態であるコンテンツ・オブジェクトのみをコンテンツ・ファイル112に使用するように、規則を定めることもできる。
[0053] 更にまた、コンテンツ抽出アルゴリズムは、最終的な選択のためにユーザーに提示するために、多数のバージョンのファイル記述子134のリストを生成する規則を規定することもできる。例えば、ある規則が、P個のバージョンのファイル記述子134を生成するのでもよく、Pは任意の正の整数を表す(例えば、P=10)。多数のバージョンのファイル記述子134のリストは、以下のように、表5に示す例にしたがって生成することもできる。
Figure 0006506686
[0054] 抽出動作の前、最中、またはその後のある時点において、ファイル記述子抽出コンポーネント122−1は、コンテンツ部分204−cまたはコンテンツ・ファイル112の抽出されたコンテンツ部分208−sの各々に、コンテンツ部分識別子206−dを割り当てることができる。あるいは、コンテンツ・ファイル112の各コンテンツ部分204−cに、コンテンツ部分識別子206−dを予め割り当てておくこともできる。コンテンツ部分識別子206−dは、対応する抽出コンテンツ部分208−sを一意に識別する。更に、抽出されたコンテンツ部分208−sの各々は、ファイル記述子134のファイル記述子表面222のファイル記述子タイル224−eに対応する。このように、コンテンツ・ファイル112によって格納されたコンテンツ部分204−cに対して変更が行われると、ファイル記述子同期コンポーネント122−4は、ファイル記述子134に対する更新動作を実行するために、ファイル記述子134が使用する、対応する抽出コンテンツ部分208−sを識別することができる。
[0055] 図3は、システム100の動作環境300の実施形態を示す。更に特定すれば、動作環境300は、ファイル記述子置換コンポーネント122−2についての動作例を示す。
[0056] 図1を参照して既に説明したように、ファイル記述子アプリケーション120は、ファイル記述子置換コンポーネント122−2を含むことができる。ファイル記述子置換コンポーネント122−1は、コンテンツ・ファイル122からのコンテンツ部分204−cを、交換コンテンツ部分304−fと置換して、抽出コンテンツ部分208−sを形成するように動作することができる。交換コンテンツ部分304−fは、コンテンツ部分204−cに対する置換、交換、または代替として使用されるコンテンツ部分を含むことができる。
[0057] 一実施形態では、交換コンテンツ部分304−fは、以前に作成されデーター・ソースによって格納された静止部分であってもよい。この場合、ファイル記述子置換コンポーネント122−2は、格納された交換コンテンツ部分304−fから、抽出コンテンツ部分204−cに適したものを選択することができる。交換コンテンツ部分304−fに適したデーター・ソースの例は、限定ではなく、交換コンテンツ部分304−fに適したデーター・ソースの例には、限定ではなく、同じまたは異なるコンテンツ・ファイル112からの他のコンテンツ部分204−c、データー・ストア124によって格納された交換コンテンツ部分304−f、または他の何らかのデーター・ソースを含むことができる。
[0058] 一実施形態では、交換コンテンツ部分304−fは、抽出コンテンツ部分204−cから自動的にそして動的に生成することができる。交換コンテンツ部分304−fを動的に生成するために、ファイル記述子置換コンポーネント122−2は、ファイル変形モデル308−gによって供給される命令、規則、またはアルゴリズムを利用することができる。ファイル変形モデル308−gは、異なるコンテンツ・ファイル112、コンテンツ・ファイル112のコンテンツ部分204−c、コンテンツ・タイプ、コンテンツ・フォーマット、クライアント・アプリケーション等に合わせて設計することができる。
[0059] 動作において、ファイル変形モデル308−1がスプレッドシート・アプリケーションに合わせて特定的に設計されたと仮定する。更に、ファイル記述子抽出コンポーネント122−1が、スプレッドシート・アプリケーションのために、コンテンツ・ファイル112からコンテンツ部分204−3を抽出すると仮定する。ファイル記述子抽出コンポーネント122−1は、コンテンツ部分204−3が表データーであることを検出する。ファイル記述子抽出コンポーネント122−1は、ファイル記述子置換コンポーネント122−2に通知することができる。ファイル記述子置換コンポーネント122−2は、コンテンツ部分304−3またはファイル変形モデル308−1をデーター・ストア124から引き出すことができる。前者の場合、ファイル記述子置換コンポーネント122−2は、コンテンツ部分204−3を、格納されている交換コンテンツ部分304−3と置換することができる。後者の場合、ファイル記述子置換コンポーネント122−2は、ファイル変形モデル308−1を使用して、コンテンツ部分204−3から交換コンテンツ部分304−3を生成することができる。ファイル変形モデル308−1は、表データーを棒グラフに変形するために1組の規則またはプログラム命令を含むことができる。ファイル記述子置換コンポーネント122−2は、コンテンツ部分204−3を、生成した交換コンテンツ部分304−3と置換することができる。交換コンテンツ部分304−3は、抽出コンテンツ部分208−3になる。次いで、棒グラフは、コンテンツ・ファイル112を表すファイル記述子134を作成する(build)ために使用することができる。
[0060] 図4は、システム100の動作環境400の実施形態を示す。更に特定すれば、動作環境400は、ファイル記述子134を組み立てるときのファイル記述子組み立てコンポーネント122−3について動作例を示す。
[0061] ファイル記述子置換コンポーネント122−2は、ファイル記述子モデル126−bに基づいて、コンテンツ・ファイル112からの1つ以上の抽出コンテンツ部分208−sからファイル記述子134を生成するように動作することができる。ファイル記述子組み立てコンポーネント122−3は、抽出コンテンツ部分208−sおよび任意の交換コンテンツ部分304−fを取り込み、これらをしかるべきファイル記述子タイル224−eに挿入することができる。組み立てを補助するために、ファイル記述子組み立てコンポーネント122−3は、入力として、ファイル記述子タイル224−eについての情報をファイル記述子モデル126−bから受けることができる。この情報は、位置、サイズ、形状、寸法、外形、境界、隣接(adjacent)ファイル記述子タイル224−e、隣合(adjoining)ファイル記述子タイル224−e等というような情報を含むことができる。例えば、抽出コンテンツ部分208−sがファイル記述子タイル224−1の現在の寸法には大きすぎる場合、ファイル記述子組み立てコンポーネント122−3は、隣接または隣合ファイル記述子タイル224−2、224−3についての情報を使用して、ファイル記述子タイル124−1の現在の寸法を、もっと大きな部分を収容するために増大させることができるか否か判断することができ、ファイル記述子タイル224−2、224−3の現在の寸法を、それに応じて縮小させることができる。ファイル記述子組み立てコンポーネント122−3は、このような場合に対処するために、種々の当てはめアルゴリズム(fitting algorithm)を実装することができる。
[0062] 図5は、システム100の動作環境500の実施形態を示す。更に特定すれば、動作環境500は、記述子作成情報132を組み立てるときのファイル記述子組み立てコンポーネント122−3についての動作例を示す。
[0063] 実際のファイル記述子134を組み立てることに加えて、ファイル記述子組み立てコンポーネント122−3は、コンテンツ・ファイル112にファイル記述子134を生成するためにクライアント・アプリケーション(または他のエンティティ)によって使用するためのファイル記述子作成情報132を生成するように動作することができる。
[0064] 一実施形態では、ファイル記述子作成情報132は、ファイル記述子134を組み立てるために必要とされる全ての情報を含むことができる。例えば、ファイル記述子作成情報132は、ファイル記述子表面222と、コンテンツ・ファイル112からの1つ以上の抽出コンテンツ部分208−sを提示するように構成された1つ以上のファイル記述子タイル224−eとを有するファイル記述子モデル126−bを含むことができる。ファイル記述子作成情報132は、更に、実際の抽出コンテンツ部分204−cも含むことができる。
[0065] 一旦組み立てられると、ファイル記述子アプリケーション120は、次に、ファイル記述子作成情報132をローカル・クライアント・アプリケーションまたはリモート・クライアント・アプリケーションに送ることができる。ローカルまたはリモート・クライアント・アプリケーションは、受け取ったファイル記述子作成情報132を使用して、コンテンツ・ファイル112にファイル記述子134を生成することができる。
[0066] 図6は、システム100の動作環境600の実施形態を示す。更に特定すれば、動作環境600は、ファイル記述子作成情報132を組み立てるときのファイル記述子組み立てコンポーネント122−3についての動作例を示す。
[0067] 図5を参照して説明したように、ファイル記述子組み立てコンポーネント122−3は、コンテンツ・ファイル112にファイル記述子134を生成するためにクライアント・アプリケーション(または他のエンティティ)によって使用するための、ファイル記述子作成情報132を生成するように動作することができる。一実施形態では、ファイル記述子作成情報132は、ファイル記述子134を組み立てるために必要とされる部分的な情報だけを含むのでもよい。クライアント・アプリケーションは、コンテンツ・ファイル112のような、ファイル記述子134を組み立てるために必要とされるあらゆる情報にアクセスすることができる。
[0068] 図6に示すように、ファイル記述子作成情報132は、ファイル記述子モデル識別子604、ファイル記述子モデル126−bのファイル記述子表面222上においてファイル記述子タイル224−eを識別するための少なくとも1つのファイル記述子タイル識別子606−h、およびファイル記述子タイル識別子606−hによって識別されるファイル記述子タイル224−eに対応するコンテンツ・ファイル112のコンテンツ部分204−cを識別するための少なくとも1つのコンテンツ部分識別子206−dを含むことができる。
[0069] あるいは、ファイル記述子作成情報132は、ファイル記述子モデル126−bまたはファイル記述子モデル識別子604だけに限定されてもよい。前者の場合は、例えば、ファイル記述子アプリケーション120がクライアント−サーバー環境において実装されるときに望ましいであろう。この場合、クライアント・デバイスは、最新の1組のファイル記述子モデル126−dにアクセスすることができない、またはそれによって更新することができないクライアント・アプリケーションを含む。この場合、ファイル記述子作成情報132は、所与のコンテンツ・ファイル112に適した最新のファイル記述子モデル126−bを含むことができる。後者の場合は、例えば、サーバー・デバイスとクライアント・デバイスとの間においてネットワーク・トラフィックを減少させるため、または低帯域幅接続には望ましいであろう。
[0070] 一旦組み立てられると、ファイル記述子アプリケーション120は、次に、ファイル記述子組み立て情報132をローカル・クライアント・アプリケーションまたはリモート・クライアント・アプリケーションに送ることができる。ローカルまたはリモート・クライアント・アプリケーションは、受信したファイル記述子作成情報132を使用して、コンテンツ・ファイル112にファイル記述子134を生成することができる。例えば、クライアント・アプリケーションは、受信したファイル記述子作成情報132に埋め込まれたコンテンツ部分識別子206−dを、コンテンツ・ファイル112におけるコンテンツ部分識別子206dと照合することができる。クライアント・アプリケーションは、ファイル記述子アプリケーション120のクライアント・バージョンを利用して、コンテンツ部分204cを抽出し、一致するコンテンツ部分識別子206dを用いて組み立てることができる。
[0071] 図7は、システム100の動作環境700の実施形態を示す。更に特定すれば、動作環境700は、ファイル記述子134におけるコンテンツ部分204−cを同期させるときのファイル記述子同期コンポーネント122−4についての動作例を示す。
[0072] ファイル記述子同期コンポーネント122−4は、コンテンツ・ファイル112のコンテンツ部分204−cに対する変更を、ファイル記述子134のコンテンツ・ファイル112の対応する抽出コンテンツ部分208−sと同期させるように動作することができる。これは、プッシュ・モデルまたはプル・モデルを使用して実行することができる。
[0073] プッシュ・モードでは、変更イベント702−yがコンテンツ・ファイル112のコンテンツ部分204−cに対して生ずることができる。変更イベント702−jは、コンテンツ変更、フォーマット変更、様式変更、コンテンツ編集、コンテンツ削除等というような、コンテンツ部分204−cに対して行われるあらゆる修正(modification)を含むことができる。ファイル記述子同期コンポーネント122−4は、変更イベント702−jを検出し(または通知され)、コンテンツ部分204−cに対して行われたあらゆる変更を、ファイル記述子134の対応する抽出コンテンツ部分208−5と同期させるために、同期動作を開始する。例えば、ファイル記述子が、コンテンツ・ファイル112のコンテンツ部分204−1に対応する抽出コンテンツ部分208−1を含むと仮定する。更に、コンテンツ部分204−1が、下線のない「動物園への遠足」というような句であると仮定する。更にまた、ユーザーがコンテンツ部分204−1のフォーマットを、「動物園への遠足」から「動物園への遠足」に変更したと仮定する。この変更は、変更イベント702−1を含む。ファイル記述子同期コンポーネント122−4は、私有または公開の記憶位置を周期的に監視してコンテンツ・ファイル112を発見することによって、変更イベント702−1を検出することができる。あるいは、クライアント・アプリケーションがファイル記述子同期コンポーネント122−4に変更イベント702−1を通知することもできる。一旦変更イベント702−1を知ったなら、ファイル記述子同期コンポーネント122−4は、変更をクライアント・アプリケーション(または何らかの他のエンティティ)にプッシュすることができ、一方クライアント・アプリケーションは、コンテンツ部分204−1および抽出コンテンツ部分208−1が互いに実質的に同一になるように、ファイル記述子134の抽出コンテンツ部分208−1に対して変更更新イベント704−1を実行する。同様に、コンテンツ部分204−2に対する変更イベント702−2は、抽出コンテンツ部分208−2に対する変更更新イベント704−2を生じさせることがあり得る。同期動作は、他の変更イベント702−jに対しても同様に継続することができる。
[0074] プッシュ・モデルを使用して変更をクライアント・アプリケーションにプッシュするのではなく、ファイル記述子同期コンポーネント122−4は、代わりに、プル・モデルを使用することもできる。この場合、新たなファイル記述子134を生成する要求をクライアント・アプリケーションに送る。すると、クライアント・アプリケーションは、新ファイル記述子要求110を、更新したコンテンツ・ファイル112と共に送ることができ、ファイル記述子アプリケーション120は、新ファイル記述子要求110に応答して、新たなファイル記述子134を生成することができる。この意味で、クライアント・アプリケーションは、ファイル記述子同期コンポーネント122−4を利用して変更を「プル」する。
[0075] プル・モデルの他の例は、新ファイル記述子要求110を送るべき時を識別するために、ある種のトリガーの使用を含むこともできる。トリガーの例は、タイマーに基づく周期的トリガー、オンデマンド・トリガー(例えば、ユーザーの要求)、あるいはクライアント・デバイスまたはクライアント・アプリケーションによって検出されたユーザー・アクションに基づくイベント・ベース・トリガーとすることができる。例えば、周期的にファイル記述子134に対する更新を自動的に要求するために、タイマーを使用するのでもよい。他の例では、ユーザーが手動でファイル記述子134に対する更新を要求してもよい。更に他の例では、クライアント・アプリケーションが、コンテンツ・ファイル112に対して変更が行われたときを検出し、この変更をイベント・ベース・トリガーとして使用して新ファイル記述子要求110を生成してもよい。ファイル記述子同期コンポーネント122−4は、具体的な抽出コンテンツ部分208−sまたはファイル記述子134全体を更新することもできる。
[0076] 図8は、集中システム800のブロック図を示す。集中システム800は、システム100の構造および/または動作の一部または全部を、完全に1つのデバイス802内部にというように、1つの計算エンティティ内に実装することができる。
[0077] デバイス820は、システム100についての情報を受信し、処理し、送ることができる任意の電子デバイスを構成することができる。電子デバイスの例には、限定ではなく、ウルトラモバイル・デバイス(ultra-mobile device)、移動体デバイス、パーソナル・ディジタル・アシスタント(PDA)、移動体計算デバイス、スマート・フォン、電話機、ディジタル電話機、セルラ電話機、電子書籍リーダ、ハンドセット、一方向ページャー、双方向ページャー、メッセージング・デバイス、コンピューター、パーソナル・コンピューター(PC)、デスクトップ・コンピューター、ラップトップ・コンピューター、ノートブック・コンピューター、ネットブック・コンピューター、ハンドヘルド・コンピューター、タブレット・コンピューター、サーバー、サーバー・アレイまたはサーバー・ファーム、ウェブ・サーバー、ネットワーク・サーバー、インターネット・サーバー、ワークステーション、ミニコンピューター、メイン・フレーム・コンピューター、スーパーコンピューター、ネットワーク・アプリアイアンス、ウェブ・アプライアンス、分散型計算システム、マルチプロセッサー・システム、プロセッサー・ベース・システム、消費者用電子機器、プログラマブル消費者用電子機器、ゲーム・デバイス、テレビジョン、ディジタル・テレビジョン、セット・トップ・ボックス、ワイヤレス・アクセス・ポイント、基地局、加入者局、移動体加入者センター、無線ネットワーク・コントローラ、ルーター、ハブ、ゲートウェイ、ブリッジ、スイッチ、機械、またはその組み合わせを含むことができる。実施形態はこのコンテキストに限定されるのではない。
[0078] デバイス820は、処理コンポーネント830を使用して、システム100のために処理動作またはロジックを実行することができる。処理コンポーネント830は、種々のハードウェア・エレメント、ソフトウェア・エレメント、または双方の組み合わせを含むことができる。ハードウェア・エレメントの例には、デバイス、論理デバイス、コンポーネント、プロセッサー、マイクロプロセッサー、回路、プロセッサー回路、回路エレメント(例えば、トランジスター、抵抗器、キャパシター、インダクター等)、集積回路、特定用途集積回路(ASIC)、プログラマブル論理デバイス(PLD)、ディジタル信号プロセッサー(DSP)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、メモリー・ユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップ・セット等を含むことができる。ソフトウェア・エレメントの例には、ソフトウェア・コンポーネント、プログラム、アプリケーション、コンピューター・プログラム、アプリケーション・プログラム、システム・プログラム、ソフトウェア開発プログラム、機械プログラム、オペレーティング・システム・ソフトウェア、ミドルウェア、ファームウェア、ソフトウェア・モジュール、ルーチン、サブルーチン、関数、メソッド、手順、ソフトウェア・インターフェース、アプリケーション・プログラム・インターフェース(API)、命令セット、計算コード、コンピューター・コード、コード・セグメント、コンピューター・コード・セグメント、単語、値、シンボル、または任意のこれらの組み合わせを含むことができる。実施形態がハードウェア・エレメントおよび/またはソフトウェア・エレメントを使用して実現されるか否かの決定は、所望の計算速度、パワー・レベル、耐熱性、処理サイクル予算、入力データー速度、出力データー速度、メモリー・リソース、データー・バス速度、およびその他の設計または動作制約というような多数の要因にしたがって、所与の実施態様に対して望まれるように、変わってもよい。
[0079] デバイス820は、通信コンポーネント840を使用して、システム100のために通信動作またはロジックを実行することができる。通信コンポーネント840は、パケット交換ネットワーク(例えば、インターネットのような公衆ネットワーク、企業のイントラネットのような私有ネットワーク等)、回線交換ネットワーク(例えば、公衆電話交換網)、またはパケット交換ネットワークおよび回線交換ネットワークの組み合わせ(適したゲートウェイおよび変換器を使用する)との使用に適した技法というような、いずれの周知の通信技法およびプロトコルでも実現することができる。通信コンポーネント840は、1つ以上の通信インターフェース、ネットワーク・インターフェース、ネットワーク・インターフェース・カード(NIC)、無線機、ワイヤレス送信機/受信機(送受信機)、有線および/またはワイヤレス通信媒体、物理コネクター等というような、種々のタイプの標準的な通信エレメントを含むことができる。一例として、そして限定ではなく、通信媒体812、842は、有線通信媒体およびワイヤレス通信媒体を含む。有線通信媒体の例には、ワイヤ、ケーブル、金属製のリード、印刷回路ボード(PCB)、バックプレーン、スイッチ・ファブリック、半導体材料、撚り線対ワイヤ、同軸ケーブル、光ファイバー、伝搬信号等を含むことができる。ワイヤレス通信媒体の例には、音響、無線周波数(RF)スペクトル、赤外線、およびその他のワイヤレス媒体を含むことができる。
[0080] デバイス820は、通信信号814、844をそれぞれ使用して、通信コンポーネント840を介して、他のデバイス810、850と通信媒体812、842を通じて通信することができる。デバイス810、850は、デバイス820に対して内部でも外部でもよく、所与の実施態様に望まれる通りにすればよい。
[0081] この実施態様では、システム100のファイル記述子アプリケーション120は、クライアント・デバイスまたはネットワーク・デバイスというような、1つのデバイス内に実装することができる。例えば、ファイル記述子アプリケーション120は、クライアント・デバイス上においてクライアント・アプリケーション802と一緒に配置されてもよい。クライアント・アプリケーション802は、当該クライアント・アプリケーション802によって管理される種々のコンテンツ・ファイル112にファイル記述子1334を生成するサービスを、ファイル記述子アプリケーション120に要求することができる。例えば、クライアント・アプリケーション802は、既に述べたように、ワシントン州、RedmondのMicrosoft Corporation(マイクロソフト社)によって製造されるMICROSOFT WINDOWS(登録商標)用のMICROSOFT(登録商標)OFFICE生産性スイートのような特定のオペレーティング・システムに合わせて設計された、相互に関係するクライアント・アプリケーション、サーバー・アプリケーション、およびウェブ・サービスの生産性スイートからのクライアント・アプリケーションを含むことができる。他の例では、クライアント・アプリケーション802は、デバイス820のオペレーティング・システムのような、システム・プログラムを含むこともできる。この場合、クライアント・アプリケーション802は、ファイル記述子サービスをファイル記述子アプリケーション120に、ファイル提示、ナビゲーション、選択等のような管理動作のために要求することができる。更に他の例では、ファイル記述子アプリケーション120は、サーバー、ウェブ・サーバー、企業サーバー、またはクラウド・サーバーのようなネットワーク・デバイス上において、クライアント・アプリケーション802と一緒に配置されてもよい。この場合、クライアント・アプリケーション802およびシステム100は、双方共、デバイス810、850の一方または両方を介してアクセスされるクラウド・ベース・サービスであってもよい。このような実施態様の例には限定ではなく、MICROSOFT WINDOWS LIVE(登録商標)、MICROSOFT OFFICE WEB APPLICATIONS、MICROSOFT OFFICE LIVE、MICROSOFT LIVE MEETING、MICROSOFT OFFICE PRODUCT WEB SITE、MICROSOFT UPDATE SERVER、およびMICROSOFT OFFICE 365を含むことができる。
[0082] 図9は、分散型システム900のブロック図を示す。分散型システム900は、システム100の構造および/または動作の部分を、多数の計算エンティティ間で分散することができる。分散型システム900の例には、限定ではなく、クライアント・サーバー・アーキテクチャー、3層(3-tier)アーキテクチャー、N層アーキテクチャー、密結合またはクラスタ型アーキテクチャー、ピア−ツー−ピア・アーキテクチャー、マスタ−スレーブ・アーキテクチャー、共有データーベース・アーキテクチャー、および他のタイプの分散型システムを含むことができる。実施形態はこのコンテキストに限定されるのではない。
[0083] 分散型システム900は、クライアント・デバイス910およびサーバー・デバイス950を含むことができる。一般に、クライアント・デバイス910およびサーバー・デバイス950は、図8を参照して説明したようなクライアント・デバイス820と同一または同様であってもよい。例えば、クライアント・デバイス910およびサーバー・デバイス950は、各々、処理コンポーネント930および通信コンポーネント940を含むことができ、これらは、図8を参照して説明した処理コンポーネント830および通信コンポーネント840と、それぞれ、同一または同様である。他の例では、デバイス910、950は、通信コンポーネント940を介して、通信信号914を使用して通信媒体912を通じて通信することができる。
[0084] クライアント・デバイス910は、説明した実施形態にしたがって種々の方法論(methodologies)を実行するように動作する1つ以上のクライアント・プログラムを含むまたは採用することができる。一実施形態では、例えば、クライアント・デバイス910は、図8を参照して説明したような、クライアント・アプリケーション802を実装することもできる。
[0085] サーバー・デバイス950は、説明した実施形態にしたがって種々の方法論を実行するように動作する1つ以上のサーバー・プログラムを含むまたは採用することができる。一実施形態では、例えば、サーバー・デバイス950はシステム100のファイル記述子アプリケーション120を実装することができる。
[0086] この実施態様では、クライアント・デバイス910のクライアント・アプリケーション802が、コンテンツ・ファイル112を求めるファイル記述子要求110を、通信信号914の形態で、ネットワークを通じてサーバー・デバイス950に送ることができる。クライアント・アプリケーション802は、既に説明したようなプッシュ・モデルまたはプル・モデルを使用して、ファイル記述子要求110を開始する(initiate)することができる。一実施形態では、ファイル記述子要求110はコンテンツ・ファイル112を含むことができる。一実施形態では、ファイル記述子要求110は、データー・ストア124またはネットワーク記憶デバイスからコンテンツ・ファイル112を引き出すためにファイル記述子アプリケーション120によって使用することができるコンテンツ・ファイル識別子を含むこともできる。ファイル記述子アプリケーション120は、既に説明したように、ファイル記述子作成情報132および/またはファイル記述子134を生成し、このファイル記述子作成情報132および/またはファイル記述子134と共にファイル記述子応答130をクライアント・デバイス910に通信信号914によって送ることができる。ファイル記述子作成情報132を受信する場合、クライアント・アプリケーション802またはクライアント・デバイス910のオペレーティング・システムは、コンテンツ・ファイル112を表すファイル記述子134を組み立てるまたは生成することができる。ファイル記述子134を受信する場合、クライアント・アプリケーション802またはクライアント・デバイス910のオペレーティング・システムは、コンテンツ・ファイル112を表すために、ファイル記述子134を提示することができる。
[0087] ここに含まれるのは、開示したアーキテクチャーの新規な態様を実行するための方法論例を表す1組のフロー・チャートである。説明の簡素化を目的とするに限って、例えば、フロー・チャートまたは流れ図の形態で本明細書において示される1つ以上の方法論は、一連のアクトとして示され説明されるが、これらの方法論は、アクトの順序によって限定されないことは言うまでもないことであり認められてしかるべきである。何故なら、一部のアクトは、それにしたがって、本明細書において示し説明されるものとは異なる順序で現れてもよく、および/または他のアクトと同時に現れてもよいからである。例えば、当業者は、方法論は、状態図におけるように、一連の相互に関係する状態またはイベントとして表すこともできることを理解し認めるであろう。更に、方法論において示される全てのアクトが、新規の実施態様に必要であるとは限らない。
[0088] 図10は、論理フロー1000の一実施形態を示す。論理フロー1000は、本明細書において説明した1つ以上の実施形態によって実行される動作の一部または全部を表すことができる。
[0089] 図10に示す例示の実施形態では、論理フロー1000は、ブロック1002において、コンテンツ・ファイルにファイル記述子を生成するためのファイル記述子要求を、クライアント・アプリケーションから受けることができる。例えば、システム100のファイル記述子アプリケーション120は、コンテンツ・ファイル112にファイル記述子134を生成するためのファイル記述子要求110を、クライアント・アプリケーション802から受けることができる。
[0090] 論理フロー1000は、ブロック1004において、ファイル記述子のファイル記述子モデルを引き出すことができる。例えば、ファイル記述子抽出コンポーネント122−1が、ファイル記述子134のファイル記述子モデル126−1をデーター・ストア124から引き出すことができる。
[0091] 論理フロー1000は、ブロック1006において、ファイル記述子モデルに基づいて、1つ以上のコンテンツ部分をコンテンツ・ファイルから抽出することができる。例えば、ファイル記述子抽出コンポーネント122−1が、ファイル記述子モデル126−1に基づいて、1つ以上のコンテンツ部分204−cをコンテンツ・ファイル112から抽出することができる。また、ファイル記述子抽出コンポーネント122−1は、既に割り当てられているコンテンツ部分識別子206−dを利用することにより、またはコンテンツ部分識別子206−dを抽出コンテンツ部分に割り当てることにより、1つ以上の抽出コンテンツ部分208−5をコンテンツ・ファイル112から識別することができる。コンテンツ部分識別子206−dは、ファイル記述子134に対する更新を同期させるために使用することができる。
[0092] 抽出動作の間、ファイル記述子抽出コンポーネント122−1は、コンテンツ部分204−cを他のコンテンツ部分と交換すべきであると判断することがあり得る。この場合、ファイル記述子抽出コンポーネント122−1は、ファイル記述子置換コンポーネント122−2に通知すればよい。ファイル記述子置換コンポーネント122−2は、コンテンツ・ファイル112からのコンテンツ部分204−cを交換コンテンツ部分304−fと置換することができる。ファイル記述子置換コンポーネント122−2は、交換コンテンツ部分304−fをデーター・ストア124から引き出すこと、または実行中に交換コンテンツ部分304−fを生成することができる。ファイル記述子置換コンポーネント122−2は、コンテンツ部分304−fを交換コンテンツ部分304−fと置換することができ、次いで、交換コンテンツ部分304−fは抽出コンテンツ部分208−sになる。
[0093] 論理フロー1000は、ブロック1008において、ファイル記述子要求に応答して、ファイル記述子を生成することができる。このファイル記述子応答は、ファイル記述子モデルおよび抽出コンテンツ部分を使用して生成されたファイル記述子作成情報またはファイル記述子を含む。例えば、ファイル記述子組み立てコンポーネント122−3がファイル記述子要求110に対してファイル記述子応答130を生成することができ、ファイル記述子応答130は、ファイル記述子モデル126−1および抽出コンテンツ部分208−sを使用して生成されたファイル記述子作成情報132またはファイル記述子134を含む。
[0094] ファイル記述子組み立てコンポーネント122−3は、コンテンツ・ファイル112にファイル記述子134を生成するためにクライアント・アプリケーション802が使用するファイル記述子作成情報132を生成することができる。一実施形態では、ファイル記述子作成情報132は、ファイル記述子モデル126−1と、コンテンツ・ファイル112から抽出された1つ以上の抽出コンテンツ部分208−sとを含むことができる。一実施形態では、ファイル記述子作成情報は、ファイル記述子モデル126−1のファイル記述子モデル識別子604と、ファイル記述子モデル126−1のファイル記述子タイル224−eの1つ以上のファイル記述子タイル識別子606−hと、ファイル記述子タイル224−eに対応するコンテンツ・ファイル112からの抽出コンテンツ部分208−sの1つ以上のコンテンツ部分識別子206−dとを含むことができる。
[0095] ファイル記述子組み立てコンポーネント122−3は、ファイル記述子モデル126−1に基づいて、コンテンツ・ファイル112からの1つ以上の抽出コンテンツ部分208−sからファイル記述子134を生成することができる。例えば、ファイル記述子組み立てコンポーネント122−3は、抽出コンテンツ部分208−sの各々を、ファイル記述子表面222の対応するファイル記述子タイル224−eに挿入することができる。ファイル記述子組み立てコンポーネント122−3は、既に論じたような当てはめアルゴリズムを使用して、挿入された部分に対して任意の調節を行うこともできる。
[0096] 論理フロー1000は、ブロック1010において、ファイル記述子応答をクライアント・アプリケーションに送ることができる。例えば、ファイル記述子アプリケーション120は、ファイル記述子応答130をクライアント・アプリケーション802に送ることができる。
[0097] 一旦ファイル記述子134がファイル記述子アプリケーション120またはクライアント・アプリケーション802によって生成されたなら、コンテンツ・ファイル112のコンテンツ部分204−cに対して行われた変更をファイル記述子134に伝えることができる。ファイル記述子同期コンポーネント122−4は、コンテンツ・ファイル112のコンテンツ部分204−cに対する変更を、ファイル記述子134によって表されるコンテンツ・ファイル112の対応する抽出コンテンツ部分208−sに同期させることができる。これによって、コンテンツ・ファイル112のコンテンツ部分204−cおよびファイル記述子134の抽出コンテンツ部分208−sが同期され、実質的に同一であることを保証する。その結果、ファイル記述子134は、実質的にリアル・タイムで、基礎となるコンテンツ・ファイル112を正確に表し続ける。
[0098] 図11は、既に説明した種々の実施形態を実現するのに適した計算アーキテクチャー例1100の実施形態を示す。一実施形態では、計算アーキテクチャー110は、電子デバイスの一部を含むのでも、または電子デバイスの一部として実装されてもよい。電子デバイスの例には、とりわけ、図8を参照して説明したものを含むことができる。実施形態はこのコンテキストに限定されるのではない。
[0099] 本願において使用する場合、「システム」および「コンポーネント」という用語は、コンピューターに関係するエンティティを指し、ハードウェア、ハードウェアおよびソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかであり、その例は計算アーキテクチャー例1100によって示される。例えば、コンポーネントは、プロセッサー上で実行するプロセス、プロセッサー、ハード・ディスク・ドライブ、複数の記憶デバイス(光および/または磁気記憶媒体の)、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および/またはコンピューターであることができるが、そうであることに限定されるのではない。一例として、サーバー上で実行するアプリケーションおよび当該サーバーがコンポーネントであることができる。1つ以上のコンポーネントがプロセスおよび/または実行のスレッド内部に存在することができ、コンポーネントは1つのコンピューター上に局在すること、および/または2つ以上のコンピューター間で分散することができる。更に、コンポーネントは、動作を調整するために、種々のタイプの通信媒体によって互いに通信可能に結合されてもよい。この調整は、情報の一方向または双方向交換を伴うこともある。例えば、コンポーネントは、通信媒体を通じて伝達される信号の形態とした情報を伝達することができる。情報は、種々の信号線に割り当てられる信号として実現することができる。このような割り当てでは、各メッセージが信号となる。しかしながら、他の実施形態では、代わりにデーター・メッセージを採用することもできる。このようなデーター・メッセージは種々の接続を跨いで送ることもできる。接続の例には、パラレル・インターフェース、シリアル・インターフェース、およびバス・インターフェースが含まれる。
[00100] 計算アーキテクチャー1100は、1つ以上のプロセッサー、マルチコア・プロセッサー、コプロセッサー、メモリー・ユニット、チップ・セット、コントローラー、周辺デバイス、インターフェース、発振器、タイミング・デバイス、ビデオ・カード、オーディオ・カード、マルチメディア入力/出力(I/O)コンポーネント、電源等というような、種々の共通する計算エレメントを含む。しかしながら、実施形態は、計算アーキテクチャー1100による実施態様に限定されるのではない。
[00101] 図11に示すように、計算アーキテクチャー1100は、処理ユニット1104、システム・メモリー1106、およびシステム・バス1108を含む。処理ユニット1104は、限定ではなく、AMD(登録商標)、Athlon(登録商標)、Duron(登録商標)およびOpteron(登録商標)プロセッサー、ARM(登録商標)アプリケーション埋め込みおよびセキュア・プロセッサー、IBM(登録商標)およびMotorola(登録商標) DragonBall(登録商標)およびPowerPC(登録商標)プロセッサー、IBMおよびSony(登録商標)Cellプロセッサー、;Intel(登録商標)Celeron(登録商標)、Core(2)Duo(登録商標)、Itanium(登録商標)、Pentium(登録商標)、Xeon(登録商標)、およびXScale(登録商標)プロセッサー、ならびに同様のプロセッサーを含む種々の市販プロセッサーの内いずれでも可能である。デュアル・マイクロプロセッサー、マルチコア・プロセッサー、および他のマルチプロセッサー・アーキテクチャーも、処理ユニット1104として採用することができる。
[00102] システム・バス1108は、システム・メモリー1106から処理ユニット1104までを含むがこれらには限定されないシステム・コンポーネントにインターフェースを設ける。システム・バス1108は、様々なタイプのバス構造の内任意のものとすることができ、更に、メモリー・バス(メモリー・コントローラーがあるまたはない)、周辺バス、およびローカル・バスに、種々の市販のバス・アーキテクチャーの内任意のものを使用して相互接続することができる。インターフェース・アダプターは、スロット・アーキテクチャーを介してシステム・バス1108に接続することができる。スロット・アーキテクチャーの例には、限定ではなく、加速グラフィクス・ポート(AGP)、カード・バス、(拡張)業界標準アーキテクチャー((E)ISA)、マイクロ・チャネル・アーキテクチャー(MCA)、NuBus、周辺素子相互接続(拡張)(PCI(X))、PCIエクスプレス、パーソナル・コンピューター・メモリー・カード国際連合(PCMCIA)等を含むことができる。
[00103] 計算アーキテクチャー1100は、種々の製品(articles of manufacture)を含むまたは実装することができる。製品は、ロジックを格納するためのコンピューター読み取り可能記憶媒体を含むこともできる。コンピューター読み取り可能記憶媒体の例には、電子データーを格納することができるあらゆる有形媒体を含むことができ、揮発性メモリーまたは不揮発性メモリー、リムーバブルまたは非リムーバブル・メモリー、消去可能または消去不可メモリー、書き込み可能または書き込み不可メモリー等を含むことができる。ロジックの例には、ソース・コード、コンパイル・コード(compiled code)、インタプリタ・コード(interpreted code)、実行可能コード、スタティック・コード、ダイナミック・コード、オブジェクト指向コード、ビジュアル・コード等というような、任意の適したタイプのコードを使用して実装される実行可能コンピューター・プログラム命令を含むことができる。また、実施形態は、少なくとも部分的に、一時的ではないコンピューター読み取り可能媒体内またはその上に収容される命令として実現することもでき、本明細書において説明した動作の実行を可能にするために、1つ以上のプロセッサーによって読み取り実行することができる。
[00104] システム・メモリー1106は、リード・オンリー・メモリー(ROM)、ランダム・アクセス・メモリー(RAM)、ダイナミックRAM(DRAM)、データー倍速DRAM(DDRAM)、同期DRAM(SDRAM)、スタティックRAM(SRAM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュ・メモリー、強磁性ポリマー・メモリーのようなポリマー・メモリー、オボニック・メモリー、位相変化または強磁性メモリー、シリコン−酸化物−窒化物−酸化物−シリコン(SONOS)メモリー、磁気または光カード、独立ディスクの冗長アレイ(RAID)ドライブのようなデバイスのアレイ、ソリッド・ステート・メモリー・デバイス(例えば、USBメモリー、ソリッド・ステート・ドライブ(SSD)、およびは情報を格納するのに適した他のあらゆるタイプの記憶媒体というような、1つ以上の高速メモリー・ユニットの形態とした種々のタイプのコンピューター読み取り可能記憶媒体を含むことができる。図11に示す例示の実施形態では、システム・メモリー1106は不揮発性メモリー1110および/または揮発性メモリー1112を含むことができる。基本入力/出力システム(BIOS)は、不揮発性メモリー1110に格納することができる。
[00105] コンピューター1102は、種々のタイプのコンピューター読み取り可能記憶媒体を、1つ以上の低速メモリー・ユニットの形態とした種々のタイプのコンピューター読み取り可能記憶媒体を含むことができ、内部(または外部)ハード・ディスク・ドライブ(HDD)1114、リムーバブル磁気ディスク1118に対して読み取りまたは書き込みを行うための磁気フロッピー(登録商標)・ディスク・ドライブ(FDD)1116、ならびにリムーバブル光ディスク1122(例えば、CD−ROMまたはDVD)に対する読み取りまたは書き込みを行うための光ディスク・ドライブ1120を含む。HDD1114、FDD1116、および光ディスク・ドライブ1120は、それぞれ、HDDインターフェース1124、FDDインターフェース1126、および光ドライブ・インターフェース1128によって、システム・バス1108に接続することができる。外部ドライブ実装用のHDDインターフェース1124は、ユニバーサル・シリアル・バス(USB)およびIEEE1394インターフェース技術の少なくとも一方または両方を含むことができる。
[00106] ドライブおよび付随するコンピューター読み取り可能媒体は、データー、データー構造、コンピューター実行可能命令等の揮発性および/または不揮発性ストレージを提供する。例えば、多数のプログラム・モジュールをドライブおよびメモリー・ユニット1110、1112に格納することができ、これらのプログラム・モジュールは、オペレーティング・システム1130、1つ以上のアプリケーション・プログラム1132、他のプログラム・モジュール1134、およびプログラム・データー1136を含む。一実施形態では、1つ以上のアプリケーション・プログラム1132、他のプログラム・モジュール1134、およびプログラム・データー1136は、例えば、システム100の種々のアプリケーションおよび/またはコンポーネントを含むことができる。
[00107] ユーザーは、1つ以上の有線/ワイヤレス入力デバイス、例えば、キーボード1138およびマウス1140のようなポインティング・デバイスによって、コマンドおよび情報をコンピューター1102に入力することができる。他の入力デバイスは、マイクロフォン、赤外線(IR)遠隔制御手段、無線周波数(RF)遠隔制御手段、ゲーム・パッド、スタイラス・ペン、カード・リーダー、ドングル、指紋読み取り装置、グローブ、グラフィクス・タブレット、ジョイスティック、キーボード、網膜読み取り装置、タッチ・スクリーン(例えば、容量式、抵抗式等)、トラックボール、トラックパッド、センサ、スタイラス等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、入力デバイス・インターフェース1142を介して処理ユニット1104に接続され、入力デバイス・インターフェース1142はシステム・バス1108に結合されるが、パラレル・ポート、IEEE1394シリアル・ポート、ゲーム・ポート、USBポート、IRインターフェース等というような、他のインターフェースによって接続することもできる。
[00108] モニター1144または他のタイプのディスプレイ・デバイスも、ビデオ・アダプター1146のようなインターフェースを介して、システム・バス1108に接続される。モニター1144は、コンピューター1102に対して内部でもまたは外部でもよい。モニター1144に加えて、コンピューターは、通例、スピーカ、プリンタ等のような、他の周辺出力デバイスを含む。
[00109] コンピューター1102は、論理接続を使用して、ネットワーク接続環境において、リモート・コンピューター1148のような1つ以上のリモート・コンピューターへの有線通信および/またはワイヤレス通信によって動作することもできる。リモート・コンピューター1148は、ワークステーション、サーバー・コンピューター、ルーター、パーソナル・コンピューター、携帯用コンピューター、マイクロプロセッサー・ベースの娯楽アプライアンス、ピア・デバイスまたは他の共通ネットワーク・ノードとすることができ、通例、コンピューター1102に関して説明したエレメントの多くまたは全部を含むが、簡潔さの目的のために、メモリー/記憶デバイス1150だけが示される。図示する論理接続は、ローカル・エリア・ネットワーク(LAN)1152、および/またはそれよりも大きなネットワーク、例えば、ワイド・エリア・ネットワーク(WAN)1154に対する有線/ワイヤレス接続性(connectivity)を含む。このようなLANおよびWANネットワーキング環境は、事務所や会社では極一般的であり、イントラネットのような企業規模のコンピューター・ネットワークを容易にする。イントラネットの全ては、グローバル通信ネットワーク、例えば、インターネットに接続することもできる。
[00110] LANネットワーキング環境において使用される場合、コンピューター1102は有線および/またはワイヤレス通信ネットワーク・インターフェースあるいはアダプター1156を介して、LAN1152に接続される。アダプター1156は、LAN1152に対する有線通信および/またはワイヤレス通信を容易にすることができ、アダプター1156のワイヤレス機能性と通信するために配置されるワイヤレス・アクセス・ポイントも含むことができる。
[00111] WANネットワーキング環境において使用される場合、コンピューター1102はモデム1158を含むことができ、あるいはWAN1154上の通信サーバーに接続されるか、またはインターネットによってというように、WAN1154上に通信を確立する他の手段を有する。モデム1158は、内蔵型でも外付け型でも可能であり、有線および/またはワイヤレス・デバイスは入力デバイス・インターフェース1142を介してシステム・バス1108に接続する。ネットワーク接続環境では、コンピューター1102に関して図示したプログラム・モジュール、またはその一部をリモート・メモリー/記憶デバイス1150に格納することができる。尚、図示するネットワーク接続は例示であり、コンピューター間に通信リンクを確率する他の手段を使用することもできることは認められよう。
[00112] コンピューター1102は、ワイヤレス通信(例えば、IEEE802.11オーバー・ジ・エア変調技法)において動作的に配置されるワイヤレス・デバイスのような、標準のIEEE802ファミリーを使用して、有線およびワイヤレス・デバイスまたはエンティティと通信するように動作可能である。これは、少なくとも、Wi−Fi(即ち、ワイヤレス・フィデリティ)、WiMax、およびBluetooth(商標)ワイヤレス技術をとりわけ含む。このように、通信は、従来のネットワークのような、予め定められた構造であること、または単に少なくとも2つのデバイス間におけるアド・ホック通信であることができる。Wi−Fiネットワークは、安全で、信頼性が高く、高速なワイヤレス接続性を提供するために、IEEE802.1(a、b、g、n等)と呼ばれる無線技術を使用する。Wi−Fiネットワークは、コンピューターを互いに接続するため、インターネットに接続するため、そして有線ネットワーク(IEEE802.3関連媒体および機能を使用する)に接続するために使用することができる。
[00113] 図12は、以上で説明した種々の実施形態を実現するのに適した通信アーキテクチャー例のブロック図を示す。通信アーキテクチャー1200は、送信機、受信機、送受信機、無線機、ネットワーク・インターフェース、ベースバンド・プロセッサー、アンテナ、増幅器、フィルター、電源等というような、種々の共通通信エレメントを含む。しかしながら、実施形態は通信アーキテクチャー1200による実施態様に限定されるのではない。
[00114] 図12に示すように、通信アーキテクチャー1200は、1つ以上のクライアント1202およびサーバー1204を含む。クライアント1202は、クライアント・デバイス910を実現することができる。サーバー1204はサーバー・デバイス950を実現することができる。クライアント1202およびサーバー1204は、動作的に1つ以上のそれぞれのクライアント・データー・ストア1208およびサーバー・データー・ストア1210に接続され、これらのデーター・ストアは、クッキーおよび/または関連するコンテキスト情報というような、それぞれのクライアント1202およびサーバー1204にローカルな情報を格納するために使用することができる。
[00115] クライアント1202およびサーバー1204は、通信フレームワーク1206を使用して、互いの間で情報を伝達することができる。通信フレームワーク1206は、任意の周知の通信技法およびプロトコルを実現することができる。通信フレームワーク1206は、パケット交換ネットワーク(例えば、インターネットのような公衆ネットワーク、企業のイントラネットのような私有ネットワーク等)、回線交換ネットワーク(例えば、公衆電話交換網)、またはパケット交換ネットワークおよび回線交換ネットワークの組み合わせ(適したゲートウェイおよび変換器を使用する)として実現することができる。
[00116] 通信フレームワーク1206は、通信ネットワークを受け入れる、通信する、および接続するように構成された種々のネットワーク・インターフェースを実現することができる。ネットワーク・インターフェースは、特殊化された形態の入力出力インターフェースとして見なすこともできる。ネットワーク・インターフェースは、限定ではなく、直接接続、イーサネット(登録商標)(例えば、厚い、薄い、撚り線対10/100/1000ベースT等)、トークン・リング、ワイヤレス・ネットワーク・インターフェース、セルラ・ネットワーク、IEEE802.11a〜xネットワーク・インターフェース、IEEE802.16ネットワーク・インターフェース、IEEE802.20ネットワーク・インターフェース等を含む、接続プロトコルを採用することができる。更に、多数のネットワーク・インターフェースが、種々の通信ネットワーク・タイプと連動する(engage with)ために使用されてもよい。例えば、ブロードキャスト、マルチキャスト、およびユニキャスト・ネットワーク上での通信を可能にするために、多数のネットワーク・インターフェースが採用されてもよい。処理要件が、より大きな量の速度および容量を指示する(dictate)場合、クライアント1202およびサーバー1204によって要求される通信帯域幅を蓄えるため、その負荷の均衡を取るため、そして通信帯域幅を拡張するために、分散型ネットワーク・コントローラー・アーキテクチャーを同様に採用することもできる。通信ネットワークは、限定ではなく、直接相互接続、安全を確保したカスタム接続、私有ネットワーク(例えば、企業のイントラネット)、公衆ネットワーク(例えば、インターネット)、個人エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、都市エリア・ネットワーク(MAN)、インターネット上のノードとしての動作使命(OMNI:Operating Missions as Nodes on the Internet)、ワイド・エリア・ネットワーク(WAN)、ワイヤレス・ネットワーク、セルラ・ネットワーク、および他の通信ネットワークを含む、有線接続および/またはワイヤレス・ネットワークの内いずれか1つまたは組み合わせであってもよい。
[00117] 実施形態には、「一実施形態」(one embodiment)または「実施形態」(an embodiment)という表現をその派生語と共に使用して説明するとよいものがある。これらの用語は、当該実施形態と関連付けて説明された特定の特徴、構造、または特性が、少なくとも1つの実施形態に含まれることを意味する。本明細書の種々の場所において「一実施形態では」という句が出てくる場合、必ずしも全てが同じ実施形態を指す訳ではない。更に、実施形態は、「結合される」(coupled)および「接続される」(connected)という表現を、その派生語と共に使用して説明することもできる。これらの用語は、必ずしも互いに対する同義語であることを意図しているのではない。例えば、実施形態の中には、2つ以上のエレメントが直接物理的にまたは電気的に互いに接触していることを示すために、「接続される」および/または「結合される」という用語を使用して説明するとよい場合がある。しかしながら、「結合される」という用語は、2つ以上のエレメントが互いに直接接触していないが、それでも互いに協働するまたは相互作用することを意味することもできる。
[00118] 尚、開示の要約は、読者が本技術的開示の固有性を素早く確認することを可能にするために設けられることを強調しておく。尚、これは、請求項の範囲または意味を解釈するためや限定するために使用されるのではないことを理解した上で申し述べられることである。加えて、以上の詳細な説明では、開示を簡素化する目的に限って、1つの実施形態において種々の特徴が一緒に纏められていることがわかるであろう。この開示方法は、特許請求する実施形態が各請求項において明示的に記載されるよりも多くの特徴を必要とするという意図を表す(reflect)というように解釈してはならない。逆に、以下の特許請求の範囲が表すように、発明の主題は、1つの開示された実施形態の全ての特徴に存在する訳ではない。つまり、以下の特許請求の範囲は詳細な説明に含まれ、各請求項が別個の実施形態としてそれ自体を成り立たせている(stand on its own)。添付した特許請求の範囲において、「含む」(including)および「において」(in which)という用語は、それぞれ、「含む」(comprising)および「において」(wherein)というそれぞれの用語の平素な英語の同等語(equivalent)として用いられるものとする。更に、「第1」、「第2」、「第3」等は、単に名称として用いられるのであり、それらの目的語に対して数値的な要件を強制することは意図していない。
[00119] 以上で説明したことは、開示されたアーキテクチャーの例を含む。勿論、コンポーネントおよび/または方法の着想可能なあらゆる組み合わせを記載することは不可能であるが、多くの他の組み合わせや置換(permutations)も可能であることは、当業者には認めることができよう。したがって、新規なアーキテクチャーは、添付した請求項の主旨および範囲に該当するような全ての改変、変更、および変形を包含することを意図している。

Claims (13)

  1. プロセッサー回路と、
    コンテンツ・ファイルのためのファイル記述子を管理するように前記プロセッサー回路上で動作可能なファイル記述子アプリケーションと、
    を備え、前記ファイル記述子アプリケーションは、
    クライアント・アプリケーションからファイル記述子要求を受け取るステップと、
    コンテンツ・ファイルのためのファイル記述子またはファイル記述子作成情報を生成するステップであって、前記ファイル記述子は前記コンテンツ・ファイルの内容のプレビューを提供し、前記ファイル記述子作成情報は前記ファイル記述子を生成するために前記クライアント・アプリケーションによって使用されるためのものである、ステップと、
    前記コンテンツ・ファイルに対して行われた変更を前記ファイル記述子と同期させるステップと、
    前記ファイル記述子またはファイル記述子作成情報と共にファイル記述子応答を前記クライアント・アプリケーションへ送るステップと、
    を実施するように構成され、
    前記ファイル記述子アプリケーションは、前記ファイル記述子のためのファイル記述子モデルを引き出し、前記ファイル記述子モデルに基づいて前記コンテンツ・ファイルから複数のコンテンツ部分を抽出し、前記複数の抽出されたコンテンツ部分の各々をコンテンツ部分識別子を用いて識別するように動作可能なファイル記述子抽出コンポーネントを備え、単一のファイル記述子は、当該単一のファイル記述子のファイル記述子表面上に複数のファイル記述子タイルを含み、前記複数の抽出されたコンテンツ部分の各々は、前記ファイル記述子のファイル記述子表面の前記複数のファイル記述子タイルのうちの1つに対応
    前記ファイル記述子アプリケーションは、前記コンテンツ・ファイルのための前記ファイル記述子を生成するために前記クライアント・アプリケーションによって使用される前記ファイル記述子作成情報を生成するように動作可能なファイル記述子組み立てコンポーネントを備え、前記ファイル記述子作成情報は、ファイル記述子表面を有するファイル記述子モデルと、前記コンテンツ・ファイルから抽出された1または複数のコンテンツ部分を提示するように構成された1または複数のファイル記述子タイルとを含む、
    装置。
  2. プロセッサー回路と、
    コンテンツ・ファイルのためのファイル記述子を管理するように前記プロセッサー回路上で動作可能なファイル記述子アプリケーションと、
    を備え、前記ファイル記述子アプリケーションは、
    クライアント・アプリケーションからファイル記述子要求を受け取るステップと、
    コンテンツ・ファイルのためのファイル記述子またはファイル記述子作成情報を生成するステップであって、前記ファイル記述子は前記コンテンツ・ファイルの内容のプレビューを提供し、前記ファイル記述子作成情報は前記ファイル記述子を生成するために前記クライアント・アプリケーションによって使用されるためのものである、ステップと、
    前記コンテンツ・ファイルに対して行われた変更を前記ファイル記述子と同期させるステップと、
    前記ファイル記述子またはファイル記述子作成情報と共にファイル記述子応答を前記クライアント・アプリケーションへ送るステップと、
    を実施するように構成され、
    前記ファイル記述子アプリケーションは、前記ファイル記述子のためのファイル記述子モデルを引き出し、前記ファイル記述子モデルに基づいて前記コンテンツ・ファイルから複数のコンテンツ部分を抽出し、前記複数の抽出されたコンテンツ部分の各々をコンテンツ部分識別子を用いて識別するように動作可能なファイル記述子抽出コンポーネントを備え、単一のファイル記述子は、当該単一のファイル記述子のファイル記述子表面上に複数のファイル記述子タイルを含み、前記複数の抽出されたコンテンツ部分の各々は、前記ファイル記述子のファイル記述子表面の前記複数のファイル記述子タイルのうちの1つに対応し、
    前記ファイル記述子アプリケーションは、前記コンテンツ・ファイルのための前記ファイル記述子を生成するために前記クライアント・アプリケーションによって使用される前記ファイル記述子作成情報を生成するように動作可能なファイル記述子組み立てコンポーネントを備え、前記ファイル記述子作成情報は、ファイル記述子モデル識別子と、ファイル記述子モデルのファイル記述子タイルを識別するための少なくとも1つのファイル記述子タイル識別子と、前記ファイル記述子タイル識別子によって識別された前記ファイル記述子タイルに対応する前記コンテンツ・ファイルのコンテンツ部分を識別するための少なくとも1つのコンテンツ部分識別子とを含む、
    装置。
  3. 前記ファイル記述子アプリケーションは、前記コンテンツ・ファイルから抽出されたコンテンツ部分を交換コンテンツ部分と置換するように動作可能なファイル記述子置換コンポーネントを備える、請求項1又は2に記載の装置。
  4. 前記ファイル記述子組み立てコンポーネントは、ファイル記述子モデルに基づいて、前記コンテンツ・ファイルから抽出された1または複数のコンテンツ部分から前記ファイル記述子を生成するように更に動作可能である、請求項1又は2に記載の装置。
  5. 前記ファイル記述子アプリケーションは、前記コンテンツ・ファイルのコンテンツ部分に対する変更を前記ファイル記述子の前記コンテンツ・ファイルから抽出された対応するコンテンツ部分と同期させるように動作可能なファイル記述子同期コンポーネントを備える、請求項1又は2に記載の装置。
  6. コンテンツ・ファイルのためのファイル記述子またはファイル記述子作成情報を生成するファイル記述子要求を受け取るステップであって、前記ファイル記述子は前記コンテンツ・ファイルの内容のプレビューを提供し、前記ファイル記述子作成情報は前記コンテンツ・ファイルのための前記ファイル記述子を生成するためにクライアント・アプリケーションによって使用されるためのものである、ステップと、
    プロセッサー回路によって、前記ファイル記述子要求に対するファイル記述子応答を生成するステップと、
    前記ファイル記述子応答を前記クライアント・アプリケーションへ送るステップと、
    前記ファイル記述子のためのファイル記述子モデルを引き出すステップと、
    前記ファイル記述子モデルに基づいて前記コンテンツ・ファイルから複数のコンテンツ部分を抽出するステップと、
    前記複数の抽出されたコンテンツ部分の各々をコンテンツ部分識別子を用いて識別するステップであって、単一のファイル記述子は、当該単一のファイル記述子のファイル記述子表面上に複数のファイル記述子タイルを含み、前記抽出されたコンテンツ部分の各々は、前記ファイル記述子のファイル記述子表面の前記複数のファイル記述子タイルのうちの1つに対応する、ステップと、
    ファイル記述子モデルと前記コンテンツ・ファイルから抽出された1または複数のコンテンツ部分とを含む前記ファイル記述子作成情報を生成するステップと、
    を含む、コンピューター実装方法。
  7. コンテンツ・ファイルのためのファイル記述子またはファイル記述子作成情報を生成するファイル記述子要求を受け取るステップであって、前記ファイル記述子は前記コンテンツ・ファイルの内容のプレビューを提供し、前記ファイル記述子作成情報は前記コンテンツ・ファイルのための前記ファイル記述子を生成するためにクライアント・アプリケーションによって使用されるためのものである、ステップと、
    プロセッサー回路によって、前記ファイル記述子要求に対するファイル記述子応答を生成するステップと、
    前記ファイル記述子応答を前記クライアント・アプリケーションへ送るステップと、
    前記ファイル記述子のためのファイル記述子モデルを引き出すステップと、
    前記ファイル記述子モデルに基づいて前記コンテンツ・ファイルから複数のコンテンツ部分を抽出するステップと、
    前記複数の抽出されたコンテンツ部分の各々をコンテンツ部分識別子を用いて識別するステップであって、単一のファイル記述子は、当該単一のファイル記述子のファイル記述子表面上に複数のファイル記述子タイルを含み、前記抽出されたコンテンツ部分の各々は、前記ファイル記述子のファイル記述子表面の前記複数のファイル記述子タイルのうちの1つに対応する、ステップと、
    前記コンテンツ・ファイルのための前記ファイル記述子を生成するために前記クライアントによって使用されるファイル記述子作成情報を生成するステップであって、前記ファイル記述子作成情報は、ファイル記述子モデルに対するファイル記述子モデル識別子と、前記ファイル記述子モデルのファイル記述子タイルに対する1または複数のファイル記述子タイル識別子と、前記ファイル記述子タイルに対応する前記コンテンツ・ファイルから抽出されたコンテンツ部分に対する1または複数のコンテンツ部分識別子とを含む、ステップと、
    を含む、コンピューター実装方法。
  8. 前記コンテンツ・ファイルの抽出されたコンテンツ部分に対して交換コンテンツ部分を生成するステップを含む、請求項6又は7に記載のコンピューター実装方法。
  9. ファイル記述子モデルに基づいて、前記コンテンツ・ファイルから抽出された1または複数のコンテンツ部分から前記ファイル記述子を生成するステップを含む、請求項6又は7に記載のコンピューター実装方法。
  10. 前記ファイル記述子応答をファイル記述子作成情報または前記ファイル記述子と共に前記クライアントへ送るステップを含む、請求項6又は7に記載のコンピューター実装方法。
  11. 前記コンテンツ・ファイルのコンテンツ部分に対する変更を前記ファイル記述子の前記コンテンツ・ファイルから抽出された対応するコンテンツ部分と同期させるステップを含む、請求項6又は7に記載のコンピューター実装方法。
  12. 1または複数のプロセッサーによって実行されると、請求項1から11のいずれか1項にしたがってデバイスを動作させるプログラム。
  13. 請求項12に記載のプログラムを格納するコンピューター読み取り可能媒体。
JP2015514062A 2012-05-24 2013-05-16 ファイル記述子を自動的に管理する技法 Active JP6506686B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/479,786 US9069781B2 (en) 2012-05-24 2012-05-24 Techniques to automatically manage file descriptors
US13/479,786 2012-05-24
PCT/US2013/041264 WO2013176949A1 (en) 2012-05-24 2013-05-16 Techniques to automatically manage file descriptors

Publications (3)

Publication Number Publication Date
JP2015517710A JP2015517710A (ja) 2015-06-22
JP2015517710A5 JP2015517710A5 (ja) 2016-06-30
JP6506686B2 true JP6506686B2 (ja) 2019-04-24

Family

ID=48579471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015514062A Active JP6506686B2 (ja) 2012-05-24 2013-05-16 ファイル記述子を自動的に管理する技法

Country Status (6)

Country Link
US (1) US9069781B2 (ja)
EP (1) EP2856351B1 (ja)
JP (1) JP6506686B2 (ja)
KR (1) KR102049133B1 (ja)
CN (1) CN103246748B (ja)
WO (1) WO2013176949A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9715485B2 (en) 2011-03-28 2017-07-25 Microsoft Technology Licensing, Llc Techniques for electronic aggregation of information
US9047300B2 (en) * 2012-05-24 2015-06-02 Microsoft Technology Licensing, Llc Techniques to manage universal file descriptor models for content files
US10684899B2 (en) * 2013-03-13 2020-06-16 Northrop Grumman Systems Corporation Mobile applications architecture
WO2016057188A1 (en) 2014-10-09 2016-04-14 Wrap Media, LLC Active receipt wrapped packages accompanying the sale of products and/or services
WO2016057349A1 (en) * 2014-10-09 2016-04-14 Wrap Media, LLC A wrap package of cards including discount coupons and/or loyalty programs
CN107622067B (zh) * 2016-07-13 2020-11-20 杭州海康威视数字技术股份有限公司 一种对多个多媒体文件的存储、读取和显示方法及装置
CN108366010A (zh) * 2018-01-15 2018-08-03 华南理工大学 一种基于云存储的电子邮件归档系统及其数据处理方法
CN111371869A (zh) * 2020-02-26 2020-07-03 山西鲲博时代信息科技有限公司 一种基于智能多通路网关的多路通信监控方法

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5321750A (en) 1989-02-07 1994-06-14 Market Data Corporation Restricted information distribution system apparatus and methods
US5339392A (en) 1989-07-27 1994-08-16 Risberg Jeffrey S Apparatus and method for creation of a user definable video displayed document showing changes in real time data
GB2241629A (en) * 1990-02-27 1991-09-04 Apple Computer Content-based depictions of computer icons
US5297032A (en) 1991-02-01 1994-03-22 Merrill Lynch, Pierce, Fenner & Smith Incorporated Securities trading workstation
US5432932A (en) 1992-10-23 1995-07-11 International Business Machines Corporation System and method for dynamically controlling remote processes from a performance monitor
JPH07160467A (ja) * 1993-12-02 1995-06-23 Casio Comput Co Ltd 表示制御装置
JP2993351B2 (ja) 1994-02-14 1999-12-20 松下電器産業株式会社 圧縮データ記録装置
US5819284A (en) 1995-03-24 1998-10-06 At&T Corp. Personalized real time information display as a portion of a screen saver
US5717940A (en) * 1995-04-28 1998-02-10 Ricoh Company, Ltd. Method of selecting a target document using features of an example page
US6807558B1 (en) 1995-06-12 2004-10-19 Pointcast, Inc. Utilization of information “push” technology
US5747940A (en) 1996-01-11 1998-05-05 Openiano; Renato M. Multi-dimensional control of arrayed lights to produce synchronized dynamic decorative patterns of display, particularly for festival and Christmas lights
JP3443255B2 (ja) * 1996-10-18 2003-09-02 富士ゼロックス株式会社 電子文書管理装置および方法
US5959621A (en) 1996-12-06 1999-09-28 Microsoft Corporation System and method for displaying data items in a ticker display pane on a client computer
US6216141B1 (en) 1996-12-06 2001-04-10 Microsoft Corporation System and method for integrating a document into a desktop window on a client computer
US6708189B1 (en) 1997-09-30 2004-03-16 Desknet, Inc. Computer file transfer system
JP2001523853A (ja) 1997-11-14 2001-11-27 アベスタ テクノロジーズ, インコーポレイテッド 略リアルタイムで複数のデータソースのデータを表示するシステムおよび方法
US6311058B1 (en) 1998-06-30 2001-10-30 Microsoft Corporation System for delivering data content over a low bit rate transmission channel
US6449638B1 (en) 1998-01-07 2002-09-10 Microsoft Corporation Channel definition architecture extension
US6278448B1 (en) 1998-02-17 2001-08-21 Microsoft Corporation Composite Web page built from any web content
US6832355B1 (en) 1998-07-28 2004-12-14 Microsoft Corporation Web page display system
US6188405B1 (en) 1998-09-14 2001-02-13 Microsoft Corporation Methods, apparatus and data structures for providing a user interface, which exploits spatial memory, to objects
US6510553B1 (en) 1998-10-26 2003-01-21 Intel Corporation Method of streaming video from multiple sources over a network
JP3956553B2 (ja) * 1998-11-04 2007-08-08 富士ゼロックス株式会社 アイコン表示処理装置
US6456334B1 (en) 1999-06-29 2002-09-24 Ati International Srl Method and apparatus for displaying video in a data processing system
US6976210B1 (en) 1999-08-31 2005-12-13 Lucent Technologies Inc. Method and apparatus for web-site-independent personalization from multiple sites having user-determined extraction functionality
US7028264B2 (en) 1999-10-29 2006-04-11 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US7987431B2 (en) 1999-10-29 2011-07-26 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US6724403B1 (en) 1999-10-29 2004-04-20 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US20010056370A1 (en) 2000-02-10 2001-12-27 Sivan Tafla Method and system for presenting an animated advertisement on a web page
AU2001235940A1 (en) 2000-02-23 2001-09-03 Eyal, Yehoshua Systems and methods for generating and providing previews of electronic files such as web files
US20020004825A1 (en) 2000-06-13 2002-01-10 Lindberg Gregrey E. Methods and apparatus for distributing content teaser click-through traffic to web sites containing full content
JP2002091813A (ja) * 2000-09-18 2002-03-29 Ricoh Co Ltd 統合文書管理システム、方法、及びプログラムを記録したコンピュータ読み取り可能な記録媒体
US6825844B2 (en) 2001-01-16 2004-11-30 Microsoft Corp System and method for optimizing a graphics intensive software program for the user's graphics hardware
US6964025B2 (en) 2001-03-20 2005-11-08 Microsoft Corporation Auto thumbnail gallery
US6857030B2 (en) 2001-09-12 2005-02-15 Sun Microsystems, Inc. Methods, system and article of manufacture for pre-fetching descriptors
US20030051071A1 (en) 2001-09-13 2003-03-13 Thorarinn Stefansson Modular software system and method
US7263521B2 (en) 2002-12-10 2007-08-28 Caringo, Inc. Navigation of the content space of a document set
US7188316B2 (en) 2003-03-24 2007-03-06 Microsoft Corporation System and method for viewing and editing multi-value properties
US7472424B2 (en) 2003-10-10 2008-12-30 Microsoft Corporation Parental controls for entertainment content
US7571380B2 (en) 2004-01-13 2009-08-04 International Business Machines Corporation Differential dynamic content delivery with a presenter-alterable session copy of a user profile
US8250150B2 (en) * 2004-01-26 2012-08-21 Forte Internet Software, Inc. Methods and apparatus for identifying and facilitating a social interaction structure over a data packet network
US20050273394A1 (en) * 2004-06-07 2005-12-08 Siemens Aktiengesellschaft Method and system for providing enhanced online support
US7469380B2 (en) 2004-06-15 2008-12-23 Microsoft Corporation Dynamic document and template previews
JP4047308B2 (ja) 2004-08-06 2008-02-13 キヤノン株式会社 レイアウト処理方法、情報処理装置及びコンピュータプログラム
JP2006148779A (ja) * 2004-11-24 2006-06-08 Fuji Xerox Co Ltd 文書閲覧システム
US8819569B2 (en) 2005-02-18 2014-08-26 Zumobi, Inc Single-handed approach for navigation of application tiles using panning and zooming
US7809582B2 (en) 2005-03-10 2010-10-05 Microsoft Corporation System and method for providing a consistent visual appearance to output generated by multiple applications
US7506306B2 (en) 2005-05-24 2009-03-17 International Business Machines Corporation Graphical editor with incremental development
US8429630B2 (en) 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US7933632B2 (en) 2005-09-16 2011-04-26 Microsoft Corporation Tile space user interface for mobile devices
US20110137986A1 (en) * 2009-12-08 2011-06-09 Wolf Edward O'brien Accessing content hosted on a peer device in a peer-to-peer network using a uniform resource locator (URL)
US8719816B2 (en) * 2006-03-14 2014-05-06 University Of Utah Research Foundation Extendable framework for distributed applications and data
US7558789B2 (en) 2006-11-20 2009-07-07 Illinois Institute Of Technology Method for improving local descriptors in peer-to-peer file sharing
CN101568969B (zh) * 2006-12-20 2013-05-08 高智83基金会有限责任公司 故事共享自动化
US20080155422A1 (en) * 2006-12-20 2008-06-26 Joseph Anthony Manico Automated production of multiple output products
US8631439B2 (en) 2007-04-06 2014-01-14 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for implementing a navigational search structure for media content
US7933904B2 (en) 2007-04-10 2011-04-26 Nelson Cliff File search engine and computerized method of tagging files with vectors
KR100911647B1 (ko) 2007-04-18 2009-08-10 삼성전자주식회사 콘텐츠를 저장하는 메모리와 이의 티져 광고 생성 방법 및 이를 이용한 콘텐츠 제공 방법
US8065628B2 (en) 2007-06-25 2011-11-22 Microsoft Corporation Dynamic user interface for previewing live content
JP2009075879A (ja) * 2007-09-20 2009-04-09 Ricoh Co Ltd 画像処理装置と画像処理方法とプログラム
JP5194776B2 (ja) * 2007-12-21 2013-05-08 株式会社リコー 情報表示システム、情報表示方法およびプログラム
JP5065113B2 (ja) * 2008-03-24 2012-10-31 ルネサスエレクトロニクス株式会社 等価性検証方法、等価性検証プログラム及び等価性検証プログラムの生成方法
US8762887B2 (en) * 2008-06-06 2014-06-24 Apple Inc. Browsing or searching user interfaces and other aspects
US20090319928A1 (en) 2008-06-20 2009-12-24 Microsoft Corporation Generating previews for themes that personalize an operating environment
US8788963B2 (en) 2008-10-15 2014-07-22 Apple Inc. Scrollable preview of content
US8086611B2 (en) 2008-11-18 2011-12-27 At&T Intellectual Property I, L.P. Parametric analysis of media metadata
JP5416983B2 (ja) * 2009-02-04 2014-02-12 1stホールディングス株式会社 フォルダ管理装置、フォルダ管理方法およびフォルダ管理用プログラム
US8392386B2 (en) 2009-08-05 2013-03-05 International Business Machines Corporation Tracking file contents
US20110173188A1 (en) 2010-01-13 2011-07-14 Oto Technologies, Llc System and method for mobile document preview
US8589815B2 (en) 2010-03-10 2013-11-19 Microsoft Corporation Control of timing for animations in dynamic icons
US9229947B2 (en) 2010-09-27 2016-01-05 Fisher-Rosemount Systems, Inc. Methods and apparatus to manage process data
US20120078966A1 (en) 2010-09-29 2012-03-29 International Business Machines Corporation File System With Content Identifiers

Also Published As

Publication number Publication date
EP2856351B1 (en) 2019-04-10
US20130318042A1 (en) 2013-11-28
EP2856351A1 (en) 2015-04-08
US9069781B2 (en) 2015-06-30
JP2015517710A (ja) 2015-06-22
CN103246748B (zh) 2017-03-01
KR20150016946A (ko) 2015-02-13
CN103246748A (zh) 2013-08-14
WO2013176949A1 (en) 2013-11-28
KR102049133B1 (ko) 2019-11-26

Similar Documents

Publication Publication Date Title
JP6506686B2 (ja) ファイル記述子を自動的に管理する技法
US9992285B2 (en) Techniques to manage state information for a web service
US9542440B2 (en) Enterprise graph search based on object and actor relationships
US9053079B2 (en) Techniques to manage collaborative documents
US10452787B2 (en) Techniques for automated document translation
US20230161969A1 (en) Automatically assisting conversations using graph database
US10223135B2 (en) User interface extender
US10402408B2 (en) Versioning of inferred data in an enriched isolated collection of resources and relationships
US10614057B2 (en) Shared processing of rulesets for isolated collections of resources and relationships
EP3552376B1 (en) Card-based information management method and system
WO2018085475A2 (en) Multi-level data pagination
KR20160037922A (ko) 사용자와 공유된 콘텐츠를 찾고 디스플레이하는 기술
US10846310B2 (en) Method and system for mapping notable entities to their social profiles
US9047300B2 (en) Techniques to manage universal file descriptor models for content files
US10033737B2 (en) System and method for cross-cloud identity matching
US9542457B1 (en) Methods for displaying object history information
US20130318048A1 (en) Techniques to modify file descriptors for content files
CN105683958B (zh) 文本样本条目组制定

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160511

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170823

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170905

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20171006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180105

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180208

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190118

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190329

R150 Certificate of patent or registration of utility model

Ref document number: 6506686

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250