用于传递信息的共享空间的制作方法

文档序号:6456475阅读:221来源:国知局

专利名称::用于传递信息的共享空间的制作方法用于传递信息的共享空间背景人们尝试使用多种通信方法来通信和保持联系,如邮件、电话、数字照片、白板、电子邮件、即时消息传送(IM)应用程序。然而,每一种技术都具有相关联的限制并可能导致用户不满意的体验。例如,即时消息、联网的数字相框、和电子邮件可能是不合时的,并约束可以传递的信息量。像电话和IM通信等某些通信方法可能由于迫使一方实时响应而造成侵入。像电子邮件和邮件通信等被动的通信方法允许延迟响应,但通常由于一方可以等待响应而较不具侵入性。然而,被动的方法在情感表达性中可能是非个性的和不足的,因为它们利用采用陈述/回复/陈述/回复通信结构的回合制(例如,电子邮件和即时消息传送)。其它通信方法缺少逼真度、各种表达性,或限于在临时会话(例如,即时消息传送、虚拟白板)中提供信息。一旦会话结束,则信息丢失。例如,白板通常被用作传递自发的手写观点和概念的媒介。然而,白板上显示的信息对于远程交互和协作而言并不是理想的。部分地由于与视频电话会议设备相关联的限制,远程用户难以阅读和集中在白板的相关部分。例如,写在白板上的墨水笔划可能难以看到,且可能不能由远程用户擦除或编辑。因此,实时多用户物理白板协作是受限的,并且对远程参与者而言通常是不令人满意的体验。概述提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。该概述不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在用于帮助确定所要求保护的主题的范围。各实施例提供用于传递信息的"共享空间"。该共享空间可被配置成允许多个用户通过使用该共享空间来通信。在一实施例中,共享空间应用程序被配置成提供可由两个或更多个用户共享来交互的持久空间。用户可以具有多个分开的空间来与其它个人和/或群体进行共享和通信。在各实施例中,可以使用用于共享和传递各种信息的简单通信工具的灵活聚集来填充共享空间并与其交互。该通信工具和共享空间向用户提供自然且方便地交互和通信的持久手段。通过阅读以下详细描述和审阅相关联附图,这些和其他特征和优点将是显而易见的。可以理解,前述一般描述和以下详细描述均仅是说明性,且不限制所要求保护的本发明。附图简述图1是计算环境的框图。图2是计算环境的框图。图3是共享空间体系结构的框图。图4是示出使用共享空间的流程图。图5A-5K示出用于与共享空间交互的用户界面。图6是示出用于实现本文中所述的各个实施例的计算环境的框图。详细描述各实施例提供共享空间,其中多个用户可以使用该共享空间来传递信息。该共享空间可被配置成允许多个用户通过使用该共享空间来通信。在一实施例中,共享空间应用程序被配置成提供可由两个或更多个用户共享和使用以便使用各种工具来通信的持久空间。计算设备的显示器可被用来向使用该共享空间应用程序的用户呈现共享空间以共享这一空间。用户可以使用该共享空间应用程序所提供的各种工具来与该共享空间实时地或在其方便时进行交互。在一实施例中,多个共享空间可被呈现在一个或多个显示器上,从而允许用户同时与各个个人和/或群体进行交互。即,用户可以拥有分开的空间来与不同的个人和/或群体保持联系和通信。在各实施例中,共享空间可以使用允许共享各种信息的简单通信工具的灵活聚集来填充。例如,用户可以使用通信工具来用图像、文本、音频、手绘图和手写文字(例如,数字墨水)和/或其它数据来填充共享空间。这些通信工具被配置成提供自然和方便的通信和交互。在一实施例中,共享空间是持久的且总是对相关联的参与者保持可用,即使是在参与者未在使用该空间和/或未登录(例如离线)时。用户可以邀请一个或多个参与者共享一个或多个空间。共享空间的参与者可向其添加、从中删除和/或以其它方式来修改该空间。其后,该共享空间的所有参与者看到或将看到该交互的同一结果。共享空间应用程序被配置成允许参与者将内容保存到私有剪贴簿,因为共享空间的特性可以是高度瞬时的。此外,共享空间应用程序被配置成使用共享的和专有的数据,但并不受限于此。在一实施例中,共享空间应用程序还被配置成启用"实况连接"。该实况连接使多个参与者能够使用该共享空间应用程序来参加实况音频和/或视频通信。图1是一实施例下的计算环境100的框图。计算环境100可以被描述为各组件的网络,其中相关联的组件以提供操作功能的方式通信地耦合。多个计算设备102-106彼此通信,以提供计算设备的网络。多个计算设备102-106还可以与服务计算设备107通信。每一计算设备102-107都包括被配置成在计算设备102-107之间提供通信功能的连网和安全组件。计算设备102-106可以包括台式计算机、膝上型计算机、图形输入板计算机、手持式设备和其它通信设备。如图1所示,每一计算设备102-106包括共享空间应用程序108-112,以下详细描述。服务计算设备107包括空间管理程序组件114,但并不限于此。空间管理程序组件114可被配置并用于管理一个或多个共享空间的各方面,但并不受限于此。例如,空间管理程序组件114可以维护与共享空间相关联的读写主数据文件。在一实施例中,每一共享空间108-112和空间管理程序组件114都包括结合计算设备102-107的处理器执行的软件应用程序。如下所述,每一共享空间应用程序108-112被配置成向与该共享空间相关联的多个用户提供持久空间。为简化以下讨论,在描述共享空间应用程序的功能和使用时,引用计算设备102和相关联的共享空间应用程序108。如下所述,用户可以使用计算设备102和相关联的共享空间108来与共享空间的其他用户进行通信和交互。共享空间可以被描述为可由一个或多个用户以各种方式用来通信的持久画布或交互式窗口。即,共享空间应用程序108被配置成持久存储关于相关联的共享空间的用户交互,包括各种表达。相应地,不管其物理位置,与该共享空间相关联的所有用户都看到该用户交互。在各实施例中,在共享空间中所创建的、放置的、或以其它方式定位的任何内容(墨水、视频文件、音频文件、文本、图片等)都被持久存储在该共享空间中,直到被删除或以其它方式被修改为止。用户可以使用共享空间应用程序108来与多个分开的空间和/或用户进行交互。例如,用户可以使用共享空间应用程序108来创建使该用户能够与各个个人和/或群体保持联系的多个共享空间。用户与共享空间的交互被称为表达。共享空间应用程序108被配置成将表达持久存储在该共享空间中,直到该表达被与该共享空间相关联的用户删除或以其它方式修改为止。例如,如果用户在共享空间中绘制了图片或张贴了照片,则该项目保持在该共享空间中,即使其被其它项目覆盖。共享空间应用程序108可被安装在计算设备102上。例如,共享空间应用程序108可作为操作系统(OS)安装过程的一部分来安装。如上所述,用户可以使用共享空间应用程序108来与共享空间的一个或多个用户或参与者进行通信。另外,共享空间的传递可被提供给多个相关联的计算设备。共享空间向多个计算设备的通信使得协作和交互即使对远程位置的用户而言也成为快乐的体验。因此,共享空间应用程序108向企业、家庭、朋友以及其它各方提供用于通信交互的方便的媒介。例如,共享空间的传递可被提供给通过诸如因特网等网络通信的多个超移动计算设备和相关联的用户。在一实施例中,共享空间的传递是使用在线文件存储服务来通过因特网提供的。在另一实施例中,共享空间的传递是使用诸如例如点对点同步服务等点对点服务来向多个计算设备提供的。共享空间的传递可被提供给计算网络的计算设备102-107,计算网络诸如无线局域网(WLAN)、局域网(LAN)、广域网(WAN)、其组合、和/或某种其它类型的计算和/或通信网络。在一实施例中,计算环境100是允许一个或多个计算设备、通信设备、数据库等根据所需实现来通信的分布式计算机网络。计算环境100的各组件可以使用有线、无线、有线和无线的组合、以及其它通信技术来彼此通信地耦合。共享空间的传递还可以包括各种通信方法的组合。传递共享空间的其它实施例包括文件/文件夹共享方法和/或同步方案。例如,诸如FOLDERSHARE(文件夹共享)等文件/文件夹共享程序可被用来传递共享空间和相关联的所显示的内容。在一实施例中,共享空间应用程序108被配置成操作、持久存储和/或显示主文件的内容,诸如例如主文件的只读副本。在共享空间被修改或以其它方式改变时主文件可被更新。即,共享空间应用程序使用主文件来跟踪和维护对共享空间的改变。在一实施例中,主文件与每一共享空间相关联。每一计算设备102-106都可以使用主文件来显示共享空间的内容,包括最近对共享空间的改变和修改。在一实施例中,每一计算设备102-106与对等网络相关联并使用与共享空间相关联的主文件。在与共享空间相关联的计算设备102-106连接并在线时,主数据文件将状态从只读状态改变为读写状态。此后,在对相关联的共享空间进行添加、删除、和其它改变时,本地主数据文件实时地同步。在计算设备断开连接(例如,用户离线)时,本地主数据文件被重新配置成只读。此后,在下一次用户登录共享空间并且共享空间应用程序108连接到读写主文件时,该读写主文件被复制覆盖(例如替换)本地只读主文件,以便在用户断开连接的同时用所发生的所有添加和改变来更新该主文件。因此,由于发生对共享空间的更新,所以每一主文件被更新和/或与该共享空间的其它相关联的主文件同步。因此,共享空间应用程序108用于确保当前彼此通信(例如,连接的或登录的)的用户看到同一信息。共享空间应用程序108被配置成修改主文件,且共享空间的传递在用户与另一参与者和相关联的主文件通信时通过使用该主文件来提供。例如,共享空间的传递可以在用户具有通过在线存储服务到相关联的主文件的和/或直接8到另一相关联的计算设备(例如对等)的连接时提供。如上所述,共享空间应用程序108可被配置成维护相关联的计算设备的本地存储中的最后版本主文件的只读副本。如果用户离线,则共享空间应用程序108不提供对只读主文件的访问。然而,用户可以查看该主文件的只读副本,但不能对该主文件进行改变。如下所述,用户还可以将存储在该只读主文件中的一个或多个表达保存到剪贴簿中。如果在一用户离线时另一用户改变了与共享空间相关联的主文件,则该离线用户将看不到这些改变,直到他们登录回相关联的共享空间为止。因此,用户必须登录到共享空间以便共享空间应用程序108可以访问并使用该读写主文件来用该用户离线以来的任何改变更新共享空间。作为示例,假定用户A和用户B拥有一共享空间。用户A在线。在用户A打开该共享空间时,共享空间应用程序访问主文件。作为一个示例,共享空间应用程序可以从虚拟硬盘驱动器来访问主文件。随后,用户A向该共享空间添加图片。共享空间应用程序向主文件和用户A的本地只读文件添加图片。用户B是离线的,且打开该共享空间,其示出用户B是离线的。用户B不能看到用户A刚刚添加的图片。此后,用户B上线,如连接到因特网。一旦用户B上线,则共享空间应用程序访问并读取主文件,并更新用户B的机器上的本地只读文件。现在用户B看到用户A添加到共享空间的图片。在一实施例中,读写主文件是在服务计算设备107上存储并维护的。因此,与共享空间相关联的用户需要具有网络连接并在线以对该共享空间和相关联的读写主文件进行改变。在其它实施例中,主文件可以使用web服务来在对等机器和/或用户的计算设备上存储和维护。随后当与共享空间相关的所有参与者在通信时,主文件可以复制到全部的参与者。在一替换实施例中,用户可以在任何时候对其本地文件进行添加和/或改变。此后,在每一参与者重新连接到共享空间(例如登录)或连接到另一参与者(例如对等)时,进行同步以聚集每一参与者所进行的所有离线改变,以使得每一参与者"看到"同一空间。图2是一实施例下的计算环境200的框图。计算环境200包括与服务计算设备204通信的计算设备202。计算环境200的各组件可以使用有线、无线、有线和无线的组合、以及其它通信和连网技术来彼此通信地耦合。尽管示出了一个计算设备202和一个计算设备204,但其它实施例可以包括多个这种计算和服务计算设备。在一实施例中,共享空间可以在使用诸如超移动计算设备等两个计算设备的至少两个用户之间创建和定义。如图2所示,计算设备202包括共享空间应用程序206。共享空间应用程序206被配置成可以由多个用户共享来交互的持久空间。根据该实施例,共享空间应用程序206包括用于维护空间的多个相关联的组件。共享空间应用程序206包括但不限于启动组件208;认证组件210;联系人组件212;画布分派组件214;媒体记录程序组件216;帧捕捉组件218;历史/剪贴簿管理程序组件220;空间管理程序组件222;内容对象创建程序组件224;数据同步程序组件226;文件创建程序组件228;响应/请求处理程序组件230;以及空间画布组件232。在各替换实施例中,各组件的功能和操作可被组合来提供更少的组件和/或所需实现。启动组件208可被配置为用户界面并用于提供用户认证、空间选择和/或参与者选择,认证组件210可被配置并用作认证服务,如PASSPORT服务。联系人组件212可被配置并用于定位和/或维护用户联系人列表。例如,联系人组件212可被配置成连接到MSN服务来展示作为共享空间的参与者的、用户的MSN联系人列表。画布分派组件214可被配置并用于创建新空间画布并显示空间中的对象。媒体记录程序组件216可被配置并用于记录音频、图像、视频和其它对象/表达。例如,媒体记录程序组件216可以使用本地照相机、话筒、和/或其它组件来将图像、音频和视频作为空间中的表达来记录。继续参考图2,帧捕捉组件218可被配置并用于捕捉空间的用于历史和/或剪贴簿的"快照"图像。历史/剪贴簿管理程序组件220可被配置并用于管理空间的"快照"的按时间顺序的集合,并向用户提供审阅所选表达和/或将其存储在被称为剪贴簿的私有本地储存库中的机制。历史/剪贴簿管理程序组件220可以记录空间中发生的每一事件。因此,用户不必不断地使用保存操作,这允许与该空间的更非正式交互。空间管理程序组件222可被配置并用于管理空间的各方面。例如,空间管理程序组件222可被配置并用于管理主文件的本地副本。内容对象创建程序组件224可被配置并用于管理空间中的对象和其它表达。例如,内容对象创建程序组件224可被配置并用于管理图像、墨水、文本、和/或其它用户表达。数据同步程序组件226可被配置并用于在用户计算设备202和服务计算设备204之间同步数据文件。例如,数据同步程序组件226可被配置并用于在用户计算设备202和服务计算设备之间同步主数据文件。文件创建程序组件228可被配置并用于管理共享空间数据文件,包括但不限于创建、打开、和保存共享空间数据文件。响应/请求处理程序组件230可被配置并用于管理计算设备之间的通信。例如,响应/请求处理程序组件230可被配置并用于管理计算设备202和服务计算设备204之间的通信。空间画布组件232可被配置并用作启用用户与空间的交互的用户界面。根据该实施例,服务计算设备204包括多个共享空间组件。如图2所示,服务计算设备204包括但不限于数据同步程序组件234;响应/请求处理程序组件236;以及空间管理程序组件238。数据同步程序组件234可被配置并用于在服务计算设备202与一个或多个用户计算设备之间同步数据文件。例如,数据同步程序组件234可被配置并用于在服务计算设备204和用户计算设备202之间同步主数据文件。响应/请求处理程序组件236可被配置并用于管理服务计算设备与一个或多个其它计算设备之间的(包括与其它服务计算设备之间的)通信。空间管理程序组件238可被配置并用于管理空间的各方面。例如,空间管理程序组件238可被配置并用于管理主文件的读写主副本。其它实施例也是可以获得的。共享空间应用程序206被配置成使用并提供共享空间中的各种对象。在一实施例中,共享空间应用程序206使用并提供表示正共享一空间的其他用户的参与者指示符(例如,图标、数字图像等);该空间中的表达(例如,墨水、文本、照片、视频、实况连接等);以及多个交互式工具。例如,图标(例如,默认人或群体图标)或数字图像可被用于表示正共享一空间的个人或群体。数字图像或照片可以使用联系人组件212连同与个人相关联的名称或群体名称一起导入或丢弃。联系人组件212可被配置成11向共享空间应用程序206传播名称/照片更新/改变。个人参与者指示符可以包括参与者状况或状态(例如,在场、忙碌、不在场等)的指示。群体参与者指示符还可以包括处于每一状态的参与者的计数(12人中4人在场等)。如下所述,在用户敲击一参与者指示符时,建立实况连接(例如,音频和/或视频——取决于可用设备硬件和服务特征)。表达包括参与者在空间中创建的任何项目,包括墨水、图像、文本、视频、实况连接等。例如,参与者可以使用图形输入板笔来绘制图片或书写一些文本。例如,用户还可以使用手指和触摸屏来在空间中书写墨水。在一实施例中,表达可以包括3种状态正常、聚焦、和放大,但不限于此。在正常表达状态中,新表达出现在旧表达的顶部(除总是出现在顶部的实况连接之外)。先前保持的实况连接可以由诸如实况连接图标等实况连接指示符来表示。文本表达可以通过在文本区域中触摸并上下拖曳来滚动。对共享空间中的表达(或表达组)进行聚焦用于在该项目周围显示选取框。以下表1列出多个表达以及每一表达是如何接收聚焦的。表1<table>tableseeoriginaldocumentpage12</column></row><table>在聚焦状态中,单独的表达(单独选择)或表达组(组选择)可以具有聚焦。在表达(或表达组)具有聚焦时,其被临时地显示在其它表达的顶部,包括周围的选取框、放大按钮、和移动手柄。失去聚焦将该表达(或组)以查看顺序返回其先前位置。用户可以拖曳选取框以移动表达(例如,从中心或移动手柄拖曳)、调整表达的大小(例如从边缘和角落拖曳)、以及旋转表达(例如拖曳移动手柄或旋转柄)。在一实施例中,对表达的任何改变(例如,移动、调整大小、旋转)用于将经改变的表达移动到査看顺序的顶部。改变对表达的聚焦而不对该表达进行任何改变用于以査看顺序将该表达返回到其先前位置。用户可以通过敲击共享空间的空白区域或选择另一表达来清除聚焦。粘贴到共享空间的表达被自动地给予聚焦。用户可以敲击用于将表达视图改变为放大状态的放大按钮。在放大状态中,表达被放大来包围显示器的实质部分(工具保持可见)。在放大状态中,表达不能被移动、调整大小或旋转。用户可以敲击用于将表达返回聚焦状态的关闭按钮。以下表2列出与各表达相关联的多个上下文控件和信息。表2表达控件信息(元数据)墨水关闭将副本保存在剪贴簿中删除时间戳作者(只限〉2参与者)图像关闭将副本保存在剪贴簿中删除裁剪(工具)时间戳作者(只限〉2参与者)大小位置(如果记录了的话)视频关闭将副本保存在剪贴簿中删除裁剪时间戳作者(只限〉2参与者)大小位置(如果记录了的话)音频(音乐)关闭将副本保存在剪贴簿中删除时间戳作者(只限>2参与者)大小13<table>tableseeoriginaldocumentpage14</column></row><table>共享空间应用程序的工具被配置成方便照片、视频、音频、墨水、文本和其它用户表达的共享。这些工具可被用来创建、选择、修改并保存表达。在一实施例中,这些工具是经由空间画布组件232来提供的,并被配置为多个按钮(例如,触摸屏按钮、图形输入板按钮、图标等)。按钮类型包括但不限于工具箱托盘按钮展开/折叠工具箱托盘;选择工具并随后折叠工具箱托盘的工具箱按钮;激活控件(对模态按钮)或展开/折叠选项板(对选项板)的工具按钮;以及从选项板中选择项目/模式/选择并关闭该选项板的选项板按钮。工具按钮的外观可被改变以反映当前选项板选择。以下表3示出一实施例下的每一工具箱、工具和选项板。表3<table>tableseeoriginaldocumentpage14</column></row><table>墨水浓度浓度选项板墨水颜色颜色选项板笔划擦除器从……获取材料我的图片(默认)我的视频我的音乐剪贴簿历史文本文本(默认)样式样式选项板大小大小选项板颜色颜色选项板字体字体选项板选择单独选择(默认)组选择(有界的表达)复制粘贴撤消剪贴簿共享空间应用程序206和相关联的工具允许参与者与空间交互,并在该空间中任何所需位置处定位表达。此外,空间参与者在其方便时自由地与空间交互。没有刚性的通信要求或协议(例如,用户1通信之后是用户2通信再之后是用户3通信等)。如上所述,共享空间应用程序206被配置成在共享空间的各参与者之间提供实况连接。在一实施例中,实况连接被配置成相当于具有少许例外的表达。实况连接可被用来参与(并存储)实况音频/视频会话(例如像视频会议),或记录对于另一参与者的消息(例如像音频邮件或视频邮件)。在任一情况下,方法和控件都是相同的。在通过敲击参与者图标打开实况15连接时,用户被提示选择一种类型的实况连接。实况连接的类型取决于服务订阅的类型。以下表4列出一实施例的实况连接的订阅类型。表4<table>tableseeoriginaldocumentpage16</column></row><table>实况连接被配置成提供本地("我")和远程("你")视图。在群体实况连接中,该群体的每一成员都有"你"视图。在打开实况连接的同时,提供了多个控件和信息。提供持续时间信息以显示实况连接的持续时间(例如分钟:秒)。(向音频和视频两者)提供用于将设备话筒和照相机静音以使得其他人不能听到或看到你的静音按钮。关闭按钮在被敲击时用于提示用户选择"取消"、"保持"或"擦除"。选择取消返回到实况连接,好像关闭按钮未被敲击过一样。选择保持将实况连接置于相关联的空间,并由一实况连接图标来表示。选择擦除丢弃所缓存的实况连接。共享空间应用程序206还被配置成使用历史/剪贴簿管理程序组件220提供剪贴簿。剪贴簿提供对表达和空间快照的方便的私有存储。剪贴簿可以通过敲击剪贴簿工具来打开。剪贴簿被配置成提供多个视图(例如,列表、图标、縮略图等)和分组/分类(例如,按参与者,按日期、按表达类型、按位置等)。剪贴簿还包括用于定位该剪贴簿中的表达和其它项目的搜索/过滤工具。任何表达或空间快照都可以存储在剪贴簿中。剪贴簿包括用于将当前空间的快照副本以图像的形式保存在剪贴簿中的"保存空间"按钮。剪贴簿的内容存储在操作文件系统中的名为"我的剪贴簿"的文件夹中。"我的剪贴簿"是"我的图片"、"我的记事簿"和"我的音乐"的对等体。在安装共享空间应用程序时,可以创建"我的剪贴簿"文件夹。剪贴簿中的表达同样具有3种状态(正常、聚焦、放大)和同样所有的相应控件以及它们在空间中进行的行为,除以下控件被改变和添加之外移动、调整大小、旋转不可用;"将副本保存到剪贴簿"被"复制到空间"所替换;"打印"按钮打印表达或空间快照。"获取材料"工具箱被配置成提供浏览项目和从操作文件系统中将项目导入空间的方便的方式。"获取材料"工具箱可被用来从诸如我的图片、我的视频和我的音乐等各个文件夹中浏览和导入项目。从"获取材料"工具箱中敲击"我的<材料>"工具打开浏览操作文件系统中的相应<材料>文件夹的内容的査看程序。提供了多个视图(例如,列表、图标、縮略图等)和分组/分类(例如,按参与者,按日期、按表达类型、按位置等)。还提供了搜索/过滤工具。表达同样具有3种状态(正常、聚焦、放大),和同样所有的相应控件和它们在空间中进行的行为,除以下控件被改变和添加之外移动、调整大小、旋转不可用;"将副本保存到剪贴簿"被"复制到空间"所替换。共享空间应用程序206还被配置成使用历史/剪贴簿管理程序组件220提供历史。在一实施例中,历史是在服务计算设备204中维护并从中访问的。历史可被配置为空间的简单的只读临时视图。在一实施例中,空间历史可以全屏显示,具有以下控件单独选择(默认);组选择(有边界的表达);以及复制。在另一实施例中,历史可以作为列表、縮略图等来显示。历史视图包括可被用来控制时间(例如占据工具托盘空间)的水平滚动条。历史中的表达同样具有3种状态(正常、聚焦、放大),和同样所有所显示的相应信息,但不具有任何修改控件。另外,"将副本保存到剪贴簿"被"复制到空间"所替换。在一实施例中,共享空间应用程序206可被配置成提供3个用于访问自动存储的笔划、片段和其它表达的界面。第一个是无限撤消和重做。使用撤消和重做,用户可以访问片段的任何过去的状态。第二个是时间滑动条。使用时间滑动条,用户可以直接指定时间点,或使用跳转按钮到达离散的"感兴趣的"时间点。第三个是基于上下文的搜索,这可以被实现为行为。搜索行为允许用户基于诸如时间、片段、位置、片段大小、墨水颜色等上下文信息来检索先前的笔划、片段和其它表达。搜索结果在屏幕上被示为一组縮略图,且用户可以通过点击縮略图来访问历史中的点。图3是一实施例下的共享空间体系结构300的框图。共享空间体系结构300可被配置为包括核心层302的分层体系结构。核心层包括服务和配置组件302a、事件处理组件302b和显示上下文组件302c。模型层304定义文档、用户界面、工具和交互样式的基本接口。模型层304包括空间模型组件304a、用户界面模型304b、工具模型304c、交互组件304d和物理组件304e。模型层304包括定义共享空间组件的抽象的接口和抽象类。模型层304可以与通用层306分开以确保模块和组件的可扩展性、灵活性、可重用性和互操作性。空间模型组件304a定义可以作为空间的一部分的基类和对象功能。用户界面模型304b定义适于室件(roomware)组件的替换用户界面概念。工具模型304c向空间提供附加功能。突出的示例是工具条或浏览器。空间浏览器具有在用户界面和空间之间提供连接的角色。另外,工具模型304c控制可能的工作模式,例如耦合的程度。物理模型是与共享空间相关的"真实"世界的各部分的表示。例如,术语"站"指的是运行共享空间应用程序的计算机。交互组件304d支持不同样式的交互,包括定义不同的交互样式。通用层306可以提供用于交互和通信的功能,如团队协作、会议和其它情况。通用层306包括链接和引用组件306a、显示区域组件306b、工具条组件306c、点击组件306d、拖放组件306e、空间组件306f、交互组件306g、浏览器组件306h、姿势组件306i和站组件306h。通用层306包括像文本、图形和非正式的手写输入等标准数据类型,以及用于例如通用协作支持的私有和公共工作空间。超媒体数据模型类的实例作为共享对象空间的一部分被包括。因此,用户可以同时访问这些对象。通用文档元素包括工作空间(页面的等效物)、手写输入(涂鸦)、文本和图像。用户界面的主元素包括片段和覆盖物。交互可被分为"片段",其定义了对诸如文档浏览器等工具可用的空间。另外,"覆盖物"可被自由放置。文档浏览器和工具条由通用层306提供。对于与各组件的交互,存在除使用鼠标和键盘外的可用的交互技术。这些技术包括用笔或手指来书写的姿势、以及对拖放的支持。为生成上述姿势事件,绘制的每一笔划都可被发送到姿势识别程序。共享空间体系结构300还包括具有同步组件308a、复制组件308b、认证组件308c和安全组件308d的基础层308。图4是示出一实施例下的用于使用共享空间应用程序的过程的流程图。如上所述,共享空间可以在两个或更多用户之间共享。在用户在线且相应的计算设备彼此通信时,共享空间可以根据任何参与者改变来更新。如上所述,一旦用户成为共享空间的参与者,则该用户可以用各种方式与共享空间的另外的一个或多个参与者交互和通信。在400处,在用户的计算设备上安装共享空间应用程序。在402处,提示用户在使用共享空间应用程序之前注册。收集与该用户相关联的简档信息并可将其存储在服务计算设备上或作为注册过程的一部分来本地地存储。在404处,在注册之后,已注册的用户可以创建或加入空间来与其他已注册的用户共享。每一空间都可以具有标识该空间的唯一名称。在创建空间之后,空间发起者可以邀请多个其他用户加入所创建的空间。该用户可以使用联系人储存库(例如,消息通信程序联系人("伙伴")、OUTLOOK联系人、WINDOWSVISTA联系人等、或联系人的聚集)来标识要共享所创建的空间的可能用户。一旦该用户邀请了另一用户加入空间,则共享空间应用程序被配置成向被邀请者发送邀请消息。被邀请者可以经由电子邮件、IN、SMS、超移动PC上的外壳应用程序来接收该邀请消息,禾P/或在被邀请者下一次打开共享空间应用程序并通信时,经由该共享空间应用程序来接收。每一被邀请的用户可以接受该邀请来在本地创建复制的空间文件。在406处,打开共享空间并向用户呈现持久的白板画布。如果用户在19线,则对该画布进行的任何参与者改变都被自动地更新并呈现给该用户。在408处,参与者可以使用多个共享空间工具来添加表达、修改表达、或以其它方式与该共享空间的画布交互。每一在线参与者都看到其它参与者的交互和经更新的空间画布。如果用户离线但在另一参与者进行了改变之后回到在线,则该参与者的画布随后被更新来显示改变。另外,每一参与者都可以将空间中的任何对象保存到本地剪贴簿中。在一实施例中,剪贴簿是空间独立的,但可以与任何空间一起使用。如上所述,共享空间应用程序还使用历史纪录或历史来跟踪和维护空间修改过程。参与者可以使用该历史纪录来记起任何时候的任何步骤。如上所述,实时数据同步(例如,在参与者的交互之后、在上线并打开共享空间之后等)可由共享空间应用程序和相关联的组件来提供,以使得所有在线参与者都能够"看到"相同的、空间画布形式的、持久存储的空间。该同步过程部分地取决于参与者正用来通信的通信网络的类型。例如,对等通信网络使用与多个参与者计算设备和服务计算设备之间的同步过程相比所不同的同步过程。在410处,用户关闭空间,并且用户的计算设备和其它参与者计算设备之间的连接被自动地关闭。此后,释放与空间画布相关联的图形用户界面(GUI)和其它实用程序资源。现在参考图5A-5K,各框图示出一实施例下的用于访问共享空间并与其交互的用户界面。如图5A所示,用户界面500描绘与共享空间应用程序的当前用户相关联的多个共享空间。用户界面500是在用户成功地完成认证过程(例如,用户名、口令、以及其它登录凭证)之后示出的。用户界面500示出用户具有与一个或多个共享空间相关联的多个联系人。如图所示,用户拥有具有包括Peter502、Rose504、Robin506和Mary508等的联系人的共享空间。用户界面500还包括用于定义关于相关联的联系人510的新空间的框。如上所述,与共享空间相关联的每一联系人502-508都可以包括用户可以用来个性化空间的参与者图片或其它标识标记。图5B是示出多个共享空间的用户界面500的框图。各联系人之间的连线定义多个共享空间。例如,Robin506和Tom512定义与该用户的共享空间。Jacky514定义与该用户的共享空间。Peter502、Rose504、Maggie51620和Frank518定义与该用户的另一共享空间。如上所述,用户可以使用共享空间应用程序来定义多个共享空间以与选择的参与者保持联系或以其它方式交互。如图5B所示,用户选择了Tom512("x"加亮了用户选择)来在共享空间中交互。用户未选择Robin506,所以该交互将只是与Tom512的,直到用户邀请Robin506加入该空间或打开不同的空间为止。在选择Tom512之后,用户可以使用按钮520来进入空间。在该点处,如果Tom在线,则向Tom512发送加入相关联的空间的通知。如果Tom离线或未打开其共享空间应用程序,则将在Tom打开该共享空间应用程序并上线时传递该通知。图5C示出用户选择了与Tom512共享该空间之后的用户界面500。状况指示符522示出Tom512"在线"。如图5C所示,空间画布524是空白的。gp,Tom512和用户都没有向空间画布524添加任何东西。向用户呈现了用于与空间画布524交互的多个工具526。图5D示出处于一状态中的用户界面500,其中用户可以从多个对象(例如,图片、视频、音频等)中选择要包括在与Tom512的共享空间中的对象。对象528-538可以从本地存储、对等源或某一在线源中选择。如图5D所示,用户选择了对象528来插入到空间画布524上。即,所插入的对象528是用户所提供的表达。Tom512实时地看到其空间画布上的对象528,因为其在线。在一实施例中,用户还可以使用幻灯片放映按钮540来将幻灯片放映插入到空间画布524上。一旦用户选择了再多一个对象,则用户可以使用插入按钮542来将一个或多个对象插入到空间画布524上。图5E示出用户选择了对象528并在空间画布524上插入了对象之后的用户界面500。一旦用户在空间画布524上定位了对象528,则使该用户可以使用多个附加上下文相关的工具544来与所插入的对象528交互。另外,用户可以使用把手546和548来扩展/收縮和/或旋转对象528。图5F示出Tom512在空间画布524上绘制墨水图画550之后的用户界面500。在Tom512创建墨水图画550的每一阶段,该用户都能够看到该图画。图5G示出Tom512在空间画布524上插入对象552之后的用户界面500。Tom还在他插入的对象552下键入了一些文本554。如上所述,用户和Tom512在其各自的、诸如触摸屏交互式显示器等显示器上看到同一交互和信息。如上所述,共享空间应用程序允许某一参与者自由地与共享空间交互。图5H示出用户将Tom插入的对象552移动到空间画布524上的新位置之后的用户界面500。墨水550现在部分地被重新定位的对象552所覆盖。图5I示出Tom512用墨水书写了询问该用户为何移动对象552的问题(why)之后的用户界面500。图5J示出剪贴簿视图558中的用户界面500。用户将多个项目560-568保存到了剪贴簿。在一实施例中,剪贴簿的内容本地地存储到用户的计算设备中。用户界面500还包括用户可以点击来前往历史视图的按钮570。图5K示出历史视图559中的用户界面500。历史包括共享空间应用程序所记录的、表示参与者对空间和空间画布524的改变和交互的多个历史细节572-582。用户还可以使用用户界面500来标记历史中除自动保存之外的用于保存的时间。在一实施例中,历史被保存到服务计算设备并在用户连接并在线时对用户可用。如上所述,在一实施例中,共享空间应用程序可以包括或安装在计算设备上,并与用于管理共享空间的各方面的服务计算机相关联。例如,共享空间应用程序可以安装在超移动个人计算机上。超移动PC的便携性使用户能够以即时、方便、和容易访问的方式来使用共享空间应用程序。共享空间应用程序可被配置成提供共享空间以允许多个用户彼此通信和交互。空间可以总是对该空间的所有参与者可用,而不管是否存在网络连接。艮P,一旦空间被创建,则即使参与者当前未连接或不在线时,该参与者也自由地与该空间交互。在参与者连接和/或上线时,任何改变都被更新到其他参与者空间。此外,共享空间应用程序使任何空间参与者都能够在任何时候添加、修改、创建表达,而不要求其他参与者加入会话。因此,共享空间应用程序允许一定程度的自由度,从而允许所有参与者在他们选择的任何时候进行自我表达。同样,共享空间应用程序允许表达接收者在他们选择的任何时候进行响应的自由。没有立即响应的直接的或蕴含的义务。22共享空间应用程序可以提供持久画布,其中所有参与者表达都是在单个显示器上可见的。例如,超移动个人计算设备的显示器可被用来显示共享空间,其中用户表达可以持久存储在显示器中。用户不必来回滚动以寻找所需信息,因为表达(包括隐藏的表达)包含在空间画布和显示器的可视区域中。共享空间被配置成对所有在线的并且打开该空间的参与者而言基本上在视觉上是相同的。另外,共享空间应用程序被配置成使所有参与者实时地或基本上实时地看到对共享空间的编辑和其它修改(例如,取决于连接、带宽和其它因素)。用户可以使用笔或手指通过在空间画布上拖曳笔或手指(称为"划"),来在空间的任何位置处绘制任何手写笔划。用户可以通过按下指示笔的修改器按钮或用手指来画出涂写笔划(称为"划后"(metastroking))来擦除。共享空间应用程序被配置成允许所有参与者在编辑过程发生时都看到它。例如,参与者在字符被键入时可以看到字符(例如,你看到改正)、在墨水被绘制(和擦除)时看到墨水等。因此,共享空间应用程序创建许多其它应用程序中缺少的在场的感觉。如在此所述,共享空间应用程序向用户提供使用情感上有表现力和/或被动的通信来保持联系的机制,但不限于此。由于商务关系、家庭和朋友分散在更大的距离上,共享空间提供方便的而非打扰的和强制的通信方式。例如,考虑家庭,其中家庭成员居住在国家的不同部分。整个家庭可以通过使用共享空间来彼此通信和参与。兄弟姐妹们可以张贴重要的生活事件的照片或只是普通的日常事件。其他家庭成员也可以使用该共享空间来对照片进行评论、寻求建议和/或共享观点。自然地作为注释、图画、个人笔记、视频、和/或音频剪辑等的交互流由各参与者添加。多个参与者无论在何时査看共享空间,他们还可以偶然参与实况连接。在另一示例中,考虑由彼此依赖以向消费者提供重要服务的多个企业单元所组成的企业。企业单元位于世界的不同部分。并非使用不可靠的电子邮件或电话通信,该企业的每一雇员在超移动个人计算设备上运行共享空间应用程序。雇员可以有策略地设置和监控该企业的各重要对应物之间的一个或多个共享空间。例如,产品组可以设置与策略业务计划者通信以将新设备投放市场的共享空间。自然地作为注释、墨迹、图画、图像、个人笔记、视频、和/或音频剪辑等的交互流由各参与者添加。如果各方碰巧同时有空,则用户还可以使用共享空间应用程序来参与实况音频和/或视频会话。示例性操作环境现在参看图6,以下讨论旨在提供对在其中可以实现本发明实施例的合适计算环境的简要一般描述。尽管将在结合在个人计算机上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述本发明,但本领域的技术人员可以认识到,本发明也可结合其它类型的计算系统和程序模块实现。一般而言,程序模块包括执行特定任务角色或实现特定的抽象数据类型的例程、程序、对象、组件、数据结构和其它类型的结构。而且,本领域的技术人员可以理解,本发明方法可以使用其它计算机系统配置来实现,包括手持式设备、多处理器、基于微处理器或可编程消费电子产品、小型机、大型计算机等。本发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。现在参看图6,将描述用于本发明各实施例的示例性操作环境。如图6所示,计算机2包括通用台式机、膝上型计算机、手持式计算机、或能执行一个或多个应用程序的其它类型的计算机。计算机2包括至少一个中央处理单元8("CPU")、包括随机存取存储器18("RAM")和只读存储器("ROM")20的系统存储器12、以及将存储器耦合至CPU8的系统总线10。基本输入/输出系统包含如在启动过程中帮助在计算机中的元件之间传输信息的基本例程,并储存在ROM20中。计算机2还包括用于储存操作系统32、应用程序、以及其它程序模块的大容量存储设备14。大容量存储设备14通过连接至总线IO的大容量存储控制器(未示出)连接到CPU8。大容量存储设备14及其相关联的计算机可读介质为计算机2提供非易失性存储。尽管此处包含的计算机可读介质的描述指的是大容量存储设备,诸如硬盘或CD-ROM驱动器,但本领域的技术人员应理解,计算机可读介质可以是可由计算系统2访问或利用的任何可用介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以存储如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EPROM、EEPROM、闪存或其它固态存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算设备2访问的任何其它介质。根据本发明的各个实施例,计算机2可使用通过诸如局域网、因特网等的网络4与远程计算机的逻辑连接在联网环境中操作。计算机2可以通过连接至总线IO的网络接口单元16来连接到网络4。应理解,网络接口单元16也可用于连接至其它类型的网络和远程计算机系统。计算机2也可包括用于接收和处理来自包括键盘、鼠标、笔、手指、和/或其它手段等多个输入类型的输入的输入/输出控制器22。类似地,输入/输出控制器22可以向显示器、打印机或其它类型的输出设备提供输出。另外,触摸屏可以用作输入和输出机制。如前简述的那样,多个程序模块和数据文件可以存储在计算机2的大容量存储设备14和RAM18内,包括适于控制联网个人计算机操作的操作系统32,诸如来自华盛顿州雷德蒙市的微软公司的WINDOWSXP操作系统。大容量存储设备14和RAM18还可以存储一个或多个程序模块。具体地,大容量存储设备14和RAM18可储存应用程序,诸如文字处理应用程序28、成像应用程序30、电子邮件应用程序34、绘图应用程序等。应当了解,各种实施例的逻辑操作可被实现为(l)运行于计算机系统上的一系列计算机实现的动作或程序模块,以及/或者(2)计算机系统内互连的机器逻辑电路或电路模块。该实现是取决于实现本发明的计算机系统的性能要求来选择的。因此,包括相关算法的逻辑操作可被不同地称为操作、结构设备、动作或模块。本领域技术人员将认识到,这些操作、结构设备、动作和模块可用软件、固件、专用数字逻辑、及其任意组合实现,而不背离如本文中阐述的权利要求内陈述的本发明精神和范围。尽管已结合各个示例性实施例描述了本发明,但本领域普通技术人员将理解,可在所附权利要求的范围内对其作出许多修改。因此,并非旨在以任何方式将本发明的范围限于以上的说明,而是应该完全参照所附权利要求书来确定。权利要求1.一种通过以下步骤来共享数据的系统创建包括空间画布(524)和多个工具(526)的共享空间(500);将一个或多个用户作为所述共享空间(500)的一个或多个参与者(502-510)来进行关联;使用所述多个工具(526)的一个来与所述空间画布(524)交互,包括使用诸如数字图像、数字文本和数字墨水等表达(528);以及将所述表达(528)持久存储在所述共享空间(500)中。2.如权利要求l所述的系统,其特征在于,通过使用所述工具(526)的一个来共享数据,以将视频表达传递到所述空间画布(524)上。3.如权利要求1所述的系统,其特征在于,通过实现实况连接来共享数据,以将音频表达传递到一个或多个通信参与者(502-510)。4.如权利要求1所述的系统,其特征在于,通过更新所述共享空间(500)来共享数据,以将所述表达(528)展示给通信参与者(502-510)。5.如权利要求4所述的系统,其特征在于,通过更新所述共享空间(500)来共享数据以将所述表达(528)展示给通信参与者(502-510),其中所述表达(528)与所述通信参与者(502-510)的共享空间数据同步。6.如权利要求4所述的系统,其特征在于,通过使用主文件来共享数据,以用所述表达(528)更新所述共享空间(500)。7.如权利要求1所述的系统,其特征在于,还包括将所述表达(528)存储到剪贴簿(558)的历史管理程序组件(220)。8.如权利要求1所述的系统,其特征在于,还包括维护所述共享空间(500)的历史的历史管理程序组件(220)。9.一种共享数据的用户界面,包括显示多个表达(528-538)的空间画布(524);与可由多个用户共享的共享空间(500)交互的多个工具(526),其中所述多个工具(526)使用户能够在所述空间画布(524)上包括可以是数字墨水、数字文本、和数字图像的表达(528);以及指示参与者和与所述共享空间(500)相关联的该参与者的当前状况的指示符(522)。10.如权利要求9所述的用户界面,其特征在于,所述多个工具(526)可被用来在所述空间画布(524)上创建、修改和保存一个或多个表达。11.如权利要求9所述的用户界面,其特征在于,所述多个工具(526)可以包括工具箱托盘按钮、工具箱按钮、工具按钮或选项板按钮。12.如权利要求9所述的用户界面,其特征在于,所述空间画布(524)可以接收来自指示笔、键盘和手指的输入。13.如权利要求9所述的用户界面,其特征在于,所述指示符(522)被配置成指定与另一参与者(502-510)的实况连接。14.如权利要求9所述的用户界面,其特征在于,所述空间画布(524)被配置成展示远程参与者(502-510)所做出的一个或多个表达。15.如权利要求9所述的用户界面,其特征在于,所述用户界面包括放大和聚焦以与所述表达(528)交互。16.—种用计算设备共享数据的方法,包括将多个用户与共享空间(500)进行关联,其中所述共享空间(500)包括画布(524);通过向所述画布(524)添加表达(528)来与所述共享空间(500)交互,其中所述表达(528)可以从数字图像、数字文本和数字墨水中选择;以及传递所述共享空间(500)以使得每一用户的画布(524)都包括所添加的表达(528)。17.如权利要求16所述的方法,其特征在于,还包括更新所述共享空间(500)来展示远程用户使用计算设备(102)所添加的其它表达。18.如权利要求16所述的方法,其特征在于,还包括将所添加的表达(530)存储到本地存储(012)。19.如权利要求18所述的方法,其特征在于,还包括使用对等通信服务来传递所述共享空间(500)。20.如权利要求17所述的方法,其特征在于,还包括将所述共享空间(500)传递到连网的计算设备(102-106)。全文摘要各实施例提供用于传递信息的共享空间。在一实施例中,与计算环境相关联的多个用户可以使用共享空间来彼此传递信息。该计算环境的每一计算设备都可以包括共享空间应用程序。该共享空间应用程序包括可被用来持久存储计算环境的相关联的计算设备之间的各种通信的多个交互式工具。文档编号G06F15/16GK101542459SQ200780042038公开日2009年9月23日申请日期2007年10月30日优先权日2006年11月13日发明者C·克兰多,R·桑切斯,S·太田申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1