CN101263483A - 与多个进程共享端口 - Google Patents

与多个进程共享端口 Download PDF

Info

Publication number
CN101263483A
CN101263483A CNA2006800333535A CN200680033353A CN101263483A CN 101263483 A CN101263483 A CN 101263483A CN A2006800333535 A CNA2006800333535 A CN A2006800333535A CN 200680033353 A CN200680033353 A CN 200680033353A CN 101263483 A CN101263483 A CN 101263483A
Authority
CN
China
Prior art keywords
connection
port
application program
client
cid
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.)
Granted
Application number
CNA2006800333535A
Other languages
English (en)
Other versions
CN101263483B (zh
Inventor
R·W·舒米德尔
J·奇克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101263483A publication Critical patent/CN101263483A/zh
Application granted granted Critical
Publication of CN101263483B publication Critical patent/CN101263483B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)

Abstract

分配在***级操作的一端口监听服务来监听一静态端口。该静态端口能够索引与在会话级操作的多个应用程序相关联的多个唯一ID。服务器应用程序随后能够向客户提供这唯一连接ID、服务器的IP地址、以及用于连接的静态端口号。如果该客户通过引用唯一连接ID而进行连接,则端口监听服务可以将用于该连接的相应套接字转发给适当的应用程序实例,使得该应用程序仍然在会话级操作。由此,端口监听服务可以将单个静态端口的连接服务分派给在会话级运行的多个不同应用程序实例。

Description

与多个进程共享端口
背景
背景和相关领域
随着计算机化***的日益流行,对大型和小型网络内计算机***的文件和处理资源分布的需要也日益增加。一般而言,计算机***和相关设备经由网络通信信息是出于各种原因,例如交换个人电子消息、出售商品、提供账户信息等。然而人们会认识到,随着计算机***及其相关应用程序变得愈发复杂,与网络上数据和资源共享相关联的各种挑战也增加了。
在网络内分布资源的一些现有方法包括集中型计算场景,这会涉及与未本地安装这些资源的一个或多个客户共享资源的集中型网络服务器。已用于这类功能性的这样一种协议是远程桌面协议(“RDP”)。使用远程桌面协议,集中型网络服务器可以与网络上的其他客户共享感兴趣的数据和资源。在某些情况下,这些客户随后可以象这些资源本地安装那样来与这些资源进行交互(例如,发送鼠标和键盘事件等)。理想地,客户计算机***和网络服务器之间的这一交互会无缝地发生,好像该客户计算机***已经用其自身安装的资源来处理这些数据那样。
在一些方面与上述集中型共享模型类似的另一类***是被配置为与网络上其他客户计算机***共享应用程序数据的服务器(或“发送”)计算机***。在此示例中,服务器起始应用程序接口(或者“API”),诸如“协作API”,该API随后用来与一个或多个客户(或“接收”)计算机***共享数据视图。客户计算机***随后能够类似于上述集中型计算场景,处理本地显示的共享数据。
不幸的是,这些类型的***存在许多潜在问题,这会使得经网络与相对较多的客户计算机***共享由应用程序生成的数据变得很困难。例如,当共享计算机***启动应用程序以共享数据时,服务器应用会在该共享计算机***处启动一端口监听程序,随后监听通过该端口连接的受邀客户。于是,各种受邀客户就能够通过该端口连接至这一服务器应用程序。不幸的是,不允许一个不同的服务器应用程序在同一端口上建立不同的监听程序并接收不同的网络连接。
通常每个端口只有一个应用程序监听程序的一个原因是在传输控制协议(“TCP”)的上下文中,在发起连接时使用唯一数据就是互联网协议(“IP”)地址和计算机端口号。这些信息通常不足以让网络服务器在通过单个端口接收连接数据时对应用程序做出区分。更具体地,即使另一客户尝试通过由另一应用程序预定的单个端口与一应用程序的不同实例相连接,服务器也只能将该客户的连接请求数据发送给最初预定的应用程序实例。
通常只有一个应用程序如上所述地预定给定端口的另一个原因是给定的应用程序在启动端口监听程序时可以在会话级(即,计算机访问受限级)操作。会话级执行是使应用程序对计算机***内其他组件的暴露最小化的相当受限的操作级别。通常较佳地在会话模式下运行应用程序,因为在***级操作(例如,计算机范围的访问)会对服务器产生操作负债。例如,在***级执行一应用程序会给予该应用程序对服务器上多个不同端口的自由访问;然而该应用程序内的风险(例如,错误)会造成整个服务器的风险。
替代方法是不同的应用程序保持会话级操作,但是简单地打开源自同一静态端口的不同动态端口。然而,动态端口在某些网络中甚至不是可用的选择,因为动态端口在防火墙内难以发现和管理。更有甚者,网络管理员可能不仅禁止动态端口,还可能会由于类似原因出于安全考虑而对第一实例内的可用静态端口的数目也做出限制。于是,如果所有的可用端口都已被预定,则将会阻止一个不同的应用程序(甚至是同一端口预定应用程序的第二实例)哪怕是简单地打开服务器的另一个不同的端口。
因此,已提出的现有资源共享技术存在许多问题。
简述
本发明的各实现使用通过同一静态端口区分不同应用程序同时仍然在会话级执行这些应用程序的***、方法和计算机程序产品来解决本领域内的上述一个或多个问题。更具体地,在会话中操作的一个或多个服务器应用程序(和与其不同的实例)能够注册有相对应的一个或多个唯一连接标识符(“ID”),其中多个唯一连接ID可以与一端口相关联。则在通过所分配的端口接收客户连接时,在***级操作的端口监听程序监听这些唯一连接ID。在识别了一个唯一连接ID时,该端口监听程序就可以将用于该连接的套接字(socket)传递给相应的应用程序,该应用程序在会话级中操作并对该唯一连接ID进行了注册。
例如,就服务器或共享计算机而言,一种通过单个端口提供到多个应用程序的网络连接的方法可以包括将第一连接标识符与第一应用程序相关联,而将第二连接标识符与第二应用程序相关联。在这样的情况下,第一和第二应用程序可以在会话级操作。本方法还包括接收客户连接请求,所述请求包括端口的端口号、该共享计算***的网络地址以及第一连接标识符。此外,本方法可以包括将该客户连接请求发送给第一应用程序,使得第一应用程序通过该端口与客户连接。此外,本方法可以包括通过与端口号相对应的端口将向第二应用程序提供不同的客户连接。
就客户而言,根据本发明一实现的一种替换方法可以包括接收与服务器计算机***处的第一应用程序进行通信的第一邀请。第一邀请至少包括端口号和第一连接标识符。本方法还可以包括接收与服务器计算机***处的第二应用程序进行通信的第二邀请,其中第二邀请同样至少包括端口号和第二连接标识符。该客户随后执行通过该端口号与服务器处的第一和第二应用程序通信的步骤,更具体地,将通过同一静态端口与多个应用程序进行通信。
提供本概述以便以简化形式介绍概念的精选,这些概念将在以下的详细描述中被进一步描述。本概述并不旨在标识要求保护的主题的关键特征或本质特征,也不旨在用于帮助确定要求保护的主题的范围。
本发明的额外特征和优点将在以下的描述中阐述,并且部分可从该描述中显而易见,或者可以本发明的实践中习得。各个特征和优点可以通过在所附权利要求中特别指出的手段和组合来认识并获取。本发明的这些和其它特征将从以下描述和所附权利要求书中变得完全显而易见,或者可通过如下所述对本发明的实践而获知。
附图简述
为了描述在其中能够获得本发明的前述和其他优点和特征的方式,将通过参考在附图中示出的特定实施例来呈现以上简述的本发明的更具体描述。应该理解这些附图仅描述了本发明的典型实施例,因此不将其考虑为对本发明的范围的限制,通过使用附图可以用额外的特异性和细节来描述本发明,在附图中:
图1A根据本发明一实现示出其中多个应用程序通过单个端口与相应的多个客户通信的示意总览图;
图1B根据本发明一实现示出其中多个应用程序依据使用同一端口监听服务通过单个端口的通信来注册唯一连接ID的简图;
图1C根据本发明一实现示出如图1B所示的简图,其中多个应用程序邀请客户通过单个端口通信,而该邀请则包括由端口监听服务提供的数据;
图1D根据本发明一实现示出图1B-1C的简图,其中多个客户尝试通过单个端口与多个应用程序通信;
图2根据本发明一实现,从服务器的角度示出客户通过单个端口与多个应用程序进行通信的方法的动作序列的流程图;以及
图3根据本发明一实现,从客户的角度示出用于通过服务器处的单个端口与多个服务器应用程序进行通信的方法的动作序列的流程图。
详细描述
本发明的各实现提供一种通过同一静态端口区分不同应用程序同时仍然在会话级执行各应用程序的***、方法和计算机程序产品。更具体地,在一会话中操作的一个或多个服务器应用程序(或其不同的实例)能够注册有相对应的一个或多个唯一连接标识符(“ID”),其中多个唯一连接ID可以与一端口相关联。在通过所分配的端口接收客户连接时,在***级操作的端口监听程序能够监听这些唯一连接ID。在识别了一个唯一连接ID时,该端口监听程序就可以将用于该连接的套接字传递给在该会话级操作并用对该唯一连接ID进行注册的相应应用程序。
正如通过随后的描述和权利要求而更为全面理解的,这些和其他特征能提供比其他可用方式更大的网络通信灵活性,同时还保持重要的安全措施。例如,网络管理员可以具有通过同一静态端口通信的各种网络应用程序,而无需使用动态端口分配也无需在***级上运行这些网络应用程序。在一个方面,这允许网络管理员保持端口数相当受限,而无需不恰当地考虑阻止重要的应用程序进行网络通信。此外,因为网络应用程序能够在操作的会话级内通信,所以对一个应用程序的问题会跨***转移的顾虑很少。
图1A示出根据本发明各方面,***如何操作的一个概略示例。更具体地,图1A示出应用程序115和120各自通过同一静态端口140与相应的不同客户145和150通信。应用程序115和120各自能够至少部分地如此操作,因为每个应用程序分别与独立的对应网络通信套接字190和195相关联。
更具体地,通信套接字190和195与唯一连接标识符(“ID”,在此也称为“唯一ID”)相关联,这些ID注册为与同一静态端口140一起使用。在某些情况下,诸如其中客户可明确标识并且仅允许给定应用程序的实例运行,则该唯一ID可以包括客户用户名或电子邮件地址。在其它情况下,该唯一连接ID是随机生成的数字。无论如何,当端口140从客户140收到指向应用程序115的TCP通信时,由端口监听服务(135,图1A)在端口140处打开的监听程序能够使用该连接ID来标识是将该客户通信导向应用程序115还是应用程序120(或者未示出的某个其他应用程序)。
图1B示出多个应用程序如何向服务器处的监听服务注册,同时还维持会话级操作的更详细的总览图。作为前提,虽然以下描述和权利要求频繁引用“服务器”,但是将会认识到这只是一个示例而非限制。更具体地,服务器100无需是通常理解的网络服务器,而可以只是通过经网络与另一客户计算机***共享数据而充当共享计算机***的另一客户计算机***。
然而,图1B示出,服务器(或“共享计算机”)100至少包括操作的会话级105(即,计算机访问受限级)和操作的***级110(例如,“会话0”)。一般而言,操作的会话级是其中应用程序通常在计算机上运行的模式,并且它对存储器和硬件的访问被限制在操作的给定“会话”的受限参数内。相反,操作的***级是允许代码直接访问计算机***内所有硬件和存储器的处理模式。
图1B还示出,服务器100包括在会话级105上操作的服务器应用程序115和120(应用程序120可以是应用程序115的另一实例,或者是完全不同的应用程序)。应用程序115和120仅仅是可以安装在服务器100上的多个服务器应用程序的示例,并且在服务器100上可以存在倾向于通过单个静态端口通信的更多服务器应用程序。应用程序115和120的示例可以包括用于从服务器100向一个或多个其他客户广播数据视图的网络演示程序、以及常规的文字处理、电子数据表程序或数据库程序等。
图1B还示出,服务器100包括端口监听服务135。在一个实现中,服务器100在启动或最初引导时初始化端口监听服务135,藉此监听服务135能够从***注册表中读取任何适当的配置数据(未示出)。一般而言,监听服务135在***级110操作时执行这些初始化功能,以确保尽可能多地访问在***注册表(未示出)中指示的静态端口。更具体地,服务器100分配监听服务135以监听一个或多个静态端口,诸如图1A中的端口140。此外,服务器100能够分配监听服务135以监听多个其他静态端口(未示出)。例如,带有诸如为内部网络和外部网络提供服务的网卡的多张网卡的计算机***,可以在多个静态端口上为多张卡和多个网络开始相同的监听服务。当启动了需要经给定端口通信的服务器应用程序时,该服务器应用程序可将“就绪”消息(例如,123)发送给适当端口监听服务(例如,135)。就绪消息可以引起多种情况发生。例如,在一个实现中,就绪消息使监听服务调用连接ID应用程序接口(“API”)(未示出),而该API进而又创建唯一连接ID,这一ID可以是任何合适的安全标识符,诸如随机生成的数字。这一连接ID被存储在***存储器内,并且在与该监听服务相关联的连接ID索引130中被引用。例如,监听服务从连接ID API中检索该唯一连接ID,并在随后将该连接ID与适当连接ID索引或表格(诸如连接ID索引130)中该应用程序的标识符相关联。
更具体地,图1B示出,服务器应用程序120将就绪消息123发送给端口监听服务135,同时在该进程中更靠前的服务器应用程序115已经发送就绪消息113。一般而言,服务器应用程序通过套接字(例如,图1A和1D中的190和195)发送就绪消息,而最终,该套接字将在服务器100向服务器应用程序提供套接字的控制时由该服务器应用程序使用。当发送消息时,服务器应用程序还包括该应用程序的标识符,该标识符可以与所创建的连接ID相关连。例如,图1A示出消息113包括应用程序标识符“App 115”,而消息123则包括应用程序标识符“App 120”。
就绪消息还会引起适当监听服务建立组件对象或等效物,用以在服务器100的***级110和会话级105之间接口。在一个实现中,这是组件操作模型(“COM”)对象,而在其他实现中,这一组件对象可以是称为管道的远程过程调用(“RPC”)机制或任何其他中间进程通信机制。然而,图1B示出端口监听服务135主存组件对象155,它包括对应用程序115的标识符(即,“App 115”)的引用,以及对由连接ID API创建并在索引130中找出的唯一连接ID 160的引用两者。
创建的组件对象随后可以将该唯一的ID返回给服务器应用程序以供随后在客户连接中使用。例如,图1B示出组件155发送消息117给应用程序115,其中消息117包含唯一ID 160。在某些情况下,消息117还可以包括将用来与其他客户相连接的网络地址和端口号(即,端口140)。然而最为普遍的情况是,预连接数据至少可以包括唯一连接ID 160和关联于端口140的端口号(未示出)。如前所述,服务器应用程序最终将预连接数据发送给客户。
例如,图1C示出,应用程序115向客户145发送邀请消息163,其中邀请消息163包括预连接数据170。然而,应用程序115没有必要预先执行发送这一预连接数据170的特定步骤。更具体地,在某些实现中,客户145已经知晓在预连接数据170中找出的标识符,而无需服务器实际将其发送给该客户。例如,该标识符可以通过建立公知的规则而实现,诸如让该标识符以客户计算机名(为应用程序115所知)或以在客户145处登录的用户的用户名为基础。该服务器随后会获知某些预先建立的协议,从而将用户名与适当的应用程序相关联,诸如正通过端口监听服务135接受连接的应用程序115。
无论如何,图1C还示出,应用程序120向客户150发送邀请消息167,其中邀请消息167包括预连接数据175。一般而言,消息163和167可以包括任何类型的数据通信,诸如电子邮件、即时消息、或者某些其他的网络通信形式。在至少一个实现中,消息163和167包括向安装在相应客户145和150处的协作API(未示出)流送的可扩展标示语言(“XML”)文档。在一个实现中,预连接数据,特别是唯一连接ID 160、165还呈现为base64(64基)文本。
一般而言,给定的客户应用程序除了或许要为与服务器100的通信标识返回网络地址和端口号之外,无需读取、解析、处理或以其他方式解释它所接收的给定预连接数据。某些情况下,客户可以简单地使用预连接数据来通过公用静态端口连接到特定的应用程序。例如,单个给定的客户可以从同一服务器的不同服务器应用程序接收多个不同的邀请消息。如果由客户恰当使用,则每个不同的预连接数据组会允许客户通过同一服务器的同一静态端口具有多个相应的不同服务器应用程序连接。
例如,图1D示出,客户145通过经网络103发送连接请求180来请求与服务器100的连接,其中连接请求180包括预连接数据170。如前所述,这一预连接数据包括服务器100的网络地址、端口140的端口号、以及由应用程序115先前发送的唯一连接ID 160。这些数据片的每一个都可用于将连接请求直接导向端口后的适当应用程序。例如,网络地址为消息180提供到达服务器100的路由信息,端口号标识进入服务器100的特定入口点,而唯一ID 160则提供用于处理该连接的应用程序的标识。
于是,例如图1D进一步示出,一旦收到,端口140处的监听服务135(例如,由监听程序(未示出),由监听服务135分配)就向应用程序115传递套接字190,其中套接字190与连接请求180内提供的连接ID 160相对应。在一个实现中,这一传送可以涉及将套接字190的句柄传递给应用程序115。于是,应用程序115现在具有对套接字190的控制,并能通过端口140与客户145(或者在连接请求中提交唯一ID 160的任何其他客户)自由通信。这一通信可以使用任何适当的通信协议在应用程序和远程客户之间发生,虽然在此情况下某些通用的协议可以包括远程桌面协议(“RDP”)以及远程过程调用(“RPC”)。
如本文所述,多个应用程序可以通过端口140与这一客户或任何其他客户进行通信。然而,为了进行通信,每个这种连接都需要包括其自身的唯一连接ID,从而能够对不同的应用程序、甚至同一应用程序的不同实例加以区别。例如,图1D还示出,客户150经网络103将连接请求183发送给服务器100。在此情况下,连接请求183不包含任何预连接数据,于是就很可能仅含有普通TCP通信所要求的网络地址和端口140的端口号。但因为连接请求183不包含任何预连接数据,所以监听服务135就无法向应用程序提供套接字。相反,图1D示出,监听服务135将用于客户150的套接字传递到“未决连接”185存储中。
更具体地,监听服务135允许在监听服务135和客户150之间通过端口140发生临时网络连接,但是不允许与任何具体应用程序进行通信直到客户150提供该数据。在某些情况下,监听服务135甚至会断掉该连接,或者简单地等待定量时间直到收到预连接数据。一旦客户150提供了该预连接数据(例如,数据175),监听服务135就能判定唯一ID是否正确,如果正确,就把用于该唯一ID的套接字传递给适当的应用程序,诸如应用程序120。
因此,图1A至图1D示出可以用来让在会话级中操作的多个应用程序能够通过同一静态端口进行通信的多种不同的组件和图示。如上所标识的,这些组件和图示能够实现这一功能至少部分是因为使用了可用于将连接与特定应用程序相关联的附加预连接数据。人们将会认识到,除了能够让多个服务器应用程序使用同一端口之外,这一功能还可用于防止某些类型的拒绝服务(“DOS”)攻击。
更具体地,某些类型的DOS攻击会在外部动作者用网络连接请求使计算机***超载时发生,这最终会使得计算机***关闭,并在某些情况下允许该动作者危及计算机上***级信息的安全。上述组件有助于防止这类攻击,因为连接请求若不包含预连接数据就不会让监听服务135向服务器应用程序提供对该连接的套接字的控制。相反,如果未在连接请求的第一分组中找到预连接数据,则每个连接或是被明确拒绝,或是会在未决连接存储185中驻留某一预定时间之后被丢弃。因此,本发明的实现能够提供多种有用的安全特征。
除了前述之外,本发明的各实现还可以通过用以执行一特定方法的一个或多个功能步骤和相应的非功能动作来描述。更具体地,图2和图3分别从服务器(例如,服务器100)和客户(例如,客户145、150)的角度示出包括用与通过服务器处的单个静态端口与多个服务器应用程序通信的一系列动作和/或步骤的方法。图2和图3以及以下的讨论将包括对术语“第一”和/或“第二”的引用。应该认识到,这些标号主要是为了说明各术语间的区别,而非特定顺序。例如,“第一应用程序”可以是也可以不是在一序列中使用或以其他方式发挥功能的第一个应用程序,但至少是与“第二应用程序”不同的应用程序。类似地,“第二应用程序”只需要不同于“第一应用程序”,因此它没有必要是在“第一应用程序”之后或之前使用或以其他方式访问的应用程序。
无论如何,图2在服务器(或共享计算机***)示出一种提供可对单个端口的通信访问的多个应用程序的方法,本方法包括将第一连接标识符与第一应用程序相关联的动作200。动作200包括将第一连接标识符和第一应用程序相关联并将第二连接标识符和第二应用程序相关联,其中所述第一和第二应用程序可以在会话级操作。例如,正在服务器100的***级110上操作的端口监听服务135从正在服务器100的会话级105上运行的应用程序(例如,115、120)实例接收就绪消息113和123。服务135随后主存由这些应用程序创建的相应组件对象(例如,155、157),并将消息113和123内的应用程序标识符(例如,“App ID 115”、“App ID 120”)与相应的唯一连接ID 160、165相关联。
此外,图2示出,该方法包括接收具有连接标识符的客户连接请求的动作210。动作210包括接收客户连接请求,该客户连接请求包括端口号、共享计算机的网络地址、以及第一连接标识符。例如,应用程序115经XML数据流通过消息167将预连接数据170发送给客户145。客户145又进而将连接请求180发送给服务器100,其中请求180包括在消息167中接收到的预连接数据170。
图2还示出,该方法包括将客户连接请求转发给第一应用程序以使得该第一应用程序通过该端口与客户相连接的动作220。例如,一旦标识了在消息180的预连接数据170中找到的唯一连接ID 160,监听服务135就将与唯一的连接ID 160相关联的套接字190的控制转发给服务器应用程序115。此外,图2示出,本方法还包括通过同一端口提供不同的客户连接的动作230。动作230包括通过与端口号相对应的端口将不同的客户连接提供给第二应用程序。
例如,如图1D所示,客户150发送连接请求183,该请求不包含该客户先前在消息163中接收到的任何预连接数据175。一收到消息183,监听服务135就允许客户150和服务器100之间的连接,但是不允许客户150与任何应用程序连接,这至少部分是因为无法立即从请求180中标识应用程序。因此,监听服务135将该连接请求与对应于该客户150和唯一连接ID 165的套接字195相关联,并将套接字195存储在未决连接存储185中。监听服务135随后保持这一连接直到它接收到预连接数据175,或者在某一预定时间后简单地断掉这一连接。
图3根据本发明一实现,从客户的角度示出通过共享计算机***的单个端口与多个应用程序进行通信的一种可选方法。更具体地,图3示出,本方法可以包括接收与第一应用程序进行通信的邀请的动作300。动作300包括接收与服务器计算机***处的第一应用程序进行通信的第一邀请,该第一邀请至少包括端口号和第一连接标识符。例如,客户145接收消息167,该消息167包括与服务器100处的应用程序115相连接的邀请。消息167还包括预连接数据,该数据至少包括与应用程序115相关联的唯一连接ID 160、以及服务器100的网络地址和与端口140相关联的端口号。
此外,图3示出,本方法包括接收与第二应用程序进行通信的邀请的动作310。动作310包括接收与服务器计算机***处的第二应用程序进行通信的第二邀请,该第二邀请至少包括端口号和第二连接标识符。例如,虽然没有明确示出,但是客户145还可以接收邀请163,该邀请163包括与应用程序120相关联的不同的唯一ID165。如同消息167一样,消息163也包括服务器100的网络地址以及端口140的端口号。因此在这种情况下,消息163和167至少在它们的相应唯一连接ID(即,160相比于165)上有所不同。
此外,图3示出,本方法包括通过服务器处的同一端口与第一和第二应用程序通信的步骤340。步骤340包括通过端口号与服务器处的第一和第二应用程序通信,使得该客户通过服务器的同一静态端口经网络与多个应用程序通信。例如,客户145如果对邀请163和167做出反应,则能够通过端口140与服务器应用程序115和120通信。
虽然步骤340能够包括任何数量或次序的相应动作来完成该步骤,但是图3示出,步骤340包括发送带有第一连接标识符的第一连接请求的动作320。动作320包括将第一连接请求发送给服务器,该第一连接请求包括第一连接标识符。例如,客户145可以经由端口140将消息180发送给服务器100,其中消息180包括预连接数据170,而预连接数据170又包括唯一连接ID 160。
图3还示出,步骤340包括发送带有第二连接标识符的第二连接请求的动作330。动作330包括将第二连接请求发送给服务器,该第二连接请求包括第二连接标识符。例如,客户145将另一类似的连接请求消息(未示出)发送给服务器100,其中该类似的连接请求至少由于包括预连接数据175而有所不同,该预连接数据175则包括唯一连接ID 165。
在收到来自客户145的第一和第二连接请求,并且标识出与每一请求相关联的唯一连接ID时,监听服务135就将用于每一连接的不同通信套接字的控制分配给每个不同的应用程序实例(例如,115、120)。这样,应用程序115和120通过同一静态端口或例如端口140而具有与该客户的单独连接。
因此,在图2和图3中描述的方法提供了客户和服务器能够通过同一服务器端口有效地连接到多个应用程序的多种方法。如前所述,这为现有***提供了诸多优点,特别是在静态端口数量有限而产生顾虑的情况下,诸如在实现防火墙的网络***中。
本发明的实施例可以包括含有各种本发明计算机硬件的专用或通用计算机,这将在以下做出进一步讨论。更具体地,本发明的范围内的实施例还包括用于携带或在其上储存计算机可执行指令或数据结构的计算机可读介质。这类计算机可读介质可以是可由通用或专用计算机***访问的任一可用介质。作为示例而非限制,这类计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备等物理存储介质、或其它可用来以计算机可执行指令或数据结构的形式携带或储存所期望的程序代码装置并可由通用或专用计算机访问的任何其他介质。
当通过网络或另一通信连接(或者硬连线、无线、或硬连线和无线的组合)向计算机传输或提供信息时,计算机将该连接适当地视为计算机可读介质。由此,任一这类连接适当地称为计算机可读介质。上述的组合也应当包括在计算机可读介质的范围内。
计算机可执行指令例如包括促使通用计算机、专用计算机或专用处理设备执行一个或一组特定功能的指令和数据。虽然已经用具体到结构特征和/或方法动作的语言对主题进行了描述,但是应该理解在所附权利要求中定义的该主题不必限于上述具体的特征或动作。相反,上述具体特征和动作作为实现权利要求的示例形式而公开。
本发明可以用其它具体形式来实施,而不脱离其精神或本质特征。所描述的实施例被认为在所有方面都仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非以上描述来指示。该权利要求书的等效技术方案的含义和范围以内的所有更改将被包含在其范围内。

Claims (20)

1.在被配置成经网络在会话级操作的多个应用程序与一个或多个客户计算机***之间提供通信的共享计算机***处,一种通过单个端口提供到所述共享计算机***处多个应用程序的网络连接的方法,包括以下动作:
将第一连接标识符和第一应用程序相关联,并将第二连接标识符和第二应用程序相关联,其中所述第一和第二应用程序在会话级操作;
接收客户连接请求,所述客户连接请求包括与一端口相关联的端口号、所述共享计算机***的网络地址、以及所述第一连接标识符;
将所述客户连接请求转发给所述第一应用程序,使得所述第一应用程序通过所述端口与所述客户相连接;以及
通过与所述端口号相对应的端口将不同的客户连接提供给所述第二应用程序。
2.如权利要求1所述的方法,其特征在于,还包括在提供所述不同的客户连接之前接收对所述不同客户连接的不同客户连接请求的动作,所述不同客户连接请求包括所述端口号,但是未能包括第一或第二连接标识符中的任一个。
3.如权利要求2所述的方法,其特征在于,还包括将所述不同客户连接作为未决连接进行存储的动作。
4.如权利要求3所述的方法,其特征在于,还包括接收用于所述不同客户连接的第二连接标识符的动作。
5.如权利要求4所述的方法,其特征在于,还包括将与所述第二连接标识符相关联的连接套接字转发给所述第二应用程序的动作。
6.如权利要求1所述的方法,其特征在于,还包括将所述第一连接标识符和所述第二连接标识符作为XML文档发送给一个或多个客户的动作。
7.如权利要求1所述的方法,其特征在于,还包括将连接套接字与所述第一连接标识符相关联的动作。
8.如权利要求7所述的方法,其特征在于,向所述第一应用程序转发所述连接包括向所述第一应用程序提供对所述连接套接字的控制的动作。
9.如权利要求1所述的方法,其特征在于,与所述端口号相关联的端口是静态端口。
10.如权利要求1所述的方法,其特征在于,接收客户连接请求并将所述客户请求转发给所述第一应用程序的动作由在***级操作的监听服务来执行。
11.如权利要求1所述的方法,其特征在于,所述主存第一和第二应用程序的共享计算机***是客户计算机***。
12.如权利要求1所述的方法,其特征在于,还包括以下动作:
在所述端口处接收下一个客户连接请求,所述下一个客户连接请求未能在最初一组分组中提供与所述端口相关联的任何连接标识符;以及
在标识出在所述最初一组分组中没有找到预连接数据时,拒绝所述客户连接请求。
13.如权利要求1所述的方法,其特征在于,还包括将多个唯一连接标识符分配给与所述端口号相关联的端口的动作,所述多个唯一连接标识符至少包括所述第一和第二连接标识符。
14.如权利要求13所述的方法,其特征在于,所述第一连接标识符包括来自发送所述客户连接请求的客户的用户名或电子邮件地址中的任一个。
15.如权利要求13所述的方法,其特征在于,还包括至少从所述第一应用程序接收所述第一应用程序准备好与一个或多个客户通信的指示的动作。
16.如权利要求15所述的方法,其特征在于,还包括以下动作:
向所述第一应用程序分配所述第一连接标识符;以及
将预连接数据发送给所述第一应用程序,所述预连接数据至少包括所述第一连接标识符以及与所述端口号相关联的端口。
17.如权利要求16所述的方法,其特征在于,还包括以下动作:
将所述第一连接标识符以及所述第一应用程序的标识符与由所述第一应用程序创建的组件对象相关联;
其中所述组件对象被配置成在所述会话级操作的所述第一应用程序和在所述***级操作的监听服务之间提供通信。
18.在被配置成与共享计算机***处在会话级操作的多个应用程序进行通信的计算机***处,一种通过所述共享计算机***处的单个端口与所述多个应用程序通信的方法,包括:
接收与服务器计算机***处的第一应用程序进行通信的第一邀请的动作,所述第一邀请至少包括端口号和第一连接标识符;
接收与所述服务器计算机***处的第二应用程序进行通信的第二邀请的动作,所述第二邀请至少包括端口号和第二连接标识符;以及
通过所述端口号与所述服务器处的所述第一和第二应用程序通信,使得所述客户经网络通过所述服务器的同一静态端口与多个应用程序进行通信的步骤。
19.如权利要求18所述的方法,其特征在于,所述通过端口号与所述第一和第二应用程序通信的步骤还包括:
将第一连接请求发送给所述服务器的动作,所述第一连接请求包括所述第一连接标识符;以及
将第二连接请求发送给所述服务器的动作,所述第二连接请求包括所述第二连接标识符。
20.在被配置成经网络在会话级操作的多个应用程序和一个或多个客户计算机***之间提供通信的计算机***处,一种具有存储其上的计算机可执行指令的计算机程序产品,所述指令在被执行时,使共享计算机***处的一个或多个处理器执行通过单个静态端口对所述多个应用程序提供连接的方法,包括:
将第一连接标识符和第一应用程序相关联,并将第二连接标识符和第二应用程序相关联,其中所述第一和第二应用程序在会话级操作;
接收客户连接请求,所述客户连接请求包括与一端口相关联的端口号、所述共享计算机的网络地址、以及所述第一连接标识符;
将所述客户连接请求转发给所述第一应用程序,使得所述第一应用程序通过所述端口与所述客户相连接;以及
通过与所述端口号相对应的端口将不同的客户连接提供给所述第二应用程序。
CN2006800333535A 2005-09-12 2006-09-08 与多个进程共享端口 Expired - Fee Related CN101263483B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US71633405P 2005-09-12 2005-09-12
US60/716,334 2005-09-12
US11/304,780 2005-12-15
US11/304,780 US8166175B2 (en) 2005-09-12 2005-12-15 Sharing a port with multiple processes
PCT/US2006/035229 WO2007033046A1 (en) 2005-09-12 2006-09-08 Sharing a port with multiple processes

Publications (2)

Publication Number Publication Date
CN101263483A true CN101263483A (zh) 2008-09-10
CN101263483B CN101263483B (zh) 2012-12-12

Family

ID=37856601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800333535A Expired - Fee Related CN101263483B (zh) 2005-09-12 2006-09-08 与多个进程共享端口

Country Status (6)

Country Link
US (2) US8166175B2 (zh)
EP (1) EP1924929B1 (zh)
JP (1) JP4965574B2 (zh)
KR (1) KR20080053299A (zh)
CN (1) CN101263483B (zh)
WO (1) WO2007033046A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012146160A1 (zh) * 2011-04-25 2012-11-01 中兴通讯股份有限公司 一种支持多种套接字连接模式的通信方法及服务器
CN103428357A (zh) * 2012-05-25 2013-12-04 盛乐信息技术(上海)有限公司 实现移动终端操作***上的本地服务共享的方法及装置
CN104010001A (zh) * 2014-06-17 2014-08-27 合一网络技术(北京)有限公司 移动终端中同类联网请求进行连接通信的方法和***
CN105426253A (zh) * 2015-12-18 2016-03-23 广州广电运通金融电子股份有限公司 一种自助设备硬件管理方法和装置
CN105579969A (zh) * 2013-09-23 2016-05-11 三星电子株式会社 用于在应用程序之间进行设备特定的通信的方法和装置
CN112398845A (zh) * 2020-11-11 2021-02-23 Oppo广东移动通信有限公司 数据传输方法、数据传输装置、***及电子设备

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8910241B2 (en) 2002-04-25 2014-12-09 Citrix Systems, Inc. Computer security system
US20070136465A1 (en) * 2005-12-12 2007-06-14 Fernandes Lilian S Method for allowing multiple authorized applications to share the same port
US7650406B2 (en) * 2006-04-26 2010-01-19 Microsoft Corporation Termination of a security association between devices
US8869262B2 (en) 2006-08-03 2014-10-21 Citrix Systems, Inc. Systems and methods for application based interception of SSL/VPN traffic
US8495181B2 (en) * 2006-08-03 2013-07-23 Citrix Systems, Inc Systems and methods for application based interception SSI/VPN traffic
US7843912B2 (en) * 2006-08-03 2010-11-30 Citrix Systems, Inc. Systems and methods of fine grained interception of network communications on a virtual private network
US20090031005A1 (en) * 2007-07-23 2009-01-29 Bellsouth Intellectual Property Corporation Portal COM Module
US8516539B2 (en) * 2007-11-09 2013-08-20 Citrix Systems, Inc System and method for inferring access policies from access event records
US8990910B2 (en) * 2007-11-13 2015-03-24 Citrix Systems, Inc. System and method using globally unique identities
US7548545B1 (en) * 2007-12-14 2009-06-16 Raptor Networks Technology, Inc. Disaggregated network management
US9240945B2 (en) * 2008-03-19 2016-01-19 Citrix Systems, Inc. Access, priority and bandwidth management based on application identity
JP5178539B2 (ja) * 2008-04-04 2013-04-10 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、セッション管理システム並びにプログラム
KR101160382B1 (ko) * 2008-04-04 2012-06-26 캐논 가부시끼가이샤 세션 관리 시스템 및 그 제어 방법
ES2371378T3 (es) * 2008-04-04 2011-12-30 Canon Kabushiki Kaisha Sistema de gestión de sesiones y método para controlar las mismas.
US8943575B2 (en) 2008-04-30 2015-01-27 Citrix Systems, Inc. Method and system for policy simulation
US8638941B2 (en) * 2008-05-15 2014-01-28 Red Hat, Inc. Distributing keypairs between network appliances, servers, and other network assets
US8990573B2 (en) * 2008-11-10 2015-03-24 Citrix Systems, Inc. System and method for using variable security tag location in network communications
US8849972B2 (en) 2008-11-25 2014-09-30 Polycom, Inc. Method and system for dispatching received sessions between a plurality of instances of an application using the same IP port
US8661103B2 (en) * 2008-12-18 2014-02-25 Sap Ag Business application address determination
KR100917660B1 (ko) * 2009-05-11 2009-09-18 (주)비전소프트 연계아답터를 이용한 방화벽 단일포트를 통해 내부망과 외부망의 서버들 간의 네트워크 연결 시스템
US9098335B2 (en) 2009-12-23 2015-08-04 Citrix Systems, Inc. Systems and methods for managing spillover limits in a multi-core system
US8635344B2 (en) * 2009-12-23 2014-01-21 Citrix Systems, Inc. Systems and methods for managing ports for RTSP across cores in a multi-core system
US8825859B2 (en) * 2009-12-23 2014-09-02 Citrix Systems, Inc. System and methods for mixed mode of IPv6 and IPv4 DNS of global server load balancing
JP5488094B2 (ja) * 2010-03-19 2014-05-14 富士通株式会社 通信装置、ネットワークアクセス方法およびコンピュータプログラム
US20120233334A1 (en) * 2011-03-07 2012-09-13 Avaya Inc. Shared media access for real time first and third party control
CN103455908A (zh) * 2012-05-30 2013-12-18 Sap股份公司 云环境中的头脑风暴
TWI461907B (zh) * 2012-10-11 2014-11-21 Mstar Semiconductor Inc 配合多個應用程式之整合系統和測試系統
US9954738B1 (en) * 2012-10-18 2018-04-24 Google Llc Ephemeral port registry/device discovery
US9288225B1 (en) * 2013-04-17 2016-03-15 Ca, Inc. Server port sharing based on shared socket
CN103475540A (zh) * 2013-09-04 2013-12-25 厦门亿联网络技术股份有限公司 同一局域网内pc机间检测ip端口是否连接的方法
CN103699450B (zh) * 2013-12-20 2017-02-15 国云科技股份有限公司 一种Linux下的自适应组件间通信方法
US10212101B2 (en) 2014-01-14 2019-02-19 Nant Holdings Ip, Llc Low level provisioning of network fabrics
US9917728B2 (en) 2014-01-14 2018-03-13 Nant Holdings Ip, Llc Software-based fabric enablement
US10320918B1 (en) * 2014-12-17 2019-06-11 Xilinx, Inc. Data-flow architecture for a TCP offload engine
US9992236B2 (en) * 2015-06-22 2018-06-05 Dell Products L.P. Systems and methods for providing protocol independent disjoint port names
US10205803B1 (en) * 2015-08-27 2019-02-12 Amazon Technologies, Inc. System for determining improper port configurations
US10114702B2 (en) * 2016-01-06 2018-10-30 International Business Machines Corporation Method and system to discover and manage distributed applications in virtualization environments
EP3516829B1 (en) 2016-09-26 2021-07-07 Nant Holdings IP, LLC Virtual circuits in cloud networks
CN107343027B (zh) * 2017-06-13 2020-08-04 福建省天晴互动娱乐有限公司 App分享方法
KR102617954B1 (ko) * 2022-11-23 2023-12-27 (주) 투씨에스지 원격 제어 서비스의 보안성 향상을 위한 제어 방법 및 이를 수행하기 위한 컴퓨터 프로그램

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06301616A (ja) 1993-04-09 1994-10-28 Toshiba Corp ネットワークコンピュータ接続方法および装置
GB9501378D0 (en) * 1995-01-24 1995-03-15 Ibm A system and method for establishing a communication channel over a heterogeneous network between a source node and a destination node
US5699513A (en) * 1995-03-31 1997-12-16 Motorola, Inc. Method for secure network access via message intercept
US6182146B1 (en) * 1997-06-27 2001-01-30 Compuware Corporation Automatic identification of application protocols through dynamic mapping of application-port associations
US6484061B2 (en) * 1997-09-10 2002-11-19 Schneider Automation Inc. Web interface to a programmable controller
US6363081B1 (en) * 1998-03-04 2002-03-26 Hewlett-Packard Company System and method for sharing a network port among multiple applications
US6738814B1 (en) 1998-03-18 2004-05-18 Cisco Technology, Inc. Method for blocking denial of service and address spoofing attacks on a private network
US20020016868A1 (en) * 1998-05-13 2002-02-07 Palm, Inc. Method and apparatus for serial port sharing
US6357337B1 (en) * 1999-06-15 2002-03-19 Holland Neway International, Inc. Spring brake actuator with sealed chamber and method for sealing
US6622159B1 (en) * 1999-06-30 2003-09-16 International Business Machines Corporation Method, apparatus and computer program product for automatically restarting an RPC server without losing client RPC calls
US6343324B1 (en) * 1999-09-13 2002-01-29 International Business Machines Corporation Method and system for controlling access share storage devices in a network environment by configuring host-to-volume mapping data structures in the controller memory for granting and denying access to the devices
DE69939116D1 (de) 1999-10-15 2008-08-28 Alcatel Lucent Verfahren für Installation von Softwarekomponenten auf einem Benutzerendgerät, relatierte Geräte und relatierte Softwaremoduln
US6862629B1 (en) * 1999-10-21 2005-03-01 International Business Machines Corporation Method and system for dispatching socks traffic based on socks connection identified by source address, application address and application level protocol
US6917610B1 (en) * 1999-12-30 2005-07-12 At&T Corp. Activity log for improved call efficiency
JP3384390B2 (ja) 2000-01-12 2003-03-10 ソニー株式会社 交流駆動型プラズマ表示装置
US20020016926A1 (en) * 2000-04-27 2002-02-07 Nguyen Thomas T. Method and apparatus for integrating tunneling protocols with standard routing protocols
US6954784B2 (en) * 2000-08-17 2005-10-11 International Business Machines Corporation Systems, method and computer program products for cluster workload distribution without preconfigured port identification by utilizing a port of multiple ports associated with a single IP address
US7120697B2 (en) * 2001-05-22 2006-10-10 International Business Machines Corporation Methods, systems and computer program products for port assignments of multiple application instances using the same source IP address
US6763387B1 (en) * 2000-10-12 2004-07-13 Hewlett-Packard Development Company, L.P. Method and system for sharing a single communication port between a plurality of servers
US6624388B1 (en) * 2001-01-25 2003-09-23 The Lincoln Electric Company System and method providing distributed welding architecture
US20020161904A1 (en) 2001-04-30 2002-10-31 Xerox Corporation External access to protected device on private network
US6950873B2 (en) 2001-08-02 2005-09-27 International Business Machines Corporation Apparatus and method for port sharing a plurality of server processes
KR101027868B1 (ko) * 2002-04-22 2011-04-07 마이크로소프트 코포레이션 다수의 사용자들과 애플리케이션들을 공유하기 위한 방법, 장치 및 컴퓨터 판독가능 매체
US7958163B2 (en) * 2003-08-05 2011-06-07 Intraware, Inc. System and method for bulk transfer of digital goods
US7472195B2 (en) 2003-11-19 2008-12-30 International Business Machines Corporation Unobtrusive port and protocol sharing among server processes
US7624431B2 (en) * 2003-12-04 2009-11-24 Cisco Technology, Inc. 802.1X authentication technique for shared media
JP4297792B2 (ja) * 2004-01-08 2009-07-15 株式会社リコー Webサーバ組み込みビジネス機器
US7523185B1 (en) * 2004-01-13 2009-04-21 Cisco Technology, Inc. Method and apparatus for providing automatic frame relay and ATM provisioning of network devices
US7546454B2 (en) * 2004-06-30 2009-06-09 At&T Intellectual Property I, L.P. Automated digital certificate discovery and management
US7613813B2 (en) * 2004-09-10 2009-11-03 Cavium Networks, Inc. Method and apparatus for reducing host overhead in a socket server implementation
US7551614B2 (en) * 2004-12-14 2009-06-23 Hewlett-Packard Development Company, L.P. Aggregation over multiple processing nodes of network resources each providing offloaded connections between applications over a network
JP2007133344A (ja) * 2005-03-28 2007-05-31 Fuji Xerox Co Ltd 電荷輸送性化合物、電子写真感光体、画像形成装置及びプロセスカートリッジ
US20060277275A1 (en) * 2005-04-02 2006-12-07 Glaenzer Eric F Dynamic management of communication ports, devices, and logical connections

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012146160A1 (zh) * 2011-04-25 2012-11-01 中兴通讯股份有限公司 一种支持多种套接字连接模式的通信方法及服务器
CN103428357A (zh) * 2012-05-25 2013-12-04 盛乐信息技术(上海)有限公司 实现移动终端操作***上的本地服务共享的方法及装置
CN103428357B (zh) * 2012-05-25 2016-12-21 上海盛付通电子支付服务有限公司 实现移动终端操作***上的本地服务共享的方法及装置
CN105579969A (zh) * 2013-09-23 2016-05-11 三星电子株式会社 用于在应用程序之间进行设备特定的通信的方法和装置
US10592301B2 (en) 2013-09-23 2020-03-17 Samsung Electronics Co., Ltd. Method and apparatus for device-specific communication between application programs
US10592303B2 (en) 2013-09-23 2020-03-17 Samsung Electronics Co., Ltd. Method and apparatus for device-specific communication between application programs
CN104010001A (zh) * 2014-06-17 2014-08-27 合一网络技术(北京)有限公司 移动终端中同类联网请求进行连接通信的方法和***
CN104010001B (zh) * 2014-06-17 2015-11-11 合一网络技术(北京)有限公司 移动终端中同类联网请求进行连接通信的方法和***
CN105426253A (zh) * 2015-12-18 2016-03-23 广州广电运通金融电子股份有限公司 一种自助设备硬件管理方法和装置
CN112398845A (zh) * 2020-11-11 2021-02-23 Oppo广东移动通信有限公司 数据传输方法、数据传输装置、***及电子设备
CN112398845B (zh) * 2020-11-11 2023-03-28 Oppo广东移动通信有限公司 数据传输方法、数据传输装置、***及电子设备

Also Published As

Publication number Publication date
WO2007033046A1 (en) 2007-03-22
EP1924929A1 (en) 2008-05-28
JP4965574B2 (ja) 2012-07-04
KR20080053299A (ko) 2008-06-12
CN101263483B (zh) 2012-12-12
EP1924929A4 (en) 2010-05-26
US8166175B2 (en) 2012-04-24
JP2009508260A (ja) 2009-02-26
US20120124190A1 (en) 2012-05-17
US20070061434A1 (en) 2007-03-15
EP1924929B1 (en) 2015-10-21
US8438260B2 (en) 2013-05-07

Similar Documents

Publication Publication Date Title
CN101263483B (zh) 与多个进程共享端口
CN107993149B (zh) 账户信息管理方法、***以及可读存储介质
CN101356773B (zh) 基于上下文信息的自组织(ad hoc)组创建
CN1643879B (zh) 用于在aaa服务器***中更新信息的方法
JP2020017948A (ja) ブロックチェーンネットワークに基づくアプリケーション実現方法、装置、デバイス及び記憶媒体
US9038154B2 (en) Token Registration
US7171441B2 (en) Virtual communication channel and virtual private community, and agent collaboration system and agent collaboration method for controlling the same
US10404631B2 (en) Creating groups in a messaging system
CN102027732B (zh) 经由因特网协议网络提供对服务器应用程序的访问
CN101127606A (zh) 传输数据对象的方法和装置
CN105939362A (zh) 用户账号管理方法及装置
KR20060052115A (ko) 피어 그룹간 통신 성립 방법
US20090106821A1 (en) Call limiter for web services
CN108390950A (zh) 一种消息推送方法、装置及设备
CN110737723B (zh) 卡券领取方法、装置、设备及存储介质
JP6335978B2 (ja) 通信セッション上の一部の参加者のための仮想の通信セッションを提供するシステムおよび方法
KR20090001748A (ko) 기업용 메신저 서비스 제공 시스템 및 방법
CN106209727A (zh) 一种会话访问方法和装置
WO2024146285A1 (zh) 一种基于区块链的数据处理方法、设备以及可读存储介质
CN114500082A (zh) 接入认证方法及装置、设备、服务器、存储介质和***
CN111343296B (zh) 一种虚拟化应用通信方法、装置、服务器及可存储介质
CN109936542B (zh) 一种分布式去中心的应用
CN114554251B (zh) 多媒体数据的请求方法和装置、存储介质及电子装置
CN116467062A (zh) 一种基于区块链的数据处理方法、设备以及可读存储介质
WO2022242411A1 (zh) 虚拟物品分发方法、装置、设备、介质及程序产品

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150421

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150421

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121212

Termination date: 20190908

CF01 Termination of patent right due to non-payment of annual fee