通过消息收发来共享媒体文件的技术的制作方法

文档序号:7665850阅读:299来源:国知局
专利名称:通过消息收发来共享媒体文件的技术的制作方法
技术领域
本发明涉及消息收发应用程序,尤其涉及使用消息收发应用程序来共享媒体文件。
背景技术
消息应用程序被设计成在多个设备之间传递消息。消息应用程序的多个优点之一是将文件作为消息附件进行传递的能力。例如,一个计算设备上的诸如图像、照片、以及视频等媒体文件可被附加到消息并被传送到其他计算设备。然而,媒体文件相对很大并且因此消耗大量的处理和通信资源。如此,消息应用程序通常限制附件的文件大小,尤其是在通信带宽受限的情况下,如对于无线设备而言。这样的限制禁止用户经由消息应用程序共享媒体文件。本发明的改进正是针对这些和其他考虑事项而需要的。概述提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。各实施例一般针对通过消息应用程序来共享媒体文件的技术。一些实施例具体针对通过在传递实际消息之前将附加到该消息的媒体文件发布到可由消息发送者或消息接收者发现的网络存储服务器来共享该媒体文件的技术。此外,该消息和该媒体文件可以使用被特别设计成高效地传递各自内容的不同运输来传递。在一个实施例中,例如,一种装置可包括具有处理器和通信耦合到该处理器的存储器的计算设备。存储器可以存储消息应用程序,该消息应用程序在由处理器执行时可用于使用不同的运输在不同的时间间隔传递消息和包括媒体文件的消息附件。该消息可以具有包括对用于该媒体文件的可发现存储位置的引用的链接。对其他实施例也予以描述并要求保护。通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显而易见。应该理解,前面的概括说明和下面的详细描述只是说明性的,不会对所要求保护的各方面形成限制。附图简述

图1示出消息收发体系结构的实施例。图2示出第一逻辑流程的实施例。图3示出第二逻辑流程的实施例。图4示出了第一操作环境的实施例。图5示出了第二操作环境的实施例。图6示出了第三操作环境的实施例。图7示出了第一用户界面视图的实施例。图8示出了第二用户界面视图的实施例。
图9示出了计算体系结构的实施例。详细描述各实施例针对用于增强的消息收发服务的技术和媒体文件共享技术以有效且高效地允许电子系统和设备使用不同的消息应用程序或模态来传递并共享消息和消息附件。 在各实施例中,消息应用程序被安排成使用不同的运输在不同的时间间隔传递消息和包括一个或多个媒体文件的消息附件。在一个实施例中,例如,消息应用程序在发送实际消息之前使用分开的运输将媒体文件发送到消息服务器。消息应用程序从消息服务器接收对媒体文件的链接。该链接是对存储在可发现存储位置处的媒体文件的引用或指针,如超链接或超文本。消息应用程序将该链接嵌入在该消息中,并且通过与被用于媒体文件的运输所不同的运输来将该消息发送到消息服务器。作为补充或替换,可以在不同的时间间隔对媒体文件和消息使用同一运输。作为补充或替换,根据变化的格式和操作设置,如隐私参数等, 媒体文件的替换版本也可被嵌入在消息中。对其他实施例也予以描述并要求保护。增强的消息收发服务和媒体文件共享技术提供超过常规技术的若干优点。例如, 在不同的时间间隔使用分开的运输节省了处理和通信资源,同时在发送带有附件的常规消息时提供类似的用户界面和用户体验。此外,被特别设计成对附件进行管理的增强的用户界面提供用于接收媒体文件附件的更稳健和丰富的用户体验。另外,来自客户机上的消息应用程序的输出在技术上与物理存储技术相兼容。作为另一示例,将媒体文件按可发现的方式存储以供消息发送者和/或消息接收者更容易地访问,而非将媒体文件随机存储在服务器阵列中的隐藏并受保护的位置中。作为这些和其他优点的结果,各实施例可提高操作者、设备或网络的可承受性、可伸缩性、模块性、可扩展性或互操作性。图1示出用于适用于实现一个或多个增强的消息收发服务和媒体文件共享技术以有效且高效地允许电子系统和设备使用不同的消息应用程序或模态来传递并共享消息和消息附件的消息收发体系结构100的框图。在各实施例中,消息收发体系结构100可包括具有包含多个硬件和软件组件的多种类型的系统和设备的计算机实现的消息收发体系结构100。如此处所使用的,术语“系统” 和“组件”旨在指示与计算机相关的实体,包括硬件、硬件和软件的组合、软件、或执行中的软件。例如,组件可被实现成,在处理器上运行的进程、处理器、硬盘驱动器、多个(光和/ 或磁存储介质的)存储驱动器、对象、可执行代码、执行的线程、程序、和/或计算机。作为说明,在服务器上运行的应用和服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以视给定实现所需而位于一台计算机上和/或分布在两台或更多的计算机之间。各实施例不限于该上下文。在各实施例中,消息收发体系结构100可被实现成将该结构的各部分和/或用于媒体共享技术的操作分布到多个计算实体的分布式系统。分布式系统的示例可包括但不限于,客户机-服务器体系结构、3层体系结构、N层体系结构、紧耦合或群集的体系结构、对等体系结构、主机-从机体系结构、共享数据库体系结构、以及其他类型的分布式系统。各实施例不限于该上下文。在图1所示的实施例中,消息收发体系结构100的全部或部分可被实现成具有计算和通信能力的一个或多个电子设备的一部分。通信能力可包括有线和无线通信能力。电子设备的示例可包括但不限于,计算设备、移动设备、个人数字助理、移动计算设备、智能电话、蜂窝电话、手机、单向寻呼机、双向寻呼机、消息收发设备、计算机、个人计算机(PC)、台式计算机、膝上型计算机、笔记本计算机、手持式计算机、服务器、服务器阵列或服务器场、 web服务器、网络服务器、因特网服务器、工作站、小型计算机、大型计算机、超级计算机、网络设备、web设备、分布式计算系统、多处理器系统、基于处理器的系统、消费电子产品、可编程消费电子产品、电视机、数字电视机、机顶盒、无线接入点、基站、用户站、移动用户中心、 无线电网络控制器、路由器、集线器、网关、网桥、交换机、机器、或其组合。各实施例不限于该上下文。作为消息收发体系结构100的一部分示出的各种系统和设备可经由诸如有线和/ 或无线网络等各种类型的通信介质来在通信上相耦合。类似地,给定系统或设备的组件可以协调彼此之间的操作。该协调可以涉及单向或双向信息交换。例如,某些组件可以传递通过通信介质传递的信号形式的信息。该信息可被实现成分配给各个信号线的信号。在这些分配中,每一个消息都是信号。然而,其他实施例可另选地采用数据消息。这些数据消息可以跨各个连接发送。示例性连接包括并行接口、串行接口和总线接口。适用于特定实施例的特定通信技术参考图10来描述。在图1所示的实施例中,消息收发体系结构100可包括多个计算设备110-1-a、 消息服务器140以及网络存储服务器150,它们全都通过网络130进行通信。诸计算设备 110-1-a可各自实现一个或多个消息应用程序104-1-b。消息服务器140可以实现各消息组件,诸如消息路由器144、附件管理器146、以及消息更新器148、以及其他消息组件。虽然如图1所示的消息收发体系结构100具有呈特定拓扑结构的有限数量的元素,但可以明白, 消息收发体系结构100视给定实现所需可包括呈替换拓扑结构的更多或更少的元素。网络130可包括被设计成在消息收发体系结构100的各设备之间传递信息的通信框架。网络130可以实现任何公知通信技术,如适于与分组交换网络(例如,诸如因特网等公共网络、诸如企业内联网等专有网络,等等)、电路交换网络(例如,公共交换电话网)、或分组交换网络和电路交换网络的组合(使用合适的网关和转换器)一起使用的技术。消息服务器140可包括或使用用于执行根据所描述的实施例的各种方法的一个或多个服务器计算设备和/或服务器程序。例如,当被安装和/或部署时,服务器程序可以支持用于提供特定服务和特征的服务器计算设备的一个或多个服务器角色。示例性消息服务器140可包括例如操作诸如MICROSOFT 0S、UNIX 0S、LINUX OS或其他合适的基于服务器的OS等服务器OS的独立和企业级服务器计算机。例如,示例性服务器程序可包括诸如Microsoft Office Communications Server (办公室通信服务器,0CS)等用于管理传入和传出消息的通信服务器程序,诸如Microsoft Exchange Server (交换服务器)等用于提供对电子邮件、语音邮件、VoIP、即时消息收发(IM)、群IM、增强的在场、以及音频-视频会议、和/或根据所描述的实施例的其他类型的程序、应用、或服务的统一消息收发(UM)的消息收发服务器程序。网络存储服务器150也可包括或使用用于执行根据所描述的实施例的各种方法的一个或多个服务器计算设备和/或服务器程序。例如,当被安装和/或部署时,服务器程序可以支持用于提供特定服务和特征的服务器计算设备的一个或多个服务器角色。示例性网络存储服务器150可包括例如操作诸如MICROSOFT OS,UNIX OS,LINUX OS或其他合适的基于服务器的OS等服务器OS的独立和企业级服务器计算机。例如,示例性服务器程序可包括诸如MICROSOFT LIVE等提供对文档和文件的在线网络存储的网络存储服务器程序,文档和文件包括诸如图像、照片、相册、视频、视频专辑等多媒体文件或媒体文件。示例性服务器程序还可包括网络应用程序,例如诸如社交网络应用程序、搜索应用程序、文档管理程序、web日志(博客)、文字处理程序、电子表格程序、数据库程序、绘图程序、文档共享程序、消息应用程序、web服务、web应用程序、web服务器、和/或根据所描述的实施例的其他类型的程序、应用、或服务。诸计算设备110-1-a各自可包括处理器102和通信耦合到处理器102的存储器 103。处理器102和存储器103可各自通信耦合到通信接口 109。计算设备110-1-a的示例性体系结构和示例参考图9来描述。通信接口 109可包括或实现允许计算设备110-1-a经由网络130彼此进行通信并与消息收发体系结构100的其他设备进行通信的各种通信技术。例如,消息收发体系结构 100的各设备可以各自包括实现被设计成可与网络130进行互操作的各种类型的标准通信元件的通信接口 109,这些通信元件如一个或多个通信接口、网络接口、网络接口卡(NIC)、 无线电装置、无线发射机/接收机(收发机)、有线和/或无线通信介质、物理连接器等。 作为示例而非限制,通信介质包括有线通信介质和无线通信介质。有线通信介质的示例可以包括导线、电缆、金属线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤、所传播的信号等。无线通信介质的示例可以包括声学、射频(RF)频谱、红外和其他无线介质。在各实施例中,通信接口 109可包括多个不同类型的运输112-1-p。运输112_l_p 中的每一个可以实现或利用相同或不同的一组通信参数来在消息收发体系结构100的各设备之间传递信息。在一个实施例中,例如,运输112-1-p中的每一个可以实现或利用不同的一组通信参数来在计算设备110-1-a与消息服务器140之间传递信息。通信参数的一些示例可包括但不限于通信协议、通信标准、射频(RF)带、无线电装置、发射机/接收机(收发机)、无线电处理器、基带处理器、网络扫描阈值参数、无线电频率通道参数、接入点参数、 速率选择参数、帧大小参数、聚集大小参数、分组重试限制参数、协议参数、无线电参数、调制和编码方案(MCS)、确认参数、媒体访问控制(MAC)层参数、物理(PHY)层参数、以及影响计算设备110-1-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)、P0P3、因特网消息访问协议(IMAP)、多用途因特网邮件扩充(MIME)协议、Unix到Unix复制(UUCP)程序、诸如ITU-T X. 400协议等国际电信联盟(ITU)协议套件,等等。可以明白,可以实现其他有线通信技术, 并且各实施例不限于该上下文。对于无线通信,例如,运输112-1可包括被设计成通过无线局域网(WLAN)传递信息的无线电装置。运输112-1可被安排成根据不同类型的无线网络系统或协议来提供数据通信功能。提供数据通信服务的合适的无线网络系统的示例可包括电子和电气工程师学会(IEEE)802. XX系列协议,如IEEE 802. lla/b/g/n系列标准协议和变型(也被称为 “WiFi”)、IEEE 802. 16系列标准协议和变型(也被称为“WiMAX”)、IEEE 802. 20系列标准协议和变型,等等。运输112-2可包括被设计成跨一个或多个蜂窝无线电话系统所提供的数据联网链路来传递信息的无线电装置。提供数据通信服务的蜂窝无线电系统的示例可包括带有通用分组无线电服务(GPRS)系统的GSM(GSM/GPRS)、CDMA/lxRTT系统、用于全球进化的增强型数据速率(EDGE)系统、仅数据进化或进化数据优化(EV-DO)系统、数据和语音进化(EV-DV)系统、高速下行链路分组接入(HSDPA)系统、高速上行链路分组接入(HSUPA) 系统,等等。可以明白,可以实现其他无线技术,并且各实施例不限于该上下文。在各实施例中,计算设备110-1的通信接口 109可以实现相同的一组通信参数,从而提供相同或基本上相似的带宽或通信速度。然而,运输112-1、112-2可由消息应用程序 104-1在不同的时间点进行利用。在一个实施例中,例如,消息应用程序104-1可以在第一时间间隔期间传递一个或多个媒体文件114-1-c,并且在第二时间间隔期间传递带有与该一个或多个媒体文件114-1-c有关的信息的消息116。在一个实施例中,例如,第一和第二时间间隔可以完全不连续,其中第一时间间隔的开始时间和结束时间在第二时间间隔的开始时间之前。在一个实施例中,例如,第一和第二时间间隔可以部分重叠,其中第一时间间隔的开始时间在第二时间间隔的开始时间之前,但第一时间间隔的结束时间在第二时间间隔的开始时间之后。各实施例不限于此上下文的情况。诸计算设备110-1-a可各自实现被安排成以各种格式来传递各种类型的消息的一个或多个消息应用程序104-1-b。消息应用程序104-1-b中的每一个可以表示特定种类的运输,从而允许处理该特定应用程序的特定类型和格式的消息。消息应用程序104-1-b 可包括但不限于传真应用程序、视频消息应用程序、即时消息收发(IM)应用程序、聊天应用程序、电子邮件(email)应用程序、短消息服务(SMS)应用程序、多媒体消息服务(MMS) 应用程序、社交网络系统(SNS)应用程序,等等。可以明白,各实施例不限于此,并且消息应用程序104-1-b可包括根据所描述的实施例的任何其他类型的消息收发和通信应用程序。 可以明白,计算设备110-1-a可各自实现除根据所描述的实施例的消息应用程序104-1-b 之外的其他类型的应用程序。如图1所示,例如,计算设备110-1、110-2实现各自的消息应用程序104-1、104-2。 消息应用程序104-1、104-2 —般可用于为计算设备110-1、110-2生成、发送、接收、更新、修改和以其他方式管理消息。可以明白,针对在此描述的计算设备110-1及其消息应用程序 104-1所示出的实现细节还适用于计算设备110-2及其相应的消息应用程序104-2。在一个实施例中,消息应用程序104-1、104_2被实现成独立的基于客户机的应用程序并且由计算设备110-1、110-2提供的诸如计算设备110-1的处理器102和存储器103等本地资源来执行,而非在网络设备上实现并可由计算设备110-1、110-2经由web浏览器访问的基于网络的消息应用程序。在一个实施例中,消息应用程序104-1、104-2可包括适用于分布式处理并且部分地在计算设备110-1、110-2的本地资源上执行且部分地在网络资源上执行的分布式应用程序。作为补充或替换,消息应用程序104-1、104-2可包括实现在网络设备上并由计算设备110-1、110-2经由web浏览器访问的基于网络的消息应用程序。各实施例不限于此上下文的情况。消息应用程序104-1实现用于使用不同的运输在不同的时间间隔传递消息和包括媒体文件的消息附件的各种技术。为了实现这一点,消息应用程序104-1包括各种客户机消息组件106-1-c,包括附件管理器106-1、附件转换器106-2、消息管理器106-3、以及消息更新器106-4。虽然如图1所示的消息应用程序104-1具有呈特定拓扑结构的有限数量的元素,但可以明白,消息应用程序104-1视给定实现所需可包括呈替换拓扑结构的更多或更少的元素。在各实施例中,消息应用程序104-1包括附件管理器106-1。附件管理器106_1 — 般可被安排成管理消息应用程序104-1的附件。附件管理器106-1可检测到特定一组附件要被添加到消息106,并且可选择适用于该给定的一组附件的特定运输112-1-p。例如,附件管理器106-1可以评估与所提议的附件中的一些或全部相关联的大小参数,并基于该大小参数来选择运输112-1-p。例如,具有较小文件大小的单个附件可以使用较慢运输,而具有较大总体文件大小的多个附件可以使用较快运输。可基于包括带宽、成本、等待时间、处理资源、存储器资源、功率状态、功率可用性、网络可用性、用户选择等等的任何数量的计算或通信参数来将特定运输112-1-p匹配到给定的一组附件。各实施例不限于此上下文的情况。在一个实施例中,例如,附件管理器106-1可被安排成接收将媒体文件114-1-c附加到消息116的请求,通过运输112-1将媒体文件114-1-c发送到消息服务器140,通过运输112-1从消息服务器140接收媒体文件114-1-c的链接118-l_d,并将链接118-l_d嵌入到消息116中以传递给消息接收者(例如,计算设备110-2)。媒体文件114-1-c可包括适用于附加到消息的给定媒体文件格式的任何类型的多媒体文件。媒体文件114-1-c的示例包括但不限于文本、音频、静止图像、照片、图形、 动画、视频、影片、音频/视频、交互式内容、应用文件、超媒体、游戏文件、计算机辅助设计 (CAD)文件、数据库文件、文档、地图文件、图形信息系统文件、程序代码、以及根据所描述的实施例的任何其他类型的媒体内容。在一个实施例中,例如,媒体文件114-1-c可包括诸如照片等图像。图像的媒体文件格式的一些示例可包括但不限于图像扩展名“JPG”、“JPEG”、 “GIF”、“PNG”、“BMP”、“TIFF”、“TIF”、“ICO”、“DIB”等等。在一个实施例中,例如,媒体文件 114-1-c可包括诸如影片等视频。视频的媒体文件格式的一些示例可包括但不限于Windows Media Video (WMV)、运动图像专家组(MPEG)阶段1_4、QuickTime (MOV)等等。各实施例不被限于媒体文件114-1-c的任何给定的媒体类型或媒体格式。在各实施例中,消息应用程序104-1包括附件转换器106-2。附件转换器106_2 — 般可被安排成将媒体文件114-1-c从一种格式组合成另一格式。在一个实施例中,附件转换器106-2可被安排成修改媒体文件114-1-c的一个或多个属性以形成媒体文件的替换版本120-1-e。媒体文件120-1-e有时可被称为“缩略图”。例如,附件转换器106-2可被安排成修改媒体文件114-1-c的分辨率属性以形成具有低于媒体文件114-1-c的分辨率的媒体文件的替换版本120-1-e。也可以修改其他属性,如大小、裁剪、位置、旋转、彩色、黑白、元数据、标签、和/或根据所描述的实施例的任何其他属性。在各实施例中,消息应用程序104-1包括消息管理器106-3。消息管理器106_3 — 般可被安排成管理在消息发送者与一个或多个消息接收者之间传递的消息。在一个实施例中,例如,消息管理器106-3可被安排成通过运输112-2来传递信息116。消息116在通过运输112-2传递时可包括一个或多个媒体文件114-1-c的一个或多个嵌入的链接118-1-d。 一个或多个嵌入的链接118-1-d可包括对存储在网络存储服务器150上并可由消息发送者或消息接收者访问的一个或多个媒体文件114-1-c的引用。链接118-1-d中的每一个可包括用户可以直接跟随的或由程序自动跟随的、对所存储的媒体文件114-1-c的引用或指针。引用是对设备(例如,文件服务器)的存储器中的其他位置处的所指事物(例如,所存储的媒体文件114-1-c,如对象、文件、数据项等等) 进行引用的数据类型,并且被用来访问该所指事物。一般而言,引用是使程序能够直接访问该所指事物的值。所指事物可被存储在与引用相同的设备上或与引用不同的设备上。大多数编程语言指出某种形式的引用。链接118-1-d的示例可包括但不限于超文本和超链接, 如万维网(WWW)所使用的那些。超文本是具有超链接的文本。超链接通常包括锚,锚是消息内的可从中跟随该超链接的位置。超链接的目标是该超链接通向的所存储的媒体文件 114-l-c0在其锚被示出时,通过以某种方式激活它,如通过触摸它(例如,使用触摸屏显示器)或用定点设备(例如,鼠标)点击它,用户可以跟随该链接。在链接118-1-d被激活时, 其目标(例如,媒体文件114-1-c)被显示,通常经由web浏览器来显示。在各实施例中,消息应用程序104-1包括消息更新器106-4。消息更新器106_4 一般可被安排成动态地更新消息116的所存储的版本。在一个实施例中,例如,消息更新器 106-4可被安排成使用消息更新来动态地更新消息116,该消息更新具有在消息116已从消息应用程序104-1发送之后接收到的关于该消息的信息。作为补充或替换,消息更新器 106-4可被安排成在消息116已被发送给消息接收者并被存储在诸如计算设备110-2等客户机设备上之后发送具有关于消息116的信息的消息更新。上述实施例的操作可参考一个或多个逻辑流程来进一步描述。可以理解,除非另外指明,否则代表性的逻辑流程不一定要按所呈现的次序或者按任何特定次序来执行。而且,关于逻辑流程描述的各种活动可按串行或并行的方式执行。视给定一组设计和性能约束所需,逻辑流程可使用所述实施例的一个或多个硬件元件和/或软件元件或替换元件来实现。例如,逻辑流程可被实现为供逻辑设备(例如,通用或专用计算机)执行的逻辑(例如,计算机程序指令)。图2示出了逻辑流程200的一个实施例。逻辑流程200可表示由在此所描述的一个或多个实施例所执行的操作中的部分或全部。例如,逻辑流程200可以表示由针对相应计算设备110-1、110-2实现的消息应用程序104-1、104-2执行的操作中的一些或全部。在图2所示的实施例中,在框202,逻辑流程200可以接收将媒体文件附加到消息的请求。例如,假定计算设备110-1的第一用户希望将带有附件的消息116传递给计算设备110-2的第二用户。在生成消息116时,由计算设备110-1实现的消息应用程序104-1 的附件管理器106-1可以接收将一个或多个媒体文件114-1-c附加到消息116的请求。例如,该一个或多个媒体文件114-1-c可包括一组照片。附件管理器106-1可以实现以高效的方式传递媒体文件114-1-c的一组自定义用户界面和服务。在框204,逻辑流程200可通过第一运输将媒体文件发送到消息服务器。例如,附件管理器106-1可以通过第一运输112-1经由网络130将一个或多个媒体文件114-1-c发送到消息服务器140。在框206,逻辑流程200可以通过第一运输从服务器接收媒体文件的链接,该链接包括对该媒体文件的可发现存储位置的引用。例如,消息服务器140可以将一个或多个媒体文件114-1-c存储在网络存储服务器150上,并使用参考图3详细描述的技术将一个或多个媒体文件114-1-c的一个或多个链接118-1-d返回给计算设备110-1。在一个实施例中,一个或多个媒体文件114-1-c的一个或多个链接118-1-d可包括对存储在网络存储服务器150上的一个或多个媒体文件114-1-c的可发现存储位置的引用。在没有一个或多个链接118-1-d的情况下,该可发现存储位置可由消息发送者或消息接收者访问。例如,该可发现存储位置可以是消息发送者或消息接收者的用户帐户并可经由web浏览器通过因特网访问。可发现存储位置的示例可包括但不限于相册,该相册具有控制对该相册的访问的各级隐私设置,其中隐私设置允许对消息发送者和/或消息接收者的访问。附件管理器106-1可以通过第一运输112-1从消息服务器140接收一个或多个媒体文件114-1-c的一个或多个链接118-1-d。在一个实施例中,附件管理器106-1可以修改一个或多个接收到的链接118-1-d,如通过将多个接收到的链接118-1-d组合成单个链接、将一个或多个链接118-1-d与消息116的其他用户界面元素相组合、将一个或多个链接 118-1-d转换成消息116的不同的用户界面元素、将一个或多个链接118-1-d与一个或多个媒体文件114-1-c的嵌入在消息116中的媒体文件的一个或多个替换版本120-1-e相组合,等等。以此方式,可以设计不同的接入点来检索所存储的媒体文件114-1-c。例如,选择嵌入在消息116中的媒体文件120-1-e可以激活一个或多个链接118-1-d以供消息接收者查看对应的媒体文件114-1-c。各实施例不限于此上下文的情况。在框208,逻辑流程200可以将链接嵌入在消息中。例如,附件管理器106_1可以将一个或多个链接118-1-d连同诸如消息内容和/或媒体文件114-1-c的替换版本等附加信息一起嵌入在消息116中。在框210,逻辑流程200可以通过第二运输将带有嵌入的链接的消息发送给消息接收者。例如,消息应用程序104-1可以通过第二运输112-2将带有嵌入的链接118-1-d 的消息116发送到一个或多个消息接收者。消息接收者可包括例如计算设备110-2的第二用户。图3示出了逻辑流程300的一个实施例。逻辑流程300可表示由在此所描述的一个或多个实施例所执行的操作中的部分或全部。例如,逻辑流程300可以表示由为消息服务器140所实现的附件管理器114、消息路由器146、和/或消息更新服务148执行的操作的一些或全部。在框302,逻辑流程300可由消息服务通过第一运输接收消息的媒体文件。继续以上参考图2讨论的示例,例如,消息服务器140的附件管理器144可以接收通过第一运输 112-1从计算设备110-1的消息应用程序104-1传递给消息服务器140的消息116的一个或多个媒体文件114-1-c。
在框304,逻辑流程300可以将媒体文件存储在可通过为消息发送者或消息接收者先前建立的用户帐户来访问的服务器上。例如,消息服务器140的附件管理器144可以与网络存储服务器150进行交互以按可通过为消息发送者或消息接收者先前建立的用户帐户来访问的方式来将一个或多个媒体文件114-1-c存储在网络存储服务器150上。消息发送者可包括生成消息116的计算设备110-1的第一用户。消息接收者可包括作为消息116 的预期接收者的计算设备110-2的第二用户。在框306,逻辑流程300可以生成对所存储的媒体文件的链接。例如,一旦消息服务器140与网络存储服务器150之间的交互完成,则消息服务器140的附件管理器144可以生成一个或多个链接118-1-d。作为补充或替换,附件管理器144可以从网络存储服务器 150接收一个或多个链接118-1-d。链接118-1-d可以按可由消息发送者或消息接收者发现的方式来单独地或共同地包括对存储在网络存储服务器150上的媒体文件114-1-c的引用。如本文所使用的,术语“可发现”指的是消息发送者和/或消息接收者已知且在不使用链接118-1-d的情况下可访问的存储位置。例如,消息服务器140的附件管理器144可以将媒体文件存储在可通过为消息发送者或消息接收者先前建立的用户帐户访问的网络存储服务器150上。用户帐户可以经由例如web浏览器通过如因特网的专用网络或公共网络来访问。用户帐户的示例可包括在线存储或社交网络服务,包括但不限于MICROSOFT LIVE、MYSPACE 、FACEB00K 、 LINKEDIN 、TWITTER 、BEBO 、以及根据所描述的实施例的其他在线存储或社交网络服务。 各实施例不限于此上下文的情况。在框308,逻辑流程300可以通过第一运输发送所存储的媒体文件的链接。例如, 附件管理器144可以通过第一运输112-1发送所存储的媒体文件114-1-c的一个或多个链接 118-1-d。图4示出适用于消息收发体系结构100的操作环境400的实施例。操作环境400 示出消息收发体系结构100的各设备之间的向计算设备110-1、110-2提供增强的消息收发服务的信令。在图4所示的实施例中,假定以下使用场景计算设备110-1的第一用户希望将带有附件的消息116传递给计算设备110-2的第二用户。在生成消息116时,由计算设备 110-1实现的消息应用程序104-1的附件管理器106-1可以接收将媒体文件114-1附加到消息116的请求。媒体文件114-1可包括存储在存储器103中的照片。附件管理器106-1 可以使用用户界面108来实现一组自定义用户界面和服务,以在将消息116传递给消息服务器140之前将媒体文件114-1从计算设备110-1传递给消息服务器140。用户界面108 所生成的示例性用户界面可以参考图7-8来描述。附件管理器106-1可以从存储器103检索媒体文件114_1并通过第一运输112_1 经由网络130将媒体文件114-1发送到消息服务器140,如箭头402所示。消息服务器140 的附件管理器144可以接收消息116的媒体文件114-1,并且启动将媒体文件114-1存储到网络存储服务器150所实现的web服务152的消息发送者的用户帐户的操作。消息服务器140的附件管理器144可以将媒体文件114-1和/或消息发送者的适当的安全凭证发送到web服务152,如箭头404所示。web服务152可以使用该安全凭证来认证消息发送者, 并将媒体文件114-1作为消息发送者的用户帐户的一部分来存储。可以明白,通过将媒体
12文件114-1作为消息发送者的用户帐户的一部分来存储,媒体文件114-1可由消息发送者和/或消息接收者发现,从而允许消息发送者和/或消息接收者使用与链接118-1不同的访问技术来访问媒体文件114-1。例如,消息发送者和/或消息接收者可以使用常规web浏览器来经由因特网访问web服务152。web服务152可以返回对存储在网络存储服务器150上的媒体文件114_1的链接 118-1。附件管理器144可以接收链接118-1,如箭头406所示,并通过第一运输112-1将其发送到计算设备110-1,如箭头408所示。附件管理器106-1可以通过第一运输112-1从消息服务器140接收媒体文件 114-1的链接118-1,并将接收到的链接118-1转发到消息管理器106-3。有时,在附件管理器106-1与消息服务器140进行互操作以运输媒体文件114_1 并接收链接118-1时,消息应用程序104-1可以经由用户界面108接收将媒体文件的替换版本120-1嵌入在消息116中的控制指令。消息应用程序104-1的附件转换器106-2可以接收媒体文件114-1并开始操作以修改媒体文件114-1的一个或多个属性来形成媒体文件的替换版本120-1。例如,附件转换器106-2可以修改媒体文件114-1的大小和分辨率属性, 以形成具有比原本存储在存储器103中的媒体文件114-1小的大小和低的分辨率的媒体文件120-1。附件转换器106-2可以将媒体文件120-1 (或引用)转发给消息管理器106-3。消息管理器106-3可以接收链接118-1和媒体文件120_1作为输入。消息管理器 106-3还可以经由用户界面108接收消息发送者所生成的消息内容420作为输入。消息管理器106-3随后可以将消息内容420、链接118-1、和/或媒体文件120-1嵌入在消息116 中。一旦形成了并准备好运输消息116,消息应用程序104-1可以通过第二运输112-2将消息116发送到一个或多个消息接收者,如箭头410所示。消息接收者可包括例如计算设备 110-2的第二用户。消息服务器140的消息路由器146可以接收消息116,并将消息116路由到计算设备110-2的消息应用程序104-2,如箭头412所示。计算设备110-2的第二用户可以打开消息116并查看消息内容420、链接118-1、和/或媒体文件120。第一或第二用户随后可以访问web服务152所存储的媒体文件114-1,如箭头414,416所示。作为示例,计算设备110-2的第二用户可以使用链接118-1来访问web服务152 所存储的媒体文件114-1。作为补充或替换,计算设备110-2的第二用户可以使用web浏览器和web访问152的网络地址(例如,统一资源定位符)来访问web服务152所存储的媒体文件114-1。例如,第二用户可以访问web服务152,呈现消息接收者的用户帐户的安全凭证,并访问先前连接到消息接收者的用户帐户的消息发送者的用户帐户(例如,朋友或伙伴帐户)。在另一示例中,第二用户可以访问web服务152以访问消息发送者和/或消息接收者的公共帐户。根据所描述的各实施例,可以使用其他访问技术。图5示出适用于消息收发体系结构100的操作环境500的实施例。操作环境500 示出消息收发体系结构100的各设备之间的向计算设备110-1、110-2提供增强的消息更新服务的信令。更具体地,操作环境500示出其中消息更新起源于使用计算设备110-1的消息应用程序104-1的消息发送者的使用场景。除提供用于运输消息附件的更高效的机制之外,在消息被消息应用程序104-1-b 传递并存储之后,消息应用程序104-1-b可以实现各种技术来动态地更新这些消息。例如,一旦消息应用程序104-1发送消息116,消息应用程序104-1通常将所发送的消息116的副本存储在“已发送”文件夹中。类似地,一旦消息应用程序104-2接收到消息116,消息应用程序104-2通常将接收到的消息116的副本存储在“收件箱”文件夹中。消息应用程序 104-1、104-2可各自实现允许对消息116的所存储的版本进行更新的消息更新器106-4。消息更新可起源于例如消息发送者、消息接收者、和/或第三方。在图5中示出的实施例中,假定消息发送者希望用诸如相册的另一照片等第二媒体文件114-2更新消息116。消息应用程序104-1可以执行箭头502、504、506、以及508 所示的操作,这些操作类似于参考对应箭头402、404、406、以及408所描述的那些操作。结果,媒体文件114-2被添加到web服务152所存储的媒体文件114-1。此外,消息应用程序 104-1从消息服务器140接收媒体文件114-2的链接118-2。消息更新器106-4从消息发送者接收链接118-2、媒体文件120_2、和/或任何附加消息内容作为输入。使用类似于对媒体文件120-1给出的那些操作等操作来经由附件转换器106-2创建媒体文件120-2。消息更新器106-4随后用来自消息发送者的链接118-2、 媒体文件120-2、和/或任何附加消息内容来更新所存储的消息116。消息更新器106-4使用来自消息发送者的链接118-2、媒体文件120_2、和/或任何附加消息内容来生成消息更新520。在消息116被消息发送者经由第二运输112-2发送之后,消息应用程序104-1发送消息应用程序104-2所存储的消息116的消息更新520,其中消息更新520具有来自消息发送者的信息,如链接118-2、媒体文件120-2、和/或来自消息发送者的任何附加消息内容。消息服务器140的消息更新服务148从消息应用程序104_1接收消息更新520,并将消息更新520发送给计算设备110-2。消息应用程序104-2的消息更新器106-4接收消息更新520,并用来自消息更新520的信息来更新它所存储的那一版本的消息116。作为补充或替换,并非生成单独的消息更新520,消息应用程序104-1可以用参考消息更新520描述的信息来更新消息116,并向消息服务器140发送整个经更新的消息。消息服务器140的消息更新服务148从消息应用程序104-1接收经更新的消息116,并将经更新的消息116发送给计算设备110-2。消息应用程序104-2的消息更新器106-4接收经更新的消息116,并用经更新的消息116来替换它所存储的那一版本的消息116。图6示出适用于消息收发体系结构100的操作环境600的实施例。操作环境600 示出消息收发体系结构100的各设备之间的向计算设备110-1、110-2提供增强的消息更新服务的信令。更具体地,操作环境600示出其中消息更新起源于使用计算设备110-2的消息应用程序104-2的消息接收者的使用场景。如上所述,在一些实施例中,消息应用程序104-2和计算设备110-2使用与参考消息应用程序104-1和计算设备110-1所描述的那些组件相同或类似的硬件组件和/或软件组件来实现增强的消息收发服务和媒体文件共享技术以传递并共享消息和消息附件。在这一情况下,消息接收者可以使用与参考图5中示出的操作环境500所描述的那些操作相同或类似的操作来发起对所存储的消息版本116的消息更新。例如,参考操作环境600的箭头 602、604、606、608、610、612、614、和616描述的操作可以与参考操作环境500的箭头502、 504、506、508、510、512、514、和516描述的操作相同或相似。操作环境500、600被用来描述来自相应计算设备110_1、110-2 (例如,消息发送者和消息接收者)的动态消息更新。另外,消息更新可以从第三方,如网络存储服务器150所实现的web服务152接收。例如,当web服务152被实现为社交网络时,所存储的媒体文件 114-1-c可以接收与所存储的媒体文件114-1-c相关的各种附加类型的信息。各示例可包括来自社交网络的其他用户的附加信息,如附加照片、评论、元数据等。当这一点发生时, web服务152可以将该附加信息转发给消息服务器140,并且消息服务器140所实现的消息更新服务148可以动态地更新由计算设备110-1、110-2的相应消息应用程序104_1、104_2 存储的所存储的消息版本116。作为补充或替换,web服务152可以将附加信息直接转发给计算设备110-1、110-2以供相应消息更新器106-4处理。各实施例不限于此上下文的情况。图7示出了用户界面视图700的实施例。用户界面视图700可以是被实现成电子邮件消息应用程序的消息应用程序104-1、104-2的用户界面108所提供的示例性用户界面视图。更具体地,用户界面视图700示出创建适用于媒体文件114-1-c形式的附件的新电子邮件消息的示例。在用户界面视图700所示的实施例中,用户界面108可以提供用于代表消息应用程序104-1生成电子邮件消息730的用户界面。电子邮件730可以包括各种显示对象,包括功能区(ribbon bar) 702、地址正文716、以及消息正文718。功能区702可具有表示各种消息命令的显示对象。地址栏716可具有用于接收地址信息的显示对象。消息正文718可包括接受多媒体内容的表面,多媒体内容包括消息内容420(例如,文本内容)和媒体文件 120-1-g。功能区702可包括“添加照片”显示对象704。在用户激活“添加照片”显示对象 704时,用户界面108生成将媒体文件120-1-g(例如,照片)添加到电子邮件消息730的消息正文718中示出的媒体文件域7^-1-h之一中的控制指令。功能区702可包括“移除照片”显示对象706。在用户激活“移除照片”显示对象 706时,用户界面108生成将媒体文件120-1-g(例如,照片)从电子邮件消息730的消息正文718中示出的媒体文件域7^-1-h之一中移除的控制指令。功能区702可包括“附加文件”显示对象708。在用户激活“附加文件”显示对象 708时,用户界面108生成将文件作为常规附件添加到电子邮件消息730的控制指令。功能区702可包括“相册风格”显示对象710。在用户激活“相册风格”显示对象710时,用户界面108显示提供用于将媒体文件120-1-g嵌入到消息正文718中的各种风格、格式、和/或布局选项和/或模板的新的一组显示对象。当被激活时,消息应用程序 104-1接收表示用于将媒体文件114-1-c嵌入电子邮件消息730中的风格参数的控制指令。功能区702可包括“对照片重新排序”显示对象712。在用户激活“对照片重新排序”显示对象712时,用户界面108生成将嵌入在电子邮件消息730的消息正文718中的任何照片进行排序或重新排序的控制指令。当被激活时,消息应用程序104-1接收表示用于对电子邮件消息730中的多个媒体文件114-1-c进行排序的排序参数的控制指令。例如, 照片可被混洗、编组、按大小排序、基于可用屏幕大小来定位、基于嵌入在消息正文718中的其他用户界面元素来定位、以及根据各实施例的任何其他排序参数。功能区702可包括“相册隐私”显示对象714。在用户激活“相册隐私”显示对象 714时,用户界面108生成表示存储在网络存储服务器150上的媒体文件114-1-c的隐私设
15置的控制指令。当被激活时,消息应用程序104-1接收表示用于访问网络存储服务器150 上的媒体文件114-1-c的隐私参数的控制指令。例如,隐私参数可被设置成只允许消息接收者查看所存储的媒体文件114-1-c。在另一示例中,隐私参数可被设置成允许公共查看, 基本上允许任何人查看所存储的媒体文件114-1-c。在这种情况下,用户界面视图700可以提供将与媒体文件114-1-c相关联的任何元数据(例如,标识信息、描述等)移除的选项。作为补充或替换,隐私参数可具有表示媒体文件114-1-c可被访问的时间量(例如,90天)的相关联的时间参数,该时间量自电子邮件消息730被发送的时间起(或,自媒体文件114-1-c被存储的时间起)来测量。除具有用于接受包括消息内容420 (例如,文本信息)和媒体文件120-1-g的多媒体内容的表面之外,消息正文718还可具有用于接受媒体文件114-1-c的集合的名称(如, 相册名称)的显示对象720。消息正文718还可包括表示对所存储的媒体文件114-1-c的嵌入链接(例如,一个或多个链接118-1-d)的显示对象722。消息正文718还可包括指示时间参数(例如,90天)的显示对象724。图8示出了用户界面视图800的实施例。用户界面视图800可以是被实现成电子邮件消息应用程序的消息应用程序104-1、140-2的用户界面108所提供的示例性用户界面视图。用户界面视图800示出接收到的电子邮件消息830。接收到的电子邮件消息830 可以是消息应用程序104-1所传递的电子邮件消息730的接收到的版本的示例。如图所示,接收到的电子邮件消息830可包括具有各种命令元素的功能区802、具有地址信息的地址栏816、以及消息正文818。消息正文818可包括媒体文件120-1到120_6,它们是相应媒体文件114_1到 114-6的替换版本。消息正文818还可包括具有相册名称的显示对象820、具有嵌入链接 118-1-c的显示对象822、以及具有指示消息接收者“Jane Doe”可以访问网络存储服务器 150的web服务152所存储的“John的相册”多久的时间参数的显示对象824。值得注意的是,虽然用使用计算设备110-1-a中实现的不同的消息应用程序来传递并共享消息和消息附件的增强的消息收发服务和媒体文件共享技术的逻辑描述了各实施例,但可以明白,实现这些技术所必需的硬件和/或软件组件中的一些或全部可以由消息服务器140来实现。例如,媒体文件114-1-c可使用常规技术附加到消息,并且消息服务器140可被安排成在转发给消息接收者之前存储并用链接118-1-d和备选媒体文件 120-1-g替换所附加的媒体文件114-1-c。类似地,来自计算设备110-1-a和任何第三方的动态更新可由消息服务器140所实现的逻辑来处理。各实施例不限于此上下文的情况。图9示出适用于实现上述各实施方式的示例性计算体系结构900的实施例。计算体系结构900包括各种常见计算元素,如一个或多个处理器、协同处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O) 组件,等等。然而,各实施例不限于由计算体系结构900来实现。如图9所示,计算体系结构900包括处理单元904、系统存储器906以及系统总线 908。处理单元904可以是市场上可买到的各种处理器中的任一种。双微处理器和其他多处理器体系结构也可用作处理单元904。系统总线908向包括但不限于系统存储器906的各系统组件提供到处理单元904的接口。系统总线908可以是若干类型的总线结构中的任何一种,这些总线结构还可互连到存储器总线(带有或没有存储器控制器)、外围总线、以及使用各类市场上可购买到的总线体系结构中的任一种的局部总线。系统存储器906可以包括各种类型的存储器单元,诸如只读存储器(ROM)、随机存取存储器(RAM)、动态RAM (DRAM)、双倍数据率DRAM (DDRAM)、同步DRAM (SDRAM)、静态 RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM (EEPROM)、 闪存、诸如铁电聚合物存储器等聚合物存储器、奥氏存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(S0N0Q存储器、磁卡或光卡、或适于存储信息的任何其他类型的介质。在图9示出的所示实施例中,系统存储器906可包括非易失性存储器910和/或易失性存储器912。基本输入/输出系统(BIOS)可以存储在非易失性存储器910中。计算机902可包括各种类型的计算机可读存储介质,包括内置硬盘驱动器 (HDD)914、用于读写可移动磁盘918的磁软盘驱动器(FDD)916、以及用于读写可移动光盘 922(例如,CD-ROM或DVD)的光盘驱动器920。HDD 914、FDD 916、以及光盘驱动器920可分别由HDD接口 924、FDD接口拟6和光盘驱动器接口拟8连接到系统总线908。用于外置驱动器实现的HDD接口拟4可包括通用串行总线(USB)和IEEE 1394接口技术中的至少一种或两者。驱动器及相关联的计算机可读介质提供了对数据、数据结构、计算机可执行指令等的易失性和/或非易失性存储。例如,多个程序模块可存储在驱动器和存储器单元910、 912中,包括操作系统930、一个或多个应用程序932、其他程序模块934和程序数据936。一个或多个应用程序932、其他程序模块934、以及程序数据936可包括例如计算设备110-1-a 的消息应用程序104-1-b。在该计算体系结构被实现成消息服务器140时,一个或多个应用程序932、其他程序模块934、以及程序数据936可包括例如消息应用程序104-1-附件管理器144、消息路由器146、和/或消息更新服务148。用户可以通过一个或多个有线/无线输入设备,例如键盘938和诸如鼠标940等定点设备将命令和信息输入到计算机902中。其他输入设备可包括话筒、红外(IR)遥控器、 操纵杆、游戏垫、指示笔、触摸屏等等。这些和其他输入设备通常通过耦合到系统总线908 的输入设备接口 942连接到处理单元904,但也可通过诸如并行端口、IEEE 1394串行端口、 游戏端口、USB端口、顶接口等其他接口连接。监视器944或其他类型的显示设备也经由诸如视频适配器946等接口连接到系统总线908。除了监视器944之外,计算机通常包括诸如扬声器、打印机等其他外围输出设备。计算机902可使用经由有线和/或无线通信至一个或多个远程计算机,诸如远程计算机948的逻辑连接在网络化环境中操作。远程计算机948可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点,并且通常包括相对于计算机902描述的许多或所有元件,但为简明起见仅示出了存储器/存储设备950。所描绘的逻辑连接包括到局域网(LAN) 952和/或例如广域网 (WAN) %4等更大的网络的有线/无线连接。这一 LAN和WAN连网环境常见于办公室和公司, 并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。当在LAN连网环境中使用时,计算机902通过有线和/或无线通信网络接口或适配器956连接到LAN 952。适配器956可以方便到LAN 952的有线和/或无线通信,并且还CN 102238107 A
说明书
15/16 页
可包括其上设置的用于使用适配器956的无线功能进行通信的无线接入点。当用于WAN网络环境中时,计算机902可以包括调制解调器958,或连接到WAN 卯4上的通信服务器,或具有用于通过WAN 954(如通过因特网)建立通信的其他装置。或为内置或为外置以及有线和/或无线设备的调制解调器958经由输入设备接口 942连接到系统总线908。在联网环境中,参考计算机902所描述的程序模块,或其某些部分,可以存储在远程存储器/存储设备950中。应该理解,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。计算机902可操作来使用IEEE 802标准家族来与有线和无线设备或实体进行通信,这些实体例如是在操作上安置成与例如打印机、扫描仪、台式和/或便携式计算机、个人数字助理(PDA)、通信卫星、任何一件与无线可检测标签相关联的设备或位置(例如,电话亭、报亭、休息室)以及电话进行无线通信(例如,IEEE 802. 9空中调制技术)的无线设备。这至少包括Wi-Fi (即无线保真)、WiMax和蓝牙 无线技术。由此,通信可以是与常规网络相同的预定义的结构,或者,只是至少两台设备之间的特别通信。Wi-Fi网络使用称为 IEEE 802.9x(a、b、g等等)的无线电技术来提供安全、可靠、快速的无线连接。Wi-Fi网络可用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用IEEE 802. 3相关介质和功能)。可以使用硬件元件、软件元件或两者的组合来实现各种实施例。硬件元素的示例可以包括设备、组件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、 现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元件的示例可以包括软件组件、程序、应用软件、计算机程序、应用程序、系统程序、 机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、文字、值、 符号、或其任意组合。确定一实施例是否使用硬件元件和/或软件元件来实现可视给定实现所需根据任何数量的因素而变化,这些因素如所需计算速率、功率级、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其他设计或性能约束。一些实施例可包括制品。制品可包括用于存储逻辑的存储介质。存储介质的示例可包括能够存储电子数据的一种或多种类型的计算机可读存储介质,包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器等。逻辑的示例可包括各种软件元素,诸如软件组件、程序、应用软件、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、文字、值、符号、或其任意组合。例如,在一个实施方式中,制品可以存储可执行计算机程序指令,该指令在由计算机执行时使得该计算机执行根据所描述的各实施方式的一种方法和/或操作。可执行计算机程序指令可包括任何合适类型的代码,诸如源代码、已编译代码、已解释代码、可执行代码、静态代码、动态代码等。可执行计算机程序指令可根据用于指示计算机执行特定功能的预定义的计算机语言、方式或句法来实现。这些指令可以使用任何合适的高级、低级、面型对象、可视、编译、和/或解释编程语言来实现。一些实施例可使用表述“一个实施例”和“一实施例”及其派生词来描述。这些术语意味着结合该实施例描述的特定特征、结构、或特性包括在至少一个实施例中。出现在说明书中各个地方的短语在“一个实施例中”不必全都指的是同一实施例。可以用表述“耦合”和“连接”及其派生词对一些实施例进行描述。这些术语不必旨在互为同义词。例如,可以用术语“连接”和/或“耦合”对一些实施例进行描述,以表示两个或更多个元件彼此直接物理或电接触。然而,术语“耦合”也可以指两个或更多个元件彼此并非直接接触,但是仍然彼此协作或交互。要强调的是,提供了本公开的摘要以符合37C.F.R. 1.72(b)节,该节要求使读者能快速确定本技术公开的特性的摘要。应当这样理解,摘要将不用于解释或限制权利要求书的范围或含义。此外,由上述“具体实施方式
”可见,将各种特征组合在单个实施例中是为了使公开内容流畅。这种公开方式不应被解释为反映了这样一种意图,即所要求保护的实施例需要比各权利要求清楚记载的特征要多的特征。相反,如所附权利要求书所反映,发明性的主题存在于比单个已公开实施例的所有特征少的特征中。从而,据此将所附权利要求结合进详细描述中,其中每个权利要求独立地代表一个单独的实施例。在所附的各权利要求中,术语“包含”和“在其中”分别用作术语“包括”和“其中”的等价词。而且,术语“第一”、“第二”、“第三”等等只用作标记,而不旨在将数字要求强加于其对象上。尽管用专门描述结构特征和/或方法动作的语言描述了主题,但是应当理解,在后附权利要求书中限定的主题并不一定局限于上述特定的特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
权利要求
1.一种计算机实现的方法,包括接收(202)将媒体文件(114)附加到消息(116)的请求;通过第一运输(112-1)将所述媒体文件发送(204)到消息服务器(140);通过所述第一运输从所述消息服务器接收(206)所述媒体文件的链接(118),所述链接包括对所述媒体文件的可发现存储位置的引用;将所述链接嵌入(208)在所述消息中;以及通过第二运输(112- 将带有所嵌入的链接的消息发送(210)给消息接收者(110-2)。
2.如权利要求1所述的计算机实现的方法,其特征在于,所述链接包括对存储在网络存储服务器上的媒体文件的可发现存储位置的引用,在没有所述链接的情况下,所述可发现存储位置可由消息发送者或消息接收者访问。
3.如权利要求1或2所述的计算机实现的方法,其特征在于,包括接收将所述媒体文件的替换版本嵌入在所述消息中的控制指令。
4.如权利要求1到3中的任一项所述的计算机实现的方法,其特征在于,包括修改所述媒体文件的一个或多个属性以形成所述媒体文件的替换版本。
5.如权利要求1到4中的任一项所述的计算机实现的方法,其特征在于,包括将所述媒体文件的替换版本嵌入在所述消息中。
6.如权利要求1到5中的任一项所述的计算机实现的方法,其特征在于,包括接收表示用于将所述媒体文件嵌入在所述消息中的风格参数的控制指令。
7.如权利要求1到6中的任一项所述的计算机实现的方法,其特征在于,包括接收表示用于访问网络存储服务上的媒体文件的隐私参数的控制指令。
8.如权利要求1到7中的任一项所述的计算机实现的方法,其特征在于,包括在所述消息被消息发送者发送之后,使用具有来自所述消息接收者的信息的消息更新来更新所述消息。
9.如权利要求1到8中的任一项所述的计算机实现的方法,其特征在于,包括在所述消息被消息发送者发送之后,发送所述消息的消息更新,所述消息更新具有来自所述消息发送者的信息。
10.一种包括包含指令的计算机可读存储介质的制品,所述指令在被执行时使得一种系统能够实现如权利要求1到9中的任一项所述的方法。
11.一种装置,包括处理器(102);以及通信耦合到所述处理器的存储器(103),所述存储器存储消息应用程序(104),所述消息应用程序在被所述处理器执行时可用于使用不同的运输(112-1,112-2)在不同的时间间隔传递消息(116)和包括媒体文件(114)的消息附件,所述消息具有包括对所述媒体文件的可发现存储位置的引用的链接(118)。
12.如权利要求11所述的装置,其特征在于,所述消息应用程序包括附件管理器 (106-1),所述附件管理器可用于接收将所述媒体文件附加到所述消息的请求,通过运输 (112-1)将所述媒体文件发送到消息服务器(140),通过所述运输从所述消息服务器接收所述媒体文件的链接,以及将所述链接嵌入在所述消息中。
13.如权利要求11或12所述的装置,其特征在于,所述消息应用程序包括可用于修改所述媒体文件的一个或多个属性以形成所述媒体文件的替换版本(120)的附件转换器 (106-2)。
14.如权利要求11到13中的任一项所述的装置,其特征在于,所述消息应用程序包括可用于通过运输(112- 传递带有所述链接的消息的消息管理器(106-3),所述链接包括对存储在网络存储服务器(150)上的媒体文件的可发现存储位置的引用,在没有所述链接的情况下,所述可发现存储位置可由消息发送者(110-1)或消息接收者(110-2)访问。
15.如权利要求11到14中的任一项所述的装置,其特征在于,所述消息应用程序包括消息更新器(106-4),所述消息更新器可用于使用消息更新(520)来动态地更新所述消息, 所述消息更新带有在所述信息被发送之后接收到的关于所述消息的信息。
全文摘要
描述了用于通过消息收发来共享媒体文件的技术。一种装置可包括处理器和通信耦合到该处理器的存储器。存储器可以存储消息应用程序,该消息应用程序在由处理器执行时可用于使用不同的运输在不同的时间间隔传递消息和包括媒体文件的消息附件。该消息可以具有包括对用于该媒体文件的可发现存储位置的引用的链接。描述了并要求保护其他实施例。
文档编号H04L12/58GK102238107SQ201110124810
公开日2011年11月9日 申请日期2011年5月5日 优先权日2010年5月6日
发明者A·厄丹, B·威德, B·珀泽利, D·西特龙, J·摩尔, J·沈, J·索恩顿, O·乌德族, R·康茨, R·本森, T·富尼耶, W·迪特里赫 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1