当前位置: 首页 > 专利查询>微软公司专利>正文

通过网络在计算机之间共享对象的系统和方法技术方案

技术编号:3518514 阅读:181 留言:0更新日期:2012-04-11 18:40
一种共享可驻留在不同机器上的对象的方法和系统。这些对象可以使用诸如因特网的计算机网络来访问和共享。这些对象可以包括计算机编程对象,该对象包括应用编程接口(API)、编程对象库、计算机程序对象定义、和其它基于计算机网络的应用程序的信息,但不局限于此。该方法和系统不需要计算机服务器,这是因为本发明专利技术可以更象对等或多点计算机网络那样来操作。该方法和系统可以与对等网络和客户服务器网络一起工作,而不需要将网络中的计算机确定为服务器或非服务器(客户端)类型计算机。

【技术实现步骤摘要】

本专利技术涉及通过网络在计算机之间共享信息,尤其涉及允许在计算机之间共享计算机对象的对等或多点网络。
技术介绍
传统计算机对象共享环境示例性地使用客户服务器结构,其中,客户计算机访问中央服务器以便运行程序或检索数据。客户服务器结构是软件在服务器任务和客户任务之间分离的分布计算系统的普通形式。客户端可以按照某些协议发送请求给服务器,来请求信息或操作,并且,服务器可以响应于该请求。客户服务器模型类似于顾客(客户端)以订单形式发送订单(请求)给分派货物和发票(响应)的供应商(服务器)。订单形式和发票是在此情况下进行通信所使用的“协议”部分。现在参考附图说明图1,该图示出了传统客户服务器结构100,其中,服务器105提供第一、第二和第三客户计算机110A、110B、和110C以到驻留在服务器105上基于网络的对象115的访问。按照该示例客户服务器结构100,如果在该网络中,第一计算机110A希望发送视频文件到第二计算机110B,那么第一计算机110A就需要传送文件到服务器105。服务器105,依次,传送视频文件到第二计算机110B。在该文件传送的情况中,服务器105使得在第一和第二计算机110A和110B之间的信息传送变慢。按照另一个示例性情形,当计算机110之一希望改变驻留在服务器105上基于网络的对象115时,计算机110必须等待服务器110发回消息给计算机110来确认已经做出改变。该等待周期可以被称作延迟。当希望对基于网络对象115进行即时改变时,延迟是很讨厌的。诸如,对于诸如需要“现场”改变或分发包括音频和计算机数据的信息的聊天程序和示出应用程序的实时协作应用程序,延迟可能是很具有破坏性的。与传统客户服务器结构100以及对等编程应用程序相关的另一个问题在于,当程序编写使用了基于网络的对象时,必须指定有关该基于网络对象在其中产生通信的计算机结构的类型。换句话说,人们必须确定基于网络对象将在客户服务器结构100还是在对等网络(图1没有示出)内进行共享。这就意味着传统技术必须识别将使用什么样的通信协议来访问和操作基于网络的对象。与传统技术相关的另一个问题在于,基于网络对象只能在一种类型计算机结构内共享,而不能跨越不同类型的网络结构,因为特定网络的通信协议类型必须在编写任何计算机代码时确定和提出。这就意味着,不能用传统计算机程序编写跨对等网络和客户服务器网络共享基于网络对象的程序。传统计算机程序必须只指定其中一种而不是两种类型的计算机结构。因此,在现有技术中存在对于可以跨诸如客户服务器结构和对等型结构的不同类型计算机结构共享基于网络对象而无需指定跨不同结构通信所需的通信协议的方法和系统的需要。现有技术中还存在对于实质上降低或消除经常与在计算机之间共享基于网络对象相关的延迟以便改善计算机之间实时通信的需要。现有技术中的另一个需要是,可以使用标准面向对象技术编写计算机程序,而不考虑将拥有任何基于网络对象的计算机结构的类型。专利技术概述本专利技术可以包括用来共享可以驻留在不同机器并可以通过诸如因特网的计算机网络访问的对象的方法和系统。对象可以包括计算机编程对象,其包括但不限于应用编程接口(API)、编程对象库、计算机程序对象定义、和其它基于计算机网络的应用程序的信息。该系统和方法允许编写调用驻留在连接到计算机网络上的不同计算机上的基于网络对象的计算机程序。本专利技术的一个优点在于,本专利技术可以更类似于对等计算机网络操作,因此,不需要计算机服务器。本专利技术的另一个优点在于,既使对等计算机是计算机服务器,本专利技术也可以以相同的方式来对待对等计算机。换句话说,本专利技术可以和对等网络和客户服务器网络一起进行工作,而无需确定计算机是服务器还是非服务器(客户)类型计算机。本专利技术的应用可以包括实时协作(RTC),其与传统客户服务器结构相比可以允许通过网络连接的计算机实时并几乎同时地进行通信和共享信息。示例性RTC应用可以包括,但不限于,下面的例子通过可驻留在不同计算机上的聊天程序交换信息,在可驻留于不同计算机的字处理程序内共享文档,在可驻留于不同计算机的电子数据表程序内共享电子数据表,在可驻留于不同计算机的示出应用程序内共享示出,在可驻留于不同计算机的游戏程序之间共享数据,和其它类似的有利于跨多个不同计算机实时共享数据的RTC应用。为了提供这种跨网络中计算机的信息共享,支持RTC应用的基于网络对象或共享对象一般驻留在每个计算机上。然而,在某些情况下,需要使用基于网络对象的第一计算机可能没有基于网络对象的复本,并且第一计算机可以给出到驻留在第二计算机的基于网络对象的访问。如果第一计算机具有有限的内存,可能发生这种基于网络对象的共享,其中,第一计算机可以是诸如个人数字助理(PDA)的手持计算机。当计算机程序调用基于网络的对象时,可以运行安全检查以便判定是否允许运行该程序的计算机访问特定基于网络对象。诸如,在运行该程序的计算机内可以本地运行安全检查来判定是否允许访问也本地存储在计算机上的基于网络对象。类似地,还可以对其它具有基于网络对象复本的计算机跨网络运行安全检查以便判定是否允许运行该程序的计算机访问基于网络对象。如果允许调用基于网络对象的计算机访问该基于网络对象,那么该计算机可以将驻留在其内存中的基于网络对象和跨网络驻留在不同计算机上的所有相同的对象同步。在此方式中,访问特定基于网络对象并具有特定基于网络对象的复本的每个计算机可以接收对基于网络对象做出的所有最新更新,其中,这些更新可能正在实时发生。对于使用基于网络对象的计算机编程应用程序来说,一旦创建了对象类,其中该类可以包括基于网络对象,那么就可以使用标准面向对象技术与包括任何基于网络对象的所有类的对象一起工作。本专利技术系统和方法可以拦截对于基于网络对象做出的方法调用并按照基于网络对象的网络属性处理该方法调用。诸如,对于驻留在做出调用的计算机上的基于网络对象的调用可能直到所有具有该基于网络对象的复本并需要提供它们的确认接收的其它计算机接收到确认接收才执行或完成。如果该调用是对于具有其中方法步骤必须以特定顺序发生的全顺序方法的基于网络对象的,那么所有其它具有该基于网络对象复本的计算机可能需要在做出对于该基于网络对象调用的计算机上本地执行或开始该调用之前同意该顺序。为了管理和跟踪基于网络对象,本专利技术系统可以使用语境。系统的每个基于网络对象可以具有一个相关的语境。并且每个基于网络对象可以是一个语境的一部分。每个语境可包括跟踪在多个系统网络对象之间的一个或多个关系和在具有对象复本和/或到对象的访问的计算机之间的关系的信息。每个语境可以识别哪一个计算机具有一个或多个特定基于网络对象并且,它可以帮助管理作为特定语境部分的基于网络对象。语境可以帮助确保作为语境一部分的每个计算机具有构成该语境的一个或多个基于网络对象的相同版本。每个语境具有用来帮助判定哪一个计算机可以访问在语境列表中的某些基于网络对象和哪一个计算机可以改变语境中对象的安全子列表。语境具有不同的状态。睡眠状态意味着具有作为特定语境一部分的基于网络对象的计算机可能没有正在使用基于网络对象。激活状态意味着具有基于网络对象的计算机正在以某种方式使用基于网络对象,并在语境中呈现的计算机之间正发生着有关基于网络对象的通信。该系统和方法还可以在语本文档来自技高网...

【技术保护点】
一种在计算机之间共享编程对象的方法,包括:创建具有唯一标识符的语境;接收来自第二计算机的加入具有第一计算机的语境的请求;判定第二计算机是否具有加入到所述语境的许可;和如果第一计算机具有许可,就发送包含语境数据的消息到第二计算机。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:DB杰普MD玛丁SP尼扎
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1