使用磁石在应用窗口中插入媒体内容的系统和方法

文档序号:6462113阅读:196来源:国知局
专利名称:使用磁石在应用窗口中插入媒体内容的系统和方法
技术领域
本发明总的来说涉及计算机应用领域,更具体地说,涉及4吏用磁石在
应用窗口中插入媒体内容的系统和方法。
背景技术
很多人使用计算机来创建、编辑以及与其他用户共享媒体内容。用户 可能希望将视频、歌曲、广告、照片以及任何其他类型的媒体分发给朋友。 例如,用户可能希望将其刚看过的家庭视频片断发送结"许多朋友。
计算机用户可以使用诸如电子邮件、即时消息、视频会汉、VoIP电 话之类的多种应用来与其他计算机用户进行通信。这些应用中有许多可能 包括用于传送媒体文件或到媒体文件的链接的功能性。对于用户来说,一 种普通的方法就是复制中央服务器位置的链接(URL),并通过其喜欢的 通信通道来发送包括该链接的文本消息。然而,对于用户来说,从媒体应 用向通信应用移动媒体文件或复制链接可能是不方便的。而且,不同的通 信应用可能使用不同的格式并具有不同的发送lt据的能力。
这样,就需务使用户能够容易地将媒体内容合并到多种不相关的通信 应用中。

发明内容
本发明可以用于提供能够被显示在多种不相关的应用窗口中并使用 户能够将媒体内容插入到该应用窗口中的轻量级应用组件。在若干实施例 中,本发明可包括使用户能够将媒体文件和/或到媒体文件的链接插入到 电子邮件、即时消息和其他通信工具的磁石(lodestone)应用。
一方面,本发明包括用于显示>^石应用以将媒体应用功能性结合在多 个不相关的应用窗口中的方法。在一个实施例中,该方法包括通过^^t 系统来接收窗口事件;确定该窗口事件指示激活应用窗口;确定该窗口事 件与配置了>^石的应用窗口相对应;响应于上述确定,识别磁t石的对应于应用窗口的显示配置信息;才艮据该显示配置信息,在应用窗口中显示磁石。
另一方面,本发明包括计算机执行的系统,该计算机执行的系统用于 显示磁石应用以将媒体应用功能性结合在多个不相关的应用窗口中。在一 个实施例中,该系统包括通过IMt系统来接收窗口事件的装置;确定该 窗口事件指示激活一应用窗口的装置;确定该窗口事件与配置了磁石的应 用窗口相对应的装置;响应于上述确定来识别磁石的对应于应用窗口的显 示配置信息的装置;以及根据该显示配置信息在应用窗口中显示磁石的装 置。


通过参考以下结合附图的描述将使本发明的上述和其他目的、方面、 特征和优点而变得更加明显并更易于理解,其中
图l是显示在多个应用窗口中的磁石实例的框图2A和2B是示例性计算机设备的框图3A是使用磁石来将媒体内容插入到第二应用的实例的框图3B是用于显示磁石应用以,体应用功能性结合在多个不相关的 应用窗口中的方法的一个实施例的流程图4是可用于结合磁石应用来分发媒体文件的示例性网络的图5是可以结合磁石应用来使用的示例性媒体应用的框图。
具体实施例方式
参考图l,该图示出了磁石应用的实施例框图。总的来看,计算机桌 面130a、 130b (总体上表示为130)可以包括若干执行应用170a、 170b (总体上表示为170)。对应于第二应用的磁石150可以被显示在用户当 前所选择的应用窗口中。磁石150可以使得用户能够在当前应用窗口的全 文中访问来自第二应用的功能性或内容。在一些实施例中,磁石150可以 显示>^石弹出窗口 160,以便进一步访问第二应用的功能性和/或内容。
现在仍参考图l,更详细地,磁石150可以用来在当前所选的应用窗 口的全文中访问来自第二应用的功能性或内容。磁石可以包括显示在应用 窗口内的任何图形界面或指示,其中,该磁石是由与产生应用窗口的应用不同的应用来显示的。例如,媒体播放器应用可以在即时消息窗口中显示 磁石。该磁石可以为用户提供以下功能性,即通过即时消息窗口发送链接 或最近J见看过的媒体文件。或者,例如,媒体播放器应用可以在电子邮件 窗口中显示磁石,该磁石使用户能够容易地以电子邮件方式向一人或多人
发送有关该用户刚创建的视频信息。
在所示实施例中,磁石150使用户能够从若干其他应用窗口 170访问 来自一应用(应用3,未示出)的功能。随着应用窗口被激活,磁石通过 可以与应用3结合操作的进程而M示在该应用窗口中。显示磁石的进程 可以与用于显示应用窗口 170的一个或多个i^程或应用完全分开。在一个 实施例中,进程可以接收来自操作系统的窗口事件,并基于所接收的事件 在当前被激活的应用窗口中显示>^石。该进程也可以停止当前未被用户选 择的窗口中的任何磁石的显示。
磁石可以包括任何图形指示,而不限于图标、图像、文本、链接或弹 出窗口。例如,在所示实施例中,>^石150可以包括用于在用户与>^石交 互时触发显示弹出窗口 160的椭圆形图标。在其他实施例中,磁石可以根 据用户的交互来改变其自身的显示。例如,磁石可以根据用户在磁石上移 动光标来改变颜色、形状或尺寸。
磁石可以为用户提供任何与磁石交互的方式,该方式包括但不局限 于用户在>^石上点击、在磁石上移动光标、在>^石上悬停光标或用户输 入指定的键击或多个键击。在一些实施例中,磁石可以包括多个组件。在 一个实施例中,磁石可以包括多个被分组的图形图标。每个图形图标可使 用户能够执行不同的关于>^石的功能。例如,用户点击一组中的第一个图 标,可以将另一应用的文本粘贴到当前应用窗口中;而点击该组中的第二 个图标,可以使弹出窗口 160M示。
图2A和2B示出了用作用于执行和显示磁石和/或执行这里描述的任 何其他功能的计算机设备的典型计算机200的框图。如图2A和2B所示, 每个计算机200包括中央处理单元202和主存储器单元204。每个计算机 200还可以包括其他可选部件,如一个或多个输V输出设备230a-230b(使 用附图230概括地表示),以及与中央处理单元202通信的緩存存储器240。
中央处理单元202是响应并处理取自主存储器单元204的指令的任何 逻辑电路。在许多实施例中,中央处理单元由微处理器单元提供,如由 California的Intel Corporation of Mountain View制造的那些微处理器单 元;由Illinois的Motorola Corporation of Schaumburg制造的那些微处理器单元;由California的Transmeta Corporation of Santa Clara制造的 Crusoe和Efficron系歹'J的处理器;由New York的International Business Machines of White Plains制造的处理器系列;或由California的Advanced Micro Devices of Sunnyvale制造的处理器系列。
主存储器单元204可以是一个或多个能够存储数据、并允许微处理器 202直接访问其任何存储位置的存储器芯片,如静态随机存取存储器 (SRAM)、突发式SRAM或同步突发式SRAM (BSRAM)、动态随机 存取存储器(DRAM )、快速页模式DRAM( FPM DRAM )、增强型DRAM (EDRAM)、扩展数据输出RAM (EDO RAM)、扩展数据输出DRAM (EDO DRAM )、突发式扩展数据输出DRAM (BEDO DRAM )、增强型 DRAM (EDRAM )、同步DRAM ( SDRAM )、 JEDEC SDRAM、 PC100 SDRAM、双倍数据速率SDRAM (DDR SDRAM )、增强型SDRAM (ESDRAM)、同步链接DRAM ( SLDRAM )、 Direct Rambus DRAM (DRDRAM)或铁电RAM (FRAM)。在图2A所示的实施例中,处理 器202通过系统总线250与主存储器204通信(下面将更详细地描述)。 图2B示出了计算机系统200的实施例,其中,处理器通过存储器端口直 接与主存储器204通信。例如,在图2B中,主存储器204可以是DRDRAM。
在图2A和2B所示的实施例中,主处理器202通过第二总线直接与 緩存存储器240通信,其中,第二总线有时被称为"后端"总线。在其他 实施例中,主处理器202使用系统总线250与緩存存储器240通信。緩存 存储器240通常具有比主存储器204更短的响应时间,且通常是由SRAM、 BSRAM或EDRAM来提供。
在图2A中所示的实施例中,处理器202通过局部系统总线250与各 种I/O设备230通信。可以用各种总线来将中央处理单元202连接到I/O 设备230,其中各种总线包括VESAVL总线、ISA总线、EISA总线、 微通道体系结构(MCA)总线、PCI总线、PCI-X总线、PCI-Express 总线或NuBus。对于I/Oi殳备是视频显示器的实施例,处理器202可以使 用高级图形端口 (AGP)来与显示器通信。图2B示出了计算机系统200 的一个实施例,其中,主处理器202通过HyperTransport、快速I/O或 InfiniBand直接与I/O设备230b通信。图2B还示出了 一个实施例,其中 局部总线和直接通信被混^^吏用,即,主处理器202^吏用局部互连总线与 1/O设备230a通信,而与1/O设备230b直接通信。
多种I/O设备230可以出现在计算机系统200中。输入设备包括键盘、鼠标、轨迹板、轨迹球、照相机、视频摄像机、麦克风和图画板。输
出设备包括视频显示器、扬声器、喷墨打印机、激光打印机以及染料升 华打印机。1/0设备也可以提供用于计算机系统800的大容量存储器,如 硬盘驱动器;用于容纳诸如3,5英寸、5.25英寸盘或ZIP盘之类软盘的软 盘驱动器;CD-ROM驱动器;CD-R/RW驱动器;DVD-ROM驱动器; 各种格式的磁带驱动器以及诸如由Twintech Industry, Inc. of Los Alamitos, California制造的USB闪存驱动器系列设备的USB存^i史备。
在其他实施例中,I/O设备230可以是系统总线250与外部通信总线 之间的桥,其中外部通信总线可以是例如USB总线、Apple Desktop总 线、RS-132串行连接、SCSI总线、FireWire总线、FireWire 800总线、 以太网总线、A卯leTalk总线、吉比特以太网总线、异步传输模式总线、 HIPPI总线、超级HIPPI总线、SerialPlus总线、SCI/LAMP总线、 FibreChannel总线或串^i更置的小型计算机系统接口总线。
图2A和图2B中描述的通用计算机种类通常在用于控制任务的调度 及访问系统资源的操作系统的控制下工作。典型的操作系统包括 Microsoft Corp. of Redmond, Washington制作的MICROSOFT WINDOWS; Apple Computer of Cupertino, California制作的MacOS; International Business Machines of Armonk, New York制作的OS/2;以及 其中可免费获得的、由Caldera Corp. of Salt Lake City, Utah发布的操作 系统'Linux 。
对于包括移动设备的实施例,该移动设备可以是JAVA使能的便携电 话,如由Motorola Corp. of Schaumburg, Illinois生产的i55sr、 i58sr、 i85s或i88s;由Kyocera of Kyoto, Japan生产的6035或7135;或者,由 Samsung Electronics Co., Ltd., of Seoul, Korea生产的i300或i330。在其 他包括移动设备的实施例中,移动设备可以是在PalmOS操作系统控制下 工作的个人数字助理(PDA),如Tungsten W, VII, VIIx, i705,它们都是 由palmOne, Inc. of Milpitas, California生产的。在其他实施例中,客户 端113可以是在PocketPC操作系统控制下工作的个人数字助理(PDA ), 如由Hewlett-Packard Corporation of Palo Alto, California生产的iPAQ 4155, iPAQ 5555, iPAQ 1945, iPAQ 2215和iPAQ 4255;由ViewSonic of Walnut, California生产的ViewSonic V36; 或由Toshiba America, Inc. of New York, New York生产的Toshiba PocketPC e405。在其他实施例中, 移动i殳备是组合PDA/电话i殳备,如由palmOne, Inc. of Milpitas,
10California生产的Treo 180、 Treo270、 Treo600、 Treo650、 Treo 700或 Treo 700w。在再一些实施例中,移动设备是在PocketPC操作系统控制 下工作的便携电话,如由Motorola Corp.生产的MPx200。在再一些实施 例中,移动设备可以包括具有无线通信能力的移动游戏设备。典型的移动 设备可以包括图2A和2B中描述的许多部件,包括处理器202和主存储 器204。
参考图3A和3B,图3A示出了用于显示磁石应用的方法,而图3B 示出了结合即时消息窗口使用的磁石应用的实例。总的来看, 一种用于显 示磁石应用以将媒体应用功能性结合在多个不相关的应用窗口中的方法 可以包括通过操作系统来接收窗口事件(步骤301);确定该窗口事件 指示激活一应用(步骤303);确定该窗口事件与配置了^^石的应用窗口 相对应(步驟305);根据上述确定,识别磁石的对应于应用窗口的显示 配置信息(步骤307);根据该显示配置信息,在应用窗口中显示磁石(步 骤309);以及,响应于用户与磁石的交互,将来自第二应用的数据粘贴 到应用窗口中(步骤311)。
现在仍参考图3A和3B,更详细地, 一种用于显示>^石应用的方法 包括磁石应用通过操作系统来接收窗口事件(步骤301)。在说明书和 权利要求的上下文中,">^石应用"是指用于控制磁石显示的任何应用软 件、进程、后台程序、可执行指令或它们的组合。"磁石"是指由磁石应 用在应用窗口中显示的图形组件。磁石应用可以以任何方式接收窗口事 件。在一些实施例中,磁石应用可以注册接收来自操作系统的窗口事件。 在一个实施例中,磁石应用可以注册仅接收窗口事件的子集。例如,磁石 应用可以注册接收与关闭窗口、打开窗口、激活窗口、去激活窗口、移动 窗口和调整窗口大小等事件中的一个或多个事件相对应的事件。在一个实 例中,在MICROSOFT WINDOWS环境中执行的磁石应用可以注册用于 接收WM一ACTIVE事件的桂钩消息容器。磁石应用可以使用定时器来周 期性i4^ri是否已经接收到了窗口事件。
磁石应用可以以任何方式来确定窗口事件指示激活应用窗口(步骤 303)。在一个实施例中,>#石可以确定窗口事件是否与关闭窗口、打开窗 口、激活窗口、去激活窗口、移动窗口和调整窗口大小等事件中的一个或 多个事件相对应。在另一个实施例中,磁石可以确定窗口事件是否与 WM一ACTIVE事件相对应。磁石应用可以使用结合或代替窗口事件的任 何其^信息来确定当前已被激活的窗口,其中,其他信息包括而不限于鼠标点击事件、鼠标按压事件、鼠标释放事件、鼠标结束事件、鼠标关闭 事件、键击事件或它们的任何组合。
磁石应用可以以任何方式来确定与配置了磁石的应用窗口相对应的
窗口事件(步骤305)。在一些实施例中,磁〖石应用可以识别对应于当前 已被激活的窗口的类。在一个实施例中,磁石应用可以识别应用窗口是否 是对话框、工具条或其他特定类型的应用窗口。在其他实施例中,磁t石应 用也可以确定对应于窗口事件的进程名和/或应用名。例如,磁石应用可 以识别对应于应用窗口的进:程名为"emailClient.exe",并查阅进程表来确 定"emailClient.exe"是否是配置有磁石的应用的组件。磁石应用可以识 别被编译的应用窗口类的类名,并对照针对告警框的已知类名表来检查类 名,以^更确定该窗口是电子邮件构成窗口,还是仅为告警窗口 (如例如 警告用户其电子邮件P歸已超出的弹出窗口 )。如果"emailClient.exe"是 配置有>^石的应用,并且类名与配置有>^石的窗口类相对应,那么,磁石 应用可以在窗口类中显示磁石,以及停止显示当前被显示的任何其他磁 石。
磁石可以被配置成显示在任啊应用窗口中。可以显示>^石的应用窗口 的实例包括而不限于即时消息窗口、电子邮件窗口、互联网浏览器、字 处理器、电子数据表、web页面设计应用件以及媒体文件播放器应用。
磁石应用可以被配置用于任何数目和任何类型的应用窗口 ,以及可以 被配置用于任何数目和类型的应用。在一些实施例中,>^石应用可以维护 配置有磁石的应用和/或应用窗口的列表或表格。在一个实施例中,磁石 应用可以维护或使用XML文件,该XML文件包括与配置有磁石应用的 应用窗口相关的信息。例如,XML文件可以对配置有磁石的多种应用连 同对应于这些应用的窗口类名和进程名一起进行列表。XML文件也可以 包括与给定应用内的磁石显示相关的任何信息。
在一些实施例中,对>^石应用的配置文件可以进行远程升级。在一个 实施例中,远程升级可以根据用户请求来进行,或仅>(31根据用户请求来进 行。例如,对包含配置有磁石的应用的类名和进程名的XML文件可以进 行远程升级来包括另外的进程名。在其他实施例中,对磁石应用的配置文 件可以进行本地升级。例如,包含配置有磁石的应用的类名和进程名的 XML文件可以被用户升级,该用户添加或去除不希望在其中显示>^石的 应用。本地配置可以通过任何方式进行,包括而不限于使用GUI、编 辑文件或使用命令行界面。磁石应用可以以任何方式识别用于磁^S的显示配置信息,该显示配置 信息对应于应用窗口 (步骤307)。在一些实施例中,磁石应用可以从文 件读取显示配置信息。在一个实施例中,^^石应用可以从XML文件读取 显示配置信息。在另一个实施例中,磁石应用可以动态地确定部分或全部 显示配置信息。例如,根据应用窗口的颜色或尺寸可以动态地确定磁石显 示的一种或多种颜色、形状或尺寸。
显示配置信息可以包括与要被显示的磁石的图形属性相关的任何信 息。可以被配置的图形属性包括而不限于磁石的尺寸、形状、颜色、透 明度和在目标应用窗口内的位置(坐标)。
在一些实施例中,磁石可以以相同方式被显示在多个应用窗口中。在 一个实施例中,对于所有应用窗口可以以相同方式显示磁石。在其他实施 例中,磁石显示可以唯一地适合于一个或多个应用窗口。例如,磁石可以 被显示在即时消息应用窗口的右下角,而且,>^石可以被显示在电子邮件 写作窗口的左下角。
在一些实施例中,磁石的一部分可被显示为与显示该磁t石的窗口相同 的颜色。这可以使磁石具有被结合到该应用窗口的外观。例如,在应用窗 口中显示磁石之前,磁石应用可以确定将要显示该磁石的窗口区域的当前 颜色。然后,>^石应用可以显示画布背景,以《更匹配当前颜色。
在一些实施例中,磁石应用也可以识别用于 一个或多个磁石弹出窗口 160的显示配置信息。在一些实施例中,磁石应用可以确定v t石弹出窗口 是否应当被包括于特定的应用窗口。在其他实施例中,可以对磁石弹出窗 口的任何图形属性进行配置,其中图形属性包括而不限于尺寸、形状、 颜色、透明度、以及位于窗口内部或外部的位置。
例如,在图3A中,箱〖石应用可以确定对于所示的特定即时消息窗 口 170a,磁石150应当被显示为包括标志字符和文本^^。在这个实例 中,在标志字符上点击或移动鼠标可以激活>^石弹出窗口 160,而在链接 上点击就可以将对应于最近访问过的媒体文件的URL粘贴到即时消息窗 口中。在这个实例中,磁石应用可以结M体应用300来工作,这使得用 户能够访问并观看媒体文件。
配置用来与特定应用一起显示的磁石的文件的示例性节选如下Bgcopy=l//Bgcopy whether to copy background and then display image
Alpha-30 //transparency 0-100
Num=5 //numbeirs of attached windows
l=mainwindowclassname $ f irstchildwlridowclassnanie [optional] $ secon<3chilc3windowclassname [optional
$
imagepath[optional]$Aimwindowclassname[optional]$ clipansi $ rcpos $ align
mainwindowclassname : //main window class
firstchildwindowclassname: //first child window class (optional) secondchildwindowclassname: //second child window class (optional), the above information can be used to identify targeted windows Imagepath: //name of displayed image (optional) clipansi: //whether the text in clipboard is Unicode or
ASCII,0:Unicode l:ANS工
rcpos //rectangular coordinates for position of the display align applignment:0 //When the number =0, rcpos is upper left, when the number =1 lrcpos is upper right , when the number =2 repos is lower right, when the number -3, repos is lower left.
磁石应用可以才艮据显示配置信息以任何方式在应用窗口中显示磁石 (步骤309)。磁石可以包括任何图形指示,该图形指示包括而不限于 图标、图像、文本、链接、弹出窗口或它们的任何组合。>^石可以被显示 在应用窗口的任何一部分或多个部分中,包括而不限于应用窗口的左下 角、右下角、右上角、左上角、底部中间、右侧中间、左侧中间以及顶部 中间部分。在一些实施例中,磁石可以被显示成使得该磁石不遮挡应用窗 口的功能部分。例如,磁石可以被显示在应用窗口边缘的不使用的空间。 或者,例如,磁石可以被显示在应用窗口的菜单或工具条的空闲部分。
在一些实施例中,当在第一应用窗口中显示了磁石时,磁石应用会在 第二应用窗口中停止显示磁石。通过仅在当前被激活的应用窗口中显示磁 石,磁石应用可以使用户持续地访问磁石功能性,同时最小化系统和显示 开销。
磁石应用可以检测关于所显示的磁石的任何事件,这些事件包括而不 限于用户点击磁石、在磁石上移动光标、在磁石上悬停光标或用户输入 指定的键击或多个键击。
在一些实施例中,磁石可以使用户能够将来自应用的数据粘贴到当前 窗口中(步骤311 )。可以被粘贴的数据的实例包括而不限于文本、URL、 音频文件、视频文件、照片以及可执行的文件。在一个实施例中,用户也 可以指定文本、图形、声音或其他消息来伴随数据。
在一些实施例中,可以根据当前应用窗口来确定数据被粘贴的格式。 该格式可以以任何方式来确定,包括而不限于检测对应于应用窗口的样 式单、段^格式、字体、字体大小或字体颜色。
在其他实施例中,可以才艮据当前应用窗口来确定粘贴的数据类型。例如,根据应用是否支持包,体文件,可以#^体文件粘贴为到媒体文件 位置的超链接,或者粘贴为媒体文件本身。在其他实例中,磁石应用可以通过应用窗口来输出数据序列。例如,如果用户将VoIP应用窗口中显示 的磁石激活并选择音频文件,那么,磁石可以通过VoIP应用来输出音频 文件。在一个实施例中,磁石可以被配置成工作于"一次点击"的模式,其 中,单击磁石可以执行给定功能。例如,与用户点击磁石并被提供要粘贴 到应用窗口中的近期观看过的图片列表不同的是,磁石可以被配置成总是 根据点击将最近观看过的图片粘贴到当前应用中。或者例如,结合磁石应 用来工作的应用使用户可以配置或指定将要根据用户点击磁石的而被使 用的动作或部分数据。现在参考图4,其示出了用于使分布式数字版权管理环境生效的计算 机网络的实施例,其中,分布式数字版权管理环境可以结合>^石应用来使 用。总的看来,在多个网络llla、 lllb、 llln中的多个客户端113与多 个超级节点(supernode)进行通信。进而,超级节点100与中央月良务器 110、 115、 120+的一个或多个进行通信。现在仍参考图4,更详细地,用于使分布式数字版权管理环境生效的 计算机网络使用多个超级节点来处理来自许多客户端的请求。客户端可以 ^i且织在网络llla、 lllb、 llln中的一个或多个中,网络llla、 lllb、 llln可以包括任何类型的网络,其包括而不限于局域网、广域网、对 等网。所处理的请求可以包括访问媒体文件的请求、重新发布媒体文件 的请求、预购用于媒体文件的给定数目的许可的请求,以及上传新i^体文 件的请求。超级节点可以与一个或多个服务于不能M级节点处理的任何 请求的服务器110、 115、 120联系。在一些实施例中,客户端可以通过从集中式服务器请求超级节点的网 络地址来定位用于通信的超级节点。例如,中央服务器可以维护可用超级 节点的索引,并通过提供与发出请求的客户端接近的超级节点的地址来响 应客户端请求。在其他实施例中,客户端可以通过与网络上的对等客户端通信来发现超级节点。在再一些实施例中,客户端可以通过与第一超级节 点通信来接收第二超级节点的地址。在一个实施例中,客户端可以维护已 知超级节点的表。在所示的实施例中, 一个或多个客户端113可以参加到对等文件共享 网中来。 一个客户端113可以从第二个客户端113下载媒体文件,然后向超级节点发送针对会话密钥的请求,该会话密钥将允许客户端用媒体播放 器来播放媒体文件。超级节点可以被定位和选择,使得对请求的响应时间少于如果所有会话密钥请求去往中^J!艮务器时的响应时间。月良务器110、 115、 120或客户端113、 IOO可以包括任何计算机设备, 包括而不限于如图2A和2B中所描述的那些计算机设备。客户端113可以包括具有播放一个或多个媒体文件、以;sut送和接收信息的功能性的任何设备。在一些实施例中,客户端可以包括特别适合于播放媒体文件的软 件和/或硬件。在其他实施例中,客户端还可以包括含有在客户端执行 的对等端认证模块的软件和/或硬件。对等认ii^漠块可以用于对由客户端 过去曾通信过的对等端发出的请求进行鉴权。在一个实施例中,对等认证 模块可以从鉴^J艮务器接收包括用户标识符和应用件标识符的请求;确定 所接收的用户标识符与应用标识符相对应;以及向用于识别所确定的一致 性的服务器发送响应。在一些实施例中,对等iUi^块可以在客户端上对于客户端的用户透 明地执行。在一个实施例中,对等认^块可以包括基于由客户端建立 的网络连接而执行的背景进程。在另一个实施例中,对等认ii^块可以基 于d^体文件^Ni器的启动而自动地开始执行。在一个实施例中,媒体文件 播放器和对等认证模块可以被打包在一起,以便于下载或通过CD来购 买,使得安装^^体文件播放器的同时也自动安装了对等认i^块。在一些 实施例中,媒体文件播放器和对等认证模块可以共享一个或多个进程、代 码或可执#^呈序。客户端也可以包括使用监视器,其用来监M户端在线的量和频率。 使用监视器也可以监视用作文件服务器或用作鉴权服务器的客户端的可 用性。客户端113可以通过对等连接来与一个或多个其他客户端113进行通 信。对等交互的实例可以包括共享文件、互联网流、即时消息、电子邮 件、IP网上语音(VoIP)应用以及分布式计算。在一个实施例中,客户 端可以存储一个或多个文件,4吏得一个或多个其他客户端可以访问这些文 件。这可以利用任何对等文件共享或流技术来完成。在一个实施例中,多 个客户端可以使用一个web站点来张贴到客户端当前正在共享的文件和 其他内容的链接。在一些实施例中,客户端113可以使用在对等通信应用 中显示的磁石150来传递一个或多个文件或与一个或多个文件相关的信 息。超级节点100可以包M指定用来接收客户端113要访问 一个或多个 媒体文件的请求的任何客户端或服务器。超级节点也可以指鉴;NJ艮务器。 在一些实施例中,具有用于处理媒体文件请求的软件的超级节点可以包括 客户端113。在一些实施例中,超级节点可以包括曾经因为一定的行为而 被选择作为超级节点100的客户端。针对超级节点的选择标准的实例包 括可靠性阈值、正常运行时间阈值、对等端认证阈值、网络活动性阈值、 连接带宽阈值以及节点定位算法。例如,客户端113可以基于参加到网络 中达到给定量的时间而被选作超级节点。或者例如,客户端113可以基于 稳定性、网络速度或已经下载或上传了一定数目的媒体文件而被选作超级 节点。超级节点可以包括作为鉴权服务器的软件或硬件,管理来自客户端 113要访问文件的请求,以;sj t各客户端和客户端的一个或多个用户进行 鉴权。在一些实施例中,包括用于客户端执行超级节点功能的功能性的软 件可以包括有上述媒体文件播放器和对等认ii^块。在另一个实施例中, 当客户端被选作超级节点时,该客户端可以下载超级节点软件。在一个实 施例中,超级节点软件对于客户端的用户来说可以透明地执行。在另一个 实施例中,可以提示客户端的用户选择该用户是否希望客户端执行超级节 点功能。诸如服务器110、 115、 120之类的服务器和超级节点100可以包括计 算机设备或能够发送和接收信息的设备。在一些实施例中,服务器可以包 括作为逻辑单元的一组服务器,如例如具有执行相关功能的服务器的服 务器中心(serverfarm)或多个分布式数据中心。在一些实施例中,两个 或多个所述服务器可以存在于同一个物理机器中。在一些实施例中,两个 或多个所述服务器可以共享一个或多个资源,该资源包括而不限于处理 器、存储器和带宽。在一些实施例中,超级节点可以与中央许可服务器120进行通信。中 央许可服务器可以作为用于对与多个媒体文件相关的信息进行许可的中 央存储库(central repository )。在所示的实施例中,超级节点100可以与 中央许可服务器进行通信,以便确定应用于特定i^体文件的i午可。超级节 点100也可以与中央许可服务器进行通信,以便验证一个或多个客户端的 身份。在一些实施例中,超级节点100可以将与许可信息相关的信息存储到特定的媒体文件中。在一些实施例中,超级节点可以存储与先前请求的媒体文件相关的许可信息,以便能够更有效地处理后续对那些媒体文件的请求。在另一个实施例中,超级节点可以从中央许可服务器120接收与^#^ 文件相关的许可信息的周期性的更新。在再一些实施例中, 一个超级节点 可以从其他超级节点100接收更新。超级节点和中央许可服务器或各服务 器可以使用任何技术来同步许可信息,这些技术包括周期性更新、推进 更新(pushed updates )、拉动更新(pulled updates )以;S^预测性更新。在一些实施例中,超级节点也可以存储一个或多个媒体文件。在其他 实施例中,集中式内容服务器可以用于将媒体文件存储到系统中。在再一 些实施例中,使用对等文件转发软件,通过中央服务器、超级节点和客户 端的组合可以对媒体文件进行存储。在所示的实施例中,超级节点100还被连接到支付处理服务器115 。 支付处理服务器115可以包括能够处理对应于在两方之间转发资金的信 息的任何服务器,举例来说处理信用卡收费、信用卡赊欠、银行账户提 款和4艮行账户存款。支付处理服务器可以包括一个或多个支付模块,该支 付模块包括安全的基于web业务的接口,以便与小额支付系统、在线支 付系统、移动支付系统或遗产支付(legacypayment)系统相结合。在一 些实施例中,支付处理服务器可以包括对货币兑换的支持,包括兌换到系 统内使用的一种或多种虚拟货币。在一些实施例中,支付处理服务器115 可以用来收集与一个或多个对媒体文件访问的购买相关联的税。例如,支 付处理服务器115可以从对应于下载电影的玩家那里收取信用卡支付。或 者例如,支付处理服务器115可以将资金分配回给内容发布者。例如,给 定的音频文件可以伴随有$1的下载费。支付处理服务器115可以M户 端那里收取$1的费用,然后将$1的部分或全部转发到音频文件发布者所 持有的账户。在一些实施例中,支付处理服务器可以存储与一个或多个用 户帐户相关的信息。在这些实施例中,用户可以在账户中存入一定数目的 钱,并从中扣除与系统相关的交易的账目。在所示的实施例中,游戏服务器100还被连接到广告服务器110。广 告服务器110可以包括能够发送一个或多个广告的任何服务器。在一些实 施例中,广告服务器可以用来产生对应于特定媒体文件和终端用户的目标 广告。在一些实施例中,所讨论的一个或多个服务器可以包括web服务器, 该web服务器可以包括能够传递通过web浏览器可读的内容的任何服务 器,其中通过web浏览器可读的内容包括而不限于HTML页面、Javascript, Javaapplets、 Ajax、 XML、 WML以及图《象。在一些实施例 中,服务器可以接收和发送流内容和业务。客户端113和服务器可以以任何方式、以及通过任何一种网络或多种 网络来连接。例如,在一些实施例中,客户端113可以与超级节点100、 中央许可服务器120、支付处理服务器115或广告服务器110中的一个或 多个直接通信。这些连接以及这些连接中包括的网络可以包括互联网、 本地网、web服务器、文件服务器、路由器、数据库、计算机、服务器、 网络工具或任何其他的能够发送和接收信息的计算机设备。网络可以包括 通过线缆、红外端口、无线信号或任何其他的连接多个计算机设备的方式 连接的计算机设备。网络和连接到这些网络的任何设^^之间可以通过用于 在各计算机设备之间或之内通信的任何通信协议来进行通信,其中任何通 信协i义包括而不限于SSL、 BitTorrent、 HTML、 XML、 RDP、 ICA、 FTP、 HTTP、 SIP、 XMPP (也被称为Jabber )、 TCP、 IP、 UDP、 IPX、 SPX、 NetBIOS、 NetBEUI、 SMB、 SMTP、以太网、ARCNET、光纤分 布式数据接口 (FDDI)、 RS232、 IEEE 802.11、 IEEE 802.11a、 IEEE 802.11b、 IEEE 802.11g以及直接异步连接,或它们的任何组合。网络可 以包括利用用于在各移动设备之间进行通信的任何一种协议或多种协议 的移动电话网,其中协议包括AMPS、 TDMA、 CDMA、 GSM、 GPRS 或UMTS。参考图5,其示出了可以结合磁石应用来使用的媒体文件访问中心的 实例框图。总的看来,媒体文件访问中心可以包括使用户能够访问网络上 可用的媒体文件的计算机应用或web页面。媒体文件访问中心可以包括 使用户能够与多个其他用户或对等端进行聊天、共享^^体文件或者通信的 装置。媒体文件访问中心300还可以包括使用户能够从一个或多个集中位 置浏览、下载和上传^^文件的装置。现在仍参考图5,更详细地,在一些实施例中,^体文件访问中心300 可以包括孤立的应用。在其他实施例中,媒体文件访问中心可以包括web 站点。媒体文件访问中心可以使用任何编程和/或显示语言来实现,这些 编程和/或显示语言包括而不限于HTML、 XML、 WML、 javascript、 Java applets 、 Ajax、 SVG以及Flash 。媒体文件访问中心300可以包括4吏用户能够浏览一个或多个对等端 所拥有的媒体文件的功能性。在一些实施例中,可以为用户提供目录结构, 在该目录结构中,用户可以浏览对等端所拥有的文件。在其他实施例中,可以提W^何其他接口,包括对等端首页、主题和关键词搜索,以及基于 对等端建议的搜索。^^体文件访问中心300还可以包括搜索一个或多个针对媒体文件的 集中位置的功能性。在一些实施例中,这些集中位置可以包括存储有媒体 文件拷贝的服务器,其中^^体文件还可以被一个或多个对等端拥有。在另 一个实施例中,这些集中位置可以包括拥有内容的商业实体。在一些实施例中,媒体文件访问中心可以与媒体文件播放器链接,或 结M体文件播放器来工作。例如,用户可以使用媒体文件访问中心来定 位媒体文件,且当选择该媒体文件时,媒体文件播放器就被启动或激活以 播放所选择的媒体文件。或者例如,用户可以选g体文件来观看,媒体 文件访问中心可以从用户账户中自动扣除与观看该媒体文件相关的费用。 然后,媒体文件访问中心可以向媒体文件播放器发送支付确认和媒体文件 访问密钥。在其他实施例中,单个应用可以既包括^^体文件播放器,又包 ^^体文件访问中心。在一些实施例中,媒体文件访问中心和/或存在于该媒体文件访问中 心的任何内容可以^^级节点100所拥有。在其他实施例中,媒体文件访 问中心和/或存在于该媒体文件访问中心的任何内容可以被集中式服务器 所拥有。媒体文件访问中心可以被配置成与磁石应用一起工作,使得通过媒体 文件访问中心访问的内容可以在其他应用中被访问。在一些实施例中,磁 石应用可以被分配有媒体文件访问中心。在其他实施例中,可以从媒体文 件访问中心单独下栽磁石应用。例如,用户可以使用d^体文件访问中心300来创建和/或编辑视频文 件。然后,该用户可以使用诸如电子邮件、即时消息和VoIP应用之类的 多种不同的应用来分发所创建的文件。在每一个应用中,>^石应用可以显 示磁石,使得用户能够粘贴所创建的文件或粘贴到所创建文件的链接。磁 石应用可以将任何合适的DRM方案、方法、或许可应用到所创建的媒体 文件。例如,如果所创建的媒体文件结合了要求每用户许可的内容,那么, 每次用户使用磁石来请求发送所创建的文件给另 一个用户时,磁石应用可 以使用图4中所示的网络来请求合适的许可,并创建包括用于传输的合适 的DRM信息的^^体文件的拷贝。尽管已经结合特定的优选实施例对本发明进行了特别地示出和描述,然而,本领域技术人员应当理解,其中可以进行各种形式上的和详细的改 变而不偏离如所附权利要求所限定的本发明的精神和范围。
权利要求
1.一种用于显示磁石应用以将媒体应用功能性结合在多个不相关的应用窗口中的方法,该方法包括(a)通过操作系统来接收窗口事件;(b)确定窗口事件指示激活一应用窗口;(c)确定应用窗口与配置了磁石的应用窗口相对应;(d)响应于所述确定,识别磁石的显示配置信息,所述显示配置信息对应于应用窗口;以及(e)根据显示配置信息,在应用窗口中显示磁石。
2. 如权利要求l所述的方法,其中,所i^t石包括图形图标。
3. 如权利要求l所述的方法,其中,步骤(a)包括注册窗口事件监 听器。
4. 如权利要求1所述的方法,其中,所述操作系统包括MICROSOFT WINDOWS,
5. 如权利要求l所述的方法,其中,步骤(b)包括确定窗口事件指 示WM_ACTIVE事件。
6. 如权利要求l所述的方法,其中,步骤(c)包括识别被编译的窗 口类的类名、窗口的进程名或被编译的光标事件类的类名中的至少一个。
7. 如权利要求l所述的方法,其中,步骤(c)包括识别主窗口类名、 第一子窗口类名或第二子窗口类名中的至少一个。
8. 如权利要求l所述的方法,其中,步骤(c)包括把与窗口事件 相关联的类名与允许的应用窗口列表进行比较。
9. 如权利要求l所述的方法,其中,步骤(d)包括识别磁石的窗口 位置坐标。
10. 如权利要求l所述的方法,其中,步骤(d)包括识别磁石的显 示颜色。
11. 如权利要求l所述的方法,其中,步骤(d)包括识别应用窗口 的背景颜色。
12. 如权利要求l所述的方法,进一步包括停止显示在第二应用窗口中显示的磁石。
13. 如权利要求l所述的方法,进一步包括响应于用户与>^石的交 互,将来自第二应用的数据粘贴到应用窗口中。
14. 如权利要求13所述的方法,其中,第二应用包M体分配应用。
15. 如权利要求13所述的方法,其中,所粘贴的数据包括URL。
16. 如权利要求l所述的方法,还包括通过磁石来显示识别至少一 个媒体文件的信息。
17. 如权利要求l所述的方法,还包括通过/^石来显示识别至少一 个最近访问过的^^体文件的信息。
18. 如权利要求l所述的方法,其中,应用窗口包括电子邮件应用。
19. 如权利要求l所述的方法,其中,应用窗口包括即时消息窗口。
20. 如权利要求l所述的方法,其中,应用窗口包括web浏览器。
21. 如权利要求l所述的方法,其中,应用窗口对应于第一应用,第 一应用与对应于>^石的第二应用不相关。
22. —种用于显示磁石应用以4W体应用软件功能性结合在多个不相 关的应用窗口中的计算机执行的系统,该系统包括用于通过操作系统来接收窗口事件的装置;用于确定所述窗口事件指示激活应用窗口的装置;用于确定所述窗口事件与配置了磁石的应用窗口相对应的装置;用于响应于所述确定,识别磁石的显示配置信息的装置,所述显示配 置信息对应于应用窗口;以及用于根据所述显示配置信息,在应用窗口中显示>^石的装置。
23. 如权利要求22所述的系统,其中,所^石包括图形图标。
24. 如权利要求22所述的系统,其中,所述系统包括用于注册窗口 事件监听器的装置。
25. 如权利要求22所述的系统,其中,所述操作系统包括 MICROSOFT WINDOWS,
26. 如权利要求22所述的系统,其中,所述系统包括用于确定窗口 事件指示WM_ACTIVE事件的装置。
27. 如权利要求22所述的系统,其中,所述系统包括用于识别被编 译的窗口类的类名、窗口的进程名或被编译的光标事件类的类名中的至少 一个的装置。
28. 如权利要求22所述的系统,其中,所述系统包括用于识别主窗 口类名、第一子窗口类名或第二子窗口类名中的至少一个的装置。
29. 如权利要求22所述的系统,其中,所述系统包括用于把与窗 口事件相关联的类名与允许的应用窗口列表进行比较的装置。
30. 如权利要求22所述的系统,其中,所述系统包括用于识别磁石 的窗口位置坐标的装置。
31. 如权利要求22所述的系统,其中,所述系统包括用于识别磁石 显示颜色的装置。
32. 如权利要求22所述的系统,其中,所述系统包括用于识别应用 窗口的背景颜色的装置。
33. 如权利要求22所述的系统,其中,所述系统包括用于停止显 示在第二应用窗口中显示的磁石的装置。
34. 如权利要求22所述的系统,其中,所述系统包括用于响应于 用户与磁石的交互,将来自第二应用的数据粘贴到应用窗口中的装置。
35. 如权利要求34所述的系统,其中,所述第二应用包M体分配 应用。
36. 如权利要求34所述的系统,其中,所粘贴的数据包括URL。
37. 如权利要求22所述的系统,其中,所述系统包括用于通it^ 石来显示识别至少 一个媒体文件的信息的装置。
38. 如权利要求22所述的系统,其中,所述系统包括用于通itz^ 石来显示识别至少 一个最近访问过的^^体文件的信息的装置。
39. 如权利要求22所述的系统,其中,所述应用窗口包括电子邮件 应用。
40. 如权利要求22所述的系统,其中,所述应用窗口包括即时消息 窗口。
41. 如权利要求22所述的系统,其中,所述应用窗口包括web浏览器。
42.如权利要求22所述的系统,其中,所述应用窗口对应于第一应 用,该第一应用与对应于>^石的第二应用不相关。
全文摘要
提供了可以被显示在多个不相关的应用窗口中并使用户能够将媒体内容插入到应用窗口中的轻量级应用组件。在一些实施例中,本发明可以包括使用户能够将媒体文件和/或到媒体文件的链接插入到电子邮件、即时消息和其他通信工具中的磁石应用。在一个实施例中,用于显示磁石的方法包括通过操作系统来接收窗口事件;确定该窗口事件指示激活一应用窗口;确定该应用窗口与配置了磁石的应用窗口相对应;响应于上述确定,识别磁石的对应于应用窗口的显示配置信息;以及根据该显示配置信息,在应用窗口中显示磁石。
文档编号G06F9/44GK101308456SQ20081009043
公开日2008年11月19日 申请日期2008年4月14日 优先权日2007年4月13日
发明者成立涛, 陈志良 申请人:北京德诺美科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1