CN103023962B - 共享媒体文件的技术 - Google Patents

共享媒体文件的技术 Download PDF

Info

Publication number
CN103023962B
CN103023962B CN201210419134.8A CN201210419134A CN103023962B CN 103023962 B CN103023962 B CN 103023962B CN 201210419134 A CN201210419134 A CN 201210419134A CN 103023962 B CN103023962 B CN 103023962B
Authority
CN
China
Prior art keywords
network storage
media file
storage location
file
link
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
CN201210419134.8A
Other languages
English (en)
Other versions
CN103023962A (zh
Inventor
J·拜勒
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 Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN103023962A publication Critical patent/CN103023962A/zh
Application granted granted Critical
Publication of CN103023962B publication Critical patent/CN103023962B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/176Support for shared access to files; File sharing support
    • 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/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/435Filtering based on additional data, e.g. user or group profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

描述了共享媒体文件的技术。一种装置可包括处理器和通信地耦合到该处理器的存储器。该存储器可存储一应用,该应用具有可用于在所定义的一组用户之间共享媒体文件的媒体共享组件。该媒体共享组件可包括多个软件模块,包括文件管理器模块以及文件引用模块。文件管理器模块可以可用于确定媒体文件的网络存储位置。文件引用模块可以可用于自动地生成到该媒体文件的网络存储位置的有效链接。有效链接可被具体安排成准许该应用的定义的该组用户对该媒体文件的网络存储位置的访问。对其他实施例也予以描述并要求保护。

Description

共享媒体文件的技术
技术领域
本发明涉及共享媒体文件的技术。
背景技术
可使用大量不同技术共享文件。例如,消息应用被设计成在多个设备之间传递消息。消息应用的多个优点之一是将文件作为消息附件进行传递的能力。例如,一个计算设备上的诸如图像、照片、以及视频等媒体文件可被附加到消息并被传送到其他计算设备。然而,使用消息应用来发送附件非常低效,因为它们需要做出媒体文件的多个副本,诸如用于附件的一个副本以及用于每个接收附件的设备的一个副本。媒体文件相对较大并且消耗大量处理和通信资源,并且因此复制是一项昂贵的操作。现有方案尝试通过使用链接(诸如到网络存储设备的统一资源定位符(URL))来减少复制。然而,在许多时候,链接不能被用来访问存储在非公开存储位置中的媒体文件。这些限制以及其他限制抑制了用户使用现有方案高效地共享媒体文件。本发明的改进正是针对这些和其他考虑事项而需要的。
发明内容
提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
各种实施例一般涉及共享媒体文件的技术。某些实施例特别涉及使用迭代文件共享方法来以创新的方式合并多种不同类型的媒体共享技术来共享媒体文件,以减少共享媒体文件所需的文件复制的总次数的技术。
在一个实施例中,例如,一种装置可包括处理器和通信地耦合到该处理器的存储器(memory)。该存储器可存储一应用,该应用具有可用于在所定义的一组用户之间共享媒体文件的媒体共享组件。该媒体共享组件可包括多个软件模块,包括文件管理器模块以及文件引用模块。文件管理器模块可以可用于确定媒体文件的网络存储位置。文件引用模块可以可用于自动地生成到该媒体文件的网络存储位置的有效链接。有效链接可被具体安排成准许该应用的所定义的一组用户对该媒体文件的网络存储位置的访问。对其他实施例也予以描述并要求保护。
通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显而易见。应该理解,前面的概括说明和下面的详细描述只是说明性的,不会对所要求保护的各方面形成限制。
附图说明
图1示出媒体共享系统的一个实施例。
图2示出媒体共享系统的媒体共享组件测试到媒体文件的链接的逻辑流程的一个实施例。
图3示出媒体共享系统的媒体共享组件修改媒体文件的网络存储位置的权限(permission)的逻辑流程的一个实施例。
图4示出媒体共享系统的媒体共享组件将媒体文件复制到新存储位置的逻辑流程的一个实施例。
图5示出媒体共享系统测试到媒体文件的链接的消息流的一个实施例。
图6示出媒体共享系统修改媒体文件的网络存储位置的权限的消息流的一个实施例。
图7示出媒体共享系统将媒体文件复制到新的存储位置的消息流的一个实施例。
图8示出媒体共享系统通过客户端设备访问来自一网络存储位置的媒体文件的消息流的一个实施例。
图9示出媒体共享系统的集中式系统实现的一个实施例。
图10示出媒体共享系统的分布式系统实现的一个实施例。
图11示出媒体共享系统的示例性计算体系结构的一个实施例。
图12示出媒体共享系统的示例性通信体系结构的一个实施例。
具体实施方式
各实施例涉及用于增强的媒体文件共享技术以有效且高效地允许电子系统和设备使用不同的消息应用或模态通信并共享媒体文件的技术。该增强的媒体文件共享技术可以自动地或编程地使用迭代文件共享方法,所述迭代文件共享方法被设计成简化用户操作并减少共享媒体文件所需的文件复制的次数。迭代文件共享方法可利用一批文件共享技术,诸如生成不同类型的链接、测试不同类型的链接、修改网络存储位置的权限、以及最终将媒体文件复制到新网络存储位置。迭代文件共享方法仅在所有其他文件共享技术已被测试并失败之后才利用文件复制作为最后的手段。以此方式,迭代文件共享方法减少了(或者在某些情况下消除了)进行文件复制以在多个用户间共享媒体文件的需要,由此保留了设备或网络的计算和通信资源。而且,该迭代文件共享方法在无需执行文件共享的用户的任何人工干预的情况下执行,由此带来了共享媒体文件时的改进的用户体验。作为这些和其他优点的结果,各实施例可提高操作者、设备或网络的可承受性、可伸缩性、模块性、可扩展性或互操作性。
图1示出媒体共享系统100的框图,该系统适于实现一个或多个增强的媒体文件共享技术来有效并高效地允许电子系统和设备通信并共享媒体文件。媒体文件可使用不同通信技术来共享,诸如通过利用各种消息应用、社交网络系统(SNS)订阅源、发布技术、或其他公开或私有的分布模态。
在各实施例中,媒体共享系统100可包括具有包含多个硬件和软件组件的多种类型的网络和设备的计算机实现的系统。如此处所使用的,术语“系统”和“组件”旨在指代与计算机相关的实体,包括硬件、硬件和软件的组合、软件、或执行中的软件。例如,组件可被实现为在处理器上运行的进程、处理器、硬盘驱动器、多个(光和/或磁存储介质的)存储驱动器、对象、可执行代码、执行的线程、程序、和/或计算机。作为说明,在服务器上运行的应用和服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以视给定实现所需而位于一台计算机上和/或分布在两台或更多的计算机之间。各实施例不限于该上下文。
在图1中示出的所示实施例中,媒体共享系统100可包括多个客户端设备110-a(在图1中被示出为客户端设备110-1、110-2)以及多个网络存储服务器150-b(在图1中被示出为网络存储服务器150-1、150-2),它们均通过网络130来通信。虽然图1中示出的媒体共享系统100具有按照某种拓扑结构的有限数量的元素,但可以理解,媒体共享系统100可以视给定实现的需要而包括按照替代拓扑结构的更多或更少元素。
值得指出的是,本文所使用的“a”、“b”、“c”以及类似的指示符是表示任何正整数的变量。因此,例如,如果一实现将a值设为a=5,客户端设备110-a的完整集合可以包括客户端设备110-1、110-2、110-3、110-4以及110-5。各实施例不限于该上下文。
媒体共享系统100可包括多个客户端设备110-a。客户端设备110-a可包括既具有计算能力又具有通信能力的任何电子设备。通信能力可包括有线和无线通信能力。电子设备的示例可包括但不限于:计算设备、移动设备、个人数字助理、移动计算设备、智能电话、蜂窝电话、手机、单向寻呼机、双向寻呼机、消息收发设备、计算机、个人计算机(PC)、台式计算机、膝上型计算机、笔记本计算机、手持式计算机、平板计算机、服务器、服务器阵列或服务器场、web服务器、网络服务器、因特网服务器、工作站、小型计算机、大型计算机、超级计算机、网络设备、web设备、分布式计算系统、多处理器系统、基于处理器的系统、消费电子产品、可编程消费电子产品、电视机、数字电视机、机顶盒、无线接入点、基站、用户站、移动用户中心、无线电网络控制器、路由器、集线器、网关、网桥、交换机、机器、或其组合。各实施例不限于该上下文。
客户端设备110-a各自可包括处理器102和通信地耦合到处理器102的存储器103。处理器102和存储器103可各自通信地耦合到通信接口109。客户端设备110-a的示例性体系结构和示例可参考图11来描述。
客户端设备110-a可各自实现一个或多个生产力应用104-c,在图1中被示出为分别用于客户端设备110-1、110-2的生产力应用104-1、104-2。生产力应用104-c可包括被设计成执行用于知识工作者的特定的功能集的软件应用程序。生产力应用104-c通常可用于创建、修改、发送、接收或以其他方式管理一个或多个文档116-f的内容。生产力应用104-c的示例可包括但不限于:为特定操作系统设计的互相关的客户端应用、服务器应用和web服务的生产力套件,诸如用于由美国华盛顿州雷蒙德的微软公司制作的MICROSOFTOFFICE生产力套件。生产力应用104-c的示例可包括但不限于:MICROSOFTWORD、MICROSOFTMICROSOFTMICROSOFTMICROSOFTMICROSOFTMICROSOFTMICROSOFTPROJECT、MICROSOFTPUBLISHER、MICROSOFTWORKSPACE、MICROSOFTMICROSOFTOFFICEINTERCONNECT、MICROSOFTOFFICEPICTUREMANAGER、MICROSOFTSHAREPOINTDESIGNER、以及MICROSOFTLYNC。服务器应用的示例可包括但不限于:MICROSOFTSHAREPOINTSERVER、MICROSOFTLYNCSERVER、MICROSOFTOFFICEFORMSSERVER、MICROSOFTOFFICESERVER、MICROSOFTOFFICEPROJECTSERVER、MICROSOFTOFFICEPROJECTPORTFOLIOSERVER、以及MICROSOFTOFFICESERVER。web服务的示例可包括但不限于:MICROSOFTWINDOWSMICROSOFTOFFICEWEBAPPLICATIONS、MICROSOFTOFFICELIVE,MICROSOFTLIVEMEETING、MICROSOFTOFFICEPRODUCTWEBSITE、MICROSOFTUPDATESERVER、以及MICROSOFTOFFICE365。各实施方式不限于这些示例。可以理解,客户端设备110-a可各自实现除根据所描述的实施例的生产力应用104-c之外的其他类型的应用。
在一个实施例中,客户端设备110-a可实现生产力应用104-c,诸如剪辑画面(montage)应用。剪辑画面(montage)可包括集聚分开的元素以形成单个合成元素。例如,剪辑画面可包括由若干单独图片构成的合成图片,或包括不同图像的快速序列的视频序列。剪辑画面可包括来自所选内容文件的数字信息元素的单个合成或集聚以形成单个合成数字信息元素。剪辑画面可包括例如合成文件,该合成文件具有由诸如应用程序的应用文件等不同种类应用生成的不同构成数字信息元素。有时构成数字信息元素根据中心主题来组织,诸如与业务项目、个人假日或节日相关的那些数字信息元素。由于合成文档的空间限制,构成数字信息元素常常是实际内容文件的低保真度表示。这样,内容消费者可选择构成数字信息元素来检索相关联内容文件的更高保真度版本,以进行更深度的查阅。
如图1中所示,例如,客户端设备110-1、110-2实现各自的应用104-1、104-2。应用104-1、104-2一般可用于为客户端设备110-1、110-2生成、发送、接收、更新、修改和以其他方式管理文档116-f。可以理解,针对在此描述的客户端设备110-1及其应用104-1所示出的实现细节也适用于客户端设备110-2及其相应的应用104-2。
在一个实施例中,应用104-1、104-2被实现为由客户端设备110-1、110-2提供的本地资源(诸如客户端设备110-1的处理器102和存储器103)存储并执行的独立的基于客户端的应用。在一个实施例中,应用104-1、104-2被实现为云计算应用,所述云计算应用是在网络设备上实现并由客户端设备110-1、110-2经由web浏览器或瘦客户端应用程序访问的基于网络的应用。在一个实施例中,应用104-1、104-2可包括适用于分布式处理并且部分地在客户端设备110-1、110-2的本地资源上执行且部分地在网络资源上执行的分布式应用。各实施例不限于该上下文。
可通过用户界面(诸如用户界面108)访问并操纵生产力应用104-c。用户界面是人(用户)用来与电子设备(诸如计算机)交互的系统。一般而言,用户界面108允许用户输入信息以操纵电子设备。用户界面108还允许电子设备输出关于所述操纵的效果的信息。在计算时,图形用户界面(GUI)是允许用户用图像而不是文本命令与电子设备交互的一类用户界面。GUI表示通过图形图标和视觉指示符(诸如二级注释)而不是基于文本的界面、键入的命令标签或文本导航来对用户可用的信息和动作。通常通过直接操纵图形元素来执行动作。用户界面108一般可为生产力应用104-1提供用户界面,诸如GUI引擎。用户界面108可作为生产力应用104-1的一部分原生地(natively)实现,或者作为另一软件程序(诸如操作系统(OS)或其他系统程序)的一部分实现。
生产力应用104-c(如对客户端设备110-1的生产力应用104-1所示)可具有媒体共享组件105,媒体共享组件105可用于在所定义的一组用户之间共享一个或多个媒体文件114-d,诸如媒体文件114-1。媒体共享组件105可包括多个模块106-e,诸如文件管理器模块106-1和文件引用模块106-2。文件管理器模块106-1可确定媒体文件114-1的网络存储位置。文件引用模块106-2可自动地生成到媒体文件114-d的网络存储位置的有效链接118-g,诸如媒体文件114-1的有效链接118-1,有效链接118-1被具体安排成准许应用104-1、104-2的所定义的该组用户对媒体文件114-1的网络存储位置的访问。
媒体文件114-d可包括存储应用104-1可访问的内容的给定媒体文件格式的任何类型的多媒体文件。媒体文件114-d的示例包括但不限于:文本、音频、静止图像、照片、图形、动画、视频、影片、音频/视频、交互式内容、应用文件、超媒体、游戏文件、计算机辅助设计(CAD)文件、数据库文件、文档、应用文件、地图文件、图形信息系统文件、程序代码、以及与所描述的实施例相容的任何其他类型的媒体内容。在一个实施例中,例如,媒体文件114-d可包括诸如照片等图像。图像的媒体文件格式的一些示例可包括但不限于图像扩展名“JPG”、“JPEG”、“GIF”、“PNG”、“BMP”、“TIFF”、“TIF”、“ICO”、“DIB”等等。在一个实施例中,例如,媒体文件114-d可包括诸如影片等视频。视频的媒体文件格式的一些示例可包括但不限于WindowsVideo(WMV)、运动图像专家组(MPEG)阶段1-4、QuickTime(MOV)等等。各实施例不限于媒体文件114-d的任何给定的媒体类型或媒体格式。
媒体共享组件105可在所定义的一组用户间共享一个或多个媒体文件114-d。所定义的一组用户可包括被枚举在列表上并被授权访问媒体文件114-d的任何数量的用户。所定义的一组用户的一个示例可包括能够访问应用104-1、104-2的用户。所定义的一组用户的另一个示例可包括接收由应用104-1、104-2之一创建或修改的文档116-f的用户。所定义的一组用户的示例可包括带文档116-f的消息119的接收者的分发列表,其中一组媒体文件114-d与该文档相关联。所定义的一组用户的其他示例可包括SNS中的朋友的社交分组、商业实体中的工作分组、对发布服务的订阅者、以及任何其他个别的用户的集合。各实施例不限于该上下文。
文件管理器模块106-1可确定由所定义的一组用户共享的媒体文件114-d的网络存储位置。网络存储位置可包括网络设备(诸如网络存储服务器150-b)所存储的媒体文件114-d的网络地址,或仅网络设备的地址。网络地址的示例可包括统一资源定位符(URL)、网际协议(IP)地址、网络代理地址、媒体访问控制(MAC)地址、或某种其他形式的网络地址。在一个实施例中,文件管理器模块106-1可通过最先确定媒体文件114-1是本地媒体文件还是远程媒体文件来确定媒体文件114-1的网络存储位置。
本地媒体文件是当媒体文件114-1被存储在与应用104-1相同的设备(诸如例如数据存储120)上时。在此情况下,文件管理器模块106-1可发出控制指示来取回(retrieve)媒体文件114-1,并将媒体文件114-1发送到网络存储服务器150-1。随后文件管理器模块106-1可将网络存储位置转发到文件引用模块106-2来进行处理。
远程媒体文件是当媒体文件114-1被存储在与应用104-1不同的设备(诸如网络存储服务器150-1)上时。在此情况下,文件管理器模块106-1可取回媒体文件114-1的当前网络存储位置,并将该网络存储位置转发到文件引用模块106-2以进行处理。
在任一情况下,文件引用模块106-2可接收媒体文件114-1的当前网络存储位置,并自动生成到媒体文件114-d的网络存储位置的有效链接118-g(诸如媒体文件114-1的有效链接118-1)。有效链接118-1是提供到如存储在网络存储位置处的媒体文件114-1的引用的任何类型的链接,所述链接被具体安排成准许由应用104-1的所定义的一组用户对媒体文件114-1的网络存储位置的访问。
链接118-g中的每一个可包括用户可以直接跟随的或由程序自动跟随的、对所存储的媒体文件114-d的引用或指针。引用是对设备(例如,文件服务器)的存储器中的其他位置处的所指事物(例如,所存储的媒体文件114-d,如对象、文件、数据项等等)进行引用的数据类型,并且被用来访问该所指事物。一般而言,引用是使程序能够直接访问该所指事物的值。所指事物可被存储在与引用相同的设备上或与引用不同的设备上。大多数编程语言支持某种形式的引用。链接118-g的示例可包括但不限于超文本和超链接,如万维网(WWW)所使用的那些。超文本是具有超链接的文本。超链接通常包括锚,锚是消息内的可从中跟随该超链接的位置。超链接的目标是该超链接通向的所存储的媒体文件114-d。在其锚被示出时,通过以某种方式激活它,如通过触摸它(例如,使用触摸屏显示器)或用定点设备(例如,鼠标)点击它,用户可以跟随该链接。在链接118-g被激活时,其目标(例如,媒体文件114-d)被显示,通常经由web浏览器来显示。
然而,在某些情况下,链接118-g可能包括无效链接。无效链接不允许用户访问媒体文件114-d。例如,媒体文件114-d可能被存储在私有(非公开)位置中,该私有位置具有阻止某个用户获得对媒体文件114-d的访问的一组许可。在其他情况下,媒体文件114-d的网络存储位置可能已改变而没有对链接118-g进行相应的更新。在其他示例中,网络存储服务器150-1、150-2可能是不可操作的,或者到网络存储服务器150-1、150-2的网络130的通信链路可能被切断或过载。
文件引用模块106-2可自动地或编程地使用迭代文件共享方法来生成被具体设计成简化用户操作并减少共享媒体文件114-1所需的文件复制的次数的有效链接118-g。文件引用模块106-2可按照给定序列利用一批文件共享技术,诸如生成不同类型的链接118-g、测试不同类型的链接118-g、修改网络存储位置的许可、以及最终将媒体文件114-d复制到新的网络存储位置。文件引用模块106-2仅在所有其他文件共享技术已被测试并失败之后才利用文件复制作为最后的手段。
文件引用模块106-2可发起迭代文件共享算法,该算法开始于检索网络存储位置(诸如网络存储服务器150-b)的当前链接118-1以获得媒体文件114-1。网络存储服务器150-b可包括或使用用于执行根据所描述的实施例的各种方法的一个或多个服务器计算设备和/或服务器程序。例如,当被安装和/或部署时,服务器程序可以支持用于提供特定服务和特征的服务器计算设备的一个或多个服务器角色。示例性网络存储服务器150-b可包括例如操作诸如MICROSOFT操作系统、UNIX操作系统、LINUX操作系统或其他合适的基于服务器的操作系统等服务器操作系统的独立和企业级服务器计算机。例如,示例性服务器程序可包括诸如LIVE等提供对文档和文件的在线网络存储的网络存储服务器程序,文档和文件包括诸如图像、照片、相册、视频、视频专辑等多媒体文件或媒体文件。示例性服务器程序还可包括网络应用程序,例如诸如社交网络应用程序、搜索应用、文档管理程序、web日志(博客)、文字处理程序、电子表格程序、数据库程序、绘图程序、文档共享程序、消息应用、web服务、web应用、web服务器、和/或根据所描述的实施例的其他类型的程序、应用、或服务。
文件引用模块106-2可确定当前链接118-1是否准许应用104-1的所定义的一组用户对媒体文件114-1的网络存储位置的访问(诸如网络存储服务器150-1)。当所定义的该组用户不能访问当前链接118-1时,文件引用模块106-2尝试生成准许所定义的该组用户对媒体文件114-1的网络存储位置的访问的有效链接118-2。
当文件引用模块106-2确定当前链接118-1不可访问时,文件引用模块106-2可尝试取回引用,诸如使能访问该统一资源定位符(URL)的任何人能够访问媒体文件114-1的URL。例如,在一个实施例中,文件引用模块106-2可从网络存储服务器150-1取回网络存储位置的词例化(tokenize)的匿名查看URL。如果成功,则文件引用模块106-2可生成有效链接118-2,作为包括词例化的匿名查看URL的引用。
当文件引用模块106-2确定词例化的匿名查看URL不可用时,文件引用模块106-2接下来可尝试修改网络存储服务器150-1处的媒体文件114-1的网络存储位置的许可。如果成功,则在已经修改了该网络存储位置的许可后,文件引用模块106-2可生成有效链接118-2,作为对媒体文件114-1的网络存储位置的引用。
当文件引用模块106-2确定该网络存储位置的许可不能被修改时,文件引用模块106-2接下来可尝试将媒体文件114-1从网络存储服务器150-1的该网络存储位置复制到准许所定义的该组用户对媒体文件的访问的一不同的网络存储位置,诸如网络存储服务器150-2。如果复制操作成功,则文件引用模块106-2可生成有效链接11802,作为对所复制的媒体文件114-1的网络存储服务器150-2上的该不同的网络存储位置的引用。
尽管在某些实施例中文件引用模块106-2被安排成自动尝试改变许可或执行复制操作而不进行人工干预(诸如用户输入),然而在其他实施例中,文件引用模块106-2可通过如下方式请求用户输入:利用用户界面108生成向用户建议可能选项的各种GUI视图,并接收关于对所需选项的选择的用户控制指示。各实施例不限于该上下文。
一旦生成了有效链接118-2,应用104-1可将有效链接118-2与文档116-1相关联。用户和/或应用104-1可发起文档116-1和有效链接118-2的分发操作以将文档116-1和有效链接118-2分发到作为所定义的该组用户的一组文档接收者。
在一个实施例中,例如,该应用可将文档116-1和有效链接118-2作为在线用户帐户的一部分发布,诸如对于SNS应用。用户帐户的示例可包括在线存储或社交网络服务,包括但不限于MICROSOFTLIVE、MYSPACETM、FACEBOOKTM、LINKEDINTM、TWITTERTM、BEBOTM、以及根据所描述的实施例的其他在线存储或社交网络服务。各实施例不限于该上下文。
在一个实施例中,例如,该应用可使用消息应用107将文档116-1和有效链接118-2作为消息119的一部分发送。客户端设备110-a可各自实现被安排成以各种格式来传递各种类型的消息的一个或多个消息应用107-h。消息应用107-h中的每一个可以表示特定种类的传输,从而实现对该特定应用的特定类型和格式的消息的处理。消息应用107-h可包括但不限于传真应用、视频消息应用、即时消息收发(IM)应用、聊天应用、电子邮件(email)应用、短消息服务(SMS)应用、多媒体消息服务(MMS)应用、社交网络系统(SNS)应用,等等。可以理解,各实施例不限于此,并且消息应用107-h可包括根据所描述的实施例的任何其他类型的消息收发或通信应用。
客户端设备110-a可通过网络130以各种格式传递各种类型的消息119。作为媒体共享系统100的一部分示出的各种系统和设备可经由诸如有线和/或无线网络等各种类型的通信介质来在通信上相耦合。类似地,给定系统或设备的组件可以协调彼此之间的操作。该协调可以涉及单向或双向信息交换。例如,某些组件可以传递通过通信介质传递的信号形式的信息。该信息可被实现成分配给各条信号线的信号。在这些分配中,每一消息都是信号。然而,其他实施方式可另选地采用数据消息。这些数据消息可以跨各个连接发送。示例性连接包括并行接口、串行接口和总线接口。适用于特定实施例的特定通信技术参考图12来描述。
网络130可表示被设计成在媒体共享系统100的各设备之间传递信息的通信框架。网络130可以实现任何公知通信技术,如适于与分组交换网络(例如,诸如因特网等公共网络、诸如企业内联网等专有网络,等等)、电路交换网络(例如,公共交换电话网)、或分组交换网络和电路交换网络的组合(使用合适的网关和转换器)一起使用的技术。
客户端设备110-a可使用通信接口109来传递媒体文件114-d和/或消息119。通信接口109可包括或实现允许客户端设备110-a经由网络130彼此进行通信并与媒体共享系统100的其他设备进行通信的各种通信技术。例如,媒体共享系统100的各设备可以各自包括实现被设计成可与网络130进行互操作的各种类型的标准通信元件的通信接口109,这些通信元件如一个或多个通信接口、网络接口、网络接口卡(NIC)、无线电装置、无线发射机/接收机(收发机)、有线和/或无线通信介质、物理连接器等。作为示例而非限制,通信介质包括有线通信介质和无线通信介质。有线通信介质的示例可以包括导线、电缆、金属线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤、所传播的信号等。无线通信介质的示例可以包括声学、射频(RF)频谱、红外和其他无线介质。
在各实施例中,通信接口109可包括多种不同类型的传输112-p,在图1中被示出为传输112-1、112-2。传输112-p中的每一个可实现或利用相同或不同的一组通信参数来在媒体共享系统100的各设备之间传递信息。在一个实施例中,例如,传输112-p中的每一个可以实现或利用不同的一组通信参数来在客户端设备110-a与消息服务器140之间传递信息。通信参数的一些示例可包括但不限于通信协议、通信标准、射频(RF)带、无线电装置、发射机/接收机(收发机)、无线电处理器、基带处理器、网络扫描阈值参数、无线电频率通道参数、接入点参数、速率选择参数、帧大小参数、聚集大小参数、分组重试限制参数、协议参数、无线电参数、调制和编码方案(MCS)、确认参数、媒体访问控制(MAC)层参数、物理(PHY)层参数、以及影响客户端设备110-a所实现的通信接口109的操作的任何其他通信参数。各实施例不限于该上下文。
在各实施例中,客户端设备110-1的通信接口109可以实现不同的通信参数,从而提供不同的带宽或通信速度。例如,传输112-1可包括实现用于向消息服务器140高速地传递信息的合适的通信参数的高速接口,而传输112-2可包括实现用于向消息服务器140低速地传递信息的合适的通信参数的低速接口。
对于有线通信,例如,传输112-1可包括被设计成通过诸如因特网等分组交换网络传递信息的网络接口。传输112-1可被安排成在功能上根据不同类型的有线网络系统或协议来提供数据通信。提供数据通信服务的合适的有线网络系统的示例可包括因特网工程任务组(IETF)传输控制协议(TCP)和网际协议(IP)通信标准套件、用户数据报协议(UDP)、数据报拥塞控制协议(DCCP)、流控制传输协议(SCTP)、资源预留协议(RSVP)、显式拥塞通知(ECN)协议、开放最短路径优先(OSPF)协议套件、可靠传输协议(RTP)、IETF实时传输协议(RTP)、等等。传输112-2可被安排成根据不同的消息协议来提供数据通信,如简单邮件传输协议(SMTP)、扩展SMTP(ESMTP)、邮局协议(POP)、POP3、因特网消息访问协议(IMAP)、多用途因特网邮件扩展(MIME)协议、Unix到Unix复制(UUCP)协议、诸如ITU-TX.400协议等国际电信联盟(ITU)协议套件,等等。可以理解,可以实现其他有线通信技术,并且各实施例不限于该上下文。
对于无线通信,例如,传输112-1可包括被设计成通过无线局域网(WLAN)传递信息的无线电装置。传输112-1可被安排成根据不同类型的无线网络系统或协议来提供数据通信功能。提供数据通信服务的合适的无线网络系统的示例可包括电子和电气工程师学会(IEEE)802.xx系列协议,如IEEE802.11a/b/g/n系列标准协议和变型(也被称为“WiFi”)、IEEE802.16系列标准协议和变型(也被称为“WiMAX”)、IEEE802.20系列标准协议和变型,等等。传输112-2可包括被设计成跨一个或多个蜂窝无线电话系统所提供的数据联网链路来传递信息的无线电装置。提供数据通信服务的蜂窝无线电系统的示例可包括带有通用分组无线电服务(GPRS)系统的GSM(GSM/GPRS)、CDMA/1xRTT系统、用于全球进化的增强型数据速率(EDGE)系统、仅数据进化或进化数据优化(EV-DO)系统、数据和语音进化(EV-DV)系统、高速下行链路分组接入(HSDPA)系统、高速上行链路分组接入(HSUPA)系统,等等。可以理解,可以实现其他无线技术,并且各实施例不限于该上下文。
在各实施例中,客户端设备110-1的通信接口109可以实现相同的一组通信参数,从而提供相同或基本上相似的带宽或通信速度。然而,传输112-1、112-2可由应用104-1在不同的时间点进行利用。在一个实施例中,例如,应用104-1可以在第一时间间隔期间传递一个或多个媒体文件114-d,并且在第二时间间隔期间传递带有与该一个或多个媒体文件114-c(例如,链接118-g)有关的信息的消息119。在一个实施例中,例如,第一和第二时间间隔可以完全不连续,其中第一时间间隔的开始时间和结束时间在第二时间间隔的开始时间之前。在一个实施例中,例如,第一和第二时间间隔可以部分重叠,其中第一时间间隔的开始时间在第二时间间隔的开始时间之前,但第一时间间隔的结束时间在第二时间间隔的开始时间之后。各实施例不限于该上下文。
上述实施例的操作可参考一个或多个逻辑流程来进一步描述。可以理解,除非另外指明,否则代表性的逻辑流程不一定要按所呈现的次序或者按任何特定次序来执行。而且,关于逻辑流程描述的各种活动可按串行或并行的方式执行。视给定一组设计和性能约束的需要,逻辑流程可使用所述实施例的一个或多个硬件元件和/或软件元件或替代元件来实现。例如,逻辑流程可被实现为供逻辑设备(例如,通用或专用计算机)执行的逻辑(例如,计算机程序指令)。
图2示出了逻辑流程200的一个实施例。逻辑流程200可表示由在此所描述的一个或多个实施例所执行的操作中的部分或全部。例如,逻辑流程200可以表示由针对相应客户端设备110-1、110-2实现的应用104-1、104-2执行的操作中的一些或全部。具体而言,逻辑流程200可示出在迭代文件共享算法的第一次迭代中该媒体共享组件105的操作。
在图2所示的实施例中,在框202,逻辑流程200可以接收将媒体文件与文档相关联的请求。用户界面108可生成GUI视图,该GUI视图允许用户使用生产力应用104-1创建或编辑文档116-1。例如,文档116-1可包括剪辑画面生产力应用的剪辑画面。剪辑画面可包括来自所选内容文件的数字信息元素的单个合成或集聚以形成单个合成数字信息元素。内容文件的示例可包括媒体文件114-d。在创作剪辑画面时,用户可将媒体文件114-1和文档116-1相关联。
在框204,逻辑流程200可取回到该媒体文件的网络存储位置的第一链接。例如,假定媒体共享组件105的文件管理器模块106-1确定与文档116-1相关联的媒体文件114-1位于本地数据存储(诸如客户端设备110-1的数据存储120)中。在此情况下,文件管理器模块106-1可通过网络130通过到网络存储服务器150-1的通信接口109的高速传输112-1来传递媒体文件114-1。随后文件管理器模块106-1可通知文件引用模块106-2以从网络存储服务器150-1取回到媒体文件114-1的网络存储位置的第一链接118-1。替代地,假定文件管理器模块106-1确定与文档116-1相关联的媒体文件114-1已经被网络存储服务器150-1存储。文件管理器模块106-1可通知文件引用模块106-2以从网络存储服务器150-1取回到媒体文件114-1的网络存储位置的第一链接118-1。
在框206,逻辑流程200可确定第一链接不准许文档接收者对媒体文件的网络存储位置的访问。例如,媒体共享组件105的文件引用模块106-2可确定第一链接118-1是无效链接,该无效链接不准许文档接收者对该媒体文件的网络存储位置的访问。文档接收者可包括客户端设备110-2的用户,该用户接收文档116-1以及相关联的媒体文件114-1。文件引用模块106-2可测试第一链接118-1来通过使用文档接收者的标识符(例如,用户名、网络地址、设备地址等)尝试访问媒体文件114-1来确定它是无效链接。例如,如果网络存储位置是非公开位置,诸如SNS的用户帐户,则第一链接118-1将对不具有访问该非公开位置的许可的客户端设备110-2的用户失效。
在框208,逻辑流程200可确定到准许该文档接收者的访问的媒体文件的网络存储位置的第二链接是否可用。例如,文件引用模块106-2可确定第一链接118-1是无效链接,并尝试取回到网络存储设备150-1上的准许文档接收者的访问的媒体访问文件114-1的第二链接118-2。第二链接118-2的示例可包括词例化的匿名查看URL、到公开网络存储位置的链接、以及任何其他有效链接。
在框210,逻辑流程200可在第二链接可用时将第二链接与文档相关联。例如,当文件引用模块106-2确定第二链接118-2可用,文件引用模块106-2可将第二链接118-2返回到生产力应用104-1。生产力应用104-1可将第二链接118-2作为有效链接与文档116-1相关联。
图3示出了逻辑流程300的一个实施例。逻辑流程300可表示由在此所描述的一个或多个实施例所执行的操作中的部分或全部。例如,逻辑流程300可以表示由针对相应客户端设备110-1、110-2实现的应用104-1、104-2执行的操作中的一些或全部。具体而言,逻辑流程300可示出在迭代文件共享算法的第二次迭代中该媒体共享组件105的操作。
在图3中示出的所示实施例中,在框302,逻辑流程300可确定到该媒体文件的网络存储位置的第二链接不可用。例如,假定文件应用模块106-2确定第二链接118-2(诸如词例化的匿名查看URL)不可用。
在框304,逻辑流程300可确定该网络存储位置的许可能够被修改以准许该文档接收者的访问。例如,文件引用模块106-2可联系网络存储服务器150-1来确定是否可修改媒体文件114-1的网络存储位置的访问许可来准许该文档接收者使用客户端设备110-2的访问。
在框306,逻辑流程300可修改该网络存储位置的许可以准许该文档接收者的访问。例如,文件引用模块106-2可将网络存储服务器150-1的该网络存储位置的许可从私有访问修改为公开访问以准许该文档接收者使用客户端设备110-2访问。
在框308,逻辑流程300可取回到具有经修改的许可的该网络存储位置的第三链接。例如,文件引用模块106-2可取回到具有经修改的许可的网络存储服务器150-1的网络存储位置的第三链接118-3。
在框310,逻辑流程300可以将该第三链接与该文档相关联。文件引用模块106-2可将第三链接118-3返回给生产力应用104-1。生产力应用104-1随后可将第三链接118-3与文档116-1相关联。
图4示出了逻辑流程400的一个实施例。逻辑流程400可表示由在此所描述的一个或多个实施例所执行的操作中的部分或全部。例如,逻辑流程400可以表示由针对相应客户端设备110-1、110-2实现的应用104-1、104-2执行的操作中的一些或全部。具体而言,逻辑流程400可示出在迭代文件共享算法的第三次迭代中该媒体共享组件105的操作。
在图4中示出的所示实施例中,在框402,逻辑流程400可确定该网络存储位置的许可不能够被修改以准许该文档接收者的访问。例如,文件引用模块106-2可确定网络存储服务器150-1的该网络存储位置的许可不能被修改以准许该文档接收者使用客户端设备110-2访问媒体文件114-1。
在框404,逻辑流程400可确定能够从该网络存储位置取回该媒体文件。例如,文件引用模块106-2可联系网络存储服务器150-1来确定是否能从网络存储服务器150-1的网络存储位置下载媒体文件114-1。
在框406,逻辑流程406可从该网络存储位置取回该媒体文件。例如,文件引用模块106-2可将媒体文件114-1从网络存储服务器150-1的网络存储位置下载到客户端设备110-1。
在框408,逻辑流程400可将该媒体文件发送到准许该文档接收者的访问的新网络存储位置。例如,文件引用模块106-2可将媒体文件114-1从客户端设备110-1发送到准许该文档接收者的访问的新网络存储位置,诸如网络存储服务器150-2。
在框410,逻辑流程400可接收到该媒体文件的新网络存储位置的第四链接。例如,文件应用模块106-2可接收到该媒体文件114-1的复制版的网络存储服务器150-2的新网络存储位置的第四链接118-4。
在框412,逻辑流程400可以将该第四链接与该文档相关联。例如,文件引用模块106-2可将第四链接118-4返回给生产力应用104-1。生产力应用104-1随后可将第四链接118-4与文档116-1相关联。
图5示出媒体共享系统100测试到媒体文件114-d的链接的消息流500的一个实施例。在消息流500中,客户端设备110-1的媒体共享组件105可接收将媒体文件114-1与文档116-1相关联的关联请求502。媒体共享组件105可致使客户端设备110-1向网络存储服务器150-1发送链接请求504,该链接请求请求到由网络存储服务器150-1存储的媒体文件114-1的链接118-1。由于链接请求504相对于媒体文件114-1较小的大小,可例如使用较低的带宽传输112-2来发送链接请求504。网络存储服务器150-1可将带有链接118-1的链接响应506发送到客户端设备110-1。媒体共享组件105可执行评估链接操作508来评估链接118-1以确定该链接是有效还是无效链接。如果链接118-1是有效链接,则可将该链接传递到生产力应用104-1来嵌入到文档116中以供客户端设备110-2的用户用来在查看文档116时访问媒体文件114-1。
在链接118-1是无效链接的情况下,媒体共享组件105可发送对新链接118-2(诸如例如词例化的匿名URL)的链接请求510。网络存储服务器150-1可确定它是否具有新链接118-2,并且如果有,则将带有新链接118-2的链接响应512发送到客户端设备110-1。媒体共享组件105可将新链接118-2与文档116-1嵌在一起,并将带有文档116-1和新链接118-2的通知消息514发送到客户端设备110-2。
图6示出媒体共享系统110修改媒体文件114-d的网络存储位置的许可的消息流600的一个实施例。在消息流600中,媒体共享组件105可执行评估链接操作602并确定新链接118-2不可用。媒体共享组件105可致使客户端设备110-1发送修改请求604以修改网络存储服务器150-1的许可以准许文档接收者的访问。网络存储服务器150-1可发送指示许可是否可以被修改的修改响应606。当修改响应606指示修改成功608时,媒体共享组件105可发送对新链接118-3的链接请求610以访问带有对网络存储服务器150-1的经修改的许可的网络存储位置处的媒体文件。网络存储服务器150-1可发送带有新链接118-3的链接响应612。媒体共享组件105可将新链接118-3与文档116-1嵌在一起,并将带有文档116-1和新链接118-3的通知消息614发送到客户端设备110-2。
图7示出媒体共享系统100将媒体文件复制到新的存储位置的消息流700的一个实施例。在消息流700中,媒体共享组件105可从修改响应606接收修改失败702。在此情况下,媒体共享组件105可发送将媒体文件114-1从网络存储服务器150-1复制到网络存储服务器150-2的复制请求704。网络存储服务器150-1可发送指示复制操作是否成功的复制响应706和/或媒体文件114-1的副本(例如,经由下载)。当存在复制成功708时,媒体共享组件105可将带有媒体文件114-1的文件存储请求710发送到网络存储服务器150-2。网络存储服务器150-2可存储媒体文件114-1,并发送指示媒体文件114-1被存储的文件存储响应712以及带有新网络存储位置的新链接118-4。媒体共享组件105可将新链接118-4与文档116-1嵌在一起,并将带有文档116-1和新链接118-4的通知消息714发送到客户端设备110-2。
图8示出媒体共享系统100通过客户端设备110-2访问来自一网络存储位置的媒体文件114-d的消息流800的一个实施例。在消息流800中,客户端设备110-2的生产力应用104-2可接收带有文档116-1和到相关联的媒体文件114-d的一个或多个链接118-g的消息。客户端设备110-2的用户可使用生产力应用104-2的用户界面108来打开并查看文档116-1。当文档116-1是剪辑画面文档时,文档116-1可具有各个磁贴(tile)对象,所述磁贴对象呈现来自每一个相关联的媒体文件114-d的信息的片段。当用户期望从相关联的媒体文件114-d取回更多信息时,用户可执行选择链接操作802来选择磁贴对象的内嵌链接118-g和/或选择带有内嵌链接118-g的磁贴对象。生产力应用104-2的媒体共享组件105可向存储相关联的媒体文件114-d的网络存储服务器150-1、150-2发送文件访问请求804。网络存储服务器150-1、150-2可向客户端设备110-2发送带有相关联的媒体文件114-d的文件访问响应806以允许用户的查看文件操作808。随后用户可以能够访问媒体文件114-d的全保真版本。
图9示出用于媒体共享系统100的集中式系统900的一个实施例。集中式系统900可在单个计算实体(诸如完全在单个设备920内)中实现系统100的结构和/或操作的一些或全部。
设备902可包括能够为系统100接收、处理和发送信息的任何电子设备。电子设备的示例可包括但不限于:超移动设备、移动设备、个人数字助理(PDA)、移动计算设备、智能电话、电话、数字电话、蜂窝电话、电子书阅读器、手机、单向寻呼机、双向寻呼机、消息收发设备、计算机、个人计算机(PC)、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、手持式计算机、平板计算机、服务器、服务器阵列或服务器场、web服务器、网络服务器、因特网服务器、工作站、小型计算机、大型计算机、超级计算机、网络设备、web设备、分布式计算系统、多处理器系统、基于处理器的系统、消费电子产品、可编程消费电子产品、游戏设备、电视机、数字电视机、机顶盒、无线接入点、基站、用户站、移动用户中心、无线电网络控制器、路由器、集线器、网关、网桥、交换机、机器、或其组合。各实施例不限于该上下文。
设备920可使用处理组件930执行系统100的处理操作或逻辑。处理组件930可包括各种硬件元素、软件元素或两者的组合。硬件元件的示例可以包括:设备、逻辑设备、组件、处理器、微处理器、电路、处理器电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元件的示例可以包括:软件组件、程序、应用、计算机程序、应用程序、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或其任意组合。确定一实施例是否使用硬件元件和/或软件元件来实现可视给定实现所需根据任何数量的因素而变化,这些因素如所需计算速率、功率级、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其它设计或性能约束。
设备920可使用通信组件940来执行系统100的通信操作或逻辑。通信组件940可以实现任何公知的通信技术和协议,如适用于与分组交换网络(例如,诸如因特网等公共网络、诸如企业内联网等专有网络,等等)、电路交换网络(例如,公共交换电话网)、或分组交换网络和电路交换网络的组合(使用合适的网关和转换器)一起使用的技术。通信组件940可以包括各种类型的标准通信元件,如一个或多个通信接口、网络接口、网络接口卡(NIC)、无线电、无线发射机/接收机(收发机)、有线和/或无线通信介质、物理连接器等。作为示例而非限制,通信介质912、942包括有线通信介质和无线通信介质。有线通信介质的示例可以包括导线、电缆、金属线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤、所传播的信号等。无线通信介质的示例可以包括声学、射频(RF)频谱、红外和其他无线介质。
设备920可经由通信组件940使用通信信号914、944分别通过通信介质912、942与其他设备910、950通信。按照给定实现的需要,设备910、950可以内置于或外置于设备920。
集中式系统900示出了其中整个媒体共享系统100(除客户端设备110-1、110-2之外)在单一设备或设备阵列(诸如用于云计算体系结构的服务器阵列或模块化计算平台)上实现的情况。在此情况下,生产力应用104-1、104-2可被实现为能够经由web浏览器或生产力应用104-3的瘦客户端应用版本经由客户端设备110-1、110-2访问的单一生产力应用104-3。生产力应用104-3可被用来生成带有链接118-1的文档116-1、消费带有链接118-1的文档116-1等等。类似地,网络存储服务器150-1、150-2可以实现为与服务器阵列一起被托管的单一网络存储服务器150-3。在此情况下,网络130可以被实现为连接服务器阵列内的各服务器的背板或交换机光纤(fabric)。
图10示出用于媒体共享系统100的分布式系统1000的一个实施例。分布式系统1000可使媒体共享系统100的结构和/或操作的各部分跨多个计算实体分布。分布式系统1000的示例可包括但不限于,客户端-服务器体系结构、3层体系结构、N层体系结构、紧耦合或群集的体系结构、对等体系结构、主-从体系结构、共享数据库体系结构、以及其他类型的分布式系统。各实施例不限于该上下文。
分布式系统1000可包括客户端设备1010和服务器设备1050。一般而言,客户端设备1010和服务器设备1050可以与参考图9描述的客户端设备920相同或类似。例如,客户端设备1010和服务器设备1050可各自包括分别与参考图9描述的处理组件930和通信组件940相同或类似的处理组件1030和通信组件1040。在另一示例中,设备1010、1050可经由通信组件1040使用通信信号1014通过通信介质1012通信。
客户端设备1010可包括或采用一个或多个客户端程序,所述客户端程序操作以执行根据所描述的各实施例的各方法。例如,在一个实施例中,客户端设备1010可实现生产力客户端应用1012。生产力客户端应用1012可以是生产力应用104-c的瘦客户端版本。例如,生产力客户端应用1012可以是被具体设计成查看用于生产力应用104-c的文档116-f的查看应用。客户端设备1010可进一步实现web浏览器1014以访问由服务器设备1050托管的生产力应用104-c。
服务器设备1050可包括或采用一个或多个服务器程序,所述服务器程序操作以执行根据所描述的各实施例的各方法。在一个实施例中,例如,服务器设备1050可按照与集中式系统900类似的配置实现媒体共享系统100。客户端设备1010可经由生产力客户端应用1012和/或web浏览器1014使用生产力软件104-c和被实现为服务器设备1050的一部分的网络存储服务器150-b来创建和访问具有相关联的媒体文件114-d的文档116-f。客户端设备1010还可经由生产力客户端应用1012和/或web浏览器1014使用被实现为服务器设备1050的一部分的消息应用1020来创建和访问消息119。
图11示出适于实现前述各实施例(诸如媒体共享系统的各设备)的示例性计算体系结构1100的一个实施例。在一个实施例中,计算体系结构1100可包括如参考图9描述的电子设备设备的一部分或作为该电子设备的一部分实现。各实施例不限于该上下文。
如在本申请中所使用的,术语“系统”和“组件”旨在表示计算机相关的实体,其可以是硬件、硬件和软件的组合、软件、或者执行中的软件,其示例由示例性计算体系结构1100提供。例如,组件可以是但不限于,在处理器上运行的进程、处理器、硬盘驱动器、多个(光和/或磁存储介质的)存储驱动器、对象、可执行代码、执行的线程、程序、和/或计算机。作为说明,在服务器上运行的应用和服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以位于一个计算机上和/或分布在两个或更多的计算机之间。此外,组件可以通过各种类型的通信介质可通信地彼此耦合以协调操作。该协调可以涉及单向或双向信息交换。例如,组件可以传递通过通信介质传递的信号形式的信息。该信息可被实现成分配给各条信号线的信号。在这些分配中,每一消息都是信号。然而,其他实施方式可另选地采用数据消息。这些数据消息可以跨各个连接发送。示例性连接包括并行接口、串行接口和总线接口。
计算体系结构1100包括各种常见计算元件,如一个或多个处理器、多核处理器、协同处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件、电源,等等。然而,各实施方式不限于由计算体系结构1100来实现。
如图11所示,计算体系结构1100包括处理单元1104、系统存储器1106以及系统总线1108。处理器单元可以是可购得的各种处理器中的任何一种,包括但不限于:处理器;应用、嵌入和安全处理器; 处理器;IBM和Cell处理器;Core(2) 处理器;以及类似处理器。双微处理器、多核处理器和其它多处理器体系结构也可用作处理单元1104。
系统总线1108向包括但不限于系统存储器1106的各系统组件提供到处理单元1104的接口。系统总线1108可以是若干种总线结构中的任一种,这些总线结构还可互连到存储器总线(带有或没有存储器控制器)、外围总线、以及使用各类市场上可购买到的总线体系结构中的任一种的局部总线。接口适配器可经由插槽体系结构连接到系统总线1108。示例性的插槽体系结构可包括但不限于:加速图形端口(AGP)、卡总线、(扩展)工业标准体系结构((E)ISA)、微通道体系结构(MCA)、NuBus、外围组件互连(扩展)(PCI(X))、PCIExpress、个人计算机存储卡国际联合会(PCMCIA)、等等。
计算体系结构1100可包括或实现各种制品。制品可包括存储逻辑的计算机可读的存储介质。计算机可读存储介质的示例可包括能够存储电子数据的任何有形介质,包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器等。逻辑的示例可包括使用任何合适类型的代码(诸如源代码、已编译代码、已解释代码、可执行代码、静态代码、动态代码、面向对象代码、可视代码等)实现的可执行计算机程序指令。
系统存储器1106可以包括一个或多个更高速的存储器单元的形式的各种类型的计算机可读存储介质,如只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双倍数据率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、诸如铁电聚合物存储器等聚合物存储器、奥氏存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、磁卡或光卡、诸如独立磁盘冗余阵列(RAID)驱动器等设备阵列、固态存储器设备(例如,USB存储器、固态驱动器(SSD))、和适于存储信息的任何其他类型的介质。在图11示出的所示实施方式中,系统存储器1106可包括非易失性存储器1110和/或易失性存储器1112。基本输入/输出系统(BIOS)可以存储在非易失性存储器1110中。
计算机1102可包括一个或多个较低速的存储器单元的形式的各种类型的计算机可读存储介质,包括内置(或外置)硬盘驱动器(HDD)1114、用于读写可移动磁盘1118的磁软盘驱动器(FDD)1116、以及用于读写可移动光盘1122(例如,CD-ROM或DVD)的光盘驱动器1120。HDD1114、FDD1116、以及光盘驱动器1120可分别由HDD接口1124、FDD接口1126和光盘驱动器接口1128连接到系统总线1108。用于外置驱动器实现的HDD接口1124可包括通用串行总线(USB)和IEEE1394接口技术中的至少一种或两者。
驱动器及相关联的计算机可读介质提供了对数据、数据结构、计算机可执行指令等的易失性和/或非易失性存储。例如,多个程序模块可存储在驱动器和存储器单元1110、1112中,包括操作系统1130、一个或多个应用程序1132、其他程序模块1134和程序数据1136。在一个实施例中,这一个或多个应用程序1132、其他程序模块1134、以及程序数据1136可包括例如媒体共享系统100的各应用和/或组件。
用户可以通过一个或多个有线/无线输入设备,例如键盘1138和诸如鼠标1140等定点设备将命令和信息输入到计算机1102中。其他输入设备可包括:红外(IR)遥控器、射频(RF)遥控器、游戏垫、指示笔、读卡器、道尔芯片、指纹读取器、手套、图形板、操纵杆、键盘、视网膜读取器、触摸屏(例如,电容式触摸屏、电阻式触摸屏等)、跟踪球、跟踪垫、传感器、指示设备等等。这些和其他输入设备通常通过耦合到系统总线1108的输入设备接口1142连接到处理单元1104,但也可通过诸如并行端口、IEEE1394串行端口、游戏端口、USB端口、IR接口等其他接口连接。
监视器1144或其他类型的显示设备也经由诸如视频适配器1146等接口连接到系统总线1108。监视器1144可以在计算机1102的内部或外部。除了监视器1144之外,计算机通常包括诸如扬声器、打印机等其他外围输出设备。
计算机1102可使用经由有线和/或无线通信至一个或多个远程计算机(诸如远程计算机1148)的逻辑连接在联网环境中操作。远程计算机1148可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点,并且通常包括相对于计算机1102描述的许多或所有元件,但为简明起见仅示出了存储器/存储设备1150。所描绘的逻辑连接包括到局域网(LAN)1152和/或例如广域网(WAN)1154等更大网络的有线/无线连接。这种LAN和WAN联网环境常见于办公室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。
当在LAN联网环境中使用时,计算机1102通过有线和/或无线通信网络接口或适配器1156连接到LAN1152。适配器1156可以方便到LAN1152的有线和/或无线通信,并且还可包括其上设置的用于使用适配器1156的无线功能进行通信的无线接入点。
当在WAN联网环境中使用时,计算机1102可包括调制解调器1158,或连接到WAN1154上的通信服务器,或具有用于诸如通过因特网等通过WAN1154建立通信的其它装置。或为内置或为外置以及有线和/或无线设备的调制解调器1158经由输入设备接口1142连接到系统总线1108。在联网环境中,相对于计算机1102所描绘的程序模块或其部分可以存储在远程存储器/存储设备1150中。应该理解,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
计算机1102可用于使用IEEE802标准族与有线和无线设备或实体通信,诸如可操作地置于无线通信(例如,通过空中调制技术的IEEE802.11)的无线设备。这至少包括Wi-Fi(即无线保真)、WiMax和蓝牙TM无线技术等。由此,通信可以如对于常规网络那样是预定义结构,或者仅仅是至少两个设备之间的自组织(adhoc)通信。Wi-Fi网络使用称为IEEE802.11x(a、b、n、g等等)的无线电技术来提供安全、可靠、快速的无线连接。Wi-Fi网络可用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用IEEE802.3相关的介质和功能)。
图12示出适用于实现如前所述的各实施例(诸如媒体共享系统100)的示例性通信体系结构1200的框图。通信体系结构1200包括各种常见通信元件,如发射机、接收机、收发机、无线电装置、网络接口、基带处理器、天线、放大器、滤波器、电源,等等。然而,各实施方式不限于由通信体系结构1200来实现。
如图12所示,通信体系结构1200包括一个或多个客户端1202和服务器1204。客户端1202可实现客户端设备910。服务器1204可实现服务器设备950。客户端1202和服务器1204可操作地连接到可被用来存储相应客户端1202和服务器1204本地的信息(如cookie和/或相关联的上下文信息)的一个或多个相应客户端数据存储1208和服务器数据存储1210。
客户端1202和服务器1204可以使用通信框架1206在彼此之间传递信息。通信框架1206可实现任何公知的通信技术和协议。通信框架1206可以被实现为分组交换网络(例如,诸如因特网等公共网络、诸如企业内联网等专有网络,等等)、电路交换网络(例如,公共交换电话网)、或分组交换网络和电路交换网络的组合(使用合适的网关和转换器)。
通信框架1206可实现被安排成接受、通信、并连接到通信网络的各种通信接口。网络接口可被看作一种专门形式的输入输出接口。网络接口可采用连接协议,包括但不限于:直接连接、以太网(例如,厚、薄、双绞10/100/1000BaseT等等)、令牌环、无线网络接口、蜂窝网络接口、IEEE802.11a-x网络接口、IEEE802.16网络接口、IEEE802.20网络接口等。而且,可使用多个网络接口来与各种通信网络类型结合。例如,可采用多个网络接口来允许通过广播、多播和单播网络通信。如果处理要求规定了更大量的速度和容量,则可类似地使用分布式网络控制器体系结构来汇合(pool)、负载平衡、以及以其他方式增加客户端1202和服务器1204所需的通信带宽。通信网络可以是有线和/或无线通信网络中的任何一个或其组合,所述有线和/或无线通信网络包括但不限于:直接互连、安全定制连接、私有网络(例如,企业内网)、公共网络(例如,因特网)、个人区域网络(PAN)、局域网(LAN)、城域网(MAN)和操作任务即因特网上的节点(OMNI)、广域网(WAN)、无线网络、蜂窝网络、以及其他通信网络。
一些实施例可使用表述“一个实施例”和“一实施例”及其派生词来描述。这些术语意味着结合该实施例描述的特定特征、结构、或特性包括在至少一个实施例中。出现在说明书中各个地方的短语在一个实施例中摂并不必全都指的是同一实施例。此外,一些实施例可使用表述“耦合的”和“连接的”及其派生词来描述。这些术语不必旨在互为同义词。例如,一些实施例可使用术语“连接的”和/或“耦合的”来描述以指示两个或更多元件彼此有直接的物理或电接触。然而,术语“耦合的”还可以意味着两个或更多元件彼此不直接接触,而仍彼此合作或交互。
要强调,本公开的摘要是为了允许读者快速确定本技术公开的性质而提供的。提交摘要的同时要明白,将不用它来解释或限制权利要求的范围或含义。另外,在前面的详细描述中,可以看到,出于将本公开连成一个整体的目的而将各种特征组合在一起放在单个实施方式中。此公开方法将不被解释为反映所要求保护的实施方式要求比每个权利要求中明确陈述的更多特征的意图。相反,如所附权利要求书所反映,发明性的主题存在于比单个已公开实施方式的所有特征少的特征中。从而,据此将所附权利要求结合进详细描述中,其中每个权利要求独立地代表一个单独的实施方式。在所附权利要求书中,术语“包括”和“其中”分别用作术语“包含”和“其特征在于”的易懂的英文等价词。而且,术语“第一”、“第二”、“第三”等等只用作标记,而不旨在将数字要求强加于其对象上。
上面描述的包括所公开的体系结构的各示例。当然,描述每一个可以想到的组件和/或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,许多其他组合和排列都是可能的。因此,该新颖体系结构旨在涵盖所有这些落入所附权利要求书的精神和范围内的更改、修改和变化。

Claims (12)

1.一种用于共享媒体文件的装置,包括:
处理器(102);以及
通信地耦合到所述处理器的存储器(103),所述存储器存储具有媒体共享组件(105)的应用(104),所述媒体共享组件操作以在所定义的一组用户间共享媒体文件(114),所述媒体共享组件包括文件管理器模块(106-1)和文件引用模块(106-2),所述文件管理器模块操作以确定所述媒体文件的网络存储位置,所述文件引用模块操作以自动生成到所述媒体文件的所述网络存储位置的有效链接(118),所述有效链接被安排成准许所述所定义的一组用户访问所述媒体文件的所述网络存储位置,所述文件引用模块操作以确定当前链接是否准许所述所定义的一组用户访问所述媒体文件的所述网络存储位置,并且如果不准许,则生成准许所述所定义的一组用户访问所述媒体文件的所述网络存储位置的有效链接。
2.如权利要求1所述的装置,其特征在于,所述文件管理器模块操作以确定所述媒体文件是本地媒体文件还是远程媒体文件,并且当所述媒体文件是本地媒体文件时将所述媒体文件发送到网络存储服务器(150)。
3.如权利要求1所述的装置,其特征在于,所述文件引用模块操作以取回到所述媒体文件的所述网络存储位置的所述当前链接。
4.如权利要求1所述的装置,其特征在于,所述文件引用模块操作以取回所述网络存储位置的词例化的匿名查看统一资源定位符(URL),并且生成作为包括所述词例化的匿名查看URL的引用的有效链接。
5.如权利要求1所述的装置,其特征在于,所述文件引用模块操作以将所述媒体文件从所述网络存储位置复制到不同网络存储位置,所述不同网络存储位置准许所述所定义的一组用户对所述媒体文件的访问,并且生成作为到被复制的媒体文件的所述不同网络存储位置的引用的有效链接。
6.如权利要求1所述的装置,其特征在于,所述应用将所述有效链接与文档相关联,并且将所述文档和所述有效链接发送到作为所述所定义的一组用户的一组文档接收者。
7.一种用于共享媒体文件的计算机实现的方法,包括:
接收将媒体文件与文档相关联的请求;(202)
取回到所述媒体文件的网络存储位置的第一链接;(204)
确定所述第一链接不准许文档接收者访问所述媒体文件的所述网络存储位置;(206)
确定准许所述文档接收者的访问的、到所述媒体文件的所述网络存储位置的第二链接是否可用;(208)以及
当所述第二链接可用时将所述第二链接与所述文档相关联。(210)
8.如权利要求7所述的计算机实现的方法,其特征在于,包括:
确定到所述媒体文件的所述网络存储位置的所述第二链接不可用;(302)
确定是否能够修改所述网络存储位置的许可以准许所述文档接收者的访问;(304)
当能够修改所述网络存储位置的许可以准许所述文档接收者的访问时,修改所述网络存储位置的许可以准许所述文档接收者的访问;(306)
取回到具有经修改的许可的所述网络存储位置的第三链接;(308)以及
将所述第三链接与所述文档相关联。(310)
9.如权利要求7所述的计算机实现的方法,其特征在于,包括确定到所述媒体文件的所述网络存储位置的所述第二链接不可用;
确定不能够修改所述网络存储位置的许可以准许所述文档接收者的访问;(402)
确定是否能够从所述网络存储位置取回所述媒体文件;(404)
当能够从所述网络存储位置取回所述媒体文件时,从所述网络存储位置取回所述媒体文件;(406)
将所述媒体文件发送到准许所述文档接收者的访问的新网络存储位置;(408)
接收到所述媒体文件的所述新网络存储位置的第四链接;(410)以及
将所述第四链接与所述文档相关联。(412)
10.一种用于共享媒体文件的计算机实现的系统,包括:
用于接收将媒体文件与文档相关联的请求的装置;
用于取回到所述媒体文件的网络存储位置的第一链接的装置;
用于确定所述第一链接不准许文档接收者访问所述媒体文件的所述网络存储位置的装置;
用于确定准许所述文档接收者的访问的、到所述媒体文件的所述网络存储位置的第二链接是否可用的装置;以及
用于当所述第二链接可用时将所述第二链接与所述文档相关联的装置。
11.如权利要求10所述的计算机实现的系统,其特征在于,包括:
用于确定到所述媒体文件的所述网络存储位置的所述第二链接不可用的装置;
用于确定是否能够修改所述网络存储位置的许可以准许所述文档接收者的访问的装置;
用于当能够修改所述网络存储位置的许可以准许所述文档接收者的访问时,修改所述网络存储位置的许可以准许所述文档接收者的访问的装置;
用于取回到具有经修改的许可的所述网络存储位置的第三链接的装置;以及
用于将所述第三链接与所述文档相关联的装置。
12.如权利要求10所述的计算机实现的系统,其特征在于,包括用于确定到所述媒体文件的所述网络存储位置的所述第二链接不可用的装置;
用于确定不能够修改所述网络存储位置的许可以准许所述文档接收者的访问的装置;
用于确定是否能够从所述网络存储位置取回所述媒体文件的装置;
用于当能够从所述网络存储位置取回所述媒体文件时,从所述网络存储位置取回所述媒体文件的装置;
用于将所述媒体文件发送到准许所述文档接收者的访问的新网络存储位置的装置;
用于接收到所述媒体文件的所述新网络存储位置的第四链接的装置;以及
用于将所述第四链接与所述文档相关联的装置。
CN201210419134.8A 2011-10-27 2012-10-26 共享媒体文件的技术 Active CN103023962B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/282,595 2011-10-27
US13/282,595 US10733151B2 (en) 2011-10-27 2011-10-27 Techniques to share media files

Publications (2)

Publication Number Publication Date
CN103023962A CN103023962A (zh) 2013-04-03
CN103023962B true CN103023962B (zh) 2016-02-10

Family

ID=47972088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210419134.8A Active CN103023962B (zh) 2011-10-27 2012-10-26 共享媒体文件的技术

Country Status (2)

Country Link
US (1) US10733151B2 (zh)
CN (1) CN103023962B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548090A (zh) * 2016-10-31 2017-03-29 努比亚技术有限公司 一种网络文件保护方法及web服务器

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130110832A1 (en) * 2011-10-27 2013-05-02 Microsoft Corporation Techniques to determine network addressing for sharing media files
US10733151B2 (en) 2011-10-27 2020-08-04 Microsoft Technology Licensing, Llc Techniques to share media files
US20140096044A1 (en) * 2012-10-02 2014-04-03 Samsung Electronics Co., Ltd. Electronic system with content presentation mechanism and method of operation thereof
US8904019B2 (en) * 2013-01-14 2014-12-02 Google Inc. Systems and methods for computing device communications
US9104742B1 (en) * 2013-03-13 2015-08-11 Emc Corporation Method and system for optimized parallel queuing
JP6370033B2 (ja) * 2013-07-29 2018-08-08 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
WO2015067732A1 (en) * 2013-11-11 2015-05-14 Thomson Licensing Method for sharing a media file within a group of devices in a network, and respective system
US8954605B1 (en) * 2014-04-07 2015-02-10 Noson Hecht System and method for providing controlled communications
US10511608B2 (en) 2014-10-30 2019-12-17 Lenovo (Singapore) Pte. Ltd. Aggregate service with file sharing
CN104794188B (zh) * 2015-04-15 2020-05-05 努比亚技术有限公司 文件定位方法及装置
US10785282B2 (en) * 2015-12-17 2020-09-22 Dropbox, Inc. Link file sharing and synchronization
US20170364692A1 (en) * 2016-06-15 2017-12-21 Microsoft Technology Licensing, Llc Electronic file sharing link granularity
US10635828B2 (en) 2016-09-23 2020-04-28 Microsoft Technology Licensing, Llc Tokenized links with granular permissions
WO2018074618A1 (ko) * 2016-10-18 2018-04-26 스노우 주식회사 영상을 위한 효과 공유 방법 및 시스템
US10244052B2 (en) * 2016-11-23 2019-03-26 Facebook, Inc. Tiered infrastructure for handling data
US10558817B2 (en) * 2017-01-30 2020-02-11 Foley & Lardner LLP Establishing a link between identifiers without disclosing specific identifying information
US10671589B2 (en) * 2017-03-03 2020-06-02 Salesforce.Com, Inc. Synergizing real-time and polling connectors for data ingestion
US10867060B2 (en) * 2018-06-22 2020-12-15 Anchored Home, LLC Event premises media control for training and performance
CN112753028B (zh) * 2018-09-28 2024-07-12 亚马逊科技公司 远程储存库的客户端侧文件系统
CN110677489B (zh) * 2019-09-30 2022-07-12 北京奇艺世纪科技有限公司 媒体资源处理方法、装置、系统及存储介质
CN112131844A (zh) * 2020-10-10 2020-12-25 北京字跳网络技术有限公司 在线文档的编辑方法、装置及电子设备
CN113271343A (zh) * 2021-04-28 2021-08-17 华录光存储研究院(大连)有限公司 一种数据下载、上传的方法及电子设备

Family Cites Families (159)

* 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
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
US5819284A (en) 1995-03-24 1998-10-06 At&T Corp. Personalized real time information display as a portion of a screen saver
US7272639B1 (en) 1995-06-07 2007-09-18 Soverain Software Llc Internet server access control and monitoring systems
US6807558B1 (en) 1995-06-12 2004-10-19 Pointcast, Inc. Utilization of information “push” technology
GB9604987D0 (en) 1996-03-08 1996-05-08 Ibm Data management system and method for replicated data
US5890181A (en) 1996-11-14 1999-03-30 Kurzwell Applied Intelligence, Inc. System and method for remotely grouping contents of an action history stack
US6026474A (en) 1996-11-22 2000-02-15 Mangosoft Corporation Shared client-side web caching using globally addressable memory
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
EP1036357A1 (en) 1997-11-14 2000-09-20 Avesta Technologies Inc. System and method for displaying multiple sources of data in near real-time
US6067551A (en) 1997-11-14 2000-05-23 Microsoft Corporation Computer implemented method for simultaneous multi-user editing of a document
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
US6192378B1 (en) 1998-05-13 2001-02-20 International Business Machines Corporation Method and apparatus for combining undo and redo contexts in a distributed access environment
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
US6360254B1 (en) 1998-09-15 2002-03-19 Amazon.Com Holdings, Inc. System and method for providing secure URL-based access to private resources
US6523134B2 (en) 1998-09-18 2003-02-18 International Business Machines Corporation Selective undo
US6510553B1 (en) 1998-10-26 2003-01-21 Intel Corporation Method of streaming video from multiple sources over a network
US6243676B1 (en) 1998-12-23 2001-06-05 Openwave Systems Inc. Searching and retrieving multimedia information
US6584466B1 (en) 1999-04-07 2003-06-24 Critical Path, Inc. Internet document management system and methods
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
US7987431B2 (en) 1999-10-29 2011-07-26 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US7028264B2 (en) 1999-10-29 2006-04-11 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
US8046795B2 (en) 2000-02-03 2011-10-25 Sony Corporation Method and system for directing the generation of a video media event in a generation system based on a media event protocol file such that the video media event remains visible at a predetermined location in a second web page while a user navigates from a first web page to the second web page which does not refer to the video media event
US7054905B1 (en) * 2000-03-30 2006-05-30 Sun Microsystems, Inc. Replacing an email attachment with an address specifying where the attachment is stored
WO2002013035A1 (en) 2000-08-07 2002-02-14 Active Data Exchange, Inc. Syndication methodology to dynamically place digital assets on non-related web sites
AU2001287421A1 (en) 2000-08-21 2002-03-04 Thoughtslinger Corporation Simultaneous multi-user document editing system
JP2002108840A (ja) 2000-09-28 2002-04-12 Toshiba Corp 分散型注文受付システム、受付サーバ、コンテンツサーバ、分散型注文受付方法及びコンピュータプログラム製品
EP1204048A1 (en) 2000-11-03 2002-05-08 Sun Microsystems, Inc. Method and apparatus for handling scenarios in spreadsheet documents
US6772154B1 (en) 2000-11-16 2004-08-03 Sun Microsystems, Inc. Implementation of nested databases using flexible locking mechanisms
US20030079136A1 (en) 2001-08-21 2003-04-24 Emmanuel Ericta Security framework
US7370269B1 (en) 2001-08-31 2008-05-06 Oracle International Corporation System and method for real-time annotation of a co-browsed document
US7260555B2 (en) 2001-12-12 2007-08-21 Guardian Data Storage, Llc Method and architecture for providing pervasive security to digital assets
US6971017B2 (en) 2002-04-16 2005-11-29 Xerox Corporation Ad hoc secure access to documents and services
US7823060B2 (en) 2002-06-07 2010-10-26 Microsoft Corporation Undo/redo architecture across multiple files
US7512972B2 (en) 2002-09-13 2009-03-31 Sun Microsystems, Inc. Synchronizing for digital content access control
CN1244874C (zh) 2002-10-12 2006-03-08 鸿富锦精密工业(深圳)有限公司 多点协同作业系统及方法
US7222363B2 (en) 2002-10-18 2007-05-22 American Express Travel Related Services Company, Inc. Device independent authentication system and method
US20040177343A1 (en) 2002-11-04 2004-09-09 Mcvoy Lawrence W. Method and apparatus for understanding and resolving conflicts in a merge
US20040162878A1 (en) 2002-11-22 2004-08-19 Lewis Michael Pescatello System and method to facilitate real-time communications and content sharing among users over a network
US7536713B1 (en) 2002-12-11 2009-05-19 Alan Bartholomew Knowledge broadcasting and classification system
CN1729276A (zh) 2002-12-19 2006-02-01 皇家飞利浦电子股份有限公司 用于网络下载音乐文件的方法和系统
KR100462839B1 (ko) 2002-12-24 2004-12-23 한국전자통신연구원 모바일 환경에서의 이동 클라이언트와 서버간의 데이터동기화 및 갱신 충돌 해결 방법
US8364951B2 (en) 2002-12-30 2013-01-29 General Instrument Corporation System for digital rights management using distributed provisioning and authentication
CA2422176C (en) 2003-03-14 2009-07-21 Ibm Canada Limited - Ibm Canada Limitee Method and apparatus for interrupting updates to a database to provide read-only access
US20040257610A1 (en) 2003-03-20 2004-12-23 Masanori Itoh Service providing apparatus that shares print environments
US7836493B2 (en) 2003-04-24 2010-11-16 Attachmate Corporation Proxy server security token authorization
US7979804B1 (en) 2003-04-28 2011-07-12 Adobe Systems Incorporated Cross-view undo/redo for multi-view editing environments
US7207034B2 (en) 2003-06-23 2007-04-17 Microsoft Corporation Undo infrastructure
US7143117B2 (en) 2003-09-25 2006-11-28 International Business Machines Corporation Method, system, and program for data synchronization by determining whether a first identifier for a portion of data at a first source and a second identifier for a portion of corresponding data at a second source match
JP2005141635A (ja) 2003-11-10 2005-06-02 Sony Corp コンテンツ共有システム,コンテンツ処理装置,情報処理装置,プログラム,記録媒体,コンテンツ共有方法
US7707210B2 (en) 2003-12-18 2010-04-27 Xerox Corporation System and method for multi-dimensional foraging and retrieval of documents
US20050177617A1 (en) 2003-12-23 2005-08-11 Intel Corporation Conflict resolution during data synchronization
US7269590B2 (en) 2004-01-29 2007-09-11 Yahoo! Inc. Method and system for customizing views of information associated with a social network user
CN101019115B (zh) * 2004-03-18 2012-04-18 安德鲁·彼得·利布曼 用于多工作站/多平台非线性视频编辑系统的媒体文件访问和存储解决方案
US7818679B2 (en) 2004-04-20 2010-10-19 Microsoft Corporation Method, system, and apparatus for enabling near real time collaboration on an electronic document through a plurality of computer systems
JP4725038B2 (ja) 2004-06-03 2011-07-13 ソニー株式会社 コンテンツ共有システム及びコンテンツ重要度判定方法
US7711647B2 (en) 2004-06-10 2010-05-04 Akamai Technologies, Inc. Digital rights management in a distributed network
US8819569B2 (en) 2005-02-18 2014-08-26 Zumobi, Inc Single-handed approach for navigation of application tiles using panning and zooming
US7792788B2 (en) 2005-03-04 2010-09-07 Microsoft Corporation Method and system for resolving conflicts operations in a collaborative editing environment
US7499955B2 (en) 2005-03-30 2009-03-03 Microsoft Corporation System and method for undoing application actions using inverse actions with atomic rollback
US20060286536A1 (en) 2005-04-01 2006-12-21 Sherman Mohler System and method for regulating use of content and content styles in a distributed learning system
US20080120196A1 (en) 2005-04-07 2008-05-22 Iofy Corporation System and Method for Offering a Title for Sale Over the Internet
US7734732B2 (en) * 2005-05-12 2010-06-08 At&T Mobility Ii Llc System, apparatus and methods for storing links to media files in network storage
US7784087B2 (en) 2005-08-04 2010-08-24 Toshiba Corporation System and method for securely sharing electronic documents
US7681238B2 (en) 2005-08-11 2010-03-16 Microsoft Corporation Remotely accessing protected files via streaming
US7933632B2 (en) 2005-09-16 2011-04-26 Microsoft Corporation Tile space user interface for mobile devices
US7996436B2 (en) 2005-09-23 2011-08-09 Livebinders, Inc. Media management system
US20070088729A1 (en) 2005-10-14 2007-04-19 International Business Machines Corporation Flexible history manager for manipulating data and user actions
US8543637B2 (en) 2006-01-18 2013-09-24 At&T Intellectual Property I, L.P. Distributed web publishing
US20090248794A1 (en) 2008-03-26 2009-10-01 Time Warner Cable Inc System and method for content sharing
US8689102B2 (en) 2006-03-31 2014-04-01 Ricoh Company, Ltd. User interface for creating and using media keys
KR100869946B1 (ko) 2006-04-06 2008-11-24 삼성전자주식회사 컨텐츠 관리 서버 및 그의 컨텐츠 관리방법
GB0610116D0 (en) 2006-05-20 2006-06-28 Ibm A method, apparatus and computer program for collaborative editing of a document
US8407670B2 (en) 2006-06-02 2013-03-26 Microsoft Corporation Collaborative code conflict detection, notification and resolution
US20080262920A1 (en) * 2006-06-30 2008-10-23 O'neill Sean M Methods and systems for tracking and attributing activities of guest users
WO2008033552A2 (en) * 2006-09-12 2008-03-20 Iwatchnow Inc. System and method for distributed media streaming and sharing
US8127278B2 (en) 2006-09-28 2012-02-28 Sap Ag System and method for extending legacy applications with undo/redo functionality
US9207933B2 (en) 2006-10-10 2015-12-08 International Business Machines Corporation Identifying authors of changes between multiple versions of a file
US7950065B2 (en) 2006-11-11 2011-05-24 Microsoft Corporation Method and system to control access to content stored on a web server
US8316052B2 (en) 2006-12-12 2012-11-20 Verizon Patent And Licensing Inc. Method, computer program product and apparatus for providing media sharing services
US20080177782A1 (en) 2007-01-10 2008-07-24 Pado Metaware Ab Method and system for facilitating the production of documents
US7900142B2 (en) 2007-01-15 2011-03-01 Microsoft Corporation Selective undo of editing operations performed on data objects
CA2676279A1 (en) 2007-01-22 2008-07-31 Syracuse University Distributed video content management and sharing system
EP1971107B1 (en) 2007-03-14 2011-11-16 Magix Ag System and method for visual content sharing in an online environment
US7949938B2 (en) 2007-03-20 2011-05-24 International Business Machines Corporation Comparing and merging multiple documents
US8239760B2 (en) 2007-06-26 2012-08-07 Sap Ag Multi-user document editing system and method
US7937663B2 (en) 2007-06-29 2011-05-03 Microsoft Corporation Integrated collaborative user interface for a document editor program
US8346966B1 (en) * 2007-07-19 2013-01-01 Blue Coat Systems, Inc. Transparent file system access for wide area network file system acceleration
US20090083266A1 (en) 2007-09-20 2009-03-26 Krishna Leela Poola Techniques for tokenizing urls
WO2009046324A2 (en) 2007-10-05 2009-04-09 Flickbitz Corporation Online search, storage, manipulation, and delivery of video content
US7941399B2 (en) 2007-11-09 2011-05-10 Microsoft Corporation Collaborative authoring
US7797274B2 (en) 2007-12-12 2010-09-14 Google Inc. Online content collaboration model
US8825758B2 (en) 2007-12-14 2014-09-02 Microsoft Corporation Collaborative authoring modes
US10007767B1 (en) 2007-12-21 2018-06-26 EMC IP Holding Company LLC System and method for securing tenant data on a local appliance prior to delivery to a SaaS data center hosted application service
US8140973B2 (en) 2008-01-23 2012-03-20 Microsoft Corporation Annotating and sharing content
US8555367B2 (en) 2008-03-12 2013-10-08 Yahoo! Inc. Method and system for securely streaming content
US20090234876A1 (en) 2008-03-14 2009-09-17 Timothy Schigel Systems and methods for content sharing
US20090249224A1 (en) 2008-03-31 2009-10-01 Microsoft Corporation Simultaneous collaborative review of a document
US8352870B2 (en) 2008-04-28 2013-01-08 Microsoft Corporation Conflict resolution
US8078957B2 (en) 2008-05-02 2011-12-13 Microsoft Corporation Document synchronization over stateless protocols
KR20090117528A (ko) 2008-05-09 2009-11-12 삼성전자주식회사 Sip 네트워크 기반의 컨텐츠 공유 방법 및 그 시스템
WO2009155578A2 (en) 2008-06-19 2009-12-23 Andrew Liebman A novel media file access and storage solution for multi-workstation/multi-platform non-linear video editing systems
US7885861B2 (en) 2008-06-23 2011-02-08 Vistaprint Technologies Limited Method, system, and storage for creating a montage of composite product images
US8417666B2 (en) 2008-06-25 2013-04-09 Microsoft Corporation Structured coauthoring
US8909810B2 (en) 2008-08-05 2014-12-09 Isabella Products, Inc. Systems and methods for multimedia content sharing
CN102754120A (zh) 2008-09-30 2012-10-24 惠普发展公司,有限责任合伙企业 在家庭服务器上自动发布相册
US8032930B2 (en) 2008-10-17 2011-10-04 Intuit Inc. Segregating anonymous access to dynamic content on a web server, with cached logons
EP2180664A1 (en) 2008-10-22 2010-04-28 Vivendi Mobile Entertainment System and method for accessing multi-media content via a mobile terminal
US7996566B1 (en) * 2008-12-23 2011-08-09 Genband Us Llc Media sharing
US9288210B2 (en) 2009-01-26 2016-03-15 Microsoft Technology Licensing, Llc Revocable object access
US20100205221A1 (en) 2009-02-12 2010-08-12 ExaNetworks, Inc. Digital media sharing system in a distributed data storage architecture
US8719582B2 (en) 2009-03-03 2014-05-06 Microsoft Corporation Access control using identifiers in links
US8209603B2 (en) 2009-04-29 2012-06-26 Microsoft Corporation Maintaining undo and redo capability across metadata merges
US8346768B2 (en) 2009-04-30 2013-01-01 Microsoft Corporation Fast merge support for legacy documents
US8078665B2 (en) * 2009-05-04 2011-12-13 Comcast Cable Holdings, Llc Sharing media content based on a media server
US8745139B2 (en) * 2009-05-22 2014-06-03 Cisco Technology, Inc. Configuring channels for sharing media
US8009022B2 (en) 2009-05-29 2011-08-30 Microsoft Corporation Systems and methods for immersive interaction with virtual objects
EP3832975A1 (en) 2009-05-29 2021-06-09 Alcatel Lucent System and method for accessing private digital content
US8868662B2 (en) 2009-06-10 2014-10-21 Silverpop Systems, Inc. Methods and systems for tracking shared content
US20110078775A1 (en) 2009-09-30 2011-03-31 Nokia Corporation Method and apparatus for providing credibility information over an ad-hoc network
CN102110083A (zh) 2009-12-28 2011-06-29 北大方正集团有限公司 支持在线以及离线文档编辑的客户端装置及方法
US20110173188A1 (en) 2010-01-13 2011-07-14 Oto Technologies, Llc System and method for mobile document preview
US8666826B2 (en) 2010-02-12 2014-03-04 Microsoft Corporation Social network media sharing with client library
CN102860024A (zh) * 2010-02-19 2013-01-02 汤姆森特许公司 在因特网上发布内容的系统和方法
US8589815B2 (en) 2010-03-10 2013-11-19 Microsoft Corporation Control of timing for animations in dynamic icons
US8452726B2 (en) 2010-06-04 2013-05-28 Salesforce.Com, Inc. Sharing information between tenants of a multi-tenant database
US9218359B2 (en) 2010-07-02 2015-12-22 Code Systems Corporation Method and system for profiling virtual application resource utilization patterns by executing virtualized application
US20120222133A1 (en) 2010-09-28 2012-08-30 Adam Kidron Shared content management platform apparatuses, methods and systems
US8611544B1 (en) 2011-01-25 2013-12-17 Adobe Systems Incorporated Systems and methods for controlling electronic document use
US9049494B2 (en) 2011-01-31 2015-06-02 Cbs Interactive, Inc. Media playback control
US9098719B2 (en) 2011-02-03 2015-08-04 Apple Inc. Securing unrusted content for collaborative documents
US8544069B1 (en) 2011-04-29 2013-09-24 Intuit Inc. Methods systems and articles of manufacture for implementing user access to remote resources
US20120330736A1 (en) 2011-05-31 2012-12-27 Sean Beckner System and Method of Gifting, Gift Sharing, and Gift Redemption
CN103620602B (zh) 2011-06-27 2017-09-19 谷歌公司 对集合中的资源的持久性密钥访问
CN102262620B (zh) 2011-08-04 2014-11-26 无锡永中软件有限公司 一种文档协作方法
US10733151B2 (en) 2011-10-27 2020-08-04 Microsoft Technology Licensing, Llc Techniques to share media files
US20130110832A1 (en) 2011-10-27 2013-05-02 Microsoft Corporation Techniques to determine network addressing for sharing media files
US9547665B2 (en) 2011-10-27 2017-01-17 Microsoft Technology Licensing, Llc Techniques to determine network storage for sharing media files
US8955084B2 (en) 2011-11-10 2015-02-10 Blackberry Limited Timestamp-based token revocation
US9053079B2 (en) 2011-12-12 2015-06-09 Microsoft Technology Licensing, Llc Techniques to manage collaborative documents
US9774581B2 (en) 2012-01-20 2017-09-26 Interdigital Patent Holdings, Inc. Identity management with local functionality
JP6061633B2 (ja) 2012-11-14 2017-01-18 キヤノン株式会社 デバイス装置、制御方法、およびそのプログラム。
US9027097B2 (en) 2013-02-06 2015-05-05 Dropbox, Inc. Client application assisted automatic user log in
US9218613B2 (en) 2013-02-15 2015-12-22 Monkeetech, Llc Method and system for internet based interactive reverse marketing communication via SMS/MMS/EMS communications network
US9648003B2 (en) 2013-11-05 2017-05-09 Cable Television Laboratories, Inc. Delegating authorizations
US9426156B2 (en) 2013-11-19 2016-08-23 Care Innovations, Llc System and method for facilitating federated user provisioning through a cloud-based system
US20150213443A1 (en) 2014-01-30 2015-07-30 Apple Inc. Tokenizing authorizations
US20150242597A1 (en) 2014-02-24 2015-08-27 Google Inc. Transferring authorization from an authenticated device to an unauthenticated device
WO2015164521A1 (en) 2014-04-23 2015-10-29 Intralinks, Inc. Systems and methods of secure data exchange
US10255819B2 (en) 2015-11-17 2019-04-09 Airwatch Llc Systems for classroom media sharing
US10635828B2 (en) 2016-09-23 2020-04-28 Microsoft Technology Licensing, Llc Tokenized links with granular permissions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548090A (zh) * 2016-10-31 2017-03-29 努比亚技术有限公司 一种网络文件保护方法及web服务器

Also Published As

Publication number Publication date
US20130110890A1 (en) 2013-05-02
CN103023962A (zh) 2013-04-03
US10733151B2 (en) 2020-08-04

Similar Documents

Publication Publication Date Title
CN103023962B (zh) 共享媒体文件的技术
US11005673B2 (en) Communication gateway services in a networked message distribution system
US12039220B2 (en) Computerized system and method for generating and dynamically updating a dashboard of multiple processes and operations across platforms
CN102238107B (zh) 通过消息收发来共享媒体文件的技术
US10769101B2 (en) Selective data migration and sharing
US10572903B2 (en) Extending audience reach in messaging campaigns using probabilistic ID linking
CN105210392B (zh) 通信方法和计算机可读非暂时性存储媒体
US9268716B2 (en) Writing data from hadoop to off grid storage
US9813365B2 (en) Integrated real-time digital communication platform
US20150163320A1 (en) Social-driven precaching of accessible objects
CN102637444A (zh) 用于信息电子集聚的技术
US20160094615A1 (en) Reducing web page load latency by scheduling sets of successive outgoing http calls
US20130110832A1 (en) Techniques to determine network addressing for sharing media files
TW200952415A (en) Sharing information between devices
CN103493048A (zh) 将元数据存储在文件内部以提供文件的共享版本的引用
CN109521956B (zh) 一种基于区块链的云存储方法、装置、设备及存储介质
CN109522462B (zh) 一种基于区块链的云查询方法、装置、设备及存储介质
US20150134817A1 (en) Cloud server aggregator to facilitate access and transmission of data stored on multiple cloud servers
AU2014315668A1 (en) Techniques for server-controlled tiling of location-based information
CN105453520A (zh) 管理web服务的状态信息的技术
US11523260B2 (en) Delivery of configuration information for cross-platform application integration
US20160044087A1 (en) User contact information privacy protection in computer networks
US20160239533A1 (en) Identity workflow that utilizes multiple storage engines to support various lifecycles
US20100325245A1 (en) Aggregated proxy browser with aggregated links, systems and methods
US9483556B1 (en) Aggregating photos captured at an event

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150724

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150724

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant