CN1622549A - 用于使用对等网络协议共享应用程序的方法和设备 - Google Patents
用于使用对等网络协议共享应用程序的方法和设备 Download PDFInfo
- Publication number
- CN1622549A CN1622549A CNA2004100914803A CN200410091480A CN1622549A CN 1622549 A CN1622549 A CN 1622549A CN A2004100914803 A CNA2004100914803 A CN A2004100914803A CN 200410091480 A CN200410091480 A CN 200410091480A CN 1622549 A CN1622549 A CN 1622549A
- Authority
- CN
- China
- Prior art keywords
- application program
- equity point
- point
- equity
- server
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000004044 response Effects 0.000 claims abstract description 17
- 230000002093 peripheral effect Effects 0.000 claims description 14
- 238000012544 monitoring process Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 3
- 230000008676 import Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 239000012141 concentrate Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1063—Discovery through centralising entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1068—Discovery involving direct consultation or announcement among potential requesting and potential source peers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种使用对等网络协议共享应用程序的方法包括由第一对等点注册将被共享的应用程序;确定注册的应用程序文件是否满足包含于从具有客户机功能的第二对等点接收的应用程序搜索指令中的搜索条件并发送描述文件至第二对等点以响应该确定结果;通过预定的协议与第二对等点建立连接以执行属于满足搜索条件的应用程序的服务;和执行用于为第二对等点提供属于应用程序的远程显示服务的会话,从而客户机对等点可以共享在服务器对等点上的空闲资源,并可以使用其当前资源或在其当前环境中不可以被执行的应用程序。
Description
技术领域
本发明涉及一种用于共享应用程序的方法,更具体地讲,涉及这样一种方法和设备,其用于允许各对等点通过使用P2P(对等网络)方案使用安装在其它对等点的应用程序而不会在应用程序许可中导致冲突,并有效的使用其间的空闲资源。
背景技术
客户机/服务器模型是典型的用于在互联网上数据服务,通过其,数据由一些服务器产生,并且大量的客户机访问和使用该服务器。然而,随着互联网使用和用于互联网使用保证的匿名的激增,并随着来自用户对自由交换和复制数据需求的增长,已经开发了各种基于P2P的应用程序。代表性的应用程序包括文件共享应用程序如Gnutella和Napster。这些文件共享应用程序由对等点组成,其中每一个对等点可以是服务器或可以是代替特定服务器的客户机。这些对等点是指能够加入由P2P协议实现的网络的装置。各对等点可以独立并且异步操作,并由对等点IDs来区分(对等点识别)。为了使两个对等点共享服务,它们不需要直接连接,但是作为其替代可以通过使用其它中间对等点作为用于路由的媒介来与期望的对等点通信或平等交换服务。
如图1A所示,Gnutella是由纯P2P模型组成。对等点为了发现数据实时搜索节点(node),并当发现持有作为搜索的结果的数据的节点时建立连接和交换数据。关于Gnutella的更加详细的信息,请参考网站“http://www.gnutella.com”。在Napster的情况下,如图1B所示,对等点仍独立地提供和接收数据,但是通过独立的搜索服务器执行对这些对等点的搜索。
除了共享文件,还存在共享计算机的资源的项目,如“Grid computing”(见“http://www.ibm.com.grid”)和“SETI@home”(见“http://setiathome.ssl.berkeley.edu”)。然而,这些项目具有其中在如图1A和图1B所示的对等点之间不能共享资源的架构。另外,如图2所示,数学运算等所需的原始数据和用于处理原始数据所需的大量资源被分割并分配到对等点。分配的数据随后分别在各对等点被处理并且处理后的数据返回在主机中组合。
图3示出代表性的P2P协议的JXTA的软件架构。通过参考网页“http://www.jxta.org/”,可以获得关于JXTA的更多详细信息。JXTA是用于独立于其操作系统(OS)、网络和编程语言而执行P2P应用程序的多用途平台。典型的P2P文件共享系统如JXTA是基于存在的TCP/IP(传输控制协议/网际协议)系列的互联网,并将相应于核的P2P协议栈放置其上。通常,P2P协议栈大致包括发现部分,用于发现和监视对等点以在它们之间形成组或共同体;查询部分,用于发现期望的服务或数据;和连接部分,用于与提供该服务或数据的对等点建立连接。在这样P2P协议栈上,应用程序如文件共享应用程序使用该栈操作。
这种P2P共享模型在其操作方式上有点不同。图5示出通常使用P2P模型应用程序的文件共享应用程序Gnutella的操作方式。如图1A所示,Gnutella是由纯对等点集合组成的基于节点的系统。文件共享应用程序Gnutella的操作将被解释。第二对等点20新加入到第一对等点10和第三对等点30先前已经加入到其的现存网络。这时,如果从第二对等点20广播用于对等点发现的数据包“ping”数据包以发现哪些对等点在附近(S510),则外围对等点发送“pong”数据包至第二对等点20以响应该ping数据包(S520)。通过这个处理,第二对等点20识别第一对等点10和第三对等点30存在于附近。然后,如果从第二对等点20广播“query”数据包(S530)以搜索期望的文件,则在外围对等点中具有与搜索条件相应的文件的对等点将采用“query hit”数据包回应(S540)。其后,第二对等点20将选择并创建对采用“query hit”数据包来回应的对等点之一的连接(S550),并以GET或PUSH的方法接收期望文件(S560)。通常,GET指令用于接收文件,但是,通过其具有文件的第二对等点20执行PUSH的方法通常使用在特定的条件下,如当第二对等点在防火墙内时。作为一个完整的应用程序操作其,除了上述P2P协议栈之外,需要与组件如鉴证、会话和用户接口(GUI)连接。
除了P2P模型,一种远程显示系统可以涉及本发明。该系统的代表性技术包括“X视窗系统”、“VNC”(Virtual Network Computing,虚拟网络计算)等等。关于X视窗系统的详细信息可以从网页“http://www.o.org”上获得和关于VNC的详细信息可以从网页“http://www.uk.research.att.com/vnc/”上获得。如图4所示,这种技术使用通过其如果远程阅读器使用输入装置如键盘和鼠标而连接到服务器,并且发送各种命令,则服务器执行应用程序以响应指令并且然后将显示信息作为执行结果传回到远程阅读器的方案。服务作为远程阅读器的客户机不能下载和执行服务器的程序。相反,所有操作执行在服务器执行,并客户机只显示来自服务器的执行结果。因此,它可以称作瘦客户机端。
VNC可以在大多数的OS上执行。换句话说,它满足OS之间的互用性。例如,Linux系统连接到Windows系统然后在Windows服务器上执行程序,并可以在Linux系统上观看输出显示。同样,Windows系统连接到Linux服务器然后在Linux服务器上执行程序,并可以在Windows系统上观看输出显示。另外,移动装置,如PDA(个人数字助手),如果它具有遵循该服务器的协议的阅读器,则可以仅在服务器中执行程序。
关于VNC操作的解释将参照图4给出。VNC的操作采用其中服务器更新显示于服务器端阅读器上的帧缓冲原理。在本文,VNC被称作远程帧缓冲(RFB)。随着当视频数据传递时,此时关于显示的象素的信息以各种方式传递,但适应于当前情况。具体地讲,当VNC阅读器作为客户机使用输入装置如键盘和鼠标发送指令时,该VNC服务器执行其嵌入的应用程序以响应指令并传送结果至VNC阅读器。通过VNC协议VNC阅读器和VNC服务器之间的通信的质量根据网络的情况而变化。
该P2P共享模型和远程显示系统具有下面问题和不便。在P2P方案中,大量的对等点形成共同体并共享它们之间的信息和资源,但是多数传统P2P方案的应用程序仅集中在共享文件。因此,共享信息被限制到对其它不用遵守命令以共享应用程序自身的文件如音乐和运动图像。虽然存在一些用于共享资源的应用程序,但是它们不采用纯对等点的自控共享如文件共享,相反它们只应用于并行计算模式,如“Grid computing”和“SETI@home”。
同时,该远程显示系统和远程访问系统使用通过其客户机连接到已知的服务器以作为一个用户使用该服务器的方案。这仅仅是与该服务器建立连接并从该服务器下载文件,并为多个客户机在服务器上使用应用程序。因此,由于这不是在对等点之间的纯共享,所以它具有和客户机/服务器模型相同的问题。即,客户机被允许与该客户机持有帐户的服务器建立连接,并客户机期望使用的应用程序必须存在于该服务器中。因此,只有那些客户机经授权使用的应用程序(即,许可授权使用的应用程序)可以被执行。另外,还存在问题,即,由于经大量客户机的连接集中在少数服务器上,所以服务器需要越来越强大的计算能力,然而客户机的日益增加的计算能力不能有效使用。
因此,传统技术不可以提供允许在共同体内的所有客户机共享由各对等点持有的应用程序方法。另外,没有对等点可以为其它对等点提供其空闲资源的方法。
发明内容
虽然本发明的实施例并不需要解决上述任何问题,但是本发明的目的在于解决上述问题。本发明的示例性方面提供了一种使用在当前互联网环境下吸引公众注意的P2P方案在各对等点间有效地共享应用程序和资源的方法。
本发明的另一个示例性方面允许其它平台的应用程序通过应用程序共享来被使用,而不需要单独的安装程序。
本发明的另一个示例性方面通过共享在PC上的空闲资源允许在当前资源或环境下不能被执行的应用程序被使用。
根据用于完成目的的本发明一个示例性实施例,提供一种使用P2P协议共享应用程序的方法,该方法包括:第一步,由具有服务器功能的第一对等点注册将被共享的应用程序;第二步,确定注册的应用程序文件是否满足包含于从具有客户机功能的第二对等点接收的应用程序搜索指令中的搜索条件并发送描述文件至该第二对等点以响应该确定结果;第三步,通过预定协议与第二个对等点建立连接以执行属于满足搜索条件的应用程序的服务;和第四步,执行用于为第二对等点提供属于应用程序的远程显示服务的会话。
根据本发明的另一个示例性实施例,提供一种使用P2P协议使用共享的应用程序的方法,该方法包括:第一步,由具有客户机功能的对等点(a)的用户输入期望的应用程序的搜索条件;第二步,使用搜索条件形成搜索消息并然后发送搜索指令至外围对等点;第三步,从在外围对等点中具有注册的满足搜索条件的应用程序的对等点接收属于应用程序的描述文件;第四步,基于描述文件通过预定协议与由对等点(a)的用户在具有注册的应用程序的对等点中选择的对等点(b)建立连接;第五步执行从对等点(b)提供属于应用程序的远程显示服务的会话。
根据本发明的另一个示例性实施例,提供一种使用P2P协议共享应用程序的服务器,其包括:注册模块,用于根据用户的输入注册将被共享的应用程序并设置所有应用程序或单独应用程序的服务策略;资源监视模块,用于测量服务器的空闲资源和监视注册的应用程序平均使用的资源量;描述模块,用于基于注册模块和资源监视模块产生描述文件,该描述文件包含属于当前可以被服务的应用程序的信息和属于服务应用程序的环境的信息;和会话模块,用于维持和终止提供给客户机远程显示服务的会话。
根据本发明的另外一个示例性的实施例,提供一个使用P2P协议共享应用程序的客户机,其包括:搜索模块,用于从客户机的一个用户接收期望的应用程序的搜索条件以表达一个用于发现达到搜索条件的应用成学的搜索消息,并发送已表达的消息至外围对等点;和会话模块,用于维持或终止从在外围对等点中具备满足搜索条件的注册的应用程序的服务器提供属于应用程序远程显示服务的会话。
附图说明
通过结合附图对示例性实施例进行下面的描述,本发明以上和其它示例性目的和特点将会变得清楚,其中:
图1A示出纯类型的传统P2P文件共享系统的结构;
图1B示出混合型的传统P2P文件共享系统的结构;
图2示出传统“Grid computing”和“SETI@home”系统的结构;
图3是示出传统JXTA软件的结构的方块图;
图4示出传统的虚拟网络计算的操作结构;
图5示出传统Gnutella协议的操作处理的流程图;
图6示出在根据本发明的示例性实施例的P2P共享系统中的服务器的结构;
图7示出在根据本发明的另一个示例性实施例的P2P共享系统中的客户机的结构;
图8示出根据本发明的另一个示例性实施例的方法的操作的流程图;和
图9是示出根据本发明的另一个示例性实施例在图8的会话执行处理中由服务器终止的流程图。
具体实施方式
以下,参照附图来详细说明本发明的示例性实施例。通过参照以下将结合附图详细地描述的示例性实施例,本发明的优势和特点及获得这些优势和特点的方法将会变得更加清楚。然而本发明不限于下面公开的示例性实施例,并且可以以多种不同形式实现。该示例性实施例提供仅为了对本领域的技术人员完成本发明公开和完全表示本发明的范围,并本发明只由所附权利要求限定。在详细的描述中,相同的标号始终表示相同的部件。
在本发明提出的应用程序共享系统中,特定服务器或客户机不单独存在,但是对等点可以作为客户机服务以使用在其它对等点中的应用程序并可以作为用于提供其自身的应用程序和资源至其它对等点的服务器服务。因此,服务器和客户机部分在一个程序中操作。然而,所有对等点不是必需同时配备服务器功能和客户机功能,并只作为服务器操作的对等点和只作为客户机操作的对等点可以包括于该系统中。因此,根据其功能需要将组件划分成服务器端组件和客户机端组件。本发明采用用于在对等点间形成共同体和用于期望的应用程序的搜索的传统P2P协议栈,并采用用于远程应用程序执行和控制的传统远程显示系统的服务器/阅读器架构。
图6示出根据本发明的一个示例性实施例应用程序共享系统的服务器端结构。当计算机与P2P网络连接时,服务器注册在对等点间共享的应用程序和监视当前可得到的系统资源。服务器还基于当前注册的应用程序和监视的系统资源表达服务器自身固有的描述,并基于该描述响应来自其它对等点的搜索消息。当形成的P2P共同体被保持时,服务器部分以后台形式操作,并支持来自其它对等点的搜索或应用程序使用需求。当应用程序的使用需求来自其它对等点时,连接建立并且发生恰当的协商。其后,服务器提供作为客户机的对等点远程显示服务的会话开始。如果该会话开始,则然后该远程显示系统被驱动从而相关的应用程序可以被另一个远程对等点控制。
将具体解释服务器端对等点的结构。用于驱动系统的操作系统(OS)660位于最低层并用户期望使用的应用程序610位于最高层。用于在根据本发明的P2P方案中共享计算机资源的中间件620位于操作系统660和应用程序610之间。另外,在中间件620中存在P2P协议栈640,用于发现大量对等点以形成对等点共同体并允许数据在对等点间发送和接收;远程显示系统650,用于根据远程阅读器传递的指令执行应用程序并传递执行的结果至该远程阅读器;和应用程序共享系统模块630,在加入本发明中的较高层。
应用程序共享系统模块630包括许多的低级模块,解释如下。由于不是计算机中所有应用程序需要与其它对等点共享,所以用户应该直接注册将被共享的应用程序。此时,用户可以对注册的应用程序设置服务策略(policies)。如果该系统的状态不能达到于此设置的标准,则相关应用程序的服务被迫停止。这样的服务策略为“当CPU的平均利用量在最近10分钟内变为50%或者更多时,不可以执行相关应用程序的服务。如上陈述,注册模块632负责根据从用户的输入注册将被共享的应用程序并根据从用户的输入或由资源监视模块633观察的资源统计值设置所有或单独应用程序的服务策略。
在注册过程中,关于服务作为服务器的对等点是否可以从客户机接收应用程序使用请求或者该对等点是否继续维持当前正服务的应用程序的确定由服务器当前资源状态和策略影响。即如果服务器的资源以超过设置的标准而正被使用,则由于在当前状态不能得到该服务,所以来自客户机的请求被拒绝或被阻挡。另外,还必需新形成对由其它对等点的搜索有影响的描述文件。因此,资源监视模块633每次测量计算机的空闲资源并管理在最近给定的一段时间期间的资源统计表。同样地,它还管理特定应用程序平均使用多少资源,即过去的统计值。由资源监视模块633监视的资源包括在执行程序中需要的项目如CPU、存储器和网络带宽。
描述模块634基于注册模块632和资源监视模块633服务产生包含关于可以当前服务的应用程序的信息和关于服务环境的信息的描述文件。具体地讲,描述文件包含服务的应用程序的名称、版本和任何其它信息;服务器的操作系统、存储器、CPU和虚拟存储器;可以根据当前相关应用程序而提供的资源信息;等等。描述文件根据各个的应用程序被表达。描述文件通过反映周期性变化的系统信息或在来自其它对等点的搜索请求时动态产生。产生的描述文件用于表达响应来自其它对等点的搜索请求的消息。描述文件还可以根据下层的P2P栈来被用于广告。
其间,连接模块637服务以通过预定的协议(例如,如HTTP协议)互相连接服务器和客户机,从而它们彼此通信以提供服务器的服务给客户机。
另外,协商模块636是可选组件并服务以对一些有关服务事件如数据传输质量(例如,服务质量,QoS)或服务策略与客户机协商。
会话模块635服务以维持提供给客户机远程显示服务的会话。该会话被需要来共同维持和管理相关处理。一个会话包括客户机端信息、质量信息如QoS、安全处理终止、相关服务策略、日志信息等等。最后,会话模块635服务以维持这样用于提供的应用程序的每一个服务的会话并随同服务终止来关闭会话。
GUI(图形用户接口)模块631提供用于允许服务器用户输入指令的图形接口,并接收来自该服务器用户输入的指令。即该GUI模块631参与注册过程、用于应用程序共享的环境设置、系统资源的监视、连接设置和取消连接的服务器端控制等等。
图7示出根据本发明的示例性实施例的应用程序共享系统的客户机端结构。客户机根据来自用户的需求完成搜索条件并在对等点中发现与搜索条件相应的应用程序。它还通过协商与用户在搜索的对等点中选择的对等点建立连接,并为应用程序平稳执行维持会话。如果该会话启动,用户可以通过远程显示系统的阅读器在对应对等点中执行应用程序。
将具体地描述客户机端对等点的结构。用于驱动系统的操作系统(OS)750位于最底层并且在根据本发明的P2P方案中用于共享计算机资源的中间件710位于其上。并在中间件710中,如同在服务器的中间件620,存在P2P协议栈730、远程显示系统740和被加在本发明中的较高层上的应用程序共享模块720。该应用程序共享系统模块720包括许多将在下面解释的下层模块。
在客户机操作后搜索模块712服务以经GUI模块711从用户接收期望的应用程序的搜索条件,表达搜索消息以发现满足搜索条件的服务并经下层P2P栈将表达的消息发送至其它对等点。
使用在服务器上的连接模块637,连接模块715服务以通过预定的协议使服务器和客户机互相连接,从而它们互相通信以允许客户机被提供服务器的服务。
协商模块714服务以经在服务器上的协商模块636对有关服务事件如数据传输质量或服务策略与服务器协商。
会话模块713服务以维持从服务器提供的远程显示服务的会话。一个会话包括服务器端信息、质量信息如QoS、安全处理结束、相关服务策略、日志等等。会话模块713维持提供的应用程序的每一个服务的这样会话并随同该服务的终止关闭该会话。
GUI(图形用户接口)模块711提供图形接口允许客户机用户输入指令并由来自服务器用户的指令来输入。因此,在客户机GUI模块711包括一部分,用于显示对外围对等点的搜索结果和对用户请求的服务的搜索结果;和一部分,用于用户输入用于期望的应用程序的搜索的选项。另外,GUI模块711可以包括用于显示服务器情况或与关于网络的信息的一部分。另外,GUI模块711通过远程显示系统740执行用于传送来自服务器的应用程序执行结果的功能,即,远程显示服务,和显示那个结果至客户机用户。
图8是完全地示出根据本发明的一个示例性实施例的操作的流程图。
首先,每一个具有服务器功能的对等点10、20和30注册每一个对等点期望共享的应用程序(S810、S811和S812)。在注册过程中,它们还将当服务应用程序时变成服务标准和应用程序的执行指令的各种策略一起注册。
其次,如果对等点10、20和30中的一个第二对等点20广播一个ping数据包来识别如果有,什么对等点存在附近(S820),外围对等点10和30响应ping数据包发送pong数据包至对等点20(S830)。通过这个pong数据包,对等点20将识别在附近存在第一对等点10和第三对等点30。
其次,客户机端(即,第二对等点)模块被来自用户的请求执行(S840)。当用户期望使用其它对等点的应用程序时,其通过GUI模块711输入期望的应用程序的搜索条件。然后,客户机搜索模块712使用从用户输入的搜索条件创建搜索消息,并其后通过连接模块715发送搜索消息至组成共同体的外围对等点10和30(S850)。接收搜索指令的外围对等点10和30通过参照它们各自的描述文件如果搜索条件满足则提供响应,否则不提供响应。如果第一对等点10具有满足该搜索条件的注册的应用程序,则它传送应用程序的描述文件至第二对等点20并且第二对等点20接收它(S860)。
现在,为了执行应用程序服务在第二对等点20和第一对等点10之间建立了连接(S870)。这种一个对等点传送描述文件作为响应的例子已经被描述过。然而,如果存在几个发送描述文件的对等点,则第二对等点20通过预定协议,基于描述文件与由在具有注册的应用程序的对等点中的第二对等点20的用户选择的对等点建立连接。
接下来连接处理,为服务在第二对等点20和第一对等点10之间的协商开始(S880),并当协商过程结束时,第一对等点10提供给第二对等点20的远程显示服务的会话启动,并执行应用程序(S890)。
使用传统的远程显示系统执行执行会话的处理。首先,如果用户的输入,即,控制从作为客户机的第二对等点20发送至作为服务器的第一对等点10(S891),则应用程序的输出值和显示信息从第一对等点10发送至第二对等点20(S892)。根据来自作为客户机的第二对等点20的需求该处理如S891和S82重复几次。其后,如果在第二对等点20应用程序使用结束,则作为该应用程序执行结果产生的文件和任何其它日志信息存储在本地计算机(S893),并结束指令被发送至第一对等点10(S894)。其后,接收结束指令的第一对等点10终止会话并完成正常的执行过程(S895)。
图9是示出在图8中已经执行后由服务器结束会话的过程的流程图。如果如在图8中连接的对等点的协商结束后,则由于服务器服务停止导致全部过程结束好于客户机终止服务使用,过程(S990)与下面通常的过程有些区别。
即当作为服务器的第一对等点10的用户停止服务时,同时用户的输入传送过程(S991)和显示过程(S992)重复,第一对等点10发送指示该服务停止的结束指令至服务的客户机端对等点,即第二对等点20(S993)。然后,在接收该消息的第二对等点20将数据文件和日志存储在本地计算机(S994)并安全停止应用程序使用后,第二对等点20发送指示正常停止的OK消息至第一对等点10(S995)。第一对等点10在确认OK消息后识别在第二对等点的操作安全结束,并终止会话(S996)。
根据使用P2P共享方案的应用程序共享的本发明,可以获得下面示例性的优点。首先,可以共享应用程序而不会在应用程序许可中导致冲突。在对等点间共享程序与未授权的该应用程序的复制和销售不同。应用程序可以在授权的计算机上执行并不能复制到其它未授权的计算机上。对通过其它匿名用户的远程连接是一样的。例如,即使没有游戏许可的用户可以在其它用户的计算机上玩游戏并当观察显示器时执行远程控制。
其次,可以使用应用程序而不是安装程序。尽管是不经常使用的程序,长时间安装程序是被需要用于极少的应用并当程序不需要时还需要删除程序。然而,像这样只使用一或两次的程序可以在另一个对等点的计算机上执行而不运行安装和删除程序。
再次,甚至具有其它操作系统或其它类型的平台的用户可以使用期望的应用程序。例如,Linux应用程序可以在Windows中执行并通常的PC应用程序也可以在PDA中执行。
最后,因为客户机对等点可以共享在服务器对等点中的闲置资源,所以它们可以使用采用它们当前资源或在它们当前环境下不可以被执行的应用程序。例如,在已经安装该应用程序的PC的空闲时间通过执行需要高级配置的计算机资源的应用程序如3D模拟和CAD,即使拥有不能直接执行相关应用程序的PC的用户可以使用该应用程序。
虽然参照附图对本发明的实施例进行了描述,但本领域的技术人员应该理解,在不改变其技术精髓和必备特点的情况下,本发明能够以其它详细的形式代替。因此,应该理解上述实施例是用于在全部方面的示出,但不是用于限定。
Claims (18)
1、一种使用对等网络协议共享应用程序的方法,包括:
由具有服务器功能的第一对等点注册一个或更多将被共享的应用程序;
确定每一个应用程序是否满足包含于从具有客户机功能的第二对等点接收的应用程序搜索指令的搜索条件并发送描述文件至第二对等点以响应该确定结果;
通过预定的协议在第一对等点和第二对等点之间建立连接以执行属于满足搜索条件的应用程序的远程显示服务;和
执行用于为第二对等点提供属于应用程序的远程显示服务的会话。
2、根据权利要求1所述的方法,其中,注册将被共享的应用程序包括注册将被共享的应用程序的执行指令和当服务应用程序时变成标准的策略。
3、根据权利要求2所述的方法,其中,策略基于第一对等点的监视的资源的统计值被设置。
4、根据权利要求1所述的方法,还包括在建立连接后,在第一对等点和第二对等点之间协商远程显示服务的详情。
5、根据权利要求1所述的方法,其中,执行会话包括:
如果第二对等点发送用于执行应用程序的用户的输入至第一对等点,则第一对等点使用远程显示服务传送通过执行应用程序获得的输出至第二对等点;和
终止会话以响应来自第一对等点的指令或第二对等点的指令。
6、根据权利要求5所述的方法,其中,当响应于来自第一对等点的指令终止会话时,会话的终止包括:
将指示服务停止的结束指令从第一对等点发送到第二对等点;
在第一对等点接收第二对等点的指示正常终止的消息;和
确认接收到的消息并终止会话。
7、一种使用对等网络协议使用共享的应用程序的方法,包括:
由具有客户机功能的第一对等点的用户输入期望的应用程序的搜索条件;
使用搜索条件创建搜索消息并然后发送搜索指令至一个或更多外围对等点;
从一个或更多具有满足搜索条件的注册的应用程序的外围对等点接收属于应用程序的描述文件;
基于描述文件通过预定的协议与由第一对等点的用户从具有注册的应用程序的外围对等点中选择的第二对等点建立连接;和
执行从第二对等点提供属于应用程序的远程显示服务的会话。
8、根据权利要求7所述的方法,还包括:在与第二对等点建立连接后,与第二对等点协商远程显示服务的详情。
9、根据权利要求7所述的方法,其中,与第二对等点建立连接包括:
发送用于执行应用程序的用户输入至第二对等点并接收由第一对等点使用远程显示系统执行来自第二对等点的应用程序获得的输出;和
终止会话响应来自第一对等点的指令或来自第二对等点的指令。
10、根据权利要求9所述的方法,其中,当会话终止以响应来自第一对等点的指令时,终止会话包括:
存储包括通过执行应用程序获得的输出结果的文件;和
发送以请求会话终止的指令至第二对等点。
11、根据权利要求9所述的方法,其中,当会话终止响应来自第二对等点的指令时,终止会话包括:
从第二对等点接收指示服务停止的结束指令;
存储包括通过执行应用程序获得的输出结果的文件;和
由第一对等点发送指示正常终止的消息至第二对等点。
12、一种用于使用对等网络协议共享应用程序的服务器,包括:
注册模块,用于根据用户的输入注册一个或更多将被共享的应用程序并为作为一组或单独的应用程序的所有应用程序设置服务策略;
资源监视模块,用于测量服务器的空闲资源并监视由注册的应用程序平均使用的资源量;
描述模块,用于基于注册模块和资源监视模块产生描述文件,该描述文件包含属于当前可以被服务的应用程序的信息和属于服务应用程序的环境的信息;和
会话模块,用于维持或终止提供给客户机的远程显示服务的会话。
13、根据权利要求12所述的服务器,还包括:
图形用户接口模块,用于提供图形接口以允许服务器用户输入指令并用于接收从服务器用户输入的指令;和
连接模块,用于通过预定的协议从服务器至客户机建立连接以允许服务器与客户机通信以为客户机提供远程显示服务。
14、根据权利要求12所述的服务器,还包括协商模块,其负责为数据传输质量、服务策略和其它有关服务的事件之一或多个与客户机协商。
15、一种用于使用对等网络协议使用共享的应用程序的客户机,包括:
搜索模块,用于从客户机的用户接收期望的应用程序的搜索条件以表达搜索消息来发现满足搜索条件的应用程序并发送表达的消息至一个或更多的外围对等点;和
会话模块,用于维持和终止从在外围对等点中具有满足搜索条件的注册的应用程序的服务器提供属于该应用程序的远程显示服务的会话。
16、根据权利要求15所述的客户机,还包括:
连接模块,用于通过预定的协议允许服务器和客户机彼此通信以从服务器提供给客户机远程显示服务;和
图形用户接口模块,用于提供用户输入指令的图形接口,并用于从服务器接收远程显示服务以显示应用程序的执行结果至用户。
17、根据权利要求15所述的客户机,还包括协商模块,其负责与服务器协商数据传送质量、服务策略和其它有关服务的事件的一个或多个。
18、一种包括可由计算机执行以执行使用对等网络协议来共享应用程序的方法的程序代码的计算机可读介质,包括:
由具有服务器功能的第一对等点注册一个或更多将被共享的应用程序;
确定每一个注册的应用程序是否满足包含于从具有客户机功能的第二对等点接收的应用程序搜索指令的搜索条件并发送描述文件至第二对等点以响应该确定结果。
通过预定的协议在第一对等点和第二对等点之间建立连接以执行属于满足搜索条件的应用程序的远程显示服务;和
执行用于为第二对等点提供属于应用程序的远程显示服务的会话。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR84953/2003 | 2003-11-27 | ||
KR1020030084953A KR100621092B1 (ko) | 2003-11-27 | 2003-11-27 | P2p 프로토콜을 이용하여 어플리케이션을 공유하는 방법및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1622549A true CN1622549A (zh) | 2005-06-01 |
Family
ID=34464758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004100914803A Pending CN1622549A (zh) | 2003-11-27 | 2004-11-25 | 用于使用对等网络协议共享应用程序的方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20050120073A1 (zh) |
EP (1) | EP1536612A1 (zh) |
JP (1) | JP2005158068A (zh) |
KR (1) | KR100621092B1 (zh) |
CN (1) | CN1622549A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008034353A1 (fr) * | 2006-09-14 | 2008-03-27 | Huawei Technologies Co., Ltd. | Procédé, système et dispositif permettant d'établir une connexion entre homologues dans un réseau d'homologues |
CN102823221A (zh) * | 2010-03-26 | 2012-12-12 | 高通股份有限公司 | 网络资源租赁 |
CN101233738B (zh) * | 2005-07-29 | 2013-06-19 | 皇家飞利浦电子股份有限公司 | 用于移动医疗设备的环境相关的服务发现的系统和方法 |
CN107079052A (zh) * | 2014-10-31 | 2017-08-18 | 高通股份有限公司 | 利用lte‑d发现进行应用层上下文通信的高效群通信 |
US9936335B2 (en) | 2012-12-13 | 2018-04-03 | Microsoft Technology Licensing, Llc | Mobile computing device application sharing |
Families Citing this family (209)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
US7433546B2 (en) | 2004-10-25 | 2008-10-07 | Apple Inc. | Image scaling arrangement |
US8151259B2 (en) | 2006-01-03 | 2012-04-03 | Apple Inc. | Remote content updates for portable media devices |
KR101197513B1 (ko) | 2002-10-22 | 2012-11-09 | 제이슨 에이. 설리반 | 동적 모듈식 처리 유닛을 제공하기 위한 시스템 및 방법 |
CA2503791A1 (en) | 2002-10-22 | 2004-05-06 | Jason A. Sullivan | Non-peripherals processing control module having improved heat dissipating properties |
US20120173732A1 (en) * | 2002-10-22 | 2012-07-05 | Sullivan Jason A | Systems and methods for providing resources and interactivity in computer systems |
JP2006504209A (ja) | 2002-10-22 | 2006-02-02 | ジェイソン エイ サリヴァン | カスタム化可能なロバストなコンピュータ処理システム |
US7831199B2 (en) | 2006-01-03 | 2010-11-09 | Apple Inc. | Media data exchange, transfer or delivery for portable electronic devices |
US7724716B2 (en) | 2006-06-20 | 2010-05-25 | Apple Inc. | Wireless communication system |
JP2005275937A (ja) * | 2004-03-25 | 2005-10-06 | Fujitsu Ltd | P2pネットワークシステム |
US8050272B2 (en) | 2004-06-29 | 2011-11-01 | Damaka, Inc. | System and method for concurrent sessions in a peer-to-peer hybrid communications network |
US7570636B2 (en) | 2004-06-29 | 2009-08-04 | Damaka, Inc. | System and method for traversing a NAT device for peer-to-peer hybrid communications |
US7933260B2 (en) | 2004-06-29 | 2011-04-26 | Damaka, Inc. | System and method for routing and communicating in a heterogeneous network environment |
US8437307B2 (en) | 2007-09-03 | 2013-05-07 | Damaka, Inc. | Device and method for maintaining a communication session during a network transition |
US8009586B2 (en) | 2004-06-29 | 2011-08-30 | Damaka, Inc. | System and method for data transfer in a peer-to peer hybrid communication network |
US8316088B2 (en) * | 2004-07-06 | 2012-11-20 | Nokia Corporation | Peer-to-peer engine for object sharing in communication devices |
US9077766B2 (en) | 2004-07-09 | 2015-07-07 | Qualcomm Incorporated | System and method for combining memory resources for use on a personal network |
US7937484B2 (en) | 2004-07-09 | 2011-05-03 | Orb Networks, Inc. | System and method for remotely controlling network resources |
US8738693B2 (en) | 2004-07-09 | 2014-05-27 | Qualcomm Incorporated | System and method for managing distribution of media files |
US8787164B2 (en) | 2004-07-09 | 2014-07-22 | Qualcomm Incorporated | Media delivery system and method for transporting media to desired target devices |
US8819140B2 (en) | 2004-07-09 | 2014-08-26 | Qualcomm Incorporated | System and method for enabling the establishment and use of a personal network |
US8195744B2 (en) * | 2004-07-09 | 2012-06-05 | Orb Networks, Inc. | File sharing system for use with a network |
US7706637B2 (en) | 2004-10-25 | 2010-04-27 | Apple Inc. | Host configured for interoperation with coupled portable media player device |
US7593782B2 (en) | 2005-01-07 | 2009-09-22 | Apple Inc. | Highly portable media device |
US7562125B2 (en) * | 2005-02-02 | 2009-07-14 | Cisco Technology, Inc. | Techniques for locating distributed objects on a network based on physical communication costs |
US8499023B1 (en) * | 2005-03-23 | 2013-07-30 | Oracle America, Inc. | Servlet-based grid computing environment using grid engines and switches to manage resources |
US8300841B2 (en) | 2005-06-03 | 2012-10-30 | Apple Inc. | Techniques for presenting sound effects on a portable media player |
US7590772B2 (en) | 2005-08-22 | 2009-09-15 | Apple Inc. | Audio status information for a portable electronic device |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US7930369B2 (en) | 2005-10-19 | 2011-04-19 | Apple Inc. | Remotely configured media device |
US8654993B2 (en) | 2005-12-07 | 2014-02-18 | Apple Inc. | Portable audio device providing automated control of audio volume parameters for hearing protection |
US8171104B2 (en) * | 2005-12-15 | 2012-05-01 | International Business Machines Corporation | Scheduling and searching meetings in a network environment |
US8433753B2 (en) * | 2005-12-15 | 2013-04-30 | International Business Machines Corporation | Providing meeting information from a meeting server to an email server to store in an email database |
US20070143446A1 (en) * | 2005-12-21 | 2007-06-21 | Morris Robert P | Methods, systems, and computer program products for installing an application from one peer to another including application configuration settings and data |
US8255640B2 (en) | 2006-01-03 | 2012-08-28 | Apple Inc. | Media device with intelligent cache utilization |
US7673238B2 (en) | 2006-01-05 | 2010-03-02 | Apple Inc. | Portable media device with video acceleration capabilities |
EP1989880A1 (en) * | 2006-02-24 | 2008-11-12 | Koninklijke Philips Electronics N.V. | A device and a method for sharing resources in a network of peers |
US7848527B2 (en) | 2006-02-27 | 2010-12-07 | Apple Inc. | Dynamic power management in a portable media delivery system |
KR100774930B1 (ko) * | 2006-05-17 | 2007-11-09 | 엘지전자 주식회사 | 이동통신단말기, 시스템 및 컨텐츠공유방법 |
EP1858226B1 (en) * | 2006-05-19 | 2010-09-22 | Microsoft Corporation | Content management in peer-to-peer content distribution clouds |
US7643895B2 (en) | 2006-05-22 | 2010-01-05 | Apple Inc. | Portable media device with workout support |
US9137309B2 (en) | 2006-05-22 | 2015-09-15 | Apple Inc. | Calibration techniques for activity sensing devices |
US20070271116A1 (en) | 2006-05-22 | 2007-11-22 | Apple Computer, Inc. | Integrated media jukebox and physiologic data handling application |
US8073984B2 (en) | 2006-05-22 | 2011-12-06 | Apple Inc. | Communication protocol for use with portable electronic devices |
US8358273B2 (en) | 2006-05-23 | 2013-01-22 | Apple Inc. | Portable media device with power-managed display |
US20070294626A1 (en) * | 2006-06-15 | 2007-12-20 | Microsoft Corporation | Controlling application sharing |
US8812638B2 (en) * | 2006-07-12 | 2014-08-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Method, apparatus and computer program product for controlling devices |
WO2008012301A2 (de) * | 2006-07-25 | 2008-01-31 | Siemens Enterprise Communications Gmbh & Co. Kg | Verfahren zum ausführen eines dienstes in einem dezentralen datennetz |
US7913297B2 (en) | 2006-08-30 | 2011-03-22 | Apple Inc. | Pairing of wireless devices using a wired medium |
US7813715B2 (en) | 2006-08-30 | 2010-10-12 | Apple Inc. | Automated pairing of wireless accessories with host devices |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8090130B2 (en) | 2006-09-11 | 2012-01-03 | Apple Inc. | Highly portable media devices |
US7729791B2 (en) | 2006-09-11 | 2010-06-01 | Apple Inc. | Portable media playback device including user interface event passthrough to non-media-playback processing |
US8341524B2 (en) | 2006-09-11 | 2012-12-25 | Apple Inc. | Portable electronic device with local search capabilities |
US9294608B2 (en) * | 2007-02-20 | 2016-03-22 | Microsoft Technology Licensing, Llc | Contextual auto-replication in short range wireless networks |
US7589629B2 (en) | 2007-02-28 | 2009-09-15 | Apple Inc. | Event recorder for portable media device |
US7698101B2 (en) | 2007-03-07 | 2010-04-13 | Apple Inc. | Smart garment |
JP2008233991A (ja) * | 2007-03-16 | 2008-10-02 | Fujitsu Ltd | 無線端末間貸借制御方法 |
US8135018B1 (en) | 2007-03-29 | 2012-03-13 | Qurio Holdings, Inc. | Message propagation in a distributed virtual world |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US8000328B1 (en) | 2007-05-22 | 2011-08-16 | Qurio Holdings, Inc. | Filtering messages in a distributed virtual world based on virtual space properties |
US20090055157A1 (en) * | 2007-08-23 | 2009-02-26 | Beyond Blades Ltd. | Server Having Remotely Manageable Emulated Functions |
WO2009043016A2 (en) | 2007-09-28 | 2009-04-02 | Damaka, Inc. | System and method for transitioning a communication session between networks that are not commonly controlled |
US20090100137A1 (en) * | 2007-10-11 | 2009-04-16 | Motorola, Inc. | Method and apparatus for providing services in a peer-to-peer communications network |
US8380859B2 (en) * | 2007-11-28 | 2013-02-19 | Damaka, Inc. | System and method for endpoint handoff in a hybrid peer-to-peer networking environment |
US20090172082A1 (en) * | 2007-12-31 | 2009-07-02 | Joaquin Sufuentes | Software as a service in a peer-to-peer environment |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8266637B2 (en) * | 2008-03-03 | 2012-09-11 | Microsoft Corporation | Privacy modes in a remote desktop environment |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
KR100969989B1 (ko) * | 2008-06-02 | 2010-07-15 | 박상진 | 네트워크에서 응용프로그램 배포 방법 및 장치 |
US9058090B1 (en) | 2008-06-02 | 2015-06-16 | Qurio Holdings, Inc. | Collaborative information sharing in a virtual world |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
WO2010067118A1 (en) | 2008-12-11 | 2010-06-17 | Novauris Technologies Limited | Speech recognition involving a mobile device |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US20120309363A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Triggering notifications associated with tasks items that represent tasks to perform |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US8341214B2 (en) * | 2009-08-12 | 2012-12-25 | Xerox Corporation | System and method for communicating with a network of printers using a mobile device |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
DE202011111062U1 (de) | 2010-01-25 | 2019-02-19 | Newvaluexchange Ltd. | Vorrichtung und System für eine Digitalkonversationsmanagementplattform |
US8874785B2 (en) | 2010-02-15 | 2014-10-28 | Damaka, Inc. | System and method for signaling and data tunneling in a peer-to-peer environment |
US8892646B2 (en) | 2010-08-25 | 2014-11-18 | Damaka, Inc. | System and method for shared session appearance in a hybrid peer-to-peer environment |
US8725895B2 (en) | 2010-02-15 | 2014-05-13 | Damaka, Inc. | NAT traversal by concurrently probing multiple candidates |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US8689307B2 (en) | 2010-03-19 | 2014-04-01 | Damaka, Inc. | System and method for providing a virtual peer-to-peer environment |
US9043488B2 (en) | 2010-03-29 | 2015-05-26 | Damaka, Inc. | System and method for session sweeping between devices |
US9191416B2 (en) | 2010-04-16 | 2015-11-17 | Damaka, Inc. | System and method for providing enterprise voice call continuity |
US8352563B2 (en) | 2010-04-29 | 2013-01-08 | Damaka, Inc. | System and method for peer-to-peer media routing using a third party instant messaging system for signaling |
US8446900B2 (en) | 2010-06-18 | 2013-05-21 | Damaka, Inc. | System and method for transferring a call between endpoints in a hybrid peer-to-peer network |
US8611540B2 (en) | 2010-06-23 | 2013-12-17 | Damaka, Inc. | System and method for secure messaging in a hybrid peer-to-peer network |
US8468010B2 (en) | 2010-09-24 | 2013-06-18 | Damaka, Inc. | System and method for language translation in a hybrid peer-to-peer environment |
US8743781B2 (en) | 2010-10-11 | 2014-06-03 | Damaka, Inc. | System and method for a reverse invitation in a hybrid peer-to-peer environment |
US20120158819A1 (en) * | 2010-12-21 | 2012-06-21 | Microsoft Corporation | Policy-based application delivery |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
KR101842256B1 (ko) | 2011-02-01 | 2018-03-26 | 삼성전자주식회사 | 어플리케이션을 원격으로 실행하는 방법 및 장치 |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US8407314B2 (en) | 2011-04-04 | 2013-03-26 | Damaka, Inc. | System and method for sharing unsupported document types between communication devices |
US8694587B2 (en) | 2011-05-17 | 2014-04-08 | Damaka, Inc. | System and method for transferring a call bridge between communication devices |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
KR101319815B1 (ko) * | 2011-06-22 | 2013-10-21 | 김강수 | 멀티 단말 장치 간 서버-클라이언트 서비스 환경을 지원하는 앱 구동 방법 |
US8478890B2 (en) | 2011-07-15 | 2013-07-02 | Damaka, Inc. | System and method for reliable virtual bi-directional data stream communications with single socket point-to-multipoint capability |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
CN103902499A (zh) * | 2012-12-25 | 2014-07-02 | 联想(北京)有限公司 | 一种处理方法及一种电子设备 |
DE212014000045U1 (de) | 2013-02-07 | 2015-09-24 | Apple Inc. | Sprach-Trigger für einen digitalen Assistenten |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
CN105027197B (zh) | 2013-03-15 | 2018-12-14 | 苹果公司 | 训练至少部分语音命令系统 |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
AU2014278592B2 (en) | 2013-06-09 | 2017-09-07 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
EP3008964B1 (en) | 2013-06-13 | 2019-09-25 | Apple Inc. | System and method for emergency calls initiated by voice command |
US9027032B2 (en) | 2013-07-16 | 2015-05-05 | Damaka, Inc. | System and method for providing additional functionality to existing software in an integrated manner |
WO2015020942A1 (en) | 2013-08-06 | 2015-02-12 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
US9357016B2 (en) | 2013-10-18 | 2016-05-31 | Damaka, Inc. | System and method for virtual parallel resource management |
JP6296813B2 (ja) * | 2014-01-30 | 2018-03-20 | キヤノン株式会社 | 情報処理端末、情報処理端末の制御方法およびプログラム |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
AU2015266863B2 (en) | 2014-05-30 | 2018-03-15 | Apple Inc. | Multi-command single utterance input method |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US11283866B2 (en) | 2014-07-07 | 2022-03-22 | Citrix Systems, Inc. | Providing remote access to applications through interface hooks |
US11310312B2 (en) | 2014-07-07 | 2022-04-19 | Citrix Systems, Inc. | Peer to peer remote application discovery |
CA2956617A1 (en) | 2014-08-05 | 2016-02-11 | Damaka, Inc. | System and method for providing unified communications and collaboration (ucc) connectivity between incompatible systems |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US10091025B2 (en) | 2016-03-31 | 2018-10-02 | Damaka, Inc. | System and method for enabling use of a single user identifier across incompatible networks for UCC functionality |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
US20180018445A1 (en) * | 2016-07-13 | 2018-01-18 | International Business Machines Corporation | Social Sharing of Software Products |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US9763047B1 (en) | 2016-09-28 | 2017-09-12 | International Business Machines Corporation | Anonymizing location data |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
WO2019046021A1 (en) * | 2017-08-30 | 2019-03-07 | Raytheon Company | AUTHENTICATION OF MESH NETWORK PAIR TO MOBILE PAIR WITH AUTO-ORGANIZATION |
US11184420B2 (en) * | 2020-01-06 | 2021-11-23 | Tencent America LLC | Methods and apparatuses for dynamic adaptive streaming over HTTP |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5729682A (en) * | 1995-06-07 | 1998-03-17 | International Business Machines Corporation | System for prompting parameters required by a network application and using data structure to establish connections between local computer, application and resources required by application |
US5761421A (en) * | 1996-03-25 | 1998-06-02 | Sun Microsystems, Inc. | System and method for secure peer-to-peer communication between downloaded programs |
US6144992A (en) * | 1997-05-09 | 2000-11-07 | Altiris, Inc. | Method and system for client/server and peer-to-peer disk imaging |
US6094676A (en) * | 1997-05-30 | 2000-07-25 | Hilgraeve Incorporated | Method and apparatus for peer-to-peer communication |
US7721110B2 (en) * | 2001-04-06 | 2010-05-18 | Mcafee, Inc. | System and method for secure and verified sharing of resources in a peer-to-peer network environment |
US7509372B2 (en) * | 2001-09-13 | 2009-03-24 | International Business Machines Corporation | Method and system for redirecting data requests in peer-to-peer data networks |
JP4446368B2 (ja) * | 2001-09-14 | 2010-04-07 | 富士通株式会社 | コラボレーション方法、システム、プログラム及び記録媒体 |
US7536182B2 (en) * | 2001-09-18 | 2009-05-19 | Nec Corporation | Method and system for extending the capabilities of handheld devices using local resources |
KR20030026708A (ko) * | 2001-09-26 | 2003-04-03 | (주)네오클릭 | P2p(피어투피어) 기반의 cpu 공유 분산 컴퓨팅 |
US7299304B2 (en) * | 2001-11-20 | 2007-11-20 | Intel Corporation | Method and architecture to support interaction between a host computer and remote devices |
KR100803589B1 (ko) * | 2002-02-06 | 2008-02-19 | 삼성전자주식회사 | P2p를 이용한 자원 공유 서비스 제공 및 그 이용방법 |
US8001187B2 (en) * | 2003-07-01 | 2011-08-16 | Apple Inc. | Peer-to-peer active content sharing |
-
2003
- 2003-11-27 KR KR1020030084953A patent/KR100621092B1/ko not_active IP Right Cessation
-
2004
- 2004-10-29 US US10/975,536 patent/US20050120073A1/en not_active Abandoned
- 2004-11-09 EP EP04256938A patent/EP1536612A1/en not_active Ceased
- 2004-11-18 JP JP2004335167A patent/JP2005158068A/ja active Pending
- 2004-11-25 CN CNA2004100914803A patent/CN1622549A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101233738B (zh) * | 2005-07-29 | 2013-06-19 | 皇家飞利浦电子股份有限公司 | 用于移动医疗设备的环境相关的服务发现的系统和方法 |
WO2008034353A1 (fr) * | 2006-09-14 | 2008-03-27 | Huawei Technologies Co., Ltd. | Procédé, système et dispositif permettant d'établir une connexion entre homologues dans un réseau d'homologues |
CN102823221A (zh) * | 2010-03-26 | 2012-12-12 | 高通股份有限公司 | 网络资源租赁 |
CN107124392A (zh) * | 2010-03-26 | 2017-09-01 | 高通股份有限公司 | 网络资源租赁 |
US9936335B2 (en) | 2012-12-13 | 2018-04-03 | Microsoft Technology Licensing, Llc | Mobile computing device application sharing |
CN105051694B (zh) * | 2012-12-13 | 2019-04-30 | 微软技术许可有限责任公司 | 移动计算设备应用共享 |
CN107079052A (zh) * | 2014-10-31 | 2017-08-18 | 高通股份有限公司 | 利用lte‑d发现进行应用层上下文通信的高效群通信 |
Also Published As
Publication number | Publication date |
---|---|
KR100621092B1 (ko) | 2006-09-08 |
KR20050051200A (ko) | 2005-06-01 |
EP1536612A1 (en) | 2005-06-01 |
US20050120073A1 (en) | 2005-06-02 |
JP2005158068A (ja) | 2005-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1622549A (zh) | 用于使用对等网络协议共享应用程序的方法和设备 | |
CN102655503B (zh) | 使用共享资源池的资源分配 | |
US7558859B2 (en) | Peer-to-peer auction based data distribution | |
US9112831B2 (en) | Scalable infrastructure for handling light weight message protocols | |
US20100228824A1 (en) | Distributed server selection for online collaborative computing sessions | |
US20090172157A1 (en) | Method and Device for Content Transmission on P2P Network | |
KR101628985B1 (ko) | 송신된 데이터와 수신된 데이터의 우선 순위 레벨들에 따라 피어들 사이의 데이터 송신을 관리하는 방법 및 연관된 관리 디바이스 | |
RU2399160C1 (ru) | СПОСОБ И СИСТЕМА ПЕРЕДАЧИ ДАННЫХ НА ОСНОВЕ ТЕХНОЛОГИИ "Peer-to-Peer" | |
WO2003100648A1 (en) | Parallel processing system | |
CN101370035A (zh) | 用于动态客户端/服务器网络管理的方法以及系统 | |
CN1833423A (zh) | 对等网络中的应用运行 | |
CN101355591A (zh) | 一种p2p网络及其调度方法 | |
CN110278254B (zh) | 用于FogCDN场景的调度方法及调度端 | |
US20100223320A1 (en) | Data distribution efficiency for online collaborative computing sessions | |
US10601910B2 (en) | Method for broadcasting a piece of content in an it network | |
US7984158B2 (en) | Web service for coordinating actions of clients | |
US9473316B2 (en) | Resource consumption reduction via meeting affinity | |
CN101064715A (zh) | 基于嵌入式系统的p2p技术实现 | |
WO2012159535A1 (zh) | 一种实现用户信息共享的即时通讯系统及方法 | |
WO2012159537A1 (zh) | 一种用户信息共享的即时通讯系统及方法 | |
US8856350B2 (en) | Efficient connection management and data synchronization | |
Hofstätter et al. | Chordella-a hierarchical peer-to-peer overlay implementation for heterogeneous, mobile environments | |
US8583819B2 (en) | System and method for controlling server usage in peer-to-peer (P2P) based streaming service | |
WO2012159493A1 (zh) | 一种用于实现用户信息共享的即时通讯系统及方法 | |
Deltouzos et al. | Liquidstream II—Scalable P2P overlay optimization with adaptive minimal server assistance for stable and efficient video on demand |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |